diff --git a/composer.json b/composer.json index 53eea0fae..2182b62c0 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,8 @@ "fzaninotto/faker": "1.*", "filp/whoops": "~2.0", "laravel/dusk": "~3.0", - "laravel/tinker": "^1.0" + "laravel/tinker": "^1.0", + "codacy/coverage": "dev-master" }, "autoload": { "classmap": [ diff --git a/composer.lock b/composer.lock index 03ecfcf66..bb4964d3f 100644 --- a/composer.lock +++ b/composer.lock @@ -1,23 +1,23 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1c83afecf8a566439811bd8da82f233c", + "content-hash": "35243487c68ac85c10fed74485a4a05c", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.67.12", + "version": "3.80.3", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d" + "reference": "f1f724c48a49350250950d80d16b348e5e748e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cdc7180ae87b23d8b34eb8eb8176002081b32c3d", - "reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/f1f724c48a49350250950d80d16b348e5e748e3c", + "reference": "f1f724c48a49350250950d80d16b348e5e748e3c", "shasum": "" }, "require": { @@ -25,7 +25,7 @@ "ext-pcre": "*", "ext-simplexml": "*", "ext-spl": "*", - "guzzlehttp/guzzle": "^5.3.1|^6.2.1", + "guzzlehttp/guzzle": "^5.3.3|^6.2.1", "guzzlehttp/promises": "~1.0", "guzzlehttp/psr7": "^1.4.1", "mtdowling/jmespath.php": "~2.2", @@ -38,6 +38,8 @@ "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", "nette/neon": "^2.3", "phpunit/phpunit": "^4.8.35|^5.4.3", "psr/cache": "^1.0" @@ -46,7 +48,8 @@ "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", "doctrine/cache": "To use the DoctrineCacheAdapter", "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" }, "type": "library", "extra": { @@ -84,7 +87,7 @@ "s3", "sdk" ], - "time": "2018-09-13T18:34:42+00:00" + "time": "2018-12-04T20:31:51+00:00" }, { "name": "barryvdh/laravel-debugbar", @@ -511,12 +514,12 @@ "source": { "type": "git", "url": "https://github.com/davibennun/laravel-push-notification.git", - "reference": "6970bbe4f1e1744677208f895bc08032f4baf3be" + "reference": "7b129a18ecec7368a0de27ac0039d414aa596936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/davibennun/laravel-push-notification/zipball/6970bbe4f1e1744677208f895bc08032f4baf3be", - "reference": "6970bbe4f1e1744677208f895bc08032f4baf3be", + "url": "https://api.github.com/repos/davibennun/laravel-push-notification/zipball/7b129a18ecec7368a0de27ac0039d414aa596936", + "reference": "7b129a18ecec7368a0de27ac0039d414aa596936", "shasum": "" }, "require": { @@ -525,6 +528,16 @@ "sly/notification-pusher": "2.*" }, "type": "library", + "extra": { + "laravel": { + "providers": [ + "Davibennun\\LaravelPushNotification\\LaravelPushNotificationServiceProvider" + ], + "aliases": { + "PushNotification": "Davibennun\\LaravelPushNotification\\Facades\\PushNotification" + } + } + }, "autoload": { "psr-0": { "Davibennun\\LaravelPushNotification": "src/" @@ -545,7 +558,7 @@ "notification", "push" ], - "time": "2017-01-31T10:24:01+00:00" + "time": "2018-09-21T00:02:18+00:00" }, { "name": "doctrine/cache", @@ -624,16 +637,16 @@ }, { "name": "doctrine/dbal", - "version": "v2.8.0", + "version": "v2.9.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621" + "reference": "21fdabe2fc01e004e1966f200d900554876bc63c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/5140a64c08b4b607b9bedaae0cedd26f04a0e621", - "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/21fdabe2fc01e004e1966f200d900554876bc63c", + "reference": "21fdabe2fc01e004e1966f200d900554876bc63c", "shasum": "" }, "require": { @@ -643,11 +656,10 @@ "php": "^7.1" }, "require-dev": { - "doctrine/coding-standard": "^4.0", + "doctrine/coding-standard": "^5.0", "jetbrains/phpstorm-stubs": "^2018.1.2", "phpstan/phpstan": "^0.10.1", - "phpunit/phpunit": "^7.1.2", - "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", + "phpunit/phpunit": "^7.4", "symfony/console": "^2.0.5|^3.0|^4.0", "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, @@ -660,13 +672,13 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8.x-dev", + "dev-master": "2.9.x-dev", "dev-develop": "3.0.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" } }, "notification-url": "https://packagist.org/downloads/", @@ -691,15 +703,19 @@ "email": "jonwage@gmail.com" } ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", "keywords": [ + "abstraction", "database", "dbal", + "mysql", "persistence", + "pgsql", + "php", "queryobject" ], - "time": "2018-07-13T03:16:35+00:00" + "time": "2018-12-04T04:39:48+00:00" }, { "name": "doctrine/event-manager", @@ -988,16 +1004,16 @@ }, { "name": "egulias/email-validator", - "version": "2.1.5", + "version": "2.1.7", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "54859fabea8b3beecbb1a282888d5c990036b9e3" + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/54859fabea8b3beecbb1a282888d5c990036b9e3", - "reference": "54859fabea8b3beecbb1a282888d5c990036b9e3", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/709f21f92707308cdf8f9bcfa1af4cb26586521e", + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e", "shasum": "" }, "require": { @@ -1041,7 +1057,7 @@ "validation", "validator" ], - "time": "2018-08-16T20:49:45+00:00" + "time": "2018-12-04T22:38:24+00:00" }, { "name": "erusev/parsedown", @@ -1143,16 +1159,16 @@ }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.9.13", + "version": "8.10.1", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3" + "reference": "818b406ec1f725ff045cd7febfb2c08fc9a8d33d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/cb4e0cf25f742a838b9d53ed6a7088c4f24086f3", - "reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/818b406ec1f725ff045cd7febfb2c08fc9a8d33d", + "reference": "818b406ec1f725ff045cd7febfb2c08fc9a8d33d", "shasum": "" }, "require": { @@ -1166,7 +1182,7 @@ "pear/versioncontrol_git": "^0.5", "phing/phing": "^2.7", "php-coveralls/php-coveralls": "^1.0|^2.0", - "phpunit/phpunit": "^4.8|^5.0", + "phpunit/phpunit": "^4.8.36|^5.0", "symfony/console": "^2.8|^3.0" }, "type": "library", @@ -1207,20 +1223,20 @@ "phonenumber", "validation" ], - "time": "2018-09-10T15:26:43+00:00" + "time": "2018-11-22T11:48:16+00:00" }, { "name": "giggsey/locale", - "version": "1.5", + "version": "1.6", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff" + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/da6845720b5d104d319d7e84576f54e44dd9e4f5", + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5", "shasum": "" }, "require": { @@ -1256,7 +1272,7 @@ } ], "description": "Locale functions required by libphonenumber-for-php", - "time": "2018-04-03T15:53:12+00:00" + "time": "2018-10-18T07:17:52+00:00" }, { "name": "guzzle/guzzle", @@ -1469,32 +1485,33 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.4.2", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + "reference": "9f83dded91781a01c63574e387eaa769be769115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", "shasum": "" }, "require": { "php": ">=5.4.0", - "psr/http-message": "~1.0" + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -1524,13 +1541,14 @@ "keywords": [ "http", "message", + "psr-7", "request", "response", "stream", "uri", "url" ], - "time": "2017-03-20T17:10:46+00:00" + "time": "2018-12-04T20:46:45+00:00" }, { "name": "intervention/image", @@ -1695,16 +1713,16 @@ }, { "name": "laravel/framework", - "version": "v5.6.38", + "version": "v5.6.39", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e" + "reference": "37bb306f516669ab4f888c16003f694313ab299e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/38d838bab9434af79e8ab274ae63f52f7ed45d6e", - "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e", + "url": "https://api.github.com/repos/laravel/framework/zipball/37bb306f516669ab4f888c16003f694313ab299e", + "reference": "37bb306f516669ab4f888c16003f694313ab299e", "shasum": "" }, "require": { @@ -1830,7 +1848,7 @@ "framework", "laravel" ], - "time": "2018-09-04T13:15:09+00:00" + "time": "2018-10-04T14:50:41+00:00" }, { "name": "laravel/socialite", @@ -1964,16 +1982,16 @@ }, { "name": "lcobucci/jwt", - "version": "3.2.4", + "version": "3.2.5", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "c9704b751315d21735dc98d78d4f37bd73596da7" + "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c9704b751315d21735dc98d78d4f37bd73596da7", - "reference": "c9704b751315d21735dc98d78d4f37bd73596da7", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/82be04b4753f8b7693b62852b7eab30f97524f9b", + "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b", "shasum": "" }, "require": { @@ -2018,20 +2036,20 @@ "JWS", "jwt" ], - "time": "2018-08-03T11:23:50+00:00" + "time": "2018-11-11T12:22:26+00:00" }, { "name": "league/flysystem", - "version": "1.0.47", + "version": "1.0.49", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c" + "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a63cc83d8a931b271be45148fa39ba7156782ffd", + "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd", "shasum": "" }, "require": { @@ -2102,7 +2120,7 @@ "sftp", "storage" ], - "time": "2018-09-14T15:30:29+00:00" + "time": "2018-11-23T23:41:29+00:00" }, { "name": "league/fractal", @@ -2372,16 +2390,16 @@ }, { "name": "monolog/monolog", - "version": "1.23.0", + "version": "1.24.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", "shasum": "" }, "require": { @@ -2446,7 +2464,7 @@ "logging", "psr-3" ], - "time": "2017-06-19T01:22:40+00:00" + "time": "2018-11-05T09:00:11+00:00" }, { "name": "mremi/url-shortener", @@ -2615,12 +2633,12 @@ "source": { "type": "git", "url": "https://github.com/neitanod/forceutf8.git", - "reference": "e1f383c7b5331b575c41c6e936e321095017cd35" + "reference": "30980a8ca2787a7730d370eac310b8987eb68229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/neitanod/forceutf8/zipball/e1f383c7b5331b575c41c6e936e321095017cd35", - "reference": "e1f383c7b5331b575c41c6e936e321095017cd35", + "url": "https://api.github.com/repos/neitanod/forceutf8/zipball/30980a8ca2787a7730d370eac310b8987eb68229", + "reference": "30980a8ca2787a7730d370eac310b8987eb68229", "shasum": "" }, "require": { @@ -2633,6 +2651,9 @@ } }, "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastián Grignoli", @@ -2641,7 +2662,7 @@ ], "description": "PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.", "homepage": "https://github.com/neitanod/forceutf8", - "time": "2017-09-21T21:00:15+00:00" + "time": "2018-10-10T23:03:52+00:00" }, { "name": "nesbot/carbon", @@ -2698,16 +2719,16 @@ }, { "name": "nicolaslopezj/searchable", - "version": "1.10.3", + "version": "1.10.4", "source": { "type": "git", "url": "https://github.com/nicolaslopezj/searchable.git", - "reference": "cfd888bbe7b57fa52d81037bb73ef3d689683b22" + "reference": "69dfeb12ae283067288e4bc412235b1f3f13dcf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicolaslopezj/searchable/zipball/cfd888bbe7b57fa52d81037bb73ef3d689683b22", - "reference": "cfd888bbe7b57fa52d81037bb73ef3d689683b22", + "url": "https://api.github.com/repos/nicolaslopezj/searchable/zipball/69dfeb12ae283067288e4bc412235b1f3f13dcf4", + "reference": "69dfeb12ae283067288e4bc412235b1f3f13dcf4", "shasum": "" }, "require": { @@ -2740,20 +2761,20 @@ "search", "searchable" ], - "time": "2018-08-10T16:07:36+00:00" + "time": "2018-11-05T20:28:35+00:00" }, { "name": "nikic/php-parser", - "version": "v4.0.3", + "version": "v4.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d" + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd088dc940a418f09cda079a9b5c7c478890fb8d", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", "shasum": "" }, "require": { @@ -2769,7 +2790,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "autoload": { @@ -2791,7 +2812,7 @@ "parser", "php" ], - "time": "2018-07-15T17:25:16+00:00" + "time": "2018-10-10T09:24:14+00:00" }, { "name": "paragonie/random_compat", @@ -2874,22 +2895,26 @@ }, { "name": "phpoffice/phpexcel", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/PHPOffice/PHPExcel.git", - "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32" + "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/372c7cbb695a6f6f1e62649381aeaa37e7e70b32", - "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/1441011fb7ecdd8cc689878f54f8b58a6805f870", + "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870", "shasum": "" }, "require": { + "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "php": ">=5.2.0" + "php": "^5.2|^7.0" + }, + "require-dev": { + "squizlabs/php_codesniffer": "2.*" }, "type": "library", "autoload": { @@ -2899,7 +2924,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL" + "LGPL-2.1" ], "authors": [ { @@ -2907,18 +2932,19 @@ "homepage": "http://blog.maartenballiauw.be" }, { - "name": "Mark Baker" + "name": "Erik Tilt" }, { "name": "Franck Lefevre", - "homepage": "http://blog.rootslabs.net" + "homepage": "http://rootslabs.net" }, { - "name": "Erik Tilt" + "name": "Mark Baker", + "homepage": "http://markbakeruk.net" } ], "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "http://phpexcel.codeplex.com", + "homepage": "https://github.com/PHPOffice/PHPExcel", "keywords": [ "OpenXML", "excel", @@ -2928,7 +2954,7 @@ "xlsx" ], "abandoned": "phpoffice/phpspreadsheet", - "time": "2015-05-01T07:00:55+00:00" + "time": "2018-11-22T23:07:24+00:00" }, { "name": "predis/predis", @@ -3144,16 +3170,16 @@ }, { "name": "psr/log", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { @@ -3187,7 +3213,7 @@ "psr", "psr-3" ], - "time": "2016-10-10T12:19:37+00:00" + "time": "2018-11-20T15:27:04+00:00" }, { "name": "psr/simple-cache", @@ -3237,6 +3263,46 @@ ], "time": "2017-10-23T01:57:42+00:00" }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2016-02-11T07:05:27+00:00" + }, { "name": "ramsey/uuid", "version": "3.8.0", @@ -3449,20 +3515,21 @@ }, { "name": "symfony/console", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" + "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", + "url": "https://api.github.com/repos/symfony/console/zipball/4dff24e5d01e713818805c1862d2e3f901ee7dd0", + "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0", "shasum": "" }, "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -3486,7 +3553,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3513,7 +3580,75 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-11-27T07:40:44+00:00" + }, + { + "name": "symfony/contracts", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/contracts.git", + "reference": "3edf0ab943d1985a356721952cba36ff31bd6e5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/contracts/zipball/3edf0ab943d1985a356721952cba36ff31bd6e5f", + "reference": "3edf0ab943d1985a356721952cba36ff31bd6e5f", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "psr/cache": "^1.0", + "psr/container": "^1.0" + }, + "suggest": { + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\": "" + }, + "exclude-from-classmap": [ + "**/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A set of abstractions extracted out of the Symfony components", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2018-11-24T09:35:08+00:00" }, { "name": "symfony/css-selector", @@ -3570,16 +3705,16 @@ }, { "name": "symfony/debug", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "47ead688f1f2877f3f14219670f52e4722ee7052" + "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/47ead688f1f2877f3f14219670f52e4722ee7052", - "reference": "47ead688f1f2877f3f14219670f52e4722ee7052", + "url": "https://api.github.com/repos/symfony/debug/zipball/e0a2b92ee0b5b934f973d90c2f58e18af109d276", + "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276", "shasum": "" }, "require": { @@ -3595,7 +3730,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3622,24 +3757,25 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2018-08-03T11:13:38+00:00" + "time": "2018-11-28T18:24:18+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e" + "reference": "9b788b5f7cd6be22918f3d18ee3ff0a78e060137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9b788b5f7cd6be22918f3d18ee3ff0a78e060137", + "reference": "9b788b5f7cd6be22918f3d18ee3ff0a78e060137", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "conflict": { "symfony/dependency-injection": "<3.4" @@ -3658,7 +3794,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3685,20 +3821,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2018-07-26T09:10:45+00:00" + "time": "2018-11-26T10:55:26+00:00" }, { "name": "symfony/filesystem", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e" + "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e", - "reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2f4c8b999b3b7cadb2a69390b01af70886753710", + "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710", "shasum": "" }, "require": { @@ -3708,7 +3844,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3735,20 +3871,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2018-08-18T16:52:46+00:00" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "symfony/finder", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" + "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "url": "https://api.github.com/repos/symfony/finder/zipball/e53d477d7b5c4982d0e1bfd2298dbee63d01441d", + "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d", "shasum": "" }, "require": { @@ -3757,7 +3893,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3784,20 +3920,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2018-07-26T11:24:31+00:00" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "3a5c91e133b220bb882b3cd773ba91bf39989345" + "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3a5c91e133b220bb882b3cd773ba91bf39989345", - "reference": "3a5c91e133b220bb882b3cd773ba91bf39989345", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", + "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", "shasum": "" }, "require": { @@ -3811,7 +3947,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3838,25 +3974,26 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2018-08-27T17:47:02+00:00" + "time": "2018-11-26T10:55:26+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35" + "reference": "500409e5d8a31fc92450a0ec2ea4e4c35af40117" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33de0a1ff2e1720096189e3ced682d7a4e8f5e35", - "reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/500409e5d8a31fc92450a0ec2ea4e4c35af40117", + "reference": "500409e5d8a31fc92450a0ec2ea4e4c35af40117", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "~1.0", + "symfony/contracts": "^1.0", "symfony/debug": "~3.4|~4.0", "symfony/event-dispatcher": "~4.1", "symfony/http-foundation": "^4.1.1", @@ -3864,7 +4001,8 @@ }, "conflict": { "symfony/config": "<3.4", - "symfony/dependency-injection": "<4.1", + "symfony/dependency-injection": "<4.2", + "symfony/translation": "<4.2", "symfony/var-dumper": "<4.1.1", "twig/twig": "<1.34|<2.4,>=2" }, @@ -3877,7 +4015,7 @@ "symfony/config": "~3.4|~4.0", "symfony/console": "~3.4|~4.0", "symfony/css-selector": "~3.4|~4.0", - "symfony/dependency-injection": "^4.1", + "symfony/dependency-injection": "^4.2", "symfony/dom-crawler": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0", @@ -3885,7 +4023,7 @@ "symfony/routing": "~3.4|~4.0", "symfony/stopwatch": "~3.4|~4.0", "symfony/templating": "~3.4|~4.0", - "symfony/translation": "~3.4|~4.0", + "symfony/translation": "~4.2", "symfony/var-dumper": "^4.1.1" }, "suggest": { @@ -3898,7 +4036,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3925,20 +4063,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2018-08-28T06:17:42+00:00" + "time": "2018-11-30T09:16:14+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "1913f1962477cdbb13df951f8147d5da1fe2412c" + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/1913f1962477cdbb13df951f8147d5da1fe2412c", - "reference": "1913f1962477cdbb13df951f8147d5da1fe2412c", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", "shasum": "" }, "require": { @@ -3947,7 +4085,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -3979,11 +4117,11 @@ "configuration", "options" ], - "time": "2018-07-26T08:55:25+00:00" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -4041,16 +4179,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { @@ -4096,20 +4234,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000" + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/7b4fc009172cc0196535b0328bd1226284a28000", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", "shasum": "" }, "require": { @@ -4152,20 +4290,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T06:26:08+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "shasum": "" }, "require": { @@ -4207,20 +4345,20 @@ "portable", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-21T13:07:52+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.9.0", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581" + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8e15d04ba3440984d23e7964b2ee1d25c8de1581", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", "shasum": "" }, "require": { @@ -4259,20 +4397,20 @@ "polyfill", "shim" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2018-09-30T16:36:12+00:00" }, { "name": "symfony/process", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843" + "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/86cdb930a6a855b0ab35fb60c1504cb36184f843", - "reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843", + "url": "https://api.github.com/repos/symfony/process/zipball/2b341009ccec76837a7f46f59641b431e4d4c2b0", + "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0", "shasum": "" }, "require": { @@ -4281,7 +4419,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -4308,34 +4446,34 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2018-08-03T11:13:38+00:00" + "time": "2018-11-20T16:22:05+00:00" }, { "name": "symfony/routing", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51" + "reference": "97b9f457df748357eec101df5c8b1c649b543241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/a5784c2ec4168018c87b38f0e4f39d2278499f51", - "reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51", + "url": "https://api.github.com/repos/symfony/routing/zipball/97b9f457df748357eec101df5c8b1c649b543241", + "reference": "97b9f457df748357eec101df5c8b1c649b543241", "shasum": "" }, "require": { "php": "^7.1.3" }, "conflict": { - "symfony/config": "<3.4", + "symfony/config": "<4.2", "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { "doctrine/annotations": "~1.0", "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", + "symfony/config": "~4.2", "symfony/dependency-injection": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/http-foundation": "~3.4|~4.0", @@ -4352,7 +4490,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -4385,24 +4523,25 @@ "uri", "url" ], - "time": "2018-08-03T07:58:40+00:00" + "time": "2018-11-29T14:48:32+00:00" }, { "name": "symfony/translation", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f" + "reference": "ff9a878c9b8f8bcd4d9138e2d32f508c942773d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/fa2182669f7983b7aa5f1a770d053f79f0ef144f", - "reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f", + "url": "https://api.github.com/repos/symfony/translation/zipball/ff9a878c9b8f8bcd4d9138e2d32f508c942773d9", + "reference": "ff9a878c9b8f8bcd4d9138e2d32f508c942773d9", "shasum": "" }, "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -4410,6 +4549,9 @@ "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, + "provide": { + "symfony/translation-contracts-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", @@ -4427,7 +4569,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -4454,20 +4596,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2018-08-07T12:45:11+00:00" + "time": "2018-11-27T07:20:32+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777" + "reference": "db61258540350725f4beb6b84006e32398acd120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/db61258540350725f4beb6b84006e32398acd120", + "reference": "db61258540350725f4beb6b84006e32398acd120", "shasum": "" }, "require": { @@ -4495,7 +4637,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -4529,7 +4671,7 @@ "debug", "dump" ], - "time": "2018-08-02T09:24:26+00:00" + "time": "2018-11-25T12:50:42+00:00" }, { "name": "tedivm/fetch", @@ -4749,21 +4891,21 @@ }, { "name": "torann/geoip", - "version": "1.0.7", + "version": "1.0.8", "source": { "type": "git", "url": "https://github.com/Torann/laravel-geoip.git", - "reference": "bcd07e0a7e053d9be224bb944a49a7f76ca7e86f" + "reference": "948617dba3d9c2992c3b3ff48dbc429123000e58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/bcd07e0a7e053d9be224bb944a49a7f76ca7e86f", - "reference": "bcd07e0a7e053d9be224bb944a49a7f76ca7e86f", + "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/948617dba3d9c2992c3b3ff48dbc429123000e58", + "reference": "948617dba3d9c2992c3b3ff48dbc429123000e58", "shasum": "" }, "require": { - "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*", - "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*", + "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", + "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "php": ">=5.5.9" }, "require-dev": { @@ -4818,7 +4960,7 @@ "location", "maxmind" ], - "time": "2018-08-15T18:24:26+00:00" + "time": "2018-09-21T17:11:51+00:00" }, { "name": "tymon/jwt-auth", @@ -4826,12 +4968,12 @@ "source": { "type": "git", "url": "https://github.com/tymondesigns/jwt-auth.git", - "reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f" + "reference": "689fcc263f6c4f650057905ae6dce441879df19b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e190b6a75372e7e5e3a6d2cf0e4456313412299f", - "reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f", + "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/689fcc263f6c4f650057905ae6dce441879df19b", + "reference": "689fcc263f6c4f650057905ae6dce441879df19b", "shasum": "" }, "require": { @@ -4893,7 +5035,7 @@ "jwt", "laravel" ], - "time": "2018-09-04T19:48:02+00:00" + "time": "2018-10-17T13:25:54+00:00" }, { "name": "unisharp/laravel-ckeditor", @@ -5643,6 +5785,51 @@ } ], "packages-dev": [ + { + "name": "codacy/coverage", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/codacy/php-codacy-coverage.git", + "reference": "629d1fd597f91fb072bd822830059fd5145ce49a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/codacy/php-codacy-coverage/zipball/629d1fd597f91fb072bd822830059fd5145ce49a", + "reference": "629d1fd597f91fb072bd822830059fd5145ce49a", + "shasum": "" + }, + "require": { + "gitonomy/gitlib": ">=1.0", + "php": ">=5.3.3", + "symfony/console": "~2.5|~3.0|~4.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.5" + }, + "bin": [ + "bin/codacycoverage" + ], + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakob Pupke", + "email": "jakob.pupke@gmail.com" + } + ], + "description": "Sends PHP test coverage information to Codacy.", + "homepage": "https://github.com/codacy/php-codacy-coverage", + "time": "2018-04-30T16:23:12+00:00" + }, { "name": "dnoegel/php-xdg-base-dir", "version": "0.1", @@ -5792,16 +5979,16 @@ }, { "name": "filp/whoops", - "version": "2.2.1", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311" + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "url": "https://api.github.com/repos/filp/whoops/zipball/bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", "shasum": "" }, "require": { @@ -5849,7 +6036,7 @@ "throwable", "whoops" ], - "time": "2018-06-30T13:14:06+00:00" + "time": "2018-10-23T09:00:00+00:00" }, { "name": "fzaninotto/faker", @@ -5902,33 +6089,89 @@ "time": "2018-07-12T10:23:15+00:00" }, { - "name": "jakub-onderka/php-console-color", - "version": "0.1", + "name": "gitonomy/gitlib", + "version": "v1.0.4", "source": { "type": "git", - "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" + "url": "https://github.com/gitonomy/gitlib.git", + "reference": "932a960221ae3484a3e82553b3be478e56beb68d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/932a960221ae3484a3e82553b3be478e56beb68d", + "reference": "932a960221ae3484a3e82553b3be478e56beb68d", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^5.3 || ^7.0", + "symfony/process": "^2.3|^3.0|^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Add some log" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Gitonomy\\Git\\": "src/Gitonomy/Git/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Salomé", + "email": "alexandre.salome@gmail.com", + "homepage": "http://alexandre-salome.fr" + }, + { + "name": "Julien DIDIER", + "email": "genzo.wm@gmail.com", + "homepage": "http://www.jdidier.net" + } + ], + "description": "Library for accessing git", + "homepage": "http://gitonomy.com", + "time": "2018-04-22T19:55:36+00:00" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "v0.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-parallel-lint": "1.0", "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "3.7.*", + "phpunit/phpunit": "~4.3", "squizlabs/php_codesniffer": "1.*" }, "type": "library", "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleColor": "src/" + "psr-4": { + "JakubOnderka\\PhpConsoleColor\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5938,41 +6181,41 @@ "authors": [ { "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com", - "homepage": "http://www.acci.cz" + "email": "jakub.onderka@gmail.com" } ], - "time": "2014-04-08T15:00:19+00:00" + "time": "2018-09-29T17:23:10+00:00" }, { "name": "jakub-onderka/php-console-highlighter", - "version": "v0.3.2", + "version": "v0.4", "source": { "type": "git", "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", "shasum": "" }, "require": { - "jakub-onderka/php-console-color": "~0.1", - "php": ">=5.3.0" + "ext-tokenizer": "*", + "jakub-onderka/php-console-color": "~0.2", + "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-parallel-lint": "~1.0", "jakub-onderka/php-var-dump-check": "~0.1", "phpunit/phpunit": "~4.0", "squizlabs/php_codesniffer": "~1.5" }, "type": "library", "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleHighlighter": "src/" + "psr-4": { + "JakubOnderka\\PhpConsoleHighlighter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5986,7 +6229,8 @@ "homepage": "http://www.acci.cz/" } ], - "time": "2015-04-20T18:58:01+00:00" + "description": "Highlight PHP code in terminal", + "time": "2018-09-29T18:48:56+00:00" }, { "name": "laravel/dusk", @@ -6051,16 +6295,16 @@ }, { "name": "laravel/tinker", - "version": "v1.0.7", + "version": "v1.0.8", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d" + "reference": "cafbf598a90acde68985660e79b2b03c5609a405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", + "url": "https://api.github.com/repos/laravel/tinker/zipball/cafbf598a90acde68985660e79b2b03c5609a405", + "reference": "cafbf598a90acde68985660e79b2b03c5609a405", "shasum": "" }, "require": { @@ -6110,7 +6354,7 @@ "laravel", "psysh" ], - "time": "2018-05-17T13:42:07+00:00" + "time": "2018-10-12T19:39:35+00:00" }, { "name": "myclabs/deep-copy", @@ -6454,16 +6698,16 @@ }, { "name": "phpspec/phpspec", - "version": "4.3.1", + "version": "4.3.2", "source": { "type": "git", "url": "https://github.com/phpspec/phpspec.git", - "reference": "4474f1cb4cf9873996fc07fac6533ab9298eb6fd" + "reference": "412d2c7d7fa5df051659145ec941645104f2c3bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/phpspec/zipball/4474f1cb4cf9873996fc07fac6533ab9298eb6fd", - "reference": "4474f1cb4cf9873996fc07fac6533ab9298eb6fd", + "url": "https://api.github.com/repos/phpspec/phpspec/zipball/412d2c7d7fa5df051659145ec941645104f2c3bd", + "reference": "412d2c7d7fa5df051659145ec941645104f2c3bd", "shasum": "" }, "require": { @@ -6531,7 +6775,7 @@ "testing", "tests" ], - "time": "2018-07-02T17:43:33+00:00" + "time": "2018-09-24T07:37:39+00:00" }, { "name": "phpspec/prophecy", @@ -6598,16 +6842,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "6.0.7", + "version": "6.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a" + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", "shasum": "" }, "require": { @@ -6618,7 +6862,7 @@ "phpunit/php-text-template": "^1.2.1", "phpunit/php-token-stream": "^3.0", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1", + "sebastian/environment": "^3.1 || ^4.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, @@ -6631,7 +6875,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "6.1-dev" } }, "autoload": { @@ -6657,7 +6901,7 @@ "testing", "xunit" ], - "time": "2018-06-01T07:51:50+00:00" + "time": "2018-10-31T16:06:48+00:00" }, { "name": "phpunit/php-file-iterator", @@ -6801,16 +7045,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18", + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18", "shasum": "" }, "require": { @@ -6846,20 +7090,20 @@ "keywords": [ "tokenizer" ], - "time": "2018-02-01T13:16:43+00:00" + "time": "2018-10-30T05:52:18+00:00" }, { "name": "phpunit/phpunit", - "version": "7.3.5", + "version": "7.4.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "7b331efabbb628c518c408fdfcaf571156775de2" + "reference": "61d34e8dd6eb3555900f0f2a2fa9e7e570730102" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2", - "reference": "7b331efabbb628c518c408fdfcaf571156775de2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/61d34e8dd6eb3555900f0f2a2fa9e7e570730102", + "reference": "61d34e8dd6eb3555900f0f2a2fa9e7e570730102", "shasum": "" }, "require": { @@ -6880,11 +7124,11 @@ "phpunit/php-timer": "^2.0", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0", - "sebastian/environment": "^3.1", + "sebastian/environment": "^4.0", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0", "sebastian/version": "^2.0.1" }, "conflict": { @@ -6904,7 +7148,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.3-dev" + "dev-master": "7.4-dev" } }, "autoload": { @@ -6930,27 +7174,27 @@ "testing", "xunit" ], - "time": "2018-09-08T15:14:29+00:00" + "time": "2018-12-03T05:01:24+00:00" }, { "name": "psy/psysh", - "version": "v0.9.8", + "version": "v0.9.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555" + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ed3c32c4304e1a678a6e0f9dc11dd2d927d89555", - "reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", "shasum": "" }, "require": { "dnoegel/php-xdg-base-dir": "0.1", "ext-json": "*", "ext-tokenizer": "*", - "jakub-onderka/php-console-highlighter": "0.3.*", + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", "php": ">=5.4.0", "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", @@ -7004,7 +7248,7 @@ "interactive", "shell" ], - "time": "2018-09-05T11:40:09+00:00" + "time": "2018-10-13T15:16:03+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -7173,28 +7417,28 @@ }, { "name": "sebastian/environment", - "version": "3.1.0", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f", + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -7219,7 +7463,7 @@ "environment", "hhvm" ], - "time": "2017-07-01T08:51:00+00:00" + "time": "2018-11-25T09:31:21+00:00" }, { "name": "sebastian/exporter", @@ -7486,25 +7730,25 @@ }, { "name": "sebastian/resource-operations", - "version": "1.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": "^7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -7524,7 +7768,7 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2015-07-28T20:34:47+00:00" + "time": "2018-10-04T04:07:39+00:00" }, { "name": "sebastian/version", @@ -7627,16 +7871,16 @@ }, { "name": "symfony/yaml", - "version": "v4.1.4", + "version": "v4.2.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "b832cc289608b6d305f62149df91529a2ab3c314" + "reference": "c41175c801e3edfda90f32e292619d10c27103d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314", - "reference": "b832cc289608b6d305f62149df91529a2ab3c314", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c41175c801e3edfda90f32e292619d10c27103d7", + "reference": "c41175c801e3edfda90f32e292619d10c27103d7", "shasum": "" }, "require": { @@ -7655,7 +7899,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -7682,7 +7926,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2018-08-18T16:52:46+00:00" + "time": "2018-11-11T19:52:12+00:00" }, { "name": "theseer/tokenizer", @@ -7781,7 +8025,8 @@ "neitanod/forceutf8": 20, "chumper/datatable": 20, "tymon/jwt-auth": 20, - "davibennun/laravel-push-notification": 20 + "davibennun/laravel-push-notification": 20, + "codacy/coverage": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/phpunit.xml b/phpunit.xml index 99d0b4ce7..659b77454 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -16,6 +16,11 @@ ./tests/unit + + + app/ + + diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.13 b/vendor/aws/aws-sdk-php/.changes/3.67.13 new file mode 100644 index 000000000..b7f167887 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.13 @@ -0,0 +1,37 @@ +[ + { + "type": "api-change", + "category": "ECS", + "description": "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." + }, + { + "type": "api-change", + "category": "ElasticTranscoder", + "description": "Added support for MP2 container" + }, + { + "type": "api-change", + "category": "CloudWatch", + "description": "Amazon CloudWatch adds the ability to publish values and counts using PutMetricData" + }, + { + "type": "api-change", + "category": "CodeBuild", + "description": "Support build logs configuration." + }, + { + "type": "api-change", + "category": "ElastiCache", + "description": "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" + }, + { + "type": "enhancement", + "category": "SecretsManager", + "description": "Documentation updates for secretsmanager" + }, + { + "type": "api-change", + "category": "EC2", + "description": "Added support for customers to tag EC2 Dedicated Hosts on creation." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.14 b/vendor/aws/aws-sdk-php/.changes/3.67.14 new file mode 100644 index 000000000..c7f52783c --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.14 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "ElasticsearchService", + "description": "Amazon Elasticsearch Service adds support for node-to-node encryption for new domains running Elasticsearch version 6.0 and above" + }, + { + "type": "api-change", + "category": "Rekognition", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.15 b/vendor/aws/aws-sdk-php/.changes/3.67.15 new file mode 100644 index 000000000..0a7b84e3f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.15 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "CloudWatch", + "description": "Amazon CloudWatch adds the ability to request png image snapshots of metric widgets using the GetMetricWidgetImage API." + }, + { + "type": "api-change", + "category": "Organizations", + "description": "Introducing a new exception - AccountOwnerNotVerifiedException which will be returned for InviteAccountToOrganization call for unverified accounts." + }, + { + "type": "api-change", + "category": "S3", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.16 b/vendor/aws/aws-sdk-php/.changes/3.67.16 new file mode 100644 index 000000000..6e21a92d1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.16 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "EC2", + "description": "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." + }, + { + "type": "api-change", + "category": "DirectoryService", + "description": "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." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.17 b/vendor/aws/aws-sdk-php/.changes/3.67.17 new file mode 100644 index 000000000..ff31c456f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.17 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "MediaConvert", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.18 b/vendor/aws/aws-sdk-php/.changes/3.67.18 new file mode 100644 index 000000000..a6fbabc7a --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.18 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "RDS", + "description": " Adds DB engine version requirements for option group option settings, and specifies if an option setting requires a value." + }, + { + "type": "api-change", + "category": "Connect", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.19 b/vendor/aws/aws-sdk-php/.changes/3.67.19 new file mode 100644 index 000000000..9fde206f2 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.19 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "DirectoryService", + "description": "API changes related to launch of cross account for Directory Service." + }, + { + "type": "enhancement", + "category": "CloudFront", + "description": "Documentation updates for cloudfront" + }, + { + "type": "api-change", + "category": "EC2", + "description": "Add pagination support for ec2.describe-route-tables API. " + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.20 b/vendor/aws/aws-sdk-php/.changes/3.67.20 new file mode 100644 index 000000000..99d9943cd --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.20 @@ -0,0 +1,22 @@ +[ + { + "type": "api-change", + "category": "OpsWorksCM", + "description": "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. " + }, + { + "type": "api-change", + "category": "RDS", + "description": "This release includes Deletion Protection for RDS databases." + }, + { + "type": "enhancement", + "category": "SQS", + "description": "Documentation updates for Amazon SQS." + }, + { + "type": "api-change", + "category": "Glue", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.21 b/vendor/aws/aws-sdk-php/.changes/3.67.21 new file mode 100644 index 000000000..642d2d531 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.21 @@ -0,0 +1,27 @@ +[ + { + "type": "api-change", + "category": "CodeCommit", + "description": "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." + }, + { + "type": "api-change", + "category": "MQ", + "description": "Amazon MQ supports ActiveMQ 5.15.6, in addition to 5.15.0. Automatic minor version upgrades can be toggled. Updated the documentation." + }, + { + "type": "enhancement", + "category": "SageMaker", + "description": "SageMaker has added support for the AWS GovCloud (US) region." + }, + { + "type": "api-change", + "category": "APIGateway", + "description": "Adding support for OpenAPI 3.0 import and export." + }, + { + "type": "enhancement", + "category": "GameLift", + "description": "Amazon GameLift and Amazon GameLift FlexMatch are now available in the China cn-north-1 region." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.67.22 b/vendor/aws/aws-sdk-php/.changes/3.67.22 new file mode 100644 index 000000000..1669ab420 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.67.22 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "CodeStar", + "description": "This release enables tagging CodeStar Projects at creation. The CreateProject API now includes optional tags parameter." + }, + { + "type": "api-change", + "category": "EC2", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.68.0 b/vendor/aws/aws-sdk-php/.changes/3.68.0 new file mode 100644 index 000000000..c07ea559e --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.68.0 @@ -0,0 +1,17 @@ +[ + { + "type": "feature", + "category": "Lambda", + "description": "Added default TCP Keep-Alive Curl setting for the Lambda client." + }, + { + "type": "enhancement", + "category": "Rekognition", + "description": "Documentation updates for Amazon Rekognition" + }, + { + "type": "api-change", + "category": "GuardDuty", + "description": "Support optional FindingPublishingFrequency parameter in CreateDetector and UpdateDetector operations, and ClientToken on Create* operations" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.68.1 b/vendor/aws/aws-sdk-php/.changes/3.68.1 new file mode 100644 index 000000000..32184a24c --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.68.1 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "SageMaker", + "description": "Waiter for SageMaker Batch Transform Jobs." + }, + { + "type": "enhancement", + "category": "SecretsManager", + "description": "Documentation updates for secretsmanager" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.0 b/vendor/aws/aws-sdk-php/.changes/3.69.0 new file mode 100644 index 000000000..04468bacb --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.0 @@ -0,0 +1,32 @@ +[ + { + "type": "feature", + "category": "ClientSideMonitoring", + "description": "Code for future SDK instrumentation and telemetry." + }, + { + "type": "api-change", + "category": "SSM", + "description": " Adds RejectedPatchesAction to baseline to enable stricted validation of the rejected Patches List ; Add InstalledRejected and InstallOverrideList to compliance reporting" + }, + { + "type": "enhancement", + "category": "Neptune", + "description": "Update neptune command for support in the EU (London) region" + }, + { + "type": "api-change", + "category": "APIGateway", + "description": "Adding support for multi-value parameters in TestInvokeMethod and TestInvokeAuthorizer." + }, + { + "type": "api-change", + "category": "CodeBuild", + "description": "Add resolved source version field in build output" + }, + { + "type": "api-change", + "category": "StorageGateway", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.1 b/vendor/aws/aws-sdk-php/.changes/3.69.1 new file mode 100644 index 000000000..578919e02 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.1 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "DirectoryService", + "description": "SDK changes to create a new type of trust for active directory" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.10 b/vendor/aws/aws-sdk-php/.changes/3.69.10 new file mode 100644 index 000000000..240956214 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.10 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "MediaLive", + "description": "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." + }, + { + "type": "api-change", + "category": "Route53", + "description": "This change allows customers to disable health checks." + }, + { + "type": "api-change", + "category": "AppStream", + "description": "This API update adds support for creating, managing, and deleting users in the AppStream 2.0 user pool." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.11 b/vendor/aws/aws-sdk-php/.changes/3.69.11 new file mode 100644 index 000000000..aa37d8d02 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.11 @@ -0,0 +1,17 @@ +[ + { + "type": "enhancement", + "category": "Aws", + "description": "Bump Guzzle HTTP patch version for PHP 7.3 compatibility." + }, + { + "type": "api-change", + "category": "SSM", + "description": "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." + }, + { + "type": "api-change", + "category": "WorkSpaces", + "description": "Added support for PowerPro and GraphicsPro WorkSpaces bundles." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.12 b/vendor/aws/aws-sdk-php/.changes/3.69.12 new file mode 100644 index 000000000..981c34f5d --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.12 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "Inspector", + "description": "Finding will be decorated with ec2 related metadata" + }, + { + "type": "api-change", + "category": "Shield", + "description": "AWS Shield Advanced API introduced a new service-specific AccessDeniedException which will be thrown when accessing individual attack information without sufficient permission." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.13 b/vendor/aws/aws-sdk-php/.changes/3.69.13 new file mode 100644 index 000000000..2136b20c7 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.13 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "EC2", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.14 b/vendor/aws/aws-sdk-php/.changes/3.69.14 new file mode 100644 index 000000000..08723e4df --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.14 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "AlexaForBusiness", + "description": "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." + }, + { + "type": "api-change", + "category": "CodeStar", + "description": "This release lets you create projects from source code and a toolchain definition that you provide." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.15 b/vendor/aws/aws-sdk-php/.changes/3.69.15 new file mode 100644 index 000000000..a2817e628 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.15 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "EC2", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.16 b/vendor/aws/aws-sdk-php/.changes/3.69.16 new file mode 100644 index 000000000..7f656a54c --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.16 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "SageMaker", + "description": "SageMaker notebook instances can now have a volume size configured." + }, + { + "type": "api-change", + "category": "SSM", + "description": "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." + }, + { + "type": "enhancement", + "category": "AlexaForBusiness", + "description": "Documentation updates for AWS Alexa for Business" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.2 b/vendor/aws/aws-sdk-php/.changes/3.69.2 new file mode 100644 index 000000000..ad2e339fa --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.2 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "IoT", + "description": "We are releasing job execution timeout functionalities to customers. Customer now can set job execution timeout on the job level when creating a job. " + }, + { + "type": "api-change", + "category": "IoTJobsDataPlane", + "description": "We are releasing job execution timeout functionalities to customers. Device can now set and update their job execution timeout. " + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.3 b/vendor/aws/aws-sdk-php/.changes/3.69.3 new file mode 100644 index 000000000..e6feeb4c4 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.3 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "SSM", + "description": "Adds StartDate, EndDate, and ScheduleTimezone to CreateMaintenanceWindow and UpdateMaintenanceWindow; Adds NextExecutionTime to GetMaintenanceWindow and DescribeMaintenanceWindows; Adds CancelMaintenanceWindowExecution, DescribeMaintenanceWindowSchedule and DescribeMaintenanceWindowsForTarget APIs." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.4 b/vendor/aws/aws-sdk-php/.changes/3.69.4 new file mode 100644 index 000000000..7d93ac3f3 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.4 @@ -0,0 +1,27 @@ +[ + { + "type": "bugfix", + "category": "Build\/Docs", + "description": "Fixes API docs issue with required members in shapes." + }, + { + "type": "bugfix", + "category": "ClientSideMonitoring", + "description": "Avoids issue with late static bindings in closures in earlier versions of PHP 5.5.x." + }, + { + "type": "api-change", + "category": "TranscribeService", + "description": "With this update Amazon Transcribe now supports deleting completed transcription jobs. " + }, + { + "type": "api-change", + "category": "Comprehend", + "description": "This release adds French, Italian, German and Portuguese language support for all existing synchronous and asynchronous APIs" + }, + { + "type": "api-change", + "category": "ElasticsearchService", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.5 b/vendor/aws/aws-sdk-php/.changes/3.69.5 new file mode 100644 index 000000000..1651c09d7 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.5 @@ -0,0 +1,37 @@ +[ + { + "type": "enhancement", + "category": "ClientSideMonitoring", + "description": "Updates to client-side monitoring event entry and config settings to match updated specification." + }, + { + "type": "bugfix", + "category": "Api\/Serializer", + "description": "Fix to correctly format 'structure' options into JSON, when they have no valid values." + }, + { + "type": "api-change", + "category": "DirectConnect", + "description": "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." + }, + { + "type": "api-change", + "category": "Athena", + "description": "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." + }, + { + "type": "api-change", + "category": "MediaConvert", + "description": "Added Paginators for all the MediaConvert list operations" + }, + { + "type": "api-change", + "category": "TranscribeService", + "description": "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)." + }, + { + "type": "api-change", + "category": "EC2", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.6 b/vendor/aws/aws-sdk-php/.changes/3.69.6 new file mode 100644 index 000000000..ef4ab3389 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.6 @@ -0,0 +1,12 @@ +[ + { + "type": "enhancement", + "category": "ClientSideMonitoring", + "description": "Adds MaxRetriesExceeded entry to ApiCall events." + }, + { + "type": "api-change", + "category": "CloudTrail", + "description": "The LookupEvents API now supports two new attribute keys: ReadOnly and AccessKeyId" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.7 b/vendor/aws/aws-sdk-php/.changes/3.69.7 new file mode 100644 index 000000000..0bfd9ae33 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.7 @@ -0,0 +1,17 @@ +[ + { + "type": "enhancement", + "category": "Lambda", + "description": "Documentation updates for lambda" + }, + { + "type": "api-change", + "category": "ServiceCatalog", + "description": "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." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.8 b/vendor/aws/aws-sdk-php/.changes/3.69.8 new file mode 100644 index 000000000..eddc7d8a3 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.8 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "ResourceGroups", + "description": "AWS Resource Groups service added a new feature to filter resource groups by resource-type when using the ListGroups operation." + }, + { + "type": "api-change", + "category": "Lightsail", + "description": "Adds support for Lightsail managed databases." + }, + { + "type": "api-change", + "category": "Glue", + "description": "New Glue APIs for creating, updating, reading and deleting Data Catalog resource-based policies." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.69.9 b/vendor/aws/aws-sdk-php/.changes/3.69.9 new file mode 100644 index 000000000..4c60ae803 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.69.9 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "CloudWatchEvents", + "description": "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." + }, + { + "type": "enhancement", + "category": "APIGateway", + "description": "Documentation updates for API Gateway" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.70.0 b/vendor/aws/aws-sdk-php/.changes/3.70.0 new file mode 100644 index 000000000..eb031112f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.70.0 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "DatabaseMigrationService", + "description": "Add waiters for TestConnectionSucceeds, EndpointDeleted, ReplicationInstanceAvailable, ReplicationInstanceDeleted, ReplicationTaskReady, ReplicationTaskStopped, ReplicationTaskRunning and ReplicationTaskDeleted." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + }, + { + "type": "feature", + "category": "Chime", + "description": "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" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.70.1 b/vendor/aws/aws-sdk-php/.changes/3.70.1 new file mode 100644 index 000000000..20a748029 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.70.1 @@ -0,0 +1,22 @@ +[ + { + "type": "enhancement", + "category": "SecretsManager", + "description": "Documentation updates for AWS Secrets Manager." + }, + { + "type": "api-change", + "category": "ConfigService", + "description": "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." + }, + { + "type": "api-change", + "category": "MediaStoreData", + "description": "The object size limit is increased from 10MB to 25MB and the content type is more permissive." + }, + { + "type": "api-change", + "category": "Greengrass", + "description": "Greengrass APIs now support bulk deployment operations, and APIs that list definition versions now support pagination." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.70.2 b/vendor/aws/aws-sdk-php/.changes/3.70.2 new file mode 100644 index 000000000..a0fe6b560 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.70.2 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "ServiceCatalog", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.70.3 b/vendor/aws/aws-sdk-php/.changes/3.70.3 new file mode 100644 index 000000000..17b552668 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.70.3 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "Rekognition", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudDirectory", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.70.4 b/vendor/aws/aws-sdk-php/.changes/3.70.4 new file mode 100644 index 000000000..6e7b1efc0 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.70.4 @@ -0,0 +1,12 @@ +[ + { + "type": "api-change", + "category": "ServerlessApplicationRepository", + "description": "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." + }, + { + "type": "api-change", + "category": "EKS", + "description": "Adds waiters for ClusterActive and ClusterDeleted" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.0 b/vendor/aws/aws-sdk-php/.changes/3.71.0 new file mode 100644 index 000000000..5557f2e6f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.0 @@ -0,0 +1,32 @@ +[ + { + "type": "enhancement", + "category": "CodeBuild", + "description": "Documentation updates for codebuild" + }, + { + "type": "api-change", + "category": "EC2", + "description": "You can now launch the new Amazon EC2 memory optimized R5a and general purpose M5a instances families that feature AMD EPYC processors." + }, + { + "type": "api-change", + "category": "WAFRegional", + "description": "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." + }, + { + "type": "api-change", + "category": "Pinpoint", + "description": "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." + }, + { + "type": "api-change", + "category": "APIGateway", + "description": "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." + }, + { + "type": "feature", + "category": "PinpointEmail", + "description": "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. " + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.1 b/vendor/aws/aws-sdk-php/.changes/3.71.1 new file mode 100644 index 000000000..3355591f5 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.1 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "EC2", + "description": "VM Import\/Export now supports generating encrypted EBS snapshots, as well as AMIs backed by encrypted EBS snapshots during the import process." + }, + { + "type": "api-change", + "category": "CostExplorer", + "description": "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." + }, + { + "type": "api-change", + "category": "DatabaseMigrationService", + "description": "Update the DMS TestConnectionSucceeds waiter." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.2 b/vendor/aws/aws-sdk-php/.changes/3.71.2 new file mode 100644 index 000000000..57f9d857b --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.2 @@ -0,0 +1,17 @@ +[ + { + "type": "enhancement", + "category": "CloudWatchEvents", + "description": "Documentation updates for events" + }, + { + "type": "api-change", + "category": "DLM", + "description": "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. " + }, + { + "type": "api-change", + "category": "MediaLive", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.3 b/vendor/aws/aws-sdk-php/.changes/3.71.3 new file mode 100644 index 000000000..4821c0a11 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.3 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "MediaPackage", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.4 b/vendor/aws/aws-sdk-php/.changes/3.71.4 new file mode 100644 index 000000000..eef15e9b1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.4 @@ -0,0 +1,37 @@ +[ + { + "type": "api-change", + "category": "Budgets", + "description": "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." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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. " + }, + { + "type": "api-change", + "category": "Batch", + "description": "Adding EC2 Launch Template support in AWS Batch Compute Environments." + }, + { + "type": "api-change", + "category": "Polly", + "description": "Amazon Polly adds new female voices: Italian - Bianca, Castilian Spanish - Lucia and new language: Mexican Spanish with new female voice - Mia." + }, + { + "type": "api-change", + "category": "CloudFormation", + "description": "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." + }, + { + "type": "api-change", + "category": "CodePipeline", + "description": "Add support for cross-region pipeline with accompanying definitions as needed in the AWS CodePipeline API Guide." + }, + { + "type": "api-change", + "category": "Firehose", + "description": "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" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.5 b/vendor/aws/aws-sdk-php/.changes/3.71.5 new file mode 100644 index 000000000..01ed787c1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.5 @@ -0,0 +1,17 @@ +[ + { + "type": "api-change", + "category": "Chime", + "description": "This release adds support in ListUsers API to filter the list by an email address." + }, + { + "type": "enhancement", + "category": "Budgets", + "description": "Doc Update: 1. Available monthly-budgets maximal history data points from 12 to 13. 2. Added 'Amazon Elasticsearch' costfilters support." + }, + { + "type": "api-change", + "category": "Redshift", + "description": "Amazon Redshift provides the option to defer non-mandatory maintenance updates to a later date." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.71.6 b/vendor/aws/aws-sdk-php/.changes/3.71.6 new file mode 100644 index 000000000..84901c969 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.71.6 @@ -0,0 +1,37 @@ +[ + { + "type": "api-change", + "category": "ServiceCatalog", + "description": "Adds support for Cloudformation StackSets in Service Catalog" + }, + { + "type": "api-change", + "category": "ResourceGroups", + "description": "The AWS Resource Groups service added support for AWS CloudFormation stack-based groups." + }, + { + "type": "api-change", + "category": "AutoScaling", + "description": "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)." + }, + { + "type": "api-change", + "category": "SageMaker", + "description": "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." + }, + { + "type": "api-change", + "category": "SNS", + "description": "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)." + }, + { + "type": "api-change", + "category": "MediaTailor", + "description": "AWS Elemental MediaTailor SDK now returns a manifest endpoint prefix for clients to initiate a DASH playback session." + }, + { + "type": "api-change", + "category": "EC2", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.72.0 b/vendor/aws/aws-sdk-php/.changes/3.72.0 new file mode 100644 index 000000000..e887f9de1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.72.0 @@ -0,0 +1,77 @@ +[ + { + "type": "api-change", + "category": "CodeBuild", + "description": "Adding queue phase and configurable queue timeout to CodeBuild." + }, + { + "type": "api-change", + "category": "DirectConnect", + "description": "This release enables DirectConnect customers to have logical redundancy on virtual interfaces within supported DirectConnect locations." + }, + { + "type": "feature", + "category": "PinpointSMSVoice", + "description": "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." + }, + { + "type": "api-change", + "category": "Redshift", + "description": "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." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + }, + { + "type": "api-change", + "category": "ECS", + "description": "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. " + }, + { + "type": "api-change", + "category": "S3", + "description": "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." + }, + { + "type": "api-change", + "category": "Comprehend", + "description": "Amazon Comprehend Custom Classification automatically trains classification models using your text and custom labels." + }, + { + "type": "feature", + "category": "S3Control", + "description": "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." + }, + { + "type": "api-change", + "category": "DatabaseMigrationService", + "description": "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. " + }, + { + "type": "api-change", + "category": "TranscribeService", + "description": "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)." + }, + { + "type": "api-change", + "category": "IAM", + "description": "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." + }, + { + "type": "feature", + "category": "RAM", + "description": "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. " + }, + { + "type": "feature", + "category": "Route53Resolver", + "description": "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. " + }, + { + "type": "api-change", + "category": "Pinpoint", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.72.1 b/vendor/aws/aws-sdk-php/.changes/3.72.1 new file mode 100644 index 000000000..0a28e545f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.72.1 @@ -0,0 +1,27 @@ +[ + { + "type": "api-change", + "category": "Comprehend", + "description": "Amazon Comprehend Custom Entities automatically trains entity recognition models using your entities and noun-based phrases. " + }, + { + "type": "api-change", + "category": "ECS", + "description": "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." + }, + { + "type": "api-change", + "category": "CostExplorer", + "description": "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." + }, + { + "type": "api-change", + "category": "WorkSpaces", + "description": "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. " + }, + { + "type": "api-change", + "category": "SSM", + "description": "AWS Systems Manager Automation now allows you to execute and manage Automation workflows across multiple accounts and regions. " + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.73.0 b/vendor/aws/aws-sdk-php/.changes/3.73.0 new file mode 100644 index 000000000..532ffd1cc --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.73.0 @@ -0,0 +1,72 @@ +[ + { + "type": "feature", + "category": "EndpointParameterMiddleware", + "description": "Adds support for services using modeled endpoint prefixes, both static and user-defined." + }, + { + "type": "api-change", + "category": "Lambda", + "description": "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." + }, + { + "type": "api-change", + "category": "MediaConvert", + "description": "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." + }, + { + "type": "api-change", + "category": "IoT", + "description": "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." + }, + { + "type": "api-change", + "category": "WorkDocs", + "description": "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." + }, + { + "type": "api-change", + "category": "DeviceFarm", + "description": "Customers can now schedule runs without a need to create a Device Pool. They also get realtime information on public device availability." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + }, + { + "type": "api-change", + "category": "Batch", + "description": "Adding multinode parallel jobs, placement group support for compute environments." + }, + { + "type": "api-change", + "category": "ConfigService", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudTrail", + "description": "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" + }, + { + "type": "api-change", + "category": "EC2", + "description": "Adding AvailabilityZoneId to DescribeAvailabilityZones" + }, + { + "type": "api-change", + "category": "WorkSpaces", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudFormation", + "description": "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." + }, + { + "type": "enhancement", + "category": "Lightsail", + "description": "Add Managed Database operations to OperationType enum." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.74.0 b/vendor/aws/aws-sdk-php/.changes/3.74.0 new file mode 100644 index 000000000..4b0ff7e7f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.74.0 @@ -0,0 +1,57 @@ +[ + { + "type": "api-change", + "category": "AppSync", + "description": "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." + }, + { + "type": "feature", + "category": "RDSDataService", + "description": "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." + }, + { + "type": "api-change", + "category": "XRay", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudFront", + "description": "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." + }, + { + "type": "feature", + "category": "QuickSight", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudWatch", + "description": "Amazon CloudWatch now supports alarms on metric math expressions." + }, + { + "type": "enhancement", + "category": "Redshift", + "description": "Documentation updates for redshift" + }, + { + "type": "api-change", + "category": "DeviceFarm", + "description": "Disabling device filters" + }, + { + "type": "api-change", + "category": "SSM", + "description": "AWS Systems Manager Distributor helps you securely distribute and install software packages." + }, + { + "type": "api-change", + "category": "MediaLive", + "description": "You can now include the media playlist(s) from both pipelines in the HLS master manifest for seamless failover." + }, + { + "type": "api-change", + "category": "AutoScalingPlans", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.74.1 b/vendor/aws/aws-sdk-php/.changes/3.74.1 new file mode 100644 index 000000000..efa1d4ae9 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.74.1 @@ -0,0 +1,7 @@ +[ + { + "type": "api-change", + "category": "Rekognition", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.75.0 b/vendor/aws/aws-sdk-php/.changes/3.75.0 new file mode 100644 index 000000000..b0f145cd7 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.75.0 @@ -0,0 +1,32 @@ +[ + { + "type": "api-change", + "category": "S3", + "description": "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." + }, + { + "type": "feature", + "category": "Amplify", + "description": "Release of AWS Amplify: Everything you need to develop & deploy cloud-powered mobile and web apps." + }, + { + "type": "feature", + "category": "RoboMaker", + "description": "(New Service) AWS RoboMaker is a service that makes it easy to develop, simulate, and deploy intelligent robotics applications at scale. " + }, + { + "type": "api-change", + "category": "Snowball", + "description": "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. " + }, + { + "type": "feature", + "category": "DataSync", + "description": "AWS DataSync simplifies, automates, and accelerates moving and replicating data between on-premises storage and AWS services over the network." + }, + { + "type": "feature", + "category": "Transfer", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.76.0 b/vendor/aws/aws-sdk-php/.changes/3.76.0 new file mode 100644 index 000000000..e45a5f0a0 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.76.0 @@ -0,0 +1,42 @@ +[ + { + "type": "api-change", + "category": "EC2", + "description": "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." + }, + { + "type": "feature", + "category": "GlobalAccelerator", + "description": "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." + }, + { + "type": "api-change", + "category": "S3", + "description": "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." + }, + { + "type": "api-change", + "category": "IoT", + "description": "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." + }, + { + "type": "api-change", + "category": "KMS", + "description": "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." + }, + { + "type": "api-change", + "category": "SMS", + "description": "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. " + }, + { + "type": "api-change", + "category": "Greengrass", + "description": "Support Greengrass Connectors and allow Lambda functions to run without Greengrass containers." + }, + { + "type": "api-change", + "category": "IoTAnalytics", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.77.0 b/vendor/aws/aws-sdk-php/.changes/3.77.0 new file mode 100644 index 000000000..312e751e3 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.77.0 @@ -0,0 +1,52 @@ +[ + { + "type": "api-change", + "category": "MarketplaceMetering", + "description": "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" + }, + { + "type": "api-change", + "category": "CodeDeploy", + "description": "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." + }, + { + "type": "api-change", + "category": "ECS", + "description": "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." + }, + { + "type": "api-change", + "category": "Translate", + "description": "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." + }, + { + "type": "api-change", + "category": "EC2", + "description": "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." + }, + { + "type": "feature", + "category": "ComprehendMedical", + "description": "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." + }, + { + "type": "api-change", + "category": "CloudWatchLogs", + "description": "Six new APIs added to support CloudWatch Logs Insights. The APIs are StartQuery, StopQuery, GetQueryResults, GetLogRecord, GetLogGroupFields, and DescribeQueries." + }, + { + "type": "feature", + "category": "KinesisAnalyticsV2", + "description": "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." + }, + { + "type": "feature", + "category": "MediaConnect", + "description": "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." + }, + { + "type": "api-change", + "category": "KinesisAnalytics", + "description": "Improvements to error messages, validations, and more to the Kinesis Data Analytics APIs." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.78.0 b/vendor/aws/aws-sdk-php/.changes/3.78.0 new file mode 100644 index 000000000..673d2dbeb --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.78.0 @@ -0,0 +1,27 @@ +[ + { + "type": "feature", + "category": "RetryMiddleware", + "description": "Adds support for custom retryable status and error codes." + }, + { + "type": "feature", + "category": "FSx", + "description": "Amazon FSx provides fully-managed third-party file systems optimized for a variety of enterprise and compute-intensive workloads." + }, + { + "type": "api-change", + "category": "RDS", + "description": "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." + }, + { + "type": "feature", + "category": "SecurityHub", + "description": "AWS Security Hub is a security and compliance center that correlates AWS security findings and performs automated compliance checks" + }, + { + "type": "api-change", + "category": "DynamoDB", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.79.0 b/vendor/aws/aws-sdk-php/.changes/3.79.0 new file mode 100644 index 000000000..2571500c8 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.79.0 @@ -0,0 +1,32 @@ +[ + { + "type": "api-change", + "category": "ServiceDiscovery", + "description": "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." + }, + { + "type": "api-change", + "category": "SageMaker", + "description": "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." + }, + { + "type": "api-change", + "category": "EC2", + "description": "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." + }, + { + "type": "feature", + "category": "LicenseManager", + "description": "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." + }, + { + "type": "feature", + "category": "AppMesh", + "description": "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." + }, + { + "type": "api-change", + "category": "Lightsail", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.80.0 b/vendor/aws/aws-sdk-php/.changes/3.80.0 new file mode 100644 index 000000000..daa2066ac --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.80.0 @@ -0,0 +1,42 @@ +[ + { + "type": "api-change", + "category": "ElasticLoadBalancingv2", + "description": "This release allows Application Load Balancers to route traffic to Lambda functions, in addition to instances and IP addresses." + }, + { + "type": "api-change", + "category": "SFN", + "description": "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" + }, + { + "type": "api-change", + "category": "ServerlessApplicationRepository", + "description": "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. " + }, + { + "type": "api-change", + "category": "S3", + "description": "Fixed issue with ObjectLockRetainUntilDate in S3 PutObject" + }, + { + "type": "api-change", + "category": "CloudWatchEvents", + "description": "Support for Managed Rules (rules that are created and maintained by the AWS services in your account) is added." + }, + { + "type": "api-change", + "category": "Lambda", + "description": "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." + }, + { + "type": "feature", + "category": "Kafka", + "description": "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." + }, + { + "type": "api-change", + "category": "XRay", + "description": "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." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.80.1 b/vendor/aws/aws-sdk-php/.changes/3.80.1 new file mode 100644 index 000000000..24efade5f --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.80.1 @@ -0,0 +1,12 @@ +[ + { + "type": "enhancement", + "category": "S3", + "description": "Add MD5 header to PutObjectLegalHold, PutObjectRetention, and PutObjectLockConfiguration." + }, + { + "type": "api-change", + "category": "S3", + "description": "Fixed issue with Content-MD5 for S3 PutObjectLegalHold, PutObjectRetention and PutObjectLockConfiguration." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.80.2 b/vendor/aws/aws-sdk-php/.changes/3.80.2 new file mode 100644 index 000000000..410f7d69d --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.80.2 @@ -0,0 +1,22 @@ +[ + { + "type": "api-change", + "category": "DeviceFarm", + "description": "Customers can now schedule runs without a need to create a Device Pool. They also get realtime information on public device availability." + }, + { + "type": "enhancement", + "category": "MediaConvert", + "description": "Documentation updates for mediaconvert" + }, + { + "type": "api-change", + "category": "StorageGateway", + "description": "API list-local-disks returns a list of the gateway's local disks. This release adds a field DiskAttributeList to these disks." + }, + { + "type": "enhancement", + "category": "ServiceCatalog", + "description": "Documentation updates for servicecatalog" + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/.changes/3.80.3 b/vendor/aws/aws-sdk-php/.changes/3.80.3 new file mode 100644 index 000000000..ad119cfb6 --- /dev/null +++ b/vendor/aws/aws-sdk-php/.changes/3.80.3 @@ -0,0 +1,22 @@ +[ + { + "type": "enhancement", + "category": "Test", + "description": "Use dedicated PHPUnit assertions for better error messages." + }, + { + "type": "enhancement", + "category": "Waiter", + "description": "Simplify foreach with in_array function." + }, + { + "type": "api-change", + "category": "S3", + "description": "S3 Inventory reports can now be generated in Parquet format by setting the Destination Format to be 'Parquet'." + }, + { + "type": "api-change", + "category": "Health", + "description": "AWS Health API DescribeAffectedEntities operation now includes a field that returns the URL of the affected entity." + } +] \ No newline at end of file diff --git a/vendor/aws/aws-sdk-php/composer.json b/vendor/aws/aws-sdk-php/composer.json index fc223b71e..a0f19af8b 100644 --- a/vendor/aws/aws-sdk-php/composer.json +++ b/vendor/aws/aws-sdk-php/composer.json @@ -17,7 +17,7 @@ }, "require": { "php": ">=5.5", - "guzzlehttp/guzzle": "^5.3.1|^6.2.1", + "guzzlehttp/guzzle": "^5.3.3|^6.2.1", "guzzlehttp/psr7": "^1.4.1", "guzzlehttp/promises": "~1.0", "mtdowling/jmespath.php": "~2.2", @@ -29,6 +29,8 @@ "require-dev": { "ext-openssl": "*", "ext-dom": "*", + "ext-pcntl": "*", + "ext-sockets": "*", "phpunit/phpunit": "^4.8.35|^5.4.3", "behat/behat": "~3.0", "doctrine/cache": "~1.4", @@ -40,6 +42,7 @@ "suggest": { "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", "ext-curl": "To send requests using cURL", + "ext-sockets": "To use client-side monitoring", "doctrine/cache": "To use the DoctrineCacheAdapter", "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications" }, diff --git a/vendor/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php b/vendor/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php index 288896de5..8d5af1b70 100644 --- a/vendor/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php +++ b/vendor/aws/aws-sdk-php/src/AlexaForBusiness/AlexaForBusinessClient.php @@ -5,14 +5,20 @@ 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 createAddressBook(array $args = []) * @method \GuzzleHttp\Promise\Promise createAddressBookAsync(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 = []) @@ -25,14 +31,20 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise createUserAsync(array $args = []) * @method \Aws\Result deleteAddressBook(array $args = []) * @method \GuzzleHttp\Promise\Promise deleteAddressBookAsync(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 = []) @@ -41,10 +53,18 @@ use Aws\AwsClient; * @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 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 = []) @@ -57,14 +77,30 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise getRoomSkillParameterAsync(array $args = []) * @method \Aws\Result getSkillGroup(array $args = []) * @method \GuzzleHttp\Promise\Promise getSkillGroupAsync(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 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 = []) @@ -87,12 +123,16 @@ use Aws\AwsClient; * @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 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 = []) diff --git a/vendor/aws/aws-sdk-php/src/Amplify/AmplifyClient.php b/vendor/aws/aws-sdk-php/src/Amplify/AmplifyClient.php new file mode 100644 index 000000000..c1f0eae39 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Amplify/AmplifyClient.php @@ -0,0 +1,49 @@ + null, 'message' => null, 'type' => $code[0] == '4' ? 'client' : 'server', - 'parsed' => $this->parseJson($response->getBody()) + 'parsed' => $this->parseJson($response->getBody(), $response) ]; } } diff --git a/vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php b/vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php index e7e2de55b..aa3a71bf1 100644 --- a/vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/ErrorParser/XmlErrorParser.php @@ -25,7 +25,7 @@ class XmlErrorParser $body = $response->getBody(); if ($body->getSize() > 0) { - $this->parseBody($this->parseXml($body), $data); + $this->parseBody($this->parseXml($body, $response), $data); } else { $this->parseHeaders($response, $data); } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php index 0bc43d6fe..2d515d2a5 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractParser.php @@ -40,6 +40,7 @@ abstract class AbstractParser abstract public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ); } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php index 83ff4885a..1e7fa94b1 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/AbstractRestParser.php @@ -129,7 +129,7 @@ abstract class AbstractRestParser extends AbstractParser } case 'string': if ($shape['jsonvalue']) { - $value = $this->parseJson(base64_decode($value)); + $value = $this->parseJson(base64_decode($value), $response); } break; } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php index 9c3e8eaa7..be082ea3b 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/Crc32ValidatingParser.php @@ -46,8 +46,9 @@ class Crc32ValidatingParser extends AbstractParser public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - return $this->parser->parseMemberFromStream($stream, $member); + return $this->parser->parseMemberFromStream($stream, $member, $response); } } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php b/vendor/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php index 663968939..8a6ef4762 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/EventParsingIterator.php @@ -83,7 +83,8 @@ class EventParsingIterator implements Iterator } else { $parsedEvent[$shape] = $this->parser->parseMemberFromStream( $event['payload'], - $payloadShape + $payloadShape, + null ); } } else { diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php b/vendor/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php index 5eefb74f5..4fbe77954 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/Exception/ParserException.php @@ -1,4 +1,31 @@ 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/vendor/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php index c59f4c527..75e871579 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/JsonRpcParser.php @@ -34,7 +34,8 @@ class JsonRpcParser extends AbstractParser ? null : $this->parseMemberFromStream( $response->getBody(), - $operation->getOutput() + $operation->getOutput(), + $response ); return new Result($result ?: []); @@ -42,8 +43,9 @@ class JsonRpcParser extends AbstractParser public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - return $this->parser->parse($member, $this->parseJson($stream)); + return $this->parser->parse($member, $this->parseJson($stream, $response)); } } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php b/vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php index 1a8542aa5..f8083d8ea 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/PayloadParserTrait.php @@ -2,6 +2,7 @@ namespace Aws\Api\Parser; use Aws\Api\Parser\Exception\ParserException; +use Psr\Http\Message\ResponseInterface; trait PayloadParserTrait { @@ -12,13 +13,17 @@ trait PayloadParserTrait * * @return array */ - private function parseJson($json) + 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()); + throw new ParserException( + 'Error parsing JSON: ' . json_last_error_msg(), + 0, + null, + ['response' => $response] + ); } return $jsonPayload; @@ -31,7 +36,7 @@ trait PayloadParserTrait * * @return \SimpleXMLElement */ - private function parseXml($xml) + private function parseXml($xml, $response) { $priorSetting = libxml_use_internal_errors(true); try { @@ -41,7 +46,12 @@ trait PayloadParserTrait throw new \RuntimeException($error->message); } } catch (\Exception $e) { - throw new ParserException("Error parsing XML: {$e->getMessage()}", 0, $e); + throw new ParserException( + "Error parsing XML: {$e->getMessage()}", + 0, + $e, + ['response' => $response] + ); } finally { libxml_use_internal_errors($priorSetting); } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/QueryParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/QueryParser.php index 6e77742d6..50e4e3a59 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/QueryParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/QueryParser.php @@ -40,7 +40,7 @@ class QueryParser extends AbstractParser ResponseInterface $response ) { $output = $this->api->getOperation($command->getName())->getOutput(); - $xml = $this->parseXml($response->getBody()); + $xml = $this->parseXml($response->getBody(), $response); if ($this->honorResultWrapper && $output['resultWrapper']) { $xml = $xml->{$output['resultWrapper']}; @@ -51,9 +51,10 @@ class QueryParser extends AbstractParser public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - $xml = $this->parseXml($stream); + $xml = $this->parseXml($stream, $response); return $this->parser->parse($member, $xml); } } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php index 67f2e8dd7..76d809890 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/RestJsonParser.php @@ -28,7 +28,7 @@ class RestJsonParser extends AbstractRestParser StructureShape $member, array &$result ) { - $jsonBody = $this->parseJson($response->getBody()); + $jsonBody = $this->parseJson($response->getBody(), $response); if ($jsonBody) { $result += $this->parser->parse($member, $jsonBody); @@ -37,9 +37,10 @@ class RestJsonParser extends AbstractRestParser public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - $jsonBody = $this->parseJson($stream); + $jsonBody = $this->parseJson($stream, $response); if ($jsonBody) { return $this->parser->parse($member, $jsonBody); } diff --git a/vendor/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php b/vendor/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php index 156f5fe5d..d04429f67 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php +++ b/vendor/aws/aws-sdk-php/src/Api/Parser/RestXmlParser.php @@ -28,14 +28,15 @@ class RestXmlParser extends AbstractRestParser StructureShape $member, array &$result ) { - $result += $this->parseMemberFromStream($response->getBody(), $member); + $result += $this->parseMemberFromStream($response->getBody(), $member, $response); } public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - $xml = $this->parseXml($stream); + $xml = $this->parseXml($stream, $response); return $this->parser->parse($member, $xml); } } diff --git a/vendor/aws/aws-sdk-php/src/Api/Serializer/JsonBody.php b/vendor/aws/aws-sdk-php/src/Api/Serializer/JsonBody.php index a29983f0d..e6aafb9e6 100644 --- a/vendor/aws/aws-sdk-php/src/Api/Serializer/JsonBody.php +++ b/vendor/aws/aws-sdk-php/src/Api/Serializer/JsonBody.php @@ -58,6 +58,9 @@ class JsonBody = $this->format($valueShape, $v); } } + if (empty($data)) { + return new \stdClass; + } return $data; case 'list': diff --git a/vendor/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php b/vendor/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php new file mode 100644 index 000000000..71973e749 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/AppMesh/AppMeshClient.php @@ -0,0 +1,47 @@ +defaultRequestOptions = $config['http']; $this->addSignatureMiddleware(); $this->addInvocationId(); + $this->addClientSideMonitoring($args); + $this->addEndpointParameterMiddleware($args); if (isset($args['with_resolved'])) { $args['with_resolved']($config); @@ -263,6 +273,19 @@ class AwsClient implements AwsClientInterface ]; } + private function addEndpointParameterMiddleware($args) + { + if (empty($args['disable_host_prefix_injection'])) { + $list = $this->getHandlerList(); + $list->appendBuild( + EndpointParameterMiddleware::wrap( + $this->api + ), + 'endpoint_parameter' + ); + } + } + private function addSignatureMiddleware() { $api = $this->getApi(); @@ -297,6 +320,32 @@ class AwsClient implements AwsClientInterface $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. diff --git a/vendor/aws/aws-sdk-php/src/Budgets/BudgetsClient.php b/vendor/aws/aws-sdk-php/src/Budgets/BudgetsClient.php index 70e57b9ca..5a3b53417 100644 --- a/vendor/aws/aws-sdk-php/src/Budgets/BudgetsClient.php +++ b/vendor/aws/aws-sdk-php/src/Budgets/BudgetsClient.php @@ -19,6 +19,8 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/Chime/ChimeClient.php b/vendor/aws/aws-sdk-php/src/Chime/ChimeClient.php new file mode 100644 index 000000000..375cd1d63 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Chime/ChimeClient.php @@ -0,0 +1,41 @@ + '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'], diff --git a/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php new file mode 100644 index 000000000..8170083a5 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/AbstractMonitoringMiddleware.php @@ -0,0 +1,270 @@ +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), + '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/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php new file mode 100644 index 000000000..106925890 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallAttemptMonitoringMiddleware.php @@ -0,0 +1,267 @@ + $request->getUri()->getHost(), + 'UserAgent' => substr( + $request->getHeaderLine('User-Agent') . ' ' . \Aws\default_user_agent(), + 0, + 256 + ), + ]; + } + + /** + * {@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/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallMonitoringMiddleware.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallMonitoringMiddleware.php new file mode 100644 index 000000000..d8b05c809 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ApiCallMonitoringMiddleware.php @@ -0,0 +1,131 @@ + self::getResultAttemptCount($klass), + 'MaxRetriesExceeded' => 0, + ]; + } + + if ($klass instanceof \Exception) { + return [ + 'AttemptCount' => self::getExceptionAttemptCount($klass), + 'MaxRetriesExceeded' => self::getMaxRetriesExceeded($klass), + ]; + } + + throw new \InvalidArgumentException('Parameter must be an instance of ResultInterface or Exception.'); + } + + 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 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/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Configuration.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Configuration.php new file mode 100644 index 000000000..0cb82e0ba --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Configuration.php @@ -0,0 +1,65 @@ +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/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ConfigurationInterface.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ConfigurationInterface.php new file mode 100644 index 000000000..f6f71dd18 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/ConfigurationInterface.php @@ -0,0 +1,37 @@ + + * use Aws\ClientSideMonitoring\ConfigurationProvider; + * $provider = ConfigurationProvider::defaultProvider(); + * // Returns a ConfigurationInterface or throws. + * $config = $provider()->wait(); + * + * + * 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. + * + * + * // 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(); + * + */ +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 = 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/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Exception/ConfigurationException.php b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Exception/ConfigurationException.php new file mode 100644 index 000000000..827743e26 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/ClientSideMonitoring/Exception/ConfigurationException.php @@ -0,0 +1,15 @@ +appendSign( Middleware::retry( - RetryMiddleware::createDefaultDecider($value), + RetryMiddleware::createDefaultDecider( + $value, + ['errorCodes' => ['TransactionInProgressException']] + ), function ($retries) { return $retries ? RetryMiddleware::exponentialDelay($retries) / 2 diff --git a/vendor/aws/aws-sdk-php/src/Ec2/Ec2Client.php b/vendor/aws/aws-sdk-php/src/Ec2/Ec2Client.php index 8109b55f3..32cc83472 100644 --- a/vendor/aws/aws-sdk-php/src/Ec2/Ec2Client.php +++ b/vendor/aws/aws-sdk-php/src/Ec2/Ec2Client.php @@ -434,18 +434,28 @@ use Aws\PresignUrlMiddleware; * @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 assignIpv6Addresses(array $args = []) (supported in versions 2016-11-15) * @method \GuzzleHttp\Promise\Promise assignIpv6AddressesAsync(array $args = []) (supported in versions 2016-11-15) * @method \Aws\Result associateIamInstanceProfile(array $args = []) (supported in versions 2016-11-15) * @method \GuzzleHttp\Promise\Promise associateIamInstanceProfileAsync(array $args = []) (supported in versions 2016-11-15) * @method \Aws\Result associateSubnetCidrBlock(array $args = []) (supported in versions 2016-11-15) * @method \GuzzleHttp\Promise\Promise associateSubnetCidrBlockAsync(array $args = []) (supported in versions 2016-11-15) + * @method \Aws\Result 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 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 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) @@ -462,6 +472,14 @@ use Aws\PresignUrlMiddleware; * @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) @@ -478,12 +496,26 @@ use Aws\PresignUrlMiddleware; * @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 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) @@ -510,6 +542,16 @@ use Aws\PresignUrlMiddleware; * @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) @@ -520,22 +562,42 @@ use Aws\PresignUrlMiddleware; * @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 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 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 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 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 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) @@ -546,18 +608,28 @@ use Aws\PresignUrlMiddleware; * @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 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 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 { diff --git a/vendor/aws/aws-sdk-php/src/Ecs/EcsClient.php b/vendor/aws/aws-sdk-php/src/Ecs/EcsClient.php index e5373d41a..88bab4b3f 100644 --- a/vendor/aws/aws-sdk-php/src/Ecs/EcsClient.php +++ b/vendor/aws/aws-sdk-php/src/Ecs/EcsClient.php @@ -10,6 +10,8 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise createClusterAsync(array $args = []) * @method \Aws\Result createService(array $args = []) * @method \GuzzleHttp\Promise\Promise createServiceAsync(array $args = []) + * @method \Aws\Result 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 = []) @@ -32,6 +34,8 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise describeTasksAsync(array $args = []) * @method \Aws\Result discoverPollEndpoint(array $args = []) * @method \GuzzleHttp\Promise\Promise discoverPollEndpointAsync(array $args = []) + * @method \Aws\Result 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 = []) @@ -40,12 +44,16 @@ use Aws\AwsClient; * @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 putAttributes(array $args = []) * @method \GuzzleHttp\Promise\Promise putAttributesAsync(array $args = []) * @method \Aws\Result registerContainerInstance(array $args = []) @@ -62,6 +70,10 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/ElastiCache/ElastiCacheClient.php b/vendor/aws/aws-sdk-php/src/ElastiCache/ElastiCacheClient.php index 56a8543c7..2a59fffd6 100644 --- a/vendor/aws/aws-sdk-php/src/ElastiCache/ElastiCacheClient.php +++ b/vendor/aws/aws-sdk-php/src/ElastiCache/ElastiCacheClient.php @@ -24,6 +24,8 @@ use Aws\AwsClient; * @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 = []) @@ -60,6 +62,8 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php b/vendor/aws/aws-sdk-php/src/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php index bb252fb79..7300310aa 100644 --- a/vendor/aws/aws-sdk-php/src/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php +++ b/vendor/aws/aws-sdk-php/src/ElasticLoadBalancingV2/ElasticLoadBalancingV2Client.php @@ -37,6 +37,8 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise describeLoadBalancerAttributesAsync(array $args = []) * @method \Aws\Result describeLoadBalancers(array $args = []) * @method \GuzzleHttp\Promise\Promise describeLoadBalancersAsync(array $args = []) + * @method \Aws\Result describeProvisionedCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise describeProvisionedCapacityAsync(array $args = []) * @method \Aws\Result describeRules(array $args = []) * @method \GuzzleHttp\Promise\Promise describeRulesAsync(array $args = []) * @method \Aws\Result describeSSLPolicies(array $args = []) @@ -53,6 +55,8 @@ use Aws\AwsClient; * @method \GuzzleHttp\Promise\Promise modifyListenerAsync(array $args = []) * @method \Aws\Result modifyLoadBalancerAttributes(array $args = []) * @method \GuzzleHttp\Promise\Promise modifyLoadBalancerAttributesAsync(array $args = []) + * @method \Aws\Result modifyProvisionedCapacity(array $args = []) + * @method \GuzzleHttp\Promise\Promise modifyProvisionedCapacityAsync(array $args = []) * @method \Aws\Result modifyRule(array $args = []) * @method \GuzzleHttp\Promise\Promise modifyRuleAsync(array $args = []) * @method \Aws\Result modifyTargetGroup(array $args = []) diff --git a/vendor/aws/aws-sdk-php/src/ElasticsearchService/ElasticsearchServiceClient.php b/vendor/aws/aws-sdk-php/src/ElasticsearchService/ElasticsearchServiceClient.php index 3b6662bd8..82f64b282 100644 --- a/vendor/aws/aws-sdk-php/src/ElasticsearchService/ElasticsearchServiceClient.php +++ b/vendor/aws/aws-sdk-php/src/ElasticsearchService/ElasticsearchServiceClient.php @@ -8,6 +8,8 @@ use Aws\AwsClient; * * @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 = []) @@ -44,6 +46,8 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/EndpointParameterMiddleware.php b/vendor/aws/aws-sdk-php/src/EndpointParameterMiddleware.php new file mode 100644 index 000000000..b9d822ad1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/EndpointParameterMiddleware.php @@ -0,0 +1,84 @@ +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/vendor/aws/aws-sdk-php/src/Exception/AwsException.php b/vendor/aws/aws-sdk-php/src/Exception/AwsException.php index 58edeeff2..66900c68b 100644 --- a/vendor/aws/aws-sdk-php/src/Exception/AwsException.php +++ b/vendor/aws/aws-sdk-php/src/Exception/AwsException.php @@ -1,6 +1,9 @@ errorMessage = isset($context['message']) ? $context['message'] : null; + $this->monitoringEvents = []; + $this->maxRetriesExceeded = false; parent::__construct($message, 0, $previous); } @@ -205,4 +216,22 @@ class AwsException extends \RuntimeException { $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/vendor/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php b/vendor/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php index 9833008fa..5c5f80efd 100644 --- a/vendor/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php +++ b/vendor/aws/aws-sdk-php/src/Exception/CouldNotCreateChecksumException.php @@ -1,8 +1,14 @@ [], self::SIGN => [], self::BUILD => [], self::VALIDATE => [], @@ -201,6 +203,28 @@ class HandlerList implements \Countable $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. * @@ -286,7 +310,8 @@ class HandlerList implements \Countable 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::SIGN]) + + count($this->steps[self::ATTEMPT]); } /** diff --git a/vendor/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php b/vendor/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php new file mode 100644 index 000000000..b28f0a462 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/HasMonitoringEventsTrait.php @@ -0,0 +1,39 @@ +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/vendor/aws/aws-sdk-php/src/Iam/IamClient.php b/vendor/aws/aws-sdk-php/src/Iam/IamClient.php index 4c7872500..5f5877c00 100644 --- a/vendor/aws/aws-sdk-php/src/Iam/IamClient.php +++ b/vendor/aws/aws-sdk-php/src/Iam/IamClient.php @@ -182,6 +182,8 @@ use Aws\AwsClient; * @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 = []) @@ -196,6 +198,8 @@ use Aws\AwsClient; * @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 = []) @@ -226,6 +230,14 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/Iot/IotClient.php b/vendor/aws/aws-sdk-php/src/Iot/IotClient.php index 692a6762a..dbebb0786 100644 --- a/vendor/aws/aws-sdk-php/src/Iot/IotClient.php +++ b/vendor/aws/aws-sdk-php/src/Iot/IotClient.php @@ -8,6 +8,8 @@ use Aws\AwsClient; * * @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 = []) @@ -32,8 +34,12 @@ use Aws\AwsClient; * @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 = []) @@ -64,10 +70,14 @@ use Aws\AwsClient; * @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 = []) @@ -106,6 +116,8 @@ use Aws\AwsClient; * @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 = []) @@ -180,6 +192,8 @@ use Aws\AwsClient; * @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 = []) @@ -218,6 +232,8 @@ use Aws\AwsClient; * @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 = []) @@ -236,6 +252,8 @@ use Aws\AwsClient; * @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 = []) @@ -252,6 +270,8 @@ use Aws\AwsClient; * @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 = []) @@ -274,24 +294,34 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php b/vendor/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php new file mode 100644 index 000000000..d32afec15 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Kafka/Exception/KafkaException.php @@ -0,0 +1,9 @@ +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/vendor/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php b/vendor/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php new file mode 100644 index 000000000..4c86529e5 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/LicenseManager/Exception/LicenseManagerException.php @@ -0,0 +1,9 @@ +queue[] = $value; + } else { + throw new \InvalidArgumentException('Expected an \Exception or \Throwable.'); + } + } + } + public function __invoke( CommandInterface $command, RequestInterface $request diff --git a/vendor/aws/aws-sdk-php/src/MonitoringEventsInterface.php b/vendor/aws/aws-sdk-php/src/MonitoringEventsInterface.php new file mode 100644 index 000000000..3202c40a5 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/MonitoringEventsInterface.php @@ -0,0 +1,32 @@ += $maxRetries) { + if (!empty($error) + && $error instanceof AwsException + && $isRetryable + ) { + $error->setMaxRetriesExceeded(); + } return false; } - if (!$error) { - return isset(self::$retryStatusCodes[$result['@metadata']['statusCode']]); - } - - if (!($error instanceof AwsException)) { - return false; - } - - if ($error->isConnectionError()) { - return true; - } - - if (isset(self::$retryCodes[$error->getAwsErrorCode()])) { - return true; - } - - if (isset(self::$retryStatusCodes[$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; + 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. * @@ -148,6 +209,7 @@ class RetryMiddleware ) { $retries = 0; $requestStats = []; + $monitoringEvents = []; $handler = $this->nextHandler; $decider = $this->decider; $delay = $this->delay; @@ -162,10 +224,18 @@ class RetryMiddleware $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( diff --git a/vendor/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php b/vendor/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php new file mode 100644 index 000000000..4cff3a82f --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/RoboMaker/Exception/RoboMakerException.php @@ -0,0 +1,9 @@ +parser->parseMemberFromStream($stream, $member); + return $this->parser->parseMemberFromStream($stream, $member, $response); } } diff --git a/vendor/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php b/vendor/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php index e1429d425..001da0294 100644 --- a/vendor/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php +++ b/vendor/aws/aws-sdk-php/src/S3/ApplyChecksumMiddleware.php @@ -22,6 +22,9 @@ class ApplyChecksumMiddleware 'PutBucketPolicy', 'PutBucketTagging', 'PutBucketReplication', + 'PutObjectLegalHold', + 'PutObjectRetention', + 'PutObjectLockConfiguration', ]; private static $sha256 = [ diff --git a/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php b/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php index 8b0e1bffa..5b4c28903 100644 --- a/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php +++ b/vendor/aws/aws-sdk-php/src/S3/Exception/DeleteMultipleObjectsException.php @@ -1,12 +1,18 @@ parser->parseMemberFromStream($stream, $member); + return $this->parser->parseMemberFromStream($stream, $member, $response); } } diff --git a/vendor/aws/aws-sdk-php/src/S3/RetryableMalformedResponseParser.php b/vendor/aws/aws-sdk-php/src/S3/RetryableMalformedResponseParser.php index ea2f8ef05..cbf75d30b 100644 --- a/vendor/aws/aws-sdk-php/src/S3/RetryableMalformedResponseParser.php +++ b/vendor/aws/aws-sdk-php/src/S3/RetryableMalformedResponseParser.php @@ -48,8 +48,9 @@ class RetryableMalformedResponseParser extends AbstractParser public function parseMemberFromStream( StreamInterface $stream, - StructureShape $member + StructureShape $member, + $response ) { - return $this->parser->parseMemberFromStream($stream, $member); + return $this->parser->parseMemberFromStream($stream, $member, $response); } } diff --git a/vendor/aws/aws-sdk-php/src/S3/S3Client.php b/vendor/aws/aws-sdk-php/src/S3/S3Client.php index b626200b3..8ca368480 100644 --- a/vendor/aws/aws-sdk-php/src/S3/S3Client.php +++ b/vendor/aws/aws-sdk-php/src/S3/S3Client.php @@ -57,6 +57,8 @@ use Psr\Http\Message\RequestInterface; * @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 = []) @@ -85,6 +87,8 @@ use Psr\Http\Message\RequestInterface; * @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 = []) @@ -99,10 +103,18 @@ use Psr\Http\Message\RequestInterface; * @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 = []) @@ -165,8 +177,16 @@ use Psr\Http\Message\RequestInterface; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php b/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php index f33b88136..4b17f2644 100644 --- a/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php +++ b/vendor/aws/aws-sdk-php/src/S3/S3ClientTrait.php @@ -9,6 +9,7 @@ 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 @@ -224,7 +225,7 @@ trait S3ClientTrait if ($e->getAwsErrorCode() === 'AuthorizationHeaderMalformed') { $region = $this->determineBucketRegionFromExceptionBody( - $response->getBody() + $response ); if (!empty($region)) { return $region; @@ -236,10 +237,10 @@ trait S3ClientTrait }); } - private function determineBucketRegionFromExceptionBody($responseBody) + private function determineBucketRegionFromExceptionBody(ResponseInterface $response) { try { - $element = $this->parseXml($responseBody); + $element = $this->parseXml($response->getBody(), $response); if (!empty($element->Region)) { return (string)$element->Region; } diff --git a/vendor/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php b/vendor/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php index f2cbff1b2..4b097c386 100644 --- a/vendor/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php +++ b/vendor/aws/aws-sdk-php/src/S3/S3MultiRegionClient.php @@ -50,6 +50,8 @@ use GuzzleHttp\Promise; * @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 = []) @@ -78,6 +80,8 @@ use GuzzleHttp\Promise; * @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 = []) @@ -92,10 +96,18 @@ use GuzzleHttp\Promise; * @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 = []) @@ -158,8 +170,16 @@ use GuzzleHttp\Promise; * @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 = []) @@ -246,7 +266,7 @@ class S3MultiRegionClient extends BaseClient implements S3ClientInterface } catch (AwsException $e) { if ($e->getAwsErrorCode() === 'AuthorizationHeaderMalformed') { $region = $this->determineBucketRegionFromExceptionBody( - $e->getResponse()->getBody() + $e->getResponse() ); if (!empty($region)) { $this->cache->set($cacheKey, $region); diff --git a/vendor/aws/aws-sdk-php/src/S3Control/Exception/S3ControlException.php b/vendor/aws/aws-sdk-php/src/S3Control/Exception/S3ControlException.php new file mode 100644 index 000000000..eb005bf94 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/S3Control/Exception/S3ControlException.php @@ -0,0 +1,9 @@ + [ + '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/vendor/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php b/vendor/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php new file mode 100644 index 000000000..56196873e --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/S3Control/S3ControlEndpointMiddleware.php @@ -0,0 +1,121 @@ +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/vendor/aws/aws-sdk-php/src/SageMaker/SageMakerClient.php b/vendor/aws/aws-sdk-php/src/SageMaker/SageMakerClient.php index c6c12f1bc..2fa371583 100644 --- a/vendor/aws/aws-sdk-php/src/SageMaker/SageMakerClient.php +++ b/vendor/aws/aws-sdk-php/src/SageMaker/SageMakerClient.php @@ -7,14 +7,24 @@ 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 = []) @@ -25,46 +35,86 @@ use Aws\AwsClient; * @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 = []) @@ -73,16 +123,28 @@ use Aws\AwsClient; * @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 = []) @@ -91,5 +153,7 @@ use Aws\AwsClient; * @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/vendor/aws/aws-sdk-php/src/Sdk.php b/vendor/aws/aws-sdk-php/src/Sdk.php index 145a07046..1e0b8f102 100644 --- a/vendor/aws/aws-sdk-php/src/Sdk.php +++ b/vendor/aws/aws-sdk-php/src/Sdk.php @@ -10,8 +10,12 @@ namespace Aws; * @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\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 = []) @@ -30,6 +34,8 @@ namespace Aws; * @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 = []) @@ -72,6 +78,8 @@ namespace Aws; * @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 = []) @@ -86,6 +94,8 @@ namespace Aws; * @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 = []) @@ -124,12 +134,16 @@ namespace Aws; * @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 = []) @@ -156,10 +170,14 @@ namespace Aws; * @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 = []) @@ -174,6 +192,8 @@ namespace Aws; * @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 = []) @@ -190,6 +210,8 @@ namespace Aws; * @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 = []) @@ -218,10 +240,20 @@ namespace Aws; * @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 = []) @@ -232,18 +264,26 @@ namespace Aws; * @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 = []) @@ -276,6 +316,8 @@ namespace Aws; * @method \Aws\MultiRegionClient createMultiRegionSwf(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 = []) @@ -295,7 +337,7 @@ namespace Aws; */ class Sdk { - const VERSION = '3.67.12'; + const VERSION = '3.80.3'; /** @var array Arguments for creating clients */ private $args; diff --git a/vendor/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php b/vendor/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php new file mode 100644 index 000000000..7dc2fbc7e --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/SecurityHub/Exception/SecurityHubException.php @@ -0,0 +1,9 @@ + true, + 's3control' => true, + ]; + /** * Resolves and signature provider and ensures a non-null return value. * @@ -111,7 +116,7 @@ class SignatureProvider switch ($version) { case 's3v4': case 'v4': - return $service === 's3' + return !empty(self::$s3v4SignedServices[$service]) ? new S3SignatureV4($service, $region) : new SignatureV4($service, $region); case 'v4-unsigned-body': diff --git a/vendor/aws/aws-sdk-php/src/Sms/SmsClient.php b/vendor/aws/aws-sdk-php/src/Sms/SmsClient.php index d00d57eaf..dd35342d8 100644 --- a/vendor/aws/aws-sdk-php/src/Sms/SmsClient.php +++ b/vendor/aws/aws-sdk-php/src/Sms/SmsClient.php @@ -5,14 +5,32 @@ 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 = []) @@ -23,8 +41,24 @@ use Aws\AwsClient; * @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 = []) */ diff --git a/vendor/aws/aws-sdk-php/src/Ssm/SsmClient.php b/vendor/aws/aws-sdk-php/src/Ssm/SsmClient.php index 7a9427113..ffcff927d 100644 --- a/vendor/aws/aws-sdk-php/src/Ssm/SsmClient.php +++ b/vendor/aws/aws-sdk-php/src/Ssm/SsmClient.php @@ -10,6 +10,8 @@ use Aws\AwsClient; * @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 = []) @@ -90,12 +92,16 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php b/vendor/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php index d7b460e9a..532b79a53 100644 --- a/vendor/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php +++ b/vendor/aws/aws-sdk-php/src/TranscribeService/TranscribeServiceClient.php @@ -7,6 +7,8 @@ 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 = []) diff --git a/vendor/aws/aws-sdk-php/src/Transfer/Exception/TransferException.php b/vendor/aws/aws-sdk-php/src/Transfer/Exception/TransferException.php new file mode 100644 index 000000000..eac6c8fe6 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Transfer/Exception/TransferException.php @@ -0,0 +1,9 @@ +search($acceptor['argument']) ?: []; - foreach ($actuals as $actual) { - if ($actual == $acceptor['expected']) { - return true; - } - } - - return false; + return in_array($acceptor['expected'], $actuals); } /** diff --git a/vendor/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php b/vendor/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php index 65d010d8a..74b9a0481 100644 --- a/vendor/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php +++ b/vendor/aws/aws-sdk-php/src/WorkDocs/WorkDocsClient.php @@ -71,6 +71,8 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php b/vendor/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php index 387bd4837..55c677d36 100644 --- a/vendor/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php +++ b/vendor/aws/aws-sdk-php/src/WorkSpaces/WorkSpacesClient.php @@ -20,6 +20,14 @@ use Aws\AwsClient; * @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 = []) @@ -28,12 +36,22 @@ use Aws\AwsClient; * @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 = []) diff --git a/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php b/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php index 9d32de576..bd1e0611e 100644 --- a/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php +++ b/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php @@ -73,7 +73,7 @@ class WrappedHttpHandler $fn = $this->httpHandler; $options = $command['@http'] ?: []; $stats = []; - if ($this->collectStats) { + if ($this->collectStats || !empty($options['collect_stats'])) { $options['http_stats_receiver'] = static function ( array $transferStats ) use (&$stats) { diff --git a/vendor/aws/aws-sdk-php/src/XRay/XRayClient.php b/vendor/aws/aws-sdk-php/src/XRay/XRayClient.php index 92ee5b028..ff24324ec 100644 --- a/vendor/aws/aws-sdk-php/src/XRay/XRayClient.php +++ b/vendor/aws/aws-sdk-php/src/XRay/XRayClient.php @@ -7,12 +7,20 @@ 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 = []) @@ -31,6 +39,8 @@ use Aws\AwsClient; * @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 = []) */ diff --git a/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/api-2.json.php index 1acd8a83f..50197923d 100644 --- a/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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' => 'DeviceNotRegisteredException', ], ], ], 'AssociateSkillGroupWithRoom' => [ 'name' => 'AssociateSkillGroupWithRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AssociateSkillGroupWithRoomRequest', ], 'output' => [ 'shape' => 'AssociateSkillGroupWithRoomResponse', ], ], 'CreateAddressBook' => [ 'name' => 'CreateAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAddressBookRequest', ], 'output' => [ 'shape' => 'CreateAddressBookResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateUser' => [ 'name' => 'CreateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateUserRequest', ], 'output' => [ 'shape' => 'CreateUserResponse', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteAddressBook' => [ 'name' => 'DeleteAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteAddressBookRequest', ], 'output' => [ 'shape' => 'DeleteAddressBookResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteContact' => [ 'name' => 'DeleteContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteContactRequest', ], 'output' => [ 'shape' => 'DeleteContactResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteProfile' => [ 'name' => 'DeleteProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteProfileRequest', ], 'output' => [ 'shape' => 'DeleteProfileResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteRoom' => [ 'name' => 'DeleteRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRoomRequest', ], 'output' => [ 'shape' => 'DeleteRoomResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteRoomSkillParameter' => [ 'name' => 'DeleteRoomSkillParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteRoomSkillParameterRequest', ], 'output' => [ 'shape' => 'DeleteRoomSkillParameterResponse', ], ], 'DeleteSkillGroup' => [ 'name' => 'DeleteSkillGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteSkillGroupRequest', ], 'output' => [ 'shape' => 'DeleteSkillGroupResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'DeleteUser' => [ 'name' => 'DeleteUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteUserRequest', ], 'output' => [ 'shape' => 'DeleteUserResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], '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' => 'DeviceNotRegisteredException', ], ], ], 'DisassociateSkillGroupFromRoom' => [ 'name' => 'DisassociateSkillGroupFromRoom', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateSkillGroupFromRoomRequest', ], 'output' => [ 'shape' => 'DisassociateSkillGroupFromRoomResponse', ], ], 'GetAddressBook' => [ 'name' => 'GetAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'GetAddressBookRequest', ], 'output' => [ 'shape' => 'GetAddressBookResponse', ], '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', ], ], ], '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', ], ], ], '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', ], ], 'ListTags' => [ 'name' => 'ListTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTagsRequest', ], 'output' => [ 'shape' => 'ListTagsResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'PutRoomSkillParameter' => [ 'name' => 'PutRoomSkillParameter', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRoomSkillParameterRequest', ], 'output' => [ 'shape' => 'PutRoomSkillParameterResponse', ], ], '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', ], ], ], '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', ], ], ], 'StartDeviceSync' => [ 'name' => 'StartDeviceSync', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDeviceSyncRequest', ], 'output' => [ 'shape' => 'StartDeviceSyncResponse', ], 'errors' => [ [ 'shape' => 'DeviceNotRegisteredException', ], ], ], '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', ], ], ], 'UpdateContact' => [ 'name' => 'UpdateContact', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateContactRequest', ], 'output' => [ 'shape' => 'UpdateContactResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], ], ], 'UpdateDevice' => [ 'name' => 'UpdateDevice', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateDeviceRequest', ], 'output' => [ 'shape' => 'UpdateDeviceResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'DeviceNotRegisteredException', ], ], ], 'UpdateProfile' => [ 'name' => 'UpdateProfile', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateProfileRequest', ], 'output' => [ 'shape' => 'UpdateProfileResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'NameInUseException', ], ], ], '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', ], ], ], ], '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, ], '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' => [], ], 'Boolean' => [ 'type' => 'boolean', ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 150, 'min' => 10, 'pattern' => '[a-zA-Z0-9][a-zA-Z0-9_-]*', ], '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]*', ], 'CreateAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AddressBookName', ], 'Description' => [ 'shape' => 'AddressBookDescription', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestToken', 'idempotencyToken' => true, ], ], ], 'CreateAddressBookResponse' => [ 'type' => 'structure', 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'CreateContactRequest' => [ 'type' => 'structure', 'required' => [ 'FirstName', 'PhoneNumber', ], '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', ], ], ], 'DeleteAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAddressBookResponse' => [ 'type' => 'structure', 'members' => [], ], 'DeleteContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactArn', ], 'members' => [ 'ContactArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteContactResponse' => [ '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' => [], ], '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' => [], ], '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}', ], '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' => [], ], '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,}$', ], '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})', ], '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, ], 'GetAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'GetAddressBookResponse' => [ 'type' => 'structure', 'members' => [ 'AddressBook' => [ 'shape' => 'AddressBook', ], ], ], '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', ], ], ], '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', ], ], ], 'InvalidUserStatusException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'LimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], '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', ], 'NextToken' => [ 'shape' => 'NextToken', ], 'MaxResults' => [ 'shape' => 'SkillListMaxResults', ], ], ], 'ListSkillsResponse' => [ 'type' => 'structure', 'members' => [ 'SkillSummaries' => [ 'shape' => 'SkillSummaryList', ], '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', ], 'NameInUseException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'NextToken' => [ 'type' => 'string', 'max' => 1000, 'min' => 1, ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Profile' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], 'Address' => [ 'shape' => 'Address', ], 'Timezone' => [ 'shape' => 'Timezone', ], 'DistanceUnit' => [ 'shape' => 'DistanceUnit', ], 'TemperatureUnit' => [ 'shape' => 'TemperatureUnit', ], 'WakeWord' => [ 'shape' => 'WakeWord', ], 'SetupModeDisabled' => [ 'shape' => 'Boolean', ], 'MaxVolumeLimit' => [ 'shape' => 'MaxVolumeLimit', ], 'PSTNEnabled' => [ 'shape' => 'Boolean', ], ], ], 'ProfileData' => [ 'type' => 'structure', 'members' => [ 'ProfileArn' => [ 'shape' => 'Arn', ], 'ProfileName' => [ 'shape' => 'ProfileName', ], '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, ], 'PutRoomSkillParameterRequest' => [ 'type' => 'structure', 'required' => [ 'SkillId', 'RoomSkillParameter', ], 'members' => [ 'RoomArn' => [ 'shape' => 'Arn', ], 'SkillId' => [ 'shape' => 'SkillId', ], 'RoomSkillParameter' => [ 'shape' => 'RoomSkillParameter', ], ], ], 'PutRoomSkillParameterResponse' => [ 'type' => 'structure', 'members' => [], ], '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, ], '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', ], ], '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' => [], ], '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]*', ], 'SkillSummary' => [ 'type' => 'structure', 'members' => [ 'SkillId' => [ 'shape' => 'SkillId', ], 'SkillName' => [ 'shape' => 'SkillName', ], 'SupportsLinking' => [ 'shape' => 'boolean', ], ], ], 'SkillSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'SkillSummary', ], ], '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' => [], ], 'Tag' => [ 'type' => 'structure', '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', ], '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' => [], ], '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', ], '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' => [], ], '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}', ], '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@_+.-]*', ], ],]; +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', ], ], ], 'CreateAddressBook' => [ 'name' => 'CreateAddressBook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateAddressBookRequest', ], 'output' => [ 'shape' => 'CreateAddressBookResponse', ], 'errors' => [ [ 'shape' => 'AlreadyExistsException', ], [ 'shape' => 'LimitExceededException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], 'AuthorizationResult' => [ 'type' => 'map', 'key' => [ 'shape' => 'Key', ], 'value' => [ 'shape' => 'Value', ], 'sensitive' => true, ], 'Boolean' => [ 'type' => 'boolean', ], 'BulletPoint' => [ 'type' => 'string', ], 'BulletPoints' => [ 'type' => 'list', 'member' => [ 'shape' => 'BulletPoint', ], ], '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', ], ], ], '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', 'PhoneNumber', ], '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', ], ], ], 'DeleteAddressBookRequest' => [ 'type' => 'structure', 'required' => [ 'AddressBookArn', ], 'members' => [ 'AddressBookArn' => [ 'shape' => 'Arn', ], ], ], 'DeleteAddressBookResponse' => [ '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' => [], ], '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,}$', ], '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', ], ], ], '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, ], '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, ], 'PSTNDialIn' => [ 'type' => 'structure', 'required' => [ 'CountryCode', 'PhoneNumber', 'OneClickIdDelay', 'OneClickPinDelay', ], 'members' => [ 'CountryCode' => [ 'shape' => 'CountryCode', ], 'PhoneNumber' => [ 'shape' => 'PhoneNumber', ], 'OneClickIdDelay' => [ 'shape' => 'OneClickIdDelay', ], 'OneClickPinDelay' => [ 'shape' => 'OneClickPinDelay', ], ], ], 'PhoneNumber' => [ 'type' => 'string', 'pattern' => '\\d{10}', ], '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' => [], ], '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', ], ], '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', ], '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]*', ], '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' => [], ], '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/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/paginators-1.json.php index bf87ed1d1..3ccf097cc 100644 --- a/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/alexaforbusiness/2017-11-09/paginators-1.json.php @@ -1,3 +1,3 @@ [ 'ListDeviceEvents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListSkills' => [ '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', ], ],]; +return [ 'pagination' => [ '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/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/api-2.json.php new file mode 100644 index 000000000..df0f8a1ba --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/paginators-1.json.php new file mode 100644 index 000000000..0c1f93c87 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/amplify/2017-07-25/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/apigateway/2015-07-09/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/apigateway/2015-07-09/api-2.json.php index 6d5c95dd0..60626382b 100644 --- a/vendor/aws/aws-sdk-php/src/data/apigateway/2015-07-09/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/apigateway/2015-07-09/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], 'MapOfHeaderValues' => [ 'type' => 'map', 'key' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], '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', ], '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' => 'MapOfHeaderValues', ], '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' => 'MapOfHeaderValues', ], 'clientCertificateId' => [ 'shape' => 'String', ], 'stageVariables' => [ 'shape' => 'MapOfStringToString', ], ], ], 'TestInvokeMethodResponse' => [ 'type' => 'structure', 'members' => [ 'status' => [ 'shape' => 'Integer', ], 'body' => [ 'shape' => 'String', ], 'headers' => [ 'shape' => 'MapOfHeaderValues', ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/api-2.json.php new file mode 100644 index 000000000..b07387c72 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/api-2.json.php @@ -0,0 +1,3 @@ + '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, ], ], '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, ], ], '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, ], 'DurationMillis' => [ 'type' => 'long', 'box' => true, ], 'NonNegativeInt' => [ 'type' => 'integer', 'min' => 0, ], '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', ], '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', 'members' => [ 'healthyThreshold' => [ 'shape' => 'NonNegativeInt', ], 'intervalMillis' => [ 'shape' => 'DurationMillis', ], 'path' => [ 'shape' => 'String', ], 'port' => [ 'shape' => 'PortNumber', ], 'protocol' => [ 'shape' => 'PortProtocol', ], 'timeoutMillis' => [ 'shape' => 'DurationMillis', ], 'unhealthyThreshold' => [ 'shape' => 'NonNegativeInt', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/paginators-1.json.php new file mode 100644 index 000000000..6d921c2cb --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/appmesh/2018-10-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/appstream/2016-12-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/appstream/2016-12-01/api-2.json.php index e47c2a675..4bb0588eb 100644 --- a/vendor/aws/aws-sdk-php/src/data/appstream/2016-12-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/appstream/2016-12-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DisassociateFleet' => [ 'name' => 'DisassociateFleet', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateFleetRequest', ], 'output' => [ 'shape' => 'DisassociateFleetResult', ], 'errors' => [ [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], ], ], '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', ], ], '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, ], '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, ], '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', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'NetworkAccessConfiguration' => [ 'shape' => 'NetworkAccessConfiguration', ], ], ], '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', ], ], ], 'UserId' => [ 'type' => 'string', 'max' => 32, 'min' => 2, ], 'UserSetting' => [ 'type' => 'structure', 'required' => [ 'Action', 'Permission', ], 'members' => [ 'Action' => [ 'shape' => 'Action', ], 'Permission' => [ 'shape' => 'Permission', ], ], ], 'UserSettingList' => [ 'type' => 'list', 'member' => [ 'shape' => 'UserSetting', ], 'min' => 1, ], 'VisibilityType' => [ 'type' => 'string', 'enum' => [ 'PUBLIC', 'PRIVATE', 'SHARED', ], ], 'VpcConfig' => [ 'type' => 'structure', 'members' => [ 'SubnetIds' => [ 'shape' => 'SubnetIdList', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdList', ], ], ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'AuthenticationType' => [ 'shape' => 'AuthenticationType', ], 'NetworkAccessConfiguration' => [ 'shape' => 'NetworkAccessConfiguration', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/appsync/2017-07-25/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/appsync/2017-07-25/api-2.json.php index 265cf1ff7..f4dbccd87 100644 --- a/vendor/aws/aws-sdk-php/src/data/appsync/2017-07-25/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/appsync/2017-07-25/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-07-25', 'endpointPrefix' => 'appsync', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceAbbreviation' => 'AWSAppSync', 'serviceFullName' => 'AWS 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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], 'CreateDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'dataSource' => [ 'shape' => 'DataSource', ], ], ], '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', 'dataSourceName', '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', ], ], ], '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', ], ], ], 'DataSourceType' => [ 'type' => 'string', 'enum' => [ 'AWS_LAMBDA', 'AMAZON_DYNAMODB', 'AMAZON_ELASTICSEARCH', 'NONE', 'HTTP', ], ], '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' => [], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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]+', ], 'Resolver' => [ 'type' => 'structure', 'members' => [ 'typeName' => [ 'shape' => 'ResourceName', ], 'fieldName' => [ 'shape' => 'ResourceName', ], 'dataSourceName' => [ 'shape' => 'ResourceName', ], 'resolverArn' => [ 'shape' => 'String', ], 'requestMappingTemplate' => [ 'shape' => 'MappingTemplate', ], 'responseMappingTemplate' => [ 'shape' => 'MappingTemplate', ], ], ], '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', ], ], ], 'UpdateDataSourceResponse' => [ 'type' => 'structure', 'members' => [ 'dataSource' => [ 'shape' => 'DataSource', ], ], ], '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', 'dataSourceName', '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', ], ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/api-2.json.php index 26e7fc5e7..f6a141351 100644 --- a/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-05-18', 'endpointPrefix' => 'athena', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'Amazon 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, ], 'DeleteNamedQuery' => [ 'name' => 'DeleteNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNamedQueryInput', ], 'output' => [ 'shape' => 'DeleteNamedQueryOutput', ], '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', ], ], ], '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', ], ], ], '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, ], ], 'shapes' => [ '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', ], '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, ], ], ], 'CreateNamedQueryOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], ], ], 'DatabaseString' => [ 'type' => 'string', 'max' => 32, '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' => [], ], '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' => [ 'ResultSet' => [ 'shape' => 'ResultSet', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], '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', ], ], ], 'ListNamedQueriesOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryIds' => [ 'shape' => 'NamedQueryIdList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListQueryExecutionsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxQueryExecutionsCount', ], ], ], 'ListQueryExecutionsOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionIds' => [ 'shape' => 'QueryExecutionIdList', ], '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, ], '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', ], ], ], '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', ], 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], 'QueryExecutionContext' => [ 'shape' => 'QueryExecutionContext', ], 'Status' => [ 'shape' => 'QueryExecutionStatus', ], 'Statistics' => [ 'shape' => 'QueryExecutionStatistics', ], ], ], '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, ], 'ResultConfiguration' => [ 'type' => 'structure', 'required' => [ 'OutputLocation', ], 'members' => [ 'OutputLocation' => [ 'shape' => 'String', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], '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', 'ResultConfiguration', ], 'members' => [ 'QueryString' => [ 'shape' => 'QueryString', ], 'ClientRequestToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'QueryExecutionContext' => [ 'shape' => 'QueryExecutionContext', ], 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], ], ], 'StartQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', ], ], ], 'StopQueryExecutionInput' => [ 'type' => 'structure', 'required' => [ 'QueryExecutionId', ], 'members' => [ 'QueryExecutionId' => [ 'shape' => 'QueryExecutionId', 'idempotencyToken' => true, ], ], ], 'StopQueryExecutionOutput' => [ 'type' => 'structure', 'members' => [], ], 'String' => [ 'type' => 'string', ], 'ThrottleReason' => [ 'type' => 'string', 'enum' => [ 'CONCURRENT_QUERY_LIMIT_EXCEEDED', ], ], 'Token' => [ 'type' => 'string', ], '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', ], ], 'datumList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Datum', ], ], 'datumString' => [ 'type' => 'string', ], ],]; +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, ], 'DeleteNamedQuery' => [ 'name' => 'DeleteNamedQuery', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteNamedQueryInput', ], 'output' => [ 'shape' => 'DeleteNamedQueryOutput', ], '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', ], ], ], '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', ], ], ], '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, ], ], 'shapes' => [ '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', ], '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, ], ], ], 'CreateNamedQueryOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryId' => [ 'shape' => 'NamedQueryId', ], ], ], 'DatabaseString' => [ 'type' => 'string', 'max' => 32, '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' => [], ], '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', ], ], ], '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', ], ], ], 'ListNamedQueriesOutput' => [ 'type' => 'structure', 'members' => [ 'NamedQueryIds' => [ 'shape' => 'NamedQueryIdList', ], 'NextToken' => [ 'shape' => 'Token', ], ], ], 'ListQueryExecutionsInput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'Token', ], 'MaxResults' => [ 'shape' => 'MaxQueryExecutionsCount', ], ], ], 'ListQueryExecutionsOutput' => [ 'type' => 'structure', 'members' => [ 'QueryExecutionIds' => [ 'shape' => 'QueryExecutionIdList', ], '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, ], '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', ], ], ], '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', ], ], ], '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, ], 'ResultConfiguration' => [ 'type' => 'structure', 'required' => [ 'OutputLocation', ], 'members' => [ 'OutputLocation' => [ 'shape' => 'String', ], 'EncryptionConfiguration' => [ 'shape' => 'EncryptionConfiguration', ], ], ], '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', 'ResultConfiguration', ], 'members' => [ 'QueryString' => [ 'shape' => 'QueryString', ], 'ClientRequestToken' => [ 'shape' => 'IdempotencyToken', 'idempotencyToken' => true, ], 'QueryExecutionContext' => [ 'shape' => 'QueryExecutionContext', ], 'ResultConfiguration' => [ 'shape' => 'ResultConfiguration', ], ], ], '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', ], 'ThrottleReason' => [ 'type' => 'string', 'enum' => [ 'CONCURRENT_QUERY_LIMIT_EXCEEDED', ], ], 'Token' => [ 'type' => 'string', ], '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', ], ], 'datumList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Datum', ], ], 'datumString' => [ 'type' => 'string', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/smoke.json.php new file mode 100644 index 000000000..4afd4583d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/athena/2017-05-18/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListNamedQueries', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/autoscaling-plans/2018-01-06/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/autoscaling-plans/2018-01-06/api-2.json.php index 5a30eeb05..fad0b012b 100644 --- a/vendor/aws/aws-sdk-php/src/data/autoscaling-plans/2018-01-06/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/autoscaling-plans/2018-01-06/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], 'CustomizedScalingMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Namespace', 'Statistic', ], 'members' => [ 'MetricName' => [ 'shape' => 'MetricName', ], 'Namespace' => [ 'shape' => 'MetricNamespace', ], 'Dimensions' => [ 'shape' => 'MetricDimensions', ], 'Statistic' => [ 'shape' => 'MetricStatistic', ], 'Unit' => [ 'shape' => 'MetricUnit', ], ], ], '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', ], ], ], 'DisableScaleIn' => [ 'type' => 'boolean', ], 'ErrorMessage' => [ 'type' => 'string', ], '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', ], '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', ], ], 'PredefinedScalingMetricSpecification' => [ 'type' => 'structure', 'required' => [ 'PredefinedScalingMetricType', ], 'members' => [ 'PredefinedScalingMetricType' => [ 'shape' => 'ScalingMetricType', ], 'ResourceLabel' => [ 'shape' => 'ResourceLabel', ], ], ], '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', ], ], ], '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', ], ], ], 'ScalingStatusCode' => [ 'type' => 'string', 'enum' => [ 'Inactive', 'PartiallyActive', 'Active', ], ], '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' => [ 'ApplicationSource' => [ 'shape' => 'ApplicationSource', ], 'ScalingPlanName' => [ 'shape' => 'ScalingPlanName', ], 'ScalingInstructions' => [ 'shape' => 'ScalingInstructions', ], 'ScalingPlanVersion' => [ 'shape' => 'ScalingPlanVersion', ], ], ], '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]*', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/autoscaling/2011-01-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/autoscaling/2011-01-01/api-2.json.php index 9fcb5d6d1..157051120 100644 --- a/vendor/aws/aws-sdk-php/src/data/autoscaling/2011-01-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/autoscaling/2011-01-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], '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', ], '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', ], ], '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', ], ], ], 'LaunchTemplateName' => [ 'type' => 'string', 'max' => 128, 'min' => 3, 'pattern' => '[a-zA-Z0-9\\(\\)\\.-/_]+', ], '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, ], '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', ], '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', ], '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', ], '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]*', ], ],]; +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' => 'SpotPrice', ], ], ], '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, ], '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/vendor/aws/aws-sdk-php/src/data/batch/2016-08-10/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/batch/2016-08-10/api-2.json.php index 5489d390c..f0e8128e3 100644 --- a/vendor/aws/aws-sdk-php/src/data/batch/2016-08-10/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/batch/2016-08-10/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', 'securityGroupIds', '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', ], 'bidPercentage' => [ 'shape' => 'Integer', ], 'spotIamFleetRole' => [ 'shape' => 'String', ], ], ], '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', ], ], ], 'ContainerOverrides' => [ 'type' => 'structure', 'members' => [ 'vcpus' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'Integer', ], 'command' => [ 'shape' => 'StringList', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], ], ], 'ContainerProperties' => [ 'type' => 'structure', 'required' => [ 'image', 'vcpus', 'memory', ], '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', ], ], ], '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', ], ], ], 'JobDefinitionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobDefinition', ], ], 'JobDefinitionType' => [ 'type' => 'string', 'enum' => [ 'container', ], ], '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', ], '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', ], ], ], 'JobSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'JobSummary', ], ], 'JobTimeout' => [ 'type' => 'structure', 'members' => [ 'attemptDurationSeconds' => [ 'shape' => 'Integer', ], ], ], 'KeyValuePair' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'String', ], 'value' => [ 'shape' => 'String', ], ], ], 'ListJobsRequest' => [ 'type' => 'structure', 'members' => [ 'jobQueue' => [ 'shape' => 'String', ], 'arrayJobId' => [ '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', ], ], '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', ], 'retryStrategy' => [ 'shape' => 'RetryStrategy', ], 'timeout' => [ 'shape' => 'JobTimeout', ], ], ], 'RegisterJobDefinitionResponse' => [ 'type' => 'structure', 'required' => [ 'jobDefinitionName', 'jobDefinitionArn', 'revision', ], 'members' => [ 'jobDefinitionName' => [ 'shape' => 'String', ], 'jobDefinitionArn' => [ 'shape' => 'String', ], 'revision' => [ 'shape' => 'Integer', ], ], ], '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', ], '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', ], ], ],]; +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', ], ], ], 'ContainerOverrides' => [ 'type' => 'structure', 'members' => [ 'vcpus' => [ 'shape' => 'Integer', ], 'memory' => [ 'shape' => 'Integer', ], 'command' => [ 'shape' => 'StringList', ], 'instanceType' => [ 'shape' => 'String', ], 'environment' => [ 'shape' => 'EnvironmentVariables', ], ], ], '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', ], ], ], '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' => [ '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/budgets/2016-10-20/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/budgets/2016-10-20/api-2.json.php index 487b659fc..cb03f19c5 100644 --- a/vendor/aws/aws-sdk-php/src/data/budgets/2016-10-20/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/budgets/2016-10-20/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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, ], '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', ], ], ], 'BudgetName' => [ 'type' => 'string', 'max' => 100, 'pattern' => '[^:\\\\]+', ], 'BudgetType' => [ 'type' => 'string', 'enum' => [ 'USAGE', 'COST', 'RI_UTILIZATION', 'RI_COVERAGE', ], ], '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' => [], ], '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', ], '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', ], ], ], 'NotificationThreshold' => [ 'type' => 'double', 'max' => 1000000000, 'min' => 0.10000000000000001, ], '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', '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', 'min' => 1, ], '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', 'min' => 1, ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/ce/2017-10-25/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ce/2017-10-25/api-2.json.php index 3b5396e8a..bb6ddaa7f 100644 --- a/vendor/aws/aws-sdk-php/src/data/ce/2017-10-25/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ce/2017-10-25/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], 'CoverageByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationCoverageGroups', ], 'Total' => [ 'shape' => 'Coverage', ], ], ], 'CoverageHours' => [ 'type' => 'structure', 'members' => [ 'OnDemandHours' => [ 'shape' => 'OnDemandHours', ], 'ReservedHours' => [ 'shape' => 'ReservedHours', ], 'TotalRunningHours' => [ 'shape' => 'TotalRunningHours', ], 'CoverageHoursPercentage' => [ 'shape' => 'CoverageHoursPercentage', ], ], ], 'CoverageHoursPercentage' => [ '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', ], ], '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', ], ], 'GenericBoolean' => [ 'type' => 'boolean', ], 'GenericString' => [ 'type' => 'string', ], 'GetCostAndUsageRequest' => [ 'type' => 'structure', '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', ], ], ], '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', ], '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', ], ], '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', ], ], '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', ], ], 'OnDemandCostOfRIHoursUsed' => [ 'type' => 'string', ], 'OnDemandHours' => [ 'type' => 'string', ], 'PageSize' => [ 'type' => 'integer', ], 'PaymentOption' => [ 'type' => 'string', 'enum' => [ 'NO_UPFRONT', 'PARTIAL_UPFRONT', 'ALL_UPFRONT', 'LIGHT_UTILIZATION', 'MEDIUM_UTILIZATION', 'HEAVY_UTILIZATION', ], ], 'PurchasedHours' => [ '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', ], 'PurchasedHours' => [ 'shape' => 'PurchasedHours', ], 'TotalActualHours' => [ 'shape' => 'TotalActualHours', ], 'UnusedHours' => [ 'shape' => 'UnusedHours', ], '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' => [ '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', ], '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', ], 'TotalAmortizedFee' => [ 'type' => 'string', ], 'TotalPotentialRISavings' => [ 'type' => 'string', ], 'TotalRunningHours' => [ 'type' => 'string', ], 'UnusedHours' => [ 'type' => 'string', ], 'UtilizationByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationUtilizationGroups', ], 'Total' => [ 'shape' => 'ReservationAggregates', ], ], ], 'UtilizationPercentage' => [ '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}', ], ],]; +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', ], ], ], 'CoverageByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationCoverageGroups', ], 'Total' => [ 'shape' => 'Coverage', ], ], ], 'CoverageHours' => [ 'type' => 'structure', 'members' => [ 'OnDemandHours' => [ 'shape' => 'OnDemandHours', ], 'ReservedHours' => [ 'shape' => 'ReservedHours', ], 'TotalRunningHours' => [ 'shape' => 'TotalRunningHours', ], 'CoverageHoursPercentage' => [ 'shape' => 'CoverageHoursPercentage', ], ], ], 'CoverageHoursPercentage' => [ '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', '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', ], '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', ], ], 'OnDemandCostOfRIHoursUsed' => [ 'type' => 'string', ], 'OnDemandHours' => [ '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', ], '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', ], 'PurchasedHours' => [ 'shape' => 'PurchasedHours', ], 'TotalActualHours' => [ 'shape' => 'TotalActualHours', ], 'UnusedHours' => [ 'shape' => 'UnusedHours', ], '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', ], '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', ], 'TotalAmortizedFee' => [ 'type' => 'string', ], 'TotalPotentialRISavings' => [ 'type' => 'string', ], 'TotalRunningHours' => [ 'type' => 'string', ], 'UnusedHours' => [ 'type' => 'string', ], 'UtilizationByTime' => [ 'type' => 'structure', 'members' => [ 'TimePeriod' => [ 'shape' => 'DateInterval', ], 'Groups' => [ 'shape' => 'ReservationUtilizationGroups', ], 'Total' => [ 'shape' => 'ReservationAggregates', ], ], ], 'UtilizationPercentage' => [ '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/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/api-2.json.php new file mode 100644 index 000000000..e24a1e246 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/api-2.json.php @@ -0,0 +1,3 @@ + '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' => [ 'BatchSuspendUser' => [ 'name' => 'BatchSuspendUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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' => '/console/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', ], ], ], 'BatchUpdateUser' => [ 'name' => 'BatchUpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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' => '/console/accounts', 'responseCode' => 201, ], 'input' => [ 'shape' => 'CreateAccountRequest', ], 'output' => [ 'shape' => 'CreateAccountResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'DeleteAccount' => [ 'name' => 'DeleteAccount', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/console/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', ], ], ], 'GetAccount' => [ 'name' => 'GetAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/console/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' => '/console/accounts/{accountId}/settings', ], 'input' => [ 'shape' => 'GetAccountSettingsRequest', ], 'output' => [ 'shape' => 'GetAccountSettingsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'GetUser' => [ 'name' => 'GetUser', 'http' => [ 'method' => 'GET', 'requestUri' => '/console/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', ], ], ], 'InviteUsers' => [ 'name' => 'InviteUsers', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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' => '/console/accounts', ], 'input' => [ 'shape' => 'ListAccountsRequest', ], 'output' => [ 'shape' => 'ListAccountsResponse', ], 'errors' => [ [ 'shape' => 'UnauthorizedClientException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'ForbiddenException', ], [ 'shape' => 'BadRequestException', ], [ 'shape' => 'ThrottledClientException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'ServiceFailureException', ], ], ], 'ListUsers' => [ 'name' => 'ListUsers', 'http' => [ 'method' => 'GET', 'requestUri' => '/console/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', ], ], ], 'LogoutUser' => [ 'name' => 'LogoutUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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', ], ], ], 'ResetPersonalPIN' => [ 'name' => 'ResetPersonalPIN', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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', ], ], ], 'UpdateAccount' => [ 'name' => 'UpdateAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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' => '/console/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', ], ], ], 'UpdateUser' => [ 'name' => 'UpdateUser', 'http' => [ 'method' => 'POST', 'requestUri' => '/console/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', ], ], ], ], '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', ], ], 'BadRequestException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], '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', ], ], ], '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', ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'CreateAccountRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'AccountName', ], ], ], 'CreateAccountResponse' => [ 'type' => 'structure', 'members' => [ 'Account' => [ 'shape' => 'Account', ], ], ], 'DeleteAccountRequest' => [ 'type' => 'structure', 'required' => [ 'AccountId', ], 'members' => [ 'AccountId' => [ 'shape' => 'NonEmptyString', 'location' => 'uri', 'locationName' => 'accountId', ], ], ], 'DeleteAccountResponse' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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.*', ], 'NotFoundException' => [ 'type' => 'structure', 'members' => [ 'Code' => [ 'shape' => 'ErrorCode', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 404, ], 'exception' => true, ], 'ProfileServiceMaxResults' => [ 'type' => 'integer', 'max' => 200, 'min' => 1, ], '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', ], ], ], 'SensitiveString' => [ 'type' => 'string', 'sensitive' => true, ], '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', ], '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' => [], ], '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', ], ], ], 'User' => [ 'type' => 'structure', 'required' => [ 'UserId', ], 'members' => [ 'UserId' => [ 'shape' => 'String', ], 'AccountId' => [ 'shape' => 'String', ], 'PrimaryEmail' => [ 'shape' => 'EmailAddress', ], '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', ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/paginators-1.json.php new file mode 100644 index 000000000..b79b4d654 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/chime/2018-05-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [ 'ListAccounts' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'ListUsers' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/clouddirectory/2017-01-11/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/clouddirectory/2017-01-11/api-2.json.php index 6e8d32291..4e16c7663 100644 --- a/vendor/aws/aws-sdk-php/src/data/clouddirectory/2017-01-11/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/clouddirectory/2017-01-11/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-01-11', 'endpointPrefix' => 'clouddirectory', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon 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' => 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', ], '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', ], ], ], '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._-]*$', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/api-2.json.php index 2815a1e87..f757d2d30 100644 --- a/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], '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', ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], ], ], '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, ], '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, ], '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', ], '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', ], 'PropertyName' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'Version' => [ 'type' => 'string', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/paginators-1.json.php index 631ea42d2..cace8d3fd 100644 --- a/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/cloudformation/2010-05-15/paginators-1.json.php @@ -1,3 +1,3 @@ [ 'DescribeStackEvents' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'result_key' => 'StackEvents', ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/api-2.json.php new file mode 100644 index 000000000..24972d3f4 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/paginators-1.json.php new file mode 100644 index 000000000..09497cb40 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/smoke.json.php new file mode 100644 index 000000000..2061d8ba1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListCloudFrontOriginAccessIdentities', 'input' => [ 'MaxItems' => '1', ], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetDistribution', 'input' => [ 'Id' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-1.json.php b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-1.json.php new file mode 100644 index 000000000..a2e6b0f6c --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-1.json.php @@ -0,0 +1,3 @@ + [ '__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/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-2.json.php b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-2.json.php new file mode 100644 index 000000000..145465880 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudfront/2018-11-05/waiters-2.json.php @@ -0,0 +1,3 @@ + 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/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/api-2.json.php index 3518f756d..bb26846b6 100644 --- a/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2013-11-01', 'endpointPrefix' => 'cloudtrail', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CloudTrail', 'serviceFullName' => 'AWS 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', ], ], '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', ], ], 'idempotent' => true, ], 'DeleteTrail' => [ 'name' => 'DeleteTrail', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTrailRequest', ], 'output' => [ 'shape' => 'DeleteTrailResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], ], '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', ], ], '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', ], ], 'idempotent' => true, ], 'StartLogging' => [ 'name' => 'StartLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartLoggingRequest', ], 'output' => [ 'shape' => 'StartLoggingResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], ], 'idempotent' => true, ], 'StopLogging' => [ 'name' => 'StopLogging', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopLoggingRequest', ], 'output' => [ 'shape' => 'StopLoggingResponse', ], 'errors' => [ [ 'shape' => 'TrailNotFoundException', ], [ 'shape' => 'InvalidTrailNameException', ], [ 'shape' => 'InvalidHomeRegionException', ], ], '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', ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', 'Username', 'ResourceType', 'ResourceName', 'EventSource', ], ], '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', ], 'OperationNotPermittedException' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/smoke.json.php new file mode 100644 index 000000000..f9844cb9e --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/cloudtrail/2013-11-01/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeTrails', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DeleteTrail', 'input' => [ 'Name' => 'faketrail', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/codebuild/2016-10-06/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/codebuild/2016-10-06/api-2.json.php index 7732d7546..d4f56b724 100644 --- a/vendor/aws/aws-sdk-php/src/data/codebuild/2016-10-06/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/codebuild/2016-10-06/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], 'DeleteWebhook' => [ 'name' => 'DeleteWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebhookInput', ], 'output' => [ 'shape' => 'DeleteWebhookOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OAuthProviderException', ], ], ], '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', ], ], ], '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', ], ], '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', ], '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', ], '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', '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', ], ], 'CacheType' => [ 'type' => 'string', 'enum' => [ 'NO_CACHE', 'S3', ], ], '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', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badgeEnabled' => [ 'shape' => 'WrapperBoolean', ], ], ], 'CreateProjectOutput' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'CreateWebhookInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'branchFilter' => [ 'shape' => 'String', ], ], ], 'CreateWebhookOutput' => [ 'type' => 'structure', 'members' => [ 'webhook' => [ 'shape' => 'Webhook', ], ], ], 'DeleteProjectInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteProjectOutput' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], 'GitCloneDepth' => [ 'type' => 'integer', 'min' => 0, ], 'ImageVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], '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', ], ], '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', ], ], ], 'LogsLocation' => [ 'type' => 'structure', 'members' => [ 'groupName' => [ 'shape' => 'String', ], 'streamName' => [ 'shape' => 'String', ], 'deepLink' => [ 'shape' => 'String', ], ], ], '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', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'created' => [ 'shape' => 'Timestamp', ], 'lastModified' => [ 'shape' => 'Timestamp', ], 'webhook' => [ 'shape' => 'Webhook', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badge' => [ 'shape' => 'ProjectBadge', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 5, ], 'SortOrderType' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'SourceAuth' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'SourceAuthType', ], 'resource' => [ 'shape' => 'String', ], ], ], 'SourceAuthType' => [ 'type' => 'string', 'enum' => [ 'OAUTH', ], ], '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', ], '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', ], 'idempotencyToken' => [ 'shape' => 'String', ], ], ], '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', ], 'encryptionKey' => [ 'shape' => 'NonEmptyString', ], 'tags' => [ 'shape' => 'TagList', ], 'vpcConfig' => [ 'shape' => 'VpcConfig', ], 'badgeEnabled' => [ 'shape' => 'WrapperBoolean', ], ], ], 'UpdateProjectOutput' => [ 'type' => 'structure', 'members' => [ 'project' => [ 'shape' => 'Project', ], ], ], 'UpdateWebhookInput' => [ 'type' => 'structure', 'required' => [ 'projectName', ], 'members' => [ 'projectName' => [ 'shape' => 'ProjectName', ], 'branchFilter' => [ 'shape' => 'String', ], 'rotateSecret' => [ 'shape' => 'Boolean', ], ], ], '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', ], 'lastModifiedSecret' => [ 'shape' => 'Timestamp', ], ], ], 'WrapperBoolean' => [ 'type' => 'boolean', ], 'WrapperInt' => [ 'type' => 'integer', ], 'WrapperLong' => [ 'type' => 'long', ], ],]; +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', ], ], ], 'DeleteWebhook' => [ 'name' => 'DeleteWebhook', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteWebhookInput', ], 'output' => [ 'shape' => 'DeleteWebhookOutput', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'OAuthProviderException', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], 'CacheType' => [ 'type' => 'string', 'enum' => [ 'NO_CACHE', 'S3', ], ], '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', ], ], ], 'CreateWebhookOutput' => [ 'type' => 'structure', 'members' => [ 'webhook' => [ 'shape' => 'Webhook', ], ], ], 'DeleteProjectInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'NonEmptyString', ], ], ], 'DeleteProjectOutput' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], 'GitCloneDepth' => [ 'type' => 'integer', 'min' => 0, ], 'ImageVersions' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], 'ResourceAlreadyExistsException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'S3LogsConfig' => [ 'type' => 'structure', 'required' => [ 'status', ], 'members' => [ 'status' => [ 'shape' => 'LogsConfigStatusType', ], 'location' => [ 'shape' => 'String', ], ], ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'NonEmptyString', ], 'max' => 5, ], 'SortOrderType' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'SourceAuth' => [ 'type' => 'structure', 'required' => [ 'type', ], 'members' => [ 'type' => [ 'shape' => 'SourceAuthType', ], 'resource' => [ 'shape' => 'String', ], ], ], 'SourceAuthType' => [ 'type' => 'string', 'enum' => [ 'OAUTH', ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], 'lastModifiedSecret' => [ 'shape' => 'Timestamp', ], ], ], 'WrapperBoolean' => [ 'type' => 'boolean', ], 'WrapperInt' => [ 'type' => 'integer', ], 'WrapperLong' => [ 'type' => 'long', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/codecommit/2015-04-13/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/codecommit/2015-04-13/api-2.json.php index 16a5f00d3..acb8477e7 100644 --- a/vendor/aws/aws-sdk-php/src/data/codecommit/2015-04-13/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/codecommit/2015-04-13/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => 'PathRequiredException', ], [ 'shape' => 'InvalidPathException', ], [ 'shape' => 'BranchNameRequiredException', ], [ 'shape' => 'InvalidBranchNameException', ], [ 'shape' => 'BranchDoesNotExistException', ], [ 'shape' => 'BranchNameIsTagNameException', ], [ 'shape' => 'InvalidFileModeException', ], [ 'shape' => 'NameLengthExceededException', ], [ 'shape' => 'InvalidEmailException', ], [ 'shape' => 'CommitMessageLengthExceededException', ], [ 'shape' => 'EncryptionIntegrityChecksFailedException', ], [ 'shape' => 'EncryptionKeyAccessDeniedException', ], [ 'shape' => 'EncryptionKeyDisabledException', ], [ 'shape' => 'EncryptionKeyNotFoundException', ], [ 'shape' => 'EncryptionKeyUnavailableException', ], [ 'shape' => 'SameFileContentException', ], [ 'shape' => 'FileNameConflictsWithDirectoryNameException', ], [ 'shape' => 'DirectoryNameConflictsWithFileNameException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'FileContent' => [ 'type' => 'blob', 'max' => 6291456, ], 'FileContentRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileContentSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileModeTypeEnum' => [ 'type' => 'string', 'enum' => [ 'EXECUTABLE', 'NORMAL', 'SYMLINK', ], ], 'FileNameConflictsWithDirectoryNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], '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', ], ], ], '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, ], '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', ], '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, ], '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', ], 'ObjectId' => [ 'type' => 'string', ], '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', ], 'mergeBase' => [ 'shape' => 'CommitId', ], 'sourceCommit' => [ 'shape' => 'CommitId', ], 'mergeMetadata' => [ 'shape' => 'MergeMetadata', ], ], ], 'PullRequestTargetList' => [ 'type' => 'list', 'member' => [ 'shape' => 'PullRequestTarget', ], ], '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, ], 'SameFileContentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SortByEnum' => [ 'type' => 'string', 'enum' => [ 'repositoryName', 'lastModifiedDate', ], ], 'SourceAndDestinationAreSameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], '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', ], ],]; +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', ], ], ], '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' => '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], 'FileContentRequiredException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileContentSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileDoesNotExistException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileList' => [ 'type' => 'list', 'member' => [ 'shape' => 'File', ], ], 'FileModeTypeEnum' => [ 'type' => 'string', 'enum' => [ 'EXECUTABLE', 'NORMAL', 'SYMLINK', ], ], 'FileNameConflictsWithDirectoryNameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'FileTooLargeException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Folder' => [ 'type' => 'structure', 'members' => [ 'treeId' => [ 'shape' => 'ObjectId', ], 'absolutePath' => [ 'shape' => 'Path', ], 'relativePath' => [ 'shape' => 'Path', ], ], ], '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', ], '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, ], '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', ], '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', ], ], '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, ], 'SameFileContentException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'SortByEnum' => [ 'type' => 'string', 'enum' => [ 'repositoryName', 'lastModifiedDate', ], ], 'SourceAndDestinationAreSameException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], '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/vendor/aws/aws-sdk-php/src/data/codedeploy/2014-10-06/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/codedeploy/2014-10-06/api-2.json.php index 9ed725bf8..c7026ed63 100644 --- a/vendor/aws/aws-sdk-php/src/data/codedeploy/2014-10-06/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/codedeploy/2014-10-06/api-2.json.php @@ -1,3 +1,3 @@ '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', 'timestampFormat' => 'unixTimestamp', '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'StopDeployment' => [ 'name' => 'StopDeployment', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopDeploymentInput', ], 'output' => [ 'shape' => 'StopDeploymentOutput', ], 'errors' => [ [ 'shape' => 'DeploymentIdRequiredException', ], [ 'shape' => 'DeploymentDoesNotExistException', ], [ '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', ], ], ], ], 'shapes' => [ 'AddTagsToOnPremisesInstancesInput' => [ 'type' => 'structure', 'required' => [ 'tags', 'instanceNames', ], 'members' => [ 'tags' => [ 'shape' => 'TagList', ], 'instanceNames' => [ 'shape' => 'InstanceNameList', ], ], ], 'AdditionalDeploymentStatusInfo' => [ 'type' => 'string', 'deprecated' => true, ], '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, ], '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', ], ], ], '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', ], ], 'ContinueDeploymentInput' => [ 'type' => 'structure', 'members' => [ 'deploymentId' => [ 'shape' => 'DeploymentId', ], ], ], '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', ], '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, ], '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', ], ], ], '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', ], ], ], 'DeploymentType' => [ 'type' => 'string', 'enum' => [ 'IN_PLACE', 'BLUE_GREEN', ], ], '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', ], ], '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', ], ], 'ErrorInformation' => [ 'type' => 'structure', 'members' => [ 'code' => [ 'shape' => 'ErrorCode', ], 'message' => [ 'shape' => 'ErrorMessage', ], ], ], 'ErrorMessage' => [ 'type' => 'string', ], 'FileExistsBehavior' => [ 'type' => 'string', 'enum' => [ 'DISALLOW', 'OVERWRITE', 'RETAIN', ], ], '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', ], ], ], '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' => [], 'exception' => true, ], 'InstanceId' => [ 'type' => 'string', ], 'InstanceIdRequiredException' => [ 'type' => 'structure', 'members' => [], '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', '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', ], ], ], 'InstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'InstanceSummary', ], ], '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, ], 'InvalidEC2TagCombinationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'InvalidEC2TagException' => [ '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, ], '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', ], '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', ], ], ], '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', ], ], 'LoadBalancerInfo' => [ 'type' => 'structure', 'members' => [ 'elbInfoList' => [ 'shape' => 'ELBInfoList', ], 'targetGroupInfoList' => [ 'shape' => 'TargetGroupInfoList', ], ], ], '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', ], ], ], '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', ], ], ], 'RevisionLocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'RevisionLocation', ], ], 'RevisionLocationType' => [ 'type' => 'string', 'enum' => [ 'S3', 'GitHub', 'String', ], ], '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, ], 'TargetGroupInfo' => [ 'type' => 'structure', 'members' => [ 'name' => [ 'shape' => 'TargetGroupName', ], ], ], 'TargetGroupInfoList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroupInfo', ], ], 'TargetGroupName' => [ 'type' => 'string', ], 'TargetInstances' => [ 'type' => 'structure', 'members' => [ 'tagFilters' => [ 'shape' => 'EC2TagFilterList', ], 'autoScalingGroups' => [ 'shape' => 'AutoScalingGroupNameList', ], 'ec2TagSet' => [ 'shape' => 'EC2TagSet', ], ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], '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', ], 'TrafficRoutingConfig' => [ 'type' => 'structure', 'members' => [ 'type' => [ 'shape' => 'TrafficRoutingType', ], 'timeBasedCanary' => [ 'shape' => 'TimeBasedCanary', ], 'timeBasedLinear' => [ 'shape' => 'TimeBasedLinear', ], ], ], 'TrafficRoutingType' => [ 'type' => 'string', 'enum' => [ 'TimeBasedCanary', 'TimeBasedLinear', 'AllAtOnce', ], ], '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', ], 'onPremisesTagSet' => [ 'shape' => 'OnPremisesTagSet', ], ], ], 'UpdateDeploymentGroupOutput' => [ 'type' => 'structure', 'members' => [ 'hooksNotCleanedUp' => [ 'shape' => 'AutoScalingGroupList', ], ], ], 'Value' => [ 'type' => 'string', ], 'VersionId' => [ 'type' => 'string', ], 'WaitTimeInMins' => [ 'type' => 'integer', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/api-2.json.php index 0eed12b68..0d6bf2f0d 100644 --- a/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2015-07-09', 'endpointPrefix' => 'codepipeline', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodePipeline', 'serviceFullName' => 'AWS 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', ], ], ], '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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\\-\\.]+', ], '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}', ], '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, ], '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, ], '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', 'artifactStore', 'stages', ], 'members' => [ 'name' => [ 'shape' => 'PipelineName', ], 'roleArn' => [ 'shape' => 'RoleArn', ], 'artifactStore' => [ 'shape' => 'ArtifactStore', ], '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', ], ], ], 'S3BucketName' => [ 'type' => 'string', ], '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', ], ], ], '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, ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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, ], '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', ], ], ], 'S3BucketName' => [ 'type' => 'string', ], '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/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/smoke.json.php new file mode 100644 index 000000000..a41b2c131 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/codepipeline/2015-07-09/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPipelines', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetPipeline', 'input' => [ 'name' => 'fake-pipeline', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/api-2.json.php index 1d2fb8fda..fd6acb84e 100644 --- a/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-04-19', 'endpointPrefix' => 'codestar', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'CodeStar', 'serviceFullName' => 'AWS 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', ], ], ], 'ClientRequestToken' => [ 'type' => 'string', 'max' => 256, 'min' => 1, 'pattern' => '^[\\w:/-]+$', ], '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', ], ], ], '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', ], ], ], '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, ], '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, ], '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\\/[a-z0-9-]+$', ], 'ProjectsList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProjectSummary', ], ], 'RemoteAccessAllowed' => [ 'type' => 'boolean', ], '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)$', ], '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]+$', ], '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', ], ], '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)?$', ], '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, ], ],]; +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/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/smoke.json.php new file mode 100644 index 000000000..dbeb94a9d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/codestar/2017-04-19/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListProjects', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/comprehend/2017-11-27/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/comprehend/2017-11-27/api-2.json.php index a47f22fc3..e25eaf80d 100644 --- a/vendor/aws/aws-sdk-php/src/data/comprehend/2017-11-27/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/comprehend/2017-11-27/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'ListTopicsDetectionJobs' => [ 'name' => 'ListTopicsDetectionJobs', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListTopicsDetectionJobsRequest', ], 'output' => [ 'shape' => 'ListTopicsDetectionJobsResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InvalidFilterException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartDominantLanguageDetectionJob' => [ 'name' => 'StartDominantLanguageDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDominantLanguageDetectionJobRequest', ], 'output' => [ 'shape' => 'StartDominantLanguageDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartEntitiesDetectionJob' => [ 'name' => 'StartEntitiesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartEntitiesDetectionJobRequest', ], 'output' => [ 'shape' => 'StartEntitiesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartKeyPhrasesDetectionJob' => [ 'name' => 'StartKeyPhrasesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartKeyPhrasesDetectionJobRequest', ], 'output' => [ 'shape' => 'StartKeyPhrasesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartSentimentDetectionJob' => [ 'name' => 'StartSentimentDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSentimentDetectionJobRequest', ], 'output' => [ 'shape' => 'StartSentimentDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartTopicsDetectionJob' => [ 'name' => 'StartTopicsDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTopicsDetectionJobRequest', ], 'output' => [ 'shape' => 'StartTopicsDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ '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', ], ], ], ], '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, ], 'ClientRequestTokenString' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '^[a-zA-Z0-9-]+$', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DominantLanguageDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DominantLanguageDetectionJobProperties', ], ], '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', ], 'InputDataConfig' => [ 'shape' => 'InputDataConfig', ], 'OutputDataConfig' => [ 'shape' => 'OutputDataConfig', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], ], ], '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', ], ], ], 'EntityType' => [ 'type' => 'string', 'enum' => [ 'PERSON', 'LOCATION', 'ORGANIZATION', 'COMMERCIAL_ITEM', 'EVENT', 'DATE', 'QUANTITY', 'TITLE', 'OTHER', ], ], 'Float' => [ 'type' => 'float', ], 'IamRoleArn' => [ 'type' => 'string', '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, ], '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', ], ], ], 'KeyPhrasesDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPhrasesDetectionJobProperties', ], ], 'LanguageCode' => [ 'type' => 'string', 'enum' => [ 'en', 'es', ], ], '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', ], ], ], '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', ], ], ], '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, ], 'NumberOfTopicsInteger' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'OutputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], 'PartOfSpeechTag' => [ 'type' => 'structure', 'members' => [ 'Tag' => [ 'shape' => 'PartOfSpeechTagType', ], 'Score' => [ 'shape' => 'Float', ], ], ], 'PartOfSpeechTagType' => [ 'type' => 'string', 'enum' => [ 'ADJ', 'ADP', 'ADV', 'AUX', 'CONJ', 'DET', 'INTJ', 'NOUN', 'NUM', 'O', 'PART', 'PRON', 'PROPN', 'PUNCT', 'SCONJ', 'SYM', 'VERB', ], ], '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', ], ], ], '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', ], ], '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, ], ], ], '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', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], ], ], '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, ], ], ], '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, ], ], ], '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, ], ], ], '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', ], ], ], 'String' => [ 'type' => 'string', 'min' => 1, ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'SyntaxLanguageCode' => [ 'type' => 'string', 'enum' => [ 'en', ], ], 'SyntaxToken' => [ 'type' => 'structure', 'members' => [ 'TokenId' => [ 'shape' => 'Integer', ], 'Text' => [ 'shape' => 'String', ], 'BeginOffset' => [ 'shape' => 'Integer', ], 'EndOffset' => [ 'shape' => 'Integer', ], 'PartOfSpeech' => [ 'shape' => 'PartOfSpeechTag', ], ], ], 'TextSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ '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', ], ], ], 'TopicsDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicsDetectionJobProperties', ], ], 'UnsupportedLanguageException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], ],]; +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' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ 'shape' => 'InternalServerException', ], ], ], 'CreateEntityRecognizer' => [ 'name' => 'CreateEntityRecognizer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateEntityRecognizerRequest', ], 'output' => [ 'shape' => 'CreateEntityRecognizerResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'ResourceLimitExceededException', ], [ 'shape' => 'UnsupportedLanguageException', ], [ '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', ], ], ], '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' => 'InternalServerException', ], ], ], 'StartDominantLanguageDetectionJob' => [ 'name' => 'StartDominantLanguageDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartDominantLanguageDetectionJobRequest', ], 'output' => [ 'shape' => 'StartDominantLanguageDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ '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' => 'InternalServerException', ], ], ], 'StartKeyPhrasesDetectionJob' => [ 'name' => 'StartKeyPhrasesDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartKeyPhrasesDetectionJobRequest', ], 'output' => [ 'shape' => 'StartKeyPhrasesDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartSentimentDetectionJob' => [ 'name' => 'StartSentimentDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartSentimentDetectionJobRequest', ], 'output' => [ 'shape' => 'StartSentimentDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'InternalServerException', ], ], ], 'StartTopicsDetectionJob' => [ 'name' => 'StartTopicsDetectionJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartTopicsDetectionJobRequest', ], 'output' => [ 'shape' => 'StartTopicsDetectionJobResponse', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'TooManyRequestsException', ], [ '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', ], ], ], ], '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-]+$', ], 'ComprehendArnName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'CreateDocumentClassifierRequest' => [ 'type' => 'structure', 'required' => [ 'DocumentClassifierName', 'DataAccessRoleArn', 'InputDataConfig', 'LanguageCode', ], 'members' => [ 'DocumentClassifierName' => [ 'shape' => 'ComprehendArnName', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'InputDataConfig' => [ 'shape' => 'DocumentClassifierInputDataConfig', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], 'CreateDocumentClassifierResponse' => [ 'type' => 'structure', 'members' => [ 'DocumentClassifierArn' => [ 'shape' => 'DocumentClassifierArn', ], ], ], 'CreateEntityRecognizerRequest' => [ 'type' => 'structure', 'required' => [ 'RecognizerName', 'DataAccessRoleArn', 'InputDataConfig', 'LanguageCode', ], 'members' => [ 'RecognizerName' => [ 'shape' => 'ComprehendArnName', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], 'InputDataConfig' => [ 'shape' => 'EntityRecognizerInputDataConfig', ], 'ClientRequestToken' => [ 'shape' => 'ClientRequestTokenString', 'idempotencyToken' => true, ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'ClassifierMetadata' => [ 'shape' => 'ClassifierMetadata', ], 'DataAccessRoleArn' => [ 'shape' => 'IamRoleArn', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'KeyPhrasesDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'KeyPhrasesDetectionJobProperties', ], ], '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', ], ], ], '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', 'IN_ERROR', 'TRAINED', ], ], 'NumberOfTopicsInteger' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'OutputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3Uri', ], 'members' => [ 'S3Uri' => [ 'shape' => 'S3Uri', ], ], ], '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', ], ], ], '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, ], ], ], '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, ], ], ], '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, ], ], ], '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, ], ], ], '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, ], ], ], '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, ], ], ], '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', ], ], ], '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', ], ], ], 'TextSizeLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'Timestamp' => [ 'type' => 'timestamp', ], 'TooManyRequestsException' => [ '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', ], ], ], 'TopicsDetectionJobPropertiesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TopicsDetectionJobProperties', ], ], 'UnsupportedLanguageException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/api-2.json.php new file mode 100644 index 000000000..b49f8dec7 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/paginators-1.json.php new file mode 100644 index 000000000..943c96b0f --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/comprehendmedical/2018-10-30/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/config/2014-11-12/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/config/2014-11-12/api-2.json.php index a96dae1b9..2815305e2 100644 --- a/vendor/aws/aws-sdk-php/src/data/config/2014-11-12/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/config/2014-11-12/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'ListDiscoveredResources' => [ 'name' => 'ListDiscoveredResources', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListDiscoveredResourcesRequest', ], 'output' => [ 'shape' => 'ListDiscoveredResourcesResponse', ], 'errors' => [ [ 'shape' => 'ValidationException', ], [ 'shape' => 'InvalidLimitException', ], [ 'shape' => 'InvalidNextTokenException', ], [ 'shape' => 'NoAvailableConfigurationRecorderException', ], ], ], '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', ], ], ], 'PutRetentionConfiguration' => [ 'name' => 'PutRetentionConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRetentionConfigurationRequest', ], 'output' => [ 'shape' => 'PutRetentionConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MaxNumberOfRetentionConfigurationsExceededException', ], ], ], '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', ], ], ], 'StopConfigurationRecorder' => [ 'name' => 'StopConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], ], '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', ], ], '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', ], '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, ], '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', ], ], ], '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', ], ], ], 'DescribeRetentionConfigurationsRequest' => [ 'type' => 'structure', 'members' => [ 'RetentionConfigurationNames' => [ 'shape' => 'RetentionConfigurationNameList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], 'DescribeRetentionConfigurationsResponse' => [ 'type' => 'structure', 'members' => [ 'RetentionConfigurations' => [ 'shape' => 'RetentionConfigurationList', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], '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', ], ], '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', ], ], ], '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, ], '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, ], '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, ], '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', ], ], ], '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, ], '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, ], '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', ], ], ], 'PutRetentionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'RetentionPeriodInDays', ], 'members' => [ 'RetentionPeriodInDays' => [ 'shape' => 'RetentionPeriodInDays', ], ], ], 'PutRetentionConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'RetentionConfiguration' => [ 'shape' => 'RetentionConfiguration', ], ], ], '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', ], 'ResourceCount' => [ 'type' => 'structure', 'members' => [ 'resourceType' => [ 'shape' => 'ResourceType', ], 'count' => [ 'shape' => 'Long', ], ], ], 'ResourceCounts' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceCount', ], ], 'ResourceCreationTime' => [ 'type' => 'timestamp', ], 'ResourceDeletionTime' => [ 'type' => 'timestamp', ], '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', ], ], '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, ], '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', ], ], 'ResourceTypeList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceType', ], ], 'ResourceTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'StringWithCharLimit256', ], 'max' => 20, 'min' => 0, ], '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', ], ], ], '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', ], ], ], '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', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'Name', ], 'value' => [ 'shape' => 'Value', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'string', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'PutRetentionConfiguration' => [ 'name' => 'PutRetentionConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutRetentionConfigurationRequest', ], 'output' => [ 'shape' => 'PutRetentionConfigurationResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterValueException', ], [ 'shape' => 'MaxNumberOfRetentionConfigurationsExceededException', ], ], ], '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', ], ], ], 'StopConfigurationRecorder' => [ 'name' => 'StopConfigurationRecorder', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopConfigurationRecorderRequest', ], 'errors' => [ [ 'shape' => 'NoSuchConfigurationRecorderException', ], ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], '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, ], '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', ], ], ], '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, ], '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', ], ], ], 'PutRetentionConfigurationRequest' => [ 'type' => 'structure', 'required' => [ 'RetentionPeriodInDays', ], 'members' => [ 'RetentionPeriodInDays' => [ 'shape' => 'RetentionPeriodInDays', ], ], ], 'PutRetentionConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'RetentionConfiguration' => [ 'shape' => 'RetentionConfiguration', ], ], ], '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', ], '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, ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], 'Tags' => [ 'type' => 'map', 'key' => [ 'shape' => 'Name', ], 'value' => [ 'shape' => 'Value', ], ], 'UnprocessedResourceIdentifierList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AggregateResourceIdentifier', ], ], 'ValidationException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'Value' => [ 'type' => 'string', ], 'Version' => [ 'type' => 'string', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/api-2.json.php index 4c582c05b..4dab9f1e3 100644 --- a/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], 'ClientToken' => [ 'type' => 'string', 'max' => 500, ], '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', ], ], ], '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, ], 'DirectoryUserId' => [ 'type' => 'string', ], 'DuplicateResourceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], 'Email' => [ 'type' => 'string', ], 'GetFederationTokenRequest' => [ 'type' => 'structure', 'required' => [ 'InstanceId', ], 'members' => [ 'InstanceId' => [ 'shape' => 'InstanceId', 'location' => 'uri', 'locationName' => 'InstanceId', ], ], ], 'GetFederationTokenResponse' => [ 'type' => 'structure', 'members' => [ 'Credentials' => [ 'shape' => 'Credentials', ], ], ], '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', ], ], ], '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', ], ], ], '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,}$/', ], 'PhoneNumber' => [ 'type' => 'string', ], 'PhoneType' => [ 'type' => 'string', 'enum' => [ 'SOFT_PHONE', 'DESK_PHONE', ], ], 'QueueId' => [ 'type' => 'string', ], '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', ], ], ], 'StopContactRequest' => [ 'type' => 'structure', 'required' => [ 'ContactId', 'InstanceId', ], 'members' => [ 'ContactId' => [ 'shape' => 'ContactId', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], ], ], 'StopContactResponse' => [ 'type' => 'structure', 'members' => [], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'Message', ], ], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], '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', ], ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; +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', ], ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/paginators-1.json.php index aef5d71d8..a0479900a 100644 --- a/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/connect/2017-08-08/paginators-1.json.php @@ -1,3 +1,3 @@ [],]; +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/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/api-2.json.php new file mode 100644 index 000000000..348c49ea0 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/paginators-1.json.php new file mode 100644 index 000000000..41ed0e6b4 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/datasync/2018-11-09/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/devicefarm/2015-06-23/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/devicefarm/2015-06-23/api-2.json.php index 1e13f74de..80249fb17 100644 --- a/vendor/aws/aws-sdk-php/src/data/devicefarm/2015-06-23/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/devicefarm/2015-06-23/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], 'DeviceAttribute' => [ 'type' => 'string', 'enum' => [ 'ARN', 'PLATFORM', 'FORM_FACTOR', 'MANUFACTURER', 'REMOTE_ACCESS_ENABLED', 'REMOTE_DEBUG_ENABLED', 'APPIUM_VERSION', 'INSTANCE_ARN', 'INSTANCE_LABELS', 'FLEET_TYPE', ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', 'GREATER_THAN', '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', ], ], ], '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', 'devicePoolArn', 'test', ], 'members' => [ 'projectArn' => [ 'shape' => 'AmazonResourceName', ], 'appArn' => [ 'shape' => 'AmazonResourceName', ], 'devicePoolArn' => [ 'shape' => 'AmazonResourceName', ], '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_WEB_JAVA_JUNIT', 'APPIUM_WEB_JAVA_TESTNG', 'APPIUM_WEB_PYTHON', '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', ], ], ], '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_WEB_JAVA_JUNIT_TEST_PACKAGE', 'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE', 'APPIUM_WEB_PYTHON_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_WEB_JAVA_JUNIT_TEST_SPEC', 'APPIUM_WEB_JAVA_TESTNG_TEST_SPEC', 'APPIUM_WEB_PYTHON_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', ], ],]; +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', ], ], ], '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', ], ], 'DeviceAvailability' => [ 'type' => 'string', 'enum' => [ 'TEMPORARY_NOT_AVAILABLE', 'BUSY', 'AVAILABLE', 'HIGHLY_AVAILABLE', ], ], 'DeviceFilter' => [ 'type' => 'structure', 'members' => [ 'attribute' => [ 'shape' => 'DeviceFilterAttribute', ], 'operator' => [ 'shape' => 'DeviceFilterOperator', ], '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', ], ], 'DeviceFilterOperator' => [ 'type' => 'string', 'enum' => [ 'EQUALS', 'LESS_THAN', 'LESS_THAN_OR_EQUALS', 'GREATER_THAN', 'GREATER_THAN_OR_EQUALS', 'IN', 'NOT_IN', 'CONTAINS', ], ], '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', ], ], ], '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', 'GREATER_THAN', '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_WEB_JAVA_JUNIT', 'APPIUM_WEB_JAVA_TESTNG', 'APPIUM_WEB_PYTHON', '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', ], ], ], '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_WEB_JAVA_JUNIT_TEST_PACKAGE', 'APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE', 'APPIUM_WEB_PYTHON_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_WEB_JAVA_JUNIT_TEST_SPEC', 'APPIUM_WEB_JAVA_TESTNG_TEST_SPEC', 'APPIUM_WEB_PYTHON_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/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/api-2.json.php index 4e4321665..5c297b3f3 100644 --- a/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2012-10-25', 'endpointPrefix' => 'directconnect', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWS Direct Connect', 'signatureVersion' => 'v4', 'targetPrefix' => 'OvertureService', 'uid' => 'directconnect-2012-10-25', ], 'operations' => [ '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], 'UpdateLag' => [ 'name' => 'UpdateLag', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateLagRequest', ], 'output' => [ 'shape' => 'Lag', ], 'errors' => [ [ 'shape' => 'DirectConnectServerException', ], [ 'shape' => 'DirectConnectClientException', ], ], ], ], 'shapes' => [ 'ASN' => [ 'type' => 'integer', ], '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', ], ], ], 'AwsDevice' => [ 'type' => 'string', 'deprecated' => true, ], 'AwsDeviceV2' => [ 'type' => 'string', ], 'BGPAuthKey' => [ 'type' => 'string', ], 'BGPPeer' => [ 'type' => 'structure', 'members' => [ 'asn' => [ 'shape' => 'ASN', ], 'authKey' => [ 'shape' => 'BGPAuthKey', ], 'addressFamily' => [ 'shape' => 'AddressFamily', ], 'amazonAddress' => [ 'shape' => 'AmazonAddress', ], 'customerAddress' => [ 'shape' => 'CustomerAddress', ], 'bgpPeerState' => [ 'shape' => 'BGPPeerState', ], 'bgpStatus' => [ 'shape' => 'BGPStatus', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], ], ], 'BGPPeerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'BGPPeer', ], ], 'BGPPeerState' => [ 'type' => 'string', 'enum' => [ 'verifying', 'pending', 'available', 'deleting', 'deleted', ], ], 'BGPStatus' => [ 'type' => 'string', 'enum' => [ 'up', 'down', ], ], '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', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], ], ], 'ConnectionId' => [ 'type' => 'string', ], 'ConnectionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connection', ], ], 'ConnectionName' => [ 'type' => 'string', ], 'ConnectionState' => [ 'type' => 'string', 'enum' => [ 'ordering', 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', 'rejected', ], ], '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', ], ], ], 'CreateDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'virtualGatewayId', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], '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', ], ], ], 'DeleteBGPPeerResponse' => [ 'type' => 'structure', 'members' => [ 'virtualInterface' => [ 'shape' => 'VirtualInterface', ], ], ], 'DeleteConnectionRequest' => [ 'type' => 'structure', 'required' => [ 'connectionId', ], 'members' => [ 'connectionId' => [ 'shape' => 'ConnectionId', ], ], ], 'DeleteDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'virtualGatewayId', ], 'members' => [ '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', ], ], ], 'DescribeDirectConnectGatewayAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], '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', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'virtualGatewayRegion' => [ 'shape' => 'VirtualGatewayRegion', ], 'virtualGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'associationState' => [ 'shape' => 'DirectConnectGatewayAssociationState', ], 'stateChangeError' => [ 'shape' => 'StateChangeError', ], ], ], 'DirectConnectGatewayAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], 'DirectConnectGatewayAssociationState' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', ], ], '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', ], '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', ], 'awsDeviceV2' => [ 'shape' => 'AwsDeviceV2', ], ], ], 'InterconnectId' => [ 'type' => 'string', ], 'InterconnectList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Interconnect', ], ], 'InterconnectName' => [ 'type' => 'string', ], 'InterconnectState' => [ 'type' => 'string', 'enum' => [ 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', ], ], 'Interconnects' => [ 'type' => 'structure', 'members' => [ 'interconnects' => [ 'shape' => 'InterconnectList', ], ], ], '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', ], ], ], 'LagId' => [ 'type' => 'string', ], 'LagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Lag', ], ], 'LagName' => [ 'type' => 'string', ], 'LagState' => [ 'type' => 'string', 'enum' => [ 'requested', 'pending', 'available', 'down', 'deleting', 'deleted', ], ], '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', ], ], ], 'LocationCode' => [ 'type' => 'string', ], 'LocationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Location', ], ], 'LocationName' => [ 'type' => 'string', ], 'Locations' => [ 'type' => 'structure', 'members' => [ 'locations' => [ 'shape' => 'LocationList', ], ], ], 'LongAsn' => [ 'type' => 'long', ], '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', ], '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', ], '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', ], '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' => [], ], 'UpdateLagRequest' => [ 'type' => 'structure', 'required' => [ 'lagId', ], 'members' => [ 'lagId' => [ 'shape' => 'LagId', ], 'lagName' => [ 'shape' => 'LagName', ], 'minimumLinks' => [ 'shape' => 'Count', ], ], ], 'VLAN' => [ 'type' => 'integer', ], 'VirtualGateway' => [ 'type' => 'structure', 'members' => [ 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'virtualGatewayState' => [ 'shape' => 'VirtualGatewayState', ], ], ], 'VirtualGatewayId' => [ 'type' => 'string', ], 'VirtualGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualGateway', ], ], 'VirtualGatewayRegion' => [ 'type' => 'string', ], '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', ], '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', ], ], 'VirtualInterfaceType' => [ 'type' => 'string', ], 'VirtualInterfaces' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaces' => [ 'shape' => 'VirtualInterfaceList', ], ], ], ],]; +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' => [ '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], ], 'CreateDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'virtualGatewayId', ], 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], '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', ], ], ], 'DeleteDirectConnectGatewayAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'directConnectGatewayId', 'virtualGatewayId', ], 'members' => [ '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', ], ], ], 'DescribeDirectConnectGatewayAssociationsRequest' => [ 'type' => 'structure', 'members' => [ 'directConnectGatewayId' => [ 'shape' => 'DirectConnectGatewayId', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'maxResults' => [ 'shape' => 'MaxResultSetSize', ], 'nextToken' => [ 'shape' => 'PaginationToken', ], ], ], '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', ], 'virtualGatewayId' => [ 'shape' => 'VirtualGatewayId', ], 'virtualGatewayRegion' => [ 'shape' => 'VirtualGatewayRegion', ], 'virtualGatewayOwnerAccount' => [ 'shape' => 'OwnerAccount', ], 'associationState' => [ 'shape' => 'DirectConnectGatewayAssociationState', ], 'stateChangeError' => [ 'shape' => 'StateChangeError', ], ], ], 'DirectConnectGatewayAssociationList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DirectConnectGatewayAssociation', ], ], 'DirectConnectGatewayAssociationState' => [ 'type' => 'string', 'enum' => [ 'associating', 'associated', 'disassociating', 'disassociated', ], ], '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', ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], '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' => [], ], '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', ], 'VirtualGatewayList' => [ 'type' => 'list', 'member' => [ 'shape' => 'VirtualGateway', ], ], 'VirtualGatewayRegion' => [ 'type' => 'string', ], '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', ], ], 'VirtualInterfaceType' => [ 'type' => 'string', ], 'VirtualInterfaces' => [ 'type' => 'structure', 'members' => [ 'virtualInterfaces' => [ 'shape' => 'VirtualInterfaceList', ], ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/smoke.json.php new file mode 100644 index 000000000..ce6f8dc61 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/directconnect/2012-10-25/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeConnections', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeConnections', 'input' => [ 'connectionId' => 'fake-connection', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/dlm/2018-01-12/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/dlm/2018-01-12/api-2.json.php index 44a0de687..54d1a6df8 100644 --- a/vendor/aws/aws-sdk-php/src/data/dlm/2018-01-12/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/dlm/2018-01-12/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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', ], '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', ], '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' => [], ], ],]; +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', ], '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/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/api-2.json.php index 6db8d8255..4c099efac 100644 --- a/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], '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', ], ], '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', ], ], ], 'ModifyReplicationInstance' => [ 'name' => 'ModifyReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationInstanceMessage', ], 'output' => [ 'shape' => 'ModifyReplicationInstanceResponse', ], 'errors' => [ [ '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' => [], ], 'AuthMechanismValue' => [ 'type' => 'string', 'enum' => [ 'default', 'mongodb_cr', 'scram_sha_1', ], ], 'AuthTypeValue' => [ 'type' => 'string', 'enum' => [ 'no', 'password', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], 'KMSKeyNotAccessibleFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], 'KeyList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', ], ], 'ListTagsForResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'String', ], ], ], 'ListTagsForResourceResponse' => [ 'type' => 'structure', 'members' => [ 'TagList' => [ 'shape' => 'TagList', ], ], ], 'Long' => [ 'type' => 'long', ], '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', ], ], ], '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', ], ], ], 'OrderableReplicationInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableReplicationInstance', ], ], 'RebootReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], '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', ], ], ], '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', ], ], 'exception' => true, ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], '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', ], ], ], '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', ], ], ],]; +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', ], ], ], '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' => 'ResourceAlreadyExistsFault', ], [ 'shape' => 'SNSInvalidTopicFault', ], [ 'shape' => 'SNSNoAuthorizationFault', ], [ 'shape' => 'ResourceNotFoundFault', ], ], ], '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', ], ], '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', ], ], ], 'ModifyReplicationInstance' => [ 'name' => 'ModifyReplicationInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyReplicationInstanceMessage', ], 'output' => [ 'shape' => 'ModifyReplicationInstanceResponse', ], 'errors' => [ [ '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' => [], ], 'AuthMechanismValue' => [ 'type' => 'string', 'enum' => [ 'default', 'mongodb_cr', 'scram_sha_1', ], ], 'AuthTypeValue' => [ 'type' => 'string', 'enum' => [ 'no', 'password', ], ], 'AvailabilityZone' => [ 'type' => 'structure', 'members' => [ 'Name' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], 'KMSKeyNotAccessibleFault' => [ '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', ], ], ], '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', ], ], ], 'OrderableReplicationInstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'OrderableReplicationInstance', ], ], 'RebootReplicationInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'ReplicationInstanceArn', ], 'members' => [ 'ReplicationInstanceArn' => [ 'shape' => 'String', ], 'ForceFailover' => [ 'shape' => 'BooleanOptional', ], ], ], 'RebootReplicationInstanceResponse' => [ 'type' => 'structure', 'members' => [ 'ReplicationInstance' => [ 'shape' => 'ReplicationInstance', ], ], ], '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', ], ], 'exception' => true, ], 'ResourceNotFoundFault' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ExceptionMessage', ], ], 'exception' => true, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/waiters-2.json.php b/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/waiters-2.json.php new file mode 100644 index 000000000..236e8f38b --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/dms/2016-01-01/waiters-2.json.php @@ -0,0 +1,3 @@ + 2, 'waiters' => [ 'TestConnectionSucceeds' => [ 'acceptors' => [ [ 'argument' => 'Connection.Status', 'expected' => 'successful', 'matcher' => 'path', 'state' => 'success', ], [ 'argument' => 'Connection.Status', 'expected' => 'failed', 'matcher' => 'path', 'state' => 'failure', ], ], 'delay' => 5, 'description' => 'Wait until testing connection succeeds.', 'maxAttempts' => 60, 'operation' => 'TestConnection', ], '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/vendor/aws/aws-sdk-php/src/data/ds/2015-04-16/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ds/2015-04-16/api-2.json.php index b73f4df03..44c4daaf4 100644 --- a/vendor/aws/aws-sdk-php/src/data/ds/2015-04-16/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ds/2015-04-16/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [ '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', ], ], ], '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', ], ], ], 'CreateDirectoryResult' => [ 'type' => 'structure', 'members' => [ 'DirectoryId' => [ 'shape' => 'DirectoryId', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateTrustResult' => [ 'type' => 'structure', 'members' => [ 'TrustId' => [ 'shape' => 'TrustId', ], ], ], 'CreatedDateTime' => [ 'type' => 'timestamp', ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], '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', ], ], ], '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])+$', ], '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', ], ], '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, ], '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', ], ], ], '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', ], ], ], 'ManualSnapshotsLimitReached' => [ 'type' => 'boolean', ], 'NextToken' => [ 'type' => 'string', ], 'OrganizationalUnitDN' => [ 'type' => 'string', 'max' => 2000, 'min' => 1, ], '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' => [], ], '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})$', ], '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, ], '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', ], ], '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', ], ], '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', ], ], ], '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, 'sensitive' => true, ], 'TrustState' => [ 'type' => 'string', 'enum' => [ 'Creating', 'Created', 'Verifying', 'VerifyFailed', 'Verified', 'Deleting', 'Deleted', 'Failed', ], ], 'TrustStateReason' => [ 'type' => 'string', ], 'TrustType' => [ 'type' => 'string', 'enum' => [ 'Forest', ], ], 'Trusts' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trust', ], ], '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', ], '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})$', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/dynamodb/2012-08-10/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/dynamodb/2012-08-10/api-2.json.php index 8d39e5816..fca0d0da3 100644 --- a/vendor/aws/aws-sdk-php/src/data/dynamodb/2012-08-10/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/dynamodb/2012-08-10/api-2.json.php @@ -1,3 +1,3 @@ '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' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'BatchWriteItem' => [ 'name' => 'BatchWriteItem', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchWriteItemInput', ], 'output' => [ 'shape' => 'BatchWriteItemOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ItemCollectionSizeLimitExceededException', ], [ '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' => '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' => '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' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'Query' => [ 'name' => 'Query', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'QueryInput', ], 'output' => [ 'shape' => 'QueryOutput', ], 'errors' => [ [ 'shape' => 'ProvisionedThroughputExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ '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' => 'InternalServerError', ], ], 'endpointdiscovery' => [], ], 'TagResource' => [ 'name' => 'TagResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TagResourceInput', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InternalServerError', ], [ 'shape' => 'ResourceInUseException', ], ], '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' => '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', ], ], 'BackupTypeFilter' => [ 'type' => 'string', 'enum' => [ 'USER', 'SYSTEM', '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, ], 'BinaryAttributeValue' => [ 'type' => 'blob', ], 'BinarySetAttributeValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'BinaryAttributeValue', ], ], 'BooleanAttributeValue' => [ 'type' => 'boolean', ], 'BooleanObject' => [ 'type' => 'boolean', ], 'Capacity' => [ 'type' => 'structure', 'members' => [ 'CapacityUnits' => [ 'shape' => 'ConsumedCapacityUnits', ], ], ], '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', ], ], ], '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', ], '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', 'ProvisionedThroughput', ], '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', 'ProvisionedThroughput', ], 'members' => [ 'AttributeDefinitions' => [ 'shape' => 'AttributeDefinitions', ], 'TableName' => [ 'shape' => 'TableName', ], 'KeySchema' => [ 'shape' => 'KeySchema', ], 'LocalSecondaryIndexes' => [ 'shape' => 'LocalSecondaryIndexList', ], 'GlobalSecondaryIndexes' => [ 'shape' => 'GlobalSecondaryIndexList', ], 'ProvisionedThroughput' => [ 'shape' => 'ProvisionedThroughput', ], 'StreamSpecification' => [ 'shape' => 'StreamSpecification', ], 'SSESpecification' => [ 'shape' => 'SSESpecification', ], ], ], 'CreateTableOutput' => [ 'type' => 'structure', 'members' => [ 'TableDescription' => [ 'shape' => 'TableDescription', ], ], ], 'Date' => [ 'type' => 'timestamp', ], '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', ], ], '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', 'ProvisionedThroughput', ], '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', ], ], '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', ], ], '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, ], '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' => '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', ], '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', ], 'ReplicaProvisionedReadCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], 'ReplicaProvisionedReadCapacityAutoScalingSettings' => [ 'shape' => 'AutoScalingSettingsDescription', ], 'ReplicaProvisionedWriteCapacityUnits' => [ 'shape' => 'PositiveLongObject', ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], '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', ], ], 'UntagResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'TagKeys', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArnString', ], 'TagKeys' => [ 'shape' => 'TagKeyList', ], ], ], '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', ], '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', ], '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, ], ],]; +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' => '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' => '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', ], ], 'BackupTypeFilter' => [ 'type' => 'string', 'enum' => [ 'USER', 'SYSTEM', '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', ], ], ], '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' => 'String', '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/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php index e597e121d..c890ae20d 100644 --- a/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], 'DisassociateVpcCidrBlock' => [ 'name' => 'DisassociateVpcCidrBlock', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateVpcCidrBlockRequest', ], 'output' => [ 'shape' => 'DisassociateVpcCidrBlockResult', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], 'ModifyInstanceCreditSpecification' => [ 'name' => 'ModifyInstanceCreditSpecification', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyInstanceCreditSpecificationRequest', ], 'output' => [ 'shape' => 'ModifyInstanceCreditSpecificationResult', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'AddressList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Address', 'locationName' => 'item', ], ], 'Affinity' => [ 'type' => 'string', 'enum' => [ 'default', 'host', ], ], 'AllocateAddressRequest' => [ 'type' => 'structure', 'members' => [ 'Domain' => [ 'shape' => 'DomainType', ], 'Address' => [ 'shape' => 'String', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'AllocateAddressResult' => [ 'type' => 'structure', 'members' => [ 'PublicIp' => [ 'shape' => 'String', 'locationName' => 'publicIp', ], 'AllocationId' => [ 'shape' => 'String', 'locationName' => 'allocationId', ], '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', ], ], ], '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', ], ], 'ArchitectureValues' => [ 'type' => 'string', 'enum' => [ 'i386', 'x86_64', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'AssociationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AssociationId', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'required' => [ 'Error', 'SpotFleetRequestId', ], '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', 'required' => [ 'CurrentSpotFleetRequestState', 'PreviousSpotFleetRequestState', 'SpotFleetRequestId', ], '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', ], ], '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', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'ClassicLoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLoadBalancer', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'ClassicLoadBalancersConfig' => [ 'type' => 'structure', 'required' => [ 'ClassicLoadBalancers', ], 'members' => [ 'ClassicLoadBalancers' => [ 'shape' => 'ClassicLoadBalancers', 'locationName' => 'classicLoadBalancers', ], ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'String', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'UploadStart' => [ 'shape' => 'DateTime', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', 'required' => [ 'GroupName', 'Strategy', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], ], ], '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', ], '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', ], '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', ], ], ], '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', 'VpnGatewayId', ], 'members' => [ 'CustomerGatewayId' => [ 'shape' => 'String', ], 'Type' => [ 'shape' => 'String', ], 'VpnGatewayId' => [ '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', ], 'DefaultTargetCapacityType' => [ 'type' => 'string', 'enum' => [ 'spot', 'on-demand', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => 'Integer', ], 'MinDuration' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'OfferingSet' => [ 'shape' => 'HostOfferingSet', 'locationName' => 'offeringSet', ], ], ], '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', ], ], ], 'DescribeInstanceCreditSpecificationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'Integer', ], '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', ], ], ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], ], ], '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', ], ], ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], ], ], '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', ], ], ], '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', ], ], ], 'DescribeRouteTablesResult' => [ 'type' => 'structure', 'members' => [ 'RouteTables' => [ 'shape' => 'RouteTableList', 'locationName' => 'routeTableSet', ], ], ], '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', 'required' => [ 'ActiveInstances', 'SpotFleetRequestId', ], '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', 'required' => [ 'HistoryRecords', 'LastEvaluatedTime', 'SpotFleetRequestId', 'StartTime', ], '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', 'required' => [ 'SpotFleetRequestConfigs', ], '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', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], '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', ], ], ], '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', ], ], ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], ], ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], ], ], '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', ], '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], 'HistoryRecord' => [ 'type' => 'structure', 'required' => [ 'EventInformation', 'EventType', 'Timestamp', ], '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', ], ], ], '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', ], ], 'ImportImageRequest' => [ 'type' => 'structure', 'members' => [ 'Architecture' => [ 'shape' => 'String', ], 'ClientData' => [ 'shape' => 'ClientData', ], 'ClientToken' => [ 'shape' => 'String', ], 'Description' => [ 'shape' => 'String', ], 'DiskContainers' => [ 'shape' => 'ImageDiskContainerList', 'locationName' => 'DiskContainer', ], 'DryRun' => [ 'shape' => 'Boolean', ], 'Hypervisor' => [ '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', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], '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', ], 'Hypervisor' => [ 'shape' => 'String', 'locationName' => 'hypervisor', ], 'ImageId' => [ 'shape' => 'String', 'locationName' => 'imageId', ], 'ImportTaskId' => [ 'shape' => 'String', 'locationName' => 'importTaskId', ], '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', 'required' => [ 'AvailabilityZone', 'BytesConverted', 'Image', 'Status', 'Volume', ], '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', ], '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', ], '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', ], ], ], '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', ], ], ], 'InstanceExportDetails' => [ 'type' => 'structure', 'members' => [ 'InstanceId' => [ 'shape' => 'String', 'locationName' => 'instanceId', ], 'TargetEnvironment' => [ 'shape' => 'ExportEnvironment', 'locationName' => 'targetEnvironment', ], ], ], 'InstanceHealthStatus' => [ 'type' => 'string', 'enum' => [ 'healthy', 'unhealthy', ], ], 'InstanceIdSet' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'item', ], ], 'InstanceIdStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'InstanceId', ], ], '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', ], ], ], 'InstanceLifecycleType' => [ 'type' => 'string', 'enum' => [ 'spot', 'scheduled', ], ], 'InstanceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Instance', 'locationName' => 'item', ], ], 'InstanceMarketOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'MarketType' => [ 'shape' => 'MarketType', ], 'SpotOptions' => [ 'shape' => 'SpotMarketOptions', ], ], ], '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' => [ 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], ], ], '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.8xlarge', 'r5.12xlarge', 'r5.16xlarge', 'r5.24xlarge', 'r5.metal', 'r5d.large', 'r5d.xlarge', 'r5d.2xlarge', 'r5d.4xlarge', 'r5d.8xlarge', 'r5d.12xlarge', 'r5d.16xlarge', 'r5d.24xlarge', 'r5d.metal', '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', 'cc1.4xlarge', 'cc2.8xlarge', 'g2.2xlarge', 'g2.8xlarge', 'g3.4xlarge', 'g3.8xlarge', 'g3.16xlarge', 'cg1.4xlarge', 'p2.xlarge', 'p2.8xlarge', 'p2.16xlarge', 'p3.2xlarge', 'p3.8xlarge', 'p3.16xlarge', 'd2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge', 'f1.2xlarge', 'f1.16xlarge', 'm5.large', 'm5.xlarge', 'm5.2xlarge', 'm5.4xlarge', 'm5.12xlarge', 'm5.24xlarge', 'm5d.large', 'm5d.xlarge', 'm5d.2xlarge', 'm5d.4xlarge', 'm5d.12xlarge', 'm5d.24xlarge', 'h1.2xlarge', 'h1.4xlarge', 'h1.8xlarge', 'h1.16xlarge', 'z1d.large', 'z1d.xlarge', 'z1d.2xlarge', 'z1d.3xlarge', 'z1d.6xlarge', 'z1d.12xlarge', ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], ], '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', ], ], ], 'LaunchTemplateErrorCode' => [ 'type' => 'string', 'enum' => [ 'launchTemplateIdDoesNotExist', 'launchTemplateIdMalformed', 'launchTemplateNameDoesNotExist', 'launchTemplateNameMalformed', 'launchTemplateVersionDoesNotExist', 'unexpectedError', ], ], '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', ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'OnDemandOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'FleetOnDemandAllocationStrategy', ], ], ], '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', ], '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', ], ], ], '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', 'spread', ], ], 'PlatformValues' => [ 'type' => 'string', 'enum' => [ 'Windows', ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], 'SecurityGroupIds' => [ 'shape' => 'SecurityGroupIdStringList', 'locationName' => 'SecurityGroupId', ], 'SecurityGroups' => [ 'shape' => 'SecurityGroupStringList', 'locationName' => 'SecurityGroup', ], 'InstanceMarketOptions' => [ 'shape' => 'LaunchTemplateInstanceMarketOptionsRequest', ], 'CreditSpecification' => [ 'shape' => 'CreditSpecificationRequest', ], 'CpuOptions' => [ 'shape' => 'LaunchTemplateCpuOptionsRequest', ], ], ], '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', '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' => [ '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', ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], 'TagSpecifications' => [ 'shape' => 'TagSpecificationList', 'locationName' => 'TagSpecification', ], 'LaunchTemplate' => [ 'shape' => 'LaunchTemplateSpecification', ], 'InstanceMarketOptions' => [ 'shape' => 'InstanceMarketOptionsRequest', ], 'CreditSpecification' => [ 'shape' => 'CreditSpecificationRequest', ], 'CpuOptions' => [ 'shape' => 'CpuOptionsRequest', ], ], ], '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', ], ], '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', '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', ], ], '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', ], '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', ], ], ], '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', 'required' => [ 'CreateTime', 'SpotFleetRequestConfig', 'SpotFleetRequestId', 'SpotFleetRequestState', ], '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', ], ], ], 'SpotOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'SpotAllocationStrategy', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'SpotInstanceInterruptionBehavior', ], 'InstancePoolsToUseCount' => [ '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', 'required' => [ 'GroupId', ], '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', ], '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', ], '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', ], 'AssignIpv6AddressOnCreation' => [ 'shape' => 'Boolean', 'locationName' => 'assignIpv6AddressOnCreation', ], 'Ipv6CidrBlockAssociationSet' => [ 'shape' => 'SubnetIpv6CidrBlockAssociationSet', 'locationName' => 'ipv6CidrBlockAssociationSet', ], 'Tags' => [ 'shape' => 'TagList', 'locationName' => 'tagSet', ], ], ], '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', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], ], ], 'TargetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroup', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'TargetGroupsConfig' => [ 'type' => 'structure', 'required' => [ 'TargetGroups', ], 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', 'locationName' => 'targetGroups', ], ], ], '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', ], ], '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', ], ], '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', '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', ], ], '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', ], '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', ], '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', ], ], ], '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', ], ], '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', ], ], ], 'ZoneNameStringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'ZoneName', ], ], 'scope' => [ 'type' => 'string', 'enum' => [ 'Availability Zone', 'Region', ], ], ],]; +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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], 'AssociationIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'AssociationId', ], ], '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', ], ], ], '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', 'required' => [ 'Code', 'Message', ], 'members' => [ 'Code' => [ 'shape' => 'CancelBatchErrorCode', 'locationName' => 'code', ], 'Message' => [ 'shape' => 'String', 'locationName' => 'message', ], ], ], 'CancelSpotFleetRequestsErrorItem' => [ 'type' => 'structure', 'required' => [ 'Error', 'SpotFleetRequestId', ], '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', 'required' => [ 'CurrentSpotFleetRequestState', 'PreviousSpotFleetRequestState', 'SpotFleetRequestId', ], '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', ], ], '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', ], ], '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', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'String', 'locationName' => 'name', ], ], ], 'ClassicLoadBalancers' => [ 'type' => 'list', 'member' => [ 'shape' => 'ClassicLoadBalancer', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'ClassicLoadBalancersConfig' => [ 'type' => 'structure', 'required' => [ 'ClassicLoadBalancers', ], 'members' => [ 'ClassicLoadBalancers' => [ 'shape' => 'ClassicLoadBalancers', 'locationName' => 'classicLoadBalancers', ], ], ], 'ClientData' => [ 'type' => 'structure', 'members' => [ 'Comment' => [ 'shape' => 'String', ], 'UploadEnd' => [ 'shape' => 'DateTime', ], 'UploadSize' => [ 'shape' => 'Double', ], 'UploadStart' => [ 'shape' => 'DateTime', ], ], ], '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', ], ], ], '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', ], ], ], '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', 'required' => [ 'GroupName', 'Strategy', ], 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'GroupName' => [ 'shape' => 'String', 'locationName' => 'groupName', ], 'Strategy' => [ 'shape' => 'PlacementStrategy', 'locationName' => 'strategy', ], ], ], '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', ], ], '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', ], ], ], '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' => 'Integer', ], 'MinDuration' => [ 'shape' => 'Integer', ], 'NextToken' => [ 'shape' => 'String', ], 'OfferingId' => [ 'shape' => 'String', ], ], ], 'DescribeHostReservationOfferingsResult' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'String', 'locationName' => 'nextToken', ], 'OfferingSet' => [ 'shape' => 'HostOfferingSet', 'locationName' => 'offeringSet', ], ], ], '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', ], ], ], 'DescribeInstanceCreditSpecificationsRequest' => [ 'type' => 'structure', 'members' => [ 'DryRun' => [ 'shape' => 'Boolean', ], 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'InstanceIds' => [ 'shape' => 'InstanceIdStringList', 'locationName' => 'InstanceId', ], 'MaxResults' => [ 'shape' => 'Integer', ], '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', ], ], ], 'DescribeInternetGatewaysRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'InternetGatewayIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'internetGatewayId', ], ], ], 'DescribeInternetGatewaysResult' => [ 'type' => 'structure', 'members' => [ 'InternetGateways' => [ 'shape' => 'InternetGatewayList', 'locationName' => 'internetGatewaySet', ], ], ], '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', ], ], ], 'DescribeNetworkAclsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'NetworkAclIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'NetworkAclId', ], ], ], 'DescribeNetworkAclsResult' => [ 'type' => 'structure', 'members' => [ 'NetworkAcls' => [ 'shape' => 'NetworkAclList', 'locationName' => 'networkAclSet', ], ], ], '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', 'required' => [ 'ActiveInstances', 'SpotFleetRequestId', ], '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', 'required' => [ 'HistoryRecords', 'LastEvaluatedTime', 'SpotFleetRequestId', 'StartTime', ], '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', 'required' => [ 'SpotFleetRequestConfigs', ], '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', ], ], ], 'DescribeSpotInstanceRequestsResult' => [ 'type' => 'structure', 'members' => [ 'SpotInstanceRequests' => [ 'shape' => 'SpotInstanceRequestList', 'locationName' => 'spotInstanceRequestSet', ], ], ], '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', ], ], ], 'DescribeVpcPeeringConnectionsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], 'VpcPeeringConnectionIds' => [ 'shape' => 'ValueStringList', 'locationName' => 'VpcPeeringConnectionId', ], ], ], 'DescribeVpcPeeringConnectionsResult' => [ 'type' => 'structure', 'members' => [ 'VpcPeeringConnections' => [ 'shape' => 'VpcPeeringConnectionList', 'locationName' => 'vpcPeeringConnectionSet', ], ], ], 'DescribeVpcsRequest' => [ 'type' => 'structure', 'members' => [ 'Filters' => [ 'shape' => 'FilterList', 'locationName' => 'Filter', ], 'VpcIds' => [ 'shape' => 'VpcIdStringList', 'locationName' => 'VpcId', ], 'DryRun' => [ 'shape' => 'Boolean', 'locationName' => 'dryRun', ], ], ], 'DescribeVpcsResult' => [ 'type' => 'structure', 'members' => [ 'Vpcs' => [ 'shape' => 'VpcList', 'locationName' => 'vpcSet', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', 'required' => [ 'EventInformation', 'EventType', 'Timestamp', ], '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', ], ], ], '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', ], ], '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', ], ], ], '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' => [ 'Code' => [ 'shape' => 'EventCode', 'locationName' => 'code', ], 'Description' => [ 'shape' => 'String', 'locationName' => 'description', ], 'NotAfter' => [ 'shape' => 'DateTime', 'locationName' => 'notAfter', ], 'NotBefore' => [ 'shape' => 'DateTime', 'locationName' => 'notBefore', ], ], ], '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.8xlarge', 'r5.12xlarge', 'r5.16xlarge', '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.8xlarge', 'r5d.12xlarge', 'r5d.16xlarge', 'r5d.24xlarge', 'r5d.metal', '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', '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', 'm5a.large', 'm5a.xlarge', 'm5a.2xlarge', 'm5a.4xlarge', 'm5a.12xlarge', 'm5a.24xlarge', 'm5d.large', 'm5d.xlarge', 'm5d.2xlarge', 'm5d.4xlarge', 'm5d.12xlarge', 'm5d.24xlarge', 'h1.2xlarge', 'h1.4xlarge', 'h1.8xlarge', 'h1.16xlarge', 'z1d.large', 'z1d.xlarge', 'z1d.2xlarge', 'z1d.3xlarge', 'z1d.6xlarge', 'z1d.12xlarge', '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'minTargetCapacity', ], ], ], 'OnDemandOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'FleetOnDemandAllocationStrategy', ], 'SingleInstanceType' => [ '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', ], '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', ], ], ], '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', ], ], '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', 'required' => [ 'SpotFleetRequestId', ], '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' => [ 'customer-gateway', 'dedicated-host', 'dhcp-options', 'elastic-ip', 'fleet', 'fpga-image', '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', ], ], ], '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', 'required' => [ 'CreateTime', 'SpotFleetRequestConfig', 'SpotFleetRequestId', 'SpotFleetRequestState', ], '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', ], 'MinTargetCapacity' => [ 'shape' => 'Integer', 'locationName' => 'minTargetCapacity', ], ], ], 'SpotOptionsRequest' => [ 'type' => 'structure', 'members' => [ 'AllocationStrategy' => [ 'shape' => 'SpotAllocationStrategy', ], 'InstanceInterruptionBehavior' => [ 'shape' => 'SpotInstanceInterruptionBehavior', ], 'InstancePoolsToUseCount' => [ 'shape' => 'Integer', ], 'SingleInstanceType' => [ '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', 'required' => [ 'Arn', ], 'members' => [ 'Arn' => [ 'shape' => 'String', 'locationName' => 'arn', ], ], ], 'TargetGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'TargetGroup', 'locationName' => 'item', ], 'max' => 5, 'min' => 1, ], 'TargetGroupsConfig' => [ 'type' => 'structure', 'required' => [ 'TargetGroups', ], 'members' => [ 'TargetGroups' => [ 'shape' => 'TargetGroups', 'locationName' => 'targetGroups', ], ], ], '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', ], ], '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', ], ], ], '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', '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', ], ], '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', ], ], '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/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/paginators-1.json.php index 29e7cdc58..818fdd7a2 100644 --- a/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ec2/2016-11-15/paginators-1.json.php @@ -1,3 +1,3 @@ [ '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', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNatGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NatGateways', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], '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' => [ 'result_key' => 'RouteTables', ], 'DescribeSecurityGroups' => [ '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' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], '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', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],]; +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', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'InstanceStatuses', ], 'DescribeInstances' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Reservations', ], 'DescribeInternetGateways' => [ 'result_key' => 'InternetGateways', ], 'DescribeKeyPairs' => [ 'result_key' => 'KeyPairs', ], 'DescribeNatGateways' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NatGateways', ], 'DescribeNetworkAcls' => [ 'result_key' => 'NetworkAcls', ], 'DescribeNetworkInterfaces' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'NetworkInterfaces', ], 'DescribePlacementGroups' => [ 'result_key' => 'PlacementGroups', ], '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', ], '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' => [ 'result_key' => 'SpotInstanceRequests', ], 'DescribeSpotPriceHistory' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'SpotPriceHistory', ], 'DescribeSubnets' => [ 'result_key' => 'Subnets', ], 'DescribeTags' => [ 'input_token' => 'NextToken', 'limit_key' => 'MaxResults', 'output_token' => 'NextToken', 'result_key' => 'Tags', ], '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', ], 'DescribeVpcPeeringConnections' => [ 'result_key' => 'VpcPeeringConnections', ], 'DescribeVpcs' => [ 'result_key' => 'Vpcs', ], 'DescribeVpnConnections' => [ 'result_key' => 'VpnConnections', ], 'DescribeVpnGateways' => [ 'result_key' => 'VpnGateways', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/api-2.json.php index cb44a241a..f89dd6e15 100644 --- a/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ecs/2014-11-13/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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', ], ], ], 'ClusterContainsContainerInstancesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterContainsServicesException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterContainsTasksException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ClusterField' => [ 'type' => 'string', 'enum' => [ 'STATISTICS', ], ], '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', ], ], ], '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', ], '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', ], 'dockerLabels' => [ 'shape' => 'DockerLabelsMap', ], 'ulimits' => [ 'shape' => 'UlimitList', ], 'logConfiguration' => [ 'shape' => 'LogConfiguration', ], 'healthCheck' => [ 'shape' => 'HealthCheck', ], ], ], 'ContainerDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerDefinition', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateClusterResponse' => [ 'type' => 'structure', 'members' => [ 'cluster' => [ 'shape' => 'Cluster', ], ], ], 'CreateServiceRequest' => [ 'type' => 'structure', 'required' => [ 'serviceName', 'taskDefinition', ], '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', ], ], ], 'CreateServiceResponse' => [ 'type' => 'structure', 'members' => [ 'service' => [ 'shape' => 'Service', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DescribeContainerInstancesResponse' => [ 'type' => 'structure', 'members' => [ 'containerInstances' => [ 'shape' => 'ContainerInstances', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeServicesRequest' => [ 'type' => 'structure', 'required' => [ 'services', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'services' => [ 'shape' => 'StringList', ], ], ], 'DescribeServicesResponse' => [ 'type' => 'structure', 'members' => [ 'services' => [ 'shape' => 'Services', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'DescribeTaskDefinitionRequest' => [ 'type' => 'structure', 'required' => [ 'taskDefinition', ], 'members' => [ 'taskDefinition' => [ 'shape' => 'String', ], ], ], 'DescribeTaskDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinition' => [ 'shape' => 'TaskDefinition', ], ], ], 'DescribeTasksRequest' => [ 'type' => 'structure', 'required' => [ 'tasks', ], 'members' => [ 'cluster' => [ 'shape' => 'String', ], 'tasks' => [ 'shape' => 'StringList', ], ], ], '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', ], ], '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, ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], 'RegisterTaskDefinitionResponse' => [ 'type' => 'structure', 'members' => [ 'taskDefinition' => [ 'shape' => 'TaskDefinition', ], ], ], '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', ], ], ], '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', ], ], ], 'RunTaskResponse' => [ 'type' => 'structure', 'members' => [ 'tasks' => [ 'shape' => 'Tasks', ], 'failures' => [ 'shape' => 'Failures', ], ], ], 'SchedulingStrategy' => [ 'type' => 'string', 'enum' => [ 'REPLICA', 'DAEMON', ], ], 'Scope' => [ 'type' => 'string', 'enum' => [ 'task', 'shared', ], ], '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', ], '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', ], ], ], 'ServiceEvent' => [ 'type' => 'structure', 'members' => [ 'id' => [ 'shape' => 'String', ], 'createdAt' => [ 'shape' => 'Timestamp', ], 'message' => [ 'shape' => 'String', ], ], ], 'ServiceEvents' => [ 'type' => 'list', 'member' => [ 'shape' => 'ServiceEvent', ], ], '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', ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'ASC', 'DESC', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], 'TaskDefinitionFamilyStatus' => [ 'type' => 'string', 'enum' => [ 'ACTIVE', 'INACTIVE', 'ALL', ], ], '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', ], ], 'TaskOverride' => [ 'type' => 'structure', 'members' => [ 'containerOverrides' => [ 'shape' => 'ContainerOverrides', ], 'taskRoleArn' => [ 'shape' => 'String', ], 'executionRoleArn' => [ 'shape' => 'String', ], ], ], '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, ], '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, ], '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', ], ], ], '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', ], ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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', ], ], ], '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', ], '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', ], ], ], 'ContainerDefinitions' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContainerDefinition', ], ], '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', ], ], ], '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', 'taskDefinition', ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], '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', ], 'scale' => [ 'shape' => 'Scale', ], 'stabilityStatus' => [ 'shape' => 'StabilityStatus', ], 'stabilityStatusAt' => [ 'shape' => 'Timestamp', ], ], ], '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, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/eks/2017-11-01/waiters-2.json.php b/vendor/aws/aws-sdk-php/src/data/eks/2017-11-01/waiters-2.json.php new file mode 100644 index 000000000..c31be827d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/eks/2017-11-01/waiters-2.json.php @@ -0,0 +1,3 @@ + 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/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/api-2.json.php index 30d1027ce..a04b3236c 100644 --- a/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2015-02-02', 'endpointPrefix' => 'elasticache', 'protocol' => 'query', 'serviceFullName' => 'Amazon 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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterValue', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => 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', ], ], ], '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', ], ], ], 'ModifyReplicationGroupShardConfigurationResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], 'NodeGroup' => [ 'type' => 'structure', 'members' => [ 'NodeGroupId' => [ 'shape' => 'String', ], 'Status' => [ 'shape' => 'String', ], 'PrimaryEndpoint' => [ 'shape' => 'Endpoint', ], 'Slots' => [ 'shape' => 'String', ], 'NodeGroupMembers' => [ 'shape' => 'NodeGroupMemberList', ], ], ], 'NodeGroupConfiguration' => [ 'type' => 'structure', 'members' => [ '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' => 'String', 'locationName' => 'NodeGroupToRemove', ], ], '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', ], ], 'RemoveTagsFromResourceMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'TagKeys', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'TagKeys' => [ 'shape' => 'KeyList', ], ], ], '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', ], ], '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' => [ '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', ], ], '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' => 'String', ], ], ], 'TestFailoverNotAvailableFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'TestFailoverNotAvailableFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'TestFailoverResult' => [ 'type' => 'structure', 'members' => [ 'ReplicationGroup' => [ 'shape' => 'ReplicationGroup', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/smoke.json.php new file mode 100644 index 000000000..bef855336 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/elasticache/2015-02-02/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'DescribeEvents', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeCacheClusters', 'input' => [ 'CacheClusterId' => 'fake_cluster', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/elasticloadbalancingv2/2015-12-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/elasticloadbalancingv2/2015-12-01/api-2.json.php index be0fd1f3e..dd9377bcc 100644 --- a/vendor/aws/aws-sdk-php/src/data/elasticloadbalancingv2/2015-12-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/elasticloadbalancingv2/2015-12-01/api-2.json.php @@ -1,3 +1,3 @@ '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', 'ClientSecret', ], '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', ], ], ], 'AuthenticateOidcActionIssuer' => [ 'type' => 'string', ], 'AuthenticateOidcActionScope' => [ 'type' => 'string', ], 'AuthenticateOidcActionSessionCookieName' => [ 'type' => 'string', ], 'AuthenticateOidcActionSessionTimeout' => [ 'type' => 'long', ], 'AuthenticateOidcActionTokenEndpoint' => [ 'type' => 'string', ], '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', 'Protocol', 'Port', 'VpcId', ], 'members' => [ 'Name' => [ 'shape' => 'TargetGroupName', ], 'Protocol' => [ 'shape' => 'ProtocolEnum', ], 'Port' => [ 'shape' => 'Port', ], 'VpcId' => [ 'shape' => 'VpcId', ], 'HealthCheckProtocol' => [ 'shape' => 'ProtocolEnum', ], 'HealthCheckPort' => [ 'shape' => 'HealthCheckPort', ], '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$', ], 'HealthCheckIntervalSeconds' => [ 'type' => 'integer', 'max' => 300, 'min' => 5, ], 'HealthCheckPort' => [ 'type' => 'string', ], 'HealthCheckThresholdCount' => [ 'type' => 'integer', 'max' => 10, 'min' => 2, ], 'HealthCheckTimeoutSeconds' => [ 'type' => 'integer', 'max' => 60, 'min' => 2, ], 'HealthUnavailableException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'HealthUnavailable', 'httpStatusCode' => 500, ], 'exception' => true, ], 'HttpCode' => [ 'type' => 'string', ], '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', ], '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, ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', 'Elb.InternalError', ], ], 'TargetHealthStateEnum' => [ 'type' => 'string', 'enum' => [ 'initial', 'healthy', 'unhealthy', 'unused', 'draining', 'unavailable', ], ], 'TargetId' => [ 'type' => 'string', ], 'TargetTypeEnum' => [ 'type' => 'string', 'enum' => [ 'instance', 'ip', ], ], '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', ], ],]; +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', ], [ 'shape' => 'UnsupportedCertificateException', ], [ 'shape' => 'UnsupportedProtocolException', ], ], ], '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' => 'UnsupportedCertificateException', ], [ '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', ], ], ], 'DescribeProvisionedCapacity' => [ 'name' => 'DescribeProvisionedCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeProvisionedCapacityInput', ], 'output' => [ 'shape' => 'DescribeProvisionedCapacityOutput', 'resultWrapper' => 'DescribeProvisionedCapacityResult', ], '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' => 'UnsupportedCertificateException', ], [ 'shape' => 'TooManyActionsException', ], [ 'shape' => 'InvalidLoadBalancerActionException', ], ], ], 'ModifyLoadBalancerAttributes' => [ 'name' => 'ModifyLoadBalancerAttributes', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyLoadBalancerAttributesInput', ], 'output' => [ 'shape' => 'ModifyLoadBalancerAttributesOutput', 'resultWrapper' => 'ModifyLoadBalancerAttributesResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], ], ], 'ModifyProvisionedCapacity' => [ 'name' => 'ModifyProvisionedCapacity', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyProvisionedCapacityInput', ], 'output' => [ 'shape' => 'ModifyProvisionedCapacityOutput', 'resultWrapper' => 'ModifyProvisionedCapacityResult', ], 'errors' => [ [ 'shape' => 'LoadBalancerNotFoundException', ], [ 'shape' => 'InvalidConfigurationRequestException', ], [ 'shape' => 'MinimumLBCapacityUnitsDecreaseThrottlingException', ], [ 'shape' => 'MinimumLBCapacityUnitsLimitExceededException', ], [ 'shape' => 'InsufficientCapacityException', ], ], ], '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', 'redirect', 'authenticate-cognito', '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', ], 'StaticIp' => [ 'shape' => 'StaticIp', ], ], ], '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', ], 'DecreasesRemaining' => [ 'type' => 'integer', ], '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', ], ], ], 'DescribeProvisionedCapacityInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], ], ], 'DescribeProvisionedCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedCapacity' => [ 'shape' => 'ProvisionedCapacity', ], ], ], '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' => 'HttpRequestMethodList', ], ], ], 'HttpRequestMethodEnum' => [ 'type' => 'string', 'enum' => [ 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH', ], ], 'HttpRequestMethodList' => [ 'type' => 'list', 'member' => [ 'shape' => 'HttpRequestMethodEnum', ], ], 'IncompatibleProtocolsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'IncompatibleProtocols', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'InsufficientCapacityException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'InsufficientCapacity', 'httpStatusCode' => 500, ], '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', ], 'LBCapacityUnits' => [ 'type' => 'integer', ], 'LastModifiedTime' => [ 'type' => 'timestamp', ], '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', ], 'MinimumLBCapacityUnitsDecreaseThrottlingException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'MinimumLBCapacityUnitsDecreaseThrottling', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'MinimumLBCapacityUnitsLimitExceededException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'MinimumLBCapacityUnitsLimitExceeded', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], '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', ], ], ], 'ModifyProvisionedCapacityInput' => [ 'type' => 'structure', 'required' => [ 'LoadBalancerArn', 'MinimumLBCapacityUnits', ], 'members' => [ 'LoadBalancerArn' => [ 'shape' => 'LoadBalancerArn', ], 'MinimumLBCapacityUnits' => [ 'shape' => 'LBCapacityUnits', ], ], ], 'ModifyProvisionedCapacityOutput' => [ 'type' => 'structure', 'members' => [ 'ProvisionedCapacity' => [ 'shape' => 'ProvisionedCapacity', ], ], ], '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', 'UDP', ], ], 'ProvisionedCapacity' => [ 'type' => 'structure', 'members' => [ 'MinimumLBCapacityUnits' => [ 'shape' => 'LBCapacityUnits', ], 'Status' => [ 'shape' => 'ProvisionedCapacityStatus', ], 'DecreasesRemaining' => [ 'shape' => 'DecreasesRemaining', ], 'LastModifiedTime' => [ 'shape' => 'LastModifiedTime', ], ], ], 'ProvisionedCapacityStatus' => [ 'type' => 'string', 'enum' => [ 'disabled', 'pending', 'provisioned', 'pre-warmed', ], ], 'QueryStringConditionConfig' => [ 'type' => 'structure', 'members' => [ 'Values' => [ 'shape' => 'ListOfString', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'StaticIp' => [ 'type' => 'boolean', ], 'String' => [ 'type' => 'string', ], 'StringValue' => [ 'type' => 'string', ], 'SubnetId' => [ 'type' => 'string', ], 'SubnetMapping' => [ 'type' => 'structure', 'members' => [ 'SubnetId' => [ 'shape' => 'SubnetId', ], 'AllocationId' => [ 'shape' => 'AllocationId', ], 'StaticIp' => [ 'shape' => 'StaticIp', ], ], ], '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, ], 'UnsupportedCertificateException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'UnsupportedCertificate', '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/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/api-2.json.php index 0e24bd096..d3a6701e7 100644 --- a/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'uid' => 'elastictranscoder-2012-09-25', 'apiVersion' => '2012-09-25', 'endpointPrefix' => 'elastictranscoder', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon Elastic Transcoder', 'signatureVersion' => 'v4', ], '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' => 10000, ], '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$)', ], '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, ], ],]; +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/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/smoke.json.php new file mode 100644 index 000000000..28e75c6eb --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/elastictranscoder/2012-09-25/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPresets', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'ReadJob', 'input' => [ 'Id' => 'fake_job', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/endpoints.json.php b/vendor/aws/aws-sdk-php/src/data/endpoints.json.php index d675e776c..db39b550e 100644 --- a/vendor/aws/aws-sdk-php/src/data/endpoints.json.php +++ b/vendor/aws/aws-sdk-php/src/data/endpoints.json.php @@ -1,3 +1,3 @@ [ [ '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-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-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.mediatailor' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], ], ], 'api.pricing' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'pricing', ], ], 'endpoints' => [ 'ap-south-1' => [], 'us-east-1' => [], ], ], 'api.sagemaker' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-northeast-2' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-2' => [], ], ], 'apigateway' => [ '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' => [], ], ], '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-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' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'athena' => [ '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' => [], ], ], '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-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-southeast-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], '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-west-1' => [], 'eu-west-2' => [], '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', ], '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' => [], '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-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-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' => [], ], ], '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-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' => [], '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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], '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' => [], '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' => [], '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-2' => [], '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-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' => [], ], ], 'dax' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], '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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], '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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'ecr' => [ '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' => [], ], ], 'ecs' => [ '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' => [], ], ], 'elasticache' => [ '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' => '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-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' => [], '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-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], '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-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' => [ 'eu-west-1' => [], 'us-east-1' => [], '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-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' => [], 'us-east-1' => [], 'us-east-2' => [], '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' => [ '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-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-west-2' => [], ], ], 'kinesisvideo' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'kms' => [ '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' => [], ], ], 'lambda' => [ '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' => [], ], ], '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-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' => [], ], ], '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' => [], '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-southeast-1' => [], 'ap-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], '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' => [ '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', ], ], ], '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' => [ 'us-east-1' => [], ], ], 'polly' => [ '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' => [], ], ], 'rds' => [ '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' => [ '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-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-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' => [], ], ], '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-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], '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-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', ], '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', ], ], ], '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', ], ], '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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'servicediscovery' => [ 'endpoints' => [ 'ap-northeast-1' => [], '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' => [], ], ], '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-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-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-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-west-1' => [], 'eu-west-2' => [], '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-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-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-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], '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-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], '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-west-1' => [], 'eu-west-2' => [], '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' => [ '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' => [], ], ], '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' => [], ], ], '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' => [], ], ], 'ecr' => [ '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-northwest-1' => [], ], ], 'events' => [ 'endpoints' => [ 'cn-north-1' => [], 'cn-northwest-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' => [], ], ], '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' => [], ], ], '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' => [], ], ], '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-west-1' => [ 'description' => 'AWS GovCloud (US)', ], ], 'services' => [ 'acm' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'apigateway' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'application-autoscaling' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'autoscaling' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'cloudformation' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'cloudhsm' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'cloudhsmv2' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'cloudhsm', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'cloudtrail' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'codedeploy' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'config' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'data.iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'iotdata', ], 'protocols' => [ 'https', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'directconnect' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'dms' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'dynamodb' => [ 'endpoints' => [ '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-west-1' => [], ], ], 'ecr' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'ecs' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'elasticache' => [ 'endpoints' => [ 'fips' => [ 'credentialScope' => [ 'region' => 'us-gov-west-1', ], 'hostname' => 'elasticache-fips.us-gov-west-1.amazonaws.com', ], 'us-gov-west-1' => [], ], ], 'elasticbeanstalk' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'elasticloadbalancing' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'elasticmapreduce' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'https', ], ], ], ], 'es' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'events' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'glacier' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], '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-west-1' => [], ], ], 'iot' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'execute-api', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'kinesis' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'kms' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'lambda' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'logs' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'metering.marketplace' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'aws-marketplace', ], ], 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'monitoring' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'polly' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'rds' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'redshift' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'rekognition' => [ '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-west-1' => [ 'hostname' => 's3.us-gov-west-1.amazonaws.com', 'protocols' => [ 'http', 'https', ], ], ], ], 'sms' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'snowball' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'sns' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], 'sqs' => [ 'endpoints' => [ 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], 'sslCommonName' => '{region}.queue.{dnsSuffix}', ], ], ], 'ssm' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'states' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'storagegateway' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'streams.dynamodb' => [ 'defaults' => [ 'credentialScope' => [ 'service' => 'dynamodb', ], ], 'endpoints' => [ '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-west-1' => [], ], ], 'swf' => [ 'endpoints' => [ 'us-gov-west-1' => [], ], ], 'tagging' => [ 'endpoints' => [ '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', ], ], ], ], ], ], 'version' => 3,]; +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-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-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.mediatailor' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], 'eu-west-1' => [], 'us-east-1' => [], ], ], '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-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'apigateway' => [ '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' => [], ], ], '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-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' => [], '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' => [], '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' => [], '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-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-southeast-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-east-2' => [], '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-west-1' => [], 'eu-west-2' => [], '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' => [], '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-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-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-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-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-2' => [], '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-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' => [], ], ], 'dax' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'ap-south-1' => [], 'ap-southeast-1' => [], 'ap-southeast-2' => [], '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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], '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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-1' => [], 'us-west-2' => [], ], ], 'ecr' => [ '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' => [], ], ], 'ecs' => [ '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' => [], ], ], 'elasticache' => [ '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' => '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-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' => [], '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-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], '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-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' => [ 'eu-west-1' => [], 'us-east-1' => [], '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-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' => [], 'us-east-1' => [], 'us-east-2' => [], '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-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-west-2' => [], ], ], 'kinesisvideo' => [ 'endpoints' => [ 'ap-northeast-1' => [], 'eu-central-1' => [], 'eu-west-1' => [], 'us-east-1' => [], 'us-west-2' => [], ], ], 'kms' => [ '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' => [], ], ], 'lambda' => [ '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' => [], ], ], '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-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' => [], ], ], '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' => [], '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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], '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' => [ '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-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-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-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-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-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-west-1' => [], 'eu-west-2' => [], 'eu-west-3' => [], 'sa-east-1' => [], 'us-east-1' => [], 'us-east-2' => [], 'us-west-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' => [], ], ], '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-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-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', ], ], ], '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', ], ], '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-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-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-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-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-west-1' => [], 'eu-west-2' => [], '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-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-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-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-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-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-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-southeast-2' => [], 'eu-central-1' => [], 'eu-west-1' => [], '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-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' => [ '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' => [], ], ], 'ecr' => [ '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' => [], ], ], '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' => [], ], ], '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.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' => [], ], ], '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-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', ], ], ], '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' => [], ], ], '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' => [], ], ], 'ecr' => [ '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' => [], ], ], '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' => [ 'us-gov-west-1' => [], ], ], 'events' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [], ], ], 'glacier' => [ 'endpoints' => [ 'us-gov-east-1' => [], 'us-gov-west-1' => [ 'protocols' => [ 'http', 'https', ], ], ], ], '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' => [ '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' => [], ], ], '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-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', ], ], ], ], ], ], 'version' => 3,]; diff --git a/vendor/aws/aws-sdk-php/src/data/es/2015-01-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/es/2015-01-01/api-2.json.php index ef1aae4e3..d4d319e2a 100644 --- a/vendor/aws/aws-sdk-php/src/data/es/2015-01-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/es/2015-01-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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', ], ], ], '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', ], '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', ], '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', ], 'AdvancedOptions' => [ 'shape' => 'AdvancedOptions', ], 'LogPublishingOptions' => [ 'shape' => 'LogPublishingOptions', ], ], ], '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', ], '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, ], 'ServiceUrl' => [ 'type' => 'string', ], 'SnapshotOptions' => [ 'type' => 'structure', 'members' => [ 'AutomatedSnapshotStartHour' => [ 'shape' => 'IntegerClass', ], ], ], 'SnapshotOptionsStatus' => [ 'type' => 'structure', 'required' => [ 'Options', 'Status', ], 'members' => [ 'Options' => [ 'shape' => 'SnapshotOptions', ], 'Status' => [ 'shape' => 'OptionStatus', ], ], ], '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', ], ], ],]; +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', ], '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', ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/events/2015-10-07/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/events/2015-10-07/api-2.json.php index b602082d8..39bf66291 100644 --- a/vendor/aws/aws-sdk-php/src/data/events/2015-10-07/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/events/2015-10-07/api-2.json.php @@ -1,3 +1,3 @@ '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' => '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' => 'InternalException', ], ], ], 'EnableRule' => [ 'name' => 'EnableRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'EnableRuleRequest', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ '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', ], ], ], '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' => 'InternalException', ], ], ], 'PutTargets' => [ 'name' => 'PutTargets', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutTargetsRequest', ], 'output' => [ 'shape' => 'PutTargetsResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'LimitExceededException', ], [ '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' => 'InternalException', ], ], ], 'TestEventPattern' => [ 'name' => 'TestEventPattern', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestEventPatternRequest', ], 'output' => [ 'shape' => 'TestEventPatternResponse', ], 'errors' => [ [ 'shape' => 'InvalidEventPatternException', ], [ 'shape' => 'InternalException', ], ], ], ], '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, ], 'DeleteRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'PutRuleRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'RuleName', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'EventPattern' => [ 'shape' => 'EventPattern', ], 'State' => [ 'shape' => 'RuleState', ], 'Description' => [ 'shape' => 'RuleDescription', ], 'RoleArn' => [ 'shape' => 'RoleArn', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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, ], ],]; +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', ], ], ], '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', ], ], ], 'TestEventPattern' => [ 'name' => 'TestEventPattern', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'TestEventPatternRequest', ], 'output' => [ 'shape' => 'TestEventPatternResponse', ], 'errors' => [ [ 'shape' => 'InvalidEventPatternException', ], [ 'shape' => 'InternalException', ], ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/firehose/2015-08-04/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/firehose/2015-08-04/api-2.json.php index 521082556..23c269124 100644 --- a/vendor/aws/aws-sdk-php/src/data/firehose/2015-08-04/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/firehose/2015-08-04/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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}(? [ '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', ], ], ], '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', ], 'DeliveryStreamType' => [ 'shape' => 'DeliveryStreamType', ], 'VersionId' => [ 'shape' => 'DeliveryStreamVersionId', ], 'CreateTimestamp' => [ 'shape' => 'Timestamp', ], 'LastUpdateTimestamp' => [ 'shape' => 'Timestamp', ], 'Source' => [ 'shape' => 'SourceDescription', ], 'Destinations' => [ 'shape' => 'DestinationDescriptionList', ], 'HasMoreDestinations' => [ 'shape' => 'BooleanObject', ], ], ], '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', ], 'ExtendedS3DestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], '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', ], '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', ], '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', ], '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', ], ], ], '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', ], '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', ], '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', ], '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', ], ], '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, ], ],]; +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}(? [ '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', ], 'ExtendedS3DestinationConfiguration' => [ 'type' => 'structure', 'required' => [ 'RoleARN', 'BucketARN', ], 'members' => [ 'RoleARN' => [ 'shape' => 'RoleARN', ], 'BucketARN' => [ 'shape' => 'BucketARN', ], 'Prefix' => [ 'shape' => 'Prefix', ], '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', ], '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', ], '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', ], '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', ], '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', ], '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/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/api-2.json.php new file mode 100644 index 000000000..855766952 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/api-2.json.php @@ -0,0 +1,3 @@ + '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' => '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' => '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', ], '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, ], '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' => 300, ], '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, 'pattern' => '^(^(?!aws:).[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], '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, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], '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/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/paginators-1.json.php new file mode 100644 index 000000000..18da217db --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/fsx/2018-03-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [ 'DescribeBackups' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], 'DescribeFileSystems' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/api-2.json.php new file mode 100644 index 000000000..b08e51311 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/paginators-1.json.php new file mode 100644 index 000000000..241b3de79 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/globalaccelerator/2018-08-08/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/api-2.json.php index 9cff4d73c..f8b260492 100644 --- a/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], 'BatchGetPartition' => [ 'name' => 'BatchGetPartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetPartitionRequest', ], 'output' => [ 'shape' => 'BatchGetPartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'PutDataCatalogEncryptionSettings' => [ 'name' => 'PutDataCatalogEncryptionSettings', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'PutDataCatalogEncryptionSettingsRequest', ], 'output' => [ 'shape' => 'PutDataCatalogEncryptionSettingsResponse', ], 'errors' => [ [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'OperationTimeoutException', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], 'ConnectionProperties' => [ 'type' => 'map', 'key' => [ 'shape' => 'ConnectionPropertyKey', ], 'value' => [ 'shape' => 'ValueString', ], 'max' => 100, 'min' => 0, ], 'ConnectionPropertyKey' => [ 'type' => 'string', 'enum' => [ 'HOST', 'PORT', 'USERNAME', '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', ], ], ], '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', ], ], ], 'CreateCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], ], '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', ], ], ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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' => [], ], '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', ], ], ], 'DevEndpointCustomLibraries' => [ 'type' => 'structure', 'members' => [ 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], ], ], 'DevEndpointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DevEndpoint', ], ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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]*', ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], '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', ], 'ExecutionTime' => [ 'shape' => 'ExecutionTime', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], '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', ], ], '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, ], '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', ], ], ], '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' => [], ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], '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', ], ], '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]*', ], 'UpdateBehavior' => [ 'type' => 'string', 'enum' => [ 'LOG', 'UPDATE_IN_DATABASE', ], ], 'UpdateClassifierRequest' => [ 'type' => 'structure', 'members' => [ 'GrokClassifier' => [ 'shape' => 'UpdateGrokClassifierRequest', ], 'XMLClassifier' => [ 'shape' => 'UpdateXMLClassifierRequest', ], 'JsonClassifier' => [ 'shape' => 'UpdateJsonClassifierRequest', ], ], ], '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' => [], ], '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', ], ], ], '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, ], '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', ], ], ], ],]; +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', ], ], ], 'BatchGetPartition' => [ 'name' => 'BatchGetPartition', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'BatchGetPartitionRequest', ], 'output' => [ 'shape' => 'BatchGetPartitionResponse', ], 'errors' => [ [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'EntityNotFoundException', ], [ 'shape' => 'OperationTimeoutException', ], [ 'shape' => 'InternalServiceException', ], [ 'shape' => 'GlueEncryptionException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], 'ConnectionProperties' => [ 'type' => 'map', 'key' => [ 'shape' => 'ConnectionPropertyKey', ], 'value' => [ 'shape' => 'ValueString', ], 'max' => 100, 'min' => 0, ], 'ConnectionPropertyKey' => [ 'type' => 'string', 'enum' => [ 'HOST', 'PORT', 'USERNAME', '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', ], ], ], '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', ], ], ], 'CreateCrawlerResponse' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], ], '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', ], ], ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], 'DevEndpointCustomLibraries' => [ 'type' => 'structure', 'members' => [ 'ExtraPythonLibsS3Path' => [ 'shape' => 'GenericString', ], 'ExtraJarsS3Path' => [ 'shape' => 'GenericString', ], ], ], 'DevEndpointList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DevEndpoint', ], ], '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', ], ], ], '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', ], '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', ], ], ], '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, ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], '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', ], 'ExecutionTime' => [ 'shape' => 'ExecutionTime', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], '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', ], ], '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, ], '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', ], 'Timeout' => [ 'shape' => 'Timeout', ], 'NotificationProperty' => [ 'shape' => 'NotificationProperty', ], 'SecurityConfiguration' => [ 'shape' => 'NameString', ], ], ], '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', ], ], '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', ], ], '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]*', ], 'UpdateBehavior' => [ 'type' => 'string', 'enum' => [ 'LOG', 'UPDATE_IN_DATABASE', ], ], 'UpdateClassifierRequest' => [ 'type' => 'structure', 'members' => [ 'GrokClassifier' => [ 'shape' => 'UpdateGrokClassifierRequest', ], 'XMLClassifier' => [ 'shape' => 'UpdateXMLClassifierRequest', ], 'JsonClassifier' => [ 'shape' => 'UpdateJsonClassifierRequest', ], ], ], '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' => [], ], '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', ], ], ], '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, ], '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/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/smoke.json.php new file mode 100644 index 000000000..742f49cb8 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/glue/2017-03-31/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetCatalogImportStatus', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/greengrass/2017-06-07/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/greengrass/2017-06-07/api-2.json.php index 931e91266..40ca3c341 100644 --- a/vendor/aws/aws-sdk-php/src/data/greengrass/2017-06-07/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/greengrass/2017-06-07/api-2.json.php @@ -1,3 +1,3 @@ [ 'apiVersion' => '2017-06-07', 'endpointPrefix' => 'greengrass', 'signingName' => 'greengrass', 'serviceFullName' => 'AWS 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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'GetConnectivityInfo' => [ 'name' => 'GetConnectivityInfo', 'http' => [ 'method' => 'GET', 'requestUri' => '/greengrass/things/{ThingName}/connectivityInfo', 'responseCode' => 200, ], 'input' => [ 'shape' => 'GetConnectivityInfoRequest', ], 'output' => [ 'shape' => 'GetConnectivityInfoResponse', ], 'errors' => [ [ 'shape' => 'BadRequestException', ], [ 'shape' => 'InternalServerErrorException', ], ], ], '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', ], ], ], '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' => [], ], 'ResetDeployments' => [ 'name' => 'ResetDeployments', 'http' => [ 'method' => 'POST', 'requestUri' => '/greengrass/groups/{GroupId}/deployments/$reset', 'responseCode' => 200, ], 'input' => [ 'shape' => 'ResetDeploymentsRequest', ], 'output' => [ 'shape' => 'ResetDeploymentsResponse', ], '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', ], ], ], '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, ], ], 'ConnectivityInfo' => [ 'type' => 'structure', 'members' => [ 'HostAddress' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'Metadata' => [ 'shape' => '__string', ], 'PortNumber' => [ 'shape' => '__integer', ], ], ], 'Core' => [ 'type' => 'structure', 'members' => [ 'CertificateArn' => [ 'shape' => '__string', ], 'Id' => [ 'shape' => '__string', ], 'SyncShadow' => [ 'shape' => '__boolean', ], 'ThingArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'CoreDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Cores' => [ 'shape' => '__listOfCore', ], ], ], 'CreateCoreDefinitionRequest' => [ 'type' => 'structure', 'members' => [ 'AmznClientToken' => [ 'shape' => '__string', 'location' => 'header', 'locationName' => 'X-Amzn-Client-Token', ], 'InitialVersion' => [ 'shape' => 'CoreDefinitionVersion', ], 'Name' => [ 'shape' => '__string', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], 'ResourceAccessPolicies' => [ 'shape' => '__listOfResourceAccessPolicy', ], 'Variables' => [ 'shape' => '__mapOf__string', ], ], ], 'FunctionDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Functions' => [ 'shape' => '__listOfFunction', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], 'GetDeviceDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'DeviceDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionId', ], 'DeviceDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'DeviceDefinitionVersionId', ], ], 'required' => [ 'DeviceDefinitionVersionId', 'DeviceDefinitionId', ], ], 'GetDeviceDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'DeviceDefinitionVersion', ], 'Id' => [ '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', ], ], ], 'GetFunctionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'FunctionDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionId', ], 'FunctionDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'FunctionDefinitionVersionId', ], ], 'required' => [ 'FunctionDefinitionId', 'FunctionDefinitionVersionId', ], ], 'GetFunctionDefinitionVersionResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', ], 'CreationTimestamp' => [ 'shape' => '__string', ], 'Definition' => [ 'shape' => 'FunctionDefinitionVersion', ], 'Id' => [ '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', ], ], ], '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', ], ], ], 'GetLoggerDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ 'LoggerDefinitionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionId', ], 'LoggerDefinitionVersionId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'LoggerDefinitionVersionId', ], ], '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', ], ], ], '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', ], ], ], 'GetSubscriptionDefinitionVersionRequest' => [ 'type' => 'structure', 'members' => [ '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', ], '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' => [ '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, ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'SoftwareToUpdate' => [ 'type' => 'string', 'enum' => [ 'core', 'ota_agent', ], ], 'Subscription' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => '__string', ], 'Source' => [ 'shape' => '__string', ], 'Subject' => [ 'shape' => '__string', ], 'Target' => [ 'shape' => '__string', ], ], 'required' => [], ], 'SubscriptionDefinitionVersion' => [ 'type' => 'structure', 'members' => [ 'Subscriptions' => [ 'shape' => '__listOfSubscription', ], ], ], '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', ], ], ], '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', ], ], '__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', ], ], '__long' => [ 'type' => 'long', ], '__mapOf__string' => [ 'type' => 'map', 'key' => [ 'shape' => '__string', ], 'value' => [ 'shape' => '__string', ], ], '__string' => [ 'type' => 'string', ], '__timestamp' => [ 'type' => 'timestamp', ], ],]; +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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/guardduty/2017-11-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/guardduty/2017-11-28/api-2.json.php index 75517650a..0b26ca48b 100644 --- a/vendor/aws/aws-sdk-php/src/data/guardduty/2017-11-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/guardduty/2017-11-28/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], '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', ], ], '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' => [ 'Enable' => [ 'shape' => 'Enable', 'locationName' => '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', ], ], 'CreateFilterResponse' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'FilterName', 'locationName' => 'name', ], ], ], 'CreateIPSetRequest' => [ 'type' => 'structure', 'members' => [ 'Activate' => [ 'shape' => 'Activate', 'locationName' => 'activate', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Format' => [ 'shape' => 'IpSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], ], 'required' => [ 'DetectorId', ], ], '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', ], ], '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', ], 'DetectorId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'detectorId', ], 'Format' => [ 'shape' => 'ThreatIntelSetFormat', 'locationName' => 'format', ], 'Location' => [ 'shape' => 'Location', 'locationName' => 'location', ], 'Name' => [ 'shape' => 'Name', 'locationName' => 'name', ], ], 'required' => [ 'DetectorId', ], ], 'CreateThreatIntelSetResponse' => [ 'type' => 'structure', 'members' => [ 'ThreatIntelSetId' => [ 'shape' => 'ThreatIntelSetId', 'locationName' => 'threatIntelSetId', ], ], ], 'CreatedAt' => [ 'type' => 'string', ], 'DeclineInvitationsRequest' => [ 'type' => 'structure', 'members' => [ 'AccountIds' => [ 'shape' => 'AccountIds', 'locationName' => '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/health/2016-08-04/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/health/2016-08-04/api-2.json.php index 0ae52e702..f4879a8ab 100644 --- a/vendor/aws/aws-sdk-php/src/data/health/2016-08-04/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/health/2016-08-04/api-2.json.php @@ -1,3 +1,3 @@ '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', ], '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, ], '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-]+){1}((?:/[\\w-]+){2})?', ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/iam/2010-05-08/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/iam/2010-05-08/api-2.json.php index 6c60c6db4..cf495374c 100644 --- a/vendor/aws/aws-sdk-php/src/data/iam/2010-05-08/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/iam/2010-05-08/api-2.json.php @@ -1,3 +1,3 @@ '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' => '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' => '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' => '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' => '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => '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', ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], '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', ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], 'entityListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityType', ], ], '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+=,.@-]+', ], 'invalidAuthenticationCodeMessage' => [ 'type' => 'string', ], 'invalidCertificateMessage' => [ 'type' => 'string', ], 'invalidInputMessage' => [ 'type' => 'string', ], 'invalidPublicKeyMessage' => [ 'type' => 'string', ], 'invalidUserTypeMessage' => [ 'type' => 'string', ], 'keyPairMismatchMessage' => [ 'type' => 'string', ], 'limitExceededMessage' => [ 'type' => 'string', ], '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', ], 'policyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Policy', ], ], 'policyNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'policyNameType', ], ], 'policyNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'policyNotAttachableMessage' => [ 'type' => 'string', ], 'policyPathType' => [ 'type' => 'string', 'pattern' => '((/[A-Za-z0-9\\.,\\+@=_-]+)*)/', ], 'policyScopeType' => [ 'type' => 'string', 'enum' => [ 'All', 'AWS', 'Local', ], ], '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', ], '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', ], '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+=,.@-]+', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'MaxSessionDuration' => [ 'shape' => 'roleMaxSessionDurationType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], ], ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'PermissionsBoundary' => [ 'shape' => 'arnType', ], ], ], '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, ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'MaxSessionDuration' => [ 'shape' => 'roleMaxSessionDurationType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], ], ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], ], ], '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, ], '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', ], ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], ], ], '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', ], 'Tags' => [ 'shape' => 'tagListType', ], 'PermissionsBoundary' => [ 'shape' => 'AttachedPermissionsBoundary', ], ], ], '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', ], 'entityListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'EntityType', ], ], '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+=,.@-]+', ], 'invalidAuthenticationCodeMessage' => [ 'type' => 'string', ], 'invalidCertificateMessage' => [ 'type' => 'string', ], 'invalidInputMessage' => [ 'type' => 'string', ], 'invalidPublicKeyMessage' => [ 'type' => 'string', ], 'invalidUserTypeMessage' => [ 'type' => 'string', ], 'keyPairMismatchMessage' => [ 'type' => 'string', ], 'limitExceededMessage' => [ 'type' => 'string', ], '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', ], 'policyListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Policy', ], ], 'policyNameListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'policyNameType', ], ], 'policyNameType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\w+=,.@-]+', ], 'policyNotAttachableMessage' => [ 'type' => 'string', ], 'policyPathType' => [ 'type' => 'string', 'pattern' => '((/[A-Za-z0-9\\.,\\+@=_-]+)*)/', ], 'policyScopeType' => [ 'type' => 'string', 'enum' => [ 'All', 'AWS', 'Local', ], ], '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', ], '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', ], ], 'tagKeyType' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+', ], 'tagListType' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], '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/vendor/aws/aws-sdk-php/src/data/inspector/2016-02-16/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/inspector/2016-02-16/api-2.json.php index 463c649a9..8984fcafd 100644 --- a/vendor/aws/aws-sdk-php/src/data/inspector/2016-02-16/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/inspector/2016-02-16/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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, ], '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, ], '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', ], ], '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', ], '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, ], '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, ], ],]; +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/vendor/aws/aws-sdk-php/src/data/iot-jobs-data/2017-09-29/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/iot-jobs-data/2017-09-29/api-2.json.php index 1f6aa9fd7..6c180800b 100644 --- a/vendor/aws/aws-sdk-php/src/data/iot-jobs-data/2017-09-29/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/iot-jobs-data/2017-09-29/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-09-29', 'endpointPrefix' => 'data.jobs.iot', 'protocol' => 'rest-json', 'serviceFullName' => 'AWS 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' => [ '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', ], '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', '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', ], ], ], 'StartNextPendingJobExecutionResponse' => [ 'type' => 'structure', 'members' => [ 'execution' => [ 'shape' => 'JobExecution', ], ], ], 'StartedAt' => [ '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', ], ], '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', ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/api-2.json.php index 0cb75092e..a858aa076 100644 --- a/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'EnableTopicRule' => [ 'name' => 'EnableTopicRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/rules/{ruleName}/enable', ], 'input' => [ 'shape' => 'EnableTopicRuleRequest', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'UnauthorizedException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [ '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', ], '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', ], ], 'AddThingToThingGroupRequest' => [ 'type' => 'structure', 'members' => [ 'thingGroupName' => [ 'shape' => 'ThingGroupName', ], 'thingGroupArn' => [ 'shape' => 'ThingGroupArn', ], 'thingName' => [ 'shape' => 'ThingName', ], 'thingArn' => [ 'shape' => 'ThingArn', ], ], ], 'AddThingToThingGroupResponse' => [ 'type' => 'structure', 'members' => [], ], 'AdditionalParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'Value', ], ], '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', ], ], ], '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', ], ], ], 'BehaviorMetric' => [ 'type' => 'string', ], 'BehaviorName' => [ 'type' => 'string', 'max' => 128, 'min' => 1, 'pattern' => '[a-zA-Z0-9:_-]+', ], 'Behaviors' => [ 'type' => 'list', 'member' => [ 'shape' => 'Behavior', ], 'max' => 100, ], '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', ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'CreateScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [ 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], ], ], 'CreateSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', 'behaviors', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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' => [], ], 'DeleteAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], ], ], 'DeleteAuthorizerResponse' => [ '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, ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], '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', '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, ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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, ], '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', ], ], ], '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', ], 'comment' => [ 'shape' => 'Comment', ], 'targets' => [ 'shape' => 'JobTargets', ], 'description' => [ 'shape' => 'JobDescription', ], 'presignedUrlConfig' => [ 'shape' => 'PresignedUrlConfig', ], 'jobExecutionsRolloutConfig' => [ 'shape' => 'JobExecutionsRolloutConfig', ], 'createdAt' => [ 'shape' => 'DateType', ], 'lastUpdatedAt' => [ 'shape' => 'DateType', ], 'completedAt' => [ 'shape' => 'DateType', ], 'jobProcessDetails' => [ 'shape' => 'JobProcessDetails', ], ], ], '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', ], ], ], 'JobExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'QUEUED', 'IN_PROGRESS', 'SUCCEEDED', 'FAILED', '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', 'max' => 1000, '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', ], ], 'MetricValue' => [ 'type' => 'structure', 'members' => [ 'count' => [ 'shape' => 'UnsignedLong', ], 'cidrs' => [ 'shape' => 'Cidrs', ], 'ports' => [ 'shape' => 'Ports', ], ], ], '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, ], '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', ], ], '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', ], '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', ], '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, ], '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', ], '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', ], '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', ], ], 'ThingDocument' => [ 'type' => 'structure', 'members' => [ 'thingName' => [ 'shape' => 'ThingName', ], 'thingId' => [ 'shape' => 'ThingId', ], 'thingTypeName' => [ 'shape' => 'ThingTypeName', ], 'thingGroupNames' => [ 'shape' => 'ThingGroupNameList', ], 'attributes' => [ 'shape' => 'Attributes', ], 'shadow' => [ 'shape' => 'JsonDocument', ], ], ], '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', ], ], ], '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, ], '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, ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], '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', ], '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', ], ], ], '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', ], ],]; +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', ], ], ], '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' => [], ], 'AdditionalParameterMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttributeKey', ], 'value' => [ 'shape' => 'Value', ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], 'scheduledAuditName' => [ 'shape' => 'ScheduledAuditName', 'location' => 'uri', 'locationName' => 'scheduledAuditName', ], ], ], 'CreateScheduledAuditResponse' => [ 'type' => 'structure', 'members' => [ 'scheduledAuditArn' => [ 'shape' => 'ScheduledAuditArn', ], ], ], 'CreateSecurityProfileRequest' => [ 'type' => 'structure', 'required' => [ 'securityProfileName', 'behaviors', ], 'members' => [ 'securityProfileName' => [ 'shape' => 'SecurityProfileName', 'location' => 'uri', 'locationName' => 'securityProfileName', ], 'securityProfileDescription' => [ 'shape' => 'SecurityProfileDescription', ], 'behaviors' => [ 'shape' => 'Behaviors', ], 'alertTargets' => [ 'shape' => 'AlertTargets', ], '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', ], ], ], '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', ], ], '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' => [], ], 'DeleteAuthorizerRequest' => [ 'type' => 'structure', 'required' => [ 'authorizerName', ], 'members' => [ 'authorizerName' => [ 'shape' => 'AuthorizerName', 'location' => 'uri', 'locationName' => 'authorizerName', ], ], ], 'DeleteAuthorizerResponse' => [ 'type' => 'structure', 'members' => [], ], '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', ], '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', '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, ], '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', ], ], ], '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, ], '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', ], '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', ], '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', ], '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/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/smoke.json.php new file mode 100644 index 000000000..05c932ef2 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/iot/2015-05-28/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListPolicies', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DescribeThing', 'input' => [ 'thingName' => 'fake-thing', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/iotanalytics/2017-11-27/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/iotanalytics/2017-11-27/api-2.json.php index 514153b79..0c59e6574 100644 --- a/vendor/aws/aws-sdk-php/src/data/iotanalytics/2017-11-27/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/iotanalytics/2017-11-27/api-2.json.php @@ -1,3 +1,3 @@ '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', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], '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', ], 'status' => [ 'shape' => 'DatasetStatus', ], 'creationTime' => [ 'shape' => 'Timestamp', ], 'lastUpdateTime' => [ 'shape' => 'Timestamp', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], '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', ], '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, ], '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', ], ], ], '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, ], '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', ], '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', ], 'retentionPeriod' => [ 'shape' => 'RetentionPeriod', ], ], ], '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, ], 'VolumeSizeInGB' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'errorMessage' => [ 'type' => 'string', ], 'resourceArn' => [ 'type' => 'string', ], 'resourceId' => [ 'type' => 'string', ], ],]; +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', ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], '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', ], ], ], '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, ], 'VolumeSizeInGB' => [ 'type' => 'integer', 'max' => 50, 'min' => 1, ], 'errorMessage' => [ 'type' => 'string', ], 'resourceArn' => [ 'type' => 'string', ], 'resourceId' => [ 'type' => 'string', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/api-2.json.php new file mode 100644 index 000000000..1bfb37493 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/api-2.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/paginators-1.json.php new file mode 100644 index 000000000..891cf313e --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/kafka/2018-11-14/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/kinesisanalytics/2015-08-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/kinesisanalytics/2015-08-14/api-2.json.php index 5a40eace3..2900ba6f0 100644 --- a/vendor/aws/aws-sdk-php/src/data/kinesisanalytics/2015-08-14/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/kinesisanalytics/2015-08-14/api-2.json.php @@ -1,3 +1,3 @@ '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', 'timestampFormat' => 'unixTimestamp', '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', ], ], ], 'AddApplicationInput' => [ 'name' => 'AddApplicationInput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputRequest', ], 'output' => [ 'shape' => 'AddApplicationInputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], [ 'shape' => 'CodeValidationException', ], ], ], 'AddApplicationInputProcessingConfiguration' => [ 'name' => 'AddApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'AddApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'AddApplicationOutput' => [ 'name' => 'AddApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationOutputRequest', ], 'output' => [ 'shape' => 'AddApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'AddApplicationReferenceDataSource' => [ 'name' => 'AddApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'AddApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'AddApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], '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', ], ], ], 'DeleteApplicationCloudWatchLoggingOption' => [ 'name' => 'DeleteApplicationCloudWatchLoggingOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionRequest', ], 'output' => [ 'shape' => 'DeleteApplicationCloudWatchLoggingOptionResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteApplicationInputProcessingConfiguration' => [ 'name' => 'DeleteApplicationInputProcessingConfiguration', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationRequest', ], 'output' => [ 'shape' => 'DeleteApplicationInputProcessingConfigurationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteApplicationOutput' => [ 'name' => 'DeleteApplicationOutput', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationOutputRequest', ], 'output' => [ 'shape' => 'DeleteApplicationOutputResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DeleteApplicationReferenceDataSource' => [ 'name' => 'DeleteApplicationReferenceDataSource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteApplicationReferenceDataSourceRequest', ], 'output' => [ 'shape' => 'DeleteApplicationReferenceDataSourceResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], 'DescribeApplication' => [ 'name' => 'DescribeApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeApplicationRequest', ], 'output' => [ 'shape' => 'DescribeApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], ], ], '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', ], ], ], 'StopApplication' => [ 'name' => 'StopApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopApplicationRequest', ], 'output' => [ 'shape' => 'StopApplicationResponse', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], ], ], 'UpdateApplication' => [ 'name' => 'UpdateApplication', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UpdateApplicationRequest', ], 'output' => [ 'shape' => 'UpdateApplicationResponse', ], 'errors' => [ [ 'shape' => 'CodeValidationException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'ResourceInUseException', ], [ 'shape' => 'InvalidArgumentException', ], [ 'shape' => 'ConcurrentModificationException', ], ], ], ], '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' => 51200, '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', '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, ], 'UpdateApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'ApplicationName', 'CurrentApplicationVersionId', 'ApplicationUpdate', ], 'members' => [ 'ApplicationName' => [ 'shape' => 'ApplicationName', ], 'CurrentApplicationVersionId' => [ 'shape' => 'ApplicationVersionId', ], 'ApplicationUpdate' => [ 'shape' => 'ApplicationUpdate', ], ], ], 'UpdateApplicationResponse' => [ 'type' => 'structure', 'members' => [], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/api-2.json.php new file mode 100644 index 000000000..501230d9d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php new file mode 100644 index 000000000..a8431a97d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/kinesisanalyticsv2/2018-05-23/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/kms/2014-11-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/kms/2014-11-01/api-2.json.php index 2119cdcbc..5f18d7a76 100644 --- a/vendor/aws/aws-sdk-php/src/data/kms/2014-11-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/kms/2014-11-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DeleteImportedKeyMaterial' => [ 'name' => 'DeleteImportedKeyMaterial', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteImportedKeyMaterialRequest', ], 'errors' => [ [ 'shape' => 'InvalidArnException', ], [ 'shape' => 'UnsupportedOperationException', ], [ 'shape' => 'DependencyTimeoutException', ], [ 'shape' => 'NotFoundException', ], [ 'shape' => 'KMSInternalException', ], [ 'shape' => 'KMSInvalidStateException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], 'CreateAliasRequest' => [ 'type' => 'structure', 'required' => [ 'AliasName', 'TargetKeyId', ], 'members' => [ 'AliasName' => [ 'shape' => 'AliasNameType', ], 'TargetKeyId' => [ 'shape' => 'KeyIdType', ], ], ], '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', ], 'BypassPolicyLockoutSafetyCheck' => [ 'shape' => 'BooleanType', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateKeyResponse' => [ 'type' => 'structure', 'members' => [ 'KeyMetadata' => [ 'shape' => 'KeyMetadata', ], ], ], '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', ], ], ], 'DeleteImportedKeyMaterialRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], ], ], 'DependencyTimeoutException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessageType', ], ], 'exception' => true, 'fault' => true, ], '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, ], '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', ], ], ], '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, ], '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, ], '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', ], 'ExpirationModel' => [ 'shape' => 'ExpirationModelType', ], 'KeyManager' => [ 'shape' => 'KeyManagerType', ], ], ], 'KeyState' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', 'PendingDeletion', 'PendingImport', ], ], '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', ], ], '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, ], '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, ], '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', ], ], ], 'UpdateKeyDescriptionRequest' => [ 'type' => 'structure', 'required' => [ 'KeyId', 'Description', ], 'members' => [ 'KeyId' => [ 'shape' => 'KeyIdType', ], 'Description' => [ 'shape' => 'DescriptionType', ], ], ], 'WrappingKeySpec' => [ 'type' => 'string', 'enum' => [ 'RSA_2048', ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/lambda/2015-03-31/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/lambda/2015-03-31/api-2.json.php index f3d6eeb41..854071929 100644 --- a/vendor/aws/aws-sdk-php/src/data/lambda/2015-03-31/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/lambda/2015-03-31/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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]+|[*])', ], '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-z]{2}-[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, ], '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', ], ], ], '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', ], ], ], '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:lambda:[a-z]{2}-[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', ], ], ], 'FunctionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'FunctionConfiguration', ], ], 'FunctionName' => [ 'type' => 'string', 'max' => 140, 'min' => 1, 'pattern' => '(arn:aws:lambda:)?([a-z]{2}-[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', ], ], ], '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-z0-9-.]+:.*)|()', ], 'KMSNotFoundException' => [ 'type' => 'structure', 'members' => [ 'Type' => [ 'shape' => 'String', ], 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 502, ], 'exception' => true, ], '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', ], ], ], '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}', ], 'MaxListItems' => [ 'type' => 'integer', 'max' => 10000, 'min' => 1, ], 'MemorySize' => [ 'type' => 'integer', 'max' => 3008, 'min' => 128, ], 'NameSpacedFunctionArn' => [ 'type' => 'string', 'pattern' => 'arn:aws:lambda:[a-z]{2}-[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:lambda:)?([a-z]{2}-[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-_.]+)', ], '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' => '.*', ], '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$_-]+)', ], '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-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: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', 'dotnetcore1.0', 'dotnetcore2.0', 'dotnetcore2.1', 'nodejs4.3-edge', 'go1.x', ], ], 'S3Bucket' => [ 'type' => 'string', 'max' => 63, 'min' => 3, 'pattern' => '^[0-9A-Za-z\\.\\-_]*(? [ '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', ], ], ], '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, ], ],]; +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\\.\\-_]*(? [ '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/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/api-2.json.php new file mode 100644 index 000000000..b0830b5d0 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/paginators-1.json.php new file mode 100644 index 000000000..3e1f2156c --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/license-manager/2018-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/api-2.json.php index ca6aa66db..d87e133af 100644 --- a/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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', ], ], ], 'CreateDiskFromSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'diskSnapshotName', 'availabilityZone', 'sizeInGb', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], ], ], 'CreateDiskFromSnapshotResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDiskRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'availabilityZone', 'sizeInGb', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'availabilityZone' => [ 'shape' => 'NonEmptyString', ], 'sizeInGb' => [ 'shape' => 'integer', ], ], ], 'CreateDiskResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateDiskSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'diskName', 'diskSnapshotName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'diskSnapshotName' => [ 'shape' => 'ResourceName', ], ], ], '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', ], ], ], 'CreateDomainResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], 'CreateInstanceSnapshotRequest' => [ 'type' => 'structure', 'required' => [ 'instanceSnapshotName', 'instanceName', ], 'members' => [ 'instanceSnapshotName' => [ 'shape' => 'ResourceName', ], 'instanceName' => [ 'shape' => 'ResourceName', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateInstancesResult' => [ 'type' => 'structure', 'members' => [ 'operations' => [ 'shape' => 'OperationList', ], ], ], 'CreateKeyPairRequest' => [ 'type' => 'structure', 'required' => [ 'keyPairName', ], 'members' => [ 'keyPairName' => [ 'shape' => 'ResourceName', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateLoadBalancerTlsCertificateResult' => [ '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', ], ], ], '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', ], ], ], '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', ], '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, ], ], ], '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', ], 'sizeInGb' => [ 'shape' => 'integer', ], 'state' => [ 'shape' => 'DiskSnapshotState', ], 'progress' => [ 'shape' => 'string', ], 'fromDiskName' => [ 'shape' => 'ResourceName', ], 'fromDiskArn' => [ 'shape' => 'NonEmptyString', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'GetRegionsResult' => [ 'type' => 'structure', 'members' => [ 'regions' => [ 'shape' => 'RegionList', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], 'InstanceAccessProtocol' => [ 'type' => 'string', 'enum' => [ 'ssh', 'rdp', ], ], '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', ], 'state' => [ 'shape' => 'InstanceSnapshotState', ], 'progress' => [ 'shape' => 'string', ], 'fromAttachedDisks' => [ 'shape' => 'DiskList', ], 'fromInstanceName' => [ 'shape' => 'ResourceName', ], 'fromInstanceArn' => [ 'shape' => 'NonEmptyString', ], 'fromBlueprintId' => [ 'shape' => 'string', ], 'fromBundleId' => [ 'shape' => 'string', ], 'sizeInGb' => [ 'shape' => 'integer', ], ], ], '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', ], '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', ], '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', ], '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', ], ], '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' => [ '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', ], ], 'PasswordData' => [ 'type' => 'structure', 'members' => [ 'ciphertext' => [ 'shape' => 'string', ], 'keyPairName' => [ 'shape' => 'ResourceName', ], ], ], 'PeerVpcRequest' => [ 'type' => 'structure', 'members' => [], ], 'PeerVpcResult' => [ 'type' => 'structure', 'members' => [ 'operation' => [ 'shape' => 'Operation', ], ], ], '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', ], ], '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', ], ], ], 'Region' => [ 'type' => 'structure', 'members' => [ 'continentCode' => [ 'shape' => 'string', ], 'description' => [ 'shape' => 'string', ], 'displayName' => [ 'shape' => 'string', ], 'name' => [ 'shape' => 'RegionName', ], 'availabilityZones' => [ '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-central-1', 'eu-west-1', 'eu-west-2', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1', 'ap-northeast-2', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], 'StringList' => [ 'type' => 'list', 'member' => [ 'shape' => 'string', ], ], 'StringMax256' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], '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', ], ], ], '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', ], ], ], 'boolean' => [ 'type' => 'boolean', ], 'double' => [ 'type' => 'double', ], 'float' => [ 'type' => 'float', ], 'integer' => [ 'type' => 'integer', ], 'string' => [ 'type' => 'string', ], 'timestamp' => [ 'type' => 'timestamp', ], ],]; +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', ], ], ], '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' => [ 'diskName', 'diskSnapshotName', ], 'members' => [ 'diskName' => [ 'shape' => 'ResourceName', ], 'diskSnapshotName' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [ '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', ], ], '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/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/smoke.json.php new file mode 100644 index 000000000..e93ed9315 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/lightsail/2016-11-28/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetActiveNames', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/logs/2014-03-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/logs/2014-03-28/api-2.json.php index b1845f943..3e8239165 100644 --- a/vendor/aws/aws-sdk-php/src/data/logs/2014-03-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/logs/2014-03-28/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], 'LogGroupName' => [ 'type' => 'string', 'max' => 512, 'min' => 1, 'pattern' => '[\\.\\-_/#A-Za-z0-9]+', ], 'LogGroups' => [ 'type' => 'list', 'member' => [ 'shape' => 'LogGroup', ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/manifest.json.php b/vendor/aws/aws-sdk-php/src/data/manifest.json.php index e43793312..b937983ca 100644 --- a/vendor/aws/aws-sdk-php/src/data/manifest.json.php +++ b/vendor/aws/aws-sdk-php/src/data/manifest.json.php @@ -1,3 +1,3 @@ [ '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', ], ], 'apigateway' => [ 'namespace' => 'ApiGateway', 'versions' => [ 'latest' => '2015-07-09', '2015-07-09' => '2015-07-09', '2015-06-01' => '2015-07-09', ], ], 'application-autoscaling' => [ 'namespace' => 'ApplicationAutoScaling', 'versions' => [ 'latest' => '2016-02-06', '2016-02-06' => '2016-02-06', ], ], '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', ], ], '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', ], ], '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-06-18', '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-06-18', '2015-09-17' => '2018-06-18', '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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' => [ '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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' => [ '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', ], ], 'transcribe' => [ 'namespace' => 'TranscribeService', 'versions' => [ 'latest' => '2017-10-26', '2017-10-26' => '2017-10-26', ], ], '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', ], ], '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', ], ],]; +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', ], ], 'application-autoscaling' => [ 'namespace' => 'ApplicationAutoScaling', 'versions' => [ 'latest' => '2016-02-06', '2016-02-06' => '2016-02-06', ], ], 'appmesh' => [ 'namespace' => 'AppMesh', 'versions' => [ 'latest' => '2018-10-01', '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', ], ], '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', ], ], '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', ], ], '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', ], ], '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/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/api-2.json.php new file mode 100644 index 000000000..d7cc6d1ea --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/api-2.json.php @@ -0,0 +1,3 @@ + [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/paginators-1.json.php new file mode 100644 index 000000000..b6f68eeb6 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/mediaconnect/2018-11-14/paginators-1.json.php @@ -0,0 +1,3 @@ + [ 'ListFlows' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxResults', 'result_key' => 'Flows', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/api-2.json.php index c039b46a1..a63c28554 100644 --- a/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/api-2.json.php @@ -1,3 +1,3 @@ [ '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' => [ '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], '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', ], 'SccDestinationSettings' => [ 'shape' => 'SccDestinationSettings', 'locationName' => 'sccDestinationSettings', ], 'TeletextDestinationSettings' => [ 'shape' => 'TeletextDestinationSettings', 'locationName' => 'teletextDestinationSettings', ], 'TtmlDestinationSettings' => [ 'shape' => 'TtmlDestinationSettings', 'locationName' => 'ttmlDestinationSettings', ], ], ], 'CaptionDestinationType' => [ 'type' => 'string', 'enum' => [ 'BURN_IN', 'DVB_SUB', 'EMBEDDED', 'SCC', 'SRT', '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', ], ], ], 'CaptionSourceType' => [ 'type' => 'string', 'enum' => [ 'ANCILLARY', 'DVB_SUB', 'EMBEDDED', 'SCC', 'TTML', 'STL', 'SRT', 'TELETEXT', 'NULL_SOURCE', ], ], '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', ], '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', ], ], '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' => [ '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', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', 'locationName' => 'job', ], ], ], 'CreateJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ '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', ], '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', ], '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', ], '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', ], ], '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', ], ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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', ], ], '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', ], 'DenoiseFilter' => [ 'shape' => 'InputDenoiseFilter', 'locationName' => 'denoiseFilter', ], 'FileInput' => [ 'shape' => '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM', 'locationName' => 'fileInput', ], 'FilterEnable' => [ 'shape' => 'InputFilterEnable', 'locationName' => 'filterEnable', ], 'FilterStrength' => [ 'shape' => '__integerMinNegative5Max5', 'locationName' => 'filterStrength', ], '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', ], ], ], 'InputClipping' => [ 'type' => 'structure', 'members' => [ 'EndTimecode' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'endTimecode', ], 'StartTimecode' => [ 'shape' => '__stringPattern010920405090509092', 'locationName' => 'startTimecode', ], ], ], 'InputDeblockFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'InputDenoiseFilter' => [ 'type' => 'string', 'enum' => [ 'ENABLED', 'DISABLED', ], ], 'InputFilterEnable' => [ 'type' => 'string', 'enum' => [ 'AUTO', 'DISABLE', 'FORCE', ], ], 'InputPsiControl' => [ 'type' => 'string', 'enum' => [ 'IGNORE_PSI', 'USE_PSI', ], ], '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', ], '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' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'duration', ], 'FadeIn' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'fadeIn', ], 'FadeOut' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'fadeOut', ], 'Height' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'height', ], 'ImageInserterInput' => [ 'shape' => '__stringMin14PatternS3BmpBMPPngPNGTgaTGA', 'locationName' => 'imageInserterInput', ], 'ImageX' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'imageX', ], 'ImageY' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'imageY', ], 'Layer' => [ 'shape' => '__integerMin0Max99', 'locationName' => 'layer', ], 'Opacity' => [ 'shape' => '__integerMin0Max100', 'locationName' => 'opacity', ], 'StartTime' => [ 'shape' => '__stringPattern01D20305D205D', 'locationName' => 'startTime', ], 'Width' => [ 'shape' => '__integerMinNegative2147483648Max2147483647', 'locationName' => 'width', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], 'Job' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'BillingTagsSource' => [ 'shape' => 'BillingTagsSource', 'locationName' => 'billingTagsSource', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'ErrorCode' => [ 'shape' => '__integer', 'locationName' => 'errorCode', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'JobTemplate' => [ 'shape' => '__string', 'locationName' => 'jobTemplate', ], 'OutputGroupDetails' => [ 'shape' => '__listOfOutputGroupDetail', 'locationName' => 'outputGroupDetails', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Role' => [ 'shape' => '__string', 'locationName' => 'role', ], 'Settings' => [ 'shape' => 'JobSettings', 'locationName' => 'settings', ], 'Status' => [ 'shape' => 'JobStatus', 'locationName' => 'status', ], 'Timing' => [ 'shape' => 'Timing', 'locationName' => 'timing', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'JobSettings' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'AvailBlanking' => [ 'shape' => 'AvailBlanking', 'locationName' => 'availBlanking', ], 'Inputs' => [ 'shape' => '__listOfInput', 'locationName' => 'inputs', ], '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' => [ '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', ], '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', ], 'Inputs' => [ 'shape' => '__listOfInputTemplate', 'locationName' => 'inputs', ], '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', ], ], 'M2tsNielsenId3' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'NONE', ], ], 'M2tsPcrControl' => [ 'type' => 'string', 'enum' => [ 'PCR_EVERY_PES_PACKET', 'CONFIGURED_PCR_PERIOD', ], ], 'M2tsRateMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', ], ], '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', ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], 'ProgressingJobsCount' => [ 'shape' => '__integer', 'locationName' => 'progressingJobsCount', ], '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', ], ], ], 'ResourceTags' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'Tags' => [ 'shape' => '__mapOf__string', 'locationName' => 'tags', ], ], ], 'RespondToAfd' => [ 'type' => 'string', 'enum' => [ 'NONE', 'RESPOND', 'PASSTHROUGH', ], ], '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' => [ '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', ], ], ], '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, ], ], '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' => [ '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', ], ], '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', ], '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', ], ], ], '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, ], '__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, ], '__integerMin1Max2' => [ 'type' => 'integer', 'min' => 1, 'max' => 2, ], '__integerMin1Max20' => [ 'type' => 'integer', 'min' => 1, 'max' => 20, ], '__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', ], ], '__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, ], '__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)$', ], '__stringMin1Max256' => [ 'type' => 'string', 'min' => 1, 'max' => 256, ], '__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}$', ], '__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}$', ], '__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:\\/\\/', ], '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM' => [ '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])))$', ], '__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])))$', ], '__stringPatternWS' => [ 'type' => 'string', 'pattern' => '^[\\w\\s]*$', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; +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', ], ], ], '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', ], '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', ], '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', ], ], ], 'CaptionSourceType' => [ 'type' => 'string', 'enum' => [ 'ANCILLARY', 'DVB_SUB', 'EMBEDDED', 'SCTE20', 'SCC', 'TTML', 'STL', 'SRT', 'SMI', 'TELETEXT', 'NULL_SOURCE', ], ], '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', ], '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' => [ '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', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'CreateJobResponse' => [ 'type' => 'structure', 'members' => [ 'Job' => [ 'shape' => 'Job', 'locationName' => 'job', ], ], ], 'CreateJobTemplateRequest' => [ 'type' => 'structure', 'members' => [ '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', ], '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', ], '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', ], ], ], 'DisassociateCertificateRequest' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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', ], ], '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' => '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM', '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', ], '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', ], ], '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' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], 'BillingTagsSource' => [ 'shape' => 'BillingTagsSource', 'locationName' => 'billingTagsSource', ], 'CreatedAt' => [ 'shape' => '__timestampUnix', 'locationName' => 'createdAt', ], 'ErrorCode' => [ 'shape' => '__integer', 'locationName' => 'errorCode', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], 'Id' => [ 'shape' => '__string', 'locationName' => 'id', ], 'JobTemplate' => [ 'shape' => '__string', 'locationName' => 'jobTemplate', ], 'OutputGroupDetails' => [ 'shape' => '__listOfOutputGroupDetail', 'locationName' => 'outputGroupDetails', ], 'Queue' => [ 'shape' => '__string', 'locationName' => 'queue', ], 'Role' => [ 'shape' => '__string', 'locationName' => 'role', ], 'Settings' => [ 'shape' => 'JobSettings', 'locationName' => 'settings', ], 'Status' => [ 'shape' => 'JobStatus', 'locationName' => 'status', ], 'Timing' => [ 'shape' => 'Timing', 'locationName' => 'timing', ], 'UserMetadata' => [ 'shape' => '__mapOf__string', 'locationName' => 'userMetadata', ], ], 'required' => [ 'Role', 'Settings', ], ], 'JobSettings' => [ 'type' => 'structure', 'members' => [ 'AdAvailOffset' => [ 'shape' => '__integerMinNegative1000Max1000', 'locationName' => 'adAvailOffset', ], 'AvailBlanking' => [ 'shape' => 'AvailBlanking', 'locationName' => 'availBlanking', ], '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' => [ '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', ], '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', ], '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', ], ], 'M2tsNielsenId3' => [ 'type' => 'string', 'enum' => [ 'INSERT', 'NONE', ], ], 'M2tsPcrControl' => [ 'type' => 'string', 'enum' => [ 'PCR_EVERY_PES_PACKET', 'CONFIGURED_PCR_PERIOD', ], ], 'M2tsRateMode' => [ 'type' => 'string', 'enum' => [ 'VBR', 'CBR', ], ], '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', ], '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', ], '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', ], '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', ], ], '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' => '__stringPatternArnAwsAcm', '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', ], ], ], '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, ], ], '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' => [ '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', ], ], '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', ], ], ], '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, ], '__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', ], ], '__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}$', ], '__stringPatternArnAwsAcm' => [ 'type' => 'string', 'pattern' => '^arn:aws:acm:', ], '__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:\\/\\/', ], '__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM' => [ '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])))$', ], '__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])))$', ], '__stringPatternWS' => [ 'type' => 'string', 'pattern' => '^[\\w\\s]*$', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/paginators-1.json.php new file mode 100644 index 000000000..92be0a4ea --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/mediaconvert/2017-08-29/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/medialive/2017-10-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/medialive/2017-10-14/api-2.json.php index caa14a079..96c30bbd3 100644 --- a/vendor/aws/aws-sdk-php/src/data/medialive/2017-10-14/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/medialive/2017-10-14/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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' => '__string', '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' => '__string', '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', ], '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', ], ], ], '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', ], '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', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateChannel' => [ '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', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], ], 'CreateChannelRequest' => [ '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', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'CreateInputRequest' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'CreateInputResponse' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputResultModel' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRuleCidr', 'locationName' => 'whitelistRules', ], ], ], 'CreateInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'CreateInputSecurityGroupResultModel' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'DeleteChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DeleteChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], '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', ], ], ], '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', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'DescribeChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DescribeChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], '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', ], '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', ], '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', ], ], ], 'ForbiddenException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 403, ], ], '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', ], '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', ], ], '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', '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' => '__integer', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integer', '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', ], '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', ], 'Syntax' => [ 'shape' => 'H264Syntax', 'locationName' => 'syntax', ], 'TemporalAq' => [ 'shape' => 'H264TemporalAq', 'locationName' => 'temporalAq', ], 'TimecodeInsertion' => [ 'shape' => 'H264TimecodeInsertionBehavior', 'locationName' => 'timecodeInsertion', ], ], ], 'H264SpatialAq' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], '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', ], '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', ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'InputAttachment' => [ 'type' => 'structure', 'members' => [ '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', ], ], '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', ], ], ], 'InputDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => '__string', 'locationName' => 'streamName', ], ], ], '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', ], ], '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', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRule', 'locationName' => 'whitelistRules', ], ], ], 'InputSecurityGroupState' => [ 'type' => 'string', 'enum' => [ 'IDLE', 'IN_USE', 'UPDATING', 'DELETED', ], ], 'InputSecurityGroupWhitelistRequest' => [ 'type' => 'structure', 'members' => [ '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', ], ], 'InputType' => [ 'type' => 'string', 'enum' => [ 'UDP_PUSH', 'RTP_PUSH', 'RTMP_PUSH', 'RTMP_PULL', 'URL_PULL', ], ], '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' => [ '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' => [ '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', ], ], ], '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, ], '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', ], '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', ], 'HlsGroupSettings' => [ 'shape' => 'HlsGroupSettings', 'locationName' => 'hlsGroupSettings', ], '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', ], 'HlsOutputSettings' => [ 'shape' => 'HlsOutputSettings', 'locationName' => 'hlsOutputSettings', ], 'MsSmoothOutputSettings' => [ 'shape' => 'MsSmoothOutputSettings', 'locationName' => 'msSmoothOutputSettings', ], 'RtmpOutputSettings' => [ 'shape' => 'RtmpOutputSettings', 'locationName' => 'rtmpOutputSettings', ], 'UdpOutputSettings' => [ 'shape' => 'UdpOutputSettings', 'locationName' => 'udpOutputSettings', ], ], ], 'PassThroughSettings' => [ 'type' => 'structure', 'members' => [], ], 'PurchaseOffering' => [ 'type' => 'structure', 'members' => [ 'Count' => [ 'shape' => '__integerMin1', 'locationName' => 'count', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], ], ], '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, ], ], 'required' => [ 'OfferingId', ], ], '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', ], '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' => [ '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', ], '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' => [ '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', ], ], ], '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', ], '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', ], ], ], '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' => [ 'KeyProviderServer', 'StaticKeyValue', ], ], 'StopChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'StopChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], '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', ], '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', ], ], ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'ElementPath' => [ 'shape' => '__string', 'locationName' => 'elementPath', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], ], ], 'VideoCodecSettings' => [ 'type' => 'structure', 'members' => [ '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, ], '__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, ], '__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', ], ], '__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', ], ], '__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, ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], 'ConflictException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 409, ], ], 'CreateChannel' => [ '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', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], ], 'CreateChannelRequest' => [ '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', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Reserved' => [ 'shape' => '__string', 'locationName' => 'reserved', 'deprecated' => true, ], 'RoleArn' => [ 'shape' => '__string', 'locationName' => 'roleArn', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'CreateInputRequest' => [ 'type' => 'structure', 'members' => [ 'Destinations' => [ 'shape' => '__listOfInputDestinationRequest', 'locationName' => 'destinations', ], 'InputSecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'inputSecurityGroups', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'RequestId' => [ 'shape' => '__string', 'locationName' => 'requestId', 'idempotencyToken' => true, ], 'Sources' => [ 'shape' => '__listOfInputSourceRequest', 'locationName' => 'sources', ], 'Type' => [ 'shape' => 'InputType', 'locationName' => 'type', ], ], ], 'CreateInputResponse' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputResultModel' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'Input', 'locationName' => 'input', ], ], ], 'CreateInputSecurityGroupRequest' => [ 'type' => 'structure', 'members' => [ 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRuleCidr', 'locationName' => 'whitelistRules', ], ], ], 'CreateInputSecurityGroupResponse' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'CreateInputSecurityGroupResultModel' => [ 'type' => 'structure', 'members' => [ 'SecurityGroup' => [ 'shape' => 'InputSecurityGroup', 'locationName' => 'securityGroup', ], ], ], 'DeleteChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DeleteChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], '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', ], ], ], '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', ], 'UsagePrice' => [ 'shape' => '__double', 'locationName' => 'usagePrice', ], ], ], 'DescribeChannelRequest' => [ 'type' => 'structure', 'members' => [ 'ChannelId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'channelId', ], ], 'required' => [ 'ChannelId', ], ], 'DescribeChannelResponse' => [ 'type' => 'structure', 'members' => [ 'Arn' => [ 'shape' => '__string', 'locationName' => 'arn', ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], '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', ], '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', ], '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, ], ], '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', ], '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', ], ], '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' => '__integer', 'locationName' => 'framerateDenominator', ], 'FramerateNumerator' => [ 'shape' => '__integer', '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', ], 'Syntax' => [ 'shape' => 'H264Syntax', 'locationName' => 'syntax', ], 'TemporalAq' => [ 'shape' => 'H264TemporalAq', 'locationName' => 'temporalAq', ], 'TimecodeInsertion' => [ 'shape' => 'H264TimecodeInsertionBehavior', 'locationName' => 'timecodeInsertion', ], ], ], 'H264SpatialAq' => [ 'type' => 'string', 'enum' => [ 'DISABLED', 'ENABLED', ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'Sources' => [ 'shape' => '__listOfInputSource', 'locationName' => 'sources', ], 'State' => [ 'shape' => 'InputState', 'locationName' => 'state', ], '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', ], ], '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', ], ], ], 'InputDestinationRequest' => [ 'type' => 'structure', 'members' => [ 'StreamName' => [ 'shape' => '__string', 'locationName' => 'streamName', ], ], ], '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', ], 'WhitelistRules' => [ 'shape' => '__listOfInputWhitelistRule', 'locationName' => 'whitelistRules', ], ], ], 'InputSecurityGroupState' => [ 'type' => 'string', 'enum' => [ 'IDLE', 'IN_USE', 'UPDATING', 'DELETED', ], ], 'InputSecurityGroupWhitelistRequest' => [ 'type' => 'structure', 'members' => [ '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', ], ], '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' => [ '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' => [ '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', ], ], ], '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, ], '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', ], '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', ], 'HlsGroupSettings' => [ 'shape' => 'HlsGroupSettings', 'locationName' => 'hlsGroupSettings', ], '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', ], 'HlsOutputSettings' => [ 'shape' => 'HlsOutputSettings', 'locationName' => 'hlsOutputSettings', ], 'MsSmoothOutputSettings' => [ 'shape' => 'MsSmoothOutputSettings', 'locationName' => 'msSmoothOutputSettings', ], 'RtmpOutputSettings' => [ 'shape' => 'RtmpOutputSettings', 'locationName' => 'rtmpOutputSettings', ], 'UdpOutputSettings' => [ 'shape' => 'UdpOutputSettings', 'locationName' => 'udpOutputSettings', ], ], ], 'PassThroughSettings' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], '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', ], ], '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', ], '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' => [ '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' => [ 'InputSwitchSettings' => [ 'shape' => 'InputSwitchScheduleActionSettings', 'locationName' => 'inputSwitchSettings', ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], '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', ], 'Name' => [ 'shape' => '__string', 'locationName' => 'name', ], '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', ], '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', ], ], ], 'ValidationError' => [ 'type' => 'structure', 'members' => [ 'ElementPath' => [ 'shape' => '__string', 'locationName' => 'elementPath', ], 'ErrorMessage' => [ 'shape' => '__string', 'locationName' => 'errorMessage', ], ], ], 'VideoCodecSettings' => [ 'type' => 'structure', 'members' => [ '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, ], '__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', ], ], '__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', ], ], '__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/vendor/aws/aws-sdk-php/src/data/mediapackage/2017-10-12/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mediapackage/2017-10-12/api-2.json.php index f9d45877b..c1482b378 100644 --- a/vendor/aws/aws-sdk-php/src/data/mediapackage/2017-10-12/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/mediapackage/2017-10-12/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], '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', ], ], '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', ], ], 'type' => 'structure', ], 'ChannelCreateParameters' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], ], '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', ], ], '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', ], ], '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', ], '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', ], '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', ], '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', ], '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', ], ], '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', ], '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', ], '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', ], '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', ], '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', ], ], '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', ], ], 'type' => 'structure', ], 'ServiceUnavailableException' => [ 'error' => [ 'httpStatusCode' => 503, ], 'exception' => true, 'members' => [ 'Message' => [ 'locationName' => 'message', 'shape' => '__string', ], ], 'type' => 'structure', ], 'SpekeKeyProvider' => [ 'members' => [ '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', ], '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', ], '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', ], ], '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', ], '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', ], '__string' => [ 'type' => 'string', ], ],]; +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', ], ], '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', ], ], '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', ], ], 'type' => 'structure', ], 'ChannelCreateParameters' => [ 'members' => [ 'Description' => [ 'locationName' => 'description', 'shape' => '__string', ], 'Id' => [ 'locationName' => 'id', 'shape' => '__string', ], ], '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', ], ], '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', ], ], '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', ], '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', ], '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', ], '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', ], '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', ], ], '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', ], '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', ], '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', ], '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', ], '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', ], ], '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', ], ], 'type' => 'structure', ], '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', ], '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', ], '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', ], ], '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', ], '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', ], '__string' => [ 'type' => 'string', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/mediastore-data/2017-09-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mediastore-data/2017-09-01/api-2.json.php index b4a9fb186..ff58046e3 100644 --- a/vendor/aws/aws-sdk-php/src/data/mediastore-data/2017-09-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/mediastore-data/2017-09-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/mediatailor/2018-04-23/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mediatailor/2018-04-23/api-2.json.php index 703df12de..182eaf23f 100644 --- a/vendor/aws/aws-sdk-php/src/data/mediatailor/2018-04-23/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/mediatailor/2018-04-23/api-2.json.php @@ -1,3 +1,3 @@ [ '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' => [], ], 'PutPlaybackConfiguration' => [ 'name' => 'PutPlaybackConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/playbackConfiguration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutPlaybackConfigurationRequest', ], 'output' => [ 'shape' => 'PutPlaybackConfigurationResponse', ], 'errors' => [], ], ], 'shapes' => [ 'CdnConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdSegmentUrlPrefix' => [ 'shape' => '__string', ], 'ContentSegmentUrlPrefix' => [ 'shape' => '__string', ], ], ], 'HlsConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManifestEndpointPrefix' => [ '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', ], 'HlsConfiguration' => [ 'shape' => 'HlsConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'PlaybackConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ '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', ], ], ], 'PutPlaybackConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'PutPlaybackConfigurationResponse' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'HlsConfiguration' => [ 'shape' => 'HlsConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfPlaybackConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlaybackConfiguration', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__integerMin1Max100' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], ],]; +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' => [], ], 'PutPlaybackConfiguration' => [ 'name' => 'PutPlaybackConfiguration', 'http' => [ 'method' => 'PUT', 'requestUri' => '/playbackConfiguration', 'responseCode' => 200, ], 'input' => [ 'shape' => 'PutPlaybackConfigurationRequest', ], 'output' => [ 'shape' => 'PutPlaybackConfigurationResponse', ], 'errors' => [], ], ], 'shapes' => [ 'CdnConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdSegmentUrlPrefix' => [ 'shape' => '__string', ], 'ContentSegmentUrlPrefix' => [ 'shape' => '__string', ], ], ], 'HlsConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManifestEndpointPrefix' => [ 'shape' => '__string', ], ], ], 'DashConfiguration' => [ 'type' => 'structure', 'members' => [ 'ManifestEndpointPrefix' => [ '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', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], 'PlaybackConfiguration' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ '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', ], ], ], 'PutPlaybackConfigurationRequest' => [ 'type' => 'structure', 'members' => [ 'AdDecisionServerUrl' => [ 'shape' => '__string', ], 'CdnConfiguration' => [ 'shape' => 'CdnConfiguration', ], 'Name' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], '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', ], 'PlaybackEndpointPrefix' => [ 'shape' => '__string', ], 'SessionInitializationEndpointPrefix' => [ 'shape' => '__string', ], 'SlateAdUrl' => [ 'shape' => '__string', ], 'TranscodeProfileName' => [ 'shape' => '__string', ], 'VideoContentSourceUrl' => [ 'shape' => '__string', ], ], ], '__boolean' => [ 'type' => 'boolean', ], '__double' => [ 'type' => 'double', ], '__integer' => [ 'type' => 'integer', ], '__listOfPlaybackConfigurations' => [ 'type' => 'list', 'member' => [ 'shape' => 'PlaybackConfiguration', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], '__integerMin1Max100' => [ 'type' => 'integer', 'min' => 1, 'max' => 100, ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/api-2.json.php index 75dcf2240..497f674a3 100644 --- a/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'uid' => 'meteringmarketplace-2016-01-14', 'apiVersion' => '2016-01-14', 'endpointPrefix' => 'metering.marketplace', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceFullName' => 'AWSMarketplace Metering', 'signatureVersion' => 'v4', 'signingName' => 'aws-marketplace', 'targetPrefix' => 'AWSMPMeteringService', ], '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', ], ], ], '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', ], ], ], 'ResolveCustomer' => [ 'name' => 'ResolveCustomer', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ResolveCustomerRequest', ], 'output' => [ 'shape' => 'ResolveCustomerResult', ], 'errors' => [ [ 'shape' => 'InvalidTokenException', ], [ 'shape' => 'ExpiredTokenException', ], [ 'shape' => 'ThrottlingException', ], [ 'shape' => 'InternalServiceErrorException', ], ], ], ], '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, ], '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, ], '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', 'UsageQuantity', 'DryRun', ], '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+', ], 'ProductCode' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], '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' => 1000000, 'min' => 0, ], 'UsageRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'CustomerIdentifier', 'Dimension', 'Quantity', ], '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', ], ], 'errorMessage' => [ 'type' => 'string', ], ],]; +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', 'UsageQuantity', 'DryRun', ], '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' => 1000000, 'min' => 0, ], 'UsageRecord' => [ 'type' => 'structure', 'required' => [ 'Timestamp', 'CustomerIdentifier', 'Dimension', 'Quantity', ], '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/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/paginators-1.json.php new file mode 100644 index 000000000..57e43bd81 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/metering.marketplace/2016-01-14/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/monitoring/2010-08-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/monitoring/2010-08-01/api-2.json.php index b82987460..38e09617d 100644 --- a/vendor/aws/aws-sdk-php/src/data/monitoring/2010-08-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/monitoring/2010-08-01/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2010-08-01', 'endpointPrefix' => 'monitoring', 'protocol' => 'query', 'serviceAbbreviation' => 'CloudWatch', 'serviceFullName' => 'Amazon 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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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, ], 'AwsQueryErrorMessage' => [ 'type' => 'string', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GreaterThanOrEqualToThreshold', 'GreaterThanThreshold', 'LessThanThreshold', 'LessThanOrEqualToThreshold', ], ], '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', ], ], ], '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', ], ], ], '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, ], 'InvalidParameterValueException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'InvalidParameterValue', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => 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', ], ], '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', ], ], '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', ], ], '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', ], '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', ], ], ], 'Metrics' => [ 'type' => 'list', 'member' => [ 'shape' => 'Metric', ], ], 'MissingRequiredParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'AwsQueryErrorMessage', ], ], 'error' => [ 'code' => 'MissingParameter', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], 'Namespace' => [ 'type' => 'string', 'max' => 255, 'min' => 1, 'pattern' => '[^:].*', ], 'NextToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 0, ], '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', 'MetricName', 'Namespace', 'Period', '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', ], ], ], 'PutMetricDataInput' => [ 'type' => 'structure', 'required' => [ 'Namespace', 'MetricData', ], 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricData' => [ 'shape' => 'MetricData', ], ], ], '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, ], '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, ], 'Threshold' => [ 'type' => 'double', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Timestamps' => [ 'type' => 'list', 'member' => [ 'shape' => 'Timestamp', ], ], 'TreatMissingData' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], ],]; +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', ], ], ], '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', ], ], ], ], '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, ], 'AwsQueryErrorMessage' => [ 'type' => 'string', ], 'ComparisonOperator' => [ 'type' => 'string', 'enum' => [ 'GreaterThanOrEqualToThreshold', 'GreaterThanThreshold', 'LessThanThreshold', 'LessThanOrEqualToThreshold', ], ], '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', ], ], ], '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', ], ], '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', 'max' => 1024, 'min' => 0, ], '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', ], ], ], 'PutMetricDataInput' => [ 'type' => 'structure', 'required' => [ 'Namespace', 'MetricData', ], 'members' => [ 'Namespace' => [ 'shape' => 'Namespace', ], 'MetricData' => [ 'shape' => 'MetricData', ], ], ], '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, ], '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, ], 'Threshold' => [ 'type' => 'double', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'Timestamps' => [ 'type' => 'list', 'member' => [ 'shape' => 'Timestamp', ], ], 'TreatMissingData' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'Values' => [ 'type' => 'list', 'member' => [ 'shape' => 'DatapointValue', ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/mq/2017-11-27/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/mq/2017-11-27/api-2.json.php index ba3bb8b1b..29aaf492f 100644 --- a/vendor/aws/aws-sdk-php/src/data/mq/2017-11-27/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/mq/2017-11-27/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => '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', ], ], ], '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', ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], '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', ], 'PubliclyAccessible' => [ 'shape' => '__boolean', 'locationName' => 'publiclyAccessible', ], 'SecurityGroups' => [ 'shape' => '__listOf__string', 'locationName' => 'securityGroups', ], 'SubnetIds' => [ 'shape' => '__listOf__string', 'locationName' => 'subnetIds', ], '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', ], ], ], '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', ], ], ], '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', ], ], 'UnauthorizedException' => [ 'type' => 'structure', 'members' => [ 'ErrorAttribute' => [ 'shape' => '__string', 'locationName' => 'errorAttribute', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 401, ], ], 'UpdateBrokerInput' => [ 'type' => 'structure', 'members' => [ 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], ], 'UpdateBrokerOutput' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], ], 'UpdateBrokerRequest' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'broker-id', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], 'Logs' => [ 'shape' => 'Logs', 'locationName' => 'logs', ], ], 'required' => [ 'BrokerId', ], ], 'UpdateBrokerResponse' => [ 'type' => 'structure', 'members' => [ 'BrokerId' => [ 'shape' => '__string', 'locationName' => 'brokerId', ], 'Configuration' => [ 'shape' => 'ConfigurationId', 'locationName' => 'configuration', ], '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', ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], '__string' => [ 'type' => 'string', ], '__timestampIso8601' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], '__timestampUnix' => [ 'type' => 'timestamp', 'timestampFormat' => 'unixTimestamp', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/opsworkscm/2016-11-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/opsworkscm/2016-11-01/api-2.json.php index ad9263adc..d7972a8c4 100644 --- a/vendor/aws/aws-sdk-php/src/data/opsworkscm/2016-11-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/opsworkscm/2016-11-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], '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, ], ],]; +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/vendor/aws/aws-sdk-php/src/data/organizations/2016-11-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/organizations/2016-11-28/api-2.json.php index 14ed4e38e..8c4232f81 100644 --- a/vendor/aws/aws-sdk-php/src/data/organizations/2016-11-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/organizations/2016-11-28/api-2.json.php @@ -1,3 +1,3 @@ '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', 'timestampFormat' => 'unixTimestamp', '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' => '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, 'sensitive' => true, ], 'AccountNotFoundException' => [ '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', ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/api-2.json.php new file mode 100644 index 000000000..0f9ae0c84 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/api-2.json.php @@ -0,0 +1,3 @@ + '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', ], ], ], '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', ], ], ], 'CreateEmailIdentity' => [ 'name' => 'CreateEmailIdentity', 'http' => [ 'method' => 'POST', 'requestUri' => '/v1/email/identities', ], 'input' => [ 'shape' => 'CreateEmailIdentityRequest', ], 'output' => [ 'shape' => 'CreateEmailIdentityResponse', ], 'errors' => [ [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], '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', ], ], ], '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', ], ], ], 'DeleteEmailIdentity' => [ 'name' => 'DeleteEmailIdentity', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/v1/email/identities/{EmailIdentity}', ], 'input' => [ 'shape' => 'DeleteEmailIdentityRequest', ], 'output' => [ 'shape' => 'DeleteEmailIdentityResponse', ], 'errors' => [ [ 'shape' => 'NotFoundException', ], [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], 'GetAccount' => [ 'name' => 'GetAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/account', ], 'input' => [ 'shape' => 'GetAccountRequest', ], 'output' => [ 'shape' => 'GetAccountResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ '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', ], ], ], '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', ], ], ], 'ListEmailIdentities' => [ 'name' => 'ListEmailIdentities', 'http' => [ 'method' => 'GET', 'requestUri' => '/v1/email/identities', ], 'input' => [ 'shape' => 'ListEmailIdentitiesRequest', ], 'output' => [ 'shape' => 'ListEmailIdentitiesResponse', ], 'errors' => [ [ 'shape' => 'TooManyRequestsException', ], [ 'shape' => 'BadRequestException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], ], 'CreateConfigurationSetResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateDedicatedIpPoolRequest' => [ 'type' => 'structure', 'required' => [ 'PoolName', ], 'members' => [ 'PoolName' => [ 'shape' => 'PoolName', ], ], ], 'CreateDedicatedIpPoolResponse' => [ 'type' => 'structure', 'members' => [], ], 'CreateEmailIdentityRequest' => [ 'type' => 'structure', 'required' => [ 'EmailIdentity', ], 'members' => [ 'EmailIdentity' => [ 'shape' => 'Identity', ], ], ], 'CreateEmailIdentityResponse' => [ 'type' => 'structure', 'members' => [ 'IdentityType' => [ 'shape' => 'IdentityType', ], 'VerifiedForSendingStatus' => [ 'shape' => 'Enabled', ], 'DkimAttributes' => [ 'shape' => 'DkimAttributes', ], ], ], 'CustomRedirectDomain' => [ 'type' => 'string', ], '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' => [], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], 'Percentage100Wrapper' => [ 'type' => 'integer', ], 'PinpointDestination' => [ 'type' => 'structure', 'members' => [ 'ApplicationArn' => [ 'shape' => 'AmazonResourceName', ], ], ], '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' => [], ], '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', ], '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', ], ], ], 'TooManyRequestsException' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'httpStatusCode' => 429, ], 'exception' => true, ], 'TrackingOptions' => [ 'type' => 'structure', 'required' => [ 'CustomRedirectDomain', ], 'members' => [ 'CustomRedirectDomain' => [ 'shape' => 'CustomRedirectDomain', ], ], ], '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' => [], ], 'WarmupStatus' => [ 'type' => 'string', 'enum' => [ 'IN_PROGRESS', 'DONE', ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/paginators-1.json.php new file mode 100644 index 000000000..3110d0296 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/pinpoint-email/2018-07-26/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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', ], 'ListEmailIdentities' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'PageSize', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/pinpoint/2016-12-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/pinpoint/2016-12-01/api-2.json.php index 6168de242..2869034e0 100644 --- a/vendor/aws/aws-sdk-php/src/data/pinpoint/2016-12-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/pinpoint/2016-12-01/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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' => [ 'Id' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], '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' => [], ], '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', ], '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', ], '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', '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', ], ], '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', ], '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', ], 'GCMMessage' => [ 'shape' => 'GCMMessage', ], 'SMSMessage' => [ 'shape' => 'SMSMessage', ], ], 'required' => [], ], 'Duration' => [ 'type' => 'string', 'enum' => [ 'HR_24', 'DAY_7', 'DAY_14', 'DAY_30', ], ], 'EmailChannelRequest' => [ 'type' => 'structure', 'members' => [ 'Enabled' => [ 'shape' => '__boolean', ], 'FromAddress' => [ 'shape' => '__string', ], 'Identity' => [ 'shape' => '__string', ], 'RoleArn' => [ 'shape' => '__string', ], ], 'required' => [], ], 'EmailChannelResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ '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' => [], ], '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' => [ 'Attributes' => [ 'shape' => 'MapOf__string', ], 'ClientSdkVersion' => [ 'shape' => '__string', ], 'EventType' => [ 'shape' => '__string', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], 'Session' => [ 'shape' => 'Session', ], 'Timestamp' => [ 'shape' => '__string', ], ], 'required' => [], ], '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' => [], ], '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', ], ], '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', ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], 'SegmentResponse' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ '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', ], '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' => [], ], 'SourceType' => [ 'type' => 'string', 'enum' => [ 'ALL', 'ANY', 'NONE', ], ], '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', ], ], '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', ], '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', ], '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', ], ], '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', ], ],]; +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', ], ], ], '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', ], ], ], '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' => [ 'Id' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], ], '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', ], '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', ], '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', ], ], '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' => [ 'Attributes' => [ 'shape' => 'MapOf__string', ], 'ClientSdkVersion' => [ 'shape' => '__string', ], 'EventType' => [ 'shape' => '__string', ], 'Metrics' => [ 'shape' => 'MapOf__double', ], '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', ], ], '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', ], 'CreationDate' => [ 'shape' => '__string', ], 'Dimensions' => [ 'shape' => 'SegmentDimensions', ], 'Id' => [ 'shape' => '__string', ], 'ImportDefinition' => [ 'shape' => 'SegmentImportResource', ], 'LastModifiedDate' => [ 'shape' => '__string', ], 'Name' => [ 'shape' => '__string', ], 'SegmentGroups' => [ 'shape' => 'SegmentGroupList', ], 'SegmentType' => [ 'shape' => 'SegmentType', ], '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', ], ], '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', ], ], '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', ], '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', ], ], '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/vendor/aws/aws-sdk-php/src/data/polly/2016-06-10/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/polly/2016-06-10/api-2.json.php index 118bdabc1..aa84d8656 100644 --- a/vendor/aws/aws-sdk-php/src/data/polly/2016-06-10/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/polly/2016-06-10/api-2.json.php @@ -1,3 +1,3 @@ '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-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', ], ], 'VoiceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Voice', ], ], 'VoiceName' => [ 'type' => 'string', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/api-2.json.php new file mode 100644 index 000000000..e0852c62c --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/api-2.json.php @@ -0,0 +1,3 @@ + '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', ], ], ], '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', ], ], ], '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' => 407, ], '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', ], ], ], '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' => 416, ], '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' => 412, ], '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' => 'String', ], 'AwsAccountId' => [ 'shape' => 'AwsAccountId', 'location' => 'uri', 'locationName' => 'AwsAccountId', ], 'Namespace' => [ 'shape' => 'Namespace', 'location' => 'uri', 'locationName' => 'Namespace', ], 'UserName' => [ 'shape' => 'UserName', ], ], ], 'RegisterUserResponse' => [ 'type' => 'structure', 'members' => [ 'User' => [ 'shape' => 'User', ], '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, ], 'SessionLifetimeInMinutes' => [ 'type' => 'long', 'max' => 600, 'min' => 15, ], 'SessionLifetimeInMinutesInvalidException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'RequestId' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 418, ], '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' => 419, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/paginators-1.json.php new file mode 100644 index 000000000..ea5faece1 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/quicksight/2018-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/api-2.json.php new file mode 100644 index 000000000..8abd7cb78 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/paginators-1.json.php new file mode 100644 index 000000000..a5d82e316 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/ram/2018-01-04/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/api-2.json.php new file mode 100644 index 000000000..55ba2dbb4 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/api-2.json.php @@ -0,0 +1,3 @@ + '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, ], 'SqlStatementResult' => [ 'type' => 'structure', 'members' => [ 'numberOfRecordsUpdated' => [ 'shape' => 'Long', ], 'resultFrame' => [ 'shape' => 'ResultFrame', ], ], ], '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', ], ], 'ResultSetMetadata' => [ 'type' => 'structure', 'members' => [ 'columnCount' => [ 'shape' => 'Long', ], 'columnMetadata' => [ 'shape' => 'ColumnMetadataList', ], ], ], 'Records' => [ 'type' => 'list', 'member' => [ 'shape' => 'Record', ], ], 'ResultFrame' => [ 'type' => 'structure', 'members' => [ 'records' => [ 'shape' => 'Records', ], 'resultSetMetadata' => [ 'shape' => 'ResultSetMetadata', ], ], ], 'ExecuteSqlRequest' => [ 'type' => 'structure', 'required' => [ 'awsSecretStoreArn', 'dbClusterOrInstanceArn', 'sqlStatements', ], 'members' => [ 'awsSecretStoreArn' => [ 'shape' => 'String', ], 'database' => [ 'shape' => 'String', ], 'dbClusterOrInstanceArn' => [ 'shape' => 'String', ], 'schema' => [ 'shape' => 'String', ], 'sqlStatements' => [ 'shape' => 'String', ], ], ], 'Long' => [ 'type' => 'long', 'box' => true, ], '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', ], 'Row' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], 'String' => [ 'type' => 'string', ], 'ArrayValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'Value', ], ], '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, ], 'Float' => [ 'type' => 'float', 'box' => true, ], 'Record' => [ 'type' => 'structure', 'members' => [ 'values' => [ 'shape' => 'Row', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, 'error' => [ 'code' => 'InternalServerErrorException', 'httpStatusCode' => 500, 'fault' => true, ], ], 'ExecuteSqlResponse' => [ 'type' => 'structure', 'required' => [ 'sqlStatementResults', ], 'members' => [ 'sqlStatementResults' => [ 'shape' => 'SqlStatementResults', ], ], ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/paginators-1.json.php new file mode 100644 index 000000000..2fc7a76ef --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/rds-data/2018-08-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/api-2.json.php index 70e84f0c6..86a7504e5 100644 --- a/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => 'DBParameterGroupNotFoundFault', ], [ 'shape' => 'BackupPolicyNotFoundFault', ], ], ], 'RevokeDBSecurityGroupIngress' => [ 'name' => 'RevokeDBSecurityGroupIngress', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'RevokeDBSecurityGroupIngressMessage', ], 'output' => [ 'shape' => 'RevokeDBSecurityGroupIngressResult', 'resultWrapper' => 'RevokeDBSecurityGroupIngressResult', ], 'errors' => [ [ 'shape' => 'DBSecurityGroupNotFoundFault', ], [ 'shape' => 'AuthorizationNotFoundFault', ], [ 'shape' => 'InvalidDBSecurityGroupStateFault', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], 'EarliestBacktrackTime' => [ 'shape' => 'TStamp', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'BacktrackConsumedChangeRecords' => [ 'shape' => 'LongOptional', ], 'EnabledCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'Capacity' => [ 'shape' => 'IntegerOptional', ], 'EngineMode' => [ 'shape' => 'String', ], 'ScalingConfigurationInfo' => [ 'shape' => 'ScalingConfigurationInfo', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], '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', ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', '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', ], ], '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, ], '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, ], '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, ], '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', ], 'ModifyCurrentDBClusterCapacityMessage' => [ 'type' => 'structure', 'required' => [ 'DBClusterIdentifier', ], 'members' => [ 'DBClusterIdentifier' => [ 'shape' => 'String', ], 'Capacity' => [ 'shape' => 'IntegerOptional', ], 'SecondsBeforeTimeout' => [ 'shape' => 'IntegerOptional', ], 'TimeoutAction' => [ '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', ], 'BacktrackWindow' => [ 'shape' => 'LongOptional', ], 'CloudwatchLogsExportConfiguration' => [ 'shape' => 'CloudwatchLogsExportConfiguration', ], 'EngineVersion' => [ 'shape' => 'String', ], 'ScalingConfiguration' => [ 'shape' => 'ScalingConfiguration', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'Domain' => [ 'shape' => 'String', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ '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', ], ], ], 'RestoreDBInstanceFromS3Result' => [ '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', ], 'CopyTagsToSnapshot' => [ 'shape' => 'BooleanOptional', ], 'Tags' => [ 'shape' => 'TagList', ], 'StorageType' => [ 'shape' => 'String', ], 'TdeCredentialArn' => [ 'shape' => 'String', ], 'TdeCredentialPassword' => [ 'shape' => 'String', ], 'Domain' => [ 'shape' => 'String', ], 'DomainIAMRoleName' => [ 'shape' => 'String', ], 'EnableIAMDatabaseAuthentication' => [ 'shape' => 'BooleanOptional', ], 'EnableCloudwatchLogsExports' => [ 'shape' => 'LogTypeList', ], 'ProcessorFeatures' => [ 'shape' => 'ProcessorFeatureList', ], 'UseDefaultProcessorFeatures' => [ 'shape' => 'BooleanOptional', ], ], ], '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, ], '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', ], ], 'StartDBInstanceMessage' => [ 'type' => 'structure', 'required' => [ 'DBInstanceIdentifier', ], 'members' => [ 'DBInstanceIdentifier' => [ 'shape' => 'String', ], ], ], 'StartDBInstanceResult' => [ 'type' => 'structure', 'members' => [ 'DBInstance' => [ 'shape' => 'DBInstance', ], ], ], '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', ], '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', ], ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/paginators-1.json.php index aa4947cf1..f7164b72d 100644 --- a/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/rds/2014-10-31/paginators-1.json.php @@ -1,3 +1,3 @@ [ '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', ], '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', ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/redshift/2012-12-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/redshift/2012-12-01/api-2.json.php index 21a8c72dd..5e78f8956 100644 --- a/vendor/aws/aws-sdk-php/src/data/redshift/2012-12-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/redshift/2012-12-01/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], 'CopyClusterSnapshot' => [ 'name' => 'CopyClusterSnapshot', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CopyClusterSnapshotMessage', ], 'output' => [ 'shape' => 'CopyClusterSnapshotResult', 'resultWrapper' => 'CopyClusterSnapshotResult', ], 'errors' => [ [ 'shape' => 'ClusterSnapshotAlreadyExistsFault', ], [ 'shape' => 'ClusterSnapshotNotFoundFault', ], [ 'shape' => 'InvalidClusterSnapshotStateFault', ], [ 'shape' => 'ClusterSnapshotQuotaExceededFault', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DeleteTags' => [ 'name' => 'DeleteTags', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DeleteTagsMessage', ], 'errors' => [ [ 'shape' => 'ResourceNotFoundFault', ], [ 'shape' => 'InvalidTagFault', ], ], ], 'DescribeClusterDbRevisions' => [ 'name' => 'DescribeClusterDbRevisions', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeClusterDbRevisionsMessage', ], 'output' => [ 'shape' => 'ClusterDbRevisionsMessage', 'resultWrapper' => 'DescribeClusterDbRevisionsResult', ], 'errors' => [ [ 'shape' => 'ClusterNotFoundFault', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'ModifyClusterParameterGroup' => [ 'name' => 'ModifyClusterParameterGroup', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ModifyClusterParameterGroupMessage', ], 'output' => [ 'shape' => 'ClusterParameterGroupNameMessage', 'resultWrapper' => 'ModifyClusterParameterGroupResult', ], 'errors' => [ [ 'shape' => 'ClusterParameterGroupNotFoundFault', ], [ 'shape' => 'InvalidClusterParameterGroupStateFault', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], 'AccountWithRestoreAccess' => [ 'type' => 'structure', 'members' => [ 'AccountId' => [ 'shape' => 'String', ], 'AccountAlias' => [ 'shape' => 'String', ], ], ], 'AccountsWithRestoreAccessList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountWithRestoreAccess', 'locationName' => 'AccountWithRestoreAccess', ], ], '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', ], ], 'Boolean' => [ 'type' => 'boolean', ], 'BooleanOptional' => [ 'type' => 'boolean', ], 'BucketNotFoundFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'BucketNotFoundFault', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], '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', ], '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', ], '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', ], ], 'wrapper' => true, ], 'ClusterAlreadyExistsFault' => [ 'type' => 'structure', 'members' => [], 'error' => [ 'code' => 'ClusterAlreadyExists', 'httpStatusCode' => 400, 'senderFault' => true, ], 'exception' => true, ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], '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', ], ], ], 'CreateTagsMessage' => [ 'type' => 'structure', 'required' => [ 'ResourceName', 'Tags', ], 'members' => [ 'ResourceName' => [ 'shape' => 'String', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'DbGroupList' => [ 'type' => 'list', 'member' => [ 'shape' => 'String', 'locationName' => 'DbGroup', ], ], 'DefaultClusterParameters' => [ 'type' => 'structure', 'members' => [ 'ParameterGroupFamily' => [ 'shape' => 'String', ], 'Marker' => [ 'shape' => 'String', ], 'Parameters' => [ 'shape' => 'ParametersList', ], ], 'wrapper' => true, ], 'DeleteClusterMessage' => [ 'type' => 'structure', 'required' => [ 'ClusterIdentifier', ], 'members' => [ 'ClusterIdentifier' => [ 'shape' => 'String', ], 'SkipFinalClusterSnapshot' => [ 'shape' => 'Boolean', ], 'FinalClusterSnapshotIdentifier' => [ 'shape' => 'String', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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, ], '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, ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], 'ModifySnapshotCopyRetentionPeriodResult' => [ 'type' => 'structure', 'members' => [ 'Cluster' => [ 'shape' => 'Cluster', ], ], ], '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', ], ], ], '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', ], 'KmsKeyId' => [ 'shape' => 'String', ], 'NodeType' => [ 'shape' => 'String', ], 'EnhancedVpcRouting' => [ 'shape' => 'BooleanOptional', ], 'AdditionalInfo' => [ 'shape' => 'String', ], 'IamRoles' => [ 'shape' => 'IamRoleArnList', ], 'MaintenanceTrackName' => [ '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, ], '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', ], ], 'wrapper' => true, ], '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, ], 'SnapshotList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Snapshot', 'locationName' => 'Snapshot', ], ], 'SnapshotMessage' => [ 'type' => 'structure', 'members' => [ 'Marker' => [ 'shape' => 'String', ], 'Snapshots' => [ 'shape' => 'SnapshotList', ], ], ], '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, ], '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', ], ], ], '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', ], ], ],]; +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', ], ], '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, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/rekognition/2016-06-27/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/rekognition/2016-06-27/api-2.json.php index 2dd1a885c..435af108b 100644 --- a/vendor/aws/aws-sdk-php/src/data/rekognition/2016-06-27/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/rekognition/2016-06-27/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], 'DetectModerationLabelsRequest' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'Image' => [ 'shape' => 'Image', ], 'MinConfidence' => [ 'shape' => 'Percent', ], ], ], 'DetectModerationLabelsResponse' => [ 'type' => 'structure', 'members' => [ 'ModerationLabels' => [ 'shape' => 'ModerationLabels', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'IndexFacesResponse' => [ 'type' => 'structure', 'members' => [ 'FaceRecords' => [ 'shape' => 'FaceRecordList', ], 'OrientationCorrection' => [ 'shape' => 'OrientationCorrection', ], 'FaceModelVersion' => [ 'shape' => 'String', ], ], ], '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', ], ], ], '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', ], ], '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, ], '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, ], '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, ], '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, ], '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, ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/resource-groups/2017-11-27/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/resource-groups/2017-11-27/api-2.json.php index f23f6ad33..7ab2bf36b 100644 --- a/vendor/aws/aws-sdk-php/src/data/resource-groups/2017-11-27/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/resource-groups/2017-11-27/api-2.json.php @@ -1,3 +1,3 @@ '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_\\.-]*', ], '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', ], ], ], 'ListGroupsInput' => [ 'type' => 'structure', 'members' => [ 'MaxResults' => [ 'shape' => 'MaxResults', 'location' => 'querystring', 'locationName' => 'maxResults', ], 'NextToken' => [ 'shape' => 'NextToken', 'location' => 'querystring', 'locationName' => 'nextToken', ], ], ], 'ListGroupsOutput' => [ 'type' => 'structure', 'members' => [ 'Groups' => [ 'shape' => 'GroupList', ], '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, ], 'QueryType' => [ 'type' => 'string', 'enum' => [ 'TAG_FILTERS_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', ], ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/api-2.json.php new file mode 100644 index 000000000..99f753e28 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/api-2.json.php @@ -0,0 +1,3 @@ + '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', ], ], ], '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', ], ], ], '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_\\-=]*', ], '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', ], ], ], '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', ], ], ], 'CreateFleetRequest' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], ], ], 'CreateFleetResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], ], ], 'CreateRobotApplicationRequest' => [ 'type' => 'structure', 'required' => [ 'name', 'sources', 'robotSoftwareSuite', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'sources' => [ 'shape' => 'SourceConfigs', ], 'robotSoftwareSuite' => [ 'shape' => 'RobotSoftwareSuite', ], ], ], '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', ], ], ], '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', ], ], ], 'CreateRobotResponse' => [ 'type' => 'structure', 'members' => [ 'arn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'createdAt' => [ 'shape' => 'CreatedAt', ], 'greengrassGroupId' => [ 'shape' => 'Id', ], 'architecture' => [ 'shape' => 'Architecture', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], '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' => 'Version', ], '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', 'FailureThresholdBreached', 'RobotDeploymentNoResponse', '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' => 'GenericString', ], 'preLaunchFile' => [ 'shape' => 'GenericString', ], 'launchFile' => [ 'shape' => 'GenericString', ], 'postLaunchFile' => [ 'shape' => 'GenericString', ], 'environmentVariables' => [ 'shape' => 'EnvironmentVariableMap', ], ], ], 'DeploymentStatus' => [ 'type' => 'string', 'enum' => [ 'Pending', 'Preparing', 'InProgress', 'Failed', 'Succeeded', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'simulationTimeMillis' => [ 'shape' => 'SimulationTimeMillis', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], '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, ], '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' => 'GenericString', ], 'launchFile' => [ 'shape' => 'GenericString', ], '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', ], ], ], '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_.\\-\\/+=]*', ], 'Percentage' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'ProgressDetail' => [ 'type' => 'structure', 'members' => [ 'currentProgress' => [ 'shape' => 'GenericString', ], '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', ], ], ], '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', ], 'clientRequestToken' => [ 'shape' => 'ClientRequestToken', ], 'outputLocation' => [ 'shape' => 'OutputLocation', ], 'maxJobDurationInSeconds' => [ 'shape' => 'JobDuration', ], 'simulationTimeMillis' => [ 'shape' => 'SimulationTimeMillis', ], 'iamRole' => [ 'shape' => 'IamRole', ], 'robotApplications' => [ 'shape' => 'RobotApplicationConfigs', ], 'simulationApplications' => [ 'shape' => 'SimulationApplicationConfigs', ], 'vpcConfig' => [ 'shape' => 'VPCConfigResponse', ], ], ], 'SimulationJobErrorCode' => [ 'type' => 'string', 'enum' => [ 'InternalServiceError', 'RobotApplicationCrash', 'SimulationApplicationCrash', 'BadPermissionsRobotApplication', 'BadPermissionsSimulationApplication', 'BadPermissionsS3Output', 'BadPermissionsCloudwatchLogs', 'SubnetIpLimitExceeded', 'ENILimitExceeded', 'BadPermissionsUserCredentials', 'InvalidBundleRobotApplication', 'InvalidBundleSimulationApplication', 'RobotApplicationVersionMismatchedEtag', 'SimulationApplicationVersionMismatchedEtag', ], ], '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', ], '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', ], ], ], 'ThrottlingException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'error' => [ 'httpStatusCode' => 400, ], 'exception' => true, ], '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/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/paginators-1.json.php new file mode 100644 index 000000000..869493d8d --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/robomaker/2018-06-29/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/route53/2013-04-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/route53/2013-04-01/api-2.json.php index 4c90c7902..59f895b5d 100644 --- a/vendor/aws/aws-sdk-php/src/data/route53/2013-04-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/route53/2013-04-01/api-2.json.php @@ -1,3 +1,3 @@ '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', '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, ], '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', ], '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', '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', ], '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', 'sa-east-1', 'ca-central-1', 'cn-north-1', ], 'max' => 64, 'min' => 1, ], 'VPCs' => [ 'type' => 'list', 'member' => [ 'shape' => 'VPC', 'locationName' => 'VPC', ], 'min' => 1, ], ],]; +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', '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', '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', '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/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/api-2.json.php new file mode 100644 index 000000000..7478b339e --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/paginators-1.json.php new file mode 100644 index 000000000..7ca2b09e8 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/smoke.json.php new file mode 100644 index 000000000..6c0dfe9ea --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/route53resolver/2018-04-01/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListResolverEndpoints', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetResolverRule', 'input' => [ 'ResolverRuleId' => 'fake-id', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/s3/2006-03-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/s3/2006-03-01/api-2.json.php index 306f2006b..a9585b110 100644 --- a/vendor/aws/aws-sdk-php/src/data/s3/2006-03-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/s3/2006-03-01/api-2.json.php @@ -1,3 +1,3 @@ '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', 'timestampFormat' => 'rfc822', 'uid' => 's3-2006-03-01', ], 'operations' => [ 'AbortMultipartUpload' => [ 'name' => 'AbortMultipartUpload', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', ], '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}', ], 'input' => [ 'shape' => 'DeleteBucketRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html', ], 'DeleteBucketAnalyticsConfiguration' => [ 'name' => 'DeleteBucketAnalyticsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?analytics', ], 'input' => [ 'shape' => 'DeleteBucketAnalyticsConfigurationRequest', ], ], 'DeleteBucketCors' => [ 'name' => 'DeleteBucketCors', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'DeleteBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html', ], 'DeleteBucketEncryption' => [ 'name' => 'DeleteBucketEncryption', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?encryption', ], 'input' => [ 'shape' => 'DeleteBucketEncryptionRequest', ], ], 'DeleteBucketInventoryConfiguration' => [ 'name' => 'DeleteBucketInventoryConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?inventory', ], 'input' => [ 'shape' => 'DeleteBucketInventoryConfigurationRequest', ], ], 'DeleteBucketLifecycle' => [ 'name' => 'DeleteBucketLifecycle', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'DeleteBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html', ], 'DeleteBucketMetricsConfiguration' => [ 'name' => 'DeleteBucketMetricsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?metrics', ], 'input' => [ 'shape' => 'DeleteBucketMetricsConfigurationRequest', ], ], 'DeleteBucketPolicy' => [ 'name' => 'DeleteBucketPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'DeleteBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html', ], 'DeleteBucketReplication' => [ 'name' => 'DeleteBucketReplication', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'DeleteBucketReplicationRequest', ], ], 'DeleteBucketTagging' => [ 'name' => 'DeleteBucketTagging', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'DeleteBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html', ], 'DeleteBucketWebsite' => [ 'name' => 'DeleteBucketWebsite', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'DeleteBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html', ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', ], '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', ], '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', ], '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', ], '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', ], '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', ], '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', ], 'PutObjectTagging' => [ 'name' => 'PutObjectTagging', 'http' => [ 'method' => 'PUT', 'requestUri' => '/{Bucket}/{Key+}?tagging', ], 'input' => [ 'shape' => 'PutObjectTaggingRequest', ], 'output' => [ 'shape' => 'PutObjectTaggingOutput', ], ], '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', ], ], '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', ], ], ], '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', ], ], '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', ], ], ], 'CreationDate' => [ 'type' => 'timestamp', ], 'Date' => [ 'type' => 'timestamp', 'timestampFormat' => 'iso8601', ], 'Days' => [ 'type' => 'integer', ], 'DaysAfterInitiation' => [ 'type' => 'integer', ], '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', ], ], ], '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', ], ], ], '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', ], ], 'payload' => 'Delete', ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], '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, ], 'ObjectNotInActiveTierError' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], 'ObjectStorageClass' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'REDUCED_REDUNDANCY', 'GLACIER', 'STANDARD_IA', 'ONEZONE_IA', ], ], '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', ], 'Prefix' => [ 'type' => 'string', ], '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', ], ], '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', ], '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', ], ], 'payload' => 'Body', ], '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', ], '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' => [ 'Prefix', 'Status', 'Destination', ], 'members' => [ 'ID' => [ 'shape' => 'ID', ], 'Prefix' => [ 'shape' => 'Prefix', ], 'Status' => [ 'shape' => 'ReplicationRuleStatus', ], 'SourceSelectionCriteria' => [ 'shape' => 'SourceSelectionCriteria', ], 'Destination' => [ 'shape' => 'Destination', ], ], ], '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, ], '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', ], ], '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', ], ], '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', ], ],]; +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+}', ], '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}', ], 'input' => [ 'shape' => 'DeleteBucketRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html', ], 'DeleteBucketAnalyticsConfiguration' => [ 'name' => 'DeleteBucketAnalyticsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?analytics', ], 'input' => [ 'shape' => 'DeleteBucketAnalyticsConfigurationRequest', ], ], 'DeleteBucketCors' => [ 'name' => 'DeleteBucketCors', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?cors', ], 'input' => [ 'shape' => 'DeleteBucketCorsRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html', ], 'DeleteBucketEncryption' => [ 'name' => 'DeleteBucketEncryption', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?encryption', ], 'input' => [ 'shape' => 'DeleteBucketEncryptionRequest', ], ], 'DeleteBucketInventoryConfiguration' => [ 'name' => 'DeleteBucketInventoryConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?inventory', ], 'input' => [ 'shape' => 'DeleteBucketInventoryConfigurationRequest', ], ], 'DeleteBucketLifecycle' => [ 'name' => 'DeleteBucketLifecycle', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?lifecycle', ], 'input' => [ 'shape' => 'DeleteBucketLifecycleRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html', ], 'DeleteBucketMetricsConfiguration' => [ 'name' => 'DeleteBucketMetricsConfiguration', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?metrics', ], 'input' => [ 'shape' => 'DeleteBucketMetricsConfigurationRequest', ], ], 'DeleteBucketPolicy' => [ 'name' => 'DeleteBucketPolicy', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?policy', ], 'input' => [ 'shape' => 'DeleteBucketPolicyRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html', ], 'DeleteBucketReplication' => [ 'name' => 'DeleteBucketReplication', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?replication', ], 'input' => [ 'shape' => 'DeleteBucketReplicationRequest', ], ], 'DeleteBucketTagging' => [ 'name' => 'DeleteBucketTagging', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?tagging', ], 'input' => [ 'shape' => 'DeleteBucketTaggingRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html', ], 'DeleteBucketWebsite' => [ 'name' => 'DeleteBucketWebsite', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}?website', ], 'input' => [ 'shape' => 'DeleteBucketWebsiteRequest', ], 'documentationUrl' => 'http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html', ], 'DeleteObject' => [ 'name' => 'DeleteObject', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/{Bucket}/{Key+}', ], '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', ], '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', ], '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', ], ], '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', ], ], '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', ], ], '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/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/api-2.json.php new file mode 100644 index 000000000..ae717f996 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/api-2.json.php @@ -0,0 +1,3 @@ + '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/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/paginators-1.json.php new file mode 100644 index 000000000..4782094e8 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/s3control/2018-08-20/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/api-2.json.php index 9d30712c1..95164ed7b 100644 --- a/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], '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', ], ], ], 'CreateModel' => [ 'name' => 'CreateModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'CreateModelInput', ], 'output' => [ 'shape' => 'CreateModelOutput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], ], 'DescribeModel' => [ 'name' => 'DescribeModel', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeModelInput', ], 'output' => [ 'shape' => 'DescribeModelOutput', ], ], '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', ], ], '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', ], ], ], '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', ], ], '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', ], ], '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', ], ], 'StartNotebookInstance' => [ 'name' => 'StartNotebookInstance', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartNotebookInstanceInput', ], 'errors' => [ [ 'shape' => 'ResourceLimitExceeded', ], ], ], 'StopHyperParameterTuningJob' => [ 'name' => 'StopHyperParameterTuningJob', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StopHyperParameterTuningJobRequest', ], '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', ], ], ], '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', ], ], ], ], 'shapes' => [ 'Accept' => [ 'type' => 'string', 'max' => 256, ], 'AddTagsInput' => [ 'type' => 'structure', 'required' => [ 'ResourceArn', 'Tags', ], 'members' => [ 'ResourceArn' => [ 'shape' => 'ResourceArn', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AddTagsOutput' => [ 'type' => 'structure', 'members' => [ 'Tags' => [ 'shape' => 'TagList', ], ], ], 'AlgorithmImage' => [ 'type' => 'string', 'max' => 255, ], 'AlgorithmSpecification' => [ 'type' => 'structure', 'required' => [ 'TrainingImage', 'TrainingInputMode', ], 'members' => [ 'TrainingImage' => [ 'shape' => 'AlgorithmImage', ], 'TrainingInputMode' => [ 'shape' => 'TrainingInputMode', ], ], ], 'AssemblyType' => [ 'type' => 'string', 'enum' => [ 'None', 'Line', ], ], 'BatchStrategy' => [ 'type' => 'string', 'enum' => [ 'MultiRecord', 'SingleRecord', ], ], 'CategoricalParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'Values', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'Values' => [ 'shape' => 'ParameterValues', ], ], ], 'CategoricalParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'CategoricalParameterRange', ], 'max' => 20, 'min' => 0, ], 'Channel' => [ 'type' => 'structure', 'required' => [ 'ChannelName', 'DataSource', ], 'members' => [ 'ChannelName' => [ 'shape' => 'ChannelName', ], 'DataSource' => [ 'shape' => 'DataSource', ], 'ContentType' => [ 'shape' => 'ContentType', ], 'CompressionType' => [ 'shape' => 'CompressionType', ], 'RecordWrapperType' => [ 'shape' => 'RecordWrapper', ], ], ], 'ChannelName' => [ 'type' => 'string', 'max' => 64, 'min' => 1, 'pattern' => '[A-Za-z0-9\\.\\-_]+', ], 'CompressionType' => [ 'type' => 'string', 'enum' => [ 'None', 'Gzip', ], ], 'ContainerDefinition' => [ 'type' => 'structure', 'required' => [ 'Image', ], 'members' => [ 'ContainerHostname' => [ 'shape' => 'ContainerHostname', ], 'Image' => [ 'shape' => 'Image', ], 'ModelDataUrl' => [ 'shape' => 'Url', ], 'Environment' => [ 'shape' => 'EnvironmentMap', ], ], ], 'ContainerHostname' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'ContentType' => [ 'type' => 'string', 'max' => 256, ], 'ContinuousParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'MinValue', 'MaxValue', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], ], ], 'ContinuousParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContinuousParameterRange', ], 'max' => 20, 'min' => 0, ], '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', ], 'Tags' => [ 'shape' => 'TagList', ], ], ], 'CreateHyperParameterTuningJobResponse' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobArn', ], 'members' => [ 'HyperParameterTuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], ], ], 'CreateModelInput' => [ 'type' => 'structure', 'required' => [ 'ModelName', 'PrimaryContainer', 'ExecutionRoleArn', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], 'PrimaryContainer' => [ 'shape' => 'ContainerDefinition', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'Tags' => [ 'shape' => 'TagList', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], ], ], 'CreateModelOutput' => [ 'type' => 'structure', 'required' => [ 'ModelArn', ], 'members' => [ 'ModelArn' => [ 'shape' => 'ModelArn', ], ], ], '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', ], ], ], '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', 'InputDataConfig', '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', ], ], ], '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', ], ], ], 'CreationTime' => [ 'type' => 'timestamp', ], 'DataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataSource', ], 'members' => [ 'S3DataSource' => [ 'shape' => 'S3DataSource', ], ], ], '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', ], ], ], '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' => [], ], 'DeployedImage' => [ 'type' => 'structure', 'members' => [ 'SpecifiedImage' => [ 'shape' => 'Image', ], 'ResolvedImage' => [ 'shape' => 'Image', ], 'ResolutionTime' => [ 'shape' => 'Timestamp', ], ], ], 'DeployedImages' => [ 'type' => 'list', 'member' => [ 'shape' => 'DeployedImage', ], ], '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', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], ], ], 'DescribeModelInput' => [ 'type' => 'structure', 'required' => [ 'ModelName', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], ], ], 'DescribeModelOutput' => [ 'type' => 'structure', 'required' => [ 'ModelName', 'PrimaryContainer', 'ExecutionRoleArn', 'CreationTime', 'ModelArn', ], 'members' => [ 'ModelName' => [ 'shape' => 'ModelName', ], 'PrimaryContainer' => [ 'shape' => 'ContainerDefinition', ], 'ExecutionRoleArn' => [ 'shape' => 'RoleArn', ], 'VpcConfig' => [ 'shape' => 'VpcConfig', ], 'CreationTime' => [ 'shape' => 'Timestamp', ], 'ModelArn' => [ 'shape' => 'ModelArn', ], ], ], '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', ], ], ], 'DescribeTrainingJobRequest' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], ], ], 'DescribeTrainingJobResponse' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'TrainingJobArn', 'ModelArtifacts', 'TrainingJobStatus', 'SecondaryStatus', 'AlgorithmSpecification', 'InputDataConfig', 'ResourceConfig', 'StoppingCondition', 'CreationTime', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], 'TuningJobArn' => [ 'shape' => 'HyperParameterTuningJobArn', ], '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', ], ], ], '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', ], ], ], 'DesiredWeightAndCapacity' => [ 'type' => 'structure', 'required' => [ 'VariantName', ], 'members' => [ 'VariantName' => [ 'shape' => 'VariantName', ], 'DesiredWeight' => [ 'shape' => 'VariantWeight', ], 'DesiredInstanceCount' => [ 'shape' => 'TaskCount', ], ], ], 'DesiredWeightAndCapacityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DesiredWeightAndCapacity', ], 'min' => 1, ], 'DirectInternetAccess' => [ 'type' => 'string', 'enum' => [ 'Enabled', 'Disabled', ], ], 'DisassociateNotebookInstanceLifecycleConfig' => [ 'type' => 'boolean', ], 'EndpointArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'EndpointConfigArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], 'EndpointConfigName' => [ 'type' => 'string', 'max' => 63, 'pattern' => '^[a-zA-Z0-9](-*[a-zA-Z0-9])*', ], 'EndpointConfigNameContains' => [ 'type' => 'string', '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', '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', ], ], '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, ], 'FailureReason' => [ 'type' => 'string', 'max' => 1024, ], 'FinalHyperParameterTuningJobObjectiveMetric' => [ 'type' => 'structure', 'required' => [ 'MetricName', 'Value', ], 'members' => [ 'Type' => [ 'shape' => 'HyperParameterTuningJobObjectiveType', ], 'MetricName' => [ 'shape' => 'MetricName', ], 'Value' => [ 'shape' => 'MetricValue', ], ], ], 'HyperParameterAlgorithmSpecification' => [ 'type' => 'structure', 'required' => [ 'TrainingImage', 'TrainingInputMode', ], 'members' => [ 'TrainingImage' => [ 'shape' => 'AlgorithmImage', ], 'TrainingInputMode' => [ 'shape' => 'TrainingInputMode', ], 'MetricDefinitions' => [ 'shape' => 'MetricDefinitionList', ], ], ], 'HyperParameterTrainingJobDefinition' => [ 'type' => 'structure', 'required' => [ 'AlgorithmSpecification', 'RoleArn', 'InputDataConfig', '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', ], ], ], 'HyperParameterTrainingJobSummaries' => [ 'type' => 'list', 'member' => [ 'shape' => 'HyperParameterTrainingJobSummary', ], ], 'HyperParameterTrainingJobSummary' => [ 'type' => 'structure', 'required' => [ 'TrainingJobName', 'TrainingJobArn', 'CreationTime', 'TrainingJobStatus', 'TunedHyperParameters', ], 'members' => [ 'TrainingJobName' => [ 'shape' => 'TrainingJobName', ], 'TrainingJobArn' => [ 'shape' => 'TrainingJobArn', ], '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', ], ], ], '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', ], ], 'HyperParameterTuningJobSortByOptions' => [ 'type' => 'string', 'enum' => [ 'Name', 'Status', 'CreationTime', ], ], 'HyperParameterTuningJobStatus' => [ 'type' => 'string', 'enum' => [ 'Completed', 'InProgress', 'Failed', 'Stopped', 'Stopping', ], ], 'HyperParameterTuningJobStrategyType' => [ 'type' => 'string', 'enum' => [ 'Bayesian', ], ], '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', ], ], ], 'HyperParameters' => [ 'type' => 'map', 'key' => [ 'shape' => 'ParameterKey', ], 'value' => [ 'shape' => 'ParameterValue', ], 'max' => 100, 'min' => 0, ], 'Image' => [ 'type' => 'string', 'max' => 255, 'pattern' => '[\\S]+', ], 'InputDataConfig' => [ 'type' => 'list', 'member' => [ 'shape' => 'Channel', ], 'max' => 8, 'min' => 1, ], 'InstanceType' => [ '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.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', ], ], ], 'IntegerParameterRanges' => [ 'type' => 'list', 'member' => [ 'shape' => 'IntegerParameterRange', ], 'max' => 20, 'min' => 0, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, ], 'LastModifiedTime' => [ 'type' => 'timestamp', ], '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', ], ], ], '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', ], ], ], 'ListNotebookInstancesOutput' => [ 'type' => 'structure', 'members' => [ 'NextToken' => [ 'shape' => 'NextToken', ], 'NotebookInstances' => [ 'shape' => 'NotebookInstanceSummaryList', ], ], ], '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', ], ], ], 'MaxConcurrentTransforms' => [ 'type' => 'integer', 'min' => 0, ], 'MaxNumberOfTrainingJobs' => [ 'type' => 'integer', 'min' => 1, ], 'MaxParallelTrainingJobs' => [ 'type' => 'integer', 'min' => 1, ], 'MaxPayloadInMB' => [ 'type' => 'integer', 'min' => 0, ], 'MaxResults' => [ 'type' => 'integer', 'max' => 100, 'min' => 1, ], 'MaxRuntimeInSeconds' => [ 'type' => 'integer', 'min' => 1, ], '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, ], 'MetricRegex' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'MetricValue' => [ 'type' => 'float', ], 'ModelArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], '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', 'pattern' => '[a-zA-Z0-9-]+', ], '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\\-]+', ], 'NetworkInterfaceId' => [ 'type' => 'string', ], 'NextToken' => [ 'type' => 'string', 'max' => 8192, ], 'NotebookInstanceArn' => [ 'type' => 'string', 'max' => 256, ], 'NotebookInstanceLifecycleConfigArn' => [ 'type' => 'string', 'max' => 256, ], 'NotebookInstanceLifecycleConfigContent' => [ 'type' => 'string', 'max' => 16384, 'min' => 1, ], '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', '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', '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', ], ], ], 'NotebookInstanceSummaryList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NotebookInstanceSummary', ], ], 'NotebookInstanceUrl' => [ 'type' => 'string', ], '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', ], ], ], 'OrderKey' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'OutputDataConfig' => [ 'type' => 'structure', 'required' => [ 'S3OutputPath', ], 'members' => [ 'KmsKeyId' => [ 'shape' => 'KmsKeyId', ], 'S3OutputPath' => [ 'shape' => 'S3Uri', ], ], ], 'PaginationToken' => [ 'type' => 'string', 'max' => 8192, ], 'ParameterKey' => [ 'type' => 'string', 'max' => 256, ], 'ParameterRanges' => [ 'type' => 'structure', 'members' => [ 'IntegerParameterRanges' => [ 'shape' => 'IntegerParameterRanges', ], 'ContinuousParameterRanges' => [ 'shape' => 'ContinuousParameterRanges', ], 'CategoricalParameterRanges' => [ 'shape' => 'CategoricalParameterRanges', ], ], ], 'ParameterValue' => [ 'type' => 'string', 'max' => 256, ], 'ParameterValues' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], 'max' => 20, 'min' => 1, ], 'ProductionVariant' => [ 'type' => 'structure', 'required' => [ 'VariantName', 'ModelName', 'InitialInstanceCount', 'InstanceType', ], 'members' => [ 'VariantName' => [ 'shape' => 'VariantName', ], 'ModelName' => [ 'shape' => 'ModelName', ], 'InitialInstanceCount' => [ 'shape' => 'TaskCount', ], 'InstanceType' => [ 'shape' => 'ProductionVariantInstanceType', ], 'InitialVariantWeight' => [ 'shape' => 'VariantWeight', ], ], ], '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, ], 'RecordWrapper' => [ 'type' => 'string', 'enum' => [ 'None', 'RecordIO', ], ], 'ResourceArn' => [ 'type' => 'string', 'max' => 256, ], '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, ], 'RoleArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, 'pattern' => '^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$', ], 'S3DataDistribution' => [ 'type' => 'string', 'enum' => [ 'FullyReplicated', 'ShardedByS3Key', ], ], 'S3DataSource' => [ 'type' => 'structure', 'required' => [ 'S3DataType', 'S3Uri', ], 'members' => [ 'S3DataType' => [ 'shape' => 'S3DataType', ], 'S3Uri' => [ 'shape' => 'S3Uri', ], 'S3DataDistributionType' => [ 'shape' => 'S3DataDistribution', ], ], ], 'S3DataType' => [ 'type' => 'string', 'enum' => [ 'ManifestFile', 'S3Prefix', ], ], 'S3Uri' => [ 'type' => 'string', 'max' => 1024, 'pattern' => '^(https|s3)://([^/]+)/?(.*)$', ], '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', ], ], 'SecurityGroupId' => [ 'type' => 'string', 'max' => 32, ], 'SecurityGroupIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'SecurityGroupId', ], 'max' => 5, ], 'SessionExpirationDurationInSeconds' => [ 'type' => 'integer', 'max' => 43200, 'min' => 1800, ], 'SortBy' => [ 'type' => 'string', 'enum' => [ 'Name', 'CreationTime', 'Status', ], ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'Ascending', 'Descending', ], ], 'SplitType' => [ 'type' => 'string', 'enum' => [ 'None', 'Line', 'RecordIO', ], ], 'StartNotebookInstanceInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceName', ], 'members' => [ 'NotebookInstanceName' => [ 'shape' => 'NotebookInstanceName', ], ], ], 'StatusMessage' => [ 'type' => 'string', ], 'StopHyperParameterTuningJobRequest' => [ 'type' => 'structure', 'required' => [ 'HyperParameterTuningJobName', ], 'members' => [ 'HyperParameterTuningJobName' => [ 'shape' => 'HyperParameterTuningJobName', ], ], ], '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', ], ], ], 'SubnetId' => [ 'type' => 'string', 'max' => 32, ], 'Subnets' => [ 'type' => 'list', 'member' => [ 'shape' => 'SubnetId', ], 'max' => 16, 'min' => 1, ], 'Tag' => [ 'type' => 'structure', 'required' => [ 'Key', 'Value', ], 'members' => [ 'Key' => [ 'shape' => 'TagKey', ], 'Value' => [ 'shape' => 'TagValue', ], ], ], '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, ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], 'max' => 50, 'min' => 0, ], 'TagValue' => [ 'type' => 'string', 'max' => 256, 'min' => 0, 'pattern' => '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$', ], 'TaskCount' => [ 'type' => 'integer', 'min' => 1, ], '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', ], ], 'TrainingJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-job/.*', ], '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', ], ], ], '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, ], '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', ], ], 'TransformJobArn' => [ 'type' => 'string', 'max' => 256, 'pattern' => 'arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:transform-job/.*', ], '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', ], ], ], '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', ], ], ], 'UpdateNotebookInstanceLifecycleConfigInput' => [ 'type' => 'structure', 'required' => [ 'NotebookInstanceLifecycleConfigName', ], 'members' => [ 'NotebookInstanceLifecycleConfigName' => [ 'shape' => 'NotebookInstanceLifecycleConfigName', ], 'OnCreate' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], 'OnStart' => [ 'shape' => 'NotebookInstanceLifecycleConfigList', ], ], ], 'UpdateNotebookInstanceLifecycleConfigOutput' => [ 'type' => 'structure', 'members' => [], ], 'UpdateNotebookInstanceOutput' => [ 'type' => 'structure', 'members' => [], ], '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, ], ],]; +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, ], '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, ], '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})(? [ 'type' => 'string', 'enum' => [ 'None', 'Line', ], ], 'AttributeName' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], '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, ], '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', ], '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, ], 'ContentTypes' => [ 'type' => 'list', 'member' => [ 'shape' => 'ContentType', ], ], 'ContinuousParameterRange' => [ 'type' => 'structure', 'required' => [ 'Name', 'MinValue', 'MaxValue', ], 'members' => [ 'Name' => [ 'shape' => 'ParameterKey', ], 'MinValue' => [ 'shape' => 'ParameterValue', ], 'MaxValue' => [ 'shape' => 'ParameterValue', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], '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', ], ], ], '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, ], 'EndpointConfigArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], '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, ], '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, ], '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' => 'Url', ], 'Branch' => [ 'shape' => 'Branch', ], 'SecretArn' => [ 'shape' => 'SecretArn', ], ], ], 'GitConfigForUpdate' => [ 'type' => 'structure', 'members' => [ 'SecretArn' => [ 'shape' => 'SecretArn', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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, ], 'JobReferenceCodeContains' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'KmsKeyId' => [ 'type' => 'string', 'max' => 2048, ], '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', ], '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', ], ], ], 'ListCompilationJobsResponse' => [ 'type' => 'structure', 'required' => [ 'CompilationJobSummaries', ], 'members' => [ 'CompilationJobSummaries' => [ 'shape' => 'CompilationJobSummaries', ], 'NextToken' => [ 'shape' => 'NextToken', ], ], ], '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, ], 'MetricRegex' => [ 'type' => 'string', 'max' => 500, 'min' => 1, ], 'MetricValue' => [ 'type' => 'float', ], 'ModelArn' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], '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, ], '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, ], '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, ], 'ParameterKey' => [ 'type' => 'string', 'max' => 256, ], 'ParameterName' => [ 'type' => 'string', 'max' => 256, ], '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, ], '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', ], '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, ], '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, ], '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, ], 'ResourceType' => [ 'type' => 'string', 'enum' => [ 'TrainingJob', ], ], 'ResponseMIMEType' => [ 'type' => 'string', 'max' => 1024, ], '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+=,.@\\-_/]+$', ], '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, ], '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', ], ], '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, ], 'SubnetId' => [ 'type' => 'string', 'max' => 32, ], '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' => '^((?!aws:)[\\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', ], ], 'TaskAvailabilityLifetimeInSeconds' => [ 'type' => 'integer', 'max' => 345600, 'min' => 1, ], 'TaskCount' => [ 'type' => 'integer', 'min' => 1, ], 'TaskDescription' => [ 'type' => 'string', 'max' => 255, 'min' => 1, ], 'TaskInput' => [ 'type' => 'string', 'max' => 128000, 'min' => 2, ], '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, ], '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', ], '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', ], ], ], '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, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/paginators-1.json.php index c9c59f3d2..13eda0396 100644 --- a/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/paginators-1.json.php @@ -1,3 +1,3 @@ [ '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', ], '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', ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/waiters-2.json.php b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/waiters-2.json.php index a9a29059f..5b4c484d5 100644 --- a/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/waiters-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sagemaker/2017-07-24/waiters-2.json.php @@ -1,3 +1,3 @@ 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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/api-2.json.php new file mode 100644 index 000000000..859ab71d0 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/api-2.json.php @@ -0,0 +1,3 @@ + '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', ], ], ], 'BatchDisableStandards' => [ 'name' => 'BatchDisableStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/deregister', ], 'input' => [ 'shape' => 'BatchDisableStandardsRequest', ], 'output' => [ 'shape' => 'BatchDisableStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'BatchEnableStandards' => [ 'name' => 'BatchEnableStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/register', ], 'input' => [ 'shape' => 'BatchEnableStandardsRequest', ], 'output' => [ 'shape' => 'BatchEnableStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'BatchImportFindings' => [ 'name' => 'BatchImportFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/findings/import', ], 'input' => [ 'shape' => 'BatchImportFindingsRequest', ], 'output' => [ 'shape' => 'BatchImportFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateInsight' => [ 'name' => 'CreateInsight', 'http' => [ 'method' => 'POST', 'requestUri' => '/insights', ], 'input' => [ 'shape' => 'CreateInsightRequest', ], 'output' => [ 'shape' => 'CreateInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'CreateMembers' => [ 'name' => 'CreateMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members', ], 'input' => [ 'shape' => 'CreateMembersRequest', ], 'output' => [ 'shape' => 'CreateMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeclineInvitations' => [ 'name' => 'DeclineInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitations/decline', ], 'input' => [ 'shape' => 'DeclineInvitationsRequest', ], 'output' => [ 'shape' => 'DeclineInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteInsight' => [ 'name' => 'DeleteInsight', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/insights/{InsightArn+}', ], 'input' => [ 'shape' => 'DeleteInsightRequest', ], 'output' => [ 'shape' => 'DeleteInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DeleteInvitations' => [ 'name' => 'DeleteInvitations', 'http' => [ 'method' => 'POST', 'requestUri' => '/invitations/delete', ], 'input' => [ 'shape' => 'DeleteInvitationsRequest', ], 'output' => [ 'shape' => 'DeleteInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'DeleteMembers' => [ 'name' => 'DeleteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/delete', ], 'input' => [ 'shape' => 'DeleteMembersRequest', ], 'output' => [ 'shape' => 'DeleteMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ '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', ], ], ], 'DisableSecurityHub' => [ 'name' => 'DisableSecurityHub', 'http' => [ 'method' => 'DELETE', 'requestUri' => '/accounts', ], 'input' => [ 'shape' => 'DisableSecurityHubRequest', ], 'output' => [ 'shape' => 'DisableSecurityHubResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'DisassociateFromMasterAccount' => [ 'name' => 'DisassociateFromMasterAccount', 'http' => [ 'method' => 'POST', 'requestUri' => '/master/disassociate', ], 'input' => [ 'shape' => 'DisassociateFromMasterAccountRequest', ], 'output' => [ 'shape' => 'DisassociateFromMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ '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' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'EnableImportFindingsForProduct' => [ 'name' => 'EnableImportFindingsForProduct', 'http' => [ 'method' => 'POST', 'requestUri' => '/productSubscriptions', ], 'input' => [ 'shape' => 'EnableImportFindingsForProductRequest', ], 'output' => [ 'shape' => 'EnableImportFindingsForProductResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], ], ], 'EnableSecurityHub' => [ 'name' => 'EnableSecurityHub', 'http' => [ 'method' => 'POST', 'requestUri' => '/accounts', ], 'input' => [ 'shape' => 'EnableSecurityHubRequest', ], 'output' => [ 'shape' => 'EnableSecurityHubResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetEnabledStandards' => [ 'name' => 'GetEnabledStandards', 'http' => [ 'method' => 'POST', 'requestUri' => '/standards/get', ], 'input' => [ 'shape' => 'GetEnabledStandardsRequest', ], 'output' => [ 'shape' => 'GetEnabledStandardsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetFindings' => [ 'name' => 'GetFindings', 'http' => [ 'method' => 'POST', 'requestUri' => '/findings', ], 'input' => [ 'shape' => 'GetFindingsRequest', ], 'output' => [ 'shape' => 'GetFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetInsightResults' => [ 'name' => 'GetInsightResults', 'http' => [ 'method' => 'GET', 'requestUri' => '/insights/results/{InsightArn+}', ], 'input' => [ 'shape' => 'GetInsightResultsRequest', ], 'output' => [ 'shape' => 'GetInsightResultsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetInsights' => [ 'name' => 'GetInsights', 'http' => [ 'method' => 'POST', 'requestUri' => '/insights/get', ], 'input' => [ 'shape' => 'GetInsightsRequest', ], 'output' => [ 'shape' => 'GetInsightsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'GetInvitationsCount' => [ 'name' => 'GetInvitationsCount', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitations/count', ], 'input' => [ 'shape' => 'GetInvitationsCountRequest', ], 'output' => [ 'shape' => 'GetInvitationsCountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'GetMasterAccount' => [ 'name' => 'GetMasterAccount', 'http' => [ 'method' => 'GET', 'requestUri' => '/master', ], 'input' => [ 'shape' => 'GetMasterAccountRequest', ], 'output' => [ 'shape' => 'GetMasterAccountResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ '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' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'InviteMembers' => [ 'name' => 'InviteMembers', 'http' => [ 'method' => 'POST', 'requestUri' => '/members/invite', ], 'input' => [ 'shape' => 'InviteMembersRequest', ], 'output' => [ 'shape' => 'InviteMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListEnabledProductsForImport' => [ 'name' => 'ListEnabledProductsForImport', 'http' => [ 'method' => 'GET', 'requestUri' => '/productSubscriptions', ], 'input' => [ 'shape' => 'ListEnabledProductsForImportRequest', ], 'output' => [ 'shape' => 'ListEnabledProductsForImportResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'LimitExceededException', ], ], ], 'ListInvitations' => [ 'name' => 'ListInvitations', 'http' => [ 'method' => 'GET', 'requestUri' => '/invitations', ], 'input' => [ 'shape' => 'ListInvitationsRequest', ], 'output' => [ 'shape' => 'ListInvitationsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ListMembers' => [ 'name' => 'ListMembers', 'http' => [ 'method' => 'GET', 'requestUri' => '/members', ], 'input' => [ 'shape' => 'ListMembersRequest', ], 'output' => [ 'shape' => 'ListMembersResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateFindings' => [ 'name' => 'UpdateFindings', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/findings', ], 'input' => [ 'shape' => 'UpdateFindingsRequest', ], 'output' => [ 'shape' => 'UpdateFindingsResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'UpdateInsight' => [ 'name' => 'UpdateInsight', 'http' => [ 'method' => 'PATCH', 'requestUri' => '/insights/{InsightArn+}', ], 'input' => [ 'shape' => 'UpdateInsightRequest', ], 'output' => [ 'shape' => 'UpdateInsightResponse', ], 'errors' => [ [ 'shape' => 'InternalException', ], [ 'shape' => 'InvalidInputException', ], [ 'shape' => 'LimitExceededException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], ], 'shapes' => [ 'AcceptInvitationRequest' => [ 'type' => 'structure', 'members' => [ 'MasterId' => [ 'shape' => 'NonEmptyString', ], 'InvitationId' => [ 'shape' => 'NonEmptyString', ], ], ], 'AcceptInvitationResponse' => [ 'type' => 'structure', 'members' => [], ], '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, ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/paginators-1.json.php new file mode 100644 index 000000000..7642bed08 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/securityhub/2018-10-26/paginators-1.json.php @@ -0,0 +1,3 @@ + [ '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/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/api-2.json.php index 098bb1ed9..70f62445d 100644 --- a/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/api-2.json.php @@ -1,3 +1,3 @@ [ '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', ], ], ], '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', ], ], ], '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', ], ], '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, ], ], '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', ], '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', ], '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' => [ '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', ], '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', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], ], 'CreateCloudFormationChangeSetInput' => [ 'type' => 'structure', 'members' => [ 'ParameterOverrides' => [ 'shape' => '__listOfParameterValue', 'locationName' => 'parameterOverrides', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackName' => [ 'shape' => '__string', 'locationName' => 'stackName', ], ], 'required' => [ 'StackName', ], ], 'CreateCloudFormationChangeSetRequest' => [ 'type' => 'structure', 'members' => [ 'ApplicationId' => [ 'shape' => '__string', 'location' => 'uri', 'locationName' => 'applicationId', ], 'ParameterOverrides' => [ 'shape' => '__listOfParameterValue', 'locationName' => 'parameterOverrides', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'StackName' => [ 'shape' => '__string', 'locationName' => 'stackName', ], ], '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', ], ], ], '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', ], ], ], 'InternalServerErrorException' => [ 'type' => 'structure', 'members' => [ 'ErrorCode' => [ 'shape' => '__string', 'locationName' => 'errorCode', ], 'Message' => [ 'shape' => '__string', 'locationName' => 'message', ], ], 'exception' => true, 'error' => [ 'httpStatusCode' => 500, ], ], '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', ], ], ], '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', ], 'SemanticVersion' => [ 'shape' => '__string', 'locationName' => 'semanticVersion', ], 'SourceCodeUrl' => [ 'shape' => '__string', 'locationName' => 'sourceCodeUrl', ], 'TemplateUrl' => [ 'shape' => '__string', 'locationName' => 'templateUrl', ], ], 'required' => [ 'TemplateUrl', 'ParameterDefinitions', 'CreationTime', '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', ], '__listOfApplicationPolicyStatement' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationPolicyStatement', ], ], '__listOfApplicationSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'ApplicationSummary', ], ], '__listOfParameterDefinition' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterDefinition', ], ], '__listOfParameterValue' => [ 'type' => 'list', 'member' => [ 'shape' => 'ParameterValue', ], ], '__listOfVersionSummary' => [ 'type' => 'list', 'member' => [ 'shape' => 'VersionSummary', ], ], '__listOf__string' => [ 'type' => 'list', 'member' => [ 'shape' => '__string', ], ], '__long' => [ 'type' => 'long', ], '__string' => [ 'type' => 'string', ], ],]; +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', ], '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', ], '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' => [ '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', ], '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', ], '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', ], '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/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/paginators-1.json.php index 5ed2ffbdb..adc0aeed1 100644 --- a/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/serverlessrepo/2017-09-08/paginators-1.json.php @@ -1,3 +1,3 @@ [ 'ListApplicationVersions' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxItems', ], 'ListApplications' => [ 'input_token' => 'NextToken', 'output_token' => 'NextToken', 'limit_key' => 'MaxItems', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/api-2.json.php index dc2c2430b..50e576ba7 100644 --- a/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DescribeTagOption' => [ 'name' => 'DescribeTagOption', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DescribeTagOptionInput', ], 'output' => [ 'shape' => 'DescribeTagOptionOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], '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', ], ], ], 'DisassociateTagOptionFromResource' => [ 'name' => 'DisassociateTagOptionFromResource', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'DisassociateTagOptionFromResourceInput', ], 'output' => [ 'shape' => 'DisassociateTagOptionFromResourceOutput', ], 'errors' => [ [ 'shape' => 'TagOptionNotMigratedException', ], [ 'shape' => 'ResourceNotFoundException', ], ], ], 'ExecuteProvisionedProductPlan' => [ 'name' => 'ExecuteProvisionedProductPlan', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ExecuteProvisionedProductPlanInput', ], 'output' => [ 'shape' => 'ExecuteProvisionedProductPlanOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], [ 'shape' => 'ResourceNotFoundException', ], [ 'shape' => 'InvalidStateException', ], ], ], 'ListAcceptedPortfolioShares' => [ 'name' => 'ListAcceptedPortfolioShares', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'ListAcceptedPortfolioSharesInput', ], 'output' => [ 'shape' => 'ListAcceptedPortfolioSharesOutput', ], 'errors' => [ [ 'shape' => 'InvalidParametersException', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'AcceptPortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], ], ], 'AcceptPortfolioShareOutput' => [ 'type' => 'structure', 'members' => [], ], 'AccessLevelFilter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'AccessLevelFilterKey', ], 'Value' => [ 'shape' => 'AccessLevelFilterValue', ], ], ], 'AccessLevelFilterKey' => [ 'type' => 'string', 'enum' => [ 'Account', 'Role', 'User', ], ], 'AccessLevelFilterValue' => [ 'type' => 'string', ], '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' => [], ], 'AssociateTagOptionWithResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagOptionId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagOptionId' => [ 'shape' => 'TagOptionId', ], ], ], 'AssociateTagOptionWithResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'AttributeValue' => [ 'type' => 'string', ], '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', 'AccountId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'AccountId' => [ 'shape' => 'AccountId', ], ], ], 'CreatePortfolioShareOutput' => [ 'type' => 'structure', 'members' => [], ], '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', ], ], ], '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', 'AccountId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], 'AccountId' => [ 'shape' => 'AccountId', ], ], ], 'DeletePortfolioShareOutput' => [ 'type' => 'structure', 'members' => [], ], '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' => [], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'DescribeTagOptionInput' => [ 'type' => 'structure', 'required' => [ 'Id', ], 'members' => [ 'Id' => [ 'shape' => 'TagOptionId', ], ], ], 'DescribeTagOptionOutput' => [ 'type' => 'structure', 'members' => [ 'TagOptionDetail' => [ 'shape' => 'TagOptionDetail', ], ], ], 'Description' => [ 'type' => 'string', ], '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' => [], ], 'DisassociateTagOptionFromResourceInput' => [ 'type' => 'structure', 'required' => [ 'ResourceId', 'TagOptionId', ], 'members' => [ 'ResourceId' => [ 'shape' => 'ResourceId', ], 'TagOptionId' => [ 'shape' => 'TagOptionId', ], ], ], 'DisassociateTagOptionFromResourceOutput' => [ 'type' => 'structure', 'members' => [], ], 'DuplicateResourceException' => [ 'type' => 'structure', 'members' => [], 'exception' => true, ], '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', ], ], ], 'HasDefaultPath' => [ 'type' => 'boolean', ], 'Id' => [ 'type' => 'string', 'max' => 100, 'min' => 1, ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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, ], 'OutputKey' => [ 'type' => 'string', ], 'OutputValue' => [ 'type' => 'string', ], 'PageSize' => [ 'type' => 'integer', 'max' => 20, 'min' => 0, ], 'PageToken' => [ 'type' => 'string', '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', ], 'PortfolioShareType' => [ 'type' => 'string', 'enum' => [ 'IMPORTED', 'AWS_SERVICECATALOG', ], ], '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', ], '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', ], ], ], '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', ], ], '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', ], ], 'ProvisioningArtifacts' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningArtifact', ], ], 'ProvisioningParameter' => [ 'type' => 'structure', 'members' => [ 'Key' => [ 'shape' => 'ParameterKey', ], 'Value' => [ 'shape' => 'ParameterValue', ], ], ], 'ProvisioningParameters' => [ 'type' => 'list', 'member' => [ 'shape' => 'ProvisioningParameter', ], ], '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', ], 'RejectPortfolioShareInput' => [ 'type' => 'structure', 'required' => [ 'PortfolioId', ], 'members' => [ 'AcceptLanguage' => [ 'shape' => 'AcceptLanguage', ], 'PortfolioId' => [ 'shape' => 'Id', ], ], ], '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, ], 'SortField' => [ 'type' => 'string', ], 'SortOrder' => [ 'type' => 'string', 'enum' => [ 'ASCENDING', 'DESCENDING', ], ], 'SourceProvisioningArtifactProperties' => [ 'type' => 'list', 'member' => [ 'shape' => 'SourceProvisioningArtifactPropertiesMap', ], ], 'SourceProvisioningArtifactPropertiesMap' => [ 'type' => 'map', 'key' => [ 'shape' => 'ProvisioningArtifactPropertyName', ], 'value' => [ 'shape' => 'ProvisioningArtifactPropertyValue', ], ], 'Status' => [ 'type' => 'string', 'enum' => [ 'AVAILABLE', 'CREATING', 'FAILED', ], ], 'StatusDetail' => [ 'type' => 'string', ], 'StatusMessage' => [ 'type' => 'string', 'pattern' => '[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*', ], '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', ], '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', ], ], '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', ], ],]; +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', ], '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/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/paginators-1.json.php index 2cbf901fd..f88b48c0f 100644 --- a/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/servicecatalog/2015-12-10/paginators-1.json.php @@ -1,3 +1,3 @@ [ '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', ], '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', ], 'ListResourcesForTagOption' => [ 'input_token' => 'PageToken', 'output_token' => 'PageToken', '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/servicediscovery/2017-03-14/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/servicediscovery/2017-03-14/api-2.json.php index d468dea7b..0fe1e47cf 100644 --- a/vendor/aws/aws-sdk-php/src/data/servicediscovery/2017-03-14/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/servicediscovery/2017-03-14/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2017-03-14', 'endpointPrefix' => 'servicediscovery', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'ServiceDiscovery', 'serviceFullName' => 'Amazon Route 53 Auto Naming', 'serviceId' => 'ServiceDiscovery', 'signatureVersion' => 'v4', 'targetPrefix' => 'Route53AutoNaming_v20170314', 'uid' => 'servicediscovery-2017-03-14', ], 'operations' => [ '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', ], ], ], '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' => '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' => 255, ], 'Attributes' => [ 'type' => 'map', 'key' => [ 'shape' => 'AttrKey', ], 'value' => [ 'shape' => 'AttrValue', ], ], 'Code' => [ 'type' => 'string', ], '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', 'DnsConfig', ], 'members' => [ 'Name' => [ 'shape' => 'ServiceName', ], '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', ], ], ], 'DnsConfig' => [ 'type' => 'structure', 'required' => [ 'NamespaceId', 'DnsRecords', ], 'members' => [ 'NamespaceId' => [ 'shape' => 'ResourceId', ], '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', ], ], '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', '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', ], ], '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', ], ], ], 'NamespaceSummariesList' => [ 'type' => 'list', 'member' => [ 'shape' => 'NamespaceSummary', ], ], 'NamespaceSummary' => [ 'type' => 'structure', 'members' => [ 'Id' => [ 'shape' => 'ResourceId', ], 'Arn' => [ 'shape' => 'Arn', ], 'Name' => [ 'shape' => 'NamespaceName', ], 'Type' => [ 'shape' => 'NamespaceType', ], ], ], 'NamespaceType' => [ 'type' => 'string', 'enum' => [ 'DNS_PUBLIC', 'DNS_PRIVATE', ], ], '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', ], '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', ], ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/api-2.json.php index c12215bf4..368de1b7c 100644 --- a/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2016-06-02', 'endpointPrefix' => 'shield', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'AWS Shield', 'serviceFullName' => 'AWS 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' => 'InvalidParameterException', ], ], ], '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' => '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' => [ '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', 'required' => [ 'ProtectionId', ], 'members' => [ 'ProtectionId' => [ 'shape' => 'ProtectionId', ], ], ], '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', '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', 'min' => 1, ], 'ResourceArnFilterList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ResourceArn', ], ], 'ResourceNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'errorMessage', ], ], 'exception' => true, ], 'RoleArn' => [ 'type' => 'string', 'max' => 96, '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', 'min' => 1, ], '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', ], ],]; +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' => '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', 'required' => [ 'ProtectionId', ], 'members' => [ 'ProtectionId' => [ 'shape' => 'ProtectionId', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/smoke.json.php new file mode 100644 index 000000000..d4fc90995 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/shield/2016-06-02/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-east-1', 'testCases' => [ [ 'operationName' => 'ListAttacks', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/sms-voice/2018-09-05/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/sms-voice/2018-09-05/api-2.json.php new file mode 100644 index 000000000..bac737fff --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/sms-voice/2018-09-05/api-2.json.php @@ -0,0 +1,3 @@ + [ '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', ], ], ], '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', 'exception' => true, 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 409, ], ], 'BadRequestException' => [ 'type' => 'structure', 'exception' => true, 'members' => [ 'Message' => [ 'shape' => 'String', ], ], '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' => [], ], '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', ], ], ], 'EventDestinationDefinition' => [ 'type' => 'structure', 'members' => [ 'CloudWatchLogsDestination' => [ 'shape' => 'CloudWatchLogsDestination', ], 'Enabled' => [ 'shape' => 'Boolean', ], 'KinesisFirehoseDestination' => [ 'shape' => 'KinesisFirehoseDestination', ], 'MatchingEventTypes' => [ 'shape' => 'EventTypes', ], ], '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', 'exception' => true, 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'error' => [ 'httpStatusCode' => 412, ], ], 'NonEmptyString' => [ 'type' => 'string', ], 'NotFoundException' => [ 'type' => 'structure', 'exception' => true, 'members' => [ 'Message' => [ 'shape' => 'String', ], ], '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', ], ], ], 'String' => [ 'type' => 'string', ], 'TooManyRequestsException' => [ 'type' => 'structure', 'exception' => true, 'members' => [ 'Message' => [ 'shape' => 'String', ], ], '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/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/api-2.json.php index 11ae81896..be1be85ab 100644 --- a/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'uid' => 'sms-2016-10-24', 'apiVersion' => '2016-10-24', 'endpointPrefix' => 'sms', 'jsonVersion' => '1.1', 'protocol' => 'json', 'serviceAbbreviation' => 'SMS', 'serviceFullName' => 'AWS Server Migration Service', 'signatureVersion' => 'v4', 'targetPrefix' => 'AWSServerMigrationService_V2016_10_24', ], 'operations' => [ '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', ], ], ], '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', ], ], ], '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', ], ], ], 'StartOnDemandReplicationRun' => [ 'name' => 'StartOnDemandReplicationRun', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'StartOnDemandReplicationRunRequest', ], 'output' => [ 'shape' => 'StartOnDemandReplicationRunResponse', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'MissingRequiredParameterException', ], [ 'shape' => 'UnauthorizedOperationException', ], [ 'shape' => 'OperationNotPermittedException', ], [ 'shape' => 'ReplicationRunLimitExceededException', ], ], ], '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', ], ], ], ], 'shapes' => [ 'AmiId' => [ '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', ], ], 'ConnectorCapabilityList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ConnectorCapability', 'locationName' => 'item', ], ], 'ConnectorId' => [ 'type' => 'string', ], 'ConnectorList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Connector', 'locationName' => 'item', ], ], 'ConnectorStatus' => [ 'type' => 'string', 'enum' => [ 'HEALTHY', 'UNHEALTHY', ], ], 'ConnectorVersion' => [ 'type' => 'string', ], 'CreateReplicationJobRequest' => [ 'type' => 'structure', 'required' => [ 'serverId', 'seedReplicationTime', 'frequency', ], 'members' => [ 'serverId' => [ 'shape' => 'ServerId', ], 'seedReplicationTime' => [ 'shape' => 'Timestamp', ], 'frequency' => [ 'shape' => 'Frequency', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'description' => [ 'shape' => 'Description', ], ], ], 'CreateReplicationJobResponse' => [ 'type' => 'structure', 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], ], ], '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' => [], ], 'ErrorMessage' => [ 'type' => 'string', ], 'Frequency' => [ 'type' => 'integer', ], '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', ], ], ], 'GetServersResponse' => [ 'type' => 'structure', 'members' => [ 'lastModifiedOn' => [ 'shape' => 'Timestamp', ], 'serverCatalogStatus' => [ 'shape' => 'ServerCatalogStatus', ], 'serverList' => [ 'shape' => 'ServerList', ], 'nextToken' => [ 'shape' => 'NextToken', ], ], ], 'ImportServerCatalogRequest' => [ 'type' => 'structure', 'members' => [], ], 'ImportServerCatalogResponse' => [ 'type' => 'structure', 'members' => [], ], 'InternalError' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, 'fault' => true, ], 'InvalidParameterException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'IpAddress' => [ 'type' => 'string', ], 'LicenseType' => [ 'type' => 'string', 'enum' => [ 'AWS', 'BYOL', ], ], '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, ], 'OperationNotPermittedException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationJob' => [ 'type' => 'structure', 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'serverId' => [ 'shape' => 'ServerId', ], 'serverType' => [ 'shape' => 'ServerType', ], 'vmServer' => [ 'shape' => 'VmServer', ], 'seedReplicationTime' => [ 'shape' => 'Timestamp', ], 'frequency' => [ 'shape' => 'Frequency', ], 'nextReplicationRunStartTime' => [ 'shape' => 'Timestamp', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'latestAmiId' => [ 'shape' => 'AmiId', ], 'state' => [ 'shape' => 'ReplicationJobState', ], 'statusMessage' => [ 'shape' => 'ReplicationJobStatusMessage', ], 'description' => [ 'shape' => 'Description', ], 'replicationRunList' => [ 'shape' => 'ReplicationRunList', ], ], ], 'ReplicationJobAlreadyExistsException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationJobId' => [ 'type' => 'string', ], 'ReplicationJobList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationJob', 'locationName' => 'item', ], ], 'ReplicationJobNotFoundException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationJobState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'ACTIVE', 'FAILED', 'DELETING', 'DELETED', ], ], 'ReplicationJobStatusMessage' => [ 'type' => 'string', ], 'ReplicationJobTerminated' => [ 'type' => 'boolean', ], 'ReplicationRun' => [ 'type' => 'structure', 'members' => [ 'replicationRunId' => [ 'shape' => 'ReplicationRunId', ], 'state' => [ 'shape' => 'ReplicationRunState', ], 'type' => [ 'shape' => 'ReplicationRunType', ], 'statusMessage' => [ 'shape' => 'ReplicationRunStatusMessage', ], 'amiId' => [ 'shape' => 'AmiId', ], 'scheduledStartTime' => [ 'shape' => 'Timestamp', ], 'completedTime' => [ 'shape' => 'Timestamp', ], 'description' => [ 'shape' => 'Description', ], ], ], 'ReplicationRunId' => [ 'type' => 'string', ], 'ReplicationRunLimitExceededException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ReplicationRunList' => [ 'type' => 'list', 'member' => [ 'shape' => 'ReplicationRun', 'locationName' => 'item', ], ], 'ReplicationRunState' => [ 'type' => 'string', 'enum' => [ 'PENDING', 'MISSED', 'ACTIVE', 'FAILED', 'COMPLETED', 'DELETING', 'DELETED', ], ], 'ReplicationRunStatusMessage' => [ 'type' => 'string', ], 'ReplicationRunType' => [ 'type' => 'string', 'enum' => [ 'ON_DEMAND', 'AUTOMATIC', ], ], 'RoleName' => [ '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', ], ], 'ServerId' => [ 'type' => 'string', ], 'ServerList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Server', 'locationName' => 'item', ], ], 'ServerType' => [ 'type' => 'string', 'enum' => [ 'VIRTUAL_MACHINE', ], ], 'StartOnDemandReplicationRunRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'description' => [ 'shape' => 'Description', ], ], ], 'StartOnDemandReplicationRunResponse' => [ 'type' => 'structure', 'members' => [ 'replicationRunId' => [ 'shape' => 'ReplicationRunId', ], ], ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UnauthorizedOperationException' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'UpdateReplicationJobRequest' => [ 'type' => 'structure', 'required' => [ 'replicationJobId', ], 'members' => [ 'replicationJobId' => [ 'shape' => 'ReplicationJobId', ], 'frequency' => [ 'shape' => 'Frequency', ], 'nextReplicationRunStartTime' => [ 'shape' => 'Timestamp', ], 'licenseType' => [ 'shape' => 'LicenseType', ], 'roleName' => [ 'shape' => 'RoleName', ], 'description' => [ 'shape' => 'Description', ], ], ], 'UpdateReplicationJobResponse' => [ 'type' => 'structure', 'members' => [], ], 'VmId' => [ 'type' => 'string', ], 'VmManagerId' => [ 'type' => 'string', ], 'VmManagerName' => [ 'type' => 'string', ], 'VmManagerType' => [ 'type' => 'string', 'enum' => [ 'VSPHERE', ], ], '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/paginators-1.json.php index ad2a8c171..06ff3e117 100644 --- a/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/paginators-1.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/paginators-1.json.php @@ -1,3 +1,3 @@ [ 'GetReplicationJobs' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'replicationJobList', ], 'GetReplicationRuns' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'replicationRunList', ], 'GetConnectors' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'connectorList', ], 'GetServers' => [ 'input_token' => 'nextToken', 'output_token' => 'nextToken', 'limit_key' => 'maxResults', 'result_key' => 'serverList', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/smoke.json.php new file mode 100644 index 000000000..a8087e25b --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/sms/2016-10-24/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'GetConnectors', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'DeleteReplicationJob', 'input' => [ 'replicationJobId' => 'invalidId', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/snowball/2016-06-30/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/snowball/2016-06-30/api-2.json.php index 4cfb7528a..a692b3cae 100644 --- a/vendor/aws/aws-sdk-php/src/data/snowball/2016-06-30/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/snowball/2016-06-30/api-2.json.php @@ -1,3 +1,3 @@ '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', 'NoPreference', ], ], 'SnowballType' => [ 'type' => 'string', 'enum' => [ 'STANDARD', 'EDGE', ], ], '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' => [], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sns/2010-03-31/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/sns/2010-03-31/api-2.json.php index 1de2af5a9..17f084bc5 100644 --- a/vendor/aws/aws-sdk-php/src/data/sns/2010-03-31/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sns/2010-03-31/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], 'Unsubscribe' => [ 'name' => 'Unsubscribe', 'http' => [ 'method' => 'POST', 'requestUri' => '/', ], 'input' => [ 'shape' => 'UnsubscribeInput', ], 'errors' => [ [ 'shape' => 'InvalidParameterException', ], [ 'shape' => 'InternalErrorException', ], [ 'shape' => 'AuthorizationErrorException', ], [ 'shape' => 'NotFoundException', ], ], ], ], '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', ], ], ], '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, ], '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', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/api-2.json.php index 670974d3a..283a0796f 100644 --- a/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2012-11-05', 'endpointPrefix' => 'sqs', 'protocol' => 'query', 'serviceAbbreviation' => 'Amazon SQS', 'serviceFullName' => 'Amazon Simple Queue Service', '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', ], ], ], ],]; +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/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/smoke.json.php new file mode 100644 index 000000000..a1822ce89 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/sqs/2012-11-05/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListQueues', 'input' => [], 'errorExpectedFromService' => false, ], [ 'operationName' => 'GetQueueUrl', 'input' => [ 'QueueName' => 'fake_queue', ], 'errorExpectedFromService' => true, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/ssm/2014-11-06/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/ssm/2014-11-06/api-2.json.php index 3a07e094a..c37440f39 100644 --- a/vendor/aws/aws-sdk-php/src/data/ssm/2014-11-06/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/ssm/2014-11-06/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => 'InvalidDocumentContent', ], [ 'shape' => 'InvalidDocumentVersion', ], [ 'shape' => 'InvalidDocumentSchemaVersion', ], [ 'shape' => 'InvalidDocument', ], ], ], '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', ], ], ], ], 'shapes' => [ 'AccountId' => [ 'type' => 'string', 'pattern' => '(?i)all|[0-9]{12}', ], 'AccountIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AccountId', ], 'max' => 20, ], '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', ], ], ], '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' => 'DocumentName', ], '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, ], 'AssociationDescription' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'Date' => [ 'shape' => 'DateTime', ], 'LastUpdateAssociationDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'AssociationStatus', ], 'Overview' => [ 'shape' => 'AssociationOverview', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'AssociationId' => [ 'shape' => 'AssociationId', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'LastExecutionDate' => [ 'shape' => 'DateTime', ], 'LastSuccessfulExecutionDate' => [ 'shape' => 'DateTime', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], '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' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], 'AssociationVersionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'AssociationVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'AssociationVersionInfo', ], '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', ], ], ], 'AutomationExecutionFilter' => [ 'type' => 'structure', 'required' => [ 'Key', 'Values', ], 'members' => [ 'Key' => [ 'shape' => 'AutomationExecutionFilterKey', ], 'Values' => [ 'shape' => 'AutomationExecutionFilterValueList', ], ], ], 'AutomationExecutionFilterKey' => [ 'type' => 'string', 'enum' => [ 'DocumentNamePrefix', 'ExecutionStatus', 'ExecutionId', 'ParentExecutionId', 'CurrentAction', 'StartTimeBefore', 'StartTimeAfter', ], ], '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', ], ], ], '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, ], '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' => [], ], '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', ], ], 'CreateActivationRequest' => [ 'type' => 'structure', 'required' => [ 'IamRole', ], 'members' => [ 'Description' => [ 'shape' => 'ActivationDescription', ], 'DefaultInstanceName' => [ 'shape' => 'DefaultInstanceName', ], 'IamRole' => [ 'shape' => 'IamRole', ], 'RegistrationLimit' => [ 'shape' => 'RegistrationLimit', 'box' => true, ], 'ExpirationDate' => [ 'shape' => 'ExpirationDate', ], ], ], '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' => 'DocumentName', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], 'CreateAssociationBatchResult' => [ 'type' => 'structure', 'members' => [ 'Successful' => [ 'shape' => 'AssociationDescriptionList', ], 'Failed' => [ 'shape' => 'FailedCreateAssociationList', ], ], ], 'CreateAssociationRequest' => [ 'type' => 'structure', 'required' => [ 'Name', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], ], ], 'CreateAssociationResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'CreateDocumentRequest' => [ 'type' => 'structure', 'required' => [ 'Content', 'Name', ], 'members' => [ 'Content' => [ 'shape' => 'DocumentContent', ], 'Name' => [ 'shape' => 'DocumentName', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], 'TargetType' => [ 'shape' => 'TargetType', ], ], ], 'CreateDocumentResult' => [ 'type' => 'structure', 'members' => [ 'DocumentDescription' => [ 'shape' => 'DocumentDescription', ], ], ], 'CreateMaintenanceWindowRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'Schedule', 'Duration', 'Cutoff', 'AllowUnassociatedTargets', ], 'members' => [ 'Name' => [ 'shape' => 'MaintenanceWindowName', ], 'Description' => [ 'shape' => 'MaintenanceWindowDescription', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], 'Duration' => [ 'shape' => 'MaintenanceWindowDurationHours', ], 'Cutoff' => [ 'shape' => 'MaintenanceWindowCutoff', ], 'AllowUnassociatedTargets' => [ 'shape' => 'MaintenanceWindowAllowUnassociatedTargets', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], ], ], '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', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], 'ClientToken' => [ 'shape' => 'ClientToken', 'idempotencyToken' => true, ], ], ], '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' => 'DocumentName', ], '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' => 'DocumentName', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], 'DocumentDescription' => [ 'type' => 'structure', 'members' => [ 'Sha1' => [ 'shape' => 'DocumentSha1', ], 'Hash' => [ 'shape' => 'DocumentHash', ], 'HashType' => [ 'shape' => 'DocumentHashType', ], 'Name' => [ 'shape' => 'DocumentARN', ], 'Owner' => [ 'shape' => 'DocumentOwner', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'DocumentStatus', ], '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', ], ], ], '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', ], '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', ], ], 'DocumentType' => [ 'type' => 'string', 'enum' => [ 'Command', 'Policy', 'Automation', 'Session', ], ], 'DocumentVersion' => [ 'type' => 'string', 'pattern' => '([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)', ], 'DocumentVersionInfo' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'IsDefaultVersion' => [ 'shape' => 'Boolean', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], ], ], 'DocumentVersionLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'DocumentVersionList' => [ 'type' => 'list', 'member' => [ 'shape' => 'DocumentVersionInfo', ], 'min' => 1, ], '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, ], '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', ], ], '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', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], ], ], 'GetDocumentResult' => [ 'type' => 'structure', 'members' => [ 'Name' => [ 'shape' => 'DocumentARN', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'Content' => [ 'shape' => 'DocumentContent', ], 'DocumentType' => [ 'shape' => 'DocumentType', ], 'DocumentFormat' => [ 'shape' => 'DocumentFormat', ], ], ], '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', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], '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', ], 'PatchGroups' => [ 'shape' => 'PatchGroupList', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'ModifiedDate' => [ 'shape' => 'DateTime', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], ], ], '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, ], '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' => 'DocumentName', ], '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', ], 'OwnerInformation' => [ 'shape' => 'OwnerInformation', ], 'InstalledCount' => [ 'shape' => 'PatchInstalledCount', ], 'InstalledOtherCount' => [ 'shape' => 'PatchInstalledOtherCount', ], '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, ], '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', ], ], ], '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, ], 'MaintenanceWindowStepFunctionsInput' => [ 'type' => 'string', 'max' => 4096, 'sensitive' => true, ], 'MaintenanceWindowStepFunctionsName' => [ 'type' => 'string', 'max' => 80, 'min' => 1, ], 'MaintenanceWindowStepFunctionsParameters' => [ 'type' => 'structure', 'members' => [ 'Input' => [ 'shape' => 'MaintenanceWindowStepFunctionsInput', ], 'Name' => [ 'shape' => 'MaintenanceWindowStepFunctionsName', ], ], ], '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', ], ], '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', ], ], ], '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', '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', ], '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', ], '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', ], ], ], 'PutParameterResult' => [ 'type' => 'structure', 'members' => [ 'Version' => [ 'shape' => 'PSParameterVersion', ], ], ], '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' => [], ], '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, ], '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', ], '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', ], ], ], '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', ], ], ], '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' => '^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], '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}_.:/=\\-@]*$', ], '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' => 'DocumentName', ], 'Targets' => [ 'shape' => 'Targets', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], ], ], 'UpdateAssociationResult' => [ 'type' => 'structure', 'members' => [ 'AssociationDescription' => [ 'shape' => 'AssociationDescription', ], ], ], 'UpdateAssociationStatusRequest' => [ 'type' => 'structure', 'required' => [ 'Name', 'InstanceId', 'AssociationStatus', ], 'members' => [ 'Name' => [ 'shape' => 'DocumentName', ], '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', ], 'Name' => [ 'shape' => 'DocumentName', ], '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', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], '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', ], 'Schedule' => [ 'shape' => 'MaintenanceWindowSchedule', ], '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', ], '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', ], 'CreatedDate' => [ 'shape' => 'DateTime', ], 'ModifiedDate' => [ 'shape' => 'DateTime', ], 'Description' => [ 'shape' => 'BaselineDescription', ], 'Sources' => [ 'shape' => 'PatchSourceList', ], ], ], '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}$', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], ], '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', ], ], ], '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' => 'DocumentName', ], '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' => 'DocumentName', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], 'Date' => [ 'shape' => 'DateTime', ], 'LastUpdateAssociationDate' => [ 'shape' => 'DateTime', ], 'Status' => [ 'shape' => 'AssociationStatus', ], 'Overview' => [ 'shape' => 'AssociationOverview', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], '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' => 'DocumentName', ], '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, ], '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', ], ], ], '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' => 'DocumentName', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], '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' => 'DocumentName', ], 'DocumentVersion' => [ 'shape' => 'DocumentVersion', ], 'InstanceId' => [ 'shape' => 'InstanceId', ], 'Parameters' => [ 'shape' => 'Parameters', ], 'Targets' => [ 'shape' => 'Targets', ], 'ScheduleExpression' => [ 'shape' => 'ScheduleExpression', ], 'OutputLocation' => [ 'shape' => 'InstanceAssociationOutputLocation', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], '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', ], ], ], '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, ], ], ], '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, ], ], ], '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' => 'DocumentName', ], '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' => 'DocumentName', ], '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', ], ], ], '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' => 'DocumentName', ], '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', ], ], ], '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' => [], ], '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', ], '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' => '^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$', ], 'TagList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Tag', ], ], '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' => 'DocumentName', ], 'Targets' => [ 'shape' => 'Targets', ], 'AssociationName' => [ 'shape' => 'AssociationName', ], 'AssociationVersion' => [ 'shape' => 'AssociationVersion', ], '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' => 'DocumentName', ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/api-2.json.php index 1724f7eb3..c8db714ef 100644 --- a/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], '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' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'ActivityScheduledEventDetails' => [ 'type' => 'structure', 'required' => [ 'resource', ], 'members' => [ 'resource' => [ 'shape' => 'Arn', ], 'input' => [ 'shape' => 'Data', ], 'timeoutInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], 'heartbeatInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], ], ], 'ActivityStartedEventDetails' => [ 'type' => 'structure', 'members' => [ 'workerName' => [ 'shape' => 'Identity', ], ], ], 'ActivitySucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'Data', ], ], ], 'ActivityTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'ActivityWorkerLimitExceeded' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'Arn' => [ 'type' => 'string', 'max' => 256, 'min' => 1, ], 'Cause' => [ 'type' => 'string', 'max' => 32768, 'min' => 0, ], 'CreateActivityInput' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], ], ], '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', ], ], ], 'CreateStateMachineOutput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', 'creationDate', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'creationDate' => [ 'shape' => 'Timestamp', ], ], ], 'Data' => [ 'type' => 'string', 'max' => 32768, ], 'Definition' => [ 'type' => 'string', 'max' => 1048576, 'min' => 1, ], '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' => 'Data', ], 'output' => [ 'shape' => 'Data', ], ], ], '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', ], ], ], 'Error' => [ 'type' => 'string', 'max' => 256, 'min' => 0, ], 'ErrorMessage' => [ 'type' => 'string', ], 'EventId' => [ 'type' => 'long', ], 'ExecutionAbortedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'ExecutionAlreadyExists' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExecutionDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'ExecutionFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], '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' => 'Data', ], 'roleArn' => [ 'shape' => 'Arn', ], ], ], 'ExecutionStatus' => [ 'type' => 'string', 'enum' => [ 'RUNNING', 'SUCCEEDED', 'FAILED', 'TIMED_OUT', 'ABORTED', ], ], 'ExecutionSucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'Data', ], ], ], 'ExecutionTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'GetActivityTaskInput' => [ 'type' => 'structure', 'required' => [ 'activityArn', ], 'members' => [ 'activityArn' => [ 'shape' => 'Arn', ], 'workerName' => [ 'shape' => 'Name', ], ], ], 'GetActivityTaskOutput' => [ 'type' => 'structure', 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'input' => [ 'shape' => 'Data', ], ], ], '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', ], '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', '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' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'LambdaFunctionScheduleFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'LambdaFunctionScheduledEventDetails' => [ 'type' => 'structure', 'required' => [ 'resource', ], 'members' => [ 'resource' => [ 'shape' => 'Arn', ], 'input' => [ 'shape' => 'Data', ], 'timeoutInSeconds' => [ 'shape' => 'TimeoutInSeconds', 'box' => true, ], ], ], 'LambdaFunctionStartFailedEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'LambdaFunctionSucceededEventDetails' => [ 'type' => 'structure', 'members' => [ 'output' => [ 'shape' => 'Data', ], ], ], 'LambdaFunctionTimedOutEventDetails' => [ 'type' => 'structure', 'members' => [ 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], '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', ], ], ], '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, ], 'ReverseOrder' => [ 'type' => 'boolean', ], 'SendTaskFailureInput' => [ 'type' => 'structure', 'required' => [ 'taskToken', ], 'members' => [ 'taskToken' => [ 'shape' => 'TaskToken', ], 'error' => [ 'shape' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], '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' => 'Data', ], ], ], 'SendTaskSuccessOutput' => [ 'type' => 'structure', 'members' => [], ], 'StartExecutionInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'name' => [ 'shape' => 'Name', ], 'input' => [ 'shape' => 'Data', ], ], ], 'StartExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'executionArn', 'startDate', ], 'members' => [ 'executionArn' => [ 'shape' => 'Arn', ], 'startDate' => [ 'shape' => 'Timestamp', ], ], ], 'StateEnteredEventDetails' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'input' => [ 'shape' => 'Data', ], ], ], 'StateExitedEventDetails' => [ 'type' => 'structure', 'required' => [ 'name', ], 'members' => [ 'name' => [ 'shape' => 'Name', ], 'output' => [ 'shape' => 'Data', ], ], ], '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' => 'Error', ], 'cause' => [ 'shape' => 'Cause', ], ], ], 'StopExecutionOutput' => [ 'type' => 'structure', 'required' => [ 'stopDate', ], 'members' => [ 'stopDate' => [ 'shape' => 'Timestamp', ], ], ], 'TaskDoesNotExist' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TaskTimedOut' => [ 'type' => 'structure', 'members' => [ 'message' => [ 'shape' => 'ErrorMessage', ], ], 'exception' => true, ], 'TaskToken' => [ 'type' => 'string', 'max' => 1024, 'min' => 1, ], 'TimeoutInSeconds' => [ 'type' => 'long', ], 'Timestamp' => [ 'type' => 'timestamp', ], 'UpdateStateMachineInput' => [ 'type' => 'structure', 'required' => [ 'stateMachineArn', ], 'members' => [ 'stateMachineArn' => [ 'shape' => 'Arn', ], 'definition' => [ 'shape' => 'Definition', ], 'roleArn' => [ 'shape' => 'Arn', ], ], ], 'UpdateStateMachineOutput' => [ 'type' => 'structure', 'required' => [ 'updateDate', ], 'members' => [ 'updateDate' => [ 'shape' => 'Timestamp', ], ], ], ],]; +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', ], ], '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', ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => 'SensitiveData', ], ], ], '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', ], ], ], '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, ], '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, ], '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', ], ], ], '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', ], '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/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/smoke.json.php b/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/smoke.json.php new file mode 100644 index 000000000..c966dac26 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/states/2016-11-23/smoke.json.php @@ -0,0 +1,3 @@ + 1, 'defaultRegion' => 'us-west-2', 'testCases' => [ [ 'operationName' => 'ListActivities', 'input' => [], 'errorExpectedFromService' => false, ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/storagegateway/2013-06-30/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/storagegateway/2013-06-30/api-2.json.php index 899ca9a44..97fe875ad 100644 --- a/vendor/aws/aws-sdk-php/src/data/storagegateway/2013-06-30/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/storagegateway/2013-06-30/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeProgress' => [ 'shape' => 'DoubleObject', ], 'SourceSnapshotId' => [ 'shape' => 'SnapshotId', ], 'VolumeiSCSIAttributes' => [ 'shape' => 'VolumeiSCSIAttributes', ], 'CreatedDate' => [ 'shape' => 'CreatedDate', ], 'VolumeUsedInBytes' => [ 'shape' => 'VolumeUsedInBytes', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], 'DiskAllocationType' => [ 'type' => 'string', 'max' => 100, 'min' => 3, ], 'DiskId' => [ 'type' => 'string', 'max' => 300, 'min' => 1, ], 'DiskIds' => [ 'type' => 'list', 'member' => [ 'shape' => 'DiskId', ], ], 'Disks' => [ 'type' => 'list', 'member' => [ 'shape' => 'Disk', ], ], 'DomainName' => [ 'type' => 'string', 'pattern' => '^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$', ], 'DomainUserName' => [ 'type' => 'string', 'pattern' => '^\\w[\\w\\.\\- ]*$', ], 'DomainUserPassword' => [ 'type' => 'string', '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, ], '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', ], ], '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', ], 'UserName' => [ 'shape' => 'DomainUserName', ], 'Password' => [ 'shape' => 'DomainUserPassword', ], ], ], 'JoinDomainOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'KMSKey' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], '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', ], ], ], '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', ], ], 'Path' => [ 'type' => 'string', ], 'PermissionId' => [ 'type' => 'long', 'max' => 4294967294, 'min' => 0, ], 'PermissionMode' => [ 'type' => 'string', 'max' => 4, 'min' => 1, 'pattern' => '^[0-7]{4}$', ], 'PositiveIntObject' => [ 'type' => 'integer', 'min' => 1, ], 'RecurrenceInHours' => [ 'type' => 'integer', 'max' => 24, 'min' => 1, ], 'RefreshCacheInput' => [ 'type' => 'structure', 'required' => [ 'FileShareARN', ], 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], 'RefreshCacheOutput' => [ 'type' => 'structure', 'members' => [ 'FileShareARN' => [ 'shape' => 'FileShareARN', ], ], ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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', ], ],]; +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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], 'VolumeSizeInBytes' => [ 'shape' => 'long', ], 'VolumeProgress' => [ 'shape' => 'DoubleObject', ], 'SourceSnapshotId' => [ 'shape' => 'SnapshotId', ], 'VolumeiSCSIAttributes' => [ 'shape' => 'VolumeiSCSIAttributes', ], 'CreatedDate' => [ 'shape' => 'CreatedDate', ], 'VolumeUsedInBytes' => [ 'shape' => 'VolumeUsedInBytes', ], 'KMSKey' => [ 'shape' => 'KMSKey', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', 'pattern' => '^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$', ], 'DomainUserName' => [ 'type' => 'string', 'pattern' => '^\\w[\\w\\.\\- ]*$', ], 'DomainUserPassword' => [ 'type' => 'string', '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', ], ], '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', ], 'UserName' => [ 'shape' => 'DomainUserName', ], 'Password' => [ 'shape' => 'DomainUserPassword', ], ], ], 'JoinDomainOutput' => [ 'type' => 'structure', 'members' => [ 'GatewayARN' => [ 'shape' => 'GatewayARN', ], ], ], 'KMSKey' => [ 'type' => 'string', 'max' => 2048, 'min' => 20, ], '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', ], ], ], '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', ], ], 'Path' => [ 'type' => 'string', ], 'PermissionId' => [ 'type' => 'long', 'max' => 4294967294, 'min' => 0, ], 'PermissionMode' => [ 'type' => 'string', 'max' => 4, 'min' => 1, 'pattern' => '^[0-7]{4}$', ], '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', ], ], ], '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', ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/transcribe/2017-10-26/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/transcribe/2017-10-26/api-2.json.php index 9ff7f7515..0936a95f9 100644 --- a/vendor/aws/aws-sdk-php/src/data/transcribe/2017-10-26/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/transcribe/2017-10-26/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', 'Phrases', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], ], ], 'CreateVocabularyResponse' => [ 'type' => 'structure', 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'VocabularyState' => [ 'shape' => 'VocabularyState', ], 'LastModifiedTime' => [ 'shape' => 'DateTime', ], 'FailureReason' => [ 'shape' => 'FailureReason', ], ], ], 'DateTime' => [ 'type' => 'timestamp', ], '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', ], ], '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', 'Phrases', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], ], ], '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', ], ], ],]; +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', 'Phrases', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], ], ], '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', ], ], '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', 'Phrases', ], 'members' => [ 'VocabularyName' => [ 'shape' => 'VocabularyName', ], 'LanguageCode' => [ 'shape' => 'LanguageCode', ], 'Phrases' => [ 'shape' => 'Phrases', ], ], ], '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/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/api-2.json.php new file mode 100644 index 000000000..5e9e8cc62 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/api-2.json.php @@ -0,0 +1,3 @@ + '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' => [ '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', ], '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', ], ], ], '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', ], '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' => 256, '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' => [ '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-z0-9]{3,32}$', ], 'UserPassword' => [ 'type' => 'string', ], ],]; diff --git a/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/paginators-1.json.php b/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/paginators-1.json.php new file mode 100644 index 000000000..00f54285c --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/data/transfer/2018-11-05/paginators-1.json.php @@ -0,0 +1,3 @@ + [],]; diff --git a/vendor/aws/aws-sdk-php/src/data/translate/2017-07-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/translate/2017-07-01/api-2.json.php index 8e12ee569..ac0019950 100644 --- a/vendor/aws/aws-sdk-php/src/data/translate/2017-07-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/translate/2017-07-01/api-2.json.php @@ -1,3 +1,3 @@ '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' => [ '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' => 'InternalServerException', ], [ 'shape' => 'ServiceUnavailableException', ], ], ], ], 'shapes' => [ 'BoundedLengthString' => [ 'type' => 'string', 'max' => 5000, 'min' => 1, ], 'DetectedLanguageLowConfidenceException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], 'DetectedLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], 'exception' => true, ], 'InternalServerException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, 'fault' => true, ], 'InvalidRequestException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], 'LanguageCodeString' => [ 'type' => 'string', 'max' => 5, 'min' => 2, ], '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, ], 'TranslateTextRequest' => [ 'type' => 'structure', 'required' => [ 'Text', 'SourceLanguageCode', 'TargetLanguageCode', ], 'members' => [ 'Text' => [ 'shape' => 'BoundedLengthString', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], ], 'TranslateTextResponse' => [ 'type' => 'structure', 'required' => [ 'TranslatedText', 'SourceLanguageCode', 'TargetLanguageCode', ], 'members' => [ 'TranslatedText' => [ 'shape' => 'String', ], 'SourceLanguageCode' => [ 'shape' => 'LanguageCodeString', ], 'TargetLanguageCode' => [ 'shape' => 'LanguageCodeString', ], ], ], 'UnsupportedLanguagePairException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'String', ], ], 'exception' => true, ], ],]; +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/vendor/aws/aws-sdk-php/src/data/waf-regional/2016-11-28/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/waf-regional/2016-11-28/api-2.json.php index 92b1dd520..5dab27cb8 100644 --- a/vendor/aws/aws-sdk-php/src/data/waf-regional/2016-11-28/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/waf-regional/2016-11-28/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], ], ], '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', ], ], 'ParameterExceptionParameter' => [ 'type' => 'string', 'min' => 1, ], 'ParameterExceptionReason' => [ 'type' => 'string', 'enum' => [ 'INVALID_OPTION', 'ILLEGAL_COMBINATION', ], ], '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, ], '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, ], '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', ], ], ], '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', ], ],]; +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', ], ], ], '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' => [], ], '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', ], ], 'ParameterExceptionParameter' => [ 'type' => 'string', 'min' => 1, ], 'ParameterExceptionReason' => [ 'type' => 'string', 'enum' => [ 'INVALID_OPTION', 'ILLEGAL_COMBINATION', ], ], '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/vendor/aws/aws-sdk-php/src/data/workdocs/2016-05-01/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/workdocs/2016-05-01/api-2.json.php index 494ef16d3..349fb6d21 100644 --- a/vendor/aws/aws-sdk-php/src/data/workdocs/2016-05-01/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/workdocs/2016-05-01/api-2.json.php @@ -1,3 +1,3 @@ '2.0', 'metadata' => [ 'apiVersion' => '2016-05-01', 'endpointPrefix' => 'workdocs', 'jsonVersion' => '1.1', 'protocol' => 'rest-json', 'serviceFullName' => 'Amazon 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', ], ], ], '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' => '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' => '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' => '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' => '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' => 'UnauthorizedOperationException', ], [ 'shape' => 'UnauthorizedResourceAccessException', ], [ 'shape' => 'FailedDependencyException', ], [ 'shape' => 'ServiceUnavailableException', ], [ 'shape' => 'InvalidArgumentException', ], ], ], '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', ], ], ], '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' => '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' => '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', ], 'OrganizationId' => [ 'shape' => 'IdType', ], 'Initiator' => [ 'shape' => 'UserMetadata', ], 'Participants' => [ 'shape' => 'Participants', ], 'ResourceMetadata' => [ 'shape' => 'ResourceMetadata', ], 'OriginalParent' => [ 'shape' => 'ResourceMetadata', ], 'CommentMetadata' => [ 'shape' => 'CommentMetadata', ], ], ], 'ActivityType' => [ 'type' => 'string', 'enum' => [ 'DOCUMENT_CHECKED_IN', 'DOCUMENT_CHECKED_OUT', 'DOCUMENT_RENAMED', 'DOCUMENT_VERSION_UPLOADED', 'DOCUMENT_VERSION_DELETED', '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, ], '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', ], 'UserId' => [ 'shape' => 'IdType', 'location' => 'querystring', 'locationName' => 'userId', ], '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', ], ], ], '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, ], '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', ], ], ], 'ResourceAlreadyCheckedOutException' => [ 'type' => 'structure', 'members' => [ 'Message' => [ 'shape' => 'ErrorMessageType', ], ], 'error' => [ 'httpStatusCode' => 409, ], 'exception' => true, ], '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', ], '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]+)?', ], ],]; +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/vendor/aws/aws-sdk-php/src/data/workspaces/2015-04-08/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/workspaces/2015-04-08/api-2.json.php index 99e11d7a6..6e6297f2a 100644 --- a/vendor/aws/aws-sdk-php/src/data/workspaces/2015-04-08/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/workspaces/2015-04-08/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], 'Compute' => [ 'type' => 'string', 'enum' => [ 'VALUE', 'STANDARD', 'PERFORMANCE', 'POWER', 'GRAPHICS', ], ], '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', ], ], ], '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', ], ], ], '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' => [], ], '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', ], ], ], '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', ], ], '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', ], ], ], '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, ], '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', ], ], '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, ], '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', ], ], ], '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, ], '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, ], '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', ], ], ],]; +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', ], ], ], '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', ], ], ], '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', ], '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/vendor/aws/aws-sdk-php/src/data/xray/2016-04-12/api-2.json.php b/vendor/aws/aws-sdk-php/src/data/xray/2016-04-12/api-2.json.php index 372f93f3a..48b2c3f92 100644 --- a/vendor/aws/aws-sdk-php/src/data/xray/2016-04-12/api-2.json.php +++ b/vendor/aws/aws-sdk-php/src/data/xray/2016-04-12/api-2.json.php @@ -1,3 +1,3 @@ '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', ], ], ], 'CreateSamplingRule' => [ 'name' => 'CreateSamplingRule', 'http' => [ 'method' => 'POST', 'requestUri' => '/CreateSamplingRule', ], 'input' => [ 'shape' => 'CreateSamplingRuleRequest', ], 'output' => [ 'shape' => 'CreateSamplingRuleResult', ], 'errors' => [ [ 'shape' => 'InvalidRequestException', ], [ 'shape' => 'ThrottledException', ], [ 'shape' => 'RuleLimitExceededException', ], ], ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], 'BorrowCount' => [ 'type' => 'integer', 'min' => 0, ], 'ClientID' => [ 'type' => 'string', 'max' => 24, 'min' => 24, ], 'CreateSamplingRuleRequest' => [ 'type' => 'structure', 'required' => [ 'SamplingRule', ], 'members' => [ 'SamplingRule' => [ 'shape' => 'SamplingRule', ], ], ], 'CreateSamplingRuleResult' => [ 'type' => 'structure', 'members' => [ 'SamplingRuleRecord' => [ 'shape' => 'SamplingRuleRecord', ], ], ], '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', ], 'ErrorStatistics' => [ 'type' => 'structure', 'members' => [ 'ThrottleCount' => [ 'shape' => 'NullableLong', ], 'OtherCount' => [ 'shape' => 'NullableLong', ], 'TotalCount' => [ 'shape' => 'NullableLong', ], ], ], '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', ], ], ], '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', ], 'NextToken' => [ 'shape' => 'String', ], ], ], 'GetServiceGraphResult' => [ 'type' => 'structure', 'members' => [ 'StartTime' => [ 'shape' => 'Timestamp', ], 'EndTime' => [ 'shape' => 'Timestamp', ], 'Services' => [ 'shape' => 'ServiceList', ], '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', ], ], ], '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', ], ], ], '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, ], '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', ], ], ], 'TraceId' => [ 'type' => 'string', 'max' => 35, 'min' => 1, ], 'TraceIdList' => [ 'type' => 'list', 'member' => [ 'shape' => 'TraceId', ], ], 'TraceList' => [ 'type' => 'list', 'member' => [ 'shape' => 'Trace', ], ], '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', ], ], ], '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', ], ], '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, ], ],]; +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/vendor/aws/aws-sdk-php/src/functions.php b/vendor/aws/aws-sdk-php/src/functions.php index 9020e400f..d8aba5f23 100644 --- a/vendor/aws/aws-sdk-php/src/functions.php +++ b/vendor/aws/aws-sdk-php/src/functions.php @@ -274,6 +274,25 @@ function default_http_handler() 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. * @@ -353,3 +372,18 @@ function manifest($service = null) "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) + ); +} \ No newline at end of file diff --git a/vendor/bin/codacycoverage b/vendor/bin/codacycoverage new file mode 120000 index 000000000..b563a6499 --- /dev/null +++ b/vendor/bin/codacycoverage @@ -0,0 +1 @@ +../codacy/coverage/bin/codacycoverage \ No newline at end of file diff --git a/vendor/bin/doctrine-dbal b/vendor/bin/doctrine-dbal deleted file mode 100644 index 63ffa17cb..000000000 --- a/vendor/bin/doctrine-dbal +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../doctrine/dbal/bin" && pwd) - -if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then - # We are in Cgywin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); -fi - -"${dir}/doctrine-dbal" "$@" diff --git a/vendor/bin/doctrine-dbal b/vendor/bin/doctrine-dbal new file mode 120000 index 000000000..58a8a89c2 --- /dev/null +++ b/vendor/bin/doctrine-dbal @@ -0,0 +1 @@ +../doctrine/dbal/bin/doctrine-dbal \ No newline at end of file diff --git a/vendor/bin/doctrine-dbal.bat b/vendor/bin/doctrine-dbal.bat deleted file mode 100644 index 1551521d9..000000000 --- a/vendor/bin/doctrine-dbal.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../doctrine/dbal/bin/doctrine-dbal -php "%BIN_TARGET%" %* diff --git a/vendor/bin/php-parse b/vendor/bin/php-parse deleted file mode 100644 index c4bd3e7ab..000000000 --- a/vendor/bin/php-parse +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../nikic/php-parser/bin" && pwd) - -if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then - # We are in Cgywin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); -fi - -"${dir}/php-parse" "$@" diff --git a/vendor/bin/php-parse b/vendor/bin/php-parse new file mode 120000 index 000000000..062d66a3e --- /dev/null +++ b/vendor/bin/php-parse @@ -0,0 +1 @@ +../nikic/php-parser/bin/php-parse \ No newline at end of file diff --git a/vendor/bin/php-parse.bat b/vendor/bin/php-parse.bat deleted file mode 100644 index a5baa4eda..000000000 --- a/vendor/bin/php-parse.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../nikic/php-parser/bin/php-parse -php "%BIN_TARGET%" %* diff --git a/vendor/bin/phpspec b/vendor/bin/phpspec deleted file mode 100644 index a4b7a7800..000000000 --- a/vendor/bin/phpspec +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env sh - -dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../phpspec/phpspec/bin" && pwd) - -if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then - # We are in Cgywin using Windows php, so the path must be translated - dir=$(cygpath -m "$dir"); -fi - -"${dir}/phpspec" "$@" diff --git a/vendor/bin/phpspec b/vendor/bin/phpspec new file mode 120000 index 000000000..034a5ff91 --- /dev/null +++ b/vendor/bin/phpspec @@ -0,0 +1 @@ +../phpspec/phpspec/bin/phpspec \ No newline at end of file diff --git a/vendor/bin/phpspec.bat b/vendor/bin/phpspec.bat deleted file mode 100644 index 59a4582b4..000000000 --- a/vendor/bin/phpspec.bat +++ /dev/null @@ -1,4 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/../phpspec/phpspec/bin/phpspec -php "%BIN_TARGET%" %* diff --git a/vendor/codacy/coverage/.github/ISSUE_TEMPLATE.md b/vendor/codacy/coverage/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..490f7749b --- /dev/null +++ b/vendor/codacy/coverage/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,47 @@ +### Are you looking for help? + +This is an issue tracker, used to manage and track the development of this [Codacy](https://www.codacy.com/) project. + +It is not a platform support system. If think your problem is related with our platform at https://www.codacy.com/, please contact us through our [contact form](https://www.codacy.com/contact) or our internal chat application, visible after you login on the bottom right corner. + +Keep in mind that this issue tracker is for specific problems of this project. + +### PHP Version + + + +### Test framework + + + +### Operating System (Ubuntu 15.10 / MacOS 10.10 / Windows 10) + +Use `uname -a` if on Linux. + +### Library Dependencies + +If this is an issue that involves integration with another system, include the exact version and OS of the other system, including any intermediate drivers or APIs i.e. if you connect to a PostgreSQL database, include both the version / OS of PostgreSQL and the JDBC driver version used to connect to the database. + +### Expected Behavior + +Please describe the expected behavior of the issue, starting from the first action. + +1. +2. +3. + +### Actual Behavior + +Please provide a description of what actually happens, working from the same starting point. + +Be descriptive: "it doesn't work" does not describe what the behavior actually is -- instead, say "when running this sequence of commands (...) it returns an error: (...).." Copy and paste logs, and include any URLs. + +1. +2. +3. + +### Reproducible Test Case + +Please provide a some information on how to reproduce the bug. A PR with a failing test would be awesome, if possible. + +If the issue is more complex or requires configuration, please provide a link to a project on Github/Codacy that reproduces the issue. diff --git a/vendor/codacy/coverage/.gitignore b/vendor/codacy/coverage/.gitignore new file mode 100644 index 000000000..08c2f8674 --- /dev/null +++ b/vendor/codacy/coverage/.gitignore @@ -0,0 +1,10 @@ +.idea +*.iml +/vendor/ +/build/ +composer.phar +vendor/ + +# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file +# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file +composer.lock diff --git a/vendor/codacy/coverage/.travis.yml b/vendor/codacy/coverage/.travis.yml new file mode 100644 index 000000000..4a1102ac0 --- /dev/null +++ b/vendor/codacy/coverage/.travis.yml @@ -0,0 +1,18 @@ +language: php + +php: + - '7.0' + - '7.1' + - '7.2' + - nightly + +before_script: +# In case of timeouts and build failures you may want to prepend 'travis_retry' to the following commands: + - composer install -n + +# Explicitly use the phpunit from composer, not any system-wide found +script: + - php vendor/bin/phpunit --coverage-clover build/coverage/xml tests + +after_success: + - php vendor/bin/codacycoverage clover build/coverage/xml diff --git a/vendor/codacy/coverage/LICENSE b/vendor/codacy/coverage/LICENSE new file mode 100644 index 000000000..2bf24b9b9 --- /dev/null +++ b/vendor/codacy/coverage/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) + +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. \ No newline at end of file diff --git a/vendor/codacy/coverage/README.md b/vendor/codacy/coverage/README.md new file mode 100644 index 000000000..6dd23ada0 --- /dev/null +++ b/vendor/codacy/coverage/README.md @@ -0,0 +1,170 @@ +[![Codacy Badge](https://api.codacy.com/project/badge/grade/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage) +[![Codacy Badge](https://api.codacy.com/project/badge/coverage/d992a862b1994805907ec277e16b0fda)](https://www.codacy.com/app/Codacy/php-codacy-coverage) +[![Circle CI](https://circleci.com/gh/codacy/php-codacy-coverage.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/codacy/php-codacy-coverage) +[![Latest Stable Version](https://poser.pugx.org/codacy/coverage/version)](https://packagist.org/packages/codacy/coverage) + +# Codacy PHP Coverage Reporter +[Codacy](https://codacy.com/) coverage support for PHP. Get coverage reporting and code analysis for PHP from Codacy. + +# Prerequisites + +- PHP 5.3 or later +- One of the following coverage report formats + - Clover XML (e.g. ```--coverage-clover``` in PHPUnit) + - [Only for PHPUnit <4] PHPUnit XML (e.g. ```--coverage-xml``` in PHPUnit) + +# Installation + +Setup codacy-coverage with Composer, just add the following to your composer.json: + +```js +// composer.json +{ + "require-dev": { + "codacy/coverage": "dev-master" + } +} +``` + +Download the dependencies by running Composer in the directory of your `composer.json`: + +```sh +# install +$ php composer.phar install --dev +# update +$ php composer.phar update codacy/coverage --dev +``` + +codacy-coverage library is available on [Packagist](https://packagist.org/packages/codacy/coverage). + +Add the autoloader to your php script: + +```php +require_once 'vendor/autoload.php'; +``` + +> Note: +We have php5-curl dependency, if you have issues related to curl_init() please install it with: +``` +sudo apt-get install php5-curl +``` + +## Alternative Installation (using phar) + +Setup codacy-coverage as phar, you can simply download a pre-compiled and ready-to-use version as a phar to any directory. Simply download the latest `codacy-coverage.phar` file from our [releases page](https://github.com/codacy/php-codacy-coverage/releases): + +[Latest release](https://github.com/codacy/php-codacy-coverage/releases/latest) + +That's it already. + +## Updating Codacy + +To update Codacy, you will need your project API token. You can find the token in Project -> Settings -> Integrations -> Project API. + +Then set it in your terminal, replacing %Project_Token% with your own token: + +``` +export CODACY_PROJECT_TOKEN=%Project_Token% +``` + +> Note: You should keep your API token well **protected**, as it grants owner permissions to your projects. + +> To send coverage in the enterprise version you should: +``` +export CODACY_API_BASE_URL=:16006 +``` + +# Usage + +Run ```vendor/bin/codacycoverage``` to see a list of commands. + +#### Basic usage for Clover format: + +```vendor/bin/codacycoverage clover``` + +#### Basic usage for PHPUnit XML format: + +```php vendor/bin/codacycoverage phpunit``` + +By default we assume that +- your Clover coverage report is saved in ```build/logs/clover.xml``` +- your PHPUnit XML report is saved in the directory ```build/coverage-xml``` + +#### Optional parameters: + +You can specify the path to your report with the second parameter: + +- Clover XML + - ```php vendor/bin/codacycoverage clover path/to/a-clover.xml``` +- PHPUnit XML + - ```php vendor/bin/codacycoverage phpunit directory/path/to/phpunitreport``` + +Even more control: + +- ```--base-url=``` defaults to http://codacy.com +- ```--git-commit=``` defaults to the last commit hash + +## Circle CI + +This project sends its own coverage during the build in circleCI. +Feel free to check our `circle.yml`, and send your coverage as a step of your build process. + +## Travis CI + +Add codacycoverage to your `.travis.yml`: + +```yml +# .travis.yml +language: php + +# Do not forget to provide your CODACY_PROJECT_TOKEN as described in https://docs.travis-ci.com/user/environment-variables/#Defining-Variables-in-Repository-Settings + +php: + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - hhvm + +# In case of timeouts and build failures you may want to prepend 'travis_retry' to the following commands: +before_script: + - curl -s http://getcomposer.org/installer | php + - php composer.phar install -n + +script: + - php vendor/bin/phpunit --coverage-clover build/coverage/xml + +after_script: + - php vendor/bin/codacycoverage clover build/coverage/xml +``` + +## Troubleshooting + +If you have a fatal error regarding curl_init(): +``` +PHP Fatal error: Uncaught Error: Call to undefined function Codacy\Coverage\Util\curl_init() in /src/Codacy/Coverage/Util/CodacyApiClient.php:30 +``` +Run: ```sudo apt-get install php5-curl``` + +## What is Codacy? + +[Codacy](https://www.codacy.com/) is an Automated Code Review Tool that monitors your technical debt, helps you improve your code quality, teaches best practices to your developers, and helps you save time in Code Reviews. + +### Among Codacy’s features: + +- Identify new Static Analysis issues +- Commit and Pull Request Analysis with GitHub, BitBucket/Stash, GitLab (and also direct git repositories) +- Auto-comments on Commits and Pull Requests +- Integrations with Slack, HipChat, Jira, YouTrack +- Track issues in Code Style, Security, Error Proneness, Performance, Unused Code and other categories + +Codacy also helps keep track of Code Coverage, Code Duplication, and Code Complexity. + +Codacy supports PHP, Python, Ruby, Java, JavaScript, and Scala, among others. + +### Free for Open Source + +Codacy is free for Open Source projects. + +## License +[MIT](LICENSE) diff --git a/vendor/codacy/coverage/bin/codacycoverage b/vendor/codacy/coverage/bin/codacycoverage new file mode 100755 index 000000000..aed2ae695 --- /dev/null +++ b/vendor/codacy/coverage/bin/codacycoverage @@ -0,0 +1,29 @@ +#!/usr/bin/env php +run(); diff --git a/vendor/codacy/coverage/box.json b/vendor/codacy/coverage/box.json new file mode 100644 index 000000000..c3c06a682 --- /dev/null +++ b/vendor/codacy/coverage/box.json @@ -0,0 +1,9 @@ +{ + "directories": [ + "src", + "vendor" + ], + "main": "bin/codacycoverage", + "output": "build/codacy-coverage.phar", + "stub": true +} diff --git a/vendor/codacy/coverage/circle.yml b/vendor/codacy/coverage/circle.yml new file mode 100644 index 000000000..7eff31e12 --- /dev/null +++ b/vendor/codacy/coverage/circle.yml @@ -0,0 +1,26 @@ +machine: + php: + version: 7.1.6 + +dependencies: + pre: + - curl -s http://getcomposer.org/installer | php + - php composer.phar install -n + - go get github.com/aktau/github-release + - wget -O box.phar https://github.com/box-project/box2/releases/download/2.7.5/box-2.7.5.phar + +test: + post: + - php vendor/bin/phpunit --coverage-clover build/coverage/xml tests + +deployment: + master: + branch: master + commands: + - php bin/codacycoverage clover build/coverage/xml + release: + tag: /[0-9]+(\.[0-9]+)*/ + commands: + - php -d phar.readonly=0 box.phar build + - git config user.name $CIRCLE_PROJECT_USERNAME + - github-release upload --user $CIRCLE_PROJECT_USERNAME --repo $CIRCLE_PROJECT_REPONAME --tag $CIRCLE_TAG --name codacy-coverage.phar --file build/codacy-coverage.phar diff --git a/vendor/codacy/coverage/composer.json b/vendor/codacy/coverage/composer.json new file mode 100644 index 000000000..0b4526abb --- /dev/null +++ b/vendor/codacy/coverage/composer.json @@ -0,0 +1,27 @@ +{ + "name": "codacy/coverage", + "description": "Sends PHP test coverage information to Codacy.", + "homepage": "https://github.com/codacy/php-codacy-coverage", + "type": "library", + "require": { + "php": ">=5.3.3", + "gitonomy/gitlib": ">=1.0", + "symfony/console": "~2.5|~3.0|~4.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.5" + }, + "bin": ["bin/codacycoverage"], + "autoload": { + "classmap": [ + "src/" + ] + }, + "license": "MIT", + "authors": [ + { + "name": "Jakob Pupke", + "email": "jakob.pupke@gmail.com" + } + ] +} diff --git a/vendor/codacy/coverage/phpunit.xml.dist b/vendor/codacy/coverage/phpunit.xml.dist new file mode 100644 index 000000000..ea3bca5ef --- /dev/null +++ b/vendor/codacy/coverage/phpunit.xml.dist @@ -0,0 +1,34 @@ + + + + + tests + + + + + + + + + + + + + src + + src/Codacy/Coverage/Util/CodacyApiClient.php + src/Codacy/Coverage/CodacyPhpCoverage.php + + + + diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Application.php b/vendor/codacy/coverage/src/Codacy/Coverage/Application.php new file mode 100644 index 000000000..1ee6ded24 --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Application.php @@ -0,0 +1,23 @@ +add(new CloverCommand()); + $this->add(new PhpunitCommand()); + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php b/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php new file mode 100644 index 000000000..85c219d16 --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Command/Clover.php @@ -0,0 +1,151 @@ +setName("clover") + ->setDescription("Send coverage results in clover format") + ->addArgument( + "path_to_coverage_results", + InputArgument::OPTIONAL, + "Path where coverage results are saved: XML file for clover format, directory containing the index.xml for phpunit format" + ) + ->addOption( + "git-commit", + null, + InputOption::VALUE_REQUIRED, + "Commit hash of results to be send" + ) + ->addOption( + "base-url", + null, + InputOption::VALUE_REQUIRED, + "Codacy base url" + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + $projectToken = $this->getProjectToken(); + + $parser = $this->getParser($input->getArgument("path_to_coverage_results")); + $jsonProducer = new JsonProducer(); + $jsonProducer->setParser($parser); + + $commit = $this->getCommitHash($input->getOption("git-commit")); + + $baseUrl = $this->getBaseCodacyUrl($input->getOption("base-url")); + + $data = $jsonProducer->makeJson(); + + if ($output->isVerbose()) { + $output->writeln("Sending coverage results to " . $baseUrl); + $output->writeln("Generated JSON:"); + $output->writeln($data); + } + + $client = new CodacyApiClient($baseUrl, $projectToken); + $result = $client->sendCoverage($commit, $data); + if ($output->isVerbose()) { + $output->writeln($result); + } + } + + /** + * Get parser of current format type. + * + * @param string $path Path to clover.xml + * + * @return CloverParser + */ + protected function getParser($path = null) + { + $path = is_null($path) ? + join(DIRECTORY_SEPARATOR, array('build', 'logs', 'clover.xml')) : + $path; + return new CloverParser($path); + } + + /** + * Return Codacy Project Token. + * + * @return string Project token + * + * @throws \InvalidArgumentException If Token not specified + */ + protected function getProjectToken() + { + $projectToken = getenv("CODACY_PROJECT_TOKEN"); + if ($projectToken == false) { + throw new \InvalidArgumentException( + "Cannot continue with execution as long as your project token is not set as an environmental variable." + . PHP_EOL . "Please type: export CODACY_PROJECT_TOKEN=" + ); + } + + return urlencode($projectToken); + } + + /** + * Get Git commit hash of project + * + * @param string $hash Specified hash + * + * @return string Git commit hash + * + * @throws \InvalidArgumentException When bad hash specified, or can't get commit hash + */ + protected function getCommitHash($hash = null) + { + if (!$hash) { + $gClient = new GitClient(getcwd()); + return $gClient->getHashOfLatestCommit(); + } + + if (strlen($hash) != 40) { + throw new \InvalidArgumentException( + sprintf("Invalid git commit hash %s specified", $hash) + ); + } + + return urlencode($hash); + } + + /** + * Return base Codacy Project URL + * + * @param string $url HTTP URL for codacy + * + * @return string Base Codacy Project URL + */ + protected function getBaseCodacyUrl($url = null) + { + if ($url) { + return $url; + } + $url = getenv("CODACY_API_BASE_URL"); + + return $url ? $url : "https://api.codacy.com"; + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php b/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php new file mode 100644 index 000000000..fdea4de8e --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php @@ -0,0 +1,33 @@ +setName("phpunit") + ->setDescription("Send coverage results in phpunit format"); + } + + protected function getParser($path = null) + { + $path = is_null($path) ? + "build" . DIRECTORY_SEPARATOR . "coverage-xml" : + $path; + + $parser = new PhpUnitXmlParser($path . DIRECTORY_SEPARATOR . "index.xml"); + $parser->setDirOfFileXmls($path); + + return $parser; + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php new file mode 100644 index 000000000..1e4cb696c --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php @@ -0,0 +1,146 @@ + + */ +class CloverParser extends XMLParser implements IParser +{ + + /** + * Extracts basic information about coverage report and delegates + * more detailed extraction work to _makeFileReports() method. + * @return CoverageReport $report The CoverageReport object + */ + public function makeReport() + { + $project = $this->element->project; + $projectMetrics = $project->metrics; + $coveredStatements = intval($projectMetrics['coveredstatements']); + $statementsTotal = intval($projectMetrics['statements']); + $reportTotal = round($this->safeDivision($coveredStatements, $statementsTotal) * 100); + $fileReports = $this->makeFileReports($project); + $report = new CoverageReport($reportTotal, $fileReports); + return $report; + } + + /** + * Takes the root \SimpleXMLElement object of the parsed file + * and decides on how to iterate it to extract information of all + * .. nodes. + * @param \SimpleXMLElement $node the root XML node. + * @return array holding FileReport objects + */ + private function makeFileReports(\SimpleXMLElement $node) + { + $fileReports = array(); + /* + * Most clover reports will have project/package/file/line xPath. + * But there could be files that are not part of any package, i.e files that + * that do not declare namespace. + */ + if ($node->file->count() > 0) { + // so there is a file without package + $fileReports = $this->makeFileReportsFromFiles($node->file, $fileReports); + } + if ($node->package->count() > 0) { + $fileReports = $this->makeFileReportsFromPackages($node->package, $fileReports); + } + return $fileReports; + } + + /** + * Iterates all over all .. nodes. + * @param \SimpleXMLElement $node The XML node holding the file nodes. + * @param array $fileReports array of FileReport objects + * @return array holding FileReport objects + */ + private function makeFileReportsFromFiles(\SimpleXMLElement $node, $fileReports) + { + foreach ($node as $file) { + // iterate files in the package + $countStatement = intval($file->metrics['statements']); + $countCoveredStatements = intval($file->metrics['coveredstatements']); + if ($countStatement == 0) { + $fileTotal = 0; + } else { + $fileTotal = round($this->safeDivision($countCoveredStatements, $countStatement) * 100); + } + $fileName = $this->getRelativePath($file['name']); + $lineCoverage = $this->getLineCoverage($file); + $fileReport = new FileReport($fileTotal, $fileName, $lineCoverage); + array_push($fileReports, $fileReport); + } + return $fileReports; + } + + /** + * Iterates over all ... nodes and calls _makeFileReportsFromFiles on them + * @param \SimpleXMLElement $node The XML node holding all ... nodes + * @param array $fileReports array of FileReport objects + * @return array holding FileReport objects + */ + private function makeFileReportsFromPackages(\SimpleXMLElement $node, $fileReports) + { + // iterate all packages + foreach ($node as $package) { + $fileReports = $this->makeFileReportsFromFiles($package->file, $fileReports); + } + return $fileReports; + } + + /** + * Iterates all nodes and produces an array holding line coverage information. + * Only adds lines of type "stmt" and with count greater than 0. + * @param \SimpleXMLElement $node The XML node holding the nodes + * @return array: (lineNumber -> hits) + */ + private function getLineCoverage(\SimpleXMLElement $node) + { + $lineCoverage = (object)array(); + foreach ($node as $line) { + $count = intval($line['count']); + // iterate all lines in that file + if ($line['type'] == 'stmt') { + $lineNr = (string)$line['num']; + $hit = $count; + $lineCoverage->$lineNr = $hit; + } + } + return $lineCoverage; + } + + /** + * Cuts the file name so we have relative path to projectRoot. + * In a clover file file names are saved from / on. + * We are only interested in relative filename + * @param \SimpleXMLElement $fileName The filename attribute + * @return string The relative path of that file + */ + private function getRelativePath(\SimpleXMLElement $fileName) + { + $prefix = $this->rootDir . DIRECTORY_SEPARATOR; + $str = (string)$fileName; + + if (substr($str, 0, strlen($prefix)) == $prefix) { + $str = substr($str, strlen($prefix)); + } + + return $str; + } + + private function safeDivision($a, $b) + { + if ($b === 0) { + return 0; + } + return $a / $b; + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php new file mode 100644 index 000000000..daee4a48b --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php @@ -0,0 +1,57 @@ + + */ +interface IParser +{ + public function makeReport(); +} + +/** + * Class XMLParser + * The superclass of all parsers that parse XML files. + * @author Jakob Pupke + */ +abstract class XMLParser +{ + /** + * @var \SimpleXMLElement + */ + protected $element; + + /** + * @var null|string The root directory. Can be other than current working directory + * in order to make tests pass against the static reports in tests/res directory. + */ + protected $rootDir; + + /** + * Construct PhpUnitXmlParser and set the XML object as member field. + * All XML parser classes inherit this constructor. + * @param string $rootDir Is only for making tests pass. + * @param string $path Path to XML file + */ + public function __construct($path, $rootDir = null) + { + if (file_exists($path)) { + if ($rootDir == null) { + $this->rootDir = getcwd(); + } else { + $this->rootDir = $rootDir; + } + $this->element = simplexml_load_file($path); + } else { + throw new \InvalidArgumentException( + "Unable to load the xml file. Make sure path is properly set. " . + "Using: \"$path\"", E_USER_ERROR + ); + } + } + +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php new file mode 100644 index 000000000..fa6d3346b --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php @@ -0,0 +1,121 @@ + + */ +class PhpUnitXmlParser extends XMLParser implements IParser +{ + + protected $dirOfFileXmls; + /** + * Extracts basic information about coverage report + * from the root xml file (index.xml). + * For line coverage information about the files it has + * to parse each individual file. This is handled by + * _getLineCoverage() private method. + * @return CoverageReport $report The CoverageReport object + */ + + /** + * @param $dir string The path to where the single file xmls reside + */ + public function setDirOfFileXmls($dir) + { + $this->dirOfFileXmls = $dir; + } + + /** + * @return string The path to where the single file xmls reside + */ + public function getDirOfFileXmls() + { + return $this->dirOfFileXmls; + } + + public function makeReport() + { + //we can get the report total from the first directory summary. + $reportTotal = $this->getTotalFromPercent($this->element->project->directory->totals->lines["percent"]); + + $fileReports = array(); + foreach ($this->element->project->directory->file as $file) { + $fileName = $this->getRelativePath($file["href"]); + $fileTotal = $this->getTotalFromPercent($file->totals->lines["percent"]); + + $xmlFileHref = (string)$file["href"]; + $base = $this->getDirOfFileXmls(); + // get the corresponding xml file to get lineCoverage information. + if (file_exists($base . DIRECTORY_SEPARATOR . $xmlFileHref)) { + $fileXml = simplexml_load_file($base . DIRECTORY_SEPARATOR . $xmlFileHref); + } else { + throw new \InvalidArgumentException( + "Error: Cannot read XML file. Using: " . $base . DIRECTORY_SEPARATOR . $xmlFileHref . "\n\r" + ); + } + + $lineCoverage = $this->getLineCoverage($fileXml); + $fileReport = new FileReport($fileTotal, $fileName, $lineCoverage); + array_push($fileReports, $fileReport); + } + $report = new CoverageReport($reportTotal, $fileReports); + return $report; + } + + /** + * Iterates all nodes and produces an array holding line coverage information. + * @param \SimpleXMLElement $node The XML node holding the nodes + * @return array: (lineNumber -> hits) + */ + private function getLineCoverage(\SimpleXMLElement $node) + { + $lineCoverage = (object)array(); + if ($node->file->coverage) { + foreach ($node->file->coverage->line as $line) { + $count = $line->covered->count(); + $nr = (string)$line["nr"]; + $lineCoverage->$nr = $count; + } + } + return $lineCoverage; + } + + /** + * Gets Integer from percent. Example: 95.00% -> 95 + * @param \SimpleXMLElement $percent The percent attribute of the node + * @return integer The according integer value + */ + private function getTotalFromPercent(\SimpleXMLElement $percent) + { + $percent = (string)$percent; + $percent = substr($percent, 0, -1); + return round($percent); + } + + /** + * The PhpUnit XML Coverage format does not save the full path of the filename + * We can get the filename by combining the path of the first directory with + * the href attribute of each file. + * @param \SimpleXMLElement $fileName The href attribute of the node. + * @return string The relative path of the file, that is, relative to project root. + */ + private function getRelativePath(\SimpleXMLElement $fileName) + { + $dirOfSrcFiles = $this->element->project->directory["name"]; + $projectRoot = $this->rootDir; + // Need to cut off everything lower than projectRoot + $dirFromProjectRoot = substr($dirOfSrcFiles, strlen($projectRoot) + 1); + // remove .xml and convert to string + $relativeFilePath = substr((string)$fileName, 0, -4); + return join(DIRECTORY_SEPARATOR, array($dirFromProjectRoot, $relativeFilePath)); + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php b/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php new file mode 100644 index 000000000..d0c0f12de --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php @@ -0,0 +1,48 @@ + + */ +class CoverageReport +{ + /** + * @var integer + */ + private $_total; + + /** + * @var array (of type FileReport) + */ + private $_fileReports; + + /** + * @param $total string + * @param $fileReports array (of type FileReport) + */ + public function __construct($total, $fileReports) + { + $this->_total = $total; + $this->_fileReports = $fileReports; + } + + /** + * @return integer + */ + public function getTotal() + { + return $this->_total; + } + + /** + * @return array (of type FileReport) + */ + public function getFileReports() + { + return $this->_fileReports; + } +} \ No newline at end of file diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php b/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php new file mode 100644 index 000000000..e927ac07f --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php @@ -0,0 +1,63 @@ + hits] + * @author Jakob Pupke + */ +class FileReport +{ + /** + * @var integer + */ + private $_total; + + /** + * @var string + */ + private $_fileName; + + /** + * @var array (line -> hits) of type [string -> int] + */ + private $_lineCoverage; + + /** + * @param $total string + * @param $fileName string + * @param $lineCoverage array + */ + public function __construct($total, $fileName, $lineCoverage) + { + $this->_total = $total; + $this->_fileName = $fileName; + $this->_lineCoverage = $lineCoverage; + } + + /** + * @return integer + */ + public function getTotal() + { + return $this->_total; + } + + /** + * @return string + */ + public function getFileName() + { + return $this->_fileName; + } + + /** + * @return array + */ + public function getLineCoverage() + { + return $this->_lineCoverage; + } +} \ No newline at end of file diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php b/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php new file mode 100644 index 000000000..8462dd226 --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php @@ -0,0 +1,85 @@ + + */ +class CodacyApiClient +{ + + function __construct($baseUrl, $projectToken) + { + $this->baseUrl = $baseUrl; + $this->projectToken = $projectToken; + } + + /** + * @param string $commit commit uuid + * @param string $data the JSON data + * + * @return string success message + * + * @throws \Exception when remote server response + */ + public function sendCoverage($commit, $data) + { + $tempCertFile = $this->dumpCertificateBundle(); + + $url = $this->baseUrl . "/2.0/coverage/" . $commit . "/php"; + + $curl = curl_init($url); + + curl_setopt($curl, CURLOPT_HEADER, false); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt( + $curl, CURLOPT_HTTPHEADER, + array( + "Content-type: application/json", + "project_token: " . $this->projectToken + ) + ); + curl_setopt($curl, CURLOPT_CAINFO, $tempCertFile); + curl_setopt($curl, CURLOPT_POST, true); + curl_setopt($curl, CURLOPT_POSTFIELDS, $data); + + $json_response = curl_exec($curl); + + unlink($tempCertFile); + + $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + if ($status < 200 || $status > 201) { + throw new \Exception( + sprintf("Error: call to URL %s failed with status %s, response %s, curl_error %u", + $url, $status, $json_response, curl_error($curl), curl_errno($curl) + ) + ); + } + + curl_close($curl); + + $json = json_decode($json_response, true); + + if (isset($json['success']) || array_key_exists('success', $json)) { + return $json['success']; + } else { + return $json['error']; + } + } + + /** + * Store certificate bundle to temporary file to be available when used within phar context + * + * @return string Full qualified path to temporary file + */ + protected function dumpCertificateBundle() + { + $tempCertFile = tempnam(sys_get_temp_dir(), 'cacert'); + + copy(dirname(__FILE__) . '/cacert.pem', $tempCertFile); + + return $tempCertFile; + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php b/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php new file mode 100644 index 000000000..21f3a9ffc --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php @@ -0,0 +1,45 @@ + + */ +class GitClient +{ + /** + * @var Repository + */ + private $_repository; + + /** + * Instantiates a GitClient object. Reads conf.ini to get the path to the repository. + * Throws InvalidArgumentException is projectRoot is not properly set in ini file. + */ + public function __construct($path) + { + if (is_dir(getcwd())) { + $this->_repository = new Repository($path); + } else { + throw new \InvalidArgumentException( + "Could not instantiate GitClient. Using: " + . getcwd() + ); + } + + } + + /** + * @return string The Hash of the latest Commit. + */ + public function getHashOfLatestCommit() + { + $head = $this->_repository->getHeadCommit(); + return $head->getHash(); + } +} + diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php b/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php new file mode 100644 index 000000000..5c3b349c1 --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php @@ -0,0 +1,87 @@ + + */ +class JsonProducer +{ + /** + * @var Parser that implements IParser interface + */ + private $_parser; + + /** + * Sets the JsonParser's member field + * @param $parser IParser Any parser class that implements the IParser interface + */ + public function setParser(IParser $parser) + { + $this->_parser = $parser; + } + + /** + * Delegates the job to the parser's makeReport() method + * @return CoverageReport The CoverageReport object + */ + public function makeReport() + { + return $this->_parser->makeReport(); + } + + /** + * Takes a CoverageReport object, the result of makeReport(), and outputs JSON. + * Example JSON format: + * { + * "total": 67, + * "fileReports": [ + * { + * "filename": "src/Codacy/Coverage/Api/Api.php", + * "total": 3, + * "coverage": { + * "12": 3, + * "13": 5, + * ......... + * ......... + * } + * }, + * ......... + * ....... + * ] + * } + * + * @return string the JSON string + */ + public function makeJson() + { + $report = $this->makeReport(); + $array = array(); + $array['total'] = $report->getTotal(); + + $fileReportsArray = array(); + $fileReports = $report->getFileReports(); + + foreach ($fileReports as $fr) { + $fileArray = array(); + $fileArray['filename'] = $fr->getFileName(); + $fileArray['total'] = $fr->getTotal(); + $fileArray['coverage'] = $fr->getLineCoverage(); + + array_push($fileReportsArray, $fileArray); + } + + $array['fileReports'] = $fileReportsArray; + + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + return json_encode($array, JSON_UNESCAPED_SLASHES); + } else { + return str_replace('\/', '/', json_encode($array)); + } + + } +} diff --git a/vendor/codacy/coverage/src/Codacy/Coverage/Util/cacert.pem b/vendor/codacy/coverage/src/Codacy/Coverage/Util/cacert.pem new file mode 100644 index 000000000..39ba33683 --- /dev/null +++ b/vendor/codacy/coverage/src/Codacy/Coverage/Util/cacert.pem @@ -0,0 +1,3646 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Wed Sep 20 03:12:05 2017 GMT +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.27. +## SHA256: 2b2dbe5244e0047e088c597998883a913f6c5fffd1cb5c0fe5a368c8466cb2ec +## + + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ +KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy +T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT +J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e +nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Certum Root CA +============== +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK +ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla +Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u +by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x +wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL +kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ +89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K +Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P +NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ +GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg +GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ +0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS +qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx +ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 +XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk +lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB +lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy +lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt +66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn +wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh +D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy +BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie +J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud +DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU +a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv +Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 +UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm +VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK ++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW +IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 +WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X +f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II +4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 +VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx +OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg +DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij +KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K +DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv +BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp +p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 +nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX +MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM +Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz +uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT +BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj +YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB +BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD +VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 +ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE +AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV +qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s +hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z +POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 +Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp +8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC +bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu +g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p +vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr +qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +Camerfirma Chambers of Commerce Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx +NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp +cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn +MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC +AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU +xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH +NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW +DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV +d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud +EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v +cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P +AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh +bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD +VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi +fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD +L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN +UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n +ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 +erfutGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- + +Camerfirma Global Chambersign Root +================================== +-----BEGIN CERTIFICATE----- +MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx +NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt +YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg +MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw +ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J +1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O +by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl +6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c +8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ +BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j +aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B +Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj +aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y +ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh +bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA +PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y +gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ +PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 +IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes +t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE +FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 +Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj +YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH +AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw +Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg +U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 +LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh +cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT +dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC +AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh +3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm +vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk +fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 +fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ +EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq +yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl +1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ +lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro +g14= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +DST ACES CA X6 +============== +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT +MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha +MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE +CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI +DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa +pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow +GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy +MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu +Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy +dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU +CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 +5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t +Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq +nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs +vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 +oKfN5XozNmr6mis= +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw +EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN +MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp +c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq +t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C +jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg +vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF +ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR +AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend +jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO +peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR +7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi +GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 +OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm +5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr +44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf +Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m +Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp +mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk +vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf +KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br +NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj +viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X +DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 +aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 +N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm ++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH +6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu +MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h +qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 +FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs +ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc +celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X +CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB +tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P +4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F +kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L +3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx +/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa +DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP +e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu +WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ +DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub +DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +Security Communication EV RootCA1 +================================= +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE +BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl +Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO +/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX +WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z +ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 +bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK +9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm +iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG +Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW +mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW +T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 +============================================================================================================================= +-----BEGIN CERTIFICATE----- +MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH +DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q +aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry +b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV +BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg +S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 +MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl +IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF +n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl +IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft +dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl +cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO +Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 +xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR +6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL +hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd +BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 +N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT +y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh +LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M +dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +======================================== +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +ACEDICOM Root +============= +-----BEGIN CERTIFICATE----- +MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD +T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 +MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG +A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk +WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD +YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew +MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb +m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk +HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT +xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 +3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 +2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq +TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz +4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU +9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv +bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg +aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP +eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk +zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 +ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI +KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq +nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE +I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp +MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o +tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG +EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz +MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu +QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ +03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK +ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU ++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC +PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT +OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK +F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK +0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ +0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB +leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID +AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ +SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG +NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l +Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga +kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q +hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs +g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 +aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 +nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC +ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo +Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z +WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +Certinomis - Autorité Racine +============================ +-----BEGIN CERTIFICATE----- +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ +vgt2Fl43N+bYdJeimUV5 +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM +BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE +AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky +MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz +IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ +wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa +by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 +zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f +YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 +oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l +EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 +hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 +EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 +jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY +iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI +WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 +JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx +K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ +Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC +4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo +2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz +lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem +OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 +vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ +Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 +dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu +c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv +bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 +aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG +cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 +fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm +N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN +Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T +tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX +e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA +2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs +HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE +JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib +D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= +-----END CERTIFICATE----- + +StartCom Certification Authority G2 +=================================== +-----BEGIN CERTIFICATE----- +MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE +ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O +o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG +4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi +Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul +Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs +O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H +vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L +nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS +FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa +z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ +KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K +2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk +J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ +JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG +/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc +nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld +blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc +l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm +7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm +obp573PYtlNXLfbQ4ddI +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 2007 +================================================= +-----BEGIN CERTIFICATE----- +MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X +DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl +a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N +YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv +KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya +KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT +rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC +AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s +Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I +aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO +Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb +BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK +poRq0Tl9 +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +PSCProcert +========== +-----BEGIN CERTIFICATE----- +MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk +ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ +MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz +dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl +cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw +IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw +MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w +DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD +ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp +Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC +wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA +3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh +RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO +EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2 +0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH +0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU +td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw +Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp +r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/ +AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz +Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId +xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp +ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH +EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h +Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k +ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG +9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG +MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG +LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52 +ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy +YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v +Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o +dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq +T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN +g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q +uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1 +n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn +FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo +5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq +3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5 +poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y +eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km +-----END CERTIFICATE----- + +CA Disig Root R1 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy +3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8 +u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2 +m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk +CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa +YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6 +vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL +LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX +ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is +XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ +04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR +xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B +LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM +CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb +VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85 +YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS +ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix +lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N +UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ +a7+h89n07eLw4+1knj0vllJPgFOL +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +E-Tugra Certification Authority +=============================== +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w +DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls +ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw +NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx +QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl +cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD +DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd +hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K +CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g +ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ +BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 +E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz +rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq +jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 +dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG +MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK +kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO +XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 +VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo +a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc +dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV +KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT +Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 +8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G +C7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +WoSign +====== +-----BEGIN CERTIFICATE----- +MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g +QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ +BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO +CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX +2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5 +KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR ++ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez +EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk +lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2 +8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY +yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C +AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R +8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1 +LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq +T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj +y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC +2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes +5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/ +EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh +mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx +kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi +kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w== +-----END CERTIFICATE----- + +WoSign China +============ +-----BEGIN CERTIFICATE----- +MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv +geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD +VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k +8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5 +uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85 +dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5 +Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy +b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc +76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m ++Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6 +yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX +GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA +A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6 +yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY +r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115 +j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A +kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97 +qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y +jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB +ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv +T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO +kI26oQ== +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn +dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ +FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ +5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG +x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX +2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL +OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 +sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C +GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 +WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt +rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ +nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg +tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW +sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp +pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA +zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq +ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 +7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz +0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j +Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn +RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O ++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq +/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE +Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM +lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 +yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ +eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW +FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ +7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ +Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM +8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi +FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi +yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c +J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw +sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl +OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV +MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF +JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G3 +================================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y +olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t +x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy +EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K +Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur +mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 +1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp +07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo +FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE +41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu +yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq +KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 +v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA +8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b +8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r +mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq +1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI +JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV +tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= +-----END CERTIFICATE----- + +Staat der Nederlanden EV Root CA +================================ +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M +MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl +cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk +SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW +O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r +0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 +Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV +XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr +08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV +0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd +74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx +fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa +ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu +c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq +5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN +b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN +f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi +5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 +WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK +DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy +eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5 +==================================================== +-----BEGIN CERTIFICATE----- +MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg +RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw +ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w +SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE +n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp +ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537 +jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m +ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP +9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV +4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH +HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo +BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq +URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl +lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8 +B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU= +-----END CERTIFICATE----- + +Certinomis - Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg +LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx +EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD +ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos +P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo +d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap +z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00 +8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x +RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE +6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t +FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV +PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH +i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj +YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I +6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV +WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw +Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX +lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ +y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9 +Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng +DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi +I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM +cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr +hkIGuUE= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +Certification Authority of WoSign G2 +==================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG +EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g +QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx +CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai +XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du +W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9 +5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK +v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI +hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY +P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3 +TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu ++sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+ +7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg= +-----END CERTIFICATE----- + +CA WoSign ECC Root +================== +-----BEGIN CERTIFICATE----- +MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD +TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v +dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK +ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI +zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU +t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw +QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R +MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0 +Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu +a/GRspBl9JrmkO5K +-----END CERTIFICATE----- + +SZAFIR ROOT CA2 +=============== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV +BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ +BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD +VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q +qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK +DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE +2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ +ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi +ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC +AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 +O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 +oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul +4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 ++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +Certum Trusted Network CA 2 +=========================== +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE +BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 +bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y +ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ +TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB +IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 +7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o +CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b +Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p +uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 +GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ +9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB +Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye +hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM +BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI +hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW +Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA +L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo +clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM +pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb +w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo +J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm +ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX +is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 +zAYspsbiDrW5viSP +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2015 +======================================================= +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT +BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 +aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx +MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg +QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV +BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw +MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv +bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh +iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ +6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd +FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr +i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F +GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 +fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu +iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI +hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ +D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM +d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y +d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn +82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb +davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F +Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt +J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa +JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q +p/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions ECC RootCA 2015 +=========================================================== +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 +aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw +MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj +IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD +VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 +Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP +dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK +Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA +GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn +dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +Certplus Root CA G1 +=================== +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUAMD4xCzAJBgNV +BAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTAe +Fw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhD +ZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHN +r49aiZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt6kuJPKNx +Qv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP0FG7Yn2ksYyy/yARujVj +BYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTv +LRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDEEW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2 +z4QTd28n6v+WZxcIbekN1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc +4nBvCGrch2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCTmehd +4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV4EJQeIQEQWGw9CEj +jy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPOWftwenMGE9nTdDckQQoRb5fc5+R+ +ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0G +A1UdDgQWBBSowcCbkahDFXxdBie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHY +lwuBsTANBgkqhkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh +66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7/SMNkPX0XtPG +YX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BSS7CTKtQ+FjPlnsZlFT5kOwQ/ +2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F +6ALEUz65noe8zDUa3qHpimOHZR4RKttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilX +CNQ314cnrUlZp5GrRHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWe +tUNy6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEVV/xuZDDC +VRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5g4VCXA9DO2pJNdWY9BW/ ++mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl++O/QmueD6i9a5jc2NvLi6Td11n0bt3+ +qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo= +-----END CERTIFICATE----- + +Certplus Root CA G2 +=================== +-----BEGIN CERTIFICATE----- +MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4xCzAJBgNVBAYT +AkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjAeFw0x +NDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0 +cGx1czEcMBoGA1UEAwwTQ2VydHBsdXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BM0PW1aC3/BFGtat93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uN +Am8xIk0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMB8GA1Ud +IwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqGSM49BAMDA2gAMGUCMHD+sAvZ94OX7PNV +HdTcswYO/jOYnYs5kGuUIe22113WTNchp+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjl +vPl5adytRSv3tjFzzAalU5ORGpOucGpnutee5WEaXw== +-----END CERTIFICATE----- + +OpenTrust Root CA G1 +==================== +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcx +MB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM +CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7fa +Yp6bwiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX/uMftk87 +ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR077F9jAHiOH3BX2pfJLKO +YheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGPuY4zbGneWK2gDqdkVBFpRGZPTBKnjix9 +xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLxp2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO +9z0M+Yo0FMT7MzUj8czxKselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq +3ywgsNw2TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+WG+Oi +n6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPwvFEVVJSmdz7QdFG9 +URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYYEQRVzXR7z2FwefR7LFxckvzluFqr +TJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUl0YhVyE12jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/Px +N3DlCPaTKbYwDQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E +PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kfgLMtMrpkZ2Cv +uVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbSFXJfLkur1J1juONI5f6ELlgK +n0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLh +X4SPgPL0DTatdrOjteFkdjpY3H1PXlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80 +nR14SohWZ25g/4/Ii+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcm +GS3tTAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L9109S5zvE/ +bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/KyPu1svf0OnWZzsD2097+o +4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJAwSQiumPv+i2tCqjI40cHLI5kqiPAlxA +OXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj1oxx +-----END CERTIFICATE----- + +OpenTrust Root CA G2 +==================== +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUAMEAxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEcy +MB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoM +CU9wZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+ +Ntmh/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78eCbY2albz +4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/61UWY0jUJ9gNDlP7ZvyCV +eYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fEFY8ElggGQgT4hNYdvJGmQr5J1WqIP7wt +UdGejeBSzFfdNTVY27SPJIjki9/ca1TSgSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz +3GIZ38i1MH/1PCZ1Eb3XG7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj +3CzMpSZyYhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaHvGOz +9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4t/bQWVyJ98LVtZR0 +0dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/gh7PU3+06yzbXfZqfUAkBXKJOAGT +y3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUajn6QiL35okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59 +M4PLuG53hq8wDQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz +Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0nXGEL8pZ0keI +mUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qTRmTFAHneIWv2V6CG1wZy7HBG +S4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpTwm+bREx50B1ws9efAvSyB7DH5fitIw6mVskp +EndI2S9G/Tvw/HRwkqWOOAgfZDC2t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ +6e18CL13zSdkzJTaTkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97kr +gCf2o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU3jg9CcCo +SmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eAiN1nE28daCSLT7d0geX0 +YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14fWKGVyasvc0rQLW6aWQ9VGHgtPFGml4vm +u7JwqkwR3v98KzfUetF3NI/n+UL3PIEMS1IK +-----END CERTIFICATE----- + +OpenTrust Root CA G3 +==================== +-----BEGIN CERTIFICATE----- +MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5UcnVzdCBSb290IENBIEczMB4X +DTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9w +ZW5UcnVzdDEdMBsGA1UEAwwUT3BlblRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAARK7liuTcpm3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5B +ta1doYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4GA1UdDwEB +/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAf +BgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAKBggqhkjOPQQDAwNpADBmAjEAj6jcnboM +BBf6Fek9LykBl7+BFjNAk2z8+e2AcG+qj9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta +3U1fJAuwACEl74+nBCZx4nxp5V2a+EEfOzmTk51V6s2N8fvB +-----END CERTIFICATE----- + +ISRG Root X1 +============ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE +BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD +EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG +EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT +DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r +Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 +3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K +b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN +Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ +4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf +1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu +hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH +usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r +OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY +9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV +0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt +hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw +TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx +e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA +JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD +YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n +JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ +m+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM +================ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT +AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw +MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD +TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf +qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr +btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL +j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou +08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw +WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT +tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ +47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC +ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa +i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o +dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s +D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ +j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT +Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW ++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 +Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d +8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm +5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG +rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +Amazon Root CA 1 +================ +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 +MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH +FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ +gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t +dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce +VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 +DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM +CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy +8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa +2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 +xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +Amazon Root CA 2 +================ +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 +MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 +kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp +N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 +AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd +fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx +kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS +btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 +Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN +c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ +3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw +DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA +A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE +YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW +xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ +gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW +aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV +Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 +KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi +JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= +-----END CERTIFICATE----- + +Amazon Root CA 3 +================ +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB +f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr +Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 +rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc +eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +Amazon Root CA 4 +================ +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN +/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri +83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA +MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 +AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +LuxTrust Global Root 2 +====================== +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG +A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh +bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW +MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm +Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2 +xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC +wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm +1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm +FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF +wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/ +a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U +ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ +MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB +/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5 +Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ +FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN +H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW +7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu +ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA +VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR +TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt +/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc +7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I +iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT +D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr +IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g +TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp +ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD +VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt +c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth +bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 +IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 +6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc +wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 +3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 +WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU +ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc +lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R +e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j +q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- diff --git a/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php new file mode 100644 index 000000000..6487004db --- /dev/null +++ b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/CloverParserTest.php @@ -0,0 +1,63 @@ +expectException('InvalidArgumentException'); + $this->expectExceptionMessage('Unable to load the xml file. Make sure path is properly set. Using: "/home/foo/bar/baz/m.xml"'); + new CloverParser("/home/foo/bar/baz/m.xml"); + } + + /** + * Testing against the clover coverage report 'tests/res/clover/clover.xml' + */ + public function testCanParseCloverXmlWithoutProject() + { + $this->_canParseClover('tests/res/clover/clover.xml', "/home/jacke/Desktop/codacy-php"); + } + + /** + * Testing against the clover coverage report 'tests/res/clover/clover.xml' + * The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this + * as 2nd (optional) parameter. Otherwise the filename will not be correct and test + * would fail on other machines or in other directories. + */ + public function testCanParseCloverXmlWithProject() + { + $this->_canParseClover('tests/res/clover/clover_without_packages.xml', "/home/jacke/Desktop/codacy-php"); + } + + private function _canParseClover($path, $rootDir) + { + $parser = new CloverParser($path, $rootDir); + $report = $parser->makeReport(); + $this->assertEquals(38, $report->getTotal()); + $this->assertEquals(5, sizeof($report->getFileReports())); + + $parserFileReports = $report->getFileReports(); + + $parserFileReport = $parserFileReports[0]; + $coverageReportFileReport = $parserFileReports[1]; + + $this->assertEquals(33, $parserFileReport->getTotal()); + $this->assertEquals(33, $coverageReportFileReport->getTotal()); + + $parserFileName = $parserFileReport->getFileName(); + + $reportFileName = $coverageReportFileReport->getFileName(); + + $fileReports = $report->getFileReports(); + $fileReport = $fileReports[1]; + + $expLineCoverage = (object)array(11 => 1, 12 => 1, 13 => 1, 16 => 1, + 19 => 0, 30 => 0, 31 => 0, 32 => 0, 33 => 0, 36 => 0, 39 => 0, 42 => 0); + $this->assertEquals($fileReport->getLineCoverage(), $expLineCoverage); + + $this->assertEquals("src/Codacy/Coverage/Parser/Parser.php", $parserFileName); + $this->assertEquals("src/Codacy/Coverage/Report/CoverageReport.php", $reportFileName); + } +} diff --git a/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php new file mode 100644 index 000000000..eb99b876b --- /dev/null +++ b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/ParserTest.php @@ -0,0 +1,44 @@ +setDirOfFileXmls('tests/res/phpunit-clover'); + $expectedJson = file_get_contents('tests/res/expected.json', true); + + $jsonProducer = new JsonProducer(); + + $jsonProducer->setParser($cloverParser); + + $cloverJson = $jsonProducer->makeJson(); + + $jsonProducer->setParser($xunitParser); + + $xunitJson = $jsonProducer->makeJson(); + + $this->assertJsonStringEqualsJsonString($expectedJson, $cloverJson); + + $this->assertJsonStringEqualsJsonString($expectedJson, $xunitJson); + } + + public function testConstructorOnNullRootDir() + { + $parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml'); + $parser->setDirOfFileXmls("tests/res/phpunitxml"); + $report = $parser->makeReport(); + + $this->assertEquals(69, $report->getTotal()); + $this->assertEquals(10, sizeof($report->getFileReports())); + } +} diff --git a/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php new file mode 100644 index 000000000..c83de8164 --- /dev/null +++ b/vendor/codacy/coverage/tests/Codacy/Coverage/Parser/PhpUnitXmlParserTest.php @@ -0,0 +1,59 @@ +expectException('InvalidArgumentException'); + new PhpUnitXmlParser("/home/foo/bar/baz/fake.xml"); + } + + public function testMakeReportThrowsExceptionOnWrndPath() + { + $parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml', '/home/jacke/Desktop/codacy-php'); + + $this->expectException('InvalidArgumentException'); + $parser->makeReport(); + } + + /** + * Testing against the clover coverage report 'tests/res/clover/clover.xml' + * The test had been made in /home/jacke/Desktop/codacy-php so we need to pass this + * as 2nd (optional) parameter. Otherwise the filename will not be correct and test + * would fail on other machines or in other directories. + */ + public function testCanParsePhpUnitXmlReport() + { + + $parser = new PhpUnitXmlParser('tests/res/phpunitxml/index.xml', '/home/jacke/Desktop/codacy-php'); + $parser->setDirOfFileXmls("tests/res/phpunitxml"); + $report = $parser->makeReport(); + + $this->assertEquals(69, $report->getTotal()); + $this->assertEquals(10, sizeof($report->getFileReports())); + + $fileReports = $report->getFileReports(); + + $configFileReport = $fileReports[2]; + $cloverParserFileReport = $fileReports[4]; + + $this->assertEquals(86, $configFileReport->getTotal()); + $this->assertEquals(95, $cloverParserFileReport->getTotal()); + + $lineCoverage = $configFileReport->getLineCoverage(); + $expLineCoverage = (object)array(24 => 4, 25 => 4, 26 => 4, 27 => 4, 28 => 4, 29 => 4); + $this->assertEquals($lineCoverage, $expLineCoverage); + + $configFileName = $configFileReport->getFileName(); + + $cloverParserFileName = $cloverParserFileReport->getFileName(); + + $this->assertEquals("src/Codacy/Coverage/Config.php", $configFileName); + $this->assertEquals("src/Codacy/Coverage/Parser/CloverParser.php", $cloverParserFileName); + } + +} \ No newline at end of file diff --git a/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php b/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php new file mode 100644 index 000000000..09a067a1b --- /dev/null +++ b/vendor/codacy/coverage/tests/Codacy/Coverage/Util/GitClientTest.php @@ -0,0 +1,13 @@ +getHashOfLatestCommit(); + $this->assertEquals(40, strlen($hash)); + } +} \ No newline at end of file diff --git a/vendor/codacy/coverage/tests/res/clover/clover.xml b/vendor/codacy/coverage/tests/res/clover/clover.xml new file mode 100644 index 000000000..dd00611db --- /dev/null +++ b/vendor/codacy/coverage/tests/res/clover/clover.xml @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml b/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml new file mode 100644 index 000000000..79be5ef6d --- /dev/null +++ b/vendor/codacy/coverage/tests/res/clover/clover_without_packages.xml @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/expected.json b/vendor/codacy/coverage/tests/res/expected.json new file mode 100644 index 000000000..0b93fed1a --- /dev/null +++ b/vendor/codacy/coverage/tests/res/expected.json @@ -0,0 +1,187 @@ +{ + "total": 94, + "fileReports": [ + { + "filename": "src/Codacy/Coverage/Parser/CloverParser.php", + "total": 96, + "coverage": { + "24": 3, + "25": 3, + "26": 3, + "27": 3, + "28": 3, + "29": 3, + "30": 3, + "31": 3, + "43": 3, + "49": 3, + "51": 1, + "52": 1, + "53": 3, + "54": 2, + "55": 2, + "56": 3, + "67": 3, + "69": 3, + "70": 3, + "71": 3, + "72": 0, + "73": 0, + "74": 3, + "76": 3, + "77": 3, + "78": 3, + "79": 3, + "80": 3, + "81": 3, + "93": 2, + "94": 2, + "95": 2, + "96": 2, + "107": 3, + "108": 3, + "109": 3, + "111": 3, + "112": 3, + "113": 3, + "114": 3, + "115": 3, + "116": 3, + "117": 3, + "129": 3, + "130": 3 + } + }, + { + "filename": "src/Codacy/Coverage/Parser/Parser.php", + "total": 100, + "coverage": { + "42": 6, + "43": 4, + "44": 1, + "45": 1, + "46": 3, + "48": 4, + "49": 4, + "50": 2, + "52": 2, + "53": 2, + "55": 4 + } + }, + { + "filename": "src/Codacy/Coverage/Parser/PhpUnitXmlParser.php", + "total": 93, + "coverage": { + "33": 2, + "34": 2, + "40": 2, + "46": 2, + "48": 2, + "49": 2, + "50": 2, + "51": 2, + "53": 2, + "54": 2, + "56": 2, + "57": 2, + "58": 2, + "59": 0, + "60": 0, + "61": 0, + "64": 2, + "65": 2, + "66": 2, + "67": 2, + "68": 2, + "69": 2, + "79": 2, + "80": 2, + "81": 2, + "82": 2, + "83": 2, + "84": 2, + "85": 2, + "86": 2, + "87": 2, + "88": 2, + "90": 2, + "100": 2, + "101": 2, + "102": 2, + "115": 2, + "116": 2, + "118": 2, + "120": 2, + "121": 2 + } + }, + { + "filename": "src/Codacy/Coverage/Report/CoverageReport.php", + "total": 100, + "coverage": { + "29": 4, + "30": 4, + "31": 4, + "38": 4, + "46": 4 + } + }, + { + "filename": "src/Codacy/Coverage/Report/FileReport.php", + "total": 100, + "coverage": { + "35": 4, + "36": 4, + "37": 4, + "38": 4, + "45": 4, + "53": 4, + "61": 4 + } + }, + { + "filename": "src/Codacy/Coverage/Util/GitClient.php", + "total": 67, + "coverage": { + "25": 1, + "26": 1, + "27": 1, + "28": 0, + "30": 0, + "31": 0, + "34": 1, + "41": 1, + "42": 1 + } + }, + { + "filename": "src/Codacy/Coverage/Util/JsonProducer.php", + "total": 100, + "coverage": { + "25": 1, + "26": 1, + "34": 1, + "62": 1, + "63": 1, + "64": 1, + "66": 1, + "67": 1, + "69": 1, + "70": 1, + "71": 1, + "72": 1, + "73": 1, + "75": 1, + "76": 1, + "78": 1, + "81": 1 + } + }, + { + "filename": "src/Codacy/Coverage/Util/EmptyFile.php", + "total": 0, + "coverage": {} + } + ] +} \ No newline at end of file diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml new file mode 100644 index 000000000..678c6b7e3 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/CloverParser.php.xml @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml new file mode 100644 index 000000000..23ac3101e --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/Parser.php.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml new file mode 100644 index 000000000..3c6fcaccb --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Parser/PhpUnitXmlParser.php.xml @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml new file mode 100644 index 000000000..098e8e01f --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Report/CoverageReport.php.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml new file mode 100644 index 000000000..60f18ae2a --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Report/FileReport.php.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml new file mode 100644 index 000000000..7b90e6ba6 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/EmptyFile.php.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml new file mode 100644 index 000000000..8db1b269f --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/GitClient.php.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml new file mode 100644 index 000000000..414678c0d --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/Util/JsonProducer.php.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml new file mode 100644 index 000000000..92735d48c --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/clover.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml b/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml new file mode 100644 index 000000000..7318deea8 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunit-clover/index.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml new file mode 100644 index 000000000..f11b72867 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Api/Api.php.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml new file mode 100644 index 000000000..c8c25af5a --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/CodacyPhpCoverage.php.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml new file mode 100644 index 000000000..e70c66143 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Config.php.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml new file mode 100644 index 000000000..d86a00512 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Git/GitClient.php.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml new file mode 100644 index 000000000..a8297e6bd --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/CloverParser.php.xml @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml new file mode 100644 index 000000000..c61ffaed6 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/Parser.php.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml new file mode 100644 index 000000000..203c73d35 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Parser/PhpUnitXmlParser.php.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml new file mode 100644 index 000000000..a510668f8 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Report/CoverageReport.php.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml new file mode 100644 index 000000000..f18da1a71 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Report/FileReport.php.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml b/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml new file mode 100644 index 000000000..161d25aa4 --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/Report/JsonProducer.php.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/codacy/coverage/tests/res/phpunitxml/index.xml b/vendor/codacy/coverage/tests/res/phpunitxml/index.xml new file mode 100644 index 000000000..590bb429d --- /dev/null +++ b/vendor/codacy/coverage/tests/res/phpunitxml/index.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index dc02dfb11..95f7e0978 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -377,7 +377,7 @@ class ClassLoader $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); - $search = $subPath.'\\'; + $search = $subPath . '\\'; if (isset($this->prefixDirsPsr4[$search])) { $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 2bdc587c4..65ee30641 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -41,6 +41,18 @@ return array( 'Canvas' => $vendorDir . '/dompdf/dompdf/include/canvas.cls.php', 'Canvas_Factory' => $vendorDir . '/dompdf/dompdf/include/canvas_factory.cls.php', 'Cellmap' => $vendorDir . '/dompdf/dompdf/include/cellmap.cls.php', + 'Codacy\\Coverage\\Application' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Application.php', + 'Codacy\\Coverage\\Command\\Clover' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Command/Clover.php', + 'Codacy\\Coverage\\Command\\Phpunit' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php', + 'Codacy\\Coverage\\Parser\\CloverParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php', + 'Codacy\\Coverage\\Parser\\IParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', + 'Codacy\\Coverage\\Parser\\PhpUnitXmlParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php', + 'Codacy\\Coverage\\Parser\\XMLParser' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', + 'Codacy\\Coverage\\Report\\CoverageReport' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php', + 'Codacy\\Coverage\\Report\\FileReport' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php', + 'Codacy\\Coverage\\Util\\CodacyApiClient' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php', + 'Codacy\\Coverage\\Util\\GitClient' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php', + 'Codacy\\Coverage\\Util\\JsonProducer' => $vendorDir . '/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php', 'CreateApiSettingsTable' => $baseDir . '/database/migrations/2016_05_11_105244_create_api_settings_table.php', 'CreateBanlistTable' => $baseDir . '/database/migrations/2016_02_16_140450_create_banlist_table.php', 'CreateBarNotificationsTable' => $baseDir . '/database/migrations/2016_05_10_102604_create_bar_notifications_table.php', @@ -311,6 +323,8 @@ return array( 'PHPUnit\\Framework\\MockObject\\Matcher\\Parameters' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php', 'PHPUnit\\Framework\\MockObject\\Matcher\\StatelessInvocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php', 'PHPUnit\\Framework\\MockObject\\MockBuilder' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php', + 'PHPUnit\\Framework\\MockObject\\MockMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php', + 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php', 'PHPUnit\\Framework\\MockObject\\MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php', 'PHPUnit\\Framework\\MockObject\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php', 'PHPUnit\\Framework\\MockObject\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Stub.php', @@ -404,6 +418,7 @@ return array( 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php', 'PHPUnit\\Util\\TextTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/TextTestListRenderer.php', 'PHPUnit\\Util\\Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php', + 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => $vendorDir . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php', 'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php', 'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php', @@ -766,6 +781,7 @@ return array( 'Table_Row_Group_Frame_Reflower' => $vendorDir . '/dompdf/dompdf/include/table_row_group_frame_reflower.cls.php', 'Table_Row_Group_Renderer' => $vendorDir . '/dompdf/dompdf/include/table_row_group_renderer.cls.php', 'Table_Row_Positioner' => $vendorDir . '/dompdf/dompdf/include/table_row_positioner.cls.php', + 'TestCase' => $baseDir . '/tests/TestCase.php', 'Text_Frame_Decorator' => $vendorDir . '/dompdf/dompdf/include/text_frame_decorator.cls.php', 'Text_Frame_Reflower' => $vendorDir . '/dompdf/dompdf/include/text_frame_reflower.cls.php', 'Text_Renderer' => $vendorDir . '/dompdf/dompdf/include/text_renderer.cls.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index f6608b524..85216a2e4 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -8,6 +8,7 @@ $baseDir = dirname($vendorDir); return array( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', + '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index ed889787e..cf5e478b8 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -13,14 +13,11 @@ return array( 'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'), 'Mremi\\UrlShortener' => array($vendorDir . '/mremi/url-shortener/src'), 'Maatwebsite\\Excel\\' => array($vendorDir . '/maatwebsite/excel/src'), - 'JakubOnderka\\PhpConsoleHighlighter' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'), - 'JakubOnderka\\PhpConsoleColor' => array($vendorDir . '/jakub-onderka/php-console-color/src'), 'Guzzle\\Tests' => array($vendorDir . '/guzzle/guzzle/tests'), 'Guzzle' => array($vendorDir . '/guzzle/guzzle/src'), 'ForceUTF8\\' => array($vendorDir . '/neitanod/forceutf8/src'), 'Flow' => array($vendorDir . '/flowjs/flow-php-server/src'), 'Fetch' => array($vendorDir . '/tedivm/fetch/src'), - 'Doctrine\\DBAL\\' => array($vendorDir . '/doctrine/dbal/lib'), 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'), 'Diff' => array($vendorDir . '/phpspec/php-diff/lib'), 'Davibennun\\LaravelPushNotification' => array($vendorDir . '/davibennun/laravel-push-notification/src'), diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index aadc06cdd..00f16809b 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -35,6 +35,7 @@ return array( 'Symfony\\Polyfill\\Php56\\' => array($vendorDir . '/symfony/polyfill-php56'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), + 'Symfony\\Contracts\\' => array($vendorDir . '/symfony/contracts'), 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), 'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'), 'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'), @@ -74,6 +75,8 @@ return array( 'LaravelFCM\\Mocks\\' => array($vendorDir . '/brozot/laravel-fcm/tests/mocks'), 'LaravelFCM\\' => array($vendorDir . '/brozot/laravel-fcm/src'), 'JmesPath\\' => array($vendorDir . '/mtdowling/jmespath.php/src'), + 'JakubOnderka\\PhpConsoleHighlighter\\' => array($vendorDir . '/jakub-onderka/php-console-highlighter/src'), + 'JakubOnderka\\PhpConsoleColor\\' => array($vendorDir . '/jakub-onderka/php-console-color/src'), 'Iso3166\\' => array($vendorDir . '/julien-c/iso3166/src'), 'Intervention\\Image\\' => array($vendorDir . '/intervention/image/src/Intervention/Image'), 'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'), @@ -81,12 +84,14 @@ return array( 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'), 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'), 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'), + 'Gitonomy\\Git\\' => array($vendorDir . '/gitonomy/gitlib/src/Gitonomy/Git'), 'Giggsey\\Locale\\' => array($vendorDir . '/giggsey/locale/src'), 'Faker\\' => array($vendorDir . '/fzaninotto/faker/src/Faker'), 'Facebook\\WebDriver\\' => array($vendorDir . '/facebook/webdriver/lib'), 'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/EmailValidator'), 'Dotenv\\' => array($vendorDir . '/vlucas/phpdotenv/src'), 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), + 'Doctrine\\DBAL\\' => array($vendorDir . '/doctrine/dbal/lib/Doctrine/DBAL'), 'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Common/Inflector'), 'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache'), 'Doctrine\\Common\\' => array($vendorDir . '/doctrine/event-manager/lib/Doctrine/Common'), diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 47e57967e..9f9c8ecf3 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -9,6 +9,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d public static $files = array ( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', @@ -87,6 +88,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'Symfony\\Polyfill\\Php56\\' => 23, 'Symfony\\Polyfill\\Mbstring\\' => 26, 'Symfony\\Polyfill\\Ctype\\' => 23, + 'Symfony\\Contracts\\' => 18, 'Symfony\\Component\\Yaml\\' => 23, 'Symfony\\Component\\VarDumper\\' => 28, 'Symfony\\Component\\Translation\\' => 30, @@ -144,6 +146,8 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'J' => array ( 'JmesPath\\' => 9, + 'JakubOnderka\\PhpConsoleHighlighter\\' => 35, + 'JakubOnderka\\PhpConsoleColor\\' => 29, ), 'I' => array ( @@ -157,6 +161,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'GuzzleHttp\\Psr7\\' => 16, 'GuzzleHttp\\Promise\\' => 19, 'GuzzleHttp\\' => 11, + 'Gitonomy\\Git\\' => 13, 'Giggsey\\Locale\\' => 15, ), 'F' => @@ -172,6 +177,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d array ( 'Dotenv\\' => 7, 'Doctrine\\Instantiator\\' => 22, + 'Doctrine\\DBAL\\' => 14, 'Doctrine\\Common\\Inflector\\' => 26, 'Doctrine\\Common\\Cache\\' => 22, 'Doctrine\\Common\\' => 16, @@ -316,6 +322,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype', ), + 'Symfony\\Contracts\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/contracts', + ), 'Symfony\\Component\\Yaml\\' => array ( 0 => __DIR__ . '/..' . '/symfony/yaml', @@ -472,6 +482,14 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d array ( 0 => __DIR__ . '/..' . '/mtdowling/jmespath.php/src', ), + 'JakubOnderka\\PhpConsoleHighlighter\\' => + array ( + 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src', + ), + 'JakubOnderka\\PhpConsoleColor\\' => + array ( + 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src', + ), 'Iso3166\\' => array ( 0 => __DIR__ . '/..' . '/julien-c/iso3166/src', @@ -500,6 +518,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d array ( 0 => __DIR__ . '/..' . '/guzzlehttp/guzzle/src', ), + 'Gitonomy\\Git\\' => + array ( + 0 => __DIR__ . '/..' . '/gitonomy/gitlib/src/Gitonomy/Git', + ), 'Giggsey\\Locale\\' => array ( 0 => __DIR__ . '/..' . '/giggsey/locale/src', @@ -524,6 +546,10 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d array ( 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', ), + 'Doctrine\\DBAL\\' => + array ( + 0 => __DIR__ . '/..' . '/doctrine/dbal/lib/Doctrine/DBAL', + ), 'Doctrine\\Common\\Inflector\\' => array ( 0 => __DIR__ . '/..' . '/doctrine/inflector/lib/Doctrine/Common/Inflector', @@ -616,17 +642,6 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 0 => __DIR__ . '/..' . '/maatwebsite/excel/src', ), ), - 'J' => - array ( - 'JakubOnderka\\PhpConsoleHighlighter' => - array ( - 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-highlighter/src', - ), - 'JakubOnderka\\PhpConsoleColor' => - array ( - 0 => __DIR__ . '/..' . '/jakub-onderka/php-console-color/src', - ), - ), 'G' => array ( 'Guzzle\\Tests' => @@ -655,10 +670,6 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d ), 'D' => array ( - 'Doctrine\\DBAL\\' => - array ( - 0 => __DIR__ . '/..' . '/doctrine/dbal/lib', - ), 'Doctrine\\Common\\Lexer\\' => array ( 0 => __DIR__ . '/..' . '/doctrine/lexer/lib', @@ -728,6 +739,18 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'Canvas' => __DIR__ . '/..' . '/dompdf/dompdf/include/canvas.cls.php', 'Canvas_Factory' => __DIR__ . '/..' . '/dompdf/dompdf/include/canvas_factory.cls.php', 'Cellmap' => __DIR__ . '/..' . '/dompdf/dompdf/include/cellmap.cls.php', + 'Codacy\\Coverage\\Application' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Application.php', + 'Codacy\\Coverage\\Command\\Clover' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Command/Clover.php', + 'Codacy\\Coverage\\Command\\Phpunit' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Command/Phpunit.php', + 'Codacy\\Coverage\\Parser\\CloverParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/CloverParser.php', + 'Codacy\\Coverage\\Parser\\IParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', + 'Codacy\\Coverage\\Parser\\PhpUnitXmlParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/PhpUnitXmlParser.php', + 'Codacy\\Coverage\\Parser\\XMLParser' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Parser/Parser.php', + 'Codacy\\Coverage\\Report\\CoverageReport' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Report/CoverageReport.php', + 'Codacy\\Coverage\\Report\\FileReport' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Report/FileReport.php', + 'Codacy\\Coverage\\Util\\CodacyApiClient' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/CodacyApiClient.php', + 'Codacy\\Coverage\\Util\\GitClient' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/GitClient.php', + 'Codacy\\Coverage\\Util\\JsonProducer' => __DIR__ . '/..' . '/codacy/coverage/src/Codacy/Coverage/Util/JsonProducer.php', 'CreateApiSettingsTable' => __DIR__ . '/../..' . '/database/migrations/2016_05_11_105244_create_api_settings_table.php', 'CreateBanlistTable' => __DIR__ . '/../..' . '/database/migrations/2016_02_16_140450_create_banlist_table.php', 'CreateBarNotificationsTable' => __DIR__ . '/../..' . '/database/migrations/2016_05_10_102604_create_bar_notifications_table.php', @@ -998,6 +1021,8 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'PHPUnit\\Framework\\MockObject\\Matcher\\Parameters' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/Parameters.php', 'PHPUnit\\Framework\\MockObject\\Matcher\\StatelessInvocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Matcher/StatelessInvocation.php', 'PHPUnit\\Framework\\MockObject\\MockBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php', + 'PHPUnit\\Framework\\MockObject\\MockMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethod.php', + 'PHPUnit\\Framework\\MockObject\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php', 'PHPUnit\\Framework\\MockObject\\MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ForwardCompatibility/MockObject.php', 'PHPUnit\\Framework\\MockObject\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php', 'PHPUnit\\Framework\\MockObject\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Stub.php', @@ -1091,6 +1116,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'PHPUnit\\Util\\TestDox\\XmlResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php', 'PHPUnit\\Util\\TextTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/TextTestListRenderer.php', 'PHPUnit\\Util\\Type' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Type.php', + 'PHPUnit\\Util\\XdebugFilterScriptGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php', 'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php', 'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/MockObject.php', @@ -1453,6 +1479,7 @@ class ComposerStaticInit598add4b9b35c76d3599603201ccdd6d 'Table_Row_Group_Frame_Reflower' => __DIR__ . '/..' . '/dompdf/dompdf/include/table_row_group_frame_reflower.cls.php', 'Table_Row_Group_Renderer' => __DIR__ . '/..' . '/dompdf/dompdf/include/table_row_group_renderer.cls.php', 'Table_Row_Positioner' => __DIR__ . '/..' . '/dompdf/dompdf/include/table_row_positioner.cls.php', + 'TestCase' => __DIR__ . '/../..' . '/tests/TestCase.php', 'Text_Frame_Decorator' => __DIR__ . '/..' . '/dompdf/dompdf/include/text_frame_decorator.cls.php', 'Text_Frame_Reflower' => __DIR__ . '/..' . '/dompdf/dompdf/include/text_frame_reflower.cls.php', 'Text_Renderer' => __DIR__ . '/..' . '/dompdf/dompdf/include/text_renderer.cls.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 52eff6d88..98ee2b1a8 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,17 +1,17 @@ [ { "name": "aws/aws-sdk-php", - "version": "3.67.12", - "version_normalized": "3.67.12.0", + "version": "3.80.3", + "version_normalized": "3.80.3.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d" + "reference": "f1f724c48a49350250950d80d16b348e5e748e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/cdc7180ae87b23d8b34eb8eb8176002081b32c3d", - "reference": "cdc7180ae87b23d8b34eb8eb8176002081b32c3d", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/f1f724c48a49350250950d80d16b348e5e748e3c", + "reference": "f1f724c48a49350250950d80d16b348e5e748e3c", "shasum": "" }, "require": { @@ -19,7 +19,7 @@ "ext-pcre": "*", "ext-simplexml": "*", "ext-spl": "*", - "guzzlehttp/guzzle": "^5.3.1|^6.2.1", + "guzzlehttp/guzzle": "^5.3.3|^6.2.1", "guzzlehttp/promises": "~1.0", "guzzlehttp/psr7": "^1.4.1", "mtdowling/jmespath.php": "~2.2", @@ -32,6 +32,8 @@ "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", + "ext-pcntl": "*", + "ext-sockets": "*", "nette/neon": "^2.3", "phpunit/phpunit": "^4.8.35|^5.4.3", "psr/cache": "^1.0" @@ -40,9 +42,10 @@ "aws/aws-php-sns-message-validator": "To validate incoming SNS notifications", "doctrine/cache": "To use the DoctrineCacheAdapter", "ext-curl": "To send requests using cURL", - "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages" + "ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages", + "ext-sockets": "To use client-side monitoring" }, - "time": "2018-09-13T18:34:42+00:00", + "time": "2018-12-04T20:31:51+00:00", "type": "library", "extra": { "branch-alias": { @@ -433,6 +436,53 @@ "zip" ] }, + { + "name": "codacy/coverage", + "version": "dev-master", + "version_normalized": "9999999-dev", + "source": { + "type": "git", + "url": "https://github.com/codacy/php-codacy-coverage.git", + "reference": "629d1fd597f91fb072bd822830059fd5145ce49a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/codacy/php-codacy-coverage/zipball/629d1fd597f91fb072bd822830059fd5145ce49a", + "reference": "629d1fd597f91fb072bd822830059fd5145ce49a", + "shasum": "" + }, + "require": { + "gitonomy/gitlib": ">=1.0", + "php": ">=5.3.3", + "symfony/console": "~2.5|~3.0|~4.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.5" + }, + "time": "2018-04-30T16:23:12+00:00", + "bin": [ + "bin/codacycoverage" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakob Pupke", + "email": "jakob.pupke@gmail.com" + } + ], + "description": "Sends PHP test coverage information to Codacy.", + "homepage": "https://github.com/codacy/php-codacy-coverage" + }, { "name": "container-interop/container-interop", "version": "1.2.0", @@ -523,12 +573,12 @@ "source": { "type": "git", "url": "https://github.com/davibennun/laravel-push-notification.git", - "reference": "6970bbe4f1e1744677208f895bc08032f4baf3be" + "reference": "7b129a18ecec7368a0de27ac0039d414aa596936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/davibennun/laravel-push-notification/zipball/6970bbe4f1e1744677208f895bc08032f4baf3be", - "reference": "6970bbe4f1e1744677208f895bc08032f4baf3be", + "url": "https://api.github.com/repos/davibennun/laravel-push-notification/zipball/7b129a18ecec7368a0de27ac0039d414aa596936", + "reference": "7b129a18ecec7368a0de27ac0039d414aa596936", "shasum": "" }, "require": { @@ -536,8 +586,18 @@ "php": ">=5.3.0", "sly/notification-pusher": "2.*" }, - "time": "2017-01-31T10:24:01+00:00", + "time": "2018-09-21T00:02:18+00:00", "type": "library", + "extra": { + "laravel": { + "providers": [ + "Davibennun\\LaravelPushNotification\\LaravelPushNotificationServiceProvider" + ], + "aliases": { + "PushNotification": "Davibennun\\LaravelPushNotification\\Facades\\PushNotification" + } + } + }, "installation-source": "dist", "autoload": { "psr-0": { @@ -674,17 +734,17 @@ }, { "name": "doctrine/dbal", - "version": "v2.8.0", - "version_normalized": "2.8.0.0", + "version": "v2.9.0", + "version_normalized": "2.9.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621" + "reference": "21fdabe2fc01e004e1966f200d900554876bc63c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/5140a64c08b4b607b9bedaae0cedd26f04a0e621", - "reference": "5140a64c08b4b607b9bedaae0cedd26f04a0e621", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/21fdabe2fc01e004e1966f200d900554876bc63c", + "reference": "21fdabe2fc01e004e1966f200d900554876bc63c", "shasum": "" }, "require": { @@ -694,32 +754,31 @@ "php": "^7.1" }, "require-dev": { - "doctrine/coding-standard": "^4.0", + "doctrine/coding-standard": "^5.0", "jetbrains/phpstorm-stubs": "^2018.1.2", "phpstan/phpstan": "^0.10.1", - "phpunit/phpunit": "^7.1.2", - "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", + "phpunit/phpunit": "^7.4", "symfony/console": "^2.0.5|^3.0|^4.0", "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." }, - "time": "2018-07-13T03:16:35+00:00", + "time": "2018-12-04T04:39:48+00:00", "bin": [ "bin/doctrine-dbal" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.8.x-dev", + "dev-master": "2.9.x-dev", "dev-develop": "3.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" } }, "notification-url": "https://packagist.org/downloads/", @@ -744,12 +803,16 @@ "email": "jonwage@gmail.com" } ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", "keywords": [ + "abstraction", "database", "dbal", + "mysql", "persistence", + "pgsql", + "php", "queryobject" ] }, @@ -1106,17 +1169,17 @@ }, { "name": "egulias/email-validator", - "version": "2.1.5", - "version_normalized": "2.1.5.0", + "version": "2.1.7", + "version_normalized": "2.1.7.0", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "54859fabea8b3beecbb1a282888d5c990036b9e3" + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/54859fabea8b3beecbb1a282888d5c990036b9e3", - "reference": "54859fabea8b3beecbb1a282888d5c990036b9e3", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/709f21f92707308cdf8f9bcfa1af4cb26586521e", + "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e", "shasum": "" }, "require": { @@ -1131,7 +1194,7 @@ "suggest": { "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" }, - "time": "2018-08-16T20:49:45+00:00", + "time": "2018-12-04T22:38:24+00:00", "type": "library", "extra": { "branch-alias": { @@ -1275,17 +1338,17 @@ }, { "name": "filp/whoops", - "version": "2.2.1", - "version_normalized": "2.2.1.0", + "version": "2.3.1", + "version_normalized": "2.3.1.0", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311" + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/e79cd403fb77fc8963a99ecc30e80ddd885b3311", - "reference": "e79cd403fb77fc8963a99ecc30e80ddd885b3311", + "url": "https://api.github.com/repos/filp/whoops/zipball/bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", + "reference": "bc0fd11bc455cc20ee4b5edabc63ebbf859324c7", "shasum": "" }, "require": { @@ -1301,7 +1364,7 @@ "symfony/var-dumper": "Pretty print complex values better with var-dumper available", "whoops/soap": "Formats errors as SOAP responses" }, - "time": "2018-06-30T13:14:06+00:00", + "time": "2018-10-23T09:00:00+00:00", "type": "library", "extra": { "branch-alias": { @@ -1444,17 +1507,17 @@ }, { "name": "giggsey/libphonenumber-for-php", - "version": "8.9.13", - "version_normalized": "8.9.13.0", + "version": "8.10.1", + "version_normalized": "8.10.1.0", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php.git", - "reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3" + "reference": "818b406ec1f725ff045cd7febfb2c08fc9a8d33d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/cb4e0cf25f742a838b9d53ed6a7088c4f24086f3", - "reference": "cb4e0cf25f742a838b9d53ed6a7088c4f24086f3", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php/zipball/818b406ec1f725ff045cd7febfb2c08fc9a8d33d", + "reference": "818b406ec1f725ff045cd7febfb2c08fc9a8d33d", "shasum": "" }, "require": { @@ -1468,10 +1531,10 @@ "pear/versioncontrol_git": "^0.5", "phing/phing": "^2.7", "php-coveralls/php-coveralls": "^1.0|^2.0", - "phpunit/phpunit": "^4.8|^5.0", + "phpunit/phpunit": "^4.8.36|^5.0", "symfony/console": "^2.8|^3.0" }, - "time": "2018-09-10T15:26:43+00:00", + "time": "2018-11-22T11:48:16+00:00", "type": "library", "extra": { "branch-alias": { @@ -1514,17 +1577,17 @@ }, { "name": "giggsey/locale", - "version": "1.5", - "version_normalized": "1.5.0.0", + "version": "1.6", + "version_normalized": "1.6.0.0", "source": { "type": "git", "url": "https://github.com/giggsey/Locale.git", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff" + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/Locale/zipball/3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", - "reference": "3c9cc23c15851c54cb3ccd41a00fd4b5a89feeff", + "url": "https://api.github.com/repos/giggsey/Locale/zipball/da6845720b5d104d319d7e84576f54e44dd9e4f5", + "reference": "da6845720b5d104d319d7e84576f54e44dd9e4f5", "shasum": "" }, "require": { @@ -1542,7 +1605,7 @@ "symfony/finder": "^2.8|^3.0|^4.0", "symfony/process": "^2.8|^3.0|^4.0" }, - "time": "2018-04-03T15:53:12+00:00", + "time": "2018-10-18T07:17:52+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1563,6 +1626,64 @@ ], "description": "Locale functions required by libphonenumber-for-php" }, + { + "name": "gitonomy/gitlib", + "version": "v1.0.4", + "version_normalized": "1.0.4.0", + "source": { + "type": "git", + "url": "https://github.com/gitonomy/gitlib.git", + "reference": "932a960221ae3484a3e82553b3be478e56beb68d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/932a960221ae3484a3e82553b3be478e56beb68d", + "reference": "932a960221ae3484a3e82553b3be478e56beb68d", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0", + "symfony/process": "^2.3|^3.0|^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Add some log" + }, + "time": "2018-04-22T19:55:36+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Gitonomy\\Git\\": "src/Gitonomy/Git/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Salomé", + "email": "alexandre.salome@gmail.com", + "homepage": "http://alexandre-salome.fr" + }, + { + "name": "Julien DIDIER", + "email": "genzo.wm@gmail.com", + "homepage": "http://www.jdidier.net" + } + ], + "description": "Library for accessing git", + "homepage": "http://gitonomy.com" + }, { "name": "guzzle/guzzle", "version": "v3.8.1", @@ -1780,34 +1901,35 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.4.2", - "version_normalized": "1.4.2.0", + "version": "1.5.2", + "version_normalized": "1.5.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + "reference": "9f83dded91781a01c63574e387eaa769be769115" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", - "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", + "reference": "9f83dded91781a01c63574e387eaa769be769115", "shasum": "" }, "require": { "php": ">=5.4.0", - "psr/http-message": "~1.0" + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, - "time": "2017-03-20T17:10:46+00:00", + "time": "2018-12-04T20:46:45+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "installation-source": "dist", @@ -1838,6 +1960,7 @@ "keywords": [ "http", "message", + "psr-7", "request", "response", "stream", @@ -1919,35 +2042,35 @@ }, { "name": "jakub-onderka/php-console-color", - "version": "0.1", - "version_normalized": "0.1.0.0", + "version": "v0.2", + "version_normalized": "0.2.0.0", "source": { "type": "git", "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", - "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "1.0", - "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-parallel-lint": "1.0", "jakub-onderka/php-var-dump-check": "0.*", - "phpunit/phpunit": "3.7.*", + "phpunit/phpunit": "~4.3", "squizlabs/php_codesniffer": "1.*" }, - "time": "2014-04-08T15:00:19+00:00", + "time": "2018-09-29T17:23:10+00:00", "type": "library", "installation-source": "dist", "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleColor": "src/" + "psr-4": { + "JakubOnderka\\PhpConsoleColor\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1957,43 +2080,43 @@ "authors": [ { "name": "Jakub Onderka", - "email": "jakub.onderka@gmail.com", - "homepage": "http://www.acci.cz" + "email": "jakub.onderka@gmail.com" } ] }, { "name": "jakub-onderka/php-console-highlighter", - "version": "v0.3.2", - "version_normalized": "0.3.2.0", + "version": "v0.4", + "version_normalized": "0.4.0.0", "source": { "type": "git", "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", - "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", + "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", "shasum": "" }, "require": { - "jakub-onderka/php-console-color": "~0.1", - "php": ">=5.3.0" + "ext-tokenizer": "*", + "jakub-onderka/php-console-color": "~0.2", + "php": ">=5.4.0" }, "require-dev": { "jakub-onderka/php-code-style": "~1.0", - "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-parallel-lint": "~1.0", "jakub-onderka/php-var-dump-check": "~0.1", "phpunit/phpunit": "~4.0", "squizlabs/php_codesniffer": "~1.5" }, - "time": "2015-04-20T18:58:01+00:00", + "time": "2018-09-29T18:48:56+00:00", "type": "library", "installation-source": "dist", "autoload": { - "psr-0": { - "JakubOnderka\\PhpConsoleHighlighter": "src/" + "psr-4": { + "JakubOnderka\\PhpConsoleHighlighter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2006,7 +2129,8 @@ "email": "acci@acci.cz", "homepage": "http://www.acci.cz/" } - ] + ], + "description": "Highlight PHP code in terminal" }, { "name": "jeremeamia/SuperClosure", @@ -2168,17 +2292,17 @@ }, { "name": "laravel/framework", - "version": "v5.6.38", - "version_normalized": "5.6.38.0", + "version": "v5.6.39", + "version_normalized": "5.6.39.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e" + "reference": "37bb306f516669ab4f888c16003f694313ab299e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/38d838bab9434af79e8ab274ae63f52f7ed45d6e", - "reference": "38d838bab9434af79e8ab274ae63f52f7ed45d6e", + "url": "https://api.github.com/repos/laravel/framework/zipball/37bb306f516669ab4f888c16003f694313ab299e", + "reference": "37bb306f516669ab4f888c16003f694313ab299e", "shasum": "" }, "require": { @@ -2273,7 +2397,7 @@ "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~4.0).", "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." }, - "time": "2018-09-04T13:15:09+00:00", + "time": "2018-10-04T14:50:41+00:00", "type": "library", "extra": { "branch-alias": { @@ -2373,17 +2497,17 @@ }, { "name": "laravel/tinker", - "version": "v1.0.7", - "version_normalized": "1.0.7.0", + "version": "v1.0.8", + "version_normalized": "1.0.8.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d" + "reference": "cafbf598a90acde68985660e79b2b03c5609a405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", - "reference": "e3086ee8cb1f54a39ae8dcb72d1c37d10128997d", + "url": "https://api.github.com/repos/laravel/tinker/zipball/cafbf598a90acde68985660e79b2b03c5609a405", + "reference": "cafbf598a90acde68985660e79b2b03c5609a405", "shasum": "" }, "require": { @@ -2400,7 +2524,7 @@ "suggest": { "illuminate/database": "The Illuminate Database package (~5.1)." }, - "time": "2018-05-17T13:42:07+00:00", + "time": "2018-10-12T19:39:35+00:00", "type": "library", "extra": { "branch-alias": { @@ -2508,17 +2632,17 @@ }, { "name": "lcobucci/jwt", - "version": "3.2.4", - "version_normalized": "3.2.4.0", + "version": "3.2.5", + "version_normalized": "3.2.5.0", "source": { "type": "git", "url": "https://github.com/lcobucci/jwt.git", - "reference": "c9704b751315d21735dc98d78d4f37bd73596da7" + "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/c9704b751315d21735dc98d78d4f37bd73596da7", - "reference": "c9704b751315d21735dc98d78d4f37bd73596da7", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/82be04b4753f8b7693b62852b7eab30f97524f9b", + "reference": "82be04b4753f8b7693b62852b7eab30f97524f9b", "shasum": "" }, "require": { @@ -2536,7 +2660,7 @@ "suggest": { "mdanter/ecc": "Required to use Elliptic Curves based algorithms." }, - "time": "2018-08-03T11:23:50+00:00", + "time": "2018-11-11T12:22:26+00:00", "type": "library", "extra": { "branch-alias": { @@ -2568,17 +2692,17 @@ }, { "name": "league/flysystem", - "version": "1.0.47", - "version_normalized": "1.0.47.0", + "version": "1.0.49", + "version_normalized": "1.0.49.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c" + "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a11e4a75f256bdacf99d20780ce42d3b8272975c", - "reference": "a11e4a75f256bdacf99d20780ce42d3b8272975c", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a63cc83d8a931b271be45148fa39ba7156782ffd", + "reference": "a63cc83d8a931b271be45148fa39ba7156782ffd", "shasum": "" }, "require": { @@ -2608,7 +2732,7 @@ "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" }, - "time": "2018-09-14T15:30:29+00:00", + "time": "2018-11-23T23:41:29+00:00", "type": "library", "extra": { "branch-alias": { @@ -2928,17 +3052,17 @@ }, { "name": "monolog/monolog", - "version": "1.23.0", - "version_normalized": "1.23.0.0", + "version": "1.24.0", + "version_normalized": "1.24.0.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", - "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", "shasum": "" }, "require": { @@ -2974,7 +3098,7 @@ "ruflin/elastica": "Allow sending log messages to an Elastic Search server", "sentry/sentry": "Allow sending log messages to a Sentry server" }, - "time": "2017-06-19T01:22:40+00:00", + "time": "2018-11-05T09:00:11+00:00", "type": "library", "extra": { "branch-alias": { @@ -3230,18 +3354,18 @@ "source": { "type": "git", "url": "https://github.com/neitanod/forceutf8.git", - "reference": "e1f383c7b5331b575c41c6e936e321095017cd35" + "reference": "30980a8ca2787a7730d370eac310b8987eb68229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/neitanod/forceutf8/zipball/e1f383c7b5331b575c41c6e936e321095017cd35", - "reference": "e1f383c7b5331b575c41c6e936e321095017cd35", + "url": "https://api.github.com/repos/neitanod/forceutf8/zipball/30980a8ca2787a7730d370eac310b8987eb68229", + "reference": "30980a8ca2787a7730d370eac310b8987eb68229", "shasum": "" }, "require": { "php": ">=5.3.0" }, - "time": "2017-09-21T21:00:15+00:00", + "time": "2018-10-10T23:03:52+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3250,6 +3374,9 @@ } }, "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastián Grignoli", @@ -3316,17 +3443,17 @@ }, { "name": "nicolaslopezj/searchable", - "version": "1.10.3", - "version_normalized": "1.10.3.0", + "version": "1.10.4", + "version_normalized": "1.10.4.0", "source": { "type": "git", "url": "https://github.com/nicolaslopezj/searchable.git", - "reference": "cfd888bbe7b57fa52d81037bb73ef3d689683b22" + "reference": "69dfeb12ae283067288e4bc412235b1f3f13dcf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nicolaslopezj/searchable/zipball/cfd888bbe7b57fa52d81037bb73ef3d689683b22", - "reference": "cfd888bbe7b57fa52d81037bb73ef3d689683b22", + "url": "https://api.github.com/repos/nicolaslopezj/searchable/zipball/69dfeb12ae283067288e4bc412235b1f3f13dcf4", + "reference": "69dfeb12ae283067288e4bc412235b1f3f13dcf4", "shasum": "" }, "require": { @@ -3334,7 +3461,7 @@ "illuminate/database": "4.2.x|~5.0", "php": ">=5.4.0" }, - "time": "2018-08-10T16:07:36+00:00", + "time": "2018-11-05T20:28:35+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3364,17 +3491,17 @@ }, { "name": "nikic/php-parser", - "version": "v4.0.3", - "version_normalized": "4.0.3.0", + "version": "v4.1.0", + "version_normalized": "4.1.0.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d" + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd088dc940a418f09cda079a9b5c7c478890fb8d", - "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0", + "reference": "d0230c5c77a7e3cfa69446febf340978540958c0", "shasum": "" }, "require": { @@ -3384,14 +3511,14 @@ "require-dev": { "phpunit/phpunit": "^6.5 || ^7.0" }, - "time": "2018-07-15T17:25:16+00:00", + "time": "2018-10-10T09:24:14+00:00", "bin": [ "bin/php-parse" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } }, "installation-source": "dist", @@ -3764,25 +3891,29 @@ }, { "name": "phpoffice/phpexcel", - "version": "1.8.1", - "version_normalized": "1.8.1.0", + "version": "1.8.2", + "version_normalized": "1.8.2.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PHPExcel.git", - "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32" + "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/372c7cbb695a6f6f1e62649381aeaa37e7e70b32", - "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32", + "url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/1441011fb7ecdd8cc689878f54f8b58a6805f870", + "reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870", "shasum": "" }, "require": { + "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "php": ">=5.2.0" + "php": "^5.2|^7.0" }, - "time": "2015-05-01T07:00:55+00:00", + "require-dev": { + "squizlabs/php_codesniffer": "2.*" + }, + "time": "2018-11-22T23:07:24+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -3792,7 +3923,7 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL" + "LGPL-2.1" ], "authors": [ { @@ -3800,18 +3931,19 @@ "homepage": "http://blog.maartenballiauw.be" }, { - "name": "Mark Baker" + "name": "Erik Tilt" }, { "name": "Franck Lefevre", - "homepage": "http://blog.rootslabs.net" + "homepage": "http://rootslabs.net" }, { - "name": "Erik Tilt" + "name": "Mark Baker", + "homepage": "http://markbakeruk.net" } ], "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "http://phpexcel.codeplex.com", + "homepage": "https://github.com/PHPOffice/PHPExcel", "keywords": [ "OpenXML", "excel", @@ -3864,17 +3996,17 @@ }, { "name": "phpspec/phpspec", - "version": "4.3.1", - "version_normalized": "4.3.1.0", + "version": "4.3.2", + "version_normalized": "4.3.2.0", "source": { "type": "git", "url": "https://github.com/phpspec/phpspec.git", - "reference": "4474f1cb4cf9873996fc07fac6533ab9298eb6fd" + "reference": "412d2c7d7fa5df051659145ec941645104f2c3bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/phpspec/zipball/4474f1cb4cf9873996fc07fac6533ab9298eb6fd", - "reference": "4474f1cb4cf9873996fc07fac6533ab9298eb6fd", + "url": "https://api.github.com/repos/phpspec/phpspec/zipball/412d2c7d7fa5df051659145ec941645104f2c3bd", + "reference": "412d2c7d7fa5df051659145ec941645104f2c3bd", "shasum": "" }, "require": { @@ -3898,7 +4030,7 @@ "suggest": { "phpspec/nyan-formatters": "Adds Nyan formatters" }, - "time": "2018-07-02T17:43:33+00:00", + "time": "2018-09-24T07:37:39+00:00", "bin": [ "bin/phpspec" ], @@ -4012,17 +4144,17 @@ }, { "name": "phpunit/php-code-coverage", - "version": "6.0.7", - "version_normalized": "6.0.7.0", + "version": "6.1.4", + "version_normalized": "6.1.4.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a" + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a", - "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", "shasum": "" }, "require": { @@ -4033,7 +4165,7 @@ "phpunit/php-text-template": "^1.2.1", "phpunit/php-token-stream": "^3.0", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1", + "sebastian/environment": "^3.1 || ^4.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, @@ -4043,11 +4175,11 @@ "suggest": { "ext-xdebug": "^2.6.0" }, - "time": "2018-06-01T07:51:50+00:00", + "time": "2018-10-31T16:06:48+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "6.1-dev" } }, "installation-source": "dist", @@ -4223,17 +4355,17 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.0.0", - "version_normalized": "3.0.0.0", + "version": "3.0.1", + "version_normalized": "3.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", - "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18", + "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18", "shasum": "" }, "require": { @@ -4243,7 +4375,7 @@ "require-dev": { "phpunit/phpunit": "^7.0" }, - "time": "2018-02-01T13:16:43+00:00", + "time": "2018-10-30T05:52:18+00:00", "type": "library", "extra": { "branch-alias": { @@ -4274,17 +4406,17 @@ }, { "name": "phpunit/phpunit", - "version": "7.3.5", - "version_normalized": "7.3.5.0", + "version": "7.4.5", + "version_normalized": "7.4.5.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "7b331efabbb628c518c408fdfcaf571156775de2" + "reference": "61d34e8dd6eb3555900f0f2a2fa9e7e570730102" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7b331efabbb628c518c408fdfcaf571156775de2", - "reference": "7b331efabbb628c518c408fdfcaf571156775de2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/61d34e8dd6eb3555900f0f2a2fa9e7e570730102", + "reference": "61d34e8dd6eb3555900f0f2a2fa9e7e570730102", "shasum": "" }, "require": { @@ -4305,11 +4437,11 @@ "phpunit/php-timer": "^2.0", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0", - "sebastian/environment": "^3.1", + "sebastian/environment": "^4.0", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0", "sebastian/version": "^2.0.1" }, "conflict": { @@ -4323,14 +4455,14 @@ "ext-xdebug": "*", "phpunit/php-invoker": "^2.0" }, - "time": "2018-09-08T15:14:29+00:00", + "time": "2018-12-03T05:01:24+00:00", "bin": [ "phpunit" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "7.3-dev" + "dev-master": "7.4-dev" } }, "installation-source": "dist", @@ -4580,23 +4712,23 @@ }, { "name": "psr/log", - "version": "1.0.2", - "version_normalized": "1.0.2.0", + "version": "1.1.0", + "version_normalized": "1.1.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", - "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", "shasum": "" }, "require": { "php": ">=5.3.0" }, - "time": "2016-10-10T12:19:37+00:00", + "time": "2018-11-20T15:27:04+00:00", "type": "library", "extra": { "branch-alias": { @@ -4679,24 +4811,24 @@ }, { "name": "psy/psysh", - "version": "v0.9.8", - "version_normalized": "0.9.8.0", + "version": "v0.9.9", + "version_normalized": "0.9.9.0", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555" + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ed3c32c4304e1a678a6e0f9dc11dd2d927d89555", - "reference": "ed3c32c4304e1a678a6e0f9dc11dd2d927d89555", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", + "reference": "9aaf29575bb8293206bb0420c1e1c87ff2ffa94e", "shasum": "" }, "require": { "dnoegel/php-xdg-base-dir": "0.1", "ext-json": "*", "ext-tokenizer": "*", - "jakub-onderka/php-console-highlighter": "0.3.*", + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", "php": ">=5.4.0", "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", @@ -4714,7 +4846,7 @@ "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." }, - "time": "2018-09-05T11:40:09+00:00", + "time": "2018-10-13T15:16:03+00:00", "bin": [ "bin/psysh" ], @@ -4753,6 +4885,48 @@ "shell" ] }, + { + "name": "ralouphie/getallheaders", + "version": "2.0.5", + "version_normalized": "2.0.5.0", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "time": "2016-02-11T07:05:27+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders." + }, { "name": "ramsey/uuid", "version": "3.8.0", @@ -5010,30 +5184,30 @@ }, { "name": "sebastian/environment", - "version": "3.1.0", - "version_normalized": "3.1.0.0", + "version": "4.0.1", + "version_normalized": "4.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", - "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/febd209a219cea7b56ad799b30ebbea34b71eb8f", + "reference": "febd209a219cea7b56ad799b30ebbea34b71eb8f", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.4" }, - "time": "2017-07-01T08:51:00+00:00", + "time": "2018-11-25T09:31:21+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "installation-source": "dist", @@ -5335,27 +5509,27 @@ }, { "name": "sebastian/resource-operations", - "version": "1.0.0", - "version_normalized": "1.0.0.0", + "version": "2.0.1", + "version_normalized": "2.0.1.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", - "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", "shasum": "" }, "require": { - "php": ">=5.6.0" + "php": "^7.1" }, - "time": "2015-07-28T20:34:47+00:00", + "time": "2018-10-04T04:07:39+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "installation-source": "dist", @@ -5556,21 +5730,22 @@ }, { "name": "symfony/console", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f" + "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ca80b8ced97cf07390078b29773dc384c39eee1f", - "reference": "ca80b8ced97cf07390078b29773dc384c39eee1f", + "url": "https://api.github.com/repos/symfony/console/zipball/4dff24e5d01e713818805c1862d2e3f901ee7dd0", + "reference": "4dff24e5d01e713818805c1862d2e3f901ee7dd0", "shasum": "" }, "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -5591,11 +5766,11 @@ "symfony/lock": "", "symfony/process": "" }, - "time": "2018-07-26T11:24:31+00:00", + "time": "2018-11-27T07:40:44+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -5624,6 +5799,76 @@ "description": "Symfony Console Component", "homepage": "https://symfony.com" }, + { + "name": "symfony/contracts", + "version": "v1.0.1", + "version_normalized": "1.0.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/contracts.git", + "reference": "3edf0ab943d1985a356721952cba36ff31bd6e5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/contracts/zipball/3edf0ab943d1985a356721952cba36ff31bd6e5f", + "reference": "3edf0ab943d1985a356721952cba36ff31bd6e5f", + "shasum": "" + }, + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "psr/cache": "^1.0", + "psr/container": "^1.0" + }, + "suggest": { + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" + }, + "time": "2018-11-24T09:35:08+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Contracts\\": "" + }, + "exclude-from-classmap": [ + "**/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A set of abstractions extracted out of the Symfony components", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ] + }, { "name": "symfony/css-selector", "version": "v3.1.10", @@ -5681,17 +5926,17 @@ }, { "name": "symfony/debug", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "47ead688f1f2877f3f14219670f52e4722ee7052" + "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/47ead688f1f2877f3f14219670f52e4722ee7052", - "reference": "47ead688f1f2877f3f14219670f52e4722ee7052", + "url": "https://api.github.com/repos/symfony/debug/zipball/e0a2b92ee0b5b934f973d90c2f58e18af109d276", + "reference": "e0a2b92ee0b5b934f973d90c2f58e18af109d276", "shasum": "" }, "require": { @@ -5704,11 +5949,11 @@ "require-dev": { "symfony/http-kernel": "~3.4|~4.0" }, - "time": "2018-08-03T11:13:38+00:00", + "time": "2018-11-28T18:24:18+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -5797,21 +6042,22 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e" + "reference": "9b788b5f7cd6be22918f3d18ee3ff0a78e060137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bfb30c2ad377615a463ebbc875eba64a99f6aa3e", - "reference": "bfb30c2ad377615a463ebbc875eba64a99f6aa3e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9b788b5f7cd6be22918f3d18ee3ff0a78e060137", + "reference": "9b788b5f7cd6be22918f3d18ee3ff0a78e060137", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "conflict": { "symfony/dependency-injection": "<3.4" @@ -5827,11 +6073,11 @@ "symfony/dependency-injection": "", "symfony/http-kernel": "" }, - "time": "2018-07-26T09:10:45+00:00", + "time": "2018-11-26T10:55:26+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -5862,28 +6108,28 @@ }, { "name": "symfony/filesystem", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e" + "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e", - "reference": "c0f5f62db218fa72195b8b8700e4b9b9cf52eb5e", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2f4c8b999b3b7cadb2a69390b01af70886753710", + "reference": "2f4c8b999b3b7cadb2a69390b01af70886753710", "shasum": "" }, "require": { "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, - "time": "2018-08-18T16:52:46+00:00", + "time": "2018-11-11T19:52:12+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -5914,27 +6160,27 @@ }, { "name": "symfony/finder", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068" + "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e162f1df3102d0b7472805a5a9d5db9fcf0a8068", - "reference": "e162f1df3102d0b7472805a5a9d5db9fcf0a8068", + "url": "https://api.github.com/repos/symfony/finder/zipball/e53d477d7b5c4982d0e1bfd2298dbee63d01441d", + "reference": "e53d477d7b5c4982d0e1bfd2298dbee63d01441d", "shasum": "" }, "require": { "php": "^7.1.3" }, - "time": "2018-07-26T11:24:31+00:00", + "time": "2018-11-11T19:52:12+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -5965,17 +6211,17 @@ }, { "name": "symfony/http-foundation", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "3a5c91e133b220bb882b3cd773ba91bf39989345" + "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3a5c91e133b220bb882b3cd773ba91bf39989345", - "reference": "3a5c91e133b220bb882b3cd773ba91bf39989345", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", + "reference": "1b31f3017fadd8cb05cf2c8aebdbf3b12a943851", "shasum": "" }, "require": { @@ -5986,11 +6232,11 @@ "predis/predis": "~1.0", "symfony/expression-language": "~3.4|~4.0" }, - "time": "2018-08-27T17:47:02+00:00", + "time": "2018-11-26T10:55:26+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6021,22 +6267,23 @@ }, { "name": "symfony/http-kernel", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35" + "reference": "500409e5d8a31fc92450a0ec2ea4e4c35af40117" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33de0a1ff2e1720096189e3ced682d7a4e8f5e35", - "reference": "33de0a1ff2e1720096189e3ced682d7a4e8f5e35", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/500409e5d8a31fc92450a0ec2ea4e4c35af40117", + "reference": "500409e5d8a31fc92450a0ec2ea4e4c35af40117", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "~1.0", + "symfony/contracts": "^1.0", "symfony/debug": "~3.4|~4.0", "symfony/event-dispatcher": "~4.1", "symfony/http-foundation": "^4.1.1", @@ -6044,7 +6291,8 @@ }, "conflict": { "symfony/config": "<3.4", - "symfony/dependency-injection": "<4.1", + "symfony/dependency-injection": "<4.2", + "symfony/translation": "<4.2", "symfony/var-dumper": "<4.1.1", "twig/twig": "<1.34|<2.4,>=2" }, @@ -6057,7 +6305,7 @@ "symfony/config": "~3.4|~4.0", "symfony/console": "~3.4|~4.0", "symfony/css-selector": "~3.4|~4.0", - "symfony/dependency-injection": "^4.1", + "symfony/dependency-injection": "^4.2", "symfony/dom-crawler": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0", @@ -6065,7 +6313,7 @@ "symfony/routing": "~3.4|~4.0", "symfony/stopwatch": "~3.4|~4.0", "symfony/templating": "~3.4|~4.0", - "symfony/translation": "~3.4|~4.0", + "symfony/translation": "~4.2", "symfony/var-dumper": "^4.1.1" }, "suggest": { @@ -6075,11 +6323,11 @@ "symfony/dependency-injection": "", "symfony/var-dumper": "" }, - "time": "2018-08-28T06:17:42+00:00", + "time": "2018-11-30T09:16:14+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6110,27 +6358,27 @@ }, { "name": "symfony/options-resolver", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "1913f1962477cdbb13df951f8147d5da1fe2412c" + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/1913f1962477cdbb13df951f8147d5da1fe2412c", - "reference": "1913f1962477cdbb13df951f8147d5da1fe2412c", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", + "reference": "a9c38e8a3da2c03b3e71fdffa6efb0bda51390ba", "shasum": "" }, "require": { "php": "^7.1.3" }, - "time": "2018-07-26T08:55:25+00:00", + "time": "2018-11-11T19:52:12+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6166,8 +6414,8 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -6226,17 +6474,17 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8" + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8", - "reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", "shasum": "" }, "require": { @@ -6245,7 +6493,7 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2018-08-06T14:22:27+00:00", + "time": "2018-09-21T13:07:52+00:00", "type": "library", "extra": { "branch-alias": { @@ -6287,24 +6535,24 @@ }, { "name": "symfony/polyfill-php56", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000" + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/7b4fc009172cc0196535b0328bd1226284a28000", - "reference": "7b4fc009172cc0196535b0328bd1226284a28000", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", "shasum": "" }, "require": { "php": ">=5.3.3", "symfony/polyfill-util": "~1.0" }, - "time": "2018-08-06T14:22:27+00:00", + "time": "2018-09-21T06:26:08+00:00", "type": "library", "extra": { "branch-alias": { @@ -6345,23 +6593,23 @@ }, { "name": "symfony/polyfill-php72", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae" + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/95c50420b0baed23852452a7f0c7b527303ed5ae", - "reference": "95c50420b0baed23852452a7f0c7b527303ed5ae", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "2018-08-06T14:22:27+00:00", + "time": "2018-09-21T13:07:52+00:00", "type": "library", "extra": { "branch-alias": { @@ -6402,23 +6650,23 @@ }, { "name": "symfony/polyfill-util", - "version": "v1.9.0", - "version_normalized": "1.9.0.0", + "version": "v1.10.0", + "version_normalized": "1.10.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581" + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/8e15d04ba3440984d23e7964b2ee1d25c8de1581", - "reference": "8e15d04ba3440984d23e7964b2ee1d25c8de1581", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", "shasum": "" }, "require": { "php": ">=5.3.3" }, - "time": "2018-08-06T14:22:27+00:00", + "time": "2018-09-30T16:36:12+00:00", "type": "library", "extra": { "branch-alias": { @@ -6456,27 +6704,27 @@ }, { "name": "symfony/process", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843" + "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/86cdb930a6a855b0ab35fb60c1504cb36184f843", - "reference": "86cdb930a6a855b0ab35fb60c1504cb36184f843", + "url": "https://api.github.com/repos/symfony/process/zipball/2b341009ccec76837a7f46f59641b431e4d4c2b0", + "reference": "2b341009ccec76837a7f46f59641b431e4d4c2b0", "shasum": "" }, "require": { "php": "^7.1.3" }, - "time": "2018-08-03T11:13:38+00:00", + "time": "2018-11-20T16:22:05+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6507,31 +6755,31 @@ }, { "name": "symfony/routing", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51" + "reference": "97b9f457df748357eec101df5c8b1c649b543241" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/a5784c2ec4168018c87b38f0e4f39d2278499f51", - "reference": "a5784c2ec4168018c87b38f0e4f39d2278499f51", + "url": "https://api.github.com/repos/symfony/routing/zipball/97b9f457df748357eec101df5c8b1c649b543241", + "reference": "97b9f457df748357eec101df5c8b1c649b543241", "shasum": "" }, "require": { "php": "^7.1.3" }, "conflict": { - "symfony/config": "<3.4", + "symfony/config": "<4.2", "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { "doctrine/annotations": "~1.0", "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", + "symfony/config": "~4.2", "symfony/dependency-injection": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/http-foundation": "~3.4|~4.0", @@ -6545,11 +6793,11 @@ "symfony/http-foundation": "For using a Symfony Request object", "symfony/yaml": "For using the YAML loader" }, - "time": "2018-08-03T07:58:40+00:00", + "time": "2018-11-29T14:48:32+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6586,21 +6834,22 @@ }, { "name": "symfony/translation", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f" + "reference": "ff9a878c9b8f8bcd4d9138e2d32f508c942773d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/fa2182669f7983b7aa5f1a770d053f79f0ef144f", - "reference": "fa2182669f7983b7aa5f1a770d053f79f0ef144f", + "url": "https://api.github.com/repos/symfony/translation/zipball/ff9a878c9b8f8bcd4d9138e2d32f508c942773d9", + "reference": "ff9a878c9b8f8bcd4d9138e2d32f508c942773d9", "shasum": "" }, "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -6608,6 +6857,9 @@ "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, + "provide": { + "symfony/translation-contracts-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", "symfony/config": "~3.4|~4.0", @@ -6622,11 +6874,11 @@ "symfony/config": "", "symfony/yaml": "" }, - "time": "2018-08-07T12:45:11+00:00", + "time": "2018-11-27T07:20:32+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6657,17 +6909,17 @@ }, { "name": "symfony/var-dumper", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777" + "reference": "db61258540350725f4beb6b84006e32398acd120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a05426e27294bba7b0226ffc17dd01a3c6ef9777", - "reference": "a05426e27294bba7b0226ffc17dd01a3c6ef9777", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/db61258540350725f4beb6b84006e32398acd120", + "reference": "db61258540350725f4beb6b84006e32398acd120", "shasum": "" }, "require": { @@ -6689,14 +6941,14 @@ "ext-intl": "To show region name in time zone dump", "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" }, - "time": "2018-08-02T09:24:26+00:00", + "time": "2018-11-25T12:50:42+00:00", "bin": [ "Resources/bin/var-dump-server" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -6734,17 +6986,17 @@ }, { "name": "symfony/yaml", - "version": "v4.1.4", - "version_normalized": "4.1.4.0", + "version": "v4.2.0", + "version_normalized": "4.2.0.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "b832cc289608b6d305f62149df91529a2ab3c314" + "reference": "c41175c801e3edfda90f32e292619d10c27103d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b832cc289608b6d305f62149df91529a2ab3c314", - "reference": "b832cc289608b6d305f62149df91529a2ab3c314", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c41175c801e3edfda90f32e292619d10c27103d7", + "reference": "c41175c801e3edfda90f32e292619d10c27103d7", "shasum": "" }, "require": { @@ -6760,11 +7012,11 @@ "suggest": { "symfony/console": "For validating YAML files using the lint command" }, - "time": "2018-08-18T16:52:46+00:00", + "time": "2018-11-11T19:52:12+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "installation-source": "dist", @@ -7061,22 +7313,22 @@ }, { "name": "torann/geoip", - "version": "1.0.7", - "version_normalized": "1.0.7.0", + "version": "1.0.8", + "version_normalized": "1.0.8.0", "source": { "type": "git", "url": "https://github.com/Torann/laravel-geoip.git", - "reference": "bcd07e0a7e053d9be224bb944a49a7f76ca7e86f" + "reference": "948617dba3d9c2992c3b3ff48dbc429123000e58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/bcd07e0a7e053d9be224bb944a49a7f76ca7e86f", - "reference": "bcd07e0a7e053d9be224bb944a49a7f76ca7e86f", + "url": "https://api.github.com/repos/Torann/laravel-geoip/zipball/948617dba3d9c2992c3b3ff48dbc429123000e58", + "reference": "948617dba3d9c2992c3b3ff48dbc429123000e58", "shasum": "" }, "require": { - "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*", - "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*", + "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", + "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", "php": ">=5.5.9" }, "require-dev": { @@ -7088,7 +7340,7 @@ "geoip2/geoip2": "Required to use the MaxMind database or web service with GeoIP (~2.1).", "monolog/monolog": "Allows for storing location not found errors to the log" }, - "time": "2018-08-15T18:24:26+00:00", + "time": "2018-09-21T17:11:51+00:00", "type": "library", "extra": { "branch-alias": { @@ -7141,12 +7393,12 @@ "source": { "type": "git", "url": "https://github.com/tymondesigns/jwt-auth.git", - "reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f" + "reference": "689fcc263f6c4f650057905ae6dce441879df19b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/e190b6a75372e7e5e3a6d2cf0e4456313412299f", - "reference": "e190b6a75372e7e5e3a6d2cf0e4456313412299f", + "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/689fcc263f6c4f650057905ae6dce441879df19b", + "reference": "689fcc263f6c4f650057905ae6dce441879df19b", "shasum": "" }, "require": { @@ -7167,7 +7419,7 @@ "mockery/mockery": ">=0.9.9", "phpunit/phpunit": "~4.8 || ~6.0" }, - "time": "2018-09-04T19:48:02+00:00", + "time": "2018-10-17T13:25:54+00:00", "type": "library", "extra": { "branch-alias": { diff --git a/vendor/davibennun/laravel-push-notification/composer.json b/vendor/davibennun/laravel-push-notification/composer.json index b111d7046..bb5e6ba42 100644 --- a/vendor/davibennun/laravel-push-notification/composer.json +++ b/vendor/davibennun/laravel-push-notification/composer.json @@ -18,5 +18,15 @@ "Davibennun\\LaravelPushNotification": "src/" } }, - "minimum-stability": "dev" + "minimum-stability": "dev", + "extra": { + "laravel": { + "providers": [ + "Davibennun\\LaravelPushNotification\\LaravelPushNotificationServiceProvider" + ], + "aliases": { + "PushNotification": "Davibennun\\LaravelPushNotification\\Facades\\PushNotification" + } + } + } } diff --git a/vendor/davibennun/laravel-push-notification/src/Davibennun/LaravelPushNotification/App.php b/vendor/davibennun/laravel-push-notification/src/Davibennun/LaravelPushNotification/App.php old mode 100644 new mode 100755 diff --git a/vendor/doctrine/dbal/.doctrine-project.json b/vendor/doctrine/dbal/.doctrine-project.json new file mode 100644 index 000000000..9fb3d836c --- /dev/null +++ b/vendor/doctrine/dbal/.doctrine-project.json @@ -0,0 +1,49 @@ +{ + "active": true, + "name": "Database Abstraction Layer", + "shortName": "DBAL", + "slug": "dbal", + "docsSlug": "doctrine-dbal", + "versions": [ + { + "name": "3.0", + "branchName": "develop", + "slug": "latest", + "upcoming": true + }, + { + "name": "2.9", + "branchName": "master", + "slug": "2.9", + "upcoming": true + }, + { + "name": "2.8", + "branchName": "2.8", + "slug": "2.8", + "current": true, + "aliases": [ + "current", + "stable" + ] + }, + { + "name": "2.7", + "branchName": "2.7", + "slug": "2.7", + "maintained": false + }, + { + "name": "2.6", + "branchName": "2.6", + "slug": "2.6", + "maintained": false + }, + { + "name": "2.5", + "branchName": "2.5", + "slug": "2.5", + "maintained": false + } + ] +} diff --git a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/BC_Break.md b/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/BC_Break.md deleted file mode 100644 index fe2f6eac4..000000000 --- a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/BC_Break.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: 💥 BC Break -about: Have you encountered an issue during upgrade? 💣 ---- - - - -### BC Break Report - - - -| Q | A -|------------ | ------ -| BC Break | yes -| Version | x.y.z - -#### Summary - - - -#### Previous behavior - - - -#### Current behavior - - - -#### How to reproduce - - diff --git a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Bug.md b/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Bug.md deleted file mode 100644 index b0767e8c7..000000000 --- a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Bug.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: 🐞 Bug Report -about: Something is broken? 🔨 ---- - -### Bug Report - - - -| Q | A -|------------ | ------ -| BC Break | yes/no -| Version | x.y.z - -#### Summary - - - -#### Current behavior - - - -#### How to reproduce - - - -#### Expected behavior - - - diff --git a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Feature_Request.md b/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Feature_Request.md deleted file mode 100644 index 2620581d6..000000000 --- a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Feature_Request.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -name: 🎉 Feature Request -about: You have a neat idea that should be implemented? 🎩 ---- - -### Feature Request - - - -| Q | A -|------------ | ------ -| New Feature | yes -| RFC | yes/no -| BC Break | yes/no - -#### Summary - - diff --git a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Support_Question.md b/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Support_Question.md deleted file mode 100644 index 59a63fda1..000000000 --- a/vendor/doctrine/dbal/.github/ISSUE_TEMPLATE/Support_Question.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: ❓ Support Question -about: Have a problem that you can't figure out? 🤔 ---- - - - -| Q | A -|------------ | ----- -| Version | x.y.z - - - -### Support Question - - diff --git a/vendor/doctrine/dbal/.github/PULL_REQUEST_TEMPLATE.md b/vendor/doctrine/dbal/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 332d6db0b..000000000 --- a/vendor/doctrine/dbal/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,11 +0,0 @@ - - -| Q | A -|------------- | ----------- -| Type | bug/feature/improvement -| BC Break | yes/no -| Fixed issues | - -#### Summary - - diff --git a/vendor/doctrine/dbal/.scrutinizer.yml b/vendor/doctrine/dbal/.scrutinizer.yml deleted file mode 100644 index 125becc52..000000000 --- a/vendor/doctrine/dbal/.scrutinizer.yml +++ /dev/null @@ -1,34 +0,0 @@ -build: - nodes: - analysis: - environment: - php: - version: 7.1 - cache: - disabled: false - directories: - - ~/.composer/cache - - project_setup: - override: true - tests: - override: - - php-scrutinizer-run - -before_commands: - - "composer install --no-dev --prefer-source -a" - -tools: - external_code_coverage: - timeout: 3600 - runs: 22 # 18x Travis (jobs with COVERAGE=yes) + 3x AppVeyor (jobs with coverage=yes) + 1x ContinuousPHP - -filter: - excluded_paths: - - docs - -build_failure_conditions: - - 'elements.rating(<= C).new.exists' # No new classes/methods with a rating of C or worse allowed - - 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity - - 'project.metric_change("scrutinizer.test_coverage", < 0)' # Code Coverage decreased from previous inspection - - 'patches.label("Unused Use Statements").new.exists' # No new unused imports patches allowed diff --git a/vendor/doctrine/dbal/README.md b/vendor/doctrine/dbal/README.md index b0d2e711b..8a5767338 100644 --- a/vendor/doctrine/dbal/README.md +++ b/vendor/doctrine/dbal/README.md @@ -1,12 +1,12 @@ # Doctrine DBAL -| [Master][Master] | [2.7][2.7] | [2.6][2.6] | [Develop][develop] | -|:----------------:|:----------:|:----------:|:--------------:| -| [![Build status][Master image]][Master] | [![Build status][2.7 image]][2.7] | [![Build status][2.6 image]][2.6] | [![Build status][develop image]][develop] | -| [![Build Status][ContinuousPHP image]][ContinuousPHP] | [![Build Status][ContinuousPHP 2.7 image]][ContinuousPHP] | [![Build Status][ContinuousPHP 2.6 image]][ContinuousPHP] | [![Build Status][ContinuousPHP develop image]][ContinuousPHP] | -| [![Code Coverage][Coverage image]][Scrutinizer Master] | [![Code Coverage][Coverage 2.7 image]][Scrutinizer 2.7] | [![Code Coverage][Coverage 2.6 image]][Scrutinizer 2.6] | [![Code Coverage][Coverage develop image]][Scrutinizer develop] | -| [![Code Quality][Quality image]][Scrutinizer Master] | [![Code Quality][Quality 2.7 image]][Scrutinizer 2.7] | [![Code Quality][Quality 2.6 image]][Scrutinizer 2.6] | [![Code Quality][Quality develop image]][Scrutinizer develop] | -| [![AppVeyor][AppVeyor master image]][AppVeyor master] | [![AppVeyor][AppVeyor 2.7 image]][AppVeyor 2.7] | | [![AppVeyor][AppVeyor develop image]][AppVeyor develop] | +| [Master][Master] | [2.8][2.8] | [Develop][develop] | +|:----------------:|:----------:|:------------------:| +| [![Build status][Master image]][Master] | [![Build status][2.8 image]][2.8] | [![Build status][develop image]][develop] | +| [![Build Status][ContinuousPHP image]][ContinuousPHP] | [![Build Status][ContinuousPHP 2.8 image]][ContinuousPHP] | [![Build Status][ContinuousPHP develop image]][ContinuousPHP] | +| [![Code Coverage][Coverage image]][Scrutinizer Master] | [![Code Coverage][Coverage 2.8 image]][Scrutinizer 2.8] | [![Code Coverage][Coverage develop image]][Scrutinizer develop] | +| [![Code Quality][Quality image]][Scrutinizer Master] | [![Code Quality][Quality 2.8 image]][Scrutinizer 2.8] | [![Code Quality][Quality develop image]][Scrutinizer develop] | +| [![AppVeyor][AppVeyor master image]][AppVeyor master] | [![AppVeyor][AppVeyor 2.8 image]][AppVeyor 2.8] | [![AppVeyor][AppVeyor develop image]][AppVeyor develop] | Powerful database abstraction layer with many features for database schema introspection, schema management and PDO abstraction. @@ -26,20 +26,14 @@ Powerful database abstraction layer with many features for database schema intro [AppVeyor master]: https://ci.appveyor.com/project/doctrine/dbal/branch/master [AppVeyor master image]: https://ci.appveyor.com/api/projects/status/i88kitq8qpbm0vie/branch/master?svg=true [ContinuousPHP]: https://continuousphp.com/git-hub/doctrine/dbal - [2.7 image]: https://img.shields.io/travis/doctrine/dbal/2.7.svg?style=flat-square - [Coverage 2.7 image]: https://img.shields.io/scrutinizer/coverage/g/doctrine/dbal/2.7.svg?style=flat-square - [Quality 2.7 image]: https://img.shields.io/scrutinizer/g/doctrine/dbal/2.7.svg?style=flat-square - [ContinuousPHP 2.7 image]: https://img.shields.io/continuousphp/git-hub/doctrine/dbal/2.7.svg?style=flat-square - [2.7]: https://github.com/doctrine/dbal/tree/2.7 - [Scrutinizer 2.7]: https://scrutinizer-ci.com/g/doctrine/dbal/?branch=2.7 - [AppVeyor 2.7]: https://ci.appveyor.com/project/doctrine/dbal/branch/2.7 - [AppVeyor 2.7 image]: https://ci.appveyor.com/api/projects/status/i88kitq8qpbm0vie/branch/2.7?svg=true - [2.6 image]: https://img.shields.io/travis/doctrine/dbal/2.6.svg?style=flat-square - [Coverage 2.6 image]: https://img.shields.io/scrutinizer/coverage/g/doctrine/dbal/2.6.svg?style=flat-square - [Quality 2.6 image]: https://img.shields.io/scrutinizer/g/doctrine/dbal/2.6.svg?style=flat-square - [ContinuousPHP 2.6 image]: https://img.shields.io/continuousphp/git-hub/doctrine/dbal/2.6.svg?style=flat-square - [2.6]: https://github.com/doctrine/dbal/tree/2.6 - [Scrutinizer 2.6]: https://scrutinizer-ci.com/g/doctrine/dbal/?branch=2.6 + [2.8 image]: https://img.shields.io/travis/doctrine/dbal/2.8.svg?style=flat-square + [Coverage 2.8 image]: https://img.shields.io/scrutinizer/coverage/g/doctrine/dbal/2.8.svg?style=flat-square + [Quality 2.8 image]: https://img.shields.io/scrutinizer/g/doctrine/dbal/2.8.svg?style=flat-square + [ContinuousPHP 2.8 image]: https://img.shields.io/continuousphp/git-hub/doctrine/dbal/2.8.svg?style=flat-square + [2.8]: https://github.com/doctrine/dbal/tree/2.8 + [Scrutinizer 2.8]: https://scrutinizer-ci.com/g/doctrine/dbal/?branch=2.8 + [AppVeyor 2.8]: https://ci.appveyor.com/project/doctrine/dbal/branch/2.8 + [AppVeyor 2.8 image]: https://ci.appveyor.com/api/projects/status/i88kitq8qpbm0vie/branch/2.8?svg=true [develop]: https://github.com/doctrine/dbal/tree/develop [develop image]: https://img.shields.io/travis/doctrine/dbal/develop.svg?style=flat-square [Coverage develop image]: https://img.shields.io/scrutinizer/coverage/g/doctrine/dbal/develop.svg?style=flat-square diff --git a/vendor/doctrine/dbal/UPGRADE.md b/vendor/doctrine/dbal/UPGRADE.md index 25e2747b6..53bf9420d 100644 --- a/vendor/doctrine/dbal/UPGRADE.md +++ b/vendor/doctrine/dbal/UPGRADE.md @@ -1,3 +1,34 @@ +# Upgrade to 2.9 + +## Deprecated `Statement::fetchColumn()` with an invalid index + +Calls to `Statement::fetchColumn()` with an invalid column index currently return `NULL`. In the future, such calls will result in a exception. + +## Deprecated `Configuration::getFilterSchemaAssetsExpression()`, `::setFilterSchemaAssetsExpression()` and `AbstractSchemaManager::getFilterSchemaAssetsExpression()`. + +Regular expression-based filters are hard to extend by combining together. Instead, you may use callback-based filers via `::getSchemaAssetsFilter()` and `::getSchemaAssetsFilter()`. Callbacks can use regular expressions internally. + +## Deprecated `Doctrine\DBAL\Types\Type::getDefaultLength()` + +This method was never used by DBAL internally. It is now deprecated and will be removed in DBAL 3.0. + +## Deprecated `Doctrine\DBAL\Types\Type::__toString()` + +Relying on string representation is discouraged and will be removed in DBAL 3.0. + +## Deprecated `NULL` value of `$offset` in LIMIT queries + +The `NULL` value of the `$offset` argument in `AbstractPlatform::(do)?ModifyLimitQuery()` methods is deprecated. If explicitly used in the method call, the absence of the offset should be indicated with a `0`. + +## Deprecated dbal:import CLI command + +The `dbal:import` CLI command has been deprecated since it only works with PDO-based drivers by relying on a non-documented behavior of the extension, and it's impossible to make it work with other drivers. +Please use other database client applications for import, e.g.: + + * For MySQL and MariaDB: `mysql [dbname] < data.sql`. + * For PostgreSQL: `psql [dbname] < data.sql`. + * For SQLite: `sqlite3 /path/to/file.db < data.sql`. + # Upgrade to 2.8 ## Deprecated usage of DB-generated UUIDs diff --git a/vendor/doctrine/dbal/bin/doctrine-dbal b/vendor/doctrine/dbal/bin/doctrine-dbal old mode 100644 new mode 100755 diff --git a/vendor/doctrine/dbal/bin/doctrine-dbal.php b/vendor/doctrine/dbal/bin/doctrine-dbal.php index 3d1131f1a..f3e064ffd 100644 --- a/vendor/doctrine/dbal/bin/doctrine-dbal.php +++ b/vendor/doctrine/dbal/bin/doctrine-dbal.php @@ -1,29 +1,12 @@ . - */ -use Symfony\Component\Console\Helper\HelperSet; use Doctrine\DBAL\Tools\Console\ConsoleRunner; +use Symfony\Component\Console\Helper\HelperSet; -$files = array(__DIR__ . '/../vendor/autoload.php', __DIR__ . '/../../../autoload.php'); +$files = [__DIR__ . '/../vendor/autoload.php', __DIR__ . '/../../../autoload.php']; $loader = null; $cwd = getcwd(); -$directories = array($cwd, $cwd . DIRECTORY_SEPARATOR . 'config'); +$directories = [$cwd, $cwd . DIRECTORY_SEPARATOR . 'config']; $configFile = null; foreach ($files as $file) { @@ -34,7 +17,7 @@ foreach ($files as $file) { } } -if ( ! $loader) { +if (! $loader) { throw new RuntimeException('vendor/autoload.php could not be found. Did you run `php composer.phar install`?'); } @@ -46,22 +29,22 @@ foreach ($directories as $directory) { } } -if ( ! file_exists($configFile)) { +if (! file_exists($configFile)) { ConsoleRunner::printCliConfigTemplate(); exit(1); } -if ( ! is_readable($configFile)) { +if (! is_readable($configFile)) { echo 'Configuration file [' . $configFile . '] does not have read permission.' . PHP_EOL; exit(1); } -$commands = array(); +$commands = []; $helperSet = require $configFile; -if ( ! $helperSet instanceof HelperSet) { +if (! $helperSet instanceof HelperSet) { foreach ($GLOBALS as $helperSetCandidate) { if ($helperSetCandidate instanceof HelperSet) { $helperSet = $helperSetCandidate; diff --git a/vendor/doctrine/dbal/composer.json b/vendor/doctrine/dbal/composer.json index 163d80abb..9d5f610c2 100644 --- a/vendor/doctrine/dbal/composer.json +++ b/vendor/doctrine/dbal/composer.json @@ -1,9 +1,18 @@ { "name": "doctrine/dbal", "type": "library", - "description": "Database Abstraction Layer", - "keywords": ["dbal", "database", "persistence", "queryobject"], - "homepage": "http://www.doctrine-project.org", + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "keywords": [ + "php", + "mysql", + "pgsql", + "dbal", + "database", + "abstraction", + "persistence", + "queryobject" + ], + "homepage": "https://www.doctrine-project.org/projects/dbal.html", "license": "MIT", "authors": [ {"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"}, @@ -18,11 +27,10 @@ "doctrine/event-manager": "^1.0" }, "require-dev": { - "doctrine/coding-standard": "^4.0", + "doctrine/coding-standard": "^5.0", "jetbrains/phpstorm-stubs": "^2018.1.2", "phpstan/phpstan": "^0.10.1", - "phpunit/phpunit": "^7.1.2", - "phpunit/phpunit-mock-objects": "!=3.2.4,!=3.2.5", + "phpunit/phpunit": "^7.4", "symfony/console": "^2.0.5|^3.0|^4.0", "symfony/phpunit-bridge": "^3.4.5|^4.0.5" }, @@ -34,18 +42,15 @@ "sort-packages": true }, "autoload": { - "psr-0": { "Doctrine\\DBAL\\": "lib/" } + "psr-4": { "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" } }, "autoload-dev": { - "psr-0": { "Doctrine\\Tests\\": "tests/" } + "psr-4": { "Doctrine\\Tests\\": "tests/Doctrine/Tests" } }, "extra": { "branch-alias": { - "dev-master": "2.8.x-dev", + "dev-master": "2.9.x-dev", "dev-develop": "3.0.x-dev" } - }, - "archive": { - "exclude": ["!vendor", "tests", "*phpunit.xml", ".appveyor.yml", ".travis.yml", "build.xml", "build.properties", "composer.phar"] } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ArrayStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ArrayStatement.php index 6e09e124d..449a220a2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ArrayStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ArrayStatement.php @@ -1,62 +1,43 @@ . - */ namespace Doctrine\DBAL\Cache; +use ArrayIterator; use Doctrine\DBAL\Driver\ResultStatement; use Doctrine\DBAL\FetchMode; +use InvalidArgumentException; +use IteratorAggregate; +use PDO; use function array_merge; use function array_values; use function count; use function reset; -class ArrayStatement implements \IteratorAggregate, ResultStatement +class ArrayStatement implements IteratorAggregate, ResultStatement { - /** - * @var array - */ + /** @var mixed[] */ private $data; - /** - * @var int - */ + /** @var int */ private $columnCount = 0; - /** - * @var int - */ + /** @var int */ private $num = 0; - /** - * @var int - */ + /** @var int */ private $defaultFetchMode = FetchMode::MIXED; /** - * @param array $data + * @param mixed[] $data */ public function __construct(array $data) { $this->data = $data; - if (count($data)) { - $this->columnCount = count($data[0]); + if (! count($data)) { + return; } + + $this->columnCount = count($data[0]); } /** @@ -64,7 +45,7 @@ class ArrayStatement implements \IteratorAggregate, ResultStatement */ public function closeCursor() { - unset ($this->data); + unset($this->data); } /** @@ -81,7 +62,7 @@ class ArrayStatement implements \IteratorAggregate, ResultStatement public function setFetchMode($fetchMode, $arg2 = null, $arg3 = null) { if ($arg2 !== null || $arg3 !== null) { - throw new \InvalidArgumentException("Caching layer does not support 2nd/3rd argument to setFetchMode()"); + throw new InvalidArgumentException('Caching layer does not support 2nd/3rd argument to setFetchMode()'); } $this->defaultFetchMode = $fetchMode; @@ -96,13 +77,13 @@ class ArrayStatement implements \IteratorAggregate, ResultStatement { $data = $this->fetchAll(); - return new \ArrayIterator($data); + return new ArrayIterator($data); } /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { if (! isset($this->data[$this->num])) { return false; @@ -127,7 +108,7 @@ class ArrayStatement implements \IteratorAggregate, ResultStatement return reset($row); } - throw new \InvalidArgumentException('Invalid fetch-style given for fetching result.'); + throw new InvalidArgumentException('Invalid fetch-style given for fetching result.'); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/CacheException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/CacheException.php index 1b69058cd..636c948a6 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/CacheException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/CacheException.php @@ -1,36 +1,17 @@ . - */ namespace Doctrine\DBAL\Cache; -/** - * @author Benjamin Eberlei - * @since 2.2 - */ -class CacheException extends \Doctrine\DBAL\DBALException +use Doctrine\DBAL\DBALException; + +class CacheException extends DBALException { /** * @return \Doctrine\DBAL\Cache\CacheException */ public static function noCacheKey() { - return new self("No cache key was set."); + return new self('No cache key was set.'); } /** @@ -38,6 +19,6 @@ class CacheException extends \Doctrine\DBAL\DBALException */ public static function noResultDriverConfigured() { - return new self("Trying to cache a query but no result driver is configured."); + return new self('Trying to cache a query but no result driver is configured.'); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/QueryCacheProfile.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/QueryCacheProfile.php index a722681ce..9433f982f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/QueryCacheProfile.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/QueryCacheProfile.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Cache; @@ -31,19 +14,13 @@ use function sha1; */ class QueryCacheProfile { - /** - * @var Cache|null - */ + /** @var Cache|null */ private $resultCacheDriver; - /** - * @var int - */ + /** @var int */ private $lifetime = 0; - /** - * @var string|null - */ + /** @var string|null */ private $cacheKey; /** @@ -90,12 +67,12 @@ class QueryCacheProfile /** * Generates the real cache key from query, params, types and connection parameters. * - * @param string $query - * @param array $params - * @param array $types - * @param array $connectionParams + * @param string $query + * @param mixed[] $params + * @param int[]|string[] $types + * @param mixed[] $connectionParams * - * @return array + * @return string[] */ public function generateCacheKeys($query, $params, $types, array $connectionParams = []) { @@ -115,7 +92,6 @@ class QueryCacheProfile } /** - * * @return \Doctrine\DBAL\Cache\QueryCacheProfile */ public function setResultCacheDriver(Cache $cache) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ResultCacheStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ResultCacheStatement.php index 4b200a5d4..872f3e71f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ResultCacheStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Cache/ResultCacheStatement.php @@ -1,28 +1,15 @@ . - */ namespace Doctrine\DBAL\Cache; -use Doctrine\DBAL\Driver\Statement; -use Doctrine\DBAL\Driver\ResultStatement; +use ArrayIterator; use Doctrine\Common\Cache\Cache; +use Doctrine\DBAL\Driver\ResultStatement; +use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\FetchMode; +use InvalidArgumentException; +use IteratorAggregate; +use PDO; use function array_merge; use function array_values; use function reset; @@ -40,32 +27,21 @@ use function reset; * Also you have to realize that the cache will load the whole result into memory at once to ensure 2. * This means that the memory usage for cached results might increase by using this feature. */ -class ResultCacheStatement implements \IteratorAggregate, ResultStatement +class ResultCacheStatement implements IteratorAggregate, ResultStatement { - /** - * @var \Doctrine\Common\Cache\Cache - */ + /** @var Cache */ private $resultCache; - /** - * - * @var string - */ + /** @var string */ private $cacheKey; - /** - * @var string - */ + /** @var string */ private $realKey; - /** - * @var int - */ + /** @var int */ private $lifetime; - /** - * @var \Doctrine\DBAL\Driver\Statement - */ + /** @var Statement */ private $statement; /** @@ -75,30 +51,24 @@ class ResultCacheStatement implements \IteratorAggregate, ResultStatement */ private $emptied = false; - /** - * @var array - */ + /** @var mixed[] */ private $data; - /** - * @var int - */ + /** @var int */ private $defaultFetchMode = FetchMode::MIXED; /** - * @param \Doctrine\DBAL\Driver\Statement $stmt - * @param \Doctrine\Common\Cache\Cache $resultCache - * @param string $cacheKey - * @param string $realKey - * @param int $lifetime + * @param string $cacheKey + * @param string $realKey + * @param int $lifetime */ public function __construct(Statement $stmt, Cache $resultCache, $cacheKey, $realKey, $lifetime) { - $this->statement = $stmt; + $this->statement = $stmt; $this->resultCache = $resultCache; - $this->cacheKey = $cacheKey; - $this->realKey = $realKey; - $this->lifetime = $lifetime; + $this->cacheKey = $cacheKey; + $this->realKey = $realKey; + $this->lifetime = $lifetime; } /** @@ -107,16 +77,20 @@ class ResultCacheStatement implements \IteratorAggregate, ResultStatement public function closeCursor() { $this->statement->closeCursor(); - if ($this->emptied && $this->data !== null) { - $data = $this->resultCache->fetch($this->cacheKey); - if ( ! $data) { - $data = []; - } - $data[$this->realKey] = $this->data; - - $this->resultCache->save($this->cacheKey, $data, $this->lifetime); - unset($this->data); + if (! $this->emptied || $this->data === null) { + return true; } + + $data = $this->resultCache->fetch($this->cacheKey); + if (! $data) { + $data = []; + } + $data[$this->realKey] = $this->data; + + $this->resultCache->save($this->cacheKey, $data, $this->lifetime); + unset($this->data); + + return true; } /** @@ -144,13 +118,13 @@ class ResultCacheStatement implements \IteratorAggregate, ResultStatement { $data = $this->fetchAll(); - return new \ArrayIterator($data); + return new ArrayIterator($data); } /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { if ($this->data === null) { $this->data = []; @@ -179,7 +153,7 @@ class ResultCacheStatement implements \IteratorAggregate, ResultStatement return reset($row); } - throw new \InvalidArgumentException('Invalid fetch-style given for caching result.'); + throw new InvalidArgumentException('Invalid fetch-style given for caching result.'); } $this->emptied = true; @@ -192,12 +166,7 @@ class ResultCacheStatement implements \IteratorAggregate, ResultStatement */ public function fetchAll($fetchMode = null, $fetchArgument = null, $ctorArgs = null) { - $rows = []; - while ($row = $this->fetch($fetchMode)) { - $rows[] = $row; - } - - return $rows; + return $this->statement->fetchAll($fetchMode, $fetchArgument, $ctorArgs); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ColumnCase.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ColumnCase.php index 420d868f5..872d3ede8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ColumnCase.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ColumnCase.php @@ -2,6 +2,8 @@ namespace Doctrine\DBAL; +use PDO; + /** * Contains portable column case conversions. */ @@ -12,14 +14,14 @@ final class ColumnCase * * @see \PDO::CASE_UPPER */ - public const UPPER = \PDO::CASE_UPPER; + public const UPPER = PDO::CASE_UPPER; /** * Convert column names to lower case. * * @see \PDO::CASE_LOWER */ - public const LOWER = \PDO::CASE_LOWER; + public const LOWER = PDO::CASE_LOWER; /** * This class cannot be instantiated. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php index fe9465cdd..9b7b21fb2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Configuration.php @@ -1,34 +1,15 @@ . - */ namespace Doctrine\DBAL; -use Doctrine\DBAL\Logging\SQLLogger; use Doctrine\Common\Cache\Cache; +use Doctrine\DBAL\Logging\SQLLogger; +use Doctrine\DBAL\Schema\AbstractAsset; +use function preg_match; /** * Configuration container for the Doctrine DBAL. * - * @since 2.0 - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel * @internal When adding a new configuration option just write a getter/setter * pair and add the option to the _attributes array with a proper default value. */ @@ -38,18 +19,16 @@ class Configuration * The attributes that are contained in the configuration. * Values are default values. * - * @var array + * @var mixed[] */ protected $_attributes = []; /** * Sets the SQL logger to use. Defaults to NULL which means SQL logging is disabled. * - * @param \Doctrine\DBAL\Logging\SQLLogger|null $logger - * * @return void */ - public function setSQLLogger(SQLLogger $logger = null) + public function setSQLLogger(?SQLLogger $logger = null) { $this->_attributes['sqlLogger'] = $logger; } @@ -57,7 +36,7 @@ class Configuration /** * Gets the SQL logger that is used. * - * @return \Doctrine\DBAL\Logging\SQLLogger|null + * @return SQLLogger|null */ public function getSQLLogger() { @@ -67,7 +46,7 @@ class Configuration /** * Gets the cache driver implementation that is used for query result caching. * - * @return \Doctrine\Common\Cache\Cache|null + * @return Cache|null */ public function getResultCacheImpl() { @@ -77,8 +56,6 @@ class Configuration /** * Sets the cache driver implementation that is used for query result caching. * - * @param \Doctrine\Common\Cache\Cache $cacheImpl - * * @return void */ public function setResultCacheImpl(Cache $cacheImpl) @@ -93,6 +70,8 @@ class Configuration * schema instances generated for the active connection when calling * {AbstractSchemaManager#createSchema()}. * + * @deprecated Use Configuration::setSchemaAssetsFilter() instead + * * @param string $filterExpression * * @return void @@ -100,11 +79,18 @@ class Configuration public function setFilterSchemaAssetsExpression($filterExpression) { $this->_attributes['filterSchemaAssetsExpression'] = $filterExpression; + if ($filterExpression) { + $this->_attributes['filterSchemaAssetsExpressionCallable'] = $this->buildSchemaAssetsFilterFromExpression($filterExpression); + } else { + $this->_attributes['filterSchemaAssetsExpressionCallable'] = null; + } } /** * Returns filter schema assets expression. * + * @deprecated Use Configuration::getSchemaAssetsFilter() instead + * * @return string|null */ public function getFilterSchemaAssetsExpression() @@ -112,6 +98,36 @@ class Configuration return $this->_attributes['filterSchemaAssetsExpression'] ?? null; } + /** + * @param string $filterExpression + */ + private function buildSchemaAssetsFilterFromExpression($filterExpression) : callable + { + return static function ($assetName) use ($filterExpression) { + if ($assetName instanceof AbstractAsset) { + $assetName = $assetName->getName(); + } + return preg_match($filterExpression, $assetName); + }; + } + + /** + * Sets the callable to use to filter schema assets. + */ + public function setSchemaAssetsFilter(?callable $callable = null) : ?callable + { + $this->_attributes['filterSchemaAssetsExpression'] = null; + return $this->_attributes['filterSchemaAssetsExpressionCallable'] = $callable; + } + + /** + * Returns the callable to use to filter schema assets. + */ + public function getSchemaAssetsFilter() : ?callable + { + return $this->_attributes['filterSchemaAssetsExpressionCallable'] ?? null; + } + /** * Sets the default auto-commit mode for connections. * @@ -119,21 +135,21 @@ class Configuration * transactions. Otherwise, its SQL statements are grouped into transactions that are terminated by a call to either * the method commit or the method rollback. By default, new connections are in auto-commit mode. * - * @param bool $autoCommit True to enable auto-commit mode; false to disable it. - * * @see getAutoCommit + * + * @param bool $autoCommit True to enable auto-commit mode; false to disable it. */ public function setAutoCommit($autoCommit) { - $this->_attributes['autoCommit'] = (boolean) $autoCommit; + $this->_attributes['autoCommit'] = (bool) $autoCommit; } /** * Returns the default auto-commit mode for connections. * - * @return bool True if auto-commit mode is enabled by default for connections, false otherwise. - * * @see setAutoCommit + * + * @return bool True if auto-commit mode is enabled by default for connections, false otherwise. */ public function getAutoCommit() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php index c1cb8acf5..85761fcca 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php @@ -1,42 +1,29 @@ . - */ namespace Doctrine\DBAL; -use Doctrine\DBAL\Driver\ResultStatement; -use Doctrine\DBAL\Driver\ServerInfoAwareConnection; -use Doctrine\DBAL\Exception\InvalidArgumentException; use Closure; -use Exception; -use Doctrine\DBAL\Types\Type; -use Doctrine\DBAL\Driver\Connection as DriverConnection; -use Doctrine\DBAL\Driver\Statement as DriverStatement; use Doctrine\Common\EventManager; -use Doctrine\DBAL\Cache\ResultCacheStatement; -use Doctrine\DBAL\Cache\QueryCacheProfile; use Doctrine\DBAL\Cache\ArrayStatement; use Doctrine\DBAL\Cache\CacheException; +use Doctrine\DBAL\Cache\QueryCacheProfile; +use Doctrine\DBAL\Cache\ResultCacheStatement; +use Doctrine\DBAL\Driver\Connection as DriverConnection; use Doctrine\DBAL\Driver\PingableConnection; +use Doctrine\DBAL\Driver\ResultStatement; +use Doctrine\DBAL\Driver\ServerInfoAwareConnection; +use Doctrine\DBAL\Driver\Statement as DriverStatement; +use Doctrine\DBAL\Exception\InvalidArgumentException; +use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Query\Expression\ExpressionBuilder; +use Doctrine\DBAL\Query\QueryBuilder; +use Doctrine\DBAL\Schema\AbstractSchemaManager; +use Doctrine\DBAL\Types\Type; +use Exception; use Throwable; -use function assert; use function array_key_exists; use function array_merge; +use function assert; use function func_get_args; use function implode; use function is_int; @@ -47,15 +34,6 @@ use function key; * A wrapper around a Doctrine\DBAL\Driver\Connection that adds features like * events, transaction isolation levels, configuration, emulated transaction nesting, * lazy connecting and more. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Konsta Vesterinen - * @author Lukas Smith (MDB2 library) - * @author Benjamin Eberlei */ class Connection implements DriverConnection { @@ -89,24 +67,18 @@ class Connection implements DriverConnection /** * Represents an array of ints to be expanded by Doctrine SQL parsing. - * - * @var int */ public const PARAM_INT_ARRAY = ParameterType::INTEGER + self::ARRAY_PARAM_OFFSET; /** * Represents an array of strings to be expanded by Doctrine SQL parsing. - * - * @var int */ public const PARAM_STR_ARRAY = ParameterType::STRING + self::ARRAY_PARAM_OFFSET; /** * Offset by which PARAM_* constants are detected as arrays of the param type. - * - * @var int */ - const ARRAY_PARAM_OFFSET = 100; + public const ARRAY_PARAM_OFFSET = 100; /** * The wrapped driver connection. @@ -115,19 +87,13 @@ class Connection implements DriverConnection */ protected $_conn; - /** - * @var \Doctrine\DBAL\Configuration - */ + /** @var Configuration */ protected $_config; - /** - * @var \Doctrine\Common\EventManager - */ + /** @var EventManager */ protected $_eventManager; - /** - * @var \Doctrine\DBAL\Query\Expression\ExpressionBuilder - */ + /** @var ExpressionBuilder */ protected $_expr; /** @@ -135,7 +101,7 @@ class Connection implements DriverConnection * * @var bool */ - private $_isConnected = false; + private $isConnected = false; /** * The current auto-commit mode of this connection. @@ -149,48 +115,48 @@ class Connection implements DriverConnection * * @var int */ - private $_transactionNestingLevel = 0; + private $transactionNestingLevel = 0; /** * The currently active transaction isolation level. * * @var int */ - private $_transactionIsolationLevel; + private $transactionIsolationLevel; /** * If nested transactions should use savepoints. * * @var bool */ - private $_nestTransactionsWithSavepoints = false; + private $nestTransactionsWithSavepoints = false; /** * The parameters used during creation of the Connection instance. * - * @var array + * @var mixed[] */ - private $_params = []; + private $params = []; /** * The DatabasePlatform object that provides information about the * database platform used by the connection. * - * @var \Doctrine\DBAL\Platforms\AbstractPlatform + * @var AbstractPlatform */ private $platform; /** * The schema manager. * - * @var \Doctrine\DBAL\Schema\AbstractSchemaManager + * @var AbstractSchemaManager */ protected $_schemaManager; /** * The used DBAL driver. * - * @var \Doctrine\DBAL\Driver + * @var Driver */ protected $_driver; @@ -199,54 +165,55 @@ class Connection implements DriverConnection * * @var bool */ - private $_isRollbackOnly = false; + private $isRollbackOnly = false; - /** - * @var int - */ + /** @var int */ protected $defaultFetchMode = FetchMode::ASSOCIATIVE; /** * Initializes a new instance of the Connection class. * - * @param array $params The connection parameters. - * @param \Doctrine\DBAL\Driver $driver The driver to use. - * @param \Doctrine\DBAL\Configuration|null $config The configuration, optional. - * @param \Doctrine\Common\EventManager|null $eventManager The event manager, optional. + * @param mixed[] $params The connection parameters. + * @param Driver $driver The driver to use. + * @param Configuration|null $config The configuration, optional. + * @param EventManager|null $eventManager The event manager, optional. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ - public function __construct(array $params, Driver $driver, Configuration $config = null, - EventManager $eventManager = null) - { + public function __construct( + array $params, + Driver $driver, + ?Configuration $config = null, + ?EventManager $eventManager = null + ) { $this->_driver = $driver; - $this->_params = $params; + $this->params = $params; if (isset($params['pdo'])) { - $this->_conn = $params['pdo']; - $this->_isConnected = true; - unset($this->_params['pdo']); + $this->_conn = $params['pdo']; + $this->isConnected = true; + unset($this->params['pdo']); } - if (isset($params["platform"])) { - if ( ! $params['platform'] instanceof Platforms\AbstractPlatform) { + if (isset($params['platform'])) { + if (! $params['platform'] instanceof Platforms\AbstractPlatform) { throw DBALException::invalidPlatformType($params['platform']); } - $this->platform = $params["platform"]; - unset($this->_params["platform"]); + $this->platform = $params['platform']; + unset($this->params['platform']); } // Create default config and event manager if none given - if ( ! $config) { + if (! $config) { $config = new Configuration(); } - if ( ! $eventManager) { + if (! $eventManager) { $eventManager = new EventManager(); } - $this->_config = $config; + $this->_config = $config; $this->_eventManager = $eventManager; $this->_expr = new Query\Expression\ExpressionBuilder($this); @@ -257,11 +224,11 @@ class Connection implements DriverConnection /** * Gets the parameters used during instantiation. * - * @return array + * @return mixed[] */ public function getParams() { - return $this->_params; + return $this->params; } /** @@ -281,7 +248,7 @@ class Connection implements DriverConnection */ public function getHost() { - return $this->_params['host'] ?? null; + return $this->params['host'] ?? null; } /** @@ -291,7 +258,7 @@ class Connection implements DriverConnection */ public function getPort() { - return $this->_params['port'] ?? null; + return $this->params['port'] ?? null; } /** @@ -301,7 +268,7 @@ class Connection implements DriverConnection */ public function getUsername() { - return $this->_params['user'] ?? null; + return $this->params['user'] ?? null; } /** @@ -311,13 +278,13 @@ class Connection implements DriverConnection */ public function getPassword() { - return $this->_params['password'] ?? null; + return $this->params['password'] ?? null; } /** * Gets the DBAL driver instance. * - * @return \Doctrine\DBAL\Driver + * @return Driver */ public function getDriver() { @@ -327,7 +294,7 @@ class Connection implements DriverConnection /** * Gets the Configuration used by the Connection. * - * @return \Doctrine\DBAL\Configuration + * @return Configuration */ public function getConfiguration() { @@ -337,7 +304,7 @@ class Connection implements DriverConnection /** * Gets the EventManager used by the Connection. * - * @return \Doctrine\Common\EventManager + * @return EventManager */ public function getEventManager() { @@ -347,13 +314,13 @@ class Connection implements DriverConnection /** * Gets the DatabasePlatform for the connection. * - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function getDatabasePlatform() { - if (null === $this->platform) { + if ($this->platform === null) { $this->detectDatabasePlatform(); } @@ -363,7 +330,7 @@ class Connection implements DriverConnection /** * Gets the ExpressionBuilder for the connection. * - * @return \Doctrine\DBAL\Query\Expression\ExpressionBuilder + * @return ExpressionBuilder */ public function getExpressionBuilder() { @@ -378,18 +345,18 @@ class Connection implements DriverConnection */ public function connect() { - if ($this->_isConnected) { + if ($this->isConnected) { return false; } - $driverOptions = $this->_params['driverOptions'] ?? []; - $user = $this->_params['user'] ?? null; - $password = $this->_params['password'] ?? null; + $driverOptions = $this->params['driverOptions'] ?? []; + $user = $this->params['user'] ?? null; + $password = $this->params['password'] ?? null; - $this->_conn = $this->_driver->connect($this->_params, $user, $password, $driverOptions); - $this->_isConnected = true; + $this->_conn = $this->_driver->connect($this->params, $user, $password, $driverOptions); + $this->isConnected = true; - if (false === $this->autoCommit) { + if ($this->autoCommit === false) { $this->beginTransaction(); } @@ -406,7 +373,7 @@ class Connection implements DriverConnection * * Evaluates custom platform class and version in order to set the correct platform. * - * @throws DBALException if an invalid platform was specified for this connection. + * @throws DBALException If an invalid platform was specified for this connection. */ private function detectDatabasePlatform() { @@ -438,50 +405,49 @@ class Connection implements DriverConnection private function getDatabasePlatformVersion() { // Driver does not support version specific platforms. - if ( ! $this->_driver instanceof VersionAwarePlatformDriver) { + if (! $this->_driver instanceof VersionAwarePlatformDriver) { return null; } // Explicit platform version requested (supersedes auto-detection). - if (isset($this->_params['serverVersion'])) { - return $this->_params['serverVersion']; + if (isset($this->params['serverVersion'])) { + return $this->params['serverVersion']; } // If not connected, we need to connect now to determine the platform version. - if (null === $this->_conn) { + if ($this->_conn === null) { try { $this->connect(); - } catch (\Exception $originalException) { - if (empty($this->_params['dbname'])) { + } catch (Throwable $originalException) { + if (empty($this->params['dbname'])) { throw $originalException; } // The database to connect to might not yet exist. // Retry detection without database name connection parameter. - $databaseName = $this->_params['dbname']; - $this->_params['dbname'] = null; + $databaseName = $this->params['dbname']; + $this->params['dbname'] = null; try { $this->connect(); - } catch (\Exception $fallbackException) { + } catch (Throwable $fallbackException) { // Either the platform does not support database-less connections // or something else went wrong. // Reset connection parameters and rethrow the original exception. - $this->_params['dbname'] = $databaseName; + $this->params['dbname'] = $databaseName; throw $originalException; } // Reset connection parameters. - $this->_params['dbname'] = $databaseName; - $serverVersion = $this->getServerVersion(); + $this->params['dbname'] = $databaseName; + $serverVersion = $this->getServerVersion(); // Close "temporary" connection to allow connecting to the real database again. $this->close(); return $serverVersion; } - } return $this->getServerVersion(); @@ -508,13 +474,13 @@ class Connection implements DriverConnection /** * Returns the current auto-commit mode for this connection. * - * @return bool True if auto-commit mode is currently enabled for this connection, false otherwise. - * * @see setAutoCommit + * + * @return bool True if auto-commit mode is currently enabled for this connection, false otherwise. */ public function isAutoCommit() { - return true === $this->autoCommit; + return $this->autoCommit === true; } /** @@ -527,13 +493,13 @@ class Connection implements DriverConnection * NOTE: If this method is called during a transaction and the auto-commit mode is changed, the transaction is * committed. If this method is called and the auto-commit mode is not changed, the call is a no-op. * - * @param bool $autoCommit True to enable auto-commit mode; false to disable it. - * * @see isAutoCommit + * + * @param bool $autoCommit True to enable auto-commit mode; false to disable it. */ public function setAutoCommit($autoCommit) { - $autoCommit = (boolean) $autoCommit; + $autoCommit = (bool) $autoCommit; // Mode not changed, no-op. if ($autoCommit === $this->autoCommit) { @@ -543,9 +509,11 @@ class Connection implements DriverConnection $this->autoCommit = $autoCommit; // Commit all currently active transactions if any when switching auto-commit mode. - if (true === $this->_isConnected && 0 !== $this->_transactionNestingLevel) { - $this->commitAll(); + if ($this->isConnected !== true || $this->transactionNestingLevel === 0) { + return; } + + $this->commitAll(); } /** @@ -564,13 +532,13 @@ class Connection implements DriverConnection * Prepares and executes an SQL query and returns the first row of the result * as an associative array. * - * @param string $statement The SQL query. - * @param array $params The query parameters. - * @param array $types The query parameter types. + * @param string $statement The SQL query. + * @param mixed[] $params The query parameters. + * @param int[]|string[] $types The query parameter types. * - * @return array|bool False is returned if no rows are found. + * @return mixed[]|false False is returned if no rows are found. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function fetchAssoc($statement, array $params = [], array $types = []) { @@ -581,11 +549,11 @@ class Connection implements DriverConnection * Prepares and executes an SQL query and returns the first row of the result * as a numerically indexed array. * - * @param string $statement The SQL query to be executed. - * @param array $params The prepared statement params. - * @param array $types The query parameter types. + * @param string $statement The SQL query to be executed. + * @param mixed[] $params The prepared statement params. + * @param int[]|string[] $types The query parameter types. * - * @return array|bool False is returned if no rows are found. + * @return mixed[]|false False is returned if no rows are found. */ public function fetchArray($statement, array $params = [], array $types = []) { @@ -596,14 +564,14 @@ class Connection implements DriverConnection * Prepares and executes an SQL query and returns the value of a single column * of the first row of the result. * - * @param string $statement The SQL query to be executed. - * @param array $params The prepared statement params. - * @param int $column The 0-indexed column number to retrieve. - * @param array $types The query parameter types. + * @param string $statement The SQL query to be executed. + * @param mixed[] $params The prepared statement params. + * @param int $column The 0-indexed column number to retrieve. + * @param int[]|string[] $types The query parameter types. * - * @return mixed|bool False is returned if no rows are found. + * @return mixed|false False is returned if no rows are found. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function fetchColumn($statement, array $params = [], $column = 0, array $types = []) { @@ -617,7 +585,7 @@ class Connection implements DriverConnection */ public function isConnected() { - return $this->_isConnected; + return $this->isConnected; } /** @@ -627,13 +595,13 @@ class Connection implements DriverConnection */ public function isTransactionActive() { - return $this->_transactionNestingLevel > 0; + return $this->transactionNestingLevel > 0; } /** * Gathers conditions for an update or delete call. * - * @param array $identifiers Input array of columns to values + * @param mixed[] $identifiers Input array of columns to values * * @return string[][] a triplet with: * - the first key being the columns @@ -642,18 +610,18 @@ class Connection implements DriverConnection */ private function gatherConditions(array $identifiers) { - $columns = []; - $values = []; + $columns = []; + $values = []; $conditions = []; foreach ($identifiers as $columnName => $value) { - if (null === $value) { + if ($value === null) { $conditions[] = $this->getDatabasePlatform()->getIsNullExpression($columnName); continue; } - $columns[] = $columnName; - $values[] = $value; + $columns[] = $columnName; + $values[] = $value; $conditions[] = $columnName . ' = ?'; } @@ -665,13 +633,13 @@ class Connection implements DriverConnection * * Table expression and columns are not escaped and are not safe for user-input. * - * @param string $tableExpression The expression of the table on which to delete. - * @param array $identifier The deletion criteria. An associative array containing column-value pairs. - * @param array $types The types of identifiers. + * @param string $tableExpression The expression of the table on which to delete. + * @param mixed[] $identifier The deletion criteria. An associative array containing column-value pairs. + * @param int[]|string[] $types The types of identifiers. * * @return int The number of affected rows. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException * @throws InvalidArgumentException */ public function delete($tableExpression, array $identifier, array $types = []) @@ -680,7 +648,7 @@ class Connection implements DriverConnection throw InvalidArgumentException::fromEmptyCriteria(); } - list($columns, $values, $conditions) = $this->gatherConditions($identifier); + [$columns, $values, $conditions] = $this->gatherConditions($identifier); return $this->executeUpdate( 'DELETE FROM ' . $tableExpression . ' WHERE ' . implode(' AND ', $conditions), @@ -698,7 +666,7 @@ class Connection implements DriverConnection { $this->_conn = null; - $this->_isConnected = false; + $this->isConnected = false; } /** @@ -710,7 +678,7 @@ class Connection implements DriverConnection */ public function setTransactionIsolation($level) { - $this->_transactionIsolationLevel = $level; + $this->transactionIsolationLevel = $level; return $this->executeUpdate($this->getDatabasePlatform()->getSetTransactionIsolationSQL($level)); } @@ -722,11 +690,11 @@ class Connection implements DriverConnection */ public function getTransactionIsolation() { - if (null === $this->_transactionIsolationLevel) { - $this->_transactionIsolationLevel = $this->getDatabasePlatform()->getDefaultTransactionIsolationLevel(); + if ($this->transactionIsolationLevel === null) { + $this->transactionIsolationLevel = $this->getDatabasePlatform()->getDefaultTransactionIsolationLevel(); } - return $this->_transactionIsolationLevel; + return $this->transactionIsolationLevel; } /** @@ -734,36 +702,36 @@ class Connection implements DriverConnection * * Table expression and columns are not escaped and are not safe for user-input. * - * @param string $tableExpression The expression of the table to update quoted or unquoted. - * @param array $data An associative array containing column-value pairs. - * @param array $identifier The update criteria. An associative array containing column-value pairs. - * @param array $types Types of the merged $data and $identifier arrays in that order. + * @param string $tableExpression The expression of the table to update quoted or unquoted. + * @param mixed[] $data An associative array containing column-value pairs. + * @param mixed[] $identifier The update criteria. An associative array containing column-value pairs. + * @param int[]|string[] $types Types of the merged $data and $identifier arrays in that order. * * @return int The number of affected rows. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function update($tableExpression, array $data, array $identifier, array $types = []) { $setColumns = []; - $setValues = []; - $set = []; + $setValues = []; + $set = []; foreach ($data as $columnName => $value) { $setColumns[] = $columnName; - $setValues[] = $value; - $set[] = $columnName . ' = ?'; + $setValues[] = $value; + $set[] = $columnName . ' = ?'; } - list($conditionColumns, $conditionValues, $conditions) = $this->gatherConditions($identifier); - $columns = array_merge($setColumns, $conditionColumns); - $values = array_merge($setValues, $conditionValues); + [$conditionColumns, $conditionValues, $conditions] = $this->gatherConditions($identifier); + $columns = array_merge($setColumns, $conditionColumns); + $values = array_merge($setValues, $conditionValues); if (is_string(key($types))) { $types = $this->extractTypeValues($columns, $types); } - $sql = 'UPDATE ' . $tableExpression . ' SET ' . implode(', ', $set) + $sql = 'UPDATE ' . $tableExpression . ' SET ' . implode(', ', $set) . ' WHERE ' . implode(' AND ', $conditions); return $this->executeUpdate($sql, $values, $types); @@ -774,28 +742,28 @@ class Connection implements DriverConnection * * Table expression and columns are not escaped and are not safe for user-input. * - * @param string $tableExpression The expression of the table to insert data into, quoted or unquoted. - * @param array $data An associative array containing column-value pairs. - * @param array $types Types of the inserted data. + * @param string $tableExpression The expression of the table to insert data into, quoted or unquoted. + * @param mixed[] $data An associative array containing column-value pairs. + * @param int[]|string[] $types Types of the inserted data. * * @return int The number of affected rows. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function insert($tableExpression, array $data, array $types = []) { if (empty($data)) { - return $this->executeUpdate('INSERT INTO ' . $tableExpression . ' ()' . ' VALUES ()'); + return $this->executeUpdate('INSERT INTO ' . $tableExpression . ' () VALUES ()'); } $columns = []; - $values = []; - $set = []; + $values = []; + $set = []; foreach ($data as $columnName => $value) { $columns[] = $columnName; - $values[] = $value; - $set[] = '?'; + $values[] = $value; + $set[] = '?'; } return $this->executeUpdate( @@ -809,10 +777,10 @@ class Connection implements DriverConnection /** * Extract ordered type list from an ordered column list and type map. * - * @param array $columnList - * @param array $types + * @param string[] $columnList + * @param int[]|string[] $types * - * @return array + * @return int[]|string[] */ private function extractTypeValues(array $columnList, array $types) { @@ -856,7 +824,7 @@ class Connection implements DriverConnection { $this->connect(); - list($value, $bindingType) = $this->getBindingInfo($input, $type); + [$value, $bindingType] = $this->getBindingInfo($input, $type); return $this->_conn->quote($value, $bindingType); } @@ -864,11 +832,11 @@ class Connection implements DriverConnection /** * Prepares and executes an SQL query and returns the result as an associative array. * - * @param string $sql The SQL query. - * @param array $params The query parameters. - * @param array $types The query parameter types. + * @param string $sql The SQL query. + * @param mixed[] $params The query parameters. + * @param int[]|string[] $types The query parameter types. * - * @return array + * @return mixed[] */ public function fetchAll($sql, array $params = [], $types = []) { @@ -882,13 +850,13 @@ class Connection implements DriverConnection * * @return DriverStatement The prepared statement. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function prepare($statement) { try { $stmt = new Statement($statement, $this); - } catch (Exception $ex) { + } catch (Throwable $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $statement); } @@ -903,16 +871,16 @@ class Connection implements DriverConnection * If the query is parametrized, a prepared statement is used. * If an SQLLogger is configured, the execution is logged. * - * @param string $query The SQL query to execute. - * @param array $params The parameters to bind to the query, if any. - * @param array $types The types the previous parameters are in. - * @param \Doctrine\DBAL\Cache\QueryCacheProfile|null $qcp The query cache profile, optional. + * @param string $query The SQL query to execute. + * @param mixed[] $params The parameters to bind to the query, if any. + * @param int[]|string[] $types The types the previous parameters are in. + * @param QueryCacheProfile|null $qcp The query cache profile, optional. * * @return ResultStatement The executed statement. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ - public function executeQuery($query, array $params = [], $types = [], QueryCacheProfile $qcp = null) + public function executeQuery($query, array $params = [], $types = [], ?QueryCacheProfile $qcp = null) { if ($qcp !== null) { return $this->executeCacheQuery($query, $params, $types, $qcp); @@ -927,7 +895,7 @@ class Connection implements DriverConnection try { if ($params) { - list($query, $params, $types) = SQLParserUtils::expandListParameters($query, $params, $types); + [$query, $params, $types] = SQLParserUtils::expandListParameters($query, $params, $types); $stmt = $this->_conn->prepare($query); if ($types) { @@ -939,7 +907,7 @@ class Connection implements DriverConnection } else { $stmt = $this->_conn->query($query); } - } catch (Exception $ex) { + } catch (Throwable $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $query, $this->resolveParams($params, $types)); } @@ -955,26 +923,28 @@ class Connection implements DriverConnection /** * Executes a caching query. * - * @param string $query The SQL query to execute. - * @param array $params The parameters to bind to the query, if any. - * @param array $types The types the previous parameters are in. - * @param \Doctrine\DBAL\Cache\QueryCacheProfile $qcp The query cache profile. + * @param string $query The SQL query to execute. + * @param mixed[] $params The parameters to bind to the query, if any. + * @param int[]|string[] $types The types the previous parameters are in. + * @param QueryCacheProfile $qcp The query cache profile. * * @return ResultStatement * - * @throws \Doctrine\DBAL\Cache\CacheException + * @throws CacheException */ public function executeCacheQuery($query, $params, $types, QueryCacheProfile $qcp) { $resultCache = $qcp->getResultCacheDriver() ?: $this->_config->getResultCacheImpl(); - if ( ! $resultCache) { + if (! $resultCache) { throw CacheException::noResultDriverConfigured(); } - list($cacheKey, $realKey) = $qcp->generateCacheKeys($query, $params, $types, $this->getParams()); + [$cacheKey, $realKey] = $qcp->generateCacheKeys($query, $params, $types, $this->getParams()); // fetch the row pointers entry - if ($data = $resultCache->fetch($cacheKey)) { + $data = $resultCache->fetch($cacheKey); + + if ($data !== false) { // is the real key part of this row pointers map or is the cache only pointing to other cache keys? if (isset($data[$realKey])) { $stmt = new ArrayStatement($data[$realKey]); @@ -983,7 +953,7 @@ class Connection implements DriverConnection } } - if (!isset($stmt)) { + if (! isset($stmt)) { $stmt = new ResultCacheStatement($this->executeQuery($query, $params, $types), $resultCache, $cacheKey, $realKey, $qcp->getLifetime()); } @@ -996,18 +966,18 @@ class Connection implements DriverConnection * Executes an, optionally parametrized, SQL query and returns the result, * applying a given projection/transformation function on each row of the result. * - * @param string $query The SQL query to execute. - * @param array $params The parameters, if any. - * @param \Closure $function The transformation function that is applied on each row. + * @param string $query The SQL query to execute. + * @param mixed[] $params The parameters, if any. + * @param Closure $function The transformation function that is applied on each row. * The function receives a single parameter, an array, that * represents a row of the result set. * - * @return array The projected result of the query. + * @return mixed[] The projected result of the query. */ public function project($query, array $params, Closure $function) { $result = []; - $stmt = $this->executeQuery($query, $params); + $stmt = $this->executeQuery($query, $params); while ($row = $stmt->fetch()) { $result[] = $function($row); @@ -1023,7 +993,7 @@ class Connection implements DriverConnection * * @return \Doctrine\DBAL\Driver\Statement * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function query() { @@ -1038,7 +1008,7 @@ class Connection implements DriverConnection try { $statement = $this->_conn->query(...$args); - } catch (Exception $ex) { + } catch (Throwable $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $args[0]); } @@ -1057,13 +1027,13 @@ class Connection implements DriverConnection * * This method supports PDO binding types as well as DBAL mapping types. * - * @param string $query The SQL query. - * @param array $params The query parameters. - * @param array $types The parameter types. + * @param string $query The SQL query. + * @param mixed[] $params The query parameters. + * @param int[]|string[] $types The parameter types. * * @return int The number of affected rows. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function executeUpdate($query, array $params = [], array $types = []) { @@ -1076,7 +1046,7 @@ class Connection implements DriverConnection try { if ($params) { - list($query, $params, $types) = SQLParserUtils::expandListParameters($query, $params, $types); + [$query, $params, $types] = SQLParserUtils::expandListParameters($query, $params, $types); $stmt = $this->_conn->prepare($query); if ($types) { @@ -1089,7 +1059,7 @@ class Connection implements DriverConnection } else { $result = $this->_conn->exec($query); } - } catch (Exception $ex) { + } catch (Throwable $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $query, $this->resolveParams($params, $types)); } @@ -1107,7 +1077,7 @@ class Connection implements DriverConnection * * @return int The number of affected rows. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function exec($statement) { @@ -1120,7 +1090,7 @@ class Connection implements DriverConnection try { $result = $this->_conn->exec($statement); - } catch (Exception $ex) { + } catch (Throwable $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $statement); } @@ -1138,7 +1108,7 @@ class Connection implements DriverConnection */ public function getTransactionNestingLevel() { - return $this->_transactionNestingLevel; + return $this->transactionNestingLevel; } /** @@ -1154,9 +1124,7 @@ class Connection implements DriverConnection } /** - * Fetches extended error information associated with the last database operation. - * - * @return array The last error information. + * {@inheritDoc} */ public function errorInfo() { @@ -1192,7 +1160,7 @@ class Connection implements DriverConnection * If an exception occurs during execution of the function or transaction commit, * the transaction is rolled back and the exception re-thrown. * - * @param \Closure $func The function to execute transactionally. + * @param Closure $func The function to execute transactionally. * * @return mixed The value returned by $func * @@ -1222,19 +1190,19 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException + * @throws ConnectionException */ public function setNestTransactionsWithSavepoints($nestTransactionsWithSavepoints) { - if ($this->_transactionNestingLevel > 0) { + if ($this->transactionNestingLevel > 0) { throw ConnectionException::mayNotAlterNestedTransactionWithSavepointsInTransaction(); } - if ( ! $this->getDatabasePlatform()->supportsSavepoints()) { + if (! $this->getDatabasePlatform()->supportsSavepoints()) { throw ConnectionException::savepointsNotSupported(); } - $this->_nestTransactionsWithSavepoints = (bool) $nestTransactionsWithSavepoints; + $this->nestTransactionsWithSavepoints = (bool) $nestTransactionsWithSavepoints; } /** @@ -1244,7 +1212,7 @@ class Connection implements DriverConnection */ public function getNestTransactionsWithSavepoints() { - return $this->_nestTransactionsWithSavepoints; + return $this->nestTransactionsWithSavepoints; } /** @@ -1255,7 +1223,7 @@ class Connection implements DriverConnection */ protected function _getNestedTransactionSavePointName() { - return 'DOCTRINE2_SAVEPOINT_'.$this->_transactionNestingLevel; + return 'DOCTRINE2_SAVEPOINT_' . $this->transactionNestingLevel; } /** @@ -1267,11 +1235,11 @@ class Connection implements DriverConnection { $this->connect(); - ++$this->_transactionNestingLevel; + ++$this->transactionNestingLevel; $logger = $this->_config->getSQLLogger(); - if ($this->_transactionNestingLevel == 1) { + if ($this->transactionNestingLevel === 1) { if ($logger) { $logger->startQuery('"START TRANSACTION"'); } @@ -1279,7 +1247,7 @@ class Connection implements DriverConnection if ($logger) { $logger->stopQuery(); } - } elseif ($this->_nestTransactionsWithSavepoints) { + } elseif ($this->nestTransactionsWithSavepoints) { if ($logger) { $logger->startQuery('"SAVEPOINT"'); } @@ -1295,15 +1263,15 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException If the commit failed due to no active transaction or + * @throws ConnectionException If the commit failed due to no active transaction or * because the transaction was marked for rollback only. */ public function commit() { - if ($this->_transactionNestingLevel == 0) { + if ($this->transactionNestingLevel === 0) { throw ConnectionException::noActiveTransaction(); } - if ($this->_isRollbackOnly) { + if ($this->isRollbackOnly) { throw ConnectionException::commitFailedRollbackOnly(); } @@ -1311,7 +1279,7 @@ class Connection implements DriverConnection $logger = $this->_config->getSQLLogger(); - if ($this->_transactionNestingLevel == 1) { + if ($this->transactionNestingLevel === 1) { if ($logger) { $logger->startQuery('"COMMIT"'); } @@ -1319,7 +1287,7 @@ class Connection implements DriverConnection if ($logger) { $logger->stopQuery(); } - } elseif ($this->_nestTransactionsWithSavepoints) { + } elseif ($this->nestTransactionsWithSavepoints) { if ($logger) { $logger->startQuery('"RELEASE SAVEPOINT"'); } @@ -1329,11 +1297,13 @@ class Connection implements DriverConnection } } - --$this->_transactionNestingLevel; + --$this->transactionNestingLevel; - if (false === $this->autoCommit && 0 === $this->_transactionNestingLevel) { - $this->beginTransaction(); + if ($this->autoCommit !== false || $this->transactionNestingLevel !== 0) { + return; } + + $this->beginTransaction(); } /** @@ -1341,8 +1311,8 @@ class Connection implements DriverConnection */ private function commitAll() { - while (0 !== $this->_transactionNestingLevel) { - if (false === $this->autoCommit && 1 === $this->_transactionNestingLevel) { + while ($this->transactionNestingLevel !== 0) { + if ($this->autoCommit === false && $this->transactionNestingLevel === 1) { // When in no auto-commit mode, the last nesting commit immediately starts a new transaction. // Therefore we need to do the final commit here and then leave to avoid an infinite loop. $this->commit(); @@ -1357,11 +1327,11 @@ class Connection implements DriverConnection /** * Cancels any database changes done during the current transaction. * - * @throws \Doctrine\DBAL\ConnectionException If the rollback operation failed. + * @throws ConnectionException If the rollback operation failed. */ public function rollBack() { - if ($this->_transactionNestingLevel == 0) { + if ($this->transactionNestingLevel === 0) { throw ConnectionException::noActiveTransaction(); } @@ -1369,32 +1339,32 @@ class Connection implements DriverConnection $logger = $this->_config->getSQLLogger(); - if ($this->_transactionNestingLevel == 1) { + if ($this->transactionNestingLevel === 1) { if ($logger) { $logger->startQuery('"ROLLBACK"'); } - $this->_transactionNestingLevel = 0; + $this->transactionNestingLevel = 0; $this->_conn->rollBack(); - $this->_isRollbackOnly = false; + $this->isRollbackOnly = false; if ($logger) { $logger->stopQuery(); } - if (false === $this->autoCommit) { + if ($this->autoCommit === false) { $this->beginTransaction(); } - } elseif ($this->_nestTransactionsWithSavepoints) { + } elseif ($this->nestTransactionsWithSavepoints) { if ($logger) { $logger->startQuery('"ROLLBACK TO SAVEPOINT"'); } $this->rollbackSavepoint($this->_getNestedTransactionSavePointName()); - --$this->_transactionNestingLevel; + --$this->transactionNestingLevel; if ($logger) { $logger->stopQuery(); } } else { - $this->_isRollbackOnly = true; - --$this->_transactionNestingLevel; + $this->isRollbackOnly = true; + --$this->transactionNestingLevel; } } @@ -1405,11 +1375,11 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException + * @throws ConnectionException */ public function createSavepoint($savepoint) { - if ( ! $this->getDatabasePlatform()->supportsSavepoints()) { + if (! $this->getDatabasePlatform()->supportsSavepoints()) { throw ConnectionException::savepointsNotSupported(); } @@ -1423,17 +1393,19 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException + * @throws ConnectionException */ public function releaseSavepoint($savepoint) { - if ( ! $this->getDatabasePlatform()->supportsSavepoints()) { + if (! $this->getDatabasePlatform()->supportsSavepoints()) { throw ConnectionException::savepointsNotSupported(); } - if ($this->platform->supportsReleaseSavepoints()) { - $this->_conn->exec($this->platform->releaseSavePoint($savepoint)); + if (! $this->platform->supportsReleaseSavepoints()) { + return; } + + $this->_conn->exec($this->platform->releaseSavePoint($savepoint)); } /** @@ -1443,11 +1415,11 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException + * @throws ConnectionException */ public function rollbackSavepoint($savepoint) { - if ( ! $this->getDatabasePlatform()->supportsSavepoints()) { + if (! $this->getDatabasePlatform()->supportsSavepoints()) { throw ConnectionException::savepointsNotSupported(); } @@ -1470,11 +1442,11 @@ class Connection implements DriverConnection * Gets the SchemaManager that can be used to inspect or change the * database schema through the connection. * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager + * @return AbstractSchemaManager */ public function getSchemaManager() { - if ( ! $this->_schemaManager) { + if (! $this->_schemaManager) { $this->_schemaManager = $this->_driver->getSchemaManager($this); } @@ -1487,14 +1459,14 @@ class Connection implements DriverConnection * * @return void * - * @throws \Doctrine\DBAL\ConnectionException If no transaction is active. + * @throws ConnectionException If no transaction is active. */ public function setRollbackOnly() { - if ($this->_transactionNestingLevel == 0) { + if ($this->transactionNestingLevel === 0) { throw ConnectionException::noActiveTransaction(); } - $this->_isRollbackOnly = true; + $this->isRollbackOnly = true; } /** @@ -1502,15 +1474,15 @@ class Connection implements DriverConnection * * @return bool * - * @throws \Doctrine\DBAL\ConnectionException If no transaction is active. + * @throws ConnectionException If no transaction is active. */ public function isRollbackOnly() { - if ($this->_transactionNestingLevel == 0) { + if ($this->transactionNestingLevel === 0) { throw ConnectionException::noActiveTransaction(); } - return $this->_isRollbackOnly; + return $this->isRollbackOnly; } /** @@ -1545,14 +1517,14 @@ class Connection implements DriverConnection * Binds a set of parameters, some or all of which are typed with a PDO binding type * or DBAL mapping type, to a given statement. * - * @param \Doctrine\DBAL\Driver\Statement $stmt The statement to bind the values to. - * @param array $params The map/list of named/positional parameters. - * @param array $types The parameter types (PDO binding types or DBAL mapping types). - * - * @return void - * * @internal Duck-typing used on the $stmt parameter to support driver statements as well as * raw PDOStatement instances. + * + * @param \Doctrine\DBAL\Driver\Statement $stmt The statement to bind the values to. + * @param mixed[] $params The map/list of named/positional parameters. + * @param int[]|string[] $types The parameter types (PDO binding types or DBAL mapping types). + * + * @return void */ private function _bindTypedValues($stmt, array $params, array $types) { @@ -1560,12 +1532,12 @@ class Connection implements DriverConnection if (is_int(key($params))) { // Positional parameters $typeOffset = array_key_exists(0, $types) ? -1 : 0; - $bindIndex = 1; + $bindIndex = 1; foreach ($params as $value) { $typeIndex = $bindIndex + $typeOffset; if (isset($types[$typeIndex])) { - $type = $types[$typeIndex]; - list($value, $bindingType) = $this->getBindingInfo($value, $type); + $type = $types[$typeIndex]; + [$value, $bindingType] = $this->getBindingInfo($value, $type); $stmt->bindValue($bindIndex, $value, $bindingType); } else { $stmt->bindValue($bindIndex, $value); @@ -1576,8 +1548,8 @@ class Connection implements DriverConnection // Named parameters foreach ($params as $name => $value) { if (isset($types[$name])) { - $type = $types[$name]; - list($value, $bindingType) = $this->getBindingInfo($value, $type); + $type = $types[$name]; + [$value, $bindingType] = $this->getBindingInfo($value, $type); $stmt->bindValue($name, $value, $bindingType); } else { $stmt->bindValue($name, $value); @@ -1589,10 +1561,10 @@ class Connection implements DriverConnection /** * Gets the binding type of a given type. The given type can be a PDO or DBAL mapping type. * - * @param mixed $value The value to bind. - * @param mixed $type The type to bind (PDO or DBAL). + * @param mixed $value The value to bind. + * @param int|string $type The type to bind (PDO or DBAL). * - * @return array [0] => the (escaped) value, [1] => the binding type. + * @return mixed[] [0] => the (escaped) value, [1] => the binding type. */ private function getBindingInfo($value, $type) { @@ -1600,7 +1572,7 @@ class Connection implements DriverConnection $type = Type::getType($type); } if ($type instanceof Type) { - $value = $type->convertToDatabaseValue($value, $this->getDatabasePlatform()); + $value = $type->convertToDatabaseValue($value, $this->getDatabasePlatform()); $bindingType = $type->getBindingType(); } else { $bindingType = $type; @@ -1615,10 +1587,10 @@ class Connection implements DriverConnection * @internal This is a purely internal method. If you rely on this method, you are advised to * copy/paste the code as this method may change, or be removed without prior notice. * - * @param array $params - * @param array $types + * @param mixed[] $params + * @param int[]|string[] $types * - * @return array + * @return mixed[] */ public function resolveParams(array $params, array $types) { @@ -1628,12 +1600,12 @@ class Connection implements DriverConnection if (is_int(key($params))) { // Positional parameters $typeOffset = array_key_exists(0, $types) ? -1 : 0; - $bindIndex = 1; + $bindIndex = 1; foreach ($params as $value) { $typeIndex = $bindIndex + $typeOffset; if (isset($types[$typeIndex])) { - $type = $types[$typeIndex]; - list($value,) = $this->getBindingInfo($value, $type); + $type = $types[$typeIndex]; + [$value] = $this->getBindingInfo($value, $type); $resolvedParams[$bindIndex] = $value; } else { $resolvedParams[$bindIndex] = $value; @@ -1644,8 +1616,8 @@ class Connection implements DriverConnection // Named parameters foreach ($params as $name => $value) { if (isset($types[$name])) { - $type = $types[$name]; - list($value,) = $this->getBindingInfo($value, $type); + $type = $types[$name]; + [$value] = $this->getBindingInfo($value, $type); $resolvedParams[$name] = $value; } else { $resolvedParams[$name] = $value; @@ -1659,7 +1631,7 @@ class Connection implements DriverConnection /** * Creates a new instance of a SQL query builder. * - * @return \Doctrine\DBAL\Query\QueryBuilder + * @return QueryBuilder */ public function createQueryBuilder() { @@ -1673,6 +1645,8 @@ class Connection implements DriverConnection * It is responsibility of the developer to handle this case * and abort the request or reconnect manually: * + * @return bool + * * @example * * if ($conn->ping() === false) { @@ -1684,8 +1658,6 @@ class Connection implements DriverConnection * or disconnect when the connection is not available anymore * as long it returns TRUE when a reconnect succeeded and * FALSE when the connection was dropped. - * - * @return bool */ public function ping() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ConnectionException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ConnectionException.php index 86494b036..d3d11bc67 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ConnectionException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ConnectionException.php @@ -1,29 +1,7 @@ . - */ namespace Doctrine\DBAL; -/** - * @link www.doctrine-project.org - * @since 2.0 - * @author Jonathan H. Wage . - */ namespace Doctrine\DBAL\Connections; +use Doctrine\Common\EventManager; +use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Driver\Connection as DriverConnection; -use Doctrine\DBAL\Configuration; -use Doctrine\Common\EventManager; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; +use InvalidArgumentException; use function array_rand; use function count; use function func_get_args; @@ -80,9 +64,6 @@ use function func_get_args; * )); * * You can also pass 'driverOptions' and any other documented option to each of this drivers to pass additional information. - * - * @author Lars Strojny - * @author Benjamin Eberlei */ class MasterSlaveConnection extends Connection { @@ -104,20 +85,17 @@ class MasterSlaveConnection extends Connection /** * Creates Master Slave Connection. * - * @param array $params - * @param \Doctrine\DBAL\Driver $driver - * @param \Doctrine\DBAL\Configuration|null $config - * @param \Doctrine\Common\EventManager|null $eventManager + * @param mixed[] $params * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ - public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null) + public function __construct(array $params, Driver $driver, ?Configuration $config = null, ?EventManager $eventManager = null) { if (! isset($params['slaves'], $params['master'])) { - throw new \InvalidArgumentException('master or slaves configuration missing'); + throw new InvalidArgumentException('master or slaves configuration missing'); } - if (count($params['slaves']) == 0) { - throw new \InvalidArgumentException('You have to configure at least one slaves.'); + if (count($params['slaves']) === 0) { + throw new InvalidArgumentException('You have to configure at least one slaves.'); } $params['master']['driver'] = $params['driver']; @@ -149,13 +127,13 @@ class MasterSlaveConnection extends Connection $connectionName = $connectionName ?: 'slave'; if ($connectionName !== 'slave' && $connectionName !== 'master') { - throw new \InvalidArgumentException("Invalid option to connect(), only master or slave allowed."); + throw new InvalidArgumentException('Invalid option to connect(), only master or slave allowed.'); } // If we have a connection open, and this is not an explicit connection // change request, then abort right here, because we are already done. // This prevents writes to the slave in case of "keepSlave" option enabled. - if (isset($this->_conn) && $this->_conn && !$requestedConnectionChange) { + if (isset($this->_conn) && $this->_conn && ! $requestedConnectionChange) { return false; } @@ -180,7 +158,7 @@ class MasterSlaveConnection extends Connection $this->connections['master'] = $this->_conn = $this->connectTo($connectionName); // Set slave connection to master to avoid invalid reads - if ( ! $this->keepSlave) { + if (! $this->keepSlave) { $this->connections['slave'] = $this->connections['master']; } } else { @@ -210,15 +188,15 @@ class MasterSlaveConnection extends Connection $connectionParams = $this->chooseConnectionConfiguration($connectionName, $params); - $user = $connectionParams['user'] ?? null; + $user = $connectionParams['user'] ?? null; $password = $connectionParams['password'] ?? null; return $this->_driver->connect($connectionParams, $user, $password, $driverOptions); } /** - * @param string $connectionName - * @param array $params + * @param string $connectionName + * @param mixed[] $params * * @return mixed */ @@ -230,7 +208,7 @@ class MasterSlaveConnection extends Connection $config = $params['slaves'][array_rand($params['slaves'])]; - if ( ! isset($config['charset']) && isset($params['master']['charset'])) { + if (! isset($config['charset']) && isset($params['master']['charset'])) { $config['charset'] = $params['master']['charset']; } @@ -296,7 +274,7 @@ class MasterSlaveConnection extends Connection parent::close(); - $this->_conn = null; + $this->_conn = null; $this->connections = ['master' => null, 'slave' => null]; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php index 67265d954..15bac7f0f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php @@ -1,38 +1,26 @@ . - */ namespace Doctrine\DBAL; -use Doctrine\DBAL\Exception; -use Doctrine\DBAL\Driver; +use Doctrine\DBAL\Driver\DriverException as DriverExceptionInterface; use Doctrine\DBAL\Driver\ExceptionConverterDriver; +use Doctrine\DBAL\Exception\DriverException; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Exception; +use Throwable; use function array_map; use function bin2hex; +use function get_class; +use function gettype; use function implode; +use function is_object; use function is_resource; use function is_string; use function json_encode; use function sprintf; use function str_split; -class DBALException extends \Exception +class DBALException extends Exception { /** * @param string $method @@ -41,14 +29,14 @@ class DBALException extends \Exception */ public static function notSupported($method) { - return new self("Operation '$method' is not supported by platform."); + return new self(sprintf("Operation '%s' is not supported by platform.", $method)); } public static function invalidPlatformSpecified() : self { return new self( - "Invalid 'platform' option specified, need to give an instance of ". - "\Doctrine\DBAL\Platforms\AbstractPlatform."); + "Invalid 'platform' option specified, need to give an instance of " . AbstractPlatform::class . '.' + ); } /** @@ -56,12 +44,12 @@ class DBALException extends \Exception */ public static function invalidPlatformType($invalidPlatform) : self { - if (\is_object($invalidPlatform)) { + if (is_object($invalidPlatform)) { return new self( sprintf( "Option 'platform' must be a subtype of '%s', instance of '%s' given", AbstractPlatform::class, - \get_class($invalidPlatform) + get_class($invalidPlatform) ) ); } @@ -70,7 +58,7 @@ class DBALException extends \Exception sprintf( "Option 'platform' must be an object and subtype of '%s'. Got '%s'", AbstractPlatform::class, - \gettype($invalidPlatform) + gettype($invalidPlatform) ) ); } @@ -101,8 +89,8 @@ class DBALException extends \Exception public static function invalidPdoInstance() { return new self( - "The 'pdo' option was used in DriverManager::getConnection() but no ". - "instance of PDO was given." + "The 'pdo' option was used in DriverManager::getConnection() but no " . + 'instance of PDO was given.' ); } @@ -117,70 +105,67 @@ class DBALException extends \Exception return new self( sprintf( "The options 'driver' or 'driverClass' are mandatory if a connection URL without scheme " . - "is given to DriverManager::getConnection(). Given URL: %s", + 'is given to DriverManager::getConnection(). Given URL: %s', $url ) ); } - return new self("The options 'driver' or 'driverClass' are mandatory if no PDO ". - "instance is given to DriverManager::getConnection()."); + return new self("The options 'driver' or 'driverClass' are mandatory if no PDO " . + 'instance is given to DriverManager::getConnection().'); } /** - * @param string $unknownDriverName - * @param array $knownDrivers + * @param string $unknownDriverName + * @param string[] $knownDrivers * * @return \Doctrine\DBAL\DBALException */ public static function unknownDriver($unknownDriverName, array $knownDrivers) { - return new self("The given 'driver' ".$unknownDriverName." is unknown, ". - "Doctrine currently supports only the following drivers: ".implode(", ", $knownDrivers)); + return new self("The given 'driver' " . $unknownDriverName . ' is unknown, ' . + 'Doctrine currently supports only the following drivers: ' . implode(', ', $knownDrivers)); } /** - * @param \Doctrine\DBAL\Driver $driver - * @param \Exception $driverEx - * @param string $sql - * @param array $params + * @param Exception $driverEx + * @param string $sql + * @param mixed[] $params * * @return \Doctrine\DBAL\DBALException */ - public static function driverExceptionDuringQuery(Driver $driver, \Exception $driverEx, $sql, array $params = []) + public static function driverExceptionDuringQuery(Driver $driver, Throwable $driverEx, $sql, array $params = []) { - $msg = "An exception occurred while executing '".$sql."'"; + $msg = "An exception occurred while executing '" . $sql . "'"; if ($params) { - $msg .= " with params " . self::formatParameters($params); + $msg .= ' with params ' . self::formatParameters($params); } - $msg .= ":\n\n".$driverEx->getMessage(); + $msg .= ":\n\n" . $driverEx->getMessage(); return static::wrapException($driver, $driverEx, $msg); } /** - * @param \Doctrine\DBAL\Driver $driver - * @param \Exception $driverEx + * @param Exception $driverEx * * @return \Doctrine\DBAL\DBALException */ - public static function driverException(Driver $driver, \Exception $driverEx) + public static function driverException(Driver $driver, Throwable $driverEx) { - return static::wrapException($driver, $driverEx, "An exception occurred in driver: " . $driverEx->getMessage()); + return static::wrapException($driver, $driverEx, 'An exception occurred in driver: ' . $driverEx->getMessage()); } /** - * @param \Doctrine\DBAL\Driver $driver - * @param \Exception $driverEx + * @param Exception $driverEx * * @return \Doctrine\DBAL\DBALException */ - private static function wrapException(Driver $driver, \Exception $driverEx, $msg) + private static function wrapException(Driver $driver, Throwable $driverEx, $msg) { - if ($driverEx instanceof Exception\DriverException) { + if ($driverEx instanceof DriverException) { return $driverEx; } - if ($driver instanceof ExceptionConverterDriver && $driverEx instanceof Driver\DriverException) { + if ($driver instanceof ExceptionConverterDriver && $driverEx instanceof DriverExceptionInterface) { return $driver->convertException($msg, $driverEx); } @@ -191,20 +176,20 @@ class DBALException extends \Exception * Returns a human-readable representation of an array of parameters. * This properly handles binary data by returning a hex representation. * - * @param array $params + * @param mixed[] $params * * @return string */ private static function formatParameters(array $params) { - return '[' . implode(', ', array_map(function ($param) { + return '[' . implode(', ', array_map(static function ($param) { if (is_resource($param)) { return (string) $param; } - + $json = @json_encode($param); - if (! is_string($json) || $json == 'null' && is_string($param)) { + if (! is_string($json) || $json === 'null' && is_string($param)) { // JSON encoding failed, this is not a UTF-8 string. return '"\x' . implode('\x', str_split(bin2hex($param), 2)) . '"'; } @@ -220,8 +205,8 @@ class DBALException extends \Exception */ public static function invalidWrapperClass($wrapperClass) { - return new self("The given 'wrapperClass' ".$wrapperClass." has to be a ". - "subtype of \Doctrine\DBAL\Connection."); + return new self("The given 'wrapperClass' " . $wrapperClass . ' has to be a ' . + 'subtype of \Doctrine\DBAL\Connection.'); } /** @@ -231,8 +216,7 @@ class DBALException extends \Exception */ public static function invalidDriverClass($driverClass) { - return new self("The given 'driverClass' ".$driverClass." has to implement the ". - "\Doctrine\DBAL\Driver interface."); + return new self("The given 'driverClass' " . $driverClass . ' has to implement the ' . Driver::class . ' interface.'); } /** @@ -242,7 +226,7 @@ class DBALException extends \Exception */ public static function invalidTableName($tableName) { - return new self("Invalid table name specified: ".$tableName); + return new self('Invalid table name specified: ' . $tableName); } /** @@ -252,7 +236,7 @@ class DBALException extends \Exception */ public static function noColumnsSpecifiedForTable($tableName) { - return new self("No columns specified for table ".$tableName); + return new self('No columns specified for table ' . $tableName); } /** @@ -260,7 +244,7 @@ class DBALException extends \Exception */ public static function limitOffsetInvalid() { - return new self("Invalid Offset in Limit Query, it has to be larger than or equal to 0."); + return new self('Invalid Offset in Limit Query, it has to be larger than or equal to 0.'); } /** @@ -270,7 +254,7 @@ class DBALException extends \Exception */ public static function typeExists($name) { - return new self('Type '.$name.' already exists.'); + return new self('Type ' . $name . ' already exists.'); } /** @@ -280,14 +264,13 @@ class DBALException extends \Exception */ public static function unknownColumnType($name) { - return new self('Unknown column type "'.$name.'" requested. Any Doctrine type that you use has ' . + return new self('Unknown column type "' . $name . '" requested. Any Doctrine type that you use has ' . 'to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the ' . 'known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this error occurs during database ' . 'introspection then you might have forgotten to register all database types for a Doctrine Type. Use ' . 'AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement ' . 'Type#getMappedDatabaseTypes(). If the type name is empty you might ' . - 'have a problem with the cache or forgot some mapping information.' - ); + 'have a problem with the cache or forgot some mapping information.'); } /** @@ -297,6 +280,6 @@ class DBALException extends \Exception */ public static function typeNotFound($name) { - return new self('Type to be overwritten '.$name.' does not exist.'); + return new self('Type to be overwritten ' . $name . ' does not exist.'); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php index 300a27dec..dcb03b294 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver.php @@ -1,39 +1,23 @@ . - */ namespace Doctrine\DBAL; +use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Schema\AbstractSchemaManager; + /** * Driver interface. * Interface that all DBAL drivers must implement. - * - * @since 2.0 */ interface Driver { /** * Attempts to create a connection with the database. * - * @param array $params All connection parameters passed by the user. + * @param mixed[] $params All connection parameters passed by the user. * @param string|null $username The username to use when connecting. * @param string|null $password The password to use when connecting. - * @param array $driverOptions The driver options to use when connecting. + * @param mixed[] $driverOptions The driver options to use when connecting. * * @return \Doctrine\DBAL\Driver\Connection The database connection. */ @@ -43,7 +27,7 @@ interface Driver * Gets the DatabasePlatform instance that provides all the metadata about * the platform this driver connects to. * - * @return \Doctrine\DBAL\Platforms\AbstractPlatform The database platform. + * @return AbstractPlatform The database platform. */ public function getDatabasePlatform(); @@ -51,9 +35,7 @@ interface Driver * Gets the SchemaManager that can be used to inspect and change the underlying * database schema of the platform this driver connects to. * - * @param \Doctrine\DBAL\Connection $conn - * - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager + * @return AbstractSchemaManager */ public function getSchemaManager(Connection $conn); @@ -67,8 +49,6 @@ interface Driver /** * Gets the name of the database connected to for this driver. * - * @param \Doctrine\DBAL\Connection $conn - * * @return string The name of the database. */ public function getDatabase(Connection $conn); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDB2Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDB2Driver.php index baa081690..c6e056534 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDB2Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDB2Driver.php @@ -1,41 +1,21 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Platforms\DB2Platform; use Doctrine\DBAL\Schema\DB2SchemaManager; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for IBM DB2 based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractDB2Driver implements Driver { /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -53,7 +33,7 @@ abstract class AbstractDB2Driver implements Driver /** * {@inheritdoc} */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new DB2SchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDriverException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDriverException.php index 83c38d71d..d9af92d17 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDriverException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractDriverException.php @@ -1,32 +1,13 @@ . - */ namespace Doctrine\DBAL\Driver; +use Exception; + /** * Abstract base implementation of the {@link DriverException} interface. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ -abstract class AbstractDriverException extends \Exception implements DriverException +abstract class AbstractDriverException extends Exception implements DriverException { /** * The driver specific error code. @@ -43,8 +24,6 @@ abstract class AbstractDriverException extends \Exception implements DriverExcep private $sqlState; /** - * Constructor. - * * @param string $message The driver error message. * @param string|null $sqlState The SQLSTATE the driver is in at the time the error occurred, if any. * @param int|string|null $errorCode The driver specific error code if any. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php index bf6e11f5f..c46ddc63d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Exception; @@ -34,10 +18,6 @@ use function version_compare; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for MySQL based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, VersionAwarePlatformDriver { @@ -133,7 +113,7 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, */ public function createDatabasePlatformForVersion($version) { - $mariadb = false !== stripos($version, 'mariadb'); + $mariadb = stripos($version, 'mariadb') !== false; if ($mariadb && version_compare($this->getMariaDbMysqlVersionNumber($version), '10.2.7', '>=')) { return new MariaDb1027Platform(); } @@ -156,11 +136,12 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, * returned by Oracle MySQL servers. * * @param string $versionString Version string returned by the driver, i.e. '5.7.10' + * * @throws DBALException */ private function getOracleMysqlVersionNumber(string $versionString) : string { - if ( ! preg_match( + if (! preg_match( '/^(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+))?)?/', $versionString, $versionParts @@ -174,7 +155,7 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, $minorVersion = $versionParts['minor'] ?? 0; $patchVersion = $versionParts['patch'] ?? null; - if ('5' === $majorVersion && '7' === $minorVersion && null === $patchVersion) { + if ($majorVersion === '5' && $minorVersion === '7' && $patchVersion === null) { $patchVersion = '9'; } @@ -186,11 +167,12 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, * that starts with the prefix '5.5.5-' * * @param string $versionString Version string as returned by mariadb server, i.e. '5.5.5-Mariadb-10.0.8-xenial' + * * @throws DBALException */ private function getMariaDbMysqlVersionNumber(string $versionString) : string { - if ( ! preg_match( + if (! preg_match( '/^(?:5\.5\.5-)?(mariadb-)?(?P\d+)\.(?P\d+)\.(?P\d+)/i', $versionString, $versionParts @@ -207,7 +189,7 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -216,6 +198,7 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, /** * {@inheritdoc} + * * @return MySqlPlatform */ public function getDatabasePlatform() @@ -225,9 +208,10 @@ abstract class AbstractMySQLDriver implements Driver, ExceptionConverterDriver, /** * {@inheritdoc} + * * @return MySqlSchemaManager */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new MySqlSchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver.php index 26cfcd150..dcbaaf097 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver.php @@ -1,35 +1,16 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; +use Doctrine\DBAL\Driver\AbstractOracleDriver\EasyConnectString; use Doctrine\DBAL\Exception; use Doctrine\DBAL\Platforms\OraclePlatform; use Doctrine\DBAL\Schema\OracleSchemaManager; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for Oracle based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractOracleDriver implements Driver, ExceptionConverterDriver { @@ -79,7 +60,7 @@ abstract class AbstractOracleDriver implements Driver, ExceptionConverterDriver /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -97,7 +78,7 @@ abstract class AbstractOracleDriver implements Driver, ExceptionConverterDriver /** * {@inheritdoc} */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new OracleSchemaManager($conn); } @@ -105,51 +86,12 @@ abstract class AbstractOracleDriver implements Driver, ExceptionConverterDriver /** * Returns an appropriate Easy Connect String for the given parameters. * - * @param array $params The connection parameters to return the Easy Connect STring for. + * @param mixed[] $params The connection parameters to return the Easy Connect String for. * * @return string - * - * @link https://docs.oracle.com/database/121/NETAG/naming.htm */ protected function getEasyConnectString(array $params) { - if ( ! empty($params['connectstring'])) { - return $params['connectstring']; - } - - if ( ! empty($params['host'])) { - if ( ! isset($params['port'])) { - $params['port'] = 1521; - } - - $serviceName = $params['dbname']; - - if ( ! empty($params['servicename'])) { - $serviceName = $params['servicename']; - } - - $service = 'SID=' . $serviceName; - $pooled = ''; - $instance = ''; - - if (isset($params['service']) && $params['service'] == true) { - $service = 'SERVICE_NAME=' . $serviceName; - } - - if (isset($params['instancename']) && ! empty($params['instancename'])) { - $instance = '(INSTANCE_NAME = ' . $params['instancename'] . ')'; - } - - if (isset($params['pooled']) && $params['pooled'] == true) { - $pooled = '(SERVER=POOLED)'; - } - - return '(DESCRIPTION=' . - '(ADDRESS=(PROTOCOL=TCP)(HOST=' . $params['host'] . ')(PORT=' . $params['port'] . '))' . - '(CONNECT_DATA=(' . $service . ')' . $instance . $pooled . '))'; - - } - - return $params['dbname'] ?? ''; + return (string) EasyConnectString::fromConnectionParameters($params); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver/EasyConnectString.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver/EasyConnectString.php new file mode 100644 index 000000000..01f648b3b --- /dev/null +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractOracleDriver/EasyConnectString.php @@ -0,0 +1,121 @@ +string = $string; + } + + public function __toString() : string + { + return $this->string; + } + + /** + * Creates the object from an array representation + * + * @param mixed[] $params + */ + public static function fromArray(array $params) : self + { + return new self(self::renderParams($params)); + } + + /** + * Creates the object from the given DBAL connection parameters. + * + * @param mixed[] $params + */ + public static function fromConnectionParameters(array $params) : self + { + if (! empty($params['connectstring'])) { + return new self($params['connectstring']); + } + + if (empty($params['host'])) { + return new self($params['dbname'] ?? ''); + } + + $connectData = []; + + if (isset($params['servicename']) || isset($params['dbname'])) { + $serviceKey = 'SID'; + + if (! empty($params['service'])) { + $serviceKey = 'SERVICE_NAME'; + } + + $serviceName = $params['servicename'] ?? $params['dbname']; + + $connectData[$serviceKey] = $serviceName; + } + + if (! empty($params['instancename'])) { + $connectData['INSTANCE_NAME'] = $params['instancename']; + } + + if (! empty($params['pooled'])) { + $connectData['SERVER'] = 'POOLED'; + } + + return self::fromArray([ + 'DESCRIPTION' => [ + 'ADDRESS' => [ + 'PROTOCOL' => 'TCP', + 'HOST' => $params['host'], + 'PORT' => $params['port'] ?? 1521, + ], + 'CONNECT_DATA' => $connectData, + ], + ]); + } + + /** + * @param mixed[] $params + */ + private static function renderParams(array $params) : string + { + $chunks = []; + + foreach ($params as $key => $value) { + $string = self::renderValue($value); + + if ($string === '') { + continue; + } + + $chunks[] = sprintf('(%s=%s)', $key, $string); + } + + return implode('', $chunks); + } + + /** + * @param mixed $value + */ + private static function renderValue($value) : string + { + if (is_array($value)) { + return self::renderParams($value); + } + + return (string) $value; + } +} diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php index ea7aa7167..916d92498 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractPostgreSQLDriver.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Exception; @@ -35,10 +19,6 @@ use function version_compare; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for PostgreSQL based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractPostgreSQLDriver implements Driver, ExceptionConverterDriver, VersionAwarePlatformDriver { @@ -104,7 +84,7 @@ abstract class AbstractPostgreSQLDriver implements Driver, ExceptionConverterDri */ public function createDatabasePlatformForVersion($version) { - if ( ! preg_match('/^(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+))?)?/', $version, $versionParts)) { + if (! preg_match('/^(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+))?)?/', $version, $versionParts)) { throw DBALException::invalidPlatformVersionSpecified( $version, '..' @@ -116,7 +96,7 @@ abstract class AbstractPostgreSQLDriver implements Driver, ExceptionConverterDri $patchVersion = $versionParts['patch'] ?? 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion; - switch(true) { + switch (true) { case version_compare($version, '10.0', '>='): return new PostgreSQL100Platform(); case version_compare($version, '9.4', '>='): @@ -133,7 +113,7 @@ abstract class AbstractPostgreSQLDriver implements Driver, ExceptionConverterDri /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -151,7 +131,7 @@ abstract class AbstractPostgreSQLDriver implements Driver, ExceptionConverterDri /** * {@inheritdoc} */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new PostgreSqlSchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLAnywhereDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLAnywhereDriver.php index ca966511d..88f26ce7d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLAnywhereDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLAnywhereDriver.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Exception; @@ -33,10 +17,6 @@ use function version_compare; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for SAP Sybase SQL Anywhere based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractSQLAnywhereDriver implements Driver, ExceptionConverterDriver, VersionAwarePlatformDriver { @@ -90,7 +70,7 @@ abstract class AbstractSQLAnywhereDriver implements Driver, ExceptionConverterDr */ public function createDatabasePlatformForVersion($version) { - if ( ! preg_match( + if (! preg_match( '/^(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+))?)?)?/', $version, $versionParts @@ -107,7 +87,7 @@ abstract class AbstractSQLAnywhereDriver implements Driver, ExceptionConverterDr $buildVersion = $versionParts['build'] ?? 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion . '.' . $buildVersion; - switch(true) { + switch (true) { case version_compare($version, '16', '>='): return new SQLAnywhere16Platform(); case version_compare($version, '12', '>='): @@ -122,7 +102,7 @@ abstract class AbstractSQLAnywhereDriver implements Driver, ExceptionConverterDr /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -140,7 +120,7 @@ abstract class AbstractSQLAnywhereDriver implements Driver, ExceptionConverterDr /** * {@inheritdoc} */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new SQLAnywhereSchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLServerDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLServerDriver.php index fb9c989bd..421d82b39 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLServerDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLServerDriver.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Platforms\SQLServer2005Platform; @@ -32,10 +16,6 @@ use function version_compare; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for Microsoft SQL Server based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractSQLServerDriver implements Driver, VersionAwarePlatformDriver { @@ -44,7 +24,7 @@ abstract class AbstractSQLServerDriver implements Driver, VersionAwarePlatformDr */ public function createDatabasePlatformForVersion($version) { - if ( ! preg_match( + if (! preg_match( '/^(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+)(?:\.(?P\d+))?)?)?/', $version, $versionParts @@ -61,7 +41,7 @@ abstract class AbstractSQLServerDriver implements Driver, VersionAwarePlatformDr $buildVersion = $versionParts['build'] ?? 0; $version = $majorVersion . '.' . $minorVersion . '.' . $patchVersion . '.' . $buildVersion; - switch(true) { + switch (true) { case version_compare($version, '11.00.2100', '>='): return new SQLServer2012Platform(); case version_compare($version, '10.00.1600', '>='): @@ -76,7 +56,7 @@ abstract class AbstractSQLServerDriver implements Driver, VersionAwarePlatformDr /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -94,8 +74,7 @@ abstract class AbstractSQLServerDriver implements Driver, VersionAwarePlatformDr /** * {@inheritdoc} */ - - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new SQLServerSchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php index 406cb92ef..582f7cae2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractSQLiteDriver.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Driver; +use Doctrine\DBAL\Connection; use Doctrine\DBAL\Driver; use Doctrine\DBAL\Exception; use Doctrine\DBAL\Platforms\SqlitePlatform; @@ -27,10 +11,6 @@ use function strpos; /** * Abstract base implementation of the {@link Doctrine\DBAL\Driver} interface for SQLite based drivers. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ abstract class AbstractSQLiteDriver implements Driver, ExceptionConverterDriver { @@ -93,7 +73,7 @@ abstract class AbstractSQLiteDriver implements Driver, ExceptionConverterDriver /** * {@inheritdoc} */ - public function getDatabase(\Doctrine\DBAL\Connection $conn) + public function getDatabase(Connection $conn) { $params = $conn->getParams(); @@ -111,7 +91,7 @@ abstract class AbstractSQLiteDriver implements Driver, ExceptionConverterDriver /** * {@inheritdoc} */ - public function getSchemaManager(\Doctrine\DBAL\Connection $conn) + public function getSchemaManager(Connection $conn) { return new SqliteSchemaManager($conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php index a0dd1e66a..1574581c2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Connection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver; @@ -26,8 +9,6 @@ use Doctrine\DBAL\ParameterType; * Driver connections must implement this interface. * * This resembles (a subset of) the PDO interface. - * - * @since 2.0 */ interface Connection { @@ -43,7 +24,7 @@ interface Connection /** * Executes an SQL statement, returning a result set as a Statement object. * - * @return \Doctrine\DBAL\Driver\Statement + * @return Statement */ public function query(); @@ -106,7 +87,7 @@ interface Connection /** * Returns extended error information associated with the last operation on the database handle. * - * @return array + * @return mixed[] */ public function errorInfo(); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php index ce1d1e381..79480ac72 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php @@ -1,35 +1,16 @@ . - */ namespace Doctrine\DBAL\Driver; +use Throwable; + /** * Contract for a driver exception. * * Driver exceptions provide the SQLSTATE of the driver * and the driver specific error code at the time the error occurred. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ -interface DriverException extends \Throwable +interface DriverException extends Throwable { /** * Returns the driver specific error code if available. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Connection.php index bfc61acf9..4089ab26e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Connection.php @@ -1,30 +1,11 @@ . - */ namespace Doctrine\DBAL\Driver\DrizzlePDOMySql; +use Doctrine\DBAL\Driver\PDOConnection; use Doctrine\DBAL\ParameterType; -/** - * @author Kim Hemsø Rasmussen - */ -class Connection extends \Doctrine\DBAL\Driver\PDOConnection +class Connection extends PDOConnection { /** * {@inheritdoc} diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Driver.php index 547fdb795..851f0ee23 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DrizzlePDOMySql/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\DrizzlePDOMySql; @@ -24,8 +7,6 @@ use Doctrine\DBAL\Schema\DrizzleSchemaManager; /** * Drizzle driver using PDO MySql. - * - * @author Kim Hemsø Rasmussen */ class Driver extends \Doctrine\DBAL\Driver\PDOMySql\Driver { @@ -34,14 +15,12 @@ class Driver extends \Doctrine\DBAL\Driver\PDOMySql\Driver */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []) { - $conn = new Connection( + return new Connection( $this->constructPdoDsn($params), $username, $password, $driverOptions ); - - return $conn; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php index 0bd8d516e..9b79e240c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ExceptionConverterDriver.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver; /** * Contract for a driver that is capable of converting DBAL driver exceptions into standardized DBAL driver exceptions. - * - * @author Benjamin Eberlei - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ interface ExceptionConverterDriver { @@ -35,8 +13,8 @@ interface ExceptionConverterDriver * It evaluates the vendor specific error code and SQLSTATE and transforms * it into a unified {@link Doctrine\DBAL\Exception\DriverException} subclass. * - * @param string $message The DBAL exception message to use. - * @param \Doctrine\DBAL\Driver\DriverException $exception The DBAL driver exception to convert. + * @param string $message The DBAL exception message to use. + * @param DriverException $exception The DBAL driver exception to convert. * * @return \Doctrine\DBAL\Exception\DriverException An instance of one of the DriverException subclasses. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Connection.php index beae3ba0d..bd80e6e49 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Connection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\IBMDB2; @@ -43,29 +26,27 @@ use function func_get_args; class DB2Connection implements Connection, ServerInfoAwareConnection { - /** - * @var resource - */ - private $_conn = null; + /** @var resource */ + private $conn = null; /** - * @param array $params - * @param string $username - * @param string $password - * @param array $driverOptions + * @param mixed[] $params + * @param string $username + * @param string $password + * @param mixed[] $driverOptions * - * @throws \Doctrine\DBAL\Driver\IBMDB2\DB2Exception + * @throws DB2Exception */ public function __construct(array $params, $username, $password, $driverOptions = []) { - $isPersistent = (isset($params['persistent']) && $params['persistent'] == true); + $isPersistent = (isset($params['persistent']) && $params['persistent'] === true); if ($isPersistent) { - $this->_conn = db2_pconnect($params['dbname'], $username, $password, $driverOptions); + $this->conn = db2_pconnect($params['dbname'], $username, $password, $driverOptions); } else { - $this->_conn = db2_connect($params['dbname'], $username, $password, $driverOptions); + $this->conn = db2_connect($params['dbname'], $username, $password, $driverOptions); } - if ( ! $this->_conn) { + if (! $this->conn) { throw new DB2Exception(db2_conn_errormsg()); } } @@ -76,7 +57,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection public function getServerVersion() { /** @var stdClass $serverInfo */ - $serverInfo = db2_server_info($this->_conn); + $serverInfo = db2_server_info($this->conn); return $serverInfo->DBMS_VER; } @@ -94,8 +75,8 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function prepare($sql) { - $stmt = @db2_prepare($this->_conn, $sql); - if ( ! $stmt) { + $stmt = @db2_prepare($this->conn, $sql); + if (! $stmt) { throw new DB2Exception(db2_stmt_errormsg()); } @@ -108,7 +89,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection public function query() { $args = func_get_args(); - $sql = $args[0]; + $sql = $args[0]; $stmt = $this->prepare($sql); $stmt->execute(); @@ -126,7 +107,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection return $input; } - return "'".$input."'"; + return "'" . $input . "'"; } /** @@ -134,9 +115,9 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function exec($statement) { - $stmt = @db2_exec($this->_conn, $statement); + $stmt = @db2_exec($this->conn, $statement); - if (false === $stmt) { + if ($stmt === false) { throw new DB2Exception(db2_stmt_errormsg()); } @@ -148,7 +129,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function lastInsertId($name = null) { - return db2_last_insert_id($this->_conn); + return db2_last_insert_id($this->conn); } /** @@ -156,7 +137,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function beginTransaction() { - db2_autocommit($this->_conn, DB2_AUTOCOMMIT_OFF); + db2_autocommit($this->conn, DB2_AUTOCOMMIT_OFF); } /** @@ -164,10 +145,10 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function commit() { - if (!db2_commit($this->_conn)) { - throw new DB2Exception(db2_conn_errormsg($this->_conn)); + if (! db2_commit($this->conn)) { + throw new DB2Exception(db2_conn_errormsg($this->conn)); } - db2_autocommit($this->_conn, DB2_AUTOCOMMIT_ON); + db2_autocommit($this->conn, DB2_AUTOCOMMIT_ON); } /** @@ -175,10 +156,10 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function rollBack() { - if (!db2_rollback($this->_conn)) { - throw new DB2Exception(db2_conn_errormsg($this->_conn)); + if (! db2_rollback($this->conn)) { + throw new DB2Exception(db2_conn_errormsg($this->conn)); } - db2_autocommit($this->_conn, DB2_AUTOCOMMIT_ON); + db2_autocommit($this->conn, DB2_AUTOCOMMIT_ON); } /** @@ -186,7 +167,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection */ public function errorCode() { - return db2_conn_error($this->_conn); + return db2_conn_error($this->conn); } /** @@ -195,7 +176,7 @@ class DB2Connection implements Connection, ServerInfoAwareConnection public function errorInfo() { return [ - 0 => db2_conn_errormsg($this->_conn), + 0 => db2_conn_errormsg($this->conn), 1 => $this->errorCode(), ]; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Driver.php index de5921edd..712cbe419 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\IBMDB2; @@ -23,9 +6,6 @@ use Doctrine\DBAL\Driver\AbstractDB2Driver; /** * IBM DB2 Driver. - * - * @since 2.0 - * @author Benjamin Eberlei */ class DB2Driver extends AbstractDB2Driver { @@ -34,18 +14,18 @@ class DB2Driver extends AbstractDB2Driver */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []) { - if ( ! isset($params['protocol'])) { + if (! isset($params['protocol'])) { $params['protocol'] = 'TCPIP'; } - if ($params['host'] !== 'localhost' && $params['host'] != '127.0.0.1') { + if ($params['host'] !== 'localhost' && $params['host'] !== '127.0.0.1') { // if the host isn't localhost, use extended connection params $params['dbname'] = 'DRIVER={IBM DB2 ODBC DRIVER}' . ';DATABASE=' . $params['dbname'] . ';HOSTNAME=' . $params['host'] . ';PROTOCOL=' . $params['protocol'] . - ';UID=' . $username . - ';PWD=' . $password .';'; + ';UID=' . $username . + ';PWD=' . $password . ';'; if (isset($params['port'])) { $params['dbname'] .= 'PORT=' . $params['port']; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Exception.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Exception.php index 72775cbfe..b01c4552a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Exception.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Exception.php @@ -1,24 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver\IBMDB2; -class DB2Exception extends \Exception +use Exception; + +class DB2Exception extends Exception { } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Statement.php index 6693d090e..9c87d4631 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/IBMDB2/DB2Statement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\IBMDB2; @@ -23,11 +6,19 @@ use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Driver\StatementIterator; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; +use IteratorAggregate; +use PDO; +use ReflectionClass; +use ReflectionObject; +use ReflectionProperty; +use stdClass; +use const CASE_LOWER; +use const DB2_BINARY; use const DB2_CHAR; use const DB2_LONG; +use const DB2_PARAM_FILE; use const DB2_PARAM_IN; use function array_change_key_case; -use function call_user_func_array; use function db2_bind_param; use function db2_execute; use function db2_fetch_array; @@ -39,41 +30,46 @@ use function db2_num_fields; use function db2_num_rows; use function db2_stmt_error; use function db2_stmt_errormsg; +use function error_get_last; +use function fclose; use function func_get_args; use function func_num_args; +use function fwrite; use function gettype; use function is_object; +use function is_resource; use function is_string; use function ksort; use function sprintf; +use function stream_copy_to_stream; +use function stream_get_meta_data; use function strtolower; +use function tmpfile; -class DB2Statement implements \IteratorAggregate, Statement +class DB2Statement implements IteratorAggregate, Statement { - /** - * @var resource - */ - private $_stmt; + /** @var resource */ + private $stmt; + + /** @var mixed[] */ + private $bindParam = []; /** - * @var array + * Map of LOB parameter positions to the tuples containing reference to the variable bound to the driver statement + * and the temporary file handle bound to the underlying statement + * + * @var mixed[][] */ - private $_bindParam = []; + private $lobs = []; - /** - * @var string Name of the default class to instantiate when fetching class instances. - */ + /** @var string Name of the default class to instantiate when fetching class instances. */ private $defaultFetchClass = '\stdClass'; - /** - * @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances. - */ + /** @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances. */ private $defaultFetchClassCtorArgs = []; - /** - * @var int - */ - private $_defaultFetchMode = FetchMode::MIXED; + /** @var int */ + private $defaultFetchMode = FetchMode::MIXED; /** * Indicates whether the statement is in the state when fetching results is possible @@ -82,22 +78,12 @@ class DB2Statement implements \IteratorAggregate, Statement */ private $result = false; - /** - * DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG - * - * @var array - */ - static private $_typeMap = [ - ParameterType::INTEGER => DB2_LONG, - ParameterType::STRING => DB2_CHAR, - ]; - /** * @param resource $stmt */ public function __construct($stmt) { - $this->_stmt = $stmt; + $this->stmt = $stmt; } /** @@ -113,33 +99,60 @@ class DB2Statement implements \IteratorAggregate, Statement */ public function bindParam($column, &$variable, $type = ParameterType::STRING, $length = null) { - $this->_bindParam[$column] =& $variable; + switch ($type) { + case ParameterType::INTEGER: + $this->bind($column, $variable, DB2_PARAM_IN, DB2_LONG); + break; - if ($type && isset(self::$_typeMap[$type])) { - $type = self::$_typeMap[$type]; - } else { - $type = DB2_CHAR; - } + case ParameterType::LARGE_OBJECT: + if (isset($this->lobs[$column])) { + [, $handle] = $this->lobs[$column]; + fclose($handle); + } - if (!db2_bind_param($this->_stmt, $column, "variable", DB2_PARAM_IN, $type)) { - throw new DB2Exception(db2_stmt_errormsg()); + $handle = $this->createTemporaryFile(); + $path = stream_get_meta_data($handle)['uri']; + + $this->bind($column, $path, DB2_PARAM_FILE, DB2_BINARY); + + $this->lobs[$column] = [&$variable, $handle]; + break; + + default: + $this->bind($column, $variable, DB2_PARAM_IN, DB2_CHAR); + break; } return true; } + /** + * @param int|string $parameter Parameter position or name + * @param mixed $variable + * + * @throws DB2Exception + */ + private function bind($parameter, &$variable, int $parameterType, int $dataType) : void + { + $this->bindParam[$parameter] =& $variable; + + if (! db2_bind_param($this->stmt, $parameter, 'variable', $parameterType, $dataType)) { + throw new DB2Exception(db2_stmt_errormsg()); + } + } + /** * {@inheritdoc} */ public function closeCursor() { - if ( ! $this->_stmt) { + if (! $this->stmt) { return false; } - $this->_bindParam = []; + $this->bindParam = []; - if (!db2_free_result($this->_stmt)) { + if (! db2_free_result($this->stmt)) { return false; } @@ -153,11 +166,11 @@ class DB2Statement implements \IteratorAggregate, Statement */ public function columnCount() { - if ( ! $this->_stmt) { + if (! $this->stmt) { return false; } - return db2_num_fields($this->_stmt); + return db2_num_fields($this->stmt); } /** @@ -184,21 +197,37 @@ class DB2Statement implements \IteratorAggregate, Statement */ public function execute($params = null) { - if ( ! $this->_stmt) { + if (! $this->stmt) { return false; } if ($params === null) { - ksort($this->_bindParam); + ksort($this->bindParam); $params = []; - foreach ($this->_bindParam as $column => $value) { + foreach ($this->bindParam as $column => $value) { $params[] = $value; } } - $retval = db2_execute($this->_stmt, $params); + foreach ($this->lobs as [$source, $target]) { + if (is_resource($source)) { + $this->copyStreamToStream($source, $target); + + continue; + } + + $this->writeStringToStream($source, $target); + } + + $retval = db2_execute($this->stmt, $params); + + foreach ($this->lobs as [, $handle]) { + fclose($handle); + } + + $this->lobs = []; if ($retval === false) { throw new DB2Exception(db2_stmt_errormsg()); @@ -214,7 +243,7 @@ class DB2Statement implements \IteratorAggregate, Statement */ public function setFetchMode($fetchMode, $arg2 = null, $arg3 = null) { - $this->_defaultFetchMode = $fetchMode; + $this->defaultFetchMode = $fetchMode; $this->defaultFetchClass = $arg2 ?: $this->defaultFetchClass; $this->defaultFetchClassCtorArgs = $arg3 ? (array) $arg3 : $this->defaultFetchClassCtorArgs; @@ -232,24 +261,24 @@ class DB2Statement implements \IteratorAggregate, Statement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return false; } - $fetchMode = $fetchMode ?: $this->_defaultFetchMode; + $fetchMode = $fetchMode ?: $this->defaultFetchMode; switch ($fetchMode) { case FetchMode::COLUMN: return $this->fetchColumn(); case FetchMode::MIXED: - return db2_fetch_both($this->_stmt); + return db2_fetch_both($this->stmt); case FetchMode::ASSOCIATIVE: - return db2_fetch_assoc($this->_stmt); + return db2_fetch_assoc($this->stmt); case FetchMode::CUSTOM_OBJECT: $className = $this->defaultFetchClass; @@ -261,19 +290,19 @@ class DB2Statement implements \IteratorAggregate, Statement $ctorArgs = $args[2] ?? []; } - $result = db2_fetch_object($this->_stmt); + $result = db2_fetch_object($this->stmt); - if ($result instanceof \stdClass) { + if ($result instanceof stdClass) { $result = $this->castObject($result, $className, $ctorArgs); } return $result; case FetchMode::NUMERIC: - return db2_fetch_array($this->_stmt); + return db2_fetch_array($this->stmt); case FetchMode::STANDARD_OBJECT: - return db2_fetch_object($this->_stmt); + return db2_fetch_object($this->stmt); default: throw new DB2Exception('Given Fetch-Style ' . $fetchMode . ' is not supported.'); @@ -314,7 +343,7 @@ class DB2Statement implements \IteratorAggregate, Statement { $row = $this->fetch(FetchMode::NUMERIC); - if (false === $row) { + if ($row === false) { return false; } @@ -326,37 +355,38 @@ class DB2Statement implements \IteratorAggregate, Statement */ public function rowCount() { - return (@db2_num_rows($this->_stmt)) ? : 0; + return @db2_num_rows($this->stmt) ? : 0; } /** * Casts a stdClass object to the given class name mapping its' properties. * - * @param \stdClass $sourceObject Object to cast from. + * @param stdClass $sourceObject Object to cast from. * @param string|object $destinationClass Name of the class or class instance to cast to. - * @param array $ctorArgs Arguments to use for constructing the destination class instance. + * @param mixed[] $ctorArgs Arguments to use for constructing the destination class instance. * * @return object * * @throws DB2Exception */ - private function castObject(\stdClass $sourceObject, $destinationClass, array $ctorArgs = []) + private function castObject(stdClass $sourceObject, $destinationClass, array $ctorArgs = []) { - if ( ! is_string($destinationClass)) { - if ( ! is_object($destinationClass)) { + if (! is_string($destinationClass)) { + if (! is_object($destinationClass)) { throw new DB2Exception(sprintf( - 'Destination class has to be of type string or object, %s given.', gettype($destinationClass) + 'Destination class has to be of type string or object, %s given.', + gettype($destinationClass) )); } } else { - $destinationClass = new \ReflectionClass($destinationClass); + $destinationClass = new ReflectionClass($destinationClass); $destinationClass = $destinationClass->newInstanceArgs($ctorArgs); } - $sourceReflection = new \ReflectionObject($sourceObject); - $destinationClassReflection = new \ReflectionObject($destinationClass); - /** @var \ReflectionProperty[] $destinationProperties */ - $destinationProperties = array_change_key_case($destinationClassReflection->getProperties(), \CASE_LOWER); + $sourceReflection = new ReflectionObject($sourceObject); + $destinationClassReflection = new ReflectionObject($destinationClass); + /** @var ReflectionProperty[] $destinationProperties */ + $destinationProperties = array_change_key_case($destinationClassReflection->getProperties(), CASE_LOWER); foreach ($sourceReflection->getProperties() as $sourceProperty) { $sourceProperty->setAccessible(true); @@ -392,4 +422,45 @@ class DB2Statement implements \IteratorAggregate, Statement return $destinationClass; } + + /** + * @return resource + * + * @throws DB2Exception + */ + private function createTemporaryFile() + { + $handle = @tmpfile(); + + if ($handle === false) { + throw new DB2Exception('Could not create temporary file: ' . error_get_last()['message']); + } + + return $handle; + } + + /** + * @param resource $source + * @param resource $target + * + * @throws DB2Exception + */ + private function copyStreamToStream($source, $target) : void + { + if (@stream_copy_to_stream($source, $target) === false) { + throw new DB2Exception('Could not copy source stream to temporary file: ' . error_get_last()['message']); + } + } + + /** + * @param resource $target + * + * @throws DB2Exception + */ + private function writeStringToStream(string $string, $target) : void + { + if (@fwrite($target, $string) === false) { + throw new DB2Exception('Could not write string to temporary file: ' . error_get_last()['message']); + } + } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/Driver.php index d04e194d1..aaf4f2bd9 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/Driver.php @@ -1,30 +1,10 @@ . - */ namespace Doctrine\DBAL\Driver\Mysqli; -use Doctrine\DBAL\Driver\AbstractMySQLDriver; use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Driver\AbstractMySQLDriver; -/** - * @author Kim Hemsø Rasmussen - */ class Driver extends AbstractMySQLDriver { /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php index 3a1b18d57..1f1a1d218 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\Mysqli; @@ -23,6 +6,13 @@ use Doctrine\DBAL\Driver\Connection; use Doctrine\DBAL\Driver\PingableConnection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\ParameterType; +use mysqli; +use const MYSQLI_INIT_COMMAND; +use const MYSQLI_OPT_CONNECT_TIMEOUT; +use const MYSQLI_OPT_LOCAL_INFILE; +use const MYSQLI_READ_DEFAULT_FILE; +use const MYSQLI_READ_DEFAULT_GROUP; +use const MYSQLI_SERVER_PUBLIC_KEY; use function defined; use function floor; use function func_get_args; @@ -37,36 +27,30 @@ use function set_error_handler; use function sprintf; use function stripos; -/** - * @author Kim Hemsø Rasmussen - * @author Till Klampaeckel - */ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwareConnection { /** * Name of the option to set connection flags */ - const OPTION_FLAGS = 'flags'; + public const OPTION_FLAGS = 'flags'; + + /** @var mysqli */ + private $conn; /** - * @var \mysqli - */ - private $_conn; - - /** - * @param array $params - * @param string $username - * @param string $password - * @param array $driverOptions + * @param mixed[] $params + * @param string $username + * @param string $password + * @param mixed[] $driverOptions * - * @throws \Doctrine\DBAL\Driver\Mysqli\MysqliException + * @throws MysqliException */ public function __construct(array $params, $username, $password, array $driverOptions = []) { $port = $params['port'] ?? ini_get('mysqli.default_port'); // Fallback to default MySQL port if not given. - if ( ! $port) { + if (! $port) { $port = 3306; } @@ -75,23 +59,26 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar $flags = $driverOptions[static::OPTION_FLAGS] ?? null; - $this->_conn = mysqli_init(); + $this->conn = mysqli_init(); $this->setSecureConnection($params); $this->setDriverOptions($driverOptions); - set_error_handler(function () {}); + set_error_handler(static function () { + }); try { - if ( ! $this->_conn->real_connect($params['host'], $username, $password, $dbname, $port, $socket, $flags)) { - throw new MysqliException($this->_conn->connect_error, $this->_conn->sqlstate ?? 'HY000', $this->_conn->connect_errno); + if (! $this->conn->real_connect($params['host'], $username, $password, $dbname, $port, $socket, $flags)) { + throw new MysqliException($this->conn->connect_error, $this->conn->sqlstate ?? 'HY000', $this->conn->connect_errno); } } finally { restore_error_handler(); } - if (isset($params['charset'])) { - $this->_conn->set_charset($params['charset']); + if (! isset($params['charset'])) { + return; } + + $this->conn->set_charset($params['charset']); } /** @@ -99,11 +86,11 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar * * Could be used if part of your application is not using DBAL. * - * @return \mysqli + * @return mysqli */ public function getWrappedResourceHandle() { - return $this->_conn; + return $this->conn; } /** @@ -111,18 +98,19 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar * * The server version detection includes a special case for MariaDB * to support '5.5.5-' prefixed versions introduced in Maria 10+ + * * @link https://jira.mariadb.org/browse/MDEV-4088 */ public function getServerVersion() { - $serverInfos = $this->_conn->get_server_info(); - if (false !== stripos($serverInfos, 'mariadb')) { + $serverInfos = $this->conn->get_server_info(); + if (stripos($serverInfos, 'mariadb') !== false) { return $serverInfos; } - $majorVersion = floor($this->_conn->server_version / 10000); - $minorVersion = floor(($this->_conn->server_version - $majorVersion * 10000) / 100); - $patchVersion = floor($this->_conn->server_version - $majorVersion * 10000 - $minorVersion * 100); + $majorVersion = floor($this->conn->server_version / 10000); + $minorVersion = floor(($this->conn->server_version - $majorVersion * 10000) / 100); + $patchVersion = floor($this->conn->server_version - $majorVersion * 10000 - $minorVersion * 100); return $majorVersion . '.' . $minorVersion . '.' . $patchVersion; } @@ -140,7 +128,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function prepare($prepareString) { - return new MysqliStatement($this->_conn, $prepareString); + return new MysqliStatement($this->conn, $prepareString); } /** @@ -149,7 +137,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar public function query() { $args = func_get_args(); - $sql = $args[0]; + $sql = $args[0]; $stmt = $this->prepare($sql); $stmt->execute(); @@ -161,7 +149,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function quote($input, $type = ParameterType::STRING) { - return "'". $this->_conn->escape_string($input) ."'"; + return "'" . $this->conn->escape_string($input) . "'"; } /** @@ -169,11 +157,11 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function exec($statement) { - if (false === $this->_conn->query($statement)) { - throw new MysqliException($this->_conn->error, $this->_conn->sqlstate, $this->_conn->errno); + if ($this->conn->query($statement) === false) { + throw new MysqliException($this->conn->error, $this->conn->sqlstate, $this->conn->errno); } - return $this->_conn->affected_rows; + return $this->conn->affected_rows; } /** @@ -181,7 +169,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function lastInsertId($name = null) { - return $this->_conn->insert_id; + return $this->conn->insert_id; } /** @@ -189,7 +177,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function beginTransaction() { - $this->_conn->query('START TRANSACTION'); + $this->conn->query('START TRANSACTION'); return true; } @@ -199,7 +187,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function commit() { - return $this->_conn->commit(); + return $this->conn->commit(); } /** @@ -207,7 +195,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function rollBack() { - return $this->_conn->rollback(); + return $this->conn->rollback(); } /** @@ -215,7 +203,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function errorCode() { - return $this->_conn->errno; + return $this->conn->errno; } /** @@ -223,13 +211,13 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function errorInfo() { - return $this->_conn->error; + return $this->conn->error; } /** * Apply the driver options to the connection. * - * @param array $driverOptions + * @param mixed[] $driverOptions * * @throws MysqliException When one of of the options is not supported. * @throws MysqliException When applying doesn't work - e.g. due to incorrect value. @@ -237,42 +225,41 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar private function setDriverOptions(array $driverOptions = []) { $supportedDriverOptions = [ - \MYSQLI_OPT_CONNECT_TIMEOUT, - \MYSQLI_OPT_LOCAL_INFILE, - \MYSQLI_INIT_COMMAND, - \MYSQLI_READ_DEFAULT_FILE, - \MYSQLI_READ_DEFAULT_GROUP, + MYSQLI_OPT_CONNECT_TIMEOUT, + MYSQLI_OPT_LOCAL_INFILE, + MYSQLI_INIT_COMMAND, + MYSQLI_READ_DEFAULT_FILE, + MYSQLI_READ_DEFAULT_GROUP, ]; if (defined('MYSQLI_SERVER_PUBLIC_KEY')) { - $supportedDriverOptions[] = \MYSQLI_SERVER_PUBLIC_KEY; + $supportedDriverOptions[] = MYSQLI_SERVER_PUBLIC_KEY; } $exceptionMsg = "%s option '%s' with value '%s'"; foreach ($driverOptions as $option => $value) { - if ($option === static::OPTION_FLAGS) { continue; } - if (!in_array($option, $supportedDriverOptions, true)) { + if (! in_array($option, $supportedDriverOptions, true)) { throw new MysqliException( sprintf($exceptionMsg, 'Unsupported', $option, $value) ); } - if (@mysqli_options($this->_conn, $option, $value)) { + if (@mysqli_options($this->conn, $option, $value)) { continue; } $msg = sprintf($exceptionMsg, 'Failed to set', $option, $value); - $msg .= sprintf(', error: %s (%d)', mysqli_error($this->_conn), mysqli_errno($this->_conn)); + $msg .= sprintf(', error: %s (%d)', mysqli_error($this->conn), mysqli_errno($this->conn)); throw new MysqliException( $msg, - $this->_conn->sqlstate, - $this->_conn->errno + $this->conn->sqlstate, + $this->conn->errno ); } } @@ -284,13 +271,14 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar */ public function ping() { - return $this->_conn->ping(); + return $this->conn->ping(); } /** * Establish a secure connection * - * @param array $params + * @param mixed[] $params + * * @throws MysqliException */ private function setSecureConnection(array $params) @@ -304,7 +292,7 @@ class MysqliConnection implements Connection, PingableConnection, ServerInfoAwar return; } - $this->_conn->ssl_set( + $this->conn->ssl_set( $params['ssl_key'] ?? null, $params['ssl_cert'] ?? null, $params['ssl_ca'] ?? null, diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliException.php index 23728b113..1fa0c900f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliException.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\Mysqli; @@ -23,9 +6,6 @@ use Doctrine\DBAL\Driver\AbstractDriverException; /** * Exception thrown in case the mysqli driver errors. - * - * @author Kim Hemsø Rasmussen - * @author Steve Müller */ class MysqliException extends AbstractDriverException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php index 6941894e0..2bbe0ca8b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php @@ -1,93 +1,65 @@ . - */ namespace Doctrine\DBAL\Driver\Mysqli; use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Driver\StatementIterator; +use Doctrine\DBAL\Exception\InvalidArgumentException; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; +use IteratorAggregate; +use mysqli; +use mysqli_stmt; +use PDO; +use stdClass; use function array_combine; use function array_fill; -use function call_user_func_array; use function count; +use function feof; +use function fread; +use function get_resource_type; +use function is_resource; +use function sprintf; use function str_repeat; -/** - * @author Kim Hemsø Rasmussen - */ -class MysqliStatement implements \IteratorAggregate, Statement +class MysqliStatement implements IteratorAggregate, Statement { - /** - * @var array - */ + /** @var string[] */ protected static $_paramTypeMap = [ ParameterType::STRING => 's', ParameterType::BINARY => 's', ParameterType::BOOLEAN => 'i', ParameterType::NULL => 's', ParameterType::INTEGER => 'i', - - // TODO Support LOB bigger then max package size - ParameterType::LARGE_OBJECT => 's', + ParameterType::LARGE_OBJECT => 'b', ]; - /** - * @var \mysqli - */ + /** @var mysqli */ protected $_conn; - /** - * @var \mysqli_stmt - */ + /** @var mysqli_stmt */ protected $_stmt; - /** - * @var null|boolean|array - */ + /** @var string[]|bool|null */ protected $_columnNames; - /** - * @var null|array - */ + /** @var mixed[]|null */ protected $_rowBindedValues; - /** - * @var array - */ + /** @var mixed[] */ protected $_bindedValues; - /** - * @var string - */ + /** @var string */ protected $types; /** * Contains ref values for bindValue(). * - * @var array + * @var mixed[] */ protected $_values = []; - /** - * @var int - */ + /** @var int */ protected $_defaultFetchMode = FetchMode::MIXED; /** @@ -98,24 +70,25 @@ class MysqliStatement implements \IteratorAggregate, Statement private $result = false; /** - * @param \mysqli $conn - * @param string $prepareString + * @param string $prepareString * - * @throws \Doctrine\DBAL\Driver\Mysqli\MysqliException + * @throws MysqliException */ - public function __construct(\mysqli $conn, $prepareString) + public function __construct(mysqli $conn, $prepareString) { $this->_conn = $conn; $this->_stmt = $conn->prepare($prepareString); - if (false === $this->_stmt) { + if ($this->_stmt === false) { throw new MysqliException($this->_conn->error, $this->_conn->sqlstate, $this->_conn->errno); } $paramCount = $this->_stmt->param_count; - if (0 < $paramCount) { - $this->types = str_repeat('s', $paramCount); - $this->_bindedValues = array_fill(1, $paramCount, null); + if (0 >= $paramCount) { + return; } + + $this->types = str_repeat('s', $paramCount); + $this->_bindedValues = array_fill(1, $paramCount, null); } /** @@ -123,18 +96,18 @@ class MysqliStatement implements \IteratorAggregate, Statement */ public function bindParam($column, &$variable, $type = ParameterType::STRING, $length = null) { - if (null === $type) { + if ($type === null) { $type = 's'; } else { - if (isset(self::$_paramTypeMap[$type])) { - $type = self::$_paramTypeMap[$type]; - } else { - throw new MysqliException("Unknown type: '{$type}'"); + if (! isset(self::$_paramTypeMap[$type])) { + throw new MysqliException(sprintf("Unknown type: '%s'", $type)); } + + $type = self::$_paramTypeMap[$type]; } $this->_bindedValues[$column] =& $variable; - $this->types[$column - 1] = $type; + $this->types[$column - 1] = $type; return true; } @@ -144,19 +117,19 @@ class MysqliStatement implements \IteratorAggregate, Statement */ public function bindValue($param, $value, $type = ParameterType::STRING) { - if (null === $type) { + if ($type === null) { $type = 's'; } else { - if (isset(self::$_paramTypeMap[$type])) { - $type = self::$_paramTypeMap[$type]; - } else { - throw new MysqliException("Unknown type: '{$type}'"); + if (! isset(self::$_paramTypeMap[$type])) { + throw new MysqliException(sprintf("Unknown type: '%s'", $type)); } + + $type = self::$_paramTypeMap[$type]; } - $this->_values[$param] = $value; + $this->_values[$param] = $value; $this->_bindedValues[$param] =& $this->_values[$param]; - $this->types[$param - 1] = $type; + $this->types[$param - 1] = $type; return true; } @@ -166,25 +139,27 @@ class MysqliStatement implements \IteratorAggregate, Statement */ public function execute($params = null) { - if (null !== $this->_bindedValues) { - if (null !== $params) { - if ( ! $this->_bindValues($params)) { + if ($this->_bindedValues !== null) { + if ($params !== null) { + if (! $this->_bindValues($params)) { throw new MysqliException($this->_stmt->error, $this->_stmt->errno); } } else { - if (!call_user_func_array([$this->_stmt, 'bind_param'], [$this->types] + $this->_bindedValues)) { + [$types, $values, $streams] = $this->separateBoundValues(); + if (! $this->_stmt->bind_param($types, ...$values)) { throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno); } + $this->sendLongData($streams); } } - if ( ! $this->_stmt->execute()) { + if (! $this->_stmt->execute()) { throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno); } - if (null === $this->_columnNames) { + if ($this->_columnNames === null) { $meta = $this->_stmt->result_metadata(); - if (false !== $meta) { + if ($meta !== false) { $columnNames = []; foreach ($meta->fetch_fields() as $col) { $columnNames[] = $col->name; @@ -197,7 +172,7 @@ class MysqliStatement implements \IteratorAggregate, Statement } } - if (false !== $this->_columnNames) { + if ($this->_columnNames !== false) { // Store result of every execution which has it. Otherwise it will be impossible // to execute a new statement in case if the previous one has non-fetched rows // @link http://dev.mysql.com/doc/refman/5.7/en/commands-out-of-sync.html @@ -221,7 +196,7 @@ class MysqliStatement implements \IteratorAggregate, Statement $refs[$key] =& $value; } - if (!call_user_func_array([$this->_stmt, 'bind_result'], $refs)) { + if (! $this->_stmt->bind_result(...$refs)) { throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno); } } @@ -231,24 +206,80 @@ class MysqliStatement implements \IteratorAggregate, Statement return true; } + /** + * Split $this->_bindedValues into those values that need to be sent using mysqli::send_long_data() + * and those that can be bound the usual way. + * + * @return array|string> + */ + private function separateBoundValues() + { + $streams = $values = []; + $types = $this->types; + + foreach ($this->_bindedValues as $parameter => $value) { + if (! isset($types[$parameter - 1])) { + $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING]; + } + + if ($types[$parameter - 1] === static::$_paramTypeMap[ParameterType::LARGE_OBJECT]) { + if (is_resource($value)) { + if (get_resource_type($value) !== 'stream') { + throw new InvalidArgumentException('Resources passed with the LARGE_OBJECT parameter type must be stream resources.'); + } + $streams[$parameter] = $value; + $values[$parameter] = null; + continue; + } else { + $types[$parameter - 1] = static::$_paramTypeMap[ParameterType::STRING]; + } + } + + $values[$parameter] = $value; + } + + return [$types, $values, $streams]; + } + + /** + * Handle $this->_longData after regular query parameters have been bound + * + * @throws MysqliException + */ + private function sendLongData($streams) + { + foreach ($streams as $paramNr => $stream) { + while (! feof($stream)) { + $chunk = fread($stream, 8192); + + if ($chunk === false) { + throw new MysqliException("Failed reading the stream resource for parameter offset ${paramNr}."); + } + + if (! $this->_stmt->send_long_data($paramNr - 1, $chunk)) { + throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno); + } + } + } + } + /** * Binds a array of values to bound parameters. * - * @param array $values + * @param mixed[] $values * * @return bool */ private function _bindValues($values) { $params = []; - $types = str_repeat('s', count($values)); - $params[0] = $types; + $types = str_repeat('s', count($values)); foreach ($values as &$v) { $params[] =& $v; } - return call_user_func_array([$this->_stmt, 'bind_param'], $params); + return $this->_stmt->bind_param($types, ...$params); } /** @@ -258,7 +289,7 @@ class MysqliStatement implements \IteratorAggregate, Statement { $ret = $this->_stmt->fetch(); - if (true === $ret) { + if ($ret === true) { $values = []; foreach ($this->_rowBindedValues as $v) { $values[] = $v; @@ -273,11 +304,11 @@ class MysqliStatement implements \IteratorAggregate, Statement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return false; } @@ -288,11 +319,11 @@ class MysqliStatement implements \IteratorAggregate, Statement } $values = $this->_fetch(); - if (null === $values) { + if ($values === null) { return false; } - if (false === $values) { + if ($values === false) { throw new MysqliException($this->_stmt->error, $this->_stmt->sqlstate, $this->_stmt->errno); } @@ -304,14 +335,14 @@ class MysqliStatement implements \IteratorAggregate, Statement return array_combine($this->_columnNames, $values); case FetchMode::MIXED: - $ret = array_combine($this->_columnNames, $values); + $ret = array_combine($this->_columnNames, $values); $ret += $values; return $ret; case FetchMode::STANDARD_OBJECT: $assoc = array_combine($this->_columnNames, $values); - $ret = new \stdClass(); + $ret = new stdClass(); foreach ($assoc as $column => $value) { $ret->$column = $value; @@ -320,7 +351,7 @@ class MysqliStatement implements \IteratorAggregate, Statement return $ret; default: - throw new MysqliException("Unknown fetch type '{$fetchMode}'"); + throw new MysqliException(sprintf("Unknown fetch type '%s'", $fetchMode)); } } @@ -353,7 +384,7 @@ class MysqliStatement implements \IteratorAggregate, Statement { $row = $this->fetch(FetchMode::NUMERIC); - if (false === $row) { + if ($row === false) { return false; } @@ -392,7 +423,7 @@ class MysqliStatement implements \IteratorAggregate, Statement */ public function rowCount() { - if (false === $this->_columnNames) { + if ($this->_columnNames === false) { return $this->_stmt->affected_rows; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/Driver.php index 925e9b70f..872582d80 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\OCI8; @@ -25,9 +8,6 @@ use const OCI_DEFAULT; /** * A Doctrine DBAL driver for the Oracle OCI8 PHP extensions. - * - * @author Roman Borschel - * @since 2.0 */ class Driver extends AbstractOracleDriver { @@ -53,7 +33,7 @@ class Driver extends AbstractOracleDriver /** * Constructs the Oracle DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Connection.php index e2111d474..5ebc877a8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Connection.php @@ -1,27 +1,11 @@ . - */ namespace Doctrine\DBAL\Driver\OCI8; use Doctrine\DBAL\Driver\Connection; use Doctrine\DBAL\Driver\ServerInfoAwareConnection; use Doctrine\DBAL\ParameterType; +use UnexpectedValueException; use const OCI_COMMIT_ON_SUCCESS; use const OCI_DEFAULT; use const OCI_NO_AUTO_COMMIT; @@ -43,19 +27,13 @@ use function str_replace; /** * OCI8 implementation of the Connection interface. - * - * @since 2.0 */ class OCI8Connection implements Connection, ServerInfoAwareConnection { - /** - * @var resource - */ + /** @var resource */ protected $dbh; - /** - * @var int - */ + /** @var int */ protected $executeMode = OCI_COMMIT_ON_SUCCESS; /** @@ -72,7 +50,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection */ public function __construct($username, $password, $db, $charset = null, $sessionMode = OCI_DEFAULT, $persistent = false) { - if (!defined('OCI_NO_AUTO_COMMIT')) { + if (! defined('OCI_NO_AUTO_COMMIT')) { define('OCI_NO_AUTO_COMMIT', 0); } @@ -80,7 +58,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection ? @oci_pconnect($username, $password, $db, $charset, $sessionMode) : @oci_connect($username, $password, $db, $charset, $sessionMode); - if ( ! $this->dbh) { + if (! $this->dbh) { throw OCI8Exception::fromErrorInfo(oci_error()); } } @@ -88,13 +66,13 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection /** * {@inheritdoc} * - * @throws \UnexpectedValueException if the version string returned by the database server - * does not contain a parsable version number. + * @throws UnexpectedValueException If the version string returned by the database server + * does not contain a parsable version number. */ public function getServerVersion() { - if ( ! preg_match('/\s+(\d+\.\d+\.\d+\.\d+\.\d+)\s+/', oci_server_version($this->dbh), $version)) { - throw new \UnexpectedValueException( + if (! preg_match('/\s+(\d+\.\d+\.\d+\.\d+\.\d+)\s+/', oci_server_version($this->dbh), $version)) { + throw new UnexpectedValueException( sprintf( 'Unexpected database version string "%s". Cannot parse an appropriate version number from it. ' . 'Please report this database version string to the Doctrine team.', @@ -128,7 +106,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection public function query() { $args = func_get_args(); - $sql = $args[0]; + $sql = $args[0]; //$fetchMode = $args[1]; $stmt = $this->prepare($sql); $stmt->execute(); @@ -174,7 +152,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection $result = $stmt->fetchColumn(); if ($result === false) { - throw new OCI8Exception("lastInsertId failed: Query was executed but no result was returned."); + throw new OCI8Exception('lastInsertId failed: Query was executed but no result was returned.'); } return (int) $result; @@ -205,7 +183,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection */ public function commit() { - if (!oci_commit($this->dbh)) { + if (! oci_commit($this->dbh)) { throw OCI8Exception::fromErrorInfo($this->errorInfo()); } $this->executeMode = OCI_COMMIT_ON_SUCCESS; @@ -218,7 +196,7 @@ class OCI8Connection implements Connection, ServerInfoAwareConnection */ public function rollBack() { - if (!oci_rollback($this->dbh)) { + if (! oci_rollback($this->dbh)) { throw OCI8Exception::fromErrorInfo($this->errorInfo()); } $this->executeMode = OCI_COMMIT_ON_SUCCESS; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Exception.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Exception.php index 1cd08b8a4..9d61ad42d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Exception.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Exception.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\OCI8; @@ -24,7 +7,7 @@ use Doctrine\DBAL\Driver\AbstractDriverException; class OCI8Exception extends AbstractDriverException { /** - * @param array $error + * @param mixed[] $error * * @return \Doctrine\DBAL\Driver\OCI8\OCI8Exception */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Statement.php index 0df45fc1b..8db54c86a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/OCI8/OCI8Statement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\OCI8; @@ -23,7 +6,9 @@ use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Driver\StatementIterator; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; +use InvalidArgumentException; use IteratorAggregate; +use PDO; use const OCI_ASSOC; use const OCI_B_BIN; use const OCI_B_BLOB; @@ -59,35 +44,22 @@ use function substr; /** * The OCI8 implementation of the Statement interface. - * - * @since 2.0 - * @author Roman Borschel */ class OCI8Statement implements IteratorAggregate, Statement { - /** - * @var resource - */ + /** @var resource */ protected $_dbh; - /** - * @var resource - */ + /** @var resource */ protected $_sth; - /** - * @var \Doctrine\DBAL\Driver\OCI8\OCI8Connection - */ + /** @var OCI8Connection */ protected $_conn; - /** - * @var string - */ + /** @var string */ protected static $_PARAM = ':param'; - /** - * @var array - */ + /** @var int[] */ protected static $fetchModeMap = [ FetchMode::MIXED => OCI_BOTH, FetchMode::ASSOCIATIVE => OCI_ASSOC, @@ -95,14 +67,10 @@ class OCI8Statement implements IteratorAggregate, Statement FetchMode::COLUMN => OCI_NUM, ]; - /** - * @var int - */ + /** @var int */ protected $_defaultFetchMode = FetchMode::MIXED; - /** - * @var array - */ + /** @var string[] */ protected $_paramMap = []; /** @@ -110,7 +78,7 @@ class OCI8Statement implements IteratorAggregate, Statement * * This is a new requirement for PHP7's oci8 extension that prevents bound values from being garbage collected. * - * @var array + * @var mixed[] */ private $boundValues = []; @@ -124,17 +92,16 @@ class OCI8Statement implements IteratorAggregate, Statement /** * Creates a new OCI8Statement that uses the given connection handle and SQL statement. * - * @param resource $dbh The connection handle. - * @param string $statement The SQL statement. - * @param \Doctrine\DBAL\Driver\OCI8\OCI8Connection $conn + * @param resource $dbh The connection handle. + * @param string $statement The SQL statement. */ public function __construct($dbh, $statement, OCI8Connection $conn) { - list($statement, $paramMap) = self::convertPositionalToNamedPlaceholders($statement); - $this->_sth = oci_parse($dbh, $statement); - $this->_dbh = $dbh; - $this->_paramMap = $paramMap; - $this->_conn = $conn; + [$statement, $paramMap] = self::convertPositionalToNamedPlaceholders($statement); + $this->_sth = oci_parse($dbh, $statement); + $this->_dbh = $dbh; + $this->_paramMap = $paramMap; + $this->_conn = $conn; } /** @@ -149,22 +116,23 @@ class OCI8Statement implements IteratorAggregate, Statement * Question marks inside literal strings are therefore handled correctly by this method. * This comes at a cost, the whole sql statement has to be looped over. * - * @todo extract into utility class in Doctrine\DBAL\Util namespace - * @todo review and test for lost spaces. we experienced missing spaces with oci8 in some sql statements. - * * @param string $statement The SQL statement to convert. * - * @return array [0] => the statement value (string), [1] => the paramMap value (array). - * @throws \Doctrine\DBAL\Driver\OCI8\OCI8Exception + * @return mixed[] [0] => the statement value (string), [1] => the paramMap value (array). + * + * @throws OCI8Exception + * + * @todo extract into utility class in Doctrine\DBAL\Util namespace + * @todo review and test for lost spaces. we experienced missing spaces with oci8 in some sql statements. */ public static function convertPositionalToNamedPlaceholders($statement) { - $fragmentOffset = $tokenOffset = 0; - $fragments = $paramMap = []; + $fragmentOffset = $tokenOffset = 0; + $fragments = $paramMap = []; $currentLiteralDelimiter = null; do { - if (!$currentLiteralDelimiter) { + if (! $currentLiteralDelimiter) { $result = self::findPlaceholderOrOpeningQuote( $statement, $tokenOffset, @@ -186,7 +154,7 @@ class OCI8Statement implements IteratorAggregate, Statement } $fragments[] = substr($statement, $fragmentOffset); - $statement = implode('', $fragments); + $statement = implode('', $fragments); return [$statement, $paramMap]; } @@ -201,6 +169,7 @@ class OCI8Statement implements IteratorAggregate, Statement * @param string|null $currentLiteralDelimiter The delimiter of the current string literal * or NULL if not currently in a literal * @param array $paramMap Mapping of the original parameter positions to their named replacements + * * @return bool Whether the token was found */ private static function findPlaceholderOrOpeningQuote( @@ -213,18 +182,18 @@ class OCI8Statement implements IteratorAggregate, Statement ) { $token = self::findToken($statement, $tokenOffset, '/[?\'"]/'); - if (!$token) { + if (! $token) { return false; } if ($token === '?') { - $position = count($paramMap) + 1; - $param = ':param' . $position; - $fragments[] = substr($statement, $fragmentOffset, $tokenOffset - $fragmentOffset); - $fragments[] = $param; + $position = count($paramMap) + 1; + $param = ':param' . $position; + $fragments[] = substr($statement, $fragmentOffset, $tokenOffset - $fragmentOffset); + $fragments[] = $param; $paramMap[$position] = $param; - $tokenOffset += 1; - $fragmentOffset = $tokenOffset; + $tokenOffset += 1; + $fragmentOffset = $tokenOffset; return true; } @@ -242,6 +211,7 @@ class OCI8Statement implements IteratorAggregate, Statement * @param string $tokenOffset The offset to start searching from * @param string|null $currentLiteralDelimiter The delimiter of the current string literal * or NULL if not currently in a literal + * * @return bool Whether the token was found */ private static function findClosingQuote( @@ -255,7 +225,7 @@ class OCI8Statement implements IteratorAggregate, Statement '/' . preg_quote($currentLiteralDelimiter, '/') . '/' ); - if (!$token) { + if (! $token) { return false; } @@ -272,6 +242,7 @@ class OCI8Statement implements IteratorAggregate, Statement * @param string $statement The SQL statement to parse * @param string $offset The offset to start searching from * @param string $regex The regex containing token pattern + * * @return string|null Token or NULL if not found */ private static function findToken($statement, &$offset, $regex) @@ -340,7 +311,7 @@ class OCI8Statement implements IteratorAggregate, Statement public function closeCursor() { // not having the result means there's nothing to close - if (!$this->result) { + if (! $this->result) { return true; } @@ -397,7 +368,7 @@ class OCI8Statement implements IteratorAggregate, Statement } $ret = @oci_execute($this->_sth, $this->_conn->getExecuteMode()); - if ( ! $ret) { + if (! $ret) { throw OCI8Exception::fromErrorInfo($this->errorInfo()); } @@ -427,11 +398,11 @@ class OCI8Statement implements IteratorAggregate, Statement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return false; } @@ -446,7 +417,7 @@ class OCI8Statement implements IteratorAggregate, Statement } if (! isset(self::$fetchModeMap[$fetchMode])) { - throw new \InvalidArgumentException("Invalid fetch style: " . $fetchMode); + throw new InvalidArgumentException('Invalid fetch style: ' . $fetchMode); } return oci_fetch_array( @@ -472,8 +443,8 @@ class OCI8Statement implements IteratorAggregate, Statement return $result; } - if ( ! isset(self::$fetchModeMap[$fetchMode])) { - throw new \InvalidArgumentException("Invalid fetch style: " . $fetchMode); + if (! isset(self::$fetchModeMap[$fetchMode])) { + throw new InvalidArgumentException('Invalid fetch style: ' . $fetchMode); } if (self::$fetchModeMap[$fetchMode] === OCI_BOTH) { @@ -489,12 +460,17 @@ class OCI8Statement implements IteratorAggregate, Statement // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return []; } - oci_fetch_all($this->_sth, $result, 0, -1, - self::$fetchModeMap[$fetchMode] | OCI_RETURN_NULLS | $fetchStructure | OCI_RETURN_LOBS); + oci_fetch_all( + $this->_sth, + $result, + 0, + -1, + self::$fetchModeMap[$fetchMode] | OCI_RETURN_NULLS | $fetchStructure | OCI_RETURN_LOBS + ); if ($fetchMode === FetchMode::COLUMN) { $result = $result[0]; @@ -511,13 +487,13 @@ class OCI8Statement implements IteratorAggregate, Statement { // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return false; } $row = oci_fetch_array($this->_sth, OCI_NUM | OCI_RETURN_NULLS | OCI_RETURN_LOBS); - if (false === $row) { + if ($row === false) { return false; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php index 62a214a53..2155140b2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver; @@ -27,24 +10,22 @@ use function func_get_args; /** * PDO implementation of the Connection interface. * Used by all PDO-based drivers. - * - * @since 2.0 */ class PDOConnection extends PDO implements Connection, ServerInfoAwareConnection { /** - * @param string $dsn - * @param string|null $user - * @param string|null $password - * @param array|null $options + * @param string $dsn + * @param string|null $user + * @param string|null $password + * @param mixed[]|null $options * - * @throws PDOException in case of an error. + * @throws PDOException In case of an error. */ - public function __construct($dsn, $user = null, $password = null, array $options = null) + public function __construct($dsn, $user = null, $password = null, ?array $options = null) { try { parent::__construct($dsn, $user, $password, $options); - $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, ['Doctrine\DBAL\Driver\PDOStatement', []]); + $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [PDOStatement::class, []]); $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (\PDOException $exception) { throw new PDOException($exception); @@ -88,19 +69,19 @@ class PDOConnection extends PDO implements Connection, ServerInfoAwareConnection */ public function query() { - $args = func_get_args(); + $args = func_get_args(); $argsCount = count($args); try { - if ($argsCount == 4) { + if ($argsCount === 4) { return parent::query($args[0], $args[1], $args[2], $args[3]); } - if ($argsCount == 3) { + if ($argsCount === 3) { return parent::query($args[0], $args[1], $args[2]); } - if ($argsCount == 2) { + if ($argsCount === 2) { return parent::query($args[0], $args[1]); } @@ -123,7 +104,11 @@ class PDOConnection extends PDO implements Connection, ServerInfoAwareConnection */ public function lastInsertId($name = null) { - return parent::lastInsertId($name); + try { + return parent::lastInsertId($name); + } catch (\PDOException $exception) { + throw new PDOException($exception); + } } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOException.php index 25689b66e..277d7a625 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver; /** * Tiny wrapper for PDOException instances to implement the {@link DriverException} interface. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class PDOException extends \PDOException implements DriverException { @@ -43,8 +22,6 @@ class PDOException extends \PDOException implements DriverException private $sqlState; /** - * Constructor. - * * @param \PDOException $exception The PDO exception to wrap. */ public function __construct(\PDOException $exception) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm/Driver.php index faebcd842..4291e1e17 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOIbm/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\PDOIbm; @@ -24,13 +7,6 @@ use Doctrine\DBAL\Driver\PDOConnection; /** * Driver for the PDO IBM extension. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class Driver extends AbstractDB2Driver { @@ -39,20 +15,18 @@ class Driver extends AbstractDB2Driver */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []) { - $conn = new PDOConnection( + return new PDOConnection( $this->_constructPdoDsn($params), $username, $password, $driverOptions ); - - return $conn; } /** * Constructs the IBM PDO DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php index 44a9d5b82..59d27d384 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\PDOMySql; @@ -26,8 +9,6 @@ use PDOException; /** * PDO MySql driver. - * - * @since 2.0 */ class Driver extends AbstractMySQLDriver { @@ -53,14 +34,14 @@ class Driver extends AbstractMySQLDriver /** * Constructs the MySql PDO DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ protected function constructPdoDsn(array $params) { $dsn = 'mysql:'; - if (isset($params['host']) && $params['host'] != '') { + if (isset($params['host']) && $params['host'] !== '') { $dsn .= 'host=' . $params['host'] . ';'; } if (isset($params['port'])) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php index 61edca747..f1239eafb 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOOracle/Driver.php @@ -1,27 +1,11 @@ . - */ namespace Doctrine\DBAL\Driver\PDOOracle; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver\AbstractOracleDriver; use Doctrine\DBAL\Driver\PDOConnection; +use PDOException; /** * PDO Oracle driver. @@ -45,7 +29,7 @@ class Driver extends AbstractOracleDriver $password, $driverOptions ); - } catch (\PDOException $e) { + } catch (PDOException $e) { throw DBALException::driverException($this, $e); } } @@ -53,7 +37,7 @@ class Driver extends AbstractOracleDriver /** * Constructs the Oracle PDO DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php index d0946fd46..972dbadcd 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOPgSql/Driver.php @@ -1,35 +1,16 @@ . - */ namespace Doctrine\DBAL\Driver\PDOPgSql; +use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver\AbstractPostgreSQLDriver; use Doctrine\DBAL\Driver\PDOConnection; -use Doctrine\DBAL\DBALException; -use PDOException; use PDO; +use PDOException; use function defined; /** * Driver that connects through pdo_pgsql. - * - * @since 2.0 */ class Driver extends AbstractPostgreSQLDriver { @@ -48,7 +29,7 @@ class Driver extends AbstractPostgreSQLDriver if (defined('PDO::PGSQL_ATTR_DISABLE_PREPARES') && (! isset($driverOptions[PDO::PGSQL_ATTR_DISABLE_PREPARES]) - || true === $driverOptions[PDO::PGSQL_ATTR_DISABLE_PREPARES] + || $driverOptions[PDO::PGSQL_ATTR_DISABLE_PREPARES] === true ) ) { $pdo->setAttribute(PDO::PGSQL_ATTR_DISABLE_PREPARES, true); @@ -71,7 +52,7 @@ class Driver extends AbstractPostgreSQLDriver /** * Constructs the Postgres PDO DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ @@ -79,11 +60,11 @@ class Driver extends AbstractPostgreSQLDriver { $dsn = 'pgsql:'; - if (isset($params['host']) && $params['host'] != '') { + if (isset($params['host']) && $params['host'] !== '') { $dsn .= 'host=' . $params['host'] . ';'; } - if (isset($params['port']) && $params['port'] != '') { + if (isset($params['port']) && $params['port'] !== '') { $dsn .= 'port=' . $params['port'] . ';'; } @@ -95,7 +76,7 @@ class Driver extends AbstractPostgreSQLDriver // Used for temporary connections to allow operations like dropping the database currently connected to. // Connecting without an explicit database does not work, therefore "postgres" database is used // as it is mostly present in every server setup. - $dsn .= 'dbname=postgres' . ';'; + $dsn .= 'dbname=postgres;'; } if (isset($params['sslmode'])) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php index 096f7a2b6..7a28b8310 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlite/Driver.php @@ -1,44 +1,24 @@ . - */ namespace Doctrine\DBAL\Driver\PDOSqlite; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver\AbstractSQLiteDriver; use Doctrine\DBAL\Driver\PDOConnection; +use Doctrine\DBAL\Platforms\SqlitePlatform; use PDOException; use function array_merge; /** * The PDO Sqlite driver. - * - * @since 2.0 */ class Driver extends AbstractSQLiteDriver { - /** - * @var array - */ + /** @var mixed[] */ protected $_userDefinedFunctions = [ - 'sqrt' => ['callback' => ['Doctrine\DBAL\Platforms\SqlitePlatform', 'udfSqrt'], 'numArgs' => 1], - 'mod' => ['callback' => ['Doctrine\DBAL\Platforms\SqlitePlatform', 'udfMod'], 'numArgs' => 2], - 'locate' => ['callback' => ['Doctrine\DBAL\Platforms\SqlitePlatform', 'udfLocate'], 'numArgs' => -1], + 'sqrt' => ['callback' => [SqlitePlatform::class, 'udfSqrt'], 'numArgs' => 1], + 'mod' => ['callback' => [SqlitePlatform::class, 'udfMod'], 'numArgs' => 2], + 'locate' => ['callback' => [SqlitePlatform::class, 'udfLocate'], 'numArgs' => -1], ]; /** @@ -48,7 +28,9 @@ class Driver extends AbstractSQLiteDriver { if (isset($driverOptions['userDefinedFunctions'])) { $this->_userDefinedFunctions = array_merge( - $this->_userDefinedFunctions, $driverOptions['userDefinedFunctions']); + $this->_userDefinedFunctions, + $driverOptions['userDefinedFunctions'] + ); unset($driverOptions['userDefinedFunctions']); } @@ -73,7 +55,7 @@ class Driver extends AbstractSQLiteDriver /** * Constructs the Sqlite PDO DSN. * - * @param array $params + * @param mixed[] $params * * @return string The DSN. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Connection.php index 7ce7e8a76..bd3894477 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Connection.php @@ -1,43 +1,25 @@ . - */ namespace Doctrine\DBAL\Driver\PDOSqlsrv; use Doctrine\DBAL\Driver\PDOConnection; use Doctrine\DBAL\ParameterType; +use PDO; use function strpos; use function substr; /** * Sqlsrv Connection implementation. - * - * @since 2.0 */ -class Connection extends PDOConnection implements \Doctrine\DBAL\Driver\Connection +class Connection extends PDOConnection { /** * {@inheritdoc} */ - public function __construct($dsn, $user = null, $password = null, array $options = null) + public function __construct($dsn, $user = null, $password = null, ?array $options = null) { parent::__construct($dsn, $user, $password, $options); - $this->setAttribute(\PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]); + $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, [Statement::class, []]); } /** @@ -45,7 +27,7 @@ class Connection extends PDOConnection implements \Doctrine\DBAL\Driver\Connecti */ public function lastInsertId($name = null) { - if (null === $name) { + if ($name === null) { return parent::lastInsertId($name); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Driver.php index c27ffe1b2..6543e3239 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\PDOSqlsrv; @@ -25,8 +8,6 @@ use function sprintf; /** * The PDO-based Sqlsrv driver. - * - * @since 2.0 */ class Driver extends AbstractSQLServerDriver { @@ -48,7 +29,7 @@ class Driver extends AbstractSQLServerDriver /** * Constructs the Sqlsrv PDO DSN. * - * @param array $params + * @param mixed[] $params * @param string[] $connectionOptions * * @return string The DSN. @@ -61,7 +42,7 @@ class Driver extends AbstractSQLServerDriver $dsn .= $params['host']; } - if (isset($params['port']) && !empty($params['port'])) { + if (isset($params['port']) && ! empty($params['port'])) { $dsn .= ',' . $params['port']; } @@ -73,15 +54,14 @@ class Driver extends AbstractSQLServerDriver $connectionOptions['MultipleActiveResultSets'] = $params['MultipleActiveResultSets'] ? 'true' : 'false'; } - $dsn .= $this->getConnectionOptionsDsn($connectionOptions); - - return $dsn; + return $dsn . $this->getConnectionOptionsDsn($connectionOptions); } /** * Separates a connection options from a driver options * * @param int[]|string[] $options + * * @return int[][]|string[][] */ private function splitOptions(array $options) : array diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Statement.php index 370400342..6803bb14e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOSqlsrv/Statement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\PDOSqlsrv; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php index 7b2926393..2aed89fbf 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver; @@ -29,14 +12,9 @@ use function trigger_error; /** * The PDO implementation of the Statement interface. * Used by all PDO-based drivers. - * - * @since 2.0 */ class PDOStatement extends \PDOStatement implements Statement { - /** - * @var int[] - */ private const PARAM_TYPE_MAP = [ ParameterType::NULL => PDO::PARAM_NULL, ParameterType::INTEGER => PDO::PARAM_INT, @@ -46,9 +24,6 @@ class PDOStatement extends \PDOStatement implements Statement ParameterType::BOOLEAN => PDO::PARAM_BOOL, ]; - /** - * @var int[] - */ private const FETCH_MODE_MAP = [ FetchMode::ASSOCIATIVE => PDO::FETCH_ASSOC, FetchMode::NUMERIC => PDO::FETCH_NUM, @@ -148,20 +123,20 @@ class PDOStatement extends \PDOStatement implements Statement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { $fetchMode = $this->convertFetchMode($fetchMode); try { - if ($fetchMode === null && \PDO::FETCH_ORI_NEXT === $cursorOrientation && 0 === $cursorOffset) { + if ($fetchMode === null && $cursorOrientation === PDO::FETCH_ORI_NEXT && $cursorOffset === 0) { return parent::fetch(); } - if (\PDO::FETCH_ORI_NEXT === $cursorOrientation && 0 === $cursorOffset) { + if ($cursorOrientation === PDO::FETCH_ORI_NEXT && $cursorOffset === 0) { return parent::fetch($fetchMode); } - if (0 === $cursorOffset) { + if ($cursorOffset === 0) { return parent::fetch($fetchMode, $cursorOrientation); } @@ -179,15 +154,15 @@ class PDOStatement extends \PDOStatement implements Statement $fetchMode = $this->convertFetchMode($fetchMode); try { - if ($fetchMode === null && null === $fetchArgument && null === $ctorArgs) { + if ($fetchMode === null && $fetchArgument === null && $ctorArgs === null) { return parent::fetchAll(); } - if (null === $fetchArgument && null === $ctorArgs) { + if ($fetchArgument === null && $ctorArgs === null) { return parent::fetchAll($fetchMode); } - if (null === $ctorArgs) { + if ($ctorArgs === null) { return parent::fetchAll($fetchMode, $fetchArgument); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PingableConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PingableConnection.php index 8c85a82c8..06bfb9a7f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PingableConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PingableConnection.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver; /** * An interface for connections which support a "native" ping method. - * - * @link www.doctrine-project.org - * @since 2.5 - * @author Till Klampaeckel - * @author Benjamin Eberlei */ interface PingableConnection { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php index b03862ff6..1e6df0269 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ResultStatement.php @@ -1,30 +1,14 @@ . - */ namespace Doctrine\DBAL\Driver; +use PDO; +use Traversable; + /** * Interface for the reading part of a prepare statement only. - * - * @author Benjamin Eberlei */ -interface ResultStatement extends \Traversable +interface ResultStatement extends Traversable { /** * Closes the cursor, enabling the statement to be executed again. @@ -78,27 +62,27 @@ interface ResultStatement extends \Traversable * @return mixed The return value of this method on success depends on the fetch mode. In all cases, FALSE is * returned on failure. */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0); + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0); /** * Returns an array containing all of the result set rows. * - * @param int|null $fetchMode Controls how the next row will be returned to the caller. - * The value must be one of the {@link \Doctrine\DBAL\FetchMode} constants, - * defaulting to {@link \Doctrine\DBAL\FetchMode::MIXED}. - * @param int|null $fetchArgument This argument has a different meaning depending on the value of the $fetchMode parameter: - * * {@link \Doctrine\DBAL\FetchMode::COLUMN}: - * Returns the indicated 0-indexed column. - * * {@link \Doctrine\DBAL\FetchMode::CUSTOM_OBJECT}: - * Returns instances of the specified class, mapping the columns of each row - * to named properties in the class. - * * \PDO::FETCH_FUNC: Returns the results of calling the specified function, using each row's - * columns as parameters in the call. - * @param array|null $ctorArgs Controls how the next row will be returned to the caller. - * The value must be one of the {@link \Doctrine\DBAL\FetchMode} constants, - * defaulting to {@link \Doctrine\DBAL\FetchMode::MIXED}. + * @param int|null $fetchMode Controls how the next row will be returned to the caller. + * The value must be one of the {@link \Doctrine\DBAL\FetchMode} constants, + * defaulting to {@link \Doctrine\DBAL\FetchMode::MIXED}. + * @param int|null $fetchArgument This argument has a different meaning depending on the value of the $fetchMode parameter: + * * {@link \Doctrine\DBAL\FetchMode::COLUMN}: + * Returns the indicated 0-indexed column. + * * {@link \Doctrine\DBAL\FetchMode::CUSTOM_OBJECT}: + * Returns instances of the specified class, mapping the columns of each row + * to named properties in the class. + * * \PDO::FETCH_FUNC: Returns the results of calling the specified function, using each row's + * columns as parameters in the call. + * @param mixed[]|null $ctorArgs Controls how the next row will be returned to the caller. + * The value must be one of the {@link \Doctrine\DBAL\FetchMode} constants, + * defaulting to {@link \Doctrine\DBAL\FetchMode::MIXED}. * - * @return array + * @return mixed[] */ public function fetchAll($fetchMode = null, $fetchArgument = null, $ctorArgs = null); @@ -106,10 +90,9 @@ interface ResultStatement extends \Traversable * Returns a single column from the next row of a result set or FALSE if there are no more rows. * * @param int $columnIndex 0-indexed number of the column you wish to retrieve from the row. - * If no value is supplied, PDOStatement->fetchColumn() - * fetches the first column. + * If no value is supplied, fetches the first column. * - * @return string|boolean A single column in the next row of a result set, or FALSE if there are no more rows. + * @return mixed|false A single column in the next row of a result set, or FALSE if there are no more rows. */ public function fetchColumn($columnIndex = 0); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/Driver.php index 1ff0b04b1..294d5c7a5 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\SQLAnywhere; @@ -27,17 +10,13 @@ use function implode; /** * A Doctrine DBAL driver for the SAP Sybase SQL Anywhere PHP extension. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class Driver extends AbstractSQLAnywhereDriver { /** * {@inheritdoc} * - * @throws \Doctrine\DBAL\DBALException if there was a problem establishing the connection. + * @throws DBALException If there was a problem establishing the connection. */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []) { @@ -70,15 +49,15 @@ class Driver extends AbstractSQLAnywhereDriver /** * Build the connection string for given connection parameters and driver options. * - * @param string $host Host address to connect to. - * @param int $port Port to use for the connection (default to SQL Anywhere standard port 2638). - * @param string $server Database server name on the host to connect to. - * SQL Anywhere allows multiple database server instances on the same host, - * therefore specifying the server instance name to use is mandatory. - * @param string $dbname Name of the database on the server instance to connect to. - * @param string $username User name to use for connection authentication. - * @param string $password Password to use for connection authentication. - * @param array $driverOptions Additional parameters to use for the connection. + * @param string $host Host address to connect to. + * @param int $port Port to use for the connection (default to SQL Anywhere standard port 2638). + * @param string $server Database server name on the host to connect to. + * SQL Anywhere allows multiple database server instances on the same host, + * therefore specifying the server instance name to use is mandatory. + * @param string $dbname Name of the database on the server instance to connect to. + * @param string $username User name to use for connection authentication. + * @param string $password Password to use for connection authentication. + * @param mixed[] $driverOptions Additional parameters to use for the connection. * * @return string */ @@ -91,15 +70,14 @@ class Driver extends AbstractSQLAnywhereDriver $server = ';ServerName=' . $server; } - return - 'HOST=' . $host . ':' . $port . + return 'HOST=' . $host . ':' . $port . $server . ';DBN=' . $dbname . ';UID=' . $username . ';PWD=' . $password . ';' . implode( ';', - array_map(function ($key, $value) { + array_map(static function ($key, $value) { return $key . '=' . $value; }, array_keys($driverOptions), $driverOptions) ); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereConnection.php index be60b2f3f..d47782003 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereConnection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\SQLAnywhere; @@ -42,21 +25,13 @@ use function sasql_set_option; /** * SAP Sybase SQL Anywhere implementation of the Connection interface. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection { - /** - * @var resource The SQL Anywhere connection resource. - */ + /** @var resource The SQL Anywhere connection resource. */ private $connection; /** - * Constructor. - * * Connects to database with given connection string. * * @param string $dsn The connection string. @@ -68,22 +43,17 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection { $this->connection = $persistent ? @sasql_pconnect($dsn) : @sasql_connect($dsn); - if ( ! is_resource($this->connection)) { + if (! is_resource($this->connection)) { throw SQLAnywhereException::fromSQLAnywhereError(); } // Disable PHP warnings on error. - if ( ! sasql_set_option($this->connection, 'verbose_errors', false)) { + if (! sasql_set_option($this->connection, 'verbose_errors', false)) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } // Enable auto committing by default. - if ( ! sasql_set_option($this->connection, 'auto_commit', 'on')) { - throw SQLAnywhereException::fromSQLAnywhereError($this->connection); - } - - // Enable exact, non-approximated row count retrieval. - if ( ! sasql_set_option($this->connection, 'row_counts', true)) { + if (! sasql_set_option($this->connection, 'auto_commit', 'on')) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } } @@ -95,7 +65,7 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection */ public function beginTransaction() { - if ( ! sasql_set_option($this->connection, 'auto_commit', 'off')) { + if (! sasql_set_option($this->connection, 'auto_commit', 'off')) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } @@ -109,7 +79,7 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection */ public function commit() { - if ( ! sasql_commit($this->connection)) { + if (! sasql_commit($this->connection)) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } @@ -139,7 +109,7 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection */ public function exec($statement) { - if (false === sasql_real_query($this->connection, $statement)) { + if (sasql_real_query($this->connection, $statement) === false) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } @@ -163,7 +133,7 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection */ public function lastInsertId($name = null) { - if (null === $name) { + if ($name === null) { return sasql_insert_id($this->connection); } @@ -218,7 +188,7 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection */ public function rollBack() { - if ( ! sasql_rollback($this->connection)) { + if (! sasql_rollback($this->connection)) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } @@ -230,13 +200,13 @@ class SQLAnywhereConnection implements Connection, ServerInfoAwareConnection /** * Ends transactional mode and enables auto commit again. * - * @throws SQLAnywhereException - * * @return bool Whether or not ending transactional mode succeeded. + * + * @throws SQLAnywhereException */ private function endTransaction() { - if ( ! sasql_set_option($this->connection, 'auto_commit', 'on')) { + if (! sasql_set_option($this->connection, 'auto_commit', 'on')) { throw SQLAnywhereException::fromSQLAnywhereError($this->connection); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereException.php index 2a89206d7..9f8aac060 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereException.php @@ -1,25 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver\SQLAnywhere; use Doctrine\DBAL\Driver\AbstractDriverException; +use InvalidArgumentException; use function is_resource; use function sasql_error; use function sasql_errorcode; @@ -29,10 +13,6 @@ use function sasql_stmt_error; /** * SAP Sybase SQL Anywhere driver exception. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhereException extends AbstractDriverException { @@ -44,16 +24,16 @@ class SQLAnywhereException extends AbstractDriverException * * @return SQLAnywhereException * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public static function fromSQLAnywhereError($conn = null, $stmt = null) { - if (null !== $conn && ! (is_resource($conn))) { - throw new \InvalidArgumentException('Invalid SQL Anywhere connection resource given: ' . $conn); + if ($conn !== null && ! is_resource($conn)) { + throw new InvalidArgumentException('Invalid SQL Anywhere connection resource given: ' . $conn); } - if (null !== $stmt && ! (is_resource($stmt))) { - throw new \InvalidArgumentException('Invalid SQL Anywhere statement resource given: ' . $stmt); + if ($stmt !== null && ! is_resource($stmt)) { + throw new InvalidArgumentException('Invalid SQL Anywhere statement resource given: ' . $stmt); } $state = $conn ? sasql_sqlstate($conn) : sasql_sqlstate(); @@ -86,7 +66,7 @@ class SQLAnywhereException extends AbstractDriverException * or the last error could not be retrieved from the given * connection / statement resource. */ - if ( ! $conn || ! $code) { + if (! $conn || ! $code) { $code = sasql_errorcode(); $message = sasql_error(); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereStatement.php index 1584dadb1..0ed2d4546 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLAnywhere/SQLAnywhereStatement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\SQLAnywhere; @@ -24,9 +7,12 @@ use Doctrine\DBAL\Driver\StatementIterator; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; use IteratorAggregate; +use PDO; +use ReflectionClass; +use ReflectionObject; +use stdClass; use const SASQL_BOTH; use function array_key_exists; -use function call_user_func_array; use function func_get_args; use function func_num_args; use function gettype; @@ -52,46 +38,28 @@ use function sprintf; /** * SAP SQL Anywhere implementation of the Statement interface. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhereStatement implements IteratorAggregate, Statement { - /** - * @var resource The connection resource. - */ + /** @var resource The connection resource. */ private $conn; - /** - * @var string Name of the default class to instantiate when fetching class instances. - */ + /** @var string Name of the default class to instantiate when fetching class instances. */ private $defaultFetchClass = '\stdClass'; - /** - * @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances. - */ + /** @var mixed[] Constructor arguments for the default class to instantiate when fetching class instances. */ private $defaultFetchClassCtorArgs = []; - /** - * @var int Default fetch mode to use. - */ + /** @var int Default fetch mode to use. */ private $defaultFetchMode = FetchMode::MIXED; - /** - * @var resource The result set resource to fetch. - */ + /** @var resource The result set resource to fetch. */ private $result; - /** - * @var resource The prepared SQL statement to execute. - */ + /** @var resource The prepared SQL statement to execute. */ private $stmt; /** - * Constructor. - * * Prepares given statement for given connection. * * @param resource $conn The connection resource to use. @@ -101,14 +69,14 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement */ public function __construct($conn, $sql) { - if ( ! is_resource($conn)) { + if (! is_resource($conn)) { throw new SQLAnywhereException('Invalid SQL Anywhere connection resource: ' . $conn); } $this->conn = $conn; $this->stmt = sasql_prepare($conn, $sql); - if ( ! is_resource($this->stmt)) { + if (! is_resource($this->stmt)) { throw SQLAnywhereException::fromSQLAnywhereError($conn); } } @@ -140,7 +108,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement throw new SQLAnywhereException('Unknown type: ' . $type); } - if ( ! sasql_stmt_bind_param_ex($this->stmt, $column - 1, $variable, $type, $variable === null)) { + if (! sasql_stmt_bind_param_ex($this->stmt, $column - 1, $variable, $type, $variable === null)) { throw SQLAnywhereException::fromSQLAnywhereError($this->conn, $this->stmt); } @@ -162,7 +130,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement */ public function closeCursor() { - if (!sasql_stmt_reset($this->stmt)) { + if (! sasql_stmt_reset($this->stmt)) { throw SQLAnywhereException::fromSQLAnywhereError($this->conn, $this->stmt); } @@ -204,13 +172,13 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement $hasZeroIndex = array_key_exists(0, $params); foreach ($params as $key => $val) { - $key = ($hasZeroIndex && is_numeric($key)) ? $key + 1 : $key; + $key = $hasZeroIndex && is_numeric($key) ? $key + 1 : $key; $this->bindValue($key, $val); } } - if ( ! sasql_stmt_execute($this->stmt)) { + if (! sasql_stmt_execute($this->stmt)) { throw SQLAnywhereException::fromSQLAnywhereError($this->conn, $this->stmt); } @@ -224,9 +192,9 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement * * @throws SQLAnywhereException */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { - if ( ! is_resource($this->result)) { + if (! is_resource($this->result)) { return false; } @@ -254,7 +222,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement $result = sasql_fetch_object($this->result); - if ($result instanceof \stdClass) { + if ($result instanceof stdClass) { $result = $this->castObject($result, $className, $ctorArgs); } @@ -280,7 +248,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement switch ($fetchMode) { case FetchMode::CUSTOM_OBJECT: - while ($row = call_user_func_array([$this, 'fetch'], func_get_args())) { + while ($row = $this->fetch(...func_get_args())) { $rows[] = $row; } break; @@ -307,7 +275,7 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement { $row = $this->fetch(FetchMode::NUMERIC); - if (false === $row) { + if ($row === false) { return false; } @@ -343,29 +311,30 @@ class SQLAnywhereStatement implements IteratorAggregate, Statement /** * Casts a stdClass object to the given class name mapping its' properties. * - * @param \stdClass $sourceObject Object to cast from. + * @param stdClass $sourceObject Object to cast from. * @param string|object $destinationClass Name of the class or class instance to cast to. - * @param array $ctorArgs Arguments to use for constructing the destination class instance. + * @param mixed[] $ctorArgs Arguments to use for constructing the destination class instance. * * @return object * * @throws SQLAnywhereException */ - private function castObject(\stdClass $sourceObject, $destinationClass, array $ctorArgs = []) + private function castObject(stdClass $sourceObject, $destinationClass, array $ctorArgs = []) { - if ( ! is_string($destinationClass)) { - if ( ! is_object($destinationClass)) { + if (! is_string($destinationClass)) { + if (! is_object($destinationClass)) { throw new SQLAnywhereException(sprintf( - 'Destination class has to be of type string or object, %s given.', gettype($destinationClass) + 'Destination class has to be of type string or object, %s given.', + gettype($destinationClass) )); } } else { - $destinationClass = new \ReflectionClass($destinationClass); + $destinationClass = new ReflectionClass($destinationClass); $destinationClass = $destinationClass->newInstanceArgs($ctorArgs); } - $sourceReflection = new \ReflectionObject($sourceObject); - $destinationClassReflection = new \ReflectionObject($destinationClass); + $sourceReflection = new ReflectionObject($sourceObject); + $destinationClassReflection = new ReflectionObject($destinationClass); foreach ($sourceReflection->getProperties() as $sourceProperty) { $sourceProperty->setAccessible(true); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php index da0409f24..a9be26e9d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/Driver.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\SQLSrv; @@ -31,7 +14,7 @@ class Driver extends AbstractSQLServerDriver */ public function connect(array $params, $username = null, $password = null, array $driverOptions = []) { - if (!isset($params['host'])) { + if (! isset($params['host'])) { throw new SQLSrvException("Missing 'host' in configuration for sqlsrv driver."); } @@ -43,15 +26,20 @@ class Driver extends AbstractSQLServerDriver if (isset($params['dbname'])) { $driverOptions['Database'] = $params['dbname']; } - + if (isset($params['charset'])) { $driverOptions['CharacterSet'] = $params['charset']; } - $driverOptions['UID'] = $username; - $driverOptions['PWD'] = $password; + if ($username !== null) { + $driverOptions['UID'] = $username; + } - if (!isset($driverOptions['ReturnDatesAsStrings'])) { + if ($password !== null) { + $driverOptions['PWD'] = $password; + } + + if (! isset($driverOptions['ReturnDatesAsStrings'])) { $driverOptions['ReturnDatesAsStrings'] = 1; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/LastInsertId.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/LastInsertId.php index 909f1e444..363b26095 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/LastInsertId.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/LastInsertId.php @@ -1,35 +1,13 @@ . - */ namespace Doctrine\DBAL\Driver\SQLSrv; /** * Last Id Data Container. - * - * @since 2.3 - * @author Benjamin Eberlei */ class LastInsertId { - /** - * @var int - */ + /** @var int */ private $id; /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php index 6cdd4bca9..f1f9ddd1d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvConnection.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver\SQLSrv; @@ -40,36 +23,29 @@ use function str_replace; /** * SQL Server implementation for the Connection interface. - * - * @since 2.3 - * @author Benjamin Eberlei */ class SQLSrvConnection implements Connection, ServerInfoAwareConnection { - /** - * @var resource - */ + /** @var resource */ protected $conn; - /** - * @var \Doctrine\DBAL\Driver\SQLSrv\LastInsertId - */ + /** @var LastInsertId */ protected $lastInsertId; /** - * @param string $serverName - * @param array $connectionOptions + * @param string $serverName + * @param mixed[] $connectionOptions * - * @throws \Doctrine\DBAL\Driver\SQLSrv\SQLSrvException + * @throws SQLSrvException */ public function __construct($serverName, $connectionOptions) { - if ( ! sqlsrv_configure('WarningsReturnAsErrors', 0)) { + if (! sqlsrv_configure('WarningsReturnAsErrors', 0)) { throw SQLSrvException::fromSqlSrvErrors(); } $this->conn = sqlsrv_connect($serverName, $connectionOptions); - if ( ! $this->conn) { + if (! $this->conn) { throw SQLSrvException::fromSqlSrvErrors(); } $this->lastInsertId = new LastInsertId(); @@ -107,7 +83,7 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection public function query() { $args = func_get_args(); - $sql = $args[0]; + $sql = $args[0]; $stmt = $this->prepare($sql); $stmt->execute(); @@ -116,7 +92,6 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection /** * {@inheritDoc} - * @license New BSD, code from Zend Framework */ public function quote($value, $type = ParameterType::STRING) { @@ -136,7 +111,7 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection { $stmt = sqlsrv_query($this->conn, $statement); - if (false === $stmt) { + if ($stmt === false) { throw SQLSrvException::fromSqlSrvErrors(); } @@ -163,7 +138,7 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection */ public function beginTransaction() { - if ( ! sqlsrv_begin_transaction($this->conn)) { + if (! sqlsrv_begin_transaction($this->conn)) { throw SQLSrvException::fromSqlSrvErrors(); } } @@ -173,7 +148,7 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection */ public function commit() { - if ( ! sqlsrv_commit($this->conn)) { + if (! sqlsrv_commit($this->conn)) { throw SQLSrvException::fromSqlSrvErrors(); } } @@ -183,7 +158,7 @@ class SQLSrvConnection implements Connection, ServerInfoAwareConnection */ public function rollBack() { - if ( ! sqlsrv_rollback($this->conn)) { + if (! sqlsrv_rollback($this->conn)) { throw SQLSrvException::fromSqlSrvErrors(); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvException.php index 3223c1136..796f5d129 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvException.php @@ -1,25 +1,7 @@ . - */ namespace Doctrine\DBAL\Driver\SQLSrv; - use Doctrine\DBAL\Driver\AbstractDriverException; use const SQLSRV_ERR_ERRORS; use function rtrim; @@ -34,24 +16,26 @@ class SQLSrvException extends AbstractDriverException */ public static function fromSqlSrvErrors() { - $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); - $message = ""; - $sqlState = null; + $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS); + $message = ''; + $sqlState = null; $errorCode = null; foreach ($errors as $error) { - $message .= "SQLSTATE [".$error['SQLSTATE'].", ".$error['code']."]: ". $error['message']."\n"; + $message .= 'SQLSTATE [' . $error['SQLSTATE'] . ', ' . $error['code'] . ']: ' . $error['message'] . "\n"; - if (null === $sqlState) { + if ($sqlState === null) { $sqlState = $error['SQLSTATE']; } - if (null === $errorCode) { - $errorCode = $error['code']; + if ($errorCode !== null) { + continue; } + + $errorCode = $error['code']; } - if ( ! $message) { - $message = "SQL Server error occurred but no error message was retrieved from driver."; + if (! $message) { + $message = 'SQL Server error occurred but no error message was retrieved from driver.'; } return new self(rtrim($message), $sqlState, $errorCode); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvStatement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvStatement.php index e9d35fdb7..147ef76e1 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvStatement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/SQLSrv/SQLSrvStatement.php @@ -1,29 +1,13 @@ . - */ namespace Doctrine\DBAL\Driver\SQLSrv; +use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\Driver\StatementIterator; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; use IteratorAggregate; -use Doctrine\DBAL\Driver\Statement; +use PDO; use const SQLSRV_ENC_BINARY; use const SQLSRV_ERR_ERRORS; use const SQLSRV_FETCH_ASSOC; @@ -52,9 +36,6 @@ use function stripos; /** * SQL Server Statement. - * - * @since 2.3 - * @author Benjamin Eberlei */ class SQLSrvStatement implements IteratorAggregate, Statement { @@ -82,21 +63,21 @@ class SQLSrvStatement implements IteratorAggregate, Statement /** * References to the variables bound as statement parameters. * - * @var array + * @var mixed */ private $variables = []; /** * Bound parameter types. * - * @var array + * @var int[] */ private $types = []; /** * Translations. * - * @var array + * @var int[] */ private static $fetchMap = [ FetchMode::MIXED => SQLSRV_FETCH_BOTH, @@ -128,7 +109,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement /** * The last insert ID. * - * @var \Doctrine\DBAL\Driver\SQLSrv\LastInsertId|null + * @var LastInsertId|null */ private $lastInsertId; @@ -141,25 +122,24 @@ class SQLSrvStatement implements IteratorAggregate, Statement /** * Append to any INSERT query to retrieve the last insert id. - * - * @var string */ - const LAST_INSERT_ID_SQL = ';SELECT SCOPE_IDENTITY() AS LastInsertId;'; + public const LAST_INSERT_ID_SQL = ';SELECT SCOPE_IDENTITY() AS LastInsertId;'; /** - * @param resource $conn - * @param string $sql - * @param \Doctrine\DBAL\Driver\SQLSrv\LastInsertId|null $lastInsertId + * @param resource $conn + * @param string $sql */ - public function __construct($conn, $sql, LastInsertId $lastInsertId = null) + public function __construct($conn, $sql, ?LastInsertId $lastInsertId = null) { $this->conn = $conn; - $this->sql = $sql; + $this->sql = $sql; - if (stripos($sql, 'INSERT INTO ') === 0) { - $this->sql .= self::LAST_INSERT_ID_SQL; - $this->lastInsertId = $lastInsertId; + if (stripos($sql, 'INSERT INTO ') !== 0) { + return; } + + $this->sql .= self::LAST_INSERT_ID_SQL; + $this->lastInsertId = $lastInsertId; } /** @@ -167,14 +147,14 @@ class SQLSrvStatement implements IteratorAggregate, Statement */ public function bindValue($param, $value, $type = ParameterType::STRING) { - if (!is_numeric($param)) { + if (! is_numeric($param)) { throw new SQLSrvException( 'sqlsrv does not support named parameters to queries, use question mark (?) placeholders instead.' ); } $this->variables[$param] = $value; - $this->types[$param] = $type; + $this->types[$param] = $type; } /** @@ -182,12 +162,12 @@ class SQLSrvStatement implements IteratorAggregate, Statement */ public function bindParam($column, &$variable, $type = ParameterType::STRING, $length = null) { - if (!is_numeric($column)) { - throw new SQLSrvException("sqlsrv does not support named parameters to queries, use question mark (?) placeholders instead."); + if (! is_numeric($column)) { + throw new SQLSrvException('sqlsrv does not support named parameters to queries, use question mark (?) placeholders instead.'); } $this->variables[$column] =& $variable; - $this->types[$column] = $type; + $this->types[$column] = $type; // unset the statement resource if it exists as the new one will need to be bound to the new variable $this->stmt = null; @@ -199,7 +179,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement public function closeCursor() { // not having the result means there's nothing to close - if (!$this->result) { + if (! $this->result) { return true; } @@ -207,7 +187,8 @@ class SQLSrvStatement implements IteratorAggregate, Statement // @link http://php.net/manual/en/pdostatement.closecursor.php // @link https://github.com/php/php-src/blob/php-7.0.11/ext/pdo/pdo_stmt.c#L2075 // deliberately do not consider multiple result sets, since doctrine/dbal doesn't support them - while (sqlsrv_fetch($this->stmt)); + while (sqlsrv_fetch($this->stmt)) { + } $this->result = false; @@ -251,16 +232,16 @@ class SQLSrvStatement implements IteratorAggregate, Statement if ($params) { $hasZeroIndex = array_key_exists(0, $params); foreach ($params as $key => $val) { - $key = ($hasZeroIndex && is_numeric($key)) ? $key + 1 : $key; + $key = $hasZeroIndex && is_numeric($key) ? $key + 1 : $key; $this->bindValue($key, $val); } } - if ( ! $this->stmt) { + if (! $this->stmt) { $this->stmt = $this->prepare(); } - if (!sqlsrv_execute($this->stmt)) { + if (! sqlsrv_execute($this->stmt)) { throw SQLSrvException::fromSqlSrvErrors(); } @@ -277,6 +258,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement * Prepares SQL Server statement resource * * @return resource + * * @throws SQLSrvException */ private function prepare() @@ -310,7 +292,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement $stmt = sqlsrv_prepare($this->conn, $this->sql, $params); - if (!$stmt) { + if (! $stmt) { throw SQLSrvException::fromSqlSrvErrors(); } @@ -342,11 +324,11 @@ class SQLSrvStatement implements IteratorAggregate, Statement * * @throws SQLSrvException */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { // do not try fetching from the statement if it's not expected to contain result // in order to prevent exceptional situation - if (!$this->result) { + if (! $this->result) { return false; } @@ -412,7 +394,7 @@ class SQLSrvStatement implements IteratorAggregate, Statement { $row = $this->fetch(FetchMode::NUMERIC); - if (false === $row) { + if ($row === false) { return false; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php index f47ad0b27..c97a60fa3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/ServerInfoAwareConnection.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Driver; /** * Contract for a connection that is able to provide information about the server it is connected to. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ interface ServerInfoAwareConnection { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php index 95a73442d..a3ea74a4d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Statement.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Driver; @@ -26,11 +9,6 @@ use Doctrine\DBAL\ParameterType; * Drivers must implement this interface. * * This resembles (a subset of) the PDOStatement interface. - * - * @author Konsta Vesterinen - * @author Roman Borschel - * @link www.doctrine-project.org - * @since 2.0 */ interface Statement extends ResultStatement { @@ -92,9 +70,7 @@ interface Statement extends ResultStatement /** * Fetches extended error information associated with the last operation on the statement handle. * - * @see Doctrine_Adapter_Interface::errorInfo() - * - * @return array The error info array. + * @return mixed[] The error info array. */ public function errorInfo(); @@ -107,9 +83,8 @@ interface Statement extends ResultStatement * if any, of their associated parameter markers or pass an array of input-only * parameter values. * - * - * @param array|null $params An array of values with as many elements as there are - * bound parameters in the SQL statement being executed. + * @param mixed[]|null $params An array of values with as many elements as there are + * bound parameters in the SQL statement being executed. * * @return bool TRUE on success or FALSE on failure. */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/StatementIterator.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/StatementIterator.php index 2dc3f2b3d..5246b38a4 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/StatementIterator.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/StatementIterator.php @@ -2,16 +2,13 @@ namespace Doctrine\DBAL\Driver; -class StatementIterator implements \IteratorAggregate +use IteratorAggregate; + +class StatementIterator implements IteratorAggregate { - /** - * @var Statement - */ + /** @var Statement */ private $statement; - /** - * @param Statement $statement - */ public function __construct(Statement $statement) { $this->statement = $statement; @@ -22,7 +19,7 @@ class StatementIterator implements \IteratorAggregate */ public function getIterator() { - while (false !== ($result = $this->statement->fetch())) { + while (($result = $this->statement->fetch()) !== false) { yield $result; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php index 22ae8ac32..658123199 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php @@ -1,25 +1,20 @@ . - */ namespace Doctrine\DBAL; use Doctrine\Common\EventManager; +use Doctrine\DBAL\Driver\DrizzlePDOMySql\Driver as DrizzlePDOMySQLDriver; +use Doctrine\DBAL\Driver\IBMDB2\DB2Driver; +use Doctrine\DBAL\Driver\Mysqli\Driver as MySQLiDriver; +use Doctrine\DBAL\Driver\OCI8\Driver as OCI8Driver; +use Doctrine\DBAL\Driver\PDOMySql\Driver as PDOMySQLDriver; +use Doctrine\DBAL\Driver\PDOOracle\Driver as PDOOCIDriver; +use Doctrine\DBAL\Driver\PDOPgSql\Driver as PDOPgSQLDriver; +use Doctrine\DBAL\Driver\PDOSqlite\Driver as PDOSQLiteDriver; +use Doctrine\DBAL\Driver\PDOSqlsrv\Driver as PDOSQLSrvDriver; +use Doctrine\DBAL\Driver\SQLAnywhere\Driver as SQLAnywhereDriver; +use Doctrine\DBAL\Driver\SQLSrv\Driver as SQLSrvDriver; +use PDO; use function array_keys; use function array_map; use function array_merge; @@ -35,9 +30,6 @@ use function substr; /** * Factory for creating Doctrine\DBAL\Connection instances. - * - * @author Roman Borschel - * @since 2.0 */ final class DriverManager { @@ -47,24 +39,26 @@ final class DriverManager * To add your own driver use the 'driverClass' parameter to * {@link DriverManager::getConnection()}. * - * @var array + * @var string[] */ - private static $_driverMap = [ - 'pdo_mysql' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', - 'pdo_sqlite' => 'Doctrine\DBAL\Driver\PDOSqlite\Driver', - 'pdo_pgsql' => 'Doctrine\DBAL\Driver\PDOPgSql\Driver', - 'pdo_oci' => 'Doctrine\DBAL\Driver\PDOOracle\Driver', - 'oci8' => 'Doctrine\DBAL\Driver\OCI8\Driver', - 'ibm_db2' => 'Doctrine\DBAL\Driver\IBMDB2\DB2Driver', - 'pdo_sqlsrv' => 'Doctrine\DBAL\Driver\PDOSqlsrv\Driver', - 'mysqli' => 'Doctrine\DBAL\Driver\Mysqli\Driver', - 'drizzle_pdo_mysql' => 'Doctrine\DBAL\Driver\DrizzlePDOMySql\Driver', - 'sqlanywhere' => 'Doctrine\DBAL\Driver\SQLAnywhere\Driver', - 'sqlsrv' => 'Doctrine\DBAL\Driver\SQLSrv\Driver', + private static $_driverMap = [ + 'pdo_mysql' => PDOMySQLDriver::class, + 'pdo_sqlite' => PDOSQLiteDriver::class, + 'pdo_pgsql' => PDOPgSQLDriver::class, + 'pdo_oci' => PDOOCIDriver::class, + 'oci8' => OCI8Driver::class, + 'ibm_db2' => DB2Driver::class, + 'pdo_sqlsrv' => PDOSQLSrvDriver::class, + 'mysqli' => MySQLiDriver::class, + 'drizzle_pdo_mysql' => DrizzlePDOMySQLDriver::class, + 'sqlanywhere' => SQLAnywhereDriver::class, + 'sqlsrv' => SQLSrvDriver::class, ]; /** * List of URL schemes from a database URL and their mappings to driver. + * + * @var string[] */ private static $driverSchemeAliases = [ 'db2' => 'ibm_db2', @@ -132,35 +126,55 @@ final class DriverManager * driverClass: * The driver class to use. * - * @param array $params The parameters. - * @param \Doctrine\DBAL\Configuration|null $config The configuration to use. - * @param \Doctrine\Common\EventManager|null $eventManager The event manager to use. + * @param mixed[] $params The parameters. + * @param Configuration|null $config The configuration to use. + * @param EventManager|null $eventManager The event manager to use. * - * @return \Doctrine\DBAL\Connection - * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public static function getConnection( - array $params, - Configuration $config = null, - EventManager $eventManager = null): Connection - { + array $params, + ?Configuration $config = null, + ?EventManager $eventManager = null + ) : Connection { // create default config and event manager, if not set - if ( ! $config) { + if (! $config) { $config = new Configuration(); } - if ( ! $eventManager) { + if (! $eventManager) { $eventManager = new EventManager(); } $params = self::parseDatabaseUrl($params); + // URL support for MasterSlaveConnection + if (isset($params['master'])) { + $params['master'] = self::parseDatabaseUrl($params['master']); + } + + if (isset($params['slaves'])) { + foreach ($params['slaves'] as $key => $slaveParams) { + $params['slaves'][$key] = self::parseDatabaseUrl($slaveParams); + } + } + + // URL support for PoolingShardConnection + if (isset($params['global'])) { + $params['global'] = self::parseDatabaseUrl($params['global']); + } + + if (isset($params['shards'])) { + foreach ($params['shards'] as $key => $shardParams) { + $params['shards'][$key] = self::parseDatabaseUrl($shardParams); + } + } + // check for existing pdo object - if (isset($params['pdo']) && ! $params['pdo'] instanceof \PDO) { + if (isset($params['pdo']) && ! $params['pdo'] instanceof PDO) { throw DBALException::invalidPdoInstance(); } elseif (isset($params['pdo'])) { - $params['pdo']->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); - $params['driver'] = 'pdo_' . $params['pdo']->getAttribute(\PDO::ATTR_DRIVER_NAME); + $params['pdo']->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $params['driver'] = 'pdo_' . $params['pdo']->getAttribute(PDO::ATTR_DRIVER_NAME); } else { self::_checkParams($params); } @@ -169,13 +183,13 @@ final class DriverManager $driver = new $className(); - $wrapperClass = 'Doctrine\DBAL\Connection'; + $wrapperClass = Connection::class; if (isset($params['wrapperClass'])) { - if (is_subclass_of($params['wrapperClass'], $wrapperClass)) { - $wrapperClass = $params['wrapperClass']; - } else { + if (! is_subclass_of($params['wrapperClass'], $wrapperClass)) { throw DBALException::invalidWrapperClass($params['wrapperClass']); } + + $wrapperClass = $params['wrapperClass']; } return new $wrapperClass($params, $driver, $config, $eventManager); @@ -184,9 +198,9 @@ final class DriverManager /** * Returns the list of supported drivers. * - * @return array + * @return string[] */ - public static function getAvailableDrivers(): array + public static function getAvailableDrivers() : array { return array_keys(self::$_driverMap); } @@ -194,18 +208,16 @@ final class DriverManager /** * Checks the list of parameters. * - * @param array $params The list of parameters. + * @param mixed[] $params The list of parameters. * - * @return void - * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ - private static function _checkParams(array $params): void + private static function _checkParams(array $params) : void { // check existence of mandatory parameters // driver - if ( ! isset($params['driver']) && ! isset($params['driverClass'])) { + if (! isset($params['driver']) && ! isset($params['driverClass'])) { throw DBALException::driverRequired(); } @@ -216,7 +228,7 @@ final class DriverManager throw DBALException::unknownDriver($params['driver'], array_keys(self::$_driverMap)); } - if (isset($params['driverClass']) && ! in_array('Doctrine\DBAL\Driver', class_implements($params['driverClass'], true))) { + if (isset($params['driverClass']) && ! in_array(Driver::class, class_implements($params['driverClass'], true))) { throw DBALException::invalidDriverClass($params['driverClass']); } } @@ -224,11 +236,9 @@ final class DriverManager /** * Normalizes the given connection URL path. * - * @param string $urlPath - * * @return string The normalized connection URL path */ - private static function normalizeDatabaseUrlPath(string $urlPath): string + private static function normalizeDatabaseUrlPath(string $urlPath) : string { // Trim leading slash from URL path. return substr($urlPath, 1); @@ -238,16 +248,16 @@ final class DriverManager * Extracts parts from a database URL, if present, and returns an * updated list of parameters. * - * @param array $params The list of parameters. + * @param mixed[] $params The list of parameters. * - * @return array A modified list of parameters with info from a database - * URL extracted into indidivual parameter parts. + * @return mixed[] A modified list of parameters with info from a database + * URL extracted into indidivual parameter parts. * * @throws DBALException */ - private static function parseDatabaseUrl(array $params): array + private static function parseDatabaseUrl(array $params) : array { - if (!isset($params['url'])) { + if (! isset($params['url'])) { return $params; } @@ -292,14 +302,14 @@ final class DriverManager * Assumes that the connection URL scheme is already parsed and resolved into the given connection parameters * via {@link parseDatabaseUrlScheme}. * - * @param array $url The URL parts to evaluate. - * @param array $params The connection parameters to resolve. - * - * @return array The resolved connection parameters. - * * @see parseDatabaseUrlScheme + * + * @param mixed[] $url The URL parts to evaluate. + * @param mixed[] $params The connection parameters to resolve. + * + * @return mixed[] The resolved connection parameters. */ - private static function parseDatabaseUrlPath(array $url, array $params): array + private static function parseDatabaseUrlPath(array $url, array $params) : array { if (! isset($url['path'])) { return $params; @@ -323,12 +333,12 @@ final class DriverManager /** * Parses the query part of the given connection URL and resolves the given connection parameters. * - * @param array $url The connection URL parts to evaluate. - * @param array $params The connection parameters to resolve. + * @param mixed[] $url The connection URL parts to evaluate. + * @param mixed[] $params The connection parameters to resolve. * - * @return array The resolved connection parameters. + * @return mixed[] The resolved connection parameters. */ - private static function parseDatabaseUrlQuery(array $url, array $params): array + private static function parseDatabaseUrlQuery(array $url, array $params) : array { if (! isset($url['query'])) { return $params; @@ -346,14 +356,14 @@ final class DriverManager * * Assumes that the "path" URL part is already normalized via {@link normalizeDatabaseUrlPath}. * - * @param array $url The regular connection URL parts to evaluate. - * @param array $params The connection parameters to resolve. - * - * @return array The resolved connection parameters. - * * @see normalizeDatabaseUrlPath + * + * @param mixed[] $url The regular connection URL parts to evaluate. + * @param mixed[] $params The connection parameters to resolve. + * + * @return mixed[] The resolved connection parameters. */ - private static function parseRegularDatabaseUrlPath(array $url, array $params): array + private static function parseRegularDatabaseUrlPath(array $url, array $params) : array { $params['dbname'] = $url['path']; @@ -365,14 +375,14 @@ final class DriverManager * * Assumes that the "path" URL part is already normalized via {@link normalizeDatabaseUrlPath}. * - * @param array $url The SQLite connection URL parts to evaluate. - * @param array $params The connection parameters to resolve. - * - * @return array The resolved connection parameters. - * * @see normalizeDatabaseUrlPath + * + * @param mixed[] $url The SQLite connection URL parts to evaluate. + * @param mixed[] $params The connection parameters to resolve. + * + * @return mixed[] The resolved connection parameters. */ - private static function parseSqliteDatabaseUrlPath(array $url, array $params): array + private static function parseSqliteDatabaseUrlPath(array $url, array $params) : array { if ($url['path'] === ':memory:') { $params['memory'] = true; @@ -388,14 +398,14 @@ final class DriverManager /** * Parses the scheme part from given connection URL and resolves the given connection parameters. * - * @param array $url The connection URL parts to evaluate. - * @param array $params The connection parameters to resolve. + * @param mixed[] $url The connection URL parts to evaluate. + * @param mixed[] $params The connection parameters to resolve. * - * @return array The resolved connection parameters. + * @return mixed[] The resolved connection parameters. * - * @throws DBALException if parsing failed or resolution is not possible. + * @throws DBALException If parsing failed or resolution is not possible. */ - private static function parseDatabaseUrlScheme(array $url, array $params): array + private static function parseDatabaseUrlScheme(array $url, array $params) : array { if (isset($url['scheme'])) { // The requested driver from the URL scheme takes precedence diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/ConnectionEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/ConnectionEventArgs.php index fd82638e7..bb0ca886d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/ConnectionEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/ConnectionEventArgs.php @@ -1,78 +1,55 @@ . - */ namespace Doctrine\DBAL\Event; use Doctrine\Common\EventArgs; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Driver; +use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Schema\AbstractSchemaManager; /** * Event Arguments used when a Driver connection is established inside Doctrine\DBAL\Connection. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei */ class ConnectionEventArgs extends EventArgs { - /** - * @var \Doctrine\DBAL\Connection - */ - private $_connection; + /** @var Connection */ + private $connection; - /** - * @param \Doctrine\DBAL\Connection $connection - */ public function __construct(Connection $connection) { - $this->_connection = $connection; + $this->connection = $connection; } /** - * @return \Doctrine\DBAL\Connection + * @return Connection */ public function getConnection() { - return $this->_connection; + return $this->connection; } /** - * @return \Doctrine\DBAL\Driver + * @return Driver */ public function getDriver() { - return $this->_connection->getDriver(); + return $this->connection->getDriver(); } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getDatabasePlatform() { - return $this->_connection->getDatabasePlatform(); + return $this->connection->getDatabasePlatform(); } /** - * @return \Doctrine\DBAL\Schema\AbstractSchemaManager + * @return AbstractSchemaManager */ public function getSchemaManager() { - return $this->_connection->getSchemaManager(); + return $this->connection->getSchemaManager(); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php index 043f7b5eb..9e7229040 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/MysqlSessionInit.php @@ -1,34 +1,14 @@ . - */ namespace Doctrine\DBAL\Event\Listeners; +use Doctrine\Common\EventSubscriber; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; -use Doctrine\Common\EventSubscriber; /** * MySQL Session Init Event Subscriber which allows to set the Client Encoding of the Connection. * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei * @deprecated Use "charset" option to PDO MySQL Connection instead. */ class MysqlSessionInit implements EventSubscriber @@ -38,36 +18,34 @@ class MysqlSessionInit implements EventSubscriber * * @var string */ - private $_charset; + private $charset; /** * The collation, or FALSE if no collation. * - * @var string|boolean + * @var string|bool */ - private $_collation; + private $collation; /** * Configure Charset and Collation options of MySQL Client for each Connection. * - * @param string $charset The charset. - * @param string|boolean $collation The collation, or FALSE if no collation. + * @param string $charset The charset. + * @param string|bool $collation The collation, or FALSE if no collation. */ public function __construct($charset = 'utf8', $collation = false) { - $this->_charset = $charset; - $this->_collation = $collation; + $this->charset = $charset; + $this->collation = $collation; } /** - * @param \Doctrine\DBAL\Event\ConnectionEventArgs $args - * * @return void */ public function postConnect(ConnectionEventArgs $args) { - $collation = ($this->_collation) ? " COLLATE ".$this->_collation : ""; - $args->getConnection()->executeUpdate("SET NAMES ".$this->_charset . $collation); + $collation = $this->collation ? ' COLLATE ' . $this->collation : ''; + $args->getConnection()->executeUpdate('SET NAMES ' . $this->charset . $collation); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/OracleSessionInit.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/OracleSessionInit.php index 851986cc1..19f2b3fd3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/OracleSessionInit.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/OracleSessionInit.php @@ -1,27 +1,11 @@ . - */ namespace Doctrine\DBAL\Event\Listeners; +use Doctrine\Common\EventSubscriber; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; -use Doctrine\Common\EventSubscriber; +use const CASE_UPPER; use function array_change_key_case; use function array_merge; use function count; @@ -36,26 +20,20 @@ use function implode; * NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" * NLS_TIMESTAMP_FORMAT="YYYY-MM-DD HH24:MI:SS" * NLS_TIMESTAMP_TZ_FORMAT="YYYY-MM-DD HH24:MI:SS TZH:TZM" - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class OracleSessionInit implements EventSubscriber { - /** - * @var array - */ + /** @var string[] */ protected $_defaultSessionVars = [ - 'NLS_TIME_FORMAT' => "HH24:MI:SS", - 'NLS_DATE_FORMAT' => "YYYY-MM-DD HH24:MI:SS", - 'NLS_TIMESTAMP_FORMAT' => "YYYY-MM-DD HH24:MI:SS", - 'NLS_TIMESTAMP_TZ_FORMAT' => "YYYY-MM-DD HH24:MI:SS TZH:TZM", - 'NLS_NUMERIC_CHARACTERS' => ".,", + 'NLS_TIME_FORMAT' => 'HH24:MI:SS', + 'NLS_DATE_FORMAT' => 'YYYY-MM-DD HH24:MI:SS', + 'NLS_TIMESTAMP_FORMAT' => 'YYYY-MM-DD HH24:MI:SS', + 'NLS_TIMESTAMP_TZ_FORMAT' => 'YYYY-MM-DD HH24:MI:SS TZH:TZM', + 'NLS_NUMERIC_CHARACTERS' => '.,', ]; /** - * @param array $oracleSessionVars + * @param string[] $oracleSessionVars */ public function __construct(array $oracleSessionVars = []) { @@ -63,25 +41,25 @@ class OracleSessionInit implements EventSubscriber } /** - * @param \Doctrine\DBAL\Event\ConnectionEventArgs $args - * * @return void */ public function postConnect(ConnectionEventArgs $args) { - if (count($this->_defaultSessionVars)) { - array_change_key_case($this->_defaultSessionVars, \CASE_UPPER); - $vars = []; - foreach ($this->_defaultSessionVars as $option => $value) { - if ($option === 'CURRENT_SCHEMA') { - $vars[] = $option . " = " . $value; - } else { - $vars[] = $option . " = '" . $value . "'"; - } - } - $sql = "ALTER SESSION SET ".implode(" ", $vars); - $args->getConnection()->executeUpdate($sql); + if (! count($this->_defaultSessionVars)) { + return; } + + array_change_key_case($this->_defaultSessionVars, CASE_UPPER); + $vars = []; + foreach ($this->_defaultSessionVars as $option => $value) { + if ($option === 'CURRENT_SCHEMA') { + $vars[] = $option . ' = ' . $value; + } else { + $vars[] = $option . " = '" . $value . "'"; + } + } + $sql = 'ALTER SESSION SET ' . implode(' ', $vars); + $args->getConnection()->executeUpdate($sql); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/SQLSessionInit.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/SQLSessionInit.php index 767c80482..ea63cab43 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/SQLSessionInit.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/Listeners/SQLSessionInit.php @@ -1,40 +1,17 @@ . - */ namespace Doctrine\DBAL\Event\Listeners; +use Doctrine\Common\EventSubscriber; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; -use Doctrine\Common\EventSubscriber; /** * Session init listener for executing a single SQL statement right after a connection is opened. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Benjamin Eberlei */ class SQLSessionInit implements EventSubscriber { - /** - * @var string - */ + /** @var string */ protected $sql; /** @@ -46,8 +23,6 @@ class SQLSessionInit implements EventSubscriber } /** - * @param \Doctrine\DBAL\Event\ConnectionEventArgs $args - * * @return void */ public function postConnect(ConnectionEventArgs $args) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableAddColumnEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableAddColumnEventArgs.php index 7cb235ea1..2f9edfea6 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableAddColumnEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableAddColumnEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -27,90 +10,73 @@ use function is_array; /** * Event Arguments used when SQL queries for adding table columns are generated inside Doctrine\DBAL\Platform\*Platform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaAlterTableAddColumnEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Column - */ - private $_column; + /** @var Column */ + private $column; - /** - * @var \Doctrine\DBAL\Schema\TableDiff - */ - private $_tableDiff; + /** @var TableDiff */ + private $tableDiff; - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; + /** @var AbstractPlatform */ + private $platform; - /** - * @var array - */ - private $_sql = []; + /** @var string[] */ + private $sql = []; - /** - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - */ public function __construct(Column $column, TableDiff $tableDiff, AbstractPlatform $platform) { - $this->_column = $column; - $this->_tableDiff = $tableDiff; - $this->_platform = $platform; + $this->column = $column; + $this->tableDiff = $tableDiff; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\Column + * @return Column */ public function getColumn() { - return $this->_column; + return $this->column; } /** - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff */ public function getTableDiff() { - return $this->_tableDiff; + return $this->tableDiff; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaAlterTableAddColumnEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableChangeColumnEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableChangeColumnEventArgs.php index fdafb45a7..55661d5d3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableChangeColumnEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableChangeColumnEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -27,90 +10,73 @@ use function is_array; /** * Event Arguments used when SQL queries for changing table columns are generated inside Doctrine\DBAL\Platform\*Platform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaAlterTableChangeColumnEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\ColumnDiff - */ - private $_columnDiff; + /** @var ColumnDiff */ + private $columnDiff; - /** - * @var \Doctrine\DBAL\Schema\TableDiff - */ - private $_tableDiff; + /** @var TableDiff */ + private $tableDiff; - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; + /** @var AbstractPlatform */ + private $platform; - /** - * @var array - */ - private $_sql = []; + /** @var string[] */ + private $sql = []; - /** - * @param \Doctrine\DBAL\Schema\ColumnDiff $columnDiff - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - */ public function __construct(ColumnDiff $columnDiff, TableDiff $tableDiff, AbstractPlatform $platform) { - $this->_columnDiff = $columnDiff; - $this->_tableDiff = $tableDiff; - $this->_platform = $platform; + $this->columnDiff = $columnDiff; + $this->tableDiff = $tableDiff; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\ColumnDiff + * @return ColumnDiff */ public function getColumnDiff() { - return $this->_columnDiff; + return $this->columnDiff; } /** - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff */ public function getTableDiff() { - return $this->_tableDiff; + return $this->tableDiff; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaAlterTableChangeColumnEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableEventArgs.php index 8e60b2c5f..8f5f0ecf5 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -26,75 +9,61 @@ use function is_array; /** * Event Arguments used when SQL queries for creating tables are generated inside Doctrine\DBAL\Platform\*Platform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaAlterTableEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\TableDiff - */ - private $_tableDiff; + /** @var TableDiff */ + private $tableDiff; - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; + /** @var AbstractPlatform */ + private $platform; - /** - * @var array - */ - private $_sql = []; + /** @var string[] */ + private $sql = []; - /** - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - */ public function __construct(TableDiff $tableDiff, AbstractPlatform $platform) { - $this->_tableDiff = $tableDiff; - $this->_platform = $platform; + $this->tableDiff = $tableDiff; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff */ public function getTableDiff() { - return $this->_tableDiff; + return $this->tableDiff; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaAlterTableEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRemoveColumnEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRemoveColumnEventArgs.php index 52413ce91..1bc9f5901 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRemoveColumnEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRemoveColumnEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -27,90 +10,73 @@ use function is_array; /** * Event Arguments used when SQL queries for removing table columns are generated inside Doctrine\DBAL\Platform\*Platform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaAlterTableRemoveColumnEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Column - */ - private $_column; + /** @var Column */ + private $column; - /** - * @var \Doctrine\DBAL\Schema\TableDiff - */ - private $_tableDiff; + /** @var TableDiff */ + private $tableDiff; - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; + /** @var AbstractPlatform */ + private $platform; - /** - * @var array - */ - private $_sql = []; + /** @var string[] */ + private $sql = []; - /** - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - */ public function __construct(Column $column, TableDiff $tableDiff, AbstractPlatform $platform) { - $this->_column = $column; - $this->_tableDiff = $tableDiff; - $this->_platform = $platform; + $this->column = $column; + $this->tableDiff = $tableDiff; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\Column + * @return Column */ public function getColumn() { - return $this->_column; + return $this->column; } /** - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff */ public function getTableDiff() { - return $this->_tableDiff; + return $this->tableDiff; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaAlterTableRemoveColumnEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRenameColumnEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRenameColumnEventArgs.php index 697660442..911ea8b4a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRenameColumnEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaAlterTableRenameColumnEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -27,50 +10,33 @@ use function is_array; /** * Event Arguments used when SQL queries for renaming table columns are generated inside Doctrine\DBAL\Platform\*Platform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaAlterTableRenameColumnEventArgs extends SchemaEventArgs { - /** - * @var string - */ - private $_oldColumnName; + /** @var string */ + private $oldColumnName; + + /** @var Column */ + private $column; + + /** @var TableDiff */ + private $tableDiff; + + /** @var AbstractPlatform */ + private $platform; + + /** @var string[] */ + private $sql = []; /** - * @var \Doctrine\DBAL\Schema\Column - */ - private $_column; - - /** - * @var \Doctrine\DBAL\Schema\TableDiff - */ - private $_tableDiff; - - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; - - /** - * @var array - */ - private $_sql = []; - - /** - * @param string $oldColumnName - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @param string $oldColumnName */ public function __construct($oldColumnName, Column $column, TableDiff $tableDiff, AbstractPlatform $platform) { - $this->_oldColumnName = $oldColumnName; - $this->_column = $column; - $this->_tableDiff = $tableDiff; - $this->_platform = $platform; + $this->oldColumnName = $oldColumnName; + $this->column = $column; + $this->tableDiff = $tableDiff; + $this->platform = $platform; } /** @@ -78,54 +44,54 @@ class SchemaAlterTableRenameColumnEventArgs extends SchemaEventArgs */ public function getOldColumnName() { - return $this->_oldColumnName; + return $this->oldColumnName; } /** - * @return \Doctrine\DBAL\Schema\Column + * @return Column */ public function getColumn() { - return $this->_column; + return $this->column; } /** - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff */ public function getTableDiff() { - return $this->_tableDiff; + return $this->tableDiff; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaAlterTableRenameColumnEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaColumnDefinitionEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaColumnDefinitionEventArgs.php index 14bb8df73..19d9f93a3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaColumnDefinitionEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaColumnDefinitionEventArgs.php @@ -1,106 +1,75 @@ . - */ namespace Doctrine\DBAL\Event; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\Column; /** * Event Arguments used when the portable column definition is generated inside Doctrine\DBAL\Schema\AbstractSchemaManager. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaColumnDefinitionEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Column|null - */ - private $_column = null; + /** @var Column|null */ + private $column = null; /** * Raw column data as fetched from the database. * - * @var array + * @var mixed[] */ - private $_tableColumn; + private $tableColumn; + + /** @var string */ + private $table; + + /** @var string */ + private $database; + + /** @var Connection */ + private $connection; /** - * @var string - */ - private $_table; - - /** - * @var string - */ - private $_database; - - /** - * @var \Doctrine\DBAL\Connection - */ - private $_connection; - - /** - * @param array $tableColumn - * @param string $table - * @param string $database - * @param \Doctrine\DBAL\Connection $connection + * @param mixed[] $tableColumn + * @param string $table + * @param string $database */ public function __construct(array $tableColumn, $table, $database, Connection $connection) { - $this->_tableColumn = $tableColumn; - $this->_table = $table; - $this->_database = $database; - $this->_connection = $connection; + $this->tableColumn = $tableColumn; + $this->table = $table; + $this->database = $database; + $this->connection = $connection; } /** * Allows to clear the column which means the column will be excluded from * tables column list. * - * @param null|\Doctrine\DBAL\Schema\Column $column - * * @return \Doctrine\DBAL\Event\SchemaColumnDefinitionEventArgs */ - public function setColumn(Column $column = null) + public function setColumn(?Column $column = null) { - $this->_column = $column; + $this->column = $column; return $this; } /** - * @return \Doctrine\DBAL\Schema\Column|null + * @return Column|null */ public function getColumn() { - return $this->_column; + return $this->column; } /** - * @return array + * @return mixed[] */ public function getTableColumn() { - return $this->_tableColumn; + return $this->tableColumn; } /** @@ -108,7 +77,7 @@ class SchemaColumnDefinitionEventArgs extends SchemaEventArgs */ public function getTable() { - return $this->_table; + return $this->table; } /** @@ -116,22 +85,22 @@ class SchemaColumnDefinitionEventArgs extends SchemaEventArgs */ public function getDatabase() { - return $this->_database; + return $this->database; } /** - * @return \Doctrine\DBAL\Connection + * @return Connection */ public function getConnection() { - return $this->_connection; + return $this->connection; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getDatabasePlatform() { - return $this->_connection->getDatabasePlatform(); + return $this->connection->getDatabasePlatform(); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableColumnEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableColumnEventArgs.php index 824e243b1..9d24b8b90 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableColumnEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableColumnEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -27,90 +10,73 @@ use function is_array; /** * Event Arguments used when SQL queries for creating table columns are generated inside Doctrine\DBAL\Platform\AbstractPlatform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaCreateTableColumnEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Column - */ - private $_column; + /** @var Column */ + private $column; - /** - * @var \Doctrine\DBAL\Schema\Table - */ - private $_table; + /** @var Table */ + private $table; - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; + /** @var AbstractPlatform */ + private $platform; - /** - * @var array - */ - private $_sql = []; + /** @var string[] */ + private $sql = []; - /** - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - */ public function __construct(Column $column, Table $table, AbstractPlatform $platform) { - $this->_column = $column; - $this->_table = $table; - $this->_platform = $platform; + $this->column = $column; + $this->table = $table; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\Column + * @return Column */ public function getColumn() { - return $this->_column; + return $this->column; } /** - * @return \Doctrine\DBAL\Schema\Table + * @return Table */ public function getTable() { - return $this->_table; + return $this->table; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaCreateTableColumnEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableEventArgs.php index 7993b3adb..538617cc3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaCreateTableEventArgs.php @@ -1,130 +1,98 @@ . - */ namespace Doctrine\DBAL\Event; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\Table; use function array_merge; use function is_array; /** * Event Arguments used when SQL queries for creating tables are generated inside Doctrine\DBAL\Platform\AbstractPlatform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaCreateTableEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Table - */ - private $_table; + /** @var Table */ + private $table; + + /** @var Column[] */ + private $columns; + + /** @var mixed[] */ + private $options; + + /** @var AbstractPlatform */ + private $platform; + + /** @var string[] */ + private $sql = []; /** - * @var array - */ - private $_columns; - - /** - * @var array - */ - private $_options; - - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; - - /** - * @var array - */ - private $_sql = []; - - /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param array $columns - * @param array $options - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @param Column[] $columns + * @param mixed[] $options */ public function __construct(Table $table, array $columns, array $options, AbstractPlatform $platform) { - $this->_table = $table; - $this->_columns = $columns; - $this->_options = $options; - $this->_platform = $platform; + $this->table = $table; + $this->columns = $columns; + $this->options = $options; + $this->platform = $platform; } /** - * @return \Doctrine\DBAL\Schema\Table + * @return Table */ public function getTable() { - return $this->_table; + return $this->table; } /** - * @return array + * @return Column[] */ public function getColumns() { - return $this->_columns; + return $this->columns; } /** - * @return array + * @return mixed[] */ public function getOptions() { - return $this->_options; + return $this->options; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** - * @param string|array $sql + * @param string|string[] $sql * * @return \Doctrine\DBAL\Event\SchemaCreateTableEventArgs */ public function addSql($sql) { if (is_array($sql)) { - $this->_sql = array_merge($this->_sql, $sql); + $this->sql = array_merge($this->sql, $sql); } else { - $this->_sql[] = $sql; + $this->sql[] = $sql; } return $this; } /** - * @return array + * @return string[] */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaDropTableEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaDropTableEventArgs.php index b3c904221..900b9fbfd 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaDropTableEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaDropTableEventArgs.php @@ -1,82 +1,55 @@ . - */ namespace Doctrine\DBAL\Event; use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\Table; +use InvalidArgumentException; use function is_string; /** * Event Arguments used when the SQL query for dropping tables are generated inside Doctrine\DBAL\Platform\AbstractPlatform. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaDropTableEventArgs extends SchemaEventArgs { - /** - * @var string|\Doctrine\DBAL\Schema\Table - */ - private $_table; + /** @var string|Table */ + private $table; + + /** @var AbstractPlatform */ + private $platform; + + /** @var string|null */ + private $sql = null; /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ - private $_platform; - - /** - * @var string|null - */ - private $_sql = null; - - /** - * @param string|\Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @param string|Table $table * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function __construct($table, AbstractPlatform $platform) { - if ( ! $table instanceof Table && !is_string($table)) { - throw new \InvalidArgumentException('SchemaDropTableEventArgs expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + if (! $table instanceof Table && ! is_string($table)) { + throw new InvalidArgumentException('SchemaDropTableEventArgs expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } - $this->_table = $table; - $this->_platform = $platform; + $this->table = $table; + $this->platform = $platform; } /** - * @return string|\Doctrine\DBAL\Schema\Table + * @return string|Table */ public function getTable() { - return $this->_table; + return $this->table; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getPlatform() { - return $this->_platform; + return $this->platform; } /** @@ -86,7 +59,7 @@ class SchemaDropTableEventArgs extends SchemaEventArgs */ public function setSql($sql) { - $this->_sql = $sql; + $this->sql = $sql; return $this; } @@ -96,6 +69,6 @@ class SchemaDropTableEventArgs extends SchemaEventArgs */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaEventArgs.php index db12e57ad..0db0689c5 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaEventArgs.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Event; @@ -23,24 +6,18 @@ use Doctrine\Common\EventArgs; /** * Base class for schema related events. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaEventArgs extends EventArgs { - /** - * @var bool - */ - private $_preventDefault = false; + /** @var bool */ + private $preventDefault = false; /** * @return \Doctrine\DBAL\Event\SchemaEventArgs */ public function preventDefault() { - $this->_preventDefault = true; + $this->preventDefault = true; return $this; } @@ -50,6 +27,6 @@ class SchemaEventArgs extends EventArgs */ public function isDefaultPrevented() { - return $this->_preventDefault; + return $this->preventDefault; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaIndexDefinitionEventArgs.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaIndexDefinitionEventArgs.php index 3fd1d4bf7..317f352b8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaIndexDefinitionEventArgs.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Event/SchemaIndexDefinitionEventArgs.php @@ -1,98 +1,69 @@ . - */ namespace Doctrine\DBAL\Event; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\Index; /** * Event Arguments used when the portable index definition is generated inside Doctrine\DBAL\Schema\AbstractSchemaManager. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Jan Sorgalla */ class SchemaIndexDefinitionEventArgs extends SchemaEventArgs { - /** - * @var \Doctrine\DBAL\Schema\Index|null - */ - private $_index = null; + /** @var Index|null */ + private $index = null; /** * Raw index data as fetched from the database. * - * @var array + * @var mixed[] */ - private $_tableIndex; + private $tableIndex; + + /** @var string */ + private $table; + + /** @var Connection */ + private $connection; /** - * @var string - */ - private $_table; - - /** - * @var \Doctrine\DBAL\Connection - */ - private $_connection; - - /** - * @param array $tableIndex - * @param string $table - * @param \Doctrine\DBAL\Connection $connection + * @param mixed[] $tableIndex + * @param string $table */ public function __construct(array $tableIndex, $table, Connection $connection) { - $this->_tableIndex = $tableIndex; - $this->_table = $table; - $this->_connection = $connection; + $this->tableIndex = $tableIndex; + $this->table = $table; + $this->connection = $connection; } /** * Allows to clear the index which means the index will be excluded from tables index list. * - * @param null|\Doctrine\DBAL\Schema\Index $index - * * @return SchemaIndexDefinitionEventArgs */ - public function setIndex(Index $index = null) + public function setIndex(?Index $index = null) { - $this->_index = $index; + $this->index = $index; return $this; } /** - * @return \Doctrine\DBAL\Schema\Index|null + * @return Index|null */ public function getIndex() { - return $this->_index; + return $this->index; } /** - * @return array + * @return mixed[] */ public function getTableIndex() { - return $this->_tableIndex; + return $this->tableIndex; } /** @@ -100,22 +71,22 @@ class SchemaIndexDefinitionEventArgs extends SchemaEventArgs */ public function getTable() { - return $this->_table; + return $this->table; } /** - * @return \Doctrine\DBAL\Connection + * @return Connection */ public function getConnection() { - return $this->_connection; + return $this->connection; } /** - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getDatabasePlatform() { - return $this->_connection->getDatabasePlatform(); + return $this->connection->getDatabasePlatform(); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Events.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Events.php index 0d31504c7..5398d0f84 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Events.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Events.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL; @@ -23,9 +6,6 @@ namespace Doctrine\DBAL; * Container for all DBAL events. * * This class cannot be instantiated. - * - * @author Roman Borschel - * @since 2.0 */ final class Events { @@ -36,16 +16,16 @@ final class Events { } - const postConnect = 'postConnect'; + public const postConnect = 'postConnect'; - const onSchemaCreateTable = 'onSchemaCreateTable'; - const onSchemaCreateTableColumn = 'onSchemaCreateTableColumn'; - const onSchemaDropTable = 'onSchemaDropTable'; - const onSchemaAlterTable = 'onSchemaAlterTable'; - const onSchemaAlterTableAddColumn = 'onSchemaAlterTableAddColumn'; - const onSchemaAlterTableRemoveColumn = 'onSchemaAlterTableRemoveColumn'; - const onSchemaAlterTableChangeColumn = 'onSchemaAlterTableChangeColumn'; - const onSchemaAlterTableRenameColumn = 'onSchemaAlterTableRenameColumn'; - const onSchemaColumnDefinition = 'onSchemaColumnDefinition'; - const onSchemaIndexDefinition = 'onSchemaIndexDefinition'; + public const onSchemaCreateTable = 'onSchemaCreateTable'; + public const onSchemaCreateTableColumn = 'onSchemaCreateTableColumn'; + public const onSchemaDropTable = 'onSchemaDropTable'; + public const onSchemaAlterTable = 'onSchemaAlterTable'; + public const onSchemaAlterTableAddColumn = 'onSchemaAlterTableAddColumn'; + public const onSchemaAlterTableRemoveColumn = 'onSchemaAlterTableRemoveColumn'; + public const onSchemaAlterTableChangeColumn = 'onSchemaAlterTableChangeColumn'; + public const onSchemaAlterTableRenameColumn = 'onSchemaAlterTableRenameColumn'; + public const onSchemaColumnDefinition = 'onSchemaColumnDefinition'; + public const onSchemaIndexDefinition = 'onSchemaIndexDefinition'; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConnectionException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConnectionException.php index 8d976dcb3..e96a29191 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConnectionException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConnectionException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Base class for all connection related errors detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class ConnectionException extends DriverException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConstraintViolationException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConstraintViolationException.php index 8dd1cb694..3959f39af 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConstraintViolationException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ConstraintViolationException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Base class for all constraint violation related errors detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class ConstraintViolationException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectExistsException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectExistsException.php index 279aae9a5..7e0ba0299 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectExistsException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectExistsException.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Exception; @@ -25,10 +8,6 @@ namespace Doctrine\DBAL\Exception; * A database object is considered any asset that can be created in a database * such as schemas, tables, views, sequences, triggers, constraints, indexes, * functions, stored procedures etc. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class DatabaseObjectExistsException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectNotFoundException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectNotFoundException.php index fbca22d99..3342bce8d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectNotFoundException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DatabaseObjectNotFoundException.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Exception; @@ -25,10 +8,6 @@ namespace Doctrine\DBAL\Exception; * A database object is considered any asset that can be created in a database * such as schemas, tables, views, sequences, triggers, constraints, indexes, * functions, stored procedures etc. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class DatabaseObjectNotFoundException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DeadlockException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DeadlockException.php index 05af11e4b..fd0550a56 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DeadlockException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DeadlockException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a deadlock error of a transaction detected in the driver. - * - * @author Tobias Schultze - * @link www.doctrine-project.org - * @since 2.6 */ class DeadlockException extends ServerException implements RetryableException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DriverException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DriverException.php index 08b7935a0..d37533298 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DriverException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/DriverException.php @@ -1,32 +1,12 @@ . - */ namespace Doctrine\DBAL\Exception; use Doctrine\DBAL\DBALException; +use Exception; /** * Base class for all errors detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class DriverException extends DBALException { @@ -38,8 +18,6 @@ class DriverException extends DBALException private $driverException; /** - * Constructor. - * * @param string $message The exception message. * @param \Doctrine\DBAL\Driver\DriverException $driverException The DBAL driver exception to chain. */ @@ -47,7 +25,7 @@ class DriverException extends DBALException { $exception = null; - if ($driverException instanceof \Exception) { + if ($driverException instanceof Exception) { $exception = $driverException; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ForeignKeyConstraintViolationException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ForeignKeyConstraintViolationException.php index d244855a1..48d736f9e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ForeignKeyConstraintViolationException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ForeignKeyConstraintViolationException.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a foreign key constraint violation detected in the driver. - * - * @author Benjamin Eberlei - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class ForeignKeyConstraintViolationException extends ConstraintViolationException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidArgumentException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidArgumentException.php index 5b811227b..5d431e603 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidArgumentException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidArgumentException.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Exception; @@ -23,10 +6,6 @@ use Doctrine\DBAL\DBALException; /** * Exception to be thrown when invalid arguments are passed to any DBAL API - * - * @author Marco Pivetta - * @link www.doctrine-project.org - * @since 2.5 */ class InvalidArgumentException extends DBALException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidFieldNameException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidFieldNameException.php index e0b1013fe..d960feaf8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidFieldNameException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/InvalidFieldNameException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for an invalid specified field name in a statement detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class InvalidFieldNameException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/LockWaitTimeoutException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/LockWaitTimeoutException.php index 915e11b8b..bfc3a498a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/LockWaitTimeoutException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/LockWaitTimeoutException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a lock wait timeout error of a transaction detected in the driver. - * - * @author Tobias Schultze - * @link www.doctrine-project.org - * @since 2.6 */ class LockWaitTimeoutException extends ServerException implements RetryableException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NonUniqueFieldNameException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NonUniqueFieldNameException.php index 7b214e3b9..fd56f8969 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NonUniqueFieldNameException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NonUniqueFieldNameException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a non-unique/ambiguous specified field name in a statement detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class NonUniqueFieldNameException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NotNullConstraintViolationException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NotNullConstraintViolationException.php index a1f45b92a..e327bc94d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NotNullConstraintViolationException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/NotNullConstraintViolationException.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a NOT NULL constraint violation detected in the driver. - * - * @author Benjamin Eberlei - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class NotNullConstraintViolationException extends ConstraintViolationException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ReadOnlyException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ReadOnlyException.php index 0345e88fc..a846f2501 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ReadOnlyException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ReadOnlyException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a write operation attempt on a read-only database element detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class ReadOnlyException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/RetryableException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/RetryableException.php index 6b019dcc4..e1ccd02ff 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/RetryableException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/RetryableException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Marker interface for all exceptions where retrying the transaction makes sense. - * - * @author Tobias Schultze - * @link www.doctrine-project.org - * @since 2.6 */ interface RetryableException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ServerException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ServerException.php index 36460ee0d..c88c3863b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ServerException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/ServerException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Base class for all server related errors detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class ServerException extends DriverException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/SyntaxErrorException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/SyntaxErrorException.php index 97b8fd25f..0b413b719 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/SyntaxErrorException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/SyntaxErrorException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a syntax error in a statement detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SyntaxErrorException extends ServerException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableExistsException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableExistsException.php index c90bfb476..ff0df89af 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableExistsException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableExistsException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for an already existing table referenced in a statement detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class TableExistsException extends DatabaseObjectExistsException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableNotFoundException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableNotFoundException.php index 90793b909..aeaa0057d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableNotFoundException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/TableNotFoundException.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for an unknown table referenced in a statement detected in the driver. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class TableNotFoundException extends DatabaseObjectNotFoundException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/UniqueConstraintViolationException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/UniqueConstraintViolationException.php index cd117738d..c762ad3c7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/UniqueConstraintViolationException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Exception/UniqueConstraintViolationException.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Exception; /** * Exception for a unique constraint violation detected in the driver. - * - * @author Benjamin Eberlei - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class UniqueConstraintViolationException extends ConstraintViolationException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php index a3e7f3ba6..b3fe42f4c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/FetchMode.php @@ -2,6 +2,8 @@ namespace Doctrine\DBAL; +use PDO; + /** * Contains statement fetch modes. */ @@ -15,7 +17,7 @@ final class FetchMode * * @see \PDO::FETCH_ASSOC */ - public const ASSOCIATIVE = \PDO::FETCH_ASSOC; + public const ASSOCIATIVE = PDO::FETCH_ASSOC; /** * Specifies that the fetch method shall return each row as an array indexed @@ -24,7 +26,7 @@ final class FetchMode * * @see \PDO::FETCH_NUM */ - public const NUMERIC = \PDO::FETCH_NUM; + public const NUMERIC = PDO::FETCH_NUM; /** * Specifies that the fetch method shall return each row as an array indexed @@ -33,7 +35,7 @@ final class FetchMode * * @see \PDO::FETCH_BOTH */ - public const MIXED = \PDO::FETCH_BOTH; + public const MIXED = PDO::FETCH_BOTH; /** * Specifies that the fetch method shall return each row as an object with @@ -42,7 +44,7 @@ final class FetchMode * * @see \PDO::FETCH_OBJ */ - public const STANDARD_OBJECT = \PDO::FETCH_OBJ; + public const STANDARD_OBJECT = PDO::FETCH_OBJ; /** * Specifies that the fetch method shall return only a single requested @@ -50,7 +52,7 @@ final class FetchMode * * @see \PDO::FETCH_COLUMN */ - public const COLUMN = \PDO::FETCH_COLUMN; + public const COLUMN = PDO::FETCH_COLUMN; /** * Specifies that the fetch method shall return a new instance of the @@ -58,7 +60,7 @@ final class FetchMode * * @see \PDO::FETCH_CLASS */ - public const CUSTOM_OBJECT = \PDO::FETCH_CLASS; + public const CUSTOM_OBJECT = PDO::FETCH_CLASS; /** * This class cannot be instantiated. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGenerator.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGenerator.php index 068eb6056..cb34dcd5c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGenerator.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGenerator.php @@ -1,28 +1,13 @@ . - */ namespace Doctrine\DBAL\Id; -use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\Connection; +use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\LockMode; +use Throwable; use const CASE_LOWER; use function array_change_key_case; @@ -62,39 +47,30 @@ use function array_change_key_case; * * If no row is present for a given sequence a new one will be created with the * default values 'value' = 1 and 'increment_by' = 1 - * - * @author Benjamin Eberlei */ class TableGenerator { - /** - * @var \Doctrine\DBAL\Connection - */ + /** @var Connection */ private $conn; - /** - * @var string - */ + /** @var string */ private $generatorTableName; - /** - * @var array - */ + /** @var mixed[][] */ private $sequences = []; /** - * @param \Doctrine\DBAL\Connection $conn - * @param string $generatorTableName + * @param string $generatorTableName * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function __construct(Connection $conn, $generatorTableName = 'sequences') { $params = $conn->getParams(); - if ($params['driver'] == 'pdo_sqlite') { - throw new \Doctrine\DBAL\DBALException("Cannot use TableGenerator with SQLite."); + if ($params['driver'] === 'pdo_sqlite') { + throw new DBALException('Cannot use TableGenerator with SQLite.'); } - $this->conn = DriverManager::getConnection($params, $conn->getConfiguration(), $conn->getEventManager()); + $this->conn = DriverManager::getConnection($params, $conn->getConfiguration(), $conn->getEventManager()); $this->generatorTableName = $generatorTableName; } @@ -105,7 +81,7 @@ class TableGenerator * * @return int * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function nextValue($sequenceName) { @@ -113,7 +89,7 @@ class TableGenerator $value = $this->sequences[$sequenceName]['value']; $this->sequences[$sequenceName]['value']++; if ($this->sequences[$sequenceName]['value'] >= $this->sequences[$sequenceName]['max']) { - unset ($this->sequences[$sequenceName]); + unset($this->sequences[$sequenceName]); } return $value; @@ -138,17 +114,17 @@ class TableGenerator if ($row['sequence_increment_by'] > 1) { $this->sequences[$sequenceName] = [ 'value' => $value, - 'max' => $row['sequence_value'] + $row['sequence_increment_by'] + 'max' => $row['sequence_value'] + $row['sequence_increment_by'], ]; } - $sql = "UPDATE " . $this->generatorTableName . " ". - "SET sequence_value = sequence_value + sequence_increment_by " . - "WHERE sequence_name = ? AND sequence_value = ?"; + $sql = 'UPDATE ' . $this->generatorTableName . ' ' . + 'SET sequence_value = sequence_value + sequence_increment_by ' . + 'WHERE sequence_name = ? AND sequence_value = ?'; $rows = $this->conn->executeUpdate($sql, [$sequenceName, $row['sequence_value']]); - if ($rows != 1) { - throw new \Doctrine\DBAL\DBALException("Race-condition detected while updating sequence. Aborting generation"); + if ($rows !== 1) { + throw new DBALException('Race-condition detected while updating sequence. Aborting generation'); } } else { $this->conn->insert( @@ -159,10 +135,9 @@ class TableGenerator } $this->conn->commit(); - - } catch (\Exception $e) { + } catch (Throwable $e) { $this->conn->rollBack(); - throw new \Doctrine\DBAL\DBALException("Error occurred while generating ID with TableGenerator, aborted generation: " . $e->getMessage(), 0, $e); + throw new DBALException('Error occurred while generating ID with TableGenerator, aborted generation: ' . $e->getMessage(), 0, $e); } return $value; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGeneratorSchemaVisitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGeneratorSchemaVisitor.php index 619a92f7b..3ec22f37c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGeneratorSchemaVisitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Id/TableGeneratorSchemaVisitor.php @@ -1,36 +1,18 @@ . - */ namespace Doctrine\DBAL\Id; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ForeignKeyConstraint; -use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\Index; +use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\Visitor\Visitor; -class TableGeneratorSchemaVisitor implements \Doctrine\DBAL\Schema\Visitor\Visitor +class TableGeneratorSchemaVisitor implements Visitor { - /** - * @var string - */ + /** @var string */ private $generatorTableName; /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/LockMode.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/LockMode.php index 8d78180ed..14e81432b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/LockMode.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/LockMode.php @@ -1,38 +1,16 @@ . - */ namespace Doctrine\DBAL; /** * Contains all DBAL LockModes. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei - * @author Roman Borschel */ class LockMode { - const NONE = 0; - const OPTIMISTIC = 1; - const PESSIMISTIC_READ = 2; - const PESSIMISTIC_WRITE = 4; + public const NONE = 0; + public const OPTIMISTIC = 1; + public const PESSIMISTIC_READ = 2; + public const PESSIMISTIC_WRITE = 4; /** * Private constructor. This class cannot be instantiated. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/DebugStack.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/DebugStack.php index 4cffaa67f..e1ccaad6b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/DebugStack.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/DebugStack.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Logging; @@ -23,20 +6,13 @@ use function microtime; /** * Includes executed SQLs in a Debug Stack. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class DebugStack implements SQLLogger { /** * Executed SQL queries. * - * @var array + * @var mixed[][] */ public $queries = []; @@ -47,25 +23,23 @@ class DebugStack implements SQLLogger */ public $enabled = true; - /** - * @var float|null - */ + /** @var float|null */ public $start = null; - /** - * @var int - */ + /** @var int */ public $currentQuery = 0; /** * {@inheritdoc} */ - public function startQuery($sql, array $params = null, array $types = null) + public function startQuery($sql, ?array $params = null, ?array $types = null) { - if ($this->enabled) { - $this->start = microtime(true); - $this->queries[++$this->currentQuery] = ['sql' => $sql, 'params' => $params, 'types' => $types, 'executionMS' => 0]; + if (! $this->enabled) { + return; } + + $this->start = microtime(true); + $this->queries[++$this->currentQuery] = ['sql' => $sql, 'params' => $params, 'types' => $types, 'executionMS' => 0]; } /** @@ -73,8 +47,10 @@ class DebugStack implements SQLLogger */ public function stopQuery() { - if ($this->enabled) { - $this->queries[$this->currentQuery]['executionMS'] = microtime(true) - $this->start; + if (! $this->enabled) { + return; } + + $this->queries[$this->currentQuery]['executionMS'] = microtime(true) - $this->start; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/EchoSQLLogger.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/EchoSQLLogger.php index a6c1ae5ea..657abb4d3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/EchoSQLLogger.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/EchoSQLLogger.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Logging; @@ -24,20 +7,13 @@ use function var_dump; /** * A SQL logger that logs to the standard output using echo/var_dump. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class EchoSQLLogger implements SQLLogger { /** * {@inheritdoc} */ - public function startQuery($sql, array $params = null, array $types = null) + public function startQuery($sql, ?array $params = null, ?array $types = null) { echo $sql . PHP_EOL; @@ -45,9 +21,11 @@ class EchoSQLLogger implements SQLLogger var_dump($params); } - if ($types) { - var_dump($types); + if (! $types) { + return; } + + var_dump($types); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/LoggerChain.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/LoggerChain.php index fee05a4a0..2b5404b25 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/LoggerChain.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/LoggerChain.php @@ -1,43 +1,18 @@ . - */ namespace Doctrine\DBAL\Logging; /** * Chains multiple SQLLogger. - * - * @link www.doctrine-project.org - * @since 2.2 - * @author Christophe Coevoet */ class LoggerChain implements SQLLogger { - /** - * @var \Doctrine\DBAL\Logging\SQLLogger[] - */ + /** @var SQLLogger[] */ private $loggers = []; /** * Adds a logger in the chain. * - * @param \Doctrine\DBAL\Logging\SQLLogger $logger - * * @return void */ public function addLogger(SQLLogger $logger) @@ -48,7 +23,7 @@ class LoggerChain implements SQLLogger /** * {@inheritdoc} */ - public function startQuery($sql, array $params = null, array $types = null) + public function startQuery($sql, ?array $params = null, ?array $types = null) { foreach ($this->loggers as $logger) { $logger->startQuery($sql, $params, $types); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/SQLLogger.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/SQLLogger.php index 52491e50f..2e94611b6 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/SQLLogger.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Logging/SQLLogger.php @@ -1,46 +1,22 @@ . - */ namespace Doctrine\DBAL\Logging; /** * Interface for SQL loggers. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ interface SQLLogger { /** * Logs a SQL statement somewhere. * - * @param string $sql The SQL to be executed. - * @param array|null $params The SQL parameters. - * @param array|null $types The SQL parameter types. + * @param string $sql The SQL to be executed. + * @param mixed[]|null $params The SQL parameters. + * @param int[]|string[]|null $types The SQL parameter types. * * @return void */ - public function startQuery($sql, array $params = null, array $types = null); + public function startQuery($sql, ?array $params = null, ?array $types = null); /** * Marks the last started query as stopped. This can be used for timing of queries. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php index be5413e61..422fee895 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/ParameterType.php @@ -2,6 +2,8 @@ namespace Doctrine\DBAL; +use PDO; + /** * Contains statement parameter types. */ @@ -12,35 +14,35 @@ final class ParameterType * * @see \PDO::PARAM_NULL */ - public const NULL = \PDO::PARAM_NULL; + public const NULL = PDO::PARAM_NULL; /** * Represents the SQL INTEGER data type. * * @see \PDO::PARAM_INT */ - public const INTEGER = \PDO::PARAM_INT; + public const INTEGER = PDO::PARAM_INT; /** * Represents the SQL CHAR, VARCHAR, or other string data type. * * @see \PDO::PARAM_STR */ - public const STRING = \PDO::PARAM_STR; + public const STRING = PDO::PARAM_STR; /** * Represents the SQL large object data type. * * @see \PDO::PARAM_LOB */ - public const LARGE_OBJECT = \PDO::PARAM_LOB; + public const LARGE_OBJECT = PDO::PARAM_LOB; /** * Represents a boolean data type. * * @see \PDO::PARAM_BOOL */ - public const BOOLEAN = \PDO::PARAM_BOOL; + public const BOOLEAN = PDO::PARAM_BOOL; /** * Represents a binary string data type. diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php index a9dbebe48..5e4537391 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/AbstractPlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -30,6 +13,7 @@ use Doctrine\DBAL\Event\SchemaCreateTableColumnEventArgs; use Doctrine\DBAL\Event\SchemaCreateTableEventArgs; use Doctrine\DBAL\Event\SchemaDropTableEventArgs; use Doctrine\DBAL\Events; +use Doctrine\DBAL\Platforms\Keywords\KeywordList; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ColumnDiff; use Doctrine\DBAL\Schema\Constraint; @@ -42,6 +26,7 @@ use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\TransactionIsolationLevel; use Doctrine\DBAL\Types; use Doctrine\DBAL\Types\Type; +use InvalidArgumentException; use const E_USER_DEPRECATED; use function addcslashes; use function array_map; @@ -53,14 +38,12 @@ use function explode; use function func_get_arg; use function func_get_args; use function func_num_args; -use function get_class; use function implode; use function in_array; use function is_array; use function is_bool; use function is_int; use function is_string; -use function join; use function preg_quote; use function preg_replace; use function sprintf; @@ -76,26 +59,13 @@ use function trigger_error; * point of abstraction of platform-specific behaviors, features and SQL dialects. * They are a passive source of information. * - * @link www.doctrine-project.org - * @since 2.0 - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - * @author Lukas Smith (PEAR MDB2 library) - * @author Benjamin Eberlei - * @todo Remove any unnecessary methods. + * @todo Remove any unnecessary methods. */ abstract class AbstractPlatform { - /** - * @var int - */ - const CREATE_INDEXES = 1; + public const CREATE_INDEXES = 1; - /** - * @var int - */ - const CREATE_FOREIGNKEYS = 2; + public const CREATE_FOREIGNKEYS = 2; /** * @deprecated Use DateIntervalUnit::INTERVAL_UNIT_SECOND. @@ -138,69 +108,52 @@ abstract class AbstractPlatform public const DATE_INTERVAL_UNIT_YEAR = DateIntervalUnit::YEAR; /** - * @var int - * * @deprecated Use TrimMode::UNSPECIFIED. */ public const TRIM_UNSPECIFIED = TrimMode::UNSPECIFIED; /** - * @var int - * * @deprecated Use TrimMode::LEADING. */ public const TRIM_LEADING = TrimMode::LEADING; /** - * @var int - * * @deprecated Use TrimMode::TRAILING. */ public const TRIM_TRAILING = TrimMode::TRAILING; /** - * @var int - * * @deprecated Use TrimMode::BOTH. */ public const TRIM_BOTH = TrimMode::BOTH; - /** - * @var array|null - */ + /** @var string[]|null */ protected $doctrineTypeMapping = null; /** * Contains a list of all columns that should generate parseable column comments for type-detection * in reverse engineering scenarios. * - * @var array|null + * @var string[]|null */ protected $doctrineTypeComments = null; - /** - * @var \Doctrine\Common\EventManager - */ + /** @var EventManager */ protected $_eventManager; /** * Holds the KeywordList instance for the current platform. * - * @var \Doctrine\DBAL\Platforms\Keywords\KeywordList + * @var KeywordList */ protected $_keywords; - /** - * Constructor. - */ public function __construct() { } /** * Sets the EventManager used by the Platform. - * - * @param \Doctrine\Common\EventManager $eventManager */ public function setEventManager(EventManager $eventManager) { @@ -210,7 +163,7 @@ abstract class AbstractPlatform /** * Gets the EventManager used by the Platform. * - * @return \Doctrine\Common\EventManager + * @return EventManager */ public function getEventManager() { @@ -220,7 +173,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares a boolean column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -229,7 +182,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares a 4 byte integer column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -238,7 +191,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares an 8 byte integer column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -247,7 +200,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares a 2 byte integer column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -256,7 +209,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares common properties of an integer column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -289,13 +242,13 @@ abstract class AbstractPlatform /** * Returns the SQL snippet used to declare a VARCHAR column type. * - * @param array $field + * @param mixed[] $field * * @return string */ public function getVarcharTypeDeclarationSQL(array $field) { - if ( !isset($field['length'])) { + if (! isset($field['length'])) { $field['length'] = $this->getVarcharDefaultLength(); } @@ -315,13 +268,13 @@ abstract class AbstractPlatform /** * Returns the SQL snippet used to declare a BINARY/VARBINARY column type. * - * @param array $field The column definition. + * @param mixed[] $field The column definition. * * @return string */ public function getBinaryTypeDeclarationSQL(array $field) { - if ( ! isset($field['length'])) { + if (! isset($field['length'])) { $field['length'] = $this->getBinaryDefaultLength(); } @@ -350,7 +303,7 @@ abstract class AbstractPlatform * By default this maps directly to a CHAR(36) and only maps to more * special datatypes when the underlying databases support this datatype. * - * @param array $field + * @param mixed[] $field * * @return string */ @@ -368,7 +321,7 @@ abstract class AbstractPlatform * By default this maps directly to a CLOB and only maps to more * special datatypes when the underlying databases support this datatype. * - * @param array $field + * @param mixed[] $field * * @return string */ @@ -383,7 +336,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ protected function getVarcharTypeDeclarationSQLSnippet($length, $fixed) { @@ -398,7 +351,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ protected function getBinaryTypeDeclarationSQLSnippet($length, $fixed) { @@ -408,7 +361,7 @@ abstract class AbstractPlatform /** * Returns the SQL snippet used to declare a CLOB column type. * - * @param array $field + * @param mixed[] $field * * @return string */ @@ -417,7 +370,7 @@ abstract class AbstractPlatform /** * Returns the SQL Snippet used to declare a BLOB column type. * - * @param array $field + * @param mixed[] $field * * @return string */ @@ -436,7 +389,7 @@ abstract class AbstractPlatform * @param string $dbType * @param string $doctrineType * - * @throws \Doctrine\DBAL\DBALException If the type is not found. + * @throws DBALException If the type is not found. */ public function registerDoctrineTypeMapping($dbType, $doctrineType) { @@ -444,18 +397,20 @@ abstract class AbstractPlatform $this->initializeAllDoctrineTypeMappings(); } - if (!Types\Type::hasType($doctrineType)) { + if (! Types\Type::hasType($doctrineType)) { throw DBALException::typeNotFound($doctrineType); } - $dbType = strtolower($dbType); + $dbType = strtolower($dbType); $this->doctrineTypeMapping[$dbType] = $doctrineType; $doctrineType = Type::getType($doctrineType); - if ($doctrineType->requiresSQLCommentHint($this)) { - $this->markDoctrineTypeCommented($doctrineType); + if (! $doctrineType->requiresSQLCommentHint($this)) { + return; } + + $this->markDoctrineTypeCommented($doctrineType); } /** @@ -465,7 +420,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function getDoctrineTypeMapping($dbType) { @@ -475,8 +430,8 @@ abstract class AbstractPlatform $dbType = strtolower($dbType); - if (!isset($this->doctrineTypeMapping[$dbType])) { - throw new \Doctrine\DBAL\DBALException("Unknown database type ".$dbType." requested, " . get_class($this) . " may not support it."); + if (! isset($this->doctrineTypeMapping[$dbType])) { + throw new DBALException('Unknown database type ' . $dbType . ' requested, ' . static::class . ' may not support it.'); } return $this->doctrineTypeMapping[$dbType]; @@ -512,17 +467,17 @@ abstract class AbstractPlatform foreach (Type::getTypesMap() as $typeName => $className) { $type = Type::getType($typeName); - if ($type->requiresSQLCommentHint($this)) { - $this->doctrineTypeComments[] = $typeName; + if (! $type->requiresSQLCommentHint($this)) { + continue; } + + $this->doctrineTypeComments[] = $typeName; } } /** * Is it necessary for the platform to add a parsable type comment to allow reverse engineering the given type? * - * @param \Doctrine\DBAL\Types\Type $doctrineType - * * @return bool */ public function isCommentedDoctrineType(Type $doctrineType) @@ -537,7 +492,7 @@ abstract class AbstractPlatform /** * Marks this type as to be commented in ALTER TABLE and CREATE TABLE statements. * - * @param string|\Doctrine\DBAL\Types\Type $doctrineType + * @param string|Type $doctrineType * * @return void */ @@ -553,8 +508,6 @@ abstract class AbstractPlatform /** * Gets the comment to append to a column comment that helps parsing this type in reverse engineering. * - * @param \Doctrine\DBAL\Types\Type $doctrineType - * * @return string */ public function getDoctrineTypeComment(Type $doctrineType) @@ -565,8 +518,6 @@ abstract class AbstractPlatform /** * Gets the comment of a passed column modified by potential doctrine type comment hints. * - * @param \Doctrine\DBAL\Schema\Column $column - * * @return string */ protected function getColumnComment(Column $column) @@ -597,7 +548,7 @@ abstract class AbstractPlatform */ public function getSqlCommentStartString() { - return "--"; + return '--'; } /** @@ -661,7 +612,7 @@ abstract class AbstractPlatform /** * Gets all SQL wildcard characters of the platform. * - * @return array + * @return string[] */ public function getWildcards() { @@ -673,7 +624,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getRegexpExpression() { @@ -683,11 +634,11 @@ abstract class AbstractPlatform /** * Returns the global unique identifier expression. * + * @deprecated Use application-generated UUIDs instead + * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. - * - * @deprecated Use application-generated UUIDs instead + * @throws DBALException If not supported on this platform. */ public function getGuidExpression() { @@ -711,7 +662,7 @@ abstract class AbstractPlatform * * If a '*' is used instead of a column the number of selected rows is returned. * - * @param string|integer $column The column to use. + * @param string|int $column The column to use. * * @return string Generated SQL including a COUNT aggregate function. */ @@ -919,7 +870,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getLocateExpression($str, $substr, $startPos = false) { @@ -967,7 +918,7 @@ abstract class AbstractPlatform */ public function getConcatExpression() { - return join(' || ', func_get_args()); + return implode(' || ', func_get_args()); } /** @@ -1031,7 +982,7 @@ abstract class AbstractPlatform */ public function getBetweenExpression($expression, $value1, $value2) { - return $expression . ' BETWEEN ' .$value1 . ' AND ' . $value2; + return $expression . ' BETWEEN ' . $value1 . ' AND ' . $value2; } /** @@ -1090,7 +1041,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateDiffExpression($date1, $date2) { @@ -1105,7 +1056,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddSecondsExpression($date, $seconds) { @@ -1120,7 +1071,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubSecondsExpression($date, $seconds) { @@ -1135,7 +1086,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddMinutesExpression($date, $minutes) { @@ -1150,7 +1101,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubMinutesExpression($date, $minutes) { @@ -1165,7 +1116,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddHourExpression($date, $hours) { @@ -1180,7 +1131,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubHourExpression($date, $hours) { @@ -1195,7 +1146,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddDaysExpression($date, $days) { @@ -1210,7 +1161,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubDaysExpression($date, $days) { @@ -1225,7 +1176,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddWeeksExpression($date, $weeks) { @@ -1240,7 +1191,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubWeeksExpression($date, $weeks) { @@ -1255,7 +1206,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddMonthExpression($date, $months) { @@ -1270,7 +1221,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubMonthExpression($date, $months) { @@ -1285,7 +1236,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddQuartersExpression($date, $quarters) { @@ -1300,7 +1251,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubQuartersExpression($date, $quarters) { @@ -1315,7 +1266,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateAddYearsExpression($date, $years) { @@ -1330,7 +1281,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateSubYearsExpression($date, $years) { @@ -1348,7 +1299,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ protected function getDateArithmeticIntervalExpression($date, $operator, $interval, $unit) { @@ -1445,11 +1396,11 @@ abstract class AbstractPlatform /** * Returns the SQL snippet to drop an existing table. * - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getDropTableSQL($table) { @@ -1457,11 +1408,13 @@ abstract class AbstractPlatform if ($table instanceof Table) { $table = $table->getQuotedName($this); - } elseif (!is_string($table)) { - throw new \InvalidArgumentException('getDropTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } - if (null !== $this->_eventManager && $this->_eventManager->hasListeners(Events::onSchemaDropTable)) { + if (! is_string($table)) { + throw new InvalidArgumentException('getDropTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + } + + if ($this->_eventManager !== null && $this->_eventManager->hasListeners(Events::onSchemaDropTable)) { $eventArgs = new SchemaDropTableEventArgs($tableArg, $this); $this->_eventManager->dispatchEvent(Events::onSchemaDropTable, $eventArgs); @@ -1476,7 +1429,7 @@ abstract class AbstractPlatform /** * Returns the SQL to safely drop a temporary table WITHOUT implicitly committing an open transaction. * - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return string */ @@ -1488,19 +1441,19 @@ abstract class AbstractPlatform /** * Returns the SQL to drop an index from a table. * - * @param \Doctrine\DBAL\Schema\Index|string $index - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Index|string $index + * @param Table|string $table * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getDropIndexSQL($index, $table = null) { if ($index instanceof Index) { $index = $index->getQuotedName($this); - } elseif (!is_string($index)) { - throw new \InvalidArgumentException('AbstractPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); + } elseif (! is_string($index)) { + throw new InvalidArgumentException('AbstractPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); } return 'DROP INDEX ' . $index; @@ -1509,8 +1462,8 @@ abstract class AbstractPlatform /** * Returns the SQL to drop a constraint. * - * @param \Doctrine\DBAL\Schema\Constraint|string $constraint - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Constraint|string $constraint + * @param Table|string $table * * @return string */ @@ -1525,7 +1478,7 @@ abstract class AbstractPlatform } $constraint = $constraint->getQuotedName($this); - $table = $table->getQuotedName($this); + $table = $table->getQuotedName($this); return 'ALTER TABLE ' . $table . ' DROP CONSTRAINT ' . $constraint; } @@ -1533,8 +1486,8 @@ abstract class AbstractPlatform /** * Returns the SQL to drop a foreign key. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint|string $foreignKey - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param ForeignKeyConstraint|string $foreignKey + * @param Table|string $table * * @return string */ @@ -1549,7 +1502,7 @@ abstract class AbstractPlatform } $foreignKey = $foreignKey->getQuotedName($this); - $table = $table->getQuotedName($this); + $table = $table->getQuotedName($this); return 'ALTER TABLE ' . $table . ' DROP FOREIGN KEY ' . $foreignKey; } @@ -1558,33 +1511,32 @@ abstract class AbstractPlatform * Returns the SQL statement(s) to create a table with the specified name, columns and constraints * on this platform. * - * @param \Doctrine\DBAL\Schema\Table $table - * @param int $createFlags + * @param int $createFlags * - * @return array The sequence of SQL statements. + * @return string[] The sequence of SQL statements. * - * @throws \Doctrine\DBAL\DBALException - * @throws \InvalidArgumentException + * @throws DBALException + * @throws InvalidArgumentException */ public function getCreateTableSQL(Table $table, $createFlags = self::CREATE_INDEXES) { - if ( ! is_int($createFlags)) { - throw new \InvalidArgumentException("Second argument of AbstractPlatform::getCreateTableSQL() has to be integer."); + if (! is_int($createFlags)) { + throw new InvalidArgumentException('Second argument of AbstractPlatform::getCreateTableSQL() has to be integer.'); } if (count($table->getColumns()) === 0) { throw DBALException::noColumnsSpecifiedForTable($table->getName()); } - $tableName = $table->getQuotedName($this); - $options = $table->getOptions(); + $tableName = $table->getQuotedName($this); + $options = $table->getOptions(); $options['uniqueConstraints'] = []; - $options['indexes'] = []; - $options['primary'] = []; + $options['indexes'] = []; + $options['primary'] = []; if (($createFlags&self::CREATE_INDEXES) > 0) { foreach ($table->getIndexes() as $index) { - /* @var $index Index */ + /** @var $index Index */ if ($index->isPrimary()) { $options['primary'] = $index->getQuotedColumns($this); $options['primary_index'] = $index; @@ -1595,12 +1547,10 @@ abstract class AbstractPlatform } $columnSql = []; - $columns = []; + $columns = []; foreach ($table->getColumns() as $column) { - /* @var \Doctrine\DBAL\Schema\Column $column */ - - if (null !== $this->_eventManager && $this->_eventManager->hasListeners(Events::onSchemaCreateTableColumn)) { + if ($this->_eventManager !== null && $this->_eventManager->hasListeners(Events::onSchemaCreateTableColumn)) { $eventArgs = new SchemaCreateTableColumnEventArgs($column, $table, $this); $this->_eventManager->dispatchEvent(Events::onSchemaCreateTableColumn, $eventArgs); @@ -1611,9 +1561,9 @@ abstract class AbstractPlatform } } - $columnData = $column->toArray(); - $columnData['name'] = $column->getQuotedName($this); - $columnData['version'] = $column->hasPlatformOption("version") ? $column->getPlatformOption('version') : false; + $columnData = $column->toArray(); + $columnData['name'] = $column->getQuotedName($this); + $columnData['version'] = $column->hasPlatformOption('version') ? $column->getPlatformOption('version') : false; $columnData['comment'] = $this->getColumnComment($column); if ($columnData['type'] instanceof Types\StringType && $columnData['length'] === null) { @@ -1634,7 +1584,7 @@ abstract class AbstractPlatform } } - if (null !== $this->_eventManager && $this->_eventManager->hasListeners(Events::onSchemaCreateTable)) { + if ($this->_eventManager !== null && $this->_eventManager->hasListeners(Events::onSchemaCreateTable)) { $eventArgs = new SchemaCreateTableEventArgs($table, $columns, $options, $this); $this->_eventManager->dispatchEvent(Events::onSchemaCreateTable, $eventArgs); @@ -1648,9 +1598,11 @@ abstract class AbstractPlatform foreach ($table->getColumns() as $column) { $comment = $this->getColumnComment($column); - if (null !== $comment && '' !== $comment) { - $sql[] = $this->getCommentOnColumnSQL($tableName, $column->getQuotedName($this), $comment); + if ($comment === null || $comment === '') { + continue; } + + $sql[] = $this->getCommentOnColumnSQL($tableName, $column->getQuotedName($this), $comment); } } @@ -1666,12 +1618,16 @@ abstract class AbstractPlatform */ public function getCommentOnColumnSQL($tableName, $columnName, $comment) { - $tableName = new Identifier($tableName); + $tableName = new Identifier($tableName); $columnName = new Identifier($columnName); - $comment = $this->quoteStringLiteral($comment); + $comment = $this->quoteStringLiteral($comment); - return "COMMENT ON COLUMN " . $tableName->getQuotedName($this) . "." . $columnName->getQuotedName($this) . - " IS " . $comment; + return sprintf( + 'COMMENT ON COLUMN %s.%s IS %s', + $tableName->getQuotedName($this), + $columnName->getQuotedName($this), + $comment + ); } /** @@ -1681,7 +1637,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getInlineColumnCommentSQL($comment) { @@ -1689,17 +1645,17 @@ abstract class AbstractPlatform throw DBALException::notSupported(__METHOD__); } - return "COMMENT " . $this->quoteStringLiteral($comment); + return 'COMMENT ' . $this->quoteStringLiteral($comment); } /** * Returns the SQL used to create a table. * - * @param string $tableName - * @param array $columns - * @param array $options + * @param string $tableName + * @param mixed[][] $columns + * @param mixed[] $options * - * @return array + * @return string[] */ protected function _getCreateTableSQL($tableName, array $columns, array $options = []) { @@ -1724,7 +1680,7 @@ abstract class AbstractPlatform $query = 'CREATE TABLE ' . $tableName . ' (' . $columnListSql; $check = $this->getCheckDeclarationSQL($columns); - if ( ! empty($check)) { + if (! empty($check)) { $query .= ', ' . $check; } $query .= ')'; @@ -1745,17 +1701,15 @@ abstract class AbstractPlatform */ public function getCreateTemporaryTableSnippetSQL() { - return "CREATE TEMPORARY TABLE"; + return 'CREATE TEMPORARY TABLE'; } /** * Returns the SQL to create a sequence on this platform. * - * @param \Doctrine\DBAL\Schema\Sequence $sequence - * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getCreateSequenceSQL(Sequence $sequence) { @@ -1765,11 +1719,9 @@ abstract class AbstractPlatform /** * Returns the SQL to change a sequence on this platform. * - * @param \Doctrine\DBAL\Schema\Sequence $sequence - * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getAlterSequenceSQL(Sequence $sequence) { @@ -1779,12 +1731,11 @@ abstract class AbstractPlatform /** * Returns the SQL to create a constraint on a table on this platform. * - * @param \Doctrine\DBAL\Schema\Constraint $constraint - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getCreateConstraintSQL(Constraint $constraint, $table) { @@ -1794,7 +1745,7 @@ abstract class AbstractPlatform $query = 'ALTER TABLE ' . $table . ' ADD CONSTRAINT ' . $constraint->getQuotedName($this); - $columnList = '('. implode(', ', $constraint->getQuotedColumns($this)) . ')'; + $columnList = '(' . implode(', ', $constraint->getQuotedColumns($this)) . ')'; $referencesClause = ''; if ($constraint instanceof Index) { @@ -1803,7 +1754,7 @@ abstract class AbstractPlatform } elseif ($constraint->isUnique()) { $query .= ' UNIQUE'; } else { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( 'Can only create primary or unique constraints, no common indexes with getCreateConstraintSQL().' ); } @@ -1813,7 +1764,7 @@ abstract class AbstractPlatform $referencesClause = ' REFERENCES ' . $constraint->getQuotedForeignTableName($this) . ' (' . implode(', ', $constraint->getQuotedForeignColumns($this)) . ')'; } - $query .= ' '.$columnList.$referencesClause; + $query .= ' ' . $columnList . $referencesClause; return $query; } @@ -1821,31 +1772,30 @@ abstract class AbstractPlatform /** * Returns the SQL to create an index on a table on this platform. * - * @param \Doctrine\DBAL\Schema\Index $index - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the index is to be created. + * @param Table|string $table The name of the table on which the index is to be created. * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getCreateIndexSQL(Index $index, $table) { if ($table instanceof Table) { $table = $table->getQuotedName($this); } - $name = $index->getQuotedName($this); - $columns = $index->getQuotedColumns($this); + $name = $index->getQuotedName($this); + $columns = $index->getColumns(); - if (count($columns) == 0) { - throw new \InvalidArgumentException("Incomplete definition. 'columns' required."); + if (count($columns) === 0) { + throw new InvalidArgumentException("Incomplete definition. 'columns' required."); } if ($index->isPrimary()) { return $this->getCreatePrimaryKeySQL($index, $table); } - $query = 'CREATE ' . $this->getCreateIndexSQLFlags($index) . 'INDEX ' . $name . ' ON ' . $table; - $query .= ' (' . $this->getIndexFieldDeclarationListSQL($columns) . ')' . $this->getPartialIndexSQL($index); + $query = 'CREATE ' . $this->getCreateIndexSQLFlags($index) . 'INDEX ' . $name . ' ON ' . $table; + $query .= ' (' . $this->getIndexFieldDeclarationListSQL($index) . ')' . $this->getPartialIndexSQL($index); return $query; } @@ -1853,14 +1803,12 @@ abstract class AbstractPlatform /** * Adds condition for partial index. * - * @param \Doctrine\DBAL\Schema\Index $index - * * @return string */ protected function getPartialIndexSQL(Index $index) { if ($this->supportsPartialIndexes() && $index->hasOption('where')) { - return ' WHERE ' . $index->getOption('where'); + return ' WHERE ' . $index->getOption('where'); } return ''; @@ -1869,8 +1817,6 @@ abstract class AbstractPlatform /** * Adds additional flags for index generation. * - * @param \Doctrine\DBAL\Schema\Index $index - * * @return string */ protected function getCreateIndexSQLFlags(Index $index) @@ -1881,14 +1827,13 @@ abstract class AbstractPlatform /** * Returns the SQL to create an unnamed primary key constraint. * - * @param \Doctrine\DBAL\Schema\Index $index - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return string */ public function getCreatePrimaryKeySQL(Index $index, $table) { - return 'ALTER TABLE ' . $table . ' ADD PRIMARY KEY (' . $this->getIndexFieldDeclarationListSQL($index->getQuotedColumns($this)) . ')'; + return 'ALTER TABLE ' . $table . ' ADD PRIMARY KEY (' . $this->getIndexFieldDeclarationListSQL($index) . ')'; } /** @@ -1897,7 +1842,8 @@ abstract class AbstractPlatform * @param string $schemaName * * @return string - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * + * @throws DBALException If not supported on this platform. */ public function getCreateSchemaSQL($schemaName) { @@ -1919,10 +1865,10 @@ abstract class AbstractPlatform */ public function quoteIdentifier($str) { - if (strpos($str, ".") !== false) { - $parts = array_map([$this, "quoteSingleIdentifier"], explode(".", $str)); + if (strpos($str, '.') !== false) { + $parts = array_map([$this, 'quoteSingleIdentifier'], explode('.', $str)); - return implode(".", $parts); + return implode('.', $parts); } return $this->quoteSingleIdentifier($str); @@ -1939,14 +1885,14 @@ abstract class AbstractPlatform { $c = $this->getIdentifierQuoteCharacter(); - return $c . str_replace($c, $c.$c, $str) . $c; + return $c . str_replace($c, $c . $c, $str) . $c; } /** * Returns the SQL to create a new foreign key. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey The foreign key constraint. - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the foreign key is to be created. + * @param ForeignKeyConstraint $foreignKey The foreign key constraint. + * @param Table|string $table The name of the table on which the foreign key is to be created. * * @return string */ @@ -1956,9 +1902,7 @@ abstract class AbstractPlatform $table = $table->getQuotedName($this); } - $query = 'ALTER TABLE ' . $table . ' ADD ' . $this->getForeignKeyDeclarationSQL($foreignKey); - - return $query; + return 'ALTER TABLE ' . $table . ' ADD ' . $this->getForeignKeyDeclarationSQL($foreignKey); } /** @@ -1966,11 +1910,9 @@ abstract class AbstractPlatform * * This method returns an array of SQL statements, since some platforms need several statements. * - * @param \Doctrine\DBAL\Schema\TableDiff $diff + * @return string[] * - * @return array - * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getAlterTableSQL(TableDiff $diff) { @@ -1978,19 +1920,17 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * @param array $columnSql + * @param mixed[] $columnSql * * @return bool */ protected function onSchemaAlterTableAddColumn(Column $column, TableDiff $diff, &$columnSql) { - if (null === $this->_eventManager) { + if ($this->_eventManager === null) { return false; } - if ( ! $this->_eventManager->hasListeners(Events::onSchemaAlterTableAddColumn)) { + if (! $this->_eventManager->hasListeners(Events::onSchemaAlterTableAddColumn)) { return false; } @@ -2003,19 +1943,17 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * @param array $columnSql + * @param string[] $columnSql * * @return bool */ protected function onSchemaAlterTableRemoveColumn(Column $column, TableDiff $diff, &$columnSql) { - if (null === $this->_eventManager) { + if ($this->_eventManager === null) { return false; } - if ( ! $this->_eventManager->hasListeners(Events::onSchemaAlterTableRemoveColumn)) { + if (! $this->_eventManager->hasListeners(Events::onSchemaAlterTableRemoveColumn)) { return false; } @@ -2028,19 +1966,17 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\ColumnDiff $columnDiff - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * @param array $columnSql + * @param string[] $columnSql * * @return bool */ protected function onSchemaAlterTableChangeColumn(ColumnDiff $columnDiff, TableDiff $diff, &$columnSql) { - if (null === $this->_eventManager) { + if ($this->_eventManager === null) { return false; } - if ( ! $this->_eventManager->hasListeners(Events::onSchemaAlterTableChangeColumn)) { + if (! $this->_eventManager->hasListeners(Events::onSchemaAlterTableChangeColumn)) { return false; } @@ -2053,20 +1989,18 @@ abstract class AbstractPlatform } /** - * @param string $oldColumnName - * @param \Doctrine\DBAL\Schema\Column $column - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * @param array $columnSql + * @param string $oldColumnName + * @param string[] $columnSql * * @return bool */ protected function onSchemaAlterTableRenameColumn($oldColumnName, Column $column, TableDiff $diff, &$columnSql) { - if (null === $this->_eventManager) { + if ($this->_eventManager === null) { return false; } - if ( ! $this->_eventManager->hasListeners(Events::onSchemaAlterTableRenameColumn)) { + if (! $this->_eventManager->hasListeners(Events::onSchemaAlterTableRenameColumn)) { return false; } @@ -2079,18 +2013,17 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * @param array $sql + * @param string[] $sql * * @return bool */ protected function onSchemaAlterTable(TableDiff $diff, &$sql) { - if (null === $this->_eventManager) { + if ($this->_eventManager === null) { return false; } - if ( ! $this->_eventManager->hasListeners(Events::onSchemaAlterTable)) { + if (! $this->_eventManager->hasListeners(Events::onSchemaAlterTable)) { return false; } @@ -2103,9 +2036,7 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return string[] */ protected function getPreAlterTableIndexForeignKeySQL(TableDiff $diff) { @@ -2132,13 +2063,11 @@ abstract class AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return string[] */ protected function getPostAlterTableIndexForeignKeySQL(TableDiff $diff) { - $tableName = (false !== $diff->newName) + $tableName = $diff->newName !== false ? $diff->getNewName()->getQuotedName($this) : $diff->getName($this)->getQuotedName($this); @@ -2176,26 +2105,24 @@ abstract class AbstractPlatform /** * Returns the SQL for renaming an index on a table. * - * @param string $oldIndexName The name of the index to rename from. - * @param \Doctrine\DBAL\Schema\Index $index The definition of the index to rename to. - * @param string $tableName The table to rename the given index on. + * @param string $oldIndexName The name of the index to rename from. + * @param Index $index The definition of the index to rename to. + * @param string $tableName The table to rename the given index on. * - * @return array The sequence of SQL statements for renaming the given index. + * @return string[] The sequence of SQL statements for renaming the given index. */ protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { return [ $this->getDropIndexSQL($oldIndexName, $tableName), - $this->getCreateIndexSQL($index, $tableName) + $this->getCreateIndexSQL($index, $tableName), ]; } /** * Common code for alter table statement generation that updates the changed Index and Foreign Key definitions. * - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return string[] */ protected function _getAlterTableIndexForeignKeySQL(TableDiff $diff) { @@ -2205,11 +2132,11 @@ abstract class AbstractPlatform /** * Gets declaration of a number of fields in bulk. * - * @param array $fields A multidimensional associative array. - * The first dimension determines the field name, while the second - * dimension is keyed with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: + * @param mixed[][] $fields A multidimensional associative array. + * The first dimension determines the field name, while the second + * dimension is keyed with the name of the properties + * of the field being declared as array indexes. Currently, the types + * of supported field properties are as follows: * * length * Integer value that determines the maximum length of the text @@ -2246,10 +2173,10 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to declare a generic type * field to be used in statements like CREATE TABLE. * - * @param string $name The name the field to be declared. - * @param array $field An associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: + * @param string $name The name the field to be declared. + * @param mixed[] $field An associative array with the name of the properties + * of the field being declared as array indexes. Currently, the types + * of supported field properties are as follows: * * length * Integer value that determines the maximum length of the text @@ -2282,21 +2209,21 @@ abstract class AbstractPlatform } else { $default = $this->getDefaultValueDeclarationSQL($field); - $charset = (isset($field['charset']) && $field['charset']) ? + $charset = isset($field['charset']) && $field['charset'] ? ' ' . $this->getColumnCharsetDeclarationSQL($field['charset']) : ''; - $collation = (isset($field['collation']) && $field['collation']) ? + $collation = isset($field['collation']) && $field['collation'] ? ' ' . $this->getColumnCollationDeclarationSQL($field['collation']) : ''; - $notnull = (isset($field['notnull']) && $field['notnull']) ? ' NOT NULL' : ''; + $notnull = isset($field['notnull']) && $field['notnull'] ? ' NOT NULL' : ''; - $unique = (isset($field['unique']) && $field['unique']) ? + $unique = isset($field['unique']) && $field['unique'] ? ' ' . $this->getUniqueFieldDeclarationSQL() : ''; - $check = (isset($field['check']) && $field['check']) ? + $check = isset($field['check']) && $field['check'] ? ' ' . $field['check'] : ''; - $typeDecl = $field['type']->getSQLDeclaration($field, $this); + $typeDecl = $field['type']->getSQLDeclaration($field, $this); $columnDef = $typeDecl . $charset . $default . $notnull . $unique . $check . $collation; if ($this->supportsInlineColumnComments() && isset($field['comment']) && $field['comment'] !== '') { @@ -2310,15 +2237,15 @@ abstract class AbstractPlatform /** * Returns the SQL snippet that declares a floating point column of arbitrary precision. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ public function getDecimalTypeDeclarationSQL(array $columnDef) { - $columnDef['precision'] = ( ! isset($columnDef['precision']) || empty($columnDef['precision'])) + $columnDef['precision'] = ! isset($columnDef['precision']) || empty($columnDef['precision']) ? 10 : $columnDef['precision']; - $columnDef['scale'] = ( ! isset($columnDef['scale']) || empty($columnDef['scale'])) + $columnDef['scale'] = ! isset($columnDef['scale']) || empty($columnDef['scale']) ? 0 : $columnDef['scale']; return 'NUMERIC(' . $columnDef['precision'] . ', ' . $columnDef['scale'] . ')'; @@ -2328,19 +2255,19 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set a default value * declaration to be used in statements like CREATE TABLE. * - * @param array $field The field definition array. + * @param mixed[] $field The field definition array. * * @return string DBMS specific SQL code portion needed to set a default value. */ public function getDefaultValueDeclarationSQL($field) { - if ( ! isset($field['default'])) { + if (! isset($field['default'])) { return empty($field['notnull']) ? ' DEFAULT NULL' : ''; } $default = $field['default']; - if ( ! isset($field['type'])) { + if (! isset($field['type'])) { return " DEFAULT '" . $default . "'"; } @@ -2373,7 +2300,7 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set a CHECK constraint * declaration to be used in statements like CREATE TABLE. * - * @param array $definition The check definition. + * @param mixed[][] $definition The check definition. * * @return string DBMS specific SQL code portion needed to set a CHECK constraint. */ @@ -2401,24 +2328,24 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set a unique * constraint declaration to be used in statements like CREATE TABLE. * - * @param string $name The name of the unique constraint. - * @param \Doctrine\DBAL\Schema\Index $index The index definition. + * @param string $name The name of the unique constraint. + * @param Index $index The index definition. * * @return string DBMS specific SQL code portion needed to set a constraint. * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getUniqueConstraintDeclarationSQL($name, Index $index) { - $columns = $index->getQuotedColumns($this); - $name = new Identifier($name); + $columns = $index->getColumns(); + $name = new Identifier($name); if (count($columns) === 0) { - throw new \InvalidArgumentException("Incomplete definition. 'columns' required."); + throw new InvalidArgumentException("Incomplete definition. 'columns' required."); } return 'CONSTRAINT ' . $name->getQuotedName($this) . ' UNIQUE (' - . $this->getIndexFieldDeclarationListSQL($columns) + . $this->getIndexFieldDeclarationListSQL($index) . ')' . $this->getPartialIndexSQL($index); } @@ -2426,24 +2353,24 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set an index * declaration to be used in statements like CREATE TABLE. * - * @param string $name The name of the index. - * @param \Doctrine\DBAL\Schema\Index $index The index definition. + * @param string $name The name of the index. + * @param Index $index The index definition. * * @return string DBMS specific SQL code portion needed to set an index. * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getIndexDeclarationSQL($name, Index $index) { - $columns = $index->getQuotedColumns($this); - $name = new Identifier($name); + $columns = $index->getColumns(); + $name = new Identifier($name); if (count($columns) === 0) { - throw new \InvalidArgumentException("Incomplete definition. 'columns' required."); + throw new InvalidArgumentException("Incomplete definition. 'columns' required."); } return $this->getCreateIndexSQLFlags($index) . 'INDEX ' . $name->getQuotedName($this) . ' (' - . $this->getIndexFieldDeclarationListSQL($columns) + . $this->getIndexFieldDeclarationListSQL($index) . ')' . $this->getPartialIndexSQL($index); } @@ -2452,7 +2379,7 @@ abstract class AbstractPlatform * e.g. when a field has the "columnDefinition" keyword. * Only "AUTOINCREMENT" and "PRIMARY KEY" are added if appropriate. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -2465,17 +2392,23 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set an index * declaration to be used in statements like CREATE TABLE. * - * @param array $fields - * - * @return string + * @param mixed[]|Index $columnsOrIndex array declaration is deprecated, prefer passing Index to this method */ - public function getIndexFieldDeclarationListSQL(array $fields) + public function getIndexFieldDeclarationListSQL($columnsOrIndex) : string { + if ($columnsOrIndex instanceof Index) { + return implode(', ', $columnsOrIndex->getQuotedColumns($this)); + } + + if (! is_array($columnsOrIndex)) { + throw new InvalidArgumentException('Fields argument should be an Index or array.'); + } + $ret = []; - foreach ($fields as $field => $definition) { + foreach ($columnsOrIndex as $column => $definition) { if (is_array($definition)) { - $ret[] = $field; + $ret[] = $column; } else { $ret[] = $definition; } @@ -2519,8 +2452,6 @@ abstract class AbstractPlatform * Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint * of a field declaration to be used in statements like CREATE TABLE. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey - * * @return string DBMS specific SQL code portion needed to set the FOREIGN KEY constraint * of a field declaration. */ @@ -2536,7 +2467,7 @@ abstract class AbstractPlatform * Returns the FOREIGN KEY query section dealing with non-standard options * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey The foreign key definition. + * @param ForeignKeyConstraint $foreignKey The foreign key definition. * * @return string */ @@ -2560,7 +2491,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \InvalidArgumentException if unknown referential action given + * @throws InvalidArgumentException If unknown referential action given. */ public function getForeignKeyReferentialActionSQL($action) { @@ -2573,7 +2504,7 @@ abstract class AbstractPlatform case 'SET DEFAULT': return $upper; default: - throw new \InvalidArgumentException('Invalid foreign key action: ' . $upper); + throw new InvalidArgumentException('Invalid foreign key action: ' . $upper); } } @@ -2581,11 +2512,9 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL code portion needed to set the FOREIGN KEY constraint * of a field declaration to be used in statements like CREATE TABLE. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey - * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getForeignKeyBaseDeclarationSQL(ForeignKeyConstraint $foreignKey) { @@ -2596,21 +2525,19 @@ abstract class AbstractPlatform $sql .= 'FOREIGN KEY ('; if (count($foreignKey->getLocalColumns()) === 0) { - throw new \InvalidArgumentException("Incomplete definition. 'local' required."); + throw new InvalidArgumentException("Incomplete definition. 'local' required."); } if (count($foreignKey->getForeignColumns()) === 0) { - throw new \InvalidArgumentException("Incomplete definition. 'foreign' required."); + throw new InvalidArgumentException("Incomplete definition. 'foreign' required."); } if (strlen($foreignKey->getForeignTableName()) === 0) { - throw new \InvalidArgumentException("Incomplete definition. 'foreignTable' required."); + throw new InvalidArgumentException("Incomplete definition. 'foreignTable' required."); } - $sql .= implode(', ', $foreignKey->getQuotedLocalColumns($this)) + return $sql . implode(', ', $foreignKey->getQuotedLocalColumns($this)) . ') REFERENCES ' . $foreignKey->getQuotedForeignTableName($this) . ' (' . implode(', ', $foreignKey->getQuotedForeignColumns($this)) . ')'; - - return $sql; } /** @@ -2693,9 +2620,11 @@ abstract class AbstractPlatform { if (is_array($item)) { foreach ($item as $k => $value) { - if (is_bool($value)) { - $item[$k] = (int) $value; + if (! is_bool($value)) { + continue; } + + $item[$k] = (int) $value; } } elseif (is_bool($item)) { $item = (int) $item; @@ -2715,7 +2644,7 @@ abstract class AbstractPlatform */ public function convertFromBoolean($item) { - return null === $item ? null: (bool) $item ; + return $item === null ? null: (bool) $item; } /** @@ -2770,7 +2699,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ protected function _getTransactionIsolationLevelSQL($level) { @@ -2784,14 +2713,14 @@ abstract class AbstractPlatform case TransactionIsolationLevel::SERIALIZABLE: return 'SERIALIZABLE'; default: - throw new \InvalidArgumentException('Invalid isolation level:' . $level); + throw new InvalidArgumentException('Invalid isolation level:' . $level); } } /** * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListDatabasesSQL() { @@ -2803,7 +2732,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListNamespacesSQL() { @@ -2815,7 +2744,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListSequencesSQL($database) { @@ -2827,7 +2756,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListTableConstraintsSQL($table) { @@ -2840,7 +2769,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListTableColumnsSQL($table, $database = null) { @@ -2850,7 +2779,7 @@ abstract class AbstractPlatform /** * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListTablesSQL() { @@ -2860,7 +2789,7 @@ abstract class AbstractPlatform /** * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListUsersSQL() { @@ -2874,7 +2803,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListViewsSQL($database) { @@ -2896,7 +2825,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListTableIndexesSQL($table, $currentDatabase = null) { @@ -2908,7 +2837,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getListTableForeignKeysSQL($table) { @@ -2921,7 +2850,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getCreateViewSQL($name, $sql) { @@ -2933,7 +2862,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDropViewSQL($name) { @@ -2947,7 +2876,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDropSequenceSQL($sequence) { @@ -2959,7 +2888,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getSequenceNextValSQL($sequenceName) { @@ -2973,7 +2902,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getCreateDatabaseSQL($database) { @@ -2987,7 +2916,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getSetTransactionIsolationSQL($level) { @@ -2998,11 +2927,11 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL to be used to create datetime fields in * statements like CREATE TABLE. * - * @param array $fieldDeclaration + * @param mixed[] $fieldDeclaration * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateTimeTypeDeclarationSQL(array $fieldDeclaration) { @@ -3012,7 +2941,7 @@ abstract class AbstractPlatform /** * Obtains DBMS specific SQL to be used to create datetime with timezone offset fields. * - * @param array $fieldDeclaration + * @param mixed[] $fieldDeclaration * * @return string */ @@ -3026,11 +2955,11 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL to be used to create date fields in statements * like CREATE TABLE. * - * @param array $fieldDeclaration + * @param mixed[] $fieldDeclaration * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDateTypeDeclarationSQL(array $fieldDeclaration) { @@ -3041,11 +2970,11 @@ abstract class AbstractPlatform * Obtains DBMS specific SQL to be used to create time fields in statements * like CREATE TABLE. * - * @param array $fieldDeclaration + * @param mixed[] $fieldDeclaration * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getTimeTypeDeclarationSQL(array $fieldDeclaration) { @@ -3053,7 +2982,7 @@ abstract class AbstractPlatform } /** - * @param array $fieldDeclaration + * @param mixed[] $fieldDeclaration * * @return string */ @@ -3065,9 +2994,9 @@ abstract class AbstractPlatform /** * Gets the default transaction isolation level of the platform. * - * @return int The default isolation level. - * * @see TransactionIsolationLevel + * + * @return int The default isolation level. */ public function getDefaultTransactionIsolationLevel() { @@ -3116,14 +3045,14 @@ abstract class AbstractPlatform /** * Returns the name of the sequence for a particular identity column in a particular table. * + * @see usesSequenceEmulatedIdentityColumns + * * @param string $tableName The name of the table to return the sequence name for. * @param string $columnName The name of the identity column in the table to return the sequence name for. * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. - * - * @see usesSequenceEmulatedIdentityColumns + * @throws DBALException If not supported on this platform. */ public function getIdentitySequenceName($tableName, $columnName) { @@ -3150,6 +3079,14 @@ abstract class AbstractPlatform return false; } + /** + * Whether the platform supports indexes with column length definitions. + */ + public function supportsColumnLengthIndexes() : bool + { + return false; + } + /** * Whether the platform supports altering tables. * @@ -3217,7 +3154,7 @@ abstract class AbstractPlatform */ public function supportsForeignKeyOnUpdate() { - return ($this->supportsForeignKeyConstraints() && true); + return $this->supportsForeignKeyConstraints() && true; } /** @@ -3249,7 +3186,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ public function getDefaultSchemaName() { @@ -3320,11 +3257,12 @@ abstract class AbstractPlatform /** * @deprecated + * * @todo Remove in 3.0 */ public function getIdentityColumnNullInsertSQL() { - return ""; + return ''; } /** @@ -3576,9 +3514,9 @@ abstract class AbstractPlatform /** * Returns the keyword list instance of this platform. * - * @return \Doctrine\DBAL\Platforms\Keywords\KeywordList + * @return KeywordList * - * @throws \Doctrine\DBAL\DBALException If no keyword list is specified. + * @throws DBALException If no keyword list is specified. */ final public function getReservedKeywordsList() { @@ -3587,9 +3525,9 @@ abstract class AbstractPlatform return $this->_keywords; } - $class = $this->getReservedKeywordsClass(); - $keywords = new $class; - if ( ! $keywords instanceof \Doctrine\DBAL\Platforms\Keywords\KeywordList) { + $class = $this->getReservedKeywordsClass(); + $keywords = new $class(); + if (! $keywords instanceof KeywordList) { throw DBALException::notSupported(__METHOD__); } @@ -3604,7 +3542,7 @@ abstract class AbstractPlatform * * @return string * - * @throws \Doctrine\DBAL\DBALException If not supported on this platform. + * @throws DBALException If not supported on this platform. */ protected function getReservedKeywordsClass() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DB2Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DB2Platform.php index b83c8f1dc..605122115 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DB2Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DB2Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -195,7 +178,7 @@ class DB2Platform extends AbstractPlatform protected function _getCommonIntegerTypeDeclarationSQL(array $columnDef) { $autoinc = ''; - if ( ! empty($columnDef['autoincrement'])) { + if (! empty($columnDef['autoincrement'])) { $autoinc = ' GENERATED BY DEFAULT AS IDENTITY'; } @@ -251,8 +234,8 @@ class DB2Platform extends AbstractPlatform */ public function getDateTimeTypeDeclarationSQL(array $fieldDeclaration) { - if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] == true) { - return "TIMESTAMP(0) WITH DEFAULT"; + if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] === true) { + return 'TIMESTAMP(0) WITH DEFAULT'; } return 'TIMESTAMP(0)'; @@ -287,8 +270,6 @@ class DB2Platform extends AbstractPlatform /** * This code fragment is originally from the Zend_Db_Adapter_Db2 class, but has been edited. * - * @license New BSD License - * * @param string $table * @param string $database * @@ -331,7 +312,7 @@ class DB2Platform extends AbstractPlatform ON (c.tabschema = k.tabschema AND c.tabname = k.tabname AND c.colname = k.colname) - WHERE UPPER(c.tabname) = UPPER(" . $table . ") + WHERE UPPER(c.tabname) = UPPER(" . $table . ') ORDER BY c.colno ) subq JOIN syscat.columns cols @@ -339,7 +320,7 @@ class DB2Platform extends AbstractPlatform AND subq.tabname = cols.tabname AND subq.colno = cols.colno ORDER BY subq.colno - "; + '; } /** @@ -355,7 +336,7 @@ class DB2Platform extends AbstractPlatform */ public function getListViewsSQL($database) { - return "SELECT NAME, TEXT FROM SYSIBM.SYSVIEWS"; + return 'SELECT NAME, TEXT FROM SYSIBM.SYSVIEWS'; } /** @@ -378,8 +359,8 @@ class DB2Platform extends AbstractPlatform FROM SYSCAT.INDEXES AS idx JOIN SYSCAT.INDEXCOLUSE AS idxcol ON idx.INDSCHEMA = idxcol.INDSCHEMA AND idx.INDNAME = idxcol.INDNAME - WHERE idx.TABNAME = UPPER(" . $table . ") - ORDER BY idxcol.COLSEQ ASC"; + WHERE idx.TABNAME = UPPER(" . $table . ') + ORDER BY idxcol.COLSEQ ASC'; } /** @@ -412,8 +393,8 @@ class DB2Platform extends AbstractPlatform ON fk.REFKEYNAME = pkcol.CONSTNAME AND fk.REFTABSCHEMA = pkcol.TABSCHEMA AND fk.REFTABNAME = pkcol.TABNAME - WHERE fk.TABNAME = UPPER(" . $table . ") - ORDER BY fkcol.COLSEQ ASC"; + WHERE fk.TABNAME = UPPER(" . $table . ') + ORDER BY fkcol.COLSEQ ASC'; } /** @@ -421,7 +402,7 @@ class DB2Platform extends AbstractPlatform */ public function getCreateViewSQL($name, $sql) { - return "CREATE VIEW ".$name." AS ".$sql; + return 'CREATE VIEW ' . $name . ' AS ' . $sql; } /** @@ -429,7 +410,7 @@ class DB2Platform extends AbstractPlatform */ public function getDropViewSQL($name) { - return "DROP VIEW ".$name; + return 'DROP VIEW ' . $name; } /** @@ -437,7 +418,7 @@ class DB2Platform extends AbstractPlatform */ public function getCreateDatabaseSQL($database) { - return "CREATE DATABASE ".$database; + return 'CREATE DATABASE ' . $database; } /** @@ -445,7 +426,7 @@ class DB2Platform extends AbstractPlatform */ public function getDropDatabaseSQL($database) { - return "DROP DATABASE " . $database; + return 'DROP DATABASE ' . $database; } /** @@ -493,7 +474,7 @@ class DB2Platform extends AbstractPlatform */ public function getCurrentTimestampSQL() { - return "CURRENT TIMESTAMP"; + return 'CURRENT TIMESTAMP'; } /** @@ -529,8 +510,8 @@ class DB2Platform extends AbstractPlatform */ public function getAlterTableSQL(TableDiff $diff) { - $sql = []; - $columnSql = []; + $sql = []; + $columnSql = []; $commentsSQL = []; $queryParts = []; @@ -543,7 +524,7 @@ class DB2Platform extends AbstractPlatform $queryPart = 'ADD COLUMN ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnDef); // Adding non-nullable columns to a table requires a default value to be specified. - if ( ! empty($columnDef['notnull']) && + if (! empty($columnDef['notnull']) && ! isset($columnDef['default']) && empty($columnDef['autoincrement']) ) { @@ -554,13 +535,15 @@ class DB2Platform extends AbstractPlatform $comment = $this->getColumnComment($column); - if (null !== $comment && '' !== $comment) { - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $comment - ); + if ($comment === null || $comment === '') { + continue; } + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $comment + ); } foreach ($diff->removedColumns as $column) { @@ -604,13 +587,13 @@ class DB2Platform extends AbstractPlatform $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { if (count($queryParts) > 0) { - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(" ", $queryParts); + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(' ', $queryParts); } // Some table alteration operations require a table reorganization. - if ( ! empty($diff->removedColumns) || ! empty($diff->changedColumns)) { + if (! empty($diff->removedColumns) || ! empty($diff->changedColumns)) { $sql[] = "CALL SYSPROC.ADMIN_CMD ('REORG TABLE " . $diff->getName($this)->getQuotedName($this) . "')"; } @@ -635,8 +618,8 @@ class DB2Platform extends AbstractPlatform * * @param Table $table The table to gather the SQL for. * @param ColumnDiff $columnDiff The column diff to evaluate. - * @param array $sql The sequence of table alteration statements to fill. - * @param array $queryParts The sequence of column alteration clauses to fill. + * @param string[] $sql The sequence of table alteration statements to fill. + * @param mixed[] $queryParts The sequence of column alteration clauses to fill. */ private function gatherAlterColumnSQL(Table $table, ColumnDiff $columnDiff, array &$sql, array &$queryParts) { @@ -666,7 +649,7 @@ class DB2Platform extends AbstractPlatform * * @param ColumnDiff $columnDiff The column diff to evaluate. * - * @return array + * @return string[] */ private function getAlterColumnClausesSQL(ColumnDiff $columnDiff) { @@ -713,12 +696,12 @@ class DB2Platform extends AbstractPlatform */ protected function getPreAlterTableIndexForeignKeySQL(TableDiff $diff) { - $sql = []; + $sql = []; $table = $diff->getName($this)->getQuotedName($this); foreach ($diff->removedIndexes as $remKey => $remIndex) { foreach ($diff->addedIndexes as $addKey => $addIndex) { - if ($remIndex->getColumns() == $addIndex->getColumns()) { + if ($remIndex->getColumns() === $addIndex->getColumns()) { if ($remIndex->isPrimary()) { $sql[] = 'ALTER TABLE ' . $table . ' DROP PRIMARY KEY'; } elseif ($remIndex->isUnique()) { @@ -747,7 +730,7 @@ class DB2Platform extends AbstractPlatform protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { if (strpos($tableName, '.') !== false) { - list($schema) = explode('.', $tableName); + [$schema] = explode('.', $tableName); $oldIndexName = $schema . '.' . $oldIndexName; } @@ -759,13 +742,13 @@ class DB2Platform extends AbstractPlatform */ public function getDefaultValueDeclarationSQL($field) { - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return ''; } if (isset($field['version']) && $field['version']) { - if ((string) $field['type'] != "DateTime") { - $field['default'] = "1"; + if ((string) $field['type'] !== 'DateTime') { + $field['default'] = '1'; } } @@ -785,7 +768,7 @@ class DB2Platform extends AbstractPlatform */ public function getCreateTemporaryTableSnippetSQL() { - return "DECLARE GLOBAL TEMPORARY TABLE"; + return 'DECLARE GLOBAL TEMPORARY TABLE'; } /** @@ -793,7 +776,7 @@ class DB2Platform extends AbstractPlatform */ public function getTemporaryTableName($tableName) { - return "SESSION." . $tableName; + return 'SESSION.' . $tableName; } /** @@ -828,11 +811,11 @@ class DB2Platform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { + if ($startPos === false) { return 'LOCATE(' . $substr . ', ' . $str . ')'; } - return 'LOCATE(' . $substr . ', ' . $str . ', '.$startPos.')'; + return 'LOCATE(' . $substr . ', ' . $str . ', ' . $startPos . ')'; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DrizzlePlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DrizzlePlatform.php index d8a4d0920..27aacf422 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DrizzlePlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/DrizzlePlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -24,6 +7,7 @@ use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\Types\BinaryType; +use InvalidArgumentException; use function array_merge; use function array_unique; use function array_values; @@ -34,14 +18,11 @@ use function is_array; use function is_bool; use function is_numeric; use function is_string; -use function join; use function sprintf; use function trim; /** * Drizzle platform - * - * @author Kim Hemsø Rasmussen */ class DrizzlePlatform extends AbstractPlatform { @@ -68,7 +49,7 @@ class DrizzlePlatform extends AbstractPlatform { $args = func_get_args(); - return 'CONCAT(' . join(', ', (array) $args) . ')'; + return 'CONCAT(' . implode(', ', (array) $args) . ')'; } /** @@ -76,7 +57,7 @@ class DrizzlePlatform extends AbstractPlatform */ protected function getDateArithmeticIntervalExpression($date, $operator, $interval, $unit) { - $function = '+' === $operator ? 'DATE_ADD' : 'DATE_SUB'; + $function = $operator === '+' ? 'DATE_ADD' : 'DATE_SUB'; return $function . '(' . $date . ', INTERVAL ' . $interval . ' ' . $unit . ')'; } @@ -111,7 +92,7 @@ class DrizzlePlatform extends AbstractPlatform protected function _getCommonIntegerTypeDeclarationSQL(array $columnDef) { $autoinc = ''; - if ( ! empty($columnDef['autoincrement'])) { + if (! empty($columnDef['autoincrement'])) { $autoinc = ' AUTO_INCREMENT'; } @@ -226,13 +207,13 @@ class DrizzlePlatform extends AbstractPlatform // attach all primary keys if (isset($options['primary']) && ! empty($options['primary'])) { - $keyColumns = array_unique(array_values($options['primary'])); + $keyColumns = array_unique(array_values($options['primary'])); $queryFields .= ', PRIMARY KEY(' . implode(', ', $keyColumns) . ')'; } $query = 'CREATE '; - if (!empty($options['temporary'])) { + if (! empty($options['temporary'])) { $query .= 'TEMPORARY '; } @@ -254,7 +235,7 @@ class DrizzlePlatform extends AbstractPlatform /** * Build SQL for table options * - * @param array $options + * @param mixed[] $options * * @return string */ @@ -267,14 +248,14 @@ class DrizzlePlatform extends AbstractPlatform $tableOptions = []; // Collate - if ( ! isset($options['collate'])) { + if (! isset($options['collate'])) { $options['collate'] = 'utf8_unicode_ci'; } $tableOptions[] = sprintf('COLLATE %s', $options['collate']); // Engine - if ( ! isset($options['engine'])) { + if (! isset($options['engine'])) { $options['engine'] = 'InnoDB'; } @@ -289,7 +270,7 @@ class DrizzlePlatform extends AbstractPlatform if (isset($options['comment'])) { $comment = trim($options['comment'], " '"); - $tableOptions[] = sprintf("COMMENT = %s ", $this->quoteStringLiteral($comment)); + $tableOptions[] = sprintf('COMMENT = %s ', $this->quoteStringLiteral($comment)); } // Row format @@ -303,13 +284,13 @@ class DrizzlePlatform extends AbstractPlatform /** * Build SQL for partition options. * - * @param array $options + * @param mixed[] $options * * @return string */ private function buildPartitionOptions(array $options) { - return (isset($options['partition_options'])) + return isset($options['partition_options']) ? ' ' . $options['partition_options'] : ''; } @@ -344,15 +325,15 @@ class DrizzlePlatform extends AbstractPlatform public function getListTableColumnsSQL($table, $database = null) { if ($database) { - $database = "'" . $database . "'"; + $databaseSQL = $this->quoteStringLiteral($database); } else { - $database = 'DATABASE()'; + $databaseSQL = 'DATABASE()'; } - return "SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT, IS_NULLABLE, IS_AUTO_INCREMENT, CHARACTER_MAXIMUM_LENGTH, COLUMN_DEFAULT," . - " NUMERIC_PRECISION, NUMERIC_SCALE, COLLATION_NAME" . - " FROM DATA_DICTIONARY.COLUMNS" . - " WHERE TABLE_SCHEMA=" . $database . " AND TABLE_NAME = '" . $table . "'"; + return 'SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT, IS_NULLABLE, IS_AUTO_INCREMENT, CHARACTER_MAXIMUM_LENGTH, COLUMN_DEFAULT,' . + ' NUMERIC_PRECISION, NUMERIC_SCALE, COLLATION_NAME' . + ' FROM DATA_DICTIONARY.COLUMNS' . + ' WHERE TABLE_SCHEMA=' . $databaseSQL . ' AND TABLE_NAME = ' . $this->quoteStringLiteral($table); } /** @@ -361,14 +342,14 @@ class DrizzlePlatform extends AbstractPlatform public function getListTableForeignKeysSQL($table, $database = null) { if ($database) { - $database = "'" . $database . "'"; + $databaseSQL = $this->quoteStringLiteral($database); } else { - $database = 'DATABASE()'; + $databaseSQL = 'DATABASE()'; } - return "SELECT CONSTRAINT_NAME, CONSTRAINT_COLUMNS, REFERENCED_TABLE_NAME, REFERENCED_TABLE_COLUMNS, UPDATE_RULE, DELETE_RULE" . - " FROM DATA_DICTIONARY.FOREIGN_KEYS" . - " WHERE CONSTRAINT_SCHEMA=" . $database . " AND CONSTRAINT_TABLE='" . $table . "'"; + return 'SELECT CONSTRAINT_NAME, CONSTRAINT_COLUMNS, REFERENCED_TABLE_NAME, REFERENCED_TABLE_COLUMNS, UPDATE_RULE, DELETE_RULE' . + ' FROM DATA_DICTIONARY.FOREIGN_KEYS' . + ' WHERE CONSTRAINT_SCHEMA=' . $databaseSQL . ' AND CONSTRAINT_TABLE=' . $this->quoteStringLiteral($table); } /** @@ -377,14 +358,14 @@ class DrizzlePlatform extends AbstractPlatform public function getListTableIndexesSQL($table, $database = null) { if ($database) { - $database = "'" . $database . "'"; + $databaseSQL = $this->quoteStringLiteral($database); } else { - $database = 'DATABASE()'; + $databaseSQL = 'DATABASE()'; } return "SELECT INDEX_NAME AS 'key_name', COLUMN_NAME AS 'column_name', IS_USED_IN_PRIMARY AS 'primary', IS_UNIQUE=0 AS 'non_unique'" . - " FROM DATA_DICTIONARY.INDEX_PARTS" . - " WHERE TABLE_SCHEMA=" . $database . " AND TABLE_NAME='" . $table . "'"; + ' FROM DATA_DICTIONARY.INDEX_PARTS' . + ' WHERE TABLE_SCHEMA=' . $databaseSQL . ' AND TABLE_NAME=' . $this->quoteStringLiteral($table); } /** @@ -430,20 +411,20 @@ class DrizzlePlatform extends AbstractPlatform /** * {@inheritDoc} */ - public function getDropIndexSQL($index, $table=null) + public function getDropIndexSQL($index, $table = null) { if ($index instanceof Index) { $indexName = $index->getQuotedName($this); } elseif (is_string($index)) { $indexName = $index; } else { - throw new \InvalidArgumentException('DrizzlePlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); + throw new InvalidArgumentException('DrizzlePlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); } if ($table instanceof Table) { $table = $table->getQuotedName($this); - } elseif (!is_string($table)) { - throw new \InvalidArgumentException('DrizzlePlatform::getDropIndexSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + } elseif (! is_string($table)) { + throw new InvalidArgumentException('DrizzlePlatform::getDropIndexSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } if ($index instanceof Index && $index->isPrimary()) { @@ -468,7 +449,7 @@ class DrizzlePlatform extends AbstractPlatform */ public function getDateTimeTypeDeclarationSQL(array $fieldDeclaration) { - if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] == true) { + if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] === true) { return 'TIMESTAMP'; } @@ -496,7 +477,7 @@ class DrizzlePlatform extends AbstractPlatform */ public function getAlterTableSQL(TableDiff $diff) { - $columnSql = []; + $columnSql = []; $queryParts = []; if ($diff->newName !== false) { @@ -508,9 +489,9 @@ class DrizzlePlatform extends AbstractPlatform continue; } - $columnArray = $column->toArray(); + $columnArray = $column->toArray(); $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'ADD ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); + $queryParts[] = 'ADD ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } foreach ($diff->removedColumns as $column) { @@ -526,8 +507,7 @@ class DrizzlePlatform extends AbstractPlatform continue; } - /* @var $columnDiff \Doctrine\DBAL\Schema\ColumnDiff */ - $column = $columnDiff->column; + $column = $columnDiff->column; $columnArray = $column->toArray(); // Do not generate column alteration clause if type is binary and only fixed property has changed. @@ -541,7 +521,7 @@ class DrizzlePlatform extends AbstractPlatform } $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'CHANGE ' . ($columnDiff->getOldColumnName()->getQuotedName($this)) . ' ' + $queryParts[] = 'CHANGE ' . ($columnDiff->getOldColumnName()->getQuotedName($this)) . ' ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } @@ -552,18 +532,18 @@ class DrizzlePlatform extends AbstractPlatform $oldColumnName = new Identifier($oldColumnName); - $columnArray = $column->toArray(); + $columnArray = $column->toArray(); $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'CHANGE ' . $oldColumnName->getQuotedName($this) . ' ' + $queryParts[] = 'CHANGE ' . $oldColumnName->getQuotedName($this) . ' ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } - $sql = []; + $sql = []; $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { if (count($queryParts) > 0) { - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(", ", $queryParts); + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(', ', $queryParts); } $sql = array_merge( $this->getPreAlterTableIndexForeignKeySQL($diff), @@ -582,8 +562,8 @@ class DrizzlePlatform extends AbstractPlatform { if ($table instanceof Table) { $table = $table->getQuotedName($this); - } elseif (!is_string($table)) { - throw new \InvalidArgumentException('getDropTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + } elseif (! is_string($table)) { + throw new InvalidArgumentException('getDropTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } return 'DROP TEMPORARY TABLE ' . $table; @@ -596,12 +576,14 @@ class DrizzlePlatform extends AbstractPlatform { if (is_array($item)) { foreach ($item as $key => $value) { - if (is_bool($value) || is_numeric($item)) { - $item[$key] = ($value) ? 'true' : 'false'; + if (! is_bool($value) && ! is_numeric($item)) { + continue; } + + $item[$key] = $value ? 'true' : 'false'; } } elseif (is_bool($item) || is_numeric($item)) { - $item = ($item) ? 'true' : 'false'; + $item = $item ? 'true' : 'false'; } return $item; @@ -612,11 +594,11 @@ class DrizzlePlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { + if ($startPos === false) { return 'LOCATE(' . $substr . ', ' . $str . ')'; } - return 'LOCATE(' . $substr . ', ' . $str . ', '.$startPos.')'; + return 'LOCATE(' . $substr . ', ' . $str . ', ' . $startPos . ')'; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DB2Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DB2Keywords.php index 884cc8ec7..8533f579d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DB2Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DB2Keywords.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * DB2 Keywords. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class DB2Keywords extends KeywordList { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DrizzleKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DrizzleKeywords.php index 46c8b2463..70f69f44b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DrizzleKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/DrizzleKeywords.php @@ -1,28 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * Drizzle Keywordlist. - * - * @author Kim Hemsø Rasmussen */ class DrizzleKeywords extends KeywordList { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php index e8933a386..860d9f210 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/KeywordList.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -25,16 +8,10 @@ use function strtoupper; /** * Abstract interface for a SQL reserved keyword dictionary. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ abstract class KeywordList { - /** - * @var array|null - */ + /** @var string[]|null */ private $keywords = null; /** @@ -64,7 +41,7 @@ abstract class KeywordList /** * Returns the list of keywords. * - * @return array + * @return string[] */ abstract protected function getKeywords(); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php index 3fb66934f..1b31c7682 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MariaDb102Keywords.php @@ -1,26 +1,10 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * MariaDb reserved keywords list. + * * @link https://mariadb.com/kb/en/the-mariadb-library/reserved-words/ */ final class MariaDb102Keywords extends MySQLKeywords diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MsSQLKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MsSQLKeywords.php index 9c8f61499..5306b5b0d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MsSQLKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MsSQLKeywords.php @@ -1,35 +1,13 @@ . - */ - namespace Doctrine\DBAL\Platforms\Keywords; /** * MsSQL Keywordlist * - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link www.doctrine-project.com - * @since 2.0 - * @author Benjamin Eberlei - * @author David Coallier - * @author Steve Müller * @deprecated Use SQLServerKeywords class instead. + * + * @link www.doctrine-project.com */ class MsSQLKeywords extends SQLServerKeywords { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL57Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL57Keywords.php index ef7c389ed..9b60a3f1c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL57Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL57Keywords.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * MySQL 5.7 reserved keywords list. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class MySQL57Keywords extends MySQLKeywords { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL80Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL80Keywords.php index 232b85cdd..4b595d53a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL80Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQL80Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -23,8 +6,6 @@ use function array_merge; /** * MySQL 8.0 reserved keywords list. - * - * @link www.doctrine-project.org */ class MySQL80Keywords extends MySQL57Keywords { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php index 8ba9b4d74..84ca1446a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/MySQLKeywords.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * MySQL Keywordlist. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author David Coallier */ class MySQLKeywords extends KeywordList { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/OracleKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/OracleKeywords.php index 4914d2e9d..92ca81a07 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/OracleKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/OracleKeywords.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * Oracle Keywordlist. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author David Coallier */ class OracleKeywords extends KeywordList { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL91Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL91Keywords.php index ecbd0a46d..75a93f5f1 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL91Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL91Keywords.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * PostgreSQL 9.1 reserved keywords list. - * - * @author Martin Hasoň - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class PostgreSQL91Keywords extends PostgreSQLKeywords { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL92Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL92Keywords.php index d6c6a9d3f..5179462fd 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL92Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL92Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -23,10 +6,6 @@ use function array_merge; /** * PostgreSQL 9.2 reserved keywords list. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class PostgreSQL92Keywords extends PostgreSQL91Keywords { @@ -45,8 +24,6 @@ class PostgreSQL92Keywords extends PostgreSQL91Keywords */ protected function getKeywords() { - return array_merge(parent::getKeywords(), [ - 'COLLATION', - ]); + return array_merge(parent::getKeywords(), ['COLLATION']); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL94Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL94Keywords.php index 8daa59539..b33b8a8c0 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL94Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQL94Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -24,10 +7,6 @@ use function array_merge; /** * PostgreSQL 9.4 reserved keywords list. - * - * @author Matteo Beccati - * @link www.doctrine-project.org - * @since 2.6 */ class PostgreSQL94Keywords extends PostgreSQL92Keywords { @@ -46,12 +25,8 @@ class PostgreSQL94Keywords extends PostgreSQL92Keywords */ protected function getKeywords() { - $parentKeywords = array_diff(parent::getKeywords(), [ - 'OVER', - ]); + $parentKeywords = array_diff(parent::getKeywords(), ['OVER']); - return array_merge($parentKeywords, [ - 'LATERAL', - ]); + return array_merge($parentKeywords, ['LATERAL']); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQLKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQLKeywords.php index 571d6f4e8..8c699e253 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQLKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/PostgreSQLKeywords.php @@ -1,31 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * PostgreSQL Keywordlist. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Marcelo Santos Araujo */ class PostgreSQLKeywords extends KeywordList { @@ -129,7 +107,7 @@ class PostgreSQLKeywords extends KeywordList 'USING', 'VERBOSE', 'WHEN', - 'WHERE' + 'WHERE', ]; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/ReservedKeywordsValidator.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/ReservedKeywordsValidator.php index c6a5954e2..68cdf3d15 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/ReservedKeywordsValidator.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/ReservedKeywordsValidator.php @@ -1,48 +1,27 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; -use Doctrine\DBAL\Schema\Visitor\Visitor; -use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ForeignKeyConstraint; +use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Sequence; -use Doctrine\DBAL\Schema\Index; +use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\Visitor\Visitor; use function implode; use function str_replace; class ReservedKeywordsValidator implements Visitor { - /** - * @var KeywordList[] - */ + /** @var KeywordList[] */ private $keywordLists = []; - /** - * @var array - */ + /** @var string[] */ private $violations = []; /** - * @param \Doctrine\DBAL\Platforms\Keywords\KeywordList[] $keywordLists + * @param KeywordList[] $keywordLists */ public function __construct(array $keywordLists) { @@ -50,7 +29,7 @@ class ReservedKeywordsValidator implements Visitor } /** - * @return array + * @return string[] */ public function getViolations() { @@ -60,33 +39,35 @@ class ReservedKeywordsValidator implements Visitor /** * @param string $word * - * @return array + * @return string[] */ private function isReservedWord($word) { - if ($word[0] == "`") { + if ($word[0] === '`') { $word = str_replace('`', '', $word); } $keywordLists = []; foreach ($this->keywordLists as $keywordList) { - if ($keywordList->isKeyword($word)) { - $keywordLists[] = $keywordList->getName(); + if (! $keywordList->isKeyword($word)) { + continue; } + + $keywordLists[] = $keywordList->getName(); } return $keywordLists; } /** - * @param string $asset - * @param array $violatedPlatforms + * @param string $asset + * @param string[] $violatedPlatforms * * @return void */ private function addViolation($asset, $violatedPlatforms) { - if ( ! $violatedPlatforms) { + if (! $violatedPlatforms) { return; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere11Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere11Keywords.php index 6e67ee2e6..09513c577 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere11Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere11Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -24,8 +7,6 @@ use function array_merge; /** * SAP Sybase SQL Anywhere 11 reserved keywords list. - * - * @author Steve Müller */ class SQLAnywhere11Keywords extends SQLAnywhereKeywords { @@ -51,7 +32,7 @@ class SQLAnywhere11Keywords extends SQLAnywhereKeywords ), [ 'MERGE', - 'OPENSTRING' + 'OPENSTRING', ] ); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere12Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere12Keywords.php index ebc38bf84..489a83f71 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere12Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere12Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -24,8 +7,6 @@ use function array_merge; /** * SAP Sybase SQL Anywhere 12 reserved keywords list. - * - * @author Steve Müller */ class SQLAnywhere12Keywords extends SQLAnywhere11Keywords { @@ -52,7 +33,7 @@ class SQLAnywhere12Keywords extends SQLAnywhere11Keywords 'SYNTAX_ERROR', 'WITH_CUBE', 'WITH_LPAREN', - 'WITH_ROLLUP' + 'WITH_ROLLUP', ] ), [ @@ -60,7 +41,7 @@ class SQLAnywhere12Keywords extends SQLAnywhere11Keywords 'LIMIT', 'OPENXML', 'SPATIAL', - 'TREAT' + 'TREAT', ] ); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere16Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere16Keywords.php index 1ec984e78..fce19b416 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere16Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhere16Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -23,8 +6,6 @@ use function array_merge; /** * SAP Sybase SQL Anywhere 16 reserved keywords list. - * - * @author Steve Müller */ class SQLAnywhere16Keywords extends SQLAnywhere12Keywords { @@ -51,7 +32,7 @@ class SQLAnywhere16Keywords extends SQLAnywhere12Keywords 'ROW', 'ROWTYPE', 'UNNEST', - 'VARRAY' + 'VARRAY', ] ); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhereKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhereKeywords.php index 9d5ab5db8..5223d4a9e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhereKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLAnywhereKeywords.php @@ -1,28 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * SAP Sybase SQL Anywhere 10 reserved keywords list. - * - * @author Steve Müller */ class SQLAnywhereKeywords extends KeywordList { @@ -275,7 +256,7 @@ class SQLAnywhereKeywords extends KeywordList 'WITHIN', 'WORK', 'WRITETEXT', - 'XML' + 'XML', ]; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2005Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2005Keywords.php index 02b465620..c4fc6c838 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2005Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2005Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -25,10 +8,7 @@ use function array_merge; /** * Microsoft SQL Server 2005 reserved keyword dictionary. * - * @license BSD http://www.opensource.org/licenses/bsd-license.php * @link www.doctrine-project.com - * @since 2.3 - * @author Steve Müller */ class SQLServer2005Keywords extends SQLServerKeywords { @@ -53,7 +33,7 @@ class SQLServer2005Keywords extends SQLServerKeywords 'REVERT', 'SECURITYAUDIT', 'TABLESAMPLE', - 'UNPIVOT' + 'UNPIVOT', ]); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2008Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2008Keywords.php index b5c38610a..54a4e3a5f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2008Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2008Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -24,10 +7,7 @@ use function array_merge; /** * Microsoft SQL Server 2008 reserved keyword dictionary. * - * @license BSD http://www.opensource.org/licenses/bsd-license.php * @link www.doctrine-project.com - * @since 2.3 - * @author Steve Müller */ class SQLServer2008Keywords extends SQLServer2005Keywords { @@ -46,8 +26,6 @@ class SQLServer2008Keywords extends SQLServer2005Keywords */ protected function getKeywords() { - return array_merge(parent::getKeywords(), [ - 'MERGE' - ]); + return array_merge(parent::getKeywords(), ['MERGE']); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2012Keywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2012Keywords.php index bf621bff8..142e8a388 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2012Keywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServer2012Keywords.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; @@ -24,10 +7,7 @@ use function array_merge; /** * Microsoft SQL Server 2012 reserved keyword dictionary. * - * @license BSD http://www.opensource.org/licenses/bsd-license.php * @link www.doctrine-project.com - * @since 2.3 - * @author Steve Müller */ class SQLServer2012Keywords extends SQLServer2008Keywords { @@ -51,7 +31,7 @@ class SQLServer2012Keywords extends SQLServer2008Keywords 'SEMANTICSIMILARITYDETAILSTABLE', 'SEMANTICSIMILARITYTABLE', 'TRY_CONVERT', - 'WITHIN GROUP' + 'WITHIN GROUP', ]); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServerKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServerKeywords.php index 5b65cbc87..1e477309c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServerKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLServerKeywords.php @@ -1,33 +1,11 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * Microsoft SQL Server 2000 reserved keyword dictionary. * - * @license BSD http://www.opensource.org/licenses/bsd-license.php * @link www.doctrine-project.com - * @since 2.0 - * @author Benjamin Eberlei - * @author David Coallier - * @author Steve Müller */ class SQLServerKeywords extends KeywordList { @@ -225,7 +203,7 @@ class SQLServerKeywords extends KeywordList 'WHERE', 'WHILE', 'WITH', - 'WRITETEXT' + 'WRITETEXT', ]; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLiteKeywords.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLiteKeywords.php index f240aa644..a0c9c797e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLiteKeywords.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/Keywords/SQLiteKeywords.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms\Keywords; /** * SQLite Keywordlist. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class SQLiteKeywords extends KeywordList { @@ -162,7 +141,7 @@ class SQLiteKeywords extends KeywordList 'VIEW', 'VIRTUAL', 'WHEN', - 'WHERE' + 'WHERE', ]; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php index 1955fb059..25420a047 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -24,21 +7,10 @@ use Doctrine\DBAL\Types\Type; /** * Provides the behavior, features and SQL dialect of the MariaDB 10.2 (10.2.7 GA) database platform. * - * Note: Should not be used with versions prior ro 10.2.7. - * - * @author Vanvelthem Sébastien - * @link www.doctrine-project.org + * Note: Should not be used with versions prior to 10.2.7. */ final class MariaDb1027Platform extends MySqlPlatform { - /** - * {@inheritdoc} - */ - public function hasNativeJsonType() : bool - { - return false; - } - /** * {@inheritdoc} * diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL57Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL57Platform.php index 5b2328b2e..71ef6ca96 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL57Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL57Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -25,11 +8,6 @@ use Doctrine\DBAL\Types\Type; /** * Provides the behavior, features and SQL dialect of the MySQL 5.7 (5.7.9 GA) database platform. - * - * @author İsmail BASKIN - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class MySQL57Platform extends MySqlPlatform { @@ -70,9 +48,7 @@ class MySQL57Platform extends MySqlPlatform */ protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { - return [ - 'ALTER TABLE ' . $tableName . ' RENAME INDEX ' . $oldIndexName . ' TO ' . $index->getQuotedName($this) - ]; + return ['ALTER TABLE ' . $tableName . ' RENAME INDEX ' . $oldIndexName . ' TO ' . $index->getQuotedName($this)]; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL80Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL80Platform.php index e0727237b..f6d4be9dc 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL80Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySQL80Platform.php @@ -1,28 +1,9 @@ . - */ namespace Doctrine\DBAL\Platforms; /** * Provides the behavior, features and SQL dialect of the MySQL 8.0 (8.0 GA) database platform. - * - * @link www.doctrine-project.org */ class MySQL80Platform extends MySQL57Platform { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php index a16bfe79d..98228fc50 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/MySqlPlatform.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Platforms; +use Doctrine\DBAL\Schema\ForeignKeyConstraint; use Doctrine\DBAL\Schema\Identifier; use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Table; @@ -26,6 +10,7 @@ use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\TransactionIsolationLevel; use Doctrine\DBAL\Types\BlobType; use Doctrine\DBAL\Types\TextType; +use InvalidArgumentException; use function array_diff_key; use function array_merge; use function array_unique; @@ -36,7 +21,6 @@ use function implode; use function in_array; use function is_numeric; use function is_string; -use function join; use function sprintf; use function str_replace; use function strtoupper; @@ -47,20 +31,17 @@ use function trim; * MySQL database platform. This platform represents a MySQL 5.0 or greater platform that * uses the InnoDB storage engine. * - * @since 2.0 - * @author Roman Borschel - * @author Benjamin Eberlei * @todo Rename: MySQLPlatform */ class MySqlPlatform extends AbstractPlatform { - const LENGTH_LIMIT_TINYTEXT = 255; - const LENGTH_LIMIT_TEXT = 65535; - const LENGTH_LIMIT_MEDIUMTEXT = 16777215; + public const LENGTH_LIMIT_TINYTEXT = 255; + public const LENGTH_LIMIT_TEXT = 65535; + public const LENGTH_LIMIT_MEDIUMTEXT = 16777215; - const LENGTH_LIMIT_TINYBLOB = 255; - const LENGTH_LIMIT_BLOB = 65535; - const LENGTH_LIMIT_MEDIUMBLOB = 16777215; + public const LENGTH_LIMIT_TINYBLOB = 255; + public const LENGTH_LIMIT_BLOB = 65535; + public const LENGTH_LIMIT_MEDIUMBLOB = 16777215; /** * {@inheritDoc} @@ -112,11 +93,11 @@ class MySqlPlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { + if ($startPos === false) { return 'LOCATE(' . $substr . ', ' . $str . ')'; } - return 'LOCATE(' . $substr . ', ' . $str . ', '.$startPos.')'; + return 'LOCATE(' . $substr . ', ' . $str . ', ' . $startPos . ')'; } /** @@ -124,9 +105,7 @@ class MySqlPlatform extends AbstractPlatform */ public function getConcatExpression() { - $args = func_get_args(); - - return 'CONCAT(' . join(', ', (array) $args) . ')'; + return sprintf('CONCAT(%s)', implode(', ', func_get_args())); } /** @@ -134,7 +113,7 @@ class MySqlPlatform extends AbstractPlatform */ protected function getDateArithmeticIntervalExpression($date, $operator, $interval, $unit) { - $function = '+' === $operator ? 'DATE_ADD' : 'DATE_SUB'; + $function = $operator === '+' ? 'DATE_ADD' : 'DATE_SUB'; return $function . '(' . $date . ', INTERVAL ' . $interval . ' ' . $unit . ')'; } @@ -173,13 +152,14 @@ class MySqlPlatform extends AbstractPlatform { if ($currentDatabase) { $currentDatabase = $this->quoteStringLiteral($currentDatabase); - $table = $this->quoteStringLiteral($table); + $table = $this->quoteStringLiteral($table); - return "SELECT TABLE_NAME AS `Table`, NON_UNIQUE AS Non_Unique, INDEX_NAME AS Key_name, ". - "SEQ_IN_INDEX AS Seq_in_index, COLUMN_NAME AS Column_Name, COLLATION AS Collation, ". - "CARDINALITY AS Cardinality, SUB_PART AS Sub_Part, PACKED AS Packed, " . - "NULLABLE AS `Null`, INDEX_TYPE AS Index_Type, COMMENT AS Comment " . - "FROM information_schema.STATISTICS WHERE TABLE_NAME = " . $table . " AND TABLE_SCHEMA = " . $currentDatabase; + return 'SELECT TABLE_NAME AS `Table`, NON_UNIQUE AS Non_Unique, INDEX_NAME AS Key_name, ' . + 'SEQ_IN_INDEX AS Seq_in_index, COLUMN_NAME AS Column_Name, COLLATION AS Collation, ' . + 'CARDINALITY AS Cardinality, SUB_PART AS Sub_Part, PACKED AS Packed, ' . + 'NULLABLE AS `Null`, INDEX_TYPE AS Index_Type, COMMENT AS Comment ' . + 'FROM information_schema.STATISTICS WHERE TABLE_NAME = ' . $table . ' AND TABLE_SCHEMA = ' . $currentDatabase . + ' ORDER BY SEQ_IN_INDEX ASC'; } return 'SHOW INDEX FROM ' . $table; @@ -192,7 +172,7 @@ class MySqlPlatform extends AbstractPlatform { $database = $this->quoteStringLiteral($database); - return "SELECT * FROM information_schema.VIEWS WHERE TABLE_SCHEMA = " . $database; + return 'SELECT * FROM information_schema.VIEWS WHERE TABLE_SCHEMA = ' . $database; } /** @@ -202,21 +182,21 @@ class MySqlPlatform extends AbstractPlatform { $table = $this->quoteStringLiteral($table); - if (null !== $database) { + if ($database !== null) { $database = $this->quoteStringLiteral($database); } - $sql = "SELECT DISTINCT k.`CONSTRAINT_NAME`, k.`COLUMN_NAME`, k.`REFERENCED_TABLE_NAME`, ". - "k.`REFERENCED_COLUMN_NAME` /*!50116 , c.update_rule, c.delete_rule */ ". - "FROM information_schema.key_column_usage k /*!50116 ". - "INNER JOIN information_schema.referential_constraints c ON ". - " c.constraint_name = k.constraint_name AND ". - " c.table_name = $table */ WHERE k.table_name = $table"; + $sql = 'SELECT DISTINCT k.`CONSTRAINT_NAME`, k.`COLUMN_NAME`, k.`REFERENCED_TABLE_NAME`, ' . + 'k.`REFERENCED_COLUMN_NAME` /*!50116 , c.update_rule, c.delete_rule */ ' . + 'FROM information_schema.key_column_usage k /*!50116 ' . + 'INNER JOIN information_schema.referential_constraints c ON ' . + ' c.constraint_name = k.constraint_name AND ' . + ' c.table_name = ' . $table . ' */ WHERE k.table_name = ' . $table; $databaseNameSql = $database ?? 'DATABASE()'; - $sql .= " AND k.table_schema = $databaseNameSql /*!50116 AND c.constraint_schema = $databaseNameSql */"; - $sql .= " AND k.`REFERENCED_COLUMN_NAME` is not NULL"; + $sql .= ' AND k.table_schema = ' . $databaseNameSql . ' /*!50116 AND c.constraint_schema = ' . $databaseNameSql . ' */'; + $sql .= ' AND k.`REFERENCED_COLUMN_NAME` is not NULL'; return $sql; } @@ -234,7 +214,7 @@ class MySqlPlatform extends AbstractPlatform */ public function getDropViewSQL($name) { - return 'DROP VIEW '. $name; + return 'DROP VIEW ' . $name; } /** @@ -261,13 +241,11 @@ class MySqlPlatform extends AbstractPlatform * MEDIUMTEXT : 2 ^ 24 - 1 = 16777215 * LONGTEXT : 2 ^ 32 - 1 = 4294967295 * - * @param array $field - * - * @return string + * {@inheritDoc} */ public function getClobTypeDeclarationSQL(array $field) { - if ( ! empty($field['length']) && is_numeric($field['length'])) { + if (! empty($field['length']) && is_numeric($field['length'])) { $length = $field['length']; if ($length <= static::LENGTH_LIMIT_TINYTEXT) { @@ -291,7 +269,7 @@ class MySqlPlatform extends AbstractPlatform */ public function getDateTimeTypeDeclarationSQL(array $fieldDeclaration) { - if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] == true) { + if (isset($fieldDeclaration['version']) && $fieldDeclaration['version'] === true) { return 'TIMESTAMP'; } @@ -396,10 +374,25 @@ class MySqlPlatform extends AbstractPlatform $database = 'DATABASE()'; } - return "SELECT COLUMN_NAME AS Field, COLUMN_TYPE AS Type, IS_NULLABLE AS `Null`, ". - "COLUMN_KEY AS `Key`, COLUMN_DEFAULT AS `Default`, EXTRA AS Extra, COLUMN_COMMENT AS Comment, " . - "CHARACTER_SET_NAME AS CharacterSet, COLLATION_NAME AS Collation ". - "FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = " . $database . " AND TABLE_NAME = " . $table; + return 'SELECT COLUMN_NAME AS Field, COLUMN_TYPE AS Type, IS_NULLABLE AS `Null`, ' . + 'COLUMN_KEY AS `Key`, COLUMN_DEFAULT AS `Default`, EXTRA AS Extra, COLUMN_COMMENT AS Comment, ' . + 'CHARACTER_SET_NAME AS CharacterSet, COLLATION_NAME AS Collation ' . + 'FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ' . $database . ' AND TABLE_NAME = ' . $table . + ' ORDER BY ORDINAL_POSITION ASC'; + } + + public function getListTableMetadataSQL(string $table, ?string $database = null) : string + { + return sprintf( + <<<'SQL' +SELECT ENGINE, AUTO_INCREMENT, TABLE_COLLATION, TABLE_COMMENT, CREATE_OPTIONS +FROM information_schema.TABLES +WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = %s AND TABLE_NAME = %s +SQL + , + $database ? $this->quoteStringLiteral($database) : 'DATABASE()', + $this->quoteStringLiteral($table) + ); } /** @@ -440,13 +433,13 @@ class MySqlPlatform extends AbstractPlatform // attach all primary keys if (isset($options['primary']) && ! empty($options['primary'])) { - $keyColumns = array_unique(array_values($options['primary'])); + $keyColumns = array_unique(array_values($options['primary'])); $queryFields .= ', PRIMARY KEY(' . implode(', ', $keyColumns) . ')'; } $query = 'CREATE '; - if (!empty($options['temporary'])) { + if (! empty($options['temporary'])) { $query .= 'TEMPORARY '; } @@ -487,7 +480,7 @@ class MySqlPlatform extends AbstractPlatform /** * Build SQL for table options * - * @param array $options + * @param mixed[] $options * * @return string */ @@ -500,21 +493,21 @@ class MySqlPlatform extends AbstractPlatform $tableOptions = []; // Charset - if ( ! isset($options['charset'])) { + if (! isset($options['charset'])) { $options['charset'] = 'utf8'; } $tableOptions[] = sprintf('DEFAULT CHARACTER SET %s', $options['charset']); // Collate - if ( ! isset($options['collate'])) { + if (! isset($options['collate'])) { $options['collate'] = $options['charset'] . '_unicode_ci'; } $tableOptions[] = sprintf('COLLATE %s', $options['collate']); // Engine - if ( ! isset($options['engine'])) { + if (! isset($options['engine'])) { $options['engine'] = 'InnoDB'; } @@ -529,7 +522,7 @@ class MySqlPlatform extends AbstractPlatform if (isset($options['comment'])) { $comment = trim($options['comment'], " '"); - $tableOptions[] = sprintf("COMMENT = %s ", $this->quoteStringLiteral($comment)); + $tableOptions[] = sprintf('COMMENT = %s ', $this->quoteStringLiteral($comment)); } // Row format @@ -543,13 +536,13 @@ class MySqlPlatform extends AbstractPlatform /** * Build SQL for partition options. * - * @param array $options + * @param mixed[] $options * * @return string */ private function buildPartitionOptions(array $options) { - return (isset($options['partition_options'])) + return isset($options['partition_options']) ? ' ' . $options['partition_options'] : ''; } @@ -559,7 +552,7 @@ class MySqlPlatform extends AbstractPlatform */ public function getAlterTableSQL(TableDiff $diff) { - $columnSql = []; + $columnSql = []; $queryParts = []; if ($diff->newName !== false) { $queryParts[] = 'RENAME TO ' . $diff->getNewName()->getQuotedName($this); @@ -570,9 +563,9 @@ class MySqlPlatform extends AbstractPlatform continue; } - $columnArray = $column->toArray(); + $columnArray = $column->toArray(); $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'ADD ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); + $queryParts[] = 'ADD ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } foreach ($diff->removedColumns as $column) { @@ -588,8 +581,7 @@ class MySqlPlatform extends AbstractPlatform continue; } - /* @var $columnDiff \Doctrine\DBAL\Schema\ColumnDiff */ - $column = $columnDiff->column; + $column = $columnDiff->column; $columnArray = $column->toArray(); // Don't propagate default value changes for unsupported column types. @@ -601,7 +593,7 @@ class MySqlPlatform extends AbstractPlatform } $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'CHANGE ' . ($columnDiff->getOldColumnName()->getQuotedName($this)) . ' ' + $queryParts[] = 'CHANGE ' . ($columnDiff->getOldColumnName()->getQuotedName($this)) . ' ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } @@ -610,25 +602,25 @@ class MySqlPlatform extends AbstractPlatform continue; } - $oldColumnName = new Identifier($oldColumnName); - $columnArray = $column->toArray(); + $oldColumnName = new Identifier($oldColumnName); + $columnArray = $column->toArray(); $columnArray['comment'] = $this->getColumnComment($column); - $queryParts[] = 'CHANGE ' . $oldColumnName->getQuotedName($this) . ' ' + $queryParts[] = 'CHANGE ' . $oldColumnName->getQuotedName($this) . ' ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnArray); } if (isset($diff->addedIndexes['primary'])) { - $keyColumns = array_unique(array_values($diff->addedIndexes['primary']->getColumns())); + $keyColumns = array_unique(array_values($diff->addedIndexes['primary']->getColumns())); $queryParts[] = 'ADD PRIMARY KEY (' . implode(', ', $keyColumns) . ')'; unset($diff->addedIndexes['primary']); } - $sql = []; + $sql = []; $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { if (count($queryParts) > 0) { - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(", ", $queryParts); + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . implode(', ', $queryParts); } $sql = array_merge( $this->getPreAlterTableIndexForeignKeySQL($diff), @@ -645,7 +637,7 @@ class MySqlPlatform extends AbstractPlatform */ protected function getPreAlterTableIndexForeignKeySQL(TableDiff $diff) { - $sql = []; + $sql = []; $table = $diff->getName($this)->getQuotedName($this); foreach ($diff->changedIndexes as $changedIndex) { @@ -656,8 +648,7 @@ class MySqlPlatform extends AbstractPlatform $sql = array_merge($sql, $this->getPreAlterTableAlterPrimaryKeySQL($diff, $remIndex)); foreach ($diff->addedIndexes as $addKey => $addIndex) { - if ($remIndex->getColumns() == $addIndex->getColumns()) { - + if ($remIndex->getColumns() === $addIndex->getColumns()) { $indexClause = 'INDEX ' . $addIndex->getName(); if ($addIndex->isPrimary()) { @@ -666,9 +657,9 @@ class MySqlPlatform extends AbstractPlatform $indexClause = 'UNIQUE INDEX ' . $addIndex->getName(); } - $query = 'ALTER TABLE ' . $table . ' DROP INDEX ' . $remIndex->getName() . ', '; + $query = 'ALTER TABLE ' . $table . ' DROP INDEX ' . $remIndex->getName() . ', '; $query .= 'ADD ' . $indexClause; - $query .= ' (' . $this->getIndexFieldDeclarationListSQL($addIndex->getQuotedColumns($this)) . ')'; + $query .= ' (' . $this->getIndexFieldDeclarationListSQL($addIndex) . ')'; $sql[] = $query; @@ -686,7 +677,7 @@ class MySqlPlatform extends AbstractPlatform } // Suppress foreign key constraint propagation on non-supporting engines. - if ('INNODB' !== $engine) { + if ($engine !== 'INNODB') { $diff->addedForeignKeys = []; $diff->changedForeignKeys = []; $diff->removedForeignKeys = []; @@ -703,9 +694,6 @@ class MySqlPlatform extends AbstractPlatform } /** - * @param TableDiff $diff - * @param Index $index - * * @return string[] */ private function getPreAlterTableAlterPrimaryKeySQL(TableDiff $diff, Index $index) @@ -726,13 +714,55 @@ class MySqlPlatform extends AbstractPlatform $column = $diff->fromTable->getColumn($columnName); - if ($column->getAutoincrement() === true) { + if ($column->getAutoincrement() !== true) { + continue; + } + + $column->setAutoincrement(false); + + $sql[] = 'ALTER TABLE ' . $tableName . ' MODIFY ' . + $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray()); + + // original autoincrement information might be needed later on by other parts of the table alteration + $column->setAutoincrement(true); + } + + return $sql; + } + + /** + * @param TableDiff $diff The table diff to gather the SQL for. + * + * @return string[] + */ + private function getPreAlterTableAlterIndexForeignKeySQL(TableDiff $diff) + { + $sql = []; + $table = $diff->getName($this)->getQuotedName($this); + + foreach ($diff->changedIndexes as $changedIndex) { + // Changed primary key + if (! $changedIndex->isPrimary() || ! ($diff->fromTable instanceof Table)) { + continue; + } + + foreach ($diff->fromTable->getPrimaryKeyColumns() as $columnName) { + $column = $diff->fromTable->getColumn($columnName); + + // Check if an autoincrement column was dropped from the primary key. + if (! $column->getAutoincrement() || in_array($columnName, $changedIndex->getColumns())) { + continue; + } + + // The autoincrement attribute needs to be removed from the dropped column + // before we can drop and recreate the primary key. $column->setAutoincrement(false); - $sql[] = 'ALTER TABLE ' . $tableName . ' MODIFY ' . + $sql[] = 'ALTER TABLE ' . $table . ' MODIFY ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray()); - // original autoincrement information might be needed later on by other parts of the table alteration + // Restore the autoincrement attribute as it might be needed later on + // by other parts of the table alteration. $column->setAutoincrement(true); } } @@ -743,53 +773,19 @@ class MySqlPlatform extends AbstractPlatform /** * @param TableDiff $diff The table diff to gather the SQL for. * - * @return array - */ - private function getPreAlterTableAlterIndexForeignKeySQL(TableDiff $diff) - { - $sql = []; - $table = $diff->getName($this)->getQuotedName($this); - - foreach ($diff->changedIndexes as $changedIndex) { - // Changed primary key - if ($changedIndex->isPrimary() && $diff->fromTable instanceof Table) { - foreach ($diff->fromTable->getPrimaryKeyColumns() as $columnName) { - $column = $diff->fromTable->getColumn($columnName); - - // Check if an autoincrement column was dropped from the primary key. - if ($column->getAutoincrement() && ! in_array($columnName, $changedIndex->getColumns())) { - // The autoincrement attribute needs to be removed from the dropped column - // before we can drop and recreate the primary key. - $column->setAutoincrement(false); - - $sql[] = 'ALTER TABLE ' . $table . ' MODIFY ' . - $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray()); - - // Restore the autoincrement attribute as it might be needed later on - // by other parts of the table alteration. - $column->setAutoincrement(true); - } - } - } - } - - return $sql; - } - - /** - * @param TableDiff $diff The table diff to gather the SQL for. - * - * @return array + * @return string[] */ protected function getPreAlterTableRenameIndexForeignKeySQL(TableDiff $diff) { - $sql = []; + $sql = []; $tableName = $diff->getName($this)->getQuotedName($this); foreach ($this->getRemainingForeignKeyConstraintsRequiringRenamedIndexes($diff) as $foreignKey) { - if (! in_array($foreignKey, $diff->changedForeignKeys, true)) { - $sql[] = $this->getDropForeignKeySQL($foreignKey, $tableName); + if (in_array($foreignKey, $diff->changedForeignKeys, true)) { + continue; } + + $sql[] = $this->getDropForeignKeySQL($foreignKey, $tableName); } return $sql; @@ -803,7 +799,7 @@ class MySqlPlatform extends AbstractPlatform * * @param TableDiff $diff The table diff to evaluate. * - * @return array + * @return ForeignKeyConstraint[] */ private function getRemainingForeignKeyConstraintsRequiringRenamedIndexes(TableDiff $diff) { @@ -812,7 +808,7 @@ class MySqlPlatform extends AbstractPlatform } $foreignKeys = []; - /** @var \Doctrine\DBAL\Schema\ForeignKeyConstraint[] $remainingForeignKeys */ + /** @var ForeignKeyConstraint[] $remainingForeignKeys */ $remainingForeignKeys = array_diff_key( $diff->fromTable->getForeignKeys(), $diff->removedForeignKeys @@ -845,19 +841,21 @@ class MySqlPlatform extends AbstractPlatform /** * @param TableDiff $diff The table diff to gather the SQL for. * - * @return array + * @return string[] */ protected function getPostAlterTableRenameIndexForeignKeySQL(TableDiff $diff) { - $sql = []; - $tableName = (false !== $diff->newName) + $sql = []; + $tableName = $diff->newName !== false ? $diff->getNewName()->getQuotedName($this) : $diff->getName($this)->getQuotedName($this); foreach ($this->getRemainingForeignKeyConstraintsRequiringRenamedIndexes($diff) as $foreignKey) { - if (! in_array($foreignKey, $diff->changedForeignKeys, true)) { - $sql[] = $this->getCreateForeignKeySQL($foreignKey, $tableName); + if (in_array($foreignKey, $diff->changedForeignKeys, true)) { + continue; } + + $sql[] = $this->getCreateForeignKeySQL($foreignKey, $tableName); } return $sql; @@ -923,7 +921,7 @@ class MySqlPlatform extends AbstractPlatform /** * Get unsigned declaration for a column. * - * @param array $columnDef + * @param mixed[] $columnDef * * @return string */ @@ -938,7 +936,7 @@ class MySqlPlatform extends AbstractPlatform protected function _getCommonIntegerTypeDeclarationSQL(array $columnDef) { $autoinc = ''; - if ( ! empty($columnDef['autoincrement'])) { + if (! empty($columnDef['autoincrement'])) { $autoinc = ' AUTO_INCREMENT'; } @@ -948,7 +946,7 @@ class MySqlPlatform extends AbstractPlatform /** * {@inheritDoc} */ - public function getAdvancedForeignKeyOptionsSQL(\Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey) + public function getAdvancedForeignKeyOptionsSQL(ForeignKeyConstraint $foreignKey) { $query = ''; if ($foreignKey->hasOption('match')) { @@ -962,20 +960,20 @@ class MySqlPlatform extends AbstractPlatform /** * {@inheritDoc} */ - public function getDropIndexSQL($index, $table=null) + public function getDropIndexSQL($index, $table = null) { if ($index instanceof Index) { $indexName = $index->getQuotedName($this); } elseif (is_string($index)) { $indexName = $index; } else { - throw new \InvalidArgumentException('MysqlPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); + throw new InvalidArgumentException('MysqlPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); } if ($table instanceof Table) { $table = $table->getQuotedName($this); - } elseif (!is_string($table)) { - throw new \InvalidArgumentException('MysqlPlatform::getDropIndexSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + } elseif (! is_string($table)) { + throw new InvalidArgumentException('MysqlPlatform::getDropIndexSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } if ($index instanceof Index && $index->isPrimary()) { @@ -1094,8 +1092,8 @@ class MySqlPlatform extends AbstractPlatform { if ($table instanceof Table) { $table = $table->getQuotedName($this); - } elseif (!is_string($table)) { - throw new \InvalidArgumentException('getDropTemporaryTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); + } elseif (! is_string($table)) { + throw new InvalidArgumentException('getDropTemporaryTableSQL() expects $table parameter to be string or \Doctrine\DBAL\Schema\Table.'); } return 'DROP TEMPORARY TABLE ' . $table; @@ -1108,13 +1106,11 @@ class MySqlPlatform extends AbstractPlatform * MEDIUMBLOB : 2 ^ 24 - 1 = 16777215 * LONGBLOB : 2 ^ 32 - 1 = 4294967295 * - * @param array $field - * - * @return string + * {@inheritDoc} */ public function getBlobTypeDeclarationSQL(array $field) { - if ( ! empty($field['length']) && is_numeric($field['length'])) { + if (! empty($field['length']) && is_numeric($field['length'])) { $length = $field['length']; if ($length <= static::LENGTH_LIMIT_TINYBLOB) { @@ -1150,4 +1146,12 @@ class MySqlPlatform extends AbstractPlatform { return TransactionIsolationLevel::REPEATABLE_READ; } + + /** + * {@inheritdoc} + */ + public function supportsColumnLengthIndexes() : bool + { + return true; + } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/OraclePlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/OraclePlatform.php index 32b12a0bc..537a566ba 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/OraclePlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/OraclePlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -28,6 +11,7 @@ use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\TransactionIsolationLevel; use Doctrine\DBAL\Types\BinaryType; +use InvalidArgumentException; use function array_merge; use function count; use function explode; @@ -36,7 +20,6 @@ use function func_num_args; use function implode; use function preg_match; use function sprintf; -use function str_replace; use function strlen; use function strpos; use function strtoupper; @@ -44,11 +27,6 @@ use function substr; /** * OraclePlatform. - * - * @since 2.0 - * @author Roman Borschel - * @author Lukas Smith (PEAR MDB2 library) - * @author Benjamin Eberlei */ class OraclePlatform extends AbstractPlatform { @@ -63,8 +41,8 @@ class OraclePlatform extends AbstractPlatform */ public static function assertValidIdentifier($identifier) { - if ( ! preg_match('(^(([a-zA-Z]{1}[a-zA-Z0-9_$#]{0,})|("[^"]+"))$)', $identifier)) { - throw new DBALException("Invalid Oracle identifier"); + if (! preg_match('(^(([a-zA-Z]{1}[a-zA-Z0-9_$#]{0,})|("[^"]+"))$)', $identifier)) { + throw new DBALException('Invalid Oracle identifier'); } } @@ -74,10 +52,10 @@ class OraclePlatform extends AbstractPlatform public function getSubstringExpression($value, $position, $length = null) { if ($length !== null) { - return "SUBSTR($value, $position, $length)"; + return sprintf('SUBSTR(%s, %d, %d)', $value, $position, $length); } - return "SUBSTR($value, $position)"; + return sprintf('SUBSTR(%s, %d)', $value, $position); } /** @@ -99,11 +77,11 @@ class OraclePlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { - return 'INSTR('.$str.', '.$substr.')'; + if ($startPos === false) { + return 'INSTR(' . $str . ', ' . $substr . ')'; } - return 'INSTR('.$str.', '.$substr.', '.$startPos.')'; + return 'INSTR(' . $str . ', ' . $substr . ', ' . $startPos . ')'; } /** @@ -175,7 +153,7 @@ class OraclePlatform extends AbstractPlatform */ public function getBitAndComparisonExpression($value1, $value2) { - return 'BITAND('.$value1 . ', ' . $value2 . ')'; + return 'BITAND(' . $value1 . ', ' . $value2 . ')'; } /** @@ -217,17 +195,15 @@ class OraclePlatform extends AbstractPlatform /** * Cache definition for sequences * - * @param Sequence $sequence - * * @return string */ private function getSequenceCacheSQL(Sequence $sequence) { if ($sequence->getCache() === 0) { return ' NOCACHE'; - } else if ($sequence->getCache() === 1) { + } elseif ($sequence->getCache() === 1) { return ' NOCACHE'; - } else if ($sequence->getCache() > 1) { + } elseif ($sequence->getCache() > 1) { return ' CACHE ' . $sequence->getCache(); } @@ -389,8 +365,8 @@ class OraclePlatform extends AbstractPlatform $database = $this->normalizeIdentifier($database); $database = $this->quoteStringLiteral($database->getName()); - return "SELECT sequence_name, min_value, increment_by FROM sys.all_sequences ". - "WHERE SEQUENCE_OWNER = " . $database; + return 'SELECT sequence_name, min_value, increment_by FROM sys.all_sequences ' . + 'WHERE SEQUENCE_OWNER = ' . $database; } /** @@ -407,10 +383,12 @@ class OraclePlatform extends AbstractPlatform $sql[] = $this->getCreateSequenceSQL($column['sequence']); } - if (isset($column['autoincrement']) && $column['autoincrement'] || - (isset($column['autoinc']) && $column['autoinc'])) { - $sql = array_merge($sql, $this->getCreateAutoincrementSql($name, $table)); + if (! isset($column['autoincrement']) || ! $column['autoincrement'] && + (! isset($column['autoinc']) || ! $column['autoinc'])) { + continue; } + + $sql = array_merge($sql, $this->getCreateAutoincrementSql($name, $table)); } if (isset($indexes) && ! empty($indexes)) { @@ -425,7 +403,6 @@ class OraclePlatform extends AbstractPlatform /** * {@inheritDoc} * - * @license New BSD License * @link http://ezcomponents.org/docs/api/trunk/DatabaseSchema/ezcDbSchemaOracleReader.html */ public function getListTableIndexesSQL($table, $currentDatabase = null) @@ -458,8 +435,8 @@ class OraclePlatform extends AbstractPlatform WHERE ucon.index_name = uind_col.index_name ) AS is_primary FROM user_ind_columns uind_col - WHERE uind_col.table_name = " . $table . " - ORDER BY uind_col.column_position ASC"; + WHERE uind_col.table_name = " . $table . ' + ORDER BY uind_col.column_position ASC'; } /** @@ -491,7 +468,7 @@ class OraclePlatform extends AbstractPlatform */ public function getDropViewSQL($name) { - return 'DROP VIEW '. $name; + return 'DROP VIEW ' . $name; } /** @@ -499,17 +476,17 @@ class OraclePlatform extends AbstractPlatform * @param string $table * @param int $start * - * @return array + * @return string[] */ public function getCreateAutoincrementSql($name, $table, $start = 1) { - $tableIdentifier = $this->normalizeIdentifier($table); - $quotedTableName = $tableIdentifier->getQuotedName($this); + $tableIdentifier = $this->normalizeIdentifier($table); + $quotedTableName = $tableIdentifier->getQuotedName($this); $unquotedTableName = $tableIdentifier->getName(); $nameIdentifier = $this->normalizeIdentifier($name); - $quotedName = $nameIdentifier->getQuotedName($this); - $unquotedName = $nameIdentifier->getName(); + $quotedName = $nameIdentifier->getQuotedName($this); + $unquotedName = $nameIdentifier->getName(); $sql = []; @@ -522,7 +499,7 @@ class OraclePlatform extends AbstractPlatform BEGIN SELECT COUNT(CONSTRAINT_NAME) INTO constraints_Count FROM USER_CONSTRAINTS WHERE TABLE_NAME = \'' . $unquotedTableName . '\' AND CONSTRAINT_TYPE = \'P\'; IF constraints_Count = 0 OR constraints_Count = \'\' THEN - EXECUTE IMMEDIATE \''.$this->getCreateConstraintSQL($idx, $quotedTableName).'\'; + EXECUTE IMMEDIATE \'' . $this->getCreateConstraintSQL($idx, $quotedTableName) . '\'; END IF; END;'; @@ -530,8 +507,8 @@ END;'; $tableIdentifier->isQuoted() ? $quotedTableName : $unquotedTableName, $nameIdentifier->isQuoted() ? $quotedName : $unquotedName ); - $sequence = new Sequence($sequenceName, $start); - $sql[] = $this->getCreateSequenceSQL($sequence); + $sequence = new Sequence($sequenceName, $start); + $sql[] = $this->getCreateSequenceSQL($sequence); $sql[] = 'CREATE TRIGGER ' . $autoincrementIdentifierName . ' BEFORE INSERT @@ -542,7 +519,7 @@ DECLARE last_InsertID NUMBER; BEGIN SELECT ' . $sequenceName . '.NEXTVAL INTO :NEW.' . $quotedName . ' FROM DUAL; - IF (:NEW.' . $quotedName . ' IS NULL OR :NEW.'.$quotedName.' = 0) THEN + IF (:NEW.' . $quotedName . ' IS NULL OR :NEW.' . $quotedName . ' = 0) THEN SELECT ' . $sequenceName . '.NEXTVAL INTO :NEW.' . $quotedName . ' FROM DUAL; ELSE SELECT NVL(Last_Number, 0) INTO last_Sequence @@ -563,13 +540,13 @@ END;'; * * @param string $table The table name to drop the autoincrement for. * - * @return array + * @return string[] */ public function getDropAutoincrementSql($table) { - $table = $this->normalizeIdentifier($table); + $table = $this->normalizeIdentifier($table); $autoincrementIdentifierName = $this->getAutoincrementIdentifierName($table); - $identitySequenceName = $this->getIdentitySequenceName( + $identitySequenceName = $this->getIdentitySequenceName( $table->isQuoted() ? $table->getQuotedName($this) : $table->getName(), '' ); @@ -645,8 +622,8 @@ END;'; JOIN user_constraints alc ON alc.constraint_name = cols.constraint_name AND alc.constraint_type = 'R' - AND alc.table_name = " . $table . " - ORDER BY cols.constraint_name ASC, cols.position ASC"; + AND alc.table_name = " . $table . ' + ORDER BY cols.constraint_name ASC, cols.position ASC'; } /** @@ -657,7 +634,7 @@ END;'; $table = $this->normalizeIdentifier($table); $table = $this->quoteStringLiteral($table->getName()); - return "SELECT * FROM user_constraints WHERE table_name = " . $table; + return 'SELECT * FROM user_constraints WHERE table_name = ' . $table; } /** @@ -668,30 +645,40 @@ END;'; $table = $this->normalizeIdentifier($table); $table = $this->quoteStringLiteral($table->getName()); - $tabColumnsTableName = "user_tab_columns"; - $colCommentsTableName = "user_col_comments"; - $tabColumnsOwnerCondition = ''; + $tabColumnsTableName = 'user_tab_columns'; + $colCommentsTableName = 'user_col_comments'; + $tabColumnsOwnerCondition = ''; $colCommentsOwnerCondition = ''; - if (null !== $database && '/' !== $database) { - $database = $this->normalizeIdentifier($database); - $database = $this->quoteStringLiteral($database->getName()); - $tabColumnsTableName = "all_tab_columns"; - $colCommentsTableName = "all_col_comments"; - $tabColumnsOwnerCondition = "AND c.owner = " . $database; - $colCommentsOwnerCondition = "AND d.OWNER = c.OWNER"; + if ($database !== null && $database !== '/') { + $database = $this->normalizeIdentifier($database); + $database = $this->quoteStringLiteral($database->getName()); + $tabColumnsTableName = 'all_tab_columns'; + $colCommentsTableName = 'all_col_comments'; + $tabColumnsOwnerCondition = ' AND c.owner = ' . $database; + $colCommentsOwnerCondition = ' AND d.OWNER = c.OWNER'; } - return "SELECT c.*, - ( - SELECT d.comments - FROM $colCommentsTableName d - WHERE d.TABLE_NAME = c.TABLE_NAME " . $colCommentsOwnerCondition . " - AND d.COLUMN_NAME = c.COLUMN_NAME - ) AS comments - FROM $tabColumnsTableName c - WHERE c.table_name = " . $table . " $tabColumnsOwnerCondition - ORDER BY c.column_id"; + return sprintf( + <<<'SQL' +SELECT c.*, + ( + SELECT d.comments + FROM %s d + WHERE d.TABLE_NAME = c.TABLE_NAME%s + AND d.COLUMN_NAME = c.COLUMN_NAME + ) AS comments +FROM %s c +WHERE c.table_name = %s%s +ORDER BY c.column_id +SQL + , + $colCommentsTableName, + $colCommentsOwnerCondition, + $tabColumnsTableName, + $table, + $tabColumnsOwnerCondition + ); } /** @@ -720,7 +707,7 @@ END;'; } $foreignKey = $foreignKey->getQuotedName($this); - $table = $table->getQuotedName($this); + $table = $table->getQuotedName($this); return 'ALTER TABLE ' . $table . ' DROP CONSTRAINT ' . $foreignKey; } @@ -759,7 +746,7 @@ END;'; default: // SET DEFAULT is not supported, throw exception instead. - throw new \InvalidArgumentException('Invalid foreign key action: ' . $action); + throw new InvalidArgumentException('Invalid foreign key action: ' . $action); } } @@ -776,9 +763,9 @@ END;'; */ public function getAlterTableSQL(TableDiff $diff) { - $sql = []; + $sql = []; $commentsSQL = []; - $columnSql = []; + $columnSql = []; $fields = []; @@ -788,13 +775,17 @@ END;'; } $fields[] = $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray()); - if ($comment = $this->getColumnComment($column)) { - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $comment - ); + $comment = $this->getColumnComment($column); + + if (! $comment) { + continue; } + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $comment + ); } if (count($fields)) { @@ -807,7 +798,6 @@ END;'; continue; } - /* @var $columnDiff \Doctrine\DBAL\Schema\ColumnDiff */ $column = $columnDiff->column; // Do not generate column alteration clause if type is binary and only fixed property has changed. @@ -825,23 +815,25 @@ END;'; /** * Do not add query part if only comment has changed */ - if ( ! ($columnHasChangedComment && count($columnDiff->changedProperties) === 1)) { + if (! ($columnHasChangedComment && count($columnDiff->changedProperties) === 1)) { $columnInfo = $column->toArray(); - if ( ! $columnDiff->hasChanged('notnull')) { + if (! $columnDiff->hasChanged('notnull')) { unset($columnInfo['notnull']); } $fields[] = $column->getQuotedName($this) . $this->getColumnDeclarationSQL('', $columnInfo); } - if ($columnHasChangedComment) { - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $this->getColumnComment($column) - ); + if (! $columnHasChangedComment) { + continue; } + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $this->getColumnComment($column) + ); } if (count($fields)) { @@ -856,7 +848,7 @@ END;'; $oldColumnName = new Identifier($oldColumnName); $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . - ' RENAME COLUMN ' . $oldColumnName->getQuotedName($this) .' TO ' . $column->getQuotedName($this); + ' RENAME COLUMN ' . $oldColumnName->getQuotedName($this) . ' TO ' . $column->getQuotedName($this); } $fields = []; @@ -869,12 +861,12 @@ END;'; } if (count($fields)) { - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' DROP (' . implode(', ', $fields).')'; + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' DROP (' . implode(', ', $fields) . ')'; } $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { $sql = array_merge($sql, $commentsSQL); if ($diff->newName !== false) { @@ -907,13 +899,13 @@ END;'; $notnull = $field['notnull'] ? ' NOT NULL' : ' NULL'; } - $unique = (isset($field['unique']) && $field['unique']) ? + $unique = isset($field['unique']) && $field['unique'] ? ' ' . $this->getUniqueFieldDeclarationSQL() : ''; - $check = (isset($field['check']) && $field['check']) ? + $check = isset($field['check']) && $field['check'] ? ' ' . $field['check'] : ''; - $typeDecl = $field['type']->getSQLDeclaration($field, $this); + $typeDecl = $field['type']->getSQLDeclaration($field, $this); $columnDef = $typeDecl . $default . $notnull . $unique . $check; } @@ -926,7 +918,7 @@ END;'; protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { if (strpos($tableName, '.') !== false) { - list($schema) = explode('.', $tableName); + [$schema] = explode('.', $tableName); $oldIndexName = $schema . '.' . $oldIndexName; } @@ -994,8 +986,8 @@ END;'; } if (preg_match('/^\s*SELECT/i', $query)) { - if (!preg_match('/\sFROM\s/i', $query)) { - $query .= " FROM dual"; + if (! preg_match('/\sFROM\s/i', $query)) { + $query .= ' FROM dual'; } $columns = ['a.*']; @@ -1033,7 +1025,7 @@ END;'; */ public function getCreateTemporaryTableSnippetSQL() { - return "CREATE GLOBAL TEMPORARY TABLE"; + return 'CREATE GLOBAL TEMPORARY TABLE'; } /** @@ -1180,14 +1172,4 @@ END;'; { return 'BLOB'; } - - /** - * {@inheritdoc} - */ - public function quoteStringLiteral($str) - { - $str = str_replace('\\', '\\\\', $str); // Oracle requires backslashes to be escaped aswell. - - return parent::quoteStringLiteral($str); - } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL100Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL100Platform.php index 0d379f2fb..cfb079f94 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL100Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL100Platform.php @@ -21,12 +21,12 @@ class PostgreSQL100Platform extends PostgreSQL94Platform public function getListSequencesSQL($database) : string { - return "SELECT sequence_name AS relname, + return 'SELECT sequence_name AS relname, sequence_schema AS schemaname, minimum_value AS min_value, increment AS increment_by FROM information_schema.sequences - WHERE sequence_catalog = " . $this->quoteStringLiteral($database) . " + WHERE sequence_catalog = ' . $this->quoteStringLiteral($database) . " AND sequence_schema NOT LIKE 'pg\_%' AND sequence_schema != 'information_schema'"; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL91Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL91Platform.php index 94d810483..f55840983 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL91Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL91Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -23,10 +6,6 @@ use function explode; /** * Provides the behavior, features and SQL dialect of the PostgreSQL 9.1 database platform. - * - * @author Martin Hasoň - * @link www.doctrine-project.org - * @since 2.5 */ class PostgreSQL91Platform extends PostgreSqlPlatform { @@ -59,9 +38,9 @@ class PostgreSQL91Platform extends PostgreSqlPlatform */ public function getListTableColumnsSQL($table, $database = null) { - $sql = parent::getListTableColumnsSQL($table, $database); + $sql = parent::getListTableColumnsSQL($table, $database); $parts = explode('AS complete_type,', $sql, 2); - return $parts[0].'AS complete_type, (SELECT tc.collcollate FROM pg_catalog.pg_collation tc WHERE tc.oid = a.attcollation) AS collation,'.$parts[1]; + return $parts[0] . 'AS complete_type, (SELECT tc.collcollate FROM pg_catalog.pg_collation tc WHERE tc.oid = a.attcollation) AS collation,' . $parts[1]; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL92Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL92Platform.php index 052b75fa4..b302c0ceb 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL92Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL92Platform.php @@ -1,32 +1,12 @@ . - */ namespace Doctrine\DBAL\Platforms; use Doctrine\DBAL\Types\Type; +use function sprintf; /** * Provides the behavior, features and SQL dialect of the PostgreSQL 9.2 database platform. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class PostgreSQL92Platform extends PostgreSQL91Platform { @@ -43,7 +23,7 @@ class PostgreSQL92Platform extends PostgreSQL91Platform */ public function getSmallIntTypeDeclarationSQL(array $field) { - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return 'SMALLSERIAL'; } @@ -81,8 +61,9 @@ class PostgreSQL92Platform extends PostgreSQL91Platform */ public function getCloseActiveDatabaseConnectionsSQL($database) { - $database = $this->quoteStringLiteral($database); - - return "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = $database"; + return sprintf( + 'SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = %s', + $this->quoteStringLiteral($database) + ); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL94Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL94Platform.php index 68700b196..9db0ecbbd 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL94Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSQL94Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -23,10 +6,6 @@ use Doctrine\DBAL\Types\Type; /** * Provides the behavior, features and SQL dialect of the PostgreSQL 9.4 database platform. - * - * @author Matteo Beccati - * @link www.doctrine-project.org - * @since 2.6 */ class PostgreSQL94Platform extends PostgreSQL92Platform { @@ -35,7 +14,7 @@ class PostgreSQL94Platform extends PostgreSQL92Platform */ public function getJsonTypeDeclarationSQL(array $field) { - if (!empty($field['jsonb'])) { + if (! empty($field['jsonb'])) { return 'JSONB'; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php index 04d431caf..cb4603f51 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/PostgreSqlPlatform.php @@ -1,35 +1,20 @@ . - */ namespace Doctrine\DBAL\Platforms; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ColumnDiff; +use Doctrine\DBAL\Schema\ForeignKeyConstraint; use Doctrine\DBAL\Schema\Identifier; use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\TableDiff; -use Doctrine\DBAL\Types\BinaryType; use Doctrine\DBAL\Types\BigIntType; +use Doctrine\DBAL\Types\BinaryType; use Doctrine\DBAL\Types\BlobType; use Doctrine\DBAL\Types\IntegerType; use Doctrine\DBAL\Types\Type; +use UnexpectedValueException; use function array_diff; use function array_merge; use function array_unique; @@ -42,7 +27,7 @@ use function is_array; use function is_bool; use function is_numeric; use function is_string; -use function str_replace; +use function sprintf; use function strpos; use function strtolower; use function trim; @@ -50,22 +35,14 @@ use function trim; /** * PostgreSqlPlatform. * - * @since 2.0 - * @author Roman Borschel - * @author Lukas Smith (PEAR MDB2 library) - * @author Benjamin Eberlei * @todo Rename: PostgreSQLPlatform */ class PostgreSqlPlatform extends AbstractPlatform { - /** - * @var bool - */ + /** @var bool */ private $useBooleanTrueFalseStrings = true; - /** - * @var array PostgreSQL booleans literals - */ + /** @var string[][] PostgreSQL booleans literals */ private $booleanLiterals = [ 'true' => [ 't', @@ -73,7 +50,7 @@ class PostgreSqlPlatform extends AbstractPlatform 'y', 'yes', 'on', - '1' + '1', ], 'false' => [ 'f', @@ -81,8 +58,8 @@ class PostgreSqlPlatform extends AbstractPlatform 'n', 'no', 'off', - '0' - ] + '0', + ], ]; /** @@ -134,10 +111,10 @@ class PostgreSqlPlatform extends AbstractPlatform if ($startPos !== false) { $str = $this->getSubstringExpression($str, $startPos); - return 'CASE WHEN (POSITION('.$substr.' IN '.$str.') = 0) THEN 0 ELSE (POSITION('.$substr.' IN '.$str.') + '.($startPos-1).') END'; + return 'CASE WHEN (POSITION(' . $substr . ' IN ' . $str . ') = 0) THEN 0 ELSE (POSITION(' . $substr . ' IN ' . $str . ') + ' . ($startPos-1) . ') END'; } - return 'POSITION('.$substr.' IN '.$str.')'; + return 'POSITION(' . $substr . ' IN ' . $str . ')'; } /** @@ -150,7 +127,7 @@ class PostgreSqlPlatform extends AbstractPlatform $unit = DateIntervalUnit::MONTH; } - return "(" . $date ." " . $operator . " (" . $interval . " || ' " . $unit . "')::interval)"; + return '(' . $date . ' ' . $operator . ' (' . $interval . " || ' " . $unit . "')::interval)"; } /** @@ -304,13 +281,13 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getListTableForeignKeysSQL($table, $database = null) { - return "SELECT quote_ident(r.conname) as conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef + return 'SELECT quote_ident(r.conname) as conname, pg_catalog.pg_get_constraintdef(r.oid, true) as condef FROM pg_catalog.pg_constraint r WHERE r.conrelid = ( SELECT c.oid FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n - WHERE " .$this->getTableWhereClause($table) ." AND n.oid = c.relnamespace + WHERE ' . $this->getTableWhereClause($table) . " AND n.oid = c.relnamespace ) AND r.contype = 'f'"; } @@ -328,7 +305,7 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getDropViewSQL($name) { - return 'DROP VIEW '. $name; + return 'DROP VIEW ' . $name; } /** @@ -339,36 +316,41 @@ class PostgreSqlPlatform extends AbstractPlatform $table = new Identifier($table); $table = $this->quoteStringLiteral($table->getName()); - return "SELECT - quote_ident(relname) as relname - FROM - pg_class - WHERE oid IN ( - SELECT indexrelid - FROM pg_index, pg_class - WHERE pg_class.relname = $table - AND pg_class.oid = pg_index.indrelid - AND (indisunique = 't' OR indisprimary = 't') - )"; + return sprintf( + <<<'SQL' +SELECT + quote_ident(relname) as relname +FROM + pg_class +WHERE oid IN ( + SELECT indexrelid + FROM pg_index, pg_class + WHERE pg_class.relname = %s + AND pg_class.oid = pg_index.indrelid + AND (indisunique = 't' OR indisprimary = 't') + ) +SQL + , + $table + ); } /** * {@inheritDoc} * - * @license New BSD License * @link http://ezcomponents.org/docs/api/trunk/DatabaseSchema/ezcDbSchemaPgsqlReader.html */ public function getListTableIndexesSQL($table, $currentDatabase = null) { - return "SELECT quote_ident(relname) as relname, pg_index.indisunique, pg_index.indisprimary, + return 'SELECT quote_ident(relname) as relname, pg_index.indisunique, pg_index.indisprimary, pg_index.indkey, pg_index.indrelid, pg_get_expr(indpred, indrelid) AS where FROM pg_class, pg_index WHERE oid IN ( SELECT indexrelid FROM pg_index si, pg_class sc, pg_namespace sn - WHERE " . $this->getTableWhereClause($table, 'sc', 'sn')." AND sc.oid=si.indrelid AND sc.relnamespace = sn.oid - ) AND pg_index.indexrelid = oid"; + WHERE ' . $this->getTableWhereClause($table, 'sc', 'sn') . ' AND sc.oid=si.indrelid AND sc.relnamespace = sn.oid + ) AND pg_index.indexrelid = oid'; } /** @@ -380,19 +362,24 @@ class PostgreSqlPlatform extends AbstractPlatform */ private function getTableWhereClause($table, $classAlias = 'c', $namespaceAlias = 'n') { - $whereClause = $namespaceAlias.".nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND "; - if (strpos($table, ".") !== false) { - list($schema, $table) = explode(".", $table); - $schema = $this->quoteStringLiteral($schema); + $whereClause = $namespaceAlias . ".nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast') AND "; + if (strpos($table, '.') !== false) { + [$schema, $table] = explode('.', $table); + $schema = $this->quoteStringLiteral($schema); } else { $schema = "ANY(string_to_array((select replace(replace(setting,'\"\$user\"',user),' ','') from pg_catalog.pg_settings where name = 'search_path'),','))"; } $table = new Identifier($table); $table = $this->quoteStringLiteral($table->getName()); - $whereClause .= "$classAlias.relname = " . $table . " AND $namespaceAlias.nspname = $schema"; - return $whereClause; + return $whereClause . sprintf( + '%s.relname = %s AND %s.nspname = %s', + $classAlias, + $table, + $namespaceAlias, + $schema + ); } /** @@ -424,12 +411,12 @@ class PostgreSqlPlatform extends AbstractPlatform FROM pg_description WHERE pg_description.objoid = c.oid AND a.attnum = pg_description.objsubid ) AS comment FROM pg_attribute a, pg_class c, pg_type t, pg_namespace n - WHERE ".$this->getTableWhereClause($table, 'c', 'n') ." + WHERE " . $this->getTableWhereClause($table, 'c', 'n') . ' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid AND n.oid = c.relnamespace - ORDER BY a.attnum"; + ORDER BY a.attnum'; } /** @@ -451,7 +438,7 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getDisallowDatabaseConnectionsSQL($database) { - return "UPDATE pg_database SET datallowconn = 'false' WHERE datname = '$database'"; + return "UPDATE pg_database SET datallowconn = 'false' WHERE datname = " . $this->quoteStringLiteral($database); } /** @@ -465,15 +452,14 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getCloseActiveDatabaseConnectionsSQL($database) { - $database = $this->quoteStringLiteral($database); - - return "SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = $database"; + return 'SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = ' + . $this->quoteStringLiteral($database); } /** * {@inheritDoc} */ - public function getAdvancedForeignKeyOptionsSQL(\Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey) + public function getAdvancedForeignKeyOptionsSQL(ForeignKeyConstraint $foreignKey) { $query = ''; @@ -505,9 +491,9 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getAlterTableSQL(TableDiff $diff) { - $sql = []; + $sql = []; $commentsSQL = []; - $columnSql = []; + $columnSql = []; foreach ($diff->addedColumns as $column) { if ($this->onSchemaAlterTableAddColumn($column, $diff, $columnSql)) { @@ -519,13 +505,15 @@ class PostgreSqlPlatform extends AbstractPlatform $comment = $this->getColumnComment($column); - if (null !== $comment && '' !== $comment) { - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $comment - ); + if ($comment === null || $comment === '') { + continue; } + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $comment + ); } foreach ($diff->removedColumns as $column) { @@ -548,13 +536,13 @@ class PostgreSqlPlatform extends AbstractPlatform } $oldColumnName = $columnDiff->getOldColumnName()->getQuotedName($this); - $column = $columnDiff->column; + $column = $columnDiff->column; if ($columnDiff->hasChanged('type') || $columnDiff->hasChanged('precision') || $columnDiff->hasChanged('scale') || $columnDiff->hasChanged('fixed')) { $type = $column->getType(); // SERIAL/BIGSERIAL are not "real" types and we can't alter a column to that type - $columnDefinition = $column->toArray(); + $columnDefinition = $column->toArray(); $columnDefinition['autoincrement'] = false; // here was a server version check before, but DBAL API does not support this anymore. @@ -563,11 +551,11 @@ class PostgreSqlPlatform extends AbstractPlatform } if ($columnDiff->hasChanged('default') || $this->typeChangeBreaksDefaultValue($columnDiff)) { - $defaultClause = null === $column->getDefault() + $defaultClause = $column->getDefault() === null ? ' DROP DEFAULT' : ' SET' . $this->getDefaultValueDeclarationSQL($column->toArray()); - $query = 'ALTER ' . $oldColumnName . $defaultClause; - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; + $query = 'ALTER ' . $oldColumnName . $defaultClause; + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; } if ($columnDiff->hasChanged('notnull')) { @@ -580,29 +568,34 @@ class PostgreSqlPlatform extends AbstractPlatform // add autoincrement $seqName = $this->getIdentitySequenceName($diff->name, $oldColumnName); - $sql[] = "CREATE SEQUENCE " . $seqName; - $sql[] = "SELECT setval('" . $seqName . "', (SELECT MAX(" . $oldColumnName . ") FROM " . $diff->getName($this)->getQuotedName($this) . "))"; - $query = "ALTER " . $oldColumnName . " SET DEFAULT nextval('" . $seqName . "')"; - $sql[] = "ALTER TABLE " . $diff->getName($this)->getQuotedName($this) . " " . $query; + $sql[] = 'CREATE SEQUENCE ' . $seqName; + $sql[] = "SELECT setval('" . $seqName . "', (SELECT MAX(" . $oldColumnName . ') FROM ' . $diff->getName($this)->getQuotedName($this) . '))'; + $query = 'ALTER ' . $oldColumnName . " SET DEFAULT nextval('" . $seqName . "')"; + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; } else { // Drop autoincrement, but do NOT drop the sequence. It might be re-used by other tables or have - $query = "ALTER " . $oldColumnName . " " . "DROP DEFAULT"; - $sql[] = "ALTER TABLE " . $diff->getName($this)->getQuotedName($this) . " " . $query; + $query = 'ALTER ' . $oldColumnName . ' DROP DEFAULT'; + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; } } - if ($columnDiff->hasChanged('comment')) { + $newComment = $this->getColumnComment($column); + $oldComment = $this->getOldColumnComment($columnDiff); + + if ($columnDiff->hasChanged('comment') || ($columnDiff->fromColumn !== null && $oldComment !== $newComment)) { $commentsSQL[] = $this->getCommentOnColumnSQL( $diff->getName($this)->getQuotedName($this), $column->getQuotedName($this), - $this->getColumnComment($column) + $newComment ); } - if ($columnDiff->hasChanged('length')) { - $query = 'ALTER ' . $oldColumnName . ' TYPE ' . $column->getType()->getSQLDeclaration($column->toArray(), $this); - $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; + if (! $columnDiff->hasChanged('length')) { + continue; } + + $query = 'ALTER ' . $oldColumnName . ' TYPE ' . $column->getType()->getSQLDeclaration($column->toArray(), $this); + $sql[] = 'ALTER TABLE ' . $diff->getName($this)->getQuotedName($this) . ' ' . $query; } foreach ($diff->renamedColumns as $oldColumnName => $column) { @@ -618,7 +611,7 @@ class PostgreSqlPlatform extends AbstractPlatform $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { $sql = array_merge($sql, $commentsSQL); if ($diff->newName !== false) { @@ -653,7 +646,7 @@ class PostgreSqlPlatform extends AbstractPlatform { $columnType = $columnDiff->column->getType(); - if ( ! $columnType instanceof BinaryType && ! $columnType instanceof BlobType) { + if (! $columnType instanceof BinaryType && ! $columnType instanceof BlobType) { return false; } @@ -662,7 +655,7 @@ class PostgreSqlPlatform extends AbstractPlatform if ($fromColumn) { $fromColumnType = $fromColumn->getType(); - if ( ! $fromColumnType instanceof BinaryType && ! $fromColumnType instanceof BlobType) { + if (! $fromColumnType instanceof BinaryType && ! $fromColumnType instanceof BlobType) { return false; } @@ -682,7 +675,7 @@ class PostgreSqlPlatform extends AbstractPlatform protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { if (strpos($tableName, '.') !== false) { - list($schema) = explode('.', $tableName); + [$schema] = explode('.', $tableName); $oldIndexName = $schema . '.' . $oldIndexName; } @@ -694,12 +687,16 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getCommentOnColumnSQL($tableName, $columnName, $comment) { - $tableName = new Identifier($tableName); + $tableName = new Identifier($tableName); $columnName = new Identifier($columnName); - $comment = $comment === null ? 'NULL' : $this->quoteStringLiteral($comment); + $comment = $comment === null ? 'NULL' : $this->quoteStringLiteral($comment); - return "COMMENT ON COLUMN " . $tableName->getQuotedName($this) . "." . $columnName->getQuotedName($this) . - " IS $comment"; + return sprintf( + 'COMMENT ON COLUMN %s.%s IS %s', + $tableName->getQuotedName($this), + $columnName->getQuotedName($this), + $comment + ); } /** @@ -727,8 +724,6 @@ class PostgreSqlPlatform extends AbstractPlatform /** * Cache definition for sequences * - * @param Sequence $sequence - * * @return string */ private function getSequenceCacheSQL(Sequence $sequence) @@ -776,7 +771,7 @@ class PostgreSqlPlatform extends AbstractPlatform $queryFields = $this->getColumnDeclarationListSQL($columns); if (isset($options['primary']) && ! empty($options['primary'])) { - $keyColumns = array_unique(array_values($options['primary'])); + $keyColumns = array_unique(array_values($options['primary'])); $queryFields .= ', PRIMARY KEY(' . implode(', ', $keyColumns) . ')'; } @@ -810,11 +805,12 @@ class PostgreSqlPlatform extends AbstractPlatform * @param callable $callback The callback function to use for converting the real boolean value. * * @return mixed - * @throws \UnexpectedValueException + * + * @throws UnexpectedValueException */ private function convertSingleBooleanValue($value, $callback) { - if (null === $value) { + if ($value === null) { return $callback(null); } @@ -822,7 +818,7 @@ class PostgreSqlPlatform extends AbstractPlatform return $callback($value ? true : false); } - if (!is_string($value)) { + if (! is_string($value)) { return $callback(true); } @@ -837,7 +833,7 @@ class PostgreSqlPlatform extends AbstractPlatform return $callback(true); } - throw new \UnexpectedValueException("Unrecognized boolean literal '${value}'"); + throw new UnexpectedValueException("Unrecognized boolean literal '${value}'"); } /** @@ -872,18 +868,18 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function convertBooleans($item) { - if ( ! $this->useBooleanTrueFalseStrings) { + if (! $this->useBooleanTrueFalseStrings) { return parent::convertBooleans($item); } return $this->doConvertBooleans( $item, - function ($boolean) { - if (null === $boolean) { + static function ($boolean) { + if ($boolean === null) { return 'NULL'; } - return true === $boolean ? 'true' : 'false'; + return $boolean === true ? 'true' : 'false'; } ); } @@ -893,14 +889,14 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function convertBooleansToDatabaseValue($item) { - if ( ! $this->useBooleanTrueFalseStrings) { + if (! $this->useBooleanTrueFalseStrings) { return parent::convertBooleansToDatabaseValue($item); } return $this->doConvertBooleans( $item, - function ($boolean) { - return null === $boolean ? null : (int) $boolean; + static function ($boolean) { + return $boolean === null ? null : (int) $boolean; } ); } @@ -947,7 +943,7 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getIntegerTypeDeclarationSQL(array $field) { - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return 'SERIAL'; } @@ -959,7 +955,7 @@ class PostgreSqlPlatform extends AbstractPlatform */ public function getBigIntTypeDeclarationSQL(array $field) { - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return 'BIGSERIAL'; } @@ -1097,7 +1093,7 @@ class PostgreSqlPlatform extends AbstractPlatform public function getTruncateTableSQL($tableName, $cascade = false) { $tableIdentifier = new Identifier($tableName); - $sql = 'TRUNCATE ' . $tableIdentifier->getQuotedName($this); + $sql = 'TRUNCATE ' . $tableIdentifier->getQuotedName($this); if ($cascade) { $sql .= ' CASCADE'; @@ -1202,16 +1198,6 @@ class PostgreSqlPlatform extends AbstractPlatform return 'BYTEA'; } - /** - * {@inheritdoc} - */ - public function quoteStringLiteral($str) - { - $str = str_replace('\\', '\\\\', $str); // PostgreSQL requires backslashes to be escaped aswell. - - return parent::quoteStringLiteral($str); - } - /** * {@inheritdoc} */ @@ -1224,6 +1210,9 @@ class PostgreSqlPlatform extends AbstractPlatform return parent::getDefaultValueDeclarationSQL($field); } + /** + * @param mixed[] $field + */ private function isSerialField(array $field) : bool { return $field['autoincrement'] ?? false === true && isset($field['type']) @@ -1232,9 +1221,6 @@ class PostgreSqlPlatform extends AbstractPlatform /** * Check whether the type of a column is changed in a way that invalidates the default value for the column - * - * @param ColumnDiff $columnDiff - * @return bool */ private function typeChangeBreaksDefaultValue(ColumnDiff $columnDiff) : bool { @@ -1254,4 +1240,9 @@ class PostgreSqlPlatform extends AbstractPlatform { return $type instanceof IntegerType || $type instanceof BigIntType; } + + private function getOldColumnComment(ColumnDiff $columnDiff) : ?string + { + return $columnDiff->fromColumn ? $this->getColumnComment($columnDiff->fromColumn) : null; + } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere11Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere11Platform.php index e27736960..a46ae9352 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere11Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere11Platform.php @@ -1,31 +1,10 @@ . - */ namespace Doctrine\DBAL\Platforms; /** * The SQLAnywhere11Platform provides the behavior, features and SQL dialect of the * SAP Sybase SQL Anywhere 11 database platform. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhere11Platform extends SQLAnywherePlatform { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere12Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere12Platform.php index 1b52bfee5..dd73ef736 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere12Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere12Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -25,10 +8,6 @@ use Doctrine\DBAL\Schema\Sequence; /** * The SQLAnywhere12Platform provides the behavior, features and SQL dialect of the * SAP Sybase SQL Anywhere 12 database platform. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhere12Platform extends SQLAnywhere11Platform { @@ -109,7 +88,7 @@ class SQLAnywhere12Platform extends SQLAnywhere11Platform */ protected function getAdvancedIndexOptionsSQL(Index $index) { - if ( ! $index->isPrimary() && $index->isUnique() && $index->hasFlag('with_nulls_not_distinct')) { + if (! $index->isPrimary() && $index->isUnique() && $index->hasFlag('with_nulls_not_distinct')) { return ' WITH NULLS NOT DISTINCT' . parent::getAdvancedIndexOptionsSQL($index); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere16Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere16Platform.php index 1d59e2c00..35d4238e4 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere16Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywhere16Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -25,10 +8,6 @@ use UnexpectedValueException; /** * The SQLAnywhere16Platform provides the behavior, features and SQL dialect of the * SAP Sybase SQL Anywhere 16 database platform. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhere16Platform extends SQLAnywhere12Platform { @@ -43,7 +22,7 @@ class SQLAnywhere16Platform extends SQLAnywhere12Platform ); } - if ( ! $index->isPrimary() && $index->isUnique() && $index->hasFlag('with_nulls_distinct')) { + if (! $index->isPrimary() && $index->isUnique() && $index->hasFlag('with_nulls_distinct')) { return ' WITH NULLS DISTINCT' . parent::getAdvancedIndexOptionsSQL($index); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywherePlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywherePlatform.php index 79a6e483a..a8fbfeb46 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywherePlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAnywherePlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -30,6 +13,7 @@ use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\TransactionIsolationLevel; +use InvalidArgumentException; use function array_merge; use function array_unique; use function array_values; @@ -40,6 +24,7 @@ use function get_class; use function implode; use function is_string; use function preg_replace; +use function sprintf; use function strlen; use function strpos; use function strtoupper; @@ -48,29 +33,13 @@ use function substr; /** * The SQLAnywherePlatform provides the behavior, features and SQL dialect of the * SAP Sybase SQL Anywhere 10 database platform. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywherePlatform extends AbstractPlatform { - /** - * @var int - */ - const FOREIGN_KEY_MATCH_SIMPLE = 1; - /** - * @var int - */ - const FOREIGN_KEY_MATCH_FULL = 2; - /** - * @var int - */ - const FOREIGN_KEY_MATCH_SIMPLE_UNIQUE = 129; - /** - * @var int - */ - const FOREIGN_KEY_MATCH_FULL_UNIQUE = 130; + public const FOREIGN_KEY_MATCH_SIMPLE = 1; + public const FOREIGN_KEY_MATCH_FULL = 2; + public const FOREIGN_KEY_MATCH_SIMPLE_UNIQUE = 129; + public const FOREIGN_KEY_MATCH_FULL_UNIQUE = 130; /** * {@inheritdoc} @@ -121,15 +90,15 @@ class SQLAnywherePlatform extends AbstractPlatform $query .= parent::getAdvancedForeignKeyOptionsSQL($foreignKey); - if ($foreignKey->hasOption('check_on_commit') && (boolean) $foreignKey->getOption('check_on_commit')) { + if ($foreignKey->hasOption('check_on_commit') && (bool) $foreignKey->getOption('check_on_commit')) { $query .= ' CHECK ON COMMIT'; } - if ($foreignKey->hasOption('clustered') && (boolean) $foreignKey->getOption('clustered')) { + if ($foreignKey->hasOption('clustered') && (bool) $foreignKey->getOption('clustered')) { $query .= ' CLUSTERED'; } - if ($foreignKey->hasOption('for_olap_workload') && (boolean) $foreignKey->getOption('for_olap_workload')) { + if ($foreignKey->hasOption('for_olap_workload') && (bool) $foreignKey->getOption('for_olap_workload')) { $query .= ' FOR OLAP WORKLOAD'; } @@ -147,7 +116,6 @@ class SQLAnywherePlatform extends AbstractPlatform $tableSql = []; $alterClauses = []; - /** @var \Doctrine\DBAL\Schema\Column $column */ foreach ($diff->addedColumns as $column) { if ($this->onSchemaAlterTableAddColumn($column, $diff, $columnSql)) { continue; @@ -157,16 +125,17 @@ class SQLAnywherePlatform extends AbstractPlatform $comment = $this->getColumnComment($column); - if (null !== $comment && '' !== $comment) { - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $comment - ); + if ($comment === null || $comment === '') { + continue; } + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $comment + ); } - /** @var \Doctrine\DBAL\Schema\Column $column */ foreach ($diff->removedColumns as $column) { if ($this->onSchemaAlterTableRemoveColumn($column, $diff, $columnSql)) { continue; @@ -175,7 +144,6 @@ class SQLAnywherePlatform extends AbstractPlatform $alterClauses[] = $this->getAlterTableRemoveColumnClause($column); } - /** @var \Doctrine\DBAL\Schema\ColumnDiff $columnDiff */ foreach ($diff->changedColumns as $columnDiff) { if ($this->onSchemaAlterTableChangeColumn($columnDiff, $diff, $columnSql)) { continue; @@ -183,19 +151,21 @@ class SQLAnywherePlatform extends AbstractPlatform $alterClause = $this->getAlterTableChangeColumnClause($columnDiff); - if (null !== $alterClause) { + if ($alterClause !== null) { $alterClauses[] = $alterClause; } - if ($columnDiff->hasChanged('comment')) { - $column = $columnDiff->column; - - $commentsSQL[] = $this->getCommentOnColumnSQL( - $diff->getName($this)->getQuotedName($this), - $column->getQuotedName($this), - $this->getColumnComment($column) - ); + if (! $columnDiff->hasChanged('comment')) { + continue; } + + $column = $columnDiff->column; + + $commentsSQL[] = $this->getCommentOnColumnSQL( + $diff->getName($this)->getQuotedName($this), + $column->getQuotedName($this), + $this->getColumnComment($column) + ); } foreach ($diff->renamedColumns as $oldColumnName => $column) { @@ -207,9 +177,9 @@ class SQLAnywherePlatform extends AbstractPlatform $this->getAlterTableRenameColumnClause($oldColumnName, $column); } - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { - if ( ! empty($alterClauses)) { - $sql[] = $this->getAlterTableClause($diff->getName($this)) . ' ' . implode(", ", $alterClauses); + if (! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! empty($alterClauses)) { + $sql[] = $this->getAlterTableClause($diff->getName($this)) . ' ' . implode(', ', $alterClauses); } $sql = array_merge($sql, $commentsSQL); @@ -277,7 +247,7 @@ class SQLAnywherePlatform extends AbstractPlatform { $oldColumnName = new Identifier($oldColumnName); - return 'RENAME ' . $oldColumnName->getQuotedName($this) .' TO ' . $column->getQuotedName($this); + return 'RENAME ' . $oldColumnName->getQuotedName($this) . ' TO ' . $column->getQuotedName($this); } /** @@ -307,11 +277,11 @@ class SQLAnywherePlatform extends AbstractPlatform $column = $columnDiff->column; // Do not return alter clause if only comment has changed. - if ( ! ($columnDiff->hasChanged('comment') && count($columnDiff->changedProperties) === 1)) { + if (! ($columnDiff->hasChanged('comment') && count($columnDiff->changedProperties) === 1)) { $columnAlterationClause = 'ALTER ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $column->toArray()); - if ($columnDiff->hasChanged('default') && null === $column->getDefault()) { + if ($columnDiff->hasChanged('default') && $column->getDefault() === null) { $columnAlterationClause .= ', ALTER ' . $column->getQuotedName($this) . ' DROP DEFAULT'; } @@ -365,7 +335,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getBooleanTypeDeclarationSQL(array $columnDef) { - $nullClause = isset($columnDef['notnull']) && (boolean) $columnDef['notnull'] === false ? ' NULL' : ''; + $nullClause = isset($columnDef['notnull']) && (bool) $columnDef['notnull'] === false ? ' NULL' : ''; return 'BIT' . $nullClause; } @@ -383,12 +353,16 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getCommentOnColumnSQL($tableName, $columnName, $comment) { - $tableName = new Identifier($tableName); + $tableName = new Identifier($tableName); $columnName = new Identifier($columnName); - $comment = $comment === null ? 'NULL' : $this->quoteStringLiteral($comment); + $comment = $comment === null ? 'NULL' : $this->quoteStringLiteral($comment); - return "COMMENT ON COLUMN " . $tableName->getQuotedName($this) . '.' . $columnName->getQuotedName($this) . - " IS $comment"; + return sprintf( + 'COMMENT ON COLUMN %s.%s IS %s', + $tableName->getQuotedName($this), + $columnName->getQuotedName($this), + $comment + ); } /** @@ -433,7 +407,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getCreateIndexSQL(Index $index, $table) { - return parent::getCreateIndexSQL($index, $table). $this->getAdvancedIndexOptionsSQL($index); + return parent::getCreateIndexSQL($index, $table) . $this->getAdvancedIndexOptionsSQL($index); } /** @@ -495,7 +469,7 @@ class SQLAnywherePlatform extends AbstractPlatform { $factorClause = ''; - if ('-' === $operator) { + if ($operator === '-') { $factorClause = '-1 * '; } @@ -569,14 +543,13 @@ class SQLAnywherePlatform extends AbstractPlatform $index = $index->getQuotedName($this); } - if ( ! is_string($index)) { - throw new \InvalidArgumentException( - 'SQLAnywherePlatform::getDropIndexSQL() expects $index parameter to be string or ' . - '\Doctrine\DBAL\Schema\Index.' + if (! is_string($index)) { + throw new InvalidArgumentException( + 'SQLAnywherePlatform::getDropIndexSQL() expects $index parameter to be string or ' . Index::class . '.' ); } - if ( ! isset($table)) { + if (! isset($table)) { return 'DROP INDEX ' . $index; } @@ -584,10 +557,9 @@ class SQLAnywherePlatform extends AbstractPlatform $table = $table->getQuotedName($this); } - if ( ! is_string($table)) { - throw new \InvalidArgumentException( - 'SQLAnywherePlatform::getDropIndexSQL() expects $table parameter to be string or ' . - '\Doctrine\DBAL\Schema\Table.' + if (! is_string($table)) { + throw new InvalidArgumentException( + 'SQLAnywherePlatform::getDropIndexSQL() expects $table parameter to be string or ' . Index::class . '.' ); } @@ -613,23 +585,23 @@ class SQLAnywherePlatform extends AbstractPlatform $foreignColumns = $foreignKey->getQuotedForeignColumns($this); $foreignTableName = $foreignKey->getQuotedForeignTableName($this); - if ( ! empty($foreignKeyName)) { + if (! empty($foreignKeyName)) { $sql .= 'CONSTRAINT ' . $foreignKey->getQuotedName($this) . ' '; } if (empty($localColumns)) { - throw new \InvalidArgumentException("Incomplete definition. 'local' required."); + throw new InvalidArgumentException("Incomplete definition. 'local' required."); } if (empty($foreignColumns)) { - throw new \InvalidArgumentException("Incomplete definition. 'foreign' required."); + throw new InvalidArgumentException("Incomplete definition. 'foreign' required."); } if (empty($foreignTableName)) { - throw new \InvalidArgumentException("Incomplete definition. 'foreignTable' required."); + throw new InvalidArgumentException("Incomplete definition. 'foreignTable' required."); } - if ($foreignKey->hasOption('notnull') && (boolean) $foreignKey->getOption('notnull')) { + if ($foreignKey->hasOption('notnull') && (bool) $foreignKey->getOption('notnull')) { $sql .= 'NOT NULL '; } @@ -646,7 +618,7 @@ class SQLAnywherePlatform extends AbstractPlatform * * @return string * - * @throws \InvalidArgumentException if unknown match type given + * @throws InvalidArgumentException If unknown match type given. */ public function getForeignKeyMatchClauseSQL($type) { @@ -663,7 +635,7 @@ class SQLAnywherePlatform extends AbstractPlatform case self::FOREIGN_KEY_MATCH_FULL_UNIQUE: return 'UNIQUE FULL'; default: - throw new \InvalidArgumentException('Invalid foreign key match type: ' . $type); + throw new InvalidArgumentException('Invalid foreign key match type: ' . $type); } } @@ -741,26 +713,33 @@ class SQLAnywherePlatform extends AbstractPlatform $user = 'USER_NAME()'; if (strpos($table, '.') !== false) { - list($user, $table) = explode('.', $table); - $user = $this->quoteStringLiteral($user); + [$user, $table] = explode('.', $table); + $user = $this->quoteStringLiteral($user); } - return "SELECT col.column_name, - COALESCE(def.user_type_name, def.domain_name) AS 'type', - def.declared_width AS 'length', - def.scale, - CHARINDEX('unsigned', def.domain_name) AS 'unsigned', - IF col.nulls = 'Y' THEN 0 ELSE 1 ENDIF AS 'notnull', - col.\"default\", - def.is_autoincrement AS 'autoincrement', - rem.remarks AS 'comment' - FROM sa_describe_query('SELECT * FROM \"$table\"') AS def - JOIN SYS.SYSTABCOL AS col - ON col.table_id = def.base_table_id AND col.column_id = def.base_column_id - LEFT JOIN SYS.SYSREMARK AS rem - ON col.object_id = rem.object_id - WHERE def.base_owner_name = $user - ORDER BY def.base_column_id ASC"; + return sprintf( + <<<'SQL' +SELECT col.column_name, + COALESCE(def.user_type_name, def.domain_name) AS 'type', + def.declared_width AS 'length', + def.scale, + CHARINDEX('unsigned', def.domain_name) AS 'unsigned', + IF col.nulls = 'Y' THEN 0 ELSE 1 ENDIF AS 'notnull', + col."default", + def.is_autoincrement AS 'autoincrement', + rem.remarks AS 'comment' +FROM sa_describe_query('SELECT * FROM "%s"') AS def +JOIN SYS.SYSTABCOL AS col +ON col.table_id = def.base_table_id AND col.column_id = def.base_column_id +LEFT JOIN SYS.SYSREMARK AS rem +ON col.object_id = rem.object_id +WHERE def.base_owner_name = %s +ORDER BY def.base_column_id ASC +SQL + , + $table, + $user + ); } /** @@ -773,18 +752,25 @@ class SQLAnywherePlatform extends AbstractPlatform $user = ''; if (strpos($table, '.') !== false) { - list($user, $table) = explode('.', $table); - $user = $this->quoteStringLiteral($user); - $table = $this->quoteStringLiteral($table); + [$user, $table] = explode('.', $table); + $user = $this->quoteStringLiteral($user); + $table = $this->quoteStringLiteral($table); } else { $table = $this->quoteStringLiteral($table); } - return "SELECT con.* - FROM SYS.SYSCONSTRAINT AS con - JOIN SYS.SYSTAB AS tab ON con.table_object_id = tab.object_id - WHERE tab.table_name = $table - AND tab.creator = USER_ID($user)"; + return sprintf( + <<<'SQL' +SELECT con.* +FROM SYS.SYSCONSTRAINT AS con +JOIN SYS.SYSTAB AS tab ON con.table_object_id = tab.object_id +WHERE tab.table_name = %s +AND tab.creator = USER_ID(%s) +SQL + , + $table, + $user + ); } /** @@ -795,82 +781,89 @@ class SQLAnywherePlatform extends AbstractPlatform $user = ''; if (strpos($table, '.') !== false) { - list($user, $table) = explode('.', $table); - $user = $this->quoteStringLiteral($user); - $table = $this->quoteStringLiteral($table); + [$user, $table] = explode('.', $table); + $user = $this->quoteStringLiteral($user); + $table = $this->quoteStringLiteral($table); } else { $table = $this->quoteStringLiteral($table); } - return "SELECT fcol.column_name AS local_column, - ptbl.table_name AS foreign_table, - pcol.column_name AS foreign_column, - idx.index_name, - IF fk.nulls = 'N' - THEN 1 - ELSE NULL - ENDIF AS notnull, - CASE ut.referential_action - WHEN 'C' THEN 'CASCADE' - WHEN 'D' THEN 'SET DEFAULT' - WHEN 'N' THEN 'SET NULL' - WHEN 'R' THEN 'RESTRICT' - ELSE NULL - END AS on_update, - CASE dt.referential_action - WHEN 'C' THEN 'CASCADE' - WHEN 'D' THEN 'SET DEFAULT' - WHEN 'N' THEN 'SET NULL' - WHEN 'R' THEN 'RESTRICT' - ELSE NULL - END AS on_delete, - IF fk.check_on_commit = 'Y' - THEN 1 - ELSE NULL - ENDIF AS check_on_commit, -- check_on_commit flag - IF ftbl.clustered_index_id = idx.index_id - THEN 1 - ELSE NULL - ENDIF AS 'clustered', -- clustered flag - IF fk.match_type = 0 - THEN NULL - ELSE fk.match_type - ENDIF AS 'match', -- match option - IF pidx.max_key_distance = 1 - THEN 1 - ELSE NULL - ENDIF AS for_olap_workload -- for_olap_workload flag - FROM SYS.SYSFKEY AS fk - JOIN SYS.SYSIDX AS idx - ON fk.foreign_table_id = idx.table_id - AND fk.foreign_index_id = idx.index_id - JOIN SYS.SYSPHYSIDX pidx - ON idx.table_id = pidx.table_id - AND idx.phys_index_id = pidx.phys_index_id - JOIN SYS.SYSTAB AS ptbl - ON fk.primary_table_id = ptbl.table_id - JOIN SYS.SYSTAB AS ftbl - ON fk.foreign_table_id = ftbl.table_id - JOIN SYS.SYSIDXCOL AS idxcol - ON idx.table_id = idxcol.table_id - AND idx.index_id = idxcol.index_id - JOIN SYS.SYSTABCOL AS pcol - ON ptbl.table_id = pcol.table_id - AND idxcol.primary_column_id = pcol.column_id - JOIN SYS.SYSTABCOL AS fcol - ON ftbl.table_id = fcol.table_id - AND idxcol.column_id = fcol.column_id - LEFT JOIN SYS.SYSTRIGGER ut - ON fk.foreign_table_id = ut.foreign_table_id - AND fk.foreign_index_id = ut.foreign_key_id - AND ut.event = 'C' - LEFT JOIN SYS.SYSTRIGGER dt - ON fk.foreign_table_id = dt.foreign_table_id - AND fk.foreign_index_id = dt.foreign_key_id - AND dt.event = 'D' - WHERE ftbl.table_name = $table - AND ftbl.creator = USER_ID($user) - ORDER BY fk.foreign_index_id ASC, idxcol.sequence ASC"; + return sprintf( + <<<'SQL' +SELECT fcol.column_name AS local_column, + ptbl.table_name AS foreign_table, + pcol.column_name AS foreign_column, + idx.index_name, + IF fk.nulls = 'N' + THEN 1 + ELSE NULL + ENDIF AS notnull, + CASE ut.referential_action + WHEN 'C' THEN 'CASCADE' + WHEN 'D' THEN 'SET DEFAULT' + WHEN 'N' THEN 'SET NULL' + WHEN 'R' THEN 'RESTRICT' + ELSE NULL + END AS on_update, + CASE dt.referential_action + WHEN 'C' THEN 'CASCADE' + WHEN 'D' THEN 'SET DEFAULT' + WHEN 'N' THEN 'SET NULL' + WHEN 'R' THEN 'RESTRICT' + ELSE NULL + END AS on_delete, + IF fk.check_on_commit = 'Y' + THEN 1 + ELSE NULL + ENDIF AS check_on_commit, -- check_on_commit flag + IF ftbl.clustered_index_id = idx.index_id + THEN 1 + ELSE NULL + ENDIF AS 'clustered', -- clustered flag + IF fk.match_type = 0 + THEN NULL + ELSE fk.match_type + ENDIF AS 'match', -- match option + IF pidx.max_key_distance = 1 + THEN 1 + ELSE NULL + ENDIF AS for_olap_workload -- for_olap_workload flag +FROM SYS.SYSFKEY AS fk +JOIN SYS.SYSIDX AS idx +ON fk.foreign_table_id = idx.table_id +AND fk.foreign_index_id = idx.index_id +JOIN SYS.SYSPHYSIDX pidx +ON idx.table_id = pidx.table_id +AND idx.phys_index_id = pidx.phys_index_id +JOIN SYS.SYSTAB AS ptbl +ON fk.primary_table_id = ptbl.table_id +JOIN SYS.SYSTAB AS ftbl +ON fk.foreign_table_id = ftbl.table_id +JOIN SYS.SYSIDXCOL AS idxcol +ON idx.table_id = idxcol.table_id +AND idx.index_id = idxcol.index_id +JOIN SYS.SYSTABCOL AS pcol +ON ptbl.table_id = pcol.table_id +AND idxcol.primary_column_id = pcol.column_id +JOIN SYS.SYSTABCOL AS fcol +ON ftbl.table_id = fcol.table_id +AND idxcol.column_id = fcol.column_id +LEFT JOIN SYS.SYSTRIGGER ut +ON fk.foreign_table_id = ut.foreign_table_id +AND fk.foreign_index_id = ut.foreign_key_id +AND ut.event = 'C' +LEFT JOIN SYS.SYSTRIGGER dt +ON fk.foreign_table_id = dt.foreign_table_id +AND fk.foreign_index_id = dt.foreign_key_id +AND dt.event = 'D' +WHERE ftbl.table_name = %s +AND ftbl.creator = USER_ID(%s) +ORDER BY fk.foreign_index_id ASC, idxcol.sequence ASC +SQL + , + $table, + $user + ); } /** @@ -881,49 +874,56 @@ class SQLAnywherePlatform extends AbstractPlatform $user = ''; if (strpos($table, '.') !== false) { - list($user, $table) = explode('.', $table); - $user = $this->quoteStringLiteral($user); - $table = $this->quoteStringLiteral($table); + [$user, $table] = explode('.', $table); + $user = $this->quoteStringLiteral($user); + $table = $this->quoteStringLiteral($table); } else { $table = $this->quoteStringLiteral($table); } - return "SELECT idx.index_name AS key_name, - IF idx.index_category = 1 - THEN 1 - ELSE 0 - ENDIF AS 'primary', - col.column_name, - IF idx.\"unique\" IN(1, 2, 5) - THEN 0 - ELSE 1 - ENDIF AS non_unique, - IF tbl.clustered_index_id = idx.index_id - THEN 1 - ELSE NULL - ENDIF AS 'clustered', -- clustered flag - IF idx.\"unique\" = 5 - THEN 1 - ELSE NULL - ENDIF AS with_nulls_not_distinct, -- with_nulls_not_distinct flag - IF pidx.max_key_distance = 1 - THEN 1 - ELSE NULL - ENDIF AS for_olap_workload -- for_olap_workload flag - FROM SYS.SYSIDX AS idx - JOIN SYS.SYSPHYSIDX pidx - ON idx.table_id = pidx.table_id - AND idx.phys_index_id = pidx.phys_index_id - JOIN SYS.SYSIDXCOL AS idxcol - ON idx.table_id = idxcol.table_id AND idx.index_id = idxcol.index_id - JOIN SYS.SYSTABCOL AS col - ON idxcol.table_id = col.table_id AND idxcol.column_id = col.column_id - JOIN SYS.SYSTAB AS tbl - ON idx.table_id = tbl.table_id - WHERE tbl.table_name = $table - AND tbl.creator = USER_ID($user) - AND idx.index_category != 2 -- exclude indexes implicitly created by foreign key constraints - ORDER BY idx.index_id ASC, idxcol.sequence ASC"; + return sprintf( + <<<'SQL' +SELECT idx.index_name AS key_name, + IF idx.index_category = 1 + THEN 1 + ELSE 0 + ENDIF AS 'primary', + col.column_name, + IF idx."unique" IN(1, 2, 5) + THEN 0 + ELSE 1 + ENDIF AS non_unique, + IF tbl.clustered_index_id = idx.index_id + THEN 1 + ELSE NULL + ENDIF AS 'clustered', -- clustered flag + IF idx."unique" = 5 + THEN 1 + ELSE NULL + ENDIF AS with_nulls_not_distinct, -- with_nulls_not_distinct flag + IF pidx.max_key_distance = 1 + THEN 1 + ELSE NULL + ENDIF AS for_olap_workload -- for_olap_workload flag +FROM SYS.SYSIDX AS idx +JOIN SYS.SYSPHYSIDX pidx +ON idx.table_id = pidx.table_id +AND idx.phys_index_id = pidx.phys_index_id +JOIN SYS.SYSIDXCOL AS idxcol +ON idx.table_id = idxcol.table_id AND idx.index_id = idxcol.index_id +JOIN SYS.SYSTABCOL AS col +ON idxcol.table_id = col.table_id AND idxcol.column_id = col.column_id +JOIN SYS.SYSTAB AS tbl +ON idx.table_id = tbl.table_id +WHERE tbl.table_name = %s +AND tbl.creator = USER_ID(%s) +AND idx.index_category != 2 -- exclude indexes implicitly created by foreign key constraints +ORDER BY idx.index_id ASC, idxcol.sequence ASC +SQL + , + $table, + $user + ); } /** @@ -970,7 +970,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { + if ($startPos === false) { return 'LOCATE(' . $str . ', ' . $substr . ')'; } @@ -990,7 +990,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getMd5Expression($column) { - return "HASH(" . $column . ", 'MD5')"; + return 'HASH(' . $column . ", 'MD5')"; } /** @@ -1010,12 +1010,12 @@ class SQLAnywherePlatform extends AbstractPlatform * * @return string DBMS specific SQL code portion needed to set a primary key * - * @throws \InvalidArgumentException if the given index is not a primary key. + * @throws InvalidArgumentException If the given index is not a primary key. */ public function getPrimaryKeyDeclarationSQL(Index $index, $name = null) { - if ( ! $index->isPrimary()) { - throw new \InvalidArgumentException( + if (! $index->isPrimary()) { + throw new InvalidArgumentException( 'Can only create primary key declarations with getPrimaryKeyDeclarationSQL()' ); } @@ -1085,7 +1085,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getSubstringExpression($value, $from, $length = null) { - if (null === $length) { + if ($length === null) { return 'SUBSTRING(' . $value . ', ' . $from . ')'; } @@ -1121,7 +1121,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ public function getTrimExpression($str, $pos = TrimMode::UNSPECIFIED, $char = false) { - if ( ! $char) { + if (! $char) { switch ($pos) { case TrimMode::LEADING: return $this->getLtrimExpression($str); @@ -1132,7 +1132,7 @@ class SQLAnywherePlatform extends AbstractPlatform } } - $pattern = "'%[^' + $char + ']%'"; + $pattern = "'%[^' + " . $char . " + ']%'"; switch ($pos) { case TrimMode::LEADING: @@ -1140,8 +1140,7 @@ class SQLAnywherePlatform extends AbstractPlatform case TrimMode::TRAILING: return 'REVERSE(SUBSTR(REVERSE(' . $str . '), PATINDEX(' . $pattern . ', REVERSE(' . $str . '))))'; default: - return - 'REVERSE(SUBSTR(REVERSE(SUBSTR(' . $str . ', PATINDEX(' . $pattern . ', ' . $str . '))), ' . + return 'REVERSE(SUBSTR(REVERSE(SUBSTR(' . $str . ', PATINDEX(' . $pattern . ', ' . $str . '))), ' . 'PATINDEX(' . $pattern . ', REVERSE(SUBSTR(' . $str . ', PATINDEX(' . $pattern . ', ' . $str . '))))))'; } } @@ -1162,13 +1161,13 @@ class SQLAnywherePlatform extends AbstractPlatform public function getUniqueConstraintDeclarationSQL($name, Index $index) { if ($index->isPrimary()) { - throw new \InvalidArgumentException( + throw new InvalidArgumentException( 'Cannot create primary key constraint declarations with getUniqueConstraintDeclarationSQL().' ); } - if ( ! $index->isUnique()) { - throw new \InvalidArgumentException( + if (! $index->isUnique()) { + throw new InvalidArgumentException( 'Can only create unique constraint declarations, no common index declarations with ' . 'getUniqueConstraintDeclarationSQL().' ); @@ -1242,22 +1241,22 @@ class SQLAnywherePlatform extends AbstractPlatform protected function _getCreateTableSQL($tableName, array $columns, array $options = []) { $columnListSql = $this->getColumnDeclarationListSQL($columns); - $indexSql = []; + $indexSql = []; - if ( ! empty($options['uniqueConstraints'])) { + if (! empty($options['uniqueConstraints'])) { foreach ((array) $options['uniqueConstraints'] as $name => $definition) { $columnListSql .= ', ' . $this->getUniqueConstraintDeclarationSQL($name, $definition); } } - if ( ! empty($options['indexes'])) { - /** @var \Doctrine\DBAL\Schema\Index $index */ + if (! empty($options['indexes'])) { + /** @var Index $index */ foreach ((array) $options['indexes'] as $index) { $indexSql[] = $this->getCreateIndexSQL($index, $tableName); } } - if ( ! empty($options['primary'])) { + if (! empty($options['primary'])) { $flags = ''; if (isset($options['primary_index']) && $options['primary_index']->hasFlag('clustered')) { @@ -1267,7 +1266,7 @@ class SQLAnywherePlatform extends AbstractPlatform $columnListSql .= ', PRIMARY KEY' . $flags . ' (' . implode(', ', array_unique(array_values((array) $options['primary']))) . ')'; } - if ( ! empty($options['foreignKeys'])) { + if (! empty($options['foreignKeys'])) { foreach ((array) $options['foreignKeys'] as $definition) { $columnListSql .= ', ' . $this->getForeignKeyDeclarationSQL($definition); } @@ -1276,7 +1275,7 @@ class SQLAnywherePlatform extends AbstractPlatform $query = 'CREATE TABLE ' . $tableName . ' (' . $columnListSql; $check = $this->getCheckDeclarationSQL($columns); - if ( ! empty($check)) { + if (! empty($check)) { $query .= ', ' . $check; } @@ -1300,7 +1299,7 @@ class SQLAnywherePlatform extends AbstractPlatform case TransactionIsolationLevel::SERIALIZABLE: return 3; default: - throw new \InvalidArgumentException('Invalid isolation level:' . $level); + throw new InvalidArgumentException('Invalid isolation level:' . $level); } } @@ -1316,7 +1315,7 @@ class SQLAnywherePlatform extends AbstractPlatform } if ($offset > 0) { - if ($limit == 0) { + if ($limit === 0) { $limitOffsetClause = 'TOP ALL '; } @@ -1342,7 +1341,7 @@ class SQLAnywherePlatform extends AbstractPlatform { $sql = ''; - if ( ! $index->isPrimary() && $index->hasFlag('for_olap_workload')) { + if (! $index->isPrimary() && $index->hasFlag('for_olap_workload')) { $sql .= ' FOR OLAP WORKLOAD'; } @@ -1367,7 +1366,7 @@ class SQLAnywherePlatform extends AbstractPlatform * * @return string * - * @throws \InvalidArgumentException if the given table constraint type is not supported by this method. + * @throws InvalidArgumentException If the given table constraint type is not supported by this method. */ protected function getTableConstraintDeclarationSQL(Constraint $constraint, $name = null) { @@ -1375,12 +1374,12 @@ class SQLAnywherePlatform extends AbstractPlatform return $this->getForeignKeyDeclarationSQL($constraint); } - if ( ! $constraint instanceof Index) { - throw new \InvalidArgumentException('Unsupported constraint type: ' . get_class($constraint)); + if (! $constraint instanceof Index) { + throw new InvalidArgumentException('Unsupported constraint type: ' . get_class($constraint)); } - if ( ! $constraint->isPrimary() && ! $constraint->isUnique()) { - throw new \InvalidArgumentException( + if (! $constraint->isPrimary() && ! $constraint->isUnique()) { + throw new InvalidArgumentException( 'Can only create primary, unique or foreign key constraint declarations, no common index declarations ' . 'with getTableConstraintDeclarationSQL().' ); @@ -1389,13 +1388,13 @@ class SQLAnywherePlatform extends AbstractPlatform $constraintColumns = $constraint->getQuotedColumns($this); if (empty($constraintColumns)) { - throw new \InvalidArgumentException("Incomplete definition. 'columns' required."); + throw new InvalidArgumentException("Incomplete definition. 'columns' required."); } $sql = ''; $flags = ''; - if ( ! empty($name)) { + if (! empty($name)) { $name = new Identifier($name); $sql .= 'CONSTRAINT ' . $name->getQuotedName($this) . ' '; } @@ -1405,10 +1404,10 @@ class SQLAnywherePlatform extends AbstractPlatform } if ($constraint->isPrimary()) { - return $sql . 'PRIMARY KEY ' . $flags . '('. $this->getIndexFieldDeclarationListSQL($constraintColumns) . ')'; + return $sql . 'PRIMARY KEY ' . $flags . '(' . $this->getIndexFieldDeclarationListSQL($constraintColumns) . ')'; } - return $sql . 'UNIQUE ' . $flags . '('. $this->getIndexFieldDeclarationListSQL($constraintColumns) . ')'; + return $sql . 'UNIQUE ' . $flags . '(' . $this->getIndexFieldDeclarationListSQL($constraintColumns) . ')'; } /** @@ -1437,9 +1436,7 @@ class SQLAnywherePlatform extends AbstractPlatform */ protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { - return [ - 'ALTER INDEX ' . $oldIndexName . ' ON ' . $tableName . ' RENAME TO ' . $index->getQuotedName($this) - ]; + return ['ALTER INDEX ' . $oldIndexName . ' ON ' . $tableName . ' RENAME TO ' . $index->getQuotedName($this)]; } /** @@ -1487,9 +1484,9 @@ class SQLAnywherePlatform extends AbstractPlatform 'unsigned int' => 'integer', 'numeric' => 'decimal', 'smallint' => 'smallint', - 'unsigned smallint', 'smallint', + 'unsigned smallint' => 'smallint', 'tinyint' => 'smallint', - 'unsigned tinyint', 'smallint', + 'unsigned tinyint' => 'smallint', 'money' => 'decimal', 'smallmoney' => 'decimal', 'long varbit' => 'text', diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAzurePlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAzurePlatform.php index 71829cd0e..a104848f8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAzurePlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLAzurePlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -33,7 +16,7 @@ class SQLAzurePlatform extends SQLServer2008Platform /** * {@inheritDoc} */ - public function getCreateTableSQL(Table $table, $createFlags=self::CREATE_INDEXES) + public function getCreateTableSQL(Table $table, $createFlags = self::CREATE_INDEXES) { $sql = parent::getCreateTableSQL($table, $createFlags); @@ -42,7 +25,7 @@ class SQLAzurePlatform extends SQLServer2008Platform $columnName = $table->getOption('azure.federatedOnColumnName'); $stmt = ' FEDERATED ON (' . $distributionName . ' = ' . $columnName . ')'; - $sql[0] = $sql[0] . $stmt; + $sql[0] .= $stmt; } return $sql; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2005Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2005Platform.php index af42f5166..1026a934f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2005Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2005Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2008Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2008Platform.php index b9a672e6c..c2e36f34e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2008Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2008Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -111,9 +94,9 @@ class SQLServer2008Platform extends SQLServer2005Platform protected function initializeDoctrineTypeMappings() { parent::initializeDoctrineTypeMappings(); - $this->doctrineTypeMapping['datetime2'] = 'datetime'; - $this->doctrineTypeMapping['date'] = 'date'; - $this->doctrineTypeMapping['time'] = 'time'; + $this->doctrineTypeMapping['datetime2'] = 'datetime'; + $this->doctrineTypeMapping['date'] = 'date'; + $this->doctrineTypeMapping['time'] = 'time'; $this->doctrineTypeMapping['datetimeoffset'] = 'datetimetz'; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2012Platform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2012Platform.php index c95d7b05f..009a37d33 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2012Platform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServer2012Platform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -30,8 +13,6 @@ use function substr_count; * * Differences to SQL Server 2008 and before are that sequences are introduced, * and support for the new OFFSET... FETCH syntax for result pagination has been added. - * - * @author Steve Müller */ class SQLServer2012Platform extends SQLServer2008Platform { @@ -120,15 +101,15 @@ class SQLServer2012Platform extends SQLServer2008Platform // Queries using OFFSET... FETCH MUST have an ORDER BY clause // Find the position of the last instance of ORDER BY and ensure it is not within a parenthetical statement // but can be in a newline - $matches = []; - $matchesCount = preg_match_all("/[\\s]+order\\s+by\\s/im", $query, $matches, PREG_OFFSET_CAPTURE); - $orderByPos = false; + $matches = []; + $matchesCount = preg_match_all('/[\\s]+order\\s+by\\s/im', $query, $matches, PREG_OFFSET_CAPTURE); + $orderByPos = false; if ($matchesCount > 0) { $orderByPos = $matches[0][($matchesCount - 1)][1]; } if ($orderByPos === false - || substr_count($query, "(", $orderByPos) - substr_count($query, ")", $orderByPos) + || substr_count($query, '(', $orderByPos) - substr_count($query, ')', $orderByPos) ) { if (preg_match('/^SELECT\s+DISTINCT/im', $query)) { // SQL Server won't let us order by a non-selected column in a DISTINCT query, @@ -136,11 +117,11 @@ class SQLServer2012Platform extends SQLServer2008Platform // result. SQL Server's docs say that a nonordered query's result order is non- // deterministic anyway, so this won't do anything that a bunch of update and // deletes to the table wouldn't do anyway. - $query .= " ORDER BY 1"; + $query .= ' ORDER BY 1'; } else { // In another DBMS, we could do ORDER BY 0, but SQL Server gets angry if you // use constant expressions in the order by list. - $query .= " ORDER BY (SELECT 0)"; + $query .= ' ORDER BY (SELECT 0)'; } } @@ -151,10 +132,10 @@ class SQLServer2012Platform extends SQLServer2008Platform // This looks somewhat like MYSQL, but limit/offset are in inverse positions // Supposedly SQL:2008 core standard. // Per TSQL spec, FETCH NEXT n ROWS ONLY is not valid without OFFSET n ROWS. - $query .= " OFFSET " . (int) $offset . " ROWS"; + $query .= ' OFFSET ' . (int) $offset . ' ROWS'; if ($limit !== null) { - $query .= " FETCH NEXT " . (int) $limit . " ROWS ONLY"; + $query .= ' FETCH NEXT ' . (int) $limit . ' ROWS ONLY'; } return $query; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServerPlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServerPlatform.php index 48cbcc6c1..dc8775e61 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServerPlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SQLServerPlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -28,6 +11,7 @@ use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\Types; +use InvalidArgumentException; use function array_merge; use function array_unique; use function array_values; @@ -56,12 +40,6 @@ use function substr_count; /** * The SQLServerPlatform provides the behavior, features and SQL dialect of the * Microsoft SQL Server database platform. - * - * @since 2.0 - * @author Roman Borschel - * @author Jonathan H. Wage - * @author Benjamin Eberlei - * @author Steve Müller */ class SQLServerPlatform extends AbstractPlatform { @@ -101,7 +79,7 @@ class SQLServerPlatform extends AbstractPlatform { $factorClause = ''; - if ('-' === $operator) { + if ($operator === '-') { $factorClause = '-1 * '; } @@ -223,7 +201,7 @@ class SQLServerPlatform extends AbstractPlatform } $foreignKey = $foreignKey->getQuotedName($this); - $table = $table->getQuotedName($this); + $table = $table->getQuotedName($this); return 'ALTER TABLE ' . $table . ' DROP CONSTRAINT ' . $foreignKey; } @@ -235,11 +213,11 @@ class SQLServerPlatform extends AbstractPlatform { if ($index instanceof Index) { $index = $index->getQuotedName($this); - } elseif (!is_string($index)) { - throw new \InvalidArgumentException('AbstractPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); + } elseif (! is_string($index)) { + throw new InvalidArgumentException('AbstractPlatform::getDropIndexSQL() expects $index parameter to be string or \Doctrine\DBAL\Schema\Index.'); } - if (!isset($table)) { + if (! isset($table)) { return 'DROP INDEX ' . $index; } @@ -247,10 +225,20 @@ class SQLServerPlatform extends AbstractPlatform $table = $table->getQuotedName($this); } - return "IF EXISTS (SELECT * FROM sysobjects WHERE name = '$index') - ALTER TABLE " . $table . " DROP CONSTRAINT " . $index . " - ELSE - DROP INDEX " . $index . " ON " . $table; + return sprintf( + <<getDefaultConstraintDeclarationSQL($tableName, $column); } - if ( ! empty($column['comment']) || is_numeric($column['comment'])) { - $commentsSql[] = $this->getCreateColumnCommentSQL($tableName, $column['name'], $column['comment']); + if (empty($column['comment']) && ! is_numeric($column['comment'])) { + continue; } + + $commentsSql[] = $this->getCreateColumnCommentSQL($tableName, $column['name'], $column['comment']); } $columnListSql = $this->getColumnDeclarationListSQL($columns); - if (isset($options['uniqueConstraints']) && !empty($options['uniqueConstraints'])) { + if (isset($options['uniqueConstraints']) && ! empty($options['uniqueConstraints'])) { foreach ($options['uniqueConstraints'] as $name => $definition) { $columnListSql .= ', ' . $this->getUniqueConstraintDeclarationSQL($name, $definition); } } - if (isset($options['primary']) && !empty($options['primary'])) { + if (isset($options['primary']) && ! empty($options['primary'])) { $flags = ''; if (isset($options['primary_index']) && $options['primary_index']->hasFlag('nonclustered')) { $flags = ' NONCLUSTERED'; @@ -298,14 +288,14 @@ class SQLServerPlatform extends AbstractPlatform $query = 'CREATE TABLE ' . $tableName . ' (' . $columnListSql; $check = $this->getCheckDeclarationSQL($columns); - if (!empty($check)) { + if (! empty($check)) { $query .= ', ' . $check; } $query .= ')'; $sql = [$query]; - if (isset($options['indexes']) && !empty($options['indexes'])) { + if (isset($options['indexes']) && ! empty($options['indexes'])) { foreach ($options['indexes'] as $index) { $sql[] = $this->getCreateIndexSQL($index, $tableName); } @@ -330,7 +320,7 @@ class SQLServerPlatform extends AbstractPlatform $flags = ' NONCLUSTERED'; } - return 'ALTER TABLE ' . $table . ' ADD PRIMARY KEY' . $flags . ' (' . $this->getIndexFieldDeclarationListSQL($index->getQuotedColumns($this)) . ')'; + return 'ALTER TABLE ' . $table . ' ADD PRIMARY KEY' . $flags . ' (' . $this->getIndexFieldDeclarationListSQL($index) . ')'; } /** @@ -376,23 +366,22 @@ class SQLServerPlatform extends AbstractPlatform /** * Returns the SQL snippet for declaring a default constraint. * - * @param string $table Name of the table to return the default constraint declaration for. - * @param array $column Column definition. + * @param string $table Name of the table to return the default constraint declaration for. + * @param mixed[] $column Column definition. * * @return string * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ public function getDefaultConstraintDeclarationSQL($table, array $column) { - if ( ! isset($column['default'])) { - throw new \InvalidArgumentException("Incomplete column definition. 'default' required."); + if (! isset($column['default'])) { + throw new InvalidArgumentException("Incomplete column definition. 'default' required."); } $columnName = new Identifier($column['name']); - return - ' CONSTRAINT ' . + return ' CONSTRAINT ' . $this->generateDefaultConstraintName($table, $column['name']) . $this->getDefaultValueDeclarationSQL($column) . ' FOR ' . $columnName->getQuotedName($this); @@ -417,7 +406,7 @@ class SQLServerPlatform extends AbstractPlatform { $constraint = parent::getCreateIndexSQL($index, $table); - if ($index->isUnique() && !$index->isPrimary()) { + if ($index->isUnique() && ! $index->isPrimary()) { $constraint = $this->_appendUniqueConstraintDefinition($constraint, $index); } @@ -446,8 +435,7 @@ class SQLServerPlatform extends AbstractPlatform /** * Extend unique key constraint with required filters * - * @param string $sql - * @param \Doctrine\DBAL\Schema\Index $index + * @param string $sql * * @return string */ @@ -472,13 +460,12 @@ class SQLServerPlatform extends AbstractPlatform $columnSql = []; $commentsSql = []; - /** @var \Doctrine\DBAL\Schema\Column $column */ foreach ($diff->addedColumns as $column) { if ($this->onSchemaAlterTableAddColumn($column, $diff, $columnSql)) { continue; } - $columnDef = $column->toArray(); + $columnDef = $column->toArray(); $queryParts[] = 'ADD ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnDef); if (isset($columnDef['default'])) { @@ -487,13 +474,15 @@ class SQLServerPlatform extends AbstractPlatform $comment = $this->getColumnComment($column); - if ( ! empty($comment) || is_numeric($comment)) { - $commentsSql[] = $this->getCreateColumnCommentSQL( - $diff->name, - $column->getQuotedName($this), - $comment - ); + if (empty($comment) && ! is_numeric($comment)) { + continue; } + + $commentsSql[] = $this->getCreateColumnCommentSQL( + $diff->name, + $column->getQuotedName($this), + $comment + ); } foreach ($diff->removedColumns as $column) { @@ -504,7 +493,6 @@ class SQLServerPlatform extends AbstractPlatform $queryParts[] = 'DROP COLUMN ' . $column->getQuotedName($this); } - /* @var $columnDiff \Doctrine\DBAL\Schema\ColumnDiff */ foreach ($diff->changedColumns as $columnDiff) { if ($this->onSchemaAlterTableChangeColumn($columnDiff, $diff, $columnSql)) { continue; @@ -512,13 +500,13 @@ class SQLServerPlatform extends AbstractPlatform $column = $columnDiff->column; $comment = $this->getColumnComment($column); - $hasComment = ! empty ($comment) || is_numeric($comment); + $hasComment = ! empty($comment) || is_numeric($comment); if ($columnDiff->fromColumn instanceof Column) { $fromComment = $this->getColumnComment($columnDiff->fromColumn); - $hasFromComment = ! empty ($fromComment) || is_numeric($fromComment); + $hasFromComment = ! empty($fromComment) || is_numeric($fromComment); - if ($hasFromComment && $hasComment && $fromComment != $comment) { + if ($hasFromComment && $hasComment && $fromComment !== $comment) { $commentsSql[] = $this->getAlterColumnCommentSQL( $diff->name, $column->getQuotedName($this), @@ -533,8 +521,6 @@ class SQLServerPlatform extends AbstractPlatform $comment ); } - } else { - // todo: Original comment cannot be determined. What to do? Add, update, drop or skip? } // Do not add query part if only comment has changed. @@ -556,9 +542,11 @@ class SQLServerPlatform extends AbstractPlatform $queryParts[] = 'ALTER COLUMN ' . $this->getColumnDeclarationSQL($column->getQuotedName($this), $columnDef); - if (isset($columnDef['default']) && ($requireDropDefaultConstraint || $columnDiff->hasChanged('default'))) { - $queryParts[] = $this->getAlterTableAddDefaultConstraintClause($diff->name, $column); + if (! isset($columnDef['default']) || (! $requireDropDefaultConstraint && ! $columnDiff->hasChanged('default'))) { + continue; } + + $queryParts[] = $this->getAlterTableAddDefaultConstraintClause($diff->name, $column); } foreach ($diff->renamedColumns as $oldColumnName => $column) { @@ -569,17 +557,19 @@ class SQLServerPlatform extends AbstractPlatform $oldColumnName = new Identifier($oldColumnName); $sql[] = "sp_RENAME '" . - $diff->getName($this)->getQuotedName($this) . "." . $oldColumnName->getQuotedName($this) . + $diff->getName($this)->getQuotedName($this) . '.' . $oldColumnName->getQuotedName($this) . "', '" . $column->getQuotedName($this) . "', 'COLUMN'"; // Recreate default constraint with new column name if necessary (for future reference). - if ($column->getDefault() !== null) { - $queryParts[] = $this->getAlterTableDropDefaultConstraintClause( - $diff->name, - $oldColumnName->getQuotedName($this) - ); - $queryParts[] = $this->getAlterTableAddDefaultConstraintClause($diff->name, $column); + if ($column->getDefault() === null) { + continue; } + + $queryParts[] = $this->getAlterTableDropDefaultConstraintClause( + $diff->name, + $oldColumnName->getQuotedName($this) + ); + $queryParts[] = $this->getAlterTableAddDefaultConstraintClause($diff->name, $column); } $tableSql = []; @@ -609,10 +599,10 @@ class SQLServerPlatform extends AbstractPlatform "SELECT @sql += N'EXEC sp_rename N''' + dc.name + ''', N''' " . "+ REPLACE(dc.name, '" . $this->generateIdentifierName($diff->name) . "', " . "'" . $this->generateIdentifierName($diff->newName) . "') + ''', ''OBJECT'';' " . - "FROM sys.default_constraints dc " . - "JOIN sys.tables tbl ON dc.parent_object_id = tbl.object_id " . + 'FROM sys.default_constraints dc ' . + 'JOIN sys.tables tbl ON dc.parent_object_id = tbl.object_id ' . "WHERE tbl.name = '" . $diff->getNewName()->getName() . "';" . - "EXEC sp_executesql @sql"; + 'EXEC sp_executesql @sql'; } $sql = array_merge( @@ -634,7 +624,7 @@ class SQLServerPlatform extends AbstractPlatform */ private function getAlterTableAddDefaultConstraintClause($tableName, Column $column) { - $columnDef = $column->toArray(); + $columnDef = $column->toArray(); $columnDef['name'] = $column->getQuotedName($this); return 'ADD' . $this->getDefaultConstraintDeclarationSQL($tableName, $columnDef); @@ -669,7 +659,7 @@ class SQLServerPlatform extends AbstractPlatform { // We can only decide whether to drop an existing default constraint // if we know the original default value. - if ( ! $columnDiff->fromColumn instanceof Column) { + if (! $columnDiff->fromColumn instanceof Column) { return false; } @@ -773,19 +763,20 @@ class SQLServerPlatform extends AbstractPlatform */ protected function getRenameIndexSQL($oldIndexName, Index $index, $tableName) { - return [ - sprintf( - "EXEC sp_RENAME N'%s.%s', N'%s', N'INDEX'", - $tableName, - $oldIndexName, - $index->getQuotedName($this) - ) + return [sprintf( + "EXEC sp_RENAME N'%s.%s', N'%s', N'INDEX'", + $tableName, + $oldIndexName, + $index->getQuotedName($this) + ), ]; } /** * Returns the SQL statement for adding an extended property to a database object. * + * @link http://msdn.microsoft.com/en-us/library/ms180047%28v=sql.90%29.aspx + * * @param string $name The name of the property to add. * @param string|null $value The value of the property to add. * @param string|null $level0Type The type of the object at level 0 the property belongs to. @@ -796,8 +787,6 @@ class SQLServerPlatform extends AbstractPlatform * @param string|null $level2Name The name of the object at level 2 the property belongs to. * * @return string - * - * @link http://msdn.microsoft.com/en-us/library/ms180047%28v=sql.90%29.aspx */ public function getAddExtendedPropertySQL( $name, @@ -809,16 +798,18 @@ class SQLServerPlatform extends AbstractPlatform $level2Type = null, $level2Name = null ) { - return "EXEC sp_addextendedproperty " . - "N" . $this->quoteStringLiteral($name) . ", N" . $this->quoteStringLiteral($value) . ", " . - "N" . $this->quoteStringLiteral($level0Type) . ", " . $level0Name . ', ' . - "N" . $this->quoteStringLiteral($level1Type) . ", " . $level1Name . ', ' . - "N" . $this->quoteStringLiteral($level2Type) . ", " . $level2Name; + return 'EXEC sp_addextendedproperty ' . + 'N' . $this->quoteStringLiteral($name) . ', N' . $this->quoteStringLiteral($value) . ', ' . + 'N' . $this->quoteStringLiteral($level0Type) . ', ' . $level0Name . ', ' . + 'N' . $this->quoteStringLiteral($level1Type) . ', ' . $level1Name . ', ' . + 'N' . $this->quoteStringLiteral($level2Type) . ', ' . $level2Name; } /** * Returns the SQL statement for dropping an extended property from a database object. * + * @link http://technet.microsoft.com/en-gb/library/ms178595%28v=sql.90%29.aspx + * * @param string $name The name of the property to drop. * @param string|null $level0Type The type of the object at level 0 the property belongs to. * @param string|null $level0Name The name of the object at level 0 the property belongs to. @@ -828,8 +819,6 @@ class SQLServerPlatform extends AbstractPlatform * @param string|null $level2Name The name of the object at level 2 the property belongs to. * * @return string - * - * @link http://technet.microsoft.com/en-gb/library/ms178595%28v=sql.90%29.aspx */ public function getDropExtendedPropertySQL( $name, @@ -840,16 +829,18 @@ class SQLServerPlatform extends AbstractPlatform $level2Type = null, $level2Name = null ) { - return "EXEC sp_dropextendedproperty " . - "N" . $this->quoteStringLiteral($name) . ", " . - "N" . $this->quoteStringLiteral($level0Type) . ", " . $level0Name . ', ' . - "N" . $this->quoteStringLiteral($level1Type) . ", " . $level1Name . ', ' . - "N" . $this->quoteStringLiteral($level2Type) . ", " . $level2Name; + return 'EXEC sp_dropextendedproperty ' . + 'N' . $this->quoteStringLiteral($name) . ', ' . + 'N' . $this->quoteStringLiteral($level0Type) . ', ' . $level0Name . ', ' . + 'N' . $this->quoteStringLiteral($level1Type) . ', ' . $level1Name . ', ' . + 'N' . $this->quoteStringLiteral($level2Type) . ', ' . $level2Name; } /** * Returns the SQL statement for updating an extended property of a database object. * + * @link http://msdn.microsoft.com/en-us/library/ms186885%28v=sql.90%29.aspx + * * @param string $name The name of the property to update. * @param string|null $value The value of the property to update. * @param string|null $level0Type The type of the object at level 0 the property belongs to. @@ -860,8 +851,6 @@ class SQLServerPlatform extends AbstractPlatform * @param string|null $level2Name The name of the object at level 2 the property belongs to. * * @return string - * - * @link http://msdn.microsoft.com/en-us/library/ms186885%28v=sql.90%29.aspx */ public function getUpdateExtendedPropertySQL( $name, @@ -873,11 +862,11 @@ class SQLServerPlatform extends AbstractPlatform $level2Type = null, $level2Name = null ) { - return "EXEC sp_updateextendedproperty " . - "N" . $this->quoteStringLiteral($name) . ", N" . $this->quoteStringLiteral($value) . ", " . - "N" . $this->quoteStringLiteral($level0Type) . ", " . $level0Name . ', ' . - "N" . $this->quoteStringLiteral($level1Type) . ", " . $level1Name . ', ' . - "N" . $this->quoteStringLiteral($level2Type) . ", " . $level2Name; + return 'EXEC sp_updateextendedproperty ' . + 'N' . $this->quoteStringLiteral($name) . ', N' . $this->quoteStringLiteral($value) . ', ' . + 'N' . $this->quoteStringLiteral($level0Type) . ', ' . $level0Name . ', ' . + 'N' . $this->quoteStringLiteral($level1Type) . ', ' . $level1Name . ', ' . + 'N' . $this->quoteStringLiteral($level2Type) . ', ' . $level2Name; } /** @@ -936,7 +925,7 @@ class SQLServerPlatform extends AbstractPlatform */ public function getListTableForeignKeysSQL($table, $database = null) { - return "SELECT f.name AS ForeignKey, + return 'SELECT f.name AS ForeignKey, SCHEMA_NAME (f.SCHEMA_ID) AS SchemaName, OBJECT_NAME (f.parent_object_id) AS TableName, COL_NAME (fc.parent_object_id,fc.parent_column_id) AS ColumnName, @@ -949,7 +938,7 @@ class SQLServerPlatform extends AbstractPlatform INNER JOIN sys.foreign_key_columns AS fc INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id ON f.OBJECT_ID = fc.constraint_object_id - WHERE " . + WHERE ' . $this->getTableWhereClause($table, 'SCHEMA_NAME (f.schema_id)', 'OBJECT_NAME (f.parent_object_id)'); } @@ -972,8 +961,8 @@ class SQLServerPlatform extends AbstractPlatform JOIN sys.indexes AS idx ON tbl.object_id = idx.object_id JOIN sys.index_columns AS idxcol ON idx.object_id = idxcol.object_id AND idx.index_id = idxcol.index_id JOIN sys.columns AS col ON idxcol.object_id = col.object_id AND idxcol.column_id = col.column_id - WHERE " . $this->getTableWhereClause($table, 'scm.name', 'tbl.name') . " - ORDER BY idx.index_id ASC, idxcol.key_ordinal ASC"; + WHERE " . $this->getTableWhereClause($table, 'scm.name', 'tbl.name') . ' + ORDER BY idx.index_id ASC, idxcol.key_ordinal ASC'; } /** @@ -1003,16 +992,16 @@ class SQLServerPlatform extends AbstractPlatform */ private function getTableWhereClause($table, $schemaColumn, $tableColumn) { - if (strpos($table, ".") !== false) { - list($schema, $table) = explode(".", $table); - $schema = $this->quoteStringLiteral($schema); - $table = $this->quoteStringLiteral($table); + if (strpos($table, '.') !== false) { + [$schema, $table] = explode('.', $table); + $schema = $this->quoteStringLiteral($schema); + $table = $this->quoteStringLiteral($table); } else { - $schema = "SCHEMA_NAME()"; - $table = $this->quoteStringLiteral($table); + $schema = 'SCHEMA_NAME()'; + $table = $this->quoteStringLiteral($table); } - return "({$tableColumn} = {$table} AND {$schemaColumn} = {$schema})"; + return sprintf('(%s = %s AND %s = %s)', $tableColumn, $table, $schemaColumn, $schema); } /** @@ -1038,7 +1027,7 @@ class SQLServerPlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { + if ($startPos === false) { return 'CHARINDEX(' . $substr . ', ' . $str . ')'; } @@ -1058,7 +1047,7 @@ class SQLServerPlatform extends AbstractPlatform */ public function getTrimExpression($str, $pos = TrimMode::UNSPECIFIED, $char = false) { - if ( ! $char) { + if (! $char) { switch ($pos) { case TrimMode::LEADING: $trimFn = 'LTRIM'; @@ -1084,7 +1073,7 @@ class SQLServerPlatform extends AbstractPlatform , reverse(stuff(reverse(@c), 1, patindex(@pat, reverse(@c)) - 1, null)) as trim_trailing , reverse(stuff(reverse(stuff(@c, 1, patindex(@pat, @c) - 1, null)), 1, patindex(@pat, reverse(stuff(@c, 1, patindex(@pat, @c) - 1, null))) - 1, null)) as trim_both; */ - $pattern = "'%[^' + $char + ']%'"; + $pattern = "'%[^' + " . $char . " + ']%'"; if ($pos === TrimMode::LEADING) { return 'stuff(' . $str . ', 1, patindex(' . $pattern . ', ' . $str . ') - 1, null)'; @@ -1220,7 +1209,7 @@ class SQLServerPlatform extends AbstractPlatform */ protected function _getCommonIntegerTypeDeclarationSQL(array $columnDef) { - return (!empty($columnDef['autoincrement'])) ? ' IDENTITY' : ''; + return ! empty($columnDef['autoincrement']) ? ' IDENTITY' : ''; } /** @@ -1281,11 +1270,11 @@ class SQLServerPlatform extends AbstractPlatform // Even if the TOP n is very large, the use of a CTE will // allow the SQL Server query planner to optimize it so it doesn't // actually scan the entire range covered by the TOP clause. - $selectPattern = '/^(\s*SELECT\s+(?:DISTINCT\s+)?)(.*)$/im'; + $selectPattern = '/^(\s*SELECT\s+(?:DISTINCT\s+)?)(.*)$/im'; $replacePattern = sprintf('$1%s $2', $top); - $query = preg_replace($selectPattern, $replacePattern, $query); + $query = preg_replace($selectPattern, $replacePattern, $query); - if (stristr($query, "ORDER BY")) { + if (stristr($query, 'ORDER BY')) { // Inner order by is not valid in SQL Server for our purposes // unless it's in a TOP N subquery. $query = $this->scrubInnerOrderBy($query); @@ -1293,10 +1282,10 @@ class SQLServerPlatform extends AbstractPlatform // Build a new limited query around the original, using a CTE return sprintf( - "WITH dctrn_cte AS (%s) " - . "SELECT * FROM (" - . "SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS doctrine_rownum FROM dctrn_cte" - . ") AS doctrine_tbl " + 'WITH dctrn_cte AS (%s) ' + . 'SELECT * FROM (' + . 'SELECT *, ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS doctrine_rownum FROM dctrn_cte' + . ') AS doctrine_tbl ' . 'WHERE %s ORDER BY doctrine_rownum ASC', $query, implode(' AND ', $where) @@ -1308,11 +1297,12 @@ class SQLServerPlatform extends AbstractPlatform * Caveat: will leave ORDER BY in TOP N subqueries. * * @param string $query + * * @return string */ private function scrubInnerOrderBy($query) { - $count = substr_count(strtoupper($query), 'ORDER BY'); + $count = substr_count(strtoupper($query), 'ORDER BY'); $offset = 0; while ($count-- > 0) { @@ -1321,8 +1311,8 @@ class SQLServerPlatform extends AbstractPlatform break; } - $qLen = strlen($query); - $parenCount = 0; + $qLen = strlen($query); + $parenCount = 0; $currentPosition = $orderByPos; while ($parenCount >= 0 && $currentPosition < $qLen) { @@ -1342,10 +1332,12 @@ class SQLServerPlatform extends AbstractPlatform continue; } - if ($currentPosition < $qLen - 1) { - $query = substr($query, 0, $orderByPos) . substr($query, $currentPosition - 1); - $offset = $orderByPos; + if ($currentPosition >= $qLen - 1) { + continue; } + + $query = substr($query, 0, $orderByPos) . substr($query, $currentPosition - 1); + $offset = $orderByPos; } return $query; } @@ -1355,13 +1347,14 @@ class SQLServerPlatform extends AbstractPlatform * * @param string $query The query * @param int $currentPosition Start position of ORDER BY clause + * * @return bool true if ORDER BY is in a TOP N query, false otherwise */ private function isOrderByInTopNSubquery($query, $currentPosition) { // Grab query text on the same nesting level as the ORDER BY clause we're examining. $subQueryBuffer = ''; - $parenCount = 0; + $parenCount = 0; // If $parenCount goes negative, we've exited the subquery we're examining. // If $currentPosition goes negative, we've reached the beginning of the query. @@ -1396,12 +1389,14 @@ class SQLServerPlatform extends AbstractPlatform { if (is_array($item)) { foreach ($item as $key => $value) { - if (is_bool($value) || is_numeric($item)) { - $item[$key] = ($value) ? 1 : 0; + if (! is_bool($value) && ! is_numeric($item)) { + continue; } + + $item[$key] = $value ? 1 : 0; } } elseif (is_bool($item) || is_numeric($item)) { - $item = ($item) ? 1 : 0; + $item = $item ? 1 : 0; } return $item; @@ -1412,7 +1407,7 @@ class SQLServerPlatform extends AbstractPlatform */ public function getCreateTemporaryTableSnippetSQL() { - return "CREATE TABLE"; + return 'CREATE TABLE'; } /** @@ -1540,13 +1535,13 @@ class SQLServerPlatform extends AbstractPlatform public function appendLockHint($fromClause, $lockMode) { switch (true) { - case LockMode::NONE === $lockMode: + case $lockMode === LockMode::NONE: return $fromClause . ' WITH (NOLOCK)'; - case LockMode::PESSIMISTIC_READ === $lockMode: + case $lockMode === LockMode::PESSIMISTIC_READ: return $fromClause . ' WITH (HOLDLOCK, ROWLOCK)'; - case LockMode::PESSIMISTIC_WRITE === $lockMode: + case $lockMode === LockMode::PESSIMISTIC_WRITE: return $fromClause . ' WITH (UPDLOCK, ROWLOCK)'; default: @@ -1575,7 +1570,7 @@ class SQLServerPlatform extends AbstractPlatform */ public function quoteSingleIdentifier($str) { - return "[" . str_replace("]", "][", $str) . "]"; + return '[' . str_replace(']', '][', $str) . ']'; } /** @@ -1601,22 +1596,22 @@ class SQLServerPlatform extends AbstractPlatform */ public function getDefaultValueDeclarationSQL($field) { - if ( ! isset($field['default'])) { + if (! isset($field['default'])) { return empty($field['notnull']) ? ' NULL' : ''; } - if ( ! isset($field['type'])) { + if (! isset($field['type'])) { return " DEFAULT '" . $field['default'] . "'"; } $type = $field['type']; if ($type instanceof Types\PhpIntegerMappingType) { - return " DEFAULT " . $field['default']; + return ' DEFAULT ' . $field['default']; } if ($type instanceof Types\PhpDateTimeMappingType && $field['default'] === $this->getCurrentTimestampSQL()) { - return " DEFAULT " . $this->getCurrentTimestampSQL(); + return ' DEFAULT ' . $this->getCurrentTimestampSQL(); } if ($type instanceof Types\BooleanType) { @@ -1636,18 +1631,18 @@ class SQLServerPlatform extends AbstractPlatform if (isset($field['columnDefinition'])) { $columnDef = $this->getCustomTypeDeclarationSQL($field); } else { - $collation = (isset($field['collation']) && $field['collation']) ? + $collation = isset($field['collation']) && $field['collation'] ? ' ' . $this->getColumnCollationDeclarationSQL($field['collation']) : ''; - $notnull = (isset($field['notnull']) && $field['notnull']) ? ' NOT NULL' : ''; + $notnull = isset($field['notnull']) && $field['notnull'] ? ' NOT NULL' : ''; - $unique = (isset($field['unique']) && $field['unique']) ? + $unique = isset($field['unique']) && $field['unique'] ? ' ' . $this->getUniqueFieldDeclarationSQL() : ''; - $check = (isset($field['check']) && $field['check']) ? + $check = isset($field['check']) && $field['check'] ? ' ' . $field['check'] : ''; - $typeDecl = $field['type']->getSQLDeclaration($field, $this); + $typeDecl = $field['type']->getSQLDeclaration($field, $this); $columnDef = $typeDecl . $collation . $notnull . $unique . $check; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SqlitePlatform.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SqlitePlatform.php index 3c99e0f08..819421d34 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SqlitePlatform.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Platforms/SqlitePlatform.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Platforms; @@ -45,10 +28,6 @@ use function strtolower; * The SqlitePlatform class describes the specifics and dialects of the SQLite * database platform. * - * @since 2.0 - * @author Roman Borschel - * @author Benjamin Eberlei - * @author Martin Hasoň * @todo Rename: SQLitePlatform */ class SqlitePlatform extends AbstractPlatform @@ -95,7 +74,7 @@ class SqlitePlatform extends AbstractPlatform */ public function getTrimExpression($str, $pos = TrimMode::UNSPECIFIED, $char = false) { - $trimChar = ($char != false) ? (', ' . $char) : ''; + $trimChar = $char !== false ? (', ' . $char) : ''; switch ($pos) { case TrimMode::LEADING: @@ -132,11 +111,11 @@ class SqlitePlatform extends AbstractPlatform */ public function getLocateExpression($str, $substr, $startPos = false) { - if ($startPos == false) { - return 'LOCATE('.$str.', '.$substr.')'; + if ($startPos === false) { + return 'LOCATE(' . $str . ', ' . $substr . ')'; } - return 'LOCATE('.$str.', '.$substr.', '.$startPos.')'; + return 'LOCATE(' . $str . ', ' . $substr . ', ' . $startPos . ')'; } /** @@ -148,7 +127,7 @@ class SqlitePlatform extends AbstractPlatform case DateIntervalUnit::SECOND: case DateIntervalUnit::MINUTE: case DateIntervalUnit::HOUR: - return "DATETIME(" . $date . ",'" . $operator . $interval . " " . $unit . "')"; + return 'DATETIME(' . $date . ",'" . $operator . $interval . ' ' . $unit . "')"; default: switch ($unit) { @@ -167,7 +146,7 @@ class SqlitePlatform extends AbstractPlatform $interval = "' || " . $interval . " || '"; } - return "DATE(" . $date . ",'" . $operator . $interval . " " . $unit . "')"; + return 'DATE(' . $date . ",'" . $operator . $interval . ' ' . $unit . "')"; } } @@ -234,7 +213,7 @@ class SqlitePlatform extends AbstractPlatform public function getBigIntTypeDeclarationSQL(array $field) { // SQLite autoincrement is implicit for INTEGER PKs, but not for BIGINT fields. - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return $this->getIntegerTypeDeclarationSQL($field); } @@ -247,7 +226,7 @@ class SqlitePlatform extends AbstractPlatform public function getTinyIntTypeDeclarationSql(array $field) { // SQLite autoincrement is implicit for INTEGER PKs, but not for TINYINT fields. - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return $this->getIntegerTypeDeclarationSQL($field); } @@ -260,7 +239,7 @@ class SqlitePlatform extends AbstractPlatform public function getSmallIntTypeDeclarationSQL(array $field) { // SQLite autoincrement is implicit for INTEGER PKs, but not for SMALLINT fields. - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return $this->getIntegerTypeDeclarationSQL($field); } @@ -273,7 +252,7 @@ class SqlitePlatform extends AbstractPlatform public function getMediumIntTypeDeclarationSql(array $field) { // SQLite autoincrement is implicit for INTEGER PKs, but not for MEDIUMINT fields. - if ( ! empty($field['autoincrement'])) { + if (! empty($field['autoincrement'])) { return $this->getIntegerTypeDeclarationSQL($field); } @@ -310,7 +289,7 @@ class SqlitePlatform extends AbstractPlatform protected function _getCommonIntegerTypeDeclarationSQL(array $columnDef) { // sqlite autoincrement is only possible for the primary key - if ( ! empty($columnDef['autoincrement'])) { + if (! empty($columnDef['autoincrement'])) { return ' PRIMARY KEY AUTOINCREMENT'; } @@ -336,7 +315,7 @@ class SqlitePlatform extends AbstractPlatform */ protected function _getCreateTableSQL($name, array $columns, array $options = []) { - $name = str_replace('.', '__', $name); + $name = str_replace('.', '__', $name); $queryFields = $this->getColumnDeclarationListSQL($columns); if (isset($options['uniqueConstraints']) && ! empty($options['uniqueConstraints'])) { @@ -349,13 +328,13 @@ class SqlitePlatform extends AbstractPlatform if (isset($options['foreignKeys'])) { foreach ($options['foreignKeys'] as $foreignKey) { - $queryFields.= ', '.$this->getForeignKeyDeclarationSQL($foreignKey); + $queryFields .= ', ' . $this->getForeignKeyDeclarationSQL($foreignKey); } } $query = ['CREATE TABLE ' . $name . ' (' . $queryFields . ')']; - if (isset($options['alter']) && true === $options['alter']) { + if (isset($options['alter']) && $options['alter'] === true) { return $query; } @@ -444,9 +423,11 @@ class SqlitePlatform extends AbstractPlatform public function getListTableConstraintsSQL($table) { $table = str_replace('.', '__', $table); - $table = $this->quoteStringLiteral($table); - return "SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name = $table AND sql NOT NULL ORDER BY name"; + return sprintf( + "SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name = %s AND sql NOT NULL ORDER BY name", + $this->quoteStringLiteral($table) + ); } /** @@ -455,9 +436,8 @@ class SqlitePlatform extends AbstractPlatform public function getListTableColumnsSQL($table, $currentDatabase = null) { $table = str_replace('.', '__', $table); - $table = $this->quoteStringLiteral($table); - return "PRAGMA table_info($table)"; + return sprintf('PRAGMA table_info(%s)', $this->quoteStringLiteral($table)); } /** @@ -466,9 +446,8 @@ class SqlitePlatform extends AbstractPlatform public function getListTableIndexesSQL($table, $currentDatabase = null) { $table = str_replace('.', '__', $table); - $table = $this->quoteStringLiteral($table); - return "PRAGMA index_list($table)"; + return sprintf('PRAGMA index_list(%s)', $this->quoteStringLiteral($table)); } /** @@ -477,7 +456,7 @@ class SqlitePlatform extends AbstractPlatform public function getListTablesSQL() { return "SELECT name FROM sqlite_master WHERE type = 'table' AND name != 'sqlite_sequence' AND name != 'geometry_columns' AND name != 'spatial_ref_sys' " - . "UNION ALL SELECT name FROM sqlite_temp_master " + . 'UNION ALL SELECT name FROM sqlite_temp_master ' . "WHERE type = 'table' ORDER BY name"; } @@ -502,7 +481,7 @@ class SqlitePlatform extends AbstractPlatform */ public function getDropViewSQL($name) { - return 'DROP VIEW '. $name; + return 'DROP VIEW ' . $name; } /** @@ -512,8 +491,8 @@ class SqlitePlatform extends AbstractPlatform { $query = parent::getAdvancedForeignKeyOptionsSQL($foreignKey); - $query .= (($foreignKey->hasOption('deferrable') && $foreignKey->getOption('deferrable') !== false) ? ' ' : ' NOT ') . 'DEFERRABLE'; - $query .= ' INITIALLY ' . (($foreignKey->hasOption('deferred') && $foreignKey->getOption('deferred') !== false) ? 'DEFERRED' : 'IMMEDIATE'); + $query .= ($foreignKey->hasOption('deferrable') && $foreignKey->getOption('deferrable') !== false ? ' ' : ' NOT ') . 'DEFERRABLE'; + $query .= ' INITIALLY ' . ($foreignKey->hasOption('deferred') && $foreignKey->getOption('deferred') !== false ? 'DEFERRED' : 'IMMEDIATE'); return $query; } @@ -556,7 +535,7 @@ class SqlitePlatform extends AbstractPlatform public function getTruncateTableSQL($tableName, $cascade = false) { $tableIdentifier = new Identifier($tableName); - $tableName = str_replace('.', '__', $tableIdentifier->getQuotedName($this)); + $tableName = str_replace('.', '__', $tableIdentifier->getQuotedName($this)); return 'DELETE FROM ' . $tableName; } @@ -583,7 +562,7 @@ class SqlitePlatform extends AbstractPlatform */ public static function udfMod($a, $b) { - return ($a % $b); + return $a % $b; } /** @@ -680,15 +659,17 @@ class SqlitePlatform extends AbstractPlatform */ protected function getPreAlterTableIndexForeignKeySQL(TableDiff $diff) { - if ( ! $diff->fromTable instanceof Table) { + if (! $diff->fromTable instanceof Table) { throw new DBALException('Sqlite platform requires for alter table the table diff with reference to original table schema'); } $sql = []; foreach ($diff->fromTable->getIndexes() as $index) { - if ( ! $index->isPrimary()) { - $sql[] = $this->getDropIndexSQL($index, $diff->name); + if ($index->isPrimary()) { + continue; } + + $sql[] = $this->getDropIndexSQL($index, $diff->name); } return $sql; @@ -699,11 +680,11 @@ class SqlitePlatform extends AbstractPlatform */ protected function getPostAlterTableIndexForeignKeySQL(TableDiff $diff) { - if ( ! $diff->fromTable instanceof Table) { + if (! $diff->fromTable instanceof Table) { throw new DBALException('Sqlite platform requires for alter table the table diff with reference to original table schema'); } - $sql = []; + $sql = []; $tableName = $diff->newName ? $diff->getNewName(): $diff->getName($this); foreach ($this->getIndexesInAlteredTable($diff) as $index) { if ($index->isPrimary()) { @@ -816,9 +797,8 @@ class SqlitePlatform extends AbstractPlatform public function getListTableForeignKeysSQL($table, $database = null) { $table = str_replace('.', '__', $table); - $table = $this->quoteStringLiteral($table); - return "PRAGMA foreign_key_list($table)"; + return sprintf('PRAGMA foreign_key_list(%s)', $this->quoteStringLiteral($table)); } /** @@ -827,25 +807,25 @@ class SqlitePlatform extends AbstractPlatform public function getAlterTableSQL(TableDiff $diff) { $sql = $this->getSimpleAlterTableSQL($diff); - if (false !== $sql) { + if ($sql !== false) { return $sql; } $fromTable = $diff->fromTable; - if ( ! $fromTable instanceof Table) { + if (! $fromTable instanceof Table) { throw new DBALException('Sqlite platform requires for alter table the table diff with reference to original table schema'); } $table = clone $fromTable; - $columns = []; + $columns = []; $oldColumnNames = []; $newColumnNames = []; - $columnSql = []; + $columnSql = []; foreach ($table->getColumns() as $columnName => $column) { - $columnName = strtolower($columnName); - $columns[$columnName] = $column; + $columnName = strtolower($columnName); + $columns[$columnName] = $column; $oldColumnNames[$columnName] = $newColumnNames[$columnName] = $column->getQuotedName($this); } @@ -855,13 +835,15 @@ class SqlitePlatform extends AbstractPlatform } $columnName = strtolower($columnName); - if (isset($columns[$columnName])) { - unset( - $columns[$columnName], - $oldColumnNames[$columnName], - $newColumnNames[$columnName] - ); + if (! isset($columns[$columnName])) { + continue; } + + unset( + $columns[$columnName], + $oldColumnNames[$columnName], + $newColumnNames[$columnName] + ); } foreach ($diff->renamedColumns as $oldColumnName => $column) { @@ -876,9 +858,11 @@ class SqlitePlatform extends AbstractPlatform $columns[strtolower($column->getName())] = $column; - if (isset($newColumnNames[$oldColumnName])) { - $newColumnNames[$oldColumnName] = $column->getQuotedName($this); + if (! isset($newColumnNames[$oldColumnName])) { + continue; } + + $newColumnNames[$oldColumnName] = $column->getQuotedName($this); } foreach ($diff->changedColumns as $oldColumnName => $columnDiff) { @@ -892,9 +876,11 @@ class SqlitePlatform extends AbstractPlatform $columns[strtolower($columnDiff->column->getName())] = $columnDiff->column; - if (isset($newColumnNames[$oldColumnName])) { - $newColumnNames[$oldColumnName] = $columnDiff->column->getQuotedName($this); + if (! isset($newColumnNames[$oldColumnName])) { + continue; } + + $newColumnNames[$oldColumnName] = $columnDiff->column->getQuotedName($this); } foreach ($diff->addedColumns as $columnName => $column) { @@ -905,10 +891,10 @@ class SqlitePlatform extends AbstractPlatform $columns[strtolower($columnName)] = $column; } - $sql = []; + $sql = []; $tableSql = []; - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { - $dataTable = new Table('__temp__'.$table->getName()); + if (! $this->onSchemaAlterTable($diff, $tableSql)) { + $dataTable = new Table('__temp__' . $table->getName()); $newTable = new Table($table->getQuotedName($this), $columns, $this->getPrimaryIndexInAlteredTable($diff), $this->getForeignKeysInAlteredTable($diff), 0, $table->getOptions()); $newTable->addOption('alter', true); @@ -918,13 +904,13 @@ class SqlitePlatform extends AbstractPlatform $sql[] = sprintf('CREATE TEMPORARY TABLE %s AS SELECT %s FROM %s', $dataTable->getQuotedName($this), implode(', ', $oldColumnNames), $table->getQuotedName($this)); $sql[] = $this->getDropTableSQL($fromTable); - $sql = array_merge($sql, $this->getCreateTableSQL($newTable)); + $sql = array_merge($sql, $this->getCreateTableSQL($newTable)); $sql[] = sprintf('INSERT INTO %s (%s) SELECT %s FROM %s', $newTable->getQuotedName($this), implode(', ', $newColumnNames), implode(', ', $oldColumnNames), $dataTable->getQuotedName($this)); $sql[] = $this->getDropTableSQL($dataTable); - if ($diff->newName && $diff->newName != $diff->name) { + if ($diff->newName && $diff->newName !== $diff->name) { $renamedTable = $diff->getNewName(); - $sql[] = 'ALTER TABLE '.$newTable->getQuotedName($this).' RENAME TO '.$renamedTable->getQuotedName($this); + $sql[] = 'ALTER TABLE ' . $newTable->getQuotedName($this) . ' RENAME TO ' . $renamedTable->getQuotedName($this); } $sql = array_merge($sql, $this->getPostAlterTableIndexForeignKeySQL($diff)); @@ -934,15 +920,13 @@ class SqlitePlatform extends AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * * @return string[]|false */ private function getSimpleAlterTableSQL(TableDiff $diff) { // Suppress changes on integer type autoincrement columns. foreach ($diff->changedColumns as $oldColumnName => $columnDiff) { - if ( ! $columnDiff->fromColumn instanceof Column || + if (! $columnDiff->fromColumn instanceof Column || ! $columnDiff->column instanceof Column || ! $columnDiff->column->getAutoincrement() || ! $columnDiff->column->getType() instanceof Types\IntegerType @@ -950,7 +934,7 @@ class SqlitePlatform extends AbstractPlatform continue; } - if ( ! $columnDiff->hasChanged('type') && $columnDiff->hasChanged('unsigned')) { + if (! $columnDiff->hasChanged('type') && $columnDiff->hasChanged('unsigned')) { unset($diff->changedColumns[$oldColumnName]); continue; @@ -958,12 +942,14 @@ class SqlitePlatform extends AbstractPlatform $fromColumnType = $columnDiff->fromColumn->getType(); - if ($fromColumnType instanceof Types\SmallIntType || $fromColumnType instanceof Types\BigIntType) { - unset($diff->changedColumns[$oldColumnName]); + if (! ($fromColumnType instanceof Types\SmallIntType) && ! ($fromColumnType instanceof Types\BigIntType)) { + continue; } + + unset($diff->changedColumns[$oldColumnName]); } - if ( ! empty($diff->renamedColumns) || ! empty($diff->addedForeignKeys) || ! empty($diff->addedIndexes) + if (! empty($diff->renamedColumns) || ! empty($diff->addedForeignKeys) || ! empty($diff->addedIndexes) || ! empty($diff->changedColumns) || ! empty($diff->changedForeignKeys) || ! empty($diff->changedIndexes) || ! empty($diff->removedColumns) || ! empty($diff->removedForeignKeys) || ! empty($diff->removedIndexes) || ! empty($diff->renamedIndexes) @@ -973,8 +959,8 @@ class SqlitePlatform extends AbstractPlatform $table = new Table($diff->name); - $sql = []; - $tableSql = []; + $sql = []; + $tableSql = []; $columnSql = []; foreach ($diff->addedColumns as $column) { @@ -983,12 +969,12 @@ class SqlitePlatform extends AbstractPlatform } $field = array_merge(['unique' => null, 'autoincrement' => null, 'default' => null], $column->toArray()); - $type = $field['type']; + $type = $field['type']; switch (true) { case isset($field['columnDefinition']) || $field['autoincrement'] || $field['unique']: - case $type instanceof Types\DateTimeType && $field['default'] == $this->getCurrentTimestampSQL(): - case $type instanceof Types\DateType && $field['default'] == $this->getCurrentDateSQL(): - case $type instanceof Types\TimeType && $field['default'] == $this->getCurrentTimeSQL(): + case $type instanceof Types\DateTimeType && $field['default'] === $this->getCurrentTimestampSQL(): + case $type instanceof Types\DateType && $field['default'] === $this->getCurrentDateSQL(): + case $type instanceof Types\TimeType && $field['default'] === $this->getCurrentTimeSQL(): return false; } @@ -997,13 +983,13 @@ class SqlitePlatform extends AbstractPlatform $field['length'] = 255; } - $sql[] = 'ALTER TABLE '.$table->getQuotedName($this).' ADD COLUMN '.$this->getColumnDeclarationSQL($field['name'], $field); + $sql[] = 'ALTER TABLE ' . $table->getQuotedName($this) . ' ADD COLUMN ' . $this->getColumnDeclarationSQL($field['name'], $field); } - if ( ! $this->onSchemaAlterTable($diff, $tableSql)) { + if (! $this->onSchemaAlterTable($diff, $tableSql)) { if ($diff->newName !== false) { $newTable = new Identifier($diff->newName); - $sql[] = 'ALTER TABLE '.$table->getQuotedName($this).' RENAME TO '.$newTable->getQuotedName($this); + $sql[] = 'ALTER TABLE ' . $table->getQuotedName($this) . ' RENAME TO ' . $newTable->getQuotedName($this); } } @@ -1011,9 +997,7 @@ class SqlitePlatform extends AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return string[] */ private function getColumnNamesInAlteredTable(TableDiff $diff) { @@ -1025,21 +1009,23 @@ class SqlitePlatform extends AbstractPlatform foreach ($diff->removedColumns as $columnName => $column) { $columnName = strtolower($columnName); - if (isset($columns[$columnName])) { - unset($columns[$columnName]); + if (! isset($columns[$columnName])) { + continue; } + + unset($columns[$columnName]); } foreach ($diff->renamedColumns as $oldColumnName => $column) { - $columnName = $column->getName(); + $columnName = $column->getName(); $columns[strtolower($oldColumnName)] = $columnName; - $columns[strtolower($columnName)] = $columnName; + $columns[strtolower($columnName)] = $columnName; } foreach ($diff->changedColumns as $oldColumnName => $columnDiff) { - $columnName = $columnDiff->column->getName(); + $columnName = $columnDiff->column->getName(); $columns[strtolower($oldColumnName)] = $columnName; - $columns[strtolower($columnName)] = $columnName; + $columns[strtolower($columnName)] = $columnName; } foreach ($diff->addedColumns as $columnName => $column) { @@ -1050,27 +1036,27 @@ class SqlitePlatform extends AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return \Doctrine\DBAL\Schema\Index[] + * @return Index[] */ private function getIndexesInAlteredTable(TableDiff $diff) { - $indexes = $diff->fromTable->getIndexes(); + $indexes = $diff->fromTable->getIndexes(); $columnNames = $this->getColumnNamesInAlteredTable($diff); foreach ($indexes as $key => $index) { foreach ($diff->renamedIndexes as $oldIndexName => $renamedIndex) { - if (strtolower($key) === strtolower($oldIndexName)) { - unset($indexes[$key]); + if (strtolower($key) !== strtolower($oldIndexName)) { + continue; } + + unset($indexes[$key]); } - $changed = false; + $changed = false; $indexColumns = []; foreach ($index->getColumns() as $columnName) { $normalizedColumnName = strtolower($columnName); - if ( ! isset($columnNames[$normalizedColumnName])) { + if (! isset($columnNames[$normalizedColumnName])) { unset($indexes[$key]); continue 2; } else { @@ -1081,16 +1067,20 @@ class SqlitePlatform extends AbstractPlatform } } - if ($changed) { - $indexes[$key] = new Index($index->getName(), $indexColumns, $index->isUnique(), $index->isPrimary(), $index->getFlags()); + if (! $changed) { + continue; } + + $indexes[$key] = new Index($index->getName(), $indexColumns, $index->isUnique(), $index->isPrimary(), $index->getFlags()); } foreach ($diff->removedIndexes as $index) { $indexName = strtolower($index->getName()); - if (strlen($indexName) && isset($indexes[$indexName])) { - unset($indexes[$indexName]); + if (! strlen($indexName) || ! isset($indexes[$indexName])) { + continue; } + + unset($indexes[$indexName]); } foreach (array_merge($diff->changedIndexes, $diff->addedIndexes, $diff->renamedIndexes) as $index) { @@ -1106,9 +1096,7 @@ class SqlitePlatform extends AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return ForeignKeyConstraint[] */ private function getForeignKeysInAlteredTable(TableDiff $diff) { @@ -1116,11 +1104,11 @@ class SqlitePlatform extends AbstractPlatform $columnNames = $this->getColumnNamesInAlteredTable($diff); foreach ($foreignKeys as $key => $constraint) { - $changed = false; + $changed = false; $localColumns = []; foreach ($constraint->getLocalColumns() as $columnName) { $normalizedColumnName = strtolower($columnName); - if ( ! isset($columnNames[$normalizedColumnName])) { + if (! isset($columnNames[$normalizedColumnName])) { unset($foreignKeys[$key]); continue 2; } else { @@ -1131,16 +1119,20 @@ class SqlitePlatform extends AbstractPlatform } } - if ($changed) { - $foreignKeys[$key] = new ForeignKeyConstraint($localColumns, $constraint->getForeignTableName(), $constraint->getForeignColumns(), $constraint->getName(), $constraint->getOptions()); + if (! $changed) { + continue; } + + $foreignKeys[$key] = new ForeignKeyConstraint($localColumns, $constraint->getForeignTableName(), $constraint->getForeignColumns(), $constraint->getName(), $constraint->getOptions()); } foreach ($diff->removedForeignKeys as $constraint) { $constraintName = strtolower($constraint->getName()); - if (strlen($constraintName) && isset($foreignKeys[$constraintName])) { - unset($foreignKeys[$constraintName]); + if (! strlen($constraintName) || ! isset($foreignKeys[$constraintName])) { + continue; } + + unset($foreignKeys[$constraintName]); } foreach (array_merge($diff->changedForeignKeys, $diff->addedForeignKeys) as $constraint) { @@ -1156,18 +1148,18 @@ class SqlitePlatform extends AbstractPlatform } /** - * @param \Doctrine\DBAL\Schema\TableDiff $diff - * - * @return array + * @return Index[] */ private function getPrimaryIndexInAlteredTable(TableDiff $diff) { $primaryIndex = []; foreach ($this->getIndexesInAlteredTable($diff) as $index) { - if ($index->isPrimary()) { - $primaryIndex = [$index->getName() => $index]; + if (! $index->isPrimary()) { + continue; } + + $primaryIndex = [$index->getName() => $index]; } return $primaryIndex; diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Connection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Connection.php index 723a333bb..32186dcb0 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Connection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Connection.php @@ -1,62 +1,39 @@ . - */ namespace Doctrine\DBAL\Portability; use Doctrine\DBAL\Cache\QueryCacheProfile; use Doctrine\DBAL\ColumnCase; +use Doctrine\DBAL\Driver\PDOConnection; +use PDO; use const CASE_LOWER; use const CASE_UPPER; use function func_get_args; /** * Portability wrapper for a Connection. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Connection extends \Doctrine\DBAL\Connection { - const PORTABILITY_ALL = 255; - const PORTABILITY_NONE = 0; - const PORTABILITY_RTRIM = 1; - const PORTABILITY_EMPTY_TO_NULL = 4; - const PORTABILITY_FIX_CASE = 8; + public const PORTABILITY_ALL = 255; + public const PORTABILITY_NONE = 0; + public const PORTABILITY_RTRIM = 1; + public const PORTABILITY_EMPTY_TO_NULL = 4; + public const PORTABILITY_FIX_CASE = 8; - const PORTABILITY_DB2 = 13; - const PORTABILITY_ORACLE = 9; - const PORTABILITY_POSTGRESQL = 13; - const PORTABILITY_SQLITE = 13; - const PORTABILITY_OTHERVENDORS = 12; - const PORTABILITY_DRIZZLE = 13; - const PORTABILITY_SQLANYWHERE = 13; - const PORTABILITY_SQLSRV = 13; + public const PORTABILITY_DB2 = 13; + public const PORTABILITY_ORACLE = 9; + public const PORTABILITY_POSTGRESQL = 13; + public const PORTABILITY_SQLITE = 13; + public const PORTABILITY_OTHERVENDORS = 12; + public const PORTABILITY_DRIZZLE = 13; + public const PORTABILITY_SQLANYWHERE = 13; + public const PORTABILITY_SQLSRV = 13; - /** - * @var int - */ + /** @var int */ private $portability = self::PORTABILITY_NONE; - /** - * @var int - */ + /** @var int */ private $case; /** @@ -68,32 +45,32 @@ class Connection extends \Doctrine\DBAL\Connection if ($ret) { $params = $this->getParams(); if (isset($params['portability'])) { - if ($this->getDatabasePlatform()->getName() === "oracle") { - $params['portability'] = $params['portability'] & self::PORTABILITY_ORACLE; - } elseif ($this->getDatabasePlatform()->getName() === "postgresql") { - $params['portability'] = $params['portability'] & self::PORTABILITY_POSTGRESQL; - } elseif ($this->getDatabasePlatform()->getName() === "sqlite") { - $params['portability'] = $params['portability'] & self::PORTABILITY_SQLITE; - } elseif ($this->getDatabasePlatform()->getName() === "drizzle") { - $params['portability'] = $params['portability'] & self::PORTABILITY_DRIZZLE; + if ($this->getDatabasePlatform()->getName() === 'oracle') { + $params['portability'] &= self::PORTABILITY_ORACLE; + } elseif ($this->getDatabasePlatform()->getName() === 'postgresql') { + $params['portability'] &= self::PORTABILITY_POSTGRESQL; + } elseif ($this->getDatabasePlatform()->getName() === 'sqlite') { + $params['portability'] &= self::PORTABILITY_SQLITE; + } elseif ($this->getDatabasePlatform()->getName() === 'drizzle') { + $params['portability'] &= self::PORTABILITY_DRIZZLE; } elseif ($this->getDatabasePlatform()->getName() === 'sqlanywhere') { - $params['portability'] = $params['portability'] & self::PORTABILITY_SQLANYWHERE; + $params['portability'] &= self::PORTABILITY_SQLANYWHERE; } elseif ($this->getDatabasePlatform()->getName() === 'db2') { - $params['portability'] = $params['portability'] & self::PORTABILITY_DB2; + $params['portability'] &= self::PORTABILITY_DB2; } elseif ($this->getDatabasePlatform()->getName() === 'mssql') { - $params['portability'] = $params['portability'] & self::PORTABILITY_SQLSRV; + $params['portability'] &= self::PORTABILITY_SQLSRV; } else { - $params['portability'] = $params['portability'] & self::PORTABILITY_OTHERVENDORS; + $params['portability'] &= self::PORTABILITY_OTHERVENDORS; } $this->portability = $params['portability']; } if (isset($params['fetch_case']) && $this->portability & self::PORTABILITY_FIX_CASE) { - if ($this->_conn instanceof \Doctrine\DBAL\Driver\PDOConnection) { + if ($this->_conn instanceof PDOConnection) { // make use of c-level support for case handling - $this->_conn->setAttribute(\PDO::ATTR_CASE, $params['fetch_case']); + $this->_conn->setAttribute(PDO::ATTR_CASE, $params['fetch_case']); } else { - $this->case = ($params['fetch_case'] === ColumnCase::LOWER) ? CASE_LOWER : CASE_UPPER; + $this->case = $params['fetch_case'] === ColumnCase::LOWER ? CASE_LOWER : CASE_UPPER; } } } @@ -120,7 +97,7 @@ class Connection extends \Doctrine\DBAL\Connection /** * {@inheritdoc} */ - public function executeQuery($query, array $params = [], $types = [], QueryCacheProfile $qcp = null) + public function executeQuery($query, array $params = [], $types = [], ?QueryCacheProfile $qcp = null) { $stmt = new Statement(parent::executeQuery($query, $params, $types, $qcp), $this); $stmt->setFetchMode($this->defaultFetchMode); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Statement.php index d8826f2d2..1499ff1bf 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Portability/Statement.php @@ -1,72 +1,44 @@ . - */ namespace Doctrine\DBAL\Portability; +use Doctrine\DBAL\Driver\Statement as DriverStatement; use Doctrine\DBAL\Driver\StatementIterator; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\ParameterType; +use IteratorAggregate; +use PDO; use function array_change_key_case; -use function is_null; use function is_string; use function rtrim; /** * Portability wrapper for a Statement. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ -class Statement implements \IteratorAggregate, \Doctrine\DBAL\Driver\Statement +class Statement implements IteratorAggregate, DriverStatement { - /** - * @var int - */ + /** @var int */ private $portability; - /** - * @var \Doctrine\DBAL\Driver\Statement - */ + /** @var DriverStatement */ private $stmt; - /** - * @var int - */ + /** @var int */ private $case; - /** - * @var int - */ + /** @var int */ private $defaultFetchMode = FetchMode::MIXED; /** * Wraps Statement and applies portability measures. * - * @param \Doctrine\DBAL\Driver\Statement $stmt - * @param \Doctrine\DBAL\Portability\Connection $conn + * @param DriverStatement $stmt */ public function __construct($stmt, Connection $conn) { - $this->stmt = $stmt; + $this->stmt = $stmt; $this->portability = $conn->getPortability(); - $this->case = $conn->getFetchCase(); + $this->case = $conn->getFetchCase(); } /** @@ -146,7 +118,7 @@ class Statement implements \IteratorAggregate, \Doctrine\DBAL\Driver\Statement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { $fetchMode = $fetchMode ?: $this->defaultFetchMode; @@ -180,7 +152,7 @@ class Statement implements \IteratorAggregate, \Doctrine\DBAL\Driver\Statement && ($fetchMode === FetchMode::ASSOCIATIVE || $fetchMode === FetchMode::MIXED) && ($this->portability & Connection::PORTABILITY_FIX_CASE); - if ( ! $iterateRow && !$fixCase) { + if (! $iterateRow && ! $fixCase) { return $rows; } @@ -208,11 +180,11 @@ class Statement implements \IteratorAggregate, \Doctrine\DBAL\Driver\Statement * @param int $iterateRow * @param bool $fixCase * - * @return array + * @return mixed */ protected function fixRow($row, $iterateRow, $fixCase) { - if ( ! $row) { + if (! $row) { return $row; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/CompositeExpression.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/CompositeExpression.php index 00802a44e..443d71bc3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/CompositeExpression.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/CompositeExpression.php @@ -1,46 +1,25 @@ . - */ namespace Doctrine\DBAL\Query\Expression; +use Countable; use function count; use function implode; /** * Composite expression is responsible to build a group of similar expression. - * - * @link www.doctrine-project.org - * @since 2.1 - * @author Guilherme Blanco - * @author Benjamin Eberlei */ -class CompositeExpression implements \Countable +class CompositeExpression implements Countable { /** * Constant that represents an AND composite expression. */ - const TYPE_AND = 'AND'; + public const TYPE_AND = 'AND'; /** * Constant that represents an OR composite expression. */ - const TYPE_OR = 'OR'; + public const TYPE_OR = 'OR'; /** * The instance type of composite expression. @@ -52,15 +31,13 @@ class CompositeExpression implements \Countable /** * Each expression part of the composite expression. * - * @var array + * @var self[]|string[] */ private $parts = []; /** - * Constructor. - * - * @param string $type Instance type of composite expression. - * @param array $parts Composition of expressions to be joined on composite expression. + * @param string $type Instance type of composite expression. + * @param self[]|string[] $parts Composition of expressions to be joined on composite expression. */ public function __construct($type, array $parts = []) { @@ -72,7 +49,7 @@ class CompositeExpression implements \Countable /** * Adds multiple parts to composite expression. * - * @param array $parts + * @param self[]|string[] $parts * * @return \Doctrine\DBAL\Query\Expression\CompositeExpression */ @@ -98,7 +75,7 @@ class CompositeExpression implements \Countable return $this; } - if ($part instanceof self && 0 === count($part)) { + if ($part instanceof self && count($part) === 0) { return $this; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php index 1ee724847..91f370aec 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/Expression/ExpressionBuilder.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Query\Expression; @@ -28,32 +11,27 @@ use function sprintf; /** * ExpressionBuilder class is responsible to dynamically create SQL query parts. - * - * @link www.doctrine-project.org - * @since 2.1 - * @author Guilherme Blanco - * @author Benjamin Eberlei */ class ExpressionBuilder { - const EQ = '='; - const NEQ = '<>'; - const LT = '<'; - const LTE = '<='; - const GT = '>'; - const GTE = '>='; + public const EQ = '='; + public const NEQ = '<>'; + public const LT = '<'; + public const LTE = '<='; + public const GT = '>'; + public const GTE = '>='; /** * The DBAL Connection. * - * @var \Doctrine\DBAL\Connection + * @var Connection */ private $connection; /** * Initializes a new ExpressionBuilder. * - * @param \Doctrine\DBAL\Connection $connection The DBAL Connection. + * @param Connection $connection The DBAL Connection. */ public function __construct(Connection $connection) { @@ -72,7 +50,7 @@ class ExpressionBuilder * @param mixed $x Optional clause. Defaults = null, but requires * at least one defined when converting to string. * - * @return \Doctrine\DBAL\Query\Expression\CompositeExpression + * @return CompositeExpression */ public function andX($x = null) { @@ -91,7 +69,7 @@ class ExpressionBuilder * @param mixed $x Optional clause. Defaults = null, but requires * at least one defined when converting to string. * - * @return \Doctrine\DBAL\Query\Expression\CompositeExpression + * @return CompositeExpression */ public function orX($x = null) { @@ -282,27 +260,27 @@ class ExpressionBuilder /** * Creates a IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by IN() comparison. + * @param string $x The field in string format to be inspected by IN() comparison. + * @param string|string[] $y The placeholder or the array of values to be used by IN() comparison. * * @return string */ public function in($x, $y) { - return $this->comparison($x, 'IN', '('.implode(', ', (array) $y).')'); + return $this->comparison($x, 'IN', '(' . implode(', ', (array) $y) . ')'); } /** * Creates a NOT IN () comparison expression with the given arguments. * - * @param string $x The field in string format to be inspected by NOT IN() comparison. - * @param string|array $y The placeholder or the array of values to be used by NOT IN() comparison. + * @param string $x The field in string format to be inspected by NOT IN() comparison. + * @param string|string[] $y The placeholder or the array of values to be used by NOT IN() comparison. * * @return string */ public function notIn($x, $y) { - return $this->comparison($x, 'NOT IN', '('.implode(', ', (array) $y).')'); + return $this->comparison($x, 'NOT IN', '(' . implode(', ', (array) $y) . ')'); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php index 8a69806b3..12584d960 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php @@ -1,27 +1,12 @@ . - */ namespace Doctrine\DBAL\Query; +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Driver\Statement; use Doctrine\DBAL\ParameterType; use Doctrine\DBAL\Query\Expression\CompositeExpression; -use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Query\Expression\ExpressionBuilder; use function array_key_exists; use function array_keys; use function array_unshift; @@ -29,7 +14,6 @@ use function func_get_args; use function func_num_args; use function implode; use function is_array; -use function is_null; use function is_object; use function key; use function strtoupper; @@ -44,37 +28,34 @@ use function substr; * The query builder does no validation whatsoever if certain features even work with the * underlying database vendor. Limit queries and joins are NOT applied to UPDATE and DELETE statements * even if some vendors such as MySQL support it. - * - * @link www.doctrine-project.org - * @since 2.1 - * @author Guilherme Blanco - * @author Benjamin Eberlei */ class QueryBuilder { /* * The query types. */ - const SELECT = 0; - const DELETE = 1; - const UPDATE = 2; - const INSERT = 3; + public const SELECT = 0; + public const DELETE = 1; + public const UPDATE = 2; + public const INSERT = 3; /* * The builder states. */ - const STATE_DIRTY = 0; - const STATE_CLEAN = 1; + public const STATE_DIRTY = 0; + public const STATE_CLEAN = 1; /** * The DBAL Connection. * - * @var \Doctrine\DBAL\Connection + * @var Connection */ private $connection; /** - * @var array The array of SQL parts collected. + * The array of SQL parts collected. + * + * @var mixed[] */ private $sqlParts = [ 'select' => [], @@ -98,14 +79,14 @@ class QueryBuilder /** * The query parameters. * - * @var array + * @var mixed[] */ private $params = []; /** * The parameter type map of this query. * - * @var array + * @var int[]|string[] */ private $paramTypes = []; @@ -147,7 +128,7 @@ class QueryBuilder /** * Initializes a new QueryBuilder. * - * @param \Doctrine\DBAL\Connection $connection The DBAL Connection. + * @param Connection $connection The DBAL Connection. */ public function __construct(Connection $connection) { @@ -168,7 +149,7 @@ class QueryBuilder * For more complex expression construction, consider storing the expression * builder object in a local variable. * - * @return \Doctrine\DBAL\Query\Expression\ExpressionBuilder + * @return ExpressionBuilder */ public function expr() { @@ -188,7 +169,7 @@ class QueryBuilder /** * Gets the associated DBAL Connection for this query builder. * - * @return \Doctrine\DBAL\Connection + * @return Connection */ public function getConnection() { @@ -211,11 +192,11 @@ class QueryBuilder * Uses {@see Connection::executeQuery} for select statements and {@see Connection::executeUpdate} * for insert, update and delete statements. * - * @return \Doctrine\DBAL\Driver\Statement|int + * @return Statement|int */ public function execute() { - if ($this->type == self::SELECT) { + if ($this->type === self::SELECT) { return $this->connection->executeQuery($this->getSQL(), $this->params, $this->paramTypes); } @@ -259,7 +240,7 @@ class QueryBuilder } $this->state = self::STATE_CLEAN; - $this->sql = $sql; + $this->sql = $sql; return $sql; } @@ -306,15 +287,15 @@ class QueryBuilder * )); * * - * @param array $params The query parameters to set. - * @param array $types The query parameters types to set. + * @param mixed[] $params The query parameters to set. + * @param int[]|string[] $types The query parameters types to set. * * @return $this This QueryBuilder instance. */ public function setParameters(array $params, array $types = []) { $this->paramTypes = $types; - $this->params = $params; + $this->params = $params; return $this; } @@ -322,7 +303,7 @@ class QueryBuilder /** * Gets all defined query parameters for the query being constructed indexed by parameter index or name. * - * @return array The currently defined query parameters indexed by parameter index or name. + * @return mixed[] The currently defined query parameters indexed by parameter index or name. */ public function getParameters() { @@ -344,7 +325,7 @@ class QueryBuilder /** * Gets all defined query parameter types for the query being constructed indexed by parameter index or name. * - * @return array The currently defined query parameter types indexed by parameter index or name. + * @return int[]|string[] The currently defined query parameter types indexed by parameter index or name. */ public function getParameterTypes() { @@ -372,7 +353,7 @@ class QueryBuilder */ public function setFirstResult($firstResult) { - $this->state = self::STATE_DIRTY; + $this->state = self::STATE_DIRTY; $this->firstResult = $firstResult; return $this; @@ -398,7 +379,7 @@ class QueryBuilder */ public function setMaxResults($maxResults) { - $this->state = self::STATE_DIRTY; + $this->state = self::STATE_DIRTY; $this->maxResults = $maxResults; return $this; @@ -429,22 +410,22 @@ class QueryBuilder */ public function add($sqlPartName, $sqlPart, $append = false) { - $isArray = is_array($sqlPart); + $isArray = is_array($sqlPart); $isMultiple = is_array($this->sqlParts[$sqlPartName]); - if ($isMultiple && !$isArray) { + if ($isMultiple && ! $isArray) { $sqlPart = [$sqlPart]; } $this->state = self::STATE_DIRTY; if ($append) { - if ($sqlPartName == "orderBy" || $sqlPartName == "groupBy" || $sqlPartName == "select" || $sqlPartName == "set") { + if ($sqlPartName === 'orderBy' || $sqlPartName === 'groupBy' || $sqlPartName === 'select' || $sqlPartName === 'set') { foreach ($sqlPart as $part) { $this->sqlParts[$sqlPartName][] = $part; } } elseif ($isArray && is_array($sqlPart[key($sqlPart)])) { - $key = key($sqlPart); + $key = key($sqlPart); $this->sqlParts[$sqlPartName][$key][] = $sqlPart[$key]; } elseif ($isMultiple) { $this->sqlParts[$sqlPartName][] = $sqlPart; @@ -536,13 +517,13 @@ class QueryBuilder { $this->type = self::DELETE; - if ( ! $delete) { + if (! $delete) { return $this; } return $this->add('from', [ 'table' => $delete, - 'alias' => $alias + 'alias' => $alias, ]); } @@ -552,9 +533,9 @@ class QueryBuilder * * * $qb = $conn->createQueryBuilder() - * ->update('users', 'u') - * ->set('u.last_login', 'NOW()') - * ->where('u.id = ?'); + * ->update('counters', 'c') + * ->set('c.value', 'c.value + 1') + * ->where('c.id = ?'); * * * @param string $update The table whose rows are subject to the update. @@ -566,13 +547,13 @@ class QueryBuilder { $this->type = self::UPDATE; - if ( ! $update) { + if (! $update) { return $this; } return $this->add('from', [ 'table' => $update, - 'alias' => $alias + 'alias' => $alias, ]); } @@ -599,13 +580,11 @@ class QueryBuilder { $this->type = self::INSERT; - if ( ! $insert) { + if (! $insert) { return $this; } - return $this->add('from', [ - 'table' => $insert - ]); + return $this->add('from', ['table' => $insert]); } /** @@ -627,7 +606,7 @@ class QueryBuilder { return $this->add('from', [ 'table' => $from, - 'alias' => $alias + 'alias' => $alias, ], true); } @@ -677,8 +656,8 @@ class QueryBuilder 'joinType' => 'inner', 'joinTable' => $join, 'joinAlias' => $alias, - 'joinCondition' => $condition - ] + 'joinCondition' => $condition, + ], ], true); } @@ -706,8 +685,8 @@ class QueryBuilder 'joinType' => 'left', 'joinTable' => $join, 'joinAlias' => $alias, - 'joinCondition' => $condition - ] + 'joinCondition' => $condition, + ], ], true); } @@ -735,8 +714,8 @@ class QueryBuilder 'joinType' => 'right', 'joinTable' => $join, 'joinAlias' => $alias, - 'joinCondition' => $condition - ] + 'joinCondition' => $condition, + ], ], true); } @@ -745,9 +724,9 @@ class QueryBuilder * * * $qb = $conn->createQueryBuilder() - * ->update('users', 'u') - * ->set('u.last_login', 'NOW()') - * ->where('u.id = ?'); + * ->update('counters', 'c') + * ->set('c.value', 'c.value + 1') + * ->where('c.id = ?'); * * * @param string $key The column to set. @@ -757,7 +736,7 @@ class QueryBuilder */ public function set($key, $value) { - return $this->add('set', $key .' = ' . $value, true); + return $this->add('set', $key . ' = ' . $value, true); } /** @@ -766,19 +745,19 @@ class QueryBuilder * * * $qb = $conn->createQueryBuilder() - * ->select('u.name') - * ->from('users', 'u') - * ->where('u.id = ?'); + * ->select('c.value') + * ->from('counters', 'c') + * ->where('c.id = ?'); * * // You can optionally programatically build and/or expressions * $qb = $conn->createQueryBuilder(); * * $or = $qb->expr()->orx(); - * $or->add($qb->expr()->eq('u.id', 1)); - * $or->add($qb->expr()->eq('u.id', 2)); + * $or->add($qb->expr()->eq('c.id', 1)); + * $or->add($qb->expr()->eq('c.id', 2)); * - * $qb->update('users', 'u') - * ->set('u.last_login', 'NOW()') + * $qb->update('counters', 'c') + * ->set('c.value', 'c.value + 1') * ->where($or); * * @@ -788,7 +767,7 @@ class QueryBuilder */ public function where($predicates) { - if ( ! (func_num_args() == 1 && $predicates instanceof CompositeExpression)) { + if (! (func_num_args() === 1 && $predicates instanceof CompositeExpression)) { $predicates = new CompositeExpression(CompositeExpression::TYPE_AND, func_get_args()); } @@ -807,15 +786,15 @@ class QueryBuilder * ->andWhere('u.is_active = 1'); * * + * @see where() + * * @param mixed $where The query restrictions. * * @return $this This QueryBuilder instance. - * - * @see where() */ public function andWhere($where) { - $args = func_get_args(); + $args = func_get_args(); $where = $this->getQueryPart('where'); if ($where instanceof CompositeExpression && $where->getType() === CompositeExpression::TYPE_AND) { @@ -840,15 +819,15 @@ class QueryBuilder * ->orWhere('u.id = 2'); * * + * @see where() + * * @param mixed $where The WHERE statement. * * @return $this This QueryBuilder instance. - * - * @see where() */ public function orWhere($where) { - $args = func_get_args(); + $args = func_get_args(); $where = $this->getQueryPart('where'); if ($where instanceof CompositeExpression && $where->getType() === CompositeExpression::TYPE_OR) { @@ -955,7 +934,7 @@ class QueryBuilder * ); * * - * @param array $values The values to specify for the insert query indexed by column names. + * @param mixed[] $values The values to specify for the insert query indexed by column names. * * @return $this This QueryBuilder instance. */ @@ -974,7 +953,7 @@ class QueryBuilder */ public function having($having) { - if ( ! (func_num_args() == 1 && $having instanceof CompositeExpression)) { + if (! (func_num_args() === 1 && $having instanceof CompositeExpression)) { $having = new CompositeExpression(CompositeExpression::TYPE_AND, func_get_args()); } @@ -991,7 +970,7 @@ class QueryBuilder */ public function andHaving($having) { - $args = func_get_args(); + $args = func_get_args(); $having = $this->getQueryPart('having'); if ($having instanceof CompositeExpression && $having->getType() === CompositeExpression::TYPE_AND) { @@ -1014,7 +993,7 @@ class QueryBuilder */ public function orHaving($having) { - $args = func_get_args(); + $args = func_get_args(); $having = $this->getQueryPart('having'); if ($having instanceof CompositeExpression && $having->getType() === CompositeExpression::TYPE_OR) { @@ -1069,7 +1048,7 @@ class QueryBuilder /** * Gets all query parts. * - * @return array + * @return mixed[] */ public function getQueryParts() { @@ -1079,7 +1058,7 @@ class QueryBuilder /** * Resets SQL parts. * - * @param array|null $queryPartNames + * @param string[]|null $queryPartNames * * @return $this This QueryBuilder instance. */ @@ -1116,7 +1095,7 @@ class QueryBuilder /** * @return string * - * @throws \Doctrine\DBAL\Query\QueryException + * @throws QueryException */ private function getSQLForSelect() { @@ -1144,16 +1123,16 @@ class QueryBuilder */ private function getFromClauses() { - $fromClauses = []; + $fromClauses = []; $knownAliases = []; // Loop through all FROM clauses foreach ($this->sqlParts['from'] as $from) { if ($from['alias'] === null) { - $tableSql = $from['table']; + $tableSql = $from['table']; $tableReference = $from['table']; } else { - $tableSql = $from['table'] . ' ' . $from['alias']; + $tableSql = $from['table'] . ' ' . $from['alias']; $tableReference = $from['alias']; } @@ -1168,14 +1147,14 @@ class QueryBuilder } /** - * @param array $knownAliases + * @param string[] $knownAliases * * @throws QueryException */ private function verifyAllAliasesAreKnown(array $knownAliases) { foreach ($this->sqlParts['join'] as $fromAlias => $joins) { - if ( ! isset($knownAliases[$fromAlias])) { + if (! isset($knownAliases[$fromAlias])) { throw QueryException::unknownAlias($fromAlias, array_keys($knownAliases)); } } @@ -1209,11 +1188,9 @@ class QueryBuilder private function getSQLForUpdate() { $table = $this->sqlParts['from']['table'] . ($this->sqlParts['from']['alias'] ? ' ' . $this->sqlParts['from']['alias'] : ''); - $query = 'UPDATE ' . $table - . ' SET ' . implode(", ", $this->sqlParts['set']) + return 'UPDATE ' . $table + . ' SET ' . implode(', ', $this->sqlParts['set']) . ($this->sqlParts['where'] !== null ? ' WHERE ' . ((string) $this->sqlParts['where']) : ''); - - return $query; } /** @@ -1224,9 +1201,7 @@ class QueryBuilder private function getSQLForDelete() { $table = $this->sqlParts['from']['table'] . ($this->sqlParts['from']['alias'] ? ' ' . $this->sqlParts['from']['alias'] : ''); - $query = 'DELETE FROM ' . $table . ($this->sqlParts['where'] !== null ? ' WHERE ' . ((string) $this->sqlParts['where']) : ''); - - return $query; + return 'DELETE FROM ' . $table . ($this->sqlParts['where'] !== null ? ' WHERE ' . ((string) $this->sqlParts['where']) : ''); } /** @@ -1260,7 +1235,6 @@ class QueryBuilder * $stmt = $q->executeQuery(); // executed with 'id = 2' * * - * @license New BSD License * @link http://www.zetacomponents.org * * @param mixed $value @@ -1273,7 +1247,7 @@ class QueryBuilder { if ($placeHolder === null) { $this->boundCounter++; - $placeHolder = ":dcValue" . $this->boundCounter; + $placeHolder = ':dcValue' . $this->boundCounter; } $this->setParameter(substr($placeHolder, 1), $value, $type); @@ -1307,12 +1281,12 @@ class QueryBuilder $this->boundCounter++; $this->setParameter($this->boundCounter, $value, $type); - return "?"; + return '?'; } /** - * @param string $fromAlias - * @param array $knownAliases + * @param string $fromAlias + * @param string[] $knownAliases * * @return string * @@ -1327,7 +1301,7 @@ class QueryBuilder if (array_key_exists($join['joinAlias'], $knownAliases)) { throw QueryException::nonUniqueAlias($join['joinAlias'], array_keys($knownAliases)); } - $sql .= ' ' . strtoupper($join['joinType']) + $sql .= ' ' . strtoupper($join['joinType']) . ' JOIN ' . $join['joinTable'] . ' ' . $join['joinAlias'] . ' ON ' . ((string) $join['joinCondition']); $knownAliases[$join['joinAlias']] = true; @@ -1351,9 +1325,11 @@ class QueryBuilder foreach ($this->sqlParts as $part => $elements) { if (is_array($this->sqlParts[$part])) { foreach ($this->sqlParts[$part] as $idx => $element) { - if (is_object($element)) { - $this->sqlParts[$part][$idx] = clone $element; + if (! is_object($element)) { + continue; } + + $this->sqlParts[$part][$idx] = clone $element; } } elseif (is_object($elements)) { $this->sqlParts[$part] = clone $elements; @@ -1361,9 +1337,11 @@ class QueryBuilder } foreach ($this->params as $name => $param) { - if (is_object($param)) { - $this->params[$name] = clone $param; + if (! is_object($param)) { + continue; } + + $this->params[$name] = clone $param; } } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryException.php index 45a3d55f6..3fcb3b480 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryException.php @@ -1,55 +1,35 @@ . - */ namespace Doctrine\DBAL\Query; use Doctrine\DBAL\DBALException; use function implode; -/** - * @since 2.1.4 - */ class QueryException extends DBALException { /** - * @param string $alias - * @param array $registeredAliases + * @param string $alias + * @param string[] $registeredAliases * * @return \Doctrine\DBAL\Query\QueryException */ public static function unknownAlias($alias, $registeredAliases) { return new self("The given alias '" . $alias . "' is not part of " . - "any FROM or JOIN clause table. The currently registered " . - "aliases are: " . implode(", ", $registeredAliases) . "."); + 'any FROM or JOIN clause table. The currently registered ' . + 'aliases are: ' . implode(', ', $registeredAliases) . '.'); } /** - * @param string $alias - * @param array $registeredAliases + * @param string $alias + * @param string[] $registeredAliases * * @return \Doctrine\DBAL\Query\QueryException */ public static function nonUniqueAlias($alias, $registeredAliases) { return new self("The given alias '" . $alias . "' is not unique " . - "in FROM and JOIN clause table. The currently registered " . - "aliases are: " . implode(", ", $registeredAliases) . "."); + 'in FROM and JOIN clause table. The currently registered ' . + 'aliases are: ' . implode(', ', $registeredAliases) . '.'); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php index e635af754..537cd9e48 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtils.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL; @@ -31,27 +14,24 @@ use function is_int; use function key; use function ksort; use function preg_match_all; +use function sprintf; use function strlen; use function strpos; use function substr; /** * Utility class that parses sql statements with regard to types and parameters. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class SQLParserUtils { - const POSITIONAL_TOKEN = '\?'; - const NAMED_TOKEN = '(? $needlePos) { - if ( ! isset($arrayPositions[$needle])) { + if (! isset($arrayPositions[$needle])) { continue; } @@ -162,8 +142,8 @@ class SQLParserUtils array_slice($types, $needle + 1) ); - $expandStr = $count ? implode(", ", array_fill(0, $count, "?")) : 'NULL'; - $query = substr($query, 0, $needlePos) . $expandStr . substr($query, $needlePos + 1); + $expandStr = $count ? implode(', ', array_fill(0, $count, '?')) : 'NULL'; + $query = substr($query, 0, $needlePos) . $expandStr . substr($query, $needlePos + 1); $paramOffset += ($count - 1); // Grows larger by number of parameters minus the replaced needle. $queryOffset += (strlen($expandStr) - 1); @@ -180,7 +160,7 @@ class SQLParserUtils $paramLen = strlen($paramName) + 1; $value = static::extractParam($paramName, $params, true); - if ( ! isset($arrayPositions[$paramName]) && ! isset($arrayPositions[':' . $paramName])) { + if (! isset($arrayPositions[$paramName]) && ! isset($arrayPositions[':' . $paramName])) { $pos += $queryOffset; $queryOffset -= ($paramLen - 1); $paramsOrd[] = $value; @@ -190,8 +170,8 @@ class SQLParserUtils continue; } - $count = count($value); - $expandStr = $count > 0 ? implode(', ', array_fill(0, $count, '?')) : 'NULL'; + $count = count($value); + $expandStr = $count > 0 ? implode(', ', array_fill(0, $count, '?')) : 'NULL'; foreach ($value as $val) { $paramsOrd[] = $val; @@ -215,27 +195,31 @@ class SQLParserUtils * 1 => offset of fragment in $statement * * @param string $statement - * @return array + * + * @return mixed[][] */ private static function getUnquotedStatementFragments($statement) { - $literal = self::ESCAPED_SINGLE_QUOTED_TEXT . '|' . - self::ESCAPED_DOUBLE_QUOTED_TEXT . '|' . - self::ESCAPED_BACKTICK_QUOTED_TEXT . '|' . - self::ESCAPED_BRACKET_QUOTED_TEXT; - preg_match_all("/([^'\"`\[]+)(?:$literal)?/s", $statement, $fragments, PREG_OFFSET_CAPTURE); + $literal = self::ESCAPED_SINGLE_QUOTED_TEXT . '|' . + self::ESCAPED_DOUBLE_QUOTED_TEXT . '|' . + self::ESCAPED_BACKTICK_QUOTED_TEXT . '|' . + self::ESCAPED_BRACKET_QUOTED_TEXT; + $expression = sprintf('/((.+(?i:ARRAY)\\[.+\\])|([^\'"`\\[]+))(?:%s)?/s', $literal); + + preg_match_all($expression, $statement, $fragments, PREG_OFFSET_CAPTURE); return $fragments[1]; } /** * @param string $paramName The name of the parameter (without a colon in front) - * @param array $paramsOrTypes A hash of parameters or types + * @param mixed $paramsOrTypes A hash of parameters or types * @param bool $isParam * @param mixed $defaultValue An optional default value. If omitted, an exception is thrown * - * @throws SQLParserUtilsException * @return mixed + * + * @throws SQLParserUtilsException */ private static function extractParam($paramName, $paramsOrTypes, $isParam, $defaultValue = null) { @@ -248,7 +232,7 @@ class SQLParserUtils return $paramsOrTypes[':' . $paramName]; } - if (null !== $defaultValue) { + if ($defaultValue !== null) { return $defaultValue; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtilsException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtilsException.php index e7c15c53e..a500ed52d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtilsException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/SQLParserUtilsException.php @@ -1,23 +1,4 @@ . - */ namespace Doctrine\DBAL; @@ -25,11 +6,6 @@ use function sprintf; /** * Doctrine\DBAL\ConnectionException - * - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @link www.doctrine-project.org - * @since 2.4 - * @author Lars Strojny */ class SQLParserUtilsException extends DBALException { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php index 86f353cb9..eb7262e32 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractAsset.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -36,16 +19,10 @@ use function substr; * * This encapsulation hack is necessary to keep a consistent state of the database schema. Say we have a list of tables * array($tableName => Table($tableName)); if you want to rename the table, you have to make sure - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ abstract class AbstractAsset { - /** - * @var string - */ + /** @var string */ protected $_name; /** @@ -55,9 +32,7 @@ abstract class AbstractAsset */ protected $_namespace = null; - /** - * @var bool - */ + /** @var bool */ protected $_quoted = false; /** @@ -71,12 +46,12 @@ abstract class AbstractAsset { if ($this->isIdentifierQuoted($name)) { $this->_quoted = true; - $name = $this->trimQuotes($name); + $name = $this->trimQuotes($name); } - if (strpos($name, ".") !== false) { - $parts = explode(".", $name); + if (strpos($name, '.') !== false) { + $parts = explode('.', $name); $this->_namespace = $parts[0]; - $name = $parts[1]; + $name = $parts[1]; } $this->_name = $name; } @@ -90,7 +65,7 @@ abstract class AbstractAsset */ public function isInDefaultNamespace($defaultNamespaceName) { - return $this->_namespace == $defaultNamespaceName || $this->_namespace === null; + return $this->_namespace === $defaultNamespaceName || $this->_namespace === null; } /** @@ -116,7 +91,7 @@ abstract class AbstractAsset public function getShortestName($defaultNamespaceName) { $shortestName = $this->getName(); - if ($this->_namespace == $defaultNamespaceName) { + if ($this->_namespace === $defaultNamespaceName) { $shortestName = $this->_name; } @@ -139,8 +114,8 @@ abstract class AbstractAsset public function getFullQualifiedName($defaultNamespaceName) { $name = $this->getName(); - if ( ! $this->_namespace) { - $name = $defaultNamespaceName . "." . $name; + if (! $this->_namespace) { + $name = $defaultNamespaceName . '.' . $name; } return strtolower($name); @@ -165,7 +140,7 @@ abstract class AbstractAsset */ protected function isIdentifierQuoted($identifier) { - return (isset($identifier[0]) && ($identifier[0] == '`' || $identifier[0] == '"' || $identifier[0] == '[')); + return isset($identifier[0]) && ($identifier[0] === '`' || $identifier[0] === '"' || $identifier[0] === '['); } /** @@ -188,7 +163,7 @@ abstract class AbstractAsset public function getName() { if ($this->_namespace) { - return $this->_namespace . "." . $this->_name; + return $this->_namespace . '.' . $this->_name; } return $this->_name; @@ -198,19 +173,17 @@ abstract class AbstractAsset * Gets the quoted representation of this asset but only if it was defined with one. Otherwise * return the plain unquoted value as inserted. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * * @return string */ public function getQuotedName(AbstractPlatform $platform) { $keywords = $platform->getReservedKeywordsList(); - $parts = explode(".", $this->getName()); + $parts = explode('.', $this->getName()); foreach ($parts as $k => $v) { - $parts[$k] = ($this->_quoted || $keywords->isKeyword($v)) ? $platform->quoteIdentifier($v) : $v; + $parts[$k] = $this->_quoted || $keywords->isKeyword($v) ? $platform->quoteIdentifier($v) : $v; } - return implode(".", $parts); + return implode('.', $parts); } /** @@ -220,15 +193,15 @@ abstract class AbstractAsset * however building idents automatically for foreign keys, composite keys or such can easily create * very long names. * - * @param array $columnNames - * @param string $prefix - * @param int $maxSize + * @param string[] $columnNames + * @param string $prefix + * @param int $maxSize * * @return string */ - protected function _generateIdentifierName($columnNames, $prefix='', $maxSize=30) + protected function _generateIdentifierName($columnNames, $prefix = '', $maxSize = 30) { - $hash = implode("", array_map(function ($column) { + $hash = implode('', array_map(static function ($column) { return dechex(crc32($column)); }, $columnNames)); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php index f9f7cff7a..9b917427f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/AbstractSchemaManager.php @@ -1,37 +1,23 @@ . - */ namespace Doctrine\DBAL\Schema; -use Doctrine\DBAL\Events; +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\ConnectionException; +use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Event\SchemaColumnDefinitionEventArgs; use Doctrine\DBAL\Event\SchemaIndexDefinitionEventArgs; -use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Events; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Throwable; use function array_filter; +use function array_intersect; use function array_map; use function array_values; use function call_user_func_array; use function count; use function func_get_args; use function is_array; -use function is_null; use function preg_match; use function str_replace; use function strtolower; @@ -39,37 +25,27 @@ use function strtolower; /** * Base class for schema managers. Schema managers are used to inspect and/or * modify the database schema/structure. - * - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Roman Borschel - * @author Jonathan H. Wage - * @author Benjamin Eberlei - * @since 2.0 */ abstract class AbstractSchemaManager { /** * Holds instance of the Doctrine connection for this schema manager. * - * @var \Doctrine\DBAL\Connection + * @var Connection */ protected $_conn; /** * Holds instance of the database platform used for this schema manager. * - * @var \Doctrine\DBAL\Platforms\AbstractPlatform + * @var AbstractPlatform */ protected $_platform; /** * Constructor. Accepts the Connection instance to manage the schema for. - * - * @param \Doctrine\DBAL\Connection $conn - * @param \Doctrine\DBAL\Platforms\AbstractPlatform|null $platform */ - public function __construct(\Doctrine\DBAL\Connection $conn, AbstractPlatform $platform = null) + public function __construct(Connection $conn, ?AbstractPlatform $platform = null) { $this->_conn = $conn; $this->_platform = $platform ?: $this->_conn->getDatabasePlatform(); @@ -78,7 +54,7 @@ abstract class AbstractSchemaManager /** * Returns the associated platform. * - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform */ public function getDatabasePlatform() { @@ -99,14 +75,14 @@ abstract class AbstractSchemaManager */ public function tryMethod() { - $args = func_get_args(); + $args = func_get_args(); $method = $args[0]; unset($args[0]); $args = array_values($args); try { return call_user_func_array([$this, $method], $args); - } catch (\Exception $e) { + } catch (Throwable $e) { return false; } } @@ -114,7 +90,7 @@ abstract class AbstractSchemaManager /** * Lists the available databases for this connection. * - * @return array + * @return string[] */ public function listDatabases() { @@ -128,7 +104,7 @@ abstract class AbstractSchemaManager /** * Returns a list of all namespaces in the current database. * - * @return array + * @return string[] */ public function listNamespaceNames() { @@ -144,7 +120,7 @@ abstract class AbstractSchemaManager * * @param string|null $database * - * @return \Doctrine\DBAL\Schema\Sequence[] + * @return Sequence[] */ public function listSequences($database = null) { @@ -171,11 +147,11 @@ abstract class AbstractSchemaManager * @param string $table The name of the table. * @param string|null $database * - * @return \Doctrine\DBAL\Schema\Column[] + * @return Column[] */ public function listTableColumns($table, $database = null) { - if ( ! $database) { + if (! $database) { $database = $this->_conn->getDatabase(); } @@ -193,7 +169,7 @@ abstract class AbstractSchemaManager * * @param string $table The name of the table. * - * @return \Doctrine\DBAL\Schema\Index[] + * @return Index[] */ public function listTableIndexes($table) { @@ -207,7 +183,7 @@ abstract class AbstractSchemaManager /** * Returns true if all the given tables exist. * - * @param array $tableNames + * @param string[] $tableNames * * @return bool */ @@ -215,19 +191,19 @@ abstract class AbstractSchemaManager { $tableNames = array_map('strtolower', (array) $tableNames); - return count($tableNames) == count(\array_intersect($tableNames, array_map('strtolower', $this->listTableNames()))); + return count($tableNames) === count(array_intersect($tableNames, array_map('strtolower', $this->listTableNames()))); } /** * Returns a list of all tables in the current database. * - * @return array + * @return string[] */ public function listTableNames() { $sql = $this->_platform->getListTablesSQL(); - $tables = $this->_conn->fetchAll($sql); + $tables = $this->_conn->fetchAll($sql); $tableNames = $this->_getPortableTablesList($tables); return $this->filterAssetNames($tableNames); @@ -237,27 +213,23 @@ abstract class AbstractSchemaManager * Filters asset names if they are configured to return only a subset of all * the found elements. * - * @param array $assetNames + * @param mixed[] $assetNames * - * @return array + * @return mixed[] */ protected function filterAssetNames($assetNames) { - $filterExpr = $this->getFilterSchemaAssetsExpression(); - if ( ! $filterExpr) { + $filter = $this->_conn->getConfiguration()->getSchemaAssetsFilter(); + if (! $filter) { return $assetNames; } - return array_values( - array_filter($assetNames, function ($assetName) use ($filterExpr) { - $assetName = ($assetName instanceof AbstractAsset) ? $assetName->getName() : $assetName; - - return preg_match($filterExpr, $assetName); - }) - ); + return array_values(array_filter($assetNames, $filter)); } /** + * @deprecated Use Configuration::getSchemaAssetsFilter() instead + * * @return string|null */ protected function getFilterSchemaAssetsExpression() @@ -268,7 +240,7 @@ abstract class AbstractSchemaManager /** * Lists the tables for this connection. * - * @return \Doctrine\DBAL\Schema\Table[] + * @return Table[] */ public function listTables() { @@ -285,11 +257,11 @@ abstract class AbstractSchemaManager /** * @param string $tableName * - * @return \Doctrine\DBAL\Schema\Table + * @return Table */ public function listTableDetails($tableName) { - $columns = $this->listTableColumns($tableName); + $columns = $this->listTableColumns($tableName); $foreignKeys = []; if ($this->_platform->supportsForeignKeyConstraints()) { $foreignKeys = $this->listTableForeignKeys($tableName); @@ -302,13 +274,13 @@ abstract class AbstractSchemaManager /** * Lists the views this connection has. * - * @return \Doctrine\DBAL\Schema\View[] + * @return View[] */ public function listViews() { $database = $this->_conn->getDatabase(); - $sql = $this->_platform->getListViewsSQL($database); - $views = $this->_conn->fetchAll($sql); + $sql = $this->_platform->getListViewsSQL($database); + $views = $this->_conn->fetchAll($sql); return $this->_getPortableViewsList($views); } @@ -319,14 +291,14 @@ abstract class AbstractSchemaManager * @param string $table The name of the table. * @param string|null $database * - * @return \Doctrine\DBAL\Schema\ForeignKeyConstraint[] + * @return ForeignKeyConstraint[] */ public function listTableForeignKeys($table, $database = null) { if ($database === null) { $database = $this->_conn->getDatabase(); } - $sql = $this->_platform->getListTableForeignKeysSQL($table, $database); + $sql = $this->_platform->getListTableForeignKeysSQL($table, $database); $tableForeignKeys = $this->_conn->fetchAll($sql); return $this->_getPortableTableForeignKeysList($tableForeignKeys); @@ -363,8 +335,8 @@ abstract class AbstractSchemaManager /** * Drops the index from the given table. * - * @param \Doctrine\DBAL\Schema\Index|string $index The name of the index. - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table. + * @param Index|string $index The name of the index. + * @param Table|string $table The name of the table. * * @return void */ @@ -380,8 +352,7 @@ abstract class AbstractSchemaManager /** * Drops the constraint from the given table. * - * @param \Doctrine\DBAL\Schema\Constraint $constraint - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table. + * @param Table|string $table The name of the table. * * @return void */ @@ -393,8 +364,8 @@ abstract class AbstractSchemaManager /** * Drops a foreign key from a table. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint|string $foreignKey The name of the foreign key. - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table with the foreign key. + * @param ForeignKeyConstraint|string $foreignKey The name of the foreign key. + * @param Table|string $table The name of the table with the foreign key. * * @return void */ @@ -444,8 +415,6 @@ abstract class AbstractSchemaManager /** * Creates a new table. * - * @param \Doctrine\DBAL\Schema\Table $table - * * @return void */ public function createTable(Table $table) @@ -457,11 +426,11 @@ abstract class AbstractSchemaManager /** * Creates a new sequence. * - * @param \Doctrine\DBAL\Schema\Sequence $sequence + * @param Sequence $sequence * * @return void * - * @throws \Doctrine\DBAL\ConnectionException If something fails at database level. + * @throws ConnectionException If something fails at database level. */ public function createSequence($sequence) { @@ -471,8 +440,7 @@ abstract class AbstractSchemaManager /** * Creates a constraint on a table. * - * @param \Doctrine\DBAL\Schema\Constraint $constraint - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return void */ @@ -484,8 +452,7 @@ abstract class AbstractSchemaManager /** * Creates a new index on a table. * - * @param \Doctrine\DBAL\Schema\Index $index - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the index is to be created. + * @param Table|string $table The name of the table on which the index is to be created. * * @return void */ @@ -497,8 +464,8 @@ abstract class AbstractSchemaManager /** * Creates a new foreign key. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey The ForeignKey instance. - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the foreign key is to be created. + * @param ForeignKeyConstraint $foreignKey The ForeignKey instance. + * @param Table|string $table The name of the table on which the foreign key is to be created. * * @return void */ @@ -510,8 +477,6 @@ abstract class AbstractSchemaManager /** * Creates a new view. * - * @param \Doctrine\DBAL\Schema\View $view - * * @return void */ public function createView(View $view) @@ -527,8 +492,7 @@ abstract class AbstractSchemaManager * @see dropConstraint() * @see createConstraint() * - * @param \Doctrine\DBAL\Schema\Constraint $constraint - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * * @return void */ @@ -541,8 +505,7 @@ abstract class AbstractSchemaManager /** * Drops and creates a new index on a table. * - * @param \Doctrine\DBAL\Schema\Index $index - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the index is to be created. + * @param Table|string $table The name of the table on which the index is to be created. * * @return void */ @@ -555,8 +518,8 @@ abstract class AbstractSchemaManager /** * Drops and creates a new foreign key. * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey An associative array that defines properties of the foreign key to be created. - * @param \Doctrine\DBAL\Schema\Table|string $table The name of the table on which the foreign key is to be created. + * @param ForeignKeyConstraint $foreignKey An associative array that defines properties of the foreign key to be created. + * @param Table|string $table The name of the table on which the foreign key is to be created. * * @return void */ @@ -569,11 +532,9 @@ abstract class AbstractSchemaManager /** * Drops and create a new sequence. * - * @param \Doctrine\DBAL\Schema\Sequence $sequence - * * @return void * - * @throws \Doctrine\DBAL\ConnectionException If something fails at database level. + * @throws ConnectionException If something fails at database level. */ public function dropAndCreateSequence(Sequence $sequence) { @@ -584,8 +545,6 @@ abstract class AbstractSchemaManager /** * Drops and creates a new table. * - * @param \Doctrine\DBAL\Schema\Table $table - * * @return void */ public function dropAndCreateTable(Table $table) @@ -610,8 +569,6 @@ abstract class AbstractSchemaManager /** * Drops and creates a new view. * - * @param \Doctrine\DBAL\Schema\View $view - * * @return void */ public function dropAndCreateView(View $view) @@ -625,17 +582,17 @@ abstract class AbstractSchemaManager /** * Alters an existing tables schema. * - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - * * @return void */ public function alterTable(TableDiff $tableDiff) { $queries = $this->_platform->getAlterTableSQL($tableDiff); - if (is_array($queries) && count($queries)) { - foreach ($queries as $ddlQuery) { - $this->_execSql($ddlQuery); - } + if (! is_array($queries) || ! count($queries)) { + return; + } + + foreach ($queries as $ddlQuery) { + $this->_execSql($ddlQuery); } } @@ -649,7 +606,7 @@ abstract class AbstractSchemaManager */ public function renameTable($name, $newName) { - $tableDiff = new TableDiff($name); + $tableDiff = new TableDiff($name); $tableDiff->newName = $newName; $this->alterTable($tableDiff); } @@ -660,17 +617,21 @@ abstract class AbstractSchemaManager */ /** - * @param array $databases + * @param mixed[] $databases * - * @return array + * @return string[] */ protected function _getPortableDatabasesList($databases) { $list = []; foreach ($databases as $value) { - if ($value = $this->_getPortableDatabaseDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableDatabaseDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; @@ -679,9 +640,9 @@ abstract class AbstractSchemaManager /** * Converts a list of namespace names from the native DBMS data definition to a portable Doctrine definition. * - * @param array $namespaces The list of namespace names in the native DBMS data definition. + * @param mixed[][] $namespaces The list of namespace names in the native DBMS data definition. * - * @return array + * @return string[] */ protected function getPortableNamespacesList(array $namespaces) { @@ -695,7 +656,7 @@ abstract class AbstractSchemaManager } /** - * @param array $database + * @param mixed $database * * @return mixed */ @@ -707,7 +668,7 @@ abstract class AbstractSchemaManager /** * Converts a namespace definition from the native DBMS data definition to a portable Doctrine definition. * - * @param array $namespace The native DBMS namespace definition. + * @param mixed[] $namespace The native DBMS namespace definition. * * @return mixed */ @@ -717,24 +678,28 @@ abstract class AbstractSchemaManager } /** - * @param array $functions + * @param mixed[][] $functions * - * @return array + * @return mixed[][] */ protected function _getPortableFunctionsList($functions) { $list = []; foreach ($functions as $value) { - if ($value = $this->_getPortableFunctionDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableFunctionDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $function + * @param mixed[] $function * * @return mixed */ @@ -744,24 +709,28 @@ abstract class AbstractSchemaManager } /** - * @param array $triggers + * @param mixed[][] $triggers * - * @return array + * @return mixed[][] */ protected function _getPortableTriggersList($triggers) { $list = []; foreach ($triggers as $value) { - if ($value = $this->_getPortableTriggerDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableTriggerDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $trigger + * @param mixed[] $trigger * * @return mixed */ @@ -771,28 +740,32 @@ abstract class AbstractSchemaManager } /** - * @param array $sequences + * @param mixed[][] $sequences * - * @return array + * @return Sequence[] */ protected function _getPortableSequencesList($sequences) { $list = []; foreach ($sequences as $value) { - if ($value = $this->_getPortableSequenceDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableSequenceDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $sequence + * @param mixed[] $sequence * - * @return \Doctrine\DBAL\Schema\Sequence + * @return Sequence * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ protected function _getPortableSequenceDefinition($sequence) { @@ -804,11 +777,11 @@ abstract class AbstractSchemaManager * * The name of the created column instance however is kept in its case. * - * @param string $table The name of the table. - * @param string $database - * @param array $tableColumns + * @param string $table The name of the table. + * @param string $database + * @param mixed[][] $tableColumns * - * @return array + * @return Column[] */ protected function _getPortableTableColumnList($table, $database, $tableColumns) { @@ -816,25 +789,27 @@ abstract class AbstractSchemaManager $list = []; foreach ($tableColumns as $tableColumn) { - $column = null; + $column = null; $defaultPrevented = false; - if (null !== $eventManager && $eventManager->hasListeners(Events::onSchemaColumnDefinition)) { + if ($eventManager !== null && $eventManager->hasListeners(Events::onSchemaColumnDefinition)) { $eventArgs = new SchemaColumnDefinitionEventArgs($tableColumn, $table, $database, $this->_conn); $eventManager->dispatchEvent(Events::onSchemaColumnDefinition, $eventArgs); $defaultPrevented = $eventArgs->isDefaultPrevented(); - $column = $eventArgs->getColumn(); + $column = $eventArgs->getColumn(); } - if ( ! $defaultPrevented) { + if (! $defaultPrevented) { $column = $this->_getPortableTableColumnDefinition($tableColumn); } - if ($column) { - $name = strtolower($column->getQuotedName($this->_platform)); - $list[$name] = $column; + if (! $column) { + continue; } + + $name = strtolower($column->getQuotedName($this->_platform)); + $list[$name] = $column; } return $list; @@ -843,21 +818,21 @@ abstract class AbstractSchemaManager /** * Gets Table Column Definition. * - * @param array $tableColumn + * @param mixed[] $tableColumn * - * @return \Doctrine\DBAL\Schema\Column + * @return Column */ abstract protected function _getPortableTableColumnDefinition($tableColumn); /** * Aggregates and groups the index results according to the required data result. * - * @param array $tableIndexRows + * @param mixed[][] $tableIndexRows * @param string|null $tableName * - * @return array + * @return Index[] */ - protected function _getPortableTableIndexesList($tableIndexRows, $tableName=null) + protected function _getPortableTableIndexesList($tableIndexRows, $tableName = null) { $result = []; foreach ($tableIndexRows as $tableIndex) { @@ -867,68 +842,83 @@ abstract class AbstractSchemaManager } $keyName = strtolower($keyName); - if (!isset($result[$keyName])) { + if (! isset($result[$keyName])) { + $options = [ + 'lengths' => [], + ]; + + if (isset($tableIndex['where'])) { + $options['where'] = $tableIndex['where']; + } + $result[$keyName] = [ 'name' => $indexName, - 'columns' => [$tableIndex['column_name']], + 'columns' => [], 'unique' => $tableIndex['non_unique'] ? false : true, 'primary' => $tableIndex['primary'], 'flags' => $tableIndex['flags'] ?? [], - 'options' => isset($tableIndex['where']) ? ['where' => $tableIndex['where']] : [], + 'options' => $options, ]; - } else { - $result[$keyName]['columns'][] = $tableIndex['column_name']; } + + $result[$keyName]['columns'][] = $tableIndex['column_name']; + $result[$keyName]['options']['lengths'][] = $tableIndex['length'] ?? null; } $eventManager = $this->_platform->getEventManager(); $indexes = []; foreach ($result as $indexKey => $data) { - $index = null; + $index = null; $defaultPrevented = false; - if (null !== $eventManager && $eventManager->hasListeners(Events::onSchemaIndexDefinition)) { + if ($eventManager !== null && $eventManager->hasListeners(Events::onSchemaIndexDefinition)) { $eventArgs = new SchemaIndexDefinitionEventArgs($data, $tableName, $this->_conn); $eventManager->dispatchEvent(Events::onSchemaIndexDefinition, $eventArgs); $defaultPrevented = $eventArgs->isDefaultPrevented(); - $index = $eventArgs->getIndex(); + $index = $eventArgs->getIndex(); } - if ( ! $defaultPrevented) { + if (! $defaultPrevented) { $index = new Index($data['name'], $data['columns'], $data['unique'], $data['primary'], $data['flags'], $data['options']); } - if ($index) { - $indexes[$indexKey] = $index; + if (! $index) { + continue; } + + $indexes[$indexKey] = $index; } return $indexes; } /** - * @param array $tables + * @param mixed[][] $tables * - * @return array + * @return string[] */ protected function _getPortableTablesList($tables) { $list = []; foreach ($tables as $value) { - if ($value = $this->_getPortableTableDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableTableDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $table + * @param mixed $table * - * @return array + * @return string */ protected function _getPortableTableDefinition($table) { @@ -936,26 +926,30 @@ abstract class AbstractSchemaManager } /** - * @param array $users + * @param mixed[][] $users * - * @return array + * @return string[][] */ protected function _getPortableUsersList($users) { $list = []; foreach ($users as $value) { - if ($value = $this->_getPortableUserDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableUserDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $user + * @param mixed[] $user * - * @return mixed + * @return mixed[] */ protected function _getPortableUserDefinition($user) { @@ -963,27 +957,31 @@ abstract class AbstractSchemaManager } /** - * @param array $views + * @param mixed[][] $views * - * @return array + * @return View[] */ protected function _getPortableViewsList($views) { $list = []; foreach ($views as $value) { - if ($view = $this->_getPortableViewDefinition($value)) { - $viewName = strtolower($view->getQuotedName($this->_platform)); - $list[$viewName] = $view; + $view = $this->_getPortableViewDefinition($value); + + if (! $view) { + continue; } + + $viewName = strtolower($view->getQuotedName($this->_platform)); + $list[$viewName] = $view; } return $list; } /** - * @param array $view + * @param mixed[] $view * - * @return mixed + * @return View|false */ protected function _getPortableViewDefinition($view) { @@ -991,26 +989,30 @@ abstract class AbstractSchemaManager } /** - * @param array $tableForeignKeys + * @param mixed[][] $tableForeignKeys * - * @return array + * @return ForeignKeyConstraint[] */ protected function _getPortableTableForeignKeysList($tableForeignKeys) { $list = []; foreach ($tableForeignKeys as $value) { - if ($value = $this->_getPortableTableForeignKeyDefinition($value)) { - $list[] = $value; + $value = $this->_getPortableTableForeignKeyDefinition($value); + + if (! $value) { + continue; } + + $list[] = $value; } return $list; } /** - * @param array $tableForeignKey + * @param mixed $tableForeignKey * - * @return mixed + * @return ForeignKeyConstraint */ protected function _getPortableTableForeignKeyDefinition($tableForeignKey) { @@ -1018,7 +1020,7 @@ abstract class AbstractSchemaManager } /** - * @param array|string $sql + * @param string[]|string $sql * * @return void */ @@ -1032,7 +1034,7 @@ abstract class AbstractSchemaManager /** * Creates a schema instance for the current database. * - * @return \Doctrine\DBAL\Schema\Schema + * @return Schema */ public function createSchema() { @@ -1056,7 +1058,7 @@ abstract class AbstractSchemaManager /** * Creates the configuration for this schema. * - * @return \Doctrine\DBAL\Schema\SchemaConfig + * @return SchemaConfig */ public function createSchemaConfig() { @@ -1090,7 +1092,7 @@ abstract class AbstractSchemaManager * For databases that don't support subschema/namespaces this method * returns the name of the currently connected database. * - * @return array + * @return string[] */ public function getSchemaSearchPaths() { @@ -1108,7 +1110,7 @@ abstract class AbstractSchemaManager */ public function extractDoctrineTypeFromComment($comment, $currentType) { - if (preg_match("(\(DC2Type:(((?!\)).)+)\))", $comment, $match)) { + if (preg_match('(\(DC2Type:(((?!\)).)+)\))', $comment, $match)) { $currentType = $match[1]; } @@ -1123,6 +1125,6 @@ abstract class AbstractSchemaManager */ public function removeDoctrineTypeFromComment($comment, $type) { - return str_replace('(DC2Type:'.$type.')', '', $comment); + return str_replace('(DC2Type:' . $type . ')', '', $comment); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php index eead5e6aa..aef471e06 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Column.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -29,86 +12,55 @@ use function trigger_error; /** * Object representation of a database column. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Column extends AbstractAsset { - /** - * @var Type - */ + /** @var Type */ protected $_type; - /** - * @var int|null - */ + /** @var int|null */ protected $_length = null; - /** - * @var int - */ + /** @var int */ protected $_precision = 10; - /** - * @var int - */ + /** @var int */ protected $_scale = 0; - /** - * @var bool - */ + /** @var bool */ protected $_unsigned = false; - /** - * @var bool - */ + /** @var bool */ protected $_fixed = false; - /** - * @var bool - */ + /** @var bool */ protected $_notnull = true; - /** - * @var string|null - */ + /** @var string|null */ protected $_default = null; - /** - * @var bool - */ + /** @var bool */ protected $_autoincrement = false; - /** - * @var array - */ + /** @var mixed[] */ protected $_platformOptions = []; - /** - * @var string|null - */ + /** @var string|null */ protected $_columnDefinition = null; - /** - * @var string|null - */ + /** @var string|null */ protected $_comment = null; - /** - * @var array - */ + /** @var mixed[] */ protected $_customSchemaOptions = []; /** * Creates a new Column. * - * @param string $columnName - * @param Type $type - * @param array $options + * @param string $columnName + * @param mixed[] $options */ - public function __construct($columnName, Type $type, array $options=[]) + public function __construct($columnName, Type $type, array $options = []) { $this->_setName($columnName); $this->setType($type); @@ -116,18 +68,18 @@ class Column extends AbstractAsset } /** - * @param array $options + * @param mixed[] $options * * @return Column */ public function setOptions(array $options) { foreach ($options as $name => $value) { - $method = "set".$name; - if ( ! method_exists($this, $method)) { + $method = 'set' . $name; + if (! method_exists($this, $method)) { // next major: throw an exception @trigger_error(sprintf( - 'The "%s" column option is not supported,'. + 'The "%s" column option is not supported,' . ' setting it is deprecated and will cause an error in Doctrine 3.0', $name ), E_USER_DEPRECATED); @@ -141,8 +93,6 @@ class Column extends AbstractAsset } /** - * @param Type $type - * * @return Column */ public function setType(Type $type) @@ -175,7 +125,7 @@ class Column extends AbstractAsset */ public function setPrecision($precision) { - if (!is_numeric($precision)) { + if (! is_numeric($precision)) { $precision = 10; // defaults to 10 when no valid precision is given. } @@ -191,7 +141,7 @@ class Column extends AbstractAsset */ public function setScale($scale) { - if (!is_numeric($scale)) { + if (! is_numeric($scale)) { $scale = 0; } @@ -249,7 +199,7 @@ class Column extends AbstractAsset } /** - * @param array $platformOptions + * @param mixed[] $platformOptions * * @return Column */ @@ -350,7 +300,7 @@ class Column extends AbstractAsset } /** - * @return array + * @return mixed[] */ public function getPlatformOptions() { @@ -459,7 +409,7 @@ class Column extends AbstractAsset } /** - * @param array $customSchemaOptions + * @param mixed[] $customSchemaOptions * * @return Column */ @@ -471,7 +421,7 @@ class Column extends AbstractAsset } /** - * @return array + * @return mixed[] */ public function getCustomSchemaOptions() { @@ -479,7 +429,7 @@ class Column extends AbstractAsset } /** - * @return array + * @return mixed[] */ public function toArray() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ColumnDiff.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ColumnDiff.php index 65517d75c..cb6459210 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ColumnDiff.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ColumnDiff.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -23,45 +6,31 @@ use function in_array; /** * Represents the change of a column. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class ColumnDiff { - /** - * @var string - */ + /** @var string */ public $oldColumnName; - /** - * @var Column - */ + /** @var Column */ public $column; - /** - * @var array - */ + /** @var string[] */ public $changedProperties = []; - /** - * @var Column - */ + /** @var Column */ public $fromColumn; /** * @param string $oldColumnName - * @param Column $column * @param string[] $changedProperties - * @param Column $fromColumn */ - public function __construct($oldColumnName, Column $column, array $changedProperties = [], Column $fromColumn = null) + public function __construct($oldColumnName, Column $column, array $changedProperties = [], ?Column $fromColumn = null) { - $this->oldColumnName = $oldColumnName; - $this->column = $column; + $this->oldColumnName = $oldColumnName; + $this->column = $column; $this->changedProperties = $changedProperties; - $this->fromColumn = $fromColumn; + $this->fromColumn = $fromColumn; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php index 63389cd42..3b5a0b155 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Comparator.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -32,18 +15,11 @@ use function strtolower; /** * Compares two Schemas and return an instance of SchemaDiff. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Comparator { /** - * @param \Doctrine\DBAL\Schema\Schema $fromSchema - * @param \Doctrine\DBAL\Schema\Schema $toSchema - * - * @return \Doctrine\DBAL\Schema\SchemaDiff + * @return SchemaDiff */ public static function compareSchemas(Schema $fromSchema, Schema $toSchema) { @@ -59,33 +35,34 @@ class Comparator * operations to change the schema stored in $fromSchema to the schema that is * stored in $toSchema. * - * @param \Doctrine\DBAL\Schema\Schema $fromSchema - * @param \Doctrine\DBAL\Schema\Schema $toSchema - * - * @return \Doctrine\DBAL\Schema\SchemaDiff + * @return SchemaDiff */ public function compare(Schema $fromSchema, Schema $toSchema) { - $diff = new SchemaDiff(); + $diff = new SchemaDiff(); $diff->fromSchema = $fromSchema; $foreignKeysToTable = []; foreach ($toSchema->getNamespaces() as $namespace) { - if ( ! $fromSchema->hasNamespace($namespace)) { - $diff->newNamespaces[$namespace] = $namespace; + if ($fromSchema->hasNamespace($namespace)) { + continue; } + + $diff->newNamespaces[$namespace] = $namespace; } foreach ($fromSchema->getNamespaces() as $namespace) { - if ( ! $toSchema->hasNamespace($namespace)) { - $diff->removedNamespaces[$namespace] = $namespace; + if ($toSchema->hasNamespace($namespace)) { + continue; } + + $diff->removedNamespaces[$namespace] = $namespace; } foreach ($toSchema->getTables() as $table) { $tableName = $table->getShortestName($toSchema->getName()); - if ( ! $fromSchema->hasTable($tableName)) { + if (! $fromSchema->hasTable($tableName)) { $diff->newTables[$tableName] = $toSchema->getTable($tableName); } else { $tableDifferences = $this->diffTable($fromSchema->getTable($tableName), $toSchema->getTable($tableName)); @@ -100,14 +77,14 @@ class Comparator $tableName = $table->getShortestName($fromSchema->getName()); $table = $fromSchema->getTable($tableName); - if ( ! $toSchema->hasTable($tableName)) { + if (! $toSchema->hasTable($tableName)) { $diff->removedTables[$tableName] = $table; } // also remember all foreign keys that point to a specific table foreach ($table->getForeignKeys() as $foreignKey) { $foreignTable = strtolower($foreignKey->getForeignTableName()); - if (!isset($foreignKeysToTable[$foreignTable])) { + if (! isset($foreignKeysToTable[$foreignTable])) { $foreignKeysToTable[$foreignTable] = []; } $foreignKeysToTable[$foreignTable][] = $foreignKey; @@ -115,31 +92,35 @@ class Comparator } foreach ($diff->removedTables as $tableName => $table) { - if (isset($foreignKeysToTable[$tableName])) { - $diff->orphanedForeignKeys = array_merge($diff->orphanedForeignKeys, $foreignKeysToTable[$tableName]); + if (! isset($foreignKeysToTable[$tableName])) { + continue; + } - // deleting duplicated foreign keys present on both on the orphanedForeignKey - // and the removedForeignKeys from changedTables - foreach ($foreignKeysToTable[$tableName] as $foreignKey) { - // strtolower the table name to make if compatible with getShortestName - $localTableName = strtolower($foreignKey->getLocalTableName()); - if (isset($diff->changedTables[$localTableName])) { - foreach ($diff->changedTables[$localTableName]->removedForeignKeys as $key => $removedForeignKey) { - // We check if the key is from the removed table if not we skip. - if ($tableName !== strtolower($removedForeignKey->getForeignTableName())) { - continue; - } - unset($diff->changedTables[$localTableName]->removedForeignKeys[$key]); - } + $diff->orphanedForeignKeys = array_merge($diff->orphanedForeignKeys, $foreignKeysToTable[$tableName]); + + // deleting duplicated foreign keys present on both on the orphanedForeignKey + // and the removedForeignKeys from changedTables + foreach ($foreignKeysToTable[$tableName] as $foreignKey) { + // strtolower the table name to make if compatible with getShortestName + $localTableName = strtolower($foreignKey->getLocalTableName()); + if (! isset($diff->changedTables[$localTableName])) { + continue; + } + + foreach ($diff->changedTables[$localTableName]->removedForeignKeys as $key => $removedForeignKey) { + // We check if the key is from the removed table if not we skip. + if ($tableName !== strtolower($removedForeignKey->getForeignTableName())) { + continue; } + unset($diff->changedTables[$localTableName]->removedForeignKeys[$key]); } } } foreach ($toSchema->getSequences() as $sequence) { $sequenceName = $sequence->getShortestName($toSchema->getName()); - if ( ! $fromSchema->hasSequence($sequenceName)) { - if ( ! $this->isAutoIncrementSequenceInSchema($fromSchema, $sequence)) { + if (! $fromSchema->hasSequence($sequenceName)) { + if (! $this->isAutoIncrementSequenceInSchema($fromSchema, $sequence)) { $diff->newSequences[] = $sequence; } } else { @@ -156,17 +137,19 @@ class Comparator $sequenceName = $sequence->getShortestName($fromSchema->getName()); - if ( ! $toSchema->hasSequence($sequenceName)) { - $diff->removedSequences[] = $sequence; + if ($toSchema->hasSequence($sequenceName)) { + continue; } + + $diff->removedSequences[] = $sequence; } return $diff; } /** - * @param \Doctrine\DBAL\Schema\Schema $schema - * @param \Doctrine\DBAL\Schema\Sequence $sequence + * @param Schema $schema + * @param Sequence $sequence * * @return bool */ @@ -182,14 +165,11 @@ class Comparator } /** - * @param \Doctrine\DBAL\Schema\Sequence $sequence1 - * @param \Doctrine\DBAL\Schema\Sequence $sequence2 - * * @return bool */ public function diffSequence(Sequence $sequence1, Sequence $sequence2) { - if ($sequence1->getAllocationSize() != $sequence2->getAllocationSize()) { + if ($sequence1->getAllocationSize() !== $sequence2->getAllocationSize()) { return true; } @@ -201,15 +181,12 @@ class Comparator * * If there are no differences this method returns the boolean false. * - * @param \Doctrine\DBAL\Schema\Table $table1 - * @param \Doctrine\DBAL\Schema\Table $table2 - * * @return TableDiff|false */ public function diffTable(Table $table1, Table $table2) { - $changes = 0; - $tableDifferences = new TableDiff($table1->getName()); + $changes = 0; + $tableDifferences = new TableDiff($table1->getName()); $tableDifferences->fromTable = $table1; $table1Columns = $table1->getColumns(); @@ -217,15 +194,17 @@ class Comparator /* See if all the fields in table 1 exist in table 2 */ foreach ($table2Columns as $columnName => $column) { - if ( !$table1->hasColumn($columnName)) { - $tableDifferences->addedColumns[$columnName] = $column; - $changes++; + if ($table1->hasColumn($columnName)) { + continue; } + + $tableDifferences->addedColumns[$columnName] = $column; + $changes++; } /* See if there are any removed fields in table 2 */ foreach ($table1Columns as $columnName => $column) { // See if column is removed in table 2. - if ( ! $table2->hasColumn($columnName)) { + if (! $table2->hasColumn($columnName)) { $tableDifferences->removedColumns[$columnName] = $column; $changes++; continue; @@ -234,12 +213,14 @@ class Comparator // See if column has changed properties in table 2. $changedProperties = $this->diffColumn($column, $table2->getColumn($columnName)); - if ( ! empty($changedProperties)) { - $columnDiff = new ColumnDiff($column->getName(), $table2->getColumn($columnName), $changedProperties); - $columnDiff->fromColumn = $column; - $tableDifferences->changedColumns[$column->getName()] = $columnDiff; - $changes++; + if (empty($changedProperties)) { + continue; } + + $columnDiff = new ColumnDiff($column->getName(), $table2->getColumn($columnName), $changedProperties); + $columnDiff->fromColumn = $column; + $tableDifferences->changedColumns[$column->getName()] = $columnDiff; + $changes++; } $this->detectColumnRenamings($tableDifferences); @@ -270,23 +251,25 @@ class Comparator // See if index has changed in table 2. $table2Index = $index->isPrimary() ? $table2->getPrimaryKey() : $table2->getIndex($indexName); - if ($this->diffIndex($index, $table2Index)) { - $tableDifferences->changedIndexes[$indexName] = $table2Index; - $changes++; + if (! $this->diffIndex($index, $table2Index)) { + continue; } + + $tableDifferences->changedIndexes[$indexName] = $table2Index; + $changes++; } $this->detectIndexRenamings($tableDifferences); $fromFkeys = $table1->getForeignKeys(); - $toFkeys = $table2->getForeignKeys(); + $toFkeys = $table2->getForeignKeys(); foreach ($fromFkeys as $key1 => $constraint1) { foreach ($toFkeys as $key2 => $constraint2) { if ($this->diffForeignKey($constraint1, $constraint2) === false) { unset($fromFkeys[$key1], $toFkeys[$key2]); } else { - if (strtolower($constraint1->getName()) == strtolower($constraint2->getName())) { + if (strtolower($constraint1->getName()) === strtolower($constraint2->getName())) { $tableDifferences->changedForeignKeys[] = $constraint2; $changes++; unset($fromFkeys[$key1], $toFkeys[$key2]); @@ -319,26 +302,32 @@ class Comparator $renameCandidates = []; foreach ($tableDifferences->addedColumns as $addedColumnName => $addedColumn) { foreach ($tableDifferences->removedColumns as $removedColumn) { - if (count($this->diffColumn($addedColumn, $removedColumn)) == 0) { - $renameCandidates[$addedColumn->getName()][] = [$removedColumn, $addedColumn, $addedColumnName]; + if (count($this->diffColumn($addedColumn, $removedColumn)) !== 0) { + continue; } + + $renameCandidates[$addedColumn->getName()][] = [$removedColumn, $addedColumn, $addedColumnName]; } } foreach ($renameCandidates as $candidateColumns) { - if (count($candidateColumns) == 1) { - list($removedColumn, $addedColumn) = $candidateColumns[0]; - $removedColumnName = strtolower($removedColumn->getName()); - $addedColumnName = strtolower($addedColumn->getName()); - - if ( ! isset($tableDifferences->renamedColumns[$removedColumnName])) { - $tableDifferences->renamedColumns[$removedColumnName] = $addedColumn; - unset( - $tableDifferences->addedColumns[$addedColumnName], - $tableDifferences->removedColumns[$removedColumnName] - ); - } + if (count($candidateColumns) !== 1) { + continue; } + + [$removedColumn, $addedColumn] = $candidateColumns[0]; + $removedColumnName = strtolower($removedColumn->getName()); + $addedColumnName = strtolower($addedColumn->getName()); + + if (isset($tableDifferences->renamedColumns[$removedColumnName])) { + continue; + } + + $tableDifferences->renamedColumns[$removedColumnName] = $addedColumn; + unset( + $tableDifferences->addedColumns[$addedColumnName], + $tableDifferences->removedColumns[$removedColumnName] + ); } } @@ -355,9 +344,11 @@ class Comparator // Gather possible rename candidates by comparing each added and removed index based on semantics. foreach ($tableDifferences->addedIndexes as $addedIndexName => $addedIndex) { foreach ($tableDifferences->removedIndexes as $removedIndex) { - if (! $this->diffIndex($addedIndex, $removedIndex)) { - $renameCandidates[$addedIndex->getName()][] = [$removedIndex, $addedIndex, $addedIndexName]; + if ($this->diffIndex($addedIndex, $removedIndex)) { + continue; } + + $renameCandidates[$addedIndex->getName()][] = [$removedIndex, $addedIndex, $addedIndexName]; } } @@ -366,36 +357,37 @@ class Comparator // we can safely rename it. // Otherwise it is unclear if a rename action is really intended, // therefore we let those ambiguous indexes be added/dropped. - if (count($candidateIndexes) === 1) { - list($removedIndex, $addedIndex) = $candidateIndexes[0]; - - $removedIndexName = strtolower($removedIndex->getName()); - $addedIndexName = strtolower($addedIndex->getName()); - - if (! isset($tableDifferences->renamedIndexes[$removedIndexName])) { - $tableDifferences->renamedIndexes[$removedIndexName] = $addedIndex; - unset( - $tableDifferences->addedIndexes[$addedIndexName], - $tableDifferences->removedIndexes[$removedIndexName] - ); - } + if (count($candidateIndexes) !== 1) { + continue; } + + [$removedIndex, $addedIndex] = $candidateIndexes[0]; + + $removedIndexName = strtolower($removedIndex->getName()); + $addedIndexName = strtolower($addedIndex->getName()); + + if (isset($tableDifferences->renamedIndexes[$removedIndexName])) { + continue; + } + + $tableDifferences->renamedIndexes[$removedIndexName] = $addedIndex; + unset( + $tableDifferences->addedIndexes[$addedIndexName], + $tableDifferences->removedIndexes[$removedIndexName] + ); } } /** - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key1 - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $key2 - * * @return bool */ public function diffForeignKey(ForeignKeyConstraint $key1, ForeignKeyConstraint $key2) { - if (array_map('strtolower', $key1->getUnquotedLocalColumns()) != array_map('strtolower', $key2->getUnquotedLocalColumns())) { + if (array_map('strtolower', $key1->getUnquotedLocalColumns()) !== array_map('strtolower', $key2->getUnquotedLocalColumns())) { return true; } - if (array_map('strtolower', $key1->getUnquotedForeignColumns()) != array_map('strtolower', $key2->getUnquotedForeignColumns())) { + if (array_map('strtolower', $key1->getUnquotedForeignColumns()) !== array_map('strtolower', $key2->getUnquotedForeignColumns())) { return true; } @@ -403,7 +395,7 @@ class Comparator return true; } - if ($key1->onUpdate() != $key2->onUpdate()) { + if ($key1->onUpdate() !== $key2->onUpdate()) { return true; } @@ -416,10 +408,7 @@ class Comparator * If there are differences this method returns $field2, otherwise the * boolean false. * - * @param \Doctrine\DBAL\Schema\Column $column1 - * @param \Doctrine\DBAL\Schema\Column $column2 - * - * @return array + * @return string[] */ public function diffColumn(Column $column1, Column $column2) { @@ -429,9 +418,11 @@ class Comparator $changedProperties = []; foreach (['type', 'notnull', 'unsigned', 'autoincrement'] as $property) { - if ($properties1[$property] != $properties2[$property]) { - $changedProperties[] = $property; + if ($properties1[$property] === $properties2[$property]) { + continue; } + + $changedProperties[] = $property; } // This is a very nasty hack to make comparator work with the legacy json_array type, which should be killed in v3 @@ -441,12 +432,10 @@ class Comparator $changedProperties[] = 'comment'; } - if ($properties1['default'] != $properties2['default'] || - // Null values need to be checked additionally as they tell whether to create or drop a default value. - // null != 0, null != false, null != '' etc. This affects platform's table alteration SQL generation. - (null === $properties1['default'] && null !== $properties2['default']) || - (null === $properties2['default'] && null !== $properties1['default']) - ) { + // Null values need to be checked additionally as they tell whether to create or drop a default value. + // null != 0, null != false, null != '' etc. This affects platform's table alteration SQL generation. + if (($properties1['default'] === null) !== ($properties2['default'] === null) + || (string) $properties1['default'] !== (string) $properties2['default']) { $changedProperties[] = 'default'; } @@ -456,26 +445,26 @@ class Comparator // check if value of length is set at all, default value assumed otherwise. $length1 = $properties1['length'] ?: 255; $length2 = $properties2['length'] ?: 255; - if ($length1 != $length2) { + if ($length1 !== $length2) { $changedProperties[] = 'length'; } - if ($properties1['fixed'] != $properties2['fixed']) { + if ($properties1['fixed'] !== $properties2['fixed']) { $changedProperties[] = 'fixed'; } } elseif ($properties1['type'] instanceof Types\DecimalType) { - if (($properties1['precision'] ?: 10) != ($properties2['precision'] ?: 10)) { + if (($properties1['precision'] ?: 10) !== ($properties2['precision'] ?: 10)) { $changedProperties[] = 'precision'; } - if ($properties1['scale'] != $properties2['scale']) { + if ($properties1['scale'] !== $properties2['scale']) { $changedProperties[] = 'scale'; } } // A null value and an empty string are actually equal for a comment so they should not trigger a change. if ($properties1['comment'] !== $properties2['comment'] && - ! (null === $properties1['comment'] && '' === $properties2['comment']) && - ! (null === $properties2['comment'] && '' === $properties1['comment']) + ! ($properties1['comment'] === null && $properties2['comment'] === '') && + ! ($properties2['comment'] === null && $properties1['comment'] === '') ) { $changedProperties[] = 'comment'; } @@ -484,7 +473,7 @@ class Comparator $customOptions2 = $column2->getCustomSchemaOptions(); foreach (array_merge(array_keys($customOptions1), array_keys($customOptions2)) as $key) { - if ( ! array_key_exists($key, $properties1) || ! array_key_exists($key, $properties2)) { + if (! array_key_exists($key, $properties1) || ! array_key_exists($key, $properties2)) { $changedProperties[] = $key; } elseif ($properties1[$key] !== $properties2[$key]) { $changedProperties[] = $key; @@ -495,9 +484,11 @@ class Comparator $platformOptions2 = $column2->getPlatformOptions(); foreach (array_keys(array_intersect_key($platformOptions1, $platformOptions2)) as $key) { - if ($properties1[$key] !== $properties2[$key]) { - $changedProperties[] = $key; + if ($properties1[$key] === $properties2[$key]) { + continue; } + + $changedProperties[] = $key; } return array_unique($changedProperties); @@ -510,7 +501,7 @@ class Comparator */ private function isALegacyJsonComparison(Types\Type $one, Types\Type $other) : bool { - if ( ! $one instanceof Types\JsonType || ! $other instanceof Types\JsonType) { + if (! $one instanceof Types\JsonType || ! $other instanceof Types\JsonType) { return false; } @@ -524,9 +515,6 @@ class Comparator * Compares $index1 with $index2 and returns $index2 if there are any * differences or false in case there are no differences. * - * @param \Doctrine\DBAL\Schema\Index $index1 - * @param \Doctrine\DBAL\Schema\Index $index2 - * * @return bool */ public function diffIndex(Index $index1, Index $index2) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php index 2e68a7710..65e239ec1 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Constraint.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -23,10 +6,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Marker interface for constraints. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ interface Constraint { @@ -36,8 +15,6 @@ interface Constraint public function getName(); /** - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * * @return string */ public function getQuotedName(AbstractPlatform $platform); @@ -46,7 +23,7 @@ interface Constraint * Returns the names of the referencing table columns * the constraint is associated with. * - * @return array + * @return string[] */ public function getColumns(); @@ -58,9 +35,9 @@ interface Constraint * is a keyword reserved by the platform. * Otherwise the plain unquoted value as inserted is returned. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The platform to use for quotation. + * @param AbstractPlatform $platform The platform to use for quotation. * - * @return array + * @return string[] */ public function getQuotedColumns(AbstractPlatform $platform); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DB2SchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DB2SchemaManager.php index c97685b5d..f5e225512 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DB2SchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DB2SchemaManager.php @@ -1,24 +1,9 @@ . - */ namespace Doctrine\DBAL\Schema; +use Doctrine\DBAL\Types\Type; +use const CASE_LOWER; use function array_change_key_case; use function is_resource; use function strpos; @@ -28,10 +13,6 @@ use function trim; /** * IBM Db2 Schema Manager. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei */ class DB2SchemaManager extends AbstractSchemaManager { @@ -43,8 +24,8 @@ class DB2SchemaManager extends AbstractSchemaManager */ public function listTableNames() { - $sql = $this->_platform->getListTablesSQL(); - $sql .= " AND CREATOR = UPPER('".$this->_conn->getUsername()."')"; + $sql = $this->_platform->getListTablesSQL(); + $sql .= ' AND CREATOR = UPPER(' . $this->_conn->quote($this->_conn->getUsername()) . ')'; $tables = $this->_conn->fetchAll($sql); @@ -56,35 +37,35 @@ class DB2SchemaManager extends AbstractSchemaManager */ protected function _getPortableTableColumnDefinition($tableColumn) { - $tableColumn = array_change_key_case($tableColumn, \CASE_LOWER); + $tableColumn = array_change_key_case($tableColumn, CASE_LOWER); - $length = null; - $fixed = null; - $unsigned = false; - $scale = false; + $length = null; + $fixed = null; + $unsigned = false; + $scale = false; $precision = false; $default = null; - if (null !== $tableColumn['default'] && 'NULL' != $tableColumn['default']) { + if ($tableColumn['default'] !== null && $tableColumn['default'] !== 'NULL') { $default = trim($tableColumn['default'], "'"); } $type = $this->_platform->getDoctrineTypeMapping($tableColumn['typename']); if (isset($tableColumn['comment'])) { - $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type); + $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type); $tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type); } switch (strtolower($tableColumn['typename'])) { case 'varchar': $length = $tableColumn['length']; - $fixed = false; + $fixed = false; break; case 'character': $length = $tableColumn['length']; - $fixed = true; + $fixed = true; break; case 'clob': $length = $tableColumn['length']; @@ -92,7 +73,7 @@ class DB2SchemaManager extends AbstractSchemaManager case 'decimal': case 'double': case 'real': - $scale = $tableColumn['scale']; + $scale = $tableColumn['scale']; $precision = $tableColumn['length']; break; } @@ -102,8 +83,8 @@ class DB2SchemaManager extends AbstractSchemaManager 'unsigned' => (bool) $unsigned, 'fixed' => (bool) $fixed, 'default' => $default, - 'autoincrement' => (boolean) $tableColumn['autoincrement'], - 'notnull' => (bool) ($tableColumn['nulls'] == 'N'), + 'autoincrement' => (bool) $tableColumn['autoincrement'], + 'notnull' => (bool) ($tableColumn['nulls'] === 'N'), 'scale' => null, 'precision' => null, 'comment' => isset($tableColumn['comment']) && $tableColumn['comment'] !== '' @@ -113,11 +94,11 @@ class DB2SchemaManager extends AbstractSchemaManager ]; if ($scale !== null && $precision !== null) { - $options['scale'] = $scale; + $options['scale'] = $scale; $options['precision'] = $precision; } - return new Column($tableColumn['colname'], \Doctrine\DBAL\Types\Type::getType($type), $options); + return new Column($tableColumn['colname'], Type::getType($type), $options); } /** @@ -127,7 +108,7 @@ class DB2SchemaManager extends AbstractSchemaManager { $tableNames = []; foreach ($tables as $tableRow) { - $tableRow = array_change_key_case($tableRow, \CASE_LOWER); + $tableRow = array_change_key_case($tableRow, CASE_LOWER); $tableNames[] = $tableRow['name']; } @@ -140,8 +121,8 @@ class DB2SchemaManager extends AbstractSchemaManager protected function _getPortableTableIndexesList($tableIndexRows, $tableName = null) { foreach ($tableIndexRows as &$tableIndexRow) { - $tableIndexRow = array_change_key_case($tableIndexRow, \CASE_LOWER); - $tableIndexRow['primary'] = (boolean) $tableIndexRow['primary']; + $tableIndexRow = array_change_key_case($tableIndexRow, CASE_LOWER); + $tableIndexRow['primary'] = (bool) $tableIndexRow['primary']; } return parent::_getPortableTableIndexesList($tableIndexRows, $tableName); @@ -169,9 +150,9 @@ class DB2SchemaManager extends AbstractSchemaManager $foreignKeys = []; foreach ($tableForeignKeys as $tableForeignKey) { - $tableForeignKey = array_change_key_case($tableForeignKey, \CASE_LOWER); + $tableForeignKey = array_change_key_case($tableForeignKey, CASE_LOWER); - if (!isset($foreignKeys[$tableForeignKey['index_name']])) { + if (! isset($foreignKeys[$tableForeignKey['index_name']])) { $foreignKeys[$tableForeignKey['index_name']] = [ 'local_columns' => [$tableForeignKey['local_column']], 'foreign_table' => $tableForeignKey['foreign_table'], @@ -180,10 +161,10 @@ class DB2SchemaManager extends AbstractSchemaManager 'options' => [ 'onUpdate' => $tableForeignKey['on_update'], 'onDelete' => $tableForeignKey['on_delete'], - ] + ], ]; } else { - $foreignKeys[$tableForeignKey['index_name']]['local_columns'][] = $tableForeignKey['local_column']; + $foreignKeys[$tableForeignKey['index_name']]['local_columns'][] = $tableForeignKey['local_column']; $foreignKeys[$tableForeignKey['index_name']]['foreign_columns'][] = $tableForeignKey['foreign_column']; } } @@ -196,10 +177,10 @@ class DB2SchemaManager extends AbstractSchemaManager */ protected function _getPortableForeignKeyRuleDef($def) { - if ($def == "C") { - return "CASCADE"; - } elseif ($def == "N") { - return "SET NULL"; + if ($def === 'C') { + return 'CASCADE'; + } elseif ($def === 'N') { + return 'SET NULL'; } return null; @@ -210,10 +191,10 @@ class DB2SchemaManager extends AbstractSchemaManager */ protected function _getPortableViewDefinition($view) { - $view = array_change_key_case($view, \CASE_LOWER); + $view = array_change_key_case($view, CASE_LOWER); // sadly this still segfaults on PDO_IBM, see http://pecl.php.net/bugs/bug.php?id=17199 //$view['text'] = (is_resource($view['text']) ? stream_get_contents($view['text']) : $view['text']); - if (!is_resource($view['text'])) { + if (! is_resource($view['text'])) { $pos = strpos($view['text'], ' AS '); $sql = substr($view['text'], $pos+4); } else { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DrizzleSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DrizzleSchemaManager.php index a10eb3da0..c334db279 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DrizzleSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/DrizzleSchemaManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -26,8 +9,6 @@ use function trim; /** * Schema manager for the Drizzle RDBMS. - * - * @author Kim Hemsø Rasmussen */ class DrizzleSchemaManager extends AbstractSchemaManager { @@ -38,25 +19,25 @@ class DrizzleSchemaManager extends AbstractSchemaManager { $dbType = strtolower($tableColumn['DATA_TYPE']); - $type = $this->_platform->getDoctrineTypeMapping($dbType); - $type = $this->extractDoctrineTypeFromComment($tableColumn['COLUMN_COMMENT'], $type); + $type = $this->_platform->getDoctrineTypeMapping($dbType); + $type = $this->extractDoctrineTypeFromComment($tableColumn['COLUMN_COMMENT'], $type); $tableColumn['COLUMN_COMMENT'] = $this->removeDoctrineTypeFromComment($tableColumn['COLUMN_COMMENT'], $type); $options = [ - 'notnull' => !(bool) $tableColumn['IS_NULLABLE'], + 'notnull' => ! (bool) $tableColumn['IS_NULLABLE'], 'length' => (int) $tableColumn['CHARACTER_MAXIMUM_LENGTH'], 'default' => $tableColumn['COLUMN_DEFAULT'] ?? null, 'autoincrement' => (bool) $tableColumn['IS_AUTO_INCREMENT'], 'scale' => (int) $tableColumn['NUMERIC_SCALE'], 'precision' => (int) $tableColumn['NUMERIC_PRECISION'], - 'comment' => isset($tableColumn['COLUMN_COMMENT']) && '' !== $tableColumn['COLUMN_COMMENT'] + 'comment' => isset($tableColumn['COLUMN_COMMENT']) && $tableColumn['COLUMN_COMMENT'] !== '' ? $tableColumn['COLUMN_COMMENT'] : null, ]; $column = new Column($tableColumn['COLUMN_NAME'], Type::getType($type), $options); - if ( ! empty($tableColumn['COLLATION_NAME'])) { + if (! empty($tableColumn['COLLATION_NAME'])) { $column->setPlatformOption('collation', $tableColumn['COLLATION_NAME']); } @@ -113,8 +94,8 @@ class DrizzleSchemaManager extends AbstractSchemaManager { $indexes = []; foreach ($tableIndexes as $k) { - $k['primary'] = (boolean) $k['primary']; - $indexes[] = $k; + $k['primary'] = (bool) $k['primary']; + $indexes[] = $k; } return parent::_getPortableTableIndexesList($indexes, $tableName); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php index a50b7a0b5..31850d7f2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/ForeignKeyConstraint.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -31,18 +14,13 @@ use function strtoupper; /** * An abstraction class for a foreign key constraint. - * - * @author Benjamin Eberlei - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.0 */ class ForeignKeyConstraint extends AbstractAsset implements Constraint { /** * Instance of the referencing table the foreign key constraint is associated with. * - * @var \Doctrine\DBAL\Schema\Table + * @var Table */ protected $_localTable; @@ -70,26 +48,28 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint protected $_foreignColumnNames; /** - * @var array Options associated with the foreign key constraint. + * Options associated with the foreign key constraint. + * + * @var mixed[] */ protected $_options; /** * Initializes the foreign key constraint. * - * @param array $localColumnNames Names of the referencing table columns. + * @param string[] $localColumnNames Names of the referencing table columns. * @param Table|string $foreignTableName Referenced table. - * @param array $foreignColumnNames Names of the referenced table columns. + * @param string[] $foreignColumnNames Names of the referenced table columns. * @param string|null $name Name of the foreign key constraint. - * @param array $options Options associated with the foreign key constraint. + * @param mixed[] $options Options associated with the foreign key constraint. */ public function __construct(array $localColumnNames, $foreignTableName, array $foreignColumnNames, $name = null, array $options = []) { $this->_setName($name); - $identifierConstructorCallback = function ($column) { + $identifierConstructorCallback = static function ($column) { return new Identifier($column); }; - $this->_localColumnNames = $localColumnNames + $this->_localColumnNames = $localColumnNames ? array_combine($localColumnNames, array_map($identifierConstructorCallback, $localColumnNames)) : []; @@ -102,7 +82,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint $this->_foreignColumnNames = $foreignColumnNames ? array_combine($foreignColumnNames, array_map($identifierConstructorCallback, $foreignColumnNames)) : []; - $this->_options = $options; + $this->_options = $options; } /** @@ -120,7 +100,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * Sets the Table instance of the referencing table * the foreign key constraint is associated with. * - * @param \Doctrine\DBAL\Schema\Table $table Instance of the referencing table. + * @param Table $table Instance of the referencing table. * * @return void */ @@ -141,7 +121,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * Returns the names of the referencing table columns * the foreign key constraint is associated with. * - * @return array + * @return string[] */ public function getLocalColumns() { @@ -156,9 +136,9 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * is a keyword reserved by the platform. * Otherwise the plain unquoted value as inserted is returned. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The platform to use for quotation. + * @param AbstractPlatform $platform The platform to use for quotation. * - * @return array + * @return string[] */ public function getQuotedLocalColumns(AbstractPlatform $platform) { @@ -174,7 +154,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint /** * Returns unquoted representation of local table column names for comparison with other FK * - * @return array + * @return string[] */ public function getUnquotedLocalColumns() { @@ -184,7 +164,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint /** * Returns unquoted representation of foreign table column names for comparison with other FK * - * @return array + * @return string[] */ public function getUnquotedForeignColumns() { @@ -209,11 +189,11 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * is a keyword reserved by the platform. * Otherwise the plain unquoted value as inserted is returned. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The platform to use for quotation. - * * @see getQuotedLocalColumns * - * @return array + * @param AbstractPlatform $platform The platform to use for quotation. + * + * @return string[] */ public function getQuotedColumns(AbstractPlatform $platform) { @@ -238,7 +218,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint */ public function getUnqualifiedForeignTableName() { - $parts = explode(".", $this->_foreignTableName->getName()); + $parts = explode('.', $this->_foreignTableName->getName()); return strtolower(end($parts)); } @@ -251,7 +231,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * is a keyword reserved by the platform. * Otherwise the plain unquoted value as inserted is returned. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The platform to use for quotation. + * @param AbstractPlatform $platform The platform to use for quotation. * * @return string */ @@ -264,7 +244,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * Returns the names of the referenced table columns * the foreign key constraint is associated with. * - * @return array + * @return string[] */ public function getForeignColumns() { @@ -279,9 +259,9 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint * is a keyword reserved by the platform. * Otherwise the plain unquoted value as inserted is returned. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The platform to use for quotation. + * @param AbstractPlatform $platform The platform to use for quotation. * - * @return array + * @return string[] */ public function getQuotedForeignColumns(AbstractPlatform $platform) { @@ -322,7 +302,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint /** * Returns the options associated with the foreign key constraint. * - * @return array + * @return mixed[] */ public function getOptions() { @@ -364,7 +344,7 @@ class ForeignKeyConstraint extends AbstractAsset implements Constraint if (isset($this->_options[$event])) { $onEvent = strtoupper($this->_options[$event]); - if ( ! in_array($onEvent, ['NO ACTION', 'RESTRICT'])) { + if (! in_array($onEvent, ['NO ACTION', 'RESTRICT'])) { return $onEvent; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Identifier.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Identifier.php index babe583e4..f34465e9e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Identifier.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Identifier.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -24,16 +7,10 @@ namespace Doctrine\DBAL\Schema; * * Wraps identifier names like column names in indexes / foreign keys * in an abstract class for proper quotation capabilities. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.4 */ class Identifier extends AbstractAsset { /** - * Constructor. - * * @param string $identifier Identifier name to wrap. * @param bool $quote Whether to force quoting the given identifier. */ @@ -41,8 +18,10 @@ class Identifier extends AbstractAsset { $this->_setName($identifier); - if ($quote && ! $this->_quoted) { - $this->_setName('"' . $this->getName() . '"'); + if (! $quote || $this->_quoted) { + return; } + + $this->_setName('"' . $this->getName() . '"'); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php index 78a2322c8..bae6d218c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Index.php @@ -1,28 +1,13 @@ . - */ namespace Doctrine\DBAL\Schema; use Doctrine\DBAL\Platforms\AbstractPlatform; +use InvalidArgumentException; use function array_keys; use function array_map; use function array_search; +use function array_shift; use function count; use function is_string; use function strtolower; @@ -37,21 +22,17 @@ class Index extends AbstractAsset implements Constraint */ protected $_columns = []; - /** - * @var bool - */ + /** @var bool */ protected $_isUnique = false; - /** - * @var bool - */ + /** @var bool */ protected $_isPrimary = false; /** * Platform specific flags for indexes. * array($flagName => true) * - * @var array + * @var true[] */ protected $_flags = []; @@ -59,8 +40,7 @@ class Index extends AbstractAsset implements Constraint * Platform specific options * * @todo $_flags should eventually be refactored into options - * - * @var array + * @var mixed[] */ private $options = []; @@ -70,16 +50,16 @@ class Index extends AbstractAsset implements Constraint * @param bool $isUnique * @param bool $isPrimary * @param string[] $flags - * @param array $options + * @param mixed[] $options */ public function __construct($indexName, array $columns, $isUnique = false, $isPrimary = false, array $flags = [], array $options = []) { $isUnique = $isUnique || $isPrimary; $this->_setName($indexName); - $this->_isUnique = $isUnique; + $this->_isUnique = $isUnique; $this->_isPrimary = $isPrimary; - $this->options = $options; + $this->options = $options; foreach ($columns as $column) { $this->_addColumn($column); @@ -94,15 +74,15 @@ class Index extends AbstractAsset implements Constraint * * @return void * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ protected function _addColumn($column) { - if (is_string($column)) { - $this->_columns[$column] = new Identifier($column); - } else { - throw new \InvalidArgumentException("Expecting a string as Index Column"); + if (! is_string($column)) { + throw new InvalidArgumentException('Expecting a string as Index Column'); } + + $this->_columns[$column] = new Identifier($column); } /** @@ -118,10 +98,21 @@ class Index extends AbstractAsset implements Constraint */ public function getQuotedColumns(AbstractPlatform $platform) { + $subParts = $platform->supportsColumnLengthIndexes() && $this->hasOption('lengths') + ? $this->getOption('lengths') : []; + $columns = []; foreach ($this->_columns as $column) { - $columns[] = $column->getQuotedName($platform); + $length = array_shift($subParts); + + $quotedColumn = $column->getQuotedName($platform); + + if ($length !== null) { + $quotedColumn .= '(' . $length . ')'; + } + + $columns[] = $quotedColumn; } return $columns; @@ -142,7 +133,7 @@ class Index extends AbstractAsset implements Constraint */ public function isSimpleIndex() { - return !$this->_isPrimary && !$this->_isUnique; + return ! $this->_isPrimary && ! $this->_isUnique; } /** @@ -178,7 +169,7 @@ class Index extends AbstractAsset implements Constraint /** * Checks if this index exactly spans the given column names in the correct order. * - * @param array $columnNames + * @param string[] $columnNames * * @return bool */ @@ -189,9 +180,11 @@ class Index extends AbstractAsset implements Constraint $sameColumns = true; for ($i = 0; $i < $numberOfColumns; $i++) { - if ( ! isset($columnNames[$i]) || $this->trimQuotes(strtolower($columns[$i])) !== $this->trimQuotes(strtolower($columnNames[$i]))) { - $sameColumns = false; + if (isset($columnNames[$i]) && $this->trimQuotes(strtolower($columns[$i])) === $this->trimQuotes(strtolower($columnNames[$i]))) { + continue; } + + $sameColumns = false; } return $sameColumns; @@ -200,15 +193,13 @@ class Index extends AbstractAsset implements Constraint /** * Checks if the other index already fulfills all the indexing and constraint needs of the current one. * - * @param Index $other - * * @return bool */ public function isFullfilledBy(Index $other) { // allow the other index to be equally large only. It being larger is an option // but it creates a problem with scenarios of the kind PRIMARY KEY(foo,bar) UNIQUE(foo) - if (count($other->getColumns()) != count($this->getColumns())) { + if (count($other->getColumns()) !== count($this->getColumns())) { return false; } @@ -216,11 +207,11 @@ class Index extends AbstractAsset implements Constraint $sameColumns = $this->spansColumns($other->getColumns()); if ($sameColumns) { - if ( ! $this->samePartialIndex($other)) { + if (! $this->samePartialIndex($other)) { return false; } - if ( ! $this->isUnique() && ! $this->isPrimary()) { + if (! $this->isUnique() && ! $this->isPrimary()) { // this is a special case: If the current key is neither primary or unique, any unique or // primary key will always have the same effect for the index and there cannot be any constraint // overlaps. This means a primary or unique index can always fulfill the requirements of just an @@ -228,7 +219,7 @@ class Index extends AbstractAsset implements Constraint return true; } - if ($other->isPrimary() != $this->isPrimary()) { + if ($other->isPrimary() !== $this->isPrimary()) { return false; } @@ -241,8 +232,6 @@ class Index extends AbstractAsset implements Constraint /** * Detects if the other index is a non-unique, non primary index that can be overwritten by this one. * - * @param Index $other - * * @return bool */ public function overrules(Index $other) @@ -269,11 +258,11 @@ class Index extends AbstractAsset implements Constraint /** * Adds Flag for an index that translates to platform specific handling. * - * @example $index->addFlag('CLUSTERED') - * * @param string $flag * * @return Index + * + * @example $index->addFlag('CLUSTERED') */ public function addFlag($flag) { @@ -327,7 +316,7 @@ class Index extends AbstractAsset implements Constraint } /** - * @return array + * @return mixed[] */ public function getOptions() { @@ -336,17 +325,15 @@ class Index extends AbstractAsset implements Constraint /** * Return whether the two indexes have the same partial index - * @param \Doctrine\DBAL\Schema\Index $other * * @return bool */ private function samePartialIndex(Index $other) { - if ($this->hasOption('where') && $other->hasOption('where') && $this->getOption('where') == $other->getOption('where')) { + if ($this->hasOption('where') && $other->hasOption('where') && $this->getOption('where') === $other->getOption('where')) { return true; } return ! $this->hasOption('where') && ! $other->hasOption('where'); } - } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php index a56a6af86..b6332026c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/MySqlSchemaManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -27,6 +10,7 @@ use function array_change_key_case; use function array_shift; use function array_values; use function end; +use function explode; use function preg_match; use function preg_replace; use function str_replace; @@ -34,15 +18,10 @@ use function stripslashes; use function strpos; use function strtok; use function strtolower; +use function trim; /** * Schema manager for the MySql RDBMS. - * - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Roman Borschel - * @author Benjamin Eberlei - * @since 2.0 */ class MySqlSchemaManager extends AbstractSchemaManager { @@ -90,6 +69,8 @@ class MySqlSchemaManager extends AbstractSchemaManager } elseif (strpos($v['index_type'], 'SPATIAL') !== false) { $v['flags'] = ['SPATIAL']; } + $v['length'] = $v['sub_part'] ?? null; + $tableIndexes[$k] = $v; } @@ -125,7 +106,7 @@ class MySqlSchemaManager extends AbstractSchemaManager $fixed = null; - if ( ! isset($tableColumn['name'])) { + if (! isset($tableColumn['name'])) { $tableColumn['name'] = ''; } @@ -233,7 +214,7 @@ class MySqlSchemaManager extends AbstractSchemaManager * @link https://mariadb.com/kb/en/library/information-schema-columns-table/ * @link https://jira.mariadb.org/browse/MDEV-13132 * - * @param null|string $columnDefault default value as stored in information_schema for MariaDB >= 10.2.7 + * @param string|null $columnDefault default value as stored in information_schema for MariaDB >= 10.2.7 */ private function getMariaDb1027ColumnDefault(MariaDb1027Platform $platform, ?string $columnDefault) : ?string { @@ -242,7 +223,9 @@ class MySqlSchemaManager extends AbstractSchemaManager } if ($columnDefault[0] === "'") { return stripslashes( - str_replace("''", "'", + str_replace( + "''", + "'", preg_replace('/^\'(.*)\'$/', '$1', $columnDefault) ) ); @@ -266,11 +249,11 @@ class MySqlSchemaManager extends AbstractSchemaManager $list = []; foreach ($tableForeignKeys as $value) { $value = array_change_key_case($value, CASE_LOWER); - if ( ! isset($list[$value['constraint_name']])) { - if ( ! isset($value['delete_rule']) || $value['delete_rule'] === "RESTRICT") { + if (! isset($list[$value['constraint_name']])) { + if (! isset($value['delete_rule']) || $value['delete_rule'] === 'RESTRICT') { $value['delete_rule'] = null; } - if ( ! isset($value['update_rule']) || $value['update_rule'] === "RESTRICT") { + if (! isset($value['update_rule']) || $value['update_rule'] === 'RESTRICT') { $value['update_rule'] = null; } @@ -303,4 +286,44 @@ class MySqlSchemaManager extends AbstractSchemaManager return $result; } + + public function listTableDetails($tableName) + { + $table = parent::listTableDetails($tableName); + + /** @var MySqlPlatform $platform */ + $platform = $this->_platform; + $sql = $platform->getListTableMetadataSQL($tableName); + + $tableOptions = $this->_conn->fetchAssoc($sql); + + $table->addOption('engine', $tableOptions['ENGINE']); + if ($tableOptions['TABLE_COLLATION'] !== null) { + $table->addOption('collation', $tableOptions['TABLE_COLLATION']); + } + if ($tableOptions['AUTO_INCREMENT'] !== null) { + $table->addOption('autoincrement', $tableOptions['AUTO_INCREMENT']); + } + $table->addOption('comment', $tableOptions['TABLE_COMMENT']); + + if ($tableOptions['CREATE_OPTIONS'] === null) { + return $table; + } + + $createOptionsString = trim($tableOptions['CREATE_OPTIONS']); + + $createOptions = []; + + if ($createOptionsString !== '') { + foreach (explode(' ', $createOptionsString) as $option) { + [$createOption, $value] = explode('=', $option); + + $createOptions[$createOption] = $value; + } + } + + $table->addOption('create_options', $createOptions); + + return $table; + } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/OracleSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/OracleSchemaManager.php index c016db1a9..e84b0a551 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/OracleSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/OracleSchemaManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -27,7 +10,6 @@ use const CASE_LOWER; use function array_change_key_case; use function array_values; use function assert; -use function is_null; use function preg_match; use function sprintf; use function strpos; @@ -37,11 +19,6 @@ use function trim; /** * Oracle Schema Manager. - * - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Benjamin Eberlei - * @since 2.0 */ class OracleSchemaManager extends AbstractSchemaManager { @@ -78,7 +55,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableViewDefinition($view) { - $view = \array_change_key_case($view, CASE_LOWER); + $view = array_change_key_case($view, CASE_LOWER); return new View($this->getQuotedIdentifierName($view['view_name']), $view['text']); } @@ -88,7 +65,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableUserDefinition($user) { - $user = \array_change_key_case($user, CASE_LOWER); + $user = array_change_key_case($user, CASE_LOWER); return [ 'user' => $user['username'], @@ -100,7 +77,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableTableDefinition($table) { - $table = \array_change_key_case($table, CASE_LOWER); + $table = array_change_key_case($table, CASE_LOWER); return $this->getQuotedIdentifierName($table['table_name']); } @@ -108,29 +85,28 @@ class OracleSchemaManager extends AbstractSchemaManager /** * {@inheritdoc} * - * @license New BSD License * @link http://ezcomponents.org/docs/api/trunk/DatabaseSchema/ezcDbSchemaPgsqlReader.html */ - protected function _getPortableTableIndexesList($tableIndexes, $tableName=null) + protected function _getPortableTableIndexesList($tableIndexes, $tableName = null) { $indexBuffer = []; foreach ($tableIndexes as $tableIndex) { - $tableIndex = \array_change_key_case($tableIndex, CASE_LOWER); + $tableIndex = array_change_key_case($tableIndex, CASE_LOWER); $keyName = strtolower($tableIndex['name']); $buffer = []; - if (strtolower($tableIndex['is_primary']) == "p") { - $keyName = 'primary'; - $buffer['primary'] = true; + if (strtolower($tableIndex['is_primary']) === 'p') { + $keyName = 'primary'; + $buffer['primary'] = true; $buffer['non_unique'] = false; } else { - $buffer['primary'] = false; + $buffer['primary'] = false; $buffer['non_unique'] = ! $tableIndex['is_unique']; } - $buffer['key_name'] = $keyName; + $buffer['key_name'] = $keyName; $buffer['column_name'] = $this->getQuotedIdentifierName($tableIndex['column_name']); - $indexBuffer[] = $buffer; + $indexBuffer[] = $buffer; } return parent::_getPortableTableIndexesList($indexBuffer, $tableName); @@ -141,20 +117,20 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableTableColumnDefinition($tableColumn) { - $tableColumn = \array_change_key_case($tableColumn, CASE_LOWER); + $tableColumn = array_change_key_case($tableColumn, CASE_LOWER); $dbType = strtolower($tableColumn['data_type']); - if (strpos($dbType, "timestamp(") === 0) { - if (strpos($dbType, "with time zone")) { - $dbType = "timestamptz"; + if (strpos($dbType, 'timestamp(') === 0) { + if (strpos($dbType, 'with time zone')) { + $dbType = 'timestamptz'; } else { - $dbType = "timestamp"; + $dbType = 'timestamp'; } } $unsigned = $fixed = null; - if ( ! isset($tableColumn['column_name'])) { + if (! isset($tableColumn['column_name'])) { $tableColumn['column_name'] = ''; } @@ -165,36 +141,36 @@ class OracleSchemaManager extends AbstractSchemaManager $tableColumn['data_default'] = null; } - if (null !== $tableColumn['data_default']) { + if ($tableColumn['data_default'] !== null) { // Default values returned from database are enclosed in single quotes. $tableColumn['data_default'] = trim($tableColumn['data_default'], "'"); } $precision = null; - $scale = null; + $scale = null; - $type = $this->_platform->getDoctrineTypeMapping($dbType); - $type = $this->extractDoctrineTypeFromComment($tableColumn['comments'], $type); + $type = $this->_platform->getDoctrineTypeMapping($dbType); + $type = $this->extractDoctrineTypeFromComment($tableColumn['comments'], $type); $tableColumn['comments'] = $this->removeDoctrineTypeFromComment($tableColumn['comments'], $type); switch ($dbType) { case 'number': - if ($tableColumn['data_precision'] == 20 && $tableColumn['data_scale'] == 0) { + if ($tableColumn['data_precision'] === 20 && $tableColumn['data_scale'] === 0) { $precision = 20; - $scale = 0; - $type = 'bigint'; - } elseif ($tableColumn['data_precision'] == 5 && $tableColumn['data_scale'] == 0) { - $type = 'smallint'; + $scale = 0; + $type = 'bigint'; + } elseif ($tableColumn['data_precision'] === 5 && $tableColumn['data_scale'] === 0) { + $type = 'smallint'; $precision = 5; - $scale = 0; - } elseif ($tableColumn['data_precision'] == 1 && $tableColumn['data_scale'] == 0) { + $scale = 0; + } elseif ($tableColumn['data_precision'] === 1 && $tableColumn['data_scale'] === 0) { $precision = 1; - $scale = 0; - $type = 'boolean'; + $scale = 0; + $type = 'boolean'; } elseif ($tableColumn['data_scale'] > 0) { $precision = $tableColumn['data_precision']; - $scale = $tableColumn['data_scale']; - $type = 'decimal'; + $scale = $tableColumn['data_scale']; + $type = 'decimal'; } $length = null; break; @@ -206,12 +182,12 @@ class OracleSchemaManager extends AbstractSchemaManager case 'varchar2': case 'nvarchar2': $length = $tableColumn['char_length']; - $fixed = false; + $fixed = false; break; case 'char': case 'nchar': $length = $tableColumn['char_length']; - $fixed = true; + $fixed = true; break; case 'date': case 'timestamp': @@ -221,8 +197,8 @@ class OracleSchemaManager extends AbstractSchemaManager case 'binary_float': case 'binary_double': $precision = $tableColumn['data_precision']; - $scale = $tableColumn['data_scale']; - $length = null; + $scale = $tableColumn['data_scale']; + $length = null; break; case 'clob': case 'nclob': @@ -248,7 +224,7 @@ class OracleSchemaManager extends AbstractSchemaManager 'length' => $length, 'precision' => $precision, 'scale' => $scale, - 'comment' => isset($tableColumn['comments']) && '' !== $tableColumn['comments'] + 'comment' => isset($tableColumn['comments']) && $tableColumn['comments'] !== '' ? $tableColumn['comments'] : null, ]; @@ -263,9 +239,9 @@ class OracleSchemaManager extends AbstractSchemaManager { $list = []; foreach ($tableForeignKeys as $value) { - $value = \array_change_key_case($value, CASE_LOWER); - if (!isset($list[$value['constraint_name']])) { - if ($value['delete_rule'] == "NO ACTION") { + $value = array_change_key_case($value, CASE_LOWER); + if (! isset($list[$value['constraint_name']])) { + if ($value['delete_rule'] === 'NO ACTION') { $value['delete_rule'] = null; } @@ -278,18 +254,20 @@ class OracleSchemaManager extends AbstractSchemaManager ]; } - $localColumn = $this->getQuotedIdentifierName($value['local_column']); + $localColumn = $this->getQuotedIdentifierName($value['local_column']); $foreignColumn = $this->getQuotedIdentifierName($value['foreign_column']); - $list[$value['constraint_name']]['local'][$value['position']] = $localColumn; + $list[$value['constraint_name']]['local'][$value['position']] = $localColumn; $list[$value['constraint_name']]['foreign'][$value['position']] = $foreignColumn; } $result = []; foreach ($list as $constraint) { $result[] = new ForeignKeyConstraint( - array_values($constraint['local']), $this->getQuotedIdentifierName($constraint['foreignTable']), - array_values($constraint['foreign']), $this->getQuotedIdentifierName($constraint['name']), + array_values($constraint['local']), + $this->getQuotedIdentifierName($constraint['foreignTable']), + array_values($constraint['foreign']), + $this->getQuotedIdentifierName($constraint['name']), ['onDelete' => $constraint['onDelete']] ); } @@ -302,7 +280,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableSequenceDefinition($sequence) { - $sequence = \array_change_key_case($sequence, CASE_LOWER); + $sequence = array_change_key_case($sequence, CASE_LOWER); return new Sequence( $this->getQuotedIdentifierName($sequence['sequence_name']), @@ -316,7 +294,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableFunctionDefinition($function) { - $function = \array_change_key_case($function, CASE_LOWER); + $function = array_change_key_case($function, CASE_LOWER); return $function['name']; } @@ -326,7 +304,7 @@ class OracleSchemaManager extends AbstractSchemaManager */ protected function _getPortableDatabaseDefinition($database) { - $database = \array_change_key_case($database, CASE_LOWER); + $database = array_change_key_case($database, CASE_LOWER); return $database['username']; } @@ -340,11 +318,11 @@ class OracleSchemaManager extends AbstractSchemaManager $database = $this->_conn->getDatabase(); } - $params = $this->_conn->getParams(); - $username = $database; - $password = $params['password']; + $params = $this->_conn->getParams(); + $username = $database; + $password = $params['password']; - $query = 'CREATE USER ' . $username . ' IDENTIFIED BY ' . $password; + $query = 'CREATE USER ' . $username . ' IDENTIFIED BY ' . $password; $this->_conn->executeUpdate($query); $query = 'GRANT DBA TO ' . $username; @@ -423,7 +401,7 @@ SQL; $activeUserSessions = $this->_conn->fetchAll($sql, [strtoupper($user)]); foreach ($activeUserSessions as $activeUserSession) { - $activeUserSession = array_change_key_case($activeUserSession, \CASE_LOWER); + $activeUserSession = array_change_key_case($activeUserSession, CASE_LOWER); $this->_execSql( sprintf( diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php index 621fdc245..168e74ea8 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -31,10 +14,11 @@ use function array_map; use function array_shift; use function assert; use function explode; +use function implode; use function in_array; -use function join; use function preg_match; use function preg_replace; +use function sprintf; use function str_replace; use function stripos; use function strlen; @@ -44,23 +28,16 @@ use function trim; /** * PostgreSQL Schema Manager. - * - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Benjamin Eberlei - * @since 2.0 */ class PostgreSqlSchemaManager extends AbstractSchemaManager { - /** - * @var array - */ + /** @var string[] */ private $existingSchemaPaths; /** * Gets all the existing schema names. * - * @return array + * @return string[] */ public function getSchemaNames() { @@ -74,12 +51,12 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager * * This is a PostgreSQL only function. * - * @return array + * @return string[] */ public function getSchemaSearchPaths() { $params = $this->_conn->getParams(); - $schema = explode(",", $this->_conn->fetchColumn('SHOW search_path')); + $schema = explode(',', $this->_conn->fetchColumn('SHOW search_path')); if (isset($params['user'])) { $schema = str_replace('"$user"', $params['user'], $schema); @@ -93,7 +70,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager * * This is a PostgreSQL only function. * - * @return array + * @return string[] */ public function getExistingSchemaSearchPaths() { @@ -116,7 +93,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager $names = $this->getSchemaNames(); $paths = $this->getSchemaSearchPaths(); - $this->existingSchemaPaths = array_filter($paths, function ($v) use ($names) { + $this->existingSchemaPaths = array_filter($paths, static function ($v) use ($names) { return in_array($v, $names); }); } @@ -171,13 +148,16 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager if (preg_match('/FOREIGN KEY \((.+)\) REFERENCES (.+)\((.+)\)/', $tableForeignKey['condef'], $values)) { // PostgreSQL returns identifiers that are keywords with quotes, we need them later, don't get // the idea to trim them here. - $localColumns = array_map('trim', explode(",", $values[1])); - $foreignColumns = array_map('trim', explode(",", $values[3])); - $foreignTable = $values[2]; + $localColumns = array_map('trim', explode(',', $values[1])); + $foreignColumns = array_map('trim', explode(',', $values[3])); + $foreignTable = $values[2]; } return new ForeignKeyConstraint( - $localColumns, $foreignTable, $foreignColumns, $tableForeignKey['conname'], + $localColumns, + $foreignTable, + $foreignColumns, + $tableForeignKey['conname'], ['onUpdate' => $onUpdate, 'onDelete' => $onDelete] ); } @@ -195,7 +175,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager */ protected function _getPortableViewDefinition($view) { - return new View($view['schemaname'].'.'.$view['viewname'], $view['definition']); + return new View($view['schemaname'] . '.' . $view['viewname'], $view['definition']); } /** @@ -205,7 +185,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager { return [ 'user' => $user['usename'], - 'password' => $user['passwd'] + 'password' => $user['passwd'], ]; } @@ -214,46 +194,49 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager */ protected function _getPortableTableDefinition($table) { - $schemas = $this->getExistingSchemaSearchPaths(); + $schemas = $this->getExistingSchemaSearchPaths(); $firstSchema = array_shift($schemas); - if ($table['schema_name'] == $firstSchema) { + if ($table['schema_name'] === $firstSchema) { return $table['table_name']; } - return $table['schema_name'] . "." . $table['table_name']; + return $table['schema_name'] . '.' . $table['table_name']; } /** * {@inheritdoc} * - * @license New BSD License * @link http://ezcomponents.org/docs/api/trunk/DatabaseSchema/ezcDbSchemaPgsqlReader.html */ - protected function _getPortableTableIndexesList($tableIndexes, $tableName=null) + protected function _getPortableTableIndexesList($tableIndexes, $tableName = null) { $buffer = []; foreach ($tableIndexes as $row) { - $colNumbers = explode(' ', $row['indkey']); - $colNumbersSql = 'IN (' . join(' ,', $colNumbers) . ' )'; - $columnNameSql = "SELECT attnum, attname FROM pg_attribute - WHERE attrelid={$row['indrelid']} AND attnum $colNumbersSql ORDER BY attnum ASC;"; + $colNumbers = array_map('intval', explode(' ', $row['indkey'])); + $columnNameSql = sprintf( + 'SELECT attnum, attname FROM pg_attribute WHERE attrelid=%d AND attnum IN (%s) ORDER BY attnum ASC', + $row['indrelid'], + implode(' ,', $colNumbers) + ); - $stmt = $this->_conn->executeQuery($columnNameSql); + $stmt = $this->_conn->executeQuery($columnNameSql); $indexColumns = $stmt->fetchAll(); // required for getting the order of the columns right. foreach ($colNumbers as $colNum) { foreach ($indexColumns as $colRow) { - if ($colNum == $colRow['attnum']) { - $buffer[] = [ - 'key_name' => $row['relname'], - 'column_name' => trim($colRow['attname']), - 'non_unique' => !$row['indisunique'], - 'primary' => $row['indisprimary'], - 'where' => $row['where'], - ]; + if ($colNum !== $colRow['attnum']) { + continue; } + + $buffer[] = [ + 'key_name' => $row['relname'], + 'column_name' => trim($colRow['attname']), + 'non_unique' => ! $row['indisunique'], + 'primary' => $row['indisprimary'], + 'where' => $row['where'], + ]; } } } @@ -277,8 +260,8 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager $sequenceDefinitions = []; foreach ($sequences as $sequence) { - if ($sequence['schemaname'] != 'public') { - $sequenceName = $sequence['schemaname'] . "." . $sequence['relname']; + if ($sequence['schemaname'] !== 'public') { + $sequenceName = $sequence['schemaname'] . '.' . $sequence['relname']; } else { $sequenceName = $sequence['relname']; } @@ -309,14 +292,14 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager protected function _getPortableSequenceDefinition($sequence) { if ($sequence['schemaname'] !== 'public') { - $sequenceName = $sequence['schemaname'] . "." . $sequence['relname']; + $sequenceName = $sequence['schemaname'] . '.' . $sequence['relname']; } else { $sequenceName = $sequence['relname']; } - if ( ! isset($sequence['increment_by'], $sequence['min_value'])) { + if (! isset($sequence['increment_by'], $sequence['min_value'])) { /** @var string[] $data */ - $data = $this->_conn->fetchAssoc('SELECT min_value, increment_by FROM ' . $this->_platform->quoteIdentifier($sequenceName)); + $data = $this->_conn->fetchAssoc('SELECT min_value, increment_by FROM ' . $this->_platform->quoteIdentifier($sequenceName)); $sequence += $data; } @@ -333,7 +316,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager if (strtolower($tableColumn['type']) === 'varchar' || strtolower($tableColumn['type']) === 'bpchar') { // get length from varchar definition - $length = preg_replace('~.*\(([0-9]*)\).*~', '$1', $tableColumn['complete_type']); + $length = preg_replace('~.*\(([0-9]*)\).*~', '$1', $tableColumn['complete_type']); $tableColumn['length'] = $length; } @@ -342,8 +325,8 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager $autoincrement = false; if (preg_match("/^nextval\('(.*)'(::.*)?\)$/", $tableColumn['default'], $matches)) { $tableColumn['sequence'] = $matches[1]; - $tableColumn['default'] = null; - $autoincrement = true; + $tableColumn['default'] = null; + $autoincrement = true; } if (preg_match("/^['(](.*)[')]::.*$/", $tableColumn['default'], $matches)) { @@ -355,7 +338,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager } $length = $tableColumn['length'] ?? null; - if ($length == '-1' && isset($tableColumn['atttypmod'])) { + if ($length === '-1' && isset($tableColumn['atttypmod'])) { $length = $tableColumn['atttypmod'] - 4; } if ((int) $length <= 0) { @@ -363,40 +346,40 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager } $fixed = null; - if (!isset($tableColumn['name'])) { + if (! isset($tableColumn['name'])) { $tableColumn['name'] = ''; } $precision = null; - $scale = null; - $jsonb = null; + $scale = null; + $jsonb = null; $dbType = strtolower($tableColumn['type']); - if (strlen($tableColumn['domain_type']) && !$this->_platform->hasDoctrineTypeMappingFor($tableColumn['type'])) { - $dbType = strtolower($tableColumn['domain_type']); + if (strlen($tableColumn['domain_type']) && ! $this->_platform->hasDoctrineTypeMappingFor($tableColumn['type'])) { + $dbType = strtolower($tableColumn['domain_type']); $tableColumn['complete_type'] = $tableColumn['domain_complete_type']; } - $type = $this->_platform->getDoctrineTypeMapping($dbType); - $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type); + $type = $this->_platform->getDoctrineTypeMapping($dbType); + $type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type); $tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type); switch ($dbType) { case 'smallint': case 'int2': $tableColumn['default'] = $this->fixVersion94NegativeNumericDefaultValue($tableColumn['default']); - $length = null; + $length = null; break; case 'int': case 'int4': case 'integer': $tableColumn['default'] = $this->fixVersion94NegativeNumericDefaultValue($tableColumn['default']); - $length = null; + $length = null; break; case 'bigint': case 'int8': $tableColumn['default'] = $this->fixVersion94NegativeNumericDefaultValue($tableColumn['default']); - $length = null; + $length = null; break; case 'bool': case 'boolean': @@ -435,8 +418,8 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager if (preg_match('([A-Za-z]+\(([0-9]+)\,([0-9]+)\))', $tableColumn['complete_type'], $match)) { $precision = $match[1]; - $scale = $match[2]; - $length = null; + $scale = $match[2]; + $length = null; } break; case 'year': @@ -469,7 +452,7 @@ class PostgreSqlSchemaManager extends AbstractSchemaManager $column = new Column($tableColumn['field'], Type::getType($type), $options); - if (isset($tableColumn['collation']) && !empty($tableColumn['collation'])) { + if (isset($tableColumn['collation']) && ! empty($tableColumn['collation'])) { $column->setPlatformOption('collation', $tableColumn['collation']); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLAnywhereSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLAnywhereSchemaManager.php index 84a04a348..62d5fa88e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLAnywhereSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLAnywhereSchemaManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -26,10 +9,6 @@ use function preg_replace; /** * SAP Sybase SQL Anywhere schema manager. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ class SQLAnywhereSchemaManager extends AbstractSchemaManager { @@ -114,11 +93,11 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager $fixed = false; $default = null; - if (null !== $tableColumn['default']) { + if ($tableColumn['default'] !== null) { // Strip quotes from default value. - $default = preg_replace(["/^'(.*)'$/", "/''/"], ["$1", "'"], $tableColumn['default']); + $default = preg_replace(["/^'(.*)'$/", "/''/"], ['$1', "'"], $tableColumn['default']); - if ('autoincrement' == $default) { + if ($default === 'autoincrement') { $default = null; } } @@ -134,14 +113,14 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager case 'decimal': case 'float': $precision = $tableColumn['length']; - $scale = $tableColumn['scale']; + $scale = $tableColumn['scale']; } return new Column( $tableColumn['column_name'], Type::getType($type), [ - 'length' => $type == 'string' ? $tableColumn['length'] : null, + 'length' => $type === 'string' ? $tableColumn['length'] : null, 'precision' => $precision, 'scale' => $scale, 'unsigned' => (bool) $tableColumn['unsigned'], @@ -149,7 +128,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager 'notnull' => (bool) $tableColumn['notnull'], 'default' => $default, 'autoincrement' => (bool) $tableColumn['autoincrement'], - 'comment' => isset($tableColumn['comment']) && '' !== $tableColumn['comment'] + 'comment' => isset($tableColumn['comment']) && $tableColumn['comment'] !== '' ? $tableColumn['comment'] : null, ] @@ -186,7 +165,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager $foreignKeys = []; foreach ($tableForeignKeys as $tableForeignKey) { - if (!isset($foreignKeys[$tableForeignKey['index_name']])) { + if (! isset($foreignKeys[$tableForeignKey['index_name']])) { $foreignKeys[$tableForeignKey['index_name']] = [ 'local_columns' => [$tableForeignKey['local_column']], 'foreign_table' => $tableForeignKey['foreign_table'], @@ -199,11 +178,11 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager 'onDelete' => $tableForeignKey['on_delete'], 'check_on_commit' => $tableForeignKey['check_on_commit'], 'clustered' => $tableForeignKey['clustered'], - 'for_olap_workload' => $tableForeignKey['for_olap_workload'] - ] + 'for_olap_workload' => $tableForeignKey['for_olap_workload'], + ], ]; } else { - $foreignKeys[$tableForeignKey['index_name']]['local_columns'][] = $tableForeignKey['local_column']; + $foreignKeys[$tableForeignKey['index_name']]['local_columns'][] = $tableForeignKey['local_column']; $foreignKeys[$tableForeignKey['index_name']]['foreign_columns'][] = $tableForeignKey['foreign_column']; } } @@ -217,8 +196,8 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager protected function _getPortableTableIndexesList($tableIndexRows, $tableName = null) { foreach ($tableIndexRows as &$tableIndex) { - $tableIndex['primary'] = (boolean) $tableIndex['primary']; - $tableIndex['flags'] = []; + $tableIndex['primary'] = (bool) $tableIndex['primary']; + $tableIndex['flags'] = []; if ($tableIndex['clustered']) { $tableIndex['flags'][] = 'clustered'; @@ -228,9 +207,11 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager $tableIndex['flags'][] = 'with_nulls_not_distinct'; } - if ($tableIndex['for_olap_workload']) { - $tableIndex['flags'][] = 'for_olap_workload'; + if (! $tableIndex['for_olap_workload']) { + continue; } + + $tableIndex['flags'][] = 'for_olap_workload'; } return parent::_getPortableTableIndexesList($tableIndexRows, $tableName); @@ -243,7 +224,7 @@ class SQLAnywhereSchemaManager extends AbstractSchemaManager { return new View( $view['table_name'], - preg_replace('/^.*\s+as\s+SELECT(.*)/i', "SELECT$1", $view['view_def']) + preg_replace('/^.*\s+as\s+SELECT(.*)/i', 'SELECT$1', $view['view_def']) ); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLServerSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLServerSchemaManager.php index f5383fb7f..6cd82b2ff 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLServerSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SQLServerSchemaManager.php @@ -1,27 +1,11 @@ . - */ namespace Doctrine\DBAL\Schema; use Doctrine\DBAL\DBALException; use Doctrine\DBAL\Driver\DriverException; use Doctrine\DBAL\Types\Type; +use PDOException; use function count; use function in_array; use function preg_replace; @@ -33,13 +17,6 @@ use function trim; /** * SQL Server Schema Manager. - * - * @license http://www.opensource.org/licenses/mit-license.php MIT - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Juozas Kaziukenas - * @author Steve Müller - * @since 2.0 */ class SQLServerSchemaManager extends AbstractSchemaManager { @@ -84,19 +61,23 @@ class SQLServerSchemaManager extends AbstractSchemaManager */ protected function _getPortableTableColumnDefinition($tableColumn) { - $dbType = strtok($tableColumn['type'], '(), '); - $fixed = null; - $length = (int) $tableColumn['length']; + $dbType = strtok($tableColumn['type'], '(), '); + $fixed = null; + $length = (int) $tableColumn['length']; $default = $tableColumn['default']; - if (!isset($tableColumn['name'])) { + if (! isset($tableColumn['name'])) { $tableColumn['name'] = ''; } - while ($default != ($default2 = preg_replace("/^\((.*)\)$/", '$1', $default))) { - $default = trim($default2, "'"); + if ($default !== null) { + while ($default !== ($default2 = preg_replace('/^\((.*)\)$/', '$1', $default))) { + $default = trim($default2, "'"); + + if ($default !== 'getdate()') { + continue; + } - if ($default == 'getdate()') { $default = $this->_platform->getCurrentTimestampSQL(); } } @@ -106,17 +87,17 @@ class SQLServerSchemaManager extends AbstractSchemaManager case 'nvarchar': case 'ntext': // Unicode data requires 2 bytes per character - $length = $length / 2; + $length /= 2; break; case 'varchar': // TEXT type is returned as VARCHAR(MAX) with a length of -1 - if ($length == -1) { + if ($length === -1) { $dbType = 'text'; } break; } - if ('char' === $dbType || 'nchar' === $dbType || 'binary' === $dbType) { + if ($dbType === 'char' || $dbType === 'nchar' || $dbType === 'binary') { $fixed = true; } @@ -125,7 +106,7 @@ class SQLServerSchemaManager extends AbstractSchemaManager $tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type); $options = [ - 'length' => ($length == 0 || !in_array($type, ['text', 'string'])) ? null : $length, + 'length' => $length === 0 || ! in_array($type, ['text', 'string']) ? null : $length, 'unsigned' => false, 'fixed' => (bool) $fixed, 'default' => $default !== 'NULL' ? $default : null, @@ -153,7 +134,7 @@ class SQLServerSchemaManager extends AbstractSchemaManager $foreignKeys = []; foreach ($tableForeignKeys as $tableForeignKey) { - if ( ! isset($foreignKeys[$tableForeignKey['ForeignKey']])) { + if (! isset($foreignKeys[$tableForeignKey['ForeignKey']])) { $foreignKeys[$tableForeignKey['ForeignKey']] = [ 'local_columns' => [$tableForeignKey['ColumnName']], 'foreign_table' => $tableForeignKey['ReferenceTableName'], @@ -161,11 +142,11 @@ class SQLServerSchemaManager extends AbstractSchemaManager 'name' => $tableForeignKey['ForeignKey'], 'options' => [ 'onUpdate' => str_replace('_', ' ', $tableForeignKey['update_referential_action_desc']), - 'onDelete' => str_replace('_', ' ', $tableForeignKey['delete_referential_action_desc']) - ] + 'onDelete' => str_replace('_', ' ', $tableForeignKey['delete_referential_action_desc']), + ], ]; } else { - $foreignKeys[$tableForeignKey['ForeignKey']]['local_columns'][] = $tableForeignKey['ColumnName']; + $foreignKeys[$tableForeignKey['ForeignKey']]['local_columns'][] = $tableForeignKey['ColumnName']; $foreignKeys[$tableForeignKey['ForeignKey']]['foreign_columns'][] = $tableForeignKey['ReferenceColumnName']; } } @@ -176,12 +157,12 @@ class SQLServerSchemaManager extends AbstractSchemaManager /** * {@inheritdoc} */ - protected function _getPortableTableIndexesList($tableIndexRows, $tableName=null) + protected function _getPortableTableIndexesList($tableIndexRows, $tableName = null) { foreach ($tableIndexRows as &$tableIndex) { - $tableIndex['non_unique'] = (boolean) $tableIndex['non_unique']; - $tableIndex['primary'] = (boolean) $tableIndex['primary']; - $tableIndex['flags'] = $tableIndex['flags'] ? [$tableIndex['flags']] : null; + $tableIndex['non_unique'] = (bool) $tableIndex['non_unique']; + $tableIndex['primary'] = (bool) $tableIndex['primary']; + $tableIndex['flags'] = $tableIndex['flags'] ? [$tableIndex['flags']] : null; } return parent::_getPortableTableIndexesList($tableIndexRows, $tableName); @@ -247,18 +228,18 @@ class SQLServerSchemaManager extends AbstractSchemaManager try { $tableIndexes = $this->_conn->fetchAll($sql); - } catch (\PDOException $e) { - if ($e->getCode() == "IMSSP") { + } catch (PDOException $e) { + if ($e->getCode() === 'IMSSP') { return []; - } else { - throw $e; } + + throw $e; } catch (DBALException $e) { if (strpos($e->getMessage(), 'SQLSTATE [01000, 15472]') === 0) { return []; - } else { - throw $e; } + + throw $e; } return $this->_getPortableTableIndexesList($tableIndexes, $table); @@ -273,7 +254,13 @@ class SQLServerSchemaManager extends AbstractSchemaManager foreach ($tableDiff->removedColumns as $col) { $columnConstraintSql = $this->getColumnConstraintSQL($tableDiff->name, $col->getName()); foreach ($this->_conn->fetchAll($columnConstraintSql) as $constraint) { - $this->_conn->exec("ALTER TABLE $tableDiff->name DROP CONSTRAINT " . $constraint['Name']); + $this->_conn->exec( + sprintf( + 'ALTER TABLE %s DROP CONSTRAINT %s', + $tableDiff->name, + $constraint['Name'] + ) + ); } } } @@ -296,8 +283,8 @@ class SQLServerSchemaManager extends AbstractSchemaManager ON Tab.[ID] = Sysobjects.[Parent_Obj] INNER JOIN sys.default_constraints DefCons ON DefCons.[object_id] = Sysobjects.[ID] INNER JOIN SysColumns Col ON Col.[ColID] = DefCons.[parent_column_id] AND Col.[ID] = Tab.[ID] - WHERE Col.[Name] = " . $this->_conn->quote($column) ." AND Tab.[Name] = " . $this->_conn->quote($table) . " - ORDER BY Col.[Name]"; + WHERE Col.[Name] = " . $this->_conn->quote($column) . ' AND Tab.[Name] = ' . $this->_conn->quote($table) . ' + ORDER BY Col.[Name]'; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Schema.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Schema.php index cf5ed4054..7b75f4fb7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Schema.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Schema.php @@ -1,29 +1,12 @@ . - */ namespace Doctrine\DBAL\Schema; +use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\Visitor\CreateSchemaSqlCollector; use Doctrine\DBAL\Schema\Visitor\DropSchemaSqlCollector; use Doctrine\DBAL\Schema\Visitor\NamespaceVisitor; use Doctrine\DBAL\Schema\Visitor\Visitor; -use Doctrine\DBAL\Platforms\AbstractPlatform; use function array_keys; use function strpos; use function strtolower; @@ -51,48 +34,37 @@ use function strtolower; * the CREATE/DROP SQL visitors will just filter this queries and do not * execute them. Only the queries for the currently connected database are * executed. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Schema extends AbstractAsset { /** * The namespaces in this schema. * - * @var array + * @var string[] */ private $namespaces = []; - /** - * @var \Doctrine\DBAL\Schema\Table[] - */ + /** @var Table[] */ protected $_tables = []; - /** - * @var \Doctrine\DBAL\Schema\Sequence[] - */ + /** @var Sequence[] */ protected $_sequences = []; - /** - * @var SchemaConfig - */ + /** @var SchemaConfig */ protected $_schemaConfig = false; /** - * @param \Doctrine\DBAL\Schema\Table[] $tables - * @param \Doctrine\DBAL\Schema\Sequence[] $sequences - * @param \Doctrine\DBAL\Schema\SchemaConfig $schemaConfig - * @param array $namespaces + * @param Table[] $tables + * @param Sequence[] $sequences + * @param string[] $namespaces */ public function __construct( array $tables = [], array $sequences = [], - SchemaConfig $schemaConfig = null, + ?SchemaConfig $schemaConfig = null, array $namespaces = [] ) { - if ($schemaConfig == null) { + if ($schemaConfig === null) { $schemaConfig = new SchemaConfig(); } $this->_schemaConfig = $schemaConfig; @@ -120,22 +92,20 @@ class Schema extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Table $table - * * @return void * - * @throws \Doctrine\DBAL\Schema\SchemaException + * @throws SchemaException */ protected function _addTable(Table $table) { $namespaceName = $table->getNamespaceName(); - $tableName = $table->getFullQualifiedName($this->getName()); + $tableName = $table->getFullQualifiedName($this->getName()); if (isset($this->_tables[$tableName])) { throw SchemaException::tableAlreadyExists($tableName); } - if ( ! $table->isInDefaultNamespace($this->getName()) && ! $this->hasNamespace($namespaceName)) { + if (! $table->isInDefaultNamespace($this->getName()) && ! $this->hasNamespace($namespaceName)) { $this->createNamespace($namespaceName); } @@ -144,22 +114,20 @@ class Schema extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Sequence $sequence - * * @return void * - * @throws \Doctrine\DBAL\Schema\SchemaException + * @throws SchemaException */ protected function _addSequence(Sequence $sequence) { $namespaceName = $sequence->getNamespaceName(); - $seqName = $sequence->getFullQualifiedName($this->getName()); + $seqName = $sequence->getFullQualifiedName($this->getName()); if (isset($this->_sequences[$seqName])) { throw SchemaException::sequenceAlreadyExists($seqName); } - if ( ! $sequence->isInDefaultNamespace($this->getName()) && ! $this->hasNamespace($namespaceName)) { + if (! $sequence->isInDefaultNamespace($this->getName()) && ! $this->hasNamespace($namespaceName)) { $this->createNamespace($namespaceName); } @@ -169,7 +137,7 @@ class Schema extends AbstractAsset /** * Returns the namespaces of this schema. * - * @return array A list of namespace names. + * @return string[] A list of namespace names. */ public function getNamespaces() { @@ -179,7 +147,7 @@ class Schema extends AbstractAsset /** * Gets all tables of this schema. * - * @return \Doctrine\DBAL\Schema\Table[] + * @return Table[] */ public function getTables() { @@ -189,14 +157,14 @@ class Schema extends AbstractAsset /** * @param string $tableName * - * @return \Doctrine\DBAL\Schema\Table + * @return Table * - * @throws \Doctrine\DBAL\Schema\SchemaException + * @throws SchemaException */ public function getTable($tableName) { $tableName = $this->getFullQualifiedAssetName($tableName); - if (!isset($this->_tables[$tableName])) { + if (! isset($this->_tables[$tableName])) { throw SchemaException::tableDoesNotExist($tableName); } @@ -212,8 +180,8 @@ class Schema extends AbstractAsset { $name = $this->getUnquotedAssetName($name); - if (strpos($name, ".") === false) { - $name = $this->getName() . "." . $name; + if (strpos($name, '.') === false) { + $name = $this->getName() . '.' . $name; } return strtolower($name); @@ -266,7 +234,7 @@ class Schema extends AbstractAsset /** * Gets all table names, prefixed with a schema name, even the default one if present. * - * @return array + * @return string[] */ public function getTableNames() { @@ -288,14 +256,14 @@ class Schema extends AbstractAsset /** * @param string $sequenceName * - * @return \Doctrine\DBAL\Schema\Sequence + * @return Sequence * - * @throws \Doctrine\DBAL\Schema\SchemaException + * @throws SchemaException */ public function getSequence($sequenceName) { $sequenceName = $this->getFullQualifiedAssetName($sequenceName); - if (!$this->hasSequence($sequenceName)) { + if (! $this->hasSequence($sequenceName)) { throw SchemaException::sequenceDoesNotExist($sequenceName); } @@ -303,7 +271,7 @@ class Schema extends AbstractAsset } /** - * @return \Doctrine\DBAL\Schema\Sequence[] + * @return Sequence[] */ public function getSequences() { @@ -337,7 +305,7 @@ class Schema extends AbstractAsset * * @param string $tableName * - * @return \Doctrine\DBAL\Schema\Table + * @return Table */ public function createTable($tableName) { @@ -393,9 +361,9 @@ class Schema extends AbstractAsset * @param int $allocationSize * @param int $initialValue * - * @return \Doctrine\DBAL\Schema\Sequence + * @return Sequence */ - public function createSequence($sequenceName, $allocationSize=1, $initialValue=1) + public function createSequence($sequenceName, $allocationSize = 1, $initialValue = 1) { $seq = new Sequence($sequenceName, $allocationSize, $initialValue); $this->_addSequence($seq); @@ -419,9 +387,7 @@ class Schema extends AbstractAsset /** * Returns an array of necessary SQL queries to create the schema on the given platform. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function toSql(AbstractPlatform $platform) { @@ -434,9 +400,7 @@ class Schema extends AbstractAsset /** * Return an array of necessary SQL queries to drop the schema on the given platform. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function toDropSql(AbstractPlatform $platform) { @@ -447,10 +411,7 @@ class Schema extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Schema $toSchema - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function getMigrateToSql(Schema $toSchema, AbstractPlatform $platform) { @@ -461,10 +422,7 @@ class Schema extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Schema $fromSchema - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function getMigrateFromSql(Schema $fromSchema, AbstractPlatform $platform) { @@ -475,8 +433,6 @@ class Schema extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Visitor\Visitor $visitor - * * @return void */ public function visit(Visitor $visitor) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaConfig.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaConfig.php index c8c7673ba..b8c3502f7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaConfig.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaConfig.php @@ -1,51 +1,22 @@ . - */ namespace Doctrine\DBAL\Schema; /** * Configuration for a Schema. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class SchemaConfig { - /** - * @var bool - */ + /** @var bool */ protected $hasExplicitForeignKeyIndexes = false; - /** - * @var int - */ + /** @var int */ protected $maxIdentifierLength = 63; - /** - * @var string - */ + /** @var string */ protected $name; - /** - * @var array - */ + /** @var mixed[] */ protected $defaultTableOptions = []; /** @@ -110,7 +81,7 @@ class SchemaConfig * Gets the default options that are passed to Table instances created with * Schema#createTable(). * - * @return array + * @return mixed[] */ public function getDefaultTableOptions() { @@ -118,7 +89,7 @@ class SchemaConfig } /** - * @param array $defaultTableOptions + * @param mixed[] $defaultTableOptions * * @return void */ diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php index ec9ccba93..0f2e25fb3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaDiff.php @@ -1,41 +1,16 @@ . - */ namespace Doctrine\DBAL\Schema; -use \Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Platforms\AbstractPlatform; use function array_merge; /** * Schema Diff. - * - * @link www.doctrine-project.org - * @copyright Copyright (C) 2005-2009 eZ Systems AS. All rights reserved. - * @license http://ez.no/licenses/new_bsd New BSD License - * @since 2.0 - * @author Benjamin Eberlei */ class SchemaDiff { - /** - * @var \Doctrine\DBAL\Schema\Schema - */ + /** @var Schema */ public $fromSchema; /** @@ -55,53 +30,44 @@ class SchemaDiff /** * All added tables. * - * @var \Doctrine\DBAL\Schema\Table[] + * @var Table[] */ public $newTables = []; /** * All changed tables. * - * @var \Doctrine\DBAL\Schema\TableDiff[] + * @var TableDiff[] */ public $changedTables = []; /** * All removed tables. * - * @var \Doctrine\DBAL\Schema\Table[] + * @var Table[] */ public $removedTables = []; - /** - * @var \Doctrine\DBAL\Schema\Sequence[] - */ + /** @var Sequence[] */ public $newSequences = []; - /** - * @var \Doctrine\DBAL\Schema\Sequence[] - */ + /** @var Sequence[] */ public $changedSequences = []; - /** - * @var \Doctrine\DBAL\Schema\Sequence[] - */ + /** @var Sequence[] */ public $removedSequences = []; - /** - * @var \Doctrine\DBAL\Schema\ForeignKeyConstraint[] - */ + /** @var ForeignKeyConstraint[] */ public $orphanedForeignKeys = []; /** * Constructs an SchemaDiff object. * - * @param \Doctrine\DBAL\Schema\Table[] $newTables - * @param \Doctrine\DBAL\Schema\TableDiff[] $changedTables - * @param \Doctrine\DBAL\Schema\Table[] $removedTables - * @param \Doctrine\DBAL\Schema\Schema|null $fromSchema + * @param Table[] $newTables + * @param TableDiff[] $changedTables + * @param Table[] $removedTables */ - public function __construct($newTables = [], $changedTables = [], $removedTables = [], Schema $fromSchema = null) + public function __construct($newTables = [], $changedTables = [], $removedTables = [], ?Schema $fromSchema = null) { $this->newTables = $newTables; $this->changedTables = $changedTables; @@ -118,9 +84,7 @@ class SchemaDiff * * This way it is ensured that assets are deleted which might not be relevant to the metadata schema at all. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function toSaveSql(AbstractPlatform $platform) { @@ -128,9 +92,7 @@ class SchemaDiff } /** - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function toSql(AbstractPlatform $platform) { @@ -138,10 +100,9 @@ class SchemaDiff } /** - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * @param bool $saveMode + * @param bool $saveMode * - * @return array + * @return string[] */ protected function _toSql(AbstractPlatform $platform, $saveMode = false) { @@ -153,13 +114,13 @@ class SchemaDiff } } - if ($platform->supportsForeignKeyConstraints() && $saveMode == false) { + if ($platform->supportsForeignKeyConstraints() && $saveMode === false) { foreach ($this->orphanedForeignKeys as $orphanedForeignKey) { $sql[] = $platform->getDropForeignKeySQL($orphanedForeignKey, $orphanedForeignKey->getLocalTable()); } } - if ($platform->supportsSequences() == true) { + if ($platform->supportsSequences() === true) { foreach ($this->changedSequences as $sequence) { $sql[] = $platform->getAlterSequenceSQL($sequence); } @@ -182,10 +143,12 @@ class SchemaDiff $platform->getCreateTableSQL($table, AbstractPlatform::CREATE_INDEXES) ); - if ($platform->supportsForeignKeyConstraints()) { - foreach ($table->getForeignKeys() as $foreignKey) { - $foreignKeySql[] = $platform->getCreateForeignKeySQL($foreignKey, $table); - } + if (! $platform->supportsForeignKeyConstraints()) { + continue; + } + + foreach ($table->getForeignKeys() as $foreignKey) { + $foreignKeySql[] = $platform->getCreateForeignKeySQL($foreignKey, $table); } } $sql = array_merge($sql, $foreignKeySql); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php index 7285d81cb..213d21847 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SchemaException.php @@ -1,40 +1,24 @@ . - */ namespace Doctrine\DBAL\Schema; +use Doctrine\DBAL\DBALException; use function implode; use function sprintf; -class SchemaException extends \Doctrine\DBAL\DBALException +class SchemaException extends DBALException { - const TABLE_DOESNT_EXIST = 10; - const TABLE_ALREADY_EXISTS = 20; - const COLUMN_DOESNT_EXIST = 30; - const COLUMN_ALREADY_EXISTS = 40; - const INDEX_DOESNT_EXIST = 50; - const INDEX_ALREADY_EXISTS = 60; - const SEQUENCE_DOENST_EXIST = 70; - const SEQUENCE_ALREADY_EXISTS = 80; - const INDEX_INVALID_NAME = 90; - const FOREIGNKEY_DOESNT_EXIST = 100; - const NAMESPACE_ALREADY_EXISTS = 110; + public const TABLE_DOESNT_EXIST = 10; + public const TABLE_ALREADY_EXISTS = 20; + public const COLUMN_DOESNT_EXIST = 30; + public const COLUMN_ALREADY_EXISTS = 40; + public const INDEX_DOESNT_EXIST = 50; + public const INDEX_ALREADY_EXISTS = 60; + public const SEQUENCE_DOENST_EXIST = 70; + public const SEQUENCE_ALREADY_EXISTS = 80; + public const INDEX_INVALID_NAME = 90; + public const FOREIGNKEY_DOESNT_EXIST = 100; + public const NAMESPACE_ALREADY_EXISTS = 110; /** * @param string $tableName @@ -43,7 +27,7 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function tableDoesNotExist($tableName) { - return new self("There is no table with name '".$tableName."' in the schema.", self::TABLE_DOESNT_EXIST); + return new self("There is no table with name '" . $tableName . "' in the schema.", self::TABLE_DOESNT_EXIST); } /** @@ -53,7 +37,10 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function indexNameInvalid($indexName) { - return new self("Invalid index-name $indexName given, has to be [a-zA-Z0-9_]", self::INDEX_INVALID_NAME); + return new self( + sprintf('Invalid index-name %s given, has to be [a-zA-Z0-9_]', $indexName), + self::INDEX_INVALID_NAME + ); } /** @@ -64,7 +51,10 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function indexDoesNotExist($indexName, $table) { - return new self("Index '$indexName' does not exist on table '$table'.", self::INDEX_DOESNT_EXIST); + return new self( + sprintf("Index '%s' does not exist on table '%s'.", $indexName, $table), + self::INDEX_DOESNT_EXIST + ); } /** @@ -75,7 +65,10 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function indexAlreadyExists($indexName, $table) { - return new self("An index with name '$indexName' was already defined on table '$table'.", self::INDEX_ALREADY_EXISTS); + return new self( + sprintf("An index with name '%s' was already defined on table '%s'.", $indexName, $table), + self::INDEX_ALREADY_EXISTS + ); } /** @@ -86,7 +79,10 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function columnDoesNotExist($columnName, $table) { - return new self("There is no column with name '$columnName' on table '$table'.", self::COLUMN_DOESNT_EXIST); + return new self( + sprintf("There is no column with name '%s' on table '%s'.", $columnName, $table), + self::COLUMN_DOESNT_EXIST + ); } /** @@ -109,7 +105,7 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function tableAlreadyExists($tableName) { - return new self("The table with name '".$tableName."' already exists.", self::TABLE_ALREADY_EXISTS); + return new self("The table with name '" . $tableName . "' already exists.", self::TABLE_ALREADY_EXISTS); } /** @@ -121,7 +117,8 @@ class SchemaException extends \Doctrine\DBAL\DBALException public static function columnAlreadyExists($tableName, $columnName) { return new self( - "The column '".$columnName."' on table '".$tableName."' already exists.", self::COLUMN_ALREADY_EXISTS + "The column '" . $columnName . "' on table '" . $tableName . "' already exists.", + self::COLUMN_ALREADY_EXISTS ); } @@ -132,7 +129,7 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function sequenceAlreadyExists($sequenceName) { - return new self("The sequence '".$sequenceName."' already exists.", self::SEQUENCE_ALREADY_EXISTS); + return new self("The sequence '" . $sequenceName . "' already exists.", self::SEQUENCE_ALREADY_EXISTS); } /** @@ -142,7 +139,7 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function sequenceDoesNotExist($sequenceName) { - return new self("There exists no sequence with the name '".$sequenceName."'.", self::SEQUENCE_DOENST_EXIST); + return new self("There exists no sequence with the name '" . $sequenceName . "'.", self::SEQUENCE_DOENST_EXIST); } /** @@ -153,22 +150,22 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function foreignKeyDoesNotExist($fkName, $table) { - return new self("There exists no foreign key with the name '$fkName' on table '$table'.", self::FOREIGNKEY_DOESNT_EXIST); + return new self( + sprintf("There exists no foreign key with the name '%s' on table '%s'.", $fkName, $table), + self::FOREIGNKEY_DOESNT_EXIST + ); } /** - * @param \Doctrine\DBAL\Schema\Table $localTable - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey - * * @return \Doctrine\DBAL\Schema\SchemaException */ public static function namedForeignKeyRequired(Table $localTable, ForeignKeyConstraint $foreignKey) { return new self( - "The performed schema operation on ".$localTable->getName()." requires a named foreign key, ". - "but the given foreign key from (".implode(", ", $foreignKey->getColumns()).") onto foreign table ". - "'".$foreignKey->getForeignTableName()."' (".implode(", ", $foreignKey->getForeignColumns()).") is currently ". - "unnamed." + 'The performed schema operation on ' . $localTable->getName() . ' requires a named foreign key, ' . + 'but the given foreign key from (' . implode(', ', $foreignKey->getColumns()) . ') onto foreign table ' . + "'" . $foreignKey->getForeignTableName() . "' (" . implode(', ', $foreignKey->getForeignColumns()) . ') is currently ' . + 'unnamed.' ); } @@ -179,6 +176,8 @@ class SchemaException extends \Doctrine\DBAL\DBALException */ public static function alterTableChangeNotSupported($changeName) { - return new self("Alter table change not supported, given '$changeName'"); + return new self( + sprintf("Alter table change not supported, given '%s'", $changeName) + ); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Sequence.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Sequence.php index 6d304cde4..24cf4aae0 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Sequence.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Sequence.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -26,26 +9,16 @@ use function sprintf; /** * Sequence structure. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Sequence extends AbstractAsset { - /** - * @var int - */ + /** @var int */ protected $allocationSize = 1; - /** - * @var int - */ + /** @var int */ protected $initialValue = 1; - /** - * @var int|null - */ + /** @var int|null */ protected $cache = null; /** @@ -57,9 +30,9 @@ class Sequence extends AbstractAsset public function __construct($name, $allocationSize = 1, $initialValue = 1, $cache = null) { $this->_setName($name); - $this->allocationSize = is_numeric($allocationSize) ? $allocationSize : 1; - $this->initialValue = is_numeric($initialValue) ? $initialValue : 1; - $this->cache = $cache; + $this->setAllocationSize($allocationSize); + $this->setInitialValue($initialValue); + $this->cache = $cache; } /** @@ -93,7 +66,7 @@ class Sequence extends AbstractAsset */ public function setAllocationSize($allocationSize) { - $this->allocationSize = is_numeric($allocationSize) ? $allocationSize : 1; + $this->allocationSize = is_numeric($allocationSize) ? (int) $allocationSize : 1; return $this; } @@ -105,7 +78,7 @@ class Sequence extends AbstractAsset */ public function setInitialValue($initialValue) { - $this->initialValue = is_numeric($initialValue) ? $initialValue : 1; + $this->initialValue = is_numeric($initialValue) ? (int) $initialValue : 1; return $this; } @@ -128,25 +101,23 @@ class Sequence extends AbstractAsset * This is used inside the comparator to not report sequences as missing, * when the "from" schema implicitly creates the sequences. * - * @param \Doctrine\DBAL\Schema\Table $table - * * @return bool */ public function isAutoIncrementsFor(Table $table) { - if ( ! $table->hasPrimaryKey()) { + if (! $table->hasPrimaryKey()) { return false; } $pkColumns = $table->getPrimaryKey()->getColumns(); - if (count($pkColumns) != 1) { + if (count($pkColumns) !== 1) { return false; } $column = $table->getColumn($pkColumns[0]); - if ( ! $column->getAutoincrement()) { + if (! $column->getAutoincrement()) { return false; } @@ -158,8 +129,6 @@ class Sequence extends AbstractAsset } /** - * @param \Doctrine\DBAL\Schema\Visitor\Visitor $visitor - * * @return void */ public function visit(Visitor $visitor) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SqliteSchemaManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SqliteSchemaManager.php index dbe0cc2d5..744acedab 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SqliteSchemaManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/SqliteSchemaManager.php @@ -1,25 +1,9 @@ . - */ namespace Doctrine\DBAL\Schema; use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\FetchMode; use Doctrine\DBAL\Types\StringType; use Doctrine\DBAL\Types\TextType; @@ -46,12 +30,6 @@ use function usort; /** * Sqlite SchemaManager. - * - * @author Konsta Vesterinen - * @author Lukas Smith (PEAR MDB2 library) - * @author Jonathan H. Wage - * @author Martin Hasoň - * @since 2.0 */ class SqliteSchemaManager extends AbstractSchemaManager { @@ -60,9 +38,11 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function dropDatabase($database) { - if (file_exists($database)) { - unlink($database); + if (! file_exists($database)) { + return; } + + unlink($database); } /** @@ -70,13 +50,13 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function createDatabase($database) { - $params = $this->_conn->getParams(); - $driver = $params['driver']; + $params = $this->_conn->getParams(); + $driver = $params['driver']; $options = [ 'driver' => $driver, - 'path' => $database + 'path' => $database, ]; - $conn = \Doctrine\DBAL\DriverManager::getConnection($options); + $conn = DriverManager::getConnection($options); $conn->connect(); $conn->close(); } @@ -86,9 +66,9 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function renameTable($name, $newName) { - $tableDiff = new TableDiff($name); + $tableDiff = new TableDiff($name); $tableDiff->fromTable = $this->listTableDetails($name); - $tableDiff->newName = $newName; + $tableDiff->newName = $newName; $this->alterTable($tableDiff); } @@ -97,7 +77,7 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function createForeignKey(ForeignKeyConstraint $foreignKey, $table) { - $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); + $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); $tableDiff->addedForeignKeys[] = $foreignKey; $this->alterTable($tableDiff); @@ -108,7 +88,7 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function dropAndCreateForeignKey(ForeignKeyConstraint $foreignKey, $table) { - $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); + $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); $tableDiff->changedForeignKeys[] = $foreignKey; $this->alterTable($tableDiff); @@ -119,7 +99,7 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function dropForeignKey($foreignKey, $table) { - $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); + $tableDiff = $this->getTableDiffForAlterForeignKey($foreignKey, $table); $tableDiff->removedForeignKeys[] = $foreignKey; $this->alterTable($tableDiff); @@ -130,17 +110,17 @@ class SqliteSchemaManager extends AbstractSchemaManager */ public function listTableForeignKeys($table, $database = null) { - if (null === $database) { + if ($database === null) { $database = $this->_conn->getDatabase(); } - $sql = $this->_platform->getListTableForeignKeysSQL($table, $database); + $sql = $this->_platform->getListTableForeignKeysSQL($table, $database); $tableForeignKeys = $this->_conn->fetchAll($sql); - if ( ! empty($tableForeignKeys)) { - $createSql = $this->_conn->fetchAll("SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type = 'table' AND name = '$table'"); - $createSql = $createSql[0]['sql'] ?? ''; + if (! empty($tableForeignKeys)) { + $createSql = $this->getCreateTableSQL($table); - if (preg_match_all('# + if ($createSql !== null && preg_match_all( + '# (?:CONSTRAINT\s+([^\s]+)\s+)? (?:FOREIGN\s+KEY[^\)]+\)\s*)? REFERENCES\s+[^\s]+\s+(?:\([^\)]+\))? @@ -149,18 +129,19 @@ class SqliteSchemaManager extends AbstractSchemaManager (NOT\s+DEFERRABLE|DEFERRABLE) (?:\s+INITIALLY\s+(DEFERRED|IMMEDIATE))? )?#isx', - $createSql, $match)) { - - $names = array_reverse($match[1]); + $createSql, + $match + )) { + $names = array_reverse($match[1]); $deferrable = array_reverse($match[2]); - $deferred = array_reverse($match[3]); + $deferred = array_reverse($match[3]); } else { $names = $deferrable = $deferred = []; } foreach ($tableForeignKeys as $key => $value) { - $id = $value['id']; - $tableForeignKeys[$key]['constraint_name'] = isset($names[$id]) && '' != $names[$id] ? $names[$id] : $id; + $id = $value['id']; + $tableForeignKeys[$key]['constraint_name'] = isset($names[$id]) && $names[$id] !== '' ? $names[$id] : $id; $tableForeignKeys[$key]['deferrable'] = isset($deferrable[$id]) && strtolower($deferrable[$id]) === 'deferrable'; $tableForeignKeys[$key]['deferred'] = isset($deferred[$id]) && strtolower($deferred[$id]) === 'deferred'; } @@ -180,52 +161,61 @@ class SqliteSchemaManager extends AbstractSchemaManager /** * {@inheritdoc} * - * @license New BSD License * @link http://ezcomponents.org/docs/api/trunk/DatabaseSchema/ezcDbSchemaPgsqlReader.html */ - protected function _getPortableTableIndexesList($tableIndexes, $tableName=null) + protected function _getPortableTableIndexesList($tableIndexes, $tableName = null) { $indexBuffer = []; // fetch primary - $stmt = $this->_conn->executeQuery("PRAGMA TABLE_INFO ('$tableName')"); + $stmt = $this->_conn->executeQuery(sprintf( + 'PRAGMA TABLE_INFO (%s)', + $this->_conn->quote($tableName) + )); $indexArray = $stmt->fetchAll(FetchMode::ASSOCIATIVE); - usort($indexArray, function($a, $b) { - if ($a['pk'] == $b['pk']) { + usort($indexArray, static function ($a, $b) { + if ($a['pk'] === $b['pk']) { return $a['cid'] - $b['cid']; } return $a['pk'] - $b['pk']; }); foreach ($indexArray as $indexColumnRow) { - if ($indexColumnRow['pk'] != "0") { - $indexBuffer[] = [ - 'key_name' => 'primary', - 'primary' => true, - 'non_unique' => false, - 'column_name' => $indexColumnRow['name'] - ]; + if ($indexColumnRow['pk'] === '0') { + continue; } + + $indexBuffer[] = [ + 'key_name' => 'primary', + 'primary' => true, + 'non_unique' => false, + 'column_name' => $indexColumnRow['name'], + ]; } // fetch regular indexes foreach ($tableIndexes as $tableIndex) { // Ignore indexes with reserved names, e.g. autoindexes - if (strpos($tableIndex['name'], 'sqlite_') !== 0) { - $keyName = $tableIndex['name']; - $idx = []; - $idx['key_name'] = $keyName; - $idx['primary'] = false; - $idx['non_unique'] = $tableIndex['unique']?false:true; + if (strpos($tableIndex['name'], 'sqlite_') === 0) { + continue; + } - $stmt = $this->_conn->executeQuery("PRAGMA INDEX_INFO ('{$keyName}')"); + $keyName = $tableIndex['name']; + $idx = []; + $idx['key_name'] = $keyName; + $idx['primary'] = false; + $idx['non_unique'] = $tableIndex['unique']?false:true; + + $stmt = $this->_conn->executeQuery(sprintf( + 'PRAGMA INDEX_INFO (%s)', + $this->_conn->quote($keyName) + )); $indexArray = $stmt->fetchAll(FetchMode::ASSOCIATIVE); - foreach ($indexArray as $indexColumnRow) { - $idx['column_name'] = $indexColumnRow['name']; - $indexBuffer[] = $idx; - } + foreach ($indexArray as $indexColumnRow) { + $idx['column_name'] = $indexColumnRow['name']; + $indexBuffer[] = $idx; } } @@ -239,7 +229,7 @@ class SqliteSchemaManager extends AbstractSchemaManager { return [ 'name' => $tableIndex['name'], - 'unique' => (bool) $tableIndex['unique'] + 'unique' => (bool) $tableIndex['unique'], ]; } @@ -252,28 +242,33 @@ class SqliteSchemaManager extends AbstractSchemaManager // find column with autoincrement $autoincrementColumn = null; - $autoincrementCount = 0; + $autoincrementCount = 0; foreach ($tableColumns as $tableColumn) { - if ('0' != $tableColumn['pk']) { - $autoincrementCount++; - if (null === $autoincrementColumn && 'integer' == strtolower($tableColumn['type'])) { - $autoincrementColumn = $tableColumn['name']; - } + if ($tableColumn['pk'] === '0') { + continue; } + + $autoincrementCount++; + if ($autoincrementColumn !== null || strtolower($tableColumn['type']) !== 'integer') { + continue; + } + + $autoincrementColumn = $tableColumn['name']; } - if (1 == $autoincrementCount && null !== $autoincrementColumn) { + if ($autoincrementCount === 1 && $autoincrementColumn !== null) { foreach ($list as $column) { - if ($autoincrementColumn == $column->getName()) { - $column->setAutoincrement(true); + if ($autoincrementColumn !== $column->getName()) { + continue; } + + $column->setAutoincrement(true); } } // inspect column collation and comments - $createSql = $this->_conn->fetchAll("SELECT sql FROM (SELECT * FROM sqlite_master UNION ALL SELECT * FROM sqlite_temp_master) WHERE type = 'table' AND name = '$table'"); - $createSql = $createSql[0]['sql'] ?? ''; + $createSql = $this->getCreateTableSQL($table) ?? ''; foreach ($list as $columnName => $column) { $type = $column->getType(); @@ -284,17 +279,19 @@ class SqliteSchemaManager extends AbstractSchemaManager $comment = $this->parseColumnCommentFromSQL($columnName, $createSql); - if ($comment !== null) { - $type = $this->extractDoctrineTypeFromComment($comment, null); - - if (null !== $type) { - $column->setType(Type::getType($type)); - - $comment = $this->removeDoctrineTypeFromComment($comment, $type); - } - - $column->setComment($comment); + if ($comment === null) { + continue; } + + $type = $this->extractDoctrineTypeFromComment($comment, null); + + if ($type !== null) { + $column->setType(Type::getType($type)); + + $comment = $this->removeDoctrineTypeFromComment($comment, $type); + } + + $column->setComment($comment); } return $list; @@ -305,10 +302,10 @@ class SqliteSchemaManager extends AbstractSchemaManager */ protected function _getPortableTableColumnDefinition($tableColumn) { - $parts = explode('(', $tableColumn['type']); + $parts = explode('(', $tableColumn['type']); $tableColumn['type'] = trim($parts[0]); if (isset($parts[1])) { - $length = trim($parts[1], ')'); + $length = trim($parts[1], ')'); $tableColumn['length'] = $length; } @@ -317,14 +314,14 @@ class SqliteSchemaManager extends AbstractSchemaManager $unsigned = false; if (strpos($dbType, ' unsigned') !== false) { - $dbType = str_replace(' unsigned', '', $dbType); + $dbType = str_replace(' unsigned', '', $dbType); $unsigned = true; } - $fixed = false; - $type = $this->_platform->getDoctrineTypeMapping($dbType); + $fixed = false; + $type = $this->_platform->getDoctrineTypeMapping($dbType); $default = $tableColumn['dflt_value']; - if ($default == 'NULL') { + if ($default === 'NULL') { $default = null; } if ($default !== null) { @@ -333,12 +330,12 @@ class SqliteSchemaManager extends AbstractSchemaManager } $notnull = (bool) $tableColumn['notnull']; - if ( ! isset($tableColumn['name'])) { + if (! isset($tableColumn['name'])) { $tableColumn['name'] = ''; } $precision = null; - $scale = null; + $scale = null; switch ($dbType) { case 'char': @@ -351,9 +348,9 @@ class SqliteSchemaManager extends AbstractSchemaManager case 'numeric': if (isset($tableColumn['length'])) { if (strpos($tableColumn['length'], ',') === false) { - $tableColumn['length'] .= ",0"; + $tableColumn['length'] .= ',0'; } - list($precision, $scale) = array_map('trim', explode(',', $tableColumn['length'])); + [$precision, $scale] = array_map('trim', explode(',', $tableColumn['length'])); } $length = null; break; @@ -370,7 +367,7 @@ class SqliteSchemaManager extends AbstractSchemaManager 'autoincrement' => false, ]; - return new Column($tableColumn['name'], \Doctrine\DBAL\Types\Type::getType($type), $options); + return new Column($tableColumn['name'], Type::getType($type), $options); } /** @@ -389,12 +386,12 @@ class SqliteSchemaManager extends AbstractSchemaManager $list = []; foreach ($tableForeignKeys as $value) { $value = array_change_key_case($value, CASE_LOWER); - $name = $value['constraint_name']; - if ( ! isset($list[$name])) { - if ( ! isset($value['on_delete']) || $value['on_delete'] == "RESTRICT") { + $name = $value['constraint_name']; + if (! isset($list[$name])) { + if (! isset($value['on_delete']) || $value['on_delete'] === 'RESTRICT') { $value['on_delete'] = null; } - if ( ! isset($value['on_update']) || $value['on_update'] == "RESTRICT") { + if (! isset($value['on_update']) || $value['on_update'] === 'RESTRICT') { $value['on_update'] = null; } @@ -409,15 +406,17 @@ class SqliteSchemaManager extends AbstractSchemaManager 'deferred'=> $value['deferred'], ]; } - $list[$name]['local'][] = $value['from']; + $list[$name]['local'][] = $value['from']; $list[$name]['foreign'][] = $value['to']; } $result = []; foreach ($list as $constraint) { $result[] = new ForeignKeyConstraint( - array_values($constraint['local']), $constraint['foreignTable'], - array_values($constraint['foreign']), $constraint['name'], + array_values($constraint['local']), + $constraint['foreignTable'], + array_values($constraint['foreign']), + $constraint['name'], [ 'onDelete' => $constraint['onDelete'], 'onUpdate' => $constraint['onUpdate'], @@ -431,25 +430,24 @@ class SqliteSchemaManager extends AbstractSchemaManager } /** - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey - * @param \Doctrine\DBAL\Schema\Table|string $table + * @param Table|string $table * - * @return \Doctrine\DBAL\Schema\TableDiff + * @return TableDiff * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ private function getTableDiffForAlterForeignKey(ForeignKeyConstraint $foreignKey, $table) { - if ( ! $table instanceof Table) { + if (! $table instanceof Table) { $tableDetails = $this->tryMethod('listTableDetails', $table); - if (false === $table) { + if ($table === false) { throw new DBALException(sprintf('Sqlite schema manager requires to modify foreign keys table definition "%s".', $table)); } $table = $tableDetails; } - $tableDiff = new TableDiff($table->getName()); + $tableDiff = new TableDiff($table->getName()); $tableDiff->fromTable = $table; return $tableDiff; @@ -478,6 +476,26 @@ class SqliteSchemaManager extends AbstractSchemaManager $comment = preg_replace('{^\s*--}m', '', rtrim($match[1], "\n")); - return '' === $comment ? null : $comment; + return $comment === '' ? null : $comment; + } + + private function getCreateTableSQL(string $table) : ?string + { + return $this->_conn->fetchColumn( + <<<'SQL' +SELECT sql + FROM ( + SELECT * + FROM sqlite_master + UNION ALL + SELECT * + FROM sqlite_temp_master + ) +WHERE type = 'table' +AND name = ? +SQL + , + [$table] + ) ?: null; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php index 3158df47d..b597b8db9 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/AbstractSchemaSynchronizer.php @@ -1,60 +1,38 @@ . - */ namespace Doctrine\DBAL\Schema\Synchronizer; use Doctrine\DBAL\Connection; +use Throwable; /** * Abstract schema synchronizer with methods for executing batches of SQL. */ abstract class AbstractSchemaSynchronizer implements SchemaSynchronizer { - /** - * @var \Doctrine\DBAL\Connection - */ + /** @var Connection */ protected $conn; - /** - * @param \Doctrine\DBAL\Connection $conn - */ public function __construct(Connection $conn) { $this->conn = $conn; } /** - * @param array $sql + * @param string[] $sql */ protected function processSqlSafely(array $sql) { foreach ($sql as $s) { try { $this->conn->exec($s); - } catch (\Exception $e) { - + } catch (Throwable $e) { } } } /** - * @param array $sql + * @param string[] $sql */ protected function processSql(array $sql) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SchemaSynchronizer.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SchemaSynchronizer.php index b65efbbb9..3e7beea75 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SchemaSynchronizer.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SchemaSynchronizer.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema\Synchronizer; @@ -24,78 +7,66 @@ use Doctrine\DBAL\Schema\Schema; /** * The synchronizer knows how to synchronize a schema with the configured * database. - * - * @author Benjamin Eberlei */ interface SchemaSynchronizer { /** * Gets the SQL statements that can be executed to create the schema. * - * @param \Doctrine\DBAL\Schema\Schema $createSchema - * - * @return array + * @return string[] */ - function getCreateSchema(Schema $createSchema); + public function getCreateSchema(Schema $createSchema); /** * Gets the SQL Statements to update given schema with the underlying db. * - * @param \Doctrine\DBAL\Schema\Schema $toSchema - * @param bool $noDrops + * @param bool $noDrops * - * @return array + * @return string[] */ - function getUpdateSchema(Schema $toSchema, $noDrops = false); + public function getUpdateSchema(Schema $toSchema, $noDrops = false); /** * Gets the SQL Statements to drop the given schema from underlying db. * - * @param \Doctrine\DBAL\Schema\Schema $dropSchema - * - * @return array + * @return string[] */ - function getDropSchema(Schema $dropSchema); + public function getDropSchema(Schema $dropSchema); /** * Gets the SQL statements to drop all schema assets from underlying db. * - * @return array + * @return string[] */ - function getDropAllSchema(); + public function getDropAllSchema(); /** * Creates the Schema. * - * @param \Doctrine\DBAL\Schema\Schema $createSchema - * * @return void */ - function createSchema(Schema $createSchema); + public function createSchema(Schema $createSchema); /** * Updates the Schema to new schema version. * - * @param \Doctrine\DBAL\Schema\Schema $toSchema - * @param bool $noDrops + * @param bool $noDrops * * @return void */ - function updateSchema(Schema $toSchema, $noDrops = false); + public function updateSchema(Schema $toSchema, $noDrops = false); /** * Drops the given database schema from the underlying db. * - * @param \Doctrine\DBAL\Schema\Schema $dropSchema - * * @return void */ - function dropSchema(Schema $dropSchema); + public function dropSchema(Schema $dropSchema); /** * Drops all assets from the underlying db. * * @return void */ - function dropAllSchema(); + public function dropAllSchema(); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php index f22607e6b..e51b27f37 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Synchronizer/SingleDatabaseSynchronizer.php @@ -1,45 +1,22 @@ . - */ namespace Doctrine\DBAL\Schema\Synchronizer; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Platforms\AbstractPlatform; use Doctrine\DBAL\Schema\Comparator; +use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Visitor\DropSchemaSqlCollector; use function count; /** * Schema Synchronizer for Default DBAL Connection. - * - * @author Benjamin Eberlei */ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer { - /** - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ + /** @var AbstractPlatform */ private $platform; - /** - * @param \Doctrine\DBAL\Connection $conn - */ public function __construct(Connection $conn) { parent::__construct($conn); @@ -78,8 +55,8 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer */ public function getDropSchema(Schema $dropSchema) { - $visitor = new DropSchemaSqlCollector($this->platform); - $sm = $this->conn->getSchemaManager(); + $visitor = new DropSchemaSqlCollector($this->platform); + $sm = $this->conn->getSchemaManager(); $fullSchema = $sm->createSchema(); @@ -89,11 +66,11 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer } foreach ($table->getForeignKeys() as $foreignKey) { - if ( ! $dropSchema->hasTable($table->getName())) { + if (! $dropSchema->hasTable($table->getName())) { continue; } - if ( ! $dropSchema->hasTable($foreignKey->getForeignTableName())) { + if (! $dropSchema->hasTable($foreignKey->getForeignTableName())) { continue; } @@ -101,7 +78,7 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer } } - if ( ! $this->platform->supportsSequences()) { + if (! $this->platform->supportsSequences()) { return $visitor->getQueries(); } @@ -110,7 +87,7 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer } foreach ($dropSchema->getTables() as $table) { - if ( ! $table->hasPrimaryKey()) { + if (! $table->hasPrimaryKey()) { continue; } @@ -119,10 +96,12 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer continue; } - $checkSequence = $table->getName() . "_" . $columns[0] . "_seq"; - if ($fullSchema->hasSequence($checkSequence)) { - $visitor->acceptSequence($fullSchema->getSequence($checkSequence)); + $checkSequence = $table->getName() . '_' . $columns[0] . '_seq'; + if (! $fullSchema->hasSequence($checkSequence)) { + continue; } + + $visitor->acceptSequence($fullSchema->getSequence($checkSequence)); } return $visitor->getQueries(); @@ -136,8 +115,7 @@ class SingleDatabaseSynchronizer extends AbstractSchemaSynchronizer $sm = $this->conn->getSchemaManager(); $visitor = new DropSchemaSqlCollector($this->platform); - /* @var $schema \Doctrine\DBAL\Schema\Schema */ - $schema = $sm->createSchema(); + $schema = $sm->createSchema(); $schema->visit($visitor); return $visitor->getQueries(); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php index bc7f81979..5dac5bb1a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Table.php @@ -1,27 +1,10 @@ . - */ namespace Doctrine\DBAL\Schema; -use Doctrine\DBAL\Types\Type; -use Doctrine\DBAL\Schema\Visitor\Visitor; use Doctrine\DBAL\DBALException; +use Doctrine\DBAL\Schema\Visitor\Visitor; +use Doctrine\DBAL\Types\Type; use const ARRAY_FILTER_USE_KEY; use function array_filter; use function array_merge; @@ -34,51 +17,31 @@ use function strtolower; /** * Object Representation of a table. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class Table extends AbstractAsset { - /** - * @var string - */ + /** @var string */ protected $_name = null; - /** - * @var Column[] - */ + /** @var Column[] */ protected $_columns = []; - /** - * @var Index[] - */ + /** @var Index[] */ private $implicitIndexes = []; - /** - * @var Index[] - */ + /** @var Index[] */ protected $_indexes = []; - /** - * @var string - */ + /** @var string */ protected $_primaryKeyName = false; - /** - * @var ForeignKeyConstraint[] - */ + /** @var ForeignKeyConstraint[] */ protected $_fkConstraints = []; - /** - * @var array - */ + /** @var mixed[] */ protected $_options = []; - /** - * @var SchemaConfig|null - */ + /** @var SchemaConfig|null */ protected $_schemaConfig = null; /** @@ -87,13 +50,13 @@ class Table extends AbstractAsset * @param Index[] $indexes * @param ForeignKeyConstraint[] $fkConstraints * @param int $idGeneratorType - * @param array $options + * @param mixed[] $options * * @throws DBALException */ - public function __construct($tableName, array $columns=[], array $indexes=[], array $fkConstraints=[], $idGeneratorType = 0, array $options=[]) + public function __construct($tableName, array $columns = [], array $indexes = [], array $fkConstraints = [], $idGeneratorType = 0, array $options = []) { - if (strlen($tableName) == 0) { + if (strlen($tableName) === 0) { throw DBALException::invalidTableName($tableName); } @@ -115,8 +78,6 @@ class Table extends AbstractAsset } /** - * @param SchemaConfig $schemaConfig - * * @return void */ public function setSchemaConfig(SchemaConfig $schemaConfig) @@ -139,14 +100,14 @@ class Table extends AbstractAsset /** * Sets the Primary Key. * - * @param array $columns - * @param string|boolean $indexName + * @param mixed[][] $columns + * @param string|bool $indexName * * @return self */ public function setPrimaryKey(array $columns, $indexName = false) { - $this->_addIndex($this->_createIndex($columns, $indexName ?: "primary", true, true)); + $this->_addIndex($this->_createIndex($columns, $indexName ?: 'primary', true, true)); foreach ($columns as $columnName) { $column = $this->getColumn($columnName); @@ -157,18 +118,20 @@ class Table extends AbstractAsset } /** - * @param array $columnNames + * @param mixed[][] $columnNames * @param string|null $indexName - * @param array $flags - * @param array $options + * @param string[] $flags + * @param mixed[] $options * * @return self */ public function addIndex(array $columnNames, $indexName = null, array $flags = [], array $options = []) { - if ($indexName == null) { + if ($indexName === null) { $indexName = $this->_generateIdentifierName( - array_merge([$this->getName()], $columnNames), "idx", $this->_getMaxIdentifierLength() + array_merge([$this->getName()], $columnNames), + 'idx', + $this->_getMaxIdentifierLength() ); } @@ -198,16 +161,16 @@ class Table extends AbstractAsset public function dropIndex($indexName) { $indexName = $this->normalizeIdentifier($indexName); - if ( ! $this->hasIndex($indexName)) { + if (! $this->hasIndex($indexName)) { throw SchemaException::indexDoesNotExist($indexName, $this->_name); } unset($this->_indexes[$indexName]); } /** - * @param array $columnNames + * @param mixed[][] $columnNames * @param string|null $indexName - * @param array $options + * @param mixed[] $options * * @return self */ @@ -215,7 +178,9 @@ class Table extends AbstractAsset { if ($indexName === null) { $indexName = $this->_generateIdentifierName( - array_merge([$this->getName()], $columnNames), "uniq", $this->_getMaxIdentifierLength() + array_merge([$this->getName()], $columnNames), + 'uniq', + $this->_getMaxIdentifierLength() ); } @@ -231,7 +196,7 @@ class Table extends AbstractAsset * * @return self This table instance. * - * @throws SchemaException if no index exists for the given current name + * @throws SchemaException If no index exists for the given current name * or if an index with the given new name already exists on this table. */ public function renameIndex($oldIndexName, $newIndexName = null) @@ -243,7 +208,7 @@ class Table extends AbstractAsset return $this; } - if ( ! $this->hasIndex($oldIndexName)) { + if (! $this->hasIndex($oldIndexName)) { throw SchemaException::indexDoesNotExist($oldIndexName, $this->_name); } @@ -271,14 +236,14 @@ class Table extends AbstractAsset /** * Checks if an index begins in the order of the given columns. * - * @param array $columnsNames + * @param mixed[][] $columnsNames * * @return bool */ public function columnsAreIndexed(array $columnsNames) { foreach ($this->getIndexes() as $index) { - /* @var $index Index */ + /** @var $index Index */ if ($index->spansColumns($columnsNames)) { return true; } @@ -288,12 +253,12 @@ class Table extends AbstractAsset } /** - * @param array $columnNames - * @param string $indexName - * @param bool $isUnique - * @param bool $isPrimary - * @param array $flags - * @param array $options + * @param mixed[][] $columnNames + * @param string $indexName + * @param bool $isUnique + * @param bool $isPrimary + * @param string[] $flags + * @param mixed[] $options * * @return Index * @@ -310,7 +275,7 @@ class Table extends AbstractAsset $columnName = $indexColOptions; } - if ( ! $this->hasColumn($columnName)) { + if (! $this->hasColumn($columnName)) { throw SchemaException::columnDoesNotExist($columnName, $this->_name); } } @@ -319,13 +284,13 @@ class Table extends AbstractAsset } /** - * @param string $columnName - * @param string $typeName - * @param array $options + * @param string $columnName + * @param string $typeName + * @param mixed[] $options * * @return Column */ - public function addColumn($columnName, $typeName, array $options=[]) + public function addColumn($columnName, $typeName, array $options = []) { $column = new Column($columnName, Type::getType($typeName), $options); @@ -337,25 +302,25 @@ class Table extends AbstractAsset /** * Renames a Column. * + * @deprecated + * * @param string $oldColumnName * @param string $newColumnName * - * @deprecated - * * @throws DBALException */ public function renameColumn($oldColumnName, $newColumnName) { - throw new DBALException("Table#renameColumn() was removed, because it drops and recreates " . - "the column instead. There is no fix available, because a schema diff cannot reliably detect if a " . - "column was renamed or one column was created and another one dropped."); + throw new DBALException('Table#renameColumn() was removed, because it drops and recreates ' . + 'the column instead. There is no fix available, because a schema diff cannot reliably detect if a ' . + 'column was renamed or one column was created and another one dropped.'); } /** * Change Column Details. * - * @param string $columnName - * @param array $options + * @param string $columnName + * @param mixed[] $options * * @return self */ @@ -388,16 +353,16 @@ class Table extends AbstractAsset * Name is inferred from the local columns. * * @param Table|string $foreignTable Table schema instance or table name - * @param array $localColumnNames - * @param array $foreignColumnNames - * @param array $options + * @param string[] $localColumnNames + * @param string[] $foreignColumnNames + * @param mixed[] $options * @param string|null $constraintName * * @return self */ - public function addForeignKeyConstraint($foreignTable, array $localColumnNames, array $foreignColumnNames, array $options=[], $constraintName = null) + public function addForeignKeyConstraint($foreignTable, array $localColumnNames, array $foreignColumnNames, array $options = [], $constraintName = null) { - $constraintName = $constraintName ?: $this->_generateIdentifierName(array_merge((array) $this->getName(), $localColumnNames), "fk", $this->_getMaxIdentifierLength()); + $constraintName = $constraintName ?: $this->_generateIdentifierName(array_merge((array) $this->getName(), $localColumnNames), 'fk', $this->_getMaxIdentifierLength()); return $this->addNamedForeignKeyConstraint($constraintName, $foreignTable, $localColumnNames, $foreignColumnNames, $options); } @@ -410,13 +375,13 @@ class Table extends AbstractAsset * @deprecated Use {@link addForeignKeyConstraint} * * @param Table|string $foreignTable Table schema instance or table name - * @param array $localColumnNames - * @param array $foreignColumnNames - * @param array $options + * @param string[] $localColumnNames + * @param string[] $foreignColumnNames + * @param mixed[] $options * * @return self */ - public function addUnnamedForeignKeyConstraint($foreignTable, array $localColumnNames, array $foreignColumnNames, array $options=[]) + public function addUnnamedForeignKeyConstraint($foreignTable, array $localColumnNames, array $foreignColumnNames, array $options = []) { return $this->addForeignKeyConstraint($foreignTable, $localColumnNames, $foreignColumnNames, $options); } @@ -428,32 +393,36 @@ class Table extends AbstractAsset * * @param string $name * @param Table|string $foreignTable Table schema instance or table name - * @param array $localColumnNames - * @param array $foreignColumnNames - * @param array $options + * @param string[] $localColumnNames + * @param string[] $foreignColumnNames + * @param mixed[] $options * * @return self * * @throws SchemaException */ - public function addNamedForeignKeyConstraint($name, $foreignTable, array $localColumnNames, array $foreignColumnNames, array $options=[]) + public function addNamedForeignKeyConstraint($name, $foreignTable, array $localColumnNames, array $foreignColumnNames, array $options = []) { if ($foreignTable instanceof Table) { foreach ($foreignColumnNames as $columnName) { - if ( ! $foreignTable->hasColumn($columnName)) { + if (! $foreignTable->hasColumn($columnName)) { throw SchemaException::columnDoesNotExist($columnName, $foreignTable->getName()); } } } foreach ($localColumnNames as $columnName) { - if ( ! $this->hasColumn($columnName)) { + if (! $this->hasColumn($columnName)) { throw SchemaException::columnDoesNotExist($columnName, $this->_name); } } $constraint = new ForeignKeyConstraint( - $localColumnNames, $foreignTable, $foreignColumnNames, $name, $options + $localColumnNames, + $foreignTable, + $foreignColumnNames, + $name, + $options ); $this->_addForeignKeyConstraint($constraint); @@ -474,8 +443,6 @@ class Table extends AbstractAsset } /** - * @param Column $column - * * @return void * * @throws SchemaException @@ -495,26 +462,26 @@ class Table extends AbstractAsset /** * Adds an index to the table. * - * @param Index $indexCandidate - * * @return self * * @throws SchemaException */ protected function _addIndex(Index $indexCandidate) { - $indexName = $indexCandidate->getName(); - $indexName = $this->normalizeIdentifier($indexName); + $indexName = $indexCandidate->getName(); + $indexName = $this->normalizeIdentifier($indexName); $replacedImplicitIndexes = []; foreach ($this->implicitIndexes as $name => $implicitIndex) { - if ($implicitIndex->isFullfilledBy($indexCandidate) && isset($this->_indexes[$name])) { - $replacedImplicitIndexes[] = $name; + if (! $implicitIndex->isFullfilledBy($indexCandidate) || ! isset($this->_indexes[$name])) { + continue; } + + $replacedImplicitIndexes[] = $name; } if ((isset($this->_indexes[$indexName]) && ! in_array($indexName, $replacedImplicitIndexes, true)) || - ($this->_primaryKeyName != false && $indexCandidate->isPrimary()) + ($this->_primaryKeyName !== false && $indexCandidate->isPrimary()) ) { throw SchemaException::indexAlreadyExists($indexName, $this->_name); } @@ -533,8 +500,6 @@ class Table extends AbstractAsset } /** - * @param ForeignKeyConstraint $constraint - * * @return void */ protected function _addForeignKeyConstraint(ForeignKeyConstraint $constraint) @@ -545,7 +510,9 @@ class Table extends AbstractAsset $name = $constraint->getName(); } else { $name = $this->_generateIdentifierName( - array_merge((array) $this->getName(), $constraint->getLocalColumns()), "fk", $this->_getMaxIdentifierLength() + array_merge((array) $this->getName(), $constraint->getLocalColumns()), + 'fk', + $this->_getMaxIdentifierLength() ); } $name = $this->normalizeIdentifier($name); @@ -555,9 +522,9 @@ class Table extends AbstractAsset // add an explicit index on the foreign key columns. If there is already an index that fulfils this requirements drop the request. // In the case of __construct calling this method during hydration from schema-details all the explicitly added indexes // lead to duplicates. This creates computation overhead in this case, however no duplicate indexes are ever added (based on columns). - $indexName = $this->_generateIdentifierName( + $indexName = $this->_generateIdentifierName( array_merge([$this->getName()], $constraint->getColumns()), - "idx", + 'idx', $this->_getMaxIdentifierLength() ); $indexCandidate = $this->_createIndex($constraint->getColumns(), $indexName, false, false); @@ -598,7 +565,7 @@ class Table extends AbstractAsset public function getForeignKey($constraintName) { $constraintName = $this->normalizeIdentifier($constraintName); - if (!$this->hasForeignKey($constraintName)) { + if (! $this->hasForeignKey($constraintName)) { throw SchemaException::foreignKeyDoesNotExist($constraintName, $this->_name); } @@ -617,7 +584,7 @@ class Table extends AbstractAsset public function removeForeignKey($constraintName) { $constraintName = $this->normalizeIdentifier($constraintName); - if (!$this->hasForeignKey($constraintName)) { + if (! $this->hasForeignKey($constraintName)) { throw SchemaException::foreignKeyDoesNotExist($constraintName, $this->_name); } @@ -626,6 +593,7 @@ class Table extends AbstractAsset /** * Returns ordered list of columns (primary keys are first, then foreign keys, then the rest) + * * @return Column[] */ public function getColumns() @@ -640,13 +608,13 @@ class Table extends AbstractAsset /** * Returns foreign key columns + * * @return Column[] */ private function getForeignKeyColumns() { $foreignKeyColumns = []; foreach ($this->getForeignKeys() as $foreignKey) { - /* @var $foreignKey ForeignKeyConstraint */ $foreignKeyColumns = array_merge($foreignKeyColumns, $foreignKey->getColumns()); } return $this->filterColumns($foreignKeyColumns); @@ -654,12 +622,14 @@ class Table extends AbstractAsset /** * Returns only columns that have specified names - * @param array $columnNames + * + * @param string[] $columnNames + * * @return Column[] */ private function filterColumns(array $columnNames) { - return array_filter($this->_columns, function ($columnName) use ($columnNames) { + return array_filter($this->_columns, static function ($columnName) use ($columnNames) { return in_array($columnName, $columnNames, true); }, ARRAY_FILTER_USE_KEY); } @@ -690,7 +660,7 @@ class Table extends AbstractAsset public function getColumn($columnName) { $columnName = $this->normalizeIdentifier($columnName); - if ( ! $this->hasColumn($columnName)) { + if (! $this->hasColumn($columnName)) { throw SchemaException::columnDoesNotExist($columnName, $this->_name); } @@ -704,7 +674,7 @@ class Table extends AbstractAsset */ public function getPrimaryKey() { - if ( ! $this->hasPrimaryKey()) { + if (! $this->hasPrimaryKey()) { return null; } @@ -714,14 +684,14 @@ class Table extends AbstractAsset /** * Returns the primary key columns. * - * @return array + * @return string[] * * @throws DBALException */ public function getPrimaryKeyColumns() { - if ( ! $this->hasPrimaryKey()) { - throw new DBALException("Table " . $this->getName() . " has no primary key."); + if (! $this->hasPrimaryKey()) { + throw new DBALException('Table ' . $this->getName() . ' has no primary key.'); } return $this->getPrimaryKey()->getColumns(); } @@ -733,7 +703,7 @@ class Table extends AbstractAsset */ public function hasPrimaryKey() { - return ($this->_primaryKeyName && $this->hasIndex($this->_primaryKeyName)); + return $this->_primaryKeyName && $this->hasIndex($this->_primaryKeyName); } /** @@ -747,7 +717,7 @@ class Table extends AbstractAsset { $indexName = $this->normalizeIdentifier($indexName); - return (isset($this->_indexes[$indexName])); + return isset($this->_indexes[$indexName]); } /** @@ -762,7 +732,7 @@ class Table extends AbstractAsset public function getIndex($indexName) { $indexName = $this->normalizeIdentifier($indexName); - if ( ! $this->hasIndex($indexName)) { + if (! $this->hasIndex($indexName)) { throw SchemaException::indexDoesNotExist($indexName, $this->_name); } @@ -808,7 +778,7 @@ class Table extends AbstractAsset } /** - * @return array + * @return mixed[] */ public function getOptions() { @@ -816,8 +786,6 @@ class Table extends AbstractAsset } /** - * @param Visitor $visitor - * * @return void */ public function visit(Visitor $visitor) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php index a50c6b406..457e1b6a9 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/TableDiff.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Schema; @@ -23,76 +6,68 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Table Diff. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class TableDiff { - /** - * @var string - */ + /** @var string */ public $name = null; - /** - * @var string|boolean - */ + /** @var string|bool */ public $newName = false; /** * All added fields. * - * @var \Doctrine\DBAL\Schema\Column[] + * @var Column[] */ public $addedColumns; /** * All changed fields. * - * @var \Doctrine\DBAL\Schema\ColumnDiff[] + * @var ColumnDiff[] */ public $changedColumns = []; /** * All removed fields. * - * @var \Doctrine\DBAL\Schema\Column[] + * @var Column[] */ public $removedColumns = []; /** * Columns that are only renamed from key to column instance name. * - * @var \Doctrine\DBAL\Schema\Column[] + * @var Column[] */ public $renamedColumns = []; /** * All added indexes. * - * @var \Doctrine\DBAL\Schema\Index[] + * @var Index[] */ public $addedIndexes = []; /** * All changed indexes. * - * @var \Doctrine\DBAL\Schema\Index[] + * @var Index[] */ public $changedIndexes = []; /** * All removed indexes * - * @var \Doctrine\DBAL\Schema\Index[] + * @var Index[] */ public $removedIndexes = []; /** * Indexes that are only renamed but are identical otherwise. * - * @var \Doctrine\DBAL\Schema\Index[] + * @var Index[] */ public $renamedIndexes = []; @@ -106,7 +81,7 @@ class TableDiff /** * All changed foreign keys * - * @var \Doctrine\DBAL\Schema\ForeignKeyConstraint[] + * @var ForeignKeyConstraint[] */ public $changedForeignKeys = []; @@ -117,41 +92,44 @@ class TableDiff */ public $removedForeignKeys = []; - /** - * @var \Doctrine\DBAL\Schema\Table - */ + /** @var Table */ public $fromTable; /** * Constructs an TableDiff object. * - * @param string $tableName - * @param \Doctrine\DBAL\Schema\Column[] $addedColumns - * @param \Doctrine\DBAL\Schema\ColumnDiff[] $changedColumns - * @param \Doctrine\DBAL\Schema\Column[] $removedColumns - * @param \Doctrine\DBAL\Schema\Index[] $addedIndexes - * @param \Doctrine\DBAL\Schema\Index[] $changedIndexes - * @param \Doctrine\DBAL\Schema\Index[] $removedIndexes - * @param \Doctrine\DBAL\Schema\Table|null $fromTable + * @param string $tableName + * @param Column[] $addedColumns + * @param ColumnDiff[] $changedColumns + * @param Column[] $removedColumns + * @param Index[] $addedIndexes + * @param Index[] $changedIndexes + * @param Index[] $removedIndexes */ - public function __construct($tableName, $addedColumns = [], - $changedColumns = [], $removedColumns = [], $addedIndexes = [], - $changedIndexes = [], $removedIndexes = [], Table $fromTable = null) - { - $this->name = $tableName; - $this->addedColumns = $addedColumns; + public function __construct( + $tableName, + $addedColumns = [], + $changedColumns = [], + $removedColumns = [], + $addedIndexes = [], + $changedIndexes = [], + $removedIndexes = [], + ?Table $fromTable = null + ) { + $this->name = $tableName; + $this->addedColumns = $addedColumns; $this->changedColumns = $changedColumns; $this->removedColumns = $removedColumns; - $this->addedIndexes = $addedIndexes; + $this->addedIndexes = $addedIndexes; $this->changedIndexes = $changedIndexes; $this->removedIndexes = $removedIndexes; - $this->fromTable = $fromTable; + $this->fromTable = $fromTable; } /** * @param AbstractPlatform $platform The platform to use for retrieving this table diff's name. * - * @return \Doctrine\DBAL\Schema\Identifier + * @return Identifier */ public function getName(AbstractPlatform $platform) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/View.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/View.php index 0ef7d305b..ac8d6cb5c 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/View.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/View.php @@ -1,37 +1,14 @@ . - */ namespace Doctrine\DBAL\Schema; /** * Representation of a Database View. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei */ class View extends AbstractAsset { - /** - * @var string - */ - private $_sql; + /** @var string */ + private $sql; /** * @param string $name @@ -40,7 +17,7 @@ class View extends AbstractAsset public function __construct($name, $sql) { $this->_setName($name); - $this->_sql = $sql; + $this->sql = $sql; } /** @@ -48,6 +25,6 @@ class View extends AbstractAsset */ public function getSql() { - return $this->_sql; + return $this->sql; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/AbstractVisitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/AbstractVisitor.php index 7bf5b2fec..471690442 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/AbstractVisitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/AbstractVisitor.php @@ -1,39 +1,19 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ForeignKeyConstraint; -use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\Index; +use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; /** * Abstract Visitor with empty methods for easy extension. */ class AbstractVisitor implements Visitor, NamespaceVisitor { - /** - * @param \Doctrine\DBAL\Schema\Schema $schema - */ public function acceptSchema(Schema $schema) { } @@ -45,40 +25,22 @@ class AbstractVisitor implements Visitor, NamespaceVisitor { } - /** - * @param \Doctrine\DBAL\Schema\Table $table - */ public function acceptTable(Table $table) { } - /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Schema\Column $column - */ public function acceptColumn(Table $table, Column $column) { } - /** - * @param \Doctrine\DBAL\Schema\Table $localTable - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $fkConstraint - */ public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint) { } - /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Schema\Index $index - */ public function acceptIndex(Table $table, Index $index) { } - /** - * @param \Doctrine\DBAL\Schema\Sequence $sequence - */ public function acceptSequence(Sequence $sequence) { } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/CreateSchemaSqlCollector.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/CreateSchemaSqlCollector.php index 0d92edb09..318c8b262 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/CreateSchemaSqlCollector.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/CreateSchemaSqlCollector.php @@ -1,61 +1,30 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; use Doctrine\DBAL\Platforms\AbstractPlatform; -use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\ForeignKeyConstraint; use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; use function array_merge; class CreateSchemaSqlCollector extends AbstractVisitor { - /** - * @var array - */ + /** @var string[] */ private $createNamespaceQueries = []; - /** - * @var array - */ + /** @var string[] */ private $createTableQueries = []; - /** - * @var array - */ + /** @var string[] */ private $createSequenceQueries = []; - /** - * @var array - */ + /** @var string[] */ private $createFkConstraintQueries = []; - /** - * - * @var \Doctrine\DBAL\Platforms\AbstractPlatform - */ + /** @var AbstractPlatform */ private $platform = null; - /** - * @param AbstractPlatform $platform - */ public function __construct(AbstractPlatform $platform) { $this->platform = $platform; @@ -66,9 +35,11 @@ class CreateSchemaSqlCollector extends AbstractVisitor */ public function acceptNamespace($namespaceName) { - if ($this->platform->supportsSchemas()) { - $this->createNamespaceQueries[] = $this->platform->getCreateSchemaSQL($namespaceName); + if (! $this->platform->supportsSchemas()) { + return; } + + $this->createNamespaceQueries[] = $this->platform->getCreateSchemaSQL($namespaceName); } /** @@ -84,9 +55,11 @@ class CreateSchemaSqlCollector extends AbstractVisitor */ public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint) { - if ($this->platform->supportsForeignKeyConstraints()) { - $this->createFkConstraintQueries[] = $this->platform->getCreateForeignKeySQL($fkConstraint, $localTable); + if (! $this->platform->supportsForeignKeyConstraints()) { + return; } + + $this->createFkConstraintQueries[] = $this->platform->getCreateForeignKeySQL($fkConstraint, $localTable); } /** @@ -102,16 +75,16 @@ class CreateSchemaSqlCollector extends AbstractVisitor */ public function resetQueries() { - $this->createNamespaceQueries = []; - $this->createTableQueries = []; - $this->createSequenceQueries = []; + $this->createNamespaceQueries = []; + $this->createTableQueries = []; + $this->createSequenceQueries = []; $this->createFkConstraintQueries = []; } /** * Gets all queries collected so far. * - * @return array + * @return string[] */ public function getQueries() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/DropSchemaSqlCollector.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/DropSchemaSqlCollector.php index abd183d5a..44f5ea80a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/DropSchemaSqlCollector.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/DropSchemaSqlCollector.php @@ -1,63 +1,32 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; use Doctrine\DBAL\Platforms\AbstractPlatform; -use Doctrine\DBAL\Schema\Table; use Doctrine\DBAL\Schema\ForeignKeyConstraint; -use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\SchemaException; +use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; +use SplObjectStorage; use function strlen; /** * Gathers SQL statements that allow to completely drop the current schema. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ class DropSchemaSqlCollector extends AbstractVisitor { - /** - * @var \SplObjectStorage - */ + /** @var SplObjectStorage */ private $constraints; - /** - * @var \SplObjectStorage - */ + /** @var SplObjectStorage */ private $sequences; - /** - * @var \SplObjectStorage - */ + /** @var SplObjectStorage */ private $tables; - /** - * @var AbstractPlatform - */ + /** @var AbstractPlatform */ private $platform; - /** - * @param AbstractPlatform $platform - */ public function __construct(AbstractPlatform $platform) { $this->platform = $platform; @@ -77,7 +46,7 @@ class DropSchemaSqlCollector extends AbstractVisitor */ public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint) { - if (strlen($fkConstraint->getName()) == 0) { + if (strlen($fkConstraint->getName()) === 0) { throw SchemaException::namedForeignKeyRequired($localTable, $fkConstraint); } @@ -97,13 +66,13 @@ class DropSchemaSqlCollector extends AbstractVisitor */ public function clearQueries() { - $this->constraints = new \SplObjectStorage(); - $this->sequences = new \SplObjectStorage(); - $this->tables = new \SplObjectStorage(); + $this->constraints = new SplObjectStorage(); + $this->sequences = new SplObjectStorage(); + $this->tables = new SplObjectStorage(); } /** - * @return array + * @return string[] */ public function getQueries() { @@ -111,7 +80,7 @@ class DropSchemaSqlCollector extends AbstractVisitor foreach ($this->constraints as $fkConstraint) { $localTable = $this->constraints[$fkConstraint]; - $sql[] = $this->platform->getDropForeignKeySQL($fkConstraint, $localTable); + $sql[] = $this->platform->getDropForeignKeySQL($fkConstraint, $localTable); } foreach ($this->sequences as $sequence) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Graphviz.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Graphviz.php index daec58ef0..889f96112 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Graphviz.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Graphviz.php @@ -1,27 +1,10 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\ForeignKeyConstraint; +use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Schema\Table; use function current; use function file_put_contents; use function in_array; @@ -34,9 +17,7 @@ use function strtolower; */ class Graphviz extends AbstractVisitor { - /** - * @var string - */ + /** @var string */ private $output = ''; /** @@ -45,8 +26,8 @@ class Graphviz extends AbstractVisitor public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint) { $this->output .= $this->createNodeRelation( - $fkConstraint->getLocalTableName() . ":col" . current($fkConstraint->getLocalColumns()).":se", - $fkConstraint->getForeignTableName() . ":col" . current($fkConstraint->getForeignColumns()).":se", + $fkConstraint->getLocalTableName() . ':col' . current($fkConstraint->getLocalColumns()) . ':se', + $fkConstraint->getForeignTableName() . ':col' . current($fkConstraint->getForeignColumns()) . ':se', [ 'dir' => 'back', 'arrowtail' => 'dot', @@ -63,7 +44,7 @@ class Graphviz extends AbstractVisitor $this->output = 'digraph "' . sha1(mt_rand()) . '" {' . "\n"; $this->output .= 'splines = true;' . "\n"; $this->output .= 'overlap = false;' . "\n"; - $this->output .= 'outputorder=edgesfirst;'."\n"; + $this->output .= 'outputorder=edgesfirst;' . "\n"; $this->output .= 'mindist = 0.6;' . "\n"; $this->output .= 'sep = .2;' . "\n"; } @@ -83,8 +64,6 @@ class Graphviz extends AbstractVisitor } /** - * @param \Doctrine\DBAL\Schema\Table $table - * * @return string */ private function createTableLabel(Table $table) @@ -103,7 +82,7 @@ class Graphviz extends AbstractVisitor $label .= ''; $label .= '' . $columnLabel . ''; $label .= '' . strtolower($column->getType()) . ''; - $label .= ''; + $label .= ''; if ($table->hasPrimaryKey() && in_array($column->getName(), $table->getPrimaryKey()->getColumns())) { $label .= "\xe2\x9c\xb7"; } @@ -117,14 +96,14 @@ class Graphviz extends AbstractVisitor } /** - * @param string $name - * @param array $options + * @param string $name + * @param string[] $options * * @return string */ private function createNode($name, $options) { - $node = $name . " ["; + $node = $name . ' ['; foreach ($options as $key => $value) { $node .= $key . '=' . $value . ' '; } @@ -134,9 +113,9 @@ class Graphviz extends AbstractVisitor } /** - * @param string $node1 - * @param string $node2 - * @param array $options + * @param string $node1 + * @param string $node2 + * @param string[] $options * * @return string */ @@ -158,7 +137,7 @@ class Graphviz extends AbstractVisitor */ public function getOutput() { - return $this->output . "}"; + return $this->output . '}'; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/NamespaceVisitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/NamespaceVisitor.php index da7b1edbc..186fe1b42 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/NamespaceVisitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/NamespaceVisitor.php @@ -1,30 +1,9 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; /** * Visitor that can visit schema namespaces. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ interface NamespaceVisitor { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/RemoveNamespacedAssets.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/RemoveNamespacedAssets.php index e328d071c..9b23b3958 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/RemoveNamespacedAssets.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/RemoveNamespacedAssets.php @@ -1,28 +1,11 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\ForeignKeyConstraint; +use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; /** * Removes assets from a schema that are not in the default namespace. @@ -34,15 +17,10 @@ use Doctrine\DBAL\Schema\Sequence; * * This visitor filters all these non-default namespaced tables and sequences * and removes them from the SChema instance. - * - * @author Benjamin Eberlei - * @since 2.2 */ class RemoveNamespacedAssets extends AbstractVisitor { - /** - * @var \Doctrine\DBAL\Schema\Schema - */ + /** @var Schema */ private $schema; /** @@ -58,9 +36,11 @@ class RemoveNamespacedAssets extends AbstractVisitor */ public function acceptTable(Table $table) { - if ( ! $table->isInDefaultNamespace($this->schema->getName())) { - $this->schema->dropTable($table->getName()); + if ($table->isInDefaultNamespace($this->schema->getName())) { + return; } + + $this->schema->dropTable($table->getName()); } /** @@ -68,9 +48,11 @@ class RemoveNamespacedAssets extends AbstractVisitor */ public function acceptSequence(Sequence $sequence) { - if ( ! $sequence->isInDefaultNamespace($this->schema->getName())) { - $this->schema->dropSequence($sequence->getName()); + if ($sequence->isInDefaultNamespace($this->schema->getName())) { + return; } + + $this->schema->dropSequence($sequence->getName()); } /** @@ -81,14 +63,16 @@ class RemoveNamespacedAssets extends AbstractVisitor // The table may already be deleted in a previous // RemoveNamespacedAssets#acceptTable call. Removing Foreign keys that // point to nowhere. - if ( ! $this->schema->hasTable($fkConstraint->getForeignTableName())) { + if (! $this->schema->hasTable($fkConstraint->getForeignTableName())) { $localTable->removeForeignKey($fkConstraint->getName()); return; } $foreignTable = $this->schema->getTable($fkConstraint->getForeignTableName()); - if ( ! $foreignTable->isInDefaultNamespace($this->schema->getName())) { - $localTable->removeForeignKey($fkConstraint->getName()); + if ($foreignTable->isInDefaultNamespace($this->schema->getName())) { + return; } + + $localTable->removeForeignKey($fkConstraint->getName()); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/SchemaDiffVisitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/SchemaDiffVisitor.php index bde4453b3..5ec843d9b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/SchemaDiffVisitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/SchemaDiffVisitor.php @@ -1,82 +1,39 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\TableDiff; use Doctrine\DBAL\Schema\ForeignKeyConstraint; use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\TableDiff; /** * Visit a SchemaDiff. - * - * @link www.doctrine-project.org - * @since 2.4 - * @author Benjamin Eberlei */ interface SchemaDiffVisitor { /** * Visit an orphaned foreign key whose table was deleted. - * - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey */ - function visitOrphanedForeignKey(ForeignKeyConstraint $foreignKey); + public function visitOrphanedForeignKey(ForeignKeyConstraint $foreignKey); /** * Visit a sequence that has changed. - * - * @param \Doctrine\DBAL\Schema\Sequence $sequence */ - function visitChangedSequence(Sequence $sequence); + public function visitChangedSequence(Sequence $sequence); /** * Visit a sequence that has been removed. - * - * @param \Doctrine\DBAL\Schema\Sequence $sequence */ - function visitRemovedSequence(Sequence $sequence); + public function visitRemovedSequence(Sequence $sequence); - /** - * @param \Doctrine\DBAL\Schema\Sequence $sequence - */ - function visitNewSequence(Sequence $sequence); + public function visitNewSequence(Sequence $sequence); - /** - * @param \Doctrine\DBAL\Schema\Table $table - */ - function visitNewTable(Table $table); + public function visitNewTable(Table $table); - /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $foreignKey - */ - function visitNewTableForeignKey(Table $table, ForeignKeyConstraint $foreignKey); + public function visitNewTableForeignKey(Table $table, ForeignKeyConstraint $foreignKey); - /** - * @param \Doctrine\DBAL\Schema\Table $table - */ - function visitRemovedTable(Table $table); + public function visitRemovedTable(Table $table); - /** - * @param \Doctrine\DBAL\Schema\TableDiff $tableDiff - */ - function visitChangedTable(TableDiff $tableDiff); + public function visitChangedTable(TableDiff $tableDiff); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Visitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Visitor.php index 656f0e20c..05c842830 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Visitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/Visitor/Visitor.php @@ -1,81 +1,45 @@ . - */ namespace Doctrine\DBAL\Schema\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ForeignKeyConstraint; -use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\Index; +use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; /** * Schema Visitor used for Validation or Generation purposes. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei */ interface Visitor { /** - * @param \Doctrine\DBAL\Schema\Schema $schema - * * @return void */ public function acceptSchema(Schema $schema); /** - * @param \Doctrine\DBAL\Schema\Table $table - * * @return void */ public function acceptTable(Table $table); /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Schema\Column $column - * * @return void */ public function acceptColumn(Table $table, Column $column); /** - * @param \Doctrine\DBAL\Schema\Table $localTable - * @param \Doctrine\DBAL\Schema\ForeignKeyConstraint $fkConstraint - * * @return void */ public function acceptForeignKey(Table $localTable, ForeignKeyConstraint $fkConstraint); /** - * @param \Doctrine\DBAL\Schema\Table $table - * @param \Doctrine\DBAL\Schema\Index $index - * * @return void */ public function acceptIndex(Table $table, Index $index); /** - * @param \Doctrine\DBAL\Schema\Sequence $sequence - * * @return void */ public function acceptSequence(Sequence $sequence); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardConnection.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardConnection.php index e307d5ebc..abb5b4004 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardConnection.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardConnection.php @@ -1,32 +1,16 @@ . - */ namespace Doctrine\DBAL\Sharding; use Doctrine\Common\EventManager; use Doctrine\DBAL\Configuration; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Driver\Connection as DriverConnection; use Doctrine\DBAL\Driver; +use Doctrine\DBAL\Driver\Connection as DriverConnection; use Doctrine\DBAL\Event\ConnectionEventArgs; use Doctrine\DBAL\Events; use Doctrine\DBAL\Sharding\ShardChoser\ShardChoser; +use InvalidArgumentException; use function array_merge; use function is_numeric; use function is_string; @@ -63,65 +47,54 @@ use function is_string; * $shardManager = $conn->getShardManager(); * $shardManager->selectGlobal(); * $shardManager->selectShard($value); - * - * @author Benjamin Eberlei */ class PoolingShardConnection extends Connection { - /** - * @var DriverConnection[] - */ + /** @var DriverConnection[] */ private $activeConnections = []; - /** - * @var int|null - */ + /** @var int|null */ private $activeShardId; - /** - * @var mixed[] - */ + /** @var mixed[] */ private $connectionParameters = []; /** - * @param array $params - * @param \Doctrine\DBAL\Driver $driver - * @param \Doctrine\DBAL\Configuration $config - * @param \Doctrine\Common\EventManager $eventManager + * {@inheritDoc} * - * @throws \InvalidArgumentException + * @throws InvalidArgumentException */ - public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null) + public function __construct(array $params, Driver $driver, ?Configuration $config = null, ?EventManager $eventManager = null) { if (! isset($params['global'], $params['shards'])) { - throw new \InvalidArgumentException("Connection Parameters require 'global' and 'shards' configurations."); + throw new InvalidArgumentException("Connection Parameters require 'global' and 'shards' configurations."); } if (! isset($params['shardChoser'])) { - throw new \InvalidArgumentException("Missing Shard Choser configuration 'shardChoser'"); + throw new InvalidArgumentException("Missing Shard Choser configuration 'shardChoser'"); } if (is_string($params['shardChoser'])) { - $params['shardChoser'] = new $params['shardChoser']; + $params['shardChoser'] = new $params['shardChoser'](); } - if ( ! ($params['shardChoser'] instanceof ShardChoser)) { - throw new \InvalidArgumentException("The 'shardChoser' configuration is not a valid instance of Doctrine\DBAL\Sharding\ShardChoser\ShardChoser"); + if (! ($params['shardChoser'] instanceof ShardChoser)) { + throw new InvalidArgumentException("The 'shardChoser' configuration is not a valid instance of Doctrine\DBAL\Sharding\ShardChoser\ShardChoser"); } $this->connectionParameters[0] = array_merge($params, $params['global']); foreach ($params['shards'] as $shard) { - if ( ! isset($shard['id'])) { - throw new \InvalidArgumentException("Missing 'id' for one configured shard. Please specify a unique shard-id."); + if (! isset($shard['id'])) { + throw new InvalidArgumentException("Missing 'id' for one configured shard. Please specify a unique shard-id."); } - if ( !is_numeric($shard['id']) || $shard['id'] < 1) { - throw new \InvalidArgumentException("Shard Id has to be a non-negative number."); + if (! is_numeric($shard['id']) || $shard['id'] < 1) { + throw new InvalidArgumentException('Shard Id has to be a non-negative number.'); } if (isset($this->connectionParameters[$shard['id']])) { - throw new \InvalidArgumentException("Shard " . $shard['id'] . " is duplicated in the configuration."); + throw new InvalidArgumentException('Shard ' . $shard['id'] . ' is duplicated in the configuration.'); } $this->connectionParameters[$shard['id']] = array_merge($params, $shard); @@ -195,7 +168,7 @@ class PoolingShardConnection extends Connection * * @return bool * - * @throws \Doctrine\DBAL\Sharding\ShardingException + * @throws ShardingException */ public function connect($shardId = null) { @@ -208,7 +181,7 @@ class PoolingShardConnection extends Connection } if ($this->getTransactionNestingLevel() > 0) { - throw new ShardingException("Cannot switch shard when transaction is active."); + throw new ShardingException('Cannot switch shard when transaction is active.'); } $this->activeShardId = (int) $shardId; @@ -244,7 +217,7 @@ class PoolingShardConnection extends Connection $connectionParams = $this->connectionParameters[$shardId]; - $user = $connectionParams['user'] ?? null; + $user = $connectionParams['user'] ?? null; $password = $connectionParams['password'] ?? null; return $this->_driver->connect($connectionParams, $user, $password, $driverOptions); diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardManager.php index 7f9a33fc5..5edc56b87 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/PoolingShardManager.php @@ -1,51 +1,24 @@ . - */ namespace Doctrine\DBAL\Sharding; use Doctrine\DBAL\Sharding\ShardChoser\ShardChoser; +use RuntimeException; /** * Shard Manager for the Connection Pooling Shard Strategy - * - * @author Benjamin Eberlei */ class PoolingShardManager implements ShardManager { - /** - * @var PoolingShardConnection - */ + /** @var PoolingShardConnection */ private $conn; - /** - * @var ShardChoser - */ + /** @var ShardChoser */ private $choser; - /** - * @var string|null - */ + /** @var string|null */ private $currentDistributionValue; - /** - * @param PoolingShardConnection $conn - */ public function __construct(PoolingShardConnection $conn) { $params = $conn->getParams(); @@ -96,22 +69,18 @@ class PoolingShardManager implements ShardManager } /** - * @param string $sql - * @param array $params - * @param array $types + * {@inheritDoc} * - * @return array - * - * @throws \RuntimeException + * @throws RuntimeException */ public function queryAll($sql, array $params, array $types) { $shards = $this->getShards(); - if (!$shards) { - throw new \RuntimeException("No shards found."); + if (! $shards) { + throw new RuntimeException('No shards found.'); } - $result = []; + $result = []; $oldDistribution = $this->getCurrentDistributionValue(); foreach ($shards as $shard) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizer.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizer.php index 2b700b38a..32d642365 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizer.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizer.php @@ -1,31 +1,15 @@ . - */ namespace Doctrine\DBAL\Sharding\SQLAzure; -use Doctrine\DBAL\Schema\Schema; +use Closure; use Doctrine\DBAL\Connection; -use Doctrine\DBAL\Types\Type; - +use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Synchronizer\AbstractSchemaSynchronizer; -use Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer; use Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer; +use Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer; +use Doctrine\DBAL\Types\Type; +use RuntimeException; use function array_merge; /** @@ -35,30 +19,19 @@ use function array_merge; * by partitioning the passed schema into subschemas for the federation and the * global database and then applying the operations step by step using the * {@see \Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer}. - * - * @author Benjamin Eberlei */ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer { - const FEDERATION_TABLE_FEDERATED = 'azure.federated'; - const FEDERATION_DISTRIBUTION_NAME = 'azure.federatedOnDistributionName'; + public const FEDERATION_TABLE_FEDERATED = 'azure.federated'; + public const FEDERATION_DISTRIBUTION_NAME = 'azure.federatedOnDistributionName'; - /** - * @var \Doctrine\DBAL\Sharding\SQLAzure\SQLAzureShardManager - */ + /** @var SQLAzureShardManager */ private $shardManager; - /** - * @var \Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer - */ + /** @var SchemaSynchronizer */ private $synchronizer; - /** - * @param \Doctrine\DBAL\Connection $conn - * @param \Doctrine\DBAL\Sharding\SQLAzure\SQLAzureShardManager $shardManager - * @param \Doctrine\DBAL\Schema\Synchronizer\SchemaSynchronizer|null $sync - */ - public function __construct(Connection $conn, SQLAzureShardManager $shardManager, SchemaSynchronizer $sync = null) + public function __construct(Connection $conn, SQLAzureShardManager $shardManager, ?SchemaSynchronizer $sync = null) { parent::__construct($conn); $this->shardManager = $shardManager; @@ -72,13 +45,13 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer { $sql = []; - list($global, $federation) = $this->partitionSchema($createSchema); + [$global, $federation] = $this->partitionSchema($createSchema); $globalSql = $this->synchronizer->getCreateSchema($global); if ($globalSql) { $sql[] = "-- Create Root Federation\n" . - "USE FEDERATION ROOT WITH RESET;"; - $sql = array_merge($sql, $globalSql); + 'USE FEDERATION ROOT WITH RESET;'; + $sql = array_merge($sql, $globalSql); } $federationSql = $this->synchronizer->getCreateSchema($federation); @@ -87,8 +60,8 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer $defaultValue = $this->getFederationTypeDefaultValue(); $sql[] = $this->getCreateFederationStatement(); - $sql[] = "USE FEDERATION " . $this->shardManager->getFederationName() . " (" . $this->shardManager->getDistributionKey() . " = " . $defaultValue . ") WITH RESET, FILTERING = OFF;"; - $sql = array_merge($sql, $federationSql); + $sql[] = 'USE FEDERATION ' . $this->shardManager->getFederationName() . ' (' . $this->shardManager->getDistributionKey() . ' = ' . $defaultValue . ') WITH RESET, FILTERING = OFF;'; + $sql = array_merge($sql, $federationSql); } return $sql; @@ -99,7 +72,7 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer */ public function getUpdateSchema(Schema $toSchema, $noDrops = false) { - return $this->work($toSchema, function ($synchronizer, $schema) use ($noDrops) { + return $this->work($toSchema, static function ($synchronizer, $schema) use ($noDrops) { return $synchronizer->getUpdateSchema($schema, $noDrops); }); } @@ -109,7 +82,7 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer */ public function getDropSchema(Schema $dropSchema) { - return $this->work($dropSchema, function ($synchronizer, $schema) { + return $this->work($dropSchema, static function ($synchronizer, $schema) { return $synchronizer->getDropSchema($schema); }); } @@ -148,7 +121,7 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer if ($globalSql) { $sql[] = "-- Work on Root Federation\nUSE FEDERATION ROOT WITH RESET;"; - $sql = array_merge($sql, $globalSql); + $sql = array_merge($sql, $globalSql); } $shards = $this->shardManager->getShards(); @@ -156,15 +129,17 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer $this->shardManager->selectShard($shard['rangeLow']); $federationSql = $this->synchronizer->getDropAllSchema(); - if ($federationSql) { - $sql[] = "-- Work on Federation ID " . $shard['id'] . "\n" . - "USE FEDERATION " . $this->shardManager->getFederationName() . " (" . $this->shardManager->getDistributionKey() . " = " . $shard['rangeLow'].") WITH RESET, FILTERING = OFF;"; - $sql = array_merge($sql, $federationSql); + if (! $federationSql) { + continue; } + + $sql[] = '-- Work on Federation ID ' . $shard['id'] . "\n" . + 'USE FEDERATION ' . $this->shardManager->getFederationName() . ' (' . $this->shardManager->getDistributionKey() . ' = ' . $shard['rangeLow'] . ') WITH RESET, FILTERING = OFF;'; + $sql = array_merge($sql, $federationSql); } - $sql[] = "USE FEDERATION ROOT WITH RESET;"; - $sql[] = "DROP FEDERATION " . $this->shardManager->getFederationName(); + $sql[] = 'USE FEDERATION ROOT WITH RESET;'; + $sql[] = 'DROP FEDERATION ' . $this->shardManager->getFederationName(); return $sql; } @@ -178,9 +153,7 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer } /** - * @param \Doctrine\DBAL\Schema\Schema $schema - * - * @return array + * @return Schema[] */ private function partitionSchema(Schema $schema) { @@ -191,12 +164,11 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer } /** - * @param \Doctrine\DBAL\Schema\Schema $schema - * @param bool $isFederation + * @param bool $isFederation * - * @return \Doctrine\DBAL\Schema\Schema + * @return Schema * - * @throws \RuntimeException + * @throws RuntimeException */ private function extractSchemaFederation(Schema $schema, $isFederation) { @@ -213,7 +185,7 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer foreach ($table->getForeignKeys() as $fk) { $foreignTable = $schema->getTable($fk->getForeignTableName()); if ($foreignTable->hasOption(self::FEDERATION_TABLE_FEDERATED) !== $isFederation) { - throw new \RuntimeException("Cannot have foreign key between global/federation."); + throw new RuntimeException('Cannot have foreign key between global/federation.'); } } } @@ -227,15 +199,12 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer * perform the given operation on the underlying schema synchronizer given * the different partitioned schema instances. * - * @param \Doctrine\DBAL\Schema\Schema $schema - * @param \Closure $operation - * - * @return array + * @return string[] */ - private function work(Schema $schema, \Closure $operation) + private function work(Schema $schema, Closure $operation) { - list($global, $federation) = $this->partitionSchema($schema); - $sql = []; + [$global, $federation] = $this->partitionSchema($schema); + $sql = []; $this->shardManager->selectGlobal(); $globalSql = $operation($this->synchronizer, $global); @@ -251,11 +220,13 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer $this->shardManager->selectShard($shard['rangeLow']); $federationSql = $operation($this->synchronizer, $federation); - if ($federationSql) { - $sql[] = "-- Work on Federation ID " . $shard['id'] . "\n" . - "USE FEDERATION " . $this->shardManager->getFederationName() . " (" . $this->shardManager->getDistributionKey() . " = " . $shard['rangeLow'].") WITH RESET, FILTERING = OFF;"; - $sql = array_merge($sql, $federationSql); + if (! $federationSql) { + continue; } + + $sql[] = '-- Work on Federation ID ' . $shard['id'] . "\n" . + 'USE FEDERATION ' . $this->shardManager->getFederationName() . ' (' . $this->shardManager->getDistributionKey() . ' = ' . $shard['rangeLow'] . ') WITH RESET, FILTERING = OFF;'; + $sql = array_merge($sql, $federationSql); } return $sql; @@ -290,10 +261,10 @@ class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer */ private function getCreateFederationStatement() { - $federationType = Type::getType($this->shardManager->getDistributionType()); + $federationType = Type::getType($this->shardManager->getDistributionType()); $federationTypeSql = $federationType->getSQLDeclaration([], $this->conn->getDatabasePlatform()); return "--Create Federation\n" . - "CREATE FEDERATION " . $this->shardManager->getFederationName() . " (" . $this->shardManager->getDistributionKey() . " " . $federationTypeSql ." RANGE)"; + 'CREATE FEDERATION ' . $this->shardManager->getFederationName() . ' (' . $this->shardManager->getDistributionKey() . ' ' . $federationTypeSql . ' RANGE)'; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureShardManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureShardManager.php index 255ca8b41..7c5dfe5c4 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureShardManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/SQLAzureShardManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Sharding\SQLAzure; @@ -23,71 +6,56 @@ use Doctrine\DBAL\Connection; use Doctrine\DBAL\Sharding\ShardingException; use Doctrine\DBAL\Sharding\ShardManager; use Doctrine\DBAL\Types\Type; +use RuntimeException; use function is_bool; use function is_scalar; use function sprintf; /** * Sharding using the SQL Azure Federations support. - * - * @author Benjamin Eberlei */ class SQLAzureShardManager implements ShardManager { - /** - * @var string - */ + /** @var string */ private $federationName; - /** - * @var bool - */ + /** @var bool */ private $filteringEnabled; - /** - * @var string - */ + /** @var string */ private $distributionKey; - /** - * @var string - */ + /** @var string */ private $distributionType; - /** - * @var \Doctrine\DBAL\Connection - */ + /** @var Connection */ private $conn; - /** - * @var string|null - */ + /** @var string|null */ private $currentDistributionValue; /** - * @param \Doctrine\DBAL\Connection $conn - * - * @throws \Doctrine\DBAL\Sharding\ShardingException + * @throws ShardingException */ public function __construct(Connection $conn) { $this->conn = $conn; - $params = $conn->getParams(); + $params = $conn->getParams(); - if ( ! isset($params['sharding']['federationName'])) { + if (! isset($params['sharding']['federationName'])) { throw ShardingException::missingDefaultFederationName(); } - if ( ! isset($params['sharding']['distributionKey'])) { + if (! isset($params['sharding']['distributionKey'])) { throw ShardingException::missingDefaultDistributionKey(); } - if ( ! isset($params['sharding']['distributionType'])) { + if (! isset($params['sharding']['distributionType'])) { throw ShardingException::missingDistributionType(); } - $this->federationName = $params['sharding']['federationName']; - $this->distributionKey = $params['sharding']['distributionKey']; + $this->federationName = $params['sharding']['federationName']; + $this->distributionKey = $params['sharding']['distributionKey']; $this->distributionType = $params['sharding']['distributionType']; $this->filteringEnabled = (bool) ($params['sharding']['filteringEnabled'] ?? false); } @@ -143,7 +111,7 @@ class SQLAzureShardManager implements ShardManager throw ShardingException::activeTransaction(); } - $sql = "USE FEDERATION ROOT WITH RESET"; + $sql = 'USE FEDERATION ROOT WITH RESET'; $this->conn->exec($sql); $this->currentDistributionValue = null; } @@ -157,13 +125,13 @@ class SQLAzureShardManager implements ShardManager throw ShardingException::activeTransaction(); } - if ($distributionValue === null || is_bool($distributionValue) || !is_scalar($distributionValue)) { + if ($distributionValue === null || is_bool($distributionValue) || ! is_scalar($distributionValue)) { throw ShardingException::noShardDistributionValue(); } $platform = $this->conn->getDatabasePlatform(); - $sql = sprintf( - "USE FEDERATION %s (%s = %s) WITH RESET, FILTERING = %s;", + $sql = sprintf( + 'USE FEDERATION %s (%s = %s) WITH RESET, FILTERING = %s;', $platform->quoteIdentifier($this->federationName), $platform->quoteIdentifier($this->distributionKey), $this->conn->quote($distributionValue), @@ -187,13 +155,13 @@ class SQLAzureShardManager implements ShardManager */ public function getShards() { - $sql = "SELECT member_id as id, + $sql = 'SELECT member_id as id, distribution_name as distribution_key, CAST(range_low AS CHAR) AS rangeLow, CAST(range_high AS CHAR) AS rangeHigh FROM sys.federation_member_distributions d INNER JOIN sys.federations f ON f.federation_id = d.federation_id - WHERE f.name = " . $this->conn->quote($this->federationName); + WHERE f.name = ' . $this->conn->quote($this->federationName); return $this->conn->fetchAll($sql); } @@ -204,11 +172,11 @@ class SQLAzureShardManager implements ShardManager public function queryAll($sql, array $params = [], array $types = []) { $shards = $this->getShards(); - if (!$shards) { - throw new \RuntimeException("No shards found for " . $this->federationName); + if (! $shards) { + throw new RuntimeException('No shards found for ' . $this->federationName); } - $result = []; + $result = []; $oldDistribution = $this->getCurrentDistributionValue(); foreach ($shards as $shard) { @@ -238,9 +206,9 @@ class SQLAzureShardManager implements ShardManager { $type = Type::getType($this->distributionType); - $sql = "ALTER FEDERATION " . $this->getFederationName() . " " . - "SPLIT AT (" . $this->getDistributionKey() . " = " . - $this->conn->quote($splitDistributionValue, $type->getBindingType()) . ")"; + $sql = 'ALTER FEDERATION ' . $this->getFederationName() . ' ' . + 'SPLIT AT (' . $this->getDistributionKey() . ' = ' . + $this->conn->quote($splitDistributionValue, $type->getBindingType()) . ')'; $this->conn->exec($sql); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema/MultiTenantVisitor.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema/MultiTenantVisitor.php index 92851d001..a83b401c2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema/MultiTenantVisitor.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/SQLAzure/Schema/MultiTenantVisitor.php @@ -1,31 +1,15 @@ . - */ namespace Doctrine\DBAL\Sharding\SQLAzure\Schema; -use Doctrine\DBAL\Schema\Visitor\Visitor; -use Doctrine\DBAL\Schema\Table; -use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Column; use Doctrine\DBAL\Schema\ForeignKeyConstraint; -use Doctrine\DBAL\Schema\Sequence; use Doctrine\DBAL\Schema\Index; +use Doctrine\DBAL\Schema\Schema; +use Doctrine\DBAL\Schema\Sequence; +use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\Visitor\Visitor; +use RuntimeException; use function in_array; /** @@ -46,24 +30,16 @@ use function in_array; * (otherwise they will affect the same-id rows from other tenants as well). * SQLAzure throws errors when you try to create IDENTIY columns on federated * tables. - * - * @author Benjamin Eberlei */ class MultiTenantVisitor implements Visitor { - /** - * @var array - */ + /** @var string[] */ private $excludedTables = []; - /** - * @var string - */ + /** @var string */ private $tenantColumnName; - /** - * @var string - */ + /** @var string */ private $tenantColumnType = 'integer'; /** @@ -75,13 +51,13 @@ class MultiTenantVisitor implements Visitor private $distributionName; /** - * @param array $excludedTables + * @param string[] $excludedTables * @param string $tenantColumnName * @param string|null $distributionName */ public function __construct(array $excludedTables = [], $tenantColumnName = 'tenant_id', $distributionName = null) { - $this->excludedTables = $excludedTables; + $this->excludedTables = $excludedTables; $this->tenantColumnName = $tenantColumnName; $this->distributionName = $distributionName ?: $tenantColumnName; } @@ -96,12 +72,12 @@ class MultiTenantVisitor implements Visitor } $table->addColumn($this->tenantColumnName, $this->tenantColumnType, [ - 'default' => "federation_filtering_value('". $this->distributionName ."')", + 'default' => "federation_filtering_value('" . $this->distributionName . "')", ]); $clusteredIndex = $this->getClusteredIndex($table); - $indexColumns = $clusteredIndex->getColumns(); + $indexColumns = $clusteredIndex->getColumns(); $indexColumns[] = $this->tenantColumnName; if ($clusteredIndex->isPrimary()) { @@ -115,22 +91,24 @@ class MultiTenantVisitor implements Visitor } /** - * @param \Doctrine\DBAL\Schema\Table $table + * @param Table $table * - * @return \Doctrine\DBAL\Schema\Index + * @return Index * - * @throws \RuntimeException + * @throws RuntimeException */ private function getClusteredIndex($table) { foreach ($table->getIndexes() as $index) { if ($index->isPrimary() && ! $index->hasFlag('nonclustered')) { return $index; - } elseif ($index->hasFlag('clustered')) { + } + + if ($index->hasFlag('clustered')) { return $index; } } - throw new \RuntimeException("No clustered index found on table " . $table->getName()); + throw new RuntimeException('No clustered index found on table ' . $table->getName()); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/MultiTenantShardChoser.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/MultiTenantShardChoser.php index f1d51b8c9..584e8155a 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/MultiTenantShardChoser.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/MultiTenantShardChoser.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Sharding\ShardChoser; @@ -24,8 +7,6 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection; /** * The MultiTenant Shard choser assumes that the distribution value directly * maps to the shard id. - * - * @author Benjamin Eberlei */ class MultiTenantShardChoser implements ShardChoser { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/ShardChoser.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/ShardChoser.php index 8bbf799b8..6f8a9d477 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/ShardChoser.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardChoser/ShardChoser.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Sharding\ShardChoser; @@ -24,18 +7,15 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection; /** * Given a distribution value this shard-choser strategy will pick the shard to * connect to for retrieving rows with the distribution value. - * - * @author Benjamin Eberlei */ interface ShardChoser { /** * Picks a shard for the given distribution value. * - * @param string|int $distributionValue - * @param \Doctrine\DBAL\Sharding\PoolingShardConnection $conn + * @param string|int $distributionValue * * @return string|int */ - function pickShard($distributionValue, PoolingShardConnection $conn); + public function pickShard($distributionValue, PoolingShardConnection $conn); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardManager.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardManager.php index 98c8351d7..7b37bb2c7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardManager.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardManager.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Sharding; @@ -34,8 +17,6 @@ namespace Doctrine\DBAL\Sharding; * executed against the last shard that was selected. If a query is created for * a shard Y but then a shard X is selected when its actually executed you * will hit the wrong shard. - * - * @author Benjamin Eberlei */ interface ShardManager { @@ -47,7 +28,7 @@ interface ShardManager * * @return void */ - function selectGlobal(); + public function selectGlobal(); /** * Selects the shard against which the queries after this statement will be issued. @@ -56,16 +37,16 @@ interface ShardManager * * @return void * - * @throws \Doctrine\DBAL\Sharding\ShardingException If no value is passed as shard identifier. + * @throws ShardingException If no value is passed as shard identifier. */ - function selectShard($distributionValue); + public function selectShard($distributionValue); /** * Gets the distribution value currently used for sharding. * * @return string|null */ - function getCurrentDistributionValue(); + public function getCurrentDistributionValue(); /** * Gets information about the amount of shards and other details. @@ -73,9 +54,9 @@ interface ShardManager * Format is implementation specific, each shard is one element and has an * 'id' attribute at least. * - * @return array + * @return mixed[][] */ - function getShards(); + public function getShards(); /** * Queries all shards in undefined order and return the results appended to @@ -83,11 +64,11 @@ interface ShardManager * * Using {@link \Doctrine\DBAL\Connection::fetchAll} to retrieve rows internally. * - * @param string $sql - * @param array $params - * @param array $types + * @param string $sql + * @param mixed[] $params + * @param int[]|string[] $types * - * @return array + * @return mixed[] */ - function queryAll($sql, array $params, array $types); + public function queryAll($sql, array $params, array $types); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardingException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardingException.php index aa14d32af..b46bda2ff 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardingException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Sharding/ShardingException.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Sharding; @@ -23,8 +6,6 @@ use Doctrine\DBAL\DBALException; /** * Sharding related Exceptions - * - * @since 2.3 */ class ShardingException extends DBALException { @@ -33,7 +14,7 @@ class ShardingException extends DBALException */ public static function notImplemented() { - return new self("This functionality is not implemented with this sharding provider.", 1331557937); + return new self('This functionality is not implemented with this sharding provider.', 1331557937); } /** @@ -41,7 +22,7 @@ class ShardingException extends DBALException */ public static function missingDefaultFederationName() { - return new self("SQLAzure requires a federation name to be set during sharding configuration.", 1332141280); + return new self('SQLAzure requires a federation name to be set during sharding configuration.', 1332141280); } /** @@ -49,7 +30,7 @@ class ShardingException extends DBALException */ public static function missingDefaultDistributionKey() { - return new self("SQLAzure requires a distribution key to be set during sharding configuration.", 1332141329); + return new self('SQLAzure requires a distribution key to be set during sharding configuration.', 1332141329); } /** @@ -57,7 +38,7 @@ class ShardingException extends DBALException */ public static function activeTransaction() { - return new self("Cannot switch shard during an active transaction.", 1332141766); + return new self('Cannot switch shard during an active transaction.', 1332141766); } /** @@ -65,7 +46,7 @@ class ShardingException extends DBALException */ public static function noShardDistributionValue() { - return new self("You have to specify a string or integer as shard distribution value.", 1332142103); + return new self('You have to specify a string or integer as shard distribution value.', 1332142103); } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php index 9ee252bd7..b65fa95e3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php @@ -1,37 +1,21 @@ . - */ namespace Doctrine\DBAL; -use Doctrine\DBAL\Types\Type; use Doctrine\DBAL\Driver\Statement as DriverStatement; +use Doctrine\DBAL\Platforms\AbstractPlatform; +use Doctrine\DBAL\Types\Type; +use IteratorAggregate; +use PDO; +use Throwable; use function is_array; use function is_string; /** * A thin wrapper around a Doctrine\DBAL\Driver\Statement that adds support * for logging, DBAL mapping types, etc. - * - * @author Roman Borschel - * @since 2.0 */ -class Statement implements \IteratorAggregate, DriverStatement +class Statement implements IteratorAggregate, DriverStatement { /** * The SQL statement. @@ -43,14 +27,14 @@ class Statement implements \IteratorAggregate, DriverStatement /** * The bound parameters. * - * @var array + * @var mixed[] */ protected $params = []; /** * The parameter types. * - * @var array + * @var int[]|string[] */ protected $types = []; @@ -64,28 +48,28 @@ class Statement implements \IteratorAggregate, DriverStatement /** * The underlying database platform. * - * @var \Doctrine\DBAL\Platforms\AbstractPlatform + * @var AbstractPlatform */ protected $platform; /** * The connection this statement is bound to and executed on. * - * @var \Doctrine\DBAL\Connection + * @var Connection */ protected $conn; /** * Creates a new Statement for the given SQL and Connection. * - * @param string $sql The SQL of the statement. - * @param \Doctrine\DBAL\Connection $conn The connection on which the statement should be executed. + * @param string $sql The SQL of the statement. + * @param Connection $conn The connection on which the statement should be executed. */ public function __construct($sql, Connection $conn) { - $this->sql = $sql; - $this->stmt = $conn->getWrappedConnection()->prepare($sql); - $this->conn = $conn; + $this->sql = $sql; + $this->stmt = $conn->getWrappedConnection()->prepare($sql); + $this->conn = $conn; $this->platform = $conn->getDatabasePlatform(); } @@ -97,22 +81,22 @@ class Statement implements \IteratorAggregate, DriverStatement * type and the value undergoes the conversion routines of the mapping type before * being bound. * - * @param string $name The name or position of the parameter. - * @param mixed $value The value of the parameter. - * @param mixed $type Either a PDO binding type or a DBAL mapping type name or instance. + * @param string|int $name The name or position of the parameter. + * @param mixed $value The value of the parameter. + * @param mixed $type Either a PDO binding type or a DBAL mapping type name or instance. * * @return bool TRUE on success, FALSE on failure. */ public function bindValue($name, $value, $type = ParameterType::STRING) { $this->params[$name] = $value; - $this->types[$name] = $type; + $this->types[$name] = $type; if ($type !== null) { if (is_string($type)) { $type = Type::getType($type); } if ($type instanceof Type) { - $value = $type->convertToDatabaseValue($value, $this->platform); + $value = $type->convertToDatabaseValue($value, $this->platform); $bindingType = $type->getBindingType(); } else { $bindingType = $type; @@ -129,18 +113,18 @@ class Statement implements \IteratorAggregate, DriverStatement * * Binding a parameter by reference does not support DBAL mapping types. * - * @param string $name The name or position of the parameter. - * @param mixed $var The reference to the variable to bind. - * @param int $type The PDO binding type. - * @param int|null $length Must be specified when using an OUT bind - * so that PHP allocates enough memory to hold the returned value. + * @param string|int $name The name or position of the parameter. + * @param mixed $var The reference to the variable to bind. + * @param int $type The PDO binding type. + * @param int|null $length Must be specified when using an OUT bind + * so that PHP allocates enough memory to hold the returned value. * * @return bool TRUE on success, FALSE on failure. */ public function bindParam($name, &$var, $type = ParameterType::STRING, $length = null) { $this->params[$name] = $var; - $this->types[$name] = $type; + $this->types[$name] = $type; return $this->stmt->bindParam($name, $var, $type, $length); } @@ -148,11 +132,11 @@ class Statement implements \IteratorAggregate, DriverStatement /** * Executes the statement with the currently bound parameters. * - * @param array|null $params + * @param mixed[]|null $params * * @return bool TRUE on success, FALSE on failure. * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public function execute($params = null) { @@ -167,7 +151,7 @@ class Statement implements \IteratorAggregate, DriverStatement try { $stmt = $this->stmt->execute($params); - } catch (\Exception $ex) { + } catch (Throwable $ex) { if ($logger) { $logger->stopQuery(); } @@ -183,7 +167,7 @@ class Statement implements \IteratorAggregate, DriverStatement $logger->stopQuery(); } $this->params = []; - $this->types = []; + $this->types = []; return $stmt; } @@ -219,9 +203,7 @@ class Statement implements \IteratorAggregate, DriverStatement } /** - * Fetches extended error information associated with the last operation on the statement. - * - * @return array + * {@inheritDoc} */ public function errorInfo() { @@ -255,7 +237,7 @@ class Statement implements \IteratorAggregate, DriverStatement /** * {@inheritdoc} */ - public function fetch($fetchMode = null, $cursorOrientation = \PDO::FETCH_ORI_NEXT, $cursorOffset = 0) + public function fetch($fetchMode = null, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0) { return $this->stmt->fetch($fetchMode); } @@ -273,11 +255,7 @@ class Statement implements \IteratorAggregate, DriverStatement } /** - * Returns a single column from the next row of a result set. - * - * @param int $columnIndex - * - * @return mixed A single column from the next row of a result set or FALSE if there are no more rows. + * {@inheritDoc} */ public function fetchColumn($columnIndex = 0) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php index 61fb07fb0..0e8156637 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ImportCommand.php @@ -1,25 +1,12 @@ . - */ namespace Doctrine\DBAL\Tools\Console\Command; +use Doctrine\DBAL\Driver\PDOConnection; use Doctrine\DBAL\Driver\PDOStatement; +use InvalidArgumentException; +use PDOException; +use RuntimeException; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -36,12 +23,7 @@ use function sprintf; * Task for executing arbitrary SQL that can come from a file or directly from * the command line. * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel + * @deprecated Use a database client application instead */ class ImportCommand extends Command { @@ -53,10 +35,11 @@ class ImportCommand extends Command $this ->setName('dbal:import') ->setDescription('Import SQL file(s) directly to Database.') - ->setDefinition([ - new InputArgument( - 'file', InputArgument::REQUIRED | InputArgument::IS_ARRAY, 'File path(s) of SQL to be executed.' - ) + ->setDefinition([new InputArgument( + 'file', + InputArgument::REQUIRED | InputArgument::IS_ARRAY, + 'File path(s) of SQL to be executed.' + ), ]) ->setHelp(<<getHelper('db')->getConnection(); - if (($fileNames = $input->getArgument('file')) !== null) { - foreach ((array) $fileNames as $fileName) { - $filePath = realpath($fileName); + $fileNames = $input->getArgument('file'); - // Phar compatibility. - if (false === $filePath) { - $filePath = $fileName; - } + if ($fileNames === null) { + return null; + } - if ( ! file_exists($filePath)) { - throw new \InvalidArgumentException( - sprintf("SQL file '%s' does not exist.", $filePath) - ); - } elseif ( ! is_readable($filePath)) { - throw new \InvalidArgumentException( - sprintf("SQL file '%s' does not have read permissions.", $filePath) - ); - } + foreach ((array) $fileNames as $fileName) { + $filePath = realpath($fileName); - $output->write(sprintf("Processing file '%s'... ", $filePath)); - $sql = file_get_contents($filePath); + // Phar compatibility. + if ($filePath === false) { + $filePath = $fileName; + } - if ($conn instanceof \Doctrine\DBAL\Driver\PDOConnection) { - // PDO Drivers - try { - $lines = 0; + if (! file_exists($filePath)) { + throw new InvalidArgumentException( + sprintf("SQL file '%s' does not exist.", $filePath) + ); + } elseif (! is_readable($filePath)) { + throw new InvalidArgumentException( + sprintf("SQL file '%s' does not have read permissions.", $filePath) + ); + } - $stmt = $conn->prepare($sql); - assert($stmt instanceof PDOStatement); + $output->write(sprintf("Processing file '%s'... ", $filePath)); + $sql = file_get_contents($filePath); - $stmt->execute(); + if ($conn instanceof PDOConnection) { + // PDO Drivers + try { + $lines = 0; - do { - // Required due to "MySQL has gone away!" issue - $stmt->fetch(); - $stmt->closeCursor(); - - $lines++; - } while ($stmt->nextRowset()); - - $output->write(sprintf('%d statements executed!', $lines) . PHP_EOL); - } catch (\PDOException $e) { - $output->write('error!' . PHP_EOL); - - throw new \RuntimeException($e->getMessage(), $e->getCode(), $e); - } - } else { - // Non-PDO Drivers (ie. OCI8 driver) $stmt = $conn->prepare($sql); - $rs = $stmt->execute(); + assert($stmt instanceof PDOStatement); - if ($rs) { - $output->writeln('OK!' . PHP_EOL); - } else { - $error = $stmt->errorInfo(); + $stmt->execute(); - $output->write('error!' . PHP_EOL); + do { + // Required due to "MySQL has gone away!" issue + $stmt->fetch(); + $stmt->closeCursor(); - throw new \RuntimeException($error[2], $error[0]); - } + $lines++; + } while ($stmt->nextRowset()); - $stmt->closeCursor(); + $output->write(sprintf('%d statements executed!', $lines) . PHP_EOL); + } catch (PDOException $e) { + $output->write('error!' . PHP_EOL); + + throw new RuntimeException($e->getMessage(), $e->getCode(), $e); } + } else { + // Non-PDO Drivers (ie. OCI8 driver) + $stmt = $conn->prepare($sql); + $rs = $stmt->execute(); + + if (! $rs) { + $error = $stmt->errorInfo(); + + $output->write('error!' . PHP_EOL); + + throw new RuntimeException($error[2], $error[0]); + } + + $output->writeln('OK!' . PHP_EOL); + + $stmt->closeCursor(); } } + + return null; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php index 83587bdb5..2e0c48a81 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/ReservedWordsCommand.php @@ -1,25 +1,27 @@ . - */ namespace Doctrine\DBAL\Tools\Console\Command; +use Doctrine\DBAL\Connection; +use Doctrine\DBAL\Platforms\Keywords\DB2Keywords; +use Doctrine\DBAL\Platforms\Keywords\MySQL57Keywords; +use Doctrine\DBAL\Platforms\Keywords\MySQL80Keywords; +use Doctrine\DBAL\Platforms\Keywords\MySQLKeywords; +use Doctrine\DBAL\Platforms\Keywords\OracleKeywords; +use Doctrine\DBAL\Platforms\Keywords\PostgreSQL91Keywords; +use Doctrine\DBAL\Platforms\Keywords\PostgreSQL92Keywords; +use Doctrine\DBAL\Platforms\Keywords\PostgreSQLKeywords; use Doctrine\DBAL\Platforms\Keywords\ReservedKeywordsValidator; +use Doctrine\DBAL\Platforms\Keywords\SQLAnywhere11Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLAnywhere12Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLAnywhere16Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLAnywhereKeywords; +use Doctrine\DBAL\Platforms\Keywords\SQLiteKeywords; +use Doctrine\DBAL\Platforms\Keywords\SQLServer2005Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLServer2008Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLServer2012Keywords; +use Doctrine\DBAL\Platforms\Keywords\SQLServerKeywords; +use InvalidArgumentException; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -30,27 +32,25 @@ use function implode; class ReservedWordsCommand extends Command { - /** - * @var array - */ + /** @var string[] */ private $keywordListClasses = [ - 'mysql' => 'Doctrine\DBAL\Platforms\Keywords\MySQLKeywords', - 'mysql57' => 'Doctrine\DBAL\Platforms\Keywords\MySQL57Keywords', - 'mysql80' => 'Doctrine\DBAL\Platforms\Keywords\MySQL80Keywords', - 'sqlserver' => 'Doctrine\DBAL\Platforms\Keywords\SQLServerKeywords', - 'sqlserver2005' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2005Keywords', - 'sqlserver2008' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2008Keywords', - 'sqlserver2012' => 'Doctrine\DBAL\Platforms\Keywords\SQLServer2012Keywords', - 'sqlite' => 'Doctrine\DBAL\Platforms\Keywords\SQLiteKeywords', - 'pgsql' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQLKeywords', - 'pgsql91' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQL91Keywords', - 'pgsql92' => 'Doctrine\DBAL\Platforms\Keywords\PostgreSQL92Keywords', - 'oracle' => 'Doctrine\DBAL\Platforms\Keywords\OracleKeywords', - 'db2' => 'Doctrine\DBAL\Platforms\Keywords\DB2Keywords', - 'sqlanywhere' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhereKeywords', - 'sqlanywhere11' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere11Keywords', - 'sqlanywhere12' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere12Keywords', - 'sqlanywhere16' => 'Doctrine\DBAL\Platforms\Keywords\SQLAnywhere16Keywords', + 'mysql' => MySQLKeywords::class, + 'mysql57' => MySQL57Keywords::class, + 'mysql80' => MySQL80Keywords::class, + 'sqlserver' => SQLServerKeywords::class, + 'sqlserver2005' => SQLServer2005Keywords::class, + 'sqlserver2008' => SQLServer2008Keywords::class, + 'sqlserver2012' => SQLServer2012Keywords::class, + 'sqlite' => SQLiteKeywords::class, + 'pgsql' => PostgreSQLKeywords::class, + 'pgsql91' => PostgreSQL91Keywords::class, + 'pgsql92' => PostgreSQL92Keywords::class, + 'oracle' => OracleKeywords::class, + 'db2' => DB2Keywords::class, + 'sqlanywhere' => SQLAnywhereKeywords::class, + 'sqlanywhere11' => SQLAnywhere11Keywords::class, + 'sqlanywhere12' => SQLAnywhere12Keywords::class, + 'sqlanywhere16' => SQLAnywhere16Keywords::class, ]; /** @@ -74,10 +74,12 @@ class ReservedWordsCommand extends Command $this ->setName('dbal:reserved-words') ->setDescription('Checks if the current database contains identifiers that are reserved.') - ->setDefinition([ - new InputOption( - 'list', 'l', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'Keyword-List name.' - ) + ->setDefinition([new InputOption( + 'list', + 'l', + InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, + 'Keyword-List name.' + ), ]) ->setHelp(<<getHelper('db')->getConnection(); $keywordLists = (array) $input->getOption('list'); - if ( ! $keywordLists) { + if (! $keywordLists) { $keywordLists = [ 'mysql', 'mysql57', @@ -146,27 +148,24 @@ EOT $keywords = []; foreach ($keywordLists as $keywordList) { - if (!isset($this->keywordListClasses[$keywordList])) { - throw new \InvalidArgumentException( - "There exists no keyword list with name '" . $keywordList . "'. ". - "Known lists: " . implode(", ", array_keys($this->keywordListClasses)) + if (! isset($this->keywordListClasses[$keywordList])) { + throw new InvalidArgumentException( + "There exists no keyword list with name '" . $keywordList . "'. " . + 'Known lists: ' . implode(', ', array_keys($this->keywordListClasses)) ); } - $class = $this->keywordListClasses[$keywordList]; - $keywords[] = new $class; + $class = $this->keywordListClasses[$keywordList]; + $keywords[] = new $class(); } - $output->write('Checking keyword violations for ' . implode(", ", $keywordLists) . "...", true); + $output->write('Checking keyword violations for ' . implode(', ', $keywordLists) . '...', true); - /* @var $schema \Doctrine\DBAL\Schema\Schema */ - $schema = $conn->getSchemaManager()->createSchema(); + $schema = $conn->getSchemaManager()->createSchema(); $visitor = new ReservedKeywordsValidator($keywords); $schema->visit($visitor); $violations = $visitor->getViolations(); - if (count($violations) == 0) { - $output->write("No reserved keywords violations have been found!", true); - } else { + if (count($violations) !== 0) { $output->write('There are ' . count($violations) . ' reserved keyword violations in your database schema:', true); foreach ($violations as $violation) { $output->write(' - ' . $violation, true); @@ -175,6 +174,8 @@ EOT return 1; } + $output->write('No reserved keywords violations have been found!', true); + return 0; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php index f65b0de0f..8361219ad 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Command/RunSqlCommand.php @@ -1,43 +1,21 @@ . - */ namespace Doctrine\DBAL\Tools\Console\Command; use Doctrine\DBAL\Tools\Dumper; +use LogicException; +use RuntimeException; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; -use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; use function is_numeric; use function stripos; /** * Task for executing arbitrary SQL that can come from a file or directly from * the command line. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class RunSqlCommand extends Command { @@ -67,14 +45,16 @@ EOT { $conn = $this->getHelper('db')->getConnection(); - if (($sql = $input->getArgument('sql')) === null) { - throw new \RuntimeException("Argument 'SQL' is required in order to execute this command correctly."); + $sql = $input->getArgument('sql'); + + if ($sql === null) { + throw new RuntimeException("Argument 'SQL' is required in order to execute this command correctly."); } $depth = $input->getOption('depth'); - if ( ! is_numeric($depth)) { - throw new \LogicException("Option 'depth' must contains an integer value"); + if (! is_numeric($depth)) { + throw new LogicException("Option 'depth' must contains an integer value"); } if (stripos($sql, 'select') === 0 || $input->getOption('force-fetch')) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php index 61412a7cc..520a9af80 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/ConsoleRunner.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Tools\Console; @@ -26,6 +9,7 @@ use Doctrine\DBAL\Tools\Console\Command\RunSqlCommand; use Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper; use Doctrine\DBAL\Version; use Symfony\Component\Console\Application; +use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Helper\HelperSet; /** @@ -36,22 +20,19 @@ class ConsoleRunner /** * Create a Symfony Console HelperSet * - * @param Connection $connection - * * @return HelperSet */ public static function createHelperSet(Connection $connection) { return new HelperSet([ - 'db' => new ConnectionHelper($connection) + 'db' => new ConnectionHelper($connection), ]); } /** * Runs console with the given helperset. * - * @param \Symfony\Component\Console\Helper\HelperSet $helperSet - * @param \Symfony\Component\Console\Command\Command[] $commands + * @param Command[] $commands * * @return void */ @@ -69,8 +50,6 @@ class ConsoleRunner } /** - * @param Application $cli - * * @return void */ public static function addCommands(Application $cli) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php index 1331c2bae..b5497d068 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Tools/Console/Helper/ConnectionHelper.php @@ -1,50 +1,24 @@ . - */ namespace Doctrine\DBAL\Tools\Console\Helper; -use Symfony\Component\Console\Helper\Helper; use Doctrine\DBAL\Connection; +use Symfony\Component\Console\Helper\Helper; /** * Doctrine CLI Connection Helper. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class ConnectionHelper extends Helper { /** * The Doctrine database Connection. * - * @var \Doctrine\DBAL\Connection + * @var Connection */ protected $_connection; /** - * Constructor. - * - * @param \Doctrine\DBAL\Connection $connection The Doctrine database Connection. + * @param Connection $connection The Doctrine database Connection. */ public function __construct(Connection $connection) { @@ -54,7 +28,7 @@ class ConnectionHelper extends Helper /** * Retrieves the Doctrine database Connection. * - * @return \Doctrine\DBAL\Connection + * @return Connection */ public function getConnection() { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php index 7fc4fcc9b..9bb8e578b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ArrayType.php @@ -1,34 +1,17 @@ . - */ namespace Doctrine\DBAL\Types; use Doctrine\DBAL\Platforms\AbstractPlatform; use function is_resource; +use function restore_error_handler; use function serialize; +use function set_error_handler; use function stream_get_contents; use function unserialize; /** * Type that maps a PHP array to a clob SQL type. - * - * @since 2.0 */ class ArrayType extends Type { @@ -58,13 +41,17 @@ class ArrayType extends Type return null; } - $value = (is_resource($value)) ? stream_get_contents($value) : $value; - $val = unserialize($value); - if ($val === false && $value != 'b:0;') { - throw ConversionException::conversionFailed($value, $this->getName()); - } + $value = is_resource($value) ? stream_get_contents($value) : $value; - return $val; + set_error_handler(function (int $code, string $message) : void { + throw ConversionException::conversionFailedUnserialization($this->getName(), $message); + }); + + try { + return unserialize($value); + } finally { + restore_error_handler(); + } } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php index 9a2b42953..1d320d624 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BigIntType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -24,9 +7,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps a database BIGINT to a PHP string. - * - * @author robo - * @since 2.0 */ class BigIntType extends Type implements PhpIntegerMappingType { @@ -59,6 +39,6 @@ class BigIntType extends Type implements PhpIntegerMappingType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - return (null === $value) ? null : (string) $value; + return $value === null ? null : (string) $value; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php index 57f0bbf0f..14362e840 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BinaryType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -29,9 +12,6 @@ use function is_string; /** * Type that maps ab SQL BINARY/VARBINARY to a PHP resource stream. - * - * @author Steve Müller - * @since 2.5 */ class BinaryType extends Type { @@ -48,7 +28,7 @@ class BinaryType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return null; } @@ -59,7 +39,7 @@ class BinaryType extends Type $value = $fp; } - if ( ! is_resource($value)) { + if (! is_resource($value)) { throw ConversionException::conversionFailed($value, self::BINARY); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php index 84ee48af8..c309f0f06 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BlobType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -29,8 +12,6 @@ use function is_string; /** * Type that maps an SQL BLOB to a PHP resource stream. - * - * @since 2.2 */ class BlobType extends Type { @@ -47,7 +28,7 @@ class BlobType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return null; } @@ -58,7 +39,7 @@ class BlobType extends Type $value = $fp; } - if ( ! is_resource($value)) { + if (! is_resource($value)) { throw ConversionException::conversionFailed($value, self::BLOB); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php index 748f7f529..976f00e1f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/BooleanType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -24,8 +7,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL boolean to a PHP boolean. - * - * @since 2.0 */ class BooleanType extends Type { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php index df2eb74a3..b9f8a82e7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ConversionException.php @@ -1,34 +1,9 @@ . - */ -/** - * Conversion Exception is thrown when the database to PHP conversion fails. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel - */ namespace Doctrine\DBAL\Types; +use Doctrine\DBAL\DBALException; +use Throwable; use function get_class; use function gettype; use function implode; @@ -38,7 +13,10 @@ use function sprintf; use function strlen; use function substr; -class ConversionException extends \Doctrine\DBAL\DBALException +/** + * Conversion Exception is thrown when the database to PHP conversion fails. + */ +class ConversionException extends DBALException { /** * Thrown when a Database to Doctrine Type Conversion fails. @@ -50,7 +28,7 @@ class ConversionException extends \Doctrine\DBAL\DBALException */ public static function conversionFailed($value, $toType) { - $value = (strlen($value) > 32) ? substr($value, 0, 20) . '...' : $value; + $value = strlen($value) > 32 ? substr($value, 0, 20) . '...' : $value; return new self('Could not convert database value "' . $value . '" to Doctrine Type ' . $toType); } @@ -59,16 +37,15 @@ class ConversionException extends \Doctrine\DBAL\DBALException * Thrown when a Database to Doctrine Type Conversion fails and we can make a statement * about the expected format. * - * @param string $value - * @param string $toType - * @param string $expectedFormat - * @param \Exception|null $previous + * @param string $value + * @param string $toType + * @param string $expectedFormat * * @return \Doctrine\DBAL\Types\ConversionException */ - public static function conversionFailedFormat($value, $toType, $expectedFormat, \Exception $previous = null) + public static function conversionFailedFormat($value, $toType, $expectedFormat, ?Throwable $previous = null) { - $value = (strlen($value) > 32) ? substr($value, 0, 20) . '...' : $value; + $value = strlen($value) > 32 ? substr($value, 0, 20) . '...' : $value; return new self( 'Could not convert database value "' . $value . '" to Doctrine Type ' . @@ -120,4 +97,13 @@ class ConversionException extends \Doctrine\DBAL\DBALException $error )); } + + public static function conversionFailedUnserialization(string $format, string $error) : self + { + return new self(sprintf( + "Could not convert database value to '%s' as an error was triggered by the unserialization: '%s'", + $format, + $error + )); + } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php index 8b9a91d7d..196fc88c7 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateImmutableType.php @@ -1,31 +1,12 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTimeImmutable; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Immutable type of {@see DateType}. - * - * @since 2.6 - * @author Steve Müller */ class DateImmutableType extends DateType { @@ -42,18 +23,18 @@ class DateImmutableType extends DateType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeImmutable) { + if ($value instanceof DateTimeImmutable) { return $value->format($platform->getDateFormatString()); } throw ConversionException::conversionFailedInvalidType( $value, $this->getName(), - ['null', \DateTimeImmutable::class] + ['null', DateTimeImmutable::class] ); } @@ -62,11 +43,11 @@ class DateImmutableType extends DateType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeImmutable) { + if ($value === null || $value instanceof DateTimeImmutable) { return $value; } - $dateTime = \DateTimeImmutable::createFromFormat('!' . $platform->getDateFormatString(), $value); + $dateTime = DateTimeImmutable::createFromFormat('!' . $platform->getDateFormatString(), $value); if (! $dateTime) { throw ConversionException::conversionFailedFormat( diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php index 89425aa45..30e61c9ea 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateIntervalType.php @@ -2,7 +2,9 @@ namespace Doctrine\DBAL\Types; +use DateInterval; use Doctrine\DBAL\Platforms\AbstractPlatform; +use Throwable; use function substr; /** @@ -35,11 +37,11 @@ class DateIntervalType extends Type */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return null; } - if ($value instanceof \DateInterval) { + if ($value instanceof DateInterval) { return $value->format(self::FORMAT); } @@ -51,7 +53,7 @@ class DateIntervalType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateInterval) { + if ($value === null || $value instanceof DateInterval) { return $value; } @@ -63,14 +65,14 @@ class DateIntervalType extends Type } try { - $interval = new \DateInterval($value); + $interval = new DateInterval($value); if ($negative) { $interval->invert = 1; } return $interval; - } catch (\Exception $exception) { + } catch (Throwable $exception) { throw ConversionException::conversionFailedFormat($value, $this->getName(), self::FORMAT, $exception); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php index b8564fcdd..fdda50faa 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeImmutableType.php @@ -1,31 +1,13 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTimeImmutable; use Doctrine\DBAL\Platforms\AbstractPlatform; +use function date_create_immutable; /** * Immutable type of {@see DateTimeType}. - * - * @since 2.6 - * @author Steve Müller */ class DateTimeImmutableType extends DateTimeType { @@ -42,18 +24,18 @@ class DateTimeImmutableType extends DateTimeType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeImmutable) { + if ($value instanceof DateTimeImmutable) { return $value->format($platform->getDateTimeFormatString()); } throw ConversionException::conversionFailedInvalidType( $value, $this->getName(), - ['null', \DateTimeImmutable::class] + ['null', DateTimeImmutable::class] ); } @@ -62,14 +44,14 @@ class DateTimeImmutableType extends DateTimeType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeImmutable) { + if ($value === null || $value instanceof DateTimeImmutable) { return $value; } - $dateTime = \DateTimeImmutable::createFromFormat($platform->getDateTimeFormatString(), $value); + $dateTime = DateTimeImmutable::createFromFormat($platform->getDateTimeFormatString(), $value); if (! $dateTime) { - $dateTime = \date_create_immutable($value); + $dateTime = date_create_immutable($value); } if (! $dateTime) { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php index 3cb76ee5b..962d9d38d 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeType.php @@ -1,31 +1,14 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTime; +use DateTimeInterface; use Doctrine\DBAL\Platforms\AbstractPlatform; use function date_create; /** * Type that maps an SQL DATETIME/TIMESTAMP to a PHP DateTime object. - * - * @since 2.0 */ class DateTimeType extends Type implements PhpDateTimeMappingType { @@ -50,11 +33,11 @@ class DateTimeType extends Type implements PhpDateTimeMappingType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeInterface) { + if ($value instanceof DateTimeInterface) { return $value->format($platform->getDateTimeFormatString()); } @@ -66,17 +49,17 @@ class DateTimeType extends Type implements PhpDateTimeMappingType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeInterface) { + if ($value === null || $value instanceof DateTimeInterface) { return $value; } - $val = \DateTime::createFromFormat($platform->getDateTimeFormatString(), $value); + $val = DateTime::createFromFormat($platform->getDateTimeFormatString(), $value); - if ( ! $val) { + if (! $val) { $val = date_create($value); } - if ( ! $val) { + if (! $val) { throw ConversionException::conversionFailedFormat($value, $this->getName(), $platform->getDateTimeFormatString()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php index 91f3eda75..253c02e00 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzImmutableType.php @@ -1,31 +1,12 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTimeImmutable; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Immutable type of {@see DateTimeTzType}. - * - * @since 2.6 - * @author Steve Müller */ class DateTimeTzImmutableType extends DateTimeTzType { @@ -42,18 +23,18 @@ class DateTimeTzImmutableType extends DateTimeTzType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeImmutable) { + if ($value instanceof DateTimeImmutable) { return $value->format($platform->getDateTimeTzFormatString()); } throw ConversionException::conversionFailedInvalidType( $value, $this->getName(), - ['null', \DateTimeImmutable::class] + ['null', DateTimeImmutable::class] ); } @@ -62,11 +43,11 @@ class DateTimeTzImmutableType extends DateTimeTzType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeImmutable) { + if ($value === null || $value instanceof DateTimeImmutable) { return $value; } - $dateTime = \DateTimeImmutable::createFromFormat($platform->getDateTimeTzFormatString(), $value); + $dateTime = DateTimeImmutable::createFromFormat($platform->getDateTimeTzFormatString(), $value); if (! $dateTime) { throw ConversionException::conversionFailedFormat( diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php index f731baf14..0b78720ec 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateTimeTzType.php @@ -1,24 +1,9 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTime; +use DateTimeInterface; use Doctrine\DBAL\Platforms\AbstractPlatform; /** @@ -36,13 +21,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; * attached with a timezone such as Europe/Berlin gets saved into the database with * the offset and re-created from persistence with only the offset, not the original timezone * attached. - * - * @link www.doctrine-project.org - * @since 1.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class DateTimeTzType extends Type implements PhpDateTimeMappingType { @@ -67,11 +45,11 @@ class DateTimeTzType extends Type implements PhpDateTimeMappingType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeInterface) { + if ($value instanceof DateTimeInterface) { return $value->format($platform->getDateTimeTzFormatString()); } @@ -83,12 +61,12 @@ class DateTimeTzType extends Type implements PhpDateTimeMappingType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeInterface) { + if ($value === null || $value instanceof DateTimeInterface) { return $value; } - $val = \DateTime::createFromFormat($platform->getDateTimeTzFormatString(), $value); - if ( ! $val) { + $val = DateTime::createFromFormat($platform->getDateTimeTzFormatString(), $value); + if (! $val) { throw ConversionException::conversionFailedFormat($value, $this->getName(), $platform->getDateTimeTzFormatString()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php index e3ed6a9e7..b5ad5356f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DateType.php @@ -1,30 +1,13 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTime; +use DateTimeInterface; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL DATE to a PHP Date object. - * - * @since 2.0 */ class DateType extends Type { @@ -49,11 +32,11 @@ class DateType extends Type */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeInterface) { + if ($value instanceof DateTimeInterface) { return $value->format($platform->getDateFormatString()); } @@ -65,12 +48,12 @@ class DateType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeInterface) { + if ($value === null || $value instanceof DateTimeInterface) { return $value; } - $val = \DateTime::createFromFormat('!'.$platform->getDateFormatString(), $value); - if ( ! $val) { + $val = DateTime::createFromFormat('!' . $platform->getDateFormatString(), $value); + if (! $val) { throw ConversionException::conversionFailedFormat($value, $this->getName(), $platform->getDateFormatString()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php index 42c05d69a..318cb2476 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/DecimalType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -23,8 +6,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL DECIMAL to a PHP string. - * - * @since 2.0 */ class DecimalType extends Type { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php index 87f9c32ae..3ad9aa737 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/FloatType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -44,6 +27,6 @@ class FloatType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - return (null === $value) ? null : (double) $value; + return $value === null ? null : (float) $value; } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php index 761d58a8e..a9ab21537 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/GuidType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -23,9 +6,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Represents a GUID/UUID datatype (both are actually synonyms) in the database. - * - * @author Benjamin Eberlei - * @since 2.3 */ class GuidType extends StringType { @@ -50,6 +30,6 @@ class GuidType extends StringType */ public function requiresSQLCommentHint(AbstractPlatform $platform) { - return !$platform->hasNativeGuidType(); + return ! $platform->hasNativeGuidType(); } } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php index 3c83341de..f04f3c7e0 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/IntegerType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -24,9 +7,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL INT to a PHP integer. - * - * @author Roman Borschel - * @since 2.0 */ class IntegerType extends Type implements PhpIntegerMappingType { @@ -51,7 +31,7 @@ class IntegerType extends Type implements PhpIntegerMappingType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - return (null === $value) ? null : (int) $value; + return $value === null ? null : (int) $value; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php index 5650eb518..beae80387 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonArrayType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -27,9 +10,7 @@ use function stream_get_contents; /** * Array Type which can be used to generate json arrays. * - * @since 2.3 * @deprecated Use JsonType instead - * @author Johannes M. Schmitt */ class JsonArrayType extends JsonType { @@ -42,7 +23,7 @@ class JsonArrayType extends JsonType return []; } - $value = (is_resource($value)) ? stream_get_contents($value) : $value; + $value = is_resource($value) ? stream_get_contents($value) : $value; return json_decode($value, true); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php index 6395332c6..00cd3f80f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/JsonType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -30,9 +13,6 @@ use function stream_get_contents; /** * Type generating json objects values - * - * @since 2.6 - * @author Baptiste Clavié */ class JsonType extends Type { @@ -49,13 +29,13 @@ class JsonType extends Type */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return null; } $encoded = json_encode($value); - if (JSON_ERROR_NONE !== json_last_error()) { + if (json_last_error() !== JSON_ERROR_NONE) { throw ConversionException::conversionFailedSerialization($value, 'json', json_last_error_msg()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php index 95fe84a5a..081ec483b 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/ObjectType.php @@ -1,34 +1,17 @@ . - */ namespace Doctrine\DBAL\Types; use Doctrine\DBAL\Platforms\AbstractPlatform; use function is_resource; +use function restore_error_handler; use function serialize; +use function set_error_handler; use function stream_get_contents; use function unserialize; /** * Type that maps a PHP object to a clob SQL type. - * - * @since 2.0 */ class ObjectType extends Type { @@ -57,13 +40,17 @@ class ObjectType extends Type return null; } - $value = (is_resource($value)) ? stream_get_contents($value) : $value; - $val = unserialize($value); - if ($val === false && $value !== 'b:0;') { - throw ConversionException::conversionFailed($value, $this->getName()); - } + $value = is_resource($value) ? stream_get_contents($value) : $value; - return $val; + set_error_handler(function (int $code, string $message) : void { + throw ConversionException::conversionFailedUnserialization($this->getName(), $message); + }); + + try { + return unserialize($value); + } finally { + restore_error_handler(); + } } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php index d530d8cf0..456585053 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpDateTimeMappingType.php @@ -1,26 +1,10 @@ . - */ namespace Doctrine\DBAL\Types; /** * Implementations should map a database type to a PHP DateTimeInterface instance. + * * @internal */ interface PhpDateTimeMappingType diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php index 034aaecb3..b48e29c86 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/PhpIntegerMappingType.php @@ -1,26 +1,10 @@ . - */ namespace Doctrine\DBAL\Types; /** * Implementations should map a database type to a PHP integer. + * * @internal */ interface PhpIntegerMappingType diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php index fb01479e3..d23776f5f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SimpleArrayType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -29,9 +12,6 @@ use function stream_get_contents; * Array Type which can be used for simple values. * * Only use this type if you are sure that your values cannot contain a ",". - * - * @since 2.3 - * @author Johannes M. Schmitt */ class SimpleArrayType extends Type { @@ -48,7 +28,7 @@ class SimpleArrayType extends Type */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (!$value) { + if (! $value) { return null; } @@ -64,7 +44,7 @@ class SimpleArrayType extends Type return []; } - $value = (is_resource($value)) ? stream_get_contents($value) : $value; + $value = is_resource($value) ? stream_get_contents($value) : $value; return explode(',', $value); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php index 1a2abdbe0..bca8a533f 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/SmallIntType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -24,8 +7,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps a database SMALLINT to a PHP integer. - * - * @author robo */ class SmallIntType extends Type implements PhpIntegerMappingType { @@ -50,7 +31,7 @@ class SmallIntType extends Type implements PhpIntegerMappingType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - return (null === $value) ? null : (int) $value; + return $value === null ? null : (int) $value; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php index 39bd32dbc..879359a13 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/StringType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -23,8 +6,6 @@ use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL VARCHAR to a PHP string. - * - * @since 2.0 */ class StringType extends Type { diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php index bd7235546..635d4f7de 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TextType.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL\Types; @@ -25,8 +8,6 @@ use function stream_get_contents; /** * Type that maps an SQL CLOB to a PHP string. - * - * @since 2.0 */ class TextType extends Type { @@ -43,7 +24,7 @@ class TextType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - return (is_resource($value)) ? stream_get_contents($value) : $value; + return is_resource($value) ? stream_get_contents($value) : $value; } /** diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php index 118d80ea8..8cb870fb3 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeImmutableType.php @@ -1,31 +1,12 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTimeImmutable; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Immutable type of {@see TimeType}. - * - * @since 2.6 - * @author Steve Müller */ class TimeImmutableType extends TimeType { @@ -42,18 +23,18 @@ class TimeImmutableType extends TimeType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeImmutable) { + if ($value instanceof DateTimeImmutable) { return $value->format($platform->getTimeFormatString()); } throw ConversionException::conversionFailedInvalidType( $value, $this->getName(), - ['null', \DateTimeImmutable::class] + ['null', DateTimeImmutable::class] ); } @@ -62,11 +43,11 @@ class TimeImmutableType extends TimeType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeImmutable) { + if ($value === null || $value instanceof DateTimeImmutable) { return $value; } - $dateTime = \DateTimeImmutable::createFromFormat('!' . $platform->getTimeFormatString(), $value); + $dateTime = DateTimeImmutable::createFromFormat('!' . $platform->getTimeFormatString(), $value); if (! $dateTime) { throw ConversionException::conversionFailedFormat( diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php index 639533fad..c9895294e 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/TimeType.php @@ -1,30 +1,13 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTime; +use DateTimeInterface; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Type that maps an SQL TIME to a PHP DateTime object. - * - * @since 2.0 */ class TimeType extends Type { @@ -49,11 +32,11 @@ class TimeType extends Type */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeInterface) { + if ($value instanceof DateTimeInterface) { return $value->format($platform->getTimeFormatString()); } @@ -65,12 +48,12 @@ class TimeType extends Type */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeInterface) { + if ($value === null || $value instanceof DateTimeInterface) { return $value; } - $val = \DateTime::createFromFormat('!' . $platform->getTimeFormatString(), $value); - if ( ! $val) { + $val = DateTime::createFromFormat('!' . $platform->getTimeFormatString(), $value); + if (! $val) { throw ConversionException::conversionFailedFormat($value, $this->getName(), $platform->getTimeFormatString()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php index 453631e0a..ec1ab6813 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/Type.php @@ -1,80 +1,58 @@ . - */ namespace Doctrine\DBAL\Types; +use Doctrine\DBAL\DBALException; use Doctrine\DBAL\ParameterType; use Doctrine\DBAL\Platforms\AbstractPlatform; -use Doctrine\DBAL\DBALException; use function end; use function explode; -use function get_class; use function str_replace; /** * The base class for so-called Doctrine mapping types. * * A Type object is obtained by calling the static {@link getType()} method. - * - * @author Roman Borschel - * @author Benjamin Eberlei - * @since 2.0 */ abstract class Type { - const TARRAY = 'array'; - const SIMPLE_ARRAY = 'simple_array'; - const JSON_ARRAY = 'json_array'; - const JSON = 'json'; - const BIGINT = 'bigint'; - const BOOLEAN = 'boolean'; - const DATETIME = 'datetime'; - const DATETIME_IMMUTABLE = 'datetime_immutable'; - const DATETIMETZ = 'datetimetz'; - const DATETIMETZ_IMMUTABLE = 'datetimetz_immutable'; - const DATE = 'date'; - const DATE_IMMUTABLE = 'date_immutable'; - const TIME = 'time'; - const TIME_IMMUTABLE = 'time_immutable'; - const DECIMAL = 'decimal'; - const INTEGER = 'integer'; - const OBJECT = 'object'; - const SMALLINT = 'smallint'; - const STRING = 'string'; - const TEXT = 'text'; - const BINARY = 'binary'; - const BLOB = 'blob'; - const FLOAT = 'float'; - const GUID = 'guid'; - const DATEINTERVAL = 'dateinterval'; + public const TARRAY = 'array'; + public const SIMPLE_ARRAY = 'simple_array'; + public const JSON_ARRAY = 'json_array'; + public const JSON = 'json'; + public const BIGINT = 'bigint'; + public const BOOLEAN = 'boolean'; + public const DATETIME = 'datetime'; + public const DATETIME_IMMUTABLE = 'datetime_immutable'; + public const DATETIMETZ = 'datetimetz'; + public const DATETIMETZ_IMMUTABLE = 'datetimetz_immutable'; + public const DATE = 'date'; + public const DATE_IMMUTABLE = 'date_immutable'; + public const TIME = 'time'; + public const TIME_IMMUTABLE = 'time_immutable'; + public const DECIMAL = 'decimal'; + public const INTEGER = 'integer'; + public const OBJECT = 'object'; + public const SMALLINT = 'smallint'; + public const STRING = 'string'; + public const TEXT = 'text'; + public const BINARY = 'binary'; + public const BLOB = 'blob'; + public const FLOAT = 'float'; + public const GUID = 'guid'; + public const DATEINTERVAL = 'dateinterval'; /** * Map of already instantiated type objects. One instance per type (flyweight). * - * @var array + * @var self[] */ private static $_typeObjects = []; /** * The map of supported doctrine mapping types. * - * @var array + * @var string[] */ private static $_typesMap = [ self::TARRAY => ArrayType::class, @@ -115,8 +93,8 @@ abstract class Type * Converts a value from its PHP representation to its database representation * of this type. * - * @param mixed $value The value to convert. - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The currently used database platform. + * @param mixed $value The value to convert. + * @param AbstractPlatform $platform The currently used database platform. * * @return mixed The database representation of the value. */ @@ -129,8 +107,8 @@ abstract class Type * Converts a value from its database representation to its PHP representation * of this type. * - * @param mixed $value The value to convert. - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The currently used database platform. + * @param mixed $value The value to convert. + * @param AbstractPlatform $platform The currently used database platform. * * @return mixed The PHP representation of the value. */ @@ -142,11 +120,9 @@ abstract class Type /** * Gets the default length of this type. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @deprecated Rely on information provided by the platform instead. * * @return int|null - * - * @todo Needed? */ public function getDefaultLength(AbstractPlatform $platform) { @@ -156,8 +132,8 @@ abstract class Type /** * Gets the SQL declaration snippet for a field of this type. * - * @param array $fieldDeclaration The field declaration. - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform The currently used database platform. + * @param mixed[] $fieldDeclaration The field declaration. + * @param AbstractPlatform $platform The currently used database platform. * * @return string */ @@ -180,12 +156,12 @@ abstract class Type * * @return \Doctrine\DBAL\Types\Type * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public static function getType($name) { - if ( ! isset(self::$_typeObjects[$name])) { - if ( ! isset(self::$_typesMap[$name])) { + if (! isset(self::$_typeObjects[$name])) { + if (! isset(self::$_typesMap[$name])) { throw DBALException::unknownColumnType($name); } self::$_typeObjects[$name] = new self::$_typesMap[$name](); @@ -202,7 +178,7 @@ abstract class Type * * @return void * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public static function addType($name, $className) { @@ -233,11 +209,11 @@ abstract class Type * * @return void * - * @throws \Doctrine\DBAL\DBALException + * @throws DBALException */ public static function overrideType($name, $className) { - if ( ! isset(self::$_typesMap[$name])) { + if (! isset(self::$_typesMap[$name])) { throw DBALException::typeNotFound($name); } @@ -265,7 +241,7 @@ abstract class Type * Gets the types array map which holds all registered types and the corresponding * type class * - * @return array + * @return string[] */ public static function getTypesMap() { @@ -273,11 +249,13 @@ abstract class Type } /** + * @deprecated Relying on string representation is discouraged and will be removed in DBAL 3.0. + * * @return string */ public function __toString() { - $e = explode('\\', get_class($this)); + $e = explode('\\', static::class); return str_replace('Type', '', end($e)); } @@ -300,8 +278,7 @@ abstract class Type /** * Modifies the SQL expression (identifier, parameter) to convert to a database value. * - * @param string $sqlExpr - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @param string $sqlExpr * * @return string */ @@ -313,8 +290,8 @@ abstract class Type /** * Modifies the SQL expression (identifier, parameter) to convert to a PHP value. * - * @param string $sqlExpr - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform + * @param string $sqlExpr + * @param AbstractPlatform $platform * * @return string */ @@ -326,9 +303,7 @@ abstract class Type /** * Gets an array of database types that map to this Doctrine type. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * - * @return array + * @return string[] */ public function getMappedDatabaseTypes(AbstractPlatform $platform) { @@ -341,8 +316,6 @@ abstract class Type * one of those types as commented, which will have Doctrine use an SQL * comment to typehint the actual Doctrine Type. * - * @param \Doctrine\DBAL\Platforms\AbstractPlatform $platform - * * @return bool */ public function requiresSQLCommentHint(AbstractPlatform $platform) diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeImmutableType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeImmutableType.php index f0e8ff844..6636f53a5 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeImmutableType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeImmutableType.php @@ -1,32 +1,13 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTimeImmutable; use Doctrine\DBAL\Platforms\AbstractPlatform; use function date_create_immutable; /** * Immutable type of {@see VarDateTimeType}. - * - * @since 2.6 - * @author Steve Müller */ class VarDateTimeImmutableType extends VarDateTimeType { @@ -43,18 +24,18 @@ class VarDateTimeImmutableType extends VarDateTimeType */ public function convertToDatabaseValue($value, AbstractPlatform $platform) { - if (null === $value) { + if ($value === null) { return $value; } - if ($value instanceof \DateTimeImmutable) { + if ($value instanceof DateTimeImmutable) { return $value->format($platform->getDateTimeFormatString()); } throw ConversionException::conversionFailedInvalidType( $value, $this->getName(), - ['null', \DateTimeImmutable::class] + ['null', DateTimeImmutable::class] ); } @@ -63,7 +44,7 @@ class VarDateTimeImmutableType extends VarDateTimeType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTimeImmutable) { + if ($value === null || $value instanceof DateTimeImmutable) { return $value; } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeType.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeType.php index b55e0b05b..1d9dbd3a6 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeType.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Types/VarDateTimeType.php @@ -1,24 +1,8 @@ . - */ namespace Doctrine\DBAL\Types; +use DateTime; use Doctrine\DBAL\Platforms\AbstractPlatform; use function date_create; @@ -28,13 +12,6 @@ use function date_create; * This type has performance implications as it runs twice as long as the regular * {@see DateTimeType}, however in certain PostgreSQL configurations with * TIMESTAMP(n) columns where n > 0 it is necessary to use this type. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class VarDateTimeType extends DateTimeType { @@ -43,12 +20,12 @@ class VarDateTimeType extends DateTimeType */ public function convertToPHPValue($value, AbstractPlatform $platform) { - if ($value === null || $value instanceof \DateTime) { + if ($value === null || $value instanceof DateTime) { return $value; } $val = date_create($value); - if ( ! $val) { + if (! $val) { throw ConversionException::conversionFailed($value, $this->getName()); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Version.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Version.php index a9b5ac023..570f56afb 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/Version.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/Version.php @@ -1,21 +1,4 @@ . - */ namespace Doctrine\DBAL; @@ -25,20 +8,13 @@ use function version_compare; /** * Class to store and retrieve the version of Doctrine. - * - * @link www.doctrine-project.org - * @since 2.0 - * @author Benjamin Eberlei - * @author Guilherme Blanco - * @author Jonathan Wage - * @author Roman Borschel */ class Version { /** * Current Doctrine Version. */ - public const VERSION = '2.8.0'; + public const VERSION = '2.9.0'; /** * Compares a Doctrine version with the current one. @@ -50,7 +26,7 @@ class Version public static function compare($version) { $currentVersion = str_replace(' ', '', strtolower(self::VERSION)); - $version = str_replace(' ', '', $version); + $version = str_replace(' ', '', $version); return version_compare($version, $currentVersion); } diff --git a/vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php b/vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php index 53e2d3ab7..a4864d0b2 100644 --- a/vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php +++ b/vendor/doctrine/dbal/lib/Doctrine/DBAL/VersionAwarePlatformDriver.php @@ -1,24 +1,9 @@ . - */ namespace Doctrine\DBAL; +use Doctrine\DBAL\Platforms\AbstractPlatform; + /** * Contract for a driver that is able to create platform instances by version. * @@ -26,10 +11,6 @@ namespace Doctrine\DBAL; * support the correct features and SQL syntax of each version. * This interface should be implemented by drivers that are capable to do this * distinction. - * - * @author Steve Müller - * @link www.doctrine-project.org - * @since 2.5 */ interface VersionAwarePlatformDriver { @@ -39,9 +20,9 @@ interface VersionAwarePlatformDriver * @param string $version The platform/server version string to evaluate. This should be given in the notation * the underlying database vendor uses. * - * @return \Doctrine\DBAL\Platforms\AbstractPlatform + * @return AbstractPlatform * - * @throws DBALException if the given version string could not be evaluated. + * @throws DBALException If the given version string could not be evaluated. */ public function createDatabasePlatformForVersion($version); } diff --git a/vendor/doctrine/dbal/phpstan.neon.dist b/vendor/doctrine/dbal/phpstan.neon.dist deleted file mode 100644 index 406cc2a53..000000000 --- a/vendor/doctrine/dbal/phpstan.neon.dist +++ /dev/null @@ -1,46 +0,0 @@ -parameters: - level: 3 - paths: - - %currentWorkingDirectory%/lib - autoload_files: - - %currentWorkingDirectory%/tests/phpstan-polyfill.php - reportUnmatchedIgnoredErrors: false - ignoreErrors: - # extension not available - - '~^(Used )?(Function|Constant) sasql_\S+ not found\.\z~i' - - # removing it would be BC break - - '~^Constructor of class Doctrine\\DBAL\\Schema\\Table has an unused parameter \$idGeneratorType\.\z~' - - # changing these would be a BC break, to be done in next major - - '~^Method Doctrine\\DBAL\\Driver\\IBMDB2\\DB2Connection::exec\(\) should return int but returns bool\.\z~' - - '~^Method Doctrine\\DBAL\\Query\\QueryBuilder::execute\(\) should return Doctrine\\DBAL\\Driver\\Statement\|int but returns Doctrine\\DBAL\\Driver\\ResultStatement\.\z~' - - '~^Property Doctrine\\DBAL\\Schema\\Table::\$_primaryKeyName \(string\) does not accept (default value of type )?false\.\z~' - - '~^Property Doctrine\\DBAL\\Schema\\Schema::\$_schemaConfig \(Doctrine\\DBAL\\Schema\\SchemaConfig\) does not accept default value of type false\.\z~' - - '~^Method Doctrine\\DBAL\\Schema\\ForeignKeyConstraint::onEvent\(\) should return string\|null but returns false\.\z~' - - '~^Method Doctrine\\DBAL\\Schema\\(Oracle|PostgreSql|SQLServer)SchemaManager::_getPortableTableDefinition\(\) should return array but returns string\.\z~' - - '~^Method Doctrine\\DBAL\\Platforms\\(|SQLAnywhere|Sqlite)Platform::_getTransactionIsolationLevelSQL\(\) should return string but returns int\.\z~' - - '~^Method Doctrine\\DBAL\\Driver\\OCI8\\OCI8Connection::lastInsertId\(\) should return string but returns (int|false)\.\z~' - - '~^Method Doctrine\\DBAL\\Driver\\SQLSrv\\SQLSrvConnection::errorCode\(\) should return string\|null but returns false\.\z~' - - # http://php.net/manual/en/pdo.sqlitecreatefunction.php - - '~^Call to an undefined method Doctrine\\DBAL\\Driver\\PDOConnection::sqliteCreateFunction\(\)\.\z~' - - # legacy variadic-like signature - - '~^Method Doctrine\\DBAL\\Driver\\Connection::query\(\) invoked with \d+ parameters?, 0 required\.\z~' - - # some drivers actually do accept 2nd parameter... - - '~^Method Doctrine\\DBAL\\Platforms\\AbstractPlatform::getListTableForeignKeysSQL\(\) invoked with \d+ parameters, 1 required\.\z~' - - # legacy remnants from doctrine/common - - '~^Class Doctrine\\Common\\(Collections\\Collection|Persistence\\Proxy) not found\.\z~' - - '~^.+ on an unknown class Doctrine\\Common\\(Collections\\Collection|Persistence\\Proxy)\.\z~' - - # inheritance variance inference issue - - '~^Method Doctrine\\DBAL\\Driver\\PDOConnection::\w+\(\) should return Doctrine\\DBAL\\Driver\\Statement but returns PDOStatement\.\z~' - - # may not exist when pdo_sqlsrv is not loaded - - '~^Access to undefined constant PDO::SQLSRV_ENCODING_BINARY\.\z~' - - # weird class name, doesn't exist in stubs either - - '~unknown class OCI-(Lob|Collection)~' diff --git a/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php b/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php index 43fa42a64..ce161ac84 100644 --- a/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php +++ b/vendor/egulias/email-validator/EmailValidator/Validation/MultipleValidationWithAnd.php @@ -62,7 +62,8 @@ class MultipleValidationWithAnd implements EmailValidation $errors = []; foreach ($this->validations as $validation) { $emailLexer->reset(); - $result = $result && $validation->isValid($email, $emailLexer); + $validationResult = $validation->isValid($email, $emailLexer); + $result = $result && $validationResult; $this->warnings = array_merge($this->warnings, $validation->getWarnings()); $errors = $this->addNewError($validation->getError(), $errors); diff --git a/vendor/egulias/email-validator/README.md b/vendor/egulias/email-validator/README.md index 8fcd2a6fe..008669c8b 100644 --- a/vendor/egulias/email-validator/README.md +++ b/vendor/egulias/email-validator/README.md @@ -1,12 +1,15 @@ # EmailValidator [![Build Status](https://travis-ci.org/egulias/EmailValidator.png?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.png?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6) ============================= -With the help of [PHPStorm](https://www.jetbrains.com/phpstorm/) +## Suported RFCs ## +This library aims to support: + +RFC 5321, 5322, 6530, 6531, 6532. ## Requirements ## * [Composer](https://getcomposer.org) is required for installation - * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system have the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl) + * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system has the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl) ## Installation ## diff --git a/vendor/egulias/email-validator/composer.json b/vendor/egulias/email-validator/composer.json index 7cc836f0b..5423e9f02 100644 --- a/vendor/egulias/email-validator/composer.json +++ b/vendor/egulias/email-validator/composer.json @@ -35,5 +35,10 @@ "psr-4": { "Egulias\\EmailValidator\\": "EmailValidator" } + }, + "autoload-dev": { + "psr-4": { + "Egulias\\Tests\\": "test" + } } } diff --git a/vendor/filp/whoops/CHANGELOG.md b/vendor/filp/whoops/CHANGELOG.md index d7693f0f4..1a872a1c6 100644 --- a/vendor/filp/whoops/CHANGELOG.md +++ b/vendor/filp/whoops/CHANGELOG.md @@ -1,3 +1,11 @@ +# 2.3.1 + +* Prevent exception in Whoops when caught exception frame is not related to real file + +# 2.3.0 + +* Show previous exception messages. + # 2.2.0 * Support PHP 7.2 diff --git a/vendor/filp/whoops/src/Whoops/Exception/Frame.php b/vendor/filp/whoops/src/Whoops/Exception/Frame.php index 4383583ce..0aad54685 100644 --- a/vendor/filp/whoops/src/Whoops/Exception/Frame.php +++ b/vendor/filp/whoops/src/Whoops/Exception/Frame.php @@ -112,15 +112,10 @@ class Frame implements Serializable public function getFileContents() { if ($this->fileContentsCache === null && $filePath = $this->getFile()) { - // Leave the stage early when 'Unknown' is passed + // Leave the stage early when 'Unknown' or '[internal]' is passed // this would otherwise raise an exception when // open_basedir is enabled. - if ($filePath === "Unknown") { - return null; - } - - // Return null if the file doesn't actually exist. - if (!is_file($filePath)) { + if ($filePath === "Unknown" || $filePath === '[internal]') { return null; } diff --git a/vendor/filp/whoops/src/Whoops/Exception/Inspector.php b/vendor/filp/whoops/src/Whoops/Exception/Inspector.php index c88323bef..96cb9b5ce 100644 --- a/vendor/filp/whoops/src/Whoops/Exception/Inspector.php +++ b/vendor/filp/whoops/src/Whoops/Exception/Inspector.php @@ -25,6 +25,11 @@ class Inspector */ private $previousExceptionInspector; + /** + * @var \Throwable[] + */ + private $previousExceptions; + /** * @param \Throwable $exception The exception to inspect */ @@ -57,6 +62,28 @@ class Inspector return $this->extractDocrefUrl($this->exception->getMessage())['message']; } + /** + * @return string[] + */ + public function getPreviousExceptionMessages() + { + return array_map(function ($prev) { + /** @var \Throwable $prev */ + return $this->extractDocrefUrl($prev->getMessage())['message']; + }, $this->getPreviousExceptions()); + } + + /** + * @return int[] + */ + public function getPreviousExceptionCodes() + { + return array_map(function ($prev) { + /** @var \Throwable $prev */ + return $prev->getCode(); + }, $this->getPreviousExceptions()); + } + /** * Returns a url to the php-manual related to the underlying error - when available. * @@ -117,6 +144,26 @@ class Inspector return $this->previousExceptionInspector; } + + /** + * Returns an array of all previous exceptions for this inspector's exception + * @return \Throwable[] + */ + public function getPreviousExceptions() + { + if ($this->previousExceptions === null) { + $this->previousExceptions = []; + + $prev = $this->exception->getPrevious(); + while ($prev !== null) { + $this->previousExceptions[] = $prev; + $prev = $prev->getPrevious(); + } + } + + return $this->previousExceptions; + } + /** * Returns an iterator for the inspected exception's * frames. @@ -188,7 +235,7 @@ class Inspector * * If xdebug is installed * - * @param \Throwable $exception + * @param \Throwable $e * @return array */ protected function getTrace($e) diff --git a/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php b/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php index 99ebe2bcb..9f0b655c9 100644 --- a/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php +++ b/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php @@ -205,16 +205,18 @@ class PrettyPageHandler extends Handler "frame_code" => $this->getResource("views/frame_code.html.php"), "env_details" => $this->getResource("views/env_details.html.php"), - "title" => $this->getPageTitle(), - "name" => explode("\\", $inspector->getExceptionName()), - "message" => $inspector->getExceptionMessage(), - "docref_url" => $inspector->getExceptionDocrefUrl(), - "code" => $code, - "plain_exception" => Formatter::formatExceptionPlain($inspector), - "frames" => $frames, - "has_frames" => !!count($frames), - "handler" => $this, - "handlers" => $this->getRun()->getHandlers(), + "title" => $this->getPageTitle(), + "name" => explode("\\", $inspector->getExceptionName()), + "message" => $inspector->getExceptionMessage(), + "previousMessages" => $inspector->getPreviousExceptionMessages(), + "docref_url" => $inspector->getExceptionDocrefUrl(), + "code" => $code, + "previousCodes" => $inspector->getPreviousExceptionCodes(), + "plain_exception" => Formatter::formatExceptionPlain($inspector), + "frames" => $frames, + "has_frames" => !!count($frames), + "handler" => $this, + "handlers" => $this->getRun()->getHandlers(), "active_frames_tab" => count($frames) && $frames->offsetGet(0)->isApplication() ? 'application' : 'all', "has_frames_tabs" => $this->getApplicationPaths(), diff --git a/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css b/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css index 8c08bbc9a..b86e2ae8d 100644 --- a/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css +++ b/vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css @@ -52,7 +52,7 @@ header { color: #bebebe; font-size: 14px; } - .exc-title-primary { + .exc-title-primary, .exc-title-secondary { color: #e95353; } @@ -70,6 +70,25 @@ header { font-weight: 300; } +.prev-exc-title { + margin: 10px 0; +} + +.prev-exc-title + ul { + margin: 0; + padding: 0 0 0 20px; + line-height: 12px; +} + +.prev-exc-title + ul li { + font: 12px "Helvetica Neue", helvetica, arial, sans-serif; +} + +.prev-exc-title + ul li .prev-exc-code { + display: inline-block; + color: #bebebe; +} + .details-container { left: 30%; width: 70%; diff --git a/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php b/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php index 534f7c344..b7717d7a3 100644 --- a/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php +++ b/vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php @@ -8,8 +8,8 @@
getFile(); ?> getEditorHref($filePath, (int) $line)): ?> - Open: getEditorAjax($filePath, (int) $line) ? ' data-ajax' : '') ?>> + Open: breakOnDelimiter('/', $tpl->escape($filePath ?: '<#unknown>')) ?> diff --git a/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php b/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php index 11e1c1dbe..aefbeac08 100644 --- a/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php +++ b/vendor/filp/whoops/src/Whoops/Resources/views/header.html.php @@ -15,6 +15,25 @@
escape($message) ?> + + + +
+ Previous exceptions +
+ +
    + $previousMessage): ?> +
  • + escape($previousMessage) ?> + () +
  • + +
+ + + + No message diff --git a/vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt b/vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt index 1aff8e262..dc8e93adc 100644 --- a/vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt +++ b/vendor/giggsey/libphonenumber-for-php/METADATA-VERSION.txt @@ -2,4 +2,4 @@ # It can be a commit, branch or tag of the https://github.com/googlei18n/libphonenumber project # # For more information, look at the phing tasks in build.xml -v8.9.13 +v8.10.1 diff --git a/vendor/giggsey/libphonenumber-for-php/composer.json b/vendor/giggsey/libphonenumber-for-php/composer.json index ce6350b7f..4a6ca4fd7 100644 --- a/vendor/giggsey/libphonenumber-for-php/composer.json +++ b/vendor/giggsey/libphonenumber-for-php/composer.json @@ -67,7 +67,7 @@ "pear/versioncontrol_git": "^0.5", "pear/pear-core-minimal": "^1.9", "pear/pear_exception": "^1.0", - "phpunit/phpunit": "^4.8|^5.0", + "phpunit/phpunit": "^4.8.36|^5.0", "symfony/console": "^2.8|^3.0", "php-coveralls/php-coveralls": "^1.0|^2.0" }, diff --git a/vendor/giggsey/libphonenumber-for-php/src/AsYouTypeFormatter.php b/vendor/giggsey/libphonenumber-for-php/src/AsYouTypeFormatter.php index 915294b7f..e95bb7eea 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/AsYouTypeFormatter.php +++ b/vendor/giggsey/libphonenumber-for-php/src/AsYouTypeFormatter.php @@ -122,7 +122,7 @@ class AsYouTypeFormatter * formatting * @var string */ - private $extractedNationalPrefix = ""; + private $extractedNationalPrefix = ''; /** * @var string @@ -176,7 +176,7 @@ class AsYouTypeFormatter * to us that we should separate the national prefix from the numbers when formatting. * @var string */ - private static $nationalPrefixSeparatorsPattern = "[- ]"; + private static $nationalPrefixSeparatorsPattern = '[- ]'; /** * This is the minimum length of national number accrued that is required to trigger the @@ -200,10 +200,10 @@ class AsYouTypeFormatter self::$initialised = true; self::$emptyMetadata = new PhoneMetadata(); - self::$emptyMetadata->setInternationalPrefix("NA"); + self::$emptyMetadata->setInternationalPrefix('NA'); - self::$eligibleFormatPattern = "[" . PhoneNumberUtil::VALID_PUNCTUATION . "]*" - . "(\\$\\d" . "[" . PhoneNumberUtil::VALID_PUNCTUATION . "]*)+"; + self::$eligibleFormatPattern = '[' . PhoneNumberUtil::VALID_PUNCTUATION . ']*' + . "(\\$\\d" . '[' . PhoneNumberUtil::VALID_PUNCTUATION . ']*)+'; } } @@ -263,10 +263,10 @@ class AsYouTypeFormatter // needs to be reset. $this->lastMatchPosition = 0; return true; - } else { - // Remove the current number format from $this->possibleFormats - unset($this->possibleFormats[$key]); } + + // Remove the current number format from $this->possibleFormats + unset($this->possibleFormats[$key]); } $this->ableToFormat = false; return false; @@ -277,37 +277,47 @@ class AsYouTypeFormatter */ private function getAvailableFormats($leadingDigits) { - $formatList = ($this->isCompleteNumber && $this->currentMetadata->intlNumberFormatSize() > 0) + // First decide whether we should use international or national number rules. + $isInternationalNumber = $this->isCompleteNumber && $this->extractedNationalPrefix === ''; + + $formatList = ($isInternationalNumber && $this->currentMetadata->intlNumberFormatSize() > 0) ? $this->currentMetadata->intlNumberFormats() : $this->currentMetadata->numberFormats(); - $nationalPrefixIsUsedByCountry = $this->currentMetadata->hasNationalPrefix(); - foreach ($formatList as $format) { - if (!$nationalPrefixIsUsedByCountry - || $this->isCompleteNumber - || $format->getNationalPrefixOptionalWhenFormatting() - || PhoneNumberUtil::formattingRuleHasFirstGroupOnly($format->getNationalPrefixFormattingRule()) - ) { - if ($this->isFormatEligible($format->getFormat())) { - $this->possibleFormats[] = $format; - } + // Discard a few formats that we know are not relevant based on the presence of the national + // prefix. + if ($this->extractedNationalPrefix !== '' + && PhoneNumberUtil::formattingRuleHasFirstGroupOnly( + $format->getNationalPrefixFormattingRule()) + && !$format->getNationalPrefixOptionalWhenFormatting() + && !$format->hasDomesticCarrierCodeFormattingRule()) { + // If it is a national number that had a national prefix, any rules that aren't valid with a + // national prefix should be excluded. A rule that has a carrier-code formatting rule is + // kept since the national prefix might actually be an extracted carrier code - we don't + // distinguish between these when extracting it in the AYTF. + continue; + } + + if ($this->extractedNationalPrefix === '' + && !$this->isCompleteNumber + && !PhoneNumberUtil::formattingRuleHasFirstGroupOnly( + $format->getNationalPrefixFormattingRule()) + && !$format->getNationalPrefixOptionalWhenFormatting()) { + // This number was entered without a national prefix, and this formatting rule requires one, + // so we discard it. + continue; + } + + $eligibleFormatMatcher = new Matcher(self::$eligibleFormatPattern, $format->getFormat()); + + if ($eligibleFormatMatcher->matches()) { + $this->possibleFormats[] = $format; } } $this->narrowDownPossibleFormats($leadingDigits); } - /** - * @param string $format - * @return bool - */ - private function isFormatEligible($format) - { - $eligibleFormatMatcher = new Matcher(self::$eligibleFormatPattern, $format); - - return $eligibleFormatMatcher->matches(); - } - /** * @param $leadingDigits */ @@ -350,7 +360,7 @@ class AsYouTypeFormatter // Replace any standalone digit (not the one in d{}) with \d $standAloneDigitMatcher = new Matcher(self::$standaloneDigitPattern, $numberPattern); $numberPattern = $standAloneDigitMatcher->replaceAll("\\\\d"); - $this->formattingTemplate = ""; + $this->formattingTemplate = ''; $tempTemplate = $this->getFormattingTemplate($numberPattern, $format->getFormat()); if (mb_strlen($tempTemplate) > 0) { $this->formattingTemplate .= $tempTemplate; @@ -370,19 +380,19 @@ class AsYouTypeFormatter { // Creates a phone number consisting only of the digit 9 that matches the // numberPattern by applying the pattern to the longestPhoneNumber string. - $longestPhoneNumber = "999999999999999"; + $longestPhoneNumber = '999999999999999'; $m = new Matcher($numberPattern, $longestPhoneNumber); $m->find(); $aPhoneNumber = $m->group(); // No formatting template can be created if the number of digits entered entered so far // is longer than the maximum the current formatting rule can accommodate. if (mb_strlen($aPhoneNumber) < mb_strlen($this->nationalNumber)) { - return ""; + return ''; } // Formats the number according to $numberFormat $template = preg_replace('/' . $numberPattern . '/' . PhoneNumberUtil::REGEX_FLAGS, $numberFormat, $aPhoneNumber); // Replaces each digit with character self::$digitPlattern - $template = preg_replace("/9/", self::$digitPattern, $template); + $template = preg_replace('/9/', self::$digitPattern, $template); return $template; } @@ -391,15 +401,15 @@ class AsYouTypeFormatter */ public function clear() { - $this->currentOutput = ""; - $this->accruedInput = ""; - $this->accruedInputWithoutFormatting = ""; - $this->formattingTemplate = ""; + $this->currentOutput = ''; + $this->accruedInput = ''; + $this->accruedInputWithoutFormatting = ''; + $this->formattingTemplate = ''; $this->lastMatchPosition = 0; - $this->currentFormattingPattern = ""; - $this->prefixBeforeNationalNumber = ""; - $this->extractedNationalPrefix = ""; - $this->nationalNumber = ""; + $this->currentFormattingPattern = ''; + $this->prefixBeforeNationalNumber = ''; + $this->extractedNationalPrefix = ''; + $this->nationalNumber = ''; $this->ableToFormat = true; $this->inputHasFormatting = false; $this->positionToRemember = 0; @@ -467,7 +477,9 @@ class AsYouTypeFormatter // to do formatting again after extracting them. if ($this->inputHasFormatting) { return $this->accruedInput; - } elseif ($this->attemptToExtractIdd()) { + } + + if ($this->attemptToExtractIdd()) { if ($this->attemptToExtractCountryCallingCode()) { return $this->attemptToChoosePatternWithPrefixExtracted(); } @@ -522,9 +534,9 @@ class AsYouTypeFormatter return $this->ableToFormat ? $this->appendNationalNumber($tempNationalNumber) : $this->accruedInput; - } else { - return $this->attemptToChooseFormattingPattern(); } + + return $this->attemptToChooseFormattingPattern(); } } @@ -537,8 +549,8 @@ class AsYouTypeFormatter $this->isExpectingCountryCallingCode = false; $this->possibleFormats = array(); $this->lastMatchPosition = 0; - $this->formattingTemplate = ""; - $this->currentFormattingPattern = ""; + $this->formattingTemplate = ''; + $this->currentFormattingPattern = ''; return $this->attemptToChooseFormattingPattern(); } @@ -599,7 +611,7 @@ class AsYouTypeFormatter return $this->appendNationalNumber($formattedNumber); } } - return ""; + return ''; } /** @@ -643,9 +655,9 @@ class AsYouTypeFormatter // indicates that this would normally be done, with the exception of the case where we already // appended a space because the NDD was surprisingly long. return $this->prefixBeforeNationalNumber . self::$seperatorBeforeNationalNumber . $nationalNumber; - } else { - return $this->prefixBeforeNationalNumber . $nationalNumber; } + + return $this->prefixBeforeNationalNumber . $nationalNumber; } /** @@ -665,9 +677,9 @@ class AsYouTypeFormatter return $formattedNumber; } return $this->maybeCreateNewTemplate() ? $this->inputAccruedNationalNumber() : $this->accruedInput; - } else { - return $this->appendNationalNumber($this->nationalNumber); } + + return $this->appendNationalNumber($this->nationalNumber); } /** @@ -679,14 +691,14 @@ class AsYouTypeFormatter { $lengthOfNationalNumber = mb_strlen($this->nationalNumber); if ($lengthOfNationalNumber > 0) { - $tempNationalNumber = ""; + $tempNationalNumber = ''; for ($i = 0; $i < $lengthOfNationalNumber; $i++) { $tempNationalNumber = $this->inputDigitHelper(mb_substr($this->nationalNumber, $i, 1)); } return $this->ableToFormat ? $this->appendNationalNumber($tempNationalNumber) : $this->accruedInput; - } else { - return $this->prefixBeforeNationalNumber; } + + return $this->prefixBeforeNationalNumber; } /** @@ -713,7 +725,7 @@ class AsYouTypeFormatter $startOfNationalNumber = 0; if ($this->isNanpaNumberWithNationalPrefix()) { $startOfNationalNumber = 1; - $this->prefixBeforeNationalNumber .= "1" . self::$seperatorBeforeNationalNumber; + $this->prefixBeforeNationalNumber .= '1' . self::$seperatorBeforeNationalNumber; $this->isCompleteNumber = true; } elseif ($this->currentMetadata->hasNationalPrefixForParsing()) { $m = new Matcher($this->currentMetadata->getNationalPrefixForParsing(), $this->nationalNumber); @@ -768,7 +780,7 @@ class AsYouTypeFormatter if (mb_strlen($this->nationalNumber) == 0) { return false; } - $numberWithoutCountryCallingCode = ""; + $numberWithoutCountryCallingCode = ''; $countryCode = $this->phoneUtil->extractCountryCode($this->nationalNumber, $numberWithoutCountryCallingCode); if ($countryCode === 0) { return false; @@ -784,7 +796,7 @@ class AsYouTypeFormatter $this->prefixBeforeNationalNumber .= $countryCodeString . self::$seperatorBeforeNationalNumber; // When we have successfully extracted the IDD, the previously extracted NDD should be cleared // because it is no longer valid. - $this->extractedNationalPrefix = ""; + $this->extractedNationalPrefix = ''; return true; } @@ -825,17 +837,18 @@ class AsYouTypeFormatter $digitMatcher = new Matcher(self::$digitPattern, $this->formattingTemplate); if ($digitMatcher->find($this->lastMatchPosition)) { $tempTemplate = $digitMatcher->replaceFirst($nextChar); - $this->formattingTemplate = $tempTemplate . mb_substr($this->formattingTemplate, mb_strlen($tempTemplate, "UTF-8"), null, "UTF-8"); + $this->formattingTemplate = $tempTemplate . mb_substr($this->formattingTemplate, mb_strlen($tempTemplate, + 'UTF-8'), null, 'UTF-8'); $this->lastMatchPosition = $digitMatcher->start(); return mb_substr($this->formattingTemplate, 0, $this->lastMatchPosition + 1); - } else { - if (count($this->possibleFormats) === 1) { - // More digits are entered than we could handle, and there are no other valid patterns to - // try. - $this->ableToFormat = false; - } // else, we just reset the formatting pattern. - $this->currentFormattingPattern = ""; - return $this->accruedInput; } + + if (count($this->possibleFormats) === 1) { + // More digits are entered than we could handle, and there are no other valid patterns to + // try. + $this->ableToFormat = false; + } // else, we just reset the formatting pattern. + $this->currentFormattingPattern = ''; + return $this->accruedInput; } } diff --git a/vendor/giggsey/libphonenumber-for-php/src/Matcher.php b/vendor/giggsey/libphonenumber-for-php/src/Matcher.php index b9f6033ff..67e3553b9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/Matcher.php +++ b/vendor/giggsey/libphonenumber-for-php/src/Matcher.php @@ -116,9 +116,9 @@ class Matcher { if (empty($this->groups)) { return null; - } else { - return count($this->groups) - 1; } + + return count($this->groups) - 1; } /** @@ -127,10 +127,10 @@ class Matcher */ public function group($group = null) { - if (!isset($group) || $group === null) { + if ($group === null) { $group = 0; } - return (isset($this->groups[$group][0])) ? $this->groups[$group][0] : null; + return isset($this->groups[$group][0]) ? $this->groups[$group][0] : null; } /** @@ -139,7 +139,7 @@ class Matcher */ public function end($group = null) { - if (!isset($group) || $group === null) { + if ($group === null) { $group = 0; } if (!isset($this->groups[$group])) { @@ -150,7 +150,7 @@ class Matcher public function start($group = null) { - if (!isset($group) || $group === null) { + if ($group === null) { $group = 0; } if (!isset($this->groups[$group])) { @@ -182,7 +182,7 @@ class Matcher * @param string $input * @return Matcher */ - public function reset($input = "") + public function reset($input = '') { $this->subject = $input; diff --git a/vendor/giggsey/libphonenumber-for-php/src/MultiFileMetadataSourceImpl.php b/vendor/giggsey/libphonenumber-for-php/src/MultiFileMetadataSourceImpl.php index f6e98657a..b12b0edae 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/MultiFileMetadataSourceImpl.php +++ b/vendor/giggsey/libphonenumber-for-php/src/MultiFileMetadataSourceImpl.php @@ -93,15 +93,15 @@ class MultiFileMetadataSourceImpl implements MetadataSourceInterface $fileName = $filePrefix . '_' . ($isNonGeoRegion ? $countryCallingCode : $regionCode) . '.php'; if (!is_readable($fileName)) { throw new \RuntimeException('missing metadata: ' . $fileName); + } + + $data = $metadataLoader->loadMetadata($fileName); + $metadata = new PhoneMetadata(); + $metadata->fromArray($data); + if ($isNonGeoRegion) { + $this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode] = $metadata; } else { - $data = $metadataLoader->loadMetadata($fileName); - $metadata = new PhoneMetadata(); - $metadata->fromArray($data); - if ($isNonGeoRegion) { - $this->countryCodeToNonGeographicalMetadataMap[$countryCallingCode] = $metadata; - } else { - $this->regionToMetadataMap[$regionCode] = $metadata; - } + $this->regionToMetadataMap[$regionCode] = $metadata; } } } diff --git a/vendor/giggsey/libphonenumber-for-php/src/NumberFormat.php b/vendor/giggsey/libphonenumber-for-php/src/NumberFormat.php index 703a394f8..fe65e7e41 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/NumberFormat.php +++ b/vendor/giggsey/libphonenumber-for-php/src/NumberFormat.php @@ -7,15 +7,58 @@ namespace libphonenumber; */ class NumberFormat { - protected $pattern = null; - protected $format = null; + /** + * @var string + */ + protected $pattern; + /** + * @var bool + */ + protected $hasPattern = false; + + /** + * @var string + */ + protected $format; + + /** + * @var bool + */ + protected $hasFormat = false; + + /** + * @var array + */ protected $leadingDigitsPattern = array(); - protected $nationalPrefixFormattingRule = null; + + /** + * @var string + */ + protected $nationalPrefixFormattingRule; + + /** + * @var bool + */ + protected $hasNationalPrefixFormattingRule = false; /** * @var bool */ protected $nationalPrefixOptionalWhenFormatting = false; - protected $domesticCarrierCodeFormattingRule = null; + + /** + * @var bool + */ + protected $hasNationalPrefixOptionalWhenFormatting = false; + + /** + * @var string + */ + protected $domesticCarrierCodeFormattingRule; + + /** + * @var bool + */ + protected $hasDomesticCarrierCodeFormattingRule = false; public function __construct() { @@ -27,12 +70,22 @@ class NumberFormat */ public function clear() { - $this->pattern = ""; - $this->format = ""; + $this->hasPattern = false; + $this->pattern = null; + + $this->hasFormat = false; + $this->format = null; + $this->leadingDigitsPattern = array(); - $this->nationalPrefixFormattingRule = ""; + + $this->hasNationalPrefixFormattingRule = false; + $this->nationalPrefixFormattingRule = null; + + $this->hasNationalPrefixOptionalWhenFormatting = false; $this->nationalPrefixOptionalWhenFormatting = false; - $this->domesticCarrierCodeFormattingRule = ""; + + $this->hasDomesticCarrierCodeFormattingRule = false; + $this->domesticCarrierCodeFormattingRule = null; return $this; } @@ -42,7 +95,7 @@ class NumberFormat */ public function hasPattern() { - return isset($this->pattern); + return $this->hasPattern; } /** @@ -59,6 +112,7 @@ class NumberFormat */ public function setPattern($value) { + $this->hasPattern = true; $this->pattern = $value; return $this; @@ -69,7 +123,7 @@ class NumberFormat */ public function hasNationalPrefixOptionalWhenFormatting() { - return isset($this->nationalPrefixOptionalWhenFormatting); + return $this->hasNationalPrefixOptionalWhenFormatting; } /** @@ -85,6 +139,7 @@ class NumberFormat */ public function setNationalPrefixOptionalWhenFormatting($nationalPrefixOptionalWhenFormatting) { + $this->hasNationalPrefixOptionalWhenFormatting = true; $this->nationalPrefixOptionalWhenFormatting = $nationalPrefixOptionalWhenFormatting; } @@ -93,7 +148,7 @@ class NumberFormat */ public function hasFormat() { - return ($this->format); + return $this->hasFormat; } /** @@ -110,13 +165,14 @@ class NumberFormat */ public function setFormat($value) { + $this->hasFormat = true; $this->format = $value; return $this; } /** - * @return string + * @return string[] */ public function leadingDigitPatterns() { @@ -156,7 +212,7 @@ class NumberFormat */ public function hasNationalPrefixFormattingRule() { - return isset($this->nationalPrefixFormattingRule); + return $this->hasNationalPrefixFormattingRule; } /** @@ -173,6 +229,7 @@ class NumberFormat */ public function setNationalPrefixFormattingRule($value) { + $this->hasNationalPrefixFormattingRule = true; $this->nationalPrefixFormattingRule = $value; return $this; @@ -193,7 +250,7 @@ class NumberFormat */ public function hasDomesticCarrierCodeFormattingRule() { - return isset($this->domesticCarrierCodeFormattingRule); + return $this->hasDomesticCarrierCodeFormattingRule; } /** @@ -210,6 +267,7 @@ class NumberFormat */ public function setDomesticCarrierCodeFormattingRule($value) { + $this->hasDomesticCarrierCodeFormattingRule = true; $this->domesticCarrierCodeFormattingRule = $value; return $this; @@ -281,10 +339,10 @@ class NumberFormat $this->addLeadingDigitsPattern($leadingDigitsPattern); } - if (isset($input['nationalPrefixFormattingRule'])) { + if (isset($input['nationalPrefixFormattingRule']) && $input['nationalPrefixFormattingRule'] !== '') { $this->setNationalPrefixFormattingRule($input['nationalPrefixFormattingRule']); } - if (isset($input['domesticCarrierCodeFormattingRule'])) { + if (isset($input['domesticCarrierCodeFormattingRule']) && $input['domesticCarrierCodeFormattingRule'] !== '') { $this->setDomesticCarrierCodeFormattingRule($input['domesticCarrierCodeFormattingRule']); } diff --git a/vendor/giggsey/libphonenumber-for-php/src/NumberParseException.php b/vendor/giggsey/libphonenumber-for-php/src/NumberParseException.php index 8940283cb..161811eef 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/NumberParseException.php +++ b/vendor/giggsey/libphonenumber-for-php/src/NumberParseException.php @@ -42,6 +42,6 @@ class NumberParseException extends \Exception public function __toString() { - return "Error type: " . $this->errorType . ". " . $this->message; + return 'Error type: ' . $this->errorType . '. ' . $this->message; } } diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneMetadata.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneMetadata.php index 2763b96ea..ddfaa3507 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneMetadata.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneMetadata.php @@ -12,32 +12,32 @@ class PhoneMetadata /** * @var string */ - protected $id = null; + protected $id; /** * @var int */ - protected $countryCode = null; - protected $leadingDigits = null; - protected $internationalPrefix = null; - protected $preferredInternationalPrefix = null; - protected $nationalPrefixForParsing = null; - protected $nationalPrefixTransformRule = null; - protected $nationalPrefix = null; - protected $preferredExtnPrefix = null; + protected $countryCode; + protected $leadingDigits; + protected $internationalPrefix; + protected $preferredInternationalPrefix; + protected $nationalPrefixForParsing; + protected $nationalPrefixTransformRule; + protected $nationalPrefix; + protected $preferredExtnPrefix; protected $mainCountryForCode = false; protected $leadingZeroPossible = false; protected $mobileNumberPortableRegion = false; - protected $generalDesc = null; + protected $generalDesc; /** * @var PhoneNumberDesc */ - protected $mobile = null; - protected $premiumRate = null; - protected $fixedLine = null; + protected $mobile; + protected $premiumRate; + protected $fixedLine; protected $sameMobileAndFixedLinePattern = false; protected $numberFormat = array(); - protected $tollFree = null; - protected $sharedCost = null; + protected $tollFree; + protected $sharedCost; protected $personalNumber; protected $voip; protected $pager; @@ -63,7 +63,7 @@ class PhoneMetadata /** * @var PhoneNumberDesc */ - protected $noInternationalDialling = null; + protected $noInternationalDialling; /** * * @var NumberFormat[] @@ -75,7 +75,7 @@ class PhoneMetadata */ public function hasId() { - return isset($this->id); + return $this->id !== null; } /** @@ -83,17 +83,17 @@ class PhoneMetadata */ public function hasCountryCode() { - return isset($this->countryCode); + return $this->countryCode !== null; } public function hasInternationalPrefix() { - return isset($this->internationalPrefix); + return $this->internationalPrefix !== null; } public function hasMainCountryForCode() { - return isset($this->mainCountryForCode); + return $this->mainCountryForCode !== null; } public function isMainCountryForCode() @@ -120,17 +120,17 @@ class PhoneMetadata public function hasLeadingZeroPossible() { - return isset($this->leadingZeroPossible); + return $this->leadingZeroPossible !== null; } public function hasMobileNumberPortableRegion() { - return isset($this->mobileNumberPortableRegion); + return $this->mobileNumberPortableRegion !== null; } public function hasSameMobileAndFixedLinePattern() { - return isset($this->sameMobileAndFixedLinePattern); + return $this->sameMobileAndFixedLinePattern !== null; } public function numberFormatSize() @@ -301,7 +301,7 @@ class PhoneMetadata public function hasGeneralDesc() { - return isset($this->generalDesc); + return $this->generalDesc !== null; } /** @@ -320,7 +320,7 @@ class PhoneMetadata public function hasFixedLine() { - return isset($this->fixedLine); + return $this->fixedLine !== null; } /** @@ -339,7 +339,7 @@ class PhoneMetadata public function hasMobile() { - return isset($this->mobile); + return $this->mobile !== null; } /** @@ -358,7 +358,7 @@ class PhoneMetadata public function hasTollFree() { - return isset($this->tollFree); + return $this->tollFree !== null; } /** @@ -377,7 +377,7 @@ class PhoneMetadata public function hasPremiumRate() { - return isset($this->premiumRate); + return $this->premiumRate !== null; } /** @@ -396,7 +396,7 @@ class PhoneMetadata public function hasSharedCost() { - return isset($this->sharedCost); + return $this->sharedCost !== null; } /** @@ -415,7 +415,7 @@ class PhoneMetadata public function hasPersonalNumber() { - return isset($this->personalNumber); + return $this->personalNumber !== null; } /** @@ -434,7 +434,7 @@ class PhoneMetadata public function hasVoip() { - return isset($this->voip); + return $this->voip !== null; } /** @@ -453,7 +453,7 @@ class PhoneMetadata public function hasPager() { - return isset($this->pager); + return $this->pager !== null; } /** @@ -472,7 +472,7 @@ class PhoneMetadata public function hasUan() { - return isset($this->uan); + return $this->uan !== null; } /** @@ -491,7 +491,7 @@ class PhoneMetadata public function hasEmergency() { - return isset($this->emergency); + return $this->emergency !== null; } /** @@ -510,7 +510,7 @@ class PhoneMetadata public function hasVoicemail() { - return isset($this->voicemail); + return $this->voicemail !== null; } /** @@ -529,7 +529,7 @@ class PhoneMetadata public function hasShortCode() { - return isset($this->short_code); + return $this->short_code !== null; } public function getShortCode() @@ -545,7 +545,7 @@ class PhoneMetadata public function hasStandardRate() { - return isset($this->standard_rate); + return $this->standard_rate !== null; } public function getStandardRate() @@ -561,7 +561,7 @@ class PhoneMetadata public function hasCarrierSpecific() { - return isset($this->carrierSpecific); + return $this->carrierSpecific !== null; } public function getCarrierSpecific() @@ -577,7 +577,7 @@ class PhoneMetadata public function hasSmsServices() { - return isset($this->smsServices); + return $this->smsServices !== null; } public function getSmsServices() @@ -593,7 +593,7 @@ class PhoneMetadata public function hasNoInternationalDialling() { - return isset($this->noInternationalDialling); + return $this->noInternationalDialling !== null; } public function getNoInternationalDialling() @@ -678,7 +678,7 @@ class PhoneMetadata public function hasNationalPrefix() { - return isset($this->nationalPrefix); + return $this->nationalPrefix !== null; } public function getNationalPrefix() @@ -700,7 +700,7 @@ class PhoneMetadata public function hasPreferredExtnPrefix() { - return isset($this->preferredExtnPrefix); + return $this->preferredExtnPrefix !== null; } public function getPreferredExtnPrefix() @@ -722,7 +722,7 @@ class PhoneMetadata public function hasNationalPrefixForParsing() { - return isset($this->nationalPrefixForParsing); + return $this->nationalPrefixForParsing !== null; } public function getNationalPrefixForParsing() @@ -738,7 +738,7 @@ class PhoneMetadata public function hasNationalPrefixTransformRule() { - return isset($this->nationalPrefixTransformRule); + return $this->nationalPrefixTransformRule !== null; } public function getNationalPrefixTransformRule() @@ -793,7 +793,7 @@ class PhoneMetadata */ public function hasLeadingDigits() { - return isset($this->leadingDigits); + return $this->leadingDigits !== null; } public function getLeadingDigits() @@ -909,7 +909,7 @@ class PhoneMetadata if (isset($input['shortCode'])) { $desc = new PhoneNumberDesc(); - $this->setShortCode(($desc->fromArray($input['shortCode']))); + $this->setShortCode($desc->fromArray($input['shortCode'])); } if (isset($input['standardRate'])) { diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumber.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumber.php index 5a0dae4db..7c20f102c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumber.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumber.php @@ -10,7 +10,7 @@ class PhoneNumber implements \Serializable * * @var int|null */ - protected $countryCode = null; + protected $countryCode; /** * National (significant) Number is defined in International Telecommunication Union (ITU) * Recommendation E.164. It is a language/country-neutral representation of a phone number at a @@ -22,7 +22,7 @@ class PhoneNumber implements \Serializable * * @var string|null */ - protected $nationalNumber = null; + protected $nationalNumber; /** * Extension is not standardized in ITU recommendations, except for being defined as a series of * numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the @@ -31,7 +31,7 @@ class PhoneNumber implements \Serializable * * @var string|null */ - protected $extension = null; + protected $extension; /** * In some countries, the national (significant) number starts with one or more "0"s without this * being a national prefix or trunk code of some kind. For example, the leading zero in the national @@ -49,7 +49,7 @@ class PhoneNumber implements \Serializable * * @var bool|null */ - protected $italianLeadingZero = null; + protected $italianLeadingZero; /** * This field is used to store the raw input string containing phone numbers before it was * canonicalized by the library. For example, it could be used to store alphanumerical numbers @@ -57,7 +57,7 @@ class PhoneNumber implements \Serializable * * @var string|null */ - protected $rawInput = null; + protected $rawInput; /** * The source from which the country_code is derived. This is not set in the general parsing method, * but in the method that parses and keeps raw_input. New fields could be added upon request. @@ -79,7 +79,7 @@ class PhoneNumber implements \Serializable * * @var string|null */ - protected $preferredDomesticCarrierCode = null; + protected $preferredDomesticCarrierCode; /** * Whether this phone number has a number of leading zeros set. * @@ -245,7 +245,7 @@ class PhoneNumber implements \Serializable */ public function hasCountryCode() { - return isset($this->countryCode); + return $this->countryCode !== null; } /** @@ -278,7 +278,7 @@ class PhoneNumber implements \Serializable */ public function hasNationalNumber() { - return isset($this->nationalNumber); + return $this->nationalNumber !== null; } /** @@ -311,7 +311,7 @@ class PhoneNumber implements \Serializable */ public function hasExtension() { - return isset($this->extension); + return $this->extension !== null; } /** @@ -344,7 +344,7 @@ class PhoneNumber implements \Serializable */ public function hasItalianLeadingZero() { - return isset($this->italianLeadingZero); + return $this->italianLeadingZero !== null; } /** @@ -411,7 +411,7 @@ class PhoneNumber implements \Serializable */ public function hasRawInput() { - return isset($this->rawInput); + return $this->rawInput !== null; } /** @@ -477,7 +477,7 @@ class PhoneNumber implements \Serializable */ public function hasPreferredDomesticCarrierCode() { - return isset($this->preferredDomesticCarrierCode); + return $this->preferredDomesticCarrierCode !== null; } /** diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberDesc.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberDesc.php index b115a4509..13d59e709 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberDesc.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberDesc.php @@ -8,9 +8,9 @@ namespace libphonenumber; class PhoneNumberDesc { protected $hasNationalNumberPattern = false; - protected $nationalNumberPattern = ""; + protected $nationalNumberPattern = ''; protected $hasExampleNumber = false; - protected $exampleNumber = ""; + protected $exampleNumber = ''; /** * @var array */ diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatch.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatch.php index a3d2f97f2..ccfe2193d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatch.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatch.php @@ -33,7 +33,7 @@ class PhoneNumberMatch public function __construct($start, $rawString, PhoneNumber $number) { if ($start < 0) { - throw new \InvalidArgumentException("Start index must be >= 0."); + throw new \InvalidArgumentException('Start index must be >= 0.'); } if ($rawString === null) { diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatcher.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatcher.php index 376776b2f..4675ab544 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatcher.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberMatcher.php @@ -107,7 +107,7 @@ class PhoneNumberMatcher implements \Iterator static::$innerMatches = array( // Breaks on the slash - e.g. "651-234-2345/332-445-1234" - "/+(.*)", + '/+(.*)', // Note that the bracket here is inside the capturing group, since we consider it part of the // phone number. Will match a pattern like "(650) 223 3345 (754) 223 3321". "(\\([^(]*)", @@ -131,7 +131,7 @@ class PhoneNumberMatcher implements \Iterator $openingParens = "(\\[\xEF\xBC\x88\xEF\xBC\xBB"; $closingParens = ")\\]\xEF\xBC\x89\xEF\xBC\xBD"; - $nonParens = "[^" . $openingParens . $closingParens . "]"; + $nonParens = '[^' . $openingParens . $closingParens . ']'; // Limit on the number of pairs of brackets in a phone number. $bracketPairLimit = static::limit(0, 3); @@ -142,10 +142,10 @@ class PhoneNumberMatcher implements \Iterator * closing bracket first. We limit the sets of brackets in a phone number to four. */ static::$matchingBrackets = - "(?:[" . $openingParens . "])?" . "(?:" . $nonParens . "+" . "[" . $closingParens . "])?" - . $nonParens . "+" - . "(?:[" . $openingParens . "]" . $nonParens . "+[" . $closingParens . "])" . $bracketPairLimit - . $nonParens . "*"; + '(?:[' . $openingParens . '])?' . '(?:' . $nonParens . '+' . '[' . $closingParens . '])?' + . $nonParens . '+' + . '(?:[' . $openingParens . ']' . $nonParens . '+[' . $closingParens . '])' . $bracketPairLimit + . $nonParens . '*'; // Limit on the number of leading (plus) characters. $leadLimit = static::limit(0, 2); @@ -183,9 +183,9 @@ class PhoneNumberMatcher implements \Iterator // Phone number pattern allowing optional punctuation. - static::$pattern = "(?:" . $leadClass . $punctuation . ")" . $leadLimit - . $digitSequence . "(?:" . $punctuation . $digitSequence . ")" . $blockLimit - . "(?:" . PhoneNumberUtil::$EXTN_PATTERNS_FOR_MATCHING . ")?"; + static::$pattern = '(?:' . $leadClass . $punctuation . ')' . $leadLimit + . $digitSequence . '(?:' . $punctuation . $digitSequence . ')' . $blockLimit + . '(?:' . PhoneNumberUtil::$EXTN_PATTERNS_FOR_MATCHING . ')?'; static::$initialized = true; } @@ -280,7 +280,7 @@ class PhoneNumberMatcher implements \Iterator } $this->phoneUtil = $util; - $this->text = ($text !== null) ? $text : ""; + $this->text = ($text !== null) ? $text : ''; $this->preferredRegion = $country; $this->leniency = $leniency; $this->maxTries = $maxTries; @@ -488,26 +488,6 @@ class PhoneNumberMatcher implements \Iterator $number = $this->phoneUtil->parseAndKeepRawInput($candidate, $this->preferredRegion); - // Check Israel * numbers: these are a special case in that they are four-digit numbers that - // our library supports, but they can only be dialled with a leading *. Since we don't - // actually store or detect the * in our phone number library, this means in practice we - // detect most four digit numbers as being valid for Israel. We are considering moving these - // numbers to ShortNumberInfo instead, in which case this problem would go away, but in the - // meantime we want to restrict the false matches so we only allow these numbers if they are - // preceded by a star. We enforce this for all leniency levels even though these numbers are - // technically accepted by isPossibleNumber and isValidNumber since we consider it to be a - // deficiency in those methods that they accept these numbers without the *. - // TODO: Remove this or make it significantly less hacky once we've decided how to - // handle these short codes going forward in ShortNumberInfo. We could use the formatting - // rules for instance, but that would be slower. - if ($this->phoneUtil->getRegionCodeForCountryCode($number->getCountryCode()) == "IL" - && mb_strlen($this->phoneUtil->getNationalSignificantNumber($number)) === 4 - && ($offset === 0 || ($offset > 0 && mb_substr($this->text, $offset - 1, 1) != '*')) - ) { - // No match. - return null; - } - if ($this->leniency->verify($number, $candidate, $this->phoneUtil)) { // We used parseAndKeepRawInput to create this number, but for now we don't return the extra // values parsed. TODO: stop clearing all values here and switch all users over @@ -660,12 +640,12 @@ class PhoneNumberMatcher implements \Iterator // The country-code will have a '-' following it. $startIndex = mb_strpos($rfc3966Format, '-') + 1; return explode('-', mb_substr($rfc3966Format, $startIndex, $endIndex - $startIndex)); - } else { - // We format the NSN only, and split that according to the separator. - $nationalSignificantNumber = $util->getNationalSignificantNumber($number); - return explode('-', $util->formatNsnUsingPattern($nationalSignificantNumber, $formattingPattern, - PhoneNumberFormat::RFC3966)); } + + // We format the NSN only, and split that according to the separator. + $nationalSignificantNumber = $util->getNationalSignificantNumber($number); + return explode('-', $util->formatNsnUsingPattern($nationalSignificantNumber, $formattingPattern, + PhoneNumberFormat::RFC3966)); } /** diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php index 3cf375ddb..2c234e2e4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToCarrierMapper.php @@ -71,7 +71,7 @@ class PhoneNumberToCarrierMapper public function getNameForValidNumber(PhoneNumber $number, $languageCode) { $languageStr = Locale::getPrimaryLanguage($languageCode); - $scriptStr = ""; + $scriptStr = ''; $regionStr = Locale::getRegion($languageCode); return $this->prefixFileReader->getDescriptionForNumber($number, $languageStr, $scriptStr, $regionStr); @@ -94,7 +94,7 @@ class PhoneNumberToCarrierMapper if ($this->isMobile($numberType)) { return $this->getNameForValidNumber($number, $languageCode); } - return ""; + return ''; } /** @@ -110,7 +110,7 @@ class PhoneNumberToCarrierMapper public function getSafeDisplayName(PhoneNumber $number, $languageCode) { if ($this->phoneUtil->isMobileNumberPortableRegion($this->phoneUtil->getRegionCodeForNumber($number))) { - return ""; + return ''; } return $this->getNameForNumber($number, $languageCode); diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToTimeZonesMapper.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToTimeZonesMapper.php index 84652abe9..02a150c1a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToTimeZonesMapper.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberToTimeZonesMapper.php @@ -14,11 +14,11 @@ class PhoneNumberToTimeZonesMapper { const UNKNOWN_TIMEZONE = 'Etc/Unknown'; const MAPPING_DATA_DIRECTORY = '/timezone/data/'; - const MAPPING_DATA_FILE_NAME = "map_data.php"; + const MAPPING_DATA_FILE_NAME = 'map_data.php'; /** * @var PhoneNumberToTimeZonesMapper */ - protected static $instance = null; + protected static $instance; protected $unknownTimeZoneList = array(); /** * @var PhoneNumberUtil @@ -39,7 +39,7 @@ class PhoneNumberToTimeZonesMapper protected static function loadPrefixTimeZonesMapFromFile($path) { if (!is_readable($path)) { - throw new \InvalidArgumentException("Mapping file can not be found"); + throw new \InvalidArgumentException('Mapping file can not be found'); } $data = require $path; @@ -90,7 +90,9 @@ class PhoneNumberToTimeZonesMapper if ($numberType === PhoneNumberType::UNKNOWN) { return $this->unknownTimeZoneList; - } elseif (!PhoneNumberUtil::getInstance()->isNumberGeographical($numberType, $number->getCountryCode())) { + } + + if (!PhoneNumberUtil::getInstance()->isNumberGeographical($numberType, $number->getCountryCode())) { return $this->getCountryLevelTimeZonesforNumber($number); } diff --git a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberUtil.php b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberUtil.php index 7092c5293..cbfac347d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberUtil.php +++ b/vendor/giggsey/libphonenumber-for-php/src/PhoneNumberUtil.php @@ -35,41 +35,41 @@ class PhoneNumberUtil // The maximum length of the country calling code. const MAX_LENGTH_COUNTRY_CODE = 3; - const REGION_CODE_FOR_NON_GEO_ENTITY = "001"; + const REGION_CODE_FOR_NON_GEO_ENTITY = '001'; const META_DATA_FILE_PREFIX = 'PhoneNumberMetadata'; const TEST_META_DATA_FILE_PREFIX = 'PhoneNumberMetadataForTesting'; // Region-code for the unknown region. - const UNKNOWN_REGION = "ZZ"; + const UNKNOWN_REGION = 'ZZ'; const NANPA_COUNTRY_CODE = 1; /* * The prefix that needs to be inserted in front of a Colombian landline number when dialed from * a mobile number in Colombia. */ - const COLOMBIA_MOBILE_TO_FIXED_LINE_PREFIX = "3"; + const COLOMBIA_MOBILE_TO_FIXED_LINE_PREFIX = '3'; // The PLUS_SIGN signifies the international prefix. const PLUS_SIGN = '+'; const PLUS_CHARS = '++'; const STAR_SIGN = '*'; - const RFC3966_EXTN_PREFIX = ";ext="; - const RFC3966_PREFIX = "tel:"; - const RFC3966_PHONE_CONTEXT = ";phone-context="; - const RFC3966_ISDN_SUBADDRESS = ";isub="; + const RFC3966_EXTN_PREFIX = ';ext='; + const RFC3966_PREFIX = 'tel:'; + const RFC3966_PHONE_CONTEXT = ';phone-context='; + const RFC3966_ISDN_SUBADDRESS = ';isub='; // We use this pattern to check if the phone number has at least three letters in it - if so, then // we treat it as a number where some phone-number digits are represented by letters. - const VALID_ALPHA_PHONE_PATTERN = "(?:.*?[A-Za-z]){3}.*"; + const VALID_ALPHA_PHONE_PATTERN = '(?:.*?[A-Za-z]){3}.*'; // We accept alpha characters in phone numbers, ASCII only, upper and lower case. - const VALID_ALPHA = "A-Za-z"; + const VALID_ALPHA = 'A-Za-z'; // Default extension prefix to use when formatting. This will be put in front of any extension // component of the number, after the main national number is formatted. For example, if you wish // the default extension formatting to be " extn: 3456", then you should specify " extn: " here // as the default extension prefix. This can be overridden by region-specific preferences. - const DEFAULT_EXTN_PREFIX = " ext. "; + const DEFAULT_EXTN_PREFIX = ' ext. '; // Regular expression of acceptable punctuation found in phone numbers, used to find numbers in // text and to decide what is a viable phone number. This excludes diallable characters. @@ -107,7 +107,7 @@ class PhoneNumberUtil public static $PLUS_CHARS_PATTERN; protected static $SEPARATOR_PATTERN; protected static $CAPTURING_DIGIT_PATTERN; - protected static $VALID_START_CHAR_PATTERN = null; + protected static $VALID_START_CHAR_PATTERN; public static $SECOND_NUMBER_START_PATTERN = '[\\\\/] *x'; public static $UNWANTED_END_CHAR_PATTERN = "[[\\P{N}&&\\P{L}]&&[^#]]+$"; protected static $DIALLABLE_CHAR_MAPPINGS = array(); @@ -116,7 +116,7 @@ class PhoneNumberUtil /** * @var PhoneNumberUtil */ - protected static $instance = null; + protected static $instance; /** * Only upper-case variants of alpha characters are stored. @@ -184,7 +184,7 @@ class PhoneNumberUtil * For performance reasons, amalgamate both into one map. * @var array */ - protected static $ALPHA_PHONE_MAPPINGS = null; + protected static $ALPHA_PHONE_MAPPINGS; /** * Separate map of all symbols that we wish to retain when formatting alpha numbers. This @@ -223,8 +223,8 @@ class PhoneNumberUtil * @internal */ public static $EXTN_PATTERNS_FOR_MATCHING; - protected static $EXTN_PATTERN = null; - protected static $VALID_PHONE_NUMBER_PATTERN = null; + protected static $EXTN_PATTERN; + protected static $VALID_PHONE_NUMBER_PATTERN; protected static $MIN_LENGTH_PHONE_NUMBER_PATTERN; /** * Regular expression of viable phone numbers. This is location independent. Checks we have at @@ -341,9 +341,9 @@ class PhoneNumberUtil static::initCapturingExtnDigits(); static::initExtnPatterns(); static::initExtnPattern(); - static::$PLUS_CHARS_PATTERN = "[" . static::PLUS_CHARS . "]+"; - static::$SEPARATOR_PATTERN = "[" . static::VALID_PUNCTUATION . "]+"; - static::$CAPTURING_DIGIT_PATTERN = "(" . static::DIGITS . ")"; + static::$PLUS_CHARS_PATTERN = '[' . static::PLUS_CHARS . ']+'; + static::$SEPARATOR_PATTERN = '[' . static::VALID_PUNCTUATION . ']+'; + static::$CAPTURING_DIGIT_PATTERN = '(' . static::DIGITS . ')'; static::initValidStartCharPattern(); static::initAlphaPhoneMappings(); static::initDiallableCharMappings(); @@ -355,7 +355,7 @@ class PhoneNumberUtil static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[$c] = $c; } static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS += static::$asciiDigitMappings; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["-"] = '-'; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS['-'] = '-'; static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xEF\xBC\x8D"] = '-'; static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x80\x90"] = '-'; static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x80\x91"] = '-'; @@ -364,18 +364,18 @@ class PhoneNumberUtil static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x80\x94"] = '-'; static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x80\x95"] = '-'; static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x88\x92"] = '-'; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["/"] = "/"; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xEF\xBC\x8F"] = "/"; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[" "] = " "; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE3\x80\x80"] = " "; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x81\xA0"] = " "; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["."] = "."; - static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xEF\xBC\x8E"] = "."; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS['/'] = '/'; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xEF\xBC\x8F"] = '/'; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS[' '] = ' '; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE3\x80\x80"] = ' '; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xE2\x81\xA0"] = ' '; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS['.'] = '.'; + static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS["\xEF\xBC\x8E"] = '.'; static::initValidPhoneNumberPatterns(); - static::$UNWANTED_END_CHAR_PATTERN = "[^" . static::DIGITS . static::VALID_ALPHA . "#]+$"; + static::$UNWANTED_END_CHAR_PATTERN = '[^' . static::DIGITS . static::VALID_ALPHA . '#]+$'; static::initMobileTokenMappings(); @@ -427,17 +427,23 @@ class PhoneNumberUtil protected function init() { + $supportedRegions = array(array()); + foreach ($this->countryCallingCodeToRegionCodeMap as $countryCode => $regionCodes) { // We can assume that if the country calling code maps to the non-geo entity region code then // that's the only region code it maps to. - if (count($regionCodes) == 1 && static::REGION_CODE_FOR_NON_GEO_ENTITY === $regionCodes[0]) { + if (count($regionCodes) === 1 && static::REGION_CODE_FOR_NON_GEO_ENTITY === $regionCodes[0]) { // This is the subset of all country codes that map to the non-geo entity region code. $this->countryCodesForNonGeographicalRegion[] = $countryCode; } else { // The supported regions set does not include the "001" non-geo entity region code. - $this->supportedRegions = array_merge($this->supportedRegions, $regionCodes); + $supportedRegions[] = $regionCodes; } } + + $this->supportedRegions = call_user_func_array('array_merge', $supportedRegions); + + // If the non-geo entity still got added to the set of supported regions it must be because // there are entries that list the non-geo entity alongside normal regions (which is wrong). // If we discover this, remove the non-geo entity from the set of supported regions and log. @@ -453,7 +459,7 @@ class PhoneNumberUtil */ public static function initCapturingExtnDigits() { - static::$CAPTURING_EXTN_DIGITS = "(" . static::DIGITS . "{1,7})"; + static::$CAPTURING_EXTN_DIGITS = '(' . static::DIGITS . '{1,7})'; } /** @@ -466,7 +472,7 @@ class PhoneNumberUtil // For parsing, we are slightly more lenient in our interpretation than for matching. Here we // allow "comma" and "semicolon" as possible extension indicators. When matching, these are // hardly ever used to indicate this. - $singleExtnSymbolsForParsing = ",;" . $singleExtnSymbolsForMatching; + $singleExtnSymbolsForParsing = ',;' . $singleExtnSymbolsForMatching; static::$EXTN_PATTERNS_FOR_PARSING = static::createExtnPattern($singleExtnSymbolsForParsing); static::$EXTN_PATTERNS_FOR_MATCHING = static::createExtnPattern($singleExtnSymbolsForMatching); @@ -490,25 +496,25 @@ class PhoneNumberUtil // Canonical-equivalence doesn't seem to be an option with Android java, so we allow two options // for representing the accented o - the character itself, and one in the unicode decomposed // form with the combining acute accent. - return (static::RFC3966_EXTN_PREFIX . static::$CAPTURING_EXTN_DIGITS . "|" . "[ \xC2\xA0\\t,]*" . + return (static::RFC3966_EXTN_PREFIX . static::$CAPTURING_EXTN_DIGITS . '|' . "[ \xC2\xA0\\t,]*" . "(?:e?xt(?:ensi(?:o\xCC\x81?|\xC3\xB3))?n?|(?:\xEF\xBD\x85)?\xEF\xBD\x98\xEF\xBD\x94(?:\xEF\xBD\x8E)?|" . - "доб|" . "[" . $singleExtnSymbols . "]|int|\xEF\xBD\x89\xEF\xBD\x8E\xEF\xBD\x94|anexo)" . + 'доб|' . '[' . $singleExtnSymbols . "]|int|\xEF\xBD\x89\xEF\xBD\x8E\xEF\xBD\x94|anexo)" . "[:\\.\xEF\xBC\x8E]?[ \xC2\xA0\\t,-]*" . static::$CAPTURING_EXTN_DIGITS . "\\#?|" . - "[- ]+(" . static::DIGITS . "{1,5})\\#"); + '[- ]+(' . static::DIGITS . "{1,5})\\#"); } protected static function initExtnPattern() { - static::$EXTN_PATTERN = "/(?:" . static::$EXTN_PATTERNS_FOR_PARSING . ")$/" . static::REGEX_FLAGS; + static::$EXTN_PATTERN = '/(?:' . static::$EXTN_PATTERNS_FOR_PARSING . ')$/' . static::REGEX_FLAGS; } protected static function initValidPhoneNumberPatterns() { static::initCapturingExtnDigits(); static::initExtnPatterns(); - static::$MIN_LENGTH_PHONE_NUMBER_PATTERN = "[" . static::DIGITS . "]{" . static::MIN_LENGTH_FOR_NSN . "}"; - static::$VALID_PHONE_NUMBER = "[" . static::PLUS_CHARS . "]*(?:[" . static::VALID_PUNCTUATION . static::STAR_SIGN . "]*[" . static::DIGITS . "]){3,}[" . static::VALID_PUNCTUATION . static::STAR_SIGN . static::VALID_ALPHA . static::DIGITS . "]*"; - static::$VALID_PHONE_NUMBER_PATTERN = "%^" . static::$MIN_LENGTH_PHONE_NUMBER_PATTERN . "$|^" . static::$VALID_PHONE_NUMBER . "(?:" . static::$EXTN_PATTERNS_FOR_PARSING . ")?$%" . static::REGEX_FLAGS; + static::$MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' . static::DIGITS . ']{' . static::MIN_LENGTH_FOR_NSN . '}'; + static::$VALID_PHONE_NUMBER = '[' . static::PLUS_CHARS . ']*(?:[' . static::VALID_PUNCTUATION . static::STAR_SIGN . ']*[' . static::DIGITS . ']){3,}[' . static::VALID_PUNCTUATION . static::STAR_SIGN . static::VALID_ALPHA . static::DIGITS . ']*'; + static::$VALID_PHONE_NUMBER_PATTERN = '%^' . static::$MIN_LENGTH_PHONE_NUMBER_PATTERN . '$|^' . static::$VALID_PHONE_NUMBER . '(?:' . static::$EXTN_PATTERNS_FOR_PARSING . ')?$%' . static::REGEX_FLAGS; } protected static function initAlphaPhoneMappings() @@ -518,14 +524,14 @@ class PhoneNumberUtil protected static function initValidStartCharPattern() { - static::$VALID_START_CHAR_PATTERN = "[" . static::PLUS_CHARS . static::DIGITS . "]"; + static::$VALID_START_CHAR_PATTERN = '[' . static::PLUS_CHARS . static::DIGITS . ']'; } protected static function initMobileTokenMappings() { static::$MOBILE_TOKEN_MAPPINGS = array(); - static::$MOBILE_TOKEN_MAPPINGS['52'] = "1"; - static::$MOBILE_TOKEN_MAPPINGS['54'] = "9"; + static::$MOBILE_TOKEN_MAPPINGS['52'] = '1'; + static::$MOBILE_TOKEN_MAPPINGS['54'] = '9'; } protected static function initDiallableCharMappings() @@ -573,16 +579,14 @@ class PhoneNumberUtil */ protected static function normalizeHelper($number, array $normalizationReplacements, $removeNonMatches) { - $normalizedNumber = ""; + $normalizedNumber = ''; $strLength = mb_strlen($number, 'UTF-8'); for ($i = 0; $i < $strLength; $i++) { $character = mb_substr($number, $i, 1, 'UTF-8'); if (isset($normalizationReplacements[mb_strtoupper($character, 'UTF-8')])) { $normalizedNumber .= $normalizationReplacements[mb_strtoupper($character, 'UTF-8')]; - } else { - if (!$removeNonMatches) { - $normalizedNumber .= $character; - } + } elseif (!$removeNonMatches) { + $normalizedNumber .= $character; } // If neither of the above are true, we remove this character. } @@ -687,7 +691,7 @@ class PhoneNumberUtil continue; } - if ($this->descHasData($this->getNumberDescByType($metadata, $type))) { + if (self::descHasData($this->getNumberDescByType($metadata, $type))) { $types[] = $type; } } @@ -845,9 +849,9 @@ class PhoneNumberUtil $regions = $this->countryCallingCodeToRegionCodeMap[$countryCode]; if (count($regions) == 1) { return $regions[0]; - } else { - return $this->getRegionCodeForNumberFromRegionList($number, $regions); } + + return $this->getRegionCodeForNumberFromRegionList($number, $regions); } /** @@ -938,7 +942,9 @@ class PhoneNumberUtil if ($isFixedLine) { if ($metadata->getSameMobileAndFixedLinePattern()) { return PhoneNumberType::FIXED_LINE_OR_MOBILE; - } elseif ($this->isNumberMatchingDesc($nationalNumber, $metadata->getMobile())) { + } + + if ($this->isNumberMatchingDesc($nationalNumber, $metadata->getMobile())) { return PhoneNumberType::FIXED_LINE_OR_MOBILE; } return PhoneNumberType::FIXED_LINE; @@ -1101,7 +1107,7 @@ class PhoneNumberUtil // separately from the rest of the phone number. $mobileToken = static::getCountryMobileToken($number->getCountryCode()); - if ($mobileToken !== "") { + if ($mobileToken !== '') { return mb_strlen($numberGroups[2]) + mb_strlen($numberGroups[3]); } } @@ -1136,7 +1142,7 @@ class PhoneNumberUtil } } - $formattedNumber = ""; + $formattedNumber = ''; $countryCallingCode = $number->getCountryCode(); $nationalSignificantNumber = $this->getNationalSignificantNumber($number); @@ -1179,10 +1185,10 @@ class PhoneNumberUtil $formattedNumber = static::PLUS_SIGN . $countryCallingCode . $formattedNumber; return; case PhoneNumberFormat::INTERNATIONAL: - $formattedNumber = static::PLUS_SIGN . $countryCallingCode . " " . $formattedNumber; + $formattedNumber = static::PLUS_SIGN . $countryCallingCode . ' ' . $formattedNumber; return; case PhoneNumberFormat::RFC3966: - $formattedNumber = static::RFC3966_PREFIX . static::PLUS_SIGN . $countryCallingCode . "-" . $formattedNumber; + $formattedNumber = static::RFC3966_PREFIX . static::PLUS_SIGN . $countryCallingCode . '-' . $formattedNumber; return; case PhoneNumberFormat::NATIONAL: default: @@ -1317,10 +1323,10 @@ class PhoneNumberUtil // Strip any leading punctuation. $matcher = new Matcher(static::$SEPARATOR_PATTERN, $formattedNationalNumber); if ($matcher->lookingAt()) { - $formattedNationalNumber = $matcher->replaceFirst(""); + $formattedNationalNumber = $matcher->replaceFirst(''); } // Replace the rest with a dash between each number group. - $formattedNationalNumber = $matcher->reset($formattedNationalNumber)->replaceAll("-"); + $formattedNationalNumber = $matcher->reset($formattedNationalNumber)->replaceAll('-'); } return $formattedNationalNumber; } @@ -1339,12 +1345,10 @@ class PhoneNumberUtil if ($number->hasExtension() && mb_strlen($number->getExtension()) > 0) { if ($numberFormat === PhoneNumberFormat::RFC3966) { $formattedNumber .= static::RFC3966_EXTN_PREFIX . $number->getExtension(); + } elseif (!empty($metadata) && $metadata->hasPreferredExtnPrefix()) { + $formattedNumber .= $metadata->getPreferredExtnPrefix() . $number->getExtension(); } else { - if (!empty($metadata) && $metadata->hasPreferredExtnPrefix()) { - $formattedNumber .= $metadata->getPreferredExtnPrefix() . $number->getExtension(); - } else { - $formattedNumber .= static::DEFAULT_EXTN_PREFIX . $number->getExtension(); - } + $formattedNumber .= static::DEFAULT_EXTN_PREFIX . $number->getExtension(); } } } @@ -1366,7 +1370,7 @@ class PhoneNumberUtil if (array_key_exists($countryCallingCode, static::$MOBILE_TOKEN_MAPPINGS)) { return static::$MOBILE_TOKEN_MAPPINGS[$countryCallingCode]; } - return ""; + return ''; } /** @@ -1442,7 +1446,7 @@ class PhoneNumberUtil // The numbers are captured into groups in the regular expression. for ($i = 1, $length = count($matches); $i <= $length; $i++) { - if ($matches[$i][0] != "") { + if ($matches[$i][0] != '') { // We go through the capturing groups until we find one that captured some digits. If none // did, then we will return the empty string. $extension = $matches[$i][0]; @@ -1451,7 +1455,7 @@ class PhoneNumberUtil } } } - return ""; + return ''; } /** @@ -1545,7 +1549,7 @@ class PhoneNumberUtil protected function parseHelper($numberToParse, $defaultRegion, $keepRawInput, $checkRegion, PhoneNumber $phoneNumber) { if ($numberToParse === null) { - throw new NumberParseException(NumberParseException::NOT_A_NUMBER, "The phone number supplied was null."); + throw new NumberParseException(NumberParseException::NOT_A_NUMBER, 'The phone number supplied was null.'); } $numberToParse = trim($numberToParse); @@ -1553,7 +1557,7 @@ class PhoneNumberUtil if (mb_strlen($numberToParse) > static::MAX_INPUT_STRING_LENGTH) { throw new NumberParseException( NumberParseException::TOO_LONG, - "The string supplied was too long to parse." + 'The string supplied was too long to parse.' ); } @@ -1563,7 +1567,7 @@ class PhoneNumberUtil if (!static::isViablePhoneNumber($nationalNumber)) { throw new NumberParseException( NumberParseException::NOT_A_NUMBER, - "The string supplied did not seem to be a phone number." + 'The string supplied did not seem to be a phone number.' ); } @@ -1572,7 +1576,7 @@ class PhoneNumberUtil if ($checkRegion && !$this->checkRegionForParsing($nationalNumber, $defaultRegion)) { throw new NumberParseException( NumberParseException::INVALID_COUNTRY_CODE, - "Missing or invalid default region." + 'Missing or invalid default region.' ); } @@ -1589,7 +1593,7 @@ class PhoneNumberUtil $regionMetadata = $this->getMetadataForRegion($defaultRegion); // Check to see if the number is given in international format so we know whether this number is // from the default region or not. - $normalizedNationalNumber = ""; + $normalizedNationalNumber = ''; try { // TODO: This method should really just take in the string buffer that has already // been created, and just remove the prefix, rather than taking in a string and then @@ -1615,7 +1619,7 @@ class PhoneNumberUtil if ($countryCode == 0) { throw new NumberParseException( NumberParseException::INVALID_COUNTRY_CODE, - "Could not interpret numbers after plus-sign." + 'Could not interpret numbers after plus-sign.' ); } } else { @@ -1643,11 +1647,11 @@ class PhoneNumberUtil if (mb_strlen($normalizedNationalNumber) < static::MIN_LENGTH_FOR_NSN) { throw new NumberParseException( NumberParseException::TOO_SHORT_NSN, - "The string supplied is too short to be a phone number." + 'The string supplied is too short to be a phone number.' ); } if ($regionMetadata !== null) { - $carrierCode = ""; + $carrierCode = ''; $potentialNationalNumber = $normalizedNationalNumber; $this->maybeStripNationalPrefixAndCarrierCode($potentialNationalNumber, $regionMetadata, $carrierCode); // We require that the NSN remaining after stripping the national prefix and carrier code be @@ -1667,13 +1671,13 @@ class PhoneNumberUtil if ($lengthOfNationalNumber < static::MIN_LENGTH_FOR_NSN) { throw new NumberParseException( NumberParseException::TOO_SHORT_NSN, - "The string supplied is too short to be a phone number." + 'The string supplied is too short to be a phone number.' ); } if ($lengthOfNationalNumber > static::MAX_LENGTH_FOR_NSN) { throw new NumberParseException( NumberParseException::TOO_LONG, - "The string supplied is too long to be a phone number." + 'The string supplied is too long to be a phone number.' ); } static::setItalianLeadingZerosForPhoneNumber($normalizedNationalNumber, $phoneNumber); @@ -1687,7 +1691,7 @@ class PhoneNumberUtil * We have to remove the leading zeroes ourself though */ if ((int)$normalizedNationalNumber == 0) { - $normalizedNationalNumber = "0"; + $normalizedNationalNumber = '0'; } else { $normalizedNationalNumber = ltrim($normalizedNationalNumber, '0'); } @@ -1752,7 +1756,8 @@ class PhoneNumberUtil $indexOfRfc3966Prefix = strpos($numberToParse, static::RFC3966_PREFIX); $indexOfNationalNumber = ($indexOfRfc3966Prefix !== false) ? $indexOfRfc3966Prefix + strlen(static::RFC3966_PREFIX) : 0; - $nationalNumber .= substr($numberToParse, $indexOfNationalNumber, ($indexOfPhoneContext - $indexOfNationalNumber)); + $nationalNumber .= substr($numberToParse, $indexOfNationalNumber, + $indexOfPhoneContext - $indexOfNationalNumber); } else { // Extract a possible number from the string passed in (this strips leading characters that // could not be the start of a phone number.) @@ -1809,9 +1814,9 @@ class PhoneNumberUtil } return $number; - } else { - return ""; } + + return ''; } /** @@ -1878,7 +1883,7 @@ class PhoneNumberUtil } $fullNumber = $number; // Set the default prefix to be something that will never match. - $possibleCountryIddPrefix = "NonMatch"; + $possibleCountryIddPrefix = 'NonMatch'; if ($defaultRegionMetadata !== null) { $possibleCountryIddPrefix = $defaultRegionMetadata->getInternationalPrefix(); } @@ -1891,7 +1896,7 @@ class PhoneNumberUtil if (mb_strlen($fullNumber) <= static::MIN_LENGTH_FOR_NSN) { throw new NumberParseException( NumberParseException::TOO_SHORT_AFTER_IDD, - "Phone number had an IDD, but after this was not long enough to be a viable phone number." + 'Phone number had an IDD, but after this was not long enough to be a viable phone number.' ); } $potentialCountryCode = $this->extractCountryCode($fullNumber, $nationalNumber); @@ -1905,15 +1910,17 @@ class PhoneNumberUtil // or that doesn't exist. throw new NumberParseException( NumberParseException::INVALID_COUNTRY_CODE, - "Country calling code supplied was not recognised." + 'Country calling code supplied was not recognised.' ); - } elseif ($defaultRegionMetadata !== null) { + } + + if ($defaultRegionMetadata !== null) { // Check to see if the number starts with the country calling code for the default region. If // so, we remove the country calling code, and do some checks on the validity of the number // before and after. $defaultCountryCode = $defaultRegionMetadata->getCountryCode(); $defaultCountryCodeString = (string)$defaultCountryCode; - $normalizedNumber = (string)$fullNumber; + $normalizedNumber = $fullNumber; if (strpos($normalizedNumber, $defaultCountryCodeString) === 0) { $potentialNationalNumber = substr($normalizedNumber, mb_strlen($defaultCountryCodeString)); $generalDesc = $defaultRegionMetadata->getGeneralDesc(); @@ -2005,9 +2012,9 @@ class PhoneNumberUtil $m = new Matcher(static::VALID_ALPHA_PHONE_PATTERN, $number); if ($m->matches()) { return static::normalizeHelper($number, static::$ALPHA_PHONE_MAPPINGS, true); - } else { - return static::normalizeDigitsOnly($number); } + + return static::normalizeDigitsOnly($number); } /** @@ -2029,7 +2036,7 @@ class PhoneNumberUtil */ public static function normalizeDigits($number, $keepNonDigits) { - $normalizedDigits = ""; + $normalizedDigits = ''; $numberAsArray = preg_split('/(?find()) { $normalizedGroup = static::normalizeDigitsOnly($digitMatcher->group(1)); - if ($normalizedGroup == "0") { + if ($normalizedGroup == '0') { return false; } } @@ -2142,26 +2149,26 @@ class PhoneNumberUtil $number = substr($number, $prefixMatcher->end()); return true; - } else { - // Check that the resultant number is still viable. If not, return. Check this by copying - // the string and making the transformation on the copy first. - $transformedNumber = $number; - $transformedNumber = substr_replace( - $transformedNumber, - $prefixMatcher->replaceFirst($transformRule), - 0, - $numberLength - ); - if ($isViableOriginalNumber - && !$this->matcherAPI->matchNationalNumber($transformedNumber, $generalDesc, false)) { - return false; - } - if ($carrierCode !== null && $numOfGroups > 1) { - $carrierCode .= $prefixMatcher->group(1); - } - $number = substr_replace($number, $transformedNumber, 0, mb_strlen($number)); - return true; } + + // Check that the resultant number is still viable. If not, return. Check this by copying + // the string and making the transformation on the copy first. + $transformedNumber = $number; + $transformedNumber = substr_replace( + $transformedNumber, + $prefixMatcher->replaceFirst($transformRule), + 0, + $numberLength + ); + if ($isViableOriginalNumber + && !$this->matcherAPI->matchNationalNumber($transformedNumber, $generalDesc, false)) { + return false; + } + if ($carrierCode !== null && $numOfGroups > 1) { + $carrierCode .= $prefixMatcher->group(1); + } + $number = substr_replace($number, $transformedNumber, 0, mb_strlen($number)); + return true; } return false; } @@ -2213,26 +2220,26 @@ class PhoneNumberUtil // The rate case has been encountered where no fixedLine data is available (true for some // non-geographical entities), so we just check mobile. return $this->testNumberLength($number, $metadata, PhoneNumberType::MOBILE); - } else { - $mobileDesc = $this->getNumberDescByType($metadata, PhoneNumberType::MOBILE); - if (static::descHasPossibleNumberData($mobileDesc)) { - // Note that when adding the possible lengths from mobile, we have to again check they - // aren't empty since if they are this indicates they are the same as the general desc and - // should be obtained from there. - $possibleLengths = array_merge($possibleLengths, - (count($mobileDesc->getPossibleLength()) === 0) - ? $metadata->getGeneralDesc()->getPossibleLength() : $mobileDesc->getPossibleLength()); + } - // The current list is sorted; we need to merge in the new list and re-sort (duplicates - // are okay). Sorting isn't so expensive because the lists are very small. - sort($possibleLengths); + $mobileDesc = $this->getNumberDescByType($metadata, PhoneNumberType::MOBILE); + if (static::descHasPossibleNumberData($mobileDesc)) { + // Note that when adding the possible lengths from mobile, we have to again check they + // aren't empty since if they are this indicates they are the same as the general desc and + // should be obtained from there. + $possibleLengths = array_merge($possibleLengths, + (count($mobileDesc->getPossibleLength()) === 0) + ? $metadata->getGeneralDesc()->getPossibleLength() : $mobileDesc->getPossibleLength()); - if (count($localLengths) === 0) { - $localLengths = $mobileDesc->getPossibleLengthLocalOnly(); - } else { - $localLengths = array_merge($localLengths, $mobileDesc->getPossibleLengthLocalOnly()); - sort($localLengths); - } + // The current list is sorted; we need to merge in the new list and re-sort (duplicates + // are okay). Sorting isn't so expensive because the lists are very small. + sort($possibleLengths); + + if (count($localLengths) === 0) { + $localLengths = $mobileDesc->getPossibleLengthLocalOnly(); + } else { + $localLengths = array_merge($localLengths, $mobileDesc->getPossibleLengthLocalOnly()); + sort($localLengths); } } } @@ -2257,7 +2264,9 @@ class PhoneNumberUtil $minimumLength = reset($possibleLengths); if ($minimumLength == $actualLength) { return ValidationResult::IS_POSSIBLE; - } elseif ($minimumLength > $actualLength) { + } + + if ($minimumLength > $actualLength) { return ValidationResult::TOO_SHORT; } elseif (isset($possibleLengths[count($possibleLengths) - 1]) && $possibleLengths[count($possibleLengths) - 1] < $actualLength) { return ValidationResult::TOO_LONG; @@ -2308,7 +2317,7 @@ class PhoneNumberUtil { $metadata = $this->getMetadataForRegion($regionCode); if ($metadata === null) { - throw new \InvalidArgumentException("Invalid region code: " . $regionCode); + throw new \InvalidArgumentException('Invalid region code: ' . $regionCode); } return $metadata->getCountryCode(); } @@ -2329,10 +2338,10 @@ class PhoneNumberUtil { $countryCallingCode = $number->getCountryCode(); if (!$this->hasValidCountryCallingCode($countryCallingCode)) { - return $number->hasRawInput() ? $number->getRawInput() : ""; + return $number->hasRawInput() ? $number->getRawInput() : ''; } - $formattedNumber = ""; + $formattedNumber = ''; // Clear the extension, as that part cannot normally be dialed together with the main number. $numberNoExt = new PhoneNumber(); $numberNoExt->mergeFrom($number)->clearExtension(); @@ -2342,22 +2351,22 @@ class PhoneNumberUtil if ($regionCallingFrom == $regionCode) { $isFixedLineOrMobile = ($numberType == PhoneNumberType::FIXED_LINE) || ($numberType == PhoneNumberType::MOBILE) || ($numberType == PhoneNumberType::FIXED_LINE_OR_MOBILE); // Carrier codes may be needed in some countries. We handle this here. - if ($regionCode == "CO" && $numberType == PhoneNumberType::FIXED_LINE) { + if ($regionCode == 'CO' && $numberType == PhoneNumberType::FIXED_LINE) { $formattedNumber = $this->formatNationalNumberWithCarrierCode( $numberNoExt, static::COLOMBIA_MOBILE_TO_FIXED_LINE_PREFIX ); - } elseif ($regionCode == "BR" && $isFixedLineOrMobile) { + } elseif ($regionCode == 'BR' && $isFixedLineOrMobile) { // Historically, we set this to an empty string when parsing with raw input if none was // found in the input string. However, this doesn't result in a number we can dial. For this // reason, we treat the empty string the same as if it isn't set at all. $formattedNumber = mb_strlen($numberNoExt->getPreferredDomesticCarrierCode()) > 0 - ? $this->formatNationalNumberWithPreferredCarrierCode($numberNoExt, "") + ? $this->formatNationalNumberWithPreferredCarrierCode($numberNoExt, '') // Brazilian fixed line and mobile numbers need to be dialed with a carrier code when // called within Brazil. Without that, most of the carriers won't connect the call. // Because of that, we return an empty string here. - : ""; - } elseif ($isValidNumber && $regionCode == "HU") { + : ''; + } elseif ($isValidNumber && $regionCode == 'HU') { // The national format for HU numbers doesn't contain the national prefix, because that is // how numbers are normally written down. However, the national prefix is obligatory when // dialing from a mobile phone, except for short numbers. As a result, we add it back here @@ -2365,7 +2374,7 @@ class PhoneNumberUtil $formattedNumber = $this->getNddPrefixForRegion( $regionCode, true /* strip non-digits */ - ) . " " . $this->format($numberNoExt, PhoneNumberFormat::NATIONAL); + ) . ' ' . $this->format($numberNoExt, PhoneNumberFormat::NATIONAL); } elseif ($countryCallingCode === static::NANPA_COUNTRY_CODE) { // For NANPA countries, we output international format for numbers that can be dialed // internationally, since that always works, except for numbers which might potentially be @@ -2379,29 +2388,24 @@ class PhoneNumberUtil } else { $formattedNumber = $this->format($numberNoExt, PhoneNumberFormat::NATIONAL); } + } elseif (($regionCode == static::REGION_CODE_FOR_NON_GEO_ENTITY || + // MX fixed line and mobile numbers should always be formatted in international format, + // even when dialed within MX. For national format to work, a carrier code needs to be + // used, and the correct carrier code depends on if the caller and callee are from the + // same local area. It is trickier to get that to work correctly than using + // international format, which is tested to work fine on all carriers. + // CL fixed line numbers need the national prefix when dialing in the national format, + // but don't have it when used for display. The reverse is true for mobile numbers. + // As a result, we output them in the international format to make it work. + ( + ($regionCode === 'MX' || $regionCode === 'CL' || $regionCode === 'UZ') + && $isFixedLineOrMobile + ) + ) && $this->canBeInternationallyDialled($numberNoExt) + ) { + $formattedNumber = $this->format($numberNoExt, PhoneNumberFormat::INTERNATIONAL); } else { - // For non-geographical countries andMexican, Chilean and Uzbek fixed line and mobile - // numbers, we output international format for numbers that can be dialed internationally as - // that always works. - if (($regionCode == static::REGION_CODE_FOR_NON_GEO_ENTITY || - // MX fixed line and mobile numbers should always be formatted in international format, - // even when dialed within MX. For national format to work, a carrier code needs to be - // used, and the correct carrier code depends on if the caller and callee are from the - // same local area. It is trickier to get that to work correctly than using - // international format, which is tested to work fine on all carriers. - // CL fixed line numbers need the national prefix when dialing in the national format, - // but don't have it when used for display. The reverse is true for mobile numbers. - // As a result, we output them in the international format to make it work. - ( - ($regionCode == 'MX' || $regionCode == 'CL' || $regionCode == 'UZ') - && $isFixedLineOrMobile - ) - ) && $this->canBeInternationallyDialled($numberNoExt) - ) { - $formattedNumber = $this->format($numberNoExt, PhoneNumberFormat::INTERNATIONAL); - } else { - $formattedNumber = $this->format($numberNoExt, PhoneNumberFormat::NATIONAL); - } + $formattedNumber = $this->format($numberNoExt, PhoneNumberFormat::NATIONAL); } } elseif ($isValidNumber && $this->canBeInternationallyDialled($numberNoExt)) { // We assume that short numbers are not diallable from outside their region, so if a number @@ -2562,7 +2566,7 @@ class PhoneNumberUtil // the number in raw_input with the parsed number. // To do this, first we normalize punctuation. We retain number grouping symbols such as " " // only. - $rawInput = $this->normalizeHelper($rawInput, static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS, true); + $rawInput = self::normalizeHelper($rawInput, static::$ALL_PLUS_NUMBER_GROUPING_SYMBOLS, true); // Now we trim everything before the first three digits in the parsed number. We choose three // because all valid alpha numbers have 3 digits at the start - if it does not, then we don't // trim anything at all. Similarly, if the national number was less than three digits, we don't @@ -2577,7 +2581,7 @@ class PhoneNumberUtil $metadataForRegionCallingFrom = $this->getMetadataForRegion($regionCallingFrom); if ($countryCode == static::NANPA_COUNTRY_CODE) { if ($this->isNANPACountry($regionCallingFrom)) { - return $countryCode . " " . $rawInput; + return $countryCode . ' ' . $rawInput; } } elseif ($metadataForRegionCallingFrom !== null && $countryCode == $this->getCountryCodeForValidRegion($regionCallingFrom) @@ -2596,7 +2600,7 @@ class PhoneNumberUtil // The first group is the first group of digits that the user wrote together. $newFormat->setPattern("(\\d+)(.*)"); // Here we just concatenate them back together after the national prefix has been fixed. - $newFormat->setFormat("$1$2"); + $newFormat->setFormat('$1$2'); // Now we format using this pattern instead of the default pattern, but with the national // prefix prefixed if necessary. // This will not work in the cases where the pattern (and not the leading digits) decide @@ -2604,7 +2608,7 @@ class PhoneNumberUtil // anything, but that is not the case in the metadata to date. return $this->formatNsnUsingPattern($rawInput, $newFormat, PhoneNumberFormat::NATIONAL); } - $internationalPrefixForFormatting = ""; + $internationalPrefixForFormatting = ''; // If an unsupported region-calling-from is entered, or a country with multiple international // prefixes, the international format of the number is returned, unless there is a preferred // international prefix. @@ -2627,7 +2631,7 @@ class PhoneNumberUtil $formattedNumber ); if (mb_strlen($internationalPrefixForFormatting) > 0) { - $formattedNumber = $internationalPrefixForFormatting . " " . $countryCode . " " . $formattedNumber; + $formattedNumber = $internationalPrefixForFormatting . ' ' . $countryCode . ' ' . $formattedNumber; } else { // Invalid region entered as country-calling-from (so no metadata was found for it) or the // region chosen has multiple international dialling prefixes. @@ -2671,7 +2675,7 @@ class PhoneNumberUtil if ($this->isNANPACountry($regionCallingFrom)) { // For NANPA regions, return the national format for these regions but prefix it with the // country calling code. - return $countryCallingCode . " " . $this->format($number, PhoneNumberFormat::NATIONAL); + return $countryCallingCode . ' ' . $this->format($number, PhoneNumberFormat::NATIONAL); } } elseif ($countryCallingCode == $this->getCountryCodeForValidRegion($regionCallingFrom)) { // If regions share a country calling code, the country calling code need not be dialled. @@ -2689,7 +2693,7 @@ class PhoneNumberUtil // For regions that have multiple international prefixes, the international format of the // number is returned, unless there is a preferred international prefix. - $internationalPrefixForFormatting = ""; + $internationalPrefixForFormatting = ''; $uniqueInternationalPrefixMatcher = new Matcher(static::SINGLE_INTERNATIONAL_PREFIX, $internationalPrefix); if ($uniqueInternationalPrefixMatcher->matches()) { @@ -2714,7 +2718,7 @@ class PhoneNumberUtil $formattedNumber ); if (mb_strlen($internationalPrefixForFormatting) > 0) { - $formattedNumber = $internationalPrefixForFormatting . " " . $countryCallingCode . " " . $formattedNumber; + $formattedNumber = $internationalPrefixForFormatting . ' ' . $countryCallingCode . ' ' . $formattedNumber; } else { $this->prefixNumberWithCountryCallingCode( $countryCallingCode, @@ -2892,7 +2896,7 @@ class PhoneNumberUtil if ($stripNonDigits) { // Note: if any other non-numeric symbols are ever used in national prefixes, these would have // to be removed here as well. - $nationalPrefix = str_replace("~", "", $nationalPrefix); + $nationalPrefix = str_replace('~', '', $nationalPrefix); } return $nationalPrefix; } @@ -3043,7 +3047,7 @@ class PhoneNumberUtil // Metadata cannot be null because the country calling code is valid $metadata = $this->getMetadataForRegionOrCallingCode($countryCallingCode, $regionCode); - $formattedNumber = ""; + $formattedNumber = ''; $formattingPattern = $this->chooseFormattingPatternForNumber($userDefinedFormats, $nationalSignificantNumber); if ($formattingPattern === null) { @@ -3060,8 +3064,8 @@ class PhoneNumberUtil $nationalPrefix = $metadata->getNationalPrefix(); if (mb_strlen($nationalPrefix) > 0) { // Replace $NP with national prefix and $FG with the first group ($1). - $nationalPrefixFormattingRule = str_replace(static::NP_STRING, $nationalPrefix, $nationalPrefixFormattingRule); - $nationalPrefixFormattingRule = str_replace(static::FG_STRING, '$1', $nationalPrefixFormattingRule); + $nationalPrefixFormattingRule = str_replace(array(static::NP_STRING, static::FG_STRING), + array($nationalPrefix, '$1'), $nationalPrefixFormattingRule); $numFormatCopy->setNationalPrefixFormattingRule($nationalPrefixFormattingRule); } else { // We don't want to have a rule for how to format the national prefix if there isn't one. @@ -3177,7 +3181,7 @@ class PhoneNumberUtil $desc = $this->getNumberDescByType($this->getMetadataForNonGeographicalRegion($countryCallingCode), $regionCodeOrType); try { if ($desc->getExampleNumber() != '') { - return $this->parse("+" . $countryCallingCode . $desc->getExampleNumber(), static::UNKNOWN_REGION); + return $this->parse('+' . $countryCallingCode . $desc->getExampleNumber(), static::UNKNOWN_REGION); } } catch (NumberParseException $e) { // noop @@ -3346,13 +3350,13 @@ class PhoneNumberUtil return MatchType::NSN_MATCH; } return $match; - } else { - // If the first number didn't have a valid country calling code, then we parse the - // second number without one as well. - $secondNumberProto = new PhoneNumber(); - $this->parseHelper($secondNumberIn, null, false, false, $secondNumberProto); - return $this->isNumberMatch($firstNumberIn, $secondNumberProto); } + + // If the first number didn't have a valid country calling code, then we parse the + // second number without one as well. + $secondNumberProto = new PhoneNumber(); + $this->parseHelper($secondNumberIn, null, false, false, $secondNumberProto); + return $this->isNumberMatch($firstNumberIn, $secondNumberProto); } catch (NumberParseException $e2) { // Fall-through to return NOT_A_NUMBER. } @@ -3378,9 +3382,10 @@ class PhoneNumberUtil if ($firstNumberCountryCode != 0 && $secondNumberCountryCode != 0) { if ($firstNumber->equals($secondNumber)) { return MatchType::EXACT_MATCH; - } elseif ($firstNumberCountryCode == $secondNumberCountryCode && - $this->isNationalNumberSuffixOfTheOther($firstNumber, $secondNumber) - ) { + } + + if ($firstNumberCountryCode == $secondNumberCountryCode && + $this->isNationalNumberSuffixOfTheOther($firstNumber, $secondNumber)) { // A SHORT_NSN_MATCH occurs if there is a difference because of the presence or absence of // an 'Italian leading zero', the presence or absence of an extension, or one NSN being a // shorter variant of the other. diff --git a/vendor/giggsey/libphonenumber-for-php/src/RegexBasedMatcher.php b/vendor/giggsey/libphonenumber-for-php/src/RegexBasedMatcher.php index 06b5a026b..d6bdbc66b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/RegexBasedMatcher.php +++ b/vendor/giggsey/libphonenumber-for-php/src/RegexBasedMatcher.php @@ -49,8 +49,8 @@ class RegexBasedMatcher implements MatcherAPIInterface if (!$matcher->lookingAt()) { return false; - } else { - return ($matcher->matches()) ? true : $allowPrefixMatch; } + + return $matcher->matches() ? true : $allowPrefixMatch; } } diff --git a/vendor/giggsey/libphonenumber-for-php/src/RegionCode.php b/vendor/giggsey/libphonenumber-for-php/src/RegionCode.php index 565fc48ef..01394b0de 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/RegionCode.php +++ b/vendor/giggsey/libphonenumber-for-php/src/RegionCode.php @@ -23,43 +23,43 @@ namespace libphonenumber; class RegionCode { // Region code for global networks (e.g. +800 numbers). - const UN001 = "001"; - const AD = "AD"; - const AE = "AE"; - const AM = "AM"; - const AO = "AO"; - const AQ = "AQ"; - const AR = "AR"; - const AU = "AU"; - const BB = "BB"; - const BR = "BR"; - const BS = "BS"; - const BY = "BY"; - const CA = "CA"; - const CH = "CH"; - const CL = "CL"; - const CN = "CN"; - const CS = "CS"; - const CX = "CX"; - const DE = "DE"; - const FR = "FR"; - const GB = "GB"; - const HU = "HU"; - const IT = "IT"; - const JP = "JP"; - const KR = "KR"; - const MX = "MX"; - const NZ = "NZ"; - const PG = "PG"; - const PL = "PL"; - const RE = "RE"; - const RU = "RU"; - const SE = "SE"; - const SG = "SG"; - const US = "US"; + const UN001 = '001'; + const AD = 'AD'; + const AE = 'AE'; + const AM = 'AM'; + const AO = 'AO'; + const AQ = 'AQ'; + const AR = 'AR'; + const AU = 'AU'; + const BB = 'BB'; + const BR = 'BR'; + const BS = 'BS'; + const BY = 'BY'; + const CA = 'CA'; + const CH = 'CH'; + const CL = 'CL'; + const CN = 'CN'; + const CS = 'CS'; + const CX = 'CX'; + const DE = 'DE'; + const FR = 'FR'; + const GB = 'GB'; + const HU = 'HU'; + const IT = 'IT'; + const JP = 'JP'; + const KR = 'KR'; + const MX = 'MX'; + const NZ = 'NZ'; + const PG = 'PG'; + const PL = 'PL'; + const RE = 'RE'; + const RU = 'RU'; + const SE = 'SE'; + const SG = 'SG'; + const US = 'US'; const UZ = 'UZ'; - const YT = "YT"; - const ZW = "ZW"; + const YT = 'YT'; + const ZW = 'ZW'; // Official code for the unknown region. - const ZZ = "ZZ"; + const ZZ = 'ZZ'; } diff --git a/vendor/giggsey/libphonenumber-for-php/src/ShortNumberInfo.php b/vendor/giggsey/libphonenumber-for-php/src/ShortNumberInfo.php index 7a9b3dbed..3c2c1a26b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/ShortNumberInfo.php +++ b/vendor/giggsey/libphonenumber-for-php/src/ShortNumberInfo.php @@ -17,7 +17,7 @@ class ShortNumberInfo /** * @var ShortNumberInfo */ - protected static $instance = null; + protected static $instance; /** * @var MatcherAPIInterface */ @@ -113,7 +113,7 @@ class ShortNumberInfo { $phoneMetadata = $this->getMetadataForRegion($regionCode); if ($phoneMetadata === null) { - return ""; + return ''; } /** @var PhoneNumberDesc $desc */ @@ -121,7 +121,7 @@ class ShortNumberInfo if ($desc !== null && $desc->hasExampleNumber()) { return $desc->getExampleNumber(); } - return ""; + return ''; } /** @@ -175,7 +175,7 @@ class ShortNumberInfo { $phoneMetadata = $this->getMetadataForRegion($regionCode); if ($phoneMetadata === null) { - return ""; + return ''; } /** @var PhoneNumberDesc $desc */ @@ -199,7 +199,7 @@ class ShortNumberInfo return $desc->getExampleNumber(); } - return ""; + return ''; } /** @@ -271,10 +271,10 @@ class ShortNumberInfo $nationalNumber = $this->getNationalSignificantNumber($number); $phoneMetadata = $this->getMetadataForRegion($regionCode); - return ($phoneMetadata !== null) && ($this->matchesPossibleNumberAndNationalNumber( + return ($phoneMetadata !== null) && $this->matchesPossibleNumberAndNationalNumber( $nationalNumber, $phoneMetadata->getCarrierSpecific() - )); + ); } /** @@ -299,7 +299,7 @@ class ShortNumberInfo $phoneMetadata = $this->getMetadataForRegion($regionDialingFrom); return ($phoneMetadata !== null) - && ($this->matchesPossibleNumberAndNationalNumber($nationalNumber, $phoneMetadata->getCarrierSpecific())); + && $this->matchesPossibleNumberAndNationalNumber($nationalNumber, $phoneMetadata->getCarrierSpecific()); } /** @@ -343,7 +343,9 @@ class ShortNumberInfo { if (count($regionCodes) == 0) { return null; - } elseif (count($regionCodes) == 1) { + } + + if (count($regionCodes) == 1) { return $regionCodes[0]; } diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/Map.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/Map.php index 0121b5cb0..665ea9afb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/Map.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/Map.php @@ -213,6 +213,10 @@ return array ( 1 => 375, 2 => 7, ), + 'uk' => + array ( + 0 => 380, + ), 'zh' => array ( 0 => 852, diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/1.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/1.php index ad6fe5db3..14d9f2159 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/1.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/1.php @@ -16,40 +16,10 @@ return array ( 1242375 => 'BaTelCo', 1242376 => 'BaTelCo', 1242395 => 'BaTelCo', - 1242421 => 'BaTelCo', - 1242422 => 'BaTelCo', - 1242423 => 'BaTelCo', - 1242424 => 'BaTelCo', - 1242425 => 'BaTelCo', - 1242426 => 'BaTelCo', - 1242427 => 'BaTelCo', - 1242428 => 'BaTelCo', - 1242429 => 'BaTelCo', - 1242431 => 'BaTelCo', - 1242432 => 'BaTelCo', - 1242433 => 'BaTelCo', - 1242434 => 'BaTelCo', - 1242435 => 'BaTelCo', - 1242436 => 'BaTelCo', - 1242437 => 'BaTelCo', - 1242438 => 'BaTelCo', - 1242439 => 'BaTelCo', - 1242441 => 'BaTelCo', - 1242442 => 'BaTelCo', - 1242443 => 'BaTelCo', - 1242445 => 'BaTelCo', - 1242446 => 'BaTelCo', - 1242447 => 'BaTelCo', - 1242448 => 'BaTelCo', - 1242449 => 'BaTelCo', - 1242451 => 'BaTelCo', - 1242452 => 'BaTelCo', - 1242453 => 'BaTelCo', - 1242454 => 'BaTelCo', - 1242455 => 'BaTelCo', - 1242456 => 'BaTelCo', - 1242457 => 'BaTelCo', - 1242458 => 'BaTelCo', + 124242 => 'BaTelCo', + 124243 => 'BaTelCo', + 124244 => 'BaTelCo', + 124245 => 'BaTelCo', 1242462 => 'BaTelCo', 1242463 => 'BaTelCo', 1242464 => 'BaTelCo', @@ -58,55 +28,21 @@ return array ( 1242467 => 'BaTelCo', 1242468 => 'BaTelCo', 124247 => 'BaTelCo', - 1242481 => 'BaTelCo', - 1242524 => 'BaTelCo', - 1242525 => 'BaTelCo', - 1242533 => 'BaTelCo', - 1242535 => 'BaTelCo', - 1242544 => 'BaTelCo', - 1242551 => 'BaTelCo', - 1242552 => 'BaTelCo', - 1242553 => 'BaTelCo', - 1242554 => 'BaTelCo', - 1242556 => 'BaTelCo', - 1242557 => 'BaTelCo', - 1242558 => 'BaTelCo', - 1242559 => 'BaTelCo', - 1242565 => 'BaTelCo', - 1242577 => 'BaTelCo', - 1242636 => 'BaTelCo', + 124248 => 'BaTelCo', + 124252 => 'BaTelCo', + 124253 => 'BaTelCo', + 124254 => 'BaTelCo', + 124255 => 'BaTelCo', + 124256 => 'BaTelCo', + 124257 => 'BaTelCo', + 124263 => 'BaTelCo', 1242646 => 'BaTelCo', - 1242727 => 'BaTelCo', - 1242738 => 'aliv', - 1242801 => 'aliv', - 1242802 => 'aliv', - 1242803 => 'aliv', - 1242804 => 'aliv', - 1242805 => 'aliv', - 1242806 => 'aliv', - 1242807 => 'aliv', - 1242808 => 'aliv', - 1242809 => 'aliv', - 1242810 => 'aliv', - 1242812 => 'aliv', - 1242813 => 'aliv', - 1242814 => 'aliv', - 1242815 => 'aliv', - 1242816 => 'aliv', - 1242817 => 'aliv', - 1242818 => 'aliv', - 1242819 => 'aliv', - 124282 => 'aliv', - 1242889 => 'aliv', - 1242899 => 'aliv', + 124272 => 'BaTelCo', + 124273 => 'aliv', + 12428 => 'aliv', 124623 => 'LIME', 124624 => 'LIME', - 1246250 => 'LIME', - 1246251 => 'LIME', - 1246252 => 'LIME', - 1246253 => 'LIME', - 1246254 => 'LIME', - 1246255 => 'LIME', + 124625 => 'LIME', 1246256 => 'Digicel', 1246257 => 'Digicel', 1246258 => 'Digicel', @@ -114,31 +50,12 @@ return array ( 124626 => 'Digicel', 124628 => 'LIME', 124645 => 'Sunbeach Communications', - 1246695 => 'Ozone', - 1246696 => 'Ozone', - 1246697 => 'Ozone', - 124682 => 'Digicel', - 124683 => 'Digicel', - 124684 => 'Digicel', - 124685 => 'Digicel', - 1246883 => 'Digicel', - 1264536 => 'Weblinks Limited', - 1264537 => 'Weblinks Limited', - 1264538 => 'Weblinks Limited', - 1264539 => 'Weblinks Limited', - 1264581 => 'Digicel', - 1264582 => 'Digicel', - 1264583 => 'Digicel', - 1264584 => 'Digicel', - 1264729 => 'Cable & Wireless', - 1264772 => 'Cable & Wireless', - 1268713 => 'Digicel', - 1268714 => 'Digicel', - 1268715 => 'Digicel', - 1268716 => 'Digicel', - 1268717 => 'Digicel', - 1268718 => 'Digicel', - 1268719 => 'Digicel', + 124669 => 'Ozone', + 12468 => 'Digicel', + 126453 => 'Weblinks Limited', + 126458 => 'Digicel', + 12647 => 'Cable & Wireless', + 126871 => 'Digicel', 1268720 => 'Digicel', 1268721 => 'Digicel', 1268722 => 'Digicel', @@ -147,9 +64,7 @@ return array ( 1268726 => 'Digicel', 1268727 => 'APUA', 1268729 => 'APUA', - 1268732 => 'Digicel', - 1268734 => 'Digicel', - 1268736 => 'Digicel', + 126873 => 'Digicel', 1268773 => 'APUA', 1268774 => 'APUA', 1268775 => 'APUA', @@ -159,50 +74,21 @@ return array ( 1268785 => 'Digicel', 1268788 => 'Digicel', 1284300 => 'Digicel', - 1284340 => 'Digicel', - 1284341 => 'Digicel', - 1284342 => 'Digicel', - 1284343 => 'Digicel', - 1284344 => 'Digicel', - 1284345 => 'Digicel', - 1284346 => 'Digicel', - 1284347 => 'Digicel', - 1284368 => 'Digicel', - 1284393 => 'Digicel', - 1284394 => 'Digicel', - 1284440 => 'CCT', - 1284441 => 'CCT', - 1284442 => 'CCT', - 1284443 => 'CCT', - 1284444 => 'CCT', - 1284445 => 'CCT', - 1284446 => 'CCT', + 128434 => 'Digicel', + 128436 => 'Digicel', + 128439 => 'Digicel', + 128444 => 'CCT', 12844689 => 'CCT', 12844966 => 'CCT', 12844967 => 'CCT', 12844968 => 'CCT', 12844969 => 'CCT', 1284499 => 'CCT', - 1345321 => 'Digicel', - 1345322 => 'Digicel', - 1345323 => 'Digicel', - 1345324 => 'Digicel', - 1345325 => 'Digicel', - 1345326 => 'Digicel', - 1345327 => 'Digicel', - 1345328 => 'Digicel', - 1345329 => 'Digicel', - 1345516 => 'Digicel', - 1345517 => 'Digicel', - 1345525 => 'Digicel', - 1345526 => 'Digicel', - 1345527 => 'Digicel', - 1345529 => 'Digicel', - 1345546 => 'Digicel', - 1345547 => 'Digicel', - 1345548 => 'Digicel', - 1345549 => 'Digicel', - 1345550 => 'Digicel', + 13453 => 'Digicel', + 134551 => 'Digicel', + 134552 => 'Digicel', + 134554 => 'Digicel', + 134555 => 'Digicel', 1345649 => 'Digicel', 14413 => 'Mobility', 144150 => 'Digicel Bermuda', @@ -213,47 +99,27 @@ return array ( 14417 => 'Cellular One', 1473402 => 'Affordable Island Communications', 147341 => 'Digicel Grenada', - 1473420 => 'Digicel Grenada', - 1473421 => 'Digicel Grenada', - 1473422 => 'Digicel Grenada', - 1473423 => 'Digicel Grenada', - 1473424 => 'Digicel Grenada', - 1473425 => 'Digicel Grenada', - 1473520 => 'Affordable Island Communications', - 1473521 => 'Affordable Island Communications', + 147342 => 'Digicel Grenada', + 147352 => 'Affordable Island Communications', 147353 => 'AWS Grenada', - 1473901 => 'Affordable Island Communications', - 164923 => 'C&W', - 164924 => 'C&W', - 164933 => 'Digicel', - 164934 => 'Digicel', + 147390 => 'Affordable Island Communications', + 16492 => 'C&W', + 16493 => 'Digicel', 164943 => 'Islandcom', - 1671480 => 'GTA', - 1671482 => 'GTA', - 1671483 => 'GTA', - 1671486 => 'GTA', - 1671487 => 'GTA', - 1671488 => 'GTA', - 1671489 => 'GTA', - 1671747 => 'PTI PACIFICA', - 1671838 => 'i CAN_GSM', - 1671848 => 'i CAN_GSM', - 1671858 => 'i CAN_GSM', + 167148 => 'GTA', + 167174 => 'PTI PACIFICA', + 167183 => 'i CAN_GSM', + 167184 => 'i CAN_GSM', + 167185 => 'i CAN_GSM', 1671864 => 'GTA', 1671868 => 'Choice Phone', - 1671878 => 'Choice Phone', - 1671888 => 'Choice Phone', - 1671898 => 'Choice Phone', - 1684252 => 'Blue Sky', - 1684254 => 'Blue Sky', - 1684256 => 'Blue Sky', - 1684258 => 'Blue Sky', - 1684272 => 'Blue Sky', - 1684731 => 'ASTCA', - 1684733 => 'ASTCA', - 1684770 => 'ASTCA', - 175828 => 'Cable & Wireless', - 1758384 => 'Cable & Wireless', + 167187 => 'Choice Phone', + 167188 => 'Choice Phone', + 167189 => 'Choice Phone', + 16842 => 'Blue Sky', + 16847 => 'ASTCA', + 17582 => 'Cable & Wireless', + 17583 => 'Cable & Wireless', 1758460 => 'Cable & Wireless', 1758461 => 'Cable & Wireless', 1758484 => 'Cable & Wireless', @@ -262,32 +128,19 @@ return array ( 1758487 => 'Cable & Wireless', 1758488 => 'Cable & Wireless', 1758489 => 'Cable & Wireless', - 175851 => 'AT&T', - 1758518 => 'Digicel', - 1758519 => 'Digicel', - 175852 => 'AT&T', - 1758520 => 'Digicel', - 1758584 => 'Cable & Wireless', + 175851 => 'Digicel', + 175852 => 'Digicel', + 175858 => 'Cable & Wireless', 17587 => 'Digicel', - 1767225 => 'Cable & Wireless', - 1767235 => 'Cable & Wireless', - 1767245 => 'Cable & Wireless', + 176722 => 'Cable & Wireless', + 176723 => 'Cable & Wireless', + 176724 => 'Cable & Wireless', 1767265 => 'Cable & Wireless', - 1767275 => 'Cable & Wireless', - 1767276 => 'Cable & Wireless', - 1767277 => 'Cable & Wireless', - 1767285 => 'Cable & Wireless', - 1767295 => 'Cable & Wireless', - 1767315 => 'Digicel', - 1767316 => 'Digicel', - 1767317 => 'Digicel', - 1767611 => 'Digicel', - 1767612 => 'Digicel', - 1767613 => 'Digicel', - 1767614 => 'Digicel', - 1767615 => 'Digicel', - 1767616 => 'Digicel', - 1767617 => 'Digicel', + 176727 => 'Cable & Wireless', + 176728 => 'Cable & Wireless', + 176729 => 'Cable & Wireless', + 17673 => 'Digicel', + 17676 => 'Digicel', 1784430 => 'AT&T', 1784431 => 'AT&T', 1784432 => 'AT&T', @@ -303,15 +156,8 @@ return array ( 1784493 => 'Cable & Wireless', 1784494 => 'Cable & Wireless', 1784495 => 'Cable & Wireless', - 1784526 => 'Digicel', - 1784527 => 'Digicel', - 1784528 => 'Digicel', - 1784529 => 'Digicel', - 1784530 => 'Digicel', - 1784531 => 'Digicel', - 1784532 => 'Digicel', - 1784533 => 'Digicel', - 1784534 => 'Digicel', + 178452 => 'Digicel', + 178453 => 'Digicel', 1787203 => 'Claro', 1787210 => 'SunCom Wireless Puerto Rico', 1787212 => 'Claro', @@ -523,16 +369,11 @@ return array ( 180927 => 'Claro', 180928 => 'Claro', 180929 => 'Tricom', + 18093 => 'Claro', 180930 => 'Viva', 180931 => 'Tricom', 180932 => 'Tricom', - 180933 => 'Claro', 180934 => 'Tricom', - 180935 => 'Claro', - 180936 => 'Claro', - 180937 => 'Claro', - 180938 => 'Claro', - 180939 => 'Claro', 180941 => 'Viva', 180942 => 'Claro', 180943 => 'Viva', @@ -559,16 +400,11 @@ return array ( 180977 => 'Viva', 180978 => 'Claro', 180979 => 'Claro', - 180980 => 'Orange', + 18098 => 'Orange', 180981 => 'Viva', 180982 => 'Claro', 180983 => 'Claro', - 180984 => 'Orange', - 180985 => 'Orange', - 180986 => 'Orange', 180987 => 'Tricom', - 180988 => 'Orange', - 180989 => 'Orange', 180991 => 'Orange', 180992 => 'Tricom', 180993 => 'Tricom', @@ -577,10 +413,7 @@ return array ( 180997 => 'Orange', 180998 => 'Orange', 180999 => 'Tricom', - 1868266 => 'bmobile', - 1868267 => 'bmobile', - 1868268 => 'bmobile', - 1868269 => 'bmobile', + 186826 => 'bmobile', 186827 => 'bmobile', 186828 => 'bmobile', 186829 => 'bmobile', @@ -588,12 +421,8 @@ return array ( 18684 => 'bmobile', 18686 => 'bmobile', 18687 => 'bmobile', - 1869556 => 'CariGlobe St. Kitts', - 1869557 => 'CariGlobe St. Kitts', - 1869558 => 'CariGlobe St. Kitts', - 1869565 => 'The Cable St. Kitts', - 1869566 => 'The Cable St. Kitts', - 1869567 => 'The Cable St. Kitts', + 186955 => 'CariGlobe St. Kitts', + 186956 => 'The Cable St. Kitts', 1869660 => 'Cable & Wireless', 1869661 => 'Cable & Wireless', 1869662 => 'Cable & Wireless', @@ -704,16 +533,8 @@ return array ( 1939247 => 'Claro', 1939248 => 'Claro', 1939249 => 'Claro', - 1939250 => 'Claro', - 1939251 => 'Claro', + 193925 => 'Claro', 1939252 => 'CENTENNIAL', - 1939253 => 'Claro', - 1939254 => 'Claro', - 1939255 => 'Claro', - 1939256 => 'Claro', - 1939257 => 'Claro', - 1939258 => 'Claro', - 1939259 => 'Claro', 1939307 => 'CENTENNIAL', 1939325 => 'SunCom Wireless Puerto Rico', 1939329 => 'CENTENNIAL', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php index 0b5b0ed14..cfa93617e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/212.php @@ -11,25 +11,11 @@ */ return array ( - 212600 => 'Inwi', - 212601 => 'Inwi', - 212602 => 'Inwi', - 212603 => 'Inwi', - 212604 => 'Inwi', - 212605 => 'Inwi', - 212606 => 'Inwi', - 212607 => 'Inwi', - 212608 => 'Inwi', - 212609 => 'Inwi', - 212610 => 'Maroc Telecom', - 212611 => 'Maroc Telecom', + 21260 => 'Inwi', + 21261 => 'Maroc Telecom', 212612 => 'Méditel', - 212613 => 'Maroc Telecom', 212614 => 'Méditel', - 212615 => 'Maroc Telecom', - 212616 => 'Maroc Telecom', 212617 => 'Méditel', - 212618 => 'Maroc Telecom', 212619 => 'Méditel', 212620 => 'Méditel', 212621 => 'Méditel', @@ -61,16 +47,9 @@ return array ( 212647 => 'Inwi', 212648 => 'Maroc Telecom', 212649 => 'Méditel', - 212650 => 'Maroc Telecom', - 212651 => 'Maroc Telecom', - 212652 => 'Maroc Telecom', - 212653 => 'Maroc Telecom', - 212654 => 'Maroc Telecom', - 212655 => 'Maroc Telecom', + 21265 => 'Maroc Telecom', 212656 => 'Méditel', 212657 => 'Méditel', - 212658 => 'Maroc Telecom', - 212659 => 'Maroc Telecom', 212660 => 'Méditel', 212661 => 'Maroc Telecom', 212662 => 'Maroc Telecom', @@ -81,15 +60,9 @@ return array ( 212667 => 'Maroc Telecom', 212668 => 'Maroc Telecom', 212669 => 'Méditel', - 212670 => 'Maroc Telecom', - 212671 => 'Maroc Telecom', - 212672 => 'Maroc Telecom', - 212673 => 'Maroc Telecom', + 21267 => 'Maroc Telecom', 212674 => 'Méditel', 212675 => 'Méditel', - 212676 => 'Maroc Telecom', - 212677 => 'Maroc Telecom', - 212678 => 'Maroc Telecom', 212679 => 'Méditel', 212680 => 'Inwi', 212681 => 'Inwi', @@ -109,14 +82,7 @@ return array ( 212697 => 'Maroc Telecom', 212698 => 'Inwi', 212699 => 'Inwi', - 212700 => 'Inwi', - 212706 => 'Inwi', - 212707 => 'Inwi', - 212761 => 'Maroc Telecom', - 212762 => 'Maroc Telecom', - 212766 => 'Maroc Telecom', - 212767 => 'Maroc Telecom', - 212770 => 'Méditel', - 212771 => 'Méditel', - 212777 => 'Méditel', + 21270 => 'Inwi', + 21276 => 'Maroc Telecom', + 21277 => 'Méditel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/213.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/213.php index 47baba29e..281404cf6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/213.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/213.php @@ -11,9 +11,7 @@ */ return array ( - 21354 => 'Ooredoo', - 21355 => 'Ooredoo', - 21356 => 'Ooredoo', + 2135 => 'Ooredoo', 2136 => 'Mobilis', 21377 => 'Djezzy', 21379 => 'Djezzy', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/223.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/223.php index 93e3c16d8..52cfc27cf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/223.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/223.php @@ -13,7 +13,7 @@ return array ( 2232079 => 'Sotelma', 223217 => 'Sotelma', - 22350 => 'Atel', + 2235 => 'Atel', 2236 => 'Sotelma', 2237 => 'Orange', 22382 => 'Orange', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/230.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/230.php index 04ec32e17..e4b831969 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/230.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/230.php @@ -14,33 +14,17 @@ return array ( 230525 => 'Cellplus', 230528 => 'MTML', 230529 => 'MTML', - 2305421 => 'Emtel', - 2305422 => 'Emtel', - 2305423 => 'Emtel', - 2305428 => 'Emtel', - 2305429 => 'Emtel', + 230542 => 'Emtel', 230544 => 'Emtel', + 230547 => 'Emtel', 2305471 => 'Cellplus', - 2305472 => 'Emtel', - 2305473 => 'Emtel', - 2305474 => 'Emtel', - 2305475 => 'Emtel', - 2305476 => 'Emtel', - 2305477 => 'Emtel', - 2305478 => 'Emtel', - 2305479 => 'Emtel', 230548 => 'Emtel', 230549 => 'Emtel', - 230570 => 'Cellplus', + 23057 => 'Cellplus', 230571 => 'Emtel', 230572 => 'Emtel', 230573 => 'Emtel', 230574 => 'Emtel', - 230575 => 'Cellplus', - 230576 => 'Cellplus', - 230577 => 'Cellplus', - 230578 => 'Cellplus', - 230579 => 'Cellplus', 230580 => 'Cellplus', 230581 => 'Cellplus', 230582 => 'Cellplus', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/231.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/231.php index 2dc25799f..f0bb26d6c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/231.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/231.php @@ -14,6 +14,6 @@ return array ( 23120 => 'LIBTELCO', 231330 => 'West Africa Telecom', 231555 => 'Novafone', - 23177 => 'Cellcom', - 23188 => 'Lonestar Cell', + 2317 => 'Cellcom', + 2318 => 'Lonestar Cell', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/232.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/232.php index a865a7efd..cb01d2f18 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/232.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/232.php @@ -22,13 +22,12 @@ return array ( 23244 => 'Intergroup', 23250 => 'Datatel/Cellcom', 23255 => 'AFCOM', - 23266 => 'Onlime', + 2326 => 'Onlime', 23275 => 'Orange', 23276 => 'Airtel', 23277 => 'Africell', 23278 => 'Airtel', 23279 => 'Airtel', - 23280 => 'Africell', - 23288 => 'Africell', - 23299 => 'Africell', + 2328 => 'Africell', + 2329 => 'Africell', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/233.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/233.php index 081dfee9d..0876bd981 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/233.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/233.php @@ -25,7 +25,6 @@ return array ( 233556 => 'MTN', 233557 => 'MTN', 233558 => 'MTN', - 233560 => 'Airtel', - 233561 => 'Airtel', + 23356 => 'Airtel', 23357 => 'tiGO', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/234.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/234.php index 01eda834f..6a5cdc426 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/234.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/234.php @@ -172,8 +172,7 @@ return array ( 2347782 => 'Starcomms', 2347783 => 'Starcomms', 2347784 => 'Starcomms', - 2348010 => 'Megatech', - 2348011 => 'Megatech', + 234801 => 'Megatech', 234802 => 'Airtel', 234803 => 'MTN', 234804 => 'Ntel', @@ -191,8 +190,7 @@ return array ( 234816 => 'MTN', 234817 => '9mobile', 234818 => '9mobile', - 2348190 => 'Starcomms', - 2348191 => 'Starcomms', + 234819 => 'Starcomms', 2348283 => 'Starcomms', 2348284 => 'Starcomms', 2348285 => 'Starcomms', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/235.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/235.php index 5fd1aa83e..c0e2374eb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/235.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/235.php @@ -12,6 +12,6 @@ return array ( 2356 => 'Airtel', - 23577 => 'Sotel', + 2357 => 'Sotel', 2359 => 'Millicom', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/240.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/240.php index cc8db9aae..25edeb2b3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/240.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/240.php @@ -11,7 +11,7 @@ */ return array ( - 2405 => 'Orange GQ', - 2406 => 'Orange GQ', - 2407 => 'Orange GQ', + 2402 => 'GETESA', + 240550 => 'Muni', + 240551 => 'HiTS', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/245.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/245.php index 136197c49..a3cf24045 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/245.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/245.php @@ -12,8 +12,6 @@ return array ( 24595 => 'Orange', - 245965 => 'Spacetel', - 245966 => 'Spacetel', - 245969 => 'Spacetel', - 245977 => 'Guinetel', + 24596 => 'Spacetel', + 24597 => 'Guinetel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/252.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/252.php index ebec53851..813edf20f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/252.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/252.php @@ -28,14 +28,6 @@ return array ( 25279 => 'Somtel', 25280 => 'Somali Networks', 25288 => 'Somali Networks', - 252906 => 'Golis Telecom', - 252907 => 'Golis Telecom', - 25292 => 'STG', - 25293 => 'STG', - 25294 => 'STG', - 25295 => 'STG', - 25296 => 'STG', - 25297 => 'STG', - 25298 => 'STG', - 25299 => 'STG', + 2529 => 'STG', + 25290 => 'Golis Telecom', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/253.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/253.php index a0fef5b74..3bd3ecf6d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/253.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/253.php @@ -11,5 +11,5 @@ */ return array ( - 25377 => 'Evatis', + 2537 => 'Evatis', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/254.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/254.php index 1d4c5168f..57284b223 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/254.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/254.php @@ -15,15 +15,9 @@ return array ( 25471 => 'Safaricom', 25472 => 'Safaricom', 25473 => 'Airtel', - 254740 => 'Safaricom', - 254741 => 'Safaricom', - 254742 => 'Safaricom', - 254743 => 'Safaricom', + 25474 => 'Safaricom', 254744 => 'Homeland Media', - 254745 => 'Safaricom', - 254746 => 'Safaricom', 254747 => 'JTL', - 254748 => 'Safaricom', 254749 => 'WiAfrica', 25475 => 'Airtel', 254757 => 'Safaricom', @@ -37,7 +31,7 @@ return array ( 254765 => 'Finserve', 254766 => 'Finserve', 254767 => 'Sema Mobile', - 254768 => 'Airtel', + 254768 => 'Safaricom', 254769 => 'Airtel', 25477 => 'Telkom', 25478 => 'Airtel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/255.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/255.php index ff435f859..f9719e938 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/255.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/255.php @@ -18,6 +18,7 @@ return array ( 25566 => 'SMILE', 25567 => 'tiGO', 25568 => 'Airtel', + 25569 => 'Airtel', 25571 => 'tiGO', 25573 => 'Tanzania Telecom', 25574 => 'Vodacom', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/256.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/256.php index 43e42da8c..2fbee5fdf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/256.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/256.php @@ -15,8 +15,8 @@ return array ( 25671 => 'UTL', 256720 => 'Smile', 256723 => 'Afrimax', - 2567260 => 'Tangerine', - 256730 => 'K2', + 256726 => 'Tangerine', + 25673 => 'K2', 25674 => 'Sure Telecom', 25675 => 'Airtel', 25677 => 'MTN', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/257.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/257.php index 1be4141ef..f05c0a66f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/257.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/257.php @@ -12,10 +12,8 @@ return array ( 25729 => 'Leo', - 25731 => 'Viettel', - 25761 => 'Viettel', - 25768 => 'Viettel', - 25769 => 'Viettel', + 2573 => 'Viettel', + 2576 => 'Viettel', 25771 => 'Leo', 25772 => 'Leo', 25775 => 'Smart Mobile', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/260.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/260.php index 093406b01..461fddd41 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/260.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/260.php @@ -11,6 +11,7 @@ */ return array ( + 2607 => 'MTN', 26095 => 'ZAMTEL', 26096 => 'MTN', 26097 => 'Airtel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/262.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/262.php index 762223229..440b3a944 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/262.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/262.php @@ -27,8 +27,8 @@ return array ( 26263926 => 'Only', 26263930 => 'BJT', 26263939 => 'Only', - 26263940 => 'SFR', - 26263950 => 'BJT', + 2626394 => 'SFR', + 2626395 => 'BJT', 26263960 => 'Orange', 26263961 => 'Orange', 26263962 => 'Orange', @@ -52,9 +52,8 @@ return array ( 26263996 => 'Only', 26263997 => 'Only', 26263999 => 'Orange', + 262692 => 'SFR', 2626920 => 'Orange', - 26269206 => 'SFR', - 2626921 => 'SFR', 2626922 => 'Orange', 2626923 => 'Orange', 26269240 => 'Orange', @@ -62,25 +61,9 @@ return array ( 26269242 => 'Orange', 26269243 => 'Orange', 26269244 => 'Orange', - 26269245 => 'SFR', - 26269246 => 'SFR', - 26269247 => 'SFR', - 26269248 => 'SFR', - 26269249 => 'SFR', - 2626925 => 'SFR', - 2626926 => 'SFR', - 2626927 => 'SFR', - 2626928 => 'SFR', - 26269290 => 'SFR', - 26269291 => 'SFR', 26269292 => 'Only', 26269293 => 'Only', 26269294 => 'Only', - 26269295 => 'SFR', - 26269296 => 'SFR', - 26269297 => 'SFR', - 26269298 => 'SFR', - 26269299 => 'SFR', 26269300 => 'Orange', 26269301 => 'SFR', 26269302 => 'SFR', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/265.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/265.php index 7a6b63506..0109dcd82 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/265.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/265.php @@ -11,6 +11,6 @@ */ return array ( - 26588 => 'TNM', - 26599 => 'Airtel', + 2658 => 'TNM', + 2659 => 'Airtel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/267.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/267.php index f289999ba..4c5462076 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/267.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/267.php @@ -14,14 +14,9 @@ return array ( 26771 => 'Mascom', 26772 => 'Orange', 26773 => 'BTC Mobile', - 267740 => 'Mascom', - 267741 => 'Mascom', - 267742 => 'Mascom', + 26774 => 'Mascom', 267743 => 'Orange', 267744 => 'Orange', - 267745 => 'Mascom', - 267746 => 'Mascom', - 267747 => 'Mascom', 267748 => 'Orange', 267749 => 'BTC Mobile', 267750 => 'Orange', @@ -46,6 +41,7 @@ return array ( 267769 => 'BTC Mobile/Orange', 267770 => 'Mascom', 267771 => 'Mascom', + 267772 => 'BTC Mobile', 267774 => 'Orange', 267775 => 'Orange', 267776 => 'Mascom', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/27.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/27.php index d98978b5c..53ba39da2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/27.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/27.php @@ -18,27 +18,12 @@ return array ( 27607 => 'Vodacom', 27608 => 'Vodacom', 27609 => 'Vodacom', - 27610 => 'Cell C', - 27611 => 'Cell C', - 27612 => 'Cell C', - 27613 => 'Cell C', + 2761 => 'Cell C', 27614 => 'Telkom Mobile', - 27615 => 'Cell C', - 27616 => 'Cell C', - 27617 => 'Cell C', - 27618 => 'Cell C', - 27619 => 'Cell C', 2762 => 'Cell C', - 27630 => 'MTN', - 27631 => 'MTN', - 27632 => 'MTN', - 27633 => 'MTN', - 27634 => 'MTN', - 27635 => 'MTN', + 2763 => 'MTN', 27636 => 'Vodacom', 27637 => 'Vodacom', - 27638 => 'MTN', - 27639 => 'MTN', 27640 => 'MTN', 27641 => 'Cell C', 27642 => 'Cell C', @@ -55,13 +40,8 @@ return array ( 27663 => 'Vodacom', 27664 => 'Vodacom', 27665 => 'Vodacom', + 2771 => 'Vodacom', 27710 => 'MTN', - 27711 => 'Vodacom', - 27712 => 'Vodacom', - 27713 => 'Vodacom', - 27714 => 'Vodacom', - 27715 => 'Vodacom', - 27716 => 'Vodacom', 27717 => 'MTN', 27718 => 'MTN', 27719 => 'MTN', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/297.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/297.php index 81657c182..06f8ba43d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/297.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/297.php @@ -11,19 +11,16 @@ */ return array ( - 297290 => 'Digicel', + 29729 => 'Digicel', 29756 => 'SETAR', 29759 => 'SETAR', - 297630 => 'Digicel', - 297640 => 'Digicel', - 297641 => 'Digicel', - 297642 => 'Digicel', + 29763 => 'Digicel', + 29764 => 'Digicel', 29766 => 'SETAR', 29769 => 'SETAR', 29773 => 'Digicel', 29774 => 'Digicel', - 297770 => 'SETAR', - 297777 => 'SETAR', + 29777 => 'SETAR', 297995 => 'SETAR', 297996 => 'SETAR', 297997 => 'SETAR', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/32.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/32.php index e664cbebf..e2c7a2fde 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/32.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/32.php @@ -12,7 +12,7 @@ return array ( 32455 => 'VOO', - 32456 => 'JIM Mobile', + 32456 => 'Mobile Vikings/JIM Mobile', 32460 => 'Proximus', 324618 => 'N.M.B.S.', 324630 => 'TISMI BV', @@ -44,12 +44,6 @@ return array ( 324687 => 'Premium Routing GmbH', 324688 => 'Premium Routing GmbH', 3247 => 'Proximus', - 32483 => 'Telenet', - 32484 => 'Telenet', - 32485 => 'Telenet', - 32486 => 'Telenet', - 32487 => 'Telenet', - 32488 => 'Telenet', - 32489 => 'Telenet', + 3248 => 'Telenet', 3249 => 'Orange', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/34.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/34.php index 897800f2f..7e7735b4c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/34.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/34.php @@ -34,7 +34,11 @@ return array ( 346027 => 'Lebara', 346028 => 'Lycamobile', 346029 => 'DIA', - 346030 => 'Vodafone', + 3460300 => 'Vodafone', + 3460301 => 'Vodafone', + 3460302 => 'Vodafone', + 3460303 => 'Vodafone', + 3460304 => 'Vodafone', 3460305 => 'Lebara', 3460306 => 'Lebara', 3460307 => 'Lebara', @@ -104,16 +108,8 @@ return array ( 34637 => 'Vodafone', 34638 => 'Movistar', 34639 => 'Movistar', - 346400 => 'Orange', - 346401 => 'Orange', - 346402 => 'Orange', - 346403 => 'Orange', + 34640 => 'Orange', 346404 => 'MasMovil', - 346405 => 'Orange', - 346406 => 'Orange', - 346407 => 'Orange', - 346408 => 'Orange', - 346409 => 'Orange', 34642 => 'DigiMobil', 346430 => 'DigiMobil', 346431 => 'DigiMobil', @@ -129,20 +125,13 @@ return array ( 34647 => 'Vodafone', 34648 => 'Movistar', 34649 => 'Movistar', + 3465 => 'Orange', 34650 => 'Movistar', - 34651 => 'Orange', - 34652 => 'Orange', 3465229 => 'MasMovil', - 34653 => 'Orange', 3465329 => 'DIA', - 34654 => 'Orange', 3465429 => 'DIA', - 34655 => 'Orange', 3465529 => 'DIA', - 34656 => 'Orange', - 34657 => 'Orange', 3465729 => 'DIA', - 34658 => 'Orange', 3465829 => 'DIA', 34659 => 'Movistar', 34660 => 'Movistar', @@ -158,18 +147,12 @@ return array ( 346686 => 'Parlem', 346688 => 'Parlem', 34669 => 'Movistar', - 34670 => 'Vodafone', - 34671 => 'Vodafone', - 34672 => 'Vodafone', + 3467 => 'Vodafone', 346725 => 'Lebara', 346728 => 'Lebara', 346729 => 'Lebara', - 34673 => 'Vodafone', - 34674 => 'Vodafone', 34675 => 'Orange', 34676 => 'Movistar', - 34677 => 'Vodafone', - 34678 => 'Vodafone', 34679 => 'Movistar', 34680 => 'Movistar', 346810 => 'Movistar', @@ -199,7 +182,6 @@ return array ( 3468529 => 'Carrefour', 34686 => 'Movistar', 34687 => 'Vodafone', - 34688 => 'Euskaltel', 346880 => 'YouMobile', 346881 => 'YouMobile', 346882 => 'MasMovil', @@ -215,24 +197,12 @@ return array ( 34689 => 'Movistar', 34690 => 'Movistar', 34691 => 'Orange', - 3469190 => 'MasMovil', - 3469191 => 'MasMovil', - 3469192 => 'MasMovil', - 3469193 => 'MasMovil', - 3469194 => 'MasMovil', - 3469195 => 'MasMovil', - 3469196 => 'MasMovil', - 3469197 => 'MasMovil', + 346919 => 'MasMovil', 3469198 => 'Carrefour', 3469199 => 'Carrefour', 34692 => 'Orange', 3469229 => 'Carrefour', - 3469274 => 'Carrefour', - 3469275 => 'Carrefour', - 3469276 => 'Carrefour', - 3469277 => 'Carrefour', - 3469278 => 'Carrefour', - 3469279 => 'Carrefour', + 346927 => 'Carrefour', 3469300 => 'MasMovil', 3469301 => 'MasMovil', 3469302 => 'MasMovil', @@ -242,28 +212,13 @@ return array ( 3469306 => 'MasMovil', 346931 => 'Orange', 3469310 => 'MasMovil', - 346932 => 'Orange', + 346932 => 'MasMovil', 3469320 => 'Carrefour', 3469321 => 'Carrefour', - 3469322 => 'MasMovil', - 3469323 => 'MasMovil', - 3469324 => 'MasMovil', - 3469325 => 'MasMovil', - 3469326 => 'MasMovil', - 3469327 => 'MasMovil', - 3469328 => 'MasMovil', - 346933 => 'Orange', - 3469330 => 'Carrefour', - 3469331 => 'Carrefour', - 3469332 => 'Carrefour', - 3469333 => 'Carrefour', - 3469334 => 'Carrefour', - 3469335 => 'Carrefour', + 3469329 => 'Orange', + 346933 => 'Carrefour', 3469336 => 'MasMovil', 3469337 => 'MasMovil', - 3469338 => 'Carrefour', - 3469339 => 'Carrefour', - 346934 => 'Orange', 3469340 => 'DIA', 3469341 => 'DIA', 3469342 => 'DIA', @@ -286,7 +241,6 @@ return array ( 3469368 => 'MasMovil', 3469369 => 'MasMovil', 346937 => 'MasMovil', - 346938 => 'Orange', 3469380 => 'MasMovil', 3469381 => 'MasMovil', 3469382 => 'MasMovil', @@ -296,6 +250,7 @@ return array ( 3469386 => 'MasMovil', 3469387 => 'Carrefour', 3469388 => 'Carrefour', + 3469389 => 'Orange', 3469391 => 'MasMovil', 3469392 => 'MasMovil', 3469393 => 'MasMovil', @@ -310,15 +265,8 @@ return array ( 34695 => 'Orange', 34696 => 'Movistar', 34697 => 'Vodafone', - 346980 => 'MasMovil', + 34698 => 'MasMovil', 346981 => 'R', - 346982 => 'MasMovil', - 346983 => 'MasMovil', - 346984 => 'MasMovil', - 346985 => 'MasMovil', - 346986 => 'MasMovil', - 346987 => 'MasMovil', - 346988 => 'MasMovil', 346989 => 'Eroski movil', 34699 => 'Movistar', 347110 => 'Zinnia', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/350.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/350.php index 7166aa50f..8bd193eac 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/350.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/350.php @@ -11,9 +11,6 @@ */ return array ( - 35054 => 'GibTel', - 35056 => 'GibTel', - 35057 => 'GibTel', - 35058 => 'GibTel', - 350629 => 'Limba', + 3505 => 'GibTel', + 3506 => 'Limba', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/352.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/352.php index 955ddb3fc..d8e1ebc84 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/352.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/352.php @@ -11,14 +11,11 @@ */ return array ( - 352621 => 'POST', - 352628 => 'POST', + 35262 => 'POST', 352651 => 'POST', 352658 => 'POST', - 352661 => 'Orange', - 352668 => 'Orange', + 35266 => 'Orange', 352671 => 'JOIN', 352678 => 'JOIN', - 352691 => 'Tango', - 352698 => 'Tango', + 35269 => 'Tango', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/354.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/354.php index 443072909..fa145459d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/354.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/354.php @@ -40,11 +40,7 @@ return array ( 354659 => 'Vodafone', 35466 => 'Vodafone', 35467 => 'Vodafone', - 354680 => 'Vodafone', - 354686 => 'Vodafone', - 354687 => 'Vodafone', - 354688 => 'Vodafone', - 354689 => 'Vodafone', + 35468 => 'Vodafone', 35469 => 'Vodafone', 354750 => 'Síminn', 354755 => 'Síminn', @@ -52,10 +48,7 @@ return array ( 35476 => 'Nova', 35477 => 'Nova', 35478 => 'Nova', - 354790 => 'Nova', - 354791 => 'Nova', - 354792 => 'Nova', - 354793 => 'Nova', + 35479 => 'Nova', 35482 => 'Vodafone', 35483 => 'Síminn', 35484 => 'Síminn', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/356.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/356.php index fff71434a..667d3685d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/356.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/356.php @@ -11,18 +11,13 @@ */ return array ( - 3567210 => 'GO Mobile', + 35672 => 'GO Mobile', 35677 => 'Melita Mobile', 35679 => 'GO Mobile', - 3569210 => 'Vodafone', - 3569211 => 'Vodafone', - 3569231 => 'Vodafone', - 3569696 => 'YOM', - 3569697 => 'YOM', - 3569811 => 'Redtouch Fone', - 3569812 => 'Redtouch Fone', - 3569813 => 'Redtouch Fone', - 3569889 => 'GO Mobile', - 3569897 => 'Vodafone', + 35692 => 'Vodafone', + 35696 => 'YOM', + 356981 => 'Redtouch Fone', + 356988 => 'GO Mobile', + 356989 => 'Vodafone', 35699 => 'Vodafone', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/358.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/358.php index f0c4af524..62b699cad 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/358.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/358.php @@ -53,7 +53,5 @@ return array ( 3584579 => 'DNA', 358458 => 'Elisa', 35846 => 'Elisa', - 3584941 => 'Ukkoverkot', - 3584944 => 'DNA', 35850 => 'Elisa', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/370.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/370.php index d7a9c0e19..c65ad0434 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/370.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/370.php @@ -14,16 +14,11 @@ return array ( 37060 => 'Tele 2', 37061 => 'Omnitel', 37062 => 'Omnitel', - 370640 => 'BITĖ', - 370641 => 'BITĖ', - 370642 => 'BITĖ', - 370643 => 'BITĖ', - 370644 => 'BITĖ', + 37064 => 'BITĖ', 370645 => 'Tele 2', 370646 => 'Tele 2', 370647 => 'Tele 2', 370648 => 'Tele 2', - 370649 => 'BITĖ', 37065 => 'BITĖ', 370660 => 'BITĖ', 370662 => 'Omnitel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/373.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/373.php index e628846df..0ac2aedcf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/373.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/373.php @@ -11,7 +11,7 @@ */ return array ( - 373562 => 'IDC', + 37356 => 'IDC', 37360 => 'Orange', 373610 => 'Orange', 373611 => 'Orange', @@ -26,13 +26,8 @@ return array ( 373677 => 'Moldtelecom', 37368 => 'Orange', 37369 => 'Orange', - 373760 => 'Moldcell', - 373767 => 'Moldcell', - 373774 => 'IDC', - 373775 => 'IDC', - 373777 => 'IDC', - 373778 => 'IDC', - 373779 => 'IDC', + 37376 => 'Moldcell', + 37377 => 'IDC', 373780 => 'Moldcell', 373781 => 'Moldcell', 373782 => 'Moldcell', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/374.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/374.php index a07933921..ac456f6f8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/374.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/374.php @@ -15,8 +15,8 @@ return array ( 37443 => 'Beeline', 37444 => 'Ucom', 37449 => 'VivaCell-MTS', - 37455 => 'Ucom', - 37477 => 'VivaCell-MTS', + 3745 => 'Ucom', + 3747 => 'VivaCell-MTS', 37488 => 'VivaCell-MTS', 37491 => 'Beeline', 37493 => 'VivaCell-MTS', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php index b01280667..0598550b5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/385.php @@ -11,22 +11,12 @@ */ return array ( - 38589091 => 'Vip', - 38589098 => 'Hrvatski Telekom', - 385901 => 'Tele2', - 385902 => 'Tele2', - 385903 => 'Tele2', - 385904 => 'Tele2', - 385905 => 'Tele2', - 385906 => 'Tele2', - 385907 => 'Tele2', - 385908 => 'Tele2', - 385909 => 'Tele2', + 38590 => 'Tele2', 38591 => 'Vip', 38592 => 'Vip', 38595 => 'Tele2', 385970 => 'Hrvatski Telekom', - 3859751 => 'Telefocus', + 385975 => 'Telefocus', 385976 => 'Hrvatski Telekom', 385977 => 'Hrvatski Telekom', 385979 => 'Hrvatski Telekom', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/386.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/386.php index 7dd363a4a..32ee15d20 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/386.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/386.php @@ -26,8 +26,7 @@ return array ( 386681 => 'A1', 386686 => 'A1', 386689 => 'A1', - 386696 => 'HoT', - 386699 => 'HoT', + 38669 => 'HoT', 38670 => 'Telemach', 38671 => 'Telekom Slovenije', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/387.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/387.php index 609d3208e..e23e3f208 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/387.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/387.php @@ -15,16 +15,8 @@ return array ( 38761 => 'BH Telecom', 38762 => 'BH Telecom', 38763 => 'HT ERONET', - 3876440 => 'HT ERONET', - 3876441 => 'HT ERONET', - 3876442 => 'HT ERONET', - 3876443 => 'HT ERONET', - 3876444 => 'HT ERONET', - 3876445 => 'HT ERONET', - 3876446 => 'HT ERONET', + 38764 => 'HT ERONET', 38765 => 'm:tel', 38766 => 'm:tel', - 3876711 => 'm:tel', - 3876713 => 'm:tel', - 3876717 => 'm:tel', + 38767 => 'm:tel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/389.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/389.php index 45b544dc2..bbf672b20 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/389.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/389.php @@ -40,7 +40,7 @@ return array ( 389732 => 'Vip', 389733 => 'Telekom', 389734 => 'Vip', - 3897421 => 'Mobik', + 38974 => 'Mobik', 389752 => 'Vip', 389753 => 'Vip', 389754 => 'Vip', @@ -75,6 +75,5 @@ return array ( 389787 => 'Vip', 389788 => 'Vip', 389789 => 'Vip', - 389792 => 'Lycamobile', - 389793 => 'Lycamobile', + 38979 => 'Lycamobile', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/40.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/40.php index cede8246d..94f313d96 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/40.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/40.php @@ -22,7 +22,7 @@ return array ( 407020 => 'Lycamobile', 407050 => 'Iristel', 40711 => 'Telekom', - 407120 => '2K Telecom', + 40712 => '2K Telecom', 4072 => 'Vodafone', 4073 => 'Vodafone', 4074 => 'Orange', @@ -35,10 +35,6 @@ return array ( 40774 => 'Digi Mobil', 40775 => 'Digi Mobil', 40776 => 'Digi Mobil', - 40783 => 'Telekom', - 40784 => 'Telekom', - 40785 => 'Telekom', - 40786 => 'Telekom', - 40787 => 'Telekom', - 40799 => 'Vodafone', + 4078 => 'Telekom', + 4079 => 'Vodafone', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/423.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/423.php index c1e6bc140..53c4f231f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/423.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/423.php @@ -21,7 +21,7 @@ return array ( 4236627 => 'Datamobile', 4236628 => 'Datamobile', 4236629 => 'Datamobile', - 4236639 => 'Emnify', + 423663 => 'Emnify', 42373 => 'Telecom Liechtenstein', 42374 => 'First Mobile', 42377 => 'Swisscom', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php index ff6f38d49..212b528de 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/44.php @@ -29,6 +29,9 @@ return array ( 4473680 => 'Teleena', 4473682 => 'Sky', 4473683 => 'Sky', + 4473684 => 'Sky', + 4473685 => 'Sky', + 4473686 => 'Sky', 4473699 => 'Anywhere Sim', 447375 => 'EE', 447376 => 'EE', @@ -118,13 +121,16 @@ return array ( 4474187 => 'Teleena', 4474189 => 'Teleena', 447419 => 'Orange', - 44742 => 'Three', 447420 => 'Orange', 447421 => 'Orange', 447422 => 'Orange', 447423 => 'Vodafone', 447424 => 'Lycamobile', 447425 => 'Vodafone', + 447426 => 'Three', + 447427 => 'Three', + 447428 => 'Three', + 447429 => 'Three', 447430 => 'O2', 447431 => 'O2', 447432 => 'EE', @@ -158,7 +164,7 @@ return array ( 447447 => 'Three', 447448 => 'Lycamobile', 447449 => 'Three', - 44745 => 'Three', + 447450 => 'Three', 447451 => 'Vectone Mobile', 4474512 => 'Tismi', 4474515 => 'Premium O', @@ -168,14 +174,22 @@ return array ( 4474527 => 'Three', 4474528 => 'Three', 4474529 => 'Three', - 447457 => 'Vectone Mobile', + 447453 => 'Three', + 447454 => 'Three', + 447455 => 'Three', + 447456 => 'Three', + 4474570 => 'Vectone Mobile', + 4474571 => 'Vectone Mobile', 4474572 => 'Marathon Telecom', + 4474573 => 'Vectone Mobile', 4474574 => 'Voicetec', + 4474575 => 'Vectone Mobile', 4474576 => 'Sure', 4474577 => 'Spacetel', 4474578 => 'CardBoardFish', 4474579 => 'CardBoardFish', - 447458 => 'Gamma Telecom', + 4474580 => 'Gamma Telecom', + 4474581 => 'Gamma Telecom', 4474582 => 'Premium Routing', 4474583 => 'Virgin Mobile', 4474584 => 'Airwave', @@ -185,9 +199,12 @@ return array ( 4474588 => 'Limitless', 4474589 => 'Three', 447459 => 'Lycamobile', - 44746 => 'Three', + 447460 => 'Three', 447461 => 'O2', + 447462 => 'Three', + 447463 => 'Three', 447464 => 'Vodafone', + 447465 => 'Three', 4474650 => 'Vectone Mobile', 4474651 => 'Vectone Mobile', 4474653 => 'Compatel', @@ -199,23 +216,34 @@ return array ( 44747 => 'Three', 447470 => 'Vodafone', 447471 => 'Vodafone', - 44748 => 'EE', 447480 => 'Three', 447481 => 'Three', 447482 => 'Three', - 447488 => 'Three', + 447483 => 'EE', + 447484 => 'EE', + 447485 => 'EE', + 447486 => 'EE', + 447487 => 'EE', 4474880 => 'Fogg', 4474881 => 'CESG', 4474882 => 'Sky', 4474883 => 'Sky', + 4474884 => 'Three', + 4474885 => 'Three', 4474886 => 'Lanonyx', + 4474887 => 'Three', 4474888 => 'Ziron', + 4474889 => 'Three', 447489 => 'O2', - 44749 => 'EE', 447490 => 'Three', 447491 => 'Three', 447492 => 'Three', 447493 => 'Vodafone', + 447494 => 'EE', + 447495 => 'EE', + 447496 => 'EE', + 447497 => 'EE', + 447498 => 'EE', 447499 => 'O2', 447500 => 'Vodafone', 447501 => 'Vodafone', @@ -252,7 +280,11 @@ return array ( 447529 => 'Orange', 447530 => 'Orange', 447531 => 'Orange', - 447532 => 'Orange', + 4475320 => 'Orange', + 4475321 => 'Orange', + 4475322 => 'Orange', + 4475323 => 'Orange', + 4475324 => 'Orange', 4475325 => 'SMSRelay AG', 4475326 => 'Three', 4475327 => 'Three', @@ -331,14 +363,8 @@ return array ( 4476020 => 'O2', 4476022 => 'Relax', 447623 => 'PageOne', - 4476240 => 'Manx Telecom', - 4476241 => 'Manx Telecom', + 447624 => 'Manx Telecom', 4476242 => 'Sure', - 4476243 => 'Manx Telecom', - 4476244 => 'Manx Telecom', - 4476246 => 'Manx Telecom', - 4476248 => 'Manx Telecom', - 4476249 => 'Manx Telecom', 447625 => 'O2', 447626 => 'O2', 4476400 => 'Core Telecom', @@ -365,8 +391,12 @@ return array ( 4476596 => 'Vodafone', 4476598 => 'Vodafone', 4476599 => 'PageOne', - 447660 => 'PageOne', 4476600 => 'Plus', + 4476601 => 'PageOne', + 4476602 => 'PageOne', + 4476603 => 'PageOne', + 4476604 => 'PageOne', + 4476605 => 'PageOne', 4476606 => '24 Seven', 4476607 => 'Premium O', 4476608 => 'Premium O', @@ -395,29 +425,24 @@ return array ( 4476818 => 'PageOne', 447693 => 'O2', 447699 => 'Vodafone', + 44770 => 'O2', 4477000 => 'Cloud9', 4477001 => 'Nationwide Telephone', 4477003 => 'Sure', 4477007 => 'Sure', 4477008 => 'Sure', - 447701 => 'O2', - 447702 => 'O2', - 447703 => 'O2', - 447704 => 'O2', - 447705 => 'O2', - 447706 => 'O2', - 447707 => 'O2', - 447708 => 'O2', - 447709 => 'O2', 44771 => 'O2', 447717 => 'Vodafone', - 44772 => 'O2', + 447720 => 'O2', 447721 => 'Vodafone', 447722 => 'EE', 447723 => 'Three', + 447724 => 'O2', + 447725 => 'O2', 447726 => 'EE', 447727 => 'Three', 447728 => 'Three', + 447729 => 'O2', 44773 => 'O2', 447733 => 'Vodafone', 447735 => 'Three', @@ -475,17 +500,19 @@ return array ( 447794 => 'Orange', 447795 => 'Vodafone', 447796 => 'Vodafone', - 4477977 => 'JT', - 4477978 => 'JT', - 4477979 => 'JT', + 447797 => 'JT', 447798 => 'Vodafone', 447799 => 'Vodafone', - 44780 => 'O2', 447800 => 'Orange', + 447801 => 'O2', + 447802 => 'O2', + 447803 => 'O2', 447804 => 'EE', 447805 => 'Orange', 447806 => 'EE', 447807 => 'Orange', + 447808 => 'O2', + 447809 => 'O2', 44781 => 'Orange', 447810 => 'Vodafone', 447818 => 'Vodafone', @@ -527,11 +554,15 @@ return array ( 447846 => 'Three', 447847 => 'EE', 447848 => 'Three', - 44785 => 'O2', + 447850 => 'O2', + 447851 => 'O2', 447852 => 'EE', 447853 => 'Three', 447854 => 'Orange', 447855 => 'Orange', + 447856 => 'O2', + 447857 => 'O2', + 447858 => 'O2', 447859 => 'Three', 447860 => 'O2', 447861 => 'Three', @@ -572,11 +603,14 @@ return array ( 447877 => 'Three', 447878 => 'Three', 447879 => 'Vodafone', - 44788 => 'Vodafone', + 447880 => 'Vodafone', + 447881 => 'Vodafone', 447882 => 'Three', 447883 => 'Three', + 447884 => 'Vodafone', 447885 => 'O2', 447886 => 'Three', + 447887 => 'Vodafone', 447888 => 'Three', 447889 => 'O2', 447890 => 'Orange', @@ -590,10 +624,14 @@ return array ( 4478927 => 'O2', 4478928 => 'O2', 4478929 => 'O2', - 447893 => 'O2', 4478930 => 'Magrathea', 4478931 => '24 Seven', + 4478932 => 'O2', 4478933 => 'Yim Siam', + 4478934 => 'O2', + 4478935 => 'O2', + 4478936 => 'O2', + 4478937 => 'O2', 4478938 => 'aql', 4478939 => 'Citrus', 447894 => 'O2', @@ -602,11 +640,15 @@ return array ( 447897 => 'Three', 447898 => 'Three', 447899 => 'Vodafone', - 44790 => 'EE', 447900 => 'Vodafone', 447901 => 'Vodafone', 447902 => 'O2', + 447903 => 'EE', + 447904 => 'EE', + 447905 => 'EE', + 447906 => 'EE', 447907 => 'O2', + 447908 => 'EE', 447909 => 'Vodafone', 447910 => 'EE', 4479110 => 'Marathon Telecom', @@ -627,11 +669,15 @@ return array ( 447924 => 'Manx Telecom', 4479245 => 'Cloud9', 447929 => 'Orange', - 44793 => 'O2', 447930 => 'EE', 447931 => 'EE', 447932 => 'EE', + 447933 => 'O2', + 447934 => 'O2', + 447935 => 'O2', + 447936 => 'O2', 447937 => 'JT', + 447938 => 'O2', 447939 => 'EE', 44794 => 'EE', 44795 => 'EE', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/45.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/45.php index efaf70965..6550bdf25 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/45.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/45.php @@ -30,16 +30,8 @@ return array ( 45236 => 'TDC', 45237 => 'TDC', 45238 => 'TDC', - 452390 => 'TDC', - 452391 => 'TDC', - 452392 => 'TDC', - 452393 => 'TDC', - 452394 => 'TDC', + 45239 => 'TDC', 452395 => 'Telia', - 452396 => 'TDC', - 452397 => 'TDC', - 452398 => 'TDC', - 452399 => 'TDC', 4524 => 'TDC', 45251 => 'Telenor', 45252 => 'Telenor', @@ -75,25 +67,8 @@ return array ( 4530 => 'TDC', 45311 => '3', 45312 => '3', - 453130 => '3', - 4531310 => '3', - 4531311 => '3', + 45313 => '3', 4531312 => 'MI Carrier Services', - 4531313 => '3', - 4531314 => '3', - 4531315 => '3', - 4531316 => '3', - 4531317 => '3', - 4531318 => '3', - 4531319 => '3', - 453132 => '3', - 453133 => '3', - 453134 => '3', - 453135 => '3', - 453136 => '3', - 453137 => '3', - 453138 => '3', - 453139 => '3', 45314 => '3', 45315 => '3', 45316 => '3', @@ -123,16 +98,8 @@ return array ( 45423 => 'Telia', 45424 => 'BiBoB', 45425 => 'BiBoB', + 45426 => '3', 454260 => 'BiBoB', - 454261 => '3', - 454262 => '3', - 454263 => '3', - 454264 => '3', - 454265 => '3', - 454266 => '3', - 454267 => '3', - 454268 => '3', - 454269 => '3', 454270 => 'BiBoB', 454271 => '3', 454272 => '3', @@ -143,16 +110,11 @@ return array ( 454277 => 'Telia', 454278 => 'Telia', 454279 => 'Telia', + 45428 => 'CBB Mobil', 454280 => 'BiBoB', - 454281 => 'CBB Mobil', 454282 => 'Telia', 454283 => '3', - 454284 => 'CBB Mobil', - 454285 => 'CBB Mobil', 454286 => 'Telia', - 454287 => 'CBB Mobil', - 454288 => 'CBB Mobil', - 454289 => 'CBB Mobil', 454290 => 'Mundio Mobile', 454291 => '3', 454292 => '3', @@ -191,57 +153,25 @@ return array ( 45515 => 'TDC', 45516 => 'TDC', 45517 => 'TDC', - 455180 => 'TDC', - 455181 => 'TDC', - 455182 => 'TDC', - 455183 => 'TDC', - 455184 => 'TDC', - 455185 => 'TDC', - 455186 => 'TDC', - 455187 => 'TDC', + 45518 => 'TDC', 455188 => 'Telia', 455189 => 'Telia', 45519 => 'TDC', + 45521 => 'Telia', 455210 => 'Firstcom', 455211 => '3', 455212 => '3', - 455213 => 'Telia', - 455214 => 'Telia', - 455215 => 'Telia', - 455216 => 'Telia', - 455217 => 'Telia', - 455218 => 'Telia', - 455219 => 'Telia', + 45522 => 'Telia', 455220 => 'CoolTEL', - 455221 => 'Telia', 455222 => 'Lebara Limited', - 455223 => 'Telia', - 455224 => 'Telia', 455225 => 'CBB Mobil', - 455226 => 'Telia', - 455227 => 'Telia', - 455228 => 'Telia', - 455229 => 'Telia', + 45523 => 'Telia', 455230 => 'YouSee', - 455231 => 'Telia', - 455232 => 'Telia', 455233 => 'CBB Mobil', - 455234 => 'Telia', - 455235 => 'Telia', - 455236 => 'Telia', - 455237 => 'Telia', - 455238 => 'Telia', - 455239 => 'Telia', + 45524 => 'Telia', 455240 => 'YouSee', - 455241 => 'Telia', 455242 => 'CBB Mobil', - 455243 => 'Telia', 455244 => 'CBB Mobil', - 455245 => 'Telia', - 455246 => 'Telia', - 455247 => 'Telia', - 455248 => 'Telia', - 455249 => 'Telia', 455250 => 'YouSee', 455251 => 'Jay.net', 455252 => 'Lebara Limited', @@ -252,96 +182,35 @@ return array ( 455257 => 'SimService', 455258 => 'YouSee', 455259 => '42 Telecom AB', - 455260 => 'Lebara Limited', - 455261 => 'Lebara Limited', + 45526 => 'Lebara Limited', 455262 => 'CBB Mobil', - 455263 => 'Lebara Limited', - 455264 => 'Lebara Limited', - 455265 => 'Lebara Limited', 455266 => 'CBB Mobil', - 455267 => 'Lebara Limited', - 455268 => 'Lebara Limited', - 455269 => 'Lebara Limited', - 455270 => 'Lebara Limited', - 455271 => 'Lebara Limited', - 455272 => 'Lebara Limited', - 455273 => 'Lebara Limited', - 455274 => 'Lebara Limited', - 455275 => 'Lebara Limited', - 455276 => 'Lebara Limited', + 45527 => 'Lebara Limited', 455277 => 'CBB Mobil', - 455278 => 'Lebara Limited', - 455279 => 'Lebara Limited', + 45528 => 'CBB Mobil', 455280 => 'Lebara Limited', 455281 => 'Lebara Limited', 455282 => 'Lebara Limited', - 455283 => 'CBB Mobil', - 455284 => 'CBB Mobil', - 455285 => 'CBB Mobil', - 455286 => 'CBB Mobil', - 455287 => 'CBB Mobil', - 455288 => 'CBB Mobil', - 455289 => 'CBB Mobil', + 45529 => 'CBB Mobil', 455290 => 'Lebara Limited', - 455291 => 'CBB Mobil', - 455292 => 'CBB Mobil', - 455293 => 'CBB Mobil', - 455294 => 'CBB Mobil', - 455295 => 'CBB Mobil', - 455296 => 'CBB Mobil', - 455297 => 'CBB Mobil', - 455298 => 'CBB Mobil', - 455299 => 'CBB Mobil', - 455310 => 'CBB Mobil', - 455311 => 'CBB Mobil', - 455312 => 'CBB Mobil', - 455313 => 'CBB Mobil', - 455314 => 'CBB Mobil', - 455315 => 'CBB Mobil', - 455316 => 'CBB Mobil', - 455317 => 'CBB Mobil', - 455318 => 'CBB Mobil', + 45531 => 'CBB Mobil', 455319 => 'Telia', 45532 => 'Telia', - 455330 => 'Telia', - 455331 => 'Telia', - 455332 => 'Telia', + 45533 => 'Telia', 455333 => 'Lebara Limited', - 455334 => 'Telia', - 455335 => 'Telia', - 455336 => 'Telia', - 455337 => 'Telia', - 455338 => 'Telia', - 455339 => 'Telia', 45534 => 'Telia', 45535 => '3', 45536 => '3', 45537 => '3', 45538 => '3', - 455390 => 'CBB Mobil', - 455391 => 'CBB Mobil', - 455392 => 'CBB Mobil', - 455393 => 'CBB Mobil', - 455394 => 'CBB Mobil', - 455395 => 'CBB Mobil', - 455396 => 'CBB Mobil', - 455397 => 'CBB Mobil', + 45539 => 'CBB Mobil', 455398 => 'NextGen Mobile Ldt T/A CardBoardFish', - 455399 => 'CBB Mobil', 45601 => 'Telia', 45602 => 'Telia', 45603 => 'Telia', 45604 => 'Telia', + 45605 => '3', 456050 => 'Telenor', - 456051 => '3', - 456052 => '3', - 456053 => '3', - 456054 => '3', - 456055 => '3', - 456056 => '3', - 456057 => '3', - 456058 => '3', - 456059 => '3', 45606 => 'CBB Mobil', 45607 => 'CBB Mobil', 45608 => 'CBB Mobil', @@ -358,16 +227,8 @@ return array ( 45611 => 'TDC', 45612 => 'TDC', 45613 => 'TDC', - 456140 => 'TDC', - 456141 => 'TDC', - 456142 => 'TDC', - 456143 => 'TDC', - 456144 => 'TDC', - 456145 => 'TDC', + 45614 => 'TDC', 456146 => 'Telia', - 456147 => 'TDC', - 456148 => 'TDC', - 456149 => 'TDC', 45615 => 'TDC', 45616 => 'TDC', 45617 => 'TDC', @@ -399,16 +260,9 @@ return array ( 457197 => 'Mundio Mobile', 457198 => 'Mundio Mobile', 457199 => 'Firmafon', + 45811 => 'CBB Mobil', 458110 => 'ipvision', 458111 => 'Evercall', - 458112 => 'CBB Mobil', - 458113 => 'CBB Mobil', - 458114 => 'CBB Mobil', - 458115 => 'CBB Mobil', - 458116 => 'CBB Mobil', - 458117 => 'CBB Mobil', - 458118 => 'CBB Mobil', - 458119 => 'CBB Mobil', 45812 => 'CBB Mobil', 458130 => 'CBB Mobil', 458131 => 'CBB Mobil', @@ -430,16 +284,8 @@ return array ( 458148 => 'Mundio Mobile', 458149 => 'Mundio Mobile', 45815 => 'CBB Mobil', - 458160 => 'CBB Mobil', + 45816 => 'CBB Mobil', 458161 => 'YouSee', - 458162 => 'CBB Mobil', - 458163 => 'CBB Mobil', - 458164 => 'CBB Mobil', - 458165 => 'CBB Mobil', - 458166 => 'CBB Mobil', - 458167 => 'CBB Mobil', - 458168 => 'CBB Mobil', - 458169 => 'CBB Mobil', 458170 => 'CBB Mobil', 458171 => 'YouSee', 458172 => 'Fullrate', @@ -450,16 +296,11 @@ return array ( 458177 => 'ipvision', 458178 => 'CBB Mobil', 458179 => 'CBB Mobil', + 45818 => 'CBB Mobil', 458180 => 'ipvision', 458181 => 'Maxtel.dk', 458182 => 'Polperro', - 458183 => 'CBB Mobil', - 458184 => 'CBB Mobil', - 458185 => 'CBB Mobil', - 458186 => 'CBB Mobil', - 458187 => 'CBB Mobil', 458188 => 'ipvision', - 458189 => 'CBB Mobil', 458190 => 'Lebara Limited', 458191 => 'Lebara Limited', 458192 => 'Lebara Limited', @@ -490,16 +331,8 @@ return array ( 459127 => 'Mundio Mobile', 459128 => 'Mundio Mobile', 459129 => 'Mundio Mobile', + 45913 => 'Telenor', 459130 => 'MobiWeb Limited', - 459131 => 'Telenor', - 459132 => 'Telenor', - 459133 => 'Telenor', - 459134 => 'Telenor', - 459135 => 'Telenor', - 459136 => 'Telenor', - 459137 => 'Telenor', - 459138 => 'Telenor', - 459139 => 'Telenor', 45914 => 'Lycamobile Denmark Ltd', 459150 => 'Telenor Connexion AB', 459151 => 'Telenor Connexion AB', @@ -513,33 +346,12 @@ return array ( 459159 => 'SimService', 45916 => 'Lycamobile Denmark Ltd', 45917 => 'Lycamobile Denmark Ltd', - 459180 => 'Lebara Limited', - 459181 => 'Lebara Limited', - 459182 => 'Lebara Limited', - 459183 => 'Lebara Limited', - 459184 => 'Lebara Limited', - 459185 => 'Lebara Limited', - 459186 => 'Lebara Limited', - 459187 => 'Lebara Limited', - 459188 => 'Lebara Limited', + 45918 => 'Lebara Limited', 459189 => 'Uni-tel', + 45919 => 'Lebara Limited', 459190 => 'Interactive digital media GmbH', 459191 => 'Maxtel.dk', - 459192 => 'Lebara Limited', - 459193 => 'Lebara Limited', - 459194 => 'Lebara Limited', - 459195 => 'Lebara Limited', - 459196 => 'Lebara Limited', - 459197 => 'Lebara Limited', - 459198 => 'Lebara Limited', - 459199 => 'Lebara Limited', - 459210 => 'Companymobile', - 459211 => 'Companymobile', - 459212 => 'Companymobile', - 459213 => 'Companymobile', - 459214 => 'Companymobile', - 459215 => 'Companymobile', - 459216 => 'Companymobile', + 45921 => 'Companymobile', 459217 => 'Interactive digital media GmbH', 459218 => 'Telenor Connexion AB', 459219 => 'Telenor Connexion AB', @@ -562,16 +374,10 @@ return array ( 459249 => 'Telenor Connexion AB', 45925 => 'Telenor Connexion AB', 45926 => 'Telenor Connexion AB', + 45927 => 'Telenor Connexion AB', 459270 => 'Ice Danmark', 459271 => 'Naka AG', 459272 => 'Thyfon', - 459273 => 'Telenor Connexion AB', - 459274 => 'Telenor Connexion AB', - 459275 => 'Telenor Connexion AB', - 459276 => 'Telenor Connexion AB', - 459277 => 'Telenor Connexion AB', - 459278 => 'Telenor Connexion AB', - 459279 => 'Telenor Connexion AB', 459280 => 'Voxbone', 459282 => 'Flexfone', 459290 => 'Justfone', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/502.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/502.php index 6ca439603..1ca1d866e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/502.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/502.php @@ -43,13 +43,7 @@ return array ( 50245 => 'Tigo', 50246 => 'Tigo', 50247 => 'Telgua', - 5024773 => 'Tigo', - 5024774 => 'Tigo', - 5024775 => 'Tigo', - 5024776 => 'Tigo', - 5024777 => 'Tigo', - 5024778 => 'Tigo', - 5024779 => 'Tigo', + 502477 => 'Tigo', 502478 => 'Tigo', 502479 => 'Tigo', 50248 => 'Tigo', @@ -112,39 +106,24 @@ return array ( 5025580 => 'Tigo', 5025581 => 'Tigo', 502559 => 'Telgua', - 502560 => 'Movistar', + 50256 => 'Movistar', 502561 => 'Telgua', 502562 => 'Telgua', 502563 => 'Telgua', - 502564 => 'Movistar', - 502565 => 'Movistar', - 502566 => 'Movistar', - 502567 => 'Movistar', - 502568 => 'Movistar', 502569 => 'Telgua', 50257 => 'Tigo', - 5025710 => 'Telgua', - 5025711 => 'Telgua', - 5025712 => 'Telgua', - 5025713 => 'Telgua', - 5025714 => 'Telgua', - 5025715 => 'Telgua', - 5025716 => 'Telgua', - 5025717 => 'Telgua', - 5025718 => 'Telgua', + 502571 => 'Telgua', 502579 => 'Movistar', + 50258 => 'Telgua', 502580 => 'Tigo', - 502581 => 'Telgua', 5025819 => 'Tigo', - 502582 => 'Telgua', - 502583 => 'Telgua', - 502584 => 'Telgua', - 502585 => 'Telgua', - 502586 => 'Telgua', - 502587 => 'Telgua', 502588 => 'Tigo', 502589 => 'Tigo', - 502591 => 'Telgua', + 5025910 => 'Telgua', + 5025911 => 'Telgua', + 5025912 => 'Telgua', + 5025913 => 'Telgua', + 5025914 => 'Telgua', 5025915 => 'Movistar', 5025916 => 'Movistar', 5025917 => 'Movistar', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/503.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/503.php index 0691fa12f..cd4cd663b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/503.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/503.php @@ -99,45 +99,20 @@ return array ( 50371 => 'Movistar', 50372 => 'Tigo', 50373 => 'Digicel', - 503740 => 'Digicel', - 503741 => 'Digicel', - 503742 => 'Digicel', - 503743 => 'Digicel', - 503744 => 'Digicel', + 50374 => 'Digicel', 503745 => 'Movistar', - 503746 => 'Digicel', 503747 => 'Tigo', 503748 => 'Tigo', 503749 => 'Tigo', 50375 => 'Tigo', - 503760 => 'Claro', - 503761 => 'Claro', - 503762 => 'Claro', - 503763 => 'Claro', - 503764 => 'Claro', - 503765 => 'Claro', - 503766 => 'Claro', + 50376 => 'Claro', 503767 => 'Tigo', - 5037680 => 'Tigo', - 5037681 => 'Tigo', - 5037682 => 'Tigo', - 5037683 => 'Tigo', - 5037684 => 'Tigo', - 5037685 => 'Tigo', - 50376860 => 'Tigo', - 50376861 => 'Tigo', - 50376862 => 'Tigo', - 50376863 => 'Tigo', - 50376864 => 'Tigo', + 503768 => 'Tigo', 50376865 => 'Movistar', 50376866 => 'Movistar', 50376867 => 'Movistar', 50376868 => 'Movistar', 50376869 => 'Movistar', - 5037687 => 'Claro', - 5037688 => 'Claro', - 5037689 => 'Claro', - 5037690 => 'Claro', 5037691 => 'Movistar', 5037692 => 'Movistar', 5037693 => 'Movistar', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/505.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/505.php index 65f68dff7..f9e46f8e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/505.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/505.php @@ -11,46 +11,15 @@ */ return array ( - 50555 => 'Claro', - 50557 => 'Claro', - 50558 => 'Claro', - 505620 => 'CooTel', - 505630 => 'CooTel', - 505633 => 'CooTel', - 505635 => 'CooTel', - 505640 => 'CooTel', - 505644 => 'CooTel', - 505645 => 'CooTel', - 505650 => 'CooTel', - 505655 => 'CooTel', - 505677 => 'CooTel', - 505681 => 'CooTel', - 505682 => 'CooTel', - 505683 => 'CooTel', - 505684 => 'CooTel', - 505685 => 'CooTel', - 505686 => 'CooTel', - 505687 => 'CooTel', - 505688 => 'CooTel', - 505689 => 'CooTel', - 505690 => 'CooTel', - 505695 => 'CooTel', - 505699 => 'CooTel', - 50575 => 'Movistar', - 50576 => 'Movistar', - 50577 => 'Movistar', - 50578 => 'Movistar', + 5055 => 'Claro', + 5056 => 'CooTel', + 5057 => 'Movistar', 50581 => 'Movistar', + 50582 => 'Movistar', 505820 => 'Claro', 505821 => 'Claro', 505822 => 'Claro', 505823 => 'Claro', - 505824 => 'Movistar', - 505825 => 'Movistar', - 505826 => 'Movistar', - 505827 => 'Movistar', - 505828 => 'Movistar', - 505829 => 'Movistar', 505832 => 'Movistar', 505833 => 'Claro', 505835 => 'Claro', @@ -58,16 +27,11 @@ return array ( 505837 => 'Movistar', 505838 => 'Movistar', 505839 => 'Movistar', - 505840 => 'Claro', - 505841 => 'Claro', - 505842 => 'Claro', - 505843 => 'Claro', - 505844 => 'Claro', + 50584 => 'Claro', 505845 => 'Movistar', 505846 => 'Movistar', 505847 => 'Movistar', 505848 => 'Movistar', - 505849 => 'Claro', 505850 => 'Claro', 505851 => 'Claro', 505852 => 'Claro', @@ -78,16 +42,9 @@ return array ( 505857 => 'Movistar', 505858 => 'Movistar', 505859 => 'Movistar', - 505860 => 'Claro', - 505861 => 'Claro', - 505862 => 'Claro', - 505863 => 'Claro', - 505864 => 'Claro', - 505865 => 'Claro', - 505866 => 'Claro', + 50586 => 'Claro', 505867 => 'Movistar', 505868 => 'Movistar', - 505869 => 'Claro', 505870 => 'Claro', 505871 => 'Claro', 505872 => 'Claro', @@ -98,16 +55,11 @@ return array ( 505877 => 'Movistar', 505878 => 'Movistar', 505879 => 'Movistar', - 505880 => 'Movistar', - 505881 => 'Movistar', + 50588 => 'Movistar', 505882 => 'Claro', 505883 => 'Claro', 505884 => 'Claro', 505885 => 'Claro', - 505886 => 'Movistar', - 505887 => 'Movistar', - 505888 => 'Movistar', - 505889 => 'Movistar', 505890 => 'Claro', 505891 => 'Claro', 505892 => 'Claro', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/506.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/506.php index 3dd49ad95..05a7003d4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/506.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/506.php @@ -11,12 +11,8 @@ */ return array ( - 506500 => 'OMV', - 506501 => 'OMV', - 506570 => 'OMV', - 506571 => 'OMV', - 506572 => 'OMV', - 506573 => 'OMV', + 50650 => 'OMV', + 50657 => 'OMV', 5066 => 'Movistar', 50670010 => 'Claro', 50670011 => 'Claro', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/507.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/507.php index a5d9aa381..c76b3f6ed 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/507.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/507.php @@ -16,12 +16,7 @@ return array ( 507218 => 'Telefónica Móviles', 507219 => 'Telefónica Móviles', 50760 => 'Digicel', - 507610 => 'Digicel', - 507611 => 'Digicel', - 507612 => 'Digicel', - 507613 => 'Digicel', - 507614 => 'Digicel', - 507615 => 'Digicel', + 50761 => 'Digicel', 50762 => 'Claro', 507630 => 'Claro', 507631 => 'Claro', @@ -34,12 +29,7 @@ return array ( 507638 => 'Telefónica Móviles', 507639 => 'Telefónica Móviles', 50764 => 'Telefónica Móviles', - 507650 => 'Cable & Wireless', - 507651 => 'Cable & Wireless', - 507652 => 'Cable & Wireless', - 507653 => 'Cable & Wireless', - 507654 => 'Cable & Wireless', - 507655 => 'Cable & Wireless', + 50765 => 'Cable & Wireless', 507656 => 'Telefónica Móviles', 507657 => 'Telefónica Móviles', 507658 => 'Telefónica Móviles', @@ -55,28 +45,16 @@ return array ( 507668 => 'Cable & Wireless', 507669 => 'Cable & Wireless', 50767 => 'Cable & Wireless', + 50768 => 'Telefónica Móviles', 507680 => 'Cable & Wireless', - 507681 => 'Telefónica Móviles', - 507682 => 'Telefónica Móviles', - 507683 => 'Telefónica Móviles', 507684 => 'Cable & Wireless', - 507685 => 'Telefónica Móviles', - 507686 => 'Telefónica Móviles', 507687 => 'Cable & Wireless', 507688 => 'Cable & Wireless', - 507689 => 'Telefónica Móviles', - 507690 => 'Cable & Wireless', - 507691 => 'Cable & Wireless', + 50769 => 'Cable & Wireless', 507692 => 'Telefónica Móviles', 507693 => 'Telefónica Móviles', - 507694 => 'Cable & Wireless', - 507695 => 'Cable & Wireless', - 507696 => 'Cable & Wireless', 507697 => 'Telefónica Móviles', - 507698 => 'Cable & Wireless', - 507699 => 'Cable & Wireless', - 507810 => 'Mobilphone', - 507811 => 'Mobilphone', + 50781 => 'Mobilphone', 507872 => 'Cable & Wireless', 507873 => 'Cable & Wireless', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/51.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/51.php index 4c235784d..a39dfbb08 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/51.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/51.php @@ -92,14 +92,7 @@ return array ( 51439434 => 'Movistar', 51439435 => 'Claro', 51439436 => 'Movistar', - 514394370 => 'Claro', - 514394371 => 'Claro', - 514394372 => 'Claro', - 514394373 => 'Claro', - 514394374 => 'Claro', - 514394375 => 'Claro', - 514394376 => 'Claro', - 514394377 => 'Claro', + 51439437 => 'Claro', 514394378 => 'Movistar', 514394379 => 'Movistar', 51439438 => 'Movistar', @@ -126,13 +119,7 @@ return array ( 51449486 => 'Movistar', 51449488 => 'Movistar', 51449489 => 'Movistar', - 514494900 => 'Movistar', - 514494901 => 'Movistar', - 514494902 => 'Movistar', - 514494903 => 'Movistar', - 514494904 => 'Movistar', - 514494905 => 'Movistar', - 514494906 => 'Movistar', + 51449490 => 'Movistar', 514494907 => 'Claro', 514494908 => 'Claro', 514494909 => 'Claro', @@ -147,14 +134,7 @@ return array ( 514494954 => 'Movistar', 514494955 => 'Movistar', 51449496 => 'Movistar', - 514494970 => 'Claro', - 514494971 => 'Claro', - 514494972 => 'Claro', - 514494973 => 'Claro', - 514494974 => 'Claro', - 514494975 => 'Claro', - 514494976 => 'Claro', - 514494977 => 'Claro', + 51449497 => 'Claro', 514494978 => 'Movistar', 514494979 => 'Movistar', 51449498 => 'Movistar', @@ -269,14 +249,7 @@ return array ( 515495898 => 'Claro', 51549590 => 'Movistar', 51549591 => 'Claro', - 515495920 => 'Claro', - 515495921 => 'Claro', - 515495922 => 'Claro', - 515495923 => 'Claro', - 515495924 => 'Claro', - 515495925 => 'Claro', - 515495926 => 'Claro', - 515495927 => 'Claro', + 51549592 => 'Claro', 515495928 => 'Movistar', 515495929 => 'Movistar', 51549593 => 'Claro', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/56.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/56.php index 7bb0b0f38..bab8b14b8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/56.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/56.php @@ -30,16 +30,11 @@ return array ( 569438 => 'Virgin Mobile', 569439 => 'Virgin Mobile', 56950 => 'Claro', + 56951 => 'Entel', 569510 => 'Virgin Mobile', 569511 => 'Virgin Mobile', 569512 => 'Virgin Mobile', 569513 => 'Virgin Mobile', - 569514 => 'Entel', - 569515 => 'Entel', - 569516 => 'Entel', - 569517 => 'Entel', - 569518 => 'Entel', - 569519 => 'Entel', 569520 => 'Entel', 569521 => 'Entel', 569522 => 'Entel', @@ -103,14 +98,9 @@ return array ( 569647 => 'Movistar', 569648 => 'Movistar', 569649 => 'Movistar', + 56965 => 'Claro', 569650 => 'Entel', 569651 => 'Entel', - 569652 => 'Claro', - 569653 => 'Claro', - 569654 => 'Claro', - 569655 => 'Claro', - 569656 => 'Claro', - 569657 => 'Claro', 569658 => 'Entel', 569659 => 'Entel', 56966 => 'Entel', @@ -147,14 +137,7 @@ return array ( 5696797 => 'Entel', 5696798 => 'Entel', 5696799 => 'Entel', - 569680 => 'Movistar', - 569681 => 'Movistar', - 569682 => 'Movistar', - 569683 => 'Movistar', - 569684 => 'Movistar', - 569685 => 'Movistar', - 569686 => 'Movistar', - 569687 => 'Movistar', + 56968 => 'Movistar', 569688 => 'Nómade Telecomunicaciones', 5696890 => 'Netline', 5696891 => 'Netline', @@ -191,35 +174,14 @@ return array ( 569718 => 'Claro', 569719 => 'Claro', 56972 => 'Claro', - 569730 => 'Claro', - 569731 => 'Claro', - 569732 => 'Claro', - 569733 => 'Claro', - 569734 => 'Claro', - 569735 => 'Claro', - 569736 => 'Claro', + 56973 => 'Claro', 569737 => 'Entel', 569738 => 'Entel', 569739 => 'Entel', + 56974 => 'Movistar', 569740 => 'Claro', - 569741 => 'Movistar', - 569742 => 'Movistar', - 569743 => 'Movistar', - 569744 => 'Movistar', - 569745 => 'Movistar', - 569746 => 'Movistar', - 569747 => 'Movistar', - 569748 => 'Movistar', - 569749 => 'Movistar', + 56975 => 'Entel', 569750 => 'WOM', - 569751 => 'Entel', - 569752 => 'Entel', - 569753 => 'Entel', - 569754 => 'Entel', - 569755 => 'Entel', - 569756 => 'Entel', - 569757 => 'Entel', - 569758 => 'Entel', 569759 => 'Claro', 569760 => 'Entel', 569761 => 'Movistar', @@ -241,13 +203,8 @@ return array ( 569777 => 'Claro', 569778 => 'Claro', 569779 => 'Claro', + 56978 => 'Claro', 569780 => 'Entel', - 569781 => 'Claro', - 569782 => 'Claro', - 569783 => 'Claro', - 569784 => 'Claro', - 569785 => 'Claro', - 569786 => 'Claro', 569787 => 'Entel', 569788 => 'Entel', 569789 => 'Entel', @@ -283,14 +240,7 @@ return array ( 569819 => 'Entel', 56982 => 'Entel', 56983 => 'Movistar', - 569840 => 'Entel', - 569841 => 'Entel', - 569842 => 'Entel', - 569843 => 'Entel', - 569844 => 'Entel', - 569845 => 'Entel', - 569846 => 'Entel', - 569847 => 'Entel', + 56984 => 'Entel', 569848 => 'Claro', 569849 => 'Claro', 56985 => 'Movistar', @@ -318,25 +268,13 @@ return array ( 56989 => 'Movistar', 569900 => 'Claro', 569901 => 'Movistar', - 5699020 => 'Movistar', - 5699021 => 'Movistar', - 5699022 => 'Movistar', - 5699023 => 'Movistar', - 5699024 => 'Movistar', - 5699025 => 'Movistar', + 569902 => 'Movistar', 5699026 => 'Mobilink', 5699027 => 'Mobilink', 5699028 => 'WOM', 5699029 => 'WOM', 569903 => 'Movistar', - 5699040 => 'Movistar', - 5699041 => 'Movistar', - 5699042 => 'Movistar', - 5699043 => 'Movistar', - 5699044 => 'Movistar', - 5699045 => 'Movistar', - 5699046 => 'Movistar', - 5699047 => 'Movistar', + 569904 => 'Movistar', 5699048 => 'WOM', 5699049 => 'WOM', 569905 => 'Claro', @@ -405,24 +343,10 @@ return array ( 5699388 => 'Claro', 5699389 => 'Movistar', 569939 => 'Claro', - 569940 => 'Movistar', + 56994 => 'Movistar', 569941 => 'Entel', - 569942 => 'Movistar', - 569943 => 'Movistar', - 569944 => 'Movistar', - 569945 => 'Movistar', - 569946 => 'Movistar', 569947 => 'Entel', - 5699480 => 'Movistar', - 5699481 => 'Movistar', - 5699482 => 'Movistar', - 5699483 => 'Entel', - 5699484 => 'Entel', - 5699485 => 'Entel', - 5699486 => 'Entel', - 5699487 => 'Entel', - 5699488 => 'Entel', - 5699489 => 'Entel', + 569948 => 'Entel', 569949 => 'Entel', 569950 => 'Entel', 569951 => 'Entel', @@ -443,63 +367,24 @@ return array ( 5699588 => 'Claro', 5699589 => 'Claro', 569959 => 'Entel', - 5699600 => 'Movistar', + 56996 => 'Movistar', 5699601 => 'Entel', - 5699602 => 'Movistar', - 5699603 => 'Movistar', - 5699604 => 'Movistar', - 5699605 => 'Movistar', - 5699606 => 'Movistar', 5699607 => 'Entel', - 5699608 => 'Movistar', 5699609 => 'Claro', 569961 => 'Entel', - 569962 => 'Movistar', - 569963 => 'Movistar', - 569964 => 'Movistar', - 569965 => 'Movistar', - 569966 => 'Movistar', 569967 => 'Entel', - 5699680 => 'Movistar', - 5699681 => 'Movistar', - 5699682 => 'Claro', - 5699683 => 'Claro', - 5699684 => 'Claro', - 5699685 => 'Claro', - 5699686 => 'Claro', - 5699687 => 'Claro', - 5699688 => 'Claro', - 5699689 => 'Claro', + 569968 => 'Claro', 569969 => 'Entel', - 569970 => 'Movistar', + 56997 => 'Movistar', 569971 => 'Entel', - 569972 => 'Movistar', - 569973 => 'Movistar', - 569974 => 'Movistar', - 569975 => 'Movistar', - 569976 => 'Movistar', 569977 => 'Entel', - 5699780 => 'Movistar', - 5699781 => 'Movistar', - 5699782 => 'Movistar', - 5699783 => 'Movistar', - 5699784 => 'Entel', - 5699785 => 'Entel', - 5699786 => 'Entel', - 5699787 => 'Entel', - 5699788 => 'Entel', - 5699789 => 'Entel', + 569978 => 'Entel', 569979 => 'Entel', + 56998 => 'Entel', 569980 => 'Claro', - 569981 => 'Entel', - 569982 => 'Entel', - 569983 => 'Entel', 569984 => 'Claro', 569985 => 'Claro', 569986 => 'Claro', - 569987 => 'Entel', - 569988 => 'Entel', - 569989 => 'Entel', 569990 => 'Movistar', 569991 => 'Entel', 569992 => 'Claro', @@ -527,14 +412,6 @@ return array ( 5699978 => 'Claro', 5699979 => 'Claro', 569998 => 'Claro', + 569999 => 'Entel', 5699990 => 'Tesacom', - 5699991 => 'Entel', - 5699992 => 'Entel', - 5699993 => 'Entel', - 5699994 => 'Entel', - 5699995 => 'Entel', - 5699996 => 'Entel', - 5699997 => 'Entel', - 5699998 => 'Entel', - 5699999 => 'Entel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/57.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/57.php index 509c0eaaf..626b1480b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/57.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/57.php @@ -27,10 +27,6 @@ return array ( 57317 => 'Movistar', 57318 => 'Movistar', 57319 => 'Virgin Mobile', - 57320 => 'Claro', - 57321 => 'Claro', - 57322 => 'Claro', - 57323 => 'Claro', - 57350 => 'Avantel', - 57351 => 'Avantel', + 5732 => 'Claro', + 5735 => 'Avantel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/590.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/590.php index 5c12c4a19..497b58c4c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/590.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/590.php @@ -56,10 +56,5 @@ return array ( 5906909 => 'SFR/Rife', 59069122 => 'Dauphin Telecom', 59069129 => 'Digicel', - 59069130 => 'Arcane', - 59069131 => 'Arcane', - 59069132 => 'Arcane', - 59069133 => 'Arcane', - 59069134 => 'Arcane', - 59069135 => 'Arcane', + 5906913 => 'Arcane', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/593.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/593.php index 1d3378f67..4c009ca77 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/593.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/593.php @@ -11,7 +11,7 @@ */ return array ( - 593939 => 'Claro', + 59393 => 'Claro', 5939586 => 'Movistar', 5939587 => 'Movistar', 5939588 => 'Movistar', @@ -29,7 +29,7 @@ return array ( 5939627 => 'Movistar', 5939628 => 'Movistar', 5939629 => 'Movistar', - 5939630 => 'Movistar', + 593963 => 'Movistar', 593967 => 'Claro', 593968 => 'Claro', 593969 => 'Claro', @@ -38,36 +38,20 @@ return array ( 5939787 => 'Movistar', 5939788 => 'Movistar', 5939789 => 'Movistar', + 593979 => 'Claro', 5939790 => 'Movistar', 5939791 => 'Movistar', 5939792 => 'Movistar', 5939793 => 'Movistar', - 5939794 => 'Claro', - 5939795 => 'Claro', - 5939796 => 'Claro', - 5939797 => 'Claro', - 5939798 => 'Claro', - 5939799 => 'Claro', - 593980 => 'Claro', - 593981 => 'Claro', + 59398 => 'Claro', 5939820 => 'CNT', 5939821 => 'CNT', 5939822 => 'CNT', 5939823 => 'CNT', 5939824 => 'CNT', - 5939825 => 'Claro', - 5939826 => 'Claro', - 5939827 => 'Claro', - 5939828 => 'Claro', - 5939829 => 'Claro', 593983 => 'Movistar', - 5939836 => 'Claro', 593984 => 'Movistar', - 593985 => 'Claro', - 593986 => 'Claro', 593987 => 'Movistar', - 593988 => 'Claro', - 593989 => 'Claro', 593990 => 'Claro', 593991 => 'Claro', 5939920 => 'Claro', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/594.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/594.php index 4751fd31d..7660bf31b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/594.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/594.php @@ -23,12 +23,7 @@ return array ( 59469418 => 'SFR', 59469419 => 'SFR', 5946942 => 'Orange', - 59469430 => 'Orange', - 59469431 => 'Orange', - 59469432 => 'Orange', - 59469433 => 'Orange', - 59469434 => 'Orange', - 59469438 => 'Orange', + 5946943 => 'Orange', 5946944 => 'Orange', 59469446 => 'SFR', 59469447 => 'SFR', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/595.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/595.php index 23e771e34..2a2ed14a6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/595.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/595.php @@ -11,25 +11,9 @@ */ return array ( - 595951 => 'VOX', - 595961 => 'VOX', - 595962 => 'VOX', - 595969 => 'VOX', - 595971 => 'Personal', - 595972 => 'Personal', - 595973 => 'Personal', - 595974 => 'Personal', - 595975 => 'Personal', - 595976 => 'Personal', - 595981 => 'Tigo', - 595982 => 'Tigo', - 595983 => 'Tigo', - 595984 => 'Tigo', - 595985 => 'Tigo', - 595986 => 'Tigo', - 595991 => 'Claro', - 595992 => 'Claro', - 595993 => 'Claro', - 595994 => 'Claro', - 595995 => 'Claro', + 59595 => 'VOX', + 59596 => 'VOX', + 59597 => 'Personal', + 59598 => 'Tigo', + 59599 => 'Claro', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/596.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/596.php index 9e3a164f8..be335bc27 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/596.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/596.php @@ -28,23 +28,13 @@ return array ( 59669654 => 'Digicel', 59669655 => 'Orange', 59669656 => 'Orange', - 59669660 => 'SFR/Rife', - 59669661 => 'SFR/Rife', - 59669662 => 'SFR/Rife', - 59669663 => 'SFR/Rife', - 59669664 => 'SFR/Rife', + 5966966 => 'SFR/Rife', 5966967 => 'Digicel', - 59669680 => 'Orange', - 59669681 => 'Orange', - 59669682 => 'Orange', - 59669683 => 'Orange', - 59669684 => 'Orange', - 59669685 => 'Orange', - 59669686 => 'Orange', + 5966968 => 'Orange', 59669687 => 'SFR/Rife', 59669688 => 'SFR/Rife', 59669689 => 'SFR/Rife', 5966969 => 'Digicel', 59669699 => 'Orange', - 59669727 => 'Digicel', + 596697 => 'Digicel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/599.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/599.php index d489622e0..d777f45bf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/599.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/599.php @@ -25,14 +25,10 @@ return array ( 5994167 => 'WIC', 5994168 => 'WIC', 5994169 => 'Satel', - 599700 => 'Digicel', - 599701 => 'Digicel', - 599770 => 'Kla', - 599777 => 'Kla', + 59970 => 'Digicel', + 59977 => 'Kla', 59978 => 'Digicel', - 599790 => 'Chippie', - 599795 => 'Chippie', - 599796 => 'Chippie', + 59979 => 'Chippie', 599951 => 'Chippie', 599952 => 'Chippie', 599953 => 'Chippie', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/60.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/60.php index c63b93cdd..91982ae98 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/60.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/60.php @@ -62,15 +62,7 @@ return array ( 601087 => 'XOX', 601088 => 'DiGi', 601089 => 'Maxis', - 601090 => 'DiGi', - 601091 => 'DiGi', - 601092 => 'DiGi', - 601093 => 'DiGi', - 601094 => 'DiGi', - 601095 => 'DiGi', - 601096 => 'DiGi', - 601097 => 'DiGi', - 601098 => 'DiGi', + 60109 => 'DiGi', 6011100 => 'Webe', 6011101 => 'Webe', 6011102 => 'Webe', @@ -226,11 +218,7 @@ return array ( 6011597 => 'XOX', 6011598 => 'XOX', 6011599 => 'XOX', - 6011605 => 'U Mobile', - 6011606 => 'U Mobile', - 6011607 => 'U Mobile', - 6011608 => 'U Mobile', - 6011609 => 'U Mobile', + 601160 => 'U Mobile', 601161 => 'U Mobile', 6011620 => 'U Mobile', 6011621 => 'U Mobile', @@ -247,22 +235,15 @@ return array ( 60147 => 'Maxis', 60148 => 'Celcom', 60149 => 'DiGi', - 6015460 => 'Telekom', - 6015461 => 'Telekom', - 60154821 => 'TT dotCom', + 601546 => 'Telekom', + 6015482 => 'TT dotCom', 60154840 => 'red ONE', 60154841 => 'Bizsurf', 60154848 => 'Webe', 60154849 => 'Webe', - 60154851 => 'Maxis', + 6015485 => 'Maxis', + 6015487 => 'red ONE', 60154870 => 'Optical Communication', - 60154871 => 'red ONE', - 60154872 => 'red ONE', - 60154873 => 'red ONE', - 60154874 => 'red ONE', - 60154876 => 'red ONE', - 60154877 => 'red ONE', - 60154879 => 'red ONE', 6015920 => 'Celcom', 6015921 => 'Celcom', 6015922 => 'Celcom', @@ -283,22 +264,12 @@ return array ( 601837 => 'U Mobile', 601838 => 'U Mobile', 601839 => 'U Mobile', - 601840 => 'U Mobile', - 601846 => 'U Mobile', - 601847 => 'U Mobile', + 60184 => 'U Mobile', 601857 => 'U Mobile', 601858 => 'YTL', 601859 => 'YTL', - 601860 => 'YTL', - 601861 => 'YTL', - 601862 => 'YTL', - 601863 => 'YTL', - 601864 => 'YTL', - 601865 => 'YTL', + 60186 => 'YTL', 601866 => 'U Mobile', - 601867 => 'YTL', - 601868 => 'YTL', - 601869 => 'YTL', 601870 => 'YTL', 601871 => 'YTL', 601876 => 'U Mobile', @@ -316,20 +287,10 @@ return array ( 6018799 => 'YTL', 601880 => 'YTL', 601881 => 'YTL', - 6018820 => 'YTL', - 6018821 => 'YTL', - 6018822 => 'YTL', - 6018823 => 'YTL', - 6018824 => 'YTL', + 601882 => 'YTL', 601887 => 'U Mobile', - 601890 => 'U Mobile', - 601891 => 'U Mobile', + 60189 => 'U Mobile', 601892 => 'YTL', 601893 => 'YTL', - 601894 => 'U Mobile', - 601895 => 'U Mobile', - 601896 => 'U Mobile', - 601897 => 'U Mobile', - 601898 => 'U Mobile', 6019 => 'Celcom', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/61.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/61.php index 9302774fe..f8b8429a2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/61.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/61.php @@ -90,9 +90,5 @@ return array ( 61488 => 'Telstra', 614888 => 'My Number', 6148984 => 'Victorian Rail Track', - 61490 => 'Telstra', - 61491 => 'Telstra', - 61497 => 'Telstra', - 61498 => 'Telstra', - 61499 => 'Telstra', + 6149 => 'Telstra', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/62.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/62.php index 5d7a16de7..524141aac 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/62.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/62.php @@ -11,627 +11,6 @@ */ return array ( - 6221317 => 'Esia', - 62213430 => 'Esia', - 62213431 => 'Esia', - 62213432 => 'Esia', - 62213433 => 'Esia', - 62213434 => 'Esia', - 6221358 => 'Esia', - 6221359 => 'Esia', - 6221409 => 'Esia', - 6221410 => 'Esia', - 6221411 => 'Esia', - 6221412 => 'Esia', - 6221413 => 'Esia', - 6221414 => 'Esia', - 6221415 => 'Esia', - 6221416 => 'Esia', - 6221417 => 'Esia', - 6221418 => 'Esia', - 6221511 => 'Esia', - 6221512 => 'Esia', - 6221513 => 'Esia', - 62215141 => 'Esia', - 62215142 => 'Esia', - 62215143 => 'Esia', - 62215144 => 'Esia', - 62215145 => 'Esia', - 62215146 => 'Esia', - 62215147 => 'Esia', - 62215148 => 'Esia', - 62215149 => 'Esia', - 6221561 => 'Esia', - 62215936 => 'Esia', - 6221602 => 'Esia', - 6221603 => 'Esia', - 6221604 => 'Esia', - 6221605 => 'Esia', - 62216060 => 'Esia', - 62216061 => 'Esia', - 62216062 => 'Esia', - 62216063 => 'Esia', - 62216064 => 'Esia', - 6221607 => 'Esia', - 6221608 => 'Esia', - 6221609 => 'Esia', - 6221802 => 'Esia', - 6221803 => 'Esia', - 6221807 => 'Esia', - 6221832 => 'Esia', - 6221833 => 'Esia', - 6221834 => 'Esia', - 6221836 => 'Esia', - 62218380 => 'Esia', - 62218381 => 'Esia', - 62218382 => 'Esia', - 62218383 => 'Esia', - 62218384 => 'Esia', - 62218390 => 'Esia', - 62218391 => 'Esia', - 62218392 => 'Esia', - 62218393 => 'Esia', - 62218394 => 'Esia', - 6221853 => 'Esia', - 6221854 => 'Esia', - 62218553 => 'Esia', - 62218554 => 'Esia', - 62218555 => 'Esia', - 62218556 => 'Esia', - 62218557 => 'Esia', - 62218558 => 'Esia', - 62218559 => 'Esia', - 62218954 => 'Esia', - 62218955 => 'Esia', - 62218956 => 'Esia', - 62218957 => 'Esia', - 62218958 => 'Esia', - 62218959 => 'Esia', - 62218960 => 'Esia', - 62218961 => 'Esia', - 62218962 => 'Esia', - 62218963 => 'Esia', - 62218964 => 'Esia', - 62218965 => 'Esia', - 62218966 => 'Esia', - 62219 => 'Esia', - 6222880 => 'Esia', - 62228810 => 'Esia', - 62228811 => 'Esia', - 62228812 => 'Esia', - 622291 => 'Esia', - 622292 => 'Esia', - 622293 => 'Esia', - 622295 => 'Esia', - 6222960 => 'Esia', - 62229610 => 'Esia', - 62229611 => 'Esia', - 62229612 => 'Esia', - 62229613 => 'Esia', - 62229614 => 'Esia', - 62229615 => 'Esia', - 62229616 => 'Esia', - 6222990 => 'Esia', - 6222991 => 'Esia', - 6222992 => 'Esia', - 6222993 => 'Esia', - 6222994 => 'Esia', - 6222995 => 'Esia', - 6222996 => 'Esia', - 6222997 => 'Esia', - 6223191 => 'Esia', - 6223192 => 'Esia', - 6223193 => 'Esia', - 6223194 => 'Esia', - 62231950 => 'Esia', - 6223291 => 'Esia', - 6223292 => 'Esia', - 62232930 => 'Esia', - 62232931 => 'Esia', - 62232932 => 'Esia', - 62232933 => 'Esia', - 62232934 => 'Esia', - 62232935 => 'Esia', - 62232936 => 'Esia', - 62232937 => 'Esia', - 62232938 => 'Esia', - 6223391 => 'Esia', - 62233920 => 'Esia', - 62233921 => 'Esia', - 62233922 => 'Esia', - 62233923 => 'Esia', - 62233924 => 'Esia', - 62233925 => 'Esia', - 62233926 => 'Esia', - 62233927 => 'Esia', - 62233928 => 'Esia', - 6223491 => 'Esia', - 6223492 => 'Esia', - 62243600 => 'Esia', - 62243601 => 'Esia', - 62243602 => 'Esia', - 62243603 => 'Esia', - 62243604 => 'Esia', - 62243605 => 'Esia', - 622491 => 'Esia', - 6225131 => 'Esia', - 6225132 => 'Esia', - 6225133 => 'Esia', - 6225140 => 'Esia', - 6225141 => 'Esia', - 622519 => 'Esia', - 62252910 => 'Esia', - 62252911 => 'Esia', - 62252912 => 'Esia', - 62252913 => 'Esia', - 62252914 => 'Esia', - 6225298 => 'Esia', - 6225299 => 'Esia', - 62253910 => 'Esia', - 62253911 => 'Esia', - 62253912 => 'Esia', - 62253913 => 'Esia', - 62253914 => 'Esia', - 6225398 => 'Esia', - 6225399 => 'Esia', - 6225490 => 'Esia', - 6225491 => 'Esia', - 6225492 => 'Esia', - 6225493 => 'Esia', - 6225494 => 'Esia', - 6225495 => 'Esia', - 6226091 => 'Esia', - 62260920 => 'Esia', - 62260921 => 'Esia', - 62260922 => 'Esia', - 62260923 => 'Esia', - 62260924 => 'Esia', - 6226099 => 'Esia', - 6226191 => 'Esia', - 6226192 => 'Esia', - 6226291 => 'Esia', - 62262920 => 'Esia', - 62262921 => 'Esia', - 62262922 => 'Esia', - 62262923 => 'Esia', - 62262924 => 'Esia', - 62262925 => 'Esia', - 62262926 => 'Esia', - 62262927 => 'Esia', - 6226297 => 'Esia', - 6226298 => 'Esia', - 6226299 => 'Esia', - 6226391 => 'Esia', - 6226392 => 'Esia', - 62263930 => 'Esia', - 62263931 => 'Esia', - 62263932 => 'Esia', - 62263933 => 'Esia', - 62263934 => 'Esia', - 62263935 => 'Esia', - 6226491 => 'Esia', - 62264920 => 'Esia', - 62264921 => 'Esia', - 62264922 => 'Esia', - 62264923 => 'Esia', - 62264924 => 'Esia', - 62264925 => 'Esia', - 62264926 => 'Esia', - 62264927 => 'Esia', - 62264928 => 'Esia', - 6226590 => 'Esia', - 6226591 => 'Esia', - 6226592 => 'Esia', - 6226593 => 'Esia', - 62265985 => 'Esia', - 62265986 => 'Esia', - 62265987 => 'Esia', - 62265988 => 'Esia', - 62265989 => 'Esia', - 6226599 => 'Esia', - 6226690 => 'Esia', - 6226691 => 'Esia', - 6226692 => 'Esia', - 6226693 => 'Esia', - 6226790 => 'Esia', - 6226791 => 'Esia', - 6226792 => 'Esia', - 6226794 => 'Esia', - 6227191 => 'Esia', - 6227192 => 'Esia', - 6227193 => 'Esia', - 6227194 => 'Esia', - 6227195 => 'Esia', - 6227196 => 'Esia', - 6227197 => 'Esia', - 6227198 => 'Esia', - 62272900 => 'Esia', - 62272901 => 'Esia', - 62272902 => 'Esia', - 62272903 => 'Esia', - 62272904 => 'Esia', - 6227299 => 'Esia', - 6227391 => 'Esia', - 62273920 => 'Esia', - 62273921 => 'Esia', - 62273922 => 'Esia', - 62273923 => 'Esia', - 62273924 => 'Esia', - 6227435 => 'Esia', - 6227491 => 'Esia', - 6227492 => 'Esia', - 6227493 => 'Esia', - 6227494 => 'Esia', - 6227495 => 'Esia', - 6227496 => 'Esia', - 6227497 => 'Esia', - 62274980 => 'Esia', - 62274981 => 'Esia', - 62274982 => 'Esia', - 62274983 => 'Esia', - 62274984 => 'Esia', - 62274985 => 'Esia', - 62274986 => 'Esia', - 62274987 => 'Esia', - 6227599 => 'Esia', - 62276910 => 'Esia', - 62276911 => 'Esia', - 62276912 => 'Esia', - 62276913 => 'Esia', - 62276914 => 'Esia', - 62276915 => 'Esia', - 62276916 => 'Esia', - 6227699 => 'Esia', - 6228191 => 'Esia', - 6228192 => 'Esia', - 62281985 => 'Esia', - 62281986 => 'Esia', - 62281987 => 'Esia', - 62281988 => 'Esia', - 62281989 => 'Esia', - 6228199 => 'Esia', - 6228291 => 'Esia', - 6228391 => 'Esia', - 62283920 => 'Esia', - 62283921 => 'Esia', - 62283922 => 'Esia', - 62283923 => 'Esia', - 62283924 => 'Esia', - 62283985 => 'Esia', - 62283986 => 'Esia', - 62283987 => 'Esia', - 62283988 => 'Esia', - 62283989 => 'Esia', - 6228399 => 'Esia', - 62284910 => 'Esia', - 62284911 => 'Esia', - 62284912 => 'Esia', - 62284913 => 'Esia', - 62284990 => 'Esia', - 62284991 => 'Esia', - 62284992 => 'Esia', - 62284993 => 'Esia', - 62284994 => 'Esia', - 62284995 => 'Esia', - 62284996 => 'Esia', - 6228591 => 'Esia', - 6228599 => 'Esia', - 6228699 => 'Esia', - 6228799 => 'Esia', - 6229191 => 'Esia', - 6229299 => 'Esia', - 6229391 => 'Esia', - 6229399 => 'Esia', - 6229490 => 'Esia', - 62294910 => 'Esia', - 62294911 => 'Esia', - 62294912 => 'Esia', - 62294913 => 'Esia', - 62294914 => 'Esia', - 62295993 => 'Esia', - 62295994 => 'Esia', - 62295995 => 'Esia', - 62295996 => 'Esia', - 62295997 => 'Esia', - 62295998 => 'Esia', - 62295999 => 'Esia', - 6229891 => 'Esia', - 62298920 => 'Esia', - 62298921 => 'Esia', - 62298922 => 'Esia', - 62298923 => 'Esia', - 62298924 => 'Esia', - 623191 => 'Esia', - 623192 => 'Esia', - 6231930 => 'Esia', - 6231931 => 'Esia', - 6232191 => 'Esia', - 6232192 => 'Esia', - 6232291 => 'Esia', - 62322920 => 'Esia', - 62322921 => 'Esia', - 62322922 => 'Esia', - 62322923 => 'Esia', - 62322924 => 'Esia', - 62324995 => 'Esia', - 62324996 => 'Esia', - 62324997 => 'Esia', - 62324998 => 'Esia', - 62324999 => 'Esia', - 6233191 => 'Esia', - 6233192 => 'Esia', - 62331985 => 'Esia', - 62331986 => 'Esia', - 62331987 => 'Esia', - 62331988 => 'Esia', - 62331989 => 'Esia', - 62331990 => 'Esia', - 62331991 => 'Esia', - 62331992 => 'Esia', - 62331993 => 'Esia', - 62331994 => 'Esia', - 62333985 => 'Esia', - 62333986 => 'Esia', - 62333987 => 'Esia', - 62333988 => 'Esia', - 62333989 => 'Esia', - 6233399 => 'Esia', - 62334985 => 'Esia', - 62334986 => 'Esia', - 62334987 => 'Esia', - 62334988 => 'Esia', - 62334989 => 'Esia', - 6233499 => 'Esia', - 62335995 => 'Esia', - 62335996 => 'Esia', - 62335997 => 'Esia', - 62335998 => 'Esia', - 62335999 => 'Esia', - 6234165 => 'Esia', - 6234166 => 'Esia', - 6234167 => 'Esia', - 62341680 => 'Esia', - 62341681 => 'Esia', - 62341682 => 'Esia', - 62341683 => 'Esia', - 62341684 => 'Esia', - 62341685 => 'Esia', - 6234197 => 'Esia', - 6234198 => 'Esia', - 6234199 => 'Esia', - 62342995 => 'Esia', - 62342996 => 'Esia', - 62342997 => 'Esia', - 62342998 => 'Esia', - 62342999 => 'Esia', - 6234391 => 'Esia', - 62343920 => 'Esia', - 62343921 => 'Esia', - 62343922 => 'Esia', - 62343923 => 'Esia', - 62343924 => 'Esia', - 62351975 => 'Esia', - 62351976 => 'Esia', - 62351977 => 'Esia', - 62351978 => 'Esia', - 62351979 => 'Esia', - 6235198 => 'Esia', - 6235199 => 'Esia', - 62353995 => 'Esia', - 62353996 => 'Esia', - 62353997 => 'Esia', - 62353998 => 'Esia', - 62353999 => 'Esia', - 6235490 => 'Esia', - 6235491 => 'Esia', - 6235492 => 'Esia', - 6235598 => 'Esia', - 6235599 => 'Esia', - 62358995 => 'Esia', - 62358996 => 'Esia', - 62358997 => 'Esia', - 62358998 => 'Esia', - 62358999 => 'Esia', - 6236139 => 'Esia', - 62361600 => 'Esia', - 62361601 => 'Esia', - 62361602 => 'Esia', - 62361603 => 'Esia', - 62361604 => 'Esia', - 62361605 => 'Esia', - 62361606 => 'Esia', - 6236196 => 'Esia', - 6236199 => 'Esia', - 6236285 => 'Esia', - 6236286 => 'Esia', - 6236299 => 'Esia', - 62370985 => 'Esia', - 62370986 => 'Esia', - 62370987 => 'Esia', - 62370988 => 'Esia', - 62370989 => 'Esia', - 6237099 => 'Esia', - 62380400 => 'Esia', - 62380401 => 'Esia', - 62380402 => 'Esia', - 62380403 => 'Esia', - 62380404 => 'Esia', - 62380995 => 'Esia', - 62380996 => 'Esia', - 62380997 => 'Esia', - 62380998 => 'Esia', - 62380999 => 'Esia', - 62401700 => 'Esia', - 62401701 => 'Esia', - 62401702 => 'Esia', - 62401703 => 'Esia', - 62401704 => 'Esia', - 6241191 => 'Esia', - 6241192 => 'Esia', - 6241193 => 'Esia', - 6241194 => 'Esia', - 6241195 => 'Esia', - 6241196 => 'Esia', - 62411970 => 'Esia', - 62411971 => 'Esia', - 62411972 => 'Esia', - 62411973 => 'Esia', - 62411974 => 'Esia', - 62421990 => 'Esia', - 62421991 => 'Esia', - 62421992 => 'Esia', - 62421993 => 'Esia', - 62421994 => 'Esia', - 62426400 => 'Esia', - 62426401 => 'Esia', - 62426402 => 'Esia', - 62426403 => 'Esia', - 62426404 => 'Esia', - 62426995 => 'Esia', - 62426996 => 'Esia', - 62426997 => 'Esia', - 62426998 => 'Esia', - 62426999 => 'Esia', - 6243191 => 'Esia', - 6243199 => 'Esia', - 62435985 => 'Esia', - 62435986 => 'Esia', - 62435987 => 'Esia', - 62435988 => 'Esia', - 62435989 => 'Esia', - 6243599 => 'Esia', - 6243899 => 'Esia', - 62451610 => 'Esia', - 62451611 => 'Esia', - 62451612 => 'Esia', - 62451613 => 'Esia', - 62451614 => 'Esia', - 62481990 => 'Esia', - 62481991 => 'Esia', - 62481992 => 'Esia', - 62481993 => 'Esia', - 62481994 => 'Esia', - 6251191 => 'Esia', - 6251192 => 'Esia', - 6251199 => 'Esia', - 62518320 => 'Esia', - 62518321 => 'Esia', - 62518322 => 'Esia', - 62518990 => 'Esia', - 62518991 => 'Esia', - 62518992 => 'Esia', - 62518993 => 'Esia', - 62536200 => 'Esia', - 62536201 => 'Esia', - 62536202 => 'Esia', - 62536203 => 'Esia', - 62536204 => 'Esia', - 6254190 => 'Esia', - 6254191 => 'Esia', - 6254192 => 'Esia', - 6254291 => 'Esia', - 6254292 => 'Esia', - 62548990 => 'Esia', - 62548991 => 'Esia', - 62548992 => 'Esia', - 62548993 => 'Esia', - 62548994 => 'Esia', - 62549990 => 'Esia', - 62549991 => 'Esia', - 62549992 => 'Esia', - 62549993 => 'Esia', - 62549994 => 'Esia', - 6256191 => 'Esia', - 6256192 => 'Esia', - 62562990 => 'Esia', - 62562991 => 'Esia', - 62562992 => 'Esia', - 62562993 => 'Esia', - 62562994 => 'Esia', - 626191 => 'Esia', - 6261920 => 'Esia', - 6261921 => 'Esia', - 6264592 => 'Esia', - 6264593 => 'Esia', - 6265198 => 'Esia', - 6265199 => 'Esia', - 6271191 => 'Esia', - 6271192 => 'Esia', - 6271193 => 'Esia', - 6271194 => 'Esia', - 6271195 => 'Esia', - 6271399 => 'Esia', - 62717400 => 'Esia', - 62717401 => 'Esia', - 62717402 => 'Esia', - 62717403 => 'Esia', - 62717404 => 'Esia', - 62717995 => 'Esia', - 62717996 => 'Esia', - 62717997 => 'Esia', - 62717998 => 'Esia', - 62717999 => 'Esia', - 6272187 => 'Esia', - 6272190 => 'Esia', - 6272193 => 'Esia', - 62721971 => 'Esia', - 62721972 => 'Esia', - 62721973 => 'Esia', - 62721974 => 'Esia', - 62721975 => 'Esia', - 6272199 => 'Esia', - 6272599 => 'Esia', - 6272799 => 'Esia', - 62735985 => 'Esia', - 62735986 => 'Esia', - 62735987 => 'Esia', - 62735988 => 'Esia', - 62735989 => 'Esia', - 6273599 => 'Esia', - 62736400 => 'Esia', - 62736401 => 'Esia', - 62736402 => 'Esia', - 62736403 => 'Esia', - 62736404 => 'Esia', - 62736995 => 'Esia', - 62736996 => 'Esia', - 62736997 => 'Esia', - 62736998 => 'Esia', - 62736999 => 'Esia', - 6274197 => 'Esia', - 6274198 => 'Esia', - 6274199 => 'Esia', - 6275183 => 'Esia', - 6275188 => 'Esia', - 6275194 => 'Esia', - 6275195 => 'Esia', - 62751976 => 'Esia', - 62751977 => 'Esia', - 62751978 => 'Esia', - 62751979 => 'Esia', - 6275198 => 'Esia', - 6275199 => 'Esia', - 6275298 => 'Esia', - 62752990 => 'Esia', - 62752991 => 'Esia', - 62752992 => 'Esia', - 62752993 => 'Esia', - 62752994 => 'Esia', - 62752995 => 'Esia', - 62752996 => 'Esia', - 6276196 => 'Esia', - 6276197 => 'Esia', - 6276198 => 'Esia', - 6276298 => 'Esia', - 6276299 => 'Esia', - 6276598 => 'Esia', - 6277199 => 'Esia', - 6277799 => 'Esia', - 6277891 => 'Esia', - 6277896 => 'Esia', - 6277897 => 'Esia', - 6277898 => 'Esia', - 6277899 => 'Esia', 62811 => 'Telkomsel', 62812 => 'Telkomsel', 62813 => 'Telkomsel', @@ -670,19 +49,4 @@ return array ( 62897 => '3', 62898 => '3', 62899 => '3', - 62911400 => 'Esia', - 62911401 => 'Esia', - 62911402 => 'Esia', - 62911403 => 'Esia', - 62911404 => 'Esia', - 62911995 => 'Esia', - 62911996 => 'Esia', - 62911997 => 'Esia', - 62911998 => 'Esia', - 62911999 => 'Esia', - 62967900 => 'Esia', - 62967901 => 'Esia', - 62967902 => 'Esia', - 62967903 => 'Esia', - 62967904 => 'Esia', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/63.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/63.php index 55f6470d1..1f9247893 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/63.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/63.php @@ -50,9 +50,7 @@ return array ( 63950 => 'Smart', 63955 => 'Globe', 63956 => 'Globe', - 63965 => 'Globe', - 63966 => 'Globe', - 63967 => 'Globe', + 6396 => 'Globe', 63975 => 'Globe', 63976 => 'Globe', 63995 => 'Globe', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/64.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/64.php index 107b52926..ceacfafa4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/64.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/64.php @@ -14,7 +14,6 @@ return array ( 64204 => 'Skinny', 6421 => 'Vodafone', 6422 => '2degrees', - 6425 => 'Telecom', 6426 => 'Vodafone', 6427 => 'Telecom', 6428 => 'Vodafone', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/65.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/65.php index 16257eb58..eefef8cdd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/65.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/65.php @@ -11,91 +11,34 @@ */ return array ( + 6581 => 'StarHub', 65810 => 'M1', - 65811 => 'StarHub', 65812 => 'SingTel', - 65813 => 'StarHub', - 65814 => 'StarHub', - 65815 => 'StarHub', - 65816 => 'StarHub', 65817 => 'M1', - 658180 => 'StarHub', 658181 => 'SingTel', 658182 => 'SingTel', - 658183 => 'StarHub', - 658184 => 'StarHub', - 658185 => 'StarHub', - 658186 => 'StarHub', - 658187 => 'StarHub', 658188 => 'M1', - 658189 => 'StarHub', - 658190 => 'M1', - 658191 => 'M1', - 658192 => 'M1', - 658193 => 'M1', - 658194 => 'M1', - 658195 => 'M1', - 658196 => 'M1', - 658197 => 'M1', - 658198 => 'StarHub', - 658199 => 'M1', + 65819 => 'M1', 65820 => 'StarHub', - 658210 => 'M1', - 658211 => 'M1', - 658212 => 'M1', - 658213 => 'M1', - 658214 => 'M1', - 658215 => 'M1', - 658216 => 'M1', - 658217 => 'M1', + 65821 => 'M1', 658218 => 'SingTel', - 658219 => 'M1', - 658220 => 'StarHub', - 658221 => 'StarHub', + 65822 => 'StarHub', 658222 => 'M1', 658223 => 'SingTel', - 658224 => 'StarHub', - 658225 => 'StarHub', - 658226 => 'StarHub', - 658227 => 'StarHub', 658228 => 'SingTel', - 658229 => 'StarHub', 658232 => 'StarHub', 658233 => 'StarHub', 658234 => 'StarHub', 658235 => 'StarHub', 65824 => 'StarHub', 65825 => 'StarHub', - 658260 => 'SingTel', - 658261 => 'SingTel', - 658262 => 'SingTel', - 658263 => 'SingTel', - 658264 => 'SingTel', - 658265 => 'SingTel', - 658266 => 'SingTel', - 658267 => 'SingTel', + 65826 => 'SingTel', 658268 => 'StarHub', - 658269 => 'SingTel', 65827 => 'M1', - 658280 => 'SingTel', - 658281 => 'SingTel', + 65828 => 'SingTel', 658282 => 'M1', - 658283 => 'SingTel', - 658284 => 'SingTel', - 658285 => 'SingTel', - 658286 => 'SingTel', - 658287 => 'SingTel', 658288 => 'M1', - 658289 => 'SingTel', - 658290 => 'StarHub', - 658291 => 'StarHub', - 658292 => 'StarHub', - 658293 => 'StarHub', - 658294 => 'StarHub', - 658295 => 'StarHub', - 658296 => 'StarHub', - 658297 => 'StarHub', - 658298 => 'StarHub', + 65829 => 'StarHub', 658299 => 'SingTel', 65830 => 'SingTel', 65831 => 'SingTel', @@ -108,27 +51,13 @@ return array ( 658326 => 'M1', 658328 => 'StarHub', 658329 => 'M1', - 658330 => 'StarHub', - 658331 => 'StarHub', - 658332 => 'StarHub', + 65833 => 'StarHub', 658333 => 'M1', - 658334 => 'StarHub', - 658335 => 'StarHub', - 658336 => 'StarHub', - 658337 => 'StarHub', 658338 => 'SingTel', 658339 => 'SingTel', 65834 => 'SingTel', - 658350 => 'SingTel', - 658351 => 'SingTel', + 65835 => 'SingTel', 658352 => 'StarHub', - 658353 => 'SingTel', - 658354 => 'SingTel', - 658355 => 'SingTel', - 658356 => 'SingTel', - 658357 => 'SingTel', - 658358 => 'SingTel', - 658359 => 'SingTel', 658360 => 'SingTel', 658361 => 'StarHub', 658362 => 'StarHub', @@ -138,16 +67,11 @@ return array ( 658367 => 'StarHub', 658368 => 'M1', 658369 => 'StarHub', + 65837 => 'SingTel', 658370 => 'StarHub', - 658371 => 'SingTel', - 658372 => 'SingTel', 658373 => 'StarHub', - 658374 => 'SingTel', - 658375 => 'SingTel', - 658376 => 'SingTel', 658377 => 'StarHub', 658378 => 'StarHub', - 658379 => 'SingTel', 658380 => 'StarHub', 658381 => 'SingTel', 658382 => 'M1', @@ -167,26 +91,10 @@ return array ( 658396 => 'StarHub', 658398 => 'SingTel', 658399 => 'SingTel', + 65840 => 'SingTel', 658400 => 'StarHub', - 658401 => 'SingTel', - 658402 => 'SingTel', - 658403 => 'SingTel', - 658404 => 'SingTel', - 658405 => 'SingTel', - 658406 => 'SingTel', - 658407 => 'SingTel', - 658408 => 'SingTel', - 658409 => 'SingTel', - 658410 => 'M1', + 65841 => 'M1', 658411 => 'SingTel', - 658412 => 'M1', - 658413 => 'M1', - 658414 => 'M1', - 658415 => 'M1', - 658416 => 'M1', - 658417 => 'M1', - 658418 => 'M1', - 658419 => 'M1', 65842 => 'SingTel', 65843 => 'SingTel', 65844 => 'M1', @@ -199,16 +107,8 @@ return array ( 658457 => 'SingTel', 658458 => 'SingTel', 658459 => 'SingTel', - 658460 => 'M1', - 658461 => 'M1', - 658462 => 'M1', - 658463 => 'M1', - 658464 => 'M1', - 658465 => 'M1', - 658466 => 'M1', - 658467 => 'M1', + 65846 => 'M1', 658468 => 'StarHub', - 658469 => 'M1', 658478 => 'StarHub', 658480 => 'M1', 658484 => 'M1', @@ -252,36 +152,17 @@ return array ( 658592 => 'StarHub', 658593 => 'StarHub', 658594 => 'StarHub', + 65860 => 'StarHub', 658600 => 'M1', - 658601 => 'StarHub', - 658602 => 'StarHub', - 658603 => 'StarHub', - 658604 => 'StarHub', - 658605 => 'StarHub', - 658606 => 'StarHub', - 658607 => 'StarHub', - 658608 => 'StarHub', - 658609 => 'StarHub', - 658610 => 'SingTel', + 65861 => 'SingTel', 658611 => 'M1', 658612 => 'M1', 658613 => 'M1', 658614 => 'M1', - 658615 => 'SingTel', - 658616 => 'SingTel', - 658617 => 'SingTel', - 658618 => 'SingTel', - 658619 => 'SingTel', + 65862 => 'M1', 658620 => 'SingTel', 658621 => 'SingTel', 658622 => 'SingTel', - 658623 => 'M1', - 658624 => 'M1', - 658625 => 'M1', - 658626 => 'M1', - 658627 => 'M1', - 658628 => 'M1', - 658629 => 'M1', 658630 => 'M1', 658631 => 'SingTel', 658633 => 'SingTel', @@ -301,45 +182,19 @@ return array ( 658647 => 'SingTel', 658648 => 'SingTel', 658649 => 'SingTel', - 658650 => 'SingTel', - 658651 => 'SingTel', - 658652 => 'SingTel', - 658653 => 'SingTel', - 658654 => 'SingTel', - 658655 => 'SingTel', - 658656 => 'SingTel', - 658657 => 'SingTel', + 65865 => 'SingTel', 658658 => 'StarHub', 658659 => 'StarHub', + 65866 => 'SingTel', 658660 => 'StarHub', 658661 => 'StarHub', - 658662 => 'SingTel', - 658663 => 'SingTel', - 658664 => 'SingTel', - 658665 => 'SingTel', 658666 => 'M1', - 658667 => 'SingTel', 658668 => 'M1', - 658669 => 'SingTel', - 658670 => 'SingTel', - 658671 => 'SingTel', - 658672 => 'SingTel', - 658673 => 'SingTel', - 658674 => 'SingTel', - 658675 => 'SingTel', - 658676 => 'SingTel', - 658677 => 'SingTel', - 658678 => 'SingTel', - 658679 => 'SingTel', + 65867 => 'SingTel', + 65868 => 'M1', 658680 => 'StarHub', 658681 => 'StarHub', 658682 => 'StarHub', - 658683 => 'M1', - 658684 => 'M1', - 658685 => 'M1', - 658686 => 'M1', - 658687 => 'M1', - 658688 => 'M1', 658689 => 'StarHub', 658690 => 'StarHub', 658691 => 'M1', @@ -351,36 +206,16 @@ return array ( 658697 => 'SingTel', 658698 => 'SingTel', 658699 => 'M1', + 65870 => 'SingTel', 658700 => 'StarHub', - 658701 => 'SingTel', - 658702 => 'SingTel', - 658703 => 'SingTel', - 658704 => 'SingTel', - 658705 => 'SingTel', - 658706 => 'SingTel', - 658707 => 'SingTel', - 658708 => 'SingTel', - 658709 => 'SingTel', + 65871 => 'M1', 658710 => 'SingTel', - 658711 => 'M1', 658712 => 'SingTel', 658713 => 'SingTel', - 658714 => 'M1', - 658715 => 'M1', - 658716 => 'M1', - 658717 => 'M1', - 658718 => 'M1', - 658719 => 'M1', + 65872 => 'StarHub', 658720 => 'M1', 658721 => 'M1', - 658722 => 'StarHub', 658723 => 'M1', - 658724 => 'StarHub', - 658725 => 'StarHub', - 658726 => 'StarHub', - 658727 => 'StarHub', - 658728 => 'StarHub', - 658729 => 'StarHub', 658730 => 'SingTel', 658731 => 'SingTel', 658732 => 'SingTel', @@ -468,38 +303,18 @@ return array ( 65916 => 'StarHub', 65917 => 'SingTel', 65918 => 'StarHub', - 659190 => 'M1', - 659191 => 'M1', - 659192 => 'M1', - 659193 => 'M1', - 659194 => 'M1', - 659195 => 'M1', - 659196 => 'M1', - 659197 => 'M1', - 659198 => 'M1', + 65919 => 'M1', 659199 => 'StarHub', 65922 => 'M1', - 659230 => 'SingTel', - 659231 => 'SingTel', - 659232 => 'SingTel', - 659233 => 'SingTel', - 659234 => 'SingTel', - 659235 => 'SingTel', - 659236 => 'SingTel', + 65923 => 'SingTel', 659237 => 'StarHub', 659238 => 'StarHub', 659239 => 'StarHub', 65924 => 'StarHub', + 65927 => 'M1', 659270 => 'StarHub', 659271 => 'StarHub', 659272 => 'StarHub', - 659273 => 'M1', - 659274 => 'M1', - 659275 => 'M1', - 659276 => 'M1', - 659277 => 'M1', - 659278 => 'M1', - 659279 => 'M1', 659295 => 'SingTel', 659296 => 'SingTel', 659297 => 'SingTel', @@ -558,16 +373,9 @@ return array ( 659800 => 'StarHub', 659806 => 'SingTel', 659807 => 'SingTel', - 659810 => 'SingTel', - 659811 => 'SingTel', - 659812 => 'SingTel', + 65981 => 'SingTel', 659813 => 'StarHub', 659814 => 'StarHub', - 659815 => 'SingTel', - 659816 => 'SingTel', - 659817 => 'SingTel', - 659818 => 'SingTel', - 659819 => 'SingTel', 65982 => 'SingTel', 65983 => 'SingTel', 65984 => 'M1', @@ -577,14 +385,7 @@ return array ( 659868 => 'SingTel', 659869 => 'SingTel', 65987 => 'M1', - 659880 => 'StarHub', - 659881 => 'StarHub', - 659882 => 'StarHub', - 659883 => 'StarHub', - 659884 => 'StarHub', - 659885 => 'StarHub', - 659886 => 'StarHub', - 659887 => 'StarHub', + 65988 => 'StarHub', 659888 => 'SingTel', 659889 => 'M1', 65989 => 'SingTel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/66.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/66.php index 0eb78f9f0..ac00961a8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/66.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/66.php @@ -22,16 +22,11 @@ return array ( 66804 => 'DTAC', 66805 => 'DTAC', 66806 => 'AIS', - 66810 => 'AIS', - 66811 => 'AIS', - 66812 => 'AIS', + 6681 => 'AIS', 66813 => 'DTAC', 66814 => 'DTAC', 66815 => 'DTAC', 66816 => 'DTAC', - 66817 => 'AIS', - 66818 => 'AIS', - 66819 => 'AIS', 6682 => 'AIS', 6683 => 'True Move', 6684 => 'AIS', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/677.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/677.php index 1390140a4..d9cce77d9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/677.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/677.php @@ -11,32 +11,10 @@ */ return array ( - 67773 => 'Solomon Telekom', - 67774 => 'Solomon Telekom', - 67775 => 'Solomon Telekom', - 67776 => 'Solomon Telekom', - 67777 => 'Solomon Telekom', - 67778 => 'Solomon Telekom', - 677790 => 'Solomon Telekom', - 677791 => 'Solomon Telekom', - 677792 => 'Solomon Telekom', - 677793 => 'Solomon Telekom', - 677794 => 'Solomon Telekom', - 67784 => 'BMobile', - 67785 => 'BMobile', - 67786 => 'BMobile', - 67787 => 'BMobile', - 67788 => 'BMobile', - 67789 => 'BMobile', + 6777 => 'Solomon Telekom', + 6778 => 'BMobile', + 6779 => 'Smile', 67791 => 'Satsol', 67792 => 'Satsol', - 677930 => 'Satsol', - 677931 => 'Satsol', - 677932 => 'Satsol', - 67794 => 'Smile', - 67795 => 'Smile', - 67796 => 'Smile', - 67797 => 'Smile', - 67798 => 'Smile', - 67799 => 'Smile', + 67793 => 'Satsol', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/678.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/678.php index 0777fbc94..2bc6f9f26 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/678.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/678.php @@ -11,19 +11,7 @@ */ return array ( - 67850 => 'Digicel', - 67851 => 'Digicel', - 67852 => 'Digicel', - 67853 => 'Digicel', - 67854 => 'Digicel', - 67855 => 'Digicel', - 67856 => 'Digicel', - 678572 => 'Digicel', - 678573 => 'Digicel', - 678574 => 'Digicel', - 678575 => 'Digicel', - 67858 => 'Digicel', - 67859 => 'Digicel', + 6785 => 'Digicel', 67870 => 'SMILE', 67871 => 'SMILE', 67873 => 'SMILE', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/679.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/679.php index 6fb7b3ebc..175a6798e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/679.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/679.php @@ -12,7 +12,7 @@ return array ( 6792 => 'Vodafone', - 67945 => 'Vodafone', + 6794 => 'Vodafone', 67950 => 'Digicel', 67951 => 'Digicel', 67955 => 'Digicel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/680.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/680.php index c4cad3f8b..32cb8cc01 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/680.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/680.php @@ -12,9 +12,5 @@ return array ( 68077 => 'PalauCel', - 680880 => 'PalauTel', - 680881 => 'PalauTel', - 680882 => 'PalauTel', - 680883 => 'PalauTel', - 680884 => 'PalauTel', + 68088 => 'PalauTel', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/688.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/688.php index c0f989a97..41d7a607e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/688.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/688.php @@ -11,7 +11,6 @@ */ return array ( - 68870 => 'Tuvalu Telecom', - 68871 => 'Tuvalu Telecom', - 68890 => 'Tuvalu Telecom', + 6887 => 'Tuvalu Telecom', + 6889 => 'Tuvalu Telecom', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/7.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/7.php index d04457c35..054e05c10 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/7.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/7.php @@ -17,7 +17,7 @@ return array ( 7705 => 'Beeline', 7707 => 'Tele2', 7708 => 'Altel', - 7747 => 'Tele2', + 774 => 'Tele2', 7760 => 'Kulan', 7762 => 'Nursat', 7763 => 'Arna', @@ -523,16 +523,9 @@ return array ( 790470 => 'Beeline', 7904708 => 'MegaFon', 7904709 => 'MegaFon', + 790471 => 'TMT', 7904710 => 'MegaFon', 7904711 => 'MegaFon', - 7904712 => 'TMT', - 7904713 => 'TMT', - 7904714 => 'TMT', - 7904715 => 'TMT', - 7904716 => 'TMT', - 7904717 => 'TMT', - 7904718 => 'TMT', - 7904719 => 'TMT', 7904726 => 'Beeline', 7904727 => 'Beeline', 7904728 => 'MegaFon', @@ -619,16 +612,9 @@ return array ( 790831 => 'Tele2', 790832 => 'Tele2', 790833 => 'TMT', - 7908340 => 'TMT', - 7908341 => 'TMT', - 7908342 => 'TMT', - 7908343 => 'TMT', + 790834 => 'TMT', 7908344 => 'MegaFon', 7908345 => 'MegaFon', - 7908346 => 'TMT', - 7908347 => 'TMT', - 7908348 => 'TMT', - 7908349 => 'TMT', 790835 => 'MTS', 7908364 => 'Beeline', 7908366 => 'MegaFon', @@ -654,7 +640,11 @@ return array ( 7908439 => 'Beeline', 790844 => 'Beeline', 790845 => 'Beeline', - 790846 => 'Beeline', + 7908460 => 'Beeline', + 7908461 => 'Beeline', + 7908462 => 'Beeline', + 7908463 => 'Beeline', + 7908464 => 'Beeline', 7908465 => 'Tele2', 7908466 => 'Tele2', 7908467 => 'Tele2', @@ -755,23 +745,10 @@ return array ( 793939 => 'TMT', 793950 => 'TMT', 79397 => 'MegaFon', - 79500 => 'Tele2', - 79501 => 'Tele2', + 7950 => 'Tele2', 795019 => 'Motiv', 795020 => 'Motiv', - 795021 => 'Tele2', - 795022 => 'Tele2', 795023 => 'MTS', - 795024 => 'Tele2', - 795025 => 'Tele2', - 795026 => 'Tele2', - 795027 => 'Tele2', - 795028 => 'Tele2', - 795029 => 'Tele2', - 79503 => 'Tele2', - 79504 => 'Tele2', - 79505 => 'Tele2', - 79506 => 'Tele2', 795063 => 'Motiv', 795064 => 'Motiv', 795065 => 'Motiv', @@ -779,12 +756,9 @@ return array ( 7950666 => 'TMT', 7950667 => 'TMT', 7950668 => 'Beeline', - 79507 => 'Tele2', - 79508 => 'Tele2', 7950880 => 'Beeline', 7950888 => 'MTS', 7950889 => 'MTS', - 79509 => 'Tele2', 795093 => 'MTS', 7950940 => 'MTS', 7950941 => 'MTS', @@ -830,18 +804,11 @@ return array ( 7952742 => 'Motiv', 7952743 => 'Motiv', 7952744 => 'Motiv', + 79530 => 'Tele2', 795300 => 'Motiv', - 795301 => 'Tele2', - 795302 => 'Tele2', - 795303 => 'Tele2', 7953039 => 'Motiv', 795304 => 'Motiv', 795305 => 'Motiv', - 7953059 => 'Tele2', - 795306 => 'Tele2', - 795307 => 'Tele2', - 795308 => 'Tele2', - 795309 => 'Tele2', 795310 => 'Tele2', 795311 => 'Tele2', 795313 => 'Tele2', @@ -1137,7 +1104,11 @@ return array ( 799612 => 'MegaFon', 799613 => 'MegaFon', 799615 => 'Tele2', - 799620 => 'Tele2', + 7996200 => 'Tele2', + 7996201 => 'Tele2', + 7996202 => 'Tele2', + 7996203 => 'Tele2', + 7996204 => 'Tele2', 7996205 => 'MegaFon', 7996206 => 'MegaFon', 7996207 => 'MegaFon', @@ -1151,25 +1122,10 @@ return array ( 7996242 => 'MegaFon', 7996243 => 'MegaFon', 7996299 => 'Tele2', + 79963 => 'MegaFon', 7996300 => 'Tele2', 7996301 => 'Tele2', 7996302 => 'Tele2', - 7996303 => 'MegaFon', - 7996304 => 'MegaFon', - 7996305 => 'MegaFon', - 7996306 => 'MegaFon', - 7996307 => 'MegaFon', - 7996308 => 'MegaFon', - 7996309 => 'MegaFon', - 799631 => 'MegaFon', - 799632 => 'MegaFon', - 799633 => 'MegaFon', - 799634 => 'MegaFon', - 799635 => 'MegaFon', - 799636 => 'MegaFon', - 799637 => 'MegaFon', - 799638 => 'MegaFon', - 799639 => 'MegaFon', 79964 => 'MegaFon', 79965 => 'MegaFon', 79966 => 'MegaFon', @@ -1201,15 +1157,7 @@ return array ( 7996852 => 'Tele2', 7996853 => 'Tele2', 7996854 => 'Tele2', + 79969 => 'MegaFon', 799690 => 'Tele2', - 799691 => 'MegaFon', - 799692 => 'MegaFon', - 799693 => 'MegaFon', - 799694 => 'MegaFon', - 799695 => 'MegaFon', - 799696 => 'MegaFon', - 799697 => 'MegaFon', - 799698 => 'MegaFon', - 799699 => 'MegaFon', 7999 => 'MegaFon', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/84.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/84.php index 51d9a7e8d..573e08169 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/84.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/84.php @@ -11,50 +11,21 @@ */ return array ( - 84120 => 'MobiFone', - 84121 => 'MobiFone', - 84122 => 'MobiFone', - 84123 => 'Vinaphone', - 84124 => 'Vinaphone', - 84125 => 'Vinaphone', - 84126 => 'MobiFone', - 84127 => 'Vinaphone', - 84128 => 'MobiFone', - 84129 => 'Vinaphone', - 84162 => 'Viettel Mobile', - 84163 => 'Viettel Mobile', - 84164 => 'Viettel Mobile', - 84165 => 'Viettel Mobile', - 84166 => 'Viettel Mobile', - 84167 => 'Viettel Mobile', - 84168 => 'Viettel Mobile', - 84169 => 'Viettel Mobile', - 84186 => 'Vietnamobile', - 84188 => 'Vietnamobile', 84199 => 'G-Mobile', 843 => 'Viettel Mobile', - 84522 => 'Vietnamobile', - 84523 => 'Vietnamobile', + 8452 => 'Vietnamobile', 8456 => 'Vietnamobile', 8458 => 'Vietnamobile', 8459 => 'G-Mobile', - 8470 => 'MobiFone', - 8476 => 'MobiFone', - 8477 => 'MobiFone', - 8478 => 'MobiFone', - 8479 => 'MobiFone', + 847 => 'MobiFone', 8481 => 'Vinaphone', 8482 => 'Vinaphone', 8483 => 'Vinaphone', 8484 => 'Vinaphone', 8485 => 'Vinaphone', - 84866 => 'Viettel Mobile', - 84868 => 'Viettel Mobile', - 84869 => 'Viettel Mobile', + 8486 => 'Viettel Mobile', 8488 => 'Vinaphone', 8489 => 'MobiFone', - 84898 => 'MobiFone', - 84899 => 'MobiFone', 8490 => 'MobiFone', 8491 => 'Vinaphone', 8492 => 'Vietnamobile', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php index 44253b97f..272291cc8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/852.php @@ -11,14 +11,8 @@ */ return array ( - 8524600 => 'China Mobile', - 8524601 => 'China Mobile', - 8524602 => 'China Mobile', - 8524603 => 'China Mobile', - 8524604 => 'China Mobile', - 8524605 => 'China Mobile', - 8524606 => 'China Mobile', - 8524610 => 'Sun Mobile', + 852460 => 'China Mobile', + 852461 => 'Sun Mobile', 8524640 => 'China Mobile', 8524641 => 'SmarTone', 8524642 => 'SmarTone', @@ -41,21 +35,28 @@ return array ( 852520 => 'HKT', 852521 => 'HKT', 852522 => 'China Mobile', - 852523 => 'SmarTone', 8525230 => 'HKT', 8525231 => 'HKT', 8525232 => 'HKT', 8525233 => 'HKT', 8525234 => 'Lycamobile', 8525235 => '21Vianet', + 8525236 => 'SmarTone', + 8525237 => 'SmarTone', + 8525238 => 'SmarTone', + 8525239 => 'SmarTone', 852524 => 'HKT', 852526 => 'China Mobile', 852527 => 'HKT', - 852528 => 'SmarTone', 8525280 => 'Truphone', 8525281 => 'Sun Mobile', 8525282 => 'Sun Mobile', 8525283 => 'Multibyte', + 8525284 => 'SmarTone', + 8525285 => 'SmarTone', + 8525286 => 'SmarTone', + 8525287 => 'SmarTone', + 8525288 => 'SmarTone', 8525289 => '263.net', 852529 => 'HKT', 852530 => 'China Mobile', @@ -111,19 +112,16 @@ return array ( 8525707 => 'China Mobile', 8525708 => 'China Mobile', 8525709 => 'CITIC', - 8525710 => 'HKT', - 8525711 => 'HKT', - 8525712 => 'HKT', - 8525713 => 'HKT', - 8525714 => 'HKT', - 8525715 => 'HKT', - 8525716 => 'HKT', - 8525717 => 'HKT', + 852571 => 'HKT', 8525718 => 'Lycamobile', 8525719 => 'Lycamobile', 852572 => 'SmarTone', - 8525730 => 'Tai Tung', - 852574 => 'SmarTone', + 852573 => 'Tai Tung', + 8525740 => 'SmarTone', + 8525741 => 'SmarTone', + 8525742 => 'SmarTone', + 8525743 => 'SmarTone', + 8525744 => 'SmarTone', 8525745 => 'Multibyte', 8525746 => 'Multibyte', 8525747 => 'Multibyte', @@ -155,15 +153,10 @@ return array ( 852607 => '3', 852608 => '3', 852609 => 'China Mobile', + 85261 => 'HKT', 852610 => '3', 852611 => 'SmarTone', - 852612 => 'HKT', - 852613 => 'HKT', - 852614 => 'HKT', 852615 => 'China Mobile', - 852616 => 'HKT', - 852617 => 'HKT', - 852618 => 'HKT', 852619 => '3', 852620 => '3', 852621 => 'China Mobile', @@ -239,12 +232,8 @@ return array ( 852695 => 'China Mobile', 852697 => 'HKT', 852699 => 'China Mobile', - 8527071 => 'SmarTone', - 8527072 => 'SmarTone', - 8527073 => 'SmarTone', - 8527074 => 'SmarTone', - 8527075 => 'SmarTone', - 8528480 => 'Handy', + 85270 => 'SmarTone', + 85284 => 'Handy', 852901 => 'SmarTone', 852902 => 'HKT', 852903 => 'HKT', @@ -272,14 +261,8 @@ return array ( 852926 => 'HKT', 852927 => 'HKT', 852928 => '3', + 852929 => 'China Unicom', 8529290 => 'Multibyte', - 8529293 => 'China Unicom', - 8529294 => 'China Unicom', - 8529295 => 'China Unicom', - 8529296 => 'China Unicom', - 8529297 => 'China Unicom', - 8529298 => 'China Unicom', - 8529299 => 'China Unicom', 852930 => 'HKT', 852931 => 'SmarTone', 852932 => '3', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/853.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/853.php index 35bd2cb10..1b7ddf983 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/853.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/853.php @@ -11,49 +11,26 @@ */ return array ( + 853620 => 'CTM', 8536200 => 'SmarTone', - 8536201 => 'CTM', - 8536202 => 'CTM', - 8536203 => 'CTM', - 8536204 => 'CTM', - 8536205 => 'CTM', - 8536206 => 'CTM', - 8536207 => 'CTM', - 8536208 => 'CTM', - 8536209 => 'CTM', 853621 => 'China Telecom', 853622 => '3', 853623 => 'CTM', - 8536240 => '3', - 8536241 => '3', + 853624 => '3', 8536242 => 'CTM', 8536243 => 'CTM', 8536244 => 'SmarTone', 8536245 => 'SmarTone', - 8536246 => '3', - 8536247 => '3', - 8536248 => '3', - 8536249 => '3', + 853625 => 'SmarTone', 8536250 => 'CTM', 8536251 => 'CTM', 8536252 => 'CTM', 8536253 => 'CTM', - 8536254 => 'SmarTone', - 8536255 => 'SmarTone', - 8536256 => 'SmarTone', - 8536257 => 'SmarTone', - 8536258 => 'SmarTone', - 8536259 => 'SmarTone', - 8536260 => 'SmarTone', - 8536261 => 'SmarTone', - 8536262 => 'SmarTone', - 8536263 => 'SmarTone', + 853626 => 'SmarTone', 8536264 => 'CTM', 8536265 => 'CTM', 8536266 => 'CTM', 8536267 => 'CTM', - 8536268 => 'SmarTone', - 8536269 => 'SmarTone', 8536270 => 'SmarTone', 8536271 => 'SmarTone', 8536272 => 'CTM', @@ -65,43 +42,23 @@ return array ( 8536278 => '3', 8536279 => '3', 853628 => 'CTM', - 8536290 => 'CTM', - 8536291 => 'CTM', + 853629 => 'CTM', 8536292 => '3', 8536293 => '3', 8536294 => '3', 8536295 => '3', - 8536296 => 'CTM', - 8536297 => 'CTM', - 8536298 => 'CTM', - 8536299 => 'CTM', + 853630 => '3', 8536300 => 'CTM', 8536301 => 'CTM', 8536302 => 'CTM', - 8536303 => '3', - 8536304 => '3', - 8536305 => '3', - 8536306 => '3', - 8536307 => '3', - 8536308 => '3', 8536309 => 'CTM', 853631 => '3', + 853632 => 'CTM', 8536320 => '3', 8536321 => '3', 8536322 => 'China Telecom', 8536323 => 'China Telecom', - 8536324 => 'CTM', - 8536325 => 'CTM', - 8536326 => 'CTM', - 8536327 => 'CTM', - 8536328 => 'CTM', - 8536329 => 'CTM', - 8536330 => 'CTM', - 8536331 => 'CTM', - 8536332 => 'CTM', - 8536333 => 'CTM', - 8536334 => 'CTM', - 8536335 => 'CTM', + 853633 => 'CTM', 8536336 => '3', 8536337 => '3', 8536338 => '3', @@ -118,34 +75,17 @@ return array ( 8536349 => 'CTM', 853635 => 'China Telecom', 853636 => 'SmarTone', - 8536370 => 'China Telecom', - 8536371 => 'China Telecom', - 8536372 => 'China Telecom', - 8536373 => 'China Telecom', - 8536374 => 'China Telecom', - 8536375 => 'China Telecom', - 8536376 => 'China Telecom', - 8536377 => 'China Telecom', + 853637 => 'China Telecom', 8536378 => '3', 8536379 => '3', - 8536380 => '3', - 8536381 => '3', - 8536382 => '3', - 8536383 => '3', - 8536384 => '3', - 8536385 => '3', + 853638 => '3', 8536386 => 'China Telecom', 8536387 => 'China Telecom', 8536388 => 'China Telecom', 8536389 => 'China Telecom', + 853639 => 'CTM', 8536390 => 'China Telecom', 8536391 => 'China Telecom', - 8536392 => 'CTM', - 8536393 => 'CTM', - 8536394 => 'CTM', - 8536395 => 'CTM', - 8536396 => 'CTM', - 8536397 => 'CTM', 8536398 => '3', 8536399 => '3', 8536500 => '3', @@ -158,26 +98,16 @@ return array ( 8536517 => 'CTM', 8536518 => 'CTM', 8536519 => 'CTM', + 853652 => 'CTM', 8536520 => 'China Telecom', 8536521 => 'China Telecom', 8536522 => 'China Telecom', 8536523 => 'China Telecom', - 8536524 => 'CTM', - 8536525 => 'CTM', - 8536526 => 'CTM', - 8536527 => 'CTM', - 8536528 => 'CTM', - 8536529 => 'CTM', - 8536530 => 'CTM', - 8536531 => 'CTM', + 853653 => 'CTM', 8536532 => '3', 8536533 => '3', 8536534 => '3', 8536535 => '3', - 8536536 => 'CTM', - 8536537 => 'CTM', - 8536538 => 'CTM', - 8536539 => 'CTM', 8536540 => '3', 8536541 => '3', 85365421 => '3', @@ -205,12 +135,7 @@ return array ( 85365479 => 'SmarTone', 8536548 => 'SmarTone', 8536549 => 'SmarTone', - 8536550 => 'CTM', - 8536551 => 'CTM', - 8536552 => 'CTM', - 8536553 => 'CTM', - 8536554 => 'CTM', - 8536555 => 'CTM', + 853655 => 'CTM', 8536556 => 'China Telecom', 8536557 => 'China Telecom', 8536558 => 'China Telecom', @@ -219,22 +144,12 @@ return array ( 8536561 => 'China Telecom', 8536568 => 'China Telecom', 8536569 => 'China Telecom', + 853657 => '3', 8536570 => 'China Telecom', 8536571 => 'China Telecom', 8536572 => 'China Telecom', 8536573 => 'China Telecom', - 8536574 => '3', - 8536575 => '3', - 8536576 => '3', - 8536577 => '3', - 8536578 => '3', - 8536579 => '3', - 8536580 => 'China Telecom', - 8536581 => 'China Telecom', - 8536582 => 'China Telecom', - 8536583 => 'China Telecom', - 8536584 => 'China Telecom', - 8536585 => 'China Telecom', + 853658 => 'China Telecom', 8536586 => 'CTM', 8536587 => 'CTM', 8536588 => 'CTM', @@ -261,26 +176,14 @@ return array ( 8536619 => 'CTM', 853662 => 'SmarTone', 853663 => '3', + 853664 => '3', 8536640 => 'SmarTone', 8536641 => 'SmarTone', - 8536642 => '3', - 8536643 => '3', - 8536644 => '3', - 8536645 => '3', - 8536646 => '3', 8536647 => 'CTM', - 8536648 => '3', 8536649 => 'China Telecom', - 8536650 => 'CTM', - 8536651 => 'CTM', - 8536652 => 'CTM', - 8536653 => 'CTM', - 8536654 => 'CTM', - 8536655 => 'CTM', + 853665 => 'CTM', 8536656 => '3', 8536657 => '3', - 8536658 => 'CTM', - 8536659 => 'CTM', 853666 => 'CTM', 8536670 => 'China Telecom', 8536671 => 'China Telecom', @@ -303,11 +206,7 @@ return array ( 8536697 => '3', 8536698 => 'CTM', 8536699 => 'China Telecom', - 8536805 => '3', - 8536806 => '3', - 8536807 => '3', - 8536808 => '3', - 8536809 => '3', + 853680 => '3', 8536810 => 'CTM', 8536811 => 'CTM', 8536812 => 'CTM', @@ -318,16 +217,8 @@ return array ( 8536817 => 'SmarTone', 8536818 => 'SmarTone', 8536819 => 'SmarTone', - 8536825 => 'China Telecom', - 8536826 => 'China Telecom', - 8536827 => 'China Telecom', - 8536828 => 'China Telecom', - 8536829 => 'China Telecom', - 8536830 => 'SmarTone', - 8536831 => 'SmarTone', - 8536832 => 'SmarTone', - 8536833 => 'SmarTone', - 8536834 => 'SmarTone', + 853682 => 'China Telecom', + 853683 => 'SmarTone', 8536840 => '3', 8536841 => '3', 8536842 => '3', @@ -338,16 +229,8 @@ return array ( 8536847 => 'CTM', 8536848 => 'CTM', 8536849 => 'CTM', - 8536850 => '3', - 8536851 => '3', - 8536852 => '3', - 8536853 => '3', - 8536854 => '3', - 8536860 => 'China Telecom', - 8536861 => 'China Telecom', - 8536862 => 'China Telecom', - 8536863 => 'China Telecom', - 8536864 => 'China Telecom', + 853685 => '3', + 853686 => 'China Telecom', 8536870 => 'SmarTone', 8536871 => 'SmarTone', 8536872 => 'SmarTone', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/886.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/886.php index 59379292f..d6f3c0bf0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/886.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/886.php @@ -76,7 +76,11 @@ return array ( 886955 => 'FarEasTone', 886956 => 'Taiwan Mobile', 886958 => 'Taiwan Mobile', - 886960 => 'Taiwan Mobile', + 8869600 => 'Taiwan Mobile', + 8869601 => 'Taiwan Mobile', + 8869602 => 'Taiwan Mobile', + 8869603 => 'Taiwan Mobile', + 8869604 => 'Taiwan Mobile', 8869605 => 'FarEasTone', 8869606 => 'FarEasTone', 8869607 => 'FarEasTone', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/90.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/90.php index 3ad9c109c..3be70a963 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/90.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/90.php @@ -25,5 +25,5 @@ return array ( 9054287 => 'KKTC Telsim', 9054288 => 'KKTC Telsim', 9055 => 'Turk Telekom', - 90561 => 'Turkcell', + 9056 => 'Turkcell', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/91.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/91.php index ddeb021ff..f2c85c6ee 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/91.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/91.php @@ -11,116 +11,47 @@ */ return array ( - 916000 => 'Reliance Jio', - 916001 => 'Reliance Jio', - 916002 => 'Reliance Jio', - 916003 => 'Reliance Jio', - 916005 => 'Reliance Jio', - 916006 => 'Reliance Jio', - 916009 => 'Reliance Jio', - 916033 => 'BSNL Mobile', + 91600 => 'Reliance Jio', + 91602 => 'BSNL MOBILE', + 91603 => 'BSNL MOBILE', 9161279 => 'Idea', - 916200 => 'Reliance Jio', - 916201 => 'Reliance Jio', - 916202 => 'Reliance Jio', - 916203 => 'Reliance Jio', - 916204 => 'Reliance Jio', - 916205 => 'Reliance Jio', - 916206 => 'Reliance Jio', - 916207 => 'Reliance Jio', + 91620 => 'Reliance Jio', 916208 => 'Vodafone', - 916026 => 'BSNL MOBILE', 916209 => 'Idea', 916230 => 'Airtel', 916232 => 'Airtel', 916235 => 'Idea', 916238 => 'Reliance Jio', 916239 => 'Reliance Jio', - 916260 => 'Reliance Jio', - 916261 => 'Reliance Jio', + 91626 => 'Reliance Jio', 916262 => 'Idea', - 916263 => 'Reliance Jio', - 916264 => 'Reliance Jio', - 916265 => 'Reliance Jio', - 916266 => 'Reliance Jio', - 916267 => 'Reliance Jio', - 916268 => 'Reliance Jio', 916269 => 'Idea', - 916280 => 'Reliance Jio', - 916281 => 'Reliance Jio', - 916282 => 'Reliance Jio', - 916283 => 'Reliance Jio', - 916284 => 'Reliance Jio', + 91628 => 'Reliance Jio', 916287 => 'Airtel', - 916289 => 'Reliance Jio', - 916290 => 'Reliance Jio', - 916291 => 'Reliance Jio', + 91629 => 'Reliance Jio', 916292 => 'Vodafone', 916293 => 'Idea', - 916294 => 'Reliance Jio', - 916295 => 'Reliance Jio', - 916296 => 'Reliance Jio', - 916300 => 'Reliance Jio', - 916301 => 'Reliance Jio', - 916302 => 'Reliance Jio', - 916303 => 'Reliance Jio', - 916304 => 'Reliance Jio', - 916306 => 'Reliance Jio', + 91630 => 'Reliance Jio', 916309 => 'Airtel', - 9163500 => 'Reliance Jio', - 9163501 => 'Reliance Jio', - 9163502 => 'Reliance Jio', - 9163503 => 'Reliance Jio', - 9163504 => 'Reliance Jio', - 9163505 => 'Reliance Jio', - 9163506 => 'Reliance Jio', - 916351 => 'Reliance Jio', - 916352 => 'Reliance Jio', - 916353 => 'Reliance Jio', - 916354 => 'Reliance Jio', - 916355 => 'Reliance Jio', + 91635 => 'Reliance Jio', 916356 => 'Idea', 916357 => 'Vodafone', 916358 => 'Airtel', 916359 => 'Vodafone', - 916360 => 'Reliance Jio', - 916361 => 'Reliance Jio', - 916362 => 'Reliance Jio', - 916363 => 'Reliance Jio', + 91636 => 'Reliance Jio', 916364 => 'Airtel', - 916369 => 'Reliance Jio', - 916370 => 'Reliance Jio', - 916371 => 'Reliance Jio', - 916375 => 'Reliance Jio', - 916376 => 'Reliance Jio', - 916377 => 'Reliance Jio', - 916378 => 'Reliance Jio', - 916379 => 'Reliance Jio', - 916380 => 'Reliance Jio', - 916381 => 'Reliance Jio', - 916382 => 'Reliance Jio', - 916383 => 'Reliance Jio', + 916366 => 'Airtel', + 91637 => 'Reliance Jio', + 91638 => 'Reliance Jio', 916384 => 'Vodafone', 916385 => 'Airtel', - 916386 => 'Reliance Jio', - 916387 => 'Reliance Jio', - 916388 => 'Reliance Jio', 916389 => 'Vodafone', + 91639 => 'Reliance Jio', 916390 => 'Vodafone', 916391 => 'Vodafone', - 916392 => 'Reliance Jio', - 916393 => 'Reliance Jio', - 916394 => 'Reliance Jio', - 916395 => 'Reliance Jio', - 916396 => 'Reliance Jio', - 916397 => 'Reliance Jio', - 916398 => 'Reliance Jio', - 916399 => 'Reliance Jio', 9167479 => 'Idea', - 916900 => 'Airtel', - 916901 => 'Airtel', - 916909 => 'Airtel', - 916913 => 'Vodafone', + 91690 => 'Airtel', + 91691 => 'Vodafone', 91700 => 'Reliance Jio', 91701 => 'Reliance Jio', 917020 => 'Reliance Jio', @@ -209,16 +140,10 @@ return array ( 917193 => 'Airtel', 917194 => 'Airtel', 917195 => 'Airtel', - 917200 => 'Tata Docomo', + 91720 => 'Tata Docomo', 917201 => 'Idea', 917202 => 'Idea', 917203 => 'Idea', - 917204 => 'Tata Docomo', - 917205 => 'Tata Docomo', - 917206 => 'Tata Docomo', - 917207 => 'Tata Docomo', - 917208 => 'Tata Docomo', - 917209 => 'Tata Docomo', 917210 => 'Aircel', 917211 => 'Idea', 917217 => 'Tata Docomo', @@ -238,12 +163,7 @@ return array ( 9172290 => 'Airtel', 9172298 => 'Vodafone', 9172299 => 'Vodafone', - 917230 => 'Vodafone', - 917231 => 'Vodafone', - 917232 => 'Vodafone', - 917233 => 'Vodafone', - 917234 => 'Vodafone', - 917235 => 'Vodafone', + 91723 => 'Vodafone', 917236 => 'Idea', 917237 => 'Idea', 917238 => 'Idea', @@ -253,15 +173,7 @@ return array ( 917247 => 'Idea', 917248 => 'Idea', 9172489 => 'Telewings', - 9172490 => 'Telewings', - 9172491 => 'Telewings', - 9172492 => 'Telewings', - 9172493 => 'Telewings', - 9172494 => 'Telewings', - 9172495 => 'Telewings', - 9172496 => 'Telewings', - 9172497 => 'Telewings', - 9172498 => 'Telewings', + 917249 => 'Telewings', 9172499 => 'Vodafone', 917250 => 'Airtel', 917251 => 'Vodafone', @@ -295,14 +207,7 @@ return array ( 917280 => 'Vodafone', 917281 => 'Vodafone', 917282 => 'Vodafone', - 9172830 => 'Vodafone', - 9172831 => 'Vodafone', - 9172832 => 'Vodafone', - 9172833 => 'Vodafone', - 9172834 => 'Vodafone', - 9172835 => 'Vodafone', - 9172836 => 'Vodafone', - 9172837 => 'Vodafone', + 917283 => 'Vodafone', 9172838 => 'Idea', 9172839 => 'Idea', 9172840 => 'Idea', @@ -314,27 +219,15 @@ return array ( 9172860 => 'Idea', 9172868 => 'Idea', 9172869 => 'Idea', + 917287 => 'Airtel', 9172870 => 'Idea', - 9172871 => 'Airtel', - 9172872 => 'Airtel', - 9172873 => 'Airtel', - 9172874 => 'Airtel', - 9172875 => 'Airtel', - 9172876 => 'Airtel', - 9172877 => 'Airtel', 9172878 => 'Idea', 9172879 => 'Idea', 9172880 => 'Idea', 9172888 => 'Idea', 9172889 => 'Idea', + 917289 => 'Airtel', 9172890 => 'Vodafone', - 9172891 => 'Airtel', - 9172892 => 'Airtel', - 9172893 => 'Airtel', - 9172894 => 'Airtel', - 9172895 => 'Airtel', - 9172896 => 'Airtel', - 9172897 => 'Airtel', 9172898 => 'Vodafone', 9172899 => 'Vodafone', 9172900 => 'Vodafone', @@ -422,12 +315,7 @@ return array ( 9173290 => 'Aircel', 9173298 => 'Aircel', 9173299 => 'Aircel', - 9173300 => 'Aircel', - 9173301 => 'Aircel', - 9173302 => 'Aircel', - 9173303 => 'Aircel', - 9173304 => 'Aircel', - 9173305 => 'Aircel', + 917330 => 'Aircel', 9173306 => 'Airtel', 9173307 => 'Airtel', 9173308 => 'Airtel', @@ -444,7 +332,7 @@ return array ( 917338 => 'Airtel', 917339 => 'Airtel', 917340 => 'Airtel', - 9173411 => 'Airtel', + 917341 => 'Airtel', 9173470 => 'Airtel', 9173472 => 'Airtel', 9173473 => 'Airtel', @@ -453,24 +341,10 @@ return array ( 9173476 => 'Airtel', 9173477 => 'Idea', 9173478 => 'Idea', - 9173480 => 'Idea', - 9173481 => 'Idea', - 9173482 => 'Idea', - 9173483 => 'Idea', - 9173484 => 'Idea', - 9173485 => 'Idea', - 9173486 => 'Idea', - 9173487 => 'Idea', + 917348 => 'Idea', 9173488 => 'Airtel', 9173489 => 'Airtel', - 9173490 => 'Airtel', - 9173491 => 'Airtel', - 9173492 => 'Airtel', - 9173493 => 'Airtel', - 9173494 => 'Airtel', - 9173495 => 'Airtel', - 9173496 => 'Airtel', - 9173497 => 'Airtel', + 917349 => 'Airtel', 9173498 => 'Vodafone', 9173499 => 'Vodafone', 917350 => 'Idea', @@ -539,27 +413,15 @@ return array ( 9173759 => 'Idea', 917376 => 'BSNL MOBILE', 917377 => 'Idea', + 917378 => 'Vodafone', 9173780 => 'Idea', 9173781 => 'Idea', 9173782 => 'Idea', - 9173783 => 'Vodafone', - 9173784 => 'Vodafone', - 9173785 => 'Vodafone', - 9173786 => 'Vodafone', - 9173787 => 'Vodafone', - 9173788 => 'Vodafone', - 9173789 => 'Vodafone', 917379 => 'Vodafone', + 917380 => 'Airtel', 9173800 => 'Vodafone', 9173801 => 'Vodafone', 9173802 => 'Vodafone', - 9173803 => 'Airtel', - 9173804 => 'Airtel', - 9173805 => 'Airtel', - 9173806 => 'Airtel', - 9173807 => 'Airtel', - 9173808 => 'Airtel', - 9173809 => 'Airtel', 917381 => 'Vodafone', 917382 => 'BSNL MOBILE', 917383 => 'Telewings', @@ -610,14 +472,7 @@ return array ( 917407 => 'Vodafone', 917408 => 'Vodafone', 917409 => 'Vodafone', - 9174100 => 'Airtel', - 9174101 => 'Airtel', - 9174102 => 'Airtel', - 9174103 => 'Airtel', - 9174104 => 'Airtel', - 9174105 => 'Airtel', - 9174106 => 'Airtel', - 9174107 => 'Airtel', + 917410 => 'Airtel', 9174108 => 'Vodafone', 9174109 => 'Vodafone', 917411 => 'Tata Docomo', @@ -689,17 +544,10 @@ return array ( 9174388 => 'Vodafone', 9174389 => 'Vodafone', 917439 => 'Reliance Jio', + 917440 => 'Idea', 9174400 => 'Vodafone', 9174401 => 'Vodafone', - 9174402 => 'Idea', - 9174403 => 'Idea', - 9174404 => 'Idea', - 9174405 => 'Idea', - 9174406 => 'Idea', - 9174407 => 'Idea', - 9174408 => 'Idea', - 9174409 => 'Idea', - 9174411 => 'Idea', + 917441 => 'Idea', 9174470 => 'Idea', 9174472 => 'Idea', 9174473 => 'Idea', @@ -770,17 +618,11 @@ return array ( 9174690 => 'Aircel', 9174698 => 'Aircel', 9174699 => 'Aircel', + 917470 => 'Airtel', 9174700 => 'Aircel', 9174701 => 'Aircel', 9174702 => 'Aircel', - 9174703 => 'Airtel', - 9174704 => 'Airtel', - 9174705 => 'Airtel', - 9174706 => 'Airtel', - 9174707 => 'Airtel', - 9174708 => 'Airtel', - 9174709 => 'Airtel', - 9174711 => 'Airtel', + 917471 => 'Airtel', 9174770 => 'Airtel', 9174772 => 'Airtel', 9174773 => 'Airtel', @@ -789,26 +631,16 @@ return array ( 9174776 => 'Airtel', 9174777 => 'Airtel', 9174778 => 'Airtel', + 917478 => 'Vodafone', 9174780 => 'Airtel', 9174781 => 'Airtel', 9174782 => 'Airtel', 9174783 => 'Airtel', - 9174784 => 'Vodafone', - 9174785 => 'Vodafone', - 9174786 => 'Vodafone', - 9174787 => 'Vodafone', - 9174788 => 'Vodafone', - 9174789 => 'Vodafone', + 917479 => 'Telenor', 9174790 => 'Vodafone', 9174791 => 'Vodafone', 9174792 => 'Vodafone', 9174793 => 'Vodafone', - 9174794 => 'Telenor', - 9174795 => 'Telenor', - 9174796 => 'Telenor', - 9174797 => 'Telenor', - 9174798 => 'Telenor', - 9174799 => 'Telenor', 9174800 => 'Telenor', 9174808 => 'Telenor', 9174809 => 'Telenor', @@ -869,27 +701,10 @@ return array ( 917507 => 'Vodafone', 917508 => 'Vodafone', 917509 => 'Vodafone', + 917510 => 'Idea', 9175100 => 'Airtel', - 9175101 => 'Idea', - 9175102 => 'Idea', - 9175103 => 'Idea', - 9175104 => 'Idea', - 9175105 => 'Idea', - 9175106 => 'Idea', - 9175107 => 'Idea', - 9175108 => 'Idea', - 9175109 => 'Idea', - 9175111 => 'Idea', - 9175170 => 'Idea', - 9175171 => 'Idea', - 9175172 => 'Idea', - 9175173 => 'Idea', - 9175174 => 'Idea', - 9175175 => 'Idea', - 9175176 => 'Idea', - 9175177 => 'Idea', - 9175178 => 'Idea', - 9175179 => 'Idea', + 917511 => 'Idea', + 917517 => 'Idea', 917518 => 'Airtel', 917519 => 'Aircel', 9175210 => 'Airtel', @@ -964,26 +779,15 @@ return array ( 9175575 => 'Aircel', 9175576 => 'Aircel', 9175578 => 'Vodafone', + 917558 => 'Airtel', 9175580 => 'Idea', - 9175581 => 'Airtel', - 9175582 => 'Airtel', - 9175583 => 'Airtel', - 9175584 => 'Airtel', - 9175585 => 'Airtel', - 9175586 => 'Airtel', - 9175587 => 'Airtel', 9175588 => 'Idea', 9175589 => 'Idea', - 9175590 => 'Idea', + 917559 => 'Idea', 9175591 => 'Airtel', 9175592 => 'Airtel', 9175593 => 'Airtel', 9175594 => 'Airtel', - 9175595 => 'Idea', - 9175596 => 'Idea', - 9175597 => 'Idea', - 9175598 => 'Idea', - 9175599 => 'Idea', 917560 => 'Idea', 917561 => 'Idea', 917562 => 'Idea', @@ -1014,16 +818,8 @@ return array ( 9175788 => 'Vodafone', 9175789 => 'Vodafone', 917579 => 'BSNL MOBILE', + 917580 => 'Vodafone', 9175800 => 'Idea', - 9175801 => 'Vodafone', - 9175802 => 'Vodafone', - 9175803 => 'Vodafone', - 9175804 => 'Vodafone', - 9175805 => 'Vodafone', - 9175806 => 'Vodafone', - 9175807 => 'Vodafone', - 9175808 => 'Vodafone', - 9175809 => 'Vodafone', 917581 => 'Vodafone', 917582 => 'Vodafone', 9175830 => 'Vodafone', @@ -1083,54 +879,25 @@ return array ( 9176090 => 'Airtel', 9176098 => 'Airtel', 9176099 => 'Airtel', + 917610 => 'Idea', 9176100 => 'Aircel', - 9176101 => 'Idea', - 9176102 => 'Idea', - 9176103 => 'Idea', - 9176104 => 'Idea', - 9176105 => 'Idea', - 9176106 => 'Idea', - 9176107 => 'Idea', 9176108 => 'Aircel', 9176109 => 'Aircel', - 9176110 => 'Aircel', + 917611 => 'Aircel', 9176111 => 'Idea', - 9176112 => 'Aircel', - 9176113 => 'Aircel', - 9176114 => 'Aircel', - 9176115 => 'Aircel', - 9176116 => 'Aircel', - 9176117 => 'Aircel', - 9176118 => 'Aircel', - 9176119 => 'Aircel', 917615 => 'Aircel', - 9176170 => 'Idea', - 9176171 => 'Idea', - 9176172 => 'Idea', - 9176173 => 'Idea', + 917617 => 'Idea', 9176174 => 'Vodafone', 9176175 => 'Vodafone', 9176176 => 'Vodafone', 9176177 => 'Vodafone', - 9176178 => 'Idea', - 9176179 => 'Idea', + 917618 => 'Vodafone', 9176180 => 'Idea', - 9176181 => 'Vodafone', - 9176182 => 'Vodafone', - 9176183 => 'Vodafone', - 9176184 => 'Vodafone', - 9176185 => 'Vodafone', - 9176186 => 'Vodafone', 9176187 => 'Airtel', 9176188 => 'Idea', 9176189 => 'Idea', + 917619 => 'Airtel', 9176190 => 'Idea', - 9176191 => 'Airtel', - 9176192 => 'Airtel', - 9176193 => 'Airtel', - 9176194 => 'Airtel', - 9176195 => 'Airtel', - 9176196 => 'Airtel', 9176197 => 'Aircel', 9176198 => 'Idea', 9176199 => 'Idea', @@ -1138,14 +905,7 @@ return array ( 917621 => 'Idea', 917622 => 'Idea', 917623 => 'Idea', - 9176240 => 'Idea', - 9176241 => 'Idea', - 9176242 => 'Idea', - 9176243 => 'Idea', - 9176244 => 'Idea', - 9176245 => 'Idea', - 9176246 => 'Idea', - 9176247 => 'Idea', + 917624 => 'Idea', 9176248 => 'Airtel', 9176249 => 'Airtel', 9176250 => 'Airtel', @@ -1289,16 +1049,9 @@ return array ( 9176888 => 'Idea', 9176889 => 'Idea', 917689 => 'Idea', - 917690 => 'Idea', - 917691 => 'Idea', - 917692 => 'Idea', - 917693 => 'Idea', - 917694 => 'Idea', + 91769 => 'Idea', 917695 => 'Reliance Jio', 917696 => 'Tata Docomo', - 917697 => 'Idea', - 917698 => 'Idea', - 917699 => 'Idea', 9177000 => 'Airtel', 9177008 => 'Airtel', 9177009 => 'Airtel', @@ -1323,14 +1076,10 @@ return array ( 9177079 => 'Idea', 917708 => 'Airtel', 917709 => 'Airtel', - 917710 => 'Airtel', - 9177101 => 'Idea', - 9177102 => 'Idea', - 9177103 => 'Idea', - 9177104 => 'Idea', - 9177105 => 'Idea', - 9177106 => 'Idea', - 9177107 => 'Idea', + 917710 => 'Idea', + 9177100 => 'Airtel', + 9177108 => 'Airtel', + 9177109 => 'Airtel', 9177110 => 'Aircel', 9177118 => 'Aircel', 9177119 => 'Aircel', @@ -1358,15 +1107,11 @@ return array ( 9177177 => 'Reliance Jio', 9177178 => 'Airtel', 9177179 => 'Airtel', - 917718 => 'Airtel', - 9177181 => 'Vodafone', - 9177182 => 'Vodafone', - 9177183 => 'Vodafone', - 9177184 => 'Vodafone', - 9177185 => 'Vodafone', - 9177186 => 'Vodafone', - 9177187 => 'Vodafone', - 917719 => 'Idea', + 917718 => 'Vodafone', + 9177180 => 'Airtel', + 9177188 => 'Airtel', + 9177189 => 'Airtel', + 9177190 => 'Idea', 9177191 => 'Vodafone', 9177192 => 'Vodafone', 9177193 => 'Vodafone', @@ -1374,6 +1119,8 @@ return array ( 9177195 => 'Reliance Jio', 9177196 => 'Reliance Jio', 9177197 => 'Reliance Jio', + 9177198 => 'Idea', + 9177199 => 'Idea', 917720 => 'Idea', 917721 => 'Idea', 9177220 => 'Idea', @@ -1607,16 +1354,10 @@ return array ( 917877 => 'Reliance Jio', 917878 => 'Reliance Jio', 917879 => 'Reliance Jio', + 917880 => 'Airtel', 9178800 => 'Tata Docomo', 9178801 => 'Tata Docomo', 9178802 => 'Tata Docomo', - 9178803 => 'Airtel', - 9178804 => 'Airtel', - 9178805 => 'Airtel', - 9178806 => 'Airtel', - 9178807 => 'Airtel', - 9178808 => 'Airtel', - 9178809 => 'Airtel', 9178811 => 'Airtel', 9178870 => 'Airtel', 9178872 => 'Airtel', @@ -1627,51 +1368,28 @@ return array ( 9178877 => 'Idea', 9178878 => 'Idea', 9178879 => 'Idea', + 917888 => 'Reliance Jio', 9178880 => 'Idea', 9178881 => 'Idea', 9178882 => 'Idea', - 9178883 => 'Reliance Jio', - 9178884 => 'Reliance Jio', - 9178885 => 'Reliance Jio', - 9178886 => 'Reliance Jio', - 9178887 => 'Reliance Jio', - 9178888 => 'Reliance Jio', - 9178889 => 'Reliance Jio', 917889 => 'Reliance Jio', + 91789 => 'Airtel', 917890 => 'Idea', 917891 => 'Idea', 917892 => 'Reliance Jio', - 917893 => 'Airtel', - 917894 => 'Airtel', - 917895 => 'Airtel', - 917896 => 'Airtel', - 917897 => 'Airtel', - 917898 => 'Airtel', 917899 => 'Idea', + 91790 => 'Reliance Jio', 917900 => 'Idea', 9179000 => 'Airtel', 9179001 => 'Airtel', 917901 => 'BSNL MOBILE', 917902 => 'Idea', - 917903 => 'Reliance Jio', - 917904 => 'Reliance Jio', - 917905 => 'Reliance Jio', - 917906 => 'Reliance Jio', - 917907 => 'Reliance Jio', - 917908 => 'Reliance Jio', 917909 => 'Idea', - 9179090 => 'Reliance Jio', 9179313 => 'Reliance Jio', + 917970 => 'Airtel', 9179700 => 'Idea', 9179701 => 'Idea', 9179702 => 'Idea', - 9179703 => 'Airtel', - 9179704 => 'Airtel', - 9179705 => 'Airtel', - 9179706 => 'Airtel', - 9179707 => 'Airtel', - 9179708 => 'Airtel', - 9179709 => 'Airtel', 917972 => 'Reliance Jio', 917973 => 'Reliance Jio', 917974 => 'Reliance Jio', @@ -1800,16 +1518,11 @@ return array ( 9181130 => 'Idea', 9181138 => 'Idea', 9181139 => 'Idea', + 918114 => 'Airtel', 9181140 => 'Idea', 9181141 => 'Idea', 9181142 => 'Idea', - 9181143 => 'Airtel', 9181144 => 'Reliance Jio', - 9181145 => 'Airtel', - 9181146 => 'Airtel', - 9181147 => 'Airtel', - 9181148 => 'Airtel', - 9181149 => 'Airtel', 9181150 => 'Telewings', 918116 => 'Airtel', 9181170 => 'Airtel', @@ -1919,16 +1632,8 @@ return array ( 9181879 => 'Tata Docomo', 918188 => 'Tata Docomo', 918189 => 'Tata Docomo', - 918190 => 'Idea', - 918191 => 'Idea', - 918192 => 'Idea', - 918193 => 'Idea', - 918194 => 'Idea', - 918195 => 'Idea', - 918196 => 'Idea', + 91819 => 'Idea', 918197 => 'Airtel', - 918198 => 'Idea', - 918199 => 'Idea', 918200 => 'Reliance Jio', 9182070 => 'Airtel', 9182072 => 'Airtel', @@ -1985,12 +1690,7 @@ return array ( 9182478 => 'Reliance Jio', 918248 => 'Reliance Jio', 918249 => 'Reliance Jio', - 918250 => 'Reliance Jio', - 918251 => 'Reliance Jio', - 918252 => 'Reliance Jio', - 918253 => 'Reliance Jio', - 918254 => 'Reliance Jio', - 918255 => 'Reliance Jio', + 91825 => 'Reliance Jio', 918256 => 'Vodafone', 918257 => 'Vodafone', 918258 => 'Vodafone', @@ -2004,15 +1704,18 @@ return array ( 9182658 => 'Tata Docomo', 9182659 => 'Tata Docomo', 918266 => 'Tata Docomo', - 9182668 => 'Tata Docomo', 918267 => 'Tata Docomo', 918268 => 'Aircel', - 918270 => 'Vodafone', 9182700 => 'Telewings', 9182701 => 'Telewings', 9182702 => 'Telewings', 9182703 => 'Telewings', 9182704 => 'Telewings', + 9182705 => 'Vodafone', + 9182706 => 'Vodafone', + 9182707 => 'Vodafone', + 9182708 => 'Vodafone', + 9182709 => 'Vodafone', 918271 => 'Telewings', 918272 => 'Tata Docomo', 918273 => 'Telewings', @@ -2042,22 +1745,15 @@ return array ( 918297 => 'Vodafone', 918298 => 'Vodafone', 918299 => 'Reliance Jio', - 918300 => 'BSNL MOBILE', - 9183004 => 'Reliance Jio', - 9183005 => 'Reliance Jio', - 9183006 => 'Reliance Jio', - 9183007 => 'Reliance Jio', - 9183008 => 'Reliance Jio', - 9183009 => 'Reliance Jio', + 91830 => 'Reliance Jio', + 9183000 => 'BSNL MOBILE', + 9183001 => 'BSNL MOBILE', + 9183002 => 'BSNL MOBILE', + 9183003 => 'BSNL MOBILE', 918301 => 'BSNL MOBILE', - 918302 => 'Reliance Jio', - 918303 => 'Reliance Jio', 918304 => 'BSNL MOBILE', - 918305 => 'Reliance Jio', - 918306 => 'Reliance Jio', - 918307 => 'Reliance Jio', + 918306 => 'Airtel', 918308 => 'Idea', - 918309 => 'Reliance Jio', 918310 => 'Reliance Jio', 9183170 => 'Reliance Jio', 9183172 => 'Idea', @@ -2078,35 +1774,16 @@ return array ( 9183276 => 'Vodafone', 9183277 => 'Reliance Jio', 9183278 => 'Vodafone', - 9183280 => 'Reliance Jio', - 9183281 => 'Reliance Jio', - 9183282 => 'Reliance Jio', - 9183283 => 'Reliance Jio', - 9183284 => 'Reliance Jio', - 9183285 => 'Reliance Jio', - 9183286 => 'Reliance Jio', + 918328 => 'Reliance Jio', 9183287 => 'Vodafone', - 9183288 => 'Reliance Jio', - 9183289 => 'Reliance Jio', 918329 => 'Reliance Jio', + 91833 => 'Vodafone', 918330 => 'BSNL MOBILE', 918331 => 'BSNL MOBILE', 918332 => 'BSNL MOBILE', 918333 => 'BSNL MOBILE', - 918334 => 'Vodafone', - 918335 => 'Vodafone', - 918336 => 'Vodafone', - 918337 => 'Vodafone', - 918338 => 'Vodafone', - 918339 => 'Vodafone', + 918340 => 'Reliance Jio', 9183400 => 'Idea', - 9183401 => 'Reliance Jio', - 9183402 => 'Reliance Jio', - 9183403 => 'Reliance Jio', - 9183404 => 'Reliance Jio', - 9183405 => 'Reliance Jio', - 9183406 => 'Reliance Jio', - 9183407 => 'Reliance Jio', 9183408 => 'Idea', 9183409 => 'Idea', 918341 => 'Telewings', @@ -2144,14 +1821,8 @@ return array ( 9183678 => 'Vodafone', 918368 => 'Reliance Jio', 918369 => 'Reliance Jio', - 918370 => 'Vodafone', - 918371 => 'Vodafone', - 918372 => 'Vodafone', - 918373 => 'Vodafone', + 91837 => 'Vodafone', 918374 => 'Airtel', - 918375 => 'Vodafone', - 918376 => 'Vodafone', - 918377 => 'Vodafone', 918378 => 'Idea', 918379 => 'Idea', 918380 => 'Idea', @@ -2171,16 +1842,8 @@ return array ( 918389 => 'Reliance Jio', 918390 => 'Vodafone', 918391 => 'Reliance Jio', + 918392 => 'Vodafone', 9183920 => 'Reliance Jio', - 9183921 => 'Vodafone', - 9183922 => 'Vodafone', - 9183923 => 'Vodafone', - 9183924 => 'Vodafone', - 9183925 => 'Vodafone', - 9183926 => 'Vodafone', - 9183927 => 'Vodafone', - 9183928 => 'Vodafone', - 9183929 => 'Vodafone', 918393 => 'Vodafone', 918394 => 'Vodafone', 918395 => 'Vodafone', @@ -2190,15 +1853,9 @@ return array ( 918397 => 'Vodafone', 918398 => 'Vodafone', 918399 => 'Vodafone', + 91840 => 'Vodafone', 918400 => 'Airtel', 918401 => 'Telewings', - 918402 => 'Vodafone', - 918403 => 'Vodafone', - 918404 => 'Vodafone', - 918405 => 'Vodafone', - 918406 => 'Vodafone', - 918407 => 'Vodafone', - 918408 => 'Vodafone', 918409 => 'Telewings', 9184100 => 'Aircel', 9184118 => 'Vodafone', @@ -2256,13 +1913,8 @@ return array ( 918457 => 'Airtel', 918458 => 'Idea', 918459 => 'Reliance Jio', + 91846 => 'Idea', 918460 => 'Tata Docomo', - 918461 => 'Idea', - 918462 => 'Idea', - 918463 => 'Idea', - 918464 => 'Idea', - 918465 => 'Idea', - 918466 => 'Idea', 918467 => 'Reliance Jio', 918468 => 'Reliance Jio', 918469 => 'Vodafone', @@ -2289,23 +1941,13 @@ return array ( 918487 => 'Telewings', 918488 => 'Telewings', 918489 => 'Vodafone', + 91849 => 'Idea', 918490 => 'Telewings', 918491 => 'Airtel', 918492 => 'Airtel', 918493 => 'Airtel', - 918494 => 'Idea', - 918495 => 'Idea', - 918496 => 'Idea', - 918497 => 'Idea', - 918498 => 'Idea', - 918499 => 'Idea', + 91850 => 'Idea', 918500 => 'BSNL MOBILE', - 918501 => 'Idea', - 918502 => 'Idea', - 918503 => 'Idea', - 918504 => 'Idea', - 918505 => 'Idea', - 918506 => 'Idea', 918507 => 'Aircel', 918508 => 'Aircel', 918509 => 'Reliance Jio', @@ -2370,16 +2012,7 @@ return array ( 9185599 => 'Aircel', 918560 => 'Aircel', 918561 => 'Aircel', - 9185620 => 'Aircel', - 9185621 => 'Aircel', - 9185622 => 'Aircel', - 9185623 => 'Aircel', - 9185624 => 'Aircel', - 9185625 => 'Aircel', - 9185626 => 'Aircel', - 9185627 => 'Aircel', - 9185628 => 'Aircel', - 9185629 => 'Aircel', + 918562 => 'Aircel', 918563 => 'Aircel', 918564 => 'Aircel', 918565 => 'Aircel', @@ -2454,16 +2087,8 @@ return array ( 918623 => 'Telewings', 918624 => 'Telewings', 918625 => 'Telewings', + 918626 => 'Airtel', 9186260 => 'Telewings', - 9186261 => 'Airtel', - 9186262 => 'Airtel', - 9186263 => 'Airtel', - 9186264 => 'Airtel', - 9186265 => 'Airtel', - 9186266 => 'Airtel', - 9186267 => 'Airtel', - 9186268 => 'Airtel', - 9186269 => 'Airtel', 918627 => 'Airtel', 918628 => 'Airtel', 9186290 => 'Airtel', @@ -2500,57 +2125,29 @@ return array ( 9186677 => 'Reliance Jio', 9186678 => 'Reliance Jio', 918668 => 'Reliance Jio', + 918669 => 'Idea', 9186690 => 'Reliance Jio', 9186691 => 'Reliance Jio', - 9186692 => 'Idea', - 9186693 => 'Idea', - 9186694 => 'Idea', - 9186695 => 'Idea', - 9186696 => 'Idea', - 9186697 => 'Idea', - 9186698 => 'Idea', - 9186699 => 'Idea', 918670 => 'Airtel', 918671 => 'Aircel', 918672 => 'Aircel', 918673 => 'Aircel', - 9186740 => 'Aircel', - 9186741 => 'Aircel', - 9186742 => 'Aircel', - 9186743 => 'Aircel', - 9186744 => 'Aircel', - 9186745 => 'Aircel', - 9186746 => 'Aircel', - 9186747 => 'Aircel', + 918674 => 'Aircel', 9186748 => 'Vodafone', 9186749 => 'Vodafone', 918675 => 'Aircel', - 9186760 => 'Vodafone', - 9186761 => 'Vodafone', - 9186762 => 'Vodafone', + 918676 => 'Vodafone', 9186763 => 'Reliance Jio', - 9186764 => 'Vodafone', - 9186765 => 'Vodafone', - 9186766 => 'Vodafone', - 9186767 => 'Vodafone', - 9186768 => 'Vodafone', - 9186769 => 'Vodafone', 918677 => 'Vodafone', 9186780 => 'Vodafone', 9186788 => 'Vodafone', 9186789 => 'Idea', 918679 => 'Aircel', - 918680 => 'Idea', - 918681 => 'Idea', - 918682 => 'Idea', - 918683 => 'Idea', - 918684 => 'Idea', - 918685 => 'Idea', + 91868 => 'Idea', 918686 => 'Aircel', 918687 => 'Reliance Jio', 918688 => 'Reliance Jio', - 918689 => 'Idea', - 918690 => 'Reliance Jio', + 918690 => 'Airtel', 918691 => 'Idea', 918692 => 'Idea', 9186930 => 'Idea', @@ -2561,8 +2158,15 @@ return array ( 918698 => 'Vodafone', 918699 => 'Tata Docomo', 918700 => 'Reliance Jio', - 918707 => 'Reliance Jio', + 9187070 => 'Reliance Jio', 9187071 => 'Idea', + 9187072 => 'Reliance Jio', + 9187073 => 'Reliance Jio', + 9187074 => 'Reliance Jio', + 9187075 => 'Reliance Jio', + 9187076 => 'Reliance Jio', + 9187077 => 'Reliance Jio', + 9187078 => 'Reliance Jio', 9187079 => 'Idea', 918708 => 'Reliance Jio', 918709 => 'Reliance Jio', @@ -2665,7 +2269,6 @@ return array ( 918797 => 'Tata Docomo', 918798 => 'Reliance Jio', 918799 => 'Reliance Jio', - 9187997 => 'Reliance Jio', 918800 => 'Airtel', 918801 => 'Aircel', 918802 => 'Aircel', @@ -2677,11 +2280,6 @@ return array ( 918808 => 'Idea', 918809 => 'Airtel', 918810 => 'Reliance Jio', - 9188102 => 'Reliance Jio', - 9188103 => 'Reliance Jio', - 9188104 => 'Reliance Jio', - 9188105 => 'Reliance Jio', - 9188106 => 'Reliance Jio', 918811 => 'Airtel', 918812 => 'Airtel', 918813 => 'Vodafone', @@ -2744,26 +2342,16 @@ return array ( 918857 => 'Telewings', 918858 => 'Telewings', 918859 => 'Vodafone', + 91886 => 'Telewings', 918860 => 'Vodafone', 918861 => 'Airtel', - 918862 => 'Telewings', - 918863 => 'Telewings', - 918864 => 'Telewings', - 918865 => 'Telewings', 918866 => 'Tata Docomo', 918867 => 'Tata Docomo', - 918868 => 'Telewings', - 918869 => 'Telewings', + 91887 => 'Vodafone', 918870 => 'Airtel', 918871 => 'Tata Docomo', 918872 => 'Idea', 918873 => 'Idea', - 918874 => 'Vodafone', - 918875 => 'Vodafone', - 918876 => 'Vodafone', - 918877 => 'Vodafone', - 918878 => 'Vodafone', - 918879 => 'Vodafone', 918880 => 'Reliance Jio', 918881 => 'Vodafone', 918882 => 'Reliance Jio', @@ -2789,7 +2377,7 @@ return array ( 918902 => 'BSNL MOBILE', 918903 => 'BSNL MOBILE', 918904 => 'Tata Docomo', - 918905 => 'Reliance Jio', + 918905 => 'Airtel', 918906 => 'Aircel', 918907 => 'Aircel', 918908 => 'Aircel', @@ -2880,47 +2468,20 @@ return array ( 918988 => 'BSNL MOBILE', 918989 => 'BSNL MOBILE', 918990 => 'Reliance Jio', + 9189911 => 'BSNL MOBILE', 918999 => 'Reliance Jio', - 919000 => 'Airtel', - 919001 => 'Airtel', - 919002 => 'Airtel', - 919003 => 'Airtel', - 919004 => 'Airtel', - 919005 => 'Airtel', - 919006 => 'Airtel', - 919007 => 'Airtel', - 919008 => 'Airtel', + 91900 => 'Airtel', 919009 => 'Idea', + 91901 => 'Reliance Jio', 919010 => 'Idea', 919011 => 'Idea', 919012 => 'Idea', 919013 => 'MTNL', - 919014 => 'Reliance Jio', - 919015 => 'Reliance Jio', - 919016 => 'Reliance Jio', - 919017 => 'Reliance Jio', - 919018 => 'Reliance Jio', - 919019 => 'Reliance Jio', 91902 => 'Reliance Jio', 919028 => 'Tata Docomo', 919029 => 'Tata Docomo', - 919030 => 'Tata Docomo', - 919031 => 'Tata Docomo', - 919032 => 'Tata Docomo', - 919033 => 'Tata Docomo', - 919034 => 'Tata Docomo', - 919035 => 'Tata Docomo', - 919036 => 'Tata Docomo', - 919037 => 'Tata Docomo', - 919038 => 'Tata Docomo', - 919039 => 'Tata Docomo', - 919040 => 'Tata Docomo', - 919041 => 'Tata Docomo', - 919042 => 'Tata Docomo', - 919043 => 'Tata Docomo', - 919044 => 'Tata Docomo', - 919045 => 'Tata Docomo', - 919046 => 'Tata Docomo', + 91903 => 'Tata Docomo', + 91904 => 'Tata Docomo', 919047 => 'Vodafone', 919048 => 'Vodafone', 919049 => 'Vodafone', @@ -2991,8 +2552,6 @@ return array ( 919108 => 'Airtel', 919109 => 'Airtel', 919110 => 'Reliance Jio', - 9191101 => 'Reliance Jio', - 9191109 => 'Reliance Jio', 919111 => 'Idea', 9191120 => 'Vodafone', 9191121 => 'Vodafone', @@ -3079,231 +2638,26 @@ return array ( 919177 => 'Airtel', 919178 => 'Airtel', 919179 => 'Airtel', - 919180 => 'BSNL MOBILE', - 919181 => 'BSNL MOBILE', + 91918 => 'BSNL MOBILE', 919182 => 'Reliance Jio', - 919183 => 'BSNL MOBILE', - 919184 => 'BSNL MOBILE', - 919185 => 'BSNL MOBILE', - 919186 => 'BSNL MOBILE', - 919187 => 'BSNL MOBILE', - 919188 => 'BSNL MOBILE', - 919189 => 'BSNL MOBILE', - 919190 => 'BSNL MOBILE', - 919191 => 'BSNL MOBILE', - 919192 => 'BSNL MOBILE', - 919193 => 'BSNL MOBILE', - 919194 => 'BSNL MOBILE', - 919195 => 'BSNL MOBILE', - 919196 => 'BSNL MOBILE', - 919197 => 'BSNL MOBILE', + 91919 => 'BSNL MOBILE', 919198 => 'Airtel', 919199 => 'Airtel', - 919200 => 'Tata Docomo', - 919201 => 'Tata Docomo', - 919202 => 'Tata Docomo', - 919203 => 'Tata Docomo', - 919204 => 'Tata Docomo', + 9192 => 'Tata Docomo', 919205 => 'Airtel', 919206 => 'Aircel', 919207 => 'Idea', - 919208 => 'Tata Docomo', - 919209 => 'Tata Docomo', - 919210 => 'Tata Docomo', - 919211 => 'Tata Docomo', - 919212 => 'Tata Docomo', - 919213 => 'Tata Docomo', - 919214 => 'Tata Docomo', - 919215 => 'Tata Docomo', - 919216 => 'Tata Docomo', - 919217 => 'Tata Docomo', - 919218 => 'Tata Docomo', - 919219 => 'Tata Docomo', - 919220 => 'Tata Docomo', - 919221 => 'Tata Docomo', - 919222 => 'Tata Docomo', - 919223 => 'Tata Docomo', - 919224 => 'Tata Docomo', - 919225 => 'Tata Docomo', - 919226 => 'Tata Docomo', - 919227 => 'Tata Docomo', - 919228 => 'Tata Docomo', - 919229 => 'Tata Docomo', - 919230 => 'Tata Docomo', - 919231 => 'Tata Docomo', - 919232 => 'Tata Docomo', - 919233 => 'Tata Docomo', - 919234 => 'Tata Docomo', - 919235 => 'Tata Docomo', - 919236 => 'Tata Docomo', - 919237 => 'Tata Docomo', - 919238 => 'Tata Docomo', - 919239 => 'Tata Docomo', - 919240 => 'Tata Docomo', - 919241 => 'Tata Docomo', - 919242 => 'Tata Docomo', - 919243 => 'Tata Docomo', - 919244 => 'Tata Docomo', - 919245 => 'Tata Docomo', - 919246 => 'Tata Docomo', - 919247 => 'Tata Docomo', - 919248 => 'Tata Docomo', - 919249 => 'Tata Docomo', - 919250 => 'Tata Docomo', - 919251 => 'Tata Docomo', - 919252 => 'Tata Docomo', - 919253 => 'Tata Docomo', - 919254 => 'Tata Docomo', - 919255 => 'Tata Docomo', - 919256 => 'Tata Docomo', - 919257 => 'Tata Docomo', - 919258 => 'Tata Docomo', - 919259 => 'Tata Docomo', - 919260 => 'Tata Docomo', - 919261 => 'Tata Docomo', - 919262 => 'Tata Docomo', - 919263 => 'Tata Docomo', - 919264 => 'Tata Docomo', - 919265 => 'Tata Docomo', - 919266 => 'Tata Docomo', - 919267 => 'Tata Docomo', - 919268 => 'Tata Docomo', - 919269 => 'Tata Docomo', - 919270 => 'Tata Docomo', - 919271 => 'Tata Docomo', - 919272 => 'Tata Docomo', - 919273 => 'Tata Docomo', - 919274 => 'Tata Docomo', - 919275 => 'Tata Docomo', - 919276 => 'Tata Docomo', - 919277 => 'Tata Docomo', - 919278 => 'Tata Docomo', - 919279 => 'Tata Docomo', - 919280 => 'Tata Docomo', - 919281 => 'Tata Docomo', - 919282 => 'Tata Docomo', - 919283 => 'Tata Docomo', - 919284 => 'Tata Docomo', - 919285 => 'Tata Docomo', - 919286 => 'Tata Docomo', - 919287 => 'Tata Docomo', - 919288 => 'Tata Docomo', - 919289 => 'Tata Docomo', - 919290 => 'Tata Docomo', - 919291 => 'Tata Docomo', - 919292 => 'Tata Docomo', - 919293 => 'Tata Docomo', - 919294 => 'Tata Docomo', - 919295 => 'Tata Docomo', - 919296 => 'Tata Docomo', - 919297 => 'Tata Docomo', - 919298 => 'Tata Docomo', - 919299 => 'Tata Docomo', 9193 => 'Reliance Jio', 919319 => 'Airtel', 919341 => 'Airtel', - 919354 => 'Reliance Jio', 919355 => 'Idea', 919358 => 'Airtel', 919371 => 'Idea', - 919400 => 'BSNL MOBILE', - 919401 => 'BSNL MOBILE', - 919402 => 'BSNL MOBILE', - 919403 => 'BSNL MOBILE', - 919404 => 'BSNL MOBILE', - 919405 => 'BSNL MOBILE', - 919406 => 'BSNL MOBILE', - 919407 => 'BSNL MOBILE', - 919408 => 'BSNL MOBILE', - 919409 => 'BSNL MOBILE', - 919410 => 'BSNL MOBILE', - 919411 => 'BSNL MOBILE', - 919412 => 'BSNL MOBILE', - 919413 => 'BSNL MOBILE', - 919414 => 'BSNL MOBILE', - 919415 => 'BSNL MOBILE', - 919416 => 'BSNL MOBILE', - 919417 => 'BSNL MOBILE', - 919418 => 'BSNL MOBILE', - 919419 => 'BSNL MOBILE', - 919420 => 'BSNL MOBILE', - 919421 => 'BSNL MOBILE', - 919422 => 'BSNL MOBILE', - 919423 => 'BSNL MOBILE', - 919424 => 'BSNL MOBILE', - 919425 => 'BSNL MOBILE', - 919426 => 'BSNL MOBILE', - 919427 => 'BSNL MOBILE', - 919428 => 'BSNL MOBILE', - 919429 => 'BSNL MOBILE', - 919430 => 'BSNL MOBILE', - 919431 => 'BSNL MOBILE', - 919432 => 'BSNL MOBILE', - 919433 => 'BSNL MOBILE', - 919434 => 'BSNL MOBILE', - 919435 => 'BSNL MOBILE', - 919436 => 'BSNL MOBILE', - 919437 => 'BSNL MOBILE', - 919438 => 'BSNL MOBILE', - 919439 => 'BSNL MOBILE', - 919440 => 'BSNL MOBILE', - 919441 => 'BSNL MOBILE', - 919442 => 'BSNL MOBILE', - 919443 => 'BSNL MOBILE', - 919444 => 'BSNL MOBILE', - 919445 => 'BSNL MOBILE', - 919446 => 'BSNL MOBILE', - 919447 => 'BSNL MOBILE', - 919449 => 'BSNL MOBILE', - 919450 => 'BSNL MOBILE', - 919451 => 'BSNL MOBILE', - 919452 => 'BSNL MOBILE', - 919453 => 'BSNL MOBILE', - 919454 => 'BSNL MOBILE', - 919455 => 'BSNL MOBILE', - 919456 => 'BSNL MOBILE', - 919457 => 'BSNL MOBILE', - 919458 => 'BSNL MOBILE', - 919459 => 'BSNL MOBILE', - 919460 => 'BSNL MOBILE', - 919461 => 'BSNL MOBILE', - 919462 => 'BSNL MOBILE', - 919463 => 'BSNL MOBILE', - 919464 => 'BSNL MOBILE', - 919465 => 'BSNL MOBILE', - 919466 => 'BSNL MOBILE', - 919467 => 'BSNL MOBILE', - 919468 => 'BSNL MOBILE', - 919469 => 'BSNL MOBILE', - 919470 => 'BSNL MOBILE', - 919471 => 'BSNL MOBILE', - 919472 => 'BSNL MOBILE', - 919473 => 'BSNL MOBILE', - 919474 => 'BSNL MOBILE', - 919475 => 'BSNL MOBILE', - 919476 => 'BSNL MOBILE', - 919477 => 'BSNL MOBILE', - 919478 => 'BSNL MOBILE', - 919479 => 'BSNL MOBILE', - 919480 => 'BSNL MOBILE', - 919481 => 'BSNL MOBILE', - 919482 => 'BSNL MOBILE', - 919483 => 'BSNL MOBILE', - 919484 => 'BSNL MOBILE', - 919485 => 'BSNL MOBILE', - 919486 => 'BSNL MOBILE', - 919487 => 'BSNL MOBILE', - 919488 => 'BSNL MOBILE', - 919489 => 'BSNL MOBILE', - 919490 => 'BSNL MOBILE', - 919491 => 'BSNL MOBILE', - 919492 => 'BSNL MOBILE', - 919494 => 'BSNL MOBILE', - 919495 => 'BSNL MOBILE', - 919496 => 'BSNL MOBILE', - 919497 => 'BSNL MOBILE', - 919498 => 'BSNL MOBILE', - 919499 => 'BSNL MOBILE', + 919374 => 'Vodafone', + 919375 => 'Vodafone', + 919376 => 'Vodafone', + 919385 => 'BSNL MOBILE', + 9194 => 'BSNL MOBILE', 919500 => 'Airtel', 919501 => 'Airtel', 919502 => 'Airtel', @@ -3315,8 +2669,11 @@ return array ( 919508 => 'Reliance Jio', 919509 => 'Reliance Jio', 919510 => 'Reliance Jio', - 919511 => 'Airtel', + 9195110 => 'Airtel', + 9195111 => 'Airtel', 9195112 => 'Reliance Jio', + 9195113 => 'Airtel', + 9195114 => 'Airtel', 9195115 => 'Reliance Jio', 9195116 => 'Reliance Jio', 9195117 => 'Reliance Jio', @@ -3396,14 +2753,8 @@ return array ( 919577 => 'Aircel', 919578 => 'Aircel', 919579 => 'Reliance Jio', + 91958 => 'Vodafone', 919580 => 'Reliance Jio', - 919581 => 'Vodafone', - 919582 => 'Vodafone', - 919583 => 'Vodafone', - 919584 => 'Vodafone', - 919585 => 'Vodafone', - 919586 => 'Vodafone', - 919587 => 'Vodafone', 919588 => 'Reliance Jio', 919589 => 'Airtel', 919590 => 'Reliance Jio', @@ -3485,12 +2836,7 @@ return array ( 919666 => 'Idea', 919668 => 'Airtel', 919669 => 'Idea', - 919670 => 'Vodafone', - 919671 => 'Vodafone', - 919672 => 'Vodafone', - 919673 => 'Vodafone', - 919674 => 'Vodafone', - 919675 => 'Vodafone', + 91967 => 'Vodafone', 919676 => 'Airtel', 919677 => 'Airtel', 919678 => 'Airtel', @@ -3548,16 +2894,11 @@ return array ( 919727 => 'Vodafone', 919728 => 'Idea', 919729 => 'Airtel', + 91973 => 'Vodafone', 919730 => 'Airtel', 919731 => 'Airtel', - 919732 => 'Vodafone', - 919733 => 'Vodafone', - 919734 => 'Vodafone', - 919735 => 'Vodafone', - 919736 => 'Vodafone', 919737 => 'Idea', 919738 => 'Aircel', - 919739 => 'Vodafone', 919740 => 'Airtel', 919741 => 'Airtel', 919742 => 'Vodafone', @@ -3625,16 +2966,10 @@ return array ( 919797 => 'Airtel', 919798 => 'Reliance Jio', 919799 => 'Airtel', + 91980 => 'Aircel', 919800 => 'Airtel', 919801 => 'Airtel', - 919802 => 'Aircel', - 919803 => 'Aircel', - 919804 => 'Aircel', 919805 => 'Airtel', - 919806 => 'Aircel', - 919807 => 'Aircel', - 919808 => 'Aircel', - 919809 => 'Aircel', 919810 => 'Airtel', 919811 => 'Vodafone', 919812 => 'Idea', @@ -3675,16 +3010,9 @@ return array ( 919847 => 'Idea', 919848 => 'Idea', 919849 => 'Airtel', + 91985 => 'Aircel', 919850 => 'Idea', - 919851 => 'Aircel', - 919852 => 'Aircel', - 919853 => 'Aircel', - 919854 => 'Aircel', 919855 => 'Idea', - 919856 => 'Aircel', - 919857 => 'Aircel', - 919858 => 'Aircel', - 919859 => 'Aircel', 919860 => 'Airtel', 919861 => 'Reliance Jio', 919862 => 'Airtel', @@ -3727,25 +3055,13 @@ return array ( 919887 => 'Idea', 919888 => 'Vodafone', 919889 => 'Idea', - 919890 => 'Airtel', + 91989 => 'Airtel', 919891 => 'Idea', - 919892 => 'Airtel', - 919893 => 'Airtel', - 919894 => 'Airtel', - 919895 => 'Airtel', - 919896 => 'Airtel', - 919897 => 'Airtel', - 919898 => 'Airtel', 919899 => 'Vodafone', - 919900 => 'Airtel', - 919901 => 'Airtel', - 919902 => 'Airtel', - 919903 => 'Airtel', + 91990 => 'Airtel', 919904 => 'Idea', 919905 => 'Reliance Jio', - 919906 => 'Airtel', 919907 => 'Reliance Jio', - 919908 => 'Airtel', 919909 => 'Vodafone', 919910 => 'Airtel', 919911 => 'Idea', @@ -3767,16 +3083,8 @@ return array ( 919927 => 'Idea', 919928 => 'Airtel', 919929 => 'Airtel', + 91993 => 'Airtel', 919930 => 'Vodafone', - 919931 => 'Airtel', - 919932 => 'Airtel', - 919933 => 'Airtel', - 919934 => 'Airtel', - 919935 => 'Airtel', - 919936 => 'Airtel', - 919937 => 'Airtel', - 919938 => 'Airtel', - 919939 => 'Airtel', 919940 => 'Airtel', 919941 => 'Aircel', 919942 => 'Aircel', @@ -3787,16 +3095,9 @@ return array ( 919947 => 'Idea', 919948 => 'Idea', 919949 => 'Airtel', - 919950 => 'Airtel', + 91995 => 'Airtel', 919951 => 'Idea', - 919952 => 'Airtel', 919953 => 'Vodafone', - 919954 => 'Airtel', - 919955 => 'Airtel', - 919956 => 'Airtel', - 919957 => 'Airtel', - 919958 => 'Airtel', - 919959 => 'Airtel', 919960 => 'Airtel', 919961 => 'Idea', 919962 => 'Vodafone', @@ -3807,25 +3108,15 @@ return array ( 919967 => 'Airtel', 919968 => 'MTNL', 919969 => 'MTNL', - 919970 => 'Airtel', - 919971 => 'Airtel', - 919972 => 'Airtel', - 919973 => 'Airtel', - 919974 => 'Airtel', - 919975 => 'Airtel', + 91997 => 'Airtel', 919976 => 'Aircel', 919977 => 'Idea', 919978 => 'Vodafone', 919979 => 'Vodafone', + 91998 => 'Vodafone', 919980 => 'Airtel', 919981 => 'Airtel', - 919982 => 'Vodafone', - 919983 => 'Vodafone', - 919984 => 'Vodafone', - 919985 => 'Vodafone', - 919986 => 'Vodafone', 919987 => 'Airtel', - 919988 => 'Vodafone', 919989 => 'Airtel', 919990 => 'Idea', 919991 => 'Vodafone', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/92.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/92.php index 8339935ab..d48934533 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/92.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/92.php @@ -11,25 +11,9 @@ */ return array ( - 92300 => 'Mobilink', - 92301 => 'Mobilink', - 92302 => 'Mobilink', - 92303 => 'Mobilink', - 92304 => 'Mobilink', - 92305 => 'Mobilink', - 92306 => 'Mobilink', - 92307 => 'Mobilink', - 92308 => 'Mobilink', - 92309 => 'Mobilink', + 9230 => 'Mobilink', 9231 => 'Zong', 9232 => 'Warid', - 92330 => 'Ufone', - 92331 => 'Ufone', - 92332 => 'Ufone', - 92333 => 'Ufone', - 92334 => 'Ufone', - 92335 => 'Ufone', - 92336 => 'Ufone', - 92337 => 'Ufone', + 9233 => 'Ufone', 9234 => 'Telenor', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/95.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/95.php index d74f77d69..9cee6bc1c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/95.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/95.php @@ -29,22 +29,13 @@ return array ( 959263 => 'Huawei', 959264 => 'Huawei', 959265 => 'ZTE', - 95930 => 'MECTel', - 95931 => 'MECTel', - 95932 => 'MECTel', - 95933 => 'MECTel', - 959340 => 'MECTel', - 959346 => 'MECTel', - 959349 => 'MECTel', - 95936 => 'MECTel', + 9593 => 'MECTel', 959426 => 'ZTE', 959427 => 'ZTE', 95951 => 'ZTE', 95955 => 'ZTE', 95969 => 'MNTC', - 959750 => 'Telenor', - 959751 => 'Telenor', - 959752 => 'Telenor', + 95975 => 'Telenor', 95976 => 'Telenor', 95977 => 'Telenor', 95978 => 'Telenor', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/963.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/963.php index 94511b40c..030b6238a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/963.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/963.php @@ -11,7 +11,7 @@ */ return array ( - 963922 => 'Syriatel', + 96392 => 'Syriatel', 96393 => 'Syriatel', 96394 => 'MTN', 963950 => 'MTN', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/972.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/972.php index b56a6585b..a5029c463 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/972.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/972.php @@ -16,35 +16,20 @@ return array ( 97252 => 'Cellcom', 97253 => 'Hot Mobile', 97254 => 'Orange', - 9725501 => 'Beezz', + 972550 => 'Beezz', 9725522 => 'Home Cellular', 9725523 => 'Home Cellular', 9725524 => 'Telzar', 9725525 => 'Telzar', - 9725532 => 'Free Telecom', - 9725533 => 'Free Telecom', + 972553 => 'Free Telecom', 9725550 => 'Annatel', - 9725551 => 'Annatel', - 9725566 => 'Rami Levy', - 9725567 => 'Rami Levy', - 9725568 => 'Rami Levy', + 972556 => 'Rami Levy', 9725570 => 'Cellact', 9725571 => 'Cellact', 9725572 => 'Cellact', - 9725587 => 'Alon', - 9725588 => 'Alon', - 9725589 => 'Alon', - 9725591 => 'Telzar', - 9725592 => 'Telzar', - 9725593 => 'Telzar', - 9725594 => 'Telzar', - 9725595 => 'Telzar', - 9725596 => 'Telzar', - 9725597 => 'Telzar', - 9725598 => 'Telzar', - 9725599 => 'Telzar', + 972558 => 'Alon', + 972559 => 'Telzar', 97256 => 'Wataniya', - 97257 => 'Hot Mobile', 97258 => 'Golan Telecom', 97259 => 'Jawwal', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/975.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/975.php index f43a8a2c5..ad5957ce9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/975.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/975.php @@ -11,7 +11,6 @@ */ return array ( - 97516 => 'B-Mobile of Bhutan Telecom', - 97517 => 'B-Mobile of Bhutan Telecom', + 9751 => 'B-Mobile of Bhutan Telecom', 97577 => 'TashiCell of Tashi InfoComm', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/976.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/976.php index b35a0288c..681cc77fd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/976.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/976.php @@ -12,8 +12,7 @@ return array ( 97680 => 'Unitel', - 976830 => 'G-Mobile', - 976831 => 'G-Mobile', + 97683 => 'G-Mobile', 97685 => 'Mobicom', 97686 => 'Unitel', 97688 => 'Unitel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php index 8b6a4d86e..2f00754d1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/98.php @@ -14,23 +14,18 @@ return array ( 9890 => 'Irancell', 9891 => 'IR-MCI', 9892 => 'Rightel', - 98930 => 'Irancell', + 9893 => 'Irancell', 98931 => 'MTCE', 98932 => 'Taliya', - 98933 => 'Irancell', 98934 => 'TeleKish', - 98935 => 'Irancell', - 98936 => 'Irancell', - 98937 => 'Irancell', - 98938 => 'Irancell', - 98939 => 'Irancell', 98990 => 'IR-MCI', 98991 => 'IR-MCI', - 989944 => 'Anarestan', - 9899810 => 'Shatel Mobile', + 98994 => 'Anarestan', + 989981 => 'Shatel Mobile', 9899900 => 'LOTUSTEL', - 989991 => 'Irancell', + 9899910 => 'Irancell', 9899911 => 'ApTel', + 9899913 => 'Irancell', 9899914 => 'Azartel', 9899998 => 'SamanTel', 9899999 => 'SamanTel', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/992.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/992.php index c9cd4bc84..9044251aa 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/992.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/992.php @@ -11,12 +11,11 @@ */ return array ( - 992411 => 'Megafon', - 992418 => 'Megafon', + 99241 => 'Megafon', 99250 => 'Tcell', 99255 => 'Megafon', - 99277 => 'Tcell', - 99288 => 'Megafon', + 9927 => 'Tcell', + 9928 => 'Megafon', 99290 => 'Megafon', 992917 => 'Tacom', 992918 => 'Babilon-M', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/994.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/994.php index a526f2a3f..3e9586b84 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/994.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/994.php @@ -17,7 +17,6 @@ return array ( 99450 => 'Azercell', 99451 => 'Azercell', 99455 => 'Bakcell', - 99460 => 'Nakhtel', - 99470 => 'Nar Mobile', - 99477 => 'Nar Mobile', + 9946 => 'Nakhtel', + 9947 => 'Nar Mobile', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/995.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/995.php index 600890c2f..7674f393f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/995.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/995.php @@ -11,17 +11,15 @@ */ return array ( - 995514 => 'Geocell', + 99551 => 'Geocell', 99554444 => 'MagtiCom', 995550 => 'MagtiCom', 995551 => 'MagtiCom', - 995554 => 'MagtiCom', 995555 => 'Geocell', 995557 => 'Geocell', 995558 => 'Geocell', 995559 => 'Globalcell', - 995562 => 'Geocell', - 995568 => 'Veon', + 99556 => 'Veon', 995570 => 'Silknet', 995571 => 'Veon', 995574 => 'Veon', @@ -35,5 +33,5 @@ return array ( 995597 => 'Veon', 995598 => 'MagtiCom', 995599 => 'MagtiCom', - 995790 => 'MagtiCom', + 99579 => 'MagtiCom', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/996.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/996.php index 1f9088dd9..a8de93c87 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/996.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/996.php @@ -20,8 +20,7 @@ return array ( 99656 => 'Winline', 99657 => 'Sotel', 99670 => 'Nur Telecom', - 996755 => 'ALFA Telecom', + 99675 => 'ALFA Telecom', 99677 => 'Sky mobile', - 996996 => 'Sky mobile', - 996999 => 'Sky mobile', + 9969 => 'Sky mobile', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/998.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/998.php index f824a077e..ffa5acc85 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/998.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/en/998.php @@ -11,12 +11,7 @@ */ return array ( - 99861 => 'MTS', - 99862 => 'MTS', - 99865 => 'MTS', - 99866 => 'MTS', - 99867 => 'MTS', - 99869 => 'MTS', + 9986 => 'MTS', 99870 => 'MTS', 99872 => 'MTS', 99873 => 'MTS', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php index 55d9a4da4..3ba28431c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/fa/98.php @@ -14,23 +14,18 @@ return array ( 9890 => 'ایرانسل', 9891 => 'همراه اول', 9892 => 'رایتل', - 98930 => 'ایرانسل', + 9893 => 'ایرانسل', 98931 => 'اسپادان', 98932 => 'تالیا', - 98933 => 'ایرانسل', 98934 => 'تله‌کیش', - 98935 => 'ایرانسل', - 98936 => 'ایرانسل', - 98937 => 'ایرانسل', - 98938 => 'ایرانسل', - 98939 => 'ایرانسل', 98990 => 'همراه اول', 98991 => 'همراه اول', - 989944 => 'انارستان', - 9899810 => 'شاتل موبایل', + 98994 => 'انارستان', + 989981 => 'شاتل موبایل', 9899900 => 'لوتوس‌تل', - 989991 => 'ایرانسل', + 9899910 => 'ایرانسل', 9899911 => 'آپتل', + 9899913 => 'ایرانسل', 9899914 => 'آذرتل', 9899998 => 'سامانتل', 9899999 => 'سامانتل', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/374.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/374.php index 26259d98b..53378bd2c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/374.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/374.php @@ -15,8 +15,8 @@ return array ( 37443 => 'Билайн', 37444 => 'Юком', 37449 => 'ВиваСелл-МТС', - 37455 => 'Юком', - 37477 => 'ВиваСелл-МТС', + 3745 => 'Юком', + 3747 => 'ВиваСелл-МТС', 37488 => 'ВиваСелл-МТС', 37491 => 'Билайн', 37493 => 'ВиваСелл-МТС', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/7.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/7.php index 2d392f96f..a5488b649 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/7.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/ru/7.php @@ -147,12 +147,11 @@ return array ( 7908439 => 'Билайн', 790844 => 'Билайн', 790845 => 'Билайн', - 790846 => 'Билайн', - 7908465 => '', - 7908466 => '', - 7908467 => '', - 7908468 => '', - 7908469 => '', + 7908460 => 'Билайн', + 7908461 => 'Билайн', + 7908462 => 'Билайн', + 7908463 => 'Билайн', + 7908464 => 'Билайн', 790861 => 'МегаФон', 790862 => 'МегаФон', 790863 => 'МОТИВ', @@ -244,7 +243,6 @@ return array ( 7953039 => 'МОТИВ', 795304 => 'МОТИВ', 795305 => 'МОТИВ', - 7953059 => '', 795320 => 'Билайн', 795321 => 'Билайн', 795322 => 'Билайн', @@ -287,34 +285,15 @@ return array ( 7996241 => 'МегаФон', 7996242 => 'МегаФон', 7996243 => 'МегаФон', - 7996303 => 'МегаФон', - 7996304 => 'МегаФон', - 7996305 => 'МегаФон', - 7996306 => 'МегаФон', - 7996307 => 'МегаФон', - 7996308 => 'МегаФон', - 7996309 => 'МегаФон', - 799631 => 'МегаФон', - 799632 => 'МегаФон', - 799633 => 'МегаФон', - 799634 => 'МегаФон', - 799635 => 'МегаФон', - 799636 => 'МегаФон', - 799637 => 'МегаФон', - 799638 => 'МегаФон', - 799639 => 'МегаФон', + 79963 => 'МегаФон', + 7996300 => '', + 7996301 => '', + 7996302 => '', 79964 => 'МегаФон', 79965 => 'МегаФон', 79966 => 'МегаФон', 7996699 => '', - 799691 => 'МегаФон', - 799692 => 'МегаФон', - 799693 => 'МегаФон', - 799694 => 'МегаФон', - 799695 => 'МегаФон', - 799696 => 'МегаФон', - 799697 => 'МегаФон', - 799698 => 'МегаФон', - 799699 => 'МегаФон', + 79969 => 'МегаФон', + 799690 => '', 7999 => 'МегаФон', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/uk/380.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/uk/380.php new file mode 100644 index 000000000..3a64e40b5 --- /dev/null +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/uk/380.php @@ -0,0 +1,26 @@ + 'Голден Телеком', + 38050 => 'Vodafone Україна', + 38066 => 'Vodafone Україна', + 38067 => 'Київстар', + 38068 => 'Київстар', + 38091 => 'ТриМоб', + 38094 => 'Інтертелеком', + 38095 => 'Vodafone Україна', + 38096 => 'Київстар', + 38097 => 'Київстар', + 38098 => 'Київстар', + 38099 => 'Vodafone Україна', +); diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php index e57730649..d2452a3e8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh/852.php @@ -11,14 +11,8 @@ */ return array ( - 8524600 => '中国移动', - 8524601 => '中国移动', - 8524602 => '中国移动', - 8524603 => '中国移动', - 8524604 => '中国移动', - 8524605 => '中国移动', - 8524606 => '中国移动', - 8524610 => '新移动通讯', + 852460 => '中国移动', + 852461 => '新移动通讯', 8524640 => '中国移动', 8524641 => '数码通', 8524642 => '数码通', @@ -39,22 +33,24 @@ return array ( 852520 => '香港移动通讯', 852521 => '香港移动通讯', 852522 => '中国移动', - 852523 => '数码通', 8525230 => '香港移动通讯', 8525231 => '香港移动通讯', 8525232 => '香港移动通讯', 8525233 => '香港移动通讯', - 8525234 => '', - 8525235 => '', + 8525236 => '数码通', + 8525237 => '数码通', + 8525238 => '数码通', + 8525239 => '数码通', 852524 => '香港移动通讯', 852526 => '中国移动', 852527 => '香港移动通讯', - 852528 => '数码通', - 8525280 => '', 8525281 => '新移动通讯', 8525282 => '新移动通讯', - 8525283 => '', - 8525289 => '', + 8525284 => '数码通', + 8525285 => '数码通', + 8525286 => '数码通', + 8525287 => '数码通', + 8525288 => '数码通', 852529 => '香港移动通讯', 852530 => '中国移动', 852531 => '中国移动', @@ -99,21 +95,16 @@ return array ( 8525707 => '中国移动', 8525708 => '中国移动', 8525709 => '中信国际电讯', - 8525710 => '香港移动通讯', - 8525711 => '香港移动通讯', - 8525712 => '香港移动通讯', - 8525713 => '香港移动通讯', - 8525714 => '香港移动通讯', - 8525715 => '香港移动通讯', - 8525716 => '香港移动通讯', - 8525717 => '香港移动通讯', + 852571 => '香港移动通讯', + 8525718 => '', + 8525719 => '', 852572 => '数码通', - 8525730 => '台东', - 852574 => '数码通', - 8525745 => '', - 8525746 => '', - 8525747 => '', - 8525748 => '', + 852573 => '台东', + 8525740 => '数码通', + 8525741 => '数码通', + 8525742 => '数码通', + 8525743 => '数码通', + 8525744 => '数码通', 8525749 => '中国移动', 852576 => '中国移动', 8525768 => '', @@ -136,14 +127,11 @@ return array ( 852605 => '香港移动通讯', 852606 => '中国移动', 852609 => '中国移动', + 85261 => '香港移动通讯', + 852610 => '', 852611 => '数码通', - 852612 => '香港移动通讯', - 852613 => '香港移动通讯', - 852614 => '香港移动通讯', 852615 => '中国移动', - 852616 => '香港移动通讯', - 852617 => '香港移动通讯', - 852618 => '香港移动通讯', + 852619 => '', 852621 => '中国移动', 852622 => '中国移动', 852623 => '中国移动', @@ -205,11 +193,7 @@ return array ( 852695 => '中国移动', 852697 => '香港移动通讯', 852699 => '中国移动', - 8527071 => '数码通', - 8527072 => '数码通', - 8527073 => '数码通', - 8527074 => '数码通', - 8527075 => '数码通', + 85270 => '数码通', 852901 => '数码通', 852902 => '香港移动通讯', 852903 => '香港移动通讯', @@ -234,13 +218,8 @@ return array ( 852925 => '香港移动通讯', 852926 => '香港移动通讯', 852927 => '香港移动通讯', - 8529293 => '中国联通', - 8529294 => '中国联通', - 8529295 => '中国联通', - 8529296 => '中国联通', - 8529297 => '中国联通', - 8529298 => '中国联通', - 8529299 => '中国联通', + 852929 => '中国联通', + 8529290 => '', 852930 => '香港移动通讯', 852931 => '数码通', 852933 => '香港移动通讯', diff --git a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh_Hant/852.php b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh_Hant/852.php index c71bcce3d..629034de4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh_Hant/852.php +++ b/vendor/giggsey/libphonenumber-for-php/src/carrier/data/zh_Hant/852.php @@ -11,14 +11,8 @@ */ return array ( - 8524600 => '中國移動', - 8524601 => '中國移動', - 8524602 => '中國移動', - 8524603 => '中國移動', - 8524604 => '中國移動', - 8524605 => '中國移動', - 8524606 => '中國移動', - 8524610 => '新移動通訊', + 852460 => '中國移動', + 852461 => '新移動通訊', 8524640 => '中國移動', 8524641 => '數碼通', 8524642 => '數碼通', @@ -41,21 +35,28 @@ return array ( 852520 => '香港移動通訊', 852521 => '香港移動通訊', 852522 => '中國移動', - 852523 => '數碼通', 8525230 => '香港移動通訊', 8525231 => '香港移動通訊', 8525232 => '香港移動通訊', 8525233 => '香港移動通訊', 8525234 => 'Lycamobile', 8525235 => '21Vianet', + 8525236 => '數碼通', + 8525237 => '數碼通', + 8525238 => '數碼通', + 8525239 => '數碼通', 852524 => '香港移動通訊', 852526 => '中國移動', 852527 => '香港移動通訊', - 852528 => '數碼通', 8525280 => 'Truphone', 8525281 => '新移動通訊', 8525282 => '新移動通訊', 8525283 => 'Multibyte', + 8525284 => '數碼通', + 8525285 => '數碼通', + 8525286 => '數碼通', + 8525287 => '數碼通', + 8525288 => '數碼通', 8525289 => '263.net', 852529 => '香港移動通訊', 852530 => '中國移動', @@ -111,19 +112,16 @@ return array ( 8525707 => '中國移動', 8525708 => '中國移動', 8525709 => '中信國際電訊', - 8525710 => '香港移動通訊', - 8525711 => '香港移動通訊', - 8525712 => '香港移動通訊', - 8525713 => '香港移動通訊', - 8525714 => '香港移動通訊', - 8525715 => '香港移動通訊', - 8525716 => '香港移動通訊', - 8525717 => '香港移動通訊', + 852571 => '香港移動通訊', 8525718 => 'Lycamobile', 8525719 => 'Lycamobile', 852572 => '數碼通', - 8525730 => '臺東', - 852574 => '數碼通', + 852573 => '臺東', + 8525740 => '數碼通', + 8525741 => '數碼通', + 8525742 => '數碼通', + 8525743 => '數碼通', + 8525744 => '數碼通', 8525745 => 'Multibyte', 8525746 => 'Multibyte', 8525747 => 'Multibyte', @@ -155,15 +153,10 @@ return array ( 852607 => '3', 852608 => '3', 852609 => '中國移動', + 85261 => '香港移動通訊', 852610 => '3', 852611 => '數碼通', - 852612 => '香港移動通訊', - 852613 => '香港移動通訊', - 852614 => '香港移動通訊', 852615 => '中國移動', - 852616 => '香港移動通訊', - 852617 => '香港移動通訊', - 852618 => '香港移動通訊', 852619 => '3', 852620 => '3', 852621 => '中國移動', @@ -239,12 +232,8 @@ return array ( 852695 => '中國移動', 852697 => '香港移動通訊', 852699 => '中國移動', - 8527071 => '數碼通', - 8527072 => '數碼通', - 8527073 => '數碼通', - 8527074 => '數碼通', - 8527075 => '數碼通', - 8528480 => 'Handy', + 85270 => '數碼通', + 85284 => 'Handy', 852901 => '數碼通', 852902 => '香港移動通訊', 852903 => '香港移動通訊', @@ -272,14 +261,8 @@ return array ( 852926 => '香港移動通訊', 852927 => '香港移動通訊', 852928 => '3', + 852929 => '中國聯通', 8529290 => 'Multibyte', - 8529293 => '中國聯通', - 8529294 => '中國聯通', - 8529295 => '中國聯通', - 8529296 => '中國聯通', - 8529297 => '中國聯通', - 8529298 => '中國聯通', - 8529299 => '中國聯通', 852930 => '香港移動通訊', 852931 => '數碼通', 852932 => '3', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_870.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_870.php index ab9873d8a..bd21063b4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_870.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_870.php @@ -146,6 +146,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[35-7]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_878.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_878.php index 15386f8cb..9d855395a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_878.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_878.php @@ -146,6 +146,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_882.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_882.php index bcfb0648c..49328a863 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_882.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_882.php @@ -40,7 +40,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '3(?:2\\d{3}|37\\d{2}|4(?:2|7\\d{3}))\\d{4}', + 'NationalNumberPattern' => '3(?:(?:2\\d|37)\\d\\d|4(?:2|7\\d{3}))\\d{4}', 'ExampleNumber' => '3421234', 'PossibleLength' => array ( @@ -94,7 +94,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15678]|9[0689])\\d{4}|6\\d{5,10})|3(?:45|9\\d{3})\\d{7}', + 'NationalNumberPattern' => '(?:1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])|6\\d{1,6})|3(?:45|9\\d{3})\\d{3})\\d{4}', 'ExampleNumber' => '390123456789', 'PossibleLength' => array ( @@ -152,18 +152,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '3[23]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => array ( 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', @@ -175,31 +163,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '34[57]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '348', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', @@ -211,13 +175,49 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '3[23]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => array ( 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '16', + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '34[57]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '34', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -229,7 +229,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '16|39', + 0 => '[13]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_883.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_883.php index baacc4e52..fff5d5326 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_883.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_883.php @@ -86,7 +86,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '51(?:00\\d{5}(?:\\d{3})?|[13]0\\d{8})', + 'NationalNumberPattern' => '51[013]0\\d{8}|5100\\d{5}', 'ExampleNumber' => '510012345', 'PossibleLength' => array ( @@ -171,7 +171,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '51[13]', + 0 => '5', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AD.php index c88787a74..b33bac323 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AD.php @@ -39,7 +39,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:3\\d|6(?:[0-8]|9(?:0\\d{2})?))\\d{4}', + 'NationalNumberPattern' => '690\\d{6}|[36]\\d{5}', 'ExampleNumber' => '312345', 'PossibleLength' => array ( @@ -169,8 +169,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '180', - 1 => '180[02]', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -182,7 +181,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '690', + 0 => '6', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AE.php index 509b43141..6fac2212c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AE.php @@ -162,19 +162,32 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-4679])(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{2,9})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-4679][2-8]', + 0 => '[68]00', + 1 => '600[25]|800', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( - 'pattern' => '(5\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[236]|[479][2-8]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -184,27 +197,15 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( - 'pattern' => '([479]00)(\\d)(\\d{5})', + 'pattern' => '(\\d{3})(\\d)(\\d{5})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[479]00', + 0 => '[479]', ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '([68]00)(\\d{2,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[68]00', - ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AF.php index e2c40919a..5031fbaac 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AF.php @@ -147,7 +147,19 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-7]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-9]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -160,6 +172,18 @@ return array ( ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-7]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AL.php index be4018fb5..6d97b3204 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AL.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:[2358](?:[16-9]\\d[2-9]|[2-5][2-9]\\d)|4(?:[2-57-9][2-9]\\d|6\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:[2358](?:[16-9]\\d[2-9]|[2-5][2-9]\\d)|4(?:[2-57-9][2-9]|6\\d)\\d)\\d{4}', 'ExampleNumber' => '22345678', 'PossibleLength' => array ( @@ -68,7 +68,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '900[1-9]\\d{2}', + 'NationalNumberPattern' => '900[1-9]\\d\\d', 'ExampleNumber' => '900123', 'PossibleLength' => array ( @@ -80,7 +80,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '808[1-9]\\d{2}', + 'NationalNumberPattern' => '808[1-9]\\d\\d', 'ExampleNumber' => '808123', 'PossibleLength' => array ( @@ -162,11 +162,12 @@ return array ( array ( 0 => array ( - 'pattern' => '(4)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{3,4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '4[0-6]', + 0 => '80[08]|900', + 1 => '80(?:0|8[1-9])|900[1-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -174,11 +175,11 @@ return array ( ), 1 => array ( - 'pattern' => '(6\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '6', + 0 => '4[2-6]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -190,7 +191,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2358][2-5]|4[7-9]', + 0 => '[2358][2-5]|4', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -198,11 +199,23 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{3})(\\d{3,5})', + 'pattern' => '(\\d{3})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[235][16-9]|[79]|8[016-9]', + 0 => '[23578]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '6', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AM.php index 8f35aaf89..58e343857 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AM.php @@ -27,7 +27,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[0-2]\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2|47\\d)\\d{5}', + 'NationalNumberPattern' => '(?:(?:1[0-2]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}', 'ExampleNumber' => '10123456', 'PossibleLength' => array ( @@ -164,18 +164,6 @@ return array ( 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => - array ( - 'pattern' => '(\\d{2})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '4[1349]|[5-7]|88|9[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => array ( 'pattern' => '(\\d{3})(\\d{5})', 'format' => '$1 $2', @@ -187,13 +175,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[4-7]|88|9[13-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), 3 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '8|90', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '0 $1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AO.php index 8def7ad50..f7e2d87e8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AO.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}', + 'NationalNumberPattern' => '2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}', 'ExampleNumber' => '222123456', 'PossibleLength' => array ( @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[29]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php index 2752821fa..bdee6e5d2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AR.php @@ -322,9 +322,6 @@ return array ( array ( 0 => '911', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 2 => array ( @@ -337,9 +334,6 @@ return array ( 2 => '9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3[4-6]|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))', 3 => '9(?:2(?:2(?:0[013-9]|[13])|3(?:0[013-9]|[67])|49|6(?:[0136]|4[0-59])|8|9(?:[19]|44|7[013-9]|8[14]))|3(?:36|4(?:[12]|3(?:4|5[014]|6[1-39])|[58]4)|5(?:1|3[0-24-689]|8[46])|6|7[069]|8(?:[01]|34|[578][45])))', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 3 => array ( @@ -349,9 +343,6 @@ return array ( array ( 0 => '9[23]', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 4 => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AT.php index 032e75316..2d4cef51b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AT.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '[1-35-9]\\d{8,12}|4(?:[0-24-9]\\d{4,11}|3(?:[05]\\d{3,10}|[2-467]\\d{3,4}|8\\d{3,6}|9\\d{3,7}))|[1-35-8]\\d{7}|[1-35-7]\\d{5,6}|[15]\\d{4}|1\\d{3}', + 'NationalNumberPattern' => '[1-35-9]\\d{8,12}|4(?:[0-24-9]\\d{4,11}|3(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7}))|[1-35-8]\\d{7}|[1-35-7]\\d{6}|[135-7]\\d{5}|[15]\\d{4}|1\\d{3}', 'PossibleLength' => array ( 0 => 4, @@ -35,7 +35,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1\\d{3,12}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:12|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}', + 'NationalNumberPattern' => '(?:1(?:11|[2-9]\\d{2,10})|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,9}|4(?:(?:2[1-8]|35|7[1368]|8[2457])\\d{3,9}|63\\d{2,9})|5(?:12\\d{2,9}|(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])\\d{3,9})|6(?:(?:13|2[1-47]|4[135-8]|5[468])\\d{3,9}|62\\d{2,9}))\\d|(?:316|732)\\d{3}', 'ExampleNumber' => '1234567890', 'PossibleLength' => array ( @@ -97,7 +97,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '8(?:10\\d|2(?:[01]\\d|8\\d?))\\d{5,9}', + 'NationalNumberPattern' => '8(?:10|2[018])\\d{6,10}|828\\d{5}', 'ExampleNumber' => '810123456', 'PossibleLength' => array ( @@ -124,7 +124,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '5(?:(?:0[1-9]|17)\\d{2,10}|[79]\\d{3,11})|7[28]0\\d{6,10}', + 'NationalNumberPattern' => '5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}', 'ExampleNumber' => '780123456', 'PossibleLength' => array ( @@ -192,77 +192,17 @@ return array ( array ( 0 => array ( - 'pattern' => '(116\\d{3})', - 'format' => '$1', + 'pattern' => '(\\d)(\\d{3,12})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '116', + 0 => '1(?:11|[2-9])', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => - array ( - 'pattern' => '(1)(\\d{3,12})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(5\\d)(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '5[079]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(5\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '5[079]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(5\\d)(\\d{4})(\\d{4,7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '5[079]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{3,10})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:[28]0|32)|[89]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => array ( 'pattern' => '(\\d{3})(\\d{2})', 'format' => '$1 $2', @@ -274,13 +214,61 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '5[079]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3,10})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => array ( 'pattern' => '(\\d{4})(\\d{3,9})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-9]|5[468])|7(?:[24][1-8]|35|[5-79])', + 0 => '[2-467]|5[2-6]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '5', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{4,7})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '5', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AU.php index 634daf489..7555f7f23 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AU.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '[237]\\d{8}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|[6-8]\\d{4}|9(?:[02-9]\\d{3}|1(?:[0-57-9]\\d{2}|6[0135-9]\\d)))\\d{3}', + 'NationalNumberPattern' => '(?:[237]\\d{5}|8(?:51(?:0(?:0[03-9]|[1247]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-6])|1(?:1[69]|[23]\\d|4[0-4]))|(?:[6-8]\\d{3}|9(?:[02-9]\\d\\d|1(?:[0-57-9]\\d|6[0135-9])))\\d))\\d{3}', 'ExampleNumber' => '212345678', 'PossibleLength' => array ( @@ -68,12 +68,11 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '19(?:0[0126]\\d|[679])\\d{5}', + 'NationalNumberPattern' => '190[0-26]\\d{6}', 'ExampleNumber' => '1900123456', 'PossibleLength' => array ( - 0 => 8, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -81,7 +80,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4]|\\d)\\d{3}', + 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}', 'ExampleNumber' => '1300123456', 'PossibleLength' => array ( @@ -153,7 +152,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '1(?:3(?:00\\d{3}|45[0-4]|\\d)\\d{3}|80(?:0\\d{6}|2\\d{3}))', + 'NationalNumberPattern' => '1[38]00\\d{6}|1(?:345[0-4]|802)\\d{3}|13\\d{4}', 'PossibleLength' => array ( 0 => 6, @@ -167,7 +166,7 @@ return array ( ), 'id' => 'AU', 'countryCode' => 61, - 'internationalPrefix' => '(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011)|001[14-689]', + 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', 'preferredInternationalPrefix' => '0011', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', @@ -176,31 +175,31 @@ return array ( array ( 0 => array ( - 'pattern' => '([2378])(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2378]', + 0 => '19', ), - 'nationalPrefixFormattingRule' => '(0$1)', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})(\\d{3,4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '14|[45]', + 0 => '19', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 2 => array ( - 'pattern' => '(16)(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3,4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -212,32 +211,19 @@ return array ( ), 3 => array ( - 'pattern' => '(16)(\\d{3})(\\d{2,4})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '16', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(1[389]\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1[389]0', - 1 => '1(?:[38]0|9)0', + 0 => '13', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 4 => array ( - 'pattern' => '(180)(2\\d{3})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -248,37 +234,49 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 5 => array ( - 'pattern' => '(19\\d)(\\d{3})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2,4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '19[13]', + 0 => '16', ), - 'nationalPrefixFormattingRule' => '', + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[2378]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 7 => array ( - 'pattern' => '(19\\d{2})(\\d{4})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '19[679]', + 0 => '14|[45]', ), - 'nationalPrefixFormattingRule' => '', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 8 => array ( - 'pattern' => '(13)(\\d{2})(\\d{2})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '13[1-9]', + 0 => '1(?:30|[89])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -287,6 +285,66 @@ return array ( ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{2})(\\d{3,4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '16', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '16', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[2378]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '14|[45]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:30|[89])', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => true, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AW.php index ab882ecf9..f14bbb519 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AW.php @@ -89,7 +89,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '28\\d{5}|501\\d{4}', + 'NationalNumberPattern' => '(?:28\\d|501)\\d{4}', 'ExampleNumber' => '5011234', 'PossibleLength' => array ( @@ -150,6 +150,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[25-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AX.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AX.php index 4a3d532ac..3f85e1827 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AX.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '1\\d{5,11}|(?:[27]|4\\d)\\d{4,9}|[356]0\\d{6,8}|800\\d{4,7}|[35]0\\d{4,5}', + 'NationalNumberPattern' => '(?:(?:[1247]\\d|3[0-46-9]|[56]0)\\d\\d|800)\\d{4,6}|(?:[1-47]\\d|50)\\d{4,5}|2\\d{4}', 'PossibleLength' => array ( 0 => 5, @@ -23,8 +23,6 @@ return array ( 3 => 8, 4 => 9, 5 => 10, - 6 => 11, - 7 => 12, ), 'PossibleLengthLocalOnly' => array ( @@ -32,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '18[1-8]\\d{3,9}', + 'NationalNumberPattern' => '18[1-8]\\d{3,6}', 'ExampleNumber' => '181234567', 'PossibleLength' => array ( @@ -40,9 +38,6 @@ return array ( 1 => 7, 2 => 8, 3 => 9, - 4 => 10, - 5 => 11, - 6 => 12, ), 'PossibleLengthLocalOnly' => array ( @@ -50,7 +45,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '4\\d{5,10}|50\\d{4,8}', + 'NationalNumberPattern' => '(?:4[0-8]|50)\\d{4,8}', 'ExampleNumber' => '412345678', 'PossibleLength' => array ( @@ -59,7 +54,6 @@ return array ( 2 => 8, 3 => 9, 4 => 10, - 5 => 11, ), 'PossibleLengthLocalOnly' => array ( @@ -67,14 +61,13 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '800\\d{4,7}', - 'ExampleNumber' => '8001234567', + 'NationalNumberPattern' => '800\\d{4,6}', + 'ExampleNumber' => '800123456', 'PossibleLength' => array ( 0 => 7, 1 => 8, 2 => 9, - 3 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -135,16 +128,10 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})', + 'NationalNumberPattern' => '(?:10|[23][09])\\d{4,8}|60(?:[12]\\d{5,6}|6\\d{7})|7(?:(?:1|3\\d)\\d{7}|5[03-9]\\d{3,7})|20[2-59]\\d\\d', 'ExampleNumber' => '10112345', 'PossibleLength' => array ( - 0 => 5, - 1 => 6, - 2 => 7, - 3 => 8, - 4 => 9, - 5 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -162,15 +149,9 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})', 'PossibleLength' => array ( - 0 => 5, - 1 => 6, - 2 => 7, - 3 => 8, - 4 => 9, - 5 => 10, + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -178,7 +159,7 @@ return array ( ), 'id' => 'AX', 'countryCode' => 358, - 'internationalPrefix' => '00|99(?:[01469]|5(?:11|3[23]|41|5[59]|77|88|9[09]))', + 'internationalPrefix' => '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', 'preferredInternationalPrefix' => '00', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', @@ -190,6 +171,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '18', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AZ.php index 11a860ffd..6cf3aeb85 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_AZ.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[28]\\d{3}|2(?:02|1[24]|2[2-4]|33|[45]2|6[23])\\d{2}|365(?:[0-46-9]\\d|5[0-35-9]))\\d{4}', + 'NationalNumberPattern' => '(?:(?:1[28]\\d|2(?:[045]2|1[24]|2[2-4]|33|6[23]))\\d\\d|365(?:[0-46-9]\\d|5[0-35-9]))\\d{4}', 'ExampleNumber' => '123123456', 'PossibleLength' => array ( @@ -149,13 +149,12 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[28]|2(?:[0-36]|[45]2)|365', ), - 'nationalPrefixFormattingRule' => '(0$1)', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -165,9 +164,11 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[4-8]', + 0 => '[12]|365', + 1 => '[12]|365', + 2 => '[12]|365(?:[0-46-9]|5[0-35-9])', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -183,9 +184,59 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[3-8]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[12]|365', + 1 => '[12]|365', + 2 => '[12]|365(?:[0-46-9]|5[0-35-9])', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[3-8]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BA.php index 6179ade8e..c8566825b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BA.php @@ -27,7 +27,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3(?:[05679][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}', + 'NationalNumberPattern' => '(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}', 'ExampleNumber' => '30212345', 'PossibleLength' => array ( @@ -154,6 +154,57 @@ return array ( 'nationalPrefixForParsing' => '0', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => + array ( + 0 => + array ( + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-9]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '[3-5]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '6[1-356]|[7-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '6', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + ), + 'intlNumberFormat' => array ( 0 => array ( @@ -185,16 +236,13 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '6[047]', + 0 => '6', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), ), - 'intlNumberFormat' => - array ( - ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => true, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BB.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BB.php index cd3281035..dc18d4120 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BB.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7(?:37|57)|9(?:1[89]|63))\\d{4}', + 'NationalNumberPattern' => '246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}', 'ExampleNumber' => '2464123456', 'PossibleLength' => array ( @@ -61,7 +61,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '900[2-9]\\d{6}|246976\\d{4}', + 'NationalNumberPattern' => '(?:246976|900[2-9]\\d\\d)\\d{4}', 'ExampleNumber' => '9002123456', 'PossibleLength' => array ( @@ -116,7 +116,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '246(?:292|367|4(?:1[7-9]|3[01]|44|67)|736)\\d{4}', + 'NationalNumberPattern' => '246(?:292|367|4(?:1[7-9]|3[01]|44|67)|7(?:36|53))\\d{4}', 'ExampleNumber' => '2464301234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BD.php index 860ea1de7..0252dc30f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BD.php @@ -29,14 +29,10 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:[45]\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[139][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|90)|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[0146-9]))\\d{4}|3(?:12?[5-7]\\d{2}|0(?:2(?:[025-79]\\d|[348]\\d{1,2})|3(?:[2-4]\\d|[56]\\d?))|2(?:1\\d{2}|2(?:[12]\\d|[35]\\d{1,2}|4\\d?))|3(?:1\\d{2}|2(?:[2356]\\d|4\\d{1,2}))|4(?:1\\d{2}|2(?:2\\d{1,2}|[47]|5\\d{2}))|5(?:1\\d{2}|29)|[67]1\\d{2}|8(?:1\\d{2}|2(?:2\\d{2}|3|4\\d)))\\d{3}|4(?:0(?:2(?:[09]\\d|7)|33\\d{2})|1\\d{3}|2(?:1\\d{2}|2(?:[25]\\d?|[348]\\d|[67]\\d{1,2}))|3(?:1\\d{2}(?:\\d{2})?|2(?:[045]\\d|[236-9]\\d{1,2})|32\\d{2})|4(?:[18]\\d{2}|2(?:[2-46]\\d{2}|3)|5[25]\\d{2})|5(?:1\\d{2}|2(?:3\\d|5))|6(?:[18]\\d{2}|2(?:3(?:\\d{2})?|[46]\\d{1,2}|5\\d{2}|7\\d)|5(?:3\\d?|4\\d|[57]\\d{1,2}|6\\d{2}|8)|62\\d{2})|71\\d{2}|8(?:[18]|23|54)\\d{2}|9(?:[18]\\d{2}|2[2-5]\\d{2}|53\\d{1,2}))\\d{3}|5(?:02[03489]\\d{2}|1\\d{2}|2(?:1\\d{2}|2(?:2(?:\\d{2})?|[457]\\d{2}))|3(?:1\\d{2}|2(?:[37](?:\\d{2})?|[569]\\d{2}))|4(?:1\\d{2}|2[46]\\d{2})|5(?:1\\d{2}|26\\d{1,2})|6(?:[18]\\d{2}|2|53\\d{2})|7(?:1|24)\\d{2}|8(?:1|26)\\d{2}|91\\d{2})\\d{3}|6(?:0(?:1\\d{2}|2(?:3\\d{2}|4\\d{1,2}))|2(?:2[2-5]\\d{2}|5(?:[3-5]\\d{2}|7)|8\\d{2})|3(?:1|2[3478])\\d{2}|4(?:1|2[34])\\d{2}|5(?:1|2[47])\\d{2}|6(?:[18]\\d{2}|6(?:2(?:2\\d|[34]\\d{2})|5(?:[24]\\d{2}|3\\d|5\\d{1,2})))|72[2-5]\\d{2}|8(?:1\\d{2}|2[2-5]\\d{2})|9(?:1\\d{2}|2[2-6]\\d{2}))\\d{3}|7(?:(?:02|[3-589]1|6[12]|72[24])\\d{2}|21\\d{3}|32)\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}', + 'NationalNumberPattern' => '(?:(?:2(?:[45]\\d{3}|7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|[13][1-6]|2[0157-9]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[0146-9]))|7(?:02|21\\d|[3-589]1|6[12]|72[24])\\d|8(?:(?:[01]|217|3[12])\\d|4[12]|[5-7](?:1\\d|2)))\\d|3(?:(?:0(?:2[348]\\d|3[2-6])|(?:1(?:2[5-7]|[5-7])|3(?:1|24)|[5-7]1)\\d)\\d|2(?:1\\d\\d|2(?:[35]\\d\\d|4))|4(?:1\\d\\d|2(?:[25]\\d\\d|[47]))|8(?:1\\d\\d|2(?:(?:2\\d|4)\\d|3)))|4(?:0(?:2(?:[09]\\d|7)|33\\d\\d)|(?:1\\d|4(?:2[2-46]|5[25])|8(?:23|54))\\d\\d|2(?:1\\d\\d|2(?:[25]|[67]\\d\\d))|3(?:1\\d\\d(?:\\d{2})?|(?:2[236-9]|32)\\d\\d)|525|6(?:(?:[18]|2[3-6]|62)\\d\\d|5(?:[38]|[5-7]\\d\\d))|9(?:(?:[18]|2[2-5])\\d\\d|53\\d\\d?))|5(?:(?:02[03489]|1|22[2457]|32[35-79]|42[46]|[58]26|724)\\d\\d|6(?:(?:[18]|53)\\d\\d|2))|6(?:(?:(?:[04]2[34]|32[3478]|52[47]|[78]2[2-5]|92[2-6])\\d|6(?:[18]\\d|6(?:2(?:2|[34]\\d)|5[245]\\d)))\\d|2(?:(?:2[2-5]|8)\\d\\d|5(?:[3-5]\\d\\d|7)))|9(?:[24]1\\d\\d|[35]1))\\d{3}|(?:3(?:0(?:2[02-9]\\d|3[56])|(?:22[1-5]|32[2-6]|422)\\d|529)|(?:4(?:22[2-8]|32[02-9]|(?:[48][18]|71)\\d|5(?:1\\d|23)|6(?:2[467]|5[3-57]))|5(?:[2-47-9]1\\d|5(?:1\\d|26))|6(?:0(?:1\\d|24)|[3-589]1\\d|665[35])|81|9(?:[024]2|1\\d|81))\\d|732)\\d{3}|(?:4[46]23|5(?:222|32[37]))\\d{3}', 'ExampleNumber' => '27111234', 'PossibleLength' => array ( - 0 => 6, - 1 => 7, - 2 => 8, - 3 => 9, ), 'PossibleLengthLocalOnly' => array ( @@ -158,11 +154,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(\\d{7,8})', + 'pattern' => '(\\d{2})(\\d{4,6})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '2', + 0 => '31[5-7]|[459]1', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -170,11 +166,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{4,6})', + 'pattern' => '(\\d{3})(\\d{3,7})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '[3-79]1', + 0 => '3(?:[2-5]1|[67]|8[013-9])|4(?:[235]1|4[01346-9]|6[168]|7|[89][18])|5(?:[2-578]1|6[128]|9)|6(?:[0389]1|28|4[14]|5|6[01346-9])|7(?:[2-589]|61)|8(?:0[014-9]|[12]|[3-7]1)|9(?:[24]1|[358])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -186,7 +182,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '1|3(?:0|[2-58]2)|4(?:0|[25]2|3[23]|[4689][25])|5(?:[02-578]2|6[25])|6(?:[0347-9]2|[26][25])|7[02-9]2|8(?:[023][23]|[4-7]2)|9(?:[02][23]|[458]2|6[01367])', + 0 => '[13-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -194,11 +190,11 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{3})(\\d{3,7})', + 'pattern' => '(\\d)(\\d{7,8})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '[3-79][2-9]|8', + 0 => '2', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BE.php index ce5b6dda5..4aa8f65be 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BE.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}|80[2-8]\\d{5}', + 'NationalNumberPattern' => '(?:(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|9[2-4])\\d|8(?:0[2-8]|[1-79]\\d))\\d{5}', 'ExampleNumber' => '12345678', 'PossibleLength' => array ( @@ -116,7 +116,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '78(?:0[57]|1[0458]|2[25]|3[5678]|48|[56]0|7[078])\\d{4}', + 'NationalNumberPattern' => '78(?:0[57]|1[0458]|2[25]|3[5-8]|48|[56]0|7[078])\\d{4}', 'ExampleNumber' => '78102345', 'PossibleLength' => array ( @@ -155,18 +155,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '4[5-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => array ( 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -178,13 +166,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[156]|7[018]|8(?:0[1-9]|[1-79])', + 0 => '[15-7]|8(?:0[2-8]|[1-79])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -192,11 +192,11 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '(?:80|9)0', + 0 => '4', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BF.php index a844c2299..5ef20bc22 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BF.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[25-7]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BG.php index 530e8b9fe..a5dd94601 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BG.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{5,7}|(?:[36]\\d|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|(?:4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}', + 'NationalNumberPattern' => '(?:(?:[236]\\d|5[1-9]|8[1-6]|9[1-7])\\d|4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}|2\\d{5}', 'ExampleNumber' => '2123456', 'PossibleLength' => array ( @@ -46,7 +46,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:8[7-9]\\d|9(?:8\\d|9[69]))\\d{6}|4(?:3[0789]|8\\d)\\d{5}', + 'NationalNumberPattern' => '(?:4(?:3[07-9]|8\\d)|(?:8[7-9]\\d|9(?:8\\d|9[69]))\\d)\\d{5}', 'ExampleNumber' => '48123456', 'PossibleLength' => array ( @@ -163,7 +163,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(\\d)(\\d{2})(\\d{2})', + 'pattern' => '(\\d)(\\d)(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -175,7 +175,19 @@ return array ( ), 1 => array ( - 'pattern' => '(2)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '43[1-6]|70[1-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -185,55 +197,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '43[124-7]|70[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 3 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '43[124-7]|70[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[78]00', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '99[69]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', 'format' => '$1 $2 $3', @@ -245,13 +209,49 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '43[1-7]|70[1-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '7|80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '48|8[7-9]|9[08]', + 0 => '[48]|9[08]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 7 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BH.php index 7f352dabe..13f59967b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BH.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9])|9[69][69])|7(?:1(?:11|78)|7\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9])|9[69][69])|7(?:1(?:11|78)|7\\d\\d))\\d{4}', 'ExampleNumber' => '17001234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:3(?:[1-4679]\\d|5[013-69]|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:[69]\\d|3[03-9]|7[0-6])))\\d{4}', + 'NationalNumberPattern' => '(?:3(?:[1-4679]\\d|5[013-69]|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:3[03-9]|[69]\\d|7[0-6])))\\d{4}', 'ExampleNumber' => '36001234', 'PossibleLength' => array ( @@ -150,6 +150,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[1367]|8[047]|9[014578]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BI.php index c6ebcb0fb..9b8502aa0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BI.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[23]|6[189]|7[125-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BL.php index b4ca09830..381bc05f3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BL.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}', + 'NationalNumberPattern' => '69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}', 'ExampleNumber' => '690001234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BM.php index 61bd2fac7..7dc03aecf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BM.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}', + 'NationalNumberPattern' => '441(?:2(?:02|23|[3479]\\d|61)|[46]\\d\\d|5(?:4\\d|60|89)|824)\\d{4}', 'ExampleNumber' => '4412345678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BN.php index 78ffb1b4b..9e6fc69f9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BN.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:[013-9]\\d|2[0-7])\\d{4}|[3-5]\\d{6}', + 'NationalNumberPattern' => '(?:2(?:[013-9]\\d|2[0-7])|[3-5]\\d\\d)\\d{4}', 'ExampleNumber' => '2345678', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '22[89]\\d{4}|[78]\\d{6}', + 'NationalNumberPattern' => '(?:22[89]|[78]\\d\\d)\\d{4}', 'ExampleNumber' => '7123456', 'PossibleLength' => array ( @@ -143,7 +143,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-578]\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BO.php index f874abe4a..25d22dbcc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BO.php @@ -27,7 +27,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}', + 'NationalNumberPattern' => '(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}', 'ExampleNumber' => '22123456', 'PossibleLength' => array ( @@ -144,7 +144,7 @@ return array ( ), 'id' => 'BO', 'countryCode' => 591, - 'internationalPrefix' => '00(1\\d)?', + 'internationalPrefix' => '00(?:1\\d)?', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0(1\\d)?', 'sameMobileAndFixedLinePattern' => false, @@ -152,7 +152,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([234])(\\d{7})', + 'pattern' => '(\\d)(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -164,7 +164,7 @@ return array ( ), 1 => array ( - 'pattern' => '([67]\\d{7})', + 'pattern' => '(\\d{8})', 'format' => '$1', 'leadingDigitsPatterns' => array ( @@ -176,11 +176,11 @@ return array ( ), 2 => array ( - 'pattern' => '(800)(\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '0$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BQ.php index b300f264c..45bb7d548 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BQ.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:31(?:8[14-8]|9[14578])|416[145-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}', + 'NationalNumberPattern' => '(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}', 'ExampleNumber' => '3181234', 'PossibleLength' => array ( @@ -146,6 +146,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '[347]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BS.php index f035f59c3..e839e5ba7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BS.php @@ -50,7 +50,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}', + 'NationalNumberPattern' => '(?:242300|8(?:00|33|44|55|66|77|88)[2-9]\\d\\d)\\d{4}', 'ExampleNumber' => '8002123456', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BT.php index f0c45736d..ad0601df9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BT.php @@ -148,11 +148,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d)(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1|77', + 0 => '[23568]|4[5-7]|7[246]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -160,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '([2-8])(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[2-68]|7[246]', + 0 => '1[67]|7', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BW.php index e5384b477..4d22958f4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BW.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:[1-6]\\d|7[014-8])\\d{5}', + 'NationalNumberPattern' => '7(?:[1-6]\\d{3}|7(?:[014-8]\\d\\d|200))\\d{3}', 'ExampleNumber' => '71123456', 'PossibleLength' => array ( @@ -92,7 +92,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '79[12][01]\\d{4}', + 'NationalNumberPattern' => '79(?:1(?:[01]\\d|20)|2[0-2]\\d)\\d{3}', 'ExampleNumber' => '79101234', 'PossibleLength' => array ( @@ -162,11 +162,11 @@ return array ( ), 1 => array ( - 'pattern' => '(7\\d)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{5})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '7', + 0 => '90', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -174,11 +174,11 @@ return array ( ), 2 => array ( - 'pattern' => '(90)(\\d{5})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '90', + 0 => '7', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BY.php index c643ccf3c..e9a97ef56 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BY.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}', + 'NationalNumberPattern' => '(?:(?:[12]|8[0-7]\\d)\\d|33|44|902)\\d{7}|8(?:[05-79]\\d|1[0-489])\\d{7}|8[0-79]\\d{5,7}|8\\d{5}', 'PossibleLength' => array ( 0 => 6, @@ -31,7 +31,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}', + 'NationalNumberPattern' => '(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}', 'ExampleNumber' => '152450911', 'PossibleLength' => array ( @@ -46,7 +46,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:2(?:5[5679]|9[1-9])|33\\d|44\\d)\\d{6}', + 'NationalNumberPattern' => '(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}', 'ExampleNumber' => '294911911', 'PossibleLength' => array ( @@ -58,7 +58,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '8(?:0[13]|20\\d)\\d{7}|800\\d{3,7}', + 'NationalNumberPattern' => '8(?:0[013]|20\\d)\\d{7}|800\\d{3,6}', 'ExampleNumber' => '8011234567', 'PossibleLength' => array ( @@ -143,7 +143,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '8(?:0[13]|10|20\\d)\\d{7}|800\\d{3,7}|902\\d{7}', + 'NationalNumberPattern' => '(?:8(?:0[013]|10|20\\d)|902)\\d{7}|800\\d{3,6}', 'PossibleLength' => array ( ), @@ -156,24 +156,35 @@ return array ( 'internationalPrefix' => '810', 'preferredInternationalPrefix' => '8~10', 'nationalPrefix' => '8', - 'nationalPrefixForParsing' => '8?0?', + 'nationalPrefixForParsing' => '0|80?', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '17[0-3589]|2[4-9]|[34]', - 1 => '17(?:[02358]|1[0-2]|9[0189])|2[4-9]|[34]', + 0 => '800', ), - 'nationalPrefixFormattingRule' => '8 0$1', + 'nationalPrefixFormattingRule' => '8 $1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '800', + ), + 'nationalPrefixFormattingRule' => '8 $1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2-$3-$4', @@ -186,62 +197,38 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( 'pattern' => '(\\d{4})(\\d{2})(\\d{3})', 'format' => '$1 $2-$3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])', - 1 => '1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])', + 0 => '1(?:[56]|7[179])|2[1-3]', + 1 => '1(?:[56]|7(?:1[3-9]|7|9[2-7]))|2[1-3]', ), 'nationalPrefixFormattingRule' => '8 0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '([89]\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '8[01]|9', - ), - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 4 => array ( - 'pattern' => '(82\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2-$3-$4', 'leadingDigitsPatterns' => array ( - 0 => '82', + 0 => '[1-4]', ), - 'nationalPrefixFormattingRule' => '8 $1', + 'nationalPrefixFormattingRule' => '8 0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 5 => array ( - 'pattern' => '(800)(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '800', - ), - 'nationalPrefixFormattingRule' => '8 $1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(800)(\\d{2})(\\d{2,4})', + 'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '8 $1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BZ.php index 47b91e688..a80f7cfe7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_BZ.php @@ -160,12 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '(0)(800)(\\d{4})(\\d{3})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})(\\d{3})', 'format' => '$1-$2-$3-$4', 'leadingDigitsPatterns' => array ( - 0 => '080', - 1 => '0800', + 0 => '0', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php index ee69cbbd2..3ca13e3c1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CA.php @@ -39,7 +39,7 @@ return array ( 'mobile' => array ( 'NationalNumberPattern' => '(?:2(?:04|[23]6|[48]9|50)|3(?:06|43|65)|4(?:03|1[68]|3[178]|50)|5(?:06|1[49]|48|79|8[17])|6(?:04|13|39|47)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}', - 'ExampleNumber' => '2042345678', + 'ExampleNumber' => '5062345678', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CC.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CC.php index c8cb41c86..f6c5084bb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CC.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:08|22|68)|4[29]8|62\\d|70[23]|959))\\d{3}', + 'NationalNumberPattern' => '8(?:51(?:0(?:02|31|60)|118)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}', 'ExampleNumber' => '891621234', 'PossibleLength' => array ( @@ -42,7 +42,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2547-9]|9[017-9])\\d{6}', + 'NationalNumberPattern' => '4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}', 'ExampleNumber' => '412345678', 'PossibleLength' => array ( @@ -67,12 +67,11 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '19(?:0[0126]\\d|[679])\\d{5}', + 'NationalNumberPattern' => '190[0-26]\\d{6}', 'ExampleNumber' => '1900123456', 'PossibleLength' => array ( - 0 => 8, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -80,7 +79,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4]|\\d)\\d{3}', + 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}', 'ExampleNumber' => '1300123456', 'PossibleLength' => array ( @@ -156,10 +155,11 @@ return array ( ), 'id' => 'CC', 'countryCode' => 61, - 'internationalPrefix' => '(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]', + 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', 'preferredInternationalPrefix' => '0011', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|([59]\\d{7})$', + 'nationalPrefixTransformRule' => '8$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CD.php index 8c7b36f53..b9486d26d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CD.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:2\\d{7}|\\d{6})|[2-6]\\d{6}', + 'NationalNumberPattern' => '12\\d{7}|[1-6]\\d{6}', 'ExampleNumber' => '1234567', 'PossibleLength' => array ( @@ -37,7 +37,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '8(?:[0-2459]\\d{2}|8)\\d{5}|9[017-9]\\d{7}', + 'NationalNumberPattern' => '(?:8(?:[0-2459]\\d\\d|8)|9[017-9]\\d\\d)\\d{5}', 'ExampleNumber' => '991234567', 'PossibleLength' => array ( @@ -145,30 +145,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '12', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '8[0-2459]|9', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => array ( 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', @@ -180,7 +156,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', @@ -192,6 +168,30 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[89]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CF.php index 233b0d7b8..dfce4149b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CF.php @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[278]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CG.php index aedbd91b6..c38044229 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CG.php @@ -57,7 +57,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '80(?:0\\d{2}|11[0-4])\\d{4}', + 'NationalNumberPattern' => '80(?:0\\d\\d|11[0-4])\\d{4}', 'ExampleNumber' => '800123456', 'PossibleLength' => array ( @@ -172,7 +172,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CH.php index eaa8bf288..6eb117191 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CH.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7[5-9]\\d{7}', + 'NationalNumberPattern' => '7[35-9]\\d{7}', 'ExampleNumber' => '781234567', 'PossibleLength' => array ( @@ -162,7 +162,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-9]\\d)(\\d{3})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -174,11 +174,11 @@ return array ( ), 1 => array ( - 'pattern' => '([89]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '8[047]|90', + 0 => '8[047]|9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -190,7 +190,7 @@ return array ( 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '860', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CI.php index 4f1df7fa5..3365d1626 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CI.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[02-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CK.php index 62c4fe3dd..5fca7ed05 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CK.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php index 9cad0f080..655bd0e55 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CL.php @@ -27,7 +27,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:1962\\d{4}|2\\d{7}|32[0-46-8]\\d{5})|(?:3[2-5]\\d|[47][1-35]\\d|5[1-3578]\\d|6[13-57]\\d|8(?:0[1-9]|[1-9]\\d)|9[3-9]\\d)\\d{6}', + 'NationalNumberPattern' => '(?:2(?:1962|(?:2\\d\\d|32[0-46-8])\\d)|(?:(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|9[2-9])\\d|8(?:0[1-9]|[1-9]\\d))\\d\\d)\\d{4}', 'ExampleNumber' => '221234567', 'PossibleLength' => array ( @@ -39,8 +39,8 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '2(?:1962\\d{4}|2\\d{7}|32[0-46-8]\\d{5})|(?:3[2-5]\\d|[47][1-35]\\d|5[1-3578]\\d|6[13-57]\\d|8(?:0[1-9]|[1-9]\\d)|9[3-9]\\d)\\d{6}', - 'ExampleNumber' => '961234567', + 'NationalNumberPattern' => '(?:2(?:1962|(?:2\\d\\d|32[0-46-8])\\d)|(?:(?:3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|9[2-9])\\d|8(?:0[1-9]|[1-9]\\d))\\d\\d)\\d{4}', + 'ExampleNumber' => '221234567', 'PossibleLength' => array ( 0 => 9, @@ -51,7 +51,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '800\\d{6}|1230\\d{7}', + 'NationalNumberPattern' => '(?:1230\\d|800)\\d{6}', 'ExampleNumber' => '800123456', 'PossibleLength' => array ( @@ -157,23 +157,24 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})', + 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '2[23]', + 0 => '1(?:[03-58]|[29]1)', ), - 'nationalPrefixFormattingRule' => '($1)', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[357]|4[1-35]|6[13-57]|8(?:0[1-9]|[1-9])', + 0 => '2(?:2|32)', + 1 => '2(?:2|32[0-46-8])', ), 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '', @@ -181,19 +182,43 @@ return array ( ), 2 => array ( - 'pattern' => '(9)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '9', + 0 => '3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])', ), - 'nationalPrefixFormattingRule' => '', + 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 3 => array ( - 'pattern' => '(44)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{5})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2', + ), + 'nationalPrefixFormattingRule' => '($1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '9[2-9]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -203,9 +228,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 6 => array ( - 'pattern' => '([68]00)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -215,9 +240,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 7 => array ( - 'pattern' => '(600)(\\d{3})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -227,43 +252,18 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 8 => array ( - 'pattern' => '(1230)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '123', - 1 => '1230', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => - array ( - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '219', - ), - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(\\d{4,5})', - 'format' => '$1', - 'leadingDigitsPatterns' => - array ( - 0 => '[1-9]', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'intlNumberFormat' => array ( @@ -273,7 +273,8 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2[23]', + 0 => '2(?:2|32)', + 1 => '2(?:2|32[0-46-8])', ), 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '', @@ -285,7 +286,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[357]|4[1-35]|6[13-57]|8(?:0[1-9]|[1-9])', + 0 => '3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])', ), 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '', @@ -293,19 +294,31 @@ return array ( ), 2 => array ( - 'pattern' => '(9)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{5})(\\d{4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '9', + 0 => '2', ), - 'nationalPrefixFormattingRule' => '', + 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 3 => array ( - 'pattern' => '(44)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '9[2-9]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -315,9 +328,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 5 => array ( - 'pattern' => '([68]00)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -327,9 +340,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 6 => array ( - 'pattern' => '(600)(\\d{3})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -339,31 +352,18 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 7 => array ( - 'pattern' => '(1230)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '123', - 1 => '1230', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => - array ( - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '219', - ), - 'nationalPrefixFormattingRule' => '($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php index b3797aa48..cc76f9b08 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CM.php @@ -148,11 +148,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([26])(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4 $5', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[26]', + 0 => '88', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -160,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '[23]|88', + 0 => '[26]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CN.php index 51d728ca0..ca20f2208 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CN.php @@ -45,7 +45,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '1(?:[38]\\d{3}|4[57]\\d{2}|5[0-35-9]\\d{2}|66\\d{2}|7(?:[0-35-8]\\d{2}|40[0-5])|9[89]\\d{2})\\d{6}', + 'NationalNumberPattern' => '1(?:[38]\\d{3}|4[57]\\d{2}|5[0-35-9]\\d{2}|6[267]\\d{2}|7(?:[0-35-8]\\d{2}|40[0-5])|9[189]\\d{2})\\d{6}', 'ExampleNumber' => '13123456789', 'PossibleLength' => array ( @@ -166,7 +166,7 @@ return array ( 'internationalPrefix' => '(?:1(?:[12]\\d{3}|79\\d{2}|9[0-7]\\d{2}))?00', 'preferredInternationalPrefix' => '00', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '(1(?:[12]\\d{3}|79\\d{2}|9[0-7]\\d{2}))|0', + 'nationalPrefixForParsing' => '0|(1(?:[12]\\d{3}|79\\d{2}|9[0-7]\\d{2}))', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -303,7 +303,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[3-57-9]|66)', + 0 => '1(?:[3-57-9]|6[267])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -447,7 +447,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[3-57-9]|66)', + 0 => '1(?:[3-57-9]|6[267])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CO.php index 1d403d781..245a01715 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CO.php @@ -149,7 +149,7 @@ return array ( 'countryCode' => 57, 'internationalPrefix' => '00(?:4(?:[14]4|56)|[579])', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0([3579]|4(?:44|56))?', + 'nationalPrefixForParsing' => '0([3579]|4(?:[14]4|56))?', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -159,8 +159,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[2-7]|8[2-9]|9[0-3])|[24-8]', - 1 => '1(?:[2-7]|8[2-9]|9(?:09|[1-3]))|[24-8]', + 0 => '1(?:[2-79]|8[2-9])|[24-8]', ), 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '0$CC $1', @@ -180,12 +179,12 @@ return array ( ), 2 => array ( - 'pattern' => '(1)(\\d{3})(\\d{7})', + 'pattern' => '(\\d)(\\d{3})(\\d{7})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:80|9[04])', - 1 => '1(?:800|9(?:0[01]|4[78]))', + 0 => '1(?:80|9)', + 1 => '1(?:800|9)', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -200,8 +199,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[2-7]|8[2-9]|9[0-3])|[24-8]', - 1 => '1(?:[2-7]|8[2-9]|9(?:09|[1-3]))|[24-8]', + 0 => '1(?:[2-79]|8[2-9])|[24-8]', ), 'nationalPrefixFormattingRule' => '($1)', 'domesticCarrierCodeFormattingRule' => '0$CC $1', @@ -221,16 +219,13 @@ return array ( ), 2 => array ( - 'pattern' => '(1)(\\d{3})(\\d{7})', + 'pattern' => '(\\d)(\\d{3})(\\d{7})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:80|9[04])', - 1 => '1(?:800|9(?:0[01]|4[78]))', + 0 => '1(?:80|9)', + 1 => '1(?:800|9)', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), ), 'mainCountryForCode' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CR.php index 4521bbb07..beed2dd47 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CR.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:[024-7]\\d{2}|1(?:0[7-9]|[1-9]\\d))\\d{4}', + 'NationalNumberPattern' => '2(?:[024-7]\\d\\d|1(?:0[7-9]|[1-9]\\d))\\d{4}', 'ExampleNumber' => '22123456', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '5(?:0[01]|7[0-3])\\d{5}|6(?:[0-4]\\d{3}|500[01])\\d{3}|(?:7[0-3]|8[3-9])\\d{6}', + 'NationalNumberPattern' => '(?:(?:5(?:0[01]|7[0-3])|(?:7[0-3]|8[3-9])\\d)\\d\\d|6(?:[0-4]\\d{3}|500[01]))\\d{3}', 'ExampleNumber' => '83123456', 'PossibleLength' => array ( @@ -94,7 +94,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '210[0-6]\\d{4}|4\\d{7}|5100\\d{4}', + 'NationalNumberPattern' => '(?:210[0-6]|4\\d{3}|5100)\\d{4}', 'ExampleNumber' => '40001234', 'PossibleLength' => array ( @@ -147,7 +147,7 @@ return array ( 'id' => 'CR', 'countryCode' => 506, 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '(19(?:0[012468]|1[09]|20|66|77|99))', + 'nationalPrefixForParsing' => '(19(?:0[0-2468]|1[09]|20|66|77|99))', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -169,7 +169,7 @@ return array ( 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[89]0', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CU.php index 3e6a4987d..4361817d2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CU.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7}', + 'NationalNumberPattern' => '(?:2[1-4]|7\\d)\\d{5,6}|(?:3[1-3]|4[1-35-8])\\d{6}|3[23]\\d{4,5}|4[12578]\\d{5}|4[78]\\d{4}', 'ExampleNumber' => '71234567', 'PossibleLength' => array ( @@ -152,11 +152,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d)(\\d{6,7})', + 'pattern' => '(\\d{2})(\\d{4,6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '7', + 0 => '[2-4]', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -164,11 +164,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{4,6})', + 'pattern' => '(\\d)(\\d{6,7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-4]', + 0 => '7', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CV.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CV.php index aba8da7e3..634942754 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CV.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[2-59]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CW.php index 24d839761..4b4ae5b21 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CW.php @@ -26,11 +26,10 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '9(?:[48]\\d{2}|50\\d|7(?:2[0-24]|[34]\\d|6[35-7]|77|8[7-9]))\\d{4}', + 'NationalNumberPattern' => '9(?:(?:[48]\\d|50)\\d|7(?:2[0-24]|[34]\\d|6[35-7]|77|8[7-9]))\\d{4}', 'ExampleNumber' => '94151234', 'PossibleLength' => array ( - 0 => 8, ), 'PossibleLengthLocalOnly' => array ( @@ -42,7 +41,6 @@ return array ( 'ExampleNumber' => '95181234', 'PossibleLength' => array ( - 0 => 8, ), 'PossibleLengthLocalOnly' => array ( @@ -154,7 +152,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[13-7]', + 0 => '[3467]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -162,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '(9)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '9', + 0 => '9[4-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -177,6 +175,7 @@ return array ( array ( ), 'mainCountryForCode' => true, + 'leadingDigits' => '[69]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CX.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CX.php index 380d9eb87..0f045cc3d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CX.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:21|49|78|81)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}', + 'NationalNumberPattern' => '8(?:51(?:0(?:01|30|59)|117)|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}', 'ExampleNumber' => '891641234', 'PossibleLength' => array ( @@ -42,7 +42,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2547-9]|9[017-9])\\d{6}', + 'NationalNumberPattern' => '4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[6-9]|7[02-9]|8[0-2457-9]|9[017-9])\\d{6}', 'ExampleNumber' => '412345678', 'PossibleLength' => array ( @@ -67,12 +67,11 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '19(?:0[0126]\\d|[679])\\d{5}', + 'NationalNumberPattern' => '190[0-26]\\d{6}', 'ExampleNumber' => '1900123456', 'PossibleLength' => array ( - 0 => 8, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -80,7 +79,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4]|\\d)\\d{3}', + 'NationalNumberPattern' => '13(?:00\\d{3}|45[0-4])\\d{3}|13\\d{4}', 'ExampleNumber' => '1300123456', 'PossibleLength' => array ( @@ -156,10 +155,11 @@ return array ( ), 'id' => 'CX', 'countryCode' => 61, - 'internationalPrefix' => '(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]', + 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', 'preferredInternationalPrefix' => '0011', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|([59]\\d{7})$', + 'nationalPrefixTransformRule' => '8$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CY.php index 18a7cbbad..b8cc1a47c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CY.php @@ -152,6 +152,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[257-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CZ.php index c980561da..7545f10e6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_CZ.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}', + 'NationalNumberPattern' => '(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}', 'ExampleNumber' => '212345678', 'PossibleLength' => array ( @@ -161,7 +161,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-9]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -173,11 +173,11 @@ return array ( ), 1 => array ( - 'pattern' => '(96\\d)(\\d{3})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '96', + 0 => '9[36]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -185,11 +185,11 @@ return array ( ), 2 => array ( - 'pattern' => '(9\\d)(\\d{3})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '9[36]', + 0 => '96', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php index 0d090be06..0592e750e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DE.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:1|[358]\\d{11})\\d{3}|[1-35689]\\d{13}|4(?:[0-8]\\d{5,12}|9(?:[05]\\d|44|6[1-8])\\d{9})|[1-35-9]\\d{6,12}|49(?:[0-357]\\d|[46][1-8])\\d{4,8}|49(?:[0-3579]\\d|4[1-9]|6[0-8])\\d{3}|[1-9]\\d{5}|[13-68]\\d{4}', + 'NationalNumberPattern' => '(?:1|[235-9]\\d{11}|4(?:[0-8]\\d{2,10}|9(?:[05]\\d{7}|[46][1-8]\\d{2,6})))\\d{3}|[1-35-9]\\d{6,13}|49(?:(?:[0-25]\\d|3[1-689])\\d{4,8}|4[1-8]\\d{4}|6[0-8]\\d{3,4}|7[1-7]\\d{5,8})|497[0-7]\\d{4}|49(?:[0-2579]\\d|[34][1-9])\\d{3}|[1-9]\\d{5}|[13468]\\d{4}', 'PossibleLength' => array ( 0 => 4, @@ -37,7 +37,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{5,13}|3(?:0\\d{3,13}|2\\d{9}|[3-9]\\d{4,13})|4(?:0\\d{3,12}|[1-8]\\d{4,12}|9(?:[0-37]\\d|4(?:[1-35-8]|4\\d?)|5\\d{1,2}|6[1-8]\\d?)\\d{2,8})|5(?:0[2-8]|[1256]\\d|[38][0-8]|4\\d{0,2}|[79][0-7])\\d{3,11}|6(?:\\d{5,13}|9\\d{3,12})|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-8]\\d|9\\d?)\\d{3,10}|9(?:0[6-9]\\d{3,10}|1\\d{4,12}|[2-9]\\d{4,11})', + 'NationalNumberPattern' => '(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-3589]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|[29]\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{4,12}|3(?:(?:[03569]\\d|4[0-79]|7[1-7]|8[1-8])\\d{4,12}|2\\d{9})|4(?:(?:[02-48]\\d|1[02-9]|5[0-6]|6[0-8]|7[0-79])\\d{4,12}|9(?:[0-37]\\d{4,9}|[4-6]\\d{4,10}))|(?:2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:0\\d?|[35-9][15]|4[015])|4(?:0\\d?|[2-9]1)|[57][1-9]1|[68](?:[1-8]1|9\\d?)|9(?:06|[1-9]1))\\d{3}', 'ExampleNumber' => '30123456', 'PossibleLength' => array ( @@ -61,7 +61,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '1(?:5[0-25-9]\\d{8}|6[023]\\d{7,8}|7\\d{8,9})', + 'NationalNumberPattern' => '1(?:5[0-25-9]\\d{8}|(?:6[023]|7\\d)\\d{7,8})', 'ExampleNumber' => '15123456789', 'PossibleLength' => array ( @@ -91,7 +91,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '137[7-9]\\d{6}|900(?:[135]\\d{6}|9\\d{7})', + 'NationalNumberPattern' => '(?:137[7-9]|900(?:[135]|9\\d))\\d{6}', 'ExampleNumber' => '9001234567', 'PossibleLength' => array ( @@ -104,7 +104,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '1(?:3(?:7[1-6]\\d{6}|8\\d{4})|80\\d{5,11})', + 'NationalNumberPattern' => '1(?:3(?:7[1-6]\\d\\d|8)|80\\d{1,7})\\d{4}', 'ExampleNumber' => '18012345', 'PossibleLength' => array ( @@ -185,7 +185,7 @@ return array ( ), 'voicemail' => array ( - 'NationalNumberPattern' => '1(?:5(?:(?:2\\d55|7\\d99|9\\d33)\\d{7}|(?:[034568]00|113)\\d{8})|6(?:013|255|399)\\d{7,8}|7(?:[015]13|[234]55|[69]33|[78]99)\\d{7,8})', + 'NationalNumberPattern' => '1(?:5(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)|(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d?)\\d{7}', 'ExampleNumber' => '177991234567', 'PossibleLength' => array ( @@ -216,43 +216,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1\\d{2})(\\d{7,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1[67]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(15\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '15[0568]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(1\\d{3})(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '15', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{2})(\\d{3,11})', + 'pattern' => '(\\d{2})(\\d{3,13})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -262,14 +226,51 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 1 => array ( - 'pattern' => '(\\d{3})(\\d{3,11})', + 'pattern' => '(\\d{3})(\\d{3,12})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|[4-8][1-9]1|9(?:06|[1-9]1)', - 1 => '2(?:0[1-389]|1(?:[14]|2[0-8])|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|[4-8][1-9]1|9(?:06|[1-9]1)', + 0 => '2(?:0[1-389]|1[124]|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|(?:4[2-9]|[57][1-9]|[68][1-8])1|9(?:06|[1-9]1)', + 1 => '2(?:0[1-389]|1(?:[14]|2[0-8])|2[18]|3[14]|[4-9]1)|3(?:[35-9][15]|4[015])|(?:4[2-9]|[57][1-9]|[68][1-8])1|9(?:06|[1-9]1)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '138', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{4})(\\d{3,11})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|7(?:0[2-8]|[1-9])|8(?:0[2-9]|[1-8])|9(?:0[7-9]|[1-9])', + 1 => '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|[49][1246]|6[1-4]|7[13468]|8[13568])|6(?:0[1356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|7(?:0[2-8]|[1-9])|8(?:0[2-9]|[1-8])|9(?:0[7-9]|[1-9])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{5,11})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '181', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -277,12 +278,11 @@ return array ( ), 5 => array ( - 'pattern' => '(\\d{4})(\\d{2,11})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d)(\\d{4,10})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|[7-9](?:0[1-9]|[1-9])', - 1 => '[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|[49][1246]|6[1-4]|7[13468]|8[13568])|6(?:0[1356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|[7-9](?:0[1-9]|[1-9])', + 0 => '1(?:3|80)|9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -290,7 +290,7 @@ return array ( ), 6 => array ( - 'pattern' => '(3\\d{4})(\\d{1,10})', + 'pattern' => '(\\d{5})(\\d{3,10})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -302,11 +302,11 @@ return array ( ), 7 => array ( - 'pattern' => '(800)(\\d{7,12})', + 'pattern' => '(\\d{3})(\\d{7,8})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '1(?:6[02-489]|7)', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -314,12 +314,11 @@ return array ( ), 8 => array ( - 'pattern' => '(\\d{3})(\\d)(\\d{4,10})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{7,12})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '1(?:37|80)|900', - 1 => '1(?:37|80)|900[1359]', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -327,11 +326,11 @@ return array ( ), 9 => array ( - 'pattern' => '(1\\d{2})(\\d{5,11})', + 'pattern' => '(\\d{4})(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '181', + 0 => '15[1279]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -339,13 +338,11 @@ return array ( ), 10 => array ( - 'pattern' => '(18\\d{3})(\\d{6})', + 'pattern' => '(\\d{5})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '185', - 1 => '1850', - 2 => '18500', + 0 => '15[0568]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -353,7 +350,33 @@ return array ( ), 11 => array ( - 'pattern' => '(18\\d{2})(\\d{7})', + 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '7', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 12 => + array ( + 'pattern' => '(\\d{3})(\\d{8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '18[2-579]', + 1 => '18[2-579]', + 2 => '18(?:[2-479]|5(?:0[1-9]|[1-9]))', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 13 => + array ( + 'pattern' => '(\\d{4})(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -363,37 +386,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 12 => - array ( - 'pattern' => '(18\\d)(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '18[2-579]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 13 => - array ( - 'pattern' => '(700)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '700', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 14 => array ( - 'pattern' => '(138)(\\d{4})', + 'pattern' => '(\\d{5})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '138', + 0 => '18', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -401,7 +400,19 @@ return array ( ), 15 => array ( - 'pattern' => '(15[013-68])(\\d{2})(\\d{8})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{7,8})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:6[023]|7)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 16 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{8})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -411,25 +422,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 16 => - array ( - 'pattern' => '(15[279]\\d)(\\d{2})(\\d{7})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '15[279]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 17 => array ( - 'pattern' => '(1[67]\\d)(\\d{2})(\\d{7,8})', + 'pattern' => '(\\d{4})(\\d{2})(\\d{7})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:6[023]|7)', + 0 => '15', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DJ.php index 2a8979525..7098993c8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DJ.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[27]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DK.php index 35dc7a21d..04b90d4a2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DK.php @@ -37,7 +37,7 @@ return array ( 'mobile' => array ( 'NationalNumberPattern' => '(?:[2-7]\\d|8[126-9]|9[1-36-9])\\d{6}', - 'ExampleNumber' => '20123456', + 'ExampleNumber' => '32123456', 'PossibleLength' => array ( ), @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DM.php index 3da34412f..ca918dd54 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DM.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '767(?:2(?:[234689]5|7[5-7])|31[5-7]|61[1-7])\\d{4}', + 'NationalNumberPattern' => '767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-7])\\d{4}', 'ExampleNumber' => '7672251234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DO.php index 25c429caa..5e268c727 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DO.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '8(?:[04]9[2-9]\\d{6}|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d{2}|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9]))\\d{4})', + 'NationalNumberPattern' => '8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}', 'ExampleNumber' => '8092345678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DZ.php index cfef15ec7..11a2f4ea9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_DZ.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1\\d|2[013-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}', + 'NationalNumberPattern' => '(?:(?:1\\d|2[013-79]|3[0-8]|4[0135689])\\d|9619)\\d{5}', 'ExampleNumber' => '12345678', 'PossibleLength' => array ( @@ -37,7 +37,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:5[4-6]|7[7-9])\\d{7}|6(?:[569]\\d|7[0-6])\\d{6}', + 'NationalNumberPattern' => '(?:(?:5[4-6]|7[7-9])\\d|6(?:[569]\\d|7[0-6]))\\d{6}', 'ExampleNumber' => '551234567', 'PossibleLength' => array ( @@ -155,7 +155,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-4]\\d)(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -167,7 +167,7 @@ return array ( ), 1 => array ( - 'pattern' => '([5-8]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -179,7 +179,7 @@ return array ( ), 2 => array ( - 'pattern' => '(9\\d)(\\d{3})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EC.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EC.php index afe157ff8..fabfee207 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EC.php @@ -156,18 +156,30 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-7]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[247]|[356][2-8]', + 0 => '[2-7]', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -179,16 +191,15 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( - 'pattern' => '(1800)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '180', - 1 => '1800', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -201,11 +212,8 @@ return array ( 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[247]|[356][2-8]', + 0 => '[2-7]', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( @@ -221,14 +229,13 @@ return array ( ), 2 => array ( - 'pattern' => '(1800)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '180', - 1 => '1800', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EE.php index ce015ff0a..40c419e0d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EE.php @@ -39,7 +39,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}', + 'NationalNumberPattern' => '(?:5\\d|8[1-4])\\d{6}|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}', 'ExampleNumber' => '51234567', 'PossibleLength' => array ( @@ -52,7 +52,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '800(?:0\\d{3}|1\\d|[2-9])\\d{3}', + 'NationalNumberPattern' => '800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}', 'ExampleNumber' => '80012345', 'PossibleLength' => array ( @@ -63,7 +63,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:40\\d{2}|900)\\d{4}', + 'NationalNumberPattern' => '(?:40\\d\\d|900)\\d{4}', 'ExampleNumber' => '9001234', 'PossibleLength' => array ( @@ -155,7 +155,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([3-79]\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -168,11 +168,12 @@ return array ( ), 1 => array ( - 'pattern' => '(70)(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})(\\d{3,4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '70', + 0 => '[45]|8(?:00|[1-4])', + 1 => '[45]|8(?:00[1-9]|[1-4])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -180,12 +181,11 @@ return array ( ), 2 => array ( - 'pattern' => '(8000)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', - 1 => '8000', + 0 => '7', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -193,12 +193,11 @@ return array ( ), 3 => array ( - 'pattern' => '([458]\\d{3})(\\d{3,4})', - 'format' => '$1 $2', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '40|5|8(?:00|[1-5])', - 1 => '40|5|8(?:00[1-9]|[1-5])', + 0 => '80', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EG.php index 38f0a8a1d..741e5c9a3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_EG.php @@ -23,12 +23,13 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 7, + 0 => 6, + 1 => 7, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:3[23]\\d|5(?:[23]|9\\d))|2[2-4]\\d{2}|3\\d{2}|4(?:0[2-5]|[578][23]|64)\\d|5(?:0[2-7]|5\\d|7[23])\\d|6[24-689]3\\d|8(?:2[2-57]|4[26]|6[237]|8[2-4])\\d|9(?:2[27]|3[24]|52|6[2356]|7[2-4])\\d)\\d{5}', + 'NationalNumberPattern' => '(?:1(?:3[23]|5\\d?)|(?:2[2-4]|3)\\d|4(?:0[2-5]|[578][23]|64)|5(?:0[2-7]|5\\d|7[23])|6[24-689]3|8(?:2[2-57]|4[26]|6[237]|8[2-4])|9(?:2[27]|3[24]|52|6[2356]|7[2-4]))\\d{6}', 'ExampleNumber' => '234567890', 'PossibleLength' => array ( @@ -37,12 +38,13 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 7, + 0 => 6, + 1 => 7, ), ), 'mobile' => array ( - 'NationalNumberPattern' => '1[0125]\\d{8}', + 'NationalNumberPattern' => '1[0-25]\\d{8}', 'ExampleNumber' => '1001234567', 'PossibleLength' => array ( @@ -172,7 +174,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '1(?:3|5[239])|[4-6]|[89][2-9]', + 0 => '1[35]|[4-6]|8[2468]|9[235-7]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -184,7 +186,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[0-25]|[89]00', + 0 => '[189]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ER.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ER.php index fce6dca7a..fb0ca4a77 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ER.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ER.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}', + 'NationalNumberPattern' => '(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}', 'ExampleNumber' => '8370362', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '17[1-3]\\d{4}|7\\d{6}', + 'NationalNumberPattern' => '(?:17[1-3]|7\\d\\d)\\d{4}', 'ExampleNumber' => '7123456', 'PossibleLength' => array ( @@ -151,6 +151,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[178]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ES.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ES.php index 7ea419c00..b682d80a4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ES.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ES.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '8(?:[1356]\\d|[28][0-8]|[47][1-9])\\d{6}|9(?:[135]\\d{7}|[28][0-8]\\d{6}|4[1-9]\\d{6}|6(?:[0-8]\\d{6}|9(?:0(?:[0-57-9]\\d{4}|6(?:0[0-8]|1[1-9]|[2-9]\\d)\\d{2})|[1-9]\\d{5}))|7(?:[124-9]\\d{2}|3(?:[0-8]\\d|9[1-9]))\\d{4})', + 'NationalNumberPattern' => '(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])\\d{4}|9(?:(?:(?:[135]\\d|[28][0-8]|4[1-9])\\d\\d|7(?:[124-9]\\d\\d|3(?:[0-8]\\d|9[1-9])))\\d\\d|6(?:[0-8]\\d{4}|9(?:0(?:[0-57-9]\\d\\d|6(?:0[0-8]|1[1-9]|[2-9]\\d))|[1-9]\\d{3}))))\\d\\d', 'ExampleNumber' => '810123456', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6\\d{6}|7[1-48]\\d{5}|9(?:6906(?:09|10)|7390\\d{2}))\\d{2}', + 'NationalNumberPattern' => '(?:(?:6\\d|7[1-48])\\d{5}|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d', 'ExampleNumber' => '612345678', 'PossibleLength' => array ( @@ -148,7 +148,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([89]00)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -160,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[568]|[79][0-8]', + 0 => '[568]|7[0-48]|9(?:0[12]|[1-8])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ET.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ET.php index 1fa5bb63d..0d4c8164e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ET.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ET.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:18|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', + 'NationalNumberPattern' => '(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:18|2[69]|39|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}', 'ExampleNumber' => '111112345', 'PossibleLength' => array ( @@ -147,7 +147,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-59]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FI.php index 2a27bf494..6562b8e14 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FI.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:1\\d|[2-689])\\d{4,10}|7\\d{4,9}', + 'NationalNumberPattern' => '(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}|[1-35689]\\d{4}', 'PossibleLength' => array ( 0 => 5, @@ -23,8 +23,6 @@ return array ( 3 => 8, 4 => 9, 5 => 10, - 6 => 11, - 7 => 12, ), 'PossibleLengthLocalOnly' => array ( @@ -32,10 +30,15 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:[3569][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}', - 'ExampleNumber' => '1312345678', + 'NationalNumberPattern' => '(?:1[3-79][1-8]|[235689][1-8]\\d)\\d{2,6}', + 'ExampleNumber' => '131234567', 'PossibleLength' => array ( + 0 => 5, + 1 => 6, + 2 => 7, + 3 => 8, + 4 => 9, ), 'PossibleLengthLocalOnly' => array ( @@ -43,7 +46,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '4(?:[0-8]\\d{4,9}|9\\d{3,8})|50\\d{4,8}', + 'NationalNumberPattern' => '(?:4[0-8]|50)\\d{4,8}', 'ExampleNumber' => '412345678', 'PossibleLength' => array ( @@ -52,7 +55,6 @@ return array ( 2 => 8, 3 => 9, 4 => 10, - 5 => 11, ), 'PossibleLengthLocalOnly' => array ( @@ -60,14 +62,13 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '800\\d{4,7}', - 'ExampleNumber' => '8001234567', + 'NationalNumberPattern' => '800\\d{4,6}', + 'ExampleNumber' => '800123456', 'PossibleLength' => array ( 0 => 7, 1 => 8, 2 => 9, - 3 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -128,16 +129,10 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '[13]0\\d{4,8}|2(?:0(?:[016-8]\\d{3,7}|[2-59]\\d{2,7})|9\\d{4,8})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})', + 'NationalNumberPattern' => '(?:10|[23][09])\\d{4,8}|60(?:[12]\\d{5,6}|6\\d{7})|7(?:(?:1|3\\d)\\d{7}|5[03-9]\\d{3,7})|20[2-59]\\d\\d', 'ExampleNumber' => '10112345', 'PossibleLength' => array ( - 0 => 5, - 1 => 6, - 2 => 7, - 3 => 8, - 4 => 9, - 5 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -155,15 +150,9 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '[13]00\\d{3,7}|2(?:0(?:0\\d{3,7}|2[023]\\d{1,6}|9[89]\\d{1,6}))|60(?:[12]\\d{5,6}|6\\d{7})|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{3,7})', + 'NationalNumberPattern' => '[13]00\\d{3,7}|20(?:0\\d{3,7}|(?:2[023]|9[89])\\d{1,6})|60(?:[12]\\d{5,6}|6\\d{7})|7(?:(?:1|3\\d)\\d{7}|5[03-9]\\d{3,7})', 'PossibleLength' => array ( - 0 => 5, - 1 => 6, - 2 => 7, - 3 => 8, - 4 => 9, - 5 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -171,7 +160,7 @@ return array ( ), 'id' => 'FI', 'countryCode' => 358, - 'internationalPrefix' => '00|99(?:[01469]|5(?:11|3[23]|41|5[59]|77|88|9[09]))', + 'internationalPrefix' => '00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))', 'preferredInternationalPrefix' => '00', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', @@ -180,11 +169,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{3})(\\d{3,7})', - 'format' => '$1 $2', + 'pattern' => '(\\d{5})', + 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '(?:[1-3]0|[6-8])0', + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -192,11 +181,11 @@ return array ( ), 1 => array ( - 'pattern' => '(75\\d{3})', - 'format' => '$1', + 'pattern' => '(\\d)(\\d{4,9})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '75[12]', + 0 => '[2568][1-8]|3(?:0[1-9]|[1-9])|9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -204,35 +193,23 @@ return array ( ), 2 => array ( - 'pattern' => '(116\\d{3})', - 'format' => '$1', - 'leadingDigitsPatterns' => - array ( - 0 => '116', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{2})(\\d{4,10})', + 'pattern' => '(\\d{2})(\\d{4,8})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[14]|2[09]|50|7[135]', + 0 => '1(?:0[1-9]|[3-79][1-8]|8)|2(?:0[1-9]|9)|[45]|7[135]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 3 => array ( - 'pattern' => '(\\d)(\\d{4,11})', + 'pattern' => '(\\d{3})(\\d{3,7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[25689][1-8]|3', + 0 => '(?:1|20)0|[36-8]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -241,8 +218,45 @@ return array ( ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d)(\\d{4,9})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2568][1-8]|3(?:0[1-9]|[1-9])|9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{4,8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:0[1-9]|[3-79][1-8]|8)|2(?:0[1-9]|9)|[45]|7[135]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3,7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '(?:1|20)0|[36-8]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => true, + 'leadingDigits' => '1[03-79]|[2-9]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => true, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FJ.php index 25710df53..007035353 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FJ.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3[0-5]\\d|6(?:03|[25-7]\\d)|8[58]\\d)\\d{4}', + 'NationalNumberPattern' => '(?:(?:3[0-5]|8[58])\\d|6(?:03|[25-7]\\d))\\d{4}', 'ExampleNumber' => '3212345', 'PossibleLength' => array ( @@ -153,7 +153,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-9]', + 0 => '[235-9]|45', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FM.php index 7b242560e..a3580dc6d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FM.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '3[2357]0[1-9]\\d{3}|9[2-6]\\d{5}', + 'NationalNumberPattern' => '(?:3[2357]0[1-9]|9[2-6]\\d\\d)\\d{3}', 'ExampleNumber' => '3201234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '3[2357]0[1-9]\\d{3}|9[2-7]\\d{5}', + 'NationalNumberPattern' => '(?:3[2357]0[1-9]|9[2-7]\\d\\d)\\d{3}', 'ExampleNumber' => '3501234', 'PossibleLength' => array ( @@ -147,6 +147,8 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '3(?:20|[357])|9', + 1 => '3(?:20[1-9]|[357])|9', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FO.php index 93a31234d..65d2914fe 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FO.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:20|[3-4]\\d|8[19])\\d{4}', + 'NationalNumberPattern' => '(?:20|[34]\\d|8[19])\\d{4}', 'ExampleNumber' => '201234', 'PossibleLength' => array ( @@ -58,7 +58,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '90(?:[1345][15-7]|2[125-7]|99)\\d{2}', + 'NationalNumberPattern' => '90(?:[13-5][15-7]|2[125-7]|99)\\d\\d', 'ExampleNumber' => '901123', 'PossibleLength' => array ( @@ -151,6 +151,7 @@ return array ( 'format' => '$1', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FR.php index 55f2a818c..35c4b9a73 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_FR.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6\\d{2}|7(?:00|[3-9]\\d))\\d{6}', + 'NationalNumberPattern' => '(?:6\\d\\d|7(?:00|[3-9]\\d))\\d{6}', 'ExampleNumber' => '612345678', 'PossibleLength' => array ( @@ -150,7 +150,19 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '11', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( @@ -160,21 +172,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => - array ( - 'pattern' => '(1\\d{2})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '11', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 2 => array ( - 'pattern' => '(8\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -189,7 +189,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( @@ -201,7 +201,7 @@ return array ( ), 1 => array ( - 'pattern' => '(8\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GA.php index ee125cde9..0f3d083ca 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GA.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '0?[2-7]\\d{6}', + 'NationalNumberPattern' => '(?:0[2-7]|[2-7])\\d{6}', 'ExampleNumber' => '06031234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php index b8a6b1188..c099cb0fd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GB.php @@ -31,7 +31,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{7}|1(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|21[0-7]|31[0-8]|[4-69]1\\d)\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[28][02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[2-46-8]\\d{2}|16977[23]\\d{3}', + 'NationalNumberPattern' => '(?:1(?:1(?:3[0-58]|4[0-5]|5[0-26-9]|6[0-4]|[78][0-49])|2(?:0[024-9]|1[0-7]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)|3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d)\\d{6}|1(?:(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d|7(?:(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))\\d|6888[2-46-8]))\\d\\d', 'ExampleNumber' => '1212345678', 'PossibleLength' => array ( @@ -49,7 +49,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:[1-3]\\d{3}|4(?:[0-46-9]\\d{2}|5(?:[0-689]\\d|7[0-57-9]))|5(?:0[0-8]|[13-9]\\d|2[0-35-9])\\d|7(?:0(?:0[01]|[1-9]\\d)|[1-7]\\d{2}|8[02-9]\\d|9[0-689]\\d)|8(?:[014-9]\\d|[23][0-8])\\d|9(?:[024-9]\\d{2}|1(?:[02-9]\\d|1[028])|3[0-689]\\d))\\d{5}', + 'NationalNumberPattern' => '7(?:(?:[1-3]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|8(?:[014-9]\\d|[23][0-8]))\\d|4(?:[0-46-9]\\d\\d|5(?:[0-689]\\d|7[0-57-9]))|7(?:0(?:0[01]|[1-9]\\d)|(?:[1-7]\\d|8[02-9]|9[0-689])\\d)|9(?:(?:[024-9]\\d|3[0-689])\\d|1(?:[02-9]\\d|1[028])))\\d{5}', 'ExampleNumber' => '7400123456', 'PossibleLength' => array ( @@ -61,7 +61,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80(?:0(?:1111|\\d{6,7})|8\\d{7})', + 'NationalNumberPattern' => '80[08]\\d{7}|800\\d{6}|8001111', 'ExampleNumber' => '8001234567', 'PossibleLength' => array ( @@ -72,11 +72,12 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:87[123]|9(?:[01]\\d|8[2349]))\\d{7}', + 'NationalNumberPattern' => '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d', 'ExampleNumber' => '9012345678', 'PossibleLength' => array ( - 0 => 10, + 0 => 7, + 1 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -84,12 +85,9 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})', - 'ExampleNumber' => '8431234567', 'PossibleLength' => array ( - 0 => 7, - 1 => 10, + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -121,7 +119,7 @@ return array ( ), 'pager' => array ( - 'NationalNumberPattern' => '76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', + 'NationalNumberPattern' => '76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', 'ExampleNumber' => '7640123456', 'PossibleLength' => array ( @@ -174,12 +172,14 @@ return array ( array ( 0 => array ( - 'pattern' => '(7\\d{3})(\\d{6})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '7(?:[1-57-9]|62)', - 1 => '7(?:[1-57-9]|624)', + 0 => '845', + 1 => '8454', + 2 => '84546', + 3 => '845464', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -187,57 +187,7 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '2|5[56]|7[06]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1(?:[02-9]1|1)|3|9[018]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{5})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1(?:38|5[23]|69|76|94)', - 1 => '1(?:(?:38|69)7|5(?:24|39)|768|946)', - 2 => '1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(1\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(800)(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -251,16 +201,64 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 2 => array ( - 'pattern' => '(845)(46)(4\\d)', + 'pattern' => '(\\d{3})(\\d{6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '800', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{4})(\\d{5,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:[2-79][02-9]|8)', + 1 => '1(?:[24][02-9]|3(?:[02-79]|8[0-46-9])|5(?:[04-9]|2[024-9]|3[014-689])|6(?:[02-8]|9[0-24578])|7(?:[02-57-9]|6[013-9])|8|9(?:[0235-9]|4[2-9]))', + 2 => '1(?:[24][02-9]|3(?:[02-79]|8(?:[0-4689]|7[0-24-9]))|5(?:[04-9]|2(?:[025-9]|4[013-9])|3(?:[014-68]|9[0-37-9]))|6(?:[02-8]|9(?:[0-2458]|7[0-25689]))|7(?:[02-57-9]|6(?:[013-79]|8[0-25689]))|8|9(?:[0235-9]|4(?:[2-57-9]|6[0-689])))', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{5})(\\d{4,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:38|5[23]|69|7|94)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '845', - 1 => '8454', - 2 => '84546', - 3 => '845464', + 0 => '[25]|7(?:0|6[024-9])', + 1 => '[25]|7(?:0|6(?:[04-9]|2[356]))', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[1389]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -268,35 +266,11 @@ return array ( ), 7 => array ( - 'pattern' => '(8\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '8(?:4[2-5]|7[0-3])', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(80\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '80', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 9 => - array ( - 'pattern' => '(800)(\\d{6})', + 'pattern' => '(\\d{4})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GD.php index 30e6dde57..8083e462a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GD.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}', + 'NationalNumberPattern' => '473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}', 'ExampleNumber' => '4732691234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GE.php index 8a888cc44..cd1403fbf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GE.php @@ -165,7 +165,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '5|790', + 0 => '5|79', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GF.php index 2dbc6781a..07ebbc7d8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GF.php @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[56]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GG.php index dc6a29e75..5cd49dee5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GG.php @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:781\\d|839\\d|911[17])\\d{5}', + 'NationalNumberPattern' => '7(?:(?:781|839)\\d|911[17])\\d{5}', 'ExampleNumber' => '7781123456', 'PossibleLength' => array ( @@ -53,7 +53,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80(?:0(?:1111|\\d{6,7})|8\\d{7})', + 'NationalNumberPattern' => '80[08]\\d{7}|800\\d{6}|8001111', 'ExampleNumber' => '8001234567', 'PossibleLength' => array ( @@ -64,11 +64,12 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}', + 'NationalNumberPattern' => '(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d', 'ExampleNumber' => '9012345678', 'PossibleLength' => array ( - 0 => 10, + 0 => 7, + 1 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -76,12 +77,9 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})', - 'ExampleNumber' => '8431234567', 'PossibleLength' => array ( - 0 => 7, - 1 => 10, + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -113,7 +111,7 @@ return array ( ), 'pager' => array ( - 'NationalNumberPattern' => '76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', + 'NationalNumberPattern' => '76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', 'ExampleNumber' => '7640123456', 'PossibleLength' => array ( @@ -159,7 +157,8 @@ return array ( 'countryCode' => 44, 'internationalPrefix' => '00', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|([25-9]\\d{5})$', + 'nationalPrefixTransformRule' => '1481$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GH.php index 7a4056ece..61ee2402e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GH.php @@ -40,7 +40,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:2[034678]\\d|5(?:[0457]\\d|6[01]))\\d{6}', + 'NationalNumberPattern' => '(?:2[0346-8]\\d|5(?:[0457]\\d|6[01]))\\d{6}', 'ExampleNumber' => '231234567', 'PossibleLength' => array ( @@ -153,13 +153,13 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[235]', + 0 => '[237]|80', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -175,9 +175,45 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[235]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{3})(\\d{5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[235]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GI.php index c759a93b6..a5e6b628c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GI.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:00\\d{2}|1(?:6[24-7]\\d|90[0-2])|2(?:2[2457]|50)\\d)\\d{3}', + 'NationalNumberPattern' => '2(?:(?:00\\d|2(?:2[2457]|50))\\d|1(?:6[24-7]\\d|90[0-2]))\\d{3}', 'ExampleNumber' => '20012345', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GL.php index a4a0ca36a..0b1da17c8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GL.php @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '19|[2-689]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GM.php index 4921f6e8e..1f37da926 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GM.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}', + 'NationalNumberPattern' => '(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}', 'ExampleNumber' => '5661234', 'PossibleLength' => array ( @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GP.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GP.php index 55d93ed50..8223082bd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GP.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}', + 'NationalNumberPattern' => '69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}', 'ExampleNumber' => '690001234', 'PossibleLength' => array ( @@ -145,11 +145,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([56]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '590|69[01]', + 0 => '[56]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GQ.php index 2b14136e6..b9500ec6f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GQ.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}', + 'NationalNumberPattern' => '3(?:3(?:[0-24-9]\\d[46]|3\\d[7-9])|5\\d\\d[7-9])\\d{4}', 'ExampleNumber' => '333091234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:222|55[15])\\d{6}', + 'NationalNumberPattern' => '(?:222|55[015])\\d{6}', 'ExampleNumber' => '222123456', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GR.php index 89d65884b..82b7709ea 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GR.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:1\\d{2}|2(?:2[1-46-9]|3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|3[1245]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}', + 'NationalNumberPattern' => '2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}', 'ExampleNumber' => '2123456789', 'PossibleLength' => array ( @@ -147,7 +147,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([27]\\d)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -163,7 +163,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2[2-9]1|[689]', + 0 => '2[3-8]1|[689]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -171,11 +171,11 @@ return array ( ), 2 => array ( - 'pattern' => '(2\\d{3})(\\d{6})', + 'pattern' => '(\\d{4})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '2[2-9][02-9]', + 0 => '2', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GT.php index f40fb1817..6b9aaa848 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GT.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '[345]\\d{7}', + 'NationalNumberPattern' => '[3-5]\\d{7}', 'ExampleNumber' => '51234567', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GU.php index 7dd039776..099ed0901 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GU.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[079]7|2[0167]|3[45]|47|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', + 'NationalNumberPattern' => '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', 'ExampleNumber' => '6713001234', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[079]7|2[0167]|3[45]|47|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', + 'NationalNumberPattern' => '671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[0236-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}', 'ExampleNumber' => '6713001234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GW.php index 61026faab..f9ad8e324 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GW.php @@ -148,11 +148,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '44|9[5-7]', + 0 => '40', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -160,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '40', + 0 => '[49]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GY.php index 8e429b45e..2e5c5dc8f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_GY.php @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2-46-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php index fdbaeb404..44941f6f2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HK.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:[13-8]\\d|2[013-9]|9[0-24-9])\\d|3(?:[1569][0-24-9]\\d|4[0-246-9]\\d|7[0-24-69]\\d|8(?:4[04]|9\\d))|58(?:0[1-8]|1[2-9]))\\d{4}', + 'NationalNumberPattern' => '(?:2(?:[13-8]\\d|2[013-9]|9[0-24-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[04]|9\\d))|58(?:0[1-8]|1[2-9]))\\d{4}', 'ExampleNumber' => '21234567', 'PossibleLength' => array ( @@ -42,7 +42,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:46(?:0[0-6]|10|4[0-57-9])|5(?:[1-59][0-46-9]\\d|6[0-4689]\\d|7(?:[0-2469]\\d|30))|6(?:0[1-9]\\d|[13-59]\\d{2}|2(?:[0-57-9]\\d|6[01])|[68][0-57-9]\\d|7[0-79]\\d)|707[1-5]|8480|9(?:0[1-9]\\d|1[02-9]\\d|2(?:[0-8]\\d|9[03-9])|[358][0-8]\\d|[467]\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:46(?:0[0-6]|10|4[0-57-9])|5(?:(?:[1-59][0-46-9]|6[0-4689])\\d|7(?:[0-2469]\\d|30))|6(?:(?:0[1-9]|[13-59]\\d|[68][0-57-9]|7[0-79])\\d|2(?:[0-57-9]\\d|6[01]))|707[1-5]|8480|9(?:(?:0[1-9]|1[02-9]|[358][0-8]|[467]\\d)\\d|2(?:[0-8]\\d|9[03-9])))\\d{4}', 'ExampleNumber' => '51234567', 'PossibleLength' => array ( @@ -158,18 +158,19 @@ return array ( ), 'id' => 'HK', 'countryCode' => 852, - 'internationalPrefix' => '00(?:[126-9]|30|5[09])?', + 'internationalPrefix' => '00(?:30|5[09]|[126-9]?)', 'preferredInternationalPrefix' => '00', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( 0 => array ( - 'pattern' => '(\\d{4})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{2,5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-7]|[89](?:0[1-9]|[1-9])', + 0 => '900', + 1 => '9003', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -177,11 +178,11 @@ return array ( ), 1 => array ( - 'pattern' => '(800)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})(\\d{4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '[2-7]|8[1-4]|9(?:0[1-9]|[1-8])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -189,11 +190,11 @@ return array ( ), 2 => array ( - 'pattern' => '(900)(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '900', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -201,11 +202,11 @@ return array ( ), 3 => array ( - 'pattern' => '(900)(\\d{2,5})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '900', + 0 => '9', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HN.php index b239f76c3..3d1dfd5c0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HN.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:2(?:0[019]|1[1-36]|[23]\\d|4[04-6]|5[57]|7[013689]|8[0146-9]|9[012])|4(?:07|2[3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:16|4[03-5]|5\\d|6[4-6]|74)|6(?:[056]\\d|17|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}', + 'NationalNumberPattern' => '2(?:2(?:0[019]|1[1-36]|[23]\\d|4[04-6]|5[57]|64|7[0135689]|8[01346-9]|9[0-2])|4(?:07|2[3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:08|16|4[03-5]|5\\d|6[4-6]|74|80)|6(?:[056]\\d|17|3[04]|4[0-378]|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[034])|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}', 'ExampleNumber' => '22123456', 'PossibleLength' => array ( @@ -147,6 +147,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( + 0 => '[237-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php index ec673de5a..f57d8b5d6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HR.php @@ -43,7 +43,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '9(?:01\\d|[1259]\\d{2}|7(?:[0679]\\d|51)|8\\d{1,2})\\d{5}', + 'NationalNumberPattern' => '9(?:(?:01|[12589]\\d)\\d|7(?:[0679]\\d|51))\\d{5}|98\\d{6}', 'ExampleNumber' => '921234567', 'PossibleLength' => array ( @@ -70,7 +70,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '6(?:[01]\\d{0,2}|[459]\\d{2})\\d{4}', + 'NationalNumberPattern' => '6[01459]\\d{6}|6[01]\\d{4,5}', 'ExampleNumber' => '611234', 'PossibleLength' => array ( @@ -167,43 +167,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1)(\\d{4})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '([2-5]\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[2-5]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(9\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '9', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(6[01])(\\d{2})(\\d{2,3})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -213,9 +177,45 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2,3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-5]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), 4 => array ( - 'pattern' => '([67]\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -227,11 +227,11 @@ return array ( ), 5 => array ( - 'pattern' => '(80[01])(\\d{2})(\\d{2,3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '80[01]', + 0 => '9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -239,11 +239,11 @@ return array ( ), 6 => array ( - 'pattern' => '(80[01])(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '80[01]', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HT.php index 1265b6455..32179c6c0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HT.php @@ -88,7 +88,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '(?:9(?:[67][0-4]|8[0-3589]|9\\d))\\d{5}', + 'NationalNumberPattern' => '9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}', 'ExampleNumber' => '98901234', 'PossibleLength' => array ( @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[2-489]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HU.php index 3e7eb2e4a..8d510e795 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_HU.php @@ -23,11 +23,12 @@ return array ( 'PossibleLengthLocalOnly' => array ( 0 => 6, + 1 => 7, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1\\d|2[2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|7[2-9]|8[2-57-9]|9[2-69])\\d{6}', + 'NationalNumberPattern' => '(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}', 'ExampleNumber' => '12345678', 'PossibleLength' => array ( @@ -36,6 +37,7 @@ return array ( 'PossibleLengthLocalOnly' => array ( 0 => 6, + 1 => 7, ), ), 'mobile' => @@ -159,7 +161,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ID.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ID.php index b9cc68f99..060389e1b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ID.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ID.php @@ -32,7 +32,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:1(?:14\\d{3}|500\\d{3}|\\d{7,8})|2\\d{6,8}|4\\d{7,8})|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}', + 'NationalNumberPattern' => '2(?:[124]\\d{7,8}|(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])\\d{5,8})|(?:3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}|6(?:1(?:[0-8]\\d{4,7}|9\\d{4,8})|(?:[25]\\d|3[1-69]|4[1-6])\\d{5,8})|2(?:1(?:14|500)|2\\d{3})\\d{3}', 'ExampleNumber' => '218350123', 'PossibleLength' => array ( @@ -50,7 +50,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359])|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,10}', + 'NationalNumberPattern' => '8[1-35-9]\\d{7,10}', 'ExampleNumber' => '812345678', 'PossibleLength' => array ( @@ -65,7 +65,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '177\\d{6,8}|800\\d{5,7}', + 'NationalNumberPattern' => '(?:177\\d|800)\\d{5,7}', 'ExampleNumber' => '8001234567', 'PossibleLength' => array ( @@ -134,7 +134,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '1500\\d{3}|8071\\d{6}', + 'NationalNumberPattern' => '(?:1500|8071\\d{3})\\d{3}', 'ExampleNumber' => '8071123456', 'PossibleLength' => array ( @@ -168,13 +168,25 @@ return array ( ), 'id' => 'ID', 'countryCode' => 62, - 'internationalPrefix' => '0(?:0[1789]|10(?:00|1[67]))', + 'internationalPrefix' => '0(?:0[17-9]|10(?:00|1[67]))', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '15', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{2})(\\d{5,8})', 'format' => '$1 $2', @@ -186,70 +198,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => - array ( - 'pattern' => '(\\d{3})(\\d{5,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '2[035-9]|[36][02-9]|[4579]', - ), - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 2 => array ( - 'pattern' => '(8\\d{2})(\\d{3,4})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '8[1-35-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(8\\d{2})(\\d{4})(\\d{4,5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '8[1-35-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(1)(500)(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '150', - 1 => '1500', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(177)(\\d{6,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '177', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(800)(\\d{5,7})', + 'pattern' => '(\\d{3})(\\d{5,7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -259,9 +210,45 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => + 3 => array ( - 'pattern' => '(804)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{5,8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-579]|6[2-5]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{3,4})(\\d{3})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '8[1-35-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{6,8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -271,13 +258,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 8 => + 7 => array ( - 'pattern' => '(80\\d)(\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '80[79]', + 0 => '80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 8 => + array ( + 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IE.php index ae4a0b08e..f69af9bd8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IE.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1\\d{7,8}|2(?:1\\d{6,7}|3\\d{7}|[24-9]\\d{5})|4(?:0[24]\\d{5}|[1-469]\\d{7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|[23679]\\d{7}|8\\d{5})|6(?:1\\d{6}|[237-9]\\d{5}|[4-6]\\d{7})|7[14]\\d{7}|9(?:1\\d{6}|[04]\\d{7}|[35-9]\\d{5})', + 'NationalNumberPattern' => '(?:1\\d{2,3}|2(?:[13]\\d\\d|[24-9])|4(?:0[24]|(?:(?:[1-469]|8[0-46-9])\\d|5)\\d|7)|5(?:0[45]|(?:1|[23679]\\d)\\d|8)|6(?:[237-9]|[4-6]\\d\\d)|7[14]\\d\\d|9(?:[04]\\d\\d|[35-9]))\\d{5}|[269]1\\d{6}', 'ExampleNumber' => '2212345', 'PossibleLength' => array ( @@ -43,7 +43,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '8(?:22\\d{6}|[35-9]\\d{7})', + 'NationalNumberPattern' => '8(?:22|[35-9]\\d)\\d{6}', 'ExampleNumber' => '850123456', 'PossibleLength' => array ( @@ -167,18 +167,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(1)(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1', - ), - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => array ( 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', @@ -190,13 +178,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 1 => array ( 'pattern' => '(\\d{3})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '40[24]|50[45]', + 0 => '[45]0', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -204,11 +204,11 @@ return array ( ), 3 => array ( - 'pattern' => '(48)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '48', + 0 => '[2569]|4[1-69]|7[14]', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -216,74 +216,73 @@ return array ( ), 4 => array ( - 'pattern' => '(818)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '818', + 0 => '76|8[235-9]', ), - 'nationalPrefixFormattingRule' => '(0$1)', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 5 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[24-69]|7[14]', + 0 => '7', ), - 'nationalPrefixFormattingRule' => '(0$1)', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 6 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '76|8[35-9]', + 0 => '81', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 7 => array ( - 'pattern' => '(8\\d)(\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '8[35-9]5', + 0 => '4', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 8 => array ( - 'pattern' => '(700)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '700', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 9 => array ( - 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d)(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '1(?:5|8[059])', - 1 => '1(?:5|8[059]0)', + 0 => '8', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php index 158a3ac76..dc165c610 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IL.php @@ -14,16 +14,15 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}|[2-689]\\d{3}', + 'NationalNumberPattern' => '1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}', 'PossibleLength' => array ( - 0 => 4, - 1 => 7, - 2 => 8, - 3 => 9, - 4 => 10, - 5 => 11, - 6 => 12, + 0 => 7, + 1 => 8, + 2 => 9, + 3 => 10, + 4 => 11, + 5 => 12, ), 'PossibleLengthLocalOnly' => array ( @@ -31,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:153\\d{1,2}|[2-489])\\d{7}', + 'NationalNumberPattern' => '(?:153\\d\\d?|[2-489])\\d{7}', 'ExampleNumber' => '21234567', 'PossibleLength' => array ( @@ -46,7 +45,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '5(?:[0-489][2-9]\\d|5(?:01|2[2-5]|3[23]|4[45]|5[015689]|6[6-8]|7[0-267]|8[7-9]|9[1-9])|6\\d{2})\\d{5}', + 'NationalNumberPattern' => '5(?:(?:[0-489][2-9]|6\\d)\\d|5(?:01|2[2-5]|3[23]|4[45]|5[05689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}', 'ExampleNumber' => '502345678', 'PossibleLength' => array ( @@ -58,7 +57,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:80[019]\\d{3}|255)\\d{3}', + 'NationalNumberPattern' => '1(?:255|80[019]\\d{3})\\d{3}', 'ExampleNumber' => '1800123456', 'PossibleLength' => array ( @@ -71,13 +70,12 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:212|(?:9(?:0[01]|19)|200)\\d{2})\\d{4}', + 'NationalNumberPattern' => '1(?:2(?:00\\d\\d|12)|9(?:0[01]|19)\\d\\d)\\d{4}', 'ExampleNumber' => '1919123456', 'PossibleLength' => array ( 0 => 8, - 1 => 9, - 2 => 10, + 1 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -107,7 +105,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '7(?:18\\d|2[23]\\d|3[237]\\d|47\\d|6[58]\\d|7\\d{2}|8(?:2\\d|33|55|77|81)|9[2579]\\d)\\d{5}', + 'NationalNumberPattern' => '7(?:(?:18|2[23]|3[237]|47|6[58]|7\\d|9[2357-9])\\d|8(?:2\\d|33|55|77|81))\\d{5}', 'ExampleNumber' => '771234567', 'PossibleLength' => array ( @@ -129,12 +127,11 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '[2-689]\\d{3}|1599\\d{6}', + 'NationalNumberPattern' => '1599\\d{6}', 'ExampleNumber' => '1599123456', 'PossibleLength' => array ( - 0 => 4, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -155,11 +152,10 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '1700\\d{6}|[2-689]\\d{3}', + 'NationalNumberPattern' => '1700\\d{6}', 'PossibleLength' => array ( - 0 => 4, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -175,7 +171,19 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-489])(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '125', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( @@ -185,9 +193,21 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( - 'pattern' => '([57]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{2})(\\d{2})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '121', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( @@ -197,21 +217,33 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 4 => array ( - 'pattern' => '(153)(\\d{1,2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', + 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '153', + 0 => '12', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => + 5 => array ( - 'pattern' => '(1)([7-9]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{6})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '159', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1-$2-$3-$4', 'leadingDigitsPatterns' => array ( @@ -221,77 +253,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => - array ( - 'pattern' => '(1255)(\\d{3})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => - array ( - 0 => '125', - 1 => '1255', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(1200)(\\d{3})(\\d{3})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '120', - 1 => '1200', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(1212)(\\d{2})(\\d{2})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '121', - 1 => '1212', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 7 => array ( - 'pattern' => '(1599)(\\d{6})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => - array ( - 0 => '159', - 1 => '1599', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(151)(\\d{1,2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})', 'format' => '$1-$2 $3-$4', 'leadingDigitsPatterns' => array ( - 0 => '151', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 9 => - array ( - 'pattern' => '(\\d{4})', - 'format' => '*$1', - 'leadingDigitsPatterns' => - array ( - 0 => '[2-689]', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IM.php index f6b5853b5..33855c9c2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IM.php @@ -60,7 +60,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:872299|90[0167]624)\\d{4}', + 'NationalNumberPattern' => '(?:8(?:4(?:40[49]06|5624\\d)|7(?:0624|2299)\\d)|90[0167]624\\d)\\d{3}', 'ExampleNumber' => '9016247890', 'PossibleLength' => array ( @@ -71,10 +71,9 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '8(?:4(?:40[49]06|5624\\d)|70624\\d)\\d{3}', - 'ExampleNumber' => '8456247890', 'PossibleLength' => array ( + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -114,7 +113,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}', + 'NationalNumberPattern' => '(?:3(?:(?:08162|3\\d{4}|7(?:0624|2299))\\d|4(?:40[49]06|5624\\d))|55\\d{5})\\d{3}', 'ExampleNumber' => '5512345678', 'PossibleLength' => array ( @@ -147,7 +146,8 @@ return array ( 'countryCode' => 44, 'internationalPrefix' => '00', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|([5-8]\\d{5})$', + 'nationalPrefixTransformRule' => '1624$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IN.php index cead08e13..ab9bee212 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IN.php @@ -32,7 +32,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:11|2[02]|33|4[04]|79|80)[2-7]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|[36][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|[57][2-689]|6[24-578]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}', + 'NationalNumberPattern' => '(?:1(?:1[2-7]\\d\\d|2(?:[0-249][2-7]\\d|[35-8]\\d[2-7])|3(?:[0-25][2-7]\\d|[346-9]\\d[2-7])|4(?:[145][2-7]\\d|[236-9]\\d[2-7])|[59](?:[0235-9]\\d[2-7]|[14][2-7]\\d)|6(?:[014][2-7]\\d|[235-9]\\d[2-7])|7(?:(?:0[24]|[1257][2-7])\\d|[34689]\\d[2-7])|8(?:[01346][2-7]\\d|[257-9]\\d[2-7]))|2(?:[02][2-7]\\d\\d|1(?:[134689]\\d[2-7]|[257][2-7]\\d)|3(?:[013][2-7]\\d|[24-8]\\d[2-7])|4(?:[01][2-7]\\d|[2-8]\\d[2-7])|5(?:[0137][2-7]\\d|[25689]\\d[2-7])|6(?:[0158][2-7]\\d|[2-4679]\\d[2-7])|7(?:[13-79]\\d[2-7]|8[2-7]\\d)|8(?:(?:0[13468]|[1568][2-7])\\d|[2-479]\\d[2-7])|9(?:(?:0\\d|[14][2-7])\\d|[235-9]\\d[2-7]))|3(?:(?:01|1[79])\\d[2-7]|2(?:[1-5]\\d[2-7]|6[2-7]\\d)|3[2-7]\\d\\d|4(?:[13][2-7]\\d|2(?:[0189][2-7]|[2-7]\\d)|[5-8]\\d[2-7])|5(?:[125689]\\d[2-7]|[34][2-7]\\d)|6(?:[01489][2-7]\\d|[235-7]\\d[2-7])|7(?:[02-46][2-7]\\d|[157-9]\\d[2-7])|8(?:(?:0\\d|[159][2-7])\\d|[2-46-8]\\d[2-7]))|4(?:[04][2-7]\\d\\d|1(?:[14578]\\d[2-7]|[36][2-7]\\d)|2(?:(?:0[24]|[1-47][2-7])\\d|[5689]\\d[2-7])|3(?:[15][2-7]\\d|[2-467]\\d[2-7])|5(?:[12][2-7]\\d|[4-7]\\d[2-7])|6(?:[0-26-9][2-7]\\d|[35]\\d[2-7])|7(?:(?:[014-9][2-7]|2[2-8])\\d|3\\d[2-7])|8(?:[013-57][2-7]\\d|[2689]\\d[2-7])|9(?:[014-7][2-7]\\d|[2389]\\d[2-7]))|5(?:1(?:[025][2-7]\\d|[146-9]\\d[2-7])|2(?:[14-8]\\d[2-7]|2[2-7]\\d)|3(?:[1346]\\d[2-7]|[25][2-7]\\d)|4(?:[14-69]\\d[2-7]|[28][2-7]\\d)|5(?:(?:1[2-7]|2[1-7])\\d|[46]\\d[2-7])|6(?:[146-9]\\d[2-7]|[25][2-7]\\d)|7(?:1[2-7]\\d|[2-4]\\d[2-7])|8(?:1[2-7]\\d|[2-8]\\d[2-7])|9(?:[15][2-7]\\d|[246]\\d[2-7]))|6(?:1(?:[1358]\\d[2-7]|2[2-7]\\d)|2(?:1[2-7]\\d|[2457]\\d[2-7])|3(?:1[2-7]\\d|[2-4]\\d[2-7])|4(?:1[2-7]\\d|[235-7]\\d[2-7])|5(?:[17][2-7]\\d|[2-689]\\d[2-7])|6(?:[13][2-7]\\d|[24578]\\d[2-7])|7(?:1[2-7]\\d|[235689]\\d[2-7]|4(?:[0189][2-7]|[2-7]\\d))|8(?:0[2-7]\\d|[1-6]\\d[2-7]))|7(?:1(?:[013-9]\\d[2-7]|2[2-7]\\d)|2(?:[0235-9]\\d[2-7]|[14][2-7]\\d)|3(?:[134][2-7]\\d|[2679]\\d[2-7])|4(?:[1-35689]\\d[2-7]|[47][2-7]\\d)|5(?:[15][2-7]\\d|[2-46-9]\\d[2-7])|[67](?:[02-9]\\d[2-7]|1[2-7]\\d)|8(?:(?:[013-7]\\d|2[0-6])[2-7]|8(?:[0189][2-7]|[2-7]\\d))|9(?:[0189]\\d[2-7]|[2-7]\\d\\d))|8(?:0[2-7]\\d\\d|1(?:[1357-9]\\d[2-7]|6[2-7]\\d)|2(?:[014][2-7]\\d|[235-8]\\d[2-7])|3(?:[03-57-9]\\d[2-7]|[126][2-7]\\d)|(?:4[0-24-9]|5\\d)\\d[2-7]|6(?:[136][2-7]\\d|[2457-9]\\d[2-7])|7(?:[078][2-7]\\d|[1-6]\\d[2-7])|8(?:[1256]\\d[2-7]|[34][2-7]\\d)|9(?:1[2-7]\\d|[2-4]\\d[2-7])))\\d{5}', 'ExampleNumber' => '7410410123', 'PossibleLength' => array ( @@ -47,7 +47,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6(?:0(?:0[0-3569]|26|33)\\d|1279|2(?:[06]\\d|3[02589]|8[0-479]|9[0-6])\\d|3(?:0[0-469]\\d|5(?:0[0-6]|[1-9]\\d)|6[0-49]\\d|7[015-9]\\d|[89]\\d{2})|9(?:0[019]|13)\\d)|7(?:0\\d{3}|19[0-5]\\d|2(?:[0235679]\\d{2}|[14][017-9]\\d|8(?:[0-59]\\d|[678][089]))|3(?:[05-8]\\d{2}|1(?:[089]\\d|11|7[02-8])|2(?:[0-49][089]|[5-8]\\d)|3[017-9]\\d|4(?:[07-9]\\d|11)|9(?:[016-9]\\d|[2-5][089]))|4(?:0\\d{2}|1(?:[015-9]\\d|[23][089]|4[089])|2(?:0[089]|[1-7][089]|[89]\\d)|3(?:[0-8][089]|9\\d)|4(?:[089]\\d|11|7[02-8])|[56]\\d[089]|7(?:[089]\\d|11|7[02-8])|8(?:[0-24-7][089]|[389]\\d)|9(?:[0-6][089]|7[089]|[89]\\d))|5(?:[0346-8]\\d{2}|1(?:[07-9]\\d|11)|2(?:[04-9]\\d|[123][089])|5[017-9]\\d|9(?:[0-6][089]|[7-9]\\d))|6(?:0(?:[0-47]\\d|[5689][089])|(?:1[0-257-9]|[6-9]\\d)\\d|2(?:[0-4]\\d|[5-9][089])|3(?:[02-8][089]|[19]\\d)|4\\d[089]|5(?:[0-367][089]|[4589]\\d))|7(?:0(?:0[02-9]|[13-7][089]|[289]\\d)|[1-9]\\d{2})|8(?:[0-79]\\d{2}|8(?:[089]\\d|11|7[02-9]))|9(?:[089]\\d{2}|313|7(?:[02-8]\\d|9[07-9])))|8(?:0(?:[01589]\\d{2}|6[67]\\d|7(?:[02-8]\\d|9[04-9]))|1(?:[0-57-9]\\d{2}|6(?:[089]\\d|7[02-8]))|2(?:0(?:[089]\\d|7[02-8])|[14](?:[089]\\d|7[02-8])|[235-9]\\d{2})|3(?:[0357-9]\\d{2}|1(?:[089]\\d|7[02-8])|2(?:[089]\\d|7[02-8])|4\\d{2}|6(?:[089]\\d|7[02-8]))|[45]\\d{3}|6(?:[02457-9]\\d{2}|1(?:[089]\\d|7[02-8])|3(?:[089]\\d|7[02-8])|6(?:[08]\\d|7[02-8]|9\\d))|7(?:0[07-9]\\d|[1-69]\\d{2}|[78](?:[089]\\d|7[02-8]))|8(?:[0-25-9]\\d{2}|3(?:[089]\\d|7[02-8])|4(?:[0489]\\d|7[02-8]))|9(?:[02-9]\\d{2}|1(?:[0289]\\d|7[02-8])))|9\\d{4})\\d{5}', + 'NationalNumberPattern' => '(?:6(?:(?:0(?:0[0-3569]|26|33)|2(?:[06]\\d|3[02589]|8[0-479]|9[0-79])|9(?:0[019]|13))\\d|1279|3(?:(?:0[0-79]|6[0-4679]|7[0-24-9]|[89]\\d)\\d|5(?:0[0-6]|[1-9]\\d)))|7(?:(?:0\\d\\d|19[0-5])\\d|2(?:(?:[0235-79]\\d|[14][017-9])\\d|8(?:[0-59]\\d|[6-8][089]))|3(?:(?:[05-8]\\d|3[017-9])\\d|1(?:[089]\\d|11|7[02-8])|2(?:[0-49][089]|[5-8]\\d)|4(?:[07-9]\\d|11)|9(?:[016-9]\\d|[2-5][089]))|4(?:0\\d\\d|1(?:[015-9]\\d|[2-4][089])|[29](?:[0-7][089]|[89]\\d)|3(?:[0-8][089]|9\\d)|[47](?:[089]\\d|11|7[02-8])|[56]\\d[089]|8(?:[0-24-7][089]|[389]\\d))|5(?:(?:[0346-8]\\d|5[017-9])\\d|1(?:[07-9]\\d|11)|2(?:[04-9]\\d|[1-3][089])|9(?:[0-6][089]|[7-9]\\d))|6(?:0(?:[0-47]\\d|[5689][089])|(?:1[0-257-9]|[6-9]\\d)\\d|2(?:[0-4]\\d|[5-9][089])|3(?:[02-8][089]|[19]\\d)|4\\d[089]|5(?:[0-367][089]|[4589]\\d))|7(?:0(?:0[02-9]|[13-7][089]|[289]\\d)|[1-9]\\d\\d)|8(?:[0-79]\\d\\d|8(?:[089]\\d|11|7[02-9]))|9(?:[089]\\d\\d|313|7(?:[02-8]\\d|9[07-9])))|8(?:0(?:(?:[01589]\\d|6[67])\\d|7(?:[02-8]\\d|9[04-9]))|1(?:[0-57-9]\\d\\d|6(?:[089]\\d|7[02-8]))|2(?:[014](?:[089]\\d|7[02-8])|[235-9]\\d\\d)|3(?:[03-57-9]\\d\\d|[126](?:[089]\\d|7[02-8]))|[45]\\d{3}|6(?:[02457-9]\\d\\d|[136](?:[089]\\d|7[02-8]))|7(?:(?:0[07-9]|[1-69]\\d)\\d|[78](?:[089]\\d|7[02-8]))|8(?:[0-25-9]\\d\\d|3(?:[089]\\d|7[02-8])|4(?:[0489]\\d|7[02-8]))|9(?:[02-9]\\d\\d|1(?:[0289]\\d|7[02-8])))|9\\d{4})\\d{5}', 'ExampleNumber' => '8123456789', 'PossibleLength' => array ( @@ -59,7 +59,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '00800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))', + 'NationalNumberPattern' => '(?:00800\\d|1(?:600|80[03]\\d{3}))\\d{6}|1800\\d{4,8}', 'ExampleNumber' => '1800123456', 'PossibleLength' => array ( @@ -146,7 +146,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '00800\\d{7}|1(?:600\\d{6}|8(?:0(?:0\\d{4,9}|3\\d{9})|6(?:0\\d{7}|[12]\\d{9})))', + 'NationalNumberPattern' => '(?:00800\\d|1(?:600|8(?:0[03]\\d\\d|6(?:0|[12]\\d\\d))\\d))\\d{6}|1800\\d{4,8}', 'PossibleLength' => array ( ), @@ -168,25 +168,22 @@ return array ( 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '561', - 1 => '5616', - 2 => '56161', + 0 => '5[0236-8]', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), 1 => array ( - 'pattern' => '(\\d{5})(\\d{5})', + 'pattern' => '(\\d{4})(\\d{4,5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '6(?:0[023]|12|2[03689]|3[05-9]|9[019])|7(?:[02-8]|19|9[037-9])|8(?:0[015-9]|[1-9])|9', - 1 => '6(?:0(?:0|26|33)|127|2(?:[06]|3[02589]|8[0-379]|9[0-46])|3(?:0[0-469]|5[0-46-9]|6[0-49]|7[015-9]|[89])|9[019])|7(?:[07]|19[0-5]|2(?:[0235-9]|[14][017-9])|3(?:[025-9]|[134][017-9])|4(?:[0-35689]|[47][017-9])|5(?:[02-46-9]|[15][017-9])|6(?:[02-9]|1[0-257-9])|8(?:[0-79]|8[0189])|9(?:[089]|31|7[02-9]))|8(?:0(?:[01589]|6[67]|7[02-9])|1(?:[0-57-9]|6[07-9])|2(?:[014][07-9]|[235-9])|3(?:[03-57-9]|[126][07-9])|[45]|6(?:[02457-9]|[136][07-9])|7(?:[078][07-9]|[1-69])|8(?:[0-25-9]|3[07-9]|4[047-9])|9(?:[02-9]|1[027-9]))|9', - 2 => '6(?:0(?:0|26|33)|1279|2(?:[06]|3[02589]|8[0-379]|9[0-46])|3(?:0[0-469]|5[0-46-9]|6[0-49]|7[015-9]|[89])|9[019])|7(?:0|19[0-5]|2(?:[0235-79]|[14][017-9]|8(?:[0-69]|[78][089]))|3(?:[05-8]|1(?:[0189]|7[02-9])|2(?:[0-49][089]|[5-8])|3[017-9]|4(?:[07-9]|11)|9(?:[01689]|[2-5][089]|7[0189]))|4(?:[056]|1(?:[0135-9]|[24][089])|[29](?:[0-7][089]|[89])|3(?:[0-8][089]|9)|[47](?:[089]|11|7[02-8])|8(?:[0-24-7][089]|[389]))|5(?:[0346-9]|[15][017-9]|2(?:[03-9]|[12][089]))|6(?:[0346-9]|1[0-257-9]|2(?:[0-4]|[5-9][089])|5(?:[0-367][089]|[4589]))|7(?:0(?:[02-9]|1[089])|[1-9])|8(?:[0-79]|8(?:0[0189]|11|8[013-9]|9))|9(?:[089]|313|7(?:[02-8]|9[07-9])))|8(?:0(?:[01589]|6[67]|7(?:[02-8]|9[04-9]))|1(?:[0-57-9]|6(?:[089]|7[02-8]))|2(?:[014](?:[089]|7[02-8])|[235-9])|3(?:[03-57-9]|[126](?:[089]|7[02-8]))|[45]|6(?:[02457-9]|[136](?:[089]|7[02-8]))|7(?:0[07-9]|[1-69]|[78](?:[089]|7[02-8]))|8(?:[0-25-9]|3(?:[089]|7[02-8])|4(?:[0489]|7[02-8]))|9(?:[02-9]|1(?:[0289]|7[02-8])))|9', + 0 => '180', + 1 => '1800', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), @@ -196,7 +193,9 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '11|2[02]|33|4[04]|79[1-9]|80[2-46]', + 0 => '11|2[02]|33|4[04]|79[1-7]|80[2-46]', + 1 => '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', + 2 => '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -208,7 +207,9 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68][1-9]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)', + 0 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)', + 1 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12[2-7]|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1[2-7]|[34][2-6])|4[47][2-7]|61[346]|88[0-8])|8(?:(?:16|2[014]|3[126]|6[136])[2-7]|7(?:0[2-6]|[78][2-7])|8(?:3[2-7]|4[235-7])|91[3-7])', + 2 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1(?:[2-6]|71)|[34][2-6])|4[47](?:[2-6]|7[19])|61[346]|88(?:[01][2-7]|[2-7]|82))|8(?:(?:16|2[014]|3[126]|6[136])(?:[2-6]|7[19])|7(?:0[2-6]|[78](?:[2-6]|7[19]))|8(?:3(?:[2-6]|7[19])|4(?:[2356]|7[19]))|91(?:[3-6]|7[19]))', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -220,19 +221,177 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[23579]|[468][1-9])|[2-8]', + 0 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', + 1 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', + 2 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|(?:28[6-8]|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7])[2-7]|3(?:179|(?:2[0-49]|9[2-57])[2-7]))|807(?:1|9[1-3])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), 5 => + array ( + 'pattern' => '(\\d{5})(\\d{5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[6-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 6 => + array ( + 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '16', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 7 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '14', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 8 => + array ( + 'pattern' => '(\\d{4})(\\d{2,4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '180', + 1 => '1800', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 9 => + array ( + 'pattern' => '(\\d{4})(\\d{3,4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '186', + 1 => '1860', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 10 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '008', + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 11 => + array ( + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + ), + 'intlNumberFormat' => + array ( + 0 => + array ( + 'pattern' => '(\\d{8})', + 'format' => '$1', + 'leadingDigitsPatterns' => + array ( + 0 => '5[0236-8]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 1 => + array ( + 'pattern' => '(\\d{4})(\\d{4,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '180', + 1 => '1800', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '11|2[02]|33|4[04]|79[1-7]|80[2-46]', + 1 => '11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])', + 2 => '11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1|9[15])|6(?:12|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)', + 1 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12[2-7]|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1[2-7]|[34][2-6])|4[47][2-7]|61[346]|88[0-8])|8(?:(?:16|2[014]|3[126]|6[136])[2-7]|7(?:0[2-6]|[78][2-7])|8(?:3[2-7]|4[235-7])|91[3-7])', + 2 => '1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6(?:0[2-7]|[1-9])|7[1257]|8(?:[06][2-7]|[1-57-9]))|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5(?:1|2[2-7])|[78]1|9[15])|6(?:12(?:[2-6]|7[0-8])|[2-4]1|5[17]|6[13]|7[14]|80)|7(?:12|(?:2[14]|5[15])[2-6]|3(?:1(?:[2-6]|71)|[34][2-6])|4[47](?:[2-6]|7[19])|61[346]|88(?:[01][2-7]|[2-7]|82))|8(?:(?:16|2[014]|3[126]|6[136])(?:[2-6]|7[19])|7(?:0[2-6]|[78](?:[2-6]|7[19]))|8(?:3(?:[2-6]|7[19])|4(?:[2356]|7[19]))|91(?:[3-6]|7[19]))', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 4 => + array ( + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|[4-8])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807', + 1 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]', + 2 => '1(?:[23579]|4[236-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|[4-8])|7(?:1(?:[013-8]|9[6-9])|(?:28[6-8]|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7])[2-7]|3(?:179|(?:2[0-49]|9[2-57])[2-7]))|807(?:1|9[1-3])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 5 => + array ( + 'pattern' => '(\\d{5})(\\d{5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[6-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -244,39 +403,13 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '140', + 0 => '14', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), 7 => - array ( - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '160', - 1 => '1600', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 8 => - array ( - 'pattern' => '(\\d{4})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '180', - 1 => '1800', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 9 => array ( 'pattern' => '(\\d{4})(\\d{2,4})(\\d{4})', 'format' => '$1 $2 $3', @@ -285,39 +418,23 @@ return array ( 0 => '180', 1 => '1800', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 10 => - array ( - 'pattern' => '(\\d{4})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '186', - 1 => '1860', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 11 => + 8 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '18[06]', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), ), - 'intlNumberFormat' => - array ( - ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => true, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IO.php index e3c6aab77..6012ee002 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IO.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '3', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IQ.php index e37b4aee9..657c8cc9f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IQ.php @@ -154,7 +154,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -166,7 +166,7 @@ return array ( ), 1 => array ( - 'pattern' => '([2-6]\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -178,7 +178,7 @@ return array ( ), 2 => array ( - 'pattern' => '(7\\d{2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php index 8260f14ad..caf7d115b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IR.php @@ -14,7 +14,24 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '[1-9]\\d{9}|[1-8]\\d{5,6}', + 'NationalNumberPattern' => '[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}', + 'PossibleLength' => + array ( + 0 => 4, + 1 => 5, + 2 => 6, + 3 => 7, + 4 => 10, + ), + 'PossibleLengthLocalOnly' => + array ( + 0 => 8, + ), + ), + 'fixedLine' => + array ( + 'NationalNumberPattern' => '(?:(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])\\d{4}|94(?:(?:000|(?:11|2\\d)\\d|30[01])\\d|4(?:111|40\\d)))\\d{4}|(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[16]|[289]\\d?)\\d{3}', + 'ExampleNumber' => '2123456789', 'PossibleLength' => array ( 0 => 6, @@ -28,23 +45,9 @@ return array ( 2 => 8, ), ), - 'fixedLine' => - array ( - 'NationalNumberPattern' => '(?:(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:\\d{8}|(?:[16]|[289]\\d?)\\d{3}))|94(?:000|11[0-7]|2\\d{2}|30[01]|4(?:11|40))\\d{5}', - 'ExampleNumber' => '2123456789', - 'PossibleLength' => - array ( - ), - 'PossibleLengthLocalOnly' => - array ( - 0 => 4, - 1 => 5, - 2 => 8, - ), - ), 'mobile' => array ( - 'NationalNumberPattern' => '9(?:0(?:[1-35]\\d{2}|44\\d)|[13]\\d{3}|2[0-2]\\d{2}|9(?:[01]\\d{2}|44\\d|8(?:10|88)|9(?:0[013]|1[134]|21|9[89])))\\d{5}', + 'NationalNumberPattern' => '9(?:(?:0(?:[1-35]\\d|44)|(?:[13]\\d|2[0-2])\\d)\\d|9(?:(?:[01]\\d|44)\\d|510|8(?:1[01]|88)|9(?:0[013]|1[0134]|21|77|9[6-9])))\\d{5}', 'ExampleNumber' => '9123456789', 'PossibleLength' => array ( @@ -118,9 +121,12 @@ return array ( ), 'uan' => array ( + 'NationalNumberPattern' => '96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])', + 'ExampleNumber' => '9601', 'PossibleLength' => array ( - 0 => -1, + 0 => 4, + 1 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -138,10 +144,12 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '(?:9411[1-7]|94440)\\d{5}', + 'NationalNumberPattern' => '9(?:4(?:11[1-7]|440)\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))', 'PossibleLength' => array ( - 0 => 10, + 0 => 4, + 1 => 5, + 2 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -157,11 +165,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4,5})', + 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '[1-8]', + 0 => '96', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -173,7 +181,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[1-8]', + 0 => '(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -181,11 +189,11 @@ return array ( ), 2 => array ( - 'pattern' => '(\\d{4,5})', - 'format' => '$1', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '96', + 0 => '9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -193,11 +201,11 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '9', + 0 => '[1-8]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IS.php index fd5598782..d034c439a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IS.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '38[589]\\d{6}|(?:6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-8]\\d|9[0-3])|8(?:2[0-59]|[3469]\\d|5[1-9]|8[28]))\\d{4}', + 'NationalNumberPattern' => '(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[027-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-8]\\d|9[0-3])|8(?:2[0-59]|[3469]\\d|5[1-9]|8[28]))\\d{4}', 'ExampleNumber' => '6111234', 'PossibleLength' => array ( @@ -149,7 +149,7 @@ return array ( ), 'id' => 'IS', 'countryCode' => 354, - 'internationalPrefix' => '1(?:0(?:01|10|20)|100)|00', + 'internationalPrefix' => '00|1(?:0(?:01|[12]0)|100)', 'preferredInternationalPrefix' => '00', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => @@ -168,7 +168,7 @@ return array ( ), 1 => array ( - 'pattern' => '(3\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php index 7ad3cba12..00b57b069 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_IT.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '0(?:2\\d{4,9}|(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])\\d|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)\\d|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])\\d|6(?:[0-57-9]\\d{2}|6(?:[0-8]\\d|9[0-79]))|7(?:[0159]\\d|2[12]|3[1-7]|4[2346]|6[13569]|7[13-6]|8[1-59])\\d|8(?:[0159]\\d|2[34578]|3[1-356]|[6-8][1-5])\\d|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6])\\d)\\d{1,6})', + 'NationalNumberPattern' => '0(?:(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d|6(?:[0-57-9]\\d\\d|6(?:[0-8]\\d|9[0-79])))\\d{1,6}', 'ExampleNumber' => '0212345678', 'PossibleLength' => array ( @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '3(?:1\\d{8}|[245-9]\\d{7,8}|3\\d{7,9})', + 'NationalNumberPattern' => '33\\d{9}|3[1-9]\\d{8}|3[2-9]\\d{7}', 'ExampleNumber' => '3123456789', 'PossibleLength' => array ( @@ -55,7 +55,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80(?:0\\d{6}|3\\d{3})', + 'NationalNumberPattern' => '80(?:0\\d{3}|3)\\d{3}', 'ExampleNumber' => '800123456', 'PossibleLength' => array ( @@ -68,7 +68,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})', + 'NationalNumberPattern' => '(?:(?:0878|1(?:44|6[346])\\d)\\d\\d|89(?:2|(?:4[5-9]|(?:5[5-9]|9)\\d\\d)\\d))\\d{3}|89[45][0-4]\\d\\d', 'ExampleNumber' => '899123456', 'PossibleLength' => array ( @@ -83,7 +83,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '84(?:[08]\\d{6}|[17]\\d{3})', + 'NationalNumberPattern' => '84(?:[08]\\d{3}|[17])\\d{3}', 'ExampleNumber' => '848123456', 'PossibleLength' => array ( @@ -168,31 +168,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '0[26]|55', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(0[26])(\\d{4})(\\d{5})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '0[26]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(0[26])(\\d{4,6})', + 'pattern' => '(\\d{2})(\\d{4,6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -202,19 +178,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '(0\\d{2})(\\d{3,4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '0[13-57-9][0159]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => + 1 => array ( 'pattern' => '(\\d{3})(\\d{3,6})', 'format' => '$1 $2', @@ -227,13 +191,49 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 2 => array ( - 'pattern' => '(0\\d{3})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{2,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '0(?:[13-579][2-46-8]|8[236-8])', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{4})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '894', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '0[13-57-9][2-46-8]', + 0 => '0[26]|5', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:44|[67]|99)|[38]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -241,11 +241,11 @@ return array ( ), 6 => array ( - 'pattern' => '(0\\d{3})(\\d{2,6})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{3,4})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '0[13-57-9][2-46-8]', + 0 => '0[13-57-9][0159]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -253,12 +253,11 @@ return array ( ), 7 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[13]|8(?:00|4[08]|9[59])', - 1 => '[13]|8(?:00|4[08]|9(?:5[5-9]|9))', + 0 => '3', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -266,12 +265,11 @@ return array ( ), 8 => array ( - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{4})(\\d{5})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '894', - 1 => '894[5-9]', + 0 => '0[26]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -279,11 +277,11 @@ return array ( ), 9 => array ( - 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '3', + 0 => '0', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JE.php index 5a019a692..d51237d9d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JE.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:509\\d|7(?:00[378]|97[7-9])|829\\d|937\\d)\\d{5}', + 'NationalNumberPattern' => '7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}', 'ExampleNumber' => '7797712345', 'PossibleLength' => array ( @@ -60,7 +60,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:871206|90(?:066[59]|1810|71(?:07|55)))\\d{4}', + 'NationalNumberPattern' => '(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}', 'ExampleNumber' => '9018105678', 'PossibleLength' => array ( @@ -71,10 +71,9 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\d{4}', - 'ExampleNumber' => '8447034567', 'PossibleLength' => array ( + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -104,7 +103,7 @@ return array ( ), 'pager' => array ( - 'NationalNumberPattern' => '76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', + 'NationalNumberPattern' => '76(?:0[0-2]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}', 'ExampleNumber' => '7640123456', 'PossibleLength' => array ( @@ -115,7 +114,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}', + 'NationalNumberPattern' => '(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}', 'ExampleNumber' => '5512345678', 'PossibleLength' => array ( @@ -148,7 +147,8 @@ return array ( 'countryCode' => 44, 'internationalPrefix' => '00', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|([0-24-8]\\d{5})$', + 'nationalPrefixTransformRule' => '1534$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php index b1a9efe18..709abf7e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JM.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '876(?:2[14-9]\\d|[348]\\d{2}|5(?:0[3-9]|[2-57-9]\\d|6[0-24-9])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}', + 'NationalNumberPattern' => '876(?:(?:2[14-9]|[348]\\d)\\d|5(?:0[3-9]|[2-57-9]\\d|6[0-24-9])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}', 'ExampleNumber' => '8762101234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JO.php index 962d94049..b6e74c801 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JO.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:6(?:2[0-35-9]|3[0-57-8]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[57][023]|6[03])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[50]0|3(?:00|33)|4(?:0[0125]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[17-8]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[02-39]))|87(?:[02]0|7[08]|90))\\d{4}', + 'NationalNumberPattern' => '(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[57][023]|6[03])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[05]0|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:[029]0|7[08]))\\d{4}', 'ExampleNumber' => '62001234', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:55[0-49]|7[025-9]\\d|8[0-25-9]\\d|9[0-25-9]\\d)\\d{5}', + 'NationalNumberPattern' => '7(?:55[0-49]|(?:7[025-9]|[89][0-25-9])\\d)\\d{5}', 'ExampleNumber' => '790123456', 'PossibleLength' => array ( @@ -172,7 +172,19 @@ return array ( ), 1 => array ( - 'pattern' => '(7)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{5,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[89]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -182,25 +194,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( 'pattern' => '(\\d{2})(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '70', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{3})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '8[0158]|9', + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php index 388a19b46..d6e9cb591 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_JP.php @@ -34,7 +34,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|2[2-9]\\d|[36][1-9]\\d|4(?:6[02-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}', + 'NationalNumberPattern' => '(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}', 'ExampleNumber' => '312345678', 'PossibleLength' => array ( @@ -58,7 +58,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '120\\d{6}|800\\d{7}|00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})', + 'NationalNumberPattern' => '(?:00(?:(?:37|66)\\d{4,11}|777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)|(?:120|800\\d)\\d{4})\\d\\d', 'ExampleNumber' => '120123456', 'PossibleLength' => array ( @@ -149,7 +149,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '00(?:37\\d{6,13}|66\\d{6,13}|777(?:[01]\\d{2}|5\\d{3}|8\\d{4})|882[1245]\\d{4})', + 'NationalNumberPattern' => '00(?:(?:37|66)\\d{4,11}|777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d', 'PossibleLength' => array ( ), @@ -166,6 +166,21 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{4})(\\d{4})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '007', + 1 => '0077', + 2 => '00777', + 3 => '00777[01]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1-$2-$3', @@ -177,122 +192,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '800', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 2 => - array ( - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => - array ( - 0 => '007', - 1 => '0077', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{4})(\\d{2})(\\d{3,4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '007', - 1 => '0077', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '008', - 1 => '0088', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '00[36]', - 1 => '00(?:37|66)', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(\\d{4})(\\d{4})(\\d{4,5})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '00[36]', - 1 => '00(?:37|66)', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 7 => - array ( - 'pattern' => '(\\d{4})(\\d{5})(\\d{5,6})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '00[36]', - 1 => '00(?:37|66)', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(\\d{4})(\\d{6})(\\d{6,7})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '00[36]', - 1 => '00(?:37|66)', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 9 => - array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '[2579]0|80[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 10 => array ( 'pattern' => '(\\d{4})(\\d)(\\d{4})', 'format' => '$1-$2-$3', @@ -306,22 +206,22 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 11 => + 3 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])', - 1 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))', - 2 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', - 3 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', + 0 => '1(?:[2-46]|5[2-8]|7[2-689]|8[2-7]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])', + 1 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))', + 2 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', + 3 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 12 => + 4 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1-$2-$3', @@ -329,13 +229,13 @@ return array ( array ( 0 => '1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)', 1 => '1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])', - 2 => '1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93(?:31|4))', + 2 => '1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 13 => + 5 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1-$2-$3', @@ -347,30 +247,126 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 14 => + 6 => array ( 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '3|4(?:2[09]|7[01])|6[1-9]', + 0 => '[36]|4(?:2[09]|7[01])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 15 => + 7 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[2479][1-9]', + 0 => '2[2-9]|4|7[235-9]|9[49]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 8 => + array ( + 'pattern' => '(\\d{4})(\\d{2})(\\d{3,4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '007', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 9 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '800', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 10 => + array ( + 'pattern' => '(\\d{4})(\\d{2})(\\d{4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '008', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 11 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '[2579]|80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 12 => + array ( + 'pattern' => '(\\d{4})(\\d{3})(\\d{3,4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 13 => + array ( + 'pattern' => '(\\d{4})(\\d{4})(\\d{4,5})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 14 => + array ( + 'pattern' => '(\\d{4})(\\d{5})(\\d{5,6})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 15 => + array ( + 'pattern' => '(\\d{4})(\\d{6})(\\d{6,7})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( @@ -387,30 +383,6 @@ return array ( 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '800', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', - 'format' => '$1-$2-$3', - 'leadingDigitsPatterns' => - array ( - 0 => '[2579]0|80[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => array ( 'pattern' => '(\\d{4})(\\d)(\\d{4})', 'format' => '$1-$2-$3', @@ -424,22 +396,22 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 2 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])', - 1 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))', - 2 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', - 3 => '1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', + 0 => '1(?:[2-46]|5[2-8]|7[2-689]|8[2-7]|9[1-578])|2(?:2[03-689]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])', + 1 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:[3-6][2-9]|7[2-6]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|4[2-69]|[5-7]))', + 2 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6[56]))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', + 3 => '1(?:[2-46]|5(?:[236-8]|[45][2-69])|7[2-689]|8[2-7]|9[1-578])|2(?:2(?:[04-689]|3[23])|3[3-58]|4[0-468]|5(?:[0468][2-9]|5[78]|7[2-4])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|[67]|8[14-7]|9(?:[4-7]|[89][2-8]))|7(?:2[15]|3[5-9]|4|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:20|[3578]|4[04-9]|6(?:5[25]|60)))|3(?:[3-6][2-9]|7(?:[2-5]|6[0-59])|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[024-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 3 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1-$2-$3', @@ -447,13 +419,13 @@ return array ( array ( 0 => '1|2(?:2[37]|5[5-9]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93)', 1 => '1|2(?:2[37]|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])', - 2 => '1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93(?:31|4))', + 2 => '1|2(?:2[37]|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:20|[68]|9[178])|64|7[347])|5[2-589]|60|8(?:2[124589]|3[279]|[46-9])|9(?:[235-8]|93[34])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 4 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1-$2-$3', @@ -465,13 +437,37 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => + 5 => array ( 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '3|4(?:2[09]|7[01])|6[1-9]', + 0 => '[36]|4(?:2[09]|7[01])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '2[2-9]|4|7[235-9]|9[49]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 7 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '800', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -479,11 +475,11 @@ return array ( ), 8 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[2479][1-9]', + 0 => '[2579]|80', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KE.php index 8da2ae926..806c107fb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KE.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '20\\d{6,7}|4(?:0\\d{6,7}|[136]\\d{7}|[245]\\d{5,7})|5(?:[08]\\d{7}|[1-79]\\d{5,7})|6(?:[01457-9]\\d{5,7}|2\\d{7}|6\\d{6,7})', + 'NationalNumberPattern' => '20\\d{6,7}|(?:4[0-6]|5\\d|6[0-24-9])\\d{7}|(?:4[0245]|6[014-9])\\d{6}|5[1-79]\\d{5,6}|(?:4[245]|6[01457-9])\\d{5}', 'ExampleNumber' => '202012345', 'PossibleLength' => array ( @@ -151,7 +151,7 @@ return array ( 'countryCode' => 254, 'internationalPrefix' => '000', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '005|0', + 'nationalPrefixForParsing' => '0', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KG.php index 53d200f3f..789252ce8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KG.php @@ -169,7 +169,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '3(?:1[36]|[2-9])', + 0 => '3', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -177,7 +177,7 @@ return array ( ), 2 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d)(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d)(\\d{2,3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KH.php index f45a550a2..5a1dee6ce 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KH.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:[237-9]|4[56]|5\\d|6\\d?)\\d{5}|23(?:4[234]|8\\d{2})\\d{4}', + 'NationalNumberPattern' => '(?:2(?:3(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)|[4-6](?:4[56]|[56]\\d)\\d)|(?:3[2-6]|4[2-4]|[5-7][2-5])(?:4[56]|[56]\\d)\\d)\\d{4}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[236-9]\\d{5}', 'ExampleNumber' => '23756789', 'PossibleLength' => array ( @@ -44,7 +44,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:1(?:[013-79]\\d|[28]\\d{1,2})|2[3-6]48|3(?:[18]\\d{2}|[2-6]48)|4[2-4]48|5[2-5]48|6(?:[016-9]\\d|[2-5]48)|7(?:[07-9]\\d|[16]\\d{2}|[2-5]48)|8(?:[013-79]\\d|8\\d{2})|9(?:6\\d{2}|7\\d{1,2}|[0-589]\\d))\\d{5}', + 'NationalNumberPattern' => '(?:(?:(?:1[28]|9[67])\\d|8(?:[013-79]|8\\d))\\d|(?:2[3-6]|4[2-4]|[56][2-5])48|3(?:[18]\\d\\d|[2-6]48)|7(?:(?:[07-9]|[16]\\d)\\d|[2-5]48))\\d{5}|(?:1\\d|6[016-9]|9[0-57-9])\\d{6}', 'ExampleNumber' => '91234567', 'PossibleLength' => array ( @@ -163,7 +163,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1\\d[1-9]|[2-9]', + 0 => '[1-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -171,12 +171,11 @@ return array ( ), 1 => array ( - 'pattern' => '(1[89]00)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[89]0', - 1 => '1[89]00', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KI.php index dc5954a78..57b4ad9f8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KI.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:[24]\\d|3[1-9]|50|8[0-5])\\d{3}|(?:65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d{2}|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500)))\\d{3}', + 'NationalNumberPattern' => '(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}', 'ExampleNumber' => '31234', 'PossibleLength' => array ( @@ -89,7 +89,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '30(?:0[01]\\d{2}|12(?:11|20))\\d{2}', + 'NationalNumberPattern' => '30(?:0[01]\\d\\d|12(?:11|20))\\d\\d', 'ExampleNumber' => '30010000', 'PossibleLength' => array ( @@ -142,6 +142,7 @@ return array ( 'id' => 'KI', 'countryCode' => 686, 'internationalPrefix' => '00', + 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KM.php index fcfe261bd..26ff00c2d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KM.php @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[3478]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KP.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KP.php index ba8a80b2d..4998b6a7c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KP.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{7}|85\\d{6}', + 'NationalNumberPattern' => '(?:2\\d|85)\\d{6}', 'ExampleNumber' => '21234567', 'PossibleLength' => array ( @@ -42,7 +42,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '19[123]\\d{7}', + 'NationalNumberPattern' => '19[1-3]\\d{7}', 'ExampleNumber' => '1921234567', 'PossibleLength' => array ( @@ -134,7 +134,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '2(?:[0-24-9]\\d{2}|3(?:[0-79]\\d|8[02-9]))\\d{4}', + 'NationalNumberPattern' => '2(?:[0-24-9]\\d\\d|3(?:[0-79]\\d|8[02-9]))\\d{4}', 'PossibleLength' => array ( 0 => 8, @@ -152,18 +152,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => array ( 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -175,7 +163,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', @@ -187,6 +175,18 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KR.php index c9277c9f4..419cadcf8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KR.php @@ -178,7 +178,7 @@ return array ( ), 'id' => 'KR', 'countryCode' => 82, - 'internationalPrefix' => '00(?:[1259]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))', + 'internationalPrefix' => '00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0(8[1-46-8]|85\\d{2})?', 'sameMobileAndFixedLinePattern' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KW.php index d8368a27c..1becd57cc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KW.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:[23]\\d{2}|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}', + 'NationalNumberPattern' => '2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}', 'ExampleNumber' => '22345678', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:5(?:[05]\\d{2}|1[0-7]\\d|2(?:22|5[25])|6[56]\\d)|6(?:0[034679]\\d|222|5[015-9]\\d|6\\d{2}|7(?:0[013-9]|[67]\\d)|9(?:[069]\\d|3[039]))|9(?:0[09]\\d|11[01]|22\\d|4[01479]\\d|55\\d|6[0679]\\d|7(?:02|[1-9]\\d)|8[057-9]\\d|9\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25]))|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|222|7(?:0[013-9]|[67]\\d)|9(?:[069]\\d|3[039]))|9(?:(?:0[09]|22|4[01479]|55|6[0679]|8[057-9]|9\\d)\\d|11[01]|7(?:02|[1-9]\\d)))\\d{4}', 'ExampleNumber' => '50012345', 'PossibleLength' => array ( @@ -152,7 +152,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[16]|2(?:[0-35-9]|4[0-35-9])|52[25]|9[0-24-9]', + 0 => '[169]|2(?:[235]|4[1-35-9])|52', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -164,7 +164,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '244|5(?:[015]|6[56])', + 0 => '[25]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KY.php index f3b892158..e3f355c8b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KY.php @@ -61,7 +61,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '900[2-9]\\d{6}|345976\\d{4}', + 'NationalNumberPattern' => '(?:345976|900[2-9]\\d\\d)\\d{4}', 'ExampleNumber' => '9002345678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KZ.php index f0ca0b127..6144f56cb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_KZ.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '33622\\d{5}|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9])|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[234]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[234]\\d|5[139])|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59)))\\d{5}', + 'NationalNumberPattern' => '(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9])|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}', 'ExampleNumber' => '7123456789', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:0[012578]|47|6[02-4]|7[15-8]|85)\\d{7}', + 'NationalNumberPattern' => '7(?:0[0-2578]|47|6[02-4]|7[15-8]|85)\\d{7}', 'ExampleNumber' => '7710009998', 'PossibleLength' => array ( @@ -153,6 +153,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '33|7', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LA.php index baee4c654..5f5a498a7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LA.php @@ -28,12 +28,11 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[13]|3(?:0\\d|[14])|[5-7][14]|41|8[1468])\\d{6}', + 'NationalNumberPattern' => '(?:2[13]|[35-7][14]|41|8[1468])\\d{6}', 'ExampleNumber' => '21212862', 'PossibleLength' => array ( 0 => 8, - 1 => 9, ), 'PossibleLengthLocalOnly' => array ( @@ -114,9 +113,11 @@ return array ( ), 'uan' => array ( + 'NationalNumberPattern' => '30\\d{7}', + 'ExampleNumber' => '301234567', 'PossibleLength' => array ( - 0 => -1, + 0 => 9, ), 'PossibleLengthLocalOnly' => array ( @@ -152,19 +153,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(20)(\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '20', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '([2-8]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -174,13 +163,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 1 => array ( - 'pattern' => '(30)(\\d{2})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '30', + 0 => '3', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '2', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LB.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LB.php index e31cbfbd6..ebfec2e89 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LB.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:[14-6]\\d{2}|7(?:[2-57]\\d|62|8[0-7]|9[04-9])|8[02-9]\\d|9\\d{2})\\d{4}', + 'NationalNumberPattern' => '(?:(?:[14-69]\\d|8[02-9])\\d|7(?:[2-57]\\d|62|8[0-7]|9[04-9]))\\d{4}', 'ExampleNumber' => '1123456', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:3\\d|7(?:[01]\\d|6[013-9]|8[89]|9[1-3])|81\\d)\\d{5}', + 'NationalNumberPattern' => '(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[1-3]))\\d{5}', 'ExampleNumber' => '71123456', 'PossibleLength' => array ( @@ -163,11 +163,11 @@ return array ( ), 1 => array ( - 'pattern' => '([7-9]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '7(?:[01]|6[013-9]|8[89]|9[1-3])|[89][01]', + 0 => '[7-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LC.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LC.php index 2f20cbc4e..69ca5a726 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LC.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '758(?:4(?:30|5[0-9]|6[2-9]|8[0-2])|57[0-2]|638)\\d{4}', + 'NationalNumberPattern' => '758(?:4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|638)\\d{4}', 'ExampleNumber' => '7584305678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LI.php index 583ce326b..a8713d434 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LI.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '6(?:5(?:09|1\\d|20)|6(?:0[0-6]|10|2[06-9]|39))\\d{5}|7(?:[37-9]\\d|42|56)\\d{4}', + 'NationalNumberPattern' => '(?:6(?:5(?:09|1\\d|20)|6(?:0[0-6]|10|2[06-9]|39))\\d|7(?:[37-9]\\d|42|56))\\d{4}', 'ExampleNumber' => '660234567', 'PossibleLength' => array ( @@ -49,7 +49,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80(?:02[28]|9\\d{2})\\d{2}', + 'NationalNumberPattern' => '80(?:02[28]|9\\d\\d)\\d\\d', 'ExampleNumber' => '8002222', 'PossibleLength' => array ( @@ -61,7 +61,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '90(?:02[258]|1(?:23|3[14])|66[136])\\d{2}', + 'NationalNumberPattern' => '90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d', 'ExampleNumber' => '9002222', 'PossibleLength' => array ( @@ -113,7 +113,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '870(?:28|87)\\d{2}', + 'NationalNumberPattern' => '870(?:28|87)\\d\\d', 'ExampleNumber' => '8702812', 'PossibleLength' => array ( @@ -149,7 +149,7 @@ return array ( 'countryCode' => 423, 'internationalPrefix' => '00', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0|10(?:01|20|66)', + 'nationalPrefixForParsing' => '0|(10(?:01|20|66))', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -162,7 +162,7 @@ return array ( 0 => '[237-9]', ), 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => @@ -174,19 +174,19 @@ return array ( 0 => '6[56]', ), 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => false, ), 2 => array ( - 'pattern' => '(69)(7\\d{2})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '697', + 0 => '6', ), 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => false, ), ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LK.php index cc2eb6ccd..5a28b2597 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LK.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:1[2-57]\\d{6}|973\\d{5})|(?:2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7]|[89]1)[2-57]\\d{6}', + 'NationalNumberPattern' => '(?:1(?:1[2-57]\\d|973)|(?:2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7]|[89]1)[2-57]\\d)\\d{5}', 'ExampleNumber' => '112345678', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7[0125-8]\\d{7}', + 'NationalNumberPattern' => '7[0-25-8]\\d{7}', 'ExampleNumber' => '712345678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LR.php index e26e43277..eedbe3e3c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LR.php @@ -40,7 +40,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:20\\d{2}|330\\d|4[67]|5(?:55)?\\d|77\\d{2}|88\\d{2})\\d{5}', + 'NationalNumberPattern' => '(?:(?:(?:20|77|88)\\d|330|555)\\d|4[67])\\d{5}|5\\d{6}', 'ExampleNumber' => '770123456', 'PossibleLength' => array ( @@ -63,7 +63,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '332(?:02|[2-5]\\d)\\d{4}', + 'NationalNumberPattern' => '332(?:02|[34]\\d)\\d{4}', 'ExampleNumber' => '332021234', 'PossibleLength' => array ( @@ -153,11 +153,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(2\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d)(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2', + 0 => '[45]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -165,11 +165,11 @@ return array ( ), 1 => array ( - 'pattern' => '([4-5])(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[45]', + 0 => '2', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LS.php index f8ff9eb38..88b6f1fe7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LS.php @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2568]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LT.php index d8da0382b..c1f609a83 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LT.php @@ -150,11 +150,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([34]\\d)(\\d{6})', - 'format' => '$1 $2', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '37|4(?:1|5[45]|6[2-4])', + 0 => '52[0-79]', ), 'nationalPrefixFormattingRule' => '(8-$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -162,11 +162,11 @@ return array ( ), 1 => array ( - 'pattern' => '([3-6]\\d{2})(\\d{5})', + 'pattern' => '(\\d{2})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '3[148]|4(?:[24]|6[09])|528|6', + 0 => '37|4(?:[15]|6[1-8])', ), 'nationalPrefixFormattingRule' => '(8-$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -174,7 +174,19 @@ return array ( ), 2 => array ( - 'pattern' => '([7-9]\\d{2})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[3-6]', + ), + 'nationalPrefixFormattingRule' => '(8-$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -184,18 +196,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 3 => - array ( - 'pattern' => '(5)(2\\d{2})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '52[0-79]', - ), - 'nationalPrefixFormattingRule' => '(8-$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LU.php index a3f79becb..91f4e5594 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LU.php @@ -32,7 +32,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2[2-9]\\d{2,9}|(?:3(?:[0-46-9]\\d|5[013-9])|[457]\\d{2}|8(?:0[2-9]|[13-9]\\d)|9(?:0[89]|[2-579]\\d))\\d{1,8}', + 'NationalNumberPattern' => '(?:(?:2[2-9]|[457]\\d)\\d|3(?:[0-46-9]\\d|5[013-9])|8(?:0[2-9]|[13-9]\\d)|9(?:0[89]|[2-579]\\d))\\d{1,8}', 'ExampleNumber' => '27123456', 'PossibleLength' => array ( @@ -160,7 +160,7 @@ return array ( 'id' => 'LU', 'countryCode' => 352, 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\d)', + 'nationalPrefixForParsing' => '(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -170,7 +170,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-5]|7[1-9]|[89](?:0[2-9]|[1-9])', + 0 => '2(?:0[2-689]|[2-9])|3(?:[0-46-9]|5[013-9])|[457]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -182,7 +182,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2-5]|7[1-9]|[89](?:0[2-9]|[1-9])', + 0 => '2(?:0[2-689]|[2-9])|3(?:[0-46-9]|5[013-9])|[457]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -194,7 +194,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '20', + 0 => '20[2-689]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -206,7 +206,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '2(?:[0367]|4[3-8])', + 0 => '2(?:0[1-689]|[367]|4[3-8])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -214,11 +214,11 @@ return array ( ), 4 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '20', + 0 => '80[01]|90[015]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -226,11 +226,11 @@ return array ( ), 5 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', - 'format' => '$1 $2 $3 $4 $5', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '2(?:[0367]|4[3-8])', + 0 => '20[2-689]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -238,11 +238,11 @@ return array ( ), 6 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2(?:[12589]|4[12])|[3-5]|7[1-9]|8(?:0[2-9]|[1-9])|9(?:0[2-46-9]|[1-9])', + 0 => '6', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -250,11 +250,11 @@ return array ( ), 7 => array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})', + 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '70|80[01]|90[015]', + 0 => '2(?:0[2-689]|[367]|4[3-8])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', @@ -262,11 +262,11 @@ return array ( ), 8 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '6', + 0 => '2[2-9]|3(?:[0-46-9]|5[013-9])|[457]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LV.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LV.php index dfef4f4a7..6a8451275 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LV.php @@ -146,11 +146,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([2689]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2689]', + 0 => '[269]|8[01]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LY.php index 338c0eae9..f78e94a6c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_LY.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[1345]|5[1347]|6[123479]|71)\\d{7}', + 'NationalNumberPattern' => '(?:2[13-5]|5[1347]|6[1-479]|71)\\d{7}', 'ExampleNumber' => '212345678', 'PossibleLength' => array ( @@ -147,7 +147,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([25-79]\\d)(\\d{7})', + 'pattern' => '(\\d{2})(\\d{7})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php index 762b21118..5ac813b21 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MA.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '5(?:2(?:[015-79]\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])\\d|3(?:[0-48]\\d|[57][2-9]|6[2-8]|9[3-9])\\d|4[067]\\d{2}|5[03]\\d{2})\\d{4}', + 'NationalNumberPattern' => '5(?:2(?:[015-79]\\d|2[02-9]|3[2-57]|4[2-8]|8[235-7])|3(?:[0-48]\\d|[57][2-9]|6[2-8]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}', 'ExampleNumber' => '520123456', 'PossibleLength' => array ( @@ -148,7 +148,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([5-7]\\d{2})(\\d{6})', + 'pattern' => '(\\d{3})(\\d{6})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( @@ -160,12 +160,12 @@ return array ( ), 1 => array ( - 'pattern' => '([58]\\d{3})(\\d{5})', + 'pattern' => '(\\d{4})(\\d{5})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '5(?:2[2-489]|3[5-9]|92)|892', - 1 => '5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|924)|892', + 0 => '5(?:2[2-489]|3[5-9]|9)|892', + 1 => '5(?:2(?:[2-48]|9[0-7])|3(?:[5-79]|8[0-7])|9)|892', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -173,12 +173,11 @@ return array ( ), 2 => array ( - 'pattern' => '(5\\d{4})(\\d{4})', + 'pattern' => '(\\d{5})(\\d{4})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '5(?:29|38)', - 1 => '5(?:29|38)[89]', + 0 => '5[23]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -186,11 +185,11 @@ return array ( ), 3 => array ( - 'pattern' => '([5]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '5(?:4[067]|5[03])', + 0 => '5', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -198,11 +197,11 @@ return array ( ), 4 => array ( - 'pattern' => '(8[09])(\\d{7})', + 'pattern' => '(\\d{2})(\\d{7})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '8(?:0|9[013-9])', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MC.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MC.php index 04b13754a..91a442aaa 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MC.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '870\\d{5}|9[2-47-9]\\d{6}', + 'NationalNumberPattern' => '(?:870|9[2-47-9]\\d)\\d{5}', 'ExampleNumber' => '99123456', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '3\\d{7}|4(?:4\\d|5[1-9])\\d{5}|6\\d{8}', + 'NationalNumberPattern' => '(?:(?:3|6\\d)\\d\\d|4(?:4\\d|5[1-9]))\\d{5}', 'ExampleNumber' => '612345678', 'PossibleLength' => array ( @@ -149,6 +149,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -156,7 +168,46 @@ return array ( array ( 0 => '[39]', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '4', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4 $5', + 'leadingDigitsPatterns' => + array ( + 0 => '6', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + ), + 'intlNumberFormat' => + array ( + 0 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[39]', + ), + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -174,7 +225,7 @@ return array ( ), 2 => array ( - 'pattern' => '(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( @@ -184,21 +235,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '8', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - ), - 'intlNumberFormat' => - array ( ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MD.php index 8cbf85441..049a5cdf0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MD.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[1-9]\\d|3[1-79]\\d|5(?:33|5[257]))\\d{5}', + 'NationalNumberPattern' => '(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}', 'ExampleNumber' => '22212345', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:562|6\\d{2}|7(?:[189]\\d|6[07]|7[457-9]))\\d{5}', + 'NationalNumberPattern' => '(?:562|6\\d\\d|7(?:[189]\\d|6[07]|7[457-9]))\\d{5}', 'ExampleNumber' => '62112345', 'PossibleLength' => array ( @@ -162,11 +162,11 @@ return array ( ), 1 => array ( - 'pattern' => '([25-7]\\d{2})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2[13-9]|[5-7]', + 0 => '[25-7]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -174,7 +174,7 @@ return array ( ), 2 => array ( - 'pattern' => '([89]\\d{2})(\\d{5})', + 'pattern' => '(\\d{3})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ME.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ME.php index ebc9550d7..17caf4933 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ME.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ME.php @@ -40,7 +40,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '6(?:00\\d|3[024]\\d|6[0-25]\\d|[7-9]\\d{2})\\d{4}', + 'NationalNumberPattern' => '6(?:00|3[024]|6[0-25]|[7-9]\\d)\\d{5}', 'ExampleNumber' => '67622901', 'PossibleLength' => array ( @@ -63,7 +63,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:9(?:4[1568]|5[178]))\\d{5}', + 'NationalNumberPattern' => '9(?:4[1568]|5[178])\\d{5}', 'ExampleNumber' => '94515151', 'PossibleLength' => array ( @@ -161,7 +161,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2-57-9]|6[036-9]', + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MF.php index a350919f5..c19b3d711 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MF.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '590(?:0[079]|13|2[79]|30|43|5[0-268]|7[79]|87)\\d{4}', + 'NationalNumberPattern' => '590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}', 'ExampleNumber' => '590271234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '69(?:0\\d{2}|1(?:2[29]|3[0-5]))\\d{4}', + 'NationalNumberPattern' => '69(?:0\\d\\d|1(?:2[29]|3[0-5]))\\d{4}', 'ExampleNumber' => '690001234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php index aae5e741d..2f5c01200 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MH.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:235|329|45[56]|545)\\d{4}', + 'NationalNumberPattern' => '(?:(?:23|54)5|329|45[56])\\d{4}', 'ExampleNumber' => '2351234', 'PossibleLength' => array ( @@ -150,6 +150,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( + 0 => '[2-6]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MK.php index 889dc0bf0..64acea955 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MK.php @@ -40,7 +40,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:[0-25-8]\\d{2}|3[2-4]\\d|421|9[23]\\d)\\d{4}', + 'NationalNumberPattern' => '7(?:(?:[0-25-8]\\d|3[2-4]|9[23])\\d|421)\\d{4}', 'ExampleNumber' => '72345678', 'PossibleLength' => array ( @@ -152,7 +152,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -164,7 +164,7 @@ return array ( ), 1 => array ( - 'pattern' => '([347]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -176,7 +176,7 @@ return array ( ), 2 => array ( - 'pattern' => '([58]\\d{2})(\\d)(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d)(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ML.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ML.php index c856db487..726733eb1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ML.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ML.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:2(?:079|17\\d)|50\\d{2}|[679]\\d{3}|8[239]\\d{2})\\d{4}', + 'NationalNumberPattern' => '(?:2(?:079|17\\d)|(?:50|[679]\\d|8[239])\\d\\d)\\d{4}', 'ExampleNumber' => '65012345', 'PossibleLength' => array ( @@ -144,11 +144,12 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{4})', + 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '[24-9]', + 0 => '67[057-9]|74[045]', + 1 => '67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -156,11 +157,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{4})', - 'format' => '$1', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '67|74', + 0 => '[24-79]|8[0239]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -175,7 +176,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[24-9]', + 0 => '[24-79]|8[0239]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MM.php index caeb3b35a..9ab9cf15e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MM.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:2\\d{1,2}|[35]\\d|4(?:\\d|2[2-469]|39|6[25]|70)|6\\d?|[89][0-6]\\d)\\d{4}|2(?:2(?:000\\d{3}|\\d{4})|3\\d{4}|4(?:0\\d{5}|2[246]\\d{4}|39\\d{4}|62\\d{4}|70\\d{4}|\\d{4})|5(?:1\\d{3,6}|[02-9]\\d{3,5})|[6-9]\\d{4})|4(?:2(?:[25-8]|4(?:80)?)|3(?:2(?:02)?|[36]|4(?:70)?|56?)|[46][2-6]|5(?:[35]|4(?:70)?))\\d{4}|5(?:2(?:2(?:\\d{1,2})?|[35-8]|4(?:70)?)|3[2-68]|4(?:21?|4(?:70)?|[5-8])|5[23]|6[2-4]|7(?:[235-8]|4(?:80)?)|8(?:[25-7]|4(?:70)?)|9(?:[235-7]|4(?:70)?))\\d{4}|6(?:0[23]|1(?:2(?:0|4\\d)?|[356])|2[2-6]|3(?:[25-6]|4(?:70)?)|4(?:2(?:4\\d)?|[3-6])|5[2-4]|6[2-8]|7(?:[2367]|4(?:\\d|39|[67]0)|5\\d?|8[145]\\d)|8[245]|9(?:20?|4))\\d{4}|7(?:[04](?:[25-8]|4(?:70)?)|1(?:20?|[35-7]|4(?:70)?)|22|3[2-4]|5(?:[235-7]|4(?:70)?))\\d{4}|8(?:1(?:2\\d{1,2}|[35689]\\d|4(?:70)?\\d)|2(?:2\\d|3(?:\\d|20)|[4-8]\\d)|3(?:2|4(?:70)?)\\d|4[24-7]\\d|5[245]\\d|6[23]\\d)\\d{3}', + 'NationalNumberPattern' => '(?:1(?:(?:2\\d|3[56]|[89][0-6])\\d|4(?:2[2-469]|39|6[25]|7[01])|6)|2(?:2(?:00|8[34])|4(?:0\\d|2[246]|39|62|7[01])|51\\d\\d)|4(?:2(?:2\\d\\d|480)|3(?:20\\d|470|56)|420\\d|5470)|5(?:2(?:2\\d\\d?|470)|4(?:2(?:1|86)|470)|522\\d|7(?:20\\d|480)|[89](?:20\\d|470))|6(?:0(?:[23]|88\\d)|(?:124|42[04]|[56]2\\d)\\d|3(?:20\\d|470)|7(?:(?:3\\d|8[01459])\\d|4(?:39|[67]0)))|7(?:0470|1(?:20\\d?|470)|4(?:25\\d|470)|5(?:202|470|96\\d))|8(?:[13](?:2\\d\\d|470)|[25]2\\d\\d))\\d{4}|(?:(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4]))\\d|25\\d{2,3}|8(?:[135]2\\d\\d|2(?:2\\d\\d|320)))\\d{3}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:1[2-689]|2[2-8]|3[24]|4[24-7]|5[245]|6[23]))\\d{4}', 'ExampleNumber' => '1234567', 'PossibleLength' => array ( @@ -46,7 +46,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '17[01]\\d{4}|9(?:2(?:[0-4]|5\\d{2}|6[0-5]\\d)|3(?:[0-36]|4[069])\\d|4(?:0[0-4]\\d|[1379]\\d|2\\d{2}|4[0-589]\\d|5\\d{2}|88)|5[0-6]|6(?:1\\d|9\\d{2}|\\d)|7(?:3|5[0-2]|[6-9]\\d)\\d|8(?:\\d|9\\d{2})|9(?:1\\d|[5-7]\\d{2}|[089]))\\d{5}', + 'NationalNumberPattern' => '(?:17[01]|9(?:2(?:[0-4]|(?:5\\d|6[0-5])\\d)|(?:3(?:[0-36]|4[069])|[68]9\\d|7(?:3|5[0-2]|[6-9]\\d))\\d|4(?:(?:0[0-4]|[1379]|[25]\\d|4[0-589])\\d|88)|5[0-6]|9(?:[089]|[5-7]\\d\\d))\\d)\\d{4}|9[69]1\\d{6}|9[68]\\d{6}', 'ExampleNumber' => '92123456', 'PossibleLength' => array ( @@ -61,7 +61,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80080[01][1-9]\\d{3}', + 'NationalNumberPattern' => '80080(?:[01][1-9]|2\\d)\\d{3}', 'ExampleNumber' => '8008001234', 'PossibleLength' => array ( @@ -162,30 +162,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1|2[245]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(2)(\\d{4})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '251', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => array ( 'pattern' => '(\\d)(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', @@ -197,13 +173,37 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[4-8]', + 0 => '[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[12]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[4-7]|8[1-35]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -211,19 +211,7 @@ return array ( ), 4 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[4-8]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(9)(\\d{3})(\\d{4,6})', + 'pattern' => '(\\d)(\\d{3})(\\d{4,6})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -233,13 +221,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 6 => + 5 => array ( - 'pattern' => '(9)([34]\\d{4})(\\d{4})', + 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '9(?:3[0-36]|4[0-57-9])', + 0 => '2', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '92', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -247,11 +247,11 @@ return array ( ), 7 => array ( - 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d)(\\d{5})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '92[56]', + 0 => '9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -259,11 +259,11 @@ return array ( ), 8 => array ( - 'pattern' => '(9)(\\d{3})(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '93', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MN.php index b031abc2d..6c5a78ae4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MN.php @@ -23,21 +23,23 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 6, - 1 => 7, + 0 => 4, + 1 => 5, + 2 => 6, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|5[0568]\\d{6}', + 'NationalNumberPattern' => '(?:[12](?:1|2[1-37]|(?:3[2-8]|4[2-68]|5[1-4689])\\d?)|5[0568])\\d{6}|[12]2[1-3]\\d{5}', 'ExampleNumber' => '50123456', 'PossibleLength' => array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 6, - 1 => 7, + 0 => 4, + 1 => 5, + 2 => 6, ), ), 'mobile' => @@ -154,7 +156,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([12]\\d)(\\d{2})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -166,7 +168,19 @@ return array ( ), 1 => array ( - 'pattern' => '([12]2\\d)(\\d{5,6})', + 'pattern' => '(\\d{4})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[57-9]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{5,6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -176,39 +190,26 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( - 'pattern' => '([12]\\d{3})(\\d{5})', + 'pattern' => '(\\d{4})(\\d{5,6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[12](?:27|[3-5])', - 1 => '[12](?:27|[3-5]\\d)2', + 0 => '[12](?:27|3[2-8]|4[2-68]|5[1-4689])', + 1 => '[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '(\\d{4})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[57-9]', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 4 => array ( - 'pattern' => '([12]\\d{4})(\\d{4,5})', + 'pattern' => '(\\d{5})(\\d{4,5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[12](?:27|[3-5])', - 1 => '[12](?:27|[3-5]\\d)[4-9]', + 0 => '[12]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MO.php index 1f53009b2..c6eed27e0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MO.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '6(?:[2356]\\d{2}|8(?:[02][5-9]|[1478]\\d|[356][0-4]))\\d{4}', + 'NationalNumberPattern' => '6(?:[2356]\\d\\d|8(?:[02][5-9]|[1478]\\d|[356][0-4]))\\d{4}', 'ExampleNumber' => '66123456', 'PossibleLength' => array ( @@ -143,7 +143,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([268]\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MP.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MP.php index 03bd55b21..f84c25466 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MP.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', + 'NationalNumberPattern' => '670(?:2(?:3[3-7]|56|8[5-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', 'ExampleNumber' => '6702345678', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '670(?:2(?:3[3-7]|56|8[5-8])|32[1238]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', + 'NationalNumberPattern' => '670(?:2(?:3[3-7]|56|8[5-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}', 'ExampleNumber' => '6702345678', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MQ.php index fd3b2be85..b6baa26c3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MQ.php @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[56]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MR.php index 20fc710a6..797883496 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MR.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '25[08]\\d{5}|35\\d{6}|45[1-7]\\d{5}', + 'NationalNumberPattern' => '(?:25[08]|35\\d|45[1-7])\\d{5}', 'ExampleNumber' => '35123456', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '[234][0-46-9]\\d{6}', + 'NationalNumberPattern' => '[2-4][0-46-9]\\d{6}', 'ExampleNumber' => '22123456', 'PossibleLength' => array ( @@ -144,7 +144,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MT.php index 6833722c7..bfec94176 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MT.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:0(?:[169]\\d|3[1-4])|[1-357]\\d{2})\\d{4}', + 'NationalNumberPattern' => '2(?:0(?:[169]\\d|3[1-4])|[1-357]\\d\\d)\\d{4}', 'ExampleNumber' => '21001234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:7(?:210|[79]\\d{2})|9(?:2(?:1[01]|31)|69[67]|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:7(?:210|[79]\\d\\d)|9(?:2(?:1[01]|31)|69[67]|8(?:1[1-3]|89|97)|9\\d\\d))\\d{4}', 'ExampleNumber' => '96961234', 'PossibleLength' => array ( @@ -58,7 +58,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '5(?:0(?:0(?:37|43)|6\\d{2}|70\\d|9[0168]\\d)|[12]\\d0[1-5])\\d{3}', + 'NationalNumberPattern' => '5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}', 'ExampleNumber' => '50037123', 'PossibleLength' => array ( @@ -152,6 +152,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2357-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MU.php index 109fb70ec..1e8f3e517 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MU.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:[03478]\\d|1[0-7]|6[1-79])|4(?:[013568]\\d|2[4-7])|5(?:44\\d|471)|6\\d{2}|8(?:14|3[129]))\\d{4}', + 'NationalNumberPattern' => '(?:2(?:[03478]\\d|1[0-7]|6[1-79])|4(?:[013568]\\d|2[4-7])|54(?:4\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}', 'ExampleNumber' => '54480123', 'PossibleLength' => array ( @@ -37,7 +37,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '5(?:2[589]\\d|4(?:2[1-389]|[489]\\d|7[1-9])|7\\d{2}|8(?:[0-689]\\d|7[15-8])|9[0-8]\\d)\\d{4}', + 'NationalNumberPattern' => '5(?:(?:2[589]|7\\d|9[0-8])\\d|4(?:2[1-389]|[489]\\d|7[1-9])|8(?:[0-689]\\d|7[15-8]))\\d{4}', 'ExampleNumber' => '52512345', 'PossibleLength' => array ( @@ -49,7 +49,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80[012]\\d{4}', + 'NationalNumberPattern' => '80[0-2]\\d{4}', 'ExampleNumber' => '8001234', 'PossibleLength' => array ( @@ -145,18 +145,18 @@ return array ( ), 'id' => 'MU', 'countryCode' => 230, - 'internationalPrefix' => '0(?:0|[2-7]0|33)', + 'internationalPrefix' => '0(?:0|[24-7]0|3[03])', 'preferredInternationalPrefix' => '020', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( 0 => array ( - 'pattern' => '([2-46-9]\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[2-46-9]', + 0 => '[2-46]|8(?:0[0-2]|14|3[129])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -164,7 +164,7 @@ return array ( ), 1 => array ( - 'pattern' => '(5\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php index 785da6eb4..91a5a103b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MV.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024568]|8[024689]))\\d{4}', + 'NationalNumberPattern' => '(?:3(?:0[0-3]|3[0-59])|6(?:[57][02468]|6[024-68]|8[024689]))\\d{4}', 'ExampleNumber' => '6701234', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:46[46]|7[2-9]\\d|9[14-9]\\d)\\d{4}', + 'NationalNumberPattern' => '(?:46[46]|(?:7[2-9]|9[14-9])\\d)\\d{4}', 'ExampleNumber' => '7712345', 'PossibleLength' => array ( @@ -157,7 +157,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '[3467]|9(?:0[1-9]|[1-9])', + 0 => '[367]|4(?:00|[56])|9[14-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -169,7 +169,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[89]00', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MW.php index 157bc11ac..1f27de0f9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MW.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[2-9]|21\\d{2})\\d{5}', + 'NationalNumberPattern' => '(?:1[2-9]|21\\d\\d)\\d{5}', 'ExampleNumber' => '1234567', 'PossibleLength' => array ( @@ -37,7 +37,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:111|77\\d|88\\d|99\\d)\\d{6}', + 'NationalNumberPattern' => '(?:111|(?:77|88|99)\\d)\\d{6}', 'ExampleNumber' => '991234567', 'PossibleLength' => array ( @@ -153,7 +153,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1', + 0 => '1[2-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -161,7 +161,7 @@ return array ( ), 1 => array ( - 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -189,7 +189,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '31', + 0 => '3', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MX.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MX.php index 83b49306a..75264e918 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MX.php @@ -242,9 +242,6 @@ return array ( array ( 0 => '1(?:33|55|81)', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 3 => array ( @@ -254,9 +251,6 @@ return array ( array ( 0 => '1(?:[2467]|3[0-2457-9]|5[089]|8[2-9]|9[1-35-9])', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), ), 'mainCountryForCode' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MY.php index 7f398c09b..fb52cdb43 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MY.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3(?:2(?:0(?:11|2[0-8]|3[0-24-79]|[579]\\d|8[0-57-9])|1(?:0[6-9]|1[03-9]|[467]\\d|8[0-2]|9[13])|2(?:0[1-3]|2[2-4]|4[0-25-7]|6[0-8]|7[02-689]|8\\d|9[5-9])|3(?:0[0-3]|3[0-36]|8[0-35-9]|9[1-3])|6(?:0[0-5]|[139]\\d|8[15-8])|7(?:1\\d|2[0-7]|3[0-3]|42|7[0-3568]|8[0-35-8])|8(?:00|4[78]|5[6-9])|93[58])|3(?:0(?:0[0-35-9]|10|5[01]|8[0-6]|9[39])|1(?:0[1-39]|10|2[02-469]|3[245]|4[0-3589]|6[0-35-9]|7[067]|8[0-57]|9[0-278])|2(?:1[3467]|2[45]|4[1-3]|5[0689]|6[04589]|7[0-3579]|8[0-489]|9[0-27])|3(?:1[7-9]|2[1-6]|4[1-689]|5[89]|6[1-3]|7\\d|8[125]|9[236])|6(?:[12]0|3[01]|5[0-256]|6[08]|8[45]))|4(?:0(?:09|[14]\\d|2[0-8]|3[12]|5[01]|65)|1(?:0[0-8]|31|4\\d|6[12])|2(?:17|5[0-35-9]|6[024-6]|7[0189]|8[057-9]|9\\d)|770|8(?:0[0-2]|1[0-3569]|2[01]))|5(?:0(?:2[0-2]|3[0-35-9])|1(?:0[1-3]|1[05]|2[0-6]|31|6[1-7]|9[1258])|270|48[0-5]|5(?:1\\d|2[0-6]|4[0-589]|6[125-9]|9[01])|6(?:1[1-4]|2[0-589]|3\\d|5[0-3])|7(?:21|40)|8(?:7[06-9]|8[025-9]|9[12]))|6(?:0(?:2[0-28]|3[24-9]|4[246-9]|5[57]|6[13-6]|7[358]|8[1247]|9[0-59])|1(?:[04][0-58]|15|2[02-8]|3[015-9]|5[016-8]|7[7-9]|8[14-9]|9[1-356])|2(?:[05]\\d|11|[46][1-3]|7[02-79]|8[015-7])|303|4(?:1[129]|2[01]|3[36]|6[0-2])|690|7(?:3\\d|89))|7(?:118|2(?:0[02]|6[01])|4(?:[59]\\d|8[01])|6(?:1[01]|2\\d|5[0-2]|6[0-69])|7(?:1[0-37-9]|[28]\\d|3[1-5]|7[0-3])|8(?:[04]\\d|3[129]|59|6[1-356]|7[02-79]|8[02-7]|90)|9(?:10|3[1-3]|4[016-9]|[56]\\d|7[12]|8\\d))|8(?:0(?:0[08]|11|2[0-7]|5[12]|6\\d|7[013-69]|8[0-24]|9[0-5])|100|21[0-36]|3(?:08|1\\d|2[0-589]|31)|408|5(?:2[0-35-79]|88)|6(?:0[0-259]|5[5-79]|6[01]|8[46-9]|9[019])|7(?:0[35-8]|2[3-7]|3\\d|4[0149]|5[0-2]|6[016-9]|7[5-9]|8[037]|90)|8(?:00|61|7[0-3]|8\\d|9[0-4])|9(?:1[1-3]|[2-5]\\d|6[1-4689]|8[89]|9[0-689]))|9(?:0(?:1[0-289]|2[15]|5[014-9]|7[04-68]|8[0-256])|1(?:0[0-3568]|3[0-49]|4[015]|7[0-59]|9[15])|2(?:0[0-25-7]|12|2[1-6]|3[1256]|7[14]|8\\d)|3[68]8|41[01]|5(?:14|2[01]|4[03-9]|6[5-79]|7[0-2569])))\\d|4(?:2(?:0[01]|1[07-9]|2[02-46-9]|38|4[0-28]|5[0-589]|6[0-47-9]|8[0-389]|9[0-38])\\d|3(?:0[5-9]|[12][034]|3[0-37]|47|5[168]|6[7-9]|7[0135-8]|8\\d|9[0-27-9])\\d|4(?:[02-9]\\d{2}|1(?:[02-9]\\d|10))|5(?:[07]\\d{2}|1[0-358]\\d|2[1246]\\d|3[06-9]\\d|4[0589]\\d|5[12457-9]\\d|6[0-689]\\d|8(?:[0-57-9]\\d|60)|9(?:[2-57-9]\\d|60))|6(?:0[79]|1[0-689]|2[0135-9]|[3-5]\\d|6[07-9]|7[23]|8[03-9]|99)\\d|7(?:0[0-59]\\d|1[04679]\\d|2(?:[02-9]\\d|10)|[37]\\d{2}|4(?:[0178]\\d|5[0-6])|5(?:[0-57-9]\\d|60)|6[024-689]\\d|8[0-79]\\d|9(?:[0479]\\d|3[01]))|8(?:1[0189]\\d|2[046-9]\\d|3[058]\\d|5[029]\\d|6(?:[0689]\\d|40)|8[14568]\\d|9[0-389]\\d)|9(?:0[1368]\\d|1[13-9]\\d|[27]\\d{2}|3(?:[0-368]\\d|7[0-3])|4[013-79]\\d|5[0-35689]\\d|6[0-46-9]\\d|8[0-24-9]\\d|97\\d))|5(?:2(?:0[13589]\\d|1[0-2]\\d|2[056]\\d|3(?:[067]\\d|2[01])|4[0-69]\\d|5[3-6]\\d|8[0-25-9]\\d|9[0-469]\\d)|3(?:[12][0-38]|3[0-37]|4[89]|5[01346-9]|[67]\\d|8[01589]|95)\\d|4(?:0[1346]\\d|1[02-35-9]\\d|2[1379]\\d|3[0-46-9]\\d|4[013689]\\d|[59]\\d{2}|6(?:[15-9]\\d|20)|7[036-9]\\d|8[015-8]\\d)|5(?:0[167]\\d|17\\d|2[025-9]\\d|3[035-7]\\d|4[0-35-9]\\d|8[13]\\d|9(?:[124-9]\\d|31))|6(?:0[89]\\d|1[02-46-8]\\d|2[0-69]\\d|3(?:[1-367]\\d|40)|4[0-689]\\d|5(?:[0-24-9]\\d|30)|6[1457-9]\\d|7\\d{2}|8[0-57-9]\\d|9[0-389]\\d)|7(?:1(?:[024679]\\d|80)|2[0-35-8]\\d|3[23]\\d|4[34]\\d|5[0-36-9]\\d|6[356-9]\\d|7\\d{2}|8(?:[23]\\d|[01]1)|9(?:[1-689]\\d|70))|8(?:0[145-9]\\d|1[0-2]\\d|2[09]\\d|3(?:[058]\\d|0[017])|4[016-9]\\d|5[02-9]\\d|7(?:10|2\\d)|8[013589]\\d|9[0-57-9]\\d)|9[23]0\\d)|6(?:2(?:2[1246-9]\\d|3[0-5]\\d|4[02]\\d|5[1-3]\\d|[68]\\d{2}|7(?:[04-8]\\d|10)|9[2-5]\\d)|3(?:1(?:[125-9]\\d|3[01])|3[0-7]\\d|5[0-478]\\d|79\\d|8[3-578]\\d|9[018]\\d)|4(?:1[015]|[2-689]\\d|7[1-79])\\d|5(?:09\\d|1(?:10|[2479]\\d)|2[1-579]\\d|3(?:[0-467]\\d|50)|4[0-24-9]\\d|5\\d{2}|60\\d)|6(?:0[13]\\d|1[0-57]\\d|2[03]\\d|3[0-478]\\d|4[0-8]\\d|5[013-689]\\d|6[0-467]\\d|[78]\\d{2}|9(?:[13-9]\\d|20))|7(?:01|2[06-9]|3[367]|5[7-9]|6\\d|7[0156]|8[12]|9[0-57-9])\\d|85[0-26]\\d|9(?:0[167]|10|[57]\\d|6[02-9]|8[013-9])\\d)|7(?:2(?:0[7-9]|1[016-9]|2[0-8]|[39]\\d|4[014]|5[0-79]|6[125-8]|7[1246-9]|8[37-9])\\d|3(?:0[0-5]|[35]\\d|40|5[0-478]|6[0-5]|8[0-26-8])\\d|4(?:0[07-9]|[1-35]\\d|6[7-9]|7[57]|8[1-68])\\d|5(?:0[04-9]|1[0-68]|2[0-378]|3[0-3]|5\\d|6[0-2]|7[018]|8[5-7]|9[05-9])\\d|6(?:5[0-24-9]|6[0-3568]|7[0457-9]|8[02-9]|9\\d)\\d|7(?:0[25-8]\\d|1(?:[01]\\d|20)|2[0-2]\\d|3[489]\\d|[457-9]\\d{2}|6(?:[0-8]\\d|90))|8(?:01[01]|10\\d|[289]\\d{2}|3(?:[028]\\d|10)|50\\d|6[0-357-9]\\d|7(?:[0235-9]\\d|[14]0))|9(?:0(?:[0246-8]\\d|10)|[1-4]\\d{2}|50\\d|6[014589]\\d|[7-9]0\\d))|8(?:2(?:2(?:[013-5]\\d|[28][0-8]|6[016]|7[0-589]|9[0-49])|3(?:[02][0-689]|1[1-59]|[3-7]\\d|8[0-389]|9[13])|4(?:0[1-3]|[1-8]\\d|9[1-359])|5(?:0[1-7]|[17]\\d|20|3[0-26-9]|4[1-9]|5[0-35]|8[0-689]|9[02367])|6(?:[147]\\d|2[0-25-9]|39|5[014-9]|6[1-9]|8[1-8]|9[089])|7(?:0[017-9]|1[1-356]|20|3[01457-9]|4[15]|5[0-25]|6[0-6]|70|8[0-2]|9[01378])|8(?:0[3-57-9]|[15]0|2[124-9]|3[01]|4[02-6]|6[02-578]|7\\d|8[25-8]|9[04-689]))|3(?:220|3(?:0[089]|10|2[0-7]|3[7-9]|4[0-48])|4(?:0[68]|1[0-478]|2[5-79]|3[024-9]|50|6\\d|7[0-57]|8[05]|96)|5(?:4[4578]|55|6[2-9]|70|8[459]|92))|4(?:2(?:[15]\\d|2[0-489]|3[124-9])|3(?:0[1-8]|[1-4]\\d|5[0-3]|6[1-7]|7[56]|8[0-4]|9[1-578])|4(?:05|80)|555|6(?:1[0-3]|20|3[1-4]|4[0-24-7]|5\\d|6[0-2]|71|8[0-47-9]|9[0-689])|7(02|1[79]|21|3[0-2468]|5[0-5]|6[0256]|7[0-8]|8[01589]|9[026-9])|8(?:0[1-9]|1[0-3568]|2[0138]|3[0-4]|4[046-9]|5[06]|6\\d|7[0-579]|80|9[0-8]))|5(?:2(?:0[0-26]|1\\d|2[0-5]|3[18]|4[0-2]|6[3-68]|70|8[025-9]|9[05-9])|3(?:10|2\\d|31|95)|4(?:0[1-7]|[1-4]\\d|5[02-6]|6[0-3]|7[0-245]|8[125]|9[1-6])|5(?:40|55)|6(?:0[1459]|1[0-8]|2[0-36-8]|3[0-35-8]|[45]\\d|6[0-8]|80)|7(?:1[07-9]|20|3[3-9]|4[02-4]|5[05689]|6[015-9]|7\\d|8[045]|9[0-6]))|6(?:2(?:01|3[12]|5[1-7]|60|8[1-6]|9[0-8])|3(?:0[0137]|[134]\\d|2[0-8]|[59][01]|60|[78]1)|4(?:2[2-4]|49|5[17]|6\\d|7[0-46-9]|8[0-689])|5(?:0[6-8]|55|8[0149]|90)|8(?:5\\d|[68]0)|9(?:5[12]|81))|7(?:2(?:0[189]|[12][1-9]|3[0-47]|50)|3(?:[01][1-9]|3\\d|4[0-245]|6[4-9]|7[237-9]|9[12])|4(?:[0-2]\\d|3[167-9]|[45][0-3]|6[0-8]|7[25-9]|8[0-6]|90)|5(?:0[1-9]|[89]\\d)|7(?:1[89]|[27]\\d|3[013-9]|4[0-8]|50|6[01568]|82)|8(?:[03][1-3]|1[0-28]|2[0-38]|48|5[0-4]|6[1-3]|7[124]|8[013-57-9]|9[07]))|8(?:2(?:0[13-7]|[1-9]\\d)|3(?:0[1-47-9]|[128]\\d|3[0-4]|4[1-9]|5[0-35-7]|6[0-46-9]|9[3-7])|4(?:0[1-58]|1[1-5]|[2-57-9]\\d|69)|5(?:1[1-35-9]|2\\d|3[2-8]|52)|6(?:0[2-9]|1[1-8]|[23]\\d|41|5[12367]|6[1-9]|7[14-9]|8[02-8]|9[05])|7(?:0[1-589]|[1-35-8]\\d|4[0-7]|9[0-46-9])|8(?:01|30|5[0-48]|6[13]|7\\d|8[013-689]|9[24-9])|9(?:0[2-4689]|1\\d|2[08]|3[18]|4[03]|59|6[0-36-9]|7[0-35-79]|8[1235]))|9(?:2(?:[057][1-9]|[1-3]\\d|4[0-8]|6[1-5]|8[015-9]|9[04-6])|300|4(?:01|36|6[1-6]|[89][12])|5(?:0[25689]|1\\d|2[0134]|3[1-8]|5[17]|6[0-35-9]|7[0-7]|91)|6(?:1[1-9]|2[23]|3[0-4]|6[03-9]|7[0-7])|7(?:0[1-68]|1[1-8]|2[25-9]|3[056]|4[4-9]|[5-8]\\d|9[0-46-9])|8(?:0[1-7]|[189]\\d|2[1-46]|4[1-689]|5[0-79]|6[1-9]|71)|9(?:0[1-3]|1\\d|2[0-35-7]|3[67]|4[12]|5[0-249]|6[5-9]|75|8[1-6])))|9(?:0(?:5[79]|75)\\d|132\\d|2(?:0[4-68]\\d|1[2-57]\\d|2[0-589]\\d|[39]\\d{2}|4(?:[02-9]\\d|10)|5(?:[024-6]\\d|[7-9]0)|6(?:[03-9]\\d|20)|7[0-26-9]\\d|8(?:[0-24-68]\\d|7[01]))|3(?:0[0-2689]\\d|1(?:[0235]\\d|1[0-2]|4[01])|2(?:0[01]|[1-57-9]\\d|6[0-2])|3(?:00|1[0-4]|2\\d)|4[05]\\d|5[0-3568]\\d|6(?:[1-357-9]\\d|60)|[78]0\\d)|4(?:0[24578]\\d|1[02-57-9]\\d|2\\d{2}|3(?:[0278]\\d|1[01]|60)|4[013579]\\d|5[0-8]\\d|6[0678]\\d|7[013-9]\\d|8[01569]\\d)|5(0(?:[589]\\d|7[01])|1\\d{2}|2[0159]\\d|3[14689]\\d|4[0-46-9]\\d|5[0-35-9]\\d|6[0156-8]\\d|7[0-35]\\d|8[0-7]\\d|9[0-3589]\\d)|6(?:0[269]\\d|[12]\\d{2}|3[0-57-9]\\d|44[0-2]|5[01379]\\d|6[02-9]\\d|7[69]\\d|8(?:[0-24-8]\\d|30)|9(?:[0-24-9]\\d|3[01]))|7(?:0[0136-8]|1[02-4]|2[156]|3[258]|[489]\\d|5[0-589]|6[024-9]|7[0-689])\\d|8(?:0(?:0[01]|1\\d)|1[3-9]\\d|[23]\\d{2}|4[0-24-689]\\d|5[0-689]\\d|6[02-9]\\d|7(?:[01]0|[2-4]\\d)|888)|9(?:00\\d|1[2-57-9]\\d|2(?:00|1[01]|[238]\\d)|3(?:[2-467]\\d|50)|4[4-9]\\d|5(?:[0-2457-9]\\d|60)|6[0156]\\d|7[04-9]\\d|8[01]\\d)))\\d{3}', + 'NationalNumberPattern' => '(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}', 'ExampleNumber' => '323856789', 'PossibleLength' => array ( @@ -44,7 +44,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])\\d|1(?:[1-5]\\d{2}|6(?:0[5-9]|[1-9]\\d))\\d|[23679][2-9]\\d{2}|4(?:[235-9]\\d{2}|400)|59\\d{3}|8(?:1[23]\\d|[236]\\d{2}|4(?:[06]\\d|7[0-4])|5[7-9]\\d|7[016-9]\\d|8(?:[01]\\d|[27][0-4])|9[0-8]\\d))\\d{4}', + 'NationalNumberPattern' => '1(?:(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d))|(?:[23679][2-9]|59\\d)\\d)\\d|4(?:[235-9]\\d\\d|400)|8(?:(?:1[23]|[236]\\d|5[7-9]|7[016-9]|9[0-8])\\d|4(?:[06]\\d|7[0-4])|8(?:[01]\\d|[27][0-4])))\\d{4}', 'ExampleNumber' => '123456789', 'PossibleLength' => array ( @@ -161,7 +161,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([4-79])(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( @@ -173,7 +173,19 @@ return array ( ), 1 => array ( - 'pattern' => '(3)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'format' => '$1-$2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1(?:[0249]|[367][2-9]|8[1-9])|8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d)(\\d{4})(\\d{4})', 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( @@ -183,34 +195,21 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( - 'pattern' => '([18]\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[02-46-9][1-9]|8', + 0 => '15', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '(1)([36-8]00)(\\d{2})(\\d{4})', - 'format' => '$1-$2-$3-$4', - 'leadingDigitsPatterns' => - array ( - 0 => '1[36-8]0', - 1 => '1[36-8]00', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 4 => array ( - 'pattern' => '(11)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( @@ -222,13 +221,13 @@ return array ( ), 5 => array ( - 'pattern' => '(15[49])(\\d{3})(\\d{4})', - 'format' => '$1-$2 $3', + 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{4})', + 'format' => '$1-$2-$3-$4', 'leadingDigitsPatterns' => array ( - 0 => '15[49]', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MZ.php index ad91152b5..6f9b1bac4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_MZ.php @@ -148,7 +148,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([28]\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -160,11 +160,11 @@ return array ( ), 1 => array ( - 'pattern' => '(80\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '80', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NA.php index c22f3e189..e8f063217 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NA.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '6(?:1(?:0\\d{2}|17|2(?:[0189]\\d|[2-7]\\d?)|3(?:[01378]\\d?|[24-69]\\d)|4(?:[0-4]\\d?|[5-9]\\d)|69|7[014])|2(?:17|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[289]|7[01]|81)|4(?:17|2(?:[012]|7\\d?)|4(?:[06]|1\\d?)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|6[89]|7[01]))\\d{4}', + 'NationalNumberPattern' => '6(?:1(?:[02-4]\\d\\d|17)|2(?:17|54\\d|69|70)|3(?:17|2[0237]\\d|34|6[289]|7[01]|81)|4(?:17|(?:27|41|5[25])\\d|69|7[01])|5(?:17|2[236-8]\\d|69|7[01])|6(?:17|26\\d|38|42|69|7[01])|7(?:17|(?:2[2-4]|30)\\d|6[89]|7[01]))\\d{4}|6(?:1(?:2[2-7]|3[01378]|4[0-4]|69|7[014])|25[0-46-8]|32\\d|4(?:2[0-27]|4[016]|5[0-357])|52[02-9]|62[56]|7(?:2[2-69]|3[013]))\\d{4}', 'ExampleNumber' => '61221234', 'PossibleLength' => array ( @@ -93,7 +93,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '8(?:3\\d{2}|86)\\d{5}', + 'NationalNumberPattern' => '8(?:3\\d\\d|86)\\d{5}', 'ExampleNumber' => '88612345', 'PossibleLength' => array ( @@ -152,11 +152,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(8\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '8[0-5]', + 0 => '88', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -164,7 +164,7 @@ return array ( ), 1 => array ( - 'pattern' => '(6\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -176,11 +176,11 @@ return array ( ), 2 => array ( - 'pattern' => '(88)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '88', + 0 => '8[0-5]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -188,11 +188,11 @@ return array ( ), 3 => array ( - 'pattern' => '(870)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '870', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NC.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NC.php index b8a3c7d28..b0293c016 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NC.php @@ -148,7 +148,7 @@ return array ( 'format' => '$1.$2.$3', 'leadingDigitsPatterns' => array ( - 0 => '[2-46-9]|5[0-4]', + 0 => '[247-9]|3[0-6]|5[0-4]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NE.php index d75e9c4ac..f3dfb728b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NE.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}', + 'NationalNumberPattern' => '2(?:0(?:20|3[1-7]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}', 'ExampleNumber' => '20201234', 'PossibleLength' => array ( @@ -149,7 +149,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '09|[289]', + 0 => '09|2[01]|8[04589]|9', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -157,11 +157,11 @@ return array ( ), 1 => array ( - 'pattern' => '(08)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '08', + 0 => '0', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NF.php index 2c423c953..8f108ef01 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NF.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:06|17|28|39)|3[012]\\d)\\d{3}', + 'NationalNumberPattern' => '(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}', 'ExampleNumber' => '106609', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NG.php index c0f39e73f..647f82de5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NG.php @@ -33,7 +33,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '[12]\\d{6,7}|9(?:0[3-9]|[1-9]\\d)\\d{5}|(?:3\\d|4[023568]|5[02368]|6[02-469]|7[4-69]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}', + 'NationalNumberPattern' => '(?:(?:[1-356]\\d|4[02-8]|7[0-79]|8[2-9])\\d|9(?:0[3-9]|[1-9]\\d))\\d{5}|(?:[12]\\d|4[147]|5[14579]|6[1578]|7[0-3578])\\d{5}', 'ExampleNumber' => '18040123', 'PossibleLength' => array ( @@ -48,7 +48,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:1(?:7[34]\\d|8(?:04|[124579]\\d|8[0-3])|95\\d)|287[0-7]|3(?:18[1-8]|88[0-7]|9(?:8[5-9]|6[1-5]))|4(?:28[0-2]|6(?:7[1-9]|8[02-47])|88[0-2])|5(?:2(?:7[7-9]|8\\d)|38[1-79]|48[0-7]|68[4-7])|6(?:2(?:7[7-9]|8\\d)|4(?:3[7-9]|[68][129]|7[04-69]|9[1-8])|58[0-2]|98[7-9])|7(?:38[0-7]|69[1-8]|78[2-4])|8(?:28[3-9]|38[0-2]|4(?:2[12]|3[147-9]|5[346]|7[4-9]|8[014-689]|90)|58[1-8]|78[2-9]|88[5-7])|98[07]\\d)\\d{4}|(?:70(?:[1-689]\\d|7[0-3])|8(?:0(?:1[01]|[2-9]\\d)|1(?:[0-8]\\d|9[01]))|90[235-9]\\d)\\d{6}', + 'NationalNumberPattern' => '(?:1(?:(?:7[34]|95)\\d|8(?:04|[124579]\\d|8[0-3]))|287[0-7]|3(?:18[1-8]|88[0-7]|9(?:6[1-5]|8[5-9]))|4(?:[28]8[0-2]|6(?:7[1-9]|8[02-47]))|5(?:2(?:7[7-9]|8\\d)|38[1-79]|48[0-7]|68[4-7])|6(?:2(?:7[7-9]|8\\d)|4(?:3[7-9]|[68][129]|7[04-69]|9[1-8])|58[0-2]|98[7-9])|7(?:0(?:[1-689]\\d|7[0-3])\\d\\d|38[0-7]|69[1-8]|78[2-4])|8(?:(?:0(?:1[01]|[2-9]\\d)|1(?:[0-8]\\d|9[01]))\\d\\d|28[3-9]|38[0-2]|4(?:2[12]|3[147-9]|5[346]|7[4-9]|8[014-689]|90)|58[1-8]|78[2-9]|88[5-7])|9(?:0[235-9]\\d\\d|8[07])\\d)\\d{4}', 'ExampleNumber' => '8021234567', 'PossibleLength' => array ( @@ -57,6 +57,8 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( + 0 => 6, + 1 => 7, ), ), 'tollFree' => @@ -170,6 +172,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '78', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', @@ -181,25 +195,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[3-6]|7(?:0[1-9]|[1-79])|8[2-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '70|8[01]|90[235-9]', + 0 => '[3-7]|8[2-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -207,11 +209,11 @@ return array ( ), 3 => array ( - 'pattern' => '([78]00)(\\d{4})(\\d{4,5})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[78]00', + 0 => '[7-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -219,11 +221,11 @@ return array ( ), 4 => array ( - 'pattern' => '([78]00)(\\d{5})(\\d{5,6})', + 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[78]00', + 0 => '[78]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -231,11 +233,11 @@ return array ( ), 5 => array ( - 'pattern' => '(78)(\\d{2})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{5})(\\d{5,6})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '78', + 0 => '[78]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NI.php index 9624d5732..c771bad84 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NI.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|7[5-8]\\d|8\\d{2})\\d{5}', + 'NationalNumberPattern' => '(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}', 'ExampleNumber' => '81234567', 'PossibleLength' => array ( @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[125-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NL.php index f3520dd37..af6252361 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NL.php @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d{2})\\d{6}', + 'NationalNumberPattern' => '(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}', 'ExampleNumber' => '101234567', 'PossibleLength' => array ( @@ -172,67 +172,19 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-57-9]\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[4578]|91', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '([1-5]\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1[16-8]|2[259]|3[124]|4[17-9]|5[124679]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(6)(\\d{8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '6[0-57-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(66)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '66', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(14)(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3,4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( 0 => '14', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => + 1 => array ( - 'pattern' => '([89]0\\d)(\\d{4,7})', + 'pattern' => '(\\d{3})(\\d{4,7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -242,9 +194,117 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1[035]|2[0346]|3[03568]|4[0356]|5[0358]|[7-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[1-5]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d)(\\d{8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '6[1-58]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '6', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{3})(\\d{4,7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[89]0', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1[035]|2[0346]|3[03568]|4[0356]|5[0358]|[7-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[1-5]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d)(\\d{8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '6[1-58]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '6', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NO.php index 28ea58e6e..8f6ed3079 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NO.php @@ -120,7 +120,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}', + 'NationalNumberPattern' => '(?:0\\d|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', 'ExampleNumber' => '01234', 'PossibleLength' => array ( @@ -159,11 +159,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([489]\\d{2})(\\d{2})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[489]', + 0 => '[235-7]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -171,11 +171,11 @@ return array ( ), 1 => array ( - 'pattern' => '([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[235-7]', + 0 => '[489]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -186,6 +186,7 @@ return array ( array ( ), 'mainCountryForCode' => true, + 'leadingDigits' => '[02-689]|7[0-8]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => true, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NP.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NP.php index 8f8e82b73..2af3a9058 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NP.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[0-6]\\d|2[13-79][2-6]|3[135-8][2-6]|4[146-9][2-6]|5[135-7][2-6]|6[13-9][2-6]|7[15-9][2-6]|8[1-46-9][2-6]|9[1-79][2-6])\\d{5}', + 'NationalNumberPattern' => '(?:1[0-6]\\d|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])[2-6])\\d{5}', 'ExampleNumber' => '14567890', 'PossibleLength' => array ( @@ -152,7 +152,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1)(\\d{7})', + 'pattern' => '(\\d)(\\d{7})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( @@ -168,7 +168,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '1[01]|[2-8]|9(?:[1-69]|7[15-9])', + 0 => '[1-8]|9(?:[1-579]|6[2-6])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -176,13 +176,13 @@ return array ( ), 2 => array ( - 'pattern' => '(9\\d{2})(\\d{7})', + 'pattern' => '(\\d{3})(\\d{7})', 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '9(?:6[013]|7[245]|8)', + 0 => '9', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NR.php index f225d4f87..c3bbe2b03 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NR.php @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[458]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NU.php index 324d0aaff..a60fa5ea2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NU.php @@ -150,7 +150,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '888', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NZ.php index d4c48485a..62bbcc900 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_NZ.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}|24099\\d{3}', + 'NationalNumberPattern' => '(?:24099|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{3})\\d{3}', 'ExampleNumber' => '32345678', 'PossibleLength' => array ( @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '2(?:[028]\\d{7,8}|1\\d{6,8}|[79]\\d{7})', + 'NationalNumberPattern' => '2(?:[0-28]\\d?|[79])\\d{7}|21\\d{6}', 'ExampleNumber' => '211234567', 'PossibleLength' => array ( @@ -164,7 +164,7 @@ return array ( 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( - 0 => '240|[346]|7[2-57-9]|9[1-9]', + 0 => '24|[346]|7[2-57-9]|9[2-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -172,11 +172,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '21', + 0 => '80|9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -184,11 +184,11 @@ return array ( ), 2 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{3,5})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2(?:1[1-9]|[69]|7[0-35-9])|70|86', + 0 => '2(?:10|74)|[59]|80', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -196,7 +196,7 @@ return array ( ), 3 => array ( - 'pattern' => '(2\\d)(\\d{3,4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3,4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -208,23 +208,11 @@ return array ( ), 4 => array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,5})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '90', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '2(?:10|74)|5|[89]0', + 0 => '[278]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_OM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_OM.php index 712eb180f..b78e099f8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_OM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_OM.php @@ -39,7 +39,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7[19]\\d{6}|9(?:0[1-9]|[1-9]\\d)\\d{5}', + 'NationalNumberPattern' => '(?:7(?:[19]\\d|22)|9(?:0[1-9]|[1-9]\\d))\\d{5}', 'ExampleNumber' => '92123456', 'PossibleLength' => array ( @@ -51,7 +51,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '8007\\d{4,5}|500\\d{4}', + 'NationalNumberPattern' => '(?:500|8007\\d?)\\d{4}', 'ExampleNumber' => '80071234', 'PossibleLength' => array ( @@ -150,7 +150,19 @@ return array ( array ( 0 => array ( - 'pattern' => '(2\\d)(\\d{6})', + 'pattern' => '(\\d{3})(\\d{4,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[58]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -160,9 +172,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( - 'pattern' => '([79]\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -172,18 +184,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '([58]00)(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[58]00', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PA.php index c1e1d8ca2..0025ee01d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PA.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[02-9]\\d|1[0-5])\\d{5}', + 'NationalNumberPattern' => '(?:1[16]1|21[89]|6(?:[02-9]\\d|1[0-5])\\d|8(?:1[01]|7[23]))\\d{4}', 'ExampleNumber' => '61234567', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PE.php index ddf38a608..b9a09a6b7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PE.php @@ -161,7 +161,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(1)(\\d{7})', + 'pattern' => '(\\d)(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -173,7 +173,7 @@ return array ( ), 1 => array ( - 'pattern' => '([4-8]\\d)(\\d{6})', + 'pattern' => '(\\d{2})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -189,7 +189,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '80', + 0 => '8', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -197,13 +197,13 @@ return array ( ), 3 => array ( - 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( 0 => '9', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PF.php index 5ea15b9a4..fb6333a0e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PF.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '4(?:[09][45689]\\d|4)\\d{4}', + 'NationalNumberPattern' => '4(?:[09][4-689]\\d|4)\\d{4}', 'ExampleNumber' => '40412345', 'PossibleLength' => array ( @@ -146,11 +146,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '4[09]|8[79]', + 0 => '44', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -158,11 +158,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '44', + 0 => '[48]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php index d260b920c..f548fed86 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PG.php @@ -26,11 +26,10 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3[0-2]\\d|4[257]\\d|5[34]\\d|64[1-9]|77(?:[0-24]\\d|30)|85[02-46-9]|9[78]\\d)\\d{4}', + 'NationalNumberPattern' => '(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|77(?:[0-24]\\d|30)|85[02-46-9])\\d{4}', 'ExampleNumber' => '3123456', 'PossibleLength' => array ( - 0 => 7, ), 'PossibleLengthLocalOnly' => array ( @@ -144,7 +143,7 @@ return array ( ), 'id' => 'PG', 'countryCode' => 675, - 'internationalPrefix' => '140[1-3]|00', + 'internationalPrefix' => '00|140[1-3]', 'preferredInternationalPrefix' => '00', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => @@ -155,7 +154,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[13-689]|27', + 0 => '18|[2-69]|85', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -167,7 +166,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '20|[78]', + 0 => '[78]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PH.php index 2c7404f4e..78523fc9a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PH.php @@ -27,13 +27,14 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 5, - 1 => 7, + 0 => 4, + 1 => 5, + 2 => 7, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{5}(?:\\d{2})?|(?:3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}|88(?:22\\d{6}|42\\d{4})', + 'NationalNumberPattern' => '(?:2\\d(?:\\d{2})?|(?:3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|8[2-8]\\d{7}', 'ExampleNumber' => '21234567', 'PossibleLength' => array ( @@ -44,13 +45,14 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 5, - 1 => 7, + 0 => 4, + 1 => 5, + 2 => 7, ), ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:81[37]|9(?:0[5-9]|1[024-9]|2[0-35-9]|3[02-9]|4[235-9]|5[056]|6[5-7]|7[34-79]|89|9[4-9]))\\d{7}', + 'NationalNumberPattern' => '(?:81[37]|9(?:0[5-9]|1[024-9]|2[0-35-9]|3[02-9]|4[235-9]|5[056]|6[5-7]|7[3-79]|89|9[4-9]))\\d{7}', 'ExampleNumber' => '9051234567', 'PossibleLength' => array ( @@ -164,8 +166,8 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d)(\\d{5})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( 0 => '2', @@ -176,8 +178,8 @@ return array ( ), 1 => array ( - 'pattern' => '(2)(\\d{5})', - 'format' => '$1 $2', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( 0 => '2', @@ -201,12 +203,12 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{5})(\\d{4})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '346|4(?:27|9[35])|883', - 1 => '3469|4(?:279|9(?:30|56))|8834', + 0 => '3[2-68]|4[2-9]|[5-7]|8[2-8]', + 1 => '3(?:[23568]|4(?:[0-57-9]|6[02-8]))|4(?:2(?:[0-689]|7[0-8])|[3-8]|9(?:[0-246-9]|3[1-9]|5[0-57-9]))|[5-7]|8(?:[2-7]|8(?:[0-24-9]|3[0-35-9]))', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -214,11 +216,11 @@ return array ( ), 4 => array ( - 'pattern' => '([3-8]\\d)(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{5})(\\d{4})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[3-8]', + 0 => '[34]|88', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -230,7 +232,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '81|9', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -238,12 +240,11 @@ return array ( ), 6 => array ( - 'pattern' => '(1800)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '180', - 1 => '1800', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -251,12 +252,11 @@ return array ( ), 7 => array ( - 'pattern' => '(1800)(\\d{1,2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '180', - 1 => '1800', + 0 => '1', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PK.php index 8ba94616d..342bb7e07 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PK.php @@ -25,13 +25,14 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 6, - 1 => 7, + 0 => 5, + 1 => 6, + 2 => 7, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}', + 'NationalNumberPattern' => '2(?:(?:1[2-9]\\d|[25][2-9])\\d{6}|(?:3[2358]|4[2-4]|9[2-8])[2-9]\\d{5,6})|4(?:(?:[0146-9][2-9]|2[2-9]\\d)\\d{6}|5[3479][2-9]\\d{5,6})|5(?:(?:[1-35-7][2-9]|8[126]\\d)\\d{6}|4[2-467][2-9]\\d{5,6})|6(?:0[468][2-9]\\d{5,6}|[1-8][2-9]\\d{6})|7(?:[14][2-9]\\d{6}|2[236][2-9]\\d{5,6})|8(?:[16][2-9]\\d{6}|(?:2[2-689]|3[23578]|4[3478]|5[2356])[2-9]\\d{5,6})|9(?:1[2-9]\\d{6}|(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])[2-9]\\d{5,6})', 'ExampleNumber' => '2123456789', 'PossibleLength' => array ( @@ -40,9 +41,10 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 6, - 1 => 7, - 2 => 8, + 0 => 5, + 1 => 6, + 2 => 7, + 3 => 8, ), ), 'mobile' => @@ -125,7 +127,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}', + 'NationalNumberPattern' => '(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}', 'ExampleNumber' => '21111825888', 'PossibleLength' => array ( @@ -166,11 +168,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([89]00)(\\d{3})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[89]00', + 0 => '[89]0', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -178,13 +180,13 @@ return array ( ), 1 => array ( - 'pattern' => '(1\\d{3})(\\d{5})', + 'pattern' => '(\\d{4})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), @@ -206,8 +208,8 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '2[349]|45|54|60|72|8[2-5]|9[2-469]', - 1 => '(?:2[349]|45|54|60|72|8[2-5]|9[2-469])\\d[2-9]', + 0 => '2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])', + 1 => '(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356]))[2-9]|9(?:2(?:2[2-9]|[3-8])|(?:3[27-9]|4[2-6]|6[3569])[2-9]|9(?:[25-7][2-9]|8))', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -215,11 +217,11 @@ return array ( ), 4 => array ( - 'pattern' => '(58\\d{3})(\\d{5})', + 'pattern' => '(\\d{5})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '58[126]', + 0 => '58', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -227,7 +229,7 @@ return array ( ), 5 => array ( - 'pattern' => '(3\\d{2})(\\d{7})', + 'pattern' => '(\\d{3})(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -239,13 +241,11 @@ return array ( ), 6 => array ( - 'pattern' => '(\\d{2})(111)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1', - 1 => '(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11', - 2 => '(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111', + 0 => '2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', @@ -253,14 +253,11 @@ return array ( ), 7 => array ( - 'pattern' => '(\\d{3})(111)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '2[349]|45|54|60|72|8[2-5]|9[2-9]', - 1 => '(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1', - 2 => '(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11', - 3 => '(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111', + 0 => '[24-9]', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PL.php index 6993c88c3..4c84dc3a1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PL.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:\\d{7}|19\\d{3})', + 'NationalNumberPattern' => '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\\d{3}', 'ExampleNumber' => '123456789', 'PossibleLength' => array ( @@ -160,11 +160,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{3})(\\d{3})', - 'format' => '$1 $2', + 'pattern' => '(\\d{5})', + 'format' => '$1', 'leadingDigitsPatterns' => array ( - 0 => '11[68]|64', + 0 => '19', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -172,11 +172,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{5})', - 'format' => '$1', + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '19', + 0 => '11|64', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -188,7 +188,8 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]', + 0 => '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1', + 1 => '(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -208,11 +209,11 @@ return array ( ), 4 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '26|39|45|5[0137]|6[0469]|7[02389]|8[08]', + 0 => '1[2-8]|2|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -220,11 +221,11 @@ return array ( ), 5 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[14]|2[0-57-9]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]', + 0 => '[3-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PM.php index 96623dcca..f6227217c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PM.php @@ -145,7 +145,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([45]\\d)(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PS.php index b94a00951..7b9435435 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PS.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:22[234789]|42[45]|82[01458]|92[369])\\d{5}', + 'NationalNumberPattern' => '(?:22[2-47-9]|42[45]|82[01458]|92[369])\\d{5}', 'ExampleNumber' => '22234567', 'PossibleLength' => array ( @@ -155,11 +155,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([2489])(2\\d{2})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2489]2', + 0 => '[2489]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -167,11 +167,11 @@ return array ( ), 1 => array ( - 'pattern' => '(5[69]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '5[69]', + 0 => '5', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -179,14 +179,13 @@ return array ( ), 2 => array ( - 'pattern' => '(1[78]00)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[78]0', - 1 => '1[78]00', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PT.php index 94e97ce70..5d535f763 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PT.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '9(?:[1236]\\d{2}|480)\\d{5}', + 'NationalNumberPattern' => '9(?:[1-36]\\d\\d|480)\\d{5}', 'ExampleNumber' => '912345678', 'PossibleLength' => array ( @@ -58,7 +58,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '6(?:0[178]|4[68])\\d{6}|76(?:0[1-57]|1[2-47]|2[237])\\d{5}', + 'NationalNumberPattern' => '(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}', 'ExampleNumber' => '760123456', 'PossibleLength' => array ( @@ -112,7 +112,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '7(?:0(?:7\\d|8[17]))\\d{5}', + 'NationalNumberPattern' => '70(?:7\\d|8[17])\\d{5}', 'ExampleNumber' => '707123456', 'PossibleLength' => array ( @@ -150,7 +150,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(2\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -162,11 +162,11 @@ return array ( ), 1 => array ( - 'pattern' => '([2-46-9]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2[3-9]|[346-9]', + 0 => '[236-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PW.php index d901a9af0..dc2b33fae 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PW.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6[234689]0|77\\d|88[0-4])\\d{4}', + 'NationalNumberPattern' => '(?:6[2-4689]0|77\\d|88[0-4])\\d{4}', 'ExampleNumber' => '6201234', 'PossibleLength' => array ( @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PY.php index efab5a4f7..2839a4f8b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_PY.php @@ -29,7 +29,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\\d{5,7}|(?:2(?:2[4568]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51)|4(?:18|2[45]|3[12]|5[13]|64|71|9[1-47])|5(?:[1-4]\\d|5[0234])|6(?:3[1-3]|44|7[1-4678])|7(?:17|4[0-4]|6[1-578]|75|8[0-8])|858)\\d{5,6}', + 'NationalNumberPattern' => '(?:2(?:1\\d|2[4-68]|7[15]|9[1-5])|5(?:[1-4]\\d|5[02-4])|6(?:1\\d|3[1-3]|44|7[1-46-8]))\\d{5,6}|3(?:(?:18|3[167]|4[2357]|51)\\d{5,6}|[289]\\d{5,7})|4(?:[1246-8]\\d{5,7}|(?:3[12]|5[13]|9[1-47])\\d{5,6})|7(?:[1-3]\\d{5,7}|(?:4[0-4]|6[1-578]|75|8[0-8])\\d{5,6})|8(?:[1-36]\\d{5,7}|58\\d{5,6})|[26]1\\d{5}', 'ExampleNumber' => '212345678', 'PossibleLength' => array ( @@ -157,6 +157,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{3})(\\d{3,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-9]0', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', @@ -168,7 +180,19 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2[279]|3[13-5]|4[359]|5|6[347]|7[46-8]|85', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', @@ -180,67 +204,42 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[2-9]0', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(\\d{3})(\\d{6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '9[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 4 => - array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '870', - 1 => '8700', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{4,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[2-8][1-9]', - ), - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[2-8][1-9]', + 0 => '[2-7]|85', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_QA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_QA.php index 616607f57..957f186d7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_QA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_QA.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '[3567]\\d{7}', + 'NationalNumberPattern' => '[35-7]\\d{7}', 'ExampleNumber' => '33123456', 'PossibleLength' => array ( @@ -150,11 +150,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([28]\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[28]', + 0 => '2[126]|8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -162,7 +162,7 @@ return array ( ), 1 => array ( - 'pattern' => '([3-7]\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RE.php index 08e381775..b00ce8351 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RE.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '69(?:2\\d{2}|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[05]|6[0-26]|7[0-27]|8[0-38]|9[0-479]))\\d{4}', + 'NationalNumberPattern' => '69(?:2\\d\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[05]|6[0-26]|7[0-27]|8[0-38]|9[0-479]))\\d{4}', 'ExampleNumber' => '692123456', 'PossibleLength' => array ( @@ -148,7 +148,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RO.php index 58e58de61..3eff6cf93 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RO.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:1(?:\\d{7}|9\\d{3})|[3-6](?:\\d{7}|\\d9\\d{2}))|3(?:1\\d{4}(?:\\d{3})?|[3-6]\\d{7})', + 'NationalNumberPattern' => '[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d', 'ExampleNumber' => '211234567', 'PossibleLength' => array ( @@ -37,7 +37,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:[02-7]\\d{2}|1(?:[01]\\d|20)|8[03-8]\\d|99\\d)\\d{5}', + 'NationalNumberPattern' => '7(?:(?:[02-7]\\d|8[03-8]|99)\\d|1(?:[01]\\d|20))\\d{5}', 'ExampleNumber' => '712034567', 'PossibleLength' => array ( @@ -155,6 +155,31 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{2})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '219|31', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2[3-6]', + 1 => '2[3-6]\\d9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -166,37 +191,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => - array ( - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[23]1', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => + 3 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[23][3-7]|[7-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '(2\\d{2})(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '2[3-6]', + 0 => '[237-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RS.php index 8fb4c736d..c281370f8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RS.php @@ -27,12 +27,13 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 5, + 0 => 4, + 1 => 5, ), ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:[02-9][2-9]|1[1-9])\\d|2(?:[0-24-7][2-9]\\d|[389](?:0[2-9]|[2-9]\\d))|3(?:[0-8][2-9]\\d|9(?:[2-9]\\d|0[2-9])))\\d{3,8}', + 'NationalNumberPattern' => '(?:1(?:[02-9][2-9]|1[1-9])\\d|2(?:[0-24-7][2-9]\\d|[389](?:0[2-9]|[2-9]\\d))|3(?:[0-8][2-9]\\d|9(?:0[2-9]|[2-9]\\d)))\\d{3,8}', 'ExampleNumber' => '10234567', 'PossibleLength' => array ( @@ -45,8 +46,9 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( - 0 => 5, - 1 => 6, + 0 => 4, + 1 => 5, + 2 => 6, ), ), 'mobile' => @@ -76,10 +78,15 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:90[0169]|78\\d)\\d{3,7}', + 'NationalNumberPattern' => '(?:78\\d|90[0169])\\d{3,7}', 'ExampleNumber' => '90012345', 'PossibleLength' => array ( + 0 => 6, + 1 => 7, + 2 => 8, + 3 => 9, + 4 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -166,11 +173,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([23]\\d{2})(\\d{4,9})', + 'pattern' => '(\\d{3})(\\d{3,9})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '(?:2[389]|39)0', + 0 => '(?:2[389]|39)0|[7-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -178,59 +185,11 @@ return array ( ), 1 => array ( - 'pattern' => '([1-3]\\d)(\\d{5,10})', + 'pattern' => '(\\d{2})(\\d{5,10})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(6\\d)(\\d{6,8})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '6', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '([89]\\d{2})(\\d{3,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[89]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(7[26])(\\d{4,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '7[26]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(7[08]\\d)(\\d{4,9})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '7[08]', + 0 => '[1-36]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RU.php index 35a1cdfd5..f3a9d5ae2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RU.php @@ -21,6 +21,7 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( + 0 => 7, ), ), 'fixedLine' => @@ -32,6 +33,7 @@ return array ( ), 'PossibleLengthLocalOnly' => array ( + 0 => 7, ), ), 'mobile' => @@ -153,19 +155,18 @@ return array ( 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '[1-79]', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, + 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( - 'pattern' => '([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[3489]', + 0 => '7', ), 'nationalPrefixFormattingRule' => '8 ($1)', 'domesticCarrierCodeFormattingRule' => '', @@ -173,11 +174,11 @@ return array ( ), 2 => array ( - 'pattern' => '(7\\d{2})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2-$3-$4', 'leadingDigitsPatterns' => array ( - 0 => '7', + 0 => '[3489]', ), 'nationalPrefixFormattingRule' => '8 ($1)', 'domesticCarrierCodeFormattingRule' => '', @@ -188,19 +189,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2-$3-$4', - 'leadingDigitsPatterns' => - array ( - 0 => '[3489]', - ), - 'nationalPrefixFormattingRule' => '8 ($1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 1 => - array ( - 'pattern' => '(7\\d{2})(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -210,8 +199,21 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2-$3-$4', + 'leadingDigitsPatterns' => + array ( + 0 => '[3489]', + ), + 'nationalPrefixFormattingRule' => '8 ($1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), ), 'mainCountryForCode' => true, + 'leadingDigits' => '3[04-689]|[489]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RW.php index 1ed68ceec..70fdd4c9e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_RW.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2[258]\\d{7}|06\\d{6}', + 'NationalNumberPattern' => '(?:06|2[258]\\d)\\d{6}', 'ExampleNumber' => '250123456', 'PossibleLength' => array ( @@ -151,7 +151,19 @@ return array ( array ( 0 => array ( - 'pattern' => '(2\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -161,9 +173,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( - 'pattern' => '([7-9]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -173,18 +185,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(0\\d)(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '0', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SA.php index d3779f848..c87f7fc89 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SA.php @@ -122,6 +122,7 @@ return array ( 'ExampleNumber' => '8110123456', 'PossibleLength' => array ( + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -157,11 +158,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(1\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[1-467]', + 0 => '1', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -169,7 +170,7 @@ return array ( ), 1 => array ( - 'pattern' => '(5\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -181,37 +182,37 @@ return array ( ), 2 => array ( - 'pattern' => '(92\\d{2})(\\d{5})', + 'pattern' => '(\\d{4})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '92', + 0 => '9', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 3 => array ( - 'pattern' => '(800)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '81', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 4 => array ( - 'pattern' => '(811)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '811', + 0 => '8', ), - 'nationalPrefixFormattingRule' => '0$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SB.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SB.php index 816447ff6..cbd14b66c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SB.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '48\\d{3}|7(?:30|[46-8]\\d|5[025-9]|9[0-5])\\d{4}|8[4-9]\\d{5}|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8])\\d{4}', + 'NationalNumberPattern' => '(?:48|(?:(?:7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d)\\d{3}', 'ExampleNumber' => '7421234', 'PossibleLength' => array ( @@ -153,7 +153,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[7-9]', + 0 => '7[1-9]|8[4-9]|9(?:1[2-9]|2[013-9]|3[0-2]|[46]|5[0-46-9]|7[0-689]|8[0-79]|9[0-8])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SD.php index 65c33b719..9173edf36 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SD.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:5\\d|8[3567])\\d{6}', + 'NationalNumberPattern' => '1(?:5\\d|8[35-7])\\d{6}', 'ExampleNumber' => '151231234', 'PossibleLength' => array ( @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[19]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SE.php index cd31f7476..52d069bef 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SE.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|[27]\\d{5}', + 'NationalNumberPattern' => '(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}', 'PossibleLength' => array ( 0 => 6, @@ -30,7 +30,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0[1-9]\\d{4,6}|(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8])\\d{5,6})', + 'NationalNumberPattern' => '1(?:0[1-8]\\d{6}|(?:[13689]\\d|2[0-35]|4[0-4]|5[0-25-9]|7[13-6])\\d{5,6})|(?:2(?:[136]\\d|2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|[1356]\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01]))\\d{5,6}|4(?:[0246]\\d{5,7}|(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0[1-9]\\d{4,6}|(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8])\\d{5,6})|(?:[12][136]|3[356])\\d{5}', 'ExampleNumber' => '8123456', 'PossibleLength' => array ( @@ -86,12 +86,11 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '77(?:0\\d{3}(?:\\d{3})?|[1-7]\\d{6})', + 'NationalNumberPattern' => '77[0-7]\\d{6}', 'ExampleNumber' => '771234567', 'PossibleLength' => array ( - 0 => 6, - 1 => 9, + 0 => 9, ), 'PossibleLengthLocalOnly' => array ( @@ -143,7 +142,7 @@ return array ( ), 'voicemail' => array ( - 'NationalNumberPattern' => '(?:25[245]|67[3-6])\\d{9}', + 'NationalNumberPattern' => '(?:25[245]|67[3-68])\\d{9}', 'ExampleNumber' => '254123456789', 'PossibleLength' => array ( @@ -173,103 +172,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-469]\\d)(\\d{3})(\\d{2})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(9[034]\\d)(\\d{4})', - 'format' => '$1-$2', - 'leadingDigitsPatterns' => - array ( - 0 => '9(?:00|39|44)', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(8)(\\d{2,3})(\\d{2,3})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '8', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', - 'format' => '$1-$2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(7\\d)(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1-$2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '7', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 7 => - array ( - 'pattern' => '(77)(\\d{2})(\\d{2})', - 'format' => '$1-$2$3', - 'leadingDigitsPatterns' => - array ( - 0 => '77', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(20)(\\d{2,3})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})', 'format' => '$1-$2 $3', 'leadingDigitsPatterns' => array ( @@ -279,25 +182,133 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 9 => + 1 => array ( - 'pattern' => '(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})', + 'format' => '$1-$2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1-$2', + 'leadingDigitsPatterns' => + array ( + 0 => '9(?:00|39|44)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', 'format' => '$1-$2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '9[034]', + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', + 'format' => '$1-$2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})', + 'format' => '$1-$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{3})(\\d{2,3})(\\d{3})', + 'format' => '$1-$2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '9(?:0|39|44)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 7 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', + 'format' => '$1-$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 8 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1-$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 9 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1-$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 10 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', + 'format' => '$1-$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 11 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1-$2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '25[245]|67[3-6]', + 0 => '[26]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -308,135 +319,111 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-469]\\d)(\\d{3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(9[034]\\d)(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '9(?:00|39|44)', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(8)(\\d{2,3})(\\d{2,3})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '8', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => - array ( - 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[0-5]|4[0-3])', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 6 => - array ( - 'pattern' => '(7\\d)(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '7', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 7 => - array ( - 'pattern' => '(77)(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '77', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 8 => - array ( - 'pattern' => '(20)(\\d{2,3})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( 0 => '20', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), - 9 => + 1 => array ( - 'pattern' => '(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[12][136]|3[356]|4[0246]|6[03]|90[1-9]', + ), + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '9(?:00|39|44)', + ), + ), + 3 => + array ( + 'pattern' => '(\\d)(\\d{2,3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '9[034]', + 0 => '8', + ), + ), + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{2,3})(\\d{2})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', + ), + ), + 5 => + array ( + 'pattern' => '(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]', + ), + ), + 6 => + array ( + 'pattern' => '(\\d{3})(\\d{2,3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '9(?:0|39|44)', + ), + ), + 7 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + ), + 8 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])', + ), + ), + 9 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '7', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), 10 => + array ( + 'pattern' => '(\\d{3})(\\d{2})(\\d{2})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '9', + ), + ), + 11 => array ( 'pattern' => '(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '25[245]|67[3-6]', + 0 => '[26]', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), ), 'mainCountryForCode' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SG.php index d908aaf46..d17c092cf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SG.php @@ -51,7 +51,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1?800\\d{7}', + 'NationalNumberPattern' => '(?:18|8)00\\d{7}', 'ExampleNumber' => '18001234567', 'PossibleLength' => array ( @@ -156,11 +156,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([3689]\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[369]|8[1-9]', + 0 => '[369]|8[1-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -168,12 +168,11 @@ return array ( ), 1 => array ( - 'pattern' => '(1[89]00)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[89]0', - 1 => '1[89]00', + 0 => '8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -181,12 +180,11 @@ return array ( ), 2 => array ( - 'pattern' => '(7000)(\\d{4})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '700', - 1 => '7000', + 0 => '1[89]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -194,11 +192,11 @@ return array ( ), 3 => array ( - 'pattern' => '(800)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '70', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SH.php index d94f2ba2c..75d96feb3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SH.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:[0-57-9]\\d|6[4-9])\\d{2}', + 'NationalNumberPattern' => '2(?:[0-57-9]\\d|6[4-9])\\d\\d', 'ExampleNumber' => '22158', 'PossibleLength' => array ( @@ -89,7 +89,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '262\\d{2}', + 'NationalNumberPattern' => '262\\d\\d', 'ExampleNumber' => '26212', 'PossibleLength' => array ( @@ -150,6 +150,7 @@ return array ( array ( ), 'mainCountryForCode' => true, + 'leadingDigits' => '[256]', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SI.php index 4e6dc6970..c79247f26 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SI.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1\\d|[25][2-8]|3[24-8]|4[24-8]|7[3-8])\\d{6}', + 'NationalNumberPattern' => '(?:1\\d|[25][2-8]|[34][24-8]|7[3-8])\\d{6}', 'ExampleNumber' => '11234567', 'PossibleLength' => array ( @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:[37][01]\\d|4[0139]\\d|51\\d|6(?:[48]\\d|5[15-7]|9[69]))\\d{5}', + 'NationalNumberPattern' => '(?:(?:[37][01]|4[0139]|51)\\d|6(?:[48]\\d|5[15-7]|9[69]))\\d{5}', 'ExampleNumber' => '31234567', 'PossibleLength' => array ( @@ -67,7 +67,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '90\\d{4,6}|89[1-3]\\d{2,5}', + 'NationalNumberPattern' => '89[1-3]\\d{2,5}|90\\d{4,6}', 'ExampleNumber' => '90123456', 'PossibleLength' => array ( @@ -157,6 +157,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{2})(\\d{3,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '8[09]|9', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d)(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -168,25 +180,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( - 'pattern' => '([3-7]\\d)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[37][01]|4[0139]|51|6', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '([89][09])(\\d{3,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[89][09]', + 0 => '[3467]|51', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -194,11 +194,11 @@ return array ( ), 3 => array ( - 'pattern' => '([58]\\d{2})(\\d{5})', + 'pattern' => '(\\d{3})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '59|8[1-3]', + 0 => '[58]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SJ.php index 01427561d..1efa26aed 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SJ.php @@ -120,7 +120,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}', + 'NationalNumberPattern' => '(?:0\\d|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}', 'ExampleNumber' => '01234', 'PossibleLength' => array ( @@ -162,6 +162,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '79', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SK.php index 8010d57c4..86143b09f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SK.php @@ -27,7 +27,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2(?:1(?:6\\d{3,4}|7\\d{3})|[2-9]\\d{7})|[3-5][1-8](?:1(?:6\\d{2,3}|7\\d{3})|\\d{7})', + 'NationalNumberPattern' => '(?:2(?:16|[2-9]\\d{3})|[3-5][1-8]\\d{3})\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d', 'ExampleNumber' => '221234567', 'PossibleLength' => array ( @@ -62,7 +62,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '9(?:[78]\\d{7}|00\\d{6})', + 'NationalNumberPattern' => '9(?:00|[78]\\d)\\d{6}', 'ExampleNumber' => '900123456', 'PossibleLength' => array ( @@ -142,7 +142,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}|9090\\d{3}', + 'NationalNumberPattern' => '(?:(?:602|8(?:00|[5-9]\\d))\\d{3}|9(?:0(?:0\\d{3}|90)|[78]\\d{4}))\\d{3}', 'PossibleLength' => array ( 0 => 7, @@ -162,11 +162,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(1[67])(\\d{3,4})', + 'pattern' => '(\\d)(\\d{2})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '21[67]', + 0 => '21', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -174,9 +174,47 @@ return array ( ), 1 => array ( - 'pattern' => '([3-5]\\d)(\\d{2})(\\d{2,3})', + 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => + array ( + 0 => '[3-5][1-8]1', + 1 => '[3-5][1-8]1[67]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{4})(\\d{3})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '909', + 1 => '9090', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', + 'format' => '$1/$2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '2', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1/$2 $3 $4', + 'leadingDigitsPatterns' => array ( 0 => '[3-5]', ), @@ -184,9 +222,49 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[689]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + ), + 'intlNumberFormat' => + array ( + 0 => + array ( + 'pattern' => '(\\d)(\\d{2})(\\d{3,4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '21', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{2,3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[3-5][1-8]1', + 1 => '[3-5][1-8]1[67]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), 2 => array ( - 'pattern' => '(2)(\\d{3})(\\d{3})(\\d{2})', + 'pattern' => '(\\d)(\\d{3})(\\d{3})(\\d{2})', 'format' => '$1/$2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -198,7 +276,7 @@ return array ( ), 3 => array ( - 'pattern' => '([3-5]\\d)(\\d{3})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1/$2 $3 $4', 'leadingDigitsPatterns' => array ( @@ -210,7 +288,7 @@ return array ( ), 4 => array ( - 'pattern' => '([689]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -220,22 +298,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 5 => - array ( - 'pattern' => '(9090)(\\d{3})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '909', - 1 => '9090', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - ), - 'intlNumberFormat' => - array ( ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SL.php index a23759067..bfc44cf02 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SL.php @@ -151,6 +151,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '(0$1)', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SM.php index 257189cef..ef6e617c2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SM.php @@ -147,7 +147,7 @@ return array ( 'id' => 'SM', 'countryCode' => 378, 'internationalPrefix' => '00', - 'nationalPrefixForParsing' => '([89]\\d{5})', + 'nationalPrefixForParsing' => '([89]\\d{5})$', 'nationalPrefixTransformRule' => '0549$1', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => @@ -166,24 +166,11 @@ return array ( ), 1 => array ( - 'pattern' => '(0549)(\\d{6})', + 'pattern' => '(\\d{4})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '054', - 1 => '0549', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{6})', - 'format' => '0549 $1', - 'leadingDigitsPatterns' => - array ( - 0 => '[89]', + 0 => '0', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -192,43 +179,6 @@ return array ( ), 'intlNumberFormat' => array ( - 0 => - array ( - 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '[5-7]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => - array ( - 'pattern' => '(0549)(\\d{6})', - 'format' => '($1) $2', - 'leadingDigitsPatterns' => - array ( - 0 => '054', - 1 => '0549', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{6})', - 'format' => '(0549) $1', - 'leadingDigitsPatterns' => - array ( - 0 => '[89]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SN.php index 1aebe40fa..d5dc2ce73 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SN.php @@ -90,7 +90,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '39[01]\\d{6}|3392\\d{5}|93330\\d{4}', + 'NationalNumberPattern' => '(?:3(?:392|9[01]\\d)\\d|93330)\\d{4}', 'ExampleNumber' => '933301234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SO.php index bd9cd3ffa..63503f42e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SO.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1\\d{1,2}|2[0-79]\\d|3[0-46-8]?\\d|4[0-7]?\\d|59\\d|8[125])\\d{4}', + 'NationalNumberPattern' => '(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|59)\\d{5}|(?:[134]\\d|8[125])\\d{4}', 'ExampleNumber' => '4012345', 'PossibleLength' => array ( @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:15\\d|2(?:4\\d|8)|3[59]\\d{2}|4[89]\\d{2}|6[1-9]?\\d{2}|7(?:[1-8]\\d|9\\d{1,2})|8[08]\\d{2}|9(?:0[67]|[2-9])\\d)\\d{5}', + 'NationalNumberPattern' => '(?:(?:15|(?:3[59]|4[89]|6[1-9]|79|8[08])\\d|9(?:0[67]|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:6\\d|7[1-9])\\d{6}', 'ExampleNumber' => '71123456', 'PossibleLength' => array ( @@ -152,6 +152,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{2})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '8[125]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{6})', 'format' => '$1', @@ -163,19 +175,19 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( 'pattern' => '(\\d)(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[13-5]|2[0-79]', + 0 => '[15]|2[0-79]|3[0-46-8]|4[0-7]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 3 => array ( 'pattern' => '(\\d)(\\d{7})', 'format' => '$1 $2', @@ -187,25 +199,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => - array ( - 'pattern' => '(\\d{2})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '8[125]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), 4 => array ( - 'pattern' => '(\\d{2})(\\d{5,7})', - 'format' => '$1 $2', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '15|28|6[1-35-9]|799|9[2-9]', + 0 => '[348]|64|79[0-8]|90', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -213,11 +213,11 @@ return array ( ), 5 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{5,7})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '3[59]|4[89]|6[24-6]|79|8[08]|90', + 0 => '[12679]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SR.php index 3003a84f8..6f2cf3bba 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SR.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[1-3]|3[0-7]|4\\d|5[2-58]|68\\d)\\d{4}', + 'NationalNumberPattern' => '(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}', 'ExampleNumber' => '211234', 'PossibleLength' => array ( @@ -163,7 +163,7 @@ return array ( 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( - 0 => '56', + 0 => '5', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SS.php index 13802c5db..5e1abd4e7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SS.php @@ -149,6 +149,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[19]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ST.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ST.php index 0e461c1ff..2946390c6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ST.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ST.php @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '9(?:0(?:0[5-9]|[1-9]\\d)|[89]\\d{2})\\d{3}', + 'NationalNumberPattern' => '9(?:0(?:0[5-9]|[1-9]\\d)|[89]\\d\\d)\\d{3}', 'ExampleNumber' => '9812345', 'PossibleLength' => array ( @@ -147,6 +147,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( + 0 => '[29]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SV.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SV.php index 870f1fbaa..23e1ed97b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SV.php @@ -153,11 +153,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{4})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[267]', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -165,11 +165,11 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{3})(\\d{4})', + 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[89]', + 0 => '[267]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SY.php index 2e8b44103..ea7259e4c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SY.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:1\\d?|4\\d|[2356])|2(?:1\\d?|[235])|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}', + 'NationalNumberPattern' => '(?:1[14]\\d|2(?:1\\d?|[235])|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}|1[1-356]\\d{6}', 'ExampleNumber' => '112345678', 'PossibleLength' => array ( @@ -163,7 +163,7 @@ return array ( ), 1 => array ( - 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SZ.php index a23806ada..a26df4a19 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_SZ.php @@ -169,7 +169,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '900', + 0 => '9', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TA.php index 5e0a18a78..586e0f378 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TA.php @@ -145,6 +145,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '8', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => false, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TD.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TD.php index e1ac9a76c..0aac9dca1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TD.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '22(?:[3789]0|5[0-5]|6[89])\\d{4}', + 'NationalNumberPattern' => '22(?:[37-9]0|5[0-5]|6[89])\\d{4}', 'ExampleNumber' => '22501234', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6[023568]\\d|77\\d|9\\d{2})\\d{5}', + 'NationalNumberPattern' => '(?:6[023568]|77|9\\d)\\d{6}', 'ExampleNumber' => '63012345', 'PossibleLength' => array ( @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( + 0 => '[2679]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TH.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TH.php index 8ca2400bb..c868fa697 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TH.php @@ -155,7 +155,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(2)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -167,7 +167,7 @@ return array ( ), 1 => array ( - 'pattern' => '([13-9]\\d)(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -179,14 +179,13 @@ return array ( ), 2 => array ( - 'pattern' => '(1[89]00)(\\d{3})(\\d{3})', + 'pattern' => '(\\d{4})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1[89]0', - 1 => '1[89]00', + 0 => '1', ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TJ.php index 4fe5992d1..cccaaddb1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TJ.php @@ -23,7 +23,8 @@ return array ( array ( 0 => 3, 1 => 5, - 2 => 7, + 2 => 6, + 3 => 7, ), ), 'fixedLine' => @@ -37,7 +38,8 @@ return array ( array ( 0 => 3, 1 => 5, - 2 => 7, + 2 => 6, + 3 => 7, ), ), 'mobile' => @@ -152,11 +154,12 @@ return array ( array ( 0 => array ( - 'pattern' => '([349]\\d{2})(\\d{2})(\\d{4})', + 'pattern' => '(\\d{4})(\\d)(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[34]7|91[78]', + 0 => '3(?:[1245]|3[12])', + 1 => '3(?:[1245]|3(?:1[0-689]|2))', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -164,11 +167,11 @@ return array ( ), 1 => array ( - 'pattern' => '([457-9]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{6})(\\d)(\\d{2})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '4[148]|[578]|9(?:[0235-9]|1[59])', + 0 => '33', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -176,14 +179,11 @@ return array ( ), 2 => array ( - 'pattern' => '(331700)(\\d)(\\d{2})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '331', - 1 => '3317', - 2 => '33170', - 3 => '331700', + 0 => '4[148]|[578]|9(?:[0235-9]|1[0-69])', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -191,12 +191,11 @@ return array ( ), 3 => array ( - 'pattern' => '(\\d{4})(\\d)(\\d{4})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '3[1-5]', - 1 => '3(?:[1245]|3(?:[02-9]|1[0-589]))', + 0 => '[349]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TL.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TL.php index 3043aa806..324e9ad39 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TL.php @@ -168,7 +168,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '7[3-8]', + 0 => '7', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TM.php index c32c66859..af2f8a5ff 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TM.php @@ -174,7 +174,7 @@ return array ( 'format' => '$1 $2-$3-$4', 'leadingDigitsPatterns' => array ( - 0 => '13|[2-5]', + 0 => '[1-5]', ), 'nationalPrefixFormattingRule' => '(8 $1)', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TN.php index 5798ff978..a3a5d4df3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TN.php @@ -25,7 +25,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3[0-2]\\d{3}|7\\d{4}|81200)\\d{3}', + 'NationalNumberPattern' => '(?:(?:3[0-2]|7\\d)\\d{3}|81200)\\d{3}', 'ExampleNumber' => '30010123', 'PossibleLength' => array ( @@ -36,7 +36,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:[259]\\d{3}|3(?:001|1(?:[1-35]\\d|40)|240|6[0-4]\\d|91\\d)|4[0-6]\\d{2})\\d{4}', + 'NationalNumberPattern' => '(?:(?:[259]\\d|4[0-6])\\d\\d|3(?:001|1(?:[1-35]\\d|40)|240|(?:6[0-4]|91)\\d))\\d{4}', 'ExampleNumber' => '20123456', 'PossibleLength' => array ( @@ -150,6 +150,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[2-57-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TO.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TO.php index a986aacb3..b786f8090 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TO.php @@ -152,7 +152,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( - 0 => '[1-6]|7[0-4]|8[05]', + 0 => '[2-6]|7[014]|8[05]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -164,7 +164,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '7[5-9]|8[46-9]', + 0 => '7[578]|8', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TR.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TR.php index 06b1213f5..b255b03a6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TR.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '5(?:(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{2}|6161)\\d{5}', + 'NationalNumberPattern' => '5(?:(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d\\d|6161)\\d{5}', 'ExampleNumber' => '5012345678', 'PossibleLength' => array ( @@ -118,7 +118,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '444\\d{4}|850\\d{7}', + 'NationalNumberPattern' => '(?:444|850\\d{3})\\d{4}', 'ExampleNumber' => '4441444', 'PossibleLength' => array ( @@ -158,43 +158,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '[23]|4(?:[0-35-9]|4[0-35-9])', - ), - 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 1 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '5(?:[02-69]|1[06])', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '51|[89]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 3 => - array ( - 'pattern' => '(444)(\\d{1})(\\d{3})', + 'pattern' => '(\\d{3})(\\d)(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -204,9 +168,81 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-4]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '512|[89]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '5', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-4]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '512|[89]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '5', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php index 41bec1566..d38217cde 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TT.php @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '868(?:2(?:6[6-9]|[789]\\d)|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}', + 'NationalNumberPattern' => '868(?:2(?:6[6-9]|[7-9]\\d)|[37](?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d))\\d{4}', 'ExampleNumber' => '8682911234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TW.php index c00d52cf8..374d95967 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TW.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:[235-8]\\d{3}|4\\d{2,3})|3[2-9]\\d{2}|4(?:[239]\\d|[78])\\d{2}|5[2-8]\\d{2}|6[235-79]\\d{2}|7[1-9]\\d{2}|8(?:2(?:3\\d|66)|[7-9]\\d{2}))\\d{4}', + 'NationalNumberPattern' => '(?:(?:2[2-8]\\d|3[2-9]|4(?:[239]\\d|[78])|5[2-8]|6[235-79]|7[1-9])\\d\\d|8(?:2(?:3\\d|66)|[7-9]\\d\\d))\\d{4}|24\\d{6}', 'ExampleNumber' => '221234567', 'PossibleLength' => array ( @@ -65,7 +65,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '20(?:2|[013-9]\\d{2})\\d{4}', + 'NationalNumberPattern' => '20(?:[013-9]\\d\\d|2)\\d{4}', 'ExampleNumber' => '203123456', 'PossibleLength' => array ( @@ -154,7 +154,7 @@ return array ( ), 'id' => 'TW', 'countryCode' => 886, - 'internationalPrefix' => '0(?:0[25679]|19)', + 'internationalPrefix' => '0(?:0[25-79]|19)', 'nationalPrefix' => '0', 'preferredExtnPrefix' => '#', 'nationalPrefixForParsing' => '0', @@ -163,7 +163,7 @@ return array ( array ( 0 => array ( - 'pattern' => '(20)(\\d)(\\d{4})', + 'pattern' => '(\\d{2})(\\d)(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -175,11 +175,11 @@ return array ( ), 1 => array ( - 'pattern' => '([258]0)(\\d{3})(\\d{4})', + 'pattern' => '(\\d)(\\d{3,4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '20[013-9]|50[0-46-9]|80[0-79]', + 0 => '[25][2-8]|[346]|7[1-9]|8[27-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -187,11 +187,11 @@ return array ( ), 2 => array ( - 'pattern' => '([2-8])(\\d{3,4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[25][2-8]|[346]|[78][1-9]', + 0 => '[258]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -199,7 +199,7 @@ return array ( ), 3 => array ( - 'pattern' => '(9\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -211,11 +211,11 @@ return array ( ), 4 => array ( - 'pattern' => '(70)(\\d{4})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '70', + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TZ.php index 7b8561c08..79bf6ac8b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_TZ.php @@ -149,7 +149,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([24]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -161,7 +161,7 @@ return array ( ), 1 => array ( - 'pattern' => '([67]\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -173,7 +173,7 @@ return array ( ), 2 => array ( - 'pattern' => '([89]\\d{2})(\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{2})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php index 07aacc50e..553d233bc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UA.php @@ -155,12 +155,12 @@ return array ( array ( 0 => array ( - 'pattern' => '([3-9]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[38]9|4(?:[45][0-5]|87)|5(?:0|[67][37])|6[36-8]|7|9[1-9]', - 1 => '[38]9|4(?:[45][0-5]|87)|5(?:0|6(?:3[14-7]|7)|7[37])|6[36-8]|7|9[1-9]', + 0 => '(?:3[1-8]|4[136-8])2|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|[89]0', + 1 => '3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|[89]0', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -168,12 +168,12 @@ return array ( ), 1 => array ( - 'pattern' => '([3-689]\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})(\\d{5})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '(?:3[1-8]|4[136-8])2|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|8[0-8]|90', - 1 => '3(?:[1-46-8]2[013-9]|52)|4(?:[1378]2|62[013-9])|5(?:[12457]2|6[24])|6(?:[12][29]|[49]2|5[24])|8[0-8]|90', + 0 => '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6[12459]', + 1 => '3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6[12459]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -181,12 +181,11 @@ return array ( ), 2 => array ( - 'pattern' => '([3-6]\\d{3})(\\d{5})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '3(?:[1-46-8]|5[013-9])|4(?:[137][013-9]|[45][6-9]|6|8[4-6])|5(?:[1245][013-9]|3|6[0135689]|7[4-6])|6(?:[12][13-8]|[49][013-9]|5[0135-9])', - 1 => '3(?:[1-46-8](?:[013-9]|22)|5[013-9])|4(?:[137][013-9]|[45][6-9]|6(?:[013-9]|22)|8[4-6])|5(?:[1245][013-9]|3|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][13-8]|[49][013-9]|5[0135-9])', + 0 => '[35-9]|4(?:[45]|87)', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UG.php index dfa2d6780..709f139fe 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UG.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '20(?:[0147]\\d{3}|2(?:40|[5-9]\\d)\\d|3(?:0[0-4]|[2367]\\d)\\d|5[0-4]\\d{2}|6(?:00[0-2]|30[0-4]|[5-9]\\d{2})|8[0-2]\\d{2})\\d{3}|[34]\\d{8}', + 'NationalNumberPattern' => '(?:20(?:(?:(?:[0147]\\d|5[0-4]|8[0-2])\\d|2(?:40|[5-9]\\d)|3(?:0[0-4]|[2367]\\d))\\d|6(?:00[0-2]|30[0-4]|[5-9]\\d\\d))|[34]\\d{5})\\d{3}', 'ExampleNumber' => '312345678', 'PossibleLength' => array ( @@ -42,7 +42,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '7(?:[09][0-7]\\d|[1578]\\d{2}|2(?:[03]\\d|60)|30\\d|4[0-4]\\d)\\d{5}', + 'NationalNumberPattern' => '7(?:(?:[0157-9]\\d|30|4[0-4])\\d|2(?:[03]\\d|60))\\d{5}', 'ExampleNumber' => '712345678', 'PossibleLength' => array ( @@ -53,7 +53,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '800[123]\\d{5}', + 'NationalNumberPattern' => '800[1-3]\\d{5}', 'ExampleNumber' => '800123456', 'PossibleLength' => array ( @@ -64,7 +64,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '90[123]\\d{6}', + 'NationalNumberPattern' => '90[1-3]\\d{6}', 'ExampleNumber' => '901123456', 'PossibleLength' => array ( @@ -153,12 +153,11 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{3})(\\d{6})', + 'pattern' => '(\\d{2})(\\d{7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '20[0-8]|4(?:6[45]|[7-9])|[7-9]', - 1 => '20(?:[013-8]|2[5-9])|4(?:6[45]|[7-9])|[7-9]', + 0 => '3|4(?:[0-5]|6[0-36-9])', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -166,11 +165,12 @@ return array ( ), 1 => array ( - 'pattern' => '(\\d{2})(\\d{7})', + 'pattern' => '(\\d{4})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '3|4(?:[1-5]|6[0-36-9])', + 0 => '202', + 1 => '2024', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -178,12 +178,11 @@ return array ( ), 2 => array ( - 'pattern' => '(2024)(\\d{5})', + 'pattern' => '(\\d{3})(\\d{6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '202', - 1 => '2024', + 0 => '[247-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php index d471a44b7..3dbcc3b6c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_US.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', + 'NationalNumberPattern' => '(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-2])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', 'ExampleNumber' => '2015550123', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[012])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[014678]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', + 'NationalNumberPattern' => '(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[0-24679]|4[67]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|6[39]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[017]|6[0-279]|78|8[0-2])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|2[08]|3[0-28]|4[3578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[0179]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}', 'ExampleNumber' => '2015550123', 'PossibleLength' => array ( @@ -156,10 +156,11 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, + 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( @@ -167,6 +168,7 @@ return array ( 'format' => '($1) $2-$3', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -181,10 +183,8 @@ return array ( 'format' => '$1-$2-$3', 'leadingDigitsPatterns' => array ( + 0 => '[2-9]', ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, ), ), 'mainCountryForCode' => true, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UY.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UY.php index 8969653e9..406e69925 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UY.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '2\\d{7}|4[2-7]\\d{6}', + 'NationalNumberPattern' => '(?:2\\d|4[2-7])\\d{6}', 'ExampleNumber' => '21231234', 'PossibleLength' => array ( @@ -145,7 +145,7 @@ return array ( ), 'id' => 'UY', 'countryCode' => 598, - 'internationalPrefix' => '0(?:1[3-9]\\d|0)', + 'internationalPrefix' => '0(?:0|1[3-9]\\d)', 'preferredInternationalPrefix' => '00', 'nationalPrefix' => '0', 'preferredExtnPrefix' => ' int. ', @@ -154,6 +154,18 @@ return array ( 'numberFormat' => array ( 0 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '8|90', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => array ( 'pattern' => '(\\d{4})(\\d{4})', 'format' => '$1 $2', @@ -165,25 +177,13 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '9[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '(\\d{3})(\\d{4})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[89]0', + 0 => '9', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UZ.php index 7b262224b..31442f024 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_UZ.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}', + 'NationalNumberPattern' => '(?:6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d\\d|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|1[12]\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}', 'ExampleNumber' => '669050123', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '6(?:1(?:2(?:98|2[01])|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:11\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4])|7\\d{2})|5(?:19[01]|2(?:27|9[26])|30\\d|59\\d|7\\d{2})|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|3[79]\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79])|9[0-3]\\d)|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|5\\d|3[01]|7[0-4])|5[67]\\d|6(?:2[0-26]|8\\d)|7\\d{2}))\\d{4}|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|33\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078])|9[4-6]\\d)|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0127]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[05629]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))\\d{4}|9[0-57-9]\\d{7}', + 'NationalNumberPattern' => '(?:6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\d|7[0-4])|(?:5[67]|7\\d)\\d|6(?:2[0-26]|8\\d)))|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))|9[0-57-9]\\d{3})\\d{4}', 'ExampleNumber' => '912345678', 'PossibleLength' => array ( @@ -148,7 +148,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([679]\\d)(\\d{3})(\\d{2})(\\d{2})', + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VA.php index 6065262ed..c7acee94a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VA.php @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '3(?:1\\d{8}|[245-9]\\d{7,8}|3\\d{7,9})', + 'NationalNumberPattern' => '33\\d{9}|3[1-9]\\d{8}|3[2-9]\\d{7}', 'ExampleNumber' => '3123456789', 'PossibleLength' => array ( @@ -55,7 +55,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '80(?:0\\d{6}|3\\d{3})', + 'NationalNumberPattern' => '80(?:0\\d{3}|3)\\d{3}', 'ExampleNumber' => '800123456', 'PossibleLength' => array ( @@ -68,7 +68,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '0878\\d{5}|1(?:44|6[346])\\d{6}|89(?:2\\d{3}|4(?:[0-4]\\d{2}|[5-9]\\d{4})|5(?:[0-4]\\d{2}|[5-9]\\d{6})|9\\d{6})', + 'NationalNumberPattern' => '(?:(?:0878|1(?:44|6[346])\\d)\\d\\d|89(?:2|(?:4[5-9]|(?:5[5-9]|9)\\d\\d)\\d))\\d{3}|89[45][0-4]\\d\\d', 'ExampleNumber' => '899123456', 'PossibleLength' => array ( @@ -83,7 +83,7 @@ return array ( ), 'sharedCost' => array ( - 'NationalNumberPattern' => '84(?:[08]\\d{6}|[17]\\d{3})', + 'NationalNumberPattern' => '84(?:[08]\\d{3}|[17])\\d{3}', 'ExampleNumber' => '848123456', 'PossibleLength' => array ( @@ -151,10 +151,9 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '848\\d{6}', 'PossibleLength' => array ( - 0 => 9, + 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -171,6 +170,7 @@ return array ( array ( ), 'mainCountryForCode' => false, + 'leadingDigits' => '06698', 'leadingZeroPossible' => false, 'mobileNumberPortableRegion' => true, ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VE.php index b91889b3c..bfff1e23b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VE.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}', + 'NationalNumberPattern' => '(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|50[01])\\d{7}', 'ExampleNumber' => '2121234567', 'PossibleLength' => array ( @@ -153,6 +153,7 @@ return array ( 'format' => '$1-$2', 'leadingDigitsPatterns' => array ( + 0 => '[24589]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '$CC $1', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VG.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VG.php index 2b0456b7a..334ee9422 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VG.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '284(?:(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})', + 'NationalNumberPattern' => '284(?:(?:229|774|8(?:52|6[459]))\\d|4(?:22\\d|9(?:[45]\\d|6[0-5])))\\d{3}', 'ExampleNumber' => '2842291234', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '284(?:(?:3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|99)|54[0-57])\\d{4}|496[6-9]\\d{3})', + 'NationalNumberPattern' => '284(?:(?:3(?:0[0-3]|4[0-7]|68|9[34])|54[0-57])\\d|4(?:(?:4[0-6]|68)\\d|9(?:6[6-9]|9\\d)))\\d{3}', 'ExampleNumber' => '2843001234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VI.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VI.php index 356979ed1..bd0492d9f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VI.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}', + 'NationalNumberPattern' => '340(?:2(?:01|2[06-8]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}', 'ExampleNumber' => '3406421234', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '340(?:2(?:01|2[0678]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}', + 'NationalNumberPattern' => '340(?:2(?:01|2[06-8]|44|77)|3(?:32|44)|4(?:22|7[34])|5(?:1[34]|55)|6(?:26|4[23]|77|9[023])|7(?:1[2-57-9]|27|7\\d)|884|998)\\d{4}', 'ExampleNumber' => '3406421234', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VN.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VN.php index ec2f2f5ee..a9828ee3e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VN.php @@ -32,8 +32,7 @@ return array ( 'ExampleNumber' => '2101234567', 'PossibleLength' => array ( - 0 => 9, - 1 => 10, + 0 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -41,12 +40,11 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:1(?:2\\d|6[2-9]|8[68]|99)\\d|3\\d{2}|5(?:2[23]|[689]\\d)|7[06-9]\\d|8(?:[1-58]\\d|[69][689])|9(?:[0-8]\\d|9[013-9]))\\d{6}', + 'NationalNumberPattern' => '(?:(?:3\\d|7[06-9])\\d|5(?:2[238]|[689]\\d)|8(?:[1-58]\\d|6[5689]|9[689])|9(?:[0-8]\\d|9[013-9]))\\d{6}', 'ExampleNumber' => '912345678', 'PossibleLength' => array ( 0 => 9, - 1 => 10, ), 'PossibleLengthLocalOnly' => array ( @@ -102,7 +100,7 @@ return array ( ), 'voip' => array ( - 'NationalNumberPattern' => '(?:672|992)\\d{6}', + 'NationalNumberPattern' => '(?:67|99)2\\d{6}', 'ExampleNumber' => '992012345', 'PossibleLength' => array ( @@ -124,7 +122,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '[17]99\\d{4}|69\\d{5,6}|80\\d{5}', + 'NationalNumberPattern' => '(?:[17]99|69\\d\\d?|80\\d)\\d{4}', 'ExampleNumber' => '1992000', 'PossibleLength' => array ( @@ -147,7 +145,7 @@ return array ( ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '[17]99\\d{4}|69\\d{5,6}', + 'NationalNumberPattern' => '(?:[17]99|69\\d\\d?)\\d{4}', 'PossibleLength' => array ( 0 => 7, @@ -167,7 +165,19 @@ return array ( array ( 0 => array ( - 'pattern' => '([17]99)(\\d{4})', + 'pattern' => '(\\d{2})(\\d{5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -177,7 +187,55 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 1 => + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '69', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 3 => + array ( + 'pattern' => '(\\d{4})(\\d{4,6})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[69]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[3578]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 6 => array ( 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -189,9 +247,24 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 2 => + 7 => array ( - 'pattern' => '(80)(\\d{5})', + 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '2', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + ), + 'intlNumberFormat' => + array ( + 0 => + array ( + 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -201,13 +274,37 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 3 => + 1 => array ( - 'pattern' => '(69\\d)(\\d{4,5})', + 'pattern' => '(\\d{4})(\\d{4,6})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '69', + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 2 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '[69]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => true, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[3578]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -215,11 +312,11 @@ return array ( ), 4 => array ( - 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', + 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2[0-35-79]', + 0 => '2[48]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -227,56 +324,16 @@ return array ( ), 5 => array ( - 'pattern' => '(\\d{2})(\\d{3})(\\d{2})(\\d{2})', - 'format' => '$1 $2 $3 $4', - 'leadingDigitsPatterns' => - array ( - 0 => '672|9', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 6 => - array ( - 'pattern' => '(1[2689]\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[26]|8[68]|99)', + 0 => '2', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => true, ), - 7 => - array ( - 'pattern' => '([3578]\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '[357]|8[1-9]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - 8 => - array ( - 'pattern' => '(1[89]00)(\\d{4,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1[89]0', - 1 => '1[89]00', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => true, - ), - ), - 'intlNumberFormat' => - array ( ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VU.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VU.php index 26555e615..f9b2494ab 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_VU.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:(?:[23]|[57]\\d\\d|900)\\d|[48]8)\\d{3}', + 'NationalNumberPattern' => '(?:(?:[23]|(?:[57]\\d|90)\\d)\\d|[48]8)\\d{3}', 'PossibleLength' => array ( 0 => 5, @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[02-9]\\d|3(?:[5-7]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}', + 'NationalNumberPattern' => '(?:(?:2[02-9]|88)\\d|3(?:[5-7]\\d|8[0-8])|48[4-9])\\d\\d', 'ExampleNumber' => '22123', 'PossibleLength' => array ( @@ -38,7 +38,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:5(?:7[2-5]|[0-689]\\d)|7[013-7]\\d)\\d{4}', + 'NationalNumberPattern' => '(?:5(?:[0-689]\\d|7[2-5])|7[013-7]\\d)\\d{4}', 'ExampleNumber' => '5912345', 'PossibleLength' => array ( @@ -90,9 +90,11 @@ return array ( ), 'voip' => array ( + 'NationalNumberPattern' => '90[1-9]\\d{4}', + 'ExampleNumber' => '9010123', 'PossibleLength' => array ( - 0 => -1, + 0 => 7, ), 'PossibleLengthLocalOnly' => array ( @@ -110,7 +112,7 @@ return array ( ), 'uan' => array ( - 'NationalNumberPattern' => '3[03]\\d{3}|900\\d{4}', + 'NationalNumberPattern' => '(?:3[03]|900\\d)\\d{3}', 'ExampleNumber' => '30123', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WF.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WF.php index 302ba3d3f..e261b7a44 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WF.php @@ -148,6 +148,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[4-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WS.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WS.php index 420171b98..c8501b030 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_WS.php @@ -151,7 +151,19 @@ return array ( array ( 0 => array ( - 'pattern' => '(8\\d{2})(\\d{3,7})', + 'pattern' => '(\\d{5})', + 'format' => '$1', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-6]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{3})(\\d{3,7})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -161,9 +173,9 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 1 => + 2 => array ( - 'pattern' => '(7\\d)(\\d{5})', + 'pattern' => '(\\d{2})(\\d{5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( @@ -173,18 +185,6 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(\\d{5})', - 'format' => '$1', - 'leadingDigitsPatterns' => - array ( - 0 => '[2-6]', - ), - 'nationalPrefixFormattingRule' => '', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), ), 'intlNumberFormat' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_XK.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_XK.php index 7bca488d5..89fd83611 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_XK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_XK.php @@ -26,7 +26,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2[89]0?|3(?:8|90?))\\d{6}', + 'NationalNumberPattern' => '(?:2[89]|39)0\\d{6}|[23][89]\\d{6}', 'ExampleNumber' => '28012345', 'PossibleLength' => array ( @@ -155,7 +155,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[23][89]|4[3-79]', + 0 => '[2-4]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -167,7 +167,7 @@ return array ( 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[89]00', + 0 => '[89]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -179,6 +179,7 @@ return array ( 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( + 0 => '[23]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_YE.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_YE.php index d1c665bd3..64814c4a7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_YE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_YE.php @@ -28,7 +28,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}', + 'NationalNumberPattern' => '17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}', 'ExampleNumber' => '1234567', 'PossibleLength' => array ( @@ -152,7 +152,7 @@ return array ( array ( 0 => array ( - 'pattern' => '([1-7])(\\d{3})(\\d{3,4})', + 'pattern' => '(\\d)(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -164,11 +164,11 @@ return array ( ), 1 => array ( - 'pattern' => '(7\\d{2})(\\d{3})(\\d{3})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '7[0137]', + 0 => '7', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZA.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZA.php index 616d754de..8ec2a28aa 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZA.php @@ -41,7 +41,7 @@ return array ( ), 'mobile' => array ( - 'NationalNumberPattern' => '(?:6\\d|7[0-46-9])\\d{7}|8(?:[1-4]\\d{1,5}|5\\d{5})\\d{2}', + 'NationalNumberPattern' => '(?:6\\d|7[0-46-9]|8[1-5])\\d{7}|8[1-4]\\d{3,6}', 'ExampleNumber' => '711234567', 'PossibleLength' => array ( @@ -64,7 +64,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '86[2-9]\\d{6}|9[0-2]\\d{7}', + 'NationalNumberPattern' => '(?:86[2-9]|9[0-2]\\d)\\d{6}', 'ExampleNumber' => '862345678', 'PossibleLength' => array ( @@ -159,18 +159,6 @@ return array ( 'numberFormat' => array ( 0 => - array ( - 'pattern' => '(860)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '860', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 1 => array ( 'pattern' => '(\\d{2})(\\d{3,4})', 'format' => '$1 $2', @@ -182,7 +170,7 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => + 1 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{2,3})', 'format' => '$1 $2 $3', @@ -194,13 +182,25 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '860', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), 3 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[1-79]|8(?:[0-57]|6[1-9])', + 0 => '[1-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZM.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZM.php index e4327ae94..00be4503f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZM.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:(?:21|9\\d)\\d|800)\\d{6}', + 'NationalNumberPattern' => '(?:(?:21|76|9\\d)\\d|800)\\d{6}', 'PossibleLength' => array ( 0 => 9, @@ -22,7 +22,6 @@ return array ( 'PossibleLengthLocalOnly' => array ( 0 => 6, - 1 => 7, ), ), 'fixedLine' => @@ -35,12 +34,11 @@ return array ( 'PossibleLengthLocalOnly' => array ( 0 => 6, - 1 => 7, ), ), 'mobile' => array ( - 'NationalNumberPattern' => '9[4-9]\\d{7}', + 'NationalNumberPattern' => '(?:76|9[5-8])\\d{7}', 'ExampleNumber' => '955123456', 'PossibleLength' => array ( @@ -150,46 +148,34 @@ return array ( array ( 0 => array ( - 'pattern' => '(\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( ), - 'nationalPrefixFormattingRule' => '$1', + 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), 1 => array ( - 'pattern' => '([1-8])(\\d{2})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '[1-8]', - ), - 'nationalPrefixFormattingRule' => '$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 2 => - array ( - 'pattern' => '([29]\\d)(\\d{7})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '[29]', + 0 => '[28]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 3 => + 2 => array ( - 'pattern' => '(800)(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{2})(\\d{7})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '800', + 0 => '[79]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -198,6 +184,30 @@ return array ( ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '[28]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[79]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZW.php b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZW.php index 059fb06d1..69cb63ade 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/PhoneNumberMetadata_ZW.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{7})|(?:[38]\\d|7)\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}', + 'NationalNumberPattern' => '2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}', 'PossibleLength' => array ( 0 => 5, @@ -32,7 +32,7 @@ return array ( ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:2(?:0(?:4\\d|5\\d{2})|2[278]\\d|48\\d|7(?:[1-7]\\d|[089]\\d{2})|8(?:[2-57-9]|[146]\\d{2})|98)|3(?:08|17|3[78]|7(?:[19]|[56]\\d)|8[37]|98)|5[15][78]|6(?:28\\d{2}|37|6[78]|75\\d|98|8(?:7\\d|8)))\\d{3}|(?:2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329)\\d{7}|(?:1(?:3\\d{2}|[4-8]|9\\d)|2(?:0\\d{2}|12|292|[569]\\d)|3(?:[26]|[013459]\\d)|5(?:0|1[2-4]|26|[37]2|5\\d{2}|[689]\\d)|6(?:[39]|[01246]\\d|[78]\\d{2}))\\d{3}|(?:29\\d|39|54)\\d{6}|(?:(?:25|54)83\\d|2582\\d{2}|65[2-8])\\d{2}|(?:4\\d{6,7}|9[2-9]\\d{4,5})', + 'NationalNumberPattern' => '(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|(?:4\\d\\d|9[2-9])\\d\\d?|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}', 'ExampleNumber' => '1312345', 'PossibleLength' => array ( @@ -160,11 +160,11 @@ return array ( array ( 0 => array ( - 'pattern' => '([49])(\\d{3})(\\d{2,4})', + 'pattern' => '(\\d)(\\d{3})(\\d{2,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '4|9[2-9]', + 0 => '[49]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -172,7 +172,44 @@ return array ( ), 1 => array ( - 'pattern' => '(7\\d)(\\d{3})(\\d{4})', + 'pattern' => '(\\d{3})(\\d{3,5})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:0[45]|2[278]|[49]8|[78])|3(?:[09]8|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78]|75)', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{4})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{2})(\\d{7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:[05-79]2|4)|(?:39|5[45]|6[15-8])2|8[13-59]', + 1 => '2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{2})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( @@ -182,49 +219,14 @@ return array ( 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 2 => - array ( - 'pattern' => '(86\\d{2})(\\d{3})(\\d{3})', - 'format' => '$1 $2 $3', - 'leadingDigitsPatterns' => - array ( - 0 => '86[24]', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => - array ( - 'pattern' => '([2356]\\d{2})(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '2(?:0[45]|2[278]|[49]8|[78])|3(?:[09]8|17|3[78]|7[1569]|8[37])|5[15][78]|6(?:[29]8|37|[68][78]|75)', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 4 => + 5 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '2(?:1[39]|2[0157]|31|[56][14]|7[35]|84)|329', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 5 => - array ( - 'pattern' => '([1-356]\\d)(\\d{3,5})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '1[3-9]|2[02569]|3[0-69]|5[05689]|6', + 0 => '2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)', + 1 => '2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -232,11 +234,11 @@ return array ( ), 6 => array ( - 'pattern' => '([235]\\d)(\\d{3})(\\d{3,4})', - 'format' => '$1 $2 $3', + 'pattern' => '(\\d{4})(\\d{6})', + 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '[23]9|54', + 0 => '8', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -244,12 +246,11 @@ return array ( ), 7 => array ( - 'pattern' => '([25]\\d{3})(\\d{3,5})', + 'pattern' => '(\\d{2})(\\d{3,5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '(?:25|54)8', - 1 => '258[23]|5483', + 0 => '[136]|2(?:[0-256]|9[0-79])|5[0-35-9]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -257,11 +258,11 @@ return array ( ), 8 => array ( - 'pattern' => '(8\\d{3})(\\d{6})', - 'format' => '$1 $2', + 'pattern' => '(\\d{2})(\\d{3})(\\d{3,4})', + 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '86', + 0 => '29|3|54', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', @@ -269,11 +270,11 @@ return array ( ), 9 => array ( - 'pattern' => '(80\\d)(\\d{4})', + 'pattern' => '(\\d{4})(\\d{3,5})', 'format' => '$1 $2', 'leadingDigitsPatterns' => array ( - 0 => '80', + 0 => '[25]', ), 'nationalPrefixFormattingRule' => '0$1', 'domesticCarrierCodeFormattingRule' => '', diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AC.php index 38cc4d0e6..6bf0a13d7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AD.php index c8296860f..aa15f6208 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AD.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[0268]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[0268]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[0268]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AE.php index 9c9b5acc2..7958eec91 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AE.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|99[7-9]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '112|99[789]', + 'NationalNumberPattern' => '112|99[7-9]', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '112|445[16]|99[789]', + 'NationalNumberPattern' => '112|445[16]|99[7-9]', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -89,8 +91,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '445[16]', - 'ExampleNumber' => '4451', + 'NationalNumberPattern' => '445\\d', + 'ExampleNumber' => '4450', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AF.php index b5d2c5c55..99b25123a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AF.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:02|19)', + 'ExampleNumber' => '102', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:02|19)', - 'ExampleNumber' => '119', + 'ExampleNumber' => '102', 'PossibleLength' => array ( 0 => 3, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:02|19)|40404', - 'ExampleNumber' => '119', + 'ExampleNumber' => '102', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AG.php index 68284c2ca..7e44f9a89 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AG.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '176|9(?:11|99)', - 'ExampleNumber' => '911', + 'ExampleNumber' => '176', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AI.php index e705982f7..cb6c028a7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AI.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '9\\d\\d', + 'NationalNumberPattern' => '[19]\\d\\d', 'PossibleLength' => array ( 0 => 3, @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '911', - 'ExampleNumber' => '911', + 'NationalNumberPattern' => '176|911', + 'ExampleNumber' => '176', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AL.php index 318851423..418d04330 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AL.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:3[15]|41|16\\d{3})', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6[01]\\d\\d)|2[7-9]|3[15]|41)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -42,7 +42,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '5\\d{4}', - 'ExampleNumber' => '50123', + 'ExampleNumber' => '50000', 'PossibleLength' => array ( 0 => 5, @@ -54,7 +54,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:12|2[7-9])', - 'ExampleNumber' => '129', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -65,8 +65,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:\\d|6(?:000|1(?:06|11|23))|8\\d{2})|2[2-9]|[349]\\d|65\\d|89[12])|5\\d{4}', - 'ExampleNumber' => '129', + 'NationalNumberPattern' => '1(?:1(?:6(?:000|1(?:06|11|23))|8\\d\\d)|65\\d|89[12])|5\\d{4}|1(?:[1349]\\d|2[2-9])', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -99,7 +99,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '131|5\\d{4}', - 'ExampleNumber' => '51234', + 'ExampleNumber' => '131', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AM.php index a9b979c91..30d1d3cc9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AM.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '10[1-3]', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,8 +49,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '10[123]', - 'ExampleNumber' => '102', + 'NationalNumberPattern' => '10[1-3]', + 'ExampleNumber' => '101', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1\\d{2}|40404|8[1-7]\\d{2}', - 'ExampleNumber' => '8711', + 'NationalNumberPattern' => '(?:1|8[1-7])\\d\\d|40404', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -80,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -92,8 +94,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AO.php index 125f151e8..147374953 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AO.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[235]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[235]', - 'ExampleNumber' => '113', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[235]', - 'ExampleNumber' => '113', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AS.php index e2b7e0594..5b8c640e5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AS.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -89,8 +91,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AT.php index fc3ca1981..b90242f0b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AT.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:00[06]|1(?:17|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '116\\d{3}|1(?:[12]2|33|44)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -60,7 +59,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:17|23)))|22|33|44)', + 'NationalNumberPattern' => '116(?:00[06]|1(?:17|23))|1(?:[12]2|33|44)', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AU.php index 09fd98af0..3c4eb9124 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AU.php @@ -30,8 +30,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:258885|555)|733', - 'ExampleNumber' => '733', + 'NationalNumberPattern' => '000|1(?:06|12|258885|55\\d)|733', + 'ExampleNumber' => '000', 'PossibleLength' => array ( 0 => 3, @@ -44,13 +44,15 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:2(?:34|456)|9\\d{4})', - 'ExampleNumber' => '191123', + 'NationalNumberPattern' => '1(?:2(?:34|456)|9\\d{4,6})', + 'ExampleNumber' => '1234', 'PossibleLength' => array ( 0 => 4, 1 => 5, 2 => 6, + 3 => 7, + 4 => 8, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '000|1(?:06|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( 0 => 3, @@ -70,8 +72,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '000|1(?:06|1(?:00|2|9[46])|2(?:[23]\\d|4\\d{2,3}|5\\d{3,4}|8(?:2|[013-9]\\d))|555|9\\d{4,6})|225|7(?:33|67)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '000|1(?:06|1(?:00|2|9[46])|2(?:[23]\\d|(?:4|5\\d)\\d{2,3}|8(?:[013-9]\\d|2))|555|9\\d{4,6})|225|7(?:33|67)', + 'ExampleNumber' => '000', 'PossibleLength' => array ( ), @@ -81,7 +83,7 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '1(?:1\\d{2}|24733)|225|767', + 'NationalNumberPattern' => '1(?:1[09]\\d|24733)|225|767', 'ExampleNumber' => '225', 'PossibleLength' => array ( @@ -95,8 +97,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:258885|555)', - 'ExampleNumber' => '1555', + 'NationalNumberPattern' => '1(?:258885|55\\d)', + 'ExampleNumber' => '1550', 'PossibleLength' => array ( 0 => 4, @@ -109,7 +111,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '19\\d{4,6}', - 'ExampleNumber' => '191123', + 'ExampleNumber' => '190000', 'PossibleLength' => array ( 0 => 6, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AW.php index 3e63a3e87..36e216724 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '100|911', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '100|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:00|76)|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AX.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AX.php index 7a68e0628..5952d39c2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AX.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '112|75[12]\\d{2}', + 'NationalNumberPattern' => '112|75[12]\\d\\d', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AZ.php index 65fc7e258..5d474061d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_AZ.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0[123]|12)', + 'NationalNumberPattern' => '1(?:0[1-3]|12)', 'ExampleNumber' => '101', 'PossibleLength' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[123]|12)|4040|8800', + 'NationalNumberPattern' => '1(?:0[1-3]|12)|(?:404|880)0', 'ExampleNumber' => '101', 'PossibleLength' => array ( @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '4040|8800', + 'NationalNumberPattern' => '(?:404|880)\\d', 'ExampleNumber' => '4040', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4040|8800', + 'NationalNumberPattern' => '(?:404|880)\\d', 'ExampleNumber' => '4040', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BA.php index 337a1756e..d51d65ee1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BA.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:16\\d{3}|2[2-4])', + 'ExampleNumber' => '122', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,7 +63,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:6(?:00[06]|1(?:1[17]|23))|8\\d{1,2})|2(?:0[0-7]|[2-5]|6[0-26]|[78]\\d{1,2})|[3-5]\\d{2}|7\\d{3})', + 'NationalNumberPattern' => '1(?:1(?:6(?:00[06]|1(?:1[17]|23))|8\\d\\d?)|2(?:0[0-7]|[2-5]|6[0-26]|[78]\\d\\d?)|(?:[3-5]|7\\d)\\d\\d)', 'ExampleNumber' => '122', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BB.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BB.php index a6112f3b7..b110966f6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BB.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '[2359]11', + 'ExampleNumber' => '211', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -77,9 +78,10 @@ return array ( ), 'carrierSpecific' => array ( + 'NationalNumberPattern' => '[468]11', + 'ExampleNumber' => '411', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BD.php index 7116c585d..6d05828ed 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BD.php @@ -27,8 +27,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '106', - 'ExampleNumber' => '106', + 'NationalNumberPattern' => '1(?:0[0-26]|99)|999', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -50,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[0-2]|99)|999', - 'ExampleNumber' => '999', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -61,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[0-39]|5(?:0\\d|[1-4])|6(\\d{2})?|7[0-4]|8[0-29])|1[16-9]|2(?:[134]|2[0-5])|3(?:1\\d?|3\\d|6[3-6])|4(?:0\\d|1\\d{2})|5[2-9]|99)|786|5012|9(?:594|99)', - 'ExampleNumber' => '103', + 'NationalNumberPattern' => '1(?:0(?:[0-39]|5(?:0\\d|[1-4])|6(?:\\d{2})?|7[0-4]|8[0-29])|1[16-9]|2(?:[134]|2[0-5])|3(?:[13]\\d|6[3-6])|4(?:0|1\\d)\\d|5[2-9]|99)|5012|786|9(?:594|99)|131', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -82,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:11|2[13])|786|5012|9594', - 'ExampleNumber' => '9594', + 'NationalNumberPattern' => '1(?:11|2[13])|(?:501|959)\\d|786', + 'ExampleNumber' => '111', 'PossibleLength' => array ( 0 => 3, @@ -95,8 +95,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '9594', - 'ExampleNumber' => '9594', + 'NationalNumberPattern' => '959\\d', + 'ExampleNumber' => '9590', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BE.php index 4129865f4..ac986d471 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BE.php @@ -27,8 +27,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:0[25-8]|1(?:0|6\\d{3})|7(?:12|77)|813)|8\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:0[0-25-8]|1(?:[02]|6\\d{3})|7(?:12|77)|813)|8\\d{3}', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -38,8 +38,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:2(?:12|34)|3(?:07|13)|414|\\d04)|[2-79]\\d{3}', - 'ExampleNumber' => '7212', + 'NationalNumberPattern' => '1(?:2(?:[03]4|1\\d)|3[01]\\d|4(?:04|1\\d))|[2-79]\\d{3}', + 'ExampleNumber' => '1204', 'PossibleLength' => array ( 0 => 4, @@ -51,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[01]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -63,7 +63,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[0-8]|1(?:[027]|6(?:000|117))|2(?:0[47]|12|3[0-24]|99)|3(?:0[47]|13|99)|4(?:0[47]|14|50|99)|5(?:1[05]|5[15]|66|95)|6(?:1[167]|36|6[16])|7(?:0[07]|1[27-9]|22|33|65|7[017]|89)|81[39])|[2-9]\\d{3}', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -94,7 +94,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '[2-9]\\d{3}', - 'ExampleNumber' => '2787', + 'ExampleNumber' => '2000', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BF.php index 229b47be8..270cc13e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[78]', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BG.php index 594ddfaa5..112ddf3e0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BG.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|111)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6\\d{3})|50|6[06])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BH.php index 96d12b52a..a7d9ebb2e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BH.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '(?:0[167]|81)\\d{3}', - 'ExampleNumber' => '07123', + 'NationalNumberPattern' => '(?:0[167]|81)\\d{3}|[19]99', + 'ExampleNumber' => '199', 'PossibleLength' => array ( - 0 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -39,7 +38,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '9[148]\\d{3}', - 'ExampleNumber' => '94123', + 'ExampleNumber' => '91000', 'PossibleLength' => array ( 0 => 5, @@ -51,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '[19]99', - 'ExampleNumber' => '999', + 'ExampleNumber' => '199', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0[167]\\d{3}|1(?:[02]\\d|12|4[01]|51|8[18]|9[169])|8[158]\\d{3}|9(?:[148]\\d{3}|9[02489])', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '(?:0[167]|8[158])\\d{3}|1(?:[02]\\d|12|4[01]|51|8[18]|9[169])|9(?:[148]\\d{3}|9[02489])', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -84,7 +83,7 @@ return array ( 'carrierSpecific' => array ( 'NationalNumberPattern' => '0[67]\\d{3}|88000|98555', - 'ExampleNumber' => '88000', + 'ExampleNumber' => '06000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BI.php index adc84f0cf..7488be1b6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BI.php @@ -26,8 +26,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '611', - 'ExampleNumber' => '611', + 'NationalNumberPattern' => '11[237]|611', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -49,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[237]', - 'ExampleNumber' => '117', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -61,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1\\d|5[2-9]|6[0-256])|611|7(?:10|77|979)|8[28]8|900', - 'ExampleNumber' => '117', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -93,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '710|900', - 'ExampleNumber' => '900', + 'NationalNumberPattern' => '(?:71|90)0', + 'ExampleNumber' => '710', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BJ.php index 89933fcb5..54395f7f8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BJ.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '7[3-5]\\d{2}', - 'ExampleNumber' => '7312', + 'NationalNumberPattern' => '11[78]|7[3-5]\\d\\d', + 'ExampleNumber' => '117', 'PossibleLength' => array ( - 0 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -60,7 +59,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[78]|2[02-5]|60)|7[0-5]\\d{2}', + 'NationalNumberPattern' => '1(?:1[78]|2[02-5]|60)|7[0-5]\\d\\d', 'ExampleNumber' => '117', 'PossibleLength' => array ( @@ -81,8 +80,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '12\\d', - 'ExampleNumber' => '122', + 'NationalNumberPattern' => '12[02-5]', + 'ExampleNumber' => '120', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BL.php index b5ed013fa..b954b2139 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BL.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '18', + 'ExampleNumber' => '18', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BM.php index d620bfa7b..0181978d8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '176|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '176', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BN.php index fa2aa0805..dd94947c1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BN.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '99[135]', + 'ExampleNumber' => '991', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BO.php index c5348a9e5..5df5e9903 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BO.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[089]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -89,8 +91,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BQ.php index a64135c3c..1fb3c5910 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BQ.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BS.php index 4abf4c6a8..fe2153d8b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BS.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '91[19]', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BT.php index 570b9b7a8..5eec3a54a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BT.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[023]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '113', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[0-6]|40404', - 'ExampleNumber' => '113', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -89,8 +91,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BW.php index fdab0ac3d..51c5a39a1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BW.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '99[7-9]', + 'ExampleNumber' => '997', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +48,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '99[789]', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '99[7-9]', + 'ExampleNumber' => '997', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '13123|99[789]', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '13123|99[7-9]', + 'ExampleNumber' => '997', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '13123', - 'ExampleNumber' => '13123', + 'NationalNumberPattern' => '131\\d\\d', + 'ExampleNumber' => '13100', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '13123', - 'ExampleNumber' => '13123', + 'NationalNumberPattern' => '131\\d\\d', + 'ExampleNumber' => '13100', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BY.php index eac78c065..63cac56f2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BY.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,8 +46,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0[123]|12)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[1-79]|1[246]|35|5[1235]|6[89]|7[5-7]|8[58]|9[1-7])', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[1-79]|1[246]|35|5[1-35]|6[89]|7[5-7]|8[58]|9[1-7])', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BZ.php index 1a8e07af0..d3dc778d8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_BZ.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:0|11)', + 'ExampleNumber' => '90', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '9(?:0|11)', - 'ExampleNumber' => '911', + 'ExampleNumber' => '90', 'PossibleLength' => array ( ), @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '9(?:0|11)', - 'ExampleNumber' => '911', + 'ExampleNumber' => '90', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CA.php index 73ddc93fe..426277281 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CA.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '211', - 'ExampleNumber' => '211', + 'NationalNumberPattern' => '112|[29]11', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -51,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:12|\\d{4,5})|[25-9](?:11|\\d{4,5})|3(?:\\d{4,5}|0000\\d{3}|11)|411', - 'ExampleNumber' => '12345', + 'NationalNumberPattern' => '112|30000\\d{3}|[1-35-9]\\d{4,5}|[2-9]11', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -83,8 +83,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '[23567]11', - 'ExampleNumber' => '611', + 'NationalNumberPattern' => '[235-7]11', + 'ExampleNumber' => '211', 'PossibleLength' => array ( 0 => 3, @@ -95,8 +95,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '[125-9]\\d{4,5}|3(?:\\d{4,5}|0000\\d{3})', - 'ExampleNumber' => '30001', + 'NationalNumberPattern' => '300\\d{5}|[1-35-9]\\d{4,5}', + 'ExampleNumber' => '10000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CC.php index f16e168c6..381f5b759 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '000|112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '000|112', - 'ExampleNumber' => '112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '000|112', - 'ExampleNumber' => '112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CD.php index f077ee9f7..6ccf80902 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CD.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[348]|77|88)', + 'ExampleNumber' => '113', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1[348]|23|77|88)|40404', - 'ExampleNumber' => '40404', + 'ExampleNumber' => '113', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CF.php index 383f241d2..d7a351f90 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CF.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[78]|22\\d)', + 'ExampleNumber' => '117', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1[78]|220)', - 'ExampleNumber' => '1220', + 'ExampleNumber' => '117', 'PossibleLength' => array ( ), @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1[478]|220)', - 'ExampleNumber' => '117', + 'ExampleNumber' => '114', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CG.php index 0068c2604..728549420 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CG.php @@ -25,7 +25,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '111', + 'NationalNumberPattern' => '11[178]', 'ExampleNumber' => '111', 'PossibleLength' => array ( @@ -57,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11[12678]', - 'ExampleNumber' => '117', + 'NationalNumberPattern' => '11[126-8]', + 'ExampleNumber' => '111', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CH.php index f38c27821..1f72b8105 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CH.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:16\\d{3}|47)|5200', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:[278]|6\\d{3})|4[47])|5200', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -42,7 +42,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:145|8\\d{2})|543|83111', + 'NationalNumberPattern' => '1(?:14|8[01589])\\d|543|83111', 'ExampleNumber' => '543', 'PossibleLength' => array ( @@ -68,8 +68,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[78]\\d{2}|1(?:[278]|45|6(?:000|111))|4(?:[03457]|1[45])|6(?:00|[1-46])|8(?:02|1[189]|50|7|8[08]|99))|[2-9]\\d{2,4}', - 'ExampleNumber' => '147', + 'NationalNumberPattern' => '1(?:0[78]\\d\\d|1(?:[278]|45|6(?:000|111))|4(?:[03-57]|1[45])|6(?:00|[1-46])|8(?:02|1[189]|50|7|8[08]|99))|[2-9]\\d{2,4}', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -79,8 +79,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '1(?:4(?:[035]|1\\d)|6\\d{1,2})', - 'ExampleNumber' => '1600', + 'NationalNumberPattern' => '1(?:4(?:[035]|1\\d)|6(?:0\\d|[1-46]))', + 'ExampleNumber' => '140', 'PossibleLength' => array ( 0 => 3, @@ -106,7 +106,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '[2-9]\\d{2,4}', - 'ExampleNumber' => '600', + 'ExampleNumber' => '200', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CI.php index f4f5571b8..67333a9e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CI.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[01]|[78]0)', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '4443', - 'ExampleNumber' => '4443', + 'NationalNumberPattern' => '444\\d', + 'ExampleNumber' => '4440', 'PossibleLength' => array ( 0 => 4, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4443', - 'ExampleNumber' => '4443', + 'NationalNumberPattern' => '444\\d', + 'ExampleNumber' => '4440', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CK.php index 79e0062e3..2785e0335 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CK.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '99[689]', + 'ExampleNumber' => '996', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '99[689]', - 'ExampleNumber' => '998', + 'ExampleNumber' => '996', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '99[689]', - 'ExampleNumber' => '998', + 'ExampleNumber' => '996', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CL.php index 89dc12fc6..a9f2e6878 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CL.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1213|4342', - 'ExampleNumber' => '4342', + 'NationalNumberPattern' => '1(?:213|3[1-3])|434\\d|911', + 'ExampleNumber' => '131', 'PossibleLength' => array ( - 0 => 4, + 0 => 3, + 1 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -39,8 +40,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:060|211|3(?:13|[348]0|5[01])|417|560|818|9(?:19|80))|2(?:0122|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|77|90)|665)|4(?:142|243|3656|4(?:02|15|77)|554)|5(?:004|4154|5(?:66|77)|995)|6(?:0700|131|222|3(?:00|66)|500|699)|7878|8(?:011|11[28]|482|889)|9(?:011|[12]00|330)', - 'ExampleNumber' => '2224', + 'NationalNumberPattern' => '1(?:(?:[05]6|[48]1|9[18])\\d|211|3(?:13|[348]0|5[01]))|(?:2(?:01\\d|[23]2|77|88)|3(?:0[59]|13|3[279]|66)|4(?:[12]4|36\\d|4[017]|55)|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d', + 'ExampleNumber' => '1060', 'PossibleLength' => array ( 0 => 4, @@ -52,8 +53,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '13[123]|911', - 'ExampleNumber' => '133', + 'NationalNumberPattern' => '13[1-3]|911', + 'ExampleNumber' => '131', 'PossibleLength' => array ( 0 => 3, @@ -64,8 +65,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:06?0|21[13]|3(?:[02679]|13?|[348]0?|5[01]?)|4(?:0[02-6]|17|[379])|560|818|9(?:19|80))|2(?:0(?:01|122)|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|37|77|90)|665)|4(?:142|243|3(?:42|656)|4(?:02|15|77)|554)|5(?:004|4154|5(?:66|77)|995)|6(?:0700|131|222|3(?:00|66)|500|699)|7878|8(?:011|11[28]|482|889)|9(?:011|1(?:1|00)|200|330)', - 'ExampleNumber' => '139', + 'NationalNumberPattern' => '1(?:[05]60|21[13]|3(?:13|[348]0|5[01])|4(?:0[02-6]|17|[379])|818|9(?:19|80))|2(?:0(?:01|122)|22[47]|323|777|882)|3(?:0(?:51|99)|132|3(?:29|[37]7|90)|665)|43656|5(?:(?:00|415)4|5(?:66|77)|995)|6(?:(?:07|5)00|131|222|3(?:00|66)|699)|7878|8(?:011|11[28]|482|889)|9(?:011|(?:[12]0|33)0)|1(?:00|3\\d)|4(?:[13]42|243|4(?:02|15|77)|554)|911', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -75,8 +76,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '2001|3337', - 'ExampleNumber' => '3337', + 'NationalNumberPattern' => '(?:200|333)\\d', + 'ExampleNumber' => '2000', 'PossibleLength' => array ( 0 => 4, @@ -97,8 +98,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '(?:[137-9]|[2456]\\d?)\\d{3}', - 'ExampleNumber' => '5577', + 'NationalNumberPattern' => '1(?:(?:[05]6|[28]1|4[01]|9[18])\\d|3(?:13|[348]0|5[01]))|(?:2(?:0(?:0|1\\d)|[23]2|77|88)|3(?:0[59]|13|3[2379]|66)|436\\d|5(?:00|41\\d|5[67]|99)|6(?:07\\d|13|22|3[06]|50|69)|787|8(?:[01]1|[48]8)|9(?:01|[12]0|33))\\d|4(?:[1-3]4|4[017]|55)\\d', + 'ExampleNumber' => '1060', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CM.php index 670aed5e6..b64d066db 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CM.php @@ -27,9 +27,12 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[37]|[37])', + 'ExampleNumber' => '13', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, + 1 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,8 +50,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1?1[37]', - 'ExampleNumber' => '113', + 'NationalNumberPattern' => '1(?:1[37]|[37])', + 'ExampleNumber' => '13', 'PossibleLength' => array ( 0 => 2, @@ -60,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1?1[37]|8711', - 'ExampleNumber' => '113', + 'NationalNumberPattern' => '1(?:1[37]|[37])|8711', + 'ExampleNumber' => '13', 'PossibleLength' => array ( ), @@ -81,8 +84,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '8711', - 'ExampleNumber' => '8711', + 'NationalNumberPattern' => '871\\d', + 'ExampleNumber' => '8710', 'PossibleLength' => array ( 0 => 4, @@ -93,8 +96,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '8711', - 'ExampleNumber' => '8711', + 'NationalNumberPattern' => '871\\d', + 'ExampleNumber' => '8710', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CO.php index d2bc66ddd..6250c0bc3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CO.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[29]|23|32|56)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:06|1[2569]|2[357]|3[27]|4[467]|5[36]|6[45]|95)|40404|85432', - 'ExampleNumber' => '112', + 'ExampleNumber' => '106', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404|85432', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '(?:40|85)4\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404|85432', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '(?:40|85)4\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CR.php index b35053b6d..7a3806b30 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CR.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:00|15|2[2-4679])|1(?:1[0-35-9]|2|37|[46]6|7[57]|8[79]|9[0-379])|2(?:00|[12]2|34|55)|3(?:21|33)|4(?:0[06]|1[4-6])|5(?:15|5[15])|693|7(?:00|1[789]|2[02]|[67]7)|975)|3855|5(?:0(?:30|49)|510)|911', - 'ExampleNumber' => '1022', + 'NationalNumberPattern' => '1(?:0(?:00|15|2[2-4679])|1(?:1[0-35-9]|2|37|[46]6|7[57]|8[79]|9[0-379])|2(?:00|[12]2|34|55)|3(?:21|33)|4(?:0[06]|1[4-6])|5(?:15|5[15])|693|7(?:00|1[7-9]|2[02]|[67]7)|975)|3855|5(?:0(?:30|49)|510)|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -89,8 +91,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '3855|5(?:0(?:30|49)|510)', - 'ExampleNumber' => '3855', + 'NationalNumberPattern' => '(?:385|5(?:0[34]|51))\\d', + 'ExampleNumber' => '3850', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CU.php index de71bfbef..4b21bb4f2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CU.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '10[4-6]', + 'ExampleNumber' => '104', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +48,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '10[456]', - 'ExampleNumber' => '106', + 'NationalNumberPattern' => '10[4-6]', + 'ExampleNumber' => '104', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[456]|1(?:6111|8)|40)', - 'ExampleNumber' => '140', + 'NationalNumberPattern' => '1(?:0[4-6]|1(?:6111|8)|40)', + 'ExampleNumber' => '104', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CV.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CV.php index 970f6f69b..639bae6c6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CV.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '13[0-2]', + 'ExampleNumber' => '130', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,8 +46,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '13[012]', - 'ExampleNumber' => '132', + 'NationalNumberPattern' => '13[0-2]', + 'ExampleNumber' => '130', 'PossibleLength' => array ( ), @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '13[012]', - 'ExampleNumber' => '132', + 'NationalNumberPattern' => '13[0-2]', + 'ExampleNumber' => '130', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CW.php index 3694641b3..c671bcb9b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CX.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CX.php index 9a5f2bc3b..d2fd71765 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CX.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '000|112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '000|112', - 'ExampleNumber' => '112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '000|112', - 'ExampleNumber' => '112', + 'ExampleNumber' => '000', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CY.php index e6bcdea8c..d4c2a9f2f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CY.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|111)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6\\d{3})|99)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CZ.php index 77f1d963a..a873f53c9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_CZ.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:00[06]|111|123)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:11|23)))|5[0568])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6\\d{3}|8\\d)|2\\d{2,3}|3\\d{3,4}|4\\d{3}|5[0568]|99)', - 'ExampleNumber' => '116123', + 'NationalNumberPattern' => '1(?:1(?:2|(?:6\\d\\d|8)\\d)|[24]\\d{3}|3\\d{3,4}|5[0568]|99)|12\\d\\d', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DE.php index 1db5c7599..e5a015104 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DE.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:[02]|6\\d{3})', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[02]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -61,7 +60,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11(?:[025]|6(?:00[06]|1(?:1[17]|23)))', - 'ExampleNumber' => '115', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DJ.php index 1401b3579..5e028dda7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DJ.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[78]', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DK.php index 256650c5d..1400b37ec 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DK.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:00[06]|111)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:[24]|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -61,7 +62,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:[2-48]|6(?:00[06]|111))|8(?:01|1[0238]|28|30|5[13]|81))', + 'NationalNumberPattern' => '1(?:1(?:[2-48]|6(?:00[06]|111))|8(?:[08]1|1[0238]|28|30|5[13]))', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DM.php index dd6c5cd36..7b8668734 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '333|9(?:11|99)', + 'ExampleNumber' => '333', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '333|9(?:11|99)', - 'ExampleNumber' => '999', + 'ExampleNumber' => '333', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '333|9(?:11|99)', - 'ExampleNumber' => '999', + 'ExampleNumber' => '333', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DO.php index bad51ae39..bc82b5b1f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DO.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '112|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DZ.php index 267f1a03f..4e40816e1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_DZ.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[47]', + 'ExampleNumber' => '14', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[47]', - 'ExampleNumber' => '17', + 'ExampleNumber' => '14', 'PossibleLength' => array ( 0 => 2, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[47]|730', - 'ExampleNumber' => '17', + 'ExampleNumber' => '14', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EC.php index 98994c5c9..e1cc90e72 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[12]|12)|911', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[12]|12)|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[12]|12)|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EE.php index 9e7577588..daac8d399 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EE.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:1(?:[02]|6(?:000|111))|2(?:05|28)|3(?:014|3(?:21|5)|660)|492|5(?:1[03]|410|501)|6(?:112|333|644)|7(?:012|127|89)|8(?:10|8[57])|9(?:0[134]|14))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:[02]|6\\d{3})|2(?:05|28)|3(?:014|3(?:21|5\\d?)|660)|492|5(?:1[03]|410|501)|6(?:112|333|644)|7(?:012|127|89)|8(?:10|8[57])|9(?:0[134]|14))', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -39,8 +39,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:18(?:[12458]|00)|2(?:0(?:[02-46-8]|1[0-36])|1(?:[0-4]|6[06])|2(?:[0-4]|5[25])|[367]|4(?:0[04]|[12]|4[24]|54)|55[12457])|3(?:0(?:[02]|1[13578]|3[356])|1[1347]|2[02-5]|3(?:[01347]|2[023]|88)|4(?:[35]|4[34])|5(?:3[134]|5[035])|666)|4(?:2(?:00|4)|4(?:0[01358]|1[024]|50|7)|900)|5(?:0[0-35]|1(?:[1267]|5[0-7]|82)|2(?:[014-6]|22)|330|4(?:[35]|44)|5(?:00|[1-69])|9(?:[159]|[38]0|77))|6(?:1(?:00|1[19]|[356-9])|2(?:2[26]|[68])|3(?:22|36|6[36])|5|6(?:[0-359]|6[0-26])|7(?:00|55|7|8[89])|9(?:00|1|69))|7(?:0(?:[023]|1[0578])|1(?:00|2[034]|[4-9])|2(?:[07]|20|44)|7(?:[0-57]|9[79])|8(?:0[08]|2|8[0178])|9(?:00|97))|8(?:1[127]|8[1268]|9[269])|9(?:0(?:[02]|69|9[0269])|1[123689]|21))', - 'ExampleNumber' => '1182', + 'NationalNumberPattern' => '1(?:18(?:00|[12458]\\d?)|2(?:0(?:[02-46-8]\\d?|1[0-36])|1(?:[0-4]\\d?|6[06])|2(?:[0-4]\\d?|5[25])|[367]|4(?:0[04]|[12]\\d?|4[24]|54)|55[12457])|3(?:0(?:[02]\\d?|1[13578]|3[356])|1[1347]|2[02-5]|3(?:[01347]\\d?|2[023]|88)|4(?:[35]\\d?|4[34])|5(?:3[134]|5[035])|666)|4(?:2(?:00|4\\d?)|4(?:0[01358]|1[024]|50|7\\d?)|900)|5(?:0[0-35]|1(?:[1267]\\d?|5[0-7]|82)|2(?:[014-6]\\d?|22)|330|4(?:[35]\\d?|44)|5(?:00|[1-69]\\d?)|9(?:[159]\\d?|[38]0|77))|6(?:1(?:00|1[19]|[35-9]\\d?)|2(?:2[26]|[68]\\d?)|3(?:22|36|6[36])|5|6(?:[0-359]\\d?|6[0-26])|7(?:00|55|7\\d?|8[89])|9(?:00|1\\d?|69))|7(?:0(?:[023]\\d?|1[0578])|1(?:00|2[034]|[4-9]\\d?)|2(?:[07]\\d?|20|44)|7(?:[0-57]\\d?|9[79])|8(?:0[08]|2\\d?|8[0178])|9(?:00|97))|8(?:1[127]|8[1268]|9[269])|9(?:0(?:[02]\\d?|69|9[0269])|1[1-3689]|21))', + 'ExampleNumber' => '123', 'PossibleLength' => array ( 0 => 3, @@ -54,7 +54,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[02]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -65,8 +65,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:[02-579]|6(?:000|111)|8(?:[09]\\d|[1-8]))|2(?:[0-245]\\d{1,2}|[36-9])|3(?:[0-6]\\d{1,2}|[7-9])|4(?:[1-489]\\d{1,2}|[05-7])|5(?:[0-59]\\d{1,2}|[6-8])|6(?:[05]|[1-46-9]\\d{1,2})|7(?:[0-27-9]\\d{1,2}|[3-6])|8(?:[02-7]|[189]\\d{1,2})|9(?:[0-2]\\d{1,2}|[3-9]))', - 'ExampleNumber' => '115', + 'NationalNumberPattern' => '1(?:1(?:[02-579]|6(?:000|111)|8(?:[09]\\d|[1-8]))|2(?:[0-245]\\d\\d?|[36-9])|3(?:[0-6]\\d\\d?|[7-9])|4(?:[05-7]|[1-489]\\d\\d?)|5(?:[0-59]\\d\\d?|[6-8])|6(?:[05]|[1-46-9]\\d\\d?)|7(?:[0-27-9]\\d\\d?|[3-6])|8(?:[02-7]|[189]\\d\\d?)|9(?:[0-2]\\d\\d?|[3-9]))', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -96,8 +96,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1(?:18[1258]|2(?:0(?:1[036]|[46])|166|21|4(?:0[04]|1|5[47])|[67])|3(?:0(?:1[13-578]|2|3[56])|1[15]|2[045]|3(?:[13]|2[13])|43|5(?:00|3[34]|53))|44(?:0[0135]|14|50|7)|5(?:05|1(?:[12]|5[1246]|8[12])|2(?:[01]|22)|3(?:00|3[03])|4(?:15|5)|500|9(?:5|77|80))|6(?:1[35-8]|226|3(?:22|3[36]|66)|644|7(?:00|7|89)|9(?:00|69))|7(?:01[258]|1(?:00|[15])|2(?:44|7)|8(?:00|87|9))|8(?:1[128]|8[56]|9(?:[26]|77))|90(?:2|69|92))', - 'ExampleNumber' => '13500', + 'NationalNumberPattern' => '1(?:18[1258]|2(?:0(?:1[036]|[46]\\d?)|166|21|4(?:0[04]|1\\d?|5[47])|[67])|3(?:0(?:1[13-578]|2\\d?|3[56])|1[15]|2[045]|3(?:[13]\\d?|2[13])|43|5(?:00|3[34]|53))|44(?:0[0135]|14|50|7\\d?)|5(?:05|1(?:[12]\\d?|5[1246]|8[12])|2(?:[01]\\d?|22)|3(?:00|3[03])|4(?:15|5\\d?)|500|9(?:5\\d?|77|80))|6(?:1[35-8]|226|3(?:22|3[36]|66)|644|7(?:00|7\\d?|89)|9(?:00|69))|7(?:01[258]|1(?:00|[15]\\d?)|2(?:44|7\\d?)|8(?:00|87|9\\d?))|8(?:1[128]|8[56]|9(?:[26]\\d?|77))|90(?:2\\d?|69|92))', + 'ExampleNumber' => '126', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EG.php index f88624250..00c7cec61 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EG.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:2[23]|80)', + 'ExampleNumber' => '122', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '34400', + 'NationalNumberPattern' => '344\\d\\d', 'ExampleNumber' => '34400', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '34400', + 'NationalNumberPattern' => '344\\d\\d', 'ExampleNumber' => '34400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EH.php index 54ba1af27..e561fe1f2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_EH.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:[59]|77)', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ER.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ER.php index 0b8570bc3..c0e54f9f3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ER.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ER.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[2-46]|2[47]\\d{3})|20[12]\\d{3}', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +47,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:1[2-46]|2(?:4422|7799))|2(?:0(?:1(?:606|917)|2(?:099|914)))', - 'ExampleNumber' => '113', + 'NationalNumberPattern' => '1(?:1[2-46]|2(?:4422|7799))|20(?:1(?:606|917)|2(?:099|914))', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -57,8 +58,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[2-6]|2(?:4422|7799))|2(?:0(?:1(?:606|917)|2(?:099|914)))', - 'ExampleNumber' => '114', + 'NationalNumberPattern' => '1(?:1[2-6]|2(?:4422|7799))|20(?:1(?:606|917)|2(?:099|914))', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ES.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ES.php index 81432e496..712c0d38e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ES.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ES.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '0(?:16|6[57]|88)|1(?:006|16\\d{3}|[3-7]\\d{2})|20\\d{4}', - 'ExampleNumber' => '116111', + 'NationalNumberPattern' => '0(?:16|6[57]|8[58])|1(?:006|1(?:2|6\\d{3})|[3-7]\\d\\d)|20\\d{4}', + 'ExampleNumber' => '016', 'PossibleLength' => array ( 0 => 3, @@ -42,8 +42,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:18\\d{2}|2\\d{1,4})|2(?:2\\d{1,4}|[3-9]\\d{3,4})|9(?:0(?:5[124578]|7)|\\d{4,5})|[37]\\d{4,5}', - 'ExampleNumber' => '23456', + 'NationalNumberPattern' => '[12]2\\d(?:\\d(?:\\d{2})?)?|[79]9[57]\\d{3}|(?:1(?:18|2\\d)|2(?:[2357]\\d|80)|3[357]\\d)\\d\\d|90(?:5\\d|7)', + 'ExampleNumber' => '120', 'PossibleLength' => array ( ), @@ -54,7 +54,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '08[58]|112', - 'ExampleNumber' => '112', + 'ExampleNumber' => '085', 'PossibleLength' => array ( 0 => 3, @@ -65,7 +65,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d{2})|2\\d{1,4}|3(?:[34]|\\d{2})|7(?:7|\\d{2})|[4-689]\\d{2})|2(?:[01]\\d{4}|2\\d{1,4}|[357]\\d{3}|80\\d{2})|3[357]\\d{3}|79[57]\\d{3}|9(?:0(?:5[124578]|7)|9[57]\\d{3})', + 'NationalNumberPattern' => '0(?:1[0-26]|6[0-257]|8[058]|9[12])|1(?:0[03-57]\\d{1,3}|1(?:2|6(?:000|111)|8\\d\\d)|2\\d{1,4}|[3-9]\\d\\d)|(?:2[0-2]\\d|3[357]|[79]9[57])\\d{3}|1(?:3[34]|77)|2(?:[2357]\\d|80)\\d\\d|90(?:5[124578]|7)|22\\d\\d?', 'ExampleNumber' => '010', 'PossibleLength' => array ( @@ -77,7 +77,7 @@ return array ( 'standardRate' => array ( 'NationalNumberPattern' => '0(?:[16][0-2]|80|9[12])|21\\d{4}', - 'ExampleNumber' => '211234', + 'ExampleNumber' => '010', 'PossibleLength' => array ( 0 => 3, @@ -89,8 +89,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:2\\d{1,4}|3[34]|77)|22\\d{1,4}', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '[12]2\\d{2,4}|1(?:2\\d|3[34]|77)|22\\d', + 'ExampleNumber' => '120', 'PossibleLength' => array ( ), @@ -100,8 +100,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '[2379]\\d{4,5}', - 'ExampleNumber' => '23456', + 'NationalNumberPattern' => '(?:2[0-2]\\d|3[357]|[79]9[57])\\d{3}|2(?:[2357]\\d|80)\\d\\d', + 'ExampleNumber' => '22000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ET.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ET.php index acda485d1..d0aa7e262 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ET.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ET.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11?|[23]|9[17])', + 'ExampleNumber' => '91', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '9(?:11?|[23]|9[17])', - 'ExampleNumber' => '991', + 'ExampleNumber' => '91', 'PossibleLength' => array ( ), @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '9(?:11?|[23]|9[17])', - 'ExampleNumber' => '991', + 'ExampleNumber' => '91', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FI.php index 47ea5e75d..e4682e5e7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FI.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116111', - 'ExampleNumber' => '116111', + 'NationalNumberPattern' => '11(?:2|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -61,7 +62,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11(?:2|6111)|75[12]\\d{2}', + 'NationalNumberPattern' => '11(?:2|6111)|75[12]\\d\\d', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FJ.php index 01f738fed..c64e05a15 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FJ.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '91[17]', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:1[34]|8[1-4])|1(?:0[1-3]|[25]9)|2[289]|30|4(?:0404|4)|54|75|91[137]', + 'NationalNumberPattern' => '0(?:1[34]|8[1-4])|1(?:0[1-3]|[25]9)|2[289]|30|40404|91[137]|[45]4|75', 'ExampleNumber' => '22', 'PossibleLength' => array ( @@ -90,8 +92,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FK.php index 246012027..ac9da4078 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FK.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1\\d{2}|999', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '1\\d\\d|999', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FM.php index 4d252c7a5..d9c37e841 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FM.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '320\\d{3}|911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '320221|911', + 'NationalNumberPattern' => '(?:32022|91)1', 'ExampleNumber' => '911', 'PossibleLength' => array ( @@ -57,7 +58,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '320221|911', + 'NationalNumberPattern' => '(?:32022|91)1', 'ExampleNumber' => '911', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FO.php index 5d34ec1a1..5f72375ce 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FO.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[24]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[248]|4[124]\\d|71\\d|8[7-9]\\d)', - 'ExampleNumber' => '114', + 'NationalNumberPattern' => '1(?:1[248]|(?:4[124]|71|8[7-9])\\d)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FR.php index 0cad305d4..70c01224d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_FR.php @@ -29,14 +29,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:0(?:07|13)|1(?:[0459]|[68]\\d{3})|9[167])|224|3(?:[01]\\d{2}|3700)|740', - 'ExampleNumber' => '3010', + 'NationalNumberPattern' => '1(?:0(?:07|13)|1(?:[02459]|6\\d{3})|[578]|9[167])|224|3(?:[01]\\d\\d|3700)|740', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => 3, - 1 => 4, - 2 => 5, - 3 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -44,11 +40,12 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '36665|[4-8]\\d{4}', - 'ExampleNumber' => '42000', + 'NationalNumberPattern' => '(?:118|[4-8]\\d)\\d{3}|36665', + 'ExampleNumber' => '36665', 'PossibleLength' => array ( 0 => 5, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -56,8 +53,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:[578]|12)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:12|[578])', + 'ExampleNumber' => '15', 'PossibleLength' => array ( 0 => 2, @@ -69,8 +66,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0\\d{2}|1(?:[02459]|6(?:000|111)|8\\d{3})|9[167]|[578])|2(?:0(?:000|20)|24)|3\\d{3,4}|6(?:1[14]|34|\\d{4})|7(?:0[06]|22|40|\\d{4})|[458]\\d{4}', - 'ExampleNumber' => '1010', + 'NationalNumberPattern' => '1(?:0\\d\\d|1(?:[02459]|6(?:000|111)|8\\d{3})|[578]|9[167])|2(?:0(?:00|2)0|24)|[3-8]\\d{4}|3\\d{3}|6(?:1[14]|34)|7(?:0[06]|22|40)', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -80,8 +77,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '10(?:14|2[23]|34|6[14]|99)|2020|3(?:646|9[07]0)|6(?:1[14]|34)|70[06]', - 'ExampleNumber' => '1023', + 'NationalNumberPattern' => '10(?:[13]4|2[23]|6[14]|99)|202\\d|3(?:646|9[07]0)|6(?:1[14]|34)|70[06]', + 'ExampleNumber' => '611', 'PossibleLength' => array ( 0 => 3, @@ -93,8 +90,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '118777|2(?:0(?:000|20)|24)|6(?:1[14]|34)|7\\d{2}', - 'ExampleNumber' => '118777', + 'NationalNumberPattern' => '118777|2(?:0(?:0\\d|2)\\d|24)|6(?:1[14]|34)|7(?:0[06]|22|40)', + 'ExampleNumber' => '224', 'PossibleLength' => array ( 0 => 3, @@ -108,8 +105,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '(?:114|[3-8]\\d{4})', - 'ExampleNumber' => '33700', + 'NationalNumberPattern' => '114|[3-8]\\d{4}', + 'ExampleNumber' => '114', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GA.php index 8bc88f222..4ad9379fc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GA.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:(?:3\\d|73)\\d|8)', + 'ExampleNumber' => '18', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +47,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:730|8|3\\d{2})', - 'ExampleNumber' => '1730', + 'NationalNumberPattern' => '1(?:3\\d\\d|730|8)', + 'ExampleNumber' => '18', 'PossibleLength' => array ( ), @@ -57,8 +58,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:730|8|3\\d{2})', - 'ExampleNumber' => '1730', + 'NationalNumberPattern' => '1(?:3\\d\\d|730|8)', + 'ExampleNumber' => '18', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GB.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GB.php index 4676f01cf..9c794fe7f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GB.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:05|16\\d{3}|7[56]0|8000)|2(?:202|48)|4444', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:05|1(?:2|6\\d{3})|7[56]\\d|8000)|2(?:20\\d|48)|4444|999', + 'ExampleNumber' => '105', 'PossibleLength' => array ( ), @@ -61,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[015]|1(?:[12]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[123]|50)|33|4(?:1|7\\d)|5(?:\\d|71)|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:02(?:02)?|1300|2(?:02|11|2)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|6(?:50|\\d{4})|7(?:0\\d{3}|8(?:9|\\d{3})|9\\d{3})|8\\d{4}|9(?:01|99)', - 'ExampleNumber' => '150', + 'NationalNumberPattern' => '1(?:0[015]|1(?:[12]|6(?:000|1(?:11|23))|8\\d{3})|2(?:[1-3]|50)|33|4(?:1|7\\d)|571|7(?:0\\d|[56]0)|800\\d|9[15])|2(?:0202|1300|2(?:02|11)|3(?:02|336|45)|4(?:25|8))|3[13]3|4(?:0[02]|35[01]|44[45]|5\\d)|(?:[68]\\d|7[089])\\d{3}|15\\d|2[02]2|650|789|9(?:01|99)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -82,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:250|571|7[56]0)|2(?:02(?:02)?|1300|3336|48)|4444|901', - 'ExampleNumber' => '1571', + 'NationalNumberPattern' => '1(?:(?:25|7[56])\\d|571)|2(?:02(?:\\d{2})?|[13]3\\d\\d|48)|4444|901', + 'ExampleNumber' => '202', 'PossibleLength' => array ( 0 => 3, @@ -96,8 +96,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1250|2(?:0202|1300)|7\\d{4}|8[01]\\d{3}', - 'ExampleNumber' => '20202', + 'NationalNumberPattern' => '(?:125|2(?:020|13\\d)|(?:7[089]|8[01])\\d\\d)\\d', + 'ExampleNumber' => '1250', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GD.php index ec52c53df..6f11990c4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GD.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '9\\d\\d', + 'NationalNumberPattern' => '[19]\\d\\d', 'PossibleLength' => array ( 0 => 3, @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '911', - 'ExampleNumber' => '911', + 'NationalNumberPattern' => '176|911', + 'ExampleNumber' => '176', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GE.php index 6242ba1fb..cc152ae82 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GE.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '0(?:11|22|33)|1(?:1[1-3]|22)', + 'ExampleNumber' => '011', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +48,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '0(?:11|22|33)|1(?:1[123]|22)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0(?:11|22|33)|1(?:1[1-3]|22)', + 'ExampleNumber' => '011', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:11|22|33)|1(?:1[123]|22)|40404', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0(?:11|22|33)|1(?:1[1-3]|22)|40404', + 'ExampleNumber' => '011', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GF.php index a4a8eaefd..274f4d186 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GG.php index aad835a6d..2b496c4af 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GG.php @@ -28,9 +28,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|999', - 'ExampleNumber' => '999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -61,7 +63,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[01]|1(?:[12]|[68]\\d{3})|23|4(?:1|7\\d)|55|800\\d|9[05])|999', - 'ExampleNumber' => '155', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GH.php index 044c8f098..70d16684a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GH.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[1-3]|999', + 'ExampleNumber' => '191', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,8 +49,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '19[123]|999', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '19[1-3]|999', + 'ExampleNumber' => '191', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '19[123]|40404|(?:54|83)00|999', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '19[1-3]|40404|(?:54|83)00|999', + 'ExampleNumber' => '191', 'PossibleLength' => array ( ), @@ -80,7 +82,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404|(?:54|83)00', + 'NationalNumberPattern' => '(?:404\\d|(?:54|83)0)\\d', 'ExampleNumber' => '5400', 'PossibleLength' => array ( @@ -93,7 +95,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404|(?:54|83)00', + 'NationalNumberPattern' => '(?:404\\d|(?:54|83)0)\\d', 'ExampleNumber' => '5400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GI.php index fbd674b1c..760acbfeb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GI.php @@ -28,7 +28,7 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:00|16\\d{3}|23|4(?:1|7\\d)|5[15]|9[2-4])|555|80\\d{2}', + 'NationalNumberPattern' => '1(?:00|1(?:[25]|6\\d{3})|23|4(?:1|7\\d)|5[15]|9[02-49])|555|80\\d\\d', 'ExampleNumber' => '100', 'PossibleLength' => array ( @@ -42,8 +42,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '8[1-69]\\d{2}', - 'ExampleNumber' => '8112', + 'NationalNumberPattern' => '8[1-69]\\d\\d', + 'ExampleNumber' => '8100', 'PossibleLength' => array ( 0 => 4, @@ -66,8 +66,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:00|1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d{2})|23|4(?:1|7[014])|5[015]|9[02349])|555|8(?:0(?:0|\\d{2})|[1-35-79]\\d{2}|4(?:[0-2]|\\d{2})|8[1-589])', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:00|1(?:[25]|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|23|4(?:1|7[014])|5[015]|9[02-49])|555|8[0-79]\\d\\d|8(?:00|4[0-2]|8[0-589])', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -77,7 +77,7 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '150|87\\d{2}', + 'NationalNumberPattern' => '150|87\\d\\d', 'ExampleNumber' => '150', 'PossibleLength' => array ( @@ -90,8 +90,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:18\\d{2}|23|51|9[2-4])|555|8(?:00|88)', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '1(?:00|1(?:5|8\\d\\d)|23|51|9[2-4])|555|8(?:00|4[0-2]|8[0-589])', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GL.php index 7cfff688e..10a42ba20 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GL.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GM.php index f14b4bf92..f7bd77a85 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GM.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[6-8]|[6-8])', + 'ExampleNumber' => '16', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +47,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1?1[678]', - 'ExampleNumber' => '117', + 'NationalNumberPattern' => '1(?:1[6-8]|[6-8])', + 'ExampleNumber' => '16', 'PossibleLength' => array ( ), @@ -57,8 +58,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1?1[678]', - 'ExampleNumber' => '117', + 'NationalNumberPattern' => '1(?:1[6-8]|[6-8])', + 'ExampleNumber' => '16', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GN.php index 520b0d2e9..7bdd8acb5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GN.php @@ -76,8 +76,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( ), @@ -87,8 +87,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GP.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GP.php index c3e46e802..fbe82eee7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GP.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '18', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '18', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GR.php index 2877231d3..585db81a2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GR.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:00|1(?:2|6\\d{3})|66|99)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:00|12|66|99)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -61,7 +60,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:00|1(?:2|6(?:000|1(?:11|23)))|66|99)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GT.php index 92e9a3006..1f371f6ec 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GT.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:10|2[03])', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:10|2\\d|[57]\\d{2})|40404', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '1(?:10|(?:2|[57]\\d)\\d)|40404', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -80,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -92,8 +94,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GU.php index 1c474829e..4973f3f78 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GU.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GW.php index 835b2cb76..f76a1d92e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[378]', + 'ExampleNumber' => '113', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GY.php index fcad8caaf..84b2a557f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_GY.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '91[1-3]', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '91[123]', + 'NationalNumberPattern' => '91[1-3]', 'ExampleNumber' => '911', 'PossibleLength' => array ( @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:02|171|444|7(?:[67]7|9)|801|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[123]', - 'ExampleNumber' => '0801', + 'NationalNumberPattern' => '0(?:02|(?:17|80)1|444|7(?:[67]7|9)|9(?:0[78]|[2-47]))|1(?:443|5[568])|91[1-3]', + 'ExampleNumber' => '002', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1443', - 'ExampleNumber' => '1443', + 'NationalNumberPattern' => '144\\d', + 'ExampleNumber' => '1440', 'PossibleLength' => array ( 0 => 4, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1443', - 'ExampleNumber' => '1443', + 'NationalNumberPattern' => '144\\d', + 'ExampleNumber' => '1440', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HK.php index 2356561be..d7974bc4e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HK.php @@ -29,9 +29,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|99[29]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -50,7 +52,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|99[29]', - 'ExampleNumber' => '999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -61,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[013]\\d{0,4}|2[14]\\d{0,3}|6\\d{1,4}|8[138]|9)|12|2(?:[0-3]\\d{0,4}|58\\d{0,3}|8[13]\\d{0,3})|7(?:[135-9]\\d{0,4}|219\\d{0,2})|8(?:0(?:[13]\\d|60\\d{2}|8)|1(?:0\\d|[2-8])|2(?:0[5-9]|182|22|3|8[128])|3[0-689]\\d{3}|50[138]|6(?:1(?:11|86)|8)|7(?:2[1-389]|8[0235-9]|93)\\d{2}|8\\d))|99[29]', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '1(?:0(?:(?:[0136]\\d|2[14])\\d{0,3}|8[138])|12|2(?:[0-3]\\d{0,4}|(?:58|8[13])\\d{0,3})|7(?:[135-9]\\d{0,4}|219\\d{0,2})|8(?:0(?:(?:[13]|60\\d)\\d|8)|1(?:0\\d|[2-8])|2(?:0[5-9]|(?:18|2)2|3|8[128])|(?:(?:3[0-689]\\d|7(?:2[1-389]|8[0235-9]|93))\\d|8)\\d|50[138]|6(?:1(?:11|86)|8)))|99[29]|10[0139]', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -82,8 +84,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:0(?:8\\d|9)|850\\d)', - 'ExampleNumber' => '1088', + 'NationalNumberPattern' => '1(?:0(?:8\\d|9)|85\\d\\d)', + 'ExampleNumber' => '109', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HN.php index d9c63de09..933deeabb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HN.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '199', + 'ExampleNumber' => '199', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HR.php index cdd81dfeb..6e1a77088 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HR.php @@ -29,12 +29,14 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:16\\d{3}|3977)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6\\d{3})|39\\d\\d|9[2-4])|9[34]', + 'ExampleNumber' => '93', 'PossibleLength' => array ( - 0 => 5, - 1 => 6, + 0 => 2, + 1 => 3, + 2 => 5, + 3 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -42,8 +44,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '118\\d{2}', - 'ExampleNumber' => '11812', + 'NationalNumberPattern' => '118\\d\\d', + 'ExampleNumber' => '11800', 'PossibleLength' => array ( 0 => 5, @@ -55,7 +57,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:12|9[2-4])|9[34]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '93', 'PossibleLength' => array ( 0 => 2, @@ -67,8 +69,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d{2})|3977|9(?:[2-5]|87))|9[34]', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|3977|9(?:[2-5]|87))|9[34]', + 'ExampleNumber' => '93', 'PossibleLength' => array ( ), @@ -88,8 +90,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '13977', - 'ExampleNumber' => '13977', + 'NationalNumberPattern' => '139\\d\\d', + 'ExampleNumber' => '13900', 'PossibleLength' => array ( 0 => 5, @@ -100,8 +102,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '13977', - 'ExampleNumber' => '13977', + 'NationalNumberPattern' => '139\\d\\d', + 'ExampleNumber' => '13900', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HT.php index 43b765e5f..d2d3fbc53 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HT.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[48]', + 'ExampleNumber' => '114', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[48]', - 'ExampleNumber' => '118', + 'ExampleNumber' => '114', 'PossibleLength' => array ( 0 => 3, @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HU.php index 219ede475..b48f1b52c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_HU.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|1(?:11|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:0[457]|1(?:2|6\\d{3}))', + 'ExampleNumber' => '104', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[457]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '104', 'PossibleLength' => array ( 0 => 3, @@ -61,7 +60,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[457]|1(?:2|6(?:000|1(?:11|23))))', - 'ExampleNumber' => '112', + 'ExampleNumber' => '104', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ID.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ID.php index e70d434ce..affd3b8f5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ID.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ID.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[02389]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[02389]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[02389]|40\\d{2})|71400|89887', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:1[02389]|40\\d\\d)|71400|89887', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '71400|89887', + 'NationalNumberPattern' => '(?:714|898)\\d\\d', 'ExampleNumber' => '71400', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '71400', + 'NationalNumberPattern' => '714\\d\\d', 'ExampleNumber' => '71400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IE.php index 6aeceb32e..de8c331e8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IE.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -41,7 +42,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '5[37]\\d{3}', - 'ExampleNumber' => '53012', + 'ExampleNumber' => '53000', 'PossibleLength' => array ( 0 => 5, @@ -64,7 +65,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d{2})|9\\d{2})|5[0137]\\d{3}|999', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:1[17]|23))|8\\d\\d)|9\\d\\d)|5[0137]\\d{3}|999', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -76,7 +77,7 @@ return array ( 'standardRate' => array ( 'NationalNumberPattern' => '51\\d{3}', - 'ExampleNumber' => '51012', + 'ExampleNumber' => '51000', 'PossibleLength' => array ( 0 => 5, @@ -99,8 +100,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '118\\d{2}|5(?:[037]\\d{3}|1210)', - 'ExampleNumber' => '51210', + 'NationalNumberPattern' => '118\\d\\d|5(?:[037]\\d{3}|1210)', + 'ExampleNumber' => '11800', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IL.php index 81811f895..aa0fa8140 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IL.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[0-2]|12)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,8 +49,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0[012]|12)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[0-2]|12)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[012]|400)|1(?:[013-9]\\d|2)|[2-9]\\d{2})', - 'ExampleNumber' => '1455', + 'NationalNumberPattern' => '1(?:0(?:[0-2]|400)|1(?:[013-9]\\d|2)|[2-9]\\d\\d)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -80,7 +82,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '10400', + 'NationalNumberPattern' => '104\\d\\d', 'ExampleNumber' => '10400', 'PossibleLength' => array ( @@ -92,7 +94,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '10400', + 'NationalNumberPattern' => '104\\d\\d', 'ExampleNumber' => '10400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IM.php index 74777b9c5..62a3dfa29 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IM.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1\\d{2}(?:\\d{3})?|8(?:6444|9887)|999', - 'ExampleNumber' => '150', + 'NationalNumberPattern' => '1\\d\\d(?:\\d{3})?|8(?:6444|9887)|999', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -90,8 +92,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '8(?:6444|9887)', - 'ExampleNumber' => '86444', + 'NationalNumberPattern' => '8(?:64|98)\\d\\d', + 'ExampleNumber' => '86400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IN.php index 100d3e80a..0fe89da5f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IN.php @@ -31,8 +31,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1\\d{2,5}|777|800', - 'ExampleNumber' => '105010', + 'NationalNumberPattern' => '(?:1[05]5\\d\\d|261)\\d|777|800|1(?:0(?:[0-248]|7\\d\\d)|1(?:0\\d|[289])|2(?:1|9\\d)|(?:3[126]|(?:51|70|94)\\d|66)\\d)|1(?:0[35-79]|5[15]|9[0-24-6])\\d|1(?:[39][89]|4[01]|6[16]|8[12])', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -46,8 +46,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '11[67][0-2]\\d{3}|56161561', - 'ExampleNumber' => '1160530', + 'NationalNumberPattern' => '11[67]\\d{4}|56161561', + 'ExampleNumber' => '1160000', 'PossibleLength' => array ( 0 => 7, @@ -59,8 +59,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0[0128]|12|298)|2611', - 'ExampleNumber' => '108', + 'NationalNumberPattern' => '1(?:0[0-28]|12|298)|2611', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -72,8 +72,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[01248]|3[39]|5(?:010|6|[79]\\d{2})|6[3468]|7(?:[013578]|20?|4[01]|80)|9[0135-9])|1(?:00|[289]|[67][0-2]\\d{3})|2(?:1|98)|3(?:11|2[0-2]|63|[89])|4[01]|5(?:1(?:0[0-36]|[127])|5(?:[23]\\d{2}|4))|6(?:1|6[01]?)|7000|8(?:02\\d{3}|[12])|9(?:0[013-59]|12|25|4[4-9]\\d?|50|6[1347]|[89]))|2611|5(?:0(?:0(?:0\\d{1}(?:\\d{2})?|1(?:\\d{2})?|20?)|325|40\\d{1,2}|5(?:0\\d{1,4}|1\\d{2,5}|[2-79]\\d{3,5}))|1(?:0[12]\\d|234|4[2-4]\\d|555|717|818|96[49])|2(?:0(?:0[01]|[14]0)|151|2(?:[0267]\\d{1,2}|1\\d{1,4}|[3589]\\d)|3(?:1(?:\\d{1,2}|\\d{4})|2\\d|6\\d{1,2})|4[04]\\d|555|666|7[78]\\d|888|9(?:06|99\\d?))|3(?:0(?:[01]0|3\\d{1,4}|4\\d{4})|131|3[23]\\d{1,4}|553|666|776)|4(?:04|1[04]\\d?|2(?:0\\d?|4)|3(?:0\\d?|2(?:\\d|\\d{4})?)|4[04]|64(?:\\d{1,2})?|99)\\d|5(?:1[25]|3(?:[16]\\d?|5)|4[45]|5[05](?:\\d{1,2})?|6(?:5|7\\d?)|93)\\d|6(?:0(?:6\\d{1,2}|70)|16\\d{4}|3[68]|43|[67]\\d{2,3})|7(?:17(?:\\d{3})?|[27]7|57\\d{2}|8(?:7\\d?|8))\\d|8(?:3[4-69]|4[01]|5[58]|8(?:0\\d?|8(?:8\\d{2}|9))|99)\\d|9(?:00|55|6(?:4\\d?|[67])|77|88|90\\d?)\\d)|777|800', - 'ExampleNumber' => '108', + 'NationalNumberPattern' => '1(?:0(?:[0-248]|3[39]|5(?:010|6|[79]\\d\\d)|6[3468]|7(?:[01357]|[28]0?|4[01])|9[0135-9])|1(?:00|[289]|[67][0-2]\\d{3})|2(?:1|98)|3(?:11|2[0-2]|63|[89])|4[01]|5(?:1(?:0[0-36]|[127])|5(?:[23]\\d\\d|4))|6(?:1|6[01]?)|7000|8(?:02\\d{3}|[12])|9(?:0[013-59]|12|25|4[4-9]\\d?|50|6[1347]|[89]))|2611|5(?:0(?:0(?:(?:0\\d|1)(?:\\d{2})?|20?)|325|40\\d\\d?|5(?:0\\d{1,4}|[1-79]\\d{3,5}))|1(?:(?:0[12]|4[2-4])\\d|234|555|717|818|96[49])|2(?:0(?:0[01]|[14]0)|151|[23]1\\d{4})|3(?:0(?:[01]0|[34]\\d{4})|131|3[23]\\d{1,4}|553|(?:66|77)6)|4(?:(?:04|4[04]|99)\\d|1[04]\\d\\d?|2(?:0\\d\\d?|4\\d)|3(?:0\\d\\d?|2\\d(?:\\d(?:\\d{3})?)?)|64\\d{1,3})|5(?:(?:1[25]|4[45]|93)\\d|3(?:[16]\\d\\d?|5\\d)|5[05]\\d{1,3}|6(?:5\\d|7\\d\\d?))|6(?:0(?:6\\d\\d?|70)|16\\d{4}|3[68]|43|[67]\\d{2,3})|7(?:17\\d(?:\\d{3})?|(?:[27]7|57\\d\\d)\\d|8(?:7\\d\\d?|8\\d))|8(?:(?:3[4-69]|4[01]|5[58]|99)\\d|8(?:0\\d\\d?|8(?:8\\d\\d|9)\\d))|9(?:(?:00|55|77|88)\\d|6(?:4\\d\\d?|[67]\\d)|90\\d\\d?))|777|800|5(?:051\\d\\d|2(?:2(?:[0267]\\d\\d?|1\\d{1,3}|[3589]\\d)|3(?:[16]\\d\\d?|2\\d)|(?:4[04]|7[78])\\d|555|666|888|9(?:06|99\\d?))|303\\d{1,3})', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -84,7 +84,7 @@ return array ( 'standardRate' => array ( 'NationalNumberPattern' => '5(?:14(?:2[5-9]|[34]\\d)|757555)', - 'ExampleNumber' => '5757555', + 'ExampleNumber' => '51425', 'PossibleLength' => array ( 0 => 5, @@ -96,8 +96,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:1(?:[67][0-2]\\d{3}|[89])|21|4[01]|55330|7\\d{3}|9(?:[89]|09))|5(?:3000|6161(?:17[89]|561))', - 'ExampleNumber' => '53000', + 'NationalNumberPattern' => '1(?:(?:1[67]\\d\\d|70)\\d\\d|55330|909)|5(?:300\\d|6161(?:17[89]|561))|1(?:[19][89]|21|4[01])', + 'ExampleNumber' => '118', 'PossibleLength' => array ( 0 => 3, @@ -114,7 +114,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '1(?:39|90[019])|5(?:14(?:2[5-9]|[34]\\d)|6161(?:17[89]|561)|757555)', - 'ExampleNumber' => '51431', + 'ExampleNumber' => '139', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IQ.php index afd90dcb4..29d3cb2e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IQ.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[04]|15|22)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[04]|15|22)', - 'ExampleNumber' => '122', + 'ExampleNumber' => '100', 'PossibleLength' => array ( 0 => 3, @@ -60,7 +62,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[04]|15|22)|4432|71117|9988', - 'ExampleNumber' => '4432', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -80,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '4432|71117|9988', - 'ExampleNumber' => '4432', + 'NationalNumberPattern' => '(?:443|711\\d|998)\\d', + 'ExampleNumber' => '4430', 'PossibleLength' => array ( 0 => 4, @@ -93,8 +95,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4432|71117|9988', - 'ExampleNumber' => '4432', + 'NationalNumberPattern' => '(?:443|711\\d|998)\\d', + 'ExampleNumber' => '4430', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IR.php index 5e00f144b..fe8a6a2d5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IR.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '[0-29]\\d{2,5}', + 'NationalNumberPattern' => '[129]\\d{2,5}', 'PossibleLength' => array ( 0 => 3, @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1[129]\\d', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '1(?:1[0-68]|2[0-59]|9[0-579])|911', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -51,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1[025]|25)|911', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '096(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])|1(?:1[0-68]|2[0-59]|3[346-8]|4(?:[0147]|[289]0)|5(?:0[14]|1[02479]|2[0-3]|39|[49]0|65)|6(?:[16]6|[27]|90)|8(?:03|1[18]|22|3[37]|4[28]|88|99)|9[0-579])|20(?:00|1(?:[038]|1[079]|26|9[69])|2[01]|90)|9(?:11|9(?:90|0009))', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:1[0-68]|2[0-59]|3[346-8]|4(?:[0147]|[289]0)|5(?:0[14]|1[02479]|2[0-3]|39|[49]0|65)|6(?:[16]6|[27]|90)|8(?:03|1[18]|22|3[37]|4[28]|88|99)|9[0-579])|20(?:[09]0|1(?:[038]|1[079]|26|9[69])|2[01])|9(?:11|9(?:0009|90))', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -73,12 +73,11 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '(?:096|1[58])\\d{2}', - 'ExampleNumber' => '09612', + 'NationalNumberPattern' => '1(?:5[0-469]|8[0-489])\\d', + 'ExampleNumber' => '1500', 'PossibleLength' => array ( 0 => 4, - 1 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -86,8 +85,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1[58]\\d{2}|99(?:90|0009)', - 'ExampleNumber' => '9990', + 'NationalNumberPattern' => '(?:1(?:5[0-469]|8[0-489])|99(?:0\\d\\d|9))\\d', + 'ExampleNumber' => '1500', 'PossibleLength' => array ( 0 => 4, @@ -99,8 +98,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '990009', - 'ExampleNumber' => '990009', + 'NationalNumberPattern' => '990\\d{3}', + 'ExampleNumber' => '990000', 'PossibleLength' => array ( 0 => 6, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IS.php index 3395d1310..73139a0e9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IS.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1717', - 'ExampleNumber' => '1717', + 'NationalNumberPattern' => '1(?:12|71\\d)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 4, + 0 => 3, + 1 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -61,7 +62,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:[28]|6(?:1(?:23|16)))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:[02]0|1[16-9]|88)|900)', + 'NationalNumberPattern' => '1(?:1(?:[28]|61(?:16|23))|4(?:00|1[145]|4[0146])|55|7(?:00|17|7[07-9])|8(?:[02]0|1[16-9]|88)|900)', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -82,8 +83,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '14(?:00|41)', - 'ExampleNumber' => '1441', + 'NationalNumberPattern' => '14(?:0\\d|41)', + 'ExampleNumber' => '1400', 'PossibleLength' => array ( 0 => 4, @@ -94,7 +95,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1(?:415|900)', + 'NationalNumberPattern' => '1(?:415|90\\d)', 'ExampleNumber' => '1415', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IT.php index 51bb5f208..892e050a7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_IT.php @@ -29,8 +29,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:16\\d{3}|87)', - 'ExampleNumber' => '187', + 'NationalNumberPattern' => '1(?:1(?:[2358]|6\\d{3})|87)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -42,14 +42,13 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:12|4(?:[478]\\d{1,3}|55))\\d{2}', - 'ExampleNumber' => '1254', + 'NationalNumberPattern' => '(?:12|4(?:[478](?:[0-4]|[5-9]\\d\\d)|55))\\d\\d', + 'ExampleNumber' => '1200', 'PossibleLength' => array ( 0 => 4, 1 => 5, - 2 => 6, - 3 => 7, + 2 => 7, ), 'PossibleLengthLocalOnly' => array ( @@ -69,8 +68,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0\\d{2,3}|1(?:[2-5789]|6(?:000|111))|2\\d{2}|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2(?:[01]\\d{2}|[2-9])|4\\d|696))|4(?:2323|3(?:[01]|[45]\\d{2})\\d{2}|[478](?:[0-4]|[5-9]\\d{2})\\d{2}|5(?:045|5\\d{2}))', - 'ExampleNumber' => '114', + 'NationalNumberPattern' => '1(?:0\\d{2,3}|1(?:[2-57-9]|6(?:000|111))|2\\d\\d|3[39]|4(?:82|9\\d{1,3})|5(?:00|1[58]|2[25]|3[03]|44|[59])|60|8[67]|9(?:[01]|2(?:[01]\\d\\d|[2-9])|4\\d|696))|4(?:2323|(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d))\\d\\d|5(?:045|5\\d\\d))', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -100,13 +99,12 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4[3-578]\\d{3,5}', + 'NationalNumberPattern' => '4(?:3(?:[01]|[45]\\d\\d)|[478](?:[0-4]|[5-9]\\d\\d)|5[05])\\d\\d', 'ExampleNumber' => '43000', 'PossibleLength' => array ( 0 => 5, - 1 => 6, - 2 => 7, + 1 => 7, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JE.php index 546b9a70d..061569abb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JE.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|999', - 'ExampleNumber' => '999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[0135])|23[234]|999', - 'ExampleNumber' => '150', + 'NationalNumberPattern' => '1(?:00|1(?:2|8\\d{3})|23|4(?:[14]|28|7\\d)|5\\d|7(?:0[12]|[128]|35?)|808|9[0135])|23[2-4]|999', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JM.php index 125788017..e87b20711 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[029]|911', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[029]|911', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1[029]|76)|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JO.php index a092a9d03..a23ac04a8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JO.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|9[127])|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:09|1[0-2]|9[0-24-79])|9(?:0903|11|8788)', - 'ExampleNumber' => '111', + 'ExampleNumber' => '109', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '9(?:0903|8788)', - 'ExampleNumber' => '90903', + 'NationalNumberPattern' => '9(?:09|87)\\d\\d', + 'ExampleNumber' => '90900', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '9(?:0903|8788)', - 'ExampleNumber' => '90903', + 'NationalNumberPattern' => '9(?:09|87)\\d\\d', + 'ExampleNumber' => '90900', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JP.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JP.php index 271b39d87..99220fd0c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_JP.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[09]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KE.php index e9815279d..3eb68f3fb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KE.php @@ -27,8 +27,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:1(?:6|9\\d)|5(?:01|2[127]|6(?:29|6[67])))', - 'ExampleNumber' => '1501', + 'NationalNumberPattern' => '1(?:1(?:[246]|9\\d)|5(?:01|2[127]|6[26]\\d))|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -38,8 +38,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '909\\d{2}', - 'ExampleNumber' => '90912', + 'NationalNumberPattern' => '909\\d\\d', + 'ExampleNumber' => '90900', 'PossibleLength' => array ( 0 => 5, @@ -50,8 +50,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '112|114|999', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '11[24]|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[07-9]|1[0-25]|400)|1(?:[02456]|9[0-579])|2[123]|3[01]|4[14]|5(?:[01][01]|2[0-24-79]|33|4[05]|5[59]|6(?:00|29|6[67]))|6[035]\\d{2}|[78]\\d|9(?:[02-9]\\d{2}|19))|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-7]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:[0-9]\\d{3}|988)|9(?:09\\d{2}|99)', - 'ExampleNumber' => '116', + 'NationalNumberPattern' => '1(?:0(?:[07-9]|1[0-25]|400)|1(?:[024-6]|9[0-579])|2[1-3]|3[01]|4[14]|5(?:[01][01]|2[0-24-79]|33|4[05]|5[59]|6(?:00|29|6[67]))|(?:6[035]\\d|[78])\\d|9(?:[02-9]\\d\\d|19))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99))\\d\\d|9(?:09\\d\\d|99)|8988', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -83,8 +83,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:0400|3[01]|4[14]|5(?:1[01]|2[25])|6[35]\\d{2})|(?:2[0-79]|3[0-29]|4[0-4])\\d{3}|5(?:[0-7]\\d|99)\\d{2}|(?:6[2357]|7[0-29])\\d{3}|8(?:988|[0-9]\\d{3})|909\\d{2}', - 'ExampleNumber' => '90912', + 'NationalNumberPattern' => '1(?:(?:04|6[35])\\d\\d|3[01]|4[14]|5(?:1\\d|2[25]))|(?:(?:2[0-79]|[37][0-29]|4[0-4]|6[2357]|8\\d)\\d|5(?:[0-7]\\d|99)|909)\\d\\d|898\\d', + 'ExampleNumber' => '130', 'PossibleLength' => array ( ), @@ -94,8 +94,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1(?:0400|4[14]|5(?:01|55|6(?:29|6[67]))|6[035]\\d{2})|40404|8988|909\\d{2}', - 'ExampleNumber' => '8988', + 'NationalNumberPattern' => '1(?:(?:04|6[035])\\d\\d|4[14]|5(?:01|55|6[26]\\d))|40404|8988|909\\d\\d', + 'ExampleNumber' => '141', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KG.php index 78ccebd0c..9080f4cc4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KG.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '10[1-3]', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '10[123]', + 'NationalNumberPattern' => '10[1-3]', 'ExampleNumber' => '101', 'PossibleLength' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '10[123]|4040', + 'NationalNumberPattern' => '10[1-3]|4040', 'ExampleNumber' => '101', 'PossibleLength' => array ( @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '4040', + 'NationalNumberPattern' => '404\\d', 'ExampleNumber' => '4040', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4040', + 'NationalNumberPattern' => '404\\d', 'ExampleNumber' => '4040', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KH.php index 0b09e8d56..2a1cf253e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KH.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[7-9]|666', + 'ExampleNumber' => '117', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '11[789]|666', + 'NationalNumberPattern' => '11[7-9]|666', 'ExampleNumber' => '117', 'PossibleLength' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11[789]|40404|666', + 'NationalNumberPattern' => '11[7-9]|40404|666', 'ExampleNumber' => '117', 'PossibleLength' => array ( @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KI.php index b29caf28c..aee139590 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KI.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[2-5]|99[2-49]', + 'ExampleNumber' => '192', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +48,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '19[2-5]|99[2349]', + 'NationalNumberPattern' => '19[2-5]|99[2-49]', 'ExampleNumber' => '192', 'PossibleLength' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[0-8]|5[01259])|88|9[2-5])|777|99[2349]', + 'NationalNumberPattern' => '1(?:05[0-259]|88|9[2-5])|777|99[2-49]|10[0-8]', 'ExampleNumber' => '100', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KM.php index cde7120a1..9ad7ac3e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[78]', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KN.php index bc9e14f5f..0718c4cf4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KN.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '333|9(?:11|99)', + 'ExampleNumber' => '333', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '333|9(?:11|99)', - 'ExampleNumber' => '999', + 'ExampleNumber' => '333', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '333|9(?:11|99)', - 'ExampleNumber' => '999', + 'ExampleNumber' => '333', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KP.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KP.php index 0adbd1c34..9d7ce6153 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KP.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[29]|819', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,7 +46,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:12|19)|819', + 'NationalNumberPattern' => '11[29]|819', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -56,7 +57,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:12|19)|819', + 'NationalNumberPattern' => '11[29]|819', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KW.php index 3588c7844..9832419a8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KW.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[0-7]\\d|89887', - 'ExampleNumber' => '177', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '89887', - 'ExampleNumber' => '89887', + 'NationalNumberPattern' => '898\\d\\d', + 'ExampleNumber' => '89800', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KY.php index 096b0f187..475e12acf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KY.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KZ.php index 881c28ac9..9ca9ee341 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_KZ.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,8 +49,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0[123]|12)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[1-4]|12)|30400|4040', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[1-4]|12)|(?:3040|404)0', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), @@ -80,8 +82,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '30400|4040', - 'ExampleNumber' => '30400', + 'NationalNumberPattern' => '(?:304\\d|404)\\d', + 'ExampleNumber' => '4040', 'PossibleLength' => array ( 0 => 4, @@ -93,8 +95,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '30400|4040', - 'ExampleNumber' => '30400', + 'NationalNumberPattern' => '(?:304\\d|404)\\d', + 'ExampleNumber' => '4040', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LA.php index 642142139..e1a90ad60 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LA.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[015]', + 'ExampleNumber' => '190', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LB.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LB.php index da4548aed..e8354c2d3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LB.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|40|75)|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LC.php index 7d60eae79..e5a0da6c3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LI.php index 75ebb4d7a..b4922de3a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LI.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[278]|44)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1(?:[278]|45)|4[3-57]|50|75|81[18])', - 'ExampleNumber' => '1145', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LK.php index 019b94b46..0969c9b75 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LK.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[02689]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[02689]', - 'ExampleNumber' => '119', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[024-9]', - 'ExampleNumber' => '119', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LR.php index 34e7e9c88..38ad97ac9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LR.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '355|911', + 'ExampleNumber' => '355', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '355|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '355', 'PossibleLength' => array ( 0 => 3, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '355|4040|8(?:400|933)|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '355', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '4040|8(?:400|933)', - 'ExampleNumber' => '8400', + 'NationalNumberPattern' => '(?:404|8(?:40|93))\\d', + 'ExampleNumber' => '4040', 'PossibleLength' => array ( 0 => 4, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '4040|8(?:400|933)', - 'ExampleNumber' => '8400', + 'NationalNumberPattern' => '(?:404|8(?:40|93))\\d', + 'ExampleNumber' => '4040', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LS.php index d428c9b2a..322453fc4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LS.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[257]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LT.php index 184b03dd4..cd13d8878 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LT.php @@ -27,11 +27,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|1(?:2|6\\d{3}))', + 'ExampleNumber' => '01', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -49,8 +48,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '0(?:11?|22?|33?)|1(?:0[123]|12)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|12)', + 'ExampleNumber' => '01', 'PossibleLength' => array ( 0 => 2, @@ -62,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:11?|22?|33?)|1(?:0[123]|1(?:2|6(?:000|1(?:11|23))))', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0(?:11?|22?|33?)|1(?:0[1-3]|1(?:2|6(?:000|1(?:11|23))))', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LU.php index f2e0b2e23..aca137ad4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LU.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:[23]|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:[23]|6(?:000|111)|8\\d{2})|[25]\\d{3}|3\\d{2})', - 'ExampleNumber' => '12123', + 'NationalNumberPattern' => '1(?:1(?:[23]|6(?:000|111)|8\\d\\d)|(?:[25]\\d|3)\\d\\d)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LV.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LV.php index 58ce40b73..c22b184a2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LV.php @@ -29,11 +29,13 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '0[1-3]|11(?:[023]|6\\d{3})', + 'ExampleNumber' => '01', 'PossibleLength' => array ( - 0 => 6, + 0 => 2, + 1 => 3, + 2 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -41,7 +43,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1180|8(?:2\\d{3}|[89]\\d{2})', + 'NationalNumberPattern' => '1180|821\\d\\d', 'ExampleNumber' => '1180', 'PossibleLength' => array ( @@ -54,8 +56,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '0[123]|11[023]', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0[1-3]|11[023]', + 'ExampleNumber' => '01', 'PossibleLength' => array ( 0 => 2, @@ -67,8 +69,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|55|655|77)|821[57]4', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '0[1-4]|1(?:1(?:[02-4]|6(?:000|111)|8[0189])|(?:5|65)5|77)|821[57]4', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), @@ -90,8 +92,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '16\\d{2}', - 'ExampleNumber' => '1655', + 'NationalNumberPattern' => '165\\d', + 'ExampleNumber' => '1650', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LY.php index 3b409d981..96f8f6837 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_LY.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[013]', + 'ExampleNumber' => '190', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '19[013]', - 'ExampleNumber' => '193', + 'ExampleNumber' => '190', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '19[013]', - 'ExampleNumber' => '193', + 'ExampleNumber' => '190', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MA.php index ee7ce183f..838eb769a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MA.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:[59]|77)', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MC.php index 19acc3ca8..c1b472884 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MC.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|[578])', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:12|[578])', - 'ExampleNumber' => '112', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:12|41|[578])', - 'ExampleNumber' => '112', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MD.php index 21d011e5d..837e7b412 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MD.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|90[1-3]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|1(?:11|23))|8\\d{1,2}|99)|4\\d{3}|6[0-389]\\d|9(?:0[04-9]|[1-4]\\d))|90[1-3]', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|1(?:11|23))|8\\d\\d?|99)|(?:4\\d\\d|6[0-389])\\d|9(?:0[04-9]|[1-4]\\d))|90[1-3]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ME.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ME.php index 975cd9709..fcfa7d689 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ME.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ME.php @@ -28,9 +28,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|2[2-4])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:12|2[234])', + 'NationalNumberPattern' => '1(?:12|2[2-4])', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -60,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:[03]\\d{2}|1(?:[013-57-9]\\d|2|6\\d{3})|2\\d{1,3}|4\\d{2,3}|5(?:\\d{2}|999)|60[06]|700|8(?:0[089]|1[0-8]|888)|9\\d{3})', - 'ExampleNumber' => '1011', + 'NationalNumberPattern' => '1(?:1(?:(?:[013-57-9]|6\\d\\d)\\d|2)|[249]\\d{3}|5999|8(?:0[089]|1[0-8]|888))|1(?:[02-5]\\d\\d|60[06]|700)|12\\d', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MF.php index 128c1910b..0c165ddd1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '18', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '18', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MH.php index bb13e38f4..0fda41776 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MH.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MK.php index 6560da36d..ff1566a59 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MK.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|9[2-4])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,7 +46,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:12|9[234])', + 'NationalNumberPattern' => '1(?:12|9[2-4])', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -56,7 +57,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:12|9[234])', + 'NationalNumberPattern' => '1(?:12|9[2-4])', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ML.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ML.php index ba1555698..89a0376a9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ML.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ML.php @@ -28,12 +28,13 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '35200|67(?:00|77)|74(?:02|44)|8000[12]', - 'ExampleNumber' => '35200', + 'NationalNumberPattern' => '1[578]|35200|67(?:00|7\\d)|74(?:02|4\\d)|8000\\d', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => 4, - 1 => 5, + 0 => 2, + 1 => 4, + 2 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -41,8 +42,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '122[13]|3(?:52(?:11|2[02]|3[04-6]|99)|7574)|8002[12]', - 'ExampleNumber' => '35211', + 'NationalNumberPattern' => '(?:12|800)2\\d|3(?:52(?:11|2[02]|3[04-6]|99)|7574)', + 'ExampleNumber' => '1220', 'PossibleLength' => array ( 0 => 4, @@ -55,7 +56,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '17', + 'ExampleNumber' => '15', 'PossibleLength' => array ( 0 => 2, @@ -66,8 +67,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|[013-9]\\d)|2(?:1[02-469]|2[13])|[578])|3(?:5(?:0(?:35|57)|2\\d{2})|[67]\\d{3})|67(?:0[09]|59|77|8[89]|99)|74(?:0[02]|44|55)|800[012][12]', - 'ExampleNumber' => '1210', + 'NationalNumberPattern' => '1(?:1(?:[013-9]\\d|2)|2(?:1[02-469]|2[13])|[578])|3(?:5(?:0(?:35|57)|2\\d\\d)|[67]\\d{3})|67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)|800[0-2][12]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -77,7 +78,7 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '37(?:433|575)|7400|8001[12]', + 'NationalNumberPattern' => '37(?:433|575)|7400|8001\\d', 'ExampleNumber' => '7400', 'PossibleLength' => array ( @@ -90,8 +91,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '3(?:5035|[67]\\d{3})|800[012][12]', - 'ExampleNumber' => '35035', + 'NationalNumberPattern' => '(?:3(?:503|[67]\\d\\d)|800\\d)\\d', + 'ExampleNumber' => '35030', 'PossibleLength' => array ( 0 => 5, @@ -102,8 +103,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '3(?:6\\d{3}|7(?:4(?:0[24-9]|[1-9]\\d)|5\\d{2}))|7400', - 'ExampleNumber' => '37575', + 'NationalNumberPattern' => '3(?:6\\d{3}|7(?:4(?:0[24-9]|[1-9]\\d)|5\\d\\d))|7400', + 'ExampleNumber' => '7400', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MM.php index 48bbc51ca..790b008a3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '199', + 'ExampleNumber' => '199', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MN.php index 3bd00087e..03836613a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MN.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '10[0-3]', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '10[0-3]', - 'ExampleNumber' => '102', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '10[0-3]', - 'ExampleNumber' => '102', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MO.php index 66d09e872..37674922d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MO.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MP.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MP.php index 481ad33c3..481023ed4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MP.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MQ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MQ.php index f1a30043c..4d9e00f5d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MQ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MQ.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|[578])', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MR.php index de63de308..818848b25 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MR.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[78]', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MS.php index 01f2b9ac4..ccc9f0cc5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MS.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MT.php index a1371c85d..8e2023118 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MT.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|1(?:11|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MU.php index 8cdc996b3..7978ed0e4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MU.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[45]|99[59]', + 'ExampleNumber' => '114', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[45]|99[59]', - 'ExampleNumber' => '999', + 'ExampleNumber' => '114', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1\\d{2,4}|8\\d{3}|99\\d', - 'ExampleNumber' => '995', + 'NationalNumberPattern' => '(?:1\\d{1,3}|8\\d\\d|99)\\d', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MV.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MV.php index 7a50c19cb..1310ae669 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MV.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:02|1[89])', + 'ExampleNumber' => '102', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:[0-37-9]\\d|[45](?:1|\\d{2})|6\\d{2})|4040', - 'ExampleNumber' => '123', + 'NationalNumberPattern' => '1(?:[0-37-9]|[4-6]\\d)\\d|4040|1[45]1', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MW.php index d53273cd0..f33bb8337 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MW.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '199|99[7-9]', + 'ExampleNumber' => '199', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -46,8 +48,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '199|99[789]', - 'ExampleNumber' => '997', + 'NationalNumberPattern' => '199|99[7-9]', + 'ExampleNumber' => '199', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '199|80400|99[789]', - 'ExampleNumber' => '997', + 'NationalNumberPattern' => '199|80400|99[7-9]', + 'ExampleNumber' => '199', 'PossibleLength' => array ( ), @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '80400', + 'NationalNumberPattern' => '804\\d\\d', 'ExampleNumber' => '80400', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '80400', + 'NationalNumberPattern' => '804\\d\\d', 'ExampleNumber' => '80400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MY.php index 1cd2b3576..7fc041618 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MY.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|999', - 'ExampleNumber' => '999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[01348]|[569]\\d)|1(?:[02]|1[128]|311)|2(?:0[125]|[13-6]|2\\d{0,2})|3(?:09\\d|[1-39]\\d{1,2}|6|[5-7]\\d{0,2})|5(?:[12]\\d|454|5\\d{1,2}|77|888|999?)|7(?:[136-9]\\d|[45]\\d{1,2})|8(?:18?|2|8[18])|9(?:[03]\\d|[124]\\d?|68|71|9[0679]))|3[23679]\\d{3}|66628|99[1-469]', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '1(?:0(?:[01348]|[569]\\d)|1(?:[02]|1[128]|311)|2(?:0[125]|[13-6]|2\\d{0,2})|3(?:09\\d|[1-35-79]\\d\\d?)|5(?:[12]\\d|454|5\\d\\d?|77|888|999?)|7(?:[136-9]\\d|[45]\\d\\d?)|8(?:18?|2|8[18])|9(?:[0-4]\\d|68|71|9[0679]))|3[23679]\\d{3}|66628|99[1-469]|1(?:3[5-7]|9[124])', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -70,8 +72,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '66628', - 'ExampleNumber' => '66628', + 'NationalNumberPattern' => '666\\d\\d', + 'ExampleNumber' => '66600', 'PossibleLength' => array ( 0 => 5, @@ -92,8 +94,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '3[23679]\\d{3}|66628', - 'ExampleNumber' => '36000', + 'NationalNumberPattern' => '(?:3[23679]\\d|666)\\d\\d', + 'ExampleNumber' => '32000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MZ.php index 2cff9f6e4..6c566ca99 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_MZ.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[79]|9[78])', + 'ExampleNumber' => '117', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1[79]|9[78])', - 'ExampleNumber' => '119', + 'ExampleNumber' => '117', 'PossibleLength' => array ( 0 => 3, @@ -58,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:[02-5]\\d{2}|1[79]|9[78])', - 'ExampleNumber' => '1011', + 'NationalNumberPattern' => '1(?:[02-5]\\d\\d|1[79]|9[78])', + 'ExampleNumber' => '117', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NA.php index 348ca09bb..24955d1bc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NA.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '10111', + 'ExampleNumber' => '10111', 'PossibleLength' => array ( - 0 => -1, + 0 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0111|\\d{3})|9(?:3111|\\d{2})', - 'ExampleNumber' => '93111', + 'NationalNumberPattern' => '(?:10|93)111|(?:1\\d|9)\\d\\d', + 'ExampleNumber' => '900', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NC.php index 85e66bf1b..7e63c168a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NC.php @@ -27,12 +27,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '10(?:00|1[23]|3[0-2]|88)|3631|577', - 'ExampleNumber' => '1000', + 'NationalNumberPattern' => '1(?:0(?:00|1[23]|3[0-2]|8\\d)|[5-8])|363\\d|577', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => 3, - 1 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -62,8 +60,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:0[06]|1[02-46]|20|3[0125]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d', - 'ExampleNumber' => '1000', + 'NationalNumberPattern' => '1(?:0(?:0[06]|1[02-46]|20|3[0-25]|42|5[058]|77|88)|[5-8])|3631|5[6-8]\\d', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NE.php index d80546951..495955926 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NE.php @@ -27,9 +27,12 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]|723\\d{3}', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[578]|723141', - 'ExampleNumber' => '17', + 'ExampleNumber' => '15', 'PossibleLength' => array ( 0 => 2, @@ -60,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0[01]|1[12]|2[034]|3[013]|40|55?|60|7|8)|222|333|555|723141|888', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0[01]|1[12]|2[034]|3[013]|[46]0|55?|[78])|222|333|555|723141|888', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -81,7 +84,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:0[01]|1[12]|2[034]|3[013]|40|55|60)|222|333|555|888', + 'NationalNumberPattern' => '1(?:0[01]|1[12]|2[034]|3[013]|[46]0|55)|222|333|555|888', 'ExampleNumber' => '100', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NF.php index 0511c4a75..98c9e017f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|55|77)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NG.php index 1e8440a98..fb5433b13 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NG.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '199', + 'ExampleNumber' => '199', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40700', + 'NationalNumberPattern' => '407\\d\\d', 'ExampleNumber' => '40700', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40700', + 'NationalNumberPattern' => '407\\d\\d', 'ExampleNumber' => '40700', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NI.php index 7ccd625c9..5c3b1bd7e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NI.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '7373', - 'ExampleNumber' => '7373', + 'NationalNumberPattern' => '1(?:1[58]|2[08])|737\\d', + 'ExampleNumber' => '115', 'PossibleLength' => array ( - 0 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1[58]|2[08])', - 'ExampleNumber' => '118', + 'ExampleNumber' => '115', 'PossibleLength' => array ( 0 => 3, @@ -60,8 +59,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[58]|2(?:[158]|00?)|900)|2100|4878|6100|7(?:010|100|373)', - 'ExampleNumber' => '118', + 'NationalNumberPattern' => '1(?:1[58]|[29]00)|[26]100|4878|7(?:(?:01|10)0|373)|12[0158]', + 'ExampleNumber' => '115', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NL.php index 235cf9388..3813817f2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NL.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:00[06]|1(?:11|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,7 +63,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1(?:2|6(?:00[06]|1(?:11|23)))|2(?:0[0-4]|3[34]|44)|3[03-9]\\d|400|8(?:[02-9]\\d|1[0-79]))|[34]000|911', - 'ExampleNumber' => '1833', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -82,8 +83,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '120[0-4]', - 'ExampleNumber' => '1202', + 'NationalNumberPattern' => '120\\d', + 'ExampleNumber' => '1200', 'PossibleLength' => array ( 0 => 4, @@ -94,8 +95,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '[34]000', - 'ExampleNumber' => '4000', + 'NationalNumberPattern' => '[34]00\\d', + 'ExampleNumber' => '3000', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NO.php index 3af42b2b2..7eff4abce 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NO.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1161(?:1[17]|23)', - 'ExampleNumber' => '116117', + 'NationalNumberPattern' => '11(?:[023]|6\\d{3})', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -50,7 +51,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -62,7 +63,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1(?:[0239]|61(?:1[17]|23))|2[048]|4(?:12|[59])|7[57]|90)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NP.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NP.php index 9cd363b8b..d2c205d07 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NP.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NP.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[0-3]|12)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[0-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[0-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NR.php index 3cf7c64fd..e5acd004b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NR.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[0-2]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NU.php index 167123a98..362393737 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NU.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '01[05]|101|999', - 'ExampleNumber' => '999', + 'ExampleNumber' => '010', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NZ.php index e10b41ad2..b5f471428 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_NZ.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '111', + 'ExampleNumber' => '111', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -60,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '018|1(?:11|234|371|7[03]7|944)|[2-57-9]\\d{2,3}|6(?:161|26[0-3]|742)', - 'ExampleNumber' => '111', + 'NationalNumberPattern' => '018|1(?:(?:1|37)1|(?:23|94)4|7[03]7)|[2-57-9]\\d{2,3}|6(?:161|26[0-3]|742)', + 'ExampleNumber' => '018', 'PossibleLength' => array ( ), @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '018|1(?:234|371|7[03]7|944)|[2-57-9]\\d{2,3}|6(?:161|26[0-3]|742)', - 'ExampleNumber' => '4098', + 'NationalNumberPattern' => '018|(?:1(?:23|37|7[03]|94)|6(?:[12]6|74))\\d|[2-57-9]\\d{2,3}', + 'ExampleNumber' => '018', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_OM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_OM.php index 0bb3730e5..627b1dbb7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_OM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_OM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999\\d', + 'ExampleNumber' => '9990', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PA.php index d089e4ed1..0543502f9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PA.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PE.php index 9c2ac1a56..a57a8e625 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PE.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:05|1[67])', + 'ExampleNumber' => '105', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PF.php index 318483ae0..dc9c808e4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PG.php index 739a45f16..ddb22f61b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PG.php @@ -29,9 +29,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '000|11[01]', + 'ExampleNumber' => '000', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -61,7 +63,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '000|1(?:1[01]|5\\d{2}|6\\d{2,5})', + 'NationalNumberPattern' => '000|1(?:1[01]|5\\d\\d|6\\d{2,5})', 'ExampleNumber' => '000', 'PossibleLength' => array ( @@ -93,7 +95,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '16\\d{2,5}', - 'ExampleNumber' => '1612', + 'ExampleNumber' => '1600', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PH.php index cd431490d..326486d81 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PH.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[27]|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[27]|911', - 'ExampleNumber' => '117', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PK.php index 58619d53c..9f954cd35 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PK.php @@ -27,9 +27,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1(?:2\\d?|5)|[56])', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1(?:22?|5)|[56])', - 'ExampleNumber' => '112', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -59,7 +60,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1(?:22?|5)|[56])', - 'ExampleNumber' => '112', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PL.php index 054ca98b3..691b943c2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PL.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|99[7-9]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -49,7 +50,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '112|99[789]', + 'NationalNumberPattern' => '112|99[7-9]', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PM.php index c0a6ca4c0..02d3ab626 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PM.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1[578]', - 'ExampleNumber' => '17', + 'ExampleNumber' => '15', 'PossibleLength' => array ( 0 => 2, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[578]|3103', - 'ExampleNumber' => '17', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '3103', - 'ExampleNumber' => '3103', + 'NationalNumberPattern' => '310\\d', + 'ExampleNumber' => '3100', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PR.php index 3daaa5a25..1a1ba41f3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PR.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PS.php index 347083877..5d4af53be 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PS.php @@ -25,8 +25,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '166', - 'ExampleNumber' => '166', + 'NationalNumberPattern' => '1(?:0[0-2]|66)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -58,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[0-2]|44|66|99)', - 'ExampleNumber' => '199', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PT.php index 7407da642..9fb5714c4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PT.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|111)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:[25]|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PW.php index e8760473b..4ebbeeebe 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PY.php index b918e058f..752bacbc0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_PY.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '128|911', + 'ExampleNumber' => '128', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '128|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '128', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1[1-4]\\d|911', - 'ExampleNumber' => '123', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_QA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_QA.php index c8b21b756..695ae0bbe 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_QA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_QA.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '(?:1|20|9[27]\\d)\\d{2}|999', - 'ExampleNumber' => '2012', + 'NationalNumberPattern' => '(?:1|20)\\d\\d|9(?:[27]\\d{3}|99)', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RE.php index 56555a2cd..2a061cc02 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RE.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|[578])', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RO.php index 9538294da..638b19bdf 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RO.php @@ -27,11 +27,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|111)', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -39,8 +40,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '(?:1(?:18(?:300|932)|[24]\\d{2})|8[48]\\d{2})', - 'ExampleNumber' => '8844', + 'NationalNumberPattern' => '(?:1(?:18\\d|[24])|8[48])\\d\\d', + 'ExampleNumber' => '1200', 'PossibleLength' => array ( 0 => 4, @@ -64,7 +65,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|111)|8(?:300|932))|[24]\\d{2}|9(?:21|3[02]|5[178]))|8[48]\\d{2}', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|111)|8(?:300|932))|[24]\\d\\d|9(?:21|3[02]|5[178]))|8[48]\\d\\d', 'ExampleNumber' => '112', 'PossibleLength' => array ( @@ -95,8 +96,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '(?:1[24]|8[48])\\d{2}', - 'ExampleNumber' => '8844', + 'NationalNumberPattern' => '(?:1[24]|8[48])\\d\\d', + 'ExampleNumber' => '1200', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RS.php index 59c2dcf91..5c233ccde 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RS.php @@ -29,9 +29,12 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|9[2-4]', + 'ExampleNumber' => '92', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, + 1 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -49,8 +52,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '112|9[234]', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '112|9[2-4]', + 'ExampleNumber' => '92', 'PossibleLength' => array ( 0 => 2, @@ -62,8 +65,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1[189]\\d{1,4}|9[234]', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1[189]\\d{1,4}|9[2-4]', + 'ExampleNumber' => '92', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RU.php index 88e26bcc4..1248d3242 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RU.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '0[1-3]|1(?:0[1-3]|12)', + 'ExampleNumber' => '01', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +48,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '0[1-3]|1(?:0[1-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '0[1-4]|1(?:0[1-4]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RW.php index 86a21da35..b030a7d45 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_RW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SA.php index f5d84eedc..485783dc2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SA.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116111|937|998', - 'ExampleNumber' => '116111', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|9(?:11|37|9[7-9])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -52,7 +52,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|9(?:11|9[79])', - 'ExampleNumber' => '999', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -64,7 +64,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1(?:00|2|6111)|410|9(?:00|1[89]|9(?:099|22|91)))|9(?:0[24-79]|11|3[379]|40|66|8[5-9]|9[02-9])', - 'ExampleNumber' => '937', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -74,7 +74,7 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '1410', + 'NationalNumberPattern' => '141\\d', 'ExampleNumber' => '1410', 'PossibleLength' => array ( @@ -86,7 +86,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1(?:100|410)|90[24679]', + 'NationalNumberPattern' => '1(?:10|41)\\d|90[24679]', 'ExampleNumber' => '902', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SB.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SB.php index b4d52ac8a..26e6c478a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SB.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SB.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SC.php index 8c038c0da..c9e922b95 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SC.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -58,7 +60,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0\\d|1[027]|2[0-8]|3[13]|4[0-2]|[59][15]|6[1-9]|7[124-6]|8[158])|9(?:6\\d{2}|99)', + 'NationalNumberPattern' => '1(?:0\\d|1[027]|2[0-8]|3[13]|4[0-2]|[59][15]|6[1-9]|7[124-6]|8[158])|9(?:6\\d\\d|99)', 'ExampleNumber' => '100', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SD.php index 08ccee4f5..23030627c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SD.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SE.php index 148e4cf09..169545516 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SE.php @@ -28,11 +28,13 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:2|6\\d{3})|900\\d\\d', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 5, + 2 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -41,7 +43,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '11811[89]|72\\d{3}', - 'ExampleNumber' => '118118', + 'ExampleNumber' => '72000', 'PossibleLength' => array ( 0 => 5, @@ -66,8 +68,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11(?:[25]|313|4\\d{2}|6(?:00[06]|11[17]|123)|7[0-8]|8(?:1(?:[02-9]\\d|1[013-9])|[02-46-9]\\d{2}))|2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|7\\d{4}|8(?:22|88)|9(?:0(?:000|1(?:[02-9]\\d|1[013-9])|[2-4]\\d{2}|510)|12)', - 'ExampleNumber' => '11313', + 'NationalNumberPattern' => '11(?:[25]|313|4\\d\\d|6(?:00[06]|1(?:1[17]|23))|7[0-8]|8(?:[02-46-9]\\d\\d|1(?:[02-9]\\d|1[013-9])))|2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|7\\d{4}|8(?:22|88)|9(?:0(?:(?:00|51)0|1(?:[02-9]\\d|1[013-9])|[2-4]\\d\\d)|12)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -88,7 +90,7 @@ return array ( 'carrierSpecific' => array ( 'NationalNumberPattern' => '2(?:2[02358]|33|4[01]|50|6[1-4])|32[13]|8(?:22|88)|912', - 'ExampleNumber' => '222', + 'ExampleNumber' => '220', 'PossibleLength' => array ( 0 => 3, @@ -100,7 +102,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '7\\d{4}', - 'ExampleNumber' => '72123', + 'ExampleNumber' => '70000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SG.php index 6ae390f62..46623880f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SG.php @@ -27,9 +27,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '99[359]', + 'ExampleNumber' => '993', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -48,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '99[359]', - 'ExampleNumber' => '999', + 'ExampleNumber' => '993', 'PossibleLength' => array ( 0 => 3, @@ -59,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:[0136]\\d{2}|[89](?:[1-9]\\d|0[1-9])|[57]\\d{2,3})|77222|99[02-9]', - 'ExampleNumber' => '1312', + 'NationalNumberPattern' => '1(?:[0136]\\d\\d|[57]\\d{2,3}|[89](?:0[1-9]|[1-9]\\d))|77222|99[02-9]', + 'ExampleNumber' => '990', 'PossibleLength' => array ( ), @@ -90,8 +92,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '77222', - 'ExampleNumber' => '77222', + 'NationalNumberPattern' => '772\\d\\d', + 'ExampleNumber' => '77200', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SH.php index b1c6d5aa1..72fad2270 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SH.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '9(?:11|99)', - 'ExampleNumber' => '999', + 'ExampleNumber' => '911', 'PossibleLength' => array ( 0 => 3, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1\\d{2,3}|9(?:11|99)', - 'ExampleNumber' => '1234', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SI.php index 8eb448379..24f2ddaa1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SI.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|1(?:11|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '11(?:[23]|6\\d{3})', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SJ.php index a47d38c8f..ad76b6a94 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SJ.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[023]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SK.php index 2bd272bf8..af4ba1426 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SK.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116\\d{3}', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:1(?:2|6\\d{3})|5[058])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -62,7 +63,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|111)|8[0-8])|[24]\\d{3}|5[0589]|8\\d{3})', + 'NationalNumberPattern' => '1(?:1(?:2|6(?:000|111)|8[0-8])|[248]\\d{3}|5[0589])', 'ExampleNumber' => '112', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SL.php index 13394d591..e9712f7a8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SL.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '(?:01|99)9', + 'ExampleNumber' => '019', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '(?:01|99)9', - 'ExampleNumber' => '999', + 'ExampleNumber' => '019', 'PossibleLength' => array ( 0 => 3, @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '(?:01|99)9|60400', - 'ExampleNumber' => '999', + 'ExampleNumber' => '019', 'PossibleLength' => array ( ), @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '60400', + 'NationalNumberPattern' => '604\\d\\d', 'ExampleNumber' => '60400', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '60400', + 'NationalNumberPattern' => '604\\d\\d', 'ExampleNumber' => '60400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SM.php index 3bbb0957b..b3b512898 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[358]', + 'ExampleNumber' => '113', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SN.php index dd168674a..3d7a524a9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SN.php @@ -29,13 +29,14 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1515|2(?:00|1)\\d{3}', - 'ExampleNumber' => '200133', + 'NationalNumberPattern' => '1(?:515|[78])|2(?:00|1)\\d{3}', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => 4, - 1 => 5, - 2 => 6, + 0 => 2, + 1 => 4, + 2 => 5, + 3 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -44,7 +45,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '2(?:0[246]|[468])\\d{3}', - 'ExampleNumber' => '202222', + 'ExampleNumber' => '24000', 'PossibleLength' => array ( 0 => 5, @@ -68,8 +69,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1[69]|2(?:\\d{2})?|[46]\\d{2}|51\\d|[78])|2(?:0[0-246]|[12468])\\d{3}', - 'ExampleNumber' => '17', + 'NationalNumberPattern' => '1(?:1[69]|(?:[246]\\d|51)\\d)|2(?:0[0-246]|[12468])\\d{3}|1[278]', + 'ExampleNumber' => '12', 'PossibleLength' => array ( ), @@ -80,7 +81,7 @@ return array ( 'standardRate' => array ( 'NationalNumberPattern' => '2(?:01|2)\\d{3}', - 'ExampleNumber' => '201202', + 'ExampleNumber' => '22000', 'PossibleLength' => array ( 0 => 5, @@ -92,8 +93,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '1[46]\\d{2}', - 'ExampleNumber' => '1415', + 'NationalNumberPattern' => '1[46]\\d\\d', + 'ExampleNumber' => '1400', 'PossibleLength' => array ( 0 => 4, @@ -105,7 +106,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '2[468]\\d{3}', - 'ExampleNumber' => '24123', + 'ExampleNumber' => '24000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SO.php index efcd148f6..821032470 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SO.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '555|888|999', + 'ExampleNumber' => '555', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '555|777|888|999', - 'ExampleNumber' => '777', + 'ExampleNumber' => '555', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SR.php index 46dbd8a84..d3376cda0 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SR.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '115', + 'ExampleNumber' => '115', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1\\d{2,3}', - 'ExampleNumber' => '1234', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ST.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ST.php index 608feb7a1..4a8abbf1c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ST.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ST.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SV.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SV.php index adf04afc2..847c5f7ca 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SV.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,8 +81,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, @@ -91,8 +93,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '40404', - 'ExampleNumber' => '40404', + 'NationalNumberPattern' => '404\\d\\d', + 'ExampleNumber' => '40400', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SX.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SX.php index 9b829a514..f46aff138 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SX.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SX.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '919', + 'ExampleNumber' => '919', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SY.php index 8558310cc..db38cc3ce 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SY.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[023]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[023]', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SZ.php index 8da342e00..1fb293201 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_SZ.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TC.php index 0bfc111b2..7dfdac0fd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TD.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TD.php index 0ae7f112a..1f7688808 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TD.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TD.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[78]', + 'ExampleNumber' => '17', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TG.php index 2e0995f44..87b93b4ed 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TG.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:1[78]|7[127])', + 'ExampleNumber' => '117', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -59,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:011|1[078]|7[127])', - 'ExampleNumber' => '117', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TH.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TH.php index a711b4d41..c84541b73 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TH.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TH.php @@ -26,11 +26,10 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:1(?:00|2[03]|3[3479]|55|7[67]|9[0246])|5(?:55|78)|6(?:44|6[79]|88|9[16])|888)', - 'ExampleNumber' => '1669', + 'NationalNumberPattern' => '1(?:1(?:00|2[03]|3[3479]|55|7[67]|9[0246])|5(?:55|78)|6(?:44|6[79]|88|9[16])|88\\d|9[19])', + 'ExampleNumber' => '191', 'PossibleLength' => array ( - 0 => 4, ), 'PossibleLengthLocalOnly' => array ( @@ -38,8 +37,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '1(?:113|2(?:22|3[89])|5(?:09|56))', - 'ExampleNumber' => '1509', + 'NationalNumberPattern' => '1(?:113|2[23]\\d|5(?:09|56))', + 'ExampleNumber' => '1113', 'PossibleLength' => array ( 0 => 4, @@ -62,7 +61,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[0-2]|1(?:0[03]|1[1-35]|2[0358]|3[03-79]|4[02-489]|5[04-9]|6[04-79]|7[03-9]|8[027-9]|9[02-79])|2(?:22|3[89])|3(?:18|2[23]|3[013]|5[56]|6[45]|73)|477|5(?:0\\d|4[0-37-9]|5[1-8]|6[01679]|7[12568]|8[0-24589]|9[013589])|6(?:0[0-29]|2[03]|4[3-6]|6[1-9]|7[0257-9]|8[0158]|9[014-9])|7(?:19|7[27]|90)|888|9[19])', - 'ExampleNumber' => '191', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), @@ -72,8 +71,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '1(?:1(?:03|1[15]|2[58]|3[056]|4[02-49]|5[046-9]|6[04-79]|7[03-589]|8[02789]|9[579])|3(?:18|2[23]|3[013]|5[4-6])|5(?:0[0-8]|4[0-378]|5[1-478]|6[01679]|7[156]|8[0-24589]|9[013589])|6(?:0[0-29]|20|4[356]|6[1-68]|7[05789]|8[015]|9[0457-9])|7(?:19|7[27]))', - 'ExampleNumber' => '1149', + 'NationalNumberPattern' => '1(?:1(?:03|1[15]|2[58]|3[056]|4[02-49]|5[046-9]|[68]\\d|7[03-589]|9[579])|(?:3[1-35]|7[17])\\d|5(?:0[0-8]|4[0-378]|5[1-478]|[689]\\d|7[156])|6(?:0\\d|20|4[356]|6[1-68]|7[057-9]|8[015]|9[0457-9]))', + 'ExampleNumber' => '1103', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TJ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TJ.php index a4c1ee850..eeb6164d5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TJ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TJ.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:0[1-3]|12)', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[1-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[1-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TL.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TL.php index f5cdf8486..a8b0578ad 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TL.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TL.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[25]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0[02]|1[25]|2[0138]|72|9[07])', - 'ExampleNumber' => '102', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TM.php index a3bcbf569..63c17df33 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '0[1-3]', + 'ExampleNumber' => '01', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '0[1-3]', - 'ExampleNumber' => '03', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '0[1-3]', - 'ExampleNumber' => '03', + 'ExampleNumber' => '01', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TN.php index 81f409d77..6f9f58aa8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TN.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[078]', + 'ExampleNumber' => '190', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '19[078]', - 'ExampleNumber' => '197', + 'ExampleNumber' => '190', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '19[078]', - 'ExampleNumber' => '197', + 'ExampleNumber' => '190', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TO.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TO.php index 84ffdd092..0973905fd 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TO.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TO.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|22|33|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TR.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TR.php index 61f19e15a..4466991ca 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TR.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TR.php @@ -27,8 +27,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '1(?:22|3[126]|4[04]|5[16-9]|6[18]|77|83)', - 'ExampleNumber' => '183', + 'NationalNumberPattern' => '1(?:1[02]|22|3[126]|4[04]|5[15-9]|6[18]|77|83)', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -50,7 +50,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:1[02]|55)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '110', 'PossibleLength' => array ( 0 => 3, @@ -61,8 +61,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:[0239]|811)|2[126]|3(?:[126]|37?|[58]6|65)|4(?:[014]|71)|5(?:[135-9]|07|78)|6(?:[02]6|[1389]|99)|7[0-79]|8(?:\\d|63|95))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\\d{2}|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\\d{2}|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:1(?:[0239]|811)|2[126]|3(?:[12]|37?|[58]6|65?)|4(?:[014]|71)|5(?:07|[135689]|78?)|6(?:[02]6|[138]|99?)|7[0-79]|8(?:[0-578]|63?|95?))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\\d\\d|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\\d\\d|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)', + 'ExampleNumber' => '110', 'PossibleLength' => array ( ), @@ -72,8 +72,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '2850|5420', - 'ExampleNumber' => '5420', + 'NationalNumberPattern' => '(?:285|542)0', + 'ExampleNumber' => '2850', 'PossibleLength' => array ( 0 => 4, @@ -94,8 +94,8 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '1(?:3(?:37|[58]6|65)|4(?:4|71)|5(?:07|78)|6(?:[02]6|99)|8(?:3|63|95))|2(?:077|268|4(?:17|23)|5(?:7[26]|82)|6[14]4|8\\d{2}|9(?:30|89))|3(?:0(?:05|72)|353|4(?:06|30|64)|502|674|747|851|9(?:1[29]|60))|4(?:0(?:25|3[12]|[47]2)|3(?:3[13]|[89]1)|439|5(?:43|55)|717|832)|5(?:145|290|[4-6]\\d{2}|772|833|9(?:[06]1|92))|6(?:236|6(?:12|39|8[59])|769)|7890|8(?:688|7(?:28|65)|85[06])|9(?:159|290)', - 'ExampleNumber' => '5420', + 'NationalNumberPattern' => '1(?:3(?:37|[58]\\d|65)|4(?:4|7\\d)|5(?:0\\d|78)|6(?:[02]\\d|99)|8(?:3|63|95))|(?:2(?:07|26|4[12]|5[78]|6[14]|8\\d|9[38])|3(?:0[07]|[38]5|4[036]|50|67|74|9[16])|4(?:0[2-47]|3[389]|[48]3|5[45]|71)|5(?:14|29|[4-6]\\d|77|83|9[069])|6(?:23|6[138]|76)|789|8(?:68|7[26]|85)|9(?:15|29))\\d', + 'ExampleNumber' => '144', 'PossibleLength' => array ( 0 => 3, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TT.php index 332902f8d..5370d9b24 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TT.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '99[09]', + 'ExampleNumber' => '990', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '99[09]', - 'ExampleNumber' => '999', + 'ExampleNumber' => '990', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '99[09]', - 'ExampleNumber' => '999', + 'ExampleNumber' => '990', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TV.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TV.php index 20bc21ccd..be4247b7f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TV.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TV.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1\\d{2}|911', - 'ExampleNumber' => '911', + 'NationalNumberPattern' => '1\\d\\d|911', + 'ExampleNumber' => '100', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TW.php index 90a0cb48e..27c3800d6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TW.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[029]', + 'ExampleNumber' => '110', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TZ.php index 1735a373b..ce0f8e6b4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_TZ.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[12]|999', + 'ExampleNumber' => '111', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -79,7 +81,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '46400', + 'NationalNumberPattern' => '464\\d\\d', 'ExampleNumber' => '46400', 'PossibleLength' => array ( @@ -91,7 +93,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '46400', + 'NationalNumberPattern' => '464\\d\\d', 'ExampleNumber' => '46400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UA.php index 8fa5604b6..cc77ae5f4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UA.php @@ -28,11 +28,12 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '116(?:000|1(?:11|23))', - 'ExampleNumber' => '116000', + 'NationalNumberPattern' => '1(?:0[1-3]|1(?:2|6\\d{3}))', + 'ExampleNumber' => '101', 'PossibleLength' => array ( - 0 => 6, + 0 => 3, + 1 => 6, ), 'PossibleLengthLocalOnly' => array ( @@ -51,7 +52,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:0[1-3]|12)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '101', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +63,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:0(?:[1-49]|6\\d{2})|1(?:2|6(?:000|1(?:11|23))|8\\d{1,2})|[278]\\d|4\\d{3}|5(?:1|\\d{2})|6\\d{2})|[89]00\\d{1,2}', - 'ExampleNumber' => '112', + 'NationalNumberPattern' => '1(?:0(?:[1-49]|6\\d\\d)|1(?:2|6(?:000|1(?:11|23))|8\\d\\d?)|(?:[278]|(?:4\\d|[56])\\d)\\d)|[89]00\\d\\d?|151', + 'ExampleNumber' => '101', 'PossibleLength' => array ( ), @@ -83,8 +84,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '(?:118|[89]00)\\d{1,2}', - 'ExampleNumber' => '11812', + 'NationalNumberPattern' => '(?:118|[89]00)\\d\\d?', + 'ExampleNumber' => '1180', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UG.php index cae3552df..ed9ee9f88 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UG.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '999', + 'ExampleNumber' => '999', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_US.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_US.php index b1fa35ce3..554eac380 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_US.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_US.php @@ -28,8 +28,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '611', - 'ExampleNumber' => '611', + 'NationalNumberPattern' => '112|[69]11', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -40,7 +40,7 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '2(?:4280|5209|7(?:449|663))|3(?:2340|3786|5564|8(?:135|254))|4(?:1(?:366|463)|3355|6(?:157|327)|7553|8(?:221|277))|5(?:2944|4892|5928|9(?:187|342))|69388|7(?:2(?:078|087)|3(?:288|909)|6426)|8(?:6234|9616)|9(?:5297|6(?:040|835)|7(?:294|688)|9(?:689|796))', + 'NationalNumberPattern' => '2(?:4280|5209|7(?:449|663))|3(?:2340|3786|5564|8(?:135|254))|4(?:1(?:366|463)|3355|6(?:15|32)7|7553|82(?:21|77))|5(?:2944|4892|5928|9(?:187|342))|69388|7(?:20(?:78|87)|3(?:288|909)|6426)|8(?:6234|9616)|9(?:5297|6(?:040|835)|7(?:294|688)|9(?:689|796))', 'ExampleNumber' => '24280', 'PossibleLength' => array ( @@ -53,7 +53,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '112|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -64,8 +64,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '1(?:1(?:2|5[1-47]|[68]\\d|7[0-57]|98))|[2-9](?:11|\\d{3,5})', - 'ExampleNumber' => '911', + 'NationalNumberPattern' => '11(?:2|5[1-47]|[68]\\d|7[0-57]|98)|[2-9]\\d{3,5}|[2-9]11', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -75,8 +75,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '2(?:3333|42242|56447|6688|75622|9002)|3(?:1010|2665|7404)|40404|560560|6(?:0060|22639|5246|7622)|7(?:0701|3822|4666)|8(?:38255|4816|72265)|99099', - 'ExampleNumber' => '73822', + 'NationalNumberPattern' => '2(?:3333|(?:4224|7562|900)2|56447|6688)|3(?:1010|2665|7404)|40404|560560|6(?:0060|22639|5246|7622)|7(?:0701|3822|4666)|8(?:(?:3825|7226)5|4816)|99099', + 'ExampleNumber' => '23333', 'PossibleLength' => array ( 0 => 5, @@ -88,8 +88,8 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '[2-9]\\d{3}|33669|[2356]11', - 'ExampleNumber' => '33669', + 'NationalNumberPattern' => '336\\d\\d|[2-9]\\d{3}|[2356]11', + 'ExampleNumber' => '211', 'PossibleLength' => array ( 0 => 3, @@ -103,7 +103,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '[2-9]\\d{4,5}', - 'ExampleNumber' => '20566', + 'ExampleNumber' => '20000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UY.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UY.php index 1e4f4392a..e92716767 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UY.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UY.php @@ -26,9 +26,11 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '128|911', + 'ExampleNumber' => '128', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +49,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '128|911', - 'ExampleNumber' => '911', + 'ExampleNumber' => '128', 'PossibleLength' => array ( 0 => 3, @@ -69,8 +71,8 @@ return array ( ), 'standardRate' => array ( - 'NationalNumberPattern' => '1787', - 'ExampleNumber' => '1787', + 'NationalNumberPattern' => '178\\d', + 'ExampleNumber' => '1780', 'PossibleLength' => array ( 0 => 4, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UZ.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UZ.php index f05bcb47a..b06d616fb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UZ.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_UZ.php @@ -27,9 +27,12 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '0(?:0[1-3]|[1-3]|50)', + 'ExampleNumber' => '01', 'PossibleLength' => array ( - 0 => -1, + 0 => 2, + 1 => 3, ), 'PossibleLengthLocalOnly' => array ( @@ -47,7 +50,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '0(?:0[123]|[123]|50)', + 'NationalNumberPattern' => '0(?:0[1-3]|[1-3]|50)', 'ExampleNumber' => '01', 'PossibleLength' => array ( @@ -60,7 +63,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '0(?:0[123]|[123]|50)|45400', + 'NationalNumberPattern' => '0(?:0[1-3]|[1-3]|50)|45400', 'ExampleNumber' => '01', 'PossibleLength' => array ( @@ -81,7 +84,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '45400', + 'NationalNumberPattern' => '454\\d\\d', 'ExampleNumber' => '45400', 'PossibleLength' => array ( @@ -93,7 +96,7 @@ return array ( ), 'smsServices' => array ( - 'NationalNumberPattern' => '45400', + 'NationalNumberPattern' => '454\\d\\d', 'ExampleNumber' => '45400', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VA.php index d9d4bec1c..c149cabf4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VA.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[2358]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '11[2358]', - 'ExampleNumber' => '113', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '11[2358]', - 'ExampleNumber' => '113', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VC.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VC.php index 9c8efe04d..0a342d56a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VC.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VC.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VE.php index ba4389b7a..ac675ec3f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VE.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|71)|911', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '1(?:12|71)|911', - 'ExampleNumber' => '171', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:12|71)|911', - 'ExampleNumber' => '171', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VG.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VG.php index 9132f18fb..94e6fd8c7 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VG.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VG.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|99)', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VI.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VI.php index 2dd4ce17d..02581e952 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VI.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VI.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '911', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VN.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VN.php index 2b451dd7e..ca7dfd5e6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VN.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VN.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '11[3-5]', + 'ExampleNumber' => '113', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,7 +46,7 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '11[345]', + 'NationalNumberPattern' => '11[3-5]', 'ExampleNumber' => '113', 'PossibleLength' => array ( @@ -56,7 +57,7 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11[345]', + 'NationalNumberPattern' => '11[3-5]', 'ExampleNumber' => '113', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VU.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VU.php index 7985d6207..3ce447c9c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VU.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_VU.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WF.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WF.php index 1c0ff501e..e0b8e6f05 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WF.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WF.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1[578]', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WS.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WS.php index d771c8637..f19525252 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WS.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_WS.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '9(?:11|9[4-69])', + 'ExampleNumber' => '911', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -46,7 +47,7 @@ return array ( 'emergency' => array ( 'NationalNumberPattern' => '9(?:11|9[4-69])', - 'ExampleNumber' => '994', + 'ExampleNumber' => '911', 'PossibleLength' => array ( ), @@ -57,7 +58,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:1[12]|2[0-6])|9(?:11|9[4-79])', - 'ExampleNumber' => '994', + 'ExampleNumber' => '111', 'PossibleLength' => array ( ), @@ -78,7 +79,7 @@ return array ( 'carrierSpecific' => array ( 'NationalNumberPattern' => '12[0-6]', - 'ExampleNumber' => '121', + 'ExampleNumber' => '120', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_XK.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_XK.php index f024e7c89..bb1f6bf0c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_XK.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_XK.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|9[2-4])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YE.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YE.php index c425a2e14..88022b802 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YE.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YE.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '19[1459]', + 'ExampleNumber' => '191', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YT.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YT.php index c01e79c3b..58965a033 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YT.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_YT.php @@ -26,9 +26,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:12|5)', + 'ExampleNumber' => '15', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -58,7 +59,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:12|5)', - 'ExampleNumber' => '112', + 'ExampleNumber' => '15', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZA.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZA.php index 6d62bfccf..3c2138a17 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZA.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZA.php @@ -27,9 +27,12 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '1(?:01\\d\\d|12)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, + 0 => 3, + 1 => 5, ), 'PossibleLengthLocalOnly' => array ( @@ -38,7 +41,7 @@ return array ( 'premiumRate' => array ( 'NationalNumberPattern' => '41(?:348|851)', - 'ExampleNumber' => '41851', + 'ExampleNumber' => '41348', 'PossibleLength' => array ( 0 => 5, @@ -49,8 +52,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '1(?:0(?:1(?:11|77))|12)', - 'ExampleNumber' => '10111', + 'NationalNumberPattern' => '1(?:01(?:11|77)|12)', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -63,7 +66,7 @@ return array ( 'shortCode' => array ( 'NationalNumberPattern' => '1(?:0(?:1(?:11|77)|20|7)|1[12]|77(?:3[237]|[45]7|6[279]|9[26]))|[34]\\d{4}', - 'ExampleNumber' => '10111', + 'ExampleNumber' => '107', 'PossibleLength' => array ( ), @@ -74,7 +77,7 @@ return array ( 'standardRate' => array ( 'NationalNumberPattern' => '3(?:078[23]|7(?:064|567)|8126)|4(?:2699|3(?:699|94[16])|7751|8837)', - 'ExampleNumber' => '47751', + 'ExampleNumber' => '30782', 'PossibleLength' => array ( 0 => 5, @@ -98,7 +101,7 @@ return array ( 'smsServices' => array ( 'NationalNumberPattern' => '[34]\\d{4}', - 'ExampleNumber' => '47751', + 'ExampleNumber' => '30000', 'PossibleLength' => array ( 0 => 5, diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZM.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZM.php index 910418b88..3821b3f60 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZM.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZM.php @@ -25,9 +25,10 @@ return array ( ), 'tollFree' => array ( + 'NationalNumberPattern' => '112|99[139]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( - 0 => -1, ), 'PossibleLengthLocalOnly' => array ( @@ -45,8 +46,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '(?:112|99[139])', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '112|99[139]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -56,8 +57,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '(?:112|99[139])', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '112|99[139]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), diff --git a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZW.php b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZW.php index 255451034..558db32e2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZW.php +++ b/vendor/giggsey/libphonenumber-for-php/src/data/ShortNumberMetadata_ZW.php @@ -26,8 +26,8 @@ return array ( ), 'tollFree' => array ( - 'NationalNumberPattern' => '9(?:5[023]|61)', - 'ExampleNumber' => '961', + 'NationalNumberPattern' => '112|9(?:5[023]|61|9[3-59])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -38,8 +38,8 @@ return array ( ), 'premiumRate' => array ( - 'NationalNumberPattern' => '3\\d{4}', - 'ExampleNumber' => '30123', + 'NationalNumberPattern' => '3[013-57-9]\\d{3}', + 'ExampleNumber' => '30000', 'PossibleLength' => array ( 0 => 5, @@ -50,8 +50,8 @@ return array ( ), 'emergency' => array ( - 'NationalNumberPattern' => '(?:112|99[3-59])', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '112|99[3-59]', + 'ExampleNumber' => '112', 'PossibleLength' => array ( 0 => 3, @@ -62,8 +62,8 @@ return array ( ), 'shortCode' => array ( - 'NationalNumberPattern' => '11[2469]|3\\d{4}|9(?:5[023]|6[0-25]|9[3-59])', - 'ExampleNumber' => '999', + 'NationalNumberPattern' => '11[2469]|3[013-57-9]\\d{3}|9(?:5[023]|6[0-25]|9[3-59])', + 'ExampleNumber' => '112', 'PossibleLength' => array ( ), @@ -83,7 +83,7 @@ return array ( ), 'carrierSpecific' => array ( - 'NationalNumberPattern' => '(?:114|9(?:5[023]|6[0-25]))', + 'NationalNumberPattern' => '114|9(?:5[023]|6[0-25])', 'ExampleNumber' => '114', 'PossibleLength' => array ( diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/PhoneNumberOfflineGeocoder.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/PhoneNumberOfflineGeocoder.php index 31e750e92..d1a4e460d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/PhoneNumberOfflineGeocoder.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/PhoneNumberOfflineGeocoder.php @@ -23,7 +23,7 @@ class PhoneNumberOfflineGeocoder /** * @var PrefixFileReader */ - protected $prefixFileReader = null; + protected $prefixFileReader; /** * PhoneNumberOfflineGeocoder constructor. @@ -78,8 +78,10 @@ class PhoneNumberOfflineGeocoder $numberType = $this->phoneUtil->getNumberType($number); if ($numberType === PhoneNumberType::UNKNOWN) { - return ""; - } elseif (!$this->phoneUtil->isNumberGeographical($numberType, $number->getCountryCode())) { + return ''; + } + + if (!$this->phoneUtil->isNumberGeographical($numberType, $number->getCountryCode())) { return $this->getCountryNameForNumber($number, $locale); } @@ -100,21 +102,21 @@ class PhoneNumberOfflineGeocoder if (count($regionCodes) === 1) { return $this->getRegionDisplayName($regionCodes[0], $locale); - } else { - $regionWhereNumberIsValid = 'ZZ'; - foreach ($regionCodes as $regionCode) { - if ($this->phoneUtil->isValidNumberForRegion($number, $regionCode)) { - // If the number has already been found valid for one region, then we don't know which - // region it belongs to so we return nothing. - if ($regionWhereNumberIsValid !== 'ZZ') { - return ""; - } - $regionWhereNumberIsValid = $regionCode; - } - } - - return $this->getRegionDisplayName($regionWhereNumberIsValid, $locale); } + + $regionWhereNumberIsValid = 'ZZ'; + foreach ($regionCodes as $regionCode) { + if ($this->phoneUtil->isValidNumberForRegion($number, $regionCode)) { + // If the number has already been found valid for one region, then we don't know which + // region it belongs to so we return nothing. + if ($regionWhereNumberIsValid !== 'ZZ') { + return ''; + } + $regionWhereNumberIsValid = $regionCode; + } + } + + return $this->getRegionDisplayName($regionWhereNumberIsValid, $locale); } /** @@ -127,7 +129,7 @@ class PhoneNumberOfflineGeocoder protected function getRegionDisplayName($regionCode, $locale) { if ($regionCode === null || $regionCode == 'ZZ' || $regionCode === PhoneNumberUtil::REGION_CODE_FOR_NON_GEO_ENTITY) { - return ""; + return ''; } return Locale::getDisplayRegion( @@ -173,12 +175,12 @@ class PhoneNumberOfflineGeocoder $regionCode = $this->phoneUtil->getRegionCodeForNumber($number); if ($userRegion == null || $userRegion == $regionCode) { $languageStr = Locale::getPrimaryLanguage($locale); - $scriptStr = ""; + $scriptStr = ''; $regionStr = Locale::getRegion($locale); $mobileToken = PhoneNumberUtil::getCountryMobileToken($number->getCountryCode()); $nationalNumber = $this->phoneUtil->getNationalSignificantNumber($number); - if ($mobileToken !== "" && (!strncmp($nationalNumber, $mobileToken, strlen($mobileToken)))) { + if ($mobileToken !== '' && (!strncmp($nationalNumber, $mobileToken, strlen($mobileToken)))) { // In some countries, eg. Argentina, mobile numbers have a mobile token before the national // destination code, this should be removed before geocoding. $nationalNumber = substr($nationalNumber, strlen($mobileToken)); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bg/359.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bg/359.php index 5f2474537..f3913a29e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bg/359.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bg/359.php @@ -36,8 +36,12 @@ return array ( 3593038 => 'Чокманово', 3593039 => 'Полковник Серафимово', 3593040 => 'Триград', - 3593041 => 'Девин', 35930410 => 'Брезе, Смол.', + 35930411 => 'Девин', + 35930412 => 'Девин', + 35930413 => 'Девин', + 35930414 => 'Девин', + 35930415 => 'Девин', 35930416 => 'Гьоврен', 35930417 => 'Грохотно', 35930418 => 'Буйново, Смол.', @@ -468,7 +472,9 @@ return array ( 3594107 => 'Средец, Ст. Загора', 3594108 => 'Васил Левски, Ст. Загора', 3594109 => 'Тракия', - 3594111 => 'Старозагорски бани', + 35941110 => 'Старозагорски бани', + 35941111 => 'Старозагорски бани', + 35941112 => 'Старозагорски бани', 35941113 => 'Пряпорец, Ст. Загора', 35941114 => 'Лозен, Ст. Загора', 35941115 => 'Борилово', @@ -1152,16 +1158,18 @@ return array ( 3596147 => 'Иванча, В. Търново', 3596148 => 'Павел', 3596149 => 'Куцина', - 359615 => 'Златарица', + 3596150 => 'Златарица', 35961502 => 'Горско Ново Село', 35961503 => 'Чакали', 3596151 => 'Елена, В. Търново', 3596152 => 'Беброво', + 3596153 => 'Златарица', 3596154 => 'Буйновци', 3596155 => 'Константин', 3596156 => 'Родина', 3596157 => 'Сливовица', 3596158 => 'Средни колиби', + 3596159 => 'Златарица', 35961602 => 'Царски извор', 35961603 => 'Лозен, В. Търново', 35961604 => 'Мирово, В. Търново', @@ -1206,9 +1214,9 @@ return array ( 3596328 => 'Ореш', 3596329 => 'Царевец, В. Търново', 3596352 => 'Долни Луковит', - 3596356 => 'Комарево, Плевен', 35963560 => 'Радишево', 35963561 => 'Гривица', + 35963562 => 'Комарево, Плевен', 35963563 => 'Борислав', 35963564 => 'Биволаре', 35963565 => 'Мечка, Плевен', @@ -1216,9 +1224,9 @@ return array ( 35963567 => 'Градина, Плевен', 35963568 => 'Буковлък', 35963569 => 'Каменец, Плевен', - 3596357 => 'Ясен, Плевен', 35963570 => 'Староселци', 35963571 => 'Брестовец', + 35963572 => 'Ясен, Плевен', 35963573 => 'Дисевица', 35963574 => 'Тодорово, Плевен', 35963575 => 'Бохот', @@ -1301,9 +1309,13 @@ return array ( 3596577 => 'Бресте', 3596578 => 'Реселец', 3596579 => 'Рупци, Плевен', - 359658 => 'Белене', 3596580 => 'Татари', 3596581 => 'Бяла вода, Плевен', + 3596582 => 'Белене', + 3596583 => 'Белене', + 3596584 => 'Белене', + 3596585 => 'Белене', + 3596586 => 'Белене', 3596587 => 'Петокладенци', 3596588 => 'Деков', 3596589 => 'Кулина вода', @@ -1845,7 +1857,10 @@ return array ( 35984778 => 'Богданци, Разград', 35984779 => 'Здравец, Разград', 359848 => 'Кубрат', - 35986 => 'Силистра', + 359860 => 'Силистра', + 359861 => 'Силистра', + 3598620 => 'Силистра', + 3598621 => 'Силистра', 3598622 => 'Алеково, Силистра', 3598623 => 'Голеш, Силистра', 3598624 => 'Калипетрово', @@ -1854,6 +1869,8 @@ return array ( 3598627 => 'Бабук', 3598628 => 'Цар Асен, Силистра', 3598629 => 'Смилец, Силистра', + 3598630 => 'Силистра', + 3598631 => 'Силистра', 3598632 => 'Зафирово', 3598633 => 'Старо село, Силистра', 3598634 => 'Нова Черна', @@ -1862,9 +1879,9 @@ return array ( 3598637 => 'Малък Преславец', 3598638 => 'Богданци, Силистра', 3598639 => 'Коларово, Силистра', - 359864 => 'Дулово', 3598640 => 'Правда, Силистра', 3598641 => 'Окорш', + 3598642 => 'Дулово', 3598643 => 'Златоклас', 3598644 => 'Чернолик', 3598645 => 'Межден', @@ -1872,14 +1889,19 @@ return array ( 3598647 => 'Паисиево', 3598648 => 'Секулово', 3598649 => 'Яребица', - 359866 => 'Тутракан', + 359865 => 'Силистра', + 3598660 => 'Тутракан', + 3598661 => 'Тутракан', 3598662 => 'Добротица, Силистра', 3598663 => 'Ситово, Силистра', 3598664 => 'Поляна, Силистра', 3598665 => 'Искра, Силистра', + 3598666 => 'Тутракан', 3598667 => 'Белица, Силистра', 3598668 => 'Попина', 3598669 => 'Гарван, Силистра', + 3598670 => 'Силистра', + 3598671 => 'Силистра', 3598672 => 'Брадвари', 3598673 => 'Алфатар', 3598674 => 'Професор Иширково', @@ -1888,6 +1910,9 @@ return array ( 3598677 => 'Сребърна', 3598678 => 'Срацимир, Силистра', 3598679 => 'Кайнарджа', + 359868 => 'Силистра', + 3598690 => 'Силистра', + 3598691 => 'Силистра', 3598692 => 'Стефан Караджа, Силистра', 3598693 => 'Звенимир', 3598694 => 'Зебил', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bs/387.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bs/387.php index ed21eeb8f..ff5297f6a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bs/387.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/bs/387.php @@ -21,6 +21,6 @@ return array ( 38737 => 'Unsko-sanski kanton', 38738 => 'Bosansko-podrinjski kanton Goražde', 38739 => 'Zapadnohercegovački kanton', - 38749 => 'Brčko Distrikt', + 3874 => 'Brčko Distrikt', 38757 => 'Istočno Sarajevo', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/352.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/352.php index 2e598d08f..3f8725d9d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/352.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/352.php @@ -11,16 +11,14 @@ */ return array ( - 35221 => 'Weicherdingen', 35222 => 'Luxemburg', 35223 => 'Bad Mondorf', - 35224 => 'Luxemburg', + 352240 => 'Luxemburg', + 352241 => 'Luxemburg', + 352242 => 'Luxemburg', 3522421 => 'Weicherdingen', - 3522422 => 'Luxemburg', 3522423 => 'Bad Mondorf', - 3522425 => 'Luxemburg', 3522427 => 'Belair, Luxemburg', - 3522428 => 'Luxemburg', 3522429 => 'Luxemburg/Kockelscheuer', 3522430 => 'Kanton Capellen/Kehlen', 3522431 => 'Bartringen', @@ -30,11 +28,15 @@ return array ( 3522435 => 'Sandweiler/Mutfort/Roodt-sur-Syre', 3522436 => 'Hesperingen/Kockelscheuer/Roeser', 3522437 => 'Leudelingen/Ehlingen/Monnerich', + 3522438 => 'Luxemburg', 3522439 => 'Windhof/Steinfort', 3522440 => 'Howald', + 3522441 => 'Luxemburg', 3522442 => 'Plateau de Kirchberg', 3522443 => 'Findel/Kirchberg', + 3522444 => 'Luxemburg', 3522445 => 'Diedrich', + 3522446 => 'Luxemburg', 3522447 => 'Lintgen', 3522448 => 'Contern/Foetz', 3522449 => 'Howald', @@ -48,22 +50,29 @@ return array ( 3522457 => 'Esch-sur-Alzette/Schifflingen', 3522458 => 'Soleuvre/Differdingen', 3522459 => 'Soleuvre', + 352246 => 'Luxemburg', 3522467 => 'Düdelingen', + 3522470 => 'Luxemburg', 3522471 => 'Betzdorf', 3522472 => 'Echternach', 3522473 => 'Rosport', 3522474 => 'Wasserbillig', 3522475 => 'Distrikt Grevenmacher-sur-Moselle', 3522476 => 'Wormeldingen', + 3522477 => 'Luxemburg', 3522478 => 'Junglinster', 3522479 => 'Berdorf/Consdorf', 3522480 => 'Diekirch', 3522481 => 'Ettelbrück/Reckange-sur-Mess', + 3522482 => 'Luxemburg', 3522483 => 'Vianden', 3522484 => 'Han/Lesse', 3522485 => 'Bissen/Roost', + 3522486 => 'Luxemburg', 3522487 => 'Fels', 3522488 => 'Mertzig/Wahl', + 3522489 => 'Luxemburg', + 352249 => 'Luxemburg', 3522492 => 'Kanton Clerf/Fischbach/Hosingen', 3522495 => 'Wiltz', 3522497 => 'Huldingen', @@ -186,11 +195,13 @@ return array ( 35236 => 'Hesperingen/Kockelscheuer/Roeser', 35237 => 'Leudelingen/Ehlingen/Monnerich', 35239 => 'Windhof/Steinfort', - 3524 => 'Luxemburg', 35240 => 'Howald', + 35241 => 'Luxemburg', 35242 => 'Plateau de Kirchberg', 35243 => 'Findel/Kirchberg', + 35244 => 'Luxemburg', 35245 => 'Diedrich', + 35246 => 'Luxemburg', 35247 => 'Lintgen', 35248 => 'Contern/Foetz', 35249 => 'Howald', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/43.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/43.php index 709f8e149..1c84a190b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/43.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/de/43.php @@ -11,7 +11,14 @@ */ return array ( - 431 => 'Wien', + 4312 => 'Wien', + 4313 => 'Wien', + 4314 => 'Wien', + 4315 => 'Wien', + 4316 => 'Wien', + 4317 => 'Wien', + 4318 => 'Wien', + 4319 => 'Wien', 432233 => 'Preßbaum', 432242 => 'Sankt Andrä-Wördern', 432249 => 'Groß-Enzersdorf', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/12.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/12.php index ef0a91397..128957767 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/12.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/12.php @@ -112,96 +112,143 @@ return array ( 1201997 => 'Kearny, NJ', 1201998 => 'Kearny, NJ', 1202 => 'Washington D.C.', - 1203 => 'Connecticut', + 120320 => 'Connecticut', 1203202 => 'Darien, CT', 1203208 => 'Branford, CT', + 120321 => 'Connecticut', 1203210 => 'Wilton, CT', + 1203220 => 'Connecticut', 1203221 => 'Westport, CT', 1203222 => 'Westport, CT', + 1203223 => 'Connecticut', + 1203224 => 'Connecticut', 1203225 => 'Shelton, CT', 1203226 => 'Westport, CT', 1203227 => 'Westport, CT', + 1203228 => 'Connecticut', 1203229 => 'Norwalk, CT', 1203230 => 'Hamden, CT', + 1203231 => 'Connecticut', + 1203232 => 'Connecticut', + 1203233 => 'Connecticut', 1203234 => 'North Haven, CT', 1203235 => 'Meriden, CT', + 1203236 => 'Connecticut', 1203237 => 'Meriden, CT', 1203238 => 'Meriden, CT', 1203239 => 'North Haven, CT', + 120324 => 'Connecticut', 1203245 => 'Madison, CT', 1203248 => 'Hamden, CT', 1203250 => 'Cheshire, CT', + 1203251 => 'Connecticut', + 1203252 => 'Connecticut', + 1203253 => 'Connecticut', 1203254 => 'Fairfield, CT', 1203255 => 'Fairfield, CT', 1203256 => 'Fairfield, CT', + 1203257 => 'Connecticut', + 1203258 => 'Connecticut', 1203259 => 'Fairfield, CT', + 1203260 => 'Connecticut', + 1203261 => 'Connecticut', 1203262 => 'Southbury, CT', 1203263 => 'Woodbury, CT', 1203264 => 'Southbury, CT', 1203265 => 'Wallingford, CT', 1203266 => 'Bethlehem, CT', 1203267 => 'Southbury, CT', + 1203268 => 'Connecticut', 1203269 => 'Wallingford, CT', + 120327 => 'Connecticut', 1203270 => 'Newtown, CT', 1203271 => 'Cheshire, CT', 1203272 => 'Cheshire, CT', 1203276 => 'Stamford, CT', + 1203280 => 'Connecticut', 1203281 => 'Hamden, CT', + 1203282 => 'Connecticut', 1203283 => 'Milford, CT', 1203284 => 'Wallingford, CT', + 1203285 => 'Connecticut', 1203286 => 'Norwalk, CT', 1203287 => 'Hamden, CT', 1203288 => 'Hamden, CT', + 1203289 => 'Connecticut', + 120329 => 'Connecticut', 1203292 => 'Fairfield, CT', 1203294 => 'Wallingford, CT', 1203299 => 'Norwalk, CT', + 120330 => 'Connecticut', 1203301 => 'Milford, CT', 1203304 => 'Newtown, CT', + 1203310 => 'Connecticut', + 1203311 => 'Connecticut', 1203312 => 'New Fairfield, CT', + 1203313 => 'Connecticut', + 1203314 => 'Connecticut', 1203315 => 'Branford, CT', 1203316 => 'Stamford, CT', + 1203317 => 'Connecticut', 1203318 => 'Madison, CT', 1203319 => 'Fairfield, CT', - 1203322 => 'Stamford, CT', - 1203323 => 'Stamford, CT', - 1203324 => 'Stamford, CT', - 1203325 => 'Stamford, CT', - 1203327 => 'Stamford, CT', - 1203329 => 'Stamford, CT', - 1203330 => 'Bridgeport, CT', - 1203331 => 'Bridgeport, CT', - 1203332 => 'Bridgeport, CT', - 1203333 => 'Bridgeport, CT', - 1203334 => 'Bridgeport, CT', - 1203335 => 'Bridgeport, CT', - 1203336 => 'Bridgeport, CT', + 120332 => 'Stamford, CT', + 1203320 => 'Connecticut', + 1203321 => 'Connecticut', + 1203326 => 'Connecticut', + 1203328 => 'Connecticut', + 120333 => 'Bridgeport, CT', + 1203337 => 'Connecticut', + 1203338 => 'Connecticut', + 1203339 => 'Connecticut', + 120334 => 'Connecticut', 1203340 => 'Greenwich, CT', 1203341 => 'Westport, CT', 1203345 => 'Bridgeport, CT', 1203348 => 'Stamford, CT', + 1203350 => 'Connecticut', + 1203351 => 'Connecticut', + 1203352 => 'Connecticut', 1203353 => 'Stamford, CT', 1203354 => 'Norwalk, CT', + 1203355 => 'Connecticut', 1203356 => 'Stamford, CT', 1203357 => 'Stamford, CT', 1203358 => 'Stamford, CT', 1203359 => 'Stamford, CT', + 1203360 => 'Connecticut', + 1203361 => 'Connecticut', 1203362 => 'Bridgeport, CT', + 1203363 => 'Connecticut', 1203364 => 'Newtown, CT', + 1203365 => 'Connecticut', 1203366 => 'Bridgeport, CT', 1203367 => 'Bridgeport, CT', 1203368 => 'Bridgeport, CT', + 1203369 => 'Connecticut', + 1203370 => 'Connecticut', 1203371 => 'Bridgeport, CT', 1203372 => 'Bridgeport, CT', + 1203373 => 'Connecticut', 1203374 => 'Bridgeport, CT', 1203375 => 'Stratford, CT', + 1203376 => 'Connecticut', 1203377 => 'Stratford, CT', 1203378 => 'Stratford, CT', + 1203379 => 'Connecticut', 1203380 => 'Stratford, CT', 1203381 => 'Stratford, CT', + 1203382 => 'Connecticut', + 1203383 => 'Connecticut', 1203384 => 'Bridgeport, CT', 1203385 => 'Stratford, CT', 1203386 => 'Stratford, CT', + 1203387 => 'Connecticut', + 1203388 => 'Connecticut', + 1203389 => 'Connecticut', + 120339 => 'Connecticut', 1203393 => 'Bethany, CT', + 12034 => 'Connecticut', 1203405 => 'Southbury, CT', 1203407 => 'Hamden, CT', 1203421 => 'Madison, CT', @@ -225,6 +272,7 @@ return array ( 1203483 => 'Branford, CT', 1203488 => 'Branford, CT', 1203498 => 'New Haven, CT', + 12035 => 'Connecticut', 1203503 => 'New Haven, CT', 1203504 => 'Stamford, CT', 1203513 => 'Shelton, CT', @@ -247,6 +295,7 @@ return array ( 1203596 => 'Waterbury, CT', 1203597 => 'Waterbury, CT', 1203598 => 'Middlebury, CT', + 12036 => 'Connecticut', 1203612 => 'Bridgeport, CT', 1203622 => 'Greenwich, CT', 1203624 => 'New Haven, CT', @@ -263,53 +312,69 @@ return array ( 1203688 => 'New Haven, CT', 1203694 => 'Meriden, CT', 1203699 => 'Cheshire, CT', + 120370 => 'Connecticut', 1203701 => 'Milford, CT', 1203709 => 'Waterbury, CT', + 120371 => 'Connecticut', + 120372 => 'Connecticut', 1203720 => 'Naugatuck, CT', 1203723 => 'Naugatuck, CT', 1203729 => 'Naugatuck, CT', 1203730 => 'Danbury, CT', + 1203731 => 'Connecticut', 1203732 => 'Derby, CT', + 1203733 => 'Connecticut', 1203734 => 'Ansonia, CT', + 1203735 => 'Connecticut', 1203736 => 'Ansonia, CT', 1203737 => 'New Haven, CT', + 1203738 => 'Connecticut', 1203739 => 'Danbury, CT', 1203740 => 'Brookfield, CT', + 1203741 => 'Connecticut', + 1203742 => 'Connecticut', 1203743 => 'Danbury, CT', 1203744 => 'Danbury, CT', + 1203745 => 'Connecticut', 1203746 => 'New Fairfield, CT', + 1203747 => 'Connecticut', 1203748 => 'Danbury, CT', + 1203749 => 'Connecticut', + 120375 => 'Waterbury, CT', + 1203750 => 'Connecticut', + 1203751 => 'Connecticut', 1203752 => 'New Haven, CT', - 1203753 => 'Waterbury, CT', - 1203754 => 'Waterbury, CT', - 1203755 => 'Waterbury, CT', - 1203756 => 'Waterbury, CT', - 1203757 => 'Waterbury, CT', 1203758 => 'Prospect, CT', - 1203759 => 'Waterbury, CT', + 120376 => 'Connecticut', 1203761 => 'Wilton, CT', 1203762 => 'Wilton, CT', 1203764 => 'New Haven, CT', + 1203770 => 'Connecticut', + 1203771 => 'Connecticut', 1203772 => 'New Haven, CT', 1203773 => 'New Haven, CT', + 1203774 => 'Connecticut', 1203775 => 'Brookfield, CT', 1203776 => 'New Haven, CT', 1203777 => 'New Haven, CT', 1203778 => 'Danbury, CT', + 1203779 => 'Connecticut', + 1203780 => 'Connecticut', 1203781 => 'New Haven, CT', 1203782 => 'New Haven, CT', 1203783 => 'Milford, CT', + 1203784 => 'Connecticut', 1203785 => 'New Haven, CT', + 1203786 => 'Connecticut', 1203787 => 'New Haven, CT', + 1203788 => 'Connecticut', 1203789 => 'New Haven, CT', - 1203790 => 'Danbury, CT', - 1203791 => 'Danbury, CT', - 1203792 => 'Danbury, CT', - 1203794 => 'Danbury, CT', + 120379 => 'Danbury, CT', + 1203793 => 'Connecticut', 1203795 => 'Orange, CT', - 1203797 => 'Danbury, CT', - 1203798 => 'Danbury, CT', + 1203796 => 'Connecticut', 1203799 => 'Orange, CT', + 12038 => 'Connecticut', 1203801 => 'New Canaan, CT', 1203826 => 'Danbury, CT', 1203831 => 'Norwalk, CT', @@ -342,6 +407,7 @@ return array ( 1203891 => 'Orange, CT', 1203894 => 'Ridgefield, CT', 1203899 => 'Norwalk, CT', + 12039 => 'Connecticut', 1203922 => 'Shelton, CT', 1203924 => 'Shelton, CT', 1203925 => 'Shelton, CT', @@ -448,12 +514,7 @@ return array ( 1204925 => 'Winnipeg, MB', 1204927 => 'Winnipeg, MB', 1204937 => 'Roblin, MB', - 1204940 => 'Winnipeg, MB', - 1204942 => 'Winnipeg, MB', - 1204943 => 'Winnipeg, MB', - 1204944 => 'Winnipeg, MB', - 1204947 => 'Winnipeg, MB', - 1204949 => 'Winnipeg, MB', + 120494 => 'Winnipeg, MB', 1204953 => 'Winnipeg, MB', 1204956 => 'Winnipeg, MB', 1204957 => 'Winnipeg, MB', @@ -478,23 +539,12 @@ return array ( 1205280 => 'Clanton, AL', 1205290 => 'Birmingham, AL', 1205295 => 'Jasper, AL', - 1205320 => 'Birmingham, AL', - 1205322 => 'Birmingham, AL', - 1205323 => 'Birmingham, AL', - 1205324 => 'Birmingham, AL', - 1205325 => 'Birmingham, AL', - 1205326 => 'Birmingham, AL', - 1205328 => 'Birmingham, AL', + 120532 => 'Birmingham, AL', 1205330 => 'Northport, AL', 1205333 => 'Northport, AL', 1205338 => 'Pell City, AL', 1205339 => 'Northport, AL', - 1205342 => 'Tuscaloosa, AL', - 1205343 => 'Tuscaloosa, AL', - 1205344 => 'Tuscaloosa, AL', - 1205345 => 'Tuscaloosa, AL', - 1205348 => 'Tuscaloosa, AL', - 1205349 => 'Tuscaloosa, AL', + 120534 => 'Tuscaloosa, AL', 1205364 => 'Gordo, AL', 1205366 => 'Tuscaloosa, AL', 1205367 => 'Carrollton, AL', @@ -571,13 +621,7 @@ return array ( 1205758 => 'Tuscaloosa, AL', 1205759 => 'Tuscaloosa, AL', 1205763 => 'Lincoln, AL', - 1205780 => 'Birmingham, AL', - 1205781 => 'Birmingham, AL', - 1205783 => 'Birmingham, AL', - 1205785 => 'Birmingham, AL', - 1205786 => 'Birmingham, AL', - 1205787 => 'Birmingham, AL', - 1205788 => 'Birmingham, AL', + 120578 => 'Birmingham, AL', 1205791 => 'Birmingham, AL', 1205798 => 'Birmingham, AL', 1205801 => 'Birmingham, AL', @@ -641,37 +685,18 @@ return array ( 1206267 => 'Seattle, WA', 1206275 => 'Mercer Island, WA', 1206277 => 'Seattle, WA', - 1206281 => 'Seattle, WA', - 1206282 => 'Seattle, WA', - 1206283 => 'Seattle, WA', - 1206284 => 'Seattle, WA', - 1206285 => 'Seattle, WA', - 1206286 => 'Seattle, WA', - 1206287 => 'Seattle, WA', - 1206288 => 'Seattle, WA', + 120628 => 'Seattle, WA', 1206292 => 'Seattle, WA', 1206296 => 'Seattle, WA', 1206297 => 'Seattle, WA', 1206302 => 'Seattle, WA', 1206306 => 'Seattle, WA', - 1206320 => 'Seattle, WA', - 1206322 => 'Seattle, WA', - 1206323 => 'Seattle, WA', - 1206324 => 'Seattle, WA', - 1206325 => 'Seattle, WA', - 1206326 => 'Seattle, WA', - 1206328 => 'Seattle, WA', - 1206329 => 'Seattle, WA', + 120632 => 'Seattle, WA', 1206340 => 'Seattle, WA', 1206343 => 'Seattle, WA', 1206352 => 'Seattle, WA', 1206359 => 'Seattle, WA', - 1206361 => 'Seattle, WA', - 1206363 => 'Seattle, WA', - 1206364 => 'Seattle, WA', - 1206365 => 'Seattle, WA', - 1206367 => 'Seattle, WA', - 1206368 => 'Seattle, WA', + 120636 => 'Seattle, WA', 1206370 => 'Seattle, WA', 1206374 => 'Seattle, WA', 1206381 => 'Seattle, WA', @@ -700,13 +725,7 @@ return array ( 1206467 => 'Seattle, WA', 1206505 => 'Seattle, WA', 1206517 => 'Seattle, WA', - 1206522 => 'Seattle, WA', - 1206523 => 'Seattle, WA', - 1206524 => 'Seattle, WA', - 1206525 => 'Seattle, WA', - 1206526 => 'Seattle, WA', - 1206527 => 'Seattle, WA', - 1206528 => 'Seattle, WA', + 120652 => 'Seattle, WA', 1206533 => 'Shoreline, WA', 1206535 => 'Seattle, WA', 1206542 => 'Shoreline, WA', @@ -723,12 +742,7 @@ return array ( 1206588 => 'Seattle, WA', 1206598 => 'Seattle, WA', 1206616 => 'Seattle, WA', - 1206621 => 'Seattle, WA', - 1206622 => 'Seattle, WA', - 1206623 => 'Seattle, WA', - 1206624 => 'Seattle, WA', - 1206625 => 'Seattle, WA', - 1206628 => 'Seattle, WA', + 120662 => 'Seattle, WA', 1206632 => 'Seattle, WA', 1206633 => 'Seattle, WA', 1206634 => 'Seattle, WA', @@ -740,33 +754,15 @@ return array ( 1206706 => 'Seattle, WA', 1206708 => 'Seattle, WA', 1206709 => 'Seattle, WA', - 1206720 => 'Seattle, WA', - 1206721 => 'Seattle, WA', - 1206722 => 'Seattle, WA', - 1206723 => 'Seattle, WA', - 1206724 => 'Seattle, WA', - 1206725 => 'Seattle, WA', - 1206726 => 'Seattle, WA', - 1206728 => 'Seattle, WA', - 1206729 => 'Seattle, WA', + 120672 => 'Seattle, WA', 1206731 => 'Seattle, WA', 1206744 => 'Seattle, WA', 1206749 => 'Seattle, WA', - 1206760 => 'Seattle, WA', - 1206762 => 'Seattle, WA', - 1206763 => 'Seattle, WA', - 1206764 => 'Seattle, WA', - 1206767 => 'Seattle, WA', - 1206768 => 'Seattle, WA', + 120676 => 'Seattle, WA', 1206772 => 'Seattle, WA', 1206774 => 'Seattle, WA', + 120678 => 'Seattle, WA', 1206780 => 'Bainbridge Isle, WA', - 1206781 => 'Seattle, WA', - 1206782 => 'Seattle, WA', - 1206783 => 'Seattle, WA', - 1206784 => 'Seattle, WA', - 1206788 => 'Seattle, WA', - 1206789 => 'Seattle, WA', 1206812 => 'Seattle, WA', 1206824 => 'Des Moines, WA', 1206829 => 'Seattle, WA', @@ -784,12 +780,7 @@ return array ( 1206905 => 'Seattle, WA', 1206913 => 'Seattle, WA', 1206923 => 'Seattle, WA', - 1206931 => 'Seattle, WA', - 1206932 => 'Seattle, WA', - 1206933 => 'Seattle, WA', - 1206935 => 'Seattle, WA', - 1206937 => 'Seattle, WA', - 1206938 => 'Seattle, WA', + 120693 => 'Seattle, WA', 1206957 => 'Seattle, WA', 1206965 => 'Seattle, WA', 1206971 => 'Seattle, WA', @@ -982,13 +973,7 @@ return array ( 1208 => 'Idaho', 1208226 => 'American Falls, ID', 1208227 => 'Idaho Falls, ID', - 1208232 => 'Pocatello, ID', - 1208233 => 'Pocatello, ID', - 1208234 => 'Pocatello, ID', - 1208236 => 'Pocatello, ID', - 1208237 => 'Pocatello, ID', - 1208238 => 'Pocatello, ID', - 1208239 => 'Pocatello, ID', + 120823 => 'Pocatello, ID', 1208245 => 'St. Maries, ID', 1208253 => 'Council, ID', 1208255 => 'Sandpoint, ID', @@ -1032,13 +1017,8 @@ return array ( 1208376 => 'Boise, ID', 1208377 => 'Boise, ID', 1208378 => 'Boise, ID', - 1208381 => 'Boise, ID', + 120838 => 'Boise, ID', 1208382 => 'Cascade, ID', - 1208383 => 'Boise, ID', - 1208384 => 'Boise, ID', - 1208385 => 'Boise, ID', - 1208387 => 'Boise, ID', - 1208388 => 'Boise, ID', 1208392 => 'Idaho City, ID', 1208397 => 'Aberdeen, ID', 1208414 => 'Weiser, ID', @@ -1059,25 +1039,15 @@ return array ( 1208455 => 'Caldwell, ID', 1208457 => 'Post Falls, ID', 1208459 => 'Caldwell, ID', - 1208461 => 'Nampa, ID', + 120846 => 'Nampa, ID', 1208462 => 'Garden Valley, ID', - 1208463 => 'Nampa, ID', - 1208465 => 'Nampa, ID', - 1208466 => 'Nampa, ID', - 1208467 => 'Nampa, ID', - 1208468 => 'Nampa, ID', 1208475 => 'Nampa, ID', 1208476 => 'Orofino, ID', 1208478 => 'Pocatello, ID', 1208495 => 'Melba, ID', 1208514 => 'Boise, ID', - 1208522 => 'Idaho Falls, ID', - 1208523 => 'Idaho Falls, ID', - 1208524 => 'Idaho Falls, ID', - 1208525 => 'Idaho Falls, ID', + 120852 => 'Idaho Falls, ID', 1208527 => 'Arco, ID', - 1208528 => 'Idaho Falls, ID', - 1208529 => 'Idaho Falls, ID', 1208535 => 'Idaho Falls, ID', 1208536 => 'Wendell, ID', 1208542 => 'Idaho Falls, ID', @@ -1115,12 +1085,7 @@ return array ( 1208687 => 'Rathdrum, ID', 1208722 => 'Parma, ID', 1208726 => 'Ketchum, ID', - 1208732 => 'Twin Falls, ID', - 1208733 => 'Twin Falls, ID', - 1208734 => 'Twin Falls, ID', - 1208735 => 'Twin Falls, ID', - 1208736 => 'Twin Falls, ID', - 1208737 => 'Twin Falls, ID', + 120873 => 'Twin Falls, ID', 1208743 => 'Lewiston, ID', 1208745 => 'Rigby, ID', 1208746 => 'Lewiston, ID', @@ -1197,29 +1162,10 @@ return array ( 1209392 => 'Dos Palos, CA', 1209394 => 'Livingston, CA', 1209451 => 'Stockton, CA', - 1209462 => 'Stockton, CA', - 1209463 => 'Stockton, CA', - 1209464 => 'Stockton, CA', - 1209465 => 'Stockton, CA', - 1209466 => 'Stockton, CA', - 1209467 => 'Stockton, CA', - 1209469 => 'Stockton, CA', - 1209472 => 'Stockton, CA', - 1209473 => 'Stockton, CA', - 1209474 => 'Stockton, CA', - 1209475 => 'Stockton, CA', - 1209476 => 'Stockton, CA', - 1209477 => 'Stockton, CA', - 1209478 => 'Stockton, CA', + 120946 => 'Stockton, CA', + 120947 => 'Stockton, CA', 1209491 => 'Modesto, CA', - 1209521 => 'Modesto, CA', - 1209522 => 'Modesto, CA', - 1209523 => 'Modesto, CA', - 1209524 => 'Modesto, CA', - 1209525 => 'Modesto, CA', - 1209526 => 'Modesto, CA', - 1209527 => 'Modesto, CA', - 1209529 => 'Modesto, CA', + 120952 => 'Modesto, CA', 1209532 => 'Sonora, CA', 1209533 => 'Sonora, CA', 1209536 => 'Sonora, CA', @@ -1235,14 +1181,7 @@ return array ( 1209551 => 'Modesto, CA', 1209557 => 'Modesto, CA', 1209558 => 'Modesto, CA', - 1209571 => 'Modesto, CA', - 1209572 => 'Modesto, CA', - 1209574 => 'Modesto, CA', - 1209575 => 'Modesto, CA', - 1209576 => 'Modesto, CA', - 1209577 => 'Modesto, CA', - 1209578 => 'Modesto, CA', - 1209579 => 'Modesto, CA', + 120957 => 'Modesto, CA', 1209586 => 'Twain Harte, CA', 1209588 => 'Sonora, CA', 1209599 => 'Ripon, CA', @@ -1273,14 +1212,8 @@ return array ( 1209825 => 'Manteca, CA', 1209826 => 'Los Banos, CA', 1209827 => 'Los Banos, CA', - 1209830 => 'Tracy, CA', - 1209832 => 'Tracy, CA', - 1209833 => 'Tracy, CA', - 1209834 => 'Tracy, CA', - 1209835 => 'Tracy, CA', - 1209836 => 'Tracy, CA', + 120983 => 'Tracy, CA', 1209838 => 'Escalon, CA', - 1209839 => 'Tracy, CA', 1209845 => 'Oakdale, CA', 1209846 => 'Modesto, CA', 1209847 => 'Oakdale, CA', @@ -1298,19 +1231,8 @@ return array ( 1209931 => 'Stockton, CA', 1209933 => 'Stockton, CA', 1209937 => 'Stockton, CA', - 1209941 => 'Stockton, CA', - 1209942 => 'Stockton, CA', - 1209943 => 'Stockton, CA', - 1209944 => 'Stockton, CA', - 1209946 => 'Stockton, CA', - 1209948 => 'Stockton, CA', - 1209951 => 'Stockton, CA', - 1209952 => 'Stockton, CA', - 1209953 => 'Stockton, CA', - 1209954 => 'Stockton, CA', - 1209955 => 'Stockton, CA', - 1209956 => 'Stockton, CA', - 1209957 => 'Stockton, CA', + 120994 => 'Stockton, CA', + 120995 => 'Stockton, CA', 1209962 => 'Groveland, CA', 1209966 => 'Mariposa, CA', 1209982 => 'Stockton, CA', @@ -1348,35 +1270,10 @@ return array ( 1214333 => 'Dallas, TX', 1214337 => 'Dallas, TX', 1214339 => 'Dallas, TX', - 1214340 => 'Dallas, TX', - 1214341 => 'Dallas, TX', - 1214342 => 'Dallas, TX', - 1214343 => 'Dallas, TX', - 1214345 => 'Dallas, TX', - 1214346 => 'Dallas, TX', - 1214348 => 'Dallas, TX', - 1214349 => 'Dallas, TX', - 1214350 => 'Dallas, TX', - 1214351 => 'Dallas, TX', - 1214352 => 'Dallas, TX', - 1214353 => 'Dallas, TX', - 1214357 => 'Dallas, TX', - 1214358 => 'Dallas, TX', - 1214360 => 'Dallas, TX', - 1214361 => 'Dallas, TX', - 1214363 => 'Dallas, TX', - 1214365 => 'Dallas, TX', - 1214366 => 'Dallas, TX', - 1214368 => 'Dallas, TX', - 1214369 => 'Dallas, TX', - 1214370 => 'Dallas, TX', - 1214371 => 'Dallas, TX', - 1214372 => 'Dallas, TX', - 1214373 => 'Dallas, TX', - 1214374 => 'Dallas, TX', - 1214375 => 'Dallas, TX', - 1214376 => 'Dallas, TX', - 1214378 => 'Dallas, TX', + 121434 => 'Dallas, TX', + 121435 => 'Dallas, TX', + 121436 => 'Dallas, TX', + 121437 => 'Dallas, TX', 1214381 => 'Dallas, TX', 1214383 => 'Allen, TX', 1214387 => 'Frisco, TX', @@ -1453,14 +1350,7 @@ return array ( 1214720 => 'Dallas, TX', 1214726 => 'McKinney, TX', 1214739 => 'Dallas, TX', - 1214740 => 'Dallas, TX', - 1214741 => 'Dallas, TX', - 1214742 => 'Dallas, TX', - 1214744 => 'Dallas, TX', - 1214745 => 'Dallas, TX', - 1214747 => 'Dallas, TX', - 1214748 => 'Dallas, TX', - 1214749 => 'Dallas, TX', + 121474 => 'Dallas, TX', 1214750 => 'Dallas, TX', 1214752 => 'Dallas, TX', 1214754 => 'Dallas, TX', @@ -1472,13 +1362,7 @@ return array ( 1214800 => 'Dallas, TX', 1214818 => 'Dallas, TX', 1214819 => 'Dallas, TX', - 1214820 => 'Dallas, TX', - 1214821 => 'Dallas, TX', - 1214823 => 'Dallas, TX', - 1214824 => 'Dallas, TX', - 1214826 => 'Dallas, TX', - 1214827 => 'Dallas, TX', - 1214828 => 'Dallas, TX', + 121482 => 'Dallas, TX', 1214855 => 'Dallas, TX', 1214857 => 'Dallas, TX', 1214871 => 'Dallas, TX', @@ -1494,12 +1378,7 @@ return array ( 1214920 => 'Dallas, TX', 1214922 => 'Dallas, TX', 1214939 => 'Dallas, TX', - 1214941 => 'Dallas, TX', - 1214942 => 'Dallas, TX', - 1214943 => 'Dallas, TX', - 1214946 => 'Dallas, TX', - 1214947 => 'Dallas, TX', - 1214948 => 'Dallas, TX', + 121494 => 'Dallas, TX', 1214951 => 'Dallas, TX', 1214953 => 'Dallas, TX', 1214954 => 'Dallas, TX', @@ -1514,15 +1393,7 @@ return array ( 1215 => 'Pennsylvania', 1215203 => 'Philadelphia, PA', 1215218 => 'Philadelphia, PA', - 1215221 => 'Philadelphia, PA', - 1215222 => 'Philadelphia, PA', - 1215223 => 'Philadelphia, PA', - 1215224 => 'Philadelphia, PA', - 1215225 => 'Philadelphia, PA', - 1215226 => 'Philadelphia, PA', - 1215227 => 'Philadelphia, PA', - 1215228 => 'Philadelphia, PA', - 1215229 => 'Philadelphia, PA', + 121522 => 'Philadelphia, PA', 1215230 => 'Doylestown, PA', 1215232 => 'Philadelphia, PA', 1215235 => 'Philadelphia, PA', @@ -1549,14 +1420,7 @@ return array ( 1215321 => 'Yardley, PA', 1215324 => 'Philadelphia, PA', 1215329 => 'Philadelphia, PA', - 1215331 => 'Philadelphia, PA', - 1215332 => 'Philadelphia, PA', - 1215333 => 'Philadelphia, PA', - 1215334 => 'Philadelphia, PA', - 1215335 => 'Philadelphia, PA', - 1215336 => 'Philadelphia, PA', - 1215338 => 'Philadelphia, PA', - 1215339 => 'Philadelphia, PA', + 121533 => 'Philadelphia, PA', 1215340 => 'Doylestown, PA', 1215342 => 'Philadelphia, PA', 1215343 => 'Warrington, PA', @@ -1586,18 +1450,8 @@ return array ( 1215455 => 'Philadelphia, PA', 1215456 => 'Philadelphia, PA', 1215457 => 'Philadelphia, PA', - 1215462 => 'Philadelphia, PA', - 1215463 => 'Philadelphia, PA', - 1215464 => 'Philadelphia, PA', - 1215465 => 'Philadelphia, PA', - 1215467 => 'Philadelphia, PA', - 1215468 => 'Philadelphia, PA', - 1215471 => 'Philadelphia, PA', - 1215472 => 'Philadelphia, PA', - 1215473 => 'Philadelphia, PA', - 1215474 => 'Philadelphia, PA', - 1215476 => 'Philadelphia, PA', - 1215477 => 'Philadelphia, PA', + 121546 => 'Philadelphia, PA', + 121547 => 'Philadelphia, PA', 1215481 => 'Abington, PA', 1215482 => 'Philadelphia, PA', 1215483 => 'Philadelphia, PA', @@ -1626,12 +1480,7 @@ return array ( 1215549 => 'Philadelphia, PA', 1215551 => 'Philadelphia, PA', 1215557 => 'Philadelphia, PA', - 1215561 => 'Philadelphia, PA', - 1215563 => 'Philadelphia, PA', - 1215564 => 'Philadelphia, PA', - 1215567 => 'Philadelphia, PA', - 1215568 => 'Philadelphia, PA', - 1215569 => 'Philadelphia, PA', + 121556 => 'Philadelphia, PA', 1215574 => 'Philadelphia, PA', 1215575 => 'Philadelphia, PA', 1215579 => 'Newtown, PA', @@ -1670,28 +1519,16 @@ return array ( 1215707 => 'Philadelphia, PA', 1215708 => 'Philadelphia, PA', 1215710 => 'Langhorne, PA', + 121572 => 'Philadelphia, PA', 1215721 => 'Souderton, PA', - 1215722 => 'Philadelphia, PA', 1215723 => 'Souderton, PA', - 1215724 => 'Philadelphia, PA', - 1215725 => 'Philadelphia, PA', - 1215726 => 'Philadelphia, PA', - 1215727 => 'Philadelphia, PA', - 1215728 => 'Philadelphia, PA', - 1215729 => 'Philadelphia, PA', 1215731 => 'Philadelphia, PA', 1215732 => 'Philadelphia, PA', 1215735 => 'Philadelphia, PA', 1215736 => 'Morrisville, PA', 1215739 => 'Philadelphia, PA', + 121574 => 'Philadelphia, PA', 1215741 => 'Langhorne, PA', - 1215742 => 'Philadelphia, PA', - 1215743 => 'Philadelphia, PA', - 1215744 => 'Philadelphia, PA', - 1215745 => 'Philadelphia, PA', - 1215746 => 'Philadelphia, PA', - 1215747 => 'Philadelphia, PA', - 1215748 => 'Philadelphia, PA', 1215750 => 'Langhorne, PA', 1215751 => 'Philadelphia, PA', 1215752 => 'Langhorne, PA', @@ -1738,13 +1575,7 @@ return array ( 1215904 => 'Philadelphia, PA', 1215914 => 'Huntingdon Vly, PA', 1215918 => 'Warrington, PA', - 1215921 => 'Philadelphia, PA', - 1215922 => 'Philadelphia, PA', - 1215923 => 'Philadelphia, PA', - 1215924 => 'Philadelphia, PA', - 1215925 => 'Philadelphia, PA', - 1215927 => 'Philadelphia, PA', - 1215928 => 'Philadelphia, PA', + 121592 => 'Philadelphia, PA', 1215941 => 'Philadelphia, PA', 1215943 => 'Levittown, PA', 1215945 => 'Levittown, PA', @@ -1931,12 +1762,7 @@ return array ( 1217383 => 'Urbana, IL', 1217384 => 'Urbana, IL', 1217398 => 'Champaign, IL', - 1217422 => 'Decatur, IL', - 1217423 => 'Decatur, IL', - 1217424 => 'Decatur, IL', - 1217425 => 'Decatur, IL', - 1217428 => 'Decatur, IL', - 1217429 => 'Decatur, IL', + 121742 => 'Decatur, IL', 1217431 => 'Danville, IL', 1217438 => 'Auburn, IL', 1217442 => 'Danville, IL', @@ -2083,14 +1909,7 @@ return array ( 1218687 => 'Erskine, MN', 1218692 => 'Crosslake, MN', 1218694 => 'Bagley, MN', - 1218720 => 'Duluth, MN', - 1218721 => 'Duluth, MN', - 1218722 => 'Duluth, MN', - 1218723 => 'Duluth, MN', - 1218724 => 'Duluth, MN', - 1218726 => 'Duluth, MN', - 1218727 => 'Duluth, MN', - 1218728 => 'Duluth, MN', + 121872 => 'Duluth, MN', 1218730 => 'Duluth, MN', 1218732 => 'Park Rapids, MN', 1218733 => 'Duluth, MN', @@ -2199,12 +2018,7 @@ return array ( 1219874 => 'Michigan City, IN', 1219878 => 'Michigan City, IN', 1219879 => 'Michigan City, IN', - 1219881 => 'Gary, IN', - 1219882 => 'Gary, IN', - 1219884 => 'Gary, IN', - 1219885 => 'Gary, IN', - 1219886 => 'Gary, IN', - 1219887 => 'Gary, IN', + 121988 => 'Gary, IN', 1219921 => 'Chesterton, IN', 1219923 => 'Highland, IN', 1219926 => 'Chesterton, IN', @@ -2248,13 +2062,8 @@ return array ( 1225272 => 'Baton Rouge, LA', 1225273 => 'Baton Rouge, LA', 1225275 => 'Baton Rouge, LA', - 1225291 => 'Baton Rouge, LA', - 1225292 => 'Baton Rouge, LA', - 1225293 => 'Baton Rouge, LA', + 122529 => 'Baton Rouge, LA', 1225294 => 'Springfield, LA', - 1225295 => 'Baton Rouge, LA', - 1225296 => 'Baton Rouge, LA', - 1225298 => 'Baton Rouge, LA', 1225302 => 'Baton Rouge, LA', 1225336 => 'Baton Rouge, LA', 1225341 => 'Baton Rouge, LA', @@ -2267,12 +2076,7 @@ return array ( 1225357 => 'Baton Rouge, LA', 1225358 => 'Baton Rouge, LA', 1225372 => 'Baton Rouge, LA', - 1225381 => 'Baton Rouge, LA', - 1225382 => 'Baton Rouge, LA', - 1225383 => 'Baton Rouge, LA', - 1225387 => 'Baton Rouge, LA', - 1225388 => 'Baton Rouge, LA', - 1225389 => 'Baton Rouge, LA', + 122538 => 'Baton Rouge, LA', 1225448 => 'Baton Rouge, LA', 1225473 => 'Donaldsonville, LA', 1225545 => 'White Castle, LA', @@ -2301,20 +2105,8 @@ return array ( 1225686 => 'Livingston, LA', 1225687 => 'Plaquemine, LA', 1225744 => 'Prairieville, LA', - 1225751 => 'Baton Rouge, LA', - 1225752 => 'Baton Rouge, LA', - 1225753 => 'Baton Rouge, LA', - 1225754 => 'Baton Rouge, LA', - 1225755 => 'Baton Rouge, LA', - 1225756 => 'Baton Rouge, LA', - 1225757 => 'Baton Rouge, LA', - 1225761 => 'Baton Rouge, LA', - 1225763 => 'Baton Rouge, LA', - 1225765 => 'Baton Rouge, LA', - 1225766 => 'Baton Rouge, LA', - 1225767 => 'Baton Rouge, LA', - 1225768 => 'Baton Rouge, LA', - 1225769 => 'Baton Rouge, LA', + 122575 => 'Baton Rouge, LA', + 122576 => 'Baton Rouge, LA', 1225771 => 'Baton Rouge, LA', 1225774 => 'Baker, LA', 1225775 => 'Baker, LA', @@ -2322,14 +2114,7 @@ return array ( 1225791 => 'Denham Springs, LA', 1225810 => 'Baton Rouge, LA', 1225819 => 'Baton Rouge, LA', - 1225922 => 'Baton Rouge, LA', - 1225923 => 'Baton Rouge, LA', - 1225924 => 'Baton Rouge, LA', - 1225925 => 'Baton Rouge, LA', - 1225926 => 'Baton Rouge, LA', - 1225927 => 'Baton Rouge, LA', - 1225928 => 'Baton Rouge, LA', - 1225929 => 'Baton Rouge, LA', + 122592 => 'Baton Rouge, LA', 1226 => 'Ontario', 1226663 => 'London, ON', 1228 => 'Mississippi', @@ -2380,15 +2165,10 @@ return array ( 1229226 => 'Thomasville, GA', 1229227 => 'Thomasville, GA', 1229228 => 'Thomasville, GA', - 1229241 => 'Valdosta, GA', - 1229242 => 'Valdosta, GA', + 122924 => 'Valdosta, GA', 1229243 => 'Bainbridge, GA', - 1229244 => 'Valdosta, GA', - 1229245 => 'Valdosta, GA', 1229246 => 'Bainbridge, GA', - 1229247 => 'Valdosta, GA', 1229248 => 'Bainbridge, GA', - 1229249 => 'Valdosta, GA', 1229253 => 'Valdosta, GA', 1229259 => 'Valdosta, GA', 1229263 => 'Quitman, GA', @@ -2411,14 +2191,7 @@ return array ( 1229420 => 'Albany, GA', 1229423 => 'Fitzgerald, GA', 1229424 => 'Fitzgerald, GA', - 1229430 => 'Albany, GA', - 1229431 => 'Albany, GA', - 1229432 => 'Albany, GA', - 1229434 => 'Albany, GA', - 1229435 => 'Albany, GA', - 1229436 => 'Albany, GA', - 1229438 => 'Albany, GA', - 1229439 => 'Albany, GA', + 122943 => 'Albany, GA', 1229446 => 'Albany, GA', 1229468 => 'Ocilla, GA', 1229482 => 'Lakeland, GA', @@ -2644,15 +2417,8 @@ return array ( 1239566 => 'Naples, FL', 1239573 => 'Cape Coral, FL', 1239574 => 'Cape Coral, FL', + 123959 => 'Naples, FL', 1239590 => 'Fort Myers, FL', - 1239591 => 'Naples, FL', - 1239592 => 'Naples, FL', - 1239593 => 'Naples, FL', - 1239594 => 'Naples, FL', - 1239595 => 'Naples, FL', - 1239596 => 'Naples, FL', - 1239597 => 'Naples, FL', - 1239598 => 'Naples, FL', 1239601 => 'Naples, FL', 1239642 => 'Marco Island, FL', 1239643 => 'Naples, FL', @@ -2705,24 +2471,9 @@ return array ( 1240686 => 'Germantown, MD', 1240777 => 'Rockville, MD', 1240857 => 'Joint Base Andrews Naval Air Facility, MD', - 12422250 => 'New Providence', - 12422251 => 'New Providence', - 12422252 => 'New Providence', - 12422253 => 'New Providence', - 12422254 => 'New Providence', - 12422256 => 'New Providence', - 12422257 => 'New Providence', - 12422258 => 'New Providence', - 12422259 => 'New Providence', + 12422 => 'New Providence', 1242302 => 'New Providence', - 1242321 => 'New Providence', - 1242322 => 'New Providence', - 1242323 => 'New Providence', - 1242324 => 'New Providence', - 1242325 => 'New Providence', - 1242326 => 'New Providence', - 1242327 => 'New Providence', - 1242328 => 'New Providence', + 124232 => 'New Providence', 1242329 => 'Andros', 1242331 => 'Rum Cay & San Sal', 1242332 => 'Eleuthera', @@ -2763,27 +2514,21 @@ return array ( 1242374 => 'Grand Bahama', 1242376 => 'Grand Bahama', 1242377 => 'New Providence', - 1242380 => 'New Providence', - 1242381 => 'New Providence', - 1242382 => 'New Providence', - 1242383 => 'New Providence', - 1242384 => 'New Providence', + 124238 => 'New Providence', 1242392 => 'New Providence', 1242393 => 'New Providence', 1242394 => 'New Providence', 1242396 => 'New Providence', 1242397 => 'New Providence', 1242461 => 'New Providence', - 1242502 => 'New Providence', + 124250 => 'New Providence', 1242601 => 'New Providence', 1242602 => 'Grand Bahama', - 1242676 => 'New Providence', - 1242677 => 'New Providence', - 1242687 => 'Grand Bahama', - 1242688 => 'Grand Bahama', + 124267 => 'New Providence', + 124268 => 'Grand Bahama', 1242698 => 'New Providence', 1242699 => 'Abaco/Eleuthera', - 1242702 => 'New Providence', + 124270 => 'New Providence', 1248 => 'Michigan', 1248208 => 'Southfield, MI', 1248223 => 'Southfield, MI', @@ -2808,15 +2553,7 @@ return array ( 1248340 => 'Auburn Hills, MI', 1248344 => 'Novi, MI', 1248347 => 'Novi, MI', - 1248350 => 'Southfield, MI', - 1248351 => 'Southfield, MI', - 1248352 => 'Southfield, MI', - 1248353 => 'Southfield, MI', - 1248354 => 'Southfield, MI', - 1248355 => 'Southfield, MI', - 1248356 => 'Southfield, MI', - 1248357 => 'Southfield, MI', - 1248358 => 'Southfield, MI', + 124835 => 'Southfield, MI', 1248362 => 'Troy, MI', 1248370 => 'Auburn Hills, MI', 1248373 => 'Auburn Hills, MI', @@ -2954,15 +2691,7 @@ return array ( 1250376 => 'Kamloops, BC', 1250377 => 'Kamloops, BC', 1250378 => 'Merritt, BC', - 1250380 => 'Victoria, BC', - 1250381 => 'Victoria, BC', - 1250382 => 'Victoria, BC', - 1250383 => 'Victoria, BC', - 1250384 => 'Victoria, BC', - 1250385 => 'Victoria, BC', - 1250386 => 'Victoria, BC', - 1250388 => 'Victoria, BC', - 1250389 => 'Victoria, BC', + 125038 => 'Victoria, BC', 1250390 => 'Nanaimo, BC', 1250391 => 'Victoria, BC', 1250392 => 'Williams Lake, BC', @@ -3069,13 +2798,8 @@ return array ( 1250747 => 'Quesnel, BC', 1250748 => 'Duncan, BC', 1250749 => 'Lake Cowichan, BC', - 1250751 => 'Nanaimo, BC', + 125075 => 'Nanaimo, BC', 1250752 => 'Qualicum Beach, BC', - 1250753 => 'Nanaimo, BC', - 1250754 => 'Nanaimo, BC', - 1250755 => 'Nanaimo, BC', - 1250756 => 'Nanaimo, BC', - 1250758 => 'Nanaimo, BC', 1250762 => 'Kelowna, BC', 1250763 => 'Kelowna, BC', 1250764 => 'Kelowna, BC', @@ -3106,13 +2830,7 @@ return array ( 1250847 => 'Smithers, BC', 1250851 => 'Kamloops, BC', 1250858 => 'Victoria, BC', - 1250860 => 'Kelowna, BC', - 1250861 => 'Kelowna, BC', - 1250862 => 'Kelowna, BC', - 1250863 => 'Kelowna, BC', - 1250864 => 'Kelowna, BC', - 1250868 => 'Kelowna, BC', - 1250869 => 'Kelowna, BC', + 125086 => 'Kelowna, BC', 1250870 => 'Kelowna, BC', 1250871 => 'Courtenay, BC', 1250877 => 'Smithers, BC', @@ -3144,12 +2862,7 @@ return array ( 1251296 => 'Flomaton, AL', 1251300 => 'Mobile, AL', 1251338 => 'Mobile, AL', - 1251340 => 'Mobile, AL', - 1251341 => 'Mobile, AL', - 1251342 => 'Mobile, AL', - 1251343 => 'Mobile, AL', - 1251344 => 'Mobile, AL', - 1251345 => 'Mobile, AL', + 125134 => 'Mobile, AL', 1251368 => 'Atmore, AL', 1251378 => 'Mobile, AL', 1251380 => 'Mobile, AL', @@ -3167,12 +2880,7 @@ return array ( 1251450 => 'Mobile, AL', 1251457 => 'Mobile, AL', 1251460 => 'Mobile, AL', - 1251470 => 'Mobile, AL', - 1251471 => 'Mobile, AL', - 1251473 => 'Mobile, AL', - 1251476 => 'Mobile, AL', - 1251478 => 'Mobile, AL', - 1251479 => 'Mobile, AL', + 125147 => 'Mobile, AL', 1251575 => 'Monroeville, AL', 1251578 => 'Evergreen, AL', 1251580 => 'Bay Minette, AL', @@ -3303,12 +3011,7 @@ return array ( 1252568 => 'Pink Hill, NC', 1252583 => 'Halifax, NC', 1252586 => 'Littleton, NC', - 1252633 => 'New Bern, NC', - 1252634 => 'New Bern, NC', - 1252635 => 'New Bern, NC', - 1252636 => 'New Bern, NC', - 1252637 => 'New Bern, NC', - 1252638 => 'New Bern, NC', + 125263 => 'New Bern, NC', 1252641 => 'Tarboro, NC', 1252672 => 'New Bern, NC', 1252695 => 'Greenville, NC', @@ -3372,22 +3075,12 @@ return array ( 1253445 => 'Puyallup, WA', 1253446 => 'Puyallup, WA', 1253459 => 'Tacoma, WA', - 1253471 => 'Tacoma, WA', - 1253472 => 'Tacoma, WA', - 1253473 => 'Tacoma, WA', - 1253474 => 'Tacoma, WA', - 1253475 => 'Tacoma, WA', - 1253476 => 'Tacoma, WA', + 125347 => 'Tacoma, WA', 1253503 => 'Tacoma, WA', 1253520 => 'Kent, WA', 1253529 => 'Federal Way, WA', + 125353 => 'Tacoma, WA', 1253530 => 'Gig Harbor, WA', - 1253531 => 'Tacoma, WA', - 1253535 => 'Tacoma, WA', - 1253536 => 'Tacoma, WA', - 1253537 => 'Tacoma, WA', - 1253538 => 'Tacoma, WA', - 1253539 => 'Tacoma, WA', 1253549 => 'Fox Island, WA', 1253571 => 'Tacoma, WA', 1253572 => 'Tacoma, WA', @@ -3506,14 +3199,7 @@ return array ( 1254741 => 'Waco, TX', 1254742 => 'Temple, TX', 1254743 => 'Temple, TX', - 1254750 => 'Waco, TX', - 1254751 => 'Waco, TX', - 1254752 => 'Waco, TX', - 1254753 => 'Waco, TX', - 1254754 => 'Waco, TX', - 1254755 => 'Waco, TX', - 1254756 => 'Waco, TX', - 1254757 => 'Waco, TX', + 125475 => 'Waco, TX', 1254770 => 'Temple, TX', 1254771 => 'Temple, TX', 1254772 => 'Waco, TX', @@ -3609,13 +3295,8 @@ return array ( 1256494 => 'Gadsden, AL', 1256513 => 'Huntsville, AL', 1256519 => 'Huntsville, AL', - 1256532 => 'Huntsville, AL', - 1256533 => 'Huntsville, AL', - 1256534 => 'Huntsville, AL', - 1256535 => 'Huntsville, AL', - 1256536 => 'Huntsville, AL', + 125653 => 'Huntsville, AL', 1256538 => 'Attalla, AL', - 1256539 => 'Huntsville, AL', 1256543 => 'Gadsden, AL', 1256546 => 'Gadsden, AL', 1256547 => 'Gadsden, AL', @@ -3655,13 +3336,8 @@ return array ( 1256751 => 'Hartselle, AL', 1256753 => 'Guntersville, AL', 1256757 => 'Killen, AL', - 1256760 => 'Florence, AL', + 125676 => 'Florence, AL', 1256761 => 'Talladega, AL', - 1256764 => 'Florence, AL', - 1256765 => 'Florence, AL', - 1256766 => 'Florence, AL', - 1256767 => 'Florence, AL', - 1256768 => 'Florence, AL', 1256771 => 'Athens, AL', 1256772 => 'Madison, AL', 1256773 => 'Hartselle, AL', @@ -3716,12 +3392,7 @@ return array ( 1260387 => 'Fort Wayne, IN', 1260407 => 'Fort Wayne, IN', 1260416 => 'Fort Wayne, IN', - 1260420 => 'Fort Wayne, IN', - 1260422 => 'Fort Wayne, IN', - 1260423 => 'Fort Wayne, IN', - 1260424 => 'Fort Wayne, IN', - 1260426 => 'Fort Wayne, IN', - 1260427 => 'Fort Wayne, IN', + 126042 => 'Fort Wayne, IN', 1260432 => 'Fort Wayne, IN', 1260434 => 'Fort Wayne, IN', 1260435 => 'Fort Wayne, IN', @@ -3736,14 +3407,8 @@ return array ( 1260469 => 'Fort Wayne, IN', 1260471 => 'Fort Wayne, IN', 1260478 => 'Fort Wayne, IN', - 1260481 => 'Fort Wayne, IN', - 1260482 => 'Fort Wayne, IN', - 1260483 => 'Fort Wayne, IN', - 1260484 => 'Fort Wayne, IN', - 1260485 => 'Fort Wayne, IN', - 1260486 => 'Fort Wayne, IN', + 126048 => 'Fort Wayne, IN', 1260488 => 'Hamilton, IN', - 1260489 => 'Fort Wayne, IN', 1260490 => 'Fort Wayne, IN', 1260492 => 'Fort Wayne, IN', 1260493 => 'New Haven, IN', @@ -3853,23 +3518,12 @@ return array ( 1262619 => 'Racine, WI', 1262626 => 'Kewaskum, WI', 1262629 => 'Allenton, WI', - 1262632 => 'Racine, WI', - 1262633 => 'Racine, WI', - 1262634 => 'Racine, WI', - 1262635 => 'Racine, WI', - 1262636 => 'Racine, WI', - 1262637 => 'Racine, WI', - 1262639 => 'Racine, WI', + 126263 => 'Racine, WI', 1262642 => 'East Troy, WI', 1262644 => 'Slinger, WI', 1262646 => 'Delafield, WI', + 126265 => 'Kenosha, WI', 1262650 => 'Waukesha, WI', - 1262652 => 'Kenosha, WI', - 1262653 => 'Kenosha, WI', - 1262654 => 'Kenosha, WI', - 1262656 => 'Kenosha, WI', - 1262657 => 'Kenosha, WI', - 1262658 => 'Kenosha, WI', 1262662 => 'Big Bend, WI', 1262670 => 'Hartford, WI', 1262673 => 'Hartford, WI', @@ -3891,12 +3545,7 @@ return array ( 1262763 => 'Burlington, WI', 1262764 => 'Kenosha, WI', 1262767 => 'Burlington, WI', - 1262780 => 'Brookfield, WI', - 1262781 => 'Brookfield, WI', - 1262783 => 'Brookfield, WI', - 1262785 => 'Brookfield, WI', - 1262787 => 'Brookfield, WI', - 1262789 => 'Brookfield, WI', + 126278 => 'Brookfield, WI', 1262790 => 'Brookfield, WI', 1262798 => 'Waukesha, WI', 1262820 => 'Sussex, WI', @@ -4019,13 +3668,7 @@ return array ( 1269944 => 'Benton Harbor, MI', 1269945 => 'Hastings, MI', 1269948 => 'Hastings, MI', - 1269962 => 'Battle Creek, MI', - 1269963 => 'Battle Creek, MI', - 1269964 => 'Battle Creek, MI', - 1269965 => 'Battle Creek, MI', - 1269966 => 'Battle Creek, MI', - 1269968 => 'Battle Creek, MI', - 1269969 => 'Battle Creek, MI', + 126996 => 'Battle Creek, MI', 1269979 => 'Battle Creek, MI', 1269982 => 'St. Joseph, MI', 1269983 => 'St. Joseph, MI', @@ -4092,13 +3735,7 @@ return array ( 1270665 => 'La Center, KY', 1270667 => 'Providence, KY', 1270678 => 'Glasgow, KY', - 1270683 => 'Owensboro, KY', - 1270684 => 'Owensboro, KY', - 1270685 => 'Owensboro, KY', - 1270686 => 'Owensboro, KY', - 1270687 => 'Owensboro, KY', - 1270688 => 'Owensboro, KY', - 1270689 => 'Owensboro, KY', + 127068 => 'Owensboro, KY', 1270691 => 'Owensboro, KY', 1270692 => 'Lebanon, KY', 1270699 => 'Lebanon, KY', @@ -4293,27 +3930,15 @@ return array ( 1281403 => 'Missouri City, TX', 1281405 => 'Houston, TX', 1281412 => 'Pearland, TX', - 1281420 => 'Baytown, TX', - 1281421 => 'Baytown, TX', - 1281422 => 'Baytown, TX', - 1281424 => 'Baytown, TX', + 128142 => 'Baytown, TX', 1281426 => 'Highlands, TX', - 1281427 => 'Baytown, TX', - 1281428 => 'Baytown, TX', 1281432 => 'Cleveland, TX', 1281436 => 'Houston, TX', 1281437 => 'Missouri City, TX', 1281438 => 'Missouri City, TX', - 1281440 => 'Houston, TX', + 128144 => 'Houston, TX', 1281441 => 'Humble, TX', - 1281442 => 'Houston, TX', - 1281443 => 'Houston, TX', - 1281444 => 'Houston, TX', - 1281445 => 'Houston, TX', 1281446 => 'Humble, TX', - 1281447 => 'Houston, TX', - 1281448 => 'Houston, TX', - 1281449 => 'Houston, TX', 1281452 => 'Channelview, TX', 1281454 => 'Houston, TX', 1281456 => 'Houston, TX', @@ -4429,12 +4054,7 @@ return array ( 1281861 => 'Houston, TX', 1281866 => 'Houston, TX', 1281867 => 'La Porte, TX', - 1281870 => 'Houston, TX', - 1281872 => 'Houston, TX', - 1281873 => 'Houston, TX', - 1281875 => 'Houston, TX', - 1281876 => 'Houston, TX', - 1281879 => 'Houston, TX', + 128187 => 'Houston, TX', 1281880 => 'Houston, TX', 1281888 => 'Houston, TX', 1281890 => 'Houston, TX', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php index 1e25a4ae9..531eee353 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/13.php @@ -262,12 +262,7 @@ return array ( 1302266 => 'Newark, DE', 1302284 => 'Felton, DE', 1302292 => 'Newark, DE', - 1302322 => 'New Castle, DE', - 1302323 => 'New Castle, DE', - 1302324 => 'New Castle, DE', - 1302325 => 'New Castle, DE', - 1302326 => 'New Castle, DE', - 1302328 => 'New Castle, DE', + 130232 => 'New Castle, DE', 1302337 => 'Bridgeville, DE', 1302349 => 'Greenwood, DE', 1302366 => 'Newark, DE', @@ -314,13 +309,8 @@ return array ( 1302636 => 'Wilmington, DE', 1302644 => 'Lewes, DE', 1302645 => 'Lewes, DE', - 1302651 => 'Wilmington, DE', - 1302652 => 'Wilmington, DE', + 130265 => 'Wilmington, DE', 1302653 => 'Smyrna, DE', - 1302654 => 'Wilmington, DE', - 1302655 => 'Wilmington, DE', - 1302656 => 'Wilmington, DE', - 1302658 => 'Wilmington, DE', 1302659 => 'Smyrna, DE', 1302661 => 'Wilmington, DE', 1302672 => 'Dover, DE', @@ -361,22 +351,12 @@ return array ( 1302945 => 'Millsboro, DE', 1302947 => 'Millsboro, DE', 1302984 => 'Wilmington, DE', - 1302992 => 'Wilmington, DE', - 1302993 => 'Wilmington, DE', - 1302994 => 'Wilmington, DE', - 1302995 => 'Wilmington, DE', - 1302998 => 'Wilmington, DE', - 1302999 => 'Wilmington, DE', + 130299 => 'Wilmington, DE', 1303 => 'Colorado', 1303205 => 'Lakewood, CO', 1303215 => 'Golden, CO', 1303216 => 'Golden, CO', - 1303231 => 'Lakewood, CO', - 1303232 => 'Lakewood, CO', - 1303233 => 'Lakewood, CO', - 1303237 => 'Lakewood, CO', - 1303238 => 'Lakewood, CO', - 1303239 => 'Lakewood, CO', + 130323 => 'Lakewood, CO', 1303245 => 'Boulder, CO', 1303256 => 'Denver, CO', 1303258 => 'Nederland, CO', @@ -386,14 +366,7 @@ return array ( 1303278 => 'Golden, CO', 1303279 => 'Golden, CO', 1303282 => 'Denver, CO', - 1303291 => 'Denver, CO', - 1303292 => 'Denver, CO', - 1303293 => 'Denver, CO', - 1303294 => 'Denver, CO', - 1303295 => 'Denver, CO', - 1303296 => 'Denver, CO', - 1303297 => 'Denver, CO', - 1303298 => 'Denver, CO', + 130329 => 'Denver, CO', 1303300 => 'Denver, CO', 1303306 => 'Aurora, CO', 1303307 => 'Denver, CO', @@ -416,19 +389,8 @@ return array ( 1303346 => 'Highlands Ranch, CO', 1303347 => 'Littleton, CO', 1303355 => 'Denver, CO', - 1303360 => 'Aurora, CO', - 1303363 => 'Aurora, CO', - 1303364 => 'Aurora, CO', - 1303365 => 'Aurora, CO', - 1303366 => 'Aurora, CO', - 1303367 => 'Aurora, CO', - 1303368 => 'Aurora, CO', - 1303371 => 'Denver, CO', - 1303372 => 'Denver, CO', - 1303373 => 'Denver, CO', - 1303375 => 'Denver, CO', - 1303376 => 'Denver, CO', - 1303377 => 'Denver, CO', + 130336 => 'Aurora, CO', + 130337 => 'Denver, CO', 1303384 => 'Golden, CO', 1303388 => 'Denver, CO', 1303393 => 'Denver, CO', @@ -445,15 +407,8 @@ return array ( 1303436 => 'Denver, CO', 1303438 => 'Broomfield, CO', 1303439 => 'Broomfield, CO', - 1303440 => 'Boulder, CO', - 1303441 => 'Boulder, CO', - 1303442 => 'Boulder, CO', - 1303443 => 'Boulder, CO', - 1303444 => 'Boulder, CO', + 130344 => 'Boulder, CO', 1303446 => 'Denver, CO', - 1303447 => 'Boulder, CO', - 1303448 => 'Boulder, CO', - 1303449 => 'Boulder, CO', 1303455 => 'Denver, CO', 1303458 => 'Denver, CO', 1303460 => 'Broomfield, CO', @@ -623,13 +578,7 @@ return array ( 1303975 => 'Denver, CO', 1303978 => 'Littleton, CO', 1303979 => 'Littleton, CO', - 1303980 => 'Lakewood, CO', - 1303984 => 'Lakewood, CO', - 1303985 => 'Lakewood, CO', - 1303986 => 'Lakewood, CO', - 1303987 => 'Lakewood, CO', - 1303988 => 'Lakewood, CO', - 1303989 => 'Lakewood, CO', + 130398 => 'Lakewood, CO', 1304 => 'West Virginia', 1304205 => 'Charleston, WV', 1304225 => 'Morgantown, WV', @@ -643,12 +592,7 @@ return array ( 1304241 => 'Morgantown, WV', 1304242 => 'Wheeling, WV', 1304243 => 'Wheeling, WV', - 1304250 => 'Beckley, WV', - 1304252 => 'Beckley, WV', - 1304253 => 'Beckley, WV', - 1304254 => 'Beckley, WV', - 1304255 => 'Beckley, WV', - 1304256 => 'Beckley, WV', + 130425 => 'Beckley, WV', 1304257 => 'Petersburg, WV', 1304258 => 'Berkeley Springs, WV', 1304260 => 'Martinsburg, WV', @@ -676,14 +620,7 @@ return array ( 1304326 => 'Clarksburg, WV', 1304327 => 'Bluefield, WV', 1304329 => 'Kingwood, WV', - 1304340 => 'Charleston, WV', - 1304342 => 'Charleston, WV', - 1304343 => 'Charleston, WV', - 1304344 => 'Charleston, WV', - 1304345 => 'Charleston, WV', - 1304346 => 'Charleston, WV', - 1304347 => 'Charleston, WV', - 1304348 => 'Charleston, WV', + 130434 => 'Charleston, WV', 1304354 => 'Grantsville, WV', 1304358 => 'Franklin, WV', 1304363 => 'Fairmont, WV', @@ -725,13 +662,8 @@ return array ( 1304487 => 'Princeton, WV', 1304489 => 'Mineral Wells, WV', 1304496 => 'Augusta, WV', - 1304522 => 'Huntington, WV', - 1304523 => 'Huntington, WV', - 1304525 => 'Huntington, WV', - 1304526 => 'Huntington, WV', + 130452 => 'Huntington, WV', 1304527 => 'Follansbee, WV', - 1304528 => 'Huntington, WV', - 1304529 => 'Huntington, WV', 1304530 => 'Moorefield, WV', 1304534 => 'Fairmont, WV', 1304535 => 'Harpers Ferry, WV', @@ -833,15 +765,7 @@ return array ( 1304986 => 'Mannington, WV', 1305 => 'Florida', 1305207 => 'Miami, FL', - 1305220 => 'Miami, FL', - 1305221 => 'Miami, FL', - 1305222 => 'Miami, FL', - 1305223 => 'Miami, FL', - 1305225 => 'Miami, FL', - 1305226 => 'Miami, FL', - 1305227 => 'Miami, FL', - 1305228 => 'Miami, FL', - 1305229 => 'Miami, FL', + 130522 => 'Miami, FL', 1305231 => 'Hialeah, FL', 1305232 => 'Miami, FL', 1305233 => 'Miami, FL', @@ -855,31 +779,11 @@ return array ( 1305247 => 'Homestead, FL', 1305248 => 'Homestead, FL', 1305249 => 'Miami, FL', - 1305251 => 'Miami, FL', - 1305252 => 'Miami, FL', - 1305253 => 'Miami, FL', - 1305254 => 'Miami, FL', - 1305255 => 'Miami, FL', - 1305256 => 'Miami, FL', + 130525 => 'Miami, FL', 1305257 => 'Homestead, FL', 1305258 => 'Homestead, FL', - 1305259 => 'Miami, FL', - 1305260 => 'Miami, FL', - 1305261 => 'Miami, FL', - 1305262 => 'Miami, FL', - 1305263 => 'Miami, FL', - 1305264 => 'Miami, FL', - 1305265 => 'Miami, FL', - 1305266 => 'Miami, FL', - 1305267 => 'Miami, FL', - 1305269 => 'Miami, FL', - 1305270 => 'Miami, FL', - 1305271 => 'Miami, FL', - 1305273 => 'Miami, FL', - 1305274 => 'Miami, FL', - 1305275 => 'Miami, FL', - 1305278 => 'Miami, FL', - 1305279 => 'Miami, FL', + 130526 => 'Miami, FL', + 130527 => 'Miami, FL', 1305285 => 'Miami, FL', 1305289 => 'Marathon, FL', 1305292 => 'Key West, FL', @@ -900,22 +804,8 @@ return array ( 1305364 => 'Hialeah, FL', 1305365 => 'Key Biscayne, FL', 1305367 => 'Key Largo, FL', - 1305371 => 'Miami, FL', - 1305372 => 'Miami, FL', - 1305373 => 'Miami, FL', - 1305374 => 'Miami, FL', - 1305375 => 'Miami, FL', - 1305377 => 'Miami, FL', - 1305378 => 'Miami, FL', - 1305379 => 'Miami, FL', - 1305380 => 'Miami, FL', - 1305381 => 'Miami, FL', - 1305382 => 'Miami, FL', - 1305383 => 'Miami, FL', - 1305385 => 'Miami, FL', - 1305386 => 'Miami, FL', - 1305387 => 'Miami, FL', - 1305388 => 'Miami, FL', + 130537 => 'Miami, FL', + 130538 => 'Miami, FL', 1305392 => 'Miami, FL', 1305397 => 'Miami Beach, FL', 1305400 => 'Miami, FL', @@ -953,26 +843,14 @@ return array ( 1305557 => 'Hialeah, FL', 1305558 => 'Hialeah, FL', 1305559 => 'Miami, FL', - 1305571 => 'Miami, FL', - 1305572 => 'Miami, FL', - 1305573 => 'Miami, FL', - 1305575 => 'Miami, FL', - 1305576 => 'Miami, FL', - 1305577 => 'Miami, FL', - 1305579 => 'Miami, FL', + 130557 => 'Miami, FL', 1305585 => 'Miami, FL', 1305595 => 'Miami, FL', 1305596 => 'Miami, FL', 1305598 => 'Miami, FL', 1305603 => 'Miami, FL', 1305604 => 'Miami Beach, FL', - 1305631 => 'Miami, FL', - 1305633 => 'Miami, FL', - 1305634 => 'Miami, FL', - 1305635 => 'Miami, FL', - 1305636 => 'Miami, FL', - 1305637 => 'Miami, FL', - 1305638 => 'Miami, FL', + 130563 => 'Miami, FL', 1305642 => 'Miami, FL', 1305643 => 'Miami, FL', 1305644 => 'Miami, FL', @@ -999,29 +877,14 @@ return array ( 1305718 => 'Doral, FL', 1305743 => 'Marathon, FL', 1305745 => 'Summerland Key, FL', - 1305751 => 'Miami, FL', - 1305752 => 'Miami, FL', - 1305754 => 'Miami, FL', - 1305756 => 'Miami, FL', - 1305757 => 'Miami, FL', - 1305758 => 'Miami, FL', - 1305759 => 'Miami, FL', + 130575 => 'Miami, FL', 1305770 => 'Miami, FL', 1305789 => 'Miami, FL', 1305809 => 'Key West, FL', 1305817 => 'Hialeah, FL', 1305818 => 'Hialeah, FL', 1305819 => 'Hialeah, FL', - 1305820 => 'Hialeah, FL', - 1305821 => 'Hialeah, FL', - 1305822 => 'Hialeah, FL', - 1305823 => 'Hialeah, FL', - 1305824 => 'Hialeah, FL', - 1305825 => 'Hialeah, FL', - 1305826 => 'Hialeah, FL', - 1305827 => 'Hialeah, FL', - 1305828 => 'Hialeah, FL', - 1305829 => 'Hialeah, FL', + 130582 => 'Hialeah, FL', 1305835 => 'Miami, FL', 1305836 => 'Miami, FL', 1305852 => 'Tavernier, FL', @@ -1198,12 +1061,7 @@ return array ( 1307577 => 'Casper, WY', 1307578 => 'Cody, WY', 1307587 => 'Cody, WY', - 1307632 => 'Cheyenne, WY', - 1307633 => 'Cheyenne, WY', - 1307634 => 'Cheyenne, WY', - 1307635 => 'Cheyenne, WY', - 1307637 => 'Cheyenne, WY', - 1307638 => 'Cheyenne, WY', + 130763 => 'Cheyenne, WY', 1307654 => 'Alpine, WY', 1307672 => 'Sheridan, WY', 1307673 => 'Sheridan, WY', @@ -1348,20 +1206,8 @@ return array ( 1309662 => 'Bloomington, IL', 1309663 => 'Bloomington, IL', 1309664 => 'Bloomington, IL', - 1309671 => 'Peoria, IL', - 1309672 => 'Peoria, IL', - 1309673 => 'Peoria, IL', - 1309674 => 'Peoria, IL', - 1309676 => 'Peoria, IL', - 1309679 => 'Peoria, IL', - 1309681 => 'Peoria, IL', - 1309682 => 'Peoria, IL', - 1309683 => 'Peoria, IL', - 1309685 => 'Peoria, IL', - 1309686 => 'Peoria, IL', - 1309687 => 'Peoria, IL', - 1309688 => 'Peoria, IL', - 1309689 => 'Peoria, IL', + 130967 => 'Peoria, IL', + 130968 => 'Peoria, IL', 1309691 => 'Peoria, IL', 1309692 => 'Peoria, IL', 1309693 => 'Peoria, IL', @@ -1412,13 +1258,8 @@ return array ( 1309962 => 'Le Roy, IL', 1309968 => 'Manito, IL', 1310 => 'California', - 1310201 => 'Los Angeles, CA', - 1310203 => 'Los Angeles, CA', + 131020 => 'Los Angeles, CA', 1310205 => 'Beverly Hills, CA', - 1310206 => 'Los Angeles, CA', - 1310207 => 'Los Angeles, CA', - 1310208 => 'Los Angeles, CA', - 1310209 => 'Los Angeles, CA', 1310212 => 'Torrance, CA', 1310214 => 'Torrance, CA', 1310217 => 'Gardena, CA', @@ -1441,13 +1282,8 @@ return array ( 1310263 => 'Hawthorne, CA', 1310264 => 'Santa Monica, CA', 1310268 => 'Los Angeles, CA', - 1310271 => 'Beverly Hills, CA', - 1310273 => 'Beverly Hills, CA', - 1310274 => 'Beverly Hills, CA', - 1310275 => 'Beverly Hills, CA', - 1310276 => 'Beverly Hills, CA', + 131027 => 'Beverly Hills, CA', 1310277 => 'Los Angeles, CA', - 1310278 => 'Beverly Hills, CA', 1310281 => 'Beverly Hills, CA', 1310282 => 'Los Angeles, CA', 1310284 => 'Los Angeles, CA', @@ -1489,14 +1325,7 @@ return array ( 1310419 => 'Inglewood, CA', 1310423 => 'West Hollywood, CA', 1310426 => 'El Segundo, CA', - 1310440 => 'Los Angeles, CA', - 1310441 => 'Los Angeles, CA', - 1310442 => 'Los Angeles, CA', - 1310443 => 'Los Angeles, CA', - 1310444 => 'Los Angeles, CA', - 1310445 => 'Los Angeles, CA', - 1310446 => 'Los Angeles, CA', - 1310447 => 'Los Angeles, CA', + 131044 => 'Los Angeles, CA', 1310449 => 'Santa Monica, CA', 1310450 => 'Santa Monica, CA', 1310451 => 'Santa Monica, CA', @@ -1508,16 +1337,7 @@ return array ( 1310457 => 'Malibu, CA', 1310458 => 'Santa Monica, CA', 1310459 => 'Pacific Palisades, CA', - 1310470 => 'Los Angeles, CA', - 1310471 => 'Los Angeles, CA', - 1310472 => 'Los Angeles, CA', - 1310473 => 'Los Angeles, CA', - 1310474 => 'Los Angeles, CA', - 1310475 => 'Los Angeles, CA', - 1310476 => 'Los Angeles, CA', - 1310477 => 'Los Angeles, CA', - 1310478 => 'Los Angeles, CA', - 1310479 => 'Los Angeles, CA', + 131047 => 'Los Angeles, CA', 1310481 => 'Los Angeles, CA', 1310510 => 'Avalon, CA', 1310514 => 'San Pedro, CA', @@ -1558,12 +1378,7 @@ return array ( 1310608 => 'Compton, CA', 1310609 => 'Compton, CA', 1310618 => 'Torrance, CA', - 1310631 => 'Compton, CA', - 1310632 => 'Compton, CA', - 1310635 => 'Compton, CA', - 1310637 => 'Compton, CA', - 1310638 => 'Compton, CA', - 1310639 => 'Compton, CA', + 131063 => 'Compton, CA', 1310640 => 'El Segundo, CA', 1310641 => 'Los Angeles, CA', 1310642 => 'Los Angeles, CA', @@ -1708,40 +1523,16 @@ return array ( 1313821 => 'Detroit, MI', 1313822 => 'Detroit, MI', 1313824 => 'Detroit, MI', - 1313831 => 'Detroit, MI', - 1313832 => 'Detroit, MI', - 1313833 => 'Detroit, MI', - 1313834 => 'Detroit, MI', - 1313835 => 'Detroit, MI', - 1313836 => 'Detroit, MI', - 1313837 => 'Detroit, MI', - 1313838 => 'Detroit, MI', - 1313839 => 'Detroit, MI', + 131383 => 'Detroit, MI', 1313841 => 'Detroit, MI', 1313842 => 'Detroit, MI', 1313843 => 'Detroit, MI', 1313846 => 'Dearborn, MI', 1313849 => 'Detroit, MI', - 1313861 => 'Detroit, MI', - 1313862 => 'Detroit, MI', - 1313863 => 'Detroit, MI', - 1313864 => 'Detroit, MI', - 1313867 => 'Detroit, MI', + 131386 => 'Detroit, MI', 1313868 => 'Highland Park, MI', - 1313869 => 'Detroit, MI', - 1313871 => 'Detroit, MI', - 1313872 => 'Detroit, MI', - 1313873 => 'Detroit, MI', - 1313874 => 'Detroit, MI', - 1313875 => 'Detroit, MI', - 1313876 => 'Detroit, MI', - 1313891 => 'Detroit, MI', - 1313892 => 'Detroit, MI', - 1313893 => 'Detroit, MI', - 1313894 => 'Detroit, MI', - 1313895 => 'Detroit, MI', - 1313897 => 'Detroit, MI', - 1313898 => 'Detroit, MI', + 131387 => 'Detroit, MI', + 131389 => 'Detroit, MI', 1313916 => 'Detroit, MI', 1313921 => 'Detroit, MI', 1313922 => 'Detroit, MI', @@ -1753,12 +1544,7 @@ return array ( 1313934 => 'Detroit, MI', 1313937 => 'Redford Charter Township, MI', 1313945 => 'Dearborn, MI', - 1313961 => 'Detroit, MI', - 1313962 => 'Detroit, MI', - 1313963 => 'Detroit, MI', - 1313964 => 'Detroit, MI', - 1313965 => 'Detroit, MI', - 1313966 => 'Detroit, MI', + 131396 => 'Detroit, MI', 1313982 => 'Dearborn, MI', 1313993 => 'Detroit, MI', 1314 => 'Missouri', @@ -1781,12 +1567,7 @@ return array ( 1314362 => 'St. Louis, MO', 1314367 => 'St. Louis, MO', 1314371 => 'St. Louis, MO', - 1314381 => 'St. Louis, MO', - 1314382 => 'St. Louis, MO', - 1314383 => 'St. Louis, MO', - 1314385 => 'St. Louis, MO', - 1314388 => 'St. Louis, MO', - 1314389 => 'St. Louis, MO', + 131438 => 'St. Louis, MO', 1314395 => 'St. Louis, MO', 1314416 => 'St. Louis, MO', 1314421 => 'St. Louis, MO', @@ -1861,12 +1642,7 @@ return array ( 1314845 => 'St. Louis, MO', 1314846 => 'St. Louis, MO', 1314849 => 'St. Louis, MO', - 1314862 => 'St. Louis, MO', - 1314863 => 'St. Louis, MO', - 1314865 => 'St. Louis, MO', - 1314867 => 'St. Louis, MO', - 1314868 => 'St. Louis, MO', - 1314869 => 'St. Louis, MO', + 131486 => 'St. Louis, MO', 1314872 => 'St. Louis, MO', 1314890 => 'St. Louis, MO', 1314892 => 'St. Louis, MO', @@ -1877,22 +1653,12 @@ return array ( 1314921 => 'Florissant, MO', 1314932 => 'St. Louis, MO', 1314935 => 'St. Louis, MO', - 1314961 => 'St. Louis, MO', - 1314962 => 'St. Louis, MO', - 1314963 => 'St. Louis, MO', - 1314965 => 'St. Louis, MO', - 1314966 => 'St. Louis, MO', - 1314968 => 'St. Louis, MO', + 131496 => 'St. Louis, MO', 1314972 => 'Florissant, MO', 1314977 => 'St. Louis, MO', 1314983 => 'St. Louis, MO', 1314989 => 'St. Louis, MO', - 1314991 => 'St. Louis, MO', - 1314993 => 'St. Louis, MO', - 1314994 => 'St. Louis, MO', - 1314995 => 'St. Louis, MO', - 1314996 => 'St. Louis, MO', - 1314997 => 'St. Louis, MO', + 131499 => 'St. Louis, MO', 1315 => 'New York', 1315214 => 'Syracuse, NY', 1315218 => 'Syracuse, NY', @@ -1930,12 +1696,7 @@ return array ( 1315386 => 'Canton, NY', 1315393 => 'Ogdensburg, NY', 1315394 => 'Ogdensburg, NY', - 1315422 => 'Syracuse, NY', - 1315423 => 'Syracuse, NY', - 1315424 => 'Syracuse, NY', - 1315425 => 'Syracuse, NY', - 1315426 => 'Syracuse, NY', - 1315428 => 'Syracuse, NY', + 131542 => 'Syracuse, NY', 1315429 => 'Dolgeville, NY', 1315435 => 'Syracuse, NY', 1315443 => 'Syracuse, NY', @@ -1951,15 +1712,7 @@ return array ( 1315466 => 'Syracuse, NY', 1315468 => 'Syracuse, NY', 1315469 => 'Syracuse, NY', - 1315470 => 'Syracuse, NY', - 1315471 => 'Syracuse, NY', - 1315472 => 'Syracuse, NY', - 1315473 => 'Syracuse, NY', - 1315474 => 'Syracuse, NY', - 1315475 => 'Syracuse, NY', - 1315476 => 'Syracuse, NY', - 1315478 => 'Syracuse, NY', - 1315479 => 'Syracuse, NY', + 131547 => 'Syracuse, NY', 1315482 => 'Alexandria Bay, NY', 1315483 => 'Sodus, NY', 1315488 => 'Syracuse, NY', @@ -2054,14 +1807,7 @@ return array ( 1315986 => 'Macedon, NY', 1316 => 'Kansas', 1316201 => 'Wichita, KS', - 1316260 => 'Wichita, KS', - 1316262 => 'Wichita, KS', - 1316263 => 'Wichita, KS', - 1316264 => 'Wichita, KS', - 1316265 => 'Wichita, KS', - 1316267 => 'Wichita, KS', - 1316268 => 'Wichita, KS', - 1316269 => 'Wichita, KS', + 131626 => 'Wichita, KS', 1316283 => 'Newton, KS', 1316284 => 'Newton, KS', 1316293 => 'Wichita, KS', @@ -2088,15 +1834,7 @@ return array ( 1316651 => 'Wichita, KS', 1316652 => 'Wichita, KS', 1316660 => 'Wichita, KS', - 1316681 => 'Wichita, KS', - 1316682 => 'Wichita, KS', - 1316683 => 'Wichita, KS', - 1316684 => 'Wichita, KS', - 1316685 => 'Wichita, KS', - 1316686 => 'Wichita, KS', - 1316687 => 'Wichita, KS', - 1316688 => 'Wichita, KS', - 1316689 => 'Wichita, KS', + 131668 => 'Wichita, KS', 1316691 => 'Wichita, KS', 1316721 => 'Wichita, KS', 1316722 => 'Wichita, KS', @@ -2117,12 +1855,7 @@ return array ( 1316835 => 'Halstead, KS', 1316838 => 'Wichita, KS', 1316858 => 'Wichita, KS', - 1316941 => 'Wichita, KS', - 1316942 => 'Wichita, KS', - 1316943 => 'Wichita, KS', - 1316944 => 'Wichita, KS', - 1316945 => 'Wichita, KS', - 1316946 => 'Wichita, KS', + 131694 => 'Wichita, KS', 1316962 => 'Wichita, KS', 1316973 => 'Wichita, KS', 1317 => 'Indiana', @@ -2142,25 +1875,14 @@ return array ( 1317244 => 'Indianapolis, IN', 1317247 => 'Indianapolis, IN', 1317248 => 'Indianapolis, IN', - 1317251 => 'Indianapolis, IN', - 1317253 => 'Indianapolis, IN', - 1317254 => 'Indianapolis, IN', - 1317255 => 'Indianapolis, IN', - 1317257 => 'Indianapolis, IN', - 1317259 => 'Indianapolis, IN', + 131725 => 'Indianapolis, IN', 1317271 => 'Indianapolis, IN', 1317272 => 'Avon, IN', 1317274 => 'Indianapolis, IN', 1317278 => 'Indianapolis, IN', 1317280 => 'Indianapolis, IN', 1317283 => 'Indianapolis, IN', - 1317290 => 'Indianapolis, IN', - 1317291 => 'Indianapolis, IN', - 1317293 => 'Indianapolis, IN', - 1317295 => 'Indianapolis, IN', - 1317297 => 'Indianapolis, IN', - 1317298 => 'Indianapolis, IN', - 1317299 => 'Indianapolis, IN', + 131729 => 'Indianapolis, IN', 1317300 => 'Greenwood, IN', 1317322 => 'Indianapolis, IN', 1317326 => 'Greenfield, IN', @@ -2173,13 +1895,7 @@ return array ( 1317338 => 'Indianapolis, IN', 1317346 => 'Franklin, IN', 1317347 => 'Indianapolis, IN', - 1317351 => 'Indianapolis, IN', - 1317352 => 'Indianapolis, IN', - 1317353 => 'Indianapolis, IN', - 1317355 => 'Indianapolis, IN', - 1317356 => 'Indianapolis, IN', - 1317357 => 'Indianapolis, IN', - 1317359 => 'Indianapolis, IN', + 131735 => 'Indianapolis, IN', 1317375 => 'Indianapolis, IN', 1317377 => 'Indianapolis, IN', 1317388 => 'Indianapolis, IN', @@ -2204,13 +1920,7 @@ return array ( 1317535 => 'Whiteland, IN', 1317536 => 'Indianapolis, IN', 1317539 => 'Clayton, IN', - 1317541 => 'Indianapolis, IN', - 1317542 => 'Indianapolis, IN', - 1317543 => 'Indianapolis, IN', - 1317545 => 'Indianapolis, IN', - 1317546 => 'Indianapolis, IN', - 1317547 => 'Indianapolis, IN', - 1317549 => 'Indianapolis, IN', + 131754 => 'Indianapolis, IN', 1317554 => 'Indianapolis, IN', 1317558 => 'Indianapolis, IN', 1317564 => 'Carmel, IN', @@ -2224,16 +1934,7 @@ return array ( 1317596 => 'Indianapolis, IN', 1317602 => 'Indianapolis, IN', 1317621 => 'Indianapolis, IN', - 1317630 => 'Indianapolis, IN', - 1317631 => 'Indianapolis, IN', - 1317632 => 'Indianapolis, IN', - 1317633 => 'Indianapolis, IN', - 1317634 => 'Indianapolis, IN', - 1317635 => 'Indianapolis, IN', - 1317636 => 'Indianapolis, IN', - 1317637 => 'Indianapolis, IN', - 1317638 => 'Indianapolis, IN', - 1317639 => 'Indianapolis, IN', + 131763 => 'Indianapolis, IN', 1317684 => 'Indianapolis, IN', 1317686 => 'Indianapolis, IN', 1317713 => 'Indianapolis, IN', @@ -2250,14 +1951,7 @@ return array ( 1317773 => 'Noblesville, IN', 1317774 => 'Noblesville, IN', 1317776 => 'Noblesville, IN', - 1317780 => 'Indianapolis, IN', - 1317781 => 'Indianapolis, IN', - 1317782 => 'Indianapolis, IN', - 1317783 => 'Indianapolis, IN', - 1317784 => 'Indianapolis, IN', - 1317786 => 'Indianapolis, IN', - 1317787 => 'Indianapolis, IN', - 1317788 => 'Indianapolis, IN', + 131778 => 'Indianapolis, IN', 1317791 => 'Indianapolis, IN', 1317802 => 'Indianapolis, IN', 1317804 => 'Westfield, IN', @@ -2308,12 +2002,7 @@ return array ( 1317899 => 'Indianapolis, IN', 1317916 => 'Indianapolis, IN', 1317917 => 'Indianapolis, IN', - 1317920 => 'Indianapolis, IN', - 1317921 => 'Indianapolis, IN', - 1317923 => 'Indianapolis, IN', - 1317924 => 'Indianapolis, IN', - 1317925 => 'Indianapolis, IN', - 1317926 => 'Indianapolis, IN', + 131792 => 'Indianapolis, IN', 1317931 => 'Indianapolis, IN', 1317944 => 'Indianapolis, IN', 1317955 => 'Indianapolis, IN', @@ -2499,14 +2188,8 @@ return array ( 1319354 => 'Iowa City, IA', 1319356 => 'Iowa City, IA', 1319358 => 'Iowa City, IA', - 1319362 => 'Cedar Rapids, IA', - 1319363 => 'Cedar Rapids, IA', - 1319364 => 'Cedar Rapids, IA', - 1319365 => 'Cedar Rapids, IA', - 1319366 => 'Cedar Rapids, IA', + 131936 => 'Cedar Rapids, IA', 1319367 => 'New London, IA', - 1319368 => 'Cedar Rapids, IA', - 1319369 => 'Cedar Rapids, IA', 1319372 => 'Fort Madison, IA', 1319373 => 'Marion, IA', 1319377 => 'Marion, IA', @@ -2577,13 +2260,8 @@ return array ( 1320240 => 'Saint Cloud, MN', 1320243 => 'Paynesville, MN', 1320245 => 'Sandstone, MN', - 1320251 => 'Saint Cloud, MN', - 1320252 => 'Saint Cloud, MN', - 1320253 => 'Saint Cloud, MN', - 1320255 => 'Saint Cloud, MN', + 132025 => 'Saint Cloud, MN', 1320256 => 'Melrose, MN', - 1320258 => 'Saint Cloud, MN', - 1320259 => 'Saint Cloud, MN', 1320269 => 'Montevideo, MN', 1320274 => 'Annandale, MN', 1320275 => 'Dassel, MN', @@ -2685,47 +2363,14 @@ return array ( 1321939 => 'Kissimmee, FL', 1321953 => 'Melbourne, FL', 1323 => 'California', - 1323221 => 'Los Angeles, CA', - 1323222 => 'Los Angeles, CA', - 1323223 => 'Los Angeles, CA', - 1323224 => 'Los Angeles, CA', - 1323225 => 'Los Angeles, CA', - 1323226 => 'Los Angeles, CA', - 1323227 => 'Los Angeles, CA', - 1323231 => 'Los Angeles, CA', - 1323232 => 'Los Angeles, CA', - 1323233 => 'Los Angeles, CA', - 1323234 => 'Los Angeles, CA', - 1323235 => 'Los Angeles, CA', - 1323238 => 'Los Angeles, CA', + 132322 => 'Los Angeles, CA', + 132323 => 'Los Angeles, CA', 1323242 => 'Los Angeles, CA', 1323249 => 'South Gate, CA', - 1323254 => 'Los Angeles, CA', - 1323255 => 'Los Angeles, CA', - 1323256 => 'Los Angeles, CA', - 1323257 => 'Los Angeles, CA', - 1323258 => 'Los Angeles, CA', - 1323259 => 'Los Angeles, CA', - 1323260 => 'Los Angeles, CA', - 1323261 => 'Los Angeles, CA', - 1323262 => 'Los Angeles, CA', - 1323263 => 'Los Angeles, CA', - 1323264 => 'Los Angeles, CA', - 1323265 => 'Los Angeles, CA', - 1323266 => 'Los Angeles, CA', - 1323267 => 'Los Angeles, CA', - 1323268 => 'Los Angeles, CA', - 1323269 => 'Los Angeles, CA', + 132325 => 'Los Angeles, CA', + 132326 => 'Los Angeles, CA', 1323272 => 'Los Angeles, CA', - 1323290 => 'Los Angeles, CA', - 1323291 => 'Los Angeles, CA', - 1323292 => 'Los Angeles, CA', - 1323293 => 'Los Angeles, CA', - 1323294 => 'Los Angeles, CA', - 1323295 => 'Los Angeles, CA', - 1323296 => 'Los Angeles, CA', - 1323298 => 'Los Angeles, CA', - 1323299 => 'Los Angeles, CA', + 132329 => 'Los Angeles, CA', 1323343 => 'Los Angeles, CA', 1323344 => 'Los Angeles, CA', 1323357 => 'South Gate, CA', @@ -2735,15 +2380,7 @@ return array ( 1323418 => 'Los Angeles, CA', 1323441 => 'Los Angeles, CA', 1323442 => 'Los Angeles, CA', - 1323460 => 'Los Angeles, CA', - 1323461 => 'Los Angeles, CA', - 1323462 => 'Los Angeles, CA', - 1323463 => 'Los Angeles, CA', - 1323464 => 'Los Angeles, CA', - 1323465 => 'Los Angeles, CA', - 1323466 => 'Los Angeles, CA', - 1323467 => 'Los Angeles, CA', - 1323469 => 'Los Angeles, CA', + 132346 => 'Los Angeles, CA', 1323478 => 'Los Angeles, CA', 1323512 => 'Los Angeles, CA', 1323525 => 'Los Angeles, CA', @@ -2764,36 +2401,12 @@ return array ( 1323655 => 'Los Angeles, CA', 1323656 => 'West Hollywood, CA', 1323658 => 'Los Angeles, CA', - 1323660 => 'Los Angeles, CA', - 1323661 => 'Los Angeles, CA', - 1323662 => 'Los Angeles, CA', - 1323663 => 'Los Angeles, CA', - 1323664 => 'Los Angeles, CA', - 1323665 => 'Los Angeles, CA', - 1323666 => 'Los Angeles, CA', - 1323667 => 'Los Angeles, CA', - 1323668 => 'Los Angeles, CA', - 1323669 => 'Los Angeles, CA', + 132366 => 'Los Angeles, CA', 1323692 => 'Los Angeles, CA', 1323724 => 'Montebello, CA', 1323728 => 'Montebello, CA', - 1323730 => 'Los Angeles, CA', - 1323731 => 'Los Angeles, CA', - 1323732 => 'Los Angeles, CA', - 1323733 => 'Los Angeles, CA', - 1323734 => 'Los Angeles, CA', - 1323735 => 'Los Angeles, CA', - 1323737 => 'Los Angeles, CA', - 1323750 => 'Los Angeles, CA', - 1323751 => 'Los Angeles, CA', - 1323752 => 'Los Angeles, CA', - 1323753 => 'Los Angeles, CA', - 1323754 => 'Los Angeles, CA', - 1323755 => 'Los Angeles, CA', - 1323756 => 'Los Angeles, CA', - 1323757 => 'Los Angeles, CA', - 1323758 => 'Los Angeles, CA', - 1323759 => 'Los Angeles, CA', + 132373 => 'Los Angeles, CA', + 132375 => 'Los Angeles, CA', 1323766 => 'Los Angeles, CA', 1323777 => 'Los Angeles, CA', 1323778 => 'Los Angeles, CA', @@ -2814,16 +2427,7 @@ return array ( 1323881 => 'Los Angeles, CA', 1323906 => 'Los Angeles, CA', 1323913 => 'Los Angeles, CA', - 1323930 => 'Los Angeles, CA', - 1323931 => 'Los Angeles, CA', - 1323932 => 'Los Angeles, CA', - 1323933 => 'Los Angeles, CA', - 1323934 => 'Los Angeles, CA', - 1323935 => 'Los Angeles, CA', - 1323936 => 'Los Angeles, CA', - 1323937 => 'Los Angeles, CA', - 1323938 => 'Los Angeles, CA', - 1323939 => 'Los Angeles, CA', + 132393 => 'Los Angeles, CA', 1323944 => 'Los Angeles, CA', 1323951 => 'Los Angeles, CA', 1323953 => 'Los Angeles, CA', @@ -2868,18 +2472,8 @@ return array ( 1325643 => 'Brownwood, TX', 1325646 => 'Brownwood, TX', 1325648 => 'Goldthwaite, TX', - 1325651 => 'San Angelo, TX', - 1325653 => 'San Angelo, TX', - 1325655 => 'San Angelo, TX', - 1325657 => 'San Angelo, TX', - 1325658 => 'San Angelo, TX', - 1325659 => 'San Angelo, TX', - 1325670 => 'Abilene, TX', - 1325672 => 'Abilene, TX', - 1325673 => 'Abilene, TX', - 1325675 => 'Abilene, TX', - 1325676 => 'Abilene, TX', - 1325677 => 'Abilene, TX', + 132565 => 'San Angelo, TX', + 132567 => 'Abilene, TX', 1325690 => 'Abilene, TX', 1325691 => 'Abilene, TX', 1325692 => 'Abilene, TX', @@ -2962,12 +2556,7 @@ return array ( 1330435 => 'Creston, OH', 1330438 => 'Canton, OH', 1330448 => 'Brookfield, OH', - 1330451 => 'Canton, OH', - 1330452 => 'Canton, OH', - 1330453 => 'Canton, OH', - 1330454 => 'Canton, OH', - 1330455 => 'Canton, OH', - 1330456 => 'Canton, OH', + 133045 => 'Canton, OH', 1330467 => 'Northfield, OH', 1330477 => 'Canton, OH', 1330478 => 'Canton, OH', @@ -3043,13 +2632,8 @@ return array ( 1330726 => 'Youngstown, OH', 1330729 => 'Youngstown, OH', 1330733 => 'Akron, OH', - 1330740 => 'Youngstown, OH', - 1330742 => 'Youngstown, OH', - 1330743 => 'Youngstown, OH', - 1330744 => 'Youngstown, OH', + 133074 => 'Youngstown, OH', 1330745 => 'Barberton, OH', - 1330746 => 'Youngstown, OH', - 1330747 => 'Youngstown, OH', 1330752 => 'Akron, OH', 1330755 => 'Struthers, OH', 1330757 => 'Youngstown, OH', @@ -3104,13 +2688,8 @@ return array ( 1330889 => 'Bristolville, OH', 1330897 => 'Baltic, OH', 1330898 => 'Warren, OH', - 1330920 => 'Cuyahoga Falls, OH', - 1330922 => 'Cuyahoga Falls, OH', - 1330923 => 'Cuyahoga Falls, OH', + 133092 => 'Cuyahoga Falls, OH', 1330925 => 'Rittman, OH', - 1330926 => 'Cuyahoga Falls, OH', - 1330928 => 'Cuyahoga Falls, OH', - 1330929 => 'Cuyahoga Falls, OH', 1330938 => 'Sebring, OH', 1330945 => 'Cuyahoga Falls, OH', 1330948 => 'Lodi, OH', @@ -3133,18 +2712,8 @@ return array ( 1334241 => 'Montgomery, AL', 1334242 => 'Montgomery, AL', 1334244 => 'Montgomery, AL', - 1334260 => 'Montgomery, AL', - 1334262 => 'Montgomery, AL', - 1334263 => 'Montgomery, AL', - 1334264 => 'Montgomery, AL', - 1334265 => 'Montgomery, AL', - 1334269 => 'Montgomery, AL', - 1334270 => 'Montgomery, AL', - 1334271 => 'Montgomery, AL', - 1334272 => 'Montgomery, AL', - 1334273 => 'Montgomery, AL', - 1334277 => 'Montgomery, AL', - 1334279 => 'Montgomery, AL', + 133426 => 'Montgomery, AL', + 133427 => 'Montgomery, AL', 1334280 => 'Montgomery, AL', 1334281 => 'Montgomery, AL', 1334283 => 'Tallassee, AL', @@ -3372,26 +2941,15 @@ return array ( 1336716 => 'Winston-Salem, NC', 1336718 => 'Winston-Salem, NC', 1336719 => 'Mount Airy, NC', - 1336721 => 'Winston-Salem, NC', - 1336722 => 'Winston-Salem, NC', - 1336723 => 'Winston-Salem, NC', - 1336724 => 'Winston-Salem, NC', - 1336725 => 'Winston-Salem, NC', - 1336727 => 'Winston-Salem, NC', + 133672 => 'Winston-Salem, NC', 1336731 => 'Lexington, NC', 1336744 => 'Winston-Salem, NC', 1336748 => 'Winston-Salem, NC', 1336751 => 'Mocksville, NC', 1336753 => 'Mocksville, NC', 1336759 => 'Winston-Salem, NC', - 1336760 => 'Winston-Salem, NC', - 1336761 => 'Winston-Salem, NC', - 1336764 => 'Winston-Salem, NC', - 1336765 => 'Winston-Salem, NC', + 133676 => 'Winston-Salem, NC', 1336766 => 'Clemmons, NC', - 1336767 => 'Winston-Salem, NC', - 1336768 => 'Winston-Salem, NC', - 1336769 => 'Winston-Salem, NC', 1336771 => 'Winston-Salem, NC', 1336774 => 'Winston-Salem, NC', 1336777 => 'Winston-Salem, NC', @@ -3424,13 +2982,7 @@ return array ( 1336869 => 'High Point, NC', 1336873 => 'Seagrove, NC', 1336878 => 'High Point, NC', - 1336882 => 'High Point, NC', - 1336883 => 'High Point, NC', - 1336884 => 'High Point, NC', - 1336885 => 'High Point, NC', - 1336886 => 'High Point, NC', - 1336887 => 'High Point, NC', - 1336889 => 'High Point, NC', + 133688 => 'High Point, NC', 1336896 => 'Winston-Salem, NC', 1336903 => 'North Wilkesboro, NC', 1336922 => 'Winston-Salem, NC', @@ -3451,20 +3003,10 @@ return array ( 1337216 => 'Lafayette, LA', 1337217 => 'Lake Charles, LA', 1337229 => 'Loreauville, LA', - 1337232 => 'Lafayette, LA', - 1337233 => 'Lafayette, LA', - 1337234 => 'Lafayette, LA', - 1337235 => 'Lafayette, LA', - 1337236 => 'Lafayette, LA', - 1337237 => 'Lafayette, LA', + 133723 => 'Lafayette, LA', 1337238 => 'Leesville, LA', 1337239 => 'Leesville, LA', - 1337261 => 'Lafayette, LA', - 1337262 => 'Lafayette, LA', - 1337264 => 'Lafayette, LA', - 1337266 => 'Lafayette, LA', - 1337267 => 'Lafayette, LA', - 1337269 => 'Lafayette, LA', + 133726 => 'Lafayette, LA', 1337276 => 'Jeanerette, LA', 1337289 => 'Lafayette, LA', 1337291 => 'Lafayette, LA', @@ -3618,15 +3160,8 @@ return array ( 1352323 => 'Leesburg, FL', 1352324 => 'Howey In Hills, FL', 1352326 => 'Leesburg, FL', + 135233 => 'Gainesville, FL', 1352330 => 'Wildwood, FL', - 1352331 => 'Gainesville, FL', - 1352332 => 'Gainesville, FL', - 1352333 => 'Gainesville, FL', - 1352334 => 'Gainesville, FL', - 1352335 => 'Gainesville, FL', - 1352336 => 'Gainesville, FL', - 1352337 => 'Gainesville, FL', - 1352338 => 'Gainesville, FL', 1352341 => 'Inverness, FL', 1352343 => 'Tavares, FL', 1352344 => 'Inverness, FL', @@ -3637,15 +3172,7 @@ return array ( 1352367 => 'Gainesville, FL', 1352368 => 'Ocala, FL', 1352369 => 'Ocala, FL', - 1352371 => 'Gainesville, FL', - 1352372 => 'Gainesville, FL', - 1352373 => 'Gainesville, FL', - 1352374 => 'Gainesville, FL', - 1352375 => 'Gainesville, FL', - 1352376 => 'Gainesville, FL', - 1352377 => 'Gainesville, FL', - 1352378 => 'Gainesville, FL', - 1352379 => 'Gainesville, FL', + 135237 => 'Gainesville, FL', 1352382 => 'Homosassa, FL', 1352383 => 'Mount Dora, FL', 1352385 => 'Mount Dora, FL', @@ -4042,14 +3569,7 @@ return array ( 1361552 => 'Port Lavaca, TX', 1361561 => 'Corpus Christi, TX', 1361564 => 'Yorktown, TX', - 1361570 => 'Victoria, TX', - 1361572 => 'Victoria, TX', - 1361573 => 'Victoria, TX', - 1361574 => 'Victoria, TX', - 1361575 => 'Victoria, TX', - 1361576 => 'Victoria, TX', - 1361578 => 'Victoria, TX', - 1361579 => 'Victoria, TX', + 136157 => 'Victoria, TX', 1361582 => 'Victoria, TX', 1361592 => 'Kingsville, TX', 1361594 => 'Shiner, TX', @@ -4074,21 +3594,9 @@ return array ( 1361798 => 'Hallettsville, TX', 1361806 => 'Corpus Christi, TX', 1361814 => 'Corpus Christi, TX', - 1361851 => 'Corpus Christi, TX', - 1361852 => 'Corpus Christi, TX', - 1361853 => 'Corpus Christi, TX', - 1361854 => 'Corpus Christi, TX', - 1361855 => 'Corpus Christi, TX', - 1361857 => 'Corpus Christi, TX', + 136185 => 'Corpus Christi, TX', 1361865 => 'Flatonia, TX', - 1361880 => 'Corpus Christi, TX', - 1361881 => 'Corpus Christi, TX', - 1361882 => 'Corpus Christi, TX', - 1361883 => 'Corpus Christi, TX', - 1361884 => 'Corpus Christi, TX', - 1361885 => 'Corpus Christi, TX', - 1361887 => 'Corpus Christi, TX', - 1361888 => 'Corpus Christi, TX', + 136188 => 'Corpus Christi, TX', 1361902 => 'Corpus Christi, TX', 1361906 => 'Corpus Christi, TX', 1361937 => 'Corpus Christi, TX', @@ -4115,12 +3623,7 @@ return array ( 1386239 => 'Daytona Beach, FL', 1386246 => 'Palm Coast, FL', 1386248 => 'Daytona Beach, FL', - 1386252 => 'Daytona Beach, FL', - 1386253 => 'Daytona Beach, FL', - 1386254 => 'Daytona Beach, FL', - 1386255 => 'Daytona Beach, FL', - 1386257 => 'Daytona Beach, FL', - 1386258 => 'Daytona Beach, FL', + 138625 => 'Daytona Beach, FL', 1386274 => 'Daytona Beach, FL', 1386294 => 'Mayo, FL', 1386313 => 'Bunnell, FL', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/14.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/14.php index 851b74822..9a17627ca 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/14.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/14.php @@ -67,13 +67,7 @@ return array ( 1401658 => 'Cumberland, RI', 1401667 => 'North Kingstown, RI', 1401683 => 'Portsmouth, RI', - 1401722 => 'Pawtucket, RI', - 1401723 => 'Pawtucket, RI', - 1401724 => 'Pawtucket, RI', - 1401725 => 'Pawtucket, RI', - 1401726 => 'Pawtucket, RI', - 1401728 => 'Pawtucket, RI', - 1401729 => 'Pawtucket, RI', + 140172 => 'Pawtucket, RI', 1401732 => 'Warwick, RI', 1401736 => 'Warwick, RI', 1401737 => 'Warwick, RI', @@ -86,12 +80,7 @@ return array ( 1401767 => 'Woonsocket, RI', 1401769 => 'Woonsocket, RI', 1401831 => 'Providence, RI', - 1401841 => 'Newport, RI', - 1401845 => 'Newport, RI', - 1401846 => 'Newport, RI', - 1401847 => 'Newport, RI', - 1401848 => 'Newport, RI', - 1401849 => 'Newport, RI', + 140184 => 'Newport, RI', 1401861 => 'Providence, RI', 1401863 => 'Providence, RI', 1401884 => 'East Greenwich, RI', @@ -139,12 +128,7 @@ return array ( 1402336 => 'O\'Neill, NE', 1402337 => 'Randolph, NE', 1402339 => 'Omaha, NE', - 1402341 => 'Omaha, NE', - 1402342 => 'Omaha, NE', - 1402343 => 'Omaha, NE', - 1402344 => 'Omaha, NE', - 1402345 => 'Omaha, NE', - 1402346 => 'Omaha, NE', + 140234 => 'Omaha, NE', 1402352 => 'Schuyler, NE', 1402354 => 'Omaha, NE', 1402358 => 'Creighton, NE', @@ -161,28 +145,16 @@ return array ( 1402379 => 'Norfolk, NE', 1402385 => 'Pender, NE', 1402387 => 'Ainsworth, NE', - 1402390 => 'Omaha, NE', - 1402391 => 'Omaha, NE', - 1402392 => 'Omaha, NE', - 1402393 => 'Omaha, NE', + 140239 => 'Omaha, NE', 1402395 => 'Albion, NE', - 1402397 => 'Omaha, NE', - 1402398 => 'Omaha, NE', - 1402399 => 'Omaha, NE', 1402403 => 'Omaha, NE', 1402408 => 'Omaha, NE', 1402420 => 'Lincoln, NE', 1402421 => 'Lincoln, NE', 1402423 => 'Lincoln, NE', 1402426 => 'Blair, NE', - 1402430 => 'Lincoln, NE', + 140243 => 'Lincoln, NE', 1402431 => 'Omaha, NE', - 1402432 => 'Lincoln, NE', - 1402434 => 'Lincoln, NE', - 1402435 => 'Lincoln, NE', - 1402436 => 'Lincoln, NE', - 1402437 => 'Lincoln, NE', - 1402438 => 'Lincoln, NE', 1402439 => 'Stanton, NE', 1402441 => 'Lincoln, NE', 1402443 => 'Wahoo, NE', @@ -201,18 +173,8 @@ return array ( 1402465 => 'Lincoln, NE', 1402466 => 'Lincoln, NE', 1402467 => 'Lincoln, NE', - 1402471 => 'Lincoln, NE', - 1402472 => 'Lincoln, NE', - 1402474 => 'Lincoln, NE', - 1402475 => 'Lincoln, NE', - 1402476 => 'Lincoln, NE', - 1402477 => 'Lincoln, NE', - 1402481 => 'Lincoln, NE', - 1402483 => 'Lincoln, NE', - 1402484 => 'Lincoln, NE', - 1402486 => 'Lincoln, NE', - 1402488 => 'Lincoln, NE', - 1402489 => 'Lincoln, NE', + 140247 => 'Lincoln, NE', + 140248 => 'Lincoln, NE', 1402492 => 'Omaha, NE', 1402493 => 'Omaha, NE', 1402494 => 'South Sioux City, NE', @@ -224,14 +186,7 @@ return array ( 1402505 => 'Omaha, NE', 1402529 => 'Wisner, NE', 1402533 => 'Blair, NE', - 1402551 => 'Omaha, NE', - 1402552 => 'Omaha, NE', - 1402553 => 'Omaha, NE', - 1402554 => 'Omaha, NE', - 1402556 => 'Omaha, NE', - 1402557 => 'Omaha, NE', - 1402558 => 'Omaha, NE', - 1402559 => 'Omaha, NE', + 140255 => 'Omaha, NE', 1402560 => 'Lincoln, NE', 1402562 => 'Columbus, NE', 1402563 => 'Columbus, NE', @@ -308,95 +263,9 @@ return array ( 1402965 => 'Omaha, NE', 1402991 => 'Omaha, NE', 1403 => 'Alberta', - 1403201 => 'Calgary, AB', - 1403202 => 'Calgary, AB', - 1403203 => 'Calgary, AB', - 1403204 => 'Calgary, AB', - 1403207 => 'Calgary, AB', - 1403208 => 'Calgary, AB', - 1403209 => 'Calgary, AB', - 1403210 => 'Calgary, AB', - 1403212 => 'Calgary, AB', - 1403214 => 'Calgary, AB', - 1403215 => 'Calgary, AB', - 1403216 => 'Calgary, AB', - 1403217 => 'Calgary, AB', - 1403219 => 'Calgary, AB', - 1403220 => 'Calgary, AB', - 1403221 => 'Calgary, AB', + 14032 => 'Calgary, AB', 1403223 => 'Taber, AB', - 1403225 => 'Calgary, AB', - 1403226 => 'Calgary, AB', 1403227 => 'Innisfail, AB', - 1403228 => 'Calgary, AB', - 1403229 => 'Calgary, AB', - 1403230 => 'Calgary, AB', - 1403232 => 'Calgary, AB', - 1403233 => 'Calgary, AB', - 1403234 => 'Calgary, AB', - 1403235 => 'Calgary, AB', - 1403236 => 'Calgary, AB', - 1403237 => 'Calgary, AB', - 1403238 => 'Calgary, AB', - 1403239 => 'Calgary, AB', - 1403240 => 'Calgary, AB', - 1403241 => 'Calgary, AB', - 1403242 => 'Calgary, AB', - 1403243 => 'Calgary, AB', - 1403244 => 'Calgary, AB', - 1403245 => 'Calgary, AB', - 1403246 => 'Calgary, AB', - 1403247 => 'Calgary, AB', - 1403248 => 'Calgary, AB', - 1403249 => 'Calgary, AB', - 1403250 => 'Calgary, AB', - 1403251 => 'Calgary, AB', - 1403252 => 'Calgary, AB', - 1403253 => 'Calgary, AB', - 1403254 => 'Calgary, AB', - 1403255 => 'Calgary, AB', - 1403256 => 'Calgary, AB', - 1403257 => 'Calgary, AB', - 1403258 => 'Calgary, AB', - 1403259 => 'Calgary, AB', - 1403260 => 'Calgary, AB', - 1403261 => 'Calgary, AB', - 1403262 => 'Calgary, AB', - 1403263 => 'Calgary, AB', - 1403264 => 'Calgary, AB', - 1403265 => 'Calgary, AB', - 1403266 => 'Calgary, AB', - 1403269 => 'Calgary, AB', - 1403270 => 'Calgary, AB', - 1403271 => 'Calgary, AB', - 1403272 => 'Calgary, AB', - 1403273 => 'Calgary, AB', - 1403274 => 'Calgary, AB', - 1403275 => 'Calgary, AB', - 1403276 => 'Calgary, AB', - 1403277 => 'Calgary, AB', - 1403278 => 'Calgary, AB', - 1403279 => 'Calgary, AB', - 1403280 => 'Calgary, AB', - 1403281 => 'Calgary, AB', - 1403282 => 'Calgary, AB', - 1403283 => 'Calgary, AB', - 1403284 => 'Calgary, AB', - 1403285 => 'Calgary, AB', - 1403286 => 'Calgary, AB', - 1403287 => 'Calgary, AB', - 1403288 => 'Calgary, AB', - 1403289 => 'Calgary, AB', - 1403290 => 'Calgary, AB', - 1403291 => 'Calgary, AB', - 1403292 => 'Calgary, AB', - 1403293 => 'Calgary, AB', - 1403294 => 'Calgary, AB', - 1403295 => 'Calgary, AB', - 1403296 => 'Calgary, AB', - 1403297 => 'Calgary, AB', - 1403298 => 'Calgary, AB', - 1403299 => 'Calgary, AB', 1403309 => 'Red Deer, AB', 1403313 => 'Calgary, AB', 1403314 => 'Red Deer, AB', @@ -408,14 +277,8 @@ return array ( 1403331 => 'Lethbridge, AB', 1403335 => 'Didsbury, AB', 1403337 => 'Carstairs, AB', - 1403340 => 'Red Deer, AB', - 1403341 => 'Red Deer, AB', - 1403342 => 'Red Deer, AB', - 1403343 => 'Red Deer, AB', + 140334 => 'Red Deer, AB', 1403345 => 'Coaldale, AB', - 1403346 => 'Red Deer, AB', - 1403347 => 'Red Deer, AB', - 1403348 => 'Red Deer, AB', 1403350 => 'Red Deer, AB', 1403352 => 'Red Deer, AB', 1403358 => 'Red Deer, AB', @@ -555,12 +418,7 @@ return array ( 1404244 => 'Decatur, GA', 1404248 => 'Atlanta, GA', 1404249 => 'Atlanta, GA', - 1404250 => 'Atlanta, GA', - 1404252 => 'Atlanta, GA', - 1404254 => 'Atlanta, GA', - 1404255 => 'Atlanta, GA', - 1404256 => 'Atlanta, GA', - 1404257 => 'Atlanta, GA', + 140425 => 'Atlanta, GA', 1404261 => 'Atlanta, GA', 1404262 => 'Atlanta, GA', 1404264 => 'Atlanta, GA', @@ -606,12 +464,7 @@ return array ( 1404501 => 'Decatur, GA', 1404504 => 'Atlanta, GA', 1404505 => 'Atlanta, GA', - 1404521 => 'Atlanta, GA', - 1404522 => 'Atlanta, GA', - 1404523 => 'Atlanta, GA', - 1404524 => 'Atlanta, GA', - 1404525 => 'Atlanta, GA', - 1404527 => 'Atlanta, GA', + 140452 => 'Atlanta, GA', 1404530 => 'Atlanta, GA', 1404531 => 'Atlanta, GA', 1404534 => 'Decatur, GA', @@ -669,13 +522,7 @@ return array ( 1404755 => 'Atlanta, GA', 1404756 => 'Atlanta, GA', 1404758 => 'Atlanta, GA', - 1404760 => 'Atlanta, GA', - 1404761 => 'Atlanta, GA', - 1404762 => 'Atlanta, GA', - 1404763 => 'Atlanta, GA', - 1404766 => 'Atlanta, GA', - 1404767 => 'Atlanta, GA', - 1404768 => 'Atlanta, GA', + 140476 => 'Atlanta, GA', 1404778 => 'Atlanta, GA', 1404785 => 'Atlanta, GA', 1404792 => 'Atlanta, GA', @@ -687,22 +534,11 @@ return array ( 1404816 => 'Atlanta, GA', 1404817 => 'Atlanta, GA', 1404835 => 'Atlanta, GA', - 1404841 => 'Atlanta, GA', - 1404842 => 'Atlanta, GA', - 1404843 => 'Atlanta, GA', - 1404845 => 'Atlanta, GA', - 1404846 => 'Atlanta, GA', - 1404847 => 'Atlanta, GA', - 1404848 => 'Atlanta, GA', + 140484 => 'Atlanta, GA', 1404851 => 'Atlanta, GA', 1404853 => 'Atlanta, GA', 1404869 => 'Atlanta, GA', - 1404870 => 'Atlanta, GA', - 1404872 => 'Atlanta, GA', - 1404873 => 'Atlanta, GA', - 1404874 => 'Atlanta, GA', - 1404875 => 'Atlanta, GA', - 1404876 => 'Atlanta, GA', + 140487 => 'Atlanta, GA', 1404880 => 'Atlanta, GA', 1404881 => 'Atlanta, GA', 1404885 => 'Atlanta, GA', @@ -727,13 +563,8 @@ return array ( 1405222 => 'Chickasha, OK', 1405224 => 'Chickasha, OK', 1405228 => 'Oklahoma City, OK', - 1405230 => 'Oklahoma City, OK', - 1405231 => 'Oklahoma City, OK', - 1405232 => 'Oklahoma City, OK', - 1405235 => 'Oklahoma City, OK', - 1405236 => 'Oklahoma City, OK', + 140523 => 'Oklahoma City, OK', 1405238 => 'Pauls Valley, OK', - 1405239 => 'Oklahoma City, OK', 1405242 => 'Oklahoma City, OK', 1405247 => 'Anadarko, OK', 1405254 => 'Oklahoma City, OK', @@ -819,16 +650,7 @@ return array ( 1405577 => 'Yukon, OK', 1405579 => 'Norman, OK', 1405598 => 'Tecumseh, OK', - 1405600 => 'Oklahoma City, OK', - 1405601 => 'Oklahoma City, OK', - 1405602 => 'Oklahoma City, OK', - 1405603 => 'Oklahoma City, OK', - 1405604 => 'Oklahoma City, OK', - 1405605 => 'Oklahoma City, OK', - 1405606 => 'Oklahoma City, OK', - 1405607 => 'Oklahoma City, OK', - 1405608 => 'Oklahoma City, OK', - 1405609 => 'Oklahoma City, OK', + 140560 => 'Oklahoma City, OK', 1405616 => 'Oklahoma City, OK', 1405619 => 'Oklahoma City, OK', 1405624 => 'Stillwater, OK', @@ -891,13 +713,7 @@ return array ( 1405917 => 'Oklahoma City, OK', 1405928 => 'Norman, OK', 1405936 => 'Oklahoma City, OK', - 1405942 => 'Oklahoma City, OK', - 1405943 => 'Oklahoma City, OK', - 1405945 => 'Oklahoma City, OK', - 1405946 => 'Oklahoma City, OK', - 1405947 => 'Oklahoma City, OK', - 1405948 => 'Oklahoma City, OK', - 1405949 => 'Oklahoma City, OK', + 140594 => 'Oklahoma City, OK', 1405951 => 'Oklahoma City, OK', 1405964 => 'McLoud, OK', 1405969 => 'Crescent, OK', @@ -998,12 +814,7 @@ return array ( 1406563 => 'Anaconda, MT', 1406570 => 'Bozeman, MT', 1406579 => 'Bozeman, MT', - 1406580 => 'Bozeman, MT', - 1406581 => 'Bozeman, MT', - 1406582 => 'Bozeman, MT', - 1406585 => 'Bozeman, MT', - 1406586 => 'Bozeman, MT', - 1406587 => 'Bozeman, MT', + 140658 => 'Bozeman, MT', 1406599 => 'Bozeman, MT', 1406600 => 'Bozeman, MT', 1406622 => 'Fort Benton, MT', @@ -1094,13 +905,7 @@ return array ( 1407237 => 'Orlando, FL', 1407238 => 'Orlando, FL', 1407239 => 'Orlando, FL', - 1407240 => 'Orlando, FL', - 1407243 => 'Orlando, FL', - 1407244 => 'Orlando, FL', - 1407245 => 'Orlando, FL', - 1407246 => 'Orlando, FL', - 1407248 => 'Orlando, FL', - 1407249 => 'Orlando, FL', + 140724 => 'Orlando, FL', 1407251 => 'Orlando, FL', 1407253 => 'Orlando, FL', 1407254 => 'Orlando, FL', @@ -1112,26 +917,12 @@ return array ( 1407281 => 'Orlando, FL', 1407282 => 'Orlando, FL', 1407286 => 'Orlando, FL', - 1407290 => 'Orlando, FL', - 1407291 => 'Orlando, FL', - 1407292 => 'Orlando, FL', - 1407293 => 'Orlando, FL', - 1407294 => 'Orlando, FL', - 1407295 => 'Orlando, FL', - 1407296 => 'Orlando, FL', - 1407297 => 'Orlando, FL', - 1407298 => 'Orlando, FL', - 1407299 => 'Orlando, FL', + 140729 => 'Orlando, FL', 1407301 => 'Kissimmee, FL', 1407302 => 'Sanford, FL', 1407303 => 'Orlando, FL', - 1407320 => 'Sanford, FL', - 1407321 => 'Sanford, FL', - 1407322 => 'Sanford, FL', - 1407323 => 'Sanford, FL', - 1407324 => 'Sanford, FL', + 140732 => 'Sanford, FL', 1407327 => 'Winter Springs, FL', - 1407328 => 'Sanford, FL', 1407330 => 'Sanford, FL', 1407333 => 'Lake Mary, FL', 1407343 => 'Kissimmee, FL', @@ -1205,13 +996,8 @@ return array ( 1407660 => 'Maitland, FL', 1407665 => 'Sanford, FL', 1407667 => 'Maitland, FL', - 1407671 => 'Winter Park, FL', - 1407672 => 'Winter Park, FL', - 1407673 => 'Winter Park, FL', + 140767 => 'Winter Park, FL', 1407674 => 'Orlando, FL', - 1407677 => 'Winter Park, FL', - 1407678 => 'Winter Park, FL', - 1407679 => 'Winter Park, FL', 1407688 => 'Sanford, FL', 1407704 => 'Orlando, FL', 1407730 => 'Orlando, FL', @@ -1237,15 +1023,7 @@ return array ( 1407846 => 'Kissimmee, FL', 1407847 => 'Kissimmee, FL', 1407849 => 'Orlando, FL', - 1407850 => 'Orlando, FL', - 1407851 => 'Orlando, FL', - 1407852 => 'Orlando, FL', - 1407854 => 'Orlando, FL', - 1407855 => 'Orlando, FL', - 1407856 => 'Orlando, FL', - 1407857 => 'Orlando, FL', - 1407858 => 'Orlando, FL', - 1407859 => 'Orlando, FL', + 140785 => 'Orlando, FL', 1407870 => 'Kissimmee, FL', 1407872 => 'Orlando, FL', 1407877 => 'Winter Garden, FL', @@ -1255,14 +1033,9 @@ return array ( 1407886 => 'Apopka, FL', 1407888 => 'Orlando, FL', 1407889 => 'Apopka, FL', + 140789 => 'Orlando, FL', 1407891 => 'St. Cloud, FL', 1407892 => 'St. Cloud, FL', - 1407893 => 'Orlando, FL', - 1407894 => 'Orlando, FL', - 1407895 => 'Orlando, FL', - 1407896 => 'Orlando, FL', - 1407897 => 'Orlando, FL', - 1407898 => 'Orlando, FL', 1407903 => 'Orlando, FL', 1407926 => 'Orlando, FL', 1407931 => 'Kissimmee, FL', @@ -1280,12 +1053,7 @@ return array ( 1408 => 'California', 1408216 => 'San Jose, CA', 1408217 => 'San Jose, CA', - 1408223 => 'San Jose, CA', - 1408224 => 'San Jose, CA', - 1408225 => 'San Jose, CA', - 1408226 => 'San Jose, CA', - 1408227 => 'San Jose, CA', - 1408229 => 'San Jose, CA', + 140822 => 'San Jose, CA', 1408236 => 'Santa Clara, CA', 1408238 => 'San Jose, CA', 1408243 => 'Santa Clara, CA', @@ -1295,37 +1063,12 @@ return array ( 1408257 => 'Cupertino, CA', 1408258 => 'San Jose, CA', 1408259 => 'San Jose, CA', + 140826 => 'San Jose, CA', 1408262 => 'Milpitas, CA', 1408263 => 'Milpitas, CA', - 1408264 => 'San Jose, CA', - 1408265 => 'San Jose, CA', - 1408266 => 'San Jose, CA', - 1408267 => 'San Jose, CA', - 1408268 => 'San Jose, CA', - 1408269 => 'San Jose, CA', - 1408270 => 'San Jose, CA', - 1408271 => 'San Jose, CA', - 1408272 => 'San Jose, CA', - 1408274 => 'San Jose, CA', - 1408275 => 'San Jose, CA', - 1408277 => 'San Jose, CA', - 1408278 => 'San Jose, CA', - 1408279 => 'San Jose, CA', - 1408280 => 'San Jose, CA', - 1408281 => 'San Jose, CA', - 1408282 => 'San Jose, CA', - 1408283 => 'San Jose, CA', - 1408286 => 'San Jose, CA', - 1408287 => 'San Jose, CA', - 1408288 => 'San Jose, CA', - 1408289 => 'San Jose, CA', - 1408292 => 'San Jose, CA', - 1408293 => 'San Jose, CA', - 1408294 => 'San Jose, CA', - 1408295 => 'San Jose, CA', - 1408297 => 'San Jose, CA', - 1408298 => 'San Jose, CA', - 1408299 => 'San Jose, CA', + 140827 => 'San Jose, CA', + 140828 => 'San Jose, CA', + 140829 => 'San Jose, CA', 1408321 => 'San Jose, CA', 1408347 => 'San Jose, CA', 1408353 => 'Los Gatos, CA', @@ -1382,15 +1125,7 @@ return array ( 1408725 => 'Cupertino, CA', 1408727 => 'Santa Clara, CA', 1408729 => 'San Jose, CA', - 1408730 => 'Sunnyvale, CA', - 1408732 => 'Sunnyvale, CA', - 1408733 => 'Sunnyvale, CA', - 1408734 => 'Sunnyvale, CA', - 1408735 => 'Sunnyvale, CA', - 1408736 => 'Sunnyvale, CA', - 1408737 => 'Sunnyvale, CA', - 1408738 => 'Sunnyvale, CA', - 1408739 => 'Sunnyvale, CA', + 140873 => 'Sunnyvale, CA', 1408741 => 'Saratoga, CA', 1408745 => 'Sunnyvale, CA', 1408746 => 'Sunnyvale, CA', @@ -1430,14 +1165,9 @@ return array ( 1408947 => 'San Jose, CA', 1408954 => 'San Jose, CA', 1408956 => 'Milpitas, CA', + 140897 => 'San Jose, CA', 1408970 => 'Santa Clara, CA', - 1408971 => 'San Jose, CA', - 1408972 => 'San Jose, CA', 1408973 => 'Cupertino, CA', - 1408975 => 'San Jose, CA', - 1408977 => 'San Jose, CA', - 1408978 => 'San Jose, CA', - 1408979 => 'San Jose, CA', 1408980 => 'Santa Clara, CA', 1408982 => 'Santa Clara, CA', 1408986 => 'Santa Clara, CA', @@ -1797,12 +1527,7 @@ return array ( 1412232 => 'Pittsburgh, PA', 1412233 => 'Clairton, PA', 1412235 => 'Pittsburgh, PA', - 1412241 => 'Pittsburgh, PA', - 1412242 => 'Pittsburgh, PA', - 1412243 => 'Pittsburgh, PA', - 1412244 => 'Pittsburgh, PA', - 1412246 => 'Pittsburgh, PA', - 1412247 => 'Pittsburgh, PA', + 141224 => 'Pittsburgh, PA', 1412255 => 'Pittsburgh, PA', 1412257 => 'Bridgeville, PA', 1412261 => 'Pittsburgh, PA', @@ -1829,14 +1554,7 @@ return array ( 1412351 => 'Pittsburgh, PA', 1412355 => 'Pittsburgh, PA', 1412359 => 'Pittsburgh, PA', - 1412361 => 'Pittsburgh, PA', - 1412362 => 'Pittsburgh, PA', - 1412363 => 'Pittsburgh, PA', - 1412364 => 'Pittsburgh, PA', - 1412365 => 'Pittsburgh, PA', - 1412366 => 'Pittsburgh, PA', - 1412367 => 'Pittsburgh, PA', - 1412369 => 'Pittsburgh, PA', + 141236 => 'Pittsburgh, PA', 1412371 => 'Pittsburgh, PA', 1412372 => 'Monroeville, PA', 1412373 => 'Monroeville, PA', @@ -1997,13 +1715,7 @@ return array ( 1413665 => 'South Deerfield, MA', 1413667 => 'Huntington, MA', 1413684 => 'Dalton, MA', - 1413731 => 'Springfield, MA', - 1413732 => 'Springfield, MA', - 1413733 => 'Springfield, MA', - 1413734 => 'Springfield, MA', - 1413736 => 'Springfield, MA', - 1413737 => 'Springfield, MA', - 1413739 => 'Springfield, MA', + 141373 => 'Springfield, MA', 1413743 => 'Adams, MA', 1413746 => 'Springfield, MA', 1413747 => 'Springfield, MA', @@ -2011,13 +1723,8 @@ return array ( 1413772 => 'Greenfield, MA', 1413773 => 'Greenfield, MA', 1413774 => 'Greenfield, MA', - 1413781 => 'Springfield, MA', - 1413782 => 'Springfield, MA', - 1413783 => 'Springfield, MA', - 1413785 => 'Springfield, MA', + 141378 => 'Springfield, MA', 1413786 => 'Agawam, MA', - 1413787 => 'Springfield, MA', - 1413788 => 'Springfield, MA', 1413789 => 'Agawam, MA', 1413794 => 'Springfield, MA', 1413796 => 'Springfield, MA', @@ -2026,12 +1733,7 @@ return array ( 1413967 => 'Ware, MA', 1414 => 'Wisconsin', 1414219 => 'Milwaukee, WI', - 1414220 => 'Milwaukee, WI', - 1414223 => 'Milwaukee, WI', - 1414224 => 'Milwaukee, WI', - 1414225 => 'Milwaukee, WI', - 1414226 => 'Milwaukee, WI', - 1414228 => 'Milwaukee, WI', + 141422 => 'Milwaukee, WI', 1414247 => 'Milwaukee, WI', 1414257 => 'Milwaukee, WI', 1414258 => 'Milwaukee, WI', @@ -2040,13 +1742,7 @@ return array ( 1414264 => 'Milwaukee, WI', 1414265 => 'Milwaukee, WI', 1414266 => 'Wauwatosa, WI', - 1414270 => 'Milwaukee, WI', - 1414271 => 'Milwaukee, WI', - 1414272 => 'Milwaukee, WI', - 1414273 => 'Milwaukee, WI', - 1414276 => 'Milwaukee, WI', - 1414277 => 'Milwaukee, WI', - 1414278 => 'Milwaukee, WI', + 141427 => 'Milwaukee, WI', 1414281 => 'Milwaukee, WI', 1414282 => 'Milwaukee, WI', 1414286 => 'Milwaukee, WI', @@ -2065,14 +1761,7 @@ return array ( 1414342 => 'Milwaukee, WI', 1414344 => 'Milwaukee, WI', 1414347 => 'Milwaukee, WI', - 1414351 => 'Milwaukee, WI', - 1414352 => 'Milwaukee, WI', - 1414353 => 'Milwaukee, WI', - 1414354 => 'Milwaukee, WI', - 1414355 => 'Milwaukee, WI', - 1414357 => 'Milwaukee, WI', - 1414358 => 'Milwaukee, WI', - 1414359 => 'Milwaukee, WI', + 141435 => 'Milwaukee, WI', 1414365 => 'Milwaukee, WI', 1414371 => 'Milwaukee, WI', 1414372 => 'Milwaukee, WI', @@ -2087,12 +1776,7 @@ return array ( 1414423 => 'Greendale, WI', 1414431 => 'Milwaukee, WI', 1414438 => 'Milwaukee, WI', - 1414442 => 'Milwaukee, WI', - 1414443 => 'Milwaukee, WI', - 1414444 => 'Milwaukee, WI', - 1414445 => 'Milwaukee, WI', - 1414447 => 'Milwaukee, WI', - 1414449 => 'Milwaukee, WI', + 141444 => 'Milwaukee, WI', 1414453 => 'Milwaukee, WI', 1414454 => 'Milwaukee, WI', 1414455 => 'Milwaukee, WI', @@ -2173,12 +1857,7 @@ return array ( 1415258 => 'San Rafael, CA', 1415268 => 'San Francisco, CA', 1415273 => 'San Francisco, CA', - 1415281 => 'San Francisco, CA', - 1415282 => 'San Francisco, CA', - 1415283 => 'San Francisco, CA', - 1415284 => 'San Francisco, CA', - 1415285 => 'San Francisco, CA', - 1415288 => 'San Francisco, CA', + 141528 => 'San Francisco, CA', 1415289 => 'Sausalito, CA', 1415291 => 'San Francisco, CA', 1415292 => 'San Francisco, CA', @@ -2211,13 +1890,7 @@ return array ( 1415387 => 'San Francisco, CA', 1415388 => 'Mill Valley, CA', 1415389 => 'Mill Valley, CA', - 1415391 => 'San Francisco, CA', - 1415392 => 'San Francisco, CA', - 1415393 => 'San Francisco, CA', - 1415395 => 'San Francisco, CA', - 1415397 => 'San Francisco, CA', - 1415398 => 'San Francisco, CA', - 1415399 => 'San Francisco, CA', + 141539 => 'San Francisco, CA', 1415400 => 'San Francisco, CA', 1415401 => 'San Francisco, CA', 1415409 => 'San Francisco, CA', @@ -2232,14 +1905,8 @@ return array ( 1415442 => 'San Francisco, CA', 1415444 => 'San Rafael, CA', 1415447 => 'San Francisco, CA', - 1415451 => 'San Rafael, CA', + 141545 => 'San Rafael, CA', 1415452 => 'San Francisco, CA', - 1415453 => 'San Rafael, CA', - 1415454 => 'San Rafael, CA', - 1415455 => 'San Rafael, CA', - 1415456 => 'San Rafael, CA', - 1415457 => 'San Rafael, CA', - 1415459 => 'San Rafael, CA', 1415460 => 'San Rafael, CA', 1415468 => 'San Francisco, CA', 1415469 => 'San Francisco, CA', @@ -2267,18 +1934,8 @@ return array ( 1415541 => 'San Francisco, CA', 1415543 => 'San Francisco, CA', 1415546 => 'San Francisco, CA', - 1415550 => 'San Francisco, CA', - 1415551 => 'San Francisco, CA', - 1415552 => 'San Francisco, CA', - 1415553 => 'San Francisco, CA', - 1415554 => 'San Francisco, CA', - 1415558 => 'San Francisco, CA', - 1415561 => 'San Francisco, CA', - 1415563 => 'San Francisco, CA', - 1415564 => 'San Francisco, CA', - 1415565 => 'San Francisco, CA', - 1415566 => 'San Francisco, CA', - 1415567 => 'San Francisco, CA', + 141555 => 'San Francisco, CA', + 141556 => 'San Francisco, CA', 1415584 => 'San Francisco, CA', 1415585 => 'San Francisco, CA', 1415586 => 'San Francisco, CA', @@ -2287,12 +1944,7 @@ return array ( 1415600 => 'San Francisco, CA', 1415621 => 'San Francisco, CA', 1415626 => 'San Francisco, CA', - 1415641 => 'San Francisco, CA', - 1415642 => 'San Francisco, CA', - 1415643 => 'San Francisco, CA', - 1415644 => 'San Francisco, CA', - 1415647 => 'San Francisco, CA', - 1415648 => 'San Francisco, CA', + 141564 => 'San Francisco, CA', 1415655 => 'San Francisco, CA', 1415661 => 'San Francisco, CA', 1415664 => 'San Francisco, CA', @@ -2318,30 +1970,14 @@ return array ( 1415753 => 'San Francisco, CA', 1415759 => 'San Francisco, CA', 1415765 => 'San Francisco, CA', - 1415771 => 'San Francisco, CA', - 1415772 => 'San Francisco, CA', - 1415773 => 'San Francisco, CA', - 1415775 => 'San Francisco, CA', - 1415776 => 'San Francisco, CA', - 1415777 => 'San Francisco, CA', + 141577 => 'San Francisco, CA', 1415781 => 'San Francisco, CA', 1415788 => 'San Francisco, CA', 1415796 => 'San Francisco, CA', 1415800 => 'San Francisco, CA', 1415814 => 'San Francisco, CA', - 1415820 => 'San Francisco, CA', - 1415821 => 'San Francisco, CA', - 1415822 => 'San Francisco, CA', - 1415824 => 'San Francisco, CA', - 1415826 => 'San Francisco, CA', - 1415829 => 'San Francisco, CA', - 1415830 => 'San Francisco, CA', - 1415831 => 'San Francisco, CA', - 1415833 => 'San Francisco, CA', - 1415834 => 'San Francisco, CA', - 1415835 => 'San Francisco, CA', - 1415836 => 'San Francisco, CA', - 1415837 => 'San Francisco, CA', + 141582 => 'San Francisco, CA', + 141583 => 'San Francisco, CA', 1415856 => 'San Francisco, CA', 1415861 => 'San Francisco, CA', 1415863 => 'San Francisco, CA', @@ -2362,15 +1998,10 @@ return array ( 1415897 => 'Novato, CA', 1415898 => 'Novato, CA', 1415899 => 'Novato, CA', - 1415920 => 'San Francisco, CA', - 1415921 => 'San Francisco, CA', - 1415922 => 'San Francisco, CA', - 1415923 => 'San Francisco, CA', + 141592 => 'San Francisco, CA', 1415924 => 'Corte Madera, CA', 1415925 => 'Greenbrae, CA', 1415927 => 'Corte Madera, CA', - 1415928 => 'San Francisco, CA', - 1415929 => 'San Francisco, CA', 1415931 => 'San Francisco, CA', 1415933 => 'San Francisco, CA', 1415945 => 'Corte Madera, CA', @@ -2380,12 +2011,7 @@ return array ( 1415970 => 'San Francisco, CA', 1415974 => 'San Francisco, CA', 1415979 => 'San Francisco, CA', - 1415981 => 'San Francisco, CA', - 1415982 => 'San Francisco, CA', - 1415983 => 'San Francisco, CA', - 1415984 => 'San Francisco, CA', - 1415986 => 'San Francisco, CA', - 1415989 => 'San Francisco, CA', + 141598 => 'San Francisco, CA', 1416 => 'Ontario', 1416201 => 'Etobicoke, ON', 1416203 => 'Toronto, ON', @@ -2395,49 +2021,18 @@ return array ( 1416214 => 'Toronto, ON', 1416216 => 'Toronto, ON', 1416218 => 'North York, ON', - 1416221 => 'North York, ON', - 1416222 => 'North York, ON', - 1416223 => 'North York, ON', - 1416224 => 'North York, ON', - 1416225 => 'North York, ON', - 1416226 => 'North York, ON', - 1416227 => 'North York, ON', - 1416229 => 'North York, ON', - 1416231 => 'Etobicoke, ON', - 1416232 => 'Etobicoke, ON', - 1416233 => 'Etobicoke, ON', - 1416234 => 'Etobicoke, ON', - 1416236 => 'Etobicoke, ON', - 1416237 => 'Etobicoke, ON', - 1416239 => 'Etobicoke, ON', + 141622 => 'North York, ON', + 141623 => 'Etobicoke, ON', 1416250 => 'North York, ON', 1416251 => 'Etobicoke, ON', 1416252 => 'Etobicoke, ON', 1416253 => 'Etobicoke, ON', 1416255 => 'Etobicoke, ON', 1416259 => 'Etobicoke, ON', + 141626 => 'Scarborough, ON', 1416260 => 'Toronto, ON', - 1416261 => 'Scarborough, ON', - 1416264 => 'Scarborough, ON', - 1416265 => 'Scarborough, ON', - 1416266 => 'Scarborough, ON', - 1416267 => 'Scarborough, ON', - 1416269 => 'Scarborough, ON', - 1416281 => 'Scarborough, ON', - 1416282 => 'Scarborough, ON', - 1416283 => 'Scarborough, ON', - 1416284 => 'Scarborough, ON', - 1416286 => 'Scarborough, ON', - 1416287 => 'Scarborough, ON', - 1416288 => 'Scarborough, ON', - 1416289 => 'Scarborough, ON', - 1416290 => 'Scarborough, ON', - 1416291 => 'Scarborough, ON', - 1416292 => 'Scarborough, ON', - 1416293 => 'Scarborough, ON', - 1416297 => 'Scarborough, ON', - 1416298 => 'Scarborough, ON', - 1416299 => 'Scarborough, ON', + 141628 => 'Scarborough, ON', + 141629 => 'Scarborough, ON', 1416304 => 'Toronto, ON', 1416306 => 'Toronto, ON', 1416321 => 'Scarborough, ON', @@ -2449,16 +2044,7 @@ return array ( 1416340 => 'Toronto, ON', 1416348 => 'Toronto, ON', 1416351 => 'Toronto, ON', - 1416360 => 'Toronto, ON', - 1416361 => 'Toronto, ON', - 1416362 => 'Toronto, ON', - 1416363 => 'Toronto, ON', - 1416364 => 'Toronto, ON', - 1416365 => 'Toronto, ON', - 1416366 => 'Toronto, ON', - 1416367 => 'Toronto, ON', - 1416368 => 'Toronto, ON', - 1416369 => 'Toronto, ON', + 141636 => 'Toronto, ON', 1416385 => 'North York, ON', 1416391 => 'North York, ON', 1416392 => 'Toronto, ON', @@ -2476,22 +2062,8 @@ return array ( 1416445 => 'North York, ON', 1416447 => 'North York, ON', 1416449 => 'North York, ON', - 1416461 => 'Toronto, ON', - 1416462 => 'Toronto, ON', - 1416463 => 'Toronto, ON', - 1416465 => 'Toronto, ON', - 1416466 => 'Toronto, ON', - 1416469 => 'Toronto, ON', - 1416480 => 'Toronto, ON', - 1416481 => 'Toronto, ON', - 1416482 => 'Toronto, ON', - 1416483 => 'Toronto, ON', - 1416484 => 'Toronto, ON', - 1416485 => 'Toronto, ON', - 1416486 => 'Toronto, ON', - 1416487 => 'Toronto, ON', - 1416488 => 'Toronto, ON', - 1416489 => 'Toronto, ON', + 141646 => 'Toronto, ON', + 141648 => 'Toronto, ON', 1416503 => 'Etobicoke, ON', 1416504 => 'Toronto, ON', 1416506 => 'Toronto, ON', @@ -2499,29 +2071,13 @@ return array ( 1416512 => 'North York, ON', 1416515 => 'Toronto, ON', 1416516 => 'Toronto, ON', - 1416530 => 'Toronto, ON', - 1416531 => 'Toronto, ON', - 1416532 => 'Toronto, ON', - 1416533 => 'Toronto, ON', - 1416534 => 'Toronto, ON', - 1416535 => 'Toronto, ON', - 1416536 => 'Toronto, ON', - 1416537 => 'Toronto, ON', - 1416538 => 'Toronto, ON', - 1416539 => 'Toronto, ON', + 141653 => 'Toronto, ON', 1416544 => 'Toronto, ON', 1416572 => 'Toronto, ON', 1416585 => 'Toronto, ON', 1416588 => 'Toronto, ON', + 141659 => 'Toronto, ON', 1416590 => 'North York, ON', - 1416591 => 'Toronto, ON', - 1416593 => 'Toronto, ON', - 1416594 => 'Toronto, ON', - 1416595 => 'Toronto, ON', - 1416596 => 'Toronto, ON', - 1416597 => 'Toronto, ON', - 1416598 => 'Toronto, ON', - 1416599 => 'Toronto, ON', 1416601 => 'Toronto, ON', 1416603 => 'Toronto, ON', 1416604 => 'Toronto, ON', @@ -2531,12 +2087,7 @@ return array ( 1416621 => 'Etobicoke, ON', 1416622 => 'Etobicoke, ON', 1416626 => 'Etobicoke, ON', - 1416630 => 'North York, ON', - 1416631 => 'North York, ON', - 1416633 => 'North York, ON', - 1416635 => 'North York, ON', - 1416636 => 'North York, ON', - 1416638 => 'North York, ON', + 141663 => 'North York, ON', 1416650 => 'North York, ON', 1416652 => 'Toronto, ON', 1416654 => 'Toronto, ON', @@ -2550,13 +2101,8 @@ return array ( 1416675 => 'Etobicoke, ON', 1416679 => 'Etobicoke, ON', 1416686 => 'Toronto, ON', - 1416690 => 'Toronto, ON', - 1416691 => 'Toronto, ON', - 1416693 => 'Toronto, ON', - 1416694 => 'Toronto, ON', + 141669 => 'Toronto, ON', 1416695 => 'Etobicoke, ON', - 1416698 => 'Toronto, ON', - 1416699 => 'Toronto, ON', 1416701 => 'Scarborough, ON', 1416703 => 'Toronto, ON', 1416724 => 'Scarborough, ON', @@ -2564,54 +2110,18 @@ return array ( 1416733 => 'North York, ON', 1416736 => 'North York, ON', 1416739 => 'North York, ON', - 1416750 => 'Scarborough, ON', - 1416752 => 'Scarborough, ON', - 1416754 => 'Scarborough, ON', - 1416755 => 'Scarborough, ON', - 1416757 => 'Scarborough, ON', - 1416759 => 'Scarborough, ON', - 1416760 => 'Toronto, ON', - 1416761 => 'Toronto, ON', - 1416762 => 'Toronto, ON', - 1416763 => 'Toronto, ON', - 1416766 => 'Toronto, ON', - 1416767 => 'Toronto, ON', - 1416769 => 'Toronto, ON', + 141675 => 'Scarborough, ON', + 141676 => 'Toronto, ON', 1416777 => 'Toronto, ON', 1416778 => 'Toronto, ON', 1416815 => 'Toronto, ON', - 1416860 => 'Toronto, ON', - 1416861 => 'Toronto, ON', - 1416862 => 'Toronto, ON', - 1416863 => 'Toronto, ON', - 1416864 => 'Toronto, ON', - 1416865 => 'Toronto, ON', - 1416866 => 'Toronto, ON', - 1416867 => 'Toronto, ON', - 1416868 => 'Toronto, ON', - 1416869 => 'Toronto, ON', - 1416920 => 'Toronto, ON', - 1416921 => 'Toronto, ON', - 1416922 => 'Toronto, ON', - 1416923 => 'Toronto, ON', - 1416924 => 'Toronto, ON', - 1416925 => 'Toronto, ON', - 1416926 => 'Toronto, ON', - 1416927 => 'Toronto, ON', - 1416928 => 'Toronto, ON', - 1416929 => 'Toronto, ON', + 141686 => 'Toronto, ON', + 141692 => 'Toronto, ON', 1416932 => 'Toronto, ON', 1416934 => 'Toronto, ON', 1416944 => 'Toronto, ON', 1416955 => 'Toronto, ON', - 1416960 => 'Toronto, ON', - 1416961 => 'Toronto, ON', - 1416962 => 'Toronto, ON', - 1416963 => 'Toronto, ON', - 1416964 => 'Toronto, ON', - 1416966 => 'Toronto, ON', - 1416967 => 'Toronto, ON', - 1416968 => 'Toronto, ON', + 141696 => 'Toronto, ON', 1416971 => 'Toronto, ON', 1416972 => 'Toronto, ON', 1416975 => 'Toronto, ON', @@ -2631,13 +2141,7 @@ return array ( 1417272 => 'Reeds Spring, MO', 1417276 => 'Stockton, MO', 1417326 => 'Bolivar, MO', - 1417332 => 'Branson, MO', - 1417334 => 'Branson, MO', - 1417335 => 'Branson, MO', - 1417336 => 'Branson, MO', - 1417337 => 'Branson, MO', - 1417338 => 'Branson, MO', - 1417339 => 'Branson, MO', + 141733 => 'Branson, MO', 1417345 => 'Buffalo, MO', 1417347 => 'Joplin, MO', 1417358 => 'Carthage, MO', @@ -2705,26 +2209,11 @@ return array ( 1417848 => 'Springfield, MO', 1417858 => 'Shell Knob, MO', 1417859 => 'Marshfield, MO', - 1417861 => 'Springfield, MO', - 1417862 => 'Springfield, MO', - 1417863 => 'Springfield, MO', - 1417864 => 'Springfield, MO', - 1417865 => 'Springfield, MO', - 1417866 => 'Springfield, MO', - 1417868 => 'Springfield, MO', - 1417869 => 'Springfield, MO', + 141786 => 'Springfield, MO', 1417875 => 'Springfield, MO', 1417876 => 'El Dorado Spgs, MO', 1417877 => 'Springfield, MO', - 1417880 => 'Springfield, MO', - 1417881 => 'Springfield, MO', - 1417882 => 'Springfield, MO', - 1417883 => 'Springfield, MO', - 1417885 => 'Springfield, MO', - 1417886 => 'Springfield, MO', - 1417887 => 'Springfield, MO', - 1417888 => 'Springfield, MO', - 1417889 => 'Springfield, MO', + 141788 => 'Springfield, MO', 1417890 => 'Springfield, MO', 1417895 => 'Springfield, MO', 1417924 => 'Mansfield, MO', @@ -2778,12 +2267,7 @@ return array ( 1418480 => 'Alma, QC', 1418484 => 'Saint-Éphrem-de-Beauce, QC', 1418486 => 'Lambton, QC', - 1418522 => 'Quebec City, QC', - 1418523 => 'Quebec City, QC', - 1418524 => 'Quebec City, QC', - 1418525 => 'Quebec City, QC', - 1418527 => 'Quebec City, QC', - 1418529 => 'Quebec City, QC', + 141852 => 'Quebec City, QC', 1418534 => 'Bonaventure, QC', 1418538 => 'Havre-Saint-Pierre, QC', 1418542 => 'Jonquière, QC', @@ -2801,14 +2285,8 @@ return array ( 1418602 => 'Chicoutimi, QC', 1418603 => 'Levis, QC', 1418614 => 'Quebec City, QC', - 1418621 => 'Quebec City, QC', - 1418622 => 'Quebec City, QC', - 1418623 => 'Quebec City, QC', - 1418624 => 'Quebec City, QC', + 141862 => 'Quebec City, QC', 1418625 => 'Lac-Etchemin, QC', - 1418626 => 'Quebec City, QC', - 1418627 => 'Quebec City, QC', - 1418628 => 'Quebec City, QC', 1418629 => 'Amqui, QC', 1418641 => 'Quebec City, QC', 1418647 => 'Quebec City, QC', @@ -2823,12 +2301,7 @@ return array ( 1418669 => 'Alma, QC', 1418673 => 'Saint-Honoré, QC', 1418679 => 'St-Felicien, QC', - 1418681 => 'Quebec City, QC', - 1418682 => 'Quebec City, QC', - 1418683 => 'Quebec City, QC', - 1418686 => 'Quebec City, QC', - 1418687 => 'Quebec City, QC', - 1418688 => 'Quebec City, QC', + 141868 => 'Quebec City, QC', 1418689 => 'Chandler, QC', 1418690 => 'Chicoutimi, QC', 1418692 => 'Quebec City, QC', @@ -2888,23 +2361,10 @@ return array ( 1419 => 'Ohio', 1419207 => 'Ashland, OH', 1419213 => 'Toledo, OH', - 1419221 => 'Lima, OH', - 1419222 => 'Lima, OH', - 1419223 => 'Lima, OH', - 1419224 => 'Lima, OH', - 1419225 => 'Lima, OH', - 1419226 => 'Lima, OH', - 1419227 => 'Lima, OH', - 1419228 => 'Lima, OH', - 1419229 => 'Lima, OH', + 141922 => 'Lima, OH', 1419232 => 'Van Wert, OH', 1419238 => 'Van Wert, OH', - 1419241 => 'Toledo, OH', - 1419242 => 'Toledo, OH', - 1419243 => 'Toledo, OH', - 1419244 => 'Toledo, OH', - 1419245 => 'Toledo, OH', - 1419246 => 'Toledo, OH', + 141924 => 'Toledo, OH', 1419251 => 'Toledo, OH', 1419253 => 'Marengo, OH', 1419255 => 'Toledo, OH', @@ -2935,21 +2395,11 @@ return array ( 1419355 => 'Fremont, OH', 1419358 => 'Bluffton, OH', 1419375 => 'Fort Recovery, OH', - 1419380 => 'Toledo, OH', - 1419381 => 'Toledo, OH', - 1419382 => 'Toledo, OH', - 1419383 => 'Toledo, OH', - 1419385 => 'Toledo, OH', - 1419389 => 'Toledo, OH', + 141938 => 'Toledo, OH', 1419394 => 'St. Marys, OH', 1419396 => 'Carey, OH', 1419399 => 'Paulding, OH', - 1419420 => 'Findlay, OH', - 1419422 => 'Findlay, OH', - 1419423 => 'Findlay, OH', - 1419424 => 'Findlay, OH', - 1419425 => 'Findlay, OH', - 1419427 => 'Findlay, OH', + 141942 => 'Findlay, OH', 1419433 => 'Huron, OH', 1419435 => 'Fostoria, OH', 1419436 => 'Fostoria, OH', @@ -2962,14 +2412,7 @@ return array ( 1419462 => 'Galion, OH', 1419465 => 'Monroeville, OH', 1419468 => 'Galion, OH', - 1419471 => 'Toledo, OH', - 1419472 => 'Toledo, OH', - 1419473 => 'Toledo, OH', - 1419474 => 'Toledo, OH', - 1419475 => 'Toledo, OH', - 1419476 => 'Toledo, OH', - 1419478 => 'Toledo, OH', - 1419479 => 'Toledo, OH', + 141947 => 'Toledo, OH', 1419483 => 'Bellevue, OH', 1419485 => 'Montpelier, OH', 1419499 => 'Milan, OH', @@ -3027,12 +2470,7 @@ return array ( 1419696 => 'Oregon, OH', 1419697 => 'Oregon, OH', 1419698 => 'Oregon, OH', - 1419720 => 'Toledo, OH', - 1419724 => 'Toledo, OH', - 1419725 => 'Toledo, OH', - 1419726 => 'Toledo, OH', - 1419727 => 'Toledo, OH', - 1419729 => 'Toledo, OH', + 141972 => 'Toledo, OH', 1419732 => 'Port Clinton, OH', 1419734 => 'Port Clinton, OH', 1419738 => 'Wapakoneta, OH', @@ -3296,12 +2734,7 @@ return array ( 1425430 => 'Renton, WA', 1425432 => 'Maple Valley, WA', 1425438 => 'Everett, WA', - 1425450 => 'Bellevue, WA', - 1425451 => 'Bellevue, WA', - 1425452 => 'Bellevue, WA', - 1425453 => 'Bellevue, WA', - 1425454 => 'Bellevue, WA', - 1425455 => 'Bellevue, WA', + 142545 => 'Bellevue, WA', 1425462 => 'Bellevue, WA', 1425467 => 'Bellevue, WA', 1425493 => 'Mukilteo, WA', @@ -3337,13 +2770,7 @@ return array ( 1425788 => 'Duvall, WA', 1425793 => 'Renton, WA', 1425814 => 'Kirkland, WA', - 1425820 => 'Kirkland, WA', - 1425821 => 'Kirkland, WA', - 1425822 => 'Kirkland, WA', - 1425823 => 'Kirkland, WA', - 1425825 => 'Kirkland, WA', - 1425827 => 'Kirkland, WA', - 1425828 => 'Kirkland, WA', + 142582 => 'Kirkland, WA', 1425831 => 'North Bend, WA', 1425837 => 'Issaquah, WA', 1425867 => 'Redmond, WA', @@ -3401,13 +2828,7 @@ return array ( 1432620 => 'Midland, TX', 1432640 => 'Odessa, TX', 1432652 => 'McCamey, TX', - 1432682 => 'Midland, TX', - 1432683 => 'Midland, TX', - 1432684 => 'Midland, TX', - 1432685 => 'Midland, TX', - 1432686 => 'Midland, TX', - 1432687 => 'Midland, TX', - 1432689 => 'Midland, TX', + 143268 => 'Midland, TX', 1432694 => 'Midland, TX', 1432697 => 'Midland, TX', 1432699 => 'Midland, TX', @@ -3492,15 +2913,7 @@ return array ( 1434947 => 'Lynchburg, VA', 1434964 => 'Charlottesville, VA', 1434969 => 'Buckingham, VA', - 1434970 => 'Charlottesville, VA', - 1434971 => 'Charlottesville, VA', - 1434972 => 'Charlottesville, VA', - 1434973 => 'Charlottesville, VA', - 1434974 => 'Charlottesville, VA', - 1434975 => 'Charlottesville, VA', - 1434977 => 'Charlottesville, VA', - 1434978 => 'Charlottesville, VA', - 1434979 => 'Charlottesville, VA', + 143497 => 'Charlottesville, VA', 1434981 => 'Charlottesville, VA', 1434982 => 'Charlottesville, VA', 1434983 => 'Dillwyn, VA', @@ -4183,12 +3596,7 @@ return array ( 1480921 => 'Tempe, AZ', 1480922 => 'Scottsdale, AZ', 1480924 => 'Mesa, AZ', - 1480941 => 'Scottsdale, AZ', - 1480945 => 'Scottsdale, AZ', - 1480946 => 'Scottsdale, AZ', - 1480947 => 'Scottsdale, AZ', - 1480948 => 'Scottsdale, AZ', - 1480949 => 'Scottsdale, AZ', + 148094 => 'Scottsdale, AZ', 1480951 => 'Scottsdale, AZ', 1480961 => 'Chandler, AZ', 1480962 => 'Mesa, AZ', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/15.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/15.php index 61a2a7f8f..112b555af 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/15.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/15.php @@ -17,12 +17,7 @@ return array ( 1501206 => 'Heber Springs, AR', 1501217 => 'Little Rock, AR', 1501219 => 'Little Rock, AR', - 1501221 => 'Little Rock, AR', - 1501223 => 'Little Rock, AR', - 1501224 => 'Little Rock, AR', - 1501225 => 'Little Rock, AR', - 1501227 => 'Little Rock, AR', - 1501228 => 'Little Rock, AR', + 150122 => 'Little Rock, AR', 1501244 => 'Little Rock, AR', 1501246 => 'Little Rock, AR', 1501255 => 'Little Rock, AR', @@ -52,13 +47,7 @@ return array ( 1501362 => 'Heber Springs, AR', 1501364 => 'Little Rock, AR', 1501368 => 'Searcy, AR', - 1501370 => 'Little Rock, AR', - 1501371 => 'Little Rock, AR', - 1501372 => 'Little Rock, AR', - 1501374 => 'Little Rock, AR', - 1501375 => 'Little Rock, AR', - 1501376 => 'Little Rock, AR', - 1501379 => 'Little Rock, AR', + 150137 => 'Little Rock, AR', 1501397 => 'Redfield, AR', 1501450 => 'Conway, AR', 1501455 => 'Little Rock, AR', @@ -174,13 +163,7 @@ return array ( 1502349 => 'Bardstown, KY', 1502350 => 'Bardstown, KY', 1502352 => 'Frankfort, KY', - 1502361 => 'Louisville, KY', - 1502363 => 'Louisville, KY', - 1502364 => 'Louisville, KY', - 1502365 => 'Louisville, KY', - 1502366 => 'Louisville, KY', - 1502367 => 'Louisville, KY', - 1502368 => 'Louisville, KY', + 150236 => 'Louisville, KY', 1502375 => 'Louisville, KY', 1502384 => 'Louisville, KY', 1502394 => 'Louisville, KY', @@ -194,12 +177,7 @@ return array ( 1502447 => 'Louisville, KY', 1502448 => 'Louisville, KY', 1502449 => 'Louisville, KY', - 1502451 => 'Louisville, KY', - 1502452 => 'Louisville, KY', - 1502454 => 'Louisville, KY', - 1502456 => 'Louisville, KY', - 1502458 => 'Louisville, KY', - 1502459 => 'Louisville, KY', + 150245 => 'Louisville, KY', 1502473 => 'Louisville, KY', 1502477 => 'Taylorsville, KY', 1502479 => 'Louisville, KY', @@ -221,13 +199,7 @@ return array ( 1502569 => 'Louisville, KY', 1502570 => 'Georgetown, KY', 1502574 => 'Louisville, KY', - 1502581 => 'Louisville, KY', - 1502582 => 'Louisville, KY', - 1502583 => 'Louisville, KY', - 1502584 => 'Louisville, KY', - 1502585 => 'Louisville, KY', - 1502587 => 'Louisville, KY', - 1502589 => 'Louisville, KY', + 150258 => 'Louisville, KY', 1502595 => 'Louisville, KY', 1502614 => 'Louisville, KY', 1502618 => 'Louisville, KY', @@ -263,93 +235,19 @@ return array ( 1502867 => 'Georgetown, KY', 1502868 => 'Georgetown, KY', 1502875 => 'Frankfort, KY', - 1502891 => 'Louisville, KY', - 1502893 => 'Louisville, KY', - 1502894 => 'Louisville, KY', - 1502895 => 'Louisville, KY', - 1502896 => 'Louisville, KY', - 1502897 => 'Louisville, KY', - 1502899 => 'Louisville, KY', + 150289 => 'Louisville, KY', 1502921 => 'Shepherdsville, KY', 1502933 => 'Louisville, KY', 1502935 => 'Louisville, KY', 1502937 => 'Louisville, KY', 1502942 => 'Fort Knox, KY', - 1502961 => 'Louisville, KY', - 1502962 => 'Louisville, KY', - 1502964 => 'Louisville, KY', - 1502966 => 'Louisville, KY', - 1502968 => 'Louisville, KY', - 1502969 => 'Louisville, KY', + 150296 => 'Louisville, KY', 1502995 => 'Louisville, KY', 1503 => 'Oregon', - 1503203 => 'Portland, OR', - 1503206 => 'Portland, OR', - 1503208 => 'Portland, OR', - 1503215 => 'Portland, OR', - 1503216 => 'Portland, OR', - 1503220 => 'Portland, OR', - 1503221 => 'Portland, OR', - 1503222 => 'Portland, OR', - 1503223 => 'Portland, OR', - 1503224 => 'Portland, OR', - 1503225 => 'Portland, OR', - 1503226 => 'Portland, OR', - 1503227 => 'Portland, OR', - 1503228 => 'Portland, OR', - 1503229 => 'Portland, OR', - 1503230 => 'Portland, OR', - 1503231 => 'Portland, OR', - 1503232 => 'Portland, OR', - 1503233 => 'Portland, OR', - 1503234 => 'Portland, OR', - 1503235 => 'Portland, OR', - 1503236 => 'Portland, OR', - 1503238 => 'Portland, OR', - 1503239 => 'Portland, OR', - 1503240 => 'Portland, OR', - 1503241 => 'Portland, OR', - 1503242 => 'Portland, OR', - 1503243 => 'Portland, OR', - 1503244 => 'Portland, OR', - 1503245 => 'Portland, OR', - 1503246 => 'Portland, OR', - 1503247 => 'Portland, OR', - 1503248 => 'Portland, OR', - 1503249 => 'Portland, OR', - 1503251 => 'Portland, OR', - 1503252 => 'Portland, OR', - 1503253 => 'Portland, OR', - 1503254 => 'Portland, OR', - 1503255 => 'Portland, OR', - 1503256 => 'Portland, OR', - 1503257 => 'Portland, OR', - 1503258 => 'Portland, OR', + 15032 => 'Portland, OR', 1503259 => 'Beaverton, OR', - 1503261 => 'Portland, OR', - 1503262 => 'Portland, OR', 1503263 => 'Canby, OR', 1503266 => 'Canby, OR', - 1503274 => 'Portland, OR', - 1503278 => 'Portland, OR', - 1503280 => 'Portland, OR', - 1503281 => 'Portland, OR', - 1503282 => 'Portland, OR', - 1503283 => 'Portland, OR', - 1503284 => 'Portland, OR', - 1503285 => 'Portland, OR', - 1503286 => 'Portland, OR', - 1503287 => 'Portland, OR', - 1503288 => 'Portland, OR', - 1503289 => 'Portland, OR', - 1503291 => 'Portland, OR', - 1503292 => 'Portland, OR', - 1503293 => 'Portland, OR', - 1503294 => 'Portland, OR', - 1503295 => 'Portland, OR', - 1503296 => 'Portland, OR', - 1503297 => 'Portland, OR', - 1503299 => 'Portland, OR', 1503316 => 'Salem, OR', 1503324 => 'Banks, OR', 1503325 => 'Astoria, OR', @@ -558,35 +456,19 @@ return array ( 1504455 => 'Metairie, LA', 1504456 => 'Metairie, LA', 1504457 => 'Metairie, LA', - 1504461 => 'Kenner, LA', - 1504464 => 'Kenner, LA', - 1504465 => 'Kenner, LA', - 1504466 => 'Kenner, LA', - 1504467 => 'Kenner, LA', - 1504468 => 'Kenner, LA', - 1504469 => 'Kenner, LA', + 150446 => 'Kenner, LA', 1504471 => 'Kenner, LA', 1504482 => 'New Orleans, LA', 1504483 => 'New Orleans, LA', 1504486 => 'New Orleans, LA', 1504488 => 'New Orleans, LA', - 1504522 => 'New Orleans, LA', - 1504523 => 'New Orleans, LA', - 1504524 => 'New Orleans, LA', - 1504525 => 'New Orleans, LA', - 1504528 => 'New Orleans, LA', - 1504529 => 'New Orleans, LA', + 150452 => 'New Orleans, LA', 1504534 => 'Venice, LA', 1504561 => 'New Orleans, LA', 1504566 => 'New Orleans, LA', 1504568 => 'New Orleans, LA', 1504569 => 'New Orleans, LA', - 1504581 => 'New Orleans, LA', - 1504582 => 'New Orleans, LA', - 1504585 => 'New Orleans, LA', - 1504586 => 'New Orleans, LA', - 1504588 => 'New Orleans, LA', - 1504589 => 'New Orleans, LA', + 150458 => 'New Orleans, LA', 1504599 => 'New Orleans, LA', 1504656 => 'Belle Chasse, LA', 1504658 => 'New Orleans, LA', @@ -601,14 +483,7 @@ return array ( 1504822 => 'New Orleans, LA', 1504827 => 'New Orleans, LA', 1504828 => 'Metairie, LA', - 1504831 => 'Metairie, LA', - 1504832 => 'Metairie, LA', - 1504833 => 'Metairie, LA', - 1504834 => 'Metairie, LA', - 1504835 => 'Metairie, LA', - 1504836 => 'Metairie, LA', - 1504837 => 'Metairie, LA', - 1504838 => 'Metairie, LA', + 150483 => 'Metairie, LA', 1504842 => 'Jefferson, LA', 1504861 => 'New Orleans, LA', 1504865 => 'New Orleans, LA', @@ -618,22 +493,9 @@ return array ( 1504887 => 'Metairie, LA', 1504888 => 'Metairie, LA', 1504889 => 'Metairie, LA', - 1504891 => 'New Orleans, LA', - 1504894 => 'New Orleans, LA', - 1504895 => 'New Orleans, LA', - 1504896 => 'New Orleans, LA', - 1504897 => 'New Orleans, LA', - 1504899 => 'New Orleans, LA', + 150489 => 'New Orleans, LA', 1504903 => 'New Orleans, LA', - 1504940 => 'New Orleans, LA', - 1504941 => 'New Orleans, LA', - 1504942 => 'New Orleans, LA', - 1504943 => 'New Orleans, LA', - 1504944 => 'New Orleans, LA', - 1504945 => 'New Orleans, LA', - 1504947 => 'New Orleans, LA', - 1504948 => 'New Orleans, LA', - 1504949 => 'New Orleans, LA', + 150494 => 'New Orleans, LA', 1504988 => 'New Orleans, LA', 1505 => 'New Mexico', 1505203 => 'Albuquerque, NM', @@ -647,26 +509,13 @@ return array ( 1505237 => 'Albuquerque, NM', 1505238 => 'Albuquerque, NM', 1505239 => 'Albuquerque, NM', - 1505242 => 'Albuquerque, NM', - 1505243 => 'Albuquerque, NM', - 1505244 => 'Albuquerque, NM', - 1505246 => 'Albuquerque, NM', - 1505247 => 'Albuquerque, NM', - 1505248 => 'Albuquerque, NM', - 1505249 => 'Albuquerque, NM', + 150524 => 'Albuquerque, NM', 1505250 => 'Albuquerque, NM', 1505254 => 'Albuquerque, NM', 1505255 => 'Albuquerque, NM', 1505256 => 'Albuquerque, NM', 1505259 => 'Albuquerque, NM', - 1505260 => 'Albuquerque, NM', - 1505261 => 'Albuquerque, NM', - 1505262 => 'Albuquerque, NM', - 1505263 => 'Albuquerque, NM', - 1505265 => 'Albuquerque, NM', - 1505266 => 'Albuquerque, NM', - 1505268 => 'Albuquerque, NM', - 1505269 => 'Albuquerque, NM', + 150526 => 'Albuquerque, NM', 1505271 => 'Albuquerque, NM', 1505272 => 'Albuquerque, NM', 1505275 => 'Albuquerque, NM', @@ -674,13 +523,7 @@ return array ( 1505280 => 'Albuquerque, NM', 1505285 => 'Grants, NM', 1505287 => 'Grants, NM', - 1505291 => 'Albuquerque, NM', - 1505292 => 'Albuquerque, NM', - 1505293 => 'Albuquerque, NM', - 1505294 => 'Albuquerque, NM', - 1505296 => 'Albuquerque, NM', - 1505298 => 'Albuquerque, NM', - 1505299 => 'Albuquerque, NM', + 150529 => 'Albuquerque, NM', 1505304 => 'Albuquerque, NM', 1505312 => 'Albuquerque, NM', 1505314 => 'Albuquerque, NM', @@ -696,12 +539,7 @@ return array ( 1505332 => 'Albuquerque, NM', 1505334 => 'Aztec, NM', 1505338 => 'Albuquerque, NM', - 1505341 => 'Albuquerque, NM', - 1505342 => 'Albuquerque, NM', - 1505343 => 'Albuquerque, NM', - 1505344 => 'Albuquerque, NM', - 1505345 => 'Albuquerque, NM', - 1505346 => 'Albuquerque, NM', + 150534 => 'Albuquerque, NM', 1505350 => 'Albuquerque, NM', 1505352 => 'Albuquerque, NM', 1505363 => 'Albuquerque, NM', @@ -791,13 +629,8 @@ return array ( 1505823 => 'Albuquerque, NM', 1505827 => 'Santa Fe, NM', 1505828 => 'Albuquerque, NM', - 1505830 => 'Albuquerque, NM', - 1505831 => 'Albuquerque, NM', + 150583 => 'Albuquerque, NM', 1505832 => 'Moriarty, NM', - 1505833 => 'Albuquerque, NM', - 1505836 => 'Albuquerque, NM', - 1505837 => 'Albuquerque, NM', - 1505839 => 'Albuquerque, NM', 1505841 => 'Albuquerque, NM', 1505842 => 'Albuquerque, NM', 1505843 => 'Albuquerque, NM', @@ -816,12 +649,7 @@ return array ( 1505872 => 'Albuquerque, NM', 1505873 => 'Albuquerque, NM', 1505877 => 'Albuquerque, NM', - 1505880 => 'Albuquerque, NM', - 1505881 => 'Albuquerque, NM', - 1505883 => 'Albuquerque, NM', - 1505884 => 'Albuquerque, NM', - 1505888 => 'Albuquerque, NM', - 1505889 => 'Albuquerque, NM', + 150588 => 'Albuquerque, NM', 1505890 => 'Albuquerque, NM', 1505891 => 'Rio Rancho, NM', 1505892 => 'Rio Rancho, NM', @@ -833,13 +661,8 @@ return array ( 1505922 => 'Albuquerque, NM', 1505954 => 'Santa Fe, NM', 1505955 => 'Santa Fe, NM', + 150598 => 'Santa Fe, NM', 1505980 => 'Albuquerque, NM', - 1505982 => 'Santa Fe, NM', - 1505983 => 'Santa Fe, NM', - 1505984 => 'Santa Fe, NM', - 1505986 => 'Santa Fe, NM', - 1505988 => 'Santa Fe, NM', - 1505989 => 'Santa Fe, NM', 1505992 => 'Santa Fe, NM', 1505994 => 'Rio Rancho, NM', 1505995 => 'Santa Fe, NM', @@ -867,15 +690,7 @@ return array ( 1506432 => 'Sussex, NB', 1506433 => 'Sussex, NB', 1506446 => 'Oromocto, NB', - 1506450 => 'Fredericton, NB', - 1506451 => 'Fredericton, NB', - 1506452 => 'Fredericton, NB', - 1506453 => 'Fredericton, NB', - 1506454 => 'Fredericton, NB', - 1506455 => 'Fredericton, NB', - 1506457 => 'Fredericton, NB', - 1506458 => 'Fredericton, NB', - 1506459 => 'Fredericton, NB', + 150645 => 'Fredericton, NB', 1506466 => 'Saint Stephen, NB', 1506472 => 'Fredericton, NB', 1506473 => 'Grand Falls, NB', @@ -919,15 +734,7 @@ return array ( 1506789 => 'Campbellton, NB', 1506832 => 'Hampton, NB', 1506847 => 'Rothesay, NB', - 1506850 => 'Moncton, NB', - 1506852 => 'Moncton, NB', - 1506853 => 'Moncton, NB', - 1506854 => 'Moncton, NB', - 1506855 => 'Moncton, NB', - 1506856 => 'Moncton, NB', - 1506857 => 'Moncton, NB', - 1506858 => 'Moncton, NB', - 1506859 => 'Moncton, NB', + 150685 => 'Moncton, NB', 1506866 => 'Moncton, NB', 1506876 => 'Saint-Louis de Kent, NB', 1506992 => 'Clair, NB', @@ -946,15 +753,8 @@ return array ( 1507263 => 'Cannon Falls, MN', 1507274 => 'Westbrook, MN', 1507275 => 'Hendricks, MN', - 1507280 => 'Rochester, MN', - 1507281 => 'Rochester, MN', - 1507282 => 'Rochester, MN', + 150728 => 'Rochester, MN', 1507283 => 'Luverne, MN', - 1507284 => 'Rochester, MN', - 1507285 => 'Rochester, MN', - 1507287 => 'Rochester, MN', - 1507288 => 'Rochester, MN', - 1507289 => 'Rochester, MN', 1507292 => 'Rochester, MN', 1507328 => 'Rochester, MN', 1507332 => 'Faribault, MN', @@ -1133,12 +933,7 @@ return array ( 1508553 => 'Franklin, MA', 1508559 => 'Brockton, MA', 1508567 => 'Fall River, MA', - 1508580 => 'Brockton, MA', - 1508583 => 'Brockton, MA', - 1508584 => 'Brockton, MA', - 1508586 => 'Brockton, MA', - 1508587 => 'Brockton, MA', - 1508588 => 'Brockton, MA', + 150858 => 'Brockton, MA', 1508595 => 'Worcester, MA', 1508616 => 'Westborough, MA', 1508620 => 'Framingham, MA', @@ -1160,14 +955,7 @@ return array ( 1508660 => 'Walpole, MA', 1508668 => 'Walpole, MA', 1508669 => 'Dighton, MA', - 1508672 => 'Fall River, MA', - 1508673 => 'Fall River, MA', - 1508674 => 'Fall River, MA', - 1508675 => 'Fall River, MA', - 1508676 => 'Fall River, MA', - 1508677 => 'Fall River, MA', - 1508678 => 'Fall River, MA', - 1508679 => 'Fall River, MA', + 150867 => 'Fall River, MA', 1508693 => 'Vineyard Haven, MA', 1508695 => 'North Attleborough, MA', 1508696 => 'Vineyard Haven, MA', @@ -1181,12 +969,7 @@ return array ( 1508746 => 'Plymouth, MA', 1508747 => 'Plymouth, MA', 1508748 => 'Marion, MA', - 1508752 => 'Worcester, MA', - 1508753 => 'Worcester, MA', - 1508754 => 'Worcester, MA', - 1508755 => 'Worcester, MA', - 1508756 => 'Worcester, MA', - 1508757 => 'Worcester, MA', + 150875 => 'Worcester, MA', 1508758 => 'Mattapoisett, MA', 1508761 => 'Attleboro, MA', 1508764 => 'Southbridge, MA', @@ -1198,14 +981,8 @@ return array ( 1508778 => 'Hyannis, MA', 1508785 => 'Dover, MA', 1508788 => 'Framingham, MA', + 150879 => 'Worcester, MA', 1508790 => 'Hyannis, MA', - 1508791 => 'Worcester, MA', - 1508792 => 'Worcester, MA', - 1508793 => 'Worcester, MA', - 1508795 => 'Worcester, MA', - 1508797 => 'Worcester, MA', - 1508798 => 'Worcester, MA', - 1508799 => 'Worcester, MA', 1508820 => 'Framingham, MA', 1508821 => 'Taunton, MA', 1508822 => 'Taunton, MA', @@ -1259,14 +1036,7 @@ return array ( 1508984 => 'New Bedford, MA', 1508985 => 'New Bedford, MA', 1508987 => 'Oxford, MA', - 1508990 => 'New Bedford, MA', - 1508991 => 'New Bedford, MA', - 1508992 => 'New Bedford, MA', - 1508993 => 'New Bedford, MA', - 1508995 => 'New Bedford, MA', - 1508997 => 'New Bedford, MA', - 1508998 => 'New Bedford, MA', - 1508999 => 'New Bedford, MA', + 150899 => 'New Bedford, MA', 1509 => 'Washington State', 1509216 => 'Spokane, WA', 1509225 => 'Yakima, WA', @@ -1286,12 +1056,7 @@ return array ( 1509293 => 'Wenatchee, WA', 1509299 => 'Medical Lake, WA', 1509301 => 'Walla Walla, WA', - 1509323 => 'Spokane, WA', - 1509324 => 'Spokane, WA', - 1509325 => 'Spokane, WA', - 1509326 => 'Spokane, WA', - 1509327 => 'Spokane, WA', - 1509328 => 'Spokane, WA', + 150932 => 'Spokane, WA', 1509332 => 'Pullman, WA', 1509334 => 'Pullman, WA', 1509340 => 'Spokane, WA', @@ -1339,23 +1104,13 @@ return array ( 1509488 => 'Othello, WA', 1509489 => 'Spokane, WA', 1509493 => 'White Salmon, WA', - 1509520 => 'Walla Walla, WA', - 1509522 => 'Walla Walla, WA', - 1509525 => 'Walla Walla, WA', - 1509526 => 'Walla Walla, WA', - 1509527 => 'Walla Walla, WA', - 1509529 => 'Walla Walla, WA', + 150952 => 'Walla Walla, WA', 1509532 => 'Spokane, WA', 1509533 => 'Spokane, WA', 1509534 => 'Spokane, WA', 1509535 => 'Spokane, WA', 1509536 => 'Spokane, WA', - 1509542 => 'Pasco, WA', - 1509543 => 'Pasco, WA', - 1509544 => 'Pasco, WA', - 1509545 => 'Pasco, WA', - 1509546 => 'Pasco, WA', - 1509547 => 'Pasco, WA', + 150954 => 'Pasco, WA', 1509548 => 'Leavenworth, WA', 1509573 => 'Yakima, WA', 1509574 => 'Yakima, WA', @@ -1428,13 +1183,8 @@ return array ( 1509888 => 'Wenatchee, WA', 1509891 => 'Spokane Valley, WA', 1509892 => 'Spokane Valley, WA', - 1509921 => 'Spokane Valley, WA', - 1509922 => 'Spokane Valley, WA', - 1509924 => 'Spokane Valley, WA', + 150992 => 'Spokane Valley, WA', 1509925 => 'Ellensburg, WA', - 1509926 => 'Spokane Valley, WA', - 1509927 => 'Spokane Valley, WA', - 1509928 => 'Spokane Valley, WA', 1509932 => 'Mattawa, WA', 1509933 => 'Ellensburg, WA', 1509935 => 'Chewelah, WA', @@ -1457,13 +1207,7 @@ return array ( 1510204 => 'Berkeley, CA', 1510208 => 'Oakland, CA', 1510226 => 'Fremont, CA', - 1510231 => 'Richmond, CA', - 1510232 => 'Richmond, CA', - 1510233 => 'Richmond, CA', - 1510234 => 'Richmond, CA', - 1510235 => 'Richmond, CA', - 1510236 => 'Richmond, CA', - 1510237 => 'Richmond, CA', + 151023 => 'Richmond, CA', 1510238 => 'Oakland, CA', 1510245 => 'Hercules, CA', 1510248 => 'Fremont, CA', @@ -1524,13 +1268,7 @@ return array ( 1510521 => 'Alameda, CA', 1510522 => 'Alameda, CA', 1510523 => 'Alameda, CA', - 1510530 => 'Oakland, CA', - 1510531 => 'Oakland, CA', - 1510532 => 'Oakland, CA', - 1510533 => 'Oakland, CA', - 1510534 => 'Oakland, CA', - 1510535 => 'Oakland, CA', - 1510536 => 'Oakland, CA', + 151053 => 'Oakland, CA', 1510537 => 'Castro Valley, CA', 1510540 => 'Berkeley, CA', 1510547 => 'Oakland, CA', @@ -1549,12 +1287,7 @@ return array ( 1510620 => 'Richmond, CA', 1510623 => 'Fremont, CA', 1510625 => 'Oakland, CA', - 1510632 => 'Oakland, CA', - 1510633 => 'Oakland, CA', - 1510635 => 'Oakland, CA', - 1510636 => 'Oakland, CA', - 1510638 => 'Oakland, CA', - 1510639 => 'Oakland, CA', + 151063 => 'Oakland, CA', 1510642 => 'Berkeley, CA', 1510644 => 'Berkeley, CA', 1510647 => 'Berkeley, CA', @@ -1593,21 +1326,9 @@ return array ( 1510769 => 'Alameda, CA', 1510770 => 'Fremont, CA', 1510777 => 'Oakland, CA', - 1510780 => 'Hayward, CA', - 1510782 => 'Hayward, CA', - 1510783 => 'Hayward, CA', - 1510784 => 'Hayward, CA', - 1510785 => 'Hayward, CA', - 1510786 => 'Hayward, CA', + 151078 => 'Hayward, CA', 1510787 => 'Crockett, CA', - 1510790 => 'Fremont, CA', - 1510791 => 'Fremont, CA', - 1510792 => 'Fremont, CA', - 1510793 => 'Fremont, CA', - 1510794 => 'Fremont, CA', - 1510795 => 'Fremont, CA', - 1510796 => 'Fremont, CA', - 1510797 => 'Fremont, CA', + 151079 => 'Fremont, CA', 1510814 => 'Alameda, CA', 1510818 => 'Fremont, CA', 1510832 => 'Oakland, CA', @@ -1676,31 +1397,12 @@ return array ( 1512308 => 'Bastrop, TX', 1512310 => 'Round Rock, TX', 1512312 => 'Buda, TX', - 1512320 => 'Austin, TX', + 151232 => 'Austin, TX', 1512321 => 'Bastrop, TX', - 1512322 => 'Austin, TX', - 1512323 => 'Austin, TX', - 1512324 => 'Austin, TX', - 1512326 => 'Austin, TX', - 1512327 => 'Austin, TX', - 1512328 => 'Austin, TX', - 1512329 => 'Austin, TX', - 1512330 => 'Austin, TX', - 1512331 => 'Austin, TX', + 151233 => 'Austin, TX', 1512332 => 'Bastrop, TX', - 1512334 => 'Austin, TX', - 1512335 => 'Austin, TX', - 1512338 => 'Austin, TX', - 1512339 => 'Austin, TX', - 1512340 => 'Austin, TX', + 151234 => 'Austin, TX', 1512341 => 'Round Rock, TX', - 1512342 => 'Austin, TX', - 1512343 => 'Austin, TX', - 1512344 => 'Austin, TX', - 1512345 => 'Austin, TX', - 1512346 => 'Austin, TX', - 1512347 => 'Austin, TX', - 1512349 => 'Austin, TX', 1512351 => 'Austin, TX', 1512352 => 'Taylor, TX', 1512353 => 'San Marcos, TX', @@ -1708,20 +1410,10 @@ return array ( 1512358 => 'Austin, TX', 1512360 => 'Smithville, TX', 1512365 => 'Taylor, TX', - 1512370 => 'Austin, TX', - 1512371 => 'Austin, TX', - 1512372 => 'Austin, TX', - 1512373 => 'Austin, TX', - 1512374 => 'Austin, TX', + 151237 => 'Austin, TX', 1512376 => 'Lockhart, TX', - 1512377 => 'Austin, TX', - 1512380 => 'Austin, TX', - 1512382 => 'Austin, TX', - 1512383 => 'Austin, TX', - 1512385 => 'Austin, TX', - 1512386 => 'Austin, TX', + 151238 => 'Austin, TX', 1512388 => 'Round Rock, TX', - 1512389 => 'Austin, TX', 1512391 => 'Austin, TX', 1512392 => 'San Marcos, TX', 1512393 => 'San Marcos, TX', @@ -1734,35 +1426,14 @@ return array ( 1512418 => 'Austin, TX', 1512419 => 'Austin, TX', 1512420 => 'Austin, TX', - 1512440 => 'Austin, TX', - 1512441 => 'Austin, TX', - 1512442 => 'Austin, TX', - 1512443 => 'Austin, TX', - 1512444 => 'Austin, TX', - 1512445 => 'Austin, TX', + 151244 => 'Austin, TX', 1512446 => 'Rockdale, TX', - 1512447 => 'Austin, TX', - 1512448 => 'Austin, TX', - 1512450 => 'Austin, TX', - 1512451 => 'Austin, TX', - 1512452 => 'Austin, TX', - 1512453 => 'Austin, TX', - 1512454 => 'Austin, TX', - 1512457 => 'Austin, TX', - 1512458 => 'Austin, TX', - 1512459 => 'Austin, TX', + 151245 => 'Austin, TX', 1512462 => 'Austin, TX', 1512463 => 'Austin, TX', 1512467 => 'Austin, TX', 1512469 => 'Austin, TX', - 1512471 => 'Austin, TX', - 1512472 => 'Austin, TX', - 1512473 => 'Austin, TX', - 1512474 => 'Austin, TX', - 1512476 => 'Austin, TX', - 1512477 => 'Austin, TX', - 1512478 => 'Austin, TX', - 1512479 => 'Austin, TX', + 151247 => 'Austin, TX', 1512480 => 'Austin, TX', 1512481 => 'Austin, TX', 1512482 => 'Austin, TX', @@ -1807,12 +1478,7 @@ return array ( 1512805 => 'San Marcos, TX', 1512819 => 'Georgetown, TX', 1512821 => 'Austin, TX', - 1512832 => 'Austin, TX', - 1512833 => 'Austin, TX', - 1512834 => 'Austin, TX', - 1512835 => 'Austin, TX', - 1512836 => 'Austin, TX', - 1512837 => 'Austin, TX', + 151283 => 'Austin, TX', 1512846 => 'Hutto, TX', 1512847 => 'Wimberley, TX', 1512854 => 'Austin, TX', @@ -2013,32 +1679,9 @@ return array ( 1514 => 'Quebec', 1514223 => 'Montreal, QC', 1514227 => 'Montreal, QC', - 1514251 => 'Montreal, QC', - 1514252 => 'Montreal, QC', - 1514253 => 'Montreal, QC', - 1514254 => 'Montreal, QC', - 1514255 => 'Montreal, QC', - 1514256 => 'Montreal, QC', - 1514257 => 'Montreal, QC', - 1514259 => 'Montreal, QC', - 1514270 => 'Montreal, QC', - 1514271 => 'Montreal, QC', - 1514272 => 'Montreal, QC', - 1514273 => 'Montreal, QC', - 1514274 => 'Montreal, QC', - 1514276 => 'Montreal, QC', - 1514277 => 'Montreal, QC', - 1514278 => 'Montreal, QC', - 1514279 => 'Montreal, QC', - 1514280 => 'Montreal, QC', - 1514281 => 'Montreal, QC', - 1514282 => 'Montreal, QC', - 1514284 => 'Montreal, QC', - 1514285 => 'Montreal, QC', - 1514286 => 'Montreal, QC', - 1514287 => 'Montreal, QC', - 1514288 => 'Montreal, QC', - 1514289 => 'Montreal, QC', + 151425 => 'Montreal, QC', + 151427 => 'Montreal, QC', + 151428 => 'Montreal, QC', 1514303 => 'Montreal, QC', 1514313 => 'Montreal, QC', 1514315 => 'Montreal, QC', @@ -2048,44 +1691,19 @@ return array ( 1514340 => 'Montreal, QC', 1514342 => 'Montreal, QC', 1514345 => 'Montreal, QC', - 1514363 => 'Lasalle, QC', - 1514364 => 'Lasalle, QC', - 1514365 => 'Lasalle, QC', - 1514366 => 'Lasalle, QC', - 1514367 => 'Lasalle, QC', - 1514368 => 'Lasalle, QC', + 151436 => 'Lasalle, QC', 1514369 => 'Montreal, QC', 1514374 => 'Montreal, QC', 1514376 => 'Montreal, QC', - 1514381 => 'Montreal, QC', - 1514382 => 'Montreal, QC', - 1514383 => 'Montreal, QC', - 1514384 => 'Montreal, QC', - 1514385 => 'Montreal, QC', - 1514387 => 'Montreal, QC', - 1514388 => 'Montreal, QC', - 1514389 => 'Montreal, QC', - 1514392 => 'Montreal, QC', - 1514393 => 'Montreal, QC', - 1514395 => 'Montreal, QC', - 1514396 => 'Montreal, QC', - 1514397 => 'Montreal, QC', - 1514398 => 'Montreal, QC', + 151438 => 'Montreal, QC', + 151439 => 'Montreal, QC', 1514419 => 'Montreal, QC', 1514422 => 'Dorval, QC', 1514426 => 'Pointe-Claire, QC', 1514428 => 'Pointe-Claire, QC', 1514439 => 'Montreal, QC', 1514461 => 'Montreal, QC', - 1514481 => 'Montreal, QC', - 1514482 => 'Montreal, QC', - 1514483 => 'Montreal, QC', - 1514484 => 'Montreal, QC', - 1514485 => 'Montreal, QC', - 1514486 => 'Montreal, QC', - 1514487 => 'Montreal, QC', - 1514488 => 'Montreal, QC', - 1514489 => 'Montreal, QC', + 151448 => 'Montreal, QC', 1514495 => 'Montreal, QC', 1514498 => 'Pointe-aux-Trembles, QC', 1514499 => 'Montreal, QC', @@ -2094,15 +1712,7 @@ return array ( 1514508 => 'Montreal, QC', 1514509 => 'Montreal, QC', 1514510 => 'Montreal, QC', - 1514521 => 'Montreal, QC', - 1514522 => 'Montreal, QC', - 1514523 => 'Montreal, QC', - 1514524 => 'Montreal, QC', - 1514525 => 'Montreal, QC', - 1514526 => 'Montreal, QC', - 1514527 => 'Montreal, QC', - 1514528 => 'Montreal, QC', - 1514529 => 'Montreal, QC', + 151452 => 'Montreal, QC', 1514543 => 'Montreal, QC', 1514544 => 'Montreal, QC', 1514564 => 'Montreal, QC', @@ -2124,20 +1734,8 @@ return array ( 1514694 => 'Pointe-Claire, QC', 1514695 => 'Pointe-Claire, QC', 1514697 => 'Pointe-Claire, QC', - 1514721 => 'Montreal, QC', - 1514722 => 'Montreal, QC', - 1514723 => 'Montreal, QC', - 1514725 => 'Montreal, QC', - 1514727 => 'Montreal, QC', - 1514728 => 'Montreal, QC', - 1514729 => 'Montreal, QC', - 1514731 => 'Montreal, QC', - 1514733 => 'Montreal, QC', - 1514735 => 'Montreal, QC', - 1514736 => 'Montreal, QC', - 1514737 => 'Montreal, QC', - 1514738 => 'Montreal, QC', - 1514739 => 'Montreal, QC', + 151472 => 'Montreal, QC', + 151473 => 'Montreal, QC', 1514744 => 'Saint-Laurent, QC', 1514747 => 'Saint-Laurent, QC', 1514748 => 'Saint-Laurent, QC', @@ -2148,41 +1746,20 @@ return array ( 1514789 => 'Montreal, QC', 1514798 => 'Montreal, QC', 1514807 => 'Montreal, QC', - 1514840 => 'Montreal, QC', - 1514842 => 'Montreal, QC', - 1514843 => 'Montreal, QC', - 1514844 => 'Montreal, QC', - 1514845 => 'Montreal, QC', - 1514846 => 'Montreal, QC', - 1514847 => 'Montreal, QC', - 1514848 => 'Montreal, QC', - 1514849 => 'Montreal, QC', + 151484 => 'Montreal, QC', 1514855 => 'Saint-Laurent, QC', 1514858 => 'Montreal, QC', 1514861 => 'Montreal, QC', 1514866 => 'Montreal, QC', 1514868 => 'Montreal, QC', - 1514871 => 'Montreal, QC', - 1514872 => 'Montreal, QC', - 1514874 => 'Montreal, QC', - 1514875 => 'Montreal, QC', - 1514876 => 'Montreal, QC', - 1514878 => 'Montreal, QC', - 1514879 => 'Montreal, QC', + 151487 => 'Montreal, QC', 1514899 => 'Montreal, QC', 1514903 => 'Montreal, QC', 1514904 => 'Montreal, QC', 1514905 => 'Montreal, QC', 1514906 => 'Montreal, QC', 1514908 => 'Montreal, QC', - 1514931 => 'Montreal, QC', - 1514932 => 'Montreal, QC', - 1514933 => 'Montreal, QC', - 1514934 => 'Montreal, QC', - 1514935 => 'Montreal, QC', - 1514937 => 'Montreal, QC', - 1514938 => 'Montreal, QC', - 1514939 => 'Montreal, QC', + 151493 => 'Montreal, QC', 1514940 => 'Montreal, QC', 1514948 => 'Montreal, QC', 1514954 => 'Montreal, QC', @@ -2201,13 +1778,7 @@ return array ( 1515233 => 'Ames, IA', 1515237 => 'Des Moines, IA', 1515239 => 'Ames, IA', - 1515241 => 'Des Moines, IA', - 1515242 => 'Des Moines, IA', - 1515243 => 'Des Moines, IA', - 1515244 => 'Des Moines, IA', - 1515245 => 'Des Moines, IA', - 1515246 => 'Des Moines, IA', - 1515247 => 'Des Moines, IA', + 151524 => 'Des Moines, IA', 1515255 => 'Des Moines, IA', 1515256 => 'Des Moines, IA', 1515262 => 'Des Moines, IA', @@ -2221,15 +1792,7 @@ return array ( 1515275 => 'Ogden, IA', 1515277 => 'Des Moines, IA', 1515279 => 'Des Moines, IA', - 1515280 => 'Des Moines, IA', - 1515281 => 'Des Moines, IA', - 1515282 => 'Des Moines, IA', - 1515283 => 'Des Moines, IA', - 1515284 => 'Des Moines, IA', - 1515285 => 'Des Moines, IA', - 1515286 => 'Des Moines, IA', - 1515287 => 'Des Moines, IA', - 1515288 => 'Des Moines, IA', + 151528 => 'Des Moines, IA', 1515289 => 'Ankeny, IA', 1515292 => 'Ames, IA', 1515294 => 'Ames, IA', @@ -2434,13 +1997,7 @@ return array ( 1517750 => 'Jackson, MI', 1517764 => 'Jackson, MI', 1517768 => 'Jackson, MI', - 1517780 => 'Jackson, MI', - 1517782 => 'Jackson, MI', - 1517783 => 'Jackson, MI', - 1517784 => 'Jackson, MI', - 1517787 => 'Jackson, MI', - 1517788 => 'Jackson, MI', - 1517789 => 'Jackson, MI', + 151778 => 'Jackson, MI', 1517796 => 'Jackson, MI', 1517841 => 'Jackson, MI', 1517849 => 'Jonesville, MI', @@ -2463,12 +2020,7 @@ return array ( 1518263 => 'Hunter, NY', 1518266 => 'Troy, NY', 1518268 => 'Troy, NY', - 1518270 => 'Troy, NY', - 1518271 => 'Troy, NY', - 1518272 => 'Troy, NY', - 1518273 => 'Troy, NY', - 1518274 => 'Troy, NY', - 1518279 => 'Troy, NY', + 151827 => 'Troy, NY', 1518286 => 'Rensselaer, NY', 1518292 => 'Albany, NY', 1518295 => 'Schoharie, NY', @@ -2501,12 +2053,7 @@ return array ( 1518398 => 'Pine Plains, NY', 1518426 => 'Albany, NY', 1518427 => 'Albany, NY', - 1518432 => 'Albany, NY', - 1518434 => 'Albany, NY', - 1518435 => 'Albany, NY', - 1518436 => 'Albany, NY', - 1518437 => 'Albany, NY', - 1518438 => 'Albany, NY', + 151843 => 'Albany, NY', 1518439 => 'Delmar, NY', 1518446 => 'Albany, NY', 1518447 => 'Albany, NY', @@ -2625,14 +2172,7 @@ return array ( 1519236 => 'Zurich, ON', 1519238 => 'Grand Bend, ON', 1519245 => 'Strathroy, ON', - 1519250 => 'Windsor, ON', - 1519251 => 'Windsor, ON', - 1519252 => 'Windsor, ON', - 1519253 => 'Windsor, ON', - 1519254 => 'Windsor, ON', - 1519255 => 'Windsor, ON', - 1519256 => 'Windsor, ON', - 1519258 => 'Windsor, ON', + 151925 => 'Windsor, ON', 1519264 => 'Mount Brydges, ON', 1519265 => 'Guelph, ON', 1519267 => 'Cambridge, ON', @@ -2797,24 +2337,11 @@ return array ( 1519736 => 'Amherstburg, ON', 1519737 => 'Maidstone, ON', 1519738 => 'Harrow, ON', + 151974 => 'Kitchener, ON', 1519740 => 'Cambridge, ON', - 1519741 => 'Kitchener, ON', - 1519742 => 'Kitchener, ON', - 1519743 => 'Kitchener, ON', - 1519744 => 'Kitchener, ON', - 1519745 => 'Kitchener, ON', 1519746 => 'Waterloo, ON', 1519747 => 'Waterloo, ON', - 1519748 => 'Kitchener, ON', - 1519749 => 'Kitchener, ON', - 1519750 => 'Brantford, ON', - 1519751 => 'Brantford, ON', - 1519752 => 'Brantford, ON', - 1519753 => 'Brantford, ON', - 1519754 => 'Brantford, ON', - 1519756 => 'Brantford, ON', - 1519758 => 'Brantford, ON', - 1519759 => 'Brantford, ON', + 151975 => 'Brantford, ON', 1519762 => 'Dutton, ON', 1519763 => 'Guelph, ON', 1519765 => 'Aylmer West, ON', @@ -2830,14 +2357,8 @@ return array ( 1519793 => 'Lion\'s Head, ON', 1519794 => 'Chatsworth, ON', 1519797 => 'Southampton, ON', - 1519821 => 'Guelph, ON', - 1519822 => 'Guelph, ON', - 1519823 => 'Guelph, ON', - 1519824 => 'Guelph, ON', + 151982 => 'Guelph, ON', 1519825 => 'Wheatley, ON', - 1519826 => 'Guelph, ON', - 1519827 => 'Guelph, ON', - 1519829 => 'Guelph, ON', 1519832 => 'Port Elgin, ON', 1519833 => 'Erin, ON', 1519836 => 'Guelph, ON', @@ -2856,15 +2377,10 @@ return array ( 1519862 => 'Corunna, ON', 1519863 => 'Norwich, ON', 1519875 => 'Langton, ON', - 1519880 => 'Waterloo, ON', + 151988 => 'Waterloo, ON', 1519881 => 'Walkerton, ON', 1519882 => 'Petrolia, ON', - 1519883 => 'Waterloo, ON', - 1519884 => 'Waterloo, ON', - 1519885 => 'Waterloo, ON', - 1519886 => 'Waterloo, ON', 1519887 => 'Brussels, ON', - 1519888 => 'Waterloo, ON', 1519893 => 'Kitchener, ON', 1519894 => 'Kitchener, ON', 1519895 => 'Kitchener, ON', @@ -2892,12 +2408,7 @@ return array ( 1519966 => 'Windsor, ON', 1519967 => 'Windsor, ON', 1519969 => 'Windsor, ON', - 1519971 => 'Windsor, ON', - 1519972 => 'Windsor, ON', - 1519973 => 'Windsor, ON', - 1519974 => 'Windsor, ON', - 1519977 => 'Windsor, ON', - 1519978 => 'Windsor, ON', + 151997 => 'Windsor, ON', 1519986 => 'Markdale, ON', 1520 => 'Arizona', 1520207 => 'Tucson, AZ', @@ -2907,27 +2418,12 @@ return array ( 1520232 => 'Tucson, AZ', 1520281 => 'Nogales, AZ', 1520287 => 'Nogales, AZ', - 1520290 => 'Tucson, AZ', - 1520292 => 'Tucson, AZ', - 1520293 => 'Tucson, AZ', - 1520294 => 'Tucson, AZ', - 1520295 => 'Tucson, AZ', - 1520296 => 'Tucson, AZ', - 1520297 => 'Tucson, AZ', - 1520298 => 'Tucson, AZ', - 1520299 => 'Tucson, AZ', + 152029 => 'Tucson, AZ', 1520300 => 'Tucson, AZ', 1520316 => 'Casa Grande, AZ', 1520318 => 'Tucson, AZ', 1520319 => 'Tucson, AZ', - 1520320 => 'Tucson, AZ', - 1520321 => 'Tucson, AZ', - 1520322 => 'Tucson, AZ', - 1520323 => 'Tucson, AZ', - 1520324 => 'Tucson, AZ', - 1520325 => 'Tucson, AZ', - 1520326 => 'Tucson, AZ', - 1520327 => 'Tucson, AZ', + 152032 => 'Tucson, AZ', 1520344 => 'Tucson, AZ', 1520364 => 'Douglas, AZ', 1520377 => 'Nogales, AZ', @@ -2965,26 +2461,12 @@ return array ( 1520547 => 'Tucson, AZ', 1520562 => 'Sacaton, AZ', 1520568 => 'Maricopa, AZ', - 1520571 => 'Tucson, AZ', - 1520572 => 'Tucson, AZ', - 1520573 => 'Tucson, AZ', - 1520574 => 'Tucson, AZ', - 1520575 => 'Tucson, AZ', - 1520577 => 'Tucson, AZ', - 1520578 => 'Tucson, AZ', - 1520579 => 'Tucson, AZ', + 152057 => 'Tucson, AZ', 1520584 => 'Tucson, AZ', 1520586 => 'Benson, AZ', 1520615 => 'Tucson, AZ', - 1520620 => 'Tucson, AZ', - 1520621 => 'Tucson, AZ', - 1520622 => 'Tucson, AZ', - 1520623 => 'Tucson, AZ', - 1520624 => 'Tucson, AZ', + 152062 => 'Tucson, AZ', 1520625 => 'Green Valley, AZ', - 1520626 => 'Tucson, AZ', - 1520628 => 'Tucson, AZ', - 1520629 => 'Tucson, AZ', 1520647 => 'Tucson, AZ', 1520648 => 'Green Valley, AZ', 1520663 => 'Tucson, AZ', @@ -2998,16 +2480,7 @@ return array ( 1520723 => 'Coolidge, AZ', 1520731 => 'Tucson, AZ', 1520733 => 'Tucson, AZ', - 1520740 => 'Tucson, AZ', - 1520741 => 'Tucson, AZ', - 1520742 => 'Tucson, AZ', - 1520743 => 'Tucson, AZ', - 1520744 => 'Tucson, AZ', - 1520745 => 'Tucson, AZ', - 1520746 => 'Tucson, AZ', - 1520747 => 'Tucson, AZ', - 1520748 => 'Tucson, AZ', - 1520749 => 'Tucson, AZ', + 152074 => 'Tucson, AZ', 1520750 => 'Tucson, AZ', 1520751 => 'Tucson, AZ', 1520760 => 'Tucson, AZ', @@ -3015,12 +2488,7 @@ return array ( 1520770 => 'Tucson, AZ', 1520777 => 'Tucson, AZ', 1520784 => 'Tucson, AZ', - 1520790 => 'Tucson, AZ', - 1520791 => 'Tucson, AZ', - 1520792 => 'Tucson, AZ', - 1520795 => 'Tucson, AZ', - 1520797 => 'Tucson, AZ', - 1520798 => 'Tucson, AZ', + 152079 => 'Tucson, AZ', 1520803 => 'Sierra Vista, AZ', 1520805 => 'Douglas, AZ', 1520807 => 'Tucson, AZ', @@ -3034,15 +2502,7 @@ return array ( 1520874 => 'Tucson, AZ', 1520876 => 'Casa Grande, AZ', 1520877 => 'Tucson, AZ', - 1520881 => 'Tucson, AZ', - 1520882 => 'Tucson, AZ', - 1520883 => 'Tucson, AZ', - 1520884 => 'Tucson, AZ', - 1520885 => 'Tucson, AZ', - 1520886 => 'Tucson, AZ', - 1520887 => 'Tucson, AZ', - 1520888 => 'Tucson, AZ', - 1520889 => 'Tucson, AZ', + 152088 => 'Tucson, AZ', 1520896 => 'Oracle, AZ', 1520903 => 'Tucson, AZ', 1520907 => 'Tucson, AZ', @@ -3051,23 +2511,10 @@ return array ( 1520977 => 'Tucson, AZ', 1530 => 'California', 1530209 => 'Redding, CA', - 1530221 => 'Redding, CA', - 1530222 => 'Redding, CA', - 1530223 => 'Redding, CA', - 1530224 => 'Redding, CA', - 1530225 => 'Redding, CA', - 1530226 => 'Redding, CA', - 1530227 => 'Redding, CA', - 1530229 => 'Redding, CA', + 153022 => 'Redding, CA', 1530233 => 'Alturas, CA', 1530235 => 'Dunsmuir, CA', - 1530241 => 'Redding, CA', - 1530242 => 'Redding, CA', - 1530243 => 'Redding, CA', - 1530244 => 'Redding, CA', - 1530245 => 'Redding, CA', - 1530246 => 'Redding, CA', - 1530247 => 'Redding, CA', + 153024 => 'Redding, CA', 1530251 => 'Susanville, CA', 1530257 => 'Susanville, CA', 1530258 => 'Chester, CA', @@ -3160,15 +2607,9 @@ return array ( 1530743 => 'Marysville, CA', 1530747 => 'Davis, CA', 1530749 => 'Marysville, CA', - 1530750 => 'Davis, CA', + 153075 => 'Davis, CA', 1530751 => 'Yuba City, CA', - 1530752 => 'Davis, CA', - 1530753 => 'Davis, CA', 1530755 => 'Yuba City, CA', - 1530756 => 'Davis, CA', - 1530757 => 'Davis, CA', - 1530758 => 'Davis, CA', - 1530759 => 'Davis, CA', 1530763 => 'Yuba City, CA', 1530790 => 'Yuba City, CA', 1530795 => 'Winters, CA', @@ -3191,14 +2632,7 @@ return array ( 1530887 => 'Auburn, CA', 1530888 => 'Auburn, CA', 1530889 => 'Auburn, CA', - 1530891 => 'Chico, CA', - 1530892 => 'Chico, CA', - 1530893 => 'Chico, CA', - 1530894 => 'Chico, CA', - 1530895 => 'Chico, CA', - 1530896 => 'Chico, CA', - 1530898 => 'Chico, CA', - 1530899 => 'Chico, CA', + 153089 => 'Chico, CA', 1530923 => 'Yuba City, CA', 1530926 => 'Mount Shasta, CA', 1530934 => 'Willows, CA', @@ -3429,14 +2863,8 @@ return array ( 1541332 => 'Port Orford, OR', 1541336 => 'Toledo, OR', 1541338 => 'Eugene, OR', - 1541341 => 'Eugene, OR', - 1541342 => 'Eugene, OR', - 1541343 => 'Eugene, OR', - 1541344 => 'Eugene, OR', - 1541345 => 'Eugene, OR', - 1541346 => 'Eugene, OR', + 154134 => 'Eugene, OR', 1541347 => 'Bandon, OR', - 1541349 => 'Eugene, OR', 1541352 => 'Mount Hood Parkdale, OR', 1541354 => 'Hood River, OR', 1541357 => 'Eugene, OR', @@ -3527,13 +2955,7 @@ return array ( 1541676 => 'Heppner, OR', 1541677 => 'Roseburg, OR', 1541678 => 'Bend, OR', - 1541682 => 'Eugene, OR', - 1541683 => 'Eugene, OR', - 1541684 => 'Eugene, OR', - 1541686 => 'Eugene, OR', - 1541687 => 'Eugene, OR', - 1541688 => 'Eugene, OR', - 1541689 => 'Eugene, OR', + 154168 => 'Eugene, OR', 1541706 => 'Bend, OR', 1541708 => 'Ashland, OR', 1541726 => 'Springfield, OR', @@ -3562,12 +2984,7 @@ return array ( 1541766 => 'Corvallis, OR', 1541767 => 'Cottage Grove, OR', 1541768 => 'Corvallis, OR', - 1541770 => 'Medford, OR', - 1541772 => 'Medford, OR', - 1541773 => 'Medford, OR', - 1541774 => 'Medford, OR', - 1541776 => 'Medford, OR', - 1541779 => 'Medford, OR', + 154177 => 'Medford, OR', 1541782 => 'Oakridge, OR', 1541783 => 'Chiloquin, OR', 1541789 => 'Medford, OR', @@ -3622,14 +3039,7 @@ return array ( 1548 => 'Ontario', 1551 => 'New Jersey', 1559 => 'California', - 1559221 => 'Fresno, CA', - 1559222 => 'Fresno, CA', - 1559224 => 'Fresno, CA', - 1559225 => 'Fresno, CA', - 1559226 => 'Fresno, CA', - 1559227 => 'Fresno, CA', - 1559228 => 'Fresno, CA', - 1559229 => 'Fresno, CA', + 155922 => 'Fresno, CA', 1559230 => 'Fresno, CA', 1559233 => 'Fresno, CA', 1559237 => 'Fresno, CA', @@ -3664,53 +3074,20 @@ return array ( 1559353 => 'Madera, CA', 1559386 => 'Avenal, CA', 1559412 => 'Fresno, CA', - 1559431 => 'Fresno, CA', - 1559432 => 'Fresno, CA', - 1559433 => 'Fresno, CA', - 1559434 => 'Fresno, CA', - 1559435 => 'Fresno, CA', - 1559436 => 'Fresno, CA', - 1559437 => 'Fresno, CA', - 1559438 => 'Fresno, CA', - 1559439 => 'Fresno, CA', - 1559440 => 'Fresno, CA', - 1559441 => 'Fresno, CA', - 1559442 => 'Fresno, CA', - 1559443 => 'Fresno, CA', - 1559445 => 'Fresno, CA', - 1559446 => 'Fresno, CA', - 1559447 => 'Fresno, CA', - 1559448 => 'Fresno, CA', - 1559449 => 'Fresno, CA', - 1559450 => 'Fresno, CA', - 1559452 => 'Fresno, CA', - 1559453 => 'Fresno, CA', - 1559454 => 'Fresno, CA', - 1559455 => 'Fresno, CA', - 1559456 => 'Fresno, CA', - 1559457 => 'Fresno, CA', - 1559459 => 'Fresno, CA', + 155943 => 'Fresno, CA', + 155944 => 'Fresno, CA', + 155945 => 'Fresno, CA', 1559478 => 'Fresno, CA', 1559485 => 'Fresno, CA', 1559486 => 'Fresno, CA', - 1559490 => 'Fresno, CA', - 1559492 => 'Fresno, CA', - 1559495 => 'Fresno, CA', - 1559497 => 'Fresno, CA', - 1559498 => 'Fresno, CA', - 1559499 => 'Fresno, CA', + 155949 => 'Fresno, CA', 1559528 => 'Orosi, CA', 1559535 => 'Terra Bella, CA', 1559539 => 'Springville, CA', 1559561 => 'Three Rivers, CA', 1559562 => 'Lindsay, CA', 1559564 => 'Woodlake, CA', - 1559582 => 'Hanford, CA', - 1559583 => 'Hanford, CA', - 1559584 => 'Hanford, CA', - 1559585 => 'Hanford, CA', - 1559587 => 'Hanford, CA', - 1559589 => 'Hanford, CA', + 155958 => 'Hanford, CA', 1559591 => 'Dinuba, CA', 1559592 => 'Exeter, CA', 1559594 => 'Exeter, CA', @@ -3855,32 +3232,13 @@ return array ( 1561655 => 'West Palm Beach, FL', 1561659 => 'West Palm Beach, FL', 1561672 => 'Boca Raton, FL', - 1561683 => 'West Palm Beach, FL', - 1561684 => 'West Palm Beach, FL', - 1561686 => 'West Palm Beach, FL', - 1561687 => 'West Palm Beach, FL', - 1561688 => 'West Palm Beach, FL', - 1561689 => 'West Palm Beach, FL', + 156168 => 'West Palm Beach, FL', 1561697 => 'West Palm Beach, FL', 1561712 => 'West Palm Beach, FL', - 1561731 => 'Boynton Beach, FL', - 1561732 => 'Boynton Beach, FL', - 1561733 => 'Boynton Beach, FL', - 1561734 => 'Boynton Beach, FL', - 1561735 => 'Boynton Beach, FL', - 1561736 => 'Boynton Beach, FL', - 1561737 => 'Boynton Beach, FL', - 1561738 => 'Boynton Beach, FL', - 1561739 => 'Boynton Beach, FL', + 156173 => 'Boynton Beach, FL', + 156174 => 'Jupiter, FL', 1561740 => 'Boynton Beach, FL', - 1561741 => 'Jupiter, FL', 1561742 => 'Boynton Beach, FL', - 1561743 => 'Jupiter, FL', - 1561744 => 'Jupiter, FL', - 1561745 => 'Jupiter, FL', - 1561746 => 'Jupiter, FL', - 1561747 => 'Jupiter, FL', - 1561748 => 'Jupiter, FL', 1561750 => 'Boca Raton, FL', 1561752 => 'Boynton Beach, FL', 1561756 => 'Boca Raton, FL', @@ -3924,33 +3282,11 @@ return array ( 1562343 => 'Long Beach, CA', 1562401 => 'Downey, CA', 1562408 => 'Paramount, CA', - 1562420 => 'Long Beach, CA', - 1562421 => 'Long Beach, CA', - 1562422 => 'Long Beach, CA', - 1562423 => 'Long Beach, CA', - 1562424 => 'Long Beach, CA', - 1562425 => 'Long Beach, CA', - 1562426 => 'Long Beach, CA', - 1562427 => 'Long Beach, CA', - 1562428 => 'Long Beach, CA', - 1562429 => 'Long Beach, CA', - 1562432 => 'Long Beach, CA', - 1562433 => 'Long Beach, CA', - 1562434 => 'Long Beach, CA', - 1562435 => 'Long Beach, CA', - 1562436 => 'Long Beach, CA', - 1562437 => 'Long Beach, CA', - 1562438 => 'Long Beach, CA', - 1562439 => 'Long Beach, CA', + 156242 => 'Long Beach, CA', + 156243 => 'Long Beach, CA', 1562461 => 'Bellflower, CA', 1562464 => 'Whittier, CA', - 1562490 => 'Long Beach, CA', - 1562491 => 'Long Beach, CA', - 1562492 => 'Long Beach, CA', - 1562494 => 'Long Beach, CA', - 1562495 => 'Long Beach, CA', - 1562496 => 'Long Beach, CA', - 1562498 => 'Long Beach, CA', + 156249 => 'Long Beach, CA', 1562529 => 'Paramount, CA', 1562531 => 'Paramount, CA', 1562570 => 'Long Beach, CA', @@ -4011,14 +3347,7 @@ return array ( 1562949 => 'Pico Rivera, CA', 1562951 => 'Long Beach, CA', 1562961 => 'Long Beach, CA', - 1562981 => 'Long Beach, CA', - 1562983 => 'Long Beach, CA', - 1562984 => 'Long Beach, CA', - 1562985 => 'Long Beach, CA', - 1562986 => 'Long Beach, CA', - 1562987 => 'Long Beach, CA', - 1562988 => 'Long Beach, CA', - 1562989 => 'Long Beach, CA', + 156298 => 'Long Beach, CA', 1562997 => 'Long Beach, CA', 1563 => 'Iowa', 1563242 => 'Clinton, IA', @@ -4057,12 +3386,7 @@ return array ( 1563557 => 'Dubuque, IA', 1563568 => 'Waukon, IA', 1563578 => 'Sumner, IA', - 1563582 => 'Dubuque, IA', - 1563583 => 'Dubuque, IA', - 1563584 => 'Dubuque, IA', - 1563585 => 'Dubuque, IA', - 1563588 => 'Dubuque, IA', - 1563589 => 'Dubuque, IA', + 156358 => 'Dubuque, IA', 1563652 => 'Maquoketa, IA', 1563659 => 'DeWitt, IA', 1563689 => 'Preston, IA', @@ -4104,24 +3428,12 @@ return array ( 1570288 => 'Kingston, PA', 1570296 => 'Milford, PA', 1570297 => 'Troy, PA', - 1570320 => 'Williamsport, PA', - 1570321 => 'Williamsport, PA', - 1570322 => 'Williamsport, PA', - 1570323 => 'Williamsport, PA', + 157032 => 'Williamsport, PA', 1570325 => 'Jim Thorpe, PA', - 1570326 => 'Williamsport, PA', - 1570327 => 'Williamsport, PA', 1570331 => 'Kingston, PA', 1570339 => 'Mount Carmel, PA', - 1570340 => 'Scranton, PA', - 1570341 => 'Scranton, PA', - 1570342 => 'Scranton, PA', - 1570343 => 'Scranton, PA', - 1570344 => 'Scranton, PA', + 157034 => 'Scranton, PA', 1570345 => 'Pine Grove, PA', - 1570346 => 'Scranton, PA', - 1570347 => 'Scranton, PA', - 1570348 => 'Scranton, PA', 1570366 => 'Orwigsburg, PA', 1570368 => 'Montoursville, PA', 1570373 => 'Kulpmont, PA', @@ -4210,15 +3522,8 @@ return array ( 1570785 => 'Forest City, PA', 1570808 => 'Wilkes-Barre, PA', 1570819 => 'Wilkes-Barre, PA', - 1570820 => 'Wilkes-Barre, PA', - 1570821 => 'Wilkes-Barre, PA', - 1570822 => 'Wilkes-Barre, PA', - 1570823 => 'Wilkes-Barre, PA', - 1570824 => 'Wilkes-Barre, PA', - 1570825 => 'Wilkes-Barre, PA', - 1570826 => 'Wilkes-Barre, PA', + 157082 => 'Wilkes-Barre, PA', 1570828 => 'Dingmans Ferry, PA', - 1570829 => 'Wilkes-Barre, PA', 1570833 => 'Meshoppen, PA', 1570836 => 'Tunkhannock, PA', 1570837 => 'Middleburg, PA', @@ -4310,13 +3615,7 @@ return array ( 1573436 => 'Potosi, MO', 1573437 => 'Owensville, MO', 1573438 => 'Potosi, MO', - 1573441 => 'Columbia, MO', - 1573442 => 'Columbia, MO', - 1573443 => 'Columbia, MO', - 1573445 => 'Columbia, MO', - 1573446 => 'Columbia, MO', - 1573447 => 'Columbia, MO', - 1573449 => 'Columbia, MO', + 157344 => 'Columbia, MO', 1573458 => 'Rolla, MO', 1573468 => 'Sullivan, MO', 1573471 => 'Sikeston, MO', @@ -4411,20 +3710,9 @@ return array ( 1574206 => 'Elkhart, IN', 1574217 => 'South Bend, IN', 1574223 => 'Rochester, IN', - 1574231 => 'South Bend, IN', - 1574232 => 'South Bend, IN', - 1574233 => 'South Bend, IN', - 1574234 => 'South Bend, IN', - 1574235 => 'South Bend, IN', - 1574237 => 'South Bend, IN', + 157423 => 'South Bend, IN', 1574246 => 'South Bend, IN', - 1574252 => 'Mishawaka, IN', - 1574254 => 'Mishawaka, IN', - 1574255 => 'Mishawaka, IN', - 1574256 => 'Mishawaka, IN', - 1574257 => 'Mishawaka, IN', - 1574258 => 'Mishawaka, IN', - 1574259 => 'Mishawaka, IN', + 157425 => 'Mishawaka, IN', 1574262 => 'Elkhart, IN', 1574264 => 'Elkhart, IN', 1574266 => 'Elkhart, IN', @@ -4516,13 +3804,7 @@ return array ( 1575461 => 'Tucumcari, NM', 1575472 => 'Santa Rosa, NM', 1575492 => 'Hobbs, NM', - 1575521 => 'Las Cruces, NM', - 1575522 => 'Las Cruces, NM', - 1575523 => 'Las Cruces, NM', - 1575524 => 'Las Cruces, NM', - 1575525 => 'Las Cruces, NM', - 1575526 => 'Las Cruces, NM', - 1575527 => 'Las Cruces, NM', + 157552 => 'Las Cruces, NM', 1575532 => 'Las Cruces, NM', 1575534 => 'Silver City, NM', 1575537 => 'Bayard, NM', @@ -4687,12 +3969,7 @@ return array ( 1585265 => 'Webster, NY', 1585266 => 'Rochester, NY', 1585268 => 'Belmont, NY', - 1585270 => 'Rochester, NY', - 1585271 => 'Rochester, NY', - 1585272 => 'Rochester, NY', - 1585273 => 'Rochester, NY', - 1585275 => 'Rochester, NY', - 1585279 => 'Rochester, NY', + 158527 => 'Rochester, NY', 1585288 => 'Rochester, NY', 1585289 => 'Shortsville, NY', 1585292 => 'Rochester, NY', @@ -4726,14 +4003,9 @@ return array ( 1585396 => 'Canandaigua, NY', 1585398 => 'Farmington, NY', 1585413 => 'Rochester, NY', + 158542 => 'Rochester, NY', 1585421 => 'Fairport, NY', - 1585423 => 'Rochester, NY', - 1585424 => 'Rochester, NY', 1585425 => 'Fairport, NY', - 1585426 => 'Rochester, NY', - 1585427 => 'Rochester, NY', - 1585428 => 'Rochester, NY', - 1585429 => 'Rochester, NY', 1585436 => 'Rochester, NY', 1585442 => 'Rochester, NY', 1585453 => 'Rochester, NY', @@ -4804,13 +4076,7 @@ return array ( 1586582 => 'Warren, MI', 1586598 => 'Chesterfield, MI', 1586727 => 'Richmond, MI', - 1586751 => 'Warren, MI', - 1586754 => 'Warren, MI', - 1586755 => 'Warren, MI', - 1586756 => 'Warren, MI', - 1586757 => 'Warren, MI', - 1586758 => 'Warren, MI', - 1586759 => 'Warren, MI', + 158675 => 'Warren, MI', 1586784 => 'Armada, MI', 1586790 => 'Clinton Twp, MI', 1586791 => 'Clinton Twp, MI', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/16.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/16.php index 73c6f8f83..fd2512551 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/16.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/16.php @@ -168,45 +168,11 @@ return array ( 1602224 => 'Phoenix, AZ', 1602225 => 'Phoenix, AZ', 1602229 => 'Phoenix, AZ', - 1602230 => 'Phoenix, AZ', - 1602232 => 'Phoenix, AZ', - 1602233 => 'Phoenix, AZ', - 1602234 => 'Phoenix, AZ', - 1602235 => 'Phoenix, AZ', - 1602239 => 'Phoenix, AZ', - 1602240 => 'Phoenix, AZ', - 1602241 => 'Phoenix, AZ', - 1602242 => 'Phoenix, AZ', - 1602243 => 'Phoenix, AZ', - 1602244 => 'Phoenix, AZ', - 1602246 => 'Phoenix, AZ', - 1602248 => 'Phoenix, AZ', - 1602249 => 'Phoenix, AZ', - 1602251 => 'Phoenix, AZ', - 1602252 => 'Phoenix, AZ', - 1602253 => 'Phoenix, AZ', - 1602254 => 'Phoenix, AZ', - 1602255 => 'Phoenix, AZ', - 1602256 => 'Phoenix, AZ', - 1602257 => 'Phoenix, AZ', - 1602258 => 'Phoenix, AZ', - 1602262 => 'Phoenix, AZ', - 1602263 => 'Phoenix, AZ', - 1602264 => 'Phoenix, AZ', - 1602265 => 'Phoenix, AZ', - 1602266 => 'Phoenix, AZ', - 1602267 => 'Phoenix, AZ', - 1602268 => 'Phoenix, AZ', - 1602269 => 'Phoenix, AZ', - 1602271 => 'Phoenix, AZ', - 1602272 => 'Phoenix, AZ', - 1602273 => 'Phoenix, AZ', - 1602274 => 'Phoenix, AZ', - 1602275 => 'Phoenix, AZ', - 1602276 => 'Phoenix, AZ', - 1602277 => 'Phoenix, AZ', - 1602278 => 'Phoenix, AZ', - 1602279 => 'Phoenix, AZ', + 160223 => 'Phoenix, AZ', + 160224 => 'Phoenix, AZ', + 160225 => 'Phoenix, AZ', + 160226 => 'Phoenix, AZ', + 160227 => 'Phoenix, AZ', 1602281 => 'Phoenix, AZ', 1602283 => 'Phoenix, AZ', 1602285 => 'Phoenix, AZ', @@ -312,12 +278,7 @@ return array ( 1602942 => 'Phoenix, AZ', 1602943 => 'Phoenix, AZ', 1602944 => 'Phoenix, AZ', - 1602952 => 'Phoenix, AZ', - 1602953 => 'Phoenix, AZ', - 1602954 => 'Phoenix, AZ', - 1602955 => 'Phoenix, AZ', - 1602956 => 'Phoenix, AZ', - 1602957 => 'Phoenix, AZ', + 160295 => 'Phoenix, AZ', 1602971 => 'Phoenix, AZ', 1602973 => 'Phoenix, AZ', 1602978 => 'Glendale, AZ', @@ -328,13 +289,7 @@ return array ( 1602997 => 'Phoenix, AZ', 1603 => 'New Hampshire', 1603204 => 'Nashua, NH', - 1603223 => 'Concord, NH', - 1603224 => 'Concord, NH', - 1603225 => 'Concord, NH', - 1603226 => 'Concord, NH', - 1603227 => 'Concord, NH', - 1603228 => 'Concord, NH', - 1603229 => 'Concord, NH', + 160322 => 'Concord, NH', 1603232 => 'Manchester, NH', 1603237 => 'Colebrook, NH', 1603239 => 'Winchester, NH', @@ -418,14 +373,7 @@ return array ( 1603601 => 'Hampton, NH', 1603606 => 'Manchester, NH', 1603610 => 'Portsmouth, NH', - 1603621 => 'Manchester, NH', - 1603622 => 'Manchester, NH', - 1603623 => 'Manchester, NH', - 1603624 => 'Manchester, NH', - 1603625 => 'Manchester, NH', - 1603626 => 'Manchester, NH', - 1603627 => 'Manchester, NH', - 1603629 => 'Manchester, NH', + 160362 => 'Manchester, NH', 1603632 => 'Enfield, NH', 1603635 => 'Pelham, NH', 1603636 => 'Groveton, NH', @@ -487,14 +435,8 @@ return array ( 1603875 => 'Alton, NH', 1603876 => 'Marlborough, NH', 1603878 => 'New Ipswich, NH', - 1603880 => 'Nashua, NH', - 1603881 => 'Nashua, NH', - 1603882 => 'Nashua, NH', - 1603883 => 'Nashua, NH', - 1603886 => 'Nashua, NH', + 160388 => 'Nashua, NH', 1603887 => 'Chester, NH', - 1603888 => 'Nashua, NH', - 1603889 => 'Nashua, NH', 1603890 => 'Salem, NH', 1603891 => 'Nashua, NH', 1603893 => 'Salem, NH', @@ -539,16 +481,7 @@ return array ( 1604264 => 'Vancouver, BC', 1604266 => 'Vancouver, BC', 1604267 => 'Vancouver, BC', - 1604270 => 'Richmond, BC', - 1604271 => 'Richmond, BC', - 1604272 => 'Richmond, BC', - 1604273 => 'Richmond, BC', - 1604274 => 'Richmond, BC', - 1604275 => 'Richmond, BC', - 1604276 => 'Richmond, BC', - 1604277 => 'Richmond, BC', - 1604278 => 'Richmond, BC', - 1604279 => 'Richmond, BC', + 160427 => 'Richmond, BC', 1604284 => 'Richmond, BC', 1604291 => 'Burnaby, BC', 1604293 => 'Burnaby, BC', @@ -558,28 +491,14 @@ return array ( 1604299 => 'Burnaby, BC', 1604303 => 'Richmond, BC', 1604304 => 'Richmond, BC', - 1604321 => 'Vancouver, BC', - 1604322 => 'Vancouver, BC', - 1604323 => 'Vancouver, BC', - 1604324 => 'Vancouver, BC', - 1604325 => 'Vancouver, BC', - 1604327 => 'Vancouver, BC', + 160432 => 'Vancouver, BC', 1604331 => 'Vancouver, BC', 1604392 => 'Chilliwack, BC', 1604408 => 'Vancouver, BC', 1604415 => 'Burnaby, BC', 1604420 => 'Burnaby, BC', 1604421 => 'Burnaby, BC', - 1604430 => 'Burnaby, BC', - 1604431 => 'Burnaby, BC', - 1604432 => 'Burnaby, BC', - 1604433 => 'Burnaby, BC', - 1604434 => 'Burnaby, BC', - 1604435 => 'Burnaby, BC', - 1604436 => 'Burnaby, BC', - 1604437 => 'Burnaby, BC', - 1604438 => 'Burnaby, BC', - 1604439 => 'Burnaby, BC', + 160443 => 'Burnaby, BC', 1604444 => 'Burnaby, BC', 1604448 => 'Richmond, BC', 1604451 => 'Burnaby, BC', @@ -631,58 +550,26 @@ return array ( 1604574 => 'Surrey, BC', 1604575 => 'Surrey, BC', 1604576 => 'Surrey, BC', - 1604580 => 'Surrey, BC', - 1604581 => 'Surrey, BC', - 1604582 => 'Surrey, BC', - 1604583 => 'Surrey, BC', - 1604584 => 'Surrey, BC', - 1604585 => 'Surrey, BC', - 1604588 => 'Surrey, BC', - 1604589 => 'Surrey, BC', - 1604590 => 'Surrey, BC', - 1604591 => 'Surrey, BC', - 1604592 => 'Surrey, BC', - 1604593 => 'Surrey, BC', - 1604594 => 'Surrey, BC', - 1604596 => 'Surrey, BC', - 1604597 => 'Surrey, BC', - 1604598 => 'Surrey, BC', - 1604599 => 'Surrey, BC', + 160458 => 'Surrey, BC', + 160459 => 'Surrey, BC', 1604602 => 'Vancouver, BC', 1604605 => 'Vancouver, BC', 1604606 => 'Vancouver, BC', 1604608 => 'Vancouver, BC', 1604609 => 'Vancouver, BC', 1604629 => 'Vancouver, BC', - 1604630 => 'Vancouver, BC', - 1604631 => 'Vancouver, BC', - 1604632 => 'Vancouver, BC', - 1604633 => 'Vancouver, BC', - 1604637 => 'Vancouver, BC', - 1604638 => 'Vancouver, BC', + 160463 => 'Vancouver, BC', 1604640 => 'Vancouver, BC', 1604641 => 'Vancouver, BC', 1604643 => 'Vancouver, BC', 1604646 => 'Vancouver, BC', 1604647 => 'Vancouver, BC', - 1604660 => 'Vancouver, BC', - 1604661 => 'Vancouver, BC', - 1604662 => 'Vancouver, BC', + 160466 => 'Vancouver, BC', 1604664 => 'Burnaby, BC', - 1604665 => 'Vancouver, BC', - 1604666 => 'Vancouver, BC', - 1604669 => 'Vancouver, BC', 1604676 => 'Vancouver, BC', 1604677 => 'Vancouver, BC', 1604678 => 'Vancouver, BC', - 1604681 => 'Vancouver, BC', - 1604682 => 'Vancouver, BC', - 1604683 => 'Vancouver, BC', - 1604684 => 'Vancouver, BC', - 1604685 => 'Vancouver, BC', - 1604687 => 'Vancouver, BC', - 1604688 => 'Vancouver, BC', - 1604689 => 'Vancouver, BC', + 160468 => 'Vancouver, BC', 1604696 => 'Vancouver, BC', 1604702 => 'Chilliwack, BC', 1604703 => 'Chilliwack, BC', @@ -691,15 +578,7 @@ return array ( 1604713 => 'Vancouver, BC', 1604714 => 'Vancouver, BC', 1604718 => 'Vancouver, BC', - 1604730 => 'Vancouver, BC', - 1604731 => 'Vancouver, BC', - 1604732 => 'Vancouver, BC', - 1604733 => 'Vancouver, BC', - 1604734 => 'Vancouver, BC', - 1604736 => 'Vancouver, BC', - 1604737 => 'Vancouver, BC', - 1604738 => 'Vancouver, BC', - 1604739 => 'Vancouver, BC', + 160473 => 'Vancouver, BC', 1604740 => 'Sechelt, BC', 1604742 => 'Vancouver, BC', 1604746 => 'Abbotsford, BC', @@ -720,24 +599,12 @@ return array ( 1604826 => 'Mission, BC', 1604846 => 'Chilliwack, BC', 1604847 => 'Chilliwack, BC', - 1604850 => 'Abbotsford, BC', - 1604852 => 'Abbotsford, BC', - 1604853 => 'Abbotsford, BC', - 1604854 => 'Abbotsford, BC', - 1604855 => 'Abbotsford, BC', + 160485 => 'Abbotsford, BC', 1604858 => 'Chilliwack, BC', - 1604859 => 'Abbotsford, BC', 1604864 => 'Abbotsford, BC', 1604869 => 'Hope, BC', + 160487 => 'Vancouver, BC', 1604870 => 'Abbotsford, BC', - 1604871 => 'Vancouver, BC', - 1604872 => 'Vancouver, BC', - 1604873 => 'Vancouver, BC', - 1604874 => 'Vancouver, BC', - 1604875 => 'Vancouver, BC', - 1604876 => 'Vancouver, BC', - 1604877 => 'Vancouver, BC', - 1604879 => 'Vancouver, BC', 1604881 => 'Langley, BC', 1604882 => 'Langley, BC', 1604883 => 'Madeira Park, BC', @@ -771,14 +638,7 @@ return array ( 1604944 => 'Port Coquitlam, BC', 1604947 => 'Bowen Island, BC', 1604951 => 'Surrey, BC', - 1604980 => 'North Vancouver, BC', - 1604982 => 'North Vancouver, BC', - 1604983 => 'North Vancouver, BC', - 1604984 => 'North Vancouver, BC', - 1604985 => 'North Vancouver, BC', - 1604986 => 'North Vancouver, BC', - 1604987 => 'North Vancouver, BC', - 1604988 => 'North Vancouver, BC', + 160498 => 'North Vancouver, BC', 1604990 => 'North Vancouver, BC', 1604998 => 'North Vancouver, BC', 1605 => 'South Dakota', @@ -799,16 +659,8 @@ return array ( 1605297 => 'Parker, SD', 1605322 => 'Sioux Falls, SD', 1605328 => 'Sioux Falls, SD', - 1605330 => 'Sioux Falls, SD', - 1605331 => 'Sioux Falls, SD', - 1605332 => 'Sioux Falls, SD', - 1605333 => 'Sioux Falls, SD', - 1605334 => 'Sioux Falls, SD', - 1605335 => 'Sioux Falls, SD', - 1605336 => 'Sioux Falls, SD', + 160533 => 'Sioux Falls, SD', 1605337 => 'Platte, SD', - 1605338 => 'Sioux Falls, SD', - 1605339 => 'Sioux Falls, SD', 1605341 => 'Rapid City, SD', 1605342 => 'Rapid City, SD', 1605343 => 'Rapid City, SD', @@ -1120,39 +972,13 @@ return array ( 1608233 => 'Madison, WI', 1608237 => 'Madison, WI', 1608238 => 'Madison, WI', - 1608240 => 'Madison, WI', - 1608241 => 'Madison, WI', - 1608242 => 'Madison, WI', - 1608243 => 'Madison, WI', - 1608244 => 'Madison, WI', - 1608245 => 'Madison, WI', - 1608246 => 'Madison, WI', - 1608249 => 'Madison, WI', - 1608250 => 'Madison, WI', - 1608251 => 'Madison, WI', - 1608252 => 'Madison, WI', + 160824 => 'Madison, WI', + 160825 => 'Madison, WI', 1608253 => 'Wisconsin Dells, WI', 1608254 => 'Wisconsin Dells, WI', - 1608255 => 'Madison, WI', - 1608256 => 'Madison, WI', - 1608257 => 'Madison, WI', - 1608258 => 'Madison, WI', - 1608259 => 'Madison, WI', - 1608260 => 'Madison, WI', - 1608262 => 'Madison, WI', - 1608263 => 'Madison, WI', - 1608265 => 'Madison, WI', - 1608266 => 'Madison, WI', - 1608267 => 'Madison, WI', - 1608268 => 'Madison, WI', + 160826 => 'Madison, WI', 1608269 => 'Sparta, WI', - 1608270 => 'Madison, WI', - 1608271 => 'Madison, WI', - 1608273 => 'Madison, WI', - 1608274 => 'Madison, WI', - 1608276 => 'Madison, WI', - 1608277 => 'Madison, WI', - 1608278 => 'Madison, WI', + 160827 => 'Madison, WI', 1608280 => 'Madison, WI', 1608287 => 'Madison, WI', 1608296 => 'Westfield, WI', @@ -1223,12 +1049,7 @@ return array ( 1608743 => 'Janesville, WI', 1608744 => 'Cuba City, WI', 1608745 => 'Portage, WI', - 1608752 => 'Janesville, WI', - 1608754 => 'Janesville, WI', - 1608755 => 'Janesville, WI', - 1608756 => 'Janesville, WI', - 1608757 => 'Janesville, WI', - 1608758 => 'Janesville, WI', + 160875 => 'Janesville, WI', 1608764 => 'Deerfield, WI', 1608767 => 'Black Earth, WI', 1608775 => 'La Crosse, WI', @@ -1291,12 +1112,7 @@ return array ( 1609278 => 'Trenton, NJ', 1609279 => 'Princeton, NJ', 1609292 => 'Trenton, NJ', - 1609340 => 'Atlantic City, NJ', - 1609343 => 'Atlantic City, NJ', - 1609344 => 'Atlantic City, NJ', - 1609345 => 'Atlantic City, NJ', - 1609347 => 'Atlantic City, NJ', - 1609348 => 'Atlantic City, NJ', + 160934 => 'Atlantic City, NJ', 1609368 => 'Stone Harbor, NJ', 1609390 => 'Marmora, NJ', 1609391 => 'Ocean City, NJ', @@ -1326,12 +1142,7 @@ return array ( 1609561 => 'Hammonton, NJ', 1609567 => 'Hammonton, NJ', 1609572 => 'Atlantic City, NJ', - 1609581 => 'Trenton, NJ', - 1609584 => 'Trenton, NJ', - 1609585 => 'Trenton, NJ', - 1609586 => 'Trenton, NJ', - 1609587 => 'Trenton, NJ', - 1609588 => 'Trenton, NJ', + 160958 => 'Trenton, NJ', 1609597 => 'Manahawkin, NJ', 1609599 => 'Trenton, NJ', 1609607 => 'Barnegat Township, NJ', @@ -1400,13 +1211,8 @@ return array ( 1610265 => 'King of Prussia, PA', 1610268 => 'Avondale, PA', 1610269 => 'Downingtown, PA', - 1610270 => 'Norristown, PA', - 1610272 => 'Norristown, PA', + 161027 => 'Norristown, PA', 1610273 => 'Honey Brook, PA', - 1610275 => 'Norristown, PA', - 1610277 => 'Norristown, PA', - 1610278 => 'Norristown, PA', - 1610279 => 'Norristown, PA', 1610280 => 'Exton, PA', 1610282 => 'Coopersburg, PA', 1610287 => 'Schwenksville, PA', @@ -1430,15 +1236,8 @@ return array ( 1610366 => 'Allentown, PA', 1610367 => 'Boyertown, PA', 1610369 => 'Boyertown, PA', - 1610370 => 'Reading, PA', - 1610371 => 'Reading, PA', - 1610372 => 'Reading, PA', - 1610373 => 'Reading, PA', - 1610374 => 'Reading, PA', - 1610375 => 'Reading, PA', - 1610376 => 'Reading, PA', + 161037 => 'Reading, PA', 1610377 => 'Lehighton, PA', - 1610378 => 'Reading, PA', 1610380 => 'Coatesville, PA', 1610383 => 'Coatesville, PA', 1610384 => 'Coatesville, PA', @@ -1454,16 +1253,11 @@ return array ( 1610415 => 'Phoenixville, PA', 1610419 => 'Bethlehem, PA', 1610429 => 'West Chester, PA', + 161043 => 'Allentown, PA', 1610430 => 'West Chester, PA', 1610431 => 'West Chester, PA', - 1610432 => 'Allentown, PA', - 1610433 => 'Allentown, PA', - 1610434 => 'Allentown, PA', - 1610435 => 'Allentown, PA', 1610436 => 'West Chester, PA', - 1610437 => 'Allentown, PA', 1610438 => 'Easton, PA', - 1610439 => 'Allentown, PA', 1610444 => 'Kennett Square, PA', 1610446 => 'Havertown, PA', 1610447 => 'Chester, PA', @@ -1600,28 +1394,11 @@ return array ( 1612259 => 'Minneapolis, MN', 1612273 => 'Minneapolis, MN', 1612302 => 'Minneapolis, MN', - 1612331 => 'Minneapolis, MN', - 1612332 => 'Minneapolis, MN', - 1612333 => 'Minneapolis, MN', - 1612335 => 'Minneapolis, MN', - 1612337 => 'Minneapolis, MN', - 1612338 => 'Minneapolis, MN', - 1612339 => 'Minneapolis, MN', - 1612340 => 'Minneapolis, MN', - 1612341 => 'Minneapolis, MN', - 1612343 => 'Minneapolis, MN', - 1612347 => 'Minneapolis, MN', - 1612348 => 'Minneapolis, MN', - 1612349 => 'Minneapolis, MN', + 161233 => 'Minneapolis, MN', + 161234 => 'Minneapolis, MN', 1612353 => 'Minneapolis, MN', 1612354 => 'Minneapolis, MN', - 1612370 => 'Minneapolis, MN', - 1612371 => 'Minneapolis, MN', - 1612374 => 'Minneapolis, MN', - 1612375 => 'Minneapolis, MN', - 1612377 => 'Minneapolis, MN', - 1612378 => 'Minneapolis, MN', - 1612379 => 'Minneapolis, MN', + 161237 => 'Minneapolis, MN', 1612436 => 'Minneapolis, MN', 1612455 => 'Minneapolis, MN', 1612467 => 'Minneapolis, MN', @@ -1641,13 +1418,7 @@ return array ( 1612672 => 'Minneapolis, MN', 1612673 => 'Minneapolis, MN', 1612706 => 'Minneapolis, MN', - 1612721 => 'Minneapolis, MN', - 1612722 => 'Minneapolis, MN', - 1612724 => 'Minneapolis, MN', - 1612725 => 'Minneapolis, MN', - 1612727 => 'Minneapolis, MN', - 1612728 => 'Minneapolis, MN', - 1612729 => 'Minneapolis, MN', + 161272 => 'Minneapolis, MN', 1612746 => 'Minneapolis, MN', 1612766 => 'South 7th Street, Minneapolis, MN', 1612767 => 'Minneapolis, MN', @@ -1656,20 +1427,9 @@ return array ( 1612789 => 'Minneapolis, MN', 1612798 => 'Richfield, MN', 1612813 => 'Minneapolis, MN', - 1612821 => 'Minneapolis, MN', - 1612822 => 'Minneapolis, MN', - 1612823 => 'Minneapolis, MN', - 1612824 => 'Minneapolis, MN', - 1612825 => 'Minneapolis, MN', - 1612827 => 'Minneapolis, MN', + 161282 => 'Minneapolis, MN', 1612863 => 'Minneapolis, MN', - 1612870 => 'Minneapolis, MN', - 1612871 => 'Minneapolis, MN', - 1612872 => 'Minneapolis, MN', - 1612873 => 'Minneapolis, MN', - 1612874 => 'Minneapolis, MN', - 1612877 => 'Minneapolis, MN', - 1612879 => 'Minneapolis, MN', + 161287 => 'Minneapolis, MN', 1612886 => 'Minneapolis, MN', 1612920 => 'Minneapolis, MN', 1612922 => 'Minneapolis, MN', @@ -1680,15 +1440,7 @@ return array ( 1613 => 'Ontario', 1613216 => 'Ottawa, ON', 1613226 => 'Nepean, ON', - 1613230 => 'Ottawa, ON', - 1613231 => 'Ottawa, ON', - 1613232 => 'Ottawa, ON', - 1613233 => 'Ottawa, ON', - 1613234 => 'Ottawa, ON', - 1613235 => 'Ottawa, ON', - 1613236 => 'Ottawa, ON', - 1613237 => 'Ottawa, ON', - 1613238 => 'Ottawa, ON', + 161323 => 'Ottawa, ON', 1613241 => 'Ottawa, ON', 1613244 => 'Ottawa, ON', 1613247 => 'Ottawa, ON', @@ -1750,20 +1502,9 @@ return array ( 1613526 => 'Ottawa, ON', 1613530 => 'Kingston, ON', 1613531 => 'Kingston, ON', - 1613542 => 'Kingston, ON', + 161354 => 'Kingston, ON', 1613543 => 'Morrisburg, ON', - 1613544 => 'Kingston, ON', - 1613545 => 'Kingston, ON', - 1613546 => 'Kingston, ON', - 1613547 => 'Kingston, ON', - 1613548 => 'Kingston, ON', - 1613549 => 'Kingston, ON', - 1613562 => 'Ottawa, ON', - 1613563 => 'Ottawa, ON', - 1613564 => 'Ottawa, ON', - 1613565 => 'Ottawa, ON', - 1613567 => 'Ottawa, ON', - 1613569 => 'Ottawa, ON', + 161356 => 'Ottawa, ON', 1613584 => 'Deep River, ON', 1613590 => 'Orléans, ON', 1613591 => 'Kanata, ON', @@ -1791,15 +1532,9 @@ return array ( 1613725 => 'Ottawa, ON', 1613728 => 'Ottawa, ON', 1613729 => 'Ottawa, ON', - 1613730 => 'Ottawa, ON', - 1613731 => 'Ottawa, ON', + 161373 => 'Ottawa, ON', 1613732 => 'Pembroke, ON', - 1613733 => 'Ottawa, ON', 1613735 => 'Pembroke, ON', - 1613736 => 'Ottawa, ON', - 1613737 => 'Ottawa, ON', - 1613738 => 'Ottawa, ON', - 1613739 => 'Ottawa, ON', 1613741 => 'Ottawa, ON', 1613746 => 'Ottawa, ON', 1613756 => 'Barry\'s Bay, ON', @@ -1824,36 +1559,13 @@ return array ( 1613842 => 'Ottawa, ON', 1613924 => 'Athens, ON', 1613925 => 'Prescott, ON', - 1613931 => 'Cornwall, ON', - 1613932 => 'Cornwall, ON', - 1613933 => 'Cornwall, ON', - 1613936 => 'Cornwall, ON', - 1613937 => 'Cornwall, ON', - 1613938 => 'Cornwall, ON', - 1613961 => 'Belleville, ON', - 1613962 => 'Belleville, ON', + 161393 => 'Cornwall, ON', + 161396 => 'Belleville, ON', 1613965 => 'Trenton, ON', - 1613966 => 'Belleville, ON', - 1613967 => 'Belleville, ON', - 1613968 => 'Belleville, ON', - 1613969 => 'Belleville, ON', 1614 => 'Ohio', 1614210 => 'Dublin, OH', - 1614220 => 'Columbus, OH', - 1614221 => 'Columbus, OH', - 1614222 => 'Columbus, OH', - 1614223 => 'Columbus, OH', - 1614224 => 'Columbus, OH', - 1614225 => 'Columbus, OH', - 1614227 => 'Columbus, OH', - 1614228 => 'Columbus, OH', - 1614231 => 'Columbus, OH', - 1614234 => 'Columbus, OH', - 1614235 => 'Columbus, OH', - 1614236 => 'Columbus, OH', - 1614237 => 'Columbus, OH', - 1614238 => 'Columbus, OH', - 1614239 => 'Columbus, OH', + 161422 => 'Columbus, OH', + 161423 => 'Columbus, OH', 1614252 => 'Columbus, OH', 1614253 => 'Columbus, OH', 1614255 => 'Columbus, OH', @@ -1864,20 +1576,9 @@ return array ( 1614263 => 'Columbus, OH', 1614267 => 'Columbus, OH', 1614268 => 'Columbus, OH', - 1614272 => 'Columbus, OH', - 1614273 => 'Columbus, OH', - 1614274 => 'Columbus, OH', - 1614275 => 'Columbus, OH', - 1614276 => 'Columbus, OH', + 161427 => 'Columbus, OH', 1614277 => 'Grove City, OH', - 1614279 => 'Columbus, OH', - 1614291 => 'Columbus, OH', - 1614292 => 'Columbus, OH', - 1614293 => 'Columbus, OH', - 1614294 => 'Columbus, OH', - 1614297 => 'Columbus, OH', - 1614298 => 'Columbus, OH', - 1614299 => 'Columbus, OH', + 161429 => 'Columbus, OH', 1614326 => 'Columbus, OH', 1614337 => 'Columbus, OH', 1614338 => 'Columbus, OH', @@ -1898,12 +1599,7 @@ return array ( 1614429 => 'Columbus, OH', 1614430 => 'Columbus, OH', 1614433 => 'Columbus, OH', - 1614442 => 'Columbus, OH', - 1614443 => 'Columbus, OH', - 1614444 => 'Columbus, OH', - 1614445 => 'Columbus, OH', - 1614447 => 'Columbus, OH', - 1614449 => 'Columbus, OH', + 161444 => 'Columbus, OH', 1614451 => 'Columbus, OH', 1614453 => 'Columbus, OH', 1614457 => 'Columbus, OH', @@ -2006,13 +1702,7 @@ return array ( 1615242 => 'Nashville, TN', 1615244 => 'Nashville, TN', 1615248 => 'Nashville, TN', - 1615250 => 'Nashville, TN', - 1615251 => 'Nashville, TN', - 1615252 => 'Nashville, TN', - 1615254 => 'Nashville, TN', - 1615255 => 'Nashville, TN', - 1615256 => 'Nashville, TN', - 1615259 => 'Nashville, TN', + 161525 => 'Nashville, TN', 1615261 => 'Franklin, TN', 1615262 => 'Nashville, TN', 1615264 => 'Hendersonville, TN', @@ -2192,12 +1882,7 @@ return array ( 1616225 => 'Greenville, MI', 1616233 => 'Grand Rapids, MI', 1616235 => 'Grand Rapids, MI', - 1616241 => 'Grand Rapids, MI', - 1616242 => 'Grand Rapids, MI', - 1616243 => 'Grand Rapids, MI', - 1616245 => 'Grand Rapids, MI', - 1616247 => 'Grand Rapids, MI', - 1616248 => 'Grand Rapids, MI', + 161624 => 'Grand Rapids, MI', 1616281 => 'Grand Rapids, MI', 1616285 => 'Grand Rapids, MI', 1616301 => 'Grand Rapids, MI', @@ -2210,23 +1895,11 @@ return array ( 1616364 => 'Grand Rapids, MI', 1616365 => 'Grand Rapids, MI', 1616374 => 'Lake Odessa, MI', + 161639 => 'Holland, MI', 1616391 => 'Grand Rapids, MI', - 1616392 => 'Holland, MI', - 1616393 => 'Holland, MI', - 1616394 => 'Holland, MI', - 1616395 => 'Holland, MI', - 1616396 => 'Holland, MI', - 1616399 => 'Holland, MI', 1616447 => 'Grand Rapids, MI', - 1616451 => 'Grand Rapids, MI', - 1616452 => 'Grand Rapids, MI', - 1616453 => 'Grand Rapids, MI', - 1616454 => 'Grand Rapids, MI', - 1616455 => 'Grand Rapids, MI', - 1616456 => 'Grand Rapids, MI', + 161645 => 'Grand Rapids, MI', 1616457 => 'Jenison, MI', - 1616458 => 'Grand Rapids, MI', - 1616459 => 'Grand Rapids, MI', 1616464 => 'Grand Rapids, MI', 1616475 => 'Grand Rapids, MI', 1616494 => 'Holland, MI', @@ -2350,12 +2023,7 @@ return array ( 1617391 => 'Boston, MA', 1617394 => 'Everett, MA', 1617414 => 'Boston, MA', - 1617421 => 'Boston, MA', - 1617422 => 'Boston, MA', - 1617423 => 'Boston, MA', - 1617424 => 'Boston, MA', - 1617425 => 'Boston, MA', - 1617426 => 'Boston, MA', + 161742 => 'Boston, MA', 1617432 => 'Boston, MA', 1617436 => 'Dorchester, MA', 1617437 => 'Boston, MA', @@ -2369,12 +2037,7 @@ return array ( 1617482 => 'Boston, MA', 1617484 => 'Belmont, MA', 1617489 => 'Belmont, MA', - 1617491 => 'Cambridge, MA', - 1617492 => 'Cambridge, MA', - 1617494 => 'Cambridge, MA', - 1617495 => 'Cambridge, MA', - 1617497 => 'Cambridge, MA', - 1617499 => 'Cambridge, MA', + 161749 => 'Cambridge, MA', 1617522 => 'Jamaica Plain, MA', 1617523 => 'Boston, MA', 1617524 => 'Jamaica Plain, MA', @@ -2418,13 +2081,7 @@ return array ( 1617698 => 'Milton, MA', 1617714 => 'Cambridge, MA', 1617718 => 'Somerville, MA', - 1617720 => 'Boston, MA', - 1617722 => 'Boston, MA', - 1617723 => 'Boston, MA', - 1617724 => 'Boston, MA', - 1617726 => 'Boston, MA', - 1617727 => 'Boston, MA', - 1617728 => 'Boston, MA', + 161772 => 'Boston, MA', 1617731 => 'Brookline, MA', 1617732 => 'Boston, MA', 1617734 => 'Brookline, MA', @@ -2601,53 +2258,17 @@ return array ( 1619 => 'California', 1619209 => 'San Diego, CA', 1619216 => 'Chula Vista, CA', - 1619220 => 'San Diego, CA', - 1619221 => 'San Diego, CA', - 1619222 => 'San Diego, CA', - 1619223 => 'San Diego, CA', - 1619224 => 'San Diego, CA', - 1619225 => 'San Diego, CA', - 1619226 => 'San Diego, CA', - 1619229 => 'San Diego, CA', - 1619230 => 'San Diego, CA', - 1619231 => 'San Diego, CA', - 1619232 => 'San Diego, CA', - 1619233 => 'San Diego, CA', - 1619234 => 'San Diego, CA', - 1619235 => 'San Diego, CA', - 1619236 => 'San Diego, CA', - 1619237 => 'San Diego, CA', - 1619238 => 'San Diego, CA', - 1619239 => 'San Diego, CA', + 161922 => 'San Diego, CA', + 161923 => 'San Diego, CA', 1619255 => 'San Diego, CA', 1619258 => 'Santee, CA', - 1619260 => 'San Diego, CA', - 1619262 => 'San Diego, CA', - 1619263 => 'San Diego, CA', - 1619264 => 'San Diego, CA', - 1619265 => 'San Diego, CA', - 1619266 => 'San Diego, CA', - 1619269 => 'San Diego, CA', + 161926 => 'San Diego, CA', 1619271 => 'Chula Vista, CA', 1619275 => 'San Diego, CA', 1619276 => 'San Diego, CA', 1619278 => 'San Diego, CA', - 1619280 => 'San Diego, CA', - 1619281 => 'San Diego, CA', - 1619282 => 'San Diego, CA', - 1619283 => 'San Diego, CA', - 1619284 => 'San Diego, CA', - 1619285 => 'San Diego, CA', - 1619286 => 'San Diego, CA', - 1619287 => 'San Diego, CA', - 1619291 => 'San Diego, CA', - 1619293 => 'San Diego, CA', - 1619294 => 'San Diego, CA', - 1619295 => 'San Diego, CA', - 1619296 => 'San Diego, CA', - 1619297 => 'San Diego, CA', - 1619298 => 'San Diego, CA', - 1619299 => 'San Diego, CA', + 161928 => 'San Diego, CA', + 161929 => 'San Diego, CA', 1619325 => 'San Diego, CA', 1619334 => 'El Cajon, CA', 1619336 => 'National City, CA', @@ -2658,12 +2279,7 @@ return array ( 1619400 => 'San Diego, CA', 1619401 => 'El Cajon, CA', 1619409 => 'Chula Vista, CA', - 1619420 => 'Chula Vista, CA', - 1619421 => 'Chula Vista, CA', - 1619422 => 'Chula Vista, CA', - 1619425 => 'Chula Vista, CA', - 1619426 => 'Chula Vista, CA', - 1619427 => 'Chula Vista, CA', + 161942 => 'Chula Vista, CA', 1619428 => 'San Ysidro, CA', 1619435 => 'Coronado, CA', 1619437 => 'Coronado, CA', @@ -2952,14 +2568,7 @@ return array ( 1626732 => 'Covina, CA', 1626744 => 'Pasadena, CA', 1626765 => 'Pasadena, CA', - 1626791 => 'Pasadena, CA', - 1626792 => 'Pasadena, CA', - 1626793 => 'Pasadena, CA', - 1626794 => 'Pasadena, CA', - 1626795 => 'Pasadena, CA', - 1626796 => 'Pasadena, CA', - 1626797 => 'Pasadena, CA', - 1626798 => 'Pasadena, CA', + 162679 => 'Pasadena, CA', 1626799 => 'South Pasadena, CA', 1626812 => 'Azusa, CA', 1626815 => 'Azusa, CA', @@ -3389,14 +2998,7 @@ return array ( 1650349 => 'San Mateo, CA', 1650355 => 'Pacifica, CA', 1650359 => 'Pacifica, CA', - 1650361 => 'Redwood City, CA', - 1650363 => 'Redwood City, CA', - 1650364 => 'Redwood City, CA', - 1650365 => 'Redwood City, CA', - 1650366 => 'Redwood City, CA', - 1650367 => 'Redwood City, CA', - 1650368 => 'Redwood City, CA', - 1650369 => 'Redwood City, CA', + 165036 => 'Redwood City, CA', 1650424 => 'Palo Alto, CA', 1650458 => 'San Mateo, CA', 1650493 => 'Palo Alto, CA', @@ -3409,12 +3011,7 @@ return array ( 1650556 => 'Redwood City, CA', 1650559 => 'Los Altos, CA', 1650568 => 'Redwood City, CA', - 1650570 => 'San Mateo, CA', - 1650571 => 'San Mateo, CA', - 1650572 => 'San Mateo, CA', - 1650573 => 'San Mateo, CA', - 1650574 => 'San Mateo, CA', - 1650578 => 'San Mateo, CA', + 165057 => 'San Mateo, CA', 1650591 => 'San Carlos, CA', 1650592 => 'San Carlos, CA', 1650593 => 'San Carlos, CA', @@ -3454,39 +3051,20 @@ return array ( 1650947 => 'Los Altos, CA', 1650948 => 'Los Altos, CA', 1650949 => 'Los Altos, CA', - 1650960 => 'Mountain View, CA', - 1650961 => 'Mountain View, CA', - 1650962 => 'Mountain View, CA', - 1650964 => 'Mountain View, CA', - 1650965 => 'Mountain View, CA', - 1650967 => 'Mountain View, CA', - 1650968 => 'Mountain View, CA', - 1650969 => 'Mountain View, CA', + 165096 => 'Mountain View, CA', 1650991 => 'Daly City, CA', 1650992 => 'Daly City, CA', 1650994 => 'Daly City, CA', 1651 => 'Minnesota', 1651207 => 'Saint Paul, MN', 1651209 => 'Saint Paul, MN', - 1651220 => 'Saint Paul, MN', - 1651221 => 'Saint Paul, MN', - 1651222 => 'Saint Paul, MN', - 1651224 => 'Saint Paul, MN', - 1651225 => 'Saint Paul, MN', - 1651227 => 'Saint Paul, MN', - 1651228 => 'Saint Paul, MN', + 165122 => 'Saint Paul, MN', 1651254 => 'Saint Paul, MN', 1651266 => 'Saint Paul, MN', 1651267 => 'Red Wing, MN', 1651275 => 'Stillwater, MN', 1651288 => 'Saint Paul, MN', - 1651290 => 'Saint Paul, MN', - 1651291 => 'Saint Paul, MN', - 1651292 => 'Saint Paul, MN', - 1651293 => 'Saint Paul, MN', - 1651296 => 'Saint Paul, MN', - 1651297 => 'Saint Paul, MN', - 1651298 => 'Saint Paul, MN', + 165129 => 'Saint Paul, MN', 1651312 => 'Saint Paul, MN', 1651322 => 'Rosemount, MN', 1651326 => 'Saint Paul, MN', @@ -3520,12 +3098,7 @@ return array ( 1651565 => 'Wabasha, MN', 1651602 => 'Saint Paul, MN', 1651603 => 'Saint Paul, MN', - 1651641 => 'Saint Paul, MN', - 1651642 => 'Saint Paul, MN', - 1651644 => 'Saint Paul, MN', - 1651645 => 'Saint Paul, MN', - 1651646 => 'Saint Paul, MN', - 1651647 => 'Saint Paul, MN', + 165164 => 'Saint Paul, MN', 1651674 => 'North Branch, MN', 1651683 => 'Eagan, MN', 1651686 => 'Eagan, MN', @@ -3620,27 +3193,13 @@ return array ( 1661296 => 'Santa Clarita, CA', 1661297 => 'Santa Clarita, CA', 1661298 => 'Canyon Country, CA', - 1661321 => 'Bakersfield, CA', - 1661322 => 'Bakersfield, CA', - 1661323 => 'Bakersfield, CA', - 1661324 => 'Bakersfield, CA', - 1661325 => 'Bakersfield, CA', - 1661326 => 'Bakersfield, CA', - 1661327 => 'Bakersfield, CA', - 1661328 => 'Bakersfield, CA', + 166132 => 'Bakersfield, CA', 1661334 => 'Bakersfield, CA', 1661363 => 'Bakersfield, CA', 1661366 => 'Bakersfield, CA', 1661377 => 'Bakersfield, CA', 1661387 => 'Bakersfield, CA', - 1661391 => 'Bakersfield, CA', - 1661392 => 'Bakersfield, CA', - 1661393 => 'Bakersfield, CA', - 1661395 => 'Bakersfield, CA', - 1661396 => 'Bakersfield, CA', - 1661397 => 'Bakersfield, CA', - 1661398 => 'Bakersfield, CA', - 1661399 => 'Bakersfield, CA', + 166139 => 'Bakersfield, CA', 1661424 => 'Canyon Country, CA', 1661513 => 'Santa Clarita, CA', 1661533 => 'Palmdale, CA', @@ -3675,13 +3234,7 @@ return array ( 1661824 => 'Mojave, CA', 1661827 => 'Bakersfield, CA', 1661829 => 'Bakersfield, CA', - 1661831 => 'Bakersfield, CA', - 1661832 => 'Bakersfield, CA', - 1661833 => 'Bakersfield, CA', - 1661834 => 'Bakersfield, CA', - 1661835 => 'Bakersfield, CA', - 1661836 => 'Bakersfield, CA', - 1661837 => 'Bakersfield, CA', + 166183 => 'Bakersfield, CA', 1661845 => 'Lamont, CA', 1661854 => 'Arvin, CA', 1661858 => 'Bakersfield, CA', @@ -3693,15 +3246,9 @@ return array ( 1661871 => 'Bakersfield, CA', 1661872 => 'Bakersfield, CA', 1661873 => 'Bakersfield, CA', - 1661940 => 'Lancaster, CA', - 1661942 => 'Lancaster, CA', - 1661943 => 'Lancaster, CA', + 166194 => 'Lancaster, CA', 1661944 => 'Littlerock, CA', - 1661945 => 'Lancaster, CA', - 1661946 => 'Lancaster, CA', 1661947 => 'Palmdale, CA', - 1661948 => 'Lancaster, CA', - 1661949 => 'Lancaster, CA', 1661951 => 'Lancaster, CA', 1662 => 'Mississippi', 1662205 => 'Tupelo, MS', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/17.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/17.php index f7e07dd4f..2825c795a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/17.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/17.php @@ -129,27 +129,14 @@ return array ( 1702212 => 'Las Vegas, NV', 1702214 => 'Las Vegas, NV', 1702216 => 'Las Vegas, NV', - 1702220 => 'Las Vegas, NV', - 1702221 => 'Las Vegas, NV', - 1702222 => 'Las Vegas, NV', - 1702227 => 'Las Vegas, NV', - 1702228 => 'Las Vegas, NV', - 1702229 => 'Las Vegas, NV', + 170222 => 'Las Vegas, NV', 1702233 => 'Las Vegas, NV', 1702240 => 'Las Vegas, NV', 1702242 => 'Las Vegas, NV', 1702243 => 'Las Vegas, NV', 1702247 => 'Las Vegas, NV', 1702248 => 'Las Vegas, NV', - 1702251 => 'Las Vegas, NV', - 1702252 => 'Las Vegas, NV', - 1702253 => 'Las Vegas, NV', - 1702254 => 'Las Vegas, NV', - 1702255 => 'Las Vegas, NV', - 1702256 => 'Las Vegas, NV', - 1702257 => 'Las Vegas, NV', - 1702258 => 'Las Vegas, NV', - 1702259 => 'Las Vegas, NV', + 170225 => 'Las Vegas, NV', 1702260 => 'Las Vegas, NV', 1702261 => 'Las Vegas, NV', 1702262 => 'Las Vegas, NV', @@ -173,24 +160,8 @@ return array ( 1702341 => 'Las Vegas, NV', 1702345 => 'Mesquite, NV', 1702346 => 'Mesquite, NV', - 1702360 => 'Las Vegas, NV', - 1702361 => 'Las Vegas, NV', - 1702362 => 'Las Vegas, NV', - 1702363 => 'Las Vegas, NV', - 1702364 => 'Las Vegas, NV', - 1702365 => 'Las Vegas, NV', - 1702366 => 'Las Vegas, NV', - 1702367 => 'Las Vegas, NV', - 1702368 => 'Las Vegas, NV', - 1702369 => 'Las Vegas, NV', - 1702380 => 'Las Vegas, NV', - 1702382 => 'Las Vegas, NV', - 1702383 => 'Las Vegas, NV', - 1702384 => 'Las Vegas, NV', - 1702385 => 'Las Vegas, NV', - 1702386 => 'Las Vegas, NV', - 1702387 => 'Las Vegas, NV', - 1702388 => 'Las Vegas, NV', + 170236 => 'Las Vegas, NV', + 170238 => 'Las Vegas, NV', 1702395 => 'Las Vegas, NV', 1702396 => 'Las Vegas, NV', 1702397 => 'Overton, NV', @@ -200,37 +171,15 @@ return array ( 1702410 => 'Las Vegas, NV', 1702413 => 'Las Vegas, NV', 1702425 => 'Las Vegas, NV', - 1702431 => 'Las Vegas, NV', - 1702432 => 'Las Vegas, NV', - 1702433 => 'Las Vegas, NV', - 1702434 => 'Las Vegas, NV', - 1702435 => 'Las Vegas, NV', - 1702436 => 'Las Vegas, NV', - 1702437 => 'Las Vegas, NV', - 1702438 => 'Las Vegas, NV', + 170243 => 'Las Vegas, NV', 1702444 => 'Las Vegas, NV', 1702445 => 'Las Vegas, NV', 1702448 => 'Las Vegas, NV', - 1702450 => 'Las Vegas, NV', - 1702451 => 'Las Vegas, NV', - 1702452 => 'Las Vegas, NV', - 1702453 => 'Las Vegas, NV', - 1702455 => 'Las Vegas, NV', - 1702456 => 'Las Vegas, NV', - 1702457 => 'Las Vegas, NV', - 1702458 => 'Las Vegas, NV', - 1702459 => 'Las Vegas, NV', + 170245 => 'Las Vegas, NV', 1702460 => 'Las Vegas, NV', 1702462 => 'Las Vegas, NV', 1702463 => 'Las Vegas, NV', - 1702471 => 'Las Vegas, NV', - 1702472 => 'Las Vegas, NV', - 1702473 => 'Las Vegas, NV', - 1702474 => 'Las Vegas, NV', - 1702475 => 'Las Vegas, NV', - 1702476 => 'Las Vegas, NV', - 1702477 => 'Las Vegas, NV', - 1702478 => 'Las Vegas, NV', + 170247 => 'Las Vegas, NV', 1702483 => 'Las Vegas, NV', 1702485 => 'Las Vegas, NV', 1702486 => 'Las Vegas, NV', @@ -264,14 +213,8 @@ return array ( 1702637 => 'Las Vegas, NV', 1702638 => 'Las Vegas, NV', 1702639 => 'North Las Vegas, NV', - 1702641 => 'Las Vegas, NV', + 170264 => 'Las Vegas, NV', 1702642 => 'North Las Vegas, NV', - 1702643 => 'Las Vegas, NV', - 1702644 => 'Las Vegas, NV', - 1702645 => 'Las Vegas, NV', - 1702646 => 'Las Vegas, NV', - 1702647 => 'Las Vegas, NV', - 1702648 => 'Las Vegas, NV', 1702649 => 'North Las Vegas, NV', 1702650 => 'Las Vegas, NV', 1702651 => 'Las Vegas, NV', @@ -288,37 +231,19 @@ return array ( 1702699 => 'Las Vegas, NV', 1702722 => 'Las Vegas, NV', 1702727 => 'Las Vegas, NV', - 1702731 => 'Las Vegas, NV', - 1702732 => 'Las Vegas, NV', - 1702733 => 'Las Vegas, NV', - 1702734 => 'Las Vegas, NV', - 1702735 => 'Las Vegas, NV', - 1702736 => 'Las Vegas, NV', - 1702737 => 'Las Vegas, NV', - 1702739 => 'Las Vegas, NV', + 170273 => 'Las Vegas, NV', 1702740 => 'Las Vegas, NV', 1702765 => 'Las Vegas, NV', 1702768 => 'Las Vegas, NV', 1702776 => 'Las Vegas, NV', 1702778 => 'Las Vegas, NV', 1702784 => 'Las Vegas, NV', - 1702791 => 'Las Vegas, NV', - 1702792 => 'Las Vegas, NV', - 1702794 => 'Las Vegas, NV', - 1702795 => 'Las Vegas, NV', - 1702796 => 'Las Vegas, NV', - 1702798 => 'Las Vegas, NV', - 1702799 => 'Las Vegas, NV', + 170279 => 'Las Vegas, NV', 1702804 => 'Las Vegas, NV', 1702818 => 'Las Vegas, NV', 1702822 => 'Las Vegas, NV', 1702823 => 'Las Vegas, NV', - 1702834 => 'Las Vegas, NV', - 1702835 => 'Las Vegas, NV', - 1702836 => 'Las Vegas, NV', - 1702837 => 'Las Vegas, NV', - 1702838 => 'Las Vegas, NV', - 1702839 => 'Las Vegas, NV', + 170283 => 'Las Vegas, NV', 1702851 => 'Las Vegas, NV', 1702853 => 'Las Vegas, NV', 1702856 => 'Henderson, NV', @@ -326,12 +251,7 @@ return array ( 1702866 => 'Las Vegas, NV', 1702868 => 'Las Vegas, NV', 1702869 => 'Las Vegas, NV', - 1702870 => 'Las Vegas, NV', - 1702871 => 'Las Vegas, NV', - 1702873 => 'Las Vegas, NV', - 1702876 => 'Las Vegas, NV', - 1702877 => 'Las Vegas, NV', - 1702878 => 'Las Vegas, NV', + 170287 => 'Las Vegas, NV', 1702880 => 'Las Vegas, NV', 1702889 => 'Las Vegas, NV', 1702891 => 'Las Vegas, NV', @@ -344,12 +264,7 @@ return array ( 1702933 => 'Las Vegas, NV', 1702938 => 'Las Vegas, NV', 1702939 => 'Las Vegas, NV', - 1702940 => 'Las Vegas, NV', - 1702942 => 'Las Vegas, NV', - 1702944 => 'Las Vegas, NV', - 1702947 => 'Las Vegas, NV', - 1702948 => 'Las Vegas, NV', - 1702949 => 'Las Vegas, NV', + 170294 => 'Las Vegas, NV', 1702951 => 'Las Vegas, NV', 1702952 => 'Las Vegas, NV', 1702966 => 'Las Vegas, NV', @@ -395,13 +310,8 @@ return array ( 1703352 => 'Fairfax, VA', 1703356 => 'McLean, VA', 1703359 => 'Fairfax, VA', + 170336 => 'Manassas, VA', 1703360 => 'Alexandria, VA', - 1703361 => 'Manassas, VA', - 1703365 => 'Manassas, VA', - 1703366 => 'Manassas, VA', - 1703367 => 'Manassas, VA', - 1703368 => 'Manassas, VA', - 1703369 => 'Manassas, VA', 1703370 => 'Alexandria, VA', 1703378 => 'Chantilly, VA', 1703383 => 'Fairfax, VA', @@ -433,29 +343,14 @@ return array ( 1703465 => 'Arlington, VA', 1703476 => 'Reston, VA', 1703486 => 'Arlington, VA', - 1703490 => 'Woodbridge, VA', - 1703491 => 'Woodbridge, VA', - 1703492 => 'Woodbridge, VA', - 1703494 => 'Woodbridge, VA', - 1703497 => 'Woodbridge, VA', - 1703499 => 'Woodbridge, VA', + 170349 => 'Woodbridge, VA', 1703504 => 'Alexandria, VA', 1703518 => 'Alexandria, VA', 1703519 => 'Alexandria, VA', - 1703521 => 'Arlington, VA', - 1703522 => 'Arlington, VA', - 1703524 => 'Arlington, VA', - 1703525 => 'Arlington, VA', - 1703527 => 'Arlington, VA', - 1703528 => 'Arlington, VA', + 170352 => 'Arlington, VA', + 170353 => 'Falls Church, VA', 1703530 => 'Manassas, VA', - 1703531 => 'Falls Church, VA', - 1703532 => 'Falls Church, VA', - 1703533 => 'Falls Church, VA', - 1703534 => 'Falls Church, VA', 1703535 => 'Alexandria, VA', - 1703536 => 'Falls Church, VA', - 1703538 => 'Falls Church, VA', 1703543 => 'Centreville, VA', 1703548 => 'Alexandria, VA', 1703549 => 'Alexandria, VA', @@ -561,47 +456,17 @@ return array ( 1704304 => 'Charlotte, NC', 1704315 => 'Charlotte, NC', 1704323 => 'Charlotte, NC', - 1704331 => 'Charlotte, NC', - 1704332 => 'Charlotte, NC', - 1704333 => 'Charlotte, NC', - 1704334 => 'Charlotte, NC', - 1704335 => 'Charlotte, NC', - 1704336 => 'Charlotte, NC', - 1704338 => 'Charlotte, NC', - 1704339 => 'Charlotte, NC', - 1704341 => 'Charlotte, NC', - 1704342 => 'Charlotte, NC', - 1704343 => 'Charlotte, NC', - 1704344 => 'Charlotte, NC', - 1704347 => 'Charlotte, NC', - 1704348 => 'Charlotte, NC', + 170433 => 'Charlotte, NC', + 170434 => 'Charlotte, NC', 1704355 => 'Charlotte, NC', 1704357 => 'Charlotte, NC', 1704358 => 'Charlotte, NC', 1704359 => 'Charlotte, NC', - 1704362 => 'Charlotte, NC', - 1704364 => 'Charlotte, NC', - 1704365 => 'Charlotte, NC', - 1704366 => 'Charlotte, NC', - 1704367 => 'Charlotte, NC', - 1704369 => 'Charlotte, NC', - 1704370 => 'Charlotte, NC', - 1704372 => 'Charlotte, NC', - 1704373 => 'Charlotte, NC', - 1704374 => 'Charlotte, NC', - 1704375 => 'Charlotte, NC', - 1704376 => 'Charlotte, NC', - 1704377 => 'Charlotte, NC', - 1704379 => 'Charlotte, NC', + 170436 => 'Charlotte, NC', + 170437 => 'Charlotte, NC', 1704381 => 'Charlotte, NC', 1704384 => 'Charlotte, NC', - 1704391 => 'Charlotte, NC', - 1704392 => 'Charlotte, NC', - 1704393 => 'Charlotte, NC', - 1704394 => 'Charlotte, NC', - 1704395 => 'Charlotte, NC', - 1704398 => 'Charlotte, NC', - 1704399 => 'Charlotte, NC', + 170439 => 'Charlotte, NC', 1704403 => 'Concord, NC', 1704405 => 'Charlotte, NC', 1704432 => 'Charlotte, NC', @@ -628,29 +493,17 @@ return array ( 1704509 => 'Charlotte, NC', 1704510 => 'Charlotte, NC', 1704512 => 'Charlotte, NC', - 1704521 => 'Charlotte, NC', - 1704522 => 'Charlotte, NC', - 1704523 => 'Charlotte, NC', - 1704525 => 'Charlotte, NC', - 1704527 => 'Charlotte, NC', + 170452 => 'Charlotte, NC', 1704528 => 'Troutman, NC', - 1704529 => 'Charlotte, NC', 1704531 => 'Charlotte, NC', 1704532 => 'Charlotte, NC', 1704535 => 'Charlotte, NC', 1704536 => 'Charlotte, NC', 1704537 => 'Charlotte, NC', 1704538 => 'Lawndale, NC', - 1704540 => 'Charlotte, NC', - 1704541 => 'Charlotte, NC', - 1704542 => 'Charlotte, NC', - 1704543 => 'Charlotte, NC', - 1704544 => 'Charlotte, NC', + 170454 => 'Charlotte, NC', 1704545 => 'Mint Hill, NC', 1704546 => 'Harmony, NC', - 1704547 => 'Charlotte, NC', - 1704548 => 'Charlotte, NC', - 1704549 => 'Charlotte, NC', 1704552 => 'Charlotte, NC', 1704553 => 'Charlotte, NC', 1704554 => 'Charlotte, NC', @@ -673,13 +526,8 @@ return array ( 1704624 => 'Marshville, NC', 1704625 => 'Charlotte, NC', 1704629 => 'Bessemer City, NC', - 1704630 => 'Salisbury, NC', - 1704633 => 'Salisbury, NC', + 170463 => 'Salisbury, NC', 1704635 => 'Monroe, NC', - 1704636 => 'Salisbury, NC', - 1704637 => 'Salisbury, NC', - 1704638 => 'Salisbury, NC', - 1704639 => 'Salisbury, NC', 1704643 => 'Charlotte, NC', 1704658 => 'Mooresville, NC', 1704660 => 'Mooresville, NC', @@ -709,12 +557,7 @@ return array ( 1704759 => 'Charlotte, NC', 1704764 => 'Monroe, NC', 1704776 => 'Monroe, NC', - 1704782 => 'Concord, NC', - 1704783 => 'Concord, NC', - 1704784 => 'Concord, NC', - 1704785 => 'Concord, NC', - 1704786 => 'Concord, NC', - 1704788 => 'Concord, NC', + 170478 => 'Concord, NC', 1704792 => 'Concord, NC', 1704793 => 'Concord, NC', 1704795 => 'Concord, NC', @@ -735,14 +578,8 @@ return array ( 1704854 => 'Gastonia, NC', 1704855 => 'China Grove, NC', 1704857 => 'China Grove, NC', - 1704861 => 'Gastonia, NC', + 170486 => 'Gastonia, NC', 1704863 => 'Charlotte, NC', - 1704864 => 'Gastonia, NC', - 1704865 => 'Gastonia, NC', - 1704866 => 'Gastonia, NC', - 1704867 => 'Gastonia, NC', - 1704868 => 'Gastonia, NC', - 1704869 => 'Gastonia, NC', 1704871 => 'Statesville, NC', 1704872 => 'Statesville, NC', 1704873 => 'Statesville, NC', @@ -878,30 +715,13 @@ return array ( 1705693 => 'Garson, ON', 1705696 => 'Hastings, ON', 1705719 => 'Barrie, ON', - 1705720 => 'Barrie, ON', - 1705721 => 'Barrie, ON', - 1705722 => 'Barrie, ON', + 170572 => 'Barrie, ON', 1705724 => 'Powassan, ON', - 1705725 => 'Barrie, ON', - 1705726 => 'Barrie, ON', - 1705727 => 'Barrie, ON', - 1705728 => 'Barrie, ON', - 1705730 => 'Barrie, ON', - 1705733 => 'Barrie, ON', - 1705734 => 'Barrie, ON', - 1705735 => 'Barrie, ON', - 1705737 => 'Barrie, ON', + 170573 => 'Barrie, ON', 1705738 => 'Bobcaygeon, ON', - 1705739 => 'Barrie, ON', - 1705740 => 'Peterborough, ON', - 1705741 => 'Peterborough, ON', - 1705742 => 'Peterborough, ON', - 1705743 => 'Peterborough, ON', + 170574 => 'Peterborough, ON', 1705744 => 'Mattawa, ON', - 1705745 => 'Peterborough, ON', 1705746 => 'Parry Sound, ON', - 1705748 => 'Peterborough, ON', - 1705749 => 'Peterborough, ON', 1705750 => 'Peterborough, ON', 1705752 => 'Callander, ON', 1705753 => 'West Nipissing, ON', @@ -955,14 +775,9 @@ return array ( 1706258 => 'Blue Ridge, GA', 1706259 => 'Dalton, GA', 1706265 => 'Dawsonville, GA', - 1706270 => 'Dalton, GA', - 1706272 => 'Dalton, GA', + 170627 => 'Dalton, GA', 1706273 => 'Ellijay, GA', - 1706275 => 'Dalton, GA', 1706276 => 'Ellijay, GA', - 1706277 => 'Dalton, GA', - 1706278 => 'Dalton, GA', - 1706279 => 'Dalton, GA', 1706282 => 'Toccoa, GA', 1706283 => 'Elberton, GA', 1706290 => 'Rome, GA', @@ -970,12 +785,7 @@ return array ( 1706295 => 'Rome, GA', 1706310 => 'Watkinsville, GA', 1706317 => 'Columbus, GA', - 1706320 => 'Columbus, GA', - 1706321 => 'Columbus, GA', - 1706322 => 'Columbus, GA', - 1706323 => 'Columbus, GA', - 1706324 => 'Columbus, GA', - 1706327 => 'Columbus, GA', + 170632 => 'Columbus, GA', 1706335 => 'Commerce, GA', 1706336 => 'Commerce, GA', 1706337 => 'Fairmount, GA', @@ -1032,13 +842,8 @@ return array ( 1706552 => 'Athens, GA', 1706554 => 'Waynesboro, GA', 1706556 => 'Harlem, GA', + 170656 => 'Columbus, GA', 1706560 => 'Augusta, GA', - 1706561 => 'Columbus, GA', - 1706562 => 'Columbus, GA', - 1706563 => 'Columbus, GA', - 1706565 => 'Columbus, GA', - 1706568 => 'Columbus, GA', - 1706569 => 'Columbus, GA', 1706571 => 'Columbus, GA', 1706576 => 'Columbus, GA', 1706592 => 'Hephzibah, GA', @@ -1146,15 +951,7 @@ return array ( 1707 => 'California', 1707224 => 'Napa, CA', 1707226 => 'Napa, CA', - 1707251 => 'Napa, CA', - 1707252 => 'Napa, CA', - 1707253 => 'Napa, CA', - 1707254 => 'Napa, CA', - 1707255 => 'Napa, CA', - 1707256 => 'Napa, CA', - 1707257 => 'Napa, CA', - 1707258 => 'Napa, CA', - 1707259 => 'Napa, CA', + 170725 => 'Napa, CA', 1707262 => 'Lakeport, CA', 1707263 => 'Lakeport, CA', 1707265 => 'Napa, CA', @@ -1167,14 +964,8 @@ return array ( 1707374 => 'Rio Vista, CA', 1707393 => 'Santa Rosa, CA', 1707399 => 'Fairfield, CA', - 1707421 => 'Fairfield, CA', - 1707422 => 'Fairfield, CA', + 170742 => 'Fairfield, CA', 1707423 => 'Travis Air Force Base, Fairfield, CA', - 1707425 => 'Fairfield, CA', - 1707426 => 'Fairfield, CA', - 1707427 => 'Fairfield, CA', - 1707428 => 'Fairfield, CA', - 1707429 => 'Fairfield, CA', 1707431 => 'Healdsburg, CA', 1707433 => 'Healdsburg, CA', 1707434 => 'Fairfield, CA', @@ -1204,42 +995,17 @@ return array ( 1707473 => 'Healdsburg, CA', 1707476 => 'Eureka, CA', 1707485 => 'Redwood Valley, CA', - 1707521 => 'Santa Rosa, CA', - 1707522 => 'Santa Rosa, CA', - 1707523 => 'Santa Rosa, CA', - 1707524 => 'Santa Rosa, CA', - 1707525 => 'Santa Rosa, CA', - 1707526 => 'Santa Rosa, CA', - 1707527 => 'Santa Rosa, CA', - 1707528 => 'Santa Rosa, CA', + 170752 => 'Santa Rosa, CA', 1707537 => 'Santa Rosa, CA', 1707538 => 'Santa Rosa, CA', 1707539 => 'Santa Rosa, CA', - 1707541 => 'Santa Rosa, CA', - 1707542 => 'Santa Rosa, CA', - 1707543 => 'Santa Rosa, CA', - 1707544 => 'Santa Rosa, CA', - 1707545 => 'Santa Rosa, CA', - 1707546 => 'Santa Rosa, CA', - 1707547 => 'Santa Rosa, CA', - 1707552 => 'Vallejo, CA', - 1707553 => 'Vallejo, CA', - 1707554 => 'Vallejo, CA', - 1707556 => 'Vallejo, CA', - 1707557 => 'Vallejo, CA', - 1707558 => 'Vallejo, CA', + 170754 => 'Santa Rosa, CA', + 170755 => 'Vallejo, CA', 1707565 => 'Santa Rosa, CA', 1707566 => 'Santa Rosa, CA', 1707568 => 'Santa Rosa, CA', 1707569 => 'Santa Rosa, CA', - 1707570 => 'Santa Rosa, CA', - 1707571 => 'Santa Rosa, CA', - 1707573 => 'Santa Rosa, CA', - 1707575 => 'Santa Rosa, CA', - 1707576 => 'Santa Rosa, CA', - 1707577 => 'Santa Rosa, CA', - 1707578 => 'Santa Rosa, CA', - 1707579 => 'Santa Rosa, CA', + 170757 => 'Santa Rosa, CA', 1707584 => 'Rohnert Park, CA', 1707585 => 'Rohnert Park, CA', 1707586 => 'Rohnert Park, CA', @@ -1247,14 +1013,8 @@ return array ( 1707591 => 'Santa Rosa, CA', 1707595 => 'Santa Rosa, CA', 1707624 => 'Vacaville, CA', - 1707642 => 'Vallejo, CA', - 1707643 => 'Vallejo, CA', - 1707644 => 'Vallejo, CA', - 1707645 => 'Vallejo, CA', + 170764 => 'Vallejo, CA', 1707646 => 'Fairfield, CA', - 1707647 => 'Vallejo, CA', - 1707648 => 'Vallejo, CA', - 1707649 => 'Vallejo, CA', 1707651 => 'Vallejo, CA', 1707677 => 'Trinidad, CA', 1707678 => 'Dixon, CA', @@ -1517,18 +1277,9 @@ return array ( 1712852 => 'Emmetsburg, IA', 1712873 => 'Moville, IA', 1712943 => 'Sergeant Bluff, IA', - 1713 => 'Texas', + 17132 => 'Texas', 1713218 => 'Houston, TX', - 1713220 => 'Houston, TX', - 1713221 => 'Houston, TX', - 1713222 => 'Houston, TX', - 1713223 => 'Houston, TX', - 1713224 => 'Houston, TX', - 1713225 => 'Houston, TX', - 1713226 => 'Houston, TX', - 1713227 => 'Houston, TX', - 1713228 => 'Houston, TX', - 1713229 => 'Houston, TX', + 171322 => 'Houston, TX', 1713236 => 'Houston, TX', 1713237 => 'Houston, TX', 1713242 => 'Houston, TX', @@ -1545,12 +1296,8 @@ return array ( 1713278 => 'Houston, TX', 1713283 => 'Houston, TX', 1713290 => 'Houston, TX', - 1713330 => 'Houston, TX', - 1713331 => 'Houston, TX', - 1713333 => 'Houston, TX', - 1713334 => 'Houston, TX', - 1713337 => 'Houston, TX', - 1713339 => 'Houston, TX', + 17133 => 'Texas', + 171333 => 'Houston, TX', 1713340 => 'Pearland, TX', 1713343 => 'Houston, TX', 1713349 => 'Houston, TX', @@ -1559,6 +1306,7 @@ return array ( 1713360 => 'Houston, TX', 1713365 => 'Houston, TX', 1713383 => 'Houston, TX', + 17134 => 'Texas', 1713400 => 'Houston, TX', 1713401 => 'Houston, TX', 1713413 => 'Houston, TX', @@ -1572,23 +1320,8 @@ return array ( 1713440 => 'Houston, TX', 1713441 => 'Houston, TX', 1713442 => 'Houston, TX', - 1713450 => 'Houston, TX', - 1713451 => 'Houston, TX', - 1713453 => 'Houston, TX', - 1713454 => 'Houston, TX', - 1713455 => 'Houston, TX', - 1713456 => 'Houston, TX', - 1713457 => 'Houston, TX', - 1713458 => 'Houston, TX', - 1713460 => 'Houston, TX', - 1713461 => 'Houston, TX', - 1713462 => 'Houston, TX', - 1713463 => 'Houston, TX', - 1713464 => 'Houston, TX', - 1713465 => 'Houston, TX', - 1713466 => 'Houston, TX', - 1713467 => 'Houston, TX', - 1713468 => 'Houston, TX', + 171345 => 'Houston, TX', + 171346 => 'Houston, TX', 1713472 => 'Pasadena, TX', 1713473 => 'Pasadena, TX', 1713475 => 'Pasadena, TX', @@ -1597,18 +1330,11 @@ return array ( 1713490 => 'Houston, TX', 1713491 => 'Houston, TX', 1713492 => 'Houston, TX', + 17135 => 'Texas', 1713500 => 'Houston, TX', 1713512 => 'Houston, TX', 1713514 => 'Houston, TX', - 1713520 => 'Houston, TX', - 1713521 => 'Houston, TX', - 1713522 => 'Houston, TX', - 1713523 => 'Houston, TX', - 1713524 => 'Houston, TX', - 1713526 => 'Houston, TX', - 1713527 => 'Houston, TX', - 1713528 => 'Houston, TX', - 1713529 => 'Houston, TX', + 171352 => 'Houston, TX', 1713532 => 'Houston, TX', 1713533 => 'Houston, TX', 1713541 => 'Houston, TX', @@ -1622,116 +1348,73 @@ return array ( 1713590 => 'Houston, TX', 1713592 => 'Houston, TX', 1713599 => 'Houston, TX', - 1713620 => 'Houston, TX', - 1713621 => 'Houston, TX', - 1713622 => 'Houston, TX', - 1713623 => 'Houston, TX', - 1713626 => 'Houston, TX', - 1713627 => 'Houston, TX', - 1713629 => 'Houston, TX', - 1713631 => 'Houston, TX', - 1713633 => 'Houston, TX', - 1713635 => 'Houston, TX', - 1713636 => 'Houston, TX', - 1713637 => 'Houston, TX', - 1713640 => 'Houston, TX', - 1713641 => 'Houston, TX', - 1713643 => 'Houston, TX', - 1713644 => 'Houston, TX', - 1713645 => 'Houston, TX', - 1713647 => 'Houston, TX', - 1713649 => 'Houston, TX', - 1713650 => 'Houston, TX', - 1713651 => 'Houston, TX', - 1713652 => 'Houston, TX', - 1713654 => 'Houston, TX', - 1713655 => 'Houston, TX', - 1713658 => 'Houston, TX', - 1713659 => 'Houston, TX', - 1713660 => 'Houston, TX', - 1713661 => 'Houston, TX', - 1713662 => 'Houston, TX', - 1713663 => 'Houston, TX', - 1713664 => 'Houston, TX', - 1713665 => 'Houston, TX', - 1713666 => 'Houston, TX', - 1713667 => 'Houston, TX', - 1713668 => 'Houston, TX', - 1713669 => 'Houston, TX', - 1713670 => 'Houston, TX', - 1713671 => 'Houston, TX', - 1713672 => 'Houston, TX', - 1713673 => 'Houston, TX', - 1713674 => 'Houston, TX', - 1713675 => 'Houston, TX', - 1713676 => 'Houston, TX', - 1713677 => 'Houston, TX', - 1713678 => 'Houston, TX', - 1713680 => 'Houston, TX', - 1713681 => 'Houston, TX', - 1713682 => 'Houston, TX', - 1713683 => 'Houston, TX', - 1713686 => 'Houston, TX', - 1713688 => 'Houston, TX', - 1713690 => 'Houston, TX', - 1713691 => 'Houston, TX', - 1713692 => 'Houston, TX', - 1713694 => 'Houston, TX', - 1713695 => 'Houston, TX', - 1713696 => 'Houston, TX', - 1713697 => 'Houston, TX', - 1713699 => 'Houston, TX', + 17136 => 'Houston, TX', + 171360 => 'Texas', + 171361 => 'Texas', + 1713624 => 'Texas', + 1713625 => 'Texas', + 1713628 => 'Texas', + 1713630 => 'Texas', + 1713632 => 'Texas', + 1713634 => 'Texas', + 1713638 => 'Texas', + 1713639 => 'Texas', + 1713642 => 'Texas', + 1713646 => 'Texas', + 1713648 => 'Texas', + 1713653 => 'Texas', + 1713656 => 'Texas', + 1713657 => 'Texas', + 1713679 => 'Texas', + 1713684 => 'Texas', + 1713685 => 'Texas', + 1713687 => 'Texas', + 1713689 => 'Texas', + 1713693 => 'Texas', + 1713698 => 'Texas', + 171370 => 'Texas', 1713704 => 'Houston, TX', 1713706 => 'Houston, TX', - 1713721 => 'Houston, TX', - 1713722 => 'Houston, TX', - 1713723 => 'Houston, TX', - 1713726 => 'Houston, TX', - 1713728 => 'Houston, TX', - 1713729 => 'Houston, TX', + 171371 => 'Texas', + 171372 => 'Houston, TX', + 1713720 => 'Texas', + 1713724 => 'Texas', + 1713725 => 'Texas', + 1713727 => 'Texas', + 1713730 => 'Texas', 1713731 => 'Houston, TX', + 1713732 => 'Texas', 1713733 => 'Houston, TX', 1713734 => 'Houston, TX', + 1713735 => 'Texas', + 1713736 => 'Texas', + 1713737 => 'Texas', 1713738 => 'Houston, TX', 1713739 => 'Houston, TX', 1713740 => 'Pasadena, TX', 1713741 => 'Houston, TX', 1713742 => 'Houston, TX', 1713743 => 'Houston, TX', + 1713744 => 'Texas', + 1713745 => 'Texas', + 1713746 => 'Texas', 1713747 => 'Houston, TX', 1713748 => 'Houston, TX', - 1713750 => 'Houston, TX', - 1713751 => 'Houston, TX', - 1713752 => 'Houston, TX', - 1713755 => 'Houston, TX', - 1713757 => 'Houston, TX', - 1713758 => 'Houston, TX', - 1713759 => 'Houston, TX', - 1713771 => 'Houston, TX', - 1713772 => 'Houston, TX', - 1713773 => 'Houston, TX', - 1713774 => 'Houston, TX', - 1713776 => 'Houston, TX', - 1713777 => 'Houston, TX', - 1713778 => 'Houston, TX', - 1713779 => 'Houston, TX', - 1713780 => 'Houston, TX', - 1713781 => 'Houston, TX', - 1713782 => 'Houston, TX', - 1713783 => 'Houston, TX', - 1713784 => 'Houston, TX', - 1713785 => 'Houston, TX', - 1713787 => 'Houston, TX', - 1713789 => 'Houston, TX', - 1713790 => 'Houston, TX', - 1713791 => 'Houston, TX', - 1713792 => 'Houston, TX', - 1713794 => 'Houston, TX', - 1713795 => 'Houston, TX', - 1713796 => 'Houston, TX', - 1713797 => 'Houston, TX', - 1713798 => 'Houston, TX', - 1713799 => 'Houston, TX', + 1713749 => 'Texas', + 171375 => 'Houston, TX', + 1713753 => 'Texas', + 1713754 => 'Texas', + 1713756 => 'Texas', + 171376 => 'Texas', + 171377 => 'Houston, TX', + 1713770 => 'Texas', + 1713775 => 'Texas', + 171378 => 'Houston, TX', + 1713786 => 'Texas', + 1713788 => 'Texas', + 171379 => 'Houston, TX', + 1713793 => 'Texas', + 17138 => 'Texas', 1713802 => 'Houston, TX', 1713807 => 'Houston, TX', 1713812 => 'Houston, TX', @@ -1745,13 +1428,7 @@ return array ( 1713849 => 'Houston, TX', 1713850 => 'Houston, TX', 1713856 => 'Houston, TX', - 1713861 => 'Houston, TX', - 1713862 => 'Houston, TX', - 1713863 => 'Houston, TX', - 1713864 => 'Houston, TX', - 1713867 => 'Houston, TX', - 1713868 => 'Houston, TX', - 1713869 => 'Houston, TX', + 171386 => 'Houston, TX', 1713871 => 'Houston, TX', 1713873 => 'Houston, TX', 1713874 => 'Houston, TX', @@ -1760,45 +1437,56 @@ return array ( 1713884 => 'Houston, TX', 1713895 => 'Houston, TX', 1713896 => 'Houston, TX', + 171390 => 'Texas', + 171391 => 'Texas', 1713914 => 'Houston, TX', 1713917 => 'Houston, TX', 1713920 => 'Pasadena, TX', 1713921 => 'Houston, TX', + 1713922 => 'Texas', 1713923 => 'Houston, TX', 1713924 => 'Houston, TX', + 1713925 => 'Texas', 1713926 => 'Houston, TX', + 1713927 => 'Texas', 1713928 => 'Houston, TX', + 1713929 => 'Texas', + 1713930 => 'Texas', + 1713931 => 'Texas', 1713932 => 'Houston, TX', + 1713933 => 'Texas', 1713934 => 'Houston, TX', 1713935 => 'Houston, TX', + 1713936 => 'Texas', 1713937 => 'Houston, TX', + 1713938 => 'Texas', 1713939 => 'Houston, TX', + 171394 => 'Texas', 1713942 => 'Houston, TX', + 1713950 => 'Texas', 1713951 => 'Houston, TX', 1713952 => 'Houston, TX', 1713953 => 'Houston, TX', + 1713954 => 'Texas', + 1713955 => 'Texas', 1713956 => 'Houston, TX', 1713957 => 'Houston, TX', - 1713960 => 'Houston, TX', - 1713961 => 'Houston, TX', - 1713963 => 'Houston, TX', - 1713965 => 'Houston, TX', - 1713966 => 'Houston, TX', - 1713968 => 'Houston, TX', - 1713970 => 'Houston, TX', - 1713972 => 'Houston, TX', - 1713973 => 'Houston, TX', - 1713974 => 'Houston, TX', - 1713975 => 'Houston, TX', - 1713977 => 'Houston, TX', - 1713978 => 'Houston, TX', - 1713979 => 'Houston, TX', - 1713981 => 'Houston, TX', - 1713983 => 'Houston, TX', - 1713984 => 'Houston, TX', - 1713986 => 'Houston, TX', - 1713987 => 'Houston, TX', - 1713988 => 'Houston, TX', + 1713958 => 'Texas', + 1713959 => 'Texas', + 171396 => 'Houston, TX', + 1713962 => 'Texas', + 1713964 => 'Texas', + 1713967 => 'Texas', + 1713969 => 'Texas', + 171397 => 'Houston, TX', + 1713971 => 'Texas', + 1713976 => 'Texas', + 171398 => 'Houston, TX', + 1713980 => 'Texas', + 1713982 => 'Texas', + 1713985 => 'Texas', + 1713989 => 'Texas', + 171399 => 'Texas', 1713991 => 'Houston, TX', 1713993 => 'Houston, TX', 1713995 => 'Houston, TX', @@ -1930,13 +1618,7 @@ return array ( 1714835 => 'Santa Ana, CA', 1714836 => 'Santa Ana, CA', 1714838 => 'Tustin, CA', - 1714840 => 'Huntington Beach, CA', - 1714841 => 'Huntington Beach, CA', - 1714842 => 'Huntington Beach, CA', - 1714843 => 'Huntington Beach, CA', - 1714846 => 'Huntington Beach, CA', - 1714847 => 'Huntington Beach, CA', - 1714848 => 'Huntington Beach, CA', + 171484 => 'Huntington Beach, CA', 1714870 => 'Fullerton, CA', 1714871 => 'Fullerton, CA', 1714879 => 'Fullerton, CA', @@ -2002,12 +1684,7 @@ return array ( 1715327 => 'Frederic, WI', 1715335 => 'Plainfield, WI', 1715339 => 'Phillips, WI', - 1715341 => 'Stevens Point, WI', - 1715342 => 'Stevens Point, WI', - 1715343 => 'Stevens Point, WI', - 1715344 => 'Stevens Point, WI', - 1715345 => 'Stevens Point, WI', - 1715346 => 'Stevens Point, WI', + 171534 => 'Stevens Point, WI', 1715349 => 'Siren, WI', 1715352 => 'Edgar, WI', 1715354 => 'Birchwood, WI', @@ -2122,21 +1799,8 @@ return array ( 1715823 => 'Clintonville, WI', 1715824 => 'Amherst, WI', 1715825 => 'Milltown, WI', - 1715830 => 'Eau Claire, WI', - 1715831 => 'Eau Claire, WI', - 1715832 => 'Eau Claire, WI', - 1715833 => 'Eau Claire, WI', - 1715834 => 'Eau Claire, WI', - 1715835 => 'Eau Claire, WI', - 1715836 => 'Eau Claire, WI', - 1715838 => 'Eau Claire, WI', - 1715839 => 'Eau Claire, WI', - 1715842 => 'Wausau, WI', - 1715843 => 'Wausau, WI', - 1715845 => 'Wausau, WI', - 1715847 => 'Wausau, WI', - 1715848 => 'Wausau, WI', - 1715849 => 'Wausau, WI', + 171583 => 'Eau Claire, WI', + 171584 => 'Wausau, WI', 1715854 => 'Crivitz, WI', 1715855 => 'Eau Claire, WI', 1715856 => 'Wausaukee, WI', @@ -2232,57 +1896,8 @@ return array ( 1716783 => 'Buffalo, NY', 1716791 => 'Ransomville, NY', 1716792 => 'Brocton, NY', - 1716816 => 'Buffalo, NY', - 1716822 => 'Buffalo, NY', - 1716823 => 'Buffalo, NY', - 1716824 => 'Buffalo, NY', - 1716826 => 'Buffalo, NY', - 1716828 => 'Buffalo, NY', - 1716829 => 'Buffalo, NY', - 1716831 => 'Buffalo, NY', - 1716832 => 'Buffalo, NY', - 1716833 => 'Buffalo, NY', - 1716834 => 'Buffalo, NY', - 1716835 => 'Buffalo, NY', - 1716836 => 'Buffalo, NY', - 1716838 => 'Buffalo, NY', - 1716842 => 'Buffalo, NY', - 1716844 => 'Buffalo, NY', - 1716845 => 'Buffalo, NY', - 1716847 => 'Buffalo, NY', - 1716848 => 'Buffalo, NY', - 1716849 => 'Buffalo, NY', - 1716851 => 'Buffalo, NY', - 1716852 => 'Buffalo, NY', - 1716853 => 'Buffalo, NY', - 1716854 => 'Buffalo, NY', - 1716855 => 'Buffalo, NY', - 1716856 => 'Buffalo, NY', - 1716858 => 'Buffalo, NY', - 1716859 => 'Buffalo, NY', - 1716862 => 'Buffalo, NY', - 1716871 => 'Buffalo, NY', - 1716873 => 'Buffalo, NY', - 1716874 => 'Buffalo, NY', - 1716875 => 'Buffalo, NY', - 1716876 => 'Buffalo, NY', - 1716877 => 'Buffalo, NY', - 1716878 => 'Buffalo, NY', - 1716881 => 'Buffalo, NY', - 1716882 => 'Buffalo, NY', - 1716883 => 'Buffalo, NY', - 1716884 => 'Buffalo, NY', - 1716885 => 'Buffalo, NY', - 1716886 => 'Buffalo, NY', - 1716887 => 'Buffalo, NY', - 1716891 => 'Buffalo, NY', - 1716892 => 'Buffalo, NY', - 1716893 => 'Buffalo, NY', + 17168 => 'Buffalo, NY', 1716894 => 'Cheektowaga, NY', - 1716895 => 'Buffalo, NY', - 1716896 => 'Buffalo, NY', - 1716897 => 'Buffalo, NY', - 1716898 => 'Buffalo, NY', 1716934 => 'Silver Creek, NY', 1716937 => 'Alden, NY', 1716938 => 'Little Valley, NY', @@ -2297,14 +1912,7 @@ return array ( 1717221 => 'Harrisburg, PA', 1717225 => 'Spring Grove, PA', 1717228 => 'Lebanon, PA', - 1717230 => 'Harrisburg, PA', - 1717231 => 'Harrisburg, PA', - 1717232 => 'Harrisburg, PA', - 1717233 => 'Harrisburg, PA', - 1717234 => 'Harrisburg, PA', - 1717236 => 'Harrisburg, PA', - 1717237 => 'Harrisburg, PA', - 1717238 => 'Harrisburg, PA', + 171723 => 'Harrisburg, PA', 1717240 => 'Carlisle, PA', 1717241 => 'Carlisle, PA', 1717242 => 'Lewistown, PA', @@ -2349,14 +1957,7 @@ return array ( 1717362 => 'Elizabethville, PA', 1717367 => 'Elizabethtown, PA', 1717375 => 'Chambersburg, PA', - 1717390 => 'Lancaster, PA', - 1717391 => 'Lancaster, PA', - 1717392 => 'Lancaster, PA', - 1717393 => 'Lancaster, PA', - 1717394 => 'Lancaster, PA', - 1717396 => 'Lancaster, PA', - 1717397 => 'Lancaster, PA', - 1717399 => 'Lancaster, PA', + 171739 => 'Lancaster, PA', 1717412 => 'Harrisburg, PA', 1717423 => 'Newburg, PA', 1717426 => 'Marietta, PA', @@ -2476,12 +2077,7 @@ return array ( 1717832 => 'Palmyra, PA', 1717834 => 'Duncannon, PA', 1717838 => 'Palmyra, PA', - 1717840 => 'York, PA', - 1717843 => 'York, PA', - 1717845 => 'York, PA', - 1717846 => 'York, PA', - 1717848 => 'York, PA', - 1717849 => 'York, PA', + 171784 => 'York, PA', 1717851 => 'York, PA', 1717852 => 'York, PA', 1717854 => 'York, PA', @@ -2502,138 +2098,165 @@ return array ( 1717964 => 'Mount Gretna, PA', 1717975 => 'Camp Hill, PA', 1717993 => 'Stewartstown, PA', - 1718 => 'New York', + 171820 => 'New York', 1718206 => 'Jamaica, NY', 1718209 => 'Brooklyn, NY', + 171821 => 'New York', 1718210 => 'Brooklyn, NY', 1718218 => 'Brooklyn, NY', 1718220 => 'Bronx, NY', 1718221 => 'Brooklyn, NY', 1718222 => 'Brooklyn, NY', + 1718223 => 'New York', + 1718224 => 'New York', + 1718225 => 'New York', 1718226 => 'Staten Island, NY', 1718227 => 'Staten Island, NY', - 1718230 => 'Brooklyn, NY', + 1718228 => 'New York', + 1718229 => 'New York', + 171823 => 'Brooklyn, NY', 1718231 => 'Bronx, NY', - 1718232 => 'Brooklyn, NY', - 1718234 => 'Brooklyn, NY', - 1718235 => 'Brooklyn, NY', - 1718236 => 'Brooklyn, NY', - 1718237 => 'Brooklyn, NY', - 1718238 => 'Brooklyn, NY', + 1718233 => 'New York', 1718239 => 'Bronx, NY', 1718240 => 'Brooklyn, NY', 1718241 => 'Brooklyn, NY', + 1718242 => 'New York', 1718243 => 'Brooklyn, NY', 1718244 => 'Jamaica, NY', 1718245 => 'Brooklyn, NY', 1718246 => 'Brooklyn, NY', + 1718247 => 'New York', + 1718248 => 'New York', + 1718249 => 'New York', + 171825 => 'Brooklyn, NY', 1718250 => 'Downtown Brooklyn, Brooklyn, NY', - 1718251 => 'Brooklyn, NY', - 1718252 => 'Brooklyn, NY', - 1718253 => 'Brooklyn, NY', - 1718256 => 'Brooklyn, NY', - 1718257 => 'Brooklyn, NY', - 1718258 => 'Brooklyn, NY', - 1718259 => 'Brooklyn, NY', + 1718254 => 'New York', + 1718255 => 'New York', + 171826 => 'New York', 1718260 => 'Brooklyn, NY', 1718262 => 'Jamaica, NY', 1718265 => 'Brooklyn, NY', 1718266 => 'Brooklyn, NY', + 171827 => 'New York', 1718270 => 'Brooklyn, NY', 1718272 => 'Brooklyn, NY', 1718273 => 'Staten Island, NY', 1718277 => 'Brooklyn, NY', + 171828 => 'New York', 1718282 => 'Brooklyn, NY', 1718283 => 'Brooklyn, NY', 1718284 => 'Brooklyn, NY', 1718287 => 'Brooklyn, NY', + 1718290 => 'New York', 1718291 => 'Jamaica, NY', 1718292 => 'Bronx, NY', 1718293 => 'Bronx, NY', 1718294 => 'Bronx, NY', 1718295 => 'Bronx, NY', + 1718296 => 'New York', 1718297 => 'Jamaica, NY', 1718298 => 'Jamaica, NY', 1718299 => 'Bronx, NY', + 171830 => 'New York', 1718302 => 'Brooklyn, NY', + 171831 => 'New York', 1718317 => 'Staten Island, NY', 1718319 => 'Bronx, NY', 1718320 => 'Bronx, NY', 1718321 => 'Flushing, NY', + 1718322 => 'New York', + 1718323 => 'New York', 1718324 => 'Bronx, NY', 1718325 => 'Bronx, NY', + 1718326 => 'New York', 1718327 => 'Far Rockaway, NY', 1718328 => 'Bronx, NY', 1718329 => 'Bronx, NY', - 1718330 => 'Brooklyn, NY', - 1718331 => 'Brooklyn, NY', - 1718332 => 'Brooklyn, NY', - 1718333 => 'Brooklyn, NY', + 171833 => 'Brooklyn, NY', 1718334 => 'Elmhurst, NY', - 1718336 => 'Brooklyn, NY', + 1718335 => 'New York', 1718337 => 'Far Rockaway, NY', - 1718338 => 'Brooklyn, NY', - 1718339 => 'Brooklyn, NY', + 1718340 => 'New York', + 1718341 => 'New York', 1718342 => 'Brooklyn, NY', + 1718343 => 'New York', + 1718344 => 'New York', 1718345 => 'Brooklyn, NY', 1718346 => 'Brooklyn, NY', + 1718347 => 'New York', 1718348 => 'Brooklyn, NY', 1718349 => 'Brooklyn, NY', + 1718350 => 'New York', 1718351 => 'Staten Island, NY', + 1718352 => 'New York', 1718353 => 'Flushing, NY', + 1718354 => 'New York', + 1718355 => 'New York', 1718356 => 'Staten Island, NY', + 1718357 => 'New York', 1718358 => 'Flushing, NY', 1718359 => 'Flushing, NY', + 1718360 => 'New York', 1718361 => 'Long Island City, NY', + 1718362 => 'New York', 1718363 => 'Brooklyn, NY', 1718364 => 'Bronx, NY', 1718365 => 'Bronx, NY', + 1718366 => 'New York', 1718367 => 'Bronx, NY', 1718368 => 'Brooklyn, NY', 1718369 => 'Brooklyn, NY', 1718370 => 'Staten Island, NY', + 1718371 => 'New York', 1718372 => 'Brooklyn, NY', 1718373 => 'Brooklyn, NY', + 1718374 => 'New York', 1718375 => 'Brooklyn, NY', 1718376 => 'Brooklyn, NY', 1718377 => 'Brooklyn, NY', 1718378 => 'Bronx, NY', 1718379 => 'Bronx, NY', - 1718382 => 'Brooklyn, NY', - 1718383 => 'Brooklyn, NY', - 1718384 => 'Brooklyn, NY', - 1718385 => 'Brooklyn, NY', - 1718387 => 'Brooklyn, NY', - 1718388 => 'Brooklyn, NY', - 1718389 => 'Brooklyn, NY', + 171838 => 'Brooklyn, NY', + 1718380 => 'New York', + 1718381 => 'New York', + 1718386 => 'New York', 1718390 => 'Staten Island, NY', + 1718391 => 'New York', 1718392 => 'Long Island City, NY', + 1718393 => 'New York', + 1718394 => 'New York', + 1718395 => 'New York', + 1718396 => 'New York', 1718397 => 'Flushing, NY', 1718398 => 'Brooklyn, NY', 1718399 => 'Brooklyn, NY', + 1718400 => 'New York', 1718401 => 'Bronx, NY', 1718402 => 'Bronx, NY', 1718403 => 'Brooklyn, NY', + 1718404 => 'New York', 1718405 => 'Bronx, NY', + 1718406 => 'New York', + 1718407 => 'New York', + 1718408 => 'New York', 1718409 => 'Bronx, NY', + 171841 => 'New York', 1718410 => 'Bronx, NY', + 171842 => 'New York', 1718420 => 'Staten Island, NY', 1718421 => 'Brooklyn, NY', 1718422 => 'Brooklyn, NY', + 171843 => 'Brooklyn, NY', 1718430 => 'Bronx, NY', - 1718431 => 'Brooklyn, NY', 1718432 => 'Bronx, NY', 1718433 => 'Long Island City, NY', - 1718434 => 'Brooklyn, NY', - 1718435 => 'Brooklyn, NY', - 1718436 => 'Brooklyn, NY', - 1718437 => 'Brooklyn, NY', - 1718438 => 'Brooklyn, NY', - 1718439 => 'Brooklyn, NY', + 1718440 => 'New York', + 1718441 => 'New York', 1718442 => 'Staten Island, NY', 1718443 => 'Brooklyn, NY', 1718444 => 'Brooklyn, NY', 1718445 => 'Flushing, NY', + 1718446 => 'New York', 1718447 => 'Staten Island, NY', 1718448 => 'Staten Island, NY', 1718449 => 'Brooklyn, NY', @@ -2641,30 +2264,42 @@ return array ( 1718451 => 'Brooklyn, NY', 1718452 => 'Brooklyn, NY', 1718453 => 'Brooklyn, NY', + 1718454 => 'New York', 1718455 => 'Brooklyn, NY', + 1718456 => 'New York', + 1718457 => 'New York', + 1718458 => 'New York', + 1718459 => 'New York', 1718460 => 'Flushing, NY', 1718461 => 'Flushing, NY', 1718462 => 'Brooklyn, NY', 1718463 => 'Flushing, NY', + 1718464 => 'New York', + 1718465 => 'New York', 1718466 => 'Bronx, NY', 1718467 => 'Brooklyn, NY', + 1718468 => 'New York', 1718469 => 'Brooklyn, NY', + 171847 => 'New York', 1718471 => 'Far Rockaway, NY', 1718472 => 'Long Island City, NY', 1718477 => 'Staten Island, NY', + 1718480 => 'New York', + 1718481 => 'New York', 1718482 => 'Long Island City, NY', 1718483 => 'Brooklyn, NY', 1718484 => 'Brooklyn, NY', 1718485 => 'Brooklyn, NY', 1718486 => 'Brooklyn, NY', + 1718487 => 'New York', 1718488 => 'Brooklyn, NY', - 1718491 => 'Brooklyn, NY', - 1718492 => 'Brooklyn, NY', - 1718493 => 'Brooklyn, NY', + 1718489 => 'New York', + 171849 => 'Brooklyn, NY', + 1718490 => 'New York', 1718494 => 'Staten Island, NY', - 1718495 => 'Brooklyn, NY', - 1718498 => 'Brooklyn, NY', - 1718499 => 'Brooklyn, NY', + 1718496 => 'New York', + 1718497 => 'New York', + 17185 => 'New York', 1718513 => 'Brooklyn, NY', 1718515 => 'Bronx, NY', 1718518 => 'Bronx, NY', @@ -2704,6 +2339,7 @@ return array ( 1718596 => 'Brooklyn, NY', 1718597 => 'Bronx, NY', 1718599 => 'Brooklyn, NY', + 17186 => 'New York', 1718601 => 'Bronx, NY', 1718602 => 'Brooklyn, NY', 1718604 => 'Brooklyn, NY', @@ -2713,25 +2349,13 @@ return array ( 1718616 => 'Brooklyn, NY', 1718617 => 'Bronx, NY', 1718618 => 'Bronx, NY', + 171862 => 'Brooklyn, NY', 1718620 => 'Bronx, NY', - 1718621 => 'Brooklyn, NY', - 1718622 => 'Brooklyn, NY', - 1718623 => 'Brooklyn, NY', - 1718624 => 'Brooklyn, NY', - 1718625 => 'Brooklyn, NY', - 1718627 => 'Brooklyn, NY', - 1718629 => 'Brooklyn, NY', 1718630 => 'Brooklyn, NY', 1718633 => 'Brooklyn, NY', 1718636 => 'Brooklyn, NY', 1718638 => 'Brooklyn, NY', - 1718642 => 'Brooklyn, NY', - 1718643 => 'Brooklyn, NY', - 1718645 => 'Brooklyn, NY', - 1718646 => 'Brooklyn, NY', - 1718647 => 'Brooklyn, NY', - 1718648 => 'Brooklyn, NY', - 1718649 => 'Brooklyn, NY', + 171864 => 'Brooklyn, NY', 1718652 => 'Bronx, NY', 1718653 => 'Bronx, NY', 1718654 => 'Bronx, NY', @@ -2753,53 +2377,74 @@ return array ( 1718692 => 'Brooklyn, NY', 1718693 => 'Brooklyn, NY', 1718698 => 'Staten Island, NY', + 171870 => 'New York', 1718703 => 'Brooklyn, NY', 1718707 => 'Long Island City, NY', 1718708 => 'Bronx, NY', + 171871 => 'New York', 1718714 => 'Brooklyn, NY', 1718716 => 'Bronx, NY', 1718720 => 'Staten Island, NY', + 1718721 => 'New York', 1718722 => 'Brooklyn, NY', 1718723 => 'Jamaica, NY', + 1718724 => 'New York', 1718725 => 'Jamaica, NY', + 1718726 => 'New York', 1718727 => 'Staten Island, NY', + 1718728 => 'New York', 1718729 => 'Long Island City, NY', + 171873 => 'New York', 1718731 => 'Bronx, NY', 1718733 => 'Bronx, NY', 1718735 => 'Brooklyn, NY', 1718739 => 'Jamaica, NY', + 1718740 => 'New York', 1718741 => 'Bronx, NY', 1718742 => 'Bronx, NY', 1718743 => 'Brooklyn, NY', + 1718744 => 'New York', 1718745 => 'Brooklyn, NY', + 1718746 => 'New York', + 1718747 => 'New York', 1718748 => 'Brooklyn, NY', + 1718749 => 'New York', + 171875 => 'New York', 1718752 => 'Long Island City, NY', 1718756 => 'Brooklyn, NY', 1718758 => 'Brooklyn, NY', 1718759 => 'Brooklyn, NY', + 1718760 => 'New York', 1718761 => 'Staten Island, NY', 1718762 => 'Flushing, NY', 1718763 => 'Brooklyn, NY', + 1718764 => 'New York', 1718765 => 'Brooklyn, NY', + 1718766 => 'New York', + 1718767 => 'New York', 1718768 => 'Brooklyn, NY', 1718769 => 'Brooklyn, NY', + 171877 => 'New York', 1718771 => 'Brooklyn, NY', 1718773 => 'Brooklyn, NY', 1718774 => 'Brooklyn, NY', 1718778 => 'Brooklyn, NY', - 1718780 => 'Brooklyn, NY', - 1718782 => 'Brooklyn, NY', - 1718783 => 'Brooklyn, NY', + 171878 => 'Brooklyn, NY', + 1718781 => 'New York', 1718784 => 'Long Island City, NY', + 1718785 => 'New York', 1718786 => 'Long Island City, NY', - 1718787 => 'Brooklyn, NY', - 1718788 => 'Brooklyn, NY', - 1718789 => 'Brooklyn, NY', + 1718790 => 'New York', + 1718791 => 'New York', 1718792 => 'Bronx, NY', + 1718793 => 'New York', 1718794 => 'Bronx, NY', + 1718795 => 'New York', 1718796 => 'Bronx, NY', 1718797 => 'Brooklyn, NY', 1718798 => 'Bronx, NY', + 1718799 => 'New York', + 17188 => 'New York', 1718802 => 'Brooklyn, NY', 1718815 => 'Staten Island, NY', 1718816 => 'Staten Island, NY', @@ -2817,15 +2462,7 @@ return array ( 1718836 => 'Brooklyn, NY', 1718837 => 'Brooklyn, NY', 1718842 => 'Bronx, NY', - 1718851 => 'Brooklyn, NY', - 1718852 => 'Brooklyn, NY', - 1718853 => 'Brooklyn, NY', - 1718854 => 'Brooklyn, NY', - 1718855 => 'Brooklyn, NY', - 1718856 => 'Brooklyn, NY', - 1718857 => 'Brooklyn, NY', - 1718858 => 'Brooklyn, NY', - 1718859 => 'Brooklyn, NY', + 171885 => 'Brooklyn, NY', 1718860 => 'Bronx, NY', 1718861 => 'Bronx, NY', 1718863 => 'Bronx, NY', @@ -2843,45 +2480,65 @@ return array ( 1718891 => 'Brooklyn, NY', 1718892 => 'Bronx, NY', 1718893 => 'Bronx, NY', + 171890 => 'New York', 1718901 => 'Bronx, NY', 1718904 => 'Bronx, NY', + 171891 => 'New York', 1718918 => 'Bronx, NY', 1718919 => 'Brooklyn, NY', 1718920 => 'Bronx, NY', 1718921 => 'Brooklyn, NY', 1718922 => 'Brooklyn, NY', + 1718923 => 'New York', + 1718924 => 'New York', + 1718925 => 'New York', + 1718926 => 'New York', 1718927 => 'Brooklyn, NY', 1718928 => 'Brooklyn, NY', + 1718929 => 'New York', + 1718930 => 'New York', 1718931 => 'Bronx, NY', + 1718932 => 'New York', 1718933 => 'Bronx, NY', 1718934 => 'Brooklyn, NY', 1718935 => 'Brooklyn, NY', + 1718936 => 'New York', 1718937 => 'Long Island City, NY', + 1718938 => 'New York', 1718939 => 'Flushing, NY', 1718940 => 'Brooklyn, NY', 1718941 => 'Brooklyn, NY', + 1718942 => 'New York', + 1718943 => 'New York', 1718944 => 'Bronx, NY', + 1718945 => 'New York', 1718946 => 'Brooklyn, NY', + 1718947 => 'New York', 1718948 => 'Staten Island, NY', + 1718949 => 'New York', + 171895 => 'New York', 1718951 => 'Brooklyn, NY', 1718953 => 'Brooklyn, NY', 1718960 => 'Bronx, NY', 1718961 => 'Flushing, NY', + 1718962 => 'New York', 1718963 => 'Brooklyn, NY', + 1718964 => 'New York', 1718965 => 'Brooklyn, NY', 1718966 => 'Staten Island, NY', 1718967 => 'Staten Island, NY', 1718968 => 'Brooklyn, NY', + 1718969 => 'New York', + 171897 => 'New York', 1718972 => 'Brooklyn, NY', 1718975 => 'Brooklyn, NY', 1718978 => 'Jamaica, NY', 1718979 => 'Staten Island, NY', - 1718980 => 'Staten Island, NY', - 1718981 => 'Staten Island, NY', - 1718982 => 'Staten Island, NY', - 1718983 => 'Staten Island, NY', - 1718984 => 'Staten Island, NY', - 1718987 => 'Staten Island, NY', + 171898 => 'Staten Island, NY', + 1718985 => 'New York', + 1718986 => 'New York', + 1718988 => 'New York', + 1718989 => 'New York', 1718990 => 'Jamaica, NY', 1718991 => 'Bronx, NY', 1718992 => 'Bronx, NY', @@ -2889,7 +2546,9 @@ return array ( 1718994 => 'Bronx, NY', 1718995 => 'Jamaica, NY', 1718996 => 'Brooklyn, NY', + 1718997 => 'New York', 1718998 => 'Brooklyn, NY', + 1718999 => 'New York', 1719 => 'Colorado', 1719203 => 'Colorado Springs, CO', 1719219 => 'Colorado Springs, CO', @@ -2984,38 +2643,15 @@ return array ( 1719562 => 'Pueblo, CO', 1719564 => 'Pueblo, CO', 1719566 => 'Pueblo, CO', - 1719570 => 'Colorado Springs, CO', - 1719572 => 'Colorado Springs, CO', - 1719573 => 'Colorado Springs, CO', - 1719574 => 'Colorado Springs, CO', - 1719575 => 'Colorado Springs, CO', - 1719576 => 'Colorado Springs, CO', - 1719577 => 'Colorado Springs, CO', - 1719578 => 'Colorado Springs, CO', - 1719579 => 'Colorado Springs, CO', + 171957 => 'Colorado Springs, CO', 1719583 => 'Pueblo, CO', 1719584 => 'Pueblo, CO', 1719587 => 'Alamosa, CO', 1719589 => 'Alamosa, CO', - 1719590 => 'Colorado Springs, CO', - 1719591 => 'Colorado Springs, CO', - 1719592 => 'Colorado Springs, CO', - 1719593 => 'Colorado Springs, CO', - 1719594 => 'Colorado Springs, CO', - 1719596 => 'Colorado Springs, CO', - 1719597 => 'Colorado Springs, CO', - 1719598 => 'Colorado Springs, CO', - 1719599 => 'Colorado Springs, CO', + 171959 => 'Colorado Springs, CO', 1719622 => 'Colorado Springs, CO', 1719623 => 'Colorado Springs, CO', - 1719630 => 'Colorado Springs, CO', - 1719632 => 'Colorado Springs, CO', - 1719633 => 'Colorado Springs, CO', - 1719634 => 'Colorado Springs, CO', - 1719635 => 'Colorado Springs, CO', - 1719636 => 'Colorado Springs, CO', - 1719637 => 'Colorado Springs, CO', - 1719638 => 'Colorado Springs, CO', + 171963 => 'Colorado Springs, CO', 1719641 => 'Colorado Springs, CO', 1719647 => 'Pueblo West, CO', 1719657 => 'Del Norte, CO', @@ -3181,12 +2817,7 @@ return array ( 1724776 => 'Cranberry Twp, PA', 1724785 => 'Brownsville, PA', 1724794 => 'Slippery Rock, PA', - 1724830 => 'Greensburg, PA', - 1724832 => 'Greensburg, PA', - 1724834 => 'Greensburg, PA', - 1724836 => 'Greensburg, PA', - 1724837 => 'Greensburg, PA', - 1724838 => 'Greensburg, PA', + 172483 => 'Greensburg, PA', 1724843 => 'Beaver Falls, PA', 1724845 => 'Leechburg, PA', 1724846 => 'Beaver Falls, PA', @@ -3239,12 +2870,7 @@ return array ( 1727381 => 'St. Petersburg, FL', 1727384 => 'St. Petersburg, FL', 1727392 => 'Seminole, FL', - 1727441 => 'Clearwater, FL', - 1727442 => 'Clearwater, FL', - 1727443 => 'Clearwater, FL', - 1727446 => 'Clearwater, FL', - 1727447 => 'Clearwater, FL', - 1727449 => 'Clearwater, FL', + 172744 => 'Clearwater, FL', 1727461 => 'Clearwater, FL', 1727462 => 'Clearwater, FL', 1727464 => 'Clearwater, FL', @@ -3253,14 +2879,8 @@ return array ( 1727502 => 'St. Petersburg, FL', 1727507 => 'Clearwater, FL', 1727518 => 'Largo, FL', - 1727520 => 'St. Petersburg, FL', - 1727521 => 'St. Petersburg, FL', - 1727522 => 'St. Petersburg, FL', + 172752 => 'St. Petersburg, FL', 1727524 => 'Clearwater, FL', - 1727525 => 'St. Petersburg, FL', - 1727526 => 'St. Petersburg, FL', - 1727527 => 'St. Petersburg, FL', - 1727528 => 'St. Petersburg, FL', 1727532 => 'Clearwater, FL', 1727538 => 'Clearwater, FL', 1727541 => 'Pinellas Park, FL', @@ -3277,12 +2897,7 @@ return array ( 1727577 => 'St. Petersburg, FL', 1727578 => 'St. Petersburg, FL', 1727579 => 'St. Petersburg, FL', - 1727581 => 'Largo, FL', - 1727584 => 'Largo, FL', - 1727585 => 'Largo, FL', - 1727586 => 'Largo, FL', - 1727587 => 'Largo, FL', - 1727588 => 'Largo, FL', + 172758 => 'Largo, FL', 1727595 => 'Largo, FL', 1727596 => 'Largo, FL', 1727669 => 'Clearwater, FL', @@ -3299,25 +2914,14 @@ return array ( 1727771 => 'Palm Harbor, FL', 1727772 => 'Palm Harbor, FL', 1727773 => 'Palm Harbor, FL', - 1727781 => 'Palm Harbor, FL', - 1727784 => 'Palm Harbor, FL', - 1727785 => 'Palm Harbor, FL', - 1727786 => 'Palm Harbor, FL', - 1727787 => 'Palm Harbor, FL', - 1727789 => 'Palm Harbor, FL', + 172778 => 'Palm Harbor, FL', 1727791 => 'Clearwater, FL', 1727796 => 'Clearwater, FL', 1727797 => 'Clearwater, FL', 1727799 => 'Clearwater, FL', 1727815 => 'New Port Richey, FL', 1727819 => 'Hudson, FL', - 1727820 => 'St. Petersburg, FL', - 1727821 => 'St. Petersburg, FL', - 1727822 => 'St. Petersburg, FL', - 1727823 => 'St. Petersburg, FL', - 1727824 => 'St. Petersburg, FL', - 1727825 => 'St. Petersburg, FL', - 1727827 => 'St. Petersburg, FL', + 172782 => 'St. Petersburg, FL', 1727842 => 'New Port Richey, FL', 1727857 => 'Hudson, FL', 1727861 => 'Hudson, FL', @@ -3569,13 +3173,7 @@ return array ( 1734466 => 'Livonia, MI', 1734475 => 'Chelsea, MI', 1734477 => 'Ann Arbor, MI', - 1734480 => 'Ypsilanti, MI', - 1734481 => 'Ypsilanti, MI', - 1734482 => 'Ypsilanti, MI', - 1734483 => 'Ypsilanti, MI', - 1734484 => 'Ypsilanti, MI', - 1734485 => 'Ypsilanti, MI', - 1734487 => 'Ypsilanti, MI', + 173448 => 'Ypsilanti, MI', 1734495 => 'Canton, MI', 1734513 => 'Livonia, MI', 1734522 => 'Livonia, MI', @@ -3881,27 +3479,15 @@ return array ( 1757486 => 'Virginia Beach, VA', 1757487 => 'Chesapeake, VA', 1757489 => 'Norfolk, VA', - 1757490 => 'Virginia Beach, VA', - 1757491 => 'Virginia Beach, VA', - 1757493 => 'Virginia Beach, VA', + 175749 => 'Virginia Beach, VA', 1757494 => 'Chesapeake, VA', - 1757495 => 'Virginia Beach, VA', - 1757496 => 'Virginia Beach, VA', - 1757497 => 'Virginia Beach, VA', - 1757498 => 'Virginia Beach, VA', - 1757499 => 'Virginia Beach, VA', 1757502 => 'Virginia Beach, VA', 1757516 => 'Franklin, VA', 1757533 => 'Norfolk, VA', 1757534 => 'Newport News, VA', 1757538 => 'Suffolk, VA', 1757539 => 'Suffolk, VA', - 1757543 => 'Chesapeake, VA', - 1757545 => 'Chesapeake, VA', - 1757546 => 'Chesapeake, VA', - 1757547 => 'Chesapeake, VA', - 1757548 => 'Chesapeake, VA', - 1757549 => 'Chesapeake, VA', + 175754 => 'Chesapeake, VA', 1757552 => 'Virginia Beach, VA', 1757558 => 'Chesapeake, VA', 1757562 => 'Franklin, VA', @@ -3918,12 +3504,7 @@ return array ( 1757595 => 'Newport News, VA', 1757596 => 'Newport News, VA', 1757599 => 'Newport News, VA', - 1757622 => 'Norfolk, VA', - 1757623 => 'Norfolk, VA', - 1757624 => 'Norfolk, VA', - 1757625 => 'Norfolk, VA', - 1757627 => 'Norfolk, VA', - 1757628 => 'Norfolk, VA', + 175762 => 'Norfolk, VA', 1757631 => 'Virginia Beach, VA', 1757640 => 'Norfolk, VA', 1757645 => 'Williamsburg, VA', @@ -4107,13 +3688,8 @@ return array ( 1760737 => 'Escondido, CA', 1760738 => 'Escondido, CA', 1760739 => 'Escondido, CA', - 1760740 => 'Escondido, CA', - 1760741 => 'Escondido, CA', - 1760743 => 'Escondido, CA', + 176074 => 'Escondido, CA', 1760744 => 'San Marcos, CA', - 1760745 => 'Escondido, CA', - 1760746 => 'Escondido, CA', - 1760747 => 'Escondido, CA', 1760749 => 'Valley Center, CA', 1760751 => 'Valley Center, CA', 1760752 => 'San Marcos, CA', @@ -4213,13 +3789,7 @@ return array ( 1765 => 'Indiana', 1765236 => 'Kokomo, IN', 1765254 => 'Muncie, IN', - 1765281 => 'Muncie, IN', - 1765282 => 'Muncie, IN', - 1765284 => 'Muncie, IN', - 1765286 => 'Muncie, IN', - 1765287 => 'Muncie, IN', - 1765288 => 'Muncie, IN', - 1765289 => 'Muncie, IN', + 176528 => 'Muncie, IN', 1765294 => 'Veedersburg, IN', 1765298 => 'Anderson, IN', 1765342 => 'Martinsville, IN', @@ -4240,15 +3810,8 @@ return array ( 1765447 => 'Lafayette, IN', 1765448 => 'Lafayette, IN', 1765449 => 'Lafayette, IN', - 1765450 => 'Kokomo, IN', - 1765452 => 'Kokomo, IN', - 1765453 => 'Kokomo, IN', - 1765454 => 'Kokomo, IN', - 1765455 => 'Kokomo, IN', - 1765456 => 'Kokomo, IN', - 1765457 => 'Kokomo, IN', + 176545 => 'Kokomo, IN', 1765458 => 'Liberty, IN', - 1765459 => 'Kokomo, IN', 1765463 => 'West Lafayette, IN', 1765464 => 'West Lafayette, IN', 1765468 => 'Farmland, IN', @@ -4276,14 +3839,8 @@ return array ( 1765588 => 'Lafayette, IN', 1765622 => 'Anderson, IN', 1765628 => 'Greentown, IN', - 1765640 => 'Anderson, IN', - 1765641 => 'Anderson, IN', - 1765642 => 'Anderson, IN', - 1765643 => 'Anderson, IN', - 1765644 => 'Anderson, IN', - 1765646 => 'Anderson, IN', + 176564 => 'Anderson, IN', 1765647 => 'Brookville, IN', - 1765649 => 'Anderson, IN', 1765651 => 'Marion, IN', 1765653 => 'Greencastle, IN', 1765654 => 'Frankfort, IN', @@ -4391,14 +3948,7 @@ return array ( 1770387 => 'Cartersville, GA', 1770388 => 'Conyers, GA', 1770389 => 'Stockbridge, GA', - 1770390 => 'Atlanta, GA', - 1770391 => 'Atlanta, GA', - 1770392 => 'Atlanta, GA', - 1770393 => 'Atlanta, GA', - 1770394 => 'Atlanta, GA', - 1770395 => 'Atlanta, GA', - 1770396 => 'Atlanta, GA', - 1770399 => 'Atlanta, GA', + 177039 => 'Atlanta, GA', 1770409 => 'Norcross, GA', 1770410 => 'Alpharetta, GA', 1770412 => 'Griffin, GA', @@ -4406,19 +3956,8 @@ return array ( 1770414 => 'Tucker, GA', 1770416 => 'Norcross, GA', 1770418 => 'Duluth, GA', - 1770421 => 'Marietta, GA', - 1770422 => 'Marietta, GA', - 1770424 => 'Marietta, GA', - 1770425 => 'Marietta, GA', - 1770427 => 'Marietta, GA', - 1770428 => 'Marietta, GA', - 1770429 => 'Marietta, GA', - 1770432 => 'Smyrna, GA', - 1770433 => 'Smyrna, GA', - 1770434 => 'Smyrna, GA', - 1770435 => 'Smyrna, GA', - 1770436 => 'Smyrna, GA', - 1770438 => 'Smyrna, GA', + 177042 => 'Marietta, GA', + 177043 => 'Smyrna, GA', 1770441 => 'Norcross, GA', 1770442 => 'Alpharetta, GA', 1770443 => 'Dallas, GA', @@ -4477,14 +4016,8 @@ return array ( 1770522 => 'Atlanta, GA', 1770528 => 'Marietta, GA', 1770529 => 'Acworth, GA', - 1770531 => 'Gainesville, GA', - 1770532 => 'Gainesville, GA', - 1770533 => 'Gainesville, GA', - 1770534 => 'Gainesville, GA', - 1770535 => 'Gainesville, GA', - 1770536 => 'Gainesville, GA', + 177053 => 'Gainesville, GA', 1770537 => 'Bremen, GA', - 1770538 => 'Gainesville, GA', 1770551 => 'Atlanta, GA', 1770552 => 'Roswell, GA', 1770554 => 'Loganville, GA', @@ -4665,15 +4198,8 @@ return array ( 1772398 => 'Port St. Lucie, FL', 1772419 => 'Stuart, FL', 1772429 => 'Fort Pierce, FL', - 1772460 => 'Fort Pierce, FL', - 1772461 => 'Fort Pierce, FL', - 1772462 => 'Fort Pierce, FL', + 177246 => 'Fort Pierce, FL', 1772463 => 'Stuart, FL', - 1772464 => 'Fort Pierce, FL', - 1772465 => 'Fort Pierce, FL', - 1772466 => 'Fort Pierce, FL', - 1772467 => 'Fort Pierce, FL', - 1772468 => 'Fort Pierce, FL', 1772473 => 'Vero Beach, FL', 1772489 => 'Fort Pierce, FL', 1772492 => 'Vero Beach, FL', @@ -4717,25 +4243,14 @@ return array ( 1775273 => 'Lovelock, NV', 1775284 => 'Reno, NV', 1775289 => 'Ely, NV', - 1775322 => 'Reno, NV', - 1775323 => 'Reno, NV', - 1775324 => 'Reno, NV', - 1775327 => 'Reno, NV', - 1775328 => 'Reno, NV', - 1775329 => 'Reno, NV', + 177532 => 'Reno, NV', 1775331 => 'Sparks, NV', 1775332 => 'Reno, NV', 1775333 => 'Reno, NV', 1775334 => 'Reno, NV', 1775337 => 'Reno, NV', 1775348 => 'Reno, NV', - 1775351 => 'Sparks, NV', - 1775352 => 'Sparks, NV', - 1775353 => 'Sparks, NV', - 1775355 => 'Sparks, NV', - 1775356 => 'Sparks, NV', - 1775358 => 'Sparks, NV', - 1775359 => 'Sparks, NV', + 177535 => 'Sparks, NV', 1775423 => 'Fallon, NV', 1775424 => 'Sparks, NV', 1775425 => 'Sparks, NV', @@ -4775,33 +4290,16 @@ return array ( 1775784 => 'Reno, NV', 1775786 => 'Reno, NV', 1775787 => 'Reno, NV', - 1775823 => 'Reno, NV', - 1775824 => 'Reno, NV', - 1775825 => 'Reno, NV', - 1775826 => 'Reno, NV', - 1775827 => 'Reno, NV', - 1775828 => 'Reno, NV', - 1775829 => 'Reno, NV', + 177582 => 'Reno, NV', 1775831 => 'Incline Village, NV', 1775832 => 'Incline Village, NV', 1775833 => 'Incline Village, NV', 1775841 => 'Carson City, NV', 1775847 => 'Virginia City, NV', 1775849 => 'Reno, NV', - 1775850 => 'Reno, NV', - 1775851 => 'Reno, NV', - 1775852 => 'Reno, NV', - 1775853 => 'Reno, NV', - 1775856 => 'Reno, NV', - 1775857 => 'Reno, NV', + 177585 => 'Reno, NV', 1775867 => 'Fallon, NV', - 1775882 => 'Carson City, NV', - 1775883 => 'Carson City, NV', - 1775884 => 'Carson City, NV', - 1775885 => 'Carson City, NV', - 1775886 => 'Carson City, NV', - 1775887 => 'Carson City, NV', - 1775888 => 'Carson City, NV', + 177588 => 'Carson City, NV', 1775945 => 'Hawthorne, NV', 1775972 => 'Reno, NV', 1775982 => 'Reno, NV', @@ -4832,88 +4330,18 @@ return array ( 1780361 => 'Wetaskiwin, AB', 1780385 => 'Killam, AB', 1780387 => 'Millet, AB', + 17804 => 'Edmonton, AB', 1780402 => 'Grande Prairie, AB', - 1780406 => 'Edmonton, AB', - 1780407 => 'Edmonton, AB', - 1780408 => 'Edmonton, AB', - 1780409 => 'Edmonton, AB', - 1780413 => 'Edmonton, AB', - 1780414 => 'Edmonton, AB', 1780416 => 'Sherwood Park, AB', 1780417 => 'Sherwood Park, AB', 1780418 => 'St. Albert, AB', - 1780420 => 'Edmonton, AB', - 1780421 => 'Edmonton, AB', - 1780422 => 'Edmonton, AB', - 1780423 => 'Edmonton, AB', - 1780424 => 'Edmonton, AB', - 1780425 => 'Edmonton, AB', - 1780426 => 'Edmonton, AB', - 1780428 => 'Edmonton, AB', - 1780429 => 'Edmonton, AB', - 1780430 => 'Edmonton, AB', - 1780431 => 'Edmonton, AB', - 1780432 => 'Edmonton, AB', - 1780433 => 'Edmonton, AB', - 1780434 => 'Edmonton, AB', - 1780435 => 'Edmonton, AB', - 1780436 => 'Edmonton, AB', - 1780437 => 'Edmonton, AB', - 1780438 => 'Edmonton, AB', - 1780439 => 'Edmonton, AB', - 1780440 => 'Edmonton, AB', - 1780441 => 'Edmonton, AB', - 1780442 => 'Edmonton, AB', - 1780443 => 'Edmonton, AB', - 1780444 => 'Edmonton, AB', - 1780446 => 'Edmonton, AB', - 1780447 => 'Edmonton, AB', - 1780448 => 'Edmonton, AB', 1780449 => 'Sherwood Park, AB', - 1780450 => 'Edmonton, AB', - 1780451 => 'Edmonton, AB', - 1780452 => 'Edmonton, AB', - 1780453 => 'Edmonton, AB', - 1780454 => 'Edmonton, AB', - 1780455 => 'Edmonton, AB', - 1780456 => 'Edmonton, AB', - 1780457 => 'Edmonton, AB', 1780458 => 'St. Albert, AB', 1780459 => 'St. Albert, AB', 1780460 => 'St. Albert, AB', - 1780461 => 'Edmonton, AB', - 1780462 => 'Edmonton, AB', - 1780463 => 'Edmonton, AB', 1780464 => 'Sherwood Park, AB', - 1780465 => 'Edmonton, AB', - 1780466 => 'Edmonton, AB', 1780467 => 'Sherwood Park, AB', - 1780468 => 'Edmonton, AB', - 1780469 => 'Edmonton, AB', 1780470 => 'St. Albert, AB', - 1780471 => 'Edmonton, AB', - 1780472 => 'Edmonton, AB', - 1780473 => 'Edmonton, AB', - 1780474 => 'Edmonton, AB', - 1780475 => 'Edmonton, AB', - 1780476 => 'Edmonton, AB', - 1780477 => 'Edmonton, AB', - 1780478 => 'Edmonton, AB', - 1780479 => 'Edmonton, AB', - 1780481 => 'Edmonton, AB', - 1780482 => 'Edmonton, AB', - 1780483 => 'Edmonton, AB', - 1780484 => 'Edmonton, AB', - 1780485 => 'Edmonton, AB', - 1780486 => 'Edmonton, AB', - 1780487 => 'Edmonton, AB', - 1780488 => 'Edmonton, AB', - 1780489 => 'Edmonton, AB', - 1780490 => 'Edmonton, AB', - 1780492 => 'Edmonton, AB', - 1780496 => 'Edmonton, AB', - 1780497 => 'Edmonton, AB', - 1780499 => 'Edmonton, AB', 1780513 => 'Grande Prairie, AB', 1780523 => 'High Prairie, AB', 1780524 => 'Valleyview, AB', @@ -5077,12 +4505,7 @@ return array ( 1781581 => 'Lynn, MA', 1781582 => 'Kingston, MA', 1781585 => 'Kingston, MA', - 1781592 => 'Lynn, MA', - 1781593 => 'Lynn, MA', - 1781595 => 'Lynn, MA', - 1781596 => 'Lynn, MA', - 1781598 => 'Lynn, MA', - 1781599 => 'Lynn, MA', + 178159 => 'Lynn, MA', 1781631 => 'Marblehead, MA', 1781639 => 'Marblehead, MA', 1781641 => 'Arlington, MA', @@ -5121,12 +4544,7 @@ return array ( 1781861 => 'Lexington, MA', 1781862 => 'Lexington, MA', 1781863 => 'Lexington, MA', - 1781890 => 'Waltham, MA', - 1781891 => 'Waltham, MA', - 1781893 => 'Waltham, MA', - 1781894 => 'Waltham, MA', - 1781895 => 'Waltham, MA', - 1781899 => 'Waltham, MA', + 178189 => 'Waltham, MA', 1781925 => 'Hull, MA', 1781932 => 'Woburn, MA', 1781933 => 'Woburn, MA', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php index eba2d071a..5310f1f59 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/18.php @@ -13,13 +13,7 @@ return array ( 1801 => 'Utah', 1801213 => 'Salt Lake City, UT', - 1801221 => 'Orem, UT', - 1801222 => 'Orem, UT', - 1801224 => 'Orem, UT', - 1801225 => 'Orem, UT', - 1801226 => 'Orem, UT', - 1801227 => 'Orem, UT', - 1801229 => 'Orem, UT', + 180122 => 'Orem, UT', 1801250 => 'Magna, UT', 1801257 => 'South State Street, Salt Lake City, UT', 1801262 => 'Salt Lake City, UT', @@ -94,24 +88,14 @@ return array ( 1801507 => 'Murray, UT', 1801521 => 'Salt Lake City, UT', 1801524 => 'Salt Lake City, UT', - 1801531 => 'Salt Lake City, UT', - 1801532 => 'Salt Lake City, UT', - 1801533 => 'Salt Lake City, UT', - 1801535 => 'Salt Lake City, UT', - 1801538 => 'Salt Lake City, UT', - 1801539 => 'Salt Lake City, UT', + 180153 => 'Salt Lake City, UT', 1801544 => 'Layton, UT', 1801546 => 'Layton, UT', 1801547 => 'Layton, UT', 1801555 => 'Windsor North, Orem, UT', 1801575 => 'Salt Lake City, UT', 1801578 => 'Salt Lake City, UT', - 1801581 => 'Salt Lake City, UT', - 1801582 => 'Salt Lake City, UT', - 1801583 => 'Salt Lake City, UT', - 1801584 => 'Salt Lake City, UT', - 1801585 => 'Salt Lake City, UT', - 1801587 => 'Salt Lake City, UT', + 180158 => 'Salt Lake City, UT', 1801590 => 'Salt Lake City, UT', 1801593 => 'Layton, UT', 1801595 => 'Salt Lake City, UT', @@ -150,12 +134,7 @@ return array ( 1801942 => 'Salt Lake City, UT', 1801953 => 'Salt Lake City, UT', 1801968 => 'Salt Lake City, UT', - 1801972 => 'Salt Lake City, UT', - 1801973 => 'Salt Lake City, UT', - 1801974 => 'Salt Lake City, UT', - 1801975 => 'Salt Lake City, UT', - 1801977 => 'Salt Lake City, UT', - 1801978 => 'Salt Lake City, UT', + 180197 => 'Salt Lake City, UT', 1801983 => 'Salt Lake City, UT', 1801985 => 'Roy, UT', 1801990 => 'Salt Lake City, UT', @@ -246,12 +225,7 @@ return array ( 1803227 => 'Columbia, SC', 1803245 => 'Bamberg, SC', 1803247 => 'North, SC', - 1803251 => 'Columbia, SC', - 1803252 => 'Columbia, SC', - 1803253 => 'Columbia, SC', - 1803254 => 'Columbia, SC', - 1803255 => 'Columbia, SC', - 1803256 => 'Columbia, SC', + 180325 => 'Columbia, SC', 1803259 => 'Barnwell, SC', 1803266 => 'Williston, SC', 1803275 => 'Johnston, SC', @@ -325,13 +299,8 @@ return array ( 1803632 => 'Fairfax, SC', 1803635 => 'Winnsboro, SC', 1803637 => 'Edgefield, SC', - 1803641 => 'Aiken, SC', - 1803642 => 'Aiken, SC', - 1803643 => 'Aiken, SC', - 1803644 => 'Aiken, SC', + 180364 => 'Aiken, SC', 1803647 => 'Columbia, SC', - 1803648 => 'Aiken, SC', - 1803649 => 'Aiken, SC', 1803652 => 'New Ellenton, SC', 1803661 => 'Columbia, SC', 1803663 => 'Graniteville, SC', @@ -343,12 +312,7 @@ return array ( 1803708 => 'Columbia, SC', 1803713 => 'Camden, SC', 1803714 => 'Columbia, SC', - 1803731 => 'Columbia, SC', - 1803733 => 'Columbia, SC', - 1803734 => 'Columbia, SC', - 1803735 => 'Columbia, SC', - 1803736 => 'Columbia, SC', - 1803738 => 'Columbia, SC', + 180373 => 'Columbia, SC', 1803739 => 'West Columbia, SC', 1803744 => 'Columbia, SC', 1803748 => 'Columbia, SC', @@ -426,12 +390,7 @@ return array ( 1804269 => 'Richmond, VA', 1804271 => 'N Chesterfield, VA', 1804275 => 'N Chesterfield, VA', - 1804281 => 'Richmond, VA', - 1804282 => 'Richmond, VA', - 1804285 => 'Richmond, VA', - 1804287 => 'Richmond, VA', - 1804288 => 'Richmond, VA', - 1804289 => 'Richmond, VA', + 180428 => 'Richmond, VA', 1804303 => 'Richmond, VA', 1804308 => 'Richmond, VA', 1804321 => 'Richmond, VA', @@ -591,13 +550,8 @@ return array ( 1805438 => 'Santa Margarita, CA', 1805439 => 'San Luis Obispo, CA', 1805445 => 'Camarillo, CA', - 1805460 => 'Atascadero, CA', - 1805461 => 'Atascadero, CA', - 1805462 => 'Atascadero, CA', - 1805464 => 'Atascadero, CA', - 1805466 => 'Atascadero, CA', + 180546 => 'Atascadero, CA', 1805467 => 'San Miguel, CA', - 1805468 => 'Atascadero, CA', 1805473 => 'Arroyo Grande, CA', 1805474 => 'Arroyo Grande, CA', 1805477 => 'Ventura, CA', @@ -611,12 +565,7 @@ return array ( 1805487 => 'Oxnard, CA', 1805488 => 'Oxnard, CA', 1805489 => 'Arroyo Grande, CA', - 1805492 => 'Thousand Oaks, CA', - 1805493 => 'Thousand Oaks, CA', - 1805494 => 'Thousand Oaks, CA', - 1805495 => 'Thousand Oaks, CA', - 1805496 => 'Thousand Oaks, CA', - 1805497 => 'Thousand Oaks, CA', + 180549 => 'Thousand Oaks, CA', 1805498 => 'Newbury Park, CA', 1805499 => 'Newbury Park, CA', 1805520 => 'Simi Valley, CA', @@ -631,23 +580,10 @@ return array ( 1805531 => 'Moorpark, CA', 1805532 => 'Moorpark, CA', 1805534 => 'Los Osos, CA', - 1805540 => 'San Luis Obispo, CA', - 1805541 => 'San Luis Obispo, CA', - 1805542 => 'San Luis Obispo, CA', - 1805543 => 'San Luis Obispo, CA', - 1805544 => 'San Luis Obispo, CA', - 1805545 => 'San Luis Obispo, CA', - 1805546 => 'San Luis Obispo, CA', - 1805547 => 'San Luis Obispo, CA', - 1805549 => 'San Luis Obispo, CA', + 180554 => 'San Luis Obispo, CA', 1805557 => 'Thousand Oaks, CA', - 1805560 => 'Santa Barbara, CA', - 1805563 => 'Santa Barbara, CA', - 1805564 => 'Santa Barbara, CA', - 1805565 => 'Santa Barbara, CA', + 180556 => 'Santa Barbara, CA', 1805566 => 'Carpinteria, CA', - 1805568 => 'Santa Barbara, CA', - 1805569 => 'Santa Barbara, CA', 1805577 => 'Simi Valley, CA', 1805578 => 'Simi Valley, CA', 1805579 => 'Simi Valley, CA', @@ -660,22 +596,11 @@ return array ( 1805610 => 'Paso Robles, CA', 1805614 => 'Santa Maria, CA', 1805639 => 'Ventura, CA', + 180564 => 'Ventura, CA', 1805640 => 'Ojai, CA', - 1805641 => 'Ventura, CA', - 1805642 => 'Ventura, CA', - 1805643 => 'Ventura, CA', - 1805644 => 'Ventura, CA', 1805646 => 'Ojai, CA', - 1805647 => 'Ventura, CA', - 1805648 => 'Ventura, CA', 1805649 => 'Oak View, CA', - 1805650 => 'Ventura, CA', - 1805652 => 'Ventura, CA', - 1805653 => 'Ventura, CA', - 1805654 => 'Ventura, CA', - 1805656 => 'Ventura, CA', - 1805658 => 'Ventura, CA', - 1805659 => 'Ventura, CA', + 180565 => 'Ventura, CA', 1805676 => 'Ventura, CA', 1805681 => 'Santa Barbara, CA', 1805682 => 'Santa Barbara, CA', @@ -711,21 +636,10 @@ return array ( 1805937 => 'Santa Maria, CA', 1805938 => 'Santa Maria, CA', 1805955 => 'Simi Valley, CA', - 1805962 => 'Santa Barbara, CA', - 1805963 => 'Santa Barbara, CA', - 1805964 => 'Santa Barbara, CA', - 1805965 => 'Santa Barbara, CA', - 1805966 => 'Santa Barbara, CA', - 1805967 => 'Santa Barbara, CA', + 180596 => 'Santa Barbara, CA', 1805968 => 'Goleta, CA', - 1805969 => 'Santa Barbara, CA', - 1805981 => 'Oxnard, CA', - 1805983 => 'Oxnard, CA', - 1805984 => 'Oxnard, CA', - 1805985 => 'Oxnard, CA', - 1805986 => 'Oxnard, CA', + 180598 => 'Oxnard, CA', 1805987 => 'Camarillo, CA', - 1805988 => 'Oxnard, CA', 1805995 => 'Cayucos, CA', 1806 => 'Texas', 1806212 => 'Amarillo, TX', @@ -749,26 +663,12 @@ return array ( 1806331 => 'Amarillo, TX', 1806335 => 'Amarillo, TX', 1806342 => 'Amarillo, TX', - 1806350 => 'Amarillo, TX', - 1806351 => 'Amarillo, TX', - 1806352 => 'Amarillo, TX', - 1806353 => 'Amarillo, TX', - 1806354 => 'Amarillo, TX', - 1806355 => 'Amarillo, TX', - 1806356 => 'Amarillo, TX', - 1806358 => 'Amarillo, TX', - 1806359 => 'Amarillo, TX', + 180635 => 'Amarillo, TX', 1806363 => 'Hereford, TX', 1806364 => 'Hereford, TX', 1806367 => 'Amarillo, TX', 1806368 => 'Lubbock, TX', - 1806371 => 'Amarillo, TX', - 1806372 => 'Amarillo, TX', - 1806373 => 'Amarillo, TX', - 1806374 => 'Amarillo, TX', - 1806376 => 'Amarillo, TX', - 1806378 => 'Amarillo, TX', - 1806379 => 'Amarillo, TX', + 180637 => 'Amarillo, TX', 1806381 => 'Amarillo, TX', 1806383 => 'Amarillo, TX', 1806385 => 'Littlefield, TX', @@ -800,13 +700,7 @@ return array ( 1806698 => 'Lubbock, TX', 1806722 => 'Lubbock, TX', 1806725 => 'Lubbock, TX', - 1806741 => 'Lubbock, TX', - 1806743 => 'Lubbock, TX', - 1806744 => 'Lubbock, TX', - 1806745 => 'Lubbock, TX', - 1806747 => 'Lubbock, TX', - 1806748 => 'Lubbock, TX', - 1806749 => 'Lubbock, TX', + 180674 => 'Lubbock, TX', 1806762 => 'Lubbock, TX', 1806763 => 'Lubbock, TX', 1806765 => 'Lubbock, TX', @@ -817,15 +711,7 @@ return array ( 1806783 => 'Lubbock, TX', 1806785 => 'Lubbock, TX', 1806788 => 'Lubbock, TX', - 1806791 => 'Lubbock, TX', - 1806792 => 'Lubbock, TX', - 1806793 => 'Lubbock, TX', - 1806794 => 'Lubbock, TX', - 1806795 => 'Lubbock, TX', - 1806796 => 'Lubbock, TX', - 1806797 => 'Lubbock, TX', - 1806798 => 'Lubbock, TX', - 1806799 => 'Lubbock, TX', + 180679 => 'Lubbock, TX', 1806826 => 'Wheeler, TX', 1806828 => 'Slaton, TX', 1806863 => 'Lubbock, TX', @@ -911,26 +797,9 @@ return array ( 1808454 => 'Pearl City, HI', 1808455 => 'Pearl City, HI', 1808456 => 'Pearl City, HI', - 1808483 => 'Aiea, HI', - 1808484 => 'Aiea, HI', - 1808485 => 'Aiea, HI', - 1808486 => 'Aiea, HI', - 1808487 => 'Aiea, HI', - 1808488 => 'Aiea, HI', - 1808521 => 'Honolulu, HI', - 1808522 => 'Honolulu, HI', - 1808523 => 'Honolulu, HI', - 1808524 => 'Honolulu, HI', - 1808526 => 'Honolulu, HI', - 1808528 => 'Honolulu, HI', - 1808531 => 'Honolulu, HI', - 1808532 => 'Honolulu, HI', - 1808533 => 'Honolulu, HI', - 1808535 => 'Honolulu, HI', - 1808536 => 'Honolulu, HI', - 1808537 => 'Honolulu, HI', - 1808538 => 'Honolulu, HI', - 1808539 => 'Honolulu, HI', + 180848 => 'Aiea, HI', + 180852 => 'Honolulu, HI', + 180853 => 'Honolulu, HI', 1808545 => 'Honolulu, HI', 1808547 => 'Honolulu, HI', 1808548 => 'Honolulu, HI', @@ -945,12 +814,7 @@ return array ( 1808586 => 'Honolulu, HI', 1808587 => 'Honolulu, HI', 1808589 => 'Honolulu, HI', - 1808591 => 'Honolulu, HI', - 1808593 => 'Honolulu, HI', - 1808595 => 'Honolulu, HI', - 1808596 => 'Honolulu, HI', - 1808597 => 'Honolulu, HI', - 1808599 => 'Honolulu, HI', + 180859 => 'Honolulu, HI', 1808621 => 'Wahiawā, HI', 1808622 => 'Wahiawā, HI', 1808623 => 'Mililani, HI', @@ -972,12 +836,7 @@ return array ( 1808682 => 'Kapolei, HI', 1808689 => 'Ewa Beach, HI', 1808696 => 'Waianae, HI', - 1808732 => 'Honolulu, HI', - 1808733 => 'Honolulu, HI', - 1808734 => 'Honolulu, HI', - 1808735 => 'Honolulu, HI', - 1808737 => 'Honolulu, HI', - 1808739 => 'Honolulu, HI', + 180873 => 'Honolulu, HI', 1808742 => 'Koloa, HI', 1808775 => 'Honokaa, HI', 1808791 => 'Honolulu, HI', @@ -992,12 +851,7 @@ return array ( 1808834 => 'Honolulu, HI', 1808836 => 'Honolulu, HI', 1808839 => 'Honolulu, HI', - 1808841 => 'Honolulu, HI', - 1808842 => 'Honolulu, HI', - 1808843 => 'Honolulu, HI', - 1808845 => 'Honolulu, HI', - 1808847 => 'Honolulu, HI', - 1808848 => 'Honolulu, HI', + 180884 => 'Honolulu, HI', 1808871 => 'Kahului, HI', 1808873 => 'Kahului, HI', 1808874 => 'Kihei, HI', @@ -1020,14 +874,7 @@ return array ( 1808933 => 'Hilo, HI', 1808934 => 'Hilo, HI', 1808935 => 'Hilo, HI', - 1808941 => 'Honolulu, HI', - 1808942 => 'Honolulu, HI', - 1808943 => 'Honolulu, HI', - 1808944 => 'Honolulu, HI', - 1808945 => 'Honolulu, HI', - 1808946 => 'Honolulu, HI', - 1808947 => 'Honolulu, HI', - 1808949 => 'Honolulu, HI', + 180894 => 'Honolulu, HI', 1808951 => 'Honolulu, HI', 1808955 => 'Honolulu, HI', 1808956 => 'Honolulu, HI', @@ -1052,13 +899,8 @@ return array ( 1810225 => 'Brighton, MI', 1810227 => 'Brighton, MI', 1810229 => 'Brighton, MI', + 181023 => 'Flint, MI', 1810230 => 'Flint Township, MI', - 1810232 => 'Flint, MI', - 1810233 => 'Flint, MI', - 1810234 => 'Flint, MI', - 1810235 => 'Flint, MI', - 1810238 => 'Flint, MI', - 1810239 => 'Flint, MI', 1810245 => 'Lapeer, MI', 1810257 => 'Flint, MI', 1810326 => 'St. Clair, MI', @@ -1146,27 +988,14 @@ return array ( 1812277 => 'Bedford, IN', 1812278 => 'Bedford, IN', 1812279 => 'Bedford, IN', - 1812280 => 'Jeffersonville, IN', - 1812282 => 'Jeffersonville, IN', - 1812283 => 'Jeffersonville, IN', - 1812284 => 'Jeffersonville, IN', - 1812285 => 'Jeffersonville, IN', - 1812288 => 'Jeffersonville, IN', + 181228 => 'Jeffersonville, IN', 1812294 => 'Henryville, IN', 1812295 => 'Loogootee, IN', 1812299 => 'Terre Haute, IN', 1812314 => 'Columbus, IN', 1812323 => 'Bloomington, IN', - 1812330 => 'Bloomington, IN', - 1812331 => 'Bloomington, IN', - 1812332 => 'Bloomington, IN', - 1812333 => 'Bloomington, IN', - 1812334 => 'Bloomington, IN', - 1812335 => 'Bloomington, IN', - 1812336 => 'Bloomington, IN', - 1812337 => 'Bloomington, IN', + 181233 => 'Bloomington, IN', 1812338 => 'English, IN', - 1812339 => 'Bloomington, IN', 1812342 => 'Columbus, IN', 1812346 => 'North Vernon, IN', 1812349 => 'Bloomington, IN', @@ -1186,14 +1015,8 @@ return array ( 1812386 => 'Princeton, IN', 1812401 => 'Evansville, IN', 1812402 => 'Evansville, IN', - 1812421 => 'Evansville, IN', - 1812422 => 'Evansville, IN', - 1812423 => 'Evansville, IN', - 1812424 => 'Evansville, IN', - 1812425 => 'Evansville, IN', - 1812426 => 'Evansville, IN', + 181242 => 'Evansville, IN', 1812427 => 'Vevay, IN', - 1812428 => 'Evansville, IN', 1812432 => 'Dillsboro, IN', 1812435 => 'Evansville, IN', 1812437 => 'Evansville, IN', @@ -1206,14 +1029,8 @@ return array ( 1812462 => 'Terre Haute, IN', 1812464 => 'Evansville, IN', 1812466 => 'Terre Haute, IN', - 1812471 => 'Evansville, IN', - 1812473 => 'Evansville, IN', - 1812474 => 'Evansville, IN', - 1812475 => 'Evansville, IN', - 1812476 => 'Evansville, IN', - 1812477 => 'Evansville, IN', + 181247 => 'Evansville, IN', 1812478 => 'Terre Haute, IN', - 1812479 => 'Evansville, IN', 1812481 => 'Jasper, IN', 1812482 => 'Jasper, IN', 1812485 => 'Evansville, IN', @@ -1291,34 +1108,10 @@ return array ( 1812967 => 'New Pekin, IN', 1812988 => 'Nashville, IN', 1813 => 'Florida', - 1813221 => 'Tampa, FL', - 1813222 => 'Tampa, FL', - 1813223 => 'Tampa, FL', - 1813224 => 'Tampa, FL', - 1813225 => 'Tampa, FL', - 1813226 => 'Tampa, FL', - 1813227 => 'Tampa, FL', - 1813228 => 'Tampa, FL', - 1813229 => 'Tampa, FL', - 1813231 => 'Tampa, FL', - 1813232 => 'Tampa, FL', - 1813234 => 'Tampa, FL', - 1813236 => 'Tampa, FL', - 1813237 => 'Tampa, FL', - 1813238 => 'Tampa, FL', - 1813239 => 'Tampa, FL', - 1813241 => 'Tampa, FL', - 1813242 => 'Tampa, FL', - 1813246 => 'Tampa, FL', - 1813247 => 'Tampa, FL', - 1813248 => 'Tampa, FL', - 1813249 => 'Tampa, FL', - 1813250 => 'Tampa, FL', - 1813251 => 'Tampa, FL', - 1813253 => 'Tampa, FL', - 1813254 => 'Tampa, FL', - 1813258 => 'Tampa, FL', - 1813259 => 'Tampa, FL', + 181322 => 'Tampa, FL', + 181323 => 'Tampa, FL', + 181324 => 'Tampa, FL', + 181325 => 'Tampa, FL', 1813261 => 'Tampa, FL', 1813264 => 'Tampa, FL', 1813265 => 'Tampa, FL', @@ -1326,13 +1119,7 @@ return array ( 1813272 => 'Tampa, FL', 1813273 => 'Tampa, FL', 1813274 => 'Tampa, FL', - 1813280 => 'Tampa, FL', - 1813281 => 'Tampa, FL', - 1813282 => 'Tampa, FL', - 1813286 => 'Tampa, FL', - 1813287 => 'Tampa, FL', - 1813288 => 'Tampa, FL', - 1813289 => 'Tampa, FL', + 181328 => 'Tampa, FL', 1813319 => 'Tampa, FL', 1813341 => 'Tampa, FL', 1813343 => 'Tampa, FL', @@ -1349,13 +1136,7 @@ return array ( 1813571 => 'Brandon, FL', 1813579 => 'Tampa, FL', 1813615 => 'Tampa, FL', - 1813620 => 'Tampa, FL', - 1813621 => 'Tampa, FL', - 1813622 => 'Tampa, FL', - 1813623 => 'Tampa, FL', - 1813626 => 'Tampa, FL', - 1813627 => 'Tampa, FL', - 1813628 => 'Tampa, FL', + 181362 => 'Tampa, FL', 1813630 => 'Tampa, FL', 1813631 => 'Tampa, FL', 1813632 => 'Tampa, FL', @@ -1410,23 +1191,8 @@ return array ( 1813864 => 'Tampa, FL', 1813866 => 'Tampa, FL', 1813868 => 'Tampa, FL', - 1813870 => 'Tampa, FL', - 1813871 => 'Tampa, FL', - 1813872 => 'Tampa, FL', - 1813873 => 'Tampa, FL', - 1813874 => 'Tampa, FL', - 1813875 => 'Tampa, FL', - 1813876 => 'Tampa, FL', - 1813877 => 'Tampa, FL', - 1813879 => 'Tampa, FL', - 1813880 => 'Tampa, FL', - 1813882 => 'Tampa, FL', - 1813884 => 'Tampa, FL', - 1813885 => 'Tampa, FL', - 1813886 => 'Tampa, FL', - 1813887 => 'Tampa, FL', - 1813888 => 'Tampa, FL', - 1813889 => 'Tampa, FL', + 181387 => 'Tampa, FL', + 181388 => 'Tampa, FL', 1813890 => 'Tampa, FL', 1813891 => 'Tampa, FL', 1813899 => 'Tampa, FL', @@ -1439,28 +1205,12 @@ return array ( 1813915 => 'Tampa, FL', 1813925 => 'Tampa, FL', 1813926 => 'Tampa, FL', - 1813930 => 'Tampa, FL', - 1813931 => 'Tampa, FL', - 1813932 => 'Tampa, FL', - 1813933 => 'Tampa, FL', - 1813935 => 'Tampa, FL', - 1813936 => 'Tampa, FL', + 181393 => 'Tampa, FL', 1813948 => 'Lutz, FL', 1813949 => 'Lutz, FL', - 1813960 => 'Tampa, FL', - 1813961 => 'Tampa, FL', - 1813962 => 'Tampa, FL', - 1813963 => 'Tampa, FL', - 1813964 => 'Tampa, FL', - 1813968 => 'Tampa, FL', - 1813969 => 'Tampa, FL', - 1813971 => 'Tampa, FL', - 1813972 => 'Tampa, FL', + 181396 => 'Tampa, FL', + 181397 => 'Tampa, FL', 1813973 => 'Wesley Chapel, FL', - 1813974 => 'Tampa, FL', - 1813975 => 'Tampa, FL', - 1813977 => 'Tampa, FL', - 1813979 => 'Tampa, FL', 1813984 => 'Tampa, FL', 1813986 => 'Thonotosassa, FL', 1813988 => 'Tampa, FL', @@ -1526,13 +1276,7 @@ return array ( 1814445 => 'Somerset, PA', 1814446 => 'Seward, PA', 1814447 => 'Orbisonia, PA', - 1814451 => 'Erie, PA', - 1814452 => 'Erie, PA', - 1814453 => 'Erie, PA', - 1814454 => 'Erie, PA', - 1814455 => 'Erie, PA', - 1814456 => 'Erie, PA', - 1814459 => 'Erie, PA', + 181445 => 'Erie, PA', 1814461 => 'Erie, PA', 1814464 => 'Erie, PA', 1814466 => 'Boalsburg, PA', @@ -1618,14 +1362,8 @@ return array ( 1814899 => 'Erie, PA', 1814926 => 'Rockwood, PA', 1814938 => 'Punxsutawney, PA', - 1814940 => 'Altoona, PA', - 1814941 => 'Altoona, PA', - 1814942 => 'Altoona, PA', - 1814943 => 'Altoona, PA', - 1814944 => 'Altoona, PA', - 1814946 => 'Altoona, PA', + 181494 => 'Altoona, PA', 1814948 => 'Northern Cambria, PA', - 1814949 => 'Altoona, PA', 1814965 => 'Johnsonburg, PA', 1815 => 'Illinois', 1815206 => 'Woodstock, IL', @@ -1671,12 +1409,7 @@ return array ( 1815379 => 'Walnut, IL', 1815385 => 'McHenry, IL', 1815389 => 'South Beloit, IL', - 1815391 => 'Rockford, IL', - 1815394 => 'Rockford, IL', - 1815395 => 'Rockford, IL', - 1815397 => 'Rockford, IL', - 1815398 => 'Rockford, IL', - 1815399 => 'Rockford, IL', + 181539 => 'Rockford, IL', 1815416 => 'Morris, IL', 1815423 => 'Elwood, IL', 1815426 => 'Herscher, IL', @@ -1743,14 +1476,8 @@ return array ( 1815694 => 'Clifton, IL', 1815695 => 'Newark, IL', 1815708 => 'Rockford, IL', - 1815722 => 'Joliet, IL', - 1815723 => 'Joliet, IL', - 1815724 => 'Joliet, IL', - 1815725 => 'Joliet, IL', - 1815726 => 'Joliet, IL', - 1815727 => 'Joliet, IL', + 181572 => 'Joliet, IL', 1815728 => 'Wonder Lake, IL', - 1815729 => 'Joliet, IL', 1815730 => 'Joliet, IL', 1815732 => 'Oregon, IL', 1815734 => 'Mount Morris, IL', @@ -1802,12 +1529,7 @@ return array ( 1815945 => 'Chenoa, IL', 1815946 => 'Polo, IL', 1815947 => 'Stockton, IL', - 1815961 => 'Rockford, IL', - 1815962 => 'Rockford, IL', - 1815963 => 'Rockford, IL', - 1815964 => 'Rockford, IL', - 1815965 => 'Rockford, IL', - 1815968 => 'Rockford, IL', + 181596 => 'Rockford, IL', 1815971 => 'Rockford, IL', 1815977 => 'Rockford, IL', 1815986 => 'Rockford, IL', @@ -2021,14 +1743,7 @@ return array ( 1817453 => 'Mansfield, TX', 1817457 => 'Fort Worth, TX', 1817459 => 'Arlington, TX', - 1817460 => 'Arlington, TX', - 1817461 => 'Arlington, TX', - 1817462 => 'Arlington, TX', - 1817465 => 'Arlington, TX', - 1817466 => 'Arlington, TX', - 1817467 => 'Arlington, TX', - 1817468 => 'Arlington, TX', - 1817469 => 'Arlington, TX', + 181746 => 'Arlington, TX', 1817472 => 'Arlington, TX', 1817473 => 'Mansfield, TX', 1817477 => 'Mansfield, TX', @@ -2106,25 +1821,13 @@ return array ( 1817878 => 'Fort Worth, TX', 1817882 => 'Fort Worth, TX', 1817885 => 'Fort Worth, TX', - 1817920 => 'Fort Worth, TX', - 1817921 => 'Fort Worth, TX', - 1817922 => 'Fort Worth, TX', - 1817923 => 'Fort Worth, TX', - 1817924 => 'Fort Worth, TX', - 1817926 => 'Fort Worth, TX', - 1817927 => 'Fort Worth, TX', + 181792 => 'Fort Worth, TX', 1817989 => 'Fort Worth, TX', 1818 => 'California', 1818222 => 'Calabasas, CA', 1818223 => 'Calabasas, CA', 1818238 => 'Burbank, CA', - 1818240 => 'Glendale, CA', - 1818241 => 'Glendale, CA', - 1818242 => 'Glendale, CA', - 1818243 => 'Glendale, CA', - 1818244 => 'Glendale, CA', - 1818246 => 'Glendale, CA', - 1818247 => 'Glendale, CA', + 181824 => 'Glendale, CA', 1818252 => 'Sun Valley, CA', 1818255 => 'North Hollywood, CA', 1818260 => 'Burbank, CA', @@ -2144,12 +1847,7 @@ return array ( 1818503 => 'North Hollywood, CA', 1818504 => 'Sun Valley, CA', 1818507 => 'Glendale, CA', - 1818543 => 'Glendale, CA', - 1818545 => 'Glendale, CA', - 1818546 => 'Glendale, CA', - 1818547 => 'Glendale, CA', - 1818548 => 'Glendale, CA', - 1818549 => 'Glendale, CA', + 181854 => 'Glendale, CA', 1818550 => 'Glendale, CA', 1818551 => 'Glendale, CA', 1818552 => 'Glendale, CA', @@ -2177,21 +1875,9 @@ return array ( 1818768 => 'Sun Valley, CA', 1818771 => 'Sun Valley, CA', 1818779 => 'Van Nuys, CA', - 1818780 => 'Van Nuys, CA', - 1818781 => 'Van Nuys, CA', - 1818782 => 'Van Nuys, CA', - 1818785 => 'Van Nuys, CA', - 1818786 => 'Van Nuys, CA', - 1818787 => 'Van Nuys, CA', + 181878 => 'Van Nuys, CA', 1818833 => 'Sylmar, CA', - 1818840 => 'Burbank, CA', - 1818841 => 'Burbank, CA', - 1818842 => 'Burbank, CA', - 1818843 => 'Burbank, CA', - 1818845 => 'Burbank, CA', - 1818846 => 'Burbank, CA', - 1818847 => 'Burbank, CA', - 1818848 => 'Burbank, CA', + 181884 => 'Burbank, CA', 1818861 => 'Burbank, CA', 1818878 => 'Calabasas, CA', 1818880 => 'Calabasas, CA', @@ -2238,16 +1924,7 @@ return array ( 1819358 => 'Warwick, QC', 1819362 => 'Plessisville, QC', 1819364 => 'Princeville, QC', - 1819370 => 'Trois-Rivières, QC', - 1819371 => 'Trois-Rivières, QC', - 1819372 => 'Trois-Rivières, QC', - 1819373 => 'Trois-Rivières, QC', - 1819374 => 'Trois-Rivières, QC', - 1819375 => 'Trois-Rivières, QC', - 1819376 => 'Trois-Rivières, QC', - 1819377 => 'Trois-Rivières, QC', - 1819378 => 'Trois-Rivières, QC', - 1819379 => 'Trois-Rivières, QC', + 181937 => 'Trois-Rivières, QC', 1819395 => 'Saint-Germain-de-Grantham, QC', 1819397 => 'Saint-Cyrille-de-Wendover, QC', 1819398 => 'Wickham, QC', @@ -2260,12 +1937,7 @@ return array ( 1819441 => 'Maniwaki, QC', 1819449 => 'Maniwaki, QC', 1819463 => 'Gracefield, QC', - 1819472 => 'Drummondville, QC', - 1819474 => 'Drummondville, QC', - 1819475 => 'Drummondville, QC', - 1819477 => 'Drummondville, QC', - 1819478 => 'Drummondville, QC', - 1819479 => 'Drummondville, QC', + 181947 => 'Drummondville, QC', 1819523 => 'La Tuque, QC', 1819533 => 'Grand-Mère, QC', 1819535 => 'St-Boniface-de-Shawinigan, QC', @@ -2273,14 +1945,9 @@ return array ( 1819537 => 'Shawinigan, QC', 1819538 => 'Grand-Mère, QC', 1819539 => 'Shawinigan, QC', + 181956 => 'Sherbrooke, QC', 1819561 => 'Gatineau, QC', - 1819562 => 'Sherbrooke, QC', - 1819563 => 'Sherbrooke, QC', - 1819564 => 'Sherbrooke, QC', - 1819565 => 'Sherbrooke, QC', - 1819566 => 'Sherbrooke, QC', 1819568 => 'Gatineau, QC', - 1819569 => 'Sherbrooke, QC', 1819575 => 'Sherbrooke, QC', 1819583 => 'Lac-Mégantic, QC', 1819585 => 'Lac-des-Écorces, QC', @@ -2318,13 +1985,7 @@ return array ( 1819762 => 'Rouyn-Noranda, QC', 1819763 => 'Rouyn-Noranda, QC', 1819764 => 'Rouyn-Noranda, QC', - 1819770 => 'Gatineau, QC', - 1819771 => 'Gatineau, QC', - 1819772 => 'Gatineau, QC', - 1819775 => 'Gatineau, QC', - 1819776 => 'Gatineau, QC', - 1819777 => 'Gatineau, QC', - 1819778 => 'Gatineau, QC', + 181977 => 'Gatineau, QC', 1819791 => 'Sherbrooke, QC', 1819797 => 'Rouyn-Noranda, QC', 1819820 => 'Sherbrooke, QC', @@ -2366,16 +2027,8 @@ return array ( 1828246 => 'Waynesville, NC', 1828247 => 'Forest City, NC', 1828248 => 'Forest City, NC', - 1828250 => 'Asheville, NC', - 1828251 => 'Asheville, NC', - 1828252 => 'Asheville, NC', - 1828253 => 'Asheville, NC', - 1828254 => 'Asheville, NC', - 1828255 => 'Asheville, NC', + 182825 => 'Asheville, NC', 1828256 => 'Hickory, NC', - 1828257 => 'Asheville, NC', - 1828258 => 'Asheville, NC', - 1828259 => 'Asheville, NC', 1828261 => 'Hickory, NC', 1828262 => 'Boone, NC', 1828263 => 'Boone, NC', @@ -2396,13 +2049,8 @@ return array ( 1828299 => 'Asheville, NC', 1828304 => 'Hickory, NC', 1828315 => 'Hickory, NC', + 182832 => 'Hickory, NC', 1828321 => 'Andrews, NC', - 1828322 => 'Hickory, NC', - 1828323 => 'Hickory, NC', - 1828324 => 'Hickory, NC', - 1828326 => 'Hickory, NC', - 1828327 => 'Hickory, NC', - 1828328 => 'Hickory, NC', 1828345 => 'Hickory, NC', 1828348 => 'Asheville, NC', 1828349 => 'Franklin, NC', @@ -2461,12 +2109,7 @@ return array ( 1828686 => 'Swannanoa, NC', 1828688 => 'Bakersville, NC', 1828689 => 'Mars Hill, NC', - 1828692 => 'Hendersonville, NC', - 1828693 => 'Hendersonville, NC', - 1828694 => 'Hendersonville, NC', - 1828696 => 'Hendersonville, NC', - 1828697 => 'Hendersonville, NC', - 1828698 => 'Hendersonville, NC', + 182869 => 'Hendersonville, NC', 1828713 => 'Asheville, NC', 1828726 => 'Lenoir, NC', 1828733 => 'Newland, NC', @@ -2529,12 +2172,7 @@ return array ( 1830606 => 'New Braunfels, TX', 1830608 => 'New Braunfels, TX', 1830609 => 'New Braunfels, TX', - 1830620 => 'New Braunfels, TX', - 1830624 => 'New Braunfels, TX', - 1830625 => 'New Braunfels, TX', - 1830626 => 'New Braunfels, TX', - 1830627 => 'New Braunfels, TX', - 1830629 => 'New Braunfels, TX', + 183062 => 'New Braunfels, TX', 1830634 => 'Center Point, TX', 1830643 => 'New Braunfels, TX', 1830663 => 'Devine, TX', @@ -2594,15 +2232,9 @@ return array ( 1831386 => 'King City, CA', 1831393 => 'Seaside, CA', 1831394 => 'Seaside, CA', - 1831420 => 'Santa Cruz, CA', - 1831421 => 'Santa Cruz, CA', + 183142 => 'Santa Cruz, CA', 1831422 => 'Salinas, CA', - 1831423 => 'Santa Cruz, CA', 1831424 => 'Salinas, CA', - 1831425 => 'Santa Cruz, CA', - 1831426 => 'Santa Cruz, CA', - 1831427 => 'Santa Cruz, CA', - 1831429 => 'Santa Cruz, CA', 1831430 => 'Scotts Valley, CA', 1831438 => 'Scotts Valley, CA', 1831439 => 'Scotts Valley, CA', @@ -2634,12 +2266,7 @@ return array ( 1831636 => 'Hollister, CA', 1831637 => 'Hollister, CA', 1831638 => 'Hollister, CA', - 1831643 => 'Monterey, CA', - 1831644 => 'Monterey, CA', - 1831646 => 'Monterey, CA', - 1831647 => 'Monterey, CA', - 1831648 => 'Monterey, CA', - 1831649 => 'Monterey, CA', + 183164 => 'Monterey, CA', 1831655 => 'Monterey, CA', 1831656 => 'Monterey, CA', 1831659 => 'Carmel Valley, CA', @@ -2655,13 +2282,7 @@ return array ( 1831724 => 'Watsonville, CA', 1831726 => 'Aromas, CA', 1831728 => 'Watsonville, CA', - 1831751 => 'Salinas, CA', - 1831753 => 'Salinas, CA', - 1831754 => 'Salinas, CA', - 1831755 => 'Salinas, CA', - 1831757 => 'Salinas, CA', - 1831758 => 'Salinas, CA', - 1831759 => 'Salinas, CA', + 183175 => 'Salinas, CA', 1831761 => 'Watsonville, CA', 1831763 => 'Watsonville, CA', 1831768 => 'Watsonville, CA', @@ -2802,12 +2423,7 @@ return array ( 1843654 => 'Mount Pleasant, SC', 1843658 => 'Jefferson, SC', 1843659 => 'Turbeville, SC', - 1843661 => 'Florence, SC', - 1843662 => 'Florence, SC', - 1843664 => 'Florence, SC', - 1843665 => 'Florence, SC', - 1843667 => 'Florence, SC', - 1843669 => 'Florence, SC', + 184366 => 'Florence, SC', 1843671 => 'Hilton Head Isle, SC', 1843672 => 'Pageland, SC', 1843673 => 'Florence, SC', @@ -2953,14 +2569,7 @@ return array ( 1845497 => 'Washingtonville, NY', 1845528 => 'Putnam Valley, NY', 1845534 => 'Cornwall, NY', - 1845561 => 'Newburgh, NY', - 1845562 => 'Newburgh, NY', - 1845563 => 'Newburgh, NY', - 1845564 => 'Newburgh, NY', - 1845565 => 'Newburgh, NY', - 1845566 => 'Newburgh, NY', - 1845568 => 'Newburgh, NY', - 1845569 => 'Newburgh, NY', + 184556 => 'Newburgh, NY', 1845575 => 'Poughkeepsie, NY', 1845586 => 'Margaretville, NY', 1845615 => 'Goshen, NY', @@ -3138,13 +2747,8 @@ return array ( 1847658 => 'Algonquin, IL', 1847662 => 'Waukegan, IL', 1847669 => 'Huntley, IL', + 184767 => 'Skokie, IL', 1847672 => 'Waukegan, IL', - 1847673 => 'Skokie, IL', - 1847674 => 'Skokie, IL', - 1847675 => 'Skokie, IL', - 1847676 => 'Skokie, IL', - 1847677 => 'Skokie, IL', - 1847679 => 'Skokie, IL', 1847680 => 'Libertyville, IL', 1847681 => 'Highland Park, IL', 1847683 => 'Hampshire, IL', @@ -3258,34 +2862,14 @@ return array ( 1850424 => 'Destin, FL', 1850425 => 'Tallahassee, FL', 1850429 => 'Pensacola, FL', + 185043 => 'Pensacola, FL', 1850431 => 'Tallahassee, FL', - 1850432 => 'Pensacola, FL', - 1850433 => 'Pensacola, FL', - 1850434 => 'Pensacola, FL', - 1850435 => 'Pensacola, FL', - 1850436 => 'Pensacola, FL', - 1850437 => 'Pensacola, FL', - 1850438 => 'Pensacola, FL', - 1850439 => 'Pensacola, FL', 1850444 => 'Pensacola, FL', - 1850452 => 'Pensacola, FL', - 1850453 => 'Pensacola, FL', - 1850455 => 'Pensacola, FL', - 1850456 => 'Pensacola, FL', - 1850457 => 'Pensacola, FL', - 1850458 => 'Pensacola, FL', + 185045 => 'Pensacola, FL', 1850460 => 'Destin, FL', 1850466 => 'Pensacola, FL', 1850469 => 'Pensacola, FL', - 1850470 => 'Pensacola, FL', - 1850471 => 'Pensacola, FL', - 1850473 => 'Pensacola, FL', - 1850474 => 'Pensacola, FL', - 1850475 => 'Pensacola, FL', - 1850476 => 'Pensacola, FL', - 1850477 => 'Pensacola, FL', - 1850478 => 'Pensacola, FL', - 1850479 => 'Pensacola, FL', + 185047 => 'Pensacola, FL', 1850481 => 'Panama City, FL', 1850482 => 'Marianna, FL', 1850484 => 'Pensacola, FL', @@ -3479,14 +3063,7 @@ return array ( 1858 => 'California', 1858202 => 'San Diego, CA', 1858268 => 'San Diego, CA', - 1858270 => 'San Diego, CA', - 1858271 => 'San Diego, CA', - 1858272 => 'San Diego, CA', - 1858273 => 'San Diego, CA', - 1858274 => 'San Diego, CA', - 1858277 => 'San Diego, CA', - 1858278 => 'San Diego, CA', - 1858279 => 'San Diego, CA', + 185827 => 'San Diego, CA', 1858292 => 'San Diego, CA', 1858300 => 'San Diego, CA', 1858385 => 'San Diego, CA', @@ -3554,13 +3131,7 @@ return array ( 1858642 => 'San Diego, CA', 1858653 => 'San Diego, CA', 1858668 => 'Poway, CA', - 1858672 => 'San Diego, CA', - 1858673 => 'San Diego, CA', - 1858674 => 'San Diego, CA', - 1858675 => 'San Diego, CA', - 1858676 => 'San Diego, CA', - 1858677 => 'San Diego, CA', - 1858678 => 'San Diego, CA', + 185867 => 'San Diego, CA', 1858679 => 'Poway, CA', 1858689 => 'San Diego, CA', 1858693 => 'San Diego, CA', @@ -3592,26 +3163,9 @@ return array ( 1859239 => 'Danville, KY', 1859245 => 'Lexington, KY', 1859246 => 'Lexington, KY', - 1859252 => 'Lexington, KY', - 1859253 => 'Lexington, KY', - 1859254 => 'Lexington, KY', - 1859255 => 'Lexington, KY', - 1859257 => 'Lexington, KY', - 1859258 => 'Lexington, KY', - 1859259 => 'Lexington, KY', - 1859260 => 'Lexington, KY', - 1859263 => 'Lexington, KY', - 1859264 => 'Lexington, KY', - 1859266 => 'Lexington, KY', - 1859268 => 'Lexington, KY', - 1859269 => 'Lexington, KY', - 1859271 => 'Lexington, KY', - 1859272 => 'Lexington, KY', - 1859273 => 'Lexington, KY', - 1859275 => 'Lexington, KY', - 1859276 => 'Lexington, KY', - 1859277 => 'Lexington, KY', - 1859278 => 'Lexington, KY', + 185925 => 'Lexington, KY', + 185926 => 'Lexington, KY', + 185927 => 'Lexington, KY', 1859281 => 'Lexington, KY', 1859282 => 'Florence, KY', 1859283 => 'Florence, KY', @@ -3697,14 +3251,9 @@ return array ( 1860232 => 'West Hartford, CT', 1860233 => 'West Hartford, CT', 1860236 => 'West Hartford, CT', - 1860240 => 'Hartford, CT', - 1860241 => 'Hartford, CT', + 186024 => 'Hartford, CT', 1860242 => 'Bloomfield, CT', 1860243 => 'Bloomfield, CT', - 1860244 => 'Hartford, CT', - 1860246 => 'Hartford, CT', - 1860247 => 'Hartford, CT', - 1860249 => 'Hartford, CT', 1860253 => 'Enfield, CT', 1860258 => 'Rocky Hill, CT', 1860265 => 'Enfield, CT', @@ -3891,13 +3440,7 @@ return array ( 1863248 => 'Lakeland, FL', 1863284 => 'Lakeland, FL', 1863285 => 'Fort Meade, FL', - 1863291 => 'Winter Haven, FL', - 1863292 => 'Winter Haven, FL', - 1863293 => 'Winter Haven, FL', - 1863294 => 'Winter Haven, FL', - 1863297 => 'Winter Haven, FL', - 1863298 => 'Winter Haven, FL', - 1863299 => 'Winter Haven, FL', + 186329 => 'Winter Haven, FL', 1863314 => 'Sebring, FL', 1863318 => 'Winter Haven, FL', 1863324 => 'Winter Haven, FL', @@ -3941,12 +3484,7 @@ return array ( 1863676 => 'Lake Wales, FL', 1863678 => 'Lake Wales, FL', 1863679 => 'Lake Wales, FL', - 1863680 => 'Lakeland, FL', - 1863682 => 'Lakeland, FL', - 1863683 => 'Lakeland, FL', - 1863686 => 'Lakeland, FL', - 1863687 => 'Lakeland, FL', - 1863688 => 'Lakeland, FL', + 186368 => 'Lakeland, FL', 1863699 => 'Lake Placid, FL', 1863701 => 'Lakeland, FL', 1863709 => 'Lakeland, FL', @@ -3982,13 +3520,8 @@ return array ( 1864227 => 'Greenwood, SC', 1864228 => 'Simpsonville, SC', 1864229 => 'Greenwood, SC', + 186423 => 'Greenville, SC', 1864231 => 'Anderson, SC', - 1864232 => 'Greenville, SC', - 1864233 => 'Greenville, SC', - 1864234 => 'Greenville, SC', - 1864235 => 'Greenville, SC', - 1864236 => 'Greenville, SC', - 1864239 => 'Greenville, SC', 1864240 => 'Greenville, SC', 1864241 => 'Greenville, SC', 1864242 => 'Greenville, SC', @@ -4002,13 +3535,7 @@ return array ( 1864271 => 'Greenville, SC', 1864272 => 'Greenville, SC', 1864277 => 'Greenville, SC', - 1864281 => 'Greenville, SC', - 1864282 => 'Greenville, SC', - 1864283 => 'Greenville, SC', - 1864284 => 'Greenville, SC', - 1864286 => 'Greenville, SC', - 1864288 => 'Greenville, SC', - 1864289 => 'Greenville, SC', + 186428 => 'Greenville, SC', 1864294 => 'Greenville, SC', 1864295 => 'Greenville, SC', 1864296 => 'Anderson, SC', @@ -4189,12 +3716,7 @@ return array ( 1865525 => 'Knoxville, TN', 1865531 => 'Knoxville, TN', 1865539 => 'Knoxville, TN', - 1865540 => 'Knoxville, TN', - 1865541 => 'Knoxville, TN', - 1865544 => 'Knoxville, TN', - 1865545 => 'Knoxville, TN', - 1865546 => 'Knoxville, TN', - 1865549 => 'Knoxville, TN', + 186554 => 'Knoxville, TN', 1865558 => 'Knoxville, TN', 1865560 => 'Knoxville, TN', 1865573 => 'Knoxville, TN', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/19.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/19.php index c645c7c25..3b9de6154 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/19.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/19.php @@ -18,12 +18,7 @@ return array ( 1901259 => 'Memphis, TN', 1901260 => 'Memphis, TN', 1901266 => 'Memphis, TN', - 1901271 => 'Memphis, TN', - 1901272 => 'Memphis, TN', - 1901273 => 'Memphis, TN', - 1901274 => 'Memphis, TN', - 1901276 => 'Memphis, TN', - 1901278 => 'Memphis, TN', + 190127 => 'Memphis, TN', 1901287 => 'Memphis, TN', 1901308 => 'Memphis, TN', 1901312 => 'Memphis, TN', @@ -39,29 +34,9 @@ return array ( 1901353 => 'Memphis, TN', 1901357 => 'Memphis, TN', 1901358 => 'Memphis, TN', - 1901360 => 'Memphis, TN', - 1901362 => 'Memphis, TN', - 1901363 => 'Memphis, TN', - 1901365 => 'Memphis, TN', - 1901366 => 'Memphis, TN', - 1901367 => 'Memphis, TN', - 1901368 => 'Memphis, TN', - 1901369 => 'Memphis, TN', - 1901371 => 'Memphis, TN', - 1901372 => 'Memphis, TN', - 1901373 => 'Memphis, TN', - 1901375 => 'Memphis, TN', - 1901377 => 'Memphis, TN', - 1901379 => 'Memphis, TN', - 1901380 => 'Memphis, TN', - 1901381 => 'Memphis, TN', - 1901382 => 'Memphis, TN', - 1901383 => 'Memphis, TN', - 1901384 => 'Memphis, TN', - 1901385 => 'Memphis, TN', - 1901386 => 'Memphis, TN', - 1901387 => 'Memphis, TN', - 1901388 => 'Memphis, TN', + 190136 => 'Memphis, TN', + 190137 => 'Memphis, TN', + 190138 => 'Memphis, TN', 1901396 => 'Memphis, TN', 1901398 => 'Memphis, TN', 1901405 => 'Memphis, TN', @@ -80,15 +55,7 @@ return array ( 1901495 => 'Memphis, TN', 1901507 => 'Memphis, TN', 1901516 => 'Memphis, TN', - 1901521 => 'Memphis, TN', - 1901522 => 'Memphis, TN', - 1901523 => 'Memphis, TN', - 1901524 => 'Memphis, TN', - 1901525 => 'Memphis, TN', - 1901526 => 'Memphis, TN', - 1901527 => 'Memphis, TN', - 1901528 => 'Memphis, TN', - 1901529 => 'Memphis, TN', + 190152 => 'Memphis, TN', 1901542 => 'Memphis, TN', 1901543 => 'Memphis, TN', 1901544 => 'Memphis, TN', @@ -102,12 +69,7 @@ return array ( 1901590 => 'Memphis, TN', 1901595 => 'Memphis, TN', 1901672 => 'Memphis, TN', - 1901680 => 'Memphis, TN', - 1901681 => 'Memphis, TN', - 1901682 => 'Memphis, TN', - 1901683 => 'Memphis, TN', - 1901684 => 'Memphis, TN', - 1901685 => 'Memphis, TN', + 190168 => 'Memphis, TN', 1901722 => 'Memphis, TN', 1901725 => 'Memphis, TN', 1901726 => 'Memphis, TN', @@ -164,12 +126,7 @@ return array ( 1902405 => 'Halifax, NS', 1902406 => 'Halifax, NS', 1902407 => 'Halifax, NS', - 1902420 => 'Halifax, NS', - 1902421 => 'Halifax, NS', - 1902422 => 'Halifax, NS', - 1902423 => 'Halifax, NS', - 1902425 => 'Halifax, NS', - 1902429 => 'Halifax, NS', + 190242 => 'Halifax, NS', 1902431 => 'Halifax, NS', 1902434 => 'Dartmouth, NS', 1902435 => 'Dartmouth, NS', @@ -179,19 +136,8 @@ return array ( 1902444 => 'Halifax, NS', 1902445 => 'Halifax, NS', 1902446 => 'Halifax, NS', - 1902450 => 'Halifax, NS', - 1902452 => 'Halifax, NS', - 1902453 => 'Halifax, NS', - 1902454 => 'Halifax, NS', - 1902455 => 'Halifax, NS', - 1902456 => 'Halifax, NS', - 1902457 => 'Halifax, NS', - 1902461 => 'Dartmouth, NS', - 1902463 => 'Dartmouth, NS', - 1902464 => 'Dartmouth, NS', - 1902466 => 'Dartmouth, NS', - 1902468 => 'Dartmouth, NS', - 1902469 => 'Dartmouth, NS', + 190245 => 'Halifax, NS', + 190246 => 'Dartmouth, NS', 1902471 => 'Halifax, NS', 1902477 => 'Halifax, NS', 1902479 => 'Halifax, NS', @@ -480,12 +426,7 @@ return array ( 1904346 => 'Jacksonville, FL', 1904347 => 'St. Augustine, FL', 1904348 => 'Jacksonville, FL', - 1904353 => 'Jacksonville, FL', - 1904354 => 'Jacksonville, FL', - 1904355 => 'Jacksonville, FL', - 1904356 => 'Jacksonville, FL', - 1904358 => 'Jacksonville, FL', - 1904359 => 'Jacksonville, FL', + 190435 => 'Jacksonville, FL', 1904363 => 'Jacksonville, FL', 1904367 => 'Jacksonville, FL', 1904368 => 'Starke, FL', @@ -494,12 +435,7 @@ return array ( 1904375 => 'Orange Park, FL', 1904378 => 'Jacksonville, FL', 1904379 => 'Jacksonville, FL', - 1904381 => 'Jacksonville, FL', - 1904383 => 'Jacksonville, FL', - 1904384 => 'Jacksonville, FL', - 1904387 => 'Jacksonville, FL', - 1904388 => 'Jacksonville, FL', - 1904389 => 'Jacksonville, FL', + 190438 => 'Jacksonville, FL', 1904394 => 'Jacksonville, FL', 1904396 => 'Jacksonville, FL', 1904398 => 'Jacksonville, FL', @@ -554,21 +490,8 @@ return array ( 1904696 => 'Jacksonville, FL', 1904697 => 'Jacksonville, FL', 1904714 => 'Jacksonville, FL', - 1904720 => 'Jacksonville, FL', - 1904721 => 'Jacksonville, FL', - 1904722 => 'Jacksonville, FL', - 1904723 => 'Jacksonville, FL', - 1904724 => 'Jacksonville, FL', - 1904725 => 'Jacksonville, FL', - 1904726 => 'Jacksonville, FL', - 1904727 => 'Jacksonville, FL', - 1904730 => 'Jacksonville, FL', - 1904731 => 'Jacksonville, FL', - 1904732 => 'Jacksonville, FL', - 1904733 => 'Jacksonville, FL', - 1904737 => 'Jacksonville, FL', - 1904738 => 'Jacksonville, FL', - 1904739 => 'Jacksonville, FL', + 190472 => 'Jacksonville, FL', + 190473 => 'Jacksonville, FL', 1904741 => 'Jacksonville, FL', 1904743 => 'Jacksonville, FL', 1904744 => 'Jacksonville, FL', @@ -594,13 +517,8 @@ return array ( 1904810 => 'St. Augustine, FL', 1904814 => 'St. Augustine, FL', 1904819 => 'St. Augustine, FL', + 190482 => 'St. Augustine, FL', 1904821 => 'Jacksonville, FL', - 1904823 => 'St. Augustine, FL', - 1904824 => 'St. Augustine, FL', - 1904825 => 'St. Augustine, FL', - 1904826 => 'St. Augustine, FL', - 1904827 => 'St. Augustine, FL', - 1904829 => 'St. Augustine, FL', 1904845 => 'Hilliard, FL', 1904854 => 'Jacksonville, FL', 1904858 => 'Jacksonville, FL', @@ -618,7 +536,7 @@ return array ( 1904996 => 'Jacksonville, FL', 1904997 => 'Jacksonville, FL', 1904998 => 'Jacksonville, FL', - 1905 => 'Ontario', + 19052 => 'Ontario', 1905201 => 'Markham, ON', 1905206 => 'Mississauga, ON', 1905209 => 'Markham, ON', @@ -640,16 +558,7 @@ return array ( 1905266 => 'Woodbridge, ON', 1905267 => 'Mississauga, ON', 1905268 => 'Mississauga, ON', - 1905270 => 'Mississauga, ON', - 1905271 => 'Mississauga, ON', - 1905272 => 'Mississauga, ON', - 1905273 => 'Mississauga, ON', - 1905274 => 'Mississauga, ON', - 1905275 => 'Mississauga, ON', - 1905276 => 'Mississauga, ON', - 1905277 => 'Mississauga, ON', - 1905278 => 'Mississauga, ON', - 1905279 => 'Mississauga, ON', + 190527 => 'Mississauga, ON', 1905281 => 'Mississauga, ON', 1905282 => 'Mississauga, ON', 1905286 => 'Mississauga, ON', @@ -658,194 +567,217 @@ return array ( 1905295 => 'Niagara Falls, ON', 1905296 => 'Hamilton, ON', 1905297 => 'Hamilton, ON', + 1905300 => 'Ontario', + 1905301 => 'Ontario', + 1905302 => 'Ontario', 1905303 => 'Maple, ON', 1905304 => 'Ancaster, ON', 1905305 => 'Markham, ON', 1905306 => 'Mississauga, ON', + 1905307 => 'Ontario', 1905308 => 'Hamilton, ON', 1905309 => 'Grimsby, ON', + 190531 => 'Ontario', 1905312 => 'Hamilton, ON', 1905315 => 'Burlington, ON', 1905318 => 'Hamilton, ON', 1905319 => 'Burlington, ON', + 190532 => 'Ontario', + 1905330 => 'Ontario', 1905331 => 'Burlington, ON', 1905332 => 'Burlington, ON', 1905333 => 'Burlington, ON', + 1905334 => 'Ontario', 1905335 => 'Burlington, ON', 1905336 => 'Burlington, ON', 1905337 => 'Oakville, ON', 1905338 => 'Oakville, ON', 1905339 => 'Oakville, ON', + 190534 => 'Ontario', 1905346 => 'St. Catharines, ON', + 1905350 => 'Ontario', + 1905351 => 'Ontario', + 1905352 => 'Ontario', 1905353 => 'Niagara Falls, ON', 1905354 => 'Niagara Falls, ON', 1905355 => 'Colborne, ON', 1905356 => 'Niagara Falls, ON', 1905357 => 'Niagara Falls, ON', 1905358 => 'Niagara Falls, ON', + 1905359 => 'Ontario', + 190536 => 'Ontario', 1905362 => 'Mississauga, ON', 1905366 => 'Mississauga, ON', + 1905370 => 'Ontario', 1905371 => 'Niagara Falls, ON', 1905372 => 'Cobourg, ON', 1905373 => 'Cobourg, ON', 1905374 => 'Niagara Falls, ON', + 1905375 => 'Ontario', + 1905376 => 'Ontario', 1905377 => 'Cobourg, ON', + 1905378 => 'Ontario', + 1905379 => 'Ontario', + 1905380 => 'Ontario', + 1905381 => 'Ontario', 1905382 => 'Stevensville, ON', 1905383 => 'Hamilton, ON', + 1905384 => 'Ontario', 1905385 => 'Hamilton, ON', + 1905386 => 'Ontario', 1905387 => 'Hamilton, ON', 1905388 => 'Hamilton, ON', 1905389 => 'Hamilton, ON', + 190539 => 'Ontario', 1905397 => 'St. Catharines, ON', + 190540 => 'Ontario', 1905403 => 'Mississauga, ON', 1905404 => 'Oshawa, ON', 1905405 => 'Mississauga, ON', + 190541 => 'Ontario', 1905415 => 'Markham, ON', 1905417 => 'Maple, ON', + 190542 => 'Ontario', 1905420 => 'Pickering, ON', 1905426 => 'Ajax, ON', 1905427 => 'Ajax, ON', 1905428 => 'Ajax, ON', 1905430 => 'Whitby, ON', + 1905431 => 'Ontario', 1905432 => 'Oshawa, ON', 1905433 => 'Oshawa, ON', 1905434 => 'Oshawa, ON', + 1905435 => 'Ontario', 1905436 => 'Oshawa, ON', + 1905437 => 'Ontario', 1905438 => 'Oshawa, ON', + 1905439 => 'Ontario', + 190544 => 'Ontario', 1905448 => 'Oshawa, ON', - 1905450 => 'Brampton, ON', - 1905451 => 'Brampton, ON', - 1905452 => 'Brampton, ON', - 1905453 => 'Brampton, ON', - 1905454 => 'Brampton, ON', - 1905455 => 'Brampton, ON', - 1905456 => 'Brampton, ON', - 1905457 => 'Brampton, ON', - 1905458 => 'Brampton, ON', - 1905459 => 'Brampton, ON', + 190545 => 'Brampton, ON', 1905460 => 'Brampton, ON', 1905461 => 'Mississauga, ON', + 1905462 => 'Ontario', 1905463 => 'Brampton, ON', + 1905464 => 'Ontario', 1905465 => 'Oakville, ON', + 1905466 => 'Ontario', + 1905467 => 'Ontario', 1905468 => 'Niagara-on-the-Lake, ON', 1905469 => 'Oakville, ON', - 1905470 => 'Markham, ON', - 1905471 => 'Markham, ON', - 1905472 => 'Markham, ON', + 190547 => 'Markham, ON', 1905473 => 'Mount Albert, ON', - 1905474 => 'Markham, ON', - 1905475 => 'Markham, ON', 1905476 => 'Keswick, ON', - 1905477 => 'Markham, ON', 1905478 => 'Queensville, ON', - 1905479 => 'Markham, ON', + 190548 => 'Ontario', 1905480 => 'Markham, ON', 1905487 => 'Brampton, ON', 1905488 => 'Brampton, ON', 1905489 => 'Markham, ON', + 1905490 => 'Ontario', + 1905491 => 'Ontario', 1905492 => 'Pickering, ON', 1905493 => 'Whitby, ON', 1905494 => 'Brampton, ON', 1905495 => 'Brampton, ON', + 1905496 => 'Ontario', 1905497 => 'Brampton, ON', + 1905498 => 'Ontario', + 1905499 => 'Ontario', + 1905500 => 'Ontario', 1905501 => 'Mississauga, ON', 1905502 => 'Mississauga, ON', 1905503 => 'Aurora, ON', + 1905504 => 'Ontario', + 1905505 => 'Ontario', + 1905506 => 'Ontario', 1905507 => 'Mississauga, ON', 1905508 => 'Richmond Hill, ON', 1905509 => 'Pickering, ON', + 190551 => 'Ontario', 1905513 => 'Markham, ON', - 1905521 => 'Hamilton, ON', - 1905522 => 'Hamilton, ON', - 1905523 => 'Hamilton, ON', - 1905524 => 'Hamilton, ON', - 1905525 => 'Hamilton, ON', - 1905526 => 'Hamilton, ON', - 1905527 => 'Hamilton, ON', - 1905528 => 'Hamilton, ON', - 1905529 => 'Hamilton, ON', + 190552 => 'Hamilton, ON', + 1905520 => 'Ontario', + 190553 => 'Ontario', 1905538 => 'Hamilton, ON', - 1905540 => 'Hamilton, ON', + 190554 => 'Hamilton, ON', + 1905541 => 'Ontario', 1905542 => 'Mississauga, ON', - 1905543 => 'Hamilton, ON', - 1905544 => 'Hamilton, ON', - 1905545 => 'Hamilton, ON', - 1905546 => 'Hamilton, ON', - 1905547 => 'Hamilton, ON', - 1905548 => 'Hamilton, ON', - 1905549 => 'Hamilton, ON', + 190555 => 'Ontario', 1905554 => 'Markham, ON', + 190556 => 'Mississauga, ON', 1905560 => 'Hamilton, ON', 1905561 => 'Hamilton, ON', 1905562 => 'Vineland, ON', 1905563 => 'Beamsville, ON', - 1905564 => 'Mississauga, ON', - 1905565 => 'Mississauga, ON', - 1905566 => 'Mississauga, ON', - 1905567 => 'Mississauga, ON', - 1905568 => 'Mississauga, ON', - 1905569 => 'Mississauga, ON', + 190557 => 'Hamilton, ON', + 1905570 => 'Ontario', 1905571 => 'Oshawa, ON', - 1905572 => 'Hamilton, ON', - 1905573 => 'Hamilton, ON', - 1905574 => 'Hamilton, ON', - 1905575 => 'Hamilton, ON', 1905576 => 'Oshawa, ON', - 1905577 => 'Hamilton, ON', - 1905578 => 'Hamilton, ON', 1905579 => 'Oshawa, ON', + 190558 => 'Ontario', 1905582 => 'Oakville, ON', + 190559 => 'Ontario', 1905592 => 'Burlington, ON', 1905593 => 'Mississauga, ON', 1905595 => 'Brampton, ON', + 1905600 => 'Ontario', + 1905601 => 'Ontario', 1905602 => 'Mississauga, ON', + 1905603 => 'Ontario', 1905604 => 'Markham, ON', 1905605 => 'Woodbridge, ON', + 1905606 => 'Ontario', 1905607 => 'Mississauga, ON', 1905608 => 'Mississauga, ON', + 1905609 => 'Ontario', + 190561 => 'Ontario', 1905612 => 'Mississauga, ON', 1905614 => 'Mississauga, ON', 1905615 => 'Mississauga, ON', 1905619 => 'Ajax, ON', + 1905620 => 'Ontario', + 1905621 => 'Ontario', + 1905622 => 'Ontario', 1905623 => 'Bowmanville, ON', 1905624 => 'Mississauga, ON', 1905625 => 'Mississauga, ON', + 1905626 => 'Ontario', 1905627 => 'Dundas, ON', 1905628 => 'Dundas, ON', 1905629 => 'Mississauga, ON', - 1905631 => 'Burlington, ON', - 1905632 => 'Burlington, ON', - 1905633 => 'Burlington, ON', - 1905634 => 'Burlington, ON', - 1905635 => 'Burlington, ON', + 190563 => 'Burlington, ON', + 1905630 => 'Ontario', 1905636 => 'Milton, ON', - 1905637 => 'Burlington, ON', - 1905639 => 'Burlington, ON', + 1905638 => 'Ontario', 1905640 => 'Whitchurch-Stouffville, ON', 1905641 => 'St. Catharines, ON', 1905642 => 'Whitchurch-Stouffville, ON', 1905643 => 'Stoney Creek, ON', + 1905644 => 'Ontario', + 1905645 => 'Ontario', 1905646 => 'St. Catharines, ON', + 1905647 => 'Ontario', 1905648 => 'Ancaster, ON', 1905649 => 'Claremont, ON', + 190565 => 'Ontario', 1905655 => 'Brooklin, ON', 1905659 => 'Freelton, ON', 1905660 => 'Concord, ON', + 1905661 => 'Ontario', 1905662 => 'Stoney Creek, ON', + 1905663 => 'Ontario', 1905664 => 'Stoney Creek, ON', 1905665 => 'Whitby, ON', 1905666 => 'Whitby, ON', 1905667 => 'Hamilton, ON', 1905668 => 'Whitby, ON', 1905669 => 'Concord, ON', - 1905670 => 'Mississauga, ON', - 1905671 => 'Mississauga, ON', - 1905672 => 'Mississauga, ON', - 1905673 => 'Mississauga, ON', - 1905676 => 'Mississauga, ON', - 1905677 => 'Mississauga, ON', - 1905678 => 'Mississauga, ON', + 190567 => 'Mississauga, ON', + 1905674 => 'Ontario', + 1905675 => 'Ontario', 1905679 => 'Mount Hope, ON', + 1905680 => 'Ontario', 1905681 => 'Burlington, ON', 1905682 => 'St. Catharines, ON', 1905683 => 'Ajax, ON', @@ -856,13 +788,20 @@ return array ( 1905688 => 'St. Catharines, ON', 1905689 => 'Waterdown, ON', 1905690 => 'Waterdown, ON', + 1905691 => 'Ontario', 1905692 => 'Binbrook, ON', 1905693 => 'Milton, ON', + 1905694 => 'Ontario', + 1905695 => 'Ontario', 1905696 => 'Mississauga, ON', 1905697 => 'Bowmanville, ON', + 1905698 => 'Ontario', + 1905699 => 'Ontario', + 190570 => 'Ontario', 1905701 => 'Dunnville, ON', 1905702 => 'Georgetown, ON', 1905704 => 'St. Catharines, ON', + 190571 => 'Ontario', 1905712 => 'Mississauga, ON', 1905713 => 'Aurora, ON', 1905714 => 'Welland, ON', @@ -871,59 +810,72 @@ return array ( 1905721 => 'Oshawa, ON', 1905722 => 'Sutton West, ON', 1905723 => 'Oshawa, ON', + 1905724 => 'Ontario', 1905725 => 'Oshawa, ON', 1905726 => 'Aurora, ON', 1905727 => 'Aurora, ON', 1905728 => 'Oshawa, ON', 1905729 => 'Beeton, ON', + 1905730 => 'Ontario', 1905731 => 'Thornhill, ON', 1905732 => 'Welland, ON', + 1905733 => 'Ontario', 1905734 => 'Welland, ON', 1905735 => 'Welland, ON', + 1905736 => 'Ontario', 1905737 => 'Richmond Hill, ON', 1905738 => 'Concord, ON', + 1905739 => 'Ontario', + 190574 => 'Ontario', + 190575 => 'Ontario', 1905751 => 'Aurora, ON', 1905752 => 'Markham, ON', + 190576 => 'Ontario', 1905760 => 'Concord, ON', 1905761 => 'Concord, ON', 1905765 => 'Caledonia, ON', 1905768 => 'Hagersville, ON', 1905770 => 'Richmond Hill, ON', + 1905771 => 'Ontario', 1905772 => 'Cayuga, ON', + 1905773 => 'Ontario', 1905774 => 'Dunnville, ON', 1905775 => 'Bradford, ON', + 1905776 => 'Ontario', 1905777 => 'Hamilton, ON', 1905778 => 'Bradford, ON', + 1905779 => 'Ontario', 1905780 => 'Richmond Hill, ON', + 1905781 => 'Ontario', + 1905782 => 'Ontario', + 1905783 => 'Ontario', + 1905784 => 'Ontario', 1905785 => 'Mississauga, ON', + 1905786 => 'Ontario', 1905787 => 'Richmond Hill, ON', 1905788 => 'Welland, ON', 1905789 => 'Brampton, ON', - 1905790 => 'Brampton, ON', - 1905791 => 'Brampton, ON', - 1905792 => 'Brampton, ON', - 1905793 => 'Brampton, ON', + 190579 => 'Brampton, ON', 1905794 => 'Castlemore, ON', 1905795 => 'Mississauga, ON', - 1905796 => 'Brampton, ON', - 1905799 => 'Brampton, ON', + 1905797 => 'Ontario', + 1905798 => 'Ontario', + 190580 => 'Ontario', 1905803 => 'Mississauga, ON', 1905804 => 'Mississauga, ON', + 1905810 => 'Ontario', + 1905811 => 'Ontario', 1905812 => 'Mississauga, ON', 1905813 => 'Mississauga, ON', 1905814 => 'Mississauga, ON', 1905815 => 'Oakville, ON', + 1905816 => 'Ontario', 1905817 => 'Mississauga, ON', + 1905818 => 'Ontario', 1905819 => 'Mississauga, ON', - 1905820 => 'Mississauga, ON', - 1905821 => 'Mississauga, ON', - 1905822 => 'Mississauga, ON', - 1905823 => 'Mississauga, ON', - 1905824 => 'Mississauga, ON', + 190582 => 'Mississauga, ON', 1905825 => 'Oakville, ON', - 1905826 => 'Mississauga, ON', 1905827 => 'Oakville, ON', - 1905828 => 'Mississauga, ON', 1905829 => 'Oakville, ON', 1905830 => 'Newmarket, ON', 1905831 => 'Pickering, ON', @@ -933,10 +885,12 @@ return array ( 1905835 => 'Port Colborne, ON', 1905836 => 'Newmarket, ON', 1905837 => 'Pickering, ON', + 1905838 => 'Ontario', 1905839 => 'Pickering, ON', 1905840 => 'Brampton, ON', 1905841 => 'Aurora, ON', 1905842 => 'Oakville, ON', + 1905843 => 'Ontario', 1905844 => 'Oakville, ON', 1905845 => 'Oakville, ON', 1905846 => 'Brampton, ON', @@ -953,24 +907,33 @@ return array ( 1905857 => 'Bolton, ON', 1905858 => 'Mississauga, ON', 1905859 => 'Nobleton, ON', + 190586 => 'Ontario', 1905862 => 'Uxbridge, ON', 1905864 => 'Milton, ON', 1905868 => 'Newmarket, ON', + 1905870 => 'Ontario', 1905871 => 'Fort Erie, ON', + 1905872 => 'Ontario', 1905873 => 'Georgetown, ON', 1905874 => 'Brampton, ON', 1905875 => 'Milton, ON', 1905876 => 'Milton, ON', 1905877 => 'Georgetown, ON', 1905878 => 'Milton, ON', + 1905879 => 'Ontario', + 1905880 => 'Ontario', 1905881 => 'Thornhill, ON', + 1905882 => 'Ontario', 1905883 => 'Richmond Hill, ON', 1905884 => 'Richmond Hill, ON', 1905885 => 'Port Hope, ON', + 1905886 => 'Ontario', + 1905887 => 'Ontario', 1905888 => 'Bethesda, ON', 1905889 => 'Thornhill, ON', 1905890 => 'Mississauga, ON', 1905891 => 'Mississauga, ON', + 1905892 => 'Ontario', 1905893 => 'Kleinburg, ON', 1905894 => 'Ridgeway, ON', 1905895 => 'Newmarket, ON', @@ -978,6 +941,7 @@ return array ( 1905897 => 'Mississauga, ON', 1905898 => 'Newmarket, ON', 1905899 => 'Wainfleet, ON', + 19059 => 'Ontario', 1905901 => 'Oakville, ON', 1905910 => 'Markham, ON', 1905913 => 'Castlemore, ON', @@ -988,13 +952,8 @@ return array ( 1905937 => 'St. Catharines, ON', 1905938 => 'St. Catharines, ON', 1905939 => 'Schomberg, ON', - 1905940 => 'Markham, ON', - 1905943 => 'Markham, ON', - 1905944 => 'Markham, ON', + 190594 => 'Markham, ON', 1905945 => 'Grimsby, ON', - 1905946 => 'Markham, ON', - 1905947 => 'Markham, ON', - 1905948 => 'Markham, ON', 1905949 => 'Mississauga, ON', 1905951 => 'Bolton, ON', 1905953 => 'Newmarket, ON', @@ -1074,22 +1033,10 @@ return array ( 1907262 => 'Soldotna, AK', 1907264 => 'Anchorage, AK', 1907269 => 'Anchorage, AK', - 1907271 => 'Anchorage, AK', - 1907272 => 'Anchorage, AK', - 1907274 => 'Anchorage, AK', - 1907276 => 'Anchorage, AK', - 1907277 => 'Anchorage, AK', - 1907278 => 'Anchorage, AK', - 1907279 => 'Anchorage, AK', + 190727 => 'Anchorage, AK', 1907283 => 'Kenai, AK', - 1907332 => 'Anchorage, AK', - 1907333 => 'Anchorage, AK', - 1907334 => 'Anchorage, AK', + 190733 => 'Anchorage, AK', 1907335 => 'Kenai, AK', - 1907336 => 'Anchorage, AK', - 1907337 => 'Anchorage, AK', - 1907338 => 'Anchorage, AK', - 1907339 => 'Anchorage, AK', 1907343 => 'Anchorage, AK', 1907344 => 'Anchorage, AK', 1907345 => 'Anchorage, AK', @@ -1103,13 +1050,7 @@ return array ( 1907424 => 'Cordova, AK', 1907442 => 'Kotzebue, AK', 1907443 => 'Nome, AK', - 1907451 => 'Fairbanks, AK', - 1907452 => 'Fairbanks, AK', - 1907455 => 'Fairbanks, AK', - 1907456 => 'Fairbanks, AK', - 1907457 => 'Fairbanks, AK', - 1907458 => 'Fairbanks, AK', - 1907459 => 'Fairbanks, AK', + 190745 => 'Fairbanks, AK', 1907463 => 'Juneau, AK', 1907465 => 'Juneau, AK', 1907474 => 'Fairbanks, AK', @@ -1260,13 +1201,7 @@ return array ( 1909357 => 'Fontana, CA', 1909364 => 'Chino, CA', 1909370 => 'Colton, CA', - 1909381 => 'San Bernardino, CA', - 1909382 => 'San Bernardino, CA', - 1909383 => 'San Bernardino, CA', - 1909384 => 'San Bernardino, CA', - 1909386 => 'San Bernardino, CA', - 1909387 => 'San Bernardino, CA', - 1909388 => 'San Bernardino, CA', + 190938 => 'San Bernardino, CA', 1909390 => 'Ontario, CA', 1909391 => 'Ontario, CA', 1909392 => 'La Verne, CA', @@ -1355,16 +1290,7 @@ return array ( 1909875 => 'Rialto, CA', 1909877 => 'Bloomington, CA', 1909878 => 'Big Bear Lake, CA', - 1909880 => 'San Bernardino, CA', - 1909881 => 'San Bernardino, CA', - 1909882 => 'San Bernardino, CA', - 1909883 => 'San Bernardino, CA', - 1909884 => 'San Bernardino, CA', - 1909885 => 'San Bernardino, CA', - 1909886 => 'San Bernardino, CA', - 1909887 => 'San Bernardino, CA', - 1909888 => 'San Bernardino, CA', - 1909889 => 'San Bernardino, CA', + 190988 => 'San Bernardino, CA', 1909890 => 'San Bernardino, CA', 1909902 => 'Chino, CA', 1909920 => 'Upland, CA', @@ -1467,13 +1393,7 @@ return array ( 1910455 => 'Jacksonville, NC', 1910457 => 'Southport, NC', 1910458 => 'Carolina Beach, NC', - 1910482 => 'Fayetteville, NC', - 1910483 => 'Fayetteville, NC', - 1910484 => 'Fayetteville, NC', - 1910485 => 'Fayetteville, NC', - 1910486 => 'Fayetteville, NC', - 1910487 => 'Fayetteville, NC', - 1910488 => 'Fayetteville, NC', + 191048 => 'Fayetteville, NC', 1910497 => 'Spring Lake, NC', 1910509 => 'Wilmington, NC', 1910520 => 'Wilmington, NC', @@ -1519,14 +1439,7 @@ return array ( 1910764 => 'Fayetteville, NC', 1910772 => 'Wilmington, NC', 1910777 => 'Wilmington, NC', - 1910790 => 'Wilmington, NC', - 1910791 => 'Wilmington, NC', - 1910792 => 'Wilmington, NC', - 1910793 => 'Wilmington, NC', - 1910794 => 'Wilmington, NC', - 1910796 => 'Wilmington, NC', - 1910798 => 'Wilmington, NC', - 1910799 => 'Wilmington, NC', + 191079 => 'Wilmington, NC', 1910814 => 'Lillington, NC', 1910815 => 'Wilmington, NC', 1910822 => 'Fayetteville, NC', @@ -1558,12 +1471,7 @@ return array ( 1910997 => 'Rockingham, NC', 1912 => 'Georgia', 1912201 => 'Savannah, GA', - 1912231 => 'Savannah, GA', - 1912232 => 'Savannah, GA', - 1912233 => 'Savannah, GA', - 1912234 => 'Savannah, GA', - 1912236 => 'Savannah, GA', - 1912238 => 'Savannah, GA', + 191223 => 'Savannah, GA', 1912261 => 'Brunswick, GA', 1912262 => 'Brunswick, GA', 1912264 => 'Brunswick, GA', @@ -1581,13 +1489,7 @@ return array ( 1912335 => 'Savannah, GA', 1912342 => 'Brunswick, GA', 1912349 => 'Savannah, GA', - 1912350 => 'Savannah, GA', - 1912351 => 'Savannah, GA', - 1912352 => 'Savannah, GA', - 1912353 => 'Savannah, GA', - 1912354 => 'Savannah, GA', - 1912355 => 'Savannah, GA', - 1912356 => 'Savannah, GA', + 191235 => 'Savannah, GA', 1912359 => 'Broxton, GA', 1912366 => 'Baxley, GA', 1912367 => 'Baxley, GA', @@ -1825,14 +1727,9 @@ return array ( 1914946 => 'White Plains, NY', 1914948 => 'White Plains, NY', 1914949 => 'White Plains, NY', + 191496 => 'Yonkers, NY', 1914962 => 'Yorktown Heights, NY', - 1914963 => 'Yonkers, NY', - 1914964 => 'Yonkers, NY', - 1914965 => 'Yonkers, NY', - 1914966 => 'Yonkers, NY', 1914967 => 'Rye, NY', - 1914968 => 'Yonkers, NY', - 1914969 => 'Yonkers, NY', 1914993 => 'White Plains, NY', 1914997 => 'White Plains, NY', 1915 => 'Texas', @@ -1844,12 +1741,7 @@ return array ( 1915532 => 'El Paso, TX', 1915533 => 'El Paso, TX', 1915534 => 'El Paso, TX', - 1915541 => 'El Paso, TX', - 1915542 => 'El Paso, TX', - 1915543 => 'El Paso, TX', - 1915544 => 'El Paso, TX', - 1915545 => 'El Paso, TX', - 1915546 => 'El Paso, TX', + 191554 => 'El Paso, TX', 1915562 => 'El Paso, TX', 1915564 => 'El Paso, TX', 1915565 => 'El Paso, TX', @@ -1860,14 +1752,7 @@ return array ( 1915584 => 'El Paso, TX', 1915585 => 'El Paso, TX', 1915587 => 'El Paso, TX', - 1915590 => 'El Paso, TX', - 1915591 => 'El Paso, TX', - 1915592 => 'El Paso, TX', - 1915593 => 'El Paso, TX', - 1915594 => 'El Paso, TX', - 1915595 => 'El Paso, TX', - 1915598 => 'El Paso, TX', - 1915599 => 'El Paso, TX', + 191559 => 'El Paso, TX', 1915613 => 'El Paso, TX', 1915629 => 'El Paso, TX', 1915633 => 'El Paso, TX', @@ -1877,12 +1762,7 @@ return array ( 1915759 => 'El Paso, TX', 1915760 => 'El Paso, TX', 1915764 => 'Fabens, TX', - 1915771 => 'El Paso, TX', - 1915772 => 'El Paso, TX', - 1915774 => 'El Paso, TX', - 1915775 => 'El Paso, TX', - 1915778 => 'El Paso, TX', - 1915779 => 'El Paso, TX', + 191577 => 'El Paso, TX', 1915781 => 'El Paso, TX', 1915790 => 'El Paso, TX', 1915821 => 'El Paso, TX', @@ -1892,12 +1772,7 @@ return array ( 1915843 => 'El Paso, TX', 1915845 => 'El Paso, TX', 1915849 => 'El Paso, TX', - 1915852 => 'El Paso, TX', - 1915855 => 'El Paso, TX', - 1915856 => 'El Paso, TX', - 1915857 => 'El Paso, TX', - 1915858 => 'El Paso, TX', - 1915859 => 'El Paso, TX', + 191585 => 'El Paso, TX', 1915860 => 'El Paso, TX', 1915872 => 'El Paso, TX', 1915875 => 'El Paso, TX', @@ -1917,71 +1792,26 @@ return array ( 1916354 => 'Rancho Murieta, CA', 1916355 => 'Folsom, CA', 1916358 => 'El Dorado Hills, CA', - 1916361 => 'Sacramento, CA', - 1916362 => 'Sacramento, CA', - 1916363 => 'Sacramento, CA', - 1916364 => 'Sacramento, CA', - 1916366 => 'Sacramento, CA', - 1916368 => 'Sacramento, CA', - 1916369 => 'Sacramento, CA', - 1916371 => 'West Sacramento, CA', - 1916372 => 'West Sacramento, CA', - 1916373 => 'West Sacramento, CA', - 1916374 => 'West Sacramento, CA', - 1916375 => 'West Sacramento, CA', - 1916376 => 'West Sacramento, CA', + 191636 => 'Sacramento, CA', + 191637 => 'West Sacramento, CA', 1916379 => 'Sacramento, CA', 1916381 => 'Sacramento, CA', 1916383 => 'Sacramento, CA', 1916386 => 'Sacramento, CA', 1916387 => 'Sacramento, CA', 1916388 => 'Sacramento, CA', - 1916391 => 'Sacramento, CA', - 1916392 => 'Sacramento, CA', - 1916393 => 'Sacramento, CA', - 1916394 => 'Sacramento, CA', - 1916395 => 'Sacramento, CA', - 1916399 => 'Sacramento, CA', + 191639 => 'Sacramento, CA', 1916408 => 'Lincoln, CA', 1916419 => 'Sacramento, CA', - 1916421 => 'Sacramento, CA', - 1916422 => 'Sacramento, CA', - 1916423 => 'Sacramento, CA', - 1916424 => 'Sacramento, CA', - 1916427 => 'Sacramento, CA', - 1916428 => 'Sacramento, CA', - 1916429 => 'Sacramento, CA', + 191642 => 'Sacramento, CA', 1916434 => 'Lincoln, CA', 1916435 => 'Rocklin, CA', - 1916440 => 'Sacramento, CA', - 1916441 => 'Sacramento, CA', - 1916442 => 'Sacramento, CA', - 1916443 => 'Sacramento, CA', - 1916444 => 'Sacramento, CA', - 1916446 => 'Sacramento, CA', - 1916447 => 'Sacramento, CA', - 1916448 => 'Sacramento, CA', - 1916449 => 'Sacramento, CA', - 1916451 => 'Sacramento, CA', - 1916452 => 'Sacramento, CA', - 1916453 => 'Sacramento, CA', - 1916454 => 'Sacramento, CA', - 1916455 => 'Sacramento, CA', - 1916456 => 'Sacramento, CA', - 1916457 => 'Sacramento, CA', + 191644 => 'Sacramento, CA', + 191645 => 'Sacramento, CA', 1916473 => 'Sacramento, CA', 1916476 => 'Sacramento, CA', 1916478 => 'Elk Grove, CA', - 1916480 => 'Sacramento, CA', - 1916481 => 'Sacramento, CA', - 1916482 => 'Sacramento, CA', - 1916483 => 'Sacramento, CA', - 1916484 => 'Sacramento, CA', - 1916485 => 'Sacramento, CA', - 1916486 => 'Sacramento, CA', - 1916487 => 'Sacramento, CA', - 1916488 => 'Sacramento, CA', - 1916489 => 'Sacramento, CA', + 191648 => 'Sacramento, CA', 1916492 => 'Sacramento, CA', 1916498 => 'Sacramento, CA', 1916514 => 'Sacramento, CA', @@ -2024,35 +1854,15 @@ return array ( 1916691 => 'Elk Grove, CA', 1916706 => 'Sacramento, CA', 1916714 => 'Elk Grove, CA', - 1916721 => 'Citrus Heights, CA', - 1916722 => 'Citrus Heights, CA', - 1916723 => 'Citrus Heights, CA', - 1916725 => 'Citrus Heights, CA', - 1916726 => 'Citrus Heights, CA', - 1916727 => 'Citrus Heights, CA', - 1916728 => 'Citrus Heights, CA', - 1916729 => 'Citrus Heights, CA', - 1916731 => 'Sacramento, CA', - 1916733 => 'Sacramento, CA', - 1916734 => 'Sacramento, CA', - 1916736 => 'Sacramento, CA', - 1916737 => 'Sacramento, CA', - 1916739 => 'Sacramento, CA', + 191672 => 'Citrus Heights, CA', + 191673 => 'Sacramento, CA', 1916771 => 'Roseville, CA', 1916772 => 'Roseville, CA', 1916773 => 'Roseville, CA', 1916774 => 'Roseville, CA', 1916776 => 'Walnut Grove, CA', 1916777 => 'Isleton, CA', - 1916780 => 'Roseville, CA', - 1916781 => 'Roseville, CA', - 1916782 => 'Roseville, CA', - 1916783 => 'Roseville, CA', - 1916784 => 'Roseville, CA', - 1916786 => 'Roseville, CA', - 1916787 => 'Roseville, CA', - 1916788 => 'Roseville, CA', - 1916789 => 'Roseville, CA', + 191678 => 'Roseville, CA', 1916808 => 'Sacramento, CA', 1916817 => 'Folsom, CA', 1916851 => 'Rancho Cordova, CA', @@ -2062,15 +1872,7 @@ return array ( 1916863 => 'Fair Oaks, CA', 1916874 => 'Sacramento, CA', 1916875 => 'Sacramento, CA', - 1916920 => 'Sacramento, CA', - 1916921 => 'Sacramento, CA', - 1916922 => 'Sacramento, CA', - 1916923 => 'Sacramento, CA', - 1916924 => 'Sacramento, CA', - 1916925 => 'Sacramento, CA', - 1916927 => 'Sacramento, CA', - 1916928 => 'Sacramento, CA', - 1916929 => 'Sacramento, CA', + 191692 => 'Sacramento, CA', 1916930 => 'Sacramento, CA', 1916932 => 'Folsom, CA', 1916933 => 'El Dorado Hills, CA', @@ -2192,14 +1994,7 @@ return array ( 1918485 => 'Wagoner, OK', 1918486 => 'Coweta, OK', 1918488 => 'Tulsa, OK', - 1918491 => 'Tulsa, OK', - 1918492 => 'Tulsa, OK', - 1918493 => 'Tulsa, OK', - 1918494 => 'Tulsa, OK', - 1918495 => 'Tulsa, OK', - 1918496 => 'Tulsa, OK', - 1918497 => 'Tulsa, OK', - 1918499 => 'Tulsa, OK', + 191849 => 'Tulsa, OK', 1918502 => 'Tulsa, OK', 1918534 => 'Dewey, OK', 1918540 => 'Miami, OK', @@ -2209,12 +2004,7 @@ return array ( 1918569 => 'Clayton, OK', 1918574 => 'Tulsa, OK', 1918579 => 'Tulsa, OK', - 1918582 => 'Tulsa, OK', - 1918583 => 'Tulsa, OK', - 1918584 => 'Tulsa, OK', - 1918585 => 'Tulsa, OK', - 1918587 => 'Tulsa, OK', - 1918588 => 'Tulsa, OK', + 191858 => 'Tulsa, OK', 1918591 => 'Tulsa, OK', 1918592 => 'Tulsa, OK', 1918594 => 'Tulsa, OK', @@ -2235,25 +2025,13 @@ return array ( 1918663 => 'Tulsa, OK', 1918664 => 'Tulsa, OK', 1918665 => 'Tulsa, OK', - 1918681 => 'Muskogee, OK', - 1918682 => 'Muskogee, OK', - 1918683 => 'Muskogee, OK', - 1918684 => 'Muskogee, OK', - 1918686 => 'Muskogee, OK', - 1918687 => 'Muskogee, OK', + 191868 => 'Muskogee, OK', 1918689 => 'Eufaula, OK', 1918696 => 'Stilwell, OK', 1918712 => 'Tulsa, OK', 1918723 => 'Westville, OK', 1918728 => 'Tulsa, OK', - 1918742 => 'Tulsa, OK', - 1918743 => 'Tulsa, OK', - 1918744 => 'Tulsa, OK', - 1918745 => 'Tulsa, OK', - 1918746 => 'Tulsa, OK', - 1918747 => 'Tulsa, OK', - 1918748 => 'Tulsa, OK', - 1918749 => 'Tulsa, OK', + 191874 => 'Tulsa, OK', 1918756 => 'Okmulgee, OK', 1918758 => 'Okmulgee, OK', 1918762 => 'Pawnee, OK', @@ -2340,15 +2118,7 @@ return array ( 1919420 => 'Raleigh, NC', 1919424 => 'Raleigh, NC', 1919453 => 'Wake Forest, NC', - 1919460 => 'Cary, NC', - 1919461 => 'Cary, NC', - 1919462 => 'Cary, NC', - 1919463 => 'Cary, NC', - 1919465 => 'Cary, NC', - 1919466 => 'Cary, NC', - 1919467 => 'Cary, NC', - 1919468 => 'Cary, NC', - 1919469 => 'Cary, NC', + 191946 => 'Cary, NC', 1919470 => 'Durham, NC', 1919471 => 'Durham, NC', 1919477 => 'Durham, NC', @@ -2401,13 +2171,7 @@ return array ( 1919676 => 'Raleigh, NC', 1919677 => 'Cary, NC', 1919678 => 'Cary, NC', - 1919680 => 'Durham, NC', - 1919681 => 'Durham, NC', - 1919682 => 'Durham, NC', - 1919683 => 'Durham, NC', - 1919684 => 'Durham, NC', - 1919687 => 'Durham, NC', - 1919688 => 'Durham, NC', + 191968 => 'Durham, NC', 1919689 => 'Goldsboro, NC', 1919690 => 'Oxford, NC', 1919693 => 'Oxford, NC', @@ -2431,15 +2195,7 @@ return array ( 1919777 => 'Sanford, NC', 1919778 => 'Goldsboro, NC', 1919779 => 'Garner, NC', - 1919781 => 'Raleigh, NC', - 1919782 => 'Raleigh, NC', - 1919783 => 'Raleigh, NC', - 1919784 => 'Raleigh, NC', - 1919785 => 'Raleigh, NC', - 1919786 => 'Raleigh, NC', - 1919787 => 'Raleigh, NC', - 1919788 => 'Raleigh, NC', - 1919789 => 'Raleigh, NC', + 191978 => 'Raleigh, NC', 1919790 => 'Raleigh, NC', 1919791 => 'Raleigh, NC', 1919792 => 'Raleigh, NC', @@ -2448,36 +2204,17 @@ return array ( 1919821 => 'Raleigh, NC', 1919828 => 'Raleigh, NC', 1919829 => 'Raleigh, NC', - 1919831 => 'Raleigh, NC', - 1919832 => 'Raleigh, NC', - 1919833 => 'Raleigh, NC', - 1919834 => 'Raleigh, NC', - 1919835 => 'Raleigh, NC', - 1919836 => 'Raleigh, NC', - 1919838 => 'Raleigh, NC', - 1919839 => 'Raleigh, NC', + 191983 => 'Raleigh, NC', + 191984 => 'Raleigh, NC', 1919840 => 'Morrisville, NC', - 1919841 => 'Raleigh, NC', 1919843 => 'Chapel Hill, NC', - 1919844 => 'Raleigh, NC', - 1919845 => 'Raleigh, NC', - 1919846 => 'Raleigh, NC', - 1919847 => 'Raleigh, NC', - 1919848 => 'Raleigh, NC', 1919850 => 'Raleigh, NC', 1919855 => 'Raleigh, NC', 1919856 => 'Raleigh, NC', 1919861 => 'Raleigh, NC', 1919862 => 'Raleigh, NC', 1919863 => 'Raleigh, NC', - 1919870 => 'Raleigh, NC', - 1919871 => 'Raleigh, NC', - 1919872 => 'Raleigh, NC', - 1919873 => 'Raleigh, NC', - 1919875 => 'Raleigh, NC', - 1919876 => 'Raleigh, NC', - 1919877 => 'Raleigh, NC', - 1919878 => 'Raleigh, NC', + 191987 => 'Raleigh, NC', 1919881 => 'Raleigh, NC', 1919890 => 'Raleigh, NC', 1919894 => 'Benson, NC', @@ -2495,26 +2232,16 @@ return array ( 1919954 => 'Raleigh, NC', 1919956 => 'Durham, NC', 1919957 => 'Durham, NC', - 1919960 => 'Chapel Hill, NC', - 1919962 => 'Chapel Hill, NC', + 191996 => 'Chapel Hill, NC', 1919963 => 'Four Oaks, NC', 1919965 => 'Selma, NC', - 1919966 => 'Chapel Hill, NC', - 1919967 => 'Chapel Hill, NC', - 1919968 => 'Chapel Hill, NC', - 1919969 => 'Chapel Hill, NC', 1919981 => 'Raleigh, NC', 1919989 => 'Smithfield, NC', 1920 => 'Wisconsin', 1920206 => 'Watertown, WI', 1920208 => 'Sheboygan, WI', 1920223 => 'Oshkosh, WI', - 1920230 => 'Oshkosh, WI', - 1920231 => 'Oshkosh, WI', - 1920232 => 'Oshkosh, WI', - 1920233 => 'Oshkosh, WI', - 1920235 => 'Oshkosh, WI', - 1920236 => 'Oshkosh, WI', + 192023 => 'Oshkosh, WI', 1920261 => 'Watertown, WI', 1920262 => 'Watertown, WI', 1920269 => 'Lomira, WI', @@ -2543,14 +2270,7 @@ return array ( 1920406 => 'Green Bay, WI', 1920424 => 'Oshkosh, WI', 1920426 => 'Oshkosh, WI', - 1920430 => 'Green Bay, WI', - 1920431 => 'Green Bay, WI', - 1920432 => 'Green Bay, WI', - 1920433 => 'Green Bay, WI', - 1920434 => 'Green Bay, WI', - 1920435 => 'Green Bay, WI', - 1920436 => 'Green Bay, WI', - 1920437 => 'Green Bay, WI', + 192043 => 'Green Bay, WI', 1920446 => 'Fremont, WI', 1920448 => 'Green Bay, WI', 1920451 => 'Sheboygan, WI', @@ -2565,12 +2285,7 @@ return array ( 1920478 => 'Waterloo, WI', 1920485 => 'Horicon, WI', 1920487 => 'Algoma, WI', - 1920490 => 'Green Bay, WI', - 1920494 => 'Green Bay, WI', - 1920496 => 'Green Bay, WI', - 1920497 => 'Green Bay, WI', - 1920498 => 'Green Bay, WI', - 1920499 => 'Green Bay, WI', + 192049 => 'Green Bay, WI', 1920532 => 'Wrightstown, WI', 1920533 => 'Campbellsport, WI', 1920544 => 'Green Bay, WI', @@ -2600,13 +2315,7 @@ return array ( 1920725 => 'Neenah, WI', 1920727 => 'Neenah, WI', 1920729 => 'Neenah, WI', - 1920730 => 'Appleton, WI', - 1920731 => 'Appleton, WI', - 1920733 => 'Appleton, WI', - 1920734 => 'Appleton, WI', - 1920735 => 'Appleton, WI', - 1920738 => 'Appleton, WI', - 1920739 => 'Appleton, WI', + 192073 => 'Appleton, WI', 1920743 => 'Sturgeon Bay, WI', 1920746 => 'Sturgeon Bay, WI', 1920748 => 'Ripon, WI', @@ -2659,13 +2368,8 @@ return array ( 1920897 => 'Coleman, WI', 1920898 => 'New Holstein, WI', 1920907 => 'Fond du Lac, WI', - 1920921 => 'Fond du Lac, WI', - 1920922 => 'Fond du Lac, WI', - 1920923 => 'Fond du Lac, WI', - 1920924 => 'Fond du Lac, WI', - 1920926 => 'Fond du Lac, WI', + 192092 => 'Fond du Lac, WI', 1920928 => 'Fox Lake, WI', - 1920929 => 'Fond du Lac, WI', 1920933 => 'Fond du Lac, WI', 1920954 => 'Appleton, WI', 1920964 => 'De Pere, WI', @@ -2769,14 +2473,8 @@ return array ( 1925674 => 'Concord, CA', 1925676 => 'Concord, CA', 1925679 => 'Oakley, CA', - 1925680 => 'Concord, CA', - 1925681 => 'Concord, CA', - 1925682 => 'Concord, CA', + 192568 => 'Concord, CA', 1925684 => 'Bethel Island, CA', - 1925685 => 'Concord, CA', - 1925686 => 'Concord, CA', - 1925687 => 'Concord, CA', - 1925689 => 'Concord, CA', 1925691 => 'Concord, CA', 1925706 => 'Antioch, CA', 1925734 => 'Pleasanton, CA', @@ -2809,15 +2507,8 @@ return array ( 1925875 => 'Dublin, CA', 1925906 => 'Walnut Creek, CA', 1925924 => 'Pleasanton, CA', - 1925930 => 'Walnut Creek, CA', + 192593 => 'Walnut Creek, CA', 1925931 => 'Pleasanton, CA', - 1925932 => 'Walnut Creek, CA', - 1925933 => 'Walnut Creek, CA', - 1925934 => 'Walnut Creek, CA', - 1925935 => 'Walnut Creek, CA', - 1925937 => 'Walnut Creek, CA', - 1925938 => 'Walnut Creek, CA', - 1925939 => 'Walnut Creek, CA', 1925943 => 'Walnut Creek, CA', 1925944 => 'Walnut Creek, CA', 1925945 => 'Walnut Creek, CA', @@ -3101,41 +2792,20 @@ return array ( 1936967 => 'Livingston, TX', 1937 => 'Ohio', 1937208 => 'Dayton, OH', - 1937222 => 'Dayton, OH', - 1937223 => 'Dayton, OH', - 1937224 => 'Dayton, OH', - 1937225 => 'Dayton, OH', - 1937226 => 'Dayton, OH', - 1937228 => 'Dayton, OH', + 193722 => 'Dayton, OH', 1937233 => 'Dayton, OH', 1937235 => 'Dayton, OH', 1937236 => 'Dayton, OH', 1937237 => 'Dayton, OH', - 1937252 => 'Dayton, OH', - 1937253 => 'Dayton, OH', - 1937254 => 'Dayton, OH', - 1937256 => 'Dayton, OH', - 1937257 => 'Dayton, OH', - 1937258 => 'Dayton, OH', + 193725 => 'Dayton, OH', 1937262 => 'Dayton, OH', 1937263 => 'Dayton, OH', 1937264 => 'Dayton, OH', 1937268 => 'Dayton, OH', - 1937274 => 'Dayton, OH', - 1937275 => 'Dayton, OH', - 1937276 => 'Dayton, OH', - 1937277 => 'Dayton, OH', - 1937278 => 'Dayton, OH', - 1937279 => 'Dayton, OH', - 1937291 => 'Dayton, OH', + 193727 => 'Dayton, OH', + 193729 => 'Dayton, OH', 1937292 => 'Bellefontaine, OH', - 1937293 => 'Dayton, OH', - 1937294 => 'Dayton, OH', 1937295 => 'Fort Loramie, OH', - 1937296 => 'Dayton, OH', - 1937297 => 'Dayton, OH', - 1937298 => 'Dayton, OH', - 1937299 => 'Dayton, OH', 1937312 => 'Dayton, OH', 1937320 => 'Beavercreek, OH', 1937322 => 'Springfield, OH', @@ -3168,15 +2838,9 @@ return array ( 1937427 => 'Beavercreek, OH', 1937428 => 'Dayton, OH', 1937429 => 'Beavercreek, OH', + 193743 => 'Dayton, OH', 1937431 => 'Beavercreek, OH', - 1937432 => 'Dayton, OH', - 1937433 => 'Dayton, OH', - 1937434 => 'Dayton, OH', - 1937435 => 'Dayton, OH', - 1937436 => 'Dayton, OH', 1937437 => 'New Paris, OH', - 1937438 => 'Dayton, OH', - 1937439 => 'Dayton, OH', 1937440 => 'Troy, OH', 1937443 => 'Dayton, OH', 1937444 => 'Mount Orab, OH', @@ -3265,12 +2929,7 @@ return array ( 1940328 => 'Mineral Wells, TX', 1940349 => 'Denton, TX', 1940365 => 'Aubrey, TX', - 1940380 => 'Denton, TX', - 1940381 => 'Denton, TX', - 1940382 => 'Denton, TX', - 1940383 => 'Denton, TX', - 1940384 => 'Denton, TX', - 1940387 => 'Denton, TX', + 194038 => 'Denton, TX', 1940397 => 'Wichita Falls, TX', 1940433 => 'Boyd, TX', 1940442 => 'Denton, TX', @@ -3351,13 +3010,7 @@ return array ( 1941355 => 'Sarasota, FL', 1941358 => 'Sarasota, FL', 1941359 => 'Sarasota, FL', - 1941360 => 'Sarasota, FL', - 1941361 => 'Sarasota, FL', - 1941362 => 'Sarasota, FL', - 1941363 => 'Sarasota, FL', - 1941364 => 'Sarasota, FL', - 1941365 => 'Sarasota, FL', - 1941366 => 'Sarasota, FL', + 194136 => 'Sarasota, FL', 1941371 => 'Sarasota, FL', 1941373 => 'Sarasota, FL', 1941377 => 'Sarasota, FL', @@ -3378,13 +3031,8 @@ return array ( 1941473 => 'Englewood, FL', 1941474 => 'Englewood, FL', 1941475 => 'Englewood, FL', - 1941480 => 'Venice, FL', - 1941483 => 'Venice, FL', - 1941484 => 'Venice, FL', - 1941485 => 'Venice, FL', - 1941486 => 'Venice, FL', + 194148 => 'Venice, FL', 1941487 => 'Sarasota, FL', - 1941488 => 'Venice, FL', 1941492 => 'Venice, FL', 1941493 => 'Venice, FL', 1941496 => 'Venice, FL', @@ -3414,21 +3062,9 @@ return array ( 1941727 => 'Bradenton, FL', 1941729 => 'Palmetto, FL', 1941739 => 'Bradenton, FL', - 1941741 => 'Bradenton, FL', + 194174 => 'Bradenton, FL', 1941743 => 'Port Charlotte, FL', - 1941744 => 'Bradenton, FL', - 1941745 => 'Bradenton, FL', - 1941746 => 'Bradenton, FL', - 1941747 => 'Bradenton, FL', - 1941748 => 'Bradenton, FL', - 1941749 => 'Bradenton, FL', - 1941750 => 'Bradenton, FL', - 1941751 => 'Bradenton, FL', - 1941752 => 'Bradenton, FL', - 1941753 => 'Bradenton, FL', - 1941755 => 'Bradenton, FL', - 1941756 => 'Bradenton, FL', - 1941758 => 'Bradenton, FL', + 194175 => 'Bradenton, FL', 1941761 => 'Bradenton, FL', 1941764 => 'Port Charlotte, FL', 1941766 => 'Port Charlotte, FL', @@ -3447,22 +3083,9 @@ return array ( 1941896 => 'Bradenton, FL', 1941906 => 'Sarasota, FL', 1941917 => 'Sarasota, FL', - 1941921 => 'Sarasota, FL', - 1941922 => 'Sarasota, FL', - 1941923 => 'Sarasota, FL', - 1941924 => 'Sarasota, FL', - 1941925 => 'Sarasota, FL', - 1941926 => 'Sarasota, FL', - 1941927 => 'Sarasota, FL', - 1941928 => 'Sarasota, FL', - 1941929 => 'Sarasota, FL', + 194192 => 'Sarasota, FL', 1941932 => 'Bradenton, FL', - 1941951 => 'Sarasota, FL', - 1941952 => 'Sarasota, FL', - 1941953 => 'Sarasota, FL', - 1941954 => 'Sarasota, FL', - 1941955 => 'Sarasota, FL', - 1941957 => 'Sarasota, FL', + 194195 => 'Sarasota, FL', 1941964 => 'Boca Grande, FL', 1941979 => 'Port Charlotte, FL', 1947 => 'Michigan', @@ -3559,16 +3182,10 @@ return array ( 1951245 => 'Lake Elsinore, CA', 1951247 => 'Moreno Valley, CA', 1951248 => 'Riverside, CA', - 1951270 => 'Corona, CA', - 1951271 => 'Corona, CA', - 1951272 => 'Corona, CA', - 1951273 => 'Corona, CA', + 195127 => 'Corona, CA', 1951274 => 'Riverside, CA', 1951275 => 'Riverside, CA', 1951276 => 'Riverside, CA', - 1951277 => 'Corona, CA', - 1951278 => 'Corona, CA', - 1951279 => 'Corona, CA', 1951280 => 'Corona, CA', 1951296 => 'Temecula, CA', 1951302 => 'Temecula, CA', @@ -3578,12 +3195,7 @@ return array ( 1951328 => 'Riverside, CA', 1951340 => 'Corona, CA', 1951343 => 'Riverside, CA', - 1951351 => 'Riverside, CA', - 1951352 => 'Riverside, CA', - 1951353 => 'Riverside, CA', - 1951354 => 'Riverside, CA', - 1951358 => 'Riverside, CA', - 1951359 => 'Riverside, CA', + 195135 => 'Riverside, CA', 1951369 => 'Riverside, CA', 1951371 => 'Corona, CA', 1951372 => 'Corona, CA', @@ -3616,15 +3228,7 @@ return array ( 1951674 => 'Lake Elsinore, CA', 1951676 => 'Temecula, CA', 1951677 => 'Murrieta, CA', - 1951680 => 'Riverside, CA', - 1951682 => 'Riverside, CA', - 1951683 => 'Riverside, CA', - 1951684 => 'Riverside, CA', - 1951685 => 'Riverside, CA', - 1951686 => 'Riverside, CA', - 1951687 => 'Riverside, CA', - 1951688 => 'Riverside, CA', - 1951689 => 'Riverside, CA', + 195168 => 'Riverside, CA', 1951693 => 'Temecula, CA', 1951694 => 'Temecula, CA', 1951695 => 'Temecula, CA', @@ -3632,27 +3236,14 @@ return array ( 1951698 => 'Murrieta, CA', 1951699 => 'Temecula, CA', 1951719 => 'Temecula, CA', - 1951734 => 'Corona, CA', - 1951735 => 'Corona, CA', - 1951736 => 'Corona, CA', - 1951737 => 'Corona, CA', - 1951738 => 'Corona, CA', - 1951739 => 'Corona, CA', + 195173 => 'Corona, CA', 1951763 => 'Anza, CA', 1951765 => 'Hemet, CA', 1951766 => 'Hemet, CA', 1951769 => 'Beaumont, CA', 1951776 => 'Riverside, CA', 1951779 => 'Riverside, CA', - 1951780 => 'Riverside, CA', - 1951781 => 'Riverside, CA', - 1951782 => 'Riverside, CA', - 1951784 => 'Riverside, CA', - 1951785 => 'Riverside, CA', - 1951786 => 'Riverside, CA', - 1951787 => 'Riverside, CA', - 1951788 => 'Riverside, CA', - 1951789 => 'Riverside, CA', + 195178 => 'Riverside, CA', 1951808 => 'Corona, CA', 1951817 => 'Corona, CA', 1951845 => 'Beaumont, CA', @@ -3744,22 +3335,8 @@ return array ( 1954389 => 'Weston, FL', 1954396 => 'Fort Lauderdale, FL', 1954418 => 'Deerfield Beach, FL', - 1954420 => 'Deerfield Beach, FL', - 1954421 => 'Deerfield Beach, FL', - 1954422 => 'Deerfield Beach, FL', - 1954425 => 'Deerfield Beach, FL', - 1954426 => 'Deerfield Beach, FL', - 1954427 => 'Deerfield Beach, FL', - 1954428 => 'Deerfield Beach, FL', - 1954429 => 'Deerfield Beach, FL', - 1954430 => 'Pembroke Pines, FL', - 1954431 => 'Pembroke Pines, FL', - 1954432 => 'Pembroke Pines, FL', - 1954433 => 'Pembroke Pines, FL', - 1954435 => 'Pembroke Pines, FL', - 1954436 => 'Pembroke Pines, FL', - 1954437 => 'Pembroke Pines, FL', - 1954438 => 'Pembroke Pines, FL', + 195442 => 'Deerfield Beach, FL', + 195443 => 'Pembroke Pines, FL', 1954441 => 'Pembroke Pines, FL', 1954442 => 'Pembroke Pines, FL', 1954443 => 'Pembroke Pines, FL', @@ -3817,37 +3394,18 @@ return array ( 1954725 => 'Deerfield Beach, FL', 1954726 => 'Tamarac, FL', 1954728 => 'Fort Lauderdale, FL', - 1954741 => 'Sunrise, FL', - 1954742 => 'Sunrise, FL', - 1954746 => 'Sunrise, FL', - 1954747 => 'Sunrise, FL', - 1954748 => 'Sunrise, FL', - 1954749 => 'Sunrise, FL', + 195474 => 'Sunrise, FL', 1954752 => 'Coral Springs, FL', 1954753 => 'Coral Springs, FL', 1954755 => 'Coral Springs, FL', 1954757 => 'Coral Springs, FL', 1954759 => 'Fort Lauderdale, FL', - 1954760 => 'Fort Lauderdale, FL', - 1954761 => 'Fort Lauderdale, FL', - 1954763 => 'Fort Lauderdale, FL', - 1954764 => 'Fort Lauderdale, FL', - 1954765 => 'Fort Lauderdale, FL', - 1954766 => 'Fort Lauderdale, FL', - 1954767 => 'Fort Lauderdale, FL', - 1954768 => 'Fort Lauderdale, FL', - 1954769 => 'Fort Lauderdale, FL', + 195476 => 'Fort Lauderdale, FL', 1954771 => 'Fort Lauderdale, FL', 1954772 => 'Fort Lauderdale, FL', 1954776 => 'Fort Lauderdale, FL', 1954779 => 'Fort Lauderdale, FL', - 1954781 => 'Pompano Beach, FL', - 1954782 => 'Pompano Beach, FL', - 1954783 => 'Pompano Beach, FL', - 1954784 => 'Pompano Beach, FL', - 1954785 => 'Pompano Beach, FL', - 1954786 => 'Pompano Beach, FL', - 1954788 => 'Pompano Beach, FL', + 195478 => 'Pompano Beach, FL', 1954796 => 'Coral Springs, FL', 1954828 => 'Fort Lauderdale, FL', 1954831 => 'Fort Lauderdale, FL', @@ -3857,15 +3415,7 @@ return array ( 1954846 => 'Sunrise, FL', 1954851 => 'Sunrise, FL', 1954894 => 'Hollywood, FL', - 1954920 => 'Hollywood, FL', - 1954921 => 'Hollywood, FL', - 1954922 => 'Hollywood, FL', - 1954923 => 'Hollywood, FL', - 1954924 => 'Hollywood, FL', - 1954925 => 'Hollywood, FL', - 1954926 => 'Hollywood, FL', - 1954927 => 'Hollywood, FL', - 1954929 => 'Hollywood, FL', + 195492 => 'Hollywood, FL', 1954933 => 'Pompano Beach, FL', 1954938 => 'Fort Lauderdale, FL', 1954941 => 'Pompano Beach, FL', @@ -3873,19 +3423,9 @@ return array ( 1954943 => 'Pompano Beach, FL', 1954946 => 'Pompano Beach, FL', 1954958 => 'Fort Lauderdale, FL', + 195496 => 'Hollywood, FL', 1954960 => 'Pompano Beach, FL', - 1954961 => 'Hollywood, FL', - 1954962 => 'Hollywood, FL', - 1954964 => 'Hollywood, FL', - 1954965 => 'Hollywood, FL', - 1954966 => 'Hollywood, FL', - 1954967 => 'Hollywood, FL', - 1954981 => 'Hollywood, FL', - 1954983 => 'Hollywood, FL', - 1954985 => 'Hollywood, FL', - 1954986 => 'Hollywood, FL', - 1954987 => 'Hollywood, FL', - 1954989 => 'Hollywood, FL', + 195498 => 'Hollywood, FL', 1956 => 'Texas', 1956213 => 'McAllen, TX', 1956233 => 'Los Fresnos, TX', @@ -3954,14 +3494,7 @@ return array ( 1956712 => 'Laredo, TX', 1956717 => 'Laredo, TX', 1956718 => 'Laredo, TX', - 1956722 => 'Laredo, TX', - 1956723 => 'Laredo, TX', - 1956724 => 'Laredo, TX', - 1956725 => 'Laredo, TX', - 1956726 => 'Laredo, TX', - 1956727 => 'Laredo, TX', - 1956728 => 'Laredo, TX', - 1956729 => 'Laredo, TX', + 195672 => 'Laredo, TX', 1956748 => 'Rio Hondo, TX', 1956753 => 'Laredo, TX', 1956765 => 'Zapata, TX', @@ -3994,21 +3527,11 @@ return array ( 1970204 => 'Fort Collins, CO', 1970206 => 'Fort Collins, CO', 1970207 => 'Fort Collins, CO', - 1970221 => 'Fort Collins, CO', - 1970223 => 'Fort Collins, CO', - 1970224 => 'Fort Collins, CO', - 1970225 => 'Fort Collins, CO', - 1970226 => 'Fort Collins, CO', - 1970229 => 'Fort Collins, CO', + 197022 => 'Fort Collins, CO', 1970232 => 'Fort Collins, CO', + 197024 => 'Grand Junction, CO', 1970240 => 'Montrose, CO', - 1970241 => 'Grand Junction, CO', - 1970242 => 'Grand Junction, CO', - 1970243 => 'Grand Junction, CO', - 1970244 => 'Grand Junction, CO', - 1970245 => 'Grand Junction, CO', 1970247 => 'Durango, CO', - 1970248 => 'Grand Junction, CO', 1970249 => 'Montrose, CO', 1970250 => 'Grand Junction, CO', 1970252 => 'Montrose, CO', @@ -4071,12 +3594,7 @@ return array ( 1970482 => 'Fort Collins, CO', 1970483 => 'Wiggins, CO', 1970484 => 'Fort Collins, CO', - 1970490 => 'Fort Collins, CO', - 1970491 => 'Fort Collins, CO', - 1970493 => 'Fort Collins, CO', - 1970494 => 'Fort Collins, CO', - 1970495 => 'Fort Collins, CO', - 1970498 => 'Fort Collins, CO', + 197049 => 'Fort Collins, CO', 1970506 => 'Greeley, CO', 1970521 => 'Sterling, CO', 1970522 => 'Sterling, CO', @@ -4200,14 +3718,7 @@ return array ( 1972245 => 'Carrollton, TX', 1972247 => 'Dallas, TX', 1972248 => 'Dallas, TX', - 1972252 => 'Irving, TX', - 1972253 => 'Irving, TX', - 1972254 => 'Irving, TX', - 1972255 => 'Irving, TX', - 1972256 => 'Irving, TX', - 1972257 => 'Irving, TX', - 1972258 => 'Irving, TX', - 1972259 => 'Irving, TX', + 197225 => 'Irving, TX', 1972262 => 'Grand Prairie, TX', 1972263 => 'Grand Prairie, TX', 1972264 => 'Grand Prairie, TX', @@ -4560,12 +4071,7 @@ return array ( 1973663 => 'Lake Hopatcong, NJ', 1973667 => 'Nutley, NJ', 1973669 => 'West Orange, NJ', - 1973672 => 'East Orange, NJ', - 1973673 => 'East Orange, NJ', - 1973674 => 'East Orange, NJ', - 1973675 => 'East Orange, NJ', - 1973676 => 'East Orange, NJ', - 1973678 => 'East Orange, NJ', + 197367 => 'East Orange, NJ', 1973680 => 'Bloomfield, NJ', 1973684 => 'Paterson, NJ', 1973686 => 'Wayne, NJ', @@ -4793,12 +4299,7 @@ return array ( 1979567 => 'Caldwell, TX', 1979578 => 'El Campo, TX', 1979596 => 'Somerville, TX', - 1979690 => 'College Station, TX', - 1979691 => 'College Station, TX', - 1979693 => 'College Station, TX', - 1979694 => 'College Station, TX', - 1979695 => 'College Station, TX', - 1979696 => 'College Station, TX', + 197969 => 'College Station, TX', 1979703 => 'Bryan, TX', 1979725 => 'Weimar, TX', 1979731 => 'Bryan, TX', @@ -5008,12 +4509,7 @@ return array ( 1989781 => 'Saginaw, MI', 1989785 => 'Atlanta, MI', 1989786 => 'Lewiston, MI', - 1989790 => 'Saginaw, MI', - 1989791 => 'Saginaw, MI', - 1989792 => 'Saginaw, MI', - 1989793 => 'Saginaw, MI', - 1989797 => 'Saginaw, MI', - 1989799 => 'Saginaw, MI', + 198979 => 'Saginaw, MI', 1989821 => 'Roscommon, MI', 1989823 => 'Vassar, MI', 1989826 => 'Mio, MI', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php index 55852dcb0..60b7565e6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/212.php @@ -13,15 +13,7 @@ return array ( 212520 => 'Casablanca', 212521 => 'Casablanca/Central Morocco', - 2125220 => 'Casablanca', - 2125222 => 'Casablanca', - 2125223 => 'Casablanca', - 2125224 => 'Casablanca', - 2125225 => 'Casablanca', - 2125226 => 'Casablanca', - 2125227 => 'Casablanca', - 2125228 => 'Casablanca', - 2125229 => 'Casablanca', + 212522 => 'Casablanca', 2125232 => 'Mohammedia', 2125233 => 'El Jedida/Mohammedia', 2125234 => 'Settai', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/218.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/218.php index 0efb59c4f..54c78fa06 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/218.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/218.php @@ -29,5 +29,5 @@ return array ( 218629 => 'Elmagrun', 21863 => 'Benina', 21867 => 'Elmareg', - 21871 => 'Sebha', + 2187 => 'Sebha', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/220.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/220.php index e02dfaab8..3ca2bdc36 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/220.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/220.php @@ -13,17 +13,20 @@ return array ( 22042 => 'Banjul', 22043 => 'Bundung/Serekunda', - 220441 => 'Sanyang', 2204410 => 'Brufut', 2204412 => 'Tanji', + 2204414 => 'Sanyang', 2204416 => 'Tujereng', 2204417 => 'Sanyang', 2204419 => 'Kartong', 22044195 => 'Berending', 220446 => 'Kotu/Senegambia', 220447 => 'Yundum', - 220448 => 'Brikama/Kanilia', 2204480 => 'Bondali', + 2204481 => 'Brikama/Kanilia', + 2204482 => 'Brikama/Kanilia', + 2204483 => 'Brikama/Kanilia', + 2204484 => 'Brikama/Kanilia', 2204485 => 'Kafuta', 2204486 => 'Gunjur', 2204487 => 'Faraba', @@ -52,5 +55,5 @@ return array ( 2205725 => 'Iliasa', 2205735 => 'Farafenni', 2205738 => 'Ngensanjal', - 2205748 => 'Kaur', + 220574 => 'Kaur', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/223.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/223.php index a1bb34ca2..e7aa0c8a9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/223.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/223.php @@ -21,8 +21,7 @@ return array ( 2232076 => 'Bamako', 2232077 => 'Bamako', 2232078 => 'Bamako', - 2232126 => 'Koulikoro', - 2232127 => 'Koulikoro', + 223212 => 'Koulikoro', 223214 => 'Mopti', 223215 => 'Kayes', 223216 => 'Sikasso', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/224.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/224.php index a3b312b48..68d78fff5 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/224.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/224.php @@ -11,7 +11,7 @@ */ return array ( - 2243024 => 'Fria', + 224302 => 'Fria', 2243031 => 'Boké', 2243032 => 'Kamsar', 2243041 => 'Conakry', @@ -26,8 +26,8 @@ return array ( 22430613 => 'Télimélé', 2243068 => 'Mamou', 2243069 => 'Dalaba', - 2243071 => 'Kankan', - 2243081 => 'Faranah', + 224307 => 'Kankan', + 224308 => 'Faranah', 2243091 => 'N\'Zérékoré', 2243094 => 'Macenta', 2243097 => 'Guéckédou', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/226.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/226.php index 9098747f6..7e8de46d4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/226.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/226.php @@ -11,7 +11,7 @@ */ return array ( - 2262049 => 'Kaya', + 226204 => 'Kaya', 2262052 => 'Dédougou', 2262053 => 'Boromo/Djibasso/Nouna', 2262090 => 'Gaoua', @@ -31,14 +31,8 @@ return array ( 2262477 => 'Fada/Diabo', 2262479 => 'Kantchari', 226253 => 'Ouagadougou', + 226254 => 'Ouagadougou', 2262540 => 'Pô/Kombissiri/Koubri', 2262541 => 'Léo/Sapouy', - 2262542 => 'Ouagadougou', - 2262543 => 'Ouagadougou', 2262544 => 'Koudougou', - 2262545 => 'Ouagadougou', - 2262546 => 'Ouagadougou', - 2262547 => 'Ouagadougou', - 2262548 => 'Ouagadougou', - 2262549 => 'Ouagadougou', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/227.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/227.php index 1757101b0..d00caa532 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/227.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/227.php @@ -11,14 +11,8 @@ */ return array ( - 2272020 => 'Niamey', - 2272031 => 'Niamey', - 2272032 => 'Niamey', - 2272033 => 'Niamey', - 2272034 => 'Niamey', - 2272035 => 'Niamey', - 2272036 => 'Niamey', - 2272037 => 'Niamey', + 227202 => 'Niamey', + 227203 => 'Niamey', 2272041 => 'Maradi', 2272044 => 'Agadez', 2272045 => 'Arlit', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/230.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/230.php index 3af8dbc75..3da3f26e4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/230.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/230.php @@ -14,7 +14,6 @@ return array ( 2302 => 'North Region', 2304 => 'Central Region', 2306 => 'South Region', - 230814 => 'Agalega', + 23081 => 'Agalega', 23083 => 'Rodrigues', - 23087 => 'Rodrigues', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/233.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/233.php index f0c7c2e5a..6dd46f449 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/233.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/233.php @@ -68,7 +68,6 @@ return array ( 2333624 => 'Kete-Krachi', 2333625 => 'Denu/Aflao', 2333626 => 'Keta/Akatsi', - 2333627 => 'Hohoe', 233367 => 'Volta Region', 233368 => 'Volta Region', 2333720 => 'Tamale', @@ -85,7 +84,7 @@ return array ( 2333822 => 'Bawku', 233387 => 'Upper East Region', 233388 => 'Upper East Region', - 2333920 => 'Wa', + 233392 => 'Wa', 233397 => 'Upper West Region', 233398 => 'Upper West Region', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/240.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/240.php index 2ab298121..b52c0a17f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/240.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/240.php @@ -71,53 +71,33 @@ return array ( 24033286 => 'Continental Region', 24033294 => 'Bioko', 24033296 => 'Continental Region', - 24033304 => 'Bioko', - 24033306 => 'Continental Region', 24033307 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033308 => 'Litoral/Annobón', 24033309 => 'Bioko', - 24033314 => 'Bioko', - 24033316 => 'Continental Region', 24033317 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033318 => 'Litoral/Annobón', 24033319 => 'Bioko', - 24033324 => 'Bioko', - 24033326 => 'Continental Region', 24033327 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033328 => 'Litoral/Annobón', 24033329 => 'Bioko', - 24033334 => 'Bioko', - 24033336 => 'Continental Region', 24033337 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033338 => 'Litoral/Annobón', 24033339 => 'Bioko', - 24033344 => 'Bioko', - 24033346 => 'Continental Region', 24033347 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033348 => 'Litoral/Annobón', 24033349 => 'Bioko', - 24033354 => 'Bioko', - 24033356 => 'Continental Region', 24033357 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033358 => 'Litoral/Annobón', 24033359 => 'Bioko', - 24033364 => 'Bioko', - 24033366 => 'Continental Region', 24033367 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033368 => 'Litoral/Annobón', 24033369 => 'Bioko', - 24033374 => 'Bioko', - 24033376 => 'Continental Region', 24033377 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033378 => 'Litoral/Annobón', 24033379 => 'Bioko', - 24033384 => 'Bioko', - 24033386 => 'Continental Region', 24033387 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033388 => 'Litoral/Annobón', 24033389 => 'Bioko', - 24033394 => 'Bioko', - 24033396 => 'Continental Region', 24033397 => 'Centro-Sur/Kié-Ntem/Wele-Nzás', 24033398 => 'Litoral/Annobón', 24033399 => 'Bioko', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/244.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/244.php index a4b0a7ec5..1a9bc0c24 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/244.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/244.php @@ -16,8 +16,12 @@ return array ( 244232 => 'Zaire', 2442321 => 'Soyo', 244233 => 'Uige', - 244234 => 'Bengo', + 2442342 => 'Bengo', + 2442345 => 'Bengo', + 2442346 => 'Bengo', + 2442347 => 'Bengo', 2442348 => 'Caxito', + 2442349 => 'Bengo', 244235 => 'Cuanza Norte', 2442358 => 'N\'Dalatando', 244236 => 'Cuanza Sul', @@ -32,14 +36,25 @@ return array ( 244252 => 'Lunda Norte', 2442524 => 'Lucapa', 2442526 => 'Dundo', - 244253 => 'Lunda Sul', + 2442532 => 'Lunda Sul', 2442535 => 'Saurimo', - 244254 => 'Moxico', + 2442536 => 'Lunda Sul', + 2442537 => 'Lunda Sul', + 2442538 => 'Lunda Sul', + 2442539 => 'Lunda Sul', + 2442542 => 'Moxico', + 2442545 => 'Moxico', 2442546 => 'Luena', - 244261 => 'Huila', + 2442547 => 'Moxico', + 2442548 => 'Moxico', + 2442549 => 'Moxico', 2442612 => 'Lubango', + 2442615 => 'Huila', + 2442616 => 'Huila', + 2442617 => 'Huila', + 2442618 => 'Huila', + 2442619 => 'Huila', 244264 => 'Namibe', - 2442643 => 'Tombua', 244265 => 'Cunene', 2442652 => 'Kuroka', 2442655 => 'Ondjiva', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/247.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/247.php index 711a269ac..a691970d2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/247.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/247.php @@ -11,13 +11,9 @@ */ return array ( - 2471 => 'Georgetown', - 2472 => 'U.S. Base', - 2473 => 'Travellers Hill', - 2474 => 'Two Boats', - 2475 => 'Georgetown', - 2476 => 'Georgetown', - 2477 => 'Georgetown', - 2478 => 'Georgetown', - 2479 => 'Georgetown', + 24762 => 'US Base', + 24763 => 'Travellers Hill & Airhead', + 24764 => 'Two Boats', + 24766 => 'Georgetown', + 24767 => 'Georgetown', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/249.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/249.php index ef13c93c4..b7d76a8dc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/249.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/249.php @@ -11,15 +11,5 @@ */ return array ( - 24911 => 'Omdurman', - 24921 => 'Atbara', 249183 => 'Khartoum', - 24931 => 'Port Sudan', - 24941 => 'Kassala', - 249441 => 'Jedaraf', - 24951 => 'Wadmedai', - 24961 => 'Sennar', - 249616 => 'Shetnzi', - 24971 => 'Kosti', - 24981 => 'Al-Ubayyid', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/251.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/251.php index ff6b1822d..963f0273f 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/251.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/251.php @@ -31,7 +31,7 @@ return array ( 251111860 => 'Sululta, Addis Ababa', 25111187 => 'Goha Tsion, Addis Ababa', 25111188 => 'Chancho, Addis Ababa', - 25111213 => 'Addis Ketema I, Addis Ababa', + 2511121 => 'Addis Ketema I, Addis Ababa', 25111236 => 'Hagere Hiwot, Addis Ababa', 25111237 => 'Holeta Gent, Addis Ababa', 25111238 => 'Jeldu, Addis Ababa', @@ -80,13 +80,13 @@ return array ( 25111515 => 'Filwoha II, Addis Ababa', 25111517 => 'Sheraton/DID, Addis Ababa', 25111518 => 'Addis Ababa Region', - 25111544 => 'ECA, Addis Ababa', + 2511154 => 'ECA, Addis Ababa', 25111550 => 'Filwoha IV, Addis Ababa', 25111551 => 'Filwoha III, Addis Ababa', 25111552 => 'Filwha VI, Addis Ababa', 25111553 => 'Filwha V, Addis Ababa', 25111554 => 'Filwha VII, Addis Ababa', - 25111618 => 'Bole I, Addis Ababa', + 2511161 => 'Bole I, Addis Ababa', 25111626 => 'Bole Michael, Addis Ababa', 25111629 => 'Gerji, Addis Ababa', 25111645 => 'Yeka I, Addis Ababa', @@ -146,6 +146,37 @@ return array ( 25122665 => 'Robe, South-East Region', 25122666 => 'Dodolla, South-East Region', 25122668 => 'Dolomena, South-East Region', + 25125111 => 'Dire Dawa I, East Region', + 25125112 => 'Dire Dawa II, East Region', + 25125114 => 'Shinile, East Region', + 25125115 => 'Artshek, East Region', + 25125116 => 'Melka Jeldu, East Region', + 25125332 => 'Bedeno, East Region', + 25125333 => 'Deder, East Region', + 25125334 => 'Grawa, East Region', + 25125335 => 'Chelenko, East Region', + 25125336 => 'Kersa, East Region', + 25125337 => 'Kobo, East Region', + 25125338 => 'Kombolocha, East Region', + 25125441 => 'Hirna, East Region', + 25125444 => 'Miesso, East Region', + 25125446 => 'Erer, East Region', + 25125447 => 'Hurso, East Region', + 25125551 => 'Asebe Teferi, East Region', + 25125554 => 'Assebot, East Region', + 25125661 => 'Alemaya, East Region', + 25125662 => 'Aweday, East Region', + 25125666 => 'Harar I, East Region', + 25125667 => 'Harar II, East Region', + 25125669 => 'Kebribeyah, East Region', + 25125771 => 'Degahabur, East Region', + 25125772 => 'Gursum, East Region', + 25125774 => 'Kabri Dehar, East Region', + 25125775 => 'Jigiga, East Region', + 25125776 => 'Godie, East Region', + 25125777 => 'Teferi Ber, East Region', + 25125779 => 'Chinagson, East Region', + 251258 => 'Kelafo, East Region', 25133110 => 'Kabe, North-East Region', 25133111 => 'Dessie I, North-East Region', 25133112 => 'Dessie II, North-East Region', @@ -207,47 +238,6 @@ return array ( 25134773 => 'Edaga-Hamus, North Region', 25134774 => 'Alemata, North Region', 25134775 => 'Axum, North Region', - 25125111 => 'Dire Dawa I, East Region', - 25125112 => 'Dire Dawa II, East Region', - 25125114 => 'Shinile, East Region', - 25125115 => 'Artshek, East Region', - 25125116 => 'Melka Jeldu, East Region', - 25125332 => 'Bedeno, East Region', - 25125333 => 'Deder, East Region', - 25125334 => 'Grawa, East Region', - 25125335 => 'Chelenko, East Region', - 25125336 => 'Kersa, East Region', - 25125337 => 'Kobo, East Region', - 25125338 => 'Kombolocha, East Region', - 25125441 => 'Hirna, East Region', - 25125444 => 'Miesso, East Region', - 25125446 => 'Erer, East Region', - 25125447 => 'Hurso, East Region', - 25125551 => 'Asebe Teferi, East Region', - 25125554 => 'Assebot, East Region', - 25125661 => 'Alemaya, East Region', - 25125662 => 'Aweday, East Region', - 25125665 => 'Babile, East Region', - 25125666 => 'Harar I, East Region', - 25125667 => 'Harar II, East Region', - 25125669 => 'Kebribeyah, East Region', - 25125771 => 'Degahabur, East Region', - 25125772 => 'Gursum, East Region', - 25125774 => 'Kabri Dehar, East Region', - 25125775 => 'Jigiga, East Region', - 25125776 => 'Godie, East Region', - 25125777 => 'Teferi Ber, East Region', - 25125779 => 'Chinagson, East Region', - 25125880 => 'Kelafo, East Region', - 25146110 => 'Shashamane I, South Region', - 25146111 => 'Shashamane II, South Region', - 25146112 => 'Kofele, South Region', - 25146114 => 'Wondo Kela, South Region', - 25146115 => 'Butajira, South Region', - 25146116 => 'Arsi Negele, South Region', - 25146117 => 'Adame Tulu, South Region', - 25146118 => 'Kuyera, South Region', - 25146119 => 'Shasemene, South Region', 25146220 => 'Awassa I, South Region', 25146221 => 'Awassa II, South Region', 25146222 => 'Wonda Basha, South Region', @@ -272,10 +262,7 @@ return array ( 25146556 => 'Alaba Kulito, South Region', 25146558 => 'Enseno, South Region', 25146559 => 'Boditi, South Region', - 25146660 => 'Kebado, South Region', - 25146771 => 'Werabe, South Region', - 25146774 => 'Gidole, South Region', - 25146777 => 'Sawla, South Region', + 251466 => 'Kebado, South Region', 25146881 => 'Arba Minch, South Region', 25146882 => 'Kibet, South Region', 25146883 => 'Buii, South Region', @@ -315,7 +302,7 @@ return array ( 25147556 => 'Tepi, South-West Region', 25147558 => 'Macha, South-West Region', 25147559 => 'Abebo, South-West Region', - 25157227 => 'Ghedo, West Region', + 251572 => 'Ghedo, West Region', 25157550 => 'Ejaji, West Region', 25157555 => 'Dembidolo, West Region', 25157661 => 'Nekemte, West Region', @@ -357,7 +344,7 @@ return array ( 25158446 => 'Worota, North-West Region', 25158447 => 'Mekane-Eyesus, North-West Region', 25158448 => 'Teda, North-West Region', - 25158550 => 'Pawe, North-West Region', + 251585 => 'Pawe, North-West Region', 25158661 => 'Motta, North-West Region', 25158662 => 'Keraniyo, North-West Region', 25158663 => 'Debre-work, North-West Region', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/252.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/252.php index 8b4dd4f02..494df3866 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/252.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/252.php @@ -14,6 +14,5 @@ return array ( 2521 => 'Mogadishu', 2523 => 'Hargeisa', 2524 => 'Garowe', - 25251 => 'Mangauno', 25261 => 'Mogadishu', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/254.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/254.php index 194ce83dd..e9c38e690 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/254.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/254.php @@ -11,7 +11,7 @@ */ return array ( - 25420 => 'Nairobi', + 2542 => 'Nairobi', 25440 => 'Kwale/Ukunda/Msambweni/Lungalunga', 25441 => 'Mombasa/Mariakani/Kilifi', 25442 => 'Malindi/Lamu/Garsen', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/258.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/258.php index 6d4597dc9..09f474eb9 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/258.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/258.php @@ -21,5 +21,5 @@ return array ( 258272 => 'Pemba', 258281 => 'Chokwe', 258282 => 'Xai-Xai', - 258293 => 'Inhambane', + 25829 => 'Inhambane', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/263.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/263.php index e439b8505..60c634362 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/263.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/263.php @@ -18,10 +18,14 @@ return array ( 26317 => 'Filabusi', 26318 => 'Dete', 26319 => 'Plumtree', + 2632020 => 'Mutare', + 26320200 => 'Odzi', + 2632021 => 'Dangamvura', + 2632024 => 'Penhalonga', 263204 => 'Odzi', 263205 => 'Pengalonga', 263206 => 'Mutare', - 26321 => 'Murambinda', + 263212 => 'Murambinda', 263213 => 'Victoria Falls', 263219 => 'Plumtree', 263220201 => 'Chikanga/Mutare', @@ -33,20 +37,36 @@ return array ( 263227 => 'Chipinge', 263228 => 'Hauna', 263229 => 'Juliasdale', - 263231 => 'Chiredzi', - 26324 => 'Chipangayi', + 26323 => 'Chiredzi', + 263242 => 'Harare', + 2632421 => 'Chitungwiza', + 26324213 => 'Ruwa', + 26324214 => 'Arcturus', + 26324215 => 'Norton', + 263242150 => 'Beatrice', 263248 => 'Birchenough Bridge', 26325 => 'Rusape', 263251 => 'Zvishavane', + 263252055 => 'Nyazura', + 26325206 => 'Murambinda', + 26325207 => 'Headlands', 263254 => 'Gweru', 2632582 => 'Headlands', 2632583 => 'Nyazura', 26326 => 'Chimanimani', 263261 => 'Kariba', + 26326208 => 'Juliasdale', + 26326209 => 'Hauna', + 263262098 => 'Nyanga', 263264 => 'Karoi', 263270 => 'Chitungwiza', 263271 => 'Bindura', 263272 => 'Mutoko', + 26327203 => 'Birchenough Bridge', + 26327204 => 'Chipinge', + 263272046 => 'Chipangayi', + 26327205 => 'Chimanimani', + 263272317 => 'Checheche', 263273 => 'Ruwa', 263274 => 'Arcturus', 263275219 => 'Mazowe', @@ -74,13 +94,22 @@ return array ( 263288 => 'Esigodini', 263289 => 'Jotsholo', 26329 => 'Bulawayo', - 263292320 => 'Bulawayo', - 263292321 => 'Bulawayo', 26329246 => 'Bellevue', 26329252 => 'Luveve', + 263292800 => 'Esigodini', + 263292802 => 'Shangani', + 263292803 => 'Turkmine', + 263292804 => 'Figtree', + 263292807 => 'Kezi', + 263292809 => 'Matopos', + 263292821 => 'Nyamandlovu', + 263292861 => 'Tsholotsho', 26330 => 'Gutu', 263308 => 'Chatsworth', 26331 => 'Chiredzi', + 26331233 => 'Triangle', + 263312337 => 'Rutenga', + 263312370 => 'Ngundu', 263317 => 'Checheche', 26332 => 'Mvuma', 263329 => 'Nyanga', @@ -97,6 +126,15 @@ return array ( 263383 => 'Matopose', 263387 => 'Nyamandhlovu', 26339 => 'Masvingo', + 26339230 => 'Gutu', + 263392308 => 'Chatsworth', + 263392323 => 'Nyika', + 26339234 => 'Jerera', + 26339235 => 'Zvishavane', + 263392360 => 'Mberengwa', + 263392366 => 'Mataga', + 263392380 => 'Nyaningwe', + 26339245 => 'Mashava', 263398 => 'Lupane', 2634 => 'Harare', 263420085 => 'Selous', @@ -105,12 +143,7 @@ return array ( 263420088 => 'Selous', 263420089 => 'Selous', 26342009 => 'Selous', - 263420100 => 'Selous', - 263420101 => 'Selous', - 263420102 => 'Selous', - 263420103 => 'Selous', - 263420104 => 'Selous', - 263420105 => 'Selous', + 26342010 => 'Selous', 263420106 => 'Norton', 263420107 => 'Norton', 263420108 => 'Norton', @@ -121,14 +154,24 @@ return array ( 26342728 => 'Marondera', 26342729 => 'Marondera', 26350 => 'Shanagani', - 26351 => 'Zvishavane', + 263512 => 'Zvishavane', + 263513 => 'Zvishavane', + 263514 => 'Zvishavane', 263517 => 'Mataga', 263518 => 'Mberengwa', 26352 => 'Shurugwi', 26353 => 'Chegutu', 26354 => 'Gweru', + 26354212 => 'Chivhu', + 26354252 => 'Shurugwi', + 263542532 => 'Mvuma', + 263542548 => 'Lalapanzi', 2635483 => 'Lalapanzi', 26355 => 'Kwekwe', + 2635525 => 'Battle Fields/Kwekwe/Redcliff', + 263552557 => 'Munyati', + 263552558 => 'Nkayi', + 26355259 => 'Gokwe', 263557 => 'Munyati', 263558 => 'Nkayi', 26356 => 'Chivhu', @@ -137,22 +180,59 @@ return array ( 26359 => 'Gokwe', 26360 => 'Mhangura', 26361 => 'Kariba', + 263612140 => 'Chirundu', + 263612141 => 'Makuti', + 26361215 => 'Karoi', 26362 => 'Norton', 263628 => 'Selous', 26363 => 'Makuti', 263637 => 'Chirundu', 26364 => 'Karoi', 26365 => 'Beatrice', + 26365208 => 'Wedza', + 263652080 => 'Macheke', + 2636521 => 'Murewa', + 26365213 => 'Mutoko', + 2636523 => 'Marondera', 26366 => 'Banket', + 26366210 => 'Bindura/Centenary', + 26366212 => 'Mount Darwin', + 263662137 => 'Shamva', + 26366216 => 'Mvurwi', + 26366217 => 'Guruve', + 26366218 => 'Glendale', + 26366219 => 'Christon Bank/Concession/Mazowe', 263667 => 'Raffingora', 263668 => 'Mutorashanga', 26367 => 'Chinhoyi', + 263672136 => 'Trelawney', + 26367214 => 'Banket/Mhangura', + 26367215 => 'Murombedzi', + 263672192 => 'Darwendale', + 263672196 => 'Mutorashanga', + 263672198 => 'Raffingora', 263675 => 'Murombedzi', 26368 => 'Kadoma', + 2636821 => 'Kadoma/Selous', + 26368215 => 'Chegutu', + 26368216 => 'Sanyati', + 263682189 => 'Chakari', 263687 => 'Sanyati', 263688 => 'Chakari', 26369 => 'Darwendale', 263698 => 'Trelawney', + 2638128 => 'Baobab/Hwange', + 263812835 => 'Dete', + 263812847 => 'Binga', + 263812856 => 'Lupane', + 263812875 => 'Jotsholo', + 26383 => 'Victoria Falls', + 2638428 => 'Gwanda', + 263842801 => 'Filabusi', + 263842808 => 'West Nicholson', + 263842835 => 'Collen Bawn', + 26385 => 'BeitBridge', + 26389280 => 'Plumtree', 2639 => 'Bulawayo', 263920 => 'Northend', 263921 => 'Northend', @@ -167,14 +247,7 @@ return array ( 263946 => 'Bellevue', 263947 => 'Bellevue', 263948 => 'Nkulumane', - 2639490 => 'Nkulumane', - 2639491 => 'Nkulumane', - 2639492 => 'Nkulumane', - 2639493 => 'Nkulumane', - 2639494 => 'Nkulumane', - 2639495 => 'Nkulumane', - 2639496 => 'Nkulumane', - 2639497 => 'Nkulumane', + 263949 => 'Nkulumane', 263952 => 'Luveve', 263956 => 'Luveve', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/264.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/264.php index 87bb00732..06792ca1d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/264.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/264.php @@ -136,9 +136,9 @@ return array ( 264625721 => 'Friedental', 264625722 => 'Hochland', 264625723 => 'Many Hills', + 26462573 => 'Dordabis', 264625731 => 'Nina', 264625733 => 'Nouas', - 26462573 => 'Dordabis', 26462577 => 'Gobabis', 264625800 => 'Epukiro', 264625801 => 'Epukiro', @@ -465,8 +465,8 @@ return array ( 264645317 => 'Usakos', 264645318 => 'Usakos', 264645319 => 'Usakos', - 264645508 => 'Tsaobis/Karibib', 26464550 => 'Karibib', + 264645508 => 'Tsaobis/Karibib', 26464551 => 'Otjimbingwe', 264645520 => 'Karibib', 264645521 => 'Karibib', @@ -566,16 +566,8 @@ return array ( 264651781 => 'Tsandi', 264651782 => 'Tsandi', 264651783 => 'Warmquelle', + 2646520 => 'Oshakati', 26465200 => 'Ombalantu', - 26465201 => 'Oshakati', - 26465202 => 'Oshakati', - 26465203 => 'Oshakati', - 26465204 => 'Oshakati', - 26465205 => 'Oshakati', - 26465206 => 'Oshakati', - 26465207 => 'Oshakati', - 26465208 => 'Oshakati', - 26465209 => 'Oshakati', 26465220 => 'Oshakati', 26465221 => 'Oshakati', 26465222 => 'Oshakati', @@ -736,16 +728,8 @@ return array ( 264652725 => 'Oshifo', 264652728 => 'Opuwo', 264652729 => 'Opuwo', - 264652730 => 'Opuwo', - 264652731 => 'Opuwo', - 264652732 => 'Opuwo', - 264652733 => 'Opuwo', - 264652734 => 'Opuwo', - 264652735 => 'Opuwo', - 264652737 => 'Opuwo', - 264652738 => 'Opuwo', - 264652739 => 'Opuwo', - 26465273 => 'Otjerunda', + 26465273 => 'Opuwo', + 264652736 => 'Otjerunda', 264652740 => 'Ehomba', 264652741 => 'Sodalite', 264652742 => 'Panosa', @@ -940,7 +924,7 @@ return array ( 264672296 => 'Etosha Rurtel/Ongava', 264672297 => 'Etosha Rurtel', 264672298 => 'Etosha Rurtel/Okaukuejo', - 26467229 => 'Mokuti', + 264672299 => 'Mokuti', 26467230 => 'Oshivello', 264672310 => 'Kombat', 264672311 => 'Kombat', @@ -1020,13 +1004,20 @@ return array ( 264673323 => 'Sorris-Sorris', 264673324 => 'Sorris-Sorris', 264673325 => 'Sorris-Sorris', - 26467332 => 'Kamanjab', + 264673326 => 'Kamanjab', + 264673327 => 'Kamanjab', + 264673328 => 'Kamanjab', + 264673329 => 'Kamanjab', 264673330 => 'Anker', + 264673331 => 'Kamanjab', 264673332 => 'Biermanskool', 264673333 => 'Biermanskool', 264673334 => 'Toshari', 264673335 => 'Toshari', - 26467333 => 'Kamanjab', + 264673336 => 'Kamanjab', + 264673337 => 'Kamanjab', + 264673338 => 'Kamanjab', + 264673339 => 'Kamanjab', 26467334 => 'Kamanjab', 26467335 => 'Kamanjab/Khorixas', 26467697 => 'North', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/267.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/267.php index a7bf1b040..4a126bae8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/267.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/267.php @@ -11,20 +11,9 @@ */ return array ( - 267240 => 'Francistown', - 267241 => 'Francistown', - 267242 => 'Francistown', - 267243 => 'Francistown', - 267244 => 'Francistown', - 267248 => 'Francistown', - 267260 => 'Selebi-Phikwe', - 267261 => 'Selebi-Phikwe', - 267262 => 'Selebi-Phikwe', - 267264 => 'Selebi-Phikwe', - 267290 => 'Letlhakane/Orapa', - 267295 => 'Letlhakane/Orapa', - 267297 => 'Letlhakane/Orapa', - 267298 => 'Letlhakane/Orapa', + 26724 => 'Francistown', + 26726 => 'Selebi-Phikwe', + 26729 => 'Letlhakane/Orapa', 267310 => 'Gaborone (outer)', 267312 => 'Gaborone', 267313 => 'Gaborone', @@ -33,10 +22,9 @@ return array ( 267317 => 'Gaborone', 267318 => 'Gaborone', 267319 => 'Gaborone', - 267355 => 'Gaborone', + 26735 => 'Gaborone', 26736 => 'Gaborone', - 267370 => 'Gaborone', - 267371 => 'Gaborone', + 26737 => 'Gaborone', 267390 => 'Gaborone', 267391 => 'Gaborone', 267392 => 'Gaborone', @@ -44,46 +32,20 @@ return array ( 267394 => 'Gaborone', 267395 => 'Gaborone', 267397 => 'Gaborone', - 267460 => 'Serowe', - 267463 => 'Serowe', - 267471 => 'Mahalapye', - 267472 => 'Mahalapye', - 267476 => 'Mahalapye', - 267477 => 'Mahalapye', - 267490 => 'Palapye', - 267491 => 'Palapye', - 267492 => 'Palapye', - 267493 => 'Palapye', - 267494 => 'Palapye', - 267495 => 'Palapye', + 26746 => 'Serowe', + 26747 => 'Mahalapye', + 26749 => 'Palapye', 267530 => 'Lobatse', 267533 => 'Lobatse', 267538 => 'Ramotswa', 267539 => 'Ramotswa', - 267540 => 'Barolong/Ngwaketse', - 267544 => 'Barolong/Ngwaketse', - 267548 => 'Barolong/Ngwaketse', - 267549 => 'Barolong/Ngwaketse', - 267571 => 'Mochudi', - 267572 => 'Mochudi', - 267573 => 'Mochudi', - 267574 => 'Mochudi', - 267577 => 'Mochudi', - 267588 => 'Jwaneng', - 267590 => 'Molepolole', - 267591 => 'Molepolole', - 267592 => 'Molepolole', - 267593 => 'Molepolole', - 267594 => 'Molepolole', - 267599 => 'Molepolole', - 267621 => 'Kasane', - 267622 => 'Kasane', - 267623 => 'Kasane', - 267625 => 'Kasane', + 26754 => 'Barolong/Ngwaketse', + 26757 => 'Mochudi', + 26758 => 'Jwaneng', + 26759 => 'Molepolole', + 26762 => 'Kasane', 267651 => 'Kgalagadi', 267654 => 'Kgalagadi', 267659 => 'Gantsi', - 267680 => 'Maun', - 267686 => 'Maun', - 267687 => 'Maun', + 26768 => 'Maun', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php index 803617775..6d742e93e 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/33.php @@ -336,16 +336,9 @@ return array ( 3314193 => 'Vincennes', 3314194 => 'Créteil', 3314195 => 'Fontenay-sous-Bois', - 3314200 => 'Paris', - 3314201 => 'Paris', - 3314202 => 'Paris', - 3314203 => 'Paris', + 331420 => 'Paris', 3314204 => 'Suresnes', - 3314205 => 'Paris', - 3314206 => 'Paris', 3314207 => 'Créteil', - 3314208 => 'Paris', - 3314209 => 'Paris', 3314211 => 'Villejuif', 3314212 => 'Paris', 3314215 => 'Paris', @@ -369,16 +362,8 @@ return array ( 3314246 => 'Paris', 3314247 => 'Paris', 3314249 => 'Paris', - 3314250 => 'Paris', - 3314251 => 'Paris', - 3314252 => 'Paris', + 331425 => 'Paris', 3314253 => 'Montrouge', - 3314254 => 'Paris', - 3314255 => 'Paris', - 3314256 => 'Paris', - 3314257 => 'Paris', - 3314258 => 'Paris', - 3314259 => 'Paris', 331426 => 'Paris', 3314270 => 'Clichy', 3314271 => 'Paris', @@ -389,16 +374,9 @@ return array ( 3314277 => 'Paris', 3314278 => 'Paris', 3314279 => 'Paris', - 3314280 => 'Paris', - 3314281 => 'Paris', - 3314282 => 'Paris', + 331428 => 'Paris', 3314283 => 'Saint-Maur-des-Fossés', - 3314284 => 'Paris', - 3314285 => 'Paris', - 3314286 => 'Paris', 3314287 => 'Montreuil', - 3314288 => 'Paris', - 3314289 => 'Paris', 331429 => 'Paris', 3314300 => 'Neuilly-Plaisance', 3314301 => 'Gagny', @@ -436,16 +414,11 @@ return array ( 3314338 => 'Paris', 3314339 => 'Créteil', 331434 => 'Paris', + 331435 => 'Paris', 3314350 => 'Sceaux', 3314351 => 'Montfermeil', 3314352 => 'Aubervilliers', 3314353 => 'Alfortville', - 3314354 => 'Paris', - 3314355 => 'Paris', - 3314356 => 'Paris', - 3314357 => 'Paris', - 3314358 => 'Paris', - 3314359 => 'Paris', 3314360 => 'Bagnolet', 3314361 => 'Paris', 3314362 => 'Bagnolet', @@ -483,15 +456,9 @@ return array ( 3314398 => 'Vincennes', 3314399 => 'Créteil', 33144 => 'Paris', - 3314500 => 'Paris', - 3314501 => 'Paris', - 3314502 => 'Paris', - 3314503 => 'Paris', - 3314504 => 'Paris', - 3314505 => 'Paris', + 331450 => 'Paris', 3314506 => 'Suresnes', 3314507 => 'Meudon', - 3314508 => 'Paris', 3314509 => 'Montfermeil', 3314510 => 'Boissy-Saint-Léger', 3314511 => 'Saint-Maur-des-Fossés', @@ -501,36 +468,17 @@ return array ( 3314516 => 'Champigny-sur-Marne', 3314517 => 'Créteil', 3314518 => 'Maisons-Alfort', - 3314520 => 'Paris', + 331452 => 'Paris', 3314521 => 'Ivry-sur-Seine', - 3314522 => 'Paris', - 3314523 => 'Paris', - 3314524 => 'Paris', - 3314525 => 'Paris', - 3314526 => 'Paris', - 3314527 => 'Paris', 3314528 => 'Rosny-Sous-Bois', 3314529 => 'Issy-les-Moulineaux', - 3314530 => 'Paris', - 3314531 => 'Paris', - 3314532 => 'Paris', - 3314533 => 'Paris', + 331453 => 'Paris', 3314534 => 'Meudon', - 3314535 => 'Paris', 3314536 => 'Bagneux', 3314537 => 'Clamart', - 3314538 => 'Paris', - 3314539 => 'Paris', - 3314540 => 'Paris', - 3314541 => 'Paris', - 3314542 => 'Paris', - 3314543 => 'Paris', - 3314544 => 'Paris', - 3314545 => 'Paris', + 331454 => 'Paris', 3314546 => 'Cachan', 3314547 => 'Cachan', - 3314548 => 'Paris', - 3314549 => 'Paris', 331455 => 'Paris', 3314560 => 'Rungis Complexe', 3314561 => 'Paris', @@ -540,16 +488,9 @@ return array ( 3314566 => 'Paris', 3314567 => 'Paris', 3314569 => 'Boissy-Saint-Léger', - 3314570 => 'Paris', - 3314571 => 'Paris', - 3314572 => 'Paris', + 331457 => 'Paris', 3314573 => 'Vitry-sur-Seine', - 3314574 => 'Paris', - 3314575 => 'Paris', 3314576 => 'Chennevières-sur-Marne', - 3314577 => 'Paris', - 3314578 => 'Paris', - 3314579 => 'Paris', 331458 => 'Paris', 3314590 => 'Sucy-en-Brie', 3314591 => 'Le Blanc Mesnil', @@ -724,14 +665,8 @@ return array ( 3314797 => 'Paris', 3314798 => 'Gennevilliers', 3314799 => 'Gennevilliers', - 3314800 => 'Paris', - 3314801 => 'Paris', + 331480 => 'Paris', 3314802 => 'Bondy', - 3314803 => 'Paris', - 3314804 => 'Paris', - 3314805 => 'Paris', - 3314806 => 'Paris', - 3314807 => 'Paris', 3314808 => 'Vincennes', 3314809 => 'Saint-Denis', 3314811 => 'Aubervilliers', @@ -894,16 +829,8 @@ return array ( 3315357 => 'Paris', 3315358 => 'Paris', 3315359 => 'Paris', - 3315360 => 'Paris', - 3315361 => 'Paris', - 3315362 => 'Paris', - 3315363 => 'Paris', - 3315364 => 'Paris', - 3315365 => 'Paris', + 331536 => 'Paris', 3315366 => 'Vincennes', - 3315367 => 'Paris', - 3315368 => 'Paris', - 3315369 => 'Paris', 331537 => 'Paris', 331538 => 'Paris', 331539 => 'Paris', @@ -1447,16 +1374,8 @@ return array ( 3323536 => 'Canteleu', 3323537 => 'Duclair', 3323538 => 'Lillebonne', + 332354 => 'Le Havre', 3323540 => 'Dieppe', - 3323541 => 'Le Havre', - 3323542 => 'Le Havre', - 3323543 => 'Le Havre', - 3323544 => 'Le Havre', - 3323545 => 'Le Havre', - 3323546 => 'Le Havre', - 3323547 => 'Le Havre', - 3323548 => 'Le Havre', - 3323549 => 'Le Havre', 3323550 => 'Eu', 3323551 => 'Le Havre', 3323552 => 'Rouen', @@ -2177,16 +2096,9 @@ return array ( 3329837 => 'Plabennec', 3329838 => 'Ploudalmézeau', 3329839 => 'Bannalec', + 332984 => 'Brest', 3329840 => 'Plougastel-Daoulas', - 3329841 => 'Brest', - 3329842 => 'Brest', - 3329843 => 'Brest', - 3329844 => 'Brest', - 3329845 => 'Brest', - 3329846 => 'Brest', - 3329847 => 'Brest', 3329848 => 'Ploudalmézeau', - 3329849 => 'Brest', 3329850 => 'Concarneau', 3329851 => 'Fouesnant', 3329852 => 'Quimper', @@ -2847,16 +2759,11 @@ return array ( 3338046 => 'Quetigny', 3338048 => 'Quetigny', 3338049 => 'Dijon', - 3338050 => 'Dijon', + 333805 => 'Dijon', 3338051 => 'Chenôve', 3338052 => 'Chenôve', - 3338053 => 'Dijon', - 3338054 => 'Dijon', - 3338055 => 'Dijon', 3338056 => 'Fontaine-lès-Dijon', 3338057 => 'Talant', - 3338058 => 'Dijon', - 3338059 => 'Dijon', 3338060 => 'Dijon', 3338061 => 'Nuits-Saint-Georges', 3338062 => 'Nuits-Saint-Georges', @@ -3134,16 +3041,8 @@ return array ( 3338727 => 'Sarreguemines', 3338728 => 'Sarreguemines', 3338729 => 'Saint-Avold', - 3338730 => 'Metz', - 3338731 => 'Metz', - 3338732 => 'Metz', - 3338733 => 'Metz', - 3338734 => 'Metz', - 3338735 => 'Metz', - 3338736 => 'Metz', - 3338737 => 'Metz', + 333873 => 'Metz', 3338738 => 'Augny', - 3338739 => 'Metz', 3338750 => 'Metz', 3338751 => 'Maizières-lès-Metz', 3338753 => 'Amanvillers', @@ -3199,26 +3098,11 @@ return array ( 3338816 => 'Strasbourg', 3338818 => 'Schiltigheim', 3338819 => 'Schiltigheim', + 333882 => 'Strasbourg', 3338820 => 'Souffelweyersheim', - 3338821 => 'Strasbourg', - 3338822 => 'Strasbourg', - 3338823 => 'Strasbourg', - 3338824 => 'Strasbourg', - 3338825 => 'Strasbourg', - 3338826 => 'Strasbourg', - 3338827 => 'Strasbourg', - 3338828 => 'Strasbourg', - 3338829 => 'Strasbourg', - 3338830 => 'Strasbourg', - 3338831 => 'Strasbourg', - 3338832 => 'Strasbourg', + 333883 => 'Strasbourg', 3338833 => 'Schiltigheim', - 3338834 => 'Strasbourg', - 3338835 => 'Strasbourg', - 3338836 => 'Strasbourg', - 3338837 => 'Strasbourg', 3338838 => 'Molsheim', - 3338839 => 'Strasbourg', 333884 => 'Strasbourg', 3338851 => 'Brumath', 3338852 => 'Strasbourg', @@ -3474,16 +3358,9 @@ return array ( 3344287 => 'Rognac', 3344288 => 'Marignane', 3344289 => 'Vitrolles', - 3344290 => 'Aix-en-Provence', - 3344291 => 'Aix-en-Provence', - 3344292 => 'Aix-en-Provence', - 3344293 => 'Aix-en-Provence', + 334429 => 'Aix-en-Provence', 3344294 => 'Bouc-Bel-air', - 3344295 => 'Aix-en-Provence', - 3344296 => 'Aix-en-Provence', - 3344297 => 'Aix-en-Provence', 3344298 => 'La Ciotat', - 3344299 => 'Aix-en-Provence', 3345001 => 'Rumilly', 3345002 => 'Thônes', 3345003 => 'La Roche sur Foron', @@ -3562,16 +3439,11 @@ return array ( 3346603 => 'Uzès', 3346604 => 'Nîmes', 3346605 => 'Nîmes', + 334662 => 'Nîmes', 3346620 => 'Bouillargues', - 3346621 => 'Nîmes', 3346622 => 'Uzès', - 3346623 => 'Nîmes', 3346624 => 'Saint-Ambroix', 3346625 => 'Bessèges', - 3346626 => 'Nîmes', - 3346627 => 'Nîmes', - 3346628 => 'Nîmes', - 3346629 => 'Nîmes', 3346630 => 'Alès', 3346631 => 'Saint-Chély-d\'Apcher', 3346632 => 'Marvejols', @@ -3666,16 +3538,9 @@ return array ( 3346756 => 'La Grande Motte', 3346757 => 'Gignac', 3346758 => 'Montpellier', - 3346760 => 'Montpellier', - 3346761 => 'Montpellier', + 334676 => 'Montpellier', 3346762 => 'Béziers', - 3346763 => 'Montpellier', - 3346764 => 'Montpellier', - 3346765 => 'Montpellier', - 3346766 => 'Montpellier', - 3346767 => 'Montpellier', 3346768 => 'Palavas-les-Flots', - 3346769 => 'Montpellier', 3346771 => 'Lunel', 3346772 => 'Montpellier', 3346773 => 'Ganges', @@ -3728,13 +3593,8 @@ return array ( 3346847 => 'Carcassonne', 3346848 => 'Sigean', 3346849 => 'Gruissan', - 3346850 => 'Perpignan', - 3346851 => 'Perpignan', - 3346852 => 'Perpignan', + 334685 => 'Perpignan', 3346853 => 'Thuir', - 3346854 => 'Perpignan', - 3346855 => 'Perpignan', - 3346856 => 'Perpignan', 3346857 => 'Millas', 3346858 => 'Narbonne', 3346859 => 'Saint-Paul-de-Fenouillet', @@ -3872,15 +3732,7 @@ return array ( 3347267 => 'Saint-Genis-Laval', 3347268 => 'Lyon', 3347269 => 'Lyon', - 3347270 => 'Lyon', - 3347271 => 'Lyon', - 3347272 => 'Lyon', - 3347273 => 'Lyon', - 3347274 => 'Lyon', - 3347275 => 'Lyon', - 3347276 => 'Lyon', - 3347277 => 'Lyon', - 3347278 => 'Lyon', + 334727 => 'Lyon', 3347279 => 'Saint-Priest', 3347280 => 'Lyon', 3347281 => 'Bron', @@ -4257,15 +4109,9 @@ return array ( 3347867 => 'Saint-Fons', 3347868 => 'Villeurbanne', 3347869 => 'Lyon', + 334787 => 'Lyon', 3347870 => 'Saint-Fons', - 3347871 => 'Lyon', - 3347872 => 'Lyon', 3347873 => 'Givors', - 3347874 => 'Lyon', - 3347875 => 'Lyon', - 3347876 => 'Lyon', - 3347877 => 'Lyon', - 3347878 => 'Lyon', 3347879 => 'Vaulx-en-Velin', 3347880 => 'Vaulx-en-Velin', 3347883 => 'Lyon', @@ -4429,16 +4275,8 @@ return array ( 3349077 => 'Cucuron', 3349078 => 'Cavaillon', 3349079 => 'Pertuis', - 3349080 => 'Avignon', - 3349081 => 'Avignon', - 3349082 => 'Avignon', + 334908 => 'Avignon', 3349083 => 'Sorgues', - 3349084 => 'Avignon', - 3349085 => 'Avignon', - 3349086 => 'Avignon', - 3349087 => 'Avignon', - 3349088 => 'Avignon', - 3349089 => 'Avignon', 3349090 => 'Châteaurenard', 3349091 => 'Tarascon', 3349092 => 'Saint-Rémy-de-Provence', @@ -4461,16 +4299,8 @@ return array ( 334913 => 'Marseille', 334914 => 'Marseille', 334915 => 'Marseille', - 3349160 => 'Marseille', - 3349161 => 'Marseille', - 3349162 => 'Marseille', - 3349163 => 'Marseille', - 3349164 => 'Marseille', - 3349165 => 'Marseille', - 3349166 => 'Marseille', - 3349167 => 'Marseille', + 334916 => 'Marseille', 3349168 => 'Allauch', - 3349169 => 'Marseille', 334917 => 'Marseille', 334918 => 'Marseille', 334919 => 'Marseille', @@ -5145,16 +4975,9 @@ return array ( 3355687 => 'Villenave-d\'Ornon', 3355688 => 'Salles', 3355689 => 'Gradignan', - 3355690 => 'Bordeaux', - 3355691 => 'Bordeaux', - 3355692 => 'Bordeaux', - 3355693 => 'Bordeaux', - 3355694 => 'Bordeaux', + 335569 => 'Bordeaux', 3355695 => 'Blanquefort', - 3355696 => 'Bordeaux', 3355697 => 'Merignac', - 3355698 => 'Bordeaux', - 3355699 => 'Bordeaux', 3355701 => 'Bordeaux', 3355710 => 'Bordeaux', 3355712 => 'Gradignan', @@ -5331,16 +5154,10 @@ return array ( 3356136 => 'Toulouse', 3356139 => 'Saint-Orens-de-Gameville', 335614 => 'Toulouse', + 335615 => 'Toulouse', 3356150 => 'Auterive', 3356151 => 'Muret', - 3356152 => 'Toulouse', - 3356153 => 'Toulouse', - 3356154 => 'Toulouse', - 3356155 => 'Toulouse', 3356156 => 'Muret', - 3356157 => 'Toulouse', - 3356158 => 'Toulouse', - 3356159 => 'Toulouse', 3356160 => 'Pamiers', 3356161 => 'Toulouse', 3356162 => 'Toulouse', @@ -5577,14 +5394,9 @@ return array ( 3359667 => 'Gros-Morne', 3359668 => 'Rivière-Salée', 3359669 => 'Sainte Marie', - 3359670 => 'Fort de France', - 3359671 => 'Fort de France', - 3359672 => 'Fort de France', - 3359673 => 'Fort de France', + 335967 => 'Fort de France', 3359674 => 'Le Vauclin', - 3359675 => 'Fort de France', 3359676 => 'Sainte-Anne', 3359677 => 'Ducos', 3359678 => 'Basse-Pointe', - 3359679 => 'Fort de France', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/352.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/352.php index 64af9f8af..70120ed21 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/352.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/352.php @@ -11,14 +11,17 @@ */ return array ( - 35221 => 'Weicherdange', 35222 => 'Luxembourg City', 35223 => 'Mondorf-les-Bains/Bascharage/Noerdange/Remich', - 35224 => 'Luxembourg', + 352240 => 'Luxembourg', + 352241 => 'Luxembourg', + 3522420 => 'Luxembourg', 3522421 => 'Weicherdange', 3522422 => 'Luxembourg City', 3522423 => 'Mondorf-les-Bains/Bascharage/Noerdange/Remich', + 3522424 => 'Luxembourg', 3522425 => 'Luxembourg', + 3522426 => 'Luxembourg', 3522427 => 'Belair, Luxembourg', 3522428 => 'Luxembourg City', 3522429 => 'Luxembourg/Kockelscheuer', @@ -30,11 +33,15 @@ return array ( 3522435 => 'Sandweiler/Moutfort/Roodt-sur-Syre', 3522436 => 'Hesperange/Kockelscheuer/Roeser', 3522437 => 'Leudelange/Ehlange/Mondercange', + 3522438 => 'Luxembourg', 3522439 => 'Windhof/Steinfort', 3522440 => 'Howald', + 3522441 => 'Luxembourg', 3522442 => 'Plateau de Kirchberg', 3522443 => 'Findel/Kirchberg', + 3522444 => 'Luxembourg', 3522445 => 'Diedrich', + 3522446 => 'Luxembourg', 3522447 => 'Lintgen', 3522448 => 'Contern/Foetz', 3522449 => 'Howald', @@ -48,22 +55,29 @@ return array ( 3522457 => 'Esch-sur-Alzette/Schifflange', 3522458 => 'Soleuvre/Differdange', 3522459 => 'Soleuvre', + 352246 => 'Luxembourg', 3522467 => 'Dudelange', + 3522470 => 'Luxembourg', 3522471 => 'Betzdorf', 3522472 => 'Echternach', 3522473 => 'Rosport', 3522474 => 'Wasserbillig', 3522475 => 'Grevenmacher-sur-Moselle', 3522476 => 'Wormeldange', + 3522477 => 'Luxembourg', 3522478 => 'Junglinster', 3522479 => 'Berdorf/Consdorf', 3522480 => 'Diekirch', 3522481 => 'Ettelbruck/Reckange-sur-Mess', + 3522482 => 'Luxembourg', 3522483 => 'Vianden', 3522484 => 'Han/Lesse', 3522485 => 'Bissen/Roost', + 3522486 => 'Luxembourg', 3522487 => 'Larochette', 3522488 => 'Mertzig/Wahl', + 3522489 => 'Luxembourg', + 352249 => 'Luxembourg', 3522492 => 'Clervaux/Fischbach/Hosingen', 3522495 => 'Wiltz', 3522497 => 'Huldange', @@ -186,11 +200,13 @@ return array ( 35236 => 'Hesperange/Kockelscheuer/Roeser', 35237 => 'Leudelange/Ehlange/Mondercange', 35239 => 'Windhof/Steinfort', - 3524 => 'Luxembourg City', 35240 => 'Howald', + 35241 => 'Luxembourg City', 35242 => 'Plateau de Kirchberg', 35243 => 'Findel/Kirchberg', + 35244 => 'Luxembourg City', 35245 => 'Diedrich', + 35246 => 'Luxembourg City', 35247 => 'Lintgen', 35248 => 'Contern/Foetz', 35249 => 'Howald', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/355.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/355.php index d6d803dde..6881dd279 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/355.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/355.php @@ -99,7 +99,11 @@ return array ( 355396 => 'Shushicë/Armen, Vlorë', 355397 => 'Vllahinë/Kote, Vlorë', 355398 => 'Sevaster/Brataj/Hore-Vranisht, Vlorë', - 3554 => 'Tirana', + 35542 => 'Tirana', + 35543 => 'Tirana', + 35544 => 'Tirana', + 35545 => 'Tirana', + 35546 => 'Tirana', 35547 => 'Kamëz/Vorë/Paskuqan/Zall-Herr/Burxullë/Prezë, Tiranë', 35548 => 'Kashar/Vaqar/Ndroq/Pezë/Farkë/Dajt, Tiranë', 35549 => 'Petrelë/Baldushk/Bërzhitë/Krrabë/Shengjergj/Zall-Bastar, Tiranë', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/358.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/358.php index fc1a97188..d896a98ab 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/358.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/358.php @@ -57,12 +57,5 @@ return array ( 35886 => 'Oulu', 35887 => 'Oulu', 35888 => 'Oulu', - 35891 => 'Helsinki', - 35892 => 'Helsinki', - 35893 => 'Helsinki', - 35894 => 'Helsinki', - 35895 => 'Helsinki', - 35896 => 'Helsinki', - 35897 => 'Helsinki', - 35898 => 'Helsinki', + 3589 => 'Helsinki', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/359.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/359.php index 1ab975ad5..680f85c0d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/359.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/359.php @@ -36,8 +36,12 @@ return array ( 3593038 => 'Chokmanovo', 3593039 => 'Polkovnik Serafimovo', 3593040 => 'Trigrad', - 3593041 => 'Devin', 35930410 => 'Breze, Smol.', + 35930411 => 'Devin', + 35930412 => 'Devin', + 35930413 => 'Devin', + 35930414 => 'Devin', + 35930415 => 'Devin', 35930416 => 'Gyovren', 35930417 => 'Grohotno', 35930418 => 'Buynovo, Smol.', @@ -468,7 +472,9 @@ return array ( 3594107 => 'Sredets, St. Zagora', 3594108 => 'Vasil Levski, St. Zagora', 3594109 => 'Trakia', - 3594111 => 'Starozagorski bani', + 35941110 => 'Starozagorski bani', + 35941111 => 'Starozagorski bani', + 35941112 => 'Starozagorski bani', 35941113 => 'Pryaporets, St. Zagora', 35941114 => 'Lozen, St. Zagora', 35941115 => 'Borilovo', @@ -1152,16 +1158,18 @@ return array ( 3596147 => 'Ivancha, V. Tarnovo', 3596148 => 'Pavel', 3596149 => 'Kutsina', - 359615 => 'Zlataritsa', + 3596150 => 'Zlataritsa', 35961502 => 'Gorsko Novo Selo', 35961503 => 'Chakali', 3596151 => 'Elena, V. Tarnovo', 3596152 => 'Bebrovo', + 3596153 => 'Zlataritsa', 3596154 => 'Buynovtsi', 3596155 => 'Konstantin', 3596156 => 'Rodina', 3596157 => 'Slivovitsa', 3596158 => 'Sredni kolibi', + 3596159 => 'Zlataritsa', 35961602 => 'Tsarski izvor', 35961603 => 'Lozen, V. Tarnovo', 35961604 => 'Mirovo, V. Tarnovo', @@ -1206,9 +1214,9 @@ return array ( 3596328 => 'Oresh', 3596329 => 'Tsarevets, V. Tarnovo', 3596352 => 'Dolni Lukovit', - 3596356 => 'Komarevo, Pleven', 35963560 => 'Radishevo', 35963561 => 'Grivitsa', + 35963562 => 'Komarevo, Pleven', 35963563 => 'Borislav', 35963564 => 'Bivolare', 35963565 => 'Mechka, Pleven', @@ -1216,9 +1224,9 @@ return array ( 35963567 => 'Gradina, Pleven', 35963568 => 'Bukovlak', 35963569 => 'Kamenets, Pleven', - 3596357 => 'Yasen, Pleven', 35963570 => 'Staroseltsi', 35963571 => 'Brestovets', + 35963572 => 'Yasen, Pleven', 35963573 => 'Disevitsa', 35963574 => 'Todorovo, Pleven', 35963575 => 'Bohot', @@ -1301,9 +1309,13 @@ return array ( 3596577 => 'Breste', 3596578 => 'Reselets', 3596579 => 'Ruptsi, Pleven', - 359658 => 'Belene', 3596580 => 'Tatari', 3596581 => 'Byala voda, Pleven', + 3596582 => 'Belene', + 3596583 => 'Belene', + 3596584 => 'Belene', + 3596585 => 'Belene', + 3596586 => 'Belene', 3596587 => 'Petokladentsi', 3596588 => 'Dekov', 3596589 => 'Kulina voda', @@ -1845,7 +1857,10 @@ return array ( 35984778 => 'Bogdantsi, Razgrad', 35984779 => 'Zdravets, Razgrad', 359848 => 'Kubrat', - 35986 => 'Silistra', + 359860 => 'Silistra', + 359861 => 'Silistra', + 3598620 => 'Silistra', + 3598621 => 'Silistra', 3598622 => 'Alekovo, Silistra', 3598623 => 'Golesh, Silistra', 3598624 => 'Kalipetrovo', @@ -1854,6 +1869,8 @@ return array ( 3598627 => 'Babuk', 3598628 => 'Tsar Asen, Silistra', 3598629 => 'Smilets, Silistra', + 3598630 => 'Silistra', + 3598631 => 'Silistra', 3598632 => 'Zafirovo', 3598633 => 'Staro selo, Silistra', 3598634 => 'Nova Cherna', @@ -1862,9 +1879,9 @@ return array ( 3598637 => 'Malak Preslavets', 3598638 => 'Bogdantsi, Silistra', 3598639 => 'Kolarovo, Silistra', - 359864 => 'Dulovo', 3598640 => 'Pravda, Silistra', 3598641 => 'Okorsh', + 3598642 => 'Dulovo', 3598643 => 'Zlatoklas', 3598644 => 'Chernolik', 3598645 => 'Mezhden', @@ -1872,14 +1889,19 @@ return array ( 3598647 => 'Paisievo', 3598648 => 'Sekulovo', 3598649 => 'Yarebitsa', - 359866 => 'Tutrakan', + 359865 => 'Silistra', + 3598660 => 'Tutrakan', + 3598661 => 'Tutrakan', 3598662 => 'Dobrotitsa, Silistra', 3598663 => 'Sitovo, Silistra', 3598664 => 'Polyana, Silistra', 3598665 => 'Iskra, Silistra', + 3598666 => 'Tutrakan', 3598667 => 'Belitsa, Silistra', 3598668 => 'Popina', 3598669 => 'Garvan, Silistra', + 3598670 => 'Silistra', + 3598671 => 'Silistra', 3598672 => 'Bradvari', 3598673 => 'Alfatar', 3598674 => 'Profesor Ishirkovo', @@ -1888,6 +1910,9 @@ return array ( 3598677 => 'Srebarna', 3598678 => 'Sratsimir, Silistra', 3598679 => 'Kaynardzha', + 359868 => 'Silistra', + 3598690 => 'Silistra', + 3598691 => 'Silistra', 3598692 => 'Stefan Karadzha, Silistra', 3598693 => 'Zvenimir', 3598694 => 'Zebil', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/370.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/370.php index 29be10740..1d570db9d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/370.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/370.php @@ -56,6 +56,6 @@ return array ( 37046 => 'Klaipėda', 370460 => 'Palanga', 370469 => 'Neringa', - 3705 => 'Vilnius', + 37052 => 'Vilnius', 370528 => 'Elektrėnai/Trakai', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/373.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/373.php index d3a724515..71f177a75 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/373.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/373.php @@ -51,7 +51,7 @@ return array ( 373297 => 'Basarabeasca', 373298 => 'Comrat', 373299 => 'Cahul', - 373533 => 'Tiraspol', + 37353 => 'Tiraspol', 373552 => 'Bender', 373555 => 'Ribnita', 373557 => 'Slobozia', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/374.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/374.php index d1be4190f..89fcca6eb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/374.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/374.php @@ -14,24 +14,28 @@ return array ( 37410 => 'Yerevan/Jrvezh', 37411 => 'Yerevan', 37412 => 'Yerevan', - 374222 => 'Abovyan/Akunk/Byureghavan/Nor Gyugh/Verin Ptghni, Kotayk', + 3742220 => 'Abovyan/Akunk/Byureghavan/Nor Gyugh/Verin Ptghni, Kotayk', + 3742221 => 'Abovyan/Akunk/Byureghavan/Nor Gyugh/Verin Ptghni, Kotayk', 3742222 => 'Abovyan, Kotayk', 3742223 => 'Abovyan, Kotayk', 3742224 => 'Abovyan, Kotayk', 3742225 => 'Abovyan/Arzni/Arinj/Geghashen, Kotayk', 3742226 => 'Abovyan, Kotayk', 3742227 => 'Garni/Abovyan, Kotayk', + 3742228 => 'Abovyan/Akunk/Byureghavan/Nor Gyugh/Verin Ptghni, Kotayk', 37422281 => 'Abovyan/Arzni/Arinj/Geghashen, Kotayk', - 3742229 => 'Zovk/Abovyan, Kotayk', 37422290 => 'Mayakovsky, Kotayk', 37422291 => 'Balahovit/Kamaris, Kotayk', + 37422292 => 'Zovk/Abovyan, Kotayk', 37422293 => 'Aramus, Kotayk', 37422294 => 'Arzni, Kotayk', + 37422295 => 'Zovk/Abovyan, Kotayk', 37422296 => 'Ptghni, Kotayk', 37422297 => 'Geghashen, Kotayk', 37422298 => 'Arinj, Kotayk', 37422299 => 'Kotayk', - 374223 => 'Hankavan/Hrazdan/Tsaghkadzor, Kotayk', + 3742230 => 'Hankavan/Hrazdan/Tsaghkadzor, Kotayk', + 3742231 => 'Hankavan/Hrazdan/Tsaghkadzor, Kotayk', 3742232 => 'Hrazdan, Kotayk', 3742233 => 'Hrazdan, Kotayk', 3742234 => 'Hrazdan, Kotayk', @@ -47,6 +51,7 @@ return array ( 37422377 => 'Tsaghkadzor, Kotayk', 37422378 => 'Tsaghkadzor, Kotayk', 37422379 => 'Tsaghkadzor, Kotayk', + 3742238 => 'Hankavan/Hrazdan/Tsaghkadzor, Kotayk', 374223810 => 'Hrazdan, Kotayk', 374223811 => 'Hrazdan, Kotayk', 374223812 => 'Hrazdan, Kotayk', @@ -57,13 +62,18 @@ return array ( 374223817 => 'Tsaghkadzor, Kotayk', 374223818 => 'Tsaghkadzor, Kotayk', 374223819 => 'Tsaghkadzor, Kotayk', - 3742239 => 'Hrazdan, Kotayk', + 37422390 => 'Hrazdan, Kotayk', 37422391 => 'Lernanist, Kotayk', + 37422392 => 'Hrazdan, Kotayk', 37422393 => 'Meghradzor, Kotayk', 37422394 => 'Pyunik, Kotayk', + 37422395 => 'Hrazdan, Kotayk', + 37422396 => 'Hrazdan, Kotayk', 37422397 => 'Solak, Kotayk', 37422398 => 'Bjni, Kotayk', - 374224 => 'Kanakeravan/Nor Geghi/Nor Hajn/Yeghvard, Kotayk', + 37422399 => 'Hrazdan, Kotayk', + 3742240 => 'Kanakeravan/Nor Geghi/Nor Hajn/Yeghvard, Kotayk', + 3742241 => 'Kanakeravan/Nor Geghi/Nor Hajn/Yeghvard, Kotayk', 3742242 => 'Yeghvard, Kotayk', 3742243 => 'Yeghvard, Kotayk', 3742244 => 'Nor Hajn, Kotayk', @@ -73,6 +83,7 @@ return array ( 37422454 => 'Argel, Kotayk', 3742246 => 'Yeghvard, Kotayk', 3742247 => 'Yeghvard/Nor Hajn, Kotayk', + 3742248 => 'Kanakeravan/Nor Geghi/Nor Hajn/Yeghvard, Kotayk', 374224810 => 'Yeghvard, Kotayk', 374224811 => 'Yeghvard, Kotayk', 374224812 => 'Yeghvard, Kotayk', @@ -87,52 +98,60 @@ return array ( 374226 => 'Charentsavan, Kotayk', 37422672 => 'Arzakan, Kotayk', 37422675 => 'Alapars/Vardanavank, Kotayk', - 374231 => 'Echmiadzin/Musaler/Parakar/Zvartnots, Armavir', + 3742310 => 'Echmiadzin/Musaler/Parakar/Zvartnots, Armavir', + 3742311 => 'Echmiadzin/Musaler/Parakar/Zvartnots, Armavir', 3742312 => 'Echmiadzin, Armavir', 3742313 => 'Zvartnots, Armavir', 3742314 => 'Echmiadzin, Armavir', 3742315 => 'Echmiadzin, Armavir', 3742316 => 'Echmiadzin, Armavir', 3742317 => 'Zvartnots, Armavir', - 374231810 => 'Echmiadzin, Armavir', - 374231811 => 'Echmiadzin, Armavir', - 374231812 => 'Echmiadzin, Armavir', - 374231813 => 'Echmiadzin, Armavir', - 374231814 => 'Echmiadzin, Armavir', - 374231815 => 'Echmiadzin, Armavir', - 374231816 => 'Echmiadzin, Armavir', + 3742318 => 'Echmiadzin/Musaler/Parakar/Zvartnots, Armavir', + 37423181 => 'Echmiadzin, Armavir', 374231817 => 'Zvartnots, Armavir', 374231818 => 'Zvartnots, Armavir', 374231819 => 'Zvartnots, Armavir', - 3742319 => 'Echmiadzin, Armavir', 37423190 => 'Baghramyan, Armavir', 37423191 => 'Vache, Armavir', + 37423192 => 'Echmiadzin, Armavir', + 37423193 => 'Echmiadzin, Armavir', + 37423194 => 'Echmiadzin, Armavir', 37423195 => 'Norakert, Armavir', + 37423196 => 'Echmiadzin, Armavir', + 37423197 => 'Echmiadzin, Armavir', 37423198 => 'Jrarat, Armavir', 37423199 => 'Khoronk, Armavir', - 374232 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', + 3742320 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', + 3742321 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', 3742322 => 'Ashtarak, Aragatsotn', 3742323 => 'Ashtarak, Aragatsotn', 3742324 => 'Ashtarak/Byurakan/Ohanavan, Aragatsotn', + 3742325 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', 3742326 => 'Ashtarak, Aragatsotn', + 3742327 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', + 3742328 => 'Aghdzq/Ashtarak/Karbi/Oshakan, Aragatsotn', 37423281 => 'Ashtarak/Byurakan/Ohanavan, Aragatsotn', 3742329 => 'Ashtarak, Aragatsotn', 37423290 => 'Ohanavan, Aragatsotn', 37423294 => 'Byurakan, Aragatsotn', - 374233 => 'Baghramyan/Lernagog, Armavir', + 3742330 => 'Baghramyan/Lernagog, Armavir', + 3742331 => 'Baghramyan/Lernagog, Armavir', 3742332 => 'Baghramyan, Armavir', 3742333 => 'Baghramyan/Myasnikyan, Armavir', + 3742334 => 'Baghramyan/Lernagog, Armavir', + 3742335 => 'Baghramyan/Lernagog, Armavir', 3742336 => 'Baghramyan, Armavir', 3742337 => 'Baghramyan, Armavir', 37423374 => 'Myasnikyan, Armavir', 37423375 => 'Karakert, Armavir', 37423376 => 'Dalarik, Armavir', + 3742338 => 'Baghramyan/Lernagog, Armavir', 37423381 => 'Baghramyan/Myasnikyan, Armavir', 3742339 => 'Baghramyan, Armavir', - 374234 => 'Ararat/Vedi/Vosketap, Ararat', - 3742342 => 'Ararat/Vedi, Ararat', - 3742343 => 'Ararat/Vedi, Ararat', - 3742344 => 'Ararat/Vedi, Ararat', + 374234 => 'Ararat/Vedi, Ararat', + 3742340 => 'Ararat/Vedi/Vosketap, Ararat', + 3742341 => 'Ararat/Vedi/Vosketap, Ararat', + 3742345 => 'Ararat/Vedi/Vosketap, Ararat', 374234510 => 'Vedi, Ararat', 374234511 => 'Vedi, Ararat', 374234512 => 'Vedi, Ararat', @@ -143,7 +162,6 @@ return array ( 374234517 => 'Ararat/Urtsadzor, Ararat', 374234518 => 'Ararat/Urtsadzor, Ararat', 374234519 => 'Ararat/Urtsadzor, Ararat', - 3742346 => 'Ararat/Vedi, Ararat', 37423470 => 'Vedi, Ararat', 37423471 => 'Vedi, Ararat', 37423472 => 'Vedi, Ararat', @@ -154,80 +172,82 @@ return array ( 37423477 => 'Ararat/Urtsadzor, Ararat', 37423478 => 'Ararat/Urtsadzor, Ararat', 37423479 => 'Ararat/Urtsadzor, Ararat', - 3742348 => 'Ararat/Vedi, Ararat', 37423481 => 'Aygavan, Ararat', 37423486 => 'Urtsadzor, Ararat', - 3742349 => 'Ararat/Vedi, Ararat', 37423492 => 'Martirosyan, Ararat', 37423497 => 'Pokr Vedi, Ararat', 37423498 => 'Taperakan, Ararat', - 374235 => 'Artashat/Aygezard/Dalar/Kaghtsrashen/Mkhchyan/Shahumyan, Ararat', + 3742350 => 'Artashat/Aygezard/Dalar/Kaghtsrashen/Mkhchyan/Shahumyan, Ararat', + 3742351 => 'Artashat/Aygezard/Dalar/Kaghtsrashen/Mkhchyan/Shahumyan, Ararat', 3742352 => 'Artashat, Ararat', 3742353 => 'Artashat/Norashen, Ararat', + 3742354 => 'Artashat/Aygezard/Dalar/Kaghtsrashen/Mkhchyan/Shahumyan, Ararat', 3742355 => 'Artashat, Ararat', 3742356 => 'Artashat, Ararat', 3742357 => 'Artashat, Ararat', 37423572 => 'Arevshat, Ararat', + 3742358 => 'Artashat/Aygezard/Dalar/Kaghtsrashen/Mkhchyan/Shahumyan, Ararat', 37423581 => 'Artashat/Norashen, Ararat', 3742359 => 'Artashat/Norashen, Ararat', 37423592 => 'Norashen, Ararat', 37423593 => 'Norashen, Ararat', - 374236 => 'Ayntap/Masis/Nor Kharberd/Norabats, Ararat', + 3742360 => 'Ayntap/Masis/Nor Kharberd/Norabats, Ararat', + 3742361 => 'Ayntap/Masis/Nor Kharberd/Norabats, Ararat', 3742362 => 'Masis, Ararat', 3742363 => 'Ayntap/Masis, Ararat', 3742364 => 'Masis, Ararat', 3742365 => 'Masis, Ararat', 3742366 => 'Masis, Ararat', + 3742367 => 'Ayntap/Masis/Nor Kharberd/Norabats, Ararat', + 3742368 => 'Ayntap/Masis/Nor Kharberd/Norabats, Ararat', 37423681 => 'Masis, Ararat', 3742369 => 'Masis, Ararat', 37423699 => 'Dashtavan, Ararat', - 374237 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', + 3742370 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', + 3742371 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', 3742372 => 'Armavir', 3742373 => 'Metsamor, Armavir', - 37423740 => 'Armavir', - 37423741 => 'Armavir', - 37423742 => 'Armavir', - 37423743 => 'Armavir', - 37423744 => 'Armavir', - 37423745 => 'Armavir', - 37423746 => 'Armavir', + 3742374 => 'Armavir', + 37423747 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', + 37423748 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', + 37423749 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', 3742375 => 'Armavir', 3742376 => 'Armavir', 3742377 => 'Armavir/Mrgashat', 37423771 => 'Armavir', 37423772 => 'Mrgashat, Armavir', 37423779 => 'Bambakashat, Armavir', - 374237810 => 'Armavir', - 374237811 => 'Armavir', - 374237812 => 'Armavir', - 374237813 => 'Armavir', - 374237814 => 'Armavir', - 374237815 => 'Armavir', - 374237816 => 'Armavir', + 3742378 => 'Araks/Armavir/Hoktember/Lenughi/Metsamor/Zartonk, Armavir', + 37423781 => 'Armavir', 3742379 => 'Armavir/Nalbandian', 37423792 => 'Nalbandian, Armavir', 37423794 => 'Margara, Armavir', 37423796 => 'Tandzut, Armavir', 37423798 => 'Shenavan, Armavir', 374238 => 'Ararat/Avshar/Surenavan/Yeraskh', - 374242 => 'Maralik/Sarnaghbyur, Shirak', + 3742420 => 'Maralik/Sarnaghbyur, Shirak', + 3742421 => 'Maralik/Sarnaghbyur, Shirak', 3742422 => 'Maralik, Shirak', 3742423 => 'Maralik, Shirak', 37424231 => 'Sarnaghbyur, Shirak', 3742424 => 'Maralik, Shirak', 3742425 => 'Maralik/Sarnaghbyur, Shirak', 3742426 => 'Maralik, Shirak', - 37424281 => 'Maralik/Sarnaghbyur, Shirak', + 3742427 => 'Maralik/Sarnaghbyur, Shirak', + 3742428 => 'Maralik/Sarnaghbyur, Shirak', 3742429 => 'Maralik, Shirak', 37424293 => 'Shirakavan, Shirak', 37424297 => 'Ani Kayaran, Shirak', 37424300 => 'Akhuryan/Arapi/Kamo/Musayelyan, Shirak', - 374244 => 'Artik/Pemzashen, Shirak', + 3742440 => 'Artik/Pemzashen, Shirak', + 3742441 => 'Artik/Pemzashen, Shirak', 3742442 => 'Artik, Shirak', 3742443 => 'Artik, Shirak', 3742444 => 'Artik/Panik, Shirak', 3742445 => 'Artik, Shirak', 3742446 => 'Artik, Shirak', + 3742447 => 'Artik/Pemzashen, Shirak', + 3742448 => 'Artik/Pemzashen, Shirak', 37424481 => 'Artik/Panik, Shirak', 3742449 => 'Artik, Shirak', 37424492 => 'Panik, Shirak', @@ -236,11 +256,7 @@ return array ( 374245 => 'Ashotsk, Shirak', 374246 => 'Amasia, Shirak', 374249 => 'Talin, Aragatsotn', - 3742492 => 'Talin, Aragatsotn', - 3742493 => 'Talin, Aragatsotn', 3742494 => 'Talin/Aragats/Katnaghbyur/Mastara, Aragatsotn', - 3742496 => 'Talin, Aragatsotn', - 3742497 => 'Talin, Aragatsotn', 37424973 => 'Katnaghbyur, Aragatsotn', 37424981 => 'Talin/Aragats/Katnaghbyur/Mastara, Aragatsotn', 3742499 => 'Aragatsavan/Talin, Aragatsotn', @@ -248,16 +264,13 @@ return array ( 37424996 => 'Nerkin Bazmaberd, Aragatsotn', 37424997 => 'Mastara, Aragatsotn', 374252 => 'Aparan, Aragatsotn', - 3742522 => 'Aparan, Aragatsotn', - 3742523 => 'Aparan, Aragatsotn', 3742524 => 'Aparan/Artavan/Kuchak, Aragatsotn', 37425251 => 'Kuchak, Aragatsotn', - 3742526 => 'Aparan, Aragatsotn', 37425281 => 'Aparan/Artavan/Kuchak, Aragatsotn', - 3742529 => 'Aparan, Aragatsotn', 37425291 => 'Kuchak, Aragatsotn', 37425295 => 'Artavan, Aragatsotn', - 374253 => 'Alaverdi/Odzun/Tsaghkashat/Tumanyan, Lori', + 3742530 => 'Alaverdi/Odzun/Tsaghkashat/Tumanyan, Lori', + 3742531 => 'Alaverdi/Odzun/Tsaghkashat/Tumanyan, Lori', 3742532 => 'Alaverdi, Lori', 3742533 => 'Alaverdi, Lori', 3742534 => 'Alaverdi, Lori', @@ -268,21 +281,24 @@ return array ( 37425357 => 'Tumanyan, Lori', 3742536 => 'Alaverdi, Lori', 3742537 => 'Alaverdi/Akhtala/Tumanyan, Lori', + 3742538 => 'Alaverdi/Odzun/Tsaghkashat/Tumanyan, Lori', 37425381 => 'Alaverdi/Akhtala/Tumanyan, Lori', + 3742539 => 'Alaverdi/Odzun/Tsaghkashat/Tumanyan, Lori', 374254 => 'Tashir, Lori', - 3742542 => 'Tashir, Lori', 3742543 => 'Tashir/Metsavan, Lori', - 3742546 => 'Tashir, Lori', - 3742547 => 'Tashir, Lori', 37425481 => 'Tashir/Metsavan, Lori', 3742549 => 'Tashir/Metsavan, Lori', 37425494 => 'Metsavan, Lori', 374255 => 'Spitak, Lori', - 374256 => 'Bovadzor/Stepanavan, Lori', + 3742560 => 'Bovadzor/Stepanavan, Lori', + 3742561 => 'Bovadzor/Stepanavan, Lori', 3742562 => 'Stepanavan, Lori', 3742563 => 'Stepanavan, Lori', 3742564 => 'Stepanavan, Lori', + 3742565 => 'Bovadzor/Stepanavan, Lori', 3742566 => 'Stepanavan, Lori', + 3742567 => 'Bovadzor/Stepanavan, Lori', + 3742568 => 'Bovadzor/Stepanavan, Lori', 37425681 => 'Stepanavan, Lori', 3742569 => 'Stepanavan, Lori', 37425691 => 'Kurtan, Lori', @@ -296,66 +312,66 @@ return array ( 37425781 => 'Tsakhkahovit, Aragatsotn', 374261 => 'Sevan, Gegharkunik', 374262 => 'Martuni, Gegharkunik', - 3742622 => 'Martuni, Gegharkunik', 3742623 => 'Martuni/Vardenik, Gegharkunik', - 3742624 => 'Martuni, Gegharkunik', - 3742625 => 'Martuni, Gegharkunik', 37426252 => 'Vardenik, Gegharkunik', 37426253 => 'Vardenik, Gegharkunik', - 3742626 => 'Martuni, Gegharkunik', - 3742627 => 'Martuni, Gegharkunik', 37426272 => 'Lichk, Gegharkunik', 37426281 => 'Martuni/Vardenik, Gegharkunik', - 3742629 => 'Martuni, Gegharkunik', 37426299 => 'Eranos, Gegharkunik', - 374263 => 'Azatamut/Getahovit/Ijevan/Yenokavan, Tavush', + 3742630 => 'Azatamut/Getahovit/Ijevan/Yenokavan, Tavush', + 3742631 => 'Azatamut/Getahovit/Ijevan/Yenokavan, Tavush', 3742632 => 'Ijevan/Aygehovit/Achajur, Tavush', 3742633 => 'Ijevan, Tavush', 3742634 => 'Ijevan, Tavush', + 3742635 => 'Azatamut/Getahovit/Ijevan/Yenokavan, Tavush', 3742636 => 'Ijevan, Tavush', 3742637 => 'Ijevan, Tavush', 37426374 => 'Aygehovit, Tavush', + 3742638 => 'Azatamut/Getahovit/Ijevan/Yenokavan, Tavush', 37426381 => 'Ijevan/Aygehovit/Achajur, Tavush', 3742639 => 'Ijevan, Tavush', 37426392 => 'Achajur, Tavush', 37426397 => 'Azatamut, Tavush', - 374264 => 'Gavar/Sarukhan, Gegharkunik', - 3742642 => 'Gavar, Gegharkunik', - 3742643 => 'Gavar, Gegharkunik', - 3742644 => 'Gavar, Gegharkunik', - 3742645 => 'Gavar, Gegharkunik', - 3742646 => 'Gavar, Gegharkunik', - 37426481 => 'Gavar, Gegharkunik', - 3742649 => 'Gavar, Gegharkunik', + 374264 => 'Gavar, Gegharkunik', + 3742640 => 'Gavar/Sarukhan, Gegharkunik', + 3742641 => 'Gavar/Sarukhan, Gegharkunik', + 3742647 => 'Gavar/Sarukhan, Gegharkunik', + 3742648 => 'Gavar/Sarukhan, Gegharkunik', 374265 => 'Tchambarak, Gegharkunik', - 3742652 => 'Tchambarak, Gegharkunik', - 3742653 => 'Tchambarak, Gegharkunik', 3742654 => 'Tchambarak/Vahan, Gegharkunik', - 3742656 => 'Tchambarak, Gegharkunik', 37426581 => 'Tchambarak/Vahan, Gegharkunik', - 3742659 => 'Tchambarak, Gegharkunik', 37426596 => 'Vahan, Gegharkunik', - 374266 => 'Berdavan/Koghb/Noyemberyan, Tavush', + 3742660 => 'Berdavan/Koghb/Noyemberyan, Tavush', + 3742661 => 'Berdavan/Koghb/Noyemberyan, Tavush', 3742662 => 'Noyemberyan, Tavush', 3742663 => 'Noyemberyan/Voskepar/Koti/Koghb, Tavush', + 3742664 => 'Berdavan/Koghb/Noyemberyan, Tavush', 3742665 => 'Koghb/Noyemberyan, Tavush', 37426652 => 'Koghb, Tavush', 37426653 => 'Koghb, Tavush', 3742666 => 'Noyemberyan, Tavush', 3742667 => 'Berdavan/Noyemberyan, Tavush', + 3742668 => 'Berdavan/Koghb/Noyemberyan, Tavush', 37426681 => 'Noyemberyan/Voskepar/Koti/Koghb, Tavush', - 3742669 => 'Noyemberyan, Tavush', + 37426690 => 'Noyemberyan, Tavush', + 37426691 => 'Noyemberyan, Tavush', 37426692 => 'Archis, Tavush', 37426693 => 'Baghanis, Tavush', + 37426694 => 'Noyemberyan, Tavush', 37426695 => 'Zorakan, Tavush', 37426696 => 'Voskepar, Tavush', + 37426697 => 'Noyemberyan, Tavush', + 37426698 => 'Noyemberyan, Tavush', 37426699 => 'Koti, Tavush', - 374267 => 'Aygepar/Berd, Tavush', + 3742670 => 'Aygepar/Berd, Tavush', + 3742671 => 'Aygepar/Berd, Tavush', 3742672 => 'Berd, Tavush', 3742673 => 'Berd/Mosesgegh/Navur/Norashen, Tavush', + 3742674 => 'Aygepar/Berd, Tavush', 3742675 => 'Artsvaberd/Berd, Tavush', 3742676 => 'Berd, Tavush', 3742677 => 'Berd, Tavush', + 3742678 => 'Aygepar/Berd, Tavush', 37426781 => 'Berd/Mosesgegh/Navur/Norashen, Tavush', 3742679 => 'Berd, Tavush', 37426791 => 'Navur, Tavush', @@ -372,18 +388,24 @@ return array ( 37426895 => 'Haghartsin, Tavush', 37426897 => 'Teghut, Tavush', 374269 => 'Vardenis, Gegharkunik', - 374281 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', + 3742810 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', + 3742811 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', 3742812 => 'Yeghegnadzor, Vayots dzor', 3742813 => 'Yeghegnadzor/Malishka/Shatin, Vayots dzor', + 3742814 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', 3742815 => 'Yeghegnadzor, Vayots dzor', 37428151 => 'Khachik, Vayots dzor', 3742816 => 'Yeghegnadzor, Vayots dzor', + 3742817 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', + 3742818 => 'Getap/Salli/Yeghegnadzor, Vayots dzor', 37428181 => 'Yeghegnadzor/Malishka/Shatin, Vayots dzor', - 3742819 => 'Yeghegnadzor, Vayots dzor', + 37428190 => 'Yeghegnadzor, Vayots dzor', 37428191 => 'Arpi, Vayots dzor', + 37428192 => 'Yeghegnadzor, Vayots dzor', 37428193 => 'Aghavnadzor, Vayots dzor', 37428194 => 'Areni, Vayots dzor', 37428195 => 'Malishka, Vayots dzor', + 37428196 => 'Yeghegnadzor, Vayots dzor', 37428197 => 'Yelpin, Vayots dzor', 37428198 => 'Rind, Vayots dzor', 37428199 => 'Shatin, Vayots dzor', @@ -398,20 +420,18 @@ return array ( 3742838 => 'Sisian, Syunik', 3742839 => 'Sisian, Syunik', 37428396 => 'Angehakot, Syunik', - 374284 => 'Goris/Verishen, Syunik', - 3742842 => 'Goris, Syunik', + 374284 => 'Goris, Syunik', + 3742840 => 'Goris/Verishen, Syunik', + 3742841 => 'Goris/Verishen, Syunik', 37428427 => 'Verishen, Syunik', - 3742843 => 'Goris, Syunik', - 3742844 => 'Goris, Syunik', - 3742845 => 'Goris, Syunik', - 3742846 => 'Goris, Syunik', - 37428481 => 'Goris, Syunik', - 3742849 => 'Goris, Syunik', + 3742847 => 'Goris/Verishen, Syunik', + 3742848 => 'Goris/Verishen, Syunik', 37428491 => 'Harzhis, Syunik', 37428494 => 'Khndzoresk, Syunik', 37428495 => 'Shinuhayr, Syunik', 37428499 => 'Kornidzor, Syunik', - 374285 => 'Davit Bek/Kajaran/Kapan, Syunik', + 3742850 => 'Davit Bek/Kajaran/Kapan, Syunik', + 3742851 => 'Davit Bek/Kajaran/Kapan, Syunik', 3742852 => 'Kapan, Syunik', 3742853 => 'Kajaran, Syunik', 37428540 => 'Kapan, Syunik', @@ -426,6 +446,8 @@ return array ( 37428549 => 'Kajaran, Syunik', 3742855 => 'Kapan, Syunik', 3742856 => 'Kapan, Syunik', + 3742857 => 'Davit Bek/Kajaran/Kapan, Syunik', + 3742858 => 'Davit Bek/Kajaran/Kapan, Syunik', 374285810 => 'Kapan, Syunik', 374285811 => 'Kapan, Syunik', 374285812 => 'Kapan, Syunik', @@ -437,12 +459,15 @@ return array ( 374285818 => 'Kajaran, Syunik', 374285819 => 'Kajaran, Syunik', 3742859 => 'Kapan, Syunik', - 374286 => 'Meghri/Agarak, Syunik', + 3742860 => 'Meghri/Agarak, Syunik', + 3742861 => 'Meghri/Agarak, Syunik', 3742862 => 'Agarak, Syunik', 3742863 => 'Meghri, Syunik', 3742864 => 'Meghri, Syunik', 3742865 => 'Agarak/Shvanidzor, Syunik', 3742866 => 'Meghri, Syunik', + 3742867 => 'Meghri/Agarak, Syunik', + 3742868 => 'Meghri/Agarak, Syunik', 374286810 => 'Meghri, Syunik', 374286811 => 'Meghri, Syunik', 374286812 => 'Meghri, Syunik', @@ -456,44 +481,27 @@ return array ( 3742869 => 'Meghri, Syunik', 37428695 => 'Shvanidzor, Syunik', 374287 => 'Jermuk, Vayots dzor', - 3742872 => 'Jermuk, Vayots dzor', 3742873 => 'Jermuk/Gndevaz, Vayots dzor', - 3742876 => 'Jermuk, Vayots dzor', 37428781 => 'Jermuk/Gndevaz, Vayots dzor', - 3742879 => 'Jermuk, Vayots dzor', 37428794 => 'Gndevaz, Vayots dzor', - 374312 => 'Gyumri/Akhuryan, Shirak', - 3743122 => 'Gyumri, Shirak', - 3743123 => 'Gyumri, Shirak', - 3743124 => 'Gyumri, Shirak', - 3743125 => 'Gyumri, Shirak', - 3743126 => 'Gyumri, Shirak', + 374312 => 'Gyumri, Shirak', + 3743120 => 'Gyumri/Akhuryan, Shirak', + 3743121 => 'Gyumri/Akhuryan, Shirak', 3743127 => 'Akhuryan, Shirak', 37431280 => 'Akhuryan, Shirak', 37431281 => 'Akhuryan, Shirak', 37431282 => 'Akhuryan, Shirak', 37431283 => 'Akhuryan, Shirak', 37431284 => 'Akhuryan, Shirak', - 374312850 => 'Gyumri, Shirak', - 374312851 => 'Gyumri, Shirak', - 374312852 => 'Gyumri, Shirak', - 374312853 => 'Gyumri, Shirak', - 374312854 => 'Gyumri, Shirak', - 374312855 => 'Gyumri, Shirak', - 374312856 => 'Gyumri, Shirak', - 374312857 => 'Gyumri, Shirak', - 374312858 => 'Gyumri, Shirak', 374312859 => 'Akhuryan, Shirak', - 3743129 => 'Gyumri, Shirak', - 374322 => 'Vanadzor/Gugark, Lori', - 3743222 => 'Vanadzor, Lori', - 3743223 => 'Vanadzor, Lori', - 3743224 => 'Vanadzor, Lori', - 3743225 => 'Vanadzor, Lori', - 3743226 => 'Vanadzor, Lori', - 3743227 => 'Vanadzor, Lori', - 37432281 => 'Vanadzor, Lori', - 3743229 => 'Vanadzor, Lori', + 37431286 => 'Gyumri/Akhuryan, Shirak', + 37431287 => 'Gyumri/Akhuryan, Shirak', + 37431288 => 'Gyumri/Akhuryan, Shirak', + 37431289 => 'Gyumri/Akhuryan, Shirak', + 374322 => 'Vanadzor, Lori', + 3743220 => 'Vanadzor/Gugark, Lori', + 3743221 => 'Vanadzor/Gugark, Lori', + 3743228 => 'Vanadzor/Gugark, Lori', 37432293 => 'Pambak, Lori', 37432294 => 'Lernapat, Lori', 37432295 => 'Yeghegnut, Lori', @@ -501,8 +509,10 @@ return array ( 37432297 => 'Dzoraget, Lori', 37432298 => 'Lermontovo, Lori', 37432299 => 'Vahagni, Lori', - 37447 => 'Nagorno-Karabakh', + 374470 => 'Nagorno-Karabakh', 374471 => 'Stepanakert', + 374472 => 'Nagorno-Karabakh', + 374473 => 'Nagorno-Karabakh', 374474 => 'Martakert', 374475 => 'Hadrut', 374476 => 'Askeran', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/380.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/380.php index 601b4b987..ed62b3a30 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/380.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/380.php @@ -26,34 +26,52 @@ return array ( 3803144 => 'Irshava, Zakarpattia', 3803145 => 'Perechyn, Zakarpattia', 3803146 => 'Mizhhirya, Zakarpattia', - 38032 => 'Lviv', + 380320 => 'Lviv', + 380321 => 'Lviv', 380322 => 'Bryukhovichi/Lviv, Lviv', 3803230 => 'Pustomyty, Lviv', 3803231 => 'Gorodok, Lviv', + 3803232 => 'Lviv', + 3803233 => 'Lviv', 3803234 => 'Mostyska, Lviv', + 3803235 => 'Lviv', 3803236 => 'Sambir, Lviv', + 3803237 => 'Lviv', 3803238 => 'Old Sambir, Lviv', 3803239 => 'Zhidachiv, Lviv', + 3803240 => 'Lviv', 3803241 => 'Nikolaev, Lviv', + 3803242 => 'Lviv', + 3803243 => 'Lviv', 3803244 => 'Drogobych, Lviv', 3803245 => 'Stryi, Lviv', + 3803246 => 'Lviv', 3803247 => 'Truskavets, Lviv', 3803248 => 'Boryslav/Skhidnytsya, Lviv', 3803249 => 'Chervonograd, Lviv', + 3803250 => 'Lviv', 3803251 => 'Skole/Slavske, Lviv', 3803252 => 'Zhovkva, Lviv', + 3803253 => 'Lviv', 3803254 => 'Kamyanka-Buzka, Lviv', 3803255 => 'Radehiv, Lviv', 3803256 => 'Novoyavorivsk, Lviv', 3803257 => 'Sokal, Lviv', + 3803258 => 'Lviv', 3803259 => 'Yavoriv, Lviv', 3803260 => 'Morshin, Lviv', 3803261 => 'Novy Rozdol, Lviv', + 3803262 => 'Lviv', 3803263 => 'Peremyshlyany, Lviv', 3803264 => 'Busk, Lviv', 3803265 => 'Zolochiv, Lviv', 3803266 => 'Brody, Lviv', + 3803267 => 'Lviv', + 3803268 => 'Lviv', 3803269 => 'Turka, Lviv', + 380327 => 'Lviv', + 380328 => 'Lviv', + 380329 => 'Lviv', 38033 => 'Volyn', 380332 => 'Lutsk, Volyn', 3803342 => 'Volodymyr-Volynsky, Volyn', @@ -367,13 +385,16 @@ return array ( 3805357 => 'Orzhitsa, Poltava', 3805358 => 'Pyriatyn, Poltava', 3805359 => 'Hrebinka, Poltava', - 380536 => 'Kremenchug, Poltava', + 3805360 => 'Kremenchug, Poltava', 3805361 => 'Lubny, Poltava', 3805362 => 'Khorol, Poltava', 3805363 => 'Reshetilivka, Poltava', 3805364 => 'Mashivka, Poltava', 3805365 => 'Globin, Poltava', 3805366 => 'Kremenchug, Poltava', + 3805367 => 'Kremenchug, Poltava', + 3805368 => 'Kremenchug, Poltava', + 3805369 => 'Kremenchug, Poltava', 38054 => 'Sumy', 3805442 => 'Putivl, Sumy', 3805443 => 'Belopoly, Sumy', @@ -412,8 +433,9 @@ return array ( 3805547 => 'Belozerka, Kherson', 3805548 => 'Novotroitsk, Kherson', 3805549 => 'New Kakhovka, Kherson', - 38056 => 'Dnipropetrovsk/Dnipro', - 380563 => 'Pavlograd, Dnipro', + 380560 => 'Dnipropetrovsk/Dnipro', + 380561 => 'Dnipropetrovsk/Dnipro', + 380562 => 'Dnipropetrovsk/Dnipro', 3805630 => 'Mezhova, Dnipro', 3805631 => 'Petropavlovka, Dnipro', 3805632 => 'Pavlograd, Dnipro', @@ -421,23 +443,32 @@ return array ( 3805634 => 'Petrykivka, Dnipro', 3805635 => 'Yurievka, Dnipro', 3805636 => 'Ternivka, Dnipro', + 3805637 => 'Pavlograd, Dnipro', 3805638 => 'Pokrovskoe, Dnipro', 3805639 => 'Vasylkivka, Dnipro', 380564 => 'Krivoy Rog, Dnipro', 3805650 => 'Sofiyivka, Dnipro', + 3805651 => 'Dnipropetrovsk/Dnipro', 3805652 => 'Yellow Waters, Dnipro', 3805653 => 'Volnogirsk, Dnipro', - 3805654 => 'Кринички, Dnipro', + 3805654 => 'Krynychky, Dnipro', + 3805655 => 'Dnipropetrovsk/Dnipro', 3805656 => 'Apostolove, Dnipro', 3805657 => 'Broad, Dnipro', 3805658 => 'Verhnedneprovsk, Dnipro', - 380566 => 'Nikopol, Dnipro', + 3805659 => 'Dnipropetrovsk/Dnipro', + 3805660 => 'Nikopol, Dnipro', + 3805661 => 'Nikopol, Dnipro', 3805662 => 'Nikopol, Dnipro', 3805663 => 'Sinelnikovo, Dnipro', + 3805664 => 'Nikopol, Dnipro', 3805665 => 'Manganese, Dnipro', + 3805666 => 'Nikopol, Dnipro', 3805667 => 'Ordzhonikidze, Dnipro', 3805668 => 'Tomakivka, Dnipro', 3805669 => 'Salt, Dnipro', + 380567 => 'Dnipropetrovsk/Dnipro', + 380568 => 'Dnipropetrovsk/Dnipro', 380569 => 'Dneprodzerzhinsk/Novomoskovsk, Dnipro', 3805690 => 'Tsarichanka, Dnipro', 3805691 => 'Magdalenivka, Dnipro', @@ -493,75 +524,108 @@ return array ( 3806175 => 'Vasilivka/Dneprorudne, Zaporizhzhia', 3806178 => 'Tokmak, Zaporizhzhia', 380619 => 'Melitopol, Zaporizhzhia', - 3806192 => 'Melitopol, Zaporizhzhia', - 38062 => 'Donetsk', + 380620 => 'Donetsk', + 380621 => 'Donetsk', + 380622 => 'Donetsk', 380623 => 'Krasnoarmeysk/Makeyevka, Donetsk', 3806232 => 'Makeevka, Donetsk', 3806236 => 'Yasinovata, Donetsk', 3806237 => 'Selidus, Donetsk', 3806239 => 'Krasnoarmeysk, Donetsk', - 380624 => 'Gorlovka, Donetsk', + 3806240 => 'Gorlovka, Donetsk', + 3806241 => 'Gorlovka, Donetsk', 3806242 => 'Gorlovka, Donetsk', 3806243 => 'Great Novosilka, Donetsk', 3806244 => 'Volnovaha, Donetsk', + 3806245 => 'Gorlovka, Donetsk', 3806246 => 'Volodarske, Donetsk', 3806247 => 'Dzerzhinsk, Donetsk', + 3806248 => 'Gorlovka, Donetsk', 3806249 => 'Debaltsevo, Donetsk', 3806250 => 'Kirovske, Donetsk', + 3806251 => 'Donetsk', 3806252 => 'Yenakievo, Donetsk', 3806253 => 'Starobesheve, Donetsk', 3806254 => 'Torez, Donetsk', 3806255 => 'Shakhtarsk, Donetsk', 3806256 => 'Snizhne, Donetsk', 3806257 => 'Ilovajsk/Khartsyzsk, Donetsk', + 3806258 => 'Donetsk', 3806259 => 'Amvrosievka, Donetsk', - 380626 => 'Kramatorsk/Slavyansk, Donetsk', + 3806260 => 'Kramatorsk/Slavyansk, Donetsk', 3806261 => 'Krasny Liman, Donetsk', 3806262 => 'Svyatogorsk/Slavyansk, Donetsk', + 3806263 => 'Kramatorsk/Slavyansk, Donetsk', 3806264 => 'Kramatorsk, Donetsk', + 3806265 => 'Kramatorsk/Slavyansk, Donetsk', + 3806266 => 'Kramatorsk/Slavyansk, Donetsk', 3806267 => 'Druzhkovka, Donetsk', + 3806268 => 'Kramatorsk/Slavyansk, Donetsk', 3806269 => 'Aleksandrovka, Donetsk', - 380627 => 'Artemivsk, Donetsk', + 3806270 => 'Artemivsk, Donetsk', + 3806271 => 'Artemivsk, Donetsk', 3806272 => 'Kostiantynivka, Donetsk', 3806273 => 'Vugledar, Donetsk', 3806274 => 'Artemivsk/Siversk, Donetsk', 3806275 => 'Dokuchaevsk, Donetsk', + 3806276 => 'Artemivsk, Donetsk', 3806277 => 'Dobropolia, Donetsk', 3806278 => 'Marinka, Donetsk', 3806279 => 'Telmanov, Donetsk', + 380628 => 'Donetsk', 380629 => 'Mariupol, Donetsk', 3806296 => 'Novoazovsk, Donetsk', 3806297 => 'Mangosh/Yalta, Donetsk', - 38064 => 'Luhansk', + 380640 => 'Luhansk', + 380641 => 'Luhansk', 380642 => 'Luhansk/Oleksandrivsk, Luhansk', + 3806430 => 'Luhansk', 3806431 => 'Anthracite, Luhansk', 3806432 => 'Krasnyi Luch, Luhansk', 3806433 => 'Rovenky, Luhansk', 3806434 => 'Sverdlovsk, Luhansk', 3806435 => 'Krasnodon, Luhansk', 3806436 => 'Lutugin, Luhansk', + 3806437 => 'Luhansk', + 3806438 => 'Luhansk', + 3806439 => 'Luhansk', + 3806440 => 'Luhansk', 3806441 => 'Perevalsk, Luhansk', 3806442 => 'Alchevsk, Luhansk', 3806443 => 'Bryanka, Luhansk', 3806444 => 'Stakhanov, Luhansk', 3806445 => 'Novoyadar, Luhansk', 3806446 => 'Kirovsk, Luhansk', + 3806447 => 'Luhansk', + 3806448 => 'Luhansk', + 3806449 => 'Luhansk', + 3806450 => 'Luhansk', 3806451 => 'Lisichansk, Luhansk', 3806452 => 'Severodonetsk, Luhansk', 3806453 => 'Rubizhne, Luhansk', 3806454 => 'Kremenna, Luhansk', 3806455 => 'Pervomaisk, Luhansk', 3806456 => 'Trinity Church, Luhansk', + 3806457 => 'Luhansk', + 3806458 => 'Luhansk', + 3806459 => 'Luhansk', + 3806460 => 'Luhansk', 3806461 => 'Starobilsk, Luhansk', 3806462 => 'Belokurakine, Luhansk', 3806463 => 'Novopskov, Luhansk', 3806464 => 'Markovka, Luhansk', 3806465 => 'Milow, Luhansk', 3806466 => 'Belovodsk, Luhansk', + 3806467 => 'Luhansk', + 3806468 => 'Luhansk', + 3806469 => 'Luhansk', + 380647 => 'Luhansk', 3806471 => 'Swatov, Luhansk', 3806472 => 'Stanitsa Luhansk, Luhansk', 3806473 => 'Slavyanoserbsk, Luhansk', 3806474 => 'Popasna, Luhansk', + 380648 => 'Luhansk', + 380649 => 'Luhansk', 38065 => 'Crimea', 38069 => 'Sevastopol city', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/382.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/382.php index 748037bf5..b3a9ee576 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/382.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/382.php @@ -11,7 +11,7 @@ */ return array ( - 38220 => 'Danilovgad/Kolasin/Podgorica', + 3822 => 'Danilovgad/Kolasin/Podgorica', 38230 => 'Bar/Ulcinj', 38231 => 'Herceg Novi', 38232 => 'Kotor/Tivat', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/387.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/387.php index 975e9c4da..4ac24bb97 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/387.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/387.php @@ -21,7 +21,7 @@ return array ( 38737 => 'Una-Sana Canton', 38738 => 'Bosnian-Podrinje Canton Goražde', 38739 => 'West Herzegovina Canton', - 38749 => 'Brčko District', + 3874 => 'Brčko District', 38750 => 'Mrkonjić Grad', 38751 => 'Banja Luka', 38752 => 'Prijedor', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/39.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/39.php index 9c88a2a11..67d6b2a71 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/39.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/39.php @@ -15,7 +15,7 @@ return array ( 39011 => 'Turin', 390122 => 'Turin', 390125 => 'Turin', - 390131 => 'Alessandria', + 39013 => 'Alessandria', 390141 => 'Asti', 39015 => 'Biella', 390161 => 'Vercelli', @@ -31,8 +31,7 @@ return array ( 390321 => 'Novara', 390322 => 'Novara', 390324 => 'Verbano-Cusio-Ossola', - 390331 => 'Varese', - 390332 => 'Varese', + 39033 => 'Varese', 390341 => 'Lecco', 390342 => 'Sondrio', 390343 => 'Sondrio', @@ -63,7 +62,7 @@ return array ( 39045 => 'Verona', 390461 => 'Trento', 390471 => 'Bolzano/Bozen', - 390481 => 'Gorizia', + 39048 => 'Gorizia', 39049 => 'Padova', 39050 => 'Pisa', 39051 => 'Bologna', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/43.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/43.php index 500953492..6d8350dde 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/43.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/43.php @@ -11,7 +11,14 @@ */ return array ( - 431 => 'Vienna', + 4312 => 'Vienna', + 4313 => 'Vienna', + 4314 => 'Vienna', + 4315 => 'Vienna', + 4316 => 'Vienna', + 4317 => 'Vienna', + 4318 => 'Vienna', + 4319 => 'Vienna', 432142 => 'Gattendorf', 432143 => 'Kittsee', 432144 => 'Deutsch Jahrndorf', @@ -560,7 +567,7 @@ return array ( 434357 => 'St. Paul im Lavanttal', 434358 => 'St. Andrä', 434359 => 'Reichenfels', - 43463 => 'Klagenfurt', + 4346 => 'Klagenfurt', 434710 => 'Oberdrauburg', 434712 => 'Greifenburg', 434713 => 'Techendorf', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php index a2d07eaa0..a804c9bf2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/44.php @@ -177,26 +177,13 @@ return array ( 441383 => 'Dunfermline', 441384 => 'Dudley', 441386 => 'Evesham', - 4413870 => 'Dumfries', - 4413871 => 'Dumfries', - 4413872 => 'Dumfries', + 441387 => 'Dumfries', 4413873 => 'Langholm', - 4413874 => 'Dumfries', - 4413875 => 'Dumfries', - 4413876 => 'Dumfries', - 4413877 => 'Dumfries', - 4413878 => 'Dumfries', - 4413879 => 'Dumfries', + 441388 => 'Bishop Auckland', 4413880 => 'Bishop Auckland/Stanhope (Eastgate)', 4413881 => 'Bishop Auckland/Stanhope (Eastgate)', 4413882 => 'Stanhope (Eastgate)', - 4413883 => 'Bishop Auckland', - 4413884 => 'Bishop Auckland', 4413885 => 'Stanhope (Eastgate)', - 4413886 => 'Bishop Auckland', - 4413887 => 'Bishop Auckland', - 4413888 => 'Bishop Auckland', - 4413889 => 'Bishop Auckland', 441389 => 'Dumbarton', 441392 => 'Exeter', 441394 => 'Felixstowe', @@ -300,25 +287,13 @@ return array ( 441476 => 'Grantham', 441477 => 'Holmes Chapel', 441478 => 'Isle of Skye - Portree', - 4414790 => 'Grantown-on-Spey', - 4414791 => 'Grantown-on-Spey', - 4414792 => 'Grantown-on-Spey', - 4414793 => 'Grantown-on-Spey', - 4414794 => 'Grantown-on-Spey', - 4414795 => 'Grantown-on-Spey', - 4414796 => 'Grantown-on-Spey', - 4414797 => 'Grantown-on-Spey', - 44147980 => 'Grantown-on-Spey', + 441479 => 'Grantown-on-Spey', 44147981 => 'Aviemore', 44147982 => 'Nethy Bridge', 44147983 => 'Boat of Garten', 44147984 => 'Carrbridge', 44147985 => 'Dulnain Bridge', 44147986 => 'Cairngorm', - 44147987 => 'Grantown-on-Spey', - 44147988 => 'Grantown-on-Spey', - 44147989 => 'Grantown-on-Spey', - 4414799 => 'Grantown-on-Spey', 441480 => 'Huntingdon', 441481 => 'Guernsey', 441482 => 'Kingston-upon-Hull', @@ -357,16 +332,8 @@ return array ( 44151 => 'Liverpool', 441520 => 'Lochcarron', 441522 => 'Lincoln', - 4415240 => 'Lancaster', - 4415241 => 'Lancaster', + 441524 => 'Lancaster', 4415242 => 'Hornby', - 4415243 => 'Lancaster', - 4415244 => 'Lancaster', - 4415245 => 'Lancaster', - 4415246 => 'Lancaster', - 4415247 => 'Lancaster', - 4415248 => 'Lancaster', - 4415249 => 'Lancaster', 441525 => 'Leighton Buzzard', 441526 => 'Martin', 441527 => 'Redditch', @@ -378,16 +345,10 @@ return array ( 441535 => 'Keighley', 441536 => 'Kettering', 441538 => 'Ipstones', - 4415390 => 'Kendal', - 4415391 => 'Kendal', - 4415392 => 'Kendal', - 4415393 => 'Kendal', + 441539 => 'Kendal', 4415394 => 'Hawkshead', 4415395 => 'Grange-over-Sands', 4415396 => 'Sedbergh', - 4415397 => 'Kendal', - 4415398 => 'Kendal', - 4415399 => 'Kendal', 441540 => 'Kingussie', 441542 => 'Keith', 441543 => 'Cannock', @@ -519,16 +480,9 @@ return array ( 441692 => 'North Walsham', 441694 => 'Church Stretton', 441695 => 'Skelmersdale', - 4416970 => 'Brampton', - 4416971 => 'Brampton', - 4416972 => 'Brampton', + 441697 => 'Brampton', 4416973 => 'Wigton', 4416974 => 'Raughton Head', - 4416975 => 'Brampton', - 4416976 => 'Brampton', - 4416977 => 'Brampton', - 4416978 => 'Brampton', - 4416979 => 'Brampton', 441698 => 'Motherwell', 441700 => 'Rothesay', 441702 => 'Southend-on-Sea', @@ -577,16 +531,10 @@ return array ( 441765 => 'Ripon', 441766 => 'Porthmadog', 441767 => 'Sandy', - 4417680 => 'Penrith', - 4417681 => 'Penrith', - 4417682 => 'Penrith', + 441768 => 'Penrith', 4417683 => 'Appleby', 4417684 => 'Pooley Bridge', - 4417685 => 'Penrith', - 4417686 => 'Penrith', 4417687 => 'Keswick', - 4417688 => 'Penrith', - 4417689 => 'Penrith', 441769 => 'South Molton', 441770 => 'Isle of Arran', 441771 => 'Maud', @@ -745,16 +693,8 @@ return array ( 441943 => 'Guiseley', 441944 => 'West Heslerton', 441945 => 'Wisbech', - 4419460 => 'Whitehaven', - 4419461 => 'Whitehaven', - 4419462 => 'Whitehaven', - 4419463 => 'Whitehaven', - 4419464 => 'Whitehaven', - 4419465 => 'Whitehaven', - 4419466 => 'Whitehaven', + 441946 => 'Whitehaven', 4419467 => 'Gosforth', - 4419468 => 'Whitehaven', - 4419469 => 'Whitehaven', 441947 => 'Whitby', 441948 => 'Whitchurch', 441949 => 'Whatton', @@ -812,11 +752,7 @@ return array ( 441994 => 'St Clears', 441995 => 'Garstang', 441997 => 'Strathpeffer', - 44200 => 'London', - 44201 => 'London', - 44203 => 'London', - 44207 => 'London', - 44208 => 'London', + 4420 => 'London', 442310 => 'Portsmouth', 442311 => 'Southampton', 44238 => 'Southampton', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/47.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/47.php index 65236894c..703888ca8 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/47.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/47.php @@ -15,7 +15,6 @@ return array ( 4731 => 'Buskerud', 4732 => 'Buskerud', 4733 => 'Vestfold', - 4734 => 'Vestfold', 4735 => 'Telemark', 4737 => 'Aust-Agder', 4738 => 'Vest-Agder', @@ -25,7 +24,6 @@ return array ( 4755 => 'Hordaland', 4756 => 'Hordaland', 4757 => 'Sogn og Fjordane', - 4760 => 'Oppland', 4761 => 'Oppland', 4762 => 'Hedmark', 4763 => 'Akershus', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/49.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/49.php index 3d7cb7d4e..319aed453 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/49.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/49.php @@ -2347,7 +2347,7 @@ return array ( 494643 => 'Gelting Angeln', 494644 => 'Karby', 494646 => 'Mohrkirch', - 494651 => 'Sylt', + 49465 => 'Sylt', 494661 => 'Niebüll', 494662 => 'Leck', 494663 => 'Süderlügum', @@ -4035,7 +4035,7 @@ return array ( 497585 => 'Ostrach', 497586 => 'Herbertingen', 497587 => 'Hosskirch', - 497602 => 'Oberried Breisgau', + 49760 => 'Oberried Breisgau', 49761 => 'Freiburg im Breisgau', 497620 => 'Schopfheim-Gersbach', 497621 => 'Lörrach', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/504.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/504.php index 22f44e0ca..b14649743 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/504.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/504.php @@ -29,7 +29,7 @@ return array ( 5042245 => 'La Vega, Tegucigalpa', 5042246 => 'La Vega, Tegucigalpa', 5042255 => 'El Hato', - 5042407 => 'Roatán, Bay Islands', + 504240 => 'Roatán, Bay Islands', 5042423 => 'La Ceiba', 5042424 => 'Sabá', 5042425 => 'Utila, Bay Islands', @@ -50,7 +50,7 @@ return array ( 5042451 => 'Sonaguera', 5042452 => 'Coyoles Central', 5042453 => 'Guanaja', - 5042516 => 'San Pedro Sula, Cortés', + 504251 => 'San Pedro Sula, Cortés', 5042540 => 'San Pedro Sula, Cortés', 5042545 => 'San Pedro Sula, Cortés', 5042550 => 'San Pedro Sula, Cortés', @@ -64,8 +64,8 @@ return array ( 5042564 => 'San Pedro Sula, Cortés', 5042565 => 'Chamelecón', 5042566 => 'Jardines Del Valle', - 5042574 => 'Búfalo', - 5042617 => 'Choloma, Cortés', + 504257 => 'Búfalo', + 504261 => 'Choloma, Cortés', 5042643 => 'Santa Bárbara', 5042647 => 'Progreso', 5042648 => 'Progreso/Santa Cruz', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/52.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/52.php index 8abff9b37..b7c8fb8b1 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/52.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/52.php @@ -241,23 +241,23 @@ return array ( 52662 => 'Sonora', 52665 => 'Tecate, BCN', 52666 => 'Tijuana, BCN', - 52667 => 'Sinoloa', - 52668 => 'Sinoloa', - 52669 => 'Sinoloa', + 52667 => 'Sinaloa', + 52668 => 'Sinaloa', + 52669 => 'Sinaloa', 52671 => 'Durango', - 52672 => 'Sinoloa', - 52673 => 'Sinoloa', + 52672 => 'Sinaloa', + 52673 => 'Sinaloa', 52674 => 'Durango', 52675 => 'Durango', 52676 => 'Durango', 52677 => 'Durango', 52686 => 'Baja California', - 52687 => 'Sinoloa', - 52694 => 'Sinoloa', - 52695 => 'Sinoloa', - 52696 => 'Sinoloa', - 52697 => 'Sinoloa', - 52698 => 'Sinoloa', + 52687 => 'Sinaloa', + 52694 => 'Sinaloa', + 52695 => 'Sinaloa', + 52696 => 'Sinaloa', + 52697 => 'Sinaloa', + 52698 => 'Sinaloa', 52711 => 'Mexico/Michoacan', 52712 => 'Estado de Mexico', 52713 => 'Santiago Tianguistenco, MEX', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/58.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/58.php index 740fdfc08..df1c81681 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/58.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/58.php @@ -11,7 +11,7 @@ */ return array ( - 58212 => 'Caracas/Miranda/Vargas', + 5821 => 'Caracas/Miranda/Vargas', 58234 => 'Miranda', 58235 => 'Anzoátegui/Bolívar/Guárico', 58237 => 'Federal Dependencies', @@ -35,14 +35,8 @@ return array ( 58257 => 'Portuguesa', 58258 => 'Cojedes', 58259 => 'Falcón', + 5826 => 'Zulia', 58260 => 'Colombia', - 58261 => 'Zulia', - 58262 => 'Zulia', - 58263 => 'Zulia', - 58264 => 'Zulia', - 58265 => 'Zulia', - 58266 => 'Zulia', - 58267 => 'Zulia', 58268 => 'Falcón', 58269 => 'Falcón', 58270 => 'Colombia', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/599.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/599.php index 40cba8d9b..24c119b76 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/599.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/599.php @@ -13,8 +13,6 @@ return array ( 599318 => 'St. Eustatius', 599416 => 'Saba', - 599715 => 'Bonaire', - 599717 => 'Bonaire', - 599718 => 'Bonaire', - 599750 => 'Bonaire', + 59971 => 'Bonaire', + 59975 => 'Bonaire', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/60.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/60.php index 2034ba963..731f78b1a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/60.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/60.php @@ -636,16 +636,7 @@ return array ( 6037717 => 'Kuala Lumpur', 6037718 => 'Kuala Lumpur', 6037719 => 'Kuala Lumpur', - 6037720 => 'Kuala Lumpur', - 6037721 => 'Kuala Lumpur', - 6037722 => 'Kuala Lumpur', - 6037723 => 'Kuala Lumpur', - 6037724 => 'Kuala Lumpur', - 6037725 => 'Kuala Lumpur', - 6037726 => 'Kuala Lumpur', - 6037727 => 'Kuala Lumpur', - 6037728 => 'Kuala Lumpur', - 6037729 => 'Kuala Lumpur', + 603772 => 'Kuala Lumpur', 6037731 => 'Kuala Lumpur', 6037732 => 'Kuala Lumpur', 6037733 => 'Kuala Lumpur', @@ -1026,12 +1017,16 @@ return array ( 604397 => 'Penang', 604398 => 'Penang', 604399 => 'Penang', - 60440 => 'Kulim', 604400 => 'Padang Serai', + 604401 => 'Kulim', + 604402 => 'Kulim', + 604403 => 'Kulim', 604404 => 'Mahang', 604405 => 'Padang Serai', 604406 => 'Padang Serai', 604407 => 'Serdang', + 604408 => 'Kulim', + 604409 => 'Kulim', 604410 => 'Kulim', 6044110 => 'Serdang', 604412 => 'Penang', @@ -1049,7 +1044,6 @@ return array ( 604434 => 'Padang Serai', 60444 => 'Sungai Petani', 604447 => 'Bedong', - 604448 => 'Sungai Petani', 604449 => 'Baling', 60445 => 'Bedong', 604451 => 'Jeniang', @@ -1066,16 +1060,10 @@ return array ( 604467 => 'Jeniang', 604468 => 'Bedong', 604469 => 'Jeniang', - 604470 => 'Baling', + 60447 => 'Baling', 604471 => 'Sungai Bakap', - 604472 => 'Baling', - 604473 => 'Baling', - 604474 => 'Baling', 604475 => 'Kupang', 604476 => 'Kupang', - 604477 => 'Baling', - 604478 => 'Baling', - 604479 => 'Baling', 60448 => 'Kulim', 604483 => 'Baling', 604485 => 'Padang Serai', @@ -1531,13 +1519,16 @@ return array ( 605667 => 'Bruas', 605668 => 'Sitiawan', 605669 => 'Sitiawan', - 60567 => 'Sitiawan', + 605670 => 'Sitiawan', + 605671 => 'Sitiawan', + 605672 => 'Sitiawan', 605673 => 'Bruas', 605674 => 'Bruas', 605675 => 'Changkat Keruing', 605676 => 'Changkat Keruing', 605677 => 'Bruas', 605678 => 'Bruas', + 605679 => 'Sitiawan', 605680 => 'Sitiawan', 605681 => 'Sitiawan', 605682 => 'Changkat Keruing', @@ -1765,15 +1756,9 @@ return array ( 606476 => 'Ladang Geddes', 606477 => 'Palong', 606479 => 'Ayer Hitam', + 60648 => 'Kuala Pilah', 606480 => 'Ayer Hitam', - 606481 => 'Kuala Pilah', - 606482 => 'Kuala Pilah', - 606483 => 'Kuala Pilah', - 606484 => 'Kuala Pilah', - 606485 => 'Kuala Pilah', 606486 => 'Simpang Durian', - 606487 => 'Kuala Pilah', - 606488 => 'Kuala Pilah', 606489 => 'Kuala Klawang', 606490 => 'Rembau', 606491 => 'Simpang Durian', @@ -1814,16 +1799,11 @@ return array ( 606546 => 'Durian Tunggal', 606547 => 'Durian Tunggal', 606549 => 'Durian Tunggal', + 60655 => 'Durian Tunggal', 606550 => 'Tampin', 606551 => 'Simpang Empat', 606552 => 'Simpang Empat', - 606553 => 'Durian Tunggal', 606554 => 'Tampin', - 606555 => 'Durian Tunggal', - 606556 => 'Durian Tunggal', - 606557 => 'Durian Tunggal', - 606558 => 'Durian Tunggal', - 606559 => 'Durian Tunggal', 606560 => 'Simpang Empat', 606601 => 'Seremban', 606603 => 'Seremban', @@ -2020,13 +2000,16 @@ return array ( 607413 => 'Batu Pahat', 607414 => 'Rengit', 607415 => 'Batu Pahat', - 60742 => 'Senggarang', + 607420 => 'Senggarang', 607421 => 'Kampung Parit Tengah', 607422 => 'Kampung Parit Tengah', 607423 => 'Rengit', 607424 => 'Rengit', 607425 => 'Parit Betak', 607426 => 'Parit Betak', + 607427 => 'Senggarang', + 607428 => 'Senggarang', + 607429 => 'Senggarang', 60743 => 'Batu Pahat', 607440 => 'Batu Pahat', 607441 => 'Senggarang', @@ -2172,23 +2155,21 @@ return array ( 607768 => 'Paloh', 6077690 => 'Paloh', 60777 => 'Keluang', - 60778 => 'Keluang', 607780 => 'Kahang', 607781 => 'Paloh', 607782 => 'Paloh', + 607783 => 'Keluang', 607784 => 'Kahang', + 607785 => 'Keluang', 607786 => 'Felda Kahang Timur', + 607787 => 'Keluang', 607788 => 'Kahang', - 607790 => 'Mersing', + 607789 => 'Keluang', + 60779 => 'Mersing', 607791 => 'Felda Tenggaroh', - 607792 => 'Mersing', 607793 => 'Endau', 607794 => 'Endau', 607795 => 'Felda Tenggaroh', - 607796 => 'Mersing', - 607797 => 'Mersing', - 607798 => 'Mersing', - 607799 => 'Mersing', 6078010 => 'Mersing', 6078011 => 'Mersing', 607810 => 'Paloh', @@ -2220,8 +2201,11 @@ return array ( 607886 => 'Penawar', 607887 => 'Kota Tinggi', 607889 => 'Kota Tinggi', - 60789 => 'Kota Tinggi', 607890 => 'Linggiu', + 607891 => 'Kota Tinggi', + 607892 => 'Kota Tinggi', + 607893 => 'Kota Tinggi', + 607894 => 'Kota Tinggi', 607895 => 'Air Tawar', 607896 => 'Tenggara', 607897 => 'Tiram', @@ -2234,8 +2218,9 @@ return array ( 607906 => 'Segamat', 607907 => 'Labis', 607908 => 'Bekok', - 60791 => 'Aver Panas', 607910 => 'Tenang', + 607911 => 'Aver Panas', + 607912 => 'Aver Panas', 607913 => 'Labis', 607914 => 'Tenang', 607915 => 'Bukit Kepong', @@ -2243,10 +2228,13 @@ return array ( 607917 => 'Tenang', 607918 => 'Aver Panas', 607919 => 'Labis', - 60792 => 'Labis', 607920 => 'Segamat', + 607921 => 'Labis', 607922 => 'Bekok', 607923 => 'Bukit Kepong', + 607924 => 'Labis', + 607925 => 'Labis', + 607926 => 'Labis', 607927 => 'Tenang', 607928 => 'Aver Panas', 607929 => 'Aver Panas', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php index ee24cb7d9..64953896b 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/61.php @@ -362,16 +362,11 @@ return array ( 6124030 => 'Maitland', 6124031 => 'Newcastle', 6124032 => 'Newcastle', + 6124033 => 'Newcastle', 61240330 => 'Maitland', 61240331 => 'Maitland', 61240332 => 'Nelson Bay', 61240333 => 'Nelson Bay', - 61240334 => 'Newcastle', - 61240335 => 'Newcastle', - 61240336 => 'Newcastle', - 61240337 => 'Newcastle', - 61240338 => 'Newcastle', - 61240339 => 'Newcastle', 6124034 => 'Newcastle', 61240350 => 'Nelson Bay', 61240351 => 'Nelson Bay', @@ -445,12 +440,7 @@ return array ( 61240437 => 'Nelson Bay', 61240438 => 'Stroud', 61240439 => 'Swansea', - 61240440 => 'Newcastle', - 61240441 => 'Newcastle', - 61240442 => 'Newcastle', - 61240443 => 'Newcastle', - 61240444 => 'Newcastle', - 61240445 => 'Newcastle', + 6124044 => 'Newcastle', 61240446 => 'Bandon Grove', 61240447 => 'Swansea', 61240448 => 'Cessnock', @@ -601,16 +591,9 @@ return array ( 61240667 => 'Stroud', 61240668 => 'Swansea', 61240669 => 'Tea Gardens', + 6124067 => 'Newcastle', 61240670 => 'Wards River', 61240671 => 'Wootton', - 61240672 => 'Newcastle', - 61240673 => 'Newcastle', - 61240674 => 'Newcastle', - 61240675 => 'Newcastle', - 61240676 => 'Newcastle', - 61240677 => 'Newcastle', - 61240678 => 'Newcastle', - 61240679 => 'Newcastle', 61240680 => 'Maitland', 61240681 => 'Maitland', 61240682 => 'Clarence Town', @@ -640,16 +623,11 @@ return array ( 61242027 => 'Helensburgh', 61242028 => 'Kiama', 61242029 => 'Wollongong', + 6124203 => 'Kiama', 61242030 => 'Helensburgh', - 61242031 => 'Kiama', 61242032 => 'Wollongong', - 61242033 => 'Kiama', - 61242034 => 'Kiama', 61242035 => 'Wollongong', 61242036 => 'Helensburgh', - 61242037 => 'Kiama', - 61242038 => 'Kiama', - 61242039 => 'Kiama', 61242040 => 'Helensburgh', 61242041 => 'Wollongong', 61242042 => 'Wollongong', @@ -694,32 +672,17 @@ return array ( 61242107 => 'Wollongong', 61242108 => 'Wollongong', 61242109 => 'Wollongong', - 61242110 => 'Wollongong', + 6124211 => 'Wollongong', 61242111 => 'Kiama', 61242112 => 'Kiama', 61242113 => 'Kiama', - 61242114 => 'Wollongong', - 61242115 => 'Wollongong', - 61242116 => 'Wollongong', - 61242117 => 'Wollongong', - 61242118 => 'Wollongong', - 61242119 => 'Wollongong', 6124212 => 'Wollongong', 6124213 => 'Wollongong', 61242140 => 'Wollongong', 61242141 => 'Wollongong', 61242142 => 'Wollongong', 61242143 => 'Wollongong', - 6124220 => 'Wollongong', - 6124221 => 'Wollongong', - 6124222 => 'Wollongong', - 6124223 => 'Wollongong', - 6124224 => 'Wollongong', - 6124225 => 'Wollongong', - 6124226 => 'Wollongong', - 6124227 => 'Wollongong', - 6124228 => 'Wollongong', - 6124229 => 'Wollongong', + 612422 => 'Wollongong', 6124230 => 'Kiama', 6124231 => 'Wollongong', 6124232 => 'Kiama', @@ -728,31 +691,14 @@ return array ( 6124235 => 'Kiama', 6124236 => 'Kiama', 6124237 => 'Kiama', + 6124238 => 'Wollongong', 61242380 => 'Helensburgh', 61242381 => 'Kiama', - 61242382 => 'Wollongong', - 61242383 => 'Wollongong', - 61242384 => 'Wollongong', - 61242385 => 'Wollongong', - 61242386 => 'Wollongong', - 61242387 => 'Wollongong', - 61242388 => 'Wollongong', 61242389 => 'Kiama', 6124240 => 'Wollongong', - 61242403 => 'Wollongong', - 61242404 => 'Wollongong', - 61242405 => 'Wollongong', 6124242 => 'Wollongong', - 61242430 => 'Wollongong', - 61242431 => 'Wollongong', + 6124243 => 'Wollongong', 61242432 => 'Helensburgh', - 61242433 => 'Wollongong', - 61242434 => 'Wollongong', - 61242435 => 'Wollongong', - 61242436 => 'Wollongong', - 61242437 => 'Wollongong', - 61242438 => 'Wollongong', - 61242439 => 'Wollongong', 6124244 => 'Wollongong', 6124245 => 'Wollongong', 6124246 => 'Wollongong', @@ -762,25 +708,10 @@ return array ( 61242492 => 'Wollongong', 61242493 => 'Wollongong', 61242494 => 'Wollongong', - 6124250 => 'Wollongong', - 6124251 => 'Wollongong', - 6124252 => 'Wollongong', - 6124253 => 'Wollongong', - 6124254 => 'Wollongong', + 612425 => 'Wollongong', 61242550 => 'Helensburgh', - 61242551 => 'Wollongong', - 61242552 => 'Wollongong', - 61242553 => 'Wollongong', - 61242554 => 'Wollongong', - 61242555 => 'Wollongong', - 61242556 => 'Wollongong', - 61242557 => 'Wollongong', - 61242558 => 'Wollongong', - 61242559 => 'Wollongong', 6124256 => 'Kiama', 6124257 => 'Kiama', - 6124258 => 'Wollongong', - 6124259 => 'Wollongong', 6124260 => 'Wollongong', 6124261 => 'Wollongong', 6124262 => 'Wollongong', @@ -869,16 +800,10 @@ return array ( 61243089 => 'Gosford', 6124309 => 'Gosford', 6124310 => 'Wyong', + 6124311 => 'Gosford', 61243110 => 'Wyong', 61243111 => 'Wyong', - 61243112 => 'Gosford', - 61243113 => 'Gosford', - 61243114 => 'Gosford', - 61243115 => 'Gosford', - 61243116 => 'Gosford', - 61243117 => 'Gosford', 61243118 => 'Mangrove Mountain', - 61243119 => 'Gosford', 61243120 => 'Gosford', 61243121 => 'Wyong', 61243122 => 'Mangrove Mountain', @@ -889,26 +814,14 @@ return array ( 61243127 => 'Gosford', 61243128 => 'Gosford', 61243129 => 'Mangrove Mountain', + 6124313 => 'Gosford', 61243130 => 'Wyong', - 61243131 => 'Gosford', - 61243132 => 'Gosford', - 61243133 => 'Gosford', - 61243134 => 'Gosford', - 61243135 => 'Gosford', - 61243136 => 'Gosford', 61243137 => 'Mangrove Mountain', 61243138 => 'Wyong', - 61243139 => 'Gosford', - 61243140 => 'Gosford', - 61243141 => 'Gosford', - 61243142 => 'Gosford', - 61243143 => 'Gosford', - 61243144 => 'Gosford', + 6124314 => 'Gosford', 61243145 => 'Wyong', - 61243146 => 'Gosford', 61243147 => 'Mangrove Mountain', 61243148 => 'Wyong', - 61243149 => 'Gosford', 61243150 => 'Gosford', 61243151 => 'Gosford', 61243152 => 'Gosford', @@ -916,40 +829,18 @@ return array ( 61243157 => 'Gosford', 61243158 => 'Mangrove Mountain', 61243159 => 'Wyong', - 6124320 => 'Gosford', - 6124321 => 'Gosford', - 6124322 => 'Gosford', - 6124323 => 'Gosford', - 6124324 => 'Gosford', - 6124325 => 'Gosford', - 61243260 => 'Gosford', - 61243261 => 'Gosford', + 612432 => 'Gosford', 61243262 => 'Wyong', 61243263 => 'Wyong', 61243264 => 'Wyong', - 61243265 => 'Gosford', - 61243266 => 'Gosford', - 61243267 => 'Gosford', - 61243268 => 'Gosford', - 61243269 => 'Gosford', - 6124327 => 'Gosford', - 6124328 => 'Gosford', - 6124329 => 'Gosford', 6124330 => 'Wyong', 6124331 => 'Gosford', 6124332 => 'Gosford', 6124333 => 'Gosford', 6124334 => 'Gosford', + 6124335 => 'Gosford', 61243350 => 'Mangrove Mountain', 61243351 => 'Wyong', - 61243352 => 'Gosford', - 61243353 => 'Gosford', - 61243354 => 'Gosford', - 61243355 => 'Gosford', - 61243356 => 'Gosford', - 61243357 => 'Gosford', - 61243358 => 'Gosford', - 61243359 => 'Gosford', 6124336 => 'Gosford', 6124337 => 'Gosford', 61243380 => 'Wyong', @@ -971,36 +862,14 @@ return array ( 61243474 => 'Gosford', 6124348 => 'Gosford', 6124349 => 'Gosford', - 6124350 => 'Wyong', - 6124351 => 'Wyong', - 6124352 => 'Wyong', - 6124353 => 'Wyong', - 6124354 => 'Wyong', - 6124355 => 'Wyong', - 6124356 => 'Wyong', - 6124357 => 'Wyong', - 6124358 => 'Wyong', - 6124359 => 'Wyong', - 6124360 => 'Gosford', - 6124361 => 'Gosford', - 6124362 => 'Gosford', - 6124363 => 'Gosford', - 6124364 => 'Gosford', - 6124365 => 'Gosford', + 612435 => 'Wyong', + 612436 => 'Gosford', 6124366 => 'Wyong', - 6124367 => 'Gosford', - 6124368 => 'Gosford', - 6124369 => 'Gosford', - 6124370 => 'Gosford', + 612437 => 'Gosford', 6124371 => 'Mangrove Mountain', - 6124372 => 'Gosford', 6124373 => 'Mangrove Mountain', 6124374 => 'Mangrove Mountain', - 6124375 => 'Gosford', 6124376 => 'Mangrove Mountain', - 6124377 => 'Gosford', - 6124378 => 'Gosford', - 6124379 => 'Gosford', 61243800 => 'Gosford', 61243808 => 'Gosford', 61243809 => 'Gosford', @@ -1207,16 +1076,11 @@ return array ( 61244272 => 'Nowra', 61244273 => 'Nowra', 61244274 => 'Nowra', + 6124428 => 'Nowra', 61244280 => 'Huskisson', 61244281 => 'Huskisson', 61244282 => 'Huskisson', 61244283 => 'Huskisson', - 61244284 => 'Nowra', - 61244285 => 'Nowra', - 61244286 => 'Nowra', - 61244287 => 'Nowra', - 61244288 => 'Nowra', - 61244289 => 'Nowra', 61244290 => 'Bawley Point', 61244291 => 'Nowra', 61244292 => 'Nowra', @@ -1240,15 +1104,10 @@ return array ( 61244447 => 'Huskisson', 61244448 => 'Milton-ulladulla', 61244449 => 'Milton-ulladulla', - 61244450 => 'Nowra', - 61244451 => 'Nowra', + 6124445 => 'Nowra', 61244452 => 'Batemans Bay', - 61244453 => 'Nowra', - 61244454 => 'Nowra', 61244455 => 'Batemans Bay', 61244456 => 'Batemans Bay', - 61244457 => 'Nowra', - 61244458 => 'Nowra', 61244459 => 'Milton-ulladulla', 6124446 => 'Nowra', 6124447 => 'Nowra', @@ -1262,16 +1121,8 @@ return array ( 6124465 => 'Berry', 6124471 => 'Moruya', 6124472 => 'Batemans Bay', + 6124473 => 'Narooma', 61244730 => 'Batemans Bay', - 61244731 => 'Narooma', - 61244732 => 'Narooma', - 61244733 => 'Narooma', - 61244734 => 'Narooma', - 61244735 => 'Narooma', - 61244736 => 'Narooma', - 61244737 => 'Narooma', - 61244738 => 'Narooma', - 61244739 => 'Narooma', 6124474 => 'Moruya', 61244750 => 'Moruya', 61244751 => 'Batemans Bay', @@ -1360,12 +1211,7 @@ return array ( 61245047 => 'Windsor', 61245048 => 'Windsor', 61245049 => 'Windsor', - 61245050 => 'Windsor', - 61245051 => 'Windsor', - 61245052 => 'Windsor', - 61245053 => 'Windsor', - 61245054 => 'Windsor', - 61245055 => 'Windsor', + 6124505 => 'Windsor', 61245056 => 'Colo Heights', 61245057 => 'St Albans', 61245058 => 'Kurrajong Heights', @@ -1409,13 +1255,8 @@ return array ( 6124556 => 'Windsor', 6124557 => 'Windsor', 61245582 => 'Windsor', + 6124560 => 'Windsor', 61245600 => 'Wisemans Ferry', - 61245601 => 'Windsor', - 61245602 => 'Windsor', - 61245603 => 'Windsor', - 61245604 => 'Windsor', - 61245605 => 'Windsor', - 61245606 => 'Windsor', 61245607 => 'Kurrajong Heights', 61245608 => 'Colo Heights', 61245609 => 'St Albans', @@ -1433,16 +1274,7 @@ return array ( 6124566 => 'Wisemans Ferry', 6124567 => 'Kurrajong Heights', 6124568 => 'St Albans', - 6124570 => 'Windsor', - 6124571 => 'Windsor', - 6124572 => 'Windsor', - 6124573 => 'Windsor', - 6124574 => 'Windsor', - 6124575 => 'Windsor', - 6124576 => 'Windsor', - 6124577 => 'Windsor', - 6124578 => 'Windsor', - 6124579 => 'Windsor', + 612457 => 'Windsor', 6124580 => 'Windsor', 6124581 => 'Wisemans Ferry', 6124582 => 'Windsor', @@ -1521,39 +1353,19 @@ return array ( 61246079 => 'Campbelltown', 6124608 => 'Campbelltown', 6124609 => 'Campbelltown', - 61246100 => 'Campbelltown', - 61246101 => 'Campbelltown', - 61246102 => 'Campbelltown', + 6124610 => 'Campbelltown', 61246103 => 'Picton', 61246104 => 'Camden', - 61246105 => 'Campbelltown', 61246106 => 'Picton', - 61246107 => 'Campbelltown', - 61246108 => 'Campbelltown', - 61246109 => 'Campbelltown', 61246110 => 'Campbelltown', 61246113 => 'Camden', 61246114 => 'Campbelltown', 61246115 => 'Picton', - 6124620 => 'Campbelltown', - 6124621 => 'Campbelltown', - 6124622 => 'Campbelltown', - 61246230 => 'Campbelltown', - 61246231 => 'Campbelltown', + 612462 => 'Campbelltown', 61246232 => 'Camden', - 61246233 => 'Campbelltown', 61246234 => 'Picton', - 61246235 => 'Campbelltown', 61246236 => 'Camden', 61246237 => 'Camden', - 61246238 => 'Campbelltown', - 61246239 => 'Campbelltown', - 6124624 => 'Campbelltown', - 6124625 => 'Campbelltown', - 6124626 => 'Campbelltown', - 6124627 => 'Campbelltown', - 6124628 => 'Campbelltown', - 6124629 => 'Campbelltown', 6124630 => 'Campbelltown', 6124631 => 'Campbelltown', 6124632 => 'Campbelltown', @@ -1569,15 +1381,8 @@ return array ( 61246375 => 'Campbelltown', 61246376 => 'Campbelltown', 61246377 => 'Campbelltown', + 6124640 => 'Campbelltown', 61246400 => 'Picton', - 61246401 => 'Campbelltown', - 61246402 => 'Campbelltown', - 61246403 => 'Campbelltown', - 61246404 => 'Campbelltown', - 61246405 => 'Campbelltown', - 61246406 => 'Campbelltown', - 61246407 => 'Campbelltown', - 61246408 => 'Campbelltown', 61246409 => 'Camden', 61246410 => 'Picton', 61246411 => 'Campbelltown', @@ -1673,16 +1478,11 @@ return array ( 61247068 => 'Penrith', 61247069 => 'Penrith', 6124707 => 'Penrith', - 61247080 => 'Penrith', - 61247081 => 'Penrith', - 61247082 => 'Penrith', - 61247083 => 'Penrith', + 6124708 => 'Penrith', 61247084 => 'Mulgoa', 61247085 => 'Lawson', 61247086 => 'Mount Wilson', 61247087 => 'Katoomba', - 61247088 => 'Penrith', - 61247089 => 'Penrith', 61247090 => 'Penrith', 61247091 => 'Mulgoa', 61247092 => 'Lawson', @@ -1712,35 +1512,9 @@ return array ( 61247121 => 'Mount Wilson', 61247122 => 'Mulgoa', 61247123 => 'Penrith', + 612472 => 'Penrith', 61247200 => 'Mulgoa', - 61247201 => 'Penrith', - 61247202 => 'Penrith', - 61247203 => 'Penrith', - 61247204 => 'Penrith', - 61247205 => 'Penrith', - 61247206 => 'Penrith', - 61247207 => 'Penrith', - 61247208 => 'Penrith', - 61247209 => 'Penrith', - 6124721 => 'Penrith', - 6124722 => 'Penrith', - 6124723 => 'Penrith', - 6124724 => 'Penrith', - 6124725 => 'Penrith', - 6124726 => 'Penrith', - 6124727 => 'Penrith', - 6124728 => 'Penrith', - 6124729 => 'Penrith', - 6124730 => 'Penrith', - 6124731 => 'Penrith', - 6124732 => 'Penrith', - 6124733 => 'Penrith', - 6124734 => 'Penrith', - 6124735 => 'Penrith', - 6124736 => 'Penrith', - 6124737 => 'Penrith', - 6124738 => 'Penrith', - 6124739 => 'Penrith', + 612473 => 'Penrith', 6124740 => 'Penrith', 6124741 => 'Mulgoa', 61247420 => 'Katoomba', @@ -1754,16 +1528,8 @@ return array ( 61247428 => 'Katoomba', 61247429 => 'Katoomba', 6124743 => 'Penrith', - 61247440 => 'Penrith', - 61247441 => 'Penrith', - 61247442 => 'Penrith', - 61247443 => 'Penrith', + 6124744 => 'Penrith', 61247444 => 'Mulgoa', - 61247445 => 'Penrith', - 61247446 => 'Penrith', - 61247447 => 'Penrith', - 61247448 => 'Penrith', - 61247449 => 'Penrith', 6124747 => 'Penrith', 61247480 => 'Penrith', 61247489 => 'Penrith', @@ -1804,15 +1570,9 @@ return array ( 61247780 => 'Katoomba', 61247781 => 'Lawson', 61247782 => 'Mount Wilson', - 61247800 => 'Katoomba', - 61247801 => 'Katoomba', - 61247802 => 'Katoomba', + 6124780 => 'Katoomba', 61247803 => 'Lawson', 61247804 => 'Lawson', - 61247805 => 'Katoomba', - 61247806 => 'Katoomba', - 61247807 => 'Katoomba', - 61247808 => 'Katoomba', 61247809 => 'Mount Wilson', 6124781 => 'Katoomba', 6124782 => 'Katoomba', @@ -2016,80 +1776,38 @@ return array ( 61248197 => 'Reidsdale', 61248198 => 'Tarago', 61248199 => 'Woodhouselee', - 61248200 => 'Marulan', + 612482 => 'Goulburn', + 6124820 => 'Marulan', 61248201 => 'Golspie', 61248202 => 'Taralga', - 61248203 => 'Marulan', 61248204 => 'Wombeyan Caves', - 61248205 => 'Marulan', - 61248206 => 'Marulan', - 61248207 => 'Marulan', - 61248208 => 'Marulan', - 61248209 => 'Marulan', - 6124821 => 'Goulburn', - 6124822 => 'Goulburn', - 61248230 => 'Goulburn', - 61248231 => 'Goulburn', - 61248232 => 'Goulburn', 61248233 => 'Crookwell', - 61248234 => 'Goulburn', - 61248235 => 'Goulburn', - 61248236 => 'Goulburn', - 61248237 => 'Goulburn', - 61248238 => 'Goulburn', - 61248239 => 'Goulburn', - 6124824 => 'Goulburn', 61248250 => 'Bevendale', 61248251 => 'Bungonia', 61248252 => 'Bungonia', - 61248253 => 'Goulburn', - 61248254 => 'Goulburn', - 61248255 => 'Goulburn', - 61248256 => 'Goulburn', 61248257 => 'Gunning', 61248258 => 'Nerriga', 61248259 => 'Woodhouselee', - 61248260 => 'Goulburn', - 61248261 => 'Goulburn', - 61248262 => 'Goulburn', 61248263 => 'Woodhouselee', 61248264 => 'Breadalbane', 61248265 => 'Bungonia', 61248266 => 'Tarago', 61248267 => 'Gunning', 61248268 => 'Bevendale', - 61248269 => 'Goulburn', - 61248270 => 'Goulburn', - 61248271 => 'Goulburn', - 61248272 => 'Goulburn', - 61248273 => 'Goulburn', 61248274 => 'Bungonia', 61248275 => 'Woodhouselee', 61248276 => 'Gunning', 61248277 => 'Breadalbane', 61248278 => 'Tarago', 61248279 => 'Braidwood', - 61248280 => 'Goulburn', 61248281 => 'Gundillion', 61248282 => 'Reidsdale', 61248283 => 'Nerriga', - 61248284 => 'Goulburn', - 61248285 => 'Goulburn', - 61248286 => 'Goulburn', - 61248287 => 'Goulburn', - 61248288 => 'Goulburn', - 61248289 => 'Goulburn', - 6124829 => 'Goulburn', - 61248300 => 'Crookwell', - 61248301 => 'Crookwell', + 6124830 => 'Crookwell', 61248302 => 'Binda', 61248303 => 'Tuena', 61248304 => 'Lost River', 61248305 => 'Rugby', - 61248306 => 'Crookwell', - 61248307 => 'Crookwell', - 61248308 => 'Crookwell', - 61248309 => 'Crookwell', 61248310 => 'Golspie', 61248311 => 'Marulan', 61248312 => 'Taralga', @@ -2112,13 +1830,7 @@ return array ( 61248338 => 'Gundillion', 61248339 => 'Gunning', 6124834 => 'Tuena', - 61248350 => 'Binda', - 61248351 => 'Binda', - 61248352 => 'Binda', - 61248353 => 'Binda', - 61248354 => 'Binda', - 61248355 => 'Binda', - 61248356 => 'Binda', + 6124835 => 'Binda', 61248357 => 'Rugby', 61248358 => 'Rugby', 61248359 => 'Rugby', @@ -2147,16 +1859,9 @@ return array ( 6124840 => 'Taralga', 6124841 => 'Marulan', 6124842 => 'Braidwood', - 61248430 => 'Golspie', - 61248431 => 'Golspie', + 6124843 => 'Golspie', 61248432 => 'Woodhouselee', - 61248433 => 'Golspie', - 61248434 => 'Golspie', 61248435 => 'Wombeyan Caves', - 61248436 => 'Golspie', - 61248437 => 'Golspie', - 61248438 => 'Golspie', - 61248439 => 'Golspie', 61248440 => 'Breadalbane', 61248441 => 'Woodhouselee', 61248442 => 'Breadalbane', @@ -2167,28 +1872,17 @@ return array ( 61248447 => 'Bungonia', 61248448 => 'Breadalbane', 61248449 => 'Breadalbane', + 6124845 => 'Gunning', 61248450 => 'Bevendale', - 61248451 => 'Gunning', - 61248452 => 'Gunning', - 61248453 => 'Gunning', - 61248454 => 'Gunning', 61248455 => 'Bevendale', - 61248456 => 'Gunning', - 61248457 => 'Gunning', - 61248458 => 'Gunning', 61248459 => 'Nerriga', 6124846 => 'Reidsdale', 6124847 => 'Gundillion', + 6124848 => 'Bungonia', 61248480 => 'Breadalbane', 61248481 => 'Woodhouselee', 61248482 => 'Woodhouselee', 61248483 => 'Woodhouselee', - 61248484 => 'Bungonia', - 61248485 => 'Bungonia', - 61248486 => 'Bungonia', - 61248487 => 'Bungonia', - 61248488 => 'Bungonia', - 61248489 => 'Bungonia', 6124849 => 'Tarago', 61248500 => 'Braidwood', 61248501 => 'Breadalbane', @@ -2409,38 +2103,17 @@ return array ( 61248807 => 'Tuena', 61248808 => 'Rugby', 61248809 => 'Braidwood', - 61248830 => 'Bundanoon', - 61248831 => 'Bundanoon', - 61248832 => 'Bundanoon', - 61248833 => 'Bundanoon', - 61248834 => 'Bundanoon', - 61248835 => 'Bundanoon', - 61248836 => 'Bundanoon', - 61248837 => 'Bundanoon', - 61248838 => 'Bundanoon', + 6124883 => 'Bundanoon', 61248839 => 'Yerrinbool', + 6124884 => 'Bundanoon', 61248840 => 'Paddys River', 61248841 => 'Paddys River', 61248842 => 'Paddys River', 61248843 => 'Paddys River', - 61248844 => 'Bundanoon', - 61248845 => 'Bundanoon', - 61248846 => 'Bundanoon', - 61248847 => 'Bundanoon', - 61248848 => 'Bundanoon', - 61248849 => 'Bundanoon', 6124885 => 'Robertson', 6124886 => 'Robertson', 6124887 => 'Robertson', - 61248880 => 'Robertson', - 61248881 => 'Robertson', - 61248882 => 'Robertson', - 61248883 => 'Robertson', - 61248884 => 'Robertson', - 61248885 => 'Robertson', - 61248886 => 'Robertson', - 61248887 => 'Robertson', - 61248888 => 'Robertson', + 6124888 => 'Robertson', 61248889 => 'Barrallier', 6124889 => 'Yerrinbool', 61248900 => 'Tuena', @@ -2448,12 +2121,8 @@ return array ( 61248997 => 'Bowral', 61248998 => 'Goulburn', 61248999 => 'Goulburn', - 6124900 => 'Newcastle', + 612490 => 'Newcastle', 6124901 => 'Nelson Bay', - 6124902 => 'Newcastle', - 6124903 => 'Newcastle', - 6124904 => 'Newcastle', - 61249050 => 'Newcastle', 61249051 => 'Maitland', 61249052 => 'Maitland', 61249053 => 'Maitland', @@ -2463,9 +2132,6 @@ return array ( 61249057 => 'Bandon Grove', 61249058 => 'Branxton', 61249059 => 'Bulahdelah', - 6124906 => 'Newcastle', - 6124907 => 'Newcastle', - 6124908 => 'Newcastle', 61249090 => 'East Gresford', 61249091 => 'East Gresford', 61249092 => 'East Gresford', @@ -2498,15 +2164,7 @@ return array ( 61249137 => 'Newcastle', 61249138 => 'Newcastle', 61249139 => 'Newcastle', - 61249140 => 'Newcastle', - 61249141 => 'Newcastle', - 61249142 => 'Newcastle', - 61249143 => 'Newcastle', - 61249144 => 'Newcastle', - 61249145 => 'Newcastle', - 61249146 => 'Newcastle', - 61249147 => 'Newcastle', - 61249148 => 'Newcastle', + 6124914 => 'Newcastle', 61249149 => 'Maitland', 6124915 => 'Newcastle', 61249160 => 'Nelson Bay', @@ -2530,43 +2188,15 @@ return array ( 61249178 => 'Wards River', 61249179 => 'Wootton', 6124918 => 'Newcastle', - 61249190 => 'Nelson Bay', - 61249191 => 'Nelson Bay', - 61249192 => 'Nelson Bay', - 61249193 => 'Nelson Bay', - 61249194 => 'Nelson Bay', - 61249195 => 'Nelson Bay', - 61249196 => 'Nelson Bay', + 6124919 => 'Nelson Bay', 61249197 => 'Tea Gardens', 61249198 => 'Tea Gardens', 61249199 => 'Tea Gardens', - 6124920 => 'Newcastle', - 6124921 => 'Newcastle', - 6124922 => 'Newcastle', - 6124923 => 'Newcastle', - 6124924 => 'Newcastle', - 6124925 => 'Newcastle', - 6124926 => 'Newcastle', - 6124927 => 'Newcastle', - 6124928 => 'Newcastle', - 6124929 => 'Newcastle', - 6124930 => 'Maitland', - 61249310 => 'Maitland', - 61249311 => 'Maitland', - 61249312 => 'Maitland', - 61249313 => 'Maitland', - 61249314 => 'Maitland', + 612492 => 'Newcastle', + 612493 => 'Maitland', 61249315 => 'Eccleston', - 61249316 => 'Maitland', 61249317 => 'Eccleston', - 61249318 => 'Maitland', - 61249319 => 'Maitland', - 6124932 => 'Maitland', - 6124933 => 'Maitland', - 6124934 => 'Maitland', 6124935 => 'Newcastle', - 6124936 => 'Maitland', - 6124937 => 'Maitland', 61249380 => 'Mulbring', 61249381 => 'Branxton', 61249382 => 'Branxton', @@ -2578,11 +2208,6 @@ return array ( 61249388 => 'East Gresford', 61249389 => 'East Gresford', 61249390 => 'Branxton', - 61249391 => 'Maitland', - 61249392 => 'Maitland', - 61249393 => 'Maitland', - 61249394 => 'Maitland', - 61249395 => 'Maitland', 61249396 => 'Laguna', 61249397 => 'Mulbring', 61249398 => 'East Gresford', @@ -2590,24 +2215,9 @@ return array ( 612494 => 'Newcastle', 612495 => 'Newcastle', 612496 => 'Newcastle', - 6124970 => 'Swansea', - 6124971 => 'Swansea', - 6124972 => 'Swansea', - 6124973 => 'Swansea', + 612497 => 'Swansea', 6124974 => 'Newcastle', - 6124975 => 'Swansea', - 6124976 => 'Swansea', - 6124977 => 'Swansea', - 61249780 => 'Swansea', - 61249781 => 'Swansea', - 61249782 => 'Swansea', - 61249783 => 'Newcastle', - 61249784 => 'Newcastle', - 61249785 => 'Newcastle', - 61249786 => 'Newcastle', - 61249787 => 'Newcastle', - 61249788 => 'Newcastle', - 61249789 => 'Newcastle', + 6124978 => 'Newcastle', 6124979 => 'Newcastle', 61249800 => 'Raymond Terrace', 61249801 => 'Swansea', @@ -2625,15 +2235,8 @@ return array ( 6124984 => 'Nelson Bay', 6124985 => 'Newcastle', 6124986 => 'Swansea', + 6124987 => 'Raymond Terrace', 61249870 => 'Karuah', - 61249871 => 'Raymond Terrace', - 61249872 => 'Raymond Terrace', - 61249873 => 'Raymond Terrace', - 61249874 => 'Raymond Terrace', - 61249875 => 'Raymond Terrace', - 61249876 => 'Raymond Terrace', - 61249877 => 'Raymond Terrace', - 61249878 => 'Raymond Terrace', 61249879 => 'Bulahdelah', 6124988 => 'Raymond Terrace', 6124989 => 'Newcastle', @@ -2641,26 +2244,13 @@ return array ( 6124991 => 'Cessnock', 6124992 => 'Dungog', 6124993 => 'Cessnock', - 61249940 => 'Stroud', - 61249941 => 'Stroud', - 61249942 => 'Stroud', - 61249943 => 'Stroud', - 61249944 => 'Stroud', - 61249945 => 'Stroud', + 6124994 => 'Stroud', 61249946 => 'Wards River', 61249947 => 'Wards River', 61249948 => 'Wards River', - 61249949 => 'Stroud', - 61249950 => 'Bandon Grove', - 61249951 => 'Bandon Grove', - 61249952 => 'Bandon Grove', - 61249953 => 'Bandon Grove', - 61249954 => 'Bandon Grove', - 61249955 => 'Bandon Grove', + 6124995 => 'Bandon Grove', 61249956 => 'Dungog', 61249957 => 'Dungog', - 61249958 => 'Bandon Grove', - 61249959 => 'Bandon Grove', 6124996 => 'Clarence Town', 61249970 => 'Tea Gardens', 61249971 => 'Tea Gardens', @@ -2672,14 +2262,7 @@ return array ( 61249977 => 'Wootton', 61249978 => 'Wootton', 61249979 => 'Tea Gardens', - 61249980 => 'Cessnock', - 61249981 => 'Cessnock', - 61249982 => 'Cessnock', - 61249983 => 'Cessnock', - 61249984 => 'Cessnock', - 61249985 => 'Cessnock', - 61249986 => 'Cessnock', - 61249987 => 'Cessnock', + 6124998 => 'Cessnock', 61249988 => 'Laguna', 61249989 => 'Laguna', 61249990 => 'Clarence Town', @@ -2805,12 +2388,11 @@ return array ( 61250138 => 'Walla Walla', 61250139 => 'Walwa', 61250140 => 'Yackandandah', - 6125100 => 'Canberra', + 612510 => 'Canberra', 61251010 => 'Anembo', 61251011 => 'Binalong', 61251012 => 'Bungendore', 61251013 => 'Burrinjuck', - 61251014 => 'Canberra', 61251015 => 'Captains Flat', 61251016 => 'Cavan', 61251017 => 'Gearys Gap', @@ -2824,12 +2406,7 @@ return array ( 61251025 => 'Binalong', 61251026 => 'Bungendore', 61251027 => 'Burrinjuck', - 61251028 => 'Canberra', 61251029 => 'Captains Flat', - 6125103 => 'Canberra', - 6125104 => 'Canberra', - 6125105 => 'Canberra', - 6125106 => 'Canberra', 61251070 => 'Cavan', 61251071 => 'Gearys Gap', 61251072 => 'Gundaroo', @@ -2840,18 +2417,9 @@ return array ( 61251077 => 'Yass', 61251078 => 'Anembo', 61251079 => 'Binalong', - 6125108 => 'Canberra', - 6125109 => 'Canberra', + 6125110 => 'Canberra', 61251100 => 'Bungendore', 61251101 => 'Burrinjuck', - 61251102 => 'Canberra', - 61251103 => 'Canberra', - 61251104 => 'Canberra', - 61251105 => 'Canberra', - 61251106 => 'Canberra', - 61251107 => 'Canberra', - 61251108 => 'Canberra', - 61251109 => 'Canberra', 6125111 => 'Canberra', 61251120 => 'Canberra', 61251121 => 'Canberra', @@ -2996,13 +2564,8 @@ return array ( 61253097 => 'Milvale', 61253098 => 'Monteagle', 61253099 => 'Murringo', + 6125310 => 'Orange', 61253100 => 'Young', - 61253101 => 'Orange', - 61253102 => 'Orange', - 61253103 => 'Orange', - 61253104 => 'Orange', - 61253105 => 'Orange', - 61253106 => 'Orange', 61253107 => 'Millthorpe', 61253108 => 'Millthorpe', 61253109 => 'Lyndhurst', @@ -3462,12 +3025,7 @@ return array ( 61255247 => 'Port Macquarie', 61255248 => 'Rawdon Vale', 61255249 => 'Rawdon Vale', - 61255250 => 'Port Macquarie', - 61255251 => 'Port Macquarie', - 61255252 => 'Port Macquarie', - 61255253 => 'Port Macquarie', - 61255254 => 'Port Macquarie', - 61255255 => 'Port Macquarie', + 6125525 => 'Port Macquarie', 61255256 => 'Taree', 61255257 => 'Jerrys Plains', 61255258 => 'Comboyne', @@ -3973,16 +3531,11 @@ return array ( 61256197 => 'Wooli', 61256198 => 'Wooli', 61256199 => 'Grafton', - 61256200 => 'Casino', - 61256201 => 'Casino', - 61256202 => 'Casino', - 61256203 => 'Casino', - 61256204 => 'Casino', + 6125620 => 'Casino', 61256205 => 'Lismore', 61256206 => 'Coffs Harbour', 61256207 => 'Bonalbo', 61256208 => 'Lawrence', - 61256209 => 'Casino', 61256210 => 'Dyraaba', 61256211 => 'Grafton', 61256212 => 'Leeville', @@ -4223,13 +3776,8 @@ return array ( 61256447 => 'Ulong', 61256448 => 'Urbenville', 61256449 => 'Whiporie', + 6125645 => 'Coffs Harbour', 61256450 => 'Grafton', - 61256451 => 'Coffs Harbour', - 61256452 => 'Coffs Harbour', - 61256453 => 'Coffs Harbour', - 61256454 => 'Coffs Harbour', - 61256455 => 'Coffs Harbour', - 61256456 => 'Coffs Harbour', 61256457 => 'Lismore', 61256458 => 'Lismore', 61256459 => 'Grafton', @@ -4424,16 +3972,9 @@ return array ( 61257117 => 'Ogunbil', 61257118 => 'Limbri', 61257119 => 'Limbri', - 61257120 => 'Tamworth', - 61257121 => 'Tamworth', - 61257122 => 'Tamworth', - 61257123 => 'Tamworth', - 61257124 => 'Tamworth', - 61257125 => 'Tamworth', - 61257126 => 'Tamworth', + 6125712 => 'Tamworth', 61257127 => 'Nundle', 61257128 => 'Nundle', - 61257129 => 'Tamworth', 61257130 => 'Armidale', 61257131 => 'Uralla', 61257132 => 'Gunnedah', @@ -4771,16 +4312,11 @@ return array ( 61257757 => 'Nowendoc', 61257758 => 'Armidale', 61257759 => 'Armidale', + 6125776 => 'Tamworth', 61257760 => 'Armidale', - 61257761 => 'Tamworth', 61257762 => 'Armidale', 61257763 => 'Armidale', 61257764 => 'Armidale', - 61257765 => 'Tamworth', - 61257766 => 'Tamworth', - 61257767 => 'Tamworth', - 61257768 => 'Tamworth', - 61257769 => 'Tamworth', 61257770 => 'Tamworth', 61257771 => 'Tamworth', 61257772 => 'Tamworth', @@ -5255,15 +4791,9 @@ return array ( 61259077 => 'West Wyalong', 61259078 => 'Coolamon', 61259079 => 'Coolamon', - 61259080 => 'Wagga Wagga', - 61259081 => 'Wagga Wagga', - 61259082 => 'Wagga Wagga', - 61259083 => 'Wagga Wagga', - 61259084 => 'Wagga Wagga', + 6125908 => 'Wagga Wagga', 61259085 => 'Barmedman', 61259086 => 'Barmedman', - 61259087 => 'Wagga Wagga', - 61259088 => 'Wagga Wagga', 61259089 => 'Henty', 61259090 => 'Gundagai', 61259091 => 'Griffith', @@ -5836,12 +5366,7 @@ return array ( 61260197 => 'Culcairn', 61260198 => 'Gerogery', 61260199 => 'Holbrook', - 61260200 => 'Talgarno', - 61260201 => 'Talgarno', - 61260202 => 'Talgarno', - 61260203 => 'Talgarno', - 61260204 => 'Talgarno', - 61260205 => 'Talgarno', + 6126020 => 'Talgarno', 61260206 => 'Albury', 61260207 => 'Albury', 61260208 => 'Albury', @@ -5893,13 +5418,7 @@ return array ( 61260317 => 'Talgarno', 61260318 => 'Talmalmo', 61260319 => 'Walla Walla', - 61260320 => 'Rennie', - 61260321 => 'Rennie', - 61260322 => 'Rennie', - 61260323 => 'Rennie', - 61260324 => 'Rennie', - 61260325 => 'Rennie', - 61260326 => 'Rennie', + 6126032 => 'Rennie', 61260327 => 'Corowa', 61260328 => 'Corowa', 61260329 => 'Corowa', @@ -5924,26 +5443,15 @@ return array ( 61260357 => 'Corowa', 61260358 => 'Balldale', 61260359 => 'Rennie', - 61260360 => 'Holbrook', - 61260361 => 'Holbrook', - 61260362 => 'Holbrook', - 61260363 => 'Holbrook', - 61260364 => 'Holbrook', - 61260365 => 'Holbrook', - 61260366 => 'Holbrook', + 6126036 => 'Holbrook', 61260367 => 'Little Billabong', 61260368 => 'Coppabella', 61260369 => 'Coppabella', - 61260370 => 'Walwa', - 61260371 => 'Walwa', + 6126037 => 'Walwa', 61260372 => 'Talmalmo', 61260373 => 'Talmalmo', 61260374 => 'Ournie', 61260375 => 'Ournie', - 61260376 => 'Walwa', - 61260377 => 'Walwa', - 61260378 => 'Walwa', - 61260379 => 'Walwa', 61260380 => 'Albury', 61260381 => 'Balldale', 61260382 => 'Barnawartha', @@ -6040,15 +5548,7 @@ return array ( 6126055 => 'Albury', 6126056 => 'Albury', 6126057 => 'Albury', - 61260580 => 'Albury', - 61260581 => 'Albury', - 61260582 => 'Albury', - 61260583 => 'Albury', - 61260584 => 'Albury', - 61260585 => 'Albury', - 61260586 => 'Albury', - 61260587 => 'Albury', - 61260588 => 'Albury', + 6126058 => 'Albury', 61260589 => 'Talmalmo', 6126059 => 'Albury', 6126060 => 'Albury', @@ -6147,15 +5647,8 @@ return array ( 61260707 => 'Cudgewa', 61260708 => 'Nariel', 61260709 => 'Corryong', + 6126071 => 'Tallangatta', 61260710 => 'Tallangatta Valley', - 61260711 => 'Tallangatta', - 61260712 => 'Tallangatta', - 61260713 => 'Tallangatta', - 61260714 => 'Tallangatta', - 61260715 => 'Tallangatta', - 61260716 => 'Tallangatta', - 61260717 => 'Tallangatta', - 61260718 => 'Tallangatta', 61260719 => 'Tallangatta Valley', 61260720 => 'Eskdale', 61260721 => 'Eskdale', @@ -6197,15 +5690,10 @@ return array ( 61260757 => 'Oaklands', 61260758 => 'Oaklands', 61260759 => 'Albury', + 6126076 => 'Corryong', 61260760 => 'Nariel', - 61260761 => 'Corryong', - 61260762 => 'Corryong', - 61260763 => 'Corryong', - 61260764 => 'Corryong', 61260765 => 'Nariel', 61260766 => 'Nariel', - 61260767 => 'Corryong', - 61260768 => 'Corryong', 61260769 => 'Nariel', 61260770 => 'Nariel', 61260771 => 'Nariel', @@ -6327,10 +5815,7 @@ return array ( 61260924 => 'Albury', 61260925 => 'Albury', 61260926 => 'Albury', - 6126100 => 'Canberra', - 6126101 => 'Canberra', - 6126102 => 'Canberra', - 6126103 => 'Canberra', + 61261 => 'Canberra', 61261040 => 'Anembo', 61261041 => 'Anembo', 61261042 => 'Anembo', @@ -6340,7 +5825,6 @@ return array ( 61261046 => 'Bungendore', 61261047 => 'Bungendore', 61261048 => 'Bungendore', - 61261049 => 'Canberra', 61261050 => 'Burrinjuck', 61261051 => 'Burrinjuck', 61261052 => 'Burrinjuck', @@ -6374,18 +5858,12 @@ return array ( 61261080 => 'Yass', 61261081 => 'Yass', 61261082 => 'Yass', - 61261083 => 'Canberra', - 61261084 => 'Canberra', 61261085 => 'The Mullion', 61261086 => 'Uriarra Forest', 61261087 => 'Yass', 61261088 => 'Anembo', 61261089 => 'Binalong', - 6126109 => 'Canberra', - 6126110 => 'Canberra', 61261110 => 'Bungendore', - 61261111 => 'Canberra', - 61261112 => 'Canberra', 61261113 => 'Bungendore', 61261114 => 'Burrinjuck', 61261115 => 'Captains Flat', @@ -6393,14 +5871,7 @@ return array ( 61261117 => 'Gearys Gap', 61261118 => 'Gundaroo', 61261119 => 'Michelago', - 6126112 => 'Canberra', - 6126113 => 'Canberra', 61261140 => 'Burrinjuck', - 61261141 => 'Canberra', - 61261142 => 'Canberra', - 61261143 => 'Canberra', - 61261144 => 'Canberra', - 61261145 => 'Canberra', 61261146 => 'Captains Flat', 61261147 => 'Cavan', 61261148 => 'Gearys Gap', @@ -6423,7 +5894,6 @@ return array ( 61261165 => 'Gundaroo', 61261166 => 'Michelago', 61261167 => 'Rye Park', - 61261168 => 'Canberra', 61261169 => 'Anembo', 61261170 => 'Binalong', 61261171 => 'Bungendore', @@ -6455,18 +5925,6 @@ return array ( 61261197 => 'Bungendore', 61261198 => 'Yass', 61261199 => 'Rye Park', - 6126120 => 'Canberra', - 6126121 => 'Canberra', - 6126122 => 'Canberra', - 6126123 => 'Canberra', - 6126124 => 'Canberra', - 6126125 => 'Canberra', - 6126126 => 'Canberra', - 6126127 => 'Canberra', - 6126128 => 'Canberra', - 6126129 => 'Canberra', - 61261300 => 'Canberra', - 61261301 => 'Canberra', 61261302 => 'Uriarra Forest', 61261303 => 'Yass', 61261304 => 'Anembo', @@ -6475,22 +5933,16 @@ return array ( 61261307 => 'Burrinjuck', 61261308 => 'Captains Flat', 61261309 => 'Cavan', - 6126131 => 'Canberra', - 6126132 => 'Canberra', - 6126133 => 'Canberra', 61261340 => 'Gearys Gap', 61261341 => 'Gundaroo', 61261342 => 'Michelago', 61261343 => 'The Mullion', 61261344 => 'Uriarra Forest', 61261345 => 'Yass', - 61261346 => 'Canberra', 61261347 => 'Anembo', 61261348 => 'Binalong', 61261349 => 'Bungendore', - 6126135 => 'Canberra', 61261360 => 'Burrinjuck', - 61261361 => 'Canberra', 61261362 => 'Captains Flat', 61261363 => 'Cavan', 61261364 => 'Gearys Gap', @@ -6520,7 +5972,6 @@ return array ( 61261388 => 'Binalong', 61261389 => 'Bungendore', 61261390 => 'Burrinjuck', - 61261391 => 'Canberra', 61261392 => 'Captains Flat', 61261393 => 'Cavan', 61261394 => 'Gearys Gap', @@ -6530,31 +5981,9 @@ return array ( 61261398 => 'The Mullion', 61261399 => 'Uriarra Forest', 61261400 => 'Yass', - 61261401 => 'Canberra', - 61261402 => 'Canberra', - 61261403 => 'Canberra', - 61261404 => 'Canberra', - 61261405 => 'Canberra', - 61261406 => 'Canberra', - 61261407 => 'Canberra', - 61261408 => 'Canberra', 61261409 => 'Anembo', 61261410 => 'Binalong', - 61261411 => 'Canberra', - 61261412 => 'Canberra', - 61261413 => 'Canberra', - 61261414 => 'Canberra', - 61261415 => 'Canberra', - 61261416 => 'Canberra', - 61261417 => 'Canberra', - 61261418 => 'Canberra', - 61261419 => 'Canberra', - 6126142 => 'Canberra', - 6126143 => 'Canberra', - 6126144 => 'Canberra', - 61261450 => 'Canberra', 61261451 => 'Michelago', - 61261452 => 'Canberra', 61261453 => 'Yass', 61261454 => 'Captains Flat', 61261455 => 'Cavan', @@ -6562,8 +5991,6 @@ return array ( 61261457 => 'Gundaroo', 61261458 => 'Gearys Gap', 61261459 => 'Bungendore', - 6126146 => 'Canberra', - 6126147 => 'Canberra', 61261480 => 'Burrinjuck', 61261481 => 'The Mullion', 61261482 => 'Uriarra Forest', @@ -6573,7 +6000,6 @@ return array ( 61261486 => 'Burrinjuck', 61261487 => 'Michelago', 61261488 => 'Yass', - 61261489 => 'Canberra', 61261490 => 'Captains Flat', 61261491 => 'Captains Flat', 61261492 => 'Cavan', @@ -6589,41 +6015,16 @@ return array ( 61261502 => 'Bungendore', 61261503 => 'Rye Park', 61261504 => 'Burrinjuck', - 61261505 => 'Canberra', - 61261506 => 'Canberra', - 61261507 => 'Canberra', - 61261508 => 'Canberra', - 61261509 => 'Canberra', - 6126151 => 'Canberra', - 61261520 => 'Canberra', - 61261521 => 'Canberra', - 61261522 => 'Canberra', - 61261523 => 'Canberra', - 61261524 => 'Canberra', - 61261525 => 'Canberra', 61261526 => 'Yass', 61261527 => 'Yass', - 61261528 => 'Canberra', - 61261529 => 'Canberra', - 61261530 => 'Canberra', - 61261531 => 'Canberra', - 61261532 => 'Canberra', - 61261533 => 'Canberra', - 61261534 => 'Canberra', - 61261535 => 'Canberra', - 61261536 => 'Canberra', 61261537 => 'The Mullion', 61261538 => 'Bungendore', 61261539 => 'Michelago', - 6126154 => 'Canberra', - 6126155 => 'Canberra', - 6126156 => 'Canberra', 61261570 => 'Anembo', 61261571 => 'Binalong', 61261572 => 'Yass', 61261573 => 'Bungendore', 61261574 => 'Burrinjuck', - 61261575 => 'Canberra', 61261576 => 'Captains Flat', 61261577 => 'Cavan', 61261578 => 'Uriarra Forest', @@ -6641,17 +6042,7 @@ return array ( 61261590 => 'The Mullion', 61261591 => 'Gearys Gap', 61261592 => 'Rye Park', - 61261593 => 'Canberra', - 61261594 => 'Canberra', - 61261595 => 'Canberra', - 61261596 => 'Canberra', - 61261597 => 'Canberra', - 61261598 => 'Canberra', 61261599 => 'Uriarra Forest', - 6126160 => 'Canberra', - 6126161 => 'Canberra', - 6126162 => 'Canberra', - 6126163 => 'Canberra', 61261640 => 'Anembo', 61261641 => 'Binalong', 61261642 => 'Bungendore', @@ -6662,9 +6053,6 @@ return array ( 61261647 => 'Gundaroo', 61261648 => 'Michelago', 61261649 => 'Rye Park', - 6126165 => 'Canberra', - 6126166 => 'Canberra', - 6126167 => 'Canberra', 61261680 => 'Burrinjuck', 61261681 => 'Binalong', 61261682 => 'Bungendore', @@ -6678,73 +6066,16 @@ return array ( 61261690 => 'Rye Park', 61261691 => 'Yass', 61261692 => 'Uriarra Forest', - 61261693 => 'Canberra', - 61261694 => 'Canberra', - 61261695 => 'Canberra', - 61261696 => 'Canberra', - 61261697 => 'Canberra', 61261698 => 'Bungendore', 61261699 => 'Bungendore', - 6126170 => 'Canberra', - 6126171 => 'Canberra', - 6126172 => 'Canberra', - 6126173 => 'Canberra', - 6126174 => 'Canberra', - 6126175 => 'Canberra', - 6126176 => 'Canberra', - 6126177 => 'Canberra', - 6126178 => 'Canberra', 61261790 => 'Yass', 61261791 => 'Michelago', 61261792 => 'Gundaroo', - 61261793 => 'Canberra', - 61261794 => 'Canberra', - 61261795 => 'Canberra', - 61261796 => 'Canberra', - 61261797 => 'Canberra', - 61261798 => 'Canberra', - 61261799 => 'Canberra', - 6126180 => 'Canberra', - 6126181 => 'Canberra', - 6126182 => 'Canberra', - 6126183 => 'Canberra', - 6126184 => 'Canberra', - 6126185 => 'Canberra', - 6126186 => 'Canberra', - 6126187 => 'Canberra', - 61261880 => 'Canberra', 61261881 => 'Captains Flat', - 61261882 => 'Canberra', - 61261883 => 'Canberra', - 61261884 => 'Canberra', - 61261885 => 'Canberra', - 61261886 => 'Canberra', - 61261887 => 'Canberra', - 61261888 => 'Canberra', - 61261889 => 'Canberra', - 6126189 => 'Canberra', - 6126190 => 'Canberra', - 6126191 => 'Canberra', - 6126192 => 'Canberra', - 6126193 => 'Canberra', - 61261940 => 'Canberra', - 61261941 => 'Canberra', - 61261942 => 'Canberra', - 61261943 => 'Canberra', - 61261944 => 'Canberra', - 61261945 => 'Canberra', 61261946 => 'Rye Park', 61261947 => 'Gearys Gap', 61261948 => 'Gundaroo', - 61261949 => 'Canberra', - 6126195 => 'Canberra', - 6126196 => 'Canberra', - 6126197 => 'Canberra', - 6126198 => 'Canberra', - 6126199 => 'Canberra', - 612620 => 'Canberra', - 612621 => 'Canberra', - 61262200 => 'Canberra', + 61262 => 'Canberra', 61262201 => 'Yass', 61262202 => 'Yass', 61262203 => 'Binalong', @@ -6752,23 +6083,8 @@ return array ( 61262205 => 'Cavan', 61262206 => 'Rye Park', 61262207 => 'The Mullion', - 61262208 => 'Canberra', - 61262209 => 'Canberra', - 6126221 => 'Canberra', - 6126222 => 'Canberra', - 6126223 => 'Canberra', - 6126224 => 'Canberra', - 6126225 => 'Canberra', - 61262260 => 'Yass', - 61262261 => 'Yass', - 61262262 => 'Yass', - 61262263 => 'Yass', - 61262264 => 'Yass', - 61262265 => 'Yass', - 61262266 => 'Yass', - 61262267 => 'Yass', + 6126226 => 'Yass', 61262268 => 'The Mullion', - 61262269 => 'Yass', 61262270 => 'The Mullion', 61262271 => 'Yass', 61262272 => 'Rye Park', @@ -6779,21 +6095,7 @@ return array ( 61262277 => 'Binalong', 61262278 => 'Burrinjuck', 61262279 => 'Cavan', - 6126228 => 'Canberra', - 6126229 => 'Canberra', - 61262300 => 'Canberra', - 61262301 => 'Canberra', - 61262302 => 'Canberra', - 61262303 => 'Canberra', - 61262304 => 'Canberra', - 61262305 => 'Canberra', - 61262306 => 'Canberra', - 61262307 => 'Canberra', 61262308 => 'Anembo', - 61262309 => 'Canberra', - 6126231 => 'Canberra', - 6126232 => 'Canberra', - 61262330 => 'Canberra', 61262331 => 'Bungendore', 61262332 => 'Gearys Gap', 61262333 => 'Gundaroo', @@ -6801,9 +6103,6 @@ return array ( 61262335 => 'Michelago', 61262336 => 'Captains Flat', 61262337 => 'Anembo', - 61262338 => 'Canberra', - 61262339 => 'Canberra', - 6126234 => 'Canberra', 6126235 => 'Michelago', 61262360 => 'Uriarra Forest', 61262361 => 'Uriarra Forest', @@ -6817,13 +6116,6 @@ return array ( 61262369 => 'Gearys Gap', 6126237 => 'Michelago', 6126238 => 'Bungendore', - 6126239 => 'Canberra', - 612624 => 'Canberra', - 612625 => 'Canberra', - 612626 => 'Canberra', - 612627 => 'Canberra', - 612628 => 'Canberra', - 612629 => 'Canberra', 61263000 => 'Bathurst', 61263001 => 'Burraga', 61263002 => 'Gingkin', @@ -7115,11 +6407,7 @@ return array ( 61263297 => 'Rockley', 61263298 => 'Oberon', 61263299 => 'Burraga', - 6126330 => 'Bathurst', - 6126331 => 'Bathurst', - 6126332 => 'Bathurst', - 6126333 => 'Bathurst', - 6126334 => 'Bathurst', + 612633 => 'Bathurst', 61263350 => 'Hill End', 61263351 => 'Hill End', 61263352 => 'Limekilns', @@ -7130,33 +6418,14 @@ return array ( 61263357 => 'Gingkin', 61263358 => 'Burraga', 61263359 => 'Gingkin', - 61263360 => 'Oberon', - 61263361 => 'Oberon', - 61263362 => 'Oberon', - 61263363 => 'Oberon', - 61263364 => 'Oberon', - 61263365 => 'Oberon', - 61263366 => 'Oberon', - 61263367 => 'Oberon', - 61263368 => 'Bathurst', - 61263369 => 'Bathurst', + 6126336 => 'Oberon', 61263370 => 'Burraga', - 61263371 => 'Bathurst', - 61263372 => 'Bathurst', - 61263373 => 'Bathurst', 61263374 => 'Killongbutta', 61263375 => 'Yetholme', - 61263376 => 'Bathurst', 61263377 => 'Limekilns', 61263378 => 'Hill End', 61263379 => 'Rockley', 61263380 => 'Limekilns', - 61263381 => 'Bathurst', - 61263382 => 'Bathurst', - 61263383 => 'Bathurst', - 61263384 => 'Bathurst', - 61263385 => 'Bathurst', - 61263386 => 'Bathurst', 61263387 => 'Gingkin', 61263388 => 'Hill End', 61263389 => 'Killongbutta', @@ -7164,12 +6433,7 @@ return array ( 61263391 => 'Oberon', 61263392 => 'Rockley', 61263393 => 'Yetholme', - 61263394 => 'Bathurst', - 61263395 => 'Bathurst', 61263396 => 'Oberon', - 61263397 => 'Bathurst', - 61263398 => 'Bathurst', - 61263399 => 'Bathurst', 61263400 => 'Cowra', 61263401 => 'Cowra', 61263402 => 'Cowra', @@ -7182,16 +6446,9 @@ return array ( 61263409 => 'Cowra', 6126341 => 'Cowra', 6126342 => 'Cowra', - 61263430 => 'Grenfell', - 61263431 => 'Grenfell', - 61263432 => 'Grenfell', - 61263433 => 'Grenfell', - 61263434 => 'Grenfell', - 61263435 => 'Grenfell', + 6126343 => 'Grenfell', 61263436 => 'Greenethorpe', - 61263437 => 'Grenfell', 61263438 => 'Tyagong', - 61263439 => 'Grenfell', 6126344 => 'Canowindra', 61263450 => 'Woodstock', 61263451 => 'Woodstock', @@ -7243,47 +6500,17 @@ return array ( 61263497 => 'Tyagong', 61263498 => 'Cowra', 61263499 => 'Cowra', - 61263500 => 'Lithgow', - 61263501 => 'Lithgow', - 61263502 => 'Lithgow', - 61263503 => 'Lithgow', + 612635 => 'Lithgow', 61263504 => 'Hampton', 61263505 => 'Meadow Flat', 61263506 => 'Portland', - 61263507 => 'Lithgow', - 61263508 => 'Lithgow', - 61263509 => 'Lithgow', - 6126351 => 'Lithgow', - 6126352 => 'Lithgow', - 6126353 => 'Lithgow', - 6126354 => 'Lithgow', - 61263550 => 'Lithgow', - 61263551 => 'Lithgow', - 61263552 => 'Lithgow', - 61263553 => 'Lithgow', 61263554 => 'Portland', 61263555 => 'Portland', - 61263556 => 'Lithgow', - 61263557 => 'Lithgow', - 61263558 => 'Lithgow', - 61263559 => 'Lithgow', - 6126356 => 'Lithgow', - 61263570 => 'Kandos', + 6126357 => 'Kandos', 61263571 => 'Running Stream', 61263572 => 'Bylong', - 61263573 => 'Kandos', 61263574 => 'Glen Davis', - 61263575 => 'Kandos', - 61263576 => 'Kandos', - 61263577 => 'Kandos', - 61263578 => 'Kandos', - 61263579 => 'Kandos', - 61263580 => 'Bathurst', - 61263581 => 'Bathurst', - 61263582 => 'Bathurst', - 61263583 => 'Bathurst', - 61263584 => 'Bathurst', - 61263585 => 'Bathurst', + 6126358 => 'Bathurst', 61263586 => 'Running Stream', 61263587 => 'Running Stream', 61263588 => 'Running Stream', @@ -7298,10 +6525,7 @@ return array ( 61263597 => 'Meadow Flat', 61263598 => 'Meadow Flat', 61263599 => 'Meadow Flat', - 6126360 => 'Orange', - 6126361 => 'Orange', - 6126362 => 'Orange', - 6126363 => 'Orange', + 612636 => 'Orange', 61263640 => 'Cudal', 61263641 => 'Euchareena', 61263642 => 'Cudal', @@ -7312,15 +6536,9 @@ return array ( 61263647 => 'Manildra', 61263648 => 'Euchareena', 61263649 => 'Manildra', - 6126365 => 'Orange', + 6126366 => 'Millthorpe', 61263660 => 'Euchareena', 61263661 => 'Molong', - 61263662 => 'Millthorpe', - 61263663 => 'Millthorpe', - 61263664 => 'Millthorpe', - 61263665 => 'Millthorpe', - 61263666 => 'Millthorpe', - 61263667 => 'Millthorpe', 61263668 => 'Molong', 61263669 => 'Molong', 61263670 => 'Millthorpe', @@ -7333,36 +6551,17 @@ return array ( 61263677 => 'Cumnock', 61263678 => 'Cumnock', 61263679 => 'Baldry', + 6126368 => 'Blayney', 61263680 => 'Neville', - 61263681 => 'Blayney', - 61263682 => 'Blayney', - 61263683 => 'Blayney', - 61263684 => 'Blayney', - 61263685 => 'Blayney', - 61263686 => 'Blayney', - 61263687 => 'Blayney', 61263688 => 'Neville', - 61263689 => 'Blayney', - 61263690 => 'Orange', - 61263691 => 'Orange', - 61263692 => 'Orange', - 61263693 => 'Orange', 61263694 => 'Molong', 61263695 => 'Molong', 61263696 => 'Molong', - 61263697 => 'Orange', - 61263698 => 'Orange', - 61263699 => 'Orange', - 61263700 => 'Mudgee', + 6126370 => 'Mudgee', 61263701 => 'Twelve Mile', 61263702 => 'Wollar', 61263703 => 'Dunedoo', 61263704 => 'Windeyer', - 61263705 => 'Mudgee', - 61263706 => 'Mudgee', - 61263707 => 'Mudgee', - 61263708 => 'Mudgee', - 61263709 => 'Mudgee', 61263710 => 'Wollar', 61263711 => 'Wollar', 61263712 => 'Wollar', @@ -7394,14 +6593,8 @@ return array ( 61263747 => 'Laheys Creek', 61263748 => 'Laheys Creek', 61263749 => 'Laheys Creek', + 6126375 => 'Dunedoo', 61263750 => 'Leadville', - 61263751 => 'Dunedoo', - 61263752 => 'Dunedoo', - 61263753 => 'Dunedoo', - 61263754 => 'Dunedoo', - 61263755 => 'Dunedoo', - 61263756 => 'Dunedoo', - 61263757 => 'Dunedoo', 61263758 => 'Birriwa', 61263759 => 'Birriwa', 61263760 => 'Cassilis', @@ -7425,13 +6618,7 @@ return array ( 61263787 => 'Gulgong', 61263788 => 'Laheys Creek', 61263789 => 'Leadville', - 61263790 => 'Kandos', - 61263791 => 'Kandos', - 61263792 => 'Kandos', - 61263793 => 'Kandos', - 61263794 => 'Kandos', - 61263795 => 'Kandos', - 61263796 => 'Kandos', + 6126379 => 'Kandos', 61263797 => 'Glen Davis', 61263798 => 'Bylong', 61263799 => 'Bylong', @@ -7466,36 +6653,19 @@ return array ( 61263837 => 'Monteagle', 61263838 => 'Monteagle', 61263839 => 'Monteagle', - 61263840 => 'Young', - 61263841 => 'Young', - 61263842 => 'Young', - 61263843 => 'Young', - 61263844 => 'Young', + 6126384 => 'Young', 61263845 => 'Murringo', 61263846 => 'Murringo', 61263847 => 'Milvale', 61263848 => 'Milvale', - 61263849 => 'Young', - 61263850 => 'Boorowa', - 61263851 => 'Boorowa', - 61263852 => 'Boorowa', - 61263853 => 'Boorowa', - 61263854 => 'Boorowa', - 61263855 => 'Boorowa', + 6126385 => 'Boorowa', 61263856 => 'Frogmore', 61263857 => 'Frogmore', 61263858 => 'Frogmore', 61263859 => 'Frogmore', - 61263860 => 'Harden', - 61263861 => 'Harden', - 61263862 => 'Harden', - 61263863 => 'Harden', - 61263864 => 'Harden', - 61263865 => 'Harden', - 61263866 => 'Harden', + 6126386 => 'Harden', 61263867 => 'Galong', 61263868 => 'Galong', - 61263869 => 'Harden', 61263870 => 'Blayney', 61263871 => 'Cudal', 61263872 => 'Cumnock', @@ -8129,16 +7299,10 @@ return array ( 61264518 => 'Bombala', 61264519 => 'Bombala', 6126452 => 'Cooma', - 61264530 => 'Cooma', - 61264531 => 'Cooma', - 61264532 => 'Cooma', + 6126453 => 'Cooma', 61264533 => 'Numeralla', - 61264534 => 'Cooma', 61264535 => 'Bobundara', 61264536 => 'Bobundara', - 61264537 => 'Cooma', - 61264538 => 'Cooma', - 61264539 => 'Cooma', 61264540 => 'Adaminaby', 61264541 => 'Adaminaby', 61264542 => 'Adaminaby', @@ -8150,24 +7314,14 @@ return array ( 61264548 => 'Cabramurra', 61264549 => 'Cabramurra', 6126455 => 'Cooma', - 61264560 => 'Berridale', - 61264561 => 'Berridale', - 61264562 => 'Berridale', - 61264563 => 'Berridale', - 61264564 => 'Berridale', + 6126456 => 'Berridale', 61264565 => 'Dalgety', 61264566 => 'Dalgety', - 61264567 => 'Berridale', 61264568 => 'Eucumbene', 61264569 => 'Eucumbene', - 61264570 => 'Thredbo Village', + 6126457 => 'Thredbo Village', 61264571 => 'Berridale', 61264572 => 'Berridale', - 61264573 => 'Thredbo Village', - 61264574 => 'Thredbo Village', - 61264575 => 'Thredbo Village', - 61264576 => 'Thredbo Village', - 61264577 => 'Thredbo Village', 61264578 => 'Jindabyne South', 61264579 => 'Jindabyne South', 61264580 => 'Bonang', @@ -8272,16 +7426,10 @@ return array ( 61264909 => 'Dalgety', 6126491 => 'Bega', 6126492 => 'Bega', + 6126493 => 'Cobargo', 61264930 => 'Bemboka', 61264931 => 'Candelo', 61264932 => 'Candelo', - 61264933 => 'Cobargo', - 61264934 => 'Cobargo', - 61264935 => 'Cobargo', - 61264936 => 'Cobargo', - 61264937 => 'Cobargo', - 61264938 => 'Cobargo', - 61264939 => 'Cobargo', 61264940 => 'Tathra', 61264941 => 'Tathra', 61264942 => 'Candelo', @@ -8293,15 +7441,7 @@ return array ( 61264948 => 'Bega', 61264949 => 'Merimbula', 6126495 => 'Merimbula', - 61264960 => 'Eden', - 61264961 => 'Eden', - 61264962 => 'Eden', - 61264963 => 'Eden', - 61264964 => 'Eden', - 61264965 => 'Eden', - 61264966 => 'Eden', - 61264967 => 'Eden', - 61264968 => 'Eden', + 6126496 => 'Eden', 61264969 => 'Wonboyn Lake', 61264970 => 'Bemboka', 61264971 => 'Candelo', @@ -8723,12 +7863,7 @@ return array ( 61265387 => 'Krambach', 61265388 => 'Pacific Palms', 61265389 => 'Rawdon Vale', - 61265390 => 'Taree', - 61265391 => 'Taree', - 61265392 => 'Taree', - 61265393 => 'Taree', - 61265394 => 'Taree', - 61265395 => 'Taree', + 6126539 => 'Taree', 61265396 => 'Forster', 61265397 => 'Forster', 61265398 => 'Forster', @@ -8756,16 +7891,11 @@ return array ( 61265447 => 'Muswellbrook', 61265448 => 'Muswellbrook', 61265449 => 'Muswellbrook', - 61265450 => 'Scone', - 61265451 => 'Scone', - 61265452 => 'Scone', - 61265453 => 'Scone', + 6126545 => 'Scone', 61265454 => 'Bunnan', 61265455 => 'Bunnan', 61265456 => 'Bunnan', 61265457 => 'Bunnan', - 61265458 => 'Scone', - 61265459 => 'Scone', 61265460 => 'Murrurundi', 61265461 => 'Moonan Flat', 61265462 => 'Moonan Flat', @@ -8786,13 +7916,7 @@ return array ( 61265477 => 'Baerami', 61265478 => 'Castle Rock', 61265479 => 'Castle Rock', - 61265480 => 'Merriwa', - 61265481 => 'Merriwa', - 61265482 => 'Merriwa', - 61265483 => 'Merriwa', - 61265484 => 'Merriwa', - 61265485 => 'Merriwa', - 61265486 => 'Merriwa', + 6126548 => 'Merriwa', 61265487 => 'Idaville', 61265488 => 'Idaville', 61265489 => 'Idaville', @@ -8817,59 +7941,27 @@ return array ( 61265508 => 'Mount George', 61265509 => 'Pacific Palms', 6126551 => 'Taree', - 61265520 => 'Taree', - 61265521 => 'Taree', - 61265522 => 'Taree', - 61265523 => 'Taree', - 61265524 => 'Taree', - 61265525 => 'Taree', - 61265526 => 'Taree', - 61265527 => 'Taree', - 61265528 => 'Taree', + 6126552 => 'Taree', 61265529 => 'Pacific Palms', 6126553 => 'Taree', + 6126554 => 'Forster', 61265540 => 'Pacific Palms', - 61265541 => 'Forster', - 61265542 => 'Forster', - 61265543 => 'Forster', 61265544 => 'Pacific Palms', - 61265545 => 'Forster', - 61265546 => 'Forster', - 61265547 => 'Forster', - 61265548 => 'Forster', - 61265549 => 'Forster', 6126555 => 'Forster', 6126556 => 'Coopernook', - 61265570 => 'Taree', - 61265571 => 'Taree', + 6126557 => 'Taree', 61265572 => 'Forster', - 61265573 => 'Taree', - 61265574 => 'Taree', 61265575 => 'Forster', 61265576 => 'Forster', - 61265577 => 'Taree', - 61265578 => 'Taree', - 61265579 => 'Taree', - 61265580 => 'Gloucester', - 61265581 => 'Gloucester', - 61265582 => 'Gloucester', + 6126558 => 'Gloucester', 61265583 => 'Rawdon Vale', - 61265584 => 'Gloucester', 61265585 => 'Rawdon Vale', 61265586 => 'Rookhurst', 61265587 => 'Rookhurst', - 61265588 => 'Gloucester', - 61265589 => 'Gloucester', - 61265590 => 'Coopernook', + 6126559 => 'Coopernook', 61265591 => 'Krambach', 61265592 => 'Taree', 61265593 => 'Taree', - 61265594 => 'Coopernook', - 61265595 => 'Coopernook', - 61265596 => 'Coopernook', - 61265597 => 'Coopernook', - 61265598 => 'Coopernook', - 61265599 => 'Coopernook', 61265600 => 'Taylors Arm', 61265601 => 'Kempsey', 61265602 => 'Kempsey', @@ -8882,37 +7974,17 @@ return array ( 61265609 => 'Bowraville', 6126561 => 'Kempsey', 6126562 => 'Kempsey', - 61265630 => 'Kempsey', - 61265631 => 'Kempsey', + 6126563 => 'Kempsey', 61265632 => 'Lord Howe Island', - 61265633 => 'Kempsey', - 61265634 => 'Kempsey', - 61265635 => 'Kempsey', - 61265636 => 'Kempsey', - 61265637 => 'Kempsey', - 61265638 => 'Kempsey', - 61265639 => 'Kempsey', + 6126564 => 'Bowraville', 61265640 => 'Taylors Arm', 61265641 => 'Rawdon Vale', 61265642 => 'Taylors Arm', - 61265643 => 'Bowraville', - 61265644 => 'Bowraville', - 61265645 => 'Bowraville', - 61265646 => 'Bowraville', - 61265647 => 'Bowraville', - 61265648 => 'Bowraville', - 61265649 => 'Bowraville', 6126565 => 'Smithtown', - 61265660 => 'Kempsey', - 61265661 => 'Kempsey', - 61265662 => 'Kempsey', - 61265663 => 'Kempsey', - 61265664 => 'Kempsey', + 6126566 => 'Kempsey', 61265665 => 'Smithtown', 61265666 => 'Smithtown', 61265667 => 'Smithtown', - 61265668 => 'Kempsey', - 61265669 => 'Kempsey', 61265670 => 'Smithtown', 61265671 => 'Toorooka', 61265672 => 'Toorooka', @@ -8924,41 +7996,23 @@ return array ( 61265678 => 'Comara', 61265679 => 'Toorooka', 6126568 => 'Macksville', + 6126569 => 'Macksville', 61265690 => 'Stuarts Point', 61265691 => 'Stuarts Point', - 61265692 => 'Macksville', - 61265693 => 'Macksville', - 61265694 => 'Macksville', - 61265695 => 'Macksville', - 61265696 => 'Macksville', - 61265697 => 'Macksville', - 61265698 => 'Macksville', 61265699 => 'Stuarts Point', + 612657 => 'Singleton', 61265700 => 'Ravensworth', - 61265701 => 'Singleton', - 61265702 => 'Singleton', - 61265703 => 'Singleton', 61265704 => 'Broke', 61265705 => 'Mount Olive', 61265706 => 'Glendonbrook', 61265707 => 'Howes Valley', 61265708 => 'Jerrys Plains', 61265709 => 'Ravensworth', - 6126571 => 'Singleton', - 6126572 => 'Singleton', - 6126573 => 'Singleton', - 6126574 => 'Singleton', - 6126575 => 'Singleton', + 6126576 => 'Jerrys Plains', 61265760 => 'Ravensworth', 61265761 => 'Ravensworth', 61265762 => 'Ravensworth', 61265763 => 'Ravensworth', - 61265764 => 'Jerrys Plains', - 61265765 => 'Jerrys Plains', - 61265766 => 'Jerrys Plains', - 61265767 => 'Jerrys Plains', - 61265768 => 'Jerrys Plains', - 61265769 => 'Jerrys Plains', 61265770 => 'Mount Olive', 61265771 => 'Mount Olive', 61265772 => 'Mount Olive', @@ -8969,7 +8023,6 @@ return array ( 61265777 => 'Glendonbrook', 61265778 => 'Glendonbrook', 61265779 => 'Glendonbrook', - 6126578 => 'Singleton', 61265790 => 'Broke', 61265791 => 'Broke', 61265792 => 'Broke', @@ -8980,52 +8033,20 @@ return array ( 61265797 => 'Putty', 61265798 => 'Broke', 61265799 => 'Broke', - 61265800 => 'Port Macquarie', - 61265801 => 'Port Macquarie', - 61265802 => 'Port Macquarie', - 61265803 => 'Port Macquarie', + 612658 => 'Port Macquarie', 61265804 => 'Ellenborough', 61265805 => 'Telegraph Point', 61265806 => 'Byabarra', - 61265807 => 'Port Macquarie', - 61265808 => 'Port Macquarie', - 61265809 => 'Port Macquarie', - 6126581 => 'Port Macquarie', - 6126582 => 'Port Macquarie', - 6126583 => 'Port Macquarie', - 6126584 => 'Port Macquarie', 61265850 => 'Telegraph Point', - 61265851 => 'Port Macquarie', - 61265852 => 'Port Macquarie', - 61265853 => 'Port Macquarie', - 61265854 => 'Port Macquarie', - 61265855 => 'Port Macquarie', - 61265856 => 'Port Macquarie', - 61265857 => 'Port Macquarie', 61265858 => 'Telegraph Point', 61265859 => 'Telegraph Point', - 6126586 => 'Port Macquarie', + 6126587 => 'Ellenborough', 61265870 => 'Byabarra', 61265871 => 'Byabarra', 61265872 => 'Byabarra', 61265873 => 'Byabarra', - 61265874 => 'Ellenborough', - 61265875 => 'Ellenborough', - 61265876 => 'Ellenborough', - 61265877 => 'Ellenborough', - 61265878 => 'Ellenborough', - 61265879 => 'Ellenborough', - 6126588 => 'Port Macquarie', 61265890 => 'Telegraph Point', 61265891 => 'Telegraph Point', - 61265892 => 'Port Macquarie', - 61265893 => 'Port Macquarie', - 61265894 => 'Port Macquarie', - 61265895 => 'Port Macquarie', - 61265896 => 'Port Macquarie', - 61265897 => 'Port Macquarie', - 61265898 => 'Port Macquarie', - 61265899 => 'Port Macquarie', 6126590 => 'Port Macquarie', 61265910 => 'Pacific Palms', 61265911 => 'Taree', @@ -9037,16 +8058,10 @@ return array ( 61265917 => 'Forster', 61265918 => 'Krambach', 61265919 => 'Mount George', - 61265920 => 'Taree', + 6126592 => 'Taree', 61265921 => 'Rawdon Vale', 61265922 => 'Rookhurst', 61265923 => 'Gloucester', - 61265924 => 'Taree', - 61265925 => 'Taree', - 61265926 => 'Taree', - 61265927 => 'Taree', - 61265928 => 'Taree', - 61265929 => 'Taree', 61265930 => 'Pacific Palms', 61265931 => 'Rawdon Vale', 61265932 => 'Rookhurst', @@ -9138,12 +8153,7 @@ return array ( 61266027 => 'Dorrigo', 61266028 => 'Dorrigo', 61266029 => 'Bonalbo', - 61266030 => 'Maclean', - 61266031 => 'Maclean', - 61266032 => 'Maclean', - 61266033 => 'Maclean', - 61266034 => 'Maclean', - 61266035 => 'Maclean', + 6126603 => 'Maclean', 61266036 => 'Coutts Crossing', 61266037 => 'Coutts Crossing', 61266038 => 'Glenreagh', @@ -9290,44 +8300,18 @@ return array ( 61266197 => 'Thora', 61266198 => 'Tyringham', 61266199 => 'Ulong', - 61266200 => 'Lismore', - 61266201 => 'Lismore', - 61266202 => 'Lismore', - 61266203 => 'Lismore', - 61266204 => 'Lismore', + 612662 => 'Lismore', 61266205 => 'Ballina', 61266206 => 'Ballina', - 61266207 => 'Lismore', 61266208 => 'Woodburn', 61266209 => 'Mullumbimby', - 6126621 => 'Lismore', - 6126622 => 'Lismore', - 6126623 => 'Lismore', - 6126624 => 'Lismore', - 6126625 => 'Lismore', - 61266260 => 'Lismore', - 61266261 => 'Lismore', - 61266262 => 'Lismore', - 61266263 => 'Lismore', - 61266264 => 'Lismore', - 61266265 => 'Lismore', - 61266266 => 'Lismore', 61266267 => 'Mullumbimby', 61266268 => 'Ballina', - 61266269 => 'Lismore', - 6126627 => 'Lismore', - 6126628 => 'Lismore', - 6126629 => 'Lismore', - 61266300 => 'Kyogle', - 61266301 => 'Kyogle', + 6126630 => 'Kyogle', 61266302 => 'Ettrick', 61266303 => 'Urbenville', 61266304 => 'Wiangaree', 61266305 => 'Woodenbong', - 61266306 => 'Kyogle', - 61266307 => 'Kyogle', - 61266308 => 'Kyogle', - 61266309 => 'Kyogle', 61266310 => 'Copmanhurst', 61266311 => 'Coutts Crossing', 61266312 => 'Glenreagh', @@ -9339,15 +8323,7 @@ return array ( 61266318 => 'Kyogle', 61266319 => 'Urbenville', 6126632 => 'Kyogle', - 61266330 => 'Kyogle', - 61266331 => 'Kyogle', - 61266332 => 'Kyogle', - 61266333 => 'Kyogle', - 61266334 => 'Kyogle', - 61266335 => 'Kyogle', - 61266336 => 'Kyogle', - 61266337 => 'Kyogle', - 61266338 => 'Kyogle', + 6126633 => 'Kyogle', 61266339 => 'Ettrick', 6126634 => 'Urbenville', 6126635 => 'Woodenbong', @@ -9389,24 +8365,14 @@ return array ( 6126644 => 'Grafton', 6126645 => 'Maclean', 6126646 => 'Maclean', - 61266470 => 'Copmanhurst', - 61266471 => 'Copmanhurst', - 61266472 => 'Copmanhurst', - 61266473 => 'Copmanhurst', - 61266474 => 'Copmanhurst', - 61266475 => 'Copmanhurst', + 6126647 => 'Copmanhurst', 61266476 => 'Maclean', 61266477 => 'Lawrence', 61266478 => 'Lawrence', 61266479 => 'Lawrence', + 6126648 => 'Coffs Harbour', 61266480 => 'Thora', 61266481 => 'Ulong', - 61266482 => 'Coffs Harbour', - 61266483 => 'Coffs Harbour', - 61266484 => 'Coffs Harbour', - 61266485 => 'Coffs Harbour', - 61266486 => 'Coffs Harbour', - 61266487 => 'Coffs Harbour', 61266488 => 'Hernani', 61266489 => 'Tyringham', 61266490 => 'Glenreagh', @@ -9419,52 +8385,18 @@ return array ( 61266497 => 'Wooli', 61266498 => 'Wooli', 61266499 => 'Wooli', - 6126650 => 'Coffs Harbour', - 6126651 => 'Coffs Harbour', - 6126652 => 'Coffs Harbour', - 6126653 => 'Coffs Harbour', - 61266540 => 'Coffs Harbour', - 61266541 => 'Coffs Harbour', - 61266542 => 'Coffs Harbour', - 61266543 => 'Coffs Harbour', - 61266544 => 'Coffs Harbour', + 612665 => 'Coffs Harbour', 61266545 => 'Ulong', 61266546 => 'Ulong', - 61266547 => 'Coffs Harbour', - 61266548 => 'Coffs Harbour', - 61266549 => 'Coffs Harbour', - 61266550 => 'Bellingen', - 61266551 => 'Bellingen', - 61266552 => 'Bellingen', - 61266553 => 'Bellingen', - 61266554 => 'Bellingen', - 61266555 => 'Bellingen', - 61266556 => 'Bellingen', - 61266557 => 'Bellingen', + 6126655 => 'Bellingen', 61266558 => 'Thora', - 61266559 => 'Bellingen', - 6126656 => 'Coffs Harbour', - 61266570 => 'Dorrigo', - 61266571 => 'Dorrigo', - 61266572 => 'Dorrigo', - 61266573 => 'Dorrigo', - 61266574 => 'Dorrigo', - 61266575 => 'Dorrigo', + 6126657 => 'Dorrigo', 61266576 => 'Hernani', 61266577 => 'Hernani', 61266578 => 'Tyringham', 61266579 => 'Tyringham', - 6126658 => 'Coffs Harbour', 61266590 => 'Dorrigo', - 61266591 => 'Coffs Harbour', - 61266592 => 'Coffs Harbour', - 61266593 => 'Coffs Harbour', - 61266594 => 'Coffs Harbour', 61266595 => 'Bellingen', - 61266596 => 'Coffs Harbour', - 61266597 => 'Coffs Harbour', - 61266598 => 'Coffs Harbour', - 61266599 => 'Coffs Harbour', 61266600 => 'Casino', 61266601 => 'Casino', 61266602 => 'Casino', @@ -9475,15 +8407,10 @@ return array ( 61266607 => 'Mallanganee', 61266608 => 'Tabulam', 61266609 => 'Bonalbo', - 61266610 => 'Casino', + 6126661 => 'Casino', 61266611 => 'Tabulam', - 61266612 => 'Casino', 61266613 => 'Tabulam', - 61266614 => 'Casino', - 61266615 => 'Casino', - 61266616 => 'Casino', 61266617 => 'Rappville', - 61266618 => 'Casino', 61266619 => 'Whiporie', 6126662 => 'Casino', 6126663 => 'Casino', @@ -9497,16 +8424,8 @@ return array ( 61266647 => 'Mallanganee', 61266648 => 'Mallanganee', 61266649 => 'Mallanganee', + 6126665 => 'Bonalbo', 61266650 => 'Hernani', - 61266651 => 'Bonalbo', - 61266652 => 'Bonalbo', - 61266653 => 'Bonalbo', - 61266654 => 'Bonalbo', - 61266655 => 'Bonalbo', - 61266656 => 'Bonalbo', - 61266657 => 'Bonalbo', - 61266658 => 'Bonalbo', - 61266659 => 'Bonalbo', 6126666 => 'Tabulam', 6126667 => 'Dyraaba', 61266680 => 'Thora', @@ -9520,20 +8439,8 @@ return array ( 61266688 => 'Rappville', 61266689 => 'Rappville', 6126669 => 'Grafton', - 61266700 => 'Murwillumbah', - 61266701 => 'Murwillumbah', - 61266702 => 'Murwillumbah', + 612667 => 'Murwillumbah', 61266703 => 'Tyalgum', - 61266704 => 'Murwillumbah', - 61266705 => 'Murwillumbah', - 61266706 => 'Murwillumbah', - 61266707 => 'Murwillumbah', - 61266708 => 'Murwillumbah', - 61266709 => 'Murwillumbah', - 6126671 => 'Murwillumbah', - 6126672 => 'Murwillumbah', - 6126673 => 'Murwillumbah', - 6126674 => 'Murwillumbah', 61266750 => 'Grafton', 61266751 => 'Lawrence', 61266752 => 'Ettrick', @@ -9544,11 +8451,8 @@ return array ( 61266757 => 'Nimbin', 61266758 => 'Woodburn', 61266759 => 'Ballina', - 6126676 => 'Murwillumbah', - 6126677 => 'Murwillumbah', 61266780 => 'Lismore', 61266781 => 'Mullumbimby', - 61266782 => 'Murwillumbah', 61266783 => 'Tyalgum', 61266784 => 'Bonalbo', 61266785 => 'Casino', @@ -9560,16 +8464,9 @@ return array ( 6126680 => 'Mullumbimby', 6126681 => 'Ballina', 6126682 => 'Woodburn', - 61266830 => 'Woodburn', - 61266831 => 'Woodburn', - 61266832 => 'Woodburn', - 61266833 => 'Woodburn', + 6126683 => 'Woodburn', 61266834 => 'Ballina', 61266835 => 'Ballina', - 61266836 => 'Woodburn', - 61266837 => 'Woodburn', - 61266838 => 'Woodburn', - 61266839 => 'Woodburn', 6126684 => 'Mullumbimby', 6126685 => 'Mullumbimby', 6126686 => 'Ballina', @@ -10023,16 +8920,10 @@ return array ( 61267407 => 'Kelvin', 61267408 => 'Mullaley', 61267409 => 'Tambar Springs', - 61267410 => 'Gunnedah', + 6126741 => 'Gunnedah', 61267411 => 'Pine Ridge', 61267412 => 'Quirindi', 61267413 => 'Willow Tree', - 61267414 => 'Gunnedah', - 61267415 => 'Gunnedah', - 61267416 => 'Gunnedah', - 61267417 => 'Gunnedah', - 61267418 => 'Gunnedah', - 61267419 => 'Gunnedah', 6126742 => 'Gunnedah', 61267430 => 'Gunnedah', 61267431 => 'Gunnedah', @@ -10044,16 +8935,11 @@ return array ( 61267437 => 'Mullaley', 61267438 => 'Mullaley', 61267439 => 'Mullaley', - 61267440 => 'Curlewis', - 61267441 => 'Curlewis', + 6126744 => 'Curlewis', 61267442 => 'Tambar Springs', 61267443 => 'Tambar Springs', 61267444 => 'Tambar Springs', 61267445 => 'Breeza', - 61267446 => 'Curlewis', - 61267447 => 'Curlewis', - 61267448 => 'Curlewis', - 61267449 => 'Curlewis', 61267450 => 'Drake', 61267451 => 'Emmaville', 61267452 => 'Glen Elgin', @@ -10075,12 +8961,7 @@ return array ( 61267477 => 'Bundella', 61267478 => 'Bundella', 61267479 => 'Bundella', - 61267480 => 'Gunnedah', - 61267481 => 'Gunnedah', - 61267482 => 'Gunnedah', - 61267483 => 'Gunnedah', - 61267484 => 'Gunnedah', - 61267485 => 'Gunnedah', + 6126748 => 'Gunnedah', 61267486 => 'Ben Lomond', 61267487 => 'Deepwater', 61267488 => 'Drake', @@ -10137,16 +9018,8 @@ return array ( 61267557 => 'Limbri', 61267558 => 'Nundle', 61267559 => 'Ogunbil', - 61267560 => 'Collarenebri', - 61267561 => 'Collarenebri', - 61267562 => 'Collarenebri', - 61267563 => 'Collarenebri', - 61267564 => 'Collarenebri', + 6126756 => 'Collarenebri', 61267565 => 'Gundabloui', - 61267566 => 'Collarenebri', - 61267567 => 'Collarenebri', - 61267568 => 'Collarenebri', - 61267569 => 'Collarenebri', 6126757 => 'Moree', 61267580 => 'Glen Elgin', 61267581 => 'Glen Innes', @@ -10168,56 +9041,14 @@ return array ( 61267597 => 'Croppa Creek', 61267598 => 'Garah', 61267599 => 'Gurley', - 61267600 => 'Tamworth', - 61267601 => 'Tamworth', - 61267602 => 'Tamworth', - 61267603 => 'Tamworth', - 61267604 => 'Tamworth', - 61267605 => 'Tamworth', + 612676 => 'Tamworth', 61267606 => 'Somerton', - 61267607 => 'Tamworth', - 61267608 => 'Tamworth', - 61267609 => 'Tamworth', - 6126761 => 'Tamworth', - 6126762 => 'Tamworth', - 61267630 => 'Tamworth', - 61267631 => 'Tamworth', - 61267632 => 'Tamworth', - 61267633 => 'Tamworth', - 61267634 => 'Tamworth', - 61267635 => 'Tamworth', 61267636 => 'Currabubula', - 61267637 => 'Tamworth', - 61267638 => 'Tamworth', - 61267639 => 'Tamworth', 61267640 => 'Bendemeer', - 61267641 => 'Tamworth', 61267642 => 'Nundle', 61267643 => 'Limbri', 61267644 => 'Limbri', - 61267645 => 'Tamworth', - 61267646 => 'Tamworth', - 61267647 => 'Tamworth', - 61267648 => 'Tamworth', - 61267649 => 'Tamworth', - 6126765 => 'Tamworth', - 6126766 => 'Tamworth', - 61267670 => 'Tamworth', - 61267671 => 'Tamworth', - 61267672 => 'Tamworth', - 61267673 => 'Tamworth', - 61267674 => 'Tamworth', - 61267675 => 'Tamworth', 61267676 => 'Somerton', - 61267677 => 'Tamworth', - 61267678 => 'Tamworth', - 61267679 => 'Tamworth', - 61267680 => 'Tamworth', - 61267681 => 'Tamworth', - 61267682 => 'Tamworth', - 61267683 => 'Tamworth', - 61267684 => 'Tamworth', - 61267685 => 'Tamworth', 61267686 => 'Currabubula', 61267687 => 'Currabubula', 61267688 => 'Currabubula', @@ -10227,7 +9058,6 @@ return array ( 61267692 => 'Ogunbil', 61267693 => 'Nundle', 61267694 => 'Nundle', - 61267695 => 'Tamworth', 61267696 => 'Bendemeer', 61267697 => 'Somerton', 61267698 => 'Currabubula', @@ -10265,16 +9095,10 @@ return array ( 61267757 => 'Ebor', 61267758 => 'Aberfoyle', 61267759 => 'Ebor', - 61267760 => 'Armidale', + 6126776 => 'Armidale', 61267761 => 'Uralla', 61267762 => 'Oban', 61267763 => 'Wollomombi', - 61267764 => 'Armidale', - 61267765 => 'Armidale', - 61267766 => 'Armidale', - 61267767 => 'Armidale', - 61267768 => 'Armidale', - 61267769 => 'Armidale', 61267770 => 'Nowendoc', 61267771 => 'Walcha', 61267772 => 'Walcha', @@ -10285,15 +9109,10 @@ return array ( 61267777 => 'Yarrowitch', 61267778 => 'Moona Plains', 61267779 => 'Moona Plains', + 6126778 => 'Uralla', 61267780 => 'Walcha', 61267781 => 'Wollomombi', 61267782 => 'Marple', - 61267783 => 'Uralla', - 61267784 => 'Uralla', - 61267785 => 'Uralla', - 61267786 => 'Uralla', - 61267787 => 'Uralla', - 61267788 => 'Uralla', 61267789 => 'Kingstown', 61267790 => 'Guyra', 61267791 => 'Guyra', @@ -10335,16 +9154,11 @@ return array ( 61267827 => 'Upper Horton', 61267828 => 'Upper Horton', 61267829 => 'Upper Horton', + 6126783 => 'Caroda', 61267830 => 'Banoon', 61267831 => 'Plumthorpe', 61267832 => 'Upper Horton', 61267833 => 'Upper Horton', - 61267834 => 'Caroda', - 61267835 => 'Caroda', - 61267836 => 'Caroda', - 61267837 => 'Caroda', - 61267838 => 'Caroda', - 61267839 => 'Caroda', 61267840 => 'Copeton Dam', 61267841 => 'Craigleigh', 61267842 => 'Delungra', @@ -10396,16 +9210,11 @@ return array ( 61267897 => 'Tambar Springs', 61267898 => 'Willow Tree', 61267899 => 'Pine Ridge', - 61267900 => 'Narrabri', + 6126790 => 'Narrabri', 61267901 => 'Rowena', 61267902 => 'Spring Plains', 61267903 => 'Wee Waa', 61267904 => 'Yarrie Lake', - 61267905 => 'Narrabri', - 61267906 => 'Narrabri', - 61267907 => 'Narrabri', - 61267908 => 'Narrabri', - 61267909 => 'Narrabri', 61267910 => 'Curlewis', 61267911 => 'Goolhi', 61267912 => 'Gunnedah', @@ -10437,15 +9246,8 @@ return array ( 61267947 => 'Weemelah', 61267948 => 'Wenna', 61267949 => 'Baan Baa', - 61267950 => 'Wee Waa', - 61267951 => 'Wee Waa', - 61267952 => 'Wee Waa', - 61267953 => 'Wee Waa', - 61267954 => 'Wee Waa', - 61267955 => 'Wee Waa', + 6126795 => 'Wee Waa', 61267956 => 'Yarrie Lake', - 61267957 => 'Wee Waa', - 61267958 => 'Wee Waa', 61267959 => 'Yarrie Lake', 61267960 => 'Burren Junction', 61267961 => 'Burren Junction', @@ -10768,16 +9570,11 @@ return array ( 61268287 => 'Borah Tank', 61268288 => 'Cumborah', 61268289 => 'Boorooma', - 61268290 => 'Lightning Ridge', - 61268291 => 'Lightning Ridge', - 61268292 => 'Lightning Ridge', + 6126829 => 'Lightning Ridge', 61268293 => 'Grawin', - 61268294 => 'Lightning Ridge', 61268295 => 'Goodooga', 61268296 => 'Goodooga', 61268297 => 'Goodooga', - 61268298 => 'Lightning Ridge', - 61268299 => 'Lightning Ridge', 61268300 => 'Bourke', 61268301 => 'Bourke', 61268302 => 'Cobar', @@ -10829,14 +9626,8 @@ return array ( 61268357 => 'Colane', 61268358 => 'Mullengudgery', 61268359 => 'Nyngan', + 6126836 => 'Cobar', 61268360 => 'Collie', - 61268361 => 'Cobar', - 61268362 => 'Cobar', - 61268363 => 'Cobar', - 61268364 => 'Cobar', - 61268365 => 'Cobar', - 61268366 => 'Cobar', - 61268367 => 'Cobar', 61268368 => 'Coonabarabran', 61268369 => 'Curban', 61268370 => 'Dandaloo', @@ -10869,25 +9660,12 @@ return array ( 61268397 => 'Narran', 61268398 => 'Narran', 61268399 => 'Narran', - 61268400 => 'Wellington', - 61268401 => 'Wellington', - 61268402 => 'Wellington', + 6126840 => 'Wellington', 61268403 => 'Gollan', 61268404 => 'Stuart Town', 61268405 => 'Yeoval', - 61268406 => 'Wellington', - 61268407 => 'Wellington', - 61268408 => 'Wellington', - 61268409 => 'Wellington', 6126841 => 'Dubbo', - 61268420 => 'Coonabarabran', - 61268421 => 'Coonabarabran', - 61268422 => 'Coonabarabran', - 61268423 => 'Coonabarabran', - 61268424 => 'Coonabarabran', - 61268425 => 'Coonabarabran', - 61268426 => 'Coonabarabran', - 61268427 => 'Coonabarabran', + 6126842 => 'Coonabarabran', 61268428 => 'Purlewaugh', 61268429 => 'Rocky Glen', 61268430 => 'Baradine', @@ -10900,26 +9678,15 @@ return array ( 61268437 => 'Goorianawa', 61268438 => 'Goorianawa', 61268439 => 'Goorianawa', - 61268440 => 'Binnaway', - 61268441 => 'Binnaway', - 61268442 => 'Binnaway', - 61268443 => 'Binnaway', - 61268444 => 'Binnaway', - 61268445 => 'Binnaway', + 6126844 => 'Binnaway', 61268446 => 'Weetaliba', 61268447 => 'Weetaliba', 61268448 => 'Weetaliba', 61268449 => 'Weetaliba', - 61268450 => 'Wellington', - 61268451 => 'Wellington', - 61268452 => 'Wellington', - 61268453 => 'Wellington', - 61268454 => 'Wellington', - 61268455 => 'Wellington', + 6126845 => 'Wellington', 61268456 => 'Tyrie', 61268457 => 'Warren', 61268458 => 'Weetaliba', - 61268459 => 'Wellington', 61268460 => 'Wellington', 61268461 => 'Wellington', 61268462 => 'Wellington', @@ -10960,16 +9727,11 @@ return array ( 61268497 => 'Purlewaugh', 61268498 => 'Rocky Glen', 61268499 => 'Weetaliba', - 61268500 => 'Forbes', - 61268501 => 'Forbes', - 61268502 => 'Forbes', + 6126850 => 'Forbes', 61268503 => 'Bedgerebong', 61268504 => 'Eugowra', 61268505 => 'Weelong', 61268506 => 'Wirrinya', - 61268507 => 'Forbes', - 61268508 => 'Forbes', - 61268509 => 'Forbes', 6126851 => 'Forbes', 6126852 => 'Forbes', 6126853 => 'Forbes', @@ -11003,13 +9765,7 @@ return array ( 61268567 => 'Cumborah', 61268568 => 'Goodooga', 61268569 => 'Grawin', - 61268570 => 'Bedgerebong', - 61268571 => 'Bedgerebong', - 61268572 => 'Bedgerebong', - 61268573 => 'Bedgerebong', - 61268574 => 'Bedgerebong', - 61268575 => 'Bedgerebong', - 61268576 => 'Bedgerebong', + 6126857 => 'Bedgerebong', 61268577 => 'Lightning Ridge', 61268578 => 'Walgett', 61268579 => 'Colane', @@ -11046,16 +9802,8 @@ return array ( 61268619 => 'Mungery', 6126862 => 'Parkes', 6126863 => 'Parkes', - 61268640 => 'Bogan Gate', - 61268641 => 'Bogan Gate', + 6126864 => 'Bogan Gate', 61268642 => 'Yarrabandai', - 61268643 => 'Bogan Gate', - 61268644 => 'Bogan Gate', - 61268645 => 'Bogan Gate', - 61268646 => 'Bogan Gate', - 61268647 => 'Bogan Gate', - 61268648 => 'Bogan Gate', - 61268649 => 'Bogan Gate', 61268650 => 'Bruie Plains', 61268651 => 'Mandagery', 61268652 => 'Alectown', @@ -11096,13 +9844,7 @@ return array ( 61268687 => 'Stuart Town', 61268688 => 'Gilgandra', 61268689 => 'Gilgandra', - 61268690 => 'Peak Hill', - 61268691 => 'Peak Hill', - 61268692 => 'Peak Hill', - 61268693 => 'Peak Hill', - 61268694 => 'Peak Hill', - 61268695 => 'Peak Hill', - 61268696 => 'Peak Hill', + 6126869 => 'Peak Hill', 61268697 => 'Mungery', 61268698 => 'Mungery', 61268699 => 'Bruie Plains', @@ -11137,16 +9879,9 @@ return array ( 61268737 => 'Myamley', 61268738 => 'Naradhan', 61268739 => 'Tottenham', - 61268740 => 'Cuttaburra', - 61268741 => 'Cuttaburra', - 61268742 => 'Cuttaburra', - 61268743 => 'Cuttaburra', + 6126874 => 'Cuttaburra', 61268744 => 'Narran', 61268745 => 'Trundle', - 61268746 => 'Cuttaburra', - 61268747 => 'Cuttaburra', - 61268748 => 'Cuttaburra', - 61268749 => 'Cuttaburra', 61268750 => 'Binnaway', 61268751 => 'Coalbaggie', 61268752 => 'Collie', @@ -11209,13 +9944,8 @@ return array ( 61268809 => 'Tyrie', 6126881 => 'Dubbo', 6126882 => 'Dubbo', + 6126883 => 'Dubbo', 61268830 => 'Dandaloo', - 61268831 => 'Dubbo', - 61268832 => 'Dubbo', - 61268833 => 'Dubbo', - 61268834 => 'Dubbo', - 61268835 => 'Dubbo', - 61268836 => 'Dubbo', 61268837 => 'Warren', 61268838 => 'Coalbaggie', 61268839 => 'Collie', @@ -11251,16 +9981,9 @@ return array ( 61268887 => 'Trangie', 61268888 => 'Trangie', 61268889 => 'Trangie', + 6126889 => 'Narromine', 61268890 => 'Farrendale', - 61268891 => 'Narromine', - 61268892 => 'Narromine', - 61268893 => 'Narromine', - 61268894 => 'Narromine', - 61268895 => 'Narromine', - 61268896 => 'Narromine', - 61268897 => 'Narromine', 61268898 => 'Wyanga', - 61268899 => 'Narromine', 61268900 => 'Naradhan', 61268901 => 'Condobolin', 61268902 => 'Baradine', @@ -11311,13 +10034,7 @@ return array ( 61268947 => 'Gilgandra', 61268948 => 'Goorianawa', 61268949 => 'Gwabegar', - 61268950 => 'Condobolin', - 61268951 => 'Condobolin', - 61268952 => 'Condobolin', - 61268953 => 'Condobolin', - 61268954 => 'Condobolin', - 61268955 => 'Condobolin', - 61268956 => 'Condobolin', + 6126895 => 'Condobolin', 61268957 => 'Banar', 61268958 => 'Mendooran', 61268959 => 'Narromine', @@ -11341,13 +10058,7 @@ return array ( 61268977 => 'Double Peaks', 61268978 => 'Double Peaks', 61268979 => 'Double Peaks', - 61268980 => 'Lake Cargelligo', - 61268981 => 'Lake Cargelligo', - 61268982 => 'Lake Cargelligo', - 61268983 => 'Lake Cargelligo', - 61268984 => 'Lake Cargelligo', - 61268985 => 'Lake Cargelligo', - 61268986 => 'Lake Cargelligo', + 6126898 => 'Lake Cargelligo', 61268987 => 'Naradhan', 61268988 => 'Naradhan', 61268989 => 'Naradhan', @@ -11565,16 +10276,8 @@ return array ( 6126921 => 'Wagga Wagga', 6126922 => 'Wagga Wagga', 6126923 => 'Wagga Wagga', - 61269240 => 'Junee', - 61269241 => 'Junee', - 61269242 => 'Junee', - 61269243 => 'Junee', - 61269244 => 'Junee', - 61269245 => 'Junee', - 61269246 => 'Junee', + 6126924 => 'Junee', 61269247 => 'Junee Reefs', - 61269248 => 'Junee', - 61269249 => 'Junee', 6126925 => 'Wagga Wagga', 6126926 => 'Wagga Wagga', 61269270 => 'Wagga Wagga', @@ -11597,16 +10300,11 @@ return array ( 61269287 => 'Tarcutta', 61269288 => 'Tarcutta', 61269289 => 'Humula', + 6126929 => 'Henty', 61269290 => 'Currawarna', 61269291 => 'Currawarna', - 61269292 => 'Henty', - 61269293 => 'Henty', - 61269294 => 'Henty', 61269295 => 'Lockhart', - 61269296 => 'Henty', - 61269297 => 'Henty', - 61269298 => 'Henty', - 61269299 => 'Henty', + 612693 => 'Wagga Wagga', 61269300 => 'Winchendon Vale', 61269301 => 'Coolamon', 61269302 => 'Cowabbie', @@ -11617,9 +10315,6 @@ return array ( 61269307 => 'Lockhart', 61269308 => 'Rannock', 61269309 => 'Urana', - 6126931 => 'Wagga Wagga', - 6126932 => 'Wagga Wagga', - 6126933 => 'Wagga Wagga', 61269340 => 'Adelong', 61269341 => 'Batlow', 61269342 => 'Springdale', @@ -11640,15 +10335,7 @@ return array ( 61269357 => 'Nangus', 61269358 => 'Stockinbingal', 61269359 => 'Talbingo', - 6126936 => 'Wagga Wagga', - 6126937 => 'Wagga Wagga', 61269380 => 'Kyeamba', - 61269381 => 'Wagga Wagga', - 61269382 => 'Wagga Wagga', - 61269383 => 'Wagga Wagga', - 61269384 => 'Wagga Wagga', - 61269385 => 'Wagga Wagga', - 61269386 => 'Wagga Wagga', 61269387 => 'Henty', 61269388 => 'Humula', 61269389 => 'Junee Reefs', @@ -11657,9 +10344,7 @@ return array ( 61269392 => 'Milbrulong', 61269393 => 'Tarcutta', 61269394 => 'The Rock', - 61269395 => 'Wagga Wagga', 61269396 => 'Wantabadgery', - 61269397 => 'Wagga Wagga', 61269398 => 'Bidgeemia', 61269399 => 'Boree Creek', 61269400 => 'Tooma', @@ -11693,47 +10378,24 @@ return array ( 61269437 => 'Coolac', 61269438 => 'Coolac', 61269439 => 'Coolac', - 61269440 => 'Gundagai', - 61269441 => 'Gundagai', - 61269442 => 'Gundagai', - 61269443 => 'Gundagai', - 61269444 => 'Gundagai', - 61269445 => 'Gundagai', - 61269446 => 'Gundagai', + 6126944 => 'Gundagai', 61269447 => 'Nangus', 61269448 => 'Burra', - 61269449 => 'Gundagai', - 61269450 => 'Coolac', - 61269451 => 'Coolac', - 61269452 => 'Coolac', - 61269453 => 'Coolac', - 61269454 => 'Coolac', - 61269455 => 'Coolac', + 6126945 => 'Coolac', 61269456 => 'Tooma', 61269457 => 'Tumbarumba', 61269458 => 'Tumorrama', 61269459 => 'Tumut', + 6126946 => 'Adelong', 61269460 => 'Wallendbeen', - 61269461 => 'Adelong', - 61269462 => 'Adelong', 61269463 => 'Yaven Creek', - 61269464 => 'Adelong', 61269465 => 'Yaven Creek', 61269466 => 'Tumorrama', - 61269467 => 'Adelong', - 61269468 => 'Adelong', - 61269469 => 'Adelong', 6126947 => 'Tumut', - 61269480 => 'Tumbarumba', - 61269481 => 'Tumbarumba', - 61269482 => 'Tumbarumba', - 61269483 => 'Tumbarumba', + 6126948 => 'Tumbarumba', 61269484 => 'Tooma', 61269485 => 'Mannus', 61269486 => 'Carabost', - 61269487 => 'Tumbarumba', - 61269488 => 'Tumbarumba', - 61269489 => 'Tumbarumba', 61269490 => 'Batlow', 61269491 => 'Batlow', 61269492 => 'Batlow', @@ -11744,26 +10406,15 @@ return array ( 61269497 => 'Black Stump', 61269498 => 'Bunda', 61269499 => 'Darlington Point', - 61269500 => 'Narrandera', + 6126950 => 'Narrandera', 61269501 => 'Egansford', 61269502 => 'Coleambally', 61269503 => 'Gala Vale', - 61269504 => 'Narrandera', - 61269505 => 'Narrandera', - 61269506 => 'Narrandera', - 61269507 => 'Narrandera', - 61269508 => 'Narrandera', - 61269509 => 'Narrandera', - 61269510 => 'Narrandera', + 6126951 => 'Narrandera', 61269511 => 'Leeton', 61269512 => 'Leeton', 61269513 => 'Leeton', 61269514 => 'Stanbridge', - 61269515 => 'Narrandera', - 61269516 => 'Narrandera', - 61269517 => 'Narrandera', - 61269518 => 'Narrandera', - 61269519 => 'Narrandera', 61269520 => 'Goolgowi', 61269521 => 'Griffith', 61269522 => 'Gunbar', @@ -11785,26 +10436,15 @@ return array ( 61269547 => 'Coleambally', 61269548 => 'Gala Vale', 61269549 => 'Coleambally', + 6126955 => 'Leeton', 61269550 => 'Stanbridge', 61269551 => 'Stanbridge', 61269552 => 'Stanbridge', 61269553 => 'Landervale', - 61269554 => 'Leeton', - 61269555 => 'Leeton', - 61269556 => 'Leeton', - 61269557 => 'Leeton', - 61269558 => 'Leeton', - 61269559 => 'Leeton', + 6126956 => 'Landervale', 61269560 => 'Bundure', 61269561 => 'Bundure', 61269562 => 'Grong Grong', - 61269563 => 'Landervale', - 61269564 => 'Landervale', - 61269565 => 'Landervale', - 61269566 => 'Landervale', - 61269567 => 'Landervale', - 61269568 => 'Landervale', - 61269569 => 'Landervale', 61269570 => 'The Rock', 61269571 => 'Urana', 61269572 => 'Wagga Wagga', @@ -11825,16 +10465,9 @@ return array ( 61269587 => 'Morundah', 61269588 => 'Sandigo', 61269589 => 'Narrandera', - 61269590 => 'Narrandera', - 61269591 => 'Narrandera', - 61269592 => 'Narrandera', - 61269593 => 'Narrandera', - 61269594 => 'Narrandera', - 61269595 => 'Narrandera', - 61269596 => 'Narrandera', + 6126959 => 'Narrandera', 61269597 => 'Morundah', 61269598 => 'Sandigo', - 61269599 => 'Narrandera', 61269600 => 'Rankins Springs', 61269601 => 'Griffith', 61269602 => 'Griffith', @@ -11856,27 +10489,13 @@ return array ( 61269618 => 'Griffith', 61269619 => 'Griffith', 6126962 => 'Griffith', - 61269630 => 'Griffith', - 61269631 => 'Griffith', - 61269632 => 'Griffith', - 61269633 => 'Griffith', - 61269634 => 'Griffith', - 61269635 => 'Griffith', - 61269636 => 'Griffith', - 61269637 => 'Griffith', - 61269638 => 'Griffith', + 6126963 => 'Griffith', 61269639 => 'Barellan', 6126964 => 'Griffith', - 61269650 => 'Goolgowi', - 61269651 => 'Goolgowi', + 6126965 => 'Goolgowi', 61269652 => 'Gunbar', 61269653 => 'Melbergen', 61269654 => 'Merriwagga', - 61269655 => 'Goolgowi', - 61269656 => 'Goolgowi', - 61269657 => 'Goolgowi', - 61269658 => 'Goolgowi', - 61269659 => 'Goolgowi', 61269660 => 'Griffith', 61269661 => 'Rankins Springs', 61269662 => 'Griffith', @@ -11980,16 +10599,8 @@ return array ( 61269787 => 'Springdale', 61269788 => 'Temora', 61269789 => 'Bidgeemia', - 61269790 => 'West Wyalong', + 6126979 => 'West Wyalong', 61269791 => 'Weethalle', - 61269792 => 'West Wyalong', - 61269793 => 'West Wyalong', - 61269794 => 'West Wyalong', - 61269795 => 'West Wyalong', - 61269796 => 'West Wyalong', - 61269797 => 'West Wyalong', - 61269798 => 'West Wyalong', - 61269799 => 'West Wyalong', 61269800 => 'Temora', 61269801 => 'Temora', 61269802 => 'Temora', @@ -12261,16 +10872,11 @@ return array ( 6128100 => 'Bankstown', 6128101 => 'Liverpool', 6128102 => 'Bankstown', + 6128103 => 'Liverpool', 61281030 => 'Bankstown', 61281031 => 'Bankstown', 61281032 => 'Bankstown', - 61281033 => 'Liverpool', 61281034 => 'Sydney', - 61281035 => 'Liverpool', - 61281036 => 'Liverpool', - 61281037 => 'Liverpool', - 61281038 => 'Liverpool', - 61281039 => 'Liverpool', 61281040 => 'Liverpool', 61281041 => 'Liverpool', 61281042 => 'Sydney', @@ -12403,15 +11009,7 @@ return array ( 61284038 => 'Avalon Beach', 61284039 => 'Terrey Hills', 6128404 => 'Sydney', - 61284050 => 'Sydney', - 61284051 => 'Sydney', - 61284052 => 'Sydney', - 61284053 => 'Sydney', - 61284054 => 'Sydney', - 61284055 => 'Sydney', - 61284056 => 'Sydney', - 61284057 => 'Sydney', - 61284058 => 'Sydney', + 6128405 => 'Sydney', 61284059 => 'Avalon Beach', 6128406 => 'Terrey Hills', 61284070 => 'Terrey Hills', @@ -12441,12 +11039,7 @@ return array ( 61284157 => 'Sydney', 61284158 => 'Sydney', 61284159 => 'Sydney', - 61284160 => 'Sydney', - 61284161 => 'Sydney', - 61284162 => 'Sydney', - 61284163 => 'Sydney', - 61284164 => 'Sydney', - 61284165 => 'Sydney', + 6128416 => 'Sydney', 61284166 => 'Dural', 61284167 => 'Avalon Beach', 61284168 => 'Avalon Beach', @@ -12517,16 +11110,10 @@ return array ( 6128515 => 'Sutherland', 6128516 => 'Engadine', 6128517 => 'Sutherland', - 61285180 => 'Engadine', + 6128518 => 'Engadine', 61285181 => 'Sutherland', - 61285182 => 'Engadine', 61285183 => 'Sutherland', - 61285184 => 'Engadine', - 61285185 => 'Engadine', - 61285186 => 'Engadine', 61285187 => 'Sutherland', - 61285188 => 'Engadine', - 61285189 => 'Engadine', 6128519 => 'Sutherland', 61285200 => 'Sutherland', 61285201 => 'Engadine', @@ -12564,16 +11151,8 @@ return array ( 6128542 => 'Sydney', 6128543 => 'Sutherland', 6128544 => 'Sutherland', - 61285450 => 'Engadine', - 61285451 => 'Engadine', - 61285452 => 'Engadine', - 61285453 => 'Engadine', - 61285454 => 'Engadine', - 61285455 => 'Engadine', - 61285456 => 'Engadine', - 61285457 => 'Engadine', + 6128545 => 'Engadine', 61285458 => 'Sutherland', - 61285459 => 'Engadine', 6128548 => 'Engadine', 6128555 => 'Engadine', 6128556 => 'Sutherland', @@ -12585,16 +11164,8 @@ return array ( 6128567 => 'Sydney', 6128568 => 'Sydney', 6128569 => 'Sydney', - 6128570 => 'Sydney', - 6128571 => 'Sydney', - 6128572 => 'Sydney', - 6128573 => 'Sydney', - 6128574 => 'Sydney', - 6128575 => 'Sydney', - 6128576 => 'Sydney', - 6128577 => 'Sydney', + 612857 => 'Sydney', 6128578 => 'Sutherland', - 6128579 => 'Sydney', 6128580 => 'Sydney', 61285810 => 'Sutherland', 61285811 => 'Engadine', @@ -12615,38 +11186,18 @@ return array ( 6128601 => 'Parramatta', 6128602 => 'Blacktown', 6128603 => 'Blacktown', - 61286040 => 'Parramatta', - 61286041 => 'Parramatta', - 61286042 => 'Parramatta', - 61286043 => 'Parramatta', - 61286044 => 'Parramatta', - 61286045 => 'Parramatta', - 61286046 => 'Parramatta', + 6128604 => 'Parramatta', 61286047 => 'Blacktown', 61286048 => 'Blacktown', 61286049 => 'Blacktown', 6128605 => 'Blacktown', 6128606 => 'Parramatta', - 61286070 => 'Blacktown', - 61286071 => 'Blacktown', - 61286072 => 'Blacktown', - 61286073 => 'Blacktown', - 61286074 => 'Blacktown', - 61286075 => 'Blacktown', + 6128607 => 'Blacktown', 61286076 => 'Sydney', 61286077 => 'Parramatta', 61286078 => 'Sydney', - 61286079 => 'Blacktown', - 61286080 => 'Blacktown', + 6128608 => 'Blacktown', 61286081 => 'Parramatta', - 61286082 => 'Blacktown', - 61286083 => 'Blacktown', - 61286084 => 'Blacktown', - 61286085 => 'Blacktown', - 61286086 => 'Blacktown', - 61286087 => 'Blacktown', - 61286088 => 'Blacktown', - 61286089 => 'Blacktown', 61286090 => 'Blacktown', 61286092 => 'Blacktown', 6128622 => 'Sydney', @@ -12721,15 +11272,10 @@ return array ( 6128717 => 'Bankstown', 6128718 => 'Bankstown', 6128719 => 'Sydney', - 6128720 => 'Bankstown', + 612872 => 'Bankstown', 6128721 => 'Sydney', - 6128722 => 'Bankstown', - 6128723 => 'Bankstown', - 6128724 => 'Bankstown', - 6128725 => 'Bankstown', 6128726 => 'Sydney', 6128727 => 'Liverpool', - 6128728 => 'Bankstown', 6128729 => 'Liverpool', 61287300 => 'Liverpool', 61287301 => 'Liverpool', @@ -12791,16 +11337,9 @@ return array ( 61287497 => 'Liverpool', 61287498 => 'Liverpool', 61287499 => 'Liverpool', + 612875 => 'Sydney', 6128750 => 'Liverpool', 6128751 => 'Liverpool', - 6128752 => 'Sydney', - 6128753 => 'Sydney', - 6128754 => 'Sydney', - 6128755 => 'Sydney', - 6128756 => 'Sydney', - 6128757 => 'Sydney', - 6128758 => 'Sydney', - 6128759 => 'Sydney', 6128760 => 'Bankstown', 6128761 => 'Bankstown', 6128762 => 'Sydney', @@ -12817,16 +11356,8 @@ return array ( 6128774 => 'Bankstown', 6128775 => 'Sydney', 6128776 => 'Liverpool', - 61287770 => 'Liverpool', - 61287771 => 'Liverpool', - 61287772 => 'Liverpool', - 61287773 => 'Liverpool', - 61287774 => 'Liverpool', - 61287775 => 'Liverpool', - 61287776 => 'Liverpool', + 6128777 => 'Liverpool', 61287777 => 'Sydney', - 61287778 => 'Liverpool', - 61287779 => 'Liverpool', 6128778 => 'Liverpool', 6128781 => 'Liverpool', 6128782 => 'Liverpool', @@ -12843,16 +11374,9 @@ return array ( 6128797 => 'Liverpool', 6128798 => 'Liverpool', 6128799 => 'Sydney', + 612880 => 'Blacktown', 6128800 => 'Sydney', - 6128801 => 'Blacktown', 6128802 => 'Parramatta', - 6128803 => 'Blacktown', - 6128804 => 'Blacktown', - 6128805 => 'Blacktown', - 6128806 => 'Blacktown', - 6128807 => 'Blacktown', - 6128808 => 'Blacktown', - 6128809 => 'Blacktown', 6128810 => 'Parramatta', 6128811 => 'Blacktown', 6128812 => 'Parramatta', @@ -12873,103 +11397,27 @@ return array ( 6128827 => 'Blacktown', 6128828 => 'Sydney', 6128829 => 'Parramatta', - 6128830 => 'Parramatta', - 6128831 => 'Parramatta', - 6128832 => 'Parramatta', - 6128833 => 'Parramatta', + 612883 => 'Parramatta', 6128834 => 'Blacktown', - 6128835 => 'Parramatta', - 6128836 => 'Parramatta', - 6128837 => 'Parramatta', - 6128838 => 'Parramatta', - 6128839 => 'Parramatta', - 61288400 => 'Blacktown', - 61288401 => 'Blacktown', - 61288402 => 'Parramatta', - 61288403 => 'Blacktown', - 61288404 => 'Parramatta', - 61288405 => 'Blacktown', - 61288406 => 'Parramatta', - 61288407 => 'Blacktown', - 61288408 => 'Blacktown', - 61288409 => 'Parramatta', - 6128841 => 'Parramatta', - 6128842 => 'Parramatta', - 6128843 => 'Parramatta', - 6128844 => 'Parramatta', - 6128845 => 'Parramatta', - 6128846 => 'Parramatta', + 612884 => 'Parramatta', + 6128840 => 'Blacktown', 6128847 => 'Blacktown', - 6128848 => 'Parramatta', - 6128849 => 'Parramatta', - 6128850 => 'Parramatta', - 6128851 => 'Parramatta', - 6128852 => 'Parramatta', - 6128853 => 'Parramatta', - 6128854 => 'Parramatta', - 6128855 => 'Parramatta', - 61288560 => 'Parramatta', - 61288561 => 'Blacktown', - 61288562 => 'Blacktown', - 61288563 => 'Parramatta', - 61288564 => 'Parramatta', - 61288565 => 'Blacktown', - 61288566 => 'Blacktown', - 61288567 => 'Blacktown', - 61288568 => 'Blacktown', - 61288569 => 'Blacktown', + 612885 => 'Parramatta', + 6128856 => 'Blacktown', 6128857 => 'Blacktown', - 6128858 => 'Parramatta', - 6128859 => 'Parramatta', - 6128860 => 'Parramatta', - 6128861 => 'Parramatta', - 6128862 => 'Parramatta', - 6128863 => 'Parramatta', + 612886 => 'Parramatta', 6128864 => 'Sydney', - 6128865 => 'Parramatta', 6128866 => 'Sydney', 6128867 => 'Blacktown', - 6128868 => 'Parramatta', 6128869 => 'Blacktown', - 6128870 => 'Sydney', - 6128871 => 'Sydney', + 612887 => 'Sydney', 6128872 => 'Parramatta', - 6128873 => 'Sydney', - 6128874 => 'Sydney', - 6128875 => 'Sydney', - 6128876 => 'Sydney', - 6128877 => 'Sydney', - 6128878 => 'Sydney', - 6128879 => 'Sydney', + 612888 => 'Blacktown', 6128880 => 'Sydney', - 6128881 => 'Blacktown', - 6128882 => 'Blacktown', - 6128883 => 'Blacktown', - 6128884 => 'Blacktown', - 6128885 => 'Blacktown', - 6128886 => 'Blacktown', - 6128887 => 'Blacktown', - 6128888 => 'Blacktown', - 6128889 => 'Blacktown', - 6128890 => 'Parramatta', - 6128891 => 'Parramatta', - 6128892 => 'Parramatta', - 6128893 => 'Parramatta', - 6128894 => 'Parramatta', - 6128895 => 'Parramatta', - 6128896 => 'Parramatta', - 6128897 => 'Parramatta', - 6128898 => 'Parramatta', + 612889 => 'Parramatta', 6128899 => 'Sydney', - 6128900 => 'Sydney', - 6128901 => 'Sydney', - 6128902 => 'Sydney', - 6128903 => 'Sydney', - 6128904 => 'Sydney', - 6128905 => 'Sydney', + 612890 => 'Sydney', 6128906 => 'Dural', - 6128907 => 'Sydney', - 6128908 => 'Sydney', 6128909 => 'Avalon Beach', 6128910 => 'Dural', 6128911 => 'Terrey Hills', @@ -12993,16 +11441,8 @@ return array ( 6128921 => 'Terrey Hills', 6128922 => 'Sydney', 6128923 => 'Sydney', + 6128924 => 'Terrey Hills', 61289240 => 'Dural', - 61289241 => 'Terrey Hills', - 61289242 => 'Terrey Hills', - 61289243 => 'Terrey Hills', - 61289244 => 'Terrey Hills', - 61289245 => 'Terrey Hills', - 61289246 => 'Terrey Hills', - 61289247 => 'Terrey Hills', - 61289248 => 'Terrey Hills', - 61289249 => 'Terrey Hills', 6128925 => 'Sydney', 61289260 => 'Avalon Beach', 61289261 => 'Avalon Beach', @@ -13031,39 +11471,14 @@ return array ( 6128987 => 'Sydney', 6128988 => 'Sydney', 6128989 => 'Dural', - 61289980 => 'Terrey Hills', - 61289981 => 'Terrey Hills', - 61289982 => 'Terrey Hills', - 61289983 => 'Terrey Hills', - 61289984 => 'Terrey Hills', - 61289985 => 'Terrey Hills', - 61289986 => 'Terrey Hills', - 61289987 => 'Terrey Hills', + 6128998 => 'Terrey Hills', 61289988 => 'Sydney', - 61289989 => 'Terrey Hills', 6128999 => 'Sydney', 612900 => 'Sydney', 612901 => 'Sydney', 612902 => 'Sydney', - 6129030 => 'Sydney', - 6129031 => 'Sydney', - 6129032 => 'Sydney', - 6129033 => 'Sydney', - 61290340 => 'Sydney', - 61290341 => 'Sydney', - 61290342 => 'Sydney', - 61290343 => 'Sydney', - 61290344 => 'Sydney', + 612903 => 'Sydney', 61290345 => 'Sydney/Liverpool/Sydney', - 61290346 => 'Sydney', - 61290347 => 'Sydney', - 61290348 => 'Sydney', - 61290349 => 'Sydney', - 6129035 => 'Sydney', - 6129036 => 'Sydney', - 6129037 => 'Sydney', - 6129038 => 'Sydney', - 6129039 => 'Sydney', 612904 => 'Sydney', 612905 => 'Sydney', 612906 => 'Sydney', @@ -13109,25 +11524,8 @@ return array ( 6129141 => 'Sydney', 6129144 => 'Sydney', 6129146 => 'Sydney', - 6129150 => 'Sydney', - 6129151 => 'Sydney', - 6129152 => 'Sydney', - 61291530 => 'Sutherland', - 61291531 => 'Sutherland', - 61291532 => 'Sydney', - 61291533 => 'Sydney', - 61291534 => 'Sydney', - 61291535 => 'Sutherland', - 61291536 => 'Sutherland', - 61291537 => 'Sutherland', - 61291538 => 'Sutherland', - 61291539 => 'Sutherland', - 6129154 => 'Sydney', - 6129155 => 'Sydney', - 6129156 => 'Sydney', - 6129157 => 'Sydney', - 6129158 => 'Sydney', - 6129159 => 'Sydney', + 612915 => 'Sydney', + 6129153 => 'Sutherland', 6129160 => 'Sydney', 6129161 => 'Sydney', 6129162 => 'Sydney', @@ -13137,183 +11535,36 @@ return array ( 6129181 => 'Sydney', 6129186 => 'Sydney', 6129188 => 'Sydney', - 6129190 => 'Sydney', - 6129191 => 'Sydney', - 6129192 => 'Sydney', - 6129193 => 'Sydney', - 6129194 => 'Sydney', - 6129195 => 'Sydney', - 6129196 => 'Sydney', - 6129197 => 'Sydney', - 6129198 => 'Sydney', - 6129199 => 'Sydney', - 6129200 => 'Sydney', - 6129201 => 'Sydney', - 6129202 => 'Sydney', + 612919 => 'Sydney', + 61292 => 'Sydney', 6129203 => 'Liverpool', 6129204 => 'Parramatta', - 61292050 => 'Bankstown', - 61292051 => 'Bankstown', - 61292052 => 'Bankstown', - 61292053 => 'Bankstown', - 61292054 => 'Bankstown', - 61292055 => 'Bankstown', - 61292056 => 'Bankstown', - 61292057 => 'Bankstown', - 61292058 => 'Bankstown', - 61292059 => 'Sydney', - 6129206 => 'Sydney', - 6129207 => 'Sydney', + 6129205 => 'Bankstown', 6129208 => 'Blacktown', - 6129209 => 'Sydney', - 612921 => 'Sydney', - 612922 => 'Sydney', - 612923 => 'Sydney', - 612924 => 'Sydney', - 612925 => 'Sydney', - 612926 => 'Sydney', - 612927 => 'Sydney', - 612928 => 'Sydney', - 612929 => 'Sydney', - 612930 => 'Sydney', - 612931 => 'Sydney', - 612932 => 'Sydney', - 612933 => 'Sydney', - 612934 => 'Sydney', - 6129350 => 'Sydney', - 6129351 => 'Sydney', - 6129352 => 'Sydney', - 6129353 => 'Sydney', + 61293 => 'Sydney', 6129354 => 'Parramatta', - 6129355 => 'Sydney', - 6129356 => 'Sydney', - 6129357 => 'Sydney', - 6129358 => 'Sydney', - 6129359 => 'Sydney', - 612936 => 'Sydney', - 6129370 => 'Sydney', - 6129371 => 'Sydney', - 61293720 => 'Sydney', - 61293721 => 'Sydney', - 61293722 => 'Sydney', 61293723 => 'Terrey Hills', - 61293724 => 'Sydney', - 61293725 => 'Sydney', - 61293726 => 'Sydney', - 61293727 => 'Sydney', - 61293728 => 'Sydney', - 61293729 => 'Sydney', - 6129373 => 'Sydney', - 6129374 => 'Sydney', - 6129375 => 'Sydney', - 6129376 => 'Sydney', - 6129377 => 'Sydney', - 6129378 => 'Sydney', - 6129379 => 'Sydney', - 612938 => 'Sydney', - 612939 => 'Sydney', - 6129400 => 'Sydney', - 6129401 => 'Sydney', - 6129402 => 'Sydney', - 6129403 => 'Sydney', - 6129404 => 'Sydney', - 6129405 => 'Sydney', - 6129406 => 'Sydney', + 61294 => 'Sydney', 6129407 => 'Parramatta', 6129408 => 'Sutherland', - 6129409 => 'Sydney', - 612941 => 'Sydney', - 6129420 => 'Sydney', 6129421 => 'Blacktown', - 6129422 => 'Sydney', - 6129423 => 'Sydney', - 6129424 => 'Sydney', - 6129425 => 'Sydney', 6129426 => 'Liverpool', - 6129427 => 'Sydney', - 6129428 => 'Sydney', - 6129429 => 'Sydney', - 612943 => 'Sydney', - 6129440 => 'Sydney', 6129441 => 'Terrey Hills', - 6129442 => 'Sydney', 6129443 => 'Avalon Beach', 6129444 => 'Dural', 6129445 => 'Dural', 6129446 => 'Terrey Hills', 6129447 => 'Terrey Hills', - 6129448 => 'Sydney', - 6129449 => 'Sydney', 6129450 => 'Terrey Hills', - 6129451 => 'Sydney', - 6129452 => 'Sydney', - 6129453 => 'Sydney', - 6129454 => 'Sydney', - 6129455 => 'Sydney', 6129456 => 'Avalon Beach', 6129457 => 'Terrey Hills', - 6129458 => 'Sydney', - 6129459 => 'Sydney', - 612946 => 'Sydney', - 6129470 => 'Sydney', - 6129471 => 'Terrey Hills', - 6129472 => 'Terrey Hills', - 6129473 => 'Terrey Hills', - 6129474 => 'Sydney', - 6129475 => 'Sydney', - 6129476 => 'Terrey Hills', - 6129477 => 'Terrey Hills', - 6129478 => 'Sydney', - 6129479 => 'Terrey Hills', - 6129480 => 'Terrey Hills', - 6129481 => 'Terrey Hills', - 6129482 => 'Terrey Hills', - 6129483 => 'Terrey Hills', - 6129484 => 'Terrey Hills', - 6129485 => 'Terrey Hills', - 6129486 => 'Terrey Hills', - 6129487 => 'Terrey Hills', - 61294880 => 'Sydney', - 61294881 => 'Sydney', - 61294882 => 'Terrey Hills', - 61294883 => 'Sydney', - 61294884 => 'Sydney', - 61294885 => 'Sydney', - 61294886 => 'Sydney', - 61294887 => 'Sydney', - 61294888 => 'Sydney', - 61294889 => 'Sydney', - 6129489 => 'Terrey Hills', - 612949 => 'Sydney', - 6129500 => 'Sydney', + 612947 => 'Terrey Hills', + 612948 => 'Terrey Hills', + 612950 => 'Sydney', 6129501 => 'Sutherland', - 6129502 => 'Sydney', - 6129503 => 'Sydney', - 6129504 => 'Sydney', - 6129505 => 'Sydney', - 6129506 => 'Sydney', - 6129507 => 'Sydney', - 6129508 => 'Sydney', - 6129509 => 'Sydney', - 6129510 => 'Sydney', - 6129511 => 'Sydney', - 6129512 => 'Sydney', - 6129513 => 'Sydney', - 6129514 => 'Sydney', - 6129515 => 'Sydney', - 6129516 => 'Sydney', - 6129517 => 'Sydney', - 6129518 => 'Sydney', - 6129519 => 'Sydney', + 612951 => 'Sydney', + 612952 => 'Sutherland', 6129520 => 'Engadine', - 6129521 => 'Sutherland', - 6129522 => 'Sutherland', - 6129523 => 'Sutherland', - 6129524 => 'Sutherland', - 6129525 => 'Sutherland', - 6129526 => 'Sutherland', - 6129527 => 'Sutherland', - 6129528 => 'Sutherland', 6129529 => 'Sydney', 6129530 => 'Sutherland', 6129531 => 'Sutherland', @@ -13335,48 +11586,21 @@ return array ( 61295397 => 'Sydney', 61295398 => 'Sydney', 61295399 => 'Sydney', - 6129540 => 'Sutherland', - 6129541 => 'Sutherland', - 6129542 => 'Sutherland', - 6129543 => 'Sutherland', - 6129544 => 'Sutherland', - 6129545 => 'Sutherland', + 612954 => 'Sutherland', 6129546 => 'Sydney', 6129547 => 'Sydney', 6129548 => 'Engadine', 6129549 => 'Sydney', 612955 => 'Sydney', 612956 => 'Sydney', - 6129570 => 'Sydney', - 6129571 => 'Sydney', - 6129572 => 'Sydney', - 6129573 => 'Sydney', + 612957 => 'Sydney', 6129574 => 'Sutherland', 6129575 => 'Sutherland', 6129576 => 'Sutherland', - 6129577 => 'Sydney', - 6129578 => 'Sydney', - 6129579 => 'Sydney', - 6129580 => 'Sydney', - 6129581 => 'Sydney', - 6129582 => 'Sydney', - 6129583 => 'Sydney', + 612958 => 'Sydney', 6129584 => 'Sutherland', - 6129585 => 'Sydney', - 6129586 => 'Sydney', - 6129587 => 'Sydney', - 6129588 => 'Sydney', 6129589 => 'Sutherland', - 6129590 => 'Sydney', - 6129591 => 'Sydney', - 6129592 => 'Sydney', - 6129593 => 'Sydney', - 6129594 => 'Sydney', - 6129595 => 'Sydney', - 6129596 => 'Sydney', - 6129597 => 'Sydney', - 6129598 => 'Sydney', - 6129599 => 'Sydney', + 612959 => 'Sydney', 612960 => 'Liverpool', 6129610 => 'Liverpool', 6129611 => 'Sydney', @@ -13389,87 +11613,31 @@ return array ( 6129618 => 'Liverpool', 6129619 => 'Sydney', 612962 => 'Blacktown', - 6129630 => 'Parramatta', - 6129631 => 'Parramatta', + 612963 => 'Parramatta', 6129632 => 'Bankstown', - 6129633 => 'Parramatta', - 6129634 => 'Parramatta', - 6129635 => 'Parramatta', - 6129636 => 'Parramatta', - 6129637 => 'Parramatta', - 6129638 => 'Parramatta', - 6129639 => 'Parramatta', - 6129640 => 'Sydney', - 6129641 => 'Sydney', - 6129642 => 'Sydney', - 6129643 => 'Sydney', + 612964 => 'Sydney', 6129644 => 'Bankstown', 6129645 => 'Bankstown', - 6129646 => 'Sydney', - 6129647 => 'Sydney', - 6129648 => 'Sydney', - 6129649 => 'Sydney', + 612965 => 'Dural', 6129650 => 'Sydney', - 6129651 => 'Dural', - 6129652 => 'Dural', - 6129653 => 'Dural', - 6129654 => 'Dural', - 6129655 => 'Dural', - 6129656 => 'Dural', 6129657 => 'Sydney', - 6129658 => 'Dural', 6129659 => 'Parramatta', - 6129660 => 'Sydney', - 6129661 => 'Sydney', - 6129662 => 'Sydney', - 6129663 => 'Sydney', - 6129664 => 'Sydney', - 6129665 => 'Sydney', - 6129666 => 'Sydney', - 6129667 => 'Sydney', + 612966 => 'Sydney', 6129668 => 'Sutherland', - 6129669 => 'Sydney', 612967 => 'Blacktown', - 6129680 => 'Parramatta', + 612968 => 'Parramatta', 6129681 => 'Bankstown', - 6129682 => 'Parramatta', - 6129683 => 'Parramatta', - 6129684 => 'Parramatta', - 6129685 => 'Parramatta', - 6129686 => 'Parramatta', - 6129687 => 'Parramatta', - 6129688 => 'Parramatta', - 6129689 => 'Parramatta', 612969 => 'Sydney', - 6129700 => 'Sydney', - 6129701 => 'Sydney', - 6129702 => 'Sydney', - 6129703 => 'Sydney', - 6129704 => 'Sydney', - 6129705 => 'Sydney', - 6129706 => 'Sydney', + 612970 => 'Sydney', 6129707 => 'Bankstown', 6129708 => 'Bankstown', 6129709 => 'Bankstown', + 612971 => 'Sydney', 6129710 => 'Sutherland', 6129711 => 'Liverpool', - 6129712 => 'Sydney', - 6129713 => 'Sydney', - 6129714 => 'Sydney', - 6129715 => 'Sydney', - 6129716 => 'Sydney', 6129717 => 'Sutherland', - 6129718 => 'Sydney', - 6129719 => 'Sydney', + 612972 => 'Bankstown', 6129720 => 'Liverpool', - 6129721 => 'Bankstown', - 6129722 => 'Bankstown', - 6129723 => 'Bankstown', - 6129724 => 'Bankstown', - 6129725 => 'Bankstown', - 6129726 => 'Bankstown', - 6129727 => 'Bankstown', - 6129728 => 'Bankstown', 6129729 => 'Liverpool', 6129730 => 'Liverpool', 6129731 => 'Liverpool', @@ -13481,37 +11649,14 @@ return array ( 6129737 => 'Sydney', 6129738 => 'Bankstown', 6129739 => 'Sydney', - 6129740 => 'Sydney', - 6129741 => 'Sydney', - 6129742 => 'Sydney', - 61297430 => 'Sydney', - 61297431 => 'Sydney', - 61297432 => 'Sydney', - 61297433 => 'Sydney', - 61297434 => 'Sydney', - 61297435 => 'Sydney', - 61297436 => 'Sydney', + 612974 => 'Sydney', 61297437 => 'Bankstown', 61297438 => 'Bankstown', 61297439 => 'Bankstown', - 6129744 => 'Sydney', - 6129745 => 'Sydney', - 6129746 => 'Sydney', - 6129747 => 'Sydney', - 6129748 => 'Sydney', - 6129749 => 'Sydney', 6129750 => 'Sydney', 6129751 => 'Sydney', - 61297520 => 'Sydney', + 6129752 => 'Sydney', 61297521 => 'Bankstown', - 61297522 => 'Sydney', - 61297523 => 'Sydney', - 61297524 => 'Sydney', - 61297525 => 'Sydney', - 61297526 => 'Sydney', - 61297527 => 'Sydney', - 61297528 => 'Sydney', - 61297529 => 'Sydney', 6129753 => 'Liverpool', 6129754 => 'Bankstown', 6129755 => 'Bankstown', @@ -13529,87 +11674,34 @@ return array ( 6129767 => 'Sydney', 6129768 => 'Parramatta', 6129769 => 'Parramatta', - 6129770 => 'Sydney', + 612977 => 'Sydney', 6129771 => 'Bankstown', 6129772 => 'Bankstown', 6129773 => 'Bankstown', 6129774 => 'Bankstown', - 6129775 => 'Sydney', - 6129776 => 'Sydney', - 6129777 => 'Sydney', - 6129778 => 'Sydney', - 6129779 => 'Sydney', - 6129780 => 'Bankstown', - 6129781 => 'Bankstown', - 6129782 => 'Bankstown', - 6129783 => 'Bankstown', + 612978 => 'Bankstown', 6129784 => 'Sydney', - 6129785 => 'Bankstown', - 6129786 => 'Bankstown', 6129787 => 'Sydney', - 6129788 => 'Bankstown', 6129789 => 'Sydney', - 6129790 => 'Bankstown', - 6129791 => 'Bankstown', - 6129792 => 'Bankstown', - 6129793 => 'Bankstown', - 6129794 => 'Bankstown', - 6129795 => 'Bankstown', - 6129796 => 'Bankstown', + 612979 => 'Bankstown', 6129797 => 'Sydney', 6129798 => 'Sydney', 6129799 => 'Sydney', - 6129800 => 'Sydney', - 6129801 => 'Sydney', - 6129802 => 'Sydney', - 6129803 => 'Sydney', - 6129804 => 'Sydney', - 6129805 => 'Sydney', + 612980 => 'Sydney', 6129806 => 'Parramatta', - 6129807 => 'Sydney', - 6129808 => 'Sydney', - 6129809 => 'Sydney', 612981 => 'Sydney', 612982 => 'Liverpool', 612983 => 'Blacktown', - 6129840 => 'Parramatta', - 6129841 => 'Parramatta', - 6129842 => 'Parramatta', - 6129843 => 'Parramatta', - 61298440 => 'Sydney', - 61298441 => 'Sydney', - 61298442 => 'Sydney', - 61298443 => 'Sydney', - 61298444 => 'Sydney', - 61298445 => 'Sydney', - 61298446 => 'Sydney', + 612984 => 'Parramatta', + 6129844 => 'Sydney', 61298447 => 'Liverpool', - 61298448 => 'Sydney', - 61298449 => 'Sydney', - 6129845 => 'Parramatta', - 61298460 => 'Parramatta', - 61298461 => 'Parramatta', - 61298462 => 'Parramatta', 61298463 => 'Sydney', - 61298464 => 'Parramatta', - 61298465 => 'Parramatta', - 61298466 => 'Parramatta', - 61298467 => 'Parramatta', - 61298468 => 'Parramatta', - 61298469 => 'Parramatta', 6129847 => 'Terrey Hills', - 6129848 => 'Parramatta', - 6129849 => 'Parramatta', - 6129850 => 'Sydney', + 612985 => 'Sydney', 6129851 => 'Blacktown', 6129852 => 'Blacktown', 6129853 => 'Blacktown', 6129854 => 'Blacktown', - 6129855 => 'Sydney', - 6129856 => 'Sydney', - 6129857 => 'Sydney', - 6129858 => 'Sydney', - 6129859 => 'Sydney', 6129860 => 'Parramatta', 6129861 => 'Sydney', 6129862 => 'Blacktown', @@ -13620,66 +11712,22 @@ return array ( 6129867 => 'Sydney', 6129868 => 'Sydney', 6129869 => 'Sydney', - 6129870 => 'Sydney', + 612987 => 'Sydney', 6129871 => 'Parramatta', 6129872 => 'Parramatta', - 61298730 => 'Parramatta', - 61298731 => 'Parramatta', - 61298732 => 'Parramatta', - 61298733 => 'Parramatta', - 61298734 => 'Parramatta', - 61298735 => 'Parramatta', - 61298736 => 'Parramatta', - 61298737 => 'Parramatta', - 61298738 => 'Parramatta', - 61298739 => 'Sydney', - 6129874 => 'Sydney', + 6129873 => 'Parramatta', 6129875 => 'Terrey Hills', - 6129876 => 'Sydney', - 6129877 => 'Sydney', - 6129878 => 'Sydney', - 6129879 => 'Sydney', - 6129880 => 'Sydney', + 612988 => 'Sydney', 6129881 => 'Blacktown', - 6129882 => 'Sydney', 6129883 => 'Avalon Beach', - 6129884 => 'Sydney', 6129885 => 'Blacktown', - 6129886 => 'Sydney', - 6129887 => 'Sydney', - 6129888 => 'Sydney', - 6129889 => 'Sydney', - 6129890 => 'Parramatta', - 6129891 => 'Parramatta', + 612989 => 'Parramatta', 6129892 => 'Bankstown', - 6129893 => 'Parramatta', - 6129894 => 'Parramatta', - 6129895 => 'Parramatta', - 6129896 => 'Parramatta', - 6129897 => 'Parramatta', - 6129898 => 'Parramatta', - 6129899 => 'Parramatta', - 6129900 => 'Sydney', - 6129901 => 'Sydney', - 6129902 => 'Sydney', - 6129903 => 'Sydney', - 6129904 => 'Sydney', - 6129905 => 'Sydney', - 6129906 => 'Sydney', - 6129907 => 'Sydney', - 6129908 => 'Sydney', - 6129909 => 'Sydney', - 61299100 => 'Sydney', - 61299101 => 'Sydney', - 61299102 => 'Sydney', - 61299103 => 'Sydney', - 61299104 => 'Sydney', + 61299 => 'Sydney', 61299105 => 'Terrey Hills', - 61299106 => 'Sydney', 61299107 => 'Terrey Hills', 61299108 => 'Terrey Hills', 61299109 => 'Terrey Hills', - 6129911 => 'Sydney', 61299120 => 'Parramatta', 61299121 => 'Parramatta', 61299122 => 'Parramatta', @@ -13701,33 +11749,9 @@ return array ( 61299147 => 'Sutherland', 61299148 => 'Bankstown', 61299149 => 'Engadine', - 61299150 => 'Sydney', - 61299151 => 'Sydney', - 61299152 => 'Sydney', - 61299153 => 'Sydney', - 61299154 => 'Sydney', - 61299155 => 'Sydney', - 61299156 => 'Sydney', - 61299157 => 'Sydney', - 61299158 => 'Sydney', 61299159 => 'Sutherland', - 6129916 => 'Sydney', - 6129917 => 'Sydney', 6129918 => 'Avalon Beach', - 6129919 => 'Sydney', 6129920 => 'Blacktown', - 6129921 => 'Sydney', - 6129922 => 'Sydney', - 6129923 => 'Sydney', - 6129924 => 'Sydney', - 6129925 => 'Sydney', - 6129926 => 'Sydney', - 6129927 => 'Sydney', - 6129928 => 'Sydney', - 6129929 => 'Sydney', - 6129930 => 'Sydney', - 6129931 => 'Sydney', - 6129932 => 'Sydney', 61299330 => 'Parramatta', 61299331 => 'Parramatta', 61299332 => 'Parramatta', @@ -13738,87 +11762,29 @@ return array ( 61299337 => 'Blacktown', 61299338 => 'Parramatta', 61299339 => 'Sutherland', - 6129934 => 'Sydney', - 6129935 => 'Sydney', - 6129936 => 'Sydney', - 6129937 => 'Sydney', - 6129938 => 'Sydney', - 6129939 => 'Sydney', 6129940 => 'Terrey Hills', - 6129941 => 'Sydney', - 6129942 => 'Sydney', 61299430 => 'Terrey Hills', 61299431 => 'Terrey Hills', 61299432 => 'Terrey Hills', 61299433 => 'Terrey Hills', 61299434 => 'Terrey Hills', - 61299435 => 'Sydney', - 61299436 => 'Sydney', - 61299437 => 'Sydney', - 61299438 => 'Sydney', - 61299439 => 'Sydney', - 61299440 => 'Sydney', - 61299441 => 'Sydney', - 61299442 => 'Sydney', - 61299443 => 'Terrey Hills', - 61299444 => 'Terrey Hills', - 61299445 => 'Terrey Hills', - 61299446 => 'Terrey Hills', - 61299447 => 'Terrey Hills', - 61299448 => 'Terrey Hills', - 61299449 => 'Terrey Hills', + 6129944 => 'Terrey Hills', 6129945 => 'Terrey Hills', 6129946 => 'Avalon Beach', - 61299470 => 'Sydney', - 61299471 => 'Sydney', - 61299472 => 'Sydney', - 61299473 => 'Sydney', - 61299474 => 'Sydney', - 61299475 => 'Sydney', - 61299476 => 'Sydney', 61299477 => 'Parramatta', - 61299478 => 'Sydney', - 61299479 => 'Sydney', - 6129948 => 'Sydney', - 6129949 => 'Sydney', - 612995 => 'Sydney', - 612996 => 'Sydney', 6129970 => 'Terrey Hills', - 6129971 => 'Sydney', - 6129972 => 'Sydney', 6129973 => 'Avalon Beach', 6129974 => 'Avalon Beach', - 6129975 => 'Sydney', - 6129976 => 'Sydney', - 6129977 => 'Sydney', - 6129978 => 'Sydney', 6129979 => 'Terrey Hills', 6129980 => 'Terrey Hills', - 6129981 => 'Sydney', - 6129982 => 'Sydney', - 6129983 => 'Sydney', - 6129984 => 'Sydney', 6129985 => 'Avalon Beach', 6129986 => 'Terrey Hills', 6129987 => 'Terrey Hills', - 6129988 => 'Sydney', 6129989 => 'Terrey Hills', - 6129990 => 'Sydney', 6129991 => 'Avalon Beach', 6129992 => 'Dural', - 6129993 => 'Sydney', - 6129994 => 'Sydney', - 6129995 => 'Sydney', - 61299960 => 'Sydney', - 61299961 => 'Sydney', - 61299962 => 'Sydney', - 61299963 => 'Sydney', - 61299964 => 'Sydney', - 61299965 => 'Sydney', 61299966 => 'Parramatta', 61299967 => 'Parramatta', - 61299968 => 'Sydney', - 61299969 => 'Sydney', 6129997 => 'Terrey Hills', 6129998 => 'Terrey Hills', 6129999 => 'Terrey Hills', @@ -15072,16 +13038,9 @@ return array ( 61343127 => 'Buangor', 61343128 => 'Buninyong', 61343129 => 'Clear Lake', + 6134313 => 'Ballarat', 61343130 => 'Creswick', 61343131 => 'Crymelon', - 61343132 => 'Ballarat', - 61343133 => 'Ballarat', - 61343134 => 'Ballarat', - 61343135 => 'Ballarat', - 61343136 => 'Ballarat', - 61343137 => 'Ballarat', - 61343138 => 'Ballarat', - 61343139 => 'Ballarat', 61343140 => 'Dimboola', 61343141 => 'Elmhurst', 61343142 => 'Gerang Gerung', @@ -15452,16 +13411,11 @@ return array ( 61345037 => 'Harrow', 61345038 => 'Woodhouse', 61345039 => 'Woodhouse', + 6134504 => 'Warrnambool', 61345040 => 'Lake Mundi', 61345041 => 'Lake Mundi', - 61345042 => 'Warrnambool', 61345043 => 'Portland', - 61345044 => 'Warrnambool', - 61345045 => 'Warrnambool', - 61345046 => 'Warrnambool', - 61345047 => 'Warrnambool', 61345048 => 'Nirranda', - 61345049 => 'Warrnambool', 61345050 => 'Warrnambool', 61345051 => 'Hamilton', 61345052 => 'Warrnambool', @@ -15608,15 +13562,10 @@ return array ( 61347070 => 'Myrtleford/Nagambie/Puckapunyal/Pyalong/Seymour/St James/Strathbogie/Swanpool/Taggerty/Tatong', 61347071 => 'Thoona/Tungamah/Violet Town/Wangaratta/Whorouly/Winton/Woods Point/Yarck/Yarrawonga/Yea', 61347072 => 'Falls Creek', - 61348000 => 'Shepparton', - 61348001 => 'Shepparton', - 61348002 => 'Shepparton', - 61348003 => 'Shepparton', + 6134800 => 'Shepparton', 61348004 => 'Cobram', - 61348005 => 'Shepparton', 61348006 => 'Tocumwal', 61348007 => 'Cobram', - 61348008 => 'Shepparton', 61348009 => 'Berrigan', 61348010 => 'Blighty', 61348011 => 'Brassi', @@ -15648,16 +13597,9 @@ return array ( 61348037 => 'Tongala', 61348038 => 'Undera', 61348039 => 'Wakool', + 6134804 => 'Shepparton', 61348040 => 'Wanganella', 61348041 => 'Yalca', - 61348042 => 'Shepparton', - 61348043 => 'Shepparton', - 61348044 => 'Shepparton', - 61348045 => 'Shepparton', - 61348046 => 'Shepparton', - 61348047 => 'Shepparton', - 61348048 => 'Shepparton', - 61348049 => 'Shepparton', 61348050 => 'Tatura', 61348051 => 'Shepparton', 61348052 => 'Kialla East', @@ -15728,16 +13670,8 @@ return array ( 61348117 => 'Tocumwal', 61348118 => 'Tongala', 61348119 => 'Undera', + 6134812 => 'Shepparton', 61348120 => 'Wakool', - 61348121 => 'Shepparton', - 61348122 => 'Shepparton', - 61348123 => 'Shepparton', - 61348124 => 'Shepparton', - 61348125 => 'Shepparton', - 61348126 => 'Shepparton', - 61348127 => 'Shepparton', - 61348128 => 'Shepparton', - 61348129 => 'Shepparton', 61348130 => 'Shepparton', 61348131 => 'Wanganella', 61348132 => 'Yalca', @@ -15962,48 +13896,23 @@ return array ( 61350197 => 'Nyah', 61350198 => 'Wentworth', 61350199 => 'Sea Lake', - 61350200 => 'Balranald', - 61350201 => 'Balranald', - 61350202 => 'Balranald', - 61350203 => 'Balranald', + 6135020 => 'Balranald', 61350204 => 'Box Creek', 61350205 => 'Curyo', 61350206 => 'Box Creek', - 61350207 => 'Balranald', - 61350208 => 'Balranald', - 61350209 => 'Balranald', 6135021 => 'Mildura', - 61350220 => 'Mildura', - 61350221 => 'Mildura', - 61350222 => 'Mildura', - 61350223 => 'Mildura', - 61350224 => 'Mildura', - 61350225 => 'Mildura', + 6135022 => 'Mildura', 61350226 => 'Wentworth', - 61350227 => 'Mildura', - 61350228 => 'Mildura', - 61350229 => 'Mildura', 6135023 => 'Mildura', 6135024 => 'Mildura', 6135025 => 'Mildura', + 6135026 => 'Robinvale', 61350260 => 'Wemen', - 61350261 => 'Robinvale', - 61350262 => 'Robinvale', - 61350263 => 'Robinvale', - 61350264 => 'Robinvale', - 61350265 => 'Robinvale', - 61350266 => 'Robinvale', 61350267 => 'Boundary Bend', 61350268 => 'Boundary Bend', - 61350269 => 'Robinvale', + 6135027 => 'Wentworth', 61350270 => 'Anabranch', 61350271 => 'Scotia', - 61350272 => 'Wentworth', - 61350273 => 'Wentworth', - 61350274 => 'Wentworth', - 61350275 => 'Wentworth', - 61350276 => 'Wentworth', - 61350277 => 'Wentworth', 61350278 => 'Rufus River', 61350279 => 'Palinyewah', 61350280 => 'Werrimull', @@ -16026,13 +13935,8 @@ return array ( 61350297 => 'Arumpo', 61350298 => 'Arumpo', 61350299 => 'Arumpo', + 6135030 => 'Nyah', 61350300 => 'Boundary Bend', - 61350301 => 'Nyah', - 61350302 => 'Nyah', - 61350303 => 'Nyah', - 61350304 => 'Nyah', - 61350305 => 'Nyah', - 61350306 => 'Nyah', 61350307 => 'Karawinna', 61350308 => 'Mildura', 61350309 => 'Nangiloc', @@ -16198,16 +14102,8 @@ return array ( 61350497 => 'Boundary Bend', 61350498 => 'Karawinna', 61350499 => 'Nangiloc', - 61350510 => 'Mildura', - 61350511 => 'Mildura', - 61350512 => 'Mildura', - 61350513 => 'Mildura', - 61350514 => 'Mildura', - 61350515 => 'Mildura', - 61350516 => 'Mildura', - 61350517 => 'Mildura', + 6135051 => 'Mildura', 61350518 => 'Robinvale', - 61350519 => 'Mildura', 61350520 => 'Wemen', 61350521 => 'Scotia', 61350522 => 'Wentworth', @@ -16618,13 +14514,7 @@ return array ( 61351197 => 'Mallacoota', 61351198 => 'Meerlieu', 61351199 => 'Mount Taylor', - 61351200 => 'Morwell', - 61351201 => 'Morwell', - 61351202 => 'Morwell', - 61351203 => 'Morwell', - 61351204 => 'Morwell', - 61351205 => 'Morwell', - 61351206 => 'Morwell', + 6135120 => 'Morwell', 61351207 => 'Bairnsdale', 61351208 => 'Baw Baw', 61351209 => 'Bruthen', @@ -16662,9 +14552,9 @@ return array ( 61351297 => 'Orbost', 61351298 => 'Swifts Creek', 61351299 => 'Baw Baw', + 613513 => 'Morwell', 61351300 => 'Erica', 61351301 => 'Gormandale', - 61351302 => 'Morwell', 61351303 => 'Rosedale', 61351304 => 'Traralgon', 61351305 => 'Woodside', @@ -16672,12 +14562,6 @@ return array ( 61351307 => 'Yinnar', 61351308 => 'Clydebank', 61351309 => 'Dargo', - 6135131 => 'Morwell', - 6135132 => 'Morwell', - 6135133 => 'Morwell', - 6135134 => 'Morwell', - 6135135 => 'Morwell', - 6135136 => 'Morwell', 61351370 => 'Golden Beach', 61351371 => 'Heyfield', 61351372 => 'Licola', @@ -16698,13 +14582,7 @@ return array ( 61351387 => 'Golden Beach', 61351388 => 'Heyfield', 61351389 => 'Licola', - 61351390 => 'Maffra', - 61351391 => 'Maffra', - 61351392 => 'Maffra', - 61351393 => 'Maffra', - 61351394 => 'Maffra', - 61351395 => 'Maffra', - 61351396 => 'Maffra', + 6135139 => 'Maffra', 61351397 => 'Heyfield', 61351398 => 'Licola', 61351399 => 'Loch Sport', @@ -16740,16 +14618,9 @@ return array ( 61351429 => 'Morwell', 6135143 => 'Sale', 6135144 => 'Sale', + 6135145 => 'Maffra', 61351450 => 'Clydebank', - 61351451 => 'Maffra', - 61351452 => 'Maffra', - 61351453 => 'Maffra', - 61351454 => 'Maffra', - 61351455 => 'Maffra', - 61351456 => 'Maffra', - 61351457 => 'Maffra', 61351458 => 'Munro', - 61351459 => 'Maffra', 61351460 => 'Loch Sport', 61351461 => 'Loch Sport', 61351462 => 'Woodside', @@ -16760,44 +14631,21 @@ return array ( 61351467 => 'Sale', 61351468 => 'Seaspray', 61351469 => 'Loch Sport', - 61351470 => 'Maffra', - 61351471 => 'Maffra', - 61351472 => 'Maffra', - 61351473 => 'Maffra', - 61351474 => 'Maffra', - 61351475 => 'Maffra', + 6135147 => 'Maffra', 61351476 => 'Dinner Plain', 61351477 => 'Dinner Plain', 61351478 => 'Genoa', 61351479 => 'Genoa', - 61351480 => 'Heyfield', - 61351481 => 'Heyfield', - 61351482 => 'Heyfield', - 61351483 => 'Heyfield', + 6135148 => 'Heyfield', 61351484 => 'Yarram', 61351485 => 'Yinnar', - 61351486 => 'Heyfield', 61351487 => 'Clydebank', 61351488 => 'Licola', - 61351489 => 'Heyfield', - 61351490 => 'Sale', - 61351491 => 'Sale', - 61351492 => 'Sale', - 61351493 => 'Sale', - 61351494 => 'Sale', - 61351495 => 'Sale', - 61351496 => 'Sale', - 61351497 => 'Sale', + 6135149 => 'Sale', 61351498 => 'Clydebank', - 61351499 => 'Sale', - 61351500 => 'Bairnsdale', - 61351501 => 'Bairnsdale', - 61351502 => 'Bairnsdale', - 61351503 => 'Bairnsdale', - 61351504 => 'Bairnsdale', + 6135150 => 'Bairnsdale', 61351505 => 'Loch Sport', 61351506 => 'Maffra', - 61351507 => 'Bairnsdale', 61351508 => 'Dinner Plain', 61351509 => 'Lakes Entrance', 61351510 => 'Dargo', @@ -16811,46 +14659,22 @@ return array ( 61351518 => 'Seaspray', 61351519 => 'Dargo', 6135152 => 'Bairnsdale', - 61351530 => 'Bairnsdale', - 61351531 => 'Bairnsdale', - 61351532 => 'Bairnsdale', - 61351533 => 'Bairnsdale', + 6135153 => 'Bairnsdale', 61351534 => 'Bruthen', 61351535 => 'Bruthen', - 61351536 => 'Bairnsdale', - 61351537 => 'Bairnsdale', - 61351538 => 'Bairnsdale', - 61351539 => 'Bairnsdale', + 6135154 => 'Orbost', 61351540 => 'Goongerah', - 61351541 => 'Orbost', - 61351542 => 'Orbost', - 61351543 => 'Orbost', 61351544 => 'Cabbage Tree Creek', 61351545 => 'Cabbage Tree Creek', - 61351546 => 'Orbost', - 61351547 => 'Orbost', - 61351548 => 'Orbost', - 61351549 => 'Orbost', + 6135155 => 'Lakes Entrance', 61351550 => 'Gelantipy', - 61351551 => 'Lakes Entrance', - 61351552 => 'Lakes Entrance', - 61351553 => 'Lakes Entrance', - 61351554 => 'Lakes Entrance', - 61351555 => 'Lakes Entrance', - 61351556 => 'Lakes Entrance', 61351557 => 'Nowa Nowa', - 61351558 => 'Lakes Entrance', 61351559 => 'Buchan', - 61351560 => 'Bairnsdale', - 61351561 => 'Bairnsdale', + 6135156 => 'Bairnsdale', 61351562 => 'Lakes Entrance', 61351563 => 'Lakes Entrance', 61351564 => 'Lakes Entrance', 61351565 => 'Lakes Entrance', - 61351566 => 'Bairnsdale', - 61351567 => 'Bairnsdale', - 61351568 => 'Bairnsdale', - 61351569 => 'Bairnsdale', 61351570 => 'Ensay', 61351571 => 'Lindenow', 61351572 => 'Lindenow', @@ -16990,15 +14814,7 @@ return array ( 6135174 => 'Traralgon', 6135175 => 'Traralgon', 6135176 => 'Traralgon', - 61351770 => 'Traralgon', - 61351771 => 'Traralgon', - 61351772 => 'Traralgon', - 61351773 => 'Traralgon', - 61351774 => 'Traralgon', - 61351775 => 'Traralgon', - 61351776 => 'Traralgon', - 61351777 => 'Traralgon', - 61351778 => 'Traralgon', + 6135177 => 'Traralgon', 61351779 => 'Rosedale', 61351780 => 'Gelantipy', 61351781 => 'Swifts Creek', @@ -17050,28 +14866,18 @@ return array ( 61351827 => 'Yarram', 61351828 => 'Sale', 61351829 => 'Sale', - 61351830 => 'Yarram', - 61351831 => 'Yarram', - 61351832 => 'Yarram', - 61351833 => 'Yarram', + 6135183 => 'Yarram', 61351834 => 'Rosedale', 61351835 => 'Rosedale', 61351836 => 'Traralgon', 61351837 => 'Traralgon', - 61351838 => 'Yarram', - 61351839 => 'Yarram', 61351840 => 'Yarram', 61351841 => 'Yarram', 61351850 => 'Yarram', 61351851 => 'Yarram', 61351860 => 'Yarram', 61351861 => 'Yarram', - 61351870 => 'Woodside', - 61351871 => 'Woodside', - 61351872 => 'Woodside', - 61351873 => 'Woodside', - 61351874 => 'Woodside', - 61351875 => 'Woodside', + 6135187 => 'Woodside', 61351876 => 'Yarram', 61351877 => 'Yarram', 61351878 => 'Yinnar', @@ -17135,16 +14941,8 @@ return array ( 61351994 => 'Rosedale', 6135200 => 'Geelong', 6135201 => 'Geelong', - 61352020 => 'Geelong', - 61352021 => 'Geelong', - 61352022 => 'Geelong', - 61352023 => 'Geelong', - 61352024 => 'Geelong', - 61352025 => 'Geelong', + 6135202 => 'Geelong', 61352026 => 'Geelong/Lara/Geelong', - 61352027 => 'Geelong', - 61352028 => 'Geelong', - 61352029 => 'Geelong', 61352030 => 'Aireys Inlet', 61352031 => 'Aireys Inlet', 61352032 => 'Aireys Inlet', @@ -17306,6 +15104,7 @@ return array ( 61352197 => 'Swan Marsh', 61352198 => 'Aireys Inlet', 61352199 => 'Anglesea', + 613522 => 'Geelong', 61352200 => 'Aireys Inlet', 61352201 => 'Wingeel', 61352202 => 'Anglesea', @@ -17316,33 +15115,8 @@ return array ( 61352207 => 'Bannockburn', 61352208 => 'Lara', 61352209 => 'Meredith', - 6135221 => 'Geelong', - 6135222 => 'Geelong', - 6135223 => 'Geelong', - 6135224 => 'Geelong', - 6135225 => 'Geelong', - 6135226 => 'Geelong', - 61352270 => 'Geelong', - 61352271 => 'Geelong', - 61352272 => 'Geelong', - 61352273 => 'Geelong', - 61352274 => 'Geelong', - 61352275 => 'Geelong', - 61352276 => 'Geelong', - 61352277 => 'Geelong', - 61352278 => 'Geelong', 61352279 => 'Lara', - 61352280 => 'Geelong', - 61352281 => 'Geelong', - 61352282 => 'Geelong', - 61352283 => 'Geelong', - 61352284 => 'Geelong', - 61352285 => 'Geelong', - 61352286 => 'Geelong', - 61352287 => 'Geelong', - 61352288 => 'Geelong', 61352289 => 'Lorne', - 6135229 => 'Geelong', 61352300 => 'Colac', 61352301 => 'Beeac', 61352302 => 'Swan Marsh', @@ -17366,13 +15140,8 @@ return array ( 61352347 => 'Beeac', 61352348 => 'Beeac', 61352349 => 'Beeac', + 6135235 => 'Swan Marsh', 61352350 => 'Beech Forest', - 61352351 => 'Swan Marsh', - 61352352 => 'Swan Marsh', - 61352353 => 'Swan Marsh', - 61352354 => 'Swan Marsh', - 61352355 => 'Swan Marsh', - 61352356 => 'Swan Marsh', 61352357 => 'Beech Forest', 61352358 => 'Beech Forest', 61352359 => 'Beech Forest', @@ -17386,26 +15155,12 @@ return array ( 61352367 => 'Barwon Downs', 61352368 => 'Barwon Downs', 61352369 => 'Lavers Hill', - 61352370 => 'Apollo Bay', - 61352371 => 'Apollo Bay', - 61352372 => 'Apollo Bay', + 6135237 => 'Apollo Bay', 61352373 => 'Lavers Hill', 61352374 => 'Lavers Hill', 61352375 => 'Lavers Hill', - 61352376 => 'Apollo Bay', - 61352377 => 'Apollo Bay', - 61352378 => 'Apollo Bay', - 61352379 => 'Apollo Bay', - 61352380 => 'Cressy', - 61352381 => 'Cressy', - 61352382 => 'Cressy', + 6135238 => 'Cressy', 61352383 => 'Kennedys Creek', - 61352384 => 'Cressy', - 61352385 => 'Cressy', - 61352386 => 'Cressy', - 61352387 => 'Cressy', - 61352388 => 'Cressy', - 61352389 => 'Cressy', 61352390 => 'Beeac', 61352391 => 'Beeac', 61352392 => 'Birregurra', @@ -17416,8 +15171,7 @@ return array ( 61352397 => 'Barwon Downs', 61352398 => 'Beech Forest', 61352399 => 'Beech Forest', - 6135240 => 'Geelong', - 6135241 => 'Geelong', + 613524 => 'Geelong', 61352420 => 'Inverleigh', 61352421 => 'Lara', 61352422 => 'Lorne', @@ -17426,25 +15180,8 @@ return array ( 61352425 => 'Torquay', 61352426 => 'Winchelsea South', 61352427 => 'Wingeel', - 61352428 => 'Geelong', 61352429 => 'Queenscliff', - 6135243 => 'Geelong', - 6135244 => 'Geelong', - 6135245 => 'Geelong', - 6135246 => 'Geelong', - 6135247 => 'Geelong', - 6135248 => 'Geelong', - 6135249 => 'Geelong', - 6135250 => 'Queenscliff', - 6135251 => 'Queenscliff', - 6135252 => 'Queenscliff', - 6135253 => 'Queenscliff', - 6135254 => 'Queenscliff', - 6135255 => 'Queenscliff', - 6135256 => 'Queenscliff', - 6135257 => 'Queenscliff', - 6135258 => 'Queenscliff', - 6135259 => 'Queenscliff', + 613525 => 'Queenscliff', 6135260 => 'Geelong', 6135261 => 'Torquay', 6135262 => 'Torquay', @@ -17464,6 +15201,7 @@ return array ( 61352697 => 'Barwon Downs', 61352698 => 'Beeac', 61352699 => 'Beech Forest', + 613527 => 'Geelong', 61352700 => 'Birregurra', 61352701 => 'Colac', 61352702 => 'Cressy', @@ -17473,16 +15211,6 @@ return array ( 61352706 => 'Aireys Inlet', 61352707 => 'Anglesea', 61352708 => 'Bannockburn', - 61352709 => 'Geelong', - 6135271 => 'Geelong', - 6135272 => 'Geelong', - 6135273 => 'Geelong', - 6135274 => 'Geelong', - 6135275 => 'Geelong', - 6135276 => 'Geelong', - 6135277 => 'Geelong', - 6135278 => 'Geelong', - 6135279 => 'Geelong', 61352800 => 'Inverleigh', 61352801 => 'Lara', 61352802 => 'Lorne', @@ -17501,16 +15229,10 @@ return array ( 6135286 => 'Meredith', 6135287 => 'Wingeel', 6135288 => 'Winchelsea South', - 61352890 => 'Lorne', - 61352891 => 'Lorne', - 61352892 => 'Lorne', - 61352893 => 'Lorne', - 61352894 => 'Lorne', - 61352895 => 'Lorne', + 6135289 => 'Lorne', 61352896 => 'Aireys Inlet', 61352897 => 'Aireys Inlet', 61352898 => 'Aireys Inlet', - 61352899 => 'Lorne', 61352900 => 'Apollo Bay', 61352901 => 'Barwon Downs', 61352902 => 'Beeac', @@ -17821,16 +15543,7 @@ return array ( 61353288 => 'Murtoa', 61353289 => 'Natimuk', 6135329 => 'Ballarat', - 6135330 => 'Ballarat', - 6135331 => 'Ballarat', - 6135332 => 'Ballarat', - 6135333 => 'Ballarat', - 6135334 => 'Ballarat', - 6135335 => 'Ballarat', - 6135336 => 'Ballarat', - 6135337 => 'Ballarat', - 6135338 => 'Ballarat', - 6135339 => 'Ballarat', + 613533 => 'Ballarat', 61353400 => 'Ballarat', 61353401 => 'Skipton', 61353402 => 'Skipton', @@ -17842,15 +15555,8 @@ return array ( 61353408 => 'Skipton', 61353409 => 'Rainbow', 6135341 => 'Buninyong', - 61353420 => 'Scarsdale', - 61353421 => 'Scarsdale', - 61353422 => 'Scarsdale', - 61353423 => 'Scarsdale', - 61353424 => 'Scarsdale', - 61353425 => 'Scarsdale', + 6135342 => 'Scarsdale', 61353426 => 'Ballarat', - 61353427 => 'Scarsdale', - 61353428 => 'Scarsdale', 61353429 => 'Ballarat', 6135343 => 'Learmonth', 6135344 => 'Linton', @@ -17910,15 +15616,10 @@ return array ( 61353557 => 'Maroona', 61353558 => 'Lake Bolac', 61353559 => 'Streatham', + 6135356 => 'Halls Gap', 61353560 => 'Telopea Downs', 61353561 => 'Buninyong', 61353562 => 'Stawell', - 61353563 => 'Halls Gap', - 61353564 => 'Halls Gap', - 61353565 => 'Halls Gap', - 61353566 => 'Halls Gap', - 61353567 => 'Halls Gap', - 61353568 => 'Halls Gap', 61353569 => 'Landsborough', 6135357 => 'Navarre', 6135358 => 'Stawell', @@ -17943,13 +15644,7 @@ return array ( 61353617 => 'Marnoo', 61353618 => 'Dadswells Bridge', 61353619 => 'Glenorchy', - 61353620 => 'Horsham', - 61353621 => 'Horsham', - 61353622 => 'Horsham', - 61353623 => 'Horsham', - 61353624 => 'Horsham', - 61353625 => 'Horsham', - 61353626 => 'Horsham', + 6135362 => 'Horsham', 61353627 => 'Kalkee', 61353628 => 'Laharum', 61353629 => 'Banyena', @@ -17983,13 +15678,7 @@ return array ( 61353657 => 'Broughton', 61353658 => 'Serviceton', 61353659 => 'Telopea Downs', - 61353660 => 'Bacchus Marsh', - 61353661 => 'Bacchus Marsh', - 61353662 => 'Bacchus Marsh', - 61353663 => 'Bacchus Marsh', - 61353664 => 'Bacchus Marsh', - 61353665 => 'Bacchus Marsh', - 61353666 => 'Bacchus Marsh', + 6135366 => 'Bacchus Marsh', 61353667 => 'Ballan', 61353668 => 'Balliang', 61353669 => 'Mount Wallace', @@ -18096,14 +15785,7 @@ return array ( 61353797 => 'Laharum', 61353798 => 'Laharum', 61353799 => 'Ballarat', - 61353800 => 'Glenisla', - 61353801 => 'Glenisla', - 61353802 => 'Glenisla', - 61353803 => 'Glenisla', - 61353804 => 'Glenisla', - 61353805 => 'Glenisla', - 61353806 => 'Glenisla', - 61353807 => 'Glenisla', + 6135380 => 'Glenisla', 61353808 => 'Banyena', 61353809 => 'Banyena', 6135381 => 'Horsham', @@ -18118,32 +15800,16 @@ return array ( 61353837 => 'Laharum', 61353838 => 'Laharum', 61353839 => 'Laharum', - 61353840 => 'Horsham', + 6135384 => 'Horsham', 61353841 => 'Ararat', - 61353842 => 'Horsham', - 61353843 => 'Horsham', - 61353844 => 'Horsham', 61353845 => 'Ballarat', - 61353846 => 'Horsham', - 61353847 => 'Horsham', - 61353848 => 'Horsham', 61353849 => 'Ararat', - 61353850 => 'Murtoa', - 61353851 => 'Murtoa', - 61353852 => 'Murtoa', - 61353853 => 'Murtoa', - 61353854 => 'Murtoa', - 61353855 => 'Murtoa', + 6135385 => 'Murtoa', 61353856 => 'Minyip', 61353857 => 'Minyip', 61353858 => 'Minyip', 61353859 => 'Minyip', - 61353860 => 'Goroke', - 61353861 => 'Goroke', - 61353862 => 'Goroke', - 61353863 => 'Goroke', - 61353864 => 'Goroke', - 61353865 => 'Goroke', + 6135386 => 'Goroke', 61353866 => 'Minimay', 61353867 => 'Minimay', 61353868 => 'Minimay', @@ -18444,26 +16110,14 @@ return array ( 61354217 => 'Trentham', 61354218 => 'Llanelly', 61354219 => 'Gisborne', - 61354220 => 'Kyneton', - 61354221 => 'Kyneton', - 61354222 => 'Kyneton', - 61354223 => 'Kyneton', + 6135422 => 'Kyneton', 61354224 => 'Marong', 61354225 => 'Mitiamo', - 61354226 => 'Kyneton', - 61354227 => 'Kyneton', - 61354228 => 'Kyneton', - 61354229 => 'Kyneton', + 6135423 => 'Kyneton', 61354230 => 'Raywood', 61354231 => 'Strathfieldsaye', - 61354232 => 'Kyneton', - 61354233 => 'Kyneton', - 61354234 => 'Kyneton', - 61354235 => 'Kyneton', 61354236 => 'Beazleys Bridge', - 61354237 => 'Kyneton', 61354238 => 'Birchip', - 61354239 => 'Kyneton', 6135424 => 'Trentham', 61354250 => 'Buckrabanyule', 61354251 => 'Charlton', @@ -18485,25 +16139,13 @@ return array ( 61354267 => 'Traynors Lagoon', 61354268 => 'Watchem', 61354269 => 'Wedderburn', - 61354270 => 'Woodend', - 61354271 => 'Woodend', - 61354272 => 'Woodend', - 61354273 => 'Woodend', - 61354274 => 'Woodend', + 6135427 => 'Woodend', 61354275 => 'Romsey', 61354276 => 'Wycheproof', 61354277 => 'Echuca', - 61354278 => 'Woodend', - 61354279 => 'Woodend', 6135428 => 'Gisborne', 6135429 => 'Romsey', - 61354300 => 'Bendigo', - 61354301 => 'Bendigo', - 61354302 => 'Bendigo', - 61354303 => 'Bendigo', - 61354304 => 'Bendigo', - 61354305 => 'Bendigo', - 61354306 => 'Bendigo', + 6135430 => 'Bendigo', 61354307 => 'Goornong', 61354308 => 'Elmore', 61354309 => 'Colbinabbin', @@ -18527,12 +16169,7 @@ return array ( 61354327 => 'Elmore', 61354328 => 'Colbinabbin', 61354329 => 'Colbinabbin', - 61354330 => 'Heathcote', - 61354331 => 'Heathcote', - 61354332 => 'Heathcote', - 61354333 => 'Heathcote', - 61354334 => 'Heathcote', - 61354335 => 'Heathcote', + 6135433 => 'Heathcote', 61354336 => 'Goornong', 61354337 => 'Bendigo', 61354338 => 'Bendigo', @@ -18570,26 +16207,11 @@ return array ( 61354388 => 'Llanelly', 61354389 => 'Llanelly', 6135439 => 'Strathfieldsaye', - 6135440 => 'Bendigo', - 6135441 => 'Bendigo', - 6135442 => 'Bendigo', - 6135443 => 'Bendigo', - 6135444 => 'Bendigo', - 6135445 => 'Bendigo', - 6135446 => 'Bendigo', - 6135447 => 'Bendigo', - 6135448 => 'Bendigo', - 6135449 => 'Bendigo', + 613544 => 'Bendigo', + 6135450 => 'Kerang', 61354500 => 'Gunbower', 61354501 => 'Lockington', 61354502 => 'Rochester', - 61354503 => 'Kerang', - 61354504 => 'Kerang', - 61354505 => 'Kerang', - 61354506 => 'Kerang', - 61354507 => 'Kerang', - 61354508 => 'Kerang', - 61354509 => 'Kerang', 61354510 => 'Kerang', 61354511 => 'Barham', 61354512 => 'Tullakool', @@ -18610,15 +16232,8 @@ return array ( 61354527 => 'Cohuna', 61354528 => 'Kerang', 61354529 => 'Lake Meran', + 6135453 => 'Barham', 61354530 => 'Tullakool', - 61354531 => 'Barham', - 61354532 => 'Barham', - 61354533 => 'Barham', - 61354534 => 'Barham', - 61354535 => 'Barham', - 61354536 => 'Barham', - 61354537 => 'Barham', - 61354538 => 'Barham', 61354539 => 'Tullakool', 6135454 => 'Bendigo', 61354550 => 'St Arnaud', @@ -18754,23 +16369,9 @@ return array ( 61354707 => 'Colbinabbin', 61354708 => 'Colbinabbin', 61354709 => 'Dingee', + 6135471 => 'Castlemaine', 61354710 => 'Dingee', - 61354711 => 'Castlemaine', - 61354712 => 'Castlemaine', - 61354713 => 'Castlemaine', - 61354714 => 'Castlemaine', - 61354715 => 'Castlemaine', - 61354716 => 'Castlemaine', - 61354717 => 'Castlemaine', - 61354718 => 'Castlemaine', - 61354719 => 'Castlemaine', - 61354720 => 'Castlemaine', - 61354721 => 'Castlemaine', - 61354722 => 'Castlemaine', - 61354723 => 'Castlemaine', - 61354724 => 'Castlemaine', - 61354725 => 'Castlemaine', - 61354726 => 'Castlemaine', + 6135472 => 'Castlemaine', 61354727 => 'Barham', 61354728 => 'Boort', 61354729 => 'Cohuna', @@ -18796,12 +16397,7 @@ return array ( 61354749 => 'Carisbrook', 6135475 => 'Maldon', 6135476 => 'Newstead', - 61354770 => 'St Arnaud', - 61354771 => 'St Arnaud', - 61354772 => 'St Arnaud', - 61354773 => 'St Arnaud', - 61354774 => 'St Arnaud', - 61354775 => 'St Arnaud', + 6135477 => 'St Arnaud', 61354776 => 'Charlton', 61354777 => 'Birchip', 61354778 => 'Buckrabanyule', @@ -18816,12 +16412,7 @@ return array ( 61354787 => 'Watchem', 61354788 => 'Laen', 61354789 => 'Dunolly', - 61354790 => 'Castlemaine', - 61354791 => 'Castlemaine', - 61354792 => 'Castlemaine', - 61354793 => 'Castlemaine', - 61354794 => 'Castlemaine', - 61354795 => 'Castlemaine', + 6135479 => 'Castlemaine', 61354796 => 'Bealiba', 61354797 => 'Traynors Lagoon', 61354798 => 'Maldon', @@ -18837,26 +16428,13 @@ return array ( 61354817 => 'Maldon', 61354818 => 'Talbot', 61354819 => 'Rochester', - 61354820 => 'Echuca', - 61354821 => 'Echuca', - 61354822 => 'Echuca', - 61354823 => 'Echuca', - 61354824 => 'Echuca', - 61354825 => 'Echuca', - 61354826 => 'Echuca', + 6135482 => 'Echuca', 61354827 => 'Elmore', 61354828 => 'Elmore', 61354829 => 'Rochester', - 61354830 => 'Echuca', - 61354831 => 'Echuca', - 61354832 => 'Echuca', + 6135483 => 'Echuca', 61354833 => 'Gisborne', 61354834 => 'Gisborne', - 61354835 => 'Echuca', - 61354836 => 'Echuca', - 61354837 => 'Echuca', - 61354838 => 'Echuca', - 61354839 => 'Echuca', 6135484 => 'Rochester', 61354850 => 'Inglewood', 61354851 => 'Jarklin', @@ -18910,43 +16488,20 @@ return array ( 61354899 => 'Jarklin', 6135490 => 'Echuca', 6135491 => 'Charlton', - 61354920 => 'Birchip', - 61354921 => 'Birchip', - 61354922 => 'Birchip', - 61354923 => 'Birchip', - 61354924 => 'Birchip', - 61354925 => 'Birchip', - 61354926 => 'Birchip', + 6135492 => 'Birchip', 61354927 => 'Buckrabanyule', 61354928 => 'Buckrabanyule', 61354929 => 'Buckrabanyule', - 61354930 => 'Nullawil', - 61354931 => 'Nullawil', - 61354932 => 'Nullawil', - 61354933 => 'Nullawil', - 61354934 => 'Nullawil', - 61354935 => 'Nullawil', + 6135493 => 'Nullawil', 61354936 => 'Wycheproof', 61354937 => 'Wycheproof', 61354938 => 'Wycheproof', 61354939 => 'Wycheproof', - 61354940 => 'Wedderburn', - 61354941 => 'Wedderburn', - 61354942 => 'Wedderburn', - 61354943 => 'Wedderburn', - 61354944 => 'Wedderburn', - 61354945 => 'Wedderburn', - 61354946 => 'Wedderburn', + 6135494 => 'Wedderburn', 61354947 => 'Korong Vale', 61354948 => 'Korong Vale', 61354949 => 'Korong Vale', - 61354950 => 'St Arnaud', - 61354951 => 'St Arnaud', - 61354952 => 'St Arnaud', - 61354953 => 'St Arnaud', - 61354954 => 'St Arnaud', - 61354955 => 'St Arnaud', - 61354956 => 'St Arnaud', + 6135495 => 'St Arnaud', 61354957 => 'Charlton', 61354958 => 'Charlton', 61354959 => 'Gunbower', @@ -18960,15 +16515,8 @@ return array ( 61354967 => 'Traynors Lagoon', 61354968 => 'Traynors Lagoon', 61354969 => 'Dingee', - 61354970 => 'Donald', - 61354971 => 'Donald', - 61354972 => 'Donald', - 61354973 => 'Donald', - 61354974 => 'Donald', + 6135497 => 'Donald', 61354975 => 'Bendigo', - 61354976 => 'Donald', - 61354977 => 'Donald', - 61354978 => 'Donald', 61354979 => 'Bendigo', 61354980 => 'Watchem', 61354981 => 'Watchem', @@ -18990,13 +16538,8 @@ return array ( 61354997 => 'Beazleys Bridge', 61354998 => 'Beazleys Bridge', 61354999 => 'Beazleys Bridge', - 61355000 => 'Warrnambool', - 61355001 => 'Warrnambool', - 61355002 => 'Warrnambool', - 61355003 => 'Warrnambool', + 6135500 => 'Warrnambool', 61355004 => 'Cavendish', - 61355005 => 'Warrnambool', - 61355006 => 'Warrnambool', 61355007 => 'Hamilton', 61355008 => 'Heywood', 61355009 => 'Portland', @@ -19201,12 +16744,7 @@ return array ( 61355208 => 'Mount Richmond', 61355209 => 'Mount Richmond', 6135521 => 'Portland', - 61355220 => 'Portland', - 61355221 => 'Portland', - 61355222 => 'Portland', - 61355223 => 'Portland', - 61355224 => 'Portland', - 61355225 => 'Portland', + 6135522 => 'Portland', 61355226 => 'Heywood', 61355227 => 'Dartmoor', 61355228 => 'Tyrendarra', @@ -19438,22 +16976,11 @@ return array ( 61355527 => 'Woodhouse', 61355528 => 'Wallacedale', 61355529 => 'Balmoral', - 61355530 => 'Coleraine', - 61355531 => 'Coleraine', - 61355532 => 'Coleraine', - 61355533 => 'Coleraine', - 61355534 => 'Coleraine', - 61355535 => 'Coleraine', - 61355536 => 'Coleraine', + 6135553 => 'Coleraine', 61355537 => 'Tahara', 61355538 => 'Coojar', 61355539 => 'Merino', - 61355540 => 'Casterton', - 61355541 => 'Casterton', - 61355542 => 'Casterton', - 61355543 => 'Casterton', - 61355544 => 'Casterton', - 61355545 => 'Casterton', + 6135554 => 'Casterton', 61355546 => 'Chetwynd', 61355547 => 'Dorodong', 61355548 => 'Lake Mundi', @@ -19469,14 +16996,7 @@ return array ( 61355567 => 'Dorodong', 61355568 => 'Dorodong', 61355569 => 'Warrnambool', - 61355570 => 'Camperdown', - 61355571 => 'Camperdown', - 61355572 => 'Camperdown', - 61355573 => 'Camperdown', - 61355574 => 'Camperdown', - 61355575 => 'Camperdown', - 61355576 => 'Camperdown', - 61355577 => 'Camperdown', + 6135557 => 'Camperdown', 61355578 => 'Terang', 61355579 => 'Ecklin', 61355580 => 'South Purrumbete', @@ -19575,43 +17095,19 @@ return array ( 61355799 => 'Portland', 6135581 => 'Casterton', 6135582 => 'Casterton', - 61355830 => 'Chetwynd', - 61355831 => 'Chetwynd', - 61355832 => 'Chetwynd', - 61355833 => 'Chetwynd', - 61355834 => 'Chetwynd', - 61355835 => 'Chetwynd', - 61355836 => 'Chetwynd', - 61355837 => 'Chetwynd', + 6135583 => 'Chetwynd', 61355838 => 'Dorodong', 61355839 => 'Dorodong', - 61355840 => 'Lake Mundi', - 61355841 => 'Lake Mundi', - 61355842 => 'Lake Mundi', - 61355843 => 'Lake Mundi', - 61355844 => 'Lake Mundi', - 61355845 => 'Lake Mundi', - 61355846 => 'Lake Mundi', + 6135584 => 'Lake Mundi', 61355847 => 'Strathdownie', 61355848 => 'Strathdownie', 61355849 => 'Strathdownie', 6135585 => 'Edenhope', - 61355860 => 'Apsley', - 61355861 => 'Apsley', - 61355862 => 'Apsley', - 61355863 => 'Apsley', - 61355864 => 'Apsley', - 61355865 => 'Apsley', - 61355866 => 'Apsley', + 6135586 => 'Apsley', 61355867 => 'Poolaijelo', 61355868 => 'Poolaijelo', 61355869 => 'Poolaijelo', - 61355870 => 'Ozenkadnook', - 61355871 => 'Ozenkadnook', - 61355872 => 'Ozenkadnook', - 61355873 => 'Ozenkadnook', - 61355874 => 'Ozenkadnook', - 61355875 => 'Ozenkadnook', + 6135587 => 'Ozenkadnook', 61355876 => 'Benayeo', 61355877 => 'Benayeo', 61355878 => 'Benayeo', @@ -19627,16 +17123,10 @@ return array ( 61355888 => 'Wombelano', 61355889 => 'Wombelano', 6135590 => 'Dundonnell', + 6135591 => 'Terang', 61355910 => 'Ecklin', - 61355911 => 'Terang', - 61355912 => 'Terang', - 61355913 => 'Terang', - 61355914 => 'Terang', - 61355915 => 'Terang', - 61355916 => 'Terang', 61355917 => 'Ecklin', 61355918 => 'Ecklin', - 61355919 => 'Terang', 6135592 => 'Terang', 6135593 => 'Camperdown', 61355940 => 'Merino', @@ -19871,6 +17361,7 @@ return array ( 61356197 => 'Warragul', 61356198 => 'San Remo', 61356199 => 'Mirboo North', + 613562 => 'Warragul', 61356200 => 'Neerim South', 61356201 => 'Hill End', 61356202 => 'Mirboo North', @@ -19882,31 +17373,10 @@ return array ( 61356208 => 'Icy Creek', 61356209 => 'Poowong', 6135621 => 'Icy Creek', - 6135622 => 'Warragul', - 6135623 => 'Warragul', - 61356240 => 'Warragul', - 61356241 => 'Warragul', - 61356242 => 'Warragul', - 61356243 => 'Warragul', - 61356244 => 'Warragul', - 61356245 => 'Warragul', - 61356246 => 'Warragul', 61356247 => 'Icy Creek', 61356248 => 'Neerim South', 61356249 => 'Bunyip', - 6135625 => 'Warragul', - 6135626 => 'Warragul', - 6135627 => 'Warragul', - 61356280 => 'Neerim South', - 61356281 => 'Neerim South', - 61356282 => 'Neerim South', - 61356283 => 'Neerim South', - 61356284 => 'Neerim South', - 61356285 => 'Neerim South', - 61356286 => 'Warragul', - 61356287 => 'Neerim South', - 61356288 => 'Neerim South', - 61356289 => 'Neerim South', + 6135628 => 'Neerim South', 6135629 => 'Bunyip', 61356300 => 'San Remo', 61356301 => 'Warragul', @@ -20037,15 +17507,7 @@ return array ( 61356475 => 'Trafalgar', 61356476 => 'Warragul', 61356477 => 'Wonthaggi', - 61356540 => 'Korumburra', - 61356541 => 'Korumburra', - 61356542 => 'Korumburra', - 61356543 => 'Korumburra', - 61356544 => 'Korumburra', - 61356545 => 'Korumburra', - 61356546 => 'Korumburra', - 61356547 => 'Korumburra', - 61356548 => 'Korumburra', + 6135654 => 'Korumburra', 61356549 => 'Poowong', 6135655 => 'Korumburra', 6135656 => 'Warragul', @@ -20055,38 +17517,16 @@ return array ( 6135662 => 'Leongatha', 6135663 => 'Buffalo', 6135664 => 'Leongatha', - 61356670 => 'Leongatha', - 61356671 => 'Leongatha', - 61356672 => 'Leongatha', - 61356673 => 'Leongatha', - 61356674 => 'Leongatha', - 61356675 => 'Leongatha', - 61356676 => 'Leongatha', - 61356677 => 'Leongatha', + 6135667 => 'Leongatha', 61356678 => 'Buffalo', 61356679 => 'Mirboo North', 6135668 => 'Mirboo North', - 61356710 => 'Wonthaggi', - 61356711 => 'Wonthaggi', - 61356712 => 'Wonthaggi', - 61356713 => 'Wonthaggi', - 61356714 => 'Wonthaggi', - 61356715 => 'Wonthaggi', - 61356716 => 'Wonthaggi', - 61356717 => 'Wonthaggi', - 61356718 => 'Wonthaggi', + 6135671 => 'Wonthaggi', 61356719 => 'San Remo', 6135672 => 'Wonthaggi', + 6135673 => 'Warragul', 61356730 => 'Bunyip', 61356731 => 'Hill End', - 61356732 => 'Warragul', - 61356733 => 'Warragul', - 61356734 => 'Warragul', - 61356735 => 'Warragul', - 61356736 => 'Warragul', - 61356737 => 'Warragul', - 61356738 => 'Warragul', - 61356739 => 'Warragul', 6135674 => 'Wonthaggi', 6135678 => 'San Remo', 6135680 => 'Tidal River', @@ -20094,14 +17534,7 @@ return array ( 6135682 => 'Foster', 6135683 => 'Foster', 6135684 => 'Foster', - 61356850 => 'Foster', - 61356851 => 'Foster', - 61356852 => 'Foster', - 61356853 => 'Foster', - 61356854 => 'Foster', - 61356855 => 'Foster', - 61356856 => 'Foster', - 61356857 => 'Foster', + 6135685 => 'Foster', 61356858 => 'Toora', 61356859 => 'Tidal River', 61356860 => 'Toora', @@ -20314,15 +17747,8 @@ return array ( 61357209 => 'Cheshunt', 6135721 => 'Wangaratta', 6135722 => 'Wangaratta', - 61357230 => 'Wangaratta', - 61357231 => 'Wangaratta', - 61357232 => 'Wangaratta', - 61357233 => 'Wangaratta', - 61357234 => 'Wangaratta', + 6135723 => 'Wangaratta', 61357235 => 'Falls Creek', - 61357236 => 'Wangaratta', - 61357237 => 'Wangaratta', - 61357238 => 'Wangaratta', 61357239 => 'Kilmore', 61357240 => 'Moyhu', 61357241 => 'St James', @@ -20425,15 +17851,9 @@ return array ( 61357347 => 'Broadford', 61357348 => 'Kinglake', 61357349 => 'Flowerdale', - 61357350 => 'Seymour', - 61357351 => 'Seymour', - 61357352 => 'Seymour', - 61357353 => 'Seymour', - 61357354 => 'Seymour', - 61357355 => 'Seymour', + 6135735 => 'Seymour', 61357356 => 'Puckapunyal', 61357357 => 'Puckapunyal', - 61357358 => 'Seymour', 61357359 => 'Devlins Bridge', 61357360 => 'Yea', 61357361 => 'Puckapunyal', @@ -20606,16 +18026,8 @@ return array ( 61357537 => 'Mansfield', 61357538 => 'Taggerty', 61357539 => 'Taggerty', - 61357540 => 'Mount Beauty', - 61357541 => 'Mount Beauty', + 6135754 => 'Mount Beauty', 61357542 => 'Buffalo River', - 61357543 => 'Mount Beauty', - 61357544 => 'Mount Beauty', - 61357545 => 'Mount Beauty', - 61357546 => 'Mount Beauty', - 61357547 => 'Mount Beauty', - 61357548 => 'Mount Beauty', - 61357549 => 'Mount Beauty', 61357550 => 'Bright', 61357551 => 'Bright', 61357552 => 'Bright', @@ -20729,13 +18141,7 @@ return array ( 61357737 => 'Yarck', 61357738 => 'Yarck', 61357739 => 'Yarck', - 61357740 => 'Eildon', - 61357741 => 'Eildon', - 61357742 => 'Eildon', - 61357743 => 'Eildon', - 61357744 => 'Eildon', - 61357745 => 'Eildon', - 61357746 => 'Eildon', + 6135774 => 'Eildon', 61357747 => 'Taggerty', 61357748 => 'Taggerty', 61357749 => 'Taggerty', @@ -20752,12 +18158,7 @@ return array ( 61357763 => 'Mansfield', 61357764 => 'Mansfield', 61357769 => 'Mansfield', - 61357770 => 'Jamieson', - 61357771 => 'Jamieson', - 61357772 => 'Jamieson', - 61357773 => 'Jamieson', - 61357774 => 'Jamieson', - 61357775 => 'Jamieson', + 6135777 => 'Jamieson', 61357776 => 'Mount Buller', 61357777 => 'Mount Buller', 61357778 => 'Woods Point', @@ -20776,7 +18177,6 @@ return array ( 6135783 => 'Kilmore', 61357836 => 'Whorouly', 61357837 => 'Whorouly', - 61357838 => 'Kilmore', 6135784 => 'Broadford', 61357851 => 'Pyalong', 61357852 => 'Pyalong', @@ -20805,12 +18205,7 @@ return array ( 61357906 => 'Strathbogie', 61357908 => 'Strathbogie', 6135791 => 'Wangaratta', - 61357920 => 'Seymour', - 61357921 => 'Seymour', - 61357922 => 'Seymour', - 61357923 => 'Seymour', - 61357924 => 'Seymour', - 61357925 => 'Seymour', + 6135792 => 'Seymour', 61357926 => 'Thoona', 61357927 => 'Thoona', 61357928 => 'Tungamah', @@ -20824,15 +18219,9 @@ return array ( 61357937 => 'Puckapunyal', 61357938 => 'Puckapunyal', 61357939 => 'Puckapunyal', - 61357940 => 'Nagambie', - 61357941 => 'Nagambie', - 61357942 => 'Nagambie', + 6135794 => 'Nagambie', 61357943 => 'Graytown', 61357944 => 'Graytown', - 61357945 => 'Nagambie', - 61357946 => 'Nagambie', - 61357947 => 'Nagambie', - 61357948 => 'Nagambie', 61357949 => 'Graytown', 6135795 => 'Euroa', 61357961 => 'Seymour', @@ -20842,13 +18231,7 @@ return array ( 61357967 => 'Swanpool', 61357968 => 'Swanpool', 61357969 => 'Kobyboyn', - 61357970 => 'Yea', - 61357971 => 'Yea', - 61357972 => 'Yea', - 61357973 => 'Yea', - 61357974 => 'Yea', - 61357975 => 'Yea', - 61357976 => 'Yea', + 6135797 => 'Yea', 61357977 => 'Devlins Bridge', 61357978 => 'Devlins Bridge', 61357979 => 'Devlins Bridge', @@ -21059,20 +18442,11 @@ return array ( 61358197 => 'Shepparton', 61358198 => 'Tatura', 61358199 => 'Tongala', - 6135820 => 'Shepparton', - 6135821 => 'Shepparton', - 6135822 => 'Shepparton', - 6135823 => 'Shepparton', + 613582 => 'Shepparton', 6135824 => 'Tatura', - 6135825 => 'Shepparton', + 6135826 => 'Tatura', 61358260 => 'Undera', - 61358261 => 'Tatura', - 61358262 => 'Tatura', - 61358263 => 'Tatura', 61358264 => 'Undera', - 61358265 => 'Tatura', - 61358266 => 'Tatura', - 61358267 => 'Tatura', 61358268 => 'Undera', 61358269 => 'Undera', 6135827 => 'Kialla East', @@ -21086,7 +18460,6 @@ return array ( 61358287 => 'Dookie', 61358288 => 'Dookie', 61358289 => 'Dookie', - 6135829 => 'Shepparton', 61358300 => 'Caldwell', 61358301 => 'Conargo', 61358302 => 'Cornalla', @@ -21269,6 +18642,7 @@ return array ( 61358497 => 'Wanganella', 61358498 => 'Jimaringle', 61358499 => 'Conargo', + 613585 => 'Kyabram', 61358500 => 'Jerilderie', 61358501 => 'Moulamein', 61358502 => 'Blighty', @@ -21279,22 +18653,9 @@ return array ( 61358507 => 'Conargo', 61358508 => 'Berrigan', 61358509 => 'Kialla East', - 61358510 => 'Kyabram', - 61358511 => 'Kyabram', - 61358512 => 'Kyabram', - 61358513 => 'Kyabram', - 61358514 => 'Kyabram', - 61358515 => 'Kyabram', - 61358516 => 'Kyabram', - 61358517 => 'Kyabram', 61358518 => 'Rushworth', 61358519 => 'Tongala', - 6135852 => 'Kyabram', - 6135853 => 'Kyabram', - 6135854 => 'Kyabram', - 6135855 => 'Kyabram', 6135856 => 'Rushworth', - 6135857 => 'Kyabram', 6135858 => 'Shepparton', 6135859 => 'Tongala', 61358600 => 'Picola', @@ -21307,12 +18668,7 @@ return array ( 61358607 => 'Kyabram', 61358608 => 'Rushworth', 61358609 => 'Rushworth', - 61358610 => 'Numurkah', - 61358611 => 'Numurkah', - 61358612 => 'Numurkah', - 61358613 => 'Numurkah', - 61358614 => 'Numurkah', - 61358615 => 'Numurkah', + 6135861 => 'Numurkah', 61358616 => 'Katamatite', 61358617 => 'Nathalia', 61358618 => 'Yalca', @@ -21348,14 +18704,7 @@ return array ( 6135872 => 'Cobram', 6135873 => 'Cobram', 6135874 => 'Tocumwal', - 61358750 => 'Cobram', - 61358751 => 'Cobram', - 61358752 => 'Cobram', - 61358753 => 'Cobram', - 61358754 => 'Cobram', - 61358755 => 'Cobram', - 61358756 => 'Cobram', - 61358757 => 'Cobram', + 6135875 => 'Cobram', 61358758 => 'Tocumwal', 61358759 => 'Lalalty', 6135876 => 'Lalalty', @@ -21400,16 +18749,11 @@ return array ( 61358808 => 'Brassi', 61358809 => 'Caldwell', 6135881 => 'Deniliquin', + 6135882 => 'Blighty', 61358820 => 'Cornalla', 61358821 => 'Cornalla', 61358822 => 'Deniliquin', 61358823 => 'Deniliquin', - 61358824 => 'Blighty', - 61358825 => 'Blighty', - 61358826 => 'Blighty', - 61358827 => 'Blighty', - 61358828 => 'Blighty', - 61358829 => 'Blighty', 6135883 => 'Finley', 61358840 => 'Brassi', 61358841 => 'Brassi', @@ -21421,36 +18765,17 @@ return array ( 61358847 => 'Wanganella', 61358848 => 'Wanganella', 61358849 => 'Wanganella', - 61358850 => 'Berrigan', - 61358851 => 'Berrigan', - 61358852 => 'Berrigan', - 61358853 => 'Berrigan', - 61358854 => 'Berrigan', - 61358855 => 'Berrigan', + 6135885 => 'Berrigan', 61358856 => 'Jerilderie', 61358857 => 'Jerilderie', - 61358858 => 'Berrigan', 61358859 => 'Logie Brae', - 61358860 => 'Jerilderie', - 61358861 => 'Jerilderie', - 61358862 => 'Jerilderie', - 61358863 => 'Jerilderie', - 61358864 => 'Jerilderie', - 61358865 => 'Jerilderie', - 61358866 => 'Jerilderie', + 6135886 => 'Jerilderie', 61358867 => 'Mabins Well', - 61358868 => 'Jerilderie', - 61358869 => 'Jerilderie', + 6135887 => 'Moulamein', 61358870 => 'Wakool', 61358871 => 'Wakool', 61358872 => 'Wakool', 61358873 => 'Jimaringle', - 61358874 => 'Moulamein', - 61358875 => 'Moulamein', - 61358876 => 'Moulamein', - 61358877 => 'Moulamein', - 61358878 => 'Moulamein', - 61358879 => 'Moulamein', 61358880 => 'Berrigan', 61358881 => 'Jimaringle', 61358882 => 'Finley', @@ -21850,14 +19175,7 @@ return array ( 6135942 => 'Pakenham', 6135943 => 'Pakenham', 6135944 => 'Emerald', - 61359450 => 'Pakenham', - 61359451 => 'Pakenham', - 61359452 => 'Pakenham', - 61359453 => 'Pakenham', - 61359454 => 'Pakenham', - 61359455 => 'Pakenham', - 61359456 => 'Pakenham', - 61359457 => 'Pakenham', + 6135945 => 'Pakenham', 61359458 => 'Koo Wee Rup', 61359459 => 'Emerald', 61359460 => 'Rosebud', @@ -21881,16 +19199,11 @@ return array ( 61359533 => 'Cranbourne', 61359534 => 'Cranbourne', 61359535 => 'Cranbourne', - 61359540 => 'Emerald', - 61359541 => 'Emerald', - 61359542 => 'Emerald', - 61359543 => 'Emerald', - 61359544 => 'Emerald', + 6135954 => 'Emerald', 61359545 => 'Warburton', 61359546 => 'Warburton', 61359547 => 'Warburton', 61359548 => 'Warburton', - 61359549 => 'Emerald', 61359550 => 'Emerald', 61359551 => 'Cranbourne', 61359552 => 'Mornington', @@ -21935,34 +19248,10 @@ return array ( 6135967 => 'Emerald', 6135968 => 'Emerald', 6135969 => 'Healesville', - 6135970 => 'Mornington', - 6135971 => 'Mornington', - 6135972 => 'Mornington', - 6135973 => 'Mornington', - 6135974 => 'Mornington', - 6135975 => 'Mornington', - 6135976 => 'Mornington', - 6135977 => 'Mornington', - 6135978 => 'Mornington', - 6135979 => 'Mornington', + 613597 => 'Mornington', + 613598 => 'Rosebud', 6135980 => 'Tankerton', - 6135981 => 'Rosebud', - 6135982 => 'Rosebud', - 61359830 => 'Red Hill', - 61359831 => 'Red Hill', - 61359832 => 'Red Hill', - 61359833 => 'Red Hill', - 61359834 => 'Rosebud', - 61359835 => 'Red Hill', - 61359836 => 'Red Hill', - 61359837 => 'Red Hill', - 61359838 => 'Red Hill', - 61359839 => 'Red Hill', - 6135984 => 'Rosebud', - 6135985 => 'Rosebud', - 6135986 => 'Rosebud', - 6135987 => 'Rosebud', - 6135988 => 'Rosebud', + 6135983 => 'Red Hill', 6135989 => 'Red Hill', 6135990 => 'Cranbourne', 6135991 => 'Cranbourne', @@ -22117,16 +19406,9 @@ return array ( 61361167 => 'Ouse', 61361168 => 'Tarraleah', 61361169 => 'Tarraleah', + 6136117 => 'Margate', 61361170 => 'Swansea', 61361171 => 'Swansea', - 61361172 => 'Margate', - 61361173 => 'Margate', - 61361174 => 'Margate', - 61361175 => 'Margate', - 61361176 => 'Margate', - 61361177 => 'Margate', - 61361178 => 'Margate', - 61361179 => 'Margate', 61361180 => 'Margate', 61361181 => 'Margate', 61361182 => 'Hobart', @@ -22378,16 +19660,10 @@ return array ( 61361437 => 'South Bruny', 61361438 => 'Southwest', 61361439 => 'Strathgordon', + 6136144 => 'Hobart', 61361440 => 'Swansea', 61361441 => 'Tarraleah', 61361442 => 'Woodbury', - 61361443 => 'Hobart', - 61361444 => 'Hobart', - 61361445 => 'Hobart', - 61361446 => 'Hobart', - 61361447 => 'Hobart', - 61361448 => 'Hobart', - 61361449 => 'Hobart', 6136145 => 'Hobart', 61361460 => 'Hobart', 61361461 => 'Hobart', @@ -22515,13 +19791,7 @@ return array ( 61362097 => 'Swansea', 61362098 => 'Woodbury', 61362099 => 'Baden', - 6136210 => 'Hobart', - 6136211 => 'Hobart', - 6136212 => 'Hobart', - 6136213 => 'Hobart', - 6136214 => 'Hobart', - 6136215 => 'Hobart', - 6136216 => 'Hobart', + 613621 => 'Hobart', 61362170 => 'Sorell', 61362171 => 'Sorell', 61362172 => 'Sorell', @@ -22531,8 +19801,6 @@ return array ( 61362176 => 'Strathgordon', 61362177 => 'Strathgordon', 61362178 => 'Strathgordon', - 61362179 => 'Hobart', - 6136218 => 'Hobart', 61362190 => 'Swansea', 61362191 => 'Swansea', 61362192 => 'Swansea', @@ -22543,73 +19811,27 @@ return array ( 61362197 => 'Woodbury', 61362198 => 'Woodbury', 61362199 => 'Geeveston', - 6136220 => 'Hobart', - 6136221 => 'Hobart', - 6136222 => 'Hobart', - 6136223 => 'Hobart', - 6136224 => 'Hobart', - 6136225 => 'Hobart', - 6136226 => 'Hobart', - 6136227 => 'Hobart', - 6136228 => 'Hobart', - 6136229 => 'Hobart', - 6136230 => 'Hobart', - 6136231 => 'Hobart', - 6136232 => 'Hobart', - 6136233 => 'Hobart', - 6136234 => 'Hobart', - 6136235 => 'Hobart', - 6136236 => 'Hobart', - 6136237 => 'Hobart', - 6136238 => 'Hobart', - 6136239 => 'Hobart', - 6136240 => 'Hobart', + 613622 => 'Hobart', + 613623 => 'Hobart', + 613624 => 'Hobart', 61362410 => 'Dover', - 61362411 => 'Hobart', 61362412 => 'Geeveston', 61362413 => 'South Bruny', 61362414 => 'Southwest', 61362415 => 'Brighton', - 61362416 => 'Hobart', 61362417 => 'Huonville', 61362418 => 'Margate', - 61362419 => 'Hobart', 61362420 => 'Southwest', 61362421 => 'Dover', - 61362422 => 'Hobart', - 61362423 => 'Hobart', - 61362424 => 'Hobart', - 61362425 => 'Hobart', - 61362426 => 'Hobart', - 61362427 => 'Hobart', - 61362428 => 'Hobart', - 61362429 => 'Hobart', - 6136243 => 'Hobart', - 6136244 => 'Hobart', - 6136245 => 'Hobart', 61362460 => 'New Norfolk', 61362461 => 'Richmond', 61362462 => 'Sorell', 61362463 => 'Baden', - 61362464 => 'Hobart', - 61362465 => 'Hobart', - 61362466 => 'Hobart', - 61362467 => 'Hobart', - 61362468 => 'Hobart', - 61362469 => 'Hobart', - 6136247 => 'Hobart', - 6136248 => 'Hobart', - 6136249 => 'Hobart', - 61362500 => 'Nubeena', - 61362501 => 'Nubeena', - 61362502 => 'Nubeena', - 61362503 => 'Nubeena', - 61362504 => 'Nubeena', + 6136250 => 'Nubeena', 61362505 => 'Bothwell', 61362506 => 'Colebrook', 61362507 => 'Dunalley', 61362508 => 'Hermitage', - 61362509 => 'Nubeena', 61362510 => 'South Bruny', 61362511 => 'Hobart', 61362512 => 'Nubeena', @@ -22700,16 +19922,10 @@ return array ( 61362597 => 'Colebrook', 61362598 => 'Miena', 61362599 => 'Colebrook', - 61362600 => 'Richmond', - 61362601 => 'Richmond', - 61362602 => 'Richmond', - 61362603 => 'Richmond', - 61362604 => 'Richmond', + 6136260 => 'Richmond', 61362605 => 'Baden', 61362606 => 'Margate', 61362607 => 'Margate', - 61362608 => 'Richmond', - 61362609 => 'Richmond', 6136261 => 'New Norfolk', 61362620 => 'New Norfolk', 61362621 => 'New Norfolk', @@ -22722,54 +19938,22 @@ return array ( 61362628 => 'Brighton', 61362629 => 'Brighton', 6136263 => 'Brighton', - 61362640 => 'Huonville', - 61362641 => 'Huonville', - 61362642 => 'Huonville', - 61362643 => 'Huonville', - 61362644 => 'Huonville', + 6136264 => 'Huonville', 61362645 => 'Colebrook', 61362646 => 'Dunalley', - 61362647 => 'Huonville', - 61362648 => 'Huonville', - 61362649 => 'Huonville', 6136265 => 'Sorell', - 61362660 => 'Huonville', - 61362661 => 'Huonville', - 61362662 => 'Huonville', - 61362663 => 'Huonville', - 61362664 => 'Huonville', - 61362665 => 'Huonville', - 61362666 => 'Huonville', - 61362667 => 'Huonville', + 6136266 => 'Huonville', 61362668 => 'Hermitage', 61362669 => 'Kempton', 6136267 => 'Margate', - 61362680 => 'Brighton', - 61362681 => 'Brighton', + 6136268 => 'Brighton', 61362682 => 'Little Swanport', 61362683 => 'Miena', - 61362684 => 'Brighton', - 61362685 => 'Brighton', - 61362686 => 'Brighton', - 61362687 => 'Brighton', - 61362688 => 'Brighton', - 61362689 => 'Brighton', - 61362690 => 'Sorell', - 61362691 => 'Sorell', - 61362692 => 'Sorell', - 61362693 => 'Sorell', - 61362694 => 'Sorell', - 61362695 => 'Sorell', - 61362696 => 'Sorell', + 6136269 => 'Sorell', 61362697 => 'Nubeena', 61362698 => 'Oatlands', 61362699 => 'Orford', - 6136270 => 'Hobart', - 6136271 => 'Hobart', - 6136272 => 'Hobart', - 6136273 => 'Hobart', - 6136274 => 'Hobart', - 6136275 => 'Hobart', + 613627 => 'Hobart', 61362760 => 'Margate', 61362761 => 'New Norfolk', 61362762 => 'Richmond', @@ -22780,9 +19964,6 @@ return array ( 61362767 => 'Dunalley', 61362768 => 'Hermitage', 61362769 => 'Kempton', - 6136277 => 'Hobart', - 6136278 => 'Hobart', - 6136279 => 'Hobart', 61362800 => 'Strathgordon', 61362801 => 'Strathgordon', 61362802 => 'Strathgordon', @@ -22795,16 +19976,8 @@ return array ( 61362809 => 'Strathgordon', 6136281 => 'Hobart', 6136282 => 'Hobart', - 61362830 => 'Hobart', - 61362831 => 'Hobart', - 61362832 => 'Hobart', - 61362833 => 'Hobart', - 61362834 => 'Hobart', - 61362835 => 'Hobart', + 6136283 => 'Hobart', 61362836 => 'Tarraleah', - 61362837 => 'Hobart', - 61362838 => 'Hobart', - 61362839 => 'Hobart', 61362840 => 'Little Swanport', 61362841 => 'Miena', 61362842 => 'Nubeena', @@ -22815,56 +19988,27 @@ return array ( 61362847 => 'Gretna', 61362848 => 'Maydena', 61362849 => 'Ouse', + 6136285 => 'Hobart', 61362850 => 'Strathgordon', 61362851 => 'Tarraleah', - 61362852 => 'Hobart', - 61362853 => 'Hobart', - 61362854 => 'Hobart', - 61362855 => 'Hobart', - 61362856 => 'Hobart', - 61362857 => 'Hobart', - 61362858 => 'Hobart', - 61362859 => 'Hobart', + 6136286 => 'Gretna', 61362860 => 'Hobart', - 61362861 => 'Gretna', - 61362862 => 'Gretna', - 61362863 => 'Gretna', - 61362864 => 'Gretna', - 61362865 => 'Gretna', - 61362866 => 'Gretna', 61362867 => 'Hobart', 61362868 => 'Hobart', - 61362869 => 'Gretna', - 61362870 => 'Ouse', - 61362871 => 'Ouse', - 61362872 => 'Ouse', - 61362873 => 'Ouse', - 61362874 => 'Ouse', - 61362875 => 'Ouse', + 6136287 => 'Ouse', 61362876 => 'Hobart', 61362877 => 'Hobart', 61362878 => 'Hobart', - 61362879 => 'Ouse', - 61362880 => 'Maydena', - 61362881 => 'Maydena', - 61362882 => 'Maydena', - 61362883 => 'Maydena', - 61362884 => 'Maydena', + 6136288 => 'Maydena', 61362885 => 'Hobart', 61362886 => 'Hobart', 61362887 => 'Hobart', 61362888 => 'Hobart', - 61362889 => 'Maydena', - 61362890 => 'Tarraleah', - 61362891 => 'Tarraleah', - 61362892 => 'Tarraleah', - 61362893 => 'Tarraleah', - 61362894 => 'Tarraleah', + 6136289 => 'Tarraleah', 61362895 => 'Hobart', 61362896 => 'Hobart', 61362897 => 'Hobart', 61362898 => 'Hobart', - 61362899 => 'Tarraleah', 61362900 => 'Nubeena', 61362901 => 'Oatlands', 61362902 => 'Orford', @@ -22885,16 +20029,10 @@ return array ( 61362917 => 'Kempton', 61362918 => 'Little Swanport', 61362919 => 'Miena', - 61362920 => 'Hobart', + 6136292 => 'Hobart', 61362921 => 'Geeveston', 61362922 => 'Geeveston', 61362923 => 'Nubeena', - 61362924 => 'Hobart', - 61362925 => 'Hobart', - 61362926 => 'Hobart', - 61362927 => 'Hobart', - 61362928 => 'Hobart', - 61362929 => 'Hobart', 61362930 => 'South Bruny', 61362931 => 'South Bruny', 61362932 => 'South Bruny', @@ -22912,29 +20050,18 @@ return array ( 61362947 => 'Huonville', 61362948 => 'Margate', 61362949 => 'New Norfolk', - 61362950 => 'Geeveston', - 61362951 => 'Geeveston', - 61362952 => 'Geeveston', + 6136295 => 'Geeveston', 61362953 => 'Hobart', 61362954 => 'Hobart', 61362955 => 'Hobart', 61362956 => 'Hobart', - 61362957 => 'Geeveston', - 61362958 => 'Geeveston', - 61362959 => 'Geeveston', 61362960 => 'Southwest', 61362961 => 'Southwest', 61362962 => 'Southwest', - 61362970 => 'Geeveston', - 61362971 => 'Geeveston', - 61362972 => 'Geeveston', + 6136297 => 'Geeveston', 61362973 => 'Hobart', 61362974 => 'Hobart', 61362975 => 'Hobart', - 61362976 => 'Geeveston', - 61362977 => 'Geeveston', - 61362978 => 'Geeveston', - 61362979 => 'Geeveston', 61362980 => 'Dover', 61362981 => 'Dover', 61362982 => 'Dover', @@ -23145,6 +20272,7 @@ return array ( 61363197 => 'Exeter', 61363198 => 'George Town', 61363199 => 'Glengarry', + 613632 => 'Launceston', 61363200 => 'Lilydale', 61363201 => 'Avoca', 61363202 => 'Beaconsfield', @@ -23175,12 +20303,6 @@ return array ( 61363227 => 'Blessington', 61363228 => 'Campbell Town', 61363229 => 'Evandale', - 6136323 => 'Launceston', - 6136324 => 'Launceston', - 6136325 => 'Launceston', - 6136326 => 'Launceston', - 6136327 => 'Launceston', - 6136328 => 'Launceston', 61363290 => 'Exeter', 61363291 => 'George Town', 61363292 => 'Glengarry', @@ -23191,18 +20313,8 @@ return array ( 61363297 => 'Westbury', 61363298 => 'Bridport', 61363299 => 'Gladstone', - 6136330 => 'Launceston', - 6136331 => 'Launceston', - 6136332 => 'Launceston', - 6136333 => 'Launceston', - 6136334 => 'Launceston', - 6136335 => 'Launceston', - 6136336 => 'Launceston', - 6136337 => 'Launceston', - 6136338 => 'Launceston', - 6136339 => 'Launceston', - 6136340 => 'Launceston', - 6136341 => 'Launceston', + 613633 => 'Launceston', + 613634 => 'Launceston', 61363420 => 'Ringarooma', 61363421 => 'Scottsdale', 61363422 => 'Waterhouse', @@ -23213,9 +20325,6 @@ return array ( 61363427 => 'Pyengana', 61363428 => 'St Helens', 61363429 => 'St Marys', - 6136343 => 'Launceston', - 6136344 => 'Launceston', - 6136345 => 'Launceston', 61363460 => 'Deloraine', 61363461 => 'Mole Creek', 61363462 => 'Moltema', @@ -23236,9 +20345,6 @@ return array ( 61363477 => 'Westbury', 61363478 => 'Bridport', 61363479 => 'Gladstone', - 6136348 => 'Launceston', - 61363490 => 'Launceston', - 61363491 => 'Launceston', 61363492 => 'Ringarooma', 61363493 => 'Scottsdale', 61363494 => 'Waterhouse', @@ -23274,12 +20380,7 @@ return array ( 61363587 => 'Longford', 61363588 => 'Rossarden', 61363589 => 'Targa', - 61363590 => 'Whitemark', - 61363591 => 'Whitemark', - 61363592 => 'Whitemark', - 61363593 => 'Whitemark', - 61363594 => 'Whitemark', - 61363595 => 'Whitemark', + 6136359 => 'Whitemark', 61363596 => 'Emita', 61363597 => 'Emita', 61363598 => 'Emita', @@ -23385,12 +20486,7 @@ return array ( 61363797 => 'Lilydale', 61363798 => 'Targa', 61363799 => 'Targa', - 61363800 => 'George Town', - 61363801 => 'George Town', - 61363802 => 'George Town', - 61363803 => 'George Town', - 61363804 => 'George Town', - 61363805 => 'George Town', + 6136380 => 'George Town', 61363806 => 'Launceston', 61363807 => 'Launceston', 61363808 => 'Launceston', @@ -23441,16 +20537,11 @@ return array ( 61363898 => 'Bicheno', 61363899 => 'Bicheno', 6136390 => 'Blessington', - 61363910 => 'Evandale', + 6136391 => 'Evandale', 61363911 => 'Longford', 61363912 => 'Longford', 61363913 => 'Longford', 61363914 => 'Longford', - 61363915 => 'Evandale', - 61363916 => 'Evandale', - 61363917 => 'Evandale', - 61363918 => 'Evandale', - 61363919 => 'Evandale', 6136392 => 'Westbury', 6136393 => 'Westbury', 6136394 => 'Exeter', @@ -23659,24 +20750,10 @@ return array ( 61364197 => 'Burnie', 61364198 => 'Gordon', 61364199 => 'Devonport', - 6136420 => 'Devonport', - 6136421 => 'Devonport', - 6136422 => 'Devonport', - 6136423 => 'Devonport', - 6136424 => 'Devonport', + 613642 => 'Devonport', 6136425 => 'Ulverstone', - 6136426 => 'Devonport', - 6136427 => 'Devonport', - 6136428 => 'Devonport', 6136429 => 'Ulverstone', - 6136430 => 'Burnie', - 6136431 => 'Burnie', - 6136432 => 'Burnie', - 6136433 => 'Burnie', - 6136434 => 'Burnie', - 6136435 => 'Burnie', - 6136436 => 'Burnie', - 6136437 => 'Burnie', + 613643 => 'Burnie', 6136438 => 'Yolla', 6136439 => 'Waratah', 6136440 => 'Burnie', @@ -23840,15 +20917,7 @@ return array ( 61364682 => 'Yambacoona', 61364683 => 'Yolla', 6136471 => 'Queenstown', - 61364720 => 'Queenstown', - 61364721 => 'Queenstown', - 61364722 => 'Queenstown', - 61364723 => 'Queenstown', - 61364724 => 'Queenstown', - 61364725 => 'Queenstown', - 61364726 => 'Queenstown', - 61364727 => 'Queenstown', - 61364728 => 'Queenstown', + 6136472 => 'Queenstown', 61364729 => 'Gordon', 6136473 => 'Rosebery', 61364740 => 'Devonport', @@ -24123,16 +21192,9 @@ return array ( 61367237 => 'Targa', 61367238 => 'Waterhouse', 61367239 => 'Westbury', + 6136724 => 'Launceston', 61367240 => 'Whitemark', 61367241 => 'Winnaleah', - 61367242 => 'Launceston', - 61367243 => 'Launceston', - 61367244 => 'Launceston', - 61367245 => 'Launceston', - 61367246 => 'Launceston', - 61367247 => 'Launceston', - 61367248 => 'Launceston', - 61367249 => 'Launceston', 6136725 => 'Launceston', 61367260 => 'Launceston', 61367261 => 'Launceston', @@ -24186,31 +21248,14 @@ return array ( 61367767 => 'Launceston', 61367768 => 'Launceston', 6136777 => 'Launceston', - 61367780 => 'Launceston', - 61367781 => 'Launceston', - 61367782 => 'Launceston', - 61367783 => 'Launceston', - 61367784 => 'Launceston', - 61367785 => 'Launceston', - 61367786 => 'Launceston', - 61367787 => 'Launceston', + 6136778 => 'Launceston', 61367788 => 'Scottsdale', - 61367789 => 'Launceston', 6136779 => 'Launceston', 6137000 => 'Melbourne', 6137001 => 'Melbourne', 6137002 => 'Melbourne', 61370031 => 'Melbourne', - 6137010 => 'Melbourne', - 6137011 => 'Melbourne', - 6137012 => 'Melbourne', - 6137013 => 'Melbourne', - 6137014 => 'Melbourne', - 6137015 => 'Melbourne', - 6137016 => 'Melbourne', - 6137017 => 'Melbourne', - 6137018 => 'Melbourne', - 6137019 => 'Melbourne', + 613701 => 'Melbourne', 6137020 => 'Melbourne', 6137022 => 'Melbourne', 61373000 => 'Craigieburn', @@ -24295,15 +21340,10 @@ return array ( 6138100 => 'Kalkallo', 6138101 => 'Whittlesea', 6138102 => 'Melbourne', - 61381030 => 'Whittlesea', - 61381031 => 'Whittlesea', - 61381032 => 'Whittlesea', + 6138103 => 'Whittlesea', 61381033 => 'Kalkallo', 61381034 => 'Kalkallo', - 61381035 => 'Whittlesea', - 61381036 => 'Whittlesea', 61381037 => 'Kalkallo', - 61381038 => 'Whittlesea', 61381039 => 'Kalkallo', 61381040 => 'Whittlesea', 61381041 => 'Kalkallo', @@ -24335,56 +21375,25 @@ return array ( 61382157 => 'Croydon', 61382158 => 'Croydon', 61382159 => 'Croydon', - 61382560 => 'Melbourne', - 61382561 => 'Melbourne', - 61382562 => 'Melbourne', + 6138256 => 'Melbourne', 61382563 => 'Melbourne/Point Cook/Melbourne', - 61382564 => 'Melbourne', - 61382565 => 'Melbourne', - 61382566 => 'Melbourne', - 61382567 => 'Melbourne', - 61382568 => 'Melbourne', - 61382569 => 'Melbourne', 61382605 => 'Croydon', 6138288 => 'Croydon', 6138290 => 'Melbourne', - 6138300 => 'Melbourne', - 6138301 => 'Melbourne', - 6138302 => 'Melbourne', + 61383 => 'Melbourne', 6138303 => 'Point Cook', 6138304 => 'Sydenham', 6138305 => 'Craigieburn', - 6138306 => 'Melbourne', - 6138307 => 'Melbourne', 6138308 => 'Sydenham', - 6138309 => 'Melbourne', - 6138310 => 'Melbourne', - 6138311 => 'Melbourne', - 6138312 => 'Melbourne', 6138313 => 'Craigieburn', 6138314 => 'Craigieburn', 6138315 => 'Sydenham', 6138316 => 'Point Cook', - 6138317 => 'Melbourne', - 6138318 => 'Melbourne', - 6138319 => 'Melbourne', - 6138320 => 'Melbourne', - 6138321 => 'Melbourne', 6138322 => 'Sydenham', 6138323 => 'Point Cook', 6138324 => 'Craigieburn', - 6138325 => 'Melbourne', - 6138326 => 'Melbourne', - 6138327 => 'Melbourne', - 6138328 => 'Melbourne', - 6138329 => 'Melbourne', - 6138330 => 'Melbourne', - 6138331 => 'Melbourne', - 6138332 => 'Melbourne', 6138333 => 'Craigieburn', 6138334 => 'Point Cook', - 6138335 => 'Melbourne', - 6138336 => 'Melbourne', 6138337 => 'Sydenham', 61383380 => 'Craigieburn', 61383381 => 'Craigieburn', @@ -24397,14 +21406,7 @@ return array ( 61383388 => 'Sydenham', 61383389 => 'Point Cook', 6138339 => 'Craigieburn', - 6138340 => 'Melbourne', - 6138341 => 'Melbourne', - 6138342 => 'Melbourne', 6138343 => 'Point Cook', - 6138344 => 'Melbourne', - 6138345 => 'Melbourne', - 6138346 => 'Melbourne', - 6138347 => 'Melbourne', 61383480 => 'Craigieburn', 61383481 => 'Point Cook', 61383482 => 'Sydenham', @@ -24428,46 +21430,19 @@ return array ( 61383518 => 'Craigieburn', 61383519 => 'Craigieburn', 61383520 => 'Sydenham', - 61383521 => 'Melbourne', - 61383522 => 'Melbourne', - 61383523 => 'Melbourne', - 61383524 => 'Melbourne', - 61383525 => 'Melbourne', - 61383526 => 'Melbourne', - 61383527 => 'Melbourne', - 61383528 => 'Melbourne', - 61383529 => 'Melbourne', - 61383530 => 'Melbourne', - 61383531 => 'Point Cook', - 61383532 => 'Point Cook', - 61383533 => 'Point Cook', - 61383534 => 'Point Cook', - 61383535 => 'Point Cook', - 61383536 => 'Point Cook', - 61383537 => 'Point Cook', - 61383538 => 'Point Cook', - 61383539 => 'Point Cook', - 6138354 => 'Melbourne', + 6138353 => 'Point Cook', 6138355 => 'Craigieburn', 6138356 => 'Sydenham', 6138357 => 'Sydenham', - 61383580 => 'Sydenham', - 61383581 => 'Sydenham', - 61383582 => 'Sydenham', - 61383583 => 'Sydenham', - 61383584 => 'Sydenham', - 61383585 => 'Sydenham', + 6138358 => 'Sydenham', 61383586 => 'Craigieburn', 61383587 => 'Craigieburn', 61383588 => 'Craigieburn', 61383589 => 'Craigieburn', - 6138359 => 'Melbourne', - 6138360 => 'Melbourne', 6138361 => 'Sydenham', 61383620 => 'Craigieburn', 61383621 => 'Craigieburn', 61383622 => 'Point Cook', - 61383623 => 'Melbourne', 61383624 => 'Point Cook', 61383625 => 'Sydenham', 61383626 => 'Sydenham', @@ -24479,84 +21454,34 @@ return array ( 6138365 => 'Craigieburn', 6138366 => 'Point Cook', 6138367 => 'Point Cook', - 6138368 => 'Melbourne', - 6138369 => 'Melbourne', - 6138370 => 'Melbourne', - 6138371 => 'Melbourne', - 61383720 => 'Melbourne', - 61383721 => 'Melbourne', + 6138372 => 'Sydenham', 61383722 => 'Point Cook', 61383723 => 'Craigieburn', - 61383724 => 'Sydenham', - 61383725 => 'Sydenham', - 61383726 => 'Sydenham', - 61383727 => 'Sydenham', - 61383728 => 'Sydenham', - 61383729 => 'Sydenham', - 6138373 => 'Melbourne', 61383740 => 'Point Cook', 61383741 => 'Sydenham', 61383742 => 'Craigieburn', - 61383743 => 'Melbourne', 61383744 => 'Point Cook', 61383745 => 'Sydenham', - 61383746 => 'Melbourne', - 61383747 => 'Melbourne', - 61383748 => 'Melbourne', 61383749 => 'Craigieburn', 61383750 => 'Point Cook', 61383751 => 'Point Cook', 61383752 => 'Point Cook', 61383753 => 'Point Cook', - 61383754 => 'Melbourne', - 61383755 => 'Melbourne', - 61383756 => 'Melbourne', - 61383757 => 'Melbourne', - 61383758 => 'Melbourne', - 61383759 => 'Melbourne', - 61383760 => 'Melbourne', - 61383761 => 'Melbourne', - 61383762 => 'Melbourne', 61383763 => 'Point Cook', 61383764 => 'Point Cook', 61383765 => 'Point Cook', - 61383766 => 'Melbourne', - 61383767 => 'Melbourne', - 61383768 => 'Melbourne', - 61383769 => 'Melbourne', 6138377 => 'Craigieburn', - 6138378 => 'Melbourne', - 6138379 => 'Melbourne', 6138380 => 'Point Cook', 6138381 => 'Point Cook', 6138382 => 'Sydenham', - 6138383 => 'Melbourne', 6138384 => 'Craigieburn', 6138385 => 'Sydenham', 6138386 => 'Point Cook', - 6138387 => 'Melbourne', - 6138388 => 'Melbourne', 6138389 => 'Craigieburn', 6138390 => 'Sydenham', - 6138391 => 'Melbourne', - 6138392 => 'Melbourne', - 6138393 => 'Melbourne', - 6138394 => 'Melbourne', - 6138395 => 'Melbourne', - 6138396 => 'Melbourne', - 6138397 => 'Melbourne', - 6138398 => 'Melbourne', - 6138399 => 'Melbourne', - 61384000 => 'Eltham', - 61384001 => 'Eltham', - 61384002 => 'Eltham', - 61384003 => 'Eltham', + 6138400 => 'Eltham', 61384004 => 'Melbourne', - 61384005 => 'Eltham', - 61384006 => 'Eltham', 61384007 => 'Melbourne', - 61384008 => 'Eltham', - 61384009 => 'Eltham', 6138401 => 'Eltham', 6138402 => 'Eltham', 6138403 => 'Melbourne', @@ -24594,34 +21519,14 @@ return array ( 61384887 => 'Melbourne', 61384888 => 'Melbourne', 61384889 => 'Melbourne', - 6138500 => 'Melbourne', + 613850 => 'Melbourne', 6138501 => 'Clayton', - 6138502 => 'Melbourne', - 6138503 => 'Melbourne', - 6138504 => 'Melbourne', 6138505 => 'Clayton', - 6138506 => 'Melbourne', - 6138507 => 'Melbourne', - 6138508 => 'Melbourne', - 6138509 => 'Melbourne', - 6138510 => 'Clayton', - 6138511 => 'Clayton', - 6138512 => 'Clayton', - 6138513 => 'Clayton', - 6138514 => 'Clayton', + 613851 => 'Clayton', 6138515 => 'Melbourne', - 6138516 => 'Clayton', 6138517 => 'Melbourne', - 61385180 => 'Clayton', - 61385181 => 'Clayton', - 61385182 => 'Clayton', - 61385183 => 'Clayton', 61385184 => 'Melbourne', - 61385185 => 'Clayton', - 61385186 => 'Clayton', 61385187 => 'Melbourne', - 61385188 => 'Clayton', - 61385189 => 'Clayton', 6138519 => 'Melbourne', 6138520 => 'Melbourne', 6138521 => 'Clayton', @@ -24633,26 +21538,10 @@ return array ( 6138527 => 'Melbourne', 6138528 => 'Melbourne', 6138529 => 'Melbourne', - 6138530 => 'Melbourne', - 6138531 => 'Melbourne', - 6138532 => 'Melbourne', - 6138533 => 'Melbourne', - 6138534 => 'Melbourne', - 6138535 => 'Melbourne', - 6138536 => 'Melbourne', - 6138537 => 'Melbourne', - 6138538 => 'Melbourne', - 6138539 => 'Melbourne', - 6138540 => 'Clayton', - 6138541 => 'Clayton', - 6138542 => 'Clayton', - 6138543 => 'Clayton', - 6138544 => 'Clayton', - 6138545 => 'Clayton', - 6138546 => 'Clayton', + 613853 => 'Melbourne', + 613854 => 'Clayton', 6138547 => 'Melbourne', 6138548 => 'Melbourne', - 6138549 => 'Clayton', 6138550 => 'Clayton', 6138551 => 'Clayton', 6138552 => 'Melbourne', @@ -24669,12 +21558,7 @@ return array ( 6138563 => 'Melbourne', 6138564 => 'Melbourne', 6138565 => 'Clayton', - 61385660 => 'Clayton', - 61385661 => 'Clayton', - 61385662 => 'Clayton', - 61385663 => 'Clayton', - 61385664 => 'Clayton', - 61385665 => 'Clayton', + 6138566 => 'Clayton', 61385666 => 'Melbourne', 61385667 => 'Melbourne', 61385668 => 'Melbourne', @@ -24688,14 +21572,7 @@ return array ( 6138574 => 'Melbourne', 6138575 => 'Melbourne', 6138576 => 'Melbourne', - 61385770 => 'Clayton', - 61385771 => 'Clayton', - 61385772 => 'Clayton', - 61385773 => 'Clayton', - 61385774 => 'Clayton', - 61385775 => 'Clayton', - 61385776 => 'Clayton', - 61385777 => 'Clayton', + 6138577 => 'Clayton', 61385778 => 'Melbourne', 61385779 => 'Melbourne', 6138578 => 'Melbourne', @@ -24716,66 +21593,12 @@ return array ( 6138587 => 'Clayton', 6138588 => 'Clayton', 6138589 => 'Melbourne', - 6138590 => 'Melbourne', - 6138591 => 'Melbourne', - 6138592 => 'Melbourne', - 6138593 => 'Melbourne', - 6138594 => 'Melbourne', - 6138595 => 'Melbourne', - 6138596 => 'Melbourne', - 6138597 => 'Melbourne', - 6138598 => 'Melbourne', - 6138599 => 'Melbourne', - 6138600 => 'Melbourne', - 6138601 => 'Melbourne', - 6138602 => 'Melbourne', - 6138603 => 'Melbourne', - 6138604 => 'Melbourne', - 6138605 => 'Melbourne', - 6138606 => 'Melbourne', - 6138607 => 'Melbourne', - 6138608 => 'Melbourne', - 6138609 => 'Melbourne', - 6138610 => 'Melbourne', - 6138611 => 'Melbourne', - 6138612 => 'Melbourne', - 6138613 => 'Melbourne', - 6138614 => 'Melbourne', - 6138615 => 'Melbourne', - 6138616 => 'Melbourne', - 6138617 => 'Melbourne', - 6138618 => 'Melbourne', - 6138619 => 'Melbourne', - 6138620 => 'Melbourne', - 6138621 => 'Melbourne', - 6138622 => 'Melbourne', - 6138623 => 'Melbourne', - 6138624 => 'Melbourne', - 6138625 => 'Melbourne', - 6138626 => 'Melbourne', - 6138627 => 'Melbourne', - 6138628 => 'Melbourne', - 6138629 => 'Melbourne', - 6138630 => 'Melbourne', - 6138631 => 'Melbourne', - 6138632 => 'Melbourne', - 6138633 => 'Melbourne', - 6138634 => 'Melbourne', - 6138635 => 'Melbourne', - 6138636 => 'Melbourne', - 6138637 => 'Melbourne', - 6138638 => 'Melbourne', - 6138639 => 'Melbourne', - 6138640 => 'Melbourne', - 6138641 => 'Melbourne', - 6138642 => 'Melbourne', - 6138643 => 'Melbourne', - 6138644 => 'Melbourne', - 6138645 => 'Melbourne', - 6138646 => 'Melbourne', - 6138647 => 'Melbourne', - 6138648 => 'Melbourne', - 6138649 => 'Melbourne', + 613859 => 'Melbourne', + 613860 => 'Melbourne', + 613861 => 'Melbourne', + 613862 => 'Melbourne', + 613863 => 'Melbourne', + 613864 => 'Melbourne', 6138650 => 'Melbourne', 6138651 => 'Melbourne', 61386521 => 'Melbourne', @@ -24789,46 +21612,10 @@ return array ( 6138656 => 'Melbourne', 6138657 => 'Melbourne', 6138658 => 'Melbourne', - 6138660 => 'Melbourne', - 6138661 => 'Melbourne', - 6138662 => 'Melbourne', - 6138663 => 'Melbourne', - 6138664 => 'Melbourne', - 6138665 => 'Melbourne', - 6138666 => 'Melbourne', - 6138667 => 'Melbourne', - 6138668 => 'Melbourne', - 6138669 => 'Melbourne', - 6138670 => 'Melbourne', - 6138671 => 'Melbourne', - 6138672 => 'Melbourne', - 6138673 => 'Melbourne', - 6138674 => 'Melbourne', - 6138675 => 'Melbourne', - 6138676 => 'Melbourne', - 6138677 => 'Melbourne', - 6138678 => 'Melbourne', - 6138679 => 'Melbourne', - 6138680 => 'Melbourne', - 6138681 => 'Melbourne', - 6138682 => 'Melbourne', - 6138683 => 'Melbourne', - 6138684 => 'Melbourne', - 6138685 => 'Melbourne', - 6138686 => 'Melbourne', - 6138687 => 'Melbourne', - 6138688 => 'Melbourne', - 6138689 => 'Melbourne', - 6138690 => 'Melbourne', - 6138691 => 'Melbourne', - 6138692 => 'Melbourne', - 6138693 => 'Melbourne', - 6138694 => 'Melbourne', - 6138695 => 'Melbourne', - 6138696 => 'Melbourne', - 6138697 => 'Melbourne', - 6138698 => 'Melbourne', - 6138699 => 'Melbourne', + 613866 => 'Melbourne', + 613867 => 'Melbourne', + 613868 => 'Melbourne', + 613869 => 'Melbourne', 6138700 => 'Werribee', 6138701 => 'Sunbury', 6138702 => 'Kalkallo', @@ -24837,15 +21624,7 @@ return array ( 6138705 => 'Dandenong', 6138706 => 'Croydon', 6138707 => 'Dandenong', - 61387080 => 'Kalkallo', - 61387081 => 'Kalkallo', - 61387082 => 'Kalkallo', - 61387083 => 'Kalkallo', - 61387084 => 'Kalkallo', - 61387085 => 'Kalkallo', - 61387086 => 'Kalkallo', - 61387087 => 'Kalkallo', - 61387088 => 'Kalkallo', + 6138708 => 'Kalkallo', 61387089 => 'Melbourne', 6138709 => 'Croydon', 6138710 => 'Dandenong', @@ -24891,16 +21670,8 @@ return array ( 6138741 => 'Croydon', 6138742 => 'Werribee', 6138743 => 'Dandenong', - 61387440 => 'Werribee', - 61387441 => 'Werribee', - 61387442 => 'Werribee', + 6138744 => 'Werribee', 61387443 => 'Werribee/Point Cook', - 61387444 => 'Werribee', - 61387445 => 'Werribee', - 61387446 => 'Werribee', - 61387447 => 'Werribee', - 61387448 => 'Werribee', - 61387449 => 'Werribee', 6138745 => 'Sunbury', 6138746 => 'Sunbury', 6138747 => 'Sunbury', @@ -24916,26 +21687,10 @@ return array ( 61387507 => 'Kalkallo', 61387508 => 'Sunbury', 61387509 => 'Werribee', + 6138751 => 'Dandenong', 61387510 => 'Whittlesea', - 61387511 => 'Dandenong', - 61387512 => 'Dandenong', - 61387513 => 'Dandenong', - 61387514 => 'Dandenong', - 61387515 => 'Dandenong', - 61387516 => 'Dandenong', - 61387517 => 'Dandenong', - 61387518 => 'Dandenong', - 61387519 => 'Dandenong', - 61387520 => 'Dandenong', - 61387521 => 'Dandenong', - 61387522 => 'Dandenong', - 61387523 => 'Dandenong', - 61387524 => 'Dandenong', + 6138752 => 'Dandenong', 61387525 => 'Whittlesea', - 61387526 => 'Dandenong', - 61387527 => 'Dandenong', - 61387528 => 'Dandenong', - 61387529 => 'Dandenong', 6138753 => 'Dandenong', 6138754 => 'Werribee', 6138755 => 'Werribee', @@ -24943,43 +21698,23 @@ return array ( 6138757 => 'Kalkallo', 6138758 => 'Dandenong', 6138759 => 'Dandenong', - 61387600 => 'Dandenong', - 61387601 => 'Dandenong', + 613876 => 'Dandenong', 61387602 => 'Kalkallo', 61387603 => 'Sunbury', 61387604 => 'Werribee', 61387605 => 'Whittlesea', - 61387606 => 'Dandenong', 61387607 => 'Kalkallo', 61387608 => 'Sunbury', 61387609 => 'Werribee', 6138761 => 'Croydon', - 6138762 => 'Dandenong', 61387630 => 'Werribee', 61387631 => 'Werribee', 61387632 => 'Werribee', - 61387633 => 'Dandenong', - 61387634 => 'Dandenong', - 61387635 => 'Dandenong', - 61387636 => 'Dandenong', - 61387637 => 'Dandenong', - 61387638 => 'Dandenong', - 61387639 => 'Dandenong', - 61387640 => 'Dandenong', 61387641 => 'Kalkallo', 61387642 => 'Sunbury', 61387643 => 'Werribee', 61387644 => 'Whittlesea', - 61387645 => 'Dandenong', - 61387646 => 'Dandenong', - 61387647 => 'Dandenong', - 61387648 => 'Dandenong', - 61387649 => 'Dandenong', - 6138765 => 'Dandenong', - 6138766 => 'Dandenong', 6138767 => 'Whittlesea', - 6138768 => 'Dandenong', - 6138769 => 'Dandenong', 6138770 => 'Dandenong', 61387710 => 'Werribee', 61387711 => 'Sunbury', @@ -24991,32 +21726,18 @@ return array ( 61387717 => 'Sunbury', 61387718 => 'Kalkallo', 61387719 => 'Whittlesea', + 6138772 => 'Dandenong', 61387720 => 'Croydon', - 61387721 => 'Dandenong', - 61387722 => 'Dandenong', 61387723 => 'Whittlesea', 61387724 => 'Werribee', - 61387725 => 'Dandenong', - 61387726 => 'Dandenong', - 61387727 => 'Dandenong', - 61387728 => 'Dandenong', - 61387729 => 'Dandenong', 6138773 => 'Dandenong', 6138774 => 'Dandenong', 6138775 => 'Whittlesea', 6138776 => 'Whittlesea', 6138777 => 'Croydon', 6138778 => 'Kalkallo', - 61387790 => 'Dandenong', - 61387791 => 'Dandenong', - 61387792 => 'Dandenong', - 61387793 => 'Dandenong', - 61387794 => 'Dandenong', + 6138779 => 'Dandenong', 61387795 => 'Dandenong/Melbourne/Dandenong', - 61387796 => 'Dandenong', - 61387797 => 'Dandenong', - 61387798 => 'Dandenong', - 61387799 => 'Dandenong', 61387803 => 'Dandenong', 61387804 => 'Dandenong', 61387805 => 'Dandenong', @@ -25025,16 +21746,10 @@ return array ( 61387808 => 'Dandenong', 61387809 => 'Werribee', 6138781 => 'Dandenong', - 61387820 => 'Dandenong', - 61387821 => 'Dandenong', - 61387822 => 'Dandenong', - 61387823 => 'Dandenong', + 6138782 => 'Dandenong', 61387824 => 'Croydon', 61387825 => 'Croydon', 61387826 => 'Croydon', - 61387827 => 'Dandenong', - 61387828 => 'Dandenong', - 61387829 => 'Dandenong', 6138783 => 'Dandenong', 61387840 => 'Dandenong', 61387841 => 'Dandenong', @@ -25049,55 +21764,22 @@ return array ( 6138787 => 'Dandenong', 6138788 => 'Dandenong', 6138789 => 'Dandenong', - 6138790 => 'Dandenong', - 6138791 => 'Dandenong', - 6138792 => 'Dandenong', - 6138793 => 'Dandenong', - 6138794 => 'Dandenong', - 6138795 => 'Dandenong', - 6138796 => 'Dandenong', - 6138797 => 'Dandenong', + 613879 => 'Dandenong', 6138798 => 'Sunbury', 6138799 => 'Croydon', - 6138800 => 'Melbourne', + 613880 => 'Melbourne', 6138801 => 'Ringwood', - 6138802 => 'Melbourne', - 61388030 => 'Melbourne', - 61388031 => 'Melbourne', - 61388032 => 'Melbourne', - 61388033 => 'Melbourne', - 61388034 => 'Melbourne', 61388035 => 'Melbourne/Croydon/Melbourne', - 61388036 => 'Melbourne', - 61388037 => 'Melbourne', - 61388038 => 'Melbourne', - 61388039 => 'Melbourne', - 6138804 => 'Melbourne', 6138805 => 'Ringwood', 6138806 => 'Ringwood', - 6138807 => 'Melbourne', - 6138808 => 'Melbourne', - 6138809 => 'Melbourne', + 613881 => 'Ringwood', 6138810 => 'Melbourne', - 6138811 => 'Ringwood', - 6138812 => 'Ringwood', - 6138813 => 'Ringwood', - 6138814 => 'Ringwood', 6138815 => 'Melbourne', 6138816 => 'Melbourne', 6138817 => 'Melbourne', - 6138818 => 'Ringwood', - 6138819 => 'Ringwood', - 61388200 => 'Ringwood', - 61388201 => 'Ringwood', - 61388202 => 'Ringwood', - 61388203 => 'Ringwood', - 61388204 => 'Ringwood', + 6138820 => 'Ringwood', 61388205 => 'Melbourne', - 61388206 => 'Ringwood', 61388207 => 'Melbourne', - 61388208 => 'Ringwood', - 61388209 => 'Ringwood', 6138821 => 'Ringwood', 6138822 => 'Ringwood', 6138823 => 'Melbourne', @@ -25118,16 +21800,11 @@ return array ( 61388395 => 'Ringwood', 61388396 => 'Ringwood', 61388397 => 'Ringwood', - 6138840 => 'Melbourne', + 613884 => 'Melbourne', 6138841 => 'Ringwood', - 6138842 => 'Melbourne', - 6138843 => 'Melbourne', - 6138844 => 'Melbourne', 6138845 => 'Ringwood', 6138846 => 'Ringwood', 6138847 => 'Ringwood', - 6138848 => 'Melbourne', - 6138849 => 'Melbourne', 6138850 => 'Melbourne', 6138851 => 'Melbourne', 6138855 => 'Melbourne', @@ -25168,56 +21845,14 @@ return array ( 61390072 => 'Melbourne', 61390073 => 'Melbourne', 6139008 => 'Melbourne', + 6139009 => 'Melbourne', 61390090 => 'Eltham', 61390091 => 'Eltham', 61390092 => 'Eltham', - 61390093 => 'Melbourne', - 61390094 => 'Melbourne', - 61390095 => 'Melbourne', - 61390096 => 'Melbourne', - 61390097 => 'Melbourne', - 61390098 => 'Melbourne', - 61390099 => 'Melbourne', - 6139010 => 'Melbourne', - 6139011 => 'Melbourne', - 6139012 => 'Melbourne', - 6139013 => 'Melbourne', - 6139014 => 'Melbourne', - 6139015 => 'Melbourne', - 6139016 => 'Melbourne', - 6139017 => 'Melbourne', - 6139018 => 'Melbourne', - 6139019 => 'Melbourne', - 6139020 => 'Melbourne', - 6139021 => 'Melbourne', - 6139022 => 'Melbourne', - 6139023 => 'Melbourne', - 6139024 => 'Melbourne', - 6139025 => 'Melbourne', - 6139026 => 'Melbourne', - 6139027 => 'Melbourne', - 6139028 => 'Melbourne', - 6139029 => 'Melbourne', - 6139030 => 'Melbourne', - 6139031 => 'Melbourne', - 6139032 => 'Melbourne', - 6139033 => 'Melbourne', - 6139034 => 'Melbourne', - 6139035 => 'Melbourne', - 6139036 => 'Melbourne', - 6139037 => 'Melbourne', - 6139038 => 'Melbourne', - 6139039 => 'Melbourne', - 6139040 => 'Melbourne', - 6139041 => 'Melbourne', - 6139042 => 'Melbourne', - 6139043 => 'Melbourne', - 6139044 => 'Melbourne', - 6139045 => 'Melbourne', - 6139046 => 'Melbourne', - 6139047 => 'Melbourne', - 6139048 => 'Melbourne', - 6139049 => 'Melbourne', + 613901 => 'Melbourne', + 613902 => 'Melbourne', + 613903 => 'Melbourne', + 613904 => 'Melbourne', 6139050 => 'Melbourne', 6139051 => 'Melbourne', 6139052 => 'Melbourne', @@ -25251,16 +21886,7 @@ return array ( 6139085 => 'Melbourne', 6139088 => 'Melbourne', 6139089 => 'Melbourne', - 6139090 => 'Melbourne', - 6139091 => 'Melbourne', - 6139092 => 'Melbourne', - 6139093 => 'Melbourne', - 6139094 => 'Melbourne', - 6139095 => 'Melbourne', - 6139096 => 'Melbourne', - 6139097 => 'Melbourne', - 6139098 => 'Melbourne', - 6139099 => 'Melbourne', + 613909 => 'Melbourne', 6139100 => 'Melbourne', 61391011 => 'Melbourne', 61391012 => 'Melbourne', @@ -25281,26 +21907,8 @@ return array ( 6139107 => 'Melbourne', 6139108 => 'Melbourne', 6139109 => 'Melbourne', - 6139110 => 'Melbourne', - 6139111 => 'Melbourne', - 6139112 => 'Melbourne', - 6139113 => 'Melbourne', - 6139114 => 'Melbourne', - 6139115 => 'Melbourne', - 6139116 => 'Melbourne', - 6139117 => 'Melbourne', - 6139118 => 'Melbourne', - 6139119 => 'Melbourne', - 6139120 => 'Melbourne', - 6139121 => 'Melbourne', - 6139122 => 'Melbourne', - 6139123 => 'Melbourne', - 6139124 => 'Melbourne', - 6139125 => 'Melbourne', - 6139126 => 'Melbourne', - 6139127 => 'Melbourne', - 6139128 => 'Melbourne', - 6139129 => 'Melbourne', + 613911 => 'Melbourne', + 613912 => 'Melbourne', 6139130 => 'Melbourne', 6139131 => 'Melbourne', 6139132 => 'Melbourne', @@ -25313,46 +21921,11 @@ return array ( 61391738 => 'Melbourne', 6139188 => 'Melbourne', 6139189 => 'Melbourne', - 6139190 => 'Melbourne', - 6139191 => 'Melbourne', - 6139192 => 'Melbourne', - 6139193 => 'Melbourne', - 6139194 => 'Melbourne', - 6139195 => 'Melbourne', - 6139196 => 'Melbourne', - 6139197 => 'Melbourne', - 6139198 => 'Melbourne', - 6139199 => 'Melbourne', - 6139200 => 'Melbourne', - 6139201 => 'Melbourne', + 613919 => 'Melbourne', + 61392 => 'Melbourne', 6139202 => 'Werribee', - 6139203 => 'Melbourne', - 6139204 => 'Melbourne', - 6139205 => 'Melbourne', - 6139206 => 'Melbourne', - 6139207 => 'Melbourne', - 6139208 => 'Melbourne', - 6139209 => 'Melbourne', - 61392100 => 'Ringwood', - 61392101 => 'Ringwood', - 61392102 => 'Melbourne', - 61392103 => 'Ringwood', - 61392104 => 'Ringwood', - 61392105 => 'Ringwood', - 61392106 => 'Ringwood', - 61392107 => 'Ringwood', - 61392108 => 'Ringwood', - 61392109 => 'Ringwood', - 61392110 => 'Melbourne', - 61392111 => 'Melbourne', - 61392112 => 'Melbourne', - 61392113 => 'Melbourne', - 61392114 => 'Melbourne', - 61392115 => 'Melbourne', - 61392116 => 'Melbourne', + 6139210 => 'Ringwood', 61392117 => 'Clayton', - 61392118 => 'Melbourne', - 61392119 => 'Melbourne', 61392120 => 'Croydon', 61392121 => 'Dandenong', 61392122 => 'Dandenong', @@ -25373,7 +21946,6 @@ return array ( 61392137 => 'Croydon', 61392138 => 'Croydon', 61392139 => 'Croydon', - 6139214 => 'Melbourne', 61392150 => 'Croydon', 61392151 => 'Dandenong', 61392152 => 'Dandenong', @@ -25399,7 +21971,6 @@ return array ( 61392172 => 'Eltham', 61392173 => 'Craigieburn', 61392174 => 'Craigieburn', - 61392175 => 'Melbourne', 61392176 => 'Sydenham', 61392177 => 'Point Cook', 61392178 => 'Sydenham', @@ -25424,346 +21995,69 @@ return array ( 61392197 => 'Sydenham', 61392198 => 'Eltham', 61392199 => 'Eltham', - 6139220 => 'Melbourne', - 6139221 => 'Melbourne', - 6139222 => 'Melbourne', - 6139223 => 'Melbourne', - 6139224 => 'Melbourne', - 6139225 => 'Melbourne', - 6139226 => 'Melbourne', - 6139227 => 'Melbourne', - 6139228 => 'Melbourne', - 6139229 => 'Melbourne', - 6139230 => 'Melbourne', - 6139231 => 'Melbourne', - 6139232 => 'Melbourne', - 6139233 => 'Melbourne', - 6139234 => 'Melbourne', - 6139235 => 'Melbourne', - 6139236 => 'Melbourne', 6139237 => 'Croydon', 6139238 => 'Dandenong', 6139239 => 'Clayton', - 6139240 => 'Melbourne', - 6139241 => 'Melbourne', - 6139242 => 'Melbourne', - 6139243 => 'Melbourne', - 61392440 => 'Melbourne', - 61392441 => 'Melbourne', - 61392442 => 'Melbourne', - 61392443 => 'Melbourne', - 61392444 => 'Melbourne', - 61392445 => 'Melbourne', - 61392446 => 'Melbourne', 61392447 => 'Clayton', - 61392448 => 'Melbourne', - 61392449 => 'Melbourne', - 6139245 => 'Melbourne', - 6139246 => 'Melbourne', - 6139247 => 'Melbourne', - 6139248 => 'Melbourne', - 6139249 => 'Melbourne', - 6139250 => 'Melbourne', - 6139251 => 'Melbourne', - 6139252 => 'Melbourne', 6139253 => 'Clayton', - 6139254 => 'Melbourne', - 6139255 => 'Melbourne', - 6139256 => 'Melbourne', - 6139257 => 'Melbourne', - 6139258 => 'Melbourne', 6139259 => 'Ringwood', - 6139260 => 'Melbourne', - 6139261 => 'Melbourne', 61392620 => 'Ringwood', 61392621 => 'Clayton', 61392622 => 'Clayton', 61392623 => 'Clayton', - 61392624 => 'Melbourne', 61392625 => 'Clayton', 61392626 => 'Ringwood', 61392627 => 'Ringwood', 61392628 => 'Ringwood', - 61392629 => 'Melbourne', - 61392630 => 'Clayton', - 61392631 => 'Clayton', - 61392632 => 'Clayton', - 61392633 => 'Clayton', - 61392634 => 'Clayton', - 61392635 => 'Clayton', - 61392636 => 'Melbourne', - 61392637 => 'Clayton', - 61392638 => 'Clayton', - 61392639 => 'Clayton', + 6139263 => 'Clayton', 61392640 => 'Clayton', - 61392641 => 'Melbourne', - 61392642 => 'Melbourne', 61392643 => 'Clayton', - 61392644 => 'Melbourne', - 61392645 => 'Melbourne', 61392646 => 'Ringwood', 61392647 => 'Ringwood', 61392648 => 'Ringwood', 61392649 => 'Clayton', - 61392650 => 'Clayton', - 61392651 => 'Clayton', - 61392652 => 'Clayton', - 61392653 => 'Clayton', - 61392654 => 'Clayton', - 61392655 => 'Clayton', - 61392656 => 'Clayton', - 61392657 => 'Clayton', - 61392658 => 'Melbourne', - 61392659 => 'Clayton', + 6139265 => 'Clayton', 6139266 => 'Sydenham', - 6139267 => 'Melbourne', - 6139268 => 'Melbourne', - 6139269 => 'Melbourne', - 6139270 => 'Melbourne', 6139271 => 'Clayton', - 6139272 => 'Melbourne', - 6139273 => 'Melbourne', - 6139274 => 'Melbourne', - 6139275 => 'Melbourne', - 6139276 => 'Melbourne', - 6139277 => 'Melbourne', - 6139278 => 'Melbourne', - 6139279 => 'Melbourne', - 6139280 => 'Melbourne', - 6139281 => 'Melbourne', - 6139282 => 'Melbourne', - 6139283 => 'Melbourne', - 6139284 => 'Melbourne', - 6139285 => 'Melbourne', - 6139286 => 'Melbourne', - 6139287 => 'Melbourne', - 6139288 => 'Melbourne', - 6139289 => 'Melbourne', - 6139290 => 'Melbourne', - 6139291 => 'Melbourne', - 6139292 => 'Melbourne', 6139293 => 'Dandenong', 6139294 => 'Croydon', - 6139295 => 'Melbourne', - 6139296 => 'Melbourne', - 6139297 => 'Melbourne', 6139298 => 'Ringwood', - 6139299 => 'Melbourne', - 6139300 => 'Melbourne', - 6139301 => 'Melbourne', - 6139302 => 'Melbourne', + 61393 => 'Melbourne', 6139303 => 'Craigieburn', - 6139304 => 'Melbourne', - 61393050 => 'Craigieburn', - 61393051 => 'Craigieburn', - 61393052 => 'Craigieburn', - 61393053 => 'Craigieburn', - 61393054 => 'Craigieburn', - 61393055 => 'Craigieburn', - 61393056 => 'Craigieburn', - 61393057 => 'Craigieburn', - 61393058 => 'Melbourne', - 61393059 => 'Craigieburn', - 6139306 => 'Melbourne', - 61393070 => 'Sydenham', - 61393071 => 'Sydenham', - 61393072 => 'Sydenham', - 61393073 => 'Melbourne', - 61393074 => 'Sydenham', - 61393075 => 'Sydenham', - 61393076 => 'Sydenham', - 61393077 => 'Sydenham', - 61393078 => 'Sydenham', - 61393079 => 'Sydenham', + 6139305 => 'Craigieburn', + 6139307 => 'Sydenham', 6139308 => 'Craigieburn', - 6139309 => 'Melbourne', - 6139310 => 'Melbourne', - 6139311 => 'Melbourne', - 6139312 => 'Melbourne', - 6139313 => 'Melbourne', - 6139314 => 'Melbourne', - 6139315 => 'Melbourne', - 6139316 => 'Melbourne', - 6139317 => 'Melbourne', - 6139318 => 'Melbourne', - 6139319 => 'Melbourne', - 6139320 => 'Melbourne', - 6139321 => 'Melbourne', - 6139322 => 'Melbourne', 6139323 => 'Craigieburn', 6139324 => 'Sydenham', - 6139325 => 'Melbourne', - 6139326 => 'Melbourne', - 6139327 => 'Melbourne', - 6139328 => 'Melbourne', - 6139329 => 'Melbourne', - 6139330 => 'Melbourne', - 6139331 => 'Melbourne', - 6139332 => 'Melbourne', 6139333 => 'Craigieburn', - 6139334 => 'Melbourne', - 6139335 => 'Melbourne', - 6139336 => 'Melbourne', - 6139337 => 'Melbourne', - 6139338 => 'Melbourne', - 6139339 => 'Melbourne', - 6139340 => 'Melbourne', - 6139341 => 'Melbourne', - 6139342 => 'Melbourne', - 6139343 => 'Melbourne', - 6139344 => 'Melbourne', - 6139345 => 'Melbourne', - 6139346 => 'Melbourne', - 6139347 => 'Melbourne', - 6139348 => 'Melbourne', - 6139349 => 'Melbourne', - 6139350 => 'Melbourne', - 6139351 => 'Melbourne', - 6139352 => 'Melbourne', - 6139353 => 'Melbourne', - 6139354 => 'Melbourne', - 6139355 => 'Melbourne', - 6139356 => 'Melbourne', - 6139357 => 'Melbourne', - 6139358 => 'Melbourne', - 6139359 => 'Melbourne', - 61393600 => 'Melbourne', - 61393601 => 'Melbourne', - 61393602 => 'Melbourne', - 61393603 => 'Melbourne', 61393604 => 'Sydenham', 61393605 => 'Sydenham', - 61393606 => 'Melbourne', - 61393607 => 'Melbourne', - 61393608 => 'Melbourne', - 61393609 => 'Melbourne', 6139361 => 'Sydenham', - 6139362 => 'Melbourne', 6139363 => 'Sydenham', - 6139364 => 'Melbourne', - 6139365 => 'Melbourne', - 6139366 => 'Melbourne', - 6139367 => 'Melbourne', - 6139368 => 'Melbourne', - 6139369 => 'Melbourne', - 6139370 => 'Melbourne', - 6139371 => 'Melbourne', - 6139372 => 'Melbourne', - 6139373 => 'Melbourne', - 6139374 => 'Melbourne', - 6139375 => 'Melbourne', - 6139376 => 'Melbourne', - 6139377 => 'Melbourne', - 6139378 => 'Melbourne', - 6139379 => 'Melbourne', - 6139380 => 'Melbourne', - 6139381 => 'Melbourne', - 6139382 => 'Melbourne', - 6139383 => 'Melbourne', - 6139384 => 'Melbourne', - 6139385 => 'Melbourne', - 6139386 => 'Melbourne', - 6139387 => 'Melbourne', - 6139388 => 'Melbourne', - 6139389 => 'Melbourne', 6139390 => 'Sydenham', - 6139391 => 'Melbourne', - 6139392 => 'Melbourne', - 6139393 => 'Melbourne', 6139394 => 'Point Cook', 6139395 => 'Point Cook', - 6139396 => 'Melbourne', - 6139397 => 'Melbourne', - 6139398 => 'Melbourne', - 6139399 => 'Melbourne', + 613940 => 'Eltham', 6139400 => 'Dandenong', - 6139401 => 'Eltham', - 6139402 => 'Eltham', 6139403 => 'Melbourne', - 6139404 => 'Eltham', 6139405 => 'Melbourne', 6139406 => 'Melbourne', - 61394070 => 'Eltham', - 61394071 => 'Eltham', - 61394072 => 'Eltham', - 61394073 => 'Eltham', 61394074 => 'Melbourne', - 61394075 => 'Eltham', - 61394076 => 'Eltham', - 61394077 => 'Eltham', - 61394078 => 'Eltham', - 61394079 => 'Eltham', 61394080 => 'Melbourne', - 61394081 => 'Eltham', 61394082 => 'Melbourne', - 61394083 => 'Eltham', - 61394084 => 'Eltham', - 61394085 => 'Eltham', - 61394086 => 'Eltham', - 61394087 => 'Eltham', - 61394088 => 'Eltham', - 61394089 => 'Eltham', - 6139409 => 'Eltham', - 6139410 => 'Melbourne', - 6139411 => 'Melbourne', - 6139412 => 'Melbourne', - 6139413 => 'Melbourne', - 6139414 => 'Melbourne', - 6139415 => 'Melbourne', - 6139416 => 'Melbourne', - 6139417 => 'Melbourne', - 6139418 => 'Melbourne', - 6139419 => 'Melbourne', - 6139420 => 'Melbourne', - 6139421 => 'Melbourne', + 613941 => 'Melbourne', + 613942 => 'Melbourne', 6139422 => 'Eltham', 6139423 => 'Eltham', 6139424 => 'Eltham', - 6139425 => 'Melbourne', - 6139426 => 'Melbourne', - 6139427 => 'Melbourne', - 6139428 => 'Melbourne', - 6139429 => 'Melbourne', - 6139430 => 'Eltham', - 6139431 => 'Eltham', - 6139432 => 'Eltham', - 6139433 => 'Eltham', - 6139434 => 'Eltham', - 6139435 => 'Eltham', - 6139436 => 'Eltham', - 6139437 => 'Eltham', - 6139438 => 'Eltham', - 6139439 => 'Eltham', - 6139440 => 'Melbourne', - 6139441 => 'Melbourne', - 6139442 => 'Melbourne', - 6139443 => 'Melbourne', + 613943 => 'Eltham', + 613944 => 'Melbourne', 6139444 => 'Eltham', - 6139445 => 'Melbourne', - 6139446 => 'Melbourne', - 6139447 => 'Melbourne', - 6139448 => 'Melbourne', 6139449 => 'Sydenham', - 6139450 => 'Melbourne', + 613945 => 'Melbourne', 6139451 => 'Eltham', - 6139452 => 'Melbourne', - 6139453 => 'Melbourne', - 6139454 => 'Melbourne', - 6139455 => 'Melbourne', - 6139456 => 'Melbourne', - 6139457 => 'Melbourne', - 6139458 => 'Melbourne', - 6139459 => 'Melbourne', - 6139460 => 'Melbourne', + 613946 => 'Melbourne', 6139461 => 'Eltham', - 6139462 => 'Melbourne', - 6139463 => 'Melbourne', - 6139464 => 'Melbourne', - 6139465 => 'Melbourne', - 6139466 => 'Melbourne', - 6139467 => 'Melbourne', - 6139468 => 'Melbourne', - 6139469 => 'Melbourne', 6139470 => 'Melbourne', 6139471 => 'Melbourne', 6139472 => 'Melbourne', @@ -25775,16 +22069,7 @@ return array ( 61394753 => 'Eltham', 6139478 => 'Melbourne', 6139479 => 'Melbourne', - 6139480 => 'Melbourne', - 6139481 => 'Melbourne', - 6139482 => 'Melbourne', - 6139483 => 'Melbourne', - 6139484 => 'Melbourne', - 6139485 => 'Melbourne', - 6139486 => 'Melbourne', - 6139487 => 'Melbourne', - 6139488 => 'Melbourne', - 6139489 => 'Melbourne', + 613948 => 'Melbourne', 6139490 => 'Melbourne', 6139494 => 'Eltham', 6139495 => 'Melbourne', @@ -25792,255 +22077,39 @@ return array ( 6139497 => 'Melbourne', 6139498 => 'Melbourne', 6139499 => 'Melbourne', - 6139500 => 'Melbourne', + 61395 => 'Melbourne', 6139501 => 'Clayton', - 6139502 => 'Melbourne', - 6139503 => 'Melbourne', - 6139504 => 'Melbourne', - 6139505 => 'Melbourne', - 6139506 => 'Melbourne', - 6139507 => 'Melbourne', - 6139508 => 'Melbourne', - 6139509 => 'Melbourne', - 6139510 => 'Melbourne', 6139511 => 'Clayton', 6139512 => 'Clayton', - 6139513 => 'Melbourne', - 6139514 => 'Melbourne', 6139515 => 'Clayton', - 6139516 => 'Melbourne', - 6139517 => 'Melbourne', - 61395180 => 'Clayton', - 61395181 => 'Clayton', - 61395182 => 'Melbourne', - 61395183 => 'Clayton', - 61395184 => 'Clayton', - 61395185 => 'Clayton', - 61395186 => 'Clayton', - 61395187 => 'Clayton', - 61395188 => 'Clayton', - 61395189 => 'Clayton', - 6139519 => 'Melbourne', - 6139520 => 'Melbourne', - 6139521 => 'Melbourne', - 6139522 => 'Melbourne', - 6139523 => 'Melbourne', - 6139524 => 'Melbourne', - 6139525 => 'Melbourne', - 6139526 => 'Melbourne', - 6139527 => 'Melbourne', - 6139528 => 'Melbourne', - 6139529 => 'Melbourne', - 6139530 => 'Melbourne', - 6139531 => 'Melbourne', - 6139532 => 'Melbourne', - 6139533 => 'Melbourne', - 6139534 => 'Melbourne', + 6139518 => 'Clayton', 6139535 => 'Clayton', - 6139536 => 'Melbourne', - 6139537 => 'Melbourne', 6139538 => 'Clayton', - 6139539 => 'Melbourne', - 6139540 => 'Clayton', - 6139541 => 'Clayton', - 6139542 => 'Clayton', - 6139543 => 'Clayton', - 6139544 => 'Clayton', - 6139545 => 'Clayton', - 6139546 => 'Clayton', - 6139547 => 'Clayton', - 6139548 => 'Clayton', - 6139549 => 'Clayton', + 613954 => 'Clayton', 6139550 => 'Clayton', 6139551 => 'Clayton', 6139552 => 'Clayton', - 6139553 => 'Melbourne', 6139554 => 'Dandenong', - 6139555 => 'Melbourne', - 6139556 => 'Melbourne', - 6139557 => 'Melbourne', 6139558 => 'Clayton', - 6139559 => 'Melbourne', 6139560 => 'Clayton', 6139561 => 'Clayton', 6139562 => 'Clayton', - 6139563 => 'Melbourne', - 6139564 => 'Melbourne', 6139565 => 'Clayton', 6139566 => 'Clayton', - 6139567 => 'Melbourne', - 6139568 => 'Melbourne', - 6139569 => 'Melbourne', - 6139570 => 'Melbourne', - 6139571 => 'Melbourne', - 6139572 => 'Melbourne', - 6139573 => 'Melbourne', 6139574 => 'Clayton', - 6139575 => 'Melbourne', - 6139576 => 'Melbourne', - 6139577 => 'Melbourne', - 6139578 => 'Melbourne', - 6139579 => 'Melbourne', - 6139580 => 'Clayton', - 6139581 => 'Clayton', - 6139582 => 'Clayton', - 6139583 => 'Clayton', - 6139584 => 'Clayton', - 6139585 => 'Clayton', - 6139586 => 'Clayton', - 6139587 => 'Clayton', - 6139588 => 'Clayton', - 6139589 => 'Clayton', + 613958 => 'Clayton', 6139590 => 'Clayton', - 6139591 => 'Melbourne', - 6139592 => 'Melbourne', - 6139593 => 'Melbourne', 6139594 => 'Clayton', - 6139595 => 'Melbourne', - 6139596 => 'Melbourne', - 6139597 => 'Melbourne', - 6139598 => 'Melbourne', - 6139599 => 'Melbourne', - 6139600 => 'Melbourne', - 6139601 => 'Melbourne', - 6139602 => 'Melbourne', - 6139603 => 'Melbourne', - 6139604 => 'Melbourne', - 6139605 => 'Melbourne', - 6139606 => 'Melbourne', - 6139607 => 'Melbourne', - 6139608 => 'Melbourne', - 6139609 => 'Melbourne', - 6139610 => 'Melbourne', - 6139611 => 'Melbourne', - 6139612 => 'Melbourne', - 6139613 => 'Melbourne', - 6139614 => 'Melbourne', - 6139615 => 'Melbourne', - 6139616 => 'Melbourne', - 6139617 => 'Melbourne', - 6139618 => 'Melbourne', - 6139619 => 'Melbourne', - 6139620 => 'Melbourne', - 6139621 => 'Melbourne', - 6139622 => 'Melbourne', - 6139623 => 'Melbourne', - 6139624 => 'Melbourne', - 6139625 => 'Melbourne', - 6139626 => 'Melbourne', - 6139627 => 'Melbourne', - 6139628 => 'Melbourne', - 6139629 => 'Melbourne', - 6139630 => 'Melbourne', - 6139631 => 'Melbourne', - 6139632 => 'Melbourne', - 6139633 => 'Melbourne', - 6139634 => 'Melbourne', - 6139635 => 'Melbourne', - 6139636 => 'Melbourne', - 6139637 => 'Melbourne', - 6139638 => 'Melbourne', - 6139639 => 'Melbourne', - 6139640 => 'Melbourne', - 6139641 => 'Melbourne', - 6139642 => 'Melbourne', - 6139643 => 'Melbourne', - 6139644 => 'Melbourne', - 6139645 => 'Melbourne', - 6139646 => 'Melbourne', - 6139647 => 'Melbourne', - 6139648 => 'Melbourne', - 6139649 => 'Melbourne', - 6139650 => 'Melbourne', - 6139651 => 'Melbourne', - 6139652 => 'Melbourne', - 6139653 => 'Melbourne', - 6139654 => 'Melbourne', - 6139655 => 'Melbourne', - 6139656 => 'Melbourne', - 6139657 => 'Melbourne', - 6139658 => 'Melbourne', - 6139659 => 'Melbourne', - 6139660 => 'Melbourne', - 6139661 => 'Melbourne', - 6139662 => 'Melbourne', - 6139663 => 'Melbourne', - 6139664 => 'Melbourne', - 6139665 => 'Melbourne', - 6139666 => 'Melbourne', - 6139667 => 'Melbourne', - 6139668 => 'Melbourne', - 6139669 => 'Melbourne', - 6139670 => 'Melbourne', - 6139671 => 'Melbourne', - 6139672 => 'Melbourne', - 6139673 => 'Melbourne', - 6139674 => 'Melbourne', - 6139675 => 'Melbourne', - 6139676 => 'Melbourne', - 6139677 => 'Melbourne', - 6139678 => 'Melbourne', - 6139679 => 'Melbourne', - 6139680 => 'Melbourne', - 6139681 => 'Melbourne', - 6139682 => 'Melbourne', - 6139683 => 'Melbourne', - 6139684 => 'Melbourne', - 6139685 => 'Melbourne', - 6139686 => 'Melbourne', - 6139687 => 'Melbourne', - 6139688 => 'Melbourne', - 6139689 => 'Melbourne', - 6139690 => 'Melbourne', - 6139691 => 'Melbourne', - 6139692 => 'Melbourne', - 6139693 => 'Melbourne', - 6139694 => 'Melbourne', - 6139695 => 'Melbourne', - 6139696 => 'Melbourne', - 6139697 => 'Melbourne', - 6139698 => 'Melbourne', - 6139699 => 'Melbourne', - 6139700 => 'Dandenong', - 6139701 => 'Dandenong', - 6139702 => 'Dandenong', - 6139703 => 'Dandenong', - 6139704 => 'Dandenong', - 6139705 => 'Dandenong', - 6139706 => 'Dandenong', - 6139707 => 'Dandenong', - 6139708 => 'Dandenong', - 6139709 => 'Dandenong', - 6139710 => 'Whittlesea', + 61396 => 'Melbourne', + 613970 => 'Dandenong', + 613971 => 'Whittlesea', 6139711 => 'Dandenong', - 6139712 => 'Whittlesea', 6139713 => 'Dandenong', - 6139714 => 'Whittlesea', - 6139715 => 'Whittlesea', - 6139716 => 'Whittlesea', - 6139717 => 'Whittlesea', - 6139718 => 'Whittlesea', - 6139719 => 'Whittlesea', - 6139720 => 'Croydon', - 6139721 => 'Croydon', - 6139722 => 'Croydon', - 6139723 => 'Croydon', - 6139724 => 'Croydon', - 6139725 => 'Croydon', - 6139726 => 'Croydon', - 6139727 => 'Croydon', - 6139728 => 'Croydon', - 6139729 => 'Croydon', - 6139730 => 'Croydon', + 613972 => 'Croydon', + 613973 => 'Croydon', 6139731 => 'Werribee', 6139732 => 'Sunbury', - 6139733 => 'Croydon', 6139734 => 'Werribee', - 6139735 => 'Croydon', - 6139736 => 'Croydon', - 6139737 => 'Croydon', - 6139738 => 'Croydon', - 6139739 => 'Croydon', 6139740 => 'Sunbury', 6139741 => 'Werribee', 6139742 => 'Werribee', @@ -26051,253 +22120,63 @@ return array ( 6139747 => 'Sunbury', 6139748 => 'Werribee', 6139749 => 'Werribee', + 613975 => 'Croydon', 6139750 => 'Dandenong', - 6139751 => 'Croydon', - 6139752 => 'Croydon', - 6139753 => 'Croydon', - 6139754 => 'Croydon', - 6139755 => 'Croydon', - 6139756 => 'Croydon', - 6139757 => 'Croydon', - 6139758 => 'Croydon', - 6139759 => 'Croydon', - 6139760 => 'Croydon', - 6139761 => 'Croydon', - 6139762 => 'Croydon', - 6139763 => 'Croydon', - 6139764 => 'Croydon', - 6139765 => 'Croydon', + 613976 => 'Croydon', 6139766 => 'Dandenong', 6139767 => 'Dandenong', 6139768 => 'Dandenong', 6139769 => 'Dandenong', - 6139770 => 'Dandenong', - 6139771 => 'Dandenong', - 6139772 => 'Dandenong', - 6139773 => 'Dandenong', - 6139774 => 'Dandenong', - 6139775 => 'Dandenong', - 6139776 => 'Dandenong', + 613977 => 'Dandenong', 6139777 => 'Croydon', 6139778 => 'Croydon', 6139779 => 'Croydon', + 613978 => 'Dandenong', 6139780 => 'Croydon', - 6139781 => 'Dandenong', - 6139782 => 'Dandenong', - 6139783 => 'Dandenong', - 6139784 => 'Dandenong', - 6139785 => 'Dandenong', - 6139786 => 'Dandenong', - 6139787 => 'Dandenong', - 6139788 => 'Dandenong', - 6139789 => 'Dandenong', - 6139790 => 'Dandenong', - 6139791 => 'Dandenong', - 6139792 => 'Dandenong', - 6139793 => 'Dandenong', - 6139794 => 'Dandenong', - 6139795 => 'Dandenong', - 6139796 => 'Dandenong', - 6139797 => 'Dandenong', - 6139798 => 'Dandenong', - 6139799 => 'Dandenong', + 613979 => 'Dandenong', + 61398 => 'Melbourne', 6139800 => 'Ringwood', 6139801 => 'Ringwood', 6139802 => 'Ringwood', 6139803 => 'Ringwood', - 6139804 => 'Melbourne', - 6139805 => 'Melbourne', - 6139806 => 'Melbourne', - 6139807 => 'Melbourne', - 6139808 => 'Melbourne', - 6139809 => 'Melbourne', - 6139810 => 'Melbourne', - 6139811 => 'Melbourne', 6139812 => 'Ringwood', - 6139813 => 'Melbourne', 6139814 => 'Ringwood', - 6139815 => 'Melbourne', - 6139816 => 'Melbourne', - 6139817 => 'Melbourne', - 6139818 => 'Melbourne', - 6139819 => 'Melbourne', - 6139820 => 'Melbourne', - 6139821 => 'Melbourne', - 6139822 => 'Melbourne', - 6139823 => 'Melbourne', - 6139824 => 'Melbourne', - 6139825 => 'Melbourne', - 6139826 => 'Melbourne', - 6139827 => 'Melbourne', - 6139828 => 'Melbourne', - 6139829 => 'Melbourne', - 6139830 => 'Melbourne', - 6139831 => 'Melbourne', - 6139832 => 'Melbourne', - 6139833 => 'Melbourne', - 6139834 => 'Melbourne', - 6139835 => 'Melbourne', - 6139836 => 'Melbourne', 6139837 => 'Ringwood', - 6139838 => 'Melbourne', 6139839 => 'Croydon', - 6139840 => 'Melbourne', - 61398410 => 'Ringwood', - 61398411 => 'Melbourne', - 61398412 => 'Ringwood', - 61398413 => 'Ringwood', - 61398414 => 'Ringwood', - 61398415 => 'Ringwood', - 61398416 => 'Ringwood', - 61398417 => 'Ringwood', - 61398418 => 'Ringwood', - 61398419 => 'Ringwood', - 6139842 => 'Ringwood', - 6139843 => 'Melbourne', - 6139844 => 'Ringwood', - 6139845 => 'Ringwood', - 61398460 => 'Melbourne', - 61398461 => 'Ringwood', - 61398462 => 'Ringwood', - 61398463 => 'Ringwood', - 61398464 => 'Ringwood', - 61398465 => 'Ringwood', - 61398466 => 'Ringwood', - 61398467 => 'Ringwood', - 61398468 => 'Ringwood', - 61398469 => 'Ringwood', - 6139847 => 'Ringwood', - 6139848 => 'Melbourne', - 6139849 => 'Melbourne', - 6139850 => 'Melbourne', - 6139851 => 'Melbourne', - 6139852 => 'Melbourne', - 6139853 => 'Melbourne', - 6139854 => 'Melbourne', - 6139855 => 'Melbourne', - 6139856 => 'Melbourne', - 6139857 => 'Melbourne', - 6139858 => 'Melbourne', - 6139859 => 'Melbourne', - 6139860 => 'Melbourne', - 6139861 => 'Melbourne', - 6139862 => 'Melbourne', - 6139863 => 'Melbourne', - 6139864 => 'Melbourne', - 6139865 => 'Melbourne', - 6139866 => 'Melbourne', - 6139867 => 'Melbourne', - 6139868 => 'Melbourne', - 6139869 => 'Melbourne', - 6139870 => 'Ringwood', - 6139871 => 'Ringwood', - 6139872 => 'Ringwood', - 6139873 => 'Ringwood', - 6139874 => 'Ringwood', - 6139875 => 'Melbourne', - 6139876 => 'Ringwood', - 6139877 => 'Ringwood', - 6139878 => 'Ringwood', - 6139879 => 'Ringwood', - 6139880 => 'Melbourne', + 613984 => 'Ringwood', + 613987 => 'Ringwood', 61398810 => 'Ringwood', - 61398811 => 'Melbourne', - 61398812 => 'Melbourne', - 61398813 => 'Melbourne', - 61398814 => 'Melbourne', - 61398815 => 'Melbourne', - 61398816 => 'Melbourne', 61398817 => 'Ringwood', - 61398818 => 'Melbourne', 61398819 => 'Ringwood', - 6139882 => 'Melbourne', - 6139883 => 'Melbourne', 6139884 => 'Ringwood', - 6139885 => 'Melbourne', - 61398860 => 'Melbourne', - 61398861 => 'Ringwood', - 61398862 => 'Ringwood', - 61398863 => 'Ringwood', - 61398864 => 'Ringwood', - 61398865 => 'Ringwood', - 61398866 => 'Ringwood', - 61398867 => 'Ringwood', - 61398868 => 'Ringwood', - 61398869 => 'Melbourne', + 6139886 => 'Ringwood', 6139887 => 'Ringwood', - 6139888 => 'Melbourne', - 6139889 => 'Melbourne', - 6139890 => 'Melbourne', - 6139891 => 'Melbourne', - 6139892 => 'Melbourne', 6139893 => 'Ringwood', 6139894 => 'Ringwood', - 6139895 => 'Melbourne', - 6139896 => 'Melbourne', - 6139897 => 'Melbourne', - 6139898 => 'Melbourne', - 6139899 => 'Melbourne', - 6139900 => 'Melbourne', - 6139901 => 'Melbourne', + 613990 => 'Melbourne', 6139902 => 'Clayton', - 6139903 => 'Melbourne', 6139904 => 'Dandenong', 6139905 => 'Clayton', - 6139906 => 'Melbourne', - 6139907 => 'Melbourne', - 6139908 => 'Melbourne', - 6139909 => 'Melbourne', 6139910 => 'Melbourne', 6139911 => 'Melbourne', 6139912 => 'Melbourne', 6139913 => 'Melbourne', 6139914 => 'Melbourne', + 6139915 => 'Melbourne', 61399150 => 'Melbourne/Clayton/Melbourne', 61399151 => 'Melbourne/Croydon/Melbourne', - 61399152 => 'Melbourne', - 61399153 => 'Melbourne', - 61399154 => 'Melbourne', 61399155 => 'Melbourne/Clayton/Melbourne', 61399156 => 'Melbourne/Ringwood/Melbourne', - 61399157 => 'Melbourne', - 61399158 => 'Melbourne', - 61399159 => 'Melbourne', 6139916 => 'Melbourne', 61399170 => 'Melbourne', 61399171 => 'Melbourne', 61399172 => 'Melbourne', 6139918 => 'Melbourne', 6139919 => 'Melbourne', - 6139920 => 'Melbourne', - 6139921 => 'Melbourne', - 6139922 => 'Melbourne', - 6139923 => 'Melbourne', - 6139924 => 'Melbourne', - 6139925 => 'Melbourne', - 6139926 => 'Melbourne', - 6139927 => 'Melbourne', - 6139928 => 'Melbourne', - 6139929 => 'Melbourne', + 613992 => 'Melbourne', + 613993 => 'Melbourne', 6139930 => 'Craigieburn', - 6139931 => 'Melbourne', - 6139932 => 'Melbourne', - 6139933 => 'Melbourne', - 6139934 => 'Melbourne', - 6139935 => 'Melbourne', - 6139936 => 'Melbourne', - 6139937 => 'Melbourne', - 6139938 => 'Melbourne', - 6139939 => 'Melbourne', - 6139940 => 'Melbourne', - 6139941 => 'Melbourne', - 6139942 => 'Melbourne', - 6139943 => 'Melbourne', - 6139944 => 'Melbourne', - 6139945 => 'Melbourne', - 6139946 => 'Melbourne', - 6139947 => 'Melbourne', - 6139948 => 'Melbourne', - 6139949 => 'Melbourne', + 613994 => 'Melbourne', 6139950 => 'Melbourne', 6139951 => 'Melbourne', 6139952 => 'Melbourne', @@ -26307,16 +22186,8 @@ return array ( 6139956 => 'Melbourne', 6139963 => 'Melbourne', 6139971 => 'Sunbury', + 6139972 => 'Melbourne', 61399720 => 'Sydenham', - 61399721 => 'Melbourne', - 61399722 => 'Melbourne', - 61399723 => 'Melbourne', - 61399724 => 'Melbourne', - 61399725 => 'Melbourne', - 61399726 => 'Melbourne', - 61399727 => 'Melbourne', - 61399728 => 'Melbourne', - 61399729 => 'Melbourne', 6139973 => 'Melbourne', 6139974 => 'Werribee', 6139975 => 'Melbourne', @@ -26333,16 +22204,9 @@ return array ( 6139988 => 'Melbourne', 6139989 => 'Melbourne', 6139993 => 'Melbourne', + 6139994 => 'Melbourne', 61399940 => 'Point Cook', 61399941 => 'Craigieburn', - 61399942 => 'Melbourne', - 61399943 => 'Melbourne', - 61399944 => 'Melbourne', - 61399945 => 'Melbourne', - 61399946 => 'Melbourne', - 61399947 => 'Melbourne', - 61399948 => 'Melbourne', - 61399949 => 'Melbourne', 6139995 => 'Melbourne', 61399960 => 'Melbourne', 61399961 => 'Melbourne', @@ -26373,60 +22237,18 @@ return array ( 61728014 => 'Ipswich', 6172889 => 'Beenleigh', 6172891 => 'Beenleigh', - 6173000 => 'Brisbane', - 6173001 => 'Brisbane', - 6173002 => 'Brisbane', - 6173003 => 'Brisbane', - 6173004 => 'Brisbane', - 6173005 => 'Brisbane', - 6173006 => 'Brisbane', - 6173007 => 'Brisbane', - 6173008 => 'Brisbane', - 6173009 => 'Brisbane', - 6173010 => 'Brisbane', - 6173011 => 'Brisbane', - 6173012 => 'Brisbane', - 6173013 => 'Brisbane', - 6173014 => 'Brisbane', - 6173015 => 'Brisbane', - 6173016 => 'Brisbane', - 6173017 => 'Brisbane', - 6173018 => 'Brisbane', - 6173019 => 'Brisbane', - 6173020 => 'Brisbane', - 6173021 => 'Brisbane', - 6173022 => 'Brisbane', - 6173023 => 'Brisbane', - 6173024 => 'Brisbane', - 6173025 => 'Brisbane', - 6173026 => 'Brisbane', - 6173027 => 'Brisbane', - 6173028 => 'Brisbane', - 6173029 => 'Brisbane', - 6173030 => 'Brisbane', - 6173031 => 'Brisbane', - 6173032 => 'Brisbane', - 6173033 => 'Brisbane', - 6173034 => 'Brisbane', - 6173035 => 'Brisbane', - 6173036 => 'Brisbane', - 6173037 => 'Brisbane', + 617300 => 'Brisbane', + 617301 => 'Brisbane', + 617302 => 'Brisbane', + 617303 => 'Brisbane', 61730380 => 'Samford', 61730381 => 'Cleveland', 61730382 => 'Beenleigh', - 61730383 => 'Brisbane', - 61730384 => 'Brisbane', 61730385 => 'Beenleigh', 61730386 => 'Cleveland', 61730387 => 'Ipswich', 61730388 => 'Redcliffe', 61730389 => 'Samford', - 61730390 => 'Brisbane', - 61730391 => 'Brisbane', - 61730392 => 'Brisbane', - 61730393 => 'Brisbane', - 61730394 => 'Brisbane', - 61730395 => 'Brisbane', 61730396 => 'Ipswich', 61730397 => 'Ipswich', 61730398 => 'Redcliffe', @@ -26441,6 +22263,7 @@ return array ( 6173047 => 'Cleveland', 6173048 => 'Redcliffe', 6173049 => 'Redcliffe', + 617305 => 'Brisbane', 61730500 => 'Beenleigh', 61730501 => 'Redcliffe', 61730502 => 'Ipswich', @@ -26451,34 +22274,22 @@ return array ( 61730507 => 'Ipswich', 61730508 => 'Cleveland', 61730509 => 'Cleveland', - 6173051 => 'Brisbane', - 6173052 => 'Brisbane', 61730530 => 'Cleveland', 61730531 => 'Cleveland', 61730532 => 'Cleveland', 61730533 => 'Redcliffe', 61730534 => 'Beenleigh', - 61730535 => 'Brisbane', 61730536 => 'Ipswich', 61730537 => 'Cleveland', - 61730538 => 'Brisbane', 61730539 => 'Beenleigh', - 6173054 => 'Brisbane', - 6173055 => 'Brisbane', - 6173056 => 'Brisbane', - 6173057 => 'Brisbane', - 6173058 => 'Brisbane', 61730590 => 'Beenleigh', 61730591 => 'Beenleigh', 61730592 => 'Beenleigh', 61730593 => 'Redcliffe', 61730594 => 'Samford', 61730595 => 'Beenleigh', - 61730596 => 'Brisbane', 61730597 => 'Ipswich', - 61730598 => 'Brisbane', - 61730599 => 'Brisbane', - 61730600 => 'Brisbane', + 617306 => 'Brisbane', 61730601 => 'Samford', 61730602 => 'Redcliffe', 61730603 => 'Cleveland', @@ -26490,20 +22301,7 @@ return array ( 61730609 => 'Ipswich', 61730610 => 'Redcliffe', 61730611 => 'Samford', - 61730612 => 'Brisbane', - 61730613 => 'Brisbane', - 61730614 => 'Brisbane', - 61730615 => 'Brisbane', - 61730616 => 'Brisbane', - 61730617 => 'Brisbane', - 61730618 => 'Brisbane', - 61730619 => 'Brisbane', - 6173062 => 'Brisbane', - 6173063 => 'Brisbane', - 61730640 => 'Brisbane', - 61730641 => 'Brisbane', 61730642 => 'Bribie Island', - 61730643 => 'Brisbane', 61730644 => 'Dayboro', 61730645 => 'Dunwich', 61730646 => 'Kooringal', @@ -26511,7 +22309,6 @@ return array ( 61730648 => 'Russell Island', 61730649 => 'Samford', 61730650 => 'Bribie Island', - 61730651 => 'Brisbane', 61730652 => 'Dayboro', 61730653 => 'Dunwich', 61730654 => 'Kooringal', @@ -26519,75 +22316,21 @@ return array ( 61730656 => 'Russell Island', 61730657 => 'Samford', 61730658 => 'Bribie Island', - 61730659 => 'Brisbane', - 6173066 => 'Brisbane', - 6173067 => 'Brisbane', - 6173068 => 'Brisbane', - 6173069 => 'Brisbane', - 6173070 => 'Brisbane', - 6173071 => 'Brisbane', - 6173072 => 'Brisbane', - 6173073 => 'Brisbane', - 6173074 => 'Brisbane', - 6173075 => 'Brisbane', - 6173076 => 'Brisbane', - 61730770 => 'Brisbane', - 61730771 => 'Brisbane', - 61730772 => 'Brisbane', - 61730773 => 'Brisbane', - 61730774 => 'Brisbane', + 617307 => 'Brisbane', 61730775 => 'Dayboro', - 61730776 => 'Brisbane', - 61730777 => 'Brisbane', - 61730778 => 'Brisbane', - 61730779 => 'Brisbane', 6173078 => 'Beenleigh', - 6173079 => 'Brisbane', + 617308 => 'Brisbane', + 6173080 => 'Beenleigh', 61730800 => 'Dunwich', 61730801 => 'Kooringal', - 61730802 => 'Beenleigh', - 61730803 => 'Beenleigh', - 61730804 => 'Beenleigh', - 61730805 => 'Beenleigh', - 61730806 => 'Beenleigh', - 61730807 => 'Beenleigh', - 61730808 => 'Beenleigh', - 61730809 => 'Beenleigh', + 6173081 => 'Beenleigh', 61730810 => 'Russell Island', 61730811 => 'Bribie Island', - 61730812 => 'Beenleigh', - 61730813 => 'Beenleigh', - 61730814 => 'Beenleigh', - 61730815 => 'Beenleigh', - 61730816 => 'Beenleigh', - 61730817 => 'Beenleigh', - 61730818 => 'Beenleigh', 61730819 => 'Bribie Island', - 6173082 => 'Brisbane', - 6173083 => 'Brisbane', - 6173084 => 'Brisbane', - 6173085 => 'Brisbane', + 6173086 => 'Beenleigh', 61730860 => 'Cleveland', 61730861 => 'Cleveland', - 61730862 => 'Brisbane', - 61730863 => 'Beenleigh', - 61730864 => 'Beenleigh', - 61730865 => 'Beenleigh', - 61730866 => 'Beenleigh', - 61730867 => 'Beenleigh', - 61730868 => 'Beenleigh', - 61730869 => 'Beenleigh', - 6173087 => 'Brisbane', 61730880 => 'Dayboro', - 61730881 => 'Brisbane', - 61730882 => 'Brisbane', - 61730883 => 'Brisbane', - 61730884 => 'Brisbane', - 61730885 => 'Brisbane', - 61730886 => 'Brisbane', - 61730887 => 'Brisbane', - 61730888 => 'Brisbane', - 61730889 => 'Brisbane', 6173089 => 'Beenleigh', 6173090 => 'Beenleigh', 6173091 => 'Ipswich', @@ -26620,65 +22363,19 @@ return array ( 6173097 => 'Brisbane', 6173098 => 'Ipswich', 6173099 => 'Brisbane', - 6173100 => 'Brisbane', - 6173101 => 'Brisbane', - 6173102 => 'Brisbane', - 6173103 => 'Brisbane', - 6173104 => 'Brisbane', - 6173105 => 'Brisbane', - 6173106 => 'Brisbane', - 6173107 => 'Brisbane', - 6173108 => 'Brisbane', - 6173109 => 'Brisbane', - 6173110 => 'Brisbane', - 6173111 => 'Brisbane', - 6173112 => 'Brisbane', - 61731130 => 'Brisbane', + 617310 => 'Brisbane', + 617311 => 'Brisbane', 61731131 => 'Sandgate', 61731132 => 'Sandgate', - 61731133 => 'Brisbane', - 61731134 => 'Brisbane', - 61731135 => 'Brisbane', - 61731136 => 'Brisbane', - 61731137 => 'Brisbane', - 61731138 => 'Brisbane', - 61731139 => 'Brisbane', - 6173114 => 'Brisbane', - 6173115 => 'Brisbane', - 6173116 => 'Brisbane', - 6173117 => 'Brisbane', - 6173118 => 'Brisbane', - 6173119 => 'Brisbane', - 6173120 => 'Brisbane', - 6173121 => 'Brisbane', - 6173122 => 'Brisbane', - 6173123 => 'Brisbane', - 6173124 => 'Brisbane', - 6173125 => 'Brisbane', - 6173126 => 'Brisbane', - 6173127 => 'Brisbane', - 6173128 => 'Brisbane', - 6173129 => 'Brisbane', - 6173130 => 'Brisbane', - 6173131 => 'Brisbane', - 6173132 => 'Brisbane', + 617312 => 'Brisbane', + 617313 => 'Brisbane', 6173133 => 'Beenleigh', 6173134 => 'Cleveland', - 6173135 => 'Brisbane', - 6173136 => 'Brisbane', - 6173137 => 'Brisbane', - 6173138 => 'Brisbane', - 6173139 => 'Brisbane', + 617314 => 'Brisbane', 6173140 => 'Sandgate', 6173141 => 'Samford', 6173142 => 'Redcliffe', 6173143 => 'Ipswich', - 6173144 => 'Brisbane', - 6173145 => 'Brisbane', - 6173146 => 'Brisbane', - 6173147 => 'Brisbane', - 6173148 => 'Brisbane', - 6173149 => 'Brisbane', 61731500 => 'Brisbane', 61731501 => 'Brisbane', 61731502 => 'Sandgate', @@ -26689,16 +22386,8 @@ return array ( 61731508 => 'Brisbane', 61731509 => 'Brisbane', 6173151 => 'Brisbane', - 61731520 => 'Brisbane', - 61731521 => 'Brisbane', + 6173152 => 'Brisbane', 61731522 => 'Ipswich', - 61731523 => 'Brisbane', - 61731524 => 'Brisbane', - 61731525 => 'Brisbane', - 61731526 => 'Brisbane', - 61731527 => 'Brisbane', - 61731528 => 'Brisbane', - 61731529 => 'Brisbane', 6173153 => 'Brisbane', 6173154 => 'Brisbane', 61731550 => 'Brisbane', @@ -26714,16 +22403,7 @@ return array ( 61731597 => 'Brisbane', 61731598 => 'Brisbane', 61731599 => 'Brisbane', - 6173160 => 'Brisbane', - 6173161 => 'Brisbane', - 6173162 => 'Brisbane', - 6173163 => 'Brisbane', - 6173164 => 'Brisbane', - 6173165 => 'Brisbane', - 6173166 => 'Brisbane', - 6173167 => 'Brisbane', - 6173168 => 'Brisbane', - 6173169 => 'Brisbane', + 617316 => 'Brisbane', 6173170 => 'Brisbane', 6173171 => 'Brisbane', 6173172 => 'Brisbane', @@ -26748,16 +22428,8 @@ return array ( 61731879 => 'Brisbane', 6173188 => 'Brisbane', 6173189 => 'Brisbane', - 6173190 => 'Brisbane', - 6173191 => 'Brisbane', - 6173192 => 'Brisbane', - 6173193 => 'Brisbane', - 6173194 => 'Brisbane', - 6173195 => 'Brisbane', - 6173196 => 'Brisbane', - 6173197 => 'Brisbane', - 6173198 => 'Brisbane', - 6173199 => 'Brisbane', + 617319 => 'Brisbane', + 61732 => 'Brisbane', 6173200 => 'Beenleigh', 6173201 => 'Ipswich', 6173202 => 'Ipswich', @@ -26768,76 +22440,8 @@ return array ( 6173207 => 'Cleveland', 6173208 => 'Beenleigh', 6173209 => 'Beenleigh', - 6173210 => 'Brisbane', - 6173211 => 'Brisbane', - 6173212 => 'Brisbane', - 6173213 => 'Brisbane', - 6173214 => 'Brisbane', - 6173215 => 'Brisbane', - 6173216 => 'Brisbane', - 6173217 => 'Brisbane', - 6173218 => 'Brisbane', - 6173219 => 'Brisbane', - 6173220 => 'Brisbane', - 6173221 => 'Brisbane', - 6173222 => 'Brisbane', - 6173223 => 'Brisbane', - 6173224 => 'Brisbane', - 6173225 => 'Brisbane', - 6173226 => 'Brisbane', - 6173227 => 'Brisbane', - 6173228 => 'Brisbane', - 6173229 => 'Brisbane', - 6173230 => 'Brisbane', - 6173231 => 'Brisbane', - 6173232 => 'Brisbane', - 6173233 => 'Brisbane', - 6173234 => 'Brisbane', - 6173235 => 'Brisbane', - 6173236 => 'Brisbane', - 6173237 => 'Brisbane', - 6173238 => 'Brisbane', - 6173239 => 'Brisbane', - 6173240 => 'Brisbane', - 6173241 => 'Brisbane', - 6173242 => 'Brisbane', - 6173243 => 'Brisbane', - 6173244 => 'Brisbane', - 6173245 => 'Brisbane', - 6173246 => 'Brisbane', - 6173247 => 'Brisbane', - 6173248 => 'Brisbane', - 6173249 => 'Brisbane', - 6173250 => 'Brisbane', - 6173251 => 'Brisbane', - 6173252 => 'Brisbane', - 6173253 => 'Brisbane', - 6173254 => 'Brisbane', - 6173255 => 'Brisbane', - 6173256 => 'Brisbane', - 6173257 => 'Brisbane', - 6173258 => 'Brisbane', - 6173259 => 'Brisbane', - 6173260 => 'Brisbane', 6173261 => 'Sandgate', - 6173262 => 'Brisbane', - 6173263 => 'Brisbane', - 6173264 => 'Brisbane', - 6173265 => 'Brisbane', - 6173266 => 'Brisbane', - 6173267 => 'Brisbane', - 6173268 => 'Brisbane', 6173269 => 'Sandgate', - 6173270 => 'Brisbane', - 6173271 => 'Brisbane', - 6173272 => 'Brisbane', - 6173273 => 'Brisbane', - 6173274 => 'Brisbane', - 6173275 => 'Brisbane', - 6173276 => 'Brisbane', - 6173277 => 'Brisbane', - 6173278 => 'Brisbane', - 6173279 => 'Brisbane', 6173280 => 'Ipswich', 6173281 => 'Ipswich', 6173282 => 'Ipswich', @@ -26849,23 +22453,12 @@ return array ( 6173288 => 'Ipswich', 6173289 => 'Samford', 6173290 => 'Beenleigh', - 6173291 => 'Brisbane', - 6173292 => 'Brisbane', 6173293 => 'Redcliffe', 6173294 => 'Ipswich', - 6173295 => 'Brisbane', - 6173296 => 'Brisbane', 6173297 => 'Beenleigh', 6173298 => 'Samford', 6173299 => 'Beenleigh', - 617330 => 'Brisbane', - 617331 => 'Brisbane', - 617332 => 'Brisbane', - 617333 => 'Brisbane', - 617334 => 'Brisbane', - 617335 => 'Brisbane', - 617336 => 'Brisbane', - 617337 => 'Brisbane', + 61733 => 'Brisbane', 6173380 => 'Beenleigh', 6173381 => 'Ipswich', 6173382 => 'Beenleigh', @@ -26875,17 +22468,9 @@ return array ( 6173386 => 'Beenleigh', 6173387 => 'Beenleigh', 6173388 => 'Beenleigh', - 61733890 => 'Ipswich', - 61733891 => 'Ipswich', - 61733892 => 'Ipswich', - 61733893 => 'Ipswich', - 61733894 => 'Ipswich', - 61733895 => 'Ipswich', - 61733896 => 'Ipswich', - 61733897 => 'Ipswich', + 6173389 => 'Ipswich', 61733898 => 'Beenleigh', 61733899 => 'Beenleigh', - 617339 => 'Brisbane', 61734000 => 'Kooringal', 61734001 => 'Kooringal', 61734002 => 'Kooringal', @@ -26933,16 +22518,11 @@ return array ( 6173417 => 'Cleveland', 6173418 => 'Ipswich', 6173419 => 'Redcliffe', - 6173420 => 'Brisbane', - 6173421 => 'Brisbane', - 6173422 => 'Brisbane', - 6173423 => 'Brisbane', + 617342 => 'Brisbane', 6173424 => 'Ipswich', 6173425 => 'Dayboro', - 6173426 => 'Brisbane', 6173427 => 'Beenleigh', 6173428 => 'Ipswich', - 6173429 => 'Brisbane', 6173430 => 'Samford', 6173431 => 'Samford', 6173432 => 'Ipswich', @@ -27241,15 +22821,8 @@ return array ( 6173623 => 'Brisbane', 6173624 => 'Brisbane', 6173625 => 'Brisbane', - 6173630 => 'Brisbane', + 617363 => 'Brisbane', 6173631 => 'Sandgate', - 6173632 => 'Brisbane', - 6173633 => 'Brisbane', - 6173634 => 'Brisbane', - 6173635 => 'Brisbane', - 6173636 => 'Brisbane', - 6173637 => 'Brisbane', - 6173638 => 'Brisbane', 6173639 => 'Sandgate', 61736404 => 'Brisbane', 61736405 => 'Brisbane', @@ -27314,65 +22887,23 @@ return array ( 6173738 => 'Brisbane', 6173777 => 'Brisbane', 61737788 => 'Brisbane', + 61738 => 'Brisbane', 617380 => 'Beenleigh', - 6173810 => 'Ipswich', - 6173811 => 'Brisbane', - 6173812 => 'Ipswich', - 6173813 => 'Ipswich', - 6173814 => 'Ipswich', - 6173815 => 'Brisbane', - 6173816 => 'Ipswich', - 61738170 => 'Ipswich', - 61738171 => 'Ipswich', - 61738172 => 'Ipswich', - 61738173 => 'Ipswich', - 61738174 => 'Ipswich', + 617381 => 'Ipswich', 61738175 => 'Redcliffe', 61738176 => 'Redcliffe', 61738177 => 'Redcliffe', 61738178 => 'Redcliffe', 61738179 => 'Redcliffe', - 6173818 => 'Ipswich', - 6173819 => 'Ipswich', - 6173820 => 'Cleveland', - 6173821 => 'Cleveland', - 6173822 => 'Cleveland', - 6173823 => 'Brisbane', - 6173824 => 'Cleveland', - 6173825 => 'Cleveland', - 61738260 => 'Beenleigh', - 61738261 => 'Beenleigh', - 61738262 => 'Beenleigh', - 61738263 => 'Beenleigh', - 61738264 => 'Beenleigh', - 61738265 => 'Beenleigh', - 61738266 => 'Cleveland', - 61738267 => 'Cleveland', - 61738268 => 'Cleveland', - 61738269 => 'Cleveland', - 61738270 => 'Cleveland', - 61738271 => 'Cleveland', - 61738272 => 'Cleveland', - 61738273 => 'Cleveland', - 61738274 => 'Cleveland', + 617382 => 'Cleveland', + 6173826 => 'Beenleigh', 61738275 => 'Beenleigh', 61738276 => 'Beenleigh', 61738277 => 'Beenleigh', 61738278 => 'Beenleigh', 61738279 => 'Beenleigh', - 6173828 => 'Brisbane', - 6173829 => 'Cleveland', - 617383 => 'Brisbane', - 617384 => 'Brisbane', - 617385 => 'Brisbane', - 617386 => 'Brisbane', - 617387 => 'Brisbane', - 6173880 => 'Redcliffe', - 6173881 => 'Redcliffe', - 6173882 => 'Redcliffe', - 6173883 => 'Redcliffe', + 617388 => 'Redcliffe', 61738840 => 'Samford', - 61738841 => 'Redcliffe', 61738842 => 'Beenleigh', 61738843 => 'Cleveland', 61738844 => 'Cleveland', @@ -27381,30 +22912,9 @@ return array ( 61738847 => 'Beenleigh', 61738848 => 'Beenleigh', 61738849 => 'Beenleigh', - 6173885 => 'Redcliffe', - 6173886 => 'Redcliffe', - 6173887 => 'Brisbane', - 6173888 => 'Redcliffe', - 6173889 => 'Redcliffe', - 6173890 => 'Brisbane', - 6173891 => 'Brisbane', - 6173892 => 'Brisbane', - 6173893 => 'Brisbane', 6173894 => 'Ipswich', - 6173895 => 'Brisbane', - 6173896 => 'Brisbane', - 61738970 => 'Redcliffe', - 61738971 => 'Redcliffe', - 61738972 => 'Redcliffe', - 61738973 => 'Redcliffe', - 61738974 => 'Redcliffe', - 61738975 => 'Redcliffe', - 61738976 => 'Redcliffe', - 61738977 => 'Redcliffe', - 61738978 => 'Redcliffe', + 6173897 => 'Redcliffe', 61738979 => 'Samford', - 6173898 => 'Brisbane', - 6173899 => 'Brisbane', 617390 => 'Brisbane', 6173910 => 'Brisbane', 61739110 => 'Brisbane', @@ -27713,37 +23223,16 @@ return array ( 61740297 => 'Georgetown', 61740298 => 'Gordonvale', 61740299 => 'Herberton', - 61740300 => 'Cairns', - 61740301 => 'Cairns', + 617403 => 'Cairns', 61740302 => 'Innisfail', 61740303 => 'Mareeba', 61740304 => 'Mossman', 61740305 => 'Atherton', 61740306 => 'Thursday Island', - 61740307 => 'Cairns', - 61740308 => 'Cairns', 61740309 => 'Weipa', - 6174031 => 'Cairns', - 6174032 => 'Cairns', - 6174033 => 'Cairns', - 6174034 => 'Cairns', - 6174035 => 'Cairns', - 6174036 => 'Cairns', - 6174037 => 'Cairns', - 6174038 => 'Cairns', - 61740390 => 'Cairns', - 61740391 => 'Cairns', - 61740392 => 'Cairns', - 61740393 => 'Cairns', - 61740394 => 'Cairns', - 61740395 => 'Cairns', 61740396 => 'Aurukun', 61740397 => 'Babinda', - 61740398 => 'Cairns', - 61740399 => 'Cairns', - 6174040 => 'Cairns', - 6174041 => 'Cairns', - 6174042 => 'Cairns', + 617404 => 'Cairns', 61740430 => 'Cooktown', 61740431 => 'Peninsula', 61740432 => 'Babinda', @@ -27754,76 +23243,26 @@ return array ( 61740437 => 'Bloomfield', 61740438 => 'Innisfail', 61740439 => 'Tully', - 6174044 => 'Cairns', - 6174045 => 'Cairns', - 6174046 => 'Cairns', - 61740470 => 'Cairns', 61740471 => 'Chillagoe', 61740472 => 'Coen', 61740473 => 'Cooktown', - 61740474 => 'Cairns', - 61740475 => 'Cairns', - 61740476 => 'Cairns', - 61740477 => 'Cairns', - 61740478 => 'Cairns', - 61740479 => 'Cairns', - 61740480 => 'Cairns', - 61740481 => 'Cairns', - 61740482 => 'Cairns', 61740483 => 'Innisfail', 61740484 => 'Mareeba', 61740485 => 'Tully', 61740486 => 'Thursday Island', - 61740487 => 'Cairns', - 61740488 => 'Cairns', - 61740489 => 'Cairns', - 61740490 => 'Cairns', - 61740491 => 'Cairns', - 61740492 => 'Cairns', - 61740493 => 'Cairns', 61740494 => 'Thursday Island', 61740495 => 'Torres', 61740496 => 'Tully', 61740497 => 'Walsh River', 61740498 => 'Weipa', 61740499 => 'Weipa', - 6174050 => 'Cairns', - 6174051 => 'Cairns', - 6174052 => 'Cairns', - 6174053 => 'Cairns', - 6174054 => 'Cairns', - 6174055 => 'Cairns', - 61740560 => 'Cairns', - 61740561 => 'Gordonvale', - 61740562 => 'Gordonvale', - 61740563 => 'Gordonvale', - 61740564 => 'Gordonvale', - 61740565 => 'Gordonvale', - 61740566 => 'Gordonvale', - 61740567 => 'Cairns', - 61740568 => 'Cairns', - 61740569 => 'Cairns', - 6174057 => 'Cairns', - 61740580 => 'Cairns', - 61740581 => 'Cairns', - 61740582 => 'Cairns', - 61740583 => 'Cairns', - 61740584 => 'Cairns', - 61740585 => 'Cairns', + 617405 => 'Cairns', + 6174056 => 'Gordonvale', 61740586 => 'Daintree', 61740587 => 'Dimbulah', 61740588 => 'Edward River', - 61740589 => 'Cairns', - 61740590 => 'Cairns', - 61740591 => 'Cairns', - 61740592 => 'Cairns', - 61740593 => 'Cairns', - 61740594 => 'Cairns', - 61740595 => 'Cairns', 61740596 => 'Etheridge', 61740597 => 'Euramo', - 61740598 => 'Cairns', - 61740599 => 'Cairns', 61740600 => 'Lakeland', 61740601 => 'Coen', 61740602 => 'Peninsula', @@ -27845,36 +23284,15 @@ return array ( 61740627 => 'Etheridge', 61740628 => 'Kidston', 61740629 => 'Mount Surprise', - 61740630 => 'Innisfail', - 61740631 => 'Innisfail', - 61740632 => 'Innisfail', - 61740633 => 'Innisfail', - 61740634 => 'Innisfail', - 61740635 => 'Innisfail', + 6174063 => 'Innisfail', 61740636 => 'Euramo', 61740637 => 'Euramo', 61740638 => 'Georgetown', 61740639 => 'Gordonvale', - 61740640 => 'South Johnstone', - 61740641 => 'South Johnstone', - 61740642 => 'South Johnstone', - 61740643 => 'South Johnstone', - 61740644 => 'South Johnstone', - 61740645 => 'South Johnstone', - 61740646 => 'South Johnstone', - 61740647 => 'South Johnstone', - 61740648 => 'South Johnstone', + 6174064 => 'South Johnstone', 61740649 => 'Herberton', - 61740650 => 'Silkwood', - 61740651 => 'Silkwood', - 61740652 => 'Silkwood', - 61740653 => 'Silkwood', - 61740654 => 'Silkwood', - 61740655 => 'Silkwood', - 61740656 => 'Silkwood', - 61740657 => 'Silkwood', + 6174065 => 'Silkwood', 61740658 => 'Hopevale', - 61740659 => 'Silkwood', 6174066 => 'Euramo', 6174067 => 'Babinda', 6174068 => 'Tully', @@ -28020,26 +23438,12 @@ return array ( 61740847 => 'Millaa Millaa', 61740848 => 'Weipa', 61740849 => 'Daintree', - 61740850 => 'Kuranda', - 61740851 => 'Kuranda', - 61740852 => 'Kuranda', - 61740853 => 'Kuranda', - 61740854 => 'Kuranda', - 61740855 => 'Kuranda', - 61740856 => 'Kuranda', - 61740857 => 'Kuranda', + 6174085 => 'Kuranda', 61740858 => 'Coen', 61740859 => 'Cooktown', + 6174086 => 'Mareeba', 61740860 => 'Daintree', 61740861 => 'Gordonvale', - 61740862 => 'Mareeba', - 61740863 => 'Mareeba', - 61740864 => 'Mareeba', - 61740865 => 'Mareeba', - 61740866 => 'Mareeba', - 61740867 => 'Mareeba', - 61740868 => 'Mareeba', - 61740869 => 'Mareeba', 61740870 => 'Mossman', 61740871 => 'Mossman', 61740872 => 'Mossman', @@ -28050,24 +23454,13 @@ return array ( 61740877 => 'Mutchilba', 61740878 => 'Dimbulah', 61740879 => 'Edward River', - 61740880 => 'Tully', + 6174088 => 'Tully', 61740881 => 'Cairns', 61740882 => 'Innisfail', 61740883 => 'Etheridge', - 61740884 => 'Tully', - 61740885 => 'Tully', - 61740886 => 'Tully', - 61740887 => 'Tully', - 61740888 => 'Tully', - 61740889 => 'Tully', + 6174089 => 'Atherton', 61740890 => 'Euramo', 61740891 => 'Georgetown', - 61740892 => 'Atherton', - 61740893 => 'Atherton', - 61740894 => 'Atherton', - 61740895 => 'Atherton', - 61740896 => 'Atherton', - 61740897 => 'Atherton', 61740898 => 'Malanda', 61740899 => 'Malanda', 61740900 => 'Torres', @@ -28102,16 +23495,9 @@ return array ( 61740947 => 'Chillagoe', 61740948 => 'Walsh River', 61740949 => 'Walsh River', + 6174095 => 'Atherton', 61740950 => 'Malanda', 61740951 => 'Malanda', - 61740952 => 'Atherton', - 61740953 => 'Atherton', - 61740954 => 'Atherton', - 61740955 => 'Atherton', - 61740956 => 'Atherton', - 61740957 => 'Atherton', - 61740958 => 'Atherton', - 61740959 => 'Atherton', 61740960 => 'Herberton', 61740961 => 'Herberton', 61740962 => 'Herberton', @@ -28132,15 +23518,9 @@ return array ( 61740977 => 'Ravenshoe', 61740978 => 'Ravenshoe', 61740979 => 'Mount Garnet', + 6174098 => 'Mossman', 61740980 => 'Daintree', - 61740981 => 'Mossman', - 61740982 => 'Mossman', - 61740983 => 'Mossman', - 61740984 => 'Mossman', - 61740985 => 'Mossman', 61740986 => 'Daintree', - 61740987 => 'Mossman', - 61740988 => 'Mossman', 61740989 => 'Daintree', 6174099 => 'Mossman', 61741000 => 'Bundaberg', @@ -28334,16 +23714,11 @@ return array ( 61741197 => 'Tandora', 61741198 => 'Blackbutt', 61741199 => 'Brooklands', - 61741200 => 'Maryborough', + 6174120 => 'Maryborough', 61741201 => 'Pialba', - 61741202 => 'Maryborough', 61741203 => 'Fraser Island', - 61741204 => 'Maryborough', - 61741205 => 'Maryborough', 61741206 => 'Pialba', 61741207 => 'Bundaberg', - 61741208 => 'Maryborough', - 61741209 => 'Maryborough', 6174121 => 'Maryborough', 6174122 => 'Maryborough', 6174123 => 'Maryborough', @@ -28562,21 +23937,8 @@ return array ( 61741497 => 'Tansey', 61741498 => 'Windera', 61741499 => 'Wondai', - 61741500 => 'Bundaberg', - 61741501 => 'Bundaberg', - 61741502 => 'Bundaberg', - 61741503 => 'Bundaberg', - 61741504 => 'Bundaberg', - 61741505 => 'Bundaberg', - 61741506 => 'Bundaberg', - 61741507 => 'Bundaberg', - 61741508 => 'Bundaberg', + 617415 => 'Bundaberg', 61741509 => 'Gin Gin', - 6174151 => 'Bundaberg', - 6174152 => 'Bundaberg', - 6174153 => 'Bundaberg', - 6174154 => 'Bundaberg', - 6174155 => 'Bundaberg', 61741560 => 'Yandaran', 61741561 => 'Yandaran', 61741562 => 'Mount Perry', @@ -28597,8 +23959,6 @@ return array ( 61741586 => 'Windera', 61741587 => 'Wondai', 61741588 => 'Blackbutt', - 61741589 => 'Bundaberg', - 6174159 => 'Bundaberg', 61741600 => 'Kingaroy', 61741601 => 'Monto', 61741602 => 'Mundubbera', @@ -28609,12 +23969,7 @@ return array ( 61741607 => 'Nanango', 61741608 => 'Bundaberg', 61741609 => 'Nanango', - 61741610 => 'Gayndah', - 61741611 => 'Gayndah', - 61741612 => 'Gayndah', - 61741613 => 'Gayndah', - 61741614 => 'Gayndah', - 61741615 => 'Gayndah', + 6174161 => 'Gayndah', 61741616 => 'Gooroolba', 61741617 => 'Burnett', 61741618 => 'Burnett', @@ -28650,16 +24005,8 @@ return array ( 61741657 => 'Eidsvold', 61741658 => 'Monogorilby', 61741659 => 'Mundubbera', + 6174166 => 'Monto', 61741660 => 'Monogorilby', - 61741661 => 'Monto', - 61741662 => 'Monto', - 61741663 => 'Monto', - 61741664 => 'Monto', - 61741665 => 'Monto', - 61741666 => 'Monto', - 61741667 => 'Monto', - 61741668 => 'Monto', - 61741669 => 'Monto', 61741670 => 'Bundaberg', 61741671 => 'Gin Gin', 61741672 => 'Mulgildie', @@ -28890,12 +24237,7 @@ return array ( 61741897 => 'Biggenden', 61741898 => 'Biggenden', 61741899 => 'Kingaroy', - 61741900 => 'Maryborough', - 61741901 => 'Maryborough', - 61741902 => 'Maryborough', - 61741903 => 'Maryborough', - 61741904 => 'Maryborough', - 61741905 => 'Maryborough', + 6174190 => 'Maryborough', 61741906 => 'Booyal', 61741907 => 'Kingaroy', 61741908 => 'Brooweena', @@ -29329,26 +24671,15 @@ return array ( 61742408 => 'Silkwood', 61742409 => 'South Johnstone', 6174241 => 'Cairns', + 6174242 => 'Cairns', 61742420 => 'Thursday Island', - 61742421 => 'Cairns', - 61742422 => 'Cairns', - 61742423 => 'Cairns', - 61742424 => 'Cairns', - 61742425 => 'Cairns', 61742426 => 'Torres', 61742427 => 'Torres', - 61742428 => 'Cairns', 61742429 => 'Torres', + 6174243 => 'Cairns', 61742430 => 'Tully', 61742431 => 'Walsh River', 61742432 => 'Weipa', - 61742433 => 'Cairns', - 61742434 => 'Cairns', - 61742435 => 'Cairns', - 61742436 => 'Cairns', - 61742437 => 'Cairns', - 61742438 => 'Cairns', - 61742439 => 'Cairns', 61742440 => 'Cairns', 61742441 => 'Cairns', 61742442 => 'Cairns', @@ -29429,32 +24760,14 @@ return array ( 61742517 => 'Minnamoolka', 61742518 => 'Molloy', 61742519 => 'Mossman', + 6174252 => 'Cairns', 61742520 => 'Mount Garnet', 61742521 => 'Georgetown', - 61742522 => 'Cairns', - 61742523 => 'Cairns', - 61742524 => 'Cairns', - 61742525 => 'Cairns', - 61742526 => 'Cairns', - 61742527 => 'Cairns', - 61742528 => 'Cairns', - 61742529 => 'Cairns', + 6174253 => 'Cairns', 61742530 => 'Mount Surprise', 61742531 => 'Mutchilba', 61742532 => 'Peninsula', - 61742533 => 'Cairns', - 61742534 => 'Cairns', - 61742535 => 'Cairns', - 61742536 => 'Cairns', - 61742537 => 'Cairns', - 61742538 => 'Cairns', - 61742539 => 'Cairns', - 61742540 => 'Cairns', - 61742541 => 'Cairns', - 61742542 => 'Cairns', - 61742543 => 'Cairns', - 61742544 => 'Cairns', - 61742545 => 'Cairns', + 6174254 => 'Cairns', 61742546 => 'Herberton', 61742547 => 'Herberton', 61742548 => 'Mareeba', @@ -29469,15 +24782,7 @@ return array ( 61742557 => 'Cairns', 61742558 => 'Cairns', 61742559 => 'Cairns', - 61742560 => 'Cairns', - 61742561 => 'Cairns', - 61742562 => 'Cairns', - 61742563 => 'Cairns', - 61742564 => 'Cairns', - 61742565 => 'Cairns', - 61742566 => 'Cairns', - 61742567 => 'Cairns', - 61742568 => 'Cairns', + 6174256 => 'Cairns', 61742569 => 'Tully', 61742570 => 'Walsh River', 61742571 => 'Weipa', @@ -29797,13 +25102,8 @@ return array ( 61743257 => 'Brooweena', 61743258 => 'Booyal', 61743259 => 'Biggenden', + 6174326 => 'Bundaberg', 61743260 => 'Gaeta', - 61743261 => 'Bundaberg', - 61743262 => 'Bundaberg', - 61743263 => 'Bundaberg', - 61743264 => 'Bundaberg', - 61743265 => 'Bundaberg', - 61743266 => 'Bundaberg', 61743267 => 'Gayndah', 61743268 => 'Gin Gin', 61743269 => 'Gooroolba', @@ -29847,15 +25147,10 @@ return array ( 61743307 => 'Childers', 61743308 => 'Eidsvold', 61743309 => 'Farnsfield', - 61743310 => 'Bundaberg', - 61743311 => 'Bundaberg', + 6174331 => 'Bundaberg', 61743312 => 'Bunker', 61743313 => 'Gaeta', 61743314 => 'Mount Perry', - 61743315 => 'Bundaberg', - 61743316 => 'Bundaberg', - 61743317 => 'Bundaberg', - 61743318 => 'Bundaberg', 61743319 => 'Fraser Island', 61743320 => 'Gaeta', 61743321 => 'Gayndah', @@ -29887,13 +25182,8 @@ return array ( 61743347 => 'Windera', 61743348 => 'Wondai', 61743349 => 'Yandaran', + 6174335 => 'Bundaberg', 61743350 => 'Yarraman', - 61743351 => 'Bundaberg', - 61743352 => 'Bundaberg', - 61743353 => 'Bundaberg', - 61743354 => 'Bundaberg', - 61743355 => 'Bundaberg', - 61743356 => 'Bundaberg', 61743357 => 'Pialba', 61743358 => 'Maryborough', 61743359 => 'Maryborough', @@ -30101,16 +25391,8 @@ return array ( 61744167 => 'Mutarnee', 61744168 => 'Pentland', 61744169 => 'Prairie', + 6174417 => 'Townsville', 61744170 => 'Bowen', - 61744171 => 'Townsville', - 61744172 => 'Townsville', - 61744173 => 'Townsville', - 61744174 => 'Townsville', - 61744175 => 'Townsville', - 61744176 => 'Townsville', - 61744177 => 'Townsville', - 61744178 => 'Townsville', - 61744179 => 'Townsville', 61744180 => 'Ravenswood', 61744181 => 'Richmond', 61744182 => 'Rollingstone', @@ -30132,16 +25414,9 @@ return array ( 61744198 => 'Ayr', 61744199 => 'Bowen', 6174420 => 'Townsville', + 6174421 => 'Townsville', 61744210 => 'Rollingstone', 61744211 => 'Rollingstone', - 61744212 => 'Townsville', - 61744213 => 'Townsville', - 61744214 => 'Townsville', - 61744215 => 'Townsville', - 61744216 => 'Townsville', - 61744217 => 'Townsville', - 61744218 => 'Townsville', - 61744219 => 'Townsville', 61744220 => 'Townsville', 61744221 => 'Clarke', 61744222 => 'Clarke', @@ -30187,13 +25462,7 @@ return array ( 61744267 => 'Townsville', 61744268 => 'Townsville', 61744269 => 'Townsville', - 61744270 => 'Townsville', - 61744271 => 'Townsville', - 61744272 => 'Townsville', - 61744273 => 'Townsville', - 61744274 => 'Townsville', - 61744275 => 'Townsville', - 61744276 => 'Townsville', + 6174427 => 'Townsville', 61744277 => 'Bowen', 61744278 => 'Bowen', 61744279 => 'Bowen', @@ -31133,16 +26402,11 @@ return array ( 61745877 => 'Brigalow/Bringalily/Brookstead/Brymaroo/Bunya Mountains/Cambooya/Cecil Plains/Charleville/Chinchilla/Clifton', 61745878 => 'Cockatoo/Condamine/Coondarra/Cooyar/Cottonvale/Crows Nest/Culgoa/Cunnamulla/Cunningham/Dalby', 61745879 => 'Darr Creek/Diamantina/Diamondy/Dirranbandi/Dulacca/Dunmore/Durham Downs/Elbow Valley/Eschol/Freestone', + 6174588 => 'Toowoomba', 61745880 => 'Galilee/Glenhope/Goombi/Goombungee/Goondiwindi/Greenmount/Guluguba/Haddon/Haden/Helidon', 61745881 => 'Inglewood/Injune/Isisford/Jandowae/Jericho/Jimbour/Jondaryan/Jundah/Kilbeggan/Killarney', 61745882 => 'Kumbarilla/Kupunn/Legume/Leyburn/Liston/Longreach/Lynd Range/Macalister/Maranoa/Meandarra', 61745883 => 'Miamba/Miles/Millmerran/Mitchell/Moonie/Morven/Mount Tyson/Muttaburra/Nobby/North Star', - 61745884 => 'Toowoomba', - 61745885 => 'Toowoomba', - 61745886 => 'Toowoomba', - 61745887 => 'Toowoomba', - 61745888 => 'Toowoomba', - 61745889 => 'Toowoomba', 61745890 => 'Toowoomba', 61745891 => 'Toowoomba', 61745892 => 'Oakey/Omanama/Paroo/Pikedale/Pittsworth/Quilpie/Ravensbourne/Robinson Gorge/Roma/Southwood', @@ -31321,12 +26585,7 @@ return array ( 61746129 => 'Helidon', 6174613 => 'Toowoomba', 6174614 => 'Toowoomba', - 61746150 => 'Toowoomba', - 61746151 => 'Toowoomba', - 61746152 => 'Toowoomba', - 61746153 => 'Toowoomba', - 61746154 => 'Toowoomba', - 61746155 => 'Toowoomba', + 6174615 => 'Toowoomba', 61746156 => 'Wallumbilla', 61746157 => 'Wallumbilla', 61746158 => 'Yuleba', @@ -31393,12 +26652,7 @@ return array ( 61746237 => 'Mitchell', 61746238 => 'Mitchell', 61746239 => 'Maranoa', - 61746240 => 'Roma', - 61746241 => 'Roma', - 61746242 => 'Roma', - 61746243 => 'Roma', - 61746244 => 'Roma', - 61746245 => 'Roma', + 6174624 => 'Roma', 61746246 => 'Mitchell', 61746247 => 'Mitchell', 61746248 => 'Injune', @@ -31453,16 +26707,7 @@ return array ( 61746297 => 'Tabers', 61746298 => 'Wallumbilla', 61746299 => 'Yuleba', - 6174630 => 'Toowoomba', - 6174631 => 'Toowoomba', - 6174632 => 'Toowoomba', - 6174633 => 'Toowoomba', - 6174634 => 'Toowoomba', - 6174635 => 'Toowoomba', - 6174636 => 'Toowoomba', - 6174637 => 'Toowoomba', - 6174638 => 'Toowoomba', - 6174639 => 'Toowoomba', + 617463 => 'Toowoomba', 61746400 => 'The Gums', 61746401 => 'Thomson', 61746402 => 'Tipton', @@ -31665,13 +26910,7 @@ return array ( 61746608 => 'Dalby', 61746609 => 'Cecil Plains', 6174661 => 'Warwick', - 61746620 => 'Dalby', - 61746621 => 'Dalby', - 61746622 => 'Dalby', - 61746623 => 'Dalby', - 61746624 => 'Dalby', - 61746625 => 'Dalby', - 61746626 => 'Dalby', + 6174662 => 'Dalby', 61746627 => 'Chinchilla', 61746628 => 'Chinchilla', 61746629 => 'Southwood', @@ -31685,15 +26924,8 @@ return array ( 61746637 => 'Bowenville', 61746638 => 'Kupunn', 61746639 => 'Dalby', + 6174664 => 'Killarney', 61746640 => 'Legume', - 61746641 => 'Killarney', - 61746642 => 'Killarney', - 61746643 => 'Killarney', - 61746644 => 'Killarney', - 61746645 => 'Killarney', - 61746646 => 'Killarney', - 61746647 => 'Killarney', - 61746648 => 'Killarney', 61746649 => 'Elbow Valley', 61746650 => 'Moonie', 61746651 => 'Coondarra', @@ -31715,15 +26947,8 @@ return array ( 61746667 => 'Allora', 61746668 => 'Cunningham', 61746669 => 'Warwick', - 61746670 => 'Warwick', - 61746671 => 'Warwick', - 61746672 => 'Warwick', - 61746673 => 'Warwick', + 6174667 => 'Warwick', 61746674 => 'Cunningham', - 61746675 => 'Warwick', - 61746676 => 'Warwick', - 61746677 => 'Warwick', - 61746678 => 'Warwick', 61746679 => 'Elbow Valley', 61746680 => 'Cecil Plains', 61746681 => 'Warra', @@ -31756,12 +26981,7 @@ return array ( 61746708 => 'Leyburn', 61746709 => 'Toowoomba', 6174671 => 'Goondiwindi', - 61746720 => 'Dalby', - 61746721 => 'Dalby', - 61746722 => 'Dalby', - 61746723 => 'Dalby', - 61746724 => 'Dalby', - 61746725 => 'Dalby', + 6174672 => 'Dalby', 61746726 => 'Chinchilla', 61746727 => 'Chinchilla', 61746728 => 'Chinchilla', @@ -31857,24 +27077,12 @@ return array ( 61746827 => 'Balonne', 61746828 => 'Diamondy', 61746829 => 'Dunmore', + 6174683 => 'Stanthorpe', 61746830 => 'Roma/Warwick', - 61746831 => 'Stanthorpe', - 61746832 => 'Stanthorpe', - 61746833 => 'Stanthorpe', - 61746834 => 'Stanthorpe', - 61746835 => 'Stanthorpe', - 61746836 => 'Stanthorpe', - 61746837 => 'Stanthorpe', 61746838 => 'Wandoan', 61746839 => 'Wandoan', + 6174684 => 'Ballandean', 61746840 => 'Stanthorpe', - 61746841 => 'Ballandean', - 61746842 => 'Ballandean', - 61746843 => 'Ballandean', - 61746844 => 'Ballandean', - 61746845 => 'Ballandean', - 61746846 => 'Ballandean', - 61746847 => 'Ballandean', 61746848 => 'Stanthorpe', 61746849 => 'Stanthorpe', 61746850 => 'Cottonvale', @@ -31909,26 +27117,10 @@ return array ( 61746897 => 'Macalister', 61746898 => 'Auburn', 61746899 => 'Bell', - 61746900 => 'Toowoomba', - 61746901 => 'Toowoomba', - 61746902 => 'Toowoomba', - 61746903 => 'Toowoomba', - 61746904 => 'Toowoomba', - 61746905 => 'Toowoomba', - 61746906 => 'Toowoomba', - 61746907 => 'Toowoomba', + 6174690 => 'Toowoomba', 61746908 => 'Helidon', - 61746909 => 'Toowoomba', + 6174691 => 'Oakey', 61746910 => 'Cambooya', - 61746911 => 'Oakey', - 61746912 => 'Oakey', - 61746913 => 'Oakey', - 61746914 => 'Oakey', - 61746915 => 'Oakey', - 61746916 => 'Oakey', - 61746917 => 'Oakey', - 61746918 => 'Oakey', - 61746919 => 'Oakey', 61746920 => 'Oakey', 61746921 => 'Brymaroo', 61746922 => 'Jondaryan', @@ -31939,13 +27131,8 @@ return array ( 61746927 => 'Brymaroo', 61746928 => 'Brymaroo', 61746929 => 'Brymaroo', + 6174693 => 'Pittsworth', 61746930 => 'Brookstead', - 61746931 => 'Pittsworth', - 61746932 => 'Pittsworth', - 61746933 => 'Pittsworth', - 61746934 => 'Pittsworth', - 61746935 => 'Pittsworth', - 61746936 => 'Pittsworth', 61746937 => 'Mount Tyson', 61746938 => 'Mount Tyson', 61746939 => 'Brookstead', @@ -32191,25 +27378,13 @@ return array ( 61747197 => 'Mount Fox', 61747198 => 'Mutarnee', 61747199 => 'Palm Island', - 61747200 => 'Townsville', - 61747201 => 'Townsville', + 617472 => 'Townsville', 61747202 => 'Giru', 61747203 => 'Ingham', 61747204 => 'Bowen', 61747205 => 'Ayr', 61747206 => 'Yabulu', - 61747207 => 'Townsville', - 61747208 => 'Townsville', 61747209 => 'Collinsville', - 6174721 => 'Townsville', - 6174722 => 'Townsville', - 6174723 => 'Townsville', - 6174724 => 'Townsville', - 6174725 => 'Townsville', - 6174726 => 'Townsville', - 6174727 => 'Townsville', - 6174728 => 'Townsville', - 6174729 => 'Townsville', 61747300 => 'Mount Isa', 61747301 => 'Mount Isa', 61747302 => 'Mount Isa', @@ -32330,27 +27505,14 @@ return array ( 61747417 => 'Walker', 61747418 => 'Flinders', 61747419 => 'Hughenden', - 61747420 => 'Cloncurry', - 61747421 => 'Cloncurry', - 61747422 => 'Cloncurry', - 61747423 => 'Cloncurry', - 61747424 => 'Cloncurry', + 6174742 => 'Cloncurry', 61747425 => 'Kalkadoon', 61747426 => 'Kalkadoon', 61747427 => 'Kalkadoon', - 61747428 => 'Cloncurry', 61747429 => 'Doomadgee', 6174743 => 'Mount Isa', - 61747440 => 'Mount Isa', - 61747441 => 'Mount Isa', - 61747442 => 'Mount Isa', - 61747443 => 'Mount Isa', - 61747444 => 'Mount Isa', - 61747445 => 'Mount Isa', - 61747446 => 'Mount Isa', + 6174744 => 'Mount Isa', 61747447 => 'Barkly/Mount Isa', - 61747448 => 'Mount Isa', - 61747449 => 'Mount Isa', 61747450 => 'Mount Isa', 61747451 => 'Normanton', 61747452 => 'Normanton', @@ -32520,6 +27682,7 @@ return array ( 61747697 => 'Normanton', 61747698 => 'Gulf', 61747699 => 'Barkly', + 617477 => 'Townsville', 61747700 => 'Palm Island', 61747701 => 'Palm Island', 61747702 => 'Ravenswood', @@ -32530,11 +27693,6 @@ return array ( 61747707 => 'Rollingstone', 61747708 => 'Mutarnee', 61747709 => 'Mutarnee', - 6174771 => 'Townsville', - 6174772 => 'Townsville', - 6174773 => 'Townsville', - 6174774 => 'Townsville', - 6174775 => 'Townsville', 6174776 => 'Ingham', 61747770 => 'Halifax', 61747771 => 'Ingham', @@ -32547,36 +27705,17 @@ return array ( 61747778 => 'Halifax', 61747779 => 'Halifax', 61747780 => 'Yabulu', - 61747781 => 'Townsville', - 61747782 => 'Townsville', - 61747783 => 'Townsville', - 61747784 => 'Townsville', - 61747785 => 'Townsville', 61747786 => 'Yabulu', 61747787 => 'Yabulu', 61747788 => 'Woodstock', - 61747789 => 'Townsville', - 6174779 => 'Townsville', - 61747800 => 'Woodstock', - 61747801 => 'Woodstock', - 61747802 => 'Woodstock', - 61747803 => 'Woodstock', - 61747804 => 'Woodstock', - 61747805 => 'Woodstock', - 61747806 => 'Woodstock', + 6174780 => 'Woodstock', 61747807 => 'Collinsville', 61747808 => 'Long Pocket', 61747809 => 'Long Pocket', 6174781 => 'Townsville', - 61747820 => 'Home Hill', - 61747821 => 'Home Hill', - 61747822 => 'Home Hill', - 61747823 => 'Home Hill', + 6174782 => 'Home Hill', 61747824 => 'Ayr', 61747825 => 'Ayr', - 61747826 => 'Home Hill', - 61747827 => 'Home Hill', - 61747828 => 'Home Hill', 61747829 => 'Giru', 6174783 => 'Ayr', 61747840 => 'Dalbeg', @@ -32600,16 +27739,8 @@ return array ( 61747858 => 'Collinsville', 61747859 => 'Leichhardt Range', 6174786 => 'Bowen', - 61747870 => 'Charters Towers', - 61747871 => 'Charters Towers', - 61747872 => 'Charters Towers', - 61747873 => 'Charters Towers', - 61747874 => 'Charters Towers', - 61747875 => 'Charters Towers', + 6174787 => 'Charters Towers', 61747876 => 'Cape River', - 61747877 => 'Charters Towers', - 61747878 => 'Charters Towers', - 61747879 => 'Charters Towers', 61747880 => 'Yabulu', 61747881 => 'Pentland', 61747882 => 'Charters Towers', @@ -33220,16 +28351,11 @@ return array ( 61748587 => 'Koumala/Lethebrook/Mackay/Mardale/Marlborough/Miclere/Middlemount/Miriam Vale/Moranbah/Mount Coolon', 61748588 => 'Mount Gardiner/Mount Larcom/Mount Morgan/Moura/Nathan Gorge/Nebo/Nogoa/Oombabeer/Orion/Pegunny', 61748589 => 'Proserpine/Rockhampton/Rolleston/Sarina/Spier/Springsure/St Lawrence/The Caves/Theodore/Tieri', + 6174859 => 'Yeppoon', 61748590 => 'Tungamull/Turkey Beach/Ubobo/Wagoora/Walkerston/Westwood/Willows/Woorabinda/Wowan/Yakapari', 61748591 => 'Yeppoon/Zamia Creek/Agnes Water/Alpha/Bajool/Banana/Baralaba/Bauhinia/Benaraby/Biloela', 61748592 => 'Sarina', 61748593 => 'Sarina', - 61748594 => 'Yeppoon', - 61748595 => 'Yeppoon', - 61748596 => 'Yeppoon', - 61748597 => 'Yeppoon', - 61748598 => 'Yeppoon', - 61748599 => 'Yeppoon', 61748600 => 'Belyando', 61748601 => 'Bingegang/Blackwater/Broadsound/Buckland/Byfield/Calen/Calliope/Cannon Valley/Capella/Carbine Creek', 61748602 => 'Carmila/Clermont/Colston Park/Comet/Connors Range/Cracow/Dingo/Dingo Beach/Duaringa/Dysart', @@ -33250,16 +28376,9 @@ return array ( 61748617 => 'Belyando', 61748618 => 'Calliope/Cannon Valley/Capella/Carbine Creek/Carmila/Clermont/Colston Park/Comet/Connors Range/Cracow', 61748619 => 'Dingo/Duaringa/Dysart/Emerald/Finch Hatton/Fitzroy West/Gargett/Garnant/Gayfield', + 6174862 => 'Mackay', 61748620 => 'Gemfields/Gladstone/Glenden/Goovigen/Hodgson Range/Isaac River/Koumala/Lethebrook/Mackay/Mardale', 61748621 => 'Gladstone', - 61748622 => 'Mackay', - 61748623 => 'Mackay', - 61748624 => 'Mackay', - 61748625 => 'Mackay', - 61748626 => 'Mackay', - 61748627 => 'Mackay', - 61748628 => 'Mackay', - 61748629 => 'Mackay', 61748630 => 'Mackay', 61748631 => 'Mackay', 61748632 => 'Mackay', @@ -33270,33 +28389,17 @@ return array ( 61748637 => 'Rockhampton', 61748638 => 'Rockhampton', 61748639 => 'Rockhampton', + 6174864 => 'Mackay', 61748640 => 'Moranbah', - 61748641 => 'Mackay', - 61748642 => 'Mackay', - 61748643 => 'Mackay', 61748644 => 'Emerald', 61748645 => 'Emerald', 61748646 => 'Emerald', - 61748647 => 'Mackay', - 61748648 => 'Mackay', - 61748649 => 'Mackay', - 61748650 => 'Mackay', - 61748651 => 'Mackay', - 61748652 => 'Mackay', - 61748653 => 'Mackay', - 61748654 => 'Mackay', + 6174865 => 'Mackay', 61748655 => 'Marlborough/Miclere/Middlemount/Miriam Vale/Moranbah/Mount Coolon/Mount Gardiner/Mount Larcom/Mount Morgan/Moura', 61748656 => 'Nathan Gorge/Nebo/Nogoa/Oombabeer/Orion/Pegunny/Proserpine/Rockhampton/Rolleston/Sarina', 61748657 => 'Spier/Springsure/St Lawrence/The Caves/Theodore/Tieri/Tungamull/Turkey Beach/Ubobo/Wagoora', 61748658 => 'Walkerston/Westwood/Willows/Woorabinda/Wowan/Yakapari/Yeppoon/Zamia Creek/Gemfields/Gladstone', - 61748659 => 'Mackay', - 61748660 => 'Mackay', - 61748661 => 'Mackay', - 61748662 => 'Mackay', - 61748663 => 'Mackay', - 61748664 => 'Mackay', - 61748665 => 'Mackay', - 61748666 => 'Mackay', + 6174866 => 'Mackay', 61748667 => 'Clermont', 61748668 => 'Agnes Water', 61748669 => 'Glenden/Goovigen/Hodgson Range/Isaac River/Koumala/Lethebrook/Mackay/Mardale/Marlborough/Miclere', @@ -33357,24 +28460,14 @@ return array ( 61748977 => 'Rockhampton', 61748978 => 'Rockhampton', 61748979 => 'Rockhampton', - 61748980 => 'Mackay', - 61748981 => 'Mackay', - 61748982 => 'Mackay', + 6174898 => 'Mackay', 61748983 => 'Connors Range', 61748984 => 'St Lawrence', - 61748985 => 'Mackay', - 61748986 => 'Mackay', - 61748987 => 'Mackay', 61748988 => 'Theodore', 61748989 => 'Nebo', - 61748990 => 'Gladstone', - 61748991 => 'Gladstone', - 61748992 => 'Gladstone', - 61748993 => 'Gladstone', - 61748994 => 'Gladstone', + 6174899 => 'Gladstone', 61748995 => 'Mackay', 61748996 => 'Mackay', - 61748997 => 'Gladstone', 61748998 => 'Calliope', 61748999 => 'Alpha', 61749000 => 'Rockhampton', @@ -33498,16 +28591,10 @@ return array ( 61749127 => 'The Caves', 61749128 => 'Marlborough', 61749129 => 'Garnant', + 6174913 => 'Yeppoon', 61749130 => 'Rockhampton', 61749131 => 'Emerald/Yeppoon', 61749132 => 'Woorabinda', - 61749133 => 'Yeppoon', - 61749134 => 'Yeppoon', - 61749135 => 'Yeppoon', - 61749136 => 'Yeppoon', - 61749137 => 'Yeppoon', - 61749138 => 'Yeppoon', - 61749139 => 'Yeppoon', 61749140 => 'Rockhampton', 61749141 => 'Woorabinda', 61749142 => 'Mackay', @@ -33568,33 +28655,14 @@ return array ( 61749197 => 'Cannon Valley', 61749198 => 'Carmila', 61749199 => 'Colston Park', - 61749200 => 'Rockhampton', - 61749201 => 'Rockhampton', - 61749202 => 'Rockhampton', - 61749203 => 'Rockhampton', - 61749204 => 'Rockhampton', - 61749205 => 'Rockhampton', - 61749206 => 'Rockhampton', - 61749207 => 'Rockhampton', + 617492 => 'Rockhampton', 61749208 => 'Marlborough', 61749209 => 'Tungamull', - 6174921 => 'Rockhampton', - 6174922 => 'Rockhampton', - 6174923 => 'Rockhampton', - 6174924 => 'Rockhampton', - 61749250 => 'Yeppoon', - 61749251 => 'Yeppoon', - 61749252 => 'Yeppoon', - 61749253 => 'Yeppoon', - 61749254 => 'Yeppoon', - 61749255 => 'Yeppoon', + 6174925 => 'Yeppoon', 61749256 => 'Duaringa', 61749257 => 'Dingo', 61749258 => 'Byfield', 61749259 => 'Woorabinda', - 6174926 => 'Rockhampton', - 6174927 => 'Rockhampton', - 6174928 => 'Rockhampton', 61749290 => 'Westwood', 61749291 => 'Westwood', 61749292 => 'Connors Range', @@ -33605,16 +28673,9 @@ return array ( 61749297 => 'Glenden', 61749298 => 'Koumala', 61749299 => 'Calen', - 61749300 => 'Rockhampton', - 61749301 => 'Rockhampton', + 6174930 => 'Rockhampton', 61749302 => 'Yeppoon', 61749303 => 'Westwood', - 61749304 => 'Rockhampton', - 61749305 => 'Rockhampton', - 61749306 => 'Rockhampton', - 61749307 => 'Rockhampton', - 61749308 => 'Rockhampton', - 61749309 => 'Rockhampton', 6174931 => 'Rockhampton', 6174932 => 'Rockhampton', 61749330 => 'Yeppoon', @@ -33679,29 +28740,15 @@ return array ( 61749407 => 'Mackay', 61749408 => 'Lethebrook', 61749409 => 'Sarina', - 61749410 => 'Moranbah', + 6174941 => 'Moranbah', 61749411 => 'Dysart', 61749412 => 'Dysart', - 61749413 => 'Moranbah', - 61749414 => 'Moranbah', - 61749415 => 'Moranbah', - 61749416 => 'Moranbah', - 61749417 => 'Moranbah', - 61749418 => 'Moranbah', - 61749419 => 'Moranbah', 6174942 => 'Mackay', 6174943 => 'Sarina', 6174944 => 'Mackay', - 61749450 => 'Proserpine', - 61749451 => 'Proserpine', - 61749452 => 'Proserpine', - 61749453 => 'Proserpine', - 61749454 => 'Proserpine', - 61749455 => 'Proserpine', - 61749456 => 'Proserpine', + 6174945 => 'Proserpine', 61749457 => 'Dingo Beach', 61749458 => 'Dingo Beach', - 61749459 => 'Proserpine', 6174946 => 'Cannon Valley', 61749470 => 'Proserpine', 61749471 => 'Proserpine', @@ -33748,14 +28795,8 @@ return array ( 61749548 => 'Mackay', 61749549 => 'Mackay', 6174955 => 'Mackay', + 6174956 => 'Sarina', 61749560 => 'St Lawrence', - 61749561 => 'Sarina', - 61749562 => 'Sarina', - 61749563 => 'Sarina', - 61749564 => 'Sarina', - 61749565 => 'Sarina', - 61749566 => 'Sarina', - 61749567 => 'Sarina', 61749568 => 'Connors Range', 61749569 => 'St Lawrence', 6174957 => 'Mackay', @@ -33811,16 +28852,11 @@ return array ( 61749647 => 'Proserpine', 61749648 => 'Sarina', 61749649 => 'Sarina', + 6174965 => 'Mackay', 61749650 => 'Gladstone', 61749651 => 'Gladstone', 61749652 => 'Gladstone', 61749653 => 'Cannon Valley', - 61749654 => 'Mackay', - 61749655 => 'Mackay', - 61749656 => 'Mackay', - 61749657 => 'Mackay', - 61749658 => 'Mackay', - 61749659 => 'Mackay', 61749660 => 'Yakapari', 61749661 => 'Yakapari', 61749662 => 'Yakapari', @@ -33841,39 +28877,17 @@ return array ( 61749677 => 'Cannon Valley', 61749678 => 'Sarina', 61749679 => 'Moranbah', - 61749680 => 'Mackay', - 61749681 => 'Mackay', - 61749682 => 'Mackay', - 61749683 => 'Mackay', - 61749684 => 'Mackay', - 61749685 => 'Mackay', - 61749686 => 'Mackay', + 6174968 => 'Mackay', 61749687 => 'Walkerston', 61749688 => 'Moranbah', 61749689 => 'Dysart', - 61749690 => 'Mackay', - 61749691 => 'Mackay', - 61749692 => 'Mackay', - 61749693 => 'Mackay', - 61749694 => 'Mackay', - 61749695 => 'Mackay', - 61749696 => 'Mackay', - 61749697 => 'Mackay', + 6174969 => 'Mackay', 61749698 => 'Cannon Valley', 61749699 => 'Cannon Valley', - 61749700 => 'Gladstone', - 61749701 => 'Gladstone', + 617497 => 'Gladstone', 61749702 => 'Mount Larcom', - 61749703 => 'Gladstone', 61749704 => 'Benaraby', 61749705 => 'Miriam Vale', - 61749706 => 'Gladstone', - 61749707 => 'Gladstone', - 61749708 => 'Gladstone', - 61749709 => 'Gladstone', - 6174971 => 'Gladstone', - 6174972 => 'Gladstone', - 6174973 => 'Gladstone', 61749740 => 'Ubobo', 61749741 => 'Ubobo', 61749742 => 'Turkey Beach', @@ -33884,39 +28898,20 @@ return array ( 61749747 => 'Agnes Water', 61749748 => 'Gayfield', 61749749 => 'Agnes Water', + 6174975 => 'Calliope', 61749750 => 'Benaraby', 61749751 => 'Mount Larcom', - 61749752 => 'Gladstone', 61749753 => 'Mount Larcom', - 61749754 => 'Calliope', - 61749755 => 'Calliope', - 61749756 => 'Calliope', - 61749757 => 'Calliope', - 61749758 => 'Calliope', - 61749759 => 'Calliope', - 6174976 => 'Gladstone', 61749770 => 'Cannon Valley', 61749771 => 'Yeppoon', 61749772 => 'Byfield', 61749773 => 'Byfield', 61749774 => 'Rockhampton', 61749775 => 'Mackay', - 61749776 => 'Gladstone', - 61749777 => 'Gladstone', - 61749778 => 'Gladstone', - 61749779 => 'Gladstone', - 6174978 => 'Gladstone', - 6174979 => 'Gladstone', - 61749800 => 'Emerald', + 6174980 => 'Emerald', 61749801 => 'Blackwater', 61749802 => 'Clermont', - 61749803 => 'Emerald', - 61749804 => 'Emerald', 61749805 => 'Blackwater', - 61749806 => 'Emerald', - 61749807 => 'Emerald', - 61749808 => 'Emerald', - 61749809 => 'Emerald', 61749810 => 'Gemfields', 61749811 => 'Gemfields', 61749812 => 'Middlemount', @@ -33927,15 +28922,10 @@ return array ( 61749817 => 'Tieri', 61749818 => 'Willows', 61749819 => 'Alpha', - 61749820 => 'Emerald', - 61749821 => 'Emerald', - 61749822 => 'Emerald', - 61749823 => 'Emerald', - 61749824 => 'Emerald', + 6174982 => 'Emerald', 61749825 => 'Blackwater', 61749826 => 'Blackwater', 61749827 => 'Blackwater', - 61749828 => 'Emerald', 61749829 => 'Blackwater', 61749830 => 'Clermont', 61749831 => 'Clermont', @@ -33967,26 +28957,16 @@ return array ( 61749857 => 'Middlemount', 61749858 => 'Middlemount', 61749859 => 'Middlemount', - 61749860 => 'Blackwater', - 61749861 => 'Blackwater', - 61749862 => 'Blackwater', - 61749863 => 'Blackwater', + 6174986 => 'Blackwater', 61749864 => 'Capella', - 61749865 => 'Blackwater', 61749866 => 'Mackay', 61749867 => 'Emerald', 61749868 => 'Emerald', - 61749869 => 'Blackwater', + 6174987 => 'Emerald', 61749870 => 'Alpha', 61749871 => 'Blackwater', 61749872 => 'Bingegang', 61749873 => 'Bingegang/Nogoa', - 61749874 => 'Emerald', - 61749875 => 'Emerald', - 61749876 => 'Emerald', - 61749877 => 'Emerald', - 61749878 => 'Emerald', - 61749879 => 'Emerald', 61749880 => 'Emerald', 61749881 => 'Emerald', 61749882 => 'Emerald', @@ -34028,12 +29008,7 @@ return array ( 61749918 => 'Mount Morgan', 61749919 => 'Gemfields', 6174992 => 'Biloela', - 61749930 => 'Theodore', - 61749931 => 'Theodore', - 61749932 => 'Theodore', - 61749933 => 'Theodore', - 61749934 => 'Theodore', - 61749935 => 'Theodore', + 6174993 => 'Theodore', 61749936 => 'Nathan Gorge', 61749937 => 'Cracow', 61749938 => 'Biloela', @@ -34059,14 +29034,7 @@ return array ( 61749967 => 'Zamia Creek', 61749968 => 'Zamia Creek', 61749969 => 'Zamia Creek', - 61749970 => 'Moura', - 61749971 => 'Moura', - 61749972 => 'Moura', - 61749973 => 'Moura', - 61749974 => 'Moura', - 61749975 => 'Moura', - 61749976 => 'Moura', - 61749977 => 'Moura', + 6174997 => 'Moura', 61749978 => 'Gemfields', 61749979 => 'Gemfields', 61749980 => 'Baralaba', @@ -34200,16 +29168,11 @@ return array ( 61752117 => 'Upper Widgee', 61752118 => 'Wolvi', 61752119 => 'Woodbine', + 6175212 => 'Caloundra', 61752120 => 'Woolooga', 61752121 => 'Caboolture', 61752122 => 'Caboolture', 61752123 => 'Caboolture', - 61752124 => 'Caloundra', - 61752125 => 'Caloundra', - 61752126 => 'Caloundra', - 61752127 => 'Caloundra', - 61752128 => 'Caloundra', - 61752129 => 'Caloundra', 61752130 => 'Caloundra', 61752131 => 'Gympie', 61752132 => 'Gympie', @@ -34269,13 +29232,7 @@ return array ( 61752937 => 'Nambour', 61752938 => 'Nambour', 61752939 => 'Nambour', - 61752940 => 'Nambour', - 61752941 => 'Nambour', - 61752942 => 'Nambour', - 61752943 => 'Nambour', - 61752944 => 'Nambour', - 61752945 => 'Nambour', - 61752946 => 'Nambour', + 6175294 => 'Nambour', 61752947 => 'Caboolture', 61752948 => 'Caboolture', 61752949 => 'Caboolture', @@ -34409,15 +29366,9 @@ return array ( 61753127 => 'Wolvi', 61753128 => 'Woolooga', 61753129 => 'Cooroy', + 6175313 => 'Nambour', 61753130 => 'Kenilworth', - 61753131 => 'Nambour', 61753132 => 'Noosaville', - 61753133 => 'Nambour', - 61753134 => 'Nambour', - 61753135 => 'Nambour', - 61753136 => 'Nambour', - 61753137 => 'Nambour', - 61753138 => 'Nambour', 61753139 => 'Woodford', 61753140 => 'Coominya', 61753141 => 'Caloundra', @@ -34835,14 +29786,7 @@ return array ( 61753727 => 'Noosaville', 61753728 => 'Noosaville', 61753729 => 'Noosaville', - 61753730 => 'Nambour', - 61753731 => 'Nambour', - 61753732 => 'Nambour', - 61753733 => 'Nambour', - 61753734 => 'Nambour', - 61753735 => 'Nambour', - 61753736 => 'Nambour', - 61753737 => 'Nambour', + 6175373 => 'Nambour', 61753738 => 'Noosaville', 61753739 => 'Noosaville', 61753740 => 'Nambour', @@ -34864,7 +29808,8 @@ return array ( 61753772 => 'Noosaville', 61753811 => 'Nambour', 6175390 => 'Caloundra', - 6175400 => 'Nambour', + 61754000 => 'Nambour', + 61754001 => 'Nambour', 61754002 => 'Nambour', 61754003 => 'Ballugan', 61754004 => 'Boonah', @@ -34873,16 +29818,11 @@ return array ( 61754007 => 'Coominya', 61754008 => 'Cooroy', 61754009 => 'Crossdale', + 6175401 => 'Kia Ora', 61754010 => 'Imbil', 61754011 => 'Imbil', 61754012 => 'Imbil', 61754013 => 'Imbil', - 61754014 => 'Kia Ora', - 61754015 => 'Kia Ora', - 61754016 => 'Kia Ora', - 61754017 => 'Kia Ora', - 61754018 => 'Kia Ora', - 61754019 => 'Kia Ora', 61754020 => 'Esk', 61754021 => 'Gatton', 61754022 => 'Gunalda', @@ -34936,26 +29876,13 @@ return array ( 61754088 => 'Caloundra', 61754089 => 'Esk', 6175409 => 'Nambour', - 61754100 => 'Harrisville', - 61754101 => 'Harrisville', - 61754102 => 'Harrisville', - 61754103 => 'Harrisville', - 61754104 => 'Harrisville', - 61754105 => 'Harrisville', - 61754106 => 'Harrisville', + 6175410 => 'Harrisville', 61754107 => 'Kalbar', 61754108 => 'Kalbar', - 61754109 => 'Harrisville', - 61754110 => 'Laidley', - 61754111 => 'Laidley', - 61754112 => 'Laidley', - 61754113 => 'Laidley', - 61754114 => 'Laidley', - 61754115 => 'Laidley', + 6175411 => 'Laidley', 61754116 => 'Rosevale', 61754117 => 'Thornton', 61754118 => 'Woodbine', - 61754119 => 'Laidley', 61754120 => 'Caloundra', 61754121 => 'Nambour', 61754122 => 'Noosaville', @@ -35078,38 +30005,18 @@ return array ( 61754257 => 'Lowood', 61754258 => 'Lowood', 61754259 => 'Lowood', + 6175426 => 'Lowood', 61754260 => 'Crossdale', - 61754261 => 'Lowood', - 61754262 => 'Lowood', - 61754263 => 'Lowood', 61754264 => 'Coominya', 61754265 => 'Coominya', - 61754266 => 'Lowood', - 61754267 => 'Lowood', - 61754268 => 'Lowood', - 61754269 => 'Lowood', 6175427 => 'Lowood', 6175428 => 'Caboolture', - 61754290 => 'Caboolture', - 61754291 => 'Caboolture', - 61754292 => 'Caboolture', - 61754293 => 'Caboolture', - 61754294 => 'Caboolture', - 61754295 => 'Caboolture', + 6175429 => 'Caboolture', 61754296 => 'Maleny', - 61754297 => 'Caboolture', - 61754298 => 'Caboolture', - 61754299 => 'Caboolture', - 61754300 => 'Nambour', - 61754301 => 'Nambour', - 61754302 => 'Nambour', - 61754303 => 'Nambour', - 61754304 => 'Nambour', + 6175430 => 'Nambour', 61754305 => 'Noosaville', 61754306 => 'Noosaville', 61754307 => 'Noosaville', - 61754308 => 'Nambour', - 61754309 => 'Nambour', 6175431 => 'Caboolture', 6175432 => 'Caboolture', 6175433 => 'Caboolture', @@ -35128,16 +30035,9 @@ return array ( 6175437 => 'Caloundra', 6175438 => 'Caloundra', 6175439 => 'Caloundra', + 6175440 => 'Noosaville', 61754400 => 'Kenilworth', 61754401 => 'Cooroy', - 61754402 => 'Noosaville', - 61754403 => 'Noosaville', - 61754404 => 'Noosaville', - 61754405 => 'Noosaville', - 61754406 => 'Noosaville', - 61754407 => 'Noosaville', - 61754408 => 'Noosaville', - 61754409 => 'Noosaville', 6175441 => 'Nambour', 61754420 => 'Nambour', 61754421 => 'Nambour', @@ -35152,13 +30052,8 @@ return array ( 6175443 => 'Nambour', 6175444 => 'Nambour', 6175445 => 'Nambour', + 6175446 => 'Noosaville', 61754460 => 'Kenilworth', - 61754461 => 'Noosaville', - 61754462 => 'Noosaville', - 61754463 => 'Noosaville', - 61754464 => 'Noosaville', - 61754465 => 'Noosaville', - 61754466 => 'Noosaville', 61754467 => 'Cooroy', 61754468 => 'Cooroy', 61754469 => 'Kenilworth', @@ -35172,36 +30067,19 @@ return array ( 61754477 => 'Cooroy', 61754478 => 'Cooroy', 61754479 => 'Cooroy', + 6175448 => 'Nambour', 61754480 => 'Noosaville', 61754481 => 'Noosaville', 61754482 => 'Noosaville', 61754483 => 'Noosaville', - 61754484 => 'Nambour', - 61754485 => 'Nambour', - 61754486 => 'Nambour', - 61754487 => 'Nambour', - 61754488 => 'Nambour', - 61754489 => 'Nambour', 6175449 => 'Noosaville', - 6175450 => 'Nambour', - 6175451 => 'Nambour', - 6175452 => 'Nambour', - 6175453 => 'Nambour', + 617545 => 'Nambour', + 6175454 => 'Cooroy', 61754540 => 'Kenilworth', 61754541 => 'Kenilworth', 61754542 => 'Kenilworth', 61754543 => 'Kenilworth', - 61754544 => 'Cooroy', - 61754545 => 'Cooroy', - 61754546 => 'Cooroy', - 61754547 => 'Cooroy', - 61754548 => 'Cooroy', - 61754549 => 'Cooroy', 6175455 => 'Noosaville', - 6175456 => 'Nambour', - 6175457 => 'Nambour', - 6175458 => 'Nambour', - 6175459 => 'Nambour', 61754600 => 'Gatton', 61754601 => 'Gatton', 61754602 => 'Gatton', @@ -35213,22 +30091,9 @@ return array ( 61754608 => 'Rosewood', 61754609 => 'Rosewood', 6175461 => 'Rosewood', - 61754620 => 'Gatton', - 61754621 => 'Gatton', - 61754622 => 'Gatton', - 61754623 => 'Gatton', - 61754624 => 'Gatton', - 61754625 => 'Gatton', - 61754626 => 'Gatton', - 61754627 => 'Gatton', - 61754628 => 'Gatton', + 6175462 => 'Gatton', 61754629 => 'Woodbine', - 61754630 => 'Boonah', - 61754631 => 'Boonah', - 61754632 => 'Boonah', - 61754633 => 'Boonah', - 61754634 => 'Boonah', - 61754635 => 'Boonah', + 6175463 => 'Boonah', 61754636 => 'Maroon', 61754637 => 'Kalbar', 61754638 => 'Kalbar', @@ -35243,15 +30108,7 @@ return array ( 61754647 => 'Harrisville', 61754648 => 'Harrisville', 61754649 => 'Rosevale', - 61754650 => 'Laidley', - 61754651 => 'Laidley', - 61754652 => 'Laidley', - 61754653 => 'Laidley', - 61754654 => 'Laidley', - 61754655 => 'Laidley', - 61754656 => 'Laidley', - 61754657 => 'Laidley', - 61754658 => 'Laidley', + 6175465 => 'Laidley', 61754659 => 'Thornton', 61754660 => 'Gatton', 61754661 => 'Gatton', @@ -35263,23 +30120,11 @@ return array ( 61754667 => 'Thornton', 61754668 => 'Laidley', 61754669 => 'Laidley', - 61754670 => 'Rosewood', + 6175467 => 'Rosewood', 61754671 => 'Harrisville', 61754672 => 'Harrisville', - 61754673 => 'Rosewood', - 61754674 => 'Rosewood', - 61754675 => 'Rosewood', - 61754676 => 'Rosewood', - 61754677 => 'Rosewood', - 61754678 => 'Rosewood', - 61754679 => 'Rosewood', 6175468 => 'Gatton', - 61754690 => 'Boonah', - 61754691 => 'Boonah', - 61754692 => 'Boonah', - 61754693 => 'Boonah', - 61754694 => 'Boonah', - 61754695 => 'Boonah', + 6175469 => 'Boonah', 61754696 => 'Maroon', 61754697 => 'Maroon', 61754698 => 'Kalbar', @@ -35295,16 +30140,9 @@ return array ( 61754708 => 'Nambour', 61754709 => 'Nambour', 6175471 => 'Noosaville', - 61754720 => 'Cooroy', - 61754721 => 'Cooroy', - 61754722 => 'Cooroy', + 6175472 => 'Cooroy', 61754723 => 'Kenilworth', 61754724 => 'Kenilworth', - 61754725 => 'Cooroy', - 61754726 => 'Cooroy', - 61754727 => 'Cooroy', - 61754728 => 'Cooroy', - 61754729 => 'Cooroy', 6175473 => 'Noosaville', 6175474 => 'Noosaville', 6175475 => 'Nambour', @@ -35312,14 +30150,8 @@ return array ( 6175477 => 'Nambour', 6175478 => 'Nambour', 6175479 => 'Nambour', + 6175480 => 'Gympie', 61754800 => 'Kia Ora', - 61754801 => 'Gympie', - 61754802 => 'Gympie', - 61754803 => 'Gympie', - 61754804 => 'Gympie', - 61754805 => 'Gympie', - 61754806 => 'Gympie', - 61754807 => 'Gympie', 61754808 => 'Pomona', 61754809 => 'Imbil', 6175481 => 'Gympie', @@ -35335,26 +30167,12 @@ return array ( 61754847 => 'Woolooga', 61754848 => 'Woolooga', 61754849 => 'Upper Widgee', - 61754850 => 'Pomona', - 61754851 => 'Pomona', - 61754852 => 'Pomona', - 61754853 => 'Pomona', - 61754854 => 'Pomona', - 61754855 => 'Pomona', - 61754856 => 'Pomona', + 6175485 => 'Pomona', 61754857 => 'Gunalda', - 61754858 => 'Pomona', - 61754859 => 'Pomona', - 61754860 => 'Kia Ora', + 6175486 => 'Kia Ora', 61754861 => 'Woolooga', - 61754862 => 'Kia Ora', - 61754863 => 'Kia Ora', - 61754864 => 'Kia Ora', - 61754865 => 'Kia Ora', 61754866 => 'Wolvi', 61754867 => 'Wolvi', - 61754868 => 'Kia Ora', - 61754869 => 'Kia Ora', 61754870 => 'Pomona', 61754871 => 'Pomona', 61754872 => 'Kilkivan', @@ -35376,29 +30194,16 @@ return array ( 61754888 => 'Gunalda', 61754889 => 'Gunalda', 6175489 => 'Gympie', - 61754900 => 'Caboolture', - 61754901 => 'Caboolture', + 6175490 => 'Caboolture', 61754902 => 'Caloundra', - 61754903 => 'Caboolture', - 61754904 => 'Caboolture', 61754905 => 'Caloundra', - 61754906 => 'Caboolture', - 61754907 => 'Caboolture', - 61754908 => 'Caboolture', - 61754909 => 'Caboolture', 6175491 => 'Caloundra', 6175492 => 'Caloundra', 6175493 => 'Caloundra', - 61754940 => 'Caloundra', - 61754941 => 'Caloundra', + 6175494 => 'Caloundra', 61754942 => 'Maleny', 61754943 => 'Maleny', 61754944 => 'Maleny', - 61754945 => 'Caloundra', - 61754946 => 'Caloundra', - 61754947 => 'Caloundra', - 61754948 => 'Caloundra', - 61754949 => 'Caloundra', 6175495 => 'Caboolture', 61754960 => 'Caloundra', 61754961 => 'Woodford', @@ -35410,26 +30215,13 @@ return array ( 61754967 => 'Caboolture', 61754968 => 'Caboolture', 61754969 => 'Caloundra', - 61754970 => 'Caboolture', + 6175497 => 'Caboolture', 61754971 => 'Kilcoy', 61754972 => 'Kilcoy', 61754973 => 'Jimna', - 61754974 => 'Caboolture', - 61754975 => 'Caboolture', - 61754976 => 'Caboolture', - 61754977 => 'Caboolture', - 61754978 => 'Caboolture', - 61754979 => 'Caboolture', - 61754980 => 'Caboolture', + 6175498 => 'Caboolture', 61754981 => 'Kilcoy', - 61754982 => 'Caboolture', - 61754983 => 'Caboolture', 61754984 => 'Kilcoy', - 61754985 => 'Caboolture', - 61754986 => 'Caboolture', - 61754987 => 'Caboolture', - 61754988 => 'Caboolture', - 61754989 => 'Caboolture', 61754990 => 'Caboolture', 61754991 => 'Caboolture', 61754992 => 'Caboolture', @@ -35440,16 +30232,11 @@ return array ( 61754997 => 'Caloundra', 61754998 => 'Maleny', 61754999 => 'Maleny', - 6175500 => 'Southport', - 6175501 => 'Southport', - 6175502 => 'Southport', - 6175503 => 'Southport', - 6175504 => 'Southport', + 617550 => 'Southport', 6175505 => 'Tamborine Mountain', 6175506 => 'Tweed Heads', 6175507 => 'Tweed Heads', 6175508 => 'Tweed Heads', - 6175509 => 'Southport', 6175510 => 'Southport', 6175511 => 'Southport', 6175512 => 'Southport', @@ -35496,24 +30283,14 @@ return array ( 61755188 => 'Beaudesert', 61755189 => 'Beaudesert', 6175519 => 'Southport', - 6175520 => 'Tweed Heads', - 6175521 => 'Tweed Heads', - 6175522 => 'Tweed Heads', - 6175523 => 'Tweed Heads', - 6175524 => 'Tweed Heads', - 6175525 => 'Tweed Heads', + 617552 => 'Tweed Heads', 6175526 => 'Southport', 6175527 => 'Southport', 6175528 => 'Southport', 6175529 => 'Southport', + 6175530 => 'Tweed Heads', 61755300 => 'Southport', 61755301 => 'Southport', - 61755302 => 'Tweed Heads', - 61755303 => 'Tweed Heads', - 61755304 => 'Tweed Heads', - 61755305 => 'Tweed Heads', - 61755306 => 'Tweed Heads', - 61755307 => 'Tweed Heads', 61755308 => 'Southport', 61755309 => 'Southport', 6175531 => 'Southport', @@ -35544,73 +30321,31 @@ return array ( 61755407 => 'Ormeau', 61755408 => 'Ormeau', 61755409 => 'Ormeau', - 61755410 => 'Beaudesert', - 61755411 => 'Beaudesert', - 61755412 => 'Beaudesert', - 61755413 => 'Beaudesert', - 61755414 => 'Beaudesert', - 61755415 => 'Beaudesert', + 6175541 => 'Beaudesert', 61755416 => 'Tamborine Mountain', 61755417 => 'Tamborine Mountain', 61755418 => 'Tamborine Mountain', - 61755419 => 'Beaudesert', 6175542 => 'Beaudesert', - 61755430 => 'Tamborine Mountain', + 6175543 => 'Tamborine Mountain', 61755431 => 'Jimboomba', 61755432 => 'Jimboomba', 61755433 => 'Jimboomba', - 61755434 => 'Tamborine Mountain', - 61755435 => 'Tamborine Mountain', - 61755436 => 'Tamborine Mountain', - 61755437 => 'Tamborine Mountain', - 61755438 => 'Tamborine Mountain', - 61755439 => 'Tamborine Mountain', + 6175544 => 'Rathdowney', 61755440 => 'Kerry', - 61755441 => 'Rathdowney', - 61755442 => 'Rathdowney', - 61755443 => 'Rathdowney', - 61755444 => 'Rathdowney', - 61755445 => 'Rathdowney', - 61755446 => 'Rathdowney', 61755447 => 'Kerry', 61755448 => 'Kerry', 61755449 => 'Kerry', - 61755450 => 'Tamborine Mountain', - 61755451 => 'Tamborine Mountain', - 61755452 => 'Tamborine Mountain', - 61755453 => 'Tamborine Mountain', - 61755454 => 'Tamborine Mountain', - 61755455 => 'Tamborine Mountain', - 61755456 => 'Tamborine Mountain', - 61755457 => 'Tamborine Mountain', + 6175545 => 'Tamborine Mountain', 61755458 => 'Beechmont', 61755459 => 'Beechmont', + 6175546 => 'Ormeau', 61755460 => 'Jimboomba', - 61755461 => 'Ormeau', - 61755462 => 'Ormeau', - 61755463 => 'Ormeau', - 61755464 => 'Ormeau', - 61755465 => 'Ormeau', - 61755466 => 'Ormeau', - 61755467 => 'Ormeau', - 61755468 => 'Ormeau', 61755469 => 'Jimboomba', - 61755470 => 'Ormeau', - 61755471 => 'Ormeau', - 61755472 => 'Ormeau', - 61755473 => 'Ormeau', - 61755474 => 'Ormeau', - 61755475 => 'Ormeau', - 61755476 => 'Ormeau', + 6175547 => 'Ormeau', 61755477 => 'Jimboomba', 61755478 => 'Jimboomba', 61755479 => 'Jimboomba', - 61755480 => 'Beechmont', - 61755481 => 'Beechmont', - 61755482 => 'Beechmont', - 61755483 => 'Beechmont', - 61755484 => 'Beechmont', - 61755485 => 'Beechmont', + 6175548 => 'Beechmont', 61755486 => 'Jimboomba', 61755487 => 'Jimboomba', 61755488 => 'Jimboomba', @@ -35653,43 +30388,15 @@ return array ( 61755679 => 'Rathdowney', 6175568 => 'Tweed Heads', 6175569 => 'Tweed Heads', - 6175570 => 'Southport', - 6175571 => 'Southport', - 6175572 => 'Southport', - 6175573 => 'Southport', - 6175574 => 'Southport', - 6175575 => 'Southport', + 617557 => 'Southport', 6175576 => 'Tweed Heads', - 6175577 => 'Southport', - 6175578 => 'Southport', - 6175579 => 'Southport', - 6175580 => 'Southport', - 6175581 => 'Southport', - 6175582 => 'Southport', - 6175583 => 'Southport', - 6175584 => 'Southport', - 6175585 => 'Southport', + 617558 => 'Southport', 6175586 => 'Tweed Heads', 6175587 => 'Tweed Heads', - 6175588 => 'Southport', 6175589 => 'Tweed Heads', + 617559 => 'Southport', 6175590 => 'Tweed Heads', - 6175591 => 'Southport', - 6175592 => 'Southport', - 61755930 => 'Southport', - 61755931 => 'Southport', - 61755932 => 'Southport', - 61755933 => 'Southport', - 61755934 => 'Tweed Heads', - 61755935 => 'Tweed Heads', - 61755936 => 'Tweed Heads', - 61755937 => 'Tweed Heads', - 61755938 => 'Tweed Heads', - 61755939 => 'Tweed Heads', - 6175594 => 'Southport', - 6175595 => 'Southport', - 6175596 => 'Southport', - 6175597 => 'Southport', + 6175593 => 'Tweed Heads', 6175598 => 'Tweed Heads', 6175599 => 'Tweed Heads', 6175600 => 'Southport', @@ -35836,26 +30543,12 @@ return array ( 61756168 => 'Southport', 61756169 => 'Tamborine Mountain', 6175617 => 'Southport', - 61756180 => 'Southport', - 61756181 => 'Southport', - 61756182 => 'Southport', - 61756183 => 'Southport', - 61756184 => 'Southport', - 61756185 => 'Southport', + 6175618 => 'Southport', 61756186 => 'Tamborine Mountain', 61756187 => 'Tamborine Mountain', - 61756188 => 'Southport', - 61756189 => 'Southport', - 61756190 => 'Southport', - 61756191 => 'Southport', - 61756192 => 'Southport', + 6175619 => 'Southport', 61756193 => 'Tweed Heads', 61756194 => 'Beaudesert', - 61756195 => 'Southport', - 61756196 => 'Southport', - 61756197 => 'Southport', - 61756198 => 'Southport', - 61756199 => 'Southport', 61756200 => 'Southport', 61756201 => 'Southport', 61756202 => 'Southport', @@ -35879,25 +30572,11 @@ return array ( 6175627 => 'Southport', 6175628 => 'Southport', 6175629 => 'Southport', - 6175630 => 'Southport', + 617563 => 'Southport', 61756310 => 'Ormeau', 61756311 => 'Tweed Heads', - 61756312 => 'Southport', - 61756313 => 'Southport', - 61756314 => 'Southport', - 61756315 => 'Southport', - 61756316 => 'Southport', - 61756317 => 'Southport', - 61756318 => 'Southport', - 61756319 => 'Southport', - 6175632 => 'Southport', 6175633 => 'Tweed Heads', - 6175634 => 'Southport', - 6175635 => 'Southport', - 6175636 => 'Southport', 6175637 => 'Beaudesert', - 6175638 => 'Southport', - 6175639 => 'Southport', 6175640 => 'Beaudesert', 6175641 => 'Southport', 6175642 => 'Southport', @@ -35913,24 +30592,11 @@ return array ( 61756457 => 'Tweed Heads', 61756458 => 'Southport', 61756459 => 'Southport', + 6175646 => 'Southport', 61756460 => 'Jimboomba', 61756461 => 'Jimboomba', 61756462 => 'Jimboomba', - 61756463 => 'Southport', - 61756464 => 'Southport', - 61756465 => 'Southport', - 61756466 => 'Southport', - 61756467 => 'Southport', - 61756468 => 'Southport', - 61756469 => 'Southport', - 61756470 => 'Southport', - 61756471 => 'Southport', - 61756472 => 'Southport', - 61756473 => 'Southport', - 61756474 => 'Southport', - 61756475 => 'Southport', - 61756476 => 'Southport', - 61756477 => 'Southport', + 6175647 => 'Southport', 61756478 => 'Beaudesert', 61756479 => 'Beaudesert', 61756480 => 'Tweed Heads', @@ -35960,15 +30626,7 @@ return array ( 61756608 => 'Beaudesert', 61756609 => 'Southport', 6175661 => 'Southport', - 61756620 => 'Southport', - 61756621 => 'Southport', - 61756622 => 'Southport', - 61756623 => 'Southport', - 61756624 => 'Southport', - 61756625 => 'Southport', - 61756626 => 'Southport', - 61756627 => 'Southport', - 61756628 => 'Southport', + 6175662 => 'Southport', 61756629 => 'Tweed Heads', 61756630 => 'Tweed Heads', 61756631 => 'Tweed Heads', @@ -36009,16 +30667,11 @@ return array ( 6175679 => 'Southport', 6175680 => 'Southport', 6175687 => 'Southport', + 6175688 => 'Beaudesert', 61756880 => 'Southport', 61756881 => 'Southport', - 61756882 => 'Beaudesert', - 61756883 => 'Beaudesert', - 61756884 => 'Beaudesert', 61756885 => 'Tweed Heads', 61756886 => 'Tweed Heads', - 61756887 => 'Beaudesert', - 61756888 => 'Beaudesert', - 61756889 => 'Beaudesert', 61756890 => 'Southport', 61756891 => 'Southport', 61756892 => 'Southport', @@ -36298,16 +30951,7 @@ return array ( 61861534 => 'Perth', 61861535 => 'Perth', 61861536 => 'Perth', - 6186160 => 'Perth', - 6186161 => 'Perth', - 6186162 => 'Perth', - 6186163 => 'Perth', - 6186164 => 'Perth', - 6186165 => 'Perth', - 6186166 => 'Perth', - 6186167 => 'Perth', - 6186168 => 'Perth', - 6186169 => 'Perth', + 618616 => 'Perth', 61861700 => 'Rottnest', 61861701 => 'Rottnest', 61861702 => 'Spearwood', @@ -36364,28 +31008,13 @@ return array ( 6186199 => 'Herne Hill', 6186200 => 'Wanneroo', 6186201 => 'Wanneroo', - 61862020 => 'Wanneroo', - 61862021 => 'Wanneroo', - 61862022 => 'Wanneroo', - 61862023 => 'Wanneroo', + 6186202 => 'Wanneroo', 61862024 => 'Perth', 61862025 => 'Perth', - 61862026 => 'Wanneroo', - 61862027 => 'Wanneroo', - 61862028 => 'Wanneroo', - 61862029 => 'Wanneroo', 6186203 => 'Wanneroo', 6186204 => 'Wanneroo', - 61862050 => 'Wanneroo', - 61862051 => 'Wanneroo', - 61862052 => 'Wanneroo', + 6186205 => 'Wanneroo', 61862053 => 'Perth', - 61862054 => 'Wanneroo', - 61862055 => 'Wanneroo', - 61862056 => 'Wanneroo', - 61862057 => 'Wanneroo', - 61862058 => 'Wanneroo', - 61862059 => 'Wanneroo', 61862061 => 'Wanneroo', 61862062 => 'Wanneroo', 61862063 => 'Wanneroo', @@ -36395,30 +31024,16 @@ return array ( 61862067 => 'Wanneroo', 6186208 => 'Perth', 6186209 => 'Wanneroo', - 6186210 => 'Perth', - 6186211 => 'Perth', - 6186212 => 'Perth', - 6186213 => 'Perth', - 6186214 => 'Perth', + 618621 => 'Perth', 6186215 => 'Fremantle', - 6186216 => 'Perth', - 6186217 => 'Perth', - 6186218 => 'Perth', 6186219 => 'Fremantle', 6186220 => 'Perth', 6186221 => 'Fremantle', 6186222 => 'Perth', 6186223 => 'Fremantle', 6186224 => 'Perth', - 61862250 => 'Fremantle', - 61862251 => 'Fremantle', + 6186225 => 'Fremantle', 61862252 => 'Perth', - 61862253 => 'Fremantle', - 61862254 => 'Fremantle', - 61862255 => 'Fremantle', - 61862256 => 'Fremantle', - 61862257 => 'Fremantle', - 61862258 => 'Fremantle', 61862259 => 'Perth', 6186226 => 'Fremantle', 6186227 => 'Fremantle', @@ -36461,16 +31076,7 @@ return array ( 61862555 => 'Perth', 6186258 => 'Perth', 6186259 => 'Perth', - 6186260 => 'Perth', - 6186261 => 'Perth', - 6186262 => 'Perth', - 6186263 => 'Perth', - 6186264 => 'Perth', - 6186265 => 'Perth', - 6186266 => 'Perth', - 6186267 => 'Perth', - 6186268 => 'Perth', - 6186269 => 'Perth', + 618626 => 'Perth', 6186270 => 'Perth', 61862710 => 'Perth', 61862711 => 'Perth', @@ -36494,29 +31100,14 @@ return array ( 6186295 => 'Spearwood', 6186296 => 'Herne Hill', 6186297 => 'Herne Hill', - 61862980 => 'Kalamunda', + 6186298 => 'Kalamunda', 61862981 => 'Perth', 61862982 => 'Perth/Kalamunda', - 61862983 => 'Kalamunda', - 61862984 => 'Kalamunda', - 61862985 => 'Kalamunda', - 61862986 => 'Kalamunda', - 61862987 => 'Kalamunda', - 61862988 => 'Kalamunda', - 61862989 => 'Kalamunda', 6186299 => 'Kalamunda', 6186304 => 'Wanneroo', 61863050 => 'Wanneroo', - 6186310 => 'Perth', - 6186311 => 'Perth', + 618631 => 'Perth', 6186312 => 'Fremantle', - 6186313 => 'Perth', - 6186314 => 'Perth', - 6186315 => 'Perth', - 6186316 => 'Perth', - 6186317 => 'Perth', - 6186318 => 'Perth', - 6186319 => 'Perth', 6186320 => 'Perth', 6186321 => 'Perth', 6186322 => 'Perth', @@ -36538,25 +31129,13 @@ return array ( 6186350 => 'Perth', 61863555 => 'Perth', 61863556 => 'Perth', - 6186360 => 'Perth', - 61863610 => 'Perth', - 61863611 => 'Perth', + 618636 => 'Perth', 61863612 => 'Armadale', 61863613 => 'Herne Hill', 61863614 => 'Kalamunda', 61863615 => 'Rottnest', 61863616 => 'Spearwood', 61863617 => 'Wanneroo', - 61863618 => 'Perth', - 61863619 => 'Perth', - 6186362 => 'Perth', - 6186363 => 'Perth', - 6186364 => 'Perth', - 6186365 => 'Perth', - 6186366 => 'Perth', - 6186367 => 'Perth', - 6186368 => 'Perth', - 6186369 => 'Perth', 6186370 => 'Perth', 6186371 => 'Perth', 6186372 => 'Perth', @@ -36602,31 +31181,17 @@ return array ( 61864007 => 'Wanneroo', 61864008 => 'Wanneroo', 61864009 => 'Wanneroo', - 61864010 => 'Wanneroo', + 6186401 => 'Wanneroo', 61864011 => 'Rottnest', - 61864012 => 'Wanneroo', - 61864013 => 'Wanneroo', - 61864014 => 'Wanneroo', - 61864015 => 'Wanneroo', - 61864016 => 'Wanneroo', - 61864017 => 'Wanneroo', - 61864018 => 'Wanneroo', - 61864019 => 'Wanneroo', 61864020 => 'Wanneroo', 61864021 => 'Wanneroo', 61864022 => 'Wanneroo', 6186404 => 'Wanneroo', 6186406 => 'Wanneroo', + 6186414 => 'Fremantle', 61864140 => 'Spearwood/Fremantle', - 61864141 => 'Fremantle', - 61864142 => 'Fremantle', - 61864143 => 'Fremantle', 61864144 => 'Spearwood/Fremantle', - 61864145 => 'Fremantle', 61864146 => 'Fremantle/Spearwood', - 61864147 => 'Fremantle', - 61864148 => 'Fremantle', - 61864149 => 'Fremantle', 61864150 => 'Fremantle', 61864151 => 'Fremantle', 6186420 => 'Fremantle', @@ -36647,15 +31212,7 @@ return array ( 61864588 => 'Perth', 61864589 => 'Perth', 6186459 => 'Perth', - 6186460 => 'Perth', - 6186461 => 'Perth', - 6186462 => 'Perth', - 6186463 => 'Perth', - 6186464 => 'Perth', - 6186465 => 'Perth', - 6186466 => 'Perth', - 6186467 => 'Perth', - 6186468 => 'Perth', + 618646 => 'Perth', 6186469 => 'Kalamunda', 6186477 => 'Perth', 6186478 => 'Perth', @@ -37324,16 +31881,7 @@ return array ( 61870083 => 'Adelaide', 61870085 => 'Adelaide', 6187009 => 'Adelaide', - 6187070 => 'Adelaide', - 6187071 => 'Adelaide', - 6187072 => 'Adelaide', - 6187073 => 'Adelaide', - 6187074 => 'Adelaide', - 6187075 => 'Adelaide', - 6187076 => 'Adelaide', - 6187077 => 'Adelaide', - 6187078 => 'Adelaide', - 6187079 => 'Adelaide', + 618707 => 'Adelaide', 6187080 => 'Adelaide', 6187081 => 'Adelaide', 6187082 => 'Adelaide', @@ -37358,25 +31906,9 @@ return array ( 61871112 => 'Adelaide', 61871113 => 'Adelaide', 6187117 => 'Adelaide', - 61871200 => 'Adelaide', + 618712 => 'Adelaide', 61871201 => 'Woodside', - 61871202 => 'Adelaide', 61871203 => 'Mount Barker', - 61871204 => 'Adelaide', - 61871205 => 'Adelaide', - 61871206 => 'Adelaide', - 61871207 => 'Adelaide', - 61871208 => 'Adelaide', - 61871209 => 'Adelaide', - 6187121 => 'Adelaide', - 6187122 => 'Adelaide', - 6187123 => 'Adelaide', - 6187124 => 'Adelaide', - 6187125 => 'Adelaide', - 6187126 => 'Adelaide', - 6187127 => 'Adelaide', - 6187128 => 'Adelaide', - 6187129 => 'Adelaide', 61871300 => 'Adelaide', 61871301 => 'Adelaide', 61871302 => 'Adelaide', @@ -37402,16 +31934,10 @@ return array ( 61871847 => 'Mount Barker', 61871848 => 'Salisbury', 61871849 => 'Woodside', + 6187185 => 'Woodside', 61871850 => 'Mclaren Vale', 61871851 => 'Salisbury', - 61871852 => 'Woodside', 61871853 => 'Salisbury', - 61871854 => 'Woodside', - 61871855 => 'Woodside', - 61871856 => 'Woodside', - 61871857 => 'Woodside', - 61871858 => 'Woodside', - 61871859 => 'Woodside', 6187186 => 'Mclaren Vale', 6187187 => 'Mount Barker', 6187188 => 'Salisbury', @@ -37427,25 +31953,12 @@ return array ( 61872021 => 'Adelaide', 6187210 => 'Adelaide', 61872110 => 'Adelaide', - 6187220 => 'Adelaide', - 6187221 => 'Adelaide', - 6187222 => 'Adelaide', - 6187223 => 'Adelaide', - 6187224 => 'Adelaide', - 6187225 => 'Adelaide', - 6187226 => 'Adelaide', + 618722 => 'Adelaide', 6187227 => 'Woodside', 61872280 => 'Salisbury', 61872281 => 'Mclaren Vale', - 61872282 => 'Adelaide', 61872283 => 'Mount Barker', 61872284 => 'Woodside', - 61872285 => 'Adelaide', - 61872286 => 'Adelaide', - 61872287 => 'Adelaide', - 61872288 => 'Adelaide', - 61872289 => 'Adelaide', - 6187229 => 'Adelaide', 6187230 => 'Adelaide', 6187231 => 'Adelaide', 61872320 => 'Adelaide', @@ -37473,15 +31986,7 @@ return array ( 61872829 => 'Salisbury', 6187283 => 'Mclaren Vale', 6187284 => 'Salisbury', - 61872850 => 'Salisbury', - 61872851 => 'Salisbury', - 61872852 => 'Salisbury', - 61872853 => 'Salisbury', - 61872854 => 'Salisbury', - 61872855 => 'Salisbury', - 61872856 => 'Salisbury', - 61872857 => 'Salisbury', - 61872858 => 'Salisbury', + 6187285 => 'Salisbury', 61872859 => 'Mclaren Vale', 61872860 => 'Mclaren Vale', 61872861 => 'Mount Barker', @@ -37496,16 +32001,8 @@ return array ( 6187287 => 'Mount Barker', 6187288 => 'Mclaren Vale', 6187289 => 'Salisbury', - 6187320 => 'Adelaide', - 6187321 => 'Adelaide', - 6187322 => 'Adelaide', - 6187323 => 'Adelaide', - 6187324 => 'Adelaide', - 6187325 => 'Adelaide', - 6187326 => 'Adelaide', + 618732 => 'Adelaide', 6187327 => 'Woodside', - 6187328 => 'Adelaide', - 6187329 => 'Adelaide', 61873333 => 'Adelaide', 61873334 => 'Adelaide', 6187370 => 'Salisbury', @@ -37545,16 +32042,8 @@ return array ( 61874445 => 'Adelaide', 61874777 => 'Adelaide', 61874778 => 'Adelaide', + 6187480 => 'Salisbury', 61874800 => 'Mclaren Vale', - 61874801 => 'Salisbury', - 61874802 => 'Salisbury', - 61874803 => 'Salisbury', - 61874804 => 'Salisbury', - 61874805 => 'Salisbury', - 61874806 => 'Salisbury', - 61874807 => 'Salisbury', - 61874808 => 'Salisbury', - 61874809 => 'Salisbury', 61874810 => 'Woodside', 61874812 => 'Woodside', 61874815 => 'Woodside', @@ -38495,16 +32984,10 @@ return array ( 61877247 => 'Tilley Swamp', 61877248 => 'Tintinara', 61877249 => 'Western Flat', + 6187725 => 'Mount Gambier', 61877250 => 'Willalooka', 61877251 => 'Wirrega', 61877252 => 'Wrattonbully', - 61877253 => 'Mount Gambier', - 61877254 => 'Mount Gambier', - 61877255 => 'Mount Gambier', - 61877256 => 'Mount Gambier', - 61877257 => 'Mount Gambier', - 61877258 => 'Mount Gambier', - 61877259 => 'Mount Gambier', 61878000 => 'Alford', 61878001 => 'Ardrossan', 61878002 => 'Arthurton', @@ -38871,13 +33354,7 @@ return array ( 61879268 => 'Darwin', 61879269 => 'Darwin', 6187927 => 'Darwin', - 61879280 => 'Darwin', - 61879281 => 'Darwin', - 61879282 => 'Darwin', - 61879283 => 'Darwin', - 61879284 => 'Darwin', - 61879285 => 'Darwin', - 61879286 => 'Darwin', + 6187928 => 'Darwin', 61879287 => 'Alice Springs', 61879288 => 'Alice Springs', 61879289 => 'Alice Springs', @@ -38938,7 +33415,6 @@ return array ( 61879799 => 'Darwin', 6187980 => 'Darwin', 6187988 => 'Darwin', - 61879889 => 'Darwin', 6187989 => 'Darwin', 61879994 => 'Batchelor', 61879995 => 'Batchelor', @@ -39249,31 +33725,10 @@ return array ( 61881902 => 'Adelaide', 6188193 => 'Adelaide', 6188198 => 'Adelaide', - 6188200 => 'Adelaide', - 6188201 => 'Adelaide', - 6188202 => 'Adelaide', - 6188203 => 'Adelaide', - 6188204 => 'Adelaide', - 6188205 => 'Adelaide', - 6188206 => 'Adelaide', - 61882070 => 'Adelaide', - 61882071 => 'Adelaide', - 61882072 => 'Adelaide', + 618820 => 'Adelaide', 61882073 => 'Mclaren Vale', - 61882074 => 'Adelaide', - 61882075 => 'Adelaide', - 61882076 => 'Adelaide', - 61882077 => 'Adelaide', - 61882078 => 'Adelaide', 61882079 => 'Salisbury', - 6188208 => 'Adelaide', - 61882090 => 'Salisbury', - 61882091 => 'Salisbury', - 61882092 => 'Salisbury', - 61882093 => 'Salisbury', - 61882094 => 'Salisbury', - 61882095 => 'Salisbury', - 61882096 => 'Salisbury', + 6188209 => 'Salisbury', 61882097 => 'Woodside', 61882098 => 'Woodside', 61882099 => 'Woodside', @@ -39289,36 +33744,15 @@ return array ( 6188246 => 'Adelaide', 6188248 => 'Adelaide', 6188249 => 'Adelaide', - 6188250 => 'Salisbury', - 6188251 => 'Salisbury', - 6188252 => 'Salisbury', + 618825 => 'Salisbury', 6188253 => 'Adelaide', - 6188254 => 'Salisbury', - 6188255 => 'Salisbury', - 6188256 => 'Salisbury', 6188257 => 'Adelaide', - 6188258 => 'Salisbury', - 6188259 => 'Salisbury', 618826 => 'Adelaide', 618827 => 'Adelaide', 618828 => 'Salisbury', 618829 => 'Adelaide', - 6188300 => 'Adelaide', - 61883010 => 'Adelaide', - 61883011 => 'Adelaide', - 61883012 => 'Adelaide', - 61883013 => 'Adelaide', - 61883014 => 'Adelaide', - 61883015 => 'Adelaide', - 61883016 => 'Adelaide', + 618830 => 'Adelaide', 61883017 => 'Mclaren Vale', - 61883018 => 'Adelaide', - 61883019 => 'Adelaide', - 6188302 => 'Adelaide', - 6188303 => 'Adelaide', - 6188304 => 'Adelaide', - 6188305 => 'Adelaide', - 6188306 => 'Adelaide', 61883070 => 'Mclaren Vale', 61883071 => 'Mclaren Vale', 61883072 => 'Mclaren Vale', @@ -39327,10 +33761,7 @@ return array ( 61883075 => 'Salisbury', 61883076 => 'Salisbury', 61883077 => 'Salisbury', - 61883078 => 'Adelaide', 61883079 => 'Salisbury', - 6188308 => 'Adelaide', - 6188309 => 'Adelaide', 6188310 => 'Adelaide', 6188311 => 'Adelaide', 6188312 => 'Adelaide', @@ -39350,68 +33781,35 @@ return array ( 6188327 => 'Mclaren Vale', 6188328 => 'Mclaren Vale', 6188329 => 'Mclaren Vale', - 6188330 => 'Adelaide', - 6188331 => 'Adelaide', - 6188332 => 'Adelaide', - 6188333 => 'Adelaide', - 6188334 => 'Adelaide', + 618833 => 'Adelaide', 6188335 => 'Salisbury', - 6188336 => 'Adelaide', - 6188337 => 'Adelaide', - 6188338 => 'Adelaide', - 6188339 => 'Adelaide', 618834 => 'Adelaide', 618835 => 'Adelaide', 618836 => 'Adelaide', 618837 => 'Adelaide', + 618838 => 'Mclaren Vale', 6188380 => 'Salisbury', - 6188381 => 'Mclaren Vale', - 6188382 => 'Mclaren Vale', - 6188383 => 'Mclaren Vale', - 6188384 => 'Mclaren Vale', 6188385 => 'Woodside', - 6188386 => 'Mclaren Vale', - 6188387 => 'Mclaren Vale', 6188388 => 'Mount Barker', 6188389 => 'Woodside', 6188390 => 'Adelaide', 6188391 => 'Mount Barker', 6188392 => 'Mclaren Vale', - 61883930 => 'Mount Barker', - 61883931 => 'Mount Barker', + 6188393 => 'Mount Barker', 61883932 => 'Salisbury', 61883933 => 'Salisbury', 61883934 => 'Salisbury', 61883935 => 'Salisbury', - 61883936 => 'Mount Barker', - 61883937 => 'Mount Barker', - 61883938 => 'Mount Barker', - 61883939 => 'Mount Barker', 6188394 => 'Adelaide', 6188395 => 'Adelaide', 6188396 => 'Adelaide', 6188397 => 'Adelaide', 6188398 => 'Mount Barker', 6188399 => 'Mount Barker', - 6188400 => 'Adelaide', - 6188401 => 'Adelaide', - 6188402 => 'Adelaide', - 6188403 => 'Adelaide', - 6188404 => 'Adelaide', - 6188405 => 'Adelaide', - 61884060 => 'Adelaide', - 61884061 => 'Adelaide', - 61884062 => 'Adelaide', - 61884063 => 'Adelaide', - 61884064 => 'Adelaide', - 61884065 => 'Adelaide', + 618840 => 'Adelaide', 61884066 => 'Mclaren Vale', 61884067 => 'Mount Barker', 61884068 => 'Salisbury', - 61884069 => 'Adelaide', - 6188407 => 'Adelaide', - 6188408 => 'Adelaide', - 6188409 => 'Adelaide', 618841 => 'Adelaide', 618842 => 'Adelaide', 6188431 => 'Adelaide', @@ -39438,16 +33836,7 @@ return array ( 6188464 => 'Adelaide', 6188465 => 'Adelaide', 6188468 => 'Adelaide', - 6188470 => 'Adelaide', - 6188471 => 'Adelaide', - 6188472 => 'Adelaide', - 6188473 => 'Adelaide', - 6188474 => 'Adelaide', - 6188475 => 'Adelaide', - 6188476 => 'Adelaide', - 6188477 => 'Adelaide', - 6188478 => 'Adelaide', - 6188479 => 'Adelaide', + 618847 => 'Adelaide', 6188480 => 'Salisbury', 6188481 => 'Mount Barker', 6188482 => 'Salisbury', @@ -39659,22 +34048,12 @@ return array ( 61885197 => 'Tailem Bend', 61885198 => 'Tailem Bend', 61885199 => 'Windsor', - 61885200 => 'Two Wells', - 61885201 => 'Two Wells', - 61885202 => 'Two Wells', - 61885203 => 'Two Wells', - 61885204 => 'Two Wells', - 61885205 => 'Two Wells', + 6188520 => 'Two Wells', 61885206 => 'Gawler', 61885207 => 'Hamley Bridge', 61885208 => 'Riverton', 61885209 => 'Barmera', - 61885210 => 'Gawler', - 61885211 => 'Gawler', - 61885212 => 'Gawler', - 61885213 => 'Gawler', - 61885214 => 'Gawler', - 61885215 => 'Gawler', + 6188521 => 'Gawler', 61885216 => 'Freeling', 61885217 => 'Freeling', 61885218 => 'Hamley Bridge', @@ -39682,34 +34061,18 @@ return array ( 6188522 => 'Gawler', 6188523 => 'Gawler', 6188524 => 'Gawler', - 61885250 => 'Freeling', - 61885251 => 'Freeling', - 61885252 => 'Freeling', - 61885253 => 'Freeling', - 61885254 => 'Freeling', - 61885255 => 'Freeling', + 6188525 => 'Freeling', 61885256 => 'Gawler', 61885257 => 'Gawler', 61885258 => 'Gawler', 61885259 => 'Gawler', + 6188526 => 'Gawler', 61885260 => 'Mypolonga', 61885261 => 'Murray Bridge', 61885262 => 'Mannum', 61885263 => 'Karoonda', - 61885264 => 'Gawler', - 61885265 => 'Gawler', - 61885266 => 'Gawler', - 61885267 => 'Gawler', - 61885268 => 'Gawler', - 61885269 => 'Gawler', 6188527 => 'Mallala', - 61885280 => 'Hamley Bridge', - 61885281 => 'Hamley Bridge', - 61885282 => 'Hamley Bridge', - 61885283 => 'Hamley Bridge', - 61885284 => 'Hamley Bridge', - 61885285 => 'Hamley Bridge', - 61885286 => 'Hamley Bridge', + 6188528 => 'Hamley Bridge', 61885287 => 'Goolwa', 61885288 => 'Victor Harbor', 61885289 => 'Willunga', @@ -39745,12 +34108,7 @@ return array ( 61885337 => 'Two Wells', 61885338 => 'Two Wells', 61885339 => 'Murray Bridge', - 61885340 => 'Murray Bridge', - 61885341 => 'Murray Bridge', - 61885342 => 'Murray Bridge', - 61885343 => 'Murray Bridge', - 61885344 => 'Murray Bridge', - 61885345 => 'Murray Bridge', + 6188534 => 'Murray Bridge', 61885346 => 'Tanunda', 61885347 => 'Mantung', 61885348 => 'Mantung', @@ -39796,16 +34154,11 @@ return array ( 61885397 => 'Langhorne Creek', 61885398 => 'Milang', 61885399 => 'Strathalbyn', - 61885400 => 'Morgan', - 61885401 => 'Morgan', - 61885402 => 'Morgan', - 61885403 => 'Morgan', - 61885404 => 'Morgan', + 6188540 => 'Morgan', 61885405 => 'Blanchetown', 61885406 => 'Blanchetown', 61885407 => 'New Well', 61885408 => 'Blanchetown', - 61885409 => 'Morgan', 6188541 => 'Waikerie', 61885420 => 'Waikerie', 61885421 => 'Waikerie', @@ -39886,14 +34239,9 @@ return array ( 61885497 => 'Mount Pleasant', 61885498 => 'Robertstown', 61885499 => 'Sanderston', - 61885500 => 'Willunga', - 61885501 => 'Willunga', - 61885502 => 'Willunga', - 61885503 => 'Willunga', - 61885504 => 'Willunga', + 6188550 => 'Willunga', 61885505 => 'Yankalilla', 61885506 => 'Strathalbyn', - 61885507 => 'Willunga', 61885508 => 'Goolwa', 61885509 => 'Goolwa', 61885510 => 'Victor Harbor', @@ -39907,25 +34255,13 @@ return array ( 61885518 => 'Parndana', 61885519 => 'Karatta', 6188552 => 'Victor Harbor', - 61885530 => 'Kingscote', + 6188553 => 'Kingscote', 61885531 => 'Penneshaw', - 61885532 => 'Kingscote', - 61885533 => 'Kingscote', - 61885534 => 'Kingscote', - 61885535 => 'Kingscote', 61885536 => 'Penneshaw', 61885537 => 'Penneshaw', 61885538 => 'Penneshaw', - 61885539 => 'Kingscote', 6188554 => 'Victor Harbor', - 61885550 => 'Goolwa', - 61885551 => 'Goolwa', - 61885552 => 'Goolwa', - 61885553 => 'Goolwa', - 61885554 => 'Goolwa', - 61885555 => 'Goolwa', - 61885556 => 'Goolwa', - 61885557 => 'Goolwa', + 6188555 => 'Goolwa', 61885558 => 'Victor Harbor', 61885559 => 'Victor Harbor', 6188556 => 'Willunga', @@ -39961,26 +34297,15 @@ return array ( 61885617 => 'Walker Flat', 61885618 => 'Sedan', 61885619 => 'Swan Reach', - 61885620 => 'Tanunda', - 61885621 => 'Tanunda', - 61885622 => 'Tanunda', - 61885623 => 'Tanunda', - 61885624 => 'Tanunda', + 6188562 => 'Tanunda', 61885625 => 'Sedan', 61885626 => 'Sandleton', 61885627 => 'Bower', - 61885628 => 'Tanunda', - 61885629 => 'Tanunda', 6188563 => 'Tanunda', + 6188564 => 'Tanunda', 61885640 => 'Truro', - 61885641 => 'Tanunda', - 61885642 => 'Tanunda', - 61885643 => 'Tanunda', - 61885644 => 'Tanunda', 61885645 => 'Sedan', 61885646 => 'Sedan', - 61885647 => 'Tanunda', - 61885648 => 'Tanunda', 61885649 => 'Truro', 61885650 => 'Sedan', 61885651 => 'Sedan', @@ -40012,26 +34337,13 @@ return array ( 61885677 => 'Copeville', 61885678 => 'Culburra', 61885679 => 'Geranium', - 61885680 => 'Mount Pleasant', - 61885681 => 'Mount Pleasant', - 61885682 => 'Mount Pleasant', - 61885683 => 'Mount Pleasant', - 61885684 => 'Mount Pleasant', - 61885685 => 'Mount Pleasant', + 6188568 => 'Mount Pleasant', 61885686 => 'Tanunda', 61885687 => 'Tanunda', 61885688 => 'Tanunda', 61885689 => 'Tanunda', - 61885690 => 'Mannum', - 61885691 => 'Mannum', - 61885692 => 'Mannum', + 6188569 => 'Mannum', 61885693 => 'Sanderston', - 61885694 => 'Mannum', - 61885695 => 'Mannum', - 61885696 => 'Mannum', - 61885697 => 'Mannum', - 61885698 => 'Mannum', - 61885699 => 'Mannum', 61885700 => 'Swan Reach', 61885701 => 'Swan Reach', 61885702 => 'Swan Reach', @@ -40143,15 +34455,9 @@ return array ( 61885818 => 'Robertstown', 61885819 => 'Robertstown', 6188582 => 'Berri', + 6188583 => 'Berri', 61885830 => 'Barmera', - 61885831 => 'Berri', - 61885832 => 'Berri', - 61885833 => 'Berri', 61885834 => 'Barmera', - 61885835 => 'Berri', - 61885836 => 'Berri', - 61885837 => 'Berri', - 61885838 => 'Berri', 61885839 => 'Barmera', 6188584 => 'Loxton', 61885850 => 'Gurrai', @@ -40235,15 +34541,9 @@ return array ( 61885947 => 'Marama', 61885948 => 'Meningie', 61885949 => 'Meningie East', - 61885950 => 'Renmark', - 61885951 => 'Renmark', + 6188595 => 'Renmark', 61885952 => 'Berri', - 61885953 => 'Renmark', - 61885954 => 'Renmark', - 61885955 => 'Renmark', 61885956 => 'Taldra', - 61885957 => 'Renmark', - 61885958 => 'Renmark', 61885959 => 'Loxton', 61885960 => 'Narrung', 61885961 => 'Coonalpyn', @@ -40265,16 +34565,8 @@ return array ( 61885977 => 'Loxton', 61885978 => 'Paruna', 61885979 => 'Renmark', - 61885980 => 'Yankalilla', - 61885981 => 'Yankalilla', - 61885982 => 'Yankalilla', - 61885983 => 'Yankalilla', - 61885984 => 'Yankalilla', - 61885985 => 'Yankalilla', - 61885986 => 'Yankalilla', + 6188598 => 'Yankalilla', 61885987 => 'Tailem Bend', - 61885988 => 'Yankalilla', - 61885989 => 'Yankalilla', 61885990 => 'Taldra', 61885991 => 'Taplan', 61885992 => 'Wanbi', @@ -40555,15 +34847,10 @@ return array ( 61886267 => 'Streaky Bay', 61886268 => 'Wirrulla', 61886269 => 'Ceduna', - 61886270 => 'Kimba', - 61886271 => 'Kimba', - 61886272 => 'Kimba', - 61886273 => 'Kimba', - 61886274 => 'Kimba', + 6188627 => 'Kimba', 61886275 => 'Kelly', 61886276 => 'Kelly', 61886277 => 'Kelly', - 61886278 => 'Kimba', 61886279 => 'Kelly', 61886280 => 'Arno Bay', 61886281 => 'Arno Bay', @@ -40575,15 +34862,10 @@ return array ( 61886287 => 'Ceduna', 61886288 => 'Wharminda', 61886289 => 'Wharminda', + 6188629 => 'Cowell', 61886290 => 'Coffin Bay', 61886291 => 'Coulta', - 61886292 => 'Cowell', - 61886293 => 'Cowell', - 61886294 => 'Cowell', - 61886295 => 'Cowell', - 61886296 => 'Cowell', 61886297 => 'Miltalie', - 61886298 => 'Cowell', 61886299 => 'Cummins', 61886300 => 'Port Pirie', 61886301 => 'Port Pirie', @@ -40606,16 +34888,9 @@ return array ( 61886318 => 'Sheringa', 61886319 => 'Whyalla', 6188632 => 'Port Pirie', - 61886330 => 'Port Pirie', - 61886331 => 'Port Pirie', - 61886332 => 'Port Pirie', - 61886333 => 'Port Pirie', - 61886334 => 'Port Pirie', - 61886335 => 'Port Pirie', + 6188633 => 'Port Pirie', 61886336 => 'Darke Peak', 61886337 => 'Elliston', - 61886338 => 'Port Pirie', - 61886339 => 'Port Pirie', 61886340 => 'Nelshaby', 61886341 => 'Nelshaby', 61886342 => 'Port Pirie', @@ -40626,26 +34901,16 @@ return array ( 61886347 => 'Mambray Creek', 61886348 => 'Mambray Creek', 61886349 => 'Port Pirie', - 61886350 => 'Port Broughton', - 61886351 => 'Port Broughton', - 61886352 => 'Port Broughton', - 61886353 => 'Port Broughton', - 61886354 => 'Port Broughton', - 61886355 => 'Port Broughton', + 6188635 => 'Port Broughton', 61886356 => 'Minnipa', 61886357 => 'Mount Hope', 61886358 => 'Port Lincoln', 61886359 => 'Port Neill', - 61886360 => 'Crystal Brook', - 61886361 => 'Crystal Brook', - 61886362 => 'Crystal Brook', - 61886363 => 'Crystal Brook', - 61886364 => 'Crystal Brook', + 6188636 => 'Crystal Brook', 61886365 => 'Wandearah East', 61886366 => 'Wandearah East', 61886367 => 'Redhill', 61886368 => 'Redhill', - 61886369 => 'Crystal Brook', 61886370 => 'Rudall', 61886371 => 'Gladstone', 61886372 => 'Georgetown', @@ -40851,22 +35116,12 @@ return array ( 61886627 => 'Georgetown', 61886628 => 'Georgetown', 61886629 => 'Gladstone', - 61886630 => 'Laura', - 61886631 => 'Laura', - 61886632 => 'Laura', - 61886633 => 'Laura', - 61886634 => 'Laura', - 61886635 => 'Laura', + 6188663 => 'Laura', 61886636 => 'Wanilla', 61886637 => 'Wharminda', 61886638 => 'Wudinna', 61886639 => 'Yabmana', - 61886640 => 'Jamestown', - 61886641 => 'Jamestown', - 61886642 => 'Jamestown', - 61886643 => 'Jamestown', - 61886644 => 'Jamestown', - 61886645 => 'Jamestown', + 6188664 => 'Jamestown', 61886646 => 'Port Lincoln', 61886647 => 'Gladstone', 61886648 => 'Gladstone', @@ -40881,16 +35136,9 @@ return array ( 61886657 => 'Caltowie', 61886658 => 'Caltowie', 61886659 => 'Caltowie', - 61886660 => 'Melrose', - 61886661 => 'Melrose', - 61886662 => 'Melrose', - 61886663 => 'Melrose', - 61886664 => 'Melrose', - 61886665 => 'Melrose', + 6188666 => 'Melrose', 61886666 => 'Willowie', 61886667 => 'Willowie', - 61886668 => 'Melrose', - 61886669 => 'Melrose', 61886670 => 'Gairdner', 61886671 => 'Gairdner', 61886672 => 'Booleroo Centre', @@ -40959,16 +35207,10 @@ return array ( 61886744 => 'Woomera', 61886748 => 'Gairdner', 61886749 => 'Frome', - 61886750 => 'Frome', - 61886751 => 'Frome', + 6188675 => 'Frome', 61886752 => 'Leigh Creek South', 61886753 => 'Leigh Creek South', 61886754 => 'Leigh Creek South', - 61886755 => 'Frome', - 61886756 => 'Frome', - 61886757 => 'Frome', - 61886758 => 'Frome', - 61886759 => 'Frome', 61886760 => 'Cummins', 61886761 => 'Cummins', 61886762 => 'Cummins', @@ -41002,16 +35244,11 @@ return array ( 61886790 => 'Orroroo', 61886791 => 'Orroroo', 61886792 => 'Andamooka', - 61886800 => 'Wudinna', - 61886801 => 'Wudinna', - 61886802 => 'Wudinna', - 61886803 => 'Wudinna', - 61886804 => 'Wudinna', + 6188680 => 'Wudinna', 61886805 => 'Minnipa', 61886806 => 'Minnipa', 61886807 => 'Minnipa', 61886808 => 'Minnipa', - 61886809 => 'Wudinna', 61886810 => 'Koongawa', 61886811 => 'Kyancutta', 61886812 => 'Kyancutta', @@ -41021,15 +35258,7 @@ return array ( 61886818 => 'Kyancutta', 61886819 => 'Kyancutta', 6188682 => 'Port Lincoln', - 61886830 => 'Port Lincoln', - 61886831 => 'Port Lincoln', - 61886832 => 'Port Lincoln', - 61886833 => 'Port Lincoln', - 61886834 => 'Port Lincoln', - 61886835 => 'Port Lincoln', - 61886836 => 'Port Lincoln', - 61886837 => 'Port Lincoln', - 61886838 => 'Port Lincoln', + 6188683 => 'Port Lincoln', 61886839 => 'Rudall', 61886840 => 'Port Lincoln', 61886841 => 'Port Lincoln', @@ -41240,16 +35469,10 @@ return array ( 61887067 => 'Millicent', 61887068 => 'Millicent', 61887069 => 'Laffer', - 61887070 => 'Mount Gambier', - 61887071 => 'Mount Gambier', - 61887072 => 'Mount Gambier', + 6188707 => 'Mount Gambier', 61887073 => 'Monkoora', 61887074 => 'Monkoora', 61887075 => 'Monkoora', - 61887076 => 'Mount Gambier', - 61887077 => 'Mount Gambier', - 61887078 => 'Mount Gambier', - 61887079 => 'Mount Gambier', 61887080 => 'Naracoorte', 61887081 => 'Naracoorte', 61887082 => 'Naracoorte', @@ -41485,26 +35708,15 @@ return array ( 61887357 => 'Rendelsham', 61887358 => 'Rendelsham', 61887359 => 'Thornlea', - 61887360 => 'Coonawarra', - 61887361 => 'Coonawarra', - 61887362 => 'Coonawarra', - 61887363 => 'Coonawarra', - 61887364 => 'Coonawarra', - 61887365 => 'Coonawarra', + 6188736 => 'Coonawarra', 61887366 => 'Short', 61887367 => 'Short', 61887368 => 'Short', 61887369 => 'Short', 6188737 => 'Penola', + 6188738 => 'Port Macdonnell', 61887380 => 'Kongorong', 61887381 => 'Kongorong', - 61887382 => 'Port Macdonnell', - 61887383 => 'Port Macdonnell', - 61887384 => 'Port Macdonnell', - 61887385 => 'Port Macdonnell', - 61887386 => 'Port Macdonnell', - 61887387 => 'Port Macdonnell', - 61887388 => 'Port Macdonnell', 61887389 => 'Kongorong', 61887390 => 'Tarpeena', 61887391 => 'Tarpeena', @@ -41741,34 +35953,16 @@ return array ( 61887667 => 'Conmurra', 61887668 => 'Conmurra', 61887669 => 'Conmurra', - 61887670 => 'Kingston Se', - 61887671 => 'Kingston Se', - 61887672 => 'Kingston Se', - 61887673 => 'Kingston Se', - 61887674 => 'Kingston Se', + 6188767 => 'Kingston Se', 61887675 => 'Keilira', - 61887676 => 'Kingston Se', 61887677 => 'Taratap', 61887678 => 'Tilley Swamp', 61887679 => 'Keilira', - 61887680 => 'Robe', - 61887681 => 'Robe', - 61887682 => 'Robe', - 61887683 => 'Robe', - 61887684 => 'Robe', - 61887685 => 'Robe', - 61887686 => 'Robe', + 6188768 => 'Robe', 61887687 => 'Reedy Creek', 61887688 => 'Reedy Creek', 61887689 => 'Reedy Creek', - 61887690 => 'Lucindale South', - 61887691 => 'Lucindale South', - 61887692 => 'Lucindale South', - 61887693 => 'Lucindale South', - 61887694 => 'Lucindale South', - 61887695 => 'Lucindale South', - 61887696 => 'Lucindale South', - 61887697 => 'Lucindale South', + 6188769 => 'Lucindale South', 61887698 => 'Lochaber', 61887699 => 'Frances', 61887700 => 'Bangham', @@ -42287,12 +36481,7 @@ return array ( 6188825 => 'Moonta', 6188826 => 'Bute', 6188827 => 'Paskeville', - 61888280 => 'Kadina', - 61888281 => 'Kadina', - 61888282 => 'Kadina', - 61888283 => 'Kadina', - 61888284 => 'Kadina', - 61888285 => 'Kadina', + 6188828 => 'Kadina', 61888286 => 'Moonta', 61888287 => 'Alford', 61888288 => 'Bute', @@ -42344,25 +36533,13 @@ return array ( 6188837 => 'Ardrossan', 6188838 => 'Pine Point', 6188839 => 'Pine Point', + 6188840 => 'Riverton', 61888400 => 'Auburn', 61888401 => 'Auburn', 61888402 => 'Auburn', - 61888403 => 'Riverton', - 61888404 => 'Riverton', - 61888405 => 'Riverton', - 61888406 => 'Riverton', - 61888407 => 'Riverton', - 61888408 => 'Riverton', - 61888409 => 'Riverton', - 61888410 => 'Clare', - 61888411 => 'Clare', - 61888412 => 'Clare', - 61888413 => 'Clare', - 61888414 => 'Clare', + 6188841 => 'Clare', 61888415 => 'Spalding', - 61888416 => 'Clare', 61888417 => 'Blyth', - 61888418 => 'Clare', 61888419 => 'Brinkworth', 6188842 => 'Clare', 6188843 => 'Clare', @@ -42393,12 +36570,7 @@ return array ( 61888518 => 'South Hummocks', 61888519 => 'Booborowie', 6188852 => 'Yorketown', - 61888530 => 'Minlaton', - 61888531 => 'Minlaton', - 61888532 => 'Minlaton', - 61888533 => 'Minlaton', - 61888534 => 'Minlaton', - 61888535 => 'Minlaton', + 6188853 => 'Minlaton', 61888536 => 'Curramulka', 61888537 => 'Curramulka', 61888538 => 'Curramulka', @@ -42413,12 +36585,7 @@ return array ( 61888547 => 'Curramulka', 61888548 => 'Curramulka', 61888549 => 'Warooka', - 61888550 => 'Warooka', - 61888551 => 'Warooka', - 61888552 => 'Warooka', - 61888553 => 'Warooka', - 61888554 => 'Warooka', - 61888555 => 'Warooka', + 6188855 => 'Warooka', 61888556 => 'Thistle', 61888557 => 'Wedge', 61888558 => 'Wedge', @@ -42720,12 +36887,7 @@ return array ( 61888917 => 'Nantawarra', 61888918 => 'Thistle', 61888919 => 'Thistle', - 61888920 => 'Burra', - 61888921 => 'Burra', - 61888922 => 'Burra', - 61888923 => 'Burra', - 61888924 => 'Burra', - 61888925 => 'Burra', + 6188892 => 'Burra', 61888926 => 'Hallett', 61888927 => 'Braemer', 61888928 => 'Braemer', @@ -42946,21 +37108,14 @@ return array ( 61889188 => 'Noonamah', 61889189 => 'Pine Creek', 6188919 => 'Darwin', - 6188920 => 'Darwin', + 618892 => 'Darwin', 61889210 => 'Victoria River', - 61889211 => 'Darwin', - 61889212 => 'Darwin', 61889213 => 'Alice Springs', 61889214 => 'Alice Springs', 61889215 => 'Roper River', 61889216 => 'Tiwi', 61889217 => 'Victoria River', - 61889218 => 'Darwin', 61889219 => 'Elliott', - 6188922 => 'Darwin', - 6188923 => 'Darwin', - 6188924 => 'Darwin', - 6188925 => 'Darwin', 61889260 => 'Petermann', 61889261 => 'Plenty', 61889262 => 'Ranken River', @@ -42971,8 +37126,6 @@ return array ( 61889267 => 'Tennant Creek', 61889268 => 'Yulara', 61889269 => 'Alyangula', - 6188927 => 'Darwin', - 6188928 => 'Darwin', 6188929 => 'Alice Springs', 6188930 => 'Darwin', 6188931 => 'Darwin', @@ -43029,6 +37182,7 @@ return array ( 61889397 => 'Batchelor', 61889398 => 'Daly', 61889399 => 'Daly', + 618894 => 'Darwin', 61889400 => 'Elliott', 61889401 => 'Petermann', 61889402 => 'Plenty', @@ -43039,36 +37193,17 @@ return array ( 61889407 => 'Tanami', 61889408 => 'Tennant Creek', 61889409 => 'Yulara', - 6188941 => 'Darwin', - 6188942 => 'Darwin', - 6188943 => 'Darwin', - 6188944 => 'Darwin', - 6188945 => 'Darwin', - 6188946 => 'Darwin', - 6188947 => 'Darwin', - 6188948 => 'Darwin', 61889490 => 'Alyangula', 61889491 => 'Arnhem', 61889492 => 'Batchelor', 61889493 => 'Borroloola', 61889494 => 'Carpentaria', 61889495 => 'Daly', - 61889496 => 'Darwin', 61889497 => 'Jabiru', 61889498 => 'Katherine', 61889499 => 'Nhulunbuy', - 6188950 => 'Alice Springs', - 6188951 => 'Alice Springs', - 6188952 => 'Alice Springs', - 6188953 => 'Alice Springs', + 618895 => 'Alice Springs', 6188954 => 'Petermann', - 61889550 => 'Alice Springs', - 61889551 => 'Alice Springs', - 61889552 => 'Alice Springs', - 61889553 => 'Alice Springs', - 61889554 => 'Alice Springs', - 61889555 => 'Alice Springs', - 61889556 => 'Alice Springs', 61889557 => 'Petermann', 61889558 => 'Petermann', 61889559 => 'Petermann', @@ -43092,8 +37227,6 @@ return array ( 61889577 => 'Yulara', 61889578 => 'Tanami', 61889579 => 'Tanami', - 6188958 => 'Alice Springs', - 6188959 => 'Alice Springs', 61889600 => 'Noonamah', 61889601 => 'Pine Creek', 61889602 => 'Roper River', @@ -43114,15 +37247,7 @@ return array ( 61889617 => 'Tanami', 61889618 => 'Tennant Creek', 61889619 => 'Alyangula', - 61889620 => 'Tennant Creek', - 61889621 => 'Tennant Creek', - 61889622 => 'Tennant Creek', - 61889623 => 'Tennant Creek', - 61889624 => 'Tennant Creek', - 61889625 => 'Tennant Creek', - 61889626 => 'Tennant Creek', - 61889627 => 'Tennant Creek', - 61889628 => 'Tennant Creek', + 6188962 => 'Tennant Creek', 61889629 => 'Elliott', 61889630 => 'Tennant Creek', 61889631 => 'Alice Springs', @@ -43185,12 +37310,7 @@ return array ( 61889688 => 'Nhulunbuy', 61889689 => 'Darwin', 6188969 => 'Elliott', - 61889700 => 'Arnhem', - 61889701 => 'Arnhem', - 61889702 => 'Arnhem', - 61889703 => 'Arnhem', - 61889704 => 'Arnhem', - 61889705 => 'Arnhem', + 6188970 => 'Arnhem', 61889706 => 'Tiwi', 61889707 => 'Tiwi', 61889708 => 'Tiwi', @@ -43198,15 +37318,9 @@ return array ( 6188971 => 'Katherine', 6188972 => 'Katherine', 6188973 => 'Katherine', - 61889740 => 'Katherine', - 61889741 => 'Katherine', - 61889742 => 'Katherine', - 61889743 => 'Katherine', - 61889744 => 'Katherine', + 6188974 => 'Katherine', 61889745 => 'Victoria River', - 61889746 => 'Katherine', 61889747 => 'Pine Creek', - 61889748 => 'Katherine', 61889749 => 'Carpentaria', 61889750 => 'Victoria River', 61889751 => 'Victoria River', @@ -43218,14 +37332,8 @@ return array ( 61889757 => 'Borroloola', 61889758 => 'Borroloola', 61889759 => 'Carpentaria', - 61889760 => 'Batchelor', + 6188976 => 'Batchelor', 61889761 => 'Pine Creek', - 61889762 => 'Batchelor', - 61889763 => 'Batchelor', - 61889764 => 'Batchelor', - 61889765 => 'Batchelor', - 61889766 => 'Batchelor', - 61889767 => 'Batchelor', 61889768 => 'Pine Creek', 61889769 => 'Pine Creek', 61889770 => 'Victoria River', @@ -43248,53 +37356,25 @@ return array ( 61889787 => 'Arnhem', 61889788 => 'Arnhem', 61889789 => 'Arnhem', - 61889790 => 'Arnhem', - 61889791 => 'Arnhem', + 6188979 => 'Arnhem', 61889792 => 'Jabiru', 61889793 => 'Jabiru', 61889794 => 'Jabiru', - 61889795 => 'Arnhem', - 61889796 => 'Arnhem', - 61889797 => 'Arnhem', - 61889798 => 'Arnhem', 61889799 => 'Jabiru', - 6188980 => 'Darwin', - 6188981 => 'Darwin', - 6188982 => 'Darwin', - 6188983 => 'Darwin', - 61889840 => 'Darwin', - 61889841 => 'Darwin', - 61889842 => 'Darwin', - 61889843 => 'Darwin', - 61889844 => 'Darwin', - 61889845 => 'Darwin', - 61889846 => 'Darwin', + 618898 => 'Darwin', 61889847 => 'Noonamah', 61889848 => 'Noonamah', 61889849 => 'Noonamah', - 6188985 => 'Darwin', + 6188986 => 'Noonamah', 61889860 => 'Katherine', - 61889861 => 'Noonamah', - 61889862 => 'Noonamah', - 61889863 => 'Noonamah', - 61889864 => 'Noonamah', - 61889865 => 'Noonamah', - 61889866 => 'Noonamah', - 61889867 => 'Darwin', 61889868 => 'Nhulunbuy', 61889869 => 'Davenport', - 61889870 => 'Nhulunbuy', - 61889871 => 'Nhulunbuy', - 61889872 => 'Nhulunbuy', - 61889873 => 'Nhulunbuy', + 6188987 => 'Nhulunbuy', 61889874 => 'Alyangula', - 61889875 => 'Nhulunbuy', 61889876 => 'Alyangula', 61889877 => 'Alyangula', - 61889878 => 'Nhulunbuy', 61889879 => 'Arnhem', 6188988 => 'Noonamah', - 6188989 => 'Darwin', 61889900 => 'Alice Springs', 61889901 => 'Davenport', 61889902 => 'Elliott', @@ -43560,16 +37640,8 @@ return array ( 61890208 => 'Kambalda', 61890209 => 'Kambalda', 6189021 => 'Kalgoorlie', - 61890220 => 'Kalgoorlie', - 61890221 => 'Kalgoorlie', - 61890222 => 'Kalgoorlie', - 61890223 => 'Kalgoorlie', - 61890224 => 'Kalgoorlie', - 61890225 => 'Kalgoorlie', + 6189022 => 'Kalgoorlie', 61890226 => 'Nullarbor', - 61890227 => 'Kalgoorlie', - 61890228 => 'Kalgoorlie', - 61890229 => 'Kalgoorlie', 61890230 => 'Wialki North', 61890231 => 'Wialki North', 61890232 => 'Wialki North', @@ -43600,26 +37672,14 @@ return array ( 61890257 => 'Esperance', 61890258 => 'Eyre', 61890259 => 'Gibson', - 61890260 => 'Kalgoorlie', - 61890261 => 'Kalgoorlie', - 61890262 => 'Kalgoorlie', - 61890263 => 'Kalgoorlie', - 61890264 => 'Kalgoorlie', + 6189026 => 'Kalgoorlie', 61890265 => 'Leinster', - 61890266 => 'Kalgoorlie', - 61890267 => 'Kalgoorlie', 61890268 => 'Collurabbie', 61890269 => 'Collurabbie', - 61890270 => 'Kambalda', - 61890271 => 'Kambalda', - 61890272 => 'Kambalda', - 61890273 => 'Kambalda', + 6189027 => 'Kambalda', 61890274 => 'Goldfields', 61890275 => 'Goldfields', - 61890276 => 'Kambalda', 61890277 => 'Nullarbor', - 61890278 => 'Kambalda', - 61890279 => 'Kambalda', 61890280 => 'Goldfields', 61890281 => 'Grass Patch', 61890282 => 'Kalgoorlie', @@ -43777,16 +37837,11 @@ return array ( 61890446 => 'Burracoppin', 61890447 => 'Burracoppin South', 61890449 => 'Warralakin', + 6189045 => 'Kellerberrin', 61890450 => 'Warralakin', 61890451 => 'Mount Stirling', 61890452 => 'Mount Stirling', 61890453 => 'Goomarin', - 61890454 => 'Kellerberrin', - 61890455 => 'Kellerberrin', - 61890456 => 'Kellerberrin', - 61890457 => 'Kellerberrin', - 61890458 => 'Kellerberrin', - 61890459 => 'Kellerberrin', 61890460 => 'Condingup', 61890461 => 'Condingup', 61890462 => 'Coomalbidgup', @@ -43956,14 +38011,9 @@ return array ( 61890627 => 'Corrigin West', 61890628 => 'Corrigin West', 61890629 => 'Corrigin West', - 61890630 => 'Corrigin', - 61890631 => 'Corrigin', - 61890632 => 'Corrigin', - 61890633 => 'Corrigin', - 61890634 => 'Corrigin', + 6189063 => 'Corrigin', 61890635 => 'Muntadgin East', 61890636 => 'Mount Walker South', - 61890637 => 'Corrigin', 61890638 => 'Bruce Rock', 61890639 => 'Bruce Rock', 61890640 => 'Shackleton', @@ -43998,16 +38048,8 @@ return array ( 61890688 => 'Laverton', 61890689 => 'Laverton', 61890699 => 'Westonia', - 61890710 => 'Esperance', - 61890711 => 'Esperance', - 61890712 => 'Esperance', - 61890713 => 'Esperance', - 61890714 => 'Esperance', - 61890715 => 'Esperance', - 61890716 => 'Esperance', - 61890717 => 'Esperance', + 6189071 => 'Esperance', 61890718 => 'Ardath', - 61890719 => 'Esperance', 61890720 => 'Esperance', 61890721 => 'Esperance', 61890722 => 'Esperance', @@ -44098,26 +38140,12 @@ return array ( 61890886 => 'Kalgoorlie', 61890887 => 'Collurabbie', 6189091 => 'Kalgoorlie', - 61890920 => 'Kalgoorlie', - 61890921 => 'Kalgoorlie', - 61890922 => 'Kalgoorlie', - 61890923 => 'Kalgoorlie', - 61890924 => 'Kalgoorlie', - 61890925 => 'Kalgoorlie', - 61890926 => 'Kalgoorlie', + 6189092 => 'Kalgoorlie', 61890927 => 'Wialki North', 61890928 => 'Wilgoyne', 61890929 => 'Yilgarn South', - 61890930 => 'Kalgoorlie', - 61890931 => 'Kalgoorlie', - 61890932 => 'Kalgoorlie', - 61890933 => 'Kalgoorlie', - 61890934 => 'Kalgoorlie', - 61890935 => 'Kalgoorlie', + 6189093 => 'Kalgoorlie', 61890936 => 'Goldfields', - 61890937 => 'Kalgoorlie', - 61890938 => 'Kalgoorlie', - 61890939 => 'Kalgoorlie', 61890940 => 'Bodallin', 61890941 => 'Korbelka', 61890942 => 'Bodallin North', @@ -44357,9 +38385,9 @@ return array ( 61891177 => 'Wittenoom', 61891178 => 'Christmas Island', 61891179 => 'Cocos Island', + 61891180 => 'Broome', 61891181 => 'Christmas Island', 61891182 => 'Cocos Island', - 61891180 => 'Broome', 61891183 => 'Derby', 61891184 => 'Fitzroy Crossing', 61891185 => 'Hall\'s Creek', @@ -44591,26 +38619,13 @@ return array ( 61891427 => 'Whaleback', 61891428 => 'Cocos Island', 61891429 => 'Broome', - 61891430 => 'Karratha', - 61891431 => 'Karratha', - 61891432 => 'Karratha', + 6189143 => 'Karratha', 61891433 => 'Tom Price', 61891434 => 'Paraburdoo', - 61891435 => 'Karratha', - 61891436 => 'Karratha', - 61891437 => 'Karratha', 61891438 => 'Tom Price', - 61891439 => 'Karratha', - 61891440 => 'Karratha', - 61891441 => 'Karratha', - 61891442 => 'Karratha', + 6189144 => 'Karratha', 61891443 => 'Dampier', - 61891444 => 'Karratha', - 61891445 => 'Karratha', - 61891446 => 'Karratha', - 61891447 => 'Karratha', 61891448 => 'Whaleback', - 61891449 => 'Karratha', 61891450 => 'Broome', 61891451 => 'Broome', 61891452 => 'Broome', @@ -44722,7 +38737,7 @@ return array ( 61891637 => 'Hall\'s Creek', 61891638 => 'Fitzroy Crossing', 61891639 => 'Fitzroy Crossing', - 61891640 => 'Christmas Island', + 6189164 => 'Christmas Island', 61891650 => 'De Grey', 61891651 => 'De Grey', 61891652 => 'Mount Bruce', @@ -44733,16 +38748,9 @@ return array ( 61891657 => 'Newman', 61891658 => 'Paraburdoo', 61891659 => 'Paraburdoo', - 61891660 => 'Kununurra', + 6189166 => 'Kununurra', 61891661 => 'Fitzroy Crossing', - 61891662 => 'Kununurra', 61891663 => 'Ord', - 61891664 => 'Kununurra', - 61891665 => 'Kununurra', - 61891666 => 'Kununurra', - 61891667 => 'Kununurra', - 61891668 => 'Kununurra', - 61891669 => 'Kununurra', 6189167 => 'Ord', 61891680 => 'Kununurra', 61891681 => 'Kununurra', @@ -44776,26 +38784,11 @@ return array ( 61891719 => 'Roebuck', 6189172 => 'Port Hedland', 6189173 => 'Port Hedland', - 61891740 => 'Port Hedland', - 61891741 => 'Port Hedland', - 61891742 => 'Port Hedland', - 61891743 => 'Port Hedland', - 61891744 => 'Port Hedland', + 6189174 => 'Port Hedland', 61891745 => 'Newman', - 61891746 => 'Port Hedland', - 61891747 => 'Port Hedland', - 61891748 => 'Port Hedland', - 61891749 => 'Port Hedland', - 61891750 => 'Newman', - 61891751 => 'Newman', - 61891752 => 'Newman', - 61891753 => 'Newman', - 61891754 => 'Newman', - 61891755 => 'Newman', + 6189175 => 'Newman', 61891756 => 'Whaleback', 61891757 => 'Whaleback', - 61891758 => 'Newman', - 61891759 => 'Newman', 61891760 => 'Marble Bar', 61891761 => 'Marble Bar', 61891762 => 'Whaleback', @@ -44806,16 +38799,11 @@ return array ( 61891767 => 'De Grey/Sandfire/De Grey', 61891768 => 'De Grey', 61891769 => 'Great Sandy', + 6189177 => 'Newman', 61891770 => 'Port Hedland', 61891771 => 'Port Hedland', 61891772 => 'Port Hedland', 61891773 => 'Port Hedland', - 61891774 => 'Newman', - 61891775 => 'Newman', - 61891776 => 'Newman', - 61891777 => 'Newman', - 61891778 => 'Newman', - 61891779 => 'Newman', 61891780 => 'Tom Price', 61891781 => 'Tom Price', 61891782 => 'Whaleback', @@ -44848,14 +38836,9 @@ return array ( 61891816 => 'Onslow', 61891819 => 'Mount Bruce', 6189182 => 'Karratha', - 61891830 => 'Dampier', - 61891831 => 'Dampier', - 61891832 => 'Dampier', - 61891833 => 'Dampier', - 61891834 => 'Dampier', + 6189183 => 'Dampier', 61891835 => 'Karratha', 61891836 => 'Karratha', - 61891837 => 'Dampier', 61891838 => 'Karratha', 61891839 => 'Karratha', 61891840 => 'Pannawonica', @@ -44871,16 +38854,8 @@ return array ( 6189185 => 'Karratha', 6189186 => 'Karratha', 6189187 => 'Karratha', - 61891880 => 'Tom Price', - 61891881 => 'Tom Price', - 61891882 => 'Tom Price', - 61891883 => 'Tom Price', - 61891884 => 'Tom Price', - 61891885 => 'Tom Price', - 61891886 => 'Tom Price', - 61891887 => 'Tom Price', + 6189188 => 'Tom Price', 61891888 => 'Mount Bruce', - 61891889 => 'Tom Price', 61891890 => 'Tom Price', 61891891 => 'Tom Price', 61891892 => 'Tom Price', @@ -44909,16 +38884,8 @@ return array ( 61891917 => 'Leopold', 61891918 => 'Broome', 61891919 => 'Broome', - 61891920 => 'Broome', - 61891921 => 'Broome', - 61891922 => 'Broome', - 61891923 => 'Broome', + 6189192 => 'Broome', 61891924 => 'Roebuck', - 61891925 => 'Broome', - 61891926 => 'Broome', - 61891927 => 'Broome', - 61891928 => 'Broome', - 61891929 => 'Broome', 61891930 => 'Fitzroy Crossing', 61891931 => 'Derby', 61891932 => 'Derby', @@ -44969,298 +38936,55 @@ return array ( 61891987 => 'Millstream', 61891988 => 'Millstream', 61891999 => 'Karratha', - 6189200 => 'Perth', - 6189201 => 'Perth', - 6189202 => 'Perth', - 6189203 => 'Perth', - 6189204 => 'Perth', - 6189205 => 'Perth', + 61892 => 'Perth', 6189206 => 'Wanneroo', - 6189207 => 'Perth', - 6189208 => 'Perth', - 6189209 => 'Perth', - 6189210 => 'Perth', - 6189211 => 'Perth', - 6189212 => 'Perth', - 6189213 => 'Perth', - 6189214 => 'Perth', - 6189215 => 'Perth', - 6189216 => 'Perth', - 6189217 => 'Perth', - 6189218 => 'Perth', - 6189219 => 'Perth', - 6189220 => 'Perth', - 6189221 => 'Perth', - 6189222 => 'Perth', - 6189223 => 'Perth', - 6189224 => 'Perth', - 6189225 => 'Perth', - 6189226 => 'Perth', - 6189227 => 'Perth', - 6189228 => 'Perth', - 6189229 => 'Perth', - 6189230 => 'Perth', - 6189231 => 'Perth', - 6189232 => 'Perth', 6189233 => 'Wanneroo', 6189234 => 'Armadale', - 6189235 => 'Perth', 6189236 => 'Spearwood', - 6189237 => 'Perth', - 6189238 => 'Perth', 6189239 => 'Fremantle', - 6189240 => 'Perth', - 6189241 => 'Perth', - 6189242 => 'Perth', - 6189243 => 'Perth', - 6189244 => 'Perth', - 6189245 => 'Perth', - 6189246 => 'Perth', - 6189247 => 'Perth', - 6189248 => 'Perth', - 6189249 => 'Perth', - 6189250 => 'Perth', - 6189251 => 'Perth', 6189252 => 'Kalamunda', - 6189253 => 'Perth', - 6189254 => 'Perth', 6189255 => 'Kalamunda', - 6189256 => 'Perth', 6189257 => 'Kalamunda', - 6189258 => 'Perth', - 6189259 => 'Perth', - 6189260 => 'Perth', - 6189261 => 'Perth', - 6189262 => 'Perth', - 6189263 => 'Perth', - 6189264 => 'Perth', - 6189265 => 'Perth', - 6189266 => 'Perth', - 6189267 => 'Perth', - 6189268 => 'Perth', - 6189269 => 'Perth', - 6189270 => 'Perth', - 6189271 => 'Perth', - 6189272 => 'Perth', - 6189273 => 'Perth', - 6189274 => 'Perth', - 6189275 => 'Perth', - 6189276 => 'Perth', - 6189277 => 'Perth', - 6189278 => 'Perth', - 6189279 => 'Perth', - 6189280 => 'Perth', - 6189281 => 'Perth', - 6189282 => 'Perth', - 6189283 => 'Perth', - 6189284 => 'Perth', - 6189285 => 'Perth', - 6189286 => 'Perth', - 6189287 => 'Perth', - 6189288 => 'Perth', - 6189289 => 'Perth', - 6189290 => 'Kalamunda', - 6189291 => 'Kalamunda', + 618929 => 'Kalamunda', 6189292 => 'Rottnest', - 6189293 => 'Kalamunda', - 6189294 => 'Kalamunda', - 6189295 => 'Kalamunda', 6189296 => 'Herne Hill', 6189297 => 'Herne Hill', - 6189298 => 'Kalamunda', - 6189299 => 'Kalamunda', - 6189300 => 'Wanneroo', - 6189301 => 'Wanneroo', - 6189302 => 'Wanneroo', - 6189303 => 'Wanneroo', - 6189304 => 'Wanneroo', - 6189305 => 'Wanneroo', - 6189306 => 'Wanneroo', - 6189307 => 'Wanneroo', - 6189308 => 'Wanneroo', - 6189309 => 'Wanneroo', - 6189310 => 'Perth', - 6189311 => 'Perth', - 6189312 => 'Perth', - 6189313 => 'Perth', - 6189314 => 'Perth', - 6189315 => 'Perth', - 6189316 => 'Perth', - 6189317 => 'Perth', - 6189318 => 'Perth', - 6189319 => 'Perth', - 6189320 => 'Perth', - 6189321 => 'Perth', - 6189322 => 'Perth', - 6189323 => 'Perth', - 6189324 => 'Perth', - 6189325 => 'Perth', - 6189326 => 'Perth', - 6189327 => 'Perth', - 6189328 => 'Perth', - 6189329 => 'Perth', - 6189330 => 'Perth', - 6189331 => 'Perth', - 6189332 => 'Perth', - 6189333 => 'Perth', - 6189334 => 'Perth', + 61893 => 'Perth', + 618930 => 'Wanneroo', 6189335 => 'Fremantle', 6189336 => 'Fremantle', - 6189337 => 'Perth', - 6189338 => 'Perth', - 6189339 => 'Perth', - 6189340 => 'Perth', - 6189341 => 'Perth', - 6189342 => 'Perth', - 6189343 => 'Perth', - 6189344 => 'Perth', - 6189345 => 'Perth', - 6189346 => 'Perth', - 6189347 => 'Perth', - 6189348 => 'Perth', - 6189349 => 'Perth', - 6189350 => 'Perth', - 6189351 => 'Perth', - 6189352 => 'Perth', - 6189353 => 'Perth', - 6189354 => 'Perth', - 6189355 => 'Perth', - 6189356 => 'Perth', - 6189357 => 'Perth', - 6189358 => 'Perth', - 6189359 => 'Perth', - 6189360 => 'Perth', - 6189361 => 'Perth', - 6189362 => 'Perth', - 6189363 => 'Perth', - 6189364 => 'Perth', - 6189365 => 'Perth', - 6189366 => 'Perth', - 6189367 => 'Perth', - 6189368 => 'Perth', - 6189369 => 'Perth', - 6189370 => 'Perth', - 6189371 => 'Perth', 6189372 => 'Rottnest', - 6189373 => 'Perth', - 6189374 => 'Perth', - 6189375 => 'Perth', - 6189376 => 'Perth', - 6189377 => 'Perth', - 6189378 => 'Perth', - 6189379 => 'Perth', - 6189380 => 'Perth', - 6189381 => 'Perth', - 6189382 => 'Perth', - 6189383 => 'Perth', - 6189384 => 'Perth', - 6189385 => 'Perth', - 6189386 => 'Perth', - 6189387 => 'Perth', - 6189388 => 'Perth', - 6189389 => 'Perth', - 6189390 => 'Armadale', - 6189391 => 'Armadale', - 6189392 => 'Perth', - 6189393 => 'Armadale', - 6189394 => 'Armadale', + 618939 => 'Armadale', + 6189395 => 'Spearwood', 61893950 => 'Herne Hill', 61893951 => 'Herne Hill', 61893952 => 'Herne Hill', - 61893953 => 'Spearwood', - 61893954 => 'Spearwood', - 61893955 => 'Spearwood', - 61893956 => 'Spearwood', - 61893957 => 'Spearwood', - 61893958 => 'Spearwood', - 61893959 => 'Spearwood', - 6189396 => 'Armadale', - 6189397 => 'Armadale', - 6189398 => 'Armadale', - 6189399 => 'Armadale', - 6189400 => 'Wanneroo', - 6189401 => 'Wanneroo', - 6189402 => 'Wanneroo', - 6189403 => 'Wanneroo', - 6189404 => 'Wanneroo', - 6189405 => 'Wanneroo', - 6189406 => 'Wanneroo', - 6189407 => 'Wanneroo', - 6189408 => 'Wanneroo', - 6189409 => 'Wanneroo', - 6189410 => 'Spearwood', - 6189411 => 'Spearwood', - 6189412 => 'Spearwood', - 6189413 => 'Perth', - 6189414 => 'Spearwood', - 6189415 => 'Perth', - 6189416 => 'Perth', - 6189417 => 'Spearwood', - 6189418 => 'Spearwood', - 6189419 => 'Spearwood', - 6189420 => 'Perth', - 6189421 => 'Perth', - 6189422 => 'Perth', - 6189423 => 'Perth', - 6189424 => 'Perth', - 6189425 => 'Perth', - 6189426 => 'Perth', - 6189427 => 'Perth', - 6189428 => 'Perth', - 6189429 => 'Perth', + 61894 => 'Perth', + 618940 => 'Wanneroo', + 618941 => 'Spearwood', 6189430 => 'Fremantle', 6189431 => 'Fremantle', 6189432 => 'Fremantle', 6189433 => 'Fremantle', 6189434 => 'Spearwood', 6189435 => 'Fremantle', - 6189436 => 'Perth', 6189437 => 'Spearwood', - 6189438 => 'Perth', 6189439 => 'Spearwood', - 618944 => 'Perth', - 618945 => 'Perth', - 618946 => 'Perth', - 618947 => 'Perth', - 618948 => 'Perth', 6189490 => 'Armadale', - 6189491 => 'Perth', - 6189492 => 'Perth', - 6189493 => 'Perth', 6189494 => 'Spearwood', 6189495 => 'Armadale', 6189496 => 'Armadale', 6189497 => 'Armadale', - 61894980 => 'Armadale', - 61894981 => 'Armadale', - 61894982 => 'Armadale', - 61894983 => 'Armadale', - 61894984 => 'Armadale', + 6189498 => 'Armadale', 61894985 => 'Spearwood', 61894986 => 'Spearwood', 61894987 => 'Spearwood', - 61894988 => 'Armadale', - 61894989 => 'Armadale', 6189499 => 'Spearwood', - 61895000 => 'Rockingham', - 61895001 => 'Rockingham', - 61895002 => 'Rockingham', + 6189500 => 'Rockingham', 61895003 => 'Mandurah', 61895004 => 'Mandurah', 61895005 => 'Mandurah', - 61895006 => 'Rockingham', - 61895007 => 'Rockingham', - 61895008 => 'Rockingham', - 61895009 => 'Rockingham', - 61895010 => 'Bullsbrook East', - 61895011 => 'Bullsbrook East', - 61895012 => 'Bullsbrook East', - 61895013 => 'Bullsbrook East', - 61895014 => 'Bullsbrook East', - 61895015 => 'Bullsbrook East', - 61895016 => 'Bullsbrook East', - 61895017 => 'Bullsbrook East', - 61895018 => 'Bullsbrook East', + 6189501 => 'Bullsbrook East', 61895019 => 'Rockingham', 61895020 => 'Bakers Hill', 61895021 => 'Bakers Hill', @@ -45443,15 +39167,10 @@ return array ( 61895207 => 'Byford', 61895208 => 'Mandurah', 61895209 => 'Lake Clifton', - 61895210 => 'Pinjarra', - 61895211 => 'Pinjarra', - 61895212 => 'Pinjarra', + 6189521 => 'Pinjarra', 61895213 => 'Dwellingup', - 61895214 => 'Pinjarra', 61895215 => 'Rockingham', 61895216 => 'Mandurah', - 61895217 => 'Pinjarra', - 61895218 => 'Pinjarra', 61895219 => 'Mandurah', 6189522 => 'Mandurah', 6189523 => 'Rockingham', @@ -45462,14 +39181,7 @@ return array ( 6189528 => 'Rockingham', 6189529 => 'Rockingham', 6189530 => 'Pinjarra', - 61895310 => 'Pinjarra', - 61895311 => 'Pinjarra', - 61895312 => 'Pinjarra', - 61895313 => 'Pinjarra', - 61895314 => 'Pinjarra', - 61895315 => 'Pinjarra', - 61895316 => 'Pinjarra', - 61895317 => 'Pinjarra', + 6189531 => 'Pinjarra', 61895318 => 'Mandurah', 61895319 => 'Mandurah', 61895320 => 'Byford', @@ -45496,16 +39208,8 @@ return array ( 61895368 => 'Mandurah', 61895369 => 'Gidgegannup', 6189537 => 'Mandurah', - 61895380 => 'Dwellingup', - 61895381 => 'Dwellingup', - 61895382 => 'Dwellingup', - 61895383 => 'Dwellingup', + 6189538 => 'Dwellingup', 61895384 => 'Mount Wells', - 61895385 => 'Dwellingup', - 61895386 => 'Dwellingup', - 61895387 => 'Dwellingup', - 61895388 => 'Dwellingup', - 61895389 => 'Dwellingup', 61895390 => 'Toodyay', 61895391 => 'Mount Helena', 61895392 => 'Bakers Hill', @@ -45693,15 +39397,7 @@ return array ( 61895634 => 'Yanchep', 6189570 => 'Bullsbrook East', 6189571 => 'Bullsbrook East', - 61895720 => 'Mount Helena', - 61895721 => 'Mount Helena', - 61895722 => 'Mount Helena', - 61895723 => 'Mount Helena', - 61895724 => 'Mount Helena', - 61895725 => 'Mount Helena', - 61895726 => 'Mount Helena', - 61895727 => 'Mount Helena', - 61895728 => 'Mount Helena', + 6189572 => 'Mount Helena', 61895729 => 'Gidgegannup', 6189573 => 'Mount Helena', 61895740 => 'Bakers Hill', @@ -45727,12 +39423,7 @@ return array ( 61895787 => 'Gingin', 61895788 => 'Gingin', 61895789 => 'Gingin', - 61895790 => 'Bindoon', - 61895791 => 'Bindoon', - 61895792 => 'Bindoon', - 61895793 => 'Bindoon', - 61895794 => 'Bindoon', - 61895795 => 'Bindoon', + 6189579 => 'Bindoon', 61895796 => 'Rockingham', 61895797 => 'Mount Helena', 61895798 => 'Mount Helena', @@ -45740,16 +39431,9 @@ return array ( 6189581 => 'Mandurah', 6189582 => 'Mandurah', 6189583 => 'Mandurah', + 6189584 => 'Mandurah', 61895840 => 'Toodyay', 61895841 => 'Toodyay', - 61895842 => 'Mandurah', - 61895843 => 'Mandurah', - 61895844 => 'Mandurah', - 61895845 => 'Mandurah', - 61895846 => 'Mandurah', - 61895847 => 'Mandurah', - 61895848 => 'Mandurah', - 61895849 => 'Mandurah', 6189585 => 'Mandurah', 6189586 => 'Mandurah', 6189587 => 'Mandurah', @@ -46770,18 +40454,10 @@ return array ( 61897197 => 'Capel', 61897198 => 'Collie', 61897199 => 'Dardanup', + 618972 => 'Bunbury', 61897200 => 'Myalup', 61897201 => 'Myalup', 61897202 => 'Myalup', - 61897203 => 'Bunbury', - 61897204 => 'Bunbury', - 61897205 => 'Bunbury', - 61897206 => 'Bunbury', - 61897207 => 'Bunbury', - 61897208 => 'Bunbury', - 61897209 => 'Bunbury', - 6189721 => 'Bunbury', - 6189722 => 'Bunbury', 61897230 => 'Brunswick Junction', 61897231 => 'Darkan', 61897232 => 'Donnybrook', @@ -46792,16 +40468,8 @@ return array ( 61897237 => 'Busselton', 61897238 => 'Cundinup', 61897239 => 'Jangardup', - 6189724 => 'Bunbury', - 6189725 => 'Bunbury', - 61897260 => 'Bunbury', 61897261 => 'Brunswick Junction', - 61897262 => 'Bunbury', 61897263 => 'Brunswick Junction', - 61897264 => 'Bunbury', - 61897265 => 'Bunbury', - 61897266 => 'Bunbury', - 61897267 => 'Bunbury', 61897268 => 'Brunswick Junction', 61897269 => 'Brunswick Junction', 6189727 => 'Capel', @@ -46810,12 +40478,7 @@ return array ( 61897291 => 'Harvey', 61897292 => 'Harvey', 61897293 => 'Harvey', - 61897294 => 'Bunbury', - 61897295 => 'Bunbury', - 61897296 => 'Bunbury', - 61897297 => 'Bunbury', 61897298 => 'Harvey', - 61897299 => 'Bunbury', 61897300 => 'Margaret River', 61897301 => 'Marybrook', 61897302 => 'Nannup', @@ -46827,38 +40490,17 @@ return array ( 61897308 => 'Dinninup North', 61897309 => 'Nyamup', 6189731 => 'Donnybrook', - 61897320 => 'Donnybrook', - 61897321 => 'Donnybrook', + 6189732 => 'Donnybrook', 61897322 => 'Upper Preston', - 61897323 => 'Donnybrook', - 61897324 => 'Donnybrook', - 61897325 => 'Donnybrook', - 61897326 => 'Donnybrook', - 61897327 => 'Donnybrook', - 61897328 => 'Donnybrook', - 61897329 => 'Donnybrook', - 61897330 => 'Waroona', - 61897331 => 'Waroona', - 61897332 => 'Waroona', - 61897333 => 'Waroona', - 61897334 => 'Waroona', - 61897335 => 'Waroona', - 61897336 => 'Waroona', - 61897337 => 'Waroona', - 61897338 => 'Waroona', + 6189733 => 'Waroona', 61897339 => 'Collie', 6189734 => 'Collie', 6189735 => 'Collie', + 6189736 => 'Upper Preston', 61897360 => 'Darkan', 61897361 => 'Darkan', 61897362 => 'Darkan', 61897363 => 'Darkan', - 61897364 => 'Upper Preston', - 61897365 => 'Upper Preston', - 61897366 => 'Upper Preston', - 61897367 => 'Upper Preston', - 61897368 => 'Upper Preston', - 61897369 => 'Upper Preston', 61897370 => 'Tonebridge', 61897371 => 'Wilga', 61897372 => 'Brunswick Junction', @@ -46988,26 +40630,12 @@ return array ( 61897568 => 'Marybrook', 61897569 => 'Marybrook', 6189757 => 'Margaret River', - 61897580 => 'Augusta', - 61897581 => 'Augusta', - 61897582 => 'Augusta', - 61897583 => 'Augusta', - 61897584 => 'Augusta', - 61897585 => 'Augusta', - 61897586 => 'Augusta', + 6189758 => 'Augusta', 61897587 => 'Margaret River', 61897588 => 'Margaret River', 61897589 => 'Margaret River', - 61897590 => 'Margaret River', + 6189759 => 'Margaret River', 61897591 => 'Marybrook', - 61897592 => 'Margaret River', - 61897593 => 'Margaret River', - 61897594 => 'Margaret River', - 61897595 => 'Margaret River', - 61897596 => 'Margaret River', - 61897597 => 'Margaret River', - 61897598 => 'Margaret River', - 61897599 => 'Margaret River', 61897600 => 'Margaret River', 61897601 => 'Bunbury', 61897602 => 'Balingup', @@ -47049,16 +40677,11 @@ return array ( 61897647 => 'Bridgetown', 61897648 => 'Bridgetown', 61897649 => 'Bridgetown', + 6189765 => 'Manjimup', 61897650 => 'Boyup Brook', 61897651 => 'Boyup Brook', 61897652 => 'Boyup Brook', 61897653 => 'Boyup Brook', - 61897654 => 'Manjimup', - 61897655 => 'Manjimup', - 61897656 => 'Manjimup', - 61897657 => 'Manjimup', - 61897658 => 'Manjimup', - 61897659 => 'Manjimup', 6189766 => 'Wilga', 61897670 => 'Dinninup', 61897671 => 'Dinninup', @@ -47096,26 +40719,14 @@ return array ( 61897748 => 'Marybrook', 61897749 => 'Augusta', 6189775 => 'Pemberton', - 61897760 => 'Pemberton', - 61897761 => 'Pemberton', + 6189776 => 'Pemberton', 61897762 => 'Beedelup', 61897763 => 'Beedelup', - 61897764 => 'Pemberton', - 61897765 => 'Pemberton', - 61897766 => 'Pemberton', - 61897767 => 'Pemberton', - 61897768 => 'Pemberton', 61897769 => 'Beedelup', + 6189777 => 'Pemberton', 61897770 => 'Manjimup', 61897771 => 'Manjimup', 61897772 => 'Manjimup', - 61897773 => 'Pemberton', - 61897774 => 'Pemberton', - 61897775 => 'Pemberton', - 61897776 => 'Pemberton', - 61897777 => 'Pemberton', - 61897778 => 'Pemberton', - 61897779 => 'Pemberton', 61897780 => 'Bunbury', 61897781 => 'Cundinup', 61897782 => 'Cundinup', @@ -47136,16 +40747,11 @@ return array ( 61897797 => 'Dinninup North', 61897798 => 'Nyamup', 61897799 => 'Bunbury', - 61897800 => 'Bunbury', - 61897801 => 'Bunbury', + 6189780 => 'Bunbury', 61897802 => 'Collie', 61897803 => 'Capel', 61897804 => 'Donnybrook', 61897805 => 'Margaret River', - 61897806 => 'Bunbury', - 61897807 => 'Bunbury', - 61897808 => 'Bunbury', - 61897809 => 'Bunbury', 61897810 => 'Busselton', 61897811 => 'Busselton', 61897812 => 'Bunbury', @@ -47226,16 +40832,11 @@ return array ( 61897887 => 'Bridgetown', 61897888 => 'Brunswick Junction', 61897889 => 'Brunswick Junction', + 6189789 => 'Bunbury', 61897890 => 'Jangardup', 61897891 => 'Jangardup', 61897892 => 'Tonebridge', - 61897893 => 'Bunbury', - 61897894 => 'Bunbury', 61897895 => 'Boyup Brook', - 61897896 => 'Bunbury', - 61897897 => 'Bunbury', - 61897898 => 'Bunbury', - 61897899 => 'Bunbury', 61897900 => 'Bunbury', 61897901 => 'Boyup Brook', 61897902 => 'Boyup Brook', @@ -47765,12 +41366,7 @@ return array ( 61898507 => 'Narrogin', 61898508 => 'Narrogin', 61898509 => 'Bradfords', - 61898510 => 'Mount Barker', - 61898511 => 'Mount Barker', - 61898512 => 'Mount Barker', - 61898513 => 'Mount Barker', - 61898514 => 'Mount Barker', - 61898515 => 'Mount Barker', + 6189851 => 'Mount Barker', 61898516 => 'Muradup', 61898517 => 'Tenterden', 61898518 => 'Nalyerlup', @@ -48064,16 +41660,9 @@ return array ( 61898807 => 'Hyden East', 61898808 => 'Hyden East', 61898809 => 'Kulin West', - 61898810 => 'Narrogin', - 61898811 => 'Narrogin', - 61898812 => 'Narrogin', - 61898813 => 'Narrogin', - 61898814 => 'Narrogin', - 61898815 => 'Narrogin', - 61898816 => 'Narrogin', + 6189881 => 'Narrogin', 61898817 => 'Karlgarin', 61898818 => 'Karlgarin', - 61898819 => 'Narrogin', 61898820 => 'Narrogin', 61898821 => 'Narrogin', 61898822 => 'Narrogin', @@ -48174,16 +41763,10 @@ return array ( 61898917 => 'Pingelly East', 61898918 => 'Pumphreys', 61898919 => 'Quindanning', - 61898920 => 'Albany', + 6189892 => 'Albany', 61898921 => 'Mount Barker', - 61898922 => 'Albany', 61898923 => 'Denmark', 61898924 => 'Porongurup', - 61898925 => 'Albany', - 61898926 => 'Albany', - 61898927 => 'Albany', - 61898928 => 'Albany', - 61898929 => 'Albany', 61898930 => 'Wagin', 61898931 => 'Tarwonga', 61898932 => 'Wickepin', @@ -48607,16 +42190,11 @@ return array ( 61899377 => 'Morawa', 61899378 => 'Morawa', 61899379 => 'Geraldton', - 61899380 => 'Geraldton', - 61899381 => 'Geraldton', - 61899382 => 'Geraldton', - 61899383 => 'Geraldton', - 61899384 => 'Geraldton', + 6189938 => 'Geraldton', 61899385 => 'Northampton', 61899386 => 'Northampton', 61899387 => 'Northern Gully', 61899388 => 'Northern Gully', - 61899389 => 'Geraldton', 61899390 => 'Mingenew/Yandanooka/Yaringa', 61899391 => 'Nabawa/Yuna/Yuna East', 61899392 => 'Nangetty/Ajana/Arrowsmith', @@ -48758,14 +42336,9 @@ return array ( 61899537 => 'Gutha West', 61899538 => 'Howatharra', 61899539 => 'Lake Mason', + 6189954 => 'Three Springs', 61899540 => 'Lake Mason', - 61899541 => 'Three Springs', 61899542 => 'Latham', - 61899543 => 'Three Springs', - 61899544 => 'Three Springs', - 61899545 => 'Three Springs', - 61899546 => 'Three Springs', - 61899547 => 'Three Springs', 61899548 => 'Arrowsmith', 61899549 => 'Arrowsmith', 61899550 => 'Ajana', @@ -48893,14 +42466,7 @@ return array ( 61899707 => 'Geraldton', 61899708 => 'Geraldton', 61899709 => 'Geraldton', - 61899710 => 'Morawa', - 61899711 => 'Morawa', - 61899712 => 'Morawa', - 61899713 => 'Morawa', - 61899714 => 'Morawa', - 61899715 => 'Morawa', - 61899716 => 'Morawa', - 61899717 => 'Morawa', + 6189971 => 'Morawa', 61899718 => 'Perenjori', 61899719 => 'Perenjori East', 61899720 => 'Gutha West', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/62.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/62.php index 73b1ea4df..4cba51076 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/62.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/62.php @@ -22,7 +22,6 @@ return array ( 62252 => 'Rangkasbitung', 62253 => 'Pandeglang', 62254 => 'Serang/Merak', - 62257 => 'Serang', 62260 => 'Subang', 62261 => 'Sumedang', 62262 => 'Garut', @@ -54,7 +53,6 @@ return array ( 62296 => 'Blora', 62297 => 'Karimun Jawa', 62298 => 'Salatiga/Ambarawa', - 62299 => 'Nusakambangan', 6231 => 'Surabaya', 62321 => 'Mojokerto/Jombang', 62322 => 'Lamongan', @@ -85,7 +83,6 @@ return array ( 62361 => 'Denpasar', 62362 => 'Singaraja', 62363 => 'Amlapura', - 62364 => 'Mataram', 62365 => 'Negara/Gilimanuk', 62366 => 'Klungkung/Bangli', 62368 => 'Baturiti', @@ -131,14 +128,10 @@ return array ( 62434 => 'Kotamobagu', 62435 => 'Gorontalo', 62438 => 'Bitung', - 62443 => 'Marisa', - 62445 => 'Buol', - 62450 => 'Parigi', + 6244 => 'Marisa', 62451 => 'Palu', 62452 => 'Poso', 62453 => 'Tolitoli', - 62454 => 'Tinombo', - 62455 => 'Kotaraya/Moutong', 62457 => 'Donggala', 62458 => 'Tentena', 62461 => 'Luwuk', @@ -147,10 +140,8 @@ return array ( 62464 => 'Ampana', 62465 => 'Kolonedale', 62471 => 'Palopo', - 62472 => 'Pitumpanua', 62473 => 'Masamba', 62474 => 'Malili', - 62475 => 'Soroako', 62481 => 'Watampone', 62482 => 'Sinjai', 62484 => 'Watansoppeng', @@ -201,7 +192,6 @@ return array ( 62627 => 'Subulussalam/Sidikalang/Salak', 62628 => 'Kabanjahe/Sibolangit', 62629 => 'Kutacane', - 62630 => 'Teluk Dalam', 62631 => 'Sibolga/Pandan', 62632 => 'Balige', 62633 => 'Tarutung/Dolok Sanggul', @@ -225,7 +215,7 @@ return array ( 62657 => 'Bakongan', 62658 => 'Singkil', 62659 => 'Blangpidie', - 62702 => 'Tebing Tinggi', + 6270 => 'Tebing Tinggi', 62711 => 'Palembang', 62712 => 'Kayu Agung/Tanjung Raja', 62713 => 'Prabumulih/Talang Ubi', @@ -254,7 +244,6 @@ return array ( 62737 => 'Arga Makmur/Mukomuko', 62738 => 'Muara Aman', 62739 => 'Bintuhan/Manna', - 62740 => 'Mendahara/Muara Sabak', 62741 => 'Jambi City', 62742 => 'Kualatungkal/Tebing Tinggi', 62743 => 'Muara Bulian', @@ -303,7 +292,6 @@ return array ( 62924 => 'Tobelo', 62927 => 'Labuha', 62929 => 'Sanana', - 62931 => 'Saparua', 62951 => 'Sorong', 62952 => 'Teminabuan', 62955 => 'Bintuni', @@ -318,6 +306,5 @@ return array ( 62981 => 'Biak', 62983 => 'Serui', 62984 => 'Nabire', - 62985 => 'Nabire', 62986 => 'Manokwari', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/64.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/64.php index 345ee6f69..06d096a00 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/64.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/64.php @@ -11,45 +11,61 @@ */ return array ( - 642409 => 'Scott Base', - 643 => 'South Island', + 6424 => 'Scott Base', 64320 => 'Gore/Edendale', 64321 => 'Invercargill/Stewart Island/Rakiura', 64322 => 'Otautau', 64323 => 'Riverton/Winton', 64324 => 'Tokanui/Lumsden/Te Anau', + 64325 => 'South Island', + 64326 => 'South Island', + 64327 => 'South Island', + 64328 => 'South Island', + 64329 => 'South Island', 64330 => 'Ashburton/Akaroa/Chatham Islands', 64331 => 'Rangiora/Amberley/Culverden/Darfield/Cheviot/Kaikoura', 64332 => 'Christchurch', 64333 => 'Christchurch', 64334 => 'Christchurch/Rolleston', 64335 => 'Christchurch', + 64336 => 'South Island', 64337 => 'Christchurch', 64338 => 'Christchurch', + 64339 => 'South Island', + 64340 => 'South Island', 643409 => 'Queenstown', 64341 => 'Balclutha/Milton', + 64342 => 'South Island', 64343 => 'Oamaru/Mount Cook/Twizel/Kurow', 64344 => 'Queenstown/Cromwell/Alexandra/Wanaka/Ranfurly/Roxburgh', 64345 => 'Dunedin/Queenstown', 64346 => 'Dunedin/Palmerston', 64347 => 'Dunedin', 64348 => 'Dunedin/Lawrence/Mosgiel', + 64349 => 'South Island', + 6435 => 'South Island', 64352 => 'Murchison/Takaka/Motueka', 64354 => 'Nelson', 64357 => 'Blenheim', + 6436 => 'South Island', 64361 => 'Timaru', 64368 => 'Timaru/Waimate/Fairlie', 64369 => 'Geraldine', + 6437 => 'South Island', 64373 => 'Greymouth', 64375 => 'Hokitika/Franz Josef Glacier/Fox Glacier/Haast', 64376 => 'Greymouth', 64378 => 'Westport', 64390 => 'Ashburton', + 64391 => 'South Island', + 64392 => 'South Island', + 64393 => 'South Island', 64394 => 'Christchurch/Invercargill', 64395 => 'Dunedin/Timaru', 64396 => 'Christchurch', 64397 => 'Christchurch', 64398 => 'Christchurch/Blenheim/Nelson', + 64399 => 'South Island', 64423 => 'Wellington/Porirua/Tawa', 64429 => 'Paraparaumu', 6443 => 'Wellington', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/675.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/675.php index 1f48460b5..fb650578d 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/675.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/675.php @@ -15,9 +15,7 @@ return array ( 67542 => 'Madang', 67545 => 'Sepik', 67547 => 'Morobe', - 67553 => 'Highlands', - 67554 => 'Highlands', - 67562 => 'Oro', - 67564 => 'MP/Gulf/Tabubil/Kiunga', + 6755 => 'Highlands', + 6756 => 'MP/Gulf/Tabubil/Kiunga', 6759 => 'Islands', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/680.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/680.php index d6aa69f8d..2cc2a6710 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/680.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/680.php @@ -11,19 +11,19 @@ */ return array ( - 680255 => 'Sonsorol State and Hatohobei State', - 680277 => 'Angaur State', - 680345 => 'Peleliu State', - 680488 => 'Koror State', - 680535 => 'Ngatpang State', - 680544 => 'Aimeliik State', - 680587 => 'Airai State', + 68025 => 'Sonsorol State and Hatohobei State', + 68027 => 'Angaur State', + 6803 => 'Peleliu State', + 6804 => 'Koror State', + 68053 => 'Ngatpang State', + 68054 => 'Aimeliik State', + 68058 => 'Airai State', 680622 => 'Ngchesar State', - 680654 => 'Melekeok State', - 680679 => 'Ngiwal State', - 680733 => 'Ngaremlengui State', - 680747 => 'Ngardmau State', - 680824 => 'Ngaraard State', - 680855 => 'Ngarchelong State', - 680876 => 'Kayangel State', + 68065 => 'Melekeok State', + 68067 => 'Ngiwal State', + 68073 => 'Ngaremlengui State', + 68074 => 'Ngardmau State', + 68082 => 'Ngaraard State', + 68085 => 'Ngarchelong State', + 68087 => 'Kayangel State', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/7.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/7.php index 0e9dd8772..dbbd58456 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/7.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/7.php @@ -13,7 +13,7 @@ return array ( 7301 => 'Republic of Buryatia', 7302 => 'Chita', - 733622 => 'Baikonur', + 733 => 'Baikonur', 7341 => 'Udmurtian Republic', 7342 => 'Perm', 7343 => 'Ekaterinburg', @@ -33,7 +33,7 @@ return array ( 7390 => 'Republic of Khakassia', 7391 => 'Krasnoyarsk Territory', 7394 => 'Republic of Tuva', - 7401 => 'Kaliningrad', + 740 => 'Kaliningrad', 7411 => 'Republic of Sakha', 7413 => 'Magadan', 7415 => 'Kamchatka Region', @@ -77,7 +77,7 @@ return array ( 771041 => 'Aktau, Zhezkazgan', 771042 => 'Zharyk', 771043 => 'Zhairem', - 771063 => 'Satpaev', + 77106 => 'Satpaev', 77112 => 'Uralsk', 771130 => 'Peremetnoye', 771131 => 'Darinskoye', @@ -98,11 +98,12 @@ return array ( 771146 => 'Akzhaiksky District', 771147 => 'Akzhaiksky District', 771149 => 'Zelenovsky District', - 7712 => 'Atyrau Region', 77122 => 'Atyrau', + 771230 => 'Atyrau Region', 7712302 => 'Tengizshevroil', 7712303 => 'Tengizs', 771231 => 'Akkystau', + 771232 => 'Atyrau Region', 771233 => 'Ganyushkino', 771234 => 'Indernborski', 771235 => 'Dossor', @@ -110,7 +111,7 @@ return array ( 771237 => 'Kulsary', 771238 => 'Miyaly', 771239 => 'Makat', - 7713 => 'Aktobe Region', + 77125 => 'Atyrau Region', 77132 => 'Aktobe/Kargalinskoye', 771330 => 'Khromtau District', 771331 => 'Martuk', @@ -130,7 +131,7 @@ return array ( 771347 => 'Aitekebisky District', 771348 => 'Shalkarsky District', 771349 => 'Shalkarsky District', - 7714 => 'Kostanai Region', + 77135 => 'Aktobe Region', 77142 => 'Kostanai', 771430 => 'Arkalyk', 771431 => 'Rudny', @@ -158,7 +159,9 @@ return array ( 771455 => 'Zatobolsk', 771456 => 'Kachar', 771457 => 'Dzhangildinsky District', + 771458 => 'Kostanai Region', 77145834 => 'Krasnogorsk', + 771459 => 'Kostanai Region', 77152 => 'Petropavlovsk', 771531 => 'Bulayevo', 771532 => 'Smirnovo', @@ -198,8 +201,7 @@ return array ( 771648 => 'Derzhavinsk', 771649 => 'Zhaksynsky District', 771651 => 'Kabanbai Batyr', - 77172 => 'Astana', - 7718 => 'Pavlodar Region', + 7717 => 'Astana', 77182 => 'Pavlodar', 771831 => 'Zhelezinka', 771832 => 'Irtyshsk', @@ -216,7 +218,6 @@ return array ( 771844 => 'Irtyshsky District', 771845 => 'Pavlodar Area', 77187 => 'Ekibastuz', - 7721 => 'Karaganda Region', 77212 => 'Karaganda', 77213 => 'Aktau/Temirtau', 772131 => 'Abai', @@ -231,12 +232,13 @@ return array ( 772153 => 'Topar', 772154 => 'Botakara', 772156 => 'Shakhtinsk', + 772159 => 'Karaganda Region', 77222 => 'Semey', 772230 => 'Urdzhar', 772236 => 'Beskaragai', 772237 => 'Ayagoz', 772239 => 'Makanchi', - 772246 => 'Barshatas', + 77224 => 'Barshatas', 772251 => 'Kurchatov', 772252 => 'Karaul', 772256 => 'Kainar', @@ -263,7 +265,6 @@ return array ( 772348 => 'Kokpekty', 772351 => 'Borodulikha', 772353 => 'Novaya Shulba', - 7724 => 'Kyzylorda Region', 77242 => 'Kyzylorda', 772431 => 'Zhalagash', 772432 => 'Shiyeli', @@ -273,6 +274,7 @@ return array ( 772437 => 'Zhosaly', 772438 => 'Aiteke bi', 772439 => 'Aralsky District', + 77245 => 'Kyzylorda Region', 77252 => 'Shymkent', 772530 => 'Temirlanovka', 772531 => 'Aksukent', @@ -306,15 +308,15 @@ return array ( 772642 => 'Moiynkum', 772643 => 'Shu', 772644 => 'Karatau', - 7727 => 'Almaty Region', 77272 => 'Almaty', 772725 => 'Otegen Batyra', 77272956 => 'Talgar', 77272983 => 'Kaskelen', 77273 => 'Almaty', - 772740 => 'Karassaisky District', + 77274 => 'Karassaisky District', 772752 => 'Otegen Batyra', 772757 => 'Akshi', + 772759 => 'Almaty Region', 772770 => 'Uzynagash', 772771 => 'Kaskelen', 772772 => 'Kapchagai', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/81.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/81.php index 576470d20..6efb7e4c4 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/81.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/81.php @@ -253,16 +253,9 @@ return array ( 812414 => 'Yanaizu, Fukushima', 812415 => 'Yanaizu, Fukushima', 812416 => 'Tajima, Fukushima', - 8124190 => 'Tajima, Fukushima', - 8124191 => 'Tajima, Fukushima', - 8124192 => 'Tajima, Fukushima', - 8124193 => 'Tajima, Fukushima', - 8124194 => 'Tajima, Fukushima', - 8124195 => 'Tajima, Fukushima', + 812419 => 'Tajima, Fukushima', 8124196 => 'Yanaizu, Fukushima', 8124197 => 'Yanaizu, Fukushima', - 8124198 => 'Tajima, Fukushima', - 8124199 => 'Tajima, Fukushima', 81242 => 'Aizuwakamatsu, Fukushima', 81243 => 'Nihonmatsu, Fukushima', 81244 => 'Hobara, Fukushima', @@ -443,16 +436,8 @@ return array ( 812876 => 'Kuroiso, Tochigi', 812877 => 'Kuroiso, Tochigi', 812878 => 'Nasukarasuyama, Tochigi', - 8128790 => 'Nasukarasuyama, Tochigi', - 8128791 => 'Nasukarasuyama, Tochigi', - 8128792 => 'Nasukarasuyama, Tochigi', - 8128793 => 'Nasukarasuyama, Tochigi', - 8128794 => 'Nasukarasuyama, Tochigi', - 8128795 => 'Nasukarasuyama, Tochigi', - 8128796 => 'Nasukarasuyama, Tochigi', - 8128797 => 'Nasukarasuyama, Tochigi', + 812879 => 'Nasukarasuyama, Tochigi', 8128798 => 'Otawara, Tochigi', - 8128799 => 'Nasukarasuyama, Tochigi', 81288 => 'Imabari, Ehime', 812890 => 'Utsunomiya, Tochigi', 812892 => 'Utsunomiya, Tochigi', @@ -514,16 +499,10 @@ return array ( 814287 => 'Ome, Tokyo', 814288 => 'Ome, Tokyo', 814289 => 'Ome, Tokyo', - 814290 => 'Tokorozawa, Saitama', + 81429 => 'Tokorozawa, Saitama', 814291 => 'Hanno, Saitama', - 814292 => 'Tokorozawa, Saitama', - 814293 => 'Tokorozawa, Saitama', - 814294 => 'Tokorozawa, Saitama', - 814295 => 'Tokorozawa, Saitama', - 814296 => 'Tokorozawa, Saitama', 814297 => 'Hanno, Saitama', 814298 => 'Hanno, Saitama', - 814299 => 'Tokorozawa, Saitama', 81432 => 'Chiba, Chiba', 81433 => 'Chiba, Chiba', 81434 => 'Chiba, Chiba', @@ -568,16 +547,10 @@ return array ( 814792 => 'Choshi, Chiba', 814793 => 'Choshi, Chiba', 814794 => 'Choshi, Chiba', + 814795 => 'Choshi, Chiba', 8147950 => 'Yokaichiba, Chiba', - 8147951 => 'Choshi, Chiba', - 8147952 => 'Choshi, Chiba', - 8147953 => 'Choshi, Chiba', - 8147954 => 'Choshi, Chiba', 8147955 => 'Yokaichiba, Chiba', - 8147956 => 'Choshi, Chiba', 8147957 => 'Yokaichiba, Chiba', - 8147958 => 'Choshi, Chiba', - 8147959 => 'Choshi, Chiba', 814796 => 'Yokaichiba, Chiba', 814797 => 'Yokaichiba, Chiba', 814798 => 'Yokaichiba, Chiba', @@ -714,18 +687,12 @@ return array ( 815996 => 'Ago, Mie', 815997 => 'Ago, Mie', 815998 => 'Ago, Mie', - 815999 => ' Tsu, Mie', + 815999 => 'Tsu, Mie', 816 => 'Osaka, Osaka', 81721 => 'Tondabayashi, Osaka', 81722 => 'Sakai, Osaka', + 81723 => 'Sakai, Osaka', 817230 => 'Neyagawa, Osaka', - 817231 => 'Sakai, Osaka', - 817232 => 'Sakai, Osaka', - 817233 => 'Sakai, Osaka', - 817234 => 'Sakai, Osaka', - 817235 => 'Sakai, Osaka', - 817236 => 'Sakai, Osaka', - 817237 => 'Sakai, Osaka', 817238 => 'Neyagawa, Osaka', 817239 => 'Neyagawa, Osaka', 81725 => 'Izumi, Osaka', @@ -896,27 +863,13 @@ return array ( 81827 => 'Iwakuni, Yamaguchi', 81828 => 'Hiroshima, Hiroshima', 818290 => 'Hiroshima, Hiroshima', + 818292 => 'Hiroshima, Hiroshima', 8182920 => 'Hatsukaichi, Hiroshima', - 8182921 => 'Hiroshima, Hiroshima', - 8182922 => 'Hiroshima, Hiroshima', - 8182923 => 'Hiroshima, Hiroshima', - 8182924 => 'Hiroshima, Hiroshima', - 8182925 => 'Hiroshima, Hiroshima', - 8182926 => 'Hiroshima, Hiroshima', - 8182927 => 'Hiroshima, Hiroshima', - 8182928 => 'Hiroshima, Hiroshima', - 8182929 => 'Hiroshima, Hiroshima', 818293 => 'Hatsukaichi, Hiroshima', - 8182940 => 'Hatsukaichi, Hiroshima', + 818294 => 'Hatsukaichi, Hiroshima', 8182941 => 'Hiroshima, Hiroshima', 8182942 => 'Hiroshima, Hiroshima', 8182943 => 'Hiroshima, Hiroshima', - 8182944 => 'Hatsukaichi, Hiroshima', - 8182945 => 'Hatsukaichi, Hiroshima', - 8182946 => 'Hatsukaichi, Hiroshima', - 8182947 => 'Hatsukaichi, Hiroshima', - 8182948 => 'Hatsukaichi, Hiroshima', - 8182949 => 'Hatsukaichi, Hiroshima', 818295 => 'Hatsukaichi, Hiroshima', 818296 => 'Hiroshima, Hiroshima', 818297 => 'Hatsukaichi, Hiroshima', @@ -939,16 +892,10 @@ return array ( 818373 => 'Nagato, Yamaguchi', 818374 => 'Nagato, Yamaguchi', 818375 => 'Mine, Yamaguchi', - 8183760 => 'Mine, Yamaguchi', - 8183761 => 'Mine, Yamaguchi', - 8183762 => 'Mine, Yamaguchi', - 8183763 => 'Mine, Yamaguchi', - 8183764 => 'Mine, Yamaguchi', - 8183765 => 'Mine, Yamaguchi', + 818376 => 'Mine, Yamaguchi', 8183766 => 'Shimonoseki, Yamaguchi', 8183767 => 'Shimonoseki, Yamaguchi', 8183768 => 'Shimonoseki, Yamaguchi', - 8183769 => 'Mine, Yamaguchi', 818377 => 'Shimonoseki, Yamaguchi', 818378 => 'Shimonoseki, Yamaguchi', 818382 => 'Hagi, Yamaguchi', @@ -957,16 +904,10 @@ return array ( 818385 => 'Hagi, Yamaguchi', 818387 => 'Tamagawa, Yamaguchi', 818388 => 'Tamagawa, Yamaguchi', - 818390 => 'Yamaguchi, Yamaguchi', + 81839 => 'Yamaguchi, Yamaguchi', 818391 => 'Ogori, Yamaguchi', - 818392 => 'Yamaguchi, Yamaguchi', - 818393 => 'Yamaguchi, Yamaguchi', - 818394 => 'Yamaguchi, Yamaguchi', - 818395 => 'Yamaguchi, Yamaguchi', - 818396 => 'Yamaguchi, Yamaguchi', 818397 => 'Ogori, Yamaguchi', 818398 => 'Ogori, Yamaguchi', - 818399 => 'Yamaguchi, Yamaguchi', 81845 => 'Innoshima, Hiroshima', 818462 => 'Takehara, Hiroshima', 818463 => 'Takehara, Hiroshima', @@ -980,25 +921,9 @@ return array ( 818478 => 'Tojo, Hiroshima', 818479 => 'Tojo, Hiroshima', 81848 => 'Onomichi, Hiroshima', + 81849 => 'Fukuyama, Hiroshima', 818490 => 'Onomichi, Hiroshima', - 818491 => 'Fukuyama, Hiroshima', - 818492 => 'Fukuyama, Hiroshima', - 8184930 => 'Onomichi, Hiroshima', - 8184931 => 'Fukuyama, Hiroshima', - 8184932 => 'Fukuyama, Hiroshima', - 8184933 => 'Onomichi, Hiroshima', - 8184934 => 'Onomichi, Hiroshima', - 8184935 => 'Onomichi, Hiroshima', - 8184936 => 'Onomichi, Hiroshima', - 8184937 => 'Onomichi, Hiroshima', - 8184938 => 'Onomichi, Hiroshima', - 8184939 => 'Onomichi, Hiroshima', - 818494 => 'Fukuyama, Hiroshima', - 818495 => 'Fukuyama, Hiroshima', - 818496 => 'Fukuyama, Hiroshima', - 818497 => 'Fukuyama, Hiroshima', - 818498 => 'Fukuyama, Hiroshima', - 818499 => 'Fukuyama, Hiroshima', + 818493 => 'Onomichi, Hiroshima', 818512 => 'Nishigo, Fukushima', 818514 => 'Ama, Shimane', 81852 => 'Matsue, Shimane', @@ -1041,16 +966,9 @@ return array ( 81864 => 'Kurashiki, Okayama', 818652 => 'Kurashiki, Okayama', 818654 => 'Kamogata, Okayama', - 8186550 => 'Kamogata, Okayama', - 8186551 => 'Kamogata, Okayama', + 818655 => 'Kamogata, Okayama', 8186552 => 'Kurashiki, Okayama', 8186553 => 'Kurashiki, Okayama', - 8186554 => 'Kamogata, Okayama', - 8186555 => 'Kamogata, Okayama', - 8186556 => 'Kamogata, Okayama', - 8186557 => 'Kamogata, Okayama', - 8186558 => 'Kamogata, Okayama', - 8186559 => 'Kamogata, Okayama', 818656 => 'Kasaoka, Okayama', 818657 => 'Kasaoka, Okayama', 818660 => 'Seto, Okayama', @@ -1061,16 +979,10 @@ return array ( 818666 => 'Ibara, Okayama', 818667 => 'Ibara, Okayama', 818668 => 'Ibara, Okayama', - 8186690 => 'Soja, Okayama', + 818669 => 'Soja, Okayama', 8186691 => 'Kurashiki, Okayama', - 8186692 => 'Soja, Okayama', - 8186693 => 'Soja, Okayama', - 8186694 => 'Soja, Okayama', - 8186695 => 'Soja, Okayama', - 8186696 => 'Soja, Okayama', 8186697 => 'Kurashiki, Okayama', 8186698 => 'Kurashiki, Okayama', - 8186699 => 'Soja, Okayama', 818674 => 'Kuse, Okayama', 818675 => 'Kuse, Okayama', 818676 => 'Kuse, Okayama', @@ -1164,16 +1076,9 @@ return array ( 81898 => 'Imabari, Ehime', 81899 => 'Matsuyama, Ehime', 81922 => 'Fukuoka, Fukuoka', - 819230 => 'Fukuoka, Fukuoka', - 819231 => 'Fukuoka, Fukuoka', + 81923 => 'Fukuoka, Fukuoka', 819232 => 'Maebaru, Fukuoka', 819233 => 'Maebaru, Fukuoka', - 819234 => 'Fukuoka, Fukuoka', - 819235 => 'Fukuoka, Fukuoka', - 819236 => 'Fukuoka, Fukuoka', - 819237 => 'Fukuoka, Fukuoka', - 819238 => 'Fukuoka, Fukuoka', - 819239 => 'Fukuoka, Fukuoka', 81924 => 'Fukuoka, Fukuoka', 81925 => 'Fukuoka, Fukuoka', 81926 => 'Fukuoka, Fukuoka', @@ -1312,26 +1217,12 @@ return array ( 81989 => 'Naha, Okinawa', 81992 => 'Kagoshima, Kagoshima', 819932 => 'Ibusuki, Kagoshima', - 8199330 => 'Ibusuki, Kagoshima', + 819933 => 'Ibusuki, Kagoshima', 8199331 => 'Kagoshima, Kagoshima', - 8199332 => 'Ibusuki, Kagoshima', - 8199333 => 'Ibusuki, Kagoshima', - 8199334 => 'Ibusuki, Kagoshima', - 8199335 => 'Ibusuki, Kagoshima', - 8199336 => 'Ibusuki, Kagoshima', - 8199337 => 'Ibusuki, Kagoshima', - 8199338 => 'Ibusuki, Kagoshima', - 8199339 => 'Ibusuki, Kagoshima', - 8199340 => 'Ibusuki, Kagoshima', - 8199341 => 'Ibusuki, Kagoshima', - 8199342 => 'Ibusuki, Kagoshima', + 819934 => 'Ibusuki, Kagoshima', 8199343 => 'Kagoshima, Kagoshima', - 8199344 => 'Ibusuki, Kagoshima', 8199345 => 'Kagoshima, Kagoshima', - 8199346 => 'Ibusuki, Kagoshima', 8199347 => 'Kagoshima, Kagoshima', - 8199348 => 'Ibusuki, Kagoshima', - 8199349 => 'Ibusuki, Kagoshima', 819935 => 'Kaseda, Kagoshima', 819936 => 'Kaseda, Kagoshima', 819937 => 'Kaseda, Kagoshima', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/84.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/84.php index f7aae5f4b..194da7632 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/84.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/84.php @@ -43,13 +43,7 @@ return array ( 84237 => 'Thanh Hoa province', 84238 => 'Nghe An province', 84239 => 'Ha Tinh province', - 84242 => 'Hanoi City', - 84243 => 'Hanoi City', - 84244 => 'Hanoi City', - 84245 => 'Hanoi City', - 84246 => 'Hanoi City', - 84247 => 'Hanoi City', - 84248 => 'Hanoi City', + 8424 => 'Hanoi City', 84251 => 'Dong Nai province', 84252 => 'Binh Thuan province', 84254 => 'Ba Ria Vung Tau province', @@ -71,12 +65,7 @@ return array ( 84275 => 'Ben Tre province', 84276 => 'Tay Ninh province', 84277 => 'Dong Thap province', - 84282 => 'Ho Chi Minh City', - 84283 => 'Ho Chi Minh City', - 84284 => 'Ho Chi Minh City', - 84285 => 'Ho Chi Minh City', - 84286 => 'Ho Chi Minh City', - 84287 => 'Ho Chi Minh City', + 8428 => 'Ho Chi Minh City', 84290 => 'Ca Mau province', 84291 => 'Bac Lieu province', 84292 => 'Can Tho City', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/880.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/880.php index 0578ebb97..5720cb9e3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/880.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/880.php @@ -45,7 +45,6 @@ return array ( 8803172 => 'Chittagong', 8803174 => 'Chittagong', 8803175 => 'Chittagong', - 8803181 => 'Chittagong', 88032151 => 'Noakhali', 88032152 => 'Noakhali', 88032153 => 'Noakhali', @@ -184,7 +183,6 @@ return array ( 880462674 => 'Nazirpur, Pirojpur', 88046268 => 'Nazirpur, Bagerhat', 88046278 => 'Swarupkhati, Bagerhat', - 88046528 => 'Chitalmari, Bagerhat', 88046532 => 'Fakirhat, Bagerhat', 88046533 => 'Fakirhat, Bagerhat', 88046534 => 'Fakirhat, Bagerhat', @@ -404,28 +402,12 @@ return array ( 88069268 => 'Tongibari', 88070222 => 'Bheramara, Kushtia', 88070223 => 'Bheramara, Kushtia', - 8807153 => 'Kushtia', - 8807154 => 'Kushtia', - 8807155 => 'Kushtia', - 8807161 => 'Kushtia', - 8807162 => 'Kushtia', - 8807171 => 'Kushtia', - 8807175 => 'Daulatpur, Kushtia', - 8807176 => 'Kumarkhali, Kushtia', - 8807189 => 'Kushtia', 88072175 => 'Rajshahi', 88072176 => 'Rajshahi', 88072177 => 'Rajshahi', 88072180 => 'Rajshahi', 88072181 => 'Rajshahi', 88072186 => 'Rajshahi', - 880722556 => 'Godagari, Rajshahi', - 88072258 => 'Godagari', - 88072278 => 'Paba', - 880722856 => 'Putia, Rajshahi', - 88072288 => 'Baneswar', - 880722956 => 'Tanore, Rajshahi', - 88072298 => 'Tanore', 88073162 => 'Pabna', 88073163 => 'Pabna', 88073164 => 'Pabna', @@ -450,39 +432,17 @@ return array ( 88074163 => 'Nagoan', 88074169 => 'Santahar, Nagoan', 88074189 => 'Nagoan', - 88074258 => 'Manda', - 880742675 => 'Mohadevpur, Nagoan', - 88074268 => 'Mahadevpur', 88075162 => 'Sirajganj', 88075163 => 'Sirajganj', 88075172 => 'Sirajganj', 88075173 => 'Sirajganj', 88075189 => 'Sirajganj', - 880752256 => 'Belkuchi, Sirajganj', - 88075228 => 'Belkuchi, Sirajganj', - 88075238 => 'Chouhali, Sirajganj', - 88075248 => 'Kamarkhand, Sirajganj', - 880752556 => 'Kazipur, Sirajganj', - 88075258 => 'Kazipur, Sirajganj', - 880752656 => 'Raiganj, Sirajganj', - 88075268 => 'Raigonj, Sirajganj', - 88075278 => 'Shajatpur, Sirajganj', - 880752856 => 'Tarash, Sirajganj', - 88075288 => 'Tarash, Sirajganj', - 880752956 => 'Ullapara, Sirajganj', - 88075298 => 'Ullapara, Sirajganj', 88076162 => 'Chuadanga', 88076163 => 'Chuadanga', 88076164 => 'Chuadanga', 88076189 => 'Chuadanga', 88076222 => 'Alamdanga, Chuadanga', 88076223 => 'Alamdanga, Chuadanga', - 88077161 => 'Natore', - 88077162 => 'Natore', - 88077166 => 'Natore', - 88077167 => 'Natore', - 88077175 => 'Lalpur, Natore', - 88077189 => 'Natore', 880772474 => 'Gurudashpur, Natore', 88078155 => 'Chapai Nobabganj', 88078156 => 'Chapai Nobabganj', @@ -492,11 +452,8 @@ return array ( 88078174 => 'Rahanpur, Chapai Nobabganj', 88078175 => 'Shibganj, Chapai Nobabganj', 88078189 => 'Chapai Nobabganj', - 88078238 => 'Rohanpur', - 88078258 => 'Shibgonj', 88079162 => 'Meherpur', 88079163 => 'Meherpur', - 880792374 => 'Mujibnagar, Meherpur', 880802056 => 'Chauddagram, Comilla', 88080208 => 'Chauddagram, Comilla', 880802256 => 'Chandina, Comilla', @@ -530,17 +487,6 @@ return array ( 88082171 => 'Sylhet MEA', 88082172 => 'Sylhet MEA', 88082176 => 'Sylhet MEA', - 88082181 => 'Sylhet MEA', - 88082208 => 'Kanaighat', - 88082228 => 'Balagonj', - 88082238 => 'Bianibazar', - 88082248 => 'Biswanath', - 880822556 => 'Companiganj, Sylhet', - 88082268 => 'Fenchugonj', - 88082278 => 'Golapgonj', - 880822956 => 'Jaintapur, Sylhet', - 88082298 => 'Jaintapur', - 880823256 => 'Jokiganj, Sylhet', 88083152 => 'Habiganj', 88083153 => 'Habiganj', 88083161 => 'Habiganj', @@ -550,10 +496,6 @@ return array ( 88083278 => 'Madabpur', 880832856 => 'Nabiganj, Habiganj', 88083288 => 'Nabigonj', - 88083326 => 'Sayestaganj, Habiganj', - 88083327 => 'Sayestaganj, Habiganj', - 88083328 => 'Sayestaganj, Habiganj', - 88083329 => 'Sayestaganj, Habiganj', 88084163 => 'Chandpur', 88084164 => 'Chandpur', 88084165 => 'Chandpur', @@ -626,8 +568,6 @@ return array ( 880902756 => 'Iswarganj, Mymensingh', 88090278 => 'Ishwargonj', 88090288 => 'Muktagacha', - 880903256 => 'Trisal, Mymensingh', - 880903356 => 'Phulpur, Mymensingh', 8809151 => 'Mymensingh', 8809152 => 'Mymensingh', 8809153 => 'Mymensingh', @@ -656,9 +596,6 @@ return array ( 880922856 => 'Modhupur, Tangail', 88092288 => 'Modhupur', 88092298 => 'Mirzapur', - 880923256 => 'Shakhipur, Tangail', - 88092328 => 'Shakhipur', - 880923373 => 'Nagarpur, Tangail', 88093161 => 'Sherpur', 88093173 => 'Nalitabari, Sherpur', 88093175 => 'Nakla, Sherpur', @@ -683,10 +620,6 @@ return array ( 88095161 => 'Netrokona', 88095162 => 'Netrokona', 88095189 => 'Netrokona', - 880952456 => 'Mohanganj, Netrokona', - 880952556 => 'Durgapur, Netrokona', - 880952856 => 'Kendua, Netrokona', - 880952956 => 'Madan, Netrokona', 88098162 => 'Jamalpur', 88098163 => 'Jamalpur', 88098164 => 'Jamalpur', @@ -694,7 +627,4 @@ return array ( 88098174 => 'Islampur, Jamalpur', 88098175 => 'Dewanganj, Jamalpur', 88098189 => 'Jamalpur', - 88098248 => 'Islampur', - 880982756 => 'Sarishabari, Jamalpur', - 88098278 => 'Sarishabari', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/886.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/886.php index 4a40ef464..63ef7081a 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/886.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/886.php @@ -14,14 +14,18 @@ return array ( 8862 => 'Taipei', 8863 => 'Taoyuan/Hsinchu/Yilan/Hualien', 88637 => 'Miaoli', - 8864 => 'Taichung/Changhua', + 88642 => 'Taichung/Changhua', + 88643 => 'Taichung/Changhua', + 88647 => 'Taichung/Changhua', + 88648 => 'Taichung/Changhua', 88649 => 'Nantou', 8865 => 'Chiayi/Yunlin', 8866 => 'Tainan/Penghu', 8867 => 'Kaohsiung', - 8868 => 'Pingtung', - 88682 => 'Kinmen', + 88680 => 'Pingtung', + 886823 => 'Kinmen', 886826 => 'Wuqiu', - 886836 => 'Matsu', + 88687 => 'Pingtung', + 88688 => 'Pingtung', 88689 => 'Taitung', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/90.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/90.php index 35099d5be..a4ae29d5c 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/90.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/90.php @@ -12,167 +12,85 @@ return array ( 90212 => 'Istanbul (Europe)', - 90213 => 'Istanbul (Europe)', 90216 => 'Istanbul (Anatolia)', - 90217 => 'Istanbul (Anatolia)', 90222 => 'Esksehir', - 90223 => 'Esksehir', 90224 => 'Bursa', - 90225 => 'Bursa', 90226 => 'Yalova', - 90227 => 'Yalova', 90228 => 'Bilecik', - 90229 => 'Bilecik', 90232 => 'Izmir', - 90233 => 'Izmir', 90236 => 'Manisa', - 90237 => 'Manisa', 90242 => 'Antalya', - 90243 => 'Antalya', 90246 => 'Isparta', - 90247 => 'Isparta', 90248 => 'Burdur', - 90249 => 'Burdur', 90252 => 'Mugla', - 90253 => 'Mugla', 90256 => 'Aydin', - 90257 => 'Aydin', 90258 => 'Denizli', - 90259 => 'Denizli', 90262 => 'Kocaeli', - 90263 => 'Kocaeli', 90264 => 'Sakarya', - 90265 => 'Sakarya', 90266 => 'Balikesir', - 90267 => 'Balikesir', 90272 => 'Afyon', - 90273 => 'Afyon', 90274 => 'Kutahya', - 90275 => 'Kutahya', 90276 => 'Usak', - 90277 => 'Usak', 90282 => 'Tekirdag', - 90283 => 'Tekirdag', 90284 => 'Edirne', - 90285 => 'Edirne', 90286 => 'Canakkale', - 90287 => 'Canakkale', 90288 => 'Kirklareli', - 90289 => 'Kirklareli', 90312 => 'Ankara', - 90313 => 'Ankara', 90318 => 'Kirikkale', - 90319 => 'Kirikkale', 90322 => 'Adana', - 90323 => 'Adana', 90324 => 'Icel', - 90325 => 'Icel', 90326 => 'Hatay', - 90327 => 'Hatay', 90328 => 'Osmaniye', - 90329 => 'Osmaniye', 90332 => 'Konya', - 90333 => 'Konya', 90338 => 'Karaman', - 90339 => 'Karaman', 90342 => 'Gaziantep', - 90343 => 'Gaziantep', 90344 => 'K. Maras', - 90345 => 'K. Maras', 90346 => 'Sivas', - 90347 => 'Sivas', 90348 => 'Kilis', - 90349 => 'Kilis', 90352 => 'Kayseri', - 90353 => 'Kayseri', 90354 => 'Yozgat', - 90355 => 'Yozgat', 90356 => 'Tokat', - 90357 => 'Tokat', 90358 => 'Amasya', - 90359 => 'Amasya', 90362 => 'Samsun', - 90363 => 'Samsun', 90364 => 'Corum', - 90365 => 'Corum', 90366 => 'Kastamonu', - 90367 => 'Kastamonu', 90368 => 'Sinop', - 90369 => 'Sinop', 90370 => 'Karabuk', - 90371 => 'Karabuk', 90372 => 'Zongdulak', - 90373 => 'Zongdulak', 90374 => 'Bolu', - 90375 => 'Bolu', 90376 => 'Cankiri', - 90377 => 'Cankiri', 90378 => 'Bartin', - 90379 => 'Bartin', 90380 => 'Duzce', - 90381 => 'Duzce', 90382 => 'Aksaray', - 90383 => 'Aksaray', 90384 => 'Nevsehir', - 90385 => 'Nevsehir', 90386 => 'Kirsehir', - 90387 => 'Kirsehir', 90388 => 'Nigde', - 90389 => 'Nigde', 90412 => 'Diyarbakir', - 90413 => 'Diyarbakir', 90414 => 'Sanliurfa', - 90415 => 'Sanliurfa', 90416 => 'Adiyaman', - 90417 => 'Adiyaman', 90422 => 'Malatya', - 90423 => 'Malatya', 90424 => 'Elazig', - 90425 => 'Elazig', 90426 => 'Bingol', - 90427 => 'Bingol', 90428 => 'Tuniceli', - 90429 => 'Tuniceli', 90432 => 'Van', - 90433 => 'Van', 90434 => 'Bitlis', - 90435 => 'Bitlis', 90436 => 'Mus', - 90437 => 'Mus', 90438 => 'Hakkari', - 90439 => 'Hakkari', 90442 => 'Erzurum', - 90443 => 'Erzurum', 90446 => 'Erzincan', - 90447 => 'Erzincan', 90452 => 'Ordu', - 90453 => 'Ordu', 90454 => 'Giresun', - 90455 => 'Giresun', 90456 => 'Gumushane', - 90457 => 'Gumushane', 90458 => 'Bayburt', - 90459 => 'Bayburt', 90462 => 'Trabzon', - 90463 => 'Trabzon', 90464 => 'Rize', - 90465 => 'Rize', 90466 => 'Artvin', - 90467 => 'Artvin', 90472 => 'Agri', - 90473 => 'Agri', 90474 => 'Kars', - 90475 => 'Kars', 90476 => 'Igdir', - 90477 => 'Igdir', 90478 => 'Ardahan', - 90479 => 'Ardahan', 90482 => 'Mardin', - 90483 => 'Mardin', 90484 => 'Stirt', - 90485 => 'Stirt', 90486 => 'Sirnak', - 90487 => 'Sirnak', 90488 => 'Batman', - 90489 => 'Batman', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/91.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/91.php index a82d3fcbb..ce2ba55fc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/91.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/91.php @@ -203,7 +203,12 @@ return array ( 911594 => 'Udaipurwati, Rajasthan', 911595 => 'Jhunjhunu/Bissau, Rajasthan', 911596 => 'Chirawa, Rajasthan', - 91160 => 'Kharar, Punjab', + 911602 => 'Kharar, Punjab', + 911603 => 'Kharar, Punjab', + 911604 => 'Kharar, Punjab', + 911605 => 'Kharar, Punjab', + 911606 => 'Kharar, Punjab', + 911607 => 'Kharar, Punjab', 91161 => 'Ludhiana, Punjab', 911624 => 'Jagraon, Punjab', 911628 => 'Samrala, Punjab', @@ -273,7 +278,12 @@ return array ( 911795 => 'Nalagarh, Himachal Pradesh', 911796 => 'Arki, Himachal Pradesh', 911799 => 'Rajgarh, Himachal Pradesh', - 91180 => 'Panipat, Haryana', + 911802 => 'Panipat, Haryana', + 911803 => 'Panipat, Haryana', + 911804 => 'Panipat, Haryana', + 911805 => 'Panipat, Haryana', + 911806 => 'Panipat, Haryana', + 911807 => 'Panipat, Haryana', 91181 => 'Jallandhar, Punjab', 911821 => 'Nakodar, Punjab', 911822 => 'Kapurthala, Punjab', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/94.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/94.php index adb76983f..0bbb42c01 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/94.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/94.php @@ -38,6 +38,6 @@ return array ( 9465 => 'Batticaloa', 9466 => 'Matale', 9467 => 'Kalmunai, Ampara', - 9481 => 'Kandy', - 9491 => 'Galle', + 948 => 'Kandy', + 949 => 'Galle', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/992.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/992.php index 508e5d425..369c9e101 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/992.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/992.php @@ -70,5 +70,5 @@ return array ( 9923554 => 'Murgab', 9923555 => 'Roshtkala', 9923556 => 'Rushan', - 992372 => 'Dushanbe', + 99237 => 'Dushanbe', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/996.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/996.php index c215ab001..4de2a0030 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/996.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/en/996.php @@ -20,7 +20,7 @@ return array ( 9963137 => 'Kayndy, Chuy region', 9963138 => 'Tokmok, Chuy region', 9963139 => 'Lebedinovka, Chuy region', - 9963222 => 'Osh', + 996322 => 'Osh', 9963230 => 'Eski-Nookat, Osh region', 9963231 => 'Aravan, Osh region', 9963232 => 'Kara-Suu, Osh region', @@ -28,22 +28,22 @@ return array ( 9963234 => 'Gulcha, Osh region', 9963237 => 'Daroot-Korgon, Osh region', 9963239 => 'Kara-Kulja, Osh region', - 9963422 => 'Talas', + 996342 => 'Talas', 9963456 => 'Kyzyl-Adyr, Talas region', 9963457 => 'Bakay-Ata, Talas region', 9963458 => 'Kokoy, Talas region', 9963459 => 'Pokrovka, Talas region', - 9963522 => 'Naryn', + 996352 => 'Naryn', 9963534 => 'At-Bashy, Naryn region', 9963535 => 'Kochkor, Naryn region', 9963536 => 'Chaek/Minkush, Naryn region', 9963537 => 'Baetov, Naryn region', - 9963622 => 'Batken, Naryn region', + 996362 => 'Batken, Naryn region', 9963653 => 'Sulukta, Naryn region', 9963655 => 'Pulgon, Naryn region', 9963656 => 'Isfana, Naryn region', 9963657 => 'Kyzylkia, Naryn region', - 9963722 => 'Jalal-Abat', + 996372 => 'Jalal-Abat', 9963734 => 'Massy/Kochkor-Ata, Jalal-Abat region', 9963736 => 'Bazarkorgon, Jalal-Abat region', 9963738 => 'Kazarman, Jalal-Abat region', @@ -55,7 +55,7 @@ return array ( 9963747 => 'Toktogul, Jalal-Abat region', 9963748 => 'Kok-Jangak/Suzak, Jalal-Abat region', 9963749 => 'Kanysh-Kya (Chatkal), Jalal-Abat region', - 9963922 => 'Karakol, Issyk-Ko region', + 996392 => 'Karakol, Issyk-Ko region', 9963942 => 'Ananyevo, Issyk-Ko region', 9963943 => 'Cholpon-Ata, Issyk-Ko region', 9963944 => 'Balykchy, Issyk-Ko region', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/58.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/58.php index 9b01bd806..a19d0c794 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/58.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/es/58.php @@ -11,6 +11,6 @@ */ return array ( - 58212 => 'Distrito Capital/Miranda/Vargas', + 5821 => 'Distrito Capital/Miranda/Vargas', 58237 => 'Dependencias Federales', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fi/358.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fi/358.php index 863d46fc7..3b8b28c16 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fi/358.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fi/358.php @@ -57,12 +57,5 @@ return array ( 35886 => 'Oulu', 35887 => 'Oulu', 35888 => 'Oulu', - 35891 => 'Helsinki', - 35892 => 'Helsinki', - 35893 => 'Helsinki', - 35894 => 'Helsinki', - 35895 => 'Helsinki', - 35896 => 'Helsinki', - 35897 => 'Helsinki', - 35898 => 'Helsinki', + 3589 => 'Helsinki', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/352.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/352.php index afe7d8b25..1edbffe05 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/352.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/fr/352.php @@ -11,14 +11,17 @@ */ return array ( - 35221 => 'Weicherdange', 35222 => 'Luxembourg-Ville', 35223 => 'Mondorf-les-Bains/Bascharage/Noerdange/Remich', - 35224 => 'Luxembourg', + 352240 => 'Luxembourg', + 352241 => 'Luxembourg', + 3522420 => 'Luxembourg', 3522421 => 'Weicherdange', 3522422 => 'Luxembourg-Ville', 3522423 => 'Mondorf-les-Bains/Bascharage/Noerdange/Remich', + 3522424 => 'Luxembourg', 3522425 => 'Luxembourg', + 3522426 => 'Luxembourg', 3522427 => 'Belair, Luxembourg', 3522428 => 'Luxembourg-Ville', 3522429 => 'Luxembourg/Kockelscheuer', @@ -30,11 +33,15 @@ return array ( 3522435 => 'Sandweiler/Moutfort/Roodt-sur-Syre', 3522436 => 'Hesperange/Kockelscheuer/Roeser', 3522437 => 'Leudelange/Ehlange/Mondercange', + 3522438 => 'Luxembourg', 3522439 => 'Windhof/Steinfort', 3522440 => 'Howald', + 3522441 => 'Luxembourg', 3522442 => 'Plateau de Kirchberg', 3522443 => 'Findel/Kirchberg', + 3522444 => 'Luxembourg', 3522445 => 'Diedrich', + 3522446 => 'Luxembourg', 3522447 => 'Lintgen', 3522448 => 'Contern/Foetz', 3522449 => 'Howald', @@ -48,22 +55,29 @@ return array ( 3522457 => 'Esch-sur-Alzette/Schifflange', 3522458 => 'Soleuvre/Differdange', 3522459 => 'Soleuvre', + 352246 => 'Luxembourg', 3522467 => 'Dudelange', + 3522470 => 'Luxembourg', 3522471 => 'Betzdorf', 3522472 => 'Echternach', 3522473 => 'Rosport', 3522474 => 'Wasserbillig', 3522475 => 'Grevenmacher-sur-Moselle', 3522476 => 'Wormeldange', + 3522477 => 'Luxembourg', 3522478 => 'Junglinster', 3522479 => 'Berdorf/Consdorf', 3522480 => 'Diekirch', 3522481 => 'Ettelbruck/Reckange-sur-Mess', + 3522482 => 'Luxembourg', 3522483 => 'Vianden', 3522484 => 'Han/Lesse', 3522485 => 'Bissen/Roost', + 3522486 => 'Luxembourg', 3522487 => 'Larochette', 3522488 => 'Mertzig/Wahl', + 3522489 => 'Luxembourg', + 352249 => 'Luxembourg', 3522492 => 'Clervaux/Fischbach/Hosingen', 3522495 => 'Wiltz', 3522497 => 'Huldange', @@ -186,11 +200,13 @@ return array ( 35236 => 'Hesperange/Kockelscheuer/Roeser', 35237 => 'Leudelange/Ehlange/Mondercange', 35239 => 'Windhof/Steinfort', - 3524 => 'Luxembourg-Ville', 35240 => 'Howald', + 35241 => 'Luxembourg-Ville', 35242 => 'Plateau de Kirchberg', 35243 => 'Findel/Kirchberg', + 35244 => 'Luxembourg-Ville', 35245 => 'Diedrich', + 35246 => 'Luxembourg-Ville', 35247 => 'Lintgen', 35248 => 'Contern/Foetz', 35249 => 'Howald', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/hy/374.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/hy/374.php index bfac51380..17d274a49 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/hy/374.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/hy/374.php @@ -14,24 +14,28 @@ return array ( 37410 => 'Երևան/Ջրվեժ', 37411 => 'Երևան', 37412 => 'Երևան', - 374222 => 'Աբովյան/Ակունք/Բյուրեղավան/Նոր Գյուղ/Վերին Պտղնի, Կոտայք', + 3742220 => 'Աբովյան/Ակունք/Բյուրեղավան/Նոր Գյուղ/Վերին Պտղնի, Կոտայք', + 3742221 => 'Աբովյան/Ակունք/Բյուրեղավան/Նոր Գյուղ/Վերին Պտղնի, Կոտայք', 3742222 => 'Աբովյան, Կոտայք', 3742223 => 'Աբովյան, Կոտայք', 3742224 => 'Աբովյան, Կոտայք', 3742225 => 'Աբովյան/Արզնի/Առինջ/Գեղաշեն, Կոտայք', 3742226 => 'Աբովյան, Կոտայք', 3742227 => 'Գառնի/Աբովյան, Կոտայք', + 3742228 => 'Աբովյան/Ակունք/Բյուրեղավան/Նոր Գյուղ/Վերին Պտղնի, Կոտայք', 37422281 => 'Աբովյան/Արզնի/Առինջ/Գեղաշեն, Կոտայք', - 3742229 => 'Զովք/Աբովյան, Կոտայք', 37422290 => 'Մայակովսկի, Կոտայք', 37422291 => 'Բալահովիտ/Կամարիս, Կոտայք', + 37422292 => 'Զովք/Աբովյան, Կոտայք', 37422293 => 'Արամուս, Կոտայք', 37422294 => 'Արզնի, Կոտայք', + 37422295 => 'Զովք/Աբովյան, Կոտայք', 37422296 => 'Պտղնի, Կոտայք', 37422297 => 'Գեղաշեն, Կոտայք', 37422298 => 'Առինջ, Կոտայք', 37422299 => 'Կոտայք', - 374223 => 'Հանքավան/Հրազդան/Ծաղկաձոր, Կոտայք', + 3742230 => 'Հանքավան/Հրազդան/Ծաղկաձոր, Կոտայք', + 3742231 => 'Հանքավան/Հրազդան/Ծաղկաձոր, Կոտայք', 3742232 => 'Հրազդան, Կոտայք', 3742233 => 'Հրազդան, Կոտայք', 3742234 => 'Հրազդան, Կոտայք', @@ -47,6 +51,7 @@ return array ( 37422377 => 'Ծաղկաձոր, Կոտայք', 37422378 => 'Ծաղկաձոր, Կոտայք', 37422379 => 'Ծաղկաձոր, Կոտայք', + 3742238 => 'Հանքավան/Հրազդան/Ծաղկաձոր, Կոտայք', 374223810 => 'Հրազդան, Կոտայք', 374223811 => 'Հրազդան, Կոտայք', 374223812 => 'Հրազդան, Կոտայք', @@ -57,13 +62,18 @@ return array ( 374223817 => 'Ծաղկաձոր, Կոտայք', 374223818 => 'Ծաղկաձոր, Կոտայք', 374223819 => 'Ծաղկաձոր, Կոտայք', - 3742239 => 'Հրազդան, Կոտայք', + 37422390 => 'Հրազդան, Կոտայք', 37422391 => 'Լեռնանիստ, Կոտայք', + 37422392 => 'Հրազդան, Կոտայք', 37422393 => 'Մեղրաձոր, Կոտայք', 37422394 => 'Փյունիք, Կոտայք', + 37422395 => 'Հրազդան, Կոտայք', + 37422396 => 'Հրազդան, Կոտայք', 37422397 => 'Սոլակ, Կոտայք', 37422398 => 'Բջնի, Կոտայք', - 374224 => 'Քանաքեռավան/Նոր Գեղի/Նոր Հաճն/Եղվարդ, Կոտայք', + 37422399 => 'Հրազդան, Կոտայք', + 3742240 => 'Քանաքեռավան/Նոր Գեղի/Նոր Հաճն/Եղվարդ, Կոտայք', + 3742241 => 'Քանաքեռավան/Նոր Գեղի/Նոր Հաճն/Եղվարդ, Կոտայք', 3742242 => 'Եղվարդ, Կոտայք', 3742243 => 'Եղվարդ, Կոտայք', 3742244 => 'Նոր Հաճն, Կոտայք', @@ -73,6 +83,7 @@ return array ( 37422454 => 'Արգել, Կոտայք', 3742246 => 'Եղվարդ, Կոտայք', 3742247 => 'Եղվարդ/Նոր Հաճն, Կոտայք', + 3742248 => 'Քանաքեռավան/Նոր Գեղի/Նոր Հաճն/Եղվարդ, Կոտայք', 374224810 => 'Եղվարդ, Կոտայք', 374224811 => 'Եղվարդ, Կոտայք', 374224812 => 'Եղվարդ, Կոտայք', @@ -87,52 +98,60 @@ return array ( 374226 => 'Չարենցավան, Կոտայք', 37422672 => 'Արզական, Կոտայք', 37422675 => 'Ալապարս/Վարդանավանք, Կոտայք', - 374231 => 'Էջմիածին/Մուսալեռ/Փարաքար/Զվարթնոց, Արմավիր', + 3742310 => 'Էջմիածին/Մուսալեռ/Փարաքար/Զվարթնոց, Արմավիր', + 3742311 => 'Էջմիածին/Մուսալեռ/Փարաքար/Զվարթնոց, Արմավիր', 3742312 => 'Էջմիածին, Արմավիր', 3742313 => 'Զվարթնոց, Արմավիր', 3742314 => 'Էջմիածին, Արմավիր', 3742315 => 'Էջմիածին, Արմավիր', 3742316 => 'Էջմիածին, Արմավիր', 3742317 => 'Զվարթնոց, Արմավիր', - 374231810 => 'Էջմիածին, Արմավիր', - 374231811 => 'Էջմիածին, Արմավիր', - 374231812 => 'Էջմիածին, Արմավիր', - 374231813 => 'Էջմիածին, Արմավիր', - 374231814 => 'Էջմիածին, Արմավիր', - 374231815 => 'Էջմիածին, Արմավիր', - 374231816 => 'Էջմիածին, Արմավիր', + 3742318 => 'Էջմիածին/Մուսալեռ/Փարաքար/Զվարթնոց, Արմավիր', + 37423181 => 'Էջմիածին, Արմավիր', 374231817 => 'Զվարթնոց, Արմավիր', 374231818 => 'Զվարթնոց, Արմավիր', 374231819 => 'Զվարթնոց, Արմավիր', - 3742319 => 'Էջմիածին, Արմավիր', 37423190 => 'Բաղրամյան, Արմավիր', 37423191 => 'Վաչե, Արմավիր', + 37423192 => 'Էջմիածին, Արմավիր', + 37423193 => 'Էջմիածին, Արմավիր', + 37423194 => 'Էջմիածին, Արմավիր', 37423195 => 'Նորակերտ, Արմավիր', + 37423196 => 'Էջմիածին, Արմավիր', + 37423197 => 'Էջմիածին, Արմավիր', 37423198 => 'Ջրառատ, Արմավիր', 37423199 => 'Խորոնք, Արմավիր', - 374232 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', + 3742320 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', + 3742321 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', 3742322 => 'Աշտարակ, Արագածոտն', 3742323 => 'Աշտարակ, Արագածոտն', 3742324 => 'Աշտարակ/Բյուրական/Օհանավան, Արագածոտն', + 3742325 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', 3742326 => 'Աշտարակ, Արագածոտն', + 3742327 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', + 3742328 => 'Աղձք/Աշտարակ/Կարբի/Օշական, Արագածոտն', 37423281 => 'Աշտարակ/Բյուրական/Օհանավան, Արագածոտն', 3742329 => 'Աշտարակ, Արագածոտն', 37423290 => 'Օհանավան, Արագածոտն', 37423294 => 'Բյուրական, Արագածոտն', - 374233 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', + 3742330 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', + 3742331 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', 3742332 => 'Բաղրամյան, Արմավիր', 3742333 => 'Բաղրամյան/Մյասնիկյան, Արմավիր', + 3742334 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', + 3742335 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', 3742336 => 'Բաղրամյան, Արմավիր', 3742337 => 'Բաղրամյան, Արմավիր', 37423374 => 'Մյասնիկյան, Արմավիր', 37423375 => 'Քարակերտ, Արմավիր', 37423376 => 'Դալարիկ, Արմավիր', + 3742338 => 'Բաղրամյան/Լեռնագոգ, Արմավիր', 37423381 => 'Բաղրամյան/Մյասնիկյան, Արմավիր', 3742339 => 'Բաղրամյան, Արմավիր', - 374234 => 'Արարատ/Վեդի/Ոսկետափ, Արարատ', - 3742342 => 'Արարատ/Վեդի, Արարատ', - 3742343 => 'Արարատ/Վեդի, Արարատ', - 3742344 => 'Արարատ/Վեդի, Արարատ', + 374234 => 'Արարատ/Վեդի, Արարատ', + 3742340 => 'Արարատ/Վեդի/Ոսկետափ, Արարատ', + 3742341 => 'Արարատ/Վեդի/Ոսկետափ, Արարատ', + 3742345 => 'Արարատ/Վեդի/Ոսկետափ, Արարատ', 374234510 => 'Վեդի, Արարատ', 374234511 => 'Վեդի, Արարատ', 374234512 => 'Վեդի, Արարատ', @@ -143,7 +162,6 @@ return array ( 374234517 => 'Արարատ/Ուրցաձոր, Արարատ', 374234518 => 'Արարատ/Ուրցաձոր, Արարատ', 374234519 => 'Արարատ/Ուրցաձոր, Արարատ', - 3742346 => 'Արարատ/Վեդի, Արարատ', 37423470 => 'Վեդի, Արարատ', 37423471 => 'Վեդի, Արարատ', 37423472 => 'Վեդի, Արարատ', @@ -154,80 +172,82 @@ return array ( 37423477 => 'Արարատ/Ուրցաձոր, Արարատ', 37423478 => 'Արարատ/Ուրցաձոր, Արարատ', 37423479 => 'Արարատ/Ուրցաձոր, Արարատ', - 3742348 => 'Արարատ/Վեդի, Արարատ', 37423481 => 'Այգավան, Արարատ', 37423486 => 'Ուրցաձոր, Արարատ', - 3742349 => 'Արարատ/Վեդի, Արարատ', 37423492 => 'Մարտիրոսյան, Արարատ', 37423497 => 'Փոքր Վեդի, Արարատ', 37423498 => 'Տափերական, Արարատ', - 374235 => 'Արտաշատ/Այգեզարդ/Դալար/Քաղցրաշեն/Մխչյան/Շահումյան, Արարատ', + 3742350 => 'Արտաշատ/Այգեզարդ/Դալար/Քաղցրաշեն/Մխչյան/Շահումյան, Արարատ', + 3742351 => 'Արտաշատ/Այգեզարդ/Դալար/Քաղցրաշեն/Մխչյան/Շահումյան, Արարատ', 3742352 => 'Արտաշատ, Արարատ', 3742353 => 'Արտաշատ/Նորաշեն, Արարատ', + 3742354 => 'Արտաշատ/Այգեզարդ/Դալար/Քաղցրաշեն/Մխչյան/Շահումյան, Արարատ', 3742355 => 'Արտաշատ, Արարատ', 3742356 => 'Արտաշատ, Արարատ', 3742357 => 'Արտաշատ, Արարատ', 37423572 => 'Արևշատ, Արարատ', + 3742358 => 'Արտաշատ/Այգեզարդ/Դալար/Քաղցրաշեն/Մխչյան/Շահումյան, Արարատ', 37423581 => 'Արտաշատ/Նորաշեն, Արարատ', 3742359 => 'Արտաշատ/Նորաշեն, Արարատ', 37423592 => 'Նորաշեն, Արարատ', 37423593 => 'Նորաշեն, Արարատ', - 374236 => 'Այնթապ/Մասիս/Նոր Խարբերդ/Նորաբաց, Արարատ', + 3742360 => 'Այնթապ/Մասիս/Նոր Խարբերդ/Նորաբաց, Արարատ', + 3742361 => 'Այնթապ/Մասիս/Նոր Խարբերդ/Նորաբաց, Արարատ', 3742362 => 'Մասիս, Արարատ', 3742363 => 'Այնթապ/Մասիս, Արարատ', 3742364 => 'Մասիս, Արարատ', 3742365 => 'Մասիս, Արարատ', 3742366 => 'Մասիս, Արարատ', + 3742367 => 'Այնթապ/Մասիս/Նոր Խարբերդ/Նորաբաց, Արարատ', + 3742368 => 'Այնթապ/Մասիս/Նոր Խարբերդ/Նորաբաց, Արարատ', 37423681 => 'Մասիս, Արարատ', 3742369 => 'Մասիս, Արարատ', 37423699 => 'Դաշտավան, Արարատ', - 374237 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', + 3742370 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', + 3742371 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', 3742372 => 'Արմավիր', 3742373 => 'Մեծամոր, Արմավիր', - 37423740 => 'Արմավիր', - 37423741 => 'Արմավիր', - 37423742 => 'Արմավիր', - 37423743 => 'Արմավիր', - 37423744 => 'Արմավիր', - 37423745 => 'Արմավիր', - 37423746 => 'Արմավիր', + 3742374 => 'Արմավիր', + 37423747 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', + 37423748 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', + 37423749 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', 3742375 => 'Արմավիր', 3742376 => 'Արմավիր', 3742377 => 'Արմավիր/Մրգաշատ', 37423771 => 'Արմավիր', 37423772 => 'Մրգաշատ, Արմավիր', 37423779 => 'Բամբակաշատ, Արմավիր', - 374237810 => 'Արմավիր', - 374237811 => 'Արմավիր', - 374237812 => 'Արմավիր', - 374237813 => 'Արմավիր', - 374237814 => 'Արմավիր', - 374237815 => 'Արմավիր', - 374237816 => 'Արմավիր', + 3742378 => 'Արաքս/Արմավիր/Հոկտեմբեր/Լենուղի/Մեծամոր/Զարթոնք, Արմավիր', + 37423781 => 'Արմավիր', 3742379 => 'Արմավիր/Նալբանդյան', 37423792 => 'Նալբանդյան, Արմավիր', 37423794 => 'Մարգարա, Արմավիր', 37423796 => 'Տանձուտ, Արմավիր', 37423798 => 'Շենավան, Արմավիր', 374238 => 'Արարատ/Ավշար/Սուրենավան/Երասխ', - 374242 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', + 3742420 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', + 3742421 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', 3742422 => 'Մարալիկ, Շիրակ', 3742423 => 'Մարալիկ, Շիրակ', 37424231 => 'Սառնաղբյուր, Շիրակ', 3742424 => 'Մարալիկ, Շիրակ', 3742425 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', 3742426 => 'Մարալիկ, Շիրակ', - 37424281 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', + 3742427 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', + 3742428 => 'Մարալիկ/Սառնաղբյուր, Շիրակ', 3742429 => 'Մարալիկ, Շիրակ', 37424293 => 'Շիրակավան, Շիրակ', 37424297 => 'Անի Կայարան, Շիրակ', 37424300 => 'Ախուրյան/Առափի/Կամո/Մուսայելյան, Շիրակ', - 374244 => 'Արթիկ/Պեմզաշեն, Շիրակ', + 3742440 => 'Արթիկ/Պեմզաշեն, Շիրակ', + 3742441 => 'Արթիկ/Պեմզաշեն, Շիրակ', 3742442 => 'Արթիկ, Շիրակ', 3742443 => 'Արթիկ, Շիրակ', 3742444 => 'Արթիկ/Փանիկ, Շիրակ', 3742445 => 'Արթիկ, Շիրակ', 3742446 => 'Արթիկ, Շիրակ', + 3742447 => 'Արթիկ/Պեմզաշեն, Շիրակ', + 3742448 => 'Արթիկ/Պեմզաշեն, Շիրակ', 37424481 => 'Արթիկ/Փանիկ, Շիրակ', 3742449 => 'Արթիկ, Շիրակ', 37424492 => 'Փանիկ, Շիրակ', @@ -236,11 +256,7 @@ return array ( 374245 => 'Աշոցք, Շիրակ', 374246 => 'Ամասիա, Շիրակ', 374249 => 'Թալին, Արագածոտն', - 3742492 => 'Թալին, Արագածոտն', - 3742493 => 'Թալին, Արագածոտն', 3742494 => 'Թալին/Արագած/Կաթնաղբյուր/Մաստարա, Արագածոտն', - 3742496 => 'Թալին, Արագածոտն', - 3742497 => 'Թալին, Արագածոտն', 37424973 => 'Կաթնաղբյուր, Արագածոտն', 37424981 => 'Թալին/Արագած/Կաթնաղբյուր/Մաստարա, Արագածոտն', 3742499 => 'Արագածավան/Թալին, Արագածոտն', @@ -248,16 +264,13 @@ return array ( 37424996 => 'Ներքին Բազմաբերդ, Արագածոտն', 37424997 => 'Մաստարա, Արագածոտն', 374252 => 'Ապարան, Արագածոտն', - 3742522 => 'Ապարան, Արագածոտն', - 3742523 => 'Ապարան, Արագածոտն', 3742524 => 'Ապարան/Արտավան/Քուչակ, Արագածոտն', 37425251 => 'Քուչակ, Արագածոտն', - 3742526 => 'Ապարան, Արագածոտն', 37425281 => 'Ապարան/Արտավան/Քուչակ, Արագածոտն', - 3742529 => 'Ապարան, Արագածոտն', 37425291 => 'Քուչակ, Արագածոտն', 37425295 => 'Արտավան, Արագածոտն', - 374253 => 'Ալավերդի/Օձուն/Ծաղկաշատ/Թումանյան, Լոռի', + 3742530 => 'Ալավերդի/Օձուն/Ծաղկաշատ/Թումանյան, Լոռի', + 3742531 => 'Ալավերդի/Օձուն/Ծաղկաշատ/Թումանյան, Լոռի', 3742532 => 'Ալավերդի, Լոռի', 3742533 => 'Ալավերդի, Լոռի', 3742534 => 'Ալավերդի, Լոռի', @@ -268,21 +281,24 @@ return array ( 37425357 => 'Թումանյան, Լոռի', 3742536 => 'Ալավերդի, Լոռի', 3742537 => 'Ալավերդի/Ախթալա/Թումանյան, Լոռի', + 3742538 => 'Ալավերդի/Օձուն/Ծաղկաշատ/Թումանյան, Լոռի', 37425381 => 'Ալավերդի/Ախթալա/Թումանյան, Լոռի', + 3742539 => 'Ալավերդի/Օձուն/Ծաղկաշատ/Թումանյան, Լոռի', 374254 => 'Տաշիր, Լոռի', - 3742542 => 'Տաշիր, Լոռի', 3742543 => 'Տաշիր/Մեծավան, Լոռի', - 3742546 => 'Տաշիր, Լոռի', - 3742547 => 'Տաշիր, Լոռի', 37425481 => 'Տաշիր/Մեծավան, Լոռի', 3742549 => 'Տաշիր/Մեծավան, Լոռի', 37425494 => 'Մեծավան, Լոռի', 374255 => 'Սպիտակ, Լոռի', - 374256 => 'Բովաձոր/Ստեփանավան, Լոռի', + 3742560 => 'Բովաձոր/Ստեփանավան, Լոռի', + 3742561 => 'Բովաձոր/Ստեփանավան, Լոռի', 3742562 => 'Ստեփանավան, Լոռի', 3742563 => 'Ստեփանավան, Լոռի', 3742564 => 'Ստեփանավան, Լոռի', + 3742565 => 'Բովաձոր/Ստեփանավան, Լոռի', 3742566 => 'Ստեփանավան, Լոռի', + 3742567 => 'Բովաձոր/Ստեփանավան, Լոռի', + 3742568 => 'Բովաձոր/Ստեփանավան, Լոռի', 37425681 => 'Ստեփանավան, Լոռի', 3742569 => 'Ստեփանավան, Լոռի', 37425691 => 'Կուրթան, Լոռի', @@ -296,66 +312,66 @@ return array ( 37425781 => 'Ծաղկահովիտ, Արագածոտն', 374261 => 'Սևան, Գեղարքունիք', 374262 => 'Մարտունի, Գեղարքունիք', - 3742622 => 'Մարտունի, Գեղարքունիք', 3742623 => 'Մարտունի/Վարդենիկ, Գեղարքունիք', - 3742624 => 'Մարտունի, Գեղարքունիք', - 3742625 => 'Մարտունի, Գեղարքունիք', 37426252 => 'Վարդենիկ, Գեղարքունիք', 37426253 => 'Վարդենիկ, Գեղարքունիք', - 3742626 => 'Մարտունի, Գեղարքունիք', - 3742627 => 'Մարտունի, Գեղարքունիք', 37426272 => 'Լիճք, Գեղարքունիք', 37426281 => 'Մարտունի/Վարդենիկ, Գեղարքունիք', - 3742629 => 'Մարտունի, Գեղարքունիք', 37426299 => 'Երանոս, Գեղարքունիք', - 374263 => 'Ազատամուտ/Գետահովիտ/Իջեւան/Ենոքավան, Տավուշ', + 3742630 => 'Ազատամուտ/Գետահովիտ/Իջեւան/Ենոքավան, Տավուշ', + 3742631 => 'Ազատամուտ/Գետահովիտ/Իջեւան/Ենոքավան, Տավուշ', 3742632 => 'Իջեւան/Այգեհովիտ/Աչաջուր, Տավուշ', 3742633 => 'Իջեւան, Տավուշ', 3742634 => 'Իջեւան, Տավուշ', + 3742635 => 'Ազատամուտ/Գետահովիտ/Իջեւան/Ենոքավան, Տավուշ', 3742636 => 'Իջեւան, Տավուշ', 3742637 => 'Իջեւան, Տավուշ', 37426374 => 'Այգեհովիտ, Տավուշ', + 3742638 => 'Ազատամուտ/Գետահովիտ/Իջեւան/Ենոքավան, Տավուշ', 37426381 => 'Իջեւան/Այգեհովիտ/Աչաջուր, Տավուշ', 3742639 => 'Իջեւան, Տավուշ', 37426392 => 'Աչաջուր, Տավուշ', 37426397 => 'Ազատամուտ, Տավուշ', - 374264 => 'Գավառ/Սարուխան, Գեղարքունիք', - 3742642 => 'Գավառ, Գեղարքունիք', - 3742643 => 'Գավառ, Գեղարքունիք', - 3742644 => 'Գավառ, Գեղարքունիք', - 3742645 => 'Գավառ, Գեղարքունիք', - 3742646 => 'Գավառ, Գեղարքունիք', - 37426481 => 'Գավառ, Գեղարքունիք', - 3742649 => 'Գավառ, Գեղարքունիք', + 374264 => 'Գավառ, Գեղարքունիք', + 3742640 => 'Գավառ/Սարուխան, Գեղարքունիք', + 3742641 => 'Գավառ/Սարուխան, Գեղարքունիք', + 3742647 => 'Գավառ/Սարուխան, Գեղարքունիք', + 3742648 => 'Գավառ/Սարուխան, Գեղարքունիք', 374265 => 'Ճամբարակ, Գեղարքունիք', - 3742652 => 'Ճամբարակ, Գեղարքունիք', - 3742653 => 'Ճամբարակ, Գեղարքունիք', 3742654 => 'Ճամբարակ/Վահան, Գեղարքունիք', - 3742656 => 'Ճամբարակ, Գեղարքունիք', 37426581 => 'Ճամբարակ/Վահան, Գեղարքունիք', - 3742659 => 'Ճամբարակ, Գեղարքունիք', 37426596 => 'Վահան, Գեղարքունիք', - 374266 => 'Բերդավան/Կողբ/Նոյեմբերյան, Տավուշ', + 3742660 => 'Բերդավան/Կողբ/Նոյեմբերյան, Տավուշ', + 3742661 => 'Բերդավան/Կողբ/Նոյեմբերյան, Տավուշ', 3742662 => 'Նոյեմբերյան, Տավուշ', 3742663 => 'Նոյեմբերյան/Ոսկեպար/Կոթի/Կողբ, Տավուշ', + 3742664 => 'Բերդավան/Կողբ/Նոյեմբերյան, Տավուշ', 3742665 => 'Կողբ/Նոյեմբերյան, Տավուշ', 37426652 => 'Կողբ, Տավուշ', 37426653 => 'Կողբ, Տավուշ', 3742666 => 'Նոյեմբերյան, Տավուշ', 3742667 => 'Բերդավան/Նոյեմբերյան, Տավուշ', + 3742668 => 'Բերդավան/Կողբ/Նոյեմբերյան, Տավուշ', 37426681 => 'Նոյեմբերյան/Ոսկեպար/Կոթի/Կողբ, Տավուշ', - 3742669 => 'Նոյեմբերյան, Տավուշ', + 37426690 => 'Նոյեմբերյան, Տավուշ', + 37426691 => 'Նոյեմբերյան, Տավուշ', 37426692 => 'Արճիս, Տավուշ', 37426693 => 'Բաղանիս, Տավուշ', + 37426694 => 'Նոյեմբերյան, Տավուշ', 37426695 => 'Զորական, Տավուշ', 37426696 => 'Ոսկեպար, Տավուշ', + 37426697 => 'Նոյեմբերյան, Տավուշ', + 37426698 => 'Նոյեմբերյան, Տավուշ', 37426699 => 'Կոթի, Տավուշ', - 374267 => 'Այգեպար/Բերդ, Տավուշ', + 3742670 => 'Այգեպար/Բերդ, Տավուշ', + 3742671 => 'Այգեպար/Բերդ, Տավուշ', 3742672 => 'Բերդ, Տավուշ', 3742673 => 'Բերդ/Մոսեսգեղ/Նավուր/Նորաշեն, Տավուշ', + 3742674 => 'Այգեպար/Բերդ, Տավուշ', 3742675 => 'Արծվաբերդ/Բերդ, Տավուշ', 3742676 => 'Բերդ, Տավուշ', 3742677 => 'Բերդ, Տավուշ', + 3742678 => 'Այգեպար/Բերդ, Տավուշ', 37426781 => 'Բերդ/Մոսեսգեղ/Նավուր/Նորաշեն, Տավուշ', 3742679 => 'Բերդ, Տավուշ', 37426791 => 'Նավուր, Տավուշ', @@ -372,18 +388,24 @@ return array ( 37426895 => 'Հաղարծին, Տավուշ', 37426897 => 'Թեղուտ, Տավուշ', 374269 => 'Վարդենիս, Գեղարքունիք', - 374281 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', + 3742810 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', + 3742811 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', 3742812 => 'Եղեգնաձոր, Վայոց Ձոր', 3742813 => 'Եղեգնաձոր/Մալիշկա/Շատին, Վայոց Ձոր', + 3742814 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', 3742815 => 'Եղեգնաձոր, Վայոց Ձոր', 37428151 => 'Խաչիկ, Վայոց Ձոր', 3742816 => 'Եղեգնաձոր, Վայոց Ձոր', + 3742817 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', + 3742818 => 'Գետափ/Սալլի/Եղեգնաձոր, Վայոց Ձոր', 37428181 => 'Եղեգնաձոր/Մալիշկա/Շատին, Վայոց Ձոր', - 3742819 => 'Եղեգնաձոր, Վայոց Ձոր', + 37428190 => 'Եղեգնաձոր, Վայոց Ձոր', 37428191 => 'Արփի, Վայոց Ձոր', + 37428192 => 'Եղեգնաձոր, Վայոց Ձոր', 37428193 => 'Աղավնաձոր, Վայոց Ձոր', 37428194 => 'Արենի, Վայոց Ձոր', 37428195 => 'Մալիշկա, Վայոց Ձոր', + 37428196 => 'Եղեգնաձոր, Վայոց Ձոր', 37428197 => 'Ելփին, Վայոց Ձոր', 37428198 => 'Ռինդ, Վայոց Ձոր', 37428199 => 'Շատին, Վայոց Ձոր', @@ -398,20 +420,18 @@ return array ( 3742838 => 'Սիսիան, Սյունիք', 3742839 => 'Սիսիան, Սյունիք', 37428396 => 'Անգեղակոթ, Սյունիք', - 374284 => 'Գորիս/Վերիշեն, Սյունիք', - 3742842 => 'Գորիս, Սյունիք', + 374284 => 'Գորիս, Սյունիք', + 3742840 => 'Գորիս/Վերիշեն, Սյունիք', + 3742841 => 'Գորիս/Վերիշեն, Սյունիք', 37428427 => 'Վերիշեն, Սյունիք', - 3742843 => 'Գորիս, Սյունիք', - 3742844 => 'Գորիս, Սյունիք', - 3742845 => 'Գորիս, Սյունիք', - 3742846 => 'Գորիս, Սյունիք', - 37428481 => 'Գորիս, Սյունիք', - 3742849 => 'Գորիս, Սյունիք', + 3742847 => 'Գորիս/Վերիշեն, Սյունիք', + 3742848 => 'Գորիս/Վերիշեն, Սյունիք', 37428491 => 'Հարժիս, Սյունիք', 37428494 => 'Խնձորեսկ, Սյունիք', 37428495 => 'Շինուհայր, Սյունիք', 37428499 => 'Կոռնիձոր, Սյունիք', - 374285 => 'Դավիթ Բեկ/Քաջարան/Կապան, Սյունիք', + 3742850 => 'Դավիթ Բեկ/Քաջարան/Կապան, Սյունիք', + 3742851 => 'Դավիթ Բեկ/Քաջարան/Կապան, Սյունիք', 3742852 => 'Կապան, Սյունիք', 3742853 => 'Քաջարան, Սյունիք', 37428540 => 'Կապան, Սյունիք', @@ -426,6 +446,8 @@ return array ( 37428549 => 'Քաջարան, Սյունիք', 3742855 => 'Կապան, Սյունիք', 3742856 => 'Կապան, Սյունիք', + 3742857 => 'Դավիթ Բեկ/Քաջարան/Կապան, Սյունիք', + 3742858 => 'Դավիթ Բեկ/Քաջարան/Կապան, Սյունիք', 374285810 => 'Կապան, Սյունիք', 374285811 => 'Կապան, Սյունիք', 374285812 => 'Կապան, Սյունիք', @@ -437,12 +459,15 @@ return array ( 374285818 => 'Քաջարան, Սյունիք', 374285819 => 'Քաջարան, Սյունիք', 3742859 => 'Կապան, Սյունիք', - 374286 => 'Մեղրի/Ագարակ, Սյունիք', + 3742860 => 'Մեղրի/Ագարակ, Սյունիք', + 3742861 => 'Մեղրի/Ագարակ, Սյունիք', 3742862 => 'Ագարակ, Սյունիք', 3742863 => 'Մեղրի, Սյունիք', 3742864 => 'Մեղրի, Սյունիք', 3742865 => 'Ագարակ/Շվանիձոր, Սյունիք', 3742866 => 'Մեղրի, Սյունիք', + 3742867 => 'Մեղրի/Ագարակ, Սյունիք', + 3742868 => 'Մեղրի/Ագարակ, Սյունիք', 374286810 => 'Մեղրի, Սյունիք', 374286811 => 'Մեղրի, Սյունիք', 374286812 => 'Մեղրի, Սյունիք', @@ -456,44 +481,27 @@ return array ( 3742869 => 'Մեղրի, Սյունիք', 37428695 => 'Շվանիձոր, Սյունիք', 374287 => 'Ջերմուկ, Վայոց Ձոր', - 3742872 => 'Ջերմուկ, Վայոց Ձոր', 3742873 => 'Ջերմուկ/Գնդեվազ, Վայոց Ձոր', - 3742876 => 'Ջերմուկ, Վայոց Ձոր', 37428781 => 'Ջերմուկ/Գնդեվազ, Վայոց Ձոր', - 3742879 => 'Ջերմուկ, Վայոց Ձոր', 37428794 => 'Գնդեվազ, Վայոց Ձոր', - 374312 => 'Գյումրի/Ախուրյան, Շիրակ', - 3743122 => 'Գյումրի, Շիրակ', - 3743123 => 'Գյումրի, Շիրակ', - 3743124 => 'Գյումրի, Շիրակ', - 3743125 => 'Գյումրի, Շիրակ', - 3743126 => 'Գյումրի, Շիրակ', + 374312 => 'Գյումրի, Շիրակ', + 3743120 => 'Գյումրի/Ախուրյան, Շիրակ', + 3743121 => 'Գյումրի/Ախուրյան, Շիրակ', 3743127 => 'Ախուրյան, Շիրակ', 37431280 => 'Ախուրյան, Շիրակ', 37431281 => 'Ախուրյան, Շիրակ', 37431282 => 'Ախուրյան, Շիրակ', 37431283 => 'Ախուրյան, Շիրակ', 37431284 => 'Ախուրյան, Շիրակ', - 374312850 => 'Գյումրի, Շիրակ', - 374312851 => 'Գյումրի, Շիրակ', - 374312852 => 'Գյումրի, Շիրակ', - 374312853 => 'Գյումրի, Շիրակ', - 374312854 => 'Գյումրի, Շիրակ', - 374312855 => 'Գյումրի, Շիրակ', - 374312856 => 'Գյումրի, Շիրակ', - 374312857 => 'Գյումրի, Շիրակ', - 374312858 => 'Գյումրի, Շիրակ', 374312859 => 'Ախուրյան, Շիրակ', - 3743129 => 'Գյումրի, Շիրակ', - 374322 => 'Վանաձոր/Գուգարք, Լոռի', - 3743222 => 'Վանաձոր, Լոռի', - 3743223 => 'Վանաձոր, Լոռի', - 3743224 => 'Վանաձոր, Լոռի', - 3743225 => 'Վանաձոր, Լոռի', - 3743226 => 'Վանաձոր, Լոռի', - 3743227 => 'Վանաձոր, Լոռի', - 37432281 => 'Վանաձոր, Լոռի', - 3743229 => 'Վանաձոր, Լոռի', + 37431286 => 'Գյումրի/Ախուրյան, Շիրակ', + 37431287 => 'Գյումրի/Ախուրյան, Շիրակ', + 37431288 => 'Գյումրի/Ախուրյան, Շիրակ', + 37431289 => 'Գյումրի/Ախուրյան, Շիրակ', + 374322 => 'Վանաձոր, Լոռի', + 3743220 => 'Վանաձոր/Գուգարք, Լոռի', + 3743221 => 'Վանաձոր/Գուգարք, Լոռի', + 3743228 => 'Վանաձոր/Գուգարք, Լոռի', 37432293 => 'Փամբակ, Լոռի', 37432294 => 'Լեռնապատ, Լոռի', 37432295 => 'Եղեգնուտ, Լոռի', @@ -501,8 +509,10 @@ return array ( 37432297 => 'Ձորագետ, Լոռի', 37432298 => 'Լերմոնտովո, Լոռի', 37432299 => 'Վահագնի, Լոռի', - 37447 => 'Լեռնային Ղարաբաղ', + 374470 => 'Լեռնային Ղարաբաղ', 374471 => 'Ստեփանակերտ', + 374472 => 'Լեռնային Ղարաբաղ', + 374473 => 'Լեռնային Ղարաբաղ', 374474 => 'Մարտակերտ', 374475 => 'Հադրութ', 374476 => 'Ասկերան', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/it/39.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/it/39.php index 1ed43d02e..b34670a82 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/it/39.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/it/39.php @@ -37,6 +37,7 @@ return array ( 390323 => 'Baveno', 390324 => 'Domodossola', 390331 => 'Busto Arsizio', + 390332 => 'Varese', 390343 => 'Chiavenna', 390344 => 'Menaggio', 390345 => 'San Pellegrino Terme', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ja/81.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ja/81.php index 2950b4dab..3d4fa5f97 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ja/81.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ja/81.php @@ -276,16 +276,9 @@ return array ( 812416 => '田島', 812417 => '会津山口', 812418 => '会津山口', - 8124190 => '田島', - 8124191 => '田島', - 8124192 => '田島', - 8124193 => '田島', - 8124194 => '田島', - 8124195 => '田島', + 812419 => '田島', 8124196 => '柳津', 8124197 => '柳津', - 8124198 => '田島', - 8124199 => '田島', 81242 => '会津若松', 81243 => '二本松', 81244 => '原町', @@ -372,16 +365,8 @@ return array ( 812614 => '大町', 812615 => '大町', 812616 => '大町', - 8126170 => '大町', - 8126171 => '大町', - 8126172 => '大町', - 8126173 => '大町', - 8126174 => '大町', - 8126175 => '大町', - 8126176 => '大町', + 812617 => '大町', 8126177 => '長野', - 8126178 => '大町', - 8126179 => '大町', 812618 => '大町', 812619 => '大町', 81262 => '長野', @@ -478,16 +463,8 @@ return array ( 812876 => '黒磯', 812877 => '黒磯', 812878 => '烏山', - 8128790 => '烏山', - 8128791 => '烏山', - 8128792 => '烏山', - 8128793 => '烏山', - 8128794 => '烏山', - 8128795 => '烏山', - 8128796 => '烏山', - 8128797 => '烏山', + 812879 => '烏山', 8128798 => '大田原', - 8128799 => '烏山', 81288 => '今市', 812890 => '宇都宮', 812892 => '宇都宮', @@ -551,16 +528,8 @@ return array ( 814228 => '武蔵野三鷹', 814229 => '武蔵野三鷹', 81423 => '国分寺', + 81424 => '武蔵野三鷹', 814240 => '国分寺', - 814241 => '武蔵野三鷹', - 814242 => '武蔵野三鷹', - 814243 => '武蔵野三鷹', - 814244 => '武蔵野三鷹', - 814245 => '武蔵野三鷹', - 814246 => '武蔵野三鷹', - 814247 => '武蔵野三鷹', - 814248 => '武蔵野三鷹', - 814249 => '武蔵野三鷹', 81425 => '立川', 81426 => '八王子', 81427 => '相模原', @@ -574,16 +543,10 @@ return array ( 814287 => '青梅', 814288 => '青梅', 814289 => '青梅', - 814290 => '所沢', + 81429 => '所沢', 814291 => '飯能', - 814292 => '所沢', - 814293 => '所沢', - 814294 => '所沢', - 814295 => '所沢', - 814296 => '所沢', 814297 => '飯能', 814298 => '飯能', - 814299 => '所沢', 81432 => '千葉', 81433 => '千葉', 81434 => '千葉', @@ -631,16 +594,10 @@ return array ( 814792 => '銚子', 814793 => '銚子', 814794 => '銚子', + 814795 => '銚子', 8147950 => '八日市場', - 8147951 => '銚子', - 8147952 => '銚子', - 8147953 => '銚子', - 8147954 => '銚子', 8147955 => '八日市場', - 8147956 => '銚子', 8147957 => '八日市場', - 8147958 => '銚子', - 8147959 => '銚子', 814796 => '八日市場', 814797 => '八日市場', 814798 => '八日市場', @@ -677,26 +634,14 @@ return array ( 815393 => '浜松', 815394 => '浜松', 815395 => '浜松', + 815396 => '浜松', 8153960 => '天竜', 8153961 => '天竜', 8153962 => '天竜', 8153963 => '天竜', - 8153964 => '浜松', - 8153965 => '浜松', - 8153966 => '浜松', - 8153967 => '浜松', - 8153968 => '浜松', - 8153969 => '浜松', - 8153970 => '浜松', - 8153971 => '浜松', - 8153972 => '浜松', - 8153973 => '浜松', + 815397 => '浜松', 8153974 => '天竜', - 8153975 => '浜松', - 8153976 => '浜松', 8153977 => '天竜', - 8153978 => '浜松', - 8153979 => '浜松', 815398 => '浜松', 815399 => '天竜', 81542 => '静岡', @@ -813,14 +758,8 @@ return array ( 816 => '大阪', 81721 => '富田林', 81722 => '堺', + 81723 => '堺', 817230 => '寝屋川', - 817231 => '堺', - 817232 => '堺', - 817233 => '堺', - 817234 => '堺', - 817235 => '堺', - 817236 => '堺', - 817237 => '堺', 817238 => '寝屋川', 817239 => '寝屋川', 81724 => '岸和田貝塚', @@ -1021,27 +960,13 @@ return array ( 81827 => '岩国', 81828 => '広島', 818290 => '広島', + 818292 => '広島', 8182920 => '廿日市', - 8182921 => '広島', - 8182922 => '広島', - 8182923 => '広島', - 8182924 => '広島', - 8182925 => '広島', - 8182926 => '広島', - 8182927 => '広島', - 8182928 => '広島', - 8182929 => '広島', 818293 => '廿日市', - 8182940 => '廿日市', + 818294 => '廿日市', 8182941 => '広島', 8182942 => '広島', 8182943 => '広島', - 8182944 => '廿日市', - 8182945 => '廿日市', - 8182946 => '廿日市', - 8182947 => '廿日市', - 8182948 => '廿日市', - 8182949 => '廿日市', 818295 => '廿日市', 818296 => '広島', 818297 => '廿日市', @@ -1064,16 +989,10 @@ return array ( 818373 => '長門', 818374 => '長門', 818375 => '美祢', - 8183760 => '美祢', - 8183761 => '美祢', - 8183762 => '美祢', - 8183763 => '美祢', - 8183764 => '美祢', - 8183765 => '美祢', + 818376 => '美祢', 8183766 => '下関', 8183767 => '下関', 8183768 => '下関', - 8183769 => '美祢', 818377 => '下関', 818378 => '下関', 818382 => '萩', @@ -1082,16 +1001,10 @@ return array ( 818385 => '萩', 818387 => '田万川', 818388 => '田万川', - 818390 => '山口', + 81839 => '山口', 818391 => '小郡', - 818392 => '山口', - 818393 => '山口', - 818394 => '山口', - 818395 => '山口', - 818396 => '山口', 818397 => '小郡', 818398 => '小郡', - 818399 => '山口', 81845 => '因島', 818462 => '竹原', 818463 => '竹原', @@ -1107,25 +1020,9 @@ return array ( 818478 => '東城', 818479 => '東城', 81848 => '尾道', + 81849 => '福山', 818490 => '尾道', - 818491 => '福山', - 818492 => '福山', - 8184930 => '尾道', - 8184931 => '福山', - 8184932 => '福山', - 8184933 => '尾道', - 8184934 => '尾道', - 8184935 => '尾道', - 8184936 => '尾道', - 8184937 => '尾道', - 8184938 => '尾道', - 8184939 => '尾道', - 818494 => '福山', - 818495 => '福山', - 818496 => '福山', - 818497 => '福山', - 818498 => '福山', - 818499 => '福山', + 818493 => '尾道', 818512 => '西郷', 818514 => '海士', 81852 => '松江', @@ -1172,16 +1069,9 @@ return array ( 81864 => '倉敷', 818652 => '倉敷', 818654 => '鴨方', - 8186550 => '鴨方', - 8186551 => '鴨方', + 818655 => '鴨方', 8186552 => '倉敷', 8186553 => '倉敷', - 8186554 => '鴨方', - 8186555 => '鴨方', - 8186556 => '鴨方', - 8186557 => '鴨方', - 8186558 => '鴨方', - 8186559 => '鴨方', 818656 => '笠岡', 818657 => '笠岡', 818660 => '岡山瀬戸', @@ -1192,16 +1082,10 @@ return array ( 818666 => '井原', 818667 => '井原', 818668 => '井原', - 8186690 => '総社', + 818669 => '総社', 8186691 => '倉敷', - 8186692 => '総社', - 8186693 => '総社', - 8186694 => '総社', - 8186695 => '総社', - 8186696 => '総社', 8186697 => '倉敷', 8186698 => '倉敷', - 8186699 => '総社', 818672 => '福渡', 818673 => '福渡', 818674 => '久世', @@ -1323,16 +1207,9 @@ return array ( 819205 => '厳原', 819208 => '対馬佐賀', 81922 => '福岡', - 819230 => '福岡', - 819231 => '福岡', + 81923 => '福岡', 819232 => '前原', 819233 => '前原', - 819234 => '福岡', - 819235 => '福岡', - 819236 => '福岡', - 819237 => '福岡', - 819238 => '福岡', - 819239 => '福岡', 81924 => '福岡', 81925 => '福岡', 81926 => '福岡', @@ -1484,26 +1361,12 @@ return array ( 819913 => '硫黄島', 81992 => '鹿児島', 819932 => '指宿', - 8199330 => '指宿', + 819933 => '指宿', 8199331 => '鹿児島', - 8199332 => '指宿', - 8199333 => '指宿', - 8199334 => '指宿', - 8199335 => '指宿', - 8199336 => '指宿', - 8199337 => '指宿', - 8199338 => '指宿', - 8199339 => '指宿', - 8199340 => '指宿', - 8199341 => '指宿', - 8199342 => '指宿', + 819934 => '指宿', 8199343 => '鹿児島', - 8199344 => '指宿', 8199345 => '鹿児島', - 8199346 => '指宿', 8199347 => '鹿児島', - 8199348 => '指宿', - 8199349 => '指宿', 819935 => '加世田', 819936 => '加世田', 819937 => '加世田', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/pt/244.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/pt/244.php index 8e8cade47..bd9c03201 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/pt/244.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/pt/244.php @@ -16,8 +16,12 @@ return array ( 244232 => 'Zaire', 2442321 => 'Soyo', 244233 => 'Uíge', - 244234 => 'Bengo', + 2442342 => 'Bengo', + 2442345 => 'Bengo', + 2442346 => 'Bengo', + 2442347 => 'Bengo', 2442348 => 'Caxito', + 2442349 => 'Bengo', 244235 => 'Kwanza-Norte', 2442358 => 'N\'Dalatando', 244236 => 'Kwanza-Sul', @@ -32,14 +36,25 @@ return array ( 244252 => 'Lunda-Norte', 2442524 => 'Lucapa', 2442526 => 'Dundo', - 244253 => 'Lunda-Sul', + 2442532 => 'Lunda-Sul', 2442535 => 'Saurimo', - 244254 => 'Moxico', + 2442536 => 'Lunda-Sul', + 2442537 => 'Lunda-Sul', + 2442538 => 'Lunda-Sul', + 2442539 => 'Lunda-Sul', + 2442542 => 'Moxico', + 2442545 => 'Moxico', 2442546 => 'Luena', - 244261 => 'Huíla', + 2442547 => 'Moxico', + 2442548 => 'Moxico', + 2442549 => 'Moxico', 2442612 => 'Lubango', + 2442615 => 'Huíla', + 2442616 => 'Huíla', + 2442617 => 'Huíla', + 2442618 => 'Huíla', + 2442619 => 'Huíla', 244264 => 'Namibe', - 2442643 => 'Tombua', 244265 => 'Cunene', 2442652 => 'Curoca', 2442655 => 'Ondjiva', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ro/373.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ro/373.php index 907e0941f..237c72236 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ro/373.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ro/373.php @@ -51,7 +51,7 @@ return array ( 373297 => 'Basarabeasca', 373298 => 'Comrat', 373299 => 'Cahul', - 373533 => 'Tiraspol', + 37353 => 'Tiraspol', 373552 => 'Bender', 373555 => 'Rîbniţa', 373557 => 'Slobozia', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/373.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/373.php index 9d74080cb..f596bf833 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/373.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/373.php @@ -51,7 +51,7 @@ return array ( 373297 => 'Басарабяска', 373298 => 'Комрат', 373299 => 'Кагул', - 373533 => 'Тираспол', + 37353 => 'Тираспол', 373552 => 'Бендер', 373555 => 'Рыбница', 373557 => 'Слобозия', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/374.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/374.php index 69bf64945..f1398c9e2 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/374.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/374.php @@ -14,24 +14,28 @@ return array ( 37410 => 'Ереван/Джрвеж', 37411 => 'Ереван', 37412 => 'Ереван', - 374222 => 'Абовян/Акунк/Бюрегаван/Нор Гюх/Верин Птхни, Котайк', + 3742220 => 'Абовян/Акунк/Бюрегаван/Нор Гюх/Верин Птхни, Котайк', + 3742221 => 'Абовян/Акунк/Бюрегаван/Нор Гюх/Верин Птхни, Котайк', 3742222 => 'Абовян, Котайк', 3742223 => 'Абовян, Котайк', 3742224 => 'Абовян, Котайк', 3742225 => 'Абовян/Арзни/Ариндж/Гехашен, Котайк', 3742226 => 'Абовян, Котайк', 3742227 => 'Гарни/Абовян, Котайк', + 3742228 => 'Абовян/Акунк/Бюрегаван/Нор Гюх/Верин Птхни, Котайк', 37422281 => 'Абовян/Арзни/Ариндж/Гехашен, Котайк', - 3742229 => 'Зовк/Абовян, Котайк', 37422290 => 'Маяковский, Котайк', 37422291 => 'Балаовит/Камарис, Котайк', + 37422292 => 'Зовк/Абовян, Котайк', 37422293 => 'Арамус, Котайк', 37422294 => 'Арзни, Котайк', + 37422295 => 'Зовк/Абовян, Котайк', 37422296 => 'Птхни, Котайк', 37422297 => 'Гехашен, Котайк', 37422298 => 'Ариндж, Котайк', 37422299 => 'Котайк', - 374223 => 'Анкаван/Раздан/Цахкадзор, Котайк', + 3742230 => 'Анкаван/Раздан/Цахкадзор, Котайк', + 3742231 => 'Анкаван/Раздан/Цахкадзор, Котайк', 3742232 => 'Раздан, Котайк', 3742233 => 'Раздан, Котайк', 3742234 => 'Раздан, Котайк', @@ -47,6 +51,7 @@ return array ( 37422377 => 'Цахкадзор, Котайк', 37422378 => 'Цахкадзор, Котайк', 37422379 => 'Цахкадзор, Котайк', + 3742238 => 'Анкаван/Раздан/Цахкадзор, Котайк', 374223810 => 'Раздан, Котайк', 374223811 => 'Раздан, Котайк', 374223812 => 'Раздан, Котайк', @@ -57,13 +62,18 @@ return array ( 374223817 => 'Цахкадзор, Котайк', 374223818 => 'Цахкадзор, Котайк', 374223819 => 'Цахкадзор, Котайк', - 3742239 => 'Раздан, Котайк', + 37422390 => 'Раздан, Котайк', 37422391 => 'Лернанист, Котайк', + 37422392 => 'Раздан, Котайк', 37422393 => 'Мехрадзор, Котайк', 37422394 => 'Пюник, Котайк', + 37422395 => 'Раздан, Котайк', + 37422396 => 'Раздан, Котайк', 37422397 => 'Солак, Котайк', 37422398 => 'Бжни, Котайк', - 374224 => 'Канакераван/Нор Гехи/Нор Ачн/Егвард, Котайк', + 37422399 => 'Раздан, Котайк', + 3742240 => 'Канакераван/Нор Гехи/Нор Ачн/Егвард, Котайк', + 3742241 => 'Канакераван/Нор Гехи/Нор Ачн/Егвард, Котайк', 3742242 => 'Егвард, Котайк', 3742243 => 'Егвард, Котайк', 3742244 => 'Нор Ачн, Котайк', @@ -73,6 +83,7 @@ return array ( 37422454 => 'Аргел, Котайк', 3742246 => 'Егвард, Котайк', 3742247 => 'Егвард/Нор Ачн, Котайк', + 3742248 => 'Канакераван/Нор Гехи/Нор Ачн/Егвард, Котайк', 374224810 => 'Егвард, Котайк', 374224811 => 'Егвард, Котайк', 374224812 => 'Егвард, Котайк', @@ -87,52 +98,60 @@ return array ( 374226 => 'Чаренцаван, Котайк', 37422672 => 'Арзакан, Котайк', 37422675 => 'Алапарс/Варданаванк, Котайк', - 374231 => 'Эчмиадзин/Мусалер/Паракяр/Звартноц, Армавир', + 3742310 => 'Эчмиадзин/Мусалер/Паракяр/Звартноц, Армавир', + 3742311 => 'Эчмиадзин/Мусалер/Паракяр/Звартноц, Армавир', 3742312 => 'Эчмиадзин, Армавир', 3742313 => 'Звартноц, Армавир', 3742314 => 'Эчмиадзин, Армавир', 3742315 => 'Эчмиадзин, Армавир', 3742316 => 'Эчмиадзин, Армавир', 3742317 => 'Звартноц, Армавир', - 374231810 => 'Эчмиадзин, Армавир', - 374231811 => 'Эчмиадзин, Армавир', - 374231812 => 'Эчмиадзин, Армавир', - 374231813 => 'Эчмиадзин, Армавир', - 374231814 => 'Эчмиадзин, Армавир', - 374231815 => 'Эчмиадзин, Армавир', - 374231816 => 'Эчмиадзин, Армавир', + 3742318 => 'Эчмиадзин/Мусалер/Паракяр/Звартноц, Армавир', + 37423181 => 'Эчмиадзин, Армавир', 374231817 => 'Звартноц, Армавир', 374231818 => 'Звартноц, Армавир', 374231819 => 'Звартноц, Армавир', - 3742319 => 'Эчмиадзин, Армавир', 37423190 => 'Баграмян, Армавир', 37423191 => 'Ваче, Армавир', + 37423192 => 'Эчмиадзин, Армавир', + 37423193 => 'Эчмиадзин, Армавир', + 37423194 => 'Эчмиадзин, Армавир', 37423195 => 'Норакерт, Армавир', + 37423196 => 'Эчмиадзин, Армавир', + 37423197 => 'Эчмиадзин, Армавир', 37423198 => 'Джрарат, Армавир', 37423199 => 'Хоронк, Армавир', - 374232 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', + 3742320 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', + 3742321 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', 3742322 => 'Аштарак, Арагацо́тн', 3742323 => 'Аштарак, Арагацо́тн', 3742324 => 'Аштарак/Бюракан/Оганаван, Арагацо́тн', + 3742325 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', 3742326 => 'Аштарак, Арагацо́тн', + 3742327 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', + 3742328 => 'Ахцк/Аштарак/Карби/Ошакан, Арагацо́тн', 37423281 => 'Аштарак/Бюракан/Оганаван, Арагацо́тн', 3742329 => 'Аштарак, Арагацо́тн', 37423290 => 'Оганаван, Арагацо́тн', 37423294 => 'Бюракан, Арагацо́тн', - 374233 => 'Баграмян/Лернагог, Армавир', + 3742330 => 'Баграмян/Лернагог, Армавир', + 3742331 => 'Баграмян/Лернагог, Армавир', 3742332 => 'Баграмян, Армавир', 3742333 => 'Баграмян/Мясникян, Армавир', + 3742334 => 'Баграмян/Лернагог, Армавир', + 3742335 => 'Баграмян/Лернагог, Армавир', 3742336 => 'Баграмян, Армавир', 3742337 => 'Баграмян, Армавир', 37423374 => 'Мясникян, Армавир', 37423375 => 'Каракерт, Армавир', 37423376 => 'Даларик, Армавир', + 3742338 => 'Баграмян/Лернагог, Армавир', 37423381 => 'Баграмян/Мясникян, Армавир', 3742339 => 'Баграмян, Армавир', - 374234 => 'Арарат/Веди/Воскетап, Арарат', - 3742342 => 'Арарат/Веди, Арарат', - 3742343 => 'Арарат/Веди, Арарат', - 3742344 => 'Арарат/Веди, Арарат', + 374234 => 'Арарат/Веди, Арарат', + 3742340 => 'Арарат/Веди/Воскетап, Арарат', + 3742341 => 'Арарат/Веди/Воскетап, Арарат', + 3742345 => 'Арарат/Веди/Воскетап, Арарат', 374234510 => 'Веди, Арарат', 374234511 => 'Веди, Арарат', 374234512 => 'Веди, Арарат', @@ -143,7 +162,6 @@ return array ( 374234517 => 'Арарат/Урцадзор, Арарат', 374234518 => 'Арарат/Урцадзор, Арарат', 374234519 => 'Арарат/Урцадзор, Арарат', - 3742346 => 'Арарат/Веди, Арарат', 37423470 => 'Веди, Арарат', 37423471 => 'Веди, Арарат', 37423472 => 'Веди, Арарат', @@ -154,80 +172,82 @@ return array ( 37423477 => 'Арарат/Урцадзор, Арарат', 37423478 => 'Арарат/Урцадзор, Арарат', 37423479 => 'Арарат/Урцадзор, Арарат', - 3742348 => 'Арарат/Веди, Арарат', 37423481 => 'Айгаван, Арарат', 37423486 => 'Урцадзор, Арарат', - 3742349 => 'Арарат/Веди, Арарат', 37423492 => 'Мартиросян, Арарат', 37423497 => 'Покр Веди, Арарат', 37423498 => 'Таперакан, Арарат', - 374235 => 'Арташат/Айгезард/Далар/Кахцрашен/Мхчян/Шаумян, Арарат', + 3742350 => 'Арташат/Айгезард/Далар/Кахцрашен/Мхчян/Шаумян, Арарат', + 3742351 => 'Арташат/Айгезард/Далар/Кахцрашен/Мхчян/Шаумян, Арарат', 3742352 => 'Арташат, Арарат', 3742353 => 'Арташат/Норашен, Арарат', + 3742354 => 'Арташат/Айгезард/Далар/Кахцрашен/Мхчян/Шаумян, Арарат', 3742355 => 'Арташат, Арарат', 3742356 => 'Арташат, Арарат', 3742357 => 'Арташат, Арарат', 37423572 => 'Аревшат, Арарат', + 3742358 => 'Арташат/Айгезард/Далар/Кахцрашен/Мхчян/Шаумян, Арарат', 37423581 => 'Арташат/Норашен, Арарат', 3742359 => 'Арташат/Норашен, Арарат', 37423592 => 'Норашен, Арарат', 37423593 => 'Норашен, Арарат', - 374236 => 'Айнтап/Масис/Нор Харберд/Норабац, Арарат', + 3742360 => 'Айнтап/Масис/Нор Харберд/Норабац, Арарат', + 3742361 => 'Айнтап/Масис/Нор Харберд/Норабац, Арарат', 3742362 => 'Масис, Арарат', 3742363 => 'Айнтап/Масис, Арарат', 3742364 => 'Масис, Арарат', 3742365 => 'Масис, Арарат', 3742366 => 'Масис, Арарат', + 3742367 => 'Айнтап/Масис/Нор Харберд/Норабац, Арарат', + 3742368 => 'Айнтап/Масис/Нор Харберд/Норабац, Арарат', 37423681 => 'Масис, Арарат', 3742369 => 'Масис, Арарат', 37423699 => 'Даштаван, Арарат', - 374237 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', + 3742370 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', + 3742371 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', 3742372 => 'Армавир', 3742373 => 'Мецамор, Армавир', - 37423740 => 'Армавир', - 37423741 => 'Армавир', - 37423742 => 'Армавир', - 37423743 => 'Армавир', - 37423744 => 'Армавир', - 37423745 => 'Армавир', - 37423746 => 'Армавир', + 3742374 => 'Армавир', + 37423747 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', + 37423748 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', + 37423749 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', 3742375 => 'Армавир', 3742376 => 'Армавир', 3742377 => 'Армавир/Мргашат', 37423771 => 'Армавир', 37423772 => 'Мргашат, Армавир', 37423779 => 'Бамбакашат, Армавир', - 374237810 => 'Армавир', - 374237811 => 'Армавир', - 374237812 => 'Армавир', - 374237813 => 'Армавир', - 374237814 => 'Армавир', - 374237815 => 'Армавир', - 374237816 => 'Армавир', + 3742378 => 'Аракс/Армавир/Октембер/Ленухи/Мецамор/Зартонк, Армавир', + 37423781 => 'Армавир', 3742379 => 'Армавир/Налбандяна', 37423792 => 'Налбандяна, Армавир', 37423794 => 'Маргара, Армавир', 37423796 => 'Тандзут, Армавир', 37423798 => 'Шенаван, Армавир', 374238 => 'Арарат/Авшар/Суренаван/Ерасх', - 374242 => 'Маралик/Сарнахбюр, Ширакский', + 3742420 => 'Маралик/Сарнахбюр, Ширакский', + 3742421 => 'Маралик/Сарнахбюр, Ширакский', 3742422 => 'Маралик, Ширакский', 3742423 => 'Маралик, Ширакский', 37424231 => 'Сарнахбюр, Ширакский', 3742424 => 'Маралик, Ширакский', 3742425 => 'Маралик/Сарнахбюр, Ширакский', 3742426 => 'Маралик, Ширакский', - 37424281 => 'Маралик/Сарнахбюр, Ширакский', + 3742427 => 'Маралик/Сарнахбюр, Ширакский', + 3742428 => 'Маралик/Сарнахбюр, Ширакский', 3742429 => 'Маралик, Ширакский', 37424293 => 'Ширакскийаван, Ширакский', 37424297 => 'Ани Каяран, Ширакский', 37424300 => 'Ахурян/Арапи/Камо/Мусаелян, Ширакский', - 374244 => 'Артик/Пемзашен, Ширакский', + 3742440 => 'Артик/Пемзашен, Ширакский', + 3742441 => 'Артик/Пемзашен, Ширакский', 3742442 => 'Артик, Ширакский', 3742443 => 'Артик, Ширакский', 3742444 => 'Артик/Паник, Ширакский', 3742445 => 'Артик, Ширакский', 3742446 => 'Артик, Ширакский', + 3742447 => 'Артик/Пемзашен, Ширакский', + 3742448 => 'Артик/Пемзашен, Ширакский', 37424481 => 'Артик/Паник, Ширакский', 3742449 => 'Артик, Ширакский', 37424492 => 'Паник, Ширакский', @@ -236,11 +256,7 @@ return array ( 374245 => 'Ашоцк, Ширакский', 374246 => 'Амасия, Ширакский', 374249 => 'Талин, Арагацо́тн', - 3742492 => 'Талин, Арагацо́тн', - 3742493 => 'Талин, Арагацо́тн', 3742494 => 'Талин/Арагац/Катнахбюр/Мастара, Арагацо́тн', - 3742496 => 'Талин, Арагацо́тн', - 3742497 => 'Талин, Арагацо́тн', 37424973 => 'Катнахбюр, Арагацо́тн', 37424981 => 'Талин/Арагац/Катнахбюр/Мастара, Арагацо́тн', 3742499 => 'Арагацаван/Талин, Арагацо́тн', @@ -248,16 +264,13 @@ return array ( 37424996 => 'Неркин Базмаберд, Арагацо́тн', 37424997 => 'Мастара, Арагацо́тн', 374252 => 'Апаран, Арагацо́тн', - 3742522 => 'Апаран, Арагацо́тн', - 3742523 => 'Апаран, Арагацо́тн', 3742524 => 'Апаран/Артаван/Кучак, Арагацо́тн', 37425251 => 'Кучак, Арагацо́тн', - 3742526 => 'Апаран, Арагацо́тн', 37425281 => 'Апаран/Артаван/Кучак, Арагацо́тн', - 3742529 => 'Апаран, Арагацо́тн', 37425291 => 'Кучак, Арагацо́тн', 37425295 => 'Артаван, Арагацо́тн', - 374253 => 'Алаверди/Одзун/Цахкашат/Туманян, Лори', + 3742530 => 'Алаверди/Одзун/Цахкашат/Туманян, Лори', + 3742531 => 'Алаверди/Одзун/Цахкашат/Туманян, Лори', 3742532 => 'Алаверди, Лори', 3742533 => 'Алаверди, Лори', 3742534 => 'Алаверди, Лори', @@ -268,21 +281,24 @@ return array ( 37425357 => 'Туманян, Лори', 3742536 => 'Алаверди, Лори', 3742537 => 'Алаверди/Ахтала/Туманян, Лори', + 3742538 => 'Алаверди/Одзун/Цахкашат/Туманян, Лори', 37425381 => 'Алаверди/Ахтала/Туманян, Лори', + 3742539 => 'Алаверди/Одзун/Цахкашат/Туманян, Лори', 374254 => 'Ташир, Лори', - 3742542 => 'Ташир, Лори', 3742543 => 'Ташир/Мецаван, Лори', - 3742546 => 'Ташир, Лори', - 3742547 => 'Ташир, Лори', 37425481 => 'Ташир/Мецаван, Лори', 3742549 => 'Ташир/Мецаван, Лори', 37425494 => 'Мецаван, Лори', 374255 => 'Спитак, Лори', - 374256 => 'Бовадзор/Степанаван, Лори', + 3742560 => 'Бовадзор/Степанаван, Лори', + 3742561 => 'Бовадзор/Степанаван, Лори', 3742562 => 'Степанаван, Лори', 3742563 => 'Степанаван, Лори', 3742564 => 'Степанаван, Лори', + 3742565 => 'Бовадзор/Степанаван, Лори', 3742566 => 'Степанаван, Лори', + 3742567 => 'Бовадзор/Степанаван, Лори', + 3742568 => 'Бовадзор/Степанаван, Лори', 37425681 => 'Степанаван, Лори', 3742569 => 'Степанаван, Лори', 37425691 => 'Куртан, Лори', @@ -296,66 +312,66 @@ return array ( 37425781 => 'Цахкаховит, Арагацо́тн', 374261 => 'Севан, Гегаркуникский', 374262 => 'Мартуни, Гегаркуникский', - 3742622 => 'Мартуни, Гегаркуникский', 3742623 => 'Мартуни/Варденик, Гегаркуникский', - 3742624 => 'Мартуни, Гегаркуникский', - 3742625 => 'Мартуни, Гегаркуникский', 37426252 => 'Варденик, Гегаркуникский', 37426253 => 'Варденик, Гегаркуникский', - 3742626 => 'Мартуни, Гегаркуникский', - 3742627 => 'Мартуни, Гегаркуникский', 37426272 => 'Личк, Гегаркуникский', 37426281 => 'Мартуни/Варденик, Гегаркуникский', - 3742629 => 'Мартуни, Гегаркуникский', 37426299 => 'Еранос, Гегаркуникский', - 374263 => 'Азатамут/Гетаховит/Иджеван/Енокаван, Тавушский', + 3742630 => 'Азатамут/Гетаховит/Иджеван/Енокаван, Тавушский', + 3742631 => 'Азатамут/Гетаховит/Иджеван/Енокаван, Тавушский', 3742632 => 'Иджеван/Айгеховит/Ачаджур, Тавушский', 3742633 => 'Иджеван, Тавушский', 3742634 => 'Иджеван, Тавушский', + 3742635 => 'Азатамут/Гетаховит/Иджеван/Енокаван, Тавушский', 3742636 => 'Иджеван, Тавушский', 3742637 => 'Иджеван, Тавушский', 37426374 => 'Айгеховит, Тавушский', + 3742638 => 'Азатамут/Гетаховит/Иджеван/Енокаван, Тавушский', 37426381 => 'Иджеван/Айгеховит/Ачаджур, Тавушский', 3742639 => 'Иджеван, Тавушский', 37426392 => 'Ачаджур, Тавушский', 37426397 => 'Азатамут, Тавушский', - 374264 => 'Гавар/Сарухан, Гегаркуникский', - 3742642 => 'Гавар, Гегаркуникский', - 3742643 => 'Гавар, Гегаркуникский', - 3742644 => 'Гавар, Гегаркуникский', - 3742645 => 'Гавар, Гегаркуникский', - 3742646 => 'Гавар, Гегаркуникский', - 37426481 => 'Гавар, Гегаркуникский', - 3742649 => 'Гавар, Гегаркуникский', + 374264 => 'Гавар, Гегаркуникский', + 3742640 => 'Гавар/Сарухан, Гегаркуникский', + 3742641 => 'Гавар/Сарухан, Гегаркуникский', + 3742647 => 'Гавар/Сарухан, Гегаркуникский', + 3742648 => 'Гавар/Сарухан, Гегаркуникский', 374265 => 'Чамбарак, Гегаркуникский', - 3742652 => 'Чамбарак, Гегаркуникский', - 3742653 => 'Чамбарак, Гегаркуникский', 3742654 => 'Чамбарак/Ваан, Гегаркуникский', - 3742656 => 'Чамбарак, Гегаркуникский', 37426581 => 'Чамбарак/Ваан, Гегаркуникский', - 3742659 => 'Чамбарак, Гегаркуникский', 37426596 => 'Ваан, Гегаркуникский', - 374266 => 'Бердаван/Кохб/Ноемберян, Тавушский', + 3742660 => 'Бердаван/Кохб/Ноемберян, Тавушский', + 3742661 => 'Бердаван/Кохб/Ноемберян, Тавушский', 3742662 => 'Ноемберян, Тавушский', 3742663 => 'Ноемберян/Воскепар/Кочи/Кохб, Тавушский', + 3742664 => 'Бердаван/Кохб/Ноемберян, Тавушский', 3742665 => 'Кохб/Ноемберян, Тавушский', 37426652 => 'Кохб, Тавушский', 37426653 => 'Кохб, Тавушский', 3742666 => 'Ноемберян, Тавушский', 3742667 => 'Бердаван/Ноемберян, Тавушский', + 3742668 => 'Бердаван/Кохб/Ноемберян, Тавушский', 37426681 => 'Ноемберян/Воскепар/Кочи/Кохб, Тавушский', - 3742669 => 'Ноемберян, Тавушский', + 37426690 => 'Ноемберян, Тавушский', + 37426691 => 'Ноемберян, Тавушский', 37426692 => 'Арчис, Тавушский', 37426693 => 'Баганис, Тавушский', + 37426694 => 'Ноемберян, Тавушский', 37426695 => 'Зоракан, Тавушский', 37426696 => 'Воскепар, Тавушский', + 37426697 => 'Ноемберян, Тавушский', + 37426698 => 'Ноемберян, Тавушский', 37426699 => 'Кочи, Тавушский', - 374267 => 'Айгепар/Берд, Тавушский', + 3742670 => 'Айгепар/Берд, Тавушский', + 3742671 => 'Айгепар/Берд, Тавушский', 3742672 => 'Берд, Тавушский', 3742673 => 'Берд/Мосесгех/Навур/Норашен, Тавушский', + 3742674 => 'Айгепар/Берд, Тавушский', 3742675 => 'Арцваберд/Берд, Тавушский', 3742676 => 'Берд, Тавушский', 3742677 => 'Берд, Тавушский', + 3742678 => 'Айгепар/Берд, Тавушский', 37426781 => 'Берд/Мосесгех/Навур/Норашен, Тавушский', 3742679 => 'Берд, Тавушский', 37426791 => 'Навур, Тавушский', @@ -372,18 +388,24 @@ return array ( 37426895 => 'Агарцин, Тавушский', 37426897 => 'Техут, Тавушский', 374269 => 'Варденис, Гегаркуникский', - 374281 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', + 3742810 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', + 3742811 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 3742812 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 3742813 => 'Ехегнадзор/Малишка/Шатин, ВАЙОЦДЗОРСКИЙ', + 3742814 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 3742815 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 37428151 => 'Хачик, ВАЙОЦДЗОРСКИЙ', 3742816 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', + 3742817 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', + 3742818 => 'Гетап/Салли/Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 37428181 => 'Ехегнадзор/Малишка/Шатин, ВАЙОЦДЗОРСКИЙ', - 3742819 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', + 37428190 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 37428191 => 'Арпи, ВАЙОЦДЗОРСКИЙ', + 37428192 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 37428193 => 'Агавнадзор, ВАЙОЦДЗОРСКИЙ', 37428194 => 'Арени, ВАЙОЦДЗОРСКИЙ', 37428195 => 'Малишка, ВАЙОЦДЗОРСКИЙ', + 37428196 => 'Ехегнадзор, ВАЙОЦДЗОРСКИЙ', 37428197 => 'Елпин, ВАЙОЦДЗОРСКИЙ', 37428198 => 'Ринд, ВАЙОЦДЗОРСКИЙ', 37428199 => 'Шатин, ВАЙОЦДЗОРСКИЙ', @@ -398,20 +420,18 @@ return array ( 3742838 => 'Сисиан, Сюника', 3742839 => 'Сисиан, Сюника', 37428396 => 'Ангехакот, Сюника', - 374284 => 'Горис/Веришен, Сюника', - 3742842 => 'Горис, Сюника', + 374284 => 'Горис, Сюника', + 3742840 => 'Горис/Веришен, Сюника', + 3742841 => 'Горис/Веришен, Сюника', 37428427 => 'Веришен, Сюника', - 3742843 => 'Горис, Сюника', - 3742844 => 'Горис, Сюника', - 3742845 => 'Горис, Сюника', - 3742846 => 'Горис, Сюника', - 37428481 => 'Горис, Сюника', - 3742849 => 'Горис, Сюника', + 3742847 => 'Горис/Веришен, Сюника', + 3742848 => 'Горис/Веришен, Сюника', 37428491 => 'Аржис, Сюника', 37428494 => 'Хндзореск, Сюника', 37428495 => 'Шинуайр, Сюника', 37428499 => 'Корнидзор, Сюника', - 374285 => 'Давит Бек/Каджаран/Капан, Сюника', + 3742850 => 'Давит Бек/Каджаран/Капан, Сюника', + 3742851 => 'Давит Бек/Каджаран/Капан, Сюника', 3742852 => 'Капан, Сюника', 3742853 => 'Каджаран, Сюника', 37428540 => 'Капан, Сюника', @@ -426,6 +446,8 @@ return array ( 37428549 => 'Каджаран, Сюника', 3742855 => 'Капан, Сюника', 3742856 => 'Капан, Сюника', + 3742857 => 'Давит Бек/Каджаран/Капан, Сюника', + 3742858 => 'Давит Бек/Каджаран/Капан, Сюника', 374285810 => 'Капан, Сюника', 374285811 => 'Капан, Сюника', 374285812 => 'Капан, Сюника', @@ -437,12 +459,15 @@ return array ( 374285818 => 'Каджаран, Сюника', 374285819 => 'Каджаран, Сюника', 3742859 => 'Капан, Сюника', - 374286 => 'Мегри/Агарак, Сюника', + 3742860 => 'Мегри/Агарак, Сюника', + 3742861 => 'Мегри/Агарак, Сюника', 3742862 => 'Агарак, Сюника', 3742863 => 'Мегри, Сюника', 3742864 => 'Мегри, Сюника', 3742865 => 'Агарак/Шванидзор, Сюника', 3742866 => 'Мегри, Сюника', + 3742867 => 'Мегри/Агарак, Сюника', + 3742868 => 'Мегри/Агарак, Сюника', 374286810 => 'Мегри, Сюника', 374286811 => 'Мегри, Сюника', 374286812 => 'Мегри, Сюника', @@ -456,44 +481,27 @@ return array ( 3742869 => 'Мегри, Сюника', 37428695 => 'Шванидзор, Сюника', 374287 => 'Джермук, ВАЙОЦДЗОРСКИЙ', - 3742872 => 'Джермук, ВАЙОЦДЗОРСКИЙ', 3742873 => 'Джермук/Гндеваз, ВАЙОЦДЗОРСКИЙ', - 3742876 => 'Джермук, ВАЙОЦДЗОРСКИЙ', 37428781 => 'Джермук/Гндеваз, ВАЙОЦДЗОРСКИЙ', - 3742879 => 'Джермук, ВАЙОЦДЗОРСКИЙ', 37428794 => 'Гндеваз, ВАЙОЦДЗОРСКИЙ', - 374312 => 'Гюмри/Ахурян, Ширакский', - 3743122 => 'Гюмри, Ширакский', - 3743123 => 'Гюмри, Ширакский', - 3743124 => 'Гюмри, Ширакский', - 3743125 => 'Гюмри, Ширакский', - 3743126 => 'Гюмри, Ширакский', + 374312 => 'Гюмри, Ширакский', + 3743120 => 'Гюмри/Ахурян, Ширакский', + 3743121 => 'Гюмри/Ахурян, Ширакский', 3743127 => 'Ахурян, Ширакский', 37431280 => 'Ахурян, Ширакский', 37431281 => 'Ахурян, Ширакский', 37431282 => 'Ахурян, Ширакский', 37431283 => 'Ахурян, Ширакский', 37431284 => 'Ахурян, Ширакский', - 374312850 => 'Гюмри, Ширакский', - 374312851 => 'Гюмри, Ширакский', - 374312852 => 'Гюмри, Ширакский', - 374312853 => 'Гюмри, Ширакский', - 374312854 => 'Гюмри, Ширакский', - 374312855 => 'Гюмри, Ширакский', - 374312856 => 'Гюмри, Ширакский', - 374312857 => 'Гюмри, Ширакский', - 374312858 => 'Гюмри, Ширакский', 374312859 => 'Ахурян, Ширакский', - 3743129 => 'Гюмри, Ширакский', - 374322 => 'Ванадзор/Гугарк, Лори', - 3743222 => 'Ванадзор, Лори', - 3743223 => 'Ванадзор, Лори', - 3743224 => 'Ванадзор, Лори', - 3743225 => 'Ванадзор, Лори', - 3743226 => 'Ванадзор, Лори', - 3743227 => 'Ванадзор, Лори', - 37432281 => 'Ванадзор, Лори', - 3743229 => 'Ванадзор, Лори', + 37431286 => 'Гюмри/Ахурян, Ширакский', + 37431287 => 'Гюмри/Ахурян, Ширакский', + 37431288 => 'Гюмри/Ахурян, Ширакский', + 37431289 => 'Гюмри/Ахурян, Ширакский', + 374322 => 'Ванадзор, Лори', + 3743220 => 'Ванадзор/Гугарк, Лори', + 3743221 => 'Ванадзор/Гугарк, Лори', + 3743228 => 'Ванадзор/Гугарк, Лори', 37432293 => 'Памбак, Лори', 37432294 => 'Лернапат, Лори', 37432295 => 'Ехегнут, Лори', @@ -501,8 +509,10 @@ return array ( 37432297 => 'Дзорагет, Лори', 37432298 => 'Лермонтово, Лори', 37432299 => 'Ваагни, Лори', - 37447 => 'Нагорный Карабах', + 374470 => 'Нагорный Карабах', 374471 => 'Степанакерт', + 374472 => 'Нагорный Карабах', + 374473 => 'Нагорный Карабах', 374474 => 'Мартакерт', 374475 => 'Гадрут', 374476 => 'Аскеран', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/7.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/7.php index 7f280a2d5..4ee982bb3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/7.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/ru/7.php @@ -11,9 +11,8 @@ */ return array ( - 733622 => 'Байконыр', + 733 => 'Байконыр', 77102 => 'Жезказган', - 77103 => 'Жезказган', 771030 => 'Жана-Аркинский р-н', 771031 => 'Шетский р-н', 771032 => 'Каражал', @@ -28,7 +27,7 @@ return array ( 771041 => 'Актау, Жезказган', 771042 => 'Акой', 771043 => 'Жайрем (поселок)', - 771063 => 'Сатпаев', + 77106 => 'Сатпаев', 77112 => 'Уральск', 771130 => 'Зеленовский р-н', 771131 => 'Зеленовский р-н', @@ -49,11 +48,12 @@ return array ( 771146 => 'Акжаикский р-н', 771147 => 'Акжаикский р-н', 771149 => 'Акжаикский р-н', - 7712 => 'Атырауская область', 77122 => 'Атырау', + 771230 => 'Атырауская область', 7712302 => 'Тенгизшевройл', 7712303 => 'Тензиз', 771231 => 'Исатайский р-н', + 771232 => 'Атырауская область', 771233 => 'Курмангазинский р-н', 771234 => 'Индерский р-н', 771235 => 'Макатский р-н', @@ -61,7 +61,7 @@ return array ( 771237 => 'Жылыойский р-н', 771238 => 'Кзылкогинский р-н', 771239 => 'Макатский р-н', - 7713 => 'Актюбинская область', + 77125 => 'Атырауская область', 77132 => 'Актобе/Актюбинск', 771330 => 'Хромтауский р-н', 771331 => 'Мартукский р-н', @@ -81,7 +81,7 @@ return array ( 771347 => 'Айтекебийский р-н', 771348 => 'Шалкарский р-н', 771349 => 'Шалкарский р-н', - 7714 => 'Костанайская область', + 77135 => 'Актюбинская область', 77142 => 'Костанай', 771430 => 'Аркалык', 771431 => 'Рудный', @@ -109,7 +109,9 @@ return array ( 771455 => 'Костанайский р-н', 771456 => 'Качар', 771457 => 'Джангильдинский р-н', + 771458 => 'Костанайская область', 77145834 => 'Красногорск', + 771459 => 'Костанайская область', 77152 => 'Петропавловск', 771531 => 'Магжана Жумабаева р-н', 771532 => 'Аккайынский р-н', @@ -149,8 +151,7 @@ return array ( 771648 => 'Жаркаинский р-н', 771649 => 'Жаксынский р-н', 771651 => 'Целиноградский р-н', - 77172 => 'Астана', - 7718 => 'Павлодарская область', + 7717 => 'Астана', 77182 => 'Павлодар', 771831 => 'Железинский р-н', 771832 => 'Иртышский р-н', @@ -167,13 +168,12 @@ return array ( 771844 => 'Иртышский р-н', 771845 => 'Павлодар', 77187 => 'Экибастуз', - 7721 => 'Карагандинская область', 77212 => 'Караганда', + 77213 => 'Темиртау', 772131 => 'Абайский р-н', 772132 => 'Нуринский р-н', 772137 => 'Сарань', 772138 => 'Бухар-Жырауский р-н', - 77213 => 'Темиртау', 772144 => 'Нуринский р-н', 772146 => 'Каркаралинск', 772147 => 'Каркаралинский р-н', @@ -182,12 +182,13 @@ return array ( 772153 => 'Абайский р-н', 772154 => 'Бухар-Жырауский р-н', 772156 => 'Шахтинск', + 772159 => 'Карагандинская область', 77222 => 'Семипалатинск', 772230 => 'Урджарский р-н', 772236 => 'Бескарагайский р-н', 772237 => 'Аязог', 772239 => 'Урджарский р-н', - 772246 => 'Эмельтау', + 77224 => 'Эмельтау', 772251 => 'Курчатов', 772252 => 'Абайский р-н', 772256 => 'Алгабас', @@ -214,7 +215,6 @@ return array ( 772348 => 'Кокпектинский р-н', 772351 => 'Бородулихинский р-н', 772353 => 'Бородулихинский р-н', - 7724 => 'Кызылординская область', 77242 => 'Кызылорда', 772431 => 'Жалагашский р-н', 772432 => 'Шиелийский р-н', @@ -224,6 +224,7 @@ return array ( 772437 => 'Кармакшинский р-н', 772438 => 'Казалинский р-н', 772439 => 'Аральский р-н', + 77245 => 'Кызылординская область', 77252 => 'Шымкент', 772530 => 'Темирлановка', 772531 => 'Аксукент', @@ -257,15 +258,15 @@ return array ( 772642 => 'Мойынкумский р-н', 772643 => 'Шуский р-н', 772644 => 'Таласский р-н', - 7727 => 'Алматинская область', + 77272 => 'Алма-Ата', 772725 => 'Отеген-Батыр', 77272956 => 'Талгар', 77272983 => 'Каскелен', - 77272 => 'Алма-Ата', 77273 => 'Алма-Ата', - 772740 => 'Карасайский р-н', + 77274 => 'Карасайский р-н', 772752 => 'Илийский р-н', 772757 => 'Акший', + 772759 => 'Алматинская область', 772770 => 'Жамбылский р-н', 772771 => 'Карасайский р-н', 772772 => 'Капчагай', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sr/387.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sr/387.php index b1995d7ce..791696ca6 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sr/387.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sr/387.php @@ -19,7 +19,7 @@ return array ( 38735 => 'Тузлански кантон', 38737 => 'Унско-сански кантон', 38738 => 'Босанско-подрињски кантон Горажде', - 38749 => 'Брчко Дистрикт', + 3874 => 'Брчко Дистрикт', 38750 => 'Мркоњић Град', 38751 => 'Бања Лука', 38752 => 'Приједор', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sv/358.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sv/358.php index ebb432a5a..0d55f7799 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sv/358.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/sv/358.php @@ -57,12 +57,5 @@ return array ( 35886 => 'Uleåborg', 35887 => 'Uleåborg', 35888 => 'Uleåborg', - 35891 => 'Helsingfors', - 35892 => 'Helsingfors', - 35893 => 'Helsingfors', - 35894 => 'Helsingfors', - 35895 => 'Helsingfors', - 35896 => 'Helsingfors', - 35897 => 'Helsingfors', - 35898 => 'Helsingfors', + 3589 => 'Helsingfors', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/tr/90.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/tr/90.php index aaaa71339..fe812a3ef 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/tr/90.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/tr/90.php @@ -12,77 +12,40 @@ return array ( 90212 => 'Istanbul (Avrupa)', - 90213 => 'Istanbul (Avrupa)', 90222 => 'Eskisehir', - 90223 => 'Eskisehir', 90232 => 'İzmir', - 90233 => 'İzmir', 90252 => 'Muğla', - 90253 => 'Muğla', 90256 => 'Aydın', - 90257 => 'Aydın', 90262 => 'Kocaeli (İzmit)', - 90263 => 'Kocaeli (İzmit)', 90264 => 'Sakarya (Adapazarı)', - 90265 => 'Sakarya (Adapazarı)', 90266 => 'Balıkesir', - 90267 => 'Balıkesir', 90274 => 'Kütahya', - 90275 => 'Kütahya', 90276 => 'Uşak', - 90277 => 'Uşak', 90282 => 'Tekirdağ', - 90283 => 'Tekirdağ', 90286 => 'Çanakkale', - 90287 => 'Çanakkale', 90288 => 'Kırklareli', - 90289 => 'Kırklareli', 90318 => 'Kırıkkale', - 90319 => 'Kırıkkale', 90324 => 'Mersin', - 90325 => 'Mersin', 90344 => 'Kahramanmaraş', - 90345 => 'Kahramanmaraş', 90364 => 'Çorum', - 90365 => 'Çorum', 90370 => 'Karabük', - 90371 => 'Karabük', 90372 => 'Zonguldak', - 90373 => 'Zonguldak', 90376 => 'Çankırı', - 90377 => 'Çankırı', 90378 => 'Bartın', - 90379 => 'Bartın', 90380 => 'Düzce', - 90381 => 'Düzce', 90384 => 'Nevşehir', - 90385 => 'Nevşehir', 90386 => 'Kırşehir', - 90387 => 'Kırşehir', 90388 => 'Niğde', - 90389 => 'Niğde', 90412 => 'Diyarbakır', - 90413 => 'Diyarbakır', 90414 => 'Şanlıurfa', - 90415 => 'Şanlıurfa', 90416 => 'Adıyaman', - 90417 => 'Adıyaman', 90424 => 'Elazığ', - 90425 => 'Elazığ', 90426 => 'Bingöl', - 90427 => 'Bingöl', 90428 => 'Tunceli', - 90429 => 'Tunceli', 90436 => 'Muş', - 90437 => 'Muş', 90456 => 'Gümüşhane', - 90457 => 'Gümüşhane', 90472 => 'Ağrı', - 90473 => 'Ağrı', 90476 => 'Iğdır', - 90477 => 'Iğdır', 90484 => 'Siirt', - 90485 => 'Siirt', 90486 => 'Şırnak', - 90487 => 'Şırnak', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/uk/380.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/uk/380.php index 6788f86c0..41d807740 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/uk/380.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/uk/380.php @@ -26,34 +26,52 @@ return array ( 3803144 => 'Іршава, Закарпатська', 3803145 => 'Перечин, Закарпатська', 3803146 => 'Міжгірʼя, Закарпатська', - 38032 => 'Львів/Львівська', + 380320 => 'Львів/Львівська', + 380321 => 'Львів/Львівська', 380322 => 'Брюховичі/Львів, Львівська', 3803230 => 'Пустомити, Львівська', 3803231 => 'Городок, Львівська', + 3803232 => 'Львів/Львівська', + 3803233 => 'Львів/Львівська', 3803234 => 'Мостиська, Львівська', + 3803235 => 'Львів/Львівська', 3803236 => 'Самбір, Львівська', + 3803237 => 'Львів/Львівська', 3803238 => 'Старий Самбір, Львівська', 3803239 => 'Жидачів, Львівська', + 3803240 => 'Львів/Львівська', 3803241 => 'Миколаїв, Львівська', + 3803242 => 'Львів/Львівська', + 3803243 => 'Львів/Львівська', 3803244 => 'Дрогобич, Львівська', 3803245 => 'Стрий, Львівська', + 3803246 => 'Львів/Львівська', 3803247 => 'Трускавець, Львівська', 3803248 => 'Борислав/Східниця, Львівська', 3803249 => 'Червоноград, Львівська', + 3803250 => 'Львів/Львівська', 3803251 => 'Сколе/Славське, Львівська', 3803252 => 'Жовква, Львівська', + 3803253 => 'Львів/Львівська', 3803254 => 'Камʼянка-Бузька, Львівська', 3803255 => 'Радехів, Львівська', 3803256 => 'Новояворівськ, Львівська', 3803257 => 'Сокаль, Львівська', + 3803258 => 'Львів/Львівська', 3803259 => 'Яворів, Львівська', 3803260 => 'Моршин, Львівська', 3803261 => 'Новий Роздол, Львівська', + 3803262 => 'Львів/Львівська', 3803263 => 'Перемишляни, Львівська', 3803264 => 'Буськ, Львівська', 3803265 => 'Золочів, Львівська', 3803266 => 'Броди, Львівська', + 3803267 => 'Львів/Львівська', + 3803268 => 'Львів/Львівська', 3803269 => 'Турка, Львівська', + 380327 => 'Львів/Львівська', + 380328 => 'Львів/Львівська', + 380329 => 'Львів/Львівська', 38033 => 'Волинська', 380332 => 'Луцьк, Волинська', 3803342 => 'Володимир-Волинський, Волинська', @@ -367,13 +385,16 @@ return array ( 3805357 => 'Оржиця, Полтава', 3805358 => 'Пирятин, Полтава', 3805359 => 'Гребінка, Полтава', - 380536 => 'Кременчук, Полтава', + 3805360 => 'Кременчук, Полтава', 3805361 => 'Лубни, Полтава', 3805362 => 'Хорол, Полтава', 3805363 => 'Решетилівка, Полтава', 3805364 => 'Машівка, Полтава', 3805365 => 'Глобине, Полтава', 3805366 => 'Кременчук, Полтава', + 3805367 => 'Кременчук, Полтава', + 3805368 => 'Кременчук, Полтава', + 3805369 => 'Кременчук, Полтава', 38054 => 'Суми', 3805442 => 'Путивль, Суми', 3805443 => 'Білопілля, Суми', @@ -412,9 +433,9 @@ return array ( 3805547 => 'Білозерка, Херсон', 3805548 => 'Новотроїцьке, Херсон', 3805549 => 'Нова Каховка, Херсон', - 38056 => 'Дніпропетро́вськ/Дніпро', + 380560 => 'Дніпропетро́вськ/Дніпро', + 380561 => 'Дніпропетро́вськ/Дніпро', 380562 => 'Дніпропетровськ, Дніпро', - 380563 => 'Павлоград, Дніпро', 3805630 => 'Межова, Дніпро', 3805631 => 'Петропавлівка, Дніпро', 3805632 => 'Павлоград, Дніпро', @@ -422,23 +443,32 @@ return array ( 3805634 => 'Петриківка, Дніпро', 3805635 => 'Юрʼївка, Дніпро', 3805636 => 'Тернівка, Дніпро', + 3805637 => 'Павлоград, Дніпро', 3805638 => 'Покровське, Дніпро', 3805639 => 'Васильківка, Дніпро', 380564 => 'Кривий Ріг, Дніпро', 3805650 => 'Софіївка, Дніпро', + 3805651 => 'Дніпропетро́вськ/Дніпро', 3805652 => 'Жовті Води, Дніпро', 3805653 => 'Вільногірськ, Дніпро', 3805654 => 'Кринички, Дніпро', + 3805655 => 'Дніпропетро́вськ/Дніпро', 3805656 => 'Апостолове, Дніпро', 3805657 => 'Широке, Дніпро', 3805658 => 'Верхньодніпровськ, Дніпро', - 380566 => 'Нікополь, Дніпро', + 3805659 => 'Дніпропетро́вськ/Дніпро', + 3805660 => 'Нікополь, Дніпро', + 3805661 => 'Нікополь, Дніпро', 3805662 => 'Нікополь, Дніпро', 3805663 => 'Синельникове, Дніпро', + 3805664 => 'Нікополь, Дніпро', 3805665 => 'Марганець, Дніпро', + 3805666 => 'Нікополь, Дніпро', 3805667 => 'Орджонікідзе, Дніпро', 3805668 => 'Томаківка, Дніпро', 3805669 => 'Солоне, Дніпро', + 380567 => 'Дніпропетро́вськ/Дніпро', + 380568 => 'Дніпропетро́вськ/Дніпро', 380569 => 'Дніпродзержинськ/Новомосковськ, Дніпро', 3805690 => 'Царичанка, Дніпро', 3805691 => 'Магдалинівка, Дніпро', @@ -494,75 +524,108 @@ return array ( 3806175 => 'Василівка/Дніпрорудне, Запорізька', 3806178 => 'Токмак, Запорізька', 380619 => 'Мелітополь, Запорізька', - 3806192 => 'Мелітополь, Запорізька', - 38062 => 'Донецьк', + 380620 => 'Донецьк', + 380621 => 'Донецьк', + 380622 => 'Донецьк', 380623 => 'Красноармійськ/Макіївка, Донецьк', 3806232 => 'Макіївка, Донецьк', 3806236 => 'Ясинувата, Донецьк', 3806237 => 'Селидове, Донецьк', 3806239 => 'Красноармійськ, Донецьк', - 380624 => 'Горлівка, Донецьк', + 3806240 => 'Горлівка, Донецьк', + 3806241 => 'Горлівка, Донецьк', 3806242 => 'Горлівка, Донецьк', 3806243 => 'Велика Новосілка, Донецьк', 3806244 => 'Волноваха, Донецьк', + 3806245 => 'Горлівка, Донецьк', 3806246 => 'Володарське, Донецьк', 3806247 => 'Дзержинськ, Донецьк', + 3806248 => 'Горлівка, Донецьк', 3806249 => 'Дебальцеве, Донецьк', 3806250 => 'Кіровське, Донецьк', + 3806251 => 'Донецьк', 3806252 => 'Єнакієве, Донецьк', 3806253 => 'Старобешеве, Донецьк', 3806254 => 'Торез, Донецьк', 3806255 => 'Шахтарськ, Донецьк', 3806256 => 'Сніжне, Донецьк', 3806257 => 'Іловайськ/Харцизьк, Донецьк', + 3806258 => 'Донецьк', 3806259 => 'Амвросіївка, Донецьк', - 380626 => 'Краматорськ/Словʼянськ, Донецьк', + 3806260 => 'Краматорськ/Словʼянськ, Донецьк', 3806261 => 'Красний Лиман, Донецьк', 3806262 => 'Святогірськ/Словʼянськ, Донецьк', + 3806263 => 'Краматорськ/Словʼянськ, Донецьк', 3806264 => 'Краматорськ, Донецьк', + 3806265 => 'Краматорськ/Словʼянськ, Донецьк', + 3806266 => 'Краматорськ/Словʼянськ, Донецьк', 3806267 => 'Дружківка, Донецьк', + 3806268 => 'Краматорськ/Словʼянськ, Донецьк', 3806269 => 'Олександрівка, Донецьк', - 380627 => 'Артемівськ, Донецьк', + 3806270 => 'Артемівськ, Донецьк', + 3806271 => 'Артемівськ, Донецьк', 3806272 => 'Костянтинівка, Донецьк', 3806273 => 'Вугледар, Донецьк', 3806274 => 'Артемівськ/Сіверськ, Донецьк', 3806275 => 'Докучаєвськ, Донецьк', + 3806276 => 'Артемівськ, Донецьк', 3806277 => 'Добропілля, Донецьк', 3806278 => 'Марʼїнка, Донецьк', 3806279 => 'Тельманове, Донецьк', + 380628 => 'Донецьк', 380629 => 'Маріуполь, Донецьк', 3806296 => 'Новоазовськ, Донецьк', 3806297 => 'Мангуш/Ялта, Донецьк', - 38064 => 'Луганськ', + 380640 => 'Луганськ', + 380641 => 'Луганськ', 380642 => 'Луганськ/Олександрівськ, Луганськ', + 3806430 => 'Луганськ', 3806431 => 'Антрацит, Луганськ', 3806432 => 'Красний Луч, Луганськ', 3806433 => 'Ровеньки, Луганськ', 3806434 => 'Свердловськ, Луганськ', 3806435 => 'Краснодон, Луганськ', 3806436 => 'Лутугине, Луганськ', + 3806437 => 'Луганськ', + 3806438 => 'Луганськ', + 3806439 => 'Луганськ', + 3806440 => 'Луганськ', 3806441 => 'Перевальськ, Луганськ', 3806442 => 'Алчевськ, Луганськ', 3806443 => 'Брянка, Луганськ', 3806444 => 'Стаханов, Луганськ', 3806445 => 'Новоайдар, Луганськ', 3806446 => 'Кіровськ, Луганськ', + 3806447 => 'Луганськ', + 3806448 => 'Луганськ', + 3806449 => 'Луганськ', + 3806450 => 'Луганськ', 3806451 => 'Лисичанськ, Луганськ', 3806452 => 'Сєвєродонецьк, Луганськ', 3806453 => 'Рубіжне, Луганськ', 3806454 => 'Кремінна, Луганськ', 3806455 => 'Первомайськ, Луганськ', 3806456 => 'Троїцьке, Луганськ', + 3806457 => 'Луганськ', + 3806458 => 'Луганськ', + 3806459 => 'Луганськ', + 3806460 => 'Луганськ', 3806461 => 'Старобільськ, Луганськ', 3806462 => 'Білокуракине, Луганськ', 3806463 => 'Новопсков, Луганськ', 3806464 => 'Марківка, Луганськ', 3806465 => 'Мілове, Луганськ', 3806466 => 'Біловодськ, Луганськ', + 3806467 => 'Луганськ', + 3806468 => 'Луганськ', + 3806469 => 'Луганськ', + 380647 => 'Луганськ', 3806471 => 'Сватове, Луганськ', 3806472 => 'Станиця Луганськ, Луганськ', 3806473 => 'Словʼяносербськ, Луганськ', 3806474 => 'Попасна, Луганськ', + 380648 => 'Луганськ', + 380649 => 'Луганськ', 38065 => 'Крим', 38069 => 'Севастополь', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/vi/84.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/vi/84.php index 85dc36e7d..e527cdbeb 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/vi/84.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/vi/84.php @@ -43,13 +43,7 @@ return array ( 84237 => 'Thanh Hóa', 84238 => 'Nghệ An', 84239 => 'Hà Tĩnh', - 84242 => 'Thủ đô Hà Nội', - 84243 => 'Thủ đô Hà Nội', - 84244 => 'Thủ đô Hà Nội', - 84245 => 'Thủ đô Hà Nội', - 84246 => 'Thủ đô Hà Nội', - 84247 => 'Thủ đô Hà Nội', - 84248 => 'Thủ đô Hà Nội', + 8424 => 'Thủ đô Hà Nội', 84251 => 'Đồng Nai', 84252 => 'Bình Thuận', 84254 => 'Bà Rịa-Vũng Tàu', @@ -71,12 +65,7 @@ return array ( 84275 => 'Bến Tre', 84276 => 'Tây Ninh', 84277 => 'Đồng Tháp', - 84282 => 'Thành phố Hồ Chí Minh', - 84283 => 'Thành phố Hồ Chí Minh', - 84284 => 'Thành phố Hồ Chí Minh', - 84285 => 'Thành phố Hồ Chí Minh', - 84286 => 'Thành phố Hồ Chí Minh', - 84287 => 'Thành phố Hồ Chí Minh', + 8428 => 'Thành phố Hồ Chí Minh', 84290 => 'Cà Mau', 84291 => 'Bạc Liêu', 84292 => 'Thành phố Cần Thơ', diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh/886.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh/886.php index 7339cd74d..8edc5c106 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh/886.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh/886.php @@ -14,14 +14,18 @@ return array ( 8862 => '台北', 8863 => '桃园、新竹、花莲、宜兰', 88637 => '苗栗', - 8864 => '台中、彰化', + 88642 => '台中、彰化', + 88643 => '台中、彰化', + 88647 => '台中、彰化', + 88648 => '台中、彰化', 88649 => '南投', 8865 => '嘉义、云林', 8866 => '台南、澎湖', 8867 => '高雄', - 8868 => '屏东', - 88682 => '金门', + 88680 => '屏东', + 886823 => '金门', 886826 => '乌丘', - 886836 => '马祖', + 88687 => '屏东', + 88688 => '屏东', 88689 => '台东', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh_Hant/886.php b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh_Hant/886.php index 6cad51ec9..a8564f844 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh_Hant/886.php +++ b/vendor/giggsey/libphonenumber-for-php/src/geocoding/data/zh_Hant/886.php @@ -14,14 +14,18 @@ return array ( 8862 => '臺北', 8863 => '桃園、新竹、花蓮、宜蘭', 88637 => '苗栗', - 8864 => '臺中、彰化', + 88642 => '臺中、彰化', + 88643 => '臺中、彰化', + 88647 => '臺中、彰化', + 88648 => '臺中、彰化', 88649 => '南投', 8865 => '嘉義、雲林', 8866 => '臺南、澎湖', 8867 => '高雄', - 8868 => '屏東', - 88682 => '金門', + 88680 => '屏東', + 886823 => '金門', 886826 => '烏坵', - 886836 => '馬祖', + 88687 => '屏東', + 88688 => '屏東', 88689 => '臺東', ); diff --git a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/MappingFileProvider.php b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/MappingFileProvider.php index f179bf0d3..722d9eca3 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/MappingFileProvider.php +++ b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/MappingFileProvider.php @@ -23,7 +23,7 @@ class MappingFileProvider public function getFileName($countryCallingCode, $language, $script, $region) { if (strlen($language) == 0) { - return ""; + return ''; } if ($language === 'zh' && ($region == 'TW' || $region == 'HK' || $region == 'MO')) { @@ -40,7 +40,7 @@ class MappingFileProvider } } - return ""; + return ''; } protected function inMap($language, $countryCallingCode) diff --git a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixFileReader.php b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixFileReader.php index 811f1594c..bda340a34 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixFileReader.php +++ b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixFileReader.php @@ -34,7 +34,7 @@ class PrefixFileReader protected function loadMappingFileProvider() { - $mapPath = $this->phonePrefixDataDirectory . DIRECTORY_SEPARATOR . "Map.php"; + $mapPath = $this->phonePrefixDataDirectory . DIRECTORY_SEPARATOR . 'Map.php'; if (!file_exists($mapPath)) { throw new \InvalidArgumentException("Invalid data directory: $mapPath"); } @@ -70,7 +70,7 @@ class PrefixFileReader { $path = $this->phonePrefixDataDirectory . DIRECTORY_SEPARATOR . $fileName; if (!file_exists($path)) { - throw new \InvalidArgumentException("Data does not exist"); + throw new \InvalidArgumentException('Data does not exist'); } $map = require $path; @@ -108,13 +108,13 @@ class PrefixFileReader $description = ($phonePrefixDescriptions !== null) ? $phonePrefixDescriptions->lookup($number) : null; // When a location is not available in the requested language, fall back to English. if (($description === null || strlen($description) === 0) && $this->mayFallBackToEnglish($language)) { - $defaultMap = $this->getPhonePrefixDescriptions($phonePrefix, "en", "", ""); + $defaultMap = $this->getPhonePrefixDescriptions($phonePrefix, 'en', '', ''); if ($defaultMap === null) { - return ""; + return ''; } $description = $defaultMap->lookup($number); } - return ($description !== null) ? $description : ""; + return ($description !== null) ? $description : ''; } } diff --git a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixTimeZonesMap.php b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixTimeZonesMap.php index c2982cd62..bdb779630 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixTimeZonesMap.php +++ b/vendor/giggsey/libphonenumber-for-php/src/prefixmapper/PrefixTimeZonesMap.php @@ -12,7 +12,7 @@ class PrefixTimeZonesMap protected final PhonePrefixMap phonePrefixMap = new PhonePrefixMap(); protected static final String RAW_STRING_TIMEZONES_SEPARATOR = "&"; */ - const RAW_STRING_TIMEZONES_SEPARATOR = "&"; + const RAW_STRING_TIMEZONES_SEPARATOR = '&'; protected $phonePrefixMap; public function __construct($map) diff --git a/vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php b/vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php index dc3536d3f..18bbf5bfc 100644 --- a/vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php +++ b/vendor/giggsey/libphonenumber-for-php/src/timezone/data/map_data.php @@ -12,7 +12,7 @@ */ return array ( - 1 => 'America/Anguilla&America/Antigua&America/Barbados&America/Boise&America/Cayman&America/Chicago&America/Denver&America/Dominica&America/Edmonton&America/Grand_Turk&America/Grenada&America/Halifax&America/Jamaica&America/Juneau&America/Los_Angeles&America/Lower_Princes&America/Montserrat&America/Nassau&America/New_York&America/Phoenix&America/Port_of_Spain&America/Puerto_Rico&America/Santo_Domingo&America/St_Johns&America/St_Kitts&America/St_Lucia&America/St_Thomas&America/St_Vincent&America/Toronto&America/Tortola&America/Vancouver&America/Winnipeg&Atlantic/Bermuda&Pacific/Guam&Pacific/Honolulu&Pacific/Pago_Pago&Pacific/Saipan', + 1 => 'America/Adak&America/Anchorage&America/Anguilla&America/Antigua&America/Barbados&America/Boise&America/Cayman&America/Chicago&America/Denver&America/Dominica&America/Edmonton&America/Fort_Nelson&America/Grand_Turk&America/Grenada&America/Halifax&America/Jamaica&America/Juneau&America/Los_Angeles&America/Lower_Princes&America/Montserrat&America/Nassau&America/New_York&America/North_Dakota/Center&America/Phoenix&America/Port_of_Spain&America/Puerto_Rico&America/Santo_Domingo&America/St_Johns&America/St_Kitts&America/St_Lucia&America/St_Thomas&America/St_Vincent&America/Toronto&America/Tortola&America/Vancouver&America/Winnipeg&Atlantic/Bermuda&Pacific/Guam&Pacific/Honolulu&Pacific/Pago_Pago&Pacific/Saipan', 1201 => 'America/New_York', 1202 => 'America/New_York', 1203 => 'America/New_York', @@ -20,20 +20,14 @@ return array ( 1205 => 'America/Chicago', 1206 => 'America/Los_Angeles', 1207 => 'America/New_York', - 1208 => 'America/Boise&America/Los_Angeles', + 12082 => 'America/Boise&America/Los_Angeles', 1208201 => 'America/Denver', 1208215 => 'America/Los_Angeles', 1208221 => 'America/Denver', 1208226 => 'America/Denver', 1208227 => 'America/Denver', 1208228 => 'America/Denver', - 1208232 => 'America/Denver', - 1208233 => 'America/Denver', - 1208234 => 'America/Denver', - 1208236 => 'America/Denver', - 1208237 => 'America/Denver', - 1208238 => 'America/Denver', - 1208239 => 'America/Denver', + 120823 => 'America/Denver', 1208241 => 'America/Denver', 1208242 => 'America/Denver', 1208245 => 'America/Los_Angeles', @@ -49,131 +43,117 @@ return array ( 1208265 => 'America/Los_Angeles', 1208267 => 'America/Los_Angeles', 1208278 => 'America/Denver', - 1208282 => 'America/Denver', - 1208283 => 'America/Denver', - 1208284 => 'America/Denver', - 1208286 => 'America/Denver', - 1208287 => 'America/Denver', - 1208288 => 'America/Denver', + 120828 => 'America/Denver', 1208290 => 'America/Los_Angeles', 1208292 => 'America/Los_Angeles', 1208297 => 'America/Denver', - 1208302 => 'America/Denver', + 12083 => 'America/Denver', + 120830 => 'America/Boise&America/Los_Angeles', 1208304 => 'America/Los_Angeles', 1208305 => 'America/Los_Angeles', - 1208308 => 'America/Denver', - 1208313 => 'America/Denver', - 1208315 => 'America/Denver', - 1208317 => 'America/Denver', - 1208319 => 'America/Denver', - 1208321 => 'America/Denver', - 1208322 => 'America/Denver', - 1208323 => 'America/Denver', - 1208324 => 'America/Denver', - 1208326 => 'America/Denver', - 1208327 => 'America/Denver', - 1208331 => 'America/Denver', - 1208333 => 'America/Denver', - 1208334 => 'America/Denver', - 1208336 => 'America/Denver', - 1208337 => 'America/Denver', - 1208338 => 'America/Denver', - 1208339 => 'America/Denver', - 1208340 => 'America/Denver', - 1208342 => 'America/Denver', - 1208343 => 'America/Denver', - 1208344 => 'America/Denver', - 1208345 => 'America/Denver', - 1208346 => 'America/Denver', - 1208350 => 'America/Denver', - 1208351 => 'America/Denver', - 1208352 => 'America/Denver', - 1208353 => 'America/Denver', - 1208354 => 'America/Denver', - 1208356 => 'America/Denver', - 1208357 => 'America/Denver', - 1208359 => 'America/Denver', - 1208360 => 'America/Denver', - 1208362 => 'America/Denver', - 1208365 => 'America/Denver', - 1208366 => 'America/Denver', - 1208367 => 'America/Denver', - 1208371 => 'America/Denver', - 1208373 => 'America/Denver', - 1208375 => 'America/Denver', - 1208376 => 'America/Denver', - 1208377 => 'America/Denver', - 1208378 => 'America/Denver', - 1208381 => 'America/Denver', - 1208382 => 'America/Denver', - 1208383 => 'America/Denver', - 1208384 => 'America/Denver', - 1208385 => 'America/Denver', - 1208388 => 'America/Denver', - 1208389 => 'America/Denver', - 1208390 => 'America/Denver', - 1208391 => 'America/Denver', - 1208392 => 'America/Denver', - 1208397 => 'America/Denver', - 1208398 => 'America/Denver', + 120831 => 'America/Boise&America/Los_Angeles', + 1208320 => 'America/Boise&America/Los_Angeles', + 1208325 => 'America/Boise&America/Los_Angeles', + 1208328 => 'America/Boise&America/Los_Angeles', + 1208329 => 'America/Boise&America/Los_Angeles', + 1208330 => 'America/Boise&America/Los_Angeles', + 1208332 => 'America/Boise&America/Los_Angeles', + 1208335 => 'America/Boise&America/Los_Angeles', + 1208341 => 'America/Boise&America/Los_Angeles', + 1208347 => 'America/Boise&America/Los_Angeles', + 1208348 => 'America/Boise&America/Los_Angeles', + 1208349 => 'America/Boise&America/Los_Angeles', + 1208355 => 'America/Boise&America/Los_Angeles', + 1208358 => 'America/Boise&America/Los_Angeles', + 1208361 => 'America/Boise&America/Los_Angeles', + 1208363 => 'America/Boise&America/Los_Angeles', + 1208364 => 'America/Boise&America/Los_Angeles', + 1208368 => 'America/Boise&America/Los_Angeles', + 1208369 => 'America/Boise&America/Los_Angeles', + 1208370 => 'America/Boise&America/Los_Angeles', + 1208372 => 'America/Boise&America/Los_Angeles', + 1208374 => 'America/Boise&America/Los_Angeles', + 1208379 => 'America/Boise&America/Los_Angeles', + 1208380 => 'America/Boise&America/Los_Angeles', + 1208386 => 'America/Boise&America/Los_Angeles', + 1208387 => 'America/Boise&America/Los_Angeles', + 1208393 => 'America/Boise&America/Los_Angeles', + 1208394 => 'America/Boise&America/Los_Angeles', + 1208395 => 'America/Boise&America/Los_Angeles', + 1208396 => 'America/Boise&America/Los_Angeles', + 1208399 => 'America/Boise&America/Los_Angeles', + 1208400 => 'America/Boise&America/Los_Angeles', 1208401 => 'America/Denver', 1208402 => 'America/Denver', 1208403 => 'America/Denver', + 1208404 => 'America/Boise&America/Los_Angeles', + 1208405 => 'America/Boise&America/Los_Angeles', + 1208406 => 'America/Boise&America/Los_Angeles', 1208407 => 'America/Denver', + 1208408 => 'America/Boise&America/Los_Angeles', 1208409 => 'America/Denver', + 120841 => 'America/Boise&America/Los_Angeles', 1208412 => 'America/Denver', 1208414 => 'America/Denver', 1208419 => 'America/Denver', - 1208420 => 'America/Denver', - 1208422 => 'America/Denver', - 1208423 => 'America/Denver', - 1208424 => 'America/Denver', - 1208425 => 'America/Denver', - 1208426 => 'America/Denver', - 1208429 => 'America/Denver', + 120842 => 'America/Denver', + 1208421 => 'America/Boise&America/Los_Angeles', + 1208427 => 'America/Boise&America/Los_Angeles', + 1208428 => 'America/Boise&America/Los_Angeles', + 1208430 => 'America/Boise&America/Los_Angeles', 1208431 => 'America/Denver', + 1208432 => 'America/Boise&America/Los_Angeles', 1208433 => 'America/Denver', + 1208434 => 'America/Boise&America/Los_Angeles', + 1208435 => 'America/Boise&America/Los_Angeles', 1208436 => 'America/Denver', 1208437 => 'America/Los_Angeles', 1208438 => 'America/Denver', + 1208439 => 'America/Boise&America/Los_Angeles', 1208440 => 'America/Denver', + 1208441 => 'America/Boise&America/Los_Angeles', 1208442 => 'America/Denver', 1208443 => 'America/Los_Angeles', + 1208444 => 'America/Boise&America/Los_Angeles', + 1208445 => 'America/Boise&America/Los_Angeles', 1208446 => 'America/Los_Angeles', + 1208447 => 'America/Boise&America/Los_Angeles', 1208448 => 'America/Los_Angeles', + 1208449 => 'America/Boise&America/Los_Angeles', + 1208450 => 'America/Boise&America/Los_Angeles', + 1208451 => 'America/Boise&America/Los_Angeles', 1208452 => 'America/Denver', 1208453 => 'America/Denver', 1208454 => 'America/Denver', 1208455 => 'America/Denver', + 1208456 => 'America/Boise&America/Los_Angeles', 1208457 => 'America/Los_Angeles', + 1208458 => 'America/Boise&America/Los_Angeles', 1208459 => 'America/Denver', - 1208461 => 'America/Denver', - 1208462 => 'America/Denver', - 1208463 => 'America/Denver', - 1208465 => 'America/Denver', - 1208466 => 'America/Denver', - 1208467 => 'America/Denver', - 1208468 => 'America/Denver', + 120846 => 'America/Denver', + 1208460 => 'America/Boise&America/Los_Angeles', + 1208464 => 'America/Boise&America/Los_Angeles', + 1208469 => 'America/Boise&America/Los_Angeles', + 1208470 => 'America/Boise&America/Los_Angeles', + 1208471 => 'America/Boise&America/Los_Angeles', 1208472 => 'America/Denver', 1208473 => 'America/Denver', + 1208474 => 'America/Boise&America/Los_Angeles', 1208475 => 'America/Denver', 1208476 => 'America/Los_Angeles', + 1208477 => 'America/Boise&America/Los_Angeles', 1208478 => 'America/Denver', + 1208479 => 'America/Boise&America/Los_Angeles', + 120848 => 'America/Boise&America/Los_Angeles', 1208484 => 'America/Denver', 1208489 => 'America/Denver', + 120849 => 'America/Boise&America/Los_Angeles', 1208495 => 'America/Denver', + 12085 => 'America/Boise&America/Los_Angeles', 1208505 => 'America/Denver', 1208514 => 'America/Denver', 1208515 => 'America/Denver', - 1208520 => 'America/Denver', - 1208521 => 'America/Denver', - 1208522 => 'America/Denver', - 1208523 => 'America/Denver', - 1208524 => 'America/Denver', - 1208525 => 'America/Denver', - 1208527 => 'America/Denver', - 1208528 => 'America/Denver', - 1208529 => 'America/Denver', + 120852 => 'America/Denver', 1208535 => 'America/Denver', 1208536 => 'America/Denver', 1208538 => 'America/Denver', @@ -201,6 +181,7 @@ return array ( 1208589 => 'America/Denver', 1208595 => 'America/Denver', 1208596 => 'America/Los_Angeles', + 12086 => 'America/Boise&America/Los_Angeles', 1208602 => 'America/Denver', 1208608 => 'America/Denver', 1208610 => 'America/Los_Angeles', @@ -221,12 +202,7 @@ return array ( 1208656 => 'America/Denver', 1208658 => 'America/Denver', 1208659 => 'America/Los_Angeles', - 1208660 => 'America/Los_Angeles', - 1208661 => 'America/Los_Angeles', - 1208664 => 'America/Los_Angeles', - 1208665 => 'America/Los_Angeles', - 1208666 => 'America/Los_Angeles', - 1208667 => 'America/Los_Angeles', + 120866 => 'America/Los_Angeles', 1208672 => 'America/Denver', 1208676 => 'America/Los_Angeles', 1208677 => 'America/Denver', @@ -241,92 +217,110 @@ return array ( 1208695 => 'America/Denver', 1208697 => 'America/Denver', 1208699 => 'America/Los_Angeles', + 1208700 => 'America/Boise&America/Los_Angeles', + 1208701 => 'America/Boise&America/Los_Angeles', + 1208702 => 'America/Boise&America/Los_Angeles', 1208703 => 'America/Denver', 1208704 => 'America/Los_Angeles', 1208705 => 'America/Denver', 1208706 => 'America/Denver', + 1208707 => 'America/Boise&America/Los_Angeles', + 1208708 => 'America/Boise&America/Los_Angeles', 1208709 => 'America/Denver', + 120871 => 'America/Boise&America/Los_Angeles', 1208713 => 'America/Denver', 1208716 => 'America/Denver', - 1208720 => 'America/Denver', - 1208722 => 'America/Denver', - 1208724 => 'America/Denver', - 1208725 => 'America/Denver', - 1208726 => 'America/Denver', - 1208727 => 'America/Denver', - 1208731 => 'America/Denver', - 1208732 => 'America/Denver', - 1208733 => 'America/Denver', - 1208734 => 'America/Denver', - 1208735 => 'America/Denver', - 1208736 => 'America/Denver', - 1208737 => 'America/Denver', + 120872 => 'America/Denver', + 1208721 => 'America/Boise&America/Los_Angeles', + 1208723 => 'America/Boise&America/Los_Angeles', + 1208728 => 'America/Boise&America/Los_Angeles', + 1208729 => 'America/Boise&America/Los_Angeles', + 120873 => 'America/Denver', + 1208730 => 'America/Boise&America/Los_Angeles', + 1208738 => 'America/Boise&America/Los_Angeles', + 1208739 => 'America/Boise&America/Los_Angeles', + 120874 => 'America/Boise&America/Los_Angeles', 1208743 => 'America/Los_Angeles', 1208745 => 'America/Denver', 1208746 => 'America/Los_Angeles', + 120875 => 'America/Boise&America/Los_Angeles', 1208755 => 'America/Los_Angeles', 1208756 => 'America/Denver', + 1208760 => 'America/Boise&America/Los_Angeles', 1208761 => 'America/Denver', 1208762 => 'America/Los_Angeles', + 1208763 => 'America/Boise&America/Los_Angeles', + 1208764 => 'America/Boise&America/Los_Angeles', 1208765 => 'America/Los_Angeles', 1208766 => 'America/Denver', + 1208767 => 'America/Boise&America/Los_Angeles', + 1208768 => 'America/Boise&America/Los_Angeles', 1208769 => 'America/Los_Angeles', + 120877 => 'America/Boise&America/Los_Angeles', 1208772 => 'America/Los_Angeles', 1208773 => 'America/Los_Angeles', 1208777 => 'America/Los_Angeles', + 1208780 => 'America/Boise&America/Los_Angeles', + 1208781 => 'America/Boise&America/Los_Angeles', 1208782 => 'America/Denver', 1208783 => 'America/Los_Angeles', 1208784 => 'America/Los_Angeles', 1208785 => 'America/Denver', + 1208786 => 'America/Boise&America/Los_Angeles', 1208787 => 'America/Denver', 1208788 => 'America/Denver', 1208789 => 'America/Denver', + 120879 => 'America/Boise&America/Los_Angeles', 1208791 => 'America/Los_Angeles', 1208794 => 'America/Denver', 1208798 => 'America/Los_Angeles', 1208799 => 'America/Los_Angeles', + 120880 => 'America/Boise&America/Los_Angeles', + 120881 => 'America/Boise&America/Los_Angeles', 1208814 => 'America/Denver', 1208818 => 'America/Los_Angeles', 1208819 => 'America/Los_Angeles', + 120882 => 'America/Boise&America/Los_Angeles', + 120883 => 'America/Boise&America/Los_Angeles', 1208830 => 'America/Denver', 1208835 => 'America/Los_Angeles', 1208837 => 'America/Denver', + 120884 => 'America/Boise&America/Los_Angeles', 1208841 => 'America/Denver', 1208843 => 'America/Los_Angeles', 1208846 => 'America/Denver', 1208847 => 'America/Denver', - 1208850 => 'America/Denver', - 1208852 => 'America/Denver', - 1208853 => 'America/Denver', - 1208854 => 'America/Denver', - 1208855 => 'America/Denver', - 1208859 => 'America/Denver', - 1208860 => 'America/Denver', - 1208861 => 'America/Denver', - 1208863 => 'America/Denver', - 1208866 => 'America/Denver', - 1208867 => 'America/Denver', - 1208869 => 'America/Denver', + 120885 => 'America/Denver', + 1208851 => 'America/Boise&America/Los_Angeles', + 1208856 => 'America/Boise&America/Los_Angeles', + 1208857 => 'America/Boise&America/Los_Angeles', + 1208858 => 'America/Boise&America/Los_Angeles', + 120886 => 'America/Denver', + 1208862 => 'America/Boise&America/Los_Angeles', + 1208864 => 'America/Boise&America/Los_Angeles', + 1208865 => 'America/Boise&America/Los_Angeles', + 1208868 => 'America/Boise&America/Los_Angeles', 1208870 => 'America/Denver', 1208871 => 'America/Denver', + 1208872 => 'America/Boise&America/Los_Angeles', + 1208873 => 'America/Boise&America/Los_Angeles', + 1208874 => 'America/Boise&America/Los_Angeles', 1208875 => 'America/Los_Angeles', + 1208876 => 'America/Boise&America/Los_Angeles', + 1208877 => 'America/Boise&America/Los_Angeles', 1208878 => 'America/Denver', 1208879 => 'America/Denver', - 1208880 => 'America/Denver', - 1208881 => 'America/Denver', + 120888 => 'America/Denver', 1208882 => 'America/Los_Angeles', 1208883 => 'America/Los_Angeles', - 1208884 => 'America/Denver', 1208885 => 'America/Los_Angeles', - 1208886 => 'America/Denver', - 1208887 => 'America/Denver', - 1208888 => 'America/Denver', - 1208890 => 'America/Denver', - 1208891 => 'America/Denver', - 1208895 => 'America/Denver', - 1208896 => 'America/Denver', - 1208898 => 'America/Denver', - 1208899 => 'America/Denver', + 1208889 => 'America/Boise&America/Los_Angeles', + 120889 => 'America/Denver', + 1208892 => 'America/Boise&America/Los_Angeles', + 1208893 => 'America/Boise&America/Los_Angeles', + 1208894 => 'America/Boise&America/Los_Angeles', + 1208897 => 'America/Boise&America/Los_Angeles', + 12089 => 'America/Boise&America/Los_Angeles', 1208901 => 'America/Denver', 1208904 => 'America/Denver', 1208906 => 'America/Denver', @@ -444,31 +438,10 @@ return array ( 1219874 => 'America/Chicago', 1219878 => 'America/Chicago', 1219879 => 'America/Chicago', - 1219881 => 'America/Chicago', - 1219882 => 'America/Chicago', - 1219884 => 'America/Chicago', - 1219885 => 'America/Chicago', - 1219886 => 'America/Chicago', - 1219887 => 'America/Chicago', - 1219921 => 'America/Chicago', - 1219922 => 'America/Chicago', - 1219923 => 'America/Chicago', - 1219924 => 'America/Chicago', - 1219926 => 'America/Chicago', - 1219929 => 'America/Chicago', - 1219931 => 'America/Chicago', - 1219932 => 'America/Chicago', - 1219933 => 'America/Chicago', - 1219934 => 'America/Chicago', - 1219937 => 'America/Chicago', - 1219938 => 'America/Chicago', - 1219939 => 'America/Chicago', - 1219940 => 'America/Chicago', - 1219942 => 'America/Chicago', - 1219944 => 'America/Chicago', - 1219945 => 'America/Chicago', - 1219947 => 'America/Chicago', - 1219949 => 'America/Chicago', + 121988 => 'America/Chicago', + 121992 => 'America/Chicago', + 121993 => 'America/Chicago', + 121994 => 'America/Chicago', 1219956 => 'America/Chicago', 1219962 => 'America/Chicago', 1219963 => 'America/Chicago', @@ -597,13 +570,7 @@ return array ( 1270665 => 'America/Chicago', 1270667 => 'America/Chicago', 1270678 => 'America/Chicago', - 1270683 => 'America/Chicago', - 1270684 => 'America/Chicago', - 1270685 => 'America/Chicago', - 1270686 => 'America/Chicago', - 1270687 => 'America/Chicago', - 1270688 => 'America/Chicago', - 1270689 => 'America/Chicago', + 127068 => 'America/Chicago', 1270691 => 'America/Chicago', 1270707 => 'America/Chicago', 1270725 => 'America/Chicago', @@ -758,13 +725,7 @@ return array ( 1423217 => 'America/New_York', 1423218 => 'America/New_York', 1423224 => 'America/New_York', - 1423230 => 'America/New_York', - 1423232 => 'America/New_York', - 1423234 => 'America/New_York', - 1423235 => 'America/New_York', - 1423236 => 'America/New_York', - 1423238 => 'America/New_York', - 1423239 => 'America/New_York', + 142323 => 'America/New_York', 1423245 => 'America/New_York', 1423246 => 'America/New_York', 1423247 => 'America/New_York', @@ -790,12 +751,7 @@ return array ( 1423318 => 'America/New_York', 1423323 => 'America/New_York', 1423328 => 'America/New_York', - 1423332 => 'America/New_York', - 1423334 => 'America/New_York', - 1423336 => 'America/New_York', - 1423337 => 'America/New_York', - 1423338 => 'America/New_York', - 1423339 => 'America/New_York', + 142333 => 'America/New_York', 1423343 => 'America/New_York', 1423344 => 'America/New_York', 1423345 => 'America/New_York', @@ -821,21 +777,10 @@ return array ( 1423453 => 'America/New_York', 1423467 => 'America/New_York', 1423468 => 'America/New_York', - 1423472 => 'America/New_York', - 1423473 => 'America/New_York', - 1423475 => 'America/New_York', - 1423476 => 'America/New_York', - 1423477 => 'America/New_York', - 1423478 => 'America/New_York', - 1423479 => 'America/New_York', + 142347 => 'America/New_York', 1423485 => 'America/New_York', 1423487 => 'America/New_York', - 1423490 => 'America/New_York', - 1423493 => 'America/New_York', - 1423495 => 'America/New_York', - 1423496 => 'America/New_York', - 1423498 => 'America/New_York', - 1423499 => 'America/New_York', + 142349 => 'America/New_York', 1423503 => 'America/New_York', 1423507 => 'America/New_York', 1423508 => 'America/New_York', @@ -864,12 +809,7 @@ return array ( 1423610 => 'America/New_York', 1423613 => 'America/New_York', 1423614 => 'America/New_York', - 1423622 => 'America/New_York', - 1423623 => 'America/New_York', - 1423624 => 'America/New_York', - 1423625 => 'America/New_York', - 1423626 => 'America/New_York', - 1423629 => 'America/New_York', + 142362 => 'America/New_York', 1423631 => 'America/New_York', 1423634 => 'America/New_York', 1423636 => 'America/New_York', @@ -1005,345 +945,11 @@ return array ( 1534 => 'America/Chicago', 1539 => 'America/Chicago', 1540 => 'America/New_York', - 1541201 => 'America/Los_Angeles', - 1541205 => 'America/Los_Angeles', - 1541207 => 'America/Los_Angeles', - 1541210 => 'America/Los_Angeles', - 1541218 => 'America/Los_Angeles', - 1541221 => 'America/Los_Angeles', - 1541222 => 'America/Los_Angeles', - 1541223 => 'America/Los_Angeles', - 1541225 => 'America/Los_Angeles', - 1541226 => 'America/Los_Angeles', - 1541228 => 'America/Los_Angeles', - 1541230 => 'America/Los_Angeles', - 1541231 => 'America/Los_Angeles', - 1541232 => 'America/Los_Angeles', - 1541241 => 'America/Los_Angeles', - 1541242 => 'America/Los_Angeles', - 1541244 => 'America/Los_Angeles', - 1541245 => 'America/Los_Angeles', - 1541246 => 'America/Los_Angeles', - 1541247 => 'America/Los_Angeles', - 1541255 => 'America/Los_Angeles', - 1541258 => 'America/Los_Angeles', - 1541259 => 'America/Los_Angeles', - 1541261 => 'America/Los_Angeles', - 1541264 => 'America/Los_Angeles', - 1541265 => 'America/Los_Angeles', - 1541266 => 'America/Los_Angeles', - 1541267 => 'America/Los_Angeles', - 1541269 => 'America/Los_Angeles', - 1541270 => 'America/Los_Angeles', - 1541271 => 'America/Los_Angeles', - 1541272 => 'America/Los_Angeles', - 1541273 => 'America/Los_Angeles', - 1541276 => 'America/Los_Angeles', - 1541278 => 'America/Los_Angeles', - 1541280 => 'America/Los_Angeles', - 1541282 => 'America/Los_Angeles', - 1541284 => 'America/Los_Angeles', - 1541286 => 'America/Los_Angeles', - 1541289 => 'America/Los_Angeles', - 1541292 => 'America/Los_Angeles', - 1541296 => 'America/Los_Angeles', - 1541298 => 'America/Los_Angeles', - 1541301 => 'America/Los_Angeles', - 1541302 => 'America/Los_Angeles', - 1541306 => 'America/Los_Angeles', - 1541312 => 'America/Los_Angeles', - 1541316 => 'America/Los_Angeles', - 1541317 => 'America/Los_Angeles', - 1541318 => 'America/Los_Angeles', - 1541322 => 'America/Los_Angeles', - 1541323 => 'America/Los_Angeles', - 1541324 => 'America/Los_Angeles', - 1541326 => 'America/Los_Angeles', - 1541327 => 'America/Los_Angeles', - 1541330 => 'America/Los_Angeles', - 1541332 => 'America/Los_Angeles', - 1541336 => 'America/Los_Angeles', - 1541337 => 'America/Los_Angeles', - 1541338 => 'America/Los_Angeles', - 1541342 => 'America/Los_Angeles', - 1541343 => 'America/Los_Angeles', - 1541344 => 'America/Los_Angeles', - 1541345 => 'America/Los_Angeles', - 1541346 => 'America/Los_Angeles', - 1541347 => 'America/Los_Angeles', - 1541349 => 'America/Los_Angeles', - 1541350 => 'America/Los_Angeles', - 1541352 => 'America/Los_Angeles', - 1541354 => 'America/Los_Angeles', - 1541357 => 'America/Los_Angeles', - 1541359 => 'America/Los_Angeles', - 1541367 => 'America/Los_Angeles', + 1541 => 'America/Los_Angeles', 1541372 => 'America/Denver', - 1541382 => 'America/Los_Angeles', - 1541383 => 'America/Los_Angeles', - 1541384 => 'America/Los_Angeles', - 1541385 => 'America/Los_Angeles', - 1541386 => 'America/Los_Angeles', - 1541387 => 'America/Los_Angeles', - 1541388 => 'America/Los_Angeles', - 1541389 => 'America/Los_Angeles', - 1541390 => 'America/Los_Angeles', - 1541393 => 'America/Los_Angeles', - 1541396 => 'America/Los_Angeles', - 1541408 => 'America/Los_Angeles', - 1541410 => 'America/Los_Angeles', - 1541412 => 'America/Los_Angeles', - 1541414 => 'America/Los_Angeles', - 1541416 => 'America/Los_Angeles', - 1541419 => 'America/Los_Angeles', - 1541420 => 'America/Los_Angeles', - 1541426 => 'America/Los_Angeles', - 1541430 => 'America/Los_Angeles', - 1541431 => 'America/Los_Angeles', - 1541432 => 'America/Los_Angeles', - 1541434 => 'America/Los_Angeles', - 1541436 => 'America/Los_Angeles', - 1541440 => 'America/Los_Angeles', - 1541441 => 'America/Los_Angeles', - 1541444 => 'America/Los_Angeles', - 1541447 => 'America/Los_Angeles', - 1541450 => 'America/Los_Angeles', - 1541451 => 'America/Los_Angeles', - 1541459 => 'America/Los_Angeles', - 1541461 => 'America/Los_Angeles', - 1541463 => 'America/Los_Angeles', - 1541464 => 'America/Los_Angeles', - 1541465 => 'America/Los_Angeles', - 1541466 => 'America/Los_Angeles', - 1541469 => 'America/Los_Angeles', - 1541471 => 'America/Los_Angeles', - 1541472 => 'America/Los_Angeles', 1541473 => 'America/Denver', - 1541474 => 'America/Los_Angeles', - 1541475 => 'America/Los_Angeles', - 1541476 => 'America/Los_Angeles', - 1541479 => 'America/Los_Angeles', - 1541480 => 'America/Los_Angeles', - 1541481 => 'America/Los_Angeles', - 1541482 => 'America/Los_Angeles', - 1541484 => 'America/Los_Angeles', - 1541485 => 'America/Los_Angeles', - 1541488 => 'America/Los_Angeles', - 1541490 => 'America/Los_Angeles', - 1541496 => 'America/Los_Angeles', - 1541497 => 'America/Los_Angeles', - 1541499 => 'America/Los_Angeles', - 1541500 => 'America/Los_Angeles', - 1541504 => 'America/Los_Angeles', - 1541505 => 'America/Los_Angeles', - 1541506 => 'America/Los_Angeles', - 1541508 => 'America/Los_Angeles', - 1541510 => 'America/Los_Angeles', - 1541512 => 'America/Los_Angeles', - 1541513 => 'America/Los_Angeles', - 1541514 => 'America/Los_Angeles', - 1541515 => 'America/Los_Angeles', - 1541517 => 'America/Los_Angeles', - 1541520 => 'America/Los_Angeles', - 1541521 => 'America/Los_Angeles', - 1541523 => 'America/Los_Angeles', - 1541525 => 'America/Los_Angeles', - 1541526 => 'America/Los_Angeles', - 1541531 => 'America/Los_Angeles', - 1541535 => 'America/Los_Angeles', - 1541536 => 'America/Los_Angeles', - 1541543 => 'America/Los_Angeles', - 1541546 => 'America/Los_Angeles', - 1541547 => 'America/Los_Angeles', - 1541548 => 'America/Los_Angeles', - 1541549 => 'America/Los_Angeles', - 1541550 => 'America/Los_Angeles', - 1541552 => 'America/Los_Angeles', - 1541553 => 'America/Los_Angeles', - 1541554 => 'America/Los_Angeles', - 1541556 => 'America/Los_Angeles', - 1541563 => 'America/Los_Angeles', - 1541564 => 'America/Los_Angeles', - 1541566 => 'America/Los_Angeles', - 1541567 => 'America/Los_Angeles', - 1541572 => 'America/Los_Angeles', - 1541573 => 'America/Los_Angeles', - 1541574 => 'America/Los_Angeles', - 1541575 => 'America/Los_Angeles', - 1541576 => 'America/Los_Angeles', - 1541579 => 'America/Los_Angeles', - 1541580 => 'America/Los_Angeles', - 1541582 => 'America/Los_Angeles', - 1541592 => 'America/Los_Angeles', - 1541593 => 'America/Los_Angeles', - 1541598 => 'America/Los_Angeles', - 1541601 => 'America/Los_Angeles', - 1541602 => 'America/Los_Angeles', - 1541604 => 'America/Los_Angeles', - 1541606 => 'America/Los_Angeles', - 1541607 => 'America/Los_Angeles', - 1541608 => 'America/Los_Angeles', - 1541610 => 'America/Los_Angeles', - 1541617 => 'America/Los_Angeles', - 1541618 => 'America/Los_Angeles', - 1541621 => 'America/Los_Angeles', - 1541622 => 'America/Los_Angeles', - 1541632 => 'America/Los_Angeles', - 1541633 => 'America/Los_Angeles', - 1541636 => 'America/Los_Angeles', - 1541639 => 'America/Los_Angeles', - 1541646 => 'America/Los_Angeles', - 1541647 => 'America/Los_Angeles', - 1541653 => 'America/Los_Angeles', - 1541654 => 'America/Los_Angeles', - 1541659 => 'America/Los_Angeles', - 1541660 => 'America/Los_Angeles', - 1541663 => 'America/Los_Angeles', - 1541664 => 'America/Los_Angeles', - 1541665 => 'America/Los_Angeles', - 1541667 => 'America/Los_Angeles', - 1541672 => 'America/Los_Angeles', - 1541673 => 'America/Los_Angeles', - 1541676 => 'America/Los_Angeles', - 1541677 => 'America/Los_Angeles', - 1541678 => 'America/Los_Angeles', - 1541679 => 'America/Los_Angeles', - 1541682 => 'America/Los_Angeles', - 1541683 => 'America/Los_Angeles', - 1541684 => 'America/Los_Angeles', - 1541686 => 'America/Los_Angeles', - 1541687 => 'America/Los_Angeles', - 1541688 => 'America/Los_Angeles', - 1541689 => 'America/Los_Angeles', - 1541690 => 'America/Los_Angeles', - 1541704 => 'America/Los_Angeles', - 1541706 => 'America/Los_Angeles', - 1541708 => 'America/Los_Angeles', - 1541726 => 'America/Los_Angeles', - 1541728 => 'America/Los_Angeles', - 1541729 => 'America/Los_Angeles', - 1541732 => 'America/Los_Angeles', - 1541734 => 'America/Los_Angeles', - 1541736 => 'America/Los_Angeles', - 1541737 => 'America/Los_Angeles', - 1541738 => 'America/Los_Angeles', - 1541740 => 'America/Los_Angeles', - 1541741 => 'America/Los_Angeles', - 1541743 => 'America/Los_Angeles', - 1541744 => 'America/Los_Angeles', - 1541745 => 'America/Los_Angeles', - 1541746 => 'America/Los_Angeles', - 1541747 => 'America/Los_Angeles', - 1541749 => 'America/Los_Angeles', - 1541751 => 'America/Los_Angeles', - 1541752 => 'America/Los_Angeles', - 1541753 => 'America/Los_Angeles', - 1541754 => 'America/Los_Angeles', - 1541756 => 'America/Los_Angeles', - 1541757 => 'America/Los_Angeles', - 1541758 => 'America/Los_Angeles', - 1541760 => 'America/Los_Angeles', - 1541761 => 'America/Los_Angeles', - 1541764 => 'America/Los_Angeles', - 1541765 => 'America/Los_Angeles', - 1541766 => 'America/Los_Angeles', - 1541767 => 'America/Los_Angeles', - 1541768 => 'America/Los_Angeles', - 1541770 => 'America/Los_Angeles', - 1541771 => 'America/Los_Angeles', - 1541772 => 'America/Los_Angeles', - 1541773 => 'America/Los_Angeles', - 1541774 => 'America/Los_Angeles', - 1541776 => 'America/Los_Angeles', - 1541778 => 'America/Los_Angeles', - 1541779 => 'America/Los_Angeles', - 1541782 => 'America/Los_Angeles', - 1541783 => 'America/Los_Angeles', - 1541788 => 'America/Los_Angeles', - 1541789 => 'America/Los_Angeles', - 1541791 => 'America/Los_Angeles', - 1541797 => 'America/Los_Angeles', - 1541798 => 'America/Los_Angeles', - 1541808 => 'America/Los_Angeles', - 1541812 => 'America/Los_Angeles', - 1541815 => 'America/Los_Angeles', - 1541816 => 'America/Los_Angeles', - 1541821 => 'America/Los_Angeles', - 1541822 => 'America/Los_Angeles', - 1541826 => 'America/Los_Angeles', - 1541830 => 'America/Los_Angeles', - 1541836 => 'America/Los_Angeles', - 1541839 => 'America/Los_Angeles', - 1541840 => 'America/Los_Angeles', - 1541842 => 'America/Los_Angeles', - 1541844 => 'America/Los_Angeles', - 1541846 => 'America/Los_Angeles', - 1541850 => 'America/Los_Angeles', - 1541855 => 'America/Los_Angeles', - 1541857 => 'America/Los_Angeles', - 1541858 => 'America/Los_Angeles', - 1541863 => 'America/Los_Angeles', - 1541867 => 'America/Los_Angeles', - 1541868 => 'America/Los_Angeles', - 1541878 => 'America/Los_Angeles', 1541881 => 'America/Denver', - 1541882 => 'America/Los_Angeles', - 1541883 => 'America/Los_Angeles', - 1541884 => 'America/Los_Angeles', - 1541885 => 'America/Los_Angeles', - 1541887 => 'America/Los_Angeles', - 1541888 => 'America/Los_Angeles', 1541889 => 'America/Denver', - 1541890 => 'America/Los_Angeles', - 1541891 => 'America/Los_Angeles', - 1541892 => 'America/Los_Angeles', - 1541895 => 'America/Los_Angeles', - 1541899 => 'America/Los_Angeles', - 1541902 => 'America/Los_Angeles', - 1541912 => 'America/Los_Angeles', - 1541913 => 'America/Los_Angeles', - 1541914 => 'America/Los_Angeles', - 1541915 => 'America/Los_Angeles', - 1541917 => 'America/Los_Angeles', - 1541922 => 'America/Los_Angeles', - 1541923 => 'America/Los_Angeles', - 1541924 => 'America/Los_Angeles', - 1541926 => 'America/Los_Angeles', - 1541928 => 'America/Los_Angeles', - 1541929 => 'America/Los_Angeles', - 1541935 => 'America/Los_Angeles', - 1541937 => 'America/Los_Angeles', - 1541938 => 'America/Los_Angeles', - 1541941 => 'America/Los_Angeles', - 1541942 => 'America/Los_Angeles', - 1541944 => 'America/Los_Angeles', - 1541947 => 'America/Los_Angeles', - 1541948 => 'America/Los_Angeles', - 1541951 => 'America/Los_Angeles', - 1541953 => 'America/Los_Angeles', - 1541954 => 'America/Los_Angeles', - 1541955 => 'America/Los_Angeles', - 1541956 => 'America/Los_Angeles', - 1541957 => 'America/Los_Angeles', - 1541961 => 'America/Los_Angeles', - 1541962 => 'America/Los_Angeles', - 1541963 => 'America/Los_Angeles', - 1541966 => 'America/Los_Angeles', - 1541967 => 'America/Los_Angeles', - 1541968 => 'America/Los_Angeles', - 1541973 => 'America/Los_Angeles', - 1541977 => 'America/Los_Angeles', - 1541980 => 'America/Los_Angeles', - 1541981 => 'America/Los_Angeles', - 1541988 => 'America/Los_Angeles', - 1541990 => 'America/Los_Angeles', - 1541993 => 'America/Los_Angeles', - 1541994 => 'America/Los_Angeles', - 1541995 => 'America/Los_Angeles', - 1541996 => 'America/Los_Angeles', - 1541997 => 'America/Los_Angeles', - 1541998 => 'America/Los_Angeles', - 1541999 => 'America/Los_Angeles', 1548 => 'America/Toronto', 1551 => 'America/New_York', 1559 => 'America/Los_Angeles', @@ -1405,20 +1011,9 @@ return array ( 1605345 => 'America/Chicago', 1605347 => 'America/Denver', 1605348 => 'America/Denver', - 1605351 => 'America/Chicago', - 1605352 => 'America/Chicago', - 1605353 => 'America/Chicago', + 160535 => 'America/Chicago', 1605355 => 'America/Denver', - 1605356 => 'America/Chicago', - 1605357 => 'America/Chicago', - 1605359 => 'America/Chicago', - 1605360 => 'America/Chicago', - 1605361 => 'America/Chicago', - 1605362 => 'America/Chicago', - 1605363 => 'America/Chicago', - 1605366 => 'America/Chicago', - 1605367 => 'America/Chicago', - 1605368 => 'America/Chicago', + 160536 => 'America/Chicago', 1605370 => 'America/Chicago', 1605371 => 'America/Chicago', 1605373 => 'America/Chicago', @@ -1477,13 +1072,7 @@ return array ( 1605673 => 'America/Denver', 1605677 => 'America/Chicago', 1605685 => 'America/Denver', - 1605690 => 'America/Chicago', - 1605692 => 'America/Chicago', - 1605693 => 'America/Chicago', - 1605695 => 'America/Chicago', - 1605696 => 'America/Chicago', - 1605697 => 'America/Chicago', - 1605698 => 'America/Chicago', + 160569 => 'America/Chicago', 1605716 => 'America/Denver', 1605717 => 'America/Denver', 1605718 => 'America/Denver', @@ -1595,32 +1184,13 @@ return array ( 1701205 => 'America/Chicago', 1701212 => 'America/Chicago', 1701214 => 'America/Chicago', - 1701220 => 'America/Chicago', - 1701221 => 'America/Chicago', - 1701222 => 'America/Chicago', - 1701223 => 'America/Chicago', - 1701224 => 'America/Chicago', + 170122 => 'America/Chicago', 1701225 => 'America/Denver', - 1701226 => 'America/Chicago', 1701227 => 'America/Denver', - 1701228 => 'America/Chicago', - 1701231 => 'America/Chicago', - 1701232 => 'America/Chicago', - 1701234 => 'America/Chicago', - 1701235 => 'America/Chicago', - 1701237 => 'America/Chicago', - 1701238 => 'America/Chicago', - 1701239 => 'America/Chicago', + 170123 => 'America/Chicago', 1701241 => 'America/Chicago', 1701242 => 'America/Chicago', - 1701250 => 'America/Chicago', - 1701251 => 'America/Chicago', - 1701252 => 'America/Chicago', - 1701253 => 'America/Chicago', - 1701254 => 'America/Chicago', - 1701255 => 'America/Chicago', - 1701256 => 'America/Chicago', - 1701258 => 'America/Chicago', + 170125 => 'America/Chicago', 1701261 => 'America/Chicago', 1701265 => 'America/Chicago', 1701271 => 'America/Chicago', @@ -1856,29 +1426,11 @@ return array ( 1775289 => 'America/Los_Angeles', 1775298 => 'America/Los_Angeles', 1775313 => 'America/Los_Angeles', - 1775322 => 'America/Los_Angeles', - 1775323 => 'America/Los_Angeles', - 1775324 => 'America/Los_Angeles', - 1775327 => 'America/Los_Angeles', - 1775328 => 'America/Los_Angeles', - 1775329 => 'America/Los_Angeles', - 1775331 => 'America/Los_Angeles', - 1775332 => 'America/Los_Angeles', - 1775333 => 'America/Los_Angeles', - 1775334 => 'America/Los_Angeles', - 1775336 => 'America/Los_Angeles', - 1775337 => 'America/Los_Angeles', - 1775338 => 'America/Los_Angeles', + 177532 => 'America/Los_Angeles', + 177533 => 'America/Los_Angeles', 1775345 => 'America/Los_Angeles', 1775348 => 'America/Los_Angeles', - 1775351 => 'America/Los_Angeles', - 1775352 => 'America/Los_Angeles', - 1775353 => 'America/Los_Angeles', - 1775354 => 'America/Los_Angeles', - 1775355 => 'America/Los_Angeles', - 1775356 => 'America/Los_Angeles', - 1775358 => 'America/Los_Angeles', - 1775359 => 'America/Los_Angeles', + 177535 => 'America/Los_Angeles', 1775360 => 'America/Los_Angeles', 1775376 => 'America/Los_Angeles', 1775384 => 'America/Los_Angeles', @@ -1947,13 +1499,7 @@ return array ( 1775786 => 'America/Los_Angeles', 1775787 => 'America/Los_Angeles', 1775800 => 'America/Los_Angeles', - 1775823 => 'America/Los_Angeles', - 1775824 => 'America/Los_Angeles', - 1775825 => 'America/Los_Angeles', - 1775826 => 'America/Los_Angeles', - 1775827 => 'America/Los_Angeles', - 1775828 => 'America/Los_Angeles', - 1775829 => 'America/Los_Angeles', + 177582 => 'America/Los_Angeles', 1775830 => 'America/Los_Angeles', 1775831 => 'America/Los_Angeles', 1775832 => 'America/Los_Angeles', @@ -1963,21 +1509,10 @@ return array ( 1775843 => 'America/Los_Angeles', 1775847 => 'America/Los_Angeles', 1775849 => 'America/Los_Angeles', - 1775850 => 'America/Los_Angeles', - 1775851 => 'America/Los_Angeles', - 1775852 => 'America/Los_Angeles', - 1775853 => 'America/Los_Angeles', - 1775856 => 'America/Los_Angeles', - 1775857 => 'America/Los_Angeles', + 177585 => 'America/Los_Angeles', 1775867 => 'America/Los_Angeles', 1775870 => 'America/Los_Angeles', - 1775882 => 'America/Los_Angeles', - 1775883 => 'America/Los_Angeles', - 1775884 => 'America/Los_Angeles', - 1775885 => 'America/Los_Angeles', - 1775886 => 'America/Los_Angeles', - 1775887 => 'America/Los_Angeles', - 1775888 => 'America/Los_Angeles', + 177588 => 'America/Los_Angeles', 1775945 => 'America/Los_Angeles', 1775971 => 'America/Los_Angeles', 1775972 => 'America/Los_Angeles', @@ -2011,31 +1546,19 @@ return array ( 1807737 => 'America/Winnipeg', 1807934 => 'America/Winnipeg', 1808 => 'Pacific/Honolulu', - 1809 => 'America/Halifax', + 1809 => 'America/Santo_Domingo', 1810 => 'America/New_York', 1812 => 'America/New_York', 1812385 => 'America/Chicago', 1812386 => 'America/Chicago', 1812401 => 'America/Chicago', 1812402 => 'America/Chicago', - 1812421 => 'America/Chicago', - 1812422 => 'America/Chicago', - 1812423 => 'America/Chicago', - 1812424 => 'America/Chicago', - 1812425 => 'America/Chicago', - 1812426 => 'America/Chicago', - 1812428 => 'America/Chicago', + 181242 => 'America/Chicago', 1812435 => 'America/Chicago', 1812437 => 'America/Chicago', 1812450 => 'America/Chicago', 1812464 => 'America/Chicago', - 1812471 => 'America/Chicago', - 1812473 => 'America/Chicago', - 1812474 => 'America/Chicago', - 1812475 => 'America/Chicago', - 1812476 => 'America/Chicago', - 1812477 => 'America/Chicago', - 1812479 => 'America/Chicago', + 181247 => 'America/Chicago', 1812485 => 'America/Chicago', 1812490 => 'America/Chicago', 1812491 => 'America/Chicago', @@ -2068,7 +1591,7 @@ return array ( 1820 => 'America/Los_Angeles', 1825 => 'America/Edmonton', 1828 => 'America/New_York', - 1829 => 'America/Halifax', + 1829 => 'America/Santo_Domingo', 1830 => 'America/Chicago', 1831 => 'America/Los_Angeles', 1832 => 'America/Chicago', @@ -2077,7 +1600,7 @@ return array ( 1845 => 'America/New_York', 1847 => 'America/Chicago', 1848 => 'America/New_York', - 1849 => 'America/Halifax', + 1849 => 'America/Santo_Domingo', 1850 => 'America/New_York', 1850200 => 'America/Chicago', 1850206 => 'America/Chicago', @@ -2091,14 +1614,7 @@ return array ( 1850226 => 'America/Chicago', 1850227 => 'America/Chicago', 1850229 => 'America/Chicago', - 1850230 => 'America/Chicago', - 1850231 => 'America/Chicago', - 1850232 => 'America/Chicago', - 1850233 => 'America/Chicago', - 1850234 => 'America/Chicago', - 1850235 => 'America/Chicago', - 1850236 => 'America/Chicago', - 1850238 => 'America/Chicago', + 185023 => 'America/Chicago', 1850240 => 'America/Chicago', 1850243 => 'America/Chicago', 1850244 => 'America/Chicago', @@ -2144,35 +1660,14 @@ return array ( 1850423 => 'America/Chicago', 1850424 => 'America/Chicago', 1850429 => 'America/Chicago', - 1850432 => 'America/Chicago', - 1850433 => 'America/Chicago', - 1850434 => 'America/Chicago', - 1850435 => 'America/Chicago', - 1850436 => 'America/Chicago', - 1850437 => 'America/Chicago', - 1850438 => 'America/Chicago', - 1850439 => 'America/Chicago', + 185043 => 'America/Chicago', 1850444 => 'America/Chicago', - 1850450 => 'America/Chicago', - 1850452 => 'America/Chicago', - 1850453 => 'America/Chicago', - 1850455 => 'America/Chicago', - 1850456 => 'America/Chicago', - 1850457 => 'America/Chicago', - 1850458 => 'America/Chicago', + 185045 => 'America/Chicago', 1850460 => 'America/Chicago', 1850462 => 'America/Chicago', 1850466 => 'America/Chicago', 1850469 => 'America/Chicago', - 1850470 => 'America/Chicago', - 1850471 => 'America/Chicago', - 1850473 => 'America/Chicago', - 1850474 => 'America/Chicago', - 1850475 => 'America/Chicago', - 1850476 => 'America/Chicago', - 1850477 => 'America/Chicago', - 1850478 => 'America/Chicago', - 1850479 => 'America/Chicago', + 185047 => 'America/Chicago', 1850481 => 'America/Chicago', 1850482 => 'America/Chicago', 1850484 => 'America/Chicago', @@ -2222,12 +1717,7 @@ return array ( 1850675 => 'America/Chicago', 1850677 => 'America/Chicago', 1850678 => 'America/Chicago', - 1850682 => 'America/Chicago', - 1850683 => 'America/Chicago', - 1850684 => 'America/Chicago', - 1850685 => 'America/Chicago', - 1850687 => 'America/Chicago', - 1850689 => 'America/Chicago', + 185068 => 'America/Chicago', 1850696 => 'America/Chicago', 1850699 => 'America/Chicago', 1850708 => 'America/Chicago', @@ -2254,12 +1744,7 @@ return array ( 1850837 => 'America/Chicago', 1850855 => 'America/Chicago', 1850857 => 'America/Chicago', - 1850862 => 'America/Chicago', - 1850863 => 'America/Chicago', - 1850864 => 'America/Chicago', - 1850865 => 'America/Chicago', - 1850866 => 'America/Chicago', - 1850867 => 'America/Chicago', + 185086 => 'America/Chicago', 1850871 => 'America/Chicago', 1850872 => 'America/Chicago', 1850874 => 'America/Chicago', @@ -2347,22 +1832,11 @@ return array ( 1907 => 'America/Adak&America/Anchorage', 1907209 => 'America/Juneau', 1907212 => 'America/Juneau', - 1907222 => 'America/Juneau', - 1907223 => 'America/Juneau', - 1907224 => 'America/Juneau', - 1907225 => 'America/Juneau', - 1907227 => 'America/Juneau', - 1907228 => 'America/Juneau', - 1907229 => 'America/Juneau', + 190722 => 'America/Juneau', 1907230 => 'America/Juneau', 1907232 => 'America/Juneau', 1907235 => 'America/Juneau', - 1907243 => 'America/Juneau', - 1907244 => 'America/Juneau', - 1907245 => 'America/Juneau', - 1907246 => 'America/Juneau', - 1907247 => 'America/Juneau', - 1907248 => 'America/Juneau', + 190724 => 'America/Juneau', 1907250 => 'America/Juneau', 1907252 => 'America/Juneau', 1907257 => 'America/Juneau', @@ -2371,26 +1845,13 @@ return array ( 1907262 => 'America/Juneau', 1907264 => 'America/Juneau', 1907269 => 'America/Juneau', - 1907271 => 'America/Juneau', - 1907272 => 'America/Juneau', - 1907274 => 'America/Juneau', - 1907276 => 'America/Juneau', - 1907277 => 'America/Juneau', - 1907278 => 'America/Juneau', - 1907279 => 'America/Juneau', + 190727 => 'America/Juneau', 1907283 => 'America/Juneau', 1907299 => 'America/Juneau', 1907301 => 'America/Juneau', 1907306 => 'America/Juneau', 1907317 => 'America/Juneau', - 1907332 => 'America/Juneau', - 1907333 => 'America/Juneau', - 1907334 => 'America/Juneau', - 1907335 => 'America/Juneau', - 1907336 => 'America/Juneau', - 1907337 => 'America/Juneau', - 1907338 => 'America/Juneau', - 1907339 => 'America/Juneau', + 190733 => 'America/Juneau', 1907343 => 'America/Juneau', 1907344 => 'America/Juneau', 1907345 => 'America/Juneau', @@ -2410,13 +1871,7 @@ return array ( 1907424 => 'America/Juneau', 1907442 => 'America/Juneau', 1907443 => 'America/Juneau', - 1907451 => 'America/Juneau', - 1907452 => 'America/Juneau', - 1907455 => 'America/Juneau', - 1907456 => 'America/Juneau', - 1907457 => 'America/Juneau', - 1907458 => 'America/Juneau', - 1907459 => 'America/Juneau', + 190745 => 'America/Juneau', 1907463 => 'America/Juneau', 1907465 => 'America/Juneau', 1907474 => 'America/Juneau', @@ -2589,7 +2044,7 @@ return array ( 291 => 'Africa/Asmera', 297 => 'America/Aruba', 298 => 'Atlantic/Faeroe', - 299 => 'America/Godthab&America/Scoresbysund&America/Thule&Atlantic/Reykjavik', + 299 => 'America/Godthab&America/Scoresbysund&America/Thule', 2993 => 'America/Godthab', 2996 => 'America/Godthab', 2998 => 'America/Godthab', @@ -2608,13 +2063,8 @@ return array ( 34 => 'Atlantic/Canary&Europe/Madrid', 34810 => 'Europe/Madrid', 34819 => 'Europe/Madrid', - 34820 => 'Europe/Madrid', - 34821 => 'Europe/Madrid', + 3482 => 'Europe/Madrid', 34822 => 'Atlantic/Canary', - 34823 => 'Europe/Madrid', - 34824 => 'Europe/Madrid', - 34825 => 'Europe/Madrid', - 34826 => 'Europe/Madrid', 34827 => 'Atlantic/Canary', 34828 => 'Atlantic/Canary', 34830 => 'Europe/Madrid', @@ -2635,105 +2085,20 @@ return array ( 34865 => 'Europe/Madrid', 34868 => 'Europe/Madrid', 3487 => 'Europe/Madrid', - 34880 => 'Europe/Madrid', - 34881 => 'Europe/Madrid', - 34882 => 'Europe/Madrid', - 34883 => 'Europe/Madrid', - 34884 => 'Europe/Madrid', - 34885 => 'Europe/Madrid', - 34886 => 'Europe/Madrid', - 34887 => 'Europe/Madrid', - 34888 => 'Europe/Madrid', + 3488 => 'Europe/Madrid', 3491 => 'Europe/Madrid', - 34920 => 'Europe/Madrid', - 34921 => 'Europe/Madrid', + 3492 => 'Europe/Madrid', 34922 => 'Atlantic/Canary', - 34923 => 'Europe/Madrid', - 34924 => 'Europe/Madrid', - 34925 => 'Europe/Madrid', - 34926 => 'Europe/Madrid', - 34927 => 'Europe/Madrid', 34928 => 'Atlantic/Canary', 3493 => 'Europe/Madrid', - 34941 => 'Europe/Madrid', - 34942 => 'Europe/Madrid', - 34943 => 'Europe/Madrid', - 34944 => 'Europe/Madrid', - 34945 => 'Europe/Madrid', - 34946 => 'Europe/Madrid', - 34947 => 'Europe/Madrid', - 34948 => 'Europe/Madrid', - 34949 => 'Europe/Madrid', + 3494 => 'Europe/Madrid', 3495 => 'Europe/Madrid', 3496 => 'Europe/Madrid', - 34971 => 'Europe/Madrid', - 34972 => 'Europe/Madrid', - 34973 => 'Europe/Madrid', - 34974 => 'Europe/Madrid', - 34975 => 'Europe/Madrid', - 34976 => 'Europe/Madrid', - 34977 => 'Europe/Madrid', - 34978 => 'Europe/Madrid', - 34979 => 'Europe/Madrid', - 34980 => 'Europe/Madrid', - 34981 => 'Europe/Madrid', - 34982 => 'Europe/Madrid', - 34983 => 'Europe/Madrid', - 34984 => 'Europe/Madrid', - 34985 => 'Europe/Madrid', - 34986 => 'Europe/Madrid', - 34987 => 'Europe/Madrid', - 34988 => 'Europe/Madrid', + 3497 => 'Europe/Madrid', + 3498 => 'Europe/Madrid', 350 => 'Europe/Gibraltar', 351 => 'Atlantic/Azores&Europe/Lisbon', - 35121 => 'Europe/Lisbon', - 35122 => 'Europe/Lisbon', - 351231 => 'Europe/Lisbon', - 351232 => 'Europe/Lisbon', - 351233 => 'Europe/Lisbon', - 351234 => 'Europe/Lisbon', - 351235 => 'Europe/Lisbon', - 351236 => 'Europe/Lisbon', - 351238 => 'Europe/Lisbon', - 351239 => 'Europe/Lisbon', - 351241 => 'Europe/Lisbon', - 351242 => 'Europe/Lisbon', - 351243 => 'Europe/Lisbon', - 351244 => 'Europe/Lisbon', - 351245 => 'Europe/Lisbon', - 351249 => 'Europe/Lisbon', - 351251 => 'Europe/Lisbon', - 351252 => 'Europe/Lisbon', - 351253 => 'Europe/Lisbon', - 351254 => 'Europe/Lisbon', - 351255 => 'Europe/Lisbon', - 351256 => 'Europe/Lisbon', - 351258 => 'Europe/Lisbon', - 351259 => 'Europe/Lisbon', - 351261 => 'Europe/Lisbon', - 351262 => 'Europe/Lisbon', - 351263 => 'Europe/Lisbon', - 351265 => 'Europe/Lisbon', - 351266 => 'Europe/Lisbon', - 351268 => 'Europe/Lisbon', - 351269 => 'Europe/Lisbon', - 351271 => 'Europe/Lisbon', - 351272 => 'Europe/Lisbon', - 351273 => 'Europe/Lisbon', - 351274 => 'Europe/Lisbon', - 351275 => 'Europe/Lisbon', - 351276 => 'Europe/Lisbon', - 351277 => 'Europe/Lisbon', - 351278 => 'Europe/Lisbon', - 351279 => 'Europe/Lisbon', - 351281 => 'Europe/Lisbon', - 351282 => 'Europe/Lisbon', - 351283 => 'Europe/Lisbon', - 351284 => 'Europe/Lisbon', - 351285 => 'Europe/Lisbon', - 351286 => 'Europe/Lisbon', - 351289 => 'Europe/Lisbon', - 351291 => 'Europe/Lisbon', + 3512 => 'Europe/Lisbon', 351292 => 'Atlantic/Azores', 351295 => 'Atlantic/Azores', 351296 => 'Atlantic/Azores', @@ -2777,241 +2142,28 @@ return array ( 387 => 'Europe/Sarajevo', 389 => 'Europe/Skopje', 39 => 'Europe/Rome&Europe/Vatican', - 39010 => 'Europe/Rome', - 39011 => 'Europe/Rome', - 390121 => 'Europe/Rome', - 390122 => 'Europe/Rome', - 390123 => 'Europe/Rome', - 390124 => 'Europe/Rome', - 390125 => 'Europe/Rome', - 390131 => 'Europe/Rome', - 390141 => 'Europe/Rome', - 390142 => 'Europe/Rome', - 390143 => 'Europe/Rome', - 390144 => 'Europe/Rome', - 39015 => 'Europe/Rome', - 390161 => 'Europe/Rome', - 390163 => 'Europe/Rome', - 390165 => 'Europe/Rome', - 390166 => 'Europe/Rome', - 390171 => 'Europe/Rome', - 390172 => 'Europe/Rome', - 390173 => 'Europe/Rome', - 390174 => 'Europe/Rome', - 390175 => 'Europe/Rome', - 390182 => 'Europe/Rome', - 390183 => 'Europe/Rome', - 390184 => 'Europe/Rome', - 390185 => 'Europe/Rome', - 390187 => 'Europe/Rome', - 39019 => 'Europe/Rome', + 3901 => 'Europe/Rome', 3902 => 'Europe/Rome', - 39030 => 'Europe/Rome', - 39031 => 'Europe/Rome', - 390321 => 'Europe/Rome', - 390322 => 'Europe/Rome', - 390323 => 'Europe/Rome', - 390324 => 'Europe/Rome', - 390331 => 'Europe/Rome', - 390332 => 'Europe/Rome', - 390341 => 'Europe/Rome', - 390342 => 'Europe/Rome', - 390343 => 'Europe/Rome', - 390344 => 'Europe/Rome', - 390345 => 'Europe/Rome', - 390346 => 'Europe/Rome', - 39035 => 'Europe/Rome', - 390362 => 'Europe/Rome', - 390363 => 'Europe/Rome', - 390364 => 'Europe/Rome', - 390365 => 'Europe/Rome', - 390369 => 'Europe/Rome', - 390371 => 'Europe/Rome', - 390372 => 'Europe/Rome', - 390373 => 'Europe/Rome', - 390374 => 'Europe/Rome', - 390375 => 'Europe/Rome', - 390376 => 'Europe/Rome', - 390377 => 'Europe/Rome', - 390381 => 'Europe/Rome', - 390382 => 'Europe/Rome', - 390383 => 'Europe/Rome', - 390384 => 'Europe/Rome', - 390385 => 'Europe/Rome', - 390386 => 'Europe/Rome', - 39039 => 'Europe/Rome', - 39040 => 'Europe/Rome', - 39041 => 'Europe/Rome', - 390421 => 'Europe/Rome', - 390422 => 'Europe/Rome', - 390423 => 'Europe/Rome', - 390424 => 'Europe/Rome', - 390425 => 'Europe/Rome', - 390426 => 'Europe/Rome', - 390427 => 'Europe/Rome', - 390428 => 'Europe/Rome', - 390429 => 'Europe/Rome', - 390431 => 'Europe/Rome', - 390432 => 'Europe/Rome', - 390433 => 'Europe/Rome', - 390434 => 'Europe/Rome', - 390435 => 'Europe/Rome', - 390436 => 'Europe/Rome', - 390437 => 'Europe/Rome', - 390438 => 'Europe/Rome', - 390439 => 'Europe/Rome', - 390442 => 'Europe/Rome', - 390444 => 'Europe/Rome', - 390445 => 'Europe/Rome', - 39045 => 'Europe/Rome', - 390461 => 'Europe/Rome', - 390462 => 'Europe/Rome', - 390463 => 'Europe/Rome', - 390464 => 'Europe/Rome', - 390465 => 'Europe/Rome', - 390471 => 'Europe/Rome', - 390472 => 'Europe/Rome', - 390473 => 'Europe/Rome', - 390474 => 'Europe/Rome', - 390481 => 'Europe/Rome', - 39049 => 'Europe/Rome', - 39050 => 'Europe/Rome', - 39051 => 'Europe/Rome', - 390521 => 'Europe/Rome', - 390522 => 'Europe/Rome', - 390523 => 'Europe/Rome', - 390524 => 'Europe/Rome', - 390525 => 'Europe/Rome', - 390532 => 'Europe/Rome', - 390533 => 'Europe/Rome', - 390534 => 'Europe/Rome', - 390535 => 'Europe/Rome', - 390536 => 'Europe/Rome', - 390541 => 'Europe/Rome', - 390542 => 'Europe/Rome', - 390543 => 'Europe/Rome', - 390544 => 'Europe/Rome', - 390545 => 'Europe/Rome', - 390546 => 'Europe/Rome', - 390547 => 'Europe/Rome', - 390549 => 'Europe/Rome', - 39055 => 'Europe/Rome', - 390564 => 'Europe/Rome', - 390565 => 'Europe/Rome', - 390566 => 'Europe/Rome', - 390571 => 'Europe/Rome', - 390572 => 'Europe/Rome', - 390573 => 'Europe/Rome', - 390574 => 'Europe/Rome', - 390575 => 'Europe/Rome', - 390577 => 'Europe/Rome', - 390578 => 'Europe/Rome', - 390583 => 'Europe/Rome', - 390584 => 'Europe/Rome', - 390585 => 'Europe/Rome', - 390586 => 'Europe/Rome', - 390587 => 'Europe/Rome', - 390588 => 'Europe/Rome', - 39059 => 'Europe/Rome', + 3903 => 'Europe/Rome', + 3904 => 'Europe/Rome', + 3905 => 'Europe/Rome', 3906 => 'Europe/Rome', 3906698 => 'Europe/Vatican', - 39070 => 'Europe/Rome', - 39071 => 'Europe/Rome', - 390721 => 'Europe/Rome', - 390722 => 'Europe/Rome', - 390731 => 'Europe/Rome', - 390732 => 'Europe/Rome', - 390733 => 'Europe/Rome', - 390734 => 'Europe/Rome', - 390735 => 'Europe/Rome', - 390736 => 'Europe/Rome', - 390737 => 'Europe/Rome', - 390742 => 'Europe/Rome', - 390743 => 'Europe/Rome', - 390744 => 'Europe/Rome', - 390746 => 'Europe/Rome', - 39075 => 'Europe/Rome', - 390761 => 'Europe/Rome', - 390763 => 'Europe/Rome', - 390765 => 'Europe/Rome', - 390766 => 'Europe/Rome', - 390769 => 'Europe/Rome', - 390771 => 'Europe/Rome', - 390773 => 'Europe/Rome', - 390774 => 'Europe/Rome', - 390775 => 'Europe/Rome', - 390776 => 'Europe/Rome', - 390781 => 'Europe/Rome', - 390782 => 'Europe/Rome', - 390783 => 'Europe/Rome', - 390784 => 'Europe/Rome', - 390785 => 'Europe/Rome', - 390789 => 'Europe/Rome', - 39079 => 'Europe/Rome', + 3907 => 'Europe/Rome', 39080 => 'Europe/Rome', 39081 => 'Europe/Rome', - 390823 => 'Europe/Rome', - 390824 => 'Europe/Rome', - 390825 => 'Europe/Rome', - 390827 => 'Europe/Rome', - 390828 => 'Europe/Rome', - 390831 => 'Europe/Rome', - 390832 => 'Europe/Rome', - 390833 => 'Europe/Rome', - 390835 => 'Europe/Rome', - 390836 => 'Europe/Rome', + 39082 => 'Europe/Rome', + 39083 => 'Europe/Rome', 39085 => 'Europe/Rome', - 390861 => 'Europe/Rome', - 390862 => 'Europe/Rome', - 390863 => 'Europe/Rome', - 390864 => 'Europe/Rome', - 390865 => 'Europe/Rome', + 39086 => 'Europe/Rome', 390871 => 'Europe/Rome', 390872 => 'Europe/Rome', 390873 => 'Europe/Rome', 390874 => 'Europe/Rome', 390875 => 'Europe/Rome', - 390881 => 'Europe/Rome', - 390882 => 'Europe/Rome', - 390883 => 'Europe/Rome', - 390884 => 'Europe/Rome', - 390885 => 'Europe/Rome', + 39088 => 'Europe/Rome', 39089 => 'Europe/Rome', - 39090 => 'Europe/Rome', - 39091 => 'Europe/Rome', - 390921 => 'Europe/Rome', - 390922 => 'Europe/Rome', - 390923 => 'Europe/Rome', - 390924 => 'Europe/Rome', - 390925 => 'Europe/Rome', - 390931 => 'Europe/Rome', - 390932 => 'Europe/Rome', - 390933 => 'Europe/Rome', - 390934 => 'Europe/Rome', - 390935 => 'Europe/Rome', - 390941 => 'Europe/Rome', - 390942 => 'Europe/Rome', - 39095 => 'Europe/Rome', - 390961 => 'Europe/Rome', - 390962 => 'Europe/Rome', - 390963 => 'Europe/Rome', - 390964 => 'Europe/Rome', - 390965 => 'Europe/Rome', - 390966 => 'Europe/Rome', - 390967 => 'Europe/Rome', - 390968 => 'Europe/Rome', - 390971 => 'Europe/Rome', - 390972 => 'Europe/Rome', - 390973 => 'Europe/Rome', - 390974 => 'Europe/Rome', - 390975 => 'Europe/Rome', - 390976 => 'Europe/Rome', - 390981 => 'Europe/Rome', - 390982 => 'Europe/Rome', - 390983 => 'Europe/Rome', - 390984 => 'Europe/Rome', - 390985 => 'Europe/Rome', - 39099 => 'Europe/Rome', + 3909 => 'Europe/Rome', 40 => 'Europe/Bucharest', 41 => 'Europe/Zurich', 420 => 'Europe/Prague', @@ -3019,568 +2171,45 @@ return array ( 423 => 'Europe/Vaduz', 43 => 'Europe/Vienna', 44 => 'Europe/Guernsey&Europe/Isle_of_Man&Europe/Jersey&Europe/London', - 44113 => 'Europe/London', - 44114 => 'Europe/London', - 44115 => 'Europe/London', - 44116 => 'Europe/London', - 44117 => 'Europe/London', - 44118 => 'Europe/London', - 441200 => 'Europe/London', - 441202 => 'Europe/London', - 441204 => 'Europe/London', - 441205 => 'Europe/London', - 441206 => 'Europe/London', - 441207 => 'Europe/London', - 441208 => 'Europe/London', - 441209 => 'Europe/London', - 44121 => 'Europe/London', - 441223 => 'Europe/London', - 441224 => 'Europe/London', - 441225 => 'Europe/London', - 441226 => 'Europe/London', - 441227 => 'Europe/London', - 441228 => 'Europe/London', - 441229 => 'Europe/London', - 441233 => 'Europe/London', - 441234 => 'Europe/London', - 441235 => 'Europe/London', - 441236 => 'Europe/London', - 441237 => 'Europe/London', - 441239 => 'Europe/London', - 441241 => 'Europe/London', - 441242 => 'Europe/London', - 441243 => 'Europe/London', - 441244 => 'Europe/London', - 441245 => 'Europe/London', - 441246 => 'Europe/London', - 441248 => 'Europe/London', - 441249 => 'Europe/London', - 441250 => 'Europe/London', - 441252 => 'Europe/London', - 441253 => 'Europe/London', - 441254 => 'Europe/London', - 441255 => 'Europe/London', - 441256 => 'Europe/London', - 441257 => 'Europe/London', - 441258 => 'Europe/London', - 441259 => 'Europe/London', - 441260 => 'Europe/London', - 441261 => 'Europe/London', - 441262 => 'Europe/London', - 441263 => 'Europe/London', - 441264 => 'Europe/London', - 441267 => 'Europe/London', - 441268 => 'Europe/London', - 441269 => 'Europe/London', - 441270 => 'Europe/London', - 441271 => 'Europe/London', - 441273 => 'Europe/London', - 441274 => 'Europe/London', - 441275 => 'Europe/London', - 441276 => 'Europe/London', - 441277 => 'Europe/London', - 441278 => 'Europe/London', - 441279 => 'Europe/London', - 441280 => 'Europe/London', - 441282 => 'Europe/London', - 441283 => 'Europe/London', - 441284 => 'Europe/London', - 441285 => 'Europe/London', - 441286 => 'Europe/London', - 441287 => 'Europe/London', - 441288 => 'Europe/London', - 441289 => 'Europe/London', - 44129 => 'Europe/London', + 4411 => 'Europe/London', + 4412 => 'Europe/London', 44130 => 'Europe/London', 44131 => 'Europe/London', - 441320 => 'Europe/London', - 441322 => 'Europe/London', - 441323 => 'Europe/London', - 441324 => 'Europe/London', - 441325 => 'Europe/London', - 441326 => 'Europe/London', - 441327 => 'Europe/London', - 441328 => 'Europe/London', - 441329 => 'Europe/London', - 441330 => 'Europe/London', - 441332 => 'Europe/London', - 441333 => 'Europe/London', - 441334 => 'Europe/London', - 441335 => 'Europe/London', - 441337 => 'Europe/London', - 441339 => 'Europe/London', - 441340 => 'Europe/London', - 441341 => 'Europe/London', - 441342 => 'Europe/London', - 441343 => 'Europe/London', - 441344 => 'Europe/London', - 441346 => 'Europe/London', - 441347 => 'Europe/London', - 441348 => 'Europe/London', - 441349 => 'Europe/London', - 441350 => 'Europe/London', - 441352 => 'Europe/London', - 441353 => 'Europe/London', - 441354 => 'Europe/London', - 441355 => 'Europe/London', - 441356 => 'Europe/London', - 441357 => 'Europe/London', - 441358 => 'Europe/London', - 441359 => 'Europe/London', - 441360 => 'Europe/London', - 441361 => 'Europe/London', - 441362 => 'Europe/London', - 441363 => 'Europe/London', - 441364 => 'Europe/London', - 441366 => 'Europe/London', - 441367 => 'Europe/London', - 441368 => 'Europe/London', - 441369 => 'Europe/London', - 441371 => 'Europe/London', - 441372 => 'Europe/London', - 441373 => 'Europe/London', - 441375 => 'Europe/London', - 441376 => 'Europe/London', - 441377 => 'Europe/London', - 441379 => 'Europe/London', - 441380 => 'Europe/London', - 441381 => 'Europe/London', - 441382 => 'Europe/London', - 441383 => 'Europe/London', - 441384 => 'Europe/London', - 441386 => 'Europe/London', - 441387 => 'Europe/London', - 441388 => 'Europe/London', - 441389 => 'Europe/London', + 44132 => 'Europe/London', + 44133 => 'Europe/London', + 44134 => 'Europe/London', + 44135 => 'Europe/London', + 44136 => 'Europe/London', + 44137 => 'Europe/London', + 44138 => 'Europe/London', 441392 => 'Europe/London', 441394 => 'Europe/London', 441395 => 'Europe/London', 441397 => 'Europe/London', 441398 => 'Europe/London', - 441400 => 'Europe/London', - 441403 => 'Europe/London', - 441404 => 'Europe/London', - 441405 => 'Europe/London', - 441406 => 'Europe/London', - 441407 => 'Europe/London', - 441408 => 'Europe/London', - 441409 => 'Europe/London', - 44141 => 'Europe/London', - 441420 => 'Europe/London', - 441422 => 'Europe/London', - 441423 => 'Europe/London', - 441424 => 'Europe/London', - 441425 => 'Europe/London', - 441427 => 'Europe/London', - 441428 => 'Europe/London', - 441429 => 'Europe/London', - 44143 => 'Europe/London', - 441440 => 'Europe/London', - 441442 => 'Europe/London', - 441443 => 'Europe/London', - 441444 => 'Europe/London', - 441445 => 'Europe/London', - 441446 => 'Europe/London', - 441449 => 'Europe/London', - 441450 => 'Europe/London', - 441451 => 'Europe/London', - 441452 => 'Europe/London', - 441453 => 'Europe/London', - 441454 => 'Europe/London', - 441455 => 'Europe/London', - 441456 => 'Europe/London', - 441457 => 'Europe/London', - 441458 => 'Europe/London', - 441460 => 'Europe/London', - 441461 => 'Europe/London', - 441462 => 'Europe/London', - 441463 => 'Europe/London', - 441464 => 'Europe/London', - 441465 => 'Europe/London', - 441466 => 'Europe/London', - 441467 => 'Europe/London', - 441469 => 'Europe/London', - 44147 => 'Europe/London', - 441480 => 'Europe/London', + 4414 => 'Europe/London', 441481 => 'Europe/Guernsey', - 441482 => 'Europe/London', - 441483 => 'Europe/London', - 441484 => 'Europe/London', - 441485 => 'Europe/London', - 441487 => 'Europe/London', - 441488 => 'Europe/London', - 441489 => 'Europe/London', - 441490 => 'Europe/London', - 441491 => 'Europe/London', - 441492 => 'Europe/London', - 441493 => 'Europe/London', - 441494 => 'Europe/London', - 441495 => 'Europe/London', - 441496 => 'Europe/London', - 441497 => 'Europe/London', - 441499 => 'Europe/London', - 441501 => 'Europe/London', - 441502 => 'Europe/London', - 441503 => 'Europe/London', - 441505 => 'Europe/London', - 441506 => 'Europe/London', - 441507 => 'Europe/London', - 441508 => 'Europe/London', - 441509 => 'Europe/London', - 44151 => 'Europe/London', - 441520 => 'Europe/London', - 441522 => 'Europe/London', - 441524 => 'Europe/London', - 441525 => 'Europe/London', - 441526 => 'Europe/London', - 441527 => 'Europe/London', - 441528 => 'Europe/London', - 441529 => 'Europe/London', - 441530 => 'Europe/London', - 441531 => 'Europe/London', + 4415 => 'Europe/London', 441534 => 'Europe/Jersey', - 441535 => 'Europe/London', - 441536 => 'Europe/London', - 441538 => 'Europe/London', - 441539 => 'Europe/London', - 441540 => 'Europe/London', - 441542 => 'Europe/London', - 441543 => 'Europe/London', - 441544 => 'Europe/London', - 441545 => 'Europe/London', - 441546 => 'Europe/London', - 441547 => 'Europe/London', - 441548 => 'Europe/London', - 441549 => 'Europe/London', - 441550 => 'Europe/London', - 441553 => 'Europe/London', - 441554 => 'Europe/London', - 441555 => 'Europe/London', - 441556 => 'Europe/London', - 441557 => 'Europe/London', - 441558 => 'Europe/London', - 441559 => 'Europe/London', - 44156 => 'Europe/London', - 441570 => 'Europe/London', - 441571 => 'Europe/London', - 441572 => 'Europe/London', - 441573 => 'Europe/London', - 441575 => 'Europe/London', - 441576 => 'Europe/London', - 441577 => 'Europe/London', - 441578 => 'Europe/London', - 441579 => 'Europe/London', - 441580 => 'Europe/London', - 441581 => 'Europe/London', - 441582 => 'Europe/London', - 441583 => 'Europe/London', - 441584 => 'Europe/London', - 441586 => 'Europe/London', - 441588 => 'Europe/London', - 441590 => 'Europe/London', - 441591 => 'Europe/London', - 441592 => 'Europe/London', - 441593 => 'Europe/London', - 441594 => 'Europe/London', - 441595 => 'Europe/London', - 441597 => 'Europe/London', - 441598 => 'Europe/London', - 441599 => 'Europe/London', - 441600 => 'Europe/London', - 441603 => 'Europe/London', - 441604 => 'Europe/London', - 441606 => 'Europe/London', - 441608 => 'Europe/London', - 441609 => 'Europe/London', - 44161 => 'Europe/London', - 441620 => 'Europe/London', - 441621 => 'Europe/London', - 441622 => 'Europe/London', - 441623 => 'Europe/London', + 4416 => 'Europe/London', 441624 => 'Europe/Isle_of_Man', - 441625 => 'Europe/London', - 441626 => 'Europe/London', - 441628 => 'Europe/London', - 441629 => 'Europe/London', - 441630 => 'Europe/London', - 441631 => 'Europe/London', - 441633 => 'Europe/London', - 441634 => 'Europe/London', - 441635 => 'Europe/London', - 441636 => 'Europe/London', - 441637 => 'Europe/London', - 441638 => 'Europe/London', - 441639 => 'Europe/London', - 441641 => 'Europe/London', - 441642 => 'Europe/London', - 441643 => 'Europe/London', - 441644 => 'Europe/London', - 441646 => 'Europe/London', - 441647 => 'Europe/London', - 441650 => 'Europe/London', - 441651 => 'Europe/London', - 441652 => 'Europe/London', - 441653 => 'Europe/London', - 441654 => 'Europe/London', - 441655 => 'Europe/London', - 441656 => 'Europe/London', - 441659 => 'Europe/London', - 441661 => 'Europe/London', - 441663 => 'Europe/London', - 441664 => 'Europe/London', - 441665 => 'Europe/London', - 441666 => 'Europe/London', - 441667 => 'Europe/London', - 441668 => 'Europe/London', - 441669 => 'Europe/London', - 441670 => 'Europe/London', - 441671 => 'Europe/London', - 441672 => 'Europe/London', - 441673 => 'Europe/London', - 441674 => 'Europe/London', - 441675 => 'Europe/London', - 441676 => 'Europe/London', - 441677 => 'Europe/London', - 441678 => 'Europe/London', - 441680 => 'Europe/London', - 441681 => 'Europe/London', - 441683 => 'Europe/London', - 441684 => 'Europe/London', - 441685 => 'Europe/London', - 441686 => 'Europe/London', - 441687 => 'Europe/London', - 441688 => 'Europe/London', - 441689 => 'Europe/London', - 441690 => 'Europe/London', - 441691 => 'Europe/London', - 441692 => 'Europe/London', - 441694 => 'Europe/London', - 441695 => 'Europe/London', - 441697 => 'Europe/London', - 441698 => 'Europe/London', - 441700 => 'Europe/London', - 441702 => 'Europe/London', - 441704 => 'Europe/London', - 441706 => 'Europe/London', - 441707 => 'Europe/London', - 441708 => 'Europe/London', - 441709 => 'Europe/London', - 44172 => 'Europe/London', - 441730 => 'Europe/London', - 441732 => 'Europe/London', - 441733 => 'Europe/London', - 441736 => 'Europe/London', - 441737 => 'Europe/London', - 441738 => 'Europe/London', - 441740 => 'Europe/London', - 441743 => 'Europe/London', - 441744 => 'Europe/London', - 441745 => 'Europe/London', - 441746 => 'Europe/London', - 441747 => 'Europe/London', - 441748 => 'Europe/London', - 441749 => 'Europe/London', - 441750 => 'Europe/London', - 441751 => 'Europe/London', - 441752 => 'Europe/London', - 441753 => 'Europe/London', - 441754 => 'Europe/London', - 441756 => 'Europe/London', - 441757 => 'Europe/London', - 441758 => 'Europe/London', - 441759 => 'Europe/London', - 441760 => 'Europe/London', - 441761 => 'Europe/London', - 441763 => 'Europe/London', - 441764 => 'Europe/London', - 441765 => 'Europe/London', - 441766 => 'Europe/London', - 441767 => 'Europe/London', - 441768 => 'Europe/London', - 441769 => 'Europe/London', - 441770 => 'Europe/London', - 441771 => 'Europe/London', - 441772 => 'Europe/London', - 441773 => 'Europe/London', - 441775 => 'Europe/London', - 441776 => 'Europe/London', - 441777 => 'Europe/London', - 441778 => 'Europe/London', - 441779 => 'Europe/London', - 441780 => 'Europe/London', - 441782 => 'Europe/London', - 441784 => 'Europe/London', - 441785 => 'Europe/London', - 441786 => 'Europe/London', - 441787 => 'Europe/London', - 441788 => 'Europe/London', - 441789 => 'Europe/London', - 441790 => 'Europe/London', - 441792 => 'Europe/London', - 441793 => 'Europe/London', - 441794 => 'Europe/London', - 441795 => 'Europe/London', - 441796 => 'Europe/London', - 441797 => 'Europe/London', - 441798 => 'Europe/London', - 441799 => 'Europe/London', - 441803 => 'Europe/London', - 441805 => 'Europe/London', - 441806 => 'Europe/London', - 441807 => 'Europe/London', - 441808 => 'Europe/London', - 441809 => 'Europe/London', - 441821 => 'Europe/London', - 441822 => 'Europe/London', - 441823 => 'Europe/London', - 441824 => 'Europe/London', - 441825 => 'Europe/London', - 441827 => 'Europe/London', - 441828 => 'Europe/London', - 441829 => 'Europe/London', - 441830 => 'Europe/London', - 441832 => 'Europe/London', - 441833 => 'Europe/London', - 441834 => 'Europe/London', - 441835 => 'Europe/London', - 441837 => 'Europe/London', - 441838 => 'Europe/London', - 441840 => 'Europe/London', - 441841 => 'Europe/London', - 441842 => 'Europe/London', - 441843 => 'Europe/London', - 441844 => 'Europe/London', - 441845 => 'Europe/London', - 441847 => 'Europe/London', - 441848 => 'Europe/London', - 441851 => 'Europe/London', - 441852 => 'Europe/London', - 441854 => 'Europe/London', - 441855 => 'Europe/London', - 441856 => 'Europe/London', - 441857 => 'Europe/London', - 441858 => 'Europe/London', - 441859 => 'Europe/London', - 441862 => 'Europe/London', - 441863 => 'Europe/London', - 441864 => 'Europe/London', - 441865 => 'Europe/London', - 441866 => 'Europe/London', - 441869 => 'Europe/London', - 44187 => 'Europe/London', - 441880 => 'Europe/London', - 441882 => 'Europe/London', - 441883 => 'Europe/London', - 441884 => 'Europe/London', - 441885 => 'Europe/London', - 441886 => 'Europe/London', - 441887 => 'Europe/London', - 441888 => 'Europe/London', - 441889 => 'Europe/London', - 441890 => 'Europe/London', - 441892 => 'Europe/London', - 441895 => 'Europe/London', - 441896 => 'Europe/London', - 441899 => 'Europe/London', - 441900 => 'Europe/London', - 441902 => 'Europe/London', - 441903 => 'Europe/London', - 441904 => 'Europe/London', - 441905 => 'Europe/London', - 441908 => 'Europe/London', - 441909 => 'Europe/London', - 44191 => 'Europe/London', - 441920 => 'Europe/London', - 441922 => 'Europe/London', - 441923 => 'Europe/London', - 441924 => 'Europe/London', - 441925 => 'Europe/London', - 441926 => 'Europe/London', - 441928 => 'Europe/London', - 441929 => 'Europe/London', - 441931 => 'Europe/London', - 441932 => 'Europe/London', - 441933 => 'Europe/London', - 441934 => 'Europe/London', - 441935 => 'Europe/London', - 441937 => 'Europe/London', - 441938 => 'Europe/London', - 441939 => 'Europe/London', - 441942 => 'Europe/London', - 441943 => 'Europe/London', - 441944 => 'Europe/London', - 441945 => 'Europe/London', - 441946 => 'Europe/London', - 441947 => 'Europe/London', - 441948 => 'Europe/London', - 441949 => 'Europe/London', - 441950 => 'Europe/London', - 441951 => 'Europe/London', - 441952 => 'Europe/London', - 441953 => 'Europe/London', - 441954 => 'Europe/London', - 441955 => 'Europe/London', - 441957 => 'Europe/London', - 441959 => 'Europe/London', - 441962 => 'Europe/London', - 441963 => 'Europe/London', - 441964 => 'Europe/London', - 441967 => 'Europe/London', - 441968 => 'Europe/London', - 441969 => 'Europe/London', - 441970 => 'Europe/London', - 441971 => 'Europe/London', - 441972 => 'Europe/London', - 441974 => 'Europe/London', - 441975 => 'Europe/London', - 441977 => 'Europe/London', - 441978 => 'Europe/London', - 44198 => 'Europe/London', - 441992 => 'Europe/London', - 441993 => 'Europe/London', - 441994 => 'Europe/London', - 441995 => 'Europe/London', - 441997 => 'Europe/London', - 4420 => 'Europe/London', - 4423 => 'Europe/London', - 4424 => 'Europe/London', - 4428 => 'Europe/London', - 4429 => 'Europe/London', + 4417 => 'Europe/London', + 4418 => 'Europe/London', + 4419 => 'Europe/London', + 442 => 'Europe/London', 45 => 'Europe/Copenhagen', 46 => 'Europe/Stockholm', 47 => 'Arctic/Longyearbyen&Europe/Oslo', - 4721 => 'Europe/Oslo', - 4722 => 'Europe/Oslo', - 4723 => 'Europe/Oslo', - 4724 => 'Europe/Oslo', - 4731 => 'Europe/Oslo', - 4732 => 'Europe/Oslo', - 4733 => 'Europe/Oslo', - 4735 => 'Europe/Oslo', - 4737 => 'Europe/Oslo', - 4738 => 'Europe/Oslo', + 472 => 'Europe/Oslo', + 473 => 'Europe/Oslo', 4751 => 'Europe/Oslo', 4752 => 'Europe/Oslo', 4753 => 'Europe/Oslo', 4755 => 'Europe/Oslo', 4756 => 'Europe/Oslo', 4757 => 'Europe/Oslo', - 4761 => 'Europe/Oslo', - 4762 => 'Europe/Oslo', - 4763 => 'Europe/Oslo', - 4764 => 'Europe/Oslo', - 4766 => 'Europe/Oslo', - 4767 => 'Europe/Oslo', - 4769 => 'Europe/Oslo', - 4770 => 'Europe/Oslo', - 4771 => 'Europe/Oslo', - 4772 => 'Europe/Oslo', - 4773 => 'Europe/Oslo', - 4774 => 'Europe/Oslo', - 4775 => 'Europe/Oslo', - 4776 => 'Europe/Oslo', - 4777 => 'Europe/Oslo', - 4778 => 'Europe/Oslo', + 476 => 'Europe/Oslo', + 477 => 'Europe/Oslo', 4779 => 'Arctic/Longyearbyen', 48 => 'Europe/Warsaw', 49 => 'Europe/Berlin', @@ -5350,25 +3979,17 @@ return array ( 5642 => 'America/Santiago', 5643 => 'America/Santiago', 5645 => 'America/Santiago', - 5651 => 'America/Santiago', - 5652 => 'America/Santiago', - 5653 => 'America/Santiago', - 5655 => 'America/Santiago', - 5657 => 'America/Santiago', - 5658 => 'America/Santiago', + 565 => 'America/Santiago', 5663 => 'America/Santiago', 5664 => 'America/Santiago', 5665 => 'America/Santiago', 5667 => 'America/Santiago', - 5671 => 'America/Santiago', - 5672 => 'America/Santiago', - 5673 => 'America/Santiago', - 5675 => 'America/Santiago', + 567 => 'America/Santiago', 569 => 'America/Santiago', 57 => 'America/Bogota', 58 => 'America/Caracas', - 590 => 'America/Guadeloupe&America/Halifax&America/Marigot', - 590590 => 'America/Guadeloupe', + 590 => 'America/Guadeloupe', + 5905 => 'America/Guadeloupe', 591 => 'America/La_Paz', 592 => 'America/Guyana', 593 => 'America/Guayaquil&Pacific/Galapagos', @@ -5376,6 +3997,7 @@ return array ( 5933 => 'America/Guayaquil', 5934 => 'America/Guayaquil', 5935 => 'America/Guayaquil', + 59352 => 'America/Guayaquil&Pacific/Galapagos', 5936 => 'America/Guayaquil', 5937 => 'America/Guayaquil', 594 => 'America/Cayenne', @@ -5389,80 +4011,98 @@ return array ( 5997 => 'America/Kralendijk', 5999 => 'America/Curacao', 60 => 'Asia/Kuching', - 61 => 'Antarctica/Macquarie&Australia/Adelaide&Australia/Eucla&Australia/Lord_Howe&Australia/Perth&Australia/Sydney&Indian/Christmas&Indian/Cocos', + 61 => 'Australia/Adelaide&Australia/Eucla&Australia/Lord_Howe&Australia/Perth&Australia/Sydney&Indian/Christmas&Indian/Cocos', 612 => 'Australia/Sydney', + 61255007 => 'Australia/Lord_Howe', + 61255053 => 'Australia/Lord_Howe', + 61255143 => 'Australia/Lord_Howe', + 61255213 => 'Australia/Lord_Howe', + 61255280 => 'Australia/Lord_Howe', + 61255307 => 'Australia/Lord_Howe', + 61255369 => 'Australia/Lord_Howe', + 61255413 => 'Australia/Lord_Howe', + 61255568 => 'Australia/Lord_Howe', + 61255936 => 'Australia/Lord_Howe', + 61255937 => 'Australia/Lord_Howe', + 61265080 => 'Australia/Lord_Howe', + 61265081 => 'Australia/Lord_Howe', + 61265082 => 'Australia/Lord_Howe', + 61265099 => 'Australia/Lord_Howe', + 61265164 => 'Australia/Lord_Howe', + 61265251 => 'Australia/Lord_Howe', + 61265296 => 'Australia/Lord_Howe', + 61265341 => 'Australia/Lord_Howe', + 61265606 => 'Australia/Lord_Howe', + 61265632 => 'Australia/Lord_Howe', + 61265998 => 'Australia/Lord_Howe', 613 => 'Australia/Sydney', 617 => 'Australia/Sydney', - 618 => 'Australia/Adelaide&Australia/Perth', + 618510 => 'Australia/Adelaide&Australia/Perth', + 61851001 => 'Indian/Christmas', + 61851002 => 'Indian/Cocos', + 61851030 => 'Indian/Christmas', + 61851031 => 'Indian/Cocos', + 61851059 => 'Indian/Christmas', + 61851060 => 'Indian/Cocos', + 61851116 => 'Australia/Adelaide&Australia/Perth', + 61851117 => 'Indian/Christmas', + 61851118 => 'Indian/Cocos', + 61851119 => 'Australia/Adelaide&Australia/Perth', + 6185112 => 'Australia/Adelaide&Australia/Perth', + 6185113 => 'Australia/Adelaide&Australia/Perth', + 6185114 => 'Australia/Adelaide&Australia/Perth', + 6186 => 'Australia/Adelaide&Australia/Perth', + 6187 => 'Australia/Adelaide&Australia/Perth', + 6188 => 'Australia/Adelaide&Australia/Perth', + 6189 => 'Australia/Adelaide&Australia/Perth', + 61890393 => 'Australia/Adelaide&Australia/Eucla&Australia/Perth', + 61890395 => 'Australia/Adelaide&Australia/Eucla&Australia/Perth', + 61891006 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891007 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891008 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891009 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891010 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891011 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891012 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891029 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891122 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891149 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891150 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891178 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891179 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891181 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891182 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891209 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891210 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891263 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891264 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891308 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891312 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891322 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891326 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891368 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891375 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891428 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891456 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891497 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891498 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 6189162 => 'Indian/Cocos', + 6189164 => 'Indian/Christmas', + 61891700 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891701 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891702 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', + 61891710 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891711 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891712 => 'Australia/Adelaide&Australia/Perth&Indian/Christmas', + 61891959 => 'Australia/Adelaide&Australia/Perth&Indian/Cocos', 62 => 'Asia/Jakarta&Asia/Jayapura&Asia/Makassar', - 6221 => 'Asia/Jakarta', - 6222 => 'Asia/Jakarta', - 62231 => 'Asia/Jakarta', - 62232 => 'Asia/Jakarta', - 62233 => 'Asia/Jakarta', - 62234 => 'Asia/Jakarta', - 6224 => 'Asia/Jakarta', - 62251 => 'Asia/Jakarta', - 62252 => 'Asia/Jakarta', - 62253 => 'Asia/Jakarta', - 62254 => 'Asia/Jakarta', - 62260 => 'Asia/Jakarta', - 62261 => 'Asia/Jakarta', - 62262 => 'Asia/Jakarta', - 62263 => 'Asia/Jakarta', - 62264 => 'Asia/Jakarta', - 62265 => 'Asia/Jakarta', - 62266 => 'Asia/Jakarta', - 62267 => 'Asia/Jakarta', - 62268 => 'Asia/Jakarta', - 62271 => 'Asia/Jakarta', - 62272 => 'Asia/Jakarta', - 62273 => 'Asia/Jakarta', - 62274 => 'Asia/Jakarta', - 62275 => 'Asia/Jakarta', - 62276 => 'Asia/Jakarta', - 6228 => 'Asia/Jakarta', - 62291 => 'Asia/Jakarta', - 62292 => 'Asia/Jakarta', - 62293 => 'Asia/Jakarta', - 62294 => 'Asia/Jakarta', - 62295 => 'Asia/Jakarta', - 62296 => 'Asia/Jakarta', - 62297 => 'Asia/Jakarta', - 62298 => 'Asia/Jakarta', + 622 => 'Asia/Jakarta', 6231 => 'Asia/Jakarta', - 62321 => 'Asia/Jakarta', - 62322 => 'Asia/Jakarta', - 62323 => 'Asia/Jakarta', - 62324 => 'Asia/Jakarta', - 62325 => 'Asia/Jakarta', - 62326 => 'Asia/Jakarta', - 62327 => 'Asia/Jakarta', - 62328 => 'Asia/Jakarta', - 62331 => 'Asia/Jakarta', - 62332 => 'Asia/Jakarta', - 62333 => 'Asia/Jakarta', - 62334 => 'Asia/Jakarta', - 62335 => 'Asia/Jakarta', - 62336 => 'Asia/Jakarta', - 62338 => 'Asia/Jakarta', - 62341 => 'Asia/Jakarta', - 62342 => 'Asia/Jakarta', - 62343 => 'Asia/Jakarta', - 62351 => 'Asia/Jakarta', - 62352 => 'Asia/Jakarta', - 62353 => 'Asia/Jakarta', - 62354 => 'Asia/Jakarta', - 62355 => 'Asia/Jakarta', - 62356 => 'Asia/Jakarta', - 62357 => 'Asia/Jakarta', - 62358 => 'Asia/Jakarta', - 62361 => 'Asia/Makassar', - 62362 => 'Asia/Makassar', - 62363 => 'Asia/Makassar', - 62365 => 'Asia/Makassar', - 62366 => 'Asia/Makassar', - 62368 => 'Asia/Makassar', + 6232 => 'Asia/Jakarta', + 6233 => 'Asia/Jakarta', + 6234 => 'Asia/Jakarta', + 6235 => 'Asia/Jakarta', + 6236 => 'Asia/Makassar', 62370 => 'Asia/Makassar', 62371 => 'Asia/Makassar', 62372 => 'Asia/Makassar', @@ -5470,52 +4110,9 @@ return array ( 62374 => 'Asia/Makassar', 62376 => 'Asia/Makassar', 6238 => 'Asia/Makassar', - 62401 => 'Asia/Makassar', - 62402 => 'Asia/Makassar', + 624 => 'Asia/Makassar', 62403 => 'Asia/Jayapura&Asia/Makassar', - 62404 => 'Asia/Makassar', - 62405 => 'Asia/Makassar', - 62408 => 'Asia/Makassar', - 62409 => 'Asia/Makassar', - 62410 => 'Asia/Makassar', - 62411 => 'Asia/Makassar', - 62413 => 'Asia/Makassar', - 62414 => 'Asia/Makassar', - 62417 => 'Asia/Makassar', - 62418 => 'Asia/Makassar', - 62419 => 'Asia/Makassar', - 62420 => 'Asia/Makassar', - 62421 => 'Asia/Makassar', - 62422 => 'Asia/Makassar', - 62423 => 'Asia/Makassar', - 62426 => 'Asia/Makassar', - 62427 => 'Asia/Makassar', - 62428 => 'Asia/Makassar', - 62430 => 'Asia/Makassar', - 62431 => 'Asia/Makassar', - 62432 => 'Asia/Makassar', - 62434 => 'Asia/Makassar', - 62435 => 'Asia/Makassar', - 62436 => 'Asia/Makassar', - 62438 => 'Asia/Makassar', - 62443 => 'Asia/Makassar', - 62451 => 'Asia/Makassar', - 62452 => 'Asia/Makassar', - 62453 => 'Asia/Makassar', - 62457 => 'Asia/Makassar', 62458 => 'Asia/Jakarta&Asia/Makassar', - 62461 => 'Asia/Makassar', - 62462 => 'Asia/Makassar', - 62463 => 'Asia/Makassar', - 62464 => 'Asia/Makassar', - 62465 => 'Asia/Makassar', - 62471 => 'Asia/Makassar', - 62473 => 'Asia/Makassar', - 62474 => 'Asia/Makassar', - 62481 => 'Asia/Makassar', - 62482 => 'Asia/Makassar', - 62484 => 'Asia/Makassar', - 62485 => 'Asia/Makassar', 62511 => 'Asia/Makassar', 62512 => 'Asia/Makassar', 62513 => 'Asia/Jakarta', @@ -5529,183 +4126,39 @@ return array ( 62526 => 'Asia/Makassar', 62527 => 'Asia/Makassar', 62528 => 'Asia/Jakarta', - 62531 => 'Asia/Jakarta', - 62532 => 'Asia/Jakarta', - 62534 => 'Asia/Jakarta', - 62535 => 'Asia/Jakarta', - 62536 => 'Asia/Jakarta', - 62537 => 'Asia/Jakarta', - 62538 => 'Asia/Jakarta', + 6253 => 'Asia/Jakarta', 62539 => 'Asia/Jakarta&Asia/Makassar', - 62541 => 'Asia/Makassar', - 62542 => 'Asia/Makassar', - 62543 => 'Asia/Makassar', - 62545 => 'Asia/Makassar', - 62548 => 'Asia/Makassar', - 62549 => 'Asia/Makassar', - 62551 => 'Asia/Makassar', - 62552 => 'Asia/Makassar', - 62553 => 'Asia/Makassar', - 62554 => 'Asia/Makassar', - 62556 => 'Asia/Makassar', - 62561 => 'Asia/Jakarta', - 62562 => 'Asia/Jakarta', - 62563 => 'Asia/Jakarta', - 62564 => 'Asia/Jakarta', - 62565 => 'Asia/Jakarta', - 62566 => 'Asia/Jakarta', - 62567 => 'Asia/Jakarta', - 62568 => 'Asia/Jakarta', - 6261 => 'Asia/Jakarta', - 6262 => 'Asia/Jakarta', - 62631 => 'Asia/Jakarta', - 62632 => 'Asia/Jakarta', - 62633 => 'Asia/Jakarta', - 62634 => 'Asia/Jakarta', - 62635 => 'Asia/Jakarta', - 62636 => 'Asia/Jakarta', - 62639 => 'Asia/Jakarta', - 62641 => 'Asia/Jakarta', - 62642 => 'Asia/Jakarta', - 62643 => 'Asia/Jakarta', - 62644 => 'Asia/Jakarta', - 62645 => 'Asia/Jakarta', - 62646 => 'Asia/Jakarta', - 6265 => 'Asia/Jakarta', - 62702 => 'Asia/Jakarta', - 62711 => 'Asia/Jakarta', - 62712 => 'Asia/Jakarta', - 62713 => 'Asia/Jakarta', - 62714 => 'Asia/Jakarta', - 62715 => 'Asia/Jakarta', - 62716 => 'Asia/Jakarta', - 62717 => 'Asia/Jakarta', - 62718 => 'Asia/Jakarta', - 62719 => 'Asia/Jakarta', - 62721 => 'Asia/Jakarta', - 62722 => 'Asia/Jakarta', - 62723 => 'Asia/Jakarta', - 62724 => 'Asia/Jakarta', - 62725 => 'Asia/Jakarta', - 62726 => 'Asia/Jakarta', - 62727 => 'Asia/Jakarta', - 62728 => 'Asia/Jakarta', - 62729 => 'Asia/Jakarta', - 6273 => 'Asia/Jakarta', - 62741 => 'Asia/Jakarta', - 62742 => 'Asia/Jakarta', - 62743 => 'Asia/Jakarta', - 62744 => 'Asia/Jakarta', - 62745 => 'Asia/Jakarta', - 62746 => 'Asia/Jakarta', - 62747 => 'Asia/Jakarta', - 62748 => 'Asia/Jakarta', - 62751 => 'Asia/Jakarta', - 62752 => 'Asia/Jakarta', - 62753 => 'Asia/Jakarta', - 62754 => 'Asia/Jakarta', - 62755 => 'Asia/Jakarta', - 62756 => 'Asia/Jakarta', - 62757 => 'Asia/Jakarta', - 62758 => 'Asia/Jakarta', - 62759 => 'Asia/Jakarta', - 6276 => 'Asia/Jakarta', - 62770 => 'Asia/Jakarta', - 62771 => 'Asia/Jakarta', - 62772 => 'Asia/Jakarta', - 62773 => 'Asia/Jakarta', - 62776 => 'Asia/Jakarta', - 62777 => 'Asia/Jakarta', - 62778 => 'Asia/Jakarta', - 62779 => 'Asia/Jakarta', - 62810 => 'Asia/Jakarta', + 6254 => 'Asia/Makassar', + 6255 => 'Asia/Makassar', + 6256 => 'Asia/Jakarta', + 626 => 'Asia/Jakarta', + 627 => 'Asia/Jakarta', + 6281 => 'Asia/Jakarta', 62811 => 'Asia/Jakarta&Asia/Makassar', - 62812 => 'Asia/Jakarta', - 62813 => 'Asia/Jakarta', - 62814 => 'Asia/Jakarta', - 62815 => 'Asia/Jakarta', - 62816 => 'Asia/Jakarta', - 62817 => 'Asia/Jakarta', 62818 => 'Asia/Jakarta&Asia/Makassar', 62819 => 'Asia/Jakarta&Asia/Makassar', - 62820 => 'Asia/Jakarta', - 62821 => 'Asia/Jakarta', - 62822 => 'Asia/Jakarta', - 62823 => 'Asia/Jakarta', + 6282 => 'Asia/Jakarta', 62824 => 'Asia/Jakarta&Asia/Makassar', - 62825 => 'Asia/Jakarta', - 62826 => 'Asia/Jakarta', - 62827 => 'Asia/Jakarta', - 62828 => 'Asia/Jakarta', 62829 => 'Asia/Jakarta&Asia/Makassar', - 62830 => 'Asia/Jakarta', + 6283 => 'Asia/Jakarta', 62831 => 'Asia/Jakarta&Asia/Makassar', - 62832 => 'Asia/Jakarta', 62833 => 'Asia/Jakarta&Asia/Makassar', 62834 => 'Asia/Jakarta&Asia/Makassar', - 62835 => 'Asia/Jakarta', - 62836 => 'Asia/Jakarta', - 62837 => 'Asia/Jakarta', - 62838 => 'Asia/Jakarta', 62839 => 'Asia/Jakarta&Asia/Makassar', - 62850 => 'Asia/Jakarta', - 62851 => 'Asia/Jakarta', - 62852 => 'Asia/Jakarta', + 6285 => 'Asia/Jakarta', 62853 => 'Asia/Jakarta&Asia/Makassar', - 62854 => 'Asia/Jakarta', - 62855 => 'Asia/Jakarta', - 62856 => 'Asia/Jakarta', - 62857 => 'Asia/Jakarta', - 62858 => 'Asia/Jakarta', - 62859 => 'Asia/Jakarta', - 62860 => 'Asia/Jakarta', - 62861 => 'Asia/Jakarta', - 62862 => 'Asia/Jakarta', - 62863 => 'Asia/Jakarta', - 62864 => 'Asia/Jakarta', - 62865 => 'Asia/Jakarta', - 62866 => 'Asia/Jakarta', - 62867 => 'Asia/Jakarta', + 6286 => 'Asia/Jakarta', 62868 => 'Asia/Jakarta&Asia/Makassar', - 62869 => 'Asia/Jakarta', - 62870 => 'Asia/Jakarta', - 62871 => 'Asia/Jakarta', - 62872 => 'Asia/Jakarta', - 62873 => 'Asia/Jakarta', - 62874 => 'Asia/Jakarta', - 62875 => 'Asia/Jakarta', + 6287 => 'Asia/Jakarta', 62876 => 'Asia/Jakarta&Asia/Makassar', - 62877 => 'Asia/Jakarta', - 62878 => 'Asia/Jakarta', - 62879 => 'Asia/Jakarta', - 62880 => 'Asia/Jakarta', - 62881 => 'Asia/Jakarta', - 62882 => 'Asia/Jakarta', - 62883 => 'Asia/Jakarta', - 62884 => 'Asia/Jakarta', - 62885 => 'Asia/Jakarta', - 62886 => 'Asia/Jakarta', + 6288 => 'Asia/Jakarta', 62887 => 'Asia/Jakarta&Asia/Makassar', - 62888 => 'Asia/Jakarta', - 62889 => 'Asia/Jakarta', 6289 => 'Asia/Jakarta', - 62901 => 'Asia/Jayapura', - 62902 => 'Asia/Jayapura', - 62910 => 'Asia/Jayapura', - 62911 => 'Asia/Jayapura', - 62913 => 'Asia/Jayapura', - 62914 => 'Asia/Jayapura', + 6290 => 'Asia/Jayapura', + 6291 => 'Asia/Jayapura', 62915 => 'Asia/Jakarta&Asia/Jayapura', - 62916 => 'Asia/Jayapura', - 62917 => 'Asia/Jayapura', - 62918 => 'Asia/Jayapura', + 6292 => 'Asia/Jayapura', 62920 => 'Asia/Jakarta', - 62921 => 'Asia/Jayapura', - 62922 => 'Asia/Jayapura', - 62923 => 'Asia/Jayapura', - 62924 => 'Asia/Jayapura', - 62927 => 'Asia/Jayapura', - 62929 => 'Asia/Jayapura', 62951 => 'Asia/Jayapura', 62952 => 'Asia/Jakarta&Asia/Jayapura', 62955 => 'Asia/Jayapura', @@ -5720,11 +4173,7 @@ return array ( 62971 => 'Asia/Jayapura', 62975 => 'Asia/Jayapura', 62979 => 'Asia/Jakarta', - 62980 => 'Asia/Jayapura', - 62981 => 'Asia/Jayapura', - 62983 => 'Asia/Jayapura', - 62984 => 'Asia/Jayapura', - 62986 => 'Asia/Jayapura', + 6298 => 'Asia/Jayapura', 63 => 'Asia/Manila', 64 => 'Pacific/Auckland&Pacific/Chatham', 643 => 'Pacific/Auckland', @@ -5754,24 +4203,14 @@ return array ( 688 => 'Pacific/Funafuti', 689 => 'Pacific/Gambier&Pacific/Marquesas&Pacific/Tahiti', 6894 => 'Pacific/Tahiti', - 6895 => 'Pacific/Tahiti', - 6896 => 'Pacific/Tahiti', - 6898 => 'Pacific/Tahiti', - 68990 => 'Pacific/Tahiti', - 68991 => 'Pacific/Marquesas', - 68992 => 'Pacific/Marquesas', - 68993 => 'Pacific/Tahiti', - 68994 => 'Pacific/Tahiti', - 68995 => 'Pacific/Tahiti', - 68996 => 'Pacific/Tahiti', - 68997 => 'Pacific/Gambier', - 68998 => 'Pacific/Tahiti', + 68987 => 'Pacific/Gambier&Pacific/Marquesas&Pacific/Tahiti', + 68989 => 'Pacific/Tahiti', 690 => 'Pacific/Fakaofo', 691 => 'Pacific/Kosrae&Pacific/Ponape&Pacific/Truk', - 691320 => 'Pacific/Ponape', - 691330 => 'Pacific/Truk', - 691350 => 'Pacific/Truk', - 691370 => 'Pacific/Kosrae', + 69132 => 'Pacific/Ponape', + 69133 => 'Pacific/Truk', + 69135 => 'Pacific/Truk', + 69137 => 'Pacific/Kosrae', 691920 => 'Pacific/Ponape', 691921 => 'Pacific/Ponape', 691924 => 'Pacific/Ponape', @@ -5781,18 +4220,11 @@ return array ( 7 => 'Asia/Almaty&Asia/Anadyr&Asia/Aqtobe&Asia/Irkutsk&Asia/Kamchatka&Asia/Krasnoyarsk&Asia/Magadan&Asia/Novosibirsk&Asia/Omsk&Asia/Sakhalin&Asia/Vladivostok&Asia/Yakutsk&Asia/Yekaterinburg&Europe/Bucharest&Europe/Moscow&Europe/Samara', 7301 => 'Asia/Irkutsk', 7302 => 'Asia/Yakutsk', - 7336 => 'Asia/Almaty', + 733 => 'Asia/Almaty', + 734 => 'Asia/Yekaterinburg', 7341 => 'Europe/Samara', - 7342 => 'Asia/Yekaterinburg', - 7343 => 'Asia/Yekaterinburg', - 7345 => 'Asia/Yekaterinburg', - 7346 => 'Asia/Yekaterinburg', - 7347 => 'Asia/Yekaterinburg', - 7349 => 'Asia/Yekaterinburg', - 7351 => 'Asia/Yekaterinburg', - 7352 => 'Asia/Yekaterinburg', - 7353 => 'Asia/Yekaterinburg', - 7365 => 'Europe/Moscow', + 735 => 'Asia/Yekaterinburg', + 736 => 'Europe/Moscow', 7381 => 'Asia/Omsk', 7382 => 'Asia/Novosibirsk', 7383 => 'Asia/Novosibirsk', @@ -5803,69 +4235,28 @@ return array ( 7391 => 'Asia/Krasnoyarsk', 7394 => 'Asia/Krasnoyarsk', 7395 => 'Asia/Irkutsk', - 7401 => 'Europe/Bucharest', + 740 => 'Europe/Bucharest', 7411 => 'Asia/Yakutsk', 7413 => 'Asia/Magadan', 7415 => 'Asia/Kamchatka', 7416 => 'Asia/Yakutsk', 7421 => 'Asia/Vladivostok', 7423 => 'Asia/Vladivostok', - 7424 => 'Asia/Magadan', + 7424 => 'Asia/Sakhalin', 7426 => 'Asia/Vladivostok', 7427 => 'Asia/Anadyr', - 7471 => 'Europe/Moscow', - 7472 => 'Europe/Moscow', - 7473 => 'Europe/Moscow', - 7474 => 'Europe/Moscow', - 7475 => 'Europe/Moscow', - 7481 => 'Europe/Moscow', - 7482 => 'Europe/Moscow', - 7483 => 'Europe/Moscow', - 7484 => 'Europe/Moscow', - 7485 => 'Europe/Moscow', - 7486 => 'Europe/Moscow', - 7487 => 'Europe/Moscow', - 7491 => 'Europe/Moscow', - 7492 => 'Europe/Moscow', - 7493 => 'Europe/Moscow', - 7494 => 'Europe/Moscow', - 7495 => 'Europe/Moscow', - 7496 => 'Europe/Moscow', - 7498 => 'Europe/Moscow', - 7499 => 'Europe/Moscow', - 7710 => 'Asia/Almaty', + 747 => 'Europe/Moscow', + 748 => 'Europe/Moscow', + 749 => 'Europe/Moscow', + 771 => 'Asia/Almaty', 7711 => 'Asia/Aqtobe', 7712 => 'Asia/Aqtobe', 7713 => 'Asia/Aqtobe', - 7714 => 'Asia/Almaty', - 7715 => 'Asia/Almaty', - 7716 => 'Asia/Almaty', - 7717 => 'Asia/Almaty', - 7718 => 'Asia/Almaty', - 7721 => 'Asia/Almaty', - 7722 => 'Asia/Almaty', - 7723 => 'Asia/Almaty', - 7724 => 'Asia/Almaty', - 7725 => 'Asia/Almaty', - 7726 => 'Asia/Almaty', - 7727 => 'Asia/Almaty', - 7728 => 'Asia/Almaty', + 772 => 'Asia/Almaty', 7729 => 'Asia/Aqtobe', - 7811 => 'Europe/Moscow', - 7812 => 'Europe/Moscow', - 7813 => 'Europe/Moscow', - 7814 => 'Europe/Moscow', - 7815 => 'Europe/Moscow', - 7816 => 'Europe/Moscow', - 7817 => 'Europe/Moscow', - 7818 => 'Europe/Moscow', - 7820 => 'Europe/Moscow', - 7821 => 'Europe/Moscow', - 7831 => 'Europe/Moscow', - 7833 => 'Europe/Moscow', - 7834 => 'Europe/Moscow', - 7835 => 'Europe/Moscow', - 7836 => 'Europe/Moscow', + 781 => 'Europe/Moscow', + 782 => 'Europe/Moscow', + 783 => 'Europe/Moscow', 7840 => 'Europe/Bucharest&Europe/Moscow', 7841 => 'Europe/Moscow', 7842 => 'Europe/Samara', @@ -5877,19 +4268,8 @@ return array ( 7848 => 'Europe/Samara', 7851 => 'Europe/Samara', 7855 => 'Europe/Moscow', - 7861 => 'Europe/Moscow', - 7862 => 'Europe/Moscow', - 7863 => 'Europe/Moscow', - 7865 => 'Europe/Moscow', - 7866 => 'Europe/Moscow', - 7867 => 'Europe/Moscow', - 7869 => 'Europe/Moscow', - 7871 => 'Europe/Moscow', - 7872 => 'Europe/Moscow', - 7873 => 'Europe/Moscow', - 7877 => 'Europe/Moscow', - 7878 => 'Europe/Moscow', - 7879 => 'Europe/Moscow', + 786 => 'Europe/Moscow', + 787 => 'Europe/Moscow', 81 => 'Asia/Tokyo', 82 => 'Asia/Seoul', 84 => 'Asia/Bangkok', @@ -6117,7 +4497,6 @@ return array ( 97614 => 'Asia/Hovd', 97615 => 'Asia/Ulaanbaatar', 976158 => 'Asia/Choibalsan', - 9761582 => 'Asia/Ulaanbaatar', 97621 => 'Asia/Ulaanbaatar', 97622 => 'Asia/Ulaanbaatar', 97623 => 'Asia/Ulaanbaatar', diff --git a/vendor/giggsey/locale/.travis.yml b/vendor/giggsey/locale/.travis.yml index d5348bf3d..a7d50e277 100644 --- a/vendor/giggsey/locale/.travis.yml +++ b/vendor/giggsey/locale/.travis.yml @@ -15,9 +15,7 @@ matrix: - php: 7.0 - php: 7.1 - php: 7.2 - # Use the newer stack for HHVM as HHVM does not support Precise - - php: hhvm - dist: trusty + - php: 7.3 before_script: - travis_retry composer update --no-interaction $COMPOSER_FLAGS diff --git a/vendor/giggsey/locale/CLDR-VERSION.txt b/vendor/giggsey/locale/CLDR-VERSION.txt index 78e619a5d..e04f730ba 100644 --- a/vendor/giggsey/locale/CLDR-VERSION.txt +++ b/vendor/giggsey/locale/CLDR-VERSION.txt @@ -4,4 +4,4 @@ # It can be a commit, branch or tag of https://github.com/unicode-cldr/cldr-localenames-full # # For more information, look at build.xml -33.0.0 +34.0.0 diff --git a/vendor/giggsey/locale/data/_list.php b/vendor/giggsey/locale/data/_list.php index 0faf5bea6..c622ca632 100644 --- a/vendor/giggsey/locale/data/_list.php +++ b/vendor/giggsey/locale/data/_list.php @@ -1,6 +1,6 @@ '', 'hu' => '', 'hy' => '', + 'ia' => '', 'id' => '', 'ig' => '', 'ii' => '', @@ -120,6 +121,7 @@ return array ( 'ja' => '', 'jgo' => '', 'jmc' => '', + 'jv' => '', 'ka' => '', 'kab' => '', 'kam' => '', @@ -140,6 +142,7 @@ return array ( 'ksb' => '', 'ksf' => '', 'ksh' => '', + 'ku' => '', 'kw' => '', 'ky' => '', 'lag' => '', @@ -160,6 +163,7 @@ return array ( 'mg' => '', 'mgh' => '', 'mgo' => '', + 'mi' => '', 'mk' => '', 'ml' => '', 'mn' => '', @@ -263,6 +267,7 @@ return array ( 'vun' => '', 'wae' => '', 'wo' => '', + 'xh' => '', 'xog' => '', 'yav' => '', 'yi' => '', diff --git a/vendor/giggsey/locale/data/_version.php b/vendor/giggsey/locale/data/_version.php index 0534956c5..fec4e2da5 100644 --- a/vendor/giggsey/locale/data/_version.php +++ b/vendor/giggsey/locale/data/_version.php @@ -1,6 +1,6 @@ 'ኩባ', 'CV' => 'ኬፕ ቬርዴ', 'CW' => 'ኩራሳዎ', - 'CX' => 'የገና ደሴት', + 'CX' => 'ክሪስማስ ደሴት', 'CY' => 'ሳይፕረስ', - 'CZ' => 'ቼችኒያ', + 'CZ' => 'ቼቺያ', 'DE' => 'ጀርመን', 'DG' => 'ዲዬጎ ጋርሺያ', 'DJ' => 'ጂቡቲ', @@ -233,7 +233,7 @@ return array ( 'TH' => 'ታይላንድ', 'TJ' => 'ታጃኪስታን', 'TK' => 'ቶክላው', - 'TL' => 'ምስራቅ ሌስት', + 'TL' => 'ቲሞር ሌስቴ', 'TM' => 'ቱርክሜኒስታን', 'TN' => 'ቱኒዚያ', 'TO' => 'ቶንጋ', diff --git a/vendor/giggsey/locale/data/ar-ly.php b/vendor/giggsey/locale/data/ar-ly.php index ed1966c21..4ac73db7e 100644 --- a/vendor/giggsey/locale/data/ar-ly.php +++ b/vendor/giggsey/locale/data/ar-ly.php @@ -1,6 +1,6 @@ 'سبتة ومليلية', 'MO' => 'ماكاو الصينية (منطقة إدارية خاصة)', 'MS' => 'مونتيسيرات', - 'PM' => 'سان بيير وميكولون', 'UY' => 'أوروغواي', ); diff --git a/vendor/giggsey/locale/data/ar.php b/vendor/giggsey/locale/data/ar.php index 2633ec7b0..6043854bb 100644 --- a/vendor/giggsey/locale/data/ar.php +++ b/vendor/giggsey/locale/data/ar.php @@ -1,6 +1,6 @@ 'تايلاند', 'TJ' => 'طاجيكستان', 'TK' => 'توكيلو', - 'TL' => 'تيمور- ليشتي', + 'TL' => 'تيمور - ليشتي', 'TM' => 'تركمانستان', 'TN' => 'تونس', 'TO' => 'تونغا', diff --git a/vendor/giggsey/locale/data/as.php b/vendor/giggsey/locale/data/as.php index b85581053..e294eab03 100644 --- a/vendor/giggsey/locale/data/as.php +++ b/vendor/giggsey/locale/data/as.php @@ -1,6 +1,6 @@ 'Боливия', 'BQ' => 'Карибска Нидерландия', 'BR' => 'Бразилия', - 'BS' => 'Бахами', + 'BS' => 'Бахамски острови', 'BT' => 'Бутан', 'BW' => 'Ботсвана', 'BY' => 'Беларус', @@ -83,7 +83,7 @@ return array ( 'ET' => 'Етиопия', 'FI' => 'Финландия', 'FJ' => 'Фиджи', - 'FK' => 'Фолклендски острови', + 'FK' => 'Фолкландски острови', 'FM' => 'Микронезия', 'FO' => 'Фарьорски острови', 'FR' => 'Франция', diff --git a/vendor/giggsey/locale/data/bm.php b/vendor/giggsey/locale/data/bm.php index 2cb37ec8b..605393208 100644 --- a/vendor/giggsey/locale/data/bm.php +++ b/vendor/giggsey/locale/data/bm.php @@ -1,6 +1,6 @@ 'মলডোভা', 'UM' => 'মার্কিন যুক্তরাষ্ট্রের পার্শ্ববর্তী দ্বীপপুঞ্জ', ); diff --git a/vendor/giggsey/locale/data/bn.php b/vendor/giggsey/locale/data/bn.php index 14d82d655..f8de9c7c6 100644 --- a/vendor/giggsey/locale/data/bn.php +++ b/vendor/giggsey/locale/data/bn.php @@ -1,6 +1,6 @@ 'লিবিয়া', 'MA' => 'মোরক্কো', 'MC' => 'মোনাকো', - 'MD' => 'মোল্দাভিয়া', + 'MD' => 'মলডোভা', 'ME' => 'মন্টিনিগ্রো', 'MF' => 'সেন্ট মার্টিন', 'MG' => 'মাদাগাস্কার', diff --git a/vendor/giggsey/locale/data/bo.php b/vendor/giggsey/locale/data/bo.php index 80bb69557..34d8f3623 100644 --- a/vendor/giggsey/locale/data/bo.php +++ b/vendor/giggsey/locale/data/bo.php @@ -1,6 +1,6 @@ 'ᏘᎼᎵ-ᎴᏍᏖ', 'TM' => 'ᏛᎵᎩᎺᏂᏍᏔᏂ', 'TN' => 'ᏚᏂᏏᏍᎠ', - 'TO' => 'ᏔᏂᎪ', + 'TO' => 'ᏙᎾᎦ', 'TR' => 'ᎬᏃ', 'TT' => 'ᏟᏂᏕᏗ ᎠᎴ ᏙᏆᎪ', 'TV' => 'ᏚᏩᎷ', diff --git a/vendor/giggsey/locale/data/ckb.php b/vendor/giggsey/locale/data/ckb.php index 990e26aea..3b20afb25 100644 --- a/vendor/giggsey/locale/data/ckb.php +++ b/vendor/giggsey/locale/data/ckb.php @@ -1,6 +1,6 @@ 'دوورگەی ئاسینسیۆن', 'AD' => 'ئاندۆرا', 'AE' => 'میرنشینە یەکگرتووە عەرەبییەکان', 'AF' => 'ئەفغانستان', 'AG' => 'ئانتیگوا و باربودا', + 'AI' => 'ئانگویلا', 'AL' => 'ئەڵبانیا', 'AM' => 'ئەرمەنستان', 'AO' => 'ئەنگۆلا', @@ -23,6 +25,7 @@ return array ( 'AT' => 'نەمسا', 'AU' => 'ئوسترالیا', 'AW' => 'ئارووبا', + 'AX' => 'دوورگەکانی ئالاند', 'AZ' => 'ئازەربایجان', 'BA' => 'بۆسنیا و ھەرزەگۆڤینا', 'BB' => 'باربادۆس', @@ -33,18 +36,25 @@ return array ( 'BH' => 'بەحرەین', 'BI' => 'بوروندی', 'BJ' => 'بێنین', + 'BL' => 'سەن بارتێلێمی', + 'BM' => 'بێرموودا', + 'BN' => 'بروونای', 'BO' => 'بۆلیڤیا', + 'BQ' => 'دوورگە کاریبیەکانی هۆڵەندا', 'BR' => 'برازیل', 'BS' => 'بەھاما', 'BT' => 'بووتان', 'BW' => 'بۆتسوانا', 'BY' => 'بیلاڕووس', 'BZ' => 'بەلیز', - 'CA' => 'کانەدا', + 'CA' => 'کەنەدا', + 'CC' => 'دوورگەکانی کیلینگ', 'CD' => 'کۆنگۆ کینشاسا', 'CF' => 'کۆماری ئەفریقای ناوەڕاست', - 'CH' => 'سویسرا', + 'CG' => 'کۆنگۆ برازاڤیل', + 'CH' => 'سویسڕا', 'CI' => 'کۆتدیڤوار', + 'CK' => 'دوورگەکانی کوک', 'CL' => 'چیلی', 'CM' => 'کامیرۆن', 'CN' => 'چین', @@ -52,61 +62,84 @@ return array ( 'CR' => 'کۆستاریکا', 'CU' => 'کووبا', 'CV' => 'کەیپڤەرد', + 'CW' => 'کوراچاو', + 'CX' => 'دوورگەی کریسمس', 'CY' => 'قیبرس', 'CZ' => 'کۆماری چیک', 'DE' => 'ئەڵمانیا', + 'DG' => 'دیەگۆ گارسیا', 'DJ' => 'جیبووتی', 'DK' => 'دانمارک', 'DM' => 'دۆمینیکا', + 'DO' => 'کۆماری دۆمینیکا', 'DZ' => 'جەزایر', + 'EA' => 'سێئووتا و مێلییا', 'EC' => 'ئیکوادۆر', + 'EE' => 'ئیستۆنیا', 'EG' => 'میسر', + 'EH' => 'سەحرای ڕۆژاوا', 'ER' => 'ئەریتریا', 'ES' => 'ئیسپانیا', 'ET' => 'ئەتیۆپیا', 'FI' => 'فینلاند', 'FJ' => 'فیجی', + 'FK' => 'دوورگەکانی مالڤیناس', 'FM' => 'مایکرۆنیزیا', + 'FO' => 'دوورگەکانی فارەو', 'FR' => 'فەڕەنسا', 'GA' => 'گابۆن', 'GB' => 'شانشینی یەکگرتوو', 'GD' => 'گرینادا', 'GE' => 'گورجستان', + 'GF' => 'گیانای فەرەنسا', + 'GG' => 'گێرنزی', 'GH' => 'غەنا', + 'GI' => 'گیبرالتار', 'GL' => 'گرینلاند', 'GM' => 'گامبیا', 'GN' => 'گینێ', + 'GP' => 'گوادێلۆپ', + 'GQ' => 'گینێی ئیستوایی', 'GR' => 'یۆنان', + 'GS' => 'دوورگەکانی جۆرجیا و ساندویچی باشوور', 'GT' => 'گواتیمالا', 'GU' => 'گوام', 'GW' => 'گینێ بیساو', 'GY' => 'گویانا', + 'HK' => 'هۆنگ کۆنگ', 'HN' => 'ھۆندووراس', 'HR' => 'کرۆواتیا', 'HT' => 'ھایتی', - 'HU' => 'مەجارستان', + 'HU' => 'هەنگاریا', + 'IC' => 'دوورگەکانی کەناری', 'ID' => 'ئیندۆنیزیا', 'IE' => 'ئیرلەند', 'IL' => 'ئیسرائیل', + 'IM' => 'دوورگەی مان', 'IN' => 'ھیندستان', + 'IO' => 'ھەرێمی بەریتانی لە ئۆقیانووسی ھیند', 'IQ' => 'عێراق', 'IR' => 'ئێران', 'IS' => 'ئایسلەند', - 'IT' => 'ئیتاڵی', + 'IT' => 'ئیتالیا', + 'JE' => 'جێرسی', 'JM' => 'جامایکا', 'JO' => 'ئوردن', 'JP' => 'ژاپۆن', + 'KE' => 'کینیا', 'KG' => 'قرغیزستان', 'KH' => 'کەمبۆدیا', 'KI' => 'کیریباس', 'KM' => 'دوورگەکانی کۆمۆر', - 'KN' => 'سەینت کیتس و نیڤیس', + 'KN' => 'سەن کیتس و نیڤیس', 'KP' => 'کۆریای باکوور', + 'KR' => 'کۆریای باشوور', 'KW' => 'کوەیت', + 'KY' => 'دوورگەکانی کایمان', 'KZ' => 'کازاخستان', 'LA' => 'لاوس', 'LB' => 'لوبنان', - 'LC' => 'سەینت لووسیا', + 'LC' => 'سەن لووسیا', 'LI' => 'لیختنشتاین', 'LK' => 'سریلانکا', 'LR' => 'لیبەریا', @@ -119,37 +152,54 @@ return array ( 'MC' => 'مۆناکۆ', 'MD' => 'مۆلدۆڤا', 'ME' => 'مۆنتینیگرۆ', + 'MF' => 'سەن مارتین', 'MG' => 'ماداگاسکار', 'MH' => 'دوورگەکانی مارشاڵ', + 'MK' => 'ماکەدۆنیا', 'ML' => 'مالی', 'MM' => 'میانمار', 'MN' => 'مەنگۆلیا', + 'MO' => 'ماکائۆ', + 'MP' => 'دوورگەکانی ماریانای باکوور', + 'MQ' => 'مارتینیک', 'MR' => 'مۆریتانیا', + 'MS' => 'مۆنتسێرات', 'MT' => 'ماڵتا', + 'MU' => 'مووریتیووس', 'MV' => 'مالدیڤ', 'MW' => 'مالاوی', 'MX' => 'مەکسیک', 'MY' => 'مالیزیا', 'MZ' => 'مۆزامبیک', 'NA' => 'نامیبیا', + 'NC' => 'نیووکالێدۆنیا', 'NE' => 'نیجەر', + 'NF' => 'دوورگەی نۆرفۆڵک', + 'NG' => 'نیجریا', 'NI' => 'نیکاراگوا', 'NL' => 'ھۆڵەندا', 'NO' => 'نۆرویژ', 'NP' => 'نیپال', 'NR' => 'نائوروو', + 'NU' => 'نیووئی', 'NZ' => 'نیوزیلاند', 'OM' => 'عومان', 'PA' => 'پاناما', - 'PE' => 'پیروو', + 'PE' => 'پێروو', + 'PF' => 'پۆلینیسیای فەرەنسا', 'PG' => 'پاپوا گینێی نوێ', 'PH' => 'فلیپین', 'PK' => 'پاکستان', 'PL' => 'پۆڵەندا', + 'PM' => 'سەن پیێر و میکێلۆن', + 'PN' => 'دوورگەکانی پیتکەرن', + 'PR' => 'پۆرتۆڕیکۆ', + 'PS' => 'ناوچە فەلەستینیەکان', 'PT' => 'پورتوگال', 'PW' => 'پالاو', 'PY' => 'پاراگوای', 'QA' => 'قەتەر', + 'RE' => 'ڕییوونیەن', 'RO' => 'ڕۆمانیا', 'RS' => 'سربیا', 'RU' => 'ڕووسیا', @@ -160,21 +210,30 @@ return array ( 'SD' => 'سوودان', 'SE' => 'سوید', 'SG' => 'سینگاپور', + 'SH' => 'سەن هێلێنا', 'SI' => 'سلۆڤێنیا', + 'SJ' => 'سڤالبارد و یان مایەن', 'SK' => 'سلۆڤاکیا', 'SL' => 'سیەرالیۆن', 'SM' => 'سان مارینۆ', - 'SN' => 'سینیگال', + 'SN' => 'سێنێگاڵ', 'SO' => 'سۆمالیا', 'SR' => 'سورینام', + 'SS' => 'سوودانی باشوور', 'ST' => 'ساوتۆمێ و پرینسیپی', 'SV' => 'ئێلسالڤادۆر', + 'SX' => 'سینت مارتن', 'SY' => 'سووریا', 'SZ' => 'سوازیلاند', + 'TA' => 'تریستێن دا کوونا', + 'TC' => 'دوورگەکانی تورکس و کایکۆس', 'TD' => 'چاد', + 'TF' => 'هەرێمە باشووریەکانی فەرەنسا', 'TG' => 'تۆگۆ', 'TH' => 'تایلەند', 'TJ' => 'تاجیکستان', + 'TK' => 'تۆکێلاو', + 'TL' => 'تیمۆری ڕۆژھەڵات', 'TM' => 'تورکمانستان', 'TN' => 'توونس', 'TO' => 'تۆنگا', @@ -185,15 +244,22 @@ return array ( 'TZ' => 'تانزانیا', 'UA' => 'ئۆکرانیا', 'UG' => 'ئوگاندا', + 'UM' => 'دوورگەکانی دەرەوەی ئەمریکا', 'US' => 'ویلایەتە یەکگرتووەکان', 'UY' => 'ئوروگوای', 'UZ' => 'ئوزبەکستان', 'VA' => 'ڤاتیکان', 'VC' => 'سەینت ڤینسەنت و گرینادینز', + 'VE' => 'ڤەنزوێلا', + 'VG' => 'دوورگەکانی ڤیرجنی بەریتانیا', + 'VI' => 'دوورگەکانی ڤیرجنی ئەمەریکا', 'VN' => 'ڤیەتنام', 'VU' => 'ڤانوواتوو', + 'WF' => 'والیس و فوتونا', 'WS' => 'ساموا', + 'XK' => 'کۆسۆڤۆ', 'YE' => 'یەمەن', + 'YT' => 'مایۆت', 'ZA' => 'ئەفریقای باشوور', 'ZM' => 'زامبیا', 'ZW' => 'زیمبابوی', diff --git a/vendor/giggsey/locale/data/cs.php b/vendor/giggsey/locale/data/cs.php index 84dcbe17b..828f726ab 100644 --- a/vendor/giggsey/locale/data/cs.php +++ b/vendor/giggsey/locale/data/cs.php @@ -1,6 +1,6 @@ 'Guam', 'GW' => 'Guiné-Bissau', 'GY' => 'Guyana', - 'HK' => 'Hong Kong RhGA Tsieina', + 'HK' => 'Hong Kong SAR Tseina', 'HN' => 'Honduras', 'HR' => 'Croatia', 'HT' => 'Haiti', diff --git a/vendor/giggsey/locale/data/da.php b/vendor/giggsey/locale/data/da.php index 0101cc9a9..43fb12362 100644 --- a/vendor/giggsey/locale/data/da.php +++ b/vendor/giggsey/locale/data/da.php @@ -1,6 +1,6 @@ 'Tristan da Cunha', 'TC' => 'Turks- og Caicosøerne', 'TD' => 'Tchad', - 'TF' => 'De franske besiddelser i Det Sydlige Indiske Ocean', + 'TF' => 'De Franske Besiddelser i Det Sydlige Indiske Ocean', 'TG' => 'Togo', 'TH' => 'Thailand', 'TJ' => 'Tadsjikistan', diff --git a/vendor/giggsey/locale/data/dav.php b/vendor/giggsey/locale/data/dav.php index aaa250822..fbc093e81 100644 --- a/vendor/giggsey/locale/data/dav.php +++ b/vendor/giggsey/locale/data/dav.php @@ -1,6 +1,6 @@ 'Τριστάν ντα Κούνια', 'TC' => 'Νήσοι Τερκς και Κάικος', 'TD' => 'Τσαντ', - 'TF' => 'Γαλλικές περιοχές του νοτίου ημισφαιρίου', + 'TF' => 'Γαλλικά Νότια Εδάφη', 'TG' => 'Τόγκο', 'TH' => 'Ταϊλάνδη', 'TJ' => 'Τατζικιστάν', @@ -255,7 +255,7 @@ return array ( 'VI' => 'Αμερικανικές Παρθένες Νήσοι', 'VN' => 'Βιετνάμ', 'VU' => 'Βανουάτου', - 'WF' => 'Ουάλις και Φουτούνα', + 'WF' => 'Γουάλις και Φουτούνα', 'WS' => 'Σαμόα', 'XK' => 'Κοσσυφοπέδιο', 'YE' => 'Υεμένη', diff --git a/vendor/giggsey/locale/data/en-gb.php b/vendor/giggsey/locale/data/en-gb.php index 0519f0be8..e4b00fab6 100644 --- a/vendor/giggsey/locale/data/en-gb.php +++ b/vendor/giggsey/locale/data/en-gb.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-bo.php b/vendor/giggsey/locale/data/es-bo.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-bo.php +++ b/vendor/giggsey/locale/data/es-bo.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-br.php b/vendor/giggsey/locale/data/es-br.php index 82871289b..7070c54fc 100644 --- a/vendor/giggsey/locale/data/es-br.php +++ b/vendor/giggsey/locale/data/es-br.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-bz.php b/vendor/giggsey/locale/data/es-bz.php index 82871289b..7070c54fc 100644 --- a/vendor/giggsey/locale/data/es-bz.php +++ b/vendor/giggsey/locale/data/es-bz.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-cl.php b/vendor/giggsey/locale/data/es-cl.php index 04e3cc8e1..82aab84ed 100644 --- a/vendor/giggsey/locale/data/es-cl.php +++ b/vendor/giggsey/locale/data/es-cl.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'EH' => 'Sahara Occidental', 'GG' => 'Guernesey', diff --git a/vendor/giggsey/locale/data/es-co.php b/vendor/giggsey/locale/data/es-co.php index faba54c03..0e9f2e4cc 100644 --- a/vendor/giggsey/locale/data/es-co.php +++ b/vendor/giggsey/locale/data/es-co.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-cr.php b/vendor/giggsey/locale/data/es-cr.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-cr.php +++ b/vendor/giggsey/locale/data/es-cr.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-cu.php b/vendor/giggsey/locale/data/es-cu.php index 82871289b..7070c54fc 100644 --- a/vendor/giggsey/locale/data/es-cu.php +++ b/vendor/giggsey/locale/data/es-cu.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-do.php b/vendor/giggsey/locale/data/es-do.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-do.php +++ b/vendor/giggsey/locale/data/es-do.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-ec.php b/vendor/giggsey/locale/data/es-ec.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-ec.php +++ b/vendor/giggsey/locale/data/es-ec.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-gt.php b/vendor/giggsey/locale/data/es-gt.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-gt.php +++ b/vendor/giggsey/locale/data/es-gt.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-hn.php b/vendor/giggsey/locale/data/es-hn.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-hn.php +++ b/vendor/giggsey/locale/data/es-hn.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-mx.php b/vendor/giggsey/locale/data/es-mx.php index 2b1da54b5..0b34b9b9f 100644 --- a/vendor/giggsey/locale/data/es-mx.php +++ b/vendor/giggsey/locale/data/es-mx.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'IC' => 'Islas Canarias', + 'SA' => 'Arabia Saudita', ); diff --git a/vendor/giggsey/locale/data/es-ni.php b/vendor/giggsey/locale/data/es-ni.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-ni.php +++ b/vendor/giggsey/locale/data/es-ni.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-pa.php b/vendor/giggsey/locale/data/es-pa.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-pa.php +++ b/vendor/giggsey/locale/data/es-pa.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-pe.php b/vendor/giggsey/locale/data/es-pe.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-pe.php +++ b/vendor/giggsey/locale/data/es-pe.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-pr.php b/vendor/giggsey/locale/data/es-pr.php index 7f35e5add..f8924211d 100644 --- a/vendor/giggsey/locale/data/es-pr.php +++ b/vendor/giggsey/locale/data/es-pr.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-py.php b/vendor/giggsey/locale/data/es-py.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-py.php +++ b/vendor/giggsey/locale/data/es-py.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-sv.php b/vendor/giggsey/locale/data/es-sv.php index 7f35e5add..f8924211d 100644 --- a/vendor/giggsey/locale/data/es-sv.php +++ b/vendor/giggsey/locale/data/es-sv.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-us.php b/vendor/giggsey/locale/data/es-us.php index 5322da27c..1032e580c 100644 --- a/vendor/giggsey/locale/data/es-us.php +++ b/vendor/giggsey/locale/data/es-us.php @@ -1,6 +1,6 @@ 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'IC' => 'Islas Canarias', 'TA' => 'Tristán da Cunha', ); diff --git a/vendor/giggsey/locale/data/es-uy.php b/vendor/giggsey/locale/data/es-uy.php index 82871289b..7070c54fc 100644 --- a/vendor/giggsey/locale/data/es-uy.php +++ b/vendor/giggsey/locale/data/es-uy.php @@ -1,6 +1,6 @@ 'Isla Ascensión', 'BA' => 'Bosnia-Herzegovina', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es-ve.php b/vendor/giggsey/locale/data/es-ve.php index 0982a73de..546884ec4 100644 --- a/vendor/giggsey/locale/data/es-ve.php +++ b/vendor/giggsey/locale/data/es-ve.php @@ -1,6 +1,6 @@ 'Isla Ascensión', + 'CG' => 'República del Congo', 'CI' => 'Costa de Marfil', 'GG' => 'Guernesey', 'IC' => 'Islas Canarias', diff --git a/vendor/giggsey/locale/data/es.php b/vendor/giggsey/locale/data/es.php index e2f84170a..c89db0ff7 100644 --- a/vendor/giggsey/locale/data/es.php +++ b/vendor/giggsey/locale/data/es.php @@ -1,6 +1,6 @@ 'Islas Cocos', 'CD' => 'República Democrática del Congo', 'CF' => 'República Centroafricana', - 'CG' => 'República del Congo', + 'CG' => 'Congo', 'CH' => 'Suiza', 'CI' => 'Côte d’Ivoire', 'CK' => 'Islas Cook', diff --git a/vendor/giggsey/locale/data/et.php b/vendor/giggsey/locale/data/et.php index 88667b73f..bd1bddfd0 100644 --- a/vendor/giggsey/locale/data/et.php +++ b/vendor/giggsey/locale/data/et.php @@ -1,6 +1,6 @@ 'Austria', 'AU' => 'Australia', 'AW' => 'Aruba', - 'AX' => 'Aland uharteak', + 'AX' => 'Åland', 'AZ' => 'Azerbaijan', 'BA' => 'Bosnia-Herzegovina', 'BB' => 'Barbados', @@ -48,7 +48,7 @@ return array ( 'BY' => 'Bielorrusia', 'BZ' => 'Belize', 'CA' => 'Kanada', - 'CC' => 'Cocos uharteak', + 'CC' => 'Cocos (Keeling) uharteak', 'CD' => 'Kongoko Errepublika Demokratikoa', 'CF' => 'Afrika Erdiko Errepublika', 'CG' => 'Kongo', @@ -83,7 +83,7 @@ return array ( 'ET' => 'Etiopia', 'FI' => 'Finlandia', 'FJ' => 'Fiji', - 'FK' => 'Malvinak', + 'FK' => 'Falklandak', 'FM' => 'Mikronesia', 'FO' => 'Faroe uharteak', 'FR' => 'Frantzia', @@ -194,7 +194,7 @@ return array ( 'PM' => 'Saint-Pierre eta Mikelune', 'PN' => 'Pitcairn uharteak', 'PR' => 'Puerto Rico', - 'PS' => 'Palestinako Lurraldeak', + 'PS' => 'Palestinar Lurralde Okupatuak', 'PT' => 'Portugal', 'PW' => 'Palau', 'PY' => 'Paraguai', diff --git a/vendor/giggsey/locale/data/ewo.php b/vendor/giggsey/locale/data/ewo.php index a6f1cdf49..c1c9949b5 100644 --- a/vendor/giggsey/locale/data/ewo.php +++ b/vendor/giggsey/locale/data/ewo.php @@ -1,6 +1,6 @@ 'انگولا', 'AQ' => 'انترکتیکا', 'AR' => 'ارجنتاین', - 'AU' => 'آسترالیا', 'BA' => 'بوسنیا و هرزه‌گوینا', 'BD' => 'بنگله‌دیش', 'BE' => 'بلجیم', @@ -32,7 +31,9 @@ return array ( 'CO' => 'کولمبیا', 'CR' => 'کاستریکا', 'CU' => 'کیوبا', + 'CZ' => 'چک', 'DK' => 'دنمارک', + 'EA' => 'سئوتا و ملیلا', 'EE' => 'استونیا', 'ER' => 'اریتریا', 'ES' => 'هسپانیه', @@ -46,6 +47,7 @@ return array ( 'GT' => 'گواتیمالا', 'GW' => 'گینیا بیسائو', 'GY' => 'گیانا', + 'HK' => 'هانگ کانگ، ناحیهٔ ویژهٔ حکومتی چین', 'HN' => 'هاندوراس', 'HR' => 'کروشیا', 'HT' => 'هایتی', @@ -54,7 +56,6 @@ return array ( 'IS' => 'آیسلند', 'JP' => 'جاپان', 'KE' => 'کینیا', - 'KG' => 'قرغزستان', 'KH' => 'کمپوچیا', 'KP' => 'کوریای شمالی', 'KR' => 'کوریای جنوبی', @@ -70,7 +71,6 @@ return array ( 'MX' => 'مکسیکو', 'MY' => 'مالیزیا', 'MZ' => 'موزمبیق', - 'NE' => 'نایجر', 'NG' => 'نیجریا', 'NI' => 'نیکاراگوا', 'NL' => 'هالند', @@ -84,17 +84,16 @@ return array ( 'PT' => 'پرتگال', 'PY' => 'پاراگوای', 'RO' => 'رومانیا', - 'RW' => 'روآندا', 'SE' => 'سویدن', 'SG' => 'سینگاپور', 'SI' => 'سلونیا', + 'SJ' => 'اسوالبارد و جان ماین', 'SK' => 'سلواکیا', 'SL' => 'سیرالیون', 'SN' => 'سینیگال', 'SO' => 'سومالیه', 'SV' => 'السلوادور', 'TJ' => 'تاجکستان', - 'UA' => 'اکراین', 'UG' => 'یوگاندا', 'UY' => 'یوروگوای', 'VC' => 'سنت وینسنت و گرنادین‌ها', diff --git a/vendor/giggsey/locale/data/fa.php b/vendor/giggsey/locale/data/fa.php index df25d379a..08b2435eb 100644 --- a/vendor/giggsey/locale/data/fa.php +++ b/vendor/giggsey/locale/data/fa.php @@ -1,6 +1,6 @@ 'گوام', 'GW' => 'گینهٔ بیسائو', 'GY' => 'گویان', - 'HK' => 'هنگ‌کنگ، ناحیهٔ ویژهٔ حکومتی چین', + 'HK' => 'هنگ‌کنگ، منطقۀ ویژۀ اداری چین', 'HN' => 'هندوراس', 'HR' => 'کرواسی', 'HT' => 'هائیتی', @@ -130,7 +130,7 @@ return array ( 'KG' => 'قرقیزستان', 'KH' => 'کامبوج', 'KI' => 'کیریباتی', - 'KM' => 'کومورو', + 'KM' => 'کومور', 'KN' => 'سنت کیتس و نویس', 'KP' => 'کرهٔ شمالی', 'KR' => 'کرهٔ جنوبی', @@ -159,7 +159,7 @@ return array ( 'ML' => 'مالی', 'MM' => 'میانمار (برمه)', 'MN' => 'مغولستان', - 'MO' => 'ماکائو، ناحیهٔ ویژهٔ حکومتی چین', + 'MO' => 'ماکائو، منطقۀ ویژۀ اداری چین', 'MP' => 'جزایر ماریانای شمالی', 'MQ' => 'مارتینیک', 'MR' => 'موریتانی', @@ -228,7 +228,7 @@ return array ( 'TA' => 'تریستان دا کونا', 'TC' => 'جزایر تورکس و کایکوس', 'TD' => 'چاد', - 'TF' => 'قلمروهای جنوبی فرانسه', + 'TF' => 'سرزمین‌های جنوب فرانسه', 'TG' => 'توگو', 'TH' => 'تایلند', 'TJ' => 'تاجیکستان', diff --git a/vendor/giggsey/locale/data/ff.php b/vendor/giggsey/locale/data/ff.php index 285626b93..9ad113c8c 100644 --- a/vendor/giggsey/locale/data/ff.php +++ b/vendor/giggsey/locale/data/ff.php @@ -1,6 +1,6 @@ 'îles Pitcairn', 'RE' => 'la Réunion', 'SX' => 'Saint-Martin (Pays-Bas)', - 'TK' => 'Tokelau', 'TL' => 'Timor-Leste', 'UM' => 'îles mineures éloignées des États-Unis', 'VA' => 'Cité du Vatican', diff --git a/vendor/giggsey/locale/data/fr.php b/vendor/giggsey/locale/data/fr.php index 79736f4a6..6618ae51c 100644 --- a/vendor/giggsey/locale/data/fr.php +++ b/vendor/giggsey/locale/data/fr.php @@ -1,6 +1,6 @@ 'Togo', 'TH' => 'Thaïlande', 'TJ' => 'Tadjikistan', - 'TK' => 'Tokélaou', + 'TK' => 'Tokelau', 'TL' => 'Timor oriental', 'TM' => 'Turkménistan', 'TN' => 'Tunisie', diff --git a/vendor/giggsey/locale/data/fur.php b/vendor/giggsey/locale/data/fur.php index 45f7e3c63..4cd54d48b 100644 --- a/vendor/giggsey/locale/data/fur.php +++ b/vendor/giggsey/locale/data/fur.php @@ -1,6 +1,6 @@ 'Curaçao', 'CX' => 'Oileán na Nollag', 'CY' => 'an Chipir', - 'CZ' => 'An tSeicia', + 'CZ' => 'an tSeicia', 'DE' => 'an Ghearmáin', 'DG' => 'Diego Garcia', 'DJ' => 'Djibouti', diff --git a/vendor/giggsey/locale/data/gd.php b/vendor/giggsey/locale/data/gd.php index e13d04148..aece8f59e 100644 --- a/vendor/giggsey/locale/data/gd.php +++ b/vendor/giggsey/locale/data/gd.php @@ -1,6 +1,6 @@ 'Saint Pierre agus Miquelon', 'PN' => 'Eileanan Pheit a’ Chàirn', 'PR' => 'Porto Rìceo', - 'PS' => 'Na Ranntairean Palastaineach', + 'PS' => 'Ùghdarras nam Palastaineach', 'PT' => 'A’ Phortagail', 'PW' => 'Palabh', 'PY' => 'Paraguaidh', diff --git a/vendor/giggsey/locale/data/gl.php b/vendor/giggsey/locale/data/gl.php index da44f4ab8..17c3159ca 100644 --- a/vendor/giggsey/locale/data/gl.php +++ b/vendor/giggsey/locale/data/gl.php @@ -1,6 +1,6 @@ 'Illa de Ascensión', 'AD' => 'Andorra', - 'AE' => 'Emiratos Árabes Unidos', + 'AE' => 'Os Emiratos Árabes Unidos', 'AF' => 'Afganistán', - 'AG' => 'Antiga e Barbuda', + 'AG' => 'Antigua e Barbuda', 'AI' => 'Anguila', 'AL' => 'Albania', 'AM' => 'Armenia', 'AO' => 'Angola', - 'AQ' => 'Antártida', - 'AR' => 'Arxentina', + 'AQ' => 'A Antártida', + 'AR' => 'A Arxentina', 'AS' => 'Samoa Americana', 'AT' => 'Austria', 'AU' => 'Australia', 'AW' => 'Aruba', - 'AX' => 'Illas Aland', + 'AX' => 'Illas Åland', 'AZ' => 'Acerbaixán', 'BA' => 'Bosnia e Hercegovina', 'BB' => 'Barbados', @@ -35,19 +35,19 @@ return array ( 'BG' => 'Bulgaria', 'BH' => 'Bahrain', 'BI' => 'Burundi', - 'BJ' => 'Benin', - 'BL' => 'Saint-Barthélemy', - 'BM' => 'Bermudas', + 'BJ' => 'Benín', + 'BL' => 'Saint Barthélemy', + 'BM' => 'Illas Bermudas', 'BN' => 'Brunei', 'BO' => 'Bolivia', 'BQ' => 'Caribe Neerlandés', - 'BR' => 'Brasil', + 'BR' => 'O Brasil', 'BS' => 'Bahamas', 'BT' => 'Bután', 'BW' => 'Botswana', - 'BY' => 'Bielorrusia', + 'BY' => 'Belarús', 'BZ' => 'Belize', - 'CA' => 'Canadá', + 'CA' => 'O Canadá', 'CC' => 'Illas Cocos (Keeling)', 'CD' => 'República Democrática do Congo', 'CF' => 'República Centroafricana', @@ -57,13 +57,13 @@ return array ( 'CK' => 'Illas Cook', 'CL' => 'Chile', 'CM' => 'Camerún', - 'CN' => 'China', + 'CN' => 'A China', 'CO' => 'Colombia', 'CR' => 'Costa Rica', 'CU' => 'Cuba', 'CV' => 'Cabo Verde', 'CW' => 'Curaçao', - 'CX' => 'Illa de Nadal', + 'CX' => 'Illa Christmas', 'CY' => 'Chipre', 'CZ' => 'Chequia', 'DE' => 'Alemaña', @@ -77,18 +77,18 @@ return array ( 'EC' => 'Ecuador', 'EE' => 'Estonia', 'EG' => 'Exipto', - 'EH' => 'Sáhara Occidental', + 'EH' => 'O Sáhara Occidental', 'ER' => 'Eritrea', 'ES' => 'España', 'ET' => 'Etiopía', 'FI' => 'Finlandia', - 'FJ' => 'Fidxi', + 'FJ' => 'Fixi', 'FK' => 'Illas Malvinas', 'FM' => 'Micronesia', 'FO' => 'Illas Feroe', 'FR' => 'Francia', 'GA' => 'Gabón', - 'GB' => 'Reino Unido', + 'GB' => 'O Reino Unido', 'GD' => 'Granada', 'GE' => 'Xeorxia', 'GF' => 'Güiana Francesa', @@ -104,7 +104,7 @@ return array ( 'GS' => 'Illas Xeorxia do Sur e Sandwich do Sur', 'GT' => 'Guatemala', 'GU' => 'Guam', - 'GW' => 'Guinea-Bissau', + 'GW' => 'A Guinea Bissau', 'GY' => 'Güiana', 'HK' => 'Hong Kong RAE da China', 'HN' => 'Honduras', @@ -116,7 +116,7 @@ return array ( 'IE' => 'Irlanda', 'IL' => 'Israel', 'IM' => 'Illa de Man', - 'IN' => 'India', + 'IN' => 'A India', 'IO' => 'Territorio Británico do Océano Índico', 'IQ' => 'Iraq', 'IR' => 'Irán', @@ -125,10 +125,10 @@ return array ( 'JE' => 'Jersey', 'JM' => 'Xamaica', 'JO' => 'Xordania', - 'JP' => 'Xapón', + 'JP' => 'O Xapón', 'KE' => 'Kenya', 'KG' => 'Kirguizistán', - 'KH' => 'Cambodja', + 'KH' => 'Camboxa', 'KI' => 'Kiribati', 'KM' => 'Comores', 'KN' => 'Saint Kitts e Nevis', @@ -138,12 +138,12 @@ return array ( 'KY' => 'Illas Caimán', 'KZ' => 'Casaquistán', 'LA' => 'Laos', - 'LB' => 'Líbano', + 'LB' => 'O Líbano', 'LC' => 'Santa Lucía', 'LI' => 'Liechtenstein', 'LK' => 'Sri Lanka', 'LR' => 'Liberia', - 'LS' => 'Lesoto', + 'LS' => 'Lesotho', 'LT' => 'Lituania', 'LU' => 'Luxemburgo', 'LV' => 'Letonia', @@ -152,7 +152,7 @@ return array ( 'MC' => 'Mónaco', 'MD' => 'Moldavia', 'ME' => 'Montenegro', - 'MF' => 'Saint-Martin', + 'MF' => 'Saint Martin', 'MG' => 'Madagascar', 'MH' => 'Illas Marshall', 'MK' => 'Macedonia', @@ -185,19 +185,19 @@ return array ( 'NZ' => 'Nova Zelandia', 'OM' => 'Omán', 'PA' => 'Panamá', - 'PE' => 'Perú', - 'PF' => 'Polinesia Francesa', + 'PE' => 'O Perú', + 'PF' => 'A Polinesia Francesa', 'PG' => 'Papúa-Nova Guinea', 'PH' => 'Filipinas', 'PK' => 'Paquistán', 'PL' => 'Polonia', - 'PM' => 'Saint-Pierre-et-Miquelon', + 'PM' => 'Saint Pierre et Miquelon', 'PN' => 'Illas Pitcairn', 'PR' => 'Porto Rico', 'PS' => 'Territorios Palestinos', 'PT' => 'Portugal', 'PW' => 'Palau', - 'PY' => 'Paraguai', + 'PY' => 'O Paraguai', 'QA' => 'Qatar', 'RE' => 'Reunión', 'RO' => 'Romanía', @@ -207,7 +207,7 @@ return array ( 'SA' => 'Arabia Saudita', 'SB' => 'Illas Salomón', 'SC' => 'Seychelles', - 'SD' => 'Sudán', + 'SD' => 'O Sudán', 'SE' => 'Suecia', 'SG' => 'Singapur', 'SH' => 'Santa Helena', @@ -219,12 +219,12 @@ return array ( 'SN' => 'Senegal', 'SO' => 'Somalia', 'SR' => 'Suriname', - 'SS' => 'Sudán do Sur', + 'SS' => 'O Sudán do Sur', 'ST' => 'San Tomé e Príncipe', 'SV' => 'O Salvador', 'SX' => 'Sint Maarten', 'SY' => 'Siria', - 'SZ' => 'Swazilandia', + 'SZ' => 'Suazilandia', 'TA' => 'Tristán da Cunha', 'TC' => 'Illas Turks e Caicos', 'TD' => 'Chad', @@ -234,7 +234,7 @@ return array ( 'TJ' => 'Taxiquistán', 'TK' => 'Tokelau', 'TL' => 'Timor Leste', - 'TM' => 'Turcomenistán', + 'TM' => 'Turkmenistán', 'TN' => 'Tunisia', 'TO' => 'Tonga', 'TR' => 'Turquía', @@ -244,9 +244,9 @@ return array ( 'TZ' => 'Tanzania', 'UA' => 'Ucraína', 'UG' => 'Uganda', - 'UM' => 'Illas Ultramarinas dos EUA', - 'US' => 'Estados Unidos de América', - 'UY' => 'Uruguai', + 'UM' => 'Illas Menores Distantes dos Estados Unidos', + 'US' => 'Os Estados Unidos', + 'UY' => 'O Uruguai', 'UZ' => 'Uzbequistán', 'VA' => 'Cidade do Vaticano', 'VC' => 'San Vicente e As Granadinas', @@ -258,7 +258,7 @@ return array ( 'WF' => 'Wallis e Futuna', 'WS' => 'Samoa', 'XK' => 'Kosovo', - 'YE' => 'Iemen', + 'YE' => 'O Iemen', 'YT' => 'Mayotte', 'ZA' => 'Suráfrica', 'ZM' => 'Zambia', diff --git a/vendor/giggsey/locale/data/gsw.php b/vendor/giggsey/locale/data/gsw.php index 978393da9..546786f67 100644 --- a/vendor/giggsey/locale/data/gsw.php +++ b/vendor/giggsey/locale/data/gsw.php @@ -1,6 +1,6 @@ 'Aljeriya', 'EC' => 'Ekwador', 'EE' => 'Estoniya', - 'EG' => 'Masar, Misira', + 'EG' => 'Misira', 'ER' => 'Eritireya', 'ES' => 'Sipen', 'ET' => 'Habasha', diff --git a/vendor/giggsey/locale/data/haw.php b/vendor/giggsey/locale/data/haw.php index c4c913a64..af44cb086 100644 --- a/vendor/giggsey/locale/data/haw.php +++ b/vendor/giggsey/locale/data/haw.php @@ -1,6 +1,6 @@ 'איי פארו', 'FR' => 'צרפת', 'GA' => 'גבון', - 'GB' => 'הממלכה המאוחדת', + 'GB' => 'בריטניה', 'GD' => 'גרנדה', 'GE' => 'גאורגיה', 'GF' => 'גיאנה הצרפתית', @@ -174,7 +174,7 @@ return array ( 'NA' => 'נמיביה', 'NC' => 'קלדוניה החדשה', 'NE' => 'ניז׳ר', - 'NF' => 'איי נורפוק', + 'NF' => 'האי נורפוק', 'NG' => 'ניגריה', 'NI' => 'ניקרגואה', 'NL' => 'הולנד', diff --git a/vendor/giggsey/locale/data/hi.php b/vendor/giggsey/locale/data/hi.php index ab564c237..5dc530d6d 100644 --- a/vendor/giggsey/locale/data/hi.php +++ b/vendor/giggsey/locale/data/hi.php @@ -1,6 +1,6 @@ 'सिंट मार्टिन', 'SY' => 'सीरिया', 'SZ' => 'स्वाज़ीलैंड', - 'TA' => 'त्रिस्टान डा कुना', + 'TA' => 'ट्रिस्टन दा कुना', 'TC' => 'तुर्क और कैकोज़ द्वीपसमूह', 'TD' => 'चाड', 'TF' => 'फ़्रांसीसी दक्षिणी क्षेत्र', diff --git a/vendor/giggsey/locale/data/hr.php b/vendor/giggsey/locale/data/hr.php index 57241e5a2..6d2c9ae86 100644 --- a/vendor/giggsey/locale/data/hr.php +++ b/vendor/giggsey/locale/data/hr.php @@ -1,6 +1,6 @@ 'Fidzsi', 'FK' => 'Falkland-szigetek', 'FM' => 'Mikronézia', - 'FO' => 'Feröer-szigetek', + 'FO' => 'Feröer szigetek', 'FR' => 'Franciaország', 'GA' => 'Gabon', 'GB' => 'Egyesült Királyság', @@ -253,7 +253,7 @@ return array ( 'VE' => 'Venezuela', 'VG' => 'Brit Virgin-szigetek', 'VI' => 'Amerikai Virgin-szigetek', - 'VN' => 'Vietnam', + 'VN' => 'Vietnám', 'VU' => 'Vanuatu', 'WF' => 'Wallis és Futuna', 'WS' => 'Szamoa', diff --git a/vendor/giggsey/locale/data/hy.php b/vendor/giggsey/locale/data/hy.php index f9bc20cb8..9f4f43670 100644 --- a/vendor/giggsey/locale/data/hy.php +++ b/vendor/giggsey/locale/data/hy.php @@ -1,6 +1,6 @@ 'Բոլիվիա', 'BQ' => 'Կարիբյան Նիդեռլանդներ', 'BR' => 'Բրազիլիա', - 'BS' => 'Բահամաներ', + 'BS' => 'Բահամյան կղզիներ', 'BT' => 'Բութան', 'BW' => 'Բոթսվանա', 'BY' => 'Բելառուս', @@ -135,7 +135,7 @@ return array ( 'KP' => 'Հյուսիսային Կորեա', 'KR' => 'Հարավային Կորեա', 'KW' => 'Քուվեյթ', - 'KY' => 'Կայման կղզիներ', + 'KY' => 'Կայմանյան կղզիներ', 'KZ' => 'Ղազախստան', 'LA' => 'Լաոս', 'LB' => 'Լիբանան', diff --git a/vendor/giggsey/locale/data/ia.php b/vendor/giggsey/locale/data/ia.php new file mode 100644 index 000000000..480e30ce6 --- /dev/null +++ b/vendor/giggsey/locale/data/ia.php @@ -0,0 +1,209 @@ + 'Andorra', + 'AE' => 'Emiratos Arabe Unite', + 'AF' => 'Afghanistan', + 'AG' => 'Antigua e Barbuda', + 'AL' => 'Albania', + 'AM' => 'Armenia', + 'AO' => 'Angola', + 'AR' => 'Argentina', + 'AS' => 'Samoa american', + 'AT' => 'Austria', + 'AU' => 'Australia', + 'AX' => 'Insulas Åland', + 'AZ' => 'Azerbaidzhan', + 'BA' => 'Bosnia e Herzegovina', + 'BD' => 'Bangladesh', + 'BE' => 'Belgica', + 'BF' => 'Burkina Faso', + 'BG' => 'Bulgaria', + 'BI' => 'Burundi', + 'BJ' => 'Benin', + 'BM' => 'Bermuda', + 'BO' => 'Bolivia', + 'BR' => 'Brasil', + 'BS' => 'Bahamas', + 'BT' => 'Bhutan', + 'BW' => 'Botswana', + 'BY' => 'Bielorussia', + 'BZ' => 'Belize', + 'CA' => 'Canada', + 'CF' => 'Republica African Central', + 'CG' => 'Congo', + 'CH' => 'Suissa', + 'CK' => 'Insulas Cook', + 'CL' => 'Chile', + 'CM' => 'Camerun', + 'CN' => 'China', + 'CO' => 'Colombia', + 'CR' => 'Costa Rica', + 'CU' => 'Cuba', + 'CX' => 'Insula de Natal', + 'CY' => 'Cypro', + 'CZ' => 'Chechia', + 'DE' => 'Germania', + 'DK' => 'Danmark', + 'DO' => 'Republica Dominican', + 'DZ' => 'Algeria', + 'EC' => 'Ecuador', + 'EE' => 'Estonia', + 'EG' => 'Egypto', + 'EH' => 'Sahara occidental', + 'ER' => 'Eritrea', + 'ES' => 'Espania', + 'ET' => 'Ethiopia', + 'FI' => 'Finlandia', + 'FM' => 'Micronesia', + 'FO' => 'Insulas Feroe', + 'FR' => 'Francia', + 'GA' => 'Gabon', + 'GB' => 'Regno Unite', + 'GE' => 'Georgia', + 'GF' => 'Guyana francese', + 'GG' => 'Guernsey', + 'GH' => 'Ghana', + 'GI' => 'Gibraltar', + 'GL' => 'Groenlandia', + 'GM' => 'Gambia', + 'GN' => 'Guinea', + 'GQ' => 'Guinea equatorial', + 'GR' => 'Grecia', + 'GT' => 'Guatemala', + 'GW' => 'Guinea-Bissau', + 'HN' => 'Honduras', + 'HR' => 'Croatia', + 'HT' => 'Haiti', + 'HU' => 'Hungaria', + 'ID' => 'Indonesia', + 'IE' => 'Irlanda', + 'IL' => 'Israel', + 'IM' => 'Insula de Man', + 'IN' => 'India', + 'IO' => 'Territorio oceanic britanno-indian', + 'IQ' => 'Irak', + 'IR' => 'Iran', + 'IS' => 'Islanda', + 'IT' => 'Italia', + 'JE' => 'Jersey', + 'JO' => 'Jordania', + 'JP' => 'Japon', + 'KE' => 'Kenya', + 'KG' => 'Kirghizistan', + 'KH' => 'Cambodgia', + 'KI' => 'Kiribati', + 'KM' => 'Comoros', + 'KN' => 'Sancte Christophoro e Nevis', + 'KP' => 'Corea del Nord', + 'KR' => 'Corea del Sud', + 'KY' => 'Insulas de Caiman', + 'KZ' => 'Kazakhstan', + 'LB' => 'Libano', + 'LC' => 'Sancte Lucia', + 'LI' => 'Liechtenstein', + 'LK' => 'Sri Lanka', + 'LR' => 'Liberia', + 'LS' => 'Lesotho', + 'LT' => 'Lituania', + 'LU' => 'Luxemburg', + 'LV' => 'Lettonia', + 'LY' => 'Libya', + 'MA' => 'Marocco', + 'MC' => 'Monaco', + 'MD' => 'Moldavia', + 'ME' => 'Montenegro', + 'MG' => 'Madagascar', + 'MH' => 'Insulas Marshall', + 'MK' => 'Macedonia', + 'ML' => 'Mali', + 'MN' => 'Mongolia', + 'MP' => 'Insulas Marianna del Nord', + 'MR' => 'Mauritania', + 'MT' => 'Malta', + 'MW' => 'Malawi', + 'MX' => 'Mexico', + 'MY' => 'Malaysia', + 'MZ' => 'Mozambique', + 'NA' => 'Namibia', + 'NC' => 'Nove Caledonia', + 'NE' => 'Niger', + 'NF' => 'Insula Norfolk', + 'NG' => 'Nigeria', + 'NI' => 'Nicaragua', + 'NL' => 'Nederlandia', + 'NO' => 'Norvegia', + 'NP' => 'Nepal', + 'NZ' => 'Nove Zelanda', + 'OM' => 'Oman', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PF' => 'Polynesia francese', + 'PG' => 'Papua Nove Guinea', + 'PH' => 'Philippinas', + 'PK' => 'Pakistan', + 'PL' => 'Polonia', + 'PM' => 'St. Pierre e Miquelon', + 'PT' => 'Portugal', + 'PY' => 'Paraguay', + 'RO' => 'Romania', + 'RS' => 'Serbia', + 'RU' => 'Russia', + 'RW' => 'Ruanda', + 'SA' => 'Arabia Saudita', + 'SB' => 'Insulas Solomon', + 'SC' => 'Seychelles', + 'SD' => 'Sudan', + 'SE' => 'Svedia', + 'SI' => 'Slovenia', + 'SJ' => 'Svalbard e Jan Mayen', + 'SK' => 'Slovachia', + 'SL' => 'Sierra Leone', + 'SM' => 'San Marino', + 'SN' => 'Senegal', + 'SO' => 'Somalia', + 'SR' => 'Suriname', + 'SS' => 'Sudan del Sud', + 'SV' => 'El Salvador', + 'SY' => 'Syria', + 'SZ' => 'Swazilandia', + 'TC' => 'Insulas Turcos e Caicos', + 'TF' => 'Territorios meridional francese', + 'TG' => 'Togo', + 'TH' => 'Thailandia', + 'TJ' => 'Tadzhikistan', + 'TK' => 'Tokelau', + 'TL' => 'Timor del Est', + 'TM' => 'Turkmenistan', + 'TN' => 'Tunisia', + 'TO' => 'Tonga', + 'TR' => 'Turchia', + 'TT' => 'Trinidad e Tobago', + 'TV' => 'Tuvalu', + 'TW' => 'Taiwan', + 'TZ' => 'Tanzania', + 'UA' => 'Ukraina', + 'UG' => 'Uganda', + 'US' => 'Statos Unite', + 'UY' => 'Uruguay', + 'UZ' => 'Uzbekistan', + 'VA' => 'Citate del Vaticano', + 'VC' => 'Sancte Vincente e le Grenadinas', + 'VE' => 'Venezuela', + 'VU' => 'Vanuatu', + 'WS' => 'Samoa', + 'XK' => 'Kosovo', + 'YE' => 'Yemen', + 'ZA' => 'Sudafrica', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', +); diff --git a/vendor/giggsey/locale/data/id.php b/vendor/giggsey/locale/data/id.php index f97c0828f..66e6b5974 100644 --- a/vendor/giggsey/locale/data/id.php +++ b/vendor/giggsey/locale/data/id.php @@ -1,6 +1,6 @@ 'Mið-Afríkulýðveldið', 'CG' => 'Kongó-Brazzaville', 'CH' => 'Sviss', - 'CI' => 'Côte d’Ivoire', + 'CI' => 'Fílabeinsströndin', 'CK' => 'Cooks-eyjar', 'CL' => 'Síle', 'CM' => 'Kamerún', diff --git a/vendor/giggsey/locale/data/it.php b/vendor/giggsey/locale/data/it.php index 903a96aba..0f8c5ca23 100644 --- a/vendor/giggsey/locale/data/it.php +++ b/vendor/giggsey/locale/data/it.php @@ -1,6 +1,6 @@ 'Pulo Ascension', + 'AD' => 'Andora', + 'AE' => 'Uni Émirat Arab', + 'AF' => 'Afganistan', + 'AG' => 'Antigua lan Barbuda', + 'AI' => 'Anguilla', + 'AL' => 'Albani', + 'AM' => 'Arménia', + 'AO' => 'Angola', + 'AQ' => 'Antartika', + 'AR' => 'Argèntina', + 'AS' => 'Samoa Amerika', + 'AT' => 'Ostenrik', + 'AU' => 'Ostrali', + 'AW' => 'Aruba', + 'AX' => 'Kapuloan Alan', + 'AZ' => 'Azerbaijan', + 'BA' => 'Bosnia lan Hèrségovina', + 'BB' => 'Barbadhos', + 'BD' => 'Banggaladésa', + 'BE' => 'Bèlgi', + 'BF' => 'Burkina Faso', + 'BG' => 'Bulgari', + 'BH' => 'Bahrain', + 'BI' => 'Burundi', + 'BJ' => 'Bénin', + 'BM' => 'Bermuda', + 'BN' => 'Brunéi', + 'BO' => 'Bolivia', + 'BQ' => 'Karibia Walanda', + 'BR' => 'Brasil', + 'BS' => 'Bahamas', + 'BT' => 'Bhutan', + 'BW' => 'Botswana', + 'BY' => 'Bélarus', + 'BZ' => 'Bélisé', + 'CA' => 'Kanada', + 'CD' => 'Kongo - Kinshasa', + 'CF' => 'Républik Afrika Tengah', + 'CG' => 'Kongo - Brassaville', + 'CH' => 'Switserlan', + 'CI' => 'Pasisir Gadhing', + 'CK' => 'Kapuloan Cook', + 'CL' => 'Cilé', + 'CM' => 'Kamerun', + 'CN' => 'Tyongkok', + 'CO' => 'Kolombia', + 'CR' => 'Kosta Rika', + 'CU' => 'Kuba', + 'CV' => 'Pongol Verdé', + 'CW' => 'Kurasao', + 'CX' => 'Pulo Natal', + 'CY' => 'Siprus', + 'CZ' => 'Céko', + 'DE' => 'Jérman', + 'DG' => 'Diego Garcia', + 'DJ' => 'Jibuti', + 'DK' => 'Dhènemarken', + 'DM' => 'Dominika', + 'DO' => 'Républik Dominika', + 'DZ' => 'Aljasair', + 'EA' => 'Séuta lan Melila', + 'EC' => 'Ékuadhor', + 'EE' => 'Éstonia', + 'EG' => 'Mesir', + 'EH' => 'Sahara Kulon', + 'ER' => 'Éritréa', + 'ES' => 'Sepanyol', + 'ET' => 'Étiopia', + 'FI' => 'Finlan', + 'FJ' => 'Fiji', + 'FK' => 'Kapuloan Falkland', + 'FO' => 'Kapuloan Faro', + 'FR' => 'Prancis', + 'GA' => 'Gabon', + 'GB' => 'Karajan Manunggal', + 'GD' => 'Grénada', + 'GE' => 'Géorgia', + 'GF' => 'Guyana Prancis', + 'GG' => 'Guernsei', + 'GH' => 'Ghana', + 'GI' => 'Gibraltar', + 'GM' => 'Gambia', + 'GP' => 'Guadélup', + 'GS' => 'Georgia Kidul lan Kapuloan Sandwich Kidul', + 'GT' => 'Guatémala', + 'GU' => 'Guam', + 'GY' => 'Guyana', + 'HK' => 'Laladan Administratif Astamiwa Hong Kong', + 'HN' => 'Honduras', + 'HR' => 'Kroasia', + 'HT' => 'Haiti', + 'HU' => 'Honggari', + 'IC' => 'Kapuloan Kanari', + 'ID' => 'Indonésia', + 'IE' => 'Républik Irlan', + 'IL' => 'Israèl', + 'IM' => 'Pulo Man', + 'IO' => 'Wilayah Inggris nang Segoro Hindia', + 'IQ' => 'Irak', + 'IR' => 'Iran', + 'IS' => 'Èslan', + 'IT' => 'Itali', + 'JE' => 'Jersey', + 'JM' => 'Jamaika', + 'JO' => 'Yordania', + 'JP' => 'Jepang', + 'KE' => 'Kénya', + 'KG' => 'Kirgistan', + 'KH' => 'Kamboja', + 'KI' => 'Kiribati', + 'KM' => 'Komoro', + 'KR' => 'Koréa Kidul', + 'KW' => 'Kuwait', + 'KY' => 'Kapuloan Kéman', + 'KZ' => 'Kasakstan', + 'LA' => 'Laos', + 'LB' => 'Libanon', + 'LC' => 'Santa Lusia', + 'LI' => 'Liktenstén', + 'LK' => 'Sri Lanka', + 'LR' => 'Libèria', + 'LS' => 'Lésotho', + 'LT' => 'Litowen', + 'LU' => 'Luksemburg', + 'LV' => 'Latvia', + 'LY' => 'Libya', + 'MA' => 'Maroko', + 'MC' => 'Monako', + 'MD' => 'Moldova', + 'ME' => 'Montenégro', + 'MF' => 'Santa Martin', + 'MG' => 'Madagaskar', + 'MH' => 'Kapuloan Marshall', + 'ML' => 'Mali', + 'MM' => 'Myanmar (Burma)', + 'MN' => 'Mongolia', + 'MO' => 'Laladan Administratif Astamiwa Makau', + 'MP' => 'Kapuloan Mariana Lor', + 'MQ' => 'Martinik', + 'MR' => 'Mauritania', + 'MS' => 'Monsérat', + 'MT' => 'Malta', + 'MU' => 'Mauritius', + 'MV' => 'Maladéwa', + 'MW' => 'Malawi', + 'MX' => 'Mèksiko', + 'MY' => 'Malaysia', + 'MZ' => 'Mosambik', + 'NA' => 'Namibia', + 'NC' => 'Kalédonia Anyar', + 'NE' => 'Nigér', + 'NF' => 'Pulo Norfolk', + 'NG' => 'Nigéria', + 'NI' => 'Nikaragua', + 'NL' => 'Walanda', + 'NO' => 'Nurwègen', + 'NP' => 'Népal', + 'NR' => 'Nauru', + 'NU' => 'Niue', + 'OM' => 'Oman', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PF' => 'Polinesia Prancis', + 'PG' => 'Papua Nugini', + 'PH' => 'Pilipina', + 'PK' => 'Pakistan', + 'PL' => 'Polen', + 'PN' => 'Kapuloan Pitcairn', + 'PR' => 'Puèrto Riko', + 'PS' => 'Tlatah Palèstina', + 'PT' => 'Portugal', + 'PW' => 'Palau', + 'PY' => 'Paraguay', + 'QA' => 'Katar', + 'RE' => 'Réunion', + 'RO' => 'Ruméni', + 'RW' => 'Rwanda', + 'SA' => 'Arab Saudi', + 'SB' => 'Kapuloan Suleman', + 'SC' => 'Sésèl', + 'SD' => 'Sudan', + 'SE' => 'Swèdhen', + 'SG' => 'Singapura', + 'SI' => 'Slovénia', + 'SJ' => 'Svalbard lan Jan Mayen', + 'SK' => 'Slowak', + 'SL' => 'Siéra Léoné', + 'SM' => 'San Marino', + 'SN' => 'Sénégal', + 'SO' => 'Somalia', + 'SR' => 'Suriname', + 'SS' => 'Sudan Kidul', + 'ST' => 'Sao Tomé lan Principé', + 'SV' => 'Èl Salvador', + 'SX' => 'Sint Martén', + 'SY' => 'Suriah', + 'SZ' => 'Swasiland', + 'TA' => 'Tristan da Cunha', + 'TC' => 'Turks lan Kapuloan Kaikos', + 'TD' => 'Chad', + 'TF' => 'Wilayah Prancis nang Kutub Kidul', + 'TG' => 'Togo', + 'TH' => 'Tanah Thai', + 'TJ' => 'Tajikistan', + 'TK' => 'Tokelau', + 'TL' => 'Timor Leste', + 'TM' => 'Turkménistan', + 'TN' => 'Tunisia', + 'TO' => 'Tonga', + 'TR' => 'Turki', + 'TT' => 'Trinidad lan Tobago', + 'TV' => 'Tuvalu', + 'TW' => 'Taiwan', + 'TZ' => 'Tansania', + 'UA' => 'Ukrania', + 'UG' => 'Uganda', + 'US' => 'Amérika Sarékat', + 'UY' => 'Uruguay', + 'UZ' => 'Usbèkistan', + 'VE' => 'Vénésuéla', + 'VI' => 'Kapuloan Virgin Amérika', + 'VN' => 'Viètnam', + 'VU' => 'Vanuatu', + 'WF' => 'Wallis lan Futuna', + 'WS' => 'Samoa', + 'XK' => 'Kosovo', + 'YE' => 'Yaman', + 'YT' => 'Mayotte', + 'ZA' => 'Afrika Kidul', + 'ZM' => 'Sambia', + 'ZW' => 'Simbabwe', +); diff --git a/vendor/giggsey/locale/data/ka.php b/vendor/giggsey/locale/data/ka.php index 9505b7df4..9ad63a4c2 100644 --- a/vendor/giggsey/locale/data/ka.php +++ b/vendor/giggsey/locale/data/ka.php @@ -1,6 +1,6 @@ 'არაბთა გაერთიანებული საამიროები', 'AF' => 'ავღანეთი', 'AG' => 'ანტიგუა და ბარბუდა', - 'AI' => 'ანგვილა', + 'AI' => 'ანგილია', 'AL' => 'ალბანეთი', 'AM' => 'სომხეთი', 'AO' => 'ანგოლა', @@ -106,7 +106,7 @@ return array ( 'GU' => 'გუამი', 'GW' => 'გვინეა-ბისაუ', 'GY' => 'გაიანა', - 'HK' => 'ჰონკონგის სპეციალური ადმინისტრაციული რეგიონი ჩინეთი', + 'HK' => 'ჰონკონგის სპეციალური ადმინისტრაციული რეგიონი, ჩინეთი', 'HN' => 'ჰონდურასი', 'HR' => 'ხორვატია', 'HT' => 'ჰაიტი', @@ -144,7 +144,7 @@ return array ( 'LK' => 'შრი-ლანკა', 'LR' => 'ლიბერია', 'LS' => 'ლესოთო', - 'LT' => 'ლიტვა', + 'LT' => 'ლიეტუვა', 'LU' => 'ლუქსემბურგი', 'LV' => 'ლატვია', 'LY' => 'ლიბია', @@ -159,7 +159,7 @@ return array ( 'ML' => 'მალი', 'MM' => 'მიანმარი (ბირმა)', 'MN' => 'მონღოლეთი', - 'MO' => 'მაკაოს სპეციალური ადმინისტრაციული რეგიონი ჩინეთი', + 'MO' => 'მაკაოს სპეციალური ადმინისტრაციული რეგიონი, ჩინეთი', 'MP' => 'ჩრდილოეთ მარიანას კუნძულები', 'MQ' => 'მარტინიკა', 'MR' => 'მავრიტანია', diff --git a/vendor/giggsey/locale/data/kab.php b/vendor/giggsey/locale/data/kab.php index 7de1a009a..57486516d 100644 --- a/vendor/giggsey/locale/data/kab.php +++ b/vendor/giggsey/locale/data/kab.php @@ -1,6 +1,6 @@ 'ಸೀಶೆಲ್ಲೆಸ್', 'SD' => 'ಸುಡಾನ್', 'SE' => 'ಸ್ವೀಡನ್', - 'SG' => 'ಸಿಂಗಾಪುರ್', + 'SG' => 'ಸಿಂಗಪುರ್', 'SH' => 'ಸೇಂಟ್ ಹೆಲೆನಾ', 'SI' => 'ಸ್ಲೋವೇನಿಯಾ', 'SJ' => 'ಸ್ವಾಲ್ಬಾರ್ಡ್ ಮತ್ತು ಜಾನ್ ಮೆಯನ್', @@ -245,7 +245,7 @@ return array ( 'UA' => 'ಉಕ್ರೈನ್', 'UG' => 'ಉಗಾಂಡಾ', 'UM' => 'ಯುಎಸ್‌ ಔಟ್‌ಲೇಯಿಂಗ್ ದ್ವೀಪಗಳು', - 'US' => 'ಅಮೇರಿಕಾ ಸಂಯುಕ್ತ ಸಂಸ್ಥಾನ', + 'US' => 'ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್', 'UY' => 'ಉರುಗ್ವೆ', 'UZ' => 'ಉಜ್ಬೇಕಿಸ್ಥಾನ್', 'VA' => 'ವ್ಯಾಟಿಕನ್ ಸಿಟಿ', diff --git a/vendor/giggsey/locale/data/ko-kp.php b/vendor/giggsey/locale/data/ko-kp.php index 642f21173..57d9d438e 100644 --- a/vendor/giggsey/locale/data/ko-kp.php +++ b/vendor/giggsey/locale/data/ko-kp.php @@ -1,6 +1,6 @@ 'Andorra', + 'AE' => 'Emîrtiyên Erebî yên Yekbûyî', + 'AF' => 'Efxanistan', + 'AG' => 'Antîgua û Berbûda', + 'AL' => 'Albanya', + 'AM' => 'Ermenistan', + 'AO' => 'Angola', + 'AQ' => 'Antarktîka', + 'AR' => 'Arjentîn', + 'AS' => 'Samoaya Amerîkanî', + 'AT' => 'Awistirya', + 'AU' => 'Awistralya', + 'AW' => 'Arûba', + 'AZ' => 'Azerbaycan', + 'BA' => 'Bosniya û Herzegovîna', + 'BB' => 'Barbados', + 'BD' => 'Bangladeş', + 'BE' => 'Belçîka', + 'BF' => 'Burkîna Faso', + 'BG' => 'Bulgaristan', + 'BH' => 'Behreyn', + 'BI' => 'Burundî', + 'BJ' => 'Bênîn', + 'BL' => 'Saint-Barthélemy', + 'BM' => 'Bermûda', + 'BN' => 'Brûney', + 'BO' => 'Bolîvya', + 'BR' => 'Brazîl', + 'BS' => 'Bahama', + 'BT' => 'Bûtan', + 'BW' => 'Botswana', + 'BY' => 'Belarûs', + 'BZ' => 'Belîze', + 'CA' => 'Kanada', + 'CD' => 'Kongo - Kînşasa', + 'CF' => 'Komara Afrîkaya Navend', + 'CG' => 'Kongo - Brazzaville', + 'CH' => 'Swîsre', + 'CI' => 'Peravê Diranfîl', + 'CK' => 'Giravên Cook', + 'CL' => 'Şîle', + 'CM' => 'Kamerûn', + 'CN' => 'Çîn', + 'CO' => 'Kolombiya', + 'CR' => 'Kosta Rîka', + 'CU' => 'Kûba', + 'CV' => 'Kap Verde', + 'CY' => 'Kîpros', + 'CZ' => 'Çekya', + 'DE' => 'Almanya', + 'DJ' => 'Cîbûtî', + 'DK' => 'Danîmarka', + 'DM' => 'Domînîka', + 'DO' => 'Komara Domînîk', + 'DZ' => 'Cezayir', + 'EC' => 'Ekuador', + 'EE' => 'Estonya', + 'EG' => 'Misir', + 'EH' => 'Sahraya Rojava', + 'ER' => 'Erîtrea', + 'ES' => 'Spanya', + 'ET' => 'Etiyopya', + 'FI' => 'Fînlenda', + 'FJ' => 'Fîjî', + 'FK' => 'Giravên Malvîn', + 'FM' => 'Mîkronezya', + 'FO' => 'Giravên Feroe', + 'FR' => 'Fransa', + 'GA' => 'Gabon', + 'GB' => 'Keyaniya Yekbûyî', + 'GD' => 'Grenada', + 'GE' => 'Gurcistan', + 'GF' => 'Guyanaya Fransî', + 'GH' => 'Gana', + 'GI' => 'Cîbraltar', + 'GL' => 'Grînlenda', + 'GM' => 'Gambiya', + 'GN' => 'Gîne', + 'GP' => 'Guadeloupe', + 'GQ' => 'Gîneya Rojbendî', + 'GR' => 'Yewnanistan', + 'GT' => 'Guatemala', + 'GU' => 'Guam', + 'GW' => 'Gîne-Bissau', + 'GY' => 'Guyana', + 'HN' => 'Hondûras', + 'HR' => 'Kroatya', + 'HT' => 'Haîtî', + 'HU' => 'Macaristan', + 'IC' => 'Giravên Qenariyê', + 'ID' => 'Îndonezya', + 'IE' => 'Îrlenda', + 'IL' => 'Îsraêl', + 'IM' => 'Girava Man', + 'IN' => 'Hindistan', + 'IQ' => 'Iraq', + 'IR' => 'Îran', + 'IS' => 'Îslenda', + 'IT' => 'Îtalya', + 'JM' => 'Jamaîka', + 'JO' => 'Urdun', + 'JP' => 'Japon', + 'KE' => 'Kenya', + 'KG' => 'Qirgizistan', + 'KH' => 'Kamboca', + 'KI' => 'Kirîbatî', + 'KM' => 'Komor', + 'KN' => 'Saint Kitts û Nevîs', + 'KP' => 'Korêya Bakur', + 'KR' => 'Korêya Başûr', + 'KW' => 'Kuweyt', + 'KY' => 'Giravên Kaymanê', + 'KZ' => 'Qazaxistan', + 'LA' => 'Laos', + 'LB' => 'Libnan', + 'LC' => 'Saint Lucia', + 'LI' => 'Liechtenstein', + 'LK' => 'Srî Lanka', + 'LR' => 'Lîberya', + 'LS' => 'Lesoto', + 'LT' => 'Lîtvanya', + 'LU' => 'Lûksembûrg', + 'LV' => 'Letonya', + 'LY' => 'Lîbya', + 'MA' => 'Maroko', + 'MC' => 'Monako', + 'MD' => 'Moldova', + 'ME' => 'Montenegro', + 'MG' => 'Madagaskar', + 'MH' => 'Giravên Marşal', + 'MK' => 'Makedonya', + 'ML' => 'Malî', + 'MM' => 'Myanmar (Birmanya)', + 'MN' => 'Mongolya', + 'MP' => 'Giravên Bakurê Marianan', + 'MQ' => 'Martinique', + 'MR' => 'Morîtanya', + 'MT' => 'Malta', + 'MU' => 'Maurîtius', + 'MV' => 'Maldîv', + 'MW' => 'Malawî', + 'MX' => 'Meksîk', + 'MY' => 'Malezya', + 'MZ' => 'Mozambîk', + 'NA' => 'Namîbya', + 'NC' => 'Kaledonyaya Nû', + 'NE' => 'Nîjer', + 'NF' => 'Girava Norfolk', + 'NG' => 'Nîjerya', + 'NI' => 'Nîkaragua', + 'NL' => 'Holenda', + 'NO' => 'Norwêc', + 'NP' => 'Nepal', + 'NR' => 'Naûrû', + 'NU' => 'Niûe', + 'NZ' => 'Nû Zelenda', + 'OM' => 'Oman', + 'PA' => 'Panama', + 'PE' => 'Perû', + 'PF' => 'Polînezyaya Fransî', + 'PG' => 'Papua Gîneya Nû', + 'PH' => 'Filîpîn', + 'PK' => 'Pakistan', + 'PL' => 'Polonya', + 'PM' => 'Saint-Pierre û Miquelon', + 'PN' => 'Giravên Pitcairn', + 'PR' => 'Porto Rîko', + 'PS' => 'Xakên filistînî', + 'PT' => 'Portûgal', + 'PW' => 'Palau', + 'PY' => 'Paraguay', + 'QA' => 'Qeter', + 'RE' => 'Réunion', + 'RO' => 'Romanya', + 'RS' => 'Serbistan', + 'RU' => 'Rûsya', + 'RW' => 'Rwanda', + 'SA' => 'Erebistana Siyûdî', + 'SB' => 'Giravên Salomon', + 'SC' => 'Seyşel', + 'SD' => 'Sûdan', + 'SE' => 'Swêd', + 'SG' => 'Singapûr', + 'SI' => 'Slovenya', + 'SK' => 'Slovakya', + 'SL' => 'Sierra Leone', + 'SM' => 'San Marîno', + 'SN' => 'Senegal', + 'SO' => 'Somalya', + 'SR' => 'Sûrînam', + 'SS' => 'Sûdana Başûr', + 'ST' => 'Sao Tome û Prînsîpe', + 'SV' => 'El Salvador', + 'SY' => 'Sûrî', + 'SZ' => 'Swazîlenda', + 'TC' => 'Giravên Turk û Kaîkos', + 'TD' => 'Çad', + 'TG' => 'Togo', + 'TH' => 'Taylenda', + 'TJ' => 'Tacîkistan', + 'TK' => 'Tokelau', + 'TL' => 'Tîmora-Leste', + 'TM' => 'Tirkmenistan', + 'TN' => 'Tûnis', + 'TO' => 'Tonga', + 'TR' => 'Tirkiye', + 'TT' => 'Trînîdad û Tobago', + 'TV' => 'Tûvalû', + 'TW' => 'Taywan', + 'TZ' => 'Tanzanya', + 'UA' => 'Ûkrayna', + 'UG' => 'Ûganda', + 'US' => 'Dewletên Yekbûyî yên Amerîkayê', + 'UY' => 'Ûrûguay', + 'UZ' => 'Ûzbêkistan', + 'VA' => 'Vatîkan', + 'VC' => 'Saint Vincent û Giravên Grenadîn', + 'VE' => 'Venezuela', + 'VN' => 'Viyetnam', + 'VU' => 'Vanûatû', + 'WF' => 'Wallis û Futuna', + 'WS' => 'Samoa', + 'XK' => 'Kosovo', + 'YE' => 'Yemen', + 'ZA' => 'Afrîkaya Başûr', + 'ZM' => 'Zambiya', + 'ZW' => 'Zîmbabwe', +); diff --git a/vendor/giggsey/locale/data/kw.php b/vendor/giggsey/locale/data/kw.php index 19a130964..1f1cc7526 100644 --- a/vendor/giggsey/locale/data/kw.php +++ b/vendor/giggsey/locale/data/kw.php @@ -1,6 +1,6 @@ 'Колумбия', 'CR' => 'Коста-Рика', 'CU' => 'Куба', - 'CV' => 'Капе Верде', + 'CV' => 'Кабо-Верде', 'CW' => 'Кюрасао', 'CX' => 'Рождество аралы', 'CY' => 'Кипр', @@ -172,7 +172,7 @@ return array ( 'MY' => 'Малайзия', 'MZ' => 'Мозамбик', 'NA' => 'Намибия', - 'NC' => 'Жаӊы Каледония', + 'NC' => 'Жаңы Каледония', 'NE' => 'Нигер', 'NF' => 'Норфолк аралы', 'NG' => 'Нигерия', @@ -182,13 +182,13 @@ return array ( 'NP' => 'Непал', 'NR' => 'Науру', 'NU' => 'Ниуэ', - 'NZ' => 'Жаӊы Зеландия', + 'NZ' => 'Жаңы Зеландия', 'OM' => 'Оман', 'PA' => 'Панама', 'PE' => 'Перу', 'PF' => 'Полинезия (франциялык)', 'PG' => 'Папуа-Жаңы Гвинея', - 'PH' => 'Филлипин', + 'PH' => 'Филиппин', 'PK' => 'Пакистан', 'PL' => 'Польша', 'PM' => 'Сен-Пьер жана Микелон', @@ -245,7 +245,7 @@ return array ( 'UA' => 'Украина', 'UG' => 'Уганда', 'UM' => 'АКШнын сырткы аралдары', - 'US' => 'Америка Кошмо Штаттары', + 'US' => 'Кошмо Штаттар', 'UY' => 'Уругвай', 'UZ' => 'Өзбекстан', 'VA' => 'Ватикан', diff --git a/vendor/giggsey/locale/data/lag.php b/vendor/giggsey/locale/data/lag.php index f7b2dc136..74ce7e3bd 100644 --- a/vendor/giggsey/locale/data/lag.php +++ b/vendor/giggsey/locale/data/lag.php @@ -1,6 +1,6 @@ 'ບາຮາມາສ', 'BT' => 'ພູຖານ', 'BW' => 'ບອດສະວານາ', - 'BY' => 'ເບວບາຣຸສ', + 'BY' => 'ເບລາຣຸສ', 'BZ' => 'ເບລີຊ', 'CA' => 'ແຄນາດາ', 'CC' => 'ຫມູ່ເກາະໂກໂກສ', @@ -160,7 +160,7 @@ return array ( 'MM' => 'ມຽນມາ (ເບີມາ)', 'MN' => 'ມອງໂກເລຍ', 'MO' => 'ມາກາວ ເຂດປົກຄອງພິເສດ ຈີນ', - 'MP' => 'ຫມູ່ເກາະມາແຊວຕອນເຫນືອ', + 'MP' => 'ໝູ່ເກາະມາເຣຍນາຕອນເໜືອ', 'MQ' => 'ມາຕິນີກ', 'MR' => 'ມົວຣິເທເນຍ', 'MS' => 'ມອນເຊີຣາດ', diff --git a/vendor/giggsey/locale/data/lrc.php b/vendor/giggsey/locale/data/lrc.php index f2cffb766..090f1eaac 100644 --- a/vendor/giggsey/locale/data/lrc.php +++ b/vendor/giggsey/locale/data/lrc.php @@ -1,6 +1,6 @@ 'Fēru salas', 'FR' => 'Francija', 'GA' => 'Gabona', - 'GB' => 'Lielbritānija', + 'GB' => 'Apvienotā Karaliste', 'GD' => 'Grenāda', 'GE' => 'Gruzija', 'GF' => 'Francijas Gviāna', diff --git a/vendor/giggsey/locale/data/mas.php b/vendor/giggsey/locale/data/mas.php index 38c74f498..c73d7a76f 100644 --- a/vendor/giggsey/locale/data/mas.php +++ b/vendor/giggsey/locale/data/mas.php @@ -1,6 +1,6 @@ 'Parahi', + 'CN' => 'Haina', + 'DE' => 'Tiamana', + 'FR' => 'Wīwī', + 'GB' => 'Hononga o Piritene', + 'IN' => 'Inia', + 'IT' => 'Itāria', + 'JP' => 'Hapani', + 'NZ' => 'Aotearoa', + 'RU' => 'Rūhia', + 'US' => 'Hononga o Amerika', +); diff --git a/vendor/giggsey/locale/data/mk.php b/vendor/giggsey/locale/data/mk.php index c450dd276..1e7590413 100644 --- a/vendor/giggsey/locale/data/mk.php +++ b/vendor/giggsey/locale/data/mk.php @@ -1,6 +1,6 @@ 'ചെക്കിയ', 'DE' => 'ജർമ്മനി', 'DG' => 'ഡീഗോ ഗ്രാഷ്യ', - 'DJ' => 'ദിജിബൗട്ടി', + 'DJ' => 'ജിബൂത്തി', 'DK' => 'ഡെൻമാർക്ക്', 'DM' => 'ഡൊമിനിക്ക', 'DO' => 'ഡൊമിനിക്കൻ റിപ്പബ്ലിക്ക്', diff --git a/vendor/giggsey/locale/data/mn.php b/vendor/giggsey/locale/data/mn.php index 2913cb878..ee69afeb3 100644 --- a/vendor/giggsey/locale/data/mn.php +++ b/vendor/giggsey/locale/data/mn.php @@ -1,6 +1,6 @@ 'Асенсион арал', 'AD' => 'Андорра', - 'AE' => 'Арабын Нэгдсэн Эмират Улс', + 'AE' => 'Арабын Нэгдсэн Эмирт Улс', 'AF' => 'Афганистан', 'AG' => 'Антигуа ба Барбуда', 'AI' => 'Ангилья', @@ -44,14 +44,14 @@ return array ( 'BR' => 'Бразил', 'BS' => 'Багамын арлууд', 'BT' => 'Бутан', - 'BW' => 'Ботсвана', + 'BW' => 'Ботсван', 'BY' => 'Беларусь', - 'BZ' => 'Белиз', + 'BZ' => 'Белизе', 'CA' => 'Канад', 'CC' => 'Кокос (Кийлинг) арлууд', 'CD' => 'Конго-Киншаса', 'CF' => 'Төв Африкийн Бүгд Найрамдах Улс', - 'CG' => 'Конго Браззавиль', + 'CG' => 'Конго-Браззавиль', 'CH' => 'Швейцарь', 'CI' => 'Кот-д’Ивуар', 'CK' => 'Күүкийн арлууд', @@ -81,7 +81,7 @@ return array ( 'ER' => 'Эритрей', 'ES' => 'Испани', 'ET' => 'Этиоп', - 'FI' => 'Финланд', + 'FI' => 'Финлянд', 'FJ' => 'Фижи', 'FK' => 'Фолклендийн арлууд', 'FM' => 'Микронези', @@ -101,7 +101,7 @@ return array ( 'GP' => 'Гваделуп', 'GQ' => 'Экваторын Гвиней', 'GR' => 'Грек', - 'GS' => 'Өмнөд Жоржиа ба Өмнөд Сэндвичийн Арлууд', + 'GS' => 'Өмнөд Жоржиа ба Өмнөд Сэндвичийн арлууд', 'GT' => 'Гватемал', 'GU' => 'Гуам', 'GW' => 'Гвиней-Бисау', @@ -165,7 +165,7 @@ return array ( 'MR' => 'Мавритани', 'MS' => 'Монтсеррат', 'MT' => 'Мальта', - 'MU' => 'Маврики', + 'MU' => 'Маврикий', 'MV' => 'Мальдив', 'MW' => 'Малави', 'MX' => 'Мексик', @@ -194,7 +194,7 @@ return array ( 'PM' => 'Сент-Пьер ба Микело', 'PN' => 'Питкэрн арлууд', 'PR' => 'Пуэрто-Рико', - 'PS' => 'Палестины нутаг дэвсгэрүүд', + 'PS' => 'Палестины нутаг дэвсгэр', 'PT' => 'Португал', 'PW' => 'Палау', 'PY' => 'Парагвай', @@ -220,7 +220,7 @@ return array ( 'SO' => 'Сомали', 'SR' => 'Суринам', 'SS' => 'Өмнөд Судан', - 'ST' => 'Сан-Томе Принсипи', + 'ST' => 'Сан-Томе ба Принсипи', 'SV' => 'Эль Сальвадор', 'SX' => 'Синт Мартен', 'SY' => 'Сири', @@ -251,8 +251,8 @@ return array ( 'VA' => 'Ватикан хот улс', 'VC' => 'Сент-Винсент ба Гренадин', 'VE' => 'Венесуэл', - 'VG' => 'Британийн Виржиний Арлууд', - 'VI' => 'АНУ-ын Виржиний Арлууд', + 'VG' => 'Британийн Виржиний арлууд', + 'VI' => 'АНУ-ын Виржиний арлууд', 'VN' => 'Вьетнам', 'VU' => 'Вануату', 'WF' => 'Уоллис ба Футуна', diff --git a/vendor/giggsey/locale/data/mr.php b/vendor/giggsey/locale/data/mr.php index c309c0c3e..928c31025 100644 --- a/vendor/giggsey/locale/data/mr.php +++ b/vendor/giggsey/locale/data/mr.php @@ -1,6 +1,6 @@ 'Bahrain', 'BI' => 'Burundi', 'BJ' => 'Benin', - 'BL' => 'Saint Barthélemy', + 'BL' => 'St. Barthelemy', 'BM' => 'Bermuda', 'BN' => 'Brunei', 'BO' => 'Bolivia', diff --git a/vendor/giggsey/locale/data/mt.php b/vendor/giggsey/locale/data/mt.php index 8f004583c..14263dcaf 100644 --- a/vendor/giggsey/locale/data/mt.php +++ b/vendor/giggsey/locale/data/mt.php @@ -1,6 +1,6 @@ 'ir-Repubblika Demokratika tal-Kongo', 'CF' => 'ir-Repubblika Ċentru-Afrikana', 'CG' => 'il-Kongo - Brazzaville', - 'CH' => 'Żvizzera', + 'CH' => 'l-Iżvizzera', 'CI' => 'il-Kosta tal-Avorju', 'CK' => 'Gżejjer Cook', 'CL' => 'iċ-Ċili', 'CM' => 'il-Kamerun', + 'CN' => 'iċ-Ċina', 'CO' => 'il-Kolombja', 'CR' => 'il-Costa Rica', 'CU' => 'Kuba', @@ -256,7 +257,7 @@ return array ( 'VU' => 'Vanuatu', 'WF' => 'Wallis u Futuna', 'WS' => 'Samoa', - 'XK' => 'Kosovo', + 'XK' => 'il-Kosovo', 'YE' => 'il-Jemen', 'YT' => 'Mayotte', 'ZA' => 'l-Afrika t’Isfel', diff --git a/vendor/giggsey/locale/data/mua.php b/vendor/giggsey/locale/data/mua.php index 08a95d354..ff9b77cd8 100644 --- a/vendor/giggsey/locale/data/mua.php +++ b/vendor/giggsey/locale/data/mua.php @@ -1,6 +1,6 @@ 'အယ်လ်ဘေးနီးယား', 'AM' => 'အာမေးနီးယား', 'AO' => 'အန်ဂိုလာ', - 'AQ' => 'အန္တာတိက', + 'AQ' => 'အန်တာတိက', 'AR' => 'အာဂျင်တီးနား', 'AS' => 'အမေရိကန် ဆမိုးအား', 'AT' => 'ဩစတြီးယား', @@ -160,7 +160,7 @@ return array ( 'MM' => 'မြန်မာ', 'MN' => 'မွန်ဂိုးလီးယား', 'MO' => 'မကာအို (တရုတ်ပြည်)', - 'MP' => 'တောင်ပိုင်းမာရီအာနာကျွန်းစု', + 'MP' => 'မြောက်ပိုင်းမာရီအာနာကျွန်းစု', 'MQ' => 'မာတီနိခ်', 'MR' => 'မော်ရီတေးနီးယား', 'MS' => 'မောင့်စဲရက်', @@ -168,7 +168,7 @@ return array ( 'MU' => 'မောရစ်ရှ', 'MV' => 'မော်လ်ဒိုက်', 'MW' => 'မာလာဝီ', - 'MX' => 'မက္ကဆီကို', + 'MX' => 'မက်ကဆီကို', 'MY' => 'မလေးရှား', 'MZ' => 'မိုဇမ်ဘစ်', 'NA' => 'နမီးဘီးယား', diff --git a/vendor/giggsey/locale/data/mzn.php b/vendor/giggsey/locale/data/mzn.php index b1c922908..5d7d310e9 100644 --- a/vendor/giggsey/locale/data/mzn.php +++ b/vendor/giggsey/locale/data/mzn.php @@ -1,6 +1,6 @@ 'Pakistan', 'PL' => 'Polen', 'PM' => 'Saint-Pierre-et-Miquelon', - 'PN' => 'Pitcairn', + 'PN' => 'Pitcairnøyene', 'PR' => 'Puerto Rico', 'PS' => 'Det palestinske området', 'PT' => 'Portugal', diff --git a/vendor/giggsey/locale/data/nd.php b/vendor/giggsey/locale/data/nd.php index 6cfb4a078..7d0d377d5 100644 --- a/vendor/giggsey/locale/data/nd.php +++ b/vendor/giggsey/locale/data/nd.php @@ -1,6 +1,6 @@ 'एस्केन्सन टापु', + 'AC' => 'असेन्सन टापु', 'AD' => 'अन्डोर्रा', 'AE' => 'संयुक्त अरब इमिराट्स', 'AF' => 'अफगानिस्तान', @@ -31,12 +31,12 @@ return array ( 'BB' => 'बार्बाडोस', 'BD' => 'बङ्गलादेश', 'BE' => 'बेल्जियम', - 'BF' => 'बर्किना फासो', + 'BF' => 'बुर्किना फासो', 'BG' => 'बुल्गेरिया', 'BH' => 'बहराइन', 'BI' => 'बुरूण्डी', 'BJ' => 'बेनिन', - 'BL' => 'सेन्ट बार्थालेमी', + 'BL' => 'सेन्ट बार्थेलेमी', 'BM' => 'बर्मुडा', 'BN' => 'ब्रुनाइ', 'BO' => 'बोलिभिया', @@ -50,10 +50,10 @@ return array ( 'CA' => 'क्यानाडा', 'CC' => 'कोकोस (किलिंग) टापुहरु', 'CD' => 'कङ्गो - किन्शासा', - 'CF' => 'केन्द्रीय अफ्रिकी गणतन्त्र', + 'CF' => 'मध्य अफ्रिकी गणतन्त्र', 'CG' => 'कङ्गो ब्राजाभिल', 'CH' => 'स्विजरल्याण्ड', - 'CI' => 'आइभोरी कोस्ट', + 'CI' => 'कोट दिभोर', 'CK' => 'कुक टापुहरु', 'CL' => 'चिली', 'CM' => 'क्यामरून', @@ -81,14 +81,14 @@ return array ( 'ER' => 'एरित्रिया', 'ES' => 'स्पेन', 'ET' => 'इथियोपिया', - 'FI' => 'फिन्ल्याण्ड', + 'FI' => 'फिनल्याण्ड', 'FJ' => 'फिजी', 'FK' => 'फकल्याण्ड टापुहरु', 'FM' => 'माइक्रोनेसिया', 'FO' => 'फारो टापुहरू', 'FR' => 'फ्रान्स', 'GA' => 'गावोन', - 'GB' => 'बेलायत', + 'GB' => 'संयुक्त अधिराज्य', 'GD' => 'ग्रेनाडा', 'GE' => 'जर्जिया', 'GF' => 'फ्रान्सेली गायना', @@ -100,13 +100,13 @@ return array ( 'GN' => 'गिनी', 'GP' => 'ग्वाडेलुप', 'GQ' => 'भू-मध्यीय गिनी', - 'GR' => 'ग्रिस', + 'GR' => 'ग्रीस', 'GS' => 'दक्षिण जर्जिया र दक्षिण स्यान्डवीच टापुहरू', 'GT' => 'ग्वाटेमाला', 'GU' => 'गुवाम', 'GW' => 'गिनी-बिसाउ', 'GY' => 'गुयाना', - 'HK' => 'हङकङ चिनियाँ समाजबादी स्वायत्त क्षेत्र', + 'HK' => 'हङकङ चिनियाँ विशेष प्रशासनिक क्षेत्र', 'HN' => 'हन्डुरास', 'HR' => 'क्रोएशिया', 'HT' => 'हैटी', @@ -123,7 +123,7 @@ return array ( 'IS' => 'आइस्ल्याण्ड', 'IT' => 'इटाली', 'JE' => 'जर्सी', - 'JM' => 'जमाइका', + 'JM' => 'जमैका', 'JO' => 'जोर्डन', 'JP' => 'जापान', 'KE' => 'केन्या', @@ -140,7 +140,7 @@ return array ( 'LA' => 'लाओस', 'LB' => 'लेबनन', 'LC' => 'सेन्ट लुसिया', - 'LI' => 'लिएखटेन्स्टाइन', + 'LI' => 'लिकटेन्सटाइन', 'LK' => 'श्रीलङ्का', 'LR' => 'लाइबेरिया', 'LS' => 'लेसोथो', @@ -151,7 +151,7 @@ return array ( 'MA' => 'मोरोक्को', 'MC' => 'मोनाको', 'MD' => 'माल्डोभा', - 'ME' => 'मोन्टेनेग्रो', + 'ME' => 'मोन्टेनिग्रो', 'MF' => 'सेन्ट मार्टिन', 'MG' => 'माडागास्कर', 'MH' => 'मार्शल टापुहरु', @@ -159,13 +159,13 @@ return array ( 'ML' => 'माली', 'MM' => 'म्यान्मार (बर्मा)', 'MN' => 'मङ्गोलिया', - 'MO' => 'मकाउ चिनियाँ स्वशासित क्षेत्र', + 'MO' => '(मकाउ चिनियाँ विशेष प्रशासनिक क्षेत्र', 'MP' => 'उत्तरी मारिआना टापु', 'MQ' => 'मार्टिनिक', 'MR' => 'माउरिटानिया', 'MS' => 'मोन्टसेर्राट', 'MT' => 'माल्टा', - 'MU' => 'माउरिटस', + 'MU' => 'मौरिसियस', 'MV' => 'माल्दिभ्स', 'MW' => 'मालावी', 'MX' => 'मेक्सिको', @@ -219,7 +219,7 @@ return array ( 'SN' => 'सेनेगल', 'SO' => 'सोमालिया', 'SR' => 'सुरिनेम', - 'SS' => 'दक्षिणी सुडान', + 'SS' => 'दक्षिण सुडान', 'ST' => 'साओ टोमे र प्रिन्सिप', 'SV' => 'एल् साल्भाडोर', 'SX' => 'सिन्ट मार्टेन', @@ -251,7 +251,7 @@ return array ( 'VA' => 'भेटिकन सिटी', 'VC' => 'सेन्ट भिन्सेन्ट र ग्रेनाडिन्स', 'VE' => 'भेनेजुएला', - 'VG' => 'बेलायती भर्जिन टापुहरु', + 'VG' => 'बेलायती भर्जिन टापुहरू', 'VI' => 'संयुक्त राज्य भर्जिन टापुहरु', 'VN' => 'भिएतनाम', 'VU' => 'भानुआतु', @@ -262,5 +262,5 @@ return array ( 'YT' => 'मायोट्ट', 'ZA' => 'दक्षिण अफ्रिका', 'ZM' => 'जाम्बिया', - 'ZW' => 'जिम्बाबे', + 'ZW' => 'जिम्बाबवे', ); diff --git a/vendor/giggsey/locale/data/nl.php b/vendor/giggsey/locale/data/nl.php index de7386edc..dead4303e 100644 --- a/vendor/giggsey/locale/data/nl.php +++ b/vendor/giggsey/locale/data/nl.php @@ -1,6 +1,6 @@ 'ଗ୍ରୀନଲ୍ୟାଣ୍ଡ', 'GM' => 'ଗାମ୍ବିଆ', 'GN' => 'ଗୁଇନିଆ', - 'GP' => 'ଗୁଆଡେଲୋପ୍‌', + 'GP' => 'ଗୁଆଡେଲୋପ୍', 'GQ' => 'ଇକ୍ବାଟେରିଆଲ୍ ଗୁଇନିଆ', 'GR' => 'ଗ୍ରୀସ୍', 'GS' => 'ଦକ୍ଷିଣ ଜର୍ଜିଆ ଏବଂ ଦକ୍ଷିଣ ସାଣ୍ଡୱିଚ୍ ଦ୍ୱୀପପୁଞ୍ଜ', @@ -130,7 +130,7 @@ return array ( 'KG' => 'କିର୍ଗିଜିସ୍ତାନ', 'KH' => 'କାମ୍ବୋଡିଆ', 'KI' => 'କିରିବାଟି', - 'KM' => 'କୋମୋରସ୍‌', + 'KM' => 'କୋମୋରସ୍', 'KN' => 'ସେଣ୍ଟ କିଟସ୍‌ ଏବଂ ନେଭିସ୍‌', 'KP' => 'ଉତ୍ତର କୋରିଆ', 'KR' => 'ଦକ୍ଷିଣ କୋରିଆ', @@ -150,11 +150,11 @@ return array ( 'LY' => 'ଲିବ୍ୟା', 'MA' => 'ମୋରୋକ୍କୋ', 'MC' => 'ମୋନାକୋ', - 'MD' => 'ମାଲଡୋଭା', + 'MD' => 'ମୋଲଡୋଭା', 'ME' => 'ମଣ୍ଟେନିଗ୍ରୋ', 'MF' => 'ସେଣ୍ଟ ମାର୍ଟିନ୍', 'MG' => 'ମାଡାଗାସ୍କର୍', - 'MH' => 'ମାର୍ଶାଲ୍‌ ଦ୍ୱୀପପୁଞ୍ଜ', + 'MH' => 'ମାର୍ଶାଲ୍ ଦ୍ୱୀପପୁଞ୍ଜ', 'MK' => 'ମାସେଡୋନିଆ', 'ML' => 'ମାଲି', 'MM' => 'ମିଆଁମାର', @@ -174,7 +174,7 @@ return array ( 'NA' => 'ନାମିବିଆ', 'NC' => 'ନୂତନ କାଲେଡୋନିଆ', 'NE' => 'ନାଇଜର', - 'NF' => 'ନର୍ଫକ୍‌ ଦ୍ୱୀପ', + 'NF' => 'ନର୍ଫକ୍ ଦ୍ଵୀପ', 'NG' => 'ନାଇଜେରିଆ', 'NI' => 'ନିକାରାଗୁଆ', 'NL' => 'ନେଦରଲ୍ୟାଣ୍ଡ', @@ -242,13 +242,13 @@ return array ( 'TV' => 'ତୁଭାଲୁ', 'TW' => 'ତାଇୱାନ', 'TZ' => 'ତାଞ୍ଜାନିଆ', - 'UA' => 'ୟୁକ୍ରେନ୍‌', + 'UA' => 'ୟୁକ୍ରେନ୍', 'UG' => 'ଉଗାଣ୍ଡା', 'UM' => 'ଯୁକ୍ତରାଷ୍ଟ୍ର ଆଉଟ୍‌ଲାଇଙ୍ଗ ଦ୍ଵୀପପୁଞ୍ଜ', 'US' => 'ଯୁକ୍ତ ରାଷ୍ଟ୍ର', 'UY' => 'ଉରୁଗୁଏ', 'UZ' => 'ଉଜବେକିସ୍ତାନ', - 'VA' => 'ଭାଟିକାନ୍‌ ସିଟି', + 'VA' => 'ଭାଟିକାନ୍ ସିଟି', 'VC' => 'ସେଣ୍ଟ ଭିନସେଣ୍ଟ ଏବଂ ଦି ଗ୍ରେନାଡିସ୍', 'VE' => 'ଭେନେଜୁଏଲା', 'VG' => 'ବ୍ରିଟିଶ୍‌ ଭର୍ଜିନ୍ ଦ୍ୱୀପପୁଞ୍ଜ', diff --git a/vendor/giggsey/locale/data/os.php b/vendor/giggsey/locale/data/os.php index 847455c13..291d75873 100644 --- a/vendor/giggsey/locale/data/os.php +++ b/vendor/giggsey/locale/data/os.php @@ -1,6 +1,6 @@ 'د توغندیو ټاپو', + 'AC' => 'اسينشان ټاپو', 'AD' => 'اندورا', 'AE' => 'متحده عرب امارات', 'AF' => 'افغانستان', @@ -20,7 +20,7 @@ return array ( 'AM' => 'ارمنستان', 'AO' => 'انګولا', 'AQ' => 'انتارکتیکا', - 'AR' => 'ارژنټاین', + 'AR' => 'ارجنټاين', 'AS' => 'امریکایی سمو', 'AT' => 'اتریش', 'AU' => 'آسټرالیا', @@ -36,21 +36,21 @@ return array ( 'BH' => 'بحرين', 'BI' => 'بروندي', 'BJ' => 'بینن', - 'BL' => 'سینټ بارټیلیټی', + 'BL' => 'سينټ بارتيلمي', 'BM' => 'برمودا', - 'BN' => 'بروني', + 'BN' => 'برونائي', 'BO' => 'بولیویا', 'BQ' => 'کیریبین هالینډ', 'BR' => 'برازیل', - 'BS' => 'باهاما', + 'BS' => 'باهماس', 'BT' => 'بهوټان', 'BW' => 'بوتسوانه', 'BY' => 'بیلاروس', 'BZ' => 'بلیز', 'CA' => 'کاناډا', - 'CC' => 'کوکوز (کیبل) ټاپوګانې', + 'CC' => 'کوکوز (کيلنګ) ټاپوګان', 'CD' => 'کانګو - کینشاسا', - 'CF' => 'د مرکزي افریقا جمهوریت', + 'CF' => 'وسطي افريقا جمهور', 'CG' => 'کانګو - بروزوییل', 'CH' => 'سویس', 'CI' => 'د عاج ساحل', @@ -62,28 +62,28 @@ return array ( 'CR' => 'کوستاریکا', 'CU' => 'کیوبا', 'CV' => 'کیپ ورد', - 'CW' => 'کوکوکا', - 'CX' => 'د کریساس ټاپو', + 'CW' => 'کوراکاو', + 'CX' => 'د کريسمس ټاپو', 'CY' => 'قبرس', 'CZ' => 'چکیا', 'DE' => 'المان', 'DG' => 'ډایګو ګارسیا', - 'DJ' => 'جی بوتي', + 'DJ' => 'جبوتي', 'DK' => 'ډنمارک', 'DM' => 'دومینیکا', - 'DO' => 'دومینیکن جمهوريت', + 'DO' => 'جمهوريه ډومينيکن', 'DZ' => 'الجزایر', - 'EA' => 'سئوتا او مالایا', + 'EA' => 'سيوتا او ماليلا', 'EC' => 'اکوادور', 'EE' => 'استونیا', 'EG' => 'مصر', - 'EH' => 'لویدیځ صحرا', + 'EH' => 'لويديځ صحارا', 'ER' => 'اریتره', 'ES' => 'هسپانیه', 'ET' => 'حبشه', 'FI' => 'فنلینډ', - 'FJ' => 'في جي', - 'FK' => 'فوکلنډ ټاپو', + 'FJ' => 'فجي', + 'FK' => 'فاکلينډ ټاپوګان', 'FM' => 'میکرونیزیا', 'FO' => 'فارو ټاپو', 'FR' => 'فرانسه', @@ -101,23 +101,23 @@ return array ( 'GP' => 'ګالډیپ', 'GQ' => 'استوایی ګینه', 'GR' => 'یونان', - 'GS' => 'سویل جورجیا او جنوبي سینڈوچ ټاپو', + 'GS' => 'سويلي جارجيا او سويلي سېنډوچ ټاپوګان', 'GT' => 'ګواتیمالا', 'GU' => 'ګوام', 'GW' => 'ګینه بیسو', 'GY' => 'ګیانا', 'HK' => 'هانګ کانګ SAR چین', 'HN' => 'هانډوراس', - 'HR' => 'کرواثیا', + 'HR' => 'کرواشيا', 'HT' => 'هایټي', 'HU' => 'مجارستان', - 'IC' => 'د کانري ټاپو', + 'IC' => 'د کناري ټاپوګان', 'ID' => 'اندونیزیا', 'IE' => 'ایرلینډ', 'IL' => 'اسراييل', 'IM' => 'د آئل آف مین', 'IN' => 'هند', - 'IO' => 'د هند سمندر سمندر سیمه', + 'IO' => 'د بريتانوي هند سمندري سيمه', 'IQ' => 'عراق', 'IR' => 'ايران', 'IS' => 'آیسلینډ', @@ -137,16 +137,16 @@ return array ( 'KW' => 'کویټ', 'KY' => 'کیمان ټاپوګان', 'KZ' => 'قزاقستان', - 'LA' => 'لاووس', - 'LB' => 'لېبنان', + 'LA' => 'لاوس', + 'LB' => 'لبنان', 'LC' => 'سینټ لوسیا', 'LI' => 'لیختن اشتاین', - 'LK' => 'سريلانکا', + 'LK' => 'سريلنکا', 'LR' => 'لایبریا', 'LS' => 'لسوتو', 'LT' => 'لیتوانیا', 'LU' => 'لوګزامبورګ', - 'LV' => 'لتوني', + 'LV' => 'ليتهويا', 'LY' => 'لیبیا', 'MA' => 'مراکش', 'MC' => 'موناکو', @@ -154,13 +154,13 @@ return array ( 'ME' => 'مونټینیګرو', 'MF' => 'سینټ مارټن', 'MG' => 'مدګاسکار', - 'MH' => 'مارشال ټاپو', + 'MH' => 'مارشل ټاپوګان', 'MK' => 'مقدونیه', 'ML' => 'مالي', - 'MM' => 'ميانامار (برما)', + 'MM' => 'ميانمار (برما)', 'MN' => 'مغولستان', 'MO' => 'مکا سار چین', - 'MP' => 'شمالي ماریانا ټاپو', + 'MP' => 'شمالي ماريانا ټاپوګان', 'MQ' => 'مارټینیک', 'MR' => 'موریتانیا', 'MS' => 'مانټیسیرت', @@ -170,7 +170,7 @@ return array ( 'MW' => 'مالاوي', 'MX' => 'میکسیکو', 'MY' => 'مالیزیا', - 'MZ' => 'موزمبیک', + 'MZ' => 'موزمبيق', 'NA' => 'نیمبیا', 'NC' => 'نوی کالیډونیا', 'NE' => 'نیجر', @@ -186,40 +186,40 @@ return array ( 'OM' => 'عمان', 'PA' => 'پاناما', 'PE' => 'پیرو', - 'PF' => 'فرانسوي پولینیا', - 'PG' => 'پاپ نيو ګيني، د يو هېواد نوم دې', + 'PF' => 'فرانسوي پولينيسيا', + 'PG' => 'پاپوا نيو ګيني', 'PH' => 'فلپين', 'PK' => 'پاکستان', 'PL' => 'پولنډ', 'PM' => 'سینټ پییر او میکولون', - 'PN' => 'پیټکیرن ټاپو', + 'PN' => 'پيټکيرن ټاپوګان', 'PR' => 'پورتو ریکو', 'PS' => 'فلسطين سيمې', 'PT' => 'پورتګال', - 'PW' => 'پلو', + 'PW' => 'پلاؤ', 'PY' => 'پاراګوی', 'QA' => 'قطر', 'RE' => 'ریونین', 'RO' => 'رومانیا', - 'RS' => 'صربیا', + 'RS' => 'سربيا', 'RU' => 'روسیه', 'RW' => 'روندا', 'SA' => 'سعودي عربستان', - 'SB' => 'سلیمان ټاپو', + 'SB' => 'سليمان ټاپوګان', 'SC' => 'سیچیلیس', 'SD' => 'سوډان', 'SE' => 'سویډن', 'SG' => 'سينگاپور', 'SH' => 'سینټ هیلینا', 'SI' => 'سلوانیا', - 'SJ' => 'سلواډر او جان میین', + 'SJ' => 'سوالبارد او جان ميين', 'SK' => 'سلواکیا', 'SL' => 'سییرا لیون', 'SM' => 'سان مارینو', - 'SN' => 'سنګال', + 'SN' => 'سينيګال', 'SO' => 'سومالیا', 'SR' => 'سورینام', - 'SS' => 'جنوبي سوډان', + 'SS' => 'سويلي سوډان', 'ST' => 'ساو ټیم او پرنسیپ', 'SV' => 'سالوېډور', 'SX' => 'سینټ مارټین', @@ -229,37 +229,37 @@ return array ( 'TC' => 'د ترکیې او کیکاسو ټاپو', 'TD' => 'چاډ', 'TF' => 'د فرانسې جنوبي سیمې', - 'TG' => 'تلل', + 'TG' => 'ټوګو', 'TH' => 'تهايلنډ', - 'TJ' => 'تاجيکستان', + 'TJ' => 'تاجکستان', 'TK' => 'توکیلو', 'TL' => 'تيمور-ليسټ', 'TM' => 'تورکمنستان', 'TN' => 'تونس', 'TO' => 'تونګا', - 'TR' => 'تورکيه', - 'TT' => 'ټرینیاډډ او ټوبوګ', + 'TR' => 'ترکي', + 'TT' => 'ټرينيډاډ او ټوباګو', 'TV' => 'توالیو', - 'TW' => 'تیوان', + 'TW' => 'تائيوان', 'TZ' => 'تنزانیا', 'UA' => 'اوکراین', 'UG' => 'یوګانډا', - 'UM' => 'د متحده ایالاتو ټاپو ټاپوګانې', - 'US' => 'متحده ایالات', + 'UM' => 'د متحده ایالاتو ټاپوګان', + 'US' => 'متحده آيالات', 'UY' => 'یوروګوی', 'UZ' => 'اوزبکستان', 'VA' => 'واتیکان ښار', 'VC' => 'سینټ ویسنټینټ او ګرینډینز', 'VE' => 'وینزویلا', - 'VG' => 'بریتانوی ویګور ټاپو', - 'VI' => 'د متحده ایالاتو ویګور ټاپو', + 'VG' => 'بریتانوی ویګور ټاپوګان', + 'VI' => 'د متحده آيالاتو ورجن ټاپوګان', 'VN' => 'وېتنام', 'VU' => 'واناتو', 'WF' => 'والیس او فوتونا', 'WS' => 'ساموا', 'XK' => 'کوسوو', 'YE' => 'یمن', - 'YT' => 'میټوت', + 'YT' => 'مايوټ', 'ZA' => 'سویلي افریقا', 'ZM' => 'زیمبیا', 'ZW' => 'زیمبابوی', diff --git a/vendor/giggsey/locale/data/pt-ao.php b/vendor/giggsey/locale/data/pt-ao.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-ao.php +++ b/vendor/giggsey/locale/data/pt-ao.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-ch.php b/vendor/giggsey/locale/data/pt-ch.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-ch.php +++ b/vendor/giggsey/locale/data/pt-ch.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-cv.php b/vendor/giggsey/locale/data/pt-cv.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-cv.php +++ b/vendor/giggsey/locale/data/pt-cv.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-gq.php b/vendor/giggsey/locale/data/pt-gq.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-gq.php +++ b/vendor/giggsey/locale/data/pt-gq.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-gw.php b/vendor/giggsey/locale/data/pt-gw.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-gw.php +++ b/vendor/giggsey/locale/data/pt-gw.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-lu.php b/vendor/giggsey/locale/data/pt-lu.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-lu.php +++ b/vendor/giggsey/locale/data/pt-lu.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-mo.php b/vendor/giggsey/locale/data/pt-mo.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-mo.php +++ b/vendor/giggsey/locale/data/pt-mo.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-mz.php b/vendor/giggsey/locale/data/pt-mz.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-mz.php +++ b/vendor/giggsey/locale/data/pt-mz.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-pt.php b/vendor/giggsey/locale/data/pt-pt.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-pt.php +++ b/vendor/giggsey/locale/data/pt-pt.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-st.php b/vendor/giggsey/locale/data/pt-st.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-st.php +++ b/vendor/giggsey/locale/data/pt-st.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt-tl.php b/vendor/giggsey/locale/data/pt-tl.php index 3157cc53a..028ead838 100644 --- a/vendor/giggsey/locale/data/pt-tl.php +++ b/vendor/giggsey/locale/data/pt-tl.php @@ -1,6 +1,6 @@ 'Anguila', 'AM' => 'Arménia', 'AX' => 'Alanda', 'BD' => 'Bangladeche', @@ -26,10 +25,12 @@ return array ( 'CZ' => 'Chéquia', 'DJ' => 'Jibuti', 'DM' => 'Domínica', + 'EA' => 'Ceuta e Melilha', 'EE' => 'Estónia', 'EH' => 'Sara Ocidental', - 'FK' => 'Ilhas Falkland', + 'FK' => 'Ilhas Malvinas (Falkland)', 'FO' => 'Ilhas Faroé', + 'GG' => 'Guernesey', 'GL' => 'Gronelândia', 'GU' => 'Guame', 'IR' => 'Irão', @@ -42,13 +43,14 @@ return array ( 'LK' => 'Sri Lanca', 'LV' => 'Letónia', 'MC' => 'Mónaco', + 'MD' => 'Moldávia', 'MG' => 'Madagáscar', 'MK' => 'Macedónia', + 'MO' => 'Macau, RAE da China', 'MS' => 'Monserrate', 'MU' => 'Maurícia', 'MW' => 'Maláui', 'NC' => 'Nova Caledónia', - 'NL' => 'Países Baixos', 'NU' => 'Niuê', 'PL' => 'Polónia', 'PS' => 'Territórios palestinianos', @@ -57,7 +59,6 @@ return array ( 'SM' => 'São Marinho', 'SV' => 'Salvador', 'SX' => 'São Martinho (Sint Maarten)', - 'TC' => 'Ilhas Turcas e Caicos', 'TJ' => 'Tajiquistão', 'TK' => 'Toquelau', 'TM' => 'Turquemenistão', diff --git a/vendor/giggsey/locale/data/pt.php b/vendor/giggsey/locale/data/pt.php index c1d3086ee..eb4abd30b 100644 --- a/vendor/giggsey/locale/data/pt.php +++ b/vendor/giggsey/locale/data/pt.php @@ -1,6 +1,6 @@ 'Emirados Árabes Unidos', 'AF' => 'Afeganistão', 'AG' => 'Antígua e Barbuda', - 'AI' => 'Anguilla', + 'AI' => 'Anguila', 'AL' => 'Albânia', 'AM' => 'Armênia', 'AO' => 'Angola', @@ -51,7 +51,7 @@ return array ( 'CC' => 'Ilhas Cocos (Keeling)', 'CD' => 'Congo - Kinshasa', 'CF' => 'República Centro-Africana', - 'CG' => 'Congo - Brazzaville', + 'CG' => 'República do Congo', 'CH' => 'Suíça', 'CI' => 'Costa do Marfim', 'CK' => 'Ilhas Cook', @@ -73,7 +73,7 @@ return array ( 'DM' => 'Dominica', 'DO' => 'República Dominicana', 'DZ' => 'Argélia', - 'EA' => 'Ceuta e Melilha', + 'EA' => 'Ceuta e Melilla', 'EC' => 'Equador', 'EE' => 'Estônia', 'EG' => 'Egito', @@ -150,7 +150,7 @@ return array ( 'LY' => 'Líbia', 'MA' => 'Marrocos', 'MC' => 'Mônaco', - 'MD' => 'Moldávia', + 'MD' => 'Moldova', 'ME' => 'Montenegro', 'MF' => 'São Martinho', 'MG' => 'Madagascar', @@ -159,7 +159,7 @@ return array ( 'ML' => 'Mali', 'MM' => 'Mianmar (Birmânia)', 'MN' => 'Mongólia', - 'MO' => 'Macau, RAE da China', + 'MO' => 'RAE de Macau (China)', 'MP' => 'Ilhas Marianas do Norte', 'MQ' => 'Martinica', 'MR' => 'Mauritânia', @@ -177,7 +177,7 @@ return array ( 'NF' => 'Ilha Norfolk', 'NG' => 'Nigéria', 'NI' => 'Nicarágua', - 'NL' => 'Holanda', + 'NL' => 'Países Baixos', 'NO' => 'Noruega', 'NP' => 'Nepal', 'NR' => 'Nauru', @@ -226,7 +226,7 @@ return array ( 'SY' => 'Síria', 'SZ' => 'Suazilândia', 'TA' => 'Tristão da Cunha', - 'TC' => 'Ilhas Turks e Caicos', + 'TC' => 'Ilhas Turcas e Caicos', 'TD' => 'Chade', 'TF' => 'Territórios Franceses do Sul', 'TG' => 'Togo', diff --git a/vendor/giggsey/locale/data/qu.php b/vendor/giggsey/locale/data/qu.php index 25969b5fd..d459b4b5d 100644 --- a/vendor/giggsey/locale/data/qu.php +++ b/vendor/giggsey/locale/data/qu.php @@ -1,6 +1,6 @@ 'Thailanda', 'TJ' => 'Tadjikistan', 'TK' => 'Tokelau', - 'TL' => 'Timorul de Est', + 'TL' => 'Timor-Leste', 'TM' => 'Turkmenistan', 'TN' => 'Tunisia', 'TO' => 'Tonga', diff --git a/vendor/giggsey/locale/data/rof.php b/vendor/giggsey/locale/data/rof.php index a9bb90ac0..7fa2e3dc4 100644 --- a/vendor/giggsey/locale/data/rof.php +++ b/vendor/giggsey/locale/data/rof.php @@ -1,6 +1,6 @@ 'КНДР', 'KR' => 'Республика Корея', 'KW' => 'Кувейт', - 'KY' => 'Каймановы о-ва', + 'KY' => 'Острова Кайман', 'KZ' => 'Казахстан', 'LA' => 'Лаос', 'LB' => 'Ливан', @@ -251,7 +251,7 @@ return array ( 'VA' => 'Ватикан', 'VC' => 'Сент-Винсент и Гренадины', 'VE' => 'Венесуэла', - 'VG' => 'Виргинские о-ва (Британские)', + 'VG' => 'Виргинские о-ва (Великобритания)', 'VI' => 'Виргинские о-ва (США)', 'VN' => 'Вьетнам', 'VU' => 'Вануату', diff --git a/vendor/giggsey/locale/data/rw.php b/vendor/giggsey/locale/data/rw.php index 0b1ded458..2b9d528bb 100644 --- a/vendor/giggsey/locale/data/rw.php +++ b/vendor/giggsey/locale/data/rw.php @@ -1,6 +1,6 @@ 'بوسنیا اور هرزیگوینا', 'BB' => 'باربڊوس', 'BD' => 'بنگلاديش', - 'BE' => 'آسٽريا', + 'BE' => 'بيلجيم', 'BF' => 'برڪينا فاسو', 'BG' => 'بلغاريا', 'BH' => 'بحرين', @@ -52,7 +52,7 @@ return array ( 'CD' => 'ڪانگو -ڪنشاسا', 'CF' => 'وچ آفريقي جمهوريه', 'CG' => 'ڪانگو - برازاویل', - 'CH' => 'سئيٽرزلينڊ', + 'CH' => 'سوئزرلينڊ', 'CI' => 'آئيوري ڪنارو', 'CK' => 'ڪوڪ ٻيٽ', 'CL' => 'چلي', @@ -194,7 +194,7 @@ return array ( 'PM' => 'سینٽ پیئر و میڪوئیلون', 'PN' => 'پٽڪئرن ٻيٽ', 'PR' => 'پيوئرٽو ريڪو', - 'PS' => 'فلسطینی', + 'PS' => 'فلسطيني حدون', 'PT' => 'پرتگال', 'PW' => 'پلائو', 'PY' => 'پيراگوءِ', diff --git a/vendor/giggsey/locale/data/se-fi.php b/vendor/giggsey/locale/data/se-fi.php index 92ca9e434..a0f89f958 100644 --- a/vendor/giggsey/locale/data/se-fi.php +++ b/vendor/giggsey/locale/data/se-fi.php @@ -1,6 +1,6 @@ 'ඇන්ගෝලාව', 'AQ' => 'ඇන්ටාක්ටිකාව', 'AR' => 'ආර්ජෙන්ටිනාව', - 'AS' => 'ඇමරිකානු සැමෝවාව', + 'AS' => 'ඇමරිකානු සැමෝවා', 'AT' => 'ඔස්ට්‍රියාව', 'AU' => 'ඕස්ට්‍රේලියාව', 'AW' => 'අරූබා', @@ -65,7 +65,7 @@ return array ( 'CW' => 'කුරකාවෝ', 'CX' => 'ක්‍රිස්මස් දූපත', 'CY' => 'සයිප්‍රසය', - 'CZ' => 'චෙක් ජනරජය', + 'CZ' => 'චෙචියාව', 'DE' => 'ජර්මනිය', 'DG' => 'දියාගෝ ගාර්සියා', 'DJ' => 'ජිබුටි', diff --git a/vendor/giggsey/locale/data/sk.php b/vendor/giggsey/locale/data/sk.php index 91b70fb05..2aa330c56 100644 --- a/vendor/giggsey/locale/data/sk.php +++ b/vendor/giggsey/locale/data/sk.php @@ -1,6 +1,6 @@ 'Jasiiradda Asensiyoon', 'AD' => 'Andora', 'AE' => 'Imaaraadka Carabta ee Midoobay', 'AF' => 'Afgaanistaan', - 'AG' => 'Antigua iyo Barbuda', - 'AI' => 'Anguilla', + 'AG' => 'Antigua & Barbuuda', + 'AI' => 'Anguula', 'AL' => 'Albaaniya', 'AM' => 'Armeeniya', 'AO' => 'Angoola', - 'AR' => 'Arjantiin', + 'AQ' => 'Antaarktika', + 'AR' => 'Arjentiina', 'AS' => 'Samowa Ameerika', 'AT' => 'Awsteriya', 'AU' => 'Awstaraaliya', 'AW' => 'Aruba', - 'AZ' => 'Azerbajaan', - 'BA' => 'Bosniya Hersigoviina', + 'AX' => 'Jasiiradda Aland', + 'AZ' => 'Asarbajan', + 'BA' => 'Boosniya & Harsegofina', 'BB' => 'Baarbadoos', - 'BD' => 'Bangaaladheesh', + 'BD' => 'Bangladesh', 'BE' => 'Biljam', 'BF' => 'Burkiina Faaso', 'BG' => 'Bulgaariya', 'BH' => 'Baxreyn', 'BI' => 'Burundi', 'BJ' => 'Biniin', - 'BM' => 'Bermuuda', + 'BL' => 'St. Baathelemiy', + 'BM' => 'Barmuuda', 'BN' => 'Buruneeya', 'BO' => 'Boliifiya', - 'BR' => 'Braasiil', + 'BQ' => 'Karibiyaan Nadarlands', + 'BR' => 'Baraasiil', 'BS' => 'Bahaamas', - 'BT' => 'Bhutan', + 'BT' => 'Buutan', 'BW' => 'Botuswaana', 'BY' => 'Belarus', - 'BZ' => 'Belize', + 'BZ' => 'Beliis', 'CA' => 'Kanada', + 'CC' => 'Jasiiradda Kookoos', 'CD' => 'Jamhuuriyadda Dimuquraadiga Kongo', 'CF' => 'Jamhuuriyadda Afrikada Dhexe', 'CG' => 'Kongo', 'CH' => 'Swiiserlaand', - 'CI' => 'Ivory coast', - 'CK' => 'Jaziiradda Cook', + 'CI' => 'Ayfori Koost', + 'CK' => 'Jasiiradda Kook', 'CL' => 'Jili', 'CM' => 'Kaameruun', 'CN' => 'Shiinaha', 'CO' => 'Kolombiya', 'CR' => 'Kosta Riika', 'CU' => 'Kuuba', - 'CV' => 'Cape Verde Islands', + 'CV' => 'Jasiiradda Kayb Faarde', + 'CW' => 'Kurakaaw', + 'CX' => 'Jasiiradda Kirismas', 'CY' => 'Qubrus', - 'CZ' => 'Jamhuuriyadda Jek', + 'CZ' => 'Jekiya', 'DE' => 'Jarmal', + 'DG' => 'Diyeego Karsiya', 'DJ' => 'Jabuuti', 'DK' => 'Denmark', - 'DM' => 'Domeenika', - 'DO' => 'Jamhuuriyadda Domeenika', + 'DM' => 'Dominika', + 'DO' => 'Jamhuuriyaddda Dominika', 'DZ' => 'Aljeeriya', + 'EA' => 'Seyuta & Meliila', 'EC' => 'Ikuwadoor', 'EE' => 'Estooniya', 'EG' => 'Masar', - 'ER' => 'Eretereeya', + 'EH' => 'Saxaraha Galbeed', + 'ER' => 'Eritreeya', 'ES' => 'Isbeyn', 'ET' => 'Itoobiya', 'FI' => 'Finland', 'FJ' => 'Fiji', 'FK' => 'Jaziiradaha Fooklaan', - 'FM' => 'Micronesia', + 'FM' => 'Mikroneesiya', + 'FO' => 'Jasiiradda Faroo', 'FR' => 'Faransiis', 'GA' => 'Gaaboon', - 'GB' => 'United Kingdom', + 'GB' => 'Boqortooyada Midowday', 'GD' => 'Giriinaada', 'GE' => 'Joorjiya', - 'GF' => 'French Guiana', + 'GF' => 'Faransiis Gini', + 'GG' => 'Guurnsey', 'GH' => 'Gaana', 'GI' => 'Gibraltar', 'GL' => 'Greenland', 'GM' => 'Gambiya', 'GN' => 'Gini', - 'GP' => 'Guadeloupe', - 'GQ' => 'Equatorial Guinea', + 'GP' => 'Guadeluub', + 'GQ' => 'Ekuwatooriyal Gini', 'GR' => 'Giriig', + 'GS' => 'Jasiiradda Joorjiyada Koonfureed & Sandwij', 'GT' => 'Guwaatamaala', - 'GU' => 'Guam', + 'GU' => 'Guaam', 'GW' => 'Gini-Bisaaw', 'GY' => 'Guyana', + 'HK' => 'Hong Kong', 'HN' => 'Honduras', 'HR' => 'Korweeshiya', - 'HT' => 'Hayti', - 'HU' => 'Hangeri', + 'HT' => 'Haiti', + 'HU' => 'Hangari', + 'IC' => 'Jasiiradda Kanari', 'ID' => 'Indoneesiya', 'IE' => 'Ayrlaand', 'IL' => 'Israaʼiil', + 'IM' => 'Jasiiradda Isle of Man', 'IN' => 'Hindiya', - 'IO' => 'British Indian Ocean Territory', + 'IO' => 'Dhul xadeedka Badweynta Hindiya ee Biritishka', 'IQ' => 'Ciraaq', 'IR' => 'Iiraan', - 'IS' => 'Iislaand', + 'IS' => 'Ayslaand', 'IT' => 'Talyaani', - 'JM' => 'Jameyka', + 'JE' => 'Jaarsey', + 'JM' => 'Jamaaika', 'JO' => 'Urdun', 'JP' => 'Jabaan', - 'KE' => 'Kiiniya', + 'KE' => 'Kenya', 'KG' => 'Kirgistaan', 'KH' => 'Kamboodiya', 'KI' => 'Kiribati', 'KM' => 'Komooros', - 'KN' => 'Saint Kitts and Nevis', + 'KN' => 'St. Kitts & Nefis', 'KP' => 'Kuuriyada Waqooyi', 'KR' => 'Kuuriyada Koonfureed', 'KW' => 'Kuwayt', @@ -121,114 +139,125 @@ return array ( 'KZ' => 'Kasaakhistaan', 'LA' => 'Laos', 'LB' => 'Lubnaan', - 'LC' => 'Saint Lucia', - 'LI' => 'Liechtenstein', + 'LC' => 'St. Lusia', + 'LI' => 'Liyjtensteyn', 'LK' => 'Sirilaanka', 'LR' => 'Laybeeriya', 'LS' => 'Losooto', 'LT' => 'Lituweeniya', 'LU' => 'Luksemboorg', 'LV' => 'Latfiya', - 'LY' => 'Liibiya', - 'MA' => 'Marooko', + 'LY' => 'Liibya', + 'MA' => 'Morooko', 'MC' => 'Moonako', 'MD' => 'Moldofa', + 'ME' => 'Moontenegro', + 'MF' => 'St. Maartin', 'MG' => 'Madagaskar', - 'MH' => 'Marshall Islands', - 'MK' => 'Makadooniya', + 'MH' => 'Jasiiradda Maarshal', + 'MK' => 'Masedooniya', 'ML' => 'Maali', 'MM' => 'Miyanmar', 'MN' => 'Mongooliya', - 'MP' => 'Northern Mariana Islands', - 'MQ' => 'Martinique', + 'MO' => 'Makaaw', + 'MP' => 'Jasiiradda Waqooyiga Mariaana', + 'MQ' => 'Maartinik', 'MR' => 'Muritaaniya', 'MS' => 'Montserrat', - 'MT' => 'Maalda', + 'MT' => 'Maalta', 'MU' => 'Murishiyoos', 'MV' => 'Maaldiqeen', 'MW' => 'Malaawi', 'MX' => 'Meksiko', 'MY' => 'Malaysia', - 'MZ' => 'Musambiig', + 'MZ' => 'Musambiik', 'NA' => 'Namiibiya', - 'NC' => 'New Caledonia', + 'NC' => 'Jasiiradda Niyuu Kaledooniya', 'NE' => 'Nayjer', - 'NF' => 'Norfolk Island', + 'NF' => 'Jasiiradda Noorfolk', 'NG' => 'Nayjeeriya', 'NI' => 'Nikaraaguwa', - 'NL' => 'Netherlands', + 'NL' => 'Nederlaands', 'NO' => 'Noorweey', 'NP' => 'Nebaal', 'NR' => 'Nauru', 'NU' => 'Niue', - 'NZ' => 'Neyuusilaand', + 'NZ' => 'Niyuusiilaand', 'OM' => 'Cumaan', - 'PA' => 'Panama', - 'PE' => 'Peru', - 'PF' => 'French Polynesia', - 'PG' => 'Papua New Guinea', + 'PA' => 'Baanama', + 'PE' => 'Beeru', + 'PF' => 'Booliyneesiya Faransiiska', + 'PG' => 'Babua Niyuu Gini', 'PH' => 'Filibiin', 'PK' => 'Bakistaan', 'PL' => 'Booland', 'PM' => 'Saint Pierre and Miquelon', - 'PN' => 'Pitcairn', - 'PR' => 'Puerto Rico', + 'PN' => 'Bitkairn', + 'PR' => 'Bueerto Riiko', 'PS' => 'Falastiin Daanka galbeed iyo Qasa', - 'PT' => 'Bortuqaal', - 'PW' => 'Palau', - 'PY' => 'Paraguay', + 'PT' => 'Bortugaal', + 'PW' => 'Balaaw', + 'PY' => 'Baraguaay', 'QA' => 'Qadar', 'RE' => 'Réunion', 'RO' => 'Rumaaniya', + 'RS' => 'Seerbiya', 'RU' => 'Ruush', 'RW' => 'Ruwanda', 'SA' => 'Sacuudi Carabiya', - 'SB' => 'Solomon Islands', + 'SB' => 'Jasiiradda Solomon', 'SC' => 'Sishelis', 'SD' => 'Suudaan', 'SE' => 'Iswidhan', 'SG' => 'Singaboor', 'SH' => 'Saint Helena', - 'SI' => 'Slovenia', - 'SK' => 'Slovakia', + 'SI' => 'islofeeniya', + 'SJ' => 'Jasiiradda Sfaldbaad & Jaan Mayen', + 'SK' => 'Islofaakiya', 'SL' => 'Siraaliyoon', 'SM' => 'San Marino', 'SN' => 'Sinigaal', 'SO' => 'Soomaaliya', - 'SR' => 'Suriname', - 'ST' => 'São Tomé and Príncipe', - 'SV' => 'El Salvador', + 'SR' => 'Surineym', + 'SS' => 'Koonfur Suudaan', + 'ST' => 'Sao Tome & Birincibal', + 'SV' => 'El Salfadoor', + 'SX' => 'Siint Maarteen', 'SY' => 'Suuriya', 'SZ' => 'Iswaasilaand', - 'TC' => 'Turks and Caicos Islands', + 'TA' => 'Tiristan da Kunha', + 'TC' => 'Turks & Kaikos Island', 'TD' => 'Jaad', + 'TF' => 'Dhul xadeedka Koonfureed ee Faransiiska', 'TG' => 'Toogo', 'TH' => 'Taylaand', 'TJ' => 'Tajikistan', - 'TK' => 'Tokelau', - 'TL' => 'Timorka bari', + 'TK' => 'Tokelaaw', + 'TL' => 'Timoor', 'TM' => 'Turkmenistan', 'TN' => 'Tuniisiya', 'TO' => 'Tonga', 'TR' => 'Turki', - 'TT' => 'Trinidad and Tobago', - 'TV' => 'Tuvalu', + 'TT' => 'Tirinidaad & Tobago', + 'TV' => 'Tufaalu', 'TW' => 'Taywaan', 'TZ' => 'Tansaaniya', 'UA' => 'Ukrayn', 'UG' => 'Ugaanda', + 'UM' => 'Jasiiradaha ka baxsan Maraykanka', 'US' => 'Maraykanka', 'UY' => 'Uruguwaay', 'UZ' => 'Uusbakistaan', 'VA' => 'Faatikaan', - 'VC' => 'Saint Vincent and the Grenadines', + 'VC' => 'St. Finsent & Girenadiins', 'VE' => 'Fenisuweela', - 'VG' => 'British Virgin Islands', - 'VI' => 'U.S. Virgin Islands', + 'VG' => 'Biritish Farjin Island', + 'VI' => 'U.S Fargin Island', 'VN' => 'Fiyetnaam', - 'VU' => 'Vanuatu', - 'WF' => 'Wallis and Futuna', - 'WS' => 'Samoa', + 'VU' => 'Fanuaatu', + 'WF' => 'Walis & Futuna', + 'WS' => 'Samoowa', + 'XK' => 'Koosofo', 'YE' => 'Yaman', 'YT' => 'Mayotte', 'ZA' => 'Koonfur Afrika', diff --git a/vendor/giggsey/locale/data/sq.php b/vendor/giggsey/locale/data/sq.php index 536a95b99..23a45bb5c 100644 --- a/vendor/giggsey/locale/data/sq.php +++ b/vendor/giggsey/locale/data/sq.php @@ -1,6 +1,6 @@ 'Bahrejn', 'BI' => 'Burundi', 'BJ' => 'Benin', - 'BL' => 'Shën-Bartolome', - 'BM' => 'Bermudë', + 'BL' => 'Sen-Bartelemi', + 'BM' => 'Bermude', 'BN' => 'Brunei', 'BO' => 'Bolivi', 'BQ' => 'Karaibet holandeze', 'BR' => 'Brazil', - 'BS' => 'Bahamas', + 'BS' => 'Bahama', 'BT' => 'Butan', 'BW' => 'Botsvanë', 'BY' => 'Bjellorusi', @@ -62,7 +62,7 @@ return array ( 'CR' => 'Kosta-Rikë', 'CU' => 'Kubë', 'CV' => 'Kepi i Gjelbër', - 'CW' => 'Kuraçao', + 'CW' => 'Kurasao', 'CX' => 'Ishulli i Krishtlindjes', 'CY' => 'Qipro', 'CZ' => 'Çeki', @@ -89,16 +89,16 @@ return array ( 'FR' => 'Francë', 'GA' => 'Gabon', 'GB' => 'Mbretëria e Bashkuar', - 'GD' => 'Grenadë', + 'GD' => 'Granadë', 'GE' => 'Gjeorgji', 'GF' => 'Guajana Franceze', 'GG' => 'Gernsej', 'GH' => 'Ganë', 'GI' => 'Gjibraltar', - 'GL' => 'Grenlandë', - 'GM' => 'Gambia', + 'GL' => 'Grënlandë', + 'GM' => 'Gambi', 'GN' => 'Guine', - 'GP' => 'Guadalupe', + 'GP' => 'Guadelupë', 'GQ' => 'Guineja Ekuatoriale', 'GR' => 'Greqi', 'GS' => 'Xhorxha Jugore dhe Ishujt Senduiçë të Jugut', @@ -127,13 +127,13 @@ return array ( 'JO' => 'Jordani', 'JP' => 'Japoni', 'KE' => 'Kenia', - 'KG' => 'Kirgistan', + 'KG' => 'Kirgizi', 'KH' => 'Kamboxhia', 'KI' => 'Kiribati', 'KM' => 'Komore', 'KN' => 'Shën-Kits dhe Nevis', - 'KP' => 'Koreja e Veriut', - 'KR' => 'Koreja e Jugut', + 'KP' => 'Kore e Veriut', + 'KR' => 'Kore e Jugut', 'KW' => 'Kuvajt', 'KY' => 'Ishujt Kajman', 'KZ' => 'Kazakistan', @@ -152,12 +152,12 @@ return array ( 'MC' => 'Monako', 'MD' => 'Moldavi', 'ME' => 'Mal i Zi', - 'MF' => 'Shën-Martin', + 'MF' => 'Sen-Marten', 'MG' => 'Madagaskar', 'MH' => 'Ishujt Marshall', 'MK' => 'Maqedoni', 'ML' => 'Mali', - 'MM' => 'Mianmar (Burma)', + 'MM' => 'Mianmar (Burmë)', 'MN' => 'Mongoli', 'MO' => 'RPA i Makaos', 'MP' => 'Ishujt e Marianës Veriore', @@ -172,7 +172,7 @@ return array ( 'MY' => 'Malajzi', 'MZ' => 'Mozambik', 'NA' => 'Namibi', - 'NC' => 'Kaledonia e Re', + 'NC' => 'Kaledoni e Re', 'NE' => 'Niger', 'NF' => 'Ishulli Norfolk', 'NG' => 'Nigeri', @@ -204,17 +204,17 @@ return array ( 'RS' => 'Serbi', 'RU' => 'Rusi', 'RW' => 'Ruandë', - 'SA' => 'Arabia Saudite', + 'SA' => 'Arabi Saudite', 'SB' => 'Ishujt Solomon', 'SC' => 'Sejshelle', 'SD' => 'Sudan', 'SE' => 'Suedi', 'SG' => 'Singapor', - 'SH' => 'Shën-Helenë', + 'SH' => 'Shën-Elenë', 'SI' => 'Slloveni', 'SJ' => 'Svalbard e Jan-Majen', 'SK' => 'Sllovaki', - 'SL' => 'Siera-Leone', + 'SL' => 'Sierra-Leone', 'SM' => 'San-Marino', 'SN' => 'Senegal', 'SO' => 'Somali', @@ -224,7 +224,7 @@ return array ( 'SV' => 'Salvador', 'SX' => 'Sint-Marten', 'SY' => 'Siri', - 'SZ' => 'Svazilandë', + 'SZ' => 'Suazilend', 'TA' => 'Tristan-da-Kuna', 'TC' => 'Ishujt Turks dhe Kaikos', 'TD' => 'Çad', @@ -245,7 +245,7 @@ return array ( 'UA' => 'Ukrainë', 'UG' => 'Ugandë', 'UM' => 'Ishujt Periferikë të SHBA-së', - 'US' => 'Shtetet e Bashkuara të Amerikës', + 'US' => 'SHBA', 'UY' => 'Uruguai', 'UZ' => 'Uzbekistan', 'VA' => 'Vatikan', @@ -261,6 +261,6 @@ return array ( 'YE' => 'Jemen', 'YT' => 'Majotë', 'ZA' => 'Afrika e Jugut', - 'ZM' => 'Zambia', + 'ZM' => 'Zambi', 'ZW' => 'Zimbabve', ); diff --git a/vendor/giggsey/locale/data/sr-cyrl-ba.php b/vendor/giggsey/locale/data/sr-cyrl-ba.php index 38dffdcea..db9c102da 100644 --- a/vendor/giggsey/locale/data/sr-cyrl-ba.php +++ b/vendor/giggsey/locale/data/sr-cyrl-ba.php @@ -1,6 +1,6 @@ 'Afghanistani', + 'AI' => 'Anguila', 'AQ' => 'Antaktika', 'AZ' => 'Azabajani', + 'BJ' => 'Benini', + 'BT' => 'Bhutani', + 'BY' => 'Belarusi', + 'CC' => 'Visiwa vya Kokos (Keeling)', + 'CD' => 'Kongo - Kinshasa', 'CI' => 'Ivorikosti', - 'CX' => 'Kisiwa cha Christmas', 'CY' => 'Saiprasi', + 'DK' => 'Denmaki', + 'EA' => 'Keuta na Melilla', + 'EC' => 'Ekwado', 'FM' => 'Mikronesia', + 'GA' => 'Gaboni', + 'GL' => 'Grinilandi', 'GP' => 'Gwadelupe', + 'GS' => 'Visiwa vya Jojia ya Kusini na Sandwich ya Kusini', + 'GU' => 'Guami', + 'HR' => 'Kroashia', + 'IO' => 'Himaya ya Uingereza katika Bahari Hindi', 'JO' => 'Yordani', + 'KY' => 'Visiwa vya Kaimani', + 'LA' => 'Laosi', 'LB' => 'Lebanoni', - 'LI' => 'Lishtensteni', + 'LI' => 'Lishenteni', 'LS' => 'Lesotho', 'LU' => 'Lasembagi', 'LV' => 'Lativia', + 'MA' => 'Moroko', + 'MC' => 'Monako', + 'MK' => 'Masedonia', + 'MM' => 'Myama (Burma)', + 'MO' => 'Makau SAR China', + 'MQ' => 'Martiniki', + 'MS' => 'Montserati', 'MV' => 'Maldivi', 'NC' => 'Nyukaledonia', - 'NE' => 'Nijer', - 'NG' => 'Nijeria', + 'NE' => 'Nijeri', 'NO' => 'Norwe', 'NP' => 'Nepali', 'OM' => 'Omani', 'PF' => 'Polinesia ya Ufaransa', + 'PG' => 'Papua Guinea Mpya', + 'PL' => 'Polandi', 'PR' => 'Puetoriko', + 'PS' => 'Himaya za Palestina', + 'PY' => 'Paragwai', 'QA' => 'Katari', + 'SG' => 'Singapuri', + 'SR' => 'Surinamu', 'ST' => 'Sao Tome na Prinsipe', + 'SY' => 'Shamu', 'TD' => 'Chadi', + 'TH' => 'Thailandi', + 'TM' => 'Turukimenstani', + 'TW' => 'Taiwani', + 'UA' => 'Ukreni', + 'UY' => 'Urugwai', + 'VA' => 'Mji wa Vatikani', + 'VG' => 'Visiwa vya Virgin vya Uingereza', + 'VI' => 'Visiwa vya Virgin vya Marekani', 'VN' => 'Vietnamu', + 'YT' => 'Mayote', ); diff --git a/vendor/giggsey/locale/data/sw.php b/vendor/giggsey/locale/data/sw.php index 421ea7ef2..1d867167f 100644 --- a/vendor/giggsey/locale/data/sw.php +++ b/vendor/giggsey/locale/data/sw.php @@ -1,6 +1,6 @@ 'Australia', 'AW' => 'Aruba', 'AX' => 'Visiwa vya Aland', - 'AZ' => 'Azerbaijan', + 'AZ' => 'Azerbaijani', 'BA' => 'Bosnia na Hezegovina', 'BB' => 'Babadosi', 'BD' => 'Bangladeshi', @@ -88,7 +88,7 @@ return array ( 'FO' => 'Visiwa vya Faroe', 'FR' => 'Ufaransa', 'GA' => 'Gabon', - 'GB' => 'Uingereza', + 'GB' => 'Ufalme wa Muungano', 'GD' => 'Grenada', 'GE' => 'Jojia', 'GF' => 'Guiana ya Ufaransa', @@ -101,7 +101,7 @@ return array ( 'GP' => 'Guadeloupe', 'GQ' => 'Guinea ya Ikweta', 'GR' => 'Ugiriki', - 'GS' => 'Georgia Kusini na Visiwa vya Sandwich Kusini', + 'GS' => 'Visiwa vya Georgia Kusini na Sandwich Kusini', 'GT' => 'Guatemala', 'GU' => 'Guam', 'GW' => 'Ginebisau', @@ -115,12 +115,12 @@ return array ( 'ID' => 'Indonesia', 'IE' => 'Ayalandi', 'IL' => 'Israeli', - 'IM' => 'Isle of Man', + 'IM' => 'Kisiwa cha Man', 'IN' => 'India', 'IO' => 'Eneo la Uingereza katika Bahari Hindi', 'IQ' => 'Iraki', 'IR' => 'Iran', - 'IS' => 'Aislandi', + 'IS' => 'Aisilandi', 'IT' => 'Italia', 'JE' => 'Jersey', 'JM' => 'Jamaika', @@ -228,7 +228,7 @@ return array ( 'TA' => 'Tristan da Cunha', 'TC' => 'Visiwa vya Turks na Caicos', 'TD' => 'Chad', - 'TF' => 'Maeneo ya Kusini ya Ufaransa', + 'TF' => 'Himaya za Kusini za Kifaranza', 'TG' => 'Togo', 'TH' => 'Tailandi', 'TJ' => 'Tajikistani', diff --git a/vendor/giggsey/locale/data/ta.php b/vendor/giggsey/locale/data/ta.php index b9fdeb99c..53b4029c9 100644 --- a/vendor/giggsey/locale/data/ta.php +++ b/vendor/giggsey/locale/data/ta.php @@ -1,6 +1,6 @@ 'அஷன்ஷியன் தீவு', 'AD' => 'அன்டோரா', 'AE' => 'ஐக்கிய அரபு எமிரேட்ஸ்', - 'AF' => 'ஆப்கானிஸ்தான்', + 'AF' => 'ஆஃப்கானிஸ்தான்', 'AG' => 'ஆண்டிகுவா மற்றும் பார்புடா', - 'AI' => 'அங்குய்லா', + 'AI' => 'அங்கியுலா', 'AL' => 'அல்பேனியா', 'AM' => 'அர்மேனியா', 'AO' => 'அங்கோலா', @@ -45,7 +45,7 @@ return array ( 'BS' => 'பஹாமாஸ்', 'BT' => 'பூடான்', 'BW' => 'போட்ஸ்வானா', - 'BY' => 'பெலாரூஸ்', + 'BY' => 'பெலாரஸ்', 'BZ' => 'பெலிஸ்', 'CA' => 'கனடா', 'CC' => 'கோகோஸ் (கீலிங்) தீவுகள்', @@ -174,14 +174,14 @@ return array ( 'NA' => 'நமீபியா', 'NC' => 'நியூ கேலிடோனியா', 'NE' => 'நைஜர்', - 'NF' => 'நார்ஃபோக் தீவுகள்', + 'NF' => 'நார்ஃபோக் தீவு', 'NG' => 'நைஜீரியா', 'NI' => 'நிகரகுவா', 'NL' => 'நெதர்லாந்து', 'NO' => 'நார்வே', 'NP' => 'நேபாளம்', 'NR' => 'நௌரு', - 'NU' => 'நியூ', + 'NU' => 'நியுவே', 'NZ' => 'நியூசிலாந்து', 'OM' => 'ஓமன்', 'PA' => 'பனாமா', @@ -239,7 +239,7 @@ return array ( 'TO' => 'டோங்கா', 'TR' => 'துருக்கி', 'TT' => 'டிரினிடாட் & டொபாகோ', - 'TV' => 'துவாலூ', + 'TV' => 'துவாலு', 'TW' => 'தைவான்', 'TZ' => 'தான்சானியா', 'UA' => 'உக்ரைன்', diff --git a/vendor/giggsey/locale/data/te.php b/vendor/giggsey/locale/data/te.php index f6223111c..a8543914d 100644 --- a/vendor/giggsey/locale/data/te.php +++ b/vendor/giggsey/locale/data/te.php @@ -1,6 +1,6 @@ 'అరుబా', 'AX' => 'ఆలాండ్ దీవులు', 'AZ' => 'అజర్బైజాన్', - 'BA' => 'బోస్నియా మరియు హెర్జెగొవీనా', + 'BA' => 'బోస్నియా మరియు హెర్జిగోవినా', 'BB' => 'బార్బడోస్', 'BD' => 'బంగ్లాదేశ్', 'BE' => 'బెల్జియం', @@ -36,7 +36,7 @@ return array ( 'BH' => 'బహ్రెయిన్', 'BI' => 'బురుండి', 'BJ' => 'బెనిన్', - 'BL' => 'సెయింట్ బర్తేలెమీ', + 'BL' => 'సెయింట్ బర్థెలిమి', 'BM' => 'బెర్ముడా', 'BN' => 'బ్రూనే', 'BO' => 'బొలీవియా', @@ -62,7 +62,7 @@ return array ( 'CR' => 'కోస్టా రికా', 'CU' => 'క్యూబా', 'CV' => 'కేప్ వెర్డె', - 'CW' => 'కురాకవో', + 'CW' => 'క్యూరసో', 'CX' => 'క్రిస్మస్ దీవి', 'CY' => 'సైప్రస్', 'CZ' => 'చెకియా', @@ -87,7 +87,7 @@ return array ( 'FM' => 'మైక్రోనేషియా', 'FO' => 'ఫారో దీవులు', 'FR' => 'ఫ్రాన్స్‌', - 'GA' => 'గాబన్', + 'GA' => 'గేబన్', 'GB' => 'యునైటెడ్ కింగ్‌డమ్', 'GD' => 'గ్రెనడా', 'GE' => 'జార్జియా', @@ -101,20 +101,20 @@ return array ( 'GP' => 'గ్వాడెలోప్', 'GQ' => 'ఈక్వటోరియల్ గినియా', 'GR' => 'గ్రీస్', - 'GS' => 'దక్షిణ జార్జియా & దక్షిణ శాండ్విచ్ దీవులు', + 'GS' => 'దక్షిణ జార్జియా మరియు దక్షిణ శాండ్విచ్ దీవులు', 'GT' => 'గ్వాటిమాలా', 'GU' => 'గ్వామ్', 'GW' => 'గినియా-బిస్సావ్', 'GY' => 'గయానా', - 'HK' => 'హాంకాంగ్ ఎస్ఏఆర్ చైనా', + 'HK' => 'హాంకాంగ్ ఎస్ఏఆర్', 'HN' => 'హోండురాస్', - 'HR' => 'క్రోయేషియా', + 'HR' => 'క్రొయేషియా', 'HT' => 'హైటి', 'HU' => 'హంగేరీ', 'IC' => 'కేనరీ దీవులు', 'ID' => 'ఇండోనేషియా', 'IE' => 'ఐర్లాండ్', - 'IL' => 'ఇజ్రాయిల్', + 'IL' => 'ఇజ్రాయెల్', 'IM' => 'ఐల్ ఆఫ్ మాన్', 'IN' => 'భారతదేశం', 'IO' => 'బ్రిటీష్ హిందూ మహాసముద్ర ప్రాంతం', @@ -145,19 +145,19 @@ return array ( 'LR' => 'లైబీరియా', 'LS' => 'లెసోతో', 'LT' => 'లిథువేనియా', - 'LU' => 'లక్సంబర్గ్', + 'LU' => 'లక్సెంబర్గ్', 'LV' => 'లాత్వియా', 'LY' => 'లిబియా', 'MA' => 'మొరాకో', 'MC' => 'మొనాకో', 'MD' => 'మోల్డోవా', - 'ME' => 'మోంటెనీగ్రో', + 'ME' => 'మాంటెనెగ్రో', 'MF' => 'సెయింట్ మార్టిన్', 'MG' => 'మడగాస్కర్', 'MH' => 'మార్షల్ దీవులు', 'MK' => 'మేసిడోనియా', 'ML' => 'మాలి', - 'MM' => 'మయన్మార్ (బర్మా)', + 'MM' => 'మయన్మార్', 'MN' => 'మంగోలియా', 'MO' => 'మకావ్ ఎస్ఏఆర్ చైనా', 'MP' => 'ఉత్తర మరియానా దీవులు', @@ -167,7 +167,7 @@ return array ( 'MT' => 'మాల్టా', 'MU' => 'మారిషస్', 'MV' => 'మాల్దీవులు', - 'MW' => 'మాలావి', + 'MW' => 'మలావీ', 'MX' => 'మెక్సికో', 'MY' => 'మలేషియా', 'MZ' => 'మొజాంబిక్', @@ -183,7 +183,7 @@ return array ( 'NR' => 'నౌరు', 'NU' => 'నియూ', 'NZ' => 'న్యూజిలాండ్', - 'OM' => 'ఒమన్', + 'OM' => 'ఓమన్', 'PA' => 'పనామా', 'PE' => 'పెరూ', 'PF' => 'ఫ్రెంచ్ పోలినీషియా', @@ -199,8 +199,8 @@ return array ( 'PW' => 'పాలావ్', 'PY' => 'పరాగ్వే', 'QA' => 'ఖతార్', - 'RE' => 'రియూనియన్', - 'RO' => 'రోమానియా', + 'RE' => 'రీయూనియన్', + 'RO' => 'రోమేనియా', 'RS' => 'సెర్బియా', 'RU' => 'రష్యా', 'RW' => 'రువాండా', @@ -212,21 +212,21 @@ return array ( 'SG' => 'సింగపూర్', 'SH' => 'సెయింట్ హెలెనా', 'SI' => 'స్లోవేనియా', - 'SJ' => 'స్వాల్‌బార్డ్ & జాన్ మాయెన్', - 'SK' => 'స్లోవేకియా', + 'SJ' => 'స్వాల్‌బార్డ్ మరియు జాన్ మాయెన్', + 'SK' => 'స్లొవేకియా', 'SL' => 'సియెర్రా లియాన్', 'SM' => 'శాన్ మారినో', 'SN' => 'సెనెగల్', 'SO' => 'సోమాలియా', 'SR' => 'సూరినామ్', 'SS' => 'దక్షిణ సూడాన్', - 'ST' => 'సావోటోమ్ & ప్రిన్సిపే', + 'ST' => 'సావో టోమ్ మరియు ప్రిన్సిపి', 'SV' => 'ఎల్ సాల్వడోర్', 'SX' => 'సింట్ మార్టెన్', 'SY' => 'సిరియా', 'SZ' => 'స్వాజిల్యాండ్', 'TA' => 'ట్రిస్టన్ డ కన్హా', - 'TC' => 'టర్క్స్ & కైకోస్ దీవులు', + 'TC' => 'టర్క్స్ మరియు కైకోస్ దీవులు', 'TD' => 'చాద్', 'TF' => 'ఫ్రెంచ్ దక్షిణ ప్రాంతాలు', 'TG' => 'టోగో', @@ -236,7 +236,7 @@ return array ( 'TL' => 'టిమోర్-లెస్టె', 'TM' => 'టర్క్‌మెనిస్తాన్', 'TN' => 'ట్యునీషియా', - 'TO' => 'టాంగా', + 'TO' => 'టోంగా', 'TR' => 'టర్కీ', 'TT' => 'ట్రినిడాడ్ మరియు టొబాగో', 'TV' => 'టువాలు', @@ -249,13 +249,13 @@ return array ( 'UY' => 'ఉరుగ్వే', 'UZ' => 'ఉజ్బెకిస్తాన్', 'VA' => 'వాటికన్ నగరం', - 'VC' => 'సెయింట్ విన్సెంట్ & గ్రెనడీన్స్', + 'VC' => 'సెయింట్ విన్సెంట్ మరియు గ్రెనడీన్స్', 'VE' => 'వెనిజులా', 'VG' => 'బ్రిటిష్ వర్జిన్ దీవులు', 'VI' => 'యు.ఎస్. వర్జిన్ దీవులు', 'VN' => 'వియత్నాం', 'VU' => 'వనాటు', - 'WF' => 'వాలిస్ & ఫ్యుత్యునా', + 'WF' => 'వాల్లిస్ మరియు ఫుటునా', 'WS' => 'సమోవా', 'XK' => 'కొసోవో', 'YE' => 'యెమెన్', diff --git a/vendor/giggsey/locale/data/teo.php b/vendor/giggsey/locale/data/teo.php index 9b9af1cb7..5be9d05a3 100644 --- a/vendor/giggsey/locale/data/teo.php +++ b/vendor/giggsey/locale/data/teo.php @@ -1,6 +1,6 @@ 'เซนต์วินเซนต์และเกรนาดีนส์', 'VE' => 'เวเนซุเอลา', 'VG' => 'หมู่เกาะบริติชเวอร์จิน', - 'VI' => 'หมู่เกาะยูเอสเวอร์จิน', + 'VI' => 'หมู่เกาะเวอร์จินของสหรัฐอเมริกา', 'VN' => 'เวียดนาม', 'VU' => 'วานูอาตู', 'WF' => 'วาลลิสและฟุตูนา', diff --git a/vendor/giggsey/locale/data/ti.php b/vendor/giggsey/locale/data/ti.php index d75b7d246..1b3067265 100644 --- a/vendor/giggsey/locale/data/ti.php +++ b/vendor/giggsey/locale/data/ti.php @@ -1,6 +1,6 @@ 'Aland adalary', 'AZ' => 'Azerbaýjan', 'BA' => 'Bosniýa we Gersegowina', - 'BB' => 'Barbadow', + 'BB' => 'Barbados', 'BD' => 'Bangladeş', 'BE' => 'Belgiýa', 'BF' => 'Burkina-Faso', @@ -40,7 +40,7 @@ return array ( 'BM' => 'Bermuda', 'BN' => 'Bruneý', 'BO' => 'Boliwiýa', - 'BQ' => 'Karib Niderlandy', + 'BQ' => 'Karib Niderlandlary', 'BR' => 'Braziliýa', 'BS' => 'Bagama adalary', 'BT' => 'Butan', @@ -50,7 +50,7 @@ return array ( 'CA' => 'Kanada', 'CC' => 'Kokos (Kiling) adalary', 'CD' => 'Kongo - Kinşasa', - 'CF' => 'Orta Afrika Respublikasy', + 'CF' => 'Merkezi Afrika Respublikasy', 'CG' => 'Kongo - Brazzawil', 'CH' => 'Şweýsariýa', 'CI' => 'Kot-d’Iwuar', @@ -81,7 +81,7 @@ return array ( 'ER' => 'Eritreýa', 'ES' => 'Ispaniýa', 'ET' => 'Efiopiýa', - 'FI' => 'Finlandiýa', + 'FI' => 'Finlýandiýa', 'FJ' => 'Fiji', 'FK' => 'Folklend adalary', 'FM' => 'Mikroneziýa', @@ -117,7 +117,7 @@ return array ( 'IL' => 'Ysraýyl', 'IM' => 'Men adasy', 'IN' => 'Hindistan', - 'IO' => 'Britaniýanyň Hint okeanyndaky territoriýalary', + 'IO' => 'Britaniýanyň Hindi okeanyndaky territoriýalary', 'IQ' => 'Yrak', 'IR' => 'Eýran', 'IS' => 'Islandiýa', @@ -130,7 +130,7 @@ return array ( 'KG' => 'Gyrgyzystan', 'KH' => 'Kamboja', 'KI' => 'Kiribati', - 'KM' => 'Komor Adalary', + 'KM' => 'Komor adalary', 'KN' => 'Sent-Kits we Newis', 'KP' => 'Demirgazyk Koreýa', 'KR' => 'Günorta Koreýa', @@ -177,7 +177,7 @@ return array ( 'NF' => 'Norfolk adasy', 'NG' => 'Nigeriýa', 'NI' => 'Nikaragua', - 'NL' => 'Niderlandiýa', + 'NL' => 'Niderlandlar', 'NO' => 'Norwegiýa', 'NP' => 'Nepal', 'NR' => 'Nauru', @@ -206,7 +206,7 @@ return array ( 'RW' => 'Ruanda', 'SA' => 'Saud Arabystany', 'SB' => 'Solomon adalary', - 'SC' => 'Seýşel Adalary', + 'SC' => 'Seýşel adalary', 'SD' => 'Sudan', 'SE' => 'Şwesiýa', 'SG' => 'Singapur', diff --git a/vendor/giggsey/locale/data/to.php b/vendor/giggsey/locale/data/to.php index dc844689f..32d8ded65 100644 --- a/vendor/giggsey/locale/data/to.php +++ b/vendor/giggsey/locale/data/to.php @@ -1,6 +1,6 @@ 'ʻOtumotu Māsolo', 'MK' => 'Masetōnia', 'ML' => 'Māli', - 'MM' => 'Pema', + 'MM' => 'Mianimā (Pema)', 'MN' => 'Mongokōlia', 'MO' => 'Makau SAR Siaina', 'MP' => 'ʻOtumotu Maliana tokelau', diff --git a/vendor/giggsey/locale/data/tr.php b/vendor/giggsey/locale/data/tr.php index b00f4e574..e9e4ec008 100644 --- a/vendor/giggsey/locale/data/tr.php +++ b/vendor/giggsey/locale/data/tr.php @@ -1,6 +1,6 @@ 'Dominika', 'DO' => 'Dominik Cumhuriyeti', 'DZ' => 'Cezayir', - 'EA' => 'Septe ve Melilla', + 'EA' => 'Ceuta ve Melilla', 'EC' => 'Ekvador', 'EE' => 'Estonya', 'EG' => 'Mısır', diff --git a/vendor/giggsey/locale/data/tt.php b/vendor/giggsey/locale/data/tt.php index 2dea1eec9..665375b4e 100644 --- a/vendor/giggsey/locale/data/tt.php +++ b/vendor/giggsey/locale/data/tt.php @@ -1,6 +1,6 @@ 'Австрія', 'AU' => 'Австралія', 'AW' => 'Аруба', - 'AX' => 'Аландські острови', + 'AX' => 'Аландські Острови', 'AZ' => 'Азербайджан', 'BA' => 'Боснія і Герцеґовина', 'BB' => 'Барбадос', @@ -37,7 +37,7 @@ return array ( 'BI' => 'Бурунді', 'BJ' => 'Бенін', 'BL' => 'Сен-Бартельмі', - 'BM' => 'Бермудські острови', + 'BM' => 'Бермудські Острови', 'BN' => 'Бруней', 'BO' => 'Болівія', 'BQ' => 'Нідерландські Карибські острови', @@ -48,12 +48,12 @@ return array ( 'BY' => 'Білорусь', 'BZ' => 'Беліз', 'CA' => 'Канада', - 'CC' => 'Кокосові (Кілінгові) острови', + 'CC' => 'Кокосові (Кілінґ) Острови', 'CD' => 'Конго – Кіншаса', 'CF' => 'Центральноафриканська Республіка', 'CG' => 'Конго – Браззавіль', 'CH' => 'Швейцарія', - 'CI' => 'Кот-д’Івуар', + 'CI' => 'Кот-дʼІвуар', 'CK' => 'Острови Кука', 'CL' => 'Чілі', 'CM' => 'Камерун', @@ -83,7 +83,7 @@ return array ( 'ET' => 'Ефіопія', 'FI' => 'Фінляндія', 'FJ' => 'Фіджі', - 'FK' => 'Фолклендські острови', + 'FK' => 'Фолклендські Острови', 'FM' => 'Мікронезія', 'FO' => 'Фарерські Острови', 'FR' => 'Франція', @@ -101,7 +101,7 @@ return array ( 'GP' => 'Ґваделупа', 'GQ' => 'Екваторіальна Гвінея', 'GR' => 'Греція', - 'GS' => 'Південна Джорджія та Південні Сандвічеві острови', + 'GS' => 'Південна Джорджія та Південні Сандвічеві Острови', 'GT' => 'Ґватемала', 'GU' => 'Ґуам', 'GW' => 'Гвінея-Бісау', @@ -111,7 +111,7 @@ return array ( 'HR' => 'Хорватія', 'HT' => 'Гаїті', 'HU' => 'Угорщина', - 'IC' => 'Канарські острови', + 'IC' => 'Канарські Острови', 'ID' => 'Індонезія', 'IE' => 'Ірландія', 'IL' => 'Ізраїль', @@ -130,12 +130,12 @@ return array ( 'KG' => 'Киргизстан', 'KH' => 'Камбоджа', 'KI' => 'Кірібаті', - 'KM' => 'Коморські острови', + 'KM' => 'Комори', 'KN' => 'Сент-Кітс і Невіс', 'KP' => 'Північна Корея', 'KR' => 'Південна Корея', 'KW' => 'Кувейт', - 'KY' => 'Кайманові острови', + 'KY' => 'Кайманові Острови', 'KZ' => 'Казахстан', 'LA' => 'Лаос', 'LB' => 'Ліван', @@ -212,7 +212,7 @@ return array ( 'SG' => 'Сінгапур', 'SH' => 'Острів Святої Єлени', 'SI' => 'Словенія', - 'SJ' => 'Шпіцберґен і Ян-Майен', + 'SJ' => 'Шпіцберген та Ян-Маєн', 'SK' => 'Словаччина', 'SL' => 'Сьєрра-Леоне', 'SM' => 'Сан-Маріно', diff --git a/vendor/giggsey/locale/data/ur-in.php b/vendor/giggsey/locale/data/ur-in.php index 650c02132..6088fb07c 100644 --- a/vendor/giggsey/locale/data/ur-in.php +++ b/vendor/giggsey/locale/data/ur-in.php @@ -1,6 +1,6 @@ 'Israel', 'IM' => 'Đảo Man', 'IN' => 'Ấn Độ', - 'IO' => 'Lãnh thổ Ấn độ dương thuộc Anh', + 'IO' => 'Lãnh thổ Ấn Độ Dương thuộc Anh', 'IQ' => 'Iraq', 'IR' => 'Iran', 'IS' => 'Iceland', diff --git a/vendor/giggsey/locale/data/vun.php b/vendor/giggsey/locale/data/vun.php index aaa250822..fbc093e81 100644 --- a/vendor/giggsey/locale/data/vun.php +++ b/vendor/giggsey/locale/data/vun.php @@ -1,6 +1,6 @@ 'eMzantsi Afrika', +); diff --git a/vendor/giggsey/locale/data/xog.php b/vendor/giggsey/locale/data/xog.php index 3a67e0c65..01e999543 100644 --- a/vendor/giggsey/locale/data/xog.php +++ b/vendor/giggsey/locale/data/xog.php @@ -1,6 +1,6 @@ '阿拉伯聯合酋長國', 'AG' => '安提瓜和巴布達', 'AW' => '阿魯巴', - 'AZ' => '阿塞拜疆', + 'AZ' => '亞塞拜疆', 'BA' => '波斯尼亞和黑塞哥維那', 'BB' => '巴巴多斯', 'BF' => '布基納法索', @@ -22,12 +22,13 @@ return array ( 'BL' => '聖巴泰勒米', 'BW' => '博茨瓦納', 'BZ' => '伯利茲', - 'CC' => '可可斯群島', + 'CC' => '科科斯 (基林) 群島', 'CI' => '科特迪瓦', 'CR' => '哥斯達黎加', 'CV' => '佛得角', 'CY' => '塞浦路斯', 'DJ' => '吉布提', + 'DO' => '多米尼加共和國', 'EC' => '厄瓜多爾', 'ER' => '厄立特里亞', 'ET' => '埃塞俄比亞', @@ -44,14 +45,13 @@ return array ( 'HR' => '克羅地亞', 'IM' => '馬恩島', 'IT' => '意大利', - 'KE' => '肯雅', + 'KE' => '肯尼亞', 'KM' => '科摩羅', 'KN' => '聖基茨和尼維斯', 'LA' => '老撾', 'LC' => '聖盧西亞', 'LI' => '列支敦士登', 'LR' => '利比里亞', - 'LV' => '拉脱維亞', 'ME' => '黑山', 'ML' => '馬里', 'MR' => '毛里塔尼亞', diff --git a/vendor/giggsey/locale/data/zh-hant-mo.php b/vendor/giggsey/locale/data/zh-hant-mo.php index 831583840..092070c53 100644 --- a/vendor/giggsey/locale/data/zh-hant-mo.php +++ b/vendor/giggsey/locale/data/zh-hant-mo.php @@ -1,6 +1,6 @@ '阿拉伯聯合酋長國', 'AG' => '安提瓜和巴布達', 'AW' => '阿魯巴', - 'AZ' => '阿塞拜疆', + 'AZ' => '亞塞拜疆', 'BA' => '波斯尼亞和黑塞哥維那', 'BB' => '巴巴多斯', 'BF' => '布基納法索', @@ -22,12 +22,13 @@ return array ( 'BL' => '聖巴泰勒米', 'BW' => '博茨瓦納', 'BZ' => '伯利茲', - 'CC' => '可可斯群島', + 'CC' => '科科斯 (基林) 群島', 'CI' => '科特迪瓦', 'CR' => '哥斯達黎加', 'CV' => '佛得角', 'CY' => '塞浦路斯', 'DJ' => '吉布提', + 'DO' => '多米尼加共和國', 'EC' => '厄瓜多爾', 'ER' => '厄立特里亞', 'ET' => '埃塞俄比亞', @@ -44,14 +45,13 @@ return array ( 'HR' => '克羅地亞', 'IM' => '馬恩島', 'IT' => '意大利', - 'KE' => '肯雅', + 'KE' => '肯尼亞', 'KM' => '科摩羅', 'KN' => '聖基茨和尼維斯', 'LA' => '老撾', 'LC' => '聖盧西亞', 'LI' => '列支敦士登', 'LR' => '利比里亞', - 'LV' => '拉脱維亞', 'ME' => '黑山', 'ML' => '馬里', 'MR' => '毛里塔尼亞', diff --git a/vendor/giggsey/locale/data/zh-hant.php b/vendor/giggsey/locale/data/zh-hant.php index ec5f8b223..8a729bc62 100644 --- a/vendor/giggsey/locale/data/zh-hant.php +++ b/vendor/giggsey/locale/data/zh-hant.php @@ -1,6 +1,6 @@ cloneTo('/tmp/clone'); + +Mirror a repository +------------------- + +If you want to mirror fully a repository and all references, use the ``mirrorTo`` method. This method +takes only two arguments, where to mirror and what to mirror: + +.. code-block:: php + + // Mirror to a bare repository + $mirror = Gitonomy\Git\Admin::mirrorTo('/tmp/mirror', 'https://github.com/gitonomy/gitlib.git'); + + // Mirror to a non-bare repository + $mirror = Gitonomy\Git\Admin::mirrorTo('/tmp/mirror', 'https://github.com/gitonomy/gitlib.git', false); + + +References +:::::::::: + +* http://linux.die.net/man/1/git-init +* http://linux.die.net/man/1/git-clone diff --git a/vendor/gitonomy/gitlib/doc/api/blame.rst b/vendor/gitonomy/gitlib/doc/api/blame.rst new file mode 100644 index 000000000..7fcbdcdcc --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/blame.rst @@ -0,0 +1,54 @@ +Blaming files +============= + +Line-per-line iteration +----------------------- + +To iterate on lines of a blame: + +.. code-block:: php + + $blame = $repository->getBlame('master', 'README.md'); + + foreach ($blame->getLines() as $lineNumber => $line) { + $commit = $line->getCommit(); + echo $lineNumber.': '.$line->getContent()." - ".$commit->getAuthorName()."\n"; + } + +The *getLines* method returns an array indexed starting from 1. + +As you can see, you can access the commit object related to the line you are iterating on. + +If you want to access directly a line: + +.. code-block:: php + + $line = $blame->getLine(32); + +The Line object +--------------- + +LineObject represents an item of the blame file. It is composed of those informations: + +.. code-block:: php + + $line->getCommit(); // returns a Commit + $line->getContent(); // returns text + + // you can access author from commmit: + $author = $line->getCommit()->getAuthorName(); + +Group reading by commit +----------------------- + +If you plan to display it, you'll probably need a version where lines from same commit are grouped. + +To do so, use the *getGroupedLines* method that will return an array like this: + +.. code-block:: php + + $blame = array( + array(Commit, array(1 => Line, 2 => Line, 3 => Line)), + array(Commit, array(4 => Line)), + array(Commit, array(5 => Line, 6 => Line)) + ) diff --git a/vendor/gitonomy/gitlib/doc/api/blob.rst b/vendor/gitonomy/gitlib/doc/api/blob.rst new file mode 100644 index 000000000..78d36c25a --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/blob.rst @@ -0,0 +1,44 @@ +Blob +==== + +In git, a blob represents a file content. You can't access the file name +directly from the *Blob* object; the filename information is stored within +the tree, not in the blob. + +It means that for git, two files with different names but same content will +have the same hash. + +To access a repository *Blob*, you need the hash identifier: + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository('/path/to/repository'); + $blob = $repository->getBlob('a7c8d2b4'); + +Get content +----------- + +To get content from a *Blob* object: + +.. code-block:: php + + echo $blob->getContent(); + +File informations +----------------- + +To get mimetype of a *Blob* object using finfo extension: + +.. code-block:: php + + echo $blob->getMimetype(); + +You can also test if *Blob* is a text of a binary file: + +.. code-block:: php + + if ($blob->isText()) { + echo $blob->getContent(), "\n"; + } elseif ($blob->isBinary()) { + echo "File is binary\n"; + } diff --git a/vendor/gitonomy/gitlib/doc/api/branch.rst b/vendor/gitonomy/gitlib/doc/api/branch.rst new file mode 100644 index 000000000..c7c0c408f --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/branch.rst @@ -0,0 +1,16 @@ +Branch +====== + +To access a *Branch*, starting from a repository object: + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository('/path/to/repository'); + $branch = $repository->getReferences()->getBranch('master'); + +You can check is the branch is a local or remote one: + +.. code-block:: php + + $branch->isLocal(); + $branch->isRemote(); diff --git a/vendor/gitonomy/gitlib/doc/api/commit.rst b/vendor/gitonomy/gitlib/doc/api/commit.rst new file mode 100644 index 000000000..d11ea8105 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/commit.rst @@ -0,0 +1,168 @@ +Commit +====== + +To access a *Commit*, starting from a repository object: + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository('/path/to/repository'); + $commit = $repository->getCommit('a7c8d2b4'); + +Browsing parents +---------------- + +A *Commit* can have a natural number of parents: + +* **no parent**: it's an initial commit, the root of a tree +* **one parent**: it means it's not a merge, just a regular commit +* **many parents**: it's a merge-commit + +You have 2 methods available for accessing parents: + +.. code-block:: php + + // Access parent hashes + $hashes = $commit->getParentHashes(); + + // Access parent commit objects + $commits = $commit->getParents(); + +For example, if you want to display all parents, starting from a commit: + +.. code-block:: php + + function displayLog(Gitonomy\Git\Commit $commit) { + echo '- '.$commit->getShortMessage()."\n"; + foreach ($commit->getParents() as $parent) { + displayLog($parent); + } + } + +Notice that this function will first display all commits from first merged +branch and then display all commits from next branch, and so on. + +Accessing tree +-------------- + +The tree object contains the reference to the files associated to a given +commit. Every commit has one and only one tree, referencing all files and +folders of a given state for a project. For more informations about the tree, +see the chapter dedicated to it. + +To access a tree starting from a commit: + +.. code-block:: php + + // Returns the tree hash + $tree = $commit->getTreeHash(); + + // Returns the tree object + $tree = $commit->getTree(); + +Author & Committer informations +------------------------------- + +Each commit has two authoring informations: an author and a committer. The +author is the creator of the modification, authoring a modification in the +repository. The committer is responsible of introducing this modification to +the repository. + +You can access informations from author and committer using those methods: + +.. code-block:: php + + // Author + $commit->getAuthorName(); + $commit->getAuthorEmail(); + $commit->getAuthorDate(); // returns a DateTime object + + // Committer + $commit->getCommitterName(); + $commit->getCommitterEmail(); + $commit->getCommitterDate(); // returns a DateTime object + +Commit message and short message +-------------------------------- + +Each commit also has a message, associated to the modification. This message +can be multilined. + +To access the message, you can use the *getMessage* method: + +.. code-block:: php + + $commit->getMessage(); + +For your convenience, this library provides a shortcut method to keep only the +first line or first 50 characters if the first line is too long: + +.. code-block:: php + + $commit->getShortMessage(); + +You can customize it like this: + +.. code-block:: php + + $commit->getShortMessage(45, true, '.'); + +* The first parameter is the max length of the message. +* The second parameter determine if the last word should be cut or preserved +* The third parameter is the separator + +There are also two other methods for your convenience: + +.. code-block:: php + + // The first line + $commit->getSubjectMessage(); + + // The body (rest of the message) + $commit->getBodyMessage(); + +Diff of a commit +---------------- + +You can check the modifications introduced by a commit using the *getDiff* +method. When you request a diff for a commit, depending of the number of +parents, the strategy will be different: + +* If you have *no parent*, the diff will be the content of the tree +* If you only have *one parent*, the diff will be between the commit and his + parent +* If you have *multiple parents*, the diff will be the difference between the + commit and the first common ancestor of all parents + +For more informations about the diff API, read the related chapter. + +To access the *Diff* object of a commit, use the method *getDiff*: + +.. code-block:: php + + $diff = $commit->getDiff(); + +Last modification of a file +--------------------------- + +To know the last modification of a file, you can use the *getLastModification* +method on a commit. + +Here is a very straightforward example: + +.. code-block:: php + + $last = $commit->getLastModification('README'); + + echo "Last README modification:\n"; + echo" Author: ".$last->getAuthorName()."\n"; + echo" Date: ".$last->getAuthorDate()->format('d/m/Y')."\n"; + echo" Message: ".$last->getMessage(); + +Find every branches containing a commit +--------------------------------------- + +.. code-block:: php + + $branches = $commit->getIncludingBranches($includeLocalBranches, $includeRemoteBranches); + $localBranches = $commit->getIncludingBranches(true, false); + $remoteBranches = $commit->getIncludingBranches(false, true); diff --git a/vendor/gitonomy/gitlib/doc/api/diff.rst b/vendor/gitonomy/gitlib/doc/api/diff.rst new file mode 100644 index 000000000..badd0776d --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/diff.rst @@ -0,0 +1,102 @@ +Computing diff +============== + +Even if git is a diff-less storage engine, it's possible to compute them. + +To compute a diff in git, you need to specify a *revision*. This revision can +be a commit (*2bc7a8*) or a range (*2bc7a8..ff4c21b*). + +For more informations about git revisions: *man gitrevisions*. + +When you have decided the revision you want and have your *Repository* object, +you can call the *getDiff* method on the repository: + +.. code-block:: php + + $diff = $repository->getDiff('master@{2 days ago}..master'); + +You can also access it from a *Log* object: + +.. code-block:: php + + $log = $repository->getLog('master@{2 days ago}..master'); + $diff = $log->getDiff(); + +Iterating a diff +---------------- + +When you have a *Diff* object, you can iterate over files using method +*getFiles()*. This method returns a list of *File* objects, who represents the +modifications for a single file. + +.. code-block:: php + + $files = $diff->getFiles(); + echo sprintf("%s files modified", count($files)); + + foreach ($files as $fileDiff) { + echo sprintf("Old name: (%s) %s\n", $fileDiff->getOldMode(), $fileDiff->getOldName()); + echo sprintf("New name: (%s) %s\n", $fileDiff->getNewMode(), $fileDiff->getNewName()); + } + +The File object +--------------- + +Here is an exhaustive list of the *File* class methods: + +.. code-block:: php + + $file->getOldName(); + $file->getNewName(); + $file->getOldDiff(); + $file->getNewDiff(); + + $file->isCreation(); + $file->isDeletion(); + $file->isModification(); + + $file->isRename(); + $file->isChangeMode(); + + $file->getAdditions(); // Number of added lines + $file->getDeletions(); // Number of deleted lines + + $file->isBinary(); // Binary files have no "lines" + + $file->getChanges(); // See next chapter + +The FileChange object +--------------------- + +.. note:: + + This part of API is not very clean, very consistent. If you have any idea + or suggestion on how to enhance this, your comment would be appreciated. + +A *File* object is composed of many changes. For each of those changes, +a *FileChange* object is associated. + +To access changes from a file, use the *getChanges* method: + +.. code-block:: php + + $changes = $file->getChanges(); + foreach ($changes as $change) { + foreach ($lines as $data) { + list ($type, $line) = $data; + if ($type === FileChange::LINE_CONTEXT) { + echo ' '.$line."\n"; + } elseif ($type === FileChange::LINE_ADD) { + echo '+'.$line."\n"; + } else { + echo '-'.$line."\n"; + } + } + } + +To get line numbers, use the range methods: + +.. code-block:: php + + echo sprintf("Previously from line %s to %s\n", $change->getOldRangeStart(), $change->getOldRangeEnd()); + echo sprintf("Now from line %s to %s\n", $change->getNewRangeStart(), $change->getNewRangeEnd()); diff --git a/vendor/gitonomy/gitlib/doc/api/hooks.rst b/vendor/gitonomy/gitlib/doc/api/hooks.rst new file mode 100644 index 000000000..20c4abecc --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/hooks.rst @@ -0,0 +1,76 @@ +Hooks +===== + +It's possible to define custom hooks on any repository with git. Those hooks +are located in the *.git/hooks* folder. + +Those files need to be executable. For convenience, gitlib will set them to +*777*. + +With *gitlib*, you can manage hooks over a repository using the *Hooks* object. + +To access it from a repository, use the *getHooks* method on a *Repository* +object: + +.. code-block:: php + + $hooks = $repository->getHooks(); + +Reading hooks +------------- + +To read the content of a hook, use the *get* method like this: + +.. code-block:: php + + $content = $hooks->get('pre-receive'); // returns a string + +If the hook does not exist, an exception will be thrown (*InvalidArgumentException*). + +You can test if a hook is present using the method *has*: + +.. code-block:: php + + $hooks->has('pre-receive'); // a boolean indicating presence + +Inserting hooks +--------------- + +You can modify a hook in two different ways: creating a new file or using a symlink. + +To create the hook using a symlink: + +.. code-block:: php + + $hooks->setSymlink('pre-receive', '/path/to/file-to-link'); + +If the hook already exist, a *LogicException* will be thrown. If an error occured +during symlink creation, a *RuntimeException* will be thrown. + +If you want to directly create a new file in hooks directory, use the +method *set*. This method will create a new file, put content in it and make it +executable: + +.. code-block:: php + + $content = <<set('pre-receive', $content); + +If the hook already exists, a *LogicException* will be thrown. + +Removing hooks +-------------- + +To remove a hook from a repository, use the function *remove*: + +.. code-block:: php + + $hooks->remove('pre-receive'); diff --git a/vendor/gitonomy/gitlib/doc/api/log.rst b/vendor/gitonomy/gitlib/doc/api/log.rst new file mode 100644 index 000000000..5a795b9e6 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/log.rst @@ -0,0 +1,54 @@ +Getting log history +=================== + +Crawling manually commits and parents to browse history is surely a good +solution. But when it comes to ordering them or aggregate them from multiple +branches, we tend to use ``git log``. + +To get a *Log* object from a repository: + +.. code-block:: php + + $log = $repository->getLog(); + +You can pass four arguments to *getLog* method: + +.. code-block:: php + + // Global log for repository + $log = $repository->getLog(); + + // Log for master branch + $log = $repository->getLog('master'); + + // Returns last 10 commits on README file + $log = $repository->getLog('master', 'README', 0, 10); + + // Returns last 10 commits on README or UPGRADE files + $log = $repository->getLog('master', array('README', 'UPGRADE'), 0, 10); + +Counting +-------- + +If you want to count overall commits, without offset or limit, use the *countCommits* method: + +.. code-block:: php + + echo sprintf("This log contains %s commits\n", $log->countCommits()); + + // Countable interface + echo sprintf("This log contains %s commits\n", count($log)); + +Offset and limit +---------------- + +Use those methods: + +.. code-block:: php + + $log->setOffset(32); + $log->setLimit(40); + + // or read it: + $log->getOffset(); + $log->getLimit(); diff --git a/vendor/gitonomy/gitlib/doc/api/references.rst b/vendor/gitonomy/gitlib/doc/api/references.rst new file mode 100644 index 000000000..5b7fa9752 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/references.rst @@ -0,0 +1,91 @@ +Tags and branches +================= + +Accessing tags and branches +--------------------------- + +With *gitlib*, you can access them via the *ReferenceBag* object. To get this +object from a *Repository*, use the *getReferences* method: + +.. code-block:: php + + $references = $repository->getReferences(); + +First, you can test existence of tags and branches like this: + +.. code-block:: php + + if ($references->hasBranch('master') && $references->hasTag('0.1')) { + echo "Good start!"; + } + +If you want to access all branches or all tags: + +.. code-block:: php + + $branches = $references->getBranches(); + $localBranches = $references->getLocalBranches(); + $remoteBranches = $references->getRemoteBranches(); + $tags = $references->getTags(); + $all = $references->getAll(); + +To get a given branch or tag, call *getBranch* or *getTag* on the +*ReferenceBag*. Those methods return *Branch* and *Tag* objects: + +.. code-block:: php + + $master = $references->getBranch('master'); + $feat123 = $references->getLocalBranch('feat123'); + $feat456 = $references->getRemoteBranch('origin/feat456'); + $v0_1 = $references->getTag('0.1'); + +If the reference cannot be resolved, a *ReferenceNotFoundException* will be +thrown. + +On each of those objects, you can access those informations: + +.. code-block:: php + + // Get the associated commit + $commit = $master->getCommit(); + + // Get the commit hash + $hash = $master->getCommitHash(); + + // Get the last modification + $lastModification = $master->getLastModification(); + +Create and delete reference +--------------------------- + +You can create new tags and branches on repository, using helper methods +on ReferenceBag object: + +.. code-block:: php + + // create a branch + $references = $repository->getReferences(); + $branch = $references->createBranch('foobar', 'a8b7e4...'); // commit to reference + + // create a tag + $references = $repository->getReferences(); + $tag = $references->createTag('0.3', 'a8b7e4...'); // commit to reference + + // delete a branch or a tag + $branch->delete(); + +Resolution from a commit +------------------------ + +To resolve a branch or a commit from a commit, you can use the *resolveTags* +and *resolveBranches* methods on it: + +.. code-block:: php + + $branches = $references->resolveBranches($commit); + $tags = $references->resolveTags($commit); + + // Resolve branches and tags + $all = $references->resolve($commit); + +You can pass a *Commit* object or a hash to the method, gitlib will handle it. diff --git a/vendor/gitonomy/gitlib/doc/api/repository.rst b/vendor/gitonomy/gitlib/doc/api/repository.rst new file mode 100644 index 000000000..53fa07a36 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/repository.rst @@ -0,0 +1,135 @@ +Repository methods +================== + +Creating a *Repository* object is possible, providing a *path* argument to the +constructor: + +.. code-block:: php + + $repository = new Repository('/path/to/repo'); + +Repository options +------------------ + +The constructor of Repository takes an additional parameter: ``$options``. +This parameter can be used used to tune behavior of library. + +Available options are: + +* **debug** (default: true): Enables exception when edge cases are met +* **environment_variables**: (default: none) An array of environment variables to be set in sub-process +* **logger**: (default: none) Logger to use for reporting of execution (a ``Psr\Log\LoggerInterface``) +* **command**: (default: ``git``) Specify command to execute to run git +* **working_dir**: If you are using multiple working directories, this option is for you + +An example: + +.. code-block:: php + + $repository = new Repository('/path/to/repo', array( + 'debug' => true, + 'logger' => new Monolog\Logger() + )); + +Test if a repository is bare +---------------------------- + +On a *Repository* object, you can call method *isBare* to test if your repository is bare or not: + +.. code-block:: php + + $repository->isBare(); + +Compute size of a repository +---------------------------- + +To know how much size a repository is using on your drive, you can use ``getSize`` method on a *Repository* object. + +.. warning:: This command was only tested with linux. + +The returned size is in kilobytes: + +.. code-block:: php + + $size = $repository->getSize(); + + echo "Your repository size is ".$size."KB"; + +Access HEAD +----------- + +``HEAD`` represents in git the version you are working on (in working tree). +Your ``HEAD`` can be attached (using a reference) or detached (using a commit). + +.. code-block:: php + + $head = $repository->getHead(); // Commit or Reference + $head = $repository->getHeadCommit(); // Commit + + if ($repository->isHeadDetached()) { + echo "Sorry man\n"; + } + +Options for repository +---------------------- + +Logger +...... + +If you are developing, you may appreciate to have a logger inside repository, telling you every executed command. + +You call method ``setLogger`` as an option on repository creation: + +.. code-block:: php + + $repository->setLogger(new Monolog\Logger('repository')); + + $repository->run('fetch', array('--all')); + +You can also specify as an option on repository creation: + + $logger = new Monolog\Logger('repository'); + $repository = new Repository('/path/foo', array('logger' => $logger)); + + $repository->run('fetch', array('--all')); + +This will output: + +.. code-block:: text + + info run command: fetch "--all" + debug last command (fetch) duration: 23.24ms + debug last command (fetch) return code: 0 + debug last command (fetch) output: Fetching origin + +Disable debug-mode +.................. + +Gitlib throws an exception when something seems wrong. If a ``git` command returns a non-zero result, it will stop execution and throw an ``RuntimeException``. + +If you want to prevent this, set ``debug`` option to ``false``. This will make Repository log errors and return empty data instead of throwing exceptions. + +.. code-block:: php + + $repository = new Repository('/tmp/foo', array('debug' => false, 'logger' => $logger)); + +.. note:: if you plan to disable debug, you should rely on logger to keep a trace of edge failing cases. + +Specify git command to use +.......................... + +You can pass option ``command`` to specify which command to use to run git calls. If you have a git binary +located somewhere else, use this option to specify to gitlib path to your git binary: + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository('/tmp/foo', array('command' => '/home/alice/bin/git')); + +Environment variables +..................... + +Now you want to set environment variables to use to run ``git`` commands. It might be useful. + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository('/tmp/foo', array('environment_variables' => array('GIT_'))) diff --git a/vendor/gitonomy/gitlib/doc/api/revision.rst b/vendor/gitonomy/gitlib/doc/api/revision.rst new file mode 100644 index 000000000..8ffc32899 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/revision.rst @@ -0,0 +1,28 @@ +Revision +======== + +To get a revision from a *Repository* object: + +.. code-block:: php + + $revision = $repository->getRevision('master@{2 days ago}'); + +Getting the log +--------------- + +You can access a *Log* object starting from a revision using the *getLog* +method. This method takes two parameters: *offset* and *limit*: + +.. code-block:: php + + // Returns 100 lasts commits + $log = $revision->getLog(null, 100); + +Resolve a revision +------------------ + +To resolve a revision to a commit: + +.. code-block:: php + + $commit = $revision->getCommit(); diff --git a/vendor/gitonomy/gitlib/doc/api/tree.rst b/vendor/gitonomy/gitlib/doc/api/tree.rst new file mode 100644 index 000000000..4641a9f3b --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/tree.rst @@ -0,0 +1,54 @@ +Tree and files +============== + +To organize folders, git uses trees. In gitlib, those trees are represented +via *Tree* object. + +To get the root tree associated to a commit, use the *getTree* method on the +commit object: + +.. code-block:: php + + $tree = $commit->getTree(); + +This tree is the entry point of all of your files. + +The main method for a tree is the *getEntries* method. This method will +return an array, indexed by name. Each of those elements will be the entry mode +and the entry object. + +Let's understand how it works with a concrete example: + +.. code-block:: php + + function displayTree(Tree $tree, $indent = 0) + { + $indent = str_repeat(' ', $indent); + foreach ($tree->getEntries() as $name => $data) { + list($mode, $entry) = $data; + if ($entry instanceof Tree) { + echo $indent.$name."/\n"; + displayTree($tree, $indent + 1); + } else { + echo $indent.$name."\n"; + } + } + } + + displayTree($commit->getTree()); + +This method will recursively display all entries of a tree. + +Resolve a path +-------------- + +To access directly a sub-file, the easier is probably to use the *resolvePath* +method. + +An example: + +.. code-block:: php + + $source = $tree->resolvePath('src/Gitonomy/Git'); + + $source instanceof Tree; diff --git a/vendor/gitonomy/gitlib/doc/api/workingcopy.rst b/vendor/gitonomy/gitlib/doc/api/workingcopy.rst new file mode 100644 index 000000000..4b6522305 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/api/workingcopy.rst @@ -0,0 +1,45 @@ +Working copy +============ + +Working copy is the folder associated to a git repository. In *gitlib*, you +can access this object using the *getWorkingCopy* on a *Repository* object: + +.. code-block:: php + + $repo = new Repository('/path/to/working-dir'); + $wc = $repo->getWorkingCopy(); + +Checkout a revision +------------------- + +You can checkout any revision using *checkout* method. You can also pass a +second argument, which will be passed as argument with ``-b``: + +.. code-block:: php + + // git checkout master + $wc->checkout('master'); + + // git checkout origin/master -b master + $wc->checkout('origin/master', 'master'); + +You can also pass a *Reference* or a *Commit*. + +Staged modifications +-------------------- + +You can get a diff of modifications pending in staging area. To get the ``Diff`` object, +call method ``getDiffStaged()``: + +.. code-block:: php + + $diff = $wc->getDiffStaged(); + +Pending modifications +--------------------- + +You can get pending modifications on tracked files by calling method ``getDiffPending()``: + +.. code-block:: php + + $diff = $wc->getDiffPending(); diff --git a/vendor/gitonomy/gitlib/doc/debug.rst b/vendor/gitonomy/gitlib/doc/debug.rst new file mode 100644 index 000000000..704fd3539 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/debug.rst @@ -0,0 +1,22 @@ +Debug-mode +========== + +gitlib offers a debug mode, to make you see edge-cases of your usage. This is called +debug-mode. + +Debug-mode is enabled by default. If you disable it, gitlib will behave differently: + +* when an error is met during execution, gitlib will try to minimize it, to not block + execution flow. Errors will still be reporter in logger. +* logs will be more verbose. They will contain every output, every return code, every + possible information to ease debugging. + +If you want to disable exceptions and try to minimize as much as possible errors, pass +``false`` when construction a repository: + +.. code-block:: php + + $repository = new Gitonomy\Git\Repository($path'/tmp/repo', $debug = false) + +``$debug`` argument should be available in every method you can use to create a +repository. diff --git a/vendor/gitonomy/gitlib/doc/development.rst b/vendor/gitonomy/gitlib/doc/development.rst new file mode 100644 index 000000000..986b08686 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/development.rst @@ -0,0 +1,24 @@ +Developing gitlib +================= + +If you plan to contribute to gitlib, here are few things you should know: + +Documentation generation +:::::::::::::::::::::::: + +Documentation is generated using Sphinx (restructured text). Configuration file +is located in https://github.com/gitonomy/website/blob/master/bin/conf.py + +You will need to fetch vendor modules for PHP blocks especially. If you really +want to generate it, install the website project locally and hack into it. + +Test against different git versions +::::::::::::::::::::::::::::::::::: + +A script ``test-git-version.sh`` is available in repository to test gitlib against +many git versions. + +This script is not usable on Travis-CI, they would hate me for this. It creates +a local cache to avoid fetching from Github and compiling if already compiled. + +Use it at your own risk, it's still under experiment. diff --git a/vendor/gitonomy/gitlib/doc/index.rst b/vendor/gitonomy/gitlib/doc/index.rst new file mode 100644 index 000000000..919e91c58 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/index.rst @@ -0,0 +1,59 @@ +gitlib - library to manipulate git +================================== + +gitlib requires PHP 5.3 and class autoloading (PSR-0) to work properly. Internally, it relies on ``git`` method calls +to fetch informations from repository. + +.. code-block:: php + + use Gitonomy\Git\Repository; + + $repository = new Repository('/path/to/repository'); + + foreach ($repository->getReferences()->getBranches() as $branch) { + echo "- ".$branch->getName(); + } + + $repository->run('fetch', array('--all')); + + +Reference +--------- + +.. toctree:: + :maxdepth: 1 + + api/admin + api/repository + api/hooks + api/workingcopy + api/commit + api/blame + api/blob + api/branch + api/tree + api/log + api/diff + api/references + api/revision + + +Documentation +------------- + +.. toctree:: + :maxdepth: 2 + + installation + debug + development + +Missing features +---------------- + +Some major features are still missing from gitlib: + +* Remotes +* Submodules + +If you want to run git commands on repository, call method ``Repository::run`` with method and arguments. diff --git a/vendor/gitonomy/gitlib/doc/installation.rst b/vendor/gitonomy/gitlib/doc/installation.rst new file mode 100644 index 000000000..06d36d218 --- /dev/null +++ b/vendor/gitonomy/gitlib/doc/installation.rst @@ -0,0 +1,20 @@ +Installation of gitlib +====================== + +Autoloading +::::::::::: + +gitlib relies on class autoloading. It does not require any additional setup. + +Using composer +:::::::::::::: + +Edit your ``composer.json`` file and add ``gitonomy/gitlib`` in section ``require``: + +.. code-block:: json + + { + "require": { + "gitonomy/gitlib": "^1.0" + } + } diff --git a/vendor/gitonomy/gitlib/phpunit.xml.dist b/vendor/gitonomy/gitlib/phpunit.xml.dist new file mode 100644 index 000000000..369643854 --- /dev/null +++ b/vendor/gitonomy/gitlib/phpunit.xml.dist @@ -0,0 +1,21 @@ + + + + + + + tests/Gitonomy/Git/Tests + + + + diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php new file mode 100644 index 000000000..1a8545da2 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Admin.php @@ -0,0 +1,173 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\RuntimeException; +use Symfony\Component\Process\Process; + +/** + * Administration class for Git repositories. + * + * @author Alexandre Salomé + */ +class Admin +{ + /** + * Initializes a repository and returns the instance. + * + * @param string $path path to the repository + * @param bool $bare indicate to create a bare repository + * @param array $options options for Repository creation + * + * @return Repository + * + * @throws RuntimeException Directory exists or not writable (only if debug=true) + */ + public static function init($path, $bare = true, array $options = array()) + { + $process = static::getProcess('init', array_merge(array('-q'), $bare ? array('--bare') : array(), array($path)), $options); + + $process->run(); + + if (!$process->isSuccessFul()) { + throw new RuntimeException(sprintf("Error on repository initialization, command wasn't successful (%s). Error output:\n%s", $process->getCommandLine(), $process->getErrorOutput())); + } + + return new Repository($path, $options); + } + + /** + * Checks the validity of a git repository url without cloning it. + * + * This will use the `ls-remote` command of git against the given url. + * Usually, this command returns 0 when successful, and 128 when the + * repository is not found. + * + * @param string $url url of repository to check + * @param array $options options for Repository creation + * + * @return bool true if url is valid + */ + public static function isValidRepository($url, array $options = array()) + { + $process = static::getProcess('ls-remote', array($url), $options); + + $process->run(); + + return $process->isSuccessFul(); + } + + /** + * Clone a repository to a local path. + * + * @param string $path indicates where to clone repository + * @param string $url url of repository to clone + * @param bool $bare indicates if repository should be bare or have a working copy + * @param array $options options for Repository creation + * + * @return Repository + */ + public static function cloneTo($path, $url, $bare = true, array $options = array()) + { + $args = $bare ? array('--bare') : array(); + + return static::cloneRepository($path, $url, $args, $options); + } + + /** + * Clone a repository branch to a local path. + * + * @param string $path indicates where to clone repository + * @param string $url url of repository to clone + * @param string $branch branch to clone + * @param bool $bare indicates if repository should be bare or have a working copy + * @param array $options options for Repository creation + * + * @return Repository + */ + public static function cloneBranchTo($path, $url, $branch, $bare = true, $options = array()) + { + $args = array('--branch', $branch); + if ($bare) { + $args[] = '--bare'; + } + + return static::cloneRepository($path, $url, $args, $options); + } + + /** + * Mirrors a repository (fetch all revisions, not only branches). + * + * @param string $path indicates where to clone repository + * @param string $url url of repository to clone + * @param array $options options for Repository creation + * + * @return Repository + */ + public static function mirrorTo($path, $url, array $options = array()) + { + return static::cloneRepository($path, $url, array('--mirror'), $options); + } + + /** + * Internal method to launch effective ``git clone`` command. + * + * @param string $path indicates where to clone repository + * @param string $url url of repository to clone + * @param array $args arguments to be added to the command-line + * @param array $options options for Repository creation + * + * @return Repository + */ + public static function cloneRepository($path, $url, array $args = array(), array $options = array()) + { + $process = static::getProcess('clone', array_merge(array('-q'), $args, array($url, $path)), $options); + + $process->run(); + + if (!$process->isSuccessFul()) { + throw new RuntimeException(sprintf('Error while initializing repository: %s', $process->getErrorOutput())); + } + + return new Repository($path, $options); + } + + /** + * This internal method is used to create a process object. + */ + private static function getProcess($command, array $args = array(), array $options = array()) + { + $is_windows = defined('PHP_WINDOWS_VERSION_BUILD'); + $options = array_merge(array( + 'environment_variables' => $is_windows ? array('PATH' => getenv('PATH')) : array(), + 'command' => 'git', + 'process_timeout' => 3600, + ), $options); + + $commandline = array_merge(array($options['command'], $command), $args); + + // Backward compatible layer for Symfony Process < 4.0. + if (class_exists('Symfony\Component\Process\ProcessBuilder')) { + $commandline = implode(' ', array_map( + 'Symfony\Component\Process\ProcessUtils::escapeArgument', + $commandline + )); + } + + $process = new Process($commandline); + $process->setEnv($options['environment_variables']); + $process->setTimeout($options['process_timeout']); + $process->setIdleTimeout($options['process_timeout']); + + return $process; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php new file mode 100644 index 000000000..7624bbbcd --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame.php @@ -0,0 +1,145 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Blame\Line; +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Parser\BlameParser; + +/** + * @author Alexandre Salomé + */ +class Blame implements \Countable +{ + /** + * @var Repository + */ + protected $repository; + + /** + * @var Revision + */ + protected $revision; + + /** + * @var string + */ + protected $file; + + /** + * @var string|null + */ + protected $lineRange; + + /** + * @var array|null + */ + protected $lines; + + /** + * @param string $lineRange Argument to pass to git blame (-L). + * Can be a line range (40,60 or 40,+21) + * or a regexp ('/^function$/') + */ + public function __construct(Repository $repository, Revision $revision, $file, $lineRange = null) + { + $this->repository = $repository; + $this->revision = $revision; + $this->lineRange = $lineRange; + $this->file = $file; + } + + /** + * @return Line + */ + public function getLine($number) + { + if ($number < 1) { + throw new InvalidArgumentException('Line number should be at least 1'); + } + + $lines = $this->getLines(); + + if (!isset($lines[$number])) { + throw new InvalidArgumentException('Line does not exist'); + } + + return $lines[$number]; + } + + /** + * Returns lines grouped by commit. + * + * @return array a list of two-elements array (commit, lines) + */ + public function getGroupedLines() + { + $result = array(); + $commit = null; + $current = array(); + + foreach ($this->getLines() as $lineNumber => $line) { + if ($commit !== $line->getCommit()) { + if (count($current)) { + $result[] = array($commit, $current); + } + $commit = $line->getCommit(); + $current = array(); + } + + $current[$lineNumber] = $line; + } + + if (count($current)) { + $result[] = array($commit, $current); + } + + return $result; + } + + /** + * Returns all lines of the blame. + * + * @return array + */ + public function getLines() + { + if (null !== $this->lines) { + return $this->lines; + } + + $args = array('-p'); + + if (null !== $this->lineRange) { + $args[] = '-L'; + $args[] = $this->lineRange; + } + + $args[] = $this->revision->getRevision(); + $args[] = '--'; + $args[] = $this->file; + + $parser = new BlameParser($this->repository); + $parser->parse($this->repository->run('blame', $args)); + $this->lines = $parser->lines; + + return $this->lines; + } + + /** + * @return int + */ + public function count() + { + return count($this->getLines()); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php new file mode 100644 index 000000000..afeb00931 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blame/Line.php @@ -0,0 +1,56 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Blame; + +use Gitonomy\Git\Commit; + +/** + * @author Alexandre Salomé + */ +class Line +{ + /** + * @var Commit + */ + protected $commit; + protected $sourceLine; + protected $targetLine; + protected $blockLine; + protected $content; + + /** + * Instanciates a new Line object. + */ + public function __construct(Commit $commit, $sourceLine, $targetLine, $blockLine, $content) + { + $this->commit = $commit; + $this->sourceLine = $sourceLine; + $this->targetLine = $targetLine; + $this->blockLine = $blockLine; + $this->content = $content; + } + + public function getContent() + { + return $this->content; + } + + public function getLine() + { + return $this->sourceLine; + } + + public function getCommit() + { + return $this->commit; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php new file mode 100644 index 000000000..53db15b81 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Blob.php @@ -0,0 +1,107 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +/** + * Representation of a Blob commit. + * + * @author Alexandre Salomé + */ +class Blob +{ + /** + * @var Repository + */ + protected $repository; + + /** + * @var string + */ + protected $hash; + + /** + * @var string + */ + protected $content; + + /** + * @var string + */ + protected $mimetype; + + /** + * @param Repository $repository Repository where the blob is located + * @param string $hash Hash of the blob + */ + public function __construct(Repository $repository, $hash) + { + $this->repository = $repository; + $this->hash = $hash; + } + + /** + * @return string + */ + public function getHash() + { + return $this->hash; + } + + /** + * Returns content of the blob. + * + * @throws ProcessException Error occurred while getting content of blob + */ + public function getContent() + { + if (null === $this->content) { + $this->content = $this->repository->run('cat-file', array('-p', $this->hash)); + } + + return $this->content; + } + + /** + * Determine the mimetype of the blob. + * + * @return string A mimetype + */ + public function getMimetype() + { + if (null === $this->mimetype) { + $finfo = new \finfo(FILEINFO_MIME); + $this->mimetype = $finfo->buffer($this->getContent()); + } + + return $this->mimetype; + } + + /** + * Determines if file is binary. + * + * @return bool + */ + public function isBinary() + { + return !$this->isText(); + } + + /** + * Determines if file is text. + * + * @return bool + */ + public function isText() + { + return (bool) preg_match('#^text/|^application/xml#', $this->getMimetype()); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php new file mode 100644 index 000000000..8715e5151 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Commit.php @@ -0,0 +1,404 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Diff\Diff; +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Exception\ProcessException; +use Gitonomy\Git\Exception\ReferenceNotFoundException; +use Gitonomy\Git\Util\StringHelper; + +/** + * Representation of a Git commit. + * + * @author Alexandre Salomé + */ +class Commit extends Revision +{ + /** + * Associative array of commit data. + * + * @var array + */ + private $data = array(); + + /** + * Constructor. + * + * @param Gitonomy\Git\Repository $repository Repository of the commit + * @param string $hash Hash of the commit + */ + public function __construct(Repository $repository, $hash, array $data = array()) + { + if (!preg_match('/^[a-f0-9]{40}$/', $hash)) { + throw new ReferenceNotFoundException($hash); + } + + parent::__construct($repository, $hash); + + $this->setData($data); + } + + public function setData(array $data) + { + foreach ($data as $name => $value) { + $this->data[$name] = $value; + } + } + + /** + * @return Diff + */ + public function getDiff() + { + $args = array('-r', '-p', '-m', '-M', '--no-commit-id', '--full-index', $this->revision); + + $diff = Diff::parse($this->repository->run('diff-tree', $args)); + $diff->setRepository($this->repository); + + return $diff; + } + + /** + * Returns the commit hash. + * + * @return string A SHA1 hash + */ + public function getHash() + { + return $this->revision; + } + + /** + * Returns the short commit hash. + * + * @return string A SHA1 hash + */ + public function getShortHash() + { + return $this->getData('shortHash'); + } + + /** + * Returns a fixed-with short hash. + */ + public function getFixedShortHash($length = 6) + { + return StringHelper::substr($this->revision, 0, $length); + } + + /** + * Returns parent hashes. + * + * @return array An array of SHA1 hashes + */ + public function getParentHashes() + { + return $this->getData('parentHashes'); + } + + /** + * Returns the parent commits. + * + * @return array An array of Commit objects + */ + public function getParents() + { + $result = array(); + foreach ($this->getData('parentHashes') as $parentHash) { + $result[] = $this->repository->getCommit($parentHash); + } + + return $result; + } + + /** + * Returns the tree hash. + * + * @return string A SHA1 hash + */ + public function getTreeHash() + { + return $this->getData('treeHash'); + } + + public function getTree() + { + return $this->getData('tree'); + } + + /** + * @return Commit + */ + public function getLastModification($path = null) + { + if (0 === strpos($path, '/')) { + $path = StringHelper::substr($path, 1); + } + + if ($getWorkingDir = $this->repository->getWorkingDir()) { + $path = $getWorkingDir.'/'.$path; + } + + $result = $this->repository->run('log', array('--format=%H', '-n', 1, $this->revision, '--', $path)); + + return $this->repository->getCommit(trim($result)); + } + + /** + * Returns the first line of the commit, and the first 50 characters. + * + * Ported from https://github.com/fabpot/Twig-extensions/blob/d67bc7e69788795d7905b52d31188bbc1d390e01/lib/Twig/Extensions/Extension/Text.php#L52-L109 + * + * @param int $length + * @param bool $preserve + * @param string $separator + * + * @return string + */ + public function getShortMessage($length = 50, $preserve = false, $separator = '...') + { + $message = $this->getData('subjectMessage'); + + if (StringHelper::strlen($message) > $length) { + if ($preserve && false !== ($breakpoint = StringHelper::strpos($message, ' ', $length))) { + $length = $breakpoint; + } + + return rtrim(StringHelper::substr($message, 0, $length)).$separator; + } + + return $message; + } + + /** + * Resolves all references associated to this commit. + * + * @return array An array of references (Branch, Tag, Squash) + */ + public function resolveReferences() + { + return $this->repository->getReferences()->resolve($this); + } + + /** + * Find branch containing the commit. + * + * @param bool $local set true to try to locate a commit on local repository + * @param bool $remote set true to try to locate a commit on remote repository + * + * @return array An array of Reference\Branch + */ + public function getIncludingBranches($local = true, $remote = true) + { + $arguments = array('--contains', $this->revision); + + if ($local && $remote) { + $arguments[] = '-a'; + } elseif (!$local && $remote) { + $arguments[] = '-r'; + } elseif (!$local && !$remote) { + throw new InvalidArgumentException('You should a least set one argument to true'); + } + + try { + $result = $this->repository->run('branch', $arguments); + } catch (ProcessException $e) { + return array(); + } + + if (!$result) { + return array(); + } + + $branchesName = explode("\n", trim(str_replace('*', '', $result))); + $branchesName = array_filter($branchesName, function ($v) { return false === StringHelper::strpos($v, '->');}); + $branchesName = array_map('trim', $branchesName); + + $references = $this->repository->getReferences(); + + $branches = array(); + foreach ($branchesName as $branchName) { + if (false === $local) { + $branches[] = $references->getRemoteBranch($branchName); + } elseif (0 === StringHelper::strrpos($branchName, 'remotes/')) { + $branches[] = $references->getRemoteBranch(str_replace('remotes/', '', $branchName)); + } else { + $branches[] = $references->getBranch($branchName); + } + } + + return $branches; + } + + /** + * Returns the author name. + * + * @return string A name + */ + public function getAuthorName() + { + return $this->getData('authorName'); + } + + /** + * Returns the author email. + * + * @return string An email + */ + public function getAuthorEmail() + { + return $this->getData('authorEmail'); + } + + /** + * Returns the authoring date. + * + * @return DateTime A time object + */ + public function getAuthorDate() + { + return $this->getData('authorDate'); + } + + /** + * Returns the committer name. + * + * @return string A name + */ + public function getCommitterName() + { + return $this->getData('committerName'); + } + + /** + * Returns the comitter email. + * + * @return string An email + */ + public function getCommitterEmail() + { + return $this->getData('committerEmail'); + } + + /** + * Returns the authoring date. + * + * @return DateTime A time object + */ + public function getCommitterDate() + { + return $this->getData('committerDate'); + } + + /** + * Returns the message of the commit. + * + * @return string A commit message + */ + public function getMessage() + { + return $this->getData('message'); + } + + /** + * Returns the subject message (the first line). + * + * @return string The subject message + */ + public function getSubjectMessage() + { + return $this->getData('subjectMessage'); + } + + /** + * Return the body message. + * + * @return string The body message + */ + public function getBodyMessage() + { + return $this->getData('bodyMessage'); + } + + /** + * @inheritdoc + */ + public function getCommit() + { + return $this; + } + + private function getData($name) + { + if (isset($this->data[$name])) { + return $this->data[$name]; + } + + if ($name === 'shortHash') { + $this->data['shortHash'] = trim($this->repository->run('log', array('--abbrev-commit', '--format=%h', '-n', 1, $this->revision))); + + return $this->data['shortHash']; + } + + if ($name === 'tree') { + $this->data['tree'] = $this->repository->getTree($this->getData('treeHash')); + + return $this->data['tree']; + } + + if ($name === 'subjectMessage') { + $lines = explode("\n", $this->getData('message')); + $this->data['subjectMessage'] = reset($lines); + + return $this->data['subjectMessage']; + } + + if ($name === 'bodyMessage') { + $message = $this->getData('message'); + + $lines = explode("\n", $message); + + array_shift($lines); + array_shift($lines); + + $data['bodyMessage'] = implode("\n", $lines); + + return $data['bodyMessage']; + } + + $parser = new Parser\CommitParser(); + try { + $result = $this->repository->run('cat-file', array('commit', $this->revision)); + } catch (ProcessException $e) { + throw new ReferenceNotFoundException(sprintf('Can not find reference "%s"', $this->revision)); + } + + $parser->parse($result); + + $this->data['treeHash'] = $parser->tree; + $this->data['parentHashes'] = $parser->parents; + $this->data['authorName'] = $parser->authorName; + $this->data['authorEmail'] = $parser->authorEmail; + $this->data['authorDate'] = $parser->authorDate; + $this->data['committerName'] = $parser->committerName; + $this->data['committerEmail'] = $parser->committerEmail; + $this->data['committerDate'] = $parser->committerDate; + $this->data['message'] = $parser->message; + + if (!isset($this->data[$name])) { + throw new \InvalidArgumentException(sprintf('No data named "%s" in Commit.', $name)); + } + + return $this->data[$name]; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php new file mode 100644 index 000000000..1a2479479 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/CommitReference.php @@ -0,0 +1,22 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +class CommitReference +{ + private $hash; + + public function __construct($hash) + { + $this->hash = $hash; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php new file mode 100644 index 000000000..180ca25b5 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/Diff.php @@ -0,0 +1,127 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Diff; + +use Gitonomy\Git\Parser\DiffParser; +use Gitonomy\Git\Repository; + +/** + * Representation of a diff. + * + * @author Alexandre Salomé + */ +class Diff +{ + /** + * @var array + */ + protected $files; + + /** + * @var string + */ + protected $rawDiff; + + /** + * Constructs a new diff for a given revision. + * + * @param array $files The files + * @param string $rawDiff The raw diff + */ + public function __construct(array $files, $rawDiff) + { + $this->files = $files; + $this->rawDiff = $rawDiff; + } + + /** + * @return Diff + */ + public static function parse($rawDiff) + { + $parser = new DiffParser(); + $parser->parse($rawDiff); + + return new self($parser->files, $rawDiff); + } + + public function setRepository(Repository $repository) + { + foreach ($this->files as $file) { + $file->setRepository($repository); + } + } + + /** + * @return array + */ + public function getRevisions() + { + return $this->revisions; + } + + /** + * Get list of files modified in the diff's revision. + * + * @return array An array of Diff\File objects + */ + public function getFiles() + { + return $this->files; + } + + /** + * Returns the raw diff. + * + * @return string The raw diff + */ + public function getRawDiff() + { + return $this->rawDiff; + } + + /** + * Export a diff as array. + * + * @return array The array + */ + public function toArray() + { + return array( + 'rawDiff' => $this->rawDiff, + 'files' => array_map( + function (File $file) { + return $file->toArray(); + }, $this->files + ), + ); + } + + /** + * Create a new instance of Diff from an array. + * + * @param array $array The array + * + * @return Diff The new instance + */ + public static function fromArray(array $array) + { + return new static( + array_map( + function ($array) { + return File::fromArray($array); + }, $array['files'] + ), + $array['rawDiff'] + ); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php new file mode 100644 index 000000000..9fa36348f --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/File.php @@ -0,0 +1,289 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Diff; + +use Gitonomy\Git\Repository; + +/** + * @author Alexandre Salomé + */ +class File +{ + /** + * @var string + */ + protected $oldName; + + /** + * @var string + */ + protected $newName; + + /** + * @var string + */ + protected $oldMode; + + /** + * @var string + */ + protected $newMode; + + /** + * @var string + */ + protected $oldIndex; + + /** + * @var string + */ + protected $newIndex; + + /** + * @var bool + */ + protected $isBinary; + + /** + * @var array An array of FileChange objects + */ + protected $changes; + + /** + * @var Repository + */ + protected $repository; + + /** + * Instanciates a new File object. + */ + public function __construct($oldName, $newName, $oldMode, $newMode, $oldIndex, $newIndex, $isBinary) + { + $this->oldName = $oldName; + $this->newName = $newName; + $this->oldMode = $oldMode; + $this->newMode = $newMode; + $this->oldIndex = $oldIndex; + $this->newIndex = $newIndex; + $this->isBinary = $isBinary; + + $this->changes = array(); + } + + public function addChange(FileChange $change) + { + $this->changes[] = $change; + } + + /** + * Indicates if this diff file is a creation. + * + * @return bool + */ + public function isCreation() + { + return null === $this->oldName; + } + + /** + * Indicates if this diff file is a modification. + * + * @return bool + */ + public function isModification() + { + return null !== $this->oldName && null !== $this->newName; + } + + /** + * Indicates if it's a rename. + * + * A rename can only occurs if it's a modification (not a creation or a deletion). + * + * @return bool + */ + public function isRename() + { + return $this->isModification() && $this->oldName !== $this->newName; + } + + /** + * Indicates if the file mode has changed. + */ + public function isChangeMode() + { + return $this->isModification() && $this->oldMode !== $this->newMode; + } + + /** + * Indicates if this diff file is a deletion. + * + * @return bool + */ + public function isDeletion() + { + return null === $this->newName; + } + + /** + * Indicates if this diff file is a deletion. + * + * @return bool + */ + public function isDelete() + { + return null === $this->newName; + } + + /** + * @return int Number of added lines + */ + public function getAdditions() + { + $result = 0; + foreach ($this->changes as $change) { + $result += $change->getCount(FileChange::LINE_ADD); + } + + return $result; + } + + /** + * @return int Number of deleted lines + */ + public function getDeletions() + { + $result = 0; + foreach ($this->changes as $change) { + $result += $change->getCount(FileChange::LINE_REMOVE); + } + + return $result; + } + + public function getOldName() + { + return $this->oldName; + } + + public function getNewName() + { + return $this->newName; + } + + public function getName() + { + if (null === $this->newName) { + return $this->oldName; + } + + return $this->newName; + } + + public function getOldMode() + { + return $this->oldMode; + } + + public function getNewMode() + { + return $this->newMode; + } + + public function getOldIndex() + { + return $this->oldIndex; + } + + public function getNewIndex() + { + return $this->newIndex; + } + + public function isBinary() + { + return $this->isBinary; + } + + public function getChanges() + { + return $this->changes; + } + + public function toArray() + { + return array( + 'old_name' => $this->oldName, + 'new_name' => $this->newName, + 'old_mode' => $this->oldMode, + 'new_mode' => $this->newMode, + 'old_index' => $this->oldIndex, + 'new_index' => $this->newIndex, + 'is_binary' => $this->isBinary, + 'changes' => array_map(function (FileChange $change) { + return $change->toArray(); + }, $this->changes), + ); + } + + public static function fromArray(array $array) + { + $file = new self($array['old_name'], $array['new_name'], $array['old_mode'], $array['new_mode'], $array['old_index'], $array['new_index'], $array['is_binary']); + + foreach ($array['changes'] as $change) { + $file->addChange(FileChange::fromArray($change)); + } + + return $file; + } + + public function getAnchor() + { + return substr($this->newIndex, 0, 12); + } + + public function getRepository() + { + return $this->repository; + } + + public function setRepository(Repository $repository) + { + $this->repository = $repository; + } + + public function getOldBlob() + { + if (null === $this->repository) { + throw new \RuntimeException('Repository is missing to return Blob object.'); + } + + if ($this->isCreation()) { + throw new \LogicException('Can\'t return old Blob on a creation'); + } + + return $this->repository->getBlob($this->oldIndex); + } + + public function getNewBlob() + { + if (null === $this->repository) { + throw new \RuntimeException('Repository is missing to return Blob object.'); + } + + if ($this->isDeletion()) { + throw new \LogicException('Can\'t return new Blob on a deletion'); + } + + return $this->repository->getBlob($this->newIndex); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php new file mode 100644 index 000000000..e065be682 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Diff/FileChange.php @@ -0,0 +1,87 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Diff; + +class FileChange +{ + const LINE_CONTEXT = 0; + const LINE_REMOVE = -1; + const LINE_ADD = 1; + + protected $rangeOldStart; + protected $rangeOldCount; + protected $rangeNewStart; + protected $rangeNewCount; + protected $lines; + + public function __construct($rangeOldStart, $rangeOldCount, $rangeNewStart, $rangeNewCount, $lines) + { + $this->rangeOldStart = $rangeOldStart; + $this->rangeOldCount = $rangeOldCount; + $this->rangeNewStart = $rangeNewStart; + $this->rangeNewCount = $rangeNewCount; + $this->lines = $lines; + } + + public function getCount($type) + { + $result = 0; + foreach ($this->lines as $line) { + if ($line[0] === $type) { + ++$result; + } + } + + return $result; + } + + public function getRangeOldStart() + { + return $this->rangeOldStart; + } + + public function getRangeOldCount() + { + return $this->rangeOldCount; + } + + public function getRangeNewStart() + { + return $this->rangeNewStart; + } + + public function getRangeNewCount() + { + return $this->rangeNewCount; + } + + public function getLines() + { + return $this->lines; + } + + public function toArray() + { + return array( + 'range_old_start' => $this->rangeOldStart, + 'range_old_count' => $this->rangeOldCount, + 'range_new_start' => $this->rangeNewStart, + 'range_new_count' => $this->rangeNewCount, + 'lines' => $this->lines, + ); + } + + public static function fromArray(array $array) + { + return new self($array['range_old_start'], $array['range_old_count'], $array['range_new_start'], $array['range_new_count'], $array['lines']); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php new file mode 100644 index 000000000..1c51e1c97 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/GitExceptionInterface.php @@ -0,0 +1,16 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Exception; + +interface GitExceptionInterface +{ +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php new file mode 100644 index 000000000..32b01b6fc --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/InvalidArgumentException.php @@ -0,0 +1,7 @@ +getCommandLine()."\n". + "\n". + $process->getErrorOutput()."\n". + "\n". + $process->getOutput() + ); + + $this->process = $process; + } + + public function getErrorOutput() + { + return $this->process->getErrorOutput(); + } + + public function getOutput() + { + return $this->process->getOutput(); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php new file mode 100644 index 000000000..f213acfdd --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/ReferenceNotFoundException.php @@ -0,0 +1,20 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Exception; + +class ReferenceNotFoundException extends \InvalidArgumentException implements GitExceptionInterface +{ + public function __construct($reference) + { + parent::__construct(sprintf('Reference not found: "%s"', $reference)); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php new file mode 100644 index 000000000..06a76d8d7 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Exception/RuntimeException.php @@ -0,0 +1,7 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Exception\LogicException; + +/** + * Hooks collection, aggregated by repository. + * + * @author Alexandre Salomé + */ +class Hooks +{ + /** + * @var Gitonomy\Git\Repository + */ + protected $repository; + + /** + * @var Repository + */ + public function __construct(Repository $repository) + { + $this->repository = $repository; + } + + /** + * Tests if repository has a given hook. + * + * @param string $name Name of the hook + * + * @return bool + */ + public function has($name) + { + return file_exists($this->getPath($name)); + } + + /** + * Fetches content of a hook. + * + * @param string $name Name of the hook + * + * @return string Content of the hook + * + * @throws InvalidArgumentException Hook does not exist + */ + public function get($name) + { + if (!$this->has($name)) { + throw new InvalidArgumentException(sprintf('Hook named "%s" is not present', $name)); + } + + return file_get_contents($this->getPath($name)); + } + + /** + * Insert a hook in repository using a symlink. + * + * @param string $name Name of the hook to insert + * @param string $file Target of symlink + * + * @throws LogicException Hook is already present + * @throws RuntimeException Error on symlink creation + */ + public function setSymlink($name, $file) + { + if ($this->has($name)) { + throw new LogicException(sprintf('A hook "%s" is already defined', $name)); + } + + $path = $this->getPath($name); + if (false === symlink($file, $path)) { + throw new RuntimeException(sprintf('Unable to create hook "%s"', $name, $path)); + } + } + + /** + * Set a hook in repository. + * + * @param string $name Name of the hook + * @param string $content Content of the hook + * + * @throws LogicException The hook is already defined + */ + public function set($name, $content) + { + if ($this->has($name)) { + throw new LogicException(sprintf('A hook "%s" is already defined', $name)); + } + + $path = $this->getPath($name); + file_put_contents($path, $content); + chmod($path, 0777); + } + + /** + * Removes a hook from repository. + * + * @param string $name Name of the hook + * + * @throws LogicException The hook is not present + */ + public function remove($name) + { + if (!$this->has($name)) { + throw new LogicException(sprintf('The hook "%s" was not found', $name)); + } + + unlink($this->getPath($name)); + } + + protected function getPath($name) + { + return $this->repository->getGitDir().'/hooks/'.$name; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php new file mode 100644 index 000000000..521376b75 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Log.php @@ -0,0 +1,232 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\ProcessException; +use Gitonomy\Git\Exception\ReferenceNotFoundException; +use Gitonomy\Git\Util\StringHelper; + +/** + * @author Alexandre Salomé + */ +class Log implements \Countable, \IteratorAggregate +{ + /** + * @var Repository + */ + protected $repository; + + /** + * @var null|RevisionList + */ + protected $revisions; + + /** + * @var array + */ + protected $paths; + + /** + * @var int + */ + protected $offset; + + /** + * @var int + */ + protected $limit; + + /** + * Instanciates a git log object. + * + * @param Repository $repository the repository where log occurs + * @param RevisionList|Revision|array|null $revisions a list of revisions or null if you want all history + * @param array $paths paths to filter on + * @param int|null $offset start list from a given position + * @param int|null $limit limit number of fetched elements + */ + public function __construct(Repository $repository, $revisions = null, $paths = null, $offset = null, $limit = null) + { + if (null !== $revisions && !$revisions instanceof RevisionList) { + $revisions = new RevisionList($repository, $revisions); + } + + if (null === $paths) { + $paths = array(); + } elseif (is_string($paths)) { + $paths = array($paths); + } elseif (!is_array($paths)) { + throw new \InvalidArgumentException(sprintf('Expected a string or an array, got a "%s".', is_object($paths) ? get_class($paths) : gettype($paths))); + } + + $this->repository = $repository; + $this->revisions = $revisions; + $this->paths = $paths; + $this->offset = $offset; + $this->limit = $limit; + } + + /** + * @return Diff + */ + public function getDiff() + { + return $this->repository->getDiff($this->revisions); + } + + /** + * @return RevisionList + */ + public function getRevisions() + { + return $this->revisions; + } + + /** + * @return array + */ + public function getPaths() + { + return $this->paths; + } + + /** + * @return int + */ + public function getOffset() + { + return $this->offset; + } + + /** + * @param int $offset + */ + public function setOffset($offset) + { + $this->offset = $offset; + + return $this; + } + + /** + * @return int + */ + public function getLimit() + { + return $this->limit; + } + + /** + * @param int $limit + */ + public function setLimit($limit) + { + $this->limit = $limit; + + return $this; + } + + public function getSingleCommit() + { + $limit = $this->limit; + $this->limit = 1; + $commits = $this->getCommits(); + $this->setLimit($limit); + + if (count($commits) === 0) { + throw new ReferenceNotFoundException('The log is empty'); + } + + return array_pop($commits); + } + + /** + * @return array + */ + public function getCommits() + { + $args = array('--encoding='.StringHelper::getEncoding(), '--format=raw'); + + if (null !== $this->offset) { + $args[] = '--skip='.((int) $this->offset); + } + + if (null !== $this->limit) { + $args[] = '-n'; + $args[] = (int) $this->limit; + } + + if (null !== $this->revisions) { + $args = array_merge($args, $this->revisions->getAsTextArray()); + } else { + $args[] = '--all'; + } + + $args[] = '--'; + + $args = array_merge($args, $this->paths); + + try { + $output = $this->repository->run('log', $args); + } catch (ProcessException $e) { + throw new ReferenceNotFoundException(sprintf('Can not find revision "%s"', implode(' ', $this->revisions->getAsTextArray())), null, $e); + } + + $parser = new Parser\LogParser(); + $parser->parse($output); + + $result = array(); + foreach ($parser->log as $commitData) { + $hash = $commitData['id']; + unset($commitData['id']); + + $commit = $this->repository->getCommit($hash); + $commit->setData($commitData); + + $result[] = $commit; + } + + return $result; + } + + /** + * @see Countable + */ + public function count() + { + return $this->countCommits(); + } + + /** + * @see IteratorAggregate + */ + public function getIterator() + { + return new \ArrayIterator($this->getCommits()); + } + + /** + * Count commits, without offset or limit. + * + * @return int + */ + public function countCommits() + { + if (null !== $this->revisions && count($this->revisions)) { + $output = $this->repository->run('rev-list', array_merge(array('--count'), $this->revisions->getAsTextArray(), array('--'), $this->paths)); + } else { + $output = $this->repository->run('rev-list', array_merge(array('--count', '--all', '--'), $this->paths)); + } + + return (int) $output; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php new file mode 100644 index 000000000..dcbe3a7bf --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/BlameParser.php @@ -0,0 +1,74 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +use Gitonomy\Git\Blame\Line; +use Gitonomy\Git\Repository; + +class BlameParser extends ParserBase +{ + public $lines; + + protected $repository; + + public function __construct(Repository $repository) + { + $this->repository = $repository; + } + + protected function doParse() + { + $this->lines = array(); + + $memory = array(); + + $line = 1; + while (!$this->isFinished()) { + $hash = $this->consumeHash(); + $this->consume(' '); + $vars = $this->consumeRegexp('/(\d+) (\d+)( (\d+))?/A'); + $sourceLine = $vars[1]; + $targetLine = $vars[2]; + $blockLine = isset($vars[4]) ? $vars[4] : null; + $this->consumeTo("\n"); + $this->consumeNewLine(); + + if (!isset($memory[$hash])) { + foreach (array('author', 'author-mail', 'author-time', 'author-tz', + 'committer', 'committer-mail', 'committer-time', 'committer-tz', + 'summary', ) as $key) { + $this->consume($key); + $this->consumeTo("\n"); + $this->consumeNewLine(); + } + + if ($this->expects('previous ')) { + $this->consumeTo("\n"); + $this->consumeNewLine(); + } + + if ($this->expects('boundary')) { + $this->consumeNewLine(); + } + $this->consume('filename'); + $this->consumeTo("\n"); // filename + $this->consumeNewLine(); + $memory[$hash] = $this->repository->getCommit($hash); + } + $content = $this->consumeTo("\n"); // content of line + $this->consumeNewLine(); + + $this->lines[$line] = new Line($memory[$hash], $sourceLine, $targetLine, $blockLine, $content); + ++$line; + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php new file mode 100644 index 000000000..eba71e486 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/CommitParser.php @@ -0,0 +1,79 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +use Gitonomy\Git\Exception\RuntimeException; + +class CommitParser extends ParserBase +{ + public $tree; + public $parents; + public $authorName; + public $authorEmail; + public $authorDate; + public $committerName; + public $committerEmail; + public $committerDate; + public $message; + + protected function doParse() + { + $this->consume('tree '); + $this->tree = $this->consumeHash(); + $this->consumeNewLine(); + + $this->parents = array(); + while ($this->expects('parent ')) { + $this->parents[] = $this->consumeHash(); + $this->consumeNewLine(); + } + + $this->consume('author '); + list($this->authorName, $this->authorEmail, $this->authorDate) = $this->consumeNameEmailDate(); + $this->authorDate = $this->parseDate($this->authorDate); + $this->consumeNewLine(); + + $this->consume('committer '); + list($this->committerName, $this->committerEmail, $this->committerDate) = $this->consumeNameEmailDate(); + $this->committerDate = $this->parseDate($this->committerDate); + + // will consume an GPG signed commit if there is one + $this->consumeGPGSignature(); + + $this->consumeNewLine(); + + $this->consumeNewLine(); + $this->message = $this->consumeAll(); + } + + protected function consumeNameEmailDate() + { + if (!preg_match('/(([^\n]*) <([^\n]*)> (\d+ [+-]\d{4}))/A', $this->content, $vars, 0, $this->cursor)) { + throw new RuntimeException('Unable to parse name, email and date'); + } + + $this->cursor += strlen($vars[1]); + + return array($vars[2], $vars[3], $vars[4]); + } + + protected function parseDate($text) + { + $date = \DateTime::createFromFormat('U e O', $text.' UTC'); + + if (!$date instanceof \DateTime) { + throw new RuntimeException(sprintf('Unable to convert "%s" to datetime', $text)); + } + + return $date; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php new file mode 100644 index 000000000..c11d2408b --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/DiffParser.php @@ -0,0 +1,133 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +use Gitonomy\Git\Diff\File; +use Gitonomy\Git\Diff\FileChange; + +class DiffParser extends ParserBase +{ + public $files; + + protected function doParse() + { + $this->files = array(); + + while (!$this->isFinished()) { + // 1. title + $vars = $this->consumeRegexp('/diff --git (a\/.*) (b\/.*)\n/'); + $oldName = $vars[1]; + $newName = $vars[2]; + $oldIndex = null; + $newIndex = null; + $oldMode = null; + $newMode = null; + + // 2. mode + if ($this->expects('new file mode ')) { + $newMode = $this->consumeTo("\n"); + $this->consumeNewLine(); + $oldMode = null; + } + if ($this->expects('old mode ')) { + $oldMode = $this->consumeTo("\n"); + $this->consumeNewLine(); + $this->consume('new mode '); + $newMode = $this->consumeTo("\n"); + $this->consumeNewLine(); + } + if ($this->expects('deleted file mode ')) { + $oldMode = $this->consumeTo("\n"); + $newMode = null; + $this->consumeNewLine(); + } + + if ($this->expects('similarity index ')) { + $this->consumeRegexp('/\d{1,3}%\n/'); + $this->consume('rename from '); + $this->consumeTo("\n"); + $this->consumeNewLine(); + $this->consume('rename to '); + $this->consumeTo("\n"); + $this->consumeNewLine(); + } + + // 4. File informations + $isBinary = false; + if ($this->expects('index ')) { + $oldIndex = $this->consumeShortHash(); + $this->consume('..'); + $newIndex = $this->consumeShortHash(); + if ($this->expects(' ')) { + $vars = $this->consumeRegexp('/\d{6}/'); + $newMode = $oldMode = $vars[0]; + } + $this->consumeNewLine(); + + if ($this->expects('--- ')) { + $oldName = $this->consumeTo("\n"); + $this->consumeNewLine(); + $this->consume('+++ '); + $newName = $this->consumeTo("\n"); + $this->consumeNewLine(); + } elseif ($this->expects('Binary files ')) { + $vars = $this->consumeRegexp('/(.*) and (.*) differ\n/'); + $isBinary = true; + $oldName = $vars[1]; + $newName = $vars[2]; + } + } + + $oldName = $oldName === '/dev/null' ? null : substr($oldName, 2); + $newName = $newName === '/dev/null' ? null : substr($newName, 2); + $oldIndex = preg_match('/^0+$/', $oldIndex) ? null : $oldIndex; + $newIndex = preg_match('/^0+$/', $newIndex) ? null : $newIndex; + $file = new File($oldName, $newName, $oldMode, $newMode, $oldIndex, $newIndex, $isBinary); + + // 5. Diff + while ($this->expects('@@ ')) { + $vars = $this->consumeRegexp('/-(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))?/'); + $rangeOldStart = $vars[1]; + $rangeOldCount = $vars[2]; + $rangeNewStart = $vars[3]; + $rangeNewCount = isset($vars[4]) ? $vars[4] : $vars[2]; // @todo Ici, t'as pris un gros raccourci mon loulou + $this->consume(' @@'); + $this->consumeTo("\n"); + $this->consumeNewLine(); + + // 6. Lines + $lines = array(); + while (true) { + if ($this->expects(' ')) { + $lines[] = array(FileChange::LINE_CONTEXT, $this->consumeTo("\n")); + } elseif ($this->expects('+')) { + $lines[] = array(FileChange::LINE_ADD, $this->consumeTo("\n")); + } elseif ($this->expects('-')) { + $lines[] = array(FileChange::LINE_REMOVE, $this->consumeTo("\n")); + } elseif ($this->expects("\ No newline at end of file")) { + // Ignore this case... + } else { + break; + } + + $this->consumeNewLine(); + } + + $change = new FileChange($rangeOldStart, $rangeOldCount, $rangeNewStart, $rangeNewCount, $lines); + + $file->addChange($change); + } + + $this->files[] = $file; + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php new file mode 100644 index 000000000..d4aa72128 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/LogParser.php @@ -0,0 +1,75 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +class LogParser extends CommitParser +{ + public $log = array(); + + protected function doParse() + { + $this->log = array(); + + while (!$this->isFinished()) { + $commit = array(); + $this->consume('commit '); + $commit['id'] = $this->consumeHash(); + $this->consumeNewLine(); + + $this->consume('tree '); + $commit['treeHash'] = $this->consumeHash(); + $this->consumeNewLine(); + + $commit['parentHashes'] = array(); + while ($this->expects('parent ')) { + $commit['parentHashes'][] = $this->consumeHash(); + $this->consumeNewLine(); + } + + $this->consume('author '); + list($commit['authorName'], $commit['authorEmail'], $commit['authorDate']) = $this->consumeNameEmailDate(); + $commit['authorDate'] = $this->parseDate($commit['authorDate']); + $this->consumeNewLine(); + + $this->consume('committer '); + list($commit['committerName'], $commit['committerEmail'], $commit['committerDate']) = $this->consumeNameEmailDate(); + $commit['committerDate'] = $this->parseDate($commit['committerDate']); + + // will consume an GPG signed commit if there is one + $this->consumeGPGSignature(); + + $this->consumeNewLine(); + $this->consumeNewLine(); + + $message = ''; + if ($this->expects(' ')) { + $this->cursor -= strlen(' '); + + while ($this->expects(' ')) { + $message .= $this->consumeTo("\n")."\n"; + $this->consumeNewLine(); + } + } + else { + $this->cursor--; + } + + if (!$this->isFinished()) { + $this->consumeNewLine(); + } + + $commit['message'] = $message; + + $this->log[] = $commit; + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php new file mode 100644 index 000000000..aebd4e682 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ParserBase.php @@ -0,0 +1,137 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +use Gitonomy\Git\Exception\RuntimeException; + +abstract class ParserBase +{ + protected $cursor; + protected $content; + protected $length; + + abstract protected function doParse(); + + public function parse($content) + { + $this->cursor = 0; + $this->content = $content; + $this->length = strlen($this->content); + + $this->doParse(); + } + + protected function isFinished() + { + return $this->cursor === $this->length; + } + + protected function consumeAll() + { + $rest = substr($this->content, $this->cursor); + $this->cursor += strlen($rest); + + return $rest; + } + + protected function expects($expected) + { + $length = strlen($expected); + $actual = substr($this->content, $this->cursor, $length); + if ($actual !== $expected) { + return false; + } + + $this->cursor += $length; + + return true; + } + + protected function consumeShortHash() + { + if (!preg_match('/([A-Za-z0-9]{7,40})/A', $this->content, $vars, null, $this->cursor)) { + throw new RuntimeException('No short hash found: '.substr($this->content, $this->cursor, 7)); + } + + $this->cursor += strlen($vars[1]); + + return $vars[1]; + } + + protected function consumeHash() + { + if (!preg_match('/([A-Za-z0-9]{40})/A', $this->content, $vars, null, $this->cursor)) { + throw new RuntimeException('No hash found: '.substr($this->content, $this->cursor, 40)); + } + + $this->cursor += 40; + + return $vars[1]; + } + + protected function consumeRegexp($regexp) + { + if (!preg_match($regexp.'A', $this->content, $vars, null, $this->cursor)) { + throw new RuntimeException('No match for regexp '.$regexp.' Upcoming: '.substr($this->content, $this->cursor, 30)); + } + + $this->cursor += strlen($vars[0]); + + return $vars; + } + + protected function consumeTo($text) + { + $pos = strpos($this->content, $text, $this->cursor); + + if (false === $pos) { + throw new RuntimeException(sprintf('Unable to find "%s"', $text)); + } + + $result = substr($this->content, $this->cursor, $pos - $this->cursor); + $this->cursor = $pos; + + return $result; + } + + protected function consume($expected) + { + $length = strlen($expected); + $actual = substr($this->content, $this->cursor, $length); + if ($actual !== $expected) { + throw new RuntimeException(sprintf('Expected "%s", but got "%s" (%s)', $expected, $actual, substr($this->content, $this->cursor, 10))); + } + $this->cursor += $length; + + return $expected; + } + + protected function consumeNewLine() + { + return $this->consume("\n"); + } + + /** + * @return string + */ + protected function consumeGPGSignature() { + $expected = "\ngpgsig "; + $length = strlen($expected); + $actual = substr($this->content, $this->cursor, $length); + if($actual != $expected) { + return ''; + } + $this->cursor += $length; + + return $this->consumeTo("\n\n"); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php new file mode 100644 index 000000000..d7a317cdd --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/ReferenceParser.php @@ -0,0 +1,30 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +class ReferenceParser extends ParserBase +{ + public $references; + + protected function doParse() + { + $this->references = array(); + + while (!$this->isFinished()) { + $hash = $this->consumeHash(); + $this->consume(' '); + $name = $this->consumeTo("\n"); + $this->consumeNewLine(); + $this->references[] = array($hash, $name); + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php new file mode 100644 index 000000000..aa0dd2952 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Parser/TreeParser.php @@ -0,0 +1,38 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Parser; + +class TreeParser extends ParserBase +{ + public $entries = array(); + + protected function doParse() + { + while (!$this->isFinished()) { + $vars = $this->consumeRegexp('/\d{6}/A'); + $mode = $vars[0]; + $this->consume(' '); + + $vars = $this->consumeRegexp('/(blob|tree|commit)/A'); + $type = $vars[0]; + $this->consume(' '); + + $hash = $this->consumeHash(); + $this->consume("\t"); + + $name = $this->consumeTo("\n"); + $this->consumeNewLine(); + + $this->entries[] = array($mode, $type, $hash, $name); + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php new file mode 100644 index 000000000..ce7b859f5 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/PushReference.php @@ -0,0 +1,169 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\LogicException; + +/** + * Push reference contains a commit interval. This object aggregates methods + * for this interval. + * + * @author Julien DIDIER + */ +class PushReference +{ + const ZERO = '0000000000000000000000000000000000000000'; + + /** + * @var string + */ + protected $reference; + + /** + * @var string + */ + protected $before; + + /** + * @var string + */ + protected $after; + + /** + * @var bool + */ + protected $isForce; + + public function __construct(Repository $repository, $reference, $before, $after) + { + $this->repository = $repository; + $this->reference = $reference; + $this->before = $before; + $this->after = $after; + $this->isForce = $this->getForce(); + } + + /** + * @return Repository + */ + public function getRepository() + { + return $this->repository; + } + + /** + * @return string + */ + public function getReference() + { + return $this->reference; + } + + /** + * @return string + */ + public function getBefore() + { + return $this->before; + } + + /** + * @return string + */ + public function getAfter() + { + return $this->after; + } + + /** + * @return array + */ + public function getLog($excludes = array()) + { + return $this->repository->getLog(array_merge( + array($this->getRevision()), + array_map(function ($e) { + return '^'.$e; + }, $excludes) + )); + } + + public function getRevision() + { + if ($this->isDelete()) { + throw new LogicException('No revision for deletion'); + } + + if ($this->isCreate()) { + return $this->getAfter(); + } + + return $this->getBefore().'..'.$this->getAfter(); + } + + /** + * @return bool + */ + public function isCreate() + { + return $this->isZero($this->before); + } + + /** + * @return bool + */ + public function isDelete() + { + return $this->isZero($this->after); + } + + /** + * @return bool + */ + public function isForce() + { + return $this->isForce; + } + + /** + * @return bool + */ + public function isFastForward() + { + return !$this->isDelete() && !$this->isCreate() && !$this->isForce(); + } + + /** + * @return bool + */ + protected function isZero($reference) + { + return self::ZERO === $reference; + } + + /** + * @return bool + */ + protected function getForce() + { + if ($this->isDelete() || $this->isCreate()) { + return false; + } + + $result = $this->repository->run('merge-base', array( + $this->before, + $this->after, + )); + + return $this->before !== trim($result); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php new file mode 100644 index 000000000..fe0e230b9 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference.php @@ -0,0 +1,70 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +/** + * Reference in a Git repository. + * + * @author Alexandre Salomé + * @author Julien DIDIER + */ +abstract class Reference extends Revision +{ + protected $commitHash; + + public function __construct(Repository $repository, $revision, $commitHash = null) + { + $this->repository = $repository; + $this->revision = $revision; + $this->commitHash = $commitHash; + } + + public function getFullname() + { + return $this->revision; + } + + public function delete() + { + $this->repository->getReferences()->delete($this->getFullname()); + } + + public function getCommitHash() + { + if (null !== $this->commitHash) { + return $this->commitHash; + } + + try { + $result = $this->repository->run('rev-parse', array('--verify', $this->revision)); + } catch (ProcessException $e) { + throw new ReferenceNotFoundException(sprintf('Can not find revision "%s"', $this->revision)); + } + + return $this->commitHash = trim($result); + } + + /** + * Returns the commit associated to the reference. + * + * @return Commit + */ + public function getCommit() + { + return $this->repository->getCommit($this->getCommitHash()); + } + + public function getLastModification($path = null) + { + return $this->getCommit()->getLastModification($path); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php new file mode 100644 index 000000000..df837e73f --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Branch.php @@ -0,0 +1,61 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Reference; + +use Gitonomy\Git\Exception\RuntimeException; +use Gitonomy\Git\Reference; + +/** + * Representation of a branch reference. + * + * @author Alexandre Salomé + */ +class Branch extends Reference +{ + private $local = null; + + public function getName() + { + $fullname = $this->getFullname(); + + if (preg_match('#^refs/heads/(?.*)$#', $fullname, $vars)) { + return $vars['name']; + } + + if (preg_match('#^refs/remotes/(?[^/]*)/(?.*)$#', $fullname, $vars)) { + return $vars['remote'].'/'.$vars['name']; + } + + throw new RuntimeException(sprintf('Cannot extract branch name from "%s"', $fullname)); + } + + public function isRemote() + { + $this->detectBranchType(); + + return !$this->local; + } + + public function isLocal() + { + $this->detectBranchType(); + + return $this->local; + } + + private function detectBranchType() + { + if (null === $this->local) { + $this->local = !preg_match('#^refs/remotes/(?[^/]*)/(?.*)$#', $this->getFullname()); + } + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php new file mode 100644 index 000000000..fb2214e6e --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Stash.php @@ -0,0 +1,25 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Reference; + +use Gitonomy\Git\Reference; + +/** + * @author Alexandre Salomé + */ +class Stash extends Reference +{ + public function getName() + { + return 'stash'; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php new file mode 100644 index 000000000..8c529f9bc --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Reference/Tag.php @@ -0,0 +1,32 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Reference; + +use Gitonomy\Git\Exception\RuntimeException; +use Gitonomy\Git\Reference; + +/** + * Representation of a tag reference. + * + * @author Alexandre Salomé + */ +class Tag extends Reference +{ + public function getName() + { + if (!preg_match('#^refs/tags/(.*)$#', $this->revision, $vars)) { + throw new RuntimeException(sprintf('Cannot extract tag name from "%s"', $this->revision)); + } + + return $vars[1]; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php new file mode 100644 index 000000000..1da3b7176 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/ReferenceBag.php @@ -0,0 +1,399 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\ReferenceNotFoundException; +use Gitonomy\Git\Exception\RuntimeException; +use Gitonomy\Git\Reference\Branch; +use Gitonomy\Git\Reference\Stash; +use Gitonomy\Git\Reference\Tag; + +/** + * Reference set associated to a repository. + * + * @author Alexandre Salomé + * @author Julien DIDIER + */ +class ReferenceBag implements \Countable, \IteratorAggregate +{ + /** + * Repository object. + * + * @var Gitonomy\Git\Repository + */ + protected $repository; + + /** + * Associative array of fullname references. + * + * @var array + */ + protected $references; + + /** + * List with all tags. + * + * @var array + */ + protected $tags; + + /** + * List with all branches. + * + * @var array + */ + protected $branches; + + /** + * A boolean indicating if the bag is already initialized. + * + * @var bool + */ + protected $initialized = false; + + /** + * Constructor. + * + * @param Gitonomy\Git\Repository $repository The repository + */ + public function __construct($repository) + { + $this->repository = $repository; + $this->references = array(); + $this->tags = array(); + $this->branches = array(); + } + + /** + * Returns a reference, by name. + * + * @param string $fullname Fullname of the reference (refs/heads/master, for example). + * + * @return Reference A reference object. + */ + public function get($fullname) + { + $this->initialize(); + + if (!isset($this->references[$fullname])) { + throw new ReferenceNotFoundException($fullname); + } + + return $this->references[$fullname]; + } + + public function has($fullname) + { + $this->initialize(); + + return isset($this->references[$fullname]); + } + + public function update(Reference $reference) + { + $fullname = $reference->getFullname(); + + $this->initialize(); + $this->repository->run('update-ref', array($fullname, $reference->getCommitHash())); + + $this->references[$fullname] = $reference; + + return $reference; + } + + public function createBranch($name, $commitHash) + { + $branch = new Branch($this->repository, 'refs/heads/'.$name, $commitHash); + + return $this->update($branch); + } + + public function createTag($name, $commitHash) + { + $tag = new Tag($this->repository, 'refs/tags/'.$name, $commitHash); + + return $this->update($tag); + } + + public function delete($fullname) + { + $this->repository->run('update-ref', array('-d', $fullname)); + + unset($this->references[$fullname]); + } + + public function hasBranches() + { + $this->initialize(); + + return count($this->branches) > 0; + } + + public function hasBranch($name) + { + return $this->has('refs/heads/'.$name); + } + + public function hasRemoteBranch($name) + { + return $this->has('refs/remotes/'.$name); + } + + public function hasTag($name) + { + return $this->has('refs/tags/'.$name); + } + + public function getFirstBranch() + { + $this->initialize(); + reset($this->branches); + + return current($this->references); + } + + /** + * @return array An array of Tag objects + */ + public function resolveTags($hash) + { + $this->initialize(); + + if ($hash instanceof Commit) { + $hash = $hash->getHash(); + } + + $tags = array(); + foreach ($this->references as $reference) { + if ($reference instanceof Reference\Tag && $reference->getCommitHash() === $hash) { + $tags[] = $reference; + } + } + + return $tags; + } + + /** + * @return array An array of Branch objects + */ + public function resolveBranches($hash) + { + $this->initialize(); + + if ($hash instanceof Commit) { + $hash = $hash->getHash(); + } + + $branches = array(); + foreach ($this->references as $reference) { + if ($reference instanceof Reference\Branch && $reference->getCommitHash() === $hash) { + $branches[] = $reference; + } + } + + return $branches; + } + + /** + * @return array An array of references + */ + public function resolve($hash) + { + $this->initialize(); + + if ($hash instanceof Commit) { + $hash = $hash->getHash(); + } + + $result = array(); + foreach ($this->references as $k => $reference) { + if ($reference->getCommitHash() === $hash) { + $result[] = $reference; + } + } + + return $result; + } + + /** + * Returns all tags. + * + * @return array + */ + public function getTags() + { + $this->initialize(); + + return $this->tags; + } + + /** + * Returns all branches. + * + * @return array + */ + public function getBranches() + { + $this->initialize(); + + $result = array(); + foreach ($this->references as $reference) { + if ($reference instanceof Reference\Branch) { + $result[] = $reference; + } + } + + return $result; + } + + /** + * Returns all locales branches. + * + * @return array + */ + public function getLocalBranches() + { + $result = array(); + foreach ($this->getBranches() as $branch) { + if ($branch->isLocal()) { + $result[] = $branch; + } + } + + return $result; + } + + /** + * Returns all remote branches. + * + * @return array + */ + public function getRemoteBranches() + { + $result = array(); + foreach ($this->getBranches() as $branch) { + if ($branch->isRemote()) { + $result[] = $branch; + } + } + + return $result; + } + + /** + * @return array An associative array with fullname as key (refs/heads/master, refs/tags/0.1) + */ + public function getAll() + { + $this->initialize(); + + return $this->references; + } + + /** + * @return Tag + */ + public function getTag($name) + { + $this->initialize(); + + return $this->get('refs/tags/'.$name); + } + + /** + * @return Branch + */ + public function getBranch($name) + { + $this->initialize(); + + return $this->get('refs/heads/'.$name); + } + + /** + * @return Branch + */ + public function getRemoteBranch($name) + { + $this->initialize(); + + return $this->get('refs/remotes/'.$name); + } + + protected function initialize() + { + if (true === $this->initialized) { + return; + } + $this->initialized = true; + + try { + $parser = new Parser\ReferenceParser(); + $output = $this->repository->run('show-ref'); + } catch (RuntimeException $e) { + $output = $e->getOutput(); + $error = $e->getErrorOutput(); + if ($error) { + throw new RuntimeException('Error while getting list of references: '.$error); + } + } + $parser->parse($output); + + foreach ($parser->references as $row) { + list($commitHash, $fullname) = $row; + + if (preg_match('#^refs/(heads|remotes)/(.*)$#', $fullname)) { + if (preg_match('#.*HEAD$#', $fullname)) { + continue; + } + $reference = new Branch($this->repository, $fullname, $commitHash); + $this->references[$fullname] = $reference; + $this->branches[] = $reference; + } elseif (preg_match('#^refs/tags/(.*)$#', $fullname)) { + $reference = new Tag($this->repository, $fullname, $commitHash); + $this->references[$fullname] = $reference; + $this->tags[] = $reference; + } elseif ($fullname === 'refs/stash') { + $reference = new Stash($this->repository, $fullname, $commitHash); + $this->references[$fullname] = $reference; + } elseif (preg_match('#^refs/pull/(.*)$#', $fullname)) { + // Do nothing here + } elseif ($fullname === 'refs/notes/gtm-data') { + // Do nothing here + } else { + throw new RuntimeException(sprintf('Unable to parse "%s"', $fullname)); + } + } + } + + /** + * @return int + * + * @see Countable + */ + public function count() + { + $this->initialize(); + + return count($this->references); + } + + /** + * @see IteratorAggregate + */ + public function getIterator() + { + $this->initialize(); + + return new \ArrayIterator($this->references); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php new file mode 100644 index 000000000..5adf09c5b --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Repository.php @@ -0,0 +1,667 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Diff\Diff; +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Exception\ProcessException; +use Gitonomy\Git\Exception\RuntimeException; +use Psr\Log\LoggerInterface; +use Symfony\Component\Process\Process; +use Symfony\Component\Process\ProcessUtils; + +/** + * Git repository object. + * + * Main entry point for browsing a Git repository. + * + * @author Alexandre Salomé + */ +class Repository +{ + const DEFAULT_DESCRIPTION = "Unnamed repository; edit this file 'description' to name the repository.\n"; + + /** + * Directory containing git files. + * + * @var string + */ + protected $gitDir; + + /** + * Working directory. + * + * @var string + */ + protected $workingDir; + + /** + * Cache containing all objects of the repository. + * + * Associative array, indexed by object hash + * + * @var array + */ + protected $objects; + + /** + * Reference bag associated to this repository. + * + * @var ReferenceBag + */ + protected $referenceBag; + + /** + * Logger (can be null). + * + * @var LoggerInterface + */ + protected $logger; + + /** + * Path to git command. + */ + protected $command; + + /** + * Debug flag, indicating if errors should be thrown. + * + * @var bool + */ + protected $debug; + + /** + * Environment variables that should be set for every running process. + * + * @var array + */ + protected $environmentVariables; + + /** + * Timeout that should be set for every running process. + * + * @var int + */ + protected $processTimeout; + + /** + * Constructs a new repository. + * + * Available options are: + * + * * working_dir : specify where working copy is located (option --work-tree) + * + * * debug : (default: true) enable/disable minimize errors and reduce log level + * + * * logger : a logger to use for logging actions (Psr\Log\LoggerInterface) + * + * * environment_variables : define environment variables for every ran process + * + * @param string $dir path to git repository + * @param array $options array of options values + * + * @throws InvalidArgumentException The folder does not exists + */ + public function __construct($dir, $options = array()) + { + $is_windows = defined('PHP_WINDOWS_VERSION_BUILD'); + $options = array_merge(array( + 'working_dir' => null, + 'debug' => true, + 'logger' => null, + 'environment_variables' => $is_windows ? array('PATH' => getenv('path')) : array(), + 'command' => 'git', + 'process_timeout' => 3600, + ), $options); + + if (null !== $options['logger'] && !$options['logger'] instanceof LoggerInterface) { + throw new InvalidArgumentException(sprintf('Argument "logger" passed to Repository should be a Psr\Log\LoggerInterface. A %s was provided', is_object($options['logger']) ? get_class($options['logger']) : gettype($options['logger']))); + } + + $this->logger = $options['logger']; + $this->initDir($dir, $options['working_dir']); + + $this->objects = array(); + $this->debug = (bool) $options['debug']; + $this->environmentVariables = $options['environment_variables']; + $this->processTimeout = $options['process_timeout']; + $this->command = $options['command']; + + if (true === $this->debug && null !== $this->logger) { + $this->logger->debug(sprintf('Repository created (git dir: "%s", working dir: "%s")', $this->gitDir, $this->workingDir ?: 'none')); + } + } + + /** + * Initializes directory attributes on repository:. + * + * @param string $gitDir directory of a working copy with files checked out + * @param string $workingDir directory containing git files (objects, config...) + */ + private function initDir($gitDir, $workingDir = null) + { + $realGitDir = realpath($gitDir); + + if (false === $realGitDir) { + throw new InvalidArgumentException(sprintf('Directory "%s" does not exist or is not a directory', $gitDir)); + } else if (!is_dir($realGitDir)) { + throw new InvalidArgumentException(sprintf('Directory "%s" does not exist or is not a directory', $realGitDir)); + } elseif (null === $workingDir && is_dir($realGitDir.'/.git')) { + $workingDir = $realGitDir; + $realGitDir = $realGitDir.'/.git'; + } + + $this->gitDir = $realGitDir; + $this->workingDir = $workingDir; + } + + /** + * Tests if repository is a bare repository. + * + * @return bool + */ + public function isBare() + { + return null === $this->workingDir; + } + + /** + * Returns the HEAD resolved as a commit. + * + * @return Commit|null returns a Commit or ``null`` if repository is empty + */ + public function getHeadCommit() + { + $head = $this->getHead(); + + if ($head instanceof Reference) { + return $head->getCommit(); + } + + return $head; + } + + /** + * @throws RuntimeException Unable to find file HEAD (debug-mode only) + * + * @return Reference|Commit|null current HEAD object or null if error occurs + */ + public function getHead() + { + $file = $this->gitDir.'/HEAD'; + + if (!file_exists($file)) { + $message = sprintf('Unable to find HEAD file ("%s")', $file); + + if (null !== $this->logger) { + $this->logger->error($message); + } + + if (true === $this->debug) { + throw new RuntimeException($message); + } + } + + $content = trim(file_get_contents($file)); + + if (null !== $this->logger) { + $this->logger->debug('HEAD file read: '.$content); + } + + if (preg_match('/^ref: (.+)$/', $content, $vars)) { + return $this->getReferences()->get($vars[1]); + } elseif (preg_match('/^[0-9a-f]{40}$/', $content)) { + return $this->getCommit($content); + } + + $message = sprintf('Unexpected HEAD file content (file: %s). Content of file: %s', $file, $content); + + if (null !== $this->logger) { + $this->logger->error($message); + } + + if (true === $this->debug) { + throw new RuntimeException($message); + } + } + + /** + * @return bool + */ + public function isHeadDetached() + { + return !$this->isHeadAttached(); + } + + /** + * @return bool + */ + public function isHeadAttached() + { + return $this->getHead() instanceof Reference; + } + + /** + * Returns the path to the git repository. + * + * @return string A directory path + */ + public function getPath() + { + return $this->workingDir === null ? $this->gitDir : $this->workingDir; + } + + /** + * Returns the directory containing git files (git-dir). + * + * @return string + */ + public function getGitDir() + { + return $this->gitDir; + } + + /** + * Returns the work-tree directory. This may be null if repository is + * bare. + * + * @return string path to repository or null if repository is bare + */ + public function getWorkingDir() + { + return $this->workingDir; + } + + /** + * Instanciates a revision. + * + * @param string $name Name of the revision + * + * @return Revision + */ + public function getRevision($name) + { + return new Revision($this, $name); + } + + /** + * @return WorkingCopy + */ + public function getWorkingCopy() + { + return new WorkingCopy($this); + } + + /** + * Returns the reference list associated to the repository. + * + * @return ReferenceBag + */ + public function getReferences() + { + if (null === $this->referenceBag) { + $this->referenceBag = new ReferenceBag($this); + } + + return $this->referenceBag; + } + + /** + * Instanciates a commit object or fetches one from the cache. + * + * @param string $hash A commit hash, with a length of 40 + * + * @return Commit + */ + public function getCommit($hash) + { + if (!isset($this->objects[$hash])) { + $this->objects[$hash] = new Commit($this, $hash); + } + + return $this->objects[$hash]; + } + + /** + * Instanciates a tree object or fetches one from the cache. + * + * @param string $hash A tree hash, with a length of 40 + * + * @return Tree + */ + public function getTree($hash) + { + if (!isset($this->objects[$hash])) { + $this->objects[$hash] = new Tree($this, $hash); + } + + return $this->objects[$hash]; + } + + /** + * Instanciates a blob object or fetches one from the cache. + * + * @param string $hash A blob hash, with a length of 40 + * + * @return Blob + */ + public function getBlob($hash) + { + if (!isset($this->objects[$hash])) { + $this->objects[$hash] = new Blob($this, $hash); + } + + return $this->objects[$hash]; + } + + public function getBlame($revision, $file, $lineRange = null) + { + if (is_string($revision)) { + $revision = $this->getRevision($revision); + } + + return new Blame($this, $revision, $file, $lineRange); + } + + /** + * Returns log for a given set of revisions and paths. + * + * All those values can be null, meaning everything. + * + * @param array $revisions An array of revisions to show logs from. Can be + * any text value type + * @param array $paths Restrict log to modifications occurring on given + * paths. + * @param int $offset Start from a given offset in results. + * @param int $limit Limit number of total results. + * + * @return Log + */ + public function getLog($revisions = null, $paths = null, $offset = null, $limit = null) + { + return new Log($this, $revisions, $paths, $offset, $limit); + } + + /** + * @return Diff + */ + public function getDiff($revisions) + { + if (null !== $revisions && !$revisions instanceof RevisionList) { + $revisions = new RevisionList($this, $revisions); + } + + $args = array_merge(array('-r', '-p', '-m', '-M', '--no-commit-id', '--full-index'), $revisions->getAsTextArray()); + + $diff = Diff::parse($this->run('diff', $args)); + $diff->setRepository($this); + + return $diff; + } + + /** + * Returns the size of repository, in kilobytes. + * + * @return int A sum, in kilobytes + * + * @throws RuntimeException An error occurred while computing size + */ + public function getSize() + { + $commandlineArguments = array('du', '-skc', $this->gitDir); + $commandline = $this->normalizeCommandlineArguments($commandlineArguments); + $process = new Process($commandline); + $process->run(); + + if (!preg_match('/(\d+)\s+total$/', trim($process->getOutput()), $vars)) { + $message = sprintf("Unable to parse process output\ncommand: %s\noutput: %s", $process->getCommandLine(), $process->getOutput()); + + if (null !== $this->logger) { + $this->logger->error($message); + } + + if (true === $this->debug) { + throw new RuntimeException('unable to parse repository size output'); + } + + return; + } + + return $vars[1]; + } + + /** + * Executes a shell command on the repository, using PHP pipes. + * + * @param string $command The command to execute + */ + public function shell($command, array $env = array()) + { + $argument = sprintf('%s \'%s\'', $command, $this->gitDir); + + $prefix = ''; + foreach ($env as $name => $value) { + $prefix .= sprintf('export %s=%s;', escapeshellarg($name), escapeshellarg($value)); + } + + proc_open($prefix.'git shell -c '.escapeshellarg($argument), array(STDIN, STDOUT, STDERR), $pipes); + } + + /** + * Returns the hooks object. + * + * @return Hooks + */ + public function getHooks() + { + return new Hooks($this); + } + + /** + * Returns description of repository from description file in git directory. + * + * @return string The description + */ + public function getDescription() + { + $file = $this->gitDir.'/description'; + $exists = is_file($file); + + if (null !== $this->logger && true === $this->debug) { + if (false === $exists) { + $this->logger->debug(sprintf('no description file in repository ("%s")', $file)); + } else { + $this->logger->debug(sprintf('reading description file in repository ("%s")', $file)); + } + } + + if (false === $exists) { + return static::DEFAULT_DESCRIPTION; + } + + return file_get_contents($this->gitDir.'/description'); + } + + /** + * Tests if repository has a custom set description. + * + * @return bool + */ + public function hasDescription() + { + return static::DEFAULT_DESCRIPTION !== $this->getDescription(); + } + + /** + * Changes the repository description (file description in git-directory). + * + * @return Repository the current repository + */ + public function setDescription($description) + { + $file = $this->gitDir.'/description'; + + if (null !== $this->logger && true === $this->debug) { + $this->logger->debug(sprintf('change description file content to "%s" (file: %s)', $description, $file)); + } + file_put_contents($file, $description); + + return $this; + } + + /** + * This command is a facility command. You can run any command + * directly on git repository. + * + * @param string $command Git command to run (checkout, branch, tag) + * @param array $args Arguments of git command + * + * @return string Output of a successful process or null if execution failed and debug-mode is disabled. + * + * @throws RuntimeException Error while executing git command (debug-mode only) + */ + public function run($command, $args = array()) + { + $process = $this->getProcess($command, $args); + + if ($this->logger) { + $this->logger->info(sprintf('run command: %s "%s" ', $command, implode(' ', $args))); + $before = microtime(true); + } + + $process->run(); + + $output = $process->getOutput(); + + if ($this->logger && $this->debug) { + $duration = microtime(true) - $before; + $this->logger->debug(sprintf('last command (%s) duration: %sms', $command, sprintf('%.2f', $duration * 1000))); + $this->logger->debug(sprintf('last command (%s) return code: %s', $command, $process->getExitCode())); + $this->logger->debug(sprintf('last command (%s) output: %s', $command, $output)); + } + + if (!$process->isSuccessful()) { + $error = sprintf("error while running %s\n output: \"%s\"", $command, $process->getErrorOutput()); + + if ($this->logger) { + $this->logger->error($error); + } + + if ($this->debug) { + throw new ProcessException($process); + } + + return; + } + + return $output; + } + + /** + * Set repository logger. + * + * @param LoggerInterface $logger A logger + * + * @return Repository The current repository + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + + return $this; + } + + /** + * Returns repository logger. + * + * @return LoggerInterface the logger or null + */ + public function getLogger() + { + return $this->logger; + } + + /** + * Clones the current repository to a new directory and return instance of new repository. + * + * @param string $path path to the new repository in which current repository will be cloned + * @param bool $bare flag indicating if repository is bare or has a working-copy + * + * @return Repository the newly created repository + */ + public function cloneTo($path, $bare = true, array $options = array()) + { + return Admin::cloneTo($path, $this->gitDir, $bare, $options); + } + + /** + * This internal method is used to create a process object. + * + * Made private to be sure that process creation is handled through the run method. + * run method ensures logging and debug. + * + * @see self::run + */ + private function getProcess($command, $args = array()) + { + $base = array($this->command, '--git-dir', $this->gitDir); + + if ($this->workingDir) { + $base = array_merge($base, array('--work-tree', $this->workingDir)); + } + + $base[] = $command; + + $commandlineArguments = array_merge($base, $args); + $commandline = $this->normalizeCommandlineArguments($commandlineArguments); + + $process = new Process($commandline); + $process->setEnv($this->environmentVariables); + $process->setTimeout($this->processTimeout); + $process->setIdleTimeout($this->processTimeout); + + return $process; + } + + /** + * This internal helper method is used to convert an array of commandline + * arguments to an escaped commandline string for older versions of the + * Symfony Process component. + * + * It acts as a backward compatible layer for Symfony Process < 3.3. + * + * @param array $arguments a list of command line arguments + * + * @return string|array a single escaped string (< 4.0) or a raw array of + * the arguments passed in (4.0+) + * + * @see Process::escapeArgument() + * @see ProcessUtils::escapeArgument() + */ + private function normalizeCommandlineArguments(array $arguments) + { + // From version 4.0 and onwards, the Process accepts an array of + // arguments, and escaping is taken care of automatically. + if (!class_exists('Symfony\Component\Process\ProcessBuilder')) { + return $arguments; + } + + // For version < 3.3, the Process only accepts a simple string + // as commandline, and escaping has to happen manually. + $commandline = implode(' ', array_map( + 'Symfony\Component\Process\ProcessUtils::escapeArgument', + $arguments + )); + + return $commandline; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php new file mode 100644 index 000000000..13e085bfc --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Revision.php @@ -0,0 +1,68 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +/** + * @author Alexandre Salomé + */ +class Revision +{ + /** + * @var Repository + */ + protected $repository; + + /** + * @var string + */ + protected $revision; + + public function __construct(Repository $repository, $revision) + { + $this->repository = $repository; + $this->revision = $revision; + } + + /** + * @return Log + */ + public function getLog($paths = null, $offset = null, $limit = null) + { + return $this->repository->getLog($this, $paths, $offset, $limit); + } + + /** + * Returns the last modification date of the reference. + * + * @return Commit + */ + public function getCommit() + { + return $this->getLog()->getSingleCommit(); + } + + /** + * @return string + */ + public function getRevision() + { + return $this->revision; + } + + /** + * @return Repository + */ + public function getRepository() + { + return $this->repository; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php new file mode 100644 index 000000000..52bede40c --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/RevisionList.php @@ -0,0 +1,72 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +/** + * @author Alexandre Salomé + */ +class RevisionList implements \IteratorAggregate, \Countable +{ + protected $revisions; + + /** + * Constructs a revision list from a variety of types. + * + * @param mixed $revisions can be a string, an array of strings or an array of Revision, Branch, Tag, Commit + */ + public function __construct(Repository $repository, $revisions) + { + if (is_string($revisions)) { + $revisions = array($repository->getRevision($revisions)); + } elseif ($revisions instanceof Revision) { + $revisions = array($revisions); + } elseif (!is_array($revisions)) { + throw new \InvalidArgumentException(sprintf('Expected a string, a Revision or an array, got a "%s".', is_object($revisions) ? get_class($revisions) : gettype($revisions))); + } + + if (count($revisions) == 0) { + throw new \InvalidArgumentException(sprintf('Empty revision list not allowed')); + } + + foreach ($revisions as $i => $revision) { + if (is_string($revision)) { + $revisions[$i] = new Revision($repository, $revision); + } elseif (!$revision instanceof Revision) { + throw new \InvalidArgumentException(sprintf('Expected a "Revision", got a "%s".', is_object($revision) ? get_class($revision) : gettype($revision))); + } + } + + $this->revisions = $revisions; + } + + public function getAll() + { + return $this->revisions; + } + + public function getIterator() + { + return new \ArrayIterator($this->revisions); + } + + public function count() + { + return count($this->revisions); + } + + public function getAsTextArray() + { + return array_map(function ($revision) { + return $revision->getRevision(); + }, $this->revisions); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php new file mode 100644 index 000000000..4406b0695 --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Tree.php @@ -0,0 +1,107 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Exception\UnexpectedValueException; + +/** + * @author Alexandre Salomé + */ +class Tree +{ + protected $repository; + protected $hash; + protected $isInitialized = false; + protected $entries; + + public function __construct(Repository $repository, $hash) + { + $this->repository = $repository; + $this->hash = $hash; + } + + public function getHash() + { + return $this->hash; + } + + protected function initialize() + { + if (true === $this->isInitialized) { + return; + } + + $output = $this->repository->run('cat-file', array('-p', $this->hash)); + $parser = new Parser\TreeParser(); + $parser->parse($output); + + $this->entries = array(); + + foreach ($parser->entries as $entry) { + list($mode, $type, $hash, $name) = $entry; + if ($type == 'blob') { + $this->entries[$name] = array($mode, $this->repository->getBlob($hash)); + } elseif ($type == 'tree') { + $this->entries[$name] = array($mode, $this->repository->getTree($hash)); + } else { + $this->entries[$name] = array($mode, new CommitReference($hash)); + } + } + + $this->isInitialized = true; + } + + /** + * @return array An associative array name => $object + */ + public function getEntries() + { + $this->initialize(); + + return $this->entries; + } + + public function getEntry($name) + { + $this->initialize(); + + if (!isset($this->entries[$name])) { + throw new InvalidArgumentException('No entry '.$name); + } + + return $this->entries[$name][1]; + } + + public function resolvePath($path) + { + if ($path == '') { + return $this; + } + + $path = preg_replace('#^/#', '', $path); + + $segments = explode('/', $path); + $element = $this; + foreach ($segments as $segment) { + if ($element instanceof self) { + $element = $element->getEntry($segment); + } elseif ($entry instanceof Blob) { + throw new InvalidArgumentException('Unresolvable path'); + } else { + throw new UnexpectedValueException('Unknow type of element'); + } + } + + return $element; + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php new file mode 100644 index 000000000..36e533c9c --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/Util/StringHelper.php @@ -0,0 +1,56 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Util; + +/** + * Helper class to support language particularity. + * + * @author Alexandre Salomé + */ +class StringHelper +{ + private static $encoding = 'utf-8'; + + public static function getEncoding() + { + return self::$encoding; + } + + public static function setEncoding($encoding) + { + self::$encoding = $encoding; + } + + public static function strlen($string) + { + return function_exists('mb_strlen') ? mb_strlen($string, self::$encoding) : strlen($string); + } + + public static function substr($string, $start, $length = false) + { + if (false === $length) { + $length = self::strlen($string); + } + + return function_exists('mb_substr') ? mb_substr($string, $start, $length, self::$encoding) : substr($string, $start, $length); + } + + public static function strpos($haystack, $needle, $offset = 0) + { + return function_exists('mb_strpos') ? mb_strpos($haystack, $needle, $offset, self::$encoding) : strpos($haystack, $needle, $offset); + } + + public static function strrpos($haystack, $needle, $offset = 0) + { + return function_exists('mb_strrpos') ? mb_strrpos($haystack, $needle, $offset, self::$encoding) : strrpos($haystack, $needle, $offset); + } +} diff --git a/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php b/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php new file mode 100644 index 000000000..7cc06490f --- /dev/null +++ b/vendor/gitonomy/gitlib/src/Gitonomy/Git/WorkingCopy.php @@ -0,0 +1,96 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git; + +use Gitonomy\Git\Diff\Diff; +use Gitonomy\Git\Exception\InvalidArgumentException; +use Gitonomy\Git\Exception\LogicException; + +/** + * @author Alexandre Salomé + */ +class WorkingCopy +{ + /** + * @var Repository + */ + protected $repository; + + public function __construct(Repository $repository) + { + $this->repository = $repository; + + if ($this->repository->isBare()) { + throw new LogicException('Can\'t create a working copy on a bare repository'); + } + } + + public function getStatus() + { + return WorkingStatus::parseOutput(); + } + + public function getUntrackedFiles() + { + $lines = explode("\0", $this->run('status', array('--porcelain', '--untracked-files=all', '-z'))); + $lines = array_filter($lines, function ($l) { return substr($l, 0, 3) === '?? '; }); + $lines = array_map(function ($l) { return substr($l, 3); }, $lines); + + return $lines; + } + + public function getDiffPending() + { + $diff = Diff::parse($this->run('diff', array('-r', '-p', '-m', '-M', '--full-index'))); + $diff->setRepository($this->repository); + + return $diff; + } + + public function getDiffStaged() + { + $diff = Diff::parse($this->run('diff', array('-r', '-p', '-m', '-M', '--full-index', '--staged'))); + $diff->setRepository($this->repository); + + return $diff; + } + + /** + * @return WorkingCopy + */ + public function checkout($revision, $branch = null) + { + $args = array(); + if ($revision instanceof Commit) { + $args[] = $revision->getHash(); + } elseif ($revision instanceof Reference) { + $args[] = $revision->getFullname(); + } elseif (is_string($revision)) { + $args[] = $revision; + } else { + throw new InvalidArgumentException(sprintf('Unknown type "%s"', gettype($revision))); + } + + if (null !== $branch) { + $args = array_merge($args, array('-b', $branch)); + } + + $this->run('checkout', $args); + + return $this; + } + + protected function run($command, array $args = array()) + { + return $this->repository->run($command, $args); + } +} diff --git a/vendor/gitonomy/gitlib/test-git-versions.sh b/vendor/gitonomy/gitlib/test-git-versions.sh new file mode 100755 index 000000000..0990e6975 --- /dev/null +++ b/vendor/gitonomy/gitlib/test-git-versions.sh @@ -0,0 +1,74 @@ +#!/bin/bash +set -e + +URL="git@github.com:git/git.git" +VERSIONS="v1.6.3 v1.6.6 v1.7.1 v1.7.5 v1.7.9 v1.8.1" +DIRNAME="git-builds" + +if [ ! -d "$DIRNAME" ]; then + mkdir - "$DIRNAME" +fi + +cd "$DIRNAME" + +# remote repository +if [ -d cache ]; then + echo "- update from github..." + cd cache + git fetch -q + cd .. +else + echo "- clone from github..." + git clone "$URL" cache -q +fi + +# build +for VERSION in $VERSIONS; do + + echo "- build $VERSION" + LOGFILE="build.$VERSION.log" + LOCKFILE="build.$VERSION.lock" + + if [ -f "$LOCKFILE" ]; then + echo " - lock present, destroy build..." + rm -rf "$VERSION" "build.$VERSION.log" + fi + + if [ -d "$VERSION" ]; then + echo " - already built, skipping..." + continue + fi + + touch "$LOCKFILE" + + echo " - log: $LOGFILE" + touch "$LOGFILE" + mkdir "$VERSION" + echo " - clone repository" + git clone -s cache "$VERSION/source" -q + echo " - checkout version" + cd "$VERSION/source" + git checkout "$VERSION" -q + + mkdir ../build + PREFIX="`readlink -f ../build`" + + echo " - build..." + autoconf >> "../../$LOGFILE" 2>&1 + ./configure --prefix="$PREFIX" >> "../../$LOGFILE" 2>&1 + make all >> "../../$LOGFILE" 2>&1 + make install >> "../../$LOGFILE" 2>&1 + echo " - build ok" + cd ../.. + rm "$LOCKFILE" +done +cd .. + +# test +echo "" +for VERSION in $VERSIONS; do + echo "- test $VERSION" + GIT_COMMAND="`readlink -f $DIRNAME/$VERSION/build/bin/git`" + echo " - command: $GIT_COMMAND" + GIT_COMMAND="$GIT_COMMAND" phpunit || true +done diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php new file mode 100644 index 000000000..e8b52a7c5 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AbstractTest.php @@ -0,0 +1,149 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Admin; +use Gitonomy\Git\Repository; +use PHPUnit\Framework\TestCase; + +abstract class AbstractTest extends TestCase +{ + const REPOSITORY_URL = 'http://github.com/gitonomy/foobar.git'; + + const LONGFILE_COMMIT = '4f17752acc9b7c54ba679291bf24cb7d354f0f4f'; + const BEFORE_LONGFILE_COMMIT = 'e0ec50e2af75fa35485513f60b2e658e245227e9'; + const LONGMESSAGE_COMMIT = '3febd664b6886344a9b32d70657687ea4b1b4fab'; + const INITIAL_COMMIT = '74acd054c8ec873ae6be044041d3a85a4f890ba5'; + const MERGE_COMMIT = '2f5b9d0a4e6e7173d7816e417805709c708674f8'; + const ENCODING_COMMIT = '779420b9b936f18a0b6579e1499a85b14270802e'; + const SIGNED_COMMIT = 'e1a83f16ed61ae3807e5652c7ef894692c813513'; + + /** + * Local clone of remote URL. Avoids network call on each test. + */ + private static $localRepository; + + /** + * Creates an empty git repository and returns instance. + * + * @return Repository + */ + public static function createEmptyRepository($bare = true) + { + $dir = self::createTempDir(); + $repository = Admin::init($dir, $bare, self::getOptions()); + self::registerDeletion($repository); + + return $repository; + } + + /** + * Can be used as data provider to get bare/not-bare repositories. + */ + public static function provideFoobar() + { + return array( + array(self::createFoobarRepository()), + array(self::createFoobarRepository(false)), + ); + } + + /** + * Can be used as data provider to get bare/not-bare repositories. + */ + public static function provideEmpty() + { + return array( + array(self::createEmptyRepository()), + array(self::createEmptyRepository(false)), + ); + } + + /** + * Creates a fixture test repository. + * + * @return Repository + */ + public static function createFoobarRepository($bare = true) + { + if (null === self::$localRepository) { + self::$localRepository = Admin::cloneTo(self::createTempDir(), self::REPOSITORY_URL, $bare, self::getOptions()); + } + + $repository = self::$localRepository->cloneTo(self::createTempDir(), $bare, self::getOptions()); + self::registerDeletion($repository); + + return $repository; + } + + public static function registerDeletion(Repository $repository) + { + register_shutdown_function(function () use ($repository) { + if ($repository->getWorkingDir()) { + $dir = $repository->getWorkingDir(); + } else { + $dir = $repository->getGitDir(); + } + AbstractTest::deleteDir($dir); + }); + } + + /** + * Created an empty directory and return path to it. + * + * @return string a fullpath + */ + public static function createTempDir() + { + $tmpDir = tempnam(sys_get_temp_dir(), 'gitlib_'); + unlink($tmpDir); + mkdir($tmpDir); + + return $tmpDir; + } + + /** + * Deletes a directory recursively. + * + * @param string $dir directory to delete + */ + public static function deleteDir($dir) + { + $iterator = new \RecursiveDirectoryIterator($dir, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS); + $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::CHILD_FIRST); + foreach ($iterator as $file) { + if (!is_link($file)) { + chmod($file, 0777); + } + if (is_dir($file)) { + rmdir($file); + } else { + unlink($file); + } + } + + chmod($dir, 0777); + rmdir($dir); + } + + protected static function getOptions() + { + $command = isset($_SERVER['GIT_COMMAND']) ? $_SERVER['GIT_COMMAND'] : 'git'; + $envs = isset($_SERVER['GIT_ENVS']) ? (array) $_SERVER['GIT_ENVS'] : array(); + + return array( + 'command' => $command, + 'environment_variables' => $envs, + 'process_timeout' => 60, + ); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php new file mode 100644 index 000000000..9f2a18766 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/AdminTest.php @@ -0,0 +1,177 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Admin; +use Gitonomy\Git\Reference\Branch; +use Gitonomy\Git\Repository; + +class AdminTest extends AbstractTest +{ + private $tmpDir; + + public function setUp() + { + $this->tmpDir = self::createTempDir(); + } + + public function tearDown() + { + $this->deleteDir(self::createTempDir()); + } + + public function testBare() + { + $repository = Admin::init($this->tmpDir, true, self::getOptions()); + + $objectDir = $this->tmpDir.'/objects'; + + $this->assertTrue($repository->isBare(), 'Repository is bare'); + $this->assertTrue(is_dir($objectDir), 'objects/ folder is present'); + $this->assertTrue($repository instanceof Repository, 'Admin::init returns a repository'); + $this->assertEquals($this->tmpDir, $repository->getGitDir(), 'The folder passed as argument is git dir'); + $this->assertNull($repository->getWorkingDir(), 'No working dir in bare repository'); + } + + public function testNotBare() + { + $repository = Admin::init($this->tmpDir, false, self::getOptions()); + + $objectDir = $this->tmpDir.'/.git/objects'; + + $this->assertFalse($repository->isBare(), 'Repository is not bare'); + $this->assertTrue(is_dir($objectDir), 'objects/ folder is present'); + $this->assertTrue($repository instanceof Repository, 'Admin::init returns a repository'); + $this->assertEquals($this->tmpDir.'/.git', $repository->getGitDir(), 'git dir as subfolder of argument'); + $this->assertEquals($this->tmpDir, $repository->getWorkingDir(), 'working dir present in bare repository'); + } + + /** + * @dataProvider provideFoobar + */ + public function testClone($repository) + { + $newDir = self::createTempDir(); + $new = $repository->cloneTo($newDir, $repository->isBare(), self::getOptions()); + self::registerDeletion($new); + + $newRefs = array_keys($new->getReferences()->getAll()); + + $this->assertTrue(in_array('refs/heads/master', $newRefs)); + $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); + + if ($repository->isBare()) { + $this->assertEquals($newDir, $new->getGitDir()); + $this->assertTrue(in_array('refs/heads/new-feature', $newRefs)); + } else { + $this->assertEquals($newDir.'/.git', $new->getGitDir()); + $this->assertEquals($newDir, $new->getWorkingDir()); + } + } + + public function testCloneBranchBare() + { + //we can't use AbstractText::createFoobarRepository() + //because it does not clone other branches than "master" + //so we test it directly against the remote repository + + $newDir = self::createTempDir(); + $new = Admin::cloneBranchTo($newDir, self::REPOSITORY_URL, 'new-feature'); + self::registerDeletion($new); + + $head = $new->getHead(); + $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); + $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); + } + + public function testCloneBranchNotBare() + { + //we can't use AbstractText::createFoobarRepository() + //because it does not clone other branches than "master" + //so we test it directly against remote repository + + $newDir = self::createTempDir(); + $new = Admin::cloneBranchTo($newDir, self::REPOSITORY_URL, 'new-feature', false); + self::registerDeletion($new); + + $head = $new->getHead(); + $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); + $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); + } + + /** + * @dataProvider provideFoobar + */ + public function testMirror($repository) + { + $newDir = self::createTempDir(); + $new = Admin::mirrorTo($newDir, $repository->getGitDir(), self::getOptions()); + self::registerDeletion($new); + + $newRefs = array_keys($new->getReferences()->getAll()); + + $this->assertTrue(in_array('refs/heads/master', $newRefs)); + $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); + $this->assertEquals($newDir, $new->getGitDir()); + + if ($repository->isBare()) { + $this->assertTrue(in_array('refs/heads/new-feature', $newRefs)); + } else { + $this->assertTrue(in_array('refs/remotes/origin/new-feature', $newRefs)); + } + } + + /** + * @dataProvider provideFoobar + */ + public function testCheckValidRepository($repository) + { + $url = $repository->getGitDir(); + $this->assertTrue(Admin::isValidRepository($url)); + } + + public function testCheckInvalidRepository() + { + $url = $this->tmpDir.'/invalid.git'; + mkdir($url); + + $this->assertFalse(Admin::isValidRepository($url)); + } + + /** + * @expectedException RuntimeException + */ + public function testExistingFile() + { + $file = $this->tmpDir.'/test'; + touch($file); + + Admin::init($file, true, self::getOptions()); + } + + public function testCloneRepository() + { + $newDir = self::createTempDir(); + $args = array(); + + $new = Admin::cloneRepository($newDir, self::REPOSITORY_URL, $args, self::getOptions()); + self::registerDeletion($new); + + $newRefs = array_keys($new->getReferences()->getAll()); + + $this->assertTrue(in_array('refs/heads/master', $newRefs)); + $this->assertTrue(in_array('refs/tags/0.1', $newRefs)); + + $this->assertEquals($newDir.'/.git', $new->getGitDir()); + $this->assertEquals($newDir, $new->getWorkingDir()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php new file mode 100644 index 000000000..d599d8c13 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlameTest.php @@ -0,0 +1,43 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +class BlameTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testBlame($repository) + { + $blame = $repository->getBlame(self::LONGFILE_COMMIT, 'README.md'); + + $this->assertCount(7, $blame); + + $this->assertEquals('alice', $blame->getLine(1)->getCommit()->getAuthorName()); + $this->assertEquals(self::INITIAL_COMMIT, $blame->getLine(1)->getCommit()->getHash()); + + $this->assertEquals('alice', $blame->getLine(5)->getCommit()->getAuthorName()); + $this->assertNotEquals(self::INITIAL_COMMIT, $blame->getLine(5)->getCommit()->getHash()); + } + + /** + * @dataProvider provideFoobar + */ + public function testGroupedBlame($repository) + { + $blame = $repository->getBlame(self::LONGFILE_COMMIT, 'README.md')->getGroupedLines(); + + $this->assertCount(3, $blame); + + $this->assertEquals(self::INITIAL_COMMIT, $blame[0][0]->getHash()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php new file mode 100644 index 000000000..d233e7cde --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/BlobTest.php @@ -0,0 +1,69 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +class BlobTest extends AbstractTest +{ + const README_FRAGMENT = 'Foo Bar project'; + + public function getReadmeBlob($repository) + { + return $repository->getCommit(self::LONGFILE_COMMIT)->getTree()->resolvePath('README.md'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetContent($repository) + { + $blob = $this->getReadmeBlob($repository); + + $this->assertContains(self::README_FRAGMENT, $blob->getContent()); + } + + /** + * @dataProvider provideFoobar + * @expectedException RuntimeException + */ + public function testNotExisting($repository) + { + $blob = $repository->getBlob('foobar'); + $blob->getContent(); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetMimetype($repository) + { + $blob = $this->getReadmeBlob($repository); + $this->assertRegexp('#text/plain#', $blob->getMimetype()); + } + + /** + * @dataProvider provideFoobar + */ + public function testIsText($repository) + { + $blob = $this->getReadmeBlob($repository); + $this->assertTrue($blob->isText()); + } + + /** + * @dataProvider provideFoobar + */ + public function testIsBinary($repository) + { + $blob = $this->getReadmeBlob($repository); + $this->assertFalse($blob->isBinary()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php new file mode 100644 index 000000000..8a7c2c65d --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/CommitTest.php @@ -0,0 +1,301 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Commit; +use Gitonomy\Git\Diff\Diff; + +class CommitTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testGetDiff($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $diff = $commit->getDiff(); + + $this->assertTrue($diff instanceof Diff, 'getDiff() returns a Diff object'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetHash($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals(self::LONGFILE_COMMIT, $commit->getHash()); + } + + /** + * @dataProvider provideFoobar + * + * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException + * @expectedExceptionMessage Reference not found: "that-hash-doest-not-exists" + */ + public function testInvalideHashThrowException($repository) + { + $commit = new Commit($repository, 'that-hash-doest-not-exists'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetShortHash($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('4f17752', $commit->getShortHash(), 'Short hash'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetParentHashes_WithNoParent($repository) + { + $commit = $repository->getCommit(self::INITIAL_COMMIT); + + $this->assertEquals(0, count($commit->getParentHashes()), 'No parent on initial commit'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetParentHashes_WithOneParent($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + $parents = $commit->getParentHashes(); + + $this->assertEquals(1, count($parents), 'One parent found'); + $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $parents[0], 'Parent hash is correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetParents_WithOneParent($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + $parents = $commit->getParents(); + + $this->assertEquals(1, count($parents), 'One parent found'); + $this->assertTrue($parents[0] instanceof Commit, 'First parent is a Commit object'); + $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $parents[0]->getHash(), "First parents's hash is correct"); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetTreeHash($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('b06890c7b10904979d2f69613c2ccda30aafe262', $commit->getTreeHash(), 'Tree hash is correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetTree($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertInstanceOf('Gitonomy\Git\Tree', $commit->getTree(), 'Tree is a tree'); + $this->assertEquals('b06890c7b10904979d2f69613c2ccda30aafe262', $commit->getTree()->getHash(), 'Tree hash is correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetAuthorName($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('alice', $commit->getAuthorName(), 'Author name'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetAuthorEmail($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('alice@example.org', $commit->getAuthorEmail(), 'Author email'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetAuthorDate($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('2012-12-31 14:21:03', $commit->getAuthorDate()->format('Y-m-d H:i:s'), 'Author date'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetCommitterName($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('alice', $commit->getCommitterName(), 'Committer name'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetCommitterEmail($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('alice@example.org', $commit->getCommitterEmail(), 'Committer email'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetCommitterDate($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('2012-12-31 14:21:03', $commit->getCommitterDate()->format('Y-m-d H:i:s'), 'Committer date'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetMessage($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $this->assertEquals('add a long file'."\n", $commit->getMessage()); + } + + /** + * This test ensures that GPG signed commits does not break the reading of a commit + * message. + * + * @dataProvider provideFoobar + */ + public function testGetSignedMessage($repository) + { + $commit = $repository->getCommit(self::SIGNED_COMMIT); + $this->assertEquals('signed commit'."\n", $commit->getMessage()); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetShortMessage($repository) + { + // tests with a multi-line message + $commit = $repository->getCommit(self::LONGMESSAGE_COMMIT); + + $this->assertEquals('Fixed perm...', $commit->getShortMessage(10)); + $this->assertEquals('Fixed perm!!!', $commit->getShortMessage(10, false, '!!!')); + $this->assertEquals('Fixed permissions!!!', $commit->getShortMessage(10, true, '!!!')); + + // tests with a single-line message + $commit = $repository->getCommit(self::INITIAL_COMMIT); + + $this->assertEquals('Add README', $commit->getShortMessage(20)); + $this->assertEquals('A', $commit->getShortMessage(1, false, '')); + $this->assertEquals('Add!!!', $commit->getShortMessage(1, true, '!!!')); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetBodyMessage($repository) + { + $commit = $repository->getCommit(self::LONGMESSAGE_COMMIT); + $message = <<assertEquals($message, $commit->getBodyMessage()); + + $commit = $repository->getCommit(self::INITIAL_COMMIT); + + $this->assertEquals('', $commit->getBodyMessage()); + } + + /** + * @expectedException InvalidArgumentException + * @dataProvider provideFoobar + */ + public function testGetIncludingBranchesException($repository) + { + $commit = $repository->getCommit(self::INITIAL_COMMIT); + + $commit->getIncludingBranches(false, false); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetIncludingBranches($repository) + { + $commit = $repository->getCommit(self::INITIAL_COMMIT); + + $branches = $commit->getIncludingBranches(true, false); + $this->assertCount(count($repository->getReferences()->getLocalBranches()), $branches); + + $branches = $commit->getIncludingBranches(true, true); + $this->assertCount(count($repository->getReferences()->getBranches()), $branches); + + $branches = $commit->getIncludingBranches(false, true); + $this->assertCount(count($repository->getReferences()->getRemoteBranches()), $branches); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetLastModification($repository) + { + $commit = $repository->getCommit(self::LONGFILE_COMMIT); + + $lastModification = $commit->getLastModification('image.jpg'); + + $this->assertTrue($lastModification instanceof Commit, 'Last modification is a Commit object'); + $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $lastModification->getHash(), 'Last modification is current commit'); + } + + /** + * @dataProvider provideFoobar + */ + public function testMergeCommit($repository) + { + $commit = $repository->getCommit(self::MERGE_COMMIT); + + $this->assertEquals("Merge branch 'authors'", $commit->getSubjectMessage()); + } + + /** + * @dataProvider provideFoobar + */ + public function testEncoding($repository) + { + $commit = $repository->getCommit(self::ENCODING_COMMIT); + + $this->assertEquals('contribute to AUTHORS file', $commit->getSubjectMessage()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php new file mode 100644 index 000000000..d9ad4e021 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/DiffTest.php @@ -0,0 +1,142 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Diff\Diff; + +class DiffTest extends AbstractTest +{ + const DELETE_COMMIT = '519d5693c72c925cd59205d9f11e9fa1d550028b'; + const CREATE_COMMIT = 'e6fa3c792facc06faa049a6938c84c411954deb5'; + const RENAME_COMMIT = '6640e0ef31518054847a1876328e26ee64083e0a'; + const CHANGEMODE_COMMIT = '93da965f58170f13017477b9a608657e87e23230'; + + /** + * @dataProvider provideFoobar + */ + public function testSerialization($repository) + { + $data = $repository->getCommit(self::CREATE_COMMIT)->getDiff()->toArray(); + $diff = Diff::fromArray($data); + + $this->verifyCreateCommitDiff($diff); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetFiles_Addition($repository) + { + $diff = $repository->getCommit(self::CREATE_COMMIT)->getDiff(); + $this->verifyCreateCommitDiff($diff); + } + + protected function verifyCreateCommitDiff(Diff $diff) + { + $files = $diff->getFiles(); + + $this->assertEquals(2, count($files), '1 file in diff'); + + $this->assertTrue($files[0]->isCreation(), 'script_A.php created'); + + $this->assertEquals(null, $files[0]->getOldName(), 'First file name is a new file'); + $this->assertEquals('script_A.php', $files[0]->getNewName(), 'First file name is script_A.php'); + $this->assertEquals(null, $files[0]->getOldMode(), 'First file mode is a new file'); + $this->assertEquals('100644', $files[0]->getNewMode(), 'First file mode is correct'); + + $this->assertEquals(1, $files[0]->getAdditions(), '1 line added'); + $this->assertEquals(0, $files[0]->getDeletions(), '0 lines deleted'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetFiles_Modification($repository) + { + $files = $repository->getCommit(self::BEFORE_LONGFILE_COMMIT)->getDiff()->getFiles(); + + $this->assertEquals(1, count($files), '1 files in diff'); + + $this->assertTrue($files[0]->isModification(), 'image.jpg modified'); + + $this->assertEquals('image.jpg', $files[0]->getOldName(), 'Second file name is image.jpg'); + $this->assertEquals('image.jpg', $files[0]->getNewName(), 'Second file name is image.jpg'); + $this->assertEquals('100644', $files[0]->getOldMode(), 'Second file mode is a new file'); + $this->assertEquals('100644', $files[0]->getNewMode(), 'Second file mode is correct'); + + $this->assertTrue($files[0]->isBinary(), 'binary file'); + $this->assertEquals(0, $files[0]->getAdditions(), '0 lines added'); + $this->assertEquals(0, $files[0]->getDeletions(), '0 lines deleted'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetFiles_Deletion($repository) + { + $files = $repository->getCommit(self::DELETE_COMMIT)->getDiff()->getFiles(); + + $this->assertEquals(1, count($files), '1 files modified'); + + $this->assertTrue($files[0]->isDeletion(), 'File deletion'); + $this->assertEquals('script_B.php', $files[0]->getOldName(), 'verify old filename'); + $this->assertEquals(1, $files[0]->getDeletions(), '1 line deleted'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetFiles_Rename($repository) + { + $files = $repository->getCommit(self::RENAME_COMMIT)->getDiff()->getFiles(); + + $this->assertEquals(1, count($files), '1 files modified'); + + $this->assertTrue($files[0]->isModification()); + $this->assertTrue($files[0]->isRename()); + $this->assertFalse($files[0]->isDeletion()); + $this->assertFalse($files[0]->isCreation()); + $this->assertFalse($files[0]->isChangeMode()); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetFiles_Changemode($repository) + { + $files = $repository->getCommit(self::CHANGEMODE_COMMIT)->getDiff()->getFiles(); + + $this->assertEquals(1, count($files), '1 files modified'); + + $this->assertTrue($files[0]->isModification()); + $this->assertTrue($files[0]->isChangeMode()); + $this->assertFalse($files[0]->isDeletion()); + $this->assertFalse($files[0]->isCreation()); + $this->assertFalse($files[0]->isRename()); + } + + /** + * @dataProvider provideFoobar + */ + public function testDiffRangeParse($repository) + { + $files = $repository->getCommit(self::CREATE_COMMIT)->getDiff()->getFiles(); + + $changes = $files[0]->getChanges(); + + $this->assertEquals(0, $changes[0]->getRangeOldStart()); + $this->assertEquals(0, $changes[0]->getRangeOldCount()); + + $this->assertEquals(1, $changes[0]->getRangeNewStart()); + $this->assertEquals(0, $changes[0]->getRangeNewCount()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php new file mode 100644 index 000000000..d9e407879 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/HooksTest.php @@ -0,0 +1,178 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +class HooksTest extends AbstractTest +{ + private static $symlinkOnWindows = null; + + public static function setUpBeforeClass() + { + if (defined('PHP_WINDOWS_VERSION_MAJOR')) { + self::$symlinkOnWindows = true; + $originDir = tempnam(sys_get_temp_dir(), 'sl'); + $targetDir = tempnam(sys_get_temp_dir(), 'sl'); + if (true !== @symlink($originDir, $targetDir)) { + $report = error_get_last(); + if (is_array($report) && false !== strpos($report['message'], 'error code(1314)')) { + self::$symlinkOnWindows = false; + } + } + } + } + + public function hookPath($repository, $hook) + { + return $repository->getGitDir().'/hooks/'.$hook; + } + + public function touchHook($repository, $hook, $content = '') + { + $path = $this->hookPath($repository, $hook); + file_put_contents($path, $content); + + return $path; + } + + public function assertHasHook($repository, $hook) + { + $file = $this->hookPath($repository, $hook); + + $this->assertTrue($repository->getHooks()->has($hook), "hook $hook in repository"); + $this->assertTrue(file_exists($file), "Hook $hook is present"); + } + + public function assertNoHook($repository, $hook) + { + $file = $this->hookPath($repository, $hook); + + $this->assertFalse($repository->getHooks()->has($hook), "No hook $hook in repository"); + $this->assertFalse(file_exists($file), "Hook $hook is not present"); + } + + /** + * @dataProvider provideFoobar + */ + public function testHas($repository) + { + $this->assertNoHook($repository, 'foo'); + $this->touchHook($repository, 'foo'); + $this->assertHasHook($repository, 'foo'); + } + + /** + * @dataProvider provideFoobar + * @expectedException InvalidArgumentException + */ + public function testGet_InvalidName_ThrowsException($repository) + { + $repository->getHooks()->get('foo'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGet($repository) + { + $this->touchHook($repository, 'foo', 'foobar'); + + $this->assertEquals('foobar', $repository->getHooks()->get('foo')); + } + + /** + * @dataProvider provideFoobar + */ + public function testSymlink($repository) + { + $this->markAsSkippedIfSymlinkIsMissing(); + + $file = $this->touchHook($repository, 'bar', 'barbarbar'); + $repository->getHooks()->setSymlink('foo', $file); + + $this->assertTrue(is_link($this->hookPath($repository, 'foo')), 'foo hook is a symlink'); + $this->assertEquals($file, readlink($this->hookPath($repository, 'foo')), 'target of symlink is correct'); + } + + /** + * @dataProvider provideFoobar + * @expectedException LogicException + */ + public function testSymlink_WithExisting_ThrowsLogicException($repository) + { + $this->markAsSkippedIfSymlinkIsMissing(); + + $file = $this->hookPath($repository, 'target-symlink'); + $fooFile = $this->hookPath($repository, 'foo'); + + file_put_contents($file, 'foobar'); + touch($fooFile); + + $repository->getHooks()->setSymlink('foo', $file); + } + + /** + * @dataProvider provideFoobar + */ + public function testSet($repository) + { + $file = $this->hookPath($repository, 'foo'); + $repository->getHooks()->set('foo', 'bar'); + + $this->assertEquals('bar', file_get_contents($file), 'Hook content is correct'); + + $perms = fileperms($file); + $this->assertEquals(defined('PHP_WINDOWS_VERSION_BUILD') ? 0666 : 0777, $perms & 0777, 'Hook permissions are correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testSet_Existing_ThrowsLogicException($repository) + { + $repository->getHooks()->set('foo', 'bar'); + + $this->setExpectedException('LogicException'); + $repository->getHooks()->set('foo', 'bar'); + } + + /** + * @dataProvider provideFoobar + */ + public function testRemove($repository) + { + $file = $this->hookPath($repository, 'foo'); + touch($file); + + $repository->getHooks()->remove('foo'); + $this->assertFalse(file_exists($file)); + } + + /** + * @dataProvider provideFoobar + * @expectedException LogicException + */ + public function testRemove_NotExisting_ThrowsLogicException($repository) + { + $repository->getHooks()->remove('foo'); + } + + private function markAsSkippedIfSymlinkIsMissing() + { + if (!function_exists('symlink')) { + $this->markTestSkipped('symlink is not supported'); + } + + if (defined('PHP_WINDOWS_VERSION_MAJOR') && false === self::$symlinkOnWindows) { + $this->markTestSkipped('symlink requires "Create symbolic links" privilege on windows'); + } + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php new file mode 100644 index 000000000..e1fa8c828 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/LogTest.php @@ -0,0 +1,80 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Log; + +class LogTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testRevisionAndPath($repository) + { + $logReadme = $repository->getLog(self::LONGFILE_COMMIT, 'README'); + $logImage = $repository->getLog(self::LONGFILE_COMMIT, 'image.jpg'); + + $this->assertEquals(3, count($logReadme)); + $this->assertEquals(2, count($logImage)); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetCommits($repository) + { + $log = $repository->getLog(self::LONGFILE_COMMIT, null, null, 3); + + $commits = $log->getCommits(); + + $this->assertEquals(3, count($commits), '3 commits in log'); + $this->assertEquals(self::LONGFILE_COMMIT, $commits[0]->getHash(), 'First is requested one'); + $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $commits[1]->getHash(), "Second is longfile parent\'s"); + } + + /** + * @dataProvider provideFoobar + */ + public function testCountCommits($repository) + { + $log = $repository->getLog(self::LONGFILE_COMMIT, null, 2, 3); + + $this->assertEquals(8, $log->countCommits(), '8 commits found in history'); + } + + /** + * @dataProvider provideFoobar + */ + public function testCountAllCommits($repository) + { + $log = $log = $repository->getLog(); + + $this->assertGreaterThan(100, $log->countCommits(), 'Returns all commits from all branches'); + } + + /** + * @dataProvider provideFoobar + */ + public function testIterable($repository) + { + $log = $repository->getLog(self::LONGFILE_COMMIT); + + $expectedHashes = array(self::LONGFILE_COMMIT, self::BEFORE_LONGFILE_COMMIT); + foreach ($log as $entry) { + $hash = array_shift($expectedHashes); + $this->assertEquals($hash, $entry->getHash()); + if (count($expectedHashes) == 0) { + break; + } + } + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php new file mode 100644 index 000000000..9795b25ea --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/PushReferenceTest.php @@ -0,0 +1,82 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\PushReference; + +class PushReferenceTest extends AbstractTest +{ + const CREATE = 1; + const DELETE = 2; + const FORCE = 4; + const FAST_FORWARD = 8; + + public function provideIsers() + { + // mask: force fastforward create delete + return array( + array('foo', PushReference::ZERO, self::LONGFILE_COMMIT, self::CREATE), + array('foo', self::LONGFILE_COMMIT, PushReference::ZERO, self::DELETE), + array('foo', self::LONGFILE_COMMIT, self::BEFORE_LONGFILE_COMMIT, self::FORCE), + array('foo', self::BEFORE_LONGFILE_COMMIT, self::LONGFILE_COMMIT, self::FAST_FORWARD), + ); + } + + /** + * @dataProvider provideIsers + */ + public function testIsers($reference, $before, $after, $mask) + { + $reference = new PushReference(self::createFoobarRepository(), $reference, $before, $after); + $this->assertEquals($mask & self::CREATE, $reference->isCreate(), 'Create value is correct.'); + $this->assertEquals($mask & self::DELETE, $reference->isDelete(), 'Delete value is correct.'); + $this->assertEquals($mask & self::FORCE, $reference->isForce(), 'Force value is correct.'); + $this->assertEquals($mask & self::FAST_FORWARD, $reference->isFastForward(), 'FastForward value is correct.'); + } + + /** + * @dataProvider provideFoobar + */ + public function testLog($repository) + { + $ref = new PushReference($repository, 'foo', self::INITIAL_COMMIT, self::LONGFILE_COMMIT); + + $log = $ref->getLog()->getCommits(); + $this->assertEquals(7, count($log), '7 commits in log'); + $this->assertEquals('add a long file', $log[0]->getShortMessage(), 'First commit is correct'); + } + + /** + * This test ensures that GPG signed requests does not break the reading of commit logs. + * + * @dataProvider provideFoobar + */ + public function testSignedLog($repository) + { + $ref = new PushReference($repository, 'foo', self::INITIAL_COMMIT, self::SIGNED_COMMIT); + $log = $ref->getLog()->getCommits(); + $this->assertEquals(16, count($log), '16 commits in log'); + $this->assertEquals('signed commit', $log[0]->getShortMessage(), 'Last commit is correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testLogWithExclude($repository) + { + $ref = new PushReference($repository, 'foo', PushReference::ZERO, self::LONGFILE_COMMIT); + + $log = $ref->getLog(array(self::INITIAL_COMMIT))->getCommits(); + $this->assertEquals(7, count($log), '7 commits in log'); + $this->assertEquals('add a long file', $log[0]->getShortMessage(), 'First commit is correct'); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php new file mode 100644 index 000000000..87dfbbba7 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/ReferenceTest.php @@ -0,0 +1,183 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Reference\Branch; +use Gitonomy\Git\Reference\Tag; + +class ReferenceTest extends AbstractTest +{ + private $references; + + /** + * @dataProvider provideEmpty + */ + public function testEmptyRepository($repository) + { + $this->assertCount(0, $repository->getReferences()); + $this->assertEquals(array(), $repository->getReferences()->getAll()); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetBranch($repository) + { + $branch = $repository->getReferences()->getBranch('master'); + + $this->assertTrue($branch instanceof Branch, 'Branch object is correct type'); + $this->assertEquals($branch->getCommitHash(), $branch->getCommit()->getHash(), 'Hash is correctly resolved'); + } + + /** + * @dataProvider provideFoobar + */ + public function testHasBranch($repository) + { + $this->assertTrue($repository->getReferences()->hasBranch('master'), 'Branch master exists'); + $this->assertFalse($repository->getReferences()->hasBranch('foobar'), 'Branch foobar does not exists'); + } + + /** + * @dataProvider provideFoobar + */ + public function testHasTag($repository) + { + $this->assertTrue($repository->getReferences()->hasTag('0.1'), 'Tag 0.1 exists'); + $this->assertFalse($repository->getReferences()->hasTag('foobar'), 'Tag foobar does not exists'); + } + + /** + * @dataProvider provideFoobar + * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException + */ + public function testGetBranch_NotExisting_Error($repository) + { + $branch = $repository->getReferences()->getBranch('notexisting'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetTag($repository) + { + $tag = $repository->getReferences()->getTag('0.1'); + + $this->assertTrue($tag instanceof Tag, 'Tag object is correct type'); + + $this->assertEquals(self::LONGFILE_COMMIT, $tag->getCommitHash(), 'Commit hash is correct'); + $this->assertEquals(self::LONGFILE_COMMIT, $tag->getCommit()->getHash(), 'Commit hash is correct'); + } + + /** + * @dataProvider provideFoobar + * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException + */ + public function testGetTag_NotExisting_Error($repository) + { + $branch = $repository->getReferences()->getTag('notexisting'); + } + + /** + * @dataProvider provideFoobar + */ + public function testResolve($repository) + { + $commit = $repository->getReferences()->getTag('0.1')->getCommit(); + $resolved = $repository->getReferences()->resolve($commit->getHash()); + + $this->assertEquals(1, count($resolved), '1 revision resolved'); + $this->assertTrue(reset($resolved) instanceof Tag, 'Resolved object is a tag'); + } + + /** + * @dataProvider provideFoobar + */ + public function testResolveTags($repository) + { + $commit = $repository->getReferences()->getTag('0.1')->getCommit(); + $resolved = $repository->getReferences()->resolveTags($commit->getHash()); + + $this->assertEquals(1, count($resolved), '1 revision resolved'); + $this->assertTrue(reset($resolved) instanceof Tag, 'Resolved object is a tag'); + } + + /** + * @dataProvider provideFoobar + */ + public function testResolveBranches($repository) + { + $master = $repository->getReferences()->getBranch('master'); + + $resolved = $repository->getReferences()->resolveBranches($master->getCommitHash()); + + if ($repository->isBare()) { + $this->assertEquals(1, count($resolved), '1 revision resolved'); + } else { + $this->assertEquals(2, count($resolved), '2 revision resolved'); + } + + $this->assertTrue(reset($resolved) instanceof Branch, 'Resolved object is a branch'); + } + + /** + * @dataProvider provideFoobar + */ + public function testCountable($repository) + { + $this->assertGreaterThanOrEqual(2, count($repository->getReferences()), 'At least two references in repository'); + } + + /** + * @dataProvider provideFoobar + */ + public function testIterable($repository) + { + $i = 0; + foreach ($repository->getReferences() as $ref) { + ++$i; + } + $this->assertGreaterThanOrEqual(2, $i, 'At least two references in repository'); + } + + /** + * @dataProvider provideFoobar + */ + public function testCreateAndDeleteTag($repository) + { + $references = $repository->getReferences(); + $tag = $references->createTag('0.0', self::INITIAL_COMMIT); + + $this->assertTrue($references->hasTag('0.0'), 'Tag 0.0 created'); + $this->assertEquals(self::INITIAL_COMMIT, $tag->getCommit()->getHash()); + $this->assertSame($tag, $references->getTag('0.0')); + + $tag->delete(); + $this->assertFalse($references->hasTag('0.0'), 'Tag 0.0 removed'); + } + + /** + * @dataProvider provideFoobar + */ + public function testCreateAndDeleteBranch($repository) + { + $references = $repository->getReferences(); + $branch = $references->createBranch('foobar', self::INITIAL_COMMIT); + + $this->assertTrue($references->hasBranch('foobar'), 'Branch foobar created'); + $this->assertEquals(self::INITIAL_COMMIT, $branch->getCommit()->getHash()); + $this->assertSame($branch, $references->getBranch('foobar')); + + $branch->delete(); + $this->assertFalse($references->hasBranch('foobar'), 'Branch foobar removed'); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php new file mode 100644 index 000000000..163ac9cc0 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RepositoryTest.php @@ -0,0 +1,109 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Blob; +use Gitonomy\Git\Repository; +use Prophecy\Argument; + +class RepositoryTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testGetBlob_WithExisting_Works($repository) + { + $blob = $repository->getCommit(self::LONGFILE_COMMIT)->getTree()->resolvePath('README.md'); + + $this->assertTrue($blob instanceof Blob, 'getBlob() returns a Blob object'); + $this->assertContains('Foo Bar project', $blob->getContent(), 'file is correct'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetSize($repository) + { + $size = $repository->getSize(); + $this->assertGreaterThan(70, $size, 'Repository is greater than 70KB'); + } + + public function testIsBare() + { + $bare = self::createFoobarRepository(true); + $this->assertTrue($bare->isBare(), 'Lib repository is bare'); + + $notBare = self::createFoobarRepository(false); + $this->assertFalse($notBare->isBare(), 'Working copy is not bare'); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetDescription($repository) + { + $this->assertSame("Unnamed repository; edit this file 'description' to name the repository.\n", $repository->getDescription()); + } + + /** + * @dataProvider provideFoobar + */ + public function testLoggerOk($repository) + { + if (!interface_exists('Psr\Log\LoggerInterface')) { + $this->markTestSkipped(); + } + + $loggerProphecy = $this->prophesize('Psr\Log\LoggerInterface'); + $loggerProphecy + ->info('run command: remote "" ') + ->shouldBeCalledTimes(1) + ; + $loggerProphecy + ->debug(Argument::type('string')) // duration, return code and output + ->shouldBeCalledTimes(3) + ; + + $repository->setLogger($loggerProphecy->reveal()); + + $repository->run('remote'); + } + + /** + * @dataProvider provideFoobar + * @expectedException RuntimeException + */ + public function testLoggerNOk($repository) + { + if (!interface_exists('Psr\Log\LoggerInterface')) { + $this->markTestSkipped(); + } + + $loggerProphecy = $this->prophesize('Psr\Log\LoggerInterface'); + $loggerProphecy + ->info(Argument::type('string')) + ->shouldBeCalledTimes(1) + ; + $loggerProphecy + ->debug(Argument::type('string')) // duration, return code and output + ->shouldBeCalledTimes(3) + ; + $loggerProphecy + ->error(Argument::type('string')) + ->shouldBeCalledTimes(1) + ; + + $repository->setLogger($loggerProphecy->reveal()); + + $repository->run('not-work'); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php new file mode 100644 index 000000000..253237f55 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/RevisionTest.php @@ -0,0 +1,60 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Commit; +use Gitonomy\Git\Log; +use Gitonomy\Git\Revision; + +class RevisionTest extends AbstractTest +{ + /** + * @dataProvider provideFoobar + */ + public function testGetCommit($repository) + { + $revision = $repository->getRevision(self::LONGFILE_COMMIT.'^'); + + $this->assertTrue($revision instanceof Revision, 'Revision object type'); + + $commit = $revision->getCommit(); + + $this->assertTrue($commit instanceof Commit, 'getCommit returns a Commit'); + + $this->assertEquals(self::BEFORE_LONGFILE_COMMIT, $commit->getHash(), 'Resolution is correct'); + } + + /** + * @dataProvider provideFoobar + * @expectedException Gitonomy\Git\Exception\ReferenceNotFoundException + * @expectedExceptionMessage Can not find revision "non-existent-commit" + */ + public function testGetFailingReference($repository) + { + $revision = $repository->getRevision('non-existent-commit')->getCommit(); + } + + /** + * @dataProvider provideFoobar + */ + public function testGetLog($repository) + { + $revision = $repository->getRevision(self::LONGFILE_COMMIT); + + $log = $revision->getLog(null, 2, 3); + + $this->assertTrue($log instanceof Log, 'Log type object'); + $this->assertEquals(2, $log->getOffset(), 'Log offset is passed'); + $this->assertEquals(3, $log->getLimit(), 'Log limit is passed'); + $this->assertEquals(array($revision), $log->getRevisions()->getAll(), 'Revision is passed'); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php new file mode 100644 index 000000000..1587033a7 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/TreeTest.php @@ -0,0 +1,48 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Blob; + +class TreeTest extends AbstractTest +{ + const PATH_RESOLVING_COMMIT = 'cc06ac171d884282202dff88c1ded499a1f89420'; + /** + * @dataProvider provideFooBar + */ + public function testCase($repository) + { + $tree = $repository->getCommit(self::LONGFILE_COMMIT)->getTree(); + + $entries = $tree->getEntries(); + + $this->assertTrue(isset($entries['long.php']), 'long.php is present'); + $this->assertTrue($entries['long.php'][1] instanceof Blob, 'long.php is a Blob'); + + $this->assertTrue(isset($entries['README.md']), 'README.md is present'); + $this->assertTrue($entries['README.md'][1] instanceof Blob, 'README.md is a Blob'); + } + + /** + * @dataProvider provideFooBar + */ + public function testResolvePath($repository) + { + $tree = $repository->getCommit(self::PATH_RESOLVING_COMMIT)->getTree(); + $path = 'test/a/b/c'; + + $resolved = $tree->resolvePath($path); + $entries = $resolved->getEntries(); + + $this->assertTrue(isset($entries['d']), 'Successfully resolved source folder'); + } +} diff --git a/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php new file mode 100644 index 000000000..7d4d109fc --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/Gitonomy/Git/Tests/WorkingCopyTest.php @@ -0,0 +1,112 @@ + + * (c) Julien DIDIER + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace Gitonomy\Git\Tests; + +use Gitonomy\Git\Admin; +use Gitonomy\Git\Reference\Branch; + +class WorkingCopyTest extends AbstractTest +{ + /** + * @expectedException LogicException + */ + public function testNoWorkingCopyInBare() + { + $path = self::createTempDir(); + $repo = Admin::init($path, true, self::getOptions()); + + $repo->getWorkingCopy(); + } + + public function testCheckout() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + $wc->checkout('origin/new-feature', 'new-feature'); + + $head = $repository->getHead(); + $this->assertTrue($head instanceof Branch, 'HEAD is a branch'); + $this->assertEquals('new-feature', $head->getName(), 'HEAD is branch new-feature'); + } + + public function testDiffStaged() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + + $diffStaged = $wc->getDiffStaged(); + $this->assertCount(0, $diffStaged->getFiles()); + + $file = $repository->getWorkingDir().'/foobar-test'; + file_put_contents($file, 'test'); + $repository->run('add', array($file)); + + $diffStaged = $wc->getDiffStaged(); + $this->assertCount(1, $diffStaged->getFiles()); + } + + public function testDiffPending() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + + $diffPending = $wc->getDiffPending(); + $this->assertCount(0, $diffPending->getFiles()); + + $file = $repository->getWorkingDir().'/test.sh'; + file_put_contents($file, 'test'); + + $diffPending = $wc->getDiffPending(); + $this->assertCount(1, $diffPending->getFiles()); + } + + /** + * @expectedException RuntimeException + */ + public function testCheckoutUnexisting() + { + self::createFoobarRepository(false)->getWorkingCopy()->checkout('foobar'); + } + + public function testAttachedHead() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + $wc->checkout('master'); + + $head = $repository->getHead(); + $this->assertTrue($repository->isHeadAttached(), 'HEAD is attached'); + $this->assertFalse($repository->isHeadDetached(), 'HEAD is not detached'); + } + + public function testDetachedHead() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + $wc->checkout('0.1'); + + $head = $repository->getHead(); + $this->assertFalse($repository->isHeadAttached(), 'HEAD is not attached'); + $this->assertTrue($repository->isHeadDetached(), 'HEAD is detached'); + } + + public function testGetUntracked() + { + $repository = self::createFoobarRepository(false); + $wc = $repository->getWorkingCopy(); + + $file = $repository->getWorkingDir().'/untracked.txt'; + file_put_contents($file, 'foo'); + + $this->assertContains('untracked.txt', $wc->getUntrackedFiles()); + } +} diff --git a/vendor/gitonomy/gitlib/tests/bootstrap.php b/vendor/gitonomy/gitlib/tests/bootstrap.php new file mode 100644 index 000000000..f3735d589 --- /dev/null +++ b/vendor/gitonomy/gitlib/tests/bootstrap.php @@ -0,0 +1,14 @@ +withPath('foo')->withHost('example.com')` will throw an exception - because the path of a URI with an authority must start with a slash "/" or be empty - - `(new Uri())->withScheme('http')` will return `'http://localhost'` -* Fix compatibility of URIs with `file` scheme and empty host. -* Added common URI utility methods based on RFC 3986 (see documentation in the readme): +## [1.4.0] - 2017-02-21 + +### Added + +- Added common URI utility methods based on RFC 3986 (see documentation in the readme): - `Uri::isDefaultPort` - `Uri::isAbsolute` - `Uri::isNetworkPathReference` @@ -37,69 +87,117 @@ - `UriNormalizer::normalize` - `UriNormalizer::isEquivalent` - `UriResolver::relativize` -* Deprecated `Uri::resolve` in favor of `UriResolver::resolve` -* Deprecated `Uri::removeDotSegments` in favor of `UriResolver::removeDotSegments` -## 1.3.1 - 2016-06-25 +### Changed -* Fix `Uri::__toString` for network path references, e.g. `//example.org`. -* Fix missing lowercase normalization for host. -* Fix handling of URI components in case they are `'0'` in a lot of places, +- Ensure `ServerRequest::getUriFromGlobals` returns a URI in absolute form. +- Allow `parse_response` to parse a response without delimiting space and reason. +- Ensure each URI modification results in a valid URI according to PSR-7 discussions. + Invalid modifications will throw an exception instead of returning a wrong URI or + doing some magic. + - `(new Uri)->withPath('foo')->withHost('example.com')` will throw an exception + because the path of a URI with an authority must start with a slash "/" or be empty + - `(new Uri())->withScheme('http')` will return `'http://localhost'` + +### Deprecated + +- `Uri::resolve` in favor of `UriResolver::resolve` +- `Uri::removeDotSegments` in favor of `UriResolver::removeDotSegments` + +### Fixed + +- `Stream::read` when length parameter <= 0. +- `copy_to_stream` reads bytes in chunks instead of `maxLen` into memory. +- `ServerRequest::getUriFromGlobals` when `Host` header contains port. +- Compatibility of URIs with `file` scheme and empty host. + + +## [1.3.1] - 2016-06-25 + +### Fixed + +- `Uri::__toString` for network path references, e.g. `//example.org`. +- Missing lowercase normalization for host. +- Handling of URI components in case they are `'0'` in a lot of places, e.g. as a user info password. -* Fix `Uri::withAddedHeader` to correctly merge headers with different case. -* Fix trimming of header values in `Uri::withAddedHeader`. Header values may +- `Uri::withAddedHeader` to correctly merge headers with different case. +- Trimming of header values in `Uri::withAddedHeader`. Header values may be surrounded by whitespace which should be ignored according to RFC 7230 Section 3.2.4. This does not apply to header names. -* Fix `Uri::withAddedHeader` with an array of header values. -* Fix `Uri::resolve` when base path has no slash and handling of fragment. -* Fix handling of encoding in `Uri::with(out)QueryValue` so one can pass the +- `Uri::withAddedHeader` with an array of header values. +- `Uri::resolve` when base path has no slash and handling of fragment. +- Handling of encoding in `Uri::with(out)QueryValue` so one can pass the key/value both in encoded as well as decoded form to those methods. This is consistent with withPath, withQuery etc. -* Fix `ServerRequest::withoutAttribute` when attribute value is null. +- `ServerRequest::withoutAttribute` when attribute value is null. -## 1.3.0 - 2016-04-13 -* Added remaining interfaces needed for full PSR7 compatibility +## [1.3.0] - 2016-04-13 + +### Added + +- Remaining interfaces needed for full PSR7 compatibility (ServerRequestInterface, UploadedFileInterface, etc.). -* Added support for stream_for from scalars. -* Can now extend Uri. -* Fixed a bug in validating request methods by making it more permissive. +- Support for stream_for from scalars. -## 1.2.3 - 2016-02-18 +### Changed -* Fixed support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote +- Can now extend Uri. + +### Fixed +- A bug in validating request methods by making it more permissive. + + +## [1.2.3] - 2016-02-18 + +### Fixed + +- Support in `GuzzleHttp\Psr7\CachingStream` for seeking forward on remote streams, which can sometimes return fewer bytes than requested with `fread`. -* Fixed handling of gzipped responses with FNAME headers. +- Handling of gzipped responses with FNAME headers. -## 1.2.2 - 2016-01-22 -* Added support for URIs without any authority. -* Added support for HTTP 451 'Unavailable For Legal Reasons.' -* Added support for using '0' as a filename. -* Added support for including non-standard ports in Host headers. +## [1.2.2] - 2016-01-22 -## 1.2.1 - 2015-11-02 +### Added -* Now supporting negative offsets when seeking to SEEK_END. +- Support for URIs without any authority. +- Support for HTTP 451 'Unavailable For Legal Reasons.' +- Support for using '0' as a filename. +- Support for including non-standard ports in Host headers. -## 1.2.0 - 2015-08-15 -* Body as `"0"` is now properly added to a response. -* Now allowing forward seeking in CachingStream. -* Now properly parsing HTTP requests that contain proxy targets in +## [1.2.1] - 2015-11-02 + +### Changes + +- Now supporting negative offsets when seeking to SEEK_END. + + +## [1.2.0] - 2015-08-15 + +### Changed + +- Body as `"0"` is now properly added to a response. +- Now allowing forward seeking in CachingStream. +- Now properly parsing HTTP requests that contain proxy targets in `parse_request`. -* functions.php is now conditionally required. -* user-info is no longer dropped when resolving URIs. +- functions.php is now conditionally required. +- user-info is no longer dropped when resolving URIs. -## 1.1.0 - 2015-06-24 -* URIs can now be relative. -* `multipart/form-data` headers are now overridden case-insensitively. -* URI paths no longer encode the following characters because they are allowed +## [1.1.0] - 2015-06-24 + +### Changed + +- URIs can now be relative. +- `multipart/form-data` headers are now overridden case-insensitively. +- URI paths no longer encode the following characters because they are allowed in URIs: "(", ")", "*", "!", "'" -* A port is no longer added to a URI when the scheme is missing and no port is +- A port is no longer added to a URI when the scheme is missing and no port is present. + ## 1.0.0 - 2015-05-19 Initial release. @@ -108,3 +206,20 @@ Currently unsupported: - `Psr\Http\Message\ServerRequestInterface` - `Psr\Http\Message\UploadedFileInterface` + + + +[Unreleased]: https://github.com/guzzle/psr7/compare/1.5.2...HEAD +[1.5.2]: https://github.com/guzzle/psr7/compare/1.5.1...1.5.2 +[1.5.1]: https://github.com/guzzle/psr7/compare/1.5.0...1.5.1 +[1.5.0]: https://github.com/guzzle/psr7/compare/1.4.2...1.5.0 +[1.4.2]: https://github.com/guzzle/psr7/compare/1.4.1...1.4.2 +[1.4.1]: https://github.com/guzzle/psr7/compare/1.4.0...1.4.1 +[1.4.0]: https://github.com/guzzle/psr7/compare/1.3.1...1.4.0 +[1.3.1]: https://github.com/guzzle/psr7/compare/1.3.0...1.3.1 +[1.3.0]: https://github.com/guzzle/psr7/compare/1.2.3...1.3.0 +[1.2.3]: https://github.com/guzzle/psr7/compare/1.2.2...1.2.3 +[1.2.2]: https://github.com/guzzle/psr7/compare/1.2.1...1.2.2 +[1.2.1]: https://github.com/guzzle/psr7/compare/1.2.0...1.2.1 +[1.2.0]: https://github.com/guzzle/psr7/compare/1.1.0...1.2.0 +[1.1.0]: https://github.com/guzzle/psr7/compare/1.0.0...1.1.0 diff --git a/vendor/guzzlehttp/psr7/README.md b/vendor/guzzlehttp/psr7/README.md index 16499358e..c60a6a38d 100644 --- a/vendor/guzzlehttp/psr7/README.md +++ b/vendor/guzzlehttp/psr7/README.md @@ -372,7 +372,7 @@ This method accepts the following `$resource` types: $stream = GuzzleHttp\Psr7\stream_for('foo'); $stream = GuzzleHttp\Psr7\stream_for(fopen('/path/to/file', 'r')); -$generator function ($bytes) { +$generator = function ($bytes) { for ($i = 0; $i < $bytes; $i++) { yield ' '; } @@ -606,6 +606,12 @@ Creates a new URI with a specific query string value. Any existing query string 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". +### `GuzzleHttp\Psr7\Uri::withQueryValues` + +`public static function withQueryValues(UriInterface $uri, array $keyValueArray): UriInterface` + +Creates a new URI with multiple query string values. It has the same behavior as `withQueryValue()` but for an +associative array of key => value. ### `GuzzleHttp\Psr7\Uri::withoutQueryValue` diff --git a/vendor/guzzlehttp/psr7/composer.json b/vendor/guzzlehttp/psr7/composer.json index b1c5a90ba..2add153ec 100644 --- a/vendor/guzzlehttp/psr7/composer.json +++ b/vendor/guzzlehttp/psr7/composer.json @@ -2,7 +2,7 @@ "name": "guzzlehttp/psr7", "type": "library", "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": ["request", "response", "message", "stream", "http", "uri", "url"], + "keywords": ["request", "response", "message", "stream", "http", "uri", "url", "psr-7"], "license": "MIT", "authors": [ { @@ -17,10 +17,11 @@ ], "require": { "php": ">=5.4.0", - "psr/http-message": "~1.0" + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, "provide": { "psr/http-message-implementation": "1.0" @@ -31,9 +32,14 @@ }, "files": ["src/functions_include.php"] }, + "autoload-dev": { + "psr-4": { + "GuzzleHttp\\Tests\\Psr7\\": "tests/" + } + }, "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } } } diff --git a/vendor/guzzlehttp/psr7/src/AppendStream.php b/vendor/guzzlehttp/psr7/src/AppendStream.php index 23039fd79..472a0d61b 100644 --- a/vendor/guzzlehttp/psr7/src/AppendStream.php +++ b/vendor/guzzlehttp/psr7/src/AppendStream.php @@ -16,7 +16,6 @@ class AppendStream implements StreamInterface private $seekable = true; private $current = 0; private $pos = 0; - private $detached = false; /** * @param StreamInterface[] $streams Streams to decorate. Each stream must @@ -73,6 +72,7 @@ class AppendStream implements StreamInterface public function close() { $this->pos = $this->current = 0; + $this->seekable = true; foreach ($this->streams as $stream) { $stream->close(); @@ -82,14 +82,22 @@ class AppendStream implements StreamInterface } /** - * Detaches each attached stream + * Detaches each attached stream. + * + * Returns null as it's not clear which underlying stream resource to return. * * {@inheritdoc} */ public function detach() { - $this->close(); - $this->detached = true; + $this->pos = $this->current = 0; + $this->seekable = true; + + foreach ($this->streams as $stream) { + $stream->detach(); + } + + $this->streams = []; } public function tell() diff --git a/vendor/guzzlehttp/psr7/src/FnStream.php b/vendor/guzzlehttp/psr7/src/FnStream.php index cc9b4453f..73daea6f3 100644 --- a/vendor/guzzlehttp/psr7/src/FnStream.php +++ b/vendor/guzzlehttp/psr7/src/FnStream.php @@ -52,6 +52,15 @@ class FnStream implements StreamInterface } } + /** + * 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. diff --git a/vendor/guzzlehttp/psr7/src/InflateStream.php b/vendor/guzzlehttp/psr7/src/InflateStream.php index 0051d3fec..5e4f6028c 100644 --- a/vendor/guzzlehttp/psr7/src/InflateStream.php +++ b/vendor/guzzlehttp/psr7/src/InflateStream.php @@ -27,7 +27,7 @@ class InflateStream implements StreamInterface $stream = new LimitStream($stream, -1, 10 + $filenameHeaderLength); $resource = StreamWrapper::getResource($stream); stream_filter_append($resource, 'zlib.inflate', STREAM_FILTER_READ); - $this->stream = new Stream($resource); + $this->stream = $stream->isSeekable() ? new Stream($resource) : new NoSeekStream(new Stream($resource)); } /** diff --git a/vendor/guzzlehttp/psr7/src/Request.php b/vendor/guzzlehttp/psr7/src/Request.php index 08285484d..000664240 100644 --- a/vendor/guzzlehttp/psr7/src/Request.php +++ b/vendor/guzzlehttp/psr7/src/Request.php @@ -45,7 +45,7 @@ class Request implements RequestInterface $this->setHeaders($headers); $this->protocol = $version; - if (!$this->hasHeader('Host')) { + if (!isset($this->headerNames['host'])) { $this->updateHostFromUri(); } @@ -110,7 +110,7 @@ class Request implements RequestInterface $new = clone $this; $new->uri = $uri; - if (!$preserveHost) { + if (!$preserveHost || !isset($this->headerNames['host'])) { $new->updateHostFromUri(); } diff --git a/vendor/guzzlehttp/psr7/src/Response.php b/vendor/guzzlehttp/psr7/src/Response.php index 2830c6c9e..6e72c06b8 100644 --- a/vendor/guzzlehttp/psr7/src/Response.php +++ b/vendor/guzzlehttp/psr7/src/Response.php @@ -93,6 +93,10 @@ class Response implements ResponseInterface $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) { diff --git a/vendor/guzzlehttp/psr7/src/Rfc7230.php b/vendor/guzzlehttp/psr7/src/Rfc7230.php new file mode 100644 index 000000000..505e4742b --- /dev/null +++ b/vendor/guzzlehttp/psr7/src/Rfc7230.php @@ -0,0 +1,18 @@ +@,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m"; + const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)"; +} diff --git a/vendor/guzzlehttp/psr7/src/ServerRequest.php b/vendor/guzzlehttp/psr7/src/ServerRequest.php index 575aab848..99f453a51 100644 --- a/vendor/guzzlehttp/psr7/src/ServerRequest.php +++ b/vendor/guzzlehttp/psr7/src/ServerRequest.php @@ -166,7 +166,7 @@ class ServerRequest extends Request implements ServerRequestInterface public static function fromGlobals() { $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; - $headers = function_exists('getallheaders') ? getallheaders() : []; + $headers = getallheaders(); $uri = self::getUriFromGlobals(); $body = new LazyOpenStream('php://input', 'r+'); $protocol = isset($_SERVER['SERVER_PROTOCOL']) ? str_replace('HTTP/', '', $_SERVER['SERVER_PROTOCOL']) : '1.1'; @@ -180,23 +180,41 @@ class ServerRequest extends Request implements ServerRequestInterface ->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() { + 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'])) { - $hostHeaderParts = explode(':', $_SERVER['HTTP_HOST']); - $uri = $uri->withHost($hostHeaderParts[0]); - if (isset($hostHeaderParts[1])) { + list($host, $port) = self::extractHostAndPortFromAuthority($_SERVER['HTTP_HOST']); + if ($host !== null) { + $uri = $uri->withHost($host); + } + + if ($port !== null) { $hasPort = true; - $uri = $uri->withPort($hostHeaderParts[1]); + $uri = $uri->withPort($port); } } elseif (isset($_SERVER['SERVER_NAME'])) { $uri = $uri->withHost($_SERVER['SERVER_NAME']); @@ -210,7 +228,7 @@ class ServerRequest extends Request implements ServerRequestInterface $hasQuery = false; if (isset($_SERVER['REQUEST_URI'])) { - $requestUriParts = explode('?', $_SERVER['REQUEST_URI']); + $requestUriParts = explode('?', $_SERVER['REQUEST_URI'], 2); $uri = $uri->withPath($requestUriParts[0]); if (isset($requestUriParts[1])) { $hasQuery = true; diff --git a/vendor/guzzlehttp/psr7/src/Stream.php b/vendor/guzzlehttp/psr7/src/Stream.php index e33662879..111795eb0 100644 --- a/vendor/guzzlehttp/psr7/src/Stream.php +++ b/vendor/guzzlehttp/psr7/src/Stream.php @@ -24,11 +24,11 @@ class Stream implements StreamInterface '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 + '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, + '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 ] @@ -70,15 +70,6 @@ class Stream implements StreamInterface $this->uri = $this->getMetadata('uri'); } - public function __get($name) - { - if ($name == 'stream') { - throw new \RuntimeException('The stream is detached'); - } - - throw new \BadMethodCallException('No value for ' . $name); - } - /** * Closes the stream when the destructed */ @@ -99,6 +90,10 @@ class Stream implements StreamInterface public function getContents() { + if (!isset($this->stream)) { + throw new \RuntimeException('Stream is detached'); + } + $contents = stream_get_contents($this->stream); if ($contents === false) { @@ -173,11 +168,19 @@ class Stream implements StreamInterface public function eof() { - return !$this->stream || feof($this->stream); + 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) { @@ -194,9 +197,13 @@ class Stream implements StreamInterface 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'); - } elseif (fseek($this->stream, $offset, $whence) === -1) { + } + if (fseek($this->stream, $offset, $whence) === -1) { throw new \RuntimeException('Unable to seek to stream position ' . $offset . ' with whence ' . var_export($whence, true)); } @@ -204,6 +211,9 @@ class Stream implements StreamInterface 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'); } @@ -225,6 +235,9 @@ class Stream implements StreamInterface 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'); } diff --git a/vendor/guzzlehttp/psr7/src/StreamWrapper.php b/vendor/guzzlehttp/psr7/src/StreamWrapper.php index cf7b2232e..0f3a2856a 100644 --- a/vendor/guzzlehttp/psr7/src/StreamWrapper.php +++ b/vendor/guzzlehttp/psr7/src/StreamWrapper.php @@ -38,9 +38,21 @@ class StreamWrapper . 'writable, or both.'); } - return fopen('guzzle://stream', $mode, null, stream_context_create([ + 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] - ])); + ]); } /** @@ -94,12 +106,21 @@ class StreamWrapper 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 + 'w' => 33188, + 'wb' => 33188 ]; return [ @@ -118,4 +139,23 @@ class StreamWrapper '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/vendor/guzzlehttp/psr7/src/Uri.php b/vendor/guzzlehttp/psr7/src/Uri.php index f46c1db9e..36219568c 100644 --- a/vendor/guzzlehttp/psr7/src/Uri.php +++ b/vendor/guzzlehttp/psr7/src/Uri.php @@ -301,15 +301,7 @@ class Uri implements UriInterface */ public static function withoutQueryValue(UriInterface $uri, $key) { - $current = $uri->getQuery(); - if ($current === '') { - return $uri; - } - - $decodedKey = rawurldecode($key); - $result = array_filter(explode('&', $current), function ($part) use ($decodedKey) { - return rawurldecode(explode('=', $part)[0]) !== $decodedKey; - }); + $result = self::getFilteredQueryString($uri, [$key]); return $uri->withQuery(implode('&', $result)); } @@ -331,26 +323,29 @@ class Uri implements UriInterface */ public static function withQueryValue(UriInterface $uri, $key, $value) { - $current = $uri->getQuery(); + $result = self::getFilteredQueryString($uri, [$key]); - if ($current === '') { - $result = []; - } else { - $decodedKey = rawurldecode($key); - $result = array_filter(explode('&', $current), function ($part) use ($decodedKey) { - return rawurldecode(explode('=', $part)[0]) !== $decodedKey; - }); - } + $result[] = self::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(). - $key = strtr($key, self::$replaceQuery); + return $uri->withQuery(implode('&', $result)); + } - if ($value !== null) { - $result[] = $key . '=' . strtr($value, self::$replaceQuery); - } else { - $result[] = $key; + /** + * 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)); @@ -620,6 +615,47 @@ class Uri implements UriInterface 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)) { diff --git a/vendor/guzzlehttp/psr7/src/functions.php b/vendor/guzzlehttp/psr7/src/functions.php index e40348d6a..957bfb42a 100644 --- a/vendor/guzzlehttp/psr7/src/functions.php +++ b/vendor/guzzlehttp/psr7/src/functions.php @@ -69,10 +69,10 @@ function uri_for($uri) * - metadata: Array of custom metadata. * - size: Size of the stream. * - * @param resource|string|null|int|float|bool|StreamInterface|callable $resource Entity body data - * @param array $options Additional options + * @param resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource Entity body data + * @param array $options Additional options * - * @return Stream + * @return StreamInterface * @throws \InvalidArgumentException if the $resource arg is not valid. */ function stream_for($resource = '', array $options = []) @@ -238,7 +238,7 @@ function modify_request(RequestInterface $request, array $changes) } if ($request instanceof ServerRequestInterface) { - return new ServerRequest( + return (new ServerRequest( isset($changes['method']) ? $changes['method'] : $request->getMethod(), $uri, $headers, @@ -247,7 +247,11 @@ function modify_request(RequestInterface $request, array $changes) ? $changes['version'] : $request->getProtocolVersion(), $request->getServerParams() - ); + )) + ->withParsedBody($request->getParsedBody()) + ->withQueryParams($request->getQueryParams()) + ->withCookieParams($request->getCookieParams()) + ->withUploadedFiles($request->getUploadedFiles()); } return new Request( @@ -431,7 +435,7 @@ function hash( * @param StreamInterface $stream Stream to read from * @param int $maxLength Maximum buffer length * - * @return string|bool + * @return string */ function readline(StreamInterface $stream, $maxLength = null) { @@ -495,7 +499,7 @@ function parse_response($message) // 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'); + throw new \InvalidArgumentException('Invalid response string: ' . $data['start-line']); } $parts = explode(' ', $data['start-line'], 3); @@ -516,8 +520,8 @@ function parse_response($message) * 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 bool|string $urlEncoding How the query string is encoded + * @param string $str Query string to parse + * @param int|bool $urlEncoding How the query string is encoded * * @return array */ @@ -533,9 +537,9 @@ function parse_query($str, $urlEncoding = true) $decoder = function ($value) { return rawurldecode(str_replace('+', ' ', $value)); }; - } elseif ($urlEncoding == PHP_QUERY_RFC3986) { + } elseif ($urlEncoding === PHP_QUERY_RFC3986) { $decoder = 'rawurldecode'; - } elseif ($urlEncoding == PHP_QUERY_RFC1738) { + } elseif ($urlEncoding === PHP_QUERY_RFC1738) { $decoder = 'urldecode'; } else { $decoder = function ($str) { return $str; }; @@ -633,6 +637,7 @@ function mimetype_from_filename($filename) function mimetype_from_extension($extension) { static $mimetypes = [ + '3gp' => 'video/3gpp', '7z' => 'application/x-7z-compressed', 'aac' => 'audio/x-aac', 'ai' => 'application/postscript', @@ -680,6 +685,7 @@ function mimetype_from_extension($extension) 'mid' => 'audio/midi', 'midi' => 'audio/midi', 'mov' => 'video/quicktime', + 'mkv' => 'video/x-matroska', 'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4', 'mp4a' => 'audio/mp4', @@ -758,29 +764,53 @@ function _parse_message($message) throw new \InvalidArgumentException('Invalid message'); } - // Iterate over each line in the message, accounting for line endings - $lines = preg_split('/(\\r?\\n)/', $message, -1, PREG_SPLIT_DELIM_CAPTURE); - $result = ['start-line' => array_shift($lines), 'headers' => [], 'body' => '']; - array_shift($lines); + $message = ltrim($message, "\r\n"); - for ($i = 0, $totalLines = count($lines); $i < $totalLines; $i += 2) { - $line = $lines[$i]; - // If two line breaks were encountered, then this is the end of body - if (empty($line)) { - if ($i < $totalLines - 1) { - $result['body'] = implode('', array_slice($lines, $i + 2)); - } - break; - } - if (strpos($line, ':')) { - $parts = explode(':', $line, 2); - $key = trim($parts[0]); - $value = isset($parts[1]) ? trim($parts[1]) : ''; - $result['headers'][$key][] = $value; - } + $messageParts = preg_split("/\r?\n\r?\n/", $message, 2); + + if ($messageParts === false || count($messageParts) !== 2) { + throw new \InvalidArgumentException('Invalid message: Missing header delimiter'); } - return $result; + 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, + ]; } /** @@ -809,6 +839,46 @@ function _parse_request_uri($path, array $headers) 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) { diff --git a/vendor/jakub-onderka/php-console-color/.travis.yml b/vendor/jakub-onderka/php-console-color/.travis.yml index 4671dca59..49175a996 100644 --- a/vendor/jakub-onderka/php-console-color/.travis.yml +++ b/vendor/jakub-onderka/php-console-color/.travis.yml @@ -1,15 +1,24 @@ language: php php: - - 5.3.3 - 5.4 - 5.5 + - 5.6 + - 7.0 + - 7.1 + - 7.2 + +sudo: false + +cache: + directories: + - vendor + - $HOME/.composer/cache before_script: - - composer self-update - - composer install --no-interaction --prefer-source --dev + - composer install --no-interaction --prefer-source script: - ant phplint - ant phpcs - - ant phpunit \ No newline at end of file + - ant phpunit diff --git a/vendor/jakub-onderka/php-console-color/LICENSE b/vendor/jakub-onderka/php-console-color/LICENSE new file mode 100644 index 000000000..0954fc941 --- /dev/null +++ b/vendor/jakub-onderka/php-console-color/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2014-2018, Jakub Onderka +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/jakub-onderka/php-console-color/README.md b/vendor/jakub-onderka/php-console-color/README.md new file mode 100644 index 000000000..39e55d925 --- /dev/null +++ b/vendor/jakub-onderka/php-console-color/README.md @@ -0,0 +1,10 @@ +PHP Console Color +================= + +[![Build Status](https://travis-ci.org/JakubOnderka/PHP-Console-Color.svg?branch=master)](https://travis-ci.org/JakubOnderka/PHP-Console-Color) + +Simple library for creating colored console ouput. + +See `example.php` how to use this library. + +![Example from Windows 10](https://user-images.githubusercontent.com/89590/40762008-687f909a-646c-11e8-88d6-e268a064be4c.png) \ No newline at end of file diff --git a/vendor/jakub-onderka/php-console-color/composer.json b/vendor/jakub-onderka/php-console-color/composer.json index 0721abca1..6481cb51d 100644 --- a/vendor/jakub-onderka/php-console-color/composer.json +++ b/vendor/jakub-onderka/php-console-color/composer.json @@ -1,7 +1,6 @@ { "name": "jakub-onderka/php-console-color", "license": "BSD-2-Clause", - "version": "0.1", "authors": [ { "name": "Jakub Onderka", @@ -9,16 +8,16 @@ } ], "autoload": { - "psr-0": {"JakubOnderka\\PhpConsoleColor": "src/"} + "psr-4": {"JakubOnderka\\PhpConsoleColor\\": "src/"} }, "require": { - "php": ">=5.3.2" + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "3.7.*", - "jakub-onderka/php-parallel-lint": "0.*", + "phpunit/phpunit": "~4.3", + "jakub-onderka/php-parallel-lint": "1.0", "jakub-onderka/php-var-dump-check": "0.*", "squizlabs/php_codesniffer": "1.*", "jakub-onderka/php-code-style": "1.0" } -} \ No newline at end of file +} diff --git a/vendor/jakub-onderka/php-console-color/phpunit.xml b/vendor/jakub-onderka/php-console-color/phpunit.xml index 74011d9df..f1105cc4e 100644 --- a/vendor/jakub-onderka/php-console-color/phpunit.xml +++ b/vendor/jakub-onderka/php-console-color/phpunit.xml @@ -1,8 +1,9 @@ - + - tests/* + tests @@ -12,4 +13,4 @@ vendor - \ No newline at end of file + diff --git a/vendor/jakub-onderka/php-console-color/src/JakubOnderka/PhpConsoleColor/ConsoleColor.php b/vendor/jakub-onderka/php-console-color/src/ConsoleColor.php similarity index 90% rename from vendor/jakub-onderka/php-console-color/src/JakubOnderka/PhpConsoleColor/ConsoleColor.php rename to vendor/jakub-onderka/php-console-color/src/ConsoleColor.php index c367a7655..90fd12528 100644 --- a/vendor/jakub-onderka/php-console-color/src/JakubOnderka/PhpConsoleColor/ConsoleColor.php +++ b/vendor/jakub-onderka/php-console-color/src/ConsoleColor.php @@ -201,10 +201,15 @@ class ConsoleColor public function isSupported() { if (DIRECTORY_SEPARATOR === '\\') { - return getenv('ANSICON') !== false || getenv('ConEmuANSI') === 'ON'; + if (function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(STDOUT)) { + return true; + } elseif (getenv('ANSICON') !== false || getenv('ConEmuANSI') === 'ON') { + return true; + } + return false; + } else { + return function_exists('posix_isatty') && @posix_isatty(STDOUT); } - - return function_exists('posix_isatty') && @posix_isatty(STDOUT); } /** @@ -212,7 +217,11 @@ class ConsoleColor */ public function are256ColorsSupported() { - return DIRECTORY_SEPARATOR === '/' && strpos(getenv('TERM'), '256color') !== false; + if (DIRECTORY_SEPARATOR === '\\') { + return function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(STDOUT); + } else { + return strpos(getenv('TERM'), '256color') !== false; + } } /** @@ -225,8 +234,7 @@ class ConsoleColor /** * @param string $name - * @return string - * @throws InvalidStyleException + * @return string[] */ private function themeSequence($name) { @@ -240,7 +248,6 @@ class ConsoleColor /** * @param string $style * @return string - * @throws InvalidStyleException */ private function styleSequence($style) { @@ -277,4 +284,4 @@ class ConsoleColor { return "\033[{$value}m"; } -} \ No newline at end of file +} diff --git a/vendor/jakub-onderka/php-console-color/src/JakubOnderka/PhpConsoleColor/InvalidStyleException.php b/vendor/jakub-onderka/php-console-color/src/InvalidStyleException.php similarity index 100% rename from vendor/jakub-onderka/php-console-color/src/JakubOnderka/PhpConsoleColor/InvalidStyleException.php rename to vendor/jakub-onderka/php-console-color/src/InvalidStyleException.php diff --git a/vendor/jakub-onderka/php-console-color/tests/JakubOnderka/PhpConsoleColor/ConsoleColorTest.php b/vendor/jakub-onderka/php-console-color/tests/ConsoleColorTest.php similarity index 100% rename from vendor/jakub-onderka/php-console-color/tests/JakubOnderka/PhpConsoleColor/ConsoleColorTest.php rename to vendor/jakub-onderka/php-console-color/tests/ConsoleColorTest.php diff --git a/vendor/jakub-onderka/php-console-color/tests/bootstrap.php b/vendor/jakub-onderka/php-console-color/tests/bootstrap.php deleted file mode 100644 index 7500417ed..000000000 --- a/vendor/jakub-onderka/php-console-color/tests/bootstrap.php +++ /dev/null @@ -1,2 +0,0 @@ -getWholeFile($fileContent); ------ +[![Downloads this Month](https://img.shields.io/packagist/dm/jakub-onderka/php-console-highlighter.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter) [![Build Status](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter.svg?branch=master)](https://travis-ci.org/JakubOnderka/PHP-Console-Highlighter) +[![License](https://poser.pugx.org/jakub-onderka/php-console-highlighter/license.svg)](https://packagist.org/packages/jakub-onderka/php-console-highlighter) diff --git a/vendor/jakub-onderka/php-console-highlighter/composer.json b/vendor/jakub-onderka/php-console-highlighter/composer.json index bd2f47a28..21c29f710 100644 --- a/vendor/jakub-onderka/php-console-highlighter/composer.json +++ b/vendor/jakub-onderka/php-console-highlighter/composer.json @@ -1,5 +1,6 @@ { "name": "jakub-onderka/php-console-highlighter", + "description": "Highlight PHP code in terminal", "type": "library", "license": "MIT", "authors": [ @@ -10,15 +11,16 @@ } ], "autoload": { - "psr-0": {"JakubOnderka\\PhpConsoleHighlighter": "src/"} + "psr-4": {"JakubOnderka\\PhpConsoleHighlighter\\": "src/"} }, "require": { - "php": ">=5.3.0", - "jakub-onderka/php-console-color": "~0.1" + "php": ">=5.4.0", + "ext-tokenizer": "*", + "jakub-onderka/php-console-color": "~0.2" }, "require-dev": { "phpunit/phpunit": "~4.0", - "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-parallel-lint": "~1.0", "jakub-onderka/php-var-dump-check": "~0.1", "squizlabs/php_codesniffer": "~1.5", "jakub-onderka/php-code-style": "~1.0" diff --git a/vendor/jakub-onderka/php-console-highlighter/phpunit.xml b/vendor/jakub-onderka/php-console-highlighter/phpunit.xml index 74011d9df..9c653a680 100644 --- a/vendor/jakub-onderka/php-console-highlighter/phpunit.xml +++ b/vendor/jakub-onderka/php-console-highlighter/phpunit.xml @@ -1,8 +1,8 @@ - + - tests/* + tests @@ -12,4 +12,4 @@ vendor - \ No newline at end of file + diff --git a/vendor/jakub-onderka/php-console-highlighter/src/JakubOnderka/PhpConsoleHighlighter/Highlighter.php b/vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php similarity index 94% rename from vendor/jakub-onderka/php-console-highlighter/src/JakubOnderka/PhpConsoleHighlighter/Highlighter.php rename to vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php index b908e9318..47ce30d2c 100644 --- a/vendor/jakub-onderka/php-console-highlighter/src/JakubOnderka/PhpConsoleHighlighter/Highlighter.php +++ b/vendor/jakub-onderka/php-console-highlighter/src/Highlighter.php @@ -31,6 +31,7 @@ class Highlighter /** * @param ConsoleColor $color + * @throws \JakubOnderka\PhpConsoleColor\InvalidStyleException */ public function __construct(ConsoleColor $color) { @@ -118,20 +119,6 @@ class Highlighter foreach ($tokens as $token) { if (is_array($token)) { switch ($token[0]) { - case T_INLINE_HTML: - $newType = self::TOKEN_HTML; - break; - - case T_COMMENT: - case T_DOC_COMMENT: - $newType = self::TOKEN_COMMENT; - break; - - case T_ENCAPSED_AND_WHITESPACE: - case T_CONSTANT_ENCAPSED_STRING: - $newType = self::TOKEN_STRING; - break; - case T_WHITESPACE: break; @@ -151,17 +138,26 @@ class Highlighter case T_LINE: case T_CLASS_C: case T_FUNC_C: - //case T_TRAIT_C: + case T_TRAIT_C: $newType = self::TOKEN_DEFAULT; break; + case T_COMMENT: + case T_DOC_COMMENT: + $newType = self::TOKEN_COMMENT; + break; + + case T_ENCAPSED_AND_WHITESPACE: + case T_CONSTANT_ENCAPSED_STRING: + $newType = self::TOKEN_STRING; + break; + + case T_INLINE_HTML: + $newType = self::TOKEN_HTML; + break; + default: - // Compatibility with PHP 5.3 - if (defined('T_TRAIT_C') && $token[0] === T_TRAIT_C) { - $newType = self::TOKEN_DEFAULT; - } else { - $newType = self::TOKEN_KEYWORD; - } + $newType = self::TOKEN_KEYWORD; } } else { $newType = $token === '"' ? self::TOKEN_STRING : self::TOKEN_KEYWORD; @@ -171,7 +167,7 @@ class Highlighter $currentType = $newType; } - if ($currentType != $newType) { + if ($currentType !== $newType) { $output[] = array($currentType, $buffer); $buffer = ''; $currentType = $newType; diff --git a/vendor/jakub-onderka/php-console-highlighter/tests/JakubOnderka/PhpConsoleHighligter/HigligterTest.php b/vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php similarity index 93% rename from vendor/jakub-onderka/php-console-highlighter/tests/JakubOnderka/PhpConsoleHighligter/HigligterTest.php rename to vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php index 269d03da5..187beb67b 100644 --- a/vendor/jakub-onderka/php-console-highlighter/tests/JakubOnderka/PhpConsoleHighligter/HigligterTest.php +++ b/vendor/jakub-onderka/php-console-highlighter/tests/HigligterTest.php @@ -8,7 +8,9 @@ class HighlighterTest extends \PHPUnit_Framework_TestCase protected function getConsoleColorMock() { - $mock = $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor'); + $mock = method_exists($this, 'createMock') + ? $this->createMock('\JakubOnderka\PhpConsoleColor\ConsoleColor') + : $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor'); $mock->expects($this->any()) ->method('apply') @@ -260,4 +262,13 @@ EOL '' ); } -} \ No newline at end of file + + public function testWhitespace() + { + $this->compare( + ' ' + , + ' ' + ); + } +} diff --git a/vendor/jakub-onderka/php-console-highlighter/tests/bootstrap.php b/vendor/jakub-onderka/php-console-highlighter/tests/bootstrap.php deleted file mode 100644 index 7500417ed..000000000 --- a/vendor/jakub-onderka/php-console-highlighter/tests/bootstrap.php +++ /dev/null @@ -1,2 +0,0 @@ - $actionText, - 'actionURL' => $actionUrl + 'actionText' => $actionText ] ) +[{{ $actionUrl }}]({!! $actionUrl !!}) @endcomponent @endisset @endcomponent diff --git a/vendor/laravel/framework/src/Illuminate/Support/composer.json b/vendor/laravel/framework/src/Illuminate/Support/composer.json index f2920d7af..a81da4f6b 100644 --- a/vendor/laravel/framework/src/Illuminate/Support/composer.json +++ b/vendor/laravel/framework/src/Illuminate/Support/composer.json @@ -18,7 +18,7 @@ "ext-mbstring": "*", "doctrine/inflector": "~1.1", "illuminate/contracts": "5.6.*", - "nesbot/carbon": "^1.24.1" + "nesbot/carbon": "1.25.*" }, "conflict": { "tightenco/collect": "<5.5.33" diff --git a/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php b/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php index bdc071a65..feb7e6510 100644 --- a/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php +++ b/vendor/laravel/framework/src/Illuminate/View/Compilers/Concerns/CompilesTranslations.php @@ -18,7 +18,7 @@ trait CompilesTranslations return "startTranslation{$expression}; ?>"; } - return "getFromJson{$expression}); ?>"; + return "getFromJson{$expression}; ?>"; } /** @@ -28,7 +28,7 @@ trait CompilesTranslations */ protected function compileEndlang() { - return 'renderTranslation()); ?>'; + return 'renderTranslation(); ?>'; } /** @@ -39,6 +39,6 @@ trait CompilesTranslations */ protected function compileChoice($expression) { - return "choice{$expression}); ?>"; + return "choice{$expression}; ?>"; } } diff --git a/vendor/laravel/tinker/README.md b/vendor/laravel/tinker/README.md index bf2cb4cb2..380c97c39 100644 --- a/vendor/laravel/tinker/README.md +++ b/vendor/laravel/tinker/README.md @@ -17,20 +17,10 @@ To get started with Laravel Tinker, simply run: composer require laravel/tinker -If you are using Laravel 5.5+, there is no need to manually register the service provider. However, if you are using an earlier version of Laravel, register the `TinkerServiceProvider` in your `app` configuration file: - -```php -'providers' => [ - // Other service providers... - - Laravel\Tinker\TinkerServiceProvider::class, -], -``` - ## Basic Usage From your console, execute the `php artisan tinker` command. ## License -Laravel Tinker is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) +Laravel Tinker is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/vendor/laravel/tinker/config/tinker.php b/vendor/laravel/tinker/config/tinker.php index 1341c1b03..181f0fdbd 100644 --- a/vendor/laravel/tinker/config/tinker.php +++ b/vendor/laravel/tinker/config/tinker.php @@ -2,6 +2,21 @@ return [ + /* + |-------------------------------------------------------------------------- + | Console Commands + |-------------------------------------------------------------------------- + | + | This option allows you to add additional Artisan commands that should + | be available within the Tinker environment. Once the command is in + | this array you may execute the command in Tinker using its name. + | + */ + + 'commands' => [ + // App\Console\Commands\ExampleCommand::class, + ], + /* |-------------------------------------------------------------------------- | Alias Blacklist diff --git a/vendor/laravel/tinker/src/Console/TinkerCommand.php b/vendor/laravel/tinker/src/Console/TinkerCommand.php index 8985e2496..a6f572752 100644 --- a/vendor/laravel/tinker/src/Console/TinkerCommand.php +++ b/vendor/laravel/tinker/src/Console/TinkerCommand.php @@ -54,7 +54,7 @@ class TinkerCommand extends Command $shell->addCommands($this->getCommands()); $shell->setIncludes($this->argument('include')); - $path = $this->getLaravel()->basePath('vendor/composer/autoload_classmap.php'); + $path = $this->getLaravel()->basePath().DIRECTORY_SEPARATOR.'vendor/composer/autoload_classmap.php'; $loader = ClassAliasAutoloader::register($shell, $path); diff --git a/vendor/lcobucci/jwt/src/Signer/BaseSigner.php b/vendor/lcobucci/jwt/src/Signer/BaseSigner.php index b5243ff94..c65076fdd 100644 --- a/vendor/lcobucci/jwt/src/Signer/BaseSigner.php +++ b/vendor/lcobucci/jwt/src/Signer/BaseSigner.php @@ -59,6 +59,8 @@ abstract class BaseSigner implements Signer /** * Creates a hash with the given data * + * @internal + * * @param string $payload * @param Key $key * @@ -67,7 +69,9 @@ abstract class BaseSigner implements Signer abstract public function createHash($payload, Key $key); /** - * Creates a hash with the given data + * Performs the signature verification + * + * @internal * * @param string $expected * @param string $payload diff --git a/vendor/lcobucci/jwt/src/Signer/Ecdsa.php b/vendor/lcobucci/jwt/src/Signer/Ecdsa.php index 56f66fd4f..e1d525324 100644 --- a/vendor/lcobucci/jwt/src/Signer/Ecdsa.php +++ b/vendor/lcobucci/jwt/src/Signer/Ecdsa.php @@ -134,7 +134,9 @@ abstract class Ecdsa extends BaseSigner } /** - * Returns the lenght of signature parts + * Returns the length of signature parts + * + * @internal * * @return int */ @@ -143,6 +145,8 @@ abstract class Ecdsa extends BaseSigner /** * Returns the name of algorithm to be used to create the signing hash * + * @internal + * * @return string */ abstract public function getAlgorithm(); diff --git a/vendor/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php b/vendor/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php index f18952dfb..7d7c19761 100644 --- a/vendor/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php +++ b/vendor/lcobucci/jwt/src/Signer/Ecdsa/KeyParser.php @@ -20,6 +20,8 @@ use Mdanter\Ecc\Serializer\PublicKey\PublicKeySerializerInterface; /** * Base class for ECDSA signers * + * @internal + * * @author Luís Otávio Cobucci Oblonczyk * @since 3.0.4 */ diff --git a/vendor/lcobucci/jwt/src/Signer/Hmac.php b/vendor/lcobucci/jwt/src/Signer/Hmac.php index 7d773a0d3..c7f9ac38a 100644 --- a/vendor/lcobucci/jwt/src/Signer/Hmac.php +++ b/vendor/lcobucci/jwt/src/Signer/Hmac.php @@ -40,6 +40,8 @@ abstract class Hmac extends BaseSigner /** * PHP < 5.6 timing attack safe hash comparison * + * @internal + * * @param string $expected * @param string $generated * @@ -65,6 +67,8 @@ abstract class Hmac extends BaseSigner /** * Returns the algorithm name * + * @internal + * * @return string */ abstract public function getAlgorithm(); diff --git a/vendor/lcobucci/jwt/src/Signer/Rsa.php b/vendor/lcobucci/jwt/src/Signer/Rsa.php index 0db19c575..40257dcb2 100644 --- a/vendor/lcobucci/jwt/src/Signer/Rsa.php +++ b/vendor/lcobucci/jwt/src/Signer/Rsa.php @@ -72,6 +72,8 @@ abstract class Rsa extends BaseSigner /** * Returns the algorithm name * + * @internal + * * @return string */ abstract public function getAlgorithm(); diff --git a/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php b/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php index d42630736..932ffbbf9 100644 --- a/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php +++ b/vendor/league/flysystem/src/Adapter/AbstractFtpAdapter.php @@ -71,11 +71,6 @@ abstract class AbstractFtpAdapter extends AbstractAdapter */ protected $systemType; - /** - * @var bool - */ - protected $alternativeRecursion = false; - /** * @var SafeStorage */ diff --git a/vendor/league/flysystem/src/Adapter/Local.php b/vendor/league/flysystem/src/Adapter/Local.php index 238d91fea..1bdf51d81 100644 --- a/vendor/league/flysystem/src/Adapter/Local.php +++ b/vendor/league/flysystem/src/Adapter/Local.php @@ -33,13 +33,13 @@ class Local extends AbstractAdapter */ protected static $permissions = [ 'file' => [ - 'public' => 0644, + 'public' => 0644, 'private' => 0600, ], - 'dir' => [ - 'public' => 0755, + 'dir' => [ + 'public' => 0755, 'private' => 0700, - ] + ], ]; /** @@ -56,6 +56,7 @@ class Local extends AbstractAdapter * @var int */ protected $writeFlags; + /** * @var int */ @@ -99,11 +100,16 @@ class Local extends AbstractAdapter { if ( ! is_dir($root)) { $umask = umask(0); - @mkdir($root, $this->permissionMap['dir']['public'], true); + + if ( ! @mkdir($root, $this->permissionMap['dir']['public'], true)) { + $mkdirError = error_get_last(); + } + umask($umask); if ( ! is_dir($root)) { - throw new Exception(sprintf('Impossible to create the root directory "%s".', $root)); + $errorMessage = isset($mkdirError['message']) ? $mkdirError['message'] : ''; + throw new Exception(sprintf('Impossible to create the root directory "%s". %s', $root, $errorMessage)); } } } diff --git a/vendor/league/flysystem/src/MountManager.php b/vendor/league/flysystem/src/MountManager.php index 34ed6c501..620f540ea 100644 --- a/vendor/league/flysystem/src/MountManager.php +++ b/vendor/league/flysystem/src/MountManager.php @@ -3,7 +3,6 @@ namespace League\Flysystem; use InvalidArgumentException; -use League\Flysystem\FilesystemNotFoundException; use League\Flysystem\Plugin\PluggableTrait; use League\Flysystem\Plugin\PluginNotFoundException; @@ -14,36 +13,15 @@ use League\Flysystem\Plugin\PluginNotFoundException; * * @method AdapterInterface getAdapter($prefix) * @method Config getConfig($prefix) - * @method bool has($path) - * @method bool write($path, $contents, array $config = []) - * @method bool writeStream($path, $resource, array $config = []) - * @method bool put($path, $contents, $config = []) - * @method bool putStream($path, $contents, $config = []) - * @method string readAndDelete($path) - * @method bool update($path, $contents, $config = []) - * @method bool updateStream($path, $resource, $config = []) - * @method string|false read($path) - * @method resource|false readStream($path) - * @method bool rename($path, $newpath) - * @method bool delete($path) - * @method bool deleteDir($dirname) - * @method bool createDir($dirname, $config = []) * @method array listFiles($directory = '', $recursive = false) * @method array listPaths($directory = '', $recursive = false) * @method array getWithMetadata($path, array $metadata) - * @method string|false getMimetype($path) - * @method int|false getTimestamp($path) - * @method string|false getVisibility($path) - * @method int|false getSize($path); - * @method bool setVisibility($path, $visibility) - * @method array|false getMetadata($path) - * @method Handler get($path, Handler $handler = null) * @method Filesystem flushCache() * @method void assertPresent($path) * @method void assertAbsent($path) * @method Filesystem addPlugin(PluginInterface $plugin) */ -class MountManager +class MountManager implements FilesystemInterface { use PluggableTrait; @@ -318,4 +296,353 @@ class MountManager return explode('://', $path, 2); } + + /** + * Check whether a file exists. + * + * @param string $path + * + * @return bool + */ + public function has($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->has($path); + } + + /** + * Read a file. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return string|false The file contents or false on failure. + */ + public function read($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->read($path); + } + + /** + * Retrieves a read-stream for a path. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return resource|false The path resource or false on failure. + */ + public function readStream($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->readStream($path); + } + + /** + * Get a file's metadata. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return array|false The file metadata or false on failure. + */ + public function getMetadata($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->getMetadata($path); + } + + /** + * Get a file's size. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return int|false The file size or false on failure. + */ + public function getSize($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->getSize($path); + } + + /** + * Get a file's mime-type. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return string|false The file mime-type or false on failure. + */ + public function getMimetype($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->getMimetype($path); + } + + /** + * Get a file's timestamp. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return string|false The timestamp or false on failure. + */ + public function getTimestamp($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->getTimestamp($path); + } + + /** + * Get a file's visibility. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return string|false The visibility (public|private) or false on failure. + */ + public function getVisibility($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->getVisibility($path); + } + + /** + * Write a new file. + * + * @param string $path The path of the new file. + * @param string $contents The file contents. + * @param array $config An optional configuration array. + * + * @throws FileExistsException + * + * @return bool True on success, false on failure. + */ + public function write($path, $contents, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->write($path, $contents, $config); + } + + /** + * Write a new file using a stream. + * + * @param string $path The path of the new file. + * @param resource $resource The file handle. + * @param array $config An optional configuration array. + * + * @throws InvalidArgumentException If $resource is not a file handle. + * @throws FileExistsException + * + * @return bool True on success, false on failure. + */ + public function writeStream($path, $resource, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->writeStream($path, $resource, $config); + } + + /** + * Update an existing file. + * + * @param string $path The path of the existing file. + * @param string $contents The file contents. + * @param array $config An optional configuration array. + * + * @throws FileNotFoundException + * + * @return bool True on success, false on failure. + */ + public function update($path, $contents, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->update($path, $contents, $config); + } + + /** + * Update an existing file using a stream. + * + * @param string $path The path of the existing file. + * @param resource $resource The file handle. + * @param array $config An optional configuration array. + * + * @throws InvalidArgumentException If $resource is not a file handle. + * @throws FileNotFoundException + * + * @return bool True on success, false on failure. + */ + public function updateStream($path, $resource, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->updateStream($path, $resource, $config); + } + + /** + * Rename a file. + * + * @param string $path Path to the existing file. + * @param string $newpath The new path of the file. + * + * @throws FileExistsException Thrown if $newpath exists. + * @throws FileNotFoundException Thrown if $path does not exist. + * + * @return bool True on success, false on failure. + */ + public function rename($path, $newpath) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->rename($path, $newpath); + } + + /** + * Delete a file. + * + * @param string $path + * + * @throws FileNotFoundException + * + * @return bool True on success, false on failure. + */ + public function delete($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->delete($path); + } + + /** + * Delete a directory. + * + * @param string $dirname + * + * @throws RootViolationException Thrown if $dirname is empty. + * + * @return bool True on success, false on failure. + */ + public function deleteDir($dirname) + { + list($prefix, $dirname) = $this->getPrefixAndPath($dirname); + + return $this->getFilesystem($prefix)->deleteDir($dirname); + } + + /** + * Create a directory. + * + * @param string $dirname The name of the new directory. + * @param array $config An optional configuration array. + * + * @return bool True on success, false on failure. + */ + public function createDir($dirname, array $config = []) + { + list($prefix, $dirname) = $this->getPrefixAndPath($dirname); + + return $this->getFilesystem($prefix)->createDir($dirname); + } + + /** + * Set the visibility for a file. + * + * @param string $path The path to the file. + * @param string $visibility One of 'public' or 'private'. + * + * @throws FileNotFoundException + * + * @return bool True on success, false on failure. + */ + public function setVisibility($path, $visibility) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->setVisibility($path, $visibility); + } + + /** + * Create a file or update if exists. + * + * @param string $path The path to the file. + * @param string $contents The file contents. + * @param array $config An optional configuration array. + * + * @return bool True on success, false on failure. + */ + public function put($path, $contents, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->put($path, $contents, $config); + } + + /** + * Create a file or update if exists. + * + * @param string $path The path to the file. + * @param resource $resource The file handle. + * @param array $config An optional configuration array. + * + * @throws InvalidArgumentException Thrown if $resource is not a resource. + * + * @return bool True on success, false on failure. + */ + public function putStream($path, $resource, array $config = []) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->putStream($path, $resource, $config); + } + + /** + * Read and delete a file. + * + * @param string $path The path to the file. + * + * @throws FileNotFoundException + * + * @return string|false The file contents, or false on failure. + */ + public function readAndDelete($path) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->readAndDelete($path); + } + + /** + * Get a file/directory handler. + * + * @deprecated + * + * @param string $path The path to the file. + * @param Handler $handler An optional existing handler to populate. + * + * @return Handler Either a file or directory handler. + */ + public function get($path, Handler $handler = null) + { + list($prefix, $path) = $this->getPrefixAndPath($path); + + return $this->getFilesystem($prefix)->get($path); + } } diff --git a/vendor/league/flysystem/src/Util/MimeType.php b/vendor/league/flysystem/src/Util/MimeType.php index 58622a2ee..254bc2a14 100644 --- a/vendor/league/flysystem/src/Util/MimeType.php +++ b/vendor/league/flysystem/src/Util/MimeType.php @@ -58,6 +58,7 @@ class MimeType 'z' => 'application/x-compress', 'xhtml' => 'application/xhtml+xml', 'xht' => 'application/xhtml+xml', + 'rdf' => 'application/rdf+xml', 'zip' => 'application/x-zip', 'rar' => 'application/x-rar', 'mid' => 'audio/midi', diff --git a/vendor/monolog/monolog/CHANGELOG.md b/vendor/monolog/monolog/CHANGELOG.md index cd1142d15..bcf679c4a 100644 --- a/vendor/monolog/monolog/CHANGELOG.md +++ b/vendor/monolog/monolog/CHANGELOG.md @@ -1,3 +1,31 @@ +### 1.24.0 (2018-11-05) + + * Added a `ResettableInterface` in order to reset/reset/clear/flush handlers and processors + * Added a `ProcessorInterface` as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers) + * Added a way to log signals being received using Monolog\SignalHandler + * Added ability to customize error handling at the Logger level using Logger::setExceptionHandler + * Added InsightOpsHandler to migrate users of the LogEntriesHandler + * Added protection to NormalizerHandler against circular and very deep structures, it now stops normalizing at a depth of 9 + * Added capture of stack traces to ErrorHandler when logging PHP errors + * Added RavenHandler support for a `contexts` context or extra key to forward that to Sentry's contexts + * Added forwarding of context info to FluentdFormatter + * Added SocketHandler::setChunkSize to override the default chunk size in case you must send large log lines to rsyslog for example + * Added ability to extend/override BrowserConsoleHandler + * Added SlackWebhookHandler::getWebhookUrl and SlackHandler::getToken to enable class extensibility + * Added SwiftMailerHandler::getSubjectFormatter to enable class extensibility + * Dropped official support for HHVM in test builds + * Fixed normalization of exception traces when call_user_func is used to avoid serializing objects and the data they contain + * Fixed naming of fields in Slack handler, all field names are now capitalized in all cases + * Fixed HipChatHandler bug where slack dropped messages randomly + * Fixed normalization of objects in Slack handlers + * Fixed support for PHP7's Throwable in NewRelicHandler + * Fixed race bug when StreamHandler sometimes incorrectly reported it failed to create a directory + * Fixed table row styling issues in HtmlFormatter + * Fixed RavenHandler dropping the message when logging exception + * Fixed WhatFailureGroupHandler skipping processors when using handleBatch + and implement it where possible + * Fixed display of anonymous class names + ### 1.23.0 (2017-06-19) * Improved SyslogUdpHandler's support for RFC5424 and added optional `$ident` argument diff --git a/vendor/monolog/monolog/README.md b/vendor/monolog/monolog/README.md index 7d8ade526..d75694465 100644 --- a/vendor/monolog/monolog/README.md +++ b/vendor/monolog/monolog/README.md @@ -2,7 +2,6 @@ [![Total Downloads](https://img.shields.io/packagist/dt/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) [![Latest Stable Version](https://img.shields.io/packagist/v/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog) -[![Reference Status](https://www.versioneye.com/php/monolog:monolog/reference_badge.svg)](https://www.versioneye.com/php/monolog:monolog/references) Monolog sends your logs to files, sockets, inboxes, databases and various diff --git a/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md b/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md index bea968ace..af45913af 100644 --- a/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md +++ b/vendor/monolog/monolog/doc/02-handlers-formatters-processors.md @@ -55,6 +55,7 @@ - _RollbarHandler_: Logs records to a [Rollbar](https://rollbar.com/) account. - _SyslogUdpHandler_: Logs records to a remote [Syslogd](http://www.rsyslog.com/) server. - _LogEntriesHandler_: Logs records to a [LogEntries](http://logentries.com/) account. +- _InsightOpsHandler_: Logs records to a [InsightOps](https://www.rapid7.com/products/insightops/) account. ### Logging in development diff --git a/vendor/monolog/monolog/doc/03-utilities.md b/vendor/monolog/monolog/doc/03-utilities.md index c62aa4161..fd3fd0e7d 100644 --- a/vendor/monolog/monolog/doc/03-utilities.md +++ b/vendor/monolog/monolog/doc/03-utilities.md @@ -5,6 +5,8 @@ help in some older codebases or for ease of use. - _ErrorHandler_: The `Monolog\ErrorHandler` class allows you to easily register a Logger instance as an exception handler, error handler or fatal error handler. +- _SignalHandler_: The `Monolog\SignalHandler` class allows you to easily register + a Logger instance as a POSIX signal handler. - _ErrorLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain log level is reached. - _ChannelLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain diff --git a/vendor/monolog/monolog/src/Monolog/ErrorHandler.php b/vendor/monolog/monolog/src/Monolog/ErrorHandler.php index 7bfcd833a..adc55bdf6 100644 --- a/vendor/monolog/monolog/src/Monolog/ErrorHandler.php +++ b/vendor/monolog/monolog/src/Monolog/ErrorHandler.php @@ -14,6 +14,7 @@ namespace Monolog; use Psr\Log\LoggerInterface; use Psr\Log\LogLevel; use Monolog\Handler\AbstractHandler; +use Monolog\Registry; /** * Monolog error handler @@ -38,6 +39,7 @@ class ErrorHandler private $hasFatalErrorHandler; private $fatalLevel; private $reservedMemory; + private $lastFatalTrace; private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR); public function __construct(LoggerInterface $logger) @@ -132,7 +134,7 @@ class ErrorHandler { $this->logger->log( $this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel, - sprintf('Uncaught Exception %s: "%s" at %s line %s', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()), + sprintf('Uncaught Exception %s: "%s" at %s line %s', Utils::getClass($e), $e->getMessage(), $e->getFile(), $e->getLine()), array('exception' => $e) ); @@ -156,6 +158,13 @@ class ErrorHandler if (!$this->hasFatalErrorHandler || !in_array($code, self::$fatalErrors, true)) { $level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL; $this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line)); + } else { + // http://php.net/manual/en/function.debug-backtrace.php + // As of 5.3.6, DEBUG_BACKTRACE_IGNORE_ARGS option was added. + // Any version less than 5.3.6 must use the DEBUG_BACKTRACE_IGNORE_ARGS constant value '2'. + $trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS); + array_shift($trace); // Exclude handleError from trace + $this->lastFatalTrace = $trace; } if ($this->previousErrorHandler === true) { @@ -177,7 +186,7 @@ class ErrorHandler $this->logger->log( $this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel, 'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'], - array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line']) + array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace) ); if ($this->logger instanceof Logger) { diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php index 02632bb56..46a91ffe8 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php @@ -62,6 +62,7 @@ class FluentdFormatter implements FormatterInterface $message = array( 'message' => $record['message'], + 'context' => $record['context'], 'extra' => $record['extra'], ); diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php index 3eec95f6c..dfc0b4a3e 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php @@ -58,7 +58,7 @@ class HtmlFormatter extends NormalizerFormatter $td = '
'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'
'; } - return "\n$th:\n".$td."\n"; + return "\n$th:\n".$td."\n"; } /** diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php index 0782f1499..9bd305f23 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php @@ -12,6 +12,7 @@ namespace Monolog\Formatter; use Exception; +use Monolog\Utils; use Throwable; /** @@ -138,18 +139,23 @@ class JsonFormatter extends NormalizerFormatter * * @return mixed */ - protected function normalize($data) + protected function normalize($data, $depth = 0) { + if ($depth > 9) { + return 'Over 9 levels deep, aborting normalization'; + } + if (is_array($data) || $data instanceof \Traversable) { $normalized = array(); $count = 1; foreach ($data as $key => $value) { - if ($count++ >= 1000) { - $normalized['...'] = 'Over 1000 items, aborting normalization'; + if ($count++ > 1000) { + $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization'; break; } - $normalized[$key] = $this->normalize($value); + + $normalized[$key] = $this->normalize($value, $depth+1); } return $normalized; @@ -174,11 +180,11 @@ class JsonFormatter extends NormalizerFormatter { // TODO 2.0 only check for Throwable if (!$e instanceof Exception && !$e instanceof Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); } $data = array( - 'class' => get_class($e), + 'class' => Utils::getClass($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile().':'.$e->getLine(), diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php index d3e209e6c..f98e1a6fc 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php @@ -11,6 +11,8 @@ namespace Monolog\Formatter; +use Monolog\Utils; + /** * Formats incoming records into a one-line string * @@ -129,17 +131,17 @@ class LineFormatter extends NormalizerFormatter { // TODO 2.0 only check for Throwable if (!$e instanceof \Exception && !$e instanceof \Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); } $previousText = ''; if ($previous = $e->getPrevious()) { do { - $previousText .= ', '.get_class($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine(); + $previousText .= ', '.Utils::getClass($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine(); } while ($previous = $previous->getPrevious()); } - $str = '[object] ('.get_class($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')'; + $str = '[object] ('.Utils::getClass($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')'; if ($this->includeStacktraces) { $str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n"; } diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php index eb067bb72..eb7be849f 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php @@ -11,6 +11,8 @@ namespace Monolog\Formatter; +use Monolog\Utils; + /** * Formats a record for use with the MongoDBHandler. * @@ -75,7 +77,7 @@ class MongoDBFormatter implements FormatterInterface protected function formatObject($value, $nestingLevel) { $objectVars = get_object_vars($value); - $objectVars['class'] = get_class($value); + $objectVars['class'] = Utils::getClass($value); return $this->formatArray($objectVars, $nestingLevel); } @@ -83,7 +85,7 @@ class MongoDBFormatter implements FormatterInterface protected function formatException(\Exception $exception, $nestingLevel) { $formattedException = array( - 'class' => get_class($exception), + 'class' => Utils::getClass($exception), 'message' => $exception->getMessage(), 'code' => $exception->getCode(), 'file' => $exception->getFile() . ':' . $exception->getLine(), diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php index d44148823..668665789 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php @@ -12,6 +12,7 @@ namespace Monolog\Formatter; use Exception; +use Monolog\Utils; /** * Normalizes incoming records to remove objects/resources so it's easier to dump to various targets @@ -55,8 +56,12 @@ class NormalizerFormatter implements FormatterInterface return $records; } - protected function normalize($data) + protected function normalize($data, $depth = 0) { + if ($depth > 9) { + return 'Over 9 levels deep, aborting normalization'; + } + if (null === $data || is_scalar($data)) { if (is_float($data)) { if (is_infinite($data)) { @@ -75,11 +80,12 @@ class NormalizerFormatter implements FormatterInterface $count = 1; foreach ($data as $key => $value) { - if ($count++ >= 1000) { + if ($count++ > 1000) { $normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization'; break; } - $normalized[$key] = $this->normalize($value); + + $normalized[$key] = $this->normalize($value, $depth+1); } return $normalized; @@ -103,7 +109,7 @@ class NormalizerFormatter implements FormatterInterface $value = $this->toJson($data, true); } - return sprintf("[object] (%s: %s)", get_class($data), $value); + return sprintf("[object] (%s: %s)", Utils::getClass($data), $value); } if (is_resource($data)) { @@ -117,11 +123,11 @@ class NormalizerFormatter implements FormatterInterface { // TODO 2.0 only check for Throwable if (!$e instanceof Exception && !$e instanceof \Throwable) { - throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.get_class($e)); + throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e)); } $data = array( - 'class' => get_class($e), + 'class' => Utils::getClass($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile().':'.$e->getLine(), @@ -146,9 +152,20 @@ class NormalizerFormatter implements FormatterInterface if (isset($frame['file'])) { $data['trace'][] = $frame['file'].':'.$frame['line']; } elseif (isset($frame['function']) && $frame['function'] === '{closure}') { - // We should again normalize the frames, because it might contain invalid items + // Simplify closures handling $data['trace'][] = $frame['function']; } else { + if (isset($frame['args'])) { + // Make sure that objects present as arguments are not serialized nicely but rather only + // as a class name to avoid any unexpected leak of sensitive information + $frame['args'] = array_map(function ($arg) { + if (is_object($arg) && !($arg instanceof \DateTime || $arg instanceof \DateTimeInterface)) { + return sprintf("[object] (%s)", Utils::getClass($arg)); + } + + return $arg; + }, $frame['args']); + } // We should again normalize the frames, because it might contain invalid items $data['trace'][] = $this->toJson($this->normalize($frame), true); } diff --git a/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php b/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php index 654710a8d..65dba99c9 100644 --- a/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php +++ b/vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php @@ -102,12 +102,12 @@ class WildfireFormatter extends NormalizerFormatter throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter'); } - protected function normalize($data) + protected function normalize($data, $depth = 0) { if (is_object($data) && !$data instanceof \DateTime) { return $data; } - return parent::normalize($data); + return parent::normalize($data, $depth); } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php index 758a425c3..92b9d4580 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php @@ -11,16 +11,17 @@ namespace Monolog\Handler; -use Monolog\Logger; use Monolog\Formatter\FormatterInterface; use Monolog\Formatter\LineFormatter; +use Monolog\Logger; +use Monolog\ResettableInterface; /** * Base Handler class providing the Handler structure * * @author Jordi Boggiano */ -abstract class AbstractHandler implements HandlerInterface +abstract class AbstractHandler implements HandlerInterface, ResettableInterface { protected $level = Logger::DEBUG; protected $bubble = true; @@ -32,8 +33,8 @@ abstract class AbstractHandler implements HandlerInterface protected $processors = array(); /** - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($level = Logger::DEBUG, $bubble = true) { @@ -141,8 +142,8 @@ abstract class AbstractHandler implements HandlerInterface /** * Sets the bubbling behavior. * - * @param Boolean $bubble true means that this handler allows bubbling. - * false means that bubbling is not permitted. + * @param bool $bubble true means that this handler allows bubbling. + * false means that bubbling is not permitted. * @return self */ public function setBubble($bubble) @@ -155,8 +156,8 @@ abstract class AbstractHandler implements HandlerInterface /** * Gets the bubbling behavior. * - * @return Boolean true means that this handler allows bubbling. - * false means that bubbling is not permitted. + * @return bool true means that this handler allows bubbling. + * false means that bubbling is not permitted. */ public function getBubble() { @@ -174,6 +175,15 @@ abstract class AbstractHandler implements HandlerInterface } } + public function reset() + { + foreach ($this->processors as $processor) { + if ($processor instanceof ResettableInterface) { + $processor->reset(); + } + } + } + /** * Gets the default formatter. * diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php index 6f18f72e1..e1e89530a 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php @@ -11,6 +11,8 @@ namespace Monolog\Handler; +use Monolog\ResettableInterface; + /** * Base Handler class providing the Handler structure * diff --git a/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php index e2b2832d0..8c76aca0b 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php @@ -53,9 +53,9 @@ abstract class AbstractSyslogHandler extends AbstractProcessingHandler ); /** - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php index b3a21bd40..23cf23ba1 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php @@ -43,11 +43,11 @@ class BrowserConsoleHandler extends AbstractProcessingHandler protected function write(array $record) { // Accumulate records - self::$records[] = $record; + static::$records[] = $record; // Register shutdown handler if not already done - if (!self::$initialized) { - self::$initialized = true; + if (!static::$initialized) { + static::$initialized = true; $this->registerShutdownFunction(); } } @@ -58,27 +58,37 @@ class BrowserConsoleHandler extends AbstractProcessingHandler */ public static function send() { - $format = self::getResponseFormat(); + $format = static::getResponseFormat(); if ($format === 'unknown') { return; } - if (count(self::$records)) { + if (count(static::$records)) { if ($format === 'html') { - self::writeOutput(''); + static::writeOutput(''); } elseif ($format === 'js') { - self::writeOutput(self::generateScript()); + static::writeOutput(static::generateScript()); } - self::reset(); + static::resetStatic(); } } + public function close() + { + self::resetStatic(); + } + + public function reset() + { + self::resetStatic(); + } + /** * Forget all logged records */ - public static function reset() + public static function resetStatic() { - self::$records = array(); + static::$records = array(); } /** @@ -133,18 +143,18 @@ class BrowserConsoleHandler extends AbstractProcessingHandler private static function generateScript() { $script = array(); - foreach (self::$records as $record) { - $context = self::dump('Context', $record['context']); - $extra = self::dump('Extra', $record['extra']); + foreach (static::$records as $record) { + $context = static::dump('Context', $record['context']); + $extra = static::dump('Extra', $record['extra']); if (empty($context) && empty($extra)) { - $script[] = self::call_array('log', self::handleStyles($record['formatted'])); + $script[] = static::call_array('log', static::handleStyles($record['formatted'])); } else { $script = array_merge($script, - array(self::call_array('groupCollapsed', self::handleStyles($record['formatted']))), + array(static::call_array('groupCollapsed', static::handleStyles($record['formatted']))), $context, $extra, - array(self::call('groupEnd')) + array(static::call('groupEnd')) ); } } @@ -154,19 +164,19 @@ class BrowserConsoleHandler extends AbstractProcessingHandler private static function handleStyles($formatted) { - $args = array(self::quote('font-weight: normal')); + $args = array(static::quote('font-weight: normal')); $format = '%c' . $formatted; preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); foreach (array_reverse($matches) as $match) { - $args[] = self::quote(self::handleCustomStyles($match[2][0], $match[1][0])); + $args[] = static::quote(static::handleCustomStyles($match[2][0], $match[1][0])); $args[] = '"font-weight: normal"'; $pos = $match[0][1]; $format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0])); } - array_unshift($args, self::quote($format)); + array_unshift($args, static::quote($format)); return $args; } @@ -198,13 +208,13 @@ class BrowserConsoleHandler extends AbstractProcessingHandler if (empty($dict)) { return $script; } - $script[] = self::call('log', self::quote('%c%s'), self::quote('font-weight: bold'), self::quote($title)); + $script[] = static::call('log', static::quote('%c%s'), static::quote('font-weight: bold'), static::quote($title)); foreach ($dict as $key => $value) { $value = json_encode($value); if (empty($value)) { - $value = self::quote(''); + $value = static::quote(''); } - $script[] = self::call('log', self::quote('%s: %o'), self::quote($key), $value); + $script[] = static::call('log', static::quote('%s: %o'), static::quote($key), $value); } return $script; @@ -220,7 +230,7 @@ class BrowserConsoleHandler extends AbstractProcessingHandler $args = func_get_args(); $method = array_shift($args); - return self::call_array($method, $args); + return static::call_array($method, $args); } private static function call_array($method, array $args) diff --git a/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php index 72f895357..61d1b50c1 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php @@ -12,6 +12,7 @@ namespace Monolog\Handler; use Monolog\Logger; +use Monolog\ResettableInterface; /** * Buffers all records until closing the handler and then pass them as batch. @@ -34,8 +35,8 @@ class BufferHandler extends AbstractHandler * @param HandlerInterface $handler Handler. * @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param Boolean $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded */ public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false) { @@ -114,4 +115,15 @@ class BufferHandler extends AbstractHandler $this->bufferSize = 0; $this->buffer = array(); } + + public function reset() + { + $this->flush(); + + parent::reset(); + + if ($this->handler instanceof ResettableInterface) { + $this->handler->reset(); + } + } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php index 785cb0c96..37419a061 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php @@ -32,7 +32,7 @@ class ChromePHPHandler extends AbstractProcessingHandler * Header name */ const HEADER_NAME = 'X-ChromeLogger-Data'; - + /** * Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+) */ @@ -45,7 +45,7 @@ class ChromePHPHandler extends AbstractProcessingHandler * * Chrome limits the headers to 256KB, so when we sent 240KB we stop sending * - * @var Boolean + * @var bool */ protected static $overflowed = false; @@ -58,8 +58,8 @@ class ChromePHPHandler extends AbstractProcessingHandler protected static $sendHeaders = true; /** - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($level = Logger::DEBUG, $bubble = true) { @@ -174,7 +174,7 @@ class ChromePHPHandler extends AbstractProcessingHandler /** * Verifies if the headers are accepted by the current user agent * - * @return Boolean + * @return bool */ protected function headersAccepted() { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php index 7778c22a6..35b55cb4f 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php @@ -60,7 +60,7 @@ class DeduplicationHandler extends BufferHandler * @param string $deduplicationStore The file/path where the deduplication log should be kept * @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes * @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php index 819674069..bb0f83ebc 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php @@ -46,10 +46,10 @@ class ElasticSearchHandler extends AbstractProcessingHandler protected $options = array(); /** - * @param Client $client Elastica Client object - * @param array $options Handler configuration - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param Client $client Elastica Client object + * @param array $options Handler configuration + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php index 1447a584b..b2986b0fe 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php @@ -28,10 +28,10 @@ class ErrorLogHandler extends AbstractProcessingHandler protected $expandNewlines; /** - * @param int $messageType Says where the error should go. - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param Boolean $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries + * @param int $messageType Says where the error should go. + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries */ public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php index 2a0f7fd15..938c1a7e9 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php @@ -40,7 +40,7 @@ class FilterHandler extends AbstractHandler /** * Whether the messages that are handled can bubble up the stack or not * - * @var Boolean + * @var bool */ protected $bubble; @@ -48,7 +48,7 @@ class FilterHandler extends AbstractHandler * @param callable|HandlerInterface $handler Handler or factory callable($record, $this). * @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided * @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php index c3e42efef..aaca12ccd 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php @@ -22,7 +22,7 @@ interface ActivationStrategyInterface * Returns whether the given record activates the handler. * * @param array $record - * @return Boolean + * @return bool */ public function isHandlerActivated(array $record); } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php index d1dcaacf0..275fd5136 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php @@ -14,6 +14,7 @@ namespace Monolog\Handler; use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; use Monolog\Handler\FingersCrossed\ActivationStrategyInterface; use Monolog\Logger; +use Monolog\ResettableInterface; /** * Buffers all records until a certain level is reached @@ -41,8 +42,8 @@ class FingersCrossedHandler extends AbstractHandler * @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler). * @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action * @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer. - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param Boolean $stopBuffering Whether the handler should stop buffering after being triggered (default true) + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true) * @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered */ public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null) @@ -130,24 +131,18 @@ class FingersCrossedHandler extends AbstractHandler */ public function close() { - if (null !== $this->passthruLevel) { - $level = $this->passthruLevel; - $this->buffer = array_filter($this->buffer, function ($record) use ($level) { - return $record['level'] >= $level; - }); - if (count($this->buffer) > 0) { - $this->handler->handleBatch($this->buffer); - $this->buffer = array(); - } - } + $this->flushBuffer(); } - /** - * Resets the state of the handler. Stops forwarding records to the wrapped handler. - */ public function reset() { - $this->buffering = true; + $this->flushBuffer(); + + parent::reset(); + + if ($this->handler instanceof ResettableInterface) { + $this->handler->reset(); + } } /** @@ -160,4 +155,23 @@ class FingersCrossedHandler extends AbstractHandler $this->buffer = array(); $this->reset(); } + + /** + * Resets the state of the handler. Stops forwarding records to the wrapped handler. + */ + private function flushBuffer() + { + if (null !== $this->passthruLevel) { + $level = $this->passthruLevel; + $this->buffer = array_filter($this->buffer, function ($record) use ($level) { + return $record['level'] >= $level; + }); + if (count($this->buffer) > 0) { + $this->handler->handleBatch($this->buffer); + } + } + + $this->buffer = array(); + $this->buffering = true; + } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php index fee479508..c30b1843c 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php @@ -158,7 +158,7 @@ class FirePHPHandler extends AbstractProcessingHandler /** * Verifies if the headers are accepted by the current user agent * - * @return Boolean + * @return bool */ protected function headersAccepted() { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php index d3847d828..71e466934 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php @@ -47,14 +47,6 @@ class GelfHandler extends AbstractProcessingHandler $this->publisher = $publisher; } - /** - * {@inheritdoc} - */ - public function close() - { - $this->publisher = null; - } - /** * {@inheritdoc} */ diff --git a/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php index 663f5a923..28e5c5648 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php @@ -12,6 +12,7 @@ namespace Monolog\Handler; use Monolog\Formatter\FormatterInterface; +use Monolog\ResettableInterface; /** * Forwards records to multiple handlers @@ -23,8 +24,8 @@ class GroupHandler extends AbstractHandler protected $handlers; /** - * @param array $handlers Array of Handlers. - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param array $handlers Array of Handlers. + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(array $handlers, $bubble = true) { @@ -90,6 +91,17 @@ class GroupHandler extends AbstractHandler } } + public function reset() + { + parent::reset(); + + foreach ($this->handlers as $handler) { + if ($handler instanceof ResettableInterface) { + $handler->reset(); + } + } + } + /** * {@inheritdoc} */ diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php b/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php index d920c4ba0..8d5a4a095 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php @@ -31,7 +31,7 @@ interface HandlerInterface * * @param array $record Partial log record containing only a level key * - * @return Boolean + * @return bool */ public function isHandling(array $record); @@ -46,7 +46,7 @@ interface HandlerInterface * calling further handlers in the stack with a given log record. * * @param array $record The record to handle - * @return Boolean true means that this handler handled the record, and that bubbling is not permitted. + * @return bool true means that this handler handled the record, and that bubbling is not permitted. * false means the record was either not processed or that this handler allows bubbling. */ public function handle(array $record); diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php b/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php index e540d80f4..55e649868 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php @@ -11,6 +11,7 @@ namespace Monolog\Handler; +use Monolog\ResettableInterface; use Monolog\Formatter\FormatterInterface; /** @@ -30,7 +31,7 @@ use Monolog\Formatter\FormatterInterface; * * @author Alexey Karapetov */ -class HandlerWrapper implements HandlerInterface +class HandlerWrapper implements HandlerInterface, ResettableInterface { /** * @var HandlerInterface @@ -105,4 +106,11 @@ class HandlerWrapper implements HandlerInterface { return $this->handler->getFormatter(); } + + public function reset() + { + if ($this->handler instanceof ResettableInterface) { + return $this->handler->reset(); + } + } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php index 73049f369..73233c95e 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php @@ -219,6 +219,21 @@ class HipChatHandler extends SocketHandler protected function write(array $record) { parent::write($record); + $this->finalizeWrite(); + } + + /** + * Finalizes the request by reading some bytes and then closing the socket + * + * If we do not read some but close the socket too early, hipchat sometimes + * drops the request entirely. + */ + protected function finalizeWrite() + { + $res = $this->getResource(); + if (is_resource($res)) { + @fread($res, 2048); + } $this->closeSocket(); } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php index d60a3c825..7f2262208 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php @@ -30,10 +30,10 @@ class IFTTTHandler extends AbstractProcessingHandler private $secretKey; /** - * @param string $eventName The name of the IFTTT Maker event that should be triggered - * @param string $secretKey A valid IFTTT secret key - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param string $eventName The name of the IFTTT Maker event that should be triggered + * @param string $secretKey A valid IFTTT secret key + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($eventName, $secretKey, $level = Logger::ERROR, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php new file mode 100644 index 000000000..a12e3de56 --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php @@ -0,0 +1,62 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + + namespace Monolog\Handler; + + use Monolog\Logger; + +/** + * Inspired on LogEntriesHandler. + * + * @author Robert Kaufmann III + * @author Gabriel Machado + */ +class InsightOpsHandler extends SocketHandler +{ + /** + * @var string + */ + protected $logToken; + + /** + * @param string $token Log token supplied by InsightOps + * @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'. + * @param bool $useSSL Whether or not SSL encryption should be used + * @param int $level The minimum logging level to trigger this handler + * @param bool $bubble Whether or not messages that are handled should bubble up the stack. + * + * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing + */ + public function __construct($token, $region = 'us', $useSSL = true, $level = Logger::DEBUG, $bubble = true) + { + if ($useSSL && !extension_loaded('openssl')) { + throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler'); + } + + $endpoint = $useSSL + ? 'ssl://' . $region . '.data.logs.insight.rapid7.com:443' + : $region . '.data.logs.insight.rapid7.com:80'; + + parent::__construct($endpoint, $level, $bubble); + $this->logToken = $token; + } + + /** + * {@inheritdoc} + * + * @param array $record + * @return string + */ + protected function generateDataStream($record) + { + return $this->logToken . ' ' . $record['formatted']; + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php index 494c605bc..ea89fb3ed 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php @@ -31,13 +31,13 @@ class LogEntriesHandler extends SocketHandler * * @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing */ - public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true) + public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true, $host = 'data.logentries.com') { if ($useSSL && !extension_loaded('openssl')) { throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler'); } - $endpoint = $useSSL ? 'ssl://data.logentries.com:443' : 'data.logentries.com:80'; + $endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80'; parent::__construct($endpoint, $level, $bubble); $this->logToken = $token; } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php index ab95924f9..3f0956a9c 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php @@ -27,7 +27,7 @@ class MandrillHandler extends MailHandler * @param string $apiKey A valid Mandrill API key * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php index 6718e9e09..f911997ad 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php @@ -18,6 +18,8 @@ use Monolog\Formatter\NormalizerFormatter; * Class to record a log on a NewRelic application. * Enabling New Relic High Security mode may prevent capture of useful information. * + * This handler requires a NormalizerFormatter to function and expects an array in $record['formatted'] + * * @see https://docs.newrelic.com/docs/agents/php-agent * @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security */ @@ -84,7 +86,7 @@ class NewRelicHandler extends AbstractProcessingHandler unset($record['formatted']['context']['transaction_name']); } - if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) { + if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) { newrelic_notice_error($record['message'], $record['context']['exception']); unset($record['formatted']['context']['exception']); } else { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php index 1ae85845d..a99e6ab71 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php @@ -31,7 +31,7 @@ class PsrHandler extends AbstractHandler /** * @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php index bba720059..f27bb3da0 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php @@ -69,8 +69,8 @@ class PushoverHandler extends SocketHandler * @param string|array $users Pushover user id or array of ids the message will be sent to * @param string $title Title sent to the Pushover API * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param Boolean $useSSL Whether to connect via SSL. Required when pushing messages to users that are not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not * the pushover.net app owner. OpenSSL is required for this option. * @param int $highPriorityLevel The minimum logging level at which this handler will start * sending "high priority" requests to the Pushover API @@ -180,6 +180,6 @@ class PushoverHandler extends SocketHandler */ public function useFormattedMessage($value) { - $this->useFormattedMessage = (boolean) $value; + $this->useFormattedMessage = (bool) $value; } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php index 53a8b391d..10d7f43bf 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php @@ -18,7 +18,7 @@ use Raven_Client; /** * Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server - * using raven-php (https://github.com/getsentry/raven-php) + * using sentry-php (https://github.com/getsentry/sentry-php) * * @author Marc Abramowitz */ @@ -27,7 +27,7 @@ class RavenHandler extends AbstractProcessingHandler /** * Translates Monolog log levels to Raven log levels. */ - private $logLevels = array( + protected $logLevels = array( Logger::DEBUG => Raven_Client::DEBUG, Logger::INFO => Raven_Client::INFO, Logger::NOTICE => Raven_Client::INFO, @@ -42,7 +42,7 @@ class RavenHandler extends AbstractProcessingHandler * @var string should represent the current version of the calling * software. Can be any string (git commit, version number) */ - private $release; + protected $release; /** * @var Raven_Client the client object that sends the message to the server @@ -57,7 +57,7 @@ class RavenHandler extends AbstractProcessingHandler /** * @param Raven_Client $ravenClient * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true) { @@ -180,7 +180,7 @@ class RavenHandler extends AbstractProcessingHandler } if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) { - $options['extra']['message'] = $record['formatted']; + $options['message'] = $record['formatted']; $this->ravenClient->captureException($record['context']['exception'], $options); } else { $this->ravenClient->captureMessage($record['formatted'], array(), $options); @@ -216,7 +216,7 @@ class RavenHandler extends AbstractProcessingHandler */ protected function getExtraParameters() { - return array('checksum', 'release', 'event_id'); + return array('contexts', 'checksum', 'release', 'event_id'); } /** diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php index 6c8a3e3ed..65073ffe3 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php @@ -129,4 +129,16 @@ class RollbarHandler extends AbstractProcessingHandler { $this->flush(); } + + /** + * {@inheritdoc} + */ + public function reset() + { + $this->flush(); + + parent::reset(); + } + + } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php index 3b60b3d15..ae2309f8a 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php @@ -39,9 +39,9 @@ class RotatingFileHandler extends StreamHandler * @param string $filename * @param int $maxFiles The maximal amount of files to keep (0 means unlimited) * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) - * @param Boolean $useLocking Try to lock log file before doing any writes + * @param bool $useLocking Try to lock log file before doing any writes */ public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false) { @@ -66,6 +66,18 @@ class RotatingFileHandler extends StreamHandler } } + /** + * {@inheritdoc} + */ + public function reset() + { + parent::reset(); + + if (true === $this->mustRotate) { + $this->rotate(); + } + } + public function setFilenameFormat($filenameFormat, $dateFormat) { if (!preg_match('{^Y(([/_.-]?m)([/_.-]?d)?)?$}', $dateFormat)) { @@ -166,7 +178,7 @@ class RotatingFileHandler extends StreamHandler $fileInfo = pathinfo($this->filename); $glob = str_replace( array('{filename}', '{date}'), - array($fileInfo['filename'], '*'), + array($fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'), $fileInfo['dirname'] . '/' . $this->filenameFormat ); if (!empty($fileInfo['extension'])) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php b/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php old mode 100644 new mode 100755 index 38bc838aa..e55e0e2e5 --- a/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php @@ -146,7 +146,7 @@ class SlackRecord if ($this->useShortAttachment) { $attachment['fields'][] = $this->generateAttachmentField( - ucfirst($key), + $key, $record[$key] ); } else { @@ -229,8 +229,8 @@ class SlackRecord /** * Generates attachment field * - * @param string $title - * @param string|array $value\ + * @param string $title + * @param string|array $value * * @return array */ @@ -241,7 +241,7 @@ class SlackRecord : $value; return array( - 'title' => $title, + 'title' => ucfirst($title), 'value' => $value, 'short' => false ); @@ -257,7 +257,7 @@ class SlackRecord private function generateAttachmentFields(array $data) { $fields = array(); - foreach ($data as $key => $value) { + foreach ($this->normalizerFormatter->format($data) as $key => $value) { $fields[] = $this->generateAttachmentField($key, $value); } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php index 3ac4d8368..45d634f46 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php @@ -75,6 +75,11 @@ class SlackHandler extends SocketHandler return $this->slackRecord; } + public function getToken() + { + return $this->token; + } + /** * {@inheritdoc} * diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php index 9a1bbb440..1ef85faea 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php @@ -70,6 +70,11 @@ class SlackWebhookHandler extends AbstractProcessingHandler return $this->slackRecord; } + public function getWebhookUrl() + { + return $this->webhookUrl; + } + /** * {@inheritdoc} * diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php index 7a61bf4e0..db50d97fe 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php @@ -27,15 +27,16 @@ class SocketHandler extends AbstractProcessingHandler private $timeout = 0; private $writingTimeout = 10; private $lastSentBytes = null; + private $chunkSize = null; private $persistent = false; private $errno; private $errstr; private $lastWritingAt; /** - * @param string $connectionString Socket connection string - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param string $connectionString Socket connection string + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true) { @@ -87,7 +88,7 @@ class SocketHandler extends AbstractProcessingHandler */ public function setPersistent($persistent) { - $this->persistent = (boolean) $persistent; + $this->persistent = (bool) $persistent; } /** @@ -127,6 +128,16 @@ class SocketHandler extends AbstractProcessingHandler $this->writingTimeout = (float) $seconds; } + /** + * Set chunk size. Only has effect during connection in the writing cycle. + * + * @param float $bytes + */ + public function setChunkSize($bytes) + { + $this->chunkSize = $bytes; + } + /** * Get current connection string * @@ -177,6 +188,16 @@ class SocketHandler extends AbstractProcessingHandler return $this->writingTimeout; } + /** + * Get current chunk size + * + * @return float + */ + public function getChunkSize() + { + return $this->chunkSize; + } + /** * Check to see if the socket is currently available. * @@ -219,6 +240,16 @@ class SocketHandler extends AbstractProcessingHandler return stream_set_timeout($this->resource, $seconds, $microseconds); } + /** + * Wrapper to allow mocking + * + * @see http://php.net/manual/en/function.stream-set-chunk-size.php + */ + protected function streamSetChunkSize() + { + return stream_set_chunk_size($this->resource, $this->chunkSize); + } + /** * Wrapper to allow mocking */ @@ -268,6 +299,7 @@ class SocketHandler extends AbstractProcessingHandler { $this->createSocketResource(); $this->setSocketTimeout(); + $this->setStreamChunkSize(); } private function createSocketResource() @@ -290,6 +322,13 @@ class SocketHandler extends AbstractProcessingHandler } } + private function setStreamChunkSize() + { + if ($this->chunkSize && !$this->streamSetChunkSize()) { + throw new \UnexpectedValueException("Failed setting chunk size with stream_set_chunk_size()"); + } + } + private function writeToSocket($data) { $length = strlen($data); diff --git a/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php index 09a157387..a35b7e4c3 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php @@ -32,9 +32,9 @@ class StreamHandler extends AbstractProcessingHandler /** * @param resource|string $stream * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not * @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write) - * @param Boolean $useLocking Try to lock log file before doing any writes + * @param bool $useLocking Try to lock log file before doing any writes * * @throws \Exception If a missing directory is not buildable * @throws \InvalidArgumentException If stream is not a resource or string @@ -167,7 +167,7 @@ class StreamHandler extends AbstractProcessingHandler set_error_handler(array($this, 'customErrorHandler')); $status = mkdir($dir, 0777, true); restore_error_handler(); - if (false === $status) { + if (false === $status && !is_dir($dir)) { throw new \UnexpectedValueException(sprintf('There is no existing directory at "%s" and its not buildable: '.$this->errorMessage, $dir)); } } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php index 72f44a532..ac7b16ff8 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php @@ -12,6 +12,7 @@ namespace Monolog\Handler; use Monolog\Logger; +use Monolog\Formatter\FormatterInterface; use Monolog\Formatter\LineFormatter; use Swift; @@ -29,7 +30,7 @@ class SwiftMailerHandler extends MailHandler * @param \Swift_Mailer $mailer The mailer to use * @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true) { @@ -47,6 +48,17 @@ class SwiftMailerHandler extends MailHandler $this->mailer->send($this->buildMessage($content, $records)); } + /** + * Gets the formatter for the Swift_Message subject. + * + * @param string $format The format of the subject + * @return FormatterInterface + */ + protected function getSubjectFormatter($format) + { + return new LineFormatter($format); + } + /** * Creates instance of Swift_Message to be sent * @@ -69,7 +81,7 @@ class SwiftMailerHandler extends MailHandler } if ($records) { - $subjectFormatter = new LineFormatter($message->getSubject()); + $subjectFormatter = $this->getSubjectFormatter($message->getSubject()); $message->setSubject($subjectFormatter->format($this->getHighestRecord($records))); } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php index 376bc3b24..f770c8028 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php @@ -32,11 +32,11 @@ class SyslogHandler extends AbstractSyslogHandler protected $logopts; /** - * @param string $ident - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID + * @param string $ident + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID */ public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID) { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php index 4718711b3..e14b378ce 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php @@ -25,12 +25,12 @@ class SyslogUdpHandler extends AbstractSyslogHandler protected $ident; /** - * @param string $host - * @param int $port - * @param mixed $facility - * @param int $level The minimum logging level at which this handler will be triggered - * @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not - * @param string $ident Program name or tag for each log message. + * @param string $host + * @param int $port + * @param mixed $facility + * @param int $level The minimum logging level at which this handler will be triggered + * @param bool $bubble Whether the messages that are handled can bubble up the stack or not + * @param string $ident Program name or tag for each log message. */ public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $ident = 'php') { diff --git a/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php index e39cfc667..b6b1343bd 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php @@ -84,14 +84,24 @@ class TestHandler extends AbstractProcessingHandler return isset($this->recordsByLevel[$level]); } + /** + * @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records + * @param int $level Logger::LEVEL constant value + */ public function hasRecord($record, $level) { - if (is_array($record)) { - $record = $record['message']; + if (is_string($record)) { + $record = array('message' => $record); } return $this->hasRecordThatPasses(function ($rec) use ($record) { - return $rec['message'] === $record; + if ($rec['message'] !== $record['message']) { + return false; + } + if (isset($record['context']) && $rec['context'] !== $record['context']) { + return false; + } + return true; }, $level); } diff --git a/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php b/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php index 2732ba3d6..6bc4671c7 100644 --- a/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +++ b/vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php @@ -48,6 +48,16 @@ class WhatFailureGroupHandler extends GroupHandler */ public function handleBatch(array $records) { + if ($this->processors) { + $processed = array(); + foreach ($records as $record) { + foreach ($this->processors as $processor) { + $processed[] = call_user_func($processor, $record); + } + } + $records = $processed; + } + foreach ($this->handlers as $handler) { try { $handler->handleBatch($records); diff --git a/vendor/monolog/monolog/src/Monolog/Logger.php b/vendor/monolog/monolog/src/Monolog/Logger.php index 49d00af1f..05dfc8179 100644 --- a/vendor/monolog/monolog/src/Monolog/Logger.php +++ b/vendor/monolog/monolog/src/Monolog/Logger.php @@ -15,6 +15,7 @@ use Monolog\Handler\HandlerInterface; use Monolog\Handler\StreamHandler; use Psr\Log\LoggerInterface; use Psr\Log\InvalidArgumentException; +use Exception; /** * Monolog log channel @@ -24,7 +25,7 @@ use Psr\Log\InvalidArgumentException; * * @author Jordi Boggiano */ -class Logger implements LoggerInterface +class Logger implements LoggerInterface, ResettableInterface { /** * Detailed debug information @@ -133,6 +134,11 @@ class Logger implements LoggerInterface */ protected $microsecondTimestamps = true; + /** + * @var callable + */ + protected $exceptionHandler; + /** * @param string $name The logging channel * @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc. @@ -141,7 +147,7 @@ class Logger implements LoggerInterface public function __construct($name, array $handlers = array(), array $processors = array()) { $this->name = $name; - $this->handlers = $handlers; + $this->setHandlers($handlers); $this->processors = $processors; } @@ -281,7 +287,7 @@ class Logger implements LoggerInterface * @param int $level The logging level * @param string $message The log message * @param array $context The log context - * @return Boolean Whether the record has been processed + * @return bool Whether the record has been processed */ public function addRecord($level, $message, array $context = array()) { @@ -329,27 +335,75 @@ class Logger implements LoggerInterface 'extra' => array(), ); - foreach ($this->processors as $processor) { - $record = call_user_func($processor, $record); - } - - while ($handler = current($this->handlers)) { - if (true === $handler->handle($record)) { - break; + try { + foreach ($this->processors as $processor) { + $record = call_user_func($processor, $record); } - next($this->handlers); + while ($handler = current($this->handlers)) { + if (true === $handler->handle($record)) { + break; + } + + next($this->handlers); + } + } catch (Exception $e) { + $this->handleException($e, $record); } return true; } + /** + * Ends a log cycle and frees all resources used by handlers. + * + * Closing a Handler means flushing all buffers and freeing any open resources/handles. + * Handlers that have been closed should be able to accept log records again and re-open + * themselves on demand, but this may not always be possible depending on implementation. + * + * This is useful at the end of a request and will be called automatically on every handler + * when they get destructed. + */ + public function close() + { + foreach ($this->handlers as $handler) { + if (method_exists($handler, 'close')) { + $handler->close(); + } + } + } + + /** + * Ends a log cycle and resets all handlers and processors to their initial state. + * + * Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal + * state, and getting it back to a state in which it can receive log records again. + * + * This is useful in case you want to avoid logs leaking between two requests or jobs when you + * have a long running process like a worker or an application server serving multiple requests + * in one process. + */ + public function reset() + { + foreach ($this->handlers as $handler) { + if ($handler instanceof ResettableInterface) { + $handler->reset(); + } + } + + foreach ($this->processors as $processor) { + if ($processor instanceof ResettableInterface) { + $processor->reset(); + } + } + } + /** * Adds a log record at the DEBUG level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addDebug($message, array $context = array()) { @@ -359,9 +413,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the INFO level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addInfo($message, array $context = array()) { @@ -371,9 +425,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the NOTICE level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addNotice($message, array $context = array()) { @@ -383,9 +437,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the WARNING level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addWarning($message, array $context = array()) { @@ -395,9 +449,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the ERROR level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addError($message, array $context = array()) { @@ -407,9 +461,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the CRITICAL level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addCritical($message, array $context = array()) { @@ -419,9 +473,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the ALERT level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addAlert($message, array $context = array()) { @@ -431,9 +485,9 @@ class Logger implements LoggerInterface /** * Adds a log record at the EMERGENCY level. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function addEmergency($message, array $context = array()) { @@ -484,7 +538,7 @@ class Logger implements LoggerInterface * Checks whether the Logger has a handler that listens on the given level * * @param int $level - * @return Boolean + * @return bool */ public function isHandling($level) { @@ -501,15 +555,52 @@ class Logger implements LoggerInterface return false; } + /** + * Set a custom exception handler + * + * @param callable $callback + * @return $this + */ + public function setExceptionHandler($callback) + { + if (!is_callable($callback)) { + throw new \InvalidArgumentException('Exception handler must be valid callable (callback or object with an __invoke method), '.var_export($callback, true).' given'); + } + $this->exceptionHandler = $callback; + + return $this; + } + + /** + * @return callable + */ + public function getExceptionHandler() + { + return $this->exceptionHandler; + } + + /** + * Delegates exception management to the custom exception handler, + * or throws the exception if no custom handler is set. + */ + protected function handleException(Exception $e, array $record) + { + if (!$this->exceptionHandler) { + throw $e; + } + + call_user_func($this->exceptionHandler, $e, $record); + } + /** * Adds a log record at an arbitrary level. * * This method allows for compatibility with common interfaces. * * @param mixed $level The log level - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function log($level, $message, array $context = array()) { @@ -523,9 +614,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function debug($message, array $context = array()) { @@ -537,9 +628,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function info($message, array $context = array()) { @@ -551,9 +642,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function notice($message, array $context = array()) { @@ -565,9 +656,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function warn($message, array $context = array()) { @@ -579,9 +670,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function warning($message, array $context = array()) { @@ -593,9 +684,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function err($message, array $context = array()) { @@ -607,9 +698,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function error($message, array $context = array()) { @@ -621,9 +712,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function crit($message, array $context = array()) { @@ -635,9 +726,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function critical($message, array $context = array()) { @@ -649,9 +740,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function alert($message, array $context = array()) { @@ -663,9 +754,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function emerg($message, array $context = array()) { @@ -677,9 +768,9 @@ class Logger implements LoggerInterface * * This method allows for compatibility with common interfaces. * - * @param string $message The log message - * @param array $context The log context - * @return Boolean Whether the record has been processed + * @param string $message The log message + * @param array $context The log context + * @return bool Whether the record has been processed */ public function emergency($message, array $context = array()) { diff --git a/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php index 1899400dc..9fc3f50f0 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php @@ -19,7 +19,7 @@ use Monolog\Logger; * @author Nick Otter * @author Jordi Boggiano */ -class GitProcessor +class GitProcessor implements ProcessorInterface { private $level; private static $cache; diff --git a/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php index 2c07caede..6ae192a23 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php @@ -24,7 +24,7 @@ use Monolog\Logger; * * @author Jordi Boggiano */ -class IntrospectionProcessor +class IntrospectionProcessor implements ProcessorInterface { private $level; diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php index 85f9dc5e7..2a379a302 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Rob Jensen */ -abstract class MemoryProcessor +abstract class MemoryProcessor implements ProcessorInterface { /** * @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported. @@ -34,8 +34,8 @@ abstract class MemoryProcessor */ public function __construct($realUsage = true, $useFormatting = true) { - $this->realUsage = (boolean) $realUsage; - $this->useFormatting = (boolean) $useFormatting; + $this->realUsage = (bool) $realUsage; + $this->useFormatting = (bool) $useFormatting; } /** diff --git a/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php index 7c07a7e99..2f5b32659 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php @@ -18,7 +18,7 @@ use Monolog\Logger; * * @author Jonathan A. Schweder */ -class MercurialProcessor +class MercurialProcessor implements ProcessorInterface { private $level; private static $cache; diff --git a/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php index 9d3f5590f..66b80fbbd 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Andreas Hörnicke */ -class ProcessIdProcessor +class ProcessIdProcessor implements ProcessorInterface { /** * @param array $record diff --git a/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php b/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php new file mode 100644 index 000000000..7e64d4dfa --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog\Processor; + +/** + * An optional interface to allow labelling Monolog processors. + * + * @author Nicolas Grekas + */ +interface ProcessorInterface +{ + /** + * @return array The processed records + */ + public function __invoke(array $records); +} diff --git a/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php index c2686ce5b..008850545 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php @@ -11,6 +11,8 @@ namespace Monolog\Processor; +use Monolog\Utils; + /** * Processes a record's message according to PSR-3 rules * @@ -18,7 +20,7 @@ namespace Monolog\Processor; * * @author Jordi Boggiano */ -class PsrLogMessageProcessor +class PsrLogMessageProcessor implements ProcessorInterface { /** * @param array $record @@ -35,7 +37,7 @@ class PsrLogMessageProcessor if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) { $replacements['{'.$key.'}'] = $val; } elseif (is_object($val)) { - $replacements['{'.$key.'}'] = '[object '.get_class($val).']'; + $replacements['{'.$key.'}'] = '[object '.Utils::getClass($val).']'; } else { $replacements['{'.$key.'}'] = '['.gettype($val).']'; } diff --git a/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php index 7e2df2acb..615a4d991 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Martijn Riemers */ -class TagProcessor +class TagProcessor implements ProcessorInterface { private $tags; diff --git a/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php index 812707cdb..d1f708cf2 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php @@ -11,12 +11,14 @@ namespace Monolog\Processor; +use Monolog\ResettableInterface; + /** * Adds a unique identifier into records * * @author Simon Mönch */ -class UidProcessor +class UidProcessor implements ProcessorInterface, ResettableInterface { private $uid; @@ -26,7 +28,8 @@ class UidProcessor throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32'); } - $this->uid = substr(hash('md5', uniqid('', true)), 0, $length); + + $this->uid = $this->generateUid($length); } public function __invoke(array $record) @@ -43,4 +46,14 @@ class UidProcessor { return $this->uid; } + + public function reset() + { + $this->uid = $this->generateUid(strlen($this->uid)); + } + + private function generateUid($length) + { + return substr(hash('md5', uniqid('', true)), 0, $length); + } } diff --git a/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php b/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php index ea1d89782..684188f66 100644 --- a/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +++ b/vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php @@ -16,7 +16,7 @@ namespace Monolog\Processor; * * @author Jordi Boggiano */ -class WebProcessor +class WebProcessor implements ProcessorInterface { /** * @var array|\ArrayAccess diff --git a/vendor/monolog/monolog/src/Monolog/ResettableInterface.php b/vendor/monolog/monolog/src/Monolog/ResettableInterface.php new file mode 100644 index 000000000..635bc77dc --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/ResettableInterface.php @@ -0,0 +1,31 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +/** + * Handler or Processor implementing this interface will be reset when Logger::reset() is called. + * + * Resetting ends a log cycle gets them back to their initial state. + * + * Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal + * state, and getting it back to a state in which it can receive log records again. + * + * This is useful in case you want to avoid logs leaking between two requests or jobs when you + * have a long running process like a worker or an application server serving multiple requests + * in one process. + * + * @author Grégoire Pineau + */ +interface ResettableInterface +{ + public function reset(); +} diff --git a/vendor/monolog/monolog/src/Monolog/SignalHandler.php b/vendor/monolog/monolog/src/Monolog/SignalHandler.php new file mode 100644 index 000000000..d5907805a --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/SignalHandler.php @@ -0,0 +1,115 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Psr\Log\LoggerInterface; +use Psr\Log\LogLevel; +use ReflectionExtension; + +/** + * Monolog POSIX signal handler + * + * @author Robert Gust-Bardon + */ +class SignalHandler +{ + private $logger; + + private $previousSignalHandler = array(); + private $signalLevelMap = array(); + private $signalRestartSyscalls = array(); + + public function __construct(LoggerInterface $logger) + { + $this->logger = $logger; + } + + public function registerSignalHandler($signo, $level = LogLevel::CRITICAL, $callPrevious = true, $restartSyscalls = true, $async = true) + { + if (!extension_loaded('pcntl') || !function_exists('pcntl_signal')) { + return $this; + } + + if ($callPrevious) { + if (function_exists('pcntl_signal_get_handler')) { + $handler = pcntl_signal_get_handler($signo); + if ($handler === false) { + return $this; + } + $this->previousSignalHandler[$signo] = $handler; + } else { + $this->previousSignalHandler[$signo] = true; + } + } else { + unset($this->previousSignalHandler[$signo]); + } + $this->signalLevelMap[$signo] = $level; + $this->signalRestartSyscalls[$signo] = $restartSyscalls; + + if (function_exists('pcntl_async_signals') && $async !== null) { + pcntl_async_signals($async); + } + + pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls); + + return $this; + } + + public function handleSignal($signo, array $siginfo = null) + { + static $signals = array(); + + if (!$signals && extension_loaded('pcntl')) { + $pcntl = new ReflectionExtension('pcntl'); + $constants = $pcntl->getConstants(); + if (!$constants) { + // HHVM 3.24.2 returns an empty array. + $constants = get_defined_constants(true); + $constants = $constants['Core']; + } + foreach ($constants as $name => $value) { + if (substr($name, 0, 3) === 'SIG' && $name[3] !== '_' && is_int($value)) { + $signals[$value] = $name; + } + } + unset($constants); + } + + $level = isset($this->signalLevelMap[$signo]) ? $this->signalLevelMap[$signo] : LogLevel::CRITICAL; + $signal = isset($signals[$signo]) ? $signals[$signo] : $signo; + $context = isset($siginfo) ? $siginfo : array(); + $this->logger->log($level, sprintf('Program received signal %s', $signal), $context); + + if (!isset($this->previousSignalHandler[$signo])) { + return; + } + + if ($this->previousSignalHandler[$signo] === true || $this->previousSignalHandler[$signo] === SIG_DFL) { + if (extension_loaded('pcntl') && function_exists('pcntl_signal') && function_exists('pcntl_sigprocmask') && function_exists('pcntl_signal_dispatch') + && extension_loaded('posix') && function_exists('posix_getpid') && function_exists('posix_kill')) { + $restartSyscalls = isset($this->restartSyscalls[$signo]) ? $this->restartSyscalls[$signo] : true; + pcntl_signal($signo, SIG_DFL, $restartSyscalls); + pcntl_sigprocmask(SIG_UNBLOCK, array($signo), $oldset); + posix_kill(posix_getpid(), $signo); + pcntl_signal_dispatch(); + pcntl_sigprocmask(SIG_SETMASK, $oldset); + pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls); + } + } elseif (is_callable($this->previousSignalHandler[$signo])) { + if (PHP_VERSION_ID >= 70100) { + $this->previousSignalHandler[$signo]($signo, $siginfo); + } else { + $this->previousSignalHandler[$signo]($signo); + } + } + } +} diff --git a/vendor/monolog/monolog/src/Monolog/Utils.php b/vendor/monolog/monolog/src/Monolog/Utils.php new file mode 100644 index 000000000..eb9be863b --- /dev/null +++ b/vendor/monolog/monolog/src/Monolog/Utils.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +class Utils +{ + /** + * @internal + */ + public static function getClass($object) + { + $class = \get_class($object); + + return 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php index 622b2bae2..fd36dbcf4 100644 --- a/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/FluentdFormatterTest.php @@ -40,7 +40,7 @@ class FluentdFormatterTest extends TestCase $formatter = new FluentdFormatter(); $this->assertEquals( - '["test",0,{"message":"test","extra":[],"level":300,"level_name":"WARNING"}]', + '["test",0,{"message":"test","context":[],"extra":[],"level":300,"level_name":"WARNING"}]', $formatter->format($record) ); } @@ -55,7 +55,7 @@ class FluentdFormatterTest extends TestCase $formatter = new FluentdFormatter(true); $this->assertEquals( - '["test.error",0,{"message":"test","extra":[]}]', + '["test.error",0,{"message":"test","context":[],"extra":[]}]', $formatter->format($record) ); } diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php index c9445f363..24b06cc94 100644 --- a/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/JsonFormatterTest.php @@ -180,4 +180,40 @@ class JsonFormatterTest extends TestCase '}'; return $formattedException; } + + public function testNormalizeHandleLargeArraysWithExactly1000Items() + { + $formatter = new NormalizerFormatter(); + $largeArray = range(1, 1000); + + $res = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array($largeArray), + 'datetime' => new \DateTime, + 'extra' => array(), + )); + + $this->assertCount(1000, $res['context'][0]); + $this->assertArrayNotHasKey('...', $res['context'][0]); + } + + public function testNormalizeHandleLargeArrays() + { + $formatter = new NormalizerFormatter(); + $largeArray = range(1, 2000); + + $res = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array($largeArray), + 'datetime' => new \DateTime, + 'extra' => array(), + )); + + $this->assertCount(1001, $res['context'][0]); + $this->assertEquals('Over 1000 items (2000 total), aborting normalization', $res['context'][0]['...']); + } } diff --git a/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php b/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php index 57bcdf984..bafd1c74b 100644 --- a/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Formatter/NormalizerFormatterTest.php @@ -193,6 +193,15 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase $this->assertEquals(@json_encode(array($foo, $bar)), $res); } + public function testCanNormalizeReferences() + { + $formatter = new NormalizerFormatter(); + $x = array('foo' => 'bar'); + $y = array('x' => &$x); + $x['y'] = &$y; + $formatter->format($y); + } + public function testIgnoresInvalidTypes() { // set up the recursion @@ -217,6 +226,24 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase $this->assertEquals(@json_encode(array($resource)), $res); } + public function testNormalizeHandleLargeArraysWithExactly1000Items() + { + $formatter = new NormalizerFormatter(); + $largeArray = range(1, 1000); + + $res = $formatter->format(array( + 'level_name' => 'CRITICAL', + 'channel' => 'test', + 'message' => 'bar', + 'context' => array($largeArray), + 'datetime' => new \DateTime, + 'extra' => array(), + )); + + $this->assertCount(1000, $res['context'][0]); + $this->assertArrayNotHasKey('...', $res['context'][0]); + } + public function testNormalizeHandleLargeArrays() { $formatter = new NormalizerFormatter(); @@ -231,7 +258,7 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase 'extra' => array(), )); - $this->assertCount(1000, $res['context'][0]); + $this->assertCount(1001, $res['context'][0]); $this->assertEquals('Over 1000 items (2000 total), aborting normalization', $res['context'][0]['...']); } @@ -380,6 +407,29 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase $result['context']['exception']['trace'][0] ); } + + public function testExceptionTraceDoesNotLeakCallUserFuncArgs() + { + try { + $arg = new TestInfoLeak; + call_user_func(array($this, 'throwHelper'), $arg, $dt = new \DateTime()); + } catch (\Exception $e) { + } + + $formatter = new NormalizerFormatter(); + $record = array('context' => array('exception' => $e)); + $result = $formatter->format($record); + + $this->assertSame( + '{"function":"throwHelper","class":"Monolog\\\\Formatter\\\\NormalizerFormatterTest","type":"->","args":["[object] (Monolog\\\\Formatter\\\\TestInfoLeak)","'.$dt->format('Y-m-d H:i:s').'"]}', + $result['context']['exception']['trace'][0] + ); + } + + private function throwHelper($arg) + { + throw new \RuntimeException('Thrown'); + } } class TestFooNorm @@ -421,3 +471,11 @@ class TestToStringError throw new \RuntimeException('Could not convert to string'); } } + +class TestInfoLeak +{ + public function __toString() + { + return 'Sensitive information'; + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php index ffb1d746a..ffe45da2f 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/BrowserConsoleHandlerTest.php @@ -21,7 +21,7 @@ class BrowserConsoleHandlerTest extends TestCase { protected function setUp() { - BrowserConsoleHandler::reset(); + BrowserConsoleHandler::resetStatic(); } protected function generateScript() diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php index 0449f8b1a..421cc4918 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/ChromePHPHandlerTest.php @@ -21,7 +21,7 @@ class ChromePHPHandlerTest extends TestCase { protected function setUp() { - TestChromePHPHandler::reset(); + TestChromePHPHandler::resetStatic(); $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; Chrome/1.0'; } @@ -136,7 +136,7 @@ class TestChromePHPHandler extends ChromePHPHandler { protected $headers = array(); - public static function reset() + public static function resetStatic() { self::$initialized = false; self::$overflowed = false; diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php index b92bf437b..0ec36531a 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FingersCrossedHandlerTest.php @@ -58,7 +58,7 @@ class FingersCrossedHandlerTest extends TestCase * @covers Monolog\Handler\FingersCrossedHandler::activate * @covers Monolog\Handler\FingersCrossedHandler::reset */ - public function testHandleRestartBufferingAfterReset() + public function testHandleResetBufferingAfterReset() { $test = new TestHandler(); $handler = new FingersCrossedHandler($test); @@ -76,7 +76,7 @@ class FingersCrossedHandlerTest extends TestCase * @covers Monolog\Handler\FingersCrossedHandler::handle * @covers Monolog\Handler\FingersCrossedHandler::activate */ - public function testHandleRestartBufferingAfterBeingTriggeredWhenStopBufferingIsDisabled() + public function testHandleResetBufferingAfterBeingTriggeredWhenStopBufferingIsDisabled() { $test = new TestHandler(); $handler = new FingersCrossedHandler($test, Logger::WARNING, 0, false, false); diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php index 0eb10a63f..7a404e660 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/FirePHPHandlerTest.php @@ -21,7 +21,7 @@ class FirePHPHandlerTest extends TestCase { public function setUp() { - TestFirePHPHandler::reset(); + TestFirePHPHandler::resetStatic(); $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; FirePHP/1.0'; } @@ -77,7 +77,7 @@ class TestFirePHPHandler extends FirePHPHandler { protected $headers = array(); - public static function reset() + public static function resetStatic() { self::$initialized = false; self::$sendHeaders = true; diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/InsightOpsHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/InsightOpsHandlerTest.php new file mode 100644 index 000000000..97c18b592 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/Handler/InsightOpsHandlerTest.php @@ -0,0 +1,80 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + + namespace Monolog\Handler; + + use Monolog\TestCase; + use Monolog\Logger; + +/** + * @author Robert Kaufmann III + * @author Gabriel Machado + */ +class InsightOpsHandlerTest extends TestCase +{ + /** + * @var resource + */ + private $resource; + + /** + * @var LogEntriesHandler + */ + private $handler; + + public function testWriteContent() + { + $this->createHandler(); + $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Critical write test')); + + fseek($this->resource, 0); + $content = fread($this->resource, 1024); + + $this->assertRegexp('/testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] test.CRITICAL: Critical write test/', $content); + } + + public function testWriteBatchContent() + { + $this->createHandler(); + $this->handler->handleBatch($this->getMultipleRecords()); + + fseek($this->resource, 0); + $content = fread($this->resource, 1024); + + $this->assertRegexp('/(testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] .* \[\] \[\]\n){3}/', $content); + } + + private function createHandler() + { + $useSSL = extension_loaded('openssl'); + $args = array('testToken', 'us', $useSSL, Logger::DEBUG, true); + $this->resource = fopen('php://memory', 'a'); + $this->handler = $this->getMock( + '\Monolog\Handler\InsightOpsHandler', + array('fsockopen', 'streamSetTimeout', 'closeSocket'), + $args + ); + + $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->handler, 'localhost:1234'); + + $this->handler->expects($this->any()) + ->method('fsockopen') + ->will($this->returnValue($this->resource)); + $this->handler->expects($this->any()) + ->method('streamSetTimeout') + ->will($this->returnValue(true)); + $this->handler->expects($this->any()) + ->method('closeSocket') + ->will($this->returnValue(true)); + } +} diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php index f1feb2281..c6f5fac99 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/RotatingFileHandlerTest.php @@ -191,6 +191,40 @@ class RotatingFileHandlerTest extends TestCase ); } + /** + * @dataProvider rotationWhenSimilarFilesExistTests + */ + public function testRotationWhenSimilarFileNamesExist($dateFormat) + { + touch($old1 = __DIR__.'/Fixtures/foo-foo-'.date($dateFormat).'.rot'); + touch($old2 = __DIR__.'/Fixtures/foo-bar-'.date($dateFormat).'.rot'); + + $log = __DIR__.'/Fixtures/foo-'.date($dateFormat).'.rot'; + + $handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2); + $handler->setFormatter($this->getIdentityFormatter()); + $handler->setFilenameFormat('{filename}-{date}', $dateFormat); + $handler->handle($this->getRecord()); + $handler->close(); + + $this->assertTrue(file_exists($log)); + } + + public function rotationWhenSimilarFilesExistTests() + { + + return array( + 'Rotation is triggered when the file of the current day is not present but similar exists' + => array(RotatingFileHandler::FILE_PER_DAY), + + 'Rotation is triggered when the file of the current month is not present but similar exists' + => array(RotatingFileHandler::FILE_PER_MONTH), + + 'Rotation is triggered when the file of the current year is not present but similar exists' + => array(RotatingFileHandler::FILE_PER_YEAR), + ); + } + public function testReuseCurrentFile() { $log = __DIR__.'/Fixtures/foo-'.date('Y-m-d').'.rot'; diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php index e1aa96d71..b9de73679 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/Slack/SlackRecordTest.php @@ -320,12 +320,12 @@ class SlackRecordTest extends TestCase 'short' => false, ), array( - 'title' => 'tags', + 'title' => 'Tags', 'value' => sprintf('```%s```', json_encode($extra['tags'])), 'short' => false ), array( - 'title' => 'test', + 'title' => 'Test', 'value' => $context['test'], 'short' => false ) @@ -353,6 +353,14 @@ class SlackRecordTest extends TestCase $this->assertSame($record['datetime']->getTimestamp(), $attachment['ts']); } + public function testContextHasException() + { + $record = $this->getRecord(Logger::CRITICAL, 'This is a critical message.', array('exception' => new \Exception())); + $slackRecord = new SlackRecord(null, null, true, null, false, true); + $data = $slackRecord->getSlackData($record); + $this->assertInternalType('string', $data['attachments'][0]['fields'][1]['value']); + } + public function testExcludeExtraAndContextFields() { $record = $this->getRecord( @@ -368,12 +376,12 @@ class SlackRecordTest extends TestCase $expected = array( array( - 'title' => 'info', + 'title' => 'Info', 'value' => sprintf('```%s```', json_encode(array('author' => 'Jordi'), $this->jsonPrettyPrintFlag)), 'short' => false ), array( - 'title' => 'tags', + 'title' => 'Tags', 'value' => sprintf('```%s```', json_encode(array('web'))), 'short' => false ), diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php index 1f9c1f287..1da987c9c 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/SocketHandlerTest.php @@ -77,6 +77,13 @@ class SocketHandlerTest extends TestCase $this->assertEquals(10.25, $this->handler->getWritingTimeout()); } + public function testSetChunkSize() + { + $this->createHandler('localhost:1234'); + $this->handler->setChunkSize(1025); + $this->assertEquals(1025, $this->handler->getChunkSize()); + } + public function testSetConnectionString() { $this->createHandler('tcp://localhost:9090'); @@ -120,6 +127,19 @@ class SocketHandlerTest extends TestCase $this->writeRecord('Hello world'); } + /** + * @expectedException UnexpectedValueException + */ + public function testExceptionIsThrownIfCannotSetChunkSize() + { + $this->setMockHandler(array('streamSetChunkSize')); + $this->handler->setChunkSize(8192); + $this->handler->expects($this->once()) + ->method('streamSetChunkSize') + ->will($this->returnValue(false)); + $this->writeRecord('Hello world'); + } + /** * @expectedException RuntimeException */ @@ -304,6 +324,12 @@ class SocketHandlerTest extends TestCase ->will($this->returnValue(true)); } + if (!in_array('streamSetChunkSize', $methods)) { + $this->handler->expects($this->any()) + ->method('streamSetChunkSize') + ->will($this->returnValue(8192)); + } + $this->handler->setFormatter($this->getIdentityFormatter()); } } diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php index bfb8d3df2..a7c4fc986 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/TestHandlerTest.php @@ -54,6 +54,52 @@ class TestHandlerTest extends TestCase $this->assertEquals(array($record), $records); } + public function testHandlerAssertEmptyContext() { + $handler = new TestHandler; + $record = $this->getRecord(Logger::WARNING, 'test', array()); + $this->assertFalse($handler->hasWarning(array( + 'message' => 'test', + 'context' => array(), + ))); + + $handler->handle($record); + + $this->assertTrue($handler->hasWarning(array( + 'message' => 'test', + 'context' => array(), + ))); + $this->assertFalse($handler->hasWarning(array( + 'message' => 'test', + 'context' => array( + 'foo' => 'bar' + ), + ))); + } + + public function testHandlerAssertNonEmptyContext() { + $handler = new TestHandler; + $record = $this->getRecord(Logger::WARNING, 'test', array('foo' => 'bar')); + $this->assertFalse($handler->hasWarning(array( + 'message' => 'test', + 'context' => array( + 'foo' => 'bar' + ), + ))); + + $handler->handle($record); + + $this->assertTrue($handler->hasWarning(array( + 'message' => 'test', + 'context' => array( + 'foo' => 'bar' + ), + ))); + $this->assertFalse($handler->hasWarning(array( + 'message' => 'test', + 'context' => array(), + ))); + } + public function methodProvider() { return array( diff --git a/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php index 8d37a1fcc..0594a232b 100644 --- a/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php @@ -87,6 +87,29 @@ class WhatFailureGroupHandlerTest extends TestCase $this->assertTrue($records[0]['extra']['foo']); } + /** + * @covers Monolog\Handler\WhatFailureGroupHandler::handleBatch + */ + public function testHandleBatchUsesProcessors() + { + $testHandlers = array(new TestHandler(), new TestHandler()); + $handler = new WhatFailureGroupHandler($testHandlers); + $handler->pushProcessor(function ($record) { + $record['extra']['foo'] = true; + + return $record; + }); + $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO))); + foreach ($testHandlers as $test) { + $this->assertTrue($test->hasDebugRecords()); + $this->assertTrue($test->hasInfoRecords()); + $this->assertTrue(count($test->getRecords()) === 2); + $records = $test->getRecords(); + $this->assertTrue($records[0]['extra']['foo']); + $this->assertTrue($records[1]['extra']['foo']); + } + } + /** * @covers Monolog\Handler\WhatFailureGroupHandler::handle */ diff --git a/vendor/monolog/monolog/tests/Monolog/LoggerTest.php b/vendor/monolog/monolog/tests/Monolog/LoggerTest.php index 1ecc34a0a..442e87dea 100644 --- a/vendor/monolog/monolog/tests/Monolog/LoggerTest.php +++ b/vendor/monolog/monolog/tests/Monolog/LoggerTest.php @@ -545,4 +545,146 @@ class LoggerTest extends \PHPUnit_Framework_TestCase 'without microseconds' => array(false, PHP_VERSION_ID >= 70100 ? 'assertNotSame' : 'assertSame'), ); } + + /** + * @covers Monolog\Logger::setExceptionHandler + */ + public function testSetExceptionHandler() + { + $logger = new Logger(__METHOD__); + $this->assertNull($logger->getExceptionHandler()); + $callback = function ($ex) { + }; + $logger->setExceptionHandler($callback); + $this->assertEquals($callback, $logger->getExceptionHandler()); + } + + /** + * @covers Monolog\Logger::setExceptionHandler + * @expectedException InvalidArgumentException + */ + public function testBadExceptionHandlerType() + { + $logger = new Logger(__METHOD__); + $logger->setExceptionHandler(false); + } + + /** + * @covers Monolog\Logger::handleException + * @expectedException Exception + */ + public function testDefaultHandleException() + { + $logger = new Logger(__METHOD__); + $handler = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler->expects($this->any()) + ->method('handle') + ->will($this->throwException(new \Exception('Some handler exception'))) + ; + $logger->pushHandler($handler); + $logger->info('test'); + } + + /** + * @covers Monolog\Logger::handleException + * @covers Monolog\Logger::addRecord + */ + public function testCustomHandleException() + { + $logger = new Logger(__METHOD__); + $that = $this; + $logger->setExceptionHandler(function ($e, $record) use ($that) { + $that->assertEquals($e->getMessage(), 'Some handler exception'); + $that->assertTrue(is_array($record)); + $that->assertEquals($record['message'], 'test'); + }); + $handler = $this->getMock('Monolog\Handler\HandlerInterface'); + $handler->expects($this->any()) + ->method('isHandling') + ->will($this->returnValue(true)) + ; + $handler->expects($this->any()) + ->method('handle') + ->will($this->throwException(new \Exception('Some handler exception'))) + ; + $logger->pushHandler($handler); + $logger->info('test'); + } + + public function testReset() + { + $logger = new Logger('app'); + + $testHandler = new Handler\TestHandler(); + $bufferHandler = new Handler\BufferHandler($testHandler); + $groupHandler = new Handler\GroupHandler(array($bufferHandler)); + $fingersCrossedHandler = new Handler\FingersCrossedHandler($groupHandler); + + $logger->pushHandler($fingersCrossedHandler); + + $processorUid1 = new Processor\UidProcessor(10); + $uid1 = $processorUid1->getUid(); + $groupHandler->pushProcessor($processorUid1); + + $processorUid2 = new Processor\UidProcessor(5); + $uid2 = $processorUid2->getUid(); + $logger->pushProcessor($processorUid2); + + $getProperty = function ($object, $property) { + $reflectionProperty = new \ReflectionProperty(get_class($object), $property); + $reflectionProperty->setAccessible(true); + + return $reflectionProperty->getValue($object); + }; + $that = $this; + $assertBufferOfBufferHandlerEmpty = function () use ($getProperty, $bufferHandler, $that) { + $that->assertEmpty($getProperty($bufferHandler, 'buffer')); + }; + $assertBuffersEmpty = function() use ($assertBufferOfBufferHandlerEmpty, $getProperty, $fingersCrossedHandler, $that) { + $assertBufferOfBufferHandlerEmpty(); + $that->assertEmpty($getProperty($fingersCrossedHandler, 'buffer')); + }; + + $logger->debug('debug'); + $logger->reset(); + $assertBuffersEmpty(); + $this->assertFalse($testHandler->hasDebugRecords()); + $this->assertFalse($testHandler->hasErrorRecords()); + $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid()); + $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid()); + + $logger->debug('debug'); + $logger->error('error'); + $logger->reset(); + $assertBuffersEmpty(); + $this->assertTrue($testHandler->hasDebugRecords()); + $this->assertTrue($testHandler->hasErrorRecords()); + $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid()); + $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid()); + + $logger->info('info'); + $this->assertNotEmpty($getProperty($fingersCrossedHandler, 'buffer')); + $assertBufferOfBufferHandlerEmpty(); + $this->assertFalse($testHandler->hasInfoRecords()); + + $logger->reset(); + $assertBuffersEmpty(); + $this->assertFalse($testHandler->hasInfoRecords()); + $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid()); + $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid()); + + $logger->notice('notice'); + $logger->emergency('emergency'); + $logger->reset(); + $assertBuffersEmpty(); + $this->assertFalse($testHandler->hasInfoRecords()); + $this->assertTrue($testHandler->hasNoticeRecords()); + $this->assertTrue($testHandler->hasEmergencyRecords()); + $this->assertNotSame($uid1, $processorUid1->getUid()); + $this->assertNotSame($uid2, $processorUid2->getUid()); + } } diff --git a/vendor/monolog/monolog/tests/Monolog/SignalHandlerTest.php b/vendor/monolog/monolog/tests/Monolog/SignalHandlerTest.php new file mode 100644 index 000000000..9fa079290 --- /dev/null +++ b/vendor/monolog/monolog/tests/Monolog/SignalHandlerTest.php @@ -0,0 +1,287 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Monolog; + +use Monolog\Handler\StreamHandler; +use Monolog\Handler\TestHandler; +use Psr\Log\LogLevel; + +/** + * @author Robert Gust-Bardon + * @covers Monolog\SignalHandler + */ +class SignalHandlerTest extends TestCase +{ + + private $asyncSignalHandling; + private $blockedSignals; + private $signalHandlers; + + protected function setUp() + { + $this->signalHandlers = array(); + if (extension_loaded('pcntl')) { + if (function_exists('pcntl_async_signals')) { + $this->asyncSignalHandling = pcntl_async_signals(); + } + if (function_exists('pcntl_sigprocmask')) { + pcntl_sigprocmask(SIG_BLOCK, array(), $this->blockedSignals); + } + } + } + + protected function tearDown() + { + if ($this->asyncSignalHandling !== null) { + pcntl_async_signals($this->asyncSignalHandling); + } + if ($this->blockedSignals !== null) { + pcntl_sigprocmask(SIG_SETMASK, $this->blockedSignals); + } + if ($this->signalHandlers) { + pcntl_signal_dispatch(); + foreach ($this->signalHandlers as $signo => $handler) { + pcntl_signal($signo, $handler); + } + } + } + + private function setSignalHandler($signo, $handler = SIG_DFL) { + if (function_exists('pcntl_signal_get_handler')) { + $this->signalHandlers[$signo] = pcntl_signal_get_handler($signo); + } else { + $this->signalHandlers[$signo] = SIG_DFL; + } + $this->assertTrue(pcntl_signal($signo, $handler)); + } + + public function testHandleSignal() + { + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new SignalHandler($logger); + $signo = 2; // SIGINT. + $siginfo = array('signo' => $signo, 'errno' => 0, 'code' => 0); + $errHandler->handleSignal($signo, $siginfo); + $this->assertCount(1, $handler->getRecords()); + $this->assertTrue($handler->hasCriticalRecords()); + $records = $handler->getRecords(); + $this->assertSame($siginfo, $records[0]['context']); + } + + /** + * @depends testHandleSignal + * @requires extension pcntl + * @requires extension posix + * @requires function pcntl_signal + * @requires function pcntl_signal_dispatch + * @requires function posix_getpid + * @requires function posix_kill + */ + public function testRegisterSignalHandler() + { + // SIGCONT and SIGURG should be ignored by default. + if (!defined('SIGCONT') || !defined('SIGURG')) { + $this->markTestSkipped('This test requires the SIGCONT and SIGURG pcntl constants.'); + } + + $this->setSignalHandler(SIGCONT, SIG_IGN); + $this->setSignalHandler(SIGURG, SIG_IGN); + + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new SignalHandler($logger); + $pid = posix_getpid(); + + $this->assertTrue(posix_kill($pid, SIGURG)); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount(0, $handler->getRecords()); + + $errHandler->registerSignalHandler(SIGURG, LogLevel::INFO, false, false, false); + + $this->assertTrue(posix_kill($pid, SIGCONT)); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount(0, $handler->getRecords()); + + $this->assertTrue(posix_kill($pid, SIGURG)); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount(1, $handler->getRecords()); + $this->assertTrue($handler->hasInfoThatContains('SIGURG')); + } + + /** + * @dataProvider defaultPreviousProvider + * @depends testRegisterSignalHandler + * @requires function pcntl_fork + * @requires function pcntl_sigprocmask + * @requires function pcntl_waitpid + */ + public function testRegisterDefaultPreviousSignalHandler($signo, $callPrevious, $expected) + { + $this->setSignalHandler($signo, SIG_DFL); + + $path = tempnam(sys_get_temp_dir(), 'monolog-'); + $this->assertNotFalse($path); + + $pid = pcntl_fork(); + if ($pid === 0) { // Child. + $streamHandler = new StreamHandler($path); + $streamHandler->setFormatter($this->getIdentityFormatter()); + $logger = new Logger('test', array($streamHandler)); + $errHandler = new SignalHandler($logger); + $errHandler->registerSignalHandler($signo, LogLevel::INFO, $callPrevious, false, false); + pcntl_sigprocmask(SIG_SETMASK, array(SIGCONT)); + posix_kill(posix_getpid(), $signo); + pcntl_signal_dispatch(); + // If $callPrevious is true, SIGINT should terminate by this line. + pcntl_sigprocmask(SIG_BLOCK, array(), $oldset); + file_put_contents($path, implode(' ', $oldset), FILE_APPEND); + posix_kill(posix_getpid(), $signo); + pcntl_signal_dispatch(); + exit(); + } + + $this->assertNotSame(-1, $pid); + $this->assertNotSame(-1, pcntl_waitpid($pid, $status)); + $this->assertNotSame(-1, $status); + $this->assertSame($expected, file_get_contents($path)); + } + + public function defaultPreviousProvider() + { + if (!defined('SIGCONT') || !defined('SIGINT') || !defined('SIGURG')) { + return array(); + } + + return array( + array(SIGINT, false, 'Program received signal SIGINT'.SIGCONT.'Program received signal SIGINT'), + array(SIGINT, true, 'Program received signal SIGINT'), + array(SIGURG, false, 'Program received signal SIGURG'.SIGCONT.'Program received signal SIGURG'), + array(SIGURG, true, 'Program received signal SIGURG'.SIGCONT.'Program received signal SIGURG'), + ); + } + + /** + * @dataProvider callablePreviousProvider + * @depends testRegisterSignalHandler + * @requires function pcntl_signal_get_handler + */ + public function testRegisterCallablePreviousSignalHandler($callPrevious) + { + $this->setSignalHandler(SIGURG, SIG_IGN); + + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new SignalHandler($logger); + $previousCalled = 0; + pcntl_signal(SIGURG, function ($signo, array $siginfo = null) use (&$previousCalled) { + ++$previousCalled; + }); + $errHandler->registerSignalHandler(SIGURG, LogLevel::INFO, $callPrevious, false, false); + $this->assertTrue(posix_kill(posix_getpid(), SIGURG)); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount(1, $handler->getRecords()); + $this->assertTrue($handler->hasInfoThatContains('SIGURG')); + $this->assertSame($callPrevious ? 1 : 0, $previousCalled); + } + + public function callablePreviousProvider() + { + return array( + array(false), + array(true), + ); + } + + /** + * @dataProvider restartSyscallsProvider + * @depends testRegisterDefaultPreviousSignalHandler + * @requires function pcntl_fork + * @requires function pcntl_waitpid + */ + public function testRegisterSyscallRestartingSignalHandler($restartSyscalls) + { + $this->setSignalHandler(SIGURG, SIG_IGN); + + $parentPid = posix_getpid(); + $microtime = microtime(true); + + $pid = pcntl_fork(); + if ($pid === 0) { // Child. + usleep(100000); + posix_kill($parentPid, SIGURG); + usleep(100000); + exit(); + } + + $this->assertNotSame(-1, $pid); + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new SignalHandler($logger); + $errHandler->registerSignalHandler(SIGURG, LogLevel::INFO, false, $restartSyscalls, false); + if ($restartSyscalls) { + // pcntl_wait is expected to be restarted after the signal handler. + $this->assertNotSame(-1, pcntl_waitpid($pid, $status)); + } else { + // pcntl_wait is expected to be interrupted when the signal handler is invoked. + $this->assertSame(-1, pcntl_waitpid($pid, $status)); + } + $this->assertSame($restartSyscalls, microtime(true) - $microtime > 0.15); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount(1, $handler->getRecords()); + if ($restartSyscalls) { + // The child has already exited. + $this->assertSame(-1, pcntl_waitpid($pid, $status)); + } else { + // The child has not exited yet. + $this->assertNotSame(-1, pcntl_waitpid($pid, $status)); + } + } + + public function restartSyscallsProvider() + { + return array( + array(false), + array(true), + array(false), + array(true), + ); + } + + /** + * @dataProvider asyncProvider + * @depends testRegisterDefaultPreviousSignalHandler + * @requires function pcntl_async_signals + */ + public function testRegisterAsyncSignalHandler($initialAsync, $desiredAsync, $expectedBefore, $expectedAfter) + { + $this->setSignalHandler(SIGURG, SIG_IGN); + pcntl_async_signals($initialAsync); + + $logger = new Logger('test', array($handler = new TestHandler)); + $errHandler = new SignalHandler($logger); + $errHandler->registerSignalHandler(SIGURG, LogLevel::INFO, false, false, $desiredAsync); + $this->assertTrue(posix_kill(posix_getpid(), SIGURG)); + $this->assertCount($expectedBefore, $handler->getRecords()); + $this->assertTrue(pcntl_signal_dispatch()); + $this->assertCount($expectedAfter, $handler->getRecords()); + } + + public function asyncProvider() + { + return array( + array(false, false, 0, 1), + array(false, null, 0, 1), + array(false, true, 1, 1), + array(true, false, 0, 1), + array(true, null, 1, 1), + array(true, true, 1, 1), + ); + } + +} diff --git a/vendor/neitanod/forceutf8/README.md b/vendor/neitanod/forceutf8/README.md index 0e28d37d7..38a1a8ac8 100644 --- a/vendor/neitanod/forceutf8/README.md +++ b/vendor/neitanod/forceutf8/README.md @@ -10,7 +10,7 @@ If you apply the PHP function utf8_encode() to an already-UTF8 string it will re This class addresses this issue and provides a handy static function called \ForceUTF8\Encoding::toUTF8(). -You don't need to know what the encoding of your strings is. It can be Latin1 (iso 8859-1), Windows-1252 or UTF8, or the string can have a mix of them. \ForceUTF8\Encoding::toUTF8() will convert everything to UTF8. +You don't need to know what the encoding of your strings is. It can be Latin1 (ISO 8859-1), Windows-1252 or UTF8, or the string can have a mix of them. \ForceUTF8\Encoding::toUTF8() will convert everything to UTF8. Sometimes you have to deal with services that are unreliable in terms of encoding, possibly mixing UTF8 and Latin1 in the same string. @@ -46,6 +46,43 @@ will output: Fédération Camerounaise de Football Fédération Camerounaise de Football Fédération Camerounaise de Football + +Options: +======== +By default, `Encoding::fixUTF8` will use the `Encoding::WITHOUT_ICONV` flag, signalling that iconv should not be used to fix garbled UTF8 strings. + +This class also provides options for iconv processing, such as `Encoding::ICONV_TRANSLIT` and `Encoding::ICONV_IGNORE` to enable these flags when the iconv class is utilized. The functionality of such flags are documented in the [PHP iconv documentation](http://php.net/manual/en/function.iconv.php). + +Examples: + + use \ForceUTF8\Encoding; + + $str = "Fédération Camerounaise—de—Football\n"; // Uses U+2014 which is invalid ISO8859-1 but exists in Win1252 + echo Encoding::fixUTF8($str); // Will break U+2014 + echo Encoding::fixUTF8($str, Encoding::ICONV_IGNORE); // Will preserve U+2014 + echo Encoding::fixUTF8($str, Encoding::ICONV_TRANSLIT); // Will preserve U+2014 + +will output: + + Fédération Camerounaise?de?Football + Fédération Camerounaise—de—Football + Fédération Camerounaise—de—Football + +while: + + use \ForceUTF8\Encoding; + + $str = "čęėįšųūž"; // Uses several characters not present in ISO8859-1 / Win1252 + echo Encoding::fixUTF8($str); // Will break invalid characters + echo Encoding::fixUTF8($str, Encoding::ICONV_IGNORE); // Will remove invalid characters, keep those present in Win1252 + echo Encoding::fixUTF8($str, Encoding::ICONV_TRANSLIT); // Will trasliterate invalid characters, keep those present in Win1252 + +will output: + + ???????? + šž + ceeišuuž + Install via composer: ===================== diff --git a/vendor/neitanod/forceutf8/composer.json b/vendor/neitanod/forceutf8/composer.json index aff71afaa..358473149 100644 --- a/vendor/neitanod/forceutf8/composer.json +++ b/vendor/neitanod/forceutf8/composer.json @@ -1,6 +1,7 @@ { "name": "neitanod/forceutf8", "homepage": "https://github.com/neitanod/forceutf8", + "license": "BSD-3-Clause", "type": "library", "description": "PHP Class Encoding featuring popular Encoding::toUTF8() function --formerly known as forceUTF8()-- that fixes mixed encoded strings.", "require": { diff --git a/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php b/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php index 653057677..7801ebcac 100644 --- a/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php +++ b/vendor/neitanod/forceutf8/src/ForceUTF8/Encoding.php @@ -183,14 +183,14 @@ class Encoding { $text[$k] = self::toUTF8($v); } return $text; - } - + } + if(!is_string($text)) { return $text; } - + $max = self::strlen($text); - + $buf = ""; for($i = 0; $i < $max; $i++){ $c1 = $text{$i}; @@ -258,12 +258,12 @@ class Encoding { } } - static function toISO8859($text) { - return self::toWin1252($text); + static function toISO8859($text, $option = self::WITHOUT_ICONV) { + return self::toWin1252($text, $option); } - static function toLatin1($text) { - return self::toWin1252($text); + static function toLatin1($text, $option = self::WITHOUT_ICONV) { + return self::toWin1252($text, $option); } static function fixUTF8($text, $option = self::WITHOUT_ICONV){ @@ -274,6 +274,10 @@ class Encoding { return $text; } + if(!is_string($text)) { + return $text; + } + $last = ""; while($last <> $text){ $last = $text; @@ -333,7 +337,7 @@ class Encoding { return self::toUTF8($text); } - protected static function utf8_decode($text, $option) + protected static function utf8_decode($text, $option = self::WITHOUT_ICONV) { if ($option == self::WITHOUT_ICONV || !function_exists('iconv')) { $o = utf8_decode( diff --git a/vendor/nicolaslopezj/searchable/src/SearchableTrait.php b/vendor/nicolaslopezj/searchable/src/SearchableTrait.php index aa9ac01ad..e8b8ed33b 100644 --- a/vendor/nicolaslopezj/searchable/src/SearchableTrait.php +++ b/vendor/nicolaslopezj/searchable/src/SearchableTrait.php @@ -85,7 +85,7 @@ trait SearchableTrait // Default the threshold if no value was passed. if (is_null($threshold)) { - $threshold = $relevance_count / 4; + $threshold = $relevance_count / count($this->getColumns()); } if (!empty($selects)) { diff --git a/vendor/nikic/php-parser/.travis.yml b/vendor/nikic/php-parser/.travis.yml index 989d7a049..ee8eba99c 100644 --- a/vendor/nikic/php-parser/.travis.yml +++ b/vendor/nikic/php-parser/.travis.yml @@ -23,7 +23,7 @@ matrix: script: - if [ $TRAVIS_PHP_VERSION = '7.0' ]; then vendor/bin/phpunit --coverage-clover build/logs/clover.xml; else vendor/bin/phpunit; fi - - if [ $TRAVIS_PHP_VERSION = '7.1' ]; then test_old/run-php-src.sh; fi + - if [ $TRAVIS_PHP_VERSION = '7.2' ]; then test_old/run-php-src.sh; fi after_success: - if [ $TRAVIS_PHP_VERSION = '7.0' ]; then php vendor/bin/coveralls; fi diff --git a/vendor/nikic/php-parser/CHANGELOG.md b/vendor/nikic/php-parser/CHANGELOG.md index facd57192..4a3f0063f 100644 --- a/vendor/nikic/php-parser/CHANGELOG.md +++ b/vendor/nikic/php-parser/CHANGELOG.md @@ -1,8 +1,43 @@ -Version 4.0.4-dev +Version 4.1.1-dev ----------------- Nothing yet. +Version 4.1.0 (2018-10-10) +-------------------------- + +### Added + +* Added support for PHP 7.3 flexible heredoc/nowdoc strings, completing support for PHP 7.3. There + are two caveats for this feature: + * In some rare, pathological cases flexible heredoc/nowdoc strings change the interpretation of + existing doc strings. PHP-Parser will now use the new interpretation. + * Flexible heredoc/nowdoc strings require special support from the lexer. Because this is not + available on PHP versions before 7.3, support has to be emulated. This emulation is not perfect + and some cases which we do not expect to occur in practice (such as flexible doc strings being + nested within each other through abuse of variable-variable interpolation syntax) may not be + recognized correctly. +* Added `DONT_TRAVERSER_CURRENT_AND_CHILDREN` to `NodeTraverser` to skip both traversal of child + nodes, and prevent subsequent visitors from visiting the current node. + +Version 4.0.4 (2018-09-18) +-------------------------- + +### Added + +* The following methods have been added to `BuilderFactory`: + * `useTrait()` (fluent builder) + * `traitUseAdaptation()` (fluent builder) + * `useFunction()` (fluent builder) + * `useConst()` (fluent builder) + * `var()` + * `propertyFetch()` + +### Deprecated + +* `Builder\Param::setTypeHint()` has been deprecated in favor of the newly introduced + `Builder\Param::setType()`. + Version 4.0.3 (2018-07-15) -------------------------- diff --git a/vendor/nikic/php-parser/README.md b/vendor/nikic/php-parser/README.md index 7b1fedabb..5ae789f9a 100644 --- a/vendor/nikic/php-parser/README.md +++ b/vendor/nikic/php-parser/README.md @@ -6,9 +6,9 @@ PHP Parser This is a PHP 5.2 to PHP 7.2 parser written in PHP. Its purpose is to simplify static code analysis and manipulation. -[**Documentation for version 4.x**][doc_master] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 7.2). +[**Documentation for version 4.x**][doc_master] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 7.3). -[Documentation for version 3.x][doc_3_x] (stable; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2). +[Documentation for version 3.x][doc_3_x] (unsupported; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2). Features -------- diff --git a/vendor/nikic/php-parser/bin/php-parse b/vendor/nikic/php-parser/bin/php-parse old mode 100644 new mode 100755 diff --git a/vendor/nikic/php-parser/composer.json b/vendor/nikic/php-parser/composer.json index 7ae425ff7..12e8458a4 100644 --- a/vendor/nikic/php-parser/composer.json +++ b/vendor/nikic/php-parser/composer.json @@ -24,7 +24,7 @@ "bin": ["bin/php-parse"], "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "4.1-dev" } } } diff --git a/vendor/nikic/php-parser/doc/component/AST_builders.markdown b/vendor/nikic/php-parser/doc/component/AST_builders.markdown index 5597e2a41..4f338f6ea 100644 --- a/vendor/nikic/php-parser/doc/component/AST_builders.markdown +++ b/vendor/nikic/php-parser/doc/component/AST_builders.markdown @@ -28,16 +28,26 @@ use PhpParser\Node; $factory = new BuilderFactory; $node = $factory->namespace('Name\Space') - ->addStmt($factory->use('Some\Other\Thingy')->as('SomeOtherClass')) + ->addStmt($factory->use('Some\Other\Thingy')->as('SomeClass')) + ->addStmt($factory->useFunction('strlen')) + ->addStmt($factory->useConst('PHP_VERSION')) ->addStmt($factory->class('SomeOtherClass') ->extend('SomeClass') ->implement('A\Few', '\Interfaces') ->makeAbstract() // ->makeFinal() + ->addStmt($factory->useTrait('FirstTrait')) + + ->addStmt($factory->useTrait('SecondTrait', 'ThirdTrait') + ->and('AnotherTrait') + ->with($factory->traitUseAdaptation('foo')->as('bar')) + ->with($factory->traitUseAdaptation('AnotherTrait', 'baz')->as('test')) + ->with($factory->traitUseAdaptation('AnotherTrait', 'func')->insteadof('SecondTrait'))) + ->addStmt($factory->method('someMethod') ->makePublic() ->makeAbstract() // ->makeFinal() - ->setReturnType('bool') + ->setReturnType('bool') // ->makeReturnByRef() ->addParam($factory->param('someParam')->setTypeHint('SomeClass')) ->setDocComment('/** * This method does something. @@ -74,8 +84,16 @@ This will produce the following output with the standard pretty printer: namespace Name\Space; use Some\Other\Thingy as SomeClass; +use function strlen; +use const PHP_VERSION; abstract class SomeOtherClass extends SomeClass implements A\Few, \Interfaces { + use FirstTrait; + use SecondTrait, ThirdTrait, AnotherTrait { + foo as bar; + AnotherTrait::baz as test; + AnotherTrait::func insteadof SecondTrait; + } protected $someProperty; private $anotherProperty = array(1, 2, 3); /** @@ -98,6 +116,7 @@ The `BuilderFactory` also provides a number of additional helper methods, which nodes. The following methods are currently available: * `val($value)`: Creates an AST node for a literal value like `42` or `[1, 2, 3]`. + * `var($name)`: Creates variable node. * `args(array $args)`: Creates an array of function/method arguments, including the required `Arg` wrappers. Also converts literals to AST nodes. * `funcCall($name, array $args = [])`: Create a function call node. Converts `$name` to a `Name` @@ -111,7 +130,9 @@ nodes. The following methods are currently available: * `constFetch($name)`: Create a constant fetch node. Converts `$name` to a `Name` node. * `classConstFetch($class, $name)`: Create a class constant fetch node. Converts `$class` to a `Name` node and `$name` to an `Identifier` node. + * `propertyFetch($var, $name)`: Creates a property fetch node. Converts `$name` to an `Identifier` + node. * `concat(...$exprs)`: Create a tree of `BinaryOp\Concat` nodes for the given expressions. These methods may be expanded on an as-needed basis. Please open an issue or PR if a common -operation is missing. \ No newline at end of file +operation is missing. diff --git a/vendor/nikic/php-parser/grammar/php5.y b/vendor/nikic/php-parser/grammar/php5.y index 486d836c8..abc5cedfa 100644 --- a/vendor/nikic/php-parser/grammar/php5.y +++ b/vendor/nikic/php-parser/grammar/php5.y @@ -791,11 +791,9 @@ common_scalar: | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - $$ = new Scalar\String_(Scalar\String_::parseDocString($1, $2, false), $attrs); } + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), false); } | T_START_HEREDOC T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - $$ = new Scalar\String_('', $attrs); } + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), false); } ; static_scalar: @@ -856,8 +854,7 @@ scalar: { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } | T_START_HEREDOC encaps_list T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - parseEncapsedDoc($2, true); $$ = new Scalar\Encapsed($2, $attrs); } + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } ; static_array_pair_list: diff --git a/vendor/nikic/php-parser/grammar/php7.y b/vendor/nikic/php-parser/grammar/php7.y index ba203284b..f7d32ef4b 100644 --- a/vendor/nikic/php-parser/grammar/php7.y +++ b/vendor/nikic/php-parser/grammar/php7.y @@ -847,17 +847,14 @@ scalar: | dereferencable_scalar { $$ = $1; } | constant { $$ = $1; } | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - $$ = new Scalar\String_(Scalar\String_::parseDocString($1, $2), $attrs); } + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } | T_START_HEREDOC T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - $$ = new Scalar\String_('', $attrs); } + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), true); } | '"' encaps_list '"' { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } | T_START_HEREDOC encaps_list T_END_HEREDOC - { $attrs = attributes(); setDocStringAttrs($attrs, $1); - parseEncapsedDoc($2, true); $$ = new Scalar\Encapsed($2, $attrs); } + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } ; optional_expr: diff --git a/vendor/nikic/php-parser/grammar/rebuildParsers.php b/vendor/nikic/php-parser/grammar/rebuildParsers.php index 3be5edb64..1882d5fe5 100644 --- a/vendor/nikic/php-parser/grammar/rebuildParsers.php +++ b/vendor/nikic/php-parser/grammar/rebuildParsers.php @@ -166,15 +166,6 @@ function resolveMacros($code) { . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }'; } - if ('parseEncapsedDoc' == $name) { - assertArgs(2, $args, $name); - - return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {' - . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, ' . $args[1] . '); } }' - . ' $s->value = preg_replace(\'~(\r\n|\n|\r)\z~\', \'\', $s->value);' - . ' if (\'\' === $s->value) array_pop(' . $args[0] . ');'; - } - if ('makeNop' == $name) { assertArgs(3, $args, $name); @@ -192,15 +183,6 @@ function resolveMacros($code) { . '? Scalar\String_::KIND_SINGLE_QUOTED : Scalar\String_::KIND_DOUBLE_QUOTED)'; } - if ('setDocStringAttrs' == $name) { - assertArgs(2, $args, $name); - - return $args[0] . '[\'kind\'] = strpos(' . $args[1] . ', "\'") === false ' - . '? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; ' - . 'preg_match(\'/\A[bB]?<<<[ \t]*[\\\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\\\'"]?(?:\r\n|\n|\r)\z/\', ' . $args[1] . ', $matches); ' - . $args[0] . '[\'docLabel\'] = $matches[1];'; - } - if ('prependLeadingComments' == $name) { assertArgs(1, $args, $name); diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php index eff76cb45..184813a65 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php @@ -42,13 +42,13 @@ class Param implements PhpParser\Builder } /** - * Sets type hint for the parameter. + * Sets type for the parameter. * - * @param string|Node\Name|Node\NullableType $type Type hint to use + * @param string|Node\Name|Node\NullableType $type Parameter type * * @return $this The builder instance (for fluid interface) */ - public function setTypeHint($type) { + public function setType($type) { $this->type = BuilderHelpers::normalizeType($type); if ($this->type == 'void') { throw new \LogicException('Parameter type cannot be void'); @@ -57,6 +57,19 @@ class Param implements PhpParser\Builder return $this; } + /** + * Sets type for the parameter. + * + * @param string|Node\Name|Node\NullableType $type Parameter type + * + * @return $this The builder instance (for fluid interface) + * + * @deprecated Use setType() instead + */ + public function setTypeHint($type) { + return $this->setType($type); + } + /** * Make the parameter accept the value by reference. * diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php new file mode 100644 index 000000000..311e8cd7b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php @@ -0,0 +1,64 @@ +and($trait); + } + } + + /** + * Adds used trait. + * + * @param Node\Name|string $trait Trait name + * + * @return $this The builder instance (for fluid interface) + */ + public function and($trait) { + $this->traits[] = BuilderHelpers::normalizeName($trait); + return $this; + } + + /** + * Adds trait adaptation. + * + * @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation + * + * @return $this The builder instance (for fluid interface) + */ + public function with($adaptation) { + $adaptation = BuilderHelpers::normalizeNode($adaptation); + + if (!$adaptation instanceof Stmt\TraitUseAdaptation) { + throw new \LogicException('Adaptation must have type TraitUseAdaptation'); + } + + $this->adaptations[] = $adaptation; + return $this; + } + + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() : Node { + return new Stmt\TraitUse($this->traits, $this->adaptations); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php new file mode 100644 index 000000000..eb6c0b622 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php @@ -0,0 +1,148 @@ +type = self::TYPE_UNDEFINED; + + $this->trait = is_null($trait)? null: BuilderHelpers::normalizeName($trait); + $this->method = BuilderHelpers::normalizeIdentifier($method); + } + + /** + * Sets alias of method. + * + * @param Node\Identifier|string $alias Alias for adaptated method + * + * @return $this The builder instance (for fluid interface) + */ + public function as($alias) { + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set alias for not alias adaptation buider'); + } + + $this->alias = $alias; + return $this; + } + + /** + * Sets adaptated method public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->setModifier(Stmt\Class_::MODIFIER_PUBLIC); + return $this; + } + + /** + * Sets adaptated method protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->setModifier(Stmt\Class_::MODIFIER_PROTECTED); + return $this; + } + + /** + * Sets adaptated method private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->setModifier(Stmt\Class_::MODIFIER_PRIVATE); + return $this; + } + + /** + * Adds overwritten traits. + * + * @param Node\Name|string ...$traits Traits for overwrite + * + * @return $this The builder instance (for fluid interface) + */ + public function insteadof(...$traits) { + if ($this->type === self::TYPE_UNDEFINED) { + if (is_null($this->trait)) { + throw new \LogicException('Precedence adaptation must have trait'); + } + + $this->type = self::TYPE_PRECEDENCE; + } + + if ($this->type !== self::TYPE_PRECEDENCE) { + throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider'); + } + + foreach ($traits as $trait) { + $this->insteadof[] = BuilderHelpers::normalizeName($trait); + } + + return $this; + } + + protected function setModifier(int $modifier) { + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set access modifier for not alias adaptation buider'); + } + + if (is_null($this->modifier)) { + $this->modifier = $modifier; + } else { + throw new \LogicException('Multiple access type modifiers are not allowed'); + } + } + + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() : Node { + switch ($this->type) { + case self::TYPE_ALIAS: + return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); + case self::TYPE_PRECEDENCE: + return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); + default: + throw new \LogicException('Type of adaptation is not defined'); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php index ee8555899..77d282e01 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php @@ -57,6 +57,34 @@ class BuilderFactory return new Builder\Trait_($name); } + /** + * Creates a trait use builder. + * + * @param Node\Name|string ...$traits Trait names + * + * @return Builder\TraitUse The create trait use builder + */ + public function useTrait(...$traits) : Builder\TraitUse { + return new Builder\TraitUse(...$traits); + } + + /** + * Creates a trait use adaptation builder. + * + * @param Node\Name|string|null $trait Trait name + * @param Node\Identifier|string $method Method name + * + * @return Builder\TraitUseAdaptation The create trait use adaptation builder + */ + public function traitUseAdaptation($trait, $method = null) : Builder\TraitUseAdaptation { + if (is_null($method)) { + $method = $trait; + $trait = null; + } + + return new Builder\TraitUseAdaptation($trait, $method); + } + /** * Creates a method builder. * @@ -104,14 +132,36 @@ class BuilderFactory /** * Creates a namespace/class use builder. * - * @param string|Node\Name $name Name to alias + * @param Node\Name|string $name Name of the entity (namespace or class) to alias * - * @return Builder\Use_ The create use builder + * @return Builder\Use_ The created use builder */ public function use($name) : Builder\Use_ { return new Builder\Use_($name, Use_::TYPE_NORMAL); } + /** + * Creates a function use builder. + * + * @param Node\Name|string $name Name of the function to alias + * + * @return Builder\Use_ The created use function builder + */ + public function useFunction($name) : Builder\Use_ { + return new Builder\Use_($name, Use_::TYPE_FUNCTION); + } + + /** + * Creates a constant use builder. + * + * @param Node\Name|string $name Name of the const to alias + * + * @return Builder\Use_ The created use const builder + */ + public function useConst($name) : Builder\Use_ { + return new Builder\Use_($name, Use_::TYPE_CONSTANT); + } + /** * Creates node a for a literal value. * @@ -123,6 +173,21 @@ class BuilderFactory return BuilderHelpers::normalizeValue($value); } + /** + * Creates variable node. + * + * @param string|Expr $name Name + * + * @return Expr\Variable + */ + public function var($name) : Expr\Variable { + if (!\is_string($name) && !$name instanceof Expr) { + throw new \LogicException('Variable name must be string or Expr'); + } + + return new Expr\Variable($name); + } + /** * Normalizes an argument list. * @@ -218,6 +283,18 @@ class BuilderFactory public function constFetch($name) : Expr\ConstFetch { return new Expr\ConstFetch(BuilderHelpers::normalizeName($name)); } + + /** + * Creates a property fetch node. + * + * @param Expr $var Variable holding object + * @param string|Identifier|Expr $name Property name + * + * @return Expr\PropertyFetch + */ + public function propertyFetch(Expr $var, $name) : Expr\PropertyFetch { + return new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name)); + } /** * Creates a class constant fetch node. diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php index d5ae1792d..790e8877e 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php @@ -71,7 +71,7 @@ final class BuilderHelpers return new Identifier($name); } - throw new \LogicException('Expected string or instance of Node\Identifier or Node\Expr'); + throw new \LogicException('Expected string or instance of Node\Identifier'); } /** diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php index 647aaa34c..b62d79cc4 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php @@ -2,7 +2,202 @@ namespace PhpParser\Lexer; +use PhpParser\Error; +use PhpParser\ErrorHandler; + class Emulative extends \PhpParser\Lexer { - /* No features requiring emulation have been added in PHP > 7.0 */ -} + const PHP_7_3 = '7.3.0dev'; + + /** + * @var array Patches used to reverse changes introduced in the code + */ + private $patches; + + public function startLexing(string $code, ErrorHandler $errorHandler = null) { + $this->patches = []; + $preparedCode = $this->prepareCode($code); + if (null === $preparedCode) { + // Nothing to emulate, yay + parent::startLexing($code, $errorHandler); + return; + } + + $collector = new ErrorHandler\Collecting(); + parent::startLexing($preparedCode, $collector); + $this->fixupTokens(); + + $errors = $collector->getErrors(); + if (!empty($errors)) { + $this->fixupErrors($errors); + foreach ($errors as $error) { + $errorHandler->handleError($error); + } + } + } + + /** + * Prepares code for emulation. If nothing has to be emulated null is returned. + * + * @param string $code + * @return null|string + */ + private function prepareCode(string $code) { + if (version_compare(\PHP_VERSION, self::PHP_7_3, '>=')) { + return null; + } + + if (strpos($code, '<<<') === false) { + // Definitely doesn't contain heredoc/nowdoc + return null; + } + + $flexibleDocStringRegex = <<<'REGEX' +/<<<[ \t]*(['"]?)([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)\1\r?\n +(?:.*\r?\n)*? +(?\h*)\2(?![a-zA-Z_\x80-\xff])(?(?:;?[\r\n])?)/x +REGEX; + if (!preg_match_all($flexibleDocStringRegex, $code, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE)) { + // No heredoc/nowdoc found + return null; + } + + // Keep track of how much we need to adjust string offsets due to the modifications we + // already made + $posDelta = 0; + foreach ($matches as $match) { + $indentation = $match['indentation'][0]; + $indentationStart = $match['indentation'][1]; + + $separator = $match['separator'][0]; + $separatorStart = $match['separator'][1]; + + if ($indentation === '' && $separator !== '') { + // Ordinary heredoc/nowdoc + continue; + } + + if ($indentation !== '') { + // Remove indentation + $indentationLen = strlen($indentation); + $code = substr_replace($code, '', $indentationStart + $posDelta, $indentationLen); + $this->patches[] = [$indentationStart + $posDelta, 'add', $indentation]; + $posDelta -= $indentationLen; + } + + if ($separator === '') { + // Insert newline as separator + $code = substr_replace($code, "\n", $separatorStart + $posDelta, 0); + $this->patches[] = [$separatorStart + $posDelta, 'remove', "\n"]; + $posDelta += 1; + } + } + + if (empty($this->patches)) { + // We did not end up emulating anything + return null; + } + + return $code; + } + + private function fixupTokens() { + assert(count($this->patches) > 0); + + // Load first patch + $patchIdx = 0; + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + + // We use a manual loop over the tokens, because we modify the array on the fly + $pos = 0; + for ($i = 0, $c = \count($this->tokens); $i < $c; $i++) { + $token = $this->tokens[$i]; + if (\is_string($token)) { + // We assume that patches don't apply to string tokens + $pos += \strlen($token); + continue; + } + + $len = \strlen($token[1]); + $posDelta = 0; + while ($patchPos >= $pos && $patchPos < $pos + $len) { + $patchTextLen = \strlen($patchText); + if ($patchType === 'remove') { + if ($patchPos === $pos && $patchTextLen === $len) { + // Remove token entirely + array_splice($this->tokens, $i, 1, []); + $i--; + $c--; + } else { + // Remove from token string + $this->tokens[$i][1] = substr_replace( + $token[1], '', $patchPos - $pos + $posDelta, $patchTextLen + ); + $posDelta -= $patchTextLen; + } + } elseif ($patchType === 'add') { + // Insert into the token string + $this->tokens[$i][1] = substr_replace( + $token[1], $patchText, $patchPos - $pos + $posDelta, 0 + ); + $posDelta += $patchTextLen; + } else { + assert(false); + } + + // Fetch the next patch + $patchIdx++; + if ($patchIdx >= \count($this->patches)) { + // No more patches, we're done + return; + } + + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + + // Multiple patches may apply to the same token. Reload the current one to check + // If the new patch applies + $token = $this->tokens[$i]; + } + + $pos += $len; + } + + // A patch did not apply + assert(false); + } + + /** + * Fixup line and position information in errors. + * + * @param Error[] $errors + */ + private function fixupErrors(array $errors) { + foreach ($errors as $error) { + $attrs = $error->getAttributes(); + + $posDelta = 0; + $lineDelta = 0; + foreach ($this->patches as $patch) { + list($patchPos, $patchType, $patchText) = $patch; + if ($patchPos >= $attrs['startFilePos']) { + // No longer relevant + break; + } + + if ($patchType === 'add') { + $posDelta += strlen($patchText); + $lineDelta += substr_count($patchText, "\n"); + } else { + $posDelta -= strlen($patchText); + $lineDelta -= substr_count($patchText, "\n"); + } + } + + $attrs['startFilePos'] += $posDelta; + $attrs['endFilePos'] += $posDelta; + $attrs['startLine'] += $lineDelta; + $attrs['endLine'] += $lineDelta; + $error->setAttributes($attrs); + } + } +} \ No newline at end of file diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php index 5dc2d3161..e467c2219 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php @@ -10,7 +10,7 @@ class StaticCall extends Expr { /** @var Node\Name|Expr Class name */ public $class; - /** @var string|Identifier|Expr Method name */ + /** @var Identifier|Expr Method name */ public $name; /** @var Node\Arg[] Arguments */ public $args; diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php index 93a8633de..cf12e8c6d 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php @@ -134,29 +134,6 @@ class String_ extends Scalar } throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large'); } - - /** - * @internal - * - * Parses a constant doc string. - * - * @param string $startToken Doc string start token content (<<visitors = []; + // for BC } /** @@ -111,7 +117,9 @@ class NodeTraverser implements NodeTraverserInterface } } elseif ($subNode instanceof Node) { $traverseChildren = true; - foreach ($this->visitors as $visitor) { + $breakVisitorIndex = null; + + foreach ($this->visitors as $visitorIndex => $visitor) { $return = $visitor->enterNode($subNode); if (null !== $return) { if ($return instanceof Node) { @@ -119,6 +127,10 @@ class NodeTraverser implements NodeTraverserInterface $subNode = $return; } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { $traverseChildren = false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = false; + $breakVisitorIndex = $visitorIndex; + break; } elseif (self::STOP_TRAVERSAL === $return) { $this->stopTraversal = true; break 2; @@ -137,8 +149,9 @@ class NodeTraverser implements NodeTraverserInterface } } - foreach ($this->visitors as $visitor) { + foreach ($this->visitors as $visitorIndex => $visitor) { $return = $visitor->leaveNode($subNode); + if (null !== $return) { if ($return instanceof Node) { $this->ensureReplacementReasonable($subNode, $return); @@ -157,6 +170,10 @@ class NodeTraverser implements NodeTraverserInterface ); } } + + if ($breakVisitorIndex === $visitorIndex) { + break; + } } } } @@ -177,7 +194,9 @@ class NodeTraverser implements NodeTraverserInterface foreach ($nodes as $i => &$node) { if ($node instanceof Node) { $traverseChildren = true; - foreach ($this->visitors as $visitor) { + $breakVisitorIndex = null; + + foreach ($this->visitors as $visitorIndex => $visitor) { $return = $visitor->enterNode($node); if (null !== $return) { if ($return instanceof Node) { @@ -185,6 +204,10 @@ class NodeTraverser implements NodeTraverserInterface $node = $return; } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { $traverseChildren = false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = false; + $breakVisitorIndex = $visitorIndex; + break; } elseif (self::STOP_TRAVERSAL === $return) { $this->stopTraversal = true; break 2; @@ -203,8 +226,9 @@ class NodeTraverser implements NodeTraverserInterface } } - foreach ($this->visitors as $visitor) { + foreach ($this->visitors as $visitorIndex => $visitor) { $return = $visitor->leaveNode($node); + if (null !== $return) { if ($return instanceof Node) { $this->ensureReplacementReasonable($node, $return); @@ -229,6 +253,10 @@ class NodeTraverser implements NodeTraverserInterface ); } } + + if ($breakVisitorIndex === $visitorIndex) { + break; + } } } elseif (\is_array($node)) { throw new \LogicException('Invalid node structure: Contains nested arrays'); diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php index b5ebb3273..4da2dc979 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php @@ -2264,12 +2264,10 @@ class Php5 extends \PhpParser\ParserAbstract $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 436 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; - $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], false), $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); }, 437 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; - $this->semValue = new Scalar\String_('', $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); }, 438 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2405,8 +2403,7 @@ class Php5 extends \PhpParser\ParserAbstract foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, 482 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 483 => function ($stackPos) { $this->semValue = array(); diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php index 24ce4d14b..768da7217 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php @@ -2201,20 +2201,17 @@ class Php7 extends \PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 445 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; - $this->semValue = new Scalar\String_(Scalar\String_::parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)]), $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 446 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(2-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(2-1)], $matches); $attrs['docLabel'] = $matches[1];; - $this->semValue = new Scalar\String_('', $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); }, 447 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, 448 => function ($stackPos) { - $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = strpos($this->semStack[$stackPos-(3-1)], "'") === false ? Scalar\String_::KIND_HEREDOC : Scalar\String_::KIND_NOWDOC; preg_match('/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/', $this->semStack[$stackPos-(3-1)], $matches); $attrs['docLabel'] = $matches[1];; - foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, true); } } $s->value = preg_replace('~(\r\n|\n|\r)\z~', '', $s->value); if ('' === $s->value) array_pop($this->semStack[$stackPos-(3-2)]);; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 449 => function ($stackPos) { $this->semValue = null; diff --git a/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php index dab6aea7a..8b7bba83f 100644 --- a/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +++ b/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php @@ -9,6 +9,7 @@ namespace PhpParser; use PhpParser\Node\Expr; use PhpParser\Node\Name; use PhpParser\Node\Param; +use PhpParser\Node\Scalar\Encapsed; use PhpParser\Node\Scalar\LNumber; use PhpParser\Node\Scalar\String_; use PhpParser\Node\Stmt\Class_; @@ -710,6 +711,119 @@ abstract class ParserAbstract implements Parser return new LNumber($num, $attributes); } + protected function stripIndentation( + string $string, int $indentLen, string $indentChar, + bool $newlineAtStart, bool $newlineAtEnd, array $attributes + ) { + if ($indentLen === 0) { + return $string; + } + + $start = $newlineAtStart ? '(?:(?<=\n)|\A)' : '(?<=\n)'; + $end = $newlineAtEnd ? '(?:(?=[\r\n])|\z)' : '(?=[\r\n])'; + $regex = '/' . $start . '([ \t]*)(' . $end . ')?/'; + return preg_replace_callback( + $regex, + function ($matches) use ($indentLen, $indentChar, $attributes) { + $prefix = substr($matches[1], 0, $indentLen); + if (false !== strpos($prefix, $indentChar === " " ? "\t" : " ")) { + $this->emitError(new Error( + 'Invalid indentation - tabs and spaces cannot be mixed', $attributes + )); + } elseif (strlen($prefix) < $indentLen && !isset($matches[2])) { + $this->emitError(new Error( + 'Invalid body indentation level ' . + '(expecting an indentation level of at least ' . $indentLen . ')', + $attributes + )); + } + return substr($matches[0], strlen($prefix)); + }, + $string + ); + } + + protected function parseDocString( + string $startToken, $contents, string $endToken, + array $attributes, array $endTokenAttributes, bool $parseUnicodeEscape + ) { + $kind = strpos($startToken, "'") === false + ? String_::KIND_HEREDOC : String_::KIND_NOWDOC; + + $regex = '/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/'; + $result = preg_match($regex, $startToken, $matches); + assert($result === 1); + $label = $matches[1]; + + $result = preg_match('/\A[ \t]*/', $endToken, $matches); + assert($result === 1); + $indentation = $matches[0]; + + $attributes['kind'] = $kind; + $attributes['docLabel'] = $label; + $attributes['docIndentation'] = $indentation; + + $indentHasSpaces = false !== strpos($indentation, " "); + $indentHasTabs = false !== strpos($indentation, "\t"); + if ($indentHasSpaces && $indentHasTabs) { + $this->emitError(new Error( + 'Invalid indentation - tabs and spaces cannot be mixed', + $endTokenAttributes + )); + + // Proceed processing as if this doc string is not indented + $indentation = ''; + } + + $indentLen = \strlen($indentation); + $indentChar = $indentHasSpaces ? " " : "\t"; + + if (\is_string($contents)) { + if ($contents === '') { + return new String_('', $attributes); + } + + $contents = $this->stripIndentation( + $contents, $indentLen, $indentChar, true, true, $attributes + ); + $contents = preg_replace('~(\r\n|\n|\r)\z~', '', $contents); + + if ($kind === String_::KIND_HEREDOC) { + $contents = String_::parseEscapeSequences($contents, null, $parseUnicodeEscape); + } + + return new String_($contents, $attributes); + } else { + assert(count($contents) > 0); + if (!$contents[0] instanceof Node\Scalar\EncapsedStringPart) { + // If there is no leading encapsed string part, pretend there is an empty one + $this->stripIndentation( + '', $indentLen, $indentChar, true, false, $contents[0]->getAttributes() + ); + } + + $newContents = []; + foreach ($contents as $i => $part) { + if ($part instanceof Node\Scalar\EncapsedStringPart) { + $isLast = $i === \count($contents) - 1; + $part->value = $this->stripIndentation( + $part->value, $indentLen, $indentChar, + $i === 0, $isLast, $part->getAttributes() + ); + $part->value = String_::parseEscapeSequences($part->value, null, $parseUnicodeEscape); + if ($isLast) { + $part->value = preg_replace('~(\r\n|\n|\r)\z~', '', $part->value); + } + if ('' === $part->value) { + continue; + } + } + $newContents[] = $part; + } + return new Encapsed($newContents, $attributes); + } + } + protected function checkModifier($a, $b, $modifierPos) { // Jumping through some hoops here because verifyModifier() is also used elsewhere try { diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php index fe324d766..27d911b0e 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php @@ -123,39 +123,31 @@ DOC; ); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Unexpected node of type "Stmt_Echo" - */ public function testInvalidStmtError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Unexpected node of type "Stmt_Echo"'); $this->createClassBuilder('Test') ->addStmt(new Stmt\Echo_([])) ; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Doc comment must be a string or an instance of PhpParser\Comment\Doc - */ public function testInvalidDocComment() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Doc comment must be a string or an instance of PhpParser\Comment\Doc'); $this->createClassBuilder('Test') ->setDocComment(new Comment('Test')); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Name cannot be empty - */ public function testEmptyName() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Name cannot be empty'); $this->createClassBuilder('Test') ->extend(''); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Name must be a string or an instance of Node\Name - */ public function testInvalidName() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Name must be a string or an instance of Node\Name'); $this->createClassBuilder('Test') ->extend(['Foo']); } diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php index a2c621922..b7413e1fd 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php @@ -92,29 +92,23 @@ class FunctionTest extends TestCase ], []), $node); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage void type cannot be nullable - */ public function testInvalidNullableVoidType() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('void type cannot be nullable'); $this->createFunctionBuilder('test')->setReturnType('?void'); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected parameter node, got "Name" - */ public function testInvalidParamError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected parameter node, got "Name"'); $this->createFunctionBuilder('test') ->addParam(new Node\Name('foo')) ; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected statement or expression node - */ public function testAddNonStmt() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected statement or expression node'); $this->createFunctionBuilder('test') ->addStmt(new Node\Name('Test')); } diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php index 2c926b605..3ea3533c7 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php @@ -79,11 +79,9 @@ class InterfaceTest extends TestCase ]), $node); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Unexpected node of type "Stmt_PropertyProperty" - */ public function testInvalidStmtError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Unexpected node of type "Stmt_PropertyProperty"'); $this->builder->addStmt(new Stmt\PropertyProperty('invalid')); } diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php index 0decbed0d..141967903 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php @@ -135,33 +135,27 @@ class MethodTest extends TestCase ], []), $node); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Cannot add statements to an abstract method - */ public function testAddStmtToAbstractMethodError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot add statements to an abstract method'); $this->createMethodBuilder('test') ->makeAbstract() ->addStmt(new Print_(new String_('test'))) ; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Cannot make method with statements abstract - */ public function testMakeMethodWithStmtsAbstractError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot make method with statements abstract'); $this->createMethodBuilder('test') ->addStmt(new Print_(new String_('test'))) ->makeAbstract() ; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected parameter node, got "Name" - */ public function testInvalidParamError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected parameter node, got "Name"'); $this->createMethodBuilder('test') ->addParam(new Node\Name('foo')) ; diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php index d33189212..9ed283b7a 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php @@ -80,9 +80,9 @@ class ParamTest extends TestCase } /** - * @dataProvider provideTestTypeHints + * @dataProvider provideTestTypes */ - public function testTypeHints($typeHint, $expectedType) { + public function testTypes($typeHint, $expectedType) { $node = $this->createParamBuilder('test') ->setTypeHint($typeHint) ->getNode() @@ -100,7 +100,7 @@ class ParamTest extends TestCase $this->assertEquals($expectedType, $type); } - public function provideTestTypeHints() { + public function provideTestTypes() { return [ ['array', new Node\Identifier('array')], ['callable', new Node\Identifier('callable')], @@ -129,20 +129,16 @@ class ParamTest extends TestCase ]; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Parameter type cannot be void - */ public function testVoidTypeError() { - $this->createParamBuilder('test')->setTypeHint('void'); + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Parameter type cannot be void'); + $this->createParamBuilder('test')->setType('void'); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Type must be a string, or an instance of Name, Identifier or NullableType - */ public function testInvalidTypeError() { - $this->createParamBuilder('test')->setTypeHint(new \stdClass); + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Type must be a string, or an instance of Name, Identifier or NullableType'); + $this->createParamBuilder('test')->setType(new \stdClass); } public function testByRef() { diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php index 666769dc3..31535b2c3 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php @@ -37,11 +37,9 @@ class TraitTest extends TestCase ]), $trait); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Unexpected node of type "Stmt_Echo" - */ public function testInvalidStmtError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Unexpected node of type "Stmt_Echo"'); $this->createTraitBuilder('Test') ->addStmt(new Stmt\Echo_([])) ; diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseAdaptationTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseAdaptationTest.php new file mode 100644 index 000000000..18f00b9d8 --- /dev/null +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseAdaptationTest.php @@ -0,0 +1,109 @@ +createTraitUseAdaptationBuilder(null, 'foo'); + + $this->assertEquals( + new Stmt\TraitUseAdaptation\Alias(null, 'foo', null, 'bar'), + (clone $builder)->as('bar')->getNode() + ); + + $this->assertEquals( + new Stmt\TraitUseAdaptation\Alias(null, 'foo', Class_::MODIFIER_PUBLIC, null), + (clone $builder)->makePublic()->getNode() + ); + + $this->assertEquals( + new Stmt\TraitUseAdaptation\Alias(null, 'foo', Class_::MODIFIER_PROTECTED, null), + (clone $builder)->makeProtected()->getNode() + ); + + $this->assertEquals( + new Stmt\TraitUseAdaptation\Alias(null, 'foo', Class_::MODIFIER_PRIVATE, null), + (clone $builder)->makePrivate()->getNode() + ); + } + + public function testInsteadof() { + $node = $this->createTraitUseAdaptationBuilder('SomeTrait', 'foo') + ->insteadof('AnotherTrait') + ->getNode() + ; + + $this->assertEquals( + new Stmt\TraitUseAdaptation\Precedence( + new Name('SomeTrait'), + 'foo', + [new Name('AnotherTrait')] + ), + $node + ); + } + + public function testAsOnNotAlias() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot set alias for not alias adaptation buider'); + $this->createTraitUseAdaptationBuilder('Test', 'foo') + ->insteadof('AnotherTrait') + ->as('bar') + ; + } + + public function testInsteadofOnNotPrecedence() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot add overwritten traits for not precedence adaptation buider'); + $this->createTraitUseAdaptationBuilder('Test', 'foo') + ->as('bar') + ->insteadof('AnotherTrait') + ; + } + + public function testInsteadofWithoutTrait() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Precedence adaptation must have trait'); + $this->createTraitUseAdaptationBuilder(null, 'foo') + ->insteadof('AnotherTrait') + ; + } + + public function testMakeOnNotAlias() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot set access modifier for not alias adaptation buider'); + $this->createTraitUseAdaptationBuilder('Test', 'foo') + ->insteadof('AnotherTrait') + ->makePublic() + ; + } + + public function testMultipleMake() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Multiple access type modifiers are not allowed'); + $this->createTraitUseAdaptationBuilder(null, 'foo') + ->makePrivate() + ->makePublic() + ; + } + + public function testUndefinedType() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Type of adaptation is not defined'); + $this->createTraitUseAdaptationBuilder(null, 'foo') + ->getNode() + ; + } +} diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseTest.php new file mode 100644 index 000000000..ec4e9400a --- /dev/null +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseTest.php @@ -0,0 +1,55 @@ +createTraitUseBuilder('SomeTrait') + ->and('AnotherTrait') + ->getNode() + ; + + $this->assertEquals( + new Stmt\TraitUse([ + new Name('SomeTrait'), + new Name('AnotherTrait') + ]), + $node + ); + } + + public function testWith() { + $node = $this->createTraitUseBuilder('SomeTrait') + ->with(new Stmt\TraitUseAdaptation\Alias(null, 'foo', null, 'bar')) + ->with((new TraitUseAdaptation(null, 'test'))->as('baz')) + ->getNode() + ; + + $this->assertEquals( + new Stmt\TraitUse([new Name('SomeTrait')], [ + new Stmt\TraitUseAdaptation\Alias(null, 'foo', null, 'bar'), + new Stmt\TraitUseAdaptation\Alias(null, 'test', null, 'baz') + ]), + $node + ); + } + + public function testInvalidAdaptationNode() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Adaptation must have type TraitUseAdaptation'); + $this->createTraitUseBuilder('Test') + ->with(new Stmt\Echo_([])) + ; + } +} diff --git a/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php b/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php index 85c1d77df..54ede584c 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php @@ -26,5 +26,10 @@ class UseTest extends TestCase $this->assertEquals(new Stmt\Use_([ new Stmt\UseUse(new Name('foo\bar'), 'foo') ], Stmt\Use_::TYPE_FUNCTION), $node); + + $node = $this->createUseBuilder('foo\BAR', Stmt\Use_::TYPE_CONSTANT)->as('FOO')->getNode(); + $this->assertEquals(new Stmt\Use_([ + new Stmt\UseUse(new Name('foo\BAR'), 'FOO') + ], Stmt\Use_::TYPE_CONSTANT), $node); } } diff --git a/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php b/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php index 465f600f5..9dd20a109 100644 --- a/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php @@ -25,15 +25,17 @@ class BuilderFactoryTest extends TestCase public function provideTestFactory() { return [ - ['namespace', Builder\Namespace_::class], - ['class', Builder\Class_::class], - ['interface', Builder\Interface_::class], - ['trait', Builder\Trait_::class], - ['method', Builder\Method::class], - ['function', Builder\Function_::class], - ['property', Builder\Property::class], - ['param', Builder\Param::class], - ['use', Builder\Use_::class], + ['namespace', Builder\Namespace_::class], + ['class', Builder\Class_::class], + ['interface', Builder\Interface_::class], + ['trait', Builder\Trait_::class], + ['method', Builder\Method::class], + ['function', Builder\Function_::class], + ['property', Builder\Property::class], + ['param', Builder\Param::class], + ['use', Builder\Use_::class], + ['useFunction', Builder\Use_::class], + ['useConst', Builder\Use_::class], ]; } @@ -67,19 +69,15 @@ class BuilderFactoryTest extends TestCase ); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected at least two expressions - */ public function testConcatOneError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected at least two expressions'); (new BuilderFactory())->concat("a"); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected string or Expr - */ public function testConcatInvalidExpr() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected string or Expr'); (new BuilderFactory())->concat("a", 42); } @@ -188,47 +186,85 @@ class BuilderFactoryTest extends TestCase ); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected string or instance of Node\Identifier - */ + public function testVar() { + $factory = new BuilderFactory(); + $this->assertEquals( + new Expr\Variable("foo"), + $factory->var("foo") + ); + $this->assertEquals( + new Expr\Variable(new Expr\Variable("foo")), + $factory->var($factory->var("foo")) + ); + } + + public function testPropertyFetch() { + $f = new BuilderFactory(); + $this->assertEquals( + new Expr\PropertyFetch(new Expr\Variable('foo'), 'bar'), + $f->propertyFetch($f->var('foo'), 'bar') + ); + $this->assertEquals( + new Expr\PropertyFetch(new Expr\Variable('foo'), 'bar'), + $f->propertyFetch($f->var('foo'), new Identifier('bar')) + ); + $this->assertEquals( + new Expr\PropertyFetch(new Expr\Variable('foo'), new Expr\Variable('bar')), + $f->propertyFetch($f->var('foo'), $f->var('bar')) + ); + } + public function testInvalidIdentifier() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected string or instance of Node\Identifier'); (new BuilderFactory())->classConstFetch('Foo', new Expr\Variable('foo')); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Expected string or instance of Node\Identifier or Node\Expr - */ public function testInvalidIdentifierOrExpr() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Expected string or instance of Node\Identifier or Node\Expr'); (new BuilderFactory())->staticCall('Foo', new Name('bar')); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Name must be a string or an instance of Node\Name or Node\Expr - */ public function testInvalidNameOrExpr() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Name must be a string or an instance of Node\Name or Node\Expr'); (new BuilderFactory())->funcCall(new Node\Stmt\Return_()); } + public function testInvalidVar() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Variable name must be string or Expr'); + (new BuilderFactory())->var(new Node\Stmt\Return_()); + } + public function testIntegration() { $factory = new BuilderFactory; $node = $factory->namespace('Name\Space') ->addStmt($factory->use('Foo\Bar\SomeOtherClass')) ->addStmt($factory->use('Foo\Bar')->as('A')) + ->addStmt($factory->useFunction('strlen')) + ->addStmt($factory->useConst('PHP_VERSION')) ->addStmt($factory ->class('SomeClass') ->extend('SomeOtherClass') ->implement('A\Few', '\Interfaces') ->makeAbstract() + ->addStmt($factory->useTrait('FirstTrait')) + + ->addStmt($factory->useTrait('SecondTrait', 'ThirdTrait') + ->and('AnotherTrait') + ->with($factory->traitUseAdaptation('foo')->as('bar')) + ->with($factory->traitUseAdaptation('AnotherTrait', 'baz')->as('test')) + ->with($factory->traitUseAdaptation('AnotherTrait', 'func')->insteadof('SecondTrait'))) + ->addStmt($factory->method('firstMethod')) ->addStmt($factory->method('someMethod') ->makePublic() ->makeAbstract() - ->addParam($factory->param('someParam')->setTypeHint('SomeClass')) + ->addParam($factory->param('someParam')->setType('SomeClass')) ->setDocComment('/** * This method does something. * @@ -254,8 +290,16 @@ namespace Name\Space; use Foo\Bar\SomeOtherClass; use Foo\Bar as A; +use function strlen; +use const PHP_VERSION; abstract class SomeClass extends SomeOtherClass implements A\Few, \Interfaces { + use FirstTrait; + use SecondTrait, ThirdTrait, AnotherTrait { + foo as bar; + AnotherTrait::baz as test; + AnotherTrait::func insteadof SecondTrait; + } protected $someProperty; private $anotherProperty = array(1, 2, 3); function firstMethod() diff --git a/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php b/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php index 3bdab812e..459996c55 100644 --- a/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php @@ -52,7 +52,8 @@ class CodeParsingTest extends CodeTestAbstract ]; } - private function getParseOutput(Parser $parser, $code, array $modes) { + // Must be public for updateTests.php + public function getParseOutput(Parser $parser, $code, array $modes) { $dumpPositions = isset($modes['positions']); $errors = new ErrorHandler\Collecting; diff --git a/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php b/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php index d0a83fff9..7cd56b5b5 100644 --- a/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php @@ -73,11 +73,9 @@ class ConstExprEvaluatorTest extends TestCase ]; } - /** - * @expectedException \PhpParser\ConstExprEvaluationException - * @expectedExceptionMessage Expression of type Expr_Variable cannot be evaluated - */ public function testEvaluateFails() { + $this->expectException(ConstExprEvaluationException::class); + $this->expectExceptionMessage('Expression of type Expr_Variable cannot be evaluated'); $evaluator = new ConstExprEvaluator(); $evaluator->evaluateDirectly(new Expr\Variable('a')); } diff --git a/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php b/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php index 31d349ae4..8735be8cc 100644 --- a/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php @@ -7,11 +7,9 @@ use PHPUnit\Framework\TestCase; class ThrowingTest extends TestCase { - /** - * @expectedException \PhpParser\Error - * @expectedExceptionMessage Test - */ public function testHandleError() { + $this->expectException(Error::class); + $this->expectExceptionMessage('Test'); $errorHandler = new Throwing(); $errorHandler->handleError(new Error('Test')); } diff --git a/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php b/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php index 4b9d73a16..07a3288f5 100644 --- a/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php @@ -94,11 +94,9 @@ class ErrorTest extends TestCase } } - /** - * @expectedException \RuntimeException - * @expectedExceptionMessage Invalid position information - */ public function testInvalidPosInfo() { + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('Invalid position information'); $error = new Error('Some error', [ 'startFilePos' => 10, 'endFilePos' => 11, diff --git a/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php b/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php index 3a33ba820..533547ae4 100644 --- a/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php @@ -2,6 +2,7 @@ namespace PhpParser\Lexer; +use PhpParser\ErrorHandler; use PhpParser\LexerTest; use PhpParser\Parser\Tokens; @@ -63,12 +64,11 @@ class EmulativeTest extends LexerTest $lexer = $this->getLexer(); $lexer->startLexing('assertSame($expectedTokenType, $lexer->getNextToken($text)); - $this->assertSame($expectedTokenText, $text); + $tokens = []; + while (0 !== $token = $lexer->getNextToken($text)) { + $tokens[] = [$token, $text]; } - $this->assertSame(0, $lexer->getNextToken()); + $this->assertSame($expectedTokens, $tokens); } /** @@ -85,6 +85,29 @@ class EmulativeTest extends LexerTest $this->assertSame(0, $lexer->getNextToken()); } + /** + * @dataProvider provideTestLexNewFeatures + */ + public function testErrorAfterEmulation($code) { + $errorHandler = new ErrorHandler\Collecting; + $lexer = $this->getLexer([]); + $lexer->startLexing('getErrors(); + $this->assertCount(1, $errors); + + $error = $errors[0]; + $this->assertSame('Unexpected null byte', $error->getRawMessage()); + + $attrs = $error->getAttributes(); + $expPos = strlen('assertSame($expPos, $attrs['startFilePos']); + $this->assertSame($expPos, $attrs['endFilePos']); + $this->assertSame($expLine, $attrs['startLine']); + $this->assertSame($expLine, $attrs['endLine']); + } + public function provideTestLexNewFeatures() { return [ ['yield from', [ @@ -128,6 +151,43 @@ class EmulativeTest extends LexerTest [Tokens::T_END_HEREDOC, 'NOWDOC'], [ord(';'), ';'], ]], + + // Flexible heredoc/nowdoc + ["<<expectException(Error::class); + $this->expectExceptionMessage('__HALT_COMPILER must be followed by "();"'); $lexer = $this->getLexer(); $lexer->startLexing('assertNull($name->slice(-2, -2)); } - /** - * @expectedException \OutOfBoundsException - * @expectedExceptionMessage Offset 4 is out of bounds - */ public function testSliceOffsetTooLarge() { + $this->expectException(\OutOfBoundsException::class); + $this->expectExceptionMessage('Offset 4 is out of bounds'); (new Name('foo\bar\baz'))->slice(4); } - /** - * @expectedException \OutOfBoundsException - * @expectedExceptionMessage Offset -4 is out of bounds - */ public function testSliceOffsetTooSmall() { + $this->expectException(\OutOfBoundsException::class); + $this->expectExceptionMessage('Offset -4 is out of bounds'); (new Name('foo\bar\baz'))->slice(-4); } - /** - * @expectedException \OutOfBoundsException - * @expectedExceptionMessage Length 4 is out of bounds - */ public function testSliceLengthTooLarge() { + $this->expectException(\OutOfBoundsException::class); + $this->expectExceptionMessage('Length 4 is out of bounds'); (new Name('foo\bar\baz'))->slice(0, 4); } - /** - * @expectedException \OutOfBoundsException - * @expectedExceptionMessage Length -4 is out of bounds - */ public function testSliceLengthTooSmall() { + $this->expectException(\OutOfBoundsException::class); + $this->expectExceptionMessage('Length -4 is out of bounds'); (new Name('foo\bar\baz'))->slice(0, -4); } @@ -131,27 +123,21 @@ class NameTest extends TestCase $this->assertSame('namespace\foo', $name->toCodeString()); } - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Expected string, array of parts or Name instance - */ public function testInvalidArg() { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Expected string, array of parts or Name instance'); Name::concat('foo', new \stdClass); } - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Name cannot be empty - */ public function testInvalidEmptyString() { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Name cannot be empty'); new Name(''); } - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Name cannot be empty - */ public function testInvalidEmptyArray() { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Name cannot be empty'); new Name([]); } diff --git a/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php b/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php index 64d53117a..9f887a7d5 100644 --- a/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php @@ -98,11 +98,9 @@ OUT; $this->assertSame($this->canonicalize($expected), $this->canonicalize($dump)); } - /** - * @expectedException \InvalidArgumentException - * @expectedExceptionMessage Can only dump nodes and arrays. - */ public function testError() { + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage('Can only dump nodes and arrays.'); $dumper = new NodeDumper; $dumper->dump(new \stdClass); } diff --git a/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php b/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php index 61c8e25bb..4818457a9 100644 --- a/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php @@ -117,11 +117,9 @@ class NodeTraverserTest extends TestCase ); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Invalid node structure: Contains nested arrays - */ public function testInvalidDeepArray() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Invalid node structure: Contains nested arrays'); $strNode = new String_('Foo'); $stmts = [[[$strNode]]]; @@ -167,6 +165,42 @@ class NodeTraverserTest extends TestCase $this->assertEquals($stmts, $traverser->traverse($stmts)); } + public function testDontTraverseCurrentAndChildren() { + // print 'str'; -($foo * $foo); + $strNode = new String_('str'); + $printNode = new Expr\Print_($strNode); + $varNode = new Expr\Variable('foo'); + $mulNode = new Expr\BinaryOp\Mul($varNode, $varNode); + $divNode = new Expr\BinaryOp\Div($varNode, $varNode); + $negNode = new Expr\UnaryMinus($mulNode); + $stmts = [$printNode, $negNode]; + + $visitor1 = $this->getMockBuilder(NodeVisitor::class)->getMock(); + $visitor2 = $this->getMockBuilder(NodeVisitor::class)->getMock(); + + $visitor1->expects($this->at(1))->method('enterNode')->with($printNode) + ->will($this->returnValue(NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN)); + $visitor1->expects($this->at(2))->method('leaveNode')->with($printNode); + + $visitor1->expects($this->at(3))->method('enterNode')->with($negNode); + $visitor2->expects($this->at(1))->method('enterNode')->with($negNode); + + $visitor1->expects($this->at(4))->method('enterNode')->with($mulNode) + ->will($this->returnValue(NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN)); + $visitor1->expects($this->at(5))->method('leaveNode')->with($mulNode)->willReturn($divNode); + + $visitor1->expects($this->at(6))->method('leaveNode')->with($negNode); + $visitor2->expects($this->at(2))->method('leaveNode')->with($negNode); + + $traverser = new NodeTraverser; + $traverser->addVisitor($visitor1); + $traverser->addVisitor($visitor2); + + $resultStmts = $traverser->traverse($stmts); + + $this->assertInstanceOf(Expr\BinaryOp\Div::class, $resultStmts[1]->expr); + } + public function testStopTraversal() { $varNode1 = new Expr\Variable('a'); $varNode2 = new Expr\Variable('b'); diff --git a/vendor/nikic/php-parser/test/PhpParser/ParserTest.php b/vendor/nikic/php-parser/test/PhpParser/ParserTest.php index 9c4412dc1..d31ac6efa 100644 --- a/vendor/nikic/php-parser/test/PhpParser/ParserTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/ParserTest.php @@ -13,29 +13,23 @@ abstract class ParserTest extends TestCase /** @returns Parser */ abstract protected function getParser(Lexer $lexer); - /** - * @expectedException \PhpParser\Error - * @expectedExceptionMessage Syntax error, unexpected EOF on line 1 - */ public function testParserThrowsSyntaxError() { + $this->expectException(Error::class); + $this->expectExceptionMessage('Syntax error, unexpected EOF on line 1'); $parser = $this->getParser(new Lexer()); $parser->parse('expectException(Error::class); + $this->expectExceptionMessage('Cannot use foo as self because \'self\' is a special class name on line 1'); $parser = $this->getParser(new Lexer()); $parser->parse('expectException(Error::class); + $this->expectExceptionMessage('Unterminated comment on line 1'); $parser = $this->getParser(new Lexer()); $parser->parse('getAttributes()); } - /** - * @expectedException \RangeException - * @expectedExceptionMessage The lexer returned an invalid token (id=999, value=foobar) - */ public function testInvalidToken() { + $this->expectException(\RangeException::class); + $this->expectExceptionMessage('The lexer returned an invalid token (id=999, value=foobar)'); $lexer = new InvalidTokenLexer; $parser = $this->getParser($lexer); $parser->parse('dummy'); @@ -123,7 +115,7 @@ EOC; * @dataProvider provideTestExtraAttributes */ public function testExtraAttributes($code, $expectedAttributes) { - $parser = $this->getParser(new Lexer); + $parser = $this->getParser(new Lexer\Emulative); $stmts = $parser->parse("expr : $stmts[0]; $attributes = $node->getAttributes(); @@ -152,17 +144,20 @@ EOC; ['"foo$bar"', ['kind' => String_::KIND_DOUBLE_QUOTED]], ['b"foo$bar"', ['kind' => String_::KIND_DOUBLE_QUOTED]], ['B"foo$bar"', ['kind' => String_::KIND_DOUBLE_QUOTED]], - ["<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR']], - ["<< String_::KIND_HEREDOC, 'docLabel' => 'STR']], - ["<<<\"STR\"\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR']], - ["b<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR']], - ["B<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR']], - ["<<< \t 'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR']], - ["<<<'\xff'\n\xff\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => "\xff"]], - ["<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR']], - ["b<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR']], - ["B<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR']], - ["<<< \t \"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR']], + ["<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<< String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<<<\"STR\"\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["b<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["B<<<'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<<< \t 'STR'\nSTR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<<<'\xff'\n\xff\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => "\xff", 'docIndentation' => '']], + ["<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["b<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["B<<<\"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<<< \t \"STR\"\n\$a\nSTR\n", ['kind' => String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => '']], + ["<< String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => ' ']], + ["<< String_::KIND_HEREDOC, 'docLabel' => 'STR', 'docIndentation' => "\t"]], + ["<<<'STR'\n Foo\n STR\n", ['kind' => String_::KIND_NOWDOC, 'docLabel' => 'STR', 'docIndentation' => ' ']], ["die", ['kind' => Expr\Exit_::KIND_DIE]], ["die('done')", ['kind' => Expr\Exit_::KIND_DIE]], ["exit", ['kind' => Expr\Exit_::KIND_EXIT]], diff --git a/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php b/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php index b15557194..d3c3f08a1 100644 --- a/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php +++ b/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php @@ -184,11 +184,9 @@ class PrettyPrinterTest extends CodeTestAbstract ]; } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Cannot pretty-print AST with Error nodes - */ public function testPrettyPrintWithError() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot pretty-print AST with Error nodes'); $stmts = [new Stmt\Expression( new Expr\PropertyFetch(new Expr\Variable('a'), new Expr\Error()) )]; @@ -196,11 +194,9 @@ class PrettyPrinterTest extends CodeTestAbstract $prettyPrinter->prettyPrint($stmts); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Cannot pretty-print AST with Error nodes - */ public function testPrettyPrintWithErrorInClassConstFetch() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot pretty-print AST with Error nodes'); $stmts = [new Stmt\Expression( new Expr\ClassConstFetch(new Name('Foo'), new Expr\Error()) )]; @@ -208,11 +204,9 @@ class PrettyPrinterTest extends CodeTestAbstract $prettyPrinter->prettyPrint($stmts); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage Cannot directly print EncapsedStringPart - */ public function testPrettyPrintEncapsedStringPart() { + $this->expectException(\LogicException::class); + $this->expectExceptionMessage('Cannot directly print EncapsedStringPart'); $expr = new Node\Scalar\EncapsedStringPart('foo'); $prettyPrinter = new PrettyPrinter\Standard; $prettyPrinter->prettyPrintExpr($expr); diff --git a/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocString.test b/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocString.test new file mode 100644 index 000000000..4460912c5 --- /dev/null +++ b/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocString.test @@ -0,0 +1,359 @@ +Flexible heredoc/nowdoc (PHP 7.3) +----- + $code) { foreach ($tests as list($modeLine, list($input, $expected))) { $modes = null !== $modeLine ? array_fill_keys(explode(',', $modeLine), true) : []; list($parser5, $parser7) = $codeParsingTest->createParsers($modes); - $output = isset($modes['php5']) + list(, $output) = isset($modes['php5']) ? $codeParsingTest->getParseOutput($parser5, $input, $modes) : $codeParsingTest->getParseOutput($parser7, $input, $modes); $newTests[] = [$modeLine, [$input, $output]]; diff --git a/vendor/nikic/php-parser/test_old/run-php-src.sh b/vendor/nikic/php-parser/test_old/run-php-src.sh old mode 100644 new mode 100755 index 0d37f851d..944cfffac --- a/vendor/nikic/php-parser/test_old/run-php-src.sh +++ b/vendor/nikic/php-parser/test_old/run-php-src.sh @@ -1,4 +1,4 @@ -wget -q https://github.com/php/php-src/archive/php-7.1.0.tar.gz +wget -q https://github.com/php/php-src/archive/php-7.3.0RC1.tar.gz mkdir -p ./data/php-src -tar -xzf ./php-7.1.0.tar.gz -C ./data/php-src --strip-components=1 +tar -xzf ./php-7.3.0RC1.tar.gz -C ./data/php-src --strip-components=1 php -n test_old/run.php --verbose --no-progress PHP7 ./data/php-src diff --git a/vendor/nikic/php-parser/test_old/run.php b/vendor/nikic/php-parser/test_old/run.php index 2d7cdaccb..8b74ab479 100644 --- a/vendor/nikic/php-parser/test_old/run.php +++ b/vendor/nikic/php-parser/test_old/run.php @@ -59,9 +59,24 @@ $dir = $arguments[1]; switch ($testType) { case 'Symfony': - $version = 'Php5'; + $version = 'Php7'; $fileFilter = function($path) { - return preg_match('~\.php(?:\.cache)?$~', $path) && false === strpos($path, 'skeleton'); + if (!preg_match('~\.php$~', $path)) { + return false; + } + + if (preg_match('~(?: +# invalid php code + dependency-injection.Tests.Fixtures.xml.xml_with_wrong_ext +# difference in nop statement +| framework-bundle.Resources.views.Form.choice_widget_options\.html +# difference due to INF +| yaml.Tests.InlineTest +)\.php$~x', $path)) { + return false; + } + + return true; }; $codeExtractor = function($file, $code) { return $code; @@ -77,26 +92,31 @@ switch ($testType) { if (preg_match('~(?: # skeleton files ext.gmp.tests.001 -| ext.skeleton.tests.001 +| ext.skeleton.tests.00\d # multibyte encoded files | ext.mbstring.tests.zend_multibyte-01 | Zend.tests.multibyte.multibyte_encoding_001 | Zend.tests.multibyte.multibyte_encoding_004 | Zend.tests.multibyte.multibyte_encoding_005 +# invalid code due to missing WS after opening tag +| tests.run-test.bug75042-3 # pretty print difference due to INF vs 1e1000 | ext.standard.tests.general_functions.bug27678 | tests.lang.bug24640 +| Zend.tests.bug74947 # pretty print differences due to negative LNumbers | Zend.tests.neg_num_string | Zend.tests.bug72918 # pretty print difference due to nop statements | ext.mbstring.tests.htmlent | ext.standard.tests.file.fread_basic +# its too hard to emulate these on old PHP versions +| Zend.tests.flexible-heredoc-complex-test[1-4] )\.phpt$~x', $file)) { return null; } - if (!preg_match('~--FILE--\s*(.*?)--[A-Z]+--~s', $code, $matches)) { + if (!preg_match('~--FILE--\s*(.*?)\n--[A-Z]+--~s', $code, $matches)) { return null; } if (preg_match('~--EXPECT(?:F|REGEX)?--\s*(?:Parse|Fatal) error~', $code)) { diff --git a/vendor/phpoffice/phpexcel/.gitattributes b/vendor/phpoffice/phpexcel/.gitattributes index 1bc28be4b..58182f254 100644 --- a/vendor/phpoffice/phpexcel/.gitattributes +++ b/vendor/phpoffice/phpexcel/.gitattributes @@ -1,4 +1,3 @@ /Build export-ignore -/Documentation export-ignore -/Tests export-ignore +/unitTests export-ignore README.md export-ignore diff --git a/vendor/phpoffice/phpexcel/.travis.yml b/vendor/phpoffice/phpexcel/.travis.yml index c35625b13..99e9e8da6 100644 --- a/vendor/phpoffice/phpexcel/.travis.yml +++ b/vendor/phpoffice/phpexcel/.travis.yml @@ -1,20 +1,29 @@ language: php php: - - 5.2 - - 5.3.3 - - 5.3 - 5.4 - 5.5 - 5.6 + - 7.0 - hhvm matrix: - allow_failures: - - php: hhvm + allow_failures: + - php: hhvm + +before_script: + ## Packages + - sudo apt-get -qq update > /dev/null + ## Composer + - composer self-update + - composer install --prefer-source --dev + - phpenv global "$TRAVIS_PHP_VERSION" script: - - phpunit -c ./unitTests/ + ## PHP_CodeSniffer + - ./vendor/bin/phpcs --report-width=200 --report-summary --report-full Classes/ unitTests/ --standard=PSR2 -n + ## PHPUnit + - phpunit -c ./unitTests/ notifications: email: false diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel.php index d27de51a2..b8dbe0efd 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel.php @@ -1,8 +1,15 @@ _hasMacros; - } + /** + * The workbook has macros ? + * + * @return boolean true if workbook has macros, false if not + */ + public function hasMacros() + { + return $this->hasMacros; + } - /** - * Define if a workbook has macros - * - * @param true|false - */ - public function setHasMacros($hasMacros=false){ - $this->_hasMacros=(bool)$hasMacros; - } + /** + * Define if a workbook has macros + * + * @param boolean $hasMacros true|false + */ + public function setHasMacros($hasMacros = false) + { + $this->hasMacros = (bool) $hasMacros; + } - /** - * Set the macros code - * - * @param binary string|null - */ - public function setMacrosCode($MacrosCode){ - $this->_macrosCode=$MacrosCode; - $this->setHasMacros(!is_null($MacrosCode)); - } + /** + * Set the macros code + * + * @param string $MacrosCode string|null + */ + public function setMacrosCode($MacrosCode = null) + { + $this->macrosCode=$MacrosCode; + $this->setHasMacros(!is_null($MacrosCode)); + } - /** - * Return the macros code - * - * @return binary|null - */ - public function getMacrosCode(){ - return $this->_macrosCode; - } + /** + * Return the macros code + * + * @return string|null + */ + public function getMacrosCode() + { + return $this->macrosCode; + } - /** - * Set the macros certificate - * - * @param binary|null - */ - public function setMacrosCertificate($Certificate=NULL){ - $this->_macrosCertificate=$Certificate; - } + /** + * Set the macros certificate + * + * @param string|null $Certificate + */ + public function setMacrosCertificate($Certificate = null) + { + $this->macrosCertificate=$Certificate; + } - /** - * Is the project signed ? - * - * @return true|false - */ - public function hasMacrosCertificate(){ - return !is_null($this->_macrosCertificate); - } + /** + * Is the project signed ? + * + * @return boolean true|false + */ + public function hasMacrosCertificate() + { + return !is_null($this->macrosCertificate); + } - /** - * Return the macros certificate - * - * @return binary|null - */ - public function getMacrosCertificate(){ - return $this->_macrosCertificate; - } + /** + * Return the macros certificate + * + * @return string|null + */ + public function getMacrosCertificate() + { + return $this->macrosCertificate; + } - /** - * Remove all macros, certificate from spreadsheet - * - * @param none - * @return void - */ - public function discardMacros(){ - $this->_hasMacros=false; - $this->_macrosCode=NULL; - $this->_macrosCertificate=NULL; - } + /** + * Remove all macros, certificate from spreadsheet + * + */ + public function discardMacros() + { + $this->hasMacros=false; + $this->macrosCode=null; + $this->macrosCertificate=null; + } - /** - * set ribbon XML data - * - */ - public function setRibbonXMLData($Target=NULL, $XMLData=NULL){ - if(!is_null($Target) && !is_null($XMLData)){ - $this->_ribbonXMLData=array('target'=>$Target, 'data'=>$XMLData); - }else{ - $this->_ribbonXMLData=NULL; - } - } + /** + * set ribbon XML data + * + */ + public function setRibbonXMLData($Target = null, $XMLData = null) + { + if (!is_null($Target) && !is_null($XMLData)) { + $this->ribbonXMLData = array('target' => $Target, 'data' => $XMLData); + } else { + $this->ribbonXMLData = null; + } + } - /** - * retrieve ribbon XML Data - * - * return string|null|array - */ - public function getRibbonXMLData($What='all'){//we need some constants here... - $ReturnData=NULL; - $What=strtolower($What); - switch($What){ - case 'all': - $ReturnData=$this->_ribbonXMLData; - break; - case 'target': - case 'data': - if(is_array($this->_ribbonXMLData) && array_key_exists($What,$this->_ribbonXMLData)){ - $ReturnData=$this->_ribbonXMLData[$What]; - }//else $ReturnData stay at null - break; - }//default: $ReturnData at null - return $ReturnData; - } + /** + * retrieve ribbon XML Data + * + * return string|null|array + */ + public function getRibbonXMLData($What = 'all') //we need some constants here... + { + $ReturnData = null; + $What = strtolower($What); + switch ($What){ + case 'all': + $ReturnData = $this->ribbonXMLData; + break; + case 'target': + case 'data': + if (is_array($this->ribbonXMLData) && array_key_exists($What, $this->ribbonXMLData)) { + $ReturnData = $this->ribbonXMLData[$What]; + } + break; + } - /** - * store binaries ribbon objects (pictures) - * - */ - public function setRibbonBinObjects($BinObjectsNames=NULL, $BinObjectsData=NULL){ - if(!is_null($BinObjectsNames) && !is_null($BinObjectsData)){ - $this->_ribbonBinObjects=array('names'=>$BinObjectsNames, 'data'=>$BinObjectsData); - }else{ - $this->_ribbonBinObjects=NULL; - } - } - /** - * return the extension of a filename. Internal use for a array_map callback (php<5.3 don't like lambda function) - * - */ - private function _getExtensionOnly($ThePath){ - return pathinfo($ThePath, PATHINFO_EXTENSION); - } + return $ReturnData; + } - /** - * retrieve Binaries Ribbon Objects - * - */ - public function getRibbonBinObjects($What='all'){ - $ReturnData=NULL; - $What=strtolower($What); - switch($What){ - case 'all': - return $this->_ribbonBinObjects; - break; - case 'names': - case 'data': - if(is_array($this->_ribbonBinObjects) && array_key_exists($What, $this->_ribbonBinObjects)){ - $ReturnData=$this->_ribbonBinObjects[$What]; - } - break; - case 'types': - if(is_array($this->_ribbonBinObjects) && array_key_exists('data', $this->_ribbonBinObjects) && is_array($this->_ribbonBinObjects['data'])){ - $tmpTypes=array_keys($this->_ribbonBinObjects['data']); - $ReturnData=array_unique(array_map(array($this,'_getExtensionOnly'), $tmpTypes)); - }else - $ReturnData=array();//the caller want an array... not null if empty - break; - } - return $ReturnData; - } + /** + * store binaries ribbon objects (pictures) + * + */ + public function setRibbonBinObjects($BinObjectsNames = null, $BinObjectsData = null) + { + if (!is_null($BinObjectsNames) && !is_null($BinObjectsData)) { + $this->ribbonBinObjects = array('names' => $BinObjectsNames, 'data' => $BinObjectsData); + } else { + $this->ribbonBinObjects = null; + } + } + /** + * return the extension of a filename. Internal use for a array_map callback (php<5.3 don't like lambda function) + * + */ + private function getExtensionOnly($ThePath) + { + return pathinfo($ThePath, PATHINFO_EXTENSION); + } - /** - * This workbook have a custom UI ? - * - * @return true|false - */ - public function hasRibbon(){ - return !is_null($this->_ribbonXMLData); - } + /** + * retrieve Binaries Ribbon Objects + * + */ + public function getRibbonBinObjects($What = 'all') + { + $ReturnData = null; + $What = strtolower($What); + switch($What) { + case 'all': + return $this->ribbonBinObjects; + break; + case 'names': + case 'data': + if (is_array($this->ribbonBinObjects) && array_key_exists($What, $this->ribbonBinObjects)) { + $ReturnData=$this->ribbonBinObjects[$What]; + } + break; + case 'types': + if (is_array($this->ribbonBinObjects) && + array_key_exists('data', $this->ribbonBinObjects) && is_array($this->ribbonBinObjects['data'])) { + $tmpTypes=array_keys($this->ribbonBinObjects['data']); + $ReturnData = array_unique(array_map(array($this, 'getExtensionOnly'), $tmpTypes)); + } else { + $ReturnData=array(); // the caller want an array... not null if empty + } + break; + } + return $ReturnData; + } - /** - * This workbook have additionnal object for the ribbon ? - * - * @return true|false - */ - public function hasRibbonBinObjects(){ - return !is_null($this->_ribbonBinObjects); - } + /** + * This workbook have a custom UI ? + * + * @return boolean true|false + */ + public function hasRibbon() + { + return !is_null($this->ribbonXMLData); + } - /** + /** + * This workbook have additionnal object for the ribbon ? + * + * @return boolean true|false + */ + public function hasRibbonBinObjects() + { + return !is_null($this->ribbonBinObjects); + } + + /** * Check if a sheet with a specified code name already exists * * @param string $pSheetCodeName Name of the worksheet to check @@ -330,52 +337,52 @@ class PHPExcel */ public function sheetCodeNameExists($pSheetCodeName) { - return ($this->getSheetByCodeName($pSheetCodeName) !== NULL); + return ($this->getSheetByCodeName($pSheetCodeName) !== null); } - /** - * Get sheet by code name. Warning : sheet don't have always a code name ! - * - * @param string $pName Sheet name - * @return PHPExcel_Worksheet - */ - public function getSheetByCodeName($pName = '') - { - $worksheetCount = count($this->_workSheetCollection); - for ($i = 0; $i < $worksheetCount; ++$i) { - if ($this->_workSheetCollection[$i]->getCodeName() == $pName) { - return $this->_workSheetCollection[$i]; - } - } + /** + * Get sheet by code name. Warning : sheet don't have always a code name ! + * + * @param string $pName Sheet name + * @return PHPExcel_Worksheet + */ + public function getSheetByCodeName($pName = '') + { + $worksheetCount = count($this->workSheetCollection); + for ($i = 0; $i < $worksheetCount; ++$i) { + if ($this->workSheetCollection[$i]->getCodeName() == $pName) { + return $this->workSheetCollection[$i]; + } + } - return null; - } + return null; + } - /** - * Create a new PHPExcel with one Worksheet - */ - public function __construct() - { - $this->_uniqueID = uniqid(); - $this->_calculationEngine = PHPExcel_Calculation::getInstance($this); + /** + * Create a new PHPExcel with one Worksheet + */ + public function __construct() + { + $this->uniqueID = uniqid(); + $this->calculationEngine = new PHPExcel_Calculation($this); - // Initialise worksheet collection and add one worksheet - $this->_workSheetCollection = array(); - $this->_workSheetCollection[] = new PHPExcel_Worksheet($this); - $this->_activeSheetIndex = 0; + // Initialise worksheet collection and add one worksheet + $this->workSheetCollection = array(); + $this->workSheetCollection[] = new PHPExcel_Worksheet($this); + $this->activeSheetIndex = 0; // Create document properties - $this->_properties = new PHPExcel_DocumentProperties(); + $this->properties = new PHPExcel_DocumentProperties(); // Create document security - $this->_security = new PHPExcel_DocumentSecurity(); + $this->security = new PHPExcel_DocumentSecurity(); // Set named ranges - $this->_namedRanges = array(); + $this->namedRanges = array(); // Create the cellXf supervisor - $this->_cellXfSupervisor = new PHPExcel_Style(true); - $this->_cellXfSupervisor->bindParent($this); + $this->cellXfSupervisor = new PHPExcel_Style(true); + $this->cellXfSupervisor->bindParent($this); // Create the default style $this->addCellXf(new PHPExcel_Style); @@ -386,10 +393,11 @@ class PHPExcel * Code to execute when this worksheet is unset() * */ - public function __destruct() { - PHPExcel_Calculation::unsetInstance($this); + public function __destruct() + { + $this->calculationEngine = null; $this->disconnectWorksheets(); - } // function __destruct() + } /** * Disconnect all worksheets from this PHPExcel workbook object, @@ -398,24 +406,24 @@ class PHPExcel */ public function disconnectWorksheets() { - $worksheet = NULL; - foreach($this->_workSheetCollection as $k => &$worksheet) { + $worksheet = null; + foreach ($this->workSheetCollection as $k => &$worksheet) { $worksheet->disconnectCells(); - $this->_workSheetCollection[$k] = null; + $this->workSheetCollection[$k] = null; } unset($worksheet); - $this->_workSheetCollection = array(); + $this->workSheetCollection = array(); } - /** - * Return the calculation engine for this worksheet - * - * @return PHPExcel_Calculation - */ - public function getCalculationEngine() - { - return $this->_calculationEngine; - } // function getCellCacheController() + /** + * Return the calculation engine for this worksheet + * + * @return PHPExcel_Calculation + */ + public function getCalculationEngine() + { + return $this->calculationEngine; + } // function getCellCacheController() /** * Get properties @@ -424,7 +432,7 @@ class PHPExcel */ public function getProperties() { - return $this->_properties; + return $this->properties; } /** @@ -434,7 +442,7 @@ class PHPExcel */ public function setProperties(PHPExcel_DocumentProperties $pValue) { - $this->_properties = $pValue; + $this->properties = $pValue; } /** @@ -444,7 +452,7 @@ class PHPExcel */ public function getSecurity() { - return $this->_security; + return $this->security; } /** @@ -454,7 +462,7 @@ class PHPExcel */ public function setSecurity(PHPExcel_DocumentSecurity $pValue) { - $this->_security = $pValue; + $this->security = $pValue; } /** @@ -466,7 +474,7 @@ class PHPExcel */ public function getActiveSheet() { - return $this->getSheet($this->_activeSheetIndex); + return $this->getSheet($this->activeSheetIndex); } /** @@ -476,7 +484,7 @@ class PHPExcel * @return PHPExcel_Worksheet * @throws PHPExcel_Exception */ - public function createSheet($iSheetIndex = NULL) + public function createSheet($iSheetIndex = null) { $newSheet = new PHPExcel_Worksheet($this); $this->addSheet($newSheet, $iSheetIndex); @@ -491,7 +499,7 @@ class PHPExcel */ public function sheetNameExists($pSheetName) { - return ($this->getSheetByName($pSheetName) !== NULL); + return ($this->getSheetByName($pSheetName) !== null); } /** @@ -502,31 +510,31 @@ class PHPExcel * @return PHPExcel_Worksheet * @throws PHPExcel_Exception */ - public function addSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = NULL) + public function addSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = null) { if ($this->sheetNameExists($pSheet->getTitle())) { throw new PHPExcel_Exception( - "Workbook already contains a worksheet named '{$pSheet->getTitle()}'. Rename this worksheet first." + "Workbook already contains a worksheet named '{$pSheet->getTitle()}'. Rename this worksheet first." ); } - if($iSheetIndex === NULL) { - if ($this->_activeSheetIndex < 0) { - $this->_activeSheetIndex = 0; + if ($iSheetIndex === null) { + if ($this->activeSheetIndex < 0) { + $this->activeSheetIndex = 0; } - $this->_workSheetCollection[] = $pSheet; + $this->workSheetCollection[] = $pSheet; } else { // Insert the sheet at the requested index array_splice( - $this->_workSheetCollection, + $this->workSheetCollection, $iSheetIndex, 0, array($pSheet) - ); + ); // Adjust active sheet index if necessary - if ($this->_activeSheetIndex >= $iSheetIndex) { - ++$this->_activeSheetIndex; + if ($this->activeSheetIndex >= $iSheetIndex) { + ++$this->activeSheetIndex; } } @@ -546,19 +554,18 @@ class PHPExcel public function removeSheetByIndex($pIndex = 0) { - $numSheets = count($this->_workSheetCollection); - + $numSheets = count($this->workSheetCollection); if ($pIndex > $numSheets - 1) { throw new PHPExcel_Exception( - "You tried to remove a sheet by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." + "You tried to remove a sheet by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." ); } else { - array_splice($this->_workSheetCollection, $pIndex, 1); + array_splice($this->workSheetCollection, $pIndex, 1); } // Adjust active sheet index if necessary - if (($this->_activeSheetIndex >= $pIndex) && - ($pIndex > count($this->_workSheetCollection) - 1)) { - --$this->_activeSheetIndex; + if (($this->activeSheetIndex >= $pIndex) && + ($pIndex > count($this->workSheetCollection) - 1)) { + --$this->activeSheetIndex; } } @@ -572,14 +579,14 @@ class PHPExcel */ public function getSheet($pIndex = 0) { - if (!isset($this->_workSheetCollection[$pIndex])) { + if (!isset($this->workSheetCollection[$pIndex])) { $numSheets = $this->getSheetCount(); throw new PHPExcel_Exception( "Your requested sheet index: {$pIndex} is out of bounds. The actual number of sheets is {$numSheets}." ); } - return $this->_workSheetCollection[$pIndex]; + return $this->workSheetCollection[$pIndex]; } /** @@ -589,7 +596,7 @@ class PHPExcel */ public function getAllSheets() { - return $this->_workSheetCollection; + return $this->workSheetCollection; } /** @@ -600,26 +607,26 @@ class PHPExcel */ public function getSheetByName($pName = '') { - $worksheetCount = count($this->_workSheetCollection); + $worksheetCount = count($this->workSheetCollection); for ($i = 0; $i < $worksheetCount; ++$i) { - if ($this->_workSheetCollection[$i]->getTitle() === $pName) { - return $this->_workSheetCollection[$i]; + if ($this->workSheetCollection[$i]->getTitle() === $pName) { + return $this->workSheetCollection[$i]; } } - return NULL; + return null; } /** * Get index for sheet * * @param PHPExcel_Worksheet $pSheet - * @return Sheet index + * @return int Sheet index * @throws PHPExcel_Exception */ public function getIndex(PHPExcel_Worksheet $pSheet) { - foreach ($this->_workSheetCollection as $key => $value) { + foreach ($this->workSheetCollection as $key => $value) { if ($value->getHashCode() == $pSheet->getHashCode()) { return $key; } @@ -633,19 +640,19 @@ class PHPExcel * * @param string $sheetName Sheet name to modify index for * @param int $newIndex New index for the sheet - * @return New sheet index + * @return int New sheet index * @throws PHPExcel_Exception */ public function setIndexByName($sheetName, $newIndex) { $oldIndex = $this->getIndex($this->getSheetByName($sheetName)); $pSheet = array_splice( - $this->_workSheetCollection, + $this->workSheetCollection, $oldIndex, 1 ); array_splice( - $this->_workSheetCollection, + $this->workSheetCollection, $newIndex, 0, $pSheet @@ -660,7 +667,7 @@ class PHPExcel */ public function getSheetCount() { - return count($this->_workSheetCollection); + return count($this->workSheetCollection); } /** @@ -670,7 +677,7 @@ class PHPExcel */ public function getActiveSheetIndex() { - return $this->_activeSheetIndex; + return $this->activeSheetIndex; } /** @@ -682,14 +689,14 @@ class PHPExcel */ public function setActiveSheetIndex($pIndex = 0) { - $numSheets = count($this->_workSheetCollection); + $numSheets = count($this->workSheetCollection); if ($pIndex > $numSheets - 1) { throw new PHPExcel_Exception( - "You tried to set a sheet active by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." + "You tried to set a sheet active by the out of bounds index: {$pIndex}. The actual number of sheets is {$numSheets}." ); } else { - $this->_activeSheetIndex = $pIndex; + $this->activeSheetIndex = $pIndex; } return $this->getActiveSheet(); } @@ -735,13 +742,14 @@ class PHPExcel * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function addExternalSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = null) { + public function addExternalSheet(PHPExcel_Worksheet $pSheet, $iSheetIndex = null) + { if ($this->sheetNameExists($pSheet->getTitle())) { throw new PHPExcel_Exception("Workbook already contains a worksheet named '{$pSheet->getTitle()}'. Rename the external sheet first."); } // count how many cellXfs there are in this workbook currently, we will need this below - $countCellXfs = count($this->_cellXfCollection); + $countCellXfs = count($this->cellXfCollection); // copy all the shared cellXfs from the external workbook and append them to the current foreach ($pSheet->getParent()->getCellXfCollection() as $cellXf) { @@ -754,7 +762,7 @@ class PHPExcel // update the cellXfs foreach ($pSheet->getCellCollection(false) as $cellID) { $cell = $pSheet->getCell($cellID); - $cell->setXfIndex( $cell->getXfIndex() + $countCellXfs ); + $cell->setXfIndex($cell->getXfIndex() + $countCellXfs); } return $this->addSheet($pSheet, $iSheetIndex); @@ -765,23 +773,25 @@ class PHPExcel * * @return PHPExcel_NamedRange[] */ - public function getNamedRanges() { - return $this->_namedRanges; + public function getNamedRanges() + { + return $this->namedRanges; } /** * Add named range * * @param PHPExcel_NamedRange $namedRange - * @return PHPExcel + * @return boolean */ - public function addNamedRange(PHPExcel_NamedRange $namedRange) { + public function addNamedRange(PHPExcel_NamedRange $namedRange) + { if ($namedRange->getScope() == null) { // global scope - $this->_namedRanges[$namedRange->getName()] = $namedRange; + $this->namedRanges[$namedRange->getName()] = $namedRange; } else { // local scope - $this->_namedRanges[$namedRange->getScope()->getTitle().'!'.$namedRange->getName()] = $namedRange; + $this->namedRanges[$namedRange->getScope()->getTitle().'!'.$namedRange->getName()] = $namedRange; } return true; } @@ -793,18 +803,19 @@ class PHPExcel * @param PHPExcel_Worksheet|null $pSheet Scope. Use null for global scope * @return PHPExcel_NamedRange|null */ - public function getNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) { + public function getNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) + { $returnValue = null; - if ($namedRange != '' && ($namedRange !== NULL)) { + if ($namedRange != '' && ($namedRange !== null)) { // first look for global defined name - if (isset($this->_namedRanges[$namedRange])) { - $returnValue = $this->_namedRanges[$namedRange]; + if (isset($this->namedRanges[$namedRange])) { + $returnValue = $this->namedRanges[$namedRange]; } // then look for local defined name (has priority over global defined name if both names exist) - if (($pSheet !== NULL) && isset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { - $returnValue = $this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange]; + if (($pSheet !== null) && isset($this->namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { + $returnValue = $this->namedRanges[$pSheet->getTitle() . '!' . $namedRange]; } } @@ -818,14 +829,15 @@ class PHPExcel * @param PHPExcel_Worksheet|null $pSheet Scope: use null for global scope. * @return PHPExcel */ - public function removeNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) { - if ($pSheet === NULL) { - if (isset($this->_namedRanges[$namedRange])) { - unset($this->_namedRanges[$namedRange]); + public function removeNamedRange($namedRange, PHPExcel_Worksheet $pSheet = null) + { + if ($pSheet === null) { + if (isset($this->namedRanges[$namedRange])) { + unset($this->namedRanges[$namedRange]); } } else { - if (isset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { - unset($this->_namedRanges[$pSheet->getTitle() . '!' . $namedRange]); + if (isset($this->namedRanges[$pSheet->getTitle() . '!' . $namedRange])) { + unset($this->namedRanges[$pSheet->getTitle() . '!' . $namedRange]); } } return $this; @@ -836,7 +848,8 @@ class PHPExcel * * @return PHPExcel_WorksheetIterator */ - public function getWorksheetIterator() { + public function getWorksheetIterator() + { return new PHPExcel_WorksheetIterator($this); } @@ -845,13 +858,14 @@ class PHPExcel * * @return PHPExcel */ - public function copy() { + public function copy() + { $copied = clone $this; - $worksheetCount = count($this->_workSheetCollection); + $worksheetCount = count($this->workSheetCollection); for ($i = 0; $i < $worksheetCount; ++$i) { - $this->_workSheetCollection[$i] = $this->_workSheetCollection[$i]->copy(); - $this->_workSheetCollection[$i]->rebindParent($this); + $this->workSheetCollection[$i] = $this->workSheetCollection[$i]->copy(); + $this->workSheetCollection[$i]->rebindParent($this); } return $copied; @@ -860,8 +874,9 @@ class PHPExcel /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ - public function __clone() { - foreach($this as $key => $val) { + public function __clone() + { + foreach ($this as $key => $val) { if (is_object($val) || (is_array($val))) { $this->{$key} = unserialize(serialize($val)); } @@ -875,7 +890,7 @@ class PHPExcel */ public function getCellXfCollection() { - return $this->_cellXfCollection; + return $this->cellXfCollection; } /** @@ -886,18 +901,18 @@ class PHPExcel */ public function getCellXfByIndex($pIndex = 0) { - return $this->_cellXfCollection[$pIndex]; + return $this->cellXfCollection[$pIndex]; } /** * Get cellXf by hash code * * @param string $pValue - * @return PHPExcel_Style|false + * @return PHPExcel_Style|boolean False if no match found */ public function getCellXfByHashCode($pValue = '') { - foreach ($this->_cellXfCollection as $cellXf) { + foreach ($this->cellXfCollection as $cellXf) { if ($cellXf->getHashCode() == $pValue) { return $cellXf; } @@ -913,7 +928,7 @@ class PHPExcel */ public function cellXfExists($pCellStyle = null) { - return in_array($pCellStyle, $this->_cellXfCollection, true); + return in_array($pCellStyle, $this->cellXfCollection, true); } /** @@ -924,8 +939,8 @@ class PHPExcel */ public function getDefaultStyle() { - if (isset($this->_cellXfCollection[0])) { - return $this->_cellXfCollection[0]; + if (isset($this->cellXfCollection[0])) { + return $this->cellXfCollection[0]; } throw new PHPExcel_Exception('No default style found for this workbook'); } @@ -937,33 +952,33 @@ class PHPExcel */ public function addCellXf(PHPExcel_Style $style) { - $this->_cellXfCollection[] = $style; - $style->setIndex(count($this->_cellXfCollection) - 1); + $this->cellXfCollection[] = $style; + $style->setIndex(count($this->cellXfCollection) - 1); } /** * Remove cellXf by index. It is ensured that all cells get their xf index updated. * - * @param int $pIndex Index to cellXf + * @param integer $pIndex Index to cellXf * @throws PHPExcel_Exception */ public function removeCellXfByIndex($pIndex = 0) { - if ($pIndex > count($this->_cellXfCollection) - 1) { + if ($pIndex > count($this->cellXfCollection) - 1) { throw new PHPExcel_Exception("CellXf index is out of bounds."); } else { // first remove the cellXf - array_splice($this->_cellXfCollection, $pIndex, 1); + array_splice($this->cellXfCollection, $pIndex, 1); // then update cellXf indexes for cells - foreach ($this->_workSheetCollection as $worksheet) { + foreach ($this->workSheetCollection as $worksheet) { foreach ($worksheet->getCellCollection(false) as $cellID) { $cell = $worksheet->getCell($cellID); $xfIndex = $cell->getXfIndex(); - if ($xfIndex > $pIndex ) { + if ($xfIndex > $pIndex) { // decrease xf index by 1 $cell->setXfIndex($xfIndex - 1); - } else if ($xfIndex == $pIndex) { + } elseif ($xfIndex == $pIndex) { // set to default xf index 0 $cell->setXfIndex(0); } @@ -979,7 +994,7 @@ class PHPExcel */ public function getCellXfSupervisor() { - return $this->_cellXfSupervisor; + return $this->cellXfSupervisor; } /** @@ -989,29 +1004,29 @@ class PHPExcel */ public function getCellStyleXfCollection() { - return $this->_cellStyleXfCollection; + return $this->cellStyleXfCollection; } /** * Get cellStyleXf by index * - * @param int $pIndex + * @param integer $pIndex Index to cellXf * @return PHPExcel_Style */ public function getCellStyleXfByIndex($pIndex = 0) { - return $this->_cellStyleXfCollection[$pIndex]; + return $this->cellStyleXfCollection[$pIndex]; } /** * Get cellStyleXf by hash code * * @param string $pValue - * @return PHPExcel_Style|false + * @return PHPExcel_Style|boolean False if no match found */ public function getCellStyleXfByHashCode($pValue = '') { - foreach ($this->_cellStyleXfCollection as $cellStyleXf) { + foreach ($this->cellStyleXfCollection as $cellStyleXf) { if ($cellStyleXf->getHashCode() == $pValue) { return $cellStyleXf; } @@ -1026,22 +1041,22 @@ class PHPExcel */ public function addCellStyleXf(PHPExcel_Style $pStyle) { - $this->_cellStyleXfCollection[] = $pStyle; - $pStyle->setIndex(count($this->_cellStyleXfCollection) - 1); + $this->cellStyleXfCollection[] = $pStyle; + $pStyle->setIndex(count($this->cellStyleXfCollection) - 1); } /** * Remove cellStyleXf by index * - * @param int $pIndex + * @param integer $pIndex Index to cellXf * @throws PHPExcel_Exception */ public function removeCellStyleXfByIndex($pIndex = 0) { - if ($pIndex > count($this->_cellStyleXfCollection) - 1) { + if ($pIndex > count($this->cellStyleXfCollection) - 1) { throw new PHPExcel_Exception("CellStyleXf index is out of bounds."); } else { - array_splice($this->_cellStyleXfCollection, $pIndex, 1); + array_splice($this->cellStyleXfCollection, $pIndex, 1); } } @@ -1053,12 +1068,11 @@ class PHPExcel { // how many references are there to each cellXf ? $countReferencesCellXf = array(); - foreach ($this->_cellXfCollection as $index => $cellXf) { + foreach ($this->cellXfCollection as $index => $cellXf) { $countReferencesCellXf[$index] = 0; } foreach ($this->getWorksheetIterator() as $sheet) { - // from cells foreach ($sheet->getCellCollection(false) as $cellID) { $cell = $sheet->getCell($cellID); @@ -1081,48 +1095,48 @@ class PHPExcel // remove cellXfs without references and create mapping so we can update xfIndex // for all cells and columns $countNeededCellXfs = 0; - foreach ($this->_cellXfCollection as $index => $cellXf) { + $map = array(); + foreach ($this->cellXfCollection as $index => $cellXf) { if ($countReferencesCellXf[$index] > 0 || $index == 0) { // we must never remove the first cellXf ++$countNeededCellXfs; } else { - unset($this->_cellXfCollection[$index]); + unset($this->cellXfCollection[$index]); } $map[$index] = $countNeededCellXfs - 1; } - $this->_cellXfCollection = array_values($this->_cellXfCollection); + $this->cellXfCollection = array_values($this->cellXfCollection); // update the index for all cellXfs - foreach ($this->_cellXfCollection as $i => $cellXf) { + foreach ($this->cellXfCollection as $i => $cellXf) { $cellXf->setIndex($i); } // make sure there is always at least one cellXf (there should be) - if (empty($this->_cellXfCollection)) { - $this->_cellXfCollection[] = new PHPExcel_Style(); + if (empty($this->cellXfCollection)) { + $this->cellXfCollection[] = new PHPExcel_Style(); } // update the xfIndex for all cells, row dimensions, column dimensions foreach ($this->getWorksheetIterator() as $sheet) { - // for all cells foreach ($sheet->getCellCollection(false) as $cellID) { $cell = $sheet->getCell($cellID); - $cell->setXfIndex( $map[$cell->getXfIndex()] ); + $cell->setXfIndex($map[$cell->getXfIndex()]); } // for all row dimensions foreach ($sheet->getRowDimensions() as $rowDimension) { if ($rowDimension->getXfIndex() !== null) { - $rowDimension->setXfIndex( $map[$rowDimension->getXfIndex()] ); + $rowDimension->setXfIndex($map[$rowDimension->getXfIndex()]); } } // for all column dimensions foreach ($sheet->getColumnDimensions() as $columnDimension) { - $columnDimension->setXfIndex( $map[$columnDimension->getXfIndex()] ); + $columnDimension->setXfIndex($map[$columnDimension->getXfIndex()]); } - // also do garbage collection for all the sheets + // also do garbage collection for all the sheets $sheet->garbageCollect(); } } @@ -1132,8 +1146,8 @@ class PHPExcel * * @return string */ - public function getID() { - return $this->_uniqueID; + public function getID() + { + return $this->uniqueID; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php index f0b225163..c3b95a20c 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Autoloader.php @@ -1,8 +1,19 @@ = 0) { - return spl_autoload_register(array('PHPExcel_Autoloader', 'Load'), true, true); + return spl_autoload_register(array('PHPExcel_Autoloader', 'load'), true, true); } else { - return spl_autoload_register(array('PHPExcel_Autoloader', 'Load')); + return spl_autoload_register(array('PHPExcel_Autoloader', 'load')); } - } // function Register() - + } /** * Autoload a class identified by name * * @param string $pClassName Name of the object to load */ - public static function Load($pClassName){ - if ((class_exists($pClassName,FALSE)) || (strpos($pClassName, 'PHPExcel') !== 0)) { - // Either already loaded, or not a PHPExcel class request - return FALSE; + public static function load($pClassName) + { + if ((class_exists($pClassName, false)) || (strpos($pClassName, 'PHPExcel') !== 0)) { + // Either already loaded, or not a PHPExcel class request + return false; } $pClassFilePath = PHPEXCEL_ROOT . - str_replace('_',DIRECTORY_SEPARATOR,$pClassName) . - '.php'; + str_replace('_', DIRECTORY_SEPARATOR, $pClassName) . + '.php'; - if ((file_exists($pClassFilePath) === FALSE) || (is_readable($pClassFilePath) === FALSE)) { - // Can't load - return FALSE; + if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) { + // Can't load + return false; } require($pClassFilePath); - } // function Load() - + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php index 8bde7fe3e..c74b07fee 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/APC.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - if (!apc_store($this->_cachePrefix.$this->_currentObjectID.'.cache',serialize($this->_currentObject),$this->_cacheTime)) { + if (!apc_store( + $this->cachePrefix . $this->currentObjectID . '.cache', + serialize($this->currentObject), + $this->cacheTime + )) { $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in APC'); + throw new PHPExcel_Exception('Failed to store cell ' . $this->currentObjectID . ' in APC'); } - $this->_currentCellIsDirty = false; + $this->currentCellIsDirty = false; } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() - + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address @@ -83,19 +78,19 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @return PHPExcel_Cell * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); } - $this->_cellCache[$pCoord] = true; + $this->cellCache[$pCoord] = true; - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; return $cell; - } // function addCacheData() - + } /** * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? @@ -105,15 +100,16 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @throws PHPExcel_Exception * @return boolean */ - public function isDataSet($pCoord) { + public function isDataSet($pCoord) + { // Check if the requested entry is the current object, or exists in the cache if (parent::isDataSet($pCoord)) { - if ($this->_currentObjectID == $pCoord) { + if ($this->currentObjectID == $pCoord) { return true; } // Check if the requested entry still exists in apc - $success = apc_fetch($this->_cachePrefix.$pCoord.'.cache'); - if ($success === FALSE) { + $success = apc_fetch($this->cachePrefix.$pCoord.'.cache'); + if ($success === false) { // Entry no longer exists in APC, so clear it from the cache array parent::deleteCacheData($pCoord); throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache'); @@ -121,8 +117,7 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach return true; } return false; - } // function isDataSet() - + } /** * Get cell at a specific coordinate @@ -132,16 +127,17 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @throws PHPExcel_Exception * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; } - $this->_storeData(); + $this->storeData(); // Check if the entry that has been requested actually exists if (parent::isDataSet($pCoord)) { - $obj = apc_fetch($this->_cachePrefix.$pCoord.'.cache'); - if ($obj === FALSE) { + $obj = apc_fetch($this->cachePrefix . $pCoord . '.cache'); + if ($obj === false) { // Entry no longer exists in APC, so clear it from the cache array parent::deleteCacheData($pCoord); throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in APC cache'); @@ -152,29 +148,28 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach } // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = unserialize($obj); + $this->currentObjectID = $pCoord; + $this->currentObject = unserialize($obj); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); // Return requested entry - return $this->_currentObject; - } // function getCacheData() + return $this->currentObject; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } - - return parent::getCellList(); - } - + return parent::getCellList(); + } /** * Delete a cell in cache identified by coordinate address @@ -183,14 +178,14 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @param string $pCoord Coordinate address of the cell to delete * @throws PHPExcel_Exception */ - public function deleteCacheData($pCoord) { + public function deleteCacheData($pCoord) + { // Delete the entry from APC - apc_delete($this->_cachePrefix.$pCoord.'.cache'); + apc_delete($this->cachePrefix.$pCoord.'.cache'); // Delete the entry from our cell address array parent::deleteCacheData($pCoord); - } // function deleteCacheData() - + } /** * Clone the cell collection @@ -200,50 +195,50 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @throws PHPExcel_Exception * @return void */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { + public function copyCellCollection(PHPExcel_Worksheet $parent) + { parent::copyCellCollection($parent); // Get a new id for the new file name - $baseUnique = $this->_getUniqueID(); - $newCachePrefix = substr(md5($baseUnique),0,8).'.'; + $baseUnique = $this->getUniqueID(); + $newCachePrefix = substr(md5($baseUnique), 0, 8) . '.'; $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - if ($cellID != $this->_currentObjectID) { - $obj = apc_fetch($this->_cachePrefix.$cellID.'.cache'); - if ($obj === FALSE) { + foreach ($cacheList as $cellID) { + if ($cellID != $this->currentObjectID) { + $obj = apc_fetch($this->cachePrefix . $cellID . '.cache'); + if ($obj === false) { // Entry no longer exists in APC, so clear it from the cache array parent::deleteCacheData($cellID); - throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in APC'); + throw new PHPExcel_Exception('Cell entry ' . $cellID . ' no longer exists in APC'); } - if (!apc_store($newCachePrefix.$cellID.'.cache',$obj,$this->_cacheTime)) { + if (!apc_store($newCachePrefix . $cellID . '.cache', $obj, $this->cacheTime)) { $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in APC'); + throw new PHPExcel_Exception('Failed to store cell ' . $cellID . ' in APC'); } } } - $this->_cachePrefix = $newCachePrefix; - } // function copyCellCollection() - + $this->cachePrefix = $newCachePrefix; + } /** * Clear the cell collection and disconnect from our parent * * @return void */ - public function unsetWorksheetCells() { - if ($this->_currentObject !== NULL) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; + public function unsetWorksheetCells() + { + if ($this->currentObject !== null) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; } // Flush the APC cache $this->__destruct(); - $this->_cellCache = array(); + $this->cellCache = array(); // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() - + $this->parent = null; + } /** * Initialise this new cell collection @@ -251,29 +246,29 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * @param PHPExcel_Worksheet $parent The worksheet for this cell collection * @param array of mixed $arguments Additional initialisation arguments */ - public function __construct(PHPExcel_Worksheet $parent, $arguments) { + public function __construct(PHPExcel_Worksheet $parent, $arguments) + { $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; - if ($this->_cachePrefix === NULL) { - $baseUnique = $this->_getUniqueID(); - $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; - $this->_cacheTime = $cacheTime; + if ($this->cachePrefix === null) { + $baseUnique = $this->getUniqueID(); + $this->cachePrefix = substr(md5($baseUnique), 0, 8) . '.'; + $this->cacheTime = $cacheTime; parent::__construct($parent); } - } // function __construct() - + } /** * Destroy this cell collection */ - public function __destruct() { + public function __destruct() + { $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - apc_delete($this->_cachePrefix.$cellID.'.cache'); + foreach ($cacheList as $cellID) { + apc_delete($this->cachePrefix . $cellID . '.cache'); } - } // function __destruct() - + } /** * Identify whether the caching method is currently available @@ -281,15 +276,15 @@ class PHPExcel_CachedObjectStorage_APC extends PHPExcel_CachedObjectStorage_Cach * * @return boolean */ - public static function cacheMethodIsAvailable() { + public static function cacheMethodIsAvailable() + { if (!function_exists('apc_store')) { - return FALSE; + return false; } - if (apc_sma_info() === FALSE) { - return FALSE; + if (apc_sma_info() === false) { + return false; } - return TRUE; + return true; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php index ab2bf4ea7..9a12ec86e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/CacheBase.php @@ -1,8 +1,9 @@ parent = $parent; + } + /** + * Return the parent worksheet for this cell collection + * + * @return PHPExcel_Worksheet + */ + public function getParent() + { + return $this->parent; + } - /** - * Flag indicating whether the currently active Cell requires saving - * - * @var boolean - */ - protected $_currentCellIsDirty = true; + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return true; + } + // Check if the requested entry exists in the cache + return isset($this->cellCache[$pCoord]); + } - /** - * An array of cells or cell pointers for the worksheet cells held in this cache, - * and indexed by their coordinate address within the worksheet - * - * @var array of mixed - */ - protected $_cellCache = array(); - - - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - */ - public function __construct(PHPExcel_Worksheet $parent) { - // Set our parent worksheet. - // This is maintained within the cache controller to facilitate re-attaching it to PHPExcel_Cell objects when - // they are woken from a serialized state - $this->_parent = $parent; - } // function __construct() - - - /** - * Return the parent worksheet for this cell collection - * - * @return PHPExcel_Worksheet - */ - public function getParent() - { - return $this->_parent; - } - - /** - * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? - * - * @param string $pCoord Coordinate address of the cell to check - * @return boolean - */ - public function isDataSet($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return true; - } - // Check if the requested entry exists in the cache - return isset($this->_cellCache[$pCoord]); - } // function isDataSet() - - - /** - * Move a cell object from one address to another - * - * @param string $fromAddress Current address of the cell to move - * @param string $toAddress Destination address of the cell to move - * @return boolean - */ - public function moveCell($fromAddress, $toAddress) { - if ($fromAddress === $this->_currentObjectID) { - $this->_currentObjectID = $toAddress; - } - $this->_currentCellIsDirty = true; - if (isset($this->_cellCache[$fromAddress])) { - $this->_cellCache[$toAddress] = &$this->_cellCache[$fromAddress]; - unset($this->_cellCache[$fromAddress]); - } - - return TRUE; - } // function moveCell() + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) + { + if ($fromAddress === $this->currentObjectID) { + $this->currentObjectID = $toAddress; + } + $this->currentCellIsDirty = true; + if (isset($this->cellCache[$fromAddress])) { + $this->cellCache[$toAddress] = &$this->cellCache[$fromAddress]; + unset($this->cellCache[$fromAddress]); + } + return true; + } /** * Add or Update a cell in cache * - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function updateCacheData(PHPExcel_Cell $cell) { - return $this->addCacheData($cell->getCoordinate(),$cell); - } // function updateCacheData() - + public function updateCacheData(PHPExcel_Cell $cell) + { + return $this->addCacheData($cell->getCoordinate(), $cell); + } /** * Delete a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to delete - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception */ - public function deleteCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID && !is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObjectID = $this->_currentObject = null; - } + public function deleteCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID && !is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObjectID = $this->currentObject = null; + } - if (is_object($this->_cellCache[$pCoord])) { - $this->_cellCache[$pCoord]->detach(); - unset($this->_cellCache[$pCoord]); - } - $this->_currentCellIsDirty = false; - } // function deleteCacheData() + if (is_object($this->cellCache[$pCoord])) { + $this->cellCache[$pCoord]->detach(); + unset($this->cellCache[$pCoord]); + } + $this->currentCellIsDirty = false; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + return array_keys($this->cellCache); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - return array_keys($this->_cellCache); - } // function getCellList() + /** + * Sort the list of all cell addresses currently held in cache by row and column + * + * @return string[] + */ + public function getSortedCellList() + { + $sortKeys = array(); + foreach ($this->getCellList() as $coord) { + sscanf($coord, '%[A-Z]%d', $column, $row); + $sortKeys[sprintf('%09d%3s', $row, $column)] = $coord; + } + ksort($sortKeys); + return array_values($sortKeys); + } - /** - * Sort the list of all cell addresses currently held in cache by row and column - * - * @return string[] - */ - public function getSortedCellList() { - $sortKeys = array(); - foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $column, $row); - $sortKeys[sprintf('%09d%3s',$row,$column)] = $coord; - } - ksort($sortKeys); + /** + * Get highest worksheet column and highest row that have cell records + * + * @return array Highest column name and highest row number + */ + public function getHighestRowAndColumn() + { + // Lookup highest column and highest row + $col = array('A' => '1A'); + $row = array(1); + foreach ($this->getCellList() as $coord) { + sscanf($coord, '%[A-Z]%d', $c, $r); + $row[$r] = $r; + $col[$c] = strlen($c).$c; + } + if (!empty($row)) { + // Determine highest column and row + $highestRow = max($row); + $highestColumn = substr(max($col), 1); + } - return array_values($sortKeys); - } // function sortCellList() + return array( + 'row' => $highestRow, + 'column' => $highestColumn + ); + } + /** + * Return the cell address of the currently active cell object + * + * @return string + */ + public function getCurrentAddress() + { + return $this->currentObjectID; + } + /** + * Return the column address of the currently active cell object + * + * @return string + */ + public function getCurrentColumn() + { + sscanf($this->currentObjectID, '%[A-Z]%d', $column, $row); + return $column; + } - /** - * Get highest worksheet column and highest row that have cell records - * - * @return array Highest column name and highest row number - */ - public function getHighestRowAndColumn() - { - // Lookup highest column and highest row - $col = array('A' => '1A'); - $row = array(1); - foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $c, $r); - $row[$r] = $r; - $col[$c] = strlen($c).$c; - } - if (!empty($row)) { - // Determine highest column and row - $highestRow = max($row); - $highestColumn = substr(max($col),1); - } + /** + * Return the row address of the currently active cell object + * + * @return integer + */ + public function getCurrentRow() + { + sscanf($this->currentObjectID, '%[A-Z]%d', $column, $row); + return (integer) $row; + } - return array( 'row' => $highestRow, - 'column' => $highestColumn - ); - } - - - /** - * Return the cell address of the currently active cell object - * - * @return string - */ - public function getCurrentAddress() - { - return $this->_currentObjectID; - } - - /** - * Return the column address of the currently active cell object - * - * @return string - */ - public function getCurrentColumn() - { - sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); - return $column; - } - - /** - * Return the row address of the currently active cell object - * - * @return integer - */ - public function getCurrentRow() - { - sscanf($this->_currentObjectID, '%[A-Z]%d', $column, $row); - return (integer) $row; - } - - /** - * Get highest worksheet column - * + /** + * Get highest worksheet column + * * @param string $row Return the highest column for the specified row, * or the highest column of any row if no row number is passed - * @return string Highest column name - */ - public function getHighestColumn($row = null) - { + * @return string Highest column name + */ + public function getHighestColumn($row = null) + { if ($row == null) { - $colRow = $this->getHighestRowAndColumn(); - return $colRow['column']; + $colRow = $this->getHighestRowAndColumn(); + return $colRow['column']; } $columnList = array(1); foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $c, $r); + sscanf($coord, '%[A-Z]%d', $c, $r); if ($r != $row) { continue; } @@ -276,23 +265,23 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { return PHPExcel_Cell::stringFromColumnIndex(max($columnList) - 1); } - /** - * Get highest worksheet row - * + /** + * Get highest worksheet row + * * @param string $column Return the highest row for the specified column, * or the highest row of any column if no column letter is passed - * @return int Highest row number - */ - public function getHighestRow($column = null) - { + * @return int Highest row number + */ + public function getHighestRow($column = null) + { if ($column == null) { - $colRow = $this->getHighestRowAndColumn(); - return $colRow['row']; + $colRow = $this->getHighestRowAndColumn(); + return $colRow['row']; } $rowList = array(0); foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $c, $r); + sscanf($coord, '%[A-Z]%d', $c, $r); if ($c != $column) { continue; } @@ -300,38 +289,39 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { } return max($rowList); - } + } + /** + * Generate a unique ID for cache referencing + * + * @return string Unique Reference + */ + protected function getUniqueID() + { + if (function_exists('posix_getpid')) { + $baseUnique = posix_getpid(); + } else { + $baseUnique = mt_rand(); + } + return uniqid($baseUnique, true); + } - /** - * Generate a unique ID for cache referencing - * - * @return string Unique Reference - */ - protected function _getUniqueID() { - if (function_exists('posix_getpid')) { - $baseUnique = posix_getpid(); - } else { - $baseUnique = mt_rand(); - } - return uniqid($baseUnique,true); - } + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + $this->currentCellIsDirty; + $this->storeData(); - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - $this->_currentCellIsDirty; - $this->_storeData(); - - $this->_parent = $parent; - if (($this->_currentObject !== NULL) && (is_object($this->_currentObject))) { - $this->_currentObject->attach($this); - } - } // function copyCellCollection() + $this->parent = $parent; + if (($this->currentObject !== null) && (is_object($this->currentObject))) { + $this->currentObject->attach($this); + } + } // function copyCellCollection() /** * Remove a row, deleting all cells in that row @@ -339,9 +329,10 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { * @param string $row Row number to remove * @return void */ - public function removeRow($row) { + public function removeRow($row) + { foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $c, $r); + sscanf($coord, '%[A-Z]%d', $c, $r); if ($r == $row) { $this->deleteCacheData($coord); } @@ -354,23 +345,24 @@ abstract class PHPExcel_CachedObjectStorage_CacheBase { * @param string $column Column ID to remove * @return void */ - public function removeColumn($column) { + public function removeColumn($column) + { foreach ($this->getCellList() as $coord) { - sscanf($coord,'%[A-Z]%d', $c, $r); + sscanf($coord, '%[A-Z]%d', $c, $r); if ($c == $column) { $this->deleteCacheData($coord); } } } - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - return true; - } - + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php index c0e2ebcbd..13bc03375 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/DiscISAM.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - fseek($this->_fileHandle,0,SEEK_END); - - $this->_cellCache[$this->_currentObjectID] = array( - 'ptr' => ftell($this->_fileHandle), - 'sz' => fwrite($this->_fileHandle, serialize($this->_currentObject)) - ); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + fseek($this->fileHandle, 0, SEEK_END); + $this->cellCache[$this->currentObjectID] = array( + 'ptr' => ftell($this->fileHandle), + 'sz' => fwrite($this->fileHandle, serialize($this->currentObject)) + ); + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; - - return $cell; - } // function addCacheData() + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - fseek($this->_fileHandle, $this->_cellCache[$pCoord]['ptr']); - $this->_currentObject = unserialize(fread($this->_fileHandle, $this->_cellCache[$pCoord]['sz'])); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + fseek($this->fileHandle, $this->cellCache[$pCoord]['ptr']); + $this->currentObject = unserialize(fread($this->fileHandle, $this->cellCache[$pCoord]['sz'])); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + return parent::getCellList(); + } - return parent::getCellList(); - } + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->getUniqueID(); + $newFileName = $this->cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; + // Copy the existing cell cache file + copy($this->fileName, $newFileName); + $this->fileName = $newFileName; + // Open the copied cell cache file + $this->fileHandle = fopen($this->fileName, 'a+'); + } + /** + * Clear the cell collection and disconnect from our parent + * + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + $this->cellCache = array(); - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - parent::copyCellCollection($parent); - // Get a new id for the new file name - $baseUnique = $this->_getUniqueID(); - $newFileName = $this->_cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; - // Copy the existing cell cache file - copy ($this->_fileName,$newFileName); - $this->_fileName = $newFileName; - // Open the copied cell cache file - $this->_fileHandle = fopen($this->_fileName,'a+'); - } // function copyCellCollection() + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + // Close down the temporary cache file + $this->__destruct(); + } - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - $this->_cellCache = array(); + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) + { + $this->cacheDirectory = ((isset($arguments['dir'])) && ($arguments['dir'] !== null)) + ? $arguments['dir'] + : PHPExcel_Shared_File::sys_get_temp_dir(); - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - - // Close down the temporary cache file - $this->__destruct(); - } // function unsetWorksheetCells() - - - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - * @param array of mixed $arguments Additional initialisation arguments - */ - public function __construct(PHPExcel_Worksheet $parent, $arguments) { - $this->_cacheDirectory = ((isset($arguments['dir'])) && ($arguments['dir'] !== NULL)) - ? $arguments['dir'] - : PHPExcel_Shared_File::sys_get_temp_dir(); - - parent::__construct($parent); - if (is_null($this->_fileHandle)) { - $baseUnique = $this->_getUniqueID(); - $this->_fileName = $this->_cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; - $this->_fileHandle = fopen($this->_fileName,'a+'); - } - } // function __construct() - - - /** - * Destroy this cell collection - */ - public function __destruct() { - if (!is_null($this->_fileHandle)) { - fclose($this->_fileHandle); - unlink($this->_fileName); - } - $this->_fileHandle = null; - } // function __destruct() + parent::__construct($parent); + if (is_null($this->fileHandle)) { + $baseUnique = $this->getUniqueID(); + $this->fileName = $this->cacheDirectory.'/PHPExcel.'.$baseUnique.'.cache'; + $this->fileHandle = fopen($this->fileName, 'a+'); + } + } + /** + * Destroy this cell collection + */ + public function __destruct() + { + if (!is_null($this->fileHandle)) { + fclose($this->fileHandle); + unlink($this->fileName); + } + $this->fileHandle = null; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php index 220905cd4..aafef6e9c 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/ICache.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - $this->_cellCache[$this->_currentObjectID] = igbinary_serialize($this->_currentObject); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + $this->cellCache[$this->currentObjectID] = igbinary_serialize($this->currentObject); + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } // function _storeData() /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; - return $cell; - } // function addCacheData() + return $cell; + } // function addCacheData() /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = igbinary_unserialize($this->_cellCache[$pCoord]); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + $this->currentObject = igbinary_unserialize($this->cellCache[$pCoord]); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } // function getCacheData() - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - return parent::getCellList(); - } + return parent::getCellList(); + } - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - $this->_cellCache = array(); + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + $this->cellCache = array(); - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } // function unsetWorksheetCells() - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - if (!function_exists('igbinary_serialize')) { - return false; - } - - return true; - } + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + if (!function_exists('igbinary_serialize')) { + return false; + } + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php index 4b959dbde..07942cc3f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memcache.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - $obj = serialize($this->_currentObject); - if (!$this->_memcache->replace($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) { - if (!$this->_memcache->add($this->_cachePrefix.$this->_currentObjectID.'.cache',$obj,NULL,$this->_cacheTime)) { - $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in MemCache'); - } - } - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + $obj = serialize($this->currentObject); + if (!$this->memcache->replace($this->cachePrefix . $this->currentObjectID . '.cache', $obj, null, $this->cacheTime)) { + if (!$this->memcache->add($this->cachePrefix . $this->currentObjectID . '.cache', $obj, null, $this->cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception("Failed to store cell {$this->currentObjectID} in MemCache"); + } + } + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } // function _storeData() /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } - $this->_cellCache[$pCoord] = true; + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } + $this->cellCache[$pCoord] = true; - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; - return $cell; - } // function addCacheData() + return $cell; + } // function addCacheData() - /** - * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? - * - * @param string $pCoord Coordinate address of the cell to check - * @return boolean - * @return boolean - */ - public function isDataSet($pCoord) { - // Check if the requested entry is the current object, or exists in the cache - if (parent::isDataSet($pCoord)) { - if ($this->_currentObjectID == $pCoord) { - return true; - } - // Check if the requested entry still exists in Memcache - $success = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache'); - if ($success === false) { - // Entry no longer exists in Memcache, so clear it from the cache array - parent::deleteCacheData($pCoord); - throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache'); - } - return true; - } - return false; - } // function isDataSet() + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + * @return boolean + */ + public function isDataSet($pCoord) + { + // Check if the requested entry is the current object, or exists in the cache + if (parent::isDataSet($pCoord)) { + if ($this->currentObjectID == $pCoord) { + return true; + } + // Check if the requested entry still exists in Memcache + $success = $this->memcache->get($this->cachePrefix.$pCoord.'.cache'); + if ($success === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache'); + } + return true; + } + return false; + } - /** + /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (parent::isDataSet($pCoord)) { - $obj = $this->_memcache->get($this->_cachePrefix.$pCoord.'.cache'); - if ($obj === false) { - // Entry no longer exists in Memcache, so clear it from the cache array - parent::deleteCacheData($pCoord); - throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in MemCache'); - } - } else { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (parent::isDataSet($pCoord)) { + $obj = $this->memcache->get($this->cachePrefix . $pCoord . '.cache'); + if ($obj === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception("Cell entry {$pCoord} no longer exists in MemCache"); + } + } else { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = unserialize($obj); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + $this->currentObject = unserialize($obj); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } - - return parent::getCellList(); - } - + return parent::getCellList(); + } /** * Delete a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to delete - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception */ - public function deleteCacheData($pCoord) { - // Delete the entry from Memcache - $this->_memcache->delete($this->_cachePrefix.$pCoord.'.cache'); + public function deleteCacheData($pCoord) + { + // Delete the entry from Memcache + $this->memcache->delete($this->cachePrefix . $pCoord . '.cache'); - // Delete the entry from our cell address array - parent::deleteCacheData($pCoord); - } // function deleteCacheData() + // Delete the entry from our cell address array + parent::deleteCacheData($pCoord); + } + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->getUniqueID(); + $newCachePrefix = substr(md5($baseUnique), 0, 8) . '.'; + $cacheList = $this->getCellList(); + foreach ($cacheList as $cellID) { + if ($cellID != $this->currentObjectID) { + $obj = $this->memcache->get($this->cachePrefix.$cellID.'.cache'); + if ($obj === false) { + // Entry no longer exists in Memcache, so clear it from the cache array + parent::deleteCacheData($cellID); + throw new PHPExcel_Exception("Cell entry {$cellID} no longer exists in MemCache"); + } + if (!$this->memcache->add($newCachePrefix . $cellID . '.cache', $obj, null, $this->cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception("Failed to store cell {$cellID} in MemCache"); + } + } + } + $this->cachePrefix = $newCachePrefix; + } - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - parent::copyCellCollection($parent); - // Get a new id for the new file name - $baseUnique = $this->_getUniqueID(); - $newCachePrefix = substr(md5($baseUnique),0,8).'.'; - $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - if ($cellID != $this->_currentObjectID) { - $obj = $this->_memcache->get($this->_cachePrefix.$cellID.'.cache'); - if ($obj === false) { - // Entry no longer exists in Memcache, so clear it from the cache array - parent::deleteCacheData($cellID); - throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in MemCache'); - } - if (!$this->_memcache->add($newCachePrefix.$cellID.'.cache',$obj,NULL,$this->_cacheTime)) { - $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in MemCache'); - } - } - } - $this->_cachePrefix = $newCachePrefix; - } // function copyCellCollection() + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + // Flush the Memcache cache + $this->__destruct(); - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } + $this->cellCache = array(); - // Flush the Memcache cache - $this->__destruct(); + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } - $this->_cellCache = array(); + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) + { + $memcacheServer = (isset($arguments['memcacheServer'])) ? $arguments['memcacheServer'] : 'localhost'; + $memcachePort = (isset($arguments['memcachePort'])) ? $arguments['memcachePort'] : 11211; + $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() + if (is_null($this->cachePrefix)) { + $baseUnique = $this->getUniqueID(); + $this->cachePrefix = substr(md5($baseUnique), 0, 8) . '.'; + // Set a new Memcache object and connect to the Memcache server + $this->memcache = new Memcache(); + if (!$this->memcache->addServer($memcacheServer, $memcachePort, false, 50, 5, 5, true, array($this, 'failureCallback'))) { + throw new PHPExcel_Exception("Could not connect to MemCache server at {$memcacheServer}:{$memcachePort}"); + } + $this->cacheTime = $cacheTime; - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - * @param array of mixed $arguments Additional initialisation arguments - */ - public function __construct(PHPExcel_Worksheet $parent, $arguments) { - $memcacheServer = (isset($arguments['memcacheServer'])) ? $arguments['memcacheServer'] : 'localhost'; - $memcachePort = (isset($arguments['memcachePort'])) ? $arguments['memcachePort'] : 11211; - $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; + parent::__construct($parent); + } + } - if (is_null($this->_cachePrefix)) { - $baseUnique = $this->_getUniqueID(); - $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; + /** + * Memcache error handler + * + * @param string $host Memcache server + * @param integer $port Memcache port + * @throws PHPExcel_Exception + */ + public function failureCallback($host, $port) + { + throw new PHPExcel_Exception("memcache {$host}:{$port} failed"); + } - // Set a new Memcache object and connect to the Memcache server - $this->_memcache = new Memcache(); - if (!$this->_memcache->addServer($memcacheServer, $memcachePort, false, 50, 5, 5, true, array($this, 'failureCallback'))) { - throw new PHPExcel_Exception('Could not connect to MemCache server at '.$memcacheServer.':'.$memcachePort); - } - $this->_cacheTime = $cacheTime; + /** + * Destroy this cell collection + */ + public function __destruct() + { + $cacheList = $this->getCellList(); + foreach ($cacheList as $cellID) { + $this->memcache->delete($this->cachePrefix.$cellID . '.cache'); + } + } - parent::__construct($parent); - } - } // function __construct() - - - /** - * Memcache error handler - * - * @param string $host Memcache server - * @param integer $port Memcache port - * @throws PHPExcel_Exception - */ - public function failureCallback($host, $port) { - throw new PHPExcel_Exception('memcache '.$host.':'.$port.' failed'); - } - - - /** - * Destroy this cell collection - */ - public function __destruct() { - $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - $this->_memcache->delete($this->_cachePrefix.$cellID.'.cache'); - } - } // function __destruct() - - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - if (!function_exists('memcache_add')) { - return false; - } - - return true; - } + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + if (!function_exists('memcache_add')) { + return false; + } + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php index bedcfeca5..0e2ea0b07 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Memory.php @@ -1,8 +1,9 @@ _cellCache[$pCoord] = $cell; + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + $this->cellCache[$pCoord] = $cell; - // Set current entry to the new/updated entry - $this->_currentObjectID = $pCoord; + // Set current entry to the new/updated entry + $this->currentObjectID = $pCoord; - return $cell; - } // function addCacheData() + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - $this->_currentObjectID = NULL; - // Return null if requested entry doesn't exist in cache - return null; - } + public function getCacheData($pCoord) + { + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + $this->currentObjectID = null; + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; - // Return requested entry - return $this->_cellCache[$pCoord]; - } // function getCacheData() + // Return requested entry + return $this->cellCache[$pCoord]; + } - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - parent::copyCellCollection($parent); + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + parent::copyCellCollection($parent); - $newCollection = array(); - foreach($this->_cellCache as $k => &$cell) { - $newCollection[$k] = clone $cell; - $newCollection[$k]->attach($this); - } + $newCollection = array(); + foreach ($this->cellCache as $k => &$cell) { + $newCollection[$k] = clone $cell; + $newCollection[$k]->attach($this); + } - $this->_cellCache = $newCollection; - } + $this->cellCache = $newCollection; + } + /** + * Clear the cell collection and disconnect from our parent + * + */ + public function unsetWorksheetCells() + { + // Because cells are all stored as intact objects in memory, we need to detach each one from the parent + foreach ($this->cellCache as $k => &$cell) { + $cell->detach(); + $this->cellCache[$k] = null; + } + unset($cell); - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - // Because cells are all stored as intact objects in memory, we need to detach each one from the parent - foreach($this->_cellCache as $k => &$cell) { - $cell->detach(); - $this->_cellCache[$k] = null; - } - unset($cell); - - $this->_cellCache = array(); - - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() + $this->cellCache = array(); + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php index 5a0227f71..c06ec714f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemoryGZip.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - $this->_cellCache[$this->_currentObjectID] = gzdeflate(serialize($this->_currentObject)); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + $this->cellCache[$this->currentObjectID] = gzdeflate(serialize($this->currentObject)); + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; - return $cell; - } // function addCacheData() + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = unserialize(gzinflate($this->_cellCache[$pCoord])); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + $this->currentObject = unserialize(gzinflate($this->cellCache[$pCoord])); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - return parent::getCellList(); - } + return parent::getCellList(); + } - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - $this->_cellCache = array(); - - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + $this->cellCache = array(); + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php index a922b19a1..133251499 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/MemorySerialized.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); - - $this->_cellCache[$this->_currentObjectID] = serialize($this->_currentObject); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); + $this->cellCache[$this->currentObjectID] = serialize($this->currentObject); + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; - - return $cell; - } // function addCacheData() + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = unserialize($this->_cellCache[$pCoord]); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + $this->currentObject = unserialize($this->cellCache[$pCoord]); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + return parent::getCellList(); + } - return parent::getCellList(); - } - - - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - $this->_cellCache = array(); - - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + $this->cellCache = array(); + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php index 8a6364aed..43c781971 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/PHPTemp.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - fseek($this->_fileHandle,0,SEEK_END); + fseek($this->fileHandle, 0, SEEK_END); - $this->_cellCache[$this->_currentObjectID] = array( - 'ptr' => ftell($this->_fileHandle), - 'sz' => fwrite($this->_fileHandle, serialize($this->_currentObject)) - ); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + $this->cellCache[$this->currentObjectID] = array( + 'ptr' => ftell($this->fileHandle), + 'sz' => fwrite($this->fileHandle, serialize($this->currentObject)) + ); + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; - return $cell; - } // function addCacheData() + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - // Check if the entry that has been requested actually exists - if (!isset($this->_cellCache[$pCoord])) { - // Return null if requested entry doesn't exist in cache - return null; - } + // Check if the entry that has been requested actually exists + if (!isset($this->cellCache[$pCoord])) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - fseek($this->_fileHandle,$this->_cellCache[$pCoord]['ptr']); - $this->_currentObject = unserialize(fread($this->_fileHandle,$this->_cellCache[$pCoord]['sz'])); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + fseek($this->fileHandle, $this->cellCache[$pCoord]['ptr']); + $this->currentObject = unserialize(fread($this->fileHandle, $this->cellCache[$pCoord]['sz'])); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + return parent::getCellList(); + } - return parent::getCellList(); - } + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + parent::copyCellCollection($parent); + // Open a new stream for the cell cache data + $newFileHandle = fopen('php://temp/maxmemory:' . $this->memoryCacheSize, 'a+'); + // Copy the existing cell cache data to the new stream + fseek($this->fileHandle, 0); + while (!feof($this->fileHandle)) { + fwrite($newFileHandle, fread($this->fileHandle, 1024)); + } + $this->fileHandle = $newFileHandle; + } + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + $this->cellCache = array(); - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - parent::copyCellCollection($parent); - // Open a new stream for the cell cache data - $newFileHandle = fopen('php://temp/maxmemory:'.$this->_memoryCacheSize,'a+'); - // Copy the existing cell cache data to the new stream - fseek($this->_fileHandle,0); - while (!feof($this->_fileHandle)) { - fwrite($newFileHandle,fread($this->_fileHandle, 1024)); - } - $this->_fileHandle = $newFileHandle; - } // function copyCellCollection() + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + // Close down the php://temp file + $this->__destruct(); + } - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - $this->_cellCache = array(); + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) + { + $this->memoryCacheSize = (isset($arguments['memoryCacheSize'])) ? $arguments['memoryCacheSize'] : '1MB'; - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - - // Close down the php://temp file - $this->__destruct(); - } // function unsetWorksheetCells() - - - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - * @param array of mixed $arguments Additional initialisation arguments - */ - public function __construct(PHPExcel_Worksheet $parent, $arguments) { - $this->_memoryCacheSize = (isset($arguments['memoryCacheSize'])) ? $arguments['memoryCacheSize'] : '1MB'; - - parent::__construct($parent); - if (is_null($this->_fileHandle)) { - $this->_fileHandle = fopen('php://temp/maxmemory:'.$this->_memoryCacheSize,'a+'); - } - } // function __construct() - - - /** - * Destroy this cell collection - */ - public function __destruct() { - if (!is_null($this->_fileHandle)) { - fclose($this->_fileHandle); - } - $this->_fileHandle = null; - } // function __destruct() + parent::__construct($parent); + if (is_null($this->fileHandle)) { + $this->fileHandle = fopen('php://temp/maxmemory:' . $this->memoryCacheSize, 'a+'); + } + } + /** + * Destroy this cell collection + */ + public function __destruct() + { + if (!is_null($this->fileHandle)) { + fclose($this->fileHandle); + } + $this->fileHandle = null; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php index e752e853e..e7b50c5bd 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); - - if (!$this->_DBHandle->queryExec("INSERT OR REPLACE INTO kvp_".$this->_TableName." VALUES('".$this->_currentObjectID."','".sqlite_escape_string(serialize($this->_currentObject))."')")) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); + if (!$this->DBHandle->queryExec("INSERT OR REPLACE INTO kvp_".$this->TableName." VALUES('".$this->currentObjectID."','".sqlite_escape_string(serialize($this->currentObject))."')")) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; - - return $cell; - } // function addCacheData() + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - $query = "SELECT value FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; - $cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC); - if ($cellResultSet === false) { - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); - } elseif ($cellResultSet->numRows() == 0) { - // Return null if requested entry doesn't exist in cache - return null; - } + $query = "SELECT value FROM kvp_".$this->TableName." WHERE id='".$pCoord."'"; + $cellResultSet = $this->DBHandle->query($query, SQLITE_ASSOC); + if ($cellResultSet === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } elseif ($cellResultSet->numRows() == 0) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; - $cellResult = $cellResultSet->fetchSingle(); - $this->_currentObject = unserialize($cellResult); + $cellResult = $cellResultSet->fetchSingle(); + $this->currentObject = unserialize($cellResult); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } + /** + * Is a value set for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return true; + } - /** - * Is a value set for an indexed cell? - * - * @param string $pCoord Coordinate address of the cell to check - * @return boolean - */ - public function isDataSet($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return true; - } - - // Check if the requested entry exists in the cache - $query = "SELECT id FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; - $cellResultSet = $this->_DBHandle->query($query,SQLITE_ASSOC); - if ($cellResultSet === false) { - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); - } elseif ($cellResultSet->numRows() == 0) { - // Return null if requested entry doesn't exist in cache - return false; - } - return true; - } // function isDataSet() - + // Check if the requested entry exists in the cache + $query = "SELECT id FROM kvp_".$this->TableName." WHERE id='".$pCoord."'"; + $cellResultSet = $this->DBHandle->query($query, SQLITE_ASSOC); + if ($cellResultSet === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } elseif ($cellResultSet->numRows() == 0) { + // Return null if requested entry doesn't exist in cache + return false; + } + return true; + } /** * Delete a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to delete - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception */ - public function deleteCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - $this->_currentObject->detach(); - $this->_currentObjectID = $this->_currentObject = null; - } + public function deleteCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + $this->currentObject->detach(); + $this->currentObjectID = $this->currentObject = null; + } - // Check if the requested entry exists in the cache - $query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$pCoord."'"; - if (!$this->_DBHandle->queryExec($query)) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + // Check if the requested entry exists in the cache + $query = "DELETE FROM kvp_".$this->TableName." WHERE id='".$pCoord."'"; + if (!$this->DBHandle->queryExec($query)) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } - $this->_currentCellIsDirty = false; - } // function deleteCacheData() + $this->currentCellIsDirty = false; + } + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) + { + if ($fromAddress === $this->currentObjectID) { + $this->currentObjectID = $toAddress; + } - /** - * Move a cell object from one address to another - * - * @param string $fromAddress Current address of the cell to move - * @param string $toAddress Destination address of the cell to move - * @return boolean - */ - public function moveCell($fromAddress, $toAddress) { - if ($fromAddress === $this->_currentObjectID) { - $this->_currentObjectID = $toAddress; - } + $query = "DELETE FROM kvp_".$this->TableName." WHERE id='".$toAddress."'"; + $result = $this->DBHandle->exec($query); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - $query = "DELETE FROM kvp_".$this->_TableName." WHERE id='".$toAddress."'"; - $result = $this->_DBHandle->exec($query); - if ($result === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + $query = "UPDATE kvp_".$this->TableName." SET id='".$toAddress."' WHERE id='".$fromAddress."'"; + $result = $this->DBHandle->exec($query); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - $query = "UPDATE kvp_".$this->_TableName." SET id='".$toAddress."' WHERE id='".$fromAddress."'"; - $result = $this->_DBHandle->exec($query); - if ($result === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + return true; + } - return TRUE; - } // function moveCell() + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } + $query = "SELECT id FROM kvp_".$this->TableName; + $cellIdsResult = $this->DBHandle->unbufferedQuery($query, SQLITE_ASSOC); + if ($cellIdsResult === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + $cellKeys = array(); + foreach ($cellIdsResult as $row) { + $cellKeys[] = $row['id']; + } - $query = "SELECT id FROM kvp_".$this->_TableName; - $cellIdsResult = $this->_DBHandle->unbufferedQuery($query,SQLITE_ASSOC); - if ($cellIdsResult === false) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + return $cellKeys; + } - $cellKeys = array(); - foreach($cellIdsResult as $row) { - $cellKeys[] = $row['id']; - } + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + $this->currentCellIsDirty; + $this->storeData(); - return $cellKeys; - } // function getCellList() + // Get a new id for the new table name + $tableName = str_replace('.', '_', $this->getUniqueID()); + if (!$this->DBHandle->queryExec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) + AS SELECT * FROM kvp_'.$this->TableName) + ) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } + // Copy the existing cell cache file + $this->TableName = $tableName; + } - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - $this->_currentCellIsDirty; - $this->_storeData(); + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; - // Get a new id for the new table name - $tableName = str_replace('.','_',$this->_getUniqueID()); - if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) - AS SELECT * FROM kvp_'.$this->_TableName)) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); + // Close down the temporary cache file + $this->__destruct(); + } - // Copy the existing cell cache file - $this->_TableName = $tableName; - } // function copyCellCollection() + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + */ + public function __construct(PHPExcel_Worksheet $parent) + { + parent::__construct($parent); + if (is_null($this->DBHandle)) { + $this->TableName = str_replace('.', '_', $this->getUniqueID()); + $_DBName = ':memory:'; + $this->DBHandle = new SQLiteDatabase($_DBName); + if ($this->DBHandle === false) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } + if (!$this->DBHandle->queryExec('CREATE TABLE kvp_'.$this->TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) { + throw new PHPExcel_Exception(sqlite_error_string($this->DBHandle->lastError())); + } + } + } - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; + /** + * Destroy this cell collection + */ + public function __destruct() + { + if (!is_null($this->DBHandle)) { + $this->DBHandle->queryExec('DROP TABLE kvp_'.$this->TableName); + } + $this->DBHandle = null; + } - // Close down the temporary cache file - $this->__destruct(); - } // function unsetWorksheetCells() - - - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - */ - public function __construct(PHPExcel_Worksheet $parent) { - parent::__construct($parent); - if (is_null($this->_DBHandle)) { - $this->_TableName = str_replace('.','_',$this->_getUniqueID()); - $_DBName = ':memory:'; - - $this->_DBHandle = new SQLiteDatabase($_DBName); - if ($this->_DBHandle === false) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); - if (!$this->_DBHandle->queryExec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) - throw new PHPExcel_Exception(sqlite_error_string($this->_DBHandle->lastError())); - } - } // function __construct() - - - /** - * Destroy this cell collection - */ - public function __destruct() { - if (!is_null($this->_DBHandle)) { - $this->_DBHandle->queryExec('DROP TABLE kvp_'.$this->_TableName); - } - $this->_DBHandle = null; - } // function __destruct() - - - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - if (!function_exists('sqlite_open')) { - return false; - } - - return true; - } + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + if (!function_exists('sqlite_open')) { + return false; + } + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php index 4f38c0319..27473d6c3 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/SQLite3.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); - - $this->_insertQuery->bindValue('id',$this->_currentObjectID,SQLITE3_TEXT); - $this->_insertQuery->bindValue('data',serialize($this->_currentObject),SQLITE3_BLOB); - $result = $this->_insertQuery->execute(); - if ($result === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); - $this->_currentCellIsDirty = false; - } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); + $this->insertQuery->bindValue('id', $this->currentObjectID, SQLITE3_TEXT); + $this->insertQuery->bindValue('data', serialize($this->currentObject), SQLITE3_BLOB); + $result = $this->insertQuery->execute(); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + $this->currentCellIsDirty = false; + } + $this->currentObjectID = $this->currentObject = null; + } /** * Add or Update a cell in cache identified by coordinate address * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; - - return $cell; - } // function addCacheData() + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; + return $cell; + } /** * Get cell at a specific coordinate * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - $this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT); - $cellResult = $this->_selectQuery->execute(); - if ($cellResult === FALSE) { - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); - } - $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); - if ($cellData === FALSE) { - // Return null if requested entry doesn't exist in cache - return NULL; - } + $this->selectQuery->bindValue('id', $pCoord, SQLITE3_TEXT); + $cellResult = $this->selectQuery->execute(); + if ($cellResult === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); + if ($cellData === false) { + // Return null if requested entry doesn't exist in cache + return null; + } - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; - $this->_currentObject = unserialize($cellData['value']); + $this->currentObject = unserialize($cellData['value']); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); - - // Return requested entry - return $this->_currentObject; - } // function getCacheData() - - - /** - * Is a value set for an indexed cell? - * - * @param string $pCoord Coordinate address of the cell to check - * @return boolean - */ - public function isDataSet($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return TRUE; - } - - // Check if the requested entry exists in the cache - $this->_selectQuery->bindValue('id',$pCoord,SQLITE3_TEXT); - $cellResult = $this->_selectQuery->execute(); - if ($cellResult === FALSE) { - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); - } - $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); - - return ($cellData === FALSE) ? FALSE : TRUE; - } // function isDataSet() + $this->currentObject->attach($this); + // Return requested entry + return $this->currentObject; + } /** - * Delete a cell in cache identified by coordinate address + * Is a value set for an indexed cell? * - * @param string $pCoord Coordinate address of the cell to delete - * @throws PHPExcel_Exception + * @param string $pCoord Coordinate address of the cell to check + * @return boolean */ - public function deleteCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - $this->_currentObject->detach(); - $this->_currentObjectID = $this->_currentObject = NULL; - } + public function isDataSet($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return true; + } - // Check if the requested entry exists in the cache - $this->_deleteQuery->bindValue('id',$pCoord,SQLITE3_TEXT); - $result = $this->_deleteQuery->execute(); - if ($result === FALSE) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + // Check if the requested entry exists in the cache + $this->selectQuery->bindValue('id', $pCoord, SQLITE3_TEXT); + $cellResult = $this->selectQuery->execute(); + if ($cellResult === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + $cellData = $cellResult->fetchArray(SQLITE3_ASSOC); - $this->_currentCellIsDirty = FALSE; - } // function deleteCacheData() + return ($cellData === false) ? false : true; + } + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + $this->currentObject->detach(); + $this->currentObjectID = $this->currentObject = null; + } - /** - * Move a cell object from one address to another - * - * @param string $fromAddress Current address of the cell to move - * @param string $toAddress Destination address of the cell to move - * @return boolean - */ - public function moveCell($fromAddress, $toAddress) { - if ($fromAddress === $this->_currentObjectID) { - $this->_currentObjectID = $toAddress; - } + // Check if the requested entry exists in the cache + $this->deleteQuery->bindValue('id', $pCoord, SQLITE3_TEXT); + $result = $this->deleteQuery->execute(); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - $this->_deleteQuery->bindValue('id',$toAddress,SQLITE3_TEXT); - $result = $this->_deleteQuery->execute(); - if ($result === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + $this->currentCellIsDirty = false; + } - $this->_updateQuery->bindValue('toid',$toAddress,SQLITE3_TEXT); - $this->_updateQuery->bindValue('fromid',$fromAddress,SQLITE3_TEXT); - $result = $this->_updateQuery->execute(); - if ($result === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + /** + * Move a cell object from one address to another + * + * @param string $fromAddress Current address of the cell to move + * @param string $toAddress Destination address of the cell to move + * @return boolean + */ + public function moveCell($fromAddress, $toAddress) + { + if ($fromAddress === $this->currentObjectID) { + $this->currentObjectID = $toAddress; + } - return TRUE; - } // function moveCell() + $this->deleteQuery->bindValue('id', $toAddress, SQLITE3_TEXT); + $result = $this->deleteQuery->execute(); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + $this->updateQuery->bindValue('toid', $toAddress, SQLITE3_TEXT); + $this->updateQuery->bindValue('fromid', $fromAddress, SQLITE3_TEXT); + $result = $this->updateQuery->execute(); + if ($result === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + return true; + } - $query = "SELECT id FROM kvp_".$this->_TableName; - $cellIdsResult = $this->_DBHandle->query($query); - if ($cellIdsResult === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - $cellKeys = array(); - while ($row = $cellIdsResult->fetchArray(SQLITE3_ASSOC)) { - $cellKeys[] = $row['id']; - } + $query = "SELECT id FROM kvp_".$this->TableName; + $cellIdsResult = $this->DBHandle->query($query); + if ($cellIdsResult === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - return $cellKeys; - } // function getCellList() + $cellKeys = array(); + while ($row = $cellIdsResult->fetchArray(SQLITE3_ASSOC)) { + $cellKeys[] = $row['id']; + } + return $cellKeys; + } - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - $this->_currentCellIsDirty; - $this->_storeData(); + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + $this->currentCellIsDirty; + $this->storeData(); - // Get a new id for the new table name - $tableName = str_replace('.','_',$this->_getUniqueID()); - if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) - AS SELECT * FROM kvp_'.$this->_TableName)) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); + // Get a new id for the new table name + $tableName = str_replace('.', '_', $this->getUniqueID()); + if (!$this->DBHandle->exec('CREATE TABLE kvp_'.$tableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB) + AS SELECT * FROM kvp_'.$this->TableName) + ) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } - // Copy the existing cell cache file - $this->_TableName = $tableName; - } // function copyCellCollection() + // Copy the existing cell cache file + $this->TableName = $tableName; + } + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; + // Close down the temporary cache file + $this->__destruct(); + } - // Close down the temporary cache file - $this->__destruct(); - } // function unsetWorksheetCells() + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + */ + public function __construct(PHPExcel_Worksheet $parent) + { + parent::__construct($parent); + if (is_null($this->DBHandle)) { + $this->TableName = str_replace('.', '_', $this->getUniqueID()); + $_DBName = ':memory:'; + $this->DBHandle = new SQLite3($_DBName); + if ($this->DBHandle === false) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + if (!$this->DBHandle->exec('CREATE TABLE kvp_'.$this->TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) { + throw new PHPExcel_Exception($this->DBHandle->lastErrorMsg()); + } + } - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - */ - public function __construct(PHPExcel_Worksheet $parent) { - parent::__construct($parent); - if (is_null($this->_DBHandle)) { - $this->_TableName = str_replace('.','_',$this->_getUniqueID()); - $_DBName = ':memory:'; + $this->selectQuery = $this->DBHandle->prepare("SELECT value FROM kvp_".$this->TableName." WHERE id = :id"); + $this->insertQuery = $this->DBHandle->prepare("INSERT OR REPLACE INTO kvp_".$this->TableName." VALUES(:id,:data)"); + $this->updateQuery = $this->DBHandle->prepare("UPDATE kvp_".$this->TableName." SET id=:toId WHERE id=:fromId"); + $this->deleteQuery = $this->DBHandle->prepare("DELETE FROM kvp_".$this->TableName." WHERE id = :id"); + } - $this->_DBHandle = new SQLite3($_DBName); - if ($this->_DBHandle === false) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); - if (!$this->_DBHandle->exec('CREATE TABLE kvp_'.$this->_TableName.' (id VARCHAR(12) PRIMARY KEY, value BLOB)')) - throw new PHPExcel_Exception($this->_DBHandle->lastErrorMsg()); - } + /** + * Destroy this cell collection + */ + public function __destruct() + { + if (!is_null($this->DBHandle)) { + $this->DBHandle->exec('DROP TABLE kvp_'.$this->TableName); + $this->DBHandle->close(); + } + $this->DBHandle = null; + } - $this->_selectQuery = $this->_DBHandle->prepare("SELECT value FROM kvp_".$this->_TableName." WHERE id = :id"); - $this->_insertQuery = $this->_DBHandle->prepare("INSERT OR REPLACE INTO kvp_".$this->_TableName." VALUES(:id,:data)"); - $this->_updateQuery = $this->_DBHandle->prepare("UPDATE kvp_".$this->_TableName." SET id=:toId WHERE id=:fromId"); - $this->_deleteQuery = $this->_DBHandle->prepare("DELETE FROM kvp_".$this->_TableName." WHERE id = :id"); - } // function __construct() - - - /** - * Destroy this cell collection - */ - public function __destruct() { - if (!is_null($this->_DBHandle)) { - $this->_DBHandle->exec('DROP TABLE kvp_'.$this->_TableName); - $this->_DBHandle->close(); - } - $this->_DBHandle = null; - } // function __destruct() - - - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - if (!class_exists('SQLite3',FALSE)) { - return false; - } - - return true; - } + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + if (!class_exists('SQLite3', false)) { + return false; + } + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php index ed475dfba..1567874ff 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorage/Wincache.php @@ -1,8 +1,9 @@ _currentCellIsDirty && !empty($this->_currentObjectID)) { - $this->_currentObject->detach(); + protected function storeData() + { + if ($this->currentCellIsDirty && !empty($this->currentObjectID)) { + $this->currentObject->detach(); - $obj = serialize($this->_currentObject); - if (wincache_ucache_exists($this->_cachePrefix.$this->_currentObjectID.'.cache')) { - if (!wincache_ucache_set($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) { - $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache'); - } - } else { - if (!wincache_ucache_add($this->_cachePrefix.$this->_currentObjectID.'.cache', $obj, $this->_cacheTime)) { - $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$this->_currentObjectID.' in WinCache'); - } - } - $this->_currentCellIsDirty = false; - } + $obj = serialize($this->currentObject); + if (wincache_ucache_exists($this->cachePrefix.$this->currentObjectID.'.cache')) { + if (!wincache_ucache_set($this->cachePrefix.$this->currentObjectID.'.cache', $obj, $this->cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->currentObjectID.' in WinCache'); + } + } else { + if (!wincache_ucache_add($this->cachePrefix.$this->currentObjectID.'.cache', $obj, $this->cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$this->currentObjectID.' in WinCache'); + } + } + $this->currentCellIsDirty = false; + } - $this->_currentObjectID = $this->_currentObject = null; - } // function _storeData() + $this->currentObjectID = $this->currentObject = null; + } + + /** + * Add or Update a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to update + * @param PHPExcel_Cell $cell Cell to update + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function addCacheData($pCoord, PHPExcel_Cell $cell) + { + if (($pCoord !== $this->currentObjectID) && ($this->currentObjectID !== null)) { + $this->storeData(); + } + $this->cellCache[$pCoord] = true; + + $this->currentObjectID = $pCoord; + $this->currentObject = $cell; + $this->currentCellIsDirty = true; + + return $cell; + } + + /** + * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? + * + * @param string $pCoord Coordinate address of the cell to check + * @return boolean + */ + public function isDataSet($pCoord) + { + // Check if the requested entry is the current object, or exists in the cache + if (parent::isDataSet($pCoord)) { + if ($this->currentObjectID == $pCoord) { + return true; + } + // Check if the requested entry still exists in cache + $success = wincache_ucache_exists($this->cachePrefix.$pCoord.'.cache'); + if ($success === false) { + // Entry no longer exists in Wincache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); + } + return true; + } + return false; + } - /** - * Add or Update a cell in cache identified by coordinate address - * - * @param string $pCoord Coordinate address of the cell to update - * @param PHPExcel_Cell $cell Cell to update - * @return PHPExcel_Cell - * @throws PHPExcel_Exception - */ - public function addCacheData($pCoord, PHPExcel_Cell $cell) { - if (($pCoord !== $this->_currentObjectID) && ($this->_currentObjectID !== null)) { - $this->_storeData(); - } - $this->_cellCache[$pCoord] = true; + /** + * Get cell at a specific coordinate + * + * @param string $pCoord Coordinate of the cell + * @throws PHPExcel_Exception + * @return PHPExcel_Cell Cell that was found, or null if not found + */ + public function getCacheData($pCoord) + { + if ($pCoord === $this->currentObjectID) { + return $this->currentObject; + } + $this->storeData(); - $this->_currentObjectID = $pCoord; - $this->_currentObject = $cell; - $this->_currentCellIsDirty = true; + // Check if the entry that has been requested actually exists + $obj = null; + if (parent::isDataSet($pCoord)) { + $success = false; + $obj = wincache_ucache_get($this->cachePrefix.$pCoord.'.cache', $success); + if ($success === false) { + // Entry no longer exists in WinCache, so clear it from the cache array + parent::deleteCacheData($pCoord); + throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); + } + } else { + // Return null if requested entry doesn't exist in cache + return null; + } - return $cell; - } // function addCacheData() - - - /** - * Is a value set in the current PHPExcel_CachedObjectStorage_ICache for an indexed cell? - * - * @param string $pCoord Coordinate address of the cell to check - * @return boolean - */ - public function isDataSet($pCoord) { - // Check if the requested entry is the current object, or exists in the cache - if (parent::isDataSet($pCoord)) { - if ($this->_currentObjectID == $pCoord) { - return true; - } - // Check if the requested entry still exists in cache - $success = wincache_ucache_exists($this->_cachePrefix.$pCoord.'.cache'); - if ($success === false) { - // Entry no longer exists in Wincache, so clear it from the cache array - parent::deleteCacheData($pCoord); - throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); - } - return true; - } - return false; - } // function isDataSet() - - - /** - * Get cell at a specific coordinate - * - * @param string $pCoord Coordinate of the cell - * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found, or null if not found - */ - public function getCacheData($pCoord) { - if ($pCoord === $this->_currentObjectID) { - return $this->_currentObject; - } - $this->_storeData(); - - // Check if the entry that has been requested actually exists - $obj = null; - if (parent::isDataSet($pCoord)) { - $success = false; - $obj = wincache_ucache_get($this->_cachePrefix.$pCoord.'.cache', $success); - if ($success === false) { - // Entry no longer exists in WinCache, so clear it from the cache array - parent::deleteCacheData($pCoord); - throw new PHPExcel_Exception('Cell entry '.$pCoord.' no longer exists in WinCache'); - } - } else { - // Return null if requested entry doesn't exist in cache - return null; - } - - // Set current entry to the requested entry - $this->_currentObjectID = $pCoord; - $this->_currentObject = unserialize($obj); + // Set current entry to the requested entry + $this->currentObjectID = $pCoord; + $this->currentObject = unserialize($obj); // Re-attach this as the cell's parent - $this->_currentObject->attach($this); + $this->currentObject->attach($this); - // Return requested entry - return $this->_currentObject; - } // function getCacheData() + // Return requested entry + return $this->currentObject; + } - /** - * Get a list of all cell addresses currently held in cache - * - * @return string[] - */ - public function getCellList() { - if ($this->_currentObjectID !== null) { - $this->_storeData(); - } + /** + * Get a list of all cell addresses currently held in cache + * + * @return string[] + */ + public function getCellList() + { + if ($this->currentObjectID !== null) { + $this->storeData(); + } - return parent::getCellList(); - } + return parent::getCellList(); + } + + /** + * Delete a cell in cache identified by coordinate address + * + * @param string $pCoord Coordinate address of the cell to delete + * @throws PHPExcel_Exception + */ + public function deleteCacheData($pCoord) + { + // Delete the entry from Wincache + wincache_ucache_delete($this->cachePrefix.$pCoord.'.cache'); + + // Delete the entry from our cell address array + parent::deleteCacheData($pCoord); + } + + /** + * Clone the cell collection + * + * @param PHPExcel_Worksheet $parent The new worksheet + * @return void + */ + public function copyCellCollection(PHPExcel_Worksheet $parent) + { + parent::copyCellCollection($parent); + // Get a new id for the new file name + $baseUnique = $this->getUniqueID(); + $newCachePrefix = substr(md5($baseUnique), 0, 8) . '.'; + $cacheList = $this->getCellList(); + foreach ($cacheList as $cellID) { + if ($cellID != $this->currentObjectID) { + $success = false; + $obj = wincache_ucache_get($this->cachePrefix.$cellID.'.cache', $success); + if ($success === false) { + // Entry no longer exists in WinCache, so clear it from the cache array + parent::deleteCacheData($cellID); + throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in Wincache'); + } + if (!wincache_ucache_add($newCachePrefix.$cellID.'.cache', $obj, $this->cacheTime)) { + $this->__destruct(); + throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in Wincache'); + } + } + } + $this->cachePrefix = $newCachePrefix; + } - /** - * Delete a cell in cache identified by coordinate address - * - * @param string $pCoord Coordinate address of the cell to delete - * @throws PHPExcel_Exception - */ - public function deleteCacheData($pCoord) { - // Delete the entry from Wincache - wincache_ucache_delete($this->_cachePrefix.$pCoord.'.cache'); + /** + * Clear the cell collection and disconnect from our parent + * + * @return void + */ + public function unsetWorksheetCells() + { + if (!is_null($this->currentObject)) { + $this->currentObject->detach(); + $this->currentObject = $this->currentObjectID = null; + } - // Delete the entry from our cell address array - parent::deleteCacheData($pCoord); - } // function deleteCacheData() + // Flush the WinCache cache + $this->__destruct(); + $this->cellCache = array(); - /** - * Clone the cell collection - * - * @param PHPExcel_Worksheet $parent The new worksheet - * @return void - */ - public function copyCellCollection(PHPExcel_Worksheet $parent) { - parent::copyCellCollection($parent); - // Get a new id for the new file name - $baseUnique = $this->_getUniqueID(); - $newCachePrefix = substr(md5($baseUnique),0,8).'.'; - $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - if ($cellID != $this->_currentObjectID) { - $success = false; - $obj = wincache_ucache_get($this->_cachePrefix.$cellID.'.cache', $success); - if ($success === false) { - // Entry no longer exists in WinCache, so clear it from the cache array - parent::deleteCacheData($cellID); - throw new PHPExcel_Exception('Cell entry '.$cellID.' no longer exists in Wincache'); - } - if (!wincache_ucache_add($newCachePrefix.$cellID.'.cache', $obj, $this->_cacheTime)) { - $this->__destruct(); - throw new PHPExcel_Exception('Failed to store cell '.$cellID.' in Wincache'); - } - } - } - $this->_cachePrefix = $newCachePrefix; - } // function copyCellCollection() + // detach ourself from the worksheet, so that it can then delete this object successfully + $this->parent = null; + } + /** + * Initialise this new cell collection + * + * @param PHPExcel_Worksheet $parent The worksheet for this cell collection + * @param array of mixed $arguments Additional initialisation arguments + */ + public function __construct(PHPExcel_Worksheet $parent, $arguments) + { + $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; - /** - * Clear the cell collection and disconnect from our parent - * - * @return void - */ - public function unsetWorksheetCells() { - if(!is_null($this->_currentObject)) { - $this->_currentObject->detach(); - $this->_currentObject = $this->_currentObjectID = null; - } + if (is_null($this->cachePrefix)) { + $baseUnique = $this->getUniqueID(); + $this->cachePrefix = substr(md5($baseUnique), 0, 8).'.'; + $this->cacheTime = $cacheTime; - // Flush the WinCache cache - $this->__destruct(); + parent::__construct($parent); + } + } - $this->_cellCache = array(); + /** + * Destroy this cell collection + */ + public function __destruct() + { + $cacheList = $this->getCellList(); + foreach ($cacheList as $cellID) { + wincache_ucache_delete($this->cachePrefix.$cellID.'.cache'); + } + } - // detach ourself from the worksheet, so that it can then delete this object successfully - $this->_parent = null; - } // function unsetWorksheetCells() - - - /** - * Initialise this new cell collection - * - * @param PHPExcel_Worksheet $parent The worksheet for this cell collection - * @param array of mixed $arguments Additional initialisation arguments - */ - public function __construct(PHPExcel_Worksheet $parent, $arguments) { - $cacheTime = (isset($arguments['cacheTime'])) ? $arguments['cacheTime'] : 600; - - if (is_null($this->_cachePrefix)) { - $baseUnique = $this->_getUniqueID(); - $this->_cachePrefix = substr(md5($baseUnique),0,8).'.'; - $this->_cacheTime = $cacheTime; - - parent::__construct($parent); - } - } // function __construct() - - - /** - * Destroy this cell collection - */ - public function __destruct() { - $cacheList = $this->getCellList(); - foreach($cacheList as $cellID) { - wincache_ucache_delete($this->_cachePrefix.$cellID.'.cache'); - } - } // function __destruct() - - - /** - * Identify whether the caching method is currently available - * Some methods are dependent on the availability of certain extensions being enabled in the PHP build - * - * @return boolean - */ - public static function cacheMethodIsAvailable() { - if (!function_exists('wincache_ucache_add')) { - return false; - } - - return true; - } + /** + * Identify whether the caching method is currently available + * Some methods are dependent on the availability of certain extensions being enabled in the PHP build + * + * @return boolean + */ + public static function cacheMethodIsAvailable() + { + if (!function_exists('wincache_ucache_add')) { + return false; + } + return true; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php index 2da92346e..0a969786e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CachedObjectStorageFactory.php @@ -1,9 +1,9 @@ array( ), self::cache_in_memory_gzip => array( @@ -100,7 +88,7 @@ class PHPExcel_CachedObjectStorageFactory ), self::cache_to_phpTemp => array( 'memoryCacheSize' => '1MB' ), - self::cache_to_discISAM => array( 'dir' => NULL + self::cache_to_discISAM => array( 'dir' => null ), self::cache_to_apc => array( 'cacheTime' => 600 ), @@ -116,36 +104,32 @@ class PHPExcel_CachedObjectStorageFactory ), ); - /** * Arguments for the active cache storage method * * @var array of mixed array */ - private static $_storageMethodParameters = array(); - + private static $storageMethodParameters = array(); /** * Return the current cache storage method * - * @return string|NULL + * @return string|null **/ public static function getCacheStorageMethod() { - return self::$_cacheStorageMethod; - } // function getCacheStorageMethod() - + return self::$cacheStorageMethod; + } /** * Return the current cache storage class * - * @return PHPExcel_CachedObjectStorage_ICache|NULL + * @return PHPExcel_CachedObjectStorage_ICache|null **/ public static function getCacheStorageClass() { - return self::$_cacheStorageClass; - } // function getCacheStorageClass() - + return self::$cacheStorageClass; + } /** * Return the list of all possible cache storage methods @@ -154,9 +138,8 @@ class PHPExcel_CachedObjectStorageFactory **/ public static function getAllCacheStorageMethods() { - return self::$_storageMethods; - } // function getCacheStorageMethods() - + return self::$storageMethods; + } /** * Return the list of all available cache storage methods @@ -166,15 +149,14 @@ class PHPExcel_CachedObjectStorageFactory public static function getCacheStorageMethods() { $activeMethods = array(); - foreach(self::$_storageMethods as $storageMethod) { + foreach (self::$storageMethods as $storageMethod) { $cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $storageMethod; if (call_user_func(array($cacheStorageClass, 'cacheMethodIsAvailable'))) { $activeMethods[] = $storageMethod; } } return $activeMethods; - } // function getCacheStorageMethods() - + } /** * Identify the cache storage method to use @@ -186,30 +168,29 @@ class PHPExcel_CachedObjectStorageFactory **/ public static function initialize($method = self::cache_in_memory, $arguments = array()) { - if (!in_array($method,self::$_storageMethods)) { - return FALSE; + if (!in_array($method, self::$storageMethods)) { + return false; } $cacheStorageClass = 'PHPExcel_CachedObjectStorage_'.$method; if (!call_user_func(array( $cacheStorageClass, 'cacheMethodIsAvailable'))) { - return FALSE; + return false; } - self::$_storageMethodParameters[$method] = self::$_storageMethodDefaultParameters[$method]; - foreach($arguments as $k => $v) { - if (array_key_exists($k, self::$_storageMethodParameters[$method])) { - self::$_storageMethodParameters[$method][$k] = $v; + self::$storageMethodParameters[$method] = self::$storageMethodDefaultParameters[$method]; + foreach ($arguments as $k => $v) { + if (array_key_exists($k, self::$storageMethodParameters[$method])) { + self::$storageMethodParameters[$method][$k] = $v; } } - if (self::$_cacheStorageMethod === NULL) { - self::$_cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $method; - self::$_cacheStorageMethod = $method; + if (self::$cacheStorageMethod === null) { + self::$cacheStorageClass = 'PHPExcel_CachedObjectStorage_' . $method; + self::$cacheStorageMethod = $method; } - return TRUE; - } // function initialize() - + return true; + } /** * Initialise the cache storage @@ -219,33 +200,32 @@ class PHPExcel_CachedObjectStorageFactory **/ public static function getInstance(PHPExcel_Worksheet $parent) { - $cacheMethodIsAvailable = TRUE; - if (self::$_cacheStorageMethod === NULL) { + $cacheMethodIsAvailable = true; + if (self::$cacheStorageMethod === null) { $cacheMethodIsAvailable = self::initialize(); } if ($cacheMethodIsAvailable) { - $instance = new self::$_cacheStorageClass( $parent, - self::$_storageMethodParameters[self::$_cacheStorageMethod] - ); - if ($instance !== NULL) { + $instance = new self::$cacheStorageClass( + $parent, + self::$storageMethodParameters[self::$cacheStorageMethod] + ); + if ($instance !== null) { return $instance; } } - return FALSE; - } // function getInstance() - + return false; + } /** * Clear the cache storage * **/ - public static function finalize() - { - self::$_cacheStorageMethod = NULL; - self::$_cacheStorageClass = NULL; - self::$_storageMethodParameters = array(); - } - + public static function finalize() + { + self::$cacheStorageMethod = null; + self::$cacheStorageClass = null; + self::$storageMethodParameters = array(); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php index 5cd0b909e..1072fc75f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/CyclicReferenceStack.php @@ -1,8 +1,9 @@ stack); + } -/** - * PHPExcel_CalcEngine_CyclicReferenceStack - * - * @category PHPExcel_CalcEngine_CyclicReferenceStack - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_CalcEngine_CyclicReferenceStack { + /** + * Push a new entry onto the stack + * + * @param mixed $value + */ + public function push($value) + { + $this->stack[$value] = $value; + } - /** - * The call stack for calculated cells - * - * @var mixed[] - */ - private $_stack = array(); + /** + * Pop the last entry from the stack + * + * @return mixed + */ + public function pop() + { + return array_pop($this->stack); + } + /** + * Test to see if a specified entry exists on the stack + * + * @param mixed $value The value to test + */ + public function onStack($value) + { + return isset($this->stack[$value]); + } - /** - * Return the number of entries on the stack - * - * @return integer - */ - public function count() { - return count($this->_stack); - } - - /** - * Push a new entry onto the stack - * - * @param mixed $value - */ - public function push($value) { - $this->_stack[$value] = $value; - } - - /** - * Pop the last entry from the stack - * - * @return mixed - */ - public function pop() { - return array_pop($this->_stack); - } - - /** - * Test to see if a specified entry exists on the stack - * - * @param mixed $value The value to test - */ - public function onStack($value) { - return isset($this->_stack[$value]); - } - - /** - * Clear the stack - */ - public function clear() { - $this->_stack = array(); - } - - /** - * Return an array of all entries on the stack - * - * @return mixed[] - */ - public function showStack() { - return $this->_stack; - } + /** + * Clear the stack + */ + public function clear() + { + $this->stack = array(); + } + /** + * Return an array of all entries on the stack + * + * @return mixed[] + */ + public function showStack() + { + return $this->stack; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php index fe43ae4f6..c5ffe73e9 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/CalcEngine/Logger.php @@ -1,8 +1,9 @@ cellStack = $stack; + } - /** - * The calculation engine cell reference stack - * - * @var PHPExcel_CalcEngine_CyclicReferenceStack - */ - private $_cellStack; + /** + * Enable/Disable Calculation engine logging + * + * @param boolean $pValue + */ + public function setWriteDebugLog($pValue = false) + { + $this->writeDebugLog = $pValue; + } - - /** - * Instantiate a Calculation engine logger - * - * @param PHPExcel_CalcEngine_CyclicReferenceStack $stack - */ - public function __construct(PHPExcel_CalcEngine_CyclicReferenceStack $stack) { - $this->_cellStack = $stack; - } + /** + * Return whether calculation engine logging is enabled or disabled + * + * @return boolean + */ + public function getWriteDebugLog() + { + return $this->writeDebugLog; + } - /** - * Enable/Disable Calculation engine logging - * - * @param boolean $pValue - */ - public function setWriteDebugLog($pValue = FALSE) { - $this->_writeDebugLog = $pValue; - } + /** + * Enable/Disable echoing of debug log information + * + * @param boolean $pValue + */ + public function setEchoDebugLog($pValue = false) + { + $this->echoDebugLog = $pValue; + } - /** - * Return whether calculation engine logging is enabled or disabled - * - * @return boolean - */ - public function getWriteDebugLog() { - return $this->_writeDebugLog; - } + /** + * Return whether echoing of debug log information is enabled or disabled + * + * @return boolean + */ + public function getEchoDebugLog() + { + return $this->echoDebugLog; + } - /** - * Enable/Disable echoing of debug log information - * - * @param boolean $pValue - */ - public function setEchoDebugLog($pValue = FALSE) { - $this->_echoDebugLog = $pValue; - } + /** + * Write an entry to the calculation engine debug log + */ + public function writeDebugLog() + { + // Only write the debug log if logging is enabled + if ($this->writeDebugLog) { + $message = implode(func_get_args()); + $cellReference = implode(' -> ', $this->cellStack->showStack()); + if ($this->echoDebugLog) { + echo $cellReference, + ($this->cellStack->count() > 0 ? ' => ' : ''), + $message, + PHP_EOL; + } + $this->debugLog[] = $cellReference . + ($this->cellStack->count() > 0 ? ' => ' : '') . + $message; + } + } - /** - * Return whether echoing of debug log information is enabled or disabled - * - * @return boolean - */ - public function getEchoDebugLog() { - return $this->_echoDebugLog; - } - - /** - * Write an entry to the calculation engine debug log - */ - public function writeDebugLog() { - // Only write the debug log if logging is enabled - if ($this->_writeDebugLog) { - $message = implode(func_get_args()); - $cellReference = implode(' -> ', $this->_cellStack->showStack()); - if ($this->_echoDebugLog) { - echo $cellReference, - ($this->_cellStack->count() > 0 ? ' => ' : ''), - $message, - PHP_EOL; - } - $this->_debugLog[] = $cellReference . - ($this->_cellStack->count() > 0 ? ' => ' : '') . - $message; - } - } // function _writeDebug() - - /** - * Clear the calculation engine debug log - */ - public function clearLog() { - $this->_debugLog = array(); - } // function flushLogger() - - /** - * Return the calculation engine debug log - * - * @return string[] - */ - public function getLog() { - return $this->_debugLog; - } // function flushLogger() - -} // class PHPExcel_CalcEngine_Logger + /** + * Clear the calculation engine debug log + */ + public function clearLog() + { + $this->debugLog = array(); + } + /** + * Return the calculation engine debug log + * + * @return string[] + */ + public function getLog() + { + return $this->debugLog; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php index 48fb4a422..20b1ec3f5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation.php @@ -1,8 +1,33 @@ =-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d{1,7})'); + // Named Range of cells + define('CALCULATION_REGEXP_NAMEDRANGE', '((([^\s,!&%^\/\*\+<>=-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?([_A-Z][_A-Z0-9\.]*)'); + } else { + // Cell reference (cell or range of cells, with or without a sheet reference) + define('CALCULATION_REGEXP_CELLREF', '(((\w*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d+)'); + // Named Range of cells + define('CALCULATION_REGEXP_NAMEDRANGE', '(((\w*)|(\'.*\')|(\".*\"))!)?([_A-Z][_A-Z0-9\.]*)'); + } +} + /** - * PHPExcel + * PHPExcel_Calculation (Multiton) * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,3933 +45,4347 @@ * * @category PHPExcel * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ +class PHPExcel_Calculation +{ + /** Constants */ + /** Regular Expressions */ + // Numeric operand + const CALCULATION_REGEXP_NUMBER = '[-+]?\d*\.?\d+(e[-+]?\d+)?'; + // String operand + const CALCULATION_REGEXP_STRING = '"(?:[^"]|"")*"'; + // Opening bracket + const CALCULATION_REGEXP_OPENBRACE = '\('; + // Function (allow for the old @ symbol that could be used to prefix a function, but we'll ignore it) + const CALCULATION_REGEXP_FUNCTION = '@?([A-Z][A-Z0-9\.]*)[\s]*\('; + // Cell reference (cell or range of cells, with or without a sheet reference) + const CALCULATION_REGEXP_CELLREF = CALCULATION_REGEXP_CELLREF; + // Named Range of cells + const CALCULATION_REGEXP_NAMEDRANGE = CALCULATION_REGEXP_NAMEDRANGE; + // Error + const CALCULATION_REGEXP_ERROR = '\#[A-Z][A-Z0_\/]*[!\?]?'; -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} + /** constants */ + const RETURN_ARRAY_AS_ERROR = 'error'; + const RETURN_ARRAY_AS_VALUE = 'value'; + const RETURN_ARRAY_AS_ARRAY = 'array'; + + private static $returnArrayAsType = self::RETURN_ARRAY_AS_VALUE; -if (!defined('CALCULATION_REGEXP_CELLREF')) { - // Test for support of \P (multibyte options) in PCRE - if(defined('PREG_BAD_UTF8_ERROR')) { - // Cell reference (cell or range of cells, with or without a sheet reference) - define('CALCULATION_REGEXP_CELLREF','((([^\s,!&%^\/\*\+<>=-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d{1,7})'); - // Named Range of cells - define('CALCULATION_REGEXP_NAMEDRANGE','((([^\s,!&%^\/\*\+<>=-]*)|(\'[^\']*\')|(\"[^\"]*\"))!)?([_A-Z][_A-Z0-9\.]*)'); - } else { - // Cell reference (cell or range of cells, with or without a sheet reference) - define('CALCULATION_REGEXP_CELLREF','(((\w*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d+)'); - // Named Range of cells - define('CALCULATION_REGEXP_NAMEDRANGE','(((\w*)|(\'.*\')|(\".*\"))!)?([_A-Z][_A-Z0-9\.]*)'); - } -} + /** + * Instance of this class + * + * @access private + * @var PHPExcel_Calculation + */ + private static $instance; -/** - * PHPExcel_Calculation (Multiton) - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation { + /** + * Instance of the workbook this Calculation Engine is using + * + * @access private + * @var PHPExcel + */ + private $workbook; - /** Constants */ - /** Regular Expressions */ - // Numeric operand - const CALCULATION_REGEXP_NUMBER = '[-+]?\d*\.?\d+(e[-+]?\d+)?'; - // String operand - const CALCULATION_REGEXP_STRING = '"(?:[^"]|"")*"'; - // Opening bracket - const CALCULATION_REGEXP_OPENBRACE = '\('; - // Function (allow for the old @ symbol that could be used to prefix a function, but we'll ignore it) - const CALCULATION_REGEXP_FUNCTION = '@?([A-Z][A-Z0-9\.]*)[\s]*\('; - // Cell reference (cell or range of cells, with or without a sheet reference) - const CALCULATION_REGEXP_CELLREF = CALCULATION_REGEXP_CELLREF; - // Named Range of cells - const CALCULATION_REGEXP_NAMEDRANGE = CALCULATION_REGEXP_NAMEDRANGE; - // Error - const CALCULATION_REGEXP_ERROR = '\#[A-Z][A-Z0_\/]*[!\?]?'; + /** + * List of instances of the calculation engine that we've instantiated for individual workbooks + * + * @access private + * @var PHPExcel_Calculation[] + */ + private static $workbookSets; + + /** + * Calculation cache + * + * @access private + * @var array + */ + private $calculationCache = array (); - /** constants */ - const RETURN_ARRAY_AS_ERROR = 'error'; - const RETURN_ARRAY_AS_VALUE = 'value'; - const RETURN_ARRAY_AS_ARRAY = 'array'; - - private static $returnArrayAsType = self::RETURN_ARRAY_AS_VALUE; + /** + * Calculation cache enabled + * + * @access private + * @var boolean + */ + private $calculationCacheEnabled = true; - /** - * Instance of this class - * - * @access private - * @var PHPExcel_Calculation - */ - private static $_instance; + /** + * List of operators that can be used within formulae + * The true/false value indicates whether it is a binary operator or a unary operator + * + * @access private + * @var array + */ + private static $operators = array( + '+' => true, '-' => true, '*' => true, '/' => true, + '^' => true, '&' => true, '%' => false, '~' => false, + '>' => true, '<' => true, '=' => true, '>=' => true, + '<=' => true, '<>' => true, '|' => true, ':' => true + ); + + /** + * List of binary operators (those that expect two operands) + * + * @access private + * @var array + */ + private static $binaryOperators = array( + '+' => true, '-' => true, '*' => true, '/' => true, + '^' => true, '&' => true, '>' => true, '<' => true, + '=' => true, '>=' => true, '<=' => true, '<>' => true, + '|' => true, ':' => true + ); + + /** + * The debug log generated by the calculation engine + * + * @access private + * @var PHPExcel_CalcEngine_Logger + * + */ + private $debugLog; + + /** + * Flag to determine how formula errors should be handled + * If true, then a user error will be triggered + * If false, then an exception will be thrown + * + * @access public + * @var boolean + * + */ + public $suppressFormulaErrors = false; + + /** + * Error message for any error that was raised/thrown by the calculation engine + * + * @access public + * @var string + * + */ + public $formulaError = null; + + /** + * An array of the nested cell references accessed by the calculation engine, used for the debug log + * + * @access private + * @var array of string + * + */ + private $cyclicReferenceStack; + + private $cellStack = array(); + + /** + * Current iteration counter for cyclic formulae + * If the value is 0 (or less) then cyclic formulae will throw an exception, + * otherwise they will iterate to the limit defined here before returning a result + * + * @var integer + * + */ + private $cyclicFormulaCounter = 1; + + private $cyclicFormulaCell = ''; + + /** + * Number of iterations for cyclic formulae + * + * @var integer + * + */ + public $cyclicFormulaCount = 1; + + /** + * Epsilon Precision used for comparisons in calculations + * + * @var float + * + */ + private $delta = 0.1e-12; - /** - * Instance of the workbook this Calculation Engine is using - * - * @access private - * @var PHPExcel - */ - private $_workbook; + /** + * The current locale setting + * + * @var string + * + */ + private static $localeLanguage = 'en_us'; // US English (default locale) - /** - * List of instances of the calculation engine that we've instantiated for individual workbooks - * - * @access private - * @var PHPExcel_Calculation[] - */ - private static $_workbookSets; + /** + * List of available locale settings + * Note that this is read for the locale subdirectory only when requested + * + * @var string[] + * + */ + private static $validLocaleLanguages = array( + 'en' // English (default language) + ); - /** - * Calculation cache - * - * @access private - * @var array - */ - private $_calculationCache = array (); + /** + * Locale-specific argument separator for function arguments + * + * @var string + * + */ + private static $localeArgumentSeparator = ','; + private static $localeFunctions = array(); + + /** + * Locale-specific translations for Excel constants (True, False and Null) + * + * @var string[] + * + */ + public static $localeBoolean = array( + 'TRUE' => 'TRUE', + 'FALSE' => 'FALSE', + 'NULL' => 'NULL' + ); + + /** + * Excel constant string translations to their PHP equivalents + * Constant conversion from text name/value to actual (datatyped) value + * + * @var string[] + * + */ + private static $excelConstants = array( + 'TRUE' => true, + 'FALSE' => false, + 'NULL' => null + ); + + // PHPExcel functions + private static $PHPExcelFunctions = array( + 'ABS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'abs', + 'argumentCount' => '1' + ), + 'ACCRINT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINT', + 'argumentCount' => '4-7' + ), + 'ACCRINTM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINTM', + 'argumentCount' => '3-5' + ), + 'ACOS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'acos', + 'argumentCount' => '1' + ), + 'ACOSH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'acosh', + 'argumentCount' => '1' + ), + 'ADDRESS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::CELL_ADDRESS', + 'argumentCount' => '2-5' + ), + 'AMORDEGRC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::AMORDEGRC', + 'argumentCount' => '6,7' + ), + 'AMORLINC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::AMORLINC', + 'argumentCount' => '6,7' + ), + 'AND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_AND', + 'argumentCount' => '1+' + ), + 'AREAS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ASC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ASIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'asin', + 'argumentCount' => '1' + ), + 'ASINH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'asinh', + 'argumentCount' => '1' + ), + 'ATAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'atan', + 'argumentCount' => '1' + ), + 'ATAN2' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ATAN2', + 'argumentCount' => '2' + ), + 'ATANH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'atanh', + 'argumentCount' => '1' + ), + 'AVEDEV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVEDEV', + 'argumentCount' => '1+' + ), + 'AVERAGE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGE', + 'argumentCount' => '1+' + ), + 'AVERAGEA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEA', + 'argumentCount' => '1+' + ), + 'AVERAGEIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEIF', + 'argumentCount' => '2,3' + ), + 'AVERAGEIFS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3+' + ), + 'BAHTTEXT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'BESSELI' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELI', + 'argumentCount' => '2' + ), + 'BESSELJ' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELJ', + 'argumentCount' => '2' + ), + 'BESSELK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELK', + 'argumentCount' => '2' + ), + 'BESSELY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELY', + 'argumentCount' => '2' + ), + 'BETADIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BETADIST', + 'argumentCount' => '3-5' + ), + 'BETAINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BETAINV', + 'argumentCount' => '3-5' + ), + 'BIN2DEC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTODEC', + 'argumentCount' => '1' + ), + 'BIN2HEX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOHEX', + 'argumentCount' => '1,2' + ), + 'BIN2OCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOOCT', + 'argumentCount' => '1,2' + ), + 'BINOMDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::BINOMDIST', + 'argumentCount' => '4' + ), + 'CEILING' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::CEILING', + 'argumentCount' => '2' + ), + 'CELL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1,2' + ), + 'CHAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::CHARACTER', + 'argumentCount' => '1' + ), + 'CHIDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIDIST', + 'argumentCount' => '2' + ), + 'CHIINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIINV', + 'argumentCount' => '2' + ), + 'CHITEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'CHOOSE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::CHOOSE', + 'argumentCount' => '2+' + ), + 'CLEAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMNONPRINTABLE', + 'argumentCount' => '1' + ), + 'CODE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::ASCIICODE', + 'argumentCount' => '1' + ), + 'COLUMN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMN', + 'argumentCount' => '-1', + 'passByReference' => array(true) + ), + 'COLUMNS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMNS', + 'argumentCount' => '1' + ), + 'COMBIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::COMBIN', + 'argumentCount' => '2' + ), + 'COMPLEX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::COMPLEX', + 'argumentCount' => '2,3' + ), + 'CONCATENATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::CONCATENATE', + 'argumentCount' => '1+' + ), + 'CONFIDENCE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CONFIDENCE', + 'argumentCount' => '3' + ), + 'CONVERT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::CONVERTUOM', + 'argumentCount' => '3' + ), + 'CORREL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', + 'argumentCount' => '2' + ), + 'COS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'cos', + 'argumentCount' => '1' + ), + 'COSH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'cosh', + 'argumentCount' => '1' + ), + 'COUNT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNT', + 'argumentCount' => '1+' + ), + 'COUNTA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTA', + 'argumentCount' => '1+' + ), + 'COUNTBLANK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTBLANK', + 'argumentCount' => '1' + ), + 'COUNTIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTIF', + 'argumentCount' => '2' + ), + 'COUNTIFS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'COUPDAYBS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYBS', + 'argumentCount' => '3,4' + ), + 'COUPDAYS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYS', + 'argumentCount' => '3,4' + ), + 'COUPDAYSNC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYSNC', + 'argumentCount' => '3,4' + ), + 'COUPNCD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNCD', + 'argumentCount' => '3,4' + ), + 'COUPNUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNUM', + 'argumentCount' => '3,4' + ), + 'COUPPCD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::COUPPCD', + 'argumentCount' => '3,4' + ), + 'COVAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::COVAR', + 'argumentCount' => '2' + ), + 'CRITBINOM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CRITBINOM', + 'argumentCount' => '3' + ), + 'CUBEKPIMEMBER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEMEMBER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEMEMBERPROPERTY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBERANKEDMEMBER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBESET' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBESETCOUNT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUBEVALUE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '?' + ), + 'CUMIPMT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::CUMIPMT', + 'argumentCount' => '6' + ), + 'CUMPRINC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::CUMPRINC', + 'argumentCount' => '6' + ), + 'DATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATE', + 'argumentCount' => '3' + ), + 'DATEDIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEDIF', + 'argumentCount' => '2,3' + ), + 'DATEVALUE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEVALUE', + 'argumentCount' => '1' + ), + 'DAVERAGE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DAVERAGE', + 'argumentCount' => '3' + ), + 'DAY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFMONTH', + 'argumentCount' => '1' + ), + 'DAYS360' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYS360', + 'argumentCount' => '2,3' + ), + 'DB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DB', + 'argumentCount' => '4,5' + ), + 'DCOUNT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNT', + 'argumentCount' => '3' + ), + 'DCOUNTA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNTA', + 'argumentCount' => '3' + ), + 'DDB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DDB', + 'argumentCount' => '4,5' + ), + 'DEC2BIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOBIN', + 'argumentCount' => '1,2' + ), + 'DEC2HEX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOHEX', + 'argumentCount' => '1,2' + ), + 'DEC2OCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOOCT', + 'argumentCount' => '1,2' + ), + 'DEGREES' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'rad2deg', + 'argumentCount' => '1' + ), + 'DELTA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::DELTA', + 'argumentCount' => '1,2' + ), + 'DEVSQ' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::DEVSQ', + 'argumentCount' => '1+' + ), + 'DGET' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DGET', + 'argumentCount' => '3' + ), + 'DISC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DISC', + 'argumentCount' => '4,5' + ), + 'DMAX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DMAX', + 'argumentCount' => '3' + ), + 'DMIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DMIN', + 'argumentCount' => '3' + ), + 'DOLLAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::DOLLAR', + 'argumentCount' => '1,2' + ), + 'DOLLARDE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARDE', + 'argumentCount' => '2' + ), + 'DOLLARFR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARFR', + 'argumentCount' => '2' + ), + 'DPRODUCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DPRODUCT', + 'argumentCount' => '3' + ), + 'DSTDEV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEV', + 'argumentCount' => '3' + ), + 'DSTDEVP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEVP', + 'argumentCount' => '3' + ), + 'DSUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DSUM', + 'argumentCount' => '3' + ), + 'DURATION' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5,6' + ), + 'DVAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DVAR', + 'argumentCount' => '3' + ), + 'DVARP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, + 'functionCall' => 'PHPExcel_Calculation_Database::DVARP', + 'argumentCount' => '3' + ), + 'EDATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::EDATE', + 'argumentCount' => '2' + ), + 'EFFECT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::EFFECT', + 'argumentCount' => '2' + ), + 'EOMONTH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::EOMONTH', + 'argumentCount' => '2' + ), + 'ERF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::ERF', + 'argumentCount' => '1,2' + ), + 'ERFC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::ERFC', + 'argumentCount' => '1' + ), + 'ERROR.TYPE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::ERROR_TYPE', + 'argumentCount' => '1' + ), + 'EVEN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::EVEN', + 'argumentCount' => '1' + ), + 'EXACT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'EXP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'exp', + 'argumentCount' => '1' + ), + 'EXPONDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::EXPONDIST', + 'argumentCount' => '3' + ), + 'FACT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACT', + 'argumentCount' => '1' + ), + 'FACTDOUBLE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACTDOUBLE', + 'argumentCount' => '1' + ), + 'FALSE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::FALSE', + 'argumentCount' => '0' + ), + 'FDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3' + ), + 'FIND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', + 'argumentCount' => '2,3' + ), + 'FINDB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', + 'argumentCount' => '2,3' + ), + 'FINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3' + ), + 'FISHER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHER', + 'argumentCount' => '1' + ), + 'FISHERINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHERINV', + 'argumentCount' => '1' + ), + 'FIXED' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::FIXEDFORMAT', + 'argumentCount' => '1-3' + ), + 'FLOOR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::FLOOR', + 'argumentCount' => '2' + ), + 'FORECAST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::FORECAST', + 'argumentCount' => '3' + ), + 'FREQUENCY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'FTEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'FV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::FV', + 'argumentCount' => '3-5' + ), + 'FVSCHEDULE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::FVSCHEDULE', + 'argumentCount' => '2' + ), + 'GAMMADIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMADIST', + 'argumentCount' => '4' + ), + 'GAMMAINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMAINV', + 'argumentCount' => '3' + ), + 'GAMMALN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMALN', + 'argumentCount' => '1' + ), + 'GCD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::GCD', + 'argumentCount' => '1+' + ), + 'GEOMEAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GEOMEAN', + 'argumentCount' => '1+' + ), + 'GESTEP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::GESTEP', + 'argumentCount' => '1,2' + ), + 'GETPIVOTDATA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2+' + ), + 'GROWTH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::GROWTH', + 'argumentCount' => '1-4' + ), + 'HARMEAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::HARMEAN', + 'argumentCount' => '1+' + ), + 'HEX2BIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOBIN', + 'argumentCount' => '1,2' + ), + 'HEX2DEC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTODEC', + 'argumentCount' => '1' + ), + 'HEX2OCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOOCT', + 'argumentCount' => '1,2' + ), + 'HLOOKUP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::HLOOKUP', + 'argumentCount' => '3,4' + ), + 'HOUR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::HOUROFDAY', + 'argumentCount' => '1' + ), + 'HYPERLINK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::HYPERLINK', + 'argumentCount' => '1,2', + 'passCellReference' => true + ), + 'HYPGEOMDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::HYPGEOMDIST', + 'argumentCount' => '4' + ), + 'IF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::STATEMENT_IF', + 'argumentCount' => '1-3' + ), + 'IFERROR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::IFERROR', + 'argumentCount' => '2' + ), + 'IMABS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMABS', + 'argumentCount' => '1' + ), + 'IMAGINARY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMAGINARY', + 'argumentCount' => '1' + ), + 'IMARGUMENT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMARGUMENT', + 'argumentCount' => '1' + ), + 'IMCONJUGATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCONJUGATE', + 'argumentCount' => '1' + ), + 'IMCOS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCOS', + 'argumentCount' => '1' + ), + 'IMDIV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMDIV', + 'argumentCount' => '2' + ), + 'IMEXP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMEXP', + 'argumentCount' => '1' + ), + 'IMLN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLN', + 'argumentCount' => '1' + ), + 'IMLOG10' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG10', + 'argumentCount' => '1' + ), + 'IMLOG2' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG2', + 'argumentCount' => '1' + ), + 'IMPOWER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPOWER', + 'argumentCount' => '2' + ), + 'IMPRODUCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPRODUCT', + 'argumentCount' => '1+' + ), + 'IMREAL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMREAL', + 'argumentCount' => '1' + ), + 'IMSIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSIN', + 'argumentCount' => '1' + ), + 'IMSQRT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSQRT', + 'argumentCount' => '1' + ), + 'IMSUB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUB', + 'argumentCount' => '2' + ), + 'IMSUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUM', + 'argumentCount' => '1+' + ), + 'INDEX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDEX', + 'argumentCount' => '1-4' + ), + 'INDIRECT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDIRECT', + 'argumentCount' => '1,2', + 'passCellReference' => true + ), + 'INFO' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'INT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::INT', + 'argumentCount' => '1' + ), + 'INTERCEPT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::INTERCEPT', + 'argumentCount' => '2' + ), + 'INTRATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::INTRATE', + 'argumentCount' => '4,5' + ), + 'IPMT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::IPMT', + 'argumentCount' => '4-6' + ), + 'IRR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::IRR', + 'argumentCount' => '1,2' + ), + 'ISBLANK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_BLANK', + 'argumentCount' => '1' + ), + 'ISERR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERR', + 'argumentCount' => '1' + ), + 'ISERROR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERROR', + 'argumentCount' => '1' + ), + 'ISEVEN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_EVEN', + 'argumentCount' => '1' + ), + 'ISLOGICAL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_LOGICAL', + 'argumentCount' => '1' + ), + 'ISNA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NA', + 'argumentCount' => '1' + ), + 'ISNONTEXT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NONTEXT', + 'argumentCount' => '1' + ), + 'ISNUMBER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NUMBER', + 'argumentCount' => '1' + ), + 'ISODD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ODD', + 'argumentCount' => '1' + ), + 'ISPMT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::ISPMT', + 'argumentCount' => '4' + ), + 'ISREF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'ISTEXT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::IS_TEXT', + 'argumentCount' => '1' + ), + 'JIS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'KURT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::KURT', + 'argumentCount' => '1+' + ), + 'LARGE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LARGE', + 'argumentCount' => '2' + ), + 'LCM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::LCM', + 'argumentCount' => '1+' + ), + 'LEFT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', + 'argumentCount' => '1,2' + ), + 'LEFTB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', + 'argumentCount' => '1,2' + ), + 'LEN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', + 'argumentCount' => '1' + ), + 'LENB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', + 'argumentCount' => '1' + ), + 'LINEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LINEST', + 'argumentCount' => '1-4' + ), + 'LN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'log', + 'argumentCount' => '1' + ), + 'LOG' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::LOG_BASE', + 'argumentCount' => '1,2' + ), + 'LOG10' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'log10', + 'argumentCount' => '1' + ), + 'LOGEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGEST', + 'argumentCount' => '1-4' + ), + 'LOGINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGINV', + 'argumentCount' => '3' + ), + 'LOGNORMDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGNORMDIST', + 'argumentCount' => '3' + ), + 'LOOKUP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::LOOKUP', + 'argumentCount' => '2,3' + ), + 'LOWER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::LOWERCASE', + 'argumentCount' => '1' + ), + 'MATCH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::MATCH', + 'argumentCount' => '2,3' + ), + 'MAX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAX', + 'argumentCount' => '1+' + ), + 'MAXA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXA', + 'argumentCount' => '1+' + ), + 'MAXIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXIF', + 'argumentCount' => '2+' + ), + 'MDETERM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MDETERM', + 'argumentCount' => '1' + ), + 'MDURATION' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5,6' + ), + 'MEDIAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MEDIAN', + 'argumentCount' => '1+' + ), + 'MEDIANIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2+' + ), + 'MID' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::MID', + 'argumentCount' => '3' + ), + 'MIDB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::MID', + 'argumentCount' => '3' + ), + 'MIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MIN', + 'argumentCount' => '1+' + ), + 'MINA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MINA', + 'argumentCount' => '1+' + ), + 'MINIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MINIF', + 'argumentCount' => '2+' + ), + 'MINUTE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::MINUTEOFHOUR', + 'argumentCount' => '1' + ), + 'MINVERSE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MINVERSE', + 'argumentCount' => '1' + ), + 'MIRR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::MIRR', + 'argumentCount' => '3' + ), + 'MMULT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MMULT', + 'argumentCount' => '2' + ), + 'MOD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MOD', + 'argumentCount' => '2' + ), + 'MODE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::MODE', + 'argumentCount' => '1+' + ), + 'MONTH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::MONTHOFYEAR', + 'argumentCount' => '1' + ), + 'MROUND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MROUND', + 'argumentCount' => '2' + ), + 'MULTINOMIAL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::MULTINOMIAL', + 'argumentCount' => '1+' + ), + 'N' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::N', + 'argumentCount' => '1' + ), + 'NA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::NA', + 'argumentCount' => '0' + ), + 'NEGBINOMDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NEGBINOMDIST', + 'argumentCount' => '3' + ), + 'NETWORKDAYS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::NETWORKDAYS', + 'argumentCount' => '2+' + ), + 'NOMINAL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NOMINAL', + 'argumentCount' => '2' + ), + 'NORMDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMDIST', + 'argumentCount' => '4' + ), + 'NORMINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMINV', + 'argumentCount' => '3' + ), + 'NORMSDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSDIST', + 'argumentCount' => '1' + ), + 'NORMSINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSINV', + 'argumentCount' => '1' + ), + 'NOT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::NOT', + 'argumentCount' => '1' + ), + 'NOW' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATETIMENOW', + 'argumentCount' => '0' + ), + 'NPER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NPER', + 'argumentCount' => '3-5' + ), + 'NPV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::NPV', + 'argumentCount' => '2+' + ), + 'OCT2BIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOBIN', + 'argumentCount' => '1,2' + ), + 'OCT2DEC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTODEC', + 'argumentCount' => '1' + ), + 'OCT2HEX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, + 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOHEX', + 'argumentCount' => '1,2' + ), + 'ODD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ODD', + 'argumentCount' => '1' + ), + 'ODDFPRICE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '8,9' + ), + 'ODDFYIELD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '8,9' + ), + 'ODDLPRICE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '7,8' + ), + 'ODDLYIELD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '7,8' + ), + 'OFFSET' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::OFFSET', + 'argumentCount' => '3-5', + 'passCellReference' => true, + 'passByReference' => array(true) + ), + 'OR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_OR', + 'argumentCount' => '1+' + ), + 'PEARSON' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', + 'argumentCount' => '2' + ), + 'PERCENTILE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTILE', + 'argumentCount' => '2' + ), + 'PERCENTRANK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTRANK', + 'argumentCount' => '2,3' + ), + 'PERMUT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::PERMUT', + 'argumentCount' => '2' + ), + 'PHONETIC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1' + ), + 'PI' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'pi', + 'argumentCount' => '0' + ), + 'PMT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PMT', + 'argumentCount' => '3-5' + ), + 'POISSON' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::POISSON', + 'argumentCount' => '3' + ), + 'POWER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::POWER', + 'argumentCount' => '2' + ), + 'PPMT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PPMT', + 'argumentCount' => '4-6' + ), + 'PRICE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICE', + 'argumentCount' => '6,7' + ), + 'PRICEDISC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEDISC', + 'argumentCount' => '4,5' + ), + 'PRICEMAT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEMAT', + 'argumentCount' => '5,6' + ), + 'PROB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '3,4' + ), + 'PRODUCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::PRODUCT', + 'argumentCount' => '1+' + ), + 'PROPER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::PROPERCASE', + 'argumentCount' => '1' + ), + 'PV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::PV', + 'argumentCount' => '3-5' + ), + 'QUARTILE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::QUARTILE', + 'argumentCount' => '2' + ), + 'QUOTIENT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::QUOTIENT', + 'argumentCount' => '2' + ), + 'RADIANS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'deg2rad', + 'argumentCount' => '1' + ), + 'RAND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', + 'argumentCount' => '0' + ), + 'RANDBETWEEN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', + 'argumentCount' => '2' + ), + 'RANK' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::RANK', + 'argumentCount' => '2,3' + ), + 'RATE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::RATE', + 'argumentCount' => '3-6' + ), + 'RECEIVED' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::RECEIVED', + 'argumentCount' => '4-5' + ), + 'REPLACE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', + 'argumentCount' => '4' + ), + 'REPLACEB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', + 'argumentCount' => '4' + ), + 'REPT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'str_repeat', + 'argumentCount' => '2' + ), + 'RIGHT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', + 'argumentCount' => '1,2' + ), + 'RIGHTB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', + 'argumentCount' => '1,2' + ), + 'ROMAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROMAN', + 'argumentCount' => '1,2' + ), + 'ROUND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'round', + 'argumentCount' => '2' + ), + 'ROUNDDOWN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDDOWN', + 'argumentCount' => '2' + ), + 'ROUNDUP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDUP', + 'argumentCount' => '2' + ), + 'ROW' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROW', + 'argumentCount' => '-1', + 'passByReference' => array(true) + ), + 'ROWS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROWS', + 'argumentCount' => '1' + ), + 'RSQ' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::RSQ', + 'argumentCount' => '2' + ), + 'RTD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '1+' + ), + 'SEARCH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', + 'argumentCount' => '2,3' + ), + 'SEARCHB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', + 'argumentCount' => '2,3' + ), + 'SECOND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::SECONDOFMINUTE', + 'argumentCount' => '1' + ), + 'SERIESSUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SERIESSUM', + 'argumentCount' => '4' + ), + 'SIGN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SIGN', + 'argumentCount' => '1' + ), + 'SIN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sin', + 'argumentCount' => '1' + ), + 'SINH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sinh', + 'argumentCount' => '1' + ), + 'SKEW' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SKEW', + 'argumentCount' => '1+' + ), + 'SLN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::SLN', + 'argumentCount' => '3' + ), + 'SLOPE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SLOPE', + 'argumentCount' => '2' + ), + 'SMALL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::SMALL', + 'argumentCount' => '2' + ), + 'SQRT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'sqrt', + 'argumentCount' => '1' + ), + 'SQRTPI' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SQRTPI', + 'argumentCount' => '1' + ), + 'STANDARDIZE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STANDARDIZE', + 'argumentCount' => '3' + ), + 'STDEV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEV', + 'argumentCount' => '1+' + ), + 'STDEVA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVA', + 'argumentCount' => '1+' + ), + 'STDEVP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVP', + 'argumentCount' => '1+' + ), + 'STDEVPA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVPA', + 'argumentCount' => '1+' + ), + 'STEYX' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::STEYX', + 'argumentCount' => '2' + ), + 'SUBSTITUTE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::SUBSTITUTE', + 'argumentCount' => '3,4' + ), + 'SUBTOTAL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUBTOTAL', + 'argumentCount' => '2+' + ), + 'SUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUM', + 'argumentCount' => '1+' + ), + 'SUMIF' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMIF', + 'argumentCount' => '2,3' + ), + 'SUMIFS' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMIFS', + 'argumentCount' => '3+' + ), + 'SUMPRODUCT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMPRODUCT', + 'argumentCount' => '1+' + ), + 'SUMSQ' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMSQ', + 'argumentCount' => '1+' + ), + 'SUMX2MY2' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2MY2', + 'argumentCount' => '2' + ), + 'SUMX2PY2' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2PY2', + 'argumentCount' => '2' + ), + 'SUMXMY2' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMXMY2', + 'argumentCount' => '2' + ), + 'SYD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::SYD', + 'argumentCount' => '4' + ), + 'T' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::RETURNSTRING', + 'argumentCount' => '1' + ), + 'TAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'tan', + 'argumentCount' => '1' + ), + 'TANH' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'tanh', + 'argumentCount' => '1' + ), + 'TBILLEQ' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLEQ', + 'argumentCount' => '3' + ), + 'TBILLPRICE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLPRICE', + 'argumentCount' => '3' + ), + 'TBILLYIELD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLYIELD', + 'argumentCount' => '3' + ), + 'TDIST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TDIST', + 'argumentCount' => '3' + ), + 'TEXT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TEXTFORMAT', + 'argumentCount' => '2' + ), + 'TIME' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::TIME', + 'argumentCount' => '3' + ), + 'TIMEVALUE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::TIMEVALUE', + 'argumentCount' => '1' + ), + 'TINV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TINV', + 'argumentCount' => '2' + ), + 'TODAY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DATENOW', + 'argumentCount' => '0' + ), + 'TRANSPOSE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::TRANSPOSE', + 'argumentCount' => '1' + ), + 'TREND' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TREND', + 'argumentCount' => '1-4' + ), + 'TRIM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMSPACES', + 'argumentCount' => '1' + ), + 'TRIMMEAN' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::TRIMMEAN', + 'argumentCount' => '2' + ), + 'TRUE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, + 'functionCall' => 'PHPExcel_Calculation_Logical::TRUE', + 'argumentCount' => '0' + ), + 'TRUNC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, + 'functionCall' => 'PHPExcel_Calculation_MathTrig::TRUNC', + 'argumentCount' => '1,2' + ), + 'TTEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '4' + ), + 'TYPE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::TYPE', + 'argumentCount' => '1' + ), + 'UPPER' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::UPPERCASE', + 'argumentCount' => '1' + ), + 'USDOLLAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '2' + ), + 'VALUE' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, + 'functionCall' => 'PHPExcel_Calculation_TextData::VALUE', + 'argumentCount' => '1' + ), + 'VAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARFunc', + 'argumentCount' => '1+' + ), + 'VARA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARA', + 'argumentCount' => '1+' + ), + 'VARP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARP', + 'argumentCount' => '1+' + ), + 'VARPA' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::VARPA', + 'argumentCount' => '1+' + ), + 'VDB' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '5-7' + ), + 'VERSION' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, + 'functionCall' => 'PHPExcel_Calculation_Functions::VERSION', + 'argumentCount' => '0' + ), + 'VLOOKUP' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, + 'functionCall' => 'PHPExcel_Calculation_LookupRef::VLOOKUP', + 'argumentCount' => '3,4' + ), + 'WEEKDAY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFWEEK', + 'argumentCount' => '1,2' + ), + 'WEEKNUM' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::WEEKOFYEAR', + 'argumentCount' => '1,2' + ), + 'WEIBULL' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::WEIBULL', + 'argumentCount' => '4' + ), + 'WORKDAY' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::WORKDAY', + 'argumentCount' => '2+' + ), + 'XIRR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::XIRR', + 'argumentCount' => '2,3' + ), + 'XNPV' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::XNPV', + 'argumentCount' => '3' + ), + 'YEAR' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::YEAR', + 'argumentCount' => '1' + ), + 'YEARFRAC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, + 'functionCall' => 'PHPExcel_Calculation_DateTime::YEARFRAC', + 'argumentCount' => '2,3' + ), + 'YIELD' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', + 'argumentCount' => '6,7' + ), + 'YIELDDISC' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDDISC', + 'argumentCount' => '4,5' + ), + 'YIELDMAT' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, + 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDMAT', + 'argumentCount' => '5,6' + ), + 'ZTEST' => array( + 'category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, + 'functionCall' => 'PHPExcel_Calculation_Statistical::ZTEST', + 'argumentCount' => '2-3' + ) + ); + + // Internal functions used for special control purposes + private static $controlFunctions = array( + 'MKMATRIX' => array( + 'argumentCount' => '*', + 'functionCall' => 'self::mkMatrix' + ) + ); - /** - * Calculation cache enabled - * - * @access private - * @var boolean - */ - private $_calculationCacheEnabled = TRUE; + public function __construct(PHPExcel $workbook = null) + { + $this->delta = 1 * pow(10, 0 - ini_get('precision')); - - /** - * List of operators that can be used within formulae - * The true/false value indicates whether it is a binary operator or a unary operator - * - * @access private - * @var array - */ - private static $_operators = array('+' => TRUE, '-' => TRUE, '*' => TRUE, '/' => TRUE, - '^' => TRUE, '&' => TRUE, '%' => FALSE, '~' => FALSE, - '>' => TRUE, '<' => TRUE, '=' => TRUE, '>=' => TRUE, - '<=' => TRUE, '<>' => TRUE, '|' => TRUE, ':' => TRUE - ); - - - /** - * List of binary operators (those that expect two operands) - * - * @access private - * @var array - */ - private static $_binaryOperators = array('+' => TRUE, '-' => TRUE, '*' => TRUE, '/' => TRUE, - '^' => TRUE, '&' => TRUE, '>' => TRUE, '<' => TRUE, - '=' => TRUE, '>=' => TRUE, '<=' => TRUE, '<>' => TRUE, - '|' => TRUE, ':' => TRUE - ); - - /** - * The debug log generated by the calculation engine - * - * @access private - * @var PHPExcel_CalcEngine_Logger - * - */ - private $debugLog; - - /** - * Flag to determine how formula errors should be handled - * If true, then a user error will be triggered - * If false, then an exception will be thrown - * - * @access public - * @var boolean - * - */ - public $suppressFormulaErrors = FALSE; - - /** - * Error message for any error that was raised/thrown by the calculation engine - * - * @access public - * @var string - * - */ - public $formulaError = NULL; - - /** - * An array of the nested cell references accessed by the calculation engine, used for the debug log - * - * @access private - * @var array of string - * - */ - private $_cyclicReferenceStack; - - private $_cellStack = array(); - - /** - * Current iteration counter for cyclic formulae - * If the value is 0 (or less) then cyclic formulae will throw an exception, - * otherwise they will iterate to the limit defined here before returning a result - * - * @var integer - * - */ - private $_cyclicFormulaCount = 1; - - private $_cyclicFormulaCell = ''; - - /** - * Number of iterations for cyclic formulae - * - * @var integer - * - */ - public $cyclicFormulaCount = 1; - - /** - * Precision used for calculations - * - * @var integer - * - */ - private $_savedPrecision = 14; - - - /** - * The current locale setting - * - * @var string - * - */ - private static $_localeLanguage = 'en_us'; // US English (default locale) - - /** - * List of available locale settings - * Note that this is read for the locale subdirectory only when requested - * - * @var string[] - * - */ - private static $_validLocaleLanguages = array( 'en' // English (default language) - ); - /** - * Locale-specific argument separator for function arguments - * - * @var string - * - */ - private static $_localeArgumentSeparator = ','; - private static $_localeFunctions = array(); - - /** - * Locale-specific translations for Excel constants (True, False and Null) - * - * @var string[] - * - */ - public static $_localeBoolean = array( 'TRUE' => 'TRUE', - 'FALSE' => 'FALSE', - 'NULL' => 'NULL' - ); - - - /** - * Excel constant string translations to their PHP equivalents - * Constant conversion from text name/value to actual (datatyped) value - * - * @var string[] - * - */ - private static $_ExcelConstants = array('TRUE' => TRUE, - 'FALSE' => FALSE, - 'NULL' => NULL - ); - - // PHPExcel functions - private static $_PHPExcelFunctions = array( // PHPExcel functions - 'ABS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'abs', - 'argumentCount' => '1' - ), - 'ACCRINT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINT', - 'argumentCount' => '4-7' - ), - 'ACCRINTM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::ACCRINTM', - 'argumentCount' => '3-5' - ), - 'ACOS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'acos', - 'argumentCount' => '1' - ), - 'ACOSH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'acosh', - 'argumentCount' => '1' - ), - 'ADDRESS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::CELL_ADDRESS', - 'argumentCount' => '2-5' - ), - 'AMORDEGRC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::AMORDEGRC', - 'argumentCount' => '6,7' - ), - 'AMORLINC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::AMORLINC', - 'argumentCount' => '6,7' - ), - 'AND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_AND', - 'argumentCount' => '1+' - ), - 'AREAS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'ASC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'ASIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'asin', - 'argumentCount' => '1' - ), - 'ASINH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'asinh', - 'argumentCount' => '1' - ), - 'ATAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'atan', - 'argumentCount' => '1' - ), - 'ATAN2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::ATAN2', - 'argumentCount' => '2' - ), - 'ATANH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'atanh', - 'argumentCount' => '1' - ), - 'AVEDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::AVEDEV', - 'argumentCount' => '1+' - ), - 'AVERAGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGE', - 'argumentCount' => '1+' - ), - 'AVERAGEA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEA', - 'argumentCount' => '1+' - ), - 'AVERAGEIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::AVERAGEIF', - 'argumentCount' => '2,3' - ), - 'AVERAGEIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '3+' - ), - 'BAHTTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'BESSELI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELI', - 'argumentCount' => '2' - ), - 'BESSELJ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELJ', - 'argumentCount' => '2' - ), - 'BESSELK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELK', - 'argumentCount' => '2' - ), - 'BESSELY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BESSELY', - 'argumentCount' => '2' - ), - 'BETADIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::BETADIST', - 'argumentCount' => '3-5' - ), - 'BETAINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::BETAINV', - 'argumentCount' => '3-5' - ), - 'BIN2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTODEC', - 'argumentCount' => '1' - ), - 'BIN2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOHEX', - 'argumentCount' => '1,2' - ), - 'BIN2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::BINTOOCT', - 'argumentCount' => '1,2' - ), - 'BINOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::BINOMDIST', - 'argumentCount' => '4' - ), - 'CEILING' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::CEILING', - 'argumentCount' => '2' - ), - 'CELL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1,2' - ), - 'CHAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::CHARACTER', - 'argumentCount' => '1' - ), - 'CHIDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIDIST', - 'argumentCount' => '2' - ), - 'CHIINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CHIINV', - 'argumentCount' => '2' - ), - 'CHITEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'CHOOSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::CHOOSE', - 'argumentCount' => '2+' - ), - 'CLEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMNONPRINTABLE', - 'argumentCount' => '1' - ), - 'CODE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::ASCIICODE', - 'argumentCount' => '1' - ), - 'COLUMN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMN', - 'argumentCount' => '-1', - 'passByReference' => array(TRUE) - ), - 'COLUMNS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::COLUMNS', - 'argumentCount' => '1' - ), - 'COMBIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::COMBIN', - 'argumentCount' => '2' - ), - 'COMPLEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::COMPLEX', - 'argumentCount' => '2,3' - ), - 'CONCATENATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::CONCATENATE', - 'argumentCount' => '1+' - ), - 'CONFIDENCE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CONFIDENCE', - 'argumentCount' => '3' - ), - 'CONVERT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::CONVERTUOM', - 'argumentCount' => '3' - ), - 'CORREL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', - 'argumentCount' => '2' - ), - 'COS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'cos', - 'argumentCount' => '1' - ), - 'COSH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'cosh', - 'argumentCount' => '1' - ), - 'COUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNT', - 'argumentCount' => '1+' - ), - 'COUNTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTA', - 'argumentCount' => '1+' - ), - 'COUNTBLANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTBLANK', - 'argumentCount' => '1' - ), - 'COUNTIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::COUNTIF', - 'argumentCount' => '2' - ), - 'COUNTIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'COUPDAYBS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYBS', - 'argumentCount' => '3,4' - ), - 'COUPDAYS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYS', - 'argumentCount' => '3,4' - ), - 'COUPDAYSNC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPDAYSNC', - 'argumentCount' => '3,4' - ), - 'COUPNCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNCD', - 'argumentCount' => '3,4' - ), - 'COUPNUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPNUM', - 'argumentCount' => '3,4' - ), - 'COUPPCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::COUPPCD', - 'argumentCount' => '3,4' - ), - 'COVAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::COVAR', - 'argumentCount' => '2' - ), - 'CRITBINOM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CRITBINOM', - 'argumentCount' => '3' - ), - 'CUBEKPIMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBEMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBEMEMBERPROPERTY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBERANKEDMEMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBESET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBESETCOUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUBEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_CUBE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'CUMIPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::CUMIPMT', - 'argumentCount' => '6' - ), - 'CUMPRINC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::CUMPRINC', - 'argumentCount' => '6' - ), - 'DATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DATE', - 'argumentCount' => '3' - ), - 'DATEDIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEDIF', - 'argumentCount' => '2,3' - ), - 'DATEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DATEVALUE', - 'argumentCount' => '1' - ), - 'DAVERAGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DAVERAGE', - 'argumentCount' => '3' - ), - 'DAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFMONTH', - 'argumentCount' => '1' - ), - 'DAYS360' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYS360', - 'argumentCount' => '2,3' - ), - 'DB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::DB', - 'argumentCount' => '4,5' - ), - 'DCOUNT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNT', - 'argumentCount' => '3' - ), - 'DCOUNTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DCOUNTA', - 'argumentCount' => '3' - ), - 'DDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::DDB', - 'argumentCount' => '4,5' - ), - 'DEC2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOBIN', - 'argumentCount' => '1,2' - ), - 'DEC2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOHEX', - 'argumentCount' => '1,2' - ), - 'DEC2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::DECTOOCT', - 'argumentCount' => '1,2' - ), - 'DEGREES' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'rad2deg', - 'argumentCount' => '1' - ), - 'DELTA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::DELTA', - 'argumentCount' => '1,2' - ), - 'DEVSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::DEVSQ', - 'argumentCount' => '1+' - ), - 'DGET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DGET', - 'argumentCount' => '3' - ), - 'DISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::DISC', - 'argumentCount' => '4,5' - ), - 'DMAX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DMAX', - 'argumentCount' => '3' - ), - 'DMIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DMIN', - 'argumentCount' => '3' - ), - 'DOLLAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::DOLLAR', - 'argumentCount' => '1,2' - ), - 'DOLLARDE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARDE', - 'argumentCount' => '2' - ), - 'DOLLARFR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::DOLLARFR', - 'argumentCount' => '2' - ), - 'DPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DPRODUCT', - 'argumentCount' => '3' - ), - 'DSTDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEV', - 'argumentCount' => '3' - ), - 'DSTDEVP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DSTDEVP', - 'argumentCount' => '3' - ), - 'DSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DSUM', - 'argumentCount' => '3' - ), - 'DURATION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '5,6' - ), - 'DVAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DVAR', - 'argumentCount' => '3' - ), - 'DVARP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATABASE, - 'functionCall' => 'PHPExcel_Calculation_Database::DVARP', - 'argumentCount' => '3' - ), - 'EDATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::EDATE', - 'argumentCount' => '2' - ), - 'EFFECT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::EFFECT', - 'argumentCount' => '2' - ), - 'EOMONTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::EOMONTH', - 'argumentCount' => '2' - ), - 'ERF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::ERF', - 'argumentCount' => '1,2' - ), - 'ERFC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::ERFC', - 'argumentCount' => '1' - ), - 'ERROR.TYPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::ERROR_TYPE', - 'argumentCount' => '1' - ), - 'EVEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::EVEN', - 'argumentCount' => '1' - ), - 'EXACT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'EXP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'exp', - 'argumentCount' => '1' - ), - 'EXPONDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::EXPONDIST', - 'argumentCount' => '3' - ), - 'FACT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACT', - 'argumentCount' => '1' - ), - 'FACTDOUBLE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::FACTDOUBLE', - 'argumentCount' => '1' - ), - 'FALSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::FALSE', - 'argumentCount' => '0' - ), - 'FDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '3' - ), - 'FIND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', - 'argumentCount' => '2,3' - ), - 'FINDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHSENSITIVE', - 'argumentCount' => '2,3' - ), - 'FINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '3' - ), - 'FISHER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHER', - 'argumentCount' => '1' - ), - 'FISHERINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::FISHERINV', - 'argumentCount' => '1' - ), - 'FIXED' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::FIXEDFORMAT', - 'argumentCount' => '1-3' - ), - 'FLOOR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::FLOOR', - 'argumentCount' => '2' - ), - 'FORECAST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::FORECAST', - 'argumentCount' => '3' - ), - 'FREQUENCY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'FTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'FV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::FV', - 'argumentCount' => '3-5' - ), - 'FVSCHEDULE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::FVSCHEDULE', - 'argumentCount' => '2' - ), - 'GAMMADIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMADIST', - 'argumentCount' => '4' - ), - 'GAMMAINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMAINV', - 'argumentCount' => '3' - ), - 'GAMMALN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::GAMMALN', - 'argumentCount' => '1' - ), - 'GCD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::GCD', - 'argumentCount' => '1+' - ), - 'GEOMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::GEOMEAN', - 'argumentCount' => '1+' - ), - 'GESTEP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::GESTEP', - 'argumentCount' => '1,2' - ), - 'GETPIVOTDATA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2+' - ), - 'GROWTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::GROWTH', - 'argumentCount' => '1-4' - ), - 'HARMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::HARMEAN', - 'argumentCount' => '1+' - ), - 'HEX2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOBIN', - 'argumentCount' => '1,2' - ), - 'HEX2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTODEC', - 'argumentCount' => '1' - ), - 'HEX2OCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::HEXTOOCT', - 'argumentCount' => '1,2' - ), - 'HLOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::HLOOKUP', - 'argumentCount' => '3,4' - ), - 'HOUR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::HOUROFDAY', - 'argumentCount' => '1' - ), - 'HYPERLINK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::HYPERLINK', - 'argumentCount' => '1,2', - 'passCellReference'=> TRUE - ), - 'HYPGEOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::HYPGEOMDIST', - 'argumentCount' => '4' - ), - 'IF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::STATEMENT_IF', - 'argumentCount' => '1-3' - ), - 'IFERROR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::IFERROR', - 'argumentCount' => '2' - ), - 'IMABS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMABS', - 'argumentCount' => '1' - ), - 'IMAGINARY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMAGINARY', - 'argumentCount' => '1' - ), - 'IMARGUMENT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMARGUMENT', - 'argumentCount' => '1' - ), - 'IMCONJUGATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCONJUGATE', - 'argumentCount' => '1' - ), - 'IMCOS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMCOS', - 'argumentCount' => '1' - ), - 'IMDIV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMDIV', - 'argumentCount' => '2' - ), - 'IMEXP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMEXP', - 'argumentCount' => '1' - ), - 'IMLN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLN', - 'argumentCount' => '1' - ), - 'IMLOG10' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG10', - 'argumentCount' => '1' - ), - 'IMLOG2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMLOG2', - 'argumentCount' => '1' - ), - 'IMPOWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPOWER', - 'argumentCount' => '2' - ), - 'IMPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMPRODUCT', - 'argumentCount' => '1+' - ), - 'IMREAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMREAL', - 'argumentCount' => '1' - ), - 'IMSIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSIN', - 'argumentCount' => '1' - ), - 'IMSQRT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSQRT', - 'argumentCount' => '1' - ), - 'IMSUB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUB', - 'argumentCount' => '2' - ), - 'IMSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::IMSUM', - 'argumentCount' => '1+' - ), - 'INDEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDEX', - 'argumentCount' => '1-4' - ), - 'INDIRECT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::INDIRECT', - 'argumentCount' => '1,2', - 'passCellReference'=> TRUE - ), - 'INFO' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'INT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::INT', - 'argumentCount' => '1' - ), - 'INTERCEPT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::INTERCEPT', - 'argumentCount' => '2' - ), - 'INTRATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::INTRATE', - 'argumentCount' => '4,5' - ), - 'IPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::IPMT', - 'argumentCount' => '4-6' - ), - 'IRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::IRR', - 'argumentCount' => '1,2' - ), - 'ISBLANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_BLANK', - 'argumentCount' => '1' - ), - 'ISERR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERR', - 'argumentCount' => '1' - ), - 'ISERROR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ERROR', - 'argumentCount' => '1' - ), - 'ISEVEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_EVEN', - 'argumentCount' => '1' - ), - 'ISLOGICAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_LOGICAL', - 'argumentCount' => '1' - ), - 'ISNA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NA', - 'argumentCount' => '1' - ), - 'ISNONTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NONTEXT', - 'argumentCount' => '1' - ), - 'ISNUMBER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_NUMBER', - 'argumentCount' => '1' - ), - 'ISODD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_ODD', - 'argumentCount' => '1' - ), - 'ISPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::ISPMT', - 'argumentCount' => '4' - ), - 'ISREF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'ISTEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::IS_TEXT', - 'argumentCount' => '1' - ), - 'JIS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'KURT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::KURT', - 'argumentCount' => '1+' - ), - 'LARGE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::LARGE', - 'argumentCount' => '2' - ), - 'LCM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::LCM', - 'argumentCount' => '1+' - ), - 'LEFT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', - 'argumentCount' => '1,2' - ), - 'LEFTB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::LEFT', - 'argumentCount' => '1,2' - ), - 'LEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', - 'argumentCount' => '1' - ), - 'LENB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::STRINGLENGTH', - 'argumentCount' => '1' - ), - 'LINEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::LINEST', - 'argumentCount' => '1-4' - ), - 'LN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'log', - 'argumentCount' => '1' - ), - 'LOG' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::LOG_BASE', - 'argumentCount' => '1,2' - ), - 'LOG10' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'log10', - 'argumentCount' => '1' - ), - 'LOGEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGEST', - 'argumentCount' => '1-4' - ), - 'LOGINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGINV', - 'argumentCount' => '3' - ), - 'LOGNORMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::LOGNORMDIST', - 'argumentCount' => '3' - ), - 'LOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::LOOKUP', - 'argumentCount' => '2,3' - ), - 'LOWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::LOWERCASE', - 'argumentCount' => '1' - ), - 'MATCH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::MATCH', - 'argumentCount' => '2,3' - ), - 'MAX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MAX', - 'argumentCount' => '1+' - ), - 'MAXA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXA', - 'argumentCount' => '1+' - ), - 'MAXIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MAXIF', - 'argumentCount' => '2+' - ), - 'MDETERM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MDETERM', - 'argumentCount' => '1' - ), - 'MDURATION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '5,6' - ), - 'MEDIAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MEDIAN', - 'argumentCount' => '1+' - ), - 'MEDIANIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2+' - ), - 'MID' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::MID', - 'argumentCount' => '3' - ), - 'MIDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::MID', - 'argumentCount' => '3' - ), - 'MIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MIN', - 'argumentCount' => '1+' - ), - 'MINA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MINA', - 'argumentCount' => '1+' - ), - 'MINIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MINIF', - 'argumentCount' => '2+' - ), - 'MINUTE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::MINUTEOFHOUR', - 'argumentCount' => '1' - ), - 'MINVERSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MINVERSE', - 'argumentCount' => '1' - ), - 'MIRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::MIRR', - 'argumentCount' => '3' - ), - 'MMULT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MMULT', - 'argumentCount' => '2' - ), - 'MOD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MOD', - 'argumentCount' => '2' - ), - 'MODE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::MODE', - 'argumentCount' => '1+' - ), - 'MONTH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::MONTHOFYEAR', - 'argumentCount' => '1' - ), - 'MROUND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MROUND', - 'argumentCount' => '2' - ), - 'MULTINOMIAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::MULTINOMIAL', - 'argumentCount' => '1+' - ), - 'N' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::N', - 'argumentCount' => '1' - ), - 'NA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::NA', - 'argumentCount' => '0' - ), - 'NEGBINOMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::NEGBINOMDIST', - 'argumentCount' => '3' - ), - 'NETWORKDAYS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::NETWORKDAYS', - 'argumentCount' => '2+' - ), - 'NOMINAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::NOMINAL', - 'argumentCount' => '2' - ), - 'NORMDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMDIST', - 'argumentCount' => '4' - ), - 'NORMINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMINV', - 'argumentCount' => '3' - ), - 'NORMSDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSDIST', - 'argumentCount' => '1' - ), - 'NORMSINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::NORMSINV', - 'argumentCount' => '1' - ), - 'NOT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::NOT', - 'argumentCount' => '1' - ), - 'NOW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DATETIMENOW', - 'argumentCount' => '0' - ), - 'NPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::NPER', - 'argumentCount' => '3-5' - ), - 'NPV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::NPV', - 'argumentCount' => '2+' - ), - 'OCT2BIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOBIN', - 'argumentCount' => '1,2' - ), - 'OCT2DEC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTODEC', - 'argumentCount' => '1' - ), - 'OCT2HEX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_ENGINEERING, - 'functionCall' => 'PHPExcel_Calculation_Engineering::OCTTOHEX', - 'argumentCount' => '1,2' - ), - 'ODD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::ODD', - 'argumentCount' => '1' - ), - 'ODDFPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '8,9' - ), - 'ODDFYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '8,9' - ), - 'ODDLPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '7,8' - ), - 'ODDLYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '7,8' - ), - 'OFFSET' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::OFFSET', - 'argumentCount' => '3,5', - 'passCellReference'=> TRUE, - 'passByReference' => array(TRUE) - ), - 'OR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::LOGICAL_OR', - 'argumentCount' => '1+' - ), - 'PEARSON' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::CORREL', - 'argumentCount' => '2' - ), - 'PERCENTILE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTILE', - 'argumentCount' => '2' - ), - 'PERCENTRANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::PERCENTRANK', - 'argumentCount' => '2,3' - ), - 'PERMUT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::PERMUT', - 'argumentCount' => '2' - ), - 'PHONETIC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1' - ), - 'PI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'pi', - 'argumentCount' => '0' - ), - 'PMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PMT', - 'argumentCount' => '3-5' - ), - 'POISSON' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::POISSON', - 'argumentCount' => '3' - ), - 'POWER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::POWER', - 'argumentCount' => '2' - ), - 'PPMT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PPMT', - 'argumentCount' => '4-6' - ), - 'PRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PRICE', - 'argumentCount' => '6,7' - ), - 'PRICEDISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEDISC', - 'argumentCount' => '4,5' - ), - 'PRICEMAT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PRICEMAT', - 'argumentCount' => '5,6' - ), - 'PROB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '3,4' - ), - 'PRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::PRODUCT', - 'argumentCount' => '1+' - ), - 'PROPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::PROPERCASE', - 'argumentCount' => '1' - ), - 'PV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::PV', - 'argumentCount' => '3-5' - ), - 'QUARTILE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::QUARTILE', - 'argumentCount' => '2' - ), - 'QUOTIENT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::QUOTIENT', - 'argumentCount' => '2' - ), - 'RADIANS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'deg2rad', - 'argumentCount' => '1' - ), - 'RAND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', - 'argumentCount' => '0' - ), - 'RANDBETWEEN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::RAND', - 'argumentCount' => '2' - ), - 'RANK' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::RANK', - 'argumentCount' => '2,3' - ), - 'RATE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::RATE', - 'argumentCount' => '3-6' - ), - 'RECEIVED' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::RECEIVED', - 'argumentCount' => '4-5' - ), - 'REPLACE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', - 'argumentCount' => '4' - ), - 'REPLACEB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::REPLACE', - 'argumentCount' => '4' - ), - 'REPT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'str_repeat', - 'argumentCount' => '2' - ), - 'RIGHT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', - 'argumentCount' => '1,2' - ), - 'RIGHTB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::RIGHT', - 'argumentCount' => '1,2' - ), - 'ROMAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROMAN', - 'argumentCount' => '1,2' - ), - 'ROUND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'round', - 'argumentCount' => '2' - ), - 'ROUNDDOWN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDDOWN', - 'argumentCount' => '2' - ), - 'ROUNDUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::ROUNDUP', - 'argumentCount' => '2' - ), - 'ROW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROW', - 'argumentCount' => '-1', - 'passByReference' => array(TRUE) - ), - 'ROWS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::ROWS', - 'argumentCount' => '1' - ), - 'RSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::RSQ', - 'argumentCount' => '2' - ), - 'RTD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '1+' - ), - 'SEARCH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', - 'argumentCount' => '2,3' - ), - 'SEARCHB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::SEARCHINSENSITIVE', - 'argumentCount' => '2,3' - ), - 'SECOND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::SECONDOFMINUTE', - 'argumentCount' => '1' - ), - 'SERIESSUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SERIESSUM', - 'argumentCount' => '4' - ), - 'SIGN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SIGN', - 'argumentCount' => '1' - ), - 'SIN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'sin', - 'argumentCount' => '1' - ), - 'SINH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'sinh', - 'argumentCount' => '1' - ), - 'SKEW' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::SKEW', - 'argumentCount' => '1+' - ), - 'SLN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::SLN', - 'argumentCount' => '3' - ), - 'SLOPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::SLOPE', - 'argumentCount' => '2' - ), - 'SMALL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::SMALL', - 'argumentCount' => '2' - ), - 'SQRT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'sqrt', - 'argumentCount' => '1' - ), - 'SQRTPI' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SQRTPI', - 'argumentCount' => '1' - ), - 'STANDARDIZE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STANDARDIZE', - 'argumentCount' => '3' - ), - 'STDEV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEV', - 'argumentCount' => '1+' - ), - 'STDEVA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVA', - 'argumentCount' => '1+' - ), - 'STDEVP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVP', - 'argumentCount' => '1+' - ), - 'STDEVPA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STDEVPA', - 'argumentCount' => '1+' - ), - 'STEYX' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::STEYX', - 'argumentCount' => '2' - ), - 'SUBSTITUTE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::SUBSTITUTE', - 'argumentCount' => '3,4' - ), - 'SUBTOTAL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUBTOTAL', - 'argumentCount' => '2+' - ), - 'SUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUM', - 'argumentCount' => '1+' - ), - 'SUMIF' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMIF', - 'argumentCount' => '2,3' - ), - 'SUMIFS' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '?' - ), - 'SUMPRODUCT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMPRODUCT', - 'argumentCount' => '1+' - ), - 'SUMSQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMSQ', - 'argumentCount' => '1+' - ), - 'SUMX2MY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2MY2', - 'argumentCount' => '2' - ), - 'SUMX2PY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMX2PY2', - 'argumentCount' => '2' - ), - 'SUMXMY2' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::SUMXMY2', - 'argumentCount' => '2' - ), - 'SYD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::SYD', - 'argumentCount' => '4' - ), - 'T' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::RETURNSTRING', - 'argumentCount' => '1' - ), - 'TAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'tan', - 'argumentCount' => '1' - ), - 'TANH' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'tanh', - 'argumentCount' => '1' - ), - 'TBILLEQ' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLEQ', - 'argumentCount' => '3' - ), - 'TBILLPRICE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLPRICE', - 'argumentCount' => '3' - ), - 'TBILLYIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::TBILLYIELD', - 'argumentCount' => '3' - ), - 'TDIST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::TDIST', - 'argumentCount' => '3' - ), - 'TEXT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::TEXTFORMAT', - 'argumentCount' => '2' - ), - 'TIME' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::TIME', - 'argumentCount' => '3' - ), - 'TIMEVALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::TIMEVALUE', - 'argumentCount' => '1' - ), - 'TINV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::TINV', - 'argumentCount' => '2' - ), - 'TODAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DATENOW', - 'argumentCount' => '0' - ), - 'TRANSPOSE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::TRANSPOSE', - 'argumentCount' => '1' - ), - 'TREND' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::TREND', - 'argumentCount' => '1-4' - ), - 'TRIM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::TRIMSPACES', - 'argumentCount' => '1' - ), - 'TRIMMEAN' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::TRIMMEAN', - 'argumentCount' => '2' - ), - 'TRUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOGICAL, - 'functionCall' => 'PHPExcel_Calculation_Logical::TRUE', - 'argumentCount' => '0' - ), - 'TRUNC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_MATH_AND_TRIG, - 'functionCall' => 'PHPExcel_Calculation_MathTrig::TRUNC', - 'argumentCount' => '1,2' - ), - 'TTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '4' - ), - 'TYPE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::TYPE', - 'argumentCount' => '1' - ), - 'UPPER' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::UPPERCASE', - 'argumentCount' => '1' - ), - 'USDOLLAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '2' - ), - 'VALUE' => array('category' => PHPExcel_Calculation_Function::CATEGORY_TEXT_AND_DATA, - 'functionCall' => 'PHPExcel_Calculation_TextData::VALUE', - 'argumentCount' => '1' - ), - 'VAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::VARFunc', - 'argumentCount' => '1+' - ), - 'VARA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::VARA', - 'argumentCount' => '1+' - ), - 'VARP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::VARP', - 'argumentCount' => '1+' - ), - 'VARPA' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::VARPA', - 'argumentCount' => '1+' - ), - 'VDB' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '5-7' - ), - 'VERSION' => array('category' => PHPExcel_Calculation_Function::CATEGORY_INFORMATION, - 'functionCall' => 'PHPExcel_Calculation_Functions::VERSION', - 'argumentCount' => '0' - ), - 'VLOOKUP' => array('category' => PHPExcel_Calculation_Function::CATEGORY_LOOKUP_AND_REFERENCE, - 'functionCall' => 'PHPExcel_Calculation_LookupRef::VLOOKUP', - 'argumentCount' => '3,4' - ), - 'WEEKDAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::DAYOFWEEK', - 'argumentCount' => '1,2' - ), - 'WEEKNUM' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::WEEKOFYEAR', - 'argumentCount' => '1,2' - ), - 'WEIBULL' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::WEIBULL', - 'argumentCount' => '4' - ), - 'WORKDAY' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::WORKDAY', - 'argumentCount' => '2+' - ), - 'XIRR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::XIRR', - 'argumentCount' => '2,3' - ), - 'XNPV' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::XNPV', - 'argumentCount' => '3' - ), - 'YEAR' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::YEAR', - 'argumentCount' => '1' - ), - 'YEARFRAC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_DATE_AND_TIME, - 'functionCall' => 'PHPExcel_Calculation_DateTime::YEARFRAC', - 'argumentCount' => '2,3' - ), - 'YIELD' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Functions::DUMMY', - 'argumentCount' => '6,7' - ), - 'YIELDDISC' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDDISC', - 'argumentCount' => '4,5' - ), - 'YIELDMAT' => array('category' => PHPExcel_Calculation_Function::CATEGORY_FINANCIAL, - 'functionCall' => 'PHPExcel_Calculation_Financial::YIELDMAT', - 'argumentCount' => '5,6' - ), - 'ZTEST' => array('category' => PHPExcel_Calculation_Function::CATEGORY_STATISTICAL, - 'functionCall' => 'PHPExcel_Calculation_Statistical::ZTEST', - 'argumentCount' => '2-3' - ) - ); - - - // Internal functions used for special control purposes - private static $_controlFunctions = array( - 'MKMATRIX' => array('argumentCount' => '*', - 'functionCall' => 'self::_mkMatrix' - ) - ); - - - - - private function __construct(PHPExcel $workbook = NULL) { - $setPrecision = (PHP_INT_SIZE == 4) ? 14 : 16; - $this->_savedPrecision = ini_get('precision'); - if ($this->_savedPrecision < $setPrecision) { - ini_set('precision',$setPrecision); - } - $this->delta = 1 * pow(10, -$setPrecision); - - if ($workbook !== NULL) { - self::$_workbookSets[$workbook->getID()] = $this; - } - - $this->_workbook = $workbook; - $this->_cyclicReferenceStack = new PHPExcel_CalcEngine_CyclicReferenceStack(); - $this->_debugLog = new PHPExcel_CalcEngine_Logger($this->_cyclicReferenceStack); - } // function __construct() - - - public function __destruct() { - if ($this->_savedPrecision != ini_get('precision')) { - ini_set('precision',$this->_savedPrecision); - } - } - - private static function _loadLocales() { - $localeFileDirectory = PHPEXCEL_ROOT.'PHPExcel/locale/'; - foreach (glob($localeFileDirectory.'/*',GLOB_ONLYDIR) as $filename) { - $filename = substr($filename,strlen($localeFileDirectory)+1); - if ($filename != 'en') { - self::$_validLocaleLanguages[] = $filename; - } - } - } - - /** - * Get an instance of this class - * - * @access public - * @param PHPExcel $workbook Injected workbook for working with a PHPExcel object, - * or NULL to create a standalone claculation engine - * @return PHPExcel_Calculation - */ - public static function getInstance(PHPExcel $workbook = NULL) { - if ($workbook !== NULL) { - if (isset(self::$_workbookSets[$workbook->getID()])) { - return self::$_workbookSets[$workbook->getID()]; - } - return new PHPExcel_Calculation($workbook); - } - - if (!isset(self::$_instance) || (self::$_instance === NULL)) { - self::$_instance = new PHPExcel_Calculation(); - } - - return self::$_instance; - } // function getInstance() - - /** - * Unset an instance of this class - * - * @access public - * @param PHPExcel $workbook Injected workbook identifying the instance to unset - */ - public static function unsetInstance(PHPExcel $workbook = NULL) { - if ($workbook !== NULL) { - if (isset(self::$_workbookSets[$workbook->getID()])) { - unset(self::$_workbookSets[$workbook->getID()]); - } - } + $this->workbook = $workbook; + $this->cyclicReferenceStack = new PHPExcel_CalcEngine_CyclicReferenceStack(); + $this->_debugLog = new PHPExcel_CalcEngine_Logger($this->cyclicReferenceStack); } - /** - * Flush the calculation cache for any existing instance of this class - * but only if a PHPExcel_Calculation instance exists - * - * @access public - * @return null - */ - public function flushInstance() { - $this->clearCalculationCache(); - } // function flushInstance() + + private static function loadLocales() + { + $localeFileDirectory = PHPEXCEL_ROOT.'PHPExcel/locale/'; + foreach (glob($localeFileDirectory.'/*', GLOB_ONLYDIR) as $filename) { + $filename = substr($filename, strlen($localeFileDirectory)+1); + if ($filename != 'en') { + self::$validLocaleLanguages[] = $filename; + } + } + } + + /** + * Get an instance of this class + * + * @access public + * @param PHPExcel $workbook Injected workbook for working with a PHPExcel object, + * or NULL to create a standalone claculation engine + * @return PHPExcel_Calculation + */ + public static function getInstance(PHPExcel $workbook = null) + { + if ($workbook !== null) { + $instance = $workbook->getCalculationEngine(); + if (isset($instance)) { + return $instance; + } + } + + if (!isset(self::$instance) || (self::$instance === null)) { + self::$instance = new PHPExcel_Calculation(); + } + return self::$instance; + } + + /** + * Unset an instance of this class + * + * @access public + */ + public function __destruct() + { + $this->workbook = null; + } + + /** + * Flush the calculation cache for any existing instance of this class + * but only if a PHPExcel_Calculation instance exists + * + * @access public + * @return null + */ + public function flushInstance() + { + $this->clearCalculationCache(); + } - /** - * Get the debuglog for this claculation engine instance - * - * @access public - * @return PHPExcel_CalcEngine_Logger - */ - public function getDebugLog() { - return $this->_debugLog; - } + /** + * Get the debuglog for this claculation engine instance + * + * @access public + * @return PHPExcel_CalcEngine_Logger + */ + public function getDebugLog() + { + return $this->_debugLog; + } - /** - * __clone implementation. Cloning should not be allowed in a Singleton! - * - * @access public - * @throws PHPExcel_Calculation_Exception - */ - public final function __clone() { - throw new PHPExcel_Calculation_Exception ('Cloning the calculation engine is not allowed!'); - } // function __clone() + /** + * __clone implementation. Cloning should not be allowed in a Singleton! + * + * @access public + * @throws PHPExcel_Calculation_Exception + */ + final public function __clone() + { + throw new PHPExcel_Calculation_Exception('Cloning the calculation engine is not allowed!'); + } - /** - * Return the locale-specific translation of TRUE - * - * @access public - * @return string locale-specific translation of TRUE - */ - public static function getTRUE() { - return self::$_localeBoolean['TRUE']; - } + /** + * Return the locale-specific translation of TRUE + * + * @access public + * @return string locale-specific translation of TRUE + */ + public static function getTRUE() + { + return self::$localeBoolean['TRUE']; + } - /** - * Return the locale-specific translation of FALSE - * - * @access public - * @return string locale-specific translation of FALSE - */ - public static function getFALSE() { - return self::$_localeBoolean['FALSE']; - } + /** + * Return the locale-specific translation of FALSE + * + * @access public + * @return string locale-specific translation of FALSE + */ + public static function getFALSE() + { + return self::$localeBoolean['FALSE']; + } - /** - * Set the Array Return Type (Array or Value of first element in the array) - * - * @access public - * @param string $returnType Array return type - * @return boolean Success or failure - */ - public static function setArrayReturnType($returnType) { - if (($returnType == self::RETURN_ARRAY_AS_VALUE) || - ($returnType == self::RETURN_ARRAY_AS_ERROR) || - ($returnType == self::RETURN_ARRAY_AS_ARRAY)) { - self::$returnArrayAsType = $returnType; - return TRUE; - } - return FALSE; - } // function setArrayReturnType() + /** + * Set the Array Return Type (Array or Value of first element in the array) + * + * @access public + * @param string $returnType Array return type + * @return boolean Success or failure + */ + public static function setArrayReturnType($returnType) + { + if (($returnType == self::RETURN_ARRAY_AS_VALUE) || + ($returnType == self::RETURN_ARRAY_AS_ERROR) || + ($returnType == self::RETURN_ARRAY_AS_ARRAY)) { + self::$returnArrayAsType = $returnType; + return true; + } + return false; + } - /** - * Return the Array Return Type (Array or Value of first element in the array) - * - * @access public - * @return string $returnType Array return type - */ - public static function getArrayReturnType() { - return self::$returnArrayAsType; - } // function getArrayReturnType() + /** + * Return the Array Return Type (Array or Value of first element in the array) + * + * @access public + * @return string $returnType Array return type + */ + public static function getArrayReturnType() + { + return self::$returnArrayAsType; + } - /** - * Is calculation caching enabled? - * - * @access public - * @return boolean - */ - public function getCalculationCacheEnabled() { - return $this->_calculationCacheEnabled; - } // function getCalculationCacheEnabled() + /** + * Is calculation caching enabled? + * + * @access public + * @return boolean + */ + public function getCalculationCacheEnabled() + { + return $this->calculationCacheEnabled; + } - /** - * Enable/disable calculation cache - * - * @access public - * @param boolean $pValue - */ - public function setCalculationCacheEnabled($pValue = TRUE) { - $this->_calculationCacheEnabled = $pValue; - $this->clearCalculationCache(); - } // function setCalculationCacheEnabled() + /** + * Enable/disable calculation cache + * + * @access public + * @param boolean $pValue + */ + public function setCalculationCacheEnabled($pValue = true) + { + $this->calculationCacheEnabled = $pValue; + $this->clearCalculationCache(); + } - /** - * Enable calculation cache - */ - public function enableCalculationCache() { - $this->setCalculationCacheEnabled(TRUE); - } // function enableCalculationCache() + /** + * Enable calculation cache + */ + public function enableCalculationCache() + { + $this->setCalculationCacheEnabled(true); + } - /** - * Disable calculation cache - */ - public function disableCalculationCache() { - $this->setCalculationCacheEnabled(FALSE); - } // function disableCalculationCache() + /** + * Disable calculation cache + */ + public function disableCalculationCache() + { + $this->setCalculationCacheEnabled(false); + } - /** - * Clear calculation cache - */ - public function clearCalculationCache() { - $this->_calculationCache = array(); - } // function clearCalculationCache() + /** + * Clear calculation cache + */ + public function clearCalculationCache() + { + $this->calculationCache = array(); + } - /** - * Clear calculation cache for a specified worksheet - * - * @param string $worksheetName - */ - public function clearCalculationCacheForWorksheet($worksheetName) { - if (isset($this->_calculationCache[$worksheetName])) { - unset($this->_calculationCache[$worksheetName]); - } - } // function clearCalculationCacheForWorksheet() + /** + * Clear calculation cache for a specified worksheet + * + * @param string $worksheetName + */ + public function clearCalculationCacheForWorksheet($worksheetName) + { + if (isset($this->calculationCache[$worksheetName])) { + unset($this->calculationCache[$worksheetName]); + } + } - /** - * Rename calculation cache for a specified worksheet - * - * @param string $fromWorksheetName - * @param string $toWorksheetName - */ - public function renameCalculationCacheForWorksheet($fromWorksheetName, $toWorksheetName) { - if (isset($this->_calculationCache[$fromWorksheetName])) { - $this->_calculationCache[$toWorksheetName] = &$this->_calculationCache[$fromWorksheetName]; - unset($this->_calculationCache[$fromWorksheetName]); - } - } // function renameCalculationCacheForWorksheet() + /** + * Rename calculation cache for a specified worksheet + * + * @param string $fromWorksheetName + * @param string $toWorksheetName + */ + public function renameCalculationCacheForWorksheet($fromWorksheetName, $toWorksheetName) + { + if (isset($this->calculationCache[$fromWorksheetName])) { + $this->calculationCache[$toWorksheetName] = &$this->calculationCache[$fromWorksheetName]; + unset($this->calculationCache[$fromWorksheetName]); + } + } - /** - * Get the currently defined locale code - * - * @return string - */ - public function getLocale() { - return self::$_localeLanguage; - } // function getLocale() + /** + * Get the currently defined locale code + * + * @return string + */ + public function getLocale() + { + return self::$localeLanguage; + } - /** - * Set the locale code - * - * @param string $locale The locale to use for formula translation - * @return boolean - */ - public function setLocale($locale = 'en_us') { - // Identify our locale and language - $language = $locale = strtolower($locale); - if (strpos($locale,'_') !== FALSE) { - list($language) = explode('_',$locale); - } + /** + * Set the locale code + * + * @param string $locale The locale to use for formula translation + * @return boolean + */ + public function setLocale($locale = 'en_us') + { + // Identify our locale and language + $language = $locale = strtolower($locale); + if (strpos($locale, '_') !== false) { + list($language) = explode('_', $locale); + } - if (count(self::$_validLocaleLanguages) == 1) - self::_loadLocales(); + if (count(self::$validLocaleLanguages) == 1) { + self::loadLocales(); + } + // Test whether we have any language data for this language (any locale) + if (in_array($language, self::$validLocaleLanguages)) { + // initialise language/locale settings + self::$localeFunctions = array(); + self::$localeArgumentSeparator = ','; + self::$localeBoolean = array('TRUE' => 'TRUE', 'FALSE' => 'FALSE', 'NULL' => 'NULL'); + // Default is English, if user isn't requesting english, then read the necessary data from the locale files + if ($locale != 'en_us') { + // Search for a file with a list of function names for locale + $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $locale).DIRECTORY_SEPARATOR.'functions'; + if (!file_exists($functionNamesFile)) { + // If there isn't a locale specific function file, look for a language specific function file + $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'functions'; + if (!file_exists($functionNamesFile)) { + return false; + } + } + // Retrieve the list of locale or language specific function names + $localeFunctions = file($functionNamesFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + foreach ($localeFunctions as $localeFunction) { + list($localeFunction) = explode('##', $localeFunction); // Strip out comments + if (strpos($localeFunction, '=') !== false) { + list($fName, $lfName) = explode('=', $localeFunction); + $fName = trim($fName); + $lfName = trim($lfName); + if ((isset(self::$PHPExcelFunctions[$fName])) && ($lfName != '') && ($fName != $lfName)) { + self::$localeFunctions[$fName] = $lfName; + } + } + } + // Default the TRUE and FALSE constants to the locale names of the TRUE() and FALSE() functions + if (isset(self::$localeFunctions['TRUE'])) { + self::$localeBoolean['TRUE'] = self::$localeFunctions['TRUE']; + } + if (isset(self::$localeFunctions['FALSE'])) { + self::$localeBoolean['FALSE'] = self::$localeFunctions['FALSE']; + } - // Test whether we have any language data for this language (any locale) - if (in_array($language,self::$_validLocaleLanguages)) { - // initialise language/locale settings - self::$_localeFunctions = array(); - self::$_localeArgumentSeparator = ','; - self::$_localeBoolean = array('TRUE' => 'TRUE', 'FALSE' => 'FALSE', 'NULL' => 'NULL'); - // Default is English, if user isn't requesting english, then read the necessary data from the locale files - if ($locale != 'en_us') { - // Search for a file with a list of function names for locale - $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_',DIRECTORY_SEPARATOR,$locale).DIRECTORY_SEPARATOR.'functions'; - if (!file_exists($functionNamesFile)) { - // If there isn't a locale specific function file, look for a language specific function file - $functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'functions'; - if (!file_exists($functionNamesFile)) { - return FALSE; - } - } - // Retrieve the list of locale or language specific function names - $localeFunctions = file($functionNamesFile,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - foreach ($localeFunctions as $localeFunction) { - list($localeFunction) = explode('##',$localeFunction); // Strip out comments - if (strpos($localeFunction,'=') !== FALSE) { - list($fName,$lfName) = explode('=',$localeFunction); - $fName = trim($fName); - $lfName = trim($lfName); - if ((isset(self::$_PHPExcelFunctions[$fName])) && ($lfName != '') && ($fName != $lfName)) { - self::$_localeFunctions[$fName] = $lfName; - } - } - } - // Default the TRUE and FALSE constants to the locale names of the TRUE() and FALSE() functions - if (isset(self::$_localeFunctions['TRUE'])) { self::$_localeBoolean['TRUE'] = self::$_localeFunctions['TRUE']; } - if (isset(self::$_localeFunctions['FALSE'])) { self::$_localeBoolean['FALSE'] = self::$_localeFunctions['FALSE']; } + $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $locale).DIRECTORY_SEPARATOR.'config'; + if (!file_exists($configFile)) { + $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'config'; + } + if (file_exists($configFile)) { + $localeSettings = file($configFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + foreach ($localeSettings as $localeSetting) { + list($localeSetting) = explode('##', $localeSetting); // Strip out comments + if (strpos($localeSetting, '=') !== false) { + list($settingName, $settingValue) = explode('=', $localeSetting); + $settingName = strtoupper(trim($settingName)); + switch ($settingName) { + case 'ARGUMENTSEPARATOR': + self::$localeArgumentSeparator = trim($settingValue); + break; + } + } + } + } + } - $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.str_replace('_',DIRECTORY_SEPARATOR,$locale).DIRECTORY_SEPARATOR.'config'; - if (!file_exists($configFile)) { - $configFile = PHPEXCEL_ROOT . 'PHPExcel'.DIRECTORY_SEPARATOR.'locale'.DIRECTORY_SEPARATOR.$language.DIRECTORY_SEPARATOR.'config'; - } - if (file_exists($configFile)) { - $localeSettings = file($configFile,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - foreach ($localeSettings as $localeSetting) { - list($localeSetting) = explode('##',$localeSetting); // Strip out comments - if (strpos($localeSetting,'=') !== FALSE) { - list($settingName,$settingValue) = explode('=',$localeSetting); - $settingName = strtoupper(trim($settingName)); - switch ($settingName) { - case 'ARGUMENTSEPARATOR' : - self::$_localeArgumentSeparator = trim($settingValue); - break; - } - } - } - } - } - - self::$functionReplaceFromExcel = self::$functionReplaceToExcel = - self::$functionReplaceFromLocale = self::$functionReplaceToLocale = NULL; - self::$_localeLanguage = $locale; - return TRUE; - } - return FALSE; - } // function setLocale() + self::$functionReplaceFromExcel = self::$functionReplaceToExcel = + self::$functionReplaceFromLocale = self::$functionReplaceToLocale = null; + self::$localeLanguage = $locale; + return true; + } + return false; + } - public static function _translateSeparator($fromSeparator,$toSeparator,$formula,&$inBraces) { - $strlen = mb_strlen($formula); - for ($i = 0; $i < $strlen; ++$i) { - $chr = mb_substr($formula,$i,1); - switch ($chr) { - case '{' : $inBraces = TRUE; - break; - case '}' : $inBraces = FALSE; - break; - case $fromSeparator : - if (!$inBraces) { - $formula = mb_substr($formula,0,$i).$toSeparator.mb_substr($formula,$i+1); - } - } - } - return $formula; - } + public static function translateSeparator($fromSeparator, $toSeparator, $formula, &$inBraces) + { + $strlen = mb_strlen($formula); + for ($i = 0; $i < $strlen; ++$i) { + $chr = mb_substr($formula, $i, 1); + switch ($chr) { + case '{': + $inBraces = true; + break; + case '}': + $inBraces = false; + break; + case $fromSeparator: + if (!$inBraces) { + $formula = mb_substr($formula, 0, $i).$toSeparator.mb_substr($formula, $i+1); + } + } + } + return $formula; + } - private static function _translateFormula($from,$to,$formula,$fromSeparator,$toSeparator) { - // Convert any Excel function names to the required language - if (self::$_localeLanguage !== 'en_us') { - $inBraces = FALSE; - // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators - if (strpos($formula,'"') !== FALSE) { - // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded - // the formula - $temp = explode('"',$formula); - $i = FALSE; - foreach($temp as &$value) { - // Only count/replace in alternating array entries - if ($i = !$i) { - $value = preg_replace($from,$to,$value); - $value = self::_translateSeparator($fromSeparator,$toSeparator,$value,$inBraces); - } - } - unset($value); - // Then rebuild the formula string - $formula = implode('"',$temp); - } else { - // If there's no quoted strings, then we do a simple count/replace - $formula = preg_replace($from,$to,$formula); - $formula = self::_translateSeparator($fromSeparator,$toSeparator,$formula,$inBraces); - } - } + private static function translateFormula($from, $to, $formula, $fromSeparator, $toSeparator) + { + // Convert any Excel function names to the required language + if (self::$localeLanguage !== 'en_us') { + $inBraces = false; + // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators + if (strpos($formula, '"') !== false) { + // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded + // the formula + $temp = explode('"', $formula); + $i = false; + foreach ($temp as &$value) { + // Only count/replace in alternating array entries + if ($i = !$i) { + $value = preg_replace($from, $to, $value); + $value = self::translateSeparator($fromSeparator, $toSeparator, $value, $inBraces); + } + } + unset($value); + // Then rebuild the formula string + $formula = implode('"', $temp); + } else { + // If there's no quoted strings, then we do a simple count/replace + $formula = preg_replace($from, $to, $formula); + $formula = self::translateSeparator($fromSeparator, $toSeparator, $formula, $inBraces); + } + } - return $formula; - } + return $formula; + } - private static $functionReplaceFromExcel = NULL; - private static $functionReplaceToLocale = NULL; + private static $functionReplaceFromExcel = null; + private static $functionReplaceToLocale = null; - public function _translateFormulaToLocale($formula) { - if (self::$functionReplaceFromExcel === NULL) { - self::$functionReplaceFromExcel = array(); - foreach(array_keys(self::$_localeFunctions) as $excelFunctionName) { - self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelFunctionName).'([\s]*\()/Ui'; - } - foreach(array_keys(self::$_localeBoolean) as $excelBoolean) { - self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; - } + public function _translateFormulaToLocale($formula) + { + if (self::$functionReplaceFromExcel === null) { + self::$functionReplaceFromExcel = array(); + foreach (array_keys(self::$localeFunctions) as $excelFunctionName) { + self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelFunctionName).'([\s]*\()/Ui'; + } + foreach (array_keys(self::$localeBoolean) as $excelBoolean) { + self::$functionReplaceFromExcel[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; + } - } + } - if (self::$functionReplaceToLocale === NULL) { - self::$functionReplaceToLocale = array(); - foreach(array_values(self::$_localeFunctions) as $localeFunctionName) { - self::$functionReplaceToLocale[] = '$1'.trim($localeFunctionName).'$2'; - } - foreach(array_values(self::$_localeBoolean) as $localeBoolean) { - self::$functionReplaceToLocale[] = '$1'.trim($localeBoolean).'$2'; - } - } + if (self::$functionReplaceToLocale === null) { + self::$functionReplaceToLocale = array(); + foreach (array_values(self::$localeFunctions) as $localeFunctionName) { + self::$functionReplaceToLocale[] = '$1'.trim($localeFunctionName).'$2'; + } + foreach (array_values(self::$localeBoolean) as $localeBoolean) { + self::$functionReplaceToLocale[] = '$1'.trim($localeBoolean).'$2'; + } + } - return self::_translateFormula(self::$functionReplaceFromExcel,self::$functionReplaceToLocale,$formula,',',self::$_localeArgumentSeparator); - } // function _translateFormulaToLocale() + return self::translateFormula(self::$functionReplaceFromExcel, self::$functionReplaceToLocale, $formula, ',', self::$localeArgumentSeparator); + } - private static $functionReplaceFromLocale = NULL; - private static $functionReplaceToExcel = NULL; + private static $functionReplaceFromLocale = null; + private static $functionReplaceToExcel = null; - public function _translateFormulaToEnglish($formula) { - if (self::$functionReplaceFromLocale === NULL) { - self::$functionReplaceFromLocale = array(); - foreach(array_values(self::$_localeFunctions) as $localeFunctionName) { - self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($localeFunctionName).'([\s]*\()/Ui'; - } - foreach(array_values(self::$_localeBoolean) as $excelBoolean) { - self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; - } - } + public function _translateFormulaToEnglish($formula) + { + if (self::$functionReplaceFromLocale === null) { + self::$functionReplaceFromLocale = array(); + foreach (array_values(self::$localeFunctions) as $localeFunctionName) { + self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($localeFunctionName).'([\s]*\()/Ui'; + } + foreach (array_values(self::$localeBoolean) as $excelBoolean) { + self::$functionReplaceFromLocale[] = '/(@?[^\w\.])'.preg_quote($excelBoolean).'([^\w\.])/Ui'; + } + } - if (self::$functionReplaceToExcel === NULL) { - self::$functionReplaceToExcel = array(); - foreach(array_keys(self::$_localeFunctions) as $excelFunctionName) { - self::$functionReplaceToExcel[] = '$1'.trim($excelFunctionName).'$2'; - } - foreach(array_keys(self::$_localeBoolean) as $excelBoolean) { - self::$functionReplaceToExcel[] = '$1'.trim($excelBoolean).'$2'; - } - } + if (self::$functionReplaceToExcel === null) { + self::$functionReplaceToExcel = array(); + foreach (array_keys(self::$localeFunctions) as $excelFunctionName) { + self::$functionReplaceToExcel[] = '$1'.trim($excelFunctionName).'$2'; + } + foreach (array_keys(self::$localeBoolean) as $excelBoolean) { + self::$functionReplaceToExcel[] = '$1'.trim($excelBoolean).'$2'; + } + } - return self::_translateFormula(self::$functionReplaceFromLocale,self::$functionReplaceToExcel,$formula,self::$_localeArgumentSeparator,','); - } // function _translateFormulaToEnglish() + return self::translateFormula(self::$functionReplaceFromLocale, self::$functionReplaceToExcel, $formula, self::$localeArgumentSeparator, ','); + } - public static function _localeFunc($function) { - if (self::$_localeLanguage !== 'en_us') { - $functionName = trim($function,'('); - if (isset(self::$_localeFunctions[$functionName])) { - $brace = ($functionName != $function); - $function = self::$_localeFunctions[$functionName]; - if ($brace) { $function .= '('; } - } - } - return $function; - } + public static function localeFunc($function) + { + if (self::$localeLanguage !== 'en_us') { + $functionName = trim($function, '('); + if (isset(self::$localeFunctions[$functionName])) { + $brace = ($functionName != $function); + $function = self::$localeFunctions[$functionName]; + if ($brace) { + $function .= '('; + } + } + } + return $function; + } - /** - * Wrap string values in quotes - * - * @param mixed $value - * @return mixed - */ - public static function _wrapResult($value) { - if (is_string($value)) { - // Error values cannot be "wrapped" - if (preg_match('/^'.self::CALCULATION_REGEXP_ERROR.'$/i', $value, $match)) { - // Return Excel errors "as is" - return $value; - } - // Return strings wrapped in quotes - return '"'.$value.'"'; - // Convert numeric errors to NaN error - } else if((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { - return PHPExcel_Calculation_Functions::NaN(); - } + /** + * Wrap string values in quotes + * + * @param mixed $value + * @return mixed + */ + public static function wrapResult($value) + { + if (is_string($value)) { + // Error values cannot be "wrapped" + if (preg_match('/^'.self::CALCULATION_REGEXP_ERROR.'$/i', $value, $match)) { + // Return Excel errors "as is" + return $value; + } + // Return strings wrapped in quotes + return '"'.$value.'"'; + // Convert numeric errors to NaN error + } elseif ((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { + return PHPExcel_Calculation_Functions::NaN(); + } - return $value; - } // function _wrapResult() + return $value; + } - /** - * Remove quotes used as a wrapper to identify string values - * - * @param mixed $value - * @return mixed - */ - public static function _unwrapResult($value) { - if (is_string($value)) { - if ((isset($value{0})) && ($value{0} == '"') && (substr($value,-1) == '"')) { - return substr($value,1,-1); - } - // Convert numeric errors to NaN error - } else if((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { - return PHPExcel_Calculation_Functions::NaN(); - } - return $value; - } // function _unwrapResult() + /** + * Remove quotes used as a wrapper to identify string values + * + * @param mixed $value + * @return mixed + */ + public static function unwrapResult($value) + { + if (is_string($value)) { + if ((isset($value{0})) && ($value{0} == '"') && (substr($value, -1) == '"')) { + return substr($value, 1, -1); + } + // Convert numeric errors to NaN error + } elseif ((is_float($value)) && ((is_nan($value)) || (is_infinite($value)))) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $value; + } - /** - * Calculate cell value (using formula from a cell ID) - * Retained for backward compatibility - * - * @access public - * @param PHPExcel_Cell $pCell Cell to calculate - * @return mixed - * @throws PHPExcel_Calculation_Exception - */ - public function calculate(PHPExcel_Cell $pCell = NULL) { - try { - return $this->calculateCellValue($pCell); - } catch (PHPExcel_Exception $e) { - throw new PHPExcel_Calculation_Exception($e->getMessage()); - } - } // function calculate() + /** + * Calculate cell value (using formula from a cell ID) + * Retained for backward compatibility + * + * @access public + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculate(PHPExcel_Cell $pCell = null) + { + try { + return $this->calculateCellValue($pCell); + } catch (PHPExcel_Exception $e) { + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } + } - /** - * Calculate the value of a cell formula - * - * @access public - * @param PHPExcel_Cell $pCell Cell to calculate - * @param Boolean $resetLog Flag indicating whether the debug log should be reset or not - * @return mixed - * @throws PHPExcel_Calculation_Exception - */ - public function calculateCellValue(PHPExcel_Cell $pCell = NULL, $resetLog = TRUE) { - if ($pCell === NULL) { - return NULL; - } + /** + * Calculate the value of a cell formula + * + * @access public + * @param PHPExcel_Cell $pCell Cell to calculate + * @param Boolean $resetLog Flag indicating whether the debug log should be reset or not + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculateCellValue(PHPExcel_Cell $pCell = null, $resetLog = true) + { + if ($pCell === null) { + return null; + } - $returnArrayAsType = self::$returnArrayAsType; - if ($resetLog) { - // Initialise the logging settings if requested - $this->formulaError = null; - $this->_debugLog->clearLog(); - $this->_cyclicReferenceStack->clear(); - $this->_cyclicFormulaCount = 1; + $returnArrayAsType = self::$returnArrayAsType; + if ($resetLog) { + // Initialise the logging settings if requested + $this->formulaError = null; + $this->_debugLog->clearLog(); + $this->cyclicReferenceStack->clear(); + $this->cyclicFormulaCounter = 1; - self::$returnArrayAsType = self::RETURN_ARRAY_AS_ARRAY; - } + self::$returnArrayAsType = self::RETURN_ARRAY_AS_ARRAY; + } - // Execute the calculation for the cell formula - $this->_cellStack[] = array( + // Execute the calculation for the cell formula + $this->cellStack[] = array( 'sheet' => $pCell->getWorksheet()->getTitle(), 'cell' => $pCell->getCoordinate(), ); - try { - $result = self::_unwrapResult($this->_calculateFormulaValue($pCell->getValue(), $pCell->getCoordinate(), $pCell)); - $cellAddress = array_pop($this->_cellStack); - $this->_workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); - } catch (PHPExcel_Exception $e) { - $cellAddress = array_pop($this->_cellStack); - $this->_workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); - throw new PHPExcel_Calculation_Exception($e->getMessage()); - } + try { + $result = self::unwrapResult($this->_calculateFormulaValue($pCell->getValue(), $pCell->getCoordinate(), $pCell)); + $cellAddress = array_pop($this->cellStack); + $this->workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); + } catch (PHPExcel_Exception $e) { + $cellAddress = array_pop($this->cellStack); + $this->workbook->getSheetByName($cellAddress['sheet'])->getCell($cellAddress['cell']); + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } - if ((is_array($result)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { - self::$returnArrayAsType = $returnArrayAsType; - $testResult = PHPExcel_Calculation_Functions::flattenArray($result); - if (self::$returnArrayAsType == self::RETURN_ARRAY_AS_ERROR) { - return PHPExcel_Calculation_Functions::VALUE(); - } - // If there's only a single cell in the array, then we allow it - if (count($testResult) != 1) { - // If keys are numeric, then it's a matrix result rather than a cell range result, so we permit it - $r = array_keys($result); - $r = array_shift($r); - if (!is_numeric($r)) { return PHPExcel_Calculation_Functions::VALUE(); } - if (is_array($result[$r])) { - $c = array_keys($result[$r]); - $c = array_shift($c); - if (!is_numeric($c)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - } - $result = array_shift($testResult); - } - self::$returnArrayAsType = $returnArrayAsType; + if ((is_array($result)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { + self::$returnArrayAsType = $returnArrayAsType; + $testResult = PHPExcel_Calculation_Functions::flattenArray($result); + if (self::$returnArrayAsType == self::RETURN_ARRAY_AS_ERROR) { + return PHPExcel_Calculation_Functions::VALUE(); + } + // If there's only a single cell in the array, then we allow it + if (count($testResult) != 1) { + // If keys are numeric, then it's a matrix result rather than a cell range result, so we permit it + $r = array_keys($result); + $r = array_shift($r); + if (!is_numeric($r)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_array($result[$r])) { + $c = array_keys($result[$r]); + $c = array_shift($c); + if (!is_numeric($c)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + } + $result = array_shift($testResult); + } + self::$returnArrayAsType = $returnArrayAsType; - if ($result === NULL) { - return 0; - } elseif((is_float($result)) && ((is_nan($result)) || (is_infinite($result)))) { - return PHPExcel_Calculation_Functions::NaN(); - } - return $result; - } // function calculateCellValue( - - - /** - * Validate and parse a formula string - * - * @param string $formula Formula to parse - * @return array - * @throws PHPExcel_Calculation_Exception - */ - public function parseFormula($formula) { - // Basic validation that this is indeed a formula - // We return an empty array if not - $formula = trim($formula); - if ((!isset($formula{0})) || ($formula{0} != '=')) return array(); - $formula = ltrim(substr($formula,1)); - if (!isset($formula{0})) return array(); - - // Parse the formula and return the token stack - return $this->_parseFormula($formula); - } // function parseFormula() - - - /** - * Calculate the value of a formula - * - * @param string $formula Formula to parse - * @param string $cellID Address of the cell to calculate - * @param PHPExcel_Cell $pCell Cell to calculate - * @return mixed - * @throws PHPExcel_Calculation_Exception - */ - public function calculateFormula($formula, $cellID=NULL, PHPExcel_Cell $pCell = NULL) { - // Initialise the logging settings - $this->formulaError = null; - $this->_debugLog->clearLog(); - $this->_cyclicReferenceStack->clear(); - - // Disable calculation cacheing because it only applies to cell calculations, not straight formulae - // But don't actually flush any cache - $resetCache = $this->getCalculationCacheEnabled(); - $this->_calculationCacheEnabled = FALSE; - // Execute the calculation - try { - $result = self::_unwrapResult($this->_calculateFormulaValue($formula, $cellID, $pCell)); - } catch (PHPExcel_Exception $e) { - throw new PHPExcel_Calculation_Exception($e->getMessage()); - } - - // Reset calculation cacheing to its previous state - $this->_calculationCacheEnabled = $resetCache; - - return $result; - } // function calculateFormula() - - - public function getValueFromCache($cellReference, &$cellValue) { - // Is calculation cacheing enabled? - // Is the value present in calculation cache? - $this->_debugLog->writeDebugLog('Testing cache value for cell ', $cellReference); - if (($this->_calculationCacheEnabled) && (isset($this->_calculationCache[$cellReference]))) { - $this->_debugLog->writeDebugLog('Retrieving value for cell ', $cellReference, ' from cache'); - // Return the cached result - $cellValue = $this->_calculationCache[$cellReference]; - return TRUE; - } - return FALSE; + if ($result === null) { + return 0; + } elseif ((is_float($result)) && ((is_nan($result)) || (is_infinite($result)))) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $result; } - public function saveValueToCache($cellReference, $cellValue) { - if ($this->_calculationCacheEnabled) { - $this->_calculationCache[$cellReference] = $cellValue; - } - } - /** - * Parse a cell formula and calculate its value - * - * @param string $formula The formula to parse and calculate - * @param string $cellID The ID (e.g. A3) of the cell that we are calculating - * @param PHPExcel_Cell $pCell Cell to calculate - * @return mixed - * @throws PHPExcel_Calculation_Exception - */ - public function _calculateFormulaValue($formula, $cellID=null, PHPExcel_Cell $pCell = null) { - $cellValue = null; + /** + * Validate and parse a formula string + * + * @param string $formula Formula to parse + * @return array + * @throws PHPExcel_Calculation_Exception + */ + public function parseFormula($formula) + { + // Basic validation that this is indeed a formula + // We return an empty array if not + $formula = trim($formula); + if ((!isset($formula{0})) || ($formula{0} != '=')) { + return array(); + } + $formula = ltrim(substr($formula, 1)); + if (!isset($formula{0})) { + return array(); + } - // Basic validation that this is indeed a formula - // We simply return the cell value if not - $formula = trim($formula); - if ($formula{0} != '=') return self::_wrapResult($formula); - $formula = ltrim(substr($formula, 1)); - if (!isset($formula{0})) return self::_wrapResult($formula); + // Parse the formula and return the token stack + return $this->_parseFormula($formula); + } - $pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; - $wsTitle = ($pCellParent !== NULL) ? $pCellParent->getTitle() : "\x00Wrk"; + + /** + * Calculate the value of a formula + * + * @param string $formula Formula to parse + * @param string $cellID Address of the cell to calculate + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function calculateFormula($formula, $cellID = null, PHPExcel_Cell $pCell = null) + { + // Initialise the logging settings + $this->formulaError = null; + $this->_debugLog->clearLog(); + $this->cyclicReferenceStack->clear(); + + if ($this->workbook !== null && $cellID === null && $pCell === null) { + $cellID = 'A1'; + $pCell = $this->workbook->getActiveSheet()->getCell($cellID); + } else { + // Disable calculation cacheing because it only applies to cell calculations, not straight formulae + // But don't actually flush any cache + $resetCache = $this->getCalculationCacheEnabled(); + $this->calculationCacheEnabled = false; + } + + // Execute the calculation + try { + $result = self::unwrapResult($this->_calculateFormulaValue($formula, $cellID, $pCell)); + } catch (PHPExcel_Exception $e) { + throw new PHPExcel_Calculation_Exception($e->getMessage()); + } + + if ($this->workbook === null) { + // Reset calculation cacheing to its previous state + $this->calculationCacheEnabled = $resetCache; + } + + return $result; + } + + + public function getValueFromCache($cellReference, &$cellValue) + { + // Is calculation cacheing enabled? + // Is the value present in calculation cache? + $this->_debugLog->writeDebugLog('Testing cache value for cell ', $cellReference); + if (($this->calculationCacheEnabled) && (isset($this->calculationCache[$cellReference]))) { + $this->_debugLog->writeDebugLog('Retrieving value for cell ', $cellReference, ' from cache'); + // Return the cached result + $cellValue = $this->calculationCache[$cellReference]; + return true; + } + return false; + } + + public function saveValueToCache($cellReference, $cellValue) + { + if ($this->calculationCacheEnabled) { + $this->calculationCache[$cellReference] = $cellValue; + } + } + + /** + * Parse a cell formula and calculate its value + * + * @param string $formula The formula to parse and calculate + * @param string $cellID The ID (e.g. A3) of the cell that we are calculating + * @param PHPExcel_Cell $pCell Cell to calculate + * @return mixed + * @throws PHPExcel_Calculation_Exception + */ + public function _calculateFormulaValue($formula, $cellID = null, PHPExcel_Cell $pCell = null) + { + $cellValue = null; + + // Basic validation that this is indeed a formula + // We simply return the cell value if not + $formula = trim($formula); + if ($formula{0} != '=') { + return self::wrapResult($formula); + } + $formula = ltrim(substr($formula, 1)); + if (!isset($formula{0})) { + return self::wrapResult($formula); + } + + $pCellParent = ($pCell !== null) ? $pCell->getWorksheet() : null; + $wsTitle = ($pCellParent !== null) ? $pCellParent->getTitle() : "\x00Wrk"; $wsCellReference = $wsTitle . '!' . $cellID; - if (($cellID !== NULL) && ($this->getValueFromCache($wsCellReference, $cellValue))) { - return $cellValue; - } + if (($cellID !== null) && ($this->getValueFromCache($wsCellReference, $cellValue))) { + return $cellValue; + } - if (($wsTitle{0} !== "\x00") && ($this->_cyclicReferenceStack->onStack($wsCellReference))) { + if (($wsTitle{0} !== "\x00") && ($this->cyclicReferenceStack->onStack($wsCellReference))) { if ($this->cyclicFormulaCount <= 0) { - $this->_cyclicFormulaCell = ''; - return $this->_raiseFormulaError('Cyclic Reference in Formula'); - } elseif ($this->_cyclicFormulaCell === $wsCellReference) { - ++$this->_cyclicFormulaCount; - if ($this->_cyclicFormulaCount >= $this->cyclicFormulaCount) { - $this->_cyclicFormulaCell = ''; - return $cellValue; - } - } elseif ($this->_cyclicFormulaCell == '') { - if ($this->_cyclicFormulaCount >= $this->cyclicFormulaCount) { - return $cellValue; - } - $this->_cyclicFormulaCell = $wsCellReference; - } - } + $this->cyclicFormulaCell = ''; + return $this->raiseFormulaError('Cyclic Reference in Formula'); + } elseif ($this->cyclicFormulaCell === $wsCellReference) { + ++$this->cyclicFormulaCounter; + if ($this->cyclicFormulaCounter >= $this->cyclicFormulaCount) { + $this->cyclicFormulaCell = ''; + return $cellValue; + } + } elseif ($this->cyclicFormulaCell == '') { + if ($this->cyclicFormulaCounter >= $this->cyclicFormulaCount) { + return $cellValue; + } + $this->cyclicFormulaCell = $wsCellReference; + } + } - // Parse the formula onto the token stack and calculate the value - $this->_cyclicReferenceStack->push($wsCellReference); - $cellValue = $this->_processTokenStack($this->_parseFormula($formula, $pCell), $cellID, $pCell); - $this->_cyclicReferenceStack->pop(); + // Parse the formula onto the token stack and calculate the value + $this->cyclicReferenceStack->push($wsCellReference); + $cellValue = $this->processTokenStack($this->_parseFormula($formula, $pCell), $cellID, $pCell); + $this->cyclicReferenceStack->pop(); - // Save to calculation cache - if ($cellID !== NULL) { - $this->saveValueToCache($wsCellReference, $cellValue); - } + // Save to calculation cache + if ($cellID !== null) { + $this->saveValueToCache($wsCellReference, $cellValue); + } - // Return the calculated value - return $cellValue; - } // function _calculateFormulaValue() + // Return the calculated value + return $cellValue; + } - /** - * Ensure that paired matrix operands are both matrices and of the same size - * - * @param mixed &$operand1 First matrix operand - * @param mixed &$operand2 Second matrix operand - * @param integer $resize Flag indicating whether the matrices should be resized to match - * and (if so), whether the smaller dimension should grow or the - * larger should shrink. - * 0 = no resize - * 1 = shrink to fit - * 2 = extend to fit - */ - private static function _checkMatrixOperands(&$operand1,&$operand2,$resize = 1) { - // Examine each of the two operands, and turn them into an array if they aren't one already - // Note that this function should only be called if one or both of the operand is already an array - if (!is_array($operand1)) { - list($matrixRows,$matrixColumns) = self::_getMatrixDimensions($operand2); - $operand1 = array_fill(0,$matrixRows,array_fill(0,$matrixColumns,$operand1)); - $resize = 0; - } elseif (!is_array($operand2)) { - list($matrixRows,$matrixColumns) = self::_getMatrixDimensions($operand1); - $operand2 = array_fill(0,$matrixRows,array_fill(0,$matrixColumns,$operand2)); - $resize = 0; - } + /** + * Ensure that paired matrix operands are both matrices and of the same size + * + * @param mixed &$operand1 First matrix operand + * @param mixed &$operand2 Second matrix operand + * @param integer $resize Flag indicating whether the matrices should be resized to match + * and (if so), whether the smaller dimension should grow or the + * larger should shrink. + * 0 = no resize + * 1 = shrink to fit + * 2 = extend to fit + */ + private static function checkMatrixOperands(&$operand1, &$operand2, $resize = 1) + { + // Examine each of the two operands, and turn them into an array if they aren't one already + // Note that this function should only be called if one or both of the operand is already an array + if (!is_array($operand1)) { + list($matrixRows, $matrixColumns) = self::getMatrixDimensions($operand2); + $operand1 = array_fill(0, $matrixRows, array_fill(0, $matrixColumns, $operand1)); + $resize = 0; + } elseif (!is_array($operand2)) { + list($matrixRows, $matrixColumns) = self::getMatrixDimensions($operand1); + $operand2 = array_fill(0, $matrixRows, array_fill(0, $matrixColumns, $operand2)); + $resize = 0; + } - list($matrix1Rows,$matrix1Columns) = self::_getMatrixDimensions($operand1); - list($matrix2Rows,$matrix2Columns) = self::_getMatrixDimensions($operand2); - if (($matrix1Rows == $matrix2Columns) && ($matrix2Rows == $matrix1Columns)) { - $resize = 1; - } + list($matrix1Rows, $matrix1Columns) = self::getMatrixDimensions($operand1); + list($matrix2Rows, $matrix2Columns) = self::getMatrixDimensions($operand2); + if (($matrix1Rows == $matrix2Columns) && ($matrix2Rows == $matrix1Columns)) { + $resize = 1; + } - if ($resize == 2) { - // Given two matrices of (potentially) unequal size, convert the smaller in each dimension to match the larger - self::_resizeMatricesExtend($operand1,$operand2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); - } elseif ($resize == 1) { - // Given two matrices of (potentially) unequal size, convert the larger in each dimension to match the smaller - self::_resizeMatricesShrink($operand1,$operand2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); - } - return array( $matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns); - } // function _checkMatrixOperands() + if ($resize == 2) { + // Given two matrices of (potentially) unequal size, convert the smaller in each dimension to match the larger + self::resizeMatricesExtend($operand1, $operand2, $matrix1Rows, $matrix1Columns, $matrix2Rows, $matrix2Columns); + } elseif ($resize == 1) { + // Given two matrices of (potentially) unequal size, convert the larger in each dimension to match the smaller + self::resizeMatricesShrink($operand1, $operand2, $matrix1Rows, $matrix1Columns, $matrix2Rows, $matrix2Columns); + } + return array( $matrix1Rows, $matrix1Columns, $matrix2Rows, $matrix2Columns); + } - /** - * Read the dimensions of a matrix, and re-index it with straight numeric keys starting from row 0, column 0 - * - * @param mixed &$matrix matrix operand - * @return array An array comprising the number of rows, and number of columns - */ - public static function _getMatrixDimensions(&$matrix) { - $matrixRows = count($matrix); - $matrixColumns = 0; - foreach($matrix as $rowKey => $rowValue) { - $matrixColumns = max(count($rowValue),$matrixColumns); - if (!is_array($rowValue)) { - $matrix[$rowKey] = array($rowValue); - } else { - $matrix[$rowKey] = array_values($rowValue); - } - } - $matrix = array_values($matrix); - return array($matrixRows,$matrixColumns); - } // function _getMatrixDimensions() + /** + * Read the dimensions of a matrix, and re-index it with straight numeric keys starting from row 0, column 0 + * + * @param mixed &$matrix matrix operand + * @return array An array comprising the number of rows, and number of columns + */ + private static function getMatrixDimensions(&$matrix) + { + $matrixRows = count($matrix); + $matrixColumns = 0; + foreach ($matrix as $rowKey => $rowValue) { + $matrixColumns = max(count($rowValue), $matrixColumns); + if (!is_array($rowValue)) { + $matrix[$rowKey] = array($rowValue); + } else { + $matrix[$rowKey] = array_values($rowValue); + } + } + $matrix = array_values($matrix); + return array($matrixRows, $matrixColumns); + } - /** - * Ensure that paired matrix operands are both matrices of the same size - * - * @param mixed &$matrix1 First matrix operand - * @param mixed &$matrix2 Second matrix operand - * @param integer $matrix1Rows Row size of first matrix operand - * @param integer $matrix1Columns Column size of first matrix operand - * @param integer $matrix2Rows Row size of second matrix operand - * @param integer $matrix2Columns Column size of second matrix operand - */ - private static function _resizeMatricesShrink(&$matrix1,&$matrix2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns) { - if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { - if ($matrix2Rows < $matrix1Rows) { - for ($i = $matrix2Rows; $i < $matrix1Rows; ++$i) { - unset($matrix1[$i]); - } - } - if ($matrix2Columns < $matrix1Columns) { - for ($i = 0; $i < $matrix1Rows; ++$i) { - for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { - unset($matrix1[$i][$j]); - } - } - } - } + /** + * Ensure that paired matrix operands are both matrices of the same size + * + * @param mixed &$matrix1 First matrix operand + * @param mixed &$matrix2 Second matrix operand + * @param integer $matrix1Rows Row size of first matrix operand + * @param integer $matrix1Columns Column size of first matrix operand + * @param integer $matrix2Rows Row size of second matrix operand + * @param integer $matrix2Columns Column size of second matrix operand + */ + private static function resizeMatricesShrink(&$matrix1, &$matrix2, $matrix1Rows, $matrix1Columns, $matrix2Rows, $matrix2Columns) + { + if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { + if ($matrix2Rows < $matrix1Rows) { + for ($i = $matrix2Rows; $i < $matrix1Rows; ++$i) { + unset($matrix1[$i]); + } + } + if ($matrix2Columns < $matrix1Columns) { + for ($i = 0; $i < $matrix1Rows; ++$i) { + for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { + unset($matrix1[$i][$j]); + } + } + } + } - if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { - if ($matrix1Rows < $matrix2Rows) { - for ($i = $matrix1Rows; $i < $matrix2Rows; ++$i) { - unset($matrix2[$i]); - } - } - if ($matrix1Columns < $matrix2Columns) { - for ($i = 0; $i < $matrix2Rows; ++$i) { - for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { - unset($matrix2[$i][$j]); - } - } - } - } - } // function _resizeMatricesShrink() + if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { + if ($matrix1Rows < $matrix2Rows) { + for ($i = $matrix1Rows; $i < $matrix2Rows; ++$i) { + unset($matrix2[$i]); + } + } + if ($matrix1Columns < $matrix2Columns) { + for ($i = 0; $i < $matrix2Rows; ++$i) { + for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { + unset($matrix2[$i][$j]); + } + } + } + } + } - /** - * Ensure that paired matrix operands are both matrices of the same size - * - * @param mixed &$matrix1 First matrix operand - * @param mixed &$matrix2 Second matrix operand - * @param integer $matrix1Rows Row size of first matrix operand - * @param integer $matrix1Columns Column size of first matrix operand - * @param integer $matrix2Rows Row size of second matrix operand - * @param integer $matrix2Columns Column size of second matrix operand - */ - private static function _resizeMatricesExtend(&$matrix1,&$matrix2,$matrix1Rows,$matrix1Columns,$matrix2Rows,$matrix2Columns) { - if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { - if ($matrix2Columns < $matrix1Columns) { - for ($i = 0; $i < $matrix2Rows; ++$i) { - $x = $matrix2[$i][$matrix2Columns-1]; - for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { - $matrix2[$i][$j] = $x; - } - } - } - if ($matrix2Rows < $matrix1Rows) { - $x = $matrix2[$matrix2Rows-1]; - for ($i = 0; $i < $matrix1Rows; ++$i) { - $matrix2[$i] = $x; - } - } - } + /** + * Ensure that paired matrix operands are both matrices of the same size + * + * @param mixed &$matrix1 First matrix operand + * @param mixed &$matrix2 Second matrix operand + * @param integer $matrix1Rows Row size of first matrix operand + * @param integer $matrix1Columns Column size of first matrix operand + * @param integer $matrix2Rows Row size of second matrix operand + * @param integer $matrix2Columns Column size of second matrix operand + */ + private static function resizeMatricesExtend(&$matrix1, &$matrix2, $matrix1Rows, $matrix1Columns, $matrix2Rows, $matrix2Columns) + { + if (($matrix2Columns < $matrix1Columns) || ($matrix2Rows < $matrix1Rows)) { + if ($matrix2Columns < $matrix1Columns) { + for ($i = 0; $i < $matrix2Rows; ++$i) { + $x = $matrix2[$i][$matrix2Columns-1]; + for ($j = $matrix2Columns; $j < $matrix1Columns; ++$j) { + $matrix2[$i][$j] = $x; + } + } + } + if ($matrix2Rows < $matrix1Rows) { + $x = $matrix2[$matrix2Rows-1]; + for ($i = 0; $i < $matrix1Rows; ++$i) { + $matrix2[$i] = $x; + } + } + } - if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { - if ($matrix1Columns < $matrix2Columns) { - for ($i = 0; $i < $matrix1Rows; ++$i) { - $x = $matrix1[$i][$matrix1Columns-1]; - for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { - $matrix1[$i][$j] = $x; - } - } - } - if ($matrix1Rows < $matrix2Rows) { - $x = $matrix1[$matrix1Rows-1]; - for ($i = 0; $i < $matrix2Rows; ++$i) { - $matrix1[$i] = $x; - } - } - } - } // function _resizeMatricesExtend() + if (($matrix1Columns < $matrix2Columns) || ($matrix1Rows < $matrix2Rows)) { + if ($matrix1Columns < $matrix2Columns) { + for ($i = 0; $i < $matrix1Rows; ++$i) { + $x = $matrix1[$i][$matrix1Columns-1]; + for ($j = $matrix1Columns; $j < $matrix2Columns; ++$j) { + $matrix1[$i][$j] = $x; + } + } + } + if ($matrix1Rows < $matrix2Rows) { + $x = $matrix1[$matrix1Rows-1]; + for ($i = 0; $i < $matrix2Rows; ++$i) { + $matrix1[$i] = $x; + } + } + } + } - /** - * Format details of an operand for display in the log (based on operand type) - * - * @param mixed $value First matrix operand - * @return mixed - */ - private function _showValue($value) { - if ($this->_debugLog->getWriteDebugLog()) { - $testArray = PHPExcel_Calculation_Functions::flattenArray($value); - if (count($testArray) == 1) { - $value = array_pop($testArray); - } + /** + * Format details of an operand for display in the log (based on operand type) + * + * @param mixed $value First matrix operand + * @return mixed + */ + private function showValue($value) + { + if ($this->_debugLog->getWriteDebugLog()) { + $testArray = PHPExcel_Calculation_Functions::flattenArray($value); + if (count($testArray) == 1) { + $value = array_pop($testArray); + } - if (is_array($value)) { - $returnMatrix = array(); - $pad = $rpad = ', '; - foreach($value as $row) { - if (is_array($row)) { - $returnMatrix[] = implode($pad,array_map(array($this,'_showValue'),$row)); - $rpad = '; '; - } else { - $returnMatrix[] = $this->_showValue($row); - } - } - return '{ '.implode($rpad,$returnMatrix).' }'; - } elseif(is_string($value) && (trim($value,'"') == $value)) { - return '"'.$value.'"'; - } elseif(is_bool($value)) { - return ($value) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; - } - } - return PHPExcel_Calculation_Functions::flattenSingleValue($value); - } // function _showValue() + if (is_array($value)) { + $returnMatrix = array(); + $pad = $rpad = ', '; + foreach ($value as $row) { + if (is_array($row)) { + $returnMatrix[] = implode($pad, array_map(array($this, 'showValue'), $row)); + $rpad = '; '; + } else { + $returnMatrix[] = $this->showValue($row); + } + } + return '{ '.implode($rpad, $returnMatrix).' }'; + } elseif (is_string($value) && (trim($value, '"') == $value)) { + return '"'.$value.'"'; + } elseif (is_bool($value)) { + return ($value) ? self::$localeBoolean['TRUE'] : self::$localeBoolean['FALSE']; + } + } + return PHPExcel_Calculation_Functions::flattenSingleValue($value); + } - /** - * Format type and details of an operand for display in the log (based on operand type) - * - * @param mixed $value First matrix operand - * @return mixed - */ - private function _showTypeDetails($value) { - if ($this->_debugLog->getWriteDebugLog()) { - $testArray = PHPExcel_Calculation_Functions::flattenArray($value); - if (count($testArray) == 1) { - $value = array_pop($testArray); - } + /** + * Format type and details of an operand for display in the log (based on operand type) + * + * @param mixed $value First matrix operand + * @return mixed + */ + private function showTypeDetails($value) + { + if ($this->_debugLog->getWriteDebugLog()) { + $testArray = PHPExcel_Calculation_Functions::flattenArray($value); + if (count($testArray) == 1) { + $value = array_pop($testArray); + } - if ($value === NULL) { - return 'a NULL value'; - } elseif (is_float($value)) { - $typeString = 'a floating point number'; - } elseif(is_int($value)) { - $typeString = 'an integer number'; - } elseif(is_bool($value)) { - $typeString = 'a boolean'; - } elseif(is_array($value)) { - $typeString = 'a matrix'; - } else { - if ($value == '') { - return 'an empty string'; - } elseif ($value{0} == '#') { - return 'a '.$value.' error'; - } else { - $typeString = 'a string'; - } - } - return $typeString.' with a value of '.$this->_showValue($value); - } - } // function _showTypeDetails() + if ($value === null) { + return 'a NULL value'; + } elseif (is_float($value)) { + $typeString = 'a floating point number'; + } elseif (is_int($value)) { + $typeString = 'an integer number'; + } elseif (is_bool($value)) { + $typeString = 'a boolean'; + } elseif (is_array($value)) { + $typeString = 'a matrix'; + } else { + if ($value == '') { + return 'an empty string'; + } elseif ($value{0} == '#') { + return 'a '.$value.' error'; + } else { + $typeString = 'a string'; + } + } + return $typeString.' with a value of '.$this->showValue($value); + } + } - private function _convertMatrixReferences($formula) { - static $matrixReplaceFrom = array('{',';','}'); - static $matrixReplaceTo = array('MKMATRIX(MKMATRIX(','),MKMATRIX(','))'); + private function convertMatrixReferences($formula) + { + static $matrixReplaceFrom = array('{', ';', '}'); + static $matrixReplaceTo = array('MKMATRIX(MKMATRIX(', '),MKMATRIX(', '))'); - // Convert any Excel matrix references to the MKMATRIX() function - if (strpos($formula,'{') !== FALSE) { - // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators - if (strpos($formula,'"') !== FALSE) { - // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded - // the formula - $temp = explode('"',$formula); - // Open and Closed counts used for trapping mismatched braces in the formula - $openCount = $closeCount = 0; - $i = FALSE; - foreach($temp as &$value) { - // Only count/replace in alternating array entries - if ($i = !$i) { - $openCount += substr_count($value,'{'); - $closeCount += substr_count($value,'}'); - $value = str_replace($matrixReplaceFrom,$matrixReplaceTo,$value); - } - } - unset($value); - // Then rebuild the formula string - $formula = implode('"',$temp); - } else { - // If there's no quoted strings, then we do a simple count/replace - $openCount = substr_count($formula,'{'); - $closeCount = substr_count($formula,'}'); - $formula = str_replace($matrixReplaceFrom,$matrixReplaceTo,$formula); - } - // Trap for mismatched braces and trigger an appropriate error - if ($openCount < $closeCount) { - if ($openCount > 0) { - return $this->_raiseFormulaError("Formula Error: Mismatched matrix braces '}'"); - } else { - return $this->_raiseFormulaError("Formula Error: Unexpected '}' encountered"); - } - } elseif ($openCount > $closeCount) { - if ($closeCount > 0) { - return $this->_raiseFormulaError("Formula Error: Mismatched matrix braces '{'"); - } else { - return $this->_raiseFormulaError("Formula Error: Unexpected '{' encountered"); - } - } - } + // Convert any Excel matrix references to the MKMATRIX() function + if (strpos($formula, '{') !== false) { + // If there is the possibility of braces within a quoted string, then we don't treat those as matrix indicators + if (strpos($formula, '"') !== false) { + // So instead we skip replacing in any quoted strings by only replacing in every other array element after we've exploded + // the formula + $temp = explode('"', $formula); + // Open and Closed counts used for trapping mismatched braces in the formula + $openCount = $closeCount = 0; + $i = false; + foreach ($temp as &$value) { + // Only count/replace in alternating array entries + if ($i = !$i) { + $openCount += substr_count($value, '{'); + $closeCount += substr_count($value, '}'); + $value = str_replace($matrixReplaceFrom, $matrixReplaceTo, $value); + } + } + unset($value); + // Then rebuild the formula string + $formula = implode('"', $temp); + } else { + // If there's no quoted strings, then we do a simple count/replace + $openCount = substr_count($formula, '{'); + $closeCount = substr_count($formula, '}'); + $formula = str_replace($matrixReplaceFrom, $matrixReplaceTo, $formula); + } + // Trap for mismatched braces and trigger an appropriate error + if ($openCount < $closeCount) { + if ($openCount > 0) { + return $this->raiseFormulaError("Formula Error: Mismatched matrix braces '}'"); + } else { + return $this->raiseFormulaError("Formula Error: Unexpected '}' encountered"); + } + } elseif ($openCount > $closeCount) { + if ($closeCount > 0) { + return $this->raiseFormulaError("Formula Error: Mismatched matrix braces '{'"); + } else { + return $this->raiseFormulaError("Formula Error: Unexpected '{' encountered"); + } + } + } - return $formula; - } // function _convertMatrixReferences() + return $formula; + } - private static function _mkMatrix() { - return func_get_args(); - } // function _mkMatrix() + private static function mkMatrix() + { + return func_get_args(); + } - // Binary Operators - // These operators always work on two values - // Array key is the operator, the value indicates whether this is a left or right associative operator - private static $_operatorAssociativity = array( - '^' => 0, // Exponentiation - '*' => 0, '/' => 0, // Multiplication and Division - '+' => 0, '-' => 0, // Addition and Subtraction - '&' => 0, // Concatenation - '|' => 0, ':' => 0, // Intersect and Range - '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison - ); + // Binary Operators + // These operators always work on two values + // Array key is the operator, the value indicates whether this is a left or right associative operator + private static $operatorAssociativity = array( + '^' => 0, // Exponentiation + '*' => 0, '/' => 0, // Multiplication and Division + '+' => 0, '-' => 0, // Addition and Subtraction + '&' => 0, // Concatenation + '|' => 0, ':' => 0, // Intersect and Range + '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison + ); - // Comparison (Boolean) Operators - // These operators work on two values, but always return a boolean result - private static $_comparisonOperators = array('>' => TRUE, '<' => TRUE, '=' => TRUE, '>=' => TRUE, '<=' => TRUE, '<>' => TRUE); + // Comparison (Boolean) Operators + // These operators work on two values, but always return a boolean result + private static $comparisonOperators = array('>' => true, '<' => true, '=' => true, '>=' => true, '<=' => true, '<>' => true); - // Operator Precedence - // This list includes all valid operators, whether binary (including boolean) or unary (such as %) - // Array key is the operator, the value is its precedence - private static $_operatorPrecedence = array( - ':' => 8, // Range - '|' => 7, // Intersect - '~' => 6, // Negation - '%' => 5, // Percentage - '^' => 4, // Exponentiation - '*' => 3, '/' => 3, // Multiplication and Division - '+' => 2, '-' => 2, // Addition and Subtraction - '&' => 1, // Concatenation - '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison - ); + // Operator Precedence + // This list includes all valid operators, whether binary (including boolean) or unary (such as %) + // Array key is the operator, the value is its precedence + private static $operatorPrecedence = array( + ':' => 8, // Range + '|' => 7, // Intersect + '~' => 6, // Negation + '%' => 5, // Percentage + '^' => 4, // Exponentiation + '*' => 3, '/' => 3, // Multiplication and Division + '+' => 2, '-' => 2, // Addition and Subtraction + '&' => 1, // Concatenation + '>' => 0, '<' => 0, '=' => 0, '>=' => 0, '<=' => 0, '<>' => 0 // Comparison + ); - // Convert infix to postfix notation - private function _parseFormula($formula, PHPExcel_Cell $pCell = NULL) { - if (($formula = $this->_convertMatrixReferences(trim($formula))) === FALSE) { - return FALSE; - } + // Convert infix to postfix notation + private function _parseFormula($formula, PHPExcel_Cell $pCell = null) + { + if (($formula = $this->convertMatrixReferences(trim($formula))) === false) { + return false; + } - // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet), - // so we store the parent worksheet so that we can re-attach it when necessary - $pCellParent = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; + // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent worksheet), + // so we store the parent worksheet so that we can re-attach it when necessary + $pCellParent = ($pCell !== null) ? $pCell->getWorksheet() : null; - $regexpMatchString = '/^('.self::CALCULATION_REGEXP_FUNCTION. - '|'.self::CALCULATION_REGEXP_CELLREF. - '|'.self::CALCULATION_REGEXP_NUMBER. - '|'.self::CALCULATION_REGEXP_STRING. - '|'.self::CALCULATION_REGEXP_OPENBRACE. - '|'.self::CALCULATION_REGEXP_NAMEDRANGE. - '|'.self::CALCULATION_REGEXP_ERROR. - ')/si'; + $regexpMatchString = '/^('.self::CALCULATION_REGEXP_FUNCTION. + '|'.self::CALCULATION_REGEXP_CELLREF. + '|'.self::CALCULATION_REGEXP_NUMBER. + '|'.self::CALCULATION_REGEXP_STRING. + '|'.self::CALCULATION_REGEXP_OPENBRACE. + '|'.self::CALCULATION_REGEXP_NAMEDRANGE. + '|'.self::CALCULATION_REGEXP_ERROR. + ')/si'; - // Start with initialisation - $index = 0; - $stack = new PHPExcel_Calculation_Token_Stack; - $output = array(); - $expectingOperator = FALSE; // We use this test in syntax-checking the expression to determine when a - // - is a negation or + is a positive operator rather than an operation - $expectingOperand = FALSE; // We use this test in syntax-checking the expression to determine whether an operand - // should be null in a function call - // The guts of the lexical parser - // Loop through the formula extracting each operator and operand in turn - while(TRUE) { -//echo 'Assessing Expression '.substr($formula, $index),PHP_EOL; - $opCharacter = $formula{$index}; // Get the first character of the value at the current index position -//echo 'Initial character of expression block is '.$opCharacter,PHP_EOL; - if ((isset(self::$_comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$_comparisonOperators[$formula{$index+1}]))) { - $opCharacter .= $formula{++$index}; + // Start with initialisation + $index = 0; + $stack = new PHPExcel_Calculation_Token_Stack; + $output = array(); + $expectingOperator = false; // We use this test in syntax-checking the expression to determine when a + // - is a negation or + is a positive operator rather than an operation + $expectingOperand = false; // We use this test in syntax-checking the expression to determine whether an operand + // should be null in a function call + // The guts of the lexical parser + // Loop through the formula extracting each operator and operand in turn + while (true) { +//echo 'Assessing Expression '.substr($formula, $index), PHP_EOL; + $opCharacter = $formula{$index}; // Get the first character of the value at the current index position +//echo 'Initial character of expression block is '.$opCharacter, PHP_EOL; + if ((isset(self::$comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$comparisonOperators[$formula{$index+1}]))) { + $opCharacter .= $formula{++$index}; //echo 'Initial character of expression block is comparison operator '.$opCharacter.PHP_EOL; - } + } - // Find out if we're currently at the beginning of a number, variable, cell reference, function, parenthesis or operand - $isOperandOrFunction = preg_match($regexpMatchString, substr($formula, $index), $match); + // Find out if we're currently at the beginning of a number, variable, cell reference, function, parenthesis or operand + $isOperandOrFunction = preg_match($regexpMatchString, substr($formula, $index), $match); //echo '$isOperandOrFunction is '.(($isOperandOrFunction) ? 'True' : 'False').PHP_EOL; //var_dump($match); - if ($opCharacter == '-' && !$expectingOperator) { // Is it a negation instead of a minus? -//echo 'Element is a Negation operator',PHP_EOL; - $stack->push('Unary Operator','~'); // Put a negation on the stack - ++$index; // and drop the negation symbol - } elseif ($opCharacter == '%' && $expectingOperator) { -//echo 'Element is a Percentage operator',PHP_EOL; - $stack->push('Unary Operator','%'); // Put a percentage on the stack - ++$index; - } elseif ($opCharacter == '+' && !$expectingOperator) { // Positive (unary plus rather than binary operator plus) can be discarded? -//echo 'Element is a Positive number, not Plus operator',PHP_EOL; - ++$index; // Drop the redundant plus symbol - } elseif ((($opCharacter == '~') || ($opCharacter == '|')) && (!$isOperandOrFunction)) { // We have to explicitly deny a tilde or pipe, because they are legal - return $this->_raiseFormulaError("Formula Error: Illegal character '~'"); // on the stack but not in the input expression + if ($opCharacter == '-' && !$expectingOperator) { // Is it a negation instead of a minus? +//echo 'Element is a Negation operator', PHP_EOL; + $stack->push('Unary Operator', '~'); // Put a negation on the stack + ++$index; // and drop the negation symbol + } elseif ($opCharacter == '%' && $expectingOperator) { +//echo 'Element is a Percentage operator', PHP_EOL; + $stack->push('Unary Operator', '%'); // Put a percentage on the stack + ++$index; + } elseif ($opCharacter == '+' && !$expectingOperator) { // Positive (unary plus rather than binary operator plus) can be discarded? +//echo 'Element is a Positive number, not Plus operator', PHP_EOL; + ++$index; // Drop the redundant plus symbol + } elseif ((($opCharacter == '~') || ($opCharacter == '|')) && (!$isOperandOrFunction)) { // We have to explicitly deny a tilde or pipe, because they are legal + return $this->raiseFormulaError("Formula Error: Illegal character '~'"); // on the stack but not in the input expression - } elseif ((isset(self::$_operators[$opCharacter]) or $isOperandOrFunction) && $expectingOperator) { // Are we putting an operator on the stack? -//echo 'Element with value '.$opCharacter.' is an Operator',PHP_EOL; - while($stack->count() > 0 && - ($o2 = $stack->last()) && - isset(self::$_operators[$o2['value']]) && - @(self::$_operatorAssociativity[$opCharacter] ? self::$_operatorPrecedence[$opCharacter] < self::$_operatorPrecedence[$o2['value']] : self::$_operatorPrecedence[$opCharacter] <= self::$_operatorPrecedence[$o2['value']])) { - $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output - } - $stack->push('Binary Operator',$opCharacter); // Finally put our current operator onto the stack - ++$index; - $expectingOperator = FALSE; + } elseif ((isset(self::$operators[$opCharacter]) or $isOperandOrFunction) && $expectingOperator) { // Are we putting an operator on the stack? +//echo 'Element with value '.$opCharacter.' is an Operator', PHP_EOL; + while ($stack->count() > 0 && + ($o2 = $stack->last()) && + isset(self::$operators[$o2['value']]) && + @(self::$operatorAssociativity[$opCharacter] ? self::$operatorPrecedence[$opCharacter] < self::$operatorPrecedence[$o2['value']] : self::$operatorPrecedence[$opCharacter] <= self::$operatorPrecedence[$o2['value']])) { + $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output + } + $stack->push('Binary Operator', $opCharacter); // Finally put our current operator onto the stack + ++$index; + $expectingOperator = false; - } elseif ($opCharacter == ')' && $expectingOperator) { // Are we expecting to close a parenthesis? -//echo 'Element is a Closing bracket',PHP_EOL; - $expectingOperand = FALSE; - while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( - if ($o2 === NULL) return $this->_raiseFormulaError('Formula Error: Unexpected closing brace ")"'); - else $output[] = $o2; - } - $d = $stack->last(2); - if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) { // Did this parenthesis just close a function? - $functionName = $matches[1]; // Get the function name -//echo 'Closed Function is '.$functionName,PHP_EOL; - $d = $stack->pop(); - $argumentCount = $d['value']; // See how many arguments there were (argument count is the next value stored on the stack) + } elseif ($opCharacter == ')' && $expectingOperator) { // Are we expecting to close a parenthesis? +//echo 'Element is a Closing bracket', PHP_EOL; + $expectingOperand = false; + while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( + if ($o2 === null) { + return $this->raiseFormulaError('Formula Error: Unexpected closing brace ")"'); + } else { + $output[] = $o2; + } + } + $d = $stack->last(2); + if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) { // Did this parenthesis just close a function? + $functionName = $matches[1]; // Get the function name +//echo 'Closed Function is '.$functionName, PHP_EOL; + $d = $stack->pop(); + $argumentCount = $d['value']; // See how many arguments there were (argument count is the next value stored on the stack) //if ($argumentCount == 0) { -// echo 'With no arguments',PHP_EOL; +// echo 'With no arguments', PHP_EOL; //} elseif ($argumentCount == 1) { -// echo 'With 1 argument',PHP_EOL; +// echo 'With 1 argument', PHP_EOL; //} else { -// echo 'With '.$argumentCount.' arguments',PHP_EOL; +// echo 'With '.$argumentCount.' arguments', PHP_EOL; //} - $output[] = $d; // Dump the argument count on the output - $output[] = $stack->pop(); // Pop the function and push onto the output - if (isset(self::$_controlFunctions[$functionName])) { -//echo 'Built-in function '.$functionName,PHP_EOL; - $expectedArgumentCount = self::$_controlFunctions[$functionName]['argumentCount']; - $functionCall = self::$_controlFunctions[$functionName]['functionCall']; - } elseif (isset(self::$_PHPExcelFunctions[$functionName])) { -//echo 'PHPExcel function '.$functionName,PHP_EOL; - $expectedArgumentCount = self::$_PHPExcelFunctions[$functionName]['argumentCount']; - $functionCall = self::$_PHPExcelFunctions[$functionName]['functionCall']; - } else { // did we somehow push a non-function on the stack? this should never happen - return $this->_raiseFormulaError("Formula Error: Internal error, non-function on stack"); - } - // Check the argument count - $argumentCountError = FALSE; - if (is_numeric($expectedArgumentCount)) { - if ($expectedArgumentCount < 0) { -//echo '$expectedArgumentCount is between 0 and '.abs($expectedArgumentCount),PHP_EOL; - if ($argumentCount > abs($expectedArgumentCount)) { - $argumentCountError = TRUE; - $expectedArgumentCountString = 'no more than '.abs($expectedArgumentCount); - } - } else { -//echo '$expectedArgumentCount is numeric '.$expectedArgumentCount,PHP_EOL; - if ($argumentCount != $expectedArgumentCount) { - $argumentCountError = TRUE; - $expectedArgumentCountString = $expectedArgumentCount; - } - } - } elseif ($expectedArgumentCount != '*') { - $isOperandOrFunction = preg_match('/(\d*)([-+,])(\d*)/',$expectedArgumentCount,$argMatch); + $output[] = $d; // Dump the argument count on the output + $output[] = $stack->pop(); // Pop the function and push onto the output + if (isset(self::$controlFunctions[$functionName])) { +//echo 'Built-in function '.$functionName, PHP_EOL; + $expectedArgumentCount = self::$controlFunctions[$functionName]['argumentCount']; + $functionCall = self::$controlFunctions[$functionName]['functionCall']; + } elseif (isset(self::$PHPExcelFunctions[$functionName])) { +//echo 'PHPExcel function '.$functionName, PHP_EOL; + $expectedArgumentCount = self::$PHPExcelFunctions[$functionName]['argumentCount']; + $functionCall = self::$PHPExcelFunctions[$functionName]['functionCall']; + } else { // did we somehow push a non-function on the stack? this should never happen + return $this->raiseFormulaError("Formula Error: Internal error, non-function on stack"); + } + // Check the argument count + $argumentCountError = false; + if (is_numeric($expectedArgumentCount)) { + if ($expectedArgumentCount < 0) { +//echo '$expectedArgumentCount is between 0 and '.abs($expectedArgumentCount), PHP_EOL; + if ($argumentCount > abs($expectedArgumentCount)) { + $argumentCountError = true; + $expectedArgumentCountString = 'no more than '.abs($expectedArgumentCount); + } + } else { +//echo '$expectedArgumentCount is numeric '.$expectedArgumentCount, PHP_EOL; + if ($argumentCount != $expectedArgumentCount) { + $argumentCountError = true; + $expectedArgumentCountString = $expectedArgumentCount; + } + } + } elseif ($expectedArgumentCount != '*') { + $isOperandOrFunction = preg_match('/(\d*)([-+,])(\d*)/', $expectedArgumentCount, $argMatch); //print_r($argMatch); //echo PHP_EOL; - switch ($argMatch[2]) { - case '+' : - if ($argumentCount < $argMatch[1]) { - $argumentCountError = TRUE; - $expectedArgumentCountString = $argMatch[1].' or more '; - } - break; - case '-' : - if (($argumentCount < $argMatch[1]) || ($argumentCount > $argMatch[3])) { - $argumentCountError = TRUE; - $expectedArgumentCountString = 'between '.$argMatch[1].' and '.$argMatch[3]; - } - break; - case ',' : - if (($argumentCount != $argMatch[1]) && ($argumentCount != $argMatch[3])) { - $argumentCountError = TRUE; - $expectedArgumentCountString = 'either '.$argMatch[1].' or '.$argMatch[3]; - } - break; - } - } - if ($argumentCountError) { - return $this->_raiseFormulaError("Formula Error: Wrong number of arguments for $functionName() function: $argumentCount given, ".$expectedArgumentCountString." expected"); - } - } - ++$index; + switch ($argMatch[2]) { + case '+': + if ($argumentCount < $argMatch[1]) { + $argumentCountError = true; + $expectedArgumentCountString = $argMatch[1].' or more '; + } + break; + case '-': + if (($argumentCount < $argMatch[1]) || ($argumentCount > $argMatch[3])) { + $argumentCountError = true; + $expectedArgumentCountString = 'between '.$argMatch[1].' and '.$argMatch[3]; + } + break; + case ',': + if (($argumentCount != $argMatch[1]) && ($argumentCount != $argMatch[3])) { + $argumentCountError = true; + $expectedArgumentCountString = 'either '.$argMatch[1].' or '.$argMatch[3]; + } + break; + } + } + if ($argumentCountError) { + return $this->raiseFormulaError("Formula Error: Wrong number of arguments for $functionName() function: $argumentCount given, ".$expectedArgumentCountString." expected"); + } + } + ++$index; - } elseif ($opCharacter == ',') { // Is this the separator for function arguments? -//echo 'Element is a Function argument separator',PHP_EOL; - while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( - if ($o2 === NULL) return $this->_raiseFormulaError("Formula Error: Unexpected ,"); - else $output[] = $o2; // pop the argument expression stuff and push onto the output - } - // If we've a comma when we're expecting an operand, then what we actually have is a null operand; - // so push a null onto the stack - if (($expectingOperand) || (!$expectingOperator)) { - $output[] = array('type' => 'NULL Value', 'value' => self::$_ExcelConstants['NULL'], 'reference' => NULL); - } - // make sure there was a function - $d = $stack->last(2); - if (!preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) - return $this->_raiseFormulaError("Formula Error: Unexpected ,"); - $d = $stack->pop(); - $stack->push($d['type'],++$d['value'],$d['reference']); // increment the argument count - $stack->push('Brace', '('); // put the ( back on, we'll need to pop back to it again - $expectingOperator = FALSE; - $expectingOperand = TRUE; - ++$index; + } elseif ($opCharacter == ',') { // Is this the separator for function arguments? +//echo 'Element is a Function argument separator', PHP_EOL; + while (($o2 = $stack->pop()) && $o2['value'] != '(') { // Pop off the stack back to the last ( + if ($o2 === null) { + return $this->raiseFormulaError("Formula Error: Unexpected ,"); + } else { + $output[] = $o2; // pop the argument expression stuff and push onto the output + } + } + // If we've a comma when we're expecting an operand, then what we actually have is a null operand; + // so push a null onto the stack + if (($expectingOperand) || (!$expectingOperator)) { + $output[] = array('type' => 'NULL Value', 'value' => self::$excelConstants['NULL'], 'reference' => null); + } + // make sure there was a function + $d = $stack->last(2); + if (!preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $d['value'], $matches)) { + return $this->raiseFormulaError("Formula Error: Unexpected ,"); + } + $d = $stack->pop(); + $stack->push($d['type'], ++$d['value'], $d['reference']); // increment the argument count + $stack->push('Brace', '('); // put the ( back on, we'll need to pop back to it again + $expectingOperator = false; + $expectingOperand = true; + ++$index; - } elseif ($opCharacter == '(' && !$expectingOperator) { -// echo 'Element is an Opening Bracket
'; - $stack->push('Brace', '('); - ++$index; + } elseif ($opCharacter == '(' && !$expectingOperator) { +// echo 'Element is an Opening Bracket
'; + $stack->push('Brace', '('); + ++$index; - } elseif ($isOperandOrFunction && !$expectingOperator) { // do we now have a function/variable/number? - $expectingOperator = TRUE; - $expectingOperand = FALSE; - $val = $match[1]; - $length = strlen($val); -// echo 'Element with value '.$val.' is an Operand, Variable, Constant, String, Number, Cell Reference or Function
'; + } elseif ($isOperandOrFunction && !$expectingOperator) { // do we now have a function/variable/number? + $expectingOperator = true; + $expectingOperand = false; + $val = $match[1]; + $length = strlen($val); +// echo 'Element with value '.$val.' is an Operand, Variable, Constant, String, Number, Cell Reference or Function
'; - if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $val, $matches)) { - $val = preg_replace('/\s/u','',$val); -// echo 'Element '.$val.' is a Function
'; - if (isset(self::$_PHPExcelFunctions[strtoupper($matches[1])]) || isset(self::$_controlFunctions[strtoupper($matches[1])])) { // it's a function - $stack->push('Function', strtoupper($val)); - $ax = preg_match('/^\s*(\s*\))/ui', substr($formula, $index+$length), $amatch); - if ($ax) { - $stack->push('Operand Count for Function '.strtoupper($val).')', 0); - $expectingOperator = TRUE; - } else { - $stack->push('Operand Count for Function '.strtoupper($val).')', 1); - $expectingOperator = FALSE; - } - $stack->push('Brace', '('); - } else { // it's a var w/ implicit multiplication - $output[] = array('type' => 'Value', 'value' => $matches[1], 'reference' => NULL); - } - } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $val, $matches)) { -// echo 'Element '.$val.' is a Cell reference
'; - // Watch for this case-change when modifying to allow cell references in different worksheets... - // Should only be applied to the actual cell column, not the worksheet name + if (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $val, $matches)) { + $val = preg_replace('/\s/u', '', $val); +// echo 'Element '.$val.' is a Function
'; + if (isset(self::$PHPExcelFunctions[strtoupper($matches[1])]) || isset(self::$controlFunctions[strtoupper($matches[1])])) { // it's a function + $stack->push('Function', strtoupper($val)); + $ax = preg_match('/^\s*(\s*\))/ui', substr($formula, $index+$length), $amatch); + if ($ax) { + $stack->push('Operand Count for Function '.strtoupper($val).')', 0); + $expectingOperator = true; + } else { + $stack->push('Operand Count for Function '.strtoupper($val).')', 1); + $expectingOperator = false; + } + $stack->push('Brace', '('); + } else { // it's a var w/ implicit multiplication + $output[] = array('type' => 'Value', 'value' => $matches[1], 'reference' => null); + } + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $val, $matches)) { +// echo 'Element '.$val.' is a Cell reference
'; + // Watch for this case-change when modifying to allow cell references in different worksheets... + // Should only be applied to the actual cell column, not the worksheet name - // If the last entry on the stack was a : operator, then we have a cell range reference - $testPrevOp = $stack->last(1); - if ($testPrevOp['value'] == ':') { - // If we have a worksheet reference, then we're playing with a 3D reference - if ($matches[2] == '') { - // Otherwise, we 'inherit' the worksheet reference from the start cell reference - // The start of the cell range reference should be the last entry in $output - $startCellRef = $output[count($output)-1]['value']; - preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $startCellRef, $startMatches); - if ($startMatches[2] > '') { - $val = $startMatches[2].'!'.$val; - } - } else { - return $this->_raiseFormulaError("3D Range references are not yet supported"); - } - } + // If the last entry on the stack was a : operator, then we have a cell range reference + $testPrevOp = $stack->last(1); + if ($testPrevOp['value'] == ':') { + // If we have a worksheet reference, then we're playing with a 3D reference + if ($matches[2] == '') { + // Otherwise, we 'inherit' the worksheet reference from the start cell reference + // The start of the cell range reference should be the last entry in $output + $startCellRef = $output[count($output)-1]['value']; + preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $startCellRef, $startMatches); + if ($startMatches[2] > '') { + $val = $startMatches[2].'!'.$val; + } + } else { + return $this->raiseFormulaError("3D Range references are not yet supported"); + } + } - $output[] = array('type' => 'Cell Reference', 'value' => $val, 'reference' => $val); -// $expectingOperator = FALSE; - } else { // it's a variable, constant, string, number or boolean -// echo 'Element is a Variable, Constant, String, Number or Boolean
'; - // If the last entry on the stack was a : operator, then we may have a row or column range reference - $testPrevOp = $stack->last(1); - if ($testPrevOp['value'] == ':') { - $startRowColRef = $output[count($output)-1]['value']; - $rangeWS1 = ''; - if (strpos('!',$startRowColRef) !== FALSE) { - list($rangeWS1,$startRowColRef) = explode('!',$startRowColRef); - } - if ($rangeWS1 != '') $rangeWS1 .= '!'; - $rangeWS2 = $rangeWS1; - if (strpos('!',$val) !== FALSE) { - list($rangeWS2,$val) = explode('!',$val); - } - if ($rangeWS2 != '') $rangeWS2 .= '!'; - if ((is_integer($startRowColRef)) && (ctype_digit($val)) && - ($startRowColRef <= 1048576) && ($val <= 1048576)) { - // Row range - $endRowColRef = ($pCellParent !== NULL) ? $pCellParent->getHighestColumn() : 'XFD'; // Max 16,384 columns for Excel2007 - $output[count($output)-1]['value'] = $rangeWS1.'A'.$startRowColRef; - $val = $rangeWS2.$endRowColRef.$val; - } elseif ((ctype_alpha($startRowColRef)) && (ctype_alpha($val)) && - (strlen($startRowColRef) <= 3) && (strlen($val) <= 3)) { - // Column range - $endRowColRef = ($pCellParent !== NULL) ? $pCellParent->getHighestRow() : 1048576; // Max 1,048,576 rows for Excel2007 - $output[count($output)-1]['value'] = $rangeWS1.strtoupper($startRowColRef).'1'; - $val = $rangeWS2.$val.$endRowColRef; - } - } + $output[] = array('type' => 'Cell Reference', 'value' => $val, 'reference' => $val); +// $expectingOperator = FALSE; + } else { // it's a variable, constant, string, number or boolean +// echo 'Element is a Variable, Constant, String, Number or Boolean
'; + // If the last entry on the stack was a : operator, then we may have a row or column range reference + $testPrevOp = $stack->last(1); + if ($testPrevOp['value'] == ':') { + $startRowColRef = $output[count($output)-1]['value']; + $rangeWS1 = ''; + if (strpos('!', $startRowColRef) !== false) { + list($rangeWS1, $startRowColRef) = explode('!', $startRowColRef); + } + if ($rangeWS1 != '') { + $rangeWS1 .= '!'; + } + $rangeWS2 = $rangeWS1; + if (strpos('!', $val) !== false) { + list($rangeWS2, $val) = explode('!', $val); + } + if ($rangeWS2 != '') { + $rangeWS2 .= '!'; + } + if ((is_integer($startRowColRef)) && (ctype_digit($val)) && + ($startRowColRef <= 1048576) && ($val <= 1048576)) { + // Row range + $endRowColRef = ($pCellParent !== null) ? $pCellParent->getHighestColumn() : 'XFD'; // Max 16,384 columns for Excel2007 + $output[count($output)-1]['value'] = $rangeWS1.'A'.$startRowColRef; + $val = $rangeWS2.$endRowColRef.$val; + } elseif ((ctype_alpha($startRowColRef)) && (ctype_alpha($val)) && + (strlen($startRowColRef) <= 3) && (strlen($val) <= 3)) { + // Column range + $endRowColRef = ($pCellParent !== null) ? $pCellParent->getHighestRow() : 1048576; // Max 1,048,576 rows for Excel2007 + $output[count($output)-1]['value'] = $rangeWS1.strtoupper($startRowColRef).'1'; + $val = $rangeWS2.$val.$endRowColRef; + } + } - $localeConstant = FALSE; - if ($opCharacter == '"') { -// echo 'Element is a String
'; - // UnEscape any quotes within the string - $val = self::_wrapResult(str_replace('""','"',self::_unwrapResult($val))); - } elseif (is_numeric($val)) { -// echo 'Element is a Number
'; - if ((strpos($val,'.') !== FALSE) || (stripos($val,'e') !== FALSE) || ($val > PHP_INT_MAX) || ($val < -PHP_INT_MAX)) { -// echo 'Casting '.$val.' to float
'; - $val = (float) $val; - } else { -// echo 'Casting '.$val.' to integer
'; - $val = (integer) $val; - } - } elseif (isset(self::$_ExcelConstants[trim(strtoupper($val))])) { - $excelConstant = trim(strtoupper($val)); -// echo 'Element '.$excelConstant.' is an Excel Constant
'; - $val = self::$_ExcelConstants[$excelConstant]; - } elseif (($localeConstant = array_search(trim(strtoupper($val)), self::$_localeBoolean)) !== FALSE) { -// echo 'Element '.$localeConstant.' is an Excel Constant
'; - $val = self::$_ExcelConstants[$localeConstant]; - } - $details = array('type' => 'Value', 'value' => $val, 'reference' => NULL); - if ($localeConstant) { $details['localeValue'] = $localeConstant; } - $output[] = $details; - } - $index += $length; + $localeConstant = false; + if ($opCharacter == '"') { +// echo 'Element is a String
'; + // UnEscape any quotes within the string + $val = self::wrapResult(str_replace('""', '"', self::unwrapResult($val))); + } elseif (is_numeric($val)) { +// echo 'Element is a Number
'; + if ((strpos($val, '.') !== false) || (stripos($val, 'e') !== false) || ($val > PHP_INT_MAX) || ($val < -PHP_INT_MAX)) { +// echo 'Casting '.$val.' to float
'; + $val = (float) $val; + } else { +// echo 'Casting '.$val.' to integer
'; + $val = (integer) $val; + } + } elseif (isset(self::$excelConstants[trim(strtoupper($val))])) { + $excelConstant = trim(strtoupper($val)); +// echo 'Element '.$excelConstant.' is an Excel Constant
'; + $val = self::$excelConstants[$excelConstant]; + } elseif (($localeConstant = array_search(trim(strtoupper($val)), self::$localeBoolean)) !== false) { +// echo 'Element '.$localeConstant.' is an Excel Constant
'; + $val = self::$excelConstants[$localeConstant]; + } + $details = array('type' => 'Value', 'value' => $val, 'reference' => null); + if ($localeConstant) { + $details['localeValue'] = $localeConstant; + } + $output[] = $details; + } + $index += $length; - } elseif ($opCharacter == '$') { // absolute row or column range - ++$index; - } elseif ($opCharacter == ')') { // miscellaneous error checking - if ($expectingOperand) { - $output[] = array('type' => 'NULL Value', 'value' => self::$_ExcelConstants['NULL'], 'reference' => NULL); - $expectingOperand = FALSE; - $expectingOperator = TRUE; - } else { - return $this->_raiseFormulaError("Formula Error: Unexpected ')'"); - } - } elseif (isset(self::$_operators[$opCharacter]) && !$expectingOperator) { - return $this->_raiseFormulaError("Formula Error: Unexpected operator '$opCharacter'"); - } else { // I don't even want to know what you did to get here - return $this->_raiseFormulaError("Formula Error: An unexpected error occured"); - } - // Test for end of formula string - if ($index == strlen($formula)) { - // Did we end with an operator?. - // Only valid for the % unary operator - if ((isset(self::$_operators[$opCharacter])) && ($opCharacter != '%')) { - return $this->_raiseFormulaError("Formula Error: Operator '$opCharacter' has no operands"); - } else { - break; - } - } - // Ignore white space - while (($formula{$index} == "\n") || ($formula{$index} == "\r")) { - ++$index; - } - if ($formula{$index} == ' ') { - while ($formula{$index} == ' ') { - ++$index; - } - // If we're expecting an operator, but only have a space between the previous and next operands (and both are - // Cell References) then we have an INTERSECTION operator -// echo 'Possible Intersect Operator
'; - if (($expectingOperator) && (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'.*/Ui', substr($formula, $index), $match)) && - ($output[count($output)-1]['type'] == 'Cell Reference')) { -// echo 'Element is an Intersect Operator
'; - while($stack->count() > 0 && - ($o2 = $stack->last()) && - isset(self::$_operators[$o2['value']]) && - @(self::$_operatorAssociativity[$opCharacter] ? self::$_operatorPrecedence[$opCharacter] < self::$_operatorPrecedence[$o2['value']] : self::$_operatorPrecedence[$opCharacter] <= self::$_operatorPrecedence[$o2['value']])) { - $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output - } - $stack->push('Binary Operator','|'); // Put an Intersect Operator on the stack - $expectingOperator = FALSE; - } - } - } + } elseif ($opCharacter == '$') { // absolute row or column range + ++$index; + } elseif ($opCharacter == ')') { // miscellaneous error checking + if ($expectingOperand) { + $output[] = array('type' => 'NULL Value', 'value' => self::$excelConstants['NULL'], 'reference' => null); + $expectingOperand = false; + $expectingOperator = true; + } else { + return $this->raiseFormulaError("Formula Error: Unexpected ')'"); + } + } elseif (isset(self::$operators[$opCharacter]) && !$expectingOperator) { + return $this->raiseFormulaError("Formula Error: Unexpected operator '$opCharacter'"); + } else { // I don't even want to know what you did to get here + return $this->raiseFormulaError("Formula Error: An unexpected error occured"); + } + // Test for end of formula string + if ($index == strlen($formula)) { + // Did we end with an operator?. + // Only valid for the % unary operator + if ((isset(self::$operators[$opCharacter])) && ($opCharacter != '%')) { + return $this->raiseFormulaError("Formula Error: Operator '$opCharacter' has no operands"); + } else { + break; + } + } + // Ignore white space + while (($formula{$index} == "\n") || ($formula{$index} == "\r")) { + ++$index; + } + if ($formula{$index} == ' ') { + while ($formula{$index} == ' ') { + ++$index; + } + // If we're expecting an operator, but only have a space between the previous and next operands (and both are + // Cell References) then we have an INTERSECTION operator +// echo 'Possible Intersect Operator
'; + if (($expectingOperator) && (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'.*/Ui', substr($formula, $index), $match)) && + ($output[count($output)-1]['type'] == 'Cell Reference')) { +// echo 'Element is an Intersect Operator
'; + while ($stack->count() > 0 && + ($o2 = $stack->last()) && + isset(self::$operators[$o2['value']]) && + @(self::$operatorAssociativity[$opCharacter] ? self::$operatorPrecedence[$opCharacter] < self::$operatorPrecedence[$o2['value']] : self::$operatorPrecedence[$opCharacter] <= self::$operatorPrecedence[$o2['value']])) { + $output[] = $stack->pop(); // Swap operands and higher precedence operators from the stack to the output + } + $stack->push('Binary Operator', '|'); // Put an Intersect Operator on the stack + $expectingOperator = false; + } + } + } - while (($op = $stack->pop()) !== NULL) { // pop everything off the stack and push onto output - if ((is_array($op) && $op['value'] == '(') || ($op === '(')) - return $this->_raiseFormulaError("Formula Error: Expecting ')'"); // if there are any opening braces on the stack, then braces were unbalanced - $output[] = $op; - } - return $output; - } // function _parseFormula() + while (($op = $stack->pop()) !== null) { // pop everything off the stack and push onto output + if ((is_array($op) && $op['value'] == '(') || ($op === '(')) { + return $this->raiseFormulaError("Formula Error: Expecting ')'"); // if there are any opening braces on the stack, then braces were unbalanced + } + $output[] = $op; + } + return $output; + } - private static function _dataTestReference(&$operandData) - { - $operand = $operandData['value']; - if (($operandData['reference'] === NULL) && (is_array($operand))) { - $rKeys = array_keys($operand); - $rowKey = array_shift($rKeys); - $cKeys = array_keys(array_keys($operand[$rowKey])); - $colKey = array_shift($cKeys); - if (ctype_upper($colKey)) { - $operandData['reference'] = $colKey.$rowKey; - } - } - return $operand; - } + private static function dataTestReference(&$operandData) + { + $operand = $operandData['value']; + if (($operandData['reference'] === null) && (is_array($operand))) { + $rKeys = array_keys($operand); + $rowKey = array_shift($rKeys); + $cKeys = array_keys(array_keys($operand[$rowKey])); + $colKey = array_shift($cKeys); + if (ctype_upper($colKey)) { + $operandData['reference'] = $colKey.$rowKey; + } + } + return $operand; + } - // evaluate postfix notation - private function _processTokenStack($tokens, $cellID = NULL, PHPExcel_Cell $pCell = NULL) { - if ($tokens == FALSE) return FALSE; + // evaluate postfix notation + private function processTokenStack($tokens, $cellID = null, PHPExcel_Cell $pCell = null) + { + if ($tokens == false) { + return false; + } - // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent cell collection), - // so we store the parent cell collection so that we can re-attach it when necessary - $pCellWorksheet = ($pCell !== NULL) ? $pCell->getWorksheet() : NULL; - $pCellParent = ($pCell !== NULL) ? $pCell->getParent() : null; - $stack = new PHPExcel_Calculation_Token_Stack; + // If we're using cell caching, then $pCell may well be flushed back to the cache (which detaches the parent cell collection), + // so we store the parent cell collection so that we can re-attach it when necessary + $pCellWorksheet = ($pCell !== null) ? $pCell->getWorksheet() : null; + $pCellParent = ($pCell !== null) ? $pCell->getParent() : null; + $stack = new PHPExcel_Calculation_Token_Stack; - // Loop through each token in turn - foreach ($tokens as $tokenData) { -// print_r($tokenData); -// echo '
'; - $token = $tokenData['value']; -// echo 'Token is '.$token.'
'; - // if the token is a binary operator, pop the top two values off the stack, do the operation, and push the result back on the stack - if (isset(self::$_binaryOperators[$token])) { -// echo 'Token is a binary operator
'; - // We must have two operands, error if we don't - if (($operand2Data = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); - if (($operand1Data = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); + // Loop through each token in turn + foreach ($tokens as $tokenData) { +// print_r($tokenData); +// echo '
'; + $token = $tokenData['value']; +// echo 'Token is '.$token.'
'; + // if the token is a binary operator, pop the top two values off the stack, do the operation, and push the result back on the stack + if (isset(self::$binaryOperators[$token])) { +// echo 'Token is a binary operator
'; + // We must have two operands, error if we don't + if (($operand2Data = $stack->pop()) === null) { + return $this->raiseFormulaError('Internal error - Operand value missing from stack'); + } + if (($operand1Data = $stack->pop()) === null) { + return $this->raiseFormulaError('Internal error - Operand value missing from stack'); + } - $operand1 = self::_dataTestReference($operand1Data); - $operand2 = self::_dataTestReference($operand2Data); + $operand1 = self::dataTestReference($operand1Data); + $operand2 = self::dataTestReference($operand2Data); - // Log what we're doing - if ($token == ':') { - $this->_debugLog->writeDebugLog('Evaluating Range ', $this->_showValue($operand1Data['reference']), ' ', $token, ' ', $this->_showValue($operand2Data['reference'])); - } else { - $this->_debugLog->writeDebugLog('Evaluating ', $this->_showValue($operand1), ' ', $token, ' ', $this->_showValue($operand2)); - } + // Log what we're doing + if ($token == ':') { + $this->_debugLog->writeDebugLog('Evaluating Range ', $this->showValue($operand1Data['reference']), ' ', $token, ' ', $this->showValue($operand2Data['reference'])); + } else { + $this->_debugLog->writeDebugLog('Evaluating ', $this->showValue($operand1), ' ', $token, ' ', $this->showValue($operand2)); + } - // Process the operation in the appropriate manner - switch ($token) { - // Comparison (Boolean) Operators - case '>' : // Greater than - case '<' : // Less than - case '>=' : // Greater than or Equal to - case '<=' : // Less than or Equal to - case '=' : // Equality - case '<>' : // Inequality - $this->_executeBinaryComparisonOperation($cellID,$operand1,$operand2,$token,$stack); - break; - // Binary Operators - case ':' : // Range - $sheet1 = $sheet2 = ''; - if (strpos($operand1Data['reference'],'!') !== FALSE) { - list($sheet1,$operand1Data['reference']) = explode('!',$operand1Data['reference']); - } else { - $sheet1 = ($pCellParent !== NULL) ? $pCellWorksheet->getTitle() : ''; - } - if (strpos($operand2Data['reference'],'!') !== FALSE) { - list($sheet2,$operand2Data['reference']) = explode('!',$operand2Data['reference']); - } else { - $sheet2 = $sheet1; - } - if ($sheet1 == $sheet2) { - if ($operand1Data['reference'] === NULL) { - if ((trim($operand1Data['value']) != '') && (is_numeric($operand1Data['value']))) { - $operand1Data['reference'] = $pCell->getColumn().$operand1Data['value']; - } elseif (trim($operand1Data['reference']) == '') { - $operand1Data['reference'] = $pCell->getCoordinate(); - } else { - $operand1Data['reference'] = $operand1Data['value'].$pCell->getRow(); - } - } - if ($operand2Data['reference'] === NULL) { - if ((trim($operand2Data['value']) != '') && (is_numeric($operand2Data['value']))) { - $operand2Data['reference'] = $pCell->getColumn().$operand2Data['value']; - } elseif (trim($operand2Data['reference']) == '') { - $operand2Data['reference'] = $pCell->getCoordinate(); - } else { - $operand2Data['reference'] = $operand2Data['value'].$pCell->getRow(); - } - } + // Process the operation in the appropriate manner + switch ($token) { + // Comparison (Boolean) Operators + case '>': // Greater than + case '<': // Less than + case '>=': // Greater than or Equal to + case '<=': // Less than or Equal to + case '=': // Equality + case '<>': // Inequality + $this->executeBinaryComparisonOperation($cellID, $operand1, $operand2, $token, $stack); + break; + // Binary Operators + case ':': // Range + $sheet1 = $sheet2 = ''; + if (strpos($operand1Data['reference'], '!') !== false) { + list($sheet1, $operand1Data['reference']) = explode('!', $operand1Data['reference']); + } else { + $sheet1 = ($pCellParent !== null) ? $pCellWorksheet->getTitle() : ''; + } + if (strpos($operand2Data['reference'], '!') !== false) { + list($sheet2, $operand2Data['reference']) = explode('!', $operand2Data['reference']); + } else { + $sheet2 = $sheet1; + } + if ($sheet1 == $sheet2) { + if ($operand1Data['reference'] === null) { + if ((trim($operand1Data['value']) != '') && (is_numeric($operand1Data['value']))) { + $operand1Data['reference'] = $pCell->getColumn().$operand1Data['value']; + } elseif (trim($operand1Data['reference']) == '') { + $operand1Data['reference'] = $pCell->getCoordinate(); + } else { + $operand1Data['reference'] = $operand1Data['value'].$pCell->getRow(); + } + } + if ($operand2Data['reference'] === null) { + if ((trim($operand2Data['value']) != '') && (is_numeric($operand2Data['value']))) { + $operand2Data['reference'] = $pCell->getColumn().$operand2Data['value']; + } elseif (trim($operand2Data['reference']) == '') { + $operand2Data['reference'] = $pCell->getCoordinate(); + } else { + $operand2Data['reference'] = $operand2Data['value'].$pCell->getRow(); + } + } - $oData = array_merge(explode(':',$operand1Data['reference']),explode(':',$operand2Data['reference'])); - $oCol = $oRow = array(); - foreach($oData as $oDatum) { - $oCR = PHPExcel_Cell::coordinateFromString($oDatum); - $oCol[] = PHPExcel_Cell::columnIndexFromString($oCR[0]) - 1; - $oRow[] = $oCR[1]; - } - $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); - if ($pCellParent !== NULL) { - $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($sheet1), FALSE); - } else { - return $this->_raiseFormulaError('Unable to access Cell Reference'); - } - $stack->push('Cell Reference',$cellValue,$cellRef); - } else { - $stack->push('Error',PHPExcel_Calculation_Functions::REF(),NULL); - } + $oData = array_merge(explode(':', $operand1Data['reference']), explode(':', $operand2Data['reference'])); + $oCol = $oRow = array(); + foreach ($oData as $oDatum) { + $oCR = PHPExcel_Cell::coordinateFromString($oDatum); + $oCol[] = PHPExcel_Cell::columnIndexFromString($oCR[0]) - 1; + $oRow[] = $oCR[1]; + } + $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); + if ($pCellParent !== null) { + $cellValue = $this->extractCellRange($cellRef, $this->workbook->getSheetByName($sheet1), false); + } else { + return $this->raiseFormulaError('Unable to access Cell Reference'); + } + $stack->push('Cell Reference', $cellValue, $cellRef); + } else { + $stack->push('Error', PHPExcel_Calculation_Functions::REF(), null); + } + break; + case '+': // Addition + $this->executeNumericBinaryOperation($cellID, $operand1, $operand2, $token, 'plusEquals', $stack); + break; + case '-': // Subtraction + $this->executeNumericBinaryOperation($cellID, $operand1, $operand2, $token, 'minusEquals', $stack); + break; + case '*': // Multiplication + $this->executeNumericBinaryOperation($cellID, $operand1, $operand2, $token, 'arrayTimesEquals', $stack); + break; + case '/': // Division + $this->executeNumericBinaryOperation($cellID, $operand1, $operand2, $token, 'arrayRightDivide', $stack); + break; + case '^': // Exponential + $this->executeNumericBinaryOperation($cellID, $operand1, $operand2, $token, 'power', $stack); + break; + case '&': // Concatenation + // If either of the operands is a matrix, we need to treat them both as matrices + // (converting the other operand to a matrix if need be); then perform the required + // matrix operation + if (is_bool($operand1)) { + $operand1 = ($operand1) ? self::$localeBoolean['TRUE'] : self::$localeBoolean['FALSE']; + } + if (is_bool($operand2)) { + $operand2 = ($operand2) ? self::$localeBoolean['TRUE'] : self::$localeBoolean['FALSE']; + } + if ((is_array($operand1)) || (is_array($operand2))) { + // Ensure that both operands are arrays/matrices + self::checkMatrixOperands($operand1, $operand2, 2); + try { + // Convert operand 1 from a PHP array to a matrix + $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); + // Perform the required operation against the operand 1 matrix, passing in operand 2 + $matrixResult = $matrix->concat($operand2); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + } else { + $result = '"'.str_replace('""', '"', self::unwrapResult($operand1, '"').self::unwrapResult($operand2, '"')).'"'; + } + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($result)); + $stack->push('Value', $result); + break; + case '|': // Intersect + $rowIntersect = array_intersect_key($operand1, $operand2); + $cellIntersect = $oCol = $oRow = array(); + foreach (array_keys($rowIntersect) as $row) { + $oRow[] = $row; + foreach ($rowIntersect[$row] as $col => $data) { + $oCol[] = PHPExcel_Cell::columnIndexFromString($col) - 1; + $cellIntersect[$row] = array_intersect_key($operand1[$row], $operand2[$row]); + } + } + $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($cellIntersect)); + $stack->push('Value', $cellIntersect, $cellRef); + break; + } - break; - case '+' : // Addition - $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'plusEquals',$stack); - break; - case '-' : // Subtraction - $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'minusEquals',$stack); - break; - case '*' : // Multiplication - $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'arrayTimesEquals',$stack); - break; - case '/' : // Division - $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'arrayRightDivide',$stack); - break; - case '^' : // Exponential - $this->_executeNumericBinaryOperation($cellID,$operand1,$operand2,$token,'power',$stack); - break; - case '&' : // Concatenation - // If either of the operands is a matrix, we need to treat them both as matrices - // (converting the other operand to a matrix if need be); then perform the required - // matrix operation - if (is_bool($operand1)) { - $operand1 = ($operand1) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; - } - if (is_bool($operand2)) { - $operand2 = ($operand2) ? self::$_localeBoolean['TRUE'] : self::$_localeBoolean['FALSE']; - } - if ((is_array($operand1)) || (is_array($operand2))) { - // Ensure that both operands are arrays/matrices - self::_checkMatrixOperands($operand1,$operand2,2); - try { - // Convert operand 1 from a PHP array to a matrix - $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); - // Perform the required operation against the operand 1 matrix, passing in operand 2 - $matrixResult = $matrix->concat($operand2); - $result = $matrixResult->getArray(); - } catch (PHPExcel_Exception $ex) { - $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); - $result = '#VALUE!'; - } - } else { - $result = '"'.str_replace('""','"',self::_unwrapResult($operand1,'"').self::_unwrapResult($operand2,'"')).'"'; - } - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); - $stack->push('Value',$result); - break; - case '|' : // Intersect - $rowIntersect = array_intersect_key($operand1,$operand2); - $cellIntersect = $oCol = $oRow = array(); - foreach(array_keys($rowIntersect) as $row) { - $oRow[] = $row; - foreach($rowIntersect[$row] as $col => $data) { - $oCol[] = PHPExcel_Cell::columnIndexFromString($col) - 1; - $cellIntersect[$row] = array_intersect_key($operand1[$row],$operand2[$row]); - } - } - $cellRef = PHPExcel_Cell::stringFromColumnIndex(min($oCol)).min($oRow).':'.PHPExcel_Cell::stringFromColumnIndex(max($oCol)).max($oRow); - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($cellIntersect)); - $stack->push('Value',$cellIntersect,$cellRef); - break; - } + // if the token is a unary operator, pop one value off the stack, do the operation, and push it back on + } elseif (($token === '~') || ($token === '%')) { +// echo 'Token is a unary operator
'; + if (($arg = $stack->pop()) === null) { + return $this->raiseFormulaError('Internal error - Operand value missing from stack'); + } + $arg = $arg['value']; + if ($token === '~') { +// echo 'Token is a negation operator
'; + $this->_debugLog->writeDebugLog('Evaluating Negation of ', $this->showValue($arg)); + $multiplier = -1; + } else { +// echo 'Token is a percentile operator
'; + $this->_debugLog->writeDebugLog('Evaluating Percentile of ', $this->showValue($arg)); + $multiplier = 0.01; + } + if (is_array($arg)) { + self::checkMatrixOperands($arg, $multiplier, 2); + try { + $matrix1 = new PHPExcel_Shared_JAMA_Matrix($arg); + $matrixResult = $matrix1->arrayTimesEquals($multiplier); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($result)); + $stack->push('Value', $result); + } else { + $this->executeNumericBinaryOperation($cellID, $multiplier, $arg, '*', 'arrayTimesEquals', $stack); + } - // if the token is a unary operator, pop one value off the stack, do the operation, and push it back on - } elseif (($token === '~') || ($token === '%')) { -// echo 'Token is a unary operator
'; - if (($arg = $stack->pop()) === NULL) return $this->_raiseFormulaError('Internal error - Operand value missing from stack'); - $arg = $arg['value']; - if ($token === '~') { -// echo 'Token is a negation operator
'; - $this->_debugLog->writeDebugLog('Evaluating Negation of ', $this->_showValue($arg)); - $multiplier = -1; - } else { -// echo 'Token is a percentile operator
'; - $this->_debugLog->writeDebugLog('Evaluating Percentile of ', $this->_showValue($arg)); - $multiplier = 0.01; - } - if (is_array($arg)) { - self::_checkMatrixOperands($arg,$multiplier,2); - try { - $matrix1 = new PHPExcel_Shared_JAMA_Matrix($arg); - $matrixResult = $matrix1->arrayTimesEquals($multiplier); - $result = $matrixResult->getArray(); - } catch (PHPExcel_Exception $ex) { - $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); - $result = '#VALUE!'; - } - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); - $stack->push('Value',$result); - } else { - $this->_executeNumericBinaryOperation($cellID,$multiplier,$arg,'*','arrayTimesEquals',$stack); - } + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $token, $matches)) { + $cellRef = null; +// echo 'Element '.$token.' is a Cell reference
'; + if (isset($matches[8])) { +// echo 'Reference is a Range of cells
'; + if ($pCell === null) { +// We can't access the range, so return a REF error + $cellValue = PHPExcel_Calculation_Functions::REF(); + } else { + $cellRef = $matches[6].$matches[7].':'.$matches[9].$matches[10]; + if ($matches[2] > '') { + $matches[2] = trim($matches[2], "\"'"); + if ((strpos($matches[2], '[') !== false) || (strpos($matches[2], ']') !== false)) { + // It's a Reference to an external workbook (not currently supported) + return $this->raiseFormulaError('Unable to access External Workbook'); + } + $matches[2] = trim($matches[2], "\"'"); +// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; + $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in worksheet ', $matches[2]); + if ($pCellParent !== null) { + $cellValue = $this->extractCellRange($cellRef, $this->workbook->getSheetByName($matches[2]), false); + } else { + return $this->raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->showTypeDetails($cellValue)); +// $cellRef = $matches[2].'!'.$cellRef; + } else { +// echo '$cellRef='.$cellRef.' in current worksheet
'; + $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in current worksheet'); + if ($pCellParent !== null) { + $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, false); + } else { + return $this->raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' is ', $this->showTypeDetails($cellValue)); + } + } + } else { +// echo 'Reference is a single Cell
'; + if ($pCell === null) { +// We can't access the cell, so return a REF error + $cellValue = PHPExcel_Calculation_Functions::REF(); + } else { + $cellRef = $matches[6].$matches[7]; + if ($matches[2] > '') { + $matches[2] = trim($matches[2], "\"'"); + if ((strpos($matches[2], '[') !== false) || (strpos($matches[2], ']') !== false)) { + // It's a Reference to an external workbook (not currently supported) + return $this->raiseFormulaError('Unable to access External Workbook'); + } +// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; + $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in worksheet ', $matches[2]); + if ($pCellParent !== null) { + $cellSheet = $this->workbook->getSheetByName($matches[2]); + if ($cellSheet && $cellSheet->cellExists($cellRef)) { + $cellValue = $this->extractCellRange($cellRef, $this->workbook->getSheetByName($matches[2]), false); + $pCell->attach($pCellParent); + } else { + $cellValue = null; + } + } else { + return $this->raiseFormulaError('Unable to access Cell Reference'); + } + $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->showTypeDetails($cellValue)); +// $cellRef = $matches[2].'!'.$cellRef; + } else { +// echo '$cellRef='.$cellRef.' in current worksheet
'; + $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in current worksheet'); + if ($pCellParent->isDataSet($cellRef)) { + $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, false); + $pCell->attach($pCellParent); + } else { + $cellValue = null; + } + $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' is ', $this->showTypeDetails($cellValue)); + } + } + } + $stack->push('Value', $cellValue, $cellRef); - } elseif (preg_match('/^'.self::CALCULATION_REGEXP_CELLREF.'$/i', $token, $matches)) { - $cellRef = NULL; -// echo 'Element '.$token.' is a Cell reference
'; - if (isset($matches[8])) { -// echo 'Reference is a Range of cells
'; - if ($pCell === NULL) { -// We can't access the range, so return a REF error - $cellValue = PHPExcel_Calculation_Functions::REF(); - } else { - $cellRef = $matches[6].$matches[7].':'.$matches[9].$matches[10]; - if ($matches[2] > '') { - $matches[2] = trim($matches[2],"\"'"); - if ((strpos($matches[2],'[') !== FALSE) || (strpos($matches[2],']') !== FALSE)) { - // It's a Reference to an external workbook (not currently supported) - return $this->_raiseFormulaError('Unable to access External Workbook'); - } - $matches[2] = trim($matches[2],"\"'"); -// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; - $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in worksheet ', $matches[2]); - if ($pCellParent !== NULL) { - $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($matches[2]), FALSE); - } else { - return $this->_raiseFormulaError('Unable to access Cell Reference'); - } - $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->_showTypeDetails($cellValue)); -// $cellRef = $matches[2].'!'.$cellRef; - } else { -// echo '$cellRef='.$cellRef.' in current worksheet
'; - $this->_debugLog->writeDebugLog('Evaluating Cell Range ', $cellRef, ' in current worksheet'); - if ($pCellParent !== NULL) { - $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, FALSE); - } else { - return $this->_raiseFormulaError('Unable to access Cell Reference'); - } - $this->_debugLog->writeDebugLog('Evaluation Result for cells ', $cellRef, ' is ', $this->_showTypeDetails($cellValue)); - } - } - } else { -// echo 'Reference is a single Cell
'; - if ($pCell === NULL) { -// We can't access the cell, so return a REF error - $cellValue = PHPExcel_Calculation_Functions::REF(); - } else { - $cellRef = $matches[6].$matches[7]; - if ($matches[2] > '') { - $matches[2] = trim($matches[2],"\"'"); - if ((strpos($matches[2],'[') !== FALSE) || (strpos($matches[2],']') !== FALSE)) { - // It's a Reference to an external workbook (not currently supported) - return $this->_raiseFormulaError('Unable to access External Workbook'); - } -// echo '$cellRef='.$cellRef.' in worksheet '.$matches[2].'
'; - $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in worksheet ', $matches[2]); - if ($pCellParent !== NULL) { - $cellSheet = $this->_workbook->getSheetByName($matches[2]); - if ($cellSheet && $cellSheet->cellExists($cellRef)) { - $cellValue = $this->extractCellRange($cellRef, $this->_workbook->getSheetByName($matches[2]), FALSE); - $pCell->attach($pCellParent); - } else { - $cellValue = NULL; - } - } else { - return $this->_raiseFormulaError('Unable to access Cell Reference'); - } - $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' in worksheet ', $matches[2], ' is ', $this->_showTypeDetails($cellValue)); -// $cellRef = $matches[2].'!'.$cellRef; - } else { -// echo '$cellRef='.$cellRef.' in current worksheet
'; - $this->_debugLog->writeDebugLog('Evaluating Cell ', $cellRef, ' in current worksheet'); - if ($pCellParent->isDataSet($cellRef)) { - $cellValue = $this->extractCellRange($cellRef, $pCellWorksheet, FALSE); - $pCell->attach($pCellParent); - } else { - $cellValue = NULL; - } - $this->_debugLog->writeDebugLog('Evaluation Result for cell ', $cellRef, ' is ', $this->_showTypeDetails($cellValue)); - } - } - } - $stack->push('Value',$cellValue,$cellRef); + // if the token is a function, pop arguments off the stack, hand them to the function, and push the result back on + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $token, $matches)) { +// echo 'Token is a function
'; + $functionName = $matches[1]; + $argCount = $stack->pop(); + $argCount = $argCount['value']; + if ($functionName != 'MKMATRIX') { + $this->_debugLog->writeDebugLog('Evaluating Function ', self::localeFunc($functionName), '() with ', (($argCount == 0) ? 'no' : $argCount), ' argument', (($argCount == 1) ? '' : 's')); + } + if ((isset(self::$PHPExcelFunctions[$functionName])) || (isset(self::$controlFunctions[$functionName]))) { // function + if (isset(self::$PHPExcelFunctions[$functionName])) { + $functionCall = self::$PHPExcelFunctions[$functionName]['functionCall']; + $passByReference = isset(self::$PHPExcelFunctions[$functionName]['passByReference']); + $passCellReference = isset(self::$PHPExcelFunctions[$functionName]['passCellReference']); + } elseif (isset(self::$controlFunctions[$functionName])) { + $functionCall = self::$controlFunctions[$functionName]['functionCall']; + $passByReference = isset(self::$controlFunctions[$functionName]['passByReference']); + $passCellReference = isset(self::$controlFunctions[$functionName]['passCellReference']); + } + // get the arguments for this function +// echo 'Function '.$functionName.' expects '.$argCount.' arguments
'; + $args = $argArrayVals = array(); + for ($i = 0; $i < $argCount; ++$i) { + $arg = $stack->pop(); + $a = $argCount - $i - 1; + if (($passByReference) && + (isset(self::$PHPExcelFunctions[$functionName]['passByReference'][$a])) && + (self::$PHPExcelFunctions[$functionName]['passByReference'][$a])) { + if ($arg['reference'] === null) { + $args[] = $cellID; + if ($functionName != 'MKMATRIX') { + $argArrayVals[] = $this->showValue($cellID); + } + } else { + $args[] = $arg['reference']; + if ($functionName != 'MKMATRIX') { + $argArrayVals[] = $this->showValue($arg['reference']); + } + } + } else { + $args[] = self::unwrapResult($arg['value']); + if ($functionName != 'MKMATRIX') { + $argArrayVals[] = $this->showValue($arg['value']); + } + } + } + // Reverse the order of the arguments + krsort($args); + if (($passByReference) && ($argCount == 0)) { + $args[] = $cellID; + $argArrayVals[] = $this->showValue($cellID); + } +// echo 'Arguments are: '; +// print_r($args); +// echo '
'; + if ($functionName != 'MKMATRIX') { + if ($this->_debugLog->getWriteDebugLog()) { + krsort($argArrayVals); + $this->_debugLog->writeDebugLog('Evaluating ', self::localeFunc($functionName), '( ', implode(self::$localeArgumentSeparator.' ', PHPExcel_Calculation_Functions::flattenArray($argArrayVals)), ' )'); + } + } + // Process each argument in turn, building the return value as an array +// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) { +// $operand1 = $args[1]; +// $this->_debugLog->writeDebugLog('Argument is a matrix: ', $this->showValue($operand1)); +// $result = array(); +// $row = 0; +// foreach($operand1 as $args) { +// if (is_array($args)) { +// foreach($args as $arg) { +// $this->_debugLog->writeDebugLog('Evaluating ', self::localeFunc($functionName), '( ', $this->showValue($arg), ' )'); +// $r = call_user_func_array($functionCall, $arg); +// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::localeFunc($functionName), '() function call is ', $this->showTypeDetails($r)); +// $result[$row][] = $r; +// } +// ++$row; +// } else { +// $this->_debugLog->writeDebugLog('Evaluating ', self::localeFunc($functionName), '( ', $this->showValue($args), ' )'); +// $r = call_user_func_array($functionCall, $args); +// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::localeFunc($functionName), '() function call is ', $this->showTypeDetails($r)); +// $result[] = $r; +// } +// } +// } else { + // Process the argument with the appropriate function call + if ($passCellReference) { + $args[] = $pCell; + } + if (strpos($functionCall, '::') !== false) { + $result = call_user_func_array(explode('::', $functionCall), $args); + } else { + foreach ($args as &$arg) { + $arg = PHPExcel_Calculation_Functions::flattenSingleValue($arg); + } + unset($arg); + $result = call_user_func_array($functionCall, $args); + } + if ($functionName != 'MKMATRIX') { + $this->_debugLog->writeDebugLog('Evaluation Result for ', self::localeFunc($functionName), '() function call is ', $this->showTypeDetails($result)); + } + $stack->push('Value', self::wrapResult($result)); + } - // if the token is a function, pop arguments off the stack, hand them to the function, and push the result back on - } elseif (preg_match('/^'.self::CALCULATION_REGEXP_FUNCTION.'$/i', $token, $matches)) { -// echo 'Token is a function
'; - $functionName = $matches[1]; - $argCount = $stack->pop(); - $argCount = $argCount['value']; - if ($functionName != 'MKMATRIX') { - $this->_debugLog->writeDebugLog('Evaluating Function ', self::_localeFunc($functionName), '() with ', (($argCount == 0) ? 'no' : $argCount), ' argument', (($argCount == 1) ? '' : 's')); - } - if ((isset(self::$_PHPExcelFunctions[$functionName])) || (isset(self::$_controlFunctions[$functionName]))) { // function - if (isset(self::$_PHPExcelFunctions[$functionName])) { - $functionCall = self::$_PHPExcelFunctions[$functionName]['functionCall']; - $passByReference = isset(self::$_PHPExcelFunctions[$functionName]['passByReference']); - $passCellReference = isset(self::$_PHPExcelFunctions[$functionName]['passCellReference']); - } elseif (isset(self::$_controlFunctions[$functionName])) { - $functionCall = self::$_controlFunctions[$functionName]['functionCall']; - $passByReference = isset(self::$_controlFunctions[$functionName]['passByReference']); - $passCellReference = isset(self::$_controlFunctions[$functionName]['passCellReference']); - } - // get the arguments for this function -// echo 'Function '.$functionName.' expects '.$argCount.' arguments
'; - $args = $argArrayVals = array(); - for ($i = 0; $i < $argCount; ++$i) { - $arg = $stack->pop(); - $a = $argCount - $i - 1; - if (($passByReference) && - (isset(self::$_PHPExcelFunctions[$functionName]['passByReference'][$a])) && - (self::$_PHPExcelFunctions[$functionName]['passByReference'][$a])) { - if ($arg['reference'] === NULL) { - $args[] = $cellID; - if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($cellID); } - } else { - $args[] = $arg['reference']; - if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($arg['reference']); } - } - } else { - $args[] = self::_unwrapResult($arg['value']); - if ($functionName != 'MKMATRIX') { $argArrayVals[] = $this->_showValue($arg['value']); } - } - } - // Reverse the order of the arguments - krsort($args); - if (($passByReference) && ($argCount == 0)) { - $args[] = $cellID; - $argArrayVals[] = $this->_showValue($cellID); - } -// echo 'Arguments are: '; -// print_r($args); -// echo '
'; - if ($functionName != 'MKMATRIX') { - if ($this->_debugLog->getWriteDebugLog()) { - krsort($argArrayVals); - $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', implode(self::$_localeArgumentSeparator.' ',PHPExcel_Calculation_Functions::flattenArray($argArrayVals)), ' )'); - } - } - // Process each argument in turn, building the return value as an array -// if (($argCount == 1) && (is_array($args[1])) && ($functionName != 'MKMATRIX')) { -// $operand1 = $args[1]; -// $this->_debugLog->writeDebugLog('Argument is a matrix: ', $this->_showValue($operand1)); -// $result = array(); -// $row = 0; -// foreach($operand1 as $args) { -// if (is_array($args)) { -// foreach($args as $arg) { -// $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', $this->_showValue($arg), ' )'); -// $r = call_user_func_array($functionCall,$arg); -// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($r)); -// $result[$row][] = $r; -// } -// ++$row; -// } else { -// $this->_debugLog->writeDebugLog('Evaluating ', self::_localeFunc($functionName), '( ', $this->_showValue($args), ' )'); -// $r = call_user_func_array($functionCall,$args); -// $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($r)); -// $result[] = $r; -// } -// } -// } else { - // Process the argument with the appropriate function call - if ($passCellReference) { - $args[] = $pCell; - } - if (strpos($functionCall,'::') !== FALSE) { - $result = call_user_func_array(explode('::',$functionCall),$args); - } else { - foreach($args as &$arg) { - $arg = PHPExcel_Calculation_Functions::flattenSingleValue($arg); - } - unset($arg); - $result = call_user_func_array($functionCall,$args); - } -// } - if ($functionName != 'MKMATRIX') { - $this->_debugLog->writeDebugLog('Evaluation Result for ', self::_localeFunc($functionName), '() function call is ', $this->_showTypeDetails($result)); - } - $stack->push('Value',self::_wrapResult($result)); - } + } else { + // if the token is a number, boolean, string or an Excel error, push it onto the stack + if (isset(self::$excelConstants[strtoupper($token)])) { + $excelConstant = strtoupper($token); +// echo 'Token is a PHPExcel constant: '.$excelConstant.'
'; + $stack->push('Constant Value', self::$excelConstants[$excelConstant]); + $this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->showTypeDetails(self::$excelConstants[$excelConstant])); + } elseif ((is_numeric($token)) || ($token === null) || (is_bool($token)) || ($token == '') || ($token{0} == '"') || ($token{0} == '#')) { +// echo 'Token is a number, boolean, string, null or an Excel error
'; + $stack->push('Value', $token); + // if the token is a named range, push the named range name onto the stack + } elseif (preg_match('/^'.self::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $token, $matches)) { +// echo 'Token is a named range
'; + $namedRange = $matches[6]; +// echo 'Named Range is '.$namedRange.'
'; + $this->_debugLog->writeDebugLog('Evaluating Named Range ', $namedRange); + $cellValue = $this->extractNamedRange($namedRange, ((null !== $pCell) ? $pCellWorksheet : null), false); + $pCell->attach($pCellParent); + $this->_debugLog->writeDebugLog('Evaluation Result for named range ', $namedRange, ' is ', $this->showTypeDetails($cellValue)); + $stack->push('Named Range', $cellValue, $namedRange); + } else { + return $this->raiseFormulaError("undefined variable '$token'"); + } + } + } + // when we're out of tokens, the stack should have a single element, the final result + if ($stack->count() != 1) { + return $this->raiseFormulaError("internal error"); + } + $output = $stack->pop(); + $output = $output['value']; - } else { - // if the token is a number, boolean, string or an Excel error, push it onto the stack - if (isset(self::$_ExcelConstants[strtoupper($token)])) { - $excelConstant = strtoupper($token); -// echo 'Token is a PHPExcel constant: '.$excelConstant.'
'; - $stack->push('Constant Value',self::$_ExcelConstants[$excelConstant]); - $this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->_showTypeDetails(self::$_ExcelConstants[$excelConstant])); - } elseif ((is_numeric($token)) || ($token === NULL) || (is_bool($token)) || ($token == '') || ($token{0} == '"') || ($token{0} == '#')) { -// echo 'Token is a number, boolean, string, null or an Excel error
'; - $stack->push('Value',$token); - // if the token is a named range, push the named range name onto the stack - } elseif (preg_match('/^'.self::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $token, $matches)) { -// echo 'Token is a named range
'; - $namedRange = $matches[6]; -// echo 'Named Range is '.$namedRange.'
'; - $this->_debugLog->writeDebugLog('Evaluating Named Range ', $namedRange); - $cellValue = $this->extractNamedRange($namedRange, ((NULL !== $pCell) ? $pCellWorksheet : NULL), FALSE); - $pCell->attach($pCellParent); - $this->_debugLog->writeDebugLog('Evaluation Result for named range ', $namedRange, ' is ', $this->_showTypeDetails($cellValue)); - $stack->push('Named Range',$cellValue,$namedRange); - } else { - return $this->_raiseFormulaError("undefined variable '$token'"); - } - } - } - // when we're out of tokens, the stack should have a single element, the final result - if ($stack->count() != 1) return $this->_raiseFormulaError("internal error"); - $output = $stack->pop(); - $output = $output['value']; - -// if ((is_array($output)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { -// return array_shift(PHPExcel_Calculation_Functions::flattenArray($output)); -// } - return $output; - } // function _processTokenStack() +// if ((is_array($output)) && (self::$returnArrayAsType != self::RETURN_ARRAY_AS_ARRAY)) { +// return array_shift(PHPExcel_Calculation_Functions::flattenArray($output)); +// } + return $output; + } - private function _validateBinaryOperand($cellID, &$operand, &$stack) { - if (is_array($operand)) { - if ((count($operand, COUNT_RECURSIVE) - count($operand)) == 1) { - do { - $operand = array_pop($operand); - } while (is_array($operand)); - } - } - // Numbers, matrices and booleans can pass straight through, as they're already valid - if (is_string($operand)) { - // We only need special validations for the operand if it is a string - // Start by stripping off the quotation marks we use to identify true excel string values internally - if ($operand > '' && $operand{0} == '"') { $operand = self::_unwrapResult($operand); } - // If the string is a numeric value, we treat it as a numeric, so no further testing - if (!is_numeric($operand)) { - // If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations - if ($operand > '' && $operand{0} == '#') { - $stack->push('Value', $operand); - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($operand)); - return FALSE; - } elseif (!PHPExcel_Shared_String::convertToNumberIfFraction($operand)) { - // If not a numeric or a fraction, then it's a text string, and so can't be used in mathematical binary operations - $stack->push('Value', '#VALUE!'); - $this->_debugLog->writeDebugLog('Evaluation Result is a ', $this->_showTypeDetails('#VALUE!')); - return FALSE; - } - } - } + private function validateBinaryOperand($cellID, &$operand, &$stack) + { + if (is_array($operand)) { + if ((count($operand, COUNT_RECURSIVE) - count($operand)) == 1) { + do { + $operand = array_pop($operand); + } while (is_array($operand)); + } + } + // Numbers, matrices and booleans can pass straight through, as they're already valid + if (is_string($operand)) { + // We only need special validations for the operand if it is a string + // Start by stripping off the quotation marks we use to identify true excel string values internally + if ($operand > '' && $operand{0} == '"') { + $operand = self::unwrapResult($operand); + } + // If the string is a numeric value, we treat it as a numeric, so no further testing + if (!is_numeric($operand)) { + // If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations + if ($operand > '' && $operand{0} == '#') { + $stack->push('Value', $operand); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($operand)); + return false; + } elseif (!PHPExcel_Shared_String::convertToNumberIfFraction($operand)) { + // If not a numeric or a fraction, then it's a text string, and so can't be used in mathematical binary operations + $stack->push('Value', '#VALUE!'); + $this->_debugLog->writeDebugLog('Evaluation Result is a ', $this->showTypeDetails('#VALUE!')); + return false; + } + } + } - // return a true if the value of the operand is one that we can use in normal binary operations - return TRUE; - } // function _validateBinaryOperand() + // return a true if the value of the operand is one that we can use in normal binary operations + return true; + } - private function _executeBinaryComparisonOperation($cellID, $operand1, $operand2, $operation, &$stack, $recursingArrays=FALSE) { - // If we're dealing with matrix operations, we want a matrix result - if ((is_array($operand1)) || (is_array($operand2))) { - $result = array(); - if ((is_array($operand1)) && (!is_array($operand2))) { - foreach($operand1 as $x => $operandData) { - $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operandData), ' ', $operation, ' ', $this->_showValue($operand2)); - $this->_executeBinaryComparisonOperation($cellID,$operandData,$operand2,$operation,$stack); - $r = $stack->pop(); - $result[$x] = $r['value']; - } - } elseif ((!is_array($operand1)) && (is_array($operand2))) { - foreach($operand2 as $x => $operandData) { - $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operand1), ' ', $operation, ' ', $this->_showValue($operandData)); - $this->_executeBinaryComparisonOperation($cellID,$operand1,$operandData,$operation,$stack); - $r = $stack->pop(); - $result[$x] = $r['value']; - } - } else { - if (!$recursingArrays) { self::_checkMatrixOperands($operand1,$operand2,2); } - foreach($operand1 as $x => $operandData) { - $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->_showValue($operandData), ' ', $operation, ' ', $this->_showValue($operand2[$x])); - $this->_executeBinaryComparisonOperation($cellID,$operandData,$operand2[$x],$operation,$stack,TRUE); - $r = $stack->pop(); - $result[$x] = $r['value']; - } - } - // Log the result details - $this->_debugLog->writeDebugLog('Comparison Evaluation Result is ', $this->_showTypeDetails($result)); - // And push the result onto the stack - $stack->push('Array',$result); - return TRUE; - } + private function executeBinaryComparisonOperation($cellID, $operand1, $operand2, $operation, &$stack, $recursingArrays = false) + { + // If we're dealing with matrix operations, we want a matrix result + if ((is_array($operand1)) || (is_array($operand2))) { + $result = array(); + if ((is_array($operand1)) && (!is_array($operand2))) { + foreach ($operand1 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->showValue($operandData), ' ', $operation, ' ', $this->showValue($operand2)); + $this->executeBinaryComparisonOperation($cellID, $operandData, $operand2, $operation, $stack); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } elseif ((!is_array($operand1)) && (is_array($operand2))) { + foreach ($operand2 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->showValue($operand1), ' ', $operation, ' ', $this->showValue($operandData)); + $this->executeBinaryComparisonOperation($cellID, $operand1, $operandData, $operation, $stack); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } else { + if (!$recursingArrays) { + self::checkMatrixOperands($operand1, $operand2, 2); + } + foreach ($operand1 as $x => $operandData) { + $this->_debugLog->writeDebugLog('Evaluating Comparison ', $this->showValue($operandData), ' ', $operation, ' ', $this->showValue($operand2[$x])); + $this->executeBinaryComparisonOperation($cellID, $operandData, $operand2[$x], $operation, $stack, true); + $r = $stack->pop(); + $result[$x] = $r['value']; + } + } + // Log the result details + $this->_debugLog->writeDebugLog('Comparison Evaluation Result is ', $this->showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Array', $result); + return true; + } - // Simple validate the two operands if they are string values - if (is_string($operand1) && $operand1 > '' && $operand1{0} == '"') { $operand1 = self::_unwrapResult($operand1); } - if (is_string($operand2) && $operand2 > '' && $operand2{0} == '"') { $operand2 = self::_unwrapResult($operand2); } + // Simple validate the two operands if they are string values + if (is_string($operand1) && $operand1 > '' && $operand1{0} == '"') { + $operand1 = self::unwrapResult($operand1); + } + if (is_string($operand2) && $operand2 > '' && $operand2{0} == '"') { + $operand2 = self::unwrapResult($operand2); + } - // Use case insensitive comparaison if not OpenOffice mode - if (PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) - { - if (is_string($operand1)) { - $operand1 = strtoupper($operand1); - } + // Use case insensitive comparaison if not OpenOffice mode + if (PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + if (is_string($operand1)) { + $operand1 = strtoupper($operand1); + } + if (is_string($operand2)) { + $operand2 = strtoupper($operand2); + } + } - if (is_string($operand2)) { - $operand2 = strtoupper($operand2); - } - } + $useLowercaseFirstComparison = is_string($operand1) && is_string($operand2) && PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE; - $useLowercaseFirstComparison = is_string($operand1) && is_string($operand2) && PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE; - - // execute the necessary operation - switch ($operation) { - // Greater than - case '>': - if ($useLowercaseFirstComparison) { - $result = $this->strcmpLowercaseFirst($operand1, $operand2) > 0; - } else { - $result = ($operand1 > $operand2); - } - break; - // Less than - case '<': - if ($useLowercaseFirstComparison) { - $result = $this->strcmpLowercaseFirst($operand1, $operand2) < 0; - } else { - $result = ($operand1 < $operand2); - } - break; - // Equality - case '=': + // execute the necessary operation + switch ($operation) { + // Greater than + case '>': + if ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) > 0; + } else { + $result = ($operand1 > $operand2); + } + break; + // Less than + case '<': + if ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) < 0; + } else { + $result = ($operand1 < $operand2); + } + break; + // Equality + case '=': if (is_numeric($operand1) && is_numeric($operand2)) { $result = (abs($operand1 - $operand2) < $this->delta); } else { $result = strcmp($operand1, $operand2) == 0; } - break; - // Greater than or equal - case '>=': + break; + // Greater than or equal + case '>=': if (is_numeric($operand1) && is_numeric($operand2)) { $result = ((abs($operand1 - $operand2) < $this->delta) || ($operand1 > $operand2)); - } elseif ($useLowercaseFirstComparison) { - $result = $this->strcmpLowercaseFirst($operand1, $operand2) >= 0; - } else { - $result = strcmp($operand1, $operand2) >= 0; - } - break; - // Less than or equal - case '<=': + } elseif ($useLowercaseFirstComparison) { + $result = $this->strcmpLowercaseFirst($operand1, $operand2) >= 0; + } else { + $result = strcmp($operand1, $operand2) >= 0; + } + break; + // Less than or equal + case '<=': if (is_numeric($operand1) && is_numeric($operand2)) { $result = ((abs($operand1 - $operand2) < $this->delta) || ($operand1 < $operand2)); } elseif ($useLowercaseFirstComparison) { - $result = $this->strcmpLowercaseFirst($operand1, $operand2) <= 0; - } else { - $result = strcmp($operand1, $operand2) <= 0; - } - break; - // Inequality - case '<>': + $result = $this->strcmpLowercaseFirst($operand1, $operand2) <= 0; + } else { + $result = strcmp($operand1, $operand2) <= 0; + } + break; + // Inequality + case '<>': if (is_numeric($operand1) && is_numeric($operand2)) { $result = (abs($operand1 - $operand2) > 1E-14); } else { $result = strcmp($operand1, $operand2) != 0; } - break; - } + break; + } - // Log the result details - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); - // And push the result onto the stack - $stack->push('Value',$result); - return true; - } + // Log the result details + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Value', $result); + return true; + } - /** - * Compare two strings in the same way as strcmp() except that lowercase come before uppercase letters - * @param string $str1 First string value for the comparison - * @param string $str2 Second string value for the comparison - * @return integer - */ - private function strcmpLowercaseFirst($str1, $str2) - { + /** + * Compare two strings in the same way as strcmp() except that lowercase come before uppercase letters + * @param string $str1 First string value for the comparison + * @param string $str2 Second string value for the comparison + * @return integer + */ + private function strcmpLowercaseFirst($str1, $str2) + { $inversedStr1 = PHPExcel_Shared_String::StrCaseReverse($str1); $inversedStr2 = PHPExcel_Shared_String::StrCaseReverse($str2); - return strcmp($inversedStr1, $inversedStr2); - } + return strcmp($inversedStr1, $inversedStr2); + } - private function _executeNumericBinaryOperation($cellID,$operand1,$operand2,$operation,$matrixFunction,&$stack) { - // Validate the two operands - if (!$this->_validateBinaryOperand($cellID,$operand1,$stack)) return FALSE; - if (!$this->_validateBinaryOperand($cellID,$operand2,$stack)) return FALSE; + private function executeNumericBinaryOperation($cellID, $operand1, $operand2, $operation, $matrixFunction, &$stack) + { + // Validate the two operands + if (!$this->validateBinaryOperand($cellID, $operand1, $stack)) { + return false; + } + if (!$this->validateBinaryOperand($cellID, $operand2, $stack)) { + return false; + } - // If either of the operands is a matrix, we need to treat them both as matrices - // (converting the other operand to a matrix if need be); then perform the required - // matrix operation - if ((is_array($operand1)) || (is_array($operand2))) { - // Ensure that both operands are arrays/matrices of the same size - self::_checkMatrixOperands($operand1, $operand2, 2); + // If either of the operands is a matrix, we need to treat them both as matrices + // (converting the other operand to a matrix if need be); then perform the required + // matrix operation + if ((is_array($operand1)) || (is_array($operand2))) { + // Ensure that both operands are arrays/matrices of the same size + self::checkMatrixOperands($operand1, $operand2, 2); - try { - // Convert operand 1 from a PHP array to a matrix - $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); - // Perform the required operation against the operand 1 matrix, passing in operand 2 - $matrixResult = $matrix->$matrixFunction($operand2); - $result = $matrixResult->getArray(); - } catch (PHPExcel_Exception $ex) { - $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); - $result = '#VALUE!'; - } - } else { - if ((PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) && - ((is_string($operand1) && !is_numeric($operand1) && strlen($operand1)>0) || + try { + // Convert operand 1 from a PHP array to a matrix + $matrix = new PHPExcel_Shared_JAMA_Matrix($operand1); + // Perform the required operation against the operand 1 matrix, passing in operand 2 + $matrixResult = $matrix->$matrixFunction($operand2); + $result = $matrixResult->getArray(); + } catch (PHPExcel_Exception $ex) { + $this->_debugLog->writeDebugLog('JAMA Matrix Exception: ', $ex->getMessage()); + $result = '#VALUE!'; + } + } else { + if ((PHPExcel_Calculation_Functions::getCompatibilityMode() != PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) && + ((is_string($operand1) && !is_numeric($operand1) && strlen($operand1)>0) || (is_string($operand2) && !is_numeric($operand2) && strlen($operand2)>0))) { - $result = PHPExcel_Calculation_Functions::VALUE(); - } else { - // If we're dealing with non-matrix operations, execute the necessary operation - switch ($operation) { - // Addition - case '+': - $result = $operand1 + $operand2; - break; - // Subtraction - case '-': - $result = $operand1 - $operand2; - break; - // Multiplication - case '*': - $result = $operand1 * $operand2; - break; - // Division - case '/': - if ($operand2 == 0) { - // Trap for Divide by Zero error - $stack->push('Value','#DIV/0!'); - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails('#DIV/0!')); - return FALSE; - } else { - $result = $operand1 / $operand2; - } - break; - // Power - case '^': - $result = pow($operand1, $operand2); - break; - } - } - } + $result = PHPExcel_Calculation_Functions::VALUE(); + } else { + // If we're dealing with non-matrix operations, execute the necessary operation + switch ($operation) { + // Addition + case '+': + $result = $operand1 + $operand2; + break; + // Subtraction + case '-': + $result = $operand1 - $operand2; + break; + // Multiplication + case '*': + $result = $operand1 * $operand2; + break; + // Division + case '/': + if ($operand2 == 0) { + // Trap for Divide by Zero error + $stack->push('Value', '#DIV/0!'); + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails('#DIV/0!')); + return false; + } else { + $result = $operand1 / $operand2; + } + break; + // Power + case '^': + $result = pow($operand1, $operand2); + break; + } + } + } - // Log the result details - $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->_showTypeDetails($result)); - // And push the result onto the stack - $stack->push('Value',$result); - return TRUE; - } // function _executeNumericBinaryOperation() + // Log the result details + $this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($result)); + // And push the result onto the stack + $stack->push('Value', $result); + return true; + } - // trigger an error, but nicely, if need be - protected function _raiseFormulaError($errorMessage) { - $this->formulaError = $errorMessage; - $this->_cyclicReferenceStack->clear(); - if (!$this->suppressFormulaErrors) throw new PHPExcel_Calculation_Exception($errorMessage); - trigger_error($errorMessage, E_USER_ERROR); - } // function _raiseFormulaError() + // trigger an error, but nicely, if need be + protected function raiseFormulaError($errorMessage) + { + $this->formulaError = $errorMessage; + $this->cyclicReferenceStack->clear(); + if (!$this->suppressFormulaErrors) { + throw new PHPExcel_Calculation_Exception($errorMessage); + } + trigger_error($errorMessage, E_USER_ERROR); + } - /** - * Extract range values - * - * @param string &$pRange String based range representation - * @param PHPExcel_Worksheet $pSheet Worksheet - * @param boolean $resetLog Flag indicating whether calculation log should be reset or not - * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. - * @throws PHPExcel_Calculation_Exception - */ - public function extractCellRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = NULL, $resetLog = TRUE) { - // Return value - $returnValue = array (); + /** + * Extract range values + * + * @param string &$pRange String based range representation + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param boolean $resetLog Flag indicating whether calculation log should be reset or not + * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. + * @throws PHPExcel_Calculation_Exception + */ + public function extractCellRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = null, $resetLog = true) + { + // Return value + $returnValue = array (); -// echo 'extractCellRange('.$pRange.')',PHP_EOL; - if ($pSheet !== NULL) { - $pSheetName = $pSheet->getTitle(); -// echo 'Passed sheet name is '.$pSheetName.PHP_EOL; -// echo 'Range reference is '.$pRange.PHP_EOL; - if (strpos ($pRange, '!') !== false) { -// echo '$pRange reference includes sheet reference',PHP_EOL; - list($pSheetName,$pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); -// echo 'New sheet name is '.$pSheetName,PHP_EOL; -// echo 'Adjusted Range reference is '.$pRange,PHP_EOL; - $pSheet = $this->_workbook->getSheetByName($pSheetName); - } +// echo 'extractCellRange('.$pRange.')', PHP_EOL; + if ($pSheet !== null) { + $pSheetName = $pSheet->getTitle(); +// echo 'Passed sheet name is '.$pSheetName.PHP_EOL; +// echo 'Range reference is '.$pRange.PHP_EOL; + if (strpos($pRange, '!') !== false) { +// echo '$pRange reference includes sheet reference', PHP_EOL; + list($pSheetName, $pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); +// echo 'New sheet name is '.$pSheetName, PHP_EOL; +// echo 'Adjusted Range reference is '.$pRange, PHP_EOL; + $pSheet = $this->workbook->getSheetByName($pSheetName); + } - // Extract range - $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); - $pRange = $pSheetName.'!'.$pRange; - if (!isset($aReferences[1])) { - // Single cell in range - sscanf($aReferences[0],'%[A-Z]%d', $currentCol, $currentRow); - $cellValue = NULL; - if ($pSheet->cellExists($aReferences[0])) { - $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); - } else { - $returnValue[$currentRow][$currentCol] = NULL; - } - } else { - // Extract cell data for all cells in the range - foreach ($aReferences as $reference) { - // Extract range - sscanf($reference,'%[A-Z]%d', $currentCol, $currentRow); - $cellValue = NULL; - if ($pSheet->cellExists($reference)) { - $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); - } else { - $returnValue[$currentRow][$currentCol] = NULL; - } - } - } - } + // Extract range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); + $pRange = $pSheetName.'!'.$pRange; + if (!isset($aReferences[1])) { + // Single cell in range + sscanf($aReferences[0], '%[A-Z]%d', $currentCol, $currentRow); + $cellValue = null; + if ($pSheet->cellExists($aReferences[0])) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = null; + } + } else { + // Extract cell data for all cells in the range + foreach ($aReferences as $reference) { + // Extract range + sscanf($reference, '%[A-Z]%d', $currentCol, $currentRow); + $cellValue = null; + if ($pSheet->cellExists($reference)) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = null; + } + } + } + } - // Return - return $returnValue; - } // function extractCellRange() + return $returnValue; + } - /** - * Extract range values - * - * @param string &$pRange String based range representation - * @param PHPExcel_Worksheet $pSheet Worksheet - * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. - * @param boolean $resetLog Flag indicating whether calculation log should be reset or not - * @throws PHPExcel_Calculation_Exception - */ - public function extractNamedRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = NULL, $resetLog = TRUE) { - // Return value - $returnValue = array (); + /** + * Extract range values + * + * @param string &$pRange String based range representation + * @param PHPExcel_Worksheet $pSheet Worksheet + * @return mixed Array of values in range if range contains more than one element. Otherwise, a single value is returned. + * @param boolean $resetLog Flag indicating whether calculation log should be reset or not + * @throws PHPExcel_Calculation_Exception + */ + public function extractNamedRange(&$pRange = 'A1', PHPExcel_Worksheet $pSheet = null, $resetLog = true) + { + // Return value + $returnValue = array (); -// echo 'extractNamedRange('.$pRange.')
'; - if ($pSheet !== NULL) { - $pSheetName = $pSheet->getTitle(); -// echo 'Current sheet name is '.$pSheetName.'
'; -// echo 'Range reference is '.$pRange.'
'; - if (strpos ($pRange, '!') !== false) { -// echo '$pRange reference includes sheet reference',PHP_EOL; - list($pSheetName,$pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); -// echo 'New sheet name is '.$pSheetName,PHP_EOL; -// echo 'Adjusted Range reference is '.$pRange,PHP_EOL; - $pSheet = $this->_workbook->getSheetByName($pSheetName); - } +// echo 'extractNamedRange('.$pRange.')
'; + if ($pSheet !== null) { + $pSheetName = $pSheet->getTitle(); +// echo 'Current sheet name is '.$pSheetName.'
'; +// echo 'Range reference is '.$pRange.'
'; + if (strpos($pRange, '!') !== false) { +// echo '$pRange reference includes sheet reference', PHP_EOL; + list($pSheetName, $pRange) = PHPExcel_Worksheet::extractSheetTitle($pRange, true); +// echo 'New sheet name is '.$pSheetName, PHP_EOL; +// echo 'Adjusted Range reference is '.$pRange, PHP_EOL; + $pSheet = $this->workbook->getSheetByName($pSheetName); + } - // Named range? - $namedRange = PHPExcel_NamedRange::resolveRange($pRange, $pSheet); - if ($namedRange !== NULL) { - $pSheet = $namedRange->getWorksheet(); -// echo 'Named Range '.$pRange.' ('; - $pRange = $namedRange->getRange(); - $splitRange = PHPExcel_Cell::splitRange($pRange); - // Convert row and column references - if (ctype_alpha($splitRange[0][0])) { - $pRange = $splitRange[0][0] . '1:' . $splitRange[0][1] . $namedRange->getWorksheet()->getHighestRow(); - } elseif(ctype_digit($splitRange[0][0])) { - $pRange = 'A' . $splitRange[0][0] . ':' . $namedRange->getWorksheet()->getHighestColumn() . $splitRange[0][1]; - } -// echo $pRange.') is in sheet '.$namedRange->getWorksheet()->getTitle().'
'; + // Named range? + $namedRange = PHPExcel_NamedRange::resolveRange($pRange, $pSheet); + if ($namedRange !== null) { + $pSheet = $namedRange->getWorksheet(); +// echo 'Named Range '.$pRange.' ('; + $pRange = $namedRange->getRange(); + $splitRange = PHPExcel_Cell::splitRange($pRange); + // Convert row and column references + if (ctype_alpha($splitRange[0][0])) { + $pRange = $splitRange[0][0] . '1:' . $splitRange[0][1] . $namedRange->getWorksheet()->getHighestRow(); + } elseif (ctype_digit($splitRange[0][0])) { + $pRange = 'A' . $splitRange[0][0] . ':' . $namedRange->getWorksheet()->getHighestColumn() . $splitRange[0][1]; + } +// echo $pRange.') is in sheet '.$namedRange->getWorksheet()->getTitle().'
'; -// if ($pSheet->getTitle() != $namedRange->getWorksheet()->getTitle()) { -// if (!$namedRange->getLocalOnly()) { -// $pSheet = $namedRange->getWorksheet(); -// } else { -// return $returnValue; -// } -// } - } else { - return PHPExcel_Calculation_Functions::REF(); - } +// if ($pSheet->getTitle() != $namedRange->getWorksheet()->getTitle()) { +// if (!$namedRange->getLocalOnly()) { +// $pSheet = $namedRange->getWorksheet(); +// } else { +// return $returnValue; +// } +// } + } else { + return PHPExcel_Calculation_Functions::REF(); + } - // Extract range - $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); -// var_dump($aReferences); - if (!isset($aReferences[1])) { - // Single cell (or single column or row) in range - list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($aReferences[0]); - $cellValue = NULL; - if ($pSheet->cellExists($aReferences[0])) { - $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); - } else { - $returnValue[$currentRow][$currentCol] = NULL; - } - } else { - // Extract cell data for all cells in the range - foreach ($aReferences as $reference) { - // Extract range - list($currentCol,$currentRow) = PHPExcel_Cell::coordinateFromString($reference); -// echo 'NAMED RANGE: $currentCol='.$currentCol.' $currentRow='.$currentRow.'
'; - $cellValue = NULL; - if ($pSheet->cellExists($reference)) { - $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); - } else { - $returnValue[$currentRow][$currentCol] = NULL; - } - } - } -// print_r($returnValue); -// echo '
'; - } + // Extract range + $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($pRange); +// var_dump($aReferences); + if (!isset($aReferences[1])) { + // Single cell (or single column or row) in range + list($currentCol, $currentRow) = PHPExcel_Cell::coordinateFromString($aReferences[0]); + $cellValue = null; + if ($pSheet->cellExists($aReferences[0])) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($aReferences[0])->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = null; + } + } else { + // Extract cell data for all cells in the range + foreach ($aReferences as $reference) { + // Extract range + list($currentCol, $currentRow) = PHPExcel_Cell::coordinateFromString($reference); +// echo 'NAMED RANGE: $currentCol='.$currentCol.' $currentRow='.$currentRow.'
'; + $cellValue = null; + if ($pSheet->cellExists($reference)) { + $returnValue[$currentRow][$currentCol] = $pSheet->getCell($reference)->getCalculatedValue($resetLog); + } else { + $returnValue[$currentRow][$currentCol] = null; + } + } + } +// print_r($returnValue); +// echo '
'; + } - // Return - return $returnValue; - } // function extractNamedRange() + return $returnValue; + } - /** - * Is a specific function implemented? - * - * @param string $pFunction Function Name - * @return boolean - */ - public function isImplemented($pFunction = '') { - $pFunction = strtoupper ($pFunction); - if (isset(self::$_PHPExcelFunctions[$pFunction])) { - return (self::$_PHPExcelFunctions[$pFunction]['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY'); - } else { - return FALSE; - } - } // function isImplemented() + /** + * Is a specific function implemented? + * + * @param string $pFunction Function Name + * @return boolean + */ + public function isImplemented($pFunction = '') + { + $pFunction = strtoupper($pFunction); + if (isset(self::$PHPExcelFunctions[$pFunction])) { + return (self::$PHPExcelFunctions[$pFunction]['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY'); + } else { + return false; + } + } - /** - * Get a list of all implemented functions as an array of function objects - * - * @return array of PHPExcel_Calculation_Function - */ - public function listFunctions() { - // Return value - $returnValue = array(); - // Loop functions - foreach(self::$_PHPExcelFunctions as $functionName => $function) { - if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { - $returnValue[$functionName] = new PHPExcel_Calculation_Function($function['category'], - $functionName, - $function['functionCall'] - ); - } - } + /** + * Get a list of all implemented functions as an array of function objects + * + * @return array of PHPExcel_Calculation_Function + */ + public function listFunctions() + { + $returnValue = array(); - // Return - return $returnValue; - } // function listFunctions() + foreach (self::$PHPExcelFunctions as $functionName => $function) { + if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { + $returnValue[$functionName] = new PHPExcel_Calculation_Function( + $function['category'], + $functionName, + $function['functionCall'] + ); + } + } + + return $returnValue; + } - /** - * Get a list of all Excel function names - * - * @return array - */ - public function listAllFunctionNames() { - return array_keys(self::$_PHPExcelFunctions); - } // function listAllFunctionNames() + /** + * Get a list of all Excel function names + * + * @return array + */ + public function listAllFunctionNames() + { + return array_keys(self::$PHPExcelFunctions); + } - /** - * Get a list of implemented Excel function names - * - * @return array - */ - public function listFunctionNames() { - // Return value - $returnValue = array(); - // Loop functions - foreach(self::$_PHPExcelFunctions as $functionName => $function) { - if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { - $returnValue[] = $functionName; - } - } - - // Return - return $returnValue; - } // function listFunctionNames() - -} // class PHPExcel_Calculation + /** + * Get a list of implemented Excel function names + * + * @return array + */ + public function listFunctionNames() + { + $returnValue = array(); + foreach (self::$PHPExcelFunctions as $functionName => $function) { + if ($function['functionCall'] != 'PHPExcel_Calculation_Functions::DUMMY') { + $returnValue[] = $functionName; + } + } + return $returnValue; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php index 908decfc4..b8d91cb6e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Database.php @@ -1,8 +1,18 @@ $criteriaName) { + $testCondition = array(); + $testConditionCount = 0; + foreach ($criteria as $row => $criterion) { + if ($criterion[$key] > '') { + $testCondition[] = '[:'.$criteriaName.']'.PHPExcel_Calculation_Functions::ifCondition($criterion[$key]); + $testConditionCount++; + } + } + if ($testConditionCount > 1) { + $testConditions[] = 'OR(' . implode(',', $testCondition) . ')'; + $testConditionsCount++; + } elseif ($testConditionCount == 1) { + $testConditions[] = $testCondition[0]; + $testConditionsCount++; + } + } + + if ($testConditionsCount > 1) { + $testConditionSet = 'AND(' . implode(',', $testConditions) . ')'; + } elseif ($testConditionsCount == 1) { + $testConditionSet = $testConditions[0]; + } + + // Loop through each row of the database + foreach ($database as $dataRow => $dataValues) { + // Substitute actual values from the database row for our [:placeholders] + $testConditionList = $testConditionSet; + foreach ($criteriaNames as $key => $criteriaName) { + $k = array_search($criteriaName, $fieldNames); + if (isset($dataValues[$k])) { + $dataValue = $dataValues[$k]; + $dataValue = (is_string($dataValue)) ? PHPExcel_Calculation::wrapResult(strtoupper($dataValue)) : $dataValue; + $testConditionList = str_replace('[:' . $criteriaName . ']', $dataValue, $testConditionList); + } + } + // evaluate the criteria against the row data + $result = PHPExcel_Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList); + // If the row failed to meet the criteria, remove it from the database + if (!$result) { + unset($database[$dataRow]); + } + } + + return $database; + } -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + private static function getFilteredColumn($database, $field, $criteria) + { + // reduce the database to a set of rows that match all the criteria + $database = self::filter($database, $criteria); + // extract an array of values for the requested column + $colData = array(); + foreach ($database as $row) { + $colData[] = $row[$field]; + } + + return $colData; + } + + /** + * DAVERAGE + * + * Averages the values in a column of a list or database that match conditions you specify. + * + * Excel Function: + * DAVERAGE(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DAVERAGE($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::AVERAGE( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DCOUNT + * + * Counts the cells that contain numbers in a column of a list or database that match conditions + * that you specify. + * + * Excel Function: + * DCOUNT(database,[field],criteria) + * + * Excel Function: + * DAVERAGE(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return integer + * + * @TODO The field argument is optional. If field is omitted, DCOUNT counts all records in the + * database that match the criteria. + * + */ + public static function DCOUNT($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::COUNT( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DCOUNTA + * + * Counts the nonblank cells in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DCOUNTA(database,[field],criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return integer + * + * @TODO The field argument is optional. If field is omitted, DCOUNTA counts all records in the + * database that match the criteria. + * + */ + public static function DCOUNTA($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // reduce the database to a set of rows that match all the criteria + $database = self::filter($database, $criteria); + // extract an array of values for the requested column + $colData = array(); + foreach ($database as $row) { + $colData[] = $row[$field]; + } + + // Return + return PHPExcel_Calculation_Statistical::COUNTA( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DGET + * + * Extracts a single value from a column of a list or database that matches conditions that you + * specify. + * + * Excel Function: + * DGET(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return mixed + * + */ + public static function DGET($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + $colData = self::getFilteredColumn($database, $field, $criteria); + if (count($colData) > 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return $colData[0]; + } + + + /** + * DMAX + * + * Returns the largest number in a column of a list or database that matches conditions you that + * specify. + * + * Excel Function: + * DMAX(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DMAX($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::MAX( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DMIN + * + * Returns the smallest number in a column of a list or database that matches conditions you that + * specify. + * + * Excel Function: + * DMIN(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DMIN($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::MIN( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DPRODUCT + * + * Multiplies the values in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DPRODUCT(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DPRODUCT($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_MathTrig::PRODUCT( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DSTDEV + * + * Estimates the standard deviation of a population based on a sample by using the numbers in a + * column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSTDEV(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSTDEV($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::STDEV( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DSTDEVP + * + * Calculates the standard deviation of a population based on the entire population by using the + * numbers in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSTDEVP(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSTDEVP($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::STDEVP( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DSUM + * + * Adds the numbers in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DSUM(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DSUM($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_MathTrig::SUM( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DVAR + * + * Estimates the variance of a population based on a sample by using the numbers in a column + * of a list or database that match conditions that you specify. + * + * Excel Function: + * DVAR(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DVAR($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::VARFunc( + self::getFilteredColumn($database, $field, $criteria) + ); + } + + + /** + * DVARP + * + * Calculates the variance of a population based on the entire population by using the numbers + * in a column of a list or database that match conditions that you specify. + * + * Excel Function: + * DVARP(database,field,criteria) + * + * @access public + * @category Database Functions + * @param mixed[] $database The range of cells that makes up the list or database. + * A database is a list of related data in which rows of related + * information are records, and columns of data are fields. The + * first row of the list contains labels for each column. + * @param string|integer $field Indicates which column is used in the function. Enter the + * column label enclosed between double quotation marks, such as + * "Age" or "Yield," or a number (without quotation marks) that + * represents the position of the column within the list: 1 for + * the first column, 2 for the second column, and so on. + * @param mixed[] $criteria The range of cells that contains the conditions you specify. + * You can use any range for the criteria argument, as long as it + * includes at least one column label and at least one cell below + * the column label in which you specify a condition for the + * column. + * @return float + * + */ + public static function DVARP($database, $field, $criteria) + { + $field = self::fieldExtract($database, $field); + if (is_null($field)) { + return null; + } + + // Return + return PHPExcel_Calculation_Statistical::VARP( + self::getFilteredColumn($database, $field, $criteria) + ); + } } - - -/** - * PHPExcel_Calculation_Database - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_Database { - - - /** - * __fieldExtract - * - * Extracts the column ID to use for the data field. - * - * @access private - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param mixed $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @return string|NULL - * - */ - private static function __fieldExtract($database,$field) { - $field = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($field)); - $fieldNames = array_map('strtoupper',array_shift($database)); - - if (is_numeric($field)) { - $keys = array_keys($fieldNames); - return $keys[$field-1]; - } - $key = array_search($field,$fieldNames); - return ($key) ? $key : NULL; - } - - /** - * __filter - * - * Parses the selection criteria, extracts the database rows that match those criteria, and - * returns that subset of rows. - * - * @access private - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return array of mixed - * - */ - private static function __filter($database,$criteria) { - $fieldNames = array_shift($database); - $criteriaNames = array_shift($criteria); - - // Convert the criteria into a set of AND/OR conditions with [:placeholders] - $testConditions = $testValues = array(); - $testConditionsCount = 0; - foreach($criteriaNames as $key => $criteriaName) { - $testCondition = array(); - $testConditionCount = 0; - foreach($criteria as $row => $criterion) { - if ($criterion[$key] > '') { - $testCondition[] = '[:'.$criteriaName.']'.PHPExcel_Calculation_Functions::_ifCondition($criterion[$key]); - $testConditionCount++; - } - } - if ($testConditionCount > 1) { - $testConditions[] = 'OR('.implode(',',$testCondition).')'; - $testConditionsCount++; - } elseif($testConditionCount == 1) { - $testConditions[] = $testCondition[0]; - $testConditionsCount++; - } - } - - if ($testConditionsCount > 1) { - $testConditionSet = 'AND('.implode(',',$testConditions).')'; - } elseif($testConditionsCount == 1) { - $testConditionSet = $testConditions[0]; - } - - // Loop through each row of the database - foreach($database as $dataRow => $dataValues) { - // Substitute actual values from the database row for our [:placeholders] - $testConditionList = $testConditionSet; - foreach($criteriaNames as $key => $criteriaName) { - $k = array_search($criteriaName,$fieldNames); - if (isset($dataValues[$k])) { - $dataValue = $dataValues[$k]; - $dataValue = (is_string($dataValue)) ? PHPExcel_Calculation::_wrapResult(strtoupper($dataValue)) : $dataValue; - $testConditionList = str_replace('[:'.$criteriaName.']',$dataValue,$testConditionList); - } - } - // evaluate the criteria against the row data - $result = PHPExcel_Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList); - // If the row failed to meet the criteria, remove it from the database - if (!$result) { - unset($database[$dataRow]); - } - } - - return $database; - } - - - /** - * DAVERAGE - * - * Averages the values in a column of a list or database that match conditions you specify. - * - * Excel Function: - * DAVERAGE(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DAVERAGE($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::AVERAGE($colData); - } // function DAVERAGE() - - - /** - * DCOUNT - * - * Counts the cells that contain numbers in a column of a list or database that match conditions - * that you specify. - * - * Excel Function: - * DCOUNT(database,[field],criteria) - * - * Excel Function: - * DAVERAGE(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return integer - * - * @TODO The field argument is optional. If field is omitted, DCOUNT counts all records in the - * database that match the criteria. - * - */ - public static function DCOUNT($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::COUNT($colData); - } // function DCOUNT() - - - /** - * DCOUNTA - * - * Counts the nonblank cells in a column of a list or database that match conditions that you specify. - * - * Excel Function: - * DCOUNTA(database,[field],criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return integer - * - * @TODO The field argument is optional. If field is omitted, DCOUNTA counts all records in the - * database that match the criteria. - * - */ - public static function DCOUNTA($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::COUNTA($colData); - } // function DCOUNTA() - - - /** - * DGET - * - * Extracts a single value from a column of a list or database that matches conditions that you - * specify. - * - * Excel Function: - * DGET(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return mixed - * - */ - public static function DGET($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - if (count($colData) > 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return $colData[0]; - } // function DGET() - - - /** - * DMAX - * - * Returns the largest number in a column of a list or database that matches conditions you that - * specify. - * - * Excel Function: - * DMAX(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DMAX($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::MAX($colData); - } // function DMAX() - - - /** - * DMIN - * - * Returns the smallest number in a column of a list or database that matches conditions you that - * specify. - * - * Excel Function: - * DMIN(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DMIN($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::MIN($colData); - } // function DMIN() - - - /** - * DPRODUCT - * - * Multiplies the values in a column of a list or database that match conditions that you specify. - * - * Excel Function: - * DPRODUCT(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DPRODUCT($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_MathTrig::PRODUCT($colData); - } // function DPRODUCT() - - - /** - * DSTDEV - * - * Estimates the standard deviation of a population based on a sample by using the numbers in a - * column of a list or database that match conditions that you specify. - * - * Excel Function: - * DSTDEV(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DSTDEV($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::STDEV($colData); - } // function DSTDEV() - - - /** - * DSTDEVP - * - * Calculates the standard deviation of a population based on the entire population by using the - * numbers in a column of a list or database that match conditions that you specify. - * - * Excel Function: - * DSTDEVP(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DSTDEVP($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::STDEVP($colData); - } // function DSTDEVP() - - - /** - * DSUM - * - * Adds the numbers in a column of a list or database that match conditions that you specify. - * - * Excel Function: - * DSUM(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DSUM($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_MathTrig::SUM($colData); - } // function DSUM() - - - /** - * DVAR - * - * Estimates the variance of a population based on a sample by using the numbers in a column - * of a list or database that match conditions that you specify. - * - * Excel Function: - * DVAR(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DVAR($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::VARFunc($colData); - } // function DVAR() - - - /** - * DVARP - * - * Calculates the variance of a population based on the entire population by using the numbers - * in a column of a list or database that match conditions that you specify. - * - * Excel Function: - * DVARP(database,field,criteria) - * - * @access public - * @category Database Functions - * @param mixed[] $database The range of cells that makes up the list or database. - * A database is a list of related data in which rows of related - * information are records, and columns of data are fields. The - * first row of the list contains labels for each column. - * @param string|integer $field Indicates which column is used in the function. Enter the - * column label enclosed between double quotation marks, such as - * "Age" or "Yield," or a number (without quotation marks) that - * represents the position of the column within the list: 1 for - * the first column, 2 for the second column, and so on. - * @param mixed[] $criteria The range of cells that contains the conditions you specify. - * You can use any range for the criteria argument, as long as it - * includes at least one column label and at least one cell below - * the column label in which you specify a condition for the - * column. - * @return float - * - */ - public static function DVARP($database,$field,$criteria) { - $field = self::__fieldExtract($database,$field); - if (is_null($field)) { - return NULL; - } - - // reduce the database to a set of rows that match all the criteria - $database = self::__filter($database,$criteria); - // extract an array of values for the requested column - $colData = array(); - foreach($database as $row) { - $colData[] = $row[$field]; - } - - // Return - return PHPExcel_Calculation_Statistical::VARP($colData); - } // function DVARP() - - -} // class PHPExcel_Calculation_Database diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php index 56c14079a..72f4c7a23 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/DateTime.php @@ -1,8 +1,18 @@ format('m'); + $oYear = (int) $PHPDateObject->format('Y'); + + $adjustmentMonthsString = (string) $adjustmentMonths; + if ($adjustmentMonths > 0) { + $adjustmentMonthsString = '+'.$adjustmentMonths; + } + if ($adjustmentMonths != 0) { + $PHPDateObject->modify($adjustmentMonthsString.' months'); + } + $nMonth = (int) $PHPDateObject->format('m'); + $nYear = (int) $PHPDateObject->format('Y'); + + $monthDiff = ($nMonth - $oMonth) + (($nYear - $oYear) * 12); + if ($monthDiff != $adjustmentMonths) { + $adjustDays = (int) $PHPDateObject->format('d'); + $adjustDaysString = '-'.$adjustDays.' days'; + $PHPDateObject->modify($adjustDaysString); + } + return $PHPDateObject; + } - /** - * _getTimeValue - * - * @param string $timeValue - * @return mixed Excel date/time serial value, or string if error - */ - private static function _getTimeValue($timeValue) { - $saveReturnDateType = PHPExcel_Calculation_Functions::getReturnDateType(); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $timeValue = self::TIMEVALUE($timeValue); - PHPExcel_Calculation_Functions::setReturnDateType($saveReturnDateType); - return $timeValue; - } // function _getTimeValue() + /** + * DATETIMENOW + * + * Returns the current date and time. + * The NOW function is useful when you need to display the current date and time on a worksheet or + * calculate a value based on the current date and time, and have that value updated each time you + * open the worksheet. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * and time format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * NOW() + * + * @access public + * @category Date/Time Functions + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATETIMENOW() + { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $retValue = false; + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + $retValue = (float) PHPExcel_Shared_Date::PHPToExcel(time()); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + $retValue = (integer) time(); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + $retValue = new DateTime(); + break; + } + date_default_timezone_set($saveTimeZone); + + return $retValue; + } - private static function _adjustDateByMonths($dateValue = 0, $adjustmentMonths = 0) { - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - $oMonth = (int) $PHPDateObject->format('m'); - $oYear = (int) $PHPDateObject->format('Y'); + /** + * DATENOW + * + * Returns the current date. + * The NOW function is useful when you need to display the current date and time on a worksheet or + * calculate a value based on the current date and time, and have that value updated each time you + * open the worksheet. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * and time format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TODAY() + * + * @access public + * @category Date/Time Functions + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATENOW() + { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); + $retValue = false; + $excelDateTime = floor(PHPExcel_Shared_Date::PHPToExcel(time())); + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + $retValue = (float) $excelDateTime; + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + $retValue = (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateTime); + break; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + $retValue = PHPExcel_Shared_Date::ExcelToPHPObject($excelDateTime); + break; + } + date_default_timezone_set($saveTimeZone); - $adjustmentMonthsString = (string) $adjustmentMonths; - if ($adjustmentMonths > 0) { - $adjustmentMonthsString = '+'.$adjustmentMonths; - } - if ($adjustmentMonths != 0) { - $PHPDateObject->modify($adjustmentMonthsString.' months'); - } - $nMonth = (int) $PHPDateObject->format('m'); - $nYear = (int) $PHPDateObject->format('Y'); - - $monthDiff = ($nMonth - $oMonth) + (($nYear - $oYear) * 12); - if ($monthDiff != $adjustmentMonths) { - $adjustDays = (int) $PHPDateObject->format('d'); - $adjustDaysString = '-'.$adjustDays.' days'; - $PHPDateObject->modify($adjustDaysString); - } - return $PHPDateObject; - } // function _adjustDateByMonths() + return $retValue; + } - /** - * DATETIMENOW - * - * Returns the current date and time. - * The NOW function is useful when you need to display the current date and time on a worksheet or - * calculate a value based on the current date and time, and have that value updated each time you - * open the worksheet. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date - * and time format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * NOW() - * - * @access public - * @category Date/Time Functions - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function DATETIMENOW() { - $saveTimeZone = date_default_timezone_get(); - date_default_timezone_set('UTC'); - $retValue = False; - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - $retValue = (float) PHPExcel_Shared_Date::PHPToExcel(time()); - break; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - $retValue = (integer) time(); - break; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - $retValue = new DateTime(); - break; - } - date_default_timezone_set($saveTimeZone); + /** + * DATE + * + * The DATE function returns a value that represents a particular date. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * DATE(year,month,day) + * + * PHPExcel is a lot more forgiving than MS Excel when passing non numeric values to this function. + * A Month name or abbreviation (English only at this point) such as 'January' or 'Jan' will still be accepted, + * as will a day value with a suffix (e.g. '21st' rather than simply 21); again only English language. + * + * @access public + * @category Date/Time Functions + * @param integer $year The value of the year argument can include one to four digits. + * Excel interprets the year argument according to the configured + * date system: 1900 or 1904. + * If year is between 0 (zero) and 1899 (inclusive), Excel adds that + * value to 1900 to calculate the year. For example, DATE(108,1,2) + * returns January 2, 2008 (1900+108). + * If year is between 1900 and 9999 (inclusive), Excel uses that + * value as the year. For example, DATE(2008,1,2) returns January 2, + * 2008. + * If year is less than 0 or is 10000 or greater, Excel returns the + * #NUM! error value. + * @param integer $month A positive or negative integer representing the month of the year + * from 1 to 12 (January to December). + * If month is greater than 12, month adds that number of months to + * the first month in the year specified. For example, DATE(2008,14,2) + * returns the serial number representing February 2, 2009. + * If month is less than 1, month subtracts the magnitude of that + * number of months, plus 1, from the first month in the year + * specified. For example, DATE(2008,-3,2) returns the serial number + * representing September 2, 2007. + * @param integer $day A positive or negative integer representing the day of the month + * from 1 to 31. + * If day is greater than the number of days in the month specified, + * day adds that number of days to the first day in the month. For + * example, DATE(2008,1,35) returns the serial number representing + * February 4, 2008. + * If day is less than 1, day subtracts the magnitude that number of + * days, plus one, from the first day of the month specified. For + * example, DATE(2008,1,-15) returns the serial number representing + * December 16, 2007. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATE($year = 0, $month = 1, $day = 1) + { + $year = PHPExcel_Calculation_Functions::flattenSingleValue($year); + $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); + $day = PHPExcel_Calculation_Functions::flattenSingleValue($day); - return $retValue; - } // function DATETIMENOW() - - - /** - * DATENOW - * - * Returns the current date. - * The NOW function is useful when you need to display the current date and time on a worksheet or - * calculate a value based on the current date and time, and have that value updated each time you - * open the worksheet. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date - * and time format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * TODAY() - * - * @access public - * @category Date/Time Functions - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function DATENOW() { - $saveTimeZone = date_default_timezone_get(); - date_default_timezone_set('UTC'); - $retValue = False; - $excelDateTime = floor(PHPExcel_Shared_Date::PHPToExcel(time())); - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - $retValue = (float) $excelDateTime; - break; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - $retValue = (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateTime); - break; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - $retValue = PHPExcel_Shared_Date::ExcelToPHPObject($excelDateTime); - break; - } - date_default_timezone_set($saveTimeZone); - - return $retValue; - } // function DATENOW() - - - /** - * DATE - * - * The DATE function returns a value that represents a particular date. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date - * format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * DATE(year,month,day) - * - * PHPExcel is a lot more forgiving than MS Excel when passing non numeric values to this function. - * A Month name or abbreviation (English only at this point) such as 'January' or 'Jan' will still be accepted, - * as will a day value with a suffix (e.g. '21st' rather than simply 21); again only English language. - * - * @access public - * @category Date/Time Functions - * @param integer $year The value of the year argument can include one to four digits. - * Excel interprets the year argument according to the configured - * date system: 1900 or 1904. - * If year is between 0 (zero) and 1899 (inclusive), Excel adds that - * value to 1900 to calculate the year. For example, DATE(108,1,2) - * returns January 2, 2008 (1900+108). - * If year is between 1900 and 9999 (inclusive), Excel uses that - * value as the year. For example, DATE(2008,1,2) returns January 2, - * 2008. - * If year is less than 0 or is 10000 or greater, Excel returns the - * #NUM! error value. - * @param integer $month A positive or negative integer representing the month of the year - * from 1 to 12 (January to December). - * If month is greater than 12, month adds that number of months to - * the first month in the year specified. For example, DATE(2008,14,2) - * returns the serial number representing February 2, 2009. - * If month is less than 1, month subtracts the magnitude of that - * number of months, plus 1, from the first month in the year - * specified. For example, DATE(2008,-3,2) returns the serial number - * representing September 2, 2007. - * @param integer $day A positive or negative integer representing the day of the month - * from 1 to 31. - * If day is greater than the number of days in the month specified, - * day adds that number of days to the first day in the month. For - * example, DATE(2008,1,35) returns the serial number representing - * February 4, 2008. - * If day is less than 1, day subtracts the magnitude that number of - * days, plus one, from the first day of the month specified. For - * example, DATE(2008,1,-15) returns the serial number representing - * December 16, 2007. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function DATE($year = 0, $month = 1, $day = 1) { - $year = PHPExcel_Calculation_Functions::flattenSingleValue($year); - $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); - $day = PHPExcel_Calculation_Functions::flattenSingleValue($day); - - if (($month !== NULL) && (!is_numeric($month))) { + if (($month !== null) && (!is_numeric($month))) { $month = PHPExcel_Shared_Date::monthStringToNumber($month); - } + } - if (($day !== NULL) && (!is_numeric($day))) { + if (($day !== null) && (!is_numeric($day))) { $day = PHPExcel_Shared_Date::dayStringToNumber($day); - } + } - $year = ($year !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($year) : 0; - $month = ($month !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($month) : 0; - $day = ($day !== NULL) ? PHPExcel_Shared_String::testStringAsNumeric($day) : 0; - if ((!is_numeric($year)) || - (!is_numeric($month)) || - (!is_numeric($day))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $year = (integer) $year; - $month = (integer) $month; - $day = (integer) $day; + $year = ($year !== null) ? PHPExcel_Shared_String::testStringAsNumeric($year) : 0; + $month = ($month !== null) ? PHPExcel_Shared_String::testStringAsNumeric($month) : 0; + $day = ($day !== null) ? PHPExcel_Shared_String::testStringAsNumeric($day) : 0; + if ((!is_numeric($year)) || + (!is_numeric($month)) || + (!is_numeric($day))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $year = (integer) $year; + $month = (integer) $month; + $day = (integer) $day; - $baseYear = PHPExcel_Shared_Date::getExcelCalendar(); - // Validate parameters - if ($year < ($baseYear-1900)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((($baseYear-1900) != 0) && ($year < $baseYear) && ($year >= 1900)) { - return PHPExcel_Calculation_Functions::NaN(); - } + $baseYear = PHPExcel_Shared_Date::getExcelCalendar(); + // Validate parameters + if ($year < ($baseYear-1900)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((($baseYear-1900) != 0) && ($year < $baseYear) && ($year >= 1900)) { + return PHPExcel_Calculation_Functions::NaN(); + } - if (($year < $baseYear) && ($year >= ($baseYear-1900))) { - $year += 1900; - } + if (($year < $baseYear) && ($year >= ($baseYear-1900))) { + $year += 1900; + } - if ($month < 1) { - // Handle year/month adjustment if month < 1 - --$month; - $year += ceil($month / 12) - 1; - $month = 13 - abs($month % 12); - } elseif ($month > 12) { - // Handle year/month adjustment if month > 12 - $year += floor($month / 12); - $month = ($month % 12); - } + if ($month < 1) { + // Handle year/month adjustment if month < 1 + --$month; + $year += ceil($month / 12) - 1; + $month = 13 - abs($month % 12); + } elseif ($month > 12) { + // Handle year/month adjustment if month > 12 + $year += floor($month / 12); + $month = ($month % 12); + } - // Re-validate the year parameter after adjustments - if (($year < $baseYear) || ($year >= 10000)) { - return PHPExcel_Calculation_Functions::NaN(); - } + // Re-validate the year parameter after adjustments + if (($year < $baseYear) || ($year >= 10000)) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day); - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) $excelDateValue; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return PHPExcel_Shared_Date::ExcelToPHPObject($excelDateValue); - } - } // function DATE() + // Execute function + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day); + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return PHPExcel_Shared_Date::ExcelToPHPObject($excelDateValue); + } + } - /** - * TIME - * - * The TIME function returns a value that represents a particular time. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time - * format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * TIME(hour,minute,second) - * - * @access public - * @category Date/Time Functions - * @param integer $hour A number from 0 (zero) to 32767 representing the hour. - * Any value greater than 23 will be divided by 24 and the remainder - * will be treated as the hour value. For example, TIME(27,0,0) = - * TIME(3,0,0) = .125 or 3:00 AM. - * @param integer $minute A number from 0 to 32767 representing the minute. - * Any value greater than 59 will be converted to hours and minutes. - * For example, TIME(0,750,0) = TIME(12,30,0) = .520833 or 12:30 PM. - * @param integer $second A number from 0 to 32767 representing the second. - * Any value greater than 59 will be converted to hours, minutes, - * and seconds. For example, TIME(0,0,2000) = TIME(0,33,22) = .023148 - * or 12:33:20 AM - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function TIME($hour = 0, $minute = 0, $second = 0) { - $hour = PHPExcel_Calculation_Functions::flattenSingleValue($hour); - $minute = PHPExcel_Calculation_Functions::flattenSingleValue($minute); - $second = PHPExcel_Calculation_Functions::flattenSingleValue($second); + /** + * TIME + * + * The TIME function returns a value that represents a particular time. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TIME(hour,minute,second) + * + * @access public + * @category Date/Time Functions + * @param integer $hour A number from 0 (zero) to 32767 representing the hour. + * Any value greater than 23 will be divided by 24 and the remainder + * will be treated as the hour value. For example, TIME(27,0,0) = + * TIME(3,0,0) = .125 or 3:00 AM. + * @param integer $minute A number from 0 to 32767 representing the minute. + * Any value greater than 59 will be converted to hours and minutes. + * For example, TIME(0,750,0) = TIME(12,30,0) = .520833 or 12:30 PM. + * @param integer $second A number from 0 to 32767 representing the second. + * Any value greater than 59 will be converted to hours, minutes, + * and seconds. For example, TIME(0,0,2000) = TIME(0,33,22) = .023148 + * or 12:33:20 AM + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function TIME($hour = 0, $minute = 0, $second = 0) + { + $hour = PHPExcel_Calculation_Functions::flattenSingleValue($hour); + $minute = PHPExcel_Calculation_Functions::flattenSingleValue($minute); + $second = PHPExcel_Calculation_Functions::flattenSingleValue($second); - if ($hour == '') { $hour = 0; } - if ($minute == '') { $minute = 0; } - if ($second == '') { $second = 0; } + if ($hour == '') { + $hour = 0; + } + if ($minute == '') { + $minute = 0; + } + if ($second == '') { + $second = 0; + } - if ((!is_numeric($hour)) || (!is_numeric($minute)) || (!is_numeric($second))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $hour = (integer) $hour; - $minute = (integer) $minute; - $second = (integer) $second; + if ((!is_numeric($hour)) || (!is_numeric($minute)) || (!is_numeric($second))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $hour = (integer) $hour; + $minute = (integer) $minute; + $second = (integer) $second; - if ($second < 0) { - $minute += floor($second / 60); - $second = 60 - abs($second % 60); - if ($second == 60) { $second = 0; } - } elseif ($second >= 60) { - $minute += floor($second / 60); - $second = $second % 60; - } - if ($minute < 0) { - $hour += floor($minute / 60); - $minute = 60 - abs($minute % 60); - if ($minute == 60) { $minute = 0; } - } elseif ($minute >= 60) { - $hour += floor($minute / 60); - $minute = $minute % 60; - } + if ($second < 0) { + $minute += floor($second / 60); + $second = 60 - abs($second % 60); + if ($second == 60) { + $second = 0; + } + } elseif ($second >= 60) { + $minute += floor($second / 60); + $second = $second % 60; + } + if ($minute < 0) { + $hour += floor($minute / 60); + $minute = 60 - abs($minute % 60); + if ($minute == 60) { + $minute = 0; + } + } elseif ($minute >= 60) { + $hour += floor($minute / 60); + $minute = $minute % 60; + } - if ($hour > 23) { - $hour = $hour % 24; - } elseif ($hour < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } + if ($hour > 23) { + $hour = $hour % 24; + } elseif ($hour < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - $date = 0; - $calendar = PHPExcel_Shared_Date::getExcelCalendar(); - if ($calendar != PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900) { - $date = 1; - } - return (float) PHPExcel_Shared_Date::FormattedPHPToExcel($calendar, 1, $date, $hour, $minute, $second); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::FormattedPHPToExcel(1970, 1, 1, $hour, $minute, $second)); // -2147468400; // -2147472000 + 3600 - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - $dayAdjust = 0; - if ($hour < 0) { - $dayAdjust = floor($hour / 24); - $hour = 24 - abs($hour % 24); - if ($hour == 24) { $hour = 0; } - } elseif ($hour >= 24) { - $dayAdjust = floor($hour / 24); - $hour = $hour % 24; - } - $phpDateObject = new DateTime('1900-01-01 '.$hour.':'.$minute.':'.$second); - if ($dayAdjust != 0) { - $phpDateObject->modify($dayAdjust.' days'); - } - return $phpDateObject; - } - } // function TIME() + // Execute function + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + $date = 0; + $calendar = PHPExcel_Shared_Date::getExcelCalendar(); + if ($calendar != PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900) { + $date = 1; + } + return (float) PHPExcel_Shared_Date::FormattedPHPToExcel($calendar, 1, $date, $hour, $minute, $second); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::FormattedPHPToExcel(1970, 1, 1, $hour, $minute, $second)); // -2147468400; // -2147472000 + 3600 + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + $dayAdjust = 0; + if ($hour < 0) { + $dayAdjust = floor($hour / 24); + $hour = 24 - abs($hour % 24); + if ($hour == 24) { + $hour = 0; + } + } elseif ($hour >= 24) { + $dayAdjust = floor($hour / 24); + $hour = $hour % 24; + } + $phpDateObject = new DateTime('1900-01-01 '.$hour.':'.$minute.':'.$second); + if ($dayAdjust != 0) { + $phpDateObject->modify($dayAdjust.' days'); + } + return $phpDateObject; + } + } - /** - * DATEVALUE - * - * Returns a value that represents a particular date. - * Use DATEVALUE to convert a date represented by a text string to an Excel or PHP date/time stamp - * value. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date - * format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * DATEVALUE(dateValue) - * - * @access public - * @category Date/Time Functions - * @param string $dateValue Text that represents a date in a Microsoft Excel date format. - * For example, "1/30/2008" or "30-Jan-2008" are text strings within - * quotation marks that represent dates. Using the default date - * system in Excel for Windows, date_text must represent a date from - * January 1, 1900, to December 31, 9999. Using the default date - * system in Excel for the Macintosh, date_text must represent a date - * from January 1, 1904, to December 31, 9999. DATEVALUE returns the - * #VALUE! error value if date_text is out of this range. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function DATEVALUE($dateValue = 1) { - $dateValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($dateValue),'"'); - // Strip any ordinals because they're allowed in Excel (English only) - $dateValue = preg_replace('/(\d)(st|nd|rd|th)([ -\/])/Ui','$1$3',$dateValue); - // Convert separators (/ . or space) to hyphens (should also handle dot used for ordinals in some countries, e.g. Denmark, Germany) - $dateValue = str_replace(array('/','.','-',' '),array(' ',' ',' ',' '),$dateValue); + /** + * DATEVALUE + * + * Returns a value that represents a particular date. + * Use DATEVALUE to convert a date represented by a text string to an Excel or PHP date/time stamp + * value. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the date + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * DATEVALUE(dateValue) + * + * @access public + * @category Date/Time Functions + * @param string $dateValue Text that represents a date in a Microsoft Excel date format. + * For example, "1/30/2008" or "30-Jan-2008" are text strings within + * quotation marks that represent dates. Using the default date + * system in Excel for Windows, date_text must represent a date from + * January 1, 1900, to December 31, 9999. Using the default date + * system in Excel for the Macintosh, date_text must represent a date + * from January 1, 1904, to December 31, 9999. DATEVALUE returns the + * #VALUE! error value if date_text is out of this range. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function DATEVALUE($dateValue = 1) + { + $dateValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($dateValue), '"'); + // Strip any ordinals because they're allowed in Excel (English only) + $dateValue = preg_replace('/(\d)(st|nd|rd|th)([ -\/])/Ui', '$1$3', $dateValue); + // Convert separators (/ . or space) to hyphens (should also handle dot used for ordinals in some countries, e.g. Denmark, Germany) + $dateValue = str_replace(array('/', '.', '-', ' '), array(' ', ' ', ' ', ' '), $dateValue); - $yearFound = false; - $t1 = explode(' ',$dateValue); - foreach($t1 as &$t) { - if ((is_numeric($t)) && ($t > 31)) { - if ($yearFound) { - return PHPExcel_Calculation_Functions::VALUE(); - } else { - if ($t < 100) { $t += 1900; } - $yearFound = true; - } - } - } - if ((count($t1) == 1) && (strpos($t,':') != false)) { - // We've been fed a time value without any date - return 0.0; - } elseif (count($t1) == 2) { - // We only have two parts of the date: either day/month or month/year - if ($yearFound) { - array_unshift($t1,1); - } else { - array_push($t1,date('Y')); - } - } - unset($t); - $dateValue = implode(' ',$t1); + $yearFound = false; + $t1 = explode(' ', $dateValue); + foreach ($t1 as &$t) { + if ((is_numeric($t)) && ($t > 31)) { + if ($yearFound) { + return PHPExcel_Calculation_Functions::VALUE(); + } else { + if ($t < 100) { + $t += 1900; + } + $yearFound = true; + } + } + } + if ((count($t1) == 1) && (strpos($t, ':') != false)) { + // We've been fed a time value without any date + return 0.0; + } elseif (count($t1) == 2) { + // We only have two parts of the date: either day/month or month/year + if ($yearFound) { + array_unshift($t1, 1); + } else { + array_push($t1, date('Y')); + } + } + unset($t); + $dateValue = implode(' ', $t1); - $PHPDateArray = date_parse($dateValue); - if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { - $testVal1 = strtok($dateValue,'- '); - if ($testVal1 !== False) { - $testVal2 = strtok('- '); - if ($testVal2 !== False) { - $testVal3 = strtok('- '); - if ($testVal3 === False) { - $testVal3 = strftime('%Y'); - } - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - $PHPDateArray = date_parse($testVal1.'-'.$testVal2.'-'.$testVal3); - if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { - $PHPDateArray = date_parse($testVal2.'-'.$testVal1.'-'.$testVal3); - if (($PHPDateArray === False) || ($PHPDateArray['error_count'] > 0)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - } + $PHPDateArray = date_parse($dateValue); + if (($PHPDateArray === false) || ($PHPDateArray['error_count'] > 0)) { + $testVal1 = strtok($dateValue, '- '); + if ($testVal1 !== false) { + $testVal2 = strtok('- '); + if ($testVal2 !== false) { + $testVal3 = strtok('- '); + if ($testVal3 === false) { + $testVal3 = strftime('%Y'); + } + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $PHPDateArray = date_parse($testVal1.'-'.$testVal2.'-'.$testVal3); + if (($PHPDateArray === false) || ($PHPDateArray['error_count'] > 0)) { + $PHPDateArray = date_parse($testVal2.'-'.$testVal1.'-'.$testVal3); + if (($PHPDateArray === false) || ($PHPDateArray['error_count'] > 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + } - if (($PHPDateArray !== False) && ($PHPDateArray['error_count'] == 0)) { - // Execute function - if ($PHPDateArray['year'] == '') { $PHPDateArray['year'] = strftime('%Y'); } - if ($PHPDateArray['year'] < 1900) - return PHPExcel_Calculation_Functions::VALUE(); - if ($PHPDateArray['month'] == '') { $PHPDateArray['month'] = strftime('%m'); } - if ($PHPDateArray['day'] == '') { $PHPDateArray['day'] = strftime('%d'); } - $excelDateValue = floor(PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second'])); + if (($PHPDateArray !== false) && ($PHPDateArray['error_count'] == 0)) { + // Execute function + if ($PHPDateArray['year'] == '') { + $PHPDateArray['year'] = strftime('%Y'); + } + if ($PHPDateArray['year'] < 1900) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if ($PHPDateArray['month'] == '') { + $PHPDateArray['month'] = strftime('%m'); + } + if ($PHPDateArray['day'] == '') { + $PHPDateArray['day'] = strftime('%d'); + } + $excelDateValue = floor( + PHPExcel_Shared_Date::FormattedPHPToExcel( + $PHPDateArray['year'], + $PHPDateArray['month'], + $PHPDateArray['day'], + $PHPDateArray['hour'], + $PHPDateArray['minute'], + $PHPDateArray['second'] + ) + ); - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) $excelDateValue; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return new DateTime($PHPDateArray['year'].'-'.$PHPDateArray['month'].'-'.$PHPDateArray['day'].' 00:00:00'); - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function DATEVALUE() + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP($excelDateValue); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return new DateTime($PHPDateArray['year'].'-'.$PHPDateArray['month'].'-'.$PHPDateArray['day'].' 00:00:00'); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * TIMEVALUE - * - * Returns a value that represents a particular time. - * Use TIMEVALUE to convert a time represented by a text string to an Excel or PHP date/time stamp - * value. - * - * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time - * format of your regional settings. PHPExcel does not change cell formatting in this way. - * - * Excel Function: - * TIMEVALUE(timeValue) - * - * @access public - * @category Date/Time Functions - * @param string $timeValue A text string that represents a time in any one of the Microsoft - * Excel time formats; for example, "6:45 PM" and "18:45" text strings - * within quotation marks that represent time. - * Date information in time_text is ignored. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function TIMEVALUE($timeValue) { - $timeValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($timeValue),'"'); - $timeValue = str_replace(array('/','.'),array('-','-'),$timeValue); + /** + * TIMEVALUE + * + * Returns a value that represents a particular time. + * Use TIMEVALUE to convert a time represented by a text string to an Excel or PHP date/time stamp + * value. + * + * NOTE: When used in a Cell Formula, MS Excel changes the cell format so that it matches the time + * format of your regional settings. PHPExcel does not change cell formatting in this way. + * + * Excel Function: + * TIMEVALUE(timeValue) + * + * @access public + * @category Date/Time Functions + * @param string $timeValue A text string that represents a time in any one of the Microsoft + * Excel time formats; for example, "6:45 PM" and "18:45" text strings + * within quotation marks that represent time. + * Date information in time_text is ignored. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function TIMEVALUE($timeValue) + { + $timeValue = trim(PHPExcel_Calculation_Functions::flattenSingleValue($timeValue), '"'); + $timeValue = str_replace(array('/', '.'), array('-', '-'), $timeValue); - $PHPDateArray = date_parse($timeValue); - if (($PHPDateArray !== False) && ($PHPDateArray['error_count'] == 0)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel($PHPDateArray['year'],$PHPDateArray['month'],$PHPDateArray['day'],$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']); - } else { - $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel(1900,1,1,$PHPDateArray['hour'],$PHPDateArray['minute'],$PHPDateArray['second']) - 1; - } + $PHPDateArray = date_parse($timeValue); + if (($PHPDateArray !== false) && ($PHPDateArray['error_count'] == 0)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel( + $PHPDateArray['year'], + $PHPDateArray['month'], + $PHPDateArray['day'], + $PHPDateArray['hour'], + $PHPDateArray['minute'], + $PHPDateArray['second'] + ); + } else { + $excelDateValue = PHPExcel_Shared_Date::FormattedPHPToExcel(1900, 1, 1, $PHPDateArray['hour'], $PHPDateArray['minute'], $PHPDateArray['second']) - 1; + } - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) $excelDateValue; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) $phpDateValue = PHPExcel_Shared_Date::ExcelToPHP($excelDateValue+25569) - 3600;; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return new DateTime('1900-01-01 '.$PHPDateArray['hour'].':'.$PHPDateArray['minute'].':'.$PHPDateArray['second']); - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TIMEVALUE() + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) $excelDateValue; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) $phpDateValue = PHPExcel_Shared_Date::ExcelToPHP($excelDateValue+25569) - 3600; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return new DateTime('1900-01-01 '.$PHPDateArray['hour'].':'.$PHPDateArray['minute'].':'.$PHPDateArray['second']); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * DATEDIF - * - * @param mixed $startDate Excel date serial value, PHP date/time stamp, PHP DateTime object - * or a standard date string - * @param mixed $endDate Excel date serial value, PHP date/time stamp, PHP DateTime object - * or a standard date string - * @param string $unit - * @return integer Interval between the dates - */ - public static function DATEDIF($startDate = 0, $endDate = 0, $unit = 'D') { - $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); - $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); - $unit = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($unit)); + /** + * DATEDIF + * + * @param mixed $startDate Excel date serial value, PHP date/time stamp, PHP DateTime object + * or a standard date string + * @param mixed $endDate Excel date serial value, PHP date/time stamp, PHP DateTime object + * or a standard date string + * @param string $unit + * @return integer Interval between the dates + */ + public static function DATEDIF($startDate = 0, $endDate = 0, $unit = 'D') + { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + $unit = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($unit)); - if (is_string($startDate = self::_getDateValue($startDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($endDate = self::_getDateValue($endDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (is_string($startDate = self::getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } - // Validate parameters - if ($startDate >= $endDate) { - return PHPExcel_Calculation_Functions::NaN(); - } + // Validate parameters + if ($startDate >= $endDate) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $difference = $endDate - $startDate; + // Execute function + $difference = $endDate - $startDate; - $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); - $startDays = $PHPStartDateObject->format('j'); - $startMonths = $PHPStartDateObject->format('n'); - $startYears = $PHPStartDateObject->format('Y'); + $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); + $startDays = $PHPStartDateObject->format('j'); + $startMonths = $PHPStartDateObject->format('n'); + $startYears = $PHPStartDateObject->format('Y'); - $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); - $endDays = $PHPEndDateObject->format('j'); - $endMonths = $PHPEndDateObject->format('n'); - $endYears = $PHPEndDateObject->format('Y'); + $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + $endDays = $PHPEndDateObject->format('j'); + $endMonths = $PHPEndDateObject->format('n'); + $endYears = $PHPEndDateObject->format('Y'); - $retVal = PHPExcel_Calculation_Functions::NaN(); - switch ($unit) { - case 'D': - $retVal = intval($difference); - break; - case 'M': - $retVal = intval($endMonths - $startMonths) + (intval($endYears - $startYears) * 12); - // We're only interested in full months - if ($endDays < $startDays) { - --$retVal; - } - break; - case 'Y': - $retVal = intval($endYears - $startYears); - // We're only interested in full months - if ($endMonths < $startMonths) { - --$retVal; - } elseif (($endMonths == $startMonths) && ($endDays < $startDays)) { - --$retVal; - } - break; - case 'MD': - if ($endDays < $startDays) { - $retVal = $endDays; - $PHPEndDateObject->modify('-'.$endDays.' days'); - $adjustDays = $PHPEndDateObject->format('j'); - if ($adjustDays > $startDays) { - $retVal += ($adjustDays - $startDays); - } - } else { - $retVal = $endDays - $startDays; - } - break; - case 'YM': - $retVal = intval($endMonths - $startMonths); - if ($retVal < 0) $retVal = 12 + $retVal; - // We're only interested in full months - if ($endDays < $startDays) { - --$retVal; - } - break; - case 'YD': - $retVal = intval($difference); - if ($endYears > $startYears) { - while ($endYears > $startYears) { - $PHPEndDateObject->modify('-1 year'); - $endYears = $PHPEndDateObject->format('Y'); - } - $retVal = $PHPEndDateObject->format('z') - $PHPStartDateObject->format('z'); - if ($retVal < 0) { $retVal += 365; } - } - break; - default: - $retVal = PHPExcel_Calculation_Functions::NaN(); - } - return $retVal; - } // function DATEDIF() + $retVal = PHPExcel_Calculation_Functions::NaN(); + switch ($unit) { + case 'D': + $retVal = intval($difference); + break; + case 'M': + $retVal = intval($endMonths - $startMonths) + (intval($endYears - $startYears) * 12); + // We're only interested in full months + if ($endDays < $startDays) { + --$retVal; + } + break; + case 'Y': + $retVal = intval($endYears - $startYears); + // We're only interested in full months + if ($endMonths < $startMonths) { + --$retVal; + } elseif (($endMonths == $startMonths) && ($endDays < $startDays)) { + --$retVal; + } + break; + case 'MD': + if ($endDays < $startDays) { + $retVal = $endDays; + $PHPEndDateObject->modify('-'.$endDays.' days'); + $adjustDays = $PHPEndDateObject->format('j'); + if ($adjustDays > $startDays) { + $retVal += ($adjustDays - $startDays); + } + } else { + $retVal = $endDays - $startDays; + } + break; + case 'YM': + $retVal = intval($endMonths - $startMonths); + if ($retVal < 0) { + $retVal += 12; + } + // We're only interested in full months + if ($endDays < $startDays) { + --$retVal; + } + break; + case 'YD': + $retVal = intval($difference); + if ($endYears > $startYears) { + while ($endYears > $startYears) { + $PHPEndDateObject->modify('-1 year'); + $endYears = $PHPEndDateObject->format('Y'); + } + $retVal = $PHPEndDateObject->format('z') - $PHPStartDateObject->format('z'); + if ($retVal < 0) { + $retVal += 365; + } + } + break; + default: + $retVal = PHPExcel_Calculation_Functions::NaN(); + } + return $retVal; + } - /** - * DAYS360 - * - * Returns the number of days between two dates based on a 360-day year (twelve 30-day months), - * which is used in some accounting calculations. Use this function to help compute payments if - * your accounting system is based on twelve 30-day months. - * - * Excel Function: - * DAYS360(startDate,endDate[,method]) - * - * @access public - * @category Date/Time Functions - * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param boolean $method US or European Method - * FALSE or omitted: U.S. (NASD) method. If the starting date is - * the last day of a month, it becomes equal to the 30th of the - * same month. If the ending date is the last day of a month and - * the starting date is earlier than the 30th of a month, the - * ending date becomes equal to the 1st of the next month; - * otherwise the ending date becomes equal to the 30th of the - * same month. - * TRUE: European method. Starting dates and ending dates that - * occur on the 31st of a month become equal to the 30th of the - * same month. - * @return integer Number of days between start date and end date - */ - public static function DAYS360($startDate = 0, $endDate = 0, $method = false) { - $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); - $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + /** + * DAYS360 + * + * Returns the number of days between two dates based on a 360-day year (twelve 30-day months), + * which is used in some accounting calculations. Use this function to help compute payments if + * your accounting system is based on twelve 30-day months. + * + * Excel Function: + * DAYS360(startDate,endDate[,method]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param boolean $method US or European Method + * FALSE or omitted: U.S. (NASD) method. If the starting date is + * the last day of a month, it becomes equal to the 30th of the + * same month. If the ending date is the last day of a month and + * the starting date is earlier than the 30th of a month, the + * ending date becomes equal to the 1st of the next month; + * otherwise the ending date becomes equal to the 30th of the + * same month. + * TRUE: European method. Starting dates and ending dates that + * occur on the 31st of a month become equal to the 30th of the + * same month. + * @return integer Number of days between start date and end date + */ + public static function DAYS360($startDate = 0, $endDate = 0, $method = false) + { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); - if (is_string($startDate = self::_getDateValue($startDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($endDate = self::_getDateValue($endDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (is_string($startDate = self::getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } - if (!is_bool($method)) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (!is_bool($method)) { + return PHPExcel_Calculation_Functions::VALUE(); + } - // Execute function - $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); - $startDay = $PHPStartDateObject->format('j'); - $startMonth = $PHPStartDateObject->format('n'); - $startYear = $PHPStartDateObject->format('Y'); + // Execute function + $PHPStartDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($startDate); + $startDay = $PHPStartDateObject->format('j'); + $startMonth = $PHPStartDateObject->format('n'); + $startYear = $PHPStartDateObject->format('Y'); - $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); - $endDay = $PHPEndDateObject->format('j'); - $endMonth = $PHPEndDateObject->format('n'); - $endYear = $PHPEndDateObject->format('Y'); + $PHPEndDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + $endDay = $PHPEndDateObject->format('j'); + $endMonth = $PHPEndDateObject->format('n'); + $endYear = $PHPEndDateObject->format('Y'); - return self::_dateDiff360($startDay, $startMonth, $startYear, $endDay, $endMonth, $endYear, !$method); - } // function DAYS360() + return self::dateDiff360($startDay, $startMonth, $startYear, $endDay, $endMonth, $endYear, !$method); + } - /** - * YEARFRAC - * - * Calculates the fraction of the year represented by the number of whole days between two dates - * (the start_date and the end_date). - * Use the YEARFRAC worksheet function to identify the proportion of a whole year's benefits or - * obligations to assign to a specific term. - * - * Excel Function: - * YEARFRAC(startDate,endDate[,method]) - * - * @access public - * @category Date/Time Functions - * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param integer $method Method used for the calculation - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float fraction of the year - */ - public static function YEARFRAC($startDate = 0, $endDate = 0, $method = 0) { - $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); - $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); - $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); + /** + * YEARFRAC + * + * Calculates the fraction of the year represented by the number of whole days between two dates + * (the start_date and the end_date). + * Use the YEARFRAC worksheet function to identify the proportion of a whole year's benefits or + * obligations to assign to a specific term. + * + * Excel Function: + * YEARFRAC(startDate,endDate[,method]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param integer $method Method used for the calculation + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float fraction of the year + */ + public static function YEARFRAC($startDate = 0, $endDate = 0, $method = 0) + { + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); - if (is_string($startDate = self::_getDateValue($startDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($endDate = self::_getDateValue($endDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (is_string($startDate = self::getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($endDate = self::getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } - if (((is_numeric($method)) && (!is_string($method))) || ($method == '')) { - switch($method) { - case 0 : - return self::DAYS360($startDate,$endDate) / 360; - case 1 : - $days = self::DATEDIF($startDate,$endDate); - $startYear = self::YEAR($startDate); - $endYear = self::YEAR($endDate); - $years = $endYear - $startYear + 1; - $leapDays = 0; - if ($years == 1) { - if (self::_isLeapYear($endYear)) { - $startMonth = self::MONTHOFYEAR($startDate); - $endMonth = self::MONTHOFYEAR($endDate); - $endDay = self::DAYOFMONTH($endDate); - if (($startMonth < 3) || - (($endMonth * 100 + $endDay) >= (2 * 100 + 29))) { - $leapDays += 1; - } - } - } else { - for($year = $startYear; $year <= $endYear; ++$year) { - if ($year == $startYear) { - $startMonth = self::MONTHOFYEAR($startDate); - $startDay = self::DAYOFMONTH($startDate); - if ($startMonth < 3) { - $leapDays += (self::_isLeapYear($year)) ? 1 : 0; - } - } elseif($year == $endYear) { - $endMonth = self::MONTHOFYEAR($endDate); - $endDay = self::DAYOFMONTH($endDate); - if (($endMonth * 100 + $endDay) >= (2 * 100 + 29)) { - $leapDays += (self::_isLeapYear($year)) ? 1 : 0; - } - } else { - $leapDays += (self::_isLeapYear($year)) ? 1 : 0; - } - } - if ($years == 2) { - if (($leapDays == 0) && (self::_isLeapYear($startYear)) && ($days > 365)) { - $leapDays = 1; - } elseif ($days < 366) { - $years = 1; - } - } - $leapDays /= $years; - } - return $days / (365 + $leapDays); - case 2 : - return self::DATEDIF($startDate,$endDate) / 360; - case 3 : - return self::DATEDIF($startDate,$endDate) / 365; - case 4 : - return self::DAYS360($startDate,$endDate,True) / 360; - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function YEARFRAC() + if (((is_numeric($method)) && (!is_string($method))) || ($method == '')) { + switch ($method) { + case 0: + return self::DAYS360($startDate, $endDate) / 360; + case 1: + $days = self::DATEDIF($startDate, $endDate); + $startYear = self::YEAR($startDate); + $endYear = self::YEAR($endDate); + $years = $endYear - $startYear + 1; + $leapDays = 0; + if ($years == 1) { + if (self::isLeapYear($endYear)) { + $startMonth = self::MONTHOFYEAR($startDate); + $endMonth = self::MONTHOFYEAR($endDate); + $endDay = self::DAYOFMONTH($endDate); + if (($startMonth < 3) || + (($endMonth * 100 + $endDay) >= (2 * 100 + 29))) { + $leapDays += 1; + } + } + } else { + for ($year = $startYear; $year <= $endYear; ++$year) { + if ($year == $startYear) { + $startMonth = self::MONTHOFYEAR($startDate); + $startDay = self::DAYOFMONTH($startDate); + if ($startMonth < 3) { + $leapDays += (self::isLeapYear($year)) ? 1 : 0; + } + } elseif ($year == $endYear) { + $endMonth = self::MONTHOFYEAR($endDate); + $endDay = self::DAYOFMONTH($endDate); + if (($endMonth * 100 + $endDay) >= (2 * 100 + 29)) { + $leapDays += (self::isLeapYear($year)) ? 1 : 0; + } + } else { + $leapDays += (self::isLeapYear($year)) ? 1 : 0; + } + } + if ($years == 2) { + if (($leapDays == 0) && (self::isLeapYear($startYear)) && ($days > 365)) { + $leapDays = 1; + } elseif ($days < 366) { + $years = 1; + } + } + $leapDays /= $years; + } + return $days / (365 + $leapDays); + case 2: + return self::DATEDIF($startDate, $endDate) / 360; + case 3: + return self::DATEDIF($startDate, $endDate) / 365; + case 4: + return self::DAYS360($startDate, $endDate, true) / 360; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * NETWORKDAYS - * - * Returns the number of whole working days between start_date and end_date. Working days - * exclude weekends and any dates identified in holidays. - * Use NETWORKDAYS to calculate employee benefits that accrue based on the number of days - * worked during a specific term. - * - * Excel Function: - * NETWORKDAYS(startDate,endDate[,holidays[,holiday[,...]]]) - * - * @access public - * @category Date/Time Functions - * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date - * timestamp (integer), PHP DateTime object, or a standard date - * strings that will be excluded from the working calendar, such - * as state and federal holidays and floating holidays. - * @return integer Interval between the dates - */ - public static function NETWORKDAYS($startDate,$endDate) { - // Retrieve the mandatory start and end date that are referenced in the function definition - $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); - $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); - // Flush the mandatory start and end date that are referenced in the function definition, and get the optional days - $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - array_shift($dateArgs); - array_shift($dateArgs); + /** + * NETWORKDAYS + * + * Returns the number of whole working days between start_date and end_date. Working days + * exclude weekends and any dates identified in holidays. + * Use NETWORKDAYS to calculate employee benefits that accrue based on the number of days + * worked during a specific term. + * + * Excel Function: + * NETWORKDAYS(startDate,endDate[,holidays[,holiday[,...]]]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $endDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date + * timestamp (integer), PHP DateTime object, or a standard date + * strings that will be excluded from the working calendar, such + * as state and federal holidays and floating holidays. + * @return integer Interval between the dates + */ + public static function NETWORKDAYS($startDate, $endDate) + { + // Retrieve the mandatory start and end date that are referenced in the function definition + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDate = PHPExcel_Calculation_Functions::flattenSingleValue($endDate); + // Flush the mandatory start and end date that are referenced in the function definition, and get the optional days + $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + array_shift($dateArgs); + array_shift($dateArgs); - // Validate the start and end dates - if (is_string($startDate = $sDate = self::_getDateValue($startDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $startDate = (float) floor($startDate); - if (is_string($endDate = $eDate = self::_getDateValue($endDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $endDate = (float) floor($endDate); + // Validate the start and end dates + if (is_string($startDate = $sDate = self::getDateValue($startDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $startDate = (float) floor($startDate); + if (is_string($endDate = $eDate = self::getDateValue($endDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $endDate = (float) floor($endDate); - if ($sDate > $eDate) { - $startDate = $eDate; - $endDate = $sDate; - } + if ($sDate > $eDate) { + $startDate = $eDate; + $endDate = $sDate; + } - // Execute function - $startDoW = 6 - self::DAYOFWEEK($startDate,2); - if ($startDoW < 0) { $startDoW = 0; } - $endDoW = self::DAYOFWEEK($endDate,2); - if ($endDoW >= 6) { $endDoW = 0; } + // Execute function + $startDoW = 6 - self::DAYOFWEEK($startDate, 2); + if ($startDoW < 0) { + $startDoW = 0; + } + $endDoW = self::DAYOFWEEK($endDate, 2); + if ($endDoW >= 6) { + $endDoW = 0; + } - $wholeWeekDays = floor(($endDate - $startDate) / 7) * 5; - $partWeekDays = $endDoW + $startDoW; - if ($partWeekDays > 5) { - $partWeekDays -= 5; - } + $wholeWeekDays = floor(($endDate - $startDate) / 7) * 5; + $partWeekDays = $endDoW + $startDoW; + if ($partWeekDays > 5) { + $partWeekDays -= 5; + } - // Test any extra holiday parameters - $holidayCountedArray = array(); - foreach ($dateArgs as $holidayDate) { - if (is_string($holidayDate = self::_getDateValue($holidayDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { - if ((self::DAYOFWEEK($holidayDate,2) < 6) && (!in_array($holidayDate,$holidayCountedArray))) { - --$partWeekDays; - $holidayCountedArray[] = $holidayDate; - } - } - } + // Test any extra holiday parameters + $holidayCountedArray = array(); + foreach ($dateArgs as $holidayDate) { + if (is_string($holidayDate = self::getDateValue($holidayDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { + if ((self::DAYOFWEEK($holidayDate, 2) < 6) && (!in_array($holidayDate, $holidayCountedArray))) { + --$partWeekDays; + $holidayCountedArray[] = $holidayDate; + } + } + } - if ($sDate > $eDate) { - return 0 - ($wholeWeekDays + $partWeekDays); - } - return $wholeWeekDays + $partWeekDays; - } // function NETWORKDAYS() + if ($sDate > $eDate) { + return 0 - ($wholeWeekDays + $partWeekDays); + } + return $wholeWeekDays + $partWeekDays; + } - /** - * WORKDAY - * - * Returns the date that is the indicated number of working days before or after a date (the - * starting date). Working days exclude weekends and any dates identified as holidays. - * Use WORKDAY to exclude weekends or holidays when you calculate invoice due dates, expected - * delivery times, or the number of days of work performed. - * - * Excel Function: - * WORKDAY(startDate,endDays[,holidays[,holiday[,...]]]) - * - * @access public - * @category Date/Time Functions - * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param integer $endDays The number of nonweekend and nonholiday days before or after - * startDate. A positive value for days yields a future date; a - * negative value yields a past date. - * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date - * timestamp (integer), PHP DateTime object, or a standard date - * strings that will be excluded from the working calendar, such - * as state and federal holidays and floating holidays. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function WORKDAY($startDate,$endDays) { - // Retrieve the mandatory start date and days that are referenced in the function definition - $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); - $endDays = PHPExcel_Calculation_Functions::flattenSingleValue($endDays); - // Flush the mandatory start date and days that are referenced in the function definition, and get the optional days - $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - array_shift($dateArgs); - array_shift($dateArgs); + /** + * WORKDAY + * + * Returns the date that is the indicated number of working days before or after a date (the + * starting date). Working days exclude weekends and any dates identified as holidays. + * Use WORKDAY to exclude weekends or holidays when you calculate invoice due dates, expected + * delivery times, or the number of days of work performed. + * + * Excel Function: + * WORKDAY(startDate,endDays[,holidays[,holiday[,...]]]) + * + * @access public + * @category Date/Time Functions + * @param mixed $startDate Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param integer $endDays The number of nonweekend and nonholiday days before or after + * startDate. A positive value for days yields a future date; a + * negative value yields a past date. + * @param mixed $holidays,... Optional series of Excel date serial value (float), PHP date + * timestamp (integer), PHP DateTime object, or a standard date + * strings that will be excluded from the working calendar, such + * as state and federal holidays and floating holidays. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function WORKDAY($startDate, $endDays) + { + // Retrieve the mandatory start date and days that are referenced in the function definition + $startDate = PHPExcel_Calculation_Functions::flattenSingleValue($startDate); + $endDays = PHPExcel_Calculation_Functions::flattenSingleValue($endDays); + // Flush the mandatory start date and days that are referenced in the function definition, and get the optional days + $dateArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + array_shift($dateArgs); + array_shift($dateArgs); - if ((is_string($startDate = self::_getDateValue($startDate))) || (!is_numeric($endDays))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $startDate = (float) floor($startDate); - $endDays = (int) floor($endDays); - // If endDays is 0, we always return startDate - if ($endDays == 0) { return $startDate; } + if ((is_string($startDate = self::getDateValue($startDate))) || (!is_numeric($endDays))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $startDate = (float) floor($startDate); + $endDays = (int) floor($endDays); + // If endDays is 0, we always return startDate + if ($endDays == 0) { + return $startDate; + } - $decrementing = ($endDays < 0) ? True : False; + $decrementing = ($endDays < 0) ? true : false; - // Adjust the start date if it falls over a weekend + // Adjust the start date if it falls over a weekend - $startDoW = self::DAYOFWEEK($startDate,3); - if (self::DAYOFWEEK($startDate,3) >= 5) { - $startDate += ($decrementing) ? -$startDoW + 4: 7 - $startDoW; - ($decrementing) ? $endDays++ : $endDays--; - } + $startDoW = self::DAYOFWEEK($startDate, 3); + if (self::DAYOFWEEK($startDate, 3) >= 5) { + $startDate += ($decrementing) ? -$startDoW + 4: 7 - $startDoW; + ($decrementing) ? $endDays++ : $endDays--; + } - // Add endDays - $endDate = (float) $startDate + (intval($endDays / 5) * 7) + ($endDays % 5); + // Add endDays + $endDate = (float) $startDate + (intval($endDays / 5) * 7) + ($endDays % 5); - // Adjust the calculated end date if it falls over a weekend - $endDoW = self::DAYOFWEEK($endDate,3); - if ($endDoW >= 5) { - $endDate += ($decrementing) ? -$endDoW + 4: 7 - $endDoW; - } + // Adjust the calculated end date if it falls over a weekend + $endDoW = self::DAYOFWEEK($endDate, 3); + if ($endDoW >= 5) { + $endDate += ($decrementing) ? -$endDoW + 4: 7 - $endDoW; + } - // Test any extra holiday parameters - if (!empty($dateArgs)) { - $holidayCountedArray = $holidayDates = array(); - foreach ($dateArgs as $holidayDate) { - if (($holidayDate !== NULL) && (trim($holidayDate) > '')) { - if (is_string($holidayDate = self::_getDateValue($holidayDate))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (self::DAYOFWEEK($holidayDate,3) < 5) { - $holidayDates[] = $holidayDate; - } - } - } - if ($decrementing) { - rsort($holidayDates, SORT_NUMERIC); - } else { - sort($holidayDates, SORT_NUMERIC); - } - foreach ($holidayDates as $holidayDate) { - if ($decrementing) { - if (($holidayDate <= $startDate) && ($holidayDate >= $endDate)) { - if (!in_array($holidayDate,$holidayCountedArray)) { - --$endDate; - $holidayCountedArray[] = $holidayDate; - } - } - } else { - if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { - if (!in_array($holidayDate,$holidayCountedArray)) { - ++$endDate; - $holidayCountedArray[] = $holidayDate; - } - } - } - // Adjust the calculated end date if it falls over a weekend - $endDoW = self::DAYOFWEEK($endDate,3); - if ($endDoW >= 5) { - $endDate += ($decrementing) ? -$endDoW + 4: 7 - $endDoW; - } + // Test any extra holiday parameters + if (!empty($dateArgs)) { + $holidayCountedArray = $holidayDates = array(); + foreach ($dateArgs as $holidayDate) { + if (($holidayDate !== null) && (trim($holidayDate) > '')) { + if (is_string($holidayDate = self::getDateValue($holidayDate))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (self::DAYOFWEEK($holidayDate, 3) < 5) { + $holidayDates[] = $holidayDate; + } + } + } + if ($decrementing) { + rsort($holidayDates, SORT_NUMERIC); + } else { + sort($holidayDates, SORT_NUMERIC); + } + foreach ($holidayDates as $holidayDate) { + if ($decrementing) { + if (($holidayDate <= $startDate) && ($holidayDate >= $endDate)) { + if (!in_array($holidayDate, $holidayCountedArray)) { + --$endDate; + $holidayCountedArray[] = $holidayDate; + } + } + } else { + if (($holidayDate >= $startDate) && ($holidayDate <= $endDate)) { + if (!in_array($holidayDate, $holidayCountedArray)) { + ++$endDate; + $holidayCountedArray[] = $holidayDate; + } + } + } + // Adjust the calculated end date if it falls over a weekend + $endDoW = self::DAYOFWEEK($endDate, 3); + if ($endDoW >= 5) { + $endDate += ($decrementing) ? -$endDoW + 4 : 7 - $endDoW; + } + } + } - } - } - - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) $endDate; - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP($endDate); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return PHPExcel_Shared_Date::ExcelToPHPObject($endDate); - } - } // function WORKDAY() + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) $endDate; + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP($endDate); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return PHPExcel_Shared_Date::ExcelToPHPObject($endDate); + } + } - /** - * DAYOFMONTH - * - * Returns the day of the month, for a specified date. The day is given as an integer - * ranging from 1 to 31. - * - * Excel Function: - * DAY(dateValue) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @return int Day of the month - */ - public static function DAYOFMONTH($dateValue = 1) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + /** + * DAYOFMONTH + * + * Returns the day of the month, for a specified date. The day is given as an integer + * ranging from 1 to 31. + * + * Excel Function: + * DAY(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Day of the month + */ + public static function DAYOFMONTH($dateValue = 1) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - if ($dateValue === null) { + if ($dateValue === null) { $dateValue = 1; - } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($dateValue == 0.0) { - return 0; - } elseif ($dateValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } + } elseif (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue == 0.0) { + return 0; + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - return (int) $PHPDateObject->format('j'); - } // function DAYOFMONTH() + return (int) $PHPDateObject->format('j'); + } - /** - * DAYOFWEEK - * - * Returns the day of the week for a specified date. The day is given as an integer - * ranging from 0 to 7 (dependent on the requested style). - * - * Excel Function: - * WEEKDAY(dateValue[,style]) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param int $style A number that determines the type of return value - * 1 or omitted Numbers 1 (Sunday) through 7 (Saturday). - * 2 Numbers 1 (Monday) through 7 (Sunday). - * 3 Numbers 0 (Monday) through 6 (Sunday). - * @return int Day of the week value - */ - public static function DAYOFWEEK($dateValue = 1, $style = 1) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - $style = PHPExcel_Calculation_Functions::flattenSingleValue($style); + /** + * DAYOFWEEK + * + * Returns the day of the week for a specified date. The day is given as an integer + * ranging from 0 to 7 (dependent on the requested style). + * + * Excel Function: + * WEEKDAY(dateValue[,style]) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $style A number that determines the type of return value + * 1 or omitted Numbers 1 (Sunday) through 7 (Saturday). + * 2 Numbers 1 (Monday) through 7 (Sunday). + * 3 Numbers 0 (Monday) through 6 (Sunday). + * @return int Day of the week value + */ + public static function DAYOFWEEK($dateValue = 1, $style = 1) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $style = PHPExcel_Calculation_Functions::flattenSingleValue($style); - if (!is_numeric($style)) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif (($style < 1) || ($style > 3)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $style = floor($style); + if (!is_numeric($style)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif (($style < 1) || ($style > 3)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $style = floor($style); - if ($dateValue === null) { + if ($dateValue === null) { $dateValue = 1; - } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($dateValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } + } elseif (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - $DoW = $PHPDateObject->format('w'); + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + $DoW = $PHPDateObject->format('w'); - $firstDay = 1; - switch ($style) { - case 1: ++$DoW; - break; - case 2: if ($DoW == 0) { $DoW = 7; } - break; - case 3: if ($DoW == 0) { $DoW = 7; } - $firstDay = 0; - --$DoW; - break; - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL) { - // Test for Excel's 1900 leap year, and introduce the error as required - if (($PHPDateObject->format('Y') == 1900) && ($PHPDateObject->format('n') <= 2)) { - --$DoW; - if ($DoW < $firstDay) { - $DoW += 7; - } - } - } + $firstDay = 1; + switch ($style) { + case 1: + ++$DoW; + break; + case 2: + if ($DoW == 0) { + $DoW = 7; + } + break; + case 3: + if ($DoW == 0) { + $DoW = 7; + } + $firstDay = 0; + --$DoW; + break; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL) { + // Test for Excel's 1900 leap year, and introduce the error as required + if (($PHPDateObject->format('Y') == 1900) && ($PHPDateObject->format('n') <= 2)) { + --$DoW; + if ($DoW < $firstDay) { + $DoW += 7; + } + } + } - return (int) $DoW; - } // function DAYOFWEEK() + return (int) $DoW; + } - /** - * WEEKOFYEAR - * - * Returns the week of the year for a specified date. - * The WEEKNUM function considers the week containing January 1 to be the first week of the year. - * However, there is a European standard that defines the first week as the one with the majority - * of days (four or more) falling in the new year. This means that for years in which there are - * three days or less in the first week of January, the WEEKNUM function returns week numbers - * that are incorrect according to the European standard. - * - * Excel Function: - * WEEKNUM(dateValue[,style]) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param boolean $method Week begins on Sunday or Monday - * 1 or omitted Week begins on Sunday. - * 2 Week begins on Monday. - * @return int Week Number - */ - public static function WEEKOFYEAR($dateValue = 1, $method = 1) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); + /** + * WEEKOFYEAR + * + * Returns the week of the year for a specified date. + * The WEEKNUM function considers the week containing January 1 to be the first week of the year. + * However, there is a European standard that defines the first week as the one with the majority + * of days (four or more) falling in the new year. This means that for years in which there are + * three days or less in the first week of January, the WEEKNUM function returns week numbers + * that are incorrect according to the European standard. + * + * Excel Function: + * WEEKNUM(dateValue[,style]) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param boolean $method Week begins on Sunday or Monday + * 1 or omitted Week begins on Sunday. + * 2 Week begins on Monday. + * @return int Week Number + */ + public static function WEEKOFYEAR($dateValue = 1, $method = 1) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $method = PHPExcel_Calculation_Functions::flattenSingleValue($method); - if (!is_numeric($method)) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif (($method < 1) || ($method > 2)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $method = floor($method); + if (!is_numeric($method)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif (($method < 1) || ($method > 2)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $method = floor($method); - if ($dateValue === null) { + if ($dateValue === null) { $dateValue = 1; - } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($dateValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } + } elseif (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - $dayOfYear = $PHPDateObject->format('z'); - $dow = $PHPDateObject->format('w'); - $PHPDateObject->modify('-'.$dayOfYear.' days'); - $dow = $PHPDateObject->format('w'); - $daysInFirstWeek = 7 - (($dow + (2 - $method)) % 7); - $dayOfYear -= $daysInFirstWeek; - $weekOfYear = ceil($dayOfYear / 7) + 1; + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + $dayOfYear = $PHPDateObject->format('z'); + $dow = $PHPDateObject->format('w'); + $PHPDateObject->modify('-' . $dayOfYear . ' days'); + $dow = $PHPDateObject->format('w'); + $daysInFirstWeek = 7 - (($dow + (2 - $method)) % 7); + $dayOfYear -= $daysInFirstWeek; + $weekOfYear = ceil($dayOfYear / 7) + 1; - return (int) $weekOfYear; - } // function WEEKOFYEAR() + return (int) $weekOfYear; + } - /** - * MONTHOFYEAR - * - * Returns the month of a date represented by a serial number. - * The month is given as an integer, ranging from 1 (January) to 12 (December). - * - * Excel Function: - * MONTH(dateValue) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @return int Month of the year - */ - public static function MONTHOFYEAR($dateValue = 1) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + /** + * MONTHOFYEAR + * + * Returns the month of a date represented by a serial number. + * The month is given as an integer, ranging from 1 (January) to 12 (December). + * + * Excel Function: + * MONTH(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Month of the year + */ + public static function MONTHOFYEAR($dateValue = 1) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - if ($dateValue === null) { + if ($dateValue === null) { $dateValue = 1; - } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($dateValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } + } elseif (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - return (int) $PHPDateObject->format('n'); - } // function MONTHOFYEAR() + return (int) $PHPDateObject->format('n'); + } - /** - * YEAR - * - * Returns the year corresponding to a date. - * The year is returned as an integer in the range 1900-9999. - * - * Excel Function: - * YEAR(dateValue) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @return int Year - */ - public static function YEAR($dateValue = 1) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + /** + * YEAR + * + * Returns the year corresponding to a date. + * The year is returned as an integer in the range 1900-9999. + * + * Excel Function: + * YEAR(dateValue) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @return int Year + */ + public static function YEAR($dateValue = 1) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - if ($dateValue === null) { + if ($dateValue === null) { $dateValue = 1; - } elseif (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($dateValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } + } elseif (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($dateValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } - // Execute function - $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); + // Execute function + $PHPDateObject = PHPExcel_Shared_Date::ExcelToPHPObject($dateValue); - return (int) $PHPDateObject->format('Y'); - } // function YEAR() + return (int) $PHPDateObject->format('Y'); + } - /** - * HOUROFDAY - * - * Returns the hour of a time value. - * The hour is given as an integer, ranging from 0 (12:00 A.M.) to 23 (11:00 P.M.). - * - * Excel Function: - * HOUR(timeValue) - * - * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard time string - * @return int Hour - */ - public static function HOUROFDAY($timeValue = 0) { - $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + /** + * HOUROFDAY + * + * Returns the hour of a time value. + * The hour is given as an integer, ranging from 0 (12:00 A.M.) to 23 (11:00 P.M.). + * + * Excel Function: + * HOUR(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Hour + */ + public static function HOUROFDAY($timeValue = 0) + { + $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); - if (!is_numeric($timeValue)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $testVal = strtok($timeValue,'/-: '); - if (strlen($testVal) < strlen($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $timeValue = self::_getTimeValue($timeValue); - if (is_string($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - // Execute function - if ($timeValue >= 1) { - $timeValue = fmod($timeValue,1); - } elseif ($timeValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue, '/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue, 1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); - return (int) gmdate('G',$timeValue); - } // function HOUROFDAY() + return (int) gmdate('G', $timeValue); + } - /** - * MINUTEOFHOUR - * - * Returns the minutes of a time value. - * The minute is given as an integer, ranging from 0 to 59. - * - * Excel Function: - * MINUTE(timeValue) - * - * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard time string - * @return int Minute - */ - public static function MINUTEOFHOUR($timeValue = 0) { - $timeValue = $timeTester = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + /** + * MINUTEOFHOUR + * + * Returns the minutes of a time value. + * The minute is given as an integer, ranging from 0 to 59. + * + * Excel Function: + * MINUTE(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Minute + */ + public static function MINUTEOFHOUR($timeValue = 0) + { + $timeValue = $timeTester = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); - if (!is_numeric($timeValue)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $testVal = strtok($timeValue,'/-: '); - if (strlen($testVal) < strlen($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $timeValue = self::_getTimeValue($timeValue); - if (is_string($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - // Execute function - if ($timeValue >= 1) { - $timeValue = fmod($timeValue,1); - } elseif ($timeValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue, '/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue, 1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); - return (int) gmdate('i',$timeValue); - } // function MINUTEOFHOUR() + return (int) gmdate('i', $timeValue); + } - /** - * SECONDOFMINUTE - * - * Returns the seconds of a time value. - * The second is given as an integer in the range 0 (zero) to 59. - * - * Excel Function: - * SECOND(timeValue) - * - * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard time string - * @return int Second - */ - public static function SECONDOFMINUTE($timeValue = 0) { - $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); + /** + * SECONDOFMINUTE + * + * Returns the seconds of a time value. + * The second is given as an integer in the range 0 (zero) to 59. + * + * Excel Function: + * SECOND(timeValue) + * + * @param mixed $timeValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard time string + * @return int Second + */ + public static function SECONDOFMINUTE($timeValue = 0) + { + $timeValue = PHPExcel_Calculation_Functions::flattenSingleValue($timeValue); - if (!is_numeric($timeValue)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $testVal = strtok($timeValue,'/-: '); - if (strlen($testVal) < strlen($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $timeValue = self::_getTimeValue($timeValue); - if (is_string($timeValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - // Execute function - if ($timeValue >= 1) { - $timeValue = fmod($timeValue,1); - } elseif ($timeValue < 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); + if (!is_numeric($timeValue)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $testVal = strtok($timeValue, '/-: '); + if (strlen($testVal) < strlen($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $timeValue = self::getTimeValue($timeValue); + if (is_string($timeValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + // Execute function + if ($timeValue >= 1) { + $timeValue = fmod($timeValue, 1); + } elseif ($timeValue < 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $timeValue = PHPExcel_Shared_Date::ExcelToPHP($timeValue); - return (int) gmdate('s',$timeValue); - } // function SECONDOFMINUTE() + return (int) gmdate('s', $timeValue); + } - /** - * EDATE - * - * Returns the serial number that represents the date that is the indicated number of months - * before or after a specified date (the start_date). - * Use EDATE to calculate maturity dates or due dates that fall on the same day of the month - * as the date of issue. - * - * Excel Function: - * EDATE(dateValue,adjustmentMonths) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param int $adjustmentMonths The number of months before or after start_date. - * A positive value for months yields a future date; - * a negative value yields a past date. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function EDATE($dateValue = 1, $adjustmentMonths = 0) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); + /** + * EDATE + * + * Returns the serial number that represents the date that is the indicated number of months + * before or after a specified date (the start_date). + * Use EDATE to calculate maturity dates or due dates that fall on the same day of the month + * as the date of issue. + * + * Excel Function: + * EDATE(dateValue,adjustmentMonths) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $adjustmentMonths The number of months before or after start_date. + * A positive value for months yields a future date; + * a negative value yields a past date. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function EDATE($dateValue = 1, $adjustmentMonths = 0) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); - if (!is_numeric($adjustmentMonths)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $adjustmentMonths = floor($adjustmentMonths); + if (!is_numeric($adjustmentMonths)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $adjustmentMonths = floor($adjustmentMonths); - if (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } - // Execute function - $PHPDateObject = self::_adjustDateByMonths($dateValue,$adjustmentMonths); + // Execute function + $PHPDateObject = self::adjustDateByMonths($dateValue, $adjustmentMonths); - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return $PHPDateObject; - } - } // function EDATE() + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return $PHPDateObject; + } + } - /** - * EOMONTH - * - * Returns the date value for the last day of the month that is the indicated number of months - * before or after start_date. - * Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. - * - * Excel Function: - * EOMONTH(dateValue,adjustmentMonths) - * - * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), - * PHP DateTime object, or a standard date string - * @param int $adjustmentMonths The number of months before or after start_date. - * A positive value for months yields a future date; - * a negative value yields a past date. - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function EOMONTH($dateValue = 1, $adjustmentMonths = 0) { - $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); - $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); + /** + * EOMONTH + * + * Returns the date value for the last day of the month that is the indicated number of months + * before or after start_date. + * Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. + * + * Excel Function: + * EOMONTH(dateValue,adjustmentMonths) + * + * @param mixed $dateValue Excel date serial value (float), PHP date timestamp (integer), + * PHP DateTime object, or a standard date string + * @param int $adjustmentMonths The number of months before or after start_date. + * A positive value for months yields a future date; + * a negative value yields a past date. + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function EOMONTH($dateValue = 1, $adjustmentMonths = 0) + { + $dateValue = PHPExcel_Calculation_Functions::flattenSingleValue($dateValue); + $adjustmentMonths = PHPExcel_Calculation_Functions::flattenSingleValue($adjustmentMonths); - if (!is_numeric($adjustmentMonths)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $adjustmentMonths = floor($adjustmentMonths); + if (!is_numeric($adjustmentMonths)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $adjustmentMonths = floor($adjustmentMonths); - if (is_string($dateValue = self::_getDateValue($dateValue))) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if (is_string($dateValue = self::getDateValue($dateValue))) { + return PHPExcel_Calculation_Functions::VALUE(); + } - // Execute function - $PHPDateObject = self::_adjustDateByMonths($dateValue,$adjustmentMonths+1); - $adjustDays = (int) $PHPDateObject->format('d'); - $adjustDaysString = '-'.$adjustDays.' days'; - $PHPDateObject->modify($adjustDaysString); - - switch (PHPExcel_Calculation_Functions::getReturnDateType()) { - case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL : - return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC : - return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); - case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT : - return $PHPDateObject; - } - } // function EOMONTH() - -} // class PHPExcel_Calculation_DateTime + // Execute function + $PHPDateObject = self::adjustDateByMonths($dateValue, $adjustmentMonths+1); + $adjustDays = (int) $PHPDateObject->format('d'); + $adjustDaysString = '-' . $adjustDays . ' days'; + $PHPDateObject->modify($adjustDaysString); + switch (PHPExcel_Calculation_Functions::getReturnDateType()) { + case PHPExcel_Calculation_Functions::RETURNDATE_EXCEL: + return (float) PHPExcel_Shared_Date::PHPToExcel($PHPDateObject); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC: + return (integer) PHPExcel_Shared_Date::ExcelToPHP(PHPExcel_Shared_Date::PHPToExcel($PHPDateObject)); + case PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT: + return $PHPDateObject; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php index b60163e56..75e278474 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php @@ -1,8 +1,21 @@ array('Group' => 'Mass', 'Unit Name' => 'Gram', 'AllowPrefix' => true), + 'sg' => array('Group' => 'Mass', 'Unit Name' => 'Slug', 'AllowPrefix' => false), + 'lbm' => array('Group' => 'Mass', 'Unit Name' => 'Pound mass (avoirdupois)', 'AllowPrefix' => false), + 'u' => array('Group' => 'Mass', 'Unit Name' => 'U (atomic mass unit)', 'AllowPrefix' => true), + 'ozm' => array('Group' => 'Mass', 'Unit Name' => 'Ounce mass (avoirdupois)', 'AllowPrefix' => false), + 'm' => array('Group' => 'Distance', 'Unit Name' => 'Meter', 'AllowPrefix' => true), + 'mi' => array('Group' => 'Distance', 'Unit Name' => 'Statute mile', 'AllowPrefix' => false), + 'Nmi' => array('Group' => 'Distance', 'Unit Name' => 'Nautical mile', 'AllowPrefix' => false), + 'in' => array('Group' => 'Distance', 'Unit Name' => 'Inch', 'AllowPrefix' => false), + 'ft' => array('Group' => 'Distance', 'Unit Name' => 'Foot', 'AllowPrefix' => false), + 'yd' => array('Group' => 'Distance', 'Unit Name' => 'Yard', 'AllowPrefix' => false), + 'ang' => array('Group' => 'Distance', 'Unit Name' => 'Angstrom', 'AllowPrefix' => true), + 'Pica' => array('Group' => 'Distance', 'Unit Name' => 'Pica (1/72 in)', 'AllowPrefix' => false), + 'yr' => array('Group' => 'Time', 'Unit Name' => 'Year', 'AllowPrefix' => false), + 'day' => array('Group' => 'Time', 'Unit Name' => 'Day', 'AllowPrefix' => false), + 'hr' => array('Group' => 'Time', 'Unit Name' => 'Hour', 'AllowPrefix' => false), + 'mn' => array('Group' => 'Time', 'Unit Name' => 'Minute', 'AllowPrefix' => false), + 'sec' => array('Group' => 'Time', 'Unit Name' => 'Second', 'AllowPrefix' => true), + 'Pa' => array('Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => true), + 'p' => array('Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => true), + 'atm' => array('Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => true), + 'at' => array('Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => true), + 'mmHg' => array('Group' => 'Pressure', 'Unit Name' => 'mm of Mercury', 'AllowPrefix' => true), + 'N' => array('Group' => 'Force', 'Unit Name' => 'Newton', 'AllowPrefix' => true), + 'dyn' => array('Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => true), + 'dy' => array('Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => true), + 'lbf' => array('Group' => 'Force', 'Unit Name' => 'Pound force', 'AllowPrefix' => false), + 'J' => array('Group' => 'Energy', 'Unit Name' => 'Joule', 'AllowPrefix' => true), + 'e' => array('Group' => 'Energy', 'Unit Name' => 'Erg', 'AllowPrefix' => true), + 'c' => array('Group' => 'Energy', 'Unit Name' => 'Thermodynamic calorie', 'AllowPrefix' => true), + 'cal' => array('Group' => 'Energy', 'Unit Name' => 'IT calorie', 'AllowPrefix' => true), + 'eV' => array('Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => true), + 'ev' => array('Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => true), + 'HPh' => array('Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => false), + 'hh' => array('Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => false), + 'Wh' => array('Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => true), + 'wh' => array('Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => true), + 'flb' => array('Group' => 'Energy', 'Unit Name' => 'Foot-pound', 'AllowPrefix' => false), + 'BTU' => array('Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => false), + 'btu' => array('Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => false), + 'HP' => array('Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => false), + 'h' => array('Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => false), + 'W' => array('Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => true), + 'w' => array('Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => true), + 'T' => array('Group' => 'Magnetism', 'Unit Name' => 'Tesla', 'AllowPrefix' => true), + 'ga' => array('Group' => 'Magnetism', 'Unit Name' => 'Gauss', 'AllowPrefix' => true), + 'C' => array('Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => false), + 'cel' => array('Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => false), + 'F' => array('Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => false), + 'fah' => array('Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => false), + 'K' => array('Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => false), + 'kel' => array('Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => false), + 'tsp' => array('Group' => 'Liquid', 'Unit Name' => 'Teaspoon', 'AllowPrefix' => false), + 'tbs' => array('Group' => 'Liquid', 'Unit Name' => 'Tablespoon', 'AllowPrefix' => false), + 'oz' => array('Group' => 'Liquid', 'Unit Name' => 'Fluid Ounce', 'AllowPrefix' => false), + 'cup' => array('Group' => 'Liquid', 'Unit Name' => 'Cup', 'AllowPrefix' => false), + 'pt' => array('Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => false), + 'us_pt' => array('Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => false), + 'uk_pt' => array('Group' => 'Liquid', 'Unit Name' => 'U.K. Pint', 'AllowPrefix' => false), + 'qt' => array('Group' => 'Liquid', 'Unit Name' => 'Quart', 'AllowPrefix' => false), + 'gal' => array('Group' => 'Liquid', 'Unit Name' => 'Gallon', 'AllowPrefix' => false), + 'l' => array('Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => true), + 'lt' => array('Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => true), + ); + + /** + * Details of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() + * + * @var mixed[] + */ + private static $conversionMultipliers = array( + 'Y' => array('multiplier' => 1E24, 'name' => 'yotta'), + 'Z' => array('multiplier' => 1E21, 'name' => 'zetta'), + 'E' => array('multiplier' => 1E18, 'name' => 'exa'), + 'P' => array('multiplier' => 1E15, 'name' => 'peta'), + 'T' => array('multiplier' => 1E12, 'name' => 'tera'), + 'G' => array('multiplier' => 1E9, 'name' => 'giga'), + 'M' => array('multiplier' => 1E6, 'name' => 'mega'), + 'k' => array('multiplier' => 1E3, 'name' => 'kilo'), + 'h' => array('multiplier' => 1E2, 'name' => 'hecto'), + 'e' => array('multiplier' => 1E1, 'name' => 'deka'), + 'd' => array('multiplier' => 1E-1, 'name' => 'deci'), + 'c' => array('multiplier' => 1E-2, 'name' => 'centi'), + 'm' => array('multiplier' => 1E-3, 'name' => 'milli'), + 'u' => array('multiplier' => 1E-6, 'name' => 'micro'), + 'n' => array('multiplier' => 1E-9, 'name' => 'nano'), + 'p' => array('multiplier' => 1E-12, 'name' => 'pico'), + 'f' => array('multiplier' => 1E-15, 'name' => 'femto'), + 'a' => array('multiplier' => 1E-18, 'name' => 'atto'), + 'z' => array('multiplier' => 1E-21, 'name' => 'zepto'), + 'y' => array('multiplier' => 1E-24, 'name' => 'yocto'), + ); + + /** + * Details of the Units of measure conversion factors, organised by group + * + * @var mixed[] + */ + private static $unitConversions = array( + 'Mass' => array( + 'g' => array( + 'g' => 1.0, + 'sg' => 6.85220500053478E-05, + 'lbm' => 2.20462291469134E-03, + 'u' => 6.02217000000000E+23, + 'ozm' => 3.52739718003627E-02, + ), + 'sg' => array( + 'g' => 1.45938424189287E+04, + 'sg' => 1.0, + 'lbm' => 3.21739194101647E+01, + 'u' => 8.78866000000000E+27, + 'ozm' => 5.14782785944229E+02, + ), + 'lbm' => array( + 'g' => 4.5359230974881148E+02, + 'sg' => 3.10810749306493E-02, + 'lbm' => 1.0, + 'u' => 2.73161000000000E+26, + 'ozm' => 1.60000023429410E+01, + ), + 'u' => array( + 'g' => 1.66053100460465E-24, + 'sg' => 1.13782988532950E-28, + 'lbm' => 3.66084470330684E-27, + 'u' => 1.0, + 'ozm' => 5.85735238300524E-26, + ), + 'ozm' => array( + 'g' => 2.83495152079732E+01, + 'sg' => 1.94256689870811E-03, + 'lbm' => 6.24999908478882E-02, + 'u' => 1.70725600000000E+25, + 'ozm' => 1.0, + ), + ), + 'Distance' => array( + 'm' => array( + 'm' => 1.0, + 'mi' => 6.21371192237334E-04, + 'Nmi' => 5.39956803455724E-04, + 'in' => 3.93700787401575E+01, + 'ft' => 3.28083989501312E+00, + 'yd' => 1.09361329797891E+00, + 'ang' => 1.00000000000000E+10, + 'Pica' => 2.83464566929116E+03, + ), + 'mi' => array( + 'm' => 1.60934400000000E+03, + 'mi' => 1.0, + 'Nmi' => 8.68976241900648E-01, + 'in' => 6.33600000000000E+04, + 'ft' => 5.28000000000000E+03, + 'yd' => 1.76000000000000E+03, + 'ang' => 1.60934400000000E+13, + 'Pica' => 4.56191999999971E+06, + ), + 'Nmi' => array( + 'm' => 1.85200000000000E+03, + 'mi' => 1.15077944802354E+00, + 'Nmi' => 1.0, + 'in' => 7.29133858267717E+04, + 'ft' => 6.07611548556430E+03, + 'yd' => 2.02537182785694E+03, + 'ang' => 1.85200000000000E+13, + 'Pica' => 5.24976377952723E+06, + ), + 'in' => array( + 'm' => 2.54000000000000E-02, + 'mi' => 1.57828282828283E-05, + 'Nmi' => 1.37149028077754E-05, + 'in' => 1.0, + 'ft' => 8.33333333333333E-02, + 'yd' => 2.77777777686643E-02, + 'ang' => 2.54000000000000E+08, + 'Pica' => 7.19999999999955E+01, + ), + 'ft' => array( + 'm' => 3.04800000000000E-01, + 'mi' => 1.89393939393939E-04, + 'Nmi' => 1.64578833693305E-04, + 'in' => 1.20000000000000E+01, + 'ft' => 1.0, + 'yd' => 3.33333333223972E-01, + 'ang' => 3.04800000000000E+09, + 'Pica' => 8.63999999999946E+02, + ), + 'yd' => array( + 'm' => 9.14400000300000E-01, + 'mi' => 5.68181818368230E-04, + 'Nmi' => 4.93736501241901E-04, + 'in' => 3.60000000118110E+01, + 'ft' => 3.00000000000000E+00, + 'yd' => 1.0, + 'ang' => 9.14400000300000E+09, + 'Pica' => 2.59200000085023E+03, + ), + 'ang' => array( + 'm' => 1.00000000000000E-10, + 'mi' => 6.21371192237334E-14, + 'Nmi' => 5.39956803455724E-14, + 'in' => 3.93700787401575E-09, + 'ft' => 3.28083989501312E-10, + 'yd' => 1.09361329797891E-10, + 'ang' => 1.0, + 'Pica' => 2.83464566929116E-07, + ), + 'Pica' => array( + 'm' => 3.52777777777800E-04, + 'mi' => 2.19205948372629E-07, + 'Nmi' => 1.90484761219114E-07, + 'in' => 1.38888888888898E-02, + 'ft' => 1.15740740740748E-03, + 'yd' => 3.85802469009251E-04, + 'ang' => 3.52777777777800E+06, + 'Pica' => 1.0, + ), + ), + 'Time' => array( + 'yr' => array( + 'yr' => 1.0, + 'day' => 365.25, + 'hr' => 8766.0, + 'mn' => 525960.0, + 'sec' => 31557600.0, + ), + 'day' => array( + 'yr' => 2.73785078713210E-03, + 'day' => 1.0, + 'hr' => 24.0, + 'mn' => 1440.0, + 'sec' => 86400.0, + ), + 'hr' => array( + 'yr' => 1.14077116130504E-04, + 'day' => 4.16666666666667E-02, + 'hr' => 1.0, + 'mn' => 60.0, + 'sec' => 3600.0, + ), + 'mn' => array( + 'yr' => 1.90128526884174E-06, + 'day' => 6.94444444444444E-04, + 'hr' => 1.66666666666667E-02, + 'mn' => 1.0, + 'sec' => 60.0, + ), + 'sec' => array( + 'yr' => 3.16880878140289E-08, + 'day' => 1.15740740740741E-05, + 'hr' => 2.77777777777778E-04, + 'mn' => 1.66666666666667E-02, + 'sec' => 1.0, + ), + ), + 'Pressure' => array( + 'Pa' => array( + 'Pa' => 1.0, + 'p' => 1.0, + 'atm' => 9.86923299998193E-06, + 'at' => 9.86923299998193E-06, + 'mmHg' => 7.50061707998627E-03, + ), + 'p' => array( + 'Pa' => 1.0, + 'p' => 1.0, + 'atm' => 9.86923299998193E-06, + 'at' => 9.86923299998193E-06, + 'mmHg' => 7.50061707998627E-03, + ), + 'atm' => array( + 'Pa' => 1.01324996583000E+05, + 'p' => 1.01324996583000E+05, + 'atm' => 1.0, + 'at' => 1.0, + 'mmHg' => 760.0, + ), + 'at' => array( + 'Pa' => 1.01324996583000E+05, + 'p' => 1.01324996583000E+05, + 'atm' => 1.0, + 'at' => 1.0, + 'mmHg' => 760.0, + ), + 'mmHg' => array( + 'Pa' => 1.33322363925000E+02, + 'p' => 1.33322363925000E+02, + 'atm' => 1.31578947368421E-03, + 'at' => 1.31578947368421E-03, + 'mmHg' => 1.0, + ), + ), + 'Force' => array( + 'N' => array( + 'N' => 1.0, + 'dyn' => 1.0E+5, + 'dy' => 1.0E+5, + 'lbf' => 2.24808923655339E-01, + ), + 'dyn' => array( + 'N' => 1.0E-5, + 'dyn' => 1.0, + 'dy' => 1.0, + 'lbf' => 2.24808923655339E-06, + ), + 'dy' => array( + 'N' => 1.0E-5, + 'dyn' => 1.0, + 'dy' => 1.0, + 'lbf' => 2.24808923655339E-06, + ), + 'lbf' => array( + 'N' => 4.448222, + 'dyn' => 4.448222E+5, + 'dy' => 4.448222E+5, + 'lbf' => 1.0, + ), + ), + 'Energy' => array( + 'J' => array( + 'J' => 1.0, + 'e' => 9.99999519343231E+06, + 'c' => 2.39006249473467E-01, + 'cal' => 2.38846190642017E-01, + 'eV' => 6.24145700000000E+18, + 'ev' => 6.24145700000000E+18, + 'HPh' => 3.72506430801000E-07, + 'hh' => 3.72506430801000E-07, + 'Wh' => 2.77777916238711E-04, + 'wh' => 2.77777916238711E-04, + 'flb' => 2.37304222192651E+01, + 'BTU' => 9.47815067349015E-04, + 'btu' => 9.47815067349015E-04, + ), + 'e' => array( + 'J' => 1.00000048065700E-07, + 'e' => 1.0, + 'c' => 2.39006364353494E-08, + 'cal' => 2.38846305445111E-08, + 'eV' => 6.24146000000000E+11, + 'ev' => 6.24146000000000E+11, + 'HPh' => 3.72506609848824E-14, + 'hh' => 3.72506609848824E-14, + 'Wh' => 2.77778049754611E-11, + 'wh' => 2.77778049754611E-11, + 'flb' => 2.37304336254586E-06, + 'BTU' => 9.47815522922962E-11, + 'btu' => 9.47815522922962E-11, + ), + 'c' => array( + 'J' => 4.18399101363672E+00, + 'e' => 4.18398900257312E+07, + 'c' => 1.0, + 'cal' => 9.99330315287563E-01, + 'eV' => 2.61142000000000E+19, + 'ev' => 2.61142000000000E+19, + 'HPh' => 1.55856355899327E-06, + 'hh' => 1.55856355899327E-06, + 'Wh' => 1.16222030532950E-03, + 'wh' => 1.16222030532950E-03, + 'flb' => 9.92878733152102E+01, + 'BTU' => 3.96564972437776E-03, + 'btu' => 3.96564972437776E-03, + ), + 'cal' => array( + 'J' => 4.18679484613929E+00, + 'e' => 4.18679283372801E+07, + 'c' => 1.00067013349059E+00, + 'cal' => 1.0, + 'eV' => 2.61317000000000E+19, + 'ev' => 2.61317000000000E+19, + 'HPh' => 1.55960800463137E-06, + 'hh' => 1.55960800463137E-06, + 'Wh' => 1.16299914807955E-03, + 'wh' => 1.16299914807955E-03, + 'flb' => 9.93544094443283E+01, + 'BTU' => 3.96830723907002E-03, + 'btu' => 3.96830723907002E-03, + ), + 'eV' => array( + 'J' => 1.60219000146921E-19, + 'e' => 1.60218923136574E-12, + 'c' => 3.82933423195043E-20, + 'cal' => 3.82676978535648E-20, + 'eV' => 1.0, + 'ev' => 1.0, + 'HPh' => 5.96826078912344E-26, + 'hh' => 5.96826078912344E-26, + 'Wh' => 4.45053000026614E-23, + 'wh' => 4.45053000026614E-23, + 'flb' => 3.80206452103492E-18, + 'BTU' => 1.51857982414846E-22, + 'btu' => 1.51857982414846E-22, + ), + 'ev' => array( + 'J' => 1.60219000146921E-19, + 'e' => 1.60218923136574E-12, + 'c' => 3.82933423195043E-20, + 'cal' => 3.82676978535648E-20, + 'eV' => 1.0, + 'ev' => 1.0, + 'HPh' => 5.96826078912344E-26, + 'hh' => 5.96826078912344E-26, + 'Wh' => 4.45053000026614E-23, + 'wh' => 4.45053000026614E-23, + 'flb' => 3.80206452103492E-18, + 'BTU' => 1.51857982414846E-22, + 'btu' => 1.51857982414846E-22, + ), + 'HPh' => array( + 'J' => 2.68451741316170E+06, + 'e' => 2.68451612283024E+13, + 'c' => 6.41616438565991E+05, + 'cal' => 6.41186757845835E+05, + 'eV' => 1.67553000000000E+25, + 'ev' => 1.67553000000000E+25, + 'HPh' => 1.0, + 'hh' => 1.0, + 'Wh' => 7.45699653134593E+02, + 'wh' => 7.45699653134593E+02, + 'flb' => 6.37047316692964E+07, + 'BTU' => 2.54442605275546E+03, + 'btu' => 2.54442605275546E+03, + ), + 'hh' => array( + 'J' => 2.68451741316170E+06, + 'e' => 2.68451612283024E+13, + 'c' => 6.41616438565991E+05, + 'cal' => 6.41186757845835E+05, + 'eV' => 1.67553000000000E+25, + 'ev' => 1.67553000000000E+25, + 'HPh' => 1.0, + 'hh' => 1.0, + 'Wh' => 7.45699653134593E+02, + 'wh' => 7.45699653134593E+02, + 'flb' => 6.37047316692964E+07, + 'BTU' => 2.54442605275546E+03, + 'btu' => 2.54442605275546E+03, + ), + 'Wh' => array( + 'J' => 3.59999820554720E+03, + 'e' => 3.59999647518369E+10, + 'c' => 8.60422069219046E+02, + 'cal' => 8.59845857713046E+02, + 'eV' => 2.24692340000000E+22, + 'ev' => 2.24692340000000E+22, + 'HPh' => 1.34102248243839E-03, + 'hh' => 1.34102248243839E-03, + 'Wh' => 1.0, + 'wh' => 1.0, + 'flb' => 8.54294774062316E+04, + 'BTU' => 3.41213254164705E+00, + 'btu' => 3.41213254164705E+00, + ), + 'wh' => array( + 'J' => 3.59999820554720E+03, + 'e' => 3.59999647518369E+10, + 'c' => 8.60422069219046E+02, + 'cal' => 8.59845857713046E+02, + 'eV' => 2.24692340000000E+22, + 'ev' => 2.24692340000000E+22, + 'HPh' => 1.34102248243839E-03, + 'hh' => 1.34102248243839E-03, + 'Wh' => 1.0, + 'wh' => 1.0, + 'flb' => 8.54294774062316E+04, + 'BTU' => 3.41213254164705E+00, + 'btu' => 3.41213254164705E+00, + ), + 'flb' => array( + 'J' => 4.21400003236424E-02, + 'e' => 4.21399800687660E+05, + 'c' => 1.00717234301644E-02, + 'cal' => 1.00649785509554E-02, + 'eV' => 2.63015000000000E+17, + 'ev' => 2.63015000000000E+17, + 'HPh' => 1.56974211145130E-08, + 'hh' => 1.56974211145130E-08, + 'Wh' => 1.17055614802000E-05, + 'wh' => 1.17055614802000E-05, + 'flb' => 1.0, + 'BTU' => 3.99409272448406E-05, + 'btu' => 3.99409272448406E-05, + ), + 'BTU' => array( + 'J' => 1.05505813786749E+03, + 'e' => 1.05505763074665E+10, + 'c' => 2.52165488508168E+02, + 'cal' => 2.51996617135510E+02, + 'eV' => 6.58510000000000E+21, + 'ev' => 6.58510000000000E+21, + 'HPh' => 3.93015941224568E-04, + 'hh' => 3.93015941224568E-04, + 'Wh' => 2.93071851047526E-01, + 'wh' => 2.93071851047526E-01, + 'flb' => 2.50369750774671E+04, + 'BTU' => 1.0, + 'btu' => 1.0, + ), + 'btu' => array( + 'J' => 1.05505813786749E+03, + 'e' => 1.05505763074665E+10, + 'c' => 2.52165488508168E+02, + 'cal' => 2.51996617135510E+02, + 'eV' => 6.58510000000000E+21, + 'ev' => 6.58510000000000E+21, + 'HPh' => 3.93015941224568E-04, + 'hh' => 3.93015941224568E-04, + 'Wh' => 2.93071851047526E-01, + 'wh' => 2.93071851047526E-01, + 'flb' => 2.50369750774671E+04, + 'BTU' => 1.0, + 'btu' => 1.0, + ), + ), + 'Power' => array( + 'HP' => array( + 'HP' => 1.0, + 'h' => 1.0, + 'W' => 7.45701000000000E+02, + 'w' => 7.45701000000000E+02, + ), + 'h' => array( + 'HP' => 1.0, + 'h' => 1.0, + 'W' => 7.45701000000000E+02, + 'w' => 7.45701000000000E+02, + ), + 'W' => array( + 'HP' => 1.34102006031908E-03, + 'h' => 1.34102006031908E-03, + 'W' => 1.0, + 'w' => 1.0, + ), + 'w' => array( + 'HP' => 1.34102006031908E-03, + 'h' => 1.34102006031908E-03, + 'W' => 1.0, + 'w' => 1.0, + ), + ), + 'Magnetism' => array( + 'T' => array( + 'T' => 1.0, + 'ga' => 10000.0, + ), + 'ga' => array( + 'T' => 0.0001, + 'ga' => 1.0, + ), + ), + 'Liquid' => array( + 'tsp' => array( + 'tsp' => 1.0, + 'tbs' => 3.33333333333333E-01, + 'oz' => 1.66666666666667E-01, + 'cup' => 2.08333333333333E-02, + 'pt' => 1.04166666666667E-02, + 'us_pt' => 1.04166666666667E-02, + 'uk_pt' => 8.67558516821960E-03, + 'qt' => 5.20833333333333E-03, + 'gal' => 1.30208333333333E-03, + 'l' => 4.92999408400710E-03, + 'lt' => 4.92999408400710E-03, + ), + 'tbs' => array( + 'tsp' => 3.00000000000000E+00, + 'tbs' => 1.0, + 'oz' => 5.00000000000000E-01, + 'cup' => 6.25000000000000E-02, + 'pt' => 3.12500000000000E-02, + 'us_pt' => 3.12500000000000E-02, + 'uk_pt' => 2.60267555046588E-02, + 'qt' => 1.56250000000000E-02, + 'gal' => 3.90625000000000E-03, + 'l' => 1.47899822520213E-02, + 'lt' => 1.47899822520213E-02, + ), + 'oz' => array( + 'tsp' => 6.00000000000000E+00, + 'tbs' => 2.00000000000000E+00, + 'oz' => 1.0, + 'cup' => 1.25000000000000E-01, + 'pt' => 6.25000000000000E-02, + 'us_pt' => 6.25000000000000E-02, + 'uk_pt' => 5.20535110093176E-02, + 'qt' => 3.12500000000000E-02, + 'gal' => 7.81250000000000E-03, + 'l' => 2.95799645040426E-02, + 'lt' => 2.95799645040426E-02, + ), + 'cup' => array( + 'tsp' => 4.80000000000000E+01, + 'tbs' => 1.60000000000000E+01, + 'oz' => 8.00000000000000E+00, + 'cup' => 1.0, + 'pt' => 5.00000000000000E-01, + 'us_pt' => 5.00000000000000E-01, + 'uk_pt' => 4.16428088074541E-01, + 'qt' => 2.50000000000000E-01, + 'gal' => 6.25000000000000E-02, + 'l' => 2.36639716032341E-01, + 'lt' => 2.36639716032341E-01, + ), + 'pt' => array( + 'tsp' => 9.60000000000000E+01, + 'tbs' => 3.20000000000000E+01, + 'oz' => 1.60000000000000E+01, + 'cup' => 2.00000000000000E+00, + 'pt' => 1.0, + 'us_pt' => 1.0, + 'uk_pt' => 8.32856176149081E-01, + 'qt' => 5.00000000000000E-01, + 'gal' => 1.25000000000000E-01, + 'l' => 4.73279432064682E-01, + 'lt' => 4.73279432064682E-01, + ), + 'us_pt' => array( + 'tsp' => 9.60000000000000E+01, + 'tbs' => 3.20000000000000E+01, + 'oz' => 1.60000000000000E+01, + 'cup' => 2.00000000000000E+00, + 'pt' => 1.0, + 'us_pt' => 1.0, + 'uk_pt' => 8.32856176149081E-01, + 'qt' => 5.00000000000000E-01, + 'gal' => 1.25000000000000E-01, + 'l' => 4.73279432064682E-01, + 'lt' => 4.73279432064682E-01, + ), + 'uk_pt' => array( + 'tsp' => 1.15266000000000E+02, + 'tbs' => 3.84220000000000E+01, + 'oz' => 1.92110000000000E+01, + 'cup' => 2.40137500000000E+00, + 'pt' => 1.20068750000000E+00, + 'us_pt' => 1.20068750000000E+00, + 'uk_pt' => 1.0, + 'qt' => 6.00343750000000E-01, + 'gal' => 1.50085937500000E-01, + 'l' => 5.68260698087162E-01, + 'lt' => 5.68260698087162E-01, + ), + 'qt' => array( + 'tsp' => 1.92000000000000E+02, + 'tbs' => 6.40000000000000E+01, + 'oz' => 3.20000000000000E+01, + 'cup' => 4.00000000000000E+00, + 'pt' => 2.00000000000000E+00, + 'us_pt' => 2.00000000000000E+00, + 'uk_pt' => 1.66571235229816E+00, + 'qt' => 1.0, + 'gal' => 2.50000000000000E-01, + 'l' => 9.46558864129363E-01, + 'lt' => 9.46558864129363E-01, + ), + 'gal' => array( + 'tsp' => 7.68000000000000E+02, + 'tbs' => 2.56000000000000E+02, + 'oz' => 1.28000000000000E+02, + 'cup' => 1.60000000000000E+01, + 'pt' => 8.00000000000000E+00, + 'us_pt' => 8.00000000000000E+00, + 'uk_pt' => 6.66284940919265E+00, + 'qt' => 4.00000000000000E+00, + 'gal' => 1.0, + 'l' => 3.78623545651745E+00, + 'lt' => 3.78623545651745E+00, + ), + 'l' => array( + 'tsp' => 2.02840000000000E+02, + 'tbs' => 6.76133333333333E+01, + 'oz' => 3.38066666666667E+01, + 'cup' => 4.22583333333333E+00, + 'pt' => 2.11291666666667E+00, + 'us_pt' => 2.11291666666667E+00, + 'uk_pt' => 1.75975569552166E+00, + 'qt' => 1.05645833333333E+00, + 'gal' => 2.64114583333333E-01, + 'l' => 1.0, + 'lt' => 1.0, + ), + 'lt' => array( + 'tsp' => 2.02840000000000E+02, + 'tbs' => 6.76133333333333E+01, + 'oz' => 3.38066666666667E+01, + 'cup' => 4.22583333333333E+00, + 'pt' => 2.11291666666667E+00, + 'us_pt' => 2.11291666666667E+00, + 'uk_pt' => 1.75975569552166E+00, + 'qt' => 1.05645833333333E+00, + 'gal' => 2.64114583333333E-01, + 'l' => 1.0, + 'lt' => 1.0, + ), + ), + ); -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + /** + * parseComplex + * + * Parses a complex number into its real and imaginary parts, and an I or J suffix + * + * @param string $complexNumber The complex number + * @return string[] Indexed on "real", "imaginary" and "suffix" + */ + public static function parseComplex($complexNumber) + { + $workString = (string) $complexNumber; + + $realNumber = $imaginary = 0; + // Extract the suffix, if there is one + $suffix = substr($workString, -1); + if (!is_numeric($suffix)) { + $workString = substr($workString, 0, -1); + } else { + $suffix = ''; + } + + // Split the input into its Real and Imaginary components + $leadingSign = 0; + if (strlen($workString) > 0) { + $leadingSign = (($workString{0} == '+') || ($workString{0} == '-')) ? 1 : 0; + } + $power = ''; + $realNumber = strtok($workString, '+-'); + if (strtoupper(substr($realNumber, -1)) == 'E') { + $power = strtok('+-'); + ++$leadingSign; + } + + $realNumber = substr($workString, 0, strlen($realNumber)+strlen($power)+$leadingSign); + + if ($suffix != '') { + $imaginary = substr($workString, strlen($realNumber)); + + if (($imaginary == '') && (($realNumber == '') || ($realNumber == '+') || ($realNumber == '-'))) { + $imaginary = $realNumber.'1'; + $realNumber = '0'; + } elseif ($imaginary == '') { + $imaginary = $realNumber; + $realNumber = '0'; + } elseif (($imaginary == '+') || ($imaginary == '-')) { + $imaginary .= '1'; + } + } + + return array( + 'real' => $realNumber, + 'imaginary' => $imaginary, + 'suffix' => $suffix + ); + } + + + /** + * Cleans the leading characters in a complex number string + * + * @param string $complexNumber The complex number to clean + * @return string The "cleaned" complex number + */ + private static function cleanComplex($complexNumber) + { + if ($complexNumber{0} == '+') { + $complexNumber = substr($complexNumber, 1); + } + if ($complexNumber{0} == '0') { + $complexNumber = substr($complexNumber, 1); + } + if ($complexNumber{0} == '.') { + $complexNumber = '0'.$complexNumber; + } + if ($complexNumber{0} == '+') { + $complexNumber = substr($complexNumber, 1); + } + return $complexNumber; + } + + /** + * Formats a number base string value with leading zeroes + * + * @param string $xVal The "number" to pad + * @param integer $places The length that we want to pad this value + * @return string The padded "number" + */ + private static function nbrConversionFormat($xVal, $places) + { + if (!is_null($places)) { + if (strlen($xVal) <= $places) { + return substr(str_pad($xVal, $places, '0', STR_PAD_LEFT), -10); + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } + + return substr($xVal, -10); + } + + /** + * BESSELI + * + * Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated + * for purely imaginary arguments + * + * Excel Function: + * BESSELI(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELI returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. + * If ord is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELI returns the #VALUE! error value. + * If $ord < 0, BESSELI returns the #NUM! error value. + * @return float + * + */ + public static function BESSELI($x, $ord) + { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + $ord = floor($ord); + if ($ord < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (abs($x) <= 30) { + $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); + $ordK = 1; + $fSqrX = ($x * $x) / 4; + do { + $fTerm *= $fSqrX; + $fTerm /= ($ordK * ($ordK + $ord)); + $fResult += $fTerm; + } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); + } else { + $f_2_PI = 2 * M_PI; + + $fXAbs = abs($x); + $fResult = exp($fXAbs) / sqrt($f_2_PI * $fXAbs); + if (($ord & 1) && ($x < 0)) { + $fResult = -$fResult; + } + } + return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * BESSELJ + * + * Returns the Bessel function + * + * Excel Function: + * BESSELJ(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELJ returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELJ returns the #VALUE! error value. + * If $ord < 0, BESSELJ returns the #NUM! error value. + * @return float + * + */ + public static function BESSELJ($x, $ord) + { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + $ord = floor($ord); + if ($ord < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $fResult = 0; + if (abs($x) <= 30) { + $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); + $ordK = 1; + $fSqrX = ($x * $x) / -4; + do { + $fTerm *= $fSqrX; + $fTerm /= ($ordK * ($ordK + $ord)); + $fResult += $fTerm; + } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); + } else { + $f_PI_DIV_2 = M_PI / 2; + $f_PI_DIV_4 = M_PI / 4; + + $fXAbs = abs($x); + $fResult = sqrt(M_2DIVPI / $fXAbs) * cos($fXAbs - $ord * $f_PI_DIV_2 - $f_PI_DIV_4); + if (($ord & 1) && ($x < 0)) { + $fResult = -$fResult; + } + } + return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + private static function besselK0($fNum) + { + if ($fNum <= 2) { + $fNum2 = $fNum * 0.5; + $y = ($fNum2 * $fNum2); + $fRet = -log($fNum2) * self::BESSELI($fNum, 0) + + (-0.57721566 + $y * (0.42278420 + $y * (0.23069756 + $y * (0.3488590e-1 + $y * (0.262698e-2 + $y * + (0.10750e-3 + $y * 0.74e-5)))))); + } else { + $y = 2 / $fNum; + $fRet = exp(-$fNum) / sqrt($fNum) * + (1.25331414 + $y * (-0.7832358e-1 + $y * (0.2189568e-1 + $y * (-0.1062446e-1 + $y * + (0.587872e-2 + $y * (-0.251540e-2 + $y * 0.53208e-3)))))); + } + return $fRet; + } + + + private static function besselK1($fNum) + { + if ($fNum <= 2) { + $fNum2 = $fNum * 0.5; + $y = ($fNum2 * $fNum2); + $fRet = log($fNum2) * self::BESSELI($fNum, 1) + + (1 + $y * (0.15443144 + $y * (-0.67278579 + $y * (-0.18156897 + $y * (-0.1919402e-1 + $y * + (-0.110404e-2 + $y * (-0.4686e-4))))))) / $fNum; + } else { + $y = 2 / $fNum; + $fRet = exp(-$fNum) / sqrt($fNum) * + (1.25331414 + $y * (0.23498619 + $y * (-0.3655620e-1 + $y * (0.1504268e-1 + $y * (-0.780353e-2 + $y * + (0.325614e-2 + $y * (-0.68245e-3))))))); + } + return $fRet; + } + + + /** + * BESSELK + * + * Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated + * for purely imaginary arguments. + * + * Excel Function: + * BESSELK(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELK returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. + * If $ord < 0, BESSELK returns the #NUM! error value. + * @return float + * + */ + public static function BESSELK($x, $ord) + { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + if (($ord < 0) || ($x == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch (floor($ord)) { + case 0: + return self::besselK0($x); + case 1: + return self::besselK1($x); + default: + $fTox = 2 / $x; + $fBkm = self::besselK0($x); + $fBk = self::besselK1($x); + for ($n = 1; $n < $ord; ++$n) { + $fBkp = $fBkm + $n * $fTox * $fBk; + $fBkm = $fBk; + $fBk = $fBkp; + } + } + return (is_nan($fBk)) ? PHPExcel_Calculation_Functions::NaN() : $fBk; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + private static function besselY0($fNum) + { + if ($fNum < 8.0) { + $y = ($fNum * $fNum); + $f1 = -2957821389.0 + $y * (7062834065.0 + $y * (-512359803.6 + $y * (10879881.29 + $y * (-86327.92757 + $y * 228.4622733)))); + $f2 = 40076544269.0 + $y * (745249964.8 + $y * (7189466.438 + $y * (47447.26470 + $y * (226.1030244 + $y)))); + $fRet = $f1 / $f2 + 0.636619772 * self::BESSELJ($fNum, 0) * log($fNum); + } else { + $z = 8.0 / $fNum; + $y = ($z * $z); + $xx = $fNum - 0.785398164; + $f1 = 1 + $y * (-0.1098628627e-2 + $y * (0.2734510407e-4 + $y * (-0.2073370639e-5 + $y * 0.2093887211e-6))); + $f2 = -0.1562499995e-1 + $y * (0.1430488765e-3 + $y * (-0.6911147651e-5 + $y * (0.7621095161e-6 + $y * (-0.934945152e-7)))); + $fRet = sqrt(0.636619772 / $fNum) * (sin($xx) * $f1 + $z * cos($xx) * $f2); + } + return $fRet; + } + + + private static function besselY1($fNum) + { + if ($fNum < 8.0) { + $y = ($fNum * $fNum); + $f1 = $fNum * (-0.4900604943e13 + $y * (0.1275274390e13 + $y * (-0.5153438139e11 + $y * (0.7349264551e9 + $y * + (-0.4237922726e7 + $y * 0.8511937935e4))))); + $f2 = 0.2499580570e14 + $y * (0.4244419664e12 + $y * (0.3733650367e10 + $y * (0.2245904002e8 + $y * + (0.1020426050e6 + $y * (0.3549632885e3 + $y))))); + $fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum); + } else { + $fRet = sqrt(0.636619772 / $fNum) * sin($fNum - 2.356194491); + } + return $fRet; + } + + + /** + * BESSELY + * + * Returns the Bessel function, which is also called the Weber function or the Neumann function. + * + * Excel Function: + * BESSELY(x,ord) + * + * @access public + * @category Engineering Functions + * @param float $x The value at which to evaluate the function. + * If x is nonnumeric, BESSELK returns the #VALUE! error value. + * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. + * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. + * If $ord < 0, BESSELK returns the #NUM! error value. + * + * @return float + */ + public static function BESSELY($x, $ord) + { + $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); + $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); + + if ((is_numeric($x)) && (is_numeric($ord))) { + if (($ord < 0) || ($x == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch (floor($ord)) { + case 0: + return self::besselY0($x); + case 1: + return self::besselY1($x); + default: + $fTox = 2 / $x; + $fBym = self::besselY0($x); + $fBy = self::besselY1($x); + for ($n = 1; $n < $ord; ++$n) { + $fByp = $n * $fTox * $fBy - $fBym; + $fBym = $fBy; + $fBy = $fByp; + } + } + return (is_nan($fBy)) ? PHPExcel_Calculation_Functions::NaN() : $fBy; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * BINTODEC + * + * Return a binary value as decimal. + * + * Excel Function: + * BIN2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2DEC returns the #NUM! error value. + * @return string + */ + public static function BINTODEC($x) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/', $x, $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + $x = substr($x, -9); + return '-'.(512-bindec($x)); + } + return bindec($x); + } + + + /** + * BINTOHEX + * + * Return a binary value as hex. + * + * Excel Function: + * BIN2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2HEX returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, BIN2HEX uses the + * minimum number of characters necessary. Places is useful for padding the + * return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, BIN2HEX returns the #VALUE! error value. + * If places is negative, BIN2HEX returns the #NUM! error value. + * @return string + */ + public static function BINTOHEX($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/', $x, $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + return str_repeat('F', 8).substr(strtoupper(dechex(bindec(substr($x, -9)))), -2); + } + $hexVal = (string) strtoupper(dechex(bindec($x))); + + return self::nbrConversionFormat($hexVal, $places); + } + + + /** + * BINTOOCT + * + * Return a binary value as octal. + * + * Excel Function: + * BIN2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The binary number (as a string) that you want to convert. The number + * cannot contain more than 10 characters (10 bits). The most significant + * bit of number is the sign bit. The remaining 9 bits are magnitude bits. + * Negative numbers are represented using two's-complement notation. + * If number is not a valid binary number, or if number contains more than + * 10 characters (10 bits), BIN2OCT returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, BIN2OCT uses the + * minimum number of characters necessary. Places is useful for padding the + * return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, BIN2OCT returns the #VALUE! error value. + * If places is negative, BIN2OCT returns the #NUM! error value. + * @return string + */ + public static function BINTOOCT($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $x = floor($x); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[01]/', $x, $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (strlen($x) > 10) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (strlen($x) == 10) { + // Two's Complement + return str_repeat('7', 7).substr(strtoupper(decoct(bindec(substr($x, -9)))), -3); + } + $octVal = (string) decoct(bindec($x)); + + return self::nbrConversionFormat($octVal, $places); + } + + + /** + * DECTOBIN + * + * Return a decimal value as binary. + * + * Excel Function: + * DEC2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * valid place values are ignored and DEC2BIN returns a 10-character + * (10-bit) binary number in which the most significant bit is the sign + * bit. The remaining 9 bits are magnitude bits. Negative numbers are + * represented using two's-complement notation. + * If number < -512 or if number > 511, DEC2BIN returns the #NUM! error + * value. + * If number is nonnumeric, DEC2BIN returns the #VALUE! error value. + * If DEC2BIN requires more than places characters, it returns the #NUM! + * error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2BIN uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2BIN returns the #VALUE! error value. + * If places is zero or negative, DEC2BIN returns the #NUM! error value. + * @return string + */ + public static function DECTOBIN($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/', $x, $out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = decbin($x); + if (strlen($r) == 32) { + // Two's Complement + $r = substr($r, -10); + } elseif (strlen($r) > 11) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::nbrConversionFormat($r, $places); + } + + + /** + * DECTOHEX + * + * Return a decimal value as hex. + * + * Excel Function: + * DEC2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * places is ignored and DEC2HEX returns a 10-character (40-bit) + * hexadecimal number in which the most significant bit is the sign + * bit. The remaining 39 bits are magnitude bits. Negative numbers + * are represented using two's-complement notation. + * If number < -549,755,813,888 or if number > 549,755,813,887, + * DEC2HEX returns the #NUM! error value. + * If number is nonnumeric, DEC2HEX returns the #VALUE! error value. + * If DEC2HEX requires more than places characters, it returns the + * #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2HEX uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2HEX returns the #VALUE! error value. + * If places is zero or negative, DEC2HEX returns the #NUM! error value. + * @return string + */ + public static function DECTOHEX($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/', $x, $out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = strtoupper(dechex($x)); + if (strlen($r) == 8) { + // Two's Complement + $r = 'FF'.$r; + } + + return self::nbrConversionFormat($r, $places); + } + + + /** + * DECTOOCT + * + * Return an decimal value as octal. + * + * Excel Function: + * DEC2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The decimal integer you want to convert. If number is negative, + * places is ignored and DEC2OCT returns a 10-character (30-bit) + * octal number in which the most significant bit is the sign bit. + * The remaining 29 bits are magnitude bits. Negative numbers are + * represented using two's-complement notation. + * If number < -536,870,912 or if number > 536,870,911, DEC2OCT + * returns the #NUM! error value. + * If number is nonnumeric, DEC2OCT returns the #VALUE! error value. + * If DEC2OCT requires more than places characters, it returns the + * #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, DEC2OCT uses + * the minimum number of characters necessary. Places is useful for + * padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, DEC2OCT returns the #VALUE! error value. + * If places is zero or negative, DEC2OCT returns the #NUM! error value. + * @return string + */ + public static function DECTOOCT($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $x = (int) $x; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[-0123456789.]/', $x, $out)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) floor($x); + $r = decoct($x); + if (strlen($r) == 11) { + // Two's Complement + $r = substr($r, -10); + } + + return self::nbrConversionFormat($r, $places); + } + + + /** + * HEXTOBIN + * + * Return a hex value as binary. + * + * Excel Function: + * HEX2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x the hexadecimal number you want to convert. Number cannot + * contain more than 10 characters. The most significant bit of + * number is the sign bit (40th bit from the right). The remaining + * 9 bits are magnitude bits. Negative numbers are represented + * using two's-complement notation. + * If number is negative, HEX2BIN ignores places and returns a + * 10-character binary number. + * If number is negative, it cannot be less than FFFFFFFE00, and + * if number is positive, it cannot be greater than 1FF. + * If number is not a valid hexadecimal number, HEX2BIN returns + * the #NUM! error value. + * If HEX2BIN requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, + * HEX2BIN uses the minimum number of characters necessary. Places + * is useful for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, HEX2BIN returns the #VALUE! error value. + * If places is negative, HEX2BIN returns the #NUM! error value. + * @return string + */ + public static function HEXTOBIN($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/', strtoupper($x), $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $binVal = decbin(hexdec($x)); + + return substr(self::nbrConversionFormat($binVal, $places), -10); + } + + + /** + * HEXTODEC + * + * Return a hex value as decimal. + * + * Excel Function: + * HEX2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The hexadecimal number you want to convert. This number cannot + * contain more than 10 characters (40 bits). The most significant + * bit of number is the sign bit. The remaining 39 bits are magnitude + * bits. Negative numbers are represented using two's-complement + * notation. + * If number is not a valid hexadecimal number, HEX2DEC returns the + * #NUM! error value. + * @return string + */ + public static function HEXTODEC($x) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/', strtoupper($x), $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return hexdec($x); + } + + + /** + * HEXTOOCT + * + * Return a hex value as octal. + * + * Excel Function: + * HEX2OCT(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The hexadecimal number you want to convert. Number cannot + * contain more than 10 characters. The most significant bit of + * number is the sign bit. The remaining 39 bits are magnitude + * bits. Negative numbers are represented using two's-complement + * notation. + * If number is negative, HEX2OCT ignores places and returns a + * 10-character octal number. + * If number is negative, it cannot be less than FFE0000000, and + * if number is positive, it cannot be greater than 1FFFFFFF. + * If number is not a valid hexadecimal number, HEX2OCT returns + * the #NUM! error value. + * If HEX2OCT requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, HEX2OCT + * uses the minimum number of characters necessary. Places is + * useful for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, HEX2OCT returns the #VALUE! error + * value. + * If places is negative, HEX2OCT returns the #NUM! error value. + * @return string + */ + public static function HEXTOOCT($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/', strtoupper($x), $out)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $octVal = decoct(hexdec($x)); + + return self::nbrConversionFormat($octVal, $places); + } // function HEXTOOCT() + + + /** + * OCTTOBIN + * + * Return an octal value as binary. + * + * Excel Function: + * OCT2BIN(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not + * contain more than 10 characters. The most significant + * bit of number is the sign bit. The remaining 29 bits + * are magnitude bits. Negative numbers are represented + * using two's-complement notation. + * If number is negative, OCT2BIN ignores places and returns + * a 10-character binary number. + * If number is negative, it cannot be less than 7777777000, + * and if number is positive, it cannot be greater than 777. + * If number is not a valid octal number, OCT2BIN returns + * the #NUM! error value. + * If OCT2BIN requires more than places characters, it + * returns the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, + * OCT2BIN uses the minimum number of characters necessary. + * Places is useful for padding the return value with + * leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, OCT2BIN returns the #VALUE! + * error value. + * If places is negative, OCT2BIN returns the #NUM! error + * value. + * @return string + */ + public static function OCTTOBIN($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/', $x, $out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $r = decbin(octdec($x)); + + return self::nbrConversionFormat($r, $places); + } + + + /** + * OCTTODEC + * + * Return an octal value as decimal. + * + * Excel Function: + * OCT2DEC(x) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not contain + * more than 10 octal characters (30 bits). The most significant + * bit of number is the sign bit. The remaining 29 bits are + * magnitude bits. Negative numbers are represented using + * two's-complement notation. + * If number is not a valid octal number, OCT2DEC returns the + * #NUM! error value. + * @return string + */ + public static function OCTTODEC($x) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/', $x, $out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return octdec($x); + } + + + /** + * OCTTOHEX + * + * Return an octal value as hex. + * + * Excel Function: + * OCT2HEX(x[,places]) + * + * @access public + * @category Engineering Functions + * @param string $x The octal number you want to convert. Number may not contain + * more than 10 octal characters (30 bits). The most significant + * bit of number is the sign bit. The remaining 29 bits are + * magnitude bits. Negative numbers are represented using + * two's-complement notation. + * If number is negative, OCT2HEX ignores places and returns a + * 10-character hexadecimal number. + * If number is not a valid octal number, OCT2HEX returns the + * #NUM! error value. + * If OCT2HEX requires more than places characters, it returns + * the #NUM! error value. + * @param integer $places The number of characters to use. If places is omitted, OCT2HEX + * uses the minimum number of characters necessary. Places is useful + * for padding the return value with leading 0s (zeros). + * If places is not an integer, it is truncated. + * If places is nonnumeric, OCT2HEX returns the #VALUE! error value. + * If places is negative, OCT2HEX returns the #NUM! error value. + * @return string + */ + public static function OCTTOHEX($x, $places = null) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); + + if (is_bool($x)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $x = (string) $x; + if (preg_match_all('/[01234567]/', $x, $out) != strlen($x)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $hexVal = strtoupper(dechex(octdec($x))); + + return self::nbrConversionFormat($hexVal, $places); + } + + + /** + * COMPLEX + * + * Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj. + * + * Excel Function: + * COMPLEX(realNumber,imaginary[,places]) + * + * @access public + * @category Engineering Functions + * @param float $realNumber The real coefficient of the complex number. + * @param float $imaginary The imaginary coefficient of the complex number. + * @param string $suffix The suffix for the imaginary component of the complex number. + * If omitted, the suffix is assumed to be "i". + * @return string + */ + public static function COMPLEX($realNumber = 0.0, $imaginary = 0.0, $suffix = 'i') + { + $realNumber = (is_null($realNumber)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); + $imaginary = (is_null($imaginary)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($imaginary); + $suffix = (is_null($suffix)) ? 'i' : PHPExcel_Calculation_Functions::flattenSingleValue($suffix); + + if (((is_numeric($realNumber)) && (is_numeric($imaginary))) && + (($suffix == 'i') || ($suffix == 'j') || ($suffix == ''))) { + $realNumber = (float) $realNumber; + $imaginary = (float) $imaginary; + + if ($suffix == '') { + $suffix = 'i'; + } + if ($realNumber == 0.0) { + if ($imaginary == 0.0) { + return (string) '0'; + } elseif ($imaginary == 1.0) { + return (string) $suffix; + } elseif ($imaginary == -1.0) { + return (string) '-'.$suffix; + } + return (string) $imaginary.$suffix; + } elseif ($imaginary == 0.0) { + return (string) $realNumber; + } elseif ($imaginary == 1.0) { + return (string) $realNumber.'+'.$suffix; + } elseif ($imaginary == -1.0) { + return (string) $realNumber.'-'.$suffix; + } + if ($imaginary > 0) { + $imaginary = (string) '+'.$imaginary; + } + return (string) $realNumber.$imaginary.$suffix; + } + + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * IMAGINARY + * + * Returns the imaginary coefficient of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMAGINARY(complexNumber) + * + * @access public + * @category Engineering Functions + * @param string $complexNumber The complex number for which you want the imaginary + * coefficient. + * @return float + */ + public static function IMAGINARY($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + return $parsedComplex['imaginary']; + } + + + /** + * IMREAL + * + * Returns the real coefficient of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMREAL(complexNumber) + * + * @access public + * @category Engineering Functions + * @param string $complexNumber The complex number for which you want the real coefficient. + * @return float + */ + public static function IMREAL($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + return $parsedComplex['real']; + } + + + /** + * IMABS + * + * Returns the absolute value (modulus) of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMABS(complexNumber) + * + * @param string $complexNumber The complex number for which you want the absolute value. + * @return float + */ + public static function IMABS($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + return sqrt( + ($parsedComplex['real'] * $parsedComplex['real']) + + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']) + ); + } + + + /** + * IMARGUMENT + * + * Returns the argument theta of a complex number, i.e. the angle in radians from the real + * axis to the representation of the number in polar coordinates. + * + * Excel Function: + * IMARGUMENT(complexNumber) + * + * @param string $complexNumber The complex number for which you want the argument theta. + * @return float + */ + public static function IMARGUMENT($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if ($parsedComplex['real'] == 0.0) { + if ($parsedComplex['imaginary'] == 0.0) { + return 0.0; + } elseif ($parsedComplex['imaginary'] < 0.0) { + return M_PI / -2; + } else { + return M_PI / 2; + } + } elseif ($parsedComplex['real'] > 0.0) { + return atan($parsedComplex['imaginary'] / $parsedComplex['real']); + } elseif ($parsedComplex['imaginary'] < 0.0) { + return 0 - (M_PI - atan(abs($parsedComplex['imaginary']) / abs($parsedComplex['real']))); + } else { + return M_PI - atan($parsedComplex['imaginary'] / abs($parsedComplex['real'])); + } + } + + + /** + * IMCONJUGATE + * + * Returns the complex conjugate of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMCONJUGATE(complexNumber) + * + * @param string $complexNumber The complex number for which you want the conjugate. + * @return string + */ + public static function IMCONJUGATE($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return $parsedComplex['real']; + } else { + return self::cleanComplex( + self::COMPLEX( + $parsedComplex['real'], + 0 - $parsedComplex['imaginary'], + $parsedComplex['suffix'] + ) + ); + } + } + + + /** + * IMCOS + * + * Returns the cosine of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMCOS(complexNumber) + * + * @param string $complexNumber The complex number for which you want the cosine. + * @return string|float + */ + public static function IMCOS($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return cos($parsedComplex['real']); + } else { + return self::IMCONJUGATE( + self::COMPLEX( + cos($parsedComplex['real']) * cosh($parsedComplex['imaginary']), + sin($parsedComplex['real']) * sinh($parsedComplex['imaginary']), + $parsedComplex['suffix'] + ) + ); + } + } + + + /** + * IMSIN + * + * Returns the sine of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMSIN(complexNumber) + * + * @param string $complexNumber The complex number for which you want the sine. + * @return string|float + */ + public static function IMSIN($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if ($parsedComplex['imaginary'] == 0.0) { + return sin($parsedComplex['real']); + } else { + return self::COMPLEX( + sin($parsedComplex['real']) * cosh($parsedComplex['imaginary']), + cos($parsedComplex['real']) * sinh($parsedComplex['imaginary']), + $parsedComplex['suffix'] + ); + } + } + + + /** + * IMSQRT + * + * Returns the square root of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMSQRT(complexNumber) + * + * @param string $complexNumber The complex number for which you want the square root. + * @return string + */ + public static function IMSQRT($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + $theta = self::IMARGUMENT($complexNumber); + $d1 = cos($theta / 2); + $d2 = sin($theta / 2); + $r = sqrt(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($d1 * $r, $d2 * $r); + } else { + return self::COMPLEX($d1 * $r, $d2 * $r, $parsedComplex['suffix']); + } + } + + + /** + * IMLN + * + * Returns the natural logarithm of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLN(complexNumber) + * + * @param string $complexNumber The complex number for which you want the natural logarithm. + * @return string + */ + public static function IMLN($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $logR = log(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); + $t = self::IMARGUMENT($complexNumber); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($logR, $t); + } else { + return self::COMPLEX($logR, $t, $parsedComplex['suffix']); + } + } + + + /** + * IMLOG10 + * + * Returns the common logarithm (base 10) of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLOG10(complexNumber) + * + * @param string $complexNumber The complex number for which you want the common logarithm. + * @return string + */ + public static function IMLOG10($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return log10($parsedComplex['real']); + } + + return self::IMPRODUCT(log10(EULER), self::IMLN($complexNumber)); + } + + + /** + * IMLOG2 + * + * Returns the base-2 logarithm of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMLOG2(complexNumber) + * + * @param string $complexNumber The complex number for which you want the base-2 logarithm. + * @return string + */ + public static function IMLOG2($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return log($parsedComplex['real'], 2); + } + + return self::IMPRODUCT(log(EULER, 2), self::IMLN($complexNumber)); + } + + + /** + * IMEXP + * + * Returns the exponential of a complex number in x + yi or x + yj text format. + * + * Excel Function: + * IMEXP(complexNumber) + * + * @param string $complexNumber The complex number for which you want the exponential. + * @return string + */ + public static function IMEXP($complexNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + + $parsedComplex = self::parseComplex($complexNumber); + + if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { + return '1'; + } + + $e = exp($parsedComplex['real']); + $eX = $e * cos($parsedComplex['imaginary']); + $eY = $e * sin($parsedComplex['imaginary']); + + if ($parsedComplex['suffix'] == '') { + return self::COMPLEX($eX, $eY); + } else { + return self::COMPLEX($eX, $eY, $parsedComplex['suffix']); + } + } + + + /** + * IMPOWER + * + * Returns a complex number in x + yi or x + yj text format raised to a power. + * + * Excel Function: + * IMPOWER(complexNumber,realNumber) + * + * @param string $complexNumber The complex number you want to raise to a power. + * @param float $realNumber The power to which you want to raise the complex number. + * @return string + */ + public static function IMPOWER($complexNumber, $realNumber) + { + $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); + $realNumber = PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); + + if (!is_numeric($realNumber)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $parsedComplex = self::parseComplex($complexNumber); + + $r = sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])); + $rPower = pow($r, $realNumber); + $theta = self::IMARGUMENT($complexNumber) * $realNumber; + if ($theta == 0) { + return 1; + } elseif ($parsedComplex['imaginary'] == 0.0) { + return self::COMPLEX($rPower * cos($theta), $rPower * sin($theta), $parsedComplex['suffix']); + } else { + return self::COMPLEX($rPower * cos($theta), $rPower * sin($theta), $parsedComplex['suffix']); + } + } + + + /** + * IMDIV + * + * Returns the quotient of two complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMDIV(complexDividend,complexDivisor) + * + * @param string $complexDividend The complex numerator or dividend. + * @param string $complexDivisor The complex denominator or divisor. + * @return string + */ + public static function IMDIV($complexDividend, $complexDivisor) + { + $complexDividend = PHPExcel_Calculation_Functions::flattenSingleValue($complexDividend); + $complexDivisor = PHPExcel_Calculation_Functions::flattenSingleValue($complexDivisor); + + $parsedComplexDividend = self::parseComplex($complexDividend); + $parsedComplexDivisor = self::parseComplex($complexDivisor); + + if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] != '') && + ($parsedComplexDividend['suffix'] != $parsedComplexDivisor['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] == '')) { + $parsedComplexDivisor['suffix'] = $parsedComplexDividend['suffix']; + } + + $d1 = ($parsedComplexDividend['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['imaginary']); + $d2 = ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['real']) - ($parsedComplexDividend['real'] * $parsedComplexDivisor['imaginary']); + $d3 = ($parsedComplexDivisor['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDivisor['imaginary'] * $parsedComplexDivisor['imaginary']); + + $r = $d1 / $d3; + $i = $d2 / $d3; + + if ($i > 0.0) { + return self::cleanComplex($r.'+'.$i.$parsedComplexDivisor['suffix']); + } elseif ($i < 0.0) { + return self::cleanComplex($r.$i.$parsedComplexDivisor['suffix']); + } else { + return $r; + } + } + + + /** + * IMSUB + * + * Returns the difference of two complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMSUB(complexNumber1,complexNumber2) + * + * @param string $complexNumber1 The complex number from which to subtract complexNumber2. + * @param string $complexNumber2 The complex number to subtract from complexNumber1. + * @return string + */ + public static function IMSUB($complexNumber1, $complexNumber2) + { + $complexNumber1 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber1); + $complexNumber2 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber2); + + $parsedComplex1 = self::parseComplex($complexNumber1); + $parsedComplex2 = self::parseComplex($complexNumber2); + + if ((($parsedComplex1['suffix'] != '') && ($parsedComplex2['suffix'] != '')) && + ($parsedComplex1['suffix'] != $parsedComplex2['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($parsedComplex1['suffix'] == '') && ($parsedComplex2['suffix'] != '')) { + $parsedComplex1['suffix'] = $parsedComplex2['suffix']; + } + + $d1 = $parsedComplex1['real'] - $parsedComplex2['real']; + $d2 = $parsedComplex1['imaginary'] - $parsedComplex2['imaginary']; + + return self::COMPLEX($d1, $d2, $parsedComplex1['suffix']); + } + + + /** + * IMSUM + * + * Returns the sum of two or more complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMSUM(complexNumber[,complexNumber[,...]]) + * + * @param string $complexNumber,... Series of complex numbers to add + * @return string + */ + public static function IMSUM() + { + // Return value + $returnValue = self::parseComplex('0'); + $activeSuffix = ''; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + $parsedComplex = self::parseComplex($arg); + + if ($activeSuffix == '') { + $activeSuffix = $parsedComplex['suffix']; + } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $returnValue['real'] += $parsedComplex['real']; + $returnValue['imaginary'] += $parsedComplex['imaginary']; + } + + if ($returnValue['imaginary'] == 0.0) { + $activeSuffix = ''; + } + return self::COMPLEX($returnValue['real'], $returnValue['imaginary'], $activeSuffix); + } + + + /** + * IMPRODUCT + * + * Returns the product of two or more complex numbers in x + yi or x + yj text format. + * + * Excel Function: + * IMPRODUCT(complexNumber[,complexNumber[,...]]) + * + * @param string $complexNumber,... Series of complex numbers to multiply + * @return string + */ + public static function IMPRODUCT() + { + // Return value + $returnValue = self::parseComplex('1'); + $activeSuffix = ''; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + $parsedComplex = self::parseComplex($arg); + + $workValue = $returnValue; + if (($parsedComplex['suffix'] != '') && ($activeSuffix == '')) { + $activeSuffix = $parsedComplex['suffix']; + } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { + return PHPExcel_Calculation_Functions::NaN(); + } + $returnValue['real'] = ($workValue['real'] * $parsedComplex['real']) - ($workValue['imaginary'] * $parsedComplex['imaginary']); + $returnValue['imaginary'] = ($workValue['real'] * $parsedComplex['imaginary']) + ($workValue['imaginary'] * $parsedComplex['real']); + } + + if ($returnValue['imaginary'] == 0.0) { + $activeSuffix = ''; + } + return self::COMPLEX($returnValue['real'], $returnValue['imaginary'], $activeSuffix); + } + + + /** + * DELTA + * + * Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. + * Use this function to filter a set of values. For example, by summing several DELTA + * functions you calculate the count of equal pairs. This function is also known as the + * Kronecker Delta function. + * + * Excel Function: + * DELTA(a[,b]) + * + * @param float $a The first number. + * @param float $b The second number. If omitted, b is assumed to be zero. + * @return int + */ + public static function DELTA($a, $b = 0) + { + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + return (int) ($a == $b); + } + + + /** + * GESTEP + * + * Excel Function: + * GESTEP(number[,step]) + * + * Returns 1 if number >= step; returns 0 (zero) otherwise + * Use this function to filter a set of values. For example, by summing several GESTEP + * functions you calculate the count of values that exceed a threshold. + * + * @param float $number The value to test against step. + * @param float $step The threshold value. + * If you omit a value for step, GESTEP uses zero. + * @return int + */ + public static function GESTEP($number, $step = 0) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $step = PHPExcel_Calculation_Functions::flattenSingleValue($step); + + return (int) ($number >= $step); + } + + + // + // Private method to calculate the erf value + // + private static $twoSqrtPi = 1.128379167095512574; + + public static function erfVal($x) + { + if (abs($x) > 2.2) { + return 1 - self::erfcVal($x); + } + $sum = $term = $x; + $xsqr = ($x * $x); + $j = 1; + do { + $term *= $xsqr / $j; + $sum -= $term / (2 * $j + 1); + ++$j; + $term *= $xsqr / $j; + $sum += $term / (2 * $j + 1); + ++$j; + if ($sum == 0.0) { + break; + } + } while (abs($term / $sum) > PRECISION); + return self::$twoSqrtPi * $sum; + } + + + /** + * ERF + * + * Returns the error function integrated between the lower and upper bound arguments. + * + * Note: In Excel 2007 or earlier, if you input a negative value for the upper or lower bound arguments, + * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was + * improved, so that it can now calculate the function for both positive and negative ranges. + * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. + * + * Excel Function: + * ERF(lower[,upper]) + * + * @param float $lower lower bound for integrating ERF + * @param float $upper upper bound for integrating ERF. + * If omitted, ERF integrates between zero and lower_limit + * @return float + */ + public static function ERF($lower, $upper = null) + { + $lower = PHPExcel_Calculation_Functions::flattenSingleValue($lower); + $upper = PHPExcel_Calculation_Functions::flattenSingleValue($upper); + + if (is_numeric($lower)) { + if (is_null($upper)) { + return self::erfVal($lower); + } + if (is_numeric($upper)) { + return self::erfVal($upper) - self::erfVal($lower); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + // + // Private method to calculate the erfc value + // + private static $oneSqrtPi = 0.564189583547756287; + + private static function erfcVal($x) + { + if (abs($x) < 2.2) { + return 1 - self::erfVal($x); + } + if ($x < 0) { + return 2 - self::ERFC(-$x); + } + $a = $n = 1; + $b = $c = $x; + $d = ($x * $x) + 0.5; + $q1 = $q2 = $b / $d; + $t = 0; + do { + $t = $a * $n + $b * $x; + $a = $b; + $b = $t; + $t = $c * $n + $d * $x; + $c = $d; + $d = $t; + $n += 0.5; + $q1 = $q2; + $q2 = $b / $d; + } while ((abs($q1 - $q2) / $q2) > PRECISION); + return self::$oneSqrtPi * exp(-$x * $x) * $q2; + } + + + /** + * ERFC + * + * Returns the complementary ERF function integrated between x and infinity + * + * Note: In Excel 2007 or earlier, if you input a negative value for the lower bound argument, + * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was + * improved, so that it can now calculate the function for both positive and negative x values. + * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. + * + * Excel Function: + * ERFC(x) + * + * @param float $x The lower bound for integrating ERFC + * @return float + */ + public static function ERFC($x) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + + if (is_numeric($x)) { + return self::erfcVal($x); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * getConversionGroups + * Returns a list of the different conversion groups for UOM conversions + * + * @return array + */ + public static function getConversionGroups() + { + $conversionGroups = array(); + foreach (self::$conversionUnits as $conversionUnit) { + $conversionGroups[] = $conversionUnit['Group']; + } + return array_merge(array_unique($conversionGroups)); + } + + + /** + * getConversionGroupUnits + * Returns an array of units of measure, for a specified conversion group, or for all groups + * + * @param string $group The group whose units of measure you want to retrieve + * @return array + */ + public static function getConversionGroupUnits($group = null) + { + $conversionGroups = array(); + foreach (self::$conversionUnits as $conversionUnit => $conversionGroup) { + if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { + $conversionGroups[$conversionGroup['Group']][] = $conversionUnit; + } + } + return $conversionGroups; + } + + + /** + * getConversionGroupUnitDetails + * + * @param string $group The group whose units of measure you want to retrieve + * @return array + */ + public static function getConversionGroupUnitDetails($group = null) + { + $conversionGroups = array(); + foreach (self::$conversionUnits as $conversionUnit => $conversionGroup) { + if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { + $conversionGroups[$conversionGroup['Group']][] = array( + 'unit' => $conversionUnit, + 'description' => $conversionGroup['Unit Name'] + ); + } + } + return $conversionGroups; + } + + + /** + * getConversionMultipliers + * Returns an array of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() + * + * @return array of mixed + */ + public static function getConversionMultipliers() + { + return self::$conversionMultipliers; + } + + + /** + * CONVERTUOM + * + * Converts a number from one measurement system to another. + * For example, CONVERT can translate a table of distances in miles to a table of distances + * in kilometers. + * + * Excel Function: + * CONVERT(value,fromUOM,toUOM) + * + * @param float $value The value in fromUOM to convert. + * @param string $fromUOM The units for value. + * @param string $toUOM The units for the result. + * + * @return float + */ + public static function CONVERTUOM($value, $fromUOM, $toUOM) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $fromUOM = PHPExcel_Calculation_Functions::flattenSingleValue($fromUOM); + $toUOM = PHPExcel_Calculation_Functions::flattenSingleValue($toUOM); + + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $fromMultiplier = 1.0; + if (isset(self::$conversionUnits[$fromUOM])) { + $unitGroup1 = self::$conversionUnits[$fromUOM]['Group']; + } else { + $fromMultiplier = substr($fromUOM, 0, 1); + $fromUOM = substr($fromUOM, 1); + if (isset(self::$conversionMultipliers[$fromMultiplier])) { + $fromMultiplier = self::$conversionMultipliers[$fromMultiplier]['multiplier']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + if ((isset(self::$conversionUnits[$fromUOM])) && (self::$conversionUnits[$fromUOM]['AllowPrefix'])) { + $unitGroup1 = self::$conversionUnits[$fromUOM]['Group']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + } + $value *= $fromMultiplier; + + $toMultiplier = 1.0; + if (isset(self::$conversionUnits[$toUOM])) { + $unitGroup2 = self::$conversionUnits[$toUOM]['Group']; + } else { + $toMultiplier = substr($toUOM, 0, 1); + $toUOM = substr($toUOM, 1); + if (isset(self::$conversionMultipliers[$toMultiplier])) { + $toMultiplier = self::$conversionMultipliers[$toMultiplier]['multiplier']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + if ((isset(self::$conversionUnits[$toUOM])) && (self::$conversionUnits[$toUOM]['AllowPrefix'])) { + $unitGroup2 = self::$conversionUnits[$toUOM]['Group']; + } else { + return PHPExcel_Calculation_Functions::NA(); + } + } + if ($unitGroup1 != $unitGroup2) { + return PHPExcel_Calculation_Functions::NA(); + } + + if (($fromUOM == $toUOM) && ($fromMultiplier == $toMultiplier)) { + // We've already factored $fromMultiplier into the value, so we need + // to reverse it again + return $value / $fromMultiplier; + } elseif ($unitGroup1 == 'Temperature') { + if (($fromUOM == 'F') || ($fromUOM == 'fah')) { + if (($toUOM == 'F') || ($toUOM == 'fah')) { + return $value; + } else { + $value = (($value - 32) / 1.8); + if (($toUOM == 'K') || ($toUOM == 'kel')) { + $value += 273.15; + } + return $value; + } + } elseif ((($fromUOM == 'K') || ($fromUOM == 'kel')) && + (($toUOM == 'K') || ($toUOM == 'kel'))) { + return $value; + } elseif ((($fromUOM == 'C') || ($fromUOM == 'cel')) && + (($toUOM == 'C') || ($toUOM == 'cel'))) { + return $value; + } + if (($toUOM == 'F') || ($toUOM == 'fah')) { + if (($fromUOM == 'K') || ($fromUOM == 'kel')) { + $value -= 273.15; + } + return ($value * 1.8) + 32; + } + if (($toUOM == 'C') || ($toUOM == 'cel')) { + return $value - 273.15; + } + return $value + 273.15; + } + return ($value * self::$unitConversions[$unitGroup1][$fromUOM][$toUOM]) / $toMultiplier; + } } - - -/** EULER */ -define('EULER', 2.71828182845904523536); - - -/** - * PHPExcel_Calculation_Engineering - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_Engineering { - - /** - * Details of the Units of measure that can be used in CONVERTUOM() - * - * @var mixed[] - */ - private static $_conversionUnits = array( 'g' => array( 'Group' => 'Mass', 'Unit Name' => 'Gram', 'AllowPrefix' => True ), - 'sg' => array( 'Group' => 'Mass', 'Unit Name' => 'Slug', 'AllowPrefix' => False ), - 'lbm' => array( 'Group' => 'Mass', 'Unit Name' => 'Pound mass (avoirdupois)', 'AllowPrefix' => False ), - 'u' => array( 'Group' => 'Mass', 'Unit Name' => 'U (atomic mass unit)', 'AllowPrefix' => True ), - 'ozm' => array( 'Group' => 'Mass', 'Unit Name' => 'Ounce mass (avoirdupois)', 'AllowPrefix' => False ), - 'm' => array( 'Group' => 'Distance', 'Unit Name' => 'Meter', 'AllowPrefix' => True ), - 'mi' => array( 'Group' => 'Distance', 'Unit Name' => 'Statute mile', 'AllowPrefix' => False ), - 'Nmi' => array( 'Group' => 'Distance', 'Unit Name' => 'Nautical mile', 'AllowPrefix' => False ), - 'in' => array( 'Group' => 'Distance', 'Unit Name' => 'Inch', 'AllowPrefix' => False ), - 'ft' => array( 'Group' => 'Distance', 'Unit Name' => 'Foot', 'AllowPrefix' => False ), - 'yd' => array( 'Group' => 'Distance', 'Unit Name' => 'Yard', 'AllowPrefix' => False ), - 'ang' => array( 'Group' => 'Distance', 'Unit Name' => 'Angstrom', 'AllowPrefix' => True ), - 'Pica' => array( 'Group' => 'Distance', 'Unit Name' => 'Pica (1/72 in)', 'AllowPrefix' => False ), - 'yr' => array( 'Group' => 'Time', 'Unit Name' => 'Year', 'AllowPrefix' => False ), - 'day' => array( 'Group' => 'Time', 'Unit Name' => 'Day', 'AllowPrefix' => False ), - 'hr' => array( 'Group' => 'Time', 'Unit Name' => 'Hour', 'AllowPrefix' => False ), - 'mn' => array( 'Group' => 'Time', 'Unit Name' => 'Minute', 'AllowPrefix' => False ), - 'sec' => array( 'Group' => 'Time', 'Unit Name' => 'Second', 'AllowPrefix' => True ), - 'Pa' => array( 'Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => True ), - 'p' => array( 'Group' => 'Pressure', 'Unit Name' => 'Pascal', 'AllowPrefix' => True ), - 'atm' => array( 'Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => True ), - 'at' => array( 'Group' => 'Pressure', 'Unit Name' => 'Atmosphere', 'AllowPrefix' => True ), - 'mmHg' => array( 'Group' => 'Pressure', 'Unit Name' => 'mm of Mercury', 'AllowPrefix' => True ), - 'N' => array( 'Group' => 'Force', 'Unit Name' => 'Newton', 'AllowPrefix' => True ), - 'dyn' => array( 'Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => True ), - 'dy' => array( 'Group' => 'Force', 'Unit Name' => 'Dyne', 'AllowPrefix' => True ), - 'lbf' => array( 'Group' => 'Force', 'Unit Name' => 'Pound force', 'AllowPrefix' => False ), - 'J' => array( 'Group' => 'Energy', 'Unit Name' => 'Joule', 'AllowPrefix' => True ), - 'e' => array( 'Group' => 'Energy', 'Unit Name' => 'Erg', 'AllowPrefix' => True ), - 'c' => array( 'Group' => 'Energy', 'Unit Name' => 'Thermodynamic calorie', 'AllowPrefix' => True ), - 'cal' => array( 'Group' => 'Energy', 'Unit Name' => 'IT calorie', 'AllowPrefix' => True ), - 'eV' => array( 'Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => True ), - 'ev' => array( 'Group' => 'Energy', 'Unit Name' => 'Electron volt', 'AllowPrefix' => True ), - 'HPh' => array( 'Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => False ), - 'hh' => array( 'Group' => 'Energy', 'Unit Name' => 'Horsepower-hour', 'AllowPrefix' => False ), - 'Wh' => array( 'Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => True ), - 'wh' => array( 'Group' => 'Energy', 'Unit Name' => 'Watt-hour', 'AllowPrefix' => True ), - 'flb' => array( 'Group' => 'Energy', 'Unit Name' => 'Foot-pound', 'AllowPrefix' => False ), - 'BTU' => array( 'Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => False ), - 'btu' => array( 'Group' => 'Energy', 'Unit Name' => 'BTU', 'AllowPrefix' => False ), - 'HP' => array( 'Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => False ), - 'h' => array( 'Group' => 'Power', 'Unit Name' => 'Horsepower', 'AllowPrefix' => False ), - 'W' => array( 'Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => True ), - 'w' => array( 'Group' => 'Power', 'Unit Name' => 'Watt', 'AllowPrefix' => True ), - 'T' => array( 'Group' => 'Magnetism', 'Unit Name' => 'Tesla', 'AllowPrefix' => True ), - 'ga' => array( 'Group' => 'Magnetism', 'Unit Name' => 'Gauss', 'AllowPrefix' => True ), - 'C' => array( 'Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => False ), - 'cel' => array( 'Group' => 'Temperature', 'Unit Name' => 'Celsius', 'AllowPrefix' => False ), - 'F' => array( 'Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => False ), - 'fah' => array( 'Group' => 'Temperature', 'Unit Name' => 'Fahrenheit', 'AllowPrefix' => False ), - 'K' => array( 'Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => False ), - 'kel' => array( 'Group' => 'Temperature', 'Unit Name' => 'Kelvin', 'AllowPrefix' => False ), - 'tsp' => array( 'Group' => 'Liquid', 'Unit Name' => 'Teaspoon', 'AllowPrefix' => False ), - 'tbs' => array( 'Group' => 'Liquid', 'Unit Name' => 'Tablespoon', 'AllowPrefix' => False ), - 'oz' => array( 'Group' => 'Liquid', 'Unit Name' => 'Fluid Ounce', 'AllowPrefix' => False ), - 'cup' => array( 'Group' => 'Liquid', 'Unit Name' => 'Cup', 'AllowPrefix' => False ), - 'pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => False ), - 'us_pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.S. Pint', 'AllowPrefix' => False ), - 'uk_pt' => array( 'Group' => 'Liquid', 'Unit Name' => 'U.K. Pint', 'AllowPrefix' => False ), - 'qt' => array( 'Group' => 'Liquid', 'Unit Name' => 'Quart', 'AllowPrefix' => False ), - 'gal' => array( 'Group' => 'Liquid', 'Unit Name' => 'Gallon', 'AllowPrefix' => False ), - 'l' => array( 'Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => True ), - 'lt' => array( 'Group' => 'Liquid', 'Unit Name' => 'Litre', 'AllowPrefix' => True ) - ); - - /** - * Details of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() - * - * @var mixed[] - */ - private static $_conversionMultipliers = array( 'Y' => array( 'multiplier' => 1E24, 'name' => 'yotta' ), - 'Z' => array( 'multiplier' => 1E21, 'name' => 'zetta' ), - 'E' => array( 'multiplier' => 1E18, 'name' => 'exa' ), - 'P' => array( 'multiplier' => 1E15, 'name' => 'peta' ), - 'T' => array( 'multiplier' => 1E12, 'name' => 'tera' ), - 'G' => array( 'multiplier' => 1E9, 'name' => 'giga' ), - 'M' => array( 'multiplier' => 1E6, 'name' => 'mega' ), - 'k' => array( 'multiplier' => 1E3, 'name' => 'kilo' ), - 'h' => array( 'multiplier' => 1E2, 'name' => 'hecto' ), - 'e' => array( 'multiplier' => 1E1, 'name' => 'deka' ), - 'd' => array( 'multiplier' => 1E-1, 'name' => 'deci' ), - 'c' => array( 'multiplier' => 1E-2, 'name' => 'centi' ), - 'm' => array( 'multiplier' => 1E-3, 'name' => 'milli' ), - 'u' => array( 'multiplier' => 1E-6, 'name' => 'micro' ), - 'n' => array( 'multiplier' => 1E-9, 'name' => 'nano' ), - 'p' => array( 'multiplier' => 1E-12, 'name' => 'pico' ), - 'f' => array( 'multiplier' => 1E-15, 'name' => 'femto' ), - 'a' => array( 'multiplier' => 1E-18, 'name' => 'atto' ), - 'z' => array( 'multiplier' => 1E-21, 'name' => 'zepto' ), - 'y' => array( 'multiplier' => 1E-24, 'name' => 'yocto' ) - ); - - /** - * Details of the Units of measure conversion factors, organised by group - * - * @var mixed[] - */ - private static $_unitConversions = array( 'Mass' => array( 'g' => array( 'g' => 1.0, - 'sg' => 6.85220500053478E-05, - 'lbm' => 2.20462291469134E-03, - 'u' => 6.02217000000000E+23, - 'ozm' => 3.52739718003627E-02 - ), - 'sg' => array( 'g' => 1.45938424189287E+04, - 'sg' => 1.0, - 'lbm' => 3.21739194101647E+01, - 'u' => 8.78866000000000E+27, - 'ozm' => 5.14782785944229E+02 - ), - 'lbm' => array( 'g' => 4.5359230974881148E+02, - 'sg' => 3.10810749306493E-02, - 'lbm' => 1.0, - 'u' => 2.73161000000000E+26, - 'ozm' => 1.60000023429410E+01 - ), - 'u' => array( 'g' => 1.66053100460465E-24, - 'sg' => 1.13782988532950E-28, - 'lbm' => 3.66084470330684E-27, - 'u' => 1.0, - 'ozm' => 5.85735238300524E-26 - ), - 'ozm' => array( 'g' => 2.83495152079732E+01, - 'sg' => 1.94256689870811E-03, - 'lbm' => 6.24999908478882E-02, - 'u' => 1.70725600000000E+25, - 'ozm' => 1.0 - ) - ), - 'Distance' => array( 'm' => array( 'm' => 1.0, - 'mi' => 6.21371192237334E-04, - 'Nmi' => 5.39956803455724E-04, - 'in' => 3.93700787401575E+01, - 'ft' => 3.28083989501312E+00, - 'yd' => 1.09361329797891E+00, - 'ang' => 1.00000000000000E+10, - 'Pica' => 2.83464566929116E+03 - ), - 'mi' => array( 'm' => 1.60934400000000E+03, - 'mi' => 1.0, - 'Nmi' => 8.68976241900648E-01, - 'in' => 6.33600000000000E+04, - 'ft' => 5.28000000000000E+03, - 'yd' => 1.76000000000000E+03, - 'ang' => 1.60934400000000E+13, - 'Pica' => 4.56191999999971E+06 - ), - 'Nmi' => array( 'm' => 1.85200000000000E+03, - 'mi' => 1.15077944802354E+00, - 'Nmi' => 1.0, - 'in' => 7.29133858267717E+04, - 'ft' => 6.07611548556430E+03, - 'yd' => 2.02537182785694E+03, - 'ang' => 1.85200000000000E+13, - 'Pica' => 5.24976377952723E+06 - ), - 'in' => array( 'm' => 2.54000000000000E-02, - 'mi' => 1.57828282828283E-05, - 'Nmi' => 1.37149028077754E-05, - 'in' => 1.0, - 'ft' => 8.33333333333333E-02, - 'yd' => 2.77777777686643E-02, - 'ang' => 2.54000000000000E+08, - 'Pica' => 7.19999999999955E+01 - ), - 'ft' => array( 'm' => 3.04800000000000E-01, - 'mi' => 1.89393939393939E-04, - 'Nmi' => 1.64578833693305E-04, - 'in' => 1.20000000000000E+01, - 'ft' => 1.0, - 'yd' => 3.33333333223972E-01, - 'ang' => 3.04800000000000E+09, - 'Pica' => 8.63999999999946E+02 - ), - 'yd' => array( 'm' => 9.14400000300000E-01, - 'mi' => 5.68181818368230E-04, - 'Nmi' => 4.93736501241901E-04, - 'in' => 3.60000000118110E+01, - 'ft' => 3.00000000000000E+00, - 'yd' => 1.0, - 'ang' => 9.14400000300000E+09, - 'Pica' => 2.59200000085023E+03 - ), - 'ang' => array( 'm' => 1.00000000000000E-10, - 'mi' => 6.21371192237334E-14, - 'Nmi' => 5.39956803455724E-14, - 'in' => 3.93700787401575E-09, - 'ft' => 3.28083989501312E-10, - 'yd' => 1.09361329797891E-10, - 'ang' => 1.0, - 'Pica' => 2.83464566929116E-07 - ), - 'Pica' => array( 'm' => 3.52777777777800E-04, - 'mi' => 2.19205948372629E-07, - 'Nmi' => 1.90484761219114E-07, - 'in' => 1.38888888888898E-02, - 'ft' => 1.15740740740748E-03, - 'yd' => 3.85802469009251E-04, - 'ang' => 3.52777777777800E+06, - 'Pica' => 1.0 - ) - ), - 'Time' => array( 'yr' => array( 'yr' => 1.0, - 'day' => 365.25, - 'hr' => 8766.0, - 'mn' => 525960.0, - 'sec' => 31557600.0 - ), - 'day' => array( 'yr' => 2.73785078713210E-03, - 'day' => 1.0, - 'hr' => 24.0, - 'mn' => 1440.0, - 'sec' => 86400.0 - ), - 'hr' => array( 'yr' => 1.14077116130504E-04, - 'day' => 4.16666666666667E-02, - 'hr' => 1.0, - 'mn' => 60.0, - 'sec' => 3600.0 - ), - 'mn' => array( 'yr' => 1.90128526884174E-06, - 'day' => 6.94444444444444E-04, - 'hr' => 1.66666666666667E-02, - 'mn' => 1.0, - 'sec' => 60.0 - ), - 'sec' => array( 'yr' => 3.16880878140289E-08, - 'day' => 1.15740740740741E-05, - 'hr' => 2.77777777777778E-04, - 'mn' => 1.66666666666667E-02, - 'sec' => 1.0 - ) - ), - 'Pressure' => array( 'Pa' => array( 'Pa' => 1.0, - 'p' => 1.0, - 'atm' => 9.86923299998193E-06, - 'at' => 9.86923299998193E-06, - 'mmHg' => 7.50061707998627E-03 - ), - 'p' => array( 'Pa' => 1.0, - 'p' => 1.0, - 'atm' => 9.86923299998193E-06, - 'at' => 9.86923299998193E-06, - 'mmHg' => 7.50061707998627E-03 - ), - 'atm' => array( 'Pa' => 1.01324996583000E+05, - 'p' => 1.01324996583000E+05, - 'atm' => 1.0, - 'at' => 1.0, - 'mmHg' => 760.0 - ), - 'at' => array( 'Pa' => 1.01324996583000E+05, - 'p' => 1.01324996583000E+05, - 'atm' => 1.0, - 'at' => 1.0, - 'mmHg' => 760.0 - ), - 'mmHg' => array( 'Pa' => 1.33322363925000E+02, - 'p' => 1.33322363925000E+02, - 'atm' => 1.31578947368421E-03, - 'at' => 1.31578947368421E-03, - 'mmHg' => 1.0 - ) - ), - 'Force' => array( 'N' => array( 'N' => 1.0, - 'dyn' => 1.0E+5, - 'dy' => 1.0E+5, - 'lbf' => 2.24808923655339E-01 - ), - 'dyn' => array( 'N' => 1.0E-5, - 'dyn' => 1.0, - 'dy' => 1.0, - 'lbf' => 2.24808923655339E-06 - ), - 'dy' => array( 'N' => 1.0E-5, - 'dyn' => 1.0, - 'dy' => 1.0, - 'lbf' => 2.24808923655339E-06 - ), - 'lbf' => array( 'N' => 4.448222, - 'dyn' => 4.448222E+5, - 'dy' => 4.448222E+5, - 'lbf' => 1.0 - ) - ), - 'Energy' => array( 'J' => array( 'J' => 1.0, - 'e' => 9.99999519343231E+06, - 'c' => 2.39006249473467E-01, - 'cal' => 2.38846190642017E-01, - 'eV' => 6.24145700000000E+18, - 'ev' => 6.24145700000000E+18, - 'HPh' => 3.72506430801000E-07, - 'hh' => 3.72506430801000E-07, - 'Wh' => 2.77777916238711E-04, - 'wh' => 2.77777916238711E-04, - 'flb' => 2.37304222192651E+01, - 'BTU' => 9.47815067349015E-04, - 'btu' => 9.47815067349015E-04 - ), - 'e' => array( 'J' => 1.00000048065700E-07, - 'e' => 1.0, - 'c' => 2.39006364353494E-08, - 'cal' => 2.38846305445111E-08, - 'eV' => 6.24146000000000E+11, - 'ev' => 6.24146000000000E+11, - 'HPh' => 3.72506609848824E-14, - 'hh' => 3.72506609848824E-14, - 'Wh' => 2.77778049754611E-11, - 'wh' => 2.77778049754611E-11, - 'flb' => 2.37304336254586E-06, - 'BTU' => 9.47815522922962E-11, - 'btu' => 9.47815522922962E-11 - ), - 'c' => array( 'J' => 4.18399101363672E+00, - 'e' => 4.18398900257312E+07, - 'c' => 1.0, - 'cal' => 9.99330315287563E-01, - 'eV' => 2.61142000000000E+19, - 'ev' => 2.61142000000000E+19, - 'HPh' => 1.55856355899327E-06, - 'hh' => 1.55856355899327E-06, - 'Wh' => 1.16222030532950E-03, - 'wh' => 1.16222030532950E-03, - 'flb' => 9.92878733152102E+01, - 'BTU' => 3.96564972437776E-03, - 'btu' => 3.96564972437776E-03 - ), - 'cal' => array( 'J' => 4.18679484613929E+00, - 'e' => 4.18679283372801E+07, - 'c' => 1.00067013349059E+00, - 'cal' => 1.0, - 'eV' => 2.61317000000000E+19, - 'ev' => 2.61317000000000E+19, - 'HPh' => 1.55960800463137E-06, - 'hh' => 1.55960800463137E-06, - 'Wh' => 1.16299914807955E-03, - 'wh' => 1.16299914807955E-03, - 'flb' => 9.93544094443283E+01, - 'BTU' => 3.96830723907002E-03, - 'btu' => 3.96830723907002E-03 - ), - 'eV' => array( 'J' => 1.60219000146921E-19, - 'e' => 1.60218923136574E-12, - 'c' => 3.82933423195043E-20, - 'cal' => 3.82676978535648E-20, - 'eV' => 1.0, - 'ev' => 1.0, - 'HPh' => 5.96826078912344E-26, - 'hh' => 5.96826078912344E-26, - 'Wh' => 4.45053000026614E-23, - 'wh' => 4.45053000026614E-23, - 'flb' => 3.80206452103492E-18, - 'BTU' => 1.51857982414846E-22, - 'btu' => 1.51857982414846E-22 - ), - 'ev' => array( 'J' => 1.60219000146921E-19, - 'e' => 1.60218923136574E-12, - 'c' => 3.82933423195043E-20, - 'cal' => 3.82676978535648E-20, - 'eV' => 1.0, - 'ev' => 1.0, - 'HPh' => 5.96826078912344E-26, - 'hh' => 5.96826078912344E-26, - 'Wh' => 4.45053000026614E-23, - 'wh' => 4.45053000026614E-23, - 'flb' => 3.80206452103492E-18, - 'BTU' => 1.51857982414846E-22, - 'btu' => 1.51857982414846E-22 - ), - 'HPh' => array( 'J' => 2.68451741316170E+06, - 'e' => 2.68451612283024E+13, - 'c' => 6.41616438565991E+05, - 'cal' => 6.41186757845835E+05, - 'eV' => 1.67553000000000E+25, - 'ev' => 1.67553000000000E+25, - 'HPh' => 1.0, - 'hh' => 1.0, - 'Wh' => 7.45699653134593E+02, - 'wh' => 7.45699653134593E+02, - 'flb' => 6.37047316692964E+07, - 'BTU' => 2.54442605275546E+03, - 'btu' => 2.54442605275546E+03 - ), - 'hh' => array( 'J' => 2.68451741316170E+06, - 'e' => 2.68451612283024E+13, - 'c' => 6.41616438565991E+05, - 'cal' => 6.41186757845835E+05, - 'eV' => 1.67553000000000E+25, - 'ev' => 1.67553000000000E+25, - 'HPh' => 1.0, - 'hh' => 1.0, - 'Wh' => 7.45699653134593E+02, - 'wh' => 7.45699653134593E+02, - 'flb' => 6.37047316692964E+07, - 'BTU' => 2.54442605275546E+03, - 'btu' => 2.54442605275546E+03 - ), - 'Wh' => array( 'J' => 3.59999820554720E+03, - 'e' => 3.59999647518369E+10, - 'c' => 8.60422069219046E+02, - 'cal' => 8.59845857713046E+02, - 'eV' => 2.24692340000000E+22, - 'ev' => 2.24692340000000E+22, - 'HPh' => 1.34102248243839E-03, - 'hh' => 1.34102248243839E-03, - 'Wh' => 1.0, - 'wh' => 1.0, - 'flb' => 8.54294774062316E+04, - 'BTU' => 3.41213254164705E+00, - 'btu' => 3.41213254164705E+00 - ), - 'wh' => array( 'J' => 3.59999820554720E+03, - 'e' => 3.59999647518369E+10, - 'c' => 8.60422069219046E+02, - 'cal' => 8.59845857713046E+02, - 'eV' => 2.24692340000000E+22, - 'ev' => 2.24692340000000E+22, - 'HPh' => 1.34102248243839E-03, - 'hh' => 1.34102248243839E-03, - 'Wh' => 1.0, - 'wh' => 1.0, - 'flb' => 8.54294774062316E+04, - 'BTU' => 3.41213254164705E+00, - 'btu' => 3.41213254164705E+00 - ), - 'flb' => array( 'J' => 4.21400003236424E-02, - 'e' => 4.21399800687660E+05, - 'c' => 1.00717234301644E-02, - 'cal' => 1.00649785509554E-02, - 'eV' => 2.63015000000000E+17, - 'ev' => 2.63015000000000E+17, - 'HPh' => 1.56974211145130E-08, - 'hh' => 1.56974211145130E-08, - 'Wh' => 1.17055614802000E-05, - 'wh' => 1.17055614802000E-05, - 'flb' => 1.0, - 'BTU' => 3.99409272448406E-05, - 'btu' => 3.99409272448406E-05 - ), - 'BTU' => array( 'J' => 1.05505813786749E+03, - 'e' => 1.05505763074665E+10, - 'c' => 2.52165488508168E+02, - 'cal' => 2.51996617135510E+02, - 'eV' => 6.58510000000000E+21, - 'ev' => 6.58510000000000E+21, - 'HPh' => 3.93015941224568E-04, - 'hh' => 3.93015941224568E-04, - 'Wh' => 2.93071851047526E-01, - 'wh' => 2.93071851047526E-01, - 'flb' => 2.50369750774671E+04, - 'BTU' => 1.0, - 'btu' => 1.0, - ), - 'btu' => array( 'J' => 1.05505813786749E+03, - 'e' => 1.05505763074665E+10, - 'c' => 2.52165488508168E+02, - 'cal' => 2.51996617135510E+02, - 'eV' => 6.58510000000000E+21, - 'ev' => 6.58510000000000E+21, - 'HPh' => 3.93015941224568E-04, - 'hh' => 3.93015941224568E-04, - 'Wh' => 2.93071851047526E-01, - 'wh' => 2.93071851047526E-01, - 'flb' => 2.50369750774671E+04, - 'BTU' => 1.0, - 'btu' => 1.0, - ) - ), - 'Power' => array( 'HP' => array( 'HP' => 1.0, - 'h' => 1.0, - 'W' => 7.45701000000000E+02, - 'w' => 7.45701000000000E+02 - ), - 'h' => array( 'HP' => 1.0, - 'h' => 1.0, - 'W' => 7.45701000000000E+02, - 'w' => 7.45701000000000E+02 - ), - 'W' => array( 'HP' => 1.34102006031908E-03, - 'h' => 1.34102006031908E-03, - 'W' => 1.0, - 'w' => 1.0 - ), - 'w' => array( 'HP' => 1.34102006031908E-03, - 'h' => 1.34102006031908E-03, - 'W' => 1.0, - 'w' => 1.0 - ) - ), - 'Magnetism' => array( 'T' => array( 'T' => 1.0, - 'ga' => 10000.0 - ), - 'ga' => array( 'T' => 0.0001, - 'ga' => 1.0 - ) - ), - 'Liquid' => array( 'tsp' => array( 'tsp' => 1.0, - 'tbs' => 3.33333333333333E-01, - 'oz' => 1.66666666666667E-01, - 'cup' => 2.08333333333333E-02, - 'pt' => 1.04166666666667E-02, - 'us_pt' => 1.04166666666667E-02, - 'uk_pt' => 8.67558516821960E-03, - 'qt' => 5.20833333333333E-03, - 'gal' => 1.30208333333333E-03, - 'l' => 4.92999408400710E-03, - 'lt' => 4.92999408400710E-03 - ), - 'tbs' => array( 'tsp' => 3.00000000000000E+00, - 'tbs' => 1.0, - 'oz' => 5.00000000000000E-01, - 'cup' => 6.25000000000000E-02, - 'pt' => 3.12500000000000E-02, - 'us_pt' => 3.12500000000000E-02, - 'uk_pt' => 2.60267555046588E-02, - 'qt' => 1.56250000000000E-02, - 'gal' => 3.90625000000000E-03, - 'l' => 1.47899822520213E-02, - 'lt' => 1.47899822520213E-02 - ), - 'oz' => array( 'tsp' => 6.00000000000000E+00, - 'tbs' => 2.00000000000000E+00, - 'oz' => 1.0, - 'cup' => 1.25000000000000E-01, - 'pt' => 6.25000000000000E-02, - 'us_pt' => 6.25000000000000E-02, - 'uk_pt' => 5.20535110093176E-02, - 'qt' => 3.12500000000000E-02, - 'gal' => 7.81250000000000E-03, - 'l' => 2.95799645040426E-02, - 'lt' => 2.95799645040426E-02 - ), - 'cup' => array( 'tsp' => 4.80000000000000E+01, - 'tbs' => 1.60000000000000E+01, - 'oz' => 8.00000000000000E+00, - 'cup' => 1.0, - 'pt' => 5.00000000000000E-01, - 'us_pt' => 5.00000000000000E-01, - 'uk_pt' => 4.16428088074541E-01, - 'qt' => 2.50000000000000E-01, - 'gal' => 6.25000000000000E-02, - 'l' => 2.36639716032341E-01, - 'lt' => 2.36639716032341E-01 - ), - 'pt' => array( 'tsp' => 9.60000000000000E+01, - 'tbs' => 3.20000000000000E+01, - 'oz' => 1.60000000000000E+01, - 'cup' => 2.00000000000000E+00, - 'pt' => 1.0, - 'us_pt' => 1.0, - 'uk_pt' => 8.32856176149081E-01, - 'qt' => 5.00000000000000E-01, - 'gal' => 1.25000000000000E-01, - 'l' => 4.73279432064682E-01, - 'lt' => 4.73279432064682E-01 - ), - 'us_pt' => array( 'tsp' => 9.60000000000000E+01, - 'tbs' => 3.20000000000000E+01, - 'oz' => 1.60000000000000E+01, - 'cup' => 2.00000000000000E+00, - 'pt' => 1.0, - 'us_pt' => 1.0, - 'uk_pt' => 8.32856176149081E-01, - 'qt' => 5.00000000000000E-01, - 'gal' => 1.25000000000000E-01, - 'l' => 4.73279432064682E-01, - 'lt' => 4.73279432064682E-01 - ), - 'uk_pt' => array( 'tsp' => 1.15266000000000E+02, - 'tbs' => 3.84220000000000E+01, - 'oz' => 1.92110000000000E+01, - 'cup' => 2.40137500000000E+00, - 'pt' => 1.20068750000000E+00, - 'us_pt' => 1.20068750000000E+00, - 'uk_pt' => 1.0, - 'qt' => 6.00343750000000E-01, - 'gal' => 1.50085937500000E-01, - 'l' => 5.68260698087162E-01, - 'lt' => 5.68260698087162E-01 - ), - 'qt' => array( 'tsp' => 1.92000000000000E+02, - 'tbs' => 6.40000000000000E+01, - 'oz' => 3.20000000000000E+01, - 'cup' => 4.00000000000000E+00, - 'pt' => 2.00000000000000E+00, - 'us_pt' => 2.00000000000000E+00, - 'uk_pt' => 1.66571235229816E+00, - 'qt' => 1.0, - 'gal' => 2.50000000000000E-01, - 'l' => 9.46558864129363E-01, - 'lt' => 9.46558864129363E-01 - ), - 'gal' => array( 'tsp' => 7.68000000000000E+02, - 'tbs' => 2.56000000000000E+02, - 'oz' => 1.28000000000000E+02, - 'cup' => 1.60000000000000E+01, - 'pt' => 8.00000000000000E+00, - 'us_pt' => 8.00000000000000E+00, - 'uk_pt' => 6.66284940919265E+00, - 'qt' => 4.00000000000000E+00, - 'gal' => 1.0, - 'l' => 3.78623545651745E+00, - 'lt' => 3.78623545651745E+00 - ), - 'l' => array( 'tsp' => 2.02840000000000E+02, - 'tbs' => 6.76133333333333E+01, - 'oz' => 3.38066666666667E+01, - 'cup' => 4.22583333333333E+00, - 'pt' => 2.11291666666667E+00, - 'us_pt' => 2.11291666666667E+00, - 'uk_pt' => 1.75975569552166E+00, - 'qt' => 1.05645833333333E+00, - 'gal' => 2.64114583333333E-01, - 'l' => 1.0, - 'lt' => 1.0 - ), - 'lt' => array( 'tsp' => 2.02840000000000E+02, - 'tbs' => 6.76133333333333E+01, - 'oz' => 3.38066666666667E+01, - 'cup' => 4.22583333333333E+00, - 'pt' => 2.11291666666667E+00, - 'us_pt' => 2.11291666666667E+00, - 'uk_pt' => 1.75975569552166E+00, - 'qt' => 1.05645833333333E+00, - 'gal' => 2.64114583333333E-01, - 'l' => 1.0, - 'lt' => 1.0 - ) - ) - ); - - - /** - * _parseComplex - * - * Parses a complex number into its real and imaginary parts, and an I or J suffix - * - * @param string $complexNumber The complex number - * @return string[] Indexed on "real", "imaginary" and "suffix" - */ - public static function _parseComplex($complexNumber) { - $workString = (string) $complexNumber; - - $realNumber = $imaginary = 0; - // Extract the suffix, if there is one - $suffix = substr($workString,-1); - if (!is_numeric($suffix)) { - $workString = substr($workString,0,-1); - } else { - $suffix = ''; - } - - // Split the input into its Real and Imaginary components - $leadingSign = 0; - if (strlen($workString) > 0) { - $leadingSign = (($workString{0} == '+') || ($workString{0} == '-')) ? 1 : 0; - } - $power = ''; - $realNumber = strtok($workString, '+-'); - if (strtoupper(substr($realNumber,-1)) == 'E') { - $power = strtok('+-'); - ++$leadingSign; - } - - $realNumber = substr($workString,0,strlen($realNumber)+strlen($power)+$leadingSign); - - if ($suffix != '') { - $imaginary = substr($workString,strlen($realNumber)); - - if (($imaginary == '') && (($realNumber == '') || ($realNumber == '+') || ($realNumber == '-'))) { - $imaginary = $realNumber.'1'; - $realNumber = '0'; - } else if ($imaginary == '') { - $imaginary = $realNumber; - $realNumber = '0'; - } elseif (($imaginary == '+') || ($imaginary == '-')) { - $imaginary .= '1'; - } - } - - return array( 'real' => $realNumber, - 'imaginary' => $imaginary, - 'suffix' => $suffix - ); - } // function _parseComplex() - - - /** - * Cleans the leading characters in a complex number string - * - * @param string $complexNumber The complex number to clean - * @return string The "cleaned" complex number - */ - private static function _cleanComplex($complexNumber) { - if ($complexNumber{0} == '+') $complexNumber = substr($complexNumber,1); - if ($complexNumber{0} == '0') $complexNumber = substr($complexNumber,1); - if ($complexNumber{0} == '.') $complexNumber = '0'.$complexNumber; - if ($complexNumber{0} == '+') $complexNumber = substr($complexNumber,1); - return $complexNumber; - } - - /** - * Formats a number base string value with leading zeroes - * - * @param string $xVal The "number" to pad - * @param integer $places The length that we want to pad this value - * @return string The padded "number" - */ - private static function _nbrConversionFormat($xVal, $places) { - if (!is_null($places)) { - if (strlen($xVal) <= $places) { - return substr(str_pad($xVal, $places, '0', STR_PAD_LEFT), -10); - } else { - return PHPExcel_Calculation_Functions::NaN(); - } - } - - return substr($xVal, -10); - } // function _nbrConversionFormat() - - /** - * BESSELI - * - * Returns the modified Bessel function In(x), which is equivalent to the Bessel function evaluated - * for purely imaginary arguments - * - * Excel Function: - * BESSELI(x,ord) - * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. - * If x is nonnumeric, BESSELI returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. - * If ord is not an integer, it is truncated. - * If $ord is nonnumeric, BESSELI returns the #VALUE! error value. - * If $ord < 0, BESSELI returns the #NUM! error value. - * @return float - * - */ - public static function BESSELI($x, $ord) { - $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); - $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); - - if ((is_numeric($x)) && (is_numeric($ord))) { - $ord = floor($ord); - if ($ord < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - - if (abs($x) <= 30) { - $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); - $ordK = 1; - $fSqrX = ($x * $x) / 4; - do { - $fTerm *= $fSqrX; - $fTerm /= ($ordK * ($ordK + $ord)); - $fResult += $fTerm; - } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); - } else { - $f_2_PI = 2 * M_PI; - - $fXAbs = abs($x); - $fResult = exp($fXAbs) / sqrt($f_2_PI * $fXAbs); - if (($ord & 1) && ($x < 0)) { - $fResult = -$fResult; - } - } - return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BESSELI() - - - /** - * BESSELJ - * - * Returns the Bessel function - * - * Excel Function: - * BESSELJ(x,ord) - * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. - * If x is nonnumeric, BESSELJ returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. - * If $ord is nonnumeric, BESSELJ returns the #VALUE! error value. - * If $ord < 0, BESSELJ returns the #NUM! error value. - * @return float - * - */ - public static function BESSELJ($x, $ord) { - $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); - $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); - - if ((is_numeric($x)) && (is_numeric($ord))) { - $ord = floor($ord); - if ($ord < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $fResult = 0; - if (abs($x) <= 30) { - $fResult = $fTerm = pow($x / 2, $ord) / PHPExcel_Calculation_MathTrig::FACT($ord); - $ordK = 1; - $fSqrX = ($x * $x) / -4; - do { - $fTerm *= $fSqrX; - $fTerm /= ($ordK * ($ordK + $ord)); - $fResult += $fTerm; - } while ((abs($fTerm) > 1e-12) && (++$ordK < 100)); - } else { - $f_PI_DIV_2 = M_PI / 2; - $f_PI_DIV_4 = M_PI / 4; - - $fXAbs = abs($x); - $fResult = sqrt(M_2DIVPI / $fXAbs) * cos($fXAbs - $ord * $f_PI_DIV_2 - $f_PI_DIV_4); - if (($ord & 1) && ($x < 0)) { - $fResult = -$fResult; - } - } - return (is_nan($fResult)) ? PHPExcel_Calculation_Functions::NaN() : $fResult; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BESSELJ() - - - private static function _Besselk0($fNum) { - if ($fNum <= 2) { - $fNum2 = $fNum * 0.5; - $y = ($fNum2 * $fNum2); - $fRet = -log($fNum2) * self::BESSELI($fNum, 0) + - (-0.57721566 + $y * (0.42278420 + $y * (0.23069756 + $y * (0.3488590e-1 + $y * (0.262698e-2 + $y * - (0.10750e-3 + $y * 0.74e-5)))))); - } else { - $y = 2 / $fNum; - $fRet = exp(-$fNum) / sqrt($fNum) * - (1.25331414 + $y * (-0.7832358e-1 + $y * (0.2189568e-1 + $y * (-0.1062446e-1 + $y * - (0.587872e-2 + $y * (-0.251540e-2 + $y * 0.53208e-3)))))); - } - return $fRet; - } // function _Besselk0() - - - private static function _Besselk1($fNum) { - if ($fNum <= 2) { - $fNum2 = $fNum * 0.5; - $y = ($fNum2 * $fNum2); - $fRet = log($fNum2) * self::BESSELI($fNum, 1) + - (1 + $y * (0.15443144 + $y * (-0.67278579 + $y * (-0.18156897 + $y * (-0.1919402e-1 + $y * - (-0.110404e-2 + $y * (-0.4686e-4))))))) / $fNum; - } else { - $y = 2 / $fNum; - $fRet = exp(-$fNum) / sqrt($fNum) * - (1.25331414 + $y * (0.23498619 + $y * (-0.3655620e-1 + $y * (0.1504268e-1 + $y * (-0.780353e-2 + $y * - (0.325614e-2 + $y * (-0.68245e-3))))))); - } - return $fRet; - } // function _Besselk1() - - - /** - * BESSELK - * - * Returns the modified Bessel function Kn(x), which is equivalent to the Bessel functions evaluated - * for purely imaginary arguments. - * - * Excel Function: - * BESSELK(x,ord) - * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. - * If x is nonnumeric, BESSELK returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. - * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. - * If $ord < 0, BESSELK returns the #NUM! error value. - * @return float - * - */ - public static function BESSELK($x, $ord) { - $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); - $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); - - if ((is_numeric($x)) && (is_numeric($ord))) { - if (($ord < 0) || ($x == 0.0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - - switch(floor($ord)) { - case 0 : return self::_Besselk0($x); - break; - case 1 : return self::_Besselk1($x); - break; - default : $fTox = 2 / $x; - $fBkm = self::_Besselk0($x); - $fBk = self::_Besselk1($x); - for ($n = 1; $n < $ord; ++$n) { - $fBkp = $fBkm + $n * $fTox * $fBk; - $fBkm = $fBk; - $fBk = $fBkp; - } - } - return (is_nan($fBk)) ? PHPExcel_Calculation_Functions::NaN() : $fBk; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BESSELK() - - - private static function _Bessely0($fNum) { - if ($fNum < 8.0) { - $y = ($fNum * $fNum); - $f1 = -2957821389.0 + $y * (7062834065.0 + $y * (-512359803.6 + $y * (10879881.29 + $y * (-86327.92757 + $y * 228.4622733)))); - $f2 = 40076544269.0 + $y * (745249964.8 + $y * (7189466.438 + $y * (47447.26470 + $y * (226.1030244 + $y)))); - $fRet = $f1 / $f2 + 0.636619772 * self::BESSELJ($fNum, 0) * log($fNum); - } else { - $z = 8.0 / $fNum; - $y = ($z * $z); - $xx = $fNum - 0.785398164; - $f1 = 1 + $y * (-0.1098628627e-2 + $y * (0.2734510407e-4 + $y * (-0.2073370639e-5 + $y * 0.2093887211e-6))); - $f2 = -0.1562499995e-1 + $y * (0.1430488765e-3 + $y * (-0.6911147651e-5 + $y * (0.7621095161e-6 + $y * (-0.934945152e-7)))); - $fRet = sqrt(0.636619772 / $fNum) * (sin($xx) * $f1 + $z * cos($xx) * $f2); - } - return $fRet; - } // function _Bessely0() - - - private static function _Bessely1($fNum) { - if ($fNum < 8.0) { - $y = ($fNum * $fNum); - $f1 = $fNum * (-0.4900604943e13 + $y * (0.1275274390e13 + $y * (-0.5153438139e11 + $y * (0.7349264551e9 + $y * - (-0.4237922726e7 + $y * 0.8511937935e4))))); - $f2 = 0.2499580570e14 + $y * (0.4244419664e12 + $y * (0.3733650367e10 + $y * (0.2245904002e8 + $y * - (0.1020426050e6 + $y * (0.3549632885e3 + $y))))); - $fRet = $f1 / $f2 + 0.636619772 * ( self::BESSELJ($fNum, 1) * log($fNum) - 1 / $fNum); - } else { - $fRet = sqrt(0.636619772 / $fNum) * sin($fNum - 2.356194491); - } - return $fRet; - } // function _Bessely1() - - - /** - * BESSELY - * - * Returns the Bessel function, which is also called the Weber function or the Neumann function. - * - * Excel Function: - * BESSELY(x,ord) - * - * @access public - * @category Engineering Functions - * @param float $x The value at which to evaluate the function. - * If x is nonnumeric, BESSELK returns the #VALUE! error value. - * @param integer $ord The order of the Bessel function. If n is not an integer, it is truncated. - * If $ord is nonnumeric, BESSELK returns the #VALUE! error value. - * If $ord < 0, BESSELK returns the #NUM! error value. - * - * @return float - */ - public static function BESSELY($x, $ord) { - $x = (is_null($x)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($x); - $ord = (is_null($ord)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($ord); - - if ((is_numeric($x)) && (is_numeric($ord))) { - if (($ord < 0) || ($x == 0.0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - - switch(floor($ord)) { - case 0 : return self::_Bessely0($x); - break; - case 1 : return self::_Bessely1($x); - break; - default: $fTox = 2 / $x; - $fBym = self::_Bessely0($x); - $fBy = self::_Bessely1($x); - for ($n = 1; $n < $ord; ++$n) { - $fByp = $n * $fTox * $fBy - $fBym; - $fBym = $fBy; - $fBy = $fByp; - } - } - return (is_nan($fBy)) ? PHPExcel_Calculation_Functions::NaN() : $fBy; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BESSELY() - - - /** - * BINTODEC - * - * Return a binary value as decimal. - * - * Excel Function: - * BIN2DEC(x) - * - * @access public - * @category Engineering Functions - * @param string $x The binary number (as a string) that you want to convert. The number - * cannot contain more than 10 characters (10 bits). The most significant - * bit of number is the sign bit. The remaining 9 bits are magnitude bits. - * Negative numbers are represented using two's-complement notation. - * If number is not a valid binary number, or if number contains more than - * 10 characters (10 bits), BIN2DEC returns the #NUM! error value. - * @return string - */ - public static function BINTODEC($x) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $x = floor($x); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (strlen($x) > 10) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (strlen($x) == 10) { - // Two's Complement - $x = substr($x,-9); - return '-'.(512-bindec($x)); - } - return bindec($x); - } // function BINTODEC() - - - /** - * BINTOHEX - * - * Return a binary value as hex. - * - * Excel Function: - * BIN2HEX(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The binary number (as a string) that you want to convert. The number - * cannot contain more than 10 characters (10 bits). The most significant - * bit of number is the sign bit. The remaining 9 bits are magnitude bits. - * Negative numbers are represented using two's-complement notation. - * If number is not a valid binary number, or if number contains more than - * 10 characters (10 bits), BIN2HEX returns the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, BIN2HEX uses the - * minimum number of characters necessary. Places is useful for padding the - * return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, BIN2HEX returns the #VALUE! error value. - * If places is negative, BIN2HEX returns the #NUM! error value. - * @return string - */ - public static function BINTOHEX($x, $places=NULL) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $x = floor($x); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (strlen($x) > 10) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (strlen($x) == 10) { - // Two's Complement - return str_repeat('F',8).substr(strtoupper(dechex(bindec(substr($x,-9)))),-2); - } - $hexVal = (string) strtoupper(dechex(bindec($x))); - - return self::_nbrConversionFormat($hexVal,$places); - } // function BINTOHEX() - - - /** - * BINTOOCT - * - * Return a binary value as octal. - * - * Excel Function: - * BIN2OCT(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The binary number (as a string) that you want to convert. The number - * cannot contain more than 10 characters (10 bits). The most significant - * bit of number is the sign bit. The remaining 9 bits are magnitude bits. - * Negative numbers are represented using two's-complement notation. - * If number is not a valid binary number, or if number contains more than - * 10 characters (10 bits), BIN2OCT returns the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, BIN2OCT uses the - * minimum number of characters necessary. Places is useful for padding the - * return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, BIN2OCT returns the #VALUE! error value. - * If places is negative, BIN2OCT returns the #NUM! error value. - * @return string - */ - public static function BINTOOCT($x, $places=NULL) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $x = floor($x); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[01]/',$x,$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (strlen($x) > 10) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (strlen($x) == 10) { - // Two's Complement - return str_repeat('7',7).substr(strtoupper(decoct(bindec(substr($x,-9)))),-3); - } - $octVal = (string) decoct(bindec($x)); - - return self::_nbrConversionFormat($octVal,$places); - } // function BINTOOCT() - - - /** - * DECTOBIN - * - * Return a decimal value as binary. - * - * Excel Function: - * DEC2BIN(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The decimal integer you want to convert. If number is negative, - * valid place values are ignored and DEC2BIN returns a 10-character - * (10-bit) binary number in which the most significant bit is the sign - * bit. The remaining 9 bits are magnitude bits. Negative numbers are - * represented using two's-complement notation. - * If number < -512 or if number > 511, DEC2BIN returns the #NUM! error - * value. - * If number is nonnumeric, DEC2BIN returns the #VALUE! error value. - * If DEC2BIN requires more than places characters, it returns the #NUM! - * error value. - * @param integer $places The number of characters to use. If places is omitted, DEC2BIN uses - * the minimum number of characters necessary. Places is useful for - * padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, DEC2BIN returns the #VALUE! error value. - * If places is zero or negative, DEC2BIN returns the #NUM! error value. - * @return string - */ - public static function DECTOBIN($x, $places=NULL) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) floor($x); - $r = decbin($x); - if (strlen($r) == 32) { - // Two's Complement - $r = substr($r,-10); - } elseif (strlen($r) > 11) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return self::_nbrConversionFormat($r,$places); - } // function DECTOBIN() - - - /** - * DECTOHEX - * - * Return a decimal value as hex. - * - * Excel Function: - * DEC2HEX(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The decimal integer you want to convert. If number is negative, - * places is ignored and DEC2HEX returns a 10-character (40-bit) - * hexadecimal number in which the most significant bit is the sign - * bit. The remaining 39 bits are magnitude bits. Negative numbers - * are represented using two's-complement notation. - * If number < -549,755,813,888 or if number > 549,755,813,887, - * DEC2HEX returns the #NUM! error value. - * If number is nonnumeric, DEC2HEX returns the #VALUE! error value. - * If DEC2HEX requires more than places characters, it returns the - * #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, DEC2HEX uses - * the minimum number of characters necessary. Places is useful for - * padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, DEC2HEX returns the #VALUE! error value. - * If places is zero or negative, DEC2HEX returns the #NUM! error value. - * @return string - */ - public static function DECTOHEX($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) floor($x); - $r = strtoupper(dechex($x)); - if (strlen($r) == 8) { - // Two's Complement - $r = 'FF'.$r; - } - - return self::_nbrConversionFormat($r,$places); - } // function DECTOHEX() - - - /** - * DECTOOCT - * - * Return an decimal value as octal. - * - * Excel Function: - * DEC2OCT(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The decimal integer you want to convert. If number is negative, - * places is ignored and DEC2OCT returns a 10-character (30-bit) - * octal number in which the most significant bit is the sign bit. - * The remaining 29 bits are magnitude bits. Negative numbers are - * represented using two's-complement notation. - * If number < -536,870,912 or if number > 536,870,911, DEC2OCT - * returns the #NUM! error value. - * If number is nonnumeric, DEC2OCT returns the #VALUE! error value. - * If DEC2OCT requires more than places characters, it returns the - * #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, DEC2OCT uses - * the minimum number of characters necessary. Places is useful for - * padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, DEC2OCT returns the #VALUE! error value. - * If places is zero or negative, DEC2OCT returns the #NUM! error value. - * @return string - */ - public static function DECTOOCT($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $x = (int) $x; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[-0123456789.]/',$x,$out)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) floor($x); - $r = decoct($x); - if (strlen($r) == 11) { - // Two's Complement - $r = substr($r,-10); - } - - return self::_nbrConversionFormat($r,$places); - } // function DECTOOCT() - - - /** - * HEXTOBIN - * - * Return a hex value as binary. - * - * Excel Function: - * HEX2BIN(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x the hexadecimal number you want to convert. Number cannot - * contain more than 10 characters. The most significant bit of - * number is the sign bit (40th bit from the right). The remaining - * 9 bits are magnitude bits. Negative numbers are represented - * using two's-complement notation. - * If number is negative, HEX2BIN ignores places and returns a - * 10-character binary number. - * If number is negative, it cannot be less than FFFFFFFE00, and - * if number is positive, it cannot be greater than 1FF. - * If number is not a valid hexadecimal number, HEX2BIN returns - * the #NUM! error value. - * If HEX2BIN requires more than places characters, it returns - * the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, - * HEX2BIN uses the minimum number of characters necessary. Places - * is useful for padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, HEX2BIN returns the #VALUE! error value. - * If places is negative, HEX2BIN returns the #NUM! error value. - * @return string - */ - public static function HEXTOBIN($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $binVal = decbin(hexdec($x)); - - return substr(self::_nbrConversionFormat($binVal,$places),-10); - } // function HEXTOBIN() - - - /** - * HEXTODEC - * - * Return a hex value as decimal. - * - * Excel Function: - * HEX2DEC(x) - * - * @access public - * @category Engineering Functions - * @param string $x The hexadecimal number you want to convert. This number cannot - * contain more than 10 characters (40 bits). The most significant - * bit of number is the sign bit. The remaining 39 bits are magnitude - * bits. Negative numbers are represented using two's-complement - * notation. - * If number is not a valid hexadecimal number, HEX2DEC returns the - * #NUM! error value. - * @return string - */ - public static function HEXTODEC($x) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return hexdec($x); - } // function HEXTODEC() - - - /** - * HEXTOOCT - * - * Return a hex value as octal. - * - * Excel Function: - * HEX2OCT(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The hexadecimal number you want to convert. Number cannot - * contain more than 10 characters. The most significant bit of - * number is the sign bit. The remaining 39 bits are magnitude - * bits. Negative numbers are represented using two's-complement - * notation. - * If number is negative, HEX2OCT ignores places and returns a - * 10-character octal number. - * If number is negative, it cannot be less than FFE0000000, and - * if number is positive, it cannot be greater than 1FFFFFFF. - * If number is not a valid hexadecimal number, HEX2OCT returns - * the #NUM! error value. - * If HEX2OCT requires more than places characters, it returns - * the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, HEX2OCT - * uses the minimum number of characters necessary. Places is - * useful for padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, HEX2OCT returns the #VALUE! error - * value. - * If places is negative, HEX2OCT returns the #NUM! error value. - * @return string - */ - public static function HEXTOOCT($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/',strtoupper($x),$out)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $octVal = decoct(hexdec($x)); - - return self::_nbrConversionFormat($octVal,$places); - } // function HEXTOOCT() - - - /** - * OCTTOBIN - * - * Return an octal value as binary. - * - * Excel Function: - * OCT2BIN(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The octal number you want to convert. Number may not - * contain more than 10 characters. The most significant - * bit of number is the sign bit. The remaining 29 bits - * are magnitude bits. Negative numbers are represented - * using two's-complement notation. - * If number is negative, OCT2BIN ignores places and returns - * a 10-character binary number. - * If number is negative, it cannot be less than 7777777000, - * and if number is positive, it cannot be greater than 777. - * If number is not a valid octal number, OCT2BIN returns - * the #NUM! error value. - * If OCT2BIN requires more than places characters, it - * returns the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, - * OCT2BIN uses the minimum number of characters necessary. - * Places is useful for padding the return value with - * leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, OCT2BIN returns the #VALUE! - * error value. - * If places is negative, OCT2BIN returns the #NUM! error - * value. - * @return string - */ - public static function OCTTOBIN($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $r = decbin(octdec($x)); - - return self::_nbrConversionFormat($r,$places); - } // function OCTTOBIN() - - - /** - * OCTTODEC - * - * Return an octal value as decimal. - * - * Excel Function: - * OCT2DEC(x) - * - * @access public - * @category Engineering Functions - * @param string $x The octal number you want to convert. Number may not contain - * more than 10 octal characters (30 bits). The most significant - * bit of number is the sign bit. The remaining 29 bits are - * magnitude bits. Negative numbers are represented using - * two's-complement notation. - * If number is not a valid octal number, OCT2DEC returns the - * #NUM! error value. - * @return string - */ - public static function OCTTODEC($x) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return octdec($x); - } // function OCTTODEC() - - - /** - * OCTTOHEX - * - * Return an octal value as hex. - * - * Excel Function: - * OCT2HEX(x[,places]) - * - * @access public - * @category Engineering Functions - * @param string $x The octal number you want to convert. Number may not contain - * more than 10 octal characters (30 bits). The most significant - * bit of number is the sign bit. The remaining 29 bits are - * magnitude bits. Negative numbers are represented using - * two's-complement notation. - * If number is negative, OCT2HEX ignores places and returns a - * 10-character hexadecimal number. - * If number is not a valid octal number, OCT2HEX returns the - * #NUM! error value. - * If OCT2HEX requires more than places characters, it returns - * the #NUM! error value. - * @param integer $places The number of characters to use. If places is omitted, OCT2HEX - * uses the minimum number of characters necessary. Places is useful - * for padding the return value with leading 0s (zeros). - * If places is not an integer, it is truncated. - * If places is nonnumeric, OCT2HEX returns the #VALUE! error value. - * If places is negative, OCT2HEX returns the #NUM! error value. - * @return string - */ - public static function OCTTOHEX($x, $places=null) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $places = PHPExcel_Calculation_Functions::flattenSingleValue($places); - - if (is_bool($x)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $x = (string) $x; - if (preg_match_all('/[01234567]/',$x,$out) != strlen($x)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $hexVal = strtoupper(dechex(octdec($x))); - - return self::_nbrConversionFormat($hexVal,$places); - } // function OCTTOHEX() - - - /** - * COMPLEX - * - * Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj. - * - * Excel Function: - * COMPLEX(realNumber,imaginary[,places]) - * - * @access public - * @category Engineering Functions - * @param float $realNumber The real coefficient of the complex number. - * @param float $imaginary The imaginary coefficient of the complex number. - * @param string $suffix The suffix for the imaginary component of the complex number. - * If omitted, the suffix is assumed to be "i". - * @return string - */ - public static function COMPLEX($realNumber=0.0, $imaginary=0.0, $suffix='i') { - $realNumber = (is_null($realNumber)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); - $imaginary = (is_null($imaginary)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($imaginary); - $suffix = (is_null($suffix)) ? 'i' : PHPExcel_Calculation_Functions::flattenSingleValue($suffix); - - if (((is_numeric($realNumber)) && (is_numeric($imaginary))) && - (($suffix == 'i') || ($suffix == 'j') || ($suffix == ''))) { - $realNumber = (float) $realNumber; - $imaginary = (float) $imaginary; - - if ($suffix == '') $suffix = 'i'; - if ($realNumber == 0.0) { - if ($imaginary == 0.0) { - return (string) '0'; - } elseif ($imaginary == 1.0) { - return (string) $suffix; - } elseif ($imaginary == -1.0) { - return (string) '-'.$suffix; - } - return (string) $imaginary.$suffix; - } elseif ($imaginary == 0.0) { - return (string) $realNumber; - } elseif ($imaginary == 1.0) { - return (string) $realNumber.'+'.$suffix; - } elseif ($imaginary == -1.0) { - return (string) $realNumber.'-'.$suffix; - } - if ($imaginary > 0) { $imaginary = (string) '+'.$imaginary; } - return (string) $realNumber.$imaginary.$suffix; - } - - return PHPExcel_Calculation_Functions::VALUE(); - } // function COMPLEX() - - - /** - * IMAGINARY - * - * Returns the imaginary coefficient of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMAGINARY(complexNumber) - * - * @access public - * @category Engineering Functions - * @param string $complexNumber The complex number for which you want the imaginary - * coefficient. - * @return float - */ - public static function IMAGINARY($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - return $parsedComplex['imaginary']; - } // function IMAGINARY() - - - /** - * IMREAL - * - * Returns the real coefficient of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMREAL(complexNumber) - * - * @access public - * @category Engineering Functions - * @param string $complexNumber The complex number for which you want the real coefficient. - * @return float - */ - public static function IMREAL($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - return $parsedComplex['real']; - } // function IMREAL() - - - /** - * IMABS - * - * Returns the absolute value (modulus) of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMABS(complexNumber) - * - * @param string $complexNumber The complex number for which you want the absolute value. - * @return float - */ - public static function IMABS($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - return sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])); - } // function IMABS() - - - /** - * IMARGUMENT - * - * Returns the argument theta of a complex number, i.e. the angle in radians from the real - * axis to the representation of the number in polar coordinates. - * - * Excel Function: - * IMARGUMENT(complexNumber) - * - * @param string $complexNumber The complex number for which you want the argument theta. - * @return float - */ - public static function IMARGUMENT($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if ($parsedComplex['real'] == 0.0) { - if ($parsedComplex['imaginary'] == 0.0) { - return 0.0; - } elseif($parsedComplex['imaginary'] < 0.0) { - return M_PI / -2; - } else { - return M_PI / 2; - } - } elseif ($parsedComplex['real'] > 0.0) { - return atan($parsedComplex['imaginary'] / $parsedComplex['real']); - } elseif ($parsedComplex['imaginary'] < 0.0) { - return 0 - (M_PI - atan(abs($parsedComplex['imaginary']) / abs($parsedComplex['real']))); - } else { - return M_PI - atan($parsedComplex['imaginary'] / abs($parsedComplex['real'])); - } - } // function IMARGUMENT() - - - /** - * IMCONJUGATE - * - * Returns the complex conjugate of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMCONJUGATE(complexNumber) - * - * @param string $complexNumber The complex number for which you want the conjugate. - * @return string - */ - public static function IMCONJUGATE($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if ($parsedComplex['imaginary'] == 0.0) { - return $parsedComplex['real']; - } else { - return self::_cleanComplex( self::COMPLEX( $parsedComplex['real'], - 0 - $parsedComplex['imaginary'], - $parsedComplex['suffix'] - ) - ); - } - } // function IMCONJUGATE() - - - /** - * IMCOS - * - * Returns the cosine of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMCOS(complexNumber) - * - * @param string $complexNumber The complex number for which you want the cosine. - * @return string|float - */ - public static function IMCOS($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if ($parsedComplex['imaginary'] == 0.0) { - return cos($parsedComplex['real']); - } else { - return self::IMCONJUGATE(self::COMPLEX(cos($parsedComplex['real']) * cosh($parsedComplex['imaginary']),sin($parsedComplex['real']) * sinh($parsedComplex['imaginary']),$parsedComplex['suffix'])); - } - } // function IMCOS() - - - /** - * IMSIN - * - * Returns the sine of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMSIN(complexNumber) - * - * @param string $complexNumber The complex number for which you want the sine. - * @return string|float - */ - public static function IMSIN($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if ($parsedComplex['imaginary'] == 0.0) { - return sin($parsedComplex['real']); - } else { - return self::COMPLEX(sin($parsedComplex['real']) * cosh($parsedComplex['imaginary']),cos($parsedComplex['real']) * sinh($parsedComplex['imaginary']),$parsedComplex['suffix']); - } - } // function IMSIN() - - - /** - * IMSQRT - * - * Returns the square root of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMSQRT(complexNumber) - * - * @param string $complexNumber The complex number for which you want the square root. - * @return string - */ - public static function IMSQRT($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - $theta = self::IMARGUMENT($complexNumber); - $d1 = cos($theta / 2); - $d2 = sin($theta / 2); - $r = sqrt(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); - - if ($parsedComplex['suffix'] == '') { - return self::COMPLEX($d1 * $r,$d2 * $r); - } else { - return self::COMPLEX($d1 * $r,$d2 * $r,$parsedComplex['suffix']); - } - } // function IMSQRT() - - - /** - * IMLN - * - * Returns the natural logarithm of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMLN(complexNumber) - * - * @param string $complexNumber The complex number for which you want the natural logarithm. - * @return string - */ - public static function IMLN($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $logR = log(sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary']))); - $t = self::IMARGUMENT($complexNumber); - - if ($parsedComplex['suffix'] == '') { - return self::COMPLEX($logR,$t); - } else { - return self::COMPLEX($logR,$t,$parsedComplex['suffix']); - } - } // function IMLN() - - - /** - * IMLOG10 - * - * Returns the common logarithm (base 10) of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMLOG10(complexNumber) - * - * @param string $complexNumber The complex number for which you want the common logarithm. - * @return string - */ - public static function IMLOG10($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return log10($parsedComplex['real']); - } - - return self::IMPRODUCT(log10(EULER),self::IMLN($complexNumber)); - } // function IMLOG10() - - - /** - * IMLOG2 - * - * Returns the base-2 logarithm of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMLOG2(complexNumber) - * - * @param string $complexNumber The complex number for which you want the base-2 logarithm. - * @return string - */ - public static function IMLOG2($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (($parsedComplex['real'] > 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return log($parsedComplex['real'],2); - } - - return self::IMPRODUCT(log(EULER,2),self::IMLN($complexNumber)); - } // function IMLOG2() - - - /** - * IMEXP - * - * Returns the exponential of a complex number in x + yi or x + yj text format. - * - * Excel Function: - * IMEXP(complexNumber) - * - * @param string $complexNumber The complex number for which you want the exponential. - * @return string - */ - public static function IMEXP($complexNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - - $parsedComplex = self::_parseComplex($complexNumber); - - if (($parsedComplex['real'] == 0.0) && ($parsedComplex['imaginary'] == 0.0)) { - return '1'; - } - - $e = exp($parsedComplex['real']); - $eX = $e * cos($parsedComplex['imaginary']); - $eY = $e * sin($parsedComplex['imaginary']); - - if ($parsedComplex['suffix'] == '') { - return self::COMPLEX($eX,$eY); - } else { - return self::COMPLEX($eX,$eY,$parsedComplex['suffix']); - } - } // function IMEXP() - - - /** - * IMPOWER - * - * Returns a complex number in x + yi or x + yj text format raised to a power. - * - * Excel Function: - * IMPOWER(complexNumber,realNumber) - * - * @param string $complexNumber The complex number you want to raise to a power. - * @param float $realNumber The power to which you want to raise the complex number. - * @return string - */ - public static function IMPOWER($complexNumber,$realNumber) { - $complexNumber = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber); - $realNumber = PHPExcel_Calculation_Functions::flattenSingleValue($realNumber); - - if (!is_numeric($realNumber)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - $parsedComplex = self::_parseComplex($complexNumber); - - $r = sqrt(($parsedComplex['real'] * $parsedComplex['real']) + ($parsedComplex['imaginary'] * $parsedComplex['imaginary'])); - $rPower = pow($r,$realNumber); - $theta = self::IMARGUMENT($complexNumber) * $realNumber; - if ($theta == 0) { - return 1; - } elseif ($parsedComplex['imaginary'] == 0.0) { - return self::COMPLEX($rPower * cos($theta),$rPower * sin($theta),$parsedComplex['suffix']); - } else { - return self::COMPLEX($rPower * cos($theta),$rPower * sin($theta),$parsedComplex['suffix']); - } - } // function IMPOWER() - - - /** - * IMDIV - * - * Returns the quotient of two complex numbers in x + yi or x + yj text format. - * - * Excel Function: - * IMDIV(complexDividend,complexDivisor) - * - * @param string $complexDividend The complex numerator or dividend. - * @param string $complexDivisor The complex denominator or divisor. - * @return string - */ - public static function IMDIV($complexDividend,$complexDivisor) { - $complexDividend = PHPExcel_Calculation_Functions::flattenSingleValue($complexDividend); - $complexDivisor = PHPExcel_Calculation_Functions::flattenSingleValue($complexDivisor); - - $parsedComplexDividend = self::_parseComplex($complexDividend); - $parsedComplexDivisor = self::_parseComplex($complexDivisor); - - if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] != '') && - ($parsedComplexDividend['suffix'] != $parsedComplexDivisor['suffix'])) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($parsedComplexDividend['suffix'] != '') && ($parsedComplexDivisor['suffix'] == '')) { - $parsedComplexDivisor['suffix'] = $parsedComplexDividend['suffix']; - } - - $d1 = ($parsedComplexDividend['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['imaginary']); - $d2 = ($parsedComplexDividend['imaginary'] * $parsedComplexDivisor['real']) - ($parsedComplexDividend['real'] * $parsedComplexDivisor['imaginary']); - $d3 = ($parsedComplexDivisor['real'] * $parsedComplexDivisor['real']) + ($parsedComplexDivisor['imaginary'] * $parsedComplexDivisor['imaginary']); - - $r = $d1/$d3; - $i = $d2/$d3; - - if ($i > 0.0) { - return self::_cleanComplex($r.'+'.$i.$parsedComplexDivisor['suffix']); - } elseif ($i < 0.0) { - return self::_cleanComplex($r.$i.$parsedComplexDivisor['suffix']); - } else { - return $r; - } - } // function IMDIV() - - - /** - * IMSUB - * - * Returns the difference of two complex numbers in x + yi or x + yj text format. - * - * Excel Function: - * IMSUB(complexNumber1,complexNumber2) - * - * @param string $complexNumber1 The complex number from which to subtract complexNumber2. - * @param string $complexNumber2 The complex number to subtract from complexNumber1. - * @return string - */ - public static function IMSUB($complexNumber1,$complexNumber2) { - $complexNumber1 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber1); - $complexNumber2 = PHPExcel_Calculation_Functions::flattenSingleValue($complexNumber2); - - $parsedComplex1 = self::_parseComplex($complexNumber1); - $parsedComplex2 = self::_parseComplex($complexNumber2); - - if ((($parsedComplex1['suffix'] != '') && ($parsedComplex2['suffix'] != '')) && - ($parsedComplex1['suffix'] != $parsedComplex2['suffix'])) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif (($parsedComplex1['suffix'] == '') && ($parsedComplex2['suffix'] != '')) { - $parsedComplex1['suffix'] = $parsedComplex2['suffix']; - } - - $d1 = $parsedComplex1['real'] - $parsedComplex2['real']; - $d2 = $parsedComplex1['imaginary'] - $parsedComplex2['imaginary']; - - return self::COMPLEX($d1,$d2,$parsedComplex1['suffix']); - } // function IMSUB() - - - /** - * IMSUM - * - * Returns the sum of two or more complex numbers in x + yi or x + yj text format. - * - * Excel Function: - * IMSUM(complexNumber[,complexNumber[,...]]) - * - * @param string $complexNumber,... Series of complex numbers to add - * @return string - */ - public static function IMSUM() { - // Return value - $returnValue = self::_parseComplex('0'); - $activeSuffix = ''; - - // Loop through the arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - $parsedComplex = self::_parseComplex($arg); - - if ($activeSuffix == '') { - $activeSuffix = $parsedComplex['suffix']; - } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - $returnValue['real'] += $parsedComplex['real']; - $returnValue['imaginary'] += $parsedComplex['imaginary']; - } - - if ($returnValue['imaginary'] == 0.0) { $activeSuffix = ''; } - return self::COMPLEX($returnValue['real'],$returnValue['imaginary'],$activeSuffix); - } // function IMSUM() - - - /** - * IMPRODUCT - * - * Returns the product of two or more complex numbers in x + yi or x + yj text format. - * - * Excel Function: - * IMPRODUCT(complexNumber[,complexNumber[,...]]) - * - * @param string $complexNumber,... Series of complex numbers to multiply - * @return string - */ - public static function IMPRODUCT() { - // Return value - $returnValue = self::_parseComplex('1'); - $activeSuffix = ''; - - // Loop through the arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - $parsedComplex = self::_parseComplex($arg); - - $workValue = $returnValue; - if (($parsedComplex['suffix'] != '') && ($activeSuffix == '')) { - $activeSuffix = $parsedComplex['suffix']; - } elseif (($parsedComplex['suffix'] != '') && ($activeSuffix != $parsedComplex['suffix'])) { - return PHPExcel_Calculation_Functions::NaN(); - } - $returnValue['real'] = ($workValue['real'] * $parsedComplex['real']) - ($workValue['imaginary'] * $parsedComplex['imaginary']); - $returnValue['imaginary'] = ($workValue['real'] * $parsedComplex['imaginary']) + ($workValue['imaginary'] * $parsedComplex['real']); - } - - if ($returnValue['imaginary'] == 0.0) { $activeSuffix = ''; } - return self::COMPLEX($returnValue['real'],$returnValue['imaginary'],$activeSuffix); - } // function IMPRODUCT() - - - /** - * DELTA - * - * Tests whether two values are equal. Returns 1 if number1 = number2; returns 0 otherwise. - * Use this function to filter a set of values. For example, by summing several DELTA - * functions you calculate the count of equal pairs. This function is also known as the - * Kronecker Delta function. - * - * Excel Function: - * DELTA(a[,b]) - * - * @param float $a The first number. - * @param float $b The second number. If omitted, b is assumed to be zero. - * @return int - */ - public static function DELTA($a, $b=0) { - $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); - $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); - - return (int) ($a == $b); - } // function DELTA() - - - /** - * GESTEP - * - * Excel Function: - * GESTEP(number[,step]) - * - * Returns 1 if number >= step; returns 0 (zero) otherwise - * Use this function to filter a set of values. For example, by summing several GESTEP - * functions you calculate the count of values that exceed a threshold. - * - * @param float $number The value to test against step. - * @param float $step The threshold value. - * If you omit a value for step, GESTEP uses zero. - * @return int - */ - public static function GESTEP($number, $step=0) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $step = PHPExcel_Calculation_Functions::flattenSingleValue($step); - - return (int) ($number >= $step); - } // function GESTEP() - - - // - // Private method to calculate the erf value - // - private static $_two_sqrtpi = 1.128379167095512574; - - public static function _erfVal($x) { - if (abs($x) > 2.2) { - return 1 - self::_erfcVal($x); - } - $sum = $term = $x; - $xsqr = ($x * $x); - $j = 1; - do { - $term *= $xsqr / $j; - $sum -= $term / (2 * $j + 1); - ++$j; - $term *= $xsqr / $j; - $sum += $term / (2 * $j + 1); - ++$j; - if ($sum == 0.0) { - break; - } - } while (abs($term / $sum) > PRECISION); - return self::$_two_sqrtpi * $sum; - } // function _erfVal() - - - /** - * ERF - * - * Returns the error function integrated between the lower and upper bound arguments. - * - * Note: In Excel 2007 or earlier, if you input a negative value for the upper or lower bound arguments, - * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was - * improved, so that it can now calculate the function for both positive and negative ranges. - * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. - * - * Excel Function: - * ERF(lower[,upper]) - * - * @param float $lower lower bound for integrating ERF - * @param float $upper upper bound for integrating ERF. - * If omitted, ERF integrates between zero and lower_limit - * @return float - */ - public static function ERF($lower, $upper = NULL) { - $lower = PHPExcel_Calculation_Functions::flattenSingleValue($lower); - $upper = PHPExcel_Calculation_Functions::flattenSingleValue($upper); - - if (is_numeric($lower)) { - if (is_null($upper)) { - return self::_erfVal($lower); - } - if (is_numeric($upper)) { - return self::_erfVal($upper) - self::_erfVal($lower); - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ERF() - - - // - // Private method to calculate the erfc value - // - private static $_one_sqrtpi = 0.564189583547756287; - - private static function _erfcVal($x) { - if (abs($x) < 2.2) { - return 1 - self::_erfVal($x); - } - if ($x < 0) { - return 2 - self::ERFC(-$x); - } - $a = $n = 1; - $b = $c = $x; - $d = ($x * $x) + 0.5; - $q1 = $q2 = $b / $d; - $t = 0; - do { - $t = $a * $n + $b * $x; - $a = $b; - $b = $t; - $t = $c * $n + $d * $x; - $c = $d; - $d = $t; - $n += 0.5; - $q1 = $q2; - $q2 = $b / $d; - } while ((abs($q1 - $q2) / $q2) > PRECISION); - return self::$_one_sqrtpi * exp(-$x * $x) * $q2; - } // function _erfcVal() - - - /** - * ERFC - * - * Returns the complementary ERF function integrated between x and infinity - * - * Note: In Excel 2007 or earlier, if you input a negative value for the lower bound argument, - * the function would return a #NUM! error. However, in Excel 2010, the function algorithm was - * improved, so that it can now calculate the function for both positive and negative x values. - * PHPExcel follows Excel 2010 behaviour, and accepts nagative arguments. - * - * Excel Function: - * ERFC(x) - * - * @param float $x The lower bound for integrating ERFC - * @return float - */ - public static function ERFC($x) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - - if (is_numeric($x)) { - return self::_erfcVal($x); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ERFC() - - - /** - * getConversionGroups - * Returns a list of the different conversion groups for UOM conversions - * - * @return array - */ - public static function getConversionGroups() { - $conversionGroups = array(); - foreach(self::$_conversionUnits as $conversionUnit) { - $conversionGroups[] = $conversionUnit['Group']; - } - return array_merge(array_unique($conversionGroups)); - } // function getConversionGroups() - - - /** - * getConversionGroupUnits - * Returns an array of units of measure, for a specified conversion group, or for all groups - * - * @param string $group The group whose units of measure you want to retrieve - * @return array - */ - public static function getConversionGroupUnits($group = NULL) { - $conversionGroups = array(); - foreach(self::$_conversionUnits as $conversionUnit => $conversionGroup) { - if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { - $conversionGroups[$conversionGroup['Group']][] = $conversionUnit; - } - } - return $conversionGroups; - } // function getConversionGroupUnits() - - - /** - * getConversionGroupUnitDetails - * - * @param string $group The group whose units of measure you want to retrieve - * @return array - */ - public static function getConversionGroupUnitDetails($group = NULL) { - $conversionGroups = array(); - foreach(self::$_conversionUnits as $conversionUnit => $conversionGroup) { - if ((is_null($group)) || ($conversionGroup['Group'] == $group)) { - $conversionGroups[$conversionGroup['Group']][] = array( 'unit' => $conversionUnit, - 'description' => $conversionGroup['Unit Name'] - ); - } - } - return $conversionGroups; - } // function getConversionGroupUnitDetails() - - - /** - * getConversionMultipliers - * Returns an array of the Multiplier prefixes that can be used with Units of Measure in CONVERTUOM() - * - * @return array of mixed - */ - public static function getConversionMultipliers() { - return self::$_conversionMultipliers; - } // function getConversionGroups() - - - /** - * CONVERTUOM - * - * Converts a number from one measurement system to another. - * For example, CONVERT can translate a table of distances in miles to a table of distances - * in kilometers. - * - * Excel Function: - * CONVERT(value,fromUOM,toUOM) - * - * @param float $value The value in fromUOM to convert. - * @param string $fromUOM The units for value. - * @param string $toUOM The units for the result. - * - * @return float - */ - public static function CONVERTUOM($value, $fromUOM, $toUOM) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $fromUOM = PHPExcel_Calculation_Functions::flattenSingleValue($fromUOM); - $toUOM = PHPExcel_Calculation_Functions::flattenSingleValue($toUOM); - - if (!is_numeric($value)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $fromMultiplier = 1.0; - if (isset(self::$_conversionUnits[$fromUOM])) { - $unitGroup1 = self::$_conversionUnits[$fromUOM]['Group']; - } else { - $fromMultiplier = substr($fromUOM,0,1); - $fromUOM = substr($fromUOM,1); - if (isset(self::$_conversionMultipliers[$fromMultiplier])) { - $fromMultiplier = self::$_conversionMultipliers[$fromMultiplier]['multiplier']; - } else { - return PHPExcel_Calculation_Functions::NA(); - } - if ((isset(self::$_conversionUnits[$fromUOM])) && (self::$_conversionUnits[$fromUOM]['AllowPrefix'])) { - $unitGroup1 = self::$_conversionUnits[$fromUOM]['Group']; - } else { - return PHPExcel_Calculation_Functions::NA(); - } - } - $value *= $fromMultiplier; - - $toMultiplier = 1.0; - if (isset(self::$_conversionUnits[$toUOM])) { - $unitGroup2 = self::$_conversionUnits[$toUOM]['Group']; - } else { - $toMultiplier = substr($toUOM,0,1); - $toUOM = substr($toUOM,1); - if (isset(self::$_conversionMultipliers[$toMultiplier])) { - $toMultiplier = self::$_conversionMultipliers[$toMultiplier]['multiplier']; - } else { - return PHPExcel_Calculation_Functions::NA(); - } - if ((isset(self::$_conversionUnits[$toUOM])) && (self::$_conversionUnits[$toUOM]['AllowPrefix'])) { - $unitGroup2 = self::$_conversionUnits[$toUOM]['Group']; - } else { - return PHPExcel_Calculation_Functions::NA(); - } - } - if ($unitGroup1 != $unitGroup2) { - return PHPExcel_Calculation_Functions::NA(); - } - - if (($fromUOM == $toUOM) && ($fromMultiplier == $toMultiplier)) { - // We've already factored $fromMultiplier into the value, so we need - // to reverse it again - return $value / $fromMultiplier; - } elseif ($unitGroup1 == 'Temperature') { - if (($fromUOM == 'F') || ($fromUOM == 'fah')) { - if (($toUOM == 'F') || ($toUOM == 'fah')) { - return $value; - } else { - $value = (($value - 32) / 1.8); - if (($toUOM == 'K') || ($toUOM == 'kel')) { - $value += 273.15; - } - return $value; - } - } elseif ((($fromUOM == 'K') || ($fromUOM == 'kel')) && - (($toUOM == 'K') || ($toUOM == 'kel'))) { - return $value; - } elseif ((($fromUOM == 'C') || ($fromUOM == 'cel')) && - (($toUOM == 'C') || ($toUOM == 'cel'))) { - return $value; - } - if (($toUOM == 'F') || ($toUOM == 'fah')) { - if (($fromUOM == 'K') || ($fromUOM == 'kel')) { - $value -= 273.15; - } - return ($value * 1.8) + 32; - } - if (($toUOM == 'C') || ($toUOM == 'cel')) { - return $value - 273.15; - } - return $value + 273.15; - } - return ($value * self::$_unitConversions[$unitGroup1][$fromUOM][$toUOM]) / $toMultiplier; - } // function CONVERTUOM() - -} // class PHPExcel_Calculation_Engineering diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php index 2ddf666df..52d73fc4f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Exception.php @@ -1,8 +1,9 @@ line = $line; - $e->file = $file; - throw $e; - } +class PHPExcel_Calculation_Exception extends PHPExcel_Exception +{ + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) + { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php index 41c42d7ac..4cb0a6880 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/ExceptionHandler.php @@ -1,8 +1,9 @@ format('d') == $testDate->format('t')); + } -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} + /** + * isFirstDayOfMonth + * + * Returns a boolean TRUE/FALSE indicating if this date is the first date of the month + * + * @param DateTime $testDate The date for testing + * @return boolean + */ + private static function isFirstDayOfMonth($testDate) + { + return ($testDate->format('d') == 1); + } -/** FINANCIAL_MAX_ITERATIONS */ -define('FINANCIAL_MAX_ITERATIONS', 128); + private static function couponFirstPeriodDate($settlement, $maturity, $frequency, $next) + { + $months = 12 / $frequency; -/** FINANCIAL_PRECISION */ -define('FINANCIAL_PRECISION', 1.0e-08); + $result = PHPExcel_Shared_Date::ExcelToPHPObject($maturity); + $eom = self::isLastDayOfMonth($result); + + while ($settlement < PHPExcel_Shared_Date::PHPToExcel($result)) { + $result->modify('-'.$months.' months'); + } + if ($next) { + $result->modify('+'.$months.' months'); + } + + if ($eom) { + $result->modify('-1 day'); + } + + return PHPExcel_Shared_Date::PHPToExcel($result); + } -/** - * PHPExcel_Calculation_Financial - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_Financial { - - /** - * _lastDayOfMonth - * - * Returns a boolean TRUE/FALSE indicating if this date is the last date of the month - * - * @param DateTime $testDate The date for testing - * @return boolean - */ - private static function _lastDayOfMonth($testDate) - { - return ($testDate->format('d') == $testDate->format('t')); - } // function _lastDayOfMonth() + private static function isValidFrequency($frequency) + { + if (($frequency == 1) || ($frequency == 2) || ($frequency == 4)) { + return true; + } + if ((PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) && + (($frequency == 6) || ($frequency == 12))) { + return true; + } + return false; + } - /** - * _firstDayOfMonth - * - * Returns a boolean TRUE/FALSE indicating if this date is the first date of the month - * - * @param DateTime $testDate The date for testing - * @return boolean - */ - private static function _firstDayOfMonth($testDate) - { - return ($testDate->format('d') == 1); - } // function _firstDayOfMonth() + /** + * daysPerYear + * + * Returns the number of days in a specified year, as defined by the "basis" value + * + * @param integer $year The year against which we're testing + * @param integer $basis The type of day count: + * 0 or omitted US (NASD) 360 + * 1 Actual (365 or 366 in a leap year) + * 2 360 + * 3 365 + * 4 European 360 + * @return integer + */ + private static function daysPerYear($year, $basis = 0) + { + switch ($basis) { + case 0: + case 2: + case 4: + $daysPerYear = 360; + break; + case 3: + $daysPerYear = 365; + break; + case 1: + $daysPerYear = (PHPExcel_Calculation_DateTime::isLeapYear($year)) ? 366 : 365; + break; + default: + return PHPExcel_Calculation_Functions::NaN(); + } + return $daysPerYear; + } - private static function _coupFirstPeriodDate($settlement, $maturity, $frequency, $next) - { - $months = 12 / $frequency; - - $result = PHPExcel_Shared_Date::ExcelToPHPObject($maturity); - $eom = self::_lastDayOfMonth($result); - - while ($settlement < PHPExcel_Shared_Date::PHPToExcel($result)) { - $result->modify('-'.$months.' months'); - } - if ($next) { - $result->modify('+'.$months.' months'); - } - - if ($eom) { - $result->modify('-1 day'); - } - - return PHPExcel_Shared_Date::PHPToExcel($result); - } // function _coupFirstPeriodDate() + private static function interestAndPrincipal($rate = 0, $per = 0, $nper = 0, $pv = 0, $fv = 0, $type = 0) + { + $pmt = self::PMT($rate, $nper, $pv, $fv, $type); + $capital = $pv; + for ($i = 1; $i<= $per; ++$i) { + $interest = ($type && $i == 1) ? 0 : -$capital * $rate; + $principal = $pmt - $interest; + $capital += $principal; + } + return array($interest, $principal); + } - private static function _validFrequency($frequency) - { - if (($frequency == 1) || ($frequency == 2) || ($frequency == 4)) { - return true; - } - if ((PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) && - (($frequency == 6) || ($frequency == 12))) { - return true; - } - return false; - } // function _validFrequency() + /** + * ACCRINT + * + * Returns the accrued interest for a security that pays periodic interest. + * + * Excel Function: + * ACCRINT(issue,firstinterest,settlement,rate,par,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed $issue The security's issue date. + * @param mixed $firstinterest The security's first interest date. + * @param mixed $settlement The security's settlement date. + * The security settlement date is the date after the issue date + * when the security is traded to the buyer. + * @param float $rate The security's annual coupon rate. + * @param float $par The security's par value. + * If you omit par, ACCRINT uses $1,000. + * @param integer $frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer $basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function ACCRINT($issue, $firstinterest, $settlement, $rate, $par = 1000, $frequency = 1, $basis = 0) + { + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $firstinterest = PHPExcel_Calculation_Functions::flattenSingleValue($firstinterest); + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); + $frequency = (is_null($frequency)) ? 1 : PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($rate)) && (is_numeric($par))) { + $rate = (float) $rate; + $par = (float) $par; + if (($rate <= 0) || ($par <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + + return $par * $rate * $daysBetweenIssueAndSettlement; + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * _daysPerYear - * - * Returns the number of days in a specified year, as defined by the "basis" value - * - * @param integer $year The year against which we're testing - * @param integer $basis The type of day count: - * 0 or omitted US (NASD) 360 - * 1 Actual (365 or 366 in a leap year) - * 2 360 - * 3 365 - * 4 European 360 - * @return integer - */ - private static function _daysPerYear($year, $basis=0) - { - switch ($basis) { - case 0 : - case 2 : - case 4 : - $daysPerYear = 360; - break; - case 3 : - $daysPerYear = 365; - break; - case 1 : - $daysPerYear = (PHPExcel_Calculation_DateTime::_isLeapYear($year)) ? 366 : 365; - break; - default : - return PHPExcel_Calculation_Functions::NaN(); - } - return $daysPerYear; - } // function _daysPerYear() + /** + * ACCRINTM + * + * Returns the accrued interest for a security that pays interest at maturity. + * + * Excel Function: + * ACCRINTM(issue,settlement,rate[,par[,basis]]) + * + * @access public + * @category Financial Functions + * @param mixed issue The security's issue date. + * @param mixed settlement The security's settlement (or maturity) date. + * @param float rate The security's annual coupon rate. + * @param float par The security's par value. + * If you omit par, ACCRINT uses $1,000. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function ACCRINTM($issue, $settlement, $rate, $par = 1000, $basis = 0) + { + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); + $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($rate)) && (is_numeric($par))) { + $rate = (float) $rate; + $par = (float) $par; + if (($rate <= 0) || ($par <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + return $par * $rate * $daysBetweenIssueAndSettlement; + } + return PHPExcel_Calculation_Functions::VALUE(); + } - private static function _interestAndPrincipal($rate=0, $per=0, $nper=0, $pv=0, $fv=0, $type=0) - { - $pmt = self::PMT($rate, $nper, $pv, $fv, $type); - $capital = $pv; - for ($i = 1; $i<= $per; ++$i) { - $interest = ($type && $i == 1) ? 0 : -$capital * $rate; - $principal = $pmt - $interest; - $capital += $principal; - } - return array($interest, $principal); - } // function _interestAndPrincipal() + /** + * AMORDEGRC + * + * Returns the depreciation for each accounting period. + * This function is provided for the French accounting system. If an asset is purchased in + * the middle of the accounting period, the prorated depreciation is taken into account. + * The function is similar to AMORLINC, except that a depreciation coefficient is applied in + * the calculation depending on the life of the assets. + * This function will return the depreciation until the last period of the life of the assets + * or until the cumulated value of depreciation is greater than the cost of the assets minus + * the salvage value. + * + * Excel Function: + * AMORDEGRC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) + * + * @access public + * @category Financial Functions + * @param float cost The cost of the asset. + * @param mixed purchased Date of the purchase of the asset. + * @param mixed firstPeriod Date of the end of the first period. + * @param mixed salvage The salvage value at the end of the life of the asset. + * @param float period The period. + * @param float rate Rate of depreciation. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function AMORDEGRC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis = 0) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); + $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $period = floor(PHPExcel_Calculation_Functions::flattenSingleValue($period)); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // The depreciation coefficients are: + // Life of assets (1/rate) Depreciation coefficient + // Less than 3 years 1 + // Between 3 and 4 years 1.5 + // Between 5 and 6 years 2 + // More than 6 years 2.5 + $fUsePer = 1.0 / $rate; + if ($fUsePer < 3.0) { + $amortiseCoeff = 1.0; + } elseif ($fUsePer < 5.0) { + $amortiseCoeff = 1.5; + } elseif ($fUsePer <= 6.0) { + $amortiseCoeff = 2.0; + } else { + $amortiseCoeff = 2.5; + } + + $rate *= $amortiseCoeff; + $fNRate = round(PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis) * $rate * $cost, 0); + $cost -= $fNRate; + $fRest = $cost - $salvage; + + for ($n = 0; $n < $period; ++$n) { + $fNRate = round($rate * $cost, 0); + $fRest -= $fNRate; + + if ($fRest < 0.0) { + switch ($period - $n) { + case 0: + case 1: + return round($cost * 0.5, 0); + default: + return 0.0; + } + } + $cost -= $fNRate; + } + return $fNRate; + } - /** - * ACCRINT - * - * Returns the accrued interest for a security that pays periodic interest. - * - * Excel Function: - * ACCRINT(issue,firstinterest,settlement,rate,par,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed $issue The security's issue date. - * @param mixed $firstinterest The security's first interest date. - * @param mixed $settlement The security's settlement date. - * The security settlement date is the date after the issue date - * when the security is traded to the buyer. - * @param float $rate The security's annual coupon rate. - * @param float $par The security's par value. - * If you omit par, ACCRINT uses $1,000. - * @param integer $frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer $basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function ACCRINT($issue, $firstinterest, $settlement, $rate, $par=1000, $frequency=1, $basis=0) - { - $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); - $firstinterest = PHPExcel_Calculation_Functions::flattenSingleValue($firstinterest); - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); - $frequency = (is_null($frequency)) ? 1 : PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); + /** + * AMORLINC + * + * Returns the depreciation for each accounting period. + * This function is provided for the French accounting system. If an asset is purchased in + * the middle of the accounting period, the prorated depreciation is taken into account. + * + * Excel Function: + * AMORLINC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) + * + * @access public + * @category Financial Functions + * @param float cost The cost of the asset. + * @param mixed purchased Date of the purchase of the asset. + * @param mixed firstPeriod Date of the end of the first period. + * @param mixed salvage The salvage value at the end of the life of the asset. + * @param float period The period. + * @param float rate Rate of depreciation. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function AMORLINC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis = 0) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); + $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - // Validate - if ((is_numeric($rate)) && (is_numeric($par))) { - $rate = (float) $rate; - $par = (float) $par; - if (($rate <= 0) || ($par <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); - if (!is_numeric($daysBetweenIssueAndSettlement)) { - // return date error - return $daysBetweenIssueAndSettlement; - } + $fOneRate = $cost * $rate; + $fCostDelta = $cost - $salvage; + // Note, quirky variation for leap years on the YEARFRAC for this function + $purchasedYear = PHPExcel_Calculation_DateTime::YEAR($purchased); + $yearFrac = PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis); - return $par * $rate * $daysBetweenIssueAndSettlement; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ACCRINT() + if (($basis == 1) && ($yearFrac < 1) && (PHPExcel_Calculation_DateTime::isLeapYear($purchasedYear))) { + $yearFrac *= 365 / 366; + } + $f0Rate = $yearFrac * $rate * $cost; + $nNumOfFullPeriods = intval(($cost - $salvage - $f0Rate) / $fOneRate); - /** - * ACCRINTM - * - * Returns the accrued interest for a security that pays interest at maturity. - * - * Excel Function: - * ACCRINTM(issue,settlement,rate[,par[,basis]]) - * - * @access public - * @category Financial Functions - * @param mixed issue The security's issue date. - * @param mixed settlement The security's settlement (or maturity) date. - * @param float rate The security's annual coupon rate. - * @param float par The security's par value. - * If you omit par, ACCRINT uses $1,000. - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function ACCRINTM($issue, $settlement, $rate, $par=1000, $basis=0) { - $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $par = (is_null($par)) ? 1000 : PHPExcel_Calculation_Functions::flattenSingleValue($par); - $basis = (is_null($basis)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if ((is_numeric($rate)) && (is_numeric($par))) { - $rate = (float) $rate; - $par = (float) $par; - if (($rate <= 0) || ($par <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); - if (!is_numeric($daysBetweenIssueAndSettlement)) { - // return date error - return $daysBetweenIssueAndSettlement; - } - return $par * $rate * $daysBetweenIssueAndSettlement; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ACCRINTM() - - - /** - * AMORDEGRC - * - * Returns the depreciation for each accounting period. - * This function is provided for the French accounting system. If an asset is purchased in - * the middle of the accounting period, the prorated depreciation is taken into account. - * The function is similar to AMORLINC, except that a depreciation coefficient is applied in - * the calculation depending on the life of the assets. - * This function will return the depreciation until the last period of the life of the assets - * or until the cumulated value of depreciation is greater than the cost of the assets minus - * the salvage value. - * - * Excel Function: - * AMORDEGRC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) - * - * @access public - * @category Financial Functions - * @param float cost The cost of the asset. - * @param mixed purchased Date of the purchase of the asset. - * @param mixed firstPeriod Date of the end of the first period. - * @param mixed salvage The salvage value at the end of the life of the asset. - * @param float period The period. - * @param float rate Rate of depreciation. - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function AMORDEGRC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis=0) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); - $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $period = floor(PHPExcel_Calculation_Functions::flattenSingleValue($period)); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // The depreciation coefficients are: - // Life of assets (1/rate) Depreciation coefficient - // Less than 3 years 1 - // Between 3 and 4 years 1.5 - // Between 5 and 6 years 2 - // More than 6 years 2.5 - $fUsePer = 1.0 / $rate; - if ($fUsePer < 3.0) { - $amortiseCoeff = 1.0; - } elseif ($fUsePer < 5.0) { - $amortiseCoeff = 1.5; - } elseif ($fUsePer <= 6.0) { - $amortiseCoeff = 2.0; - } else { - $amortiseCoeff = 2.5; - } - - $rate *= $amortiseCoeff; - $fNRate = round(PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis) * $rate * $cost,0); - $cost -= $fNRate; - $fRest = $cost - $salvage; - - for ($n = 0; $n < $period; ++$n) { - $fNRate = round($rate * $cost,0); - $fRest -= $fNRate; - - if ($fRest < 0.0) { - switch ($period - $n) { - case 0 : - case 1 : return round($cost * 0.5, 0); - break; - default : return 0.0; - break; - } - } - $cost -= $fNRate; - } - return $fNRate; - } // function AMORDEGRC() - - - /** - * AMORLINC - * - * Returns the depreciation for each accounting period. - * This function is provided for the French accounting system. If an asset is purchased in - * the middle of the accounting period, the prorated depreciation is taken into account. - * - * Excel Function: - * AMORLINC(cost,purchased,firstPeriod,salvage,period,rate[,basis]) - * - * @access public - * @category Financial Functions - * @param float cost The cost of the asset. - * @param mixed purchased Date of the purchase of the asset. - * @param mixed firstPeriod Date of the end of the first period. - * @param mixed salvage The salvage value at the end of the life of the asset. - * @param float period The period. - * @param float rate Rate of depreciation. - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function AMORLINC($cost, $purchased, $firstPeriod, $salvage, $period, $rate, $basis=0) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $purchased = PHPExcel_Calculation_Functions::flattenSingleValue($purchased); - $firstPeriod = PHPExcel_Calculation_Functions::flattenSingleValue($firstPeriod); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - $fOneRate = $cost * $rate; - $fCostDelta = $cost - $salvage; - // Note, quirky variation for leap years on the YEARFRAC for this function - $purchasedYear = PHPExcel_Calculation_DateTime::YEAR($purchased); - $yearFrac = PHPExcel_Calculation_DateTime::YEARFRAC($purchased, $firstPeriod, $basis); - - if (($basis == 1) && ($yearFrac < 1) && (PHPExcel_Calculation_DateTime::_isLeapYear($purchasedYear))) { - $yearFrac *= 365 / 366; - } - - $f0Rate = $yearFrac * $rate * $cost; - $nNumOfFullPeriods = intval(($cost - $salvage - $f0Rate) / $fOneRate); - - if ($period == 0) { - return $f0Rate; - } elseif ($period <= $nNumOfFullPeriods) { - return $fOneRate; - } elseif ($period == ($nNumOfFullPeriods + 1)) { + if ($period == 0) { + return $f0Rate; + } elseif ($period <= $nNumOfFullPeriods) { + return $fOneRate; + } elseif ($period == ($nNumOfFullPeriods + 1)) { return ($fCostDelta - $fOneRate * $nNumOfFullPeriods - $f0Rate); - } else { - return 0.0; - } - } // function AMORLINC() - - - /** - * COUPDAYBS - * - * Returns the number of days from the beginning of the coupon period to the settlement date. - * - * Excel Function: - * COUPDAYBS(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function COUPDAYBS($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); - $prev = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); - - return PHPExcel_Calculation_DateTime::YEARFRAC($prev, $settlement, $basis) * $daysPerYear; - } // function COUPDAYBS() - - - /** - * COUPDAYS - * - * Returns the number of days in the coupon period that contains the settlement date. - * - * Excel Function: - * COUPDAYS(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function COUPDAYS($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - switch ($basis) { - case 3: // Actual/365 - return 365 / $frequency; - case 1: // Actual/actual - if ($frequency == 1) { - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($maturity),$basis); - return ($daysPerYear / $frequency); - } else { - $prev = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); - $next = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); - return ($next - $prev); - } - default: // US (NASD) 30/360, Actual/360 or European 30/360 - return 360 / $frequency; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function COUPDAYS() - - - /** - * COUPDAYSNC - * - * Returns the number of days from the settlement date to the next coupon date. - * - * Excel Function: - * COUPDAYSNC(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function COUPDAYSNC($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); - $next = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); - - return PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $next, $basis) * $daysPerYear; - } // function COUPDAYSNC() - - - /** - * COUPNCD - * - * Returns the next coupon date after the settlement date. - * - * Excel Function: - * COUPNCD(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function COUPNCD($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); - } // function COUPNCD() - - - /** - * COUPNUM - * - * Returns the number of coupons payable between the settlement date and maturity date, - * rounded up to the nearest whole coupon. - * - * Excel Function: - * COUPNUM(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return integer - */ - public static function COUPNUM($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $settlement = self::_coupFirstPeriodDate($settlement, $maturity, $frequency, True); - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis) * 365; - - switch ($frequency) { - case 1: // annual payments - return ceil($daysBetweenSettlementAndMaturity / 360); - case 2: // half-yearly - return ceil($daysBetweenSettlementAndMaturity / 180); - case 4: // quarterly - return ceil($daysBetweenSettlementAndMaturity / 90); - case 6: // bimonthly - return ceil($daysBetweenSettlementAndMaturity / 60); - case 12: // monthly - return ceil($daysBetweenSettlementAndMaturity / 30); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function COUPNUM() - - - /** - * COUPPCD - * - * Returns the previous coupon date before the settlement date. - * - * Excel Function: - * COUPPCD(settlement,maturity,frequency[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed frequency the number of coupon payments per year. - * Valid frequency values are: - * 1 Annual - * 2 Semi-Annual - * 4 Quarterly - * If working in Gnumeric Mode, the following frequency options are - * also available - * 6 Bimonthly - * 12 Monthly - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, - * depending on the value of the ReturnDateType flag - */ - public static function COUPPCD($settlement, $maturity, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return self::_coupFirstPeriodDate($settlement, $maturity, $frequency, False); - } // function COUPPCD() - - - /** - * CUMIPMT - * - * Returns the cumulative interest paid on a loan between the start and end periods. - * - * Excel Function: - * CUMIPMT(rate,nper,pv,start,end[,type]) - * - * @access public - * @category Financial Functions - * @param float $rate The Interest rate - * @param integer $nper The total number of payment periods - * @param float $pv Present Value - * @param integer $start The first period in the calculation. - * Payment periods are numbered beginning with 1. - * @param integer $end The last period in the calculation. - * @param integer $type A number 0 or 1 and indicates when payments are due: - * 0 or omitted At the end of the period. - * 1 At the beginning of the period. - * @return float - */ - public static function CUMIPMT($rate, $nper, $pv, $start, $end, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); - $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); - $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($start < 1 || $start > $end) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // Calculate - $interest = 0; - for ($per = $start; $per <= $end; ++$per) { - $interest += self::IPMT($rate, $per, $nper, $pv, 0, $type); - } - - return $interest; - } // function CUMIPMT() - - - /** - * CUMPRINC - * - * Returns the cumulative principal paid on a loan between the start and end periods. - * - * Excel Function: - * CUMPRINC(rate,nper,pv,start,end[,type]) - * - * @access public - * @category Financial Functions - * @param float $rate The Interest rate - * @param integer $nper The total number of payment periods - * @param float $pv Present Value - * @param integer $start The first period in the calculation. - * Payment periods are numbered beginning with 1. - * @param integer $end The last period in the calculation. - * @param integer $type A number 0 or 1 and indicates when payments are due: - * 0 or omitted At the end of the period. - * 1 At the beginning of the period. - * @return float - */ - public static function CUMPRINC($rate, $nper, $pv, $start, $end, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); - $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); - $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($start < 1 || $start > $end) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // Calculate - $principal = 0; - for ($per = $start; $per <= $end; ++$per) { - $principal += self::PPMT($rate, $per, $nper, $pv, 0, $type); - } - - return $principal; - } // function CUMPRINC() - - - /** - * DB - * - * Returns the depreciation of an asset for a specified period using the - * fixed-declining balance method. - * This form of depreciation is used if you want to get a higher depreciation value - * at the beginning of the depreciation (as opposed to linear depreciation). The - * depreciation value is reduced with every depreciation period by the depreciation - * already deducted from the initial cost. - * - * Excel Function: - * DB(cost,salvage,life,period[,month]) - * - * @access public - * @category Financial Functions - * @param float cost Initial cost of the asset. - * @param float salvage Value at the end of the depreciation. - * (Sometimes called the salvage value of the asset) - * @param integer life Number of periods over which the asset is depreciated. - * (Sometimes called the useful life of the asset) - * @param integer period The period for which you want to calculate the - * depreciation. Period must use the same units as life. - * @param integer month Number of months in the first year. If month is omitted, - * it defaults to 12. - * @return float - */ - public static function DB($cost, $salvage, $life, $period, $month=12) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); - $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); - $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); - - // Validate - if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($month))) { - $cost = (float) $cost; - $salvage = (float) $salvage; - $life = (int) $life; - $period = (int) $period; - $month = (int) $month; - if ($cost == 0) { - return 0.0; - } elseif (($cost < 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($month < 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - // Set Fixed Depreciation Rate - $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); - $fixedDepreciationRate = round($fixedDepreciationRate, 3); - - // Loop through each period calculating the depreciation - $previousDepreciation = 0; - for ($per = 1; $per <= $period; ++$per) { - if ($per == 1) { - $depreciation = $cost * $fixedDepreciationRate * $month / 12; - } elseif ($per == ($life + 1)) { - $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate * (12 - $month) / 12; - } else { - $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate; - } - $previousDepreciation += $depreciation; - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $depreciation = round($depreciation,2); - } - return $depreciation; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function DB() - - - /** - * DDB - * - * Returns the depreciation of an asset for a specified period using the - * double-declining balance method or some other method you specify. - * - * Excel Function: - * DDB(cost,salvage,life,period[,factor]) - * - * @access public - * @category Financial Functions - * @param float cost Initial cost of the asset. - * @param float salvage Value at the end of the depreciation. - * (Sometimes called the salvage value of the asset) - * @param integer life Number of periods over which the asset is depreciated. - * (Sometimes called the useful life of the asset) - * @param integer period The period for which you want to calculate the - * depreciation. Period must use the same units as life. - * @param float factor The rate at which the balance declines. - * If factor is omitted, it is assumed to be 2 (the - * double-declining balance method). - * @return float - */ - public static function DDB($cost, $salvage, $life, $period, $factor=2.0) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); - $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); - $factor = PHPExcel_Calculation_Functions::flattenSingleValue($factor); - - // Validate - if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($factor))) { - $cost = (float) $cost; - $salvage = (float) $salvage; - $life = (int) $life; - $period = (int) $period; - $factor = (float) $factor; - if (($cost <= 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($factor <= 0.0) || ($period > $life)) { - return PHPExcel_Calculation_Functions::NaN(); - } - // Set Fixed Depreciation Rate - $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); - $fixedDepreciationRate = round($fixedDepreciationRate, 3); - - // Loop through each period calculating the depreciation - $previousDepreciation = 0; - for ($per = 1; $per <= $period; ++$per) { - $depreciation = min( ($cost - $previousDepreciation) * ($factor / $life), ($cost - $salvage - $previousDepreciation) ); - $previousDepreciation += $depreciation; - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - $depreciation = round($depreciation,2); - } - return $depreciation; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function DDB() - - - /** - * DISC - * - * Returns the discount rate for a security. - * - * Excel Function: - * DISC(settlement,maturity,price,redemption[,basis]) - * - * @access public - * @category Financial Functions - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue - * date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param integer price The security's price per $100 face value. - * @param integer redemption The security's redemption value per $100 face value. - * @param integer basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function DISC($settlement, $maturity, $price, $redemption, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); - $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); - $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if ((is_numeric($price)) && (is_numeric($redemption)) && (is_numeric($basis))) { - $price = (float) $price; - $redemption = (float) $redemption; - $basis = (int) $basis; - if (($price <= 0) || ($redemption <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - - return ((1 - $price / $redemption) / $daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function DISC() - - - /** - * DOLLARDE - * - * Converts a dollar price expressed as an integer part and a fraction - * part into a dollar price expressed as a decimal number. - * Fractional dollar numbers are sometimes used for security prices. - * - * Excel Function: - * DOLLARDE(fractional_dollar,fraction) - * - * @access public - * @category Financial Functions - * @param float $fractional_dollar Fractional Dollar - * @param integer $fraction Fraction - * @return float - */ - public static function DOLLARDE($fractional_dollar = Null, $fraction = 0) { - $fractional_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($fractional_dollar); - $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); - - // Validate parameters - if (is_null($fractional_dollar) || $fraction < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($fraction == 0) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $dollars = floor($fractional_dollar); - $cents = fmod($fractional_dollar,1); - $cents /= $fraction; - $cents *= pow(10,ceil(log10($fraction))); - return $dollars + $cents; - } // function DOLLARDE() - - - /** - * DOLLARFR - * - * Converts a dollar price expressed as a decimal number into a dollar price - * expressed as a fraction. - * Fractional dollar numbers are sometimes used for security prices. - * - * Excel Function: - * DOLLARFR(decimal_dollar,fraction) - * - * @access public - * @category Financial Functions - * @param float $decimal_dollar Decimal Dollar - * @param integer $fraction Fraction - * @return float - */ - public static function DOLLARFR($decimal_dollar = Null, $fraction = 0) { - $decimal_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($decimal_dollar); - $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); - - // Validate parameters - if (is_null($decimal_dollar) || $fraction < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($fraction == 0) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $dollars = floor($decimal_dollar); - $cents = fmod($decimal_dollar,1); - $cents *= $fraction; - $cents *= pow(10,-ceil(log10($fraction))); - return $dollars + $cents; - } // function DOLLARFR() - - - /** - * EFFECT - * - * Returns the effective interest rate given the nominal rate and the number of - * compounding payments per year. - * - * Excel Function: - * EFFECT(nominal_rate,npery) - * - * @access public - * @category Financial Functions - * @param float $nominal_rate Nominal interest rate - * @param integer $npery Number of compounding payments per year - * @return float - */ - public static function EFFECT($nominal_rate = 0, $npery = 0) { - $nominal_rate = PHPExcel_Calculation_Functions::flattenSingleValue($nominal_rate); - $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); - - // Validate parameters - if ($nominal_rate <= 0 || $npery < 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return pow((1 + $nominal_rate / $npery), $npery) - 1; - } // function EFFECT() - - - /** - * FV - * - * Returns the Future Value of a cash flow with constant payments and interest rate (annuities). - * - * Excel Function: - * FV(rate,nper,pmt[,pv[,type]]) - * - * @access public - * @category Financial Functions - * @param float $rate The interest rate per period - * @param int $nper Total number of payment periods in an annuity - * @param float $pmt The payment made each period: it cannot change over the - * life of the annuity. Typically, pmt contains principal - * and interest but no other fees or taxes. - * @param float $pv Present Value, or the lump-sum amount that a series of - * future payments is worth right now. - * @param integer $type A number 0 or 1 and indicates when payments are due: - * 0 or omitted At the end of the period. - * 1 At the beginning of the period. - * @return float - */ - public static function FV($rate = 0, $nper = 0, $pmt = 0, $pv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - // Calculate - if (!is_null($rate) && $rate != 0) { - return -$pv * pow(1 + $rate, $nper) - $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate; - } else { - return -$pv - $pmt * $nper; - } - } // function FV() - - - /** - * FVSCHEDULE - * - * Returns the future value of an initial principal after applying a series of compound interest rates. - * Use FVSCHEDULE to calculate the future value of an investment with a variable or adjustable rate. - * - * Excel Function: - * FVSCHEDULE(principal,schedule) - * - * @param float $principal The present value. - * @param float[] $schedule An array of interest rates to apply. - * @return float - */ - public static function FVSCHEDULE($principal, $schedule) { - $principal = PHPExcel_Calculation_Functions::flattenSingleValue($principal); - $schedule = PHPExcel_Calculation_Functions::flattenArray($schedule); - - foreach($schedule as $rate) { - $principal *= 1 + $rate; - } - - return $principal; - } // function FVSCHEDULE() - - - /** - * INTRATE - * - * Returns the interest rate for a fully invested security. - * - * Excel Function: - * INTRATE(settlement,maturity,investment,redemption[,basis]) - * - * @param mixed $settlement The security's settlement date. - * The security settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed $maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param integer $investment The amount invested in the security. - * @param integer $redemption The amount to be received at maturity. - * @param integer $basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function INTRATE($settlement, $maturity, $investment, $redemption, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $investment = PHPExcel_Calculation_Functions::flattenSingleValue($investment); - $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); - $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if ((is_numeric($investment)) && (is_numeric($redemption)) && (is_numeric($basis))) { - $investment = (float) $investment; - $redemption = (float) $redemption; - $basis = (int) $basis; - if (($investment <= 0) || ($redemption <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - - return (($redemption / $investment) - 1) / ($daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function INTRATE() - - - /** - * IPMT - * - * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. - * - * Excel Function: - * IPMT(rate,per,nper,pv[,fv][,type]) - * - * @param float $rate Interest rate per period - * @param int $per Period for which we want to find the interest - * @param int $nper Number of periods - * @param float $pv Present Value - * @param float $fv Future Value - * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period - * @return float - */ - public static function IPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); - $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($per <= 0 || $per > $nper) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // Calculate - $interestAndPrincipal = self::_interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); - return $interestAndPrincipal[0]; - } // function IPMT() - - /** - * IRR - * - * Returns the internal rate of return for a series of cash flows represented by the numbers in values. - * These cash flows do not have to be even, as they would be for an annuity. However, the cash flows must occur - * at regular intervals, such as monthly or annually. The internal rate of return is the interest rate received - * for an investment consisting of payments (negative values) and income (positive values) that occur at regular - * periods. - * - * Excel Function: - * IRR(values[,guess]) - * - * @param float[] $values An array or a reference to cells that contain numbers for which you want - * to calculate the internal rate of return. - * Values must contain at least one positive value and one negative value to - * calculate the internal rate of return. - * @param float $guess A number that you guess is close to the result of IRR - * @return float - */ - public static function IRR($values, $guess = 0.1) { - if (!is_array($values)) return PHPExcel_Calculation_Functions::VALUE(); - $values = PHPExcel_Calculation_Functions::flattenArray($values); - $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); - - // create an initial range, with a root somewhere between 0 and guess - $x1 = 0.0; - $x2 = $guess; - $f1 = self::NPV($x1, $values); - $f2 = self::NPV($x2, $values); - for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { - if (($f1 * $f2) < 0.0) break; - if (abs($f1) < abs($f2)) { - $f1 = self::NPV($x1 += 1.6 * ($x1 - $x2), $values); - } else { - $f2 = self::NPV($x2 += 1.6 * ($x2 - $x1), $values); - } - } - if (($f1 * $f2) > 0.0) return PHPExcel_Calculation_Functions::VALUE(); - - $f = self::NPV($x1, $values); - if ($f < 0.0) { - $rtb = $x1; - $dx = $x2 - $x1; - } else { - $rtb = $x2; - $dx = $x1 - $x2; - } - - for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { - $dx *= 0.5; - $x_mid = $rtb + $dx; - $f_mid = self::NPV($x_mid, $values); - if ($f_mid <= 0.0) - $rtb = $x_mid; - if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) - return $x_mid; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function IRR() - - - /** - * ISPMT - * - * Returns the interest payment for an investment based on an interest rate and a constant payment schedule. - * - * Excel Function: - * =ISPMT(interest_rate, period, number_payments, PV) - * - * interest_rate is the interest rate for the investment - * - * period is the period to calculate the interest rate. It must be betweeen 1 and number_payments. - * - * number_payments is the number of payments for the annuity - * - * PV is the loan amount or present value of the payments - */ - public static function ISPMT() { - // Return value - $returnValue = 0; - - // Get the parameters - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - $interestRate = array_shift($aArgs); - $period = array_shift($aArgs); - $numberPeriods = array_shift($aArgs); - $principleRemaining = array_shift($aArgs); - - // Calculate - $principlePayment = ($principleRemaining * 1.0) / ($numberPeriods * 1.0); - for($i=0; $i <= $period; ++$i) { - $returnValue = $interestRate * $principleRemaining * -1; - $principleRemaining -= $principlePayment; - // principle needs to be 0 after the last payment, don't let floating point screw it up - if($i == $numberPeriods) { - $returnValue = 0; - } - } - return($returnValue); - } // function ISPMT() - - - /** - * MIRR - * - * Returns the modified internal rate of return for a series of periodic cash flows. MIRR considers both - * the cost of the investment and the interest received on reinvestment of cash. - * - * Excel Function: - * MIRR(values,finance_rate, reinvestment_rate) - * - * @param float[] $values An array or a reference to cells that contain a series of payments and - * income occurring at regular intervals. - * Payments are negative value, income is positive values. - * @param float $finance_rate The interest rate you pay on the money used in the cash flows - * @param float $reinvestment_rate The interest rate you receive on the cash flows as you reinvest them - * @return float - */ - public static function MIRR($values, $finance_rate, $reinvestment_rate) { - if (!is_array($values)) return PHPExcel_Calculation_Functions::VALUE(); - $values = PHPExcel_Calculation_Functions::flattenArray($values); - $finance_rate = PHPExcel_Calculation_Functions::flattenSingleValue($finance_rate); - $reinvestment_rate = PHPExcel_Calculation_Functions::flattenSingleValue($reinvestment_rate); - $n = count($values); - - $rr = 1.0 + $reinvestment_rate; - $fr = 1.0 + $finance_rate; - - $npv_pos = $npv_neg = 0.0; - foreach($values as $i => $v) { - if ($v >= 0) { - $npv_pos += $v / pow($rr, $i); - } else { - $npv_neg += $v / pow($fr, $i); - } - } - - if (($npv_neg == 0) || ($npv_pos == 0) || ($reinvestment_rate <= -1)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - $mirr = pow((-$npv_pos * pow($rr, $n)) - / ($npv_neg * ($rr)), (1.0 / ($n - 1))) - 1.0; - - return (is_finite($mirr) ? $mirr : PHPExcel_Calculation_Functions::VALUE()); - } // function MIRR() - - - /** - * NOMINAL - * - * Returns the nominal interest rate given the effective rate and the number of compounding payments per year. - * - * @param float $effect_rate Effective interest rate - * @param int $npery Number of compounding payments per year - * @return float - */ - public static function NOMINAL($effect_rate = 0, $npery = 0) { - $effect_rate = PHPExcel_Calculation_Functions::flattenSingleValue($effect_rate); - $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); - - // Validate parameters - if ($effect_rate <= 0 || $npery < 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - // Calculate - return $npery * (pow($effect_rate + 1, 1 / $npery) - 1); - } // function NOMINAL() - - - /** - * NPER - * - * Returns the number of periods for a cash flow with constant periodic payments (annuities), and interest rate. - * - * @param float $rate Interest rate per period - * @param int $pmt Periodic payment (annuity) - * @param float $pv Present Value - * @param float $fv Future Value - * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period - * @return float - */ - public static function NPER($rate = 0, $pmt = 0, $pv = 0, $fv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - // Calculate - if (!is_null($rate) && $rate != 0) { - if ($pmt == 0 && $pv == 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return log(($pmt * (1 + $rate * $type) / $rate - $fv) / ($pv + $pmt * (1 + $rate * $type) / $rate)) / log(1 + $rate); - } else { - if ($pmt == 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return (-$pv -$fv) / $pmt; - } - } // function NPER() - - /** - * NPV - * - * Returns the Net Present Value of a cash flow series given a discount rate. - * - * @return float - */ - public static function NPV() { - // Return value - $returnValue = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $rate = array_shift($aArgs); - for ($i = 1; $i <= count($aArgs); ++$i) { - // Is it a numeric value? - if (is_numeric($aArgs[$i - 1])) { - $returnValue += $aArgs[$i - 1] / pow(1 + $rate, $i); - } - } - - // Return - return $returnValue; - } // function NPV() - - /** - * PMT - * - * Returns the constant payment (annuity) for a cash flow with a constant interest rate. - * - * @param float $rate Interest rate per period - * @param int $nper Number of periods - * @param float $pv Present Value - * @param float $fv Future Value - * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period - * @return float - */ - public static function PMT($rate = 0, $nper = 0, $pv = 0, $fv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - // Calculate - if (!is_null($rate) && $rate != 0) { - return (-$fv - $pv * pow(1 + $rate, $nper)) / (1 + $rate * $type) / ((pow(1 + $rate, $nper) - 1) / $rate); - } else { - return (-$pv - $fv) / $nper; - } - } // function PMT() - - - /** - * PPMT - * - * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. - * - * @param float $rate Interest rate per period - * @param int $per Period for which we want to find the interest - * @param int $nper Number of periods - * @param float $pv Present Value - * @param float $fv Future Value - * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period - * @return float - */ - public static function PPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); - $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($per <= 0 || $per > $nper) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // Calculate - $interestAndPrincipal = self::_interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); - return $interestAndPrincipal[1]; - } // function PPMT() - - - public static function PRICE($settlement, $maturity, $rate, $yield, $redemption, $frequency, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $rate = (float) PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $yield = (float) PHPExcel_Calculation_Functions::flattenSingleValue($yield); - $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); - $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); - $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - if (is_string($settlement = PHPExcel_Calculation_DateTime::_getDateValue($settlement))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (($settlement > $maturity) || - (!self::_validFrequency($frequency)) || - (($basis < 0) || ($basis > 4))) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $dsc = self::COUPDAYSNC($settlement, $maturity, $frequency, $basis); - $e = self::COUPDAYS($settlement, $maturity, $frequency, $basis); - $n = self::COUPNUM($settlement, $maturity, $frequency, $basis); - $a = self::COUPDAYBS($settlement, $maturity, $frequency, $basis); - - $baseYF = 1.0 + ($yield / $frequency); - $rfp = 100 * ($rate / $frequency); - $de = $dsc / $e; - - $result = $redemption / pow($baseYF, (--$n + $de)); - for($k = 0; $k <= $n; ++$k) { - $result += $rfp / (pow($baseYF, ($k + $de))); - } - $result -= $rfp * ($a / $e); - - return $result; - } // function PRICE() - - - /** - * PRICEDISC - * - * Returns the price per $100 face value of a discounted security. - * - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param int discount The security's discount rate. - * @param int redemption The security's redemption value per $100 face value. - * @param int basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function PRICEDISC($settlement, $maturity, $discount, $redemption, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); - $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); - $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if ((is_numeric($discount)) && (is_numeric($redemption)) && (is_numeric($basis))) { - if (($discount <= 0) || ($redemption <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - - return $redemption * (1 - $discount * $daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function PRICEDISC() - - - /** - * PRICEMAT - * - * Returns the price per $100 face value of a security that pays interest at maturity. - * - * @param mixed settlement The security's settlement date. - * The security's settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed issue The security's issue date. - * @param int rate The security's interest rate at date of issue. - * @param int yield The security's annual yield. - * @param int basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function PRICEMAT($settlement, $maturity, $issue, $rate, $yield, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $yield = PHPExcel_Calculation_Functions::flattenSingleValue($yield); - $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if (is_numeric($rate) && is_numeric($yield)) { - if (($rate <= 0) || ($yield <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); - if (!is_numeric($daysPerYear)) { - return $daysPerYear; - } - $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); - if (!is_numeric($daysBetweenIssueAndSettlement)) { - // return date error - return $daysBetweenIssueAndSettlement; - } - $daysBetweenIssueAndSettlement *= $daysPerYear; - $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); - if (!is_numeric($daysBetweenIssueAndMaturity)) { - // return date error - return $daysBetweenIssueAndMaturity; - } - $daysBetweenIssueAndMaturity *= $daysPerYear; - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - $daysBetweenSettlementAndMaturity *= $daysPerYear; - - return ((100 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate * 100)) / - (1 + (($daysBetweenSettlementAndMaturity / $daysPerYear) * $yield)) - - (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate * 100)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function PRICEMAT() - - - /** - * PV - * - * Returns the Present Value of a cash flow with constant payments and interest rate (annuities). - * - * @param float $rate Interest rate per period - * @param int $nper Number of periods - * @param float $pmt Periodic payment (annuity) - * @param float $fv Future Value - * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period - * @return float - */ - public static function PV($rate = 0, $nper = 0, $pmt = 0, $fv = 0, $type = 0) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); - $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); - - // Validate parameters - if ($type != 0 && $type != 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - - // Calculate - if (!is_null($rate) && $rate != 0) { - return (-$pmt * (1 + $rate * $type) * ((pow(1 + $rate, $nper) - 1) / $rate) - $fv) / pow(1 + $rate, $nper); - } else { - return -$fv - $pmt * $nper; - } - } // function PV() - - - /** - * RATE - * - * Returns the interest rate per period of an annuity. - * RATE is calculated by iteration and can have zero or more solutions. - * If the successive results of RATE do not converge to within 0.0000001 after 20 iterations, - * RATE returns the #NUM! error value. - * - * Excel Function: - * RATE(nper,pmt,pv[,fv[,type[,guess]]]) - * - * @access public - * @category Financial Functions - * @param float nper The total number of payment periods in an annuity. - * @param float pmt The payment made each period and cannot change over the life - * of the annuity. - * Typically, pmt includes principal and interest but no other - * fees or taxes. - * @param float pv The present value - the total amount that a series of future - * payments is worth now. - * @param float fv The future value, or a cash balance you want to attain after - * the last payment is made. If fv is omitted, it is assumed - * to be 0 (the future value of a loan, for example, is 0). - * @param integer type A number 0 or 1 and indicates when payments are due: - * 0 or omitted At the end of the period. - * 1 At the beginning of the period. - * @param float guess Your guess for what the rate will be. - * If you omit guess, it is assumed to be 10 percent. - * @return float - **/ - public static function RATE($nper, $pmt, $pv, $fv = 0.0, $type = 0, $guess = 0.1) { - $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); - $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); - $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); - $fv = (is_null($fv)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($fv); - $type = (is_null($type)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); - $guess = (is_null($guess)) ? 0.1 : PHPExcel_Calculation_Functions::flattenSingleValue($guess); - - $rate = $guess; - if (abs($rate) < FINANCIAL_PRECISION) { - $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; - } else { - $f = exp($nper * log(1 + $rate)); - $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; - } - $y0 = $pv + $pmt * $nper + $fv; - $y1 = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; - - // find root by secant method - $i = $x0 = 0.0; - $x1 = $rate; - while ((abs($y0 - $y1) > FINANCIAL_PRECISION) && ($i < FINANCIAL_MAX_ITERATIONS)) { - $rate = ($y1 * $x0 - $y0 * $x1) / ($y1 - $y0); - $x0 = $x1; - $x1 = $rate; - if (($nper * abs($pmt)) > ($pv - $fv)) - $x1 = abs($x1); - - if (abs($rate) < FINANCIAL_PRECISION) { - $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; - } else { - $f = exp($nper * log(1 + $rate)); - $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; - } - - $y0 = $y1; - $y1 = $y; - ++$i; - } - return $rate; - } // function RATE() - - - /** - * RECEIVED - * - * Returns the price per $100 face value of a discounted security. - * - * @param mixed settlement The security's settlement date. - * The security settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param int investment The amount invested in the security. - * @param int discount The security's discount rate. - * @param int basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function RECEIVED($settlement, $maturity, $investment, $discount, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $investment = (float) PHPExcel_Calculation_Functions::flattenSingleValue($investment); - $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); - $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if ((is_numeric($investment)) && (is_numeric($discount)) && (is_numeric($basis))) { - if (($investment <= 0) || ($discount <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - - return $investment / ( 1 - ($discount * $daysBetweenSettlementAndMaturity)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function RECEIVED() - - - /** - * SLN - * - * Returns the straight-line depreciation of an asset for one period - * - * @param cost Initial cost of the asset - * @param salvage Value at the end of the depreciation - * @param life Number of periods over which the asset is depreciated - * @return float - */ - public static function SLN($cost, $salvage, $life) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); - - // Calculate - if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life))) { - if ($life < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return ($cost - $salvage) / $life; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SLN() - - - /** - * SYD - * - * Returns the sum-of-years' digits depreciation of an asset for a specified period. - * - * @param cost Initial cost of the asset - * @param salvage Value at the end of the depreciation - * @param life Number of periods over which the asset is depreciated - * @param period Period - * @return float - */ - public static function SYD($cost, $salvage, $life, $period) { - $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); - $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); - $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); - $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); - - // Calculate - if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period))) { - if (($life < 1) || ($period > $life)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return (($cost - $salvage) * ($life - $period + 1) * 2) / ($life * ($life + 1)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SYD() - - - /** - * TBILLEQ - * - * Returns the bond-equivalent yield for a Treasury bill. - * - * @param mixed settlement The Treasury bill's settlement date. - * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. - * @param mixed maturity The Treasury bill's maturity date. - * The maturity date is the date when the Treasury bill expires. - * @param int discount The Treasury bill's discount rate. - * @return float - */ - public static function TBILLEQ($settlement, $maturity, $discount) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); - - // Use TBILLPRICE for validation - $testValue = self::TBILLPRICE($settlement, $maturity, $discount); - if (is_string($testValue)) { - return $testValue; - } - - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - ++$maturity; - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; - } else { - $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); - } - - return (365 * $discount) / (360 - $discount * $daysBetweenSettlementAndMaturity); - } // function TBILLEQ() - - - /** - * TBILLPRICE - * - * Returns the yield for a Treasury bill. - * - * @param mixed settlement The Treasury bill's settlement date. - * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. - * @param mixed maturity The Treasury bill's maturity date. - * The maturity date is the date when the Treasury bill expires. - * @param int discount The Treasury bill's discount rate. - * @return float - */ - public static function TBILLPRICE($settlement, $maturity, $discount) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); - - if (is_string($maturity = PHPExcel_Calculation_DateTime::_getDateValue($maturity))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // Validate - if (is_numeric($discount)) { - if ($discount <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - ++$maturity; - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - } else { - $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); - } - - if ($daysBetweenSettlementAndMaturity > 360) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $price = 100 * (1 - (($discount * $daysBetweenSettlementAndMaturity) / 360)); - if ($price <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return $price; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TBILLPRICE() - - - /** - * TBILLYIELD - * - * Returns the yield for a Treasury bill. - * - * @param mixed settlement The Treasury bill's settlement date. - * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. - * @param mixed maturity The Treasury bill's maturity date. - * The maturity date is the date when the Treasury bill expires. - * @param int price The Treasury bill's price per $100 face value. - * @return float - */ - public static function TBILLYIELD($settlement, $maturity, $price) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); - - // Validate - if (is_numeric($price)) { - if ($price <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - ++$maturity; - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - } else { - $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::_getDateValue($maturity) - PHPExcel_Calculation_DateTime::_getDateValue($settlement)); - } - - if ($daysBetweenSettlementAndMaturity > 360) { - return PHPExcel_Calculation_Functions::NaN(); - } - - return ((100 - $price) / $price) * (360 / $daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TBILLYIELD() - - - public static function XIRR($values, $dates, $guess = 0.1) { - if ((!is_array($values)) && (!is_array($dates))) return PHPExcel_Calculation_Functions::VALUE(); - $values = PHPExcel_Calculation_Functions::flattenArray($values); - $dates = PHPExcel_Calculation_Functions::flattenArray($dates); - $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); - if (count($values) != count($dates)) return PHPExcel_Calculation_Functions::NaN(); - - // create an initial range, with a root somewhere between 0 and guess - $x1 = 0.0; - $x2 = $guess; - $f1 = self::XNPV($x1, $values, $dates); - $f2 = self::XNPV($x2, $values, $dates); - for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { - if (($f1 * $f2) < 0.0) break; - if (abs($f1) < abs($f2)) { - $f1 = self::XNPV($x1 += 1.6 * ($x1 - $x2), $values, $dates); - } else { - $f2 = self::XNPV($x2 += 1.6 * ($x2 - $x1), $values, $dates); - } - } - if (($f1 * $f2) > 0.0) return PHPExcel_Calculation_Functions::VALUE(); - - $f = self::XNPV($x1, $values, $dates); - if ($f < 0.0) { - $rtb = $x1; - $dx = $x2 - $x1; - } else { - $rtb = $x2; - $dx = $x1 - $x2; - } - - for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { - $dx *= 0.5; - $x_mid = $rtb + $dx; - $f_mid = self::XNPV($x_mid, $values, $dates); - if ($f_mid <= 0.0) $rtb = $x_mid; - if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) return $x_mid; - } - return PHPExcel_Calculation_Functions::VALUE(); - } - - - /** - * XNPV - * - * Returns the net present value for a schedule of cash flows that is not necessarily periodic. - * To calculate the net present value for a series of cash flows that is periodic, use the NPV function. - * - * Excel Function: - * =XNPV(rate,values,dates) - * - * @param float $rate The discount rate to apply to the cash flows. - * @param array of float $values A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value. - * @param array of mixed $dates A schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order. - * @return float - */ - public static function XNPV($rate, $values, $dates) { - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - if (!is_numeric($rate)) return PHPExcel_Calculation_Functions::VALUE(); - if ((!is_array($values)) || (!is_array($dates))) return PHPExcel_Calculation_Functions::VALUE(); - $values = PHPExcel_Calculation_Functions::flattenArray($values); - $dates = PHPExcel_Calculation_Functions::flattenArray($dates); - $valCount = count($values); - if ($valCount != count($dates)) return PHPExcel_Calculation_Functions::NaN(); - if ((min($values) > 0) || (max($values) < 0)) return PHPExcel_Calculation_Functions::VALUE(); - - $xnpv = 0.0; - for ($i = 0; $i < $valCount; ++$i) { - if (!is_numeric($values[$i])) return PHPExcel_Calculation_Functions::VALUE(); - $xnpv += $values[$i] / pow(1 + $rate, PHPExcel_Calculation_DateTime::DATEDIF($dates[0],$dates[$i],'d') / 365); - } - return (is_finite($xnpv)) ? $xnpv : PHPExcel_Calculation_Functions::VALUE(); - } // function XNPV() - - - /** - * YIELDDISC - * - * Returns the annual yield of a security that pays interest at maturity. - * - * @param mixed settlement The security's settlement date. - * The security's settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param int price The security's price per $100 face value. - * @param int redemption The security's redemption value per $100 face value. - * @param int basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function YIELDDISC($settlement, $maturity, $price, $redemption, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); - $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); - $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if (is_numeric($price) && is_numeric($redemption)) { - if (($price <= 0) || ($redemption <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); - if (!is_numeric($daysPerYear)) { - return $daysPerYear; - } - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity,$basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - $daysBetweenSettlementAndMaturity *= $daysPerYear; - - return (($redemption - $price) / $price) * ($daysPerYear / $daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function YIELDDISC() - - - /** - * YIELDMAT - * - * Returns the annual yield of a security that pays interest at maturity. - * - * @param mixed settlement The security's settlement date. - * The security's settlement date is the date after the issue date when the security is traded to the buyer. - * @param mixed maturity The security's maturity date. - * The maturity date is the date when the security expires. - * @param mixed issue The security's issue date. - * @param int rate The security's interest rate at date of issue. - * @param int price The security's price per $100 face value. - * @param int basis The type of day count to use. - * 0 or omitted US (NASD) 30/360 - * 1 Actual/actual - * 2 Actual/360 - * 3 Actual/365 - * 4 European 30/360 - * @return float - */ - public static function YIELDMAT($settlement, $maturity, $issue, $rate, $price, $basis=0) { - $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); - $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); - $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); - $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); - $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); - $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); - - // Validate - if (is_numeric($rate) && is_numeric($price)) { - if (($rate <= 0) || ($price <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $daysPerYear = self::_daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement),$basis); - if (!is_numeric($daysPerYear)) { - return $daysPerYear; - } - $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); - if (!is_numeric($daysBetweenIssueAndSettlement)) { - // return date error - return $daysBetweenIssueAndSettlement; - } - $daysBetweenIssueAndSettlement *= $daysPerYear; - $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); - if (!is_numeric($daysBetweenIssueAndMaturity)) { - // return date error - return $daysBetweenIssueAndMaturity; - } - $daysBetweenIssueAndMaturity *= $daysPerYear; - $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); - if (!is_numeric($daysBetweenSettlementAndMaturity)) { - // return date error - return $daysBetweenSettlementAndMaturity; - } - $daysBetweenSettlementAndMaturity *= $daysPerYear; - - return ((1 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate) - (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) / - (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) * - ($daysPerYear / $daysBetweenSettlementAndMaturity); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function YIELDMAT() - -} // class PHPExcel_Calculation_Financial + } else { + return 0.0; + } + } + + + /** + * COUPDAYBS + * + * Returns the number of days from the beginning of the coupon period to the settlement date. + * + * Excel Function: + * COUPDAYBS(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYBS($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement), $basis); + $prev = self::couponFirstPeriodDate($settlement, $maturity, $frequency, false); + + return PHPExcel_Calculation_DateTime::YEARFRAC($prev, $settlement, $basis) * $daysPerYear; + } + + + /** + * COUPDAYS + * + * Returns the number of days in the coupon period that contains the settlement date. + * + * Excel Function: + * COUPDAYS(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYS($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + switch ($basis) { + case 3: + // Actual/365 + return 365 / $frequency; + case 1: + // Actual/actual + if ($frequency == 1) { + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($maturity), $basis); + return ($daysPerYear / $frequency); + } + $prev = self::couponFirstPeriodDate($settlement, $maturity, $frequency, false); + $next = self::couponFirstPeriodDate($settlement, $maturity, $frequency, true); + return ($next - $prev); + default: + // US (NASD) 30/360, Actual/360 or European 30/360 + return 360 / $frequency; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * COUPDAYSNC + * + * Returns the number of days from the settlement date to the next coupon date. + * + * Excel Function: + * COUPDAYSNC(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function COUPDAYSNC($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement), $basis); + $next = self::couponFirstPeriodDate($settlement, $maturity, $frequency, true); + + return PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $next, $basis) * $daysPerYear; + } + + + /** + * COUPNCD + * + * Returns the next coupon date after the settlement date. + * + * Excel Function: + * COUPNCD(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function COUPNCD($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::couponFirstPeriodDate($settlement, $maturity, $frequency, true); + } + + + /** + * COUPNUM + * + * Returns the number of coupons payable between the settlement date and maturity date, + * rounded up to the nearest whole coupon. + * + * Excel Function: + * COUPNUM(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return integer + */ + public static function COUPNUM($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $settlement = self::couponFirstPeriodDate($settlement, $maturity, $frequency, true); + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis) * 365; + + switch ($frequency) { + case 1: // annual payments + return ceil($daysBetweenSettlementAndMaturity / 360); + case 2: // half-yearly + return ceil($daysBetweenSettlementAndMaturity / 180); + case 4: // quarterly + return ceil($daysBetweenSettlementAndMaturity / 90); + case 6: // bimonthly + return ceil($daysBetweenSettlementAndMaturity / 60); + case 12: // monthly + return ceil($daysBetweenSettlementAndMaturity / 30); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * COUPPCD + * + * Returns the previous coupon date before the settlement date. + * + * Excel Function: + * COUPPCD(settlement,maturity,frequency[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed frequency the number of coupon payments per year. + * Valid frequency values are: + * 1 Annual + * 2 Semi-Annual + * 4 Quarterly + * If working in Gnumeric Mode, the following frequency options are + * also available + * 6 Bimonthly + * 12 Monthly + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, + * depending on the value of the ReturnDateType flag + */ + public static function COUPPCD($settlement, $maturity, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return self::couponFirstPeriodDate($settlement, $maturity, $frequency, false); + } + + + /** + * CUMIPMT + * + * Returns the cumulative interest paid on a loan between the start and end periods. + * + * Excel Function: + * CUMIPMT(rate,nper,pv,start,end[,type]) + * + * @access public + * @category Financial Functions + * @param float $rate The Interest rate + * @param integer $nper The total number of payment periods + * @param float $pv Present Value + * @param integer $start The first period in the calculation. + * Payment periods are numbered beginning with 1. + * @param integer $end The last period in the calculation. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function CUMIPMT($rate, $nper, $pv, $start, $end, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); + $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($start < 1 || $start > $end) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interest = 0; + for ($per = $start; $per <= $end; ++$per) { + $interest += self::IPMT($rate, $per, $nper, $pv, 0, $type); + } + + return $interest; + } + + + /** + * CUMPRINC + * + * Returns the cumulative principal paid on a loan between the start and end periods. + * + * Excel Function: + * CUMPRINC(rate,nper,pv,start,end[,type]) + * + * @access public + * @category Financial Functions + * @param float $rate The Interest rate + * @param integer $nper The total number of payment periods + * @param float $pv Present Value + * @param integer $start The first period in the calculation. + * Payment periods are numbered beginning with 1. + * @param integer $end The last period in the calculation. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function CUMPRINC($rate, $nper, $pv, $start, $end, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $start = (int) PHPExcel_Calculation_Functions::flattenSingleValue($start); + $end = (int) PHPExcel_Calculation_Functions::flattenSingleValue($end); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($start < 1 || $start > $end) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $principal = 0; + for ($per = $start; $per <= $end; ++$per) { + $principal += self::PPMT($rate, $per, $nper, $pv, 0, $type); + } + + return $principal; + } + + + /** + * DB + * + * Returns the depreciation of an asset for a specified period using the + * fixed-declining balance method. + * This form of depreciation is used if you want to get a higher depreciation value + * at the beginning of the depreciation (as opposed to linear depreciation). The + * depreciation value is reduced with every depreciation period by the depreciation + * already deducted from the initial cost. + * + * Excel Function: + * DB(cost,salvage,life,period[,month]) + * + * @access public + * @category Financial Functions + * @param float cost Initial cost of the asset. + * @param float salvage Value at the end of the depreciation. + * (Sometimes called the salvage value of the asset) + * @param integer life Number of periods over which the asset is depreciated. + * (Sometimes called the useful life of the asset) + * @param integer period The period for which you want to calculate the + * depreciation. Period must use the same units as life. + * @param integer month Number of months in the first year. If month is omitted, + * it defaults to 12. + * @return float + */ + public static function DB($cost, $salvage, $life, $period, $month = 12) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $month = PHPExcel_Calculation_Functions::flattenSingleValue($month); + + // Validate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($month))) { + $cost = (float) $cost; + $salvage = (float) $salvage; + $life = (int) $life; + $period = (int) $period; + $month = (int) $month; + if ($cost == 0) { + return 0.0; + } elseif (($cost < 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($month < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // Set Fixed Depreciation Rate + $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); + $fixedDepreciationRate = round($fixedDepreciationRate, 3); + + // Loop through each period calculating the depreciation + $previousDepreciation = 0; + for ($per = 1; $per <= $period; ++$per) { + if ($per == 1) { + $depreciation = $cost * $fixedDepreciationRate * $month / 12; + } elseif ($per == ($life + 1)) { + $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate * (12 - $month) / 12; + } else { + $depreciation = ($cost - $previousDepreciation) * $fixedDepreciationRate; + } + $previousDepreciation += $depreciation; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $depreciation = round($depreciation, 2); + } + return $depreciation; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * DDB + * + * Returns the depreciation of an asset for a specified period using the + * double-declining balance method or some other method you specify. + * + * Excel Function: + * DDB(cost,salvage,life,period[,factor]) + * + * @access public + * @category Financial Functions + * @param float cost Initial cost of the asset. + * @param float salvage Value at the end of the depreciation. + * (Sometimes called the salvage value of the asset) + * @param integer life Number of periods over which the asset is depreciated. + * (Sometimes called the useful life of the asset) + * @param integer period The period for which you want to calculate the + * depreciation. Period must use the same units as life. + * @param float factor The rate at which the balance declines. + * If factor is omitted, it is assumed to be 2 (the + * double-declining balance method). + * @return float + */ + public static function DDB($cost, $salvage, $life, $period, $factor = 2.0) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + $factor = PHPExcel_Calculation_Functions::flattenSingleValue($factor); + + // Validate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period)) && (is_numeric($factor))) { + $cost = (float) $cost; + $salvage = (float) $salvage; + $life = (int) $life; + $period = (int) $period; + $factor = (float) $factor; + if (($cost <= 0) || (($salvage / $cost) < 0) || ($life <= 0) || ($period < 1) || ($factor <= 0.0) || ($period > $life)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // Set Fixed Depreciation Rate + $fixedDepreciationRate = 1 - pow(($salvage / $cost), (1 / $life)); + $fixedDepreciationRate = round($fixedDepreciationRate, 3); + + // Loop through each period calculating the depreciation + $previousDepreciation = 0; + for ($per = 1; $per <= $period; ++$per) { + $depreciation = min(($cost - $previousDepreciation) * ($factor / $life), ($cost - $salvage - $previousDepreciation)); + $previousDepreciation += $depreciation; + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + $depreciation = round($depreciation, 2); + } + return $depreciation; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * DISC + * + * Returns the discount rate for a security. + * + * Excel Function: + * DISC(settlement,maturity,price,redemption[,basis]) + * + * @access public + * @category Financial Functions + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue + * date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param integer price The security's price per $100 face value. + * @param integer redemption The security's redemption value per $100 face value. + * @param integer basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function DISC($settlement, $maturity, $price, $redemption, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($price)) && (is_numeric($redemption)) && (is_numeric($basis))) { + $price = (float) $price; + $redemption = (float) $redemption; + $basis = (int) $basis; + if (($price <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return ((1 - $price / $redemption) / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * DOLLARDE + * + * Converts a dollar price expressed as an integer part and a fraction + * part into a dollar price expressed as a decimal number. + * Fractional dollar numbers are sometimes used for security prices. + * + * Excel Function: + * DOLLARDE(fractional_dollar,fraction) + * + * @access public + * @category Financial Functions + * @param float $fractional_dollar Fractional Dollar + * @param integer $fraction Fraction + * @return float + */ + public static function DOLLARDE($fractional_dollar = null, $fraction = 0) + { + $fractional_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($fractional_dollar); + $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); + + // Validate parameters + if (is_null($fractional_dollar) || $fraction < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($fraction == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $dollars = floor($fractional_dollar); + $cents = fmod($fractional_dollar, 1); + $cents /= $fraction; + $cents *= pow(10, ceil(log10($fraction))); + return $dollars + $cents; + } + + + /** + * DOLLARFR + * + * Converts a dollar price expressed as a decimal number into a dollar price + * expressed as a fraction. + * Fractional dollar numbers are sometimes used for security prices. + * + * Excel Function: + * DOLLARFR(decimal_dollar,fraction) + * + * @access public + * @category Financial Functions + * @param float $decimal_dollar Decimal Dollar + * @param integer $fraction Fraction + * @return float + */ + public static function DOLLARFR($decimal_dollar = null, $fraction = 0) + { + $decimal_dollar = PHPExcel_Calculation_Functions::flattenSingleValue($decimal_dollar); + $fraction = (int)PHPExcel_Calculation_Functions::flattenSingleValue($fraction); + + // Validate parameters + if (is_null($decimal_dollar) || $fraction < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($fraction == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $dollars = floor($decimal_dollar); + $cents = fmod($decimal_dollar, 1); + $cents *= $fraction; + $cents *= pow(10, -ceil(log10($fraction))); + return $dollars + $cents; + } + + + /** + * EFFECT + * + * Returns the effective interest rate given the nominal rate and the number of + * compounding payments per year. + * + * Excel Function: + * EFFECT(nominal_rate,npery) + * + * @access public + * @category Financial Functions + * @param float $nominal_rate Nominal interest rate + * @param integer $npery Number of compounding payments per year + * @return float + */ + public static function EFFECT($nominal_rate = 0, $npery = 0) + { + $nominal_rate = PHPExcel_Calculation_Functions::flattenSingleValue($nominal_rate); + $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); + + // Validate parameters + if ($nominal_rate <= 0 || $npery < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return pow((1 + $nominal_rate / $npery), $npery) - 1; + } + + + /** + * FV + * + * Returns the Future Value of a cash flow with constant payments and interest rate (annuities). + * + * Excel Function: + * FV(rate,nper,pmt[,pv[,type]]) + * + * @access public + * @category Financial Functions + * @param float $rate The interest rate per period + * @param int $nper Total number of payment periods in an annuity + * @param float $pmt The payment made each period: it cannot change over the + * life of the annuity. Typically, pmt contains principal + * and interest but no other fees or taxes. + * @param float $pv Present Value, or the lump-sum amount that a series of + * future payments is worth right now. + * @param integer $type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @return float + */ + public static function FV($rate = 0, $nper = 0, $pmt = 0, $pv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return -$pv * pow(1 + $rate, $nper) - $pmt * (1 + $rate * $type) * (pow(1 + $rate, $nper) - 1) / $rate; + } + return -$pv - $pmt * $nper; + } + + + /** + * FVSCHEDULE + * + * Returns the future value of an initial principal after applying a series of compound interest rates. + * Use FVSCHEDULE to calculate the future value of an investment with a variable or adjustable rate. + * + * Excel Function: + * FVSCHEDULE(principal,schedule) + * + * @param float $principal The present value. + * @param float[] $schedule An array of interest rates to apply. + * @return float + */ + public static function FVSCHEDULE($principal, $schedule) + { + $principal = PHPExcel_Calculation_Functions::flattenSingleValue($principal); + $schedule = PHPExcel_Calculation_Functions::flattenArray($schedule); + + foreach ($schedule as $rate) { + $principal *= 1 + $rate; + } + + return $principal; + } + + + /** + * INTRATE + * + * Returns the interest rate for a fully invested security. + * + * Excel Function: + * INTRATE(settlement,maturity,investment,redemption[,basis]) + * + * @param mixed $settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed $maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param integer $investment The amount invested in the security. + * @param integer $redemption The amount to be received at maturity. + * @param integer $basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function INTRATE($settlement, $maturity, $investment, $redemption, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $investment = PHPExcel_Calculation_Functions::flattenSingleValue($investment); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($investment)) && (is_numeric($redemption)) && (is_numeric($basis))) { + $investment = (float) $investment; + $redemption = (float) $redemption; + $basis = (int) $basis; + if (($investment <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return (($redemption / $investment) - 1) / ($daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * IPMT + * + * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. + * + * Excel Function: + * IPMT(rate,per,nper,pv[,fv][,type]) + * + * @param float $rate Interest rate per period + * @param int $per Period for which we want to find the interest + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function IPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($per <= 0 || $per > $nper) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interestAndPrincipal = self::interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); + return $interestAndPrincipal[0]; + } + + /** + * IRR + * + * Returns the internal rate of return for a series of cash flows represented by the numbers in values. + * These cash flows do not have to be even, as they would be for an annuity. However, the cash flows must occur + * at regular intervals, such as monthly or annually. The internal rate of return is the interest rate received + * for an investment consisting of payments (negative values) and income (positive values) that occur at regular + * periods. + * + * Excel Function: + * IRR(values[,guess]) + * + * @param float[] $values An array or a reference to cells that contain numbers for which you want + * to calculate the internal rate of return. + * Values must contain at least one positive value and one negative value to + * calculate the internal rate of return. + * @param float $guess A number that you guess is close to the result of IRR + * @return float + */ + public static function IRR($values, $guess = 0.1) + { + if (!is_array($values)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); + + // create an initial range, with a root somewhere between 0 and guess + $x1 = 0.0; + $x2 = $guess; + $f1 = self::NPV($x1, $values); + $f2 = self::NPV($x2, $values); + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + if (($f1 * $f2) < 0.0) { + break; + } + if (abs($f1) < abs($f2)) { + $f1 = self::NPV($x1 += 1.6 * ($x1 - $x2), $values); + } else { + $f2 = self::NPV($x2 += 1.6 * ($x2 - $x1), $values); + } + } + if (($f1 * $f2) > 0.0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $f = self::NPV($x1, $values); + if ($f < 0.0) { + $rtb = $x1; + $dx = $x2 - $x1; + } else { + $rtb = $x2; + $dx = $x1 - $x2; + } + + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + $dx *= 0.5; + $x_mid = $rtb + $dx; + $f_mid = self::NPV($x_mid, $values); + if ($f_mid <= 0.0) { + $rtb = $x_mid; + } + if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) { + return $x_mid; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * ISPMT + * + * Returns the interest payment for an investment based on an interest rate and a constant payment schedule. + * + * Excel Function: + * =ISPMT(interest_rate, period, number_payments, PV) + * + * interest_rate is the interest rate for the investment + * + * period is the period to calculate the interest rate. It must be betweeen 1 and number_payments. + * + * number_payments is the number of payments for the annuity + * + * PV is the loan amount or present value of the payments + */ + public static function ISPMT() + { + // Return value + $returnValue = 0; + + // Get the parameters + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $interestRate = array_shift($aArgs); + $period = array_shift($aArgs); + $numberPeriods = array_shift($aArgs); + $principleRemaining = array_shift($aArgs); + + // Calculate + $principlePayment = ($principleRemaining * 1.0) / ($numberPeriods * 1.0); + for ($i=0; $i <= $period; ++$i) { + $returnValue = $interestRate * $principleRemaining * -1; + $principleRemaining -= $principlePayment; + // principle needs to be 0 after the last payment, don't let floating point screw it up + if ($i == $numberPeriods) { + $returnValue = 0; + } + } + return($returnValue); + } + + + /** + * MIRR + * + * Returns the modified internal rate of return for a series of periodic cash flows. MIRR considers both + * the cost of the investment and the interest received on reinvestment of cash. + * + * Excel Function: + * MIRR(values,finance_rate, reinvestment_rate) + * + * @param float[] $values An array or a reference to cells that contain a series of payments and + * income occurring at regular intervals. + * Payments are negative value, income is positive values. + * @param float $finance_rate The interest rate you pay on the money used in the cash flows + * @param float $reinvestment_rate The interest rate you receive on the cash flows as you reinvest them + * @return float + */ + public static function MIRR($values, $finance_rate, $reinvestment_rate) + { + if (!is_array($values)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $finance_rate = PHPExcel_Calculation_Functions::flattenSingleValue($finance_rate); + $reinvestment_rate = PHPExcel_Calculation_Functions::flattenSingleValue($reinvestment_rate); + $n = count($values); + + $rr = 1.0 + $reinvestment_rate; + $fr = 1.0 + $finance_rate; + + $npv_pos = $npv_neg = 0.0; + foreach ($values as $i => $v) { + if ($v >= 0) { + $npv_pos += $v / pow($rr, $i); + } else { + $npv_neg += $v / pow($fr, $i); + } + } + + if (($npv_neg == 0) || ($npv_pos == 0) || ($reinvestment_rate <= -1)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $mirr = pow((-$npv_pos * pow($rr, $n)) + / ($npv_neg * ($rr)), (1.0 / ($n - 1))) - 1.0; + + return (is_finite($mirr) ? $mirr : PHPExcel_Calculation_Functions::VALUE()); + } + + + /** + * NOMINAL + * + * Returns the nominal interest rate given the effective rate and the number of compounding payments per year. + * + * @param float $effect_rate Effective interest rate + * @param int $npery Number of compounding payments per year + * @return float + */ + public static function NOMINAL($effect_rate = 0, $npery = 0) + { + $effect_rate = PHPExcel_Calculation_Functions::flattenSingleValue($effect_rate); + $npery = (int)PHPExcel_Calculation_Functions::flattenSingleValue($npery); + + // Validate parameters + if ($effect_rate <= 0 || $npery < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + return $npery * (pow($effect_rate + 1, 1 / $npery) - 1); + } + + + /** + * NPER + * + * Returns the number of periods for a cash flow with constant periodic payments (annuities), and interest rate. + * + * @param float $rate Interest rate per period + * @param int $pmt Periodic payment (annuity) + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function NPER($rate = 0, $pmt = 0, $pv = 0, $fv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + if ($pmt == 0 && $pv == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return log(($pmt * (1 + $rate * $type) / $rate - $fv) / ($pv + $pmt * (1 + $rate * $type) / $rate)) / log(1 + $rate); + } + if ($pmt == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (-$pv -$fv) / $pmt; + } + + /** + * NPV + * + * Returns the Net Present Value of a cash flow series given a discount rate. + * + * @return float + */ + public static function NPV() + { + // Return value + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $rate = array_shift($aArgs); + for ($i = 1; $i <= count($aArgs); ++$i) { + // Is it a numeric value? + if (is_numeric($aArgs[$i - 1])) { + $returnValue += $aArgs[$i - 1] / pow(1 + $rate, $i); + } + } + + // Return + return $returnValue; + } + + /** + * PMT + * + * Returns the constant payment (annuity) for a cash flow with a constant interest rate. + * + * @param float $rate Interest rate per period + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PMT($rate = 0, $nper = 0, $pv = 0, $fv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return (-$fv - $pv * pow(1 + $rate, $nper)) / (1 + $rate * $type) / ((pow(1 + $rate, $nper) - 1) / $rate); + } + return (-$pv - $fv) / $nper; + } + + + /** + * PPMT + * + * Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate. + * + * @param float $rate Interest rate per period + * @param int $per Period for which we want to find the interest + * @param int $nper Number of periods + * @param float $pv Present Value + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PPMT($rate, $per, $nper, $pv, $fv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $per = (int) PHPExcel_Calculation_Functions::flattenSingleValue($per); + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($per <= 0 || $per > $nper) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Calculate + $interestAndPrincipal = self::interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type); + return $interestAndPrincipal[1]; + } + + + public static function PRICE($settlement, $maturity, $rate, $yield, $redemption, $frequency, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $rate = (float) PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $yield = (float) PHPExcel_Calculation_Functions::flattenSingleValue($yield); + $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $frequency = (int) PHPExcel_Calculation_Functions::flattenSingleValue($frequency); + $basis = (is_null($basis)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + if (is_string($settlement = PHPExcel_Calculation_DateTime::getDateValue($settlement))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (($settlement > $maturity) || + (!self::isValidFrequency($frequency)) || + (($basis < 0) || ($basis > 4))) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $dsc = self::COUPDAYSNC($settlement, $maturity, $frequency, $basis); + $e = self::COUPDAYS($settlement, $maturity, $frequency, $basis); + $n = self::COUPNUM($settlement, $maturity, $frequency, $basis); + $a = self::COUPDAYBS($settlement, $maturity, $frequency, $basis); + + $baseYF = 1.0 + ($yield / $frequency); + $rfp = 100 * ($rate / $frequency); + $de = $dsc / $e; + + $result = $redemption / pow($baseYF, (--$n + $de)); + for ($k = 0; $k <= $n; ++$k) { + $result += $rfp / (pow($baseYF, ($k + $de))); + } + $result -= $rfp * ($a / $e); + + return $result; + } + + + /** + * PRICEDISC + * + * Returns the price per $100 face value of a discounted security. + * + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int discount The security's discount rate. + * @param int redemption The security's redemption value per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function PRICEDISC($settlement, $maturity, $discount, $redemption, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); + $redemption = (float) PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($discount)) && (is_numeric($redemption)) && (is_numeric($basis))) { + if (($discount <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return $redemption * (1 - $discount * $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * PRICEMAT + * + * Returns the price per $100 face value of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed issue The security's issue date. + * @param int rate The security's interest rate at date of issue. + * @param int yield The security's annual yield. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function PRICEMAT($settlement, $maturity, $issue, $rate, $yield, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $yield = PHPExcel_Calculation_Functions::flattenSingleValue($yield); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($rate) && is_numeric($yield)) { + if (($rate <= 0) || ($yield <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement), $basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + $daysBetweenIssueAndSettlement *= $daysPerYear; + $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); + if (!is_numeric($daysBetweenIssueAndMaturity)) { + // return date error + return $daysBetweenIssueAndMaturity; + } + $daysBetweenIssueAndMaturity *= $daysPerYear; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return ((100 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate * 100)) / + (1 + (($daysBetweenSettlementAndMaturity / $daysPerYear) * $yield)) - + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate * 100)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * PV + * + * Returns the Present Value of a cash flow with constant payments and interest rate (annuities). + * + * @param float $rate Interest rate per period + * @param int $nper Number of periods + * @param float $pmt Periodic payment (annuity) + * @param float $fv Future Value + * @param int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period + * @return float + */ + public static function PV($rate = 0, $nper = 0, $pmt = 0, $fv = 0, $type = 0) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $nper = PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $fv = PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = PHPExcel_Calculation_Functions::flattenSingleValue($type); + + // Validate parameters + if ($type != 0 && $type != 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // Calculate + if (!is_null($rate) && $rate != 0) { + return (-$pmt * (1 + $rate * $type) * ((pow(1 + $rate, $nper) - 1) / $rate) - $fv) / pow(1 + $rate, $nper); + } + return -$fv - $pmt * $nper; + } + + + /** + * RATE + * + * Returns the interest rate per period of an annuity. + * RATE is calculated by iteration and can have zero or more solutions. + * If the successive results of RATE do not converge to within 0.0000001 after 20 iterations, + * RATE returns the #NUM! error value. + * + * Excel Function: + * RATE(nper,pmt,pv[,fv[,type[,guess]]]) + * + * @access public + * @category Financial Functions + * @param float nper The total number of payment periods in an annuity. + * @param float pmt The payment made each period and cannot change over the life + * of the annuity. + * Typically, pmt includes principal and interest but no other + * fees or taxes. + * @param float pv The present value - the total amount that a series of future + * payments is worth now. + * @param float fv The future value, or a cash balance you want to attain after + * the last payment is made. If fv is omitted, it is assumed + * to be 0 (the future value of a loan, for example, is 0). + * @param integer type A number 0 or 1 and indicates when payments are due: + * 0 or omitted At the end of the period. + * 1 At the beginning of the period. + * @param float guess Your guess for what the rate will be. + * If you omit guess, it is assumed to be 10 percent. + * @return float + **/ + public static function RATE($nper, $pmt, $pv, $fv = 0.0, $type = 0, $guess = 0.1) + { + $nper = (int) PHPExcel_Calculation_Functions::flattenSingleValue($nper); + $pmt = PHPExcel_Calculation_Functions::flattenSingleValue($pmt); + $pv = PHPExcel_Calculation_Functions::flattenSingleValue($pv); + $fv = (is_null($fv)) ? 0.0 : PHPExcel_Calculation_Functions::flattenSingleValue($fv); + $type = (is_null($type)) ? 0 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($type); + $guess = (is_null($guess)) ? 0.1 : PHPExcel_Calculation_Functions::flattenSingleValue($guess); + + $rate = $guess; + if (abs($rate) < FINANCIAL_PRECISION) { + $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; + } else { + $f = exp($nper * log(1 + $rate)); + $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + } + $y0 = $pv + $pmt * $nper + $fv; + $y1 = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + + // find root by secant method + $i = $x0 = 0.0; + $x1 = $rate; + while ((abs($y0 - $y1) > FINANCIAL_PRECISION) && ($i < FINANCIAL_MAX_ITERATIONS)) { + $rate = ($y1 * $x0 - $y0 * $x1) / ($y1 - $y0); + $x0 = $x1; + $x1 = $rate; + if (($nper * abs($pmt)) > ($pv - $fv)) { + $x1 = abs($x1); + } + if (abs($rate) < FINANCIAL_PRECISION) { + $y = $pv * (1 + $nper * $rate) + $pmt * (1 + $rate * $type) * $nper + $fv; + } else { + $f = exp($nper * log(1 + $rate)); + $y = $pv * $f + $pmt * (1 / $rate + $type) * ($f - 1) + $fv; + } + + $y0 = $y1; + $y1 = $y; + ++$i; + } + return $rate; + } + + + /** + * RECEIVED + * + * Returns the price per $100 face value of a discounted security. + * + * @param mixed settlement The security's settlement date. + * The security settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int investment The amount invested in the security. + * @param int discount The security's discount rate. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function RECEIVED($settlement, $maturity, $investment, $discount, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $investment = (float) PHPExcel_Calculation_Functions::flattenSingleValue($investment); + $discount = (float) PHPExcel_Calculation_Functions::flattenSingleValue($discount); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if ((is_numeric($investment)) && (is_numeric($discount)) && (is_numeric($basis))) { + if (($investment <= 0) || ($discount <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + + return $investment / ( 1 - ($discount * $daysBetweenSettlementAndMaturity)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SLN + * + * Returns the straight-line depreciation of an asset for one period + * + * @param cost Initial cost of the asset + * @param salvage Value at the end of the depreciation + * @param life Number of periods over which the asset is depreciated + * @return float + */ + public static function SLN($cost, $salvage, $life) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + + // Calculate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life))) { + if ($life < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return ($cost - $salvage) / $life; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SYD + * + * Returns the sum-of-years' digits depreciation of an asset for a specified period. + * + * @param cost Initial cost of the asset + * @param salvage Value at the end of the depreciation + * @param life Number of periods over which the asset is depreciated + * @param period Period + * @return float + */ + public static function SYD($cost, $salvage, $life, $period) + { + $cost = PHPExcel_Calculation_Functions::flattenSingleValue($cost); + $salvage = PHPExcel_Calculation_Functions::flattenSingleValue($salvage); + $life = PHPExcel_Calculation_Functions::flattenSingleValue($life); + $period = PHPExcel_Calculation_Functions::flattenSingleValue($period); + + // Calculate + if ((is_numeric($cost)) && (is_numeric($salvage)) && (is_numeric($life)) && (is_numeric($period))) { + if (($life < 1) || ($period > $life)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (($cost - $salvage) * ($life - $period + 1) * 2) / ($life * ($life + 1)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * TBILLEQ + * + * Returns the bond-equivalent yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int discount The Treasury bill's discount rate. + * @return float + */ + public static function TBILLEQ($settlement, $maturity, $discount) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); + + // Use TBILLPRICE for validation + $testValue = self::TBILLPRICE($settlement, $maturity, $discount); + if (is_string($testValue)) { + return $testValue; + } + + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::getDateValue($maturity) - PHPExcel_Calculation_DateTime::getDateValue($settlement)); + } + + return (365 * $discount) / (360 - $discount * $daysBetweenSettlementAndMaturity); + } + + + /** + * TBILLPRICE + * + * Returns the yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int discount The Treasury bill's discount rate. + * @return float + */ + public static function TBILLPRICE($settlement, $maturity, $discount) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $discount = PHPExcel_Calculation_Functions::flattenSingleValue($discount); + + if (is_string($maturity = PHPExcel_Calculation_DateTime::getDateValue($maturity))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // Validate + if (is_numeric($discount)) { + if ($discount <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::getDateValue($maturity) - PHPExcel_Calculation_DateTime::getDateValue($settlement)); + } + + if ($daysBetweenSettlementAndMaturity > 360) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $price = 100 * (1 - (($discount * $daysBetweenSettlementAndMaturity) / 360)); + if ($price <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return $price; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * TBILLYIELD + * + * Returns the yield for a Treasury bill. + * + * @param mixed settlement The Treasury bill's settlement date. + * The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer. + * @param mixed maturity The Treasury bill's maturity date. + * The maturity date is the date when the Treasury bill expires. + * @param int price The Treasury bill's price per $100 face value. + * @return float + */ + public static function TBILLYIELD($settlement, $maturity, $price) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + + // Validate + if (is_numeric($price)) { + if ($price <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + ++$maturity; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity) * 360; + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + } else { + $daysBetweenSettlementAndMaturity = (PHPExcel_Calculation_DateTime::getDateValue($maturity) - PHPExcel_Calculation_DateTime::getDateValue($settlement)); + } + + if ($daysBetweenSettlementAndMaturity > 360) { + return PHPExcel_Calculation_Functions::NaN(); + } + + return ((100 - $price) / $price) * (360 / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + public static function XIRR($values, $dates, $guess = 0.1) + { + if ((!is_array($values)) && (!is_array($dates))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $dates = PHPExcel_Calculation_Functions::flattenArray($dates); + $guess = PHPExcel_Calculation_Functions::flattenSingleValue($guess); + if (count($values) != count($dates)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + // create an initial range, with a root somewhere between 0 and guess + $x1 = 0.0; + $x2 = $guess; + $f1 = self::XNPV($x1, $values, $dates); + $f2 = self::XNPV($x2, $values, $dates); + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + if (($f1 * $f2) < 0.0) { + break; + } elseif (abs($f1) < abs($f2)) { + $f1 = self::XNPV($x1 += 1.6 * ($x1 - $x2), $values, $dates); + } else { + $f2 = self::XNPV($x2 += 1.6 * ($x2 - $x1), $values, $dates); + } + } + if (($f1 * $f2) > 0.0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $f = self::XNPV($x1, $values, $dates); + if ($f < 0.0) { + $rtb = $x1; + $dx = $x2 - $x1; + } else { + $rtb = $x2; + $dx = $x1 - $x2; + } + + for ($i = 0; $i < FINANCIAL_MAX_ITERATIONS; ++$i) { + $dx *= 0.5; + $x_mid = $rtb + $dx; + $f_mid = self::XNPV($x_mid, $values, $dates); + if ($f_mid <= 0.0) { + $rtb = $x_mid; + } + if ((abs($f_mid) < FINANCIAL_PRECISION) || (abs($dx) < FINANCIAL_PRECISION)) { + return $x_mid; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * XNPV + * + * Returns the net present value for a schedule of cash flows that is not necessarily periodic. + * To calculate the net present value for a series of cash flows that is periodic, use the NPV function. + * + * Excel Function: + * =XNPV(rate,values,dates) + * + * @param float $rate The discount rate to apply to the cash flows. + * @param array of float $values A series of cash flows that corresponds to a schedule of payments in dates. + * The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. + * If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. + * The series of values must contain at least one positive value and one negative value. + * @param array of mixed $dates A schedule of payment dates that corresponds to the cash flow payments. + * The first payment date indicates the beginning of the schedule of payments. + * All other dates must be later than this date, but they may occur in any order. + * @return float + */ + public static function XNPV($rate, $values, $dates) + { + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + if (!is_numeric($rate)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if ((!is_array($values)) || (!is_array($dates))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $values = PHPExcel_Calculation_Functions::flattenArray($values); + $dates = PHPExcel_Calculation_Functions::flattenArray($dates); + $valCount = count($values); + if ($valCount != count($dates)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((min($values) > 0) || (max($values) < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + $xnpv = 0.0; + for ($i = 0; $i < $valCount; ++$i) { + if (!is_numeric($values[$i])) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $xnpv += $values[$i] / pow(1 + $rate, PHPExcel_Calculation_DateTime::DATEDIF($dates[0], $dates[$i], 'd') / 365); + } + return (is_finite($xnpv)) ? $xnpv : PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * YIELDDISC + * + * Returns the annual yield of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param int price The security's price per $100 face value. + * @param int redemption The security's redemption value per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function YIELDDISC($settlement, $maturity, $price, $redemption, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $redemption = PHPExcel_Calculation_Functions::flattenSingleValue($redemption); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($price) && is_numeric($redemption)) { + if (($price <= 0) || ($redemption <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement), $basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return (($redemption - $price) / $price) * ($daysPerYear / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * YIELDMAT + * + * Returns the annual yield of a security that pays interest at maturity. + * + * @param mixed settlement The security's settlement date. + * The security's settlement date is the date after the issue date when the security is traded to the buyer. + * @param mixed maturity The security's maturity date. + * The maturity date is the date when the security expires. + * @param mixed issue The security's issue date. + * @param int rate The security's interest rate at date of issue. + * @param int price The security's price per $100 face value. + * @param int basis The type of day count to use. + * 0 or omitted US (NASD) 30/360 + * 1 Actual/actual + * 2 Actual/360 + * 3 Actual/365 + * 4 European 30/360 + * @return float + */ + public static function YIELDMAT($settlement, $maturity, $issue, $rate, $price, $basis = 0) + { + $settlement = PHPExcel_Calculation_Functions::flattenSingleValue($settlement); + $maturity = PHPExcel_Calculation_Functions::flattenSingleValue($maturity); + $issue = PHPExcel_Calculation_Functions::flattenSingleValue($issue); + $rate = PHPExcel_Calculation_Functions::flattenSingleValue($rate); + $price = PHPExcel_Calculation_Functions::flattenSingleValue($price); + $basis = (int) PHPExcel_Calculation_Functions::flattenSingleValue($basis); + + // Validate + if (is_numeric($rate) && is_numeric($price)) { + if (($rate <= 0) || ($price <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $daysPerYear = self::daysPerYear(PHPExcel_Calculation_DateTime::YEAR($settlement), $basis); + if (!is_numeric($daysPerYear)) { + return $daysPerYear; + } + $daysBetweenIssueAndSettlement = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $settlement, $basis); + if (!is_numeric($daysBetweenIssueAndSettlement)) { + // return date error + return $daysBetweenIssueAndSettlement; + } + $daysBetweenIssueAndSettlement *= $daysPerYear; + $daysBetweenIssueAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($issue, $maturity, $basis); + if (!is_numeric($daysBetweenIssueAndMaturity)) { + // return date error + return $daysBetweenIssueAndMaturity; + } + $daysBetweenIssueAndMaturity *= $daysPerYear; + $daysBetweenSettlementAndMaturity = PHPExcel_Calculation_DateTime::YEARFRAC($settlement, $maturity, $basis); + if (!is_numeric($daysBetweenSettlementAndMaturity)) { + // return date error + return $daysBetweenSettlementAndMaturity; + } + $daysBetweenSettlementAndMaturity *= $daysPerYear; + + return ((1 + (($daysBetweenIssueAndMaturity / $daysPerYear) * $rate) - (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) / + (($price / 100) + (($daysBetweenIssueAndSettlement / $daysPerYear) * $rate))) * + ($daysPerYear / $daysBetweenSettlementAndMaturity); + } + return PHPExcel_Calculation_Functions::VALUE(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php index 3884fd20a..893f19e94 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaParser.php @@ -1,8 +1,32 @@ <"; + const OPERATORS_POSTFIX = "%"; - The above copyright notice and this permission notice shall be included in all copies or substantial - portions of the Software. + /** + * Formula + * + * @var string + */ + private $formula; - 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. - - http://ewbi.blogs.com/develops/2007/03/excel_formula_p.html - http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html -*/ - -/** - * PHPExcel_Calculation_FormulaParser - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_FormulaParser { - /* Character constants */ - const QUOTE_DOUBLE = '"'; - const QUOTE_SINGLE = '\''; - const BRACKET_CLOSE = ']'; - const BRACKET_OPEN = '['; - const BRACE_OPEN = '{'; - const BRACE_CLOSE = '}'; - const PAREN_OPEN = '('; - const PAREN_CLOSE = ')'; - const SEMICOLON = ';'; - const WHITESPACE = ' '; - const COMMA = ','; - const ERROR_START = '#'; - - const OPERATORS_SN = "+-"; - const OPERATORS_INFIX = "+-*/^&=><"; - const OPERATORS_POSTFIX = "%"; - - /** - * Formula - * - * @var string - */ - private $_formula; - - /** - * Tokens - * - * @var PHPExcel_Calculation_FormulaToken[] - */ - private $_tokens = array(); + /** + * Tokens + * + * @var PHPExcel_Calculation_FormulaToken[] + */ + private $tokens = array(); /** * Create a new PHPExcel_Calculation_FormulaParser * - * @param string $pFormula Formula to parse - * @throws PHPExcel_Calculation_Exception + * @param string $pFormula Formula to parse + * @throws PHPExcel_Calculation_Exception */ public function __construct($pFormula = '') { - // Check parameters - if (is_null($pFormula)) { - throw new PHPExcel_Calculation_Exception("Invalid parameter passed: formula"); - } + // Check parameters + if (is_null($pFormula)) { + throw new PHPExcel_Calculation_Exception("Invalid parameter passed: formula"); + } - // Initialise values - $this->_formula = trim($pFormula); - // Parse! - $this->_parseToTokens(); + // Initialise values + $this->formula = trim($pFormula); + // Parse! + $this->parseToTokens(); } /** @@ -113,23 +108,25 @@ class PHPExcel_Calculation_FormulaParser { * * @return string */ - public function getFormula() { - return $this->_formula; + public function getFormula() + { + return $this->formula; } /** * Get Token * - * @param int $pId Token id - * @return string + * @param int $pId Token id + * @return string * @throws PHPExcel_Calculation_Exception */ - public function getToken($pId = 0) { - if (isset($this->_tokens[$pId])) { - return $this->_tokens[$pId]; - } else { - throw new PHPExcel_Calculation_Exception("Token with id $pId does not exist."); - } + public function getToken($pId = 0) + { + if (isset($this->tokens[$pId])) { + return $this->tokens[$pId]; + } else { + throw new PHPExcel_Calculation_Exception("Token with id $pId does not exist."); + } } /** @@ -137,8 +134,9 @@ class PHPExcel_Calculation_FormulaParser { * * @return string */ - public function getTokenCount() { - return count($this->_tokens); + public function getTokenCount() + { + return count($this->tokens); } /** @@ -146,469 +144,479 @@ class PHPExcel_Calculation_FormulaParser { * * @return PHPExcel_Calculation_FormulaToken[] */ - public function getTokens() { - return $this->_tokens; + public function getTokens() + { + return $this->tokens; } /** * Parse to tokens */ - private function _parseToTokens() { - // No attempt is made to verify formulas; assumes formulas are derived from Excel, where - // they can only exist if valid; stack overflows/underflows sunk as nulls without exceptions. + private function parseToTokens() + { + // No attempt is made to verify formulas; assumes formulas are derived from Excel, where + // they can only exist if valid; stack overflows/underflows sunk as nulls without exceptions. - // Check if the formula has a valid starting = - $formulaLength = strlen($this->_formula); - if ($formulaLength < 2 || $this->_formula{0} != '=') return; + // Check if the formula has a valid starting = + $formulaLength = strlen($this->formula); + if ($formulaLength < 2 || $this->formula{0} != '=') { + return; + } - // Helper variables - $tokens1 = $tokens2 = $stack = array(); - $inString = $inPath = $inRange = $inError = false; - $token = $previousToken = $nextToken = null; + // Helper variables + $tokens1 = $tokens2 = $stack = array(); + $inString = $inPath = $inRange = $inError = false; + $token = $previousToken = $nextToken = null; - $index = 1; - $value = ''; + $index = 1; + $value = ''; - $ERRORS = array("#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A"); - $COMPARATORS_MULTI = array(">=", "<=", "<>"); + $ERRORS = array("#NULL!", "#DIV/0!", "#VALUE!", "#REF!", "#NAME?", "#NUM!", "#N/A"); + $COMPARATORS_MULTI = array(">=", "<=", "<>"); - while ($index < $formulaLength) { - // state-dependent character evaluation (order is important) + while ($index < $formulaLength) { + // state-dependent character evaluation (order is important) - // double-quoted strings - // embeds are doubled - // end marks token - if ($inString) { - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { - if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE)) { - $value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE; - ++$index; - } else { - $inString = false; - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_TEXT); - $value = ""; - } - } else { - $value .= $this->_formula{$index}; - } - ++$index; - continue; - } + // double-quoted strings + // embeds are doubled + // end marks token + if ($inString) { + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { + if ((($index + 2) <= $formulaLength) && ($this->formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE)) { + $value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE; + ++$index; + } else { + $inString = false; + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_TEXT); + $value = ""; + } + } else { + $value .= $this->formula{$index}; + } + ++$index; + continue; + } - // single-quoted strings (links) - // embeds are double - // end does not mark a token - if ($inPath) { - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { - if ((($index + 2) <= $formulaLength) && ($this->_formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE)) { - $value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE; - ++$index; - } else { - $inPath = false; - } - } else { - $value .= $this->_formula{$index}; - } - ++$index; - continue; - } + // single-quoted strings (links) + // embeds are double + // end does not mark a token + if ($inPath) { + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { + if ((($index + 2) <= $formulaLength) && ($this->formula{$index + 1} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE)) { + $value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE; + ++$index; + } else { + $inPath = false; + } + } else { + $value .= $this->formula{$index}; + } + ++$index; + continue; + } - // bracked strings (R1C1 range index or linked workbook name) - // no embeds (changed to "()" by Excel) - // end does not mark a token - if ($inRange) { - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_CLOSE) { - $inRange = false; - } - $value .= $this->_formula{$index}; - ++$index; - continue; - } + // bracked strings (R1C1 range index or linked workbook name) + // no embeds (changed to "()" by Excel) + // end does not mark a token + if ($inRange) { + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_CLOSE) { + $inRange = false; + } + $value .= $this->formula{$index}; + ++$index; + continue; + } - // error values - // end marks a token, determined from absolute list of values - if ($inError) { - $value .= $this->_formula{$index}; - ++$index; - if (in_array($value, $ERRORS)) { - $inError = false; - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_ERROR); - $value = ""; - } - continue; - } + // error values + // end marks a token, determined from absolute list of values + if ($inError) { + $value .= $this->formula{$index}; + ++$index; + if (in_array($value, $ERRORS)) { + $inError = false; + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_ERROR); + $value = ""; + } + continue; + } - // scientific notation check - if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->_formula{$index}) !== false) { - if (strlen($value) > 1) { - if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->_formula{$index}) != 0) { - $value .= $this->_formula{$index}; - ++$index; - continue; - } - } - } + // scientific notation check + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->formula{$index}) !== false) { + if (strlen($value) > 1) { + if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->formula{$index}) != 0) { + $value .= $this->formula{$index}; + ++$index; + continue; + } + } + } - // independent character evaluation (order not important) + // independent character evaluation (order not important) - // establish state-dependent character evaluations - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { - if (strlen($value > 0)) { // unexpected - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); - $value = ""; - } - $inString = true; - ++$index; - continue; - } + // establish state-dependent character evaluations + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) { + if (strlen($value > 0)) { + // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inString = true; + ++$index; + continue; + } - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { - if (strlen($value) > 0) { // unexpected - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); - $value = ""; - } - $inPath = true; - ++$index; - continue; - } + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) { + if (strlen($value) > 0) { + // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inPath = true; + ++$index; + continue; + } - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_OPEN) { - $inRange = true; - $value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN; - ++$index; - continue; - } + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::BRACKET_OPEN) { + $inRange = true; + $value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN; + ++$index; + continue; + } - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::ERROR_START) { - if (strlen($value) > 0) { // unexpected - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); - $value = ""; - } - $inError = true; - $value .= PHPExcel_Calculation_FormulaParser::ERROR_START; - ++$index; - continue; - } + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::ERROR_START) { + if (strlen($value) > 0) { + // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } + $inError = true; + $value .= PHPExcel_Calculation_FormulaParser::ERROR_START; + ++$index; + continue; + } - // mark start and end of arrays and array rows - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_OPEN) { - if (strlen($value) > 0) { // unexpected - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); - $value = ""; - } + // mark start and end of arrays and array rows + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_OPEN) { + if (strlen($value) > 0) { + // unexpected + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN); + $value = ""; + } - $tmp = new PHPExcel_Calculation_FormulaToken("ARRAY", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); - $tokens1[] = $tmp; - $stack[] = clone $tmp; + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAY", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; - $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); - $tokens1[] = $tmp; - $stack[] = clone $tmp; + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; - ++$index; - continue; - } + ++$index; + continue; + } - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::SEMICOLON) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::SEMICOLON) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } - $tmp = array_pop($stack); - $tmp->setValue(""); - $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); - $tokens1[] = $tmp; + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; - $tmp = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); - $tokens1[] = $tmp; + $tmp = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); + $tokens1[] = $tmp; - $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); - $tokens1[] = $tmp; - $stack[] = clone $tmp; + $tmp = new PHPExcel_Calculation_FormulaToken("ARRAYROW", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; - ++$index; - continue; - } + ++$index; + continue; + } - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_CLOSE) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::BRACE_CLOSE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } - $tmp = array_pop($stack); - $tmp->setValue(""); - $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); - $tokens1[] = $tmp; + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; - $tmp = array_pop($stack); - $tmp->setValue(""); - $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); - $tokens1[] = $tmp; + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; - ++$index; - continue; - } + ++$index; + continue; + } - // trim white-space - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } - $tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE); - ++$index; - while (($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) { - ++$index; - } - continue; - } + // trim white-space + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE); + ++$index; + while (($this->formula{$index} == PHPExcel_Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) { + ++$index; + } + continue; + } - // multi-character comparators - if (($index + 2) <= $formulaLength) { - if (in_array(substr($this->_formula, $index, 2), $COMPARATORS_MULTI)) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } - $tokens1[] = new PHPExcel_Calculation_FormulaToken(substr($this->_formula, $index, 2), PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); - $index += 2; - continue; - } - } + // multi-character comparators + if (($index + 2) <= $formulaLength) { + if (in_array(substr($this->formula, $index, 2), $COMPARATORS_MULTI)) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken(substr($this->formula, $index, 2), PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + $index += 2; + continue; + } + } - // standard infix operators - if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->_formula{$index}) !== false) { - if (strlen($value) > 0) { - $tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } - $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX); - ++$index; - continue; - } + // standard infix operators + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->formula{$index}) !== false) { + if (strlen($value) > 0) { + $tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX); + ++$index; + continue; + } - // standard postfix operators (only one) - if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->_formula{$index}) !== false) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } - $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->_formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX); - ++$index; - continue; - } + // standard postfix operators (only one) + if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->formula{$index}) !== false) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } + $tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula{$index}, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX); + ++$index; + continue; + } - // start subexpression or function - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_OPEN) { - if (strlen($value) > 0) { - $tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); - $tokens1[] = $tmp; - $stack[] = clone $tmp; - $value = ""; - } else { - $tmp = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); - $tokens1[] = $tmp; - $stack[] = clone $tmp; - } - ++$index; - continue; - } + // start subexpression or function + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_OPEN) { + if (strlen($value) > 0) { + $tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + $value = ""; + } else { + $tmp = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START); + $tokens1[] = $tmp; + $stack[] = clone $tmp; + } + ++$index; + continue; + } - // function, subexpression, or array parameters, or operand unions - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::COMMA) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } + // function, subexpression, or array parameters, or operand unions + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::COMMA) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } - $tmp = array_pop($stack); - $tmp->setValue(""); - $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); - $stack[] = $tmp; + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $stack[] = $tmp; - if ($tmp->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_UNION); - } else { - $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); - } - ++$index; - continue; - } + if ($tmp->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_UNION); + } else { + $tokens1[] = new PHPExcel_Calculation_FormulaToken(",", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_ARGUMENT); + } + ++$index; + continue; + } - // stop subexpression - if ($this->_formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_CLOSE) { - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - $value = ""; - } + // stop subexpression + if ($this->formula{$index} == PHPExcel_Calculation_FormulaParser::PAREN_CLOSE) { + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + $value = ""; + } - $tmp = array_pop($stack); - $tmp->setValue(""); - $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); - $tokens1[] = $tmp; + $tmp = array_pop($stack); + $tmp->setValue(""); + $tmp->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP); + $tokens1[] = $tmp; - ++$index; - continue; - } + ++$index; + continue; + } - // token accumulation - $value .= $this->_formula{$index}; - ++$index; - } + // token accumulation + $value .= $this->formula{$index}; + ++$index; + } - // dump remaining accumulation - if (strlen($value) > 0) { - $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); - } + // dump remaining accumulation + if (strlen($value) > 0) { + $tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND); + } - // move tokenList to new set, excluding unnecessary white-space tokens and converting necessary ones to intersections - $tokenCount = count($tokens1); - for ($i = 0; $i < $tokenCount; ++$i) { - $token = $tokens1[$i]; - if (isset($tokens1[$i - 1])) { - $previousToken = $tokens1[$i - 1]; - } else { - $previousToken = null; - } - if (isset($tokens1[$i + 1])) { - $nextToken = $tokens1[$i + 1]; - } else { - $nextToken = null; - } + // move tokenList to new set, excluding unnecessary white-space tokens and converting necessary ones to intersections + $tokenCount = count($tokens1); + for ($i = 0; $i < $tokenCount; ++$i) { + $token = $tokens1[$i]; + if (isset($tokens1[$i - 1])) { + $previousToken = $tokens1[$i - 1]; + } else { + $previousToken = null; + } + if (isset($tokens1[$i + 1])) { + $nextToken = $tokens1[$i + 1]; + } else { + $nextToken = null; + } - if (is_null($token)) { - continue; - } + if (is_null($token)) { + continue; + } - if ($token->getTokenType() != PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE) { - $tokens2[] = $token; - continue; - } + if ($token->getTokenType() != PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE) { + $tokens2[] = $token; + continue; + } - if (is_null($previousToken)) { - continue; - } + if (is_null($previousToken)) { + continue; + } - if (! ( - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) - ) ) { - continue; - } + if (! ( + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) ) { + continue; + } - if (is_null($nextToken)) { - continue; - } + if (is_null($nextToken)) { + continue; + } - if (! ( - (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || - (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || - ($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) - ) ) { - continue; - } + if (! ( + (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || + (($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START)) || + ($nextToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) + ) ) { + continue; + } - $tokens2[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_INTERSECTION); - } + $tokens2[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_INTERSECTION); + } - // move tokens to final list, switching infix "-" operators to prefix when appropriate, switching infix "+" operators - // to noop when appropriate, identifying operand and infix-operator subtypes, and pulling "@" from function names - $this->_tokens = array(); + // move tokens to final list, switching infix "-" operators to prefix when appropriate, switching infix "+" operators + // to noop when appropriate, identifying operand and infix-operator subtypes, and pulling "@" from function names + $this->tokens = array(); - $tokenCount = count($tokens2); - for ($i = 0; $i < $tokenCount; ++$i) { - $token = $tokens2[$i]; - if (isset($tokens2[$i - 1])) { - $previousToken = $tokens2[$i - 1]; - } else { - $previousToken = null; - } - if (isset($tokens2[$i + 1])) { - $nextToken = $tokens2[$i + 1]; - } else { - $nextToken = null; - } + $tokenCount = count($tokens2); + for ($i = 0; $i < $tokenCount; ++$i) { + $token = $tokens2[$i]; + if (isset($tokens2[$i - 1])) { + $previousToken = $tokens2[$i - 1]; + } else { + $previousToken = null; + } + if (isset($tokens2[$i + 1])) { + $nextToken = $tokens2[$i + 1]; + } else { + $nextToken = null; + } - if (is_null($token)) { - continue; - } + if (is_null($token)) { + continue; + } - if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "-") { - if ($i == 0) { - $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); - } else if ( - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || - ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) - ) { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); - } else { - $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); - } + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "-") { + if ($i == 0) { + $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); + } elseif ((($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && + ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && + ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } else { + $token->setTokenType(PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPREFIX); + } - $this->_tokens[] = $token; - continue; - } + $this->tokens[] = $token; + continue; + } - if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "+") { - if ($i == 0) { - continue; - } else if ( - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || - ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || - ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND) - ) { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); - } else { - continue; - } + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == "+") { + if ($i == 0) { + continue; + } elseif ((($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) && + ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + (($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && + ($previousToken->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_STOP)) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) || + ($previousToken->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND)) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } else { + continue; + } - $this->_tokens[] = $token; - continue; - } + $this->tokens[] = $token; + continue; + } - if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { - if (strpos("<>=", substr($token->getValue(), 0, 1)) !== false) { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); - } else if ($token->getValue() == "&") { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_CONCATENATION); - } else { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); - } + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX && + $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { + if (strpos("<>=", substr($token->getValue(), 0, 1)) !== false) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + } elseif ($token->getValue() == "&") { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_CONCATENATION); + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_MATH); + } - $this->_tokens[] = $token; - continue; - } + $this->tokens[] = $token; + continue; + } - if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND && $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { - if (!is_numeric($token->getValue())) { - if (strtoupper($token->getValue()) == "TRUE" || strtoupper($token->getValue() == "FALSE")) { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); - } else { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_RANGE); - } - } else { - $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NUMBER); - } + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND && + $token->getTokenSubType() == PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { + if (!is_numeric($token->getValue())) { + if (strtoupper($token->getValue()) == "TRUE" || strtoupper($token->getValue() == "FALSE")) { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_LOGICAL); + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_RANGE); + } + } else { + $token->setTokenSubType(PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NUMBER); + } - $this->_tokens[] = $token; - continue; - } + $this->tokens[] = $token; + continue; + } - if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { - if (strlen($token->getValue() > 0)) { - if (substr($token->getValue(), 0, 1) == "@") { - $token->setValue(substr($token->getValue(), 1)); - } - } - } + if ($token->getTokenType() == PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION) { + if (strlen($token->getValue() > 0)) { + if (substr($token->getValue(), 0, 1) == "@") { + $token->setValue(substr($token->getValue(), 1)); + } + } + } - $this->_tokens[] = $token; - } + $this->tokens[] = $token; + } } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php index ad10c00a2..41c6e3d5d 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/FormulaToken.php @@ -1,8 +1,32 @@ _value = $pValue; - $this->_tokenType = $pTokenType; - $this->_tokenSubType = $pTokenSubType; + // Initialise values + $this->value = $pValue; + $this->tokenType = $pTokenType; + $this->tokenSubType = $pTokenSubType; } /** @@ -125,17 +119,19 @@ class PHPExcel_Calculation_FormulaToken { * * @return string */ - public function getValue() { - return $this->_value; + public function getValue() + { + return $this->value; } /** * Set Value * - * @param string $value + * @param string $value */ - public function setValue($value) { - $this->_value = $value; + public function setValue($value) + { + $this->value = $value; } /** @@ -143,17 +139,19 @@ class PHPExcel_Calculation_FormulaToken { * * @return string */ - public function getTokenType() { - return $this->_tokenType; + public function getTokenType() + { + return $this->tokenType; } /** * Set Token Type * - * @param string $value + * @param string $value */ - public function setTokenType($value = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) { - $this->_tokenType = $value; + public function setTokenType($value = PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN) + { + $this->tokenType = $value; } /** @@ -161,16 +159,18 @@ class PHPExcel_Calculation_FormulaToken { * * @return string */ - public function getTokenSubType() { - return $this->_tokenSubType; + public function getTokenSubType() + { + return $this->tokenSubType; } /** * Set Token SubType * - * @param string $value + * @param string $value */ - public function setTokenSubType($value = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) { - $this->_tokenSubType = $value; + public function setTokenSubType($value = PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_NOTHING) + { + $this->tokenSubType = $value; } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php index 1301cd096..d58cef253 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Function.php @@ -1,8 +1,9 @@ _category = $pCategory; - $this->_excelName = $pExcelName; - $this->_phpExcelName = $pPHPExcelName; - } else { - throw new PHPExcel_Calculation_Exception("Invalid parameters passed."); - } + if (($pCategory !== null) && ($pExcelName !== null) && ($pPHPExcelName !== null)) { + // Initialise values + $this->category = $pCategory; + $this->excelName = $pExcelName; + $this->phpExcelName = $pPHPExcelName; + } else { + throw new PHPExcel_Calculation_Exception("Invalid parameters passed."); + } } /** @@ -93,22 +86,24 @@ class PHPExcel_Calculation_Function { * * @return string */ - public function getCategory() { - return $this->_category; + public function getCategory() + { + return $this->category; } /** * Set Category (represented by CATEGORY_*) * - * @param string $value - * @throws PHPExcel_Calculation_Exception + * @param string $value + * @throws PHPExcel_Calculation_Exception */ - public function setCategory($value = null) { - if (!is_null($value)) { - $this->_category = $value; - } else { - throw new PHPExcel_Calculation_Exception("Invalid parameter passed."); - } + public function setCategory($value = null) + { + if (!is_null($value)) { + $this->category = $value; + } else { + throw new PHPExcel_Calculation_Exception("Invalid parameter passed."); + } } /** @@ -116,17 +111,19 @@ class PHPExcel_Calculation_Function { * * @return string */ - public function getExcelName() { - return $this->_excelName; + public function getExcelName() + { + return $this->excelName; } /** * Set Excel name * - * @param string $value + * @param string $value */ - public function setExcelName($value) { - $this->_excelName = $value; + public function setExcelName($value) + { + $this->excelName = $value; } /** @@ -134,16 +131,18 @@ class PHPExcel_Calculation_Function { * * @return string */ - public function getPHPExcelName() { - return $this->_phpExcelName; + public function getPHPExcelName() + { + return $this->phpExcelName; } /** * Set PHPExcel name * - * @param string $value + * @param string $value */ - public function setPHPExcelName($value) { - $this->_phpExcelName = $value; + public function setPHPExcelName($value) + { + $this->phpExcelName = $value; } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php index dea1503b8..b8b784fe5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Functions.php @@ -1,38 +1,12 @@ '#NULL!', - 'divisionbyzero' => '#DIV/0!', - 'value' => '#VALUE!', - 'reference' => '#REF!', - 'name' => '#NAME?', - 'num' => '#NUM!', - 'na' => '#N/A', - 'gettingdata' => '#GETTING_DATA' - ); - - - /** - * Set the Compatibility Mode - * - * @access public - * @category Function Configuration - * @param string $compatibilityMode Compatibility Mode - * Permitted values are: - * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' - * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' - * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' - * @return boolean (Success or Failure) - */ - public static function setCompatibilityMode($compatibilityMode) { - if (($compatibilityMode == self::COMPATIBILITY_EXCEL) || - ($compatibilityMode == self::COMPATIBILITY_GNUMERIC) || - ($compatibilityMode == self::COMPATIBILITY_OPENOFFICE)) { - self::$compatibilityMode = $compatibilityMode; - return True; - } - return False; - } // function setCompatibilityMode() - - - /** - * Return the current Compatibility Mode - * - * @access public - * @category Function Configuration - * @return string Compatibility Mode - * Possible Return values are: - * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' - * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' - * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' - */ - public static function getCompatibilityMode() { - return self::$compatibilityMode; - } // function getCompatibilityMode() - - - /** - * Set the Return Date Format used by functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) - * - * @access public - * @category Function Configuration - * @param string $returnDateType Return Date Format - * Permitted values are: - * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' - * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' - * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' - * @return boolean Success or failure - */ - public static function setReturnDateType($returnDateType) { - if (($returnDateType == self::RETURNDATE_PHP_NUMERIC) || - ($returnDateType == self::RETURNDATE_PHP_OBJECT) || - ($returnDateType == self::RETURNDATE_EXCEL)) { - self::$ReturnDateType = $returnDateType; - return True; - } - return False; - } // function setReturnDateType() - - - /** - * Return the current Return Date Format for functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) - * - * @access public - * @category Function Configuration - * @return string Return Date Format - * Possible Return values are: - * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' - * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' - * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' - */ - public static function getReturnDateType() { - return self::$ReturnDateType; - } // function getReturnDateType() - - - /** - * DUMMY - * - * @access public - * @category Error Returns - * @return string #Not Yet Implemented - */ - public static function DUMMY() { - return '#Not Yet Implemented'; - } // function DUMMY() - - - /** - * DIV0 - * - * @access public - * @category Error Returns - * @return string #Not Yet Implemented - */ - public static function DIV0() { - return self::$_errorCodes['divisionbyzero']; - } // function DIV0() - - - /** - * NA - * - * Excel Function: - * =NA() - * - * Returns the error value #N/A - * #N/A is the error value that means "no value is available." - * - * @access public - * @category Logical Functions - * @return string #N/A! - */ - public static function NA() { - return self::$_errorCodes['na']; - } // function NA() - - - /** - * NaN - * - * Returns the error value #NUM! - * - * @access public - * @category Error Returns - * @return string #NUM! - */ - public static function NaN() { - return self::$_errorCodes['num']; - } // function NaN() - - - /** - * NAME - * - * Returns the error value #NAME? - * - * @access public - * @category Error Returns - * @return string #NAME? - */ - public static function NAME() { - return self::$_errorCodes['name']; - } // function NAME() - - - /** - * REF - * - * Returns the error value #REF! - * - * @access public - * @category Error Returns - * @return string #REF! - */ - public static function REF() { - return self::$_errorCodes['reference']; - } // function REF() - - - /** - * NULL - * - * Returns the error value #NULL! - * - * @access public - * @category Error Returns - * @return string #NULL! - */ - public static function NULL() { - return self::$_errorCodes['null']; - } // function NULL() - - - /** - * VALUE - * - * Returns the error value #VALUE! - * - * @access public - * @category Error Returns - * @return string #VALUE! - */ - public static function VALUE() { - return self::$_errorCodes['value']; - } // function VALUE() - - - public static function isMatrixValue($idx) { - return ((substr_count($idx,'.') <= 1) || (preg_match('/\.[A-Z]/',$idx) > 0)); - } - - - public static function isValue($idx) { - return (substr_count($idx,'.') == 0); - } - - - public static function isCellValue($idx) { - return (substr_count($idx,'.') > 1); - } - - - public static function _ifCondition($condition) { - $condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition); - if (!isset($condition{0})) - $condition = '=""'; - if (!in_array($condition{0},array('>', '<', '='))) { - if (!is_numeric($condition)) { $condition = PHPExcel_Calculation::_wrapResult(strtoupper($condition)); } - return '='.$condition; - } else { - preg_match('/([<>=]+)(.*)/',$condition,$matches); - list(,$operator,$operand) = $matches; - - if (!is_numeric($operand)) { - $operand = str_replace('"', '""', $operand); - $operand = PHPExcel_Calculation::_wrapResult(strtoupper($operand)); - } - - return $operator.$operand; - } - } // function _ifCondition() - - - /** - * ERROR_TYPE - * - * @param mixed $value Value to check - * @return boolean - */ - public static function ERROR_TYPE($value = '') { - $value = self::flattenSingleValue($value); - - $i = 1; - foreach(self::$_errorCodes as $errorCode) { - if ($value === $errorCode) { - return $i; - } - ++$i; - } - return self::NA(); - } // function ERROR_TYPE() - - - /** - * IS_BLANK - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_BLANK($value = NULL) { - if (!is_null($value)) { - $value = self::flattenSingleValue($value); - } - - return is_null($value); - } // function IS_BLANK() - - - /** - * IS_ERR - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_ERR($value = '') { - $value = self::flattenSingleValue($value); - - return self::IS_ERROR($value) && (!self::IS_NA($value)); - } // function IS_ERR() - - - /** - * IS_ERROR - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_ERROR($value = '') { - $value = self::flattenSingleValue($value); - - if (!is_string($value)) - return false; - return in_array($value, array_values(self::$_errorCodes)); - } // function IS_ERROR() - - - /** - * IS_NA - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_NA($value = '') { - $value = self::flattenSingleValue($value); - - return ($value === self::NA()); - } // function IS_NA() - - - /** - * IS_EVEN - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_EVEN($value = NULL) { - $value = self::flattenSingleValue($value); - - if ($value === NULL) - return self::NAME(); - if ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) - return self::VALUE(); - return ($value % 2 == 0); - } // function IS_EVEN() - - - /** - * IS_ODD - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_ODD($value = NULL) { - $value = self::flattenSingleValue($value); - - if ($value === NULL) - return self::NAME(); - if ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) - return self::VALUE(); - return (abs($value) % 2 == 1); - } // function IS_ODD() - - - /** - * IS_NUMBER - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_NUMBER($value = NULL) { - $value = self::flattenSingleValue($value); - - if (is_string($value)) { - return False; - } - return is_numeric($value); - } // function IS_NUMBER() - - - /** - * IS_LOGICAL - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_LOGICAL($value = NULL) { - $value = self::flattenSingleValue($value); - - return is_bool($value); - } // function IS_LOGICAL() - - - /** - * IS_TEXT - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_TEXT($value = NULL) { - $value = self::flattenSingleValue($value); - - return (is_string($value) && !self::IS_ERROR($value)); - } // function IS_TEXT() - - - /** - * IS_NONTEXT - * - * @param mixed $value Value to check - * @return boolean - */ - public static function IS_NONTEXT($value = NULL) { - return !self::IS_TEXT($value); - } // function IS_NONTEXT() +class PHPExcel_Calculation_Functions +{ + + /** constants */ + const COMPATIBILITY_EXCEL = 'Excel'; + const COMPATIBILITY_GNUMERIC = 'Gnumeric'; + const COMPATIBILITY_OPENOFFICE = 'OpenOfficeCalc'; + + const RETURNDATE_PHP_NUMERIC = 'P'; + const RETURNDATE_PHP_OBJECT = 'O'; + const RETURNDATE_EXCEL = 'E'; + + + /** + * Compatibility mode to use for error checking and responses + * + * @access private + * @var string + */ + protected static $compatibilityMode = self::COMPATIBILITY_EXCEL; + + /** + * Data Type to use when returning date values + * + * @access private + * @var string + */ + protected static $returnDateType = self::RETURNDATE_EXCEL; + + /** + * List of error codes + * + * @access private + * @var array + */ + protected static $errorCodes = array( + 'null' => '#NULL!', + 'divisionbyzero' => '#DIV/0!', + 'value' => '#VALUE!', + 'reference' => '#REF!', + 'name' => '#NAME?', + 'num' => '#NUM!', + 'na' => '#N/A', + 'gettingdata' => '#GETTING_DATA' + ); + + + /** + * Set the Compatibility Mode + * + * @access public + * @category Function Configuration + * @param string $compatibilityMode Compatibility Mode + * Permitted values are: + * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' + * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' + * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' + * @return boolean (Success or Failure) + */ + public static function setCompatibilityMode($compatibilityMode) + { + if (($compatibilityMode == self::COMPATIBILITY_EXCEL) || + ($compatibilityMode == self::COMPATIBILITY_GNUMERIC) || + ($compatibilityMode == self::COMPATIBILITY_OPENOFFICE)) { + self::$compatibilityMode = $compatibilityMode; + return true; + } + return false; + } + + + /** + * Return the current Compatibility Mode + * + * @access public + * @category Function Configuration + * @return string Compatibility Mode + * Possible Return values are: + * PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL 'Excel' + * PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC 'Gnumeric' + * PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc' + */ + public static function getCompatibilityMode() + { + return self::$compatibilityMode; + } + + + /** + * Set the Return Date Format used by functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) + * + * @access public + * @category Function Configuration + * @param string $returnDateType Return Date Format + * Permitted values are: + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' + * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' + * @return boolean Success or failure + */ + public static function setReturnDateType($returnDateType) + { + if (($returnDateType == self::RETURNDATE_PHP_NUMERIC) || + ($returnDateType == self::RETURNDATE_PHP_OBJECT) || + ($returnDateType == self::RETURNDATE_EXCEL)) { + self::$returnDateType = $returnDateType; + return true; + } + return false; + } + + + /** + * Return the current Return Date Format for functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object) + * + * @access public + * @category Function Configuration + * @return string Return Date Format + * Possible Return values are: + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC 'P' + * PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT 'O' + * PHPExcel_Calculation_Functions::RETURNDATE_EXCEL 'E' + */ + public static function getReturnDateType() + { + return self::$returnDateType; + } + + + /** + * DUMMY + * + * @access public + * @category Error Returns + * @return string #Not Yet Implemented + */ + public static function DUMMY() + { + return '#Not Yet Implemented'; + } + + + /** + * DIV0 + * + * @access public + * @category Error Returns + * @return string #Not Yet Implemented + */ + public static function DIV0() + { + return self::$errorCodes['divisionbyzero']; + } + + + /** + * NA + * + * Excel Function: + * =NA() + * + * Returns the error value #N/A + * #N/A is the error value that means "no value is available." + * + * @access public + * @category Logical Functions + * @return string #N/A! + */ + public static function NA() + { + return self::$errorCodes['na']; + } + + + /** + * NaN + * + * Returns the error value #NUM! + * + * @access public + * @category Error Returns + * @return string #NUM! + */ + public static function NaN() + { + return self::$errorCodes['num']; + } + + + /** + * NAME + * + * Returns the error value #NAME? + * + * @access public + * @category Error Returns + * @return string #NAME? + */ + public static function NAME() + { + return self::$errorCodes['name']; + } + + + /** + * REF + * + * Returns the error value #REF! + * + * @access public + * @category Error Returns + * @return string #REF! + */ + public static function REF() + { + return self::$errorCodes['reference']; + } + + + /** + * NULL + * + * Returns the error value #NULL! + * + * @access public + * @category Error Returns + * @return string #NULL! + */ + public static function NULL() + { + return self::$errorCodes['null']; + } + + + /** + * VALUE + * + * Returns the error value #VALUE! + * + * @access public + * @category Error Returns + * @return string #VALUE! + */ + public static function VALUE() + { + return self::$errorCodes['value']; + } + + + public static function isMatrixValue($idx) + { + return ((substr_count($idx, '.') <= 1) || (preg_match('/\.[A-Z]/', $idx) > 0)); + } + + + public static function isValue($idx) + { + return (substr_count($idx, '.') == 0); + } + + + public static function isCellValue($idx) + { + return (substr_count($idx, '.') > 1); + } + + + public static function ifCondition($condition) + { + $condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition); + if (!isset($condition{0})) { + $condition = '=""'; + } + if (!in_array($condition{0}, array('>', '<', '='))) { + if (!is_numeric($condition)) { + $condition = PHPExcel_Calculation::wrapResult(strtoupper($condition)); + } + return '=' . $condition; + } else { + preg_match('/([<>=]+)(.*)/', $condition, $matches); + list(, $operator, $operand) = $matches; + + if (!is_numeric($operand)) { + $operand = str_replace('"', '""', $operand); + $operand = PHPExcel_Calculation::wrapResult(strtoupper($operand)); + } + + return $operator.$operand; + } + } + + /** + * ERROR_TYPE + * + * @param mixed $value Value to check + * @return boolean + */ + public static function ERROR_TYPE($value = '') + { + $value = self::flattenSingleValue($value); + + $i = 1; + foreach (self::$errorCodes as $errorCode) { + if ($value === $errorCode) { + return $i; + } + ++$i; + } + return self::NA(); + } + + + /** + * IS_BLANK + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_BLANK($value = null) + { + if (!is_null($value)) { + $value = self::flattenSingleValue($value); + } + + return is_null($value); + } + + + /** + * IS_ERR + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ERR($value = '') + { + $value = self::flattenSingleValue($value); + + return self::IS_ERROR($value) && (!self::IS_NA($value)); + } + + + /** + * IS_ERROR + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ERROR($value = '') + { + $value = self::flattenSingleValue($value); + + if (!is_string($value)) { + return false; + } + return in_array($value, array_values(self::$errorCodes)); + } + + + /** + * IS_NA + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NA($value = '') + { + $value = self::flattenSingleValue($value); + + return ($value === self::NA()); + } + + + /** + * IS_EVEN + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_EVEN($value = null) + { + $value = self::flattenSingleValue($value); + + if ($value === null) { + return self::NAME(); + } elseif ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) { + return self::VALUE(); + } + + return ($value % 2 == 0); + } + + + /** + * IS_ODD + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_ODD($value = null) + { + $value = self::flattenSingleValue($value); + + if ($value === null) { + return self::NAME(); + } elseif ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) { + return self::VALUE(); + } + + return (abs($value) % 2 == 1); + } + + + /** + * IS_NUMBER + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NUMBER($value = null) + { + $value = self::flattenSingleValue($value); + + if (is_string($value)) { + return false; + } + return is_numeric($value); + } + + + /** + * IS_LOGICAL + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_LOGICAL($value = null) + { + $value = self::flattenSingleValue($value); + + return is_bool($value); + } + + + /** + * IS_TEXT + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_TEXT($value = null) + { + $value = self::flattenSingleValue($value); + + return (is_string($value) && !self::IS_ERROR($value)); + } + + + /** + * IS_NONTEXT + * + * @param mixed $value Value to check + * @return boolean + */ + public static function IS_NONTEXT($value = null) + { + return !self::IS_TEXT($value); + } /** @@ -496,230 +524,236 @@ class PHPExcel_Calculation_Functions { * @return string Version information */ public static function VERSION() { - return 'PHPExcel 1.8.1, 2015-04-30'; + return 'PHPExcel 1.8.2, 2018-11-22'; } // function VERSION() - /** - * N - * - * Returns a value converted to a number - * - * @param value The value you want converted - * @return number N converts values listed in the following table - * If value is or refers to N returns - * A number That number - * A date The serial number of that date - * TRUE 1 - * FALSE 0 - * An error value The error value - * Anything else 0 - */ - public static function N($value = NULL) { - while (is_array($value)) { - $value = array_shift($value); - } + /** + * N + * + * Returns a value converted to a number + * + * @param value The value you want converted + * @return number N converts values listed in the following table + * If value is or refers to N returns + * A number That number + * A date The serial number of that date + * TRUE 1 + * FALSE 0 + * An error value The error value + * Anything else 0 + */ + public static function N($value = null) + { + while (is_array($value)) { + $value = array_shift($value); + } - switch (gettype($value)) { - case 'double' : - case 'float' : - case 'integer' : - return $value; - break; - case 'boolean' : - return (integer) $value; - break; - case 'string' : - // Errors - if ((strlen($value) > 0) && ($value{0} == '#')) { - return $value; - } - break; - } - return 0; - } // function N() + switch (gettype($value)) { + case 'double': + case 'float': + case 'integer': + return $value; + case 'boolean': + return (integer) $value; + case 'string': + // Errors + if ((strlen($value) > 0) && ($value{0} == '#')) { + return $value; + } + break; + } + return 0; + } - /** - * TYPE - * - * Returns a number that identifies the type of a value - * - * @param value The value you want tested - * @return number N converts values listed in the following table - * If value is or refers to N returns - * A number 1 - * Text 2 - * Logical Value 4 - * An error value 16 - * Array or Matrix 64 - */ - public static function TYPE($value = NULL) { - $value = self::flattenArrayIndexed($value); - if (is_array($value) && (count($value) > 1)) { - $a = array_keys($value); - $a = array_pop($a); - // Range of cells is an error - if (self::isCellValue($a)) { - return 16; - // Test for Matrix - } elseif (self::isMatrixValue($a)) { - return 64; - } - } elseif(empty($value)) { - // Empty Cell - return 1; - } - $value = self::flattenSingleValue($value); + /** + * TYPE + * + * Returns a number that identifies the type of a value + * + * @param value The value you want tested + * @return number N converts values listed in the following table + * If value is or refers to N returns + * A number 1 + * Text 2 + * Logical Value 4 + * An error value 16 + * Array or Matrix 64 + */ + public static function TYPE($value = null) + { + $value = self::flattenArrayIndexed($value); + if (is_array($value) && (count($value) > 1)) { + end($value); + $a = key($value); + // Range of cells is an error + if (self::isCellValue($a)) { + return 16; + // Test for Matrix + } elseif (self::isMatrixValue($a)) { + return 64; + } + } elseif (empty($value)) { + // Empty Cell + return 1; + } + $value = self::flattenSingleValue($value); - if (($value === NULL) || (is_float($value)) || (is_int($value))) { - return 1; - } elseif(is_bool($value)) { - return 4; - } elseif(is_array($value)) { - return 64; - } elseif(is_string($value)) { - // Errors - if ((strlen($value) > 0) && ($value{0} == '#')) { - return 16; - } - return 2; - } - return 0; - } // function TYPE() + if (($value === null) || (is_float($value)) || (is_int($value))) { + return 1; + } elseif (is_bool($value)) { + return 4; + } elseif (is_array($value)) { + return 64; + } elseif (is_string($value)) { + // Errors + if ((strlen($value) > 0) && ($value{0} == '#')) { + return 16; + } + return 2; + } + return 0; + } - /** - * Convert a multi-dimensional array to a simple 1-dimensional array - * - * @param array $array Array to be flattened - * @return array Flattened array - */ - public static function flattenArray($array) { - if (!is_array($array)) { - return (array) $array; - } + /** + * Convert a multi-dimensional array to a simple 1-dimensional array + * + * @param array $array Array to be flattened + * @return array Flattened array + */ + public static function flattenArray($array) + { + if (!is_array($array)) { + return (array) $array; + } - $arrayValues = array(); - foreach ($array as $value) { - if (is_array($value)) { - foreach ($value as $val) { - if (is_array($val)) { - foreach ($val as $v) { - $arrayValues[] = $v; - } - } else { - $arrayValues[] = $val; - } - } - } else { - $arrayValues[] = $value; - } - } + $arrayValues = array(); + foreach ($array as $value) { + if (is_array($value)) { + foreach ($value as $val) { + if (is_array($val)) { + foreach ($val as $v) { + $arrayValues[] = $v; + } + } else { + $arrayValues[] = $val; + } + } + } else { + $arrayValues[] = $value; + } + } - return $arrayValues; - } // function flattenArray() + return $arrayValues; + } - /** - * Convert a multi-dimensional array to a simple 1-dimensional array, but retain an element of indexing - * - * @param array $array Array to be flattened - * @return array Flattened array - */ - public static function flattenArrayIndexed($array) { - if (!is_array($array)) { - return (array) $array; - } + /** + * Convert a multi-dimensional array to a simple 1-dimensional array, but retain an element of indexing + * + * @param array $array Array to be flattened + * @return array Flattened array + */ + public static function flattenArrayIndexed($array) + { + if (!is_array($array)) { + return (array) $array; + } - $arrayValues = array(); - foreach ($array as $k1 => $value) { - if (is_array($value)) { - foreach ($value as $k2 => $val) { - if (is_array($val)) { - foreach ($val as $k3 => $v) { - $arrayValues[$k1.'.'.$k2.'.'.$k3] = $v; - } - } else { - $arrayValues[$k1.'.'.$k2] = $val; - } - } - } else { - $arrayValues[$k1] = $value; - } - } + $arrayValues = array(); + foreach ($array as $k1 => $value) { + if (is_array($value)) { + foreach ($value as $k2 => $val) { + if (is_array($val)) { + foreach ($val as $k3 => $v) { + $arrayValues[$k1.'.'.$k2.'.'.$k3] = $v; + } + } else { + $arrayValues[$k1.'.'.$k2] = $val; + } + } + } else { + $arrayValues[$k1] = $value; + } + } - return $arrayValues; - } // function flattenArrayIndexed() + return $arrayValues; + } - /** - * Convert an array to a single scalar value by extracting the first element - * - * @param mixed $value Array or scalar value - * @return mixed - */ - public static function flattenSingleValue($value = '') { - while (is_array($value)) { - $value = array_pop($value); - } + /** + * Convert an array to a single scalar value by extracting the first element + * + * @param mixed $value Array or scalar value + * @return mixed + */ + public static function flattenSingleValue($value = '') + { + while (is_array($value)) { + $value = array_pop($value); + } - return $value; - } // function flattenSingleValue() - -} // class PHPExcel_Calculation_Functions + return $value; + } +} // -// There are a few mathematical functions that aren't available on all versions of PHP for all platforms -// These functions aren't available in Windows implementations of PHP prior to version 5.3.0 -// So we test if they do exist for this version of PHP/operating platform; and if not we create them +// There are a few mathematical functions that aren't available on all versions of PHP for all platforms +// These functions aren't available in Windows implementations of PHP prior to version 5.3.0 +// So we test if they do exist for this version of PHP/operating platform; and if not we create them // if (!function_exists('acosh')) { - function acosh($x) { - return 2 * log(sqrt(($x + 1) / 2) + sqrt(($x - 1) / 2)); - } // function acosh() + function acosh($x) + { + return 2 * log(sqrt(($x + 1) / 2) + sqrt(($x - 1) / 2)); + } // function acosh() } if (!function_exists('asinh')) { - function asinh($x) { - return log($x + sqrt(1 + $x * $x)); - } // function asinh() + function asinh($x) + { + return log($x + sqrt(1 + $x * $x)); + } // function asinh() } if (!function_exists('atanh')) { - function atanh($x) { - return (log(1 + $x) - log(1 - $x)) / 2; - } // function atanh() + function atanh($x) + { + return (log(1 + $x) - log(1 - $x)) / 2; + } // function atanh() } // -// Strangely, PHP doesn't have a mb_str_replace multibyte function -// As we'll only ever use this function with UTF-8 characters, we can simply "hard-code" the character set +// Strangely, PHP doesn't have a mb_str_replace multibyte function +// As we'll only ever use this function with UTF-8 characters, we can simply "hard-code" the character set // if ((!function_exists('mb_str_replace')) && - (function_exists('mb_substr')) && (function_exists('mb_strlen')) && (function_exists('mb_strpos'))) { - function mb_str_replace($search, $replace, $subject) { - if(is_array($subject)) { - $ret = array(); - foreach($subject as $key => $val) { - $ret[$key] = mb_str_replace($search, $replace, $val); - } - return $ret; - } + (function_exists('mb_substr')) && (function_exists('mb_strlen')) && (function_exists('mb_strpos'))) { + function mb_str_replace($search, $replace, $subject) + { + if (is_array($subject)) { + $ret = array(); + foreach ($subject as $key => $val) { + $ret[$key] = mb_str_replace($search, $replace, $val); + } + return $ret; + } - foreach((array) $search as $key => $s) { - if($s == '' && $s !== 0) { - continue; - } - $r = !is_array($replace) ? $replace : (array_key_exists($key, $replace) ? $replace[$key] : ''); - $pos = mb_strpos($subject, $s, 0, 'UTF-8'); - while($pos !== false) { - $subject = mb_substr($subject, 0, $pos, 'UTF-8') . $r . mb_substr($subject, $pos + mb_strlen($s, 'UTF-8'), 65535, 'UTF-8'); - $pos = mb_strpos($subject, $s, $pos + mb_strlen($r, 'UTF-8'), 'UTF-8'); - } - } - return $subject; - } + foreach ((array) $search as $key => $s) { + if ($s == '' && $s !== 0) { + continue; + } + $r = !is_array($replace) ? $replace : (array_key_exists($key, $replace) ? $replace[$key] : ''); + $pos = mb_strpos($subject, $s, 0, 'UTF-8'); + while ($pos !== false) { + $subject = mb_substr($subject, 0, $pos, 'UTF-8') . $r . mb_substr($subject, $pos + mb_strlen($s, 'UTF-8'), 65535, 'UTF-8'); + $pos = mb_strpos($subject, $s, $pos + mb_strlen($r, 'UTF-8'), 'UTF-8'); + } + } + return $subject; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php index 48fdb17f4..dd65f0104 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Logical.php @@ -1,8 +1,18 @@ $arg) { + // Is it a boolean value? + if (is_bool($arg)) { + $returnValue = $returnValue && $arg; + } elseif ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue = $returnValue && ($arg != 0); + } elseif (is_string($arg)) { + $arg = strtoupper($arg); + if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { + $arg = true; + } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { + $arg = false; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $returnValue = $returnValue && ($arg != 0); + } + } + + // Return + if ($argCount < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + return $returnValue; + } + + + /** + * LOGICAL_OR + * + * Returns boolean TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE. + * + * Excel Function: + * =OR(logical1[,logical2[, ...]]) + * + * The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays + * or references that contain logical values. + * + * Boolean arguments are treated as True or False as appropriate + * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False + * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds + * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value + * + * @access public + * @category Logical Functions + * @param mixed $arg,... Data values + * @return boolean The logical OR of the arguments. + */ + public static function LOGICAL_OR() + { + // Return value + $returnValue = false; + + // Loop through the arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $argCount = -1; + foreach ($aArgs as $argCount => $arg) { + // Is it a boolean value? + if (is_bool($arg)) { + $returnValue = $returnValue || $arg; + } elseif ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue = $returnValue || ($arg != 0); + } elseif (is_string($arg)) { + $arg = strtoupper($arg); + if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { + $arg = true; + } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { + $arg = false; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $returnValue = $returnValue || ($arg != 0); + } + } + + // Return + if ($argCount < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + return $returnValue; + } + + + /** + * NOT + * + * Returns the boolean inverse of the argument. + * + * Excel Function: + * =NOT(logical) + * + * The argument must evaluate to a logical value such as TRUE or FALSE + * + * Boolean arguments are treated as True or False as appropriate + * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False + * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds + * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value + * + * @access public + * @category Logical Functions + * @param mixed $logical A value or expression that can be evaluated to TRUE or FALSE + * @return boolean The boolean inverse of the argument. + */ + public static function NOT($logical = false) + { + $logical = PHPExcel_Calculation_Functions::flattenSingleValue($logical); + if (is_string($logical)) { + $logical = strtoupper($logical); + if (($logical == 'TRUE') || ($logical == PHPExcel_Calculation::getTRUE())) { + return false; + } elseif (($logical == 'FALSE') || ($logical == PHPExcel_Calculation::getFALSE())) { + return true; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + + return !$logical; + } + + /** + * STATEMENT_IF + * + * Returns one value if a condition you specify evaluates to TRUE and another value if it evaluates to FALSE. + * + * Excel Function: + * =IF(condition[,returnIfTrue[,returnIfFalse]]) + * + * Condition is any value or expression that can be evaluated to TRUE or FALSE. + * For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100, + * the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE. + * This argument can use any comparison calculation operator. + * ReturnIfTrue is the value that is returned if condition evaluates to TRUE. + * For example, if this argument is the text string "Within budget" and the condition argument evaluates to TRUE, + * then the IF function returns the text "Within budget" + * If condition is TRUE and ReturnIfTrue is blank, this argument returns 0 (zero). To display the word TRUE, use + * the logical value TRUE for this argument. + * ReturnIfTrue can be another formula. + * ReturnIfFalse is the value that is returned if condition evaluates to FALSE. + * For example, if this argument is the text string "Over budget" and the condition argument evaluates to FALSE, + * then the IF function returns the text "Over budget". + * If condition is FALSE and ReturnIfFalse is omitted, then the logical value FALSE is returned. + * If condition is FALSE and ReturnIfFalse is blank, then the value 0 (zero) is returned. + * ReturnIfFalse can be another formula. + * + * @access public + * @category Logical Functions + * @param mixed $condition Condition to evaluate + * @param mixed $returnIfTrue Value to return when condition is true + * @param mixed $returnIfFalse Optional value to return when condition is false + * @return mixed The value of returnIfTrue or returnIfFalse determined by condition + */ + public static function STATEMENT_IF($condition = true, $returnIfTrue = 0, $returnIfFalse = false) + { + $condition = (is_null($condition)) ? true : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($condition); + $returnIfTrue = (is_null($returnIfTrue)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfTrue); + $returnIfFalse = (is_null($returnIfFalse)) ? false : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfFalse); + + return ($condition) ? $returnIfTrue : $returnIfFalse; + } + + + /** + * IFERROR + * + * Excel Function: + * =IFERROR(testValue,errorpart) + * + * @access public + * @category Logical Functions + * @param mixed $testValue Value to check, is also the value returned when no error + * @param mixed $errorpart Value to return when testValue is an error condition + * @return mixed The value of errorpart or testValue determined by error condition + */ + public static function IFERROR($testValue = '', $errorpart = '') + { + $testValue = (is_null($testValue)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($testValue); + $errorpart = (is_null($errorpart)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($errorpart); + + return self::STATEMENT_IF(PHPExcel_Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue); + } } - - -/** - * PHPExcel_Calculation_Logical - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_Logical { - - /** - * TRUE - * - * Returns the boolean TRUE. - * - * Excel Function: - * =TRUE() - * - * @access public - * @category Logical Functions - * @return boolean True - */ - public static function TRUE() { - return TRUE; - } // function TRUE() - - - /** - * FALSE - * - * Returns the boolean FALSE. - * - * Excel Function: - * =FALSE() - * - * @access public - * @category Logical Functions - * @return boolean False - */ - public static function FALSE() { - return FALSE; - } // function FALSE() - - - /** - * LOGICAL_AND - * - * Returns boolean TRUE if all its arguments are TRUE; returns FALSE if one or more argument is FALSE. - * - * Excel Function: - * =AND(logical1[,logical2[, ...]]) - * - * The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays - * or references that contain logical values. - * - * Boolean arguments are treated as True or False as appropriate - * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False - * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds - * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value - * - * @access public - * @category Logical Functions - * @param mixed $arg,... Data values - * @return boolean The logical AND of the arguments. - */ - public static function LOGICAL_AND() { - // Return value - $returnValue = TRUE; - - // Loop through the arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - $argCount = -1; - foreach ($aArgs as $argCount => $arg) { - // Is it a boolean value? - if (is_bool($arg)) { - $returnValue = $returnValue && $arg; - } elseif ((is_numeric($arg)) && (!is_string($arg))) { - $returnValue = $returnValue && ($arg != 0); - } elseif (is_string($arg)) { - $arg = strtoupper($arg); - if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { - $arg = TRUE; - } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { - $arg = FALSE; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - $returnValue = $returnValue && ($arg != 0); - } - } - - // Return - if ($argCount < 0) { - return PHPExcel_Calculation_Functions::VALUE(); - } - return $returnValue; - } // function LOGICAL_AND() - - - /** - * LOGICAL_OR - * - * Returns boolean TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE. - * - * Excel Function: - * =OR(logical1[,logical2[, ...]]) - * - * The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays - * or references that contain logical values. - * - * Boolean arguments are treated as True or False as appropriate - * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False - * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds - * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value - * - * @access public - * @category Logical Functions - * @param mixed $arg,... Data values - * @return boolean The logical OR of the arguments. - */ - public static function LOGICAL_OR() { - // Return value - $returnValue = FALSE; - - // Loop through the arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - $argCount = -1; - foreach ($aArgs as $argCount => $arg) { - // Is it a boolean value? - if (is_bool($arg)) { - $returnValue = $returnValue || $arg; - } elseif ((is_numeric($arg)) && (!is_string($arg))) { - $returnValue = $returnValue || ($arg != 0); - } elseif (is_string($arg)) { - $arg = strtoupper($arg); - if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) { - $arg = TRUE; - } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) { - $arg = FALSE; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - $returnValue = $returnValue || ($arg != 0); - } - } - - // Return - if ($argCount < 0) { - return PHPExcel_Calculation_Functions::VALUE(); - } - return $returnValue; - } // function LOGICAL_OR() - - - /** - * NOT - * - * Returns the boolean inverse of the argument. - * - * Excel Function: - * =NOT(logical) - * - * The argument must evaluate to a logical value such as TRUE or FALSE - * - * Boolean arguments are treated as True or False as appropriate - * Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False - * If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds - * the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value - * - * @access public - * @category Logical Functions - * @param mixed $logical A value or expression that can be evaluated to TRUE or FALSE - * @return boolean The boolean inverse of the argument. - */ - public static function NOT($logical=FALSE) { - $logical = PHPExcel_Calculation_Functions::flattenSingleValue($logical); - if (is_string($logical)) { - $logical = strtoupper($logical); - if (($logical == 'TRUE') || ($logical == PHPExcel_Calculation::getTRUE())) { - return FALSE; - } elseif (($logical == 'FALSE') || ($logical == PHPExcel_Calculation::getFALSE())) { - return TRUE; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - - return !$logical; - } // function NOT() - - /** - * STATEMENT_IF - * - * Returns one value if a condition you specify evaluates to TRUE and another value if it evaluates to FALSE. - * - * Excel Function: - * =IF(condition[,returnIfTrue[,returnIfFalse]]) - * - * Condition is any value or expression that can be evaluated to TRUE or FALSE. - * For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100, - * the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE. - * This argument can use any comparison calculation operator. - * ReturnIfTrue is the value that is returned if condition evaluates to TRUE. - * For example, if this argument is the text string "Within budget" and the condition argument evaluates to TRUE, - * then the IF function returns the text "Within budget" - * If condition is TRUE and ReturnIfTrue is blank, this argument returns 0 (zero). To display the word TRUE, use - * the logical value TRUE for this argument. - * ReturnIfTrue can be another formula. - * ReturnIfFalse is the value that is returned if condition evaluates to FALSE. - * For example, if this argument is the text string "Over budget" and the condition argument evaluates to FALSE, - * then the IF function returns the text "Over budget". - * If condition is FALSE and ReturnIfFalse is omitted, then the logical value FALSE is returned. - * If condition is FALSE and ReturnIfFalse is blank, then the value 0 (zero) is returned. - * ReturnIfFalse can be another formula. - * - * @access public - * @category Logical Functions - * @param mixed $condition Condition to evaluate - * @param mixed $returnIfTrue Value to return when condition is true - * @param mixed $returnIfFalse Optional value to return when condition is false - * @return mixed The value of returnIfTrue or returnIfFalse determined by condition - */ - public static function STATEMENT_IF($condition = TRUE, $returnIfTrue = 0, $returnIfFalse = FALSE) { - $condition = (is_null($condition)) ? TRUE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($condition); - $returnIfTrue = (is_null($returnIfTrue)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfTrue); - $returnIfFalse = (is_null($returnIfFalse)) ? FALSE : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfFalse); - - return ($condition) ? $returnIfTrue : $returnIfFalse; - } // function STATEMENT_IF() - - - /** - * IFERROR - * - * Excel Function: - * =IFERROR(testValue,errorpart) - * - * @access public - * @category Logical Functions - * @param mixed $testValue Value to check, is also the value returned when no error - * @param mixed $errorpart Value to return when testValue is an error condition - * @return mixed The value of errorpart or testValue determined by error condition - */ - public static function IFERROR($testValue = '', $errorpart = '') { - $testValue = (is_null($testValue)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($testValue); - $errorpart = (is_null($errorpart)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($errorpart); - - return self::STATEMENT_IF(PHPExcel_Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue); - } // function IFERROR() - -} // class PHPExcel_Calculation_Logical diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php index 75e7f69ce..1fe77902f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/LookupRef.php @@ -1,8 +1,18 @@ '') { - if (strpos($sheetText,' ') !== False) { $sheetText = "'".$sheetText."'"; } - $sheetText .='!'; - } - if ((!is_bool($referenceStyle)) || $referenceStyle) { - $rowRelative = $columnRelative = '$'; - $column = PHPExcel_Cell::stringFromColumnIndex($column-1); - if (($relativity == 2) || ($relativity == 4)) { $columnRelative = ''; } - if (($relativity == 3) || ($relativity == 4)) { $rowRelative = ''; } - return $sheetText.$columnRelative.$column.$rowRelative.$row; - } else { - if (($relativity == 2) || ($relativity == 4)) { $column = '['.$column.']'; } - if (($relativity == 3) || ($relativity == 4)) { $row = '['.$row.']'; } - return $sheetText.'R'.$row.'C'.$column; - } - } // function CELL_ADDRESS() - - - /** - * COLUMN - * - * Returns the column number of the given cell reference - * If the cell reference is a range of cells, COLUMN returns the column numbers of each column in the reference as a horizontal array. - * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the - * reference of the cell in which the COLUMN function appears; otherwise this function returns 0. - * - * Excel Function: - * =COLUMN([cellAddress]) - * - * @param cellAddress A reference to a range of cells for which you want the column numbers - * @return integer or array of integer - */ - public static function COLUMN($cellAddress=Null) { - if (is_null($cellAddress) || trim($cellAddress) === '') { return 0; } - - if (is_array($cellAddress)) { - foreach($cellAddress as $columnKey => $value) { - $columnKey = preg_replace('/[^a-z]/i','',$columnKey); - return (integer) PHPExcel_Cell::columnIndexFromString($columnKey); - } - } else { - if (strpos($cellAddress,'!') !== false) { - list($sheet,$cellAddress) = explode('!',$cellAddress); - } - if (strpos($cellAddress,':') !== false) { - list($startAddress,$endAddress) = explode(':',$cellAddress); - $startAddress = preg_replace('/[^a-z]/i','',$startAddress); - $endAddress = preg_replace('/[^a-z]/i','',$endAddress); - $returnValue = array(); - do { - $returnValue[] = (integer) PHPExcel_Cell::columnIndexFromString($startAddress); - } while ($startAddress++ != $endAddress); - return $returnValue; - } else { - $cellAddress = preg_replace('/[^a-z]/i','',$cellAddress); - return (integer) PHPExcel_Cell::columnIndexFromString($cellAddress); - } - } - } // function COLUMN() - - - /** - * COLUMNS - * - * Returns the number of columns in an array or reference. - * - * Excel Function: - * =COLUMNS(cellAddress) - * - * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of columns - * @return integer The number of columns in cellAddress - */ - public static function COLUMNS($cellAddress=Null) { - if (is_null($cellAddress) || $cellAddress === '') { - return 1; - } elseif (!is_array($cellAddress)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - $x = array_keys($cellAddress); - $x = array_shift($x); - $isMatrix = (is_numeric($x)); - list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); - - if ($isMatrix) { - return $rows; - } else { - return $columns; - } - } // function COLUMNS() - - - /** - * ROW - * - * Returns the row number of the given cell reference - * If the cell reference is a range of cells, ROW returns the row numbers of each row in the reference as a vertical array. - * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the - * reference of the cell in which the ROW function appears; otherwise this function returns 0. - * - * Excel Function: - * =ROW([cellAddress]) - * - * @param cellAddress A reference to a range of cells for which you want the row numbers - * @return integer or array of integer - */ - public static function ROW($cellAddress=Null) { - if (is_null($cellAddress) || trim($cellAddress) === '') { return 0; } - - if (is_array($cellAddress)) { - foreach($cellAddress as $columnKey => $rowValue) { - foreach($rowValue as $rowKey => $cellValue) { - return (integer) preg_replace('/[^0-9]/i','',$rowKey); - } - } - } else { - if (strpos($cellAddress,'!') !== false) { - list($sheet,$cellAddress) = explode('!',$cellAddress); - } - if (strpos($cellAddress,':') !== false) { - list($startAddress,$endAddress) = explode(':',$cellAddress); - $startAddress = preg_replace('/[^0-9]/','',$startAddress); - $endAddress = preg_replace('/[^0-9]/','',$endAddress); - $returnValue = array(); - do { - $returnValue[][] = (integer) $startAddress; - } while ($startAddress++ != $endAddress); - return $returnValue; - } else { - list($cellAddress) = explode(':',$cellAddress); - return (integer) preg_replace('/[^0-9]/','',$cellAddress); - } - } - } // function ROW() - - - /** - * ROWS - * - * Returns the number of rows in an array or reference. - * - * Excel Function: - * =ROWS(cellAddress) - * - * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of rows - * @return integer The number of rows in cellAddress - */ - public static function ROWS($cellAddress=Null) { - if (is_null($cellAddress) || $cellAddress === '') { - return 1; - } elseif (!is_array($cellAddress)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - $i = array_keys($cellAddress); - $isMatrix = (is_numeric(array_shift($i))); - list($columns,$rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); - - if ($isMatrix) { - return $columns; - } else { - return $rows; - } - } // function ROWS() - - - /** - * HYPERLINK - * - * Excel Function: - * =HYPERLINK(linkURL,displayName) - * - * @access public - * @category Logical Functions - * @param string $linkURL Value to check, is also the value returned when no error - * @param string $displayName Value to return when testValue is an error condition - * @param PHPExcel_Cell $pCell The cell to set the hyperlink in - * @return mixed The value of $displayName (or $linkURL if $displayName was blank) - */ - public static function HYPERLINK($linkURL = '', $displayName = null, PHPExcel_Cell $pCell = null) { - $args = func_get_args(); - $pCell = array_pop($args); - - $linkURL = (is_null($linkURL)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($linkURL); - $displayName = (is_null($displayName)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($displayName); - - if ((!is_object($pCell)) || (trim($linkURL) == '')) { - return PHPExcel_Calculation_Functions::REF(); - } - - if ((is_object($displayName)) || trim($displayName) == '') { - $displayName = $linkURL; - } - - $pCell->getHyperlink()->setUrl($linkURL); - - return $displayName; - } // function HYPERLINK() - - - /** - * INDIRECT - * - * Returns the reference specified by a text string. - * References are immediately evaluated to display their contents. - * - * Excel Function: - * =INDIRECT(cellAddress) - * - * NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010 - * - * @param cellAddress $cellAddress The cell address of the current cell (containing this formula) - * @param PHPExcel_Cell $pCell The current cell (containing this formula) - * @return mixed The cells referenced by cellAddress - * - * @todo Support for the optional a1 parameter introduced in Excel 2010 - * - */ - public static function INDIRECT($cellAddress = NULL, PHPExcel_Cell $pCell = NULL) { - $cellAddress = PHPExcel_Calculation_Functions::flattenSingleValue($cellAddress); - if (is_null($cellAddress) || $cellAddress === '') { - return PHPExcel_Calculation_Functions::REF(); - } - - $cellAddress1 = $cellAddress; - $cellAddress2 = NULL; - if (strpos($cellAddress,':') !== false) { - list($cellAddress1,$cellAddress2) = explode(':',$cellAddress); - } - - if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress1, $matches)) || - ((!is_null($cellAddress2)) && (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress2, $matches)))) { - if (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $cellAddress1, $matches)) { - return PHPExcel_Calculation_Functions::REF(); - } - - if (strpos($cellAddress,'!') !== FALSE) { - list($sheetName, $cellAddress) = explode('!',$cellAddress); - $sheetName = trim($sheetName, "'"); - $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); - } else { - $pSheet = $pCell->getWorksheet(); - } - - return PHPExcel_Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, FALSE); - } - - if (strpos($cellAddress,'!') !== FALSE) { - list($sheetName,$cellAddress) = explode('!',$cellAddress); - $sheetName = trim($sheetName, "'"); - $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); - } else { - $pSheet = $pCell->getWorksheet(); - } - - return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, FALSE); - } // function INDIRECT() - - - /** - * OFFSET - * - * Returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. - * The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and - * the number of columns to be returned. - * - * Excel Function: - * =OFFSET(cellAddress, rows, cols, [height], [width]) - * - * @param cellAddress The reference from which you want to base the offset. Reference must refer to a cell or - * range of adjacent cells; otherwise, OFFSET returns the #VALUE! error value. - * @param rows The number of rows, up or down, that you want the upper-left cell to refer to. - * Using 5 as the rows argument specifies that the upper-left cell in the reference is - * five rows below reference. Rows can be positive (which means below the starting reference) - * or negative (which means above the starting reference). - * @param cols The number of columns, to the left or right, that you want the upper-left cell of the result - * to refer to. Using 5 as the cols argument specifies that the upper-left cell in the - * reference is five columns to the right of reference. Cols can be positive (which means - * to the right of the starting reference) or negative (which means to the left of the - * starting reference). - * @param height The height, in number of rows, that you want the returned reference to be. Height must be a positive number. - * @param width The width, in number of columns, that you want the returned reference to be. Width must be a positive number. - * @return string A reference to a cell or range of cells - */ - public static function OFFSET($cellAddress=Null,$rows=0,$columns=0,$height=null,$width=null) { - $rows = PHPExcel_Calculation_Functions::flattenSingleValue($rows); - $columns = PHPExcel_Calculation_Functions::flattenSingleValue($columns); - $height = PHPExcel_Calculation_Functions::flattenSingleValue($height); - $width = PHPExcel_Calculation_Functions::flattenSingleValue($width); - if ($cellAddress == Null) { - return 0; - } - - $args = func_get_args(); - $pCell = array_pop($args); - if (!is_object($pCell)) { - return PHPExcel_Calculation_Functions::REF(); - } - - $sheetName = NULL; - if (strpos($cellAddress,"!")) { - list($sheetName,$cellAddress) = explode("!",$cellAddress); - $sheetName = trim($sheetName, "'"); - } - if (strpos($cellAddress,":")) { - list($startCell,$endCell) = explode(":",$cellAddress); - } else { - $startCell = $endCell = $cellAddress; - } - list($startCellColumn,$startCellRow) = PHPExcel_Cell::coordinateFromString($startCell); - list($endCellColumn,$endCellRow) = PHPExcel_Cell::coordinateFromString($endCell); - - $startCellRow += $rows; - $startCellColumn = PHPExcel_Cell::columnIndexFromString($startCellColumn) - 1; - $startCellColumn += $columns; - - if (($startCellRow <= 0) || ($startCellColumn < 0)) { - return PHPExcel_Calculation_Functions::REF(); - } - $endCellColumn = PHPExcel_Cell::columnIndexFromString($endCellColumn) - 1; - if (($width != null) && (!is_object($width))) { - $endCellColumn = $startCellColumn + $width - 1; - } else { - $endCellColumn += $columns; - } - $startCellColumn = PHPExcel_Cell::stringFromColumnIndex($startCellColumn); - - if (($height != null) && (!is_object($height))) { - $endCellRow = $startCellRow + $height - 1; - } else { - $endCellRow += $rows; - } - - if (($endCellRow <= 0) || ($endCellColumn < 0)) { - return PHPExcel_Calculation_Functions::REF(); - } - $endCellColumn = PHPExcel_Cell::stringFromColumnIndex($endCellColumn); - - $cellAddress = $startCellColumn.$startCellRow; - if (($startCellColumn != $endCellColumn) || ($startCellRow != $endCellRow)) { - $cellAddress .= ':'.$endCellColumn.$endCellRow; - } - - if ($sheetName !== NULL) { - $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); - } else { - $pSheet = $pCell->getWorksheet(); - } - - return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, False); - } // function OFFSET() - - - /** - * CHOOSE - * - * Uses lookup_value to return a value from the list of value arguments. - * Use CHOOSE to select one of up to 254 values based on the lookup_value. - * - * Excel Function: - * =CHOOSE(index_num, value1, [value2], ...) - * - * @param index_num Specifies which value argument is selected. - * Index_num must be a number between 1 and 254, or a formula or reference to a cell containing a number - * between 1 and 254. - * @param value1... Value1 is required, subsequent values are optional. - * Between 1 to 254 value arguments from which CHOOSE selects a value or an action to perform based on - * index_num. The arguments can be numbers, cell references, defined names, formulas, functions, or - * text. - * @return mixed The selected value - */ - public static function CHOOSE() { - $chooseArgs = func_get_args(); - $chosenEntry = PHPExcel_Calculation_Functions::flattenArray(array_shift($chooseArgs)); - $entryCount = count($chooseArgs) - 1; - - if(is_array($chosenEntry)) { - $chosenEntry = array_shift($chosenEntry); - } - if ((is_numeric($chosenEntry)) && (!is_bool($chosenEntry))) { - --$chosenEntry; - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - $chosenEntry = floor($chosenEntry); - if (($chosenEntry < 0) || ($chosenEntry > $entryCount)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (is_array($chooseArgs[$chosenEntry])) { - return PHPExcel_Calculation_Functions::flattenArray($chooseArgs[$chosenEntry]); - } else { - return $chooseArgs[$chosenEntry]; - } - } // function CHOOSE() - - - /** - * MATCH - * - * The MATCH function searches for a specified item in a range of cells - * - * Excel Function: - * =MATCH(lookup_value, lookup_array, [match_type]) - * - * @param lookup_value The value that you want to match in lookup_array - * @param lookup_array The range of cells being searched - * @param match_type The number -1, 0, or 1. -1 means above, 0 means exact match, 1 means below. If match_type is 1 or -1, the list has to be ordered. - * @return integer The relative position of the found item - */ - public static function MATCH($lookup_value, $lookup_array, $match_type=1) { - $lookup_array = PHPExcel_Calculation_Functions::flattenArray($lookup_array); - $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); - $match_type = (is_null($match_type)) ? 1 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($match_type); - // MATCH is not case sensitive - $lookup_value = strtolower($lookup_value); - - // lookup_value type has to be number, text, or logical values - if ((!is_numeric($lookup_value)) && (!is_string($lookup_value)) && (!is_bool($lookup_value))) { - return PHPExcel_Calculation_Functions::NA(); - } - - // match_type is 0, 1 or -1 - if (($match_type !== 0) && ($match_type !== -1) && ($match_type !== 1)) { - return PHPExcel_Calculation_Functions::NA(); - } - - // lookup_array should not be empty - $lookupArraySize = count($lookup_array); - if ($lookupArraySize <= 0) { - return PHPExcel_Calculation_Functions::NA(); - } - - // lookup_array should contain only number, text, or logical values, or empty (null) cells - foreach($lookup_array as $i => $lookupArrayValue) { - // check the type of the value - if ((!is_numeric($lookupArrayValue)) && (!is_string($lookupArrayValue)) && - (!is_bool($lookupArrayValue)) && (!is_null($lookupArrayValue))) { - return PHPExcel_Calculation_Functions::NA(); - } - // convert strings to lowercase for case-insensitive testing - if (is_string($lookupArrayValue)) { - $lookup_array[$i] = strtolower($lookupArrayValue); - } - if ((is_null($lookupArrayValue)) && (($match_type == 1) || ($match_type == -1))) { - $lookup_array = array_slice($lookup_array,0,$i-1); - } - } - - // if match_type is 1 or -1, the list has to be ordered - if ($match_type == 1) { - asort($lookup_array); - $keySet = array_keys($lookup_array); - } elseif($match_type == -1) { - arsort($lookup_array); - $keySet = array_keys($lookup_array); - } - - // ** - // find the match - // ** - // loop on the cells -// var_dump($lookup_array); -// echo '
'; - foreach($lookup_array as $i => $lookupArrayValue) { - if (($match_type == 0) && ($lookupArrayValue == $lookup_value)) { - // exact match - return ++$i; - } elseif (($match_type == -1) && ($lookupArrayValue <= $lookup_value)) { -// echo '$i = '.$i.' => '; -// var_dump($lookupArrayValue); -// echo '
'; -// echo 'Keyset = '; -// var_dump($keySet); -// echo '
'; - $i = array_search($i,$keySet); -// echo '$i='.$i.'
'; - // if match_type is -1 <=> find the smallest value that is greater than or equal to lookup_value - if ($i < 1){ - // 1st cell was allready smaller than the lookup_value - break; - } else { - // the previous cell was the match - return $keySet[$i-1]+1; - } - } elseif (($match_type == 1) && ($lookupArrayValue >= $lookup_value)) { -// echo '$i = '.$i.' => '; -// var_dump($lookupArrayValue); -// echo '
'; -// echo 'Keyset = '; -// var_dump($keySet); -// echo '
'; - $i = array_search($i,$keySet); -// echo '$i='.$i.'
'; - // if match_type is 1 <=> find the largest value that is less than or equal to lookup_value - if ($i < 1){ - // 1st cell was allready bigger than the lookup_value - break; - } else { - // the previous cell was the match - return $keySet[$i-1]+1; - } - } - } - - // unsuccessful in finding a match, return #N/A error value - return PHPExcel_Calculation_Functions::NA(); - } // function MATCH() - - - /** - * INDEX - * - * Uses an index to choose a value from a reference or array - * - * Excel Function: - * =INDEX(range_array, row_num, [column_num]) - * - * @param range_array A range of cells or an array constant - * @param row_num The row in array from which to return a value. If row_num is omitted, column_num is required. - * @param column_num The column in array from which to return a value. If column_num is omitted, row_num is required. - * @return mixed the value of a specified cell or array of cells - */ - public static function INDEX($arrayValues,$rowNum = 0,$columnNum = 0) { - - if (($rowNum < 0) || ($columnNum < 0)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (!is_array($arrayValues)) { - return PHPExcel_Calculation_Functions::REF(); - } - - $rowKeys = array_keys($arrayValues); - $columnKeys = @array_keys($arrayValues[$rowKeys[0]]); - - if ($columnNum > count($columnKeys)) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($columnNum == 0) { - if ($rowNum == 0) { - return $arrayValues; - } - $rowNum = $rowKeys[--$rowNum]; - $returnArray = array(); - foreach($arrayValues as $arrayColumn) { - if (is_array($arrayColumn)) { - if (isset($arrayColumn[$rowNum])) { - $returnArray[] = $arrayColumn[$rowNum]; - } else { - return $arrayValues[$rowNum]; - } - } else { - return $arrayValues[$rowNum]; - } - } - return $returnArray; - } - $columnNum = $columnKeys[--$columnNum]; - if ($rowNum > count($rowKeys)) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($rowNum == 0) { - return $arrayValues[$columnNum]; - } - $rowNum = $rowKeys[--$rowNum]; - - return $arrayValues[$rowNum][$columnNum]; - } // function INDEX() - - - /** - * TRANSPOSE - * - * @param array $matrixData A matrix of values - * @return array - * - * Unlike the Excel TRANSPOSE function, which will only work on a single row or column, this function will transpose a full matrix. - */ - public static function TRANSPOSE($matrixData) { - $returnMatrix = array(); - if (!is_array($matrixData)) { $matrixData = array(array($matrixData)); } - - $column = 0; - foreach($matrixData as $matrixRow) { - $row = 0; - foreach($matrixRow as $matrixCell) { - $returnMatrix[$row][$column] = $matrixCell; - ++$row; - } - ++$column; - } - return $returnMatrix; - } // function TRANSPOSE() - - - private static function _vlookupSort($a,$b) { - $f = array_keys($a); - $firstColumn = array_shift($f); - if (strtolower($a[$firstColumn]) == strtolower($b[$firstColumn])) { - return 0; - } - return (strtolower($a[$firstColumn]) < strtolower($b[$firstColumn])) ? -1 : 1; - } // function _vlookupSort() - - - /** - * VLOOKUP - * The VLOOKUP function searches for value in the left-most column of lookup_array and returns the value in the same row based on the index_number. - * @param lookup_value The value that you want to match in lookup_array - * @param lookup_array The range of cells being searched - * @param index_number The column number in table_array from which the matching value must be returned. The first column is 1. - * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. - * @return mixed The value of the found cell - */ - public static function VLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) { - $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); - $index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number); - $not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match); - - // index_number must be greater than or equal to 1 - if ($index_number < 1) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - // index_number must be less than or equal to the number of columns in lookup_array - if ((!is_array($lookup_array)) || (empty($lookup_array))) { - return PHPExcel_Calculation_Functions::REF(); - } else { - $f = array_keys($lookup_array); - $firstRow = array_pop($f); - if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) { - return PHPExcel_Calculation_Functions::REF(); - } else { - $columnKeys = array_keys($lookup_array[$firstRow]); - $returnColumn = $columnKeys[--$index_number]; - $firstColumn = array_shift($columnKeys); - } - } - - if (!$not_exact_match) { - uasort($lookup_array,array('self','_vlookupSort')); - } - - $rowNumber = $rowValue = False; - foreach($lookup_array as $rowKey => $rowData) { - if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn]) && ($rowData[$firstColumn] > $lookup_value)) || - (!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]) && (strtolower($rowData[$firstColumn]) > strtolower($lookup_value)))) { - break; - } - $rowNumber = $rowKey; - $rowValue = $rowData[$firstColumn]; - } - - if ($rowNumber !== false) { - if ((!$not_exact_match) && ($rowValue != $lookup_value)) { - // if an exact match is required, we have what we need to return an appropriate response - return PHPExcel_Calculation_Functions::NA(); - } else { - // otherwise return the appropriate value - return $lookup_array[$rowNumber][$returnColumn]; - } - } - - return PHPExcel_Calculation_Functions::NA(); - } // function VLOOKUP() - - -/** - * HLOOKUP - * The HLOOKUP function searches for value in the top-most row of lookup_array and returns the value in the same column based on the index_number. - * @param lookup_value The value that you want to match in lookup_array - * @param lookup_array The range of cells being searched - * @param index_number The row number in table_array from which the matching value must be returned. The first row is 1. - * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. - * @return mixed The value of the found cell - */ - public static function HLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match=true) { +class PHPExcel_Calculation_LookupRef +{ + /** + * CELL_ADDRESS + * + * Creates a cell address as text, given specified row and column numbers. + * + * Excel Function: + * =ADDRESS(row, column, [relativity], [referenceStyle], [sheetText]) + * + * @param row Row number to use in the cell reference + * @param column Column number to use in the cell reference + * @param relativity Flag indicating the type of reference to return + * 1 or omitted Absolute + * 2 Absolute row; relative column + * 3 Relative row; absolute column + * 4 Relative + * @param referenceStyle A logical value that specifies the A1 or R1C1 reference style. + * TRUE or omitted CELL_ADDRESS returns an A1-style reference + * FALSE CELL_ADDRESS returns an R1C1-style reference + * @param sheetText Optional Name of worksheet to use + * @return string + */ + public static function CELL_ADDRESS($row, $column, $relativity = 1, $referenceStyle = true, $sheetText = '') + { + $row = PHPExcel_Calculation_Functions::flattenSingleValue($row); + $column = PHPExcel_Calculation_Functions::flattenSingleValue($column); + $relativity = PHPExcel_Calculation_Functions::flattenSingleValue($relativity); + $sheetText = PHPExcel_Calculation_Functions::flattenSingleValue($sheetText); + + if (($row < 1) || ($column < 1)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if ($sheetText > '') { + if (strpos($sheetText, ' ') !== false) { + $sheetText = "'".$sheetText."'"; + } + $sheetText .='!'; + } + if ((!is_bool($referenceStyle)) || $referenceStyle) { + $rowRelative = $columnRelative = '$'; + $column = PHPExcel_Cell::stringFromColumnIndex($column-1); + if (($relativity == 2) || ($relativity == 4)) { + $columnRelative = ''; + } + if (($relativity == 3) || ($relativity == 4)) { + $rowRelative = ''; + } + return $sheetText.$columnRelative.$column.$rowRelative.$row; + } else { + if (($relativity == 2) || ($relativity == 4)) { + $column = '['.$column.']'; + } + if (($relativity == 3) || ($relativity == 4)) { + $row = '['.$row.']'; + } + return $sheetText.'R'.$row.'C'.$column; + } + } + + + /** + * COLUMN + * + * Returns the column number of the given cell reference + * If the cell reference is a range of cells, COLUMN returns the column numbers of each column in the reference as a horizontal array. + * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the + * reference of the cell in which the COLUMN function appears; otherwise this function returns 0. + * + * Excel Function: + * =COLUMN([cellAddress]) + * + * @param cellAddress A reference to a range of cells for which you want the column numbers + * @return integer or array of integer + */ + public static function COLUMN($cellAddress = null) + { + if (is_null($cellAddress) || trim($cellAddress) === '') { + return 0; + } + + if (is_array($cellAddress)) { + foreach ($cellAddress as $columnKey => $value) { + $columnKey = preg_replace('/[^a-z]/i', '', $columnKey); + return (integer) PHPExcel_Cell::columnIndexFromString($columnKey); + } + } else { + if (strpos($cellAddress, '!') !== false) { + list($sheet, $cellAddress) = explode('!', $cellAddress); + } + if (strpos($cellAddress, ':') !== false) { + list($startAddress, $endAddress) = explode(':', $cellAddress); + $startAddress = preg_replace('/[^a-z]/i', '', $startAddress); + $endAddress = preg_replace('/[^a-z]/i', '', $endAddress); + $returnValue = array(); + do { + $returnValue[] = (integer) PHPExcel_Cell::columnIndexFromString($startAddress); + } while ($startAddress++ != $endAddress); + return $returnValue; + } else { + $cellAddress = preg_replace('/[^a-z]/i', '', $cellAddress); + return (integer) PHPExcel_Cell::columnIndexFromString($cellAddress); + } + } + } + + + /** + * COLUMNS + * + * Returns the number of columns in an array or reference. + * + * Excel Function: + * =COLUMNS(cellAddress) + * + * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of columns + * @return integer The number of columns in cellAddress + */ + public static function COLUMNS($cellAddress = null) + { + if (is_null($cellAddress) || $cellAddress === '') { + return 1; + } elseif (!is_array($cellAddress)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + reset($cellAddress); + $isMatrix = (is_numeric(key($cellAddress))); + list($columns, $rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); + + if ($isMatrix) { + return $rows; + } else { + return $columns; + } + } + + + /** + * ROW + * + * Returns the row number of the given cell reference + * If the cell reference is a range of cells, ROW returns the row numbers of each row in the reference as a vertical array. + * If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the + * reference of the cell in which the ROW function appears; otherwise this function returns 0. + * + * Excel Function: + * =ROW([cellAddress]) + * + * @param cellAddress A reference to a range of cells for which you want the row numbers + * @return integer or array of integer + */ + public static function ROW($cellAddress = null) + { + if (is_null($cellAddress) || trim($cellAddress) === '') { + return 0; + } + + if (is_array($cellAddress)) { + foreach ($cellAddress as $columnKey => $rowValue) { + foreach ($rowValue as $rowKey => $cellValue) { + return (integer) preg_replace('/[^0-9]/i', '', $rowKey); + } + } + } else { + if (strpos($cellAddress, '!') !== false) { + list($sheet, $cellAddress) = explode('!', $cellAddress); + } + if (strpos($cellAddress, ':') !== false) { + list($startAddress, $endAddress) = explode(':', $cellAddress); + $startAddress = preg_replace('/[^0-9]/', '', $startAddress); + $endAddress = preg_replace('/[^0-9]/', '', $endAddress); + $returnValue = array(); + do { + $returnValue[][] = (integer) $startAddress; + } while ($startAddress++ != $endAddress); + return $returnValue; + } else { + list($cellAddress) = explode(':', $cellAddress); + return (integer) preg_replace('/[^0-9]/', '', $cellAddress); + } + } + } + + + /** + * ROWS + * + * Returns the number of rows in an array or reference. + * + * Excel Function: + * =ROWS(cellAddress) + * + * @param cellAddress An array or array formula, or a reference to a range of cells for which you want the number of rows + * @return integer The number of rows in cellAddress + */ + public static function ROWS($cellAddress = null) + { + if (is_null($cellAddress) || $cellAddress === '') { + return 1; + } elseif (!is_array($cellAddress)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + reset($cellAddress); + $isMatrix = (is_numeric(key($cellAddress))); + list($columns, $rows) = PHPExcel_Calculation::_getMatrixDimensions($cellAddress); + + if ($isMatrix) { + return $columns; + } else { + return $rows; + } + } + + + /** + * HYPERLINK + * + * Excel Function: + * =HYPERLINK(linkURL,displayName) + * + * @access public + * @category Logical Functions + * @param string $linkURL Value to check, is also the value returned when no error + * @param string $displayName Value to return when testValue is an error condition + * @param PHPExcel_Cell $pCell The cell to set the hyperlink in + * @return mixed The value of $displayName (or $linkURL if $displayName was blank) + */ + public static function HYPERLINK($linkURL = '', $displayName = null, PHPExcel_Cell $pCell = null) + { + $args = func_get_args(); + $pCell = array_pop($args); + + $linkURL = (is_null($linkURL)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($linkURL); + $displayName = (is_null($displayName)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($displayName); + + if ((!is_object($pCell)) || (trim($linkURL) == '')) { + return PHPExcel_Calculation_Functions::REF(); + } + + if ((is_object($displayName)) || trim($displayName) == '') { + $displayName = $linkURL; + } + + $pCell->getHyperlink()->setUrl($linkURL); + $pCell->getHyperlink()->setTooltip($displayName); + + return $displayName; + } + + + /** + * INDIRECT + * + * Returns the reference specified by a text string. + * References are immediately evaluated to display their contents. + * + * Excel Function: + * =INDIRECT(cellAddress) + * + * NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010 + * + * @param cellAddress $cellAddress The cell address of the current cell (containing this formula) + * @param PHPExcel_Cell $pCell The current cell (containing this formula) + * @return mixed The cells referenced by cellAddress + * + * @todo Support for the optional a1 parameter introduced in Excel 2010 + * + */ + public static function INDIRECT($cellAddress = null, PHPExcel_Cell $pCell = null) + { + $cellAddress = PHPExcel_Calculation_Functions::flattenSingleValue($cellAddress); + if (is_null($cellAddress) || $cellAddress === '') { + return PHPExcel_Calculation_Functions::REF(); + } + + $cellAddress1 = $cellAddress; + $cellAddress2 = null; + if (strpos($cellAddress, ':') !== false) { + list($cellAddress1, $cellAddress2) = explode(':', $cellAddress); + } + + if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress1, $matches)) || + ((!is_null($cellAddress2)) && (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $cellAddress2, $matches)))) { + if (!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $cellAddress1, $matches)) { + return PHPExcel_Calculation_Functions::REF(); + } + + if (strpos($cellAddress, '!') !== false) { + list($sheetName, $cellAddress) = explode('!', $cellAddress); + $sheetName = trim($sheetName, "'"); + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, false); + } + + if (strpos($cellAddress, '!') !== false) { + list($sheetName, $cellAddress) = explode('!', $cellAddress); + $sheetName = trim($sheetName, "'"); + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, false); + } + + + /** + * OFFSET + * + * Returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. + * The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and + * the number of columns to be returned. + * + * Excel Function: + * =OFFSET(cellAddress, rows, cols, [height], [width]) + * + * @param cellAddress The reference from which you want to base the offset. Reference must refer to a cell or + * range of adjacent cells; otherwise, OFFSET returns the #VALUE! error value. + * @param rows The number of rows, up or down, that you want the upper-left cell to refer to. + * Using 5 as the rows argument specifies that the upper-left cell in the reference is + * five rows below reference. Rows can be positive (which means below the starting reference) + * or negative (which means above the starting reference). + * @param cols The number of columns, to the left or right, that you want the upper-left cell of the result + * to refer to. Using 5 as the cols argument specifies that the upper-left cell in the + * reference is five columns to the right of reference. Cols can be positive (which means + * to the right of the starting reference) or negative (which means to the left of the + * starting reference). + * @param height The height, in number of rows, that you want the returned reference to be. Height must be a positive number. + * @param width The width, in number of columns, that you want the returned reference to be. Width must be a positive number. + * @return string A reference to a cell or range of cells + */ + public static function OFFSET($cellAddress = null, $rows = 0, $columns = 0, $height = null, $width = null) + { + $rows = PHPExcel_Calculation_Functions::flattenSingleValue($rows); + $columns = PHPExcel_Calculation_Functions::flattenSingleValue($columns); + $height = PHPExcel_Calculation_Functions::flattenSingleValue($height); + $width = PHPExcel_Calculation_Functions::flattenSingleValue($width); + if ($cellAddress == null) { + return 0; + } + + $args = func_get_args(); + $pCell = array_pop($args); + if (!is_object($pCell)) { + return PHPExcel_Calculation_Functions::REF(); + } + + $sheetName = null; + if (strpos($cellAddress, "!")) { + list($sheetName, $cellAddress) = explode("!", $cellAddress); + $sheetName = trim($sheetName, "'"); + } + if (strpos($cellAddress, ":")) { + list($startCell, $endCell) = explode(":", $cellAddress); + } else { + $startCell = $endCell = $cellAddress; + } + list($startCellColumn, $startCellRow) = PHPExcel_Cell::coordinateFromString($startCell); + list($endCellColumn, $endCellRow) = PHPExcel_Cell::coordinateFromString($endCell); + + $startCellRow += $rows; + $startCellColumn = PHPExcel_Cell::columnIndexFromString($startCellColumn) - 1; + $startCellColumn += $columns; + + if (($startCellRow <= 0) || ($startCellColumn < 0)) { + return PHPExcel_Calculation_Functions::REF(); + } + $endCellColumn = PHPExcel_Cell::columnIndexFromString($endCellColumn) - 1; + if (($width != null) && (!is_object($width))) { + $endCellColumn = $startCellColumn + $width - 1; + } else { + $endCellColumn += $columns; + } + $startCellColumn = PHPExcel_Cell::stringFromColumnIndex($startCellColumn); + + if (($height != null) && (!is_object($height))) { + $endCellRow = $startCellRow + $height - 1; + } else { + $endCellRow += $rows; + } + + if (($endCellRow <= 0) || ($endCellColumn < 0)) { + return PHPExcel_Calculation_Functions::REF(); + } + $endCellColumn = PHPExcel_Cell::stringFromColumnIndex($endCellColumn); + + $cellAddress = $startCellColumn.$startCellRow; + if (($startCellColumn != $endCellColumn) || ($startCellRow != $endCellRow)) { + $cellAddress .= ':'.$endCellColumn.$endCellRow; + } + + if ($sheetName !== null) { + $pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName); + } else { + $pSheet = $pCell->getWorksheet(); + } + + return PHPExcel_Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, false); + } + + + /** + * CHOOSE + * + * Uses lookup_value to return a value from the list of value arguments. + * Use CHOOSE to select one of up to 254 values based on the lookup_value. + * + * Excel Function: + * =CHOOSE(index_num, value1, [value2], ...) + * + * @param index_num Specifies which value argument is selected. + * Index_num must be a number between 1 and 254, or a formula or reference to a cell containing a number + * between 1 and 254. + * @param value1... Value1 is required, subsequent values are optional. + * Between 1 to 254 value arguments from which CHOOSE selects a value or an action to perform based on + * index_num. The arguments can be numbers, cell references, defined names, formulas, functions, or + * text. + * @return mixed The selected value + */ + public static function CHOOSE() + { + $chooseArgs = func_get_args(); + $chosenEntry = PHPExcel_Calculation_Functions::flattenArray(array_shift($chooseArgs)); + $entryCount = count($chooseArgs) - 1; + + if (is_array($chosenEntry)) { + $chosenEntry = array_shift($chosenEntry); + } + if ((is_numeric($chosenEntry)) && (!is_bool($chosenEntry))) { + --$chosenEntry; + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + $chosenEntry = floor($chosenEntry); + if (($chosenEntry < 0) || ($chosenEntry > $entryCount)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_array($chooseArgs[$chosenEntry])) { + return PHPExcel_Calculation_Functions::flattenArray($chooseArgs[$chosenEntry]); + } else { + return $chooseArgs[$chosenEntry]; + } + } + + + /** + * MATCH + * + * The MATCH function searches for a specified item in a range of cells + * + * Excel Function: + * =MATCH(lookup_value, lookup_array, [match_type]) + * + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param match_type The number -1, 0, or 1. -1 means above, 0 means exact match, 1 means below. If match_type is 1 or -1, the list has to be ordered. + * @return integer The relative position of the found item + */ + public static function MATCH($lookup_value, $lookup_array, $match_type = 1) + { + $lookup_array = PHPExcel_Calculation_Functions::flattenArray($lookup_array); + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + $match_type = (is_null($match_type)) ? 1 : (int) PHPExcel_Calculation_Functions::flattenSingleValue($match_type); + // MATCH is not case sensitive + $lookup_value = strtolower($lookup_value); + + // lookup_value type has to be number, text, or logical values + if ((!is_numeric($lookup_value)) && (!is_string($lookup_value)) && (!is_bool($lookup_value))) { + return PHPExcel_Calculation_Functions::NA(); + } + + // match_type is 0, 1 or -1 + if (($match_type !== 0) && ($match_type !== -1) && ($match_type !== 1)) { + return PHPExcel_Calculation_Functions::NA(); + } + + // lookup_array should not be empty + $lookupArraySize = count($lookup_array); + if ($lookupArraySize <= 0) { + return PHPExcel_Calculation_Functions::NA(); + } + + // lookup_array should contain only number, text, or logical values, or empty (null) cells + foreach ($lookup_array as $i => $lookupArrayValue) { + // check the type of the value + if ((!is_numeric($lookupArrayValue)) && (!is_string($lookupArrayValue)) && + (!is_bool($lookupArrayValue)) && (!is_null($lookupArrayValue))) { + return PHPExcel_Calculation_Functions::NA(); + } + // convert strings to lowercase for case-insensitive testing + if (is_string($lookupArrayValue)) { + $lookup_array[$i] = strtolower($lookupArrayValue); + } + if ((is_null($lookupArrayValue)) && (($match_type == 1) || ($match_type == -1))) { + $lookup_array = array_slice($lookup_array, 0, $i-1); + } + } + + // if match_type is 1 or -1, the list has to be ordered + if ($match_type == 1) { + asort($lookup_array); + $keySet = array_keys($lookup_array); + } elseif ($match_type == -1) { + arsort($lookup_array); + $keySet = array_keys($lookup_array); + } + + // ** + // find the match + // ** + foreach ($lookup_array as $i => $lookupArrayValue) { + if (($match_type == 0) && ($lookupArrayValue == $lookup_value)) { + // exact match + return ++$i; + } elseif (($match_type == -1) && ($lookupArrayValue <= $lookup_value)) { + $i = array_search($i, $keySet); + // if match_type is -1 <=> find the smallest value that is greater than or equal to lookup_value + if ($i < 1) { + // 1st cell was already smaller than the lookup_value + break; + } else { + // the previous cell was the match + return $keySet[$i-1]+1; + } + } elseif (($match_type == 1) && ($lookupArrayValue >= $lookup_value)) { + $i = array_search($i, $keySet); + // if match_type is 1 <=> find the largest value that is less than or equal to lookup_value + if ($i < 1) { + // 1st cell was already bigger than the lookup_value + break; + } else { + // the previous cell was the match + return $keySet[$i-1]+1; + } + } + } + + // unsuccessful in finding a match, return #N/A error value + return PHPExcel_Calculation_Functions::NA(); + } + + + /** + * INDEX + * + * Uses an index to choose a value from a reference or array + * + * Excel Function: + * =INDEX(range_array, row_num, [column_num]) + * + * @param range_array A range of cells or an array constant + * @param row_num The row in array from which to return a value. If row_num is omitted, column_num is required. + * @param column_num The column in array from which to return a value. If column_num is omitted, row_num is required. + * @return mixed the value of a specified cell or array of cells + */ + public static function INDEX($arrayValues, $rowNum = 0, $columnNum = 0) + { + if (($rowNum < 0) || ($columnNum < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (!is_array($arrayValues)) { + return PHPExcel_Calculation_Functions::REF(); + } + + $rowKeys = array_keys($arrayValues); + $columnKeys = @array_keys($arrayValues[$rowKeys[0]]); + + if ($columnNum > count($columnKeys)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($columnNum == 0) { + if ($rowNum == 0) { + return $arrayValues; + } + $rowNum = $rowKeys[--$rowNum]; + $returnArray = array(); + foreach ($arrayValues as $arrayColumn) { + if (is_array($arrayColumn)) { + if (isset($arrayColumn[$rowNum])) { + $returnArray[] = $arrayColumn[$rowNum]; + } else { + return $arrayValues[$rowNum]; + } + } else { + return $arrayValues[$rowNum]; + } + } + return $returnArray; + } + $columnNum = $columnKeys[--$columnNum]; + if ($rowNum > count($rowKeys)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($rowNum == 0) { + return $arrayValues[$columnNum]; + } + $rowNum = $rowKeys[--$rowNum]; + + return $arrayValues[$rowNum][$columnNum]; + } + + + /** + * TRANSPOSE + * + * @param array $matrixData A matrix of values + * @return array + * + * Unlike the Excel TRANSPOSE function, which will only work on a single row or column, this function will transpose a full matrix. + */ + public static function TRANSPOSE($matrixData) + { + $returnMatrix = array(); + if (!is_array($matrixData)) { + $matrixData = array(array($matrixData)); + } + + $column = 0; + foreach ($matrixData as $matrixRow) { + $row = 0; + foreach ($matrixRow as $matrixCell) { + $returnMatrix[$row][$column] = $matrixCell; + ++$row; + } + ++$column; + } + return $returnMatrix; + } + + + private static function vlookupSort($a, $b) + { + reset($a); + $firstColumn = key($a); + if (($aLower = strtolower($a[$firstColumn])) == ($bLower = strtolower($b[$firstColumn]))) { + return 0; + } + return ($aLower < $bLower) ? -1 : 1; + } + + + /** + * VLOOKUP + * The VLOOKUP function searches for value in the left-most column of lookup_array and returns the value in the same row based on the index_number. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param index_number The column number in table_array from which the matching value must be returned. The first column is 1. + * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. + * @return mixed The value of the found cell + */ + public static function VLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match = true) + { + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + $index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number); + $not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match); + + // index_number must be greater than or equal to 1 + if ($index_number < 1) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + // index_number must be less than or equal to the number of columns in lookup_array + if ((!is_array($lookup_array)) || (empty($lookup_array))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $f = array_keys($lookup_array); + $firstRow = array_pop($f); + if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) { + return PHPExcel_Calculation_Functions::REF(); + } else { + $columnKeys = array_keys($lookup_array[$firstRow]); + $returnColumn = $columnKeys[--$index_number]; + $firstColumn = array_shift($columnKeys); + } + } + + if (!$not_exact_match) { + uasort($lookup_array, array('self', 'vlookupSort')); + } + + $rowNumber = $rowValue = false; + foreach ($lookup_array as $rowKey => $rowData) { + if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn]) && ($rowData[$firstColumn] > $lookup_value)) || + (!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]) && (strtolower($rowData[$firstColumn]) > strtolower($lookup_value)))) { + break; + } + $rowNumber = $rowKey; + $rowValue = $rowData[$firstColumn]; + } + + if ($rowNumber !== false) { + if ((!$not_exact_match) && ($rowValue != $lookup_value)) { + // if an exact match is required, we have what we need to return an appropriate response + return PHPExcel_Calculation_Functions::NA(); + } else { + // otherwise return the appropriate value + return $lookup_array[$rowNumber][$returnColumn]; + } + } + + return PHPExcel_Calculation_Functions::NA(); + } + + + /** + * HLOOKUP + * The HLOOKUP function searches for value in the top-most row of lookup_array and returns the value in the same column based on the index_number. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_array The range of cells being searched + * @param index_number The row number in table_array from which the matching value must be returned. The first row is 1. + * @param not_exact_match Determines if you are looking for an exact match based on lookup_value. + * @return mixed The value of the found cell + */ + public static function HLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match = true) + { $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); $index_number = PHPExcel_Calculation_Functions::flattenSingleValue($index_number); $not_exact_match = PHPExcel_Calculation_Functions::flattenSingleValue($not_exact_match); @@ -782,10 +785,10 @@ class PHPExcel_Calculation_LookupRef { $firstRowH = asort($lookup_array[$firstColumn]); } - $rowNumber = $rowValue = False; - foreach($lookup_array[$firstColumn] as $rowKey => $rowData) { - if ((is_numeric($lookup_value) && is_numeric($rowData) && ($rowData > $lookup_value)) || - (!is_numeric($lookup_value) && !is_numeric($rowData) && (strtolower($rowData) > strtolower($lookup_value)))) { + $rowNumber = $rowValue = false; + foreach ($lookup_array[$firstColumn] as $rowKey => $rowData) { + if ((is_numeric($lookup_value) && is_numeric($rowData) && ($rowData > $lookup_value)) || + (!is_numeric($lookup_value) && !is_numeric($rowData) && (strtolower($rowData) > strtolower($lookup_value)))) { break; } $rowNumber = $rowKey; @@ -803,74 +806,74 @@ class PHPExcel_Calculation_LookupRef { } return PHPExcel_Calculation_Functions::NA(); - } // function HLOOKUP() + } - /** - * LOOKUP - * The LOOKUP function searches for value either from a one-row or one-column range or from an array. - * @param lookup_value The value that you want to match in lookup_array - * @param lookup_vector The range of cells being searched - * @param result_vector The column from which the matching value must be returned - * @return mixed The value of the found cell - */ - public static function LOOKUP($lookup_value, $lookup_vector, $result_vector=null) { - $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); + /** + * LOOKUP + * The LOOKUP function searches for value either from a one-row or one-column range or from an array. + * @param lookup_value The value that you want to match in lookup_array + * @param lookup_vector The range of cells being searched + * @param result_vector The column from which the matching value must be returned + * @return mixed The value of the found cell + */ + public static function LOOKUP($lookup_value, $lookup_vector, $result_vector = null) + { + $lookup_value = PHPExcel_Calculation_Functions::flattenSingleValue($lookup_value); - if (!is_array($lookup_vector)) { - return PHPExcel_Calculation_Functions::NA(); - } - $lookupRows = count($lookup_vector); - $l = array_keys($lookup_vector); - $l = array_shift($l); - $lookupColumns = count($lookup_vector[$l]); - if ((($lookupRows == 1) && ($lookupColumns > 1)) || (($lookupRows == 2) && ($lookupColumns != 2))) { - $lookup_vector = self::TRANSPOSE($lookup_vector); - $lookupRows = count($lookup_vector); - $l = array_keys($lookup_vector); - $lookupColumns = count($lookup_vector[array_shift($l)]); - } + if (!is_array($lookup_vector)) { + return PHPExcel_Calculation_Functions::NA(); + } + $lookupRows = count($lookup_vector); + $l = array_keys($lookup_vector); + $l = array_shift($l); + $lookupColumns = count($lookup_vector[$l]); + if ((($lookupRows == 1) && ($lookupColumns > 1)) || (($lookupRows == 2) && ($lookupColumns != 2))) { + $lookup_vector = self::TRANSPOSE($lookup_vector); + $lookupRows = count($lookup_vector); + $l = array_keys($lookup_vector); + $lookupColumns = count($lookup_vector[array_shift($l)]); + } - if (is_null($result_vector)) { - $result_vector = $lookup_vector; - } - $resultRows = count($result_vector); - $l = array_keys($result_vector); - $l = array_shift($l); - $resultColumns = count($result_vector[$l]); - if ((($resultRows == 1) && ($resultColumns > 1)) || (($resultRows == 2) && ($resultColumns != 2))) { - $result_vector = self::TRANSPOSE($result_vector); - $resultRows = count($result_vector); - $r = array_keys($result_vector); - $resultColumns = count($result_vector[array_shift($r)]); - } + if (is_null($result_vector)) { + $result_vector = $lookup_vector; + } + $resultRows = count($result_vector); + $l = array_keys($result_vector); + $l = array_shift($l); + $resultColumns = count($result_vector[$l]); + if ((($resultRows == 1) && ($resultColumns > 1)) || (($resultRows == 2) && ($resultColumns != 2))) { + $result_vector = self::TRANSPOSE($result_vector); + $resultRows = count($result_vector); + $r = array_keys($result_vector); + $resultColumns = count($result_vector[array_shift($r)]); + } - if ($lookupRows == 2) { - $result_vector = array_pop($lookup_vector); - $lookup_vector = array_shift($lookup_vector); - } - if ($lookupColumns != 2) { - foreach($lookup_vector as &$value) { - if (is_array($value)) { - $k = array_keys($value); - $key1 = $key2 = array_shift($k); - $key2++; - $dataValue1 = $value[$key1]; - } else { - $key1 = 0; - $key2 = 1; - $dataValue1 = $value; - } - $dataValue2 = array_shift($result_vector); - if (is_array($dataValue2)) { - $dataValue2 = array_shift($dataValue2); - } - $value = array($key1 => $dataValue1, $key2 => $dataValue2); - } - unset($value); - } + if ($lookupRows == 2) { + $result_vector = array_pop($lookup_vector); + $lookup_vector = array_shift($lookup_vector); + } + if ($lookupColumns != 2) { + foreach ($lookup_vector as &$value) { + if (is_array($value)) { + $k = array_keys($value); + $key1 = $key2 = array_shift($k); + $key2++; + $dataValue1 = $value[$key1]; + } else { + $key1 = 0; + $key2 = 1; + $dataValue1 = $value; + } + $dataValue2 = array_shift($result_vector); + if (is_array($dataValue2)) { + $dataValue2 = array_shift($dataValue2); + } + $value = array($key1 => $dataValue1, $key2 => $dataValue2); + } + unset($value); + } - return self::VLOOKUP($lookup_value,$lookup_vector,2); - } // function LOOKUP() - -} // class PHPExcel_Calculation_LookupRef + return self::VLOOKUP($lookup_value, $lookup_vector, 2); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php index 689d59ffc..894ba9cf0 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/MathTrig.php @@ -1,8 +1,18 @@ 1; --$i) { + if (($value % $i) == 0) { + $factorArray = array_merge($factorArray, self::factors($value / $i)); + $factorArray = array_merge($factorArray, self::factors($i)); + if ($i <= sqrt($value)) { + break; + } + } + } + if (!empty($factorArray)) { + rsort($factorArray); + return $factorArray; + } else { + return array((integer) $value); + } + } -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} + private static function romanCut($num, $n) + { + return ($num - ($num % $n ) ) / $n; + } -/** - * PHPExcel_Calculation_MathTrig - * - * @category PHPExcel - * @package PHPExcel_Calculation - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Calculation_MathTrig { + /** + * ATAN2 + * + * This function calculates the arc tangent of the two variables x and y. It is similar to + * calculating the arc tangent of y ÷ x, except that the signs of both arguments are used + * to determine the quadrant of the result. + * The arctangent is the angle from the x-axis to a line containing the origin (0, 0) and a + * point with coordinates (xCoordinate, yCoordinate). The angle is given in radians between + * -pi and pi, excluding -pi. + * + * Note that the Excel ATAN2() function accepts its arguments in the reverse order to the standard + * PHP atan2() function, so we need to reverse them here before calling the PHP atan() function. + * + * Excel Function: + * ATAN2(xCoordinate,yCoordinate) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $xCoordinate The x-coordinate of the point. + * @param float $yCoordinate The y-coordinate of the point. + * @return float The inverse tangent of the specified x- and y-coordinates. + */ + public static function ATAN2($xCoordinate = null, $yCoordinate = null) + { + $xCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($xCoordinate); + $yCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($yCoordinate); - // - // Private method to return an array of the factors of the input value - // - private static function _factors($value) { - $startVal = floor(sqrt($value)); + $xCoordinate = ($xCoordinate !== null) ? $xCoordinate : 0.0; + $yCoordinate = ($yCoordinate !== null) ? $yCoordinate : 0.0; - $factorArray = array(); - for ($i = $startVal; $i > 1; --$i) { - if (($value % $i) == 0) { - $factorArray = array_merge($factorArray,self::_factors($value / $i)); - $factorArray = array_merge($factorArray,self::_factors($i)); - if ($i <= sqrt($value)) { - break; - } - } - } - if (!empty($factorArray)) { - rsort($factorArray); - return $factorArray; - } else { - return array((integer) $value); - } - } // function _factors() + if (((is_numeric($xCoordinate)) || (is_bool($xCoordinate))) && + ((is_numeric($yCoordinate))) || (is_bool($yCoordinate))) { + $xCoordinate = (float) $xCoordinate; + $yCoordinate = (float) $yCoordinate; + + if (($xCoordinate == 0) && ($yCoordinate == 0)) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + return atan2($yCoordinate, $xCoordinate); + } + return PHPExcel_Calculation_Functions::VALUE(); + } - private static function _romanCut($num, $n) { - return ($num - ($num % $n ) ) / $n; - } // function _romanCut() + /** + * CEILING + * + * Returns number rounded up, away from zero, to the nearest multiple of significance. + * For example, if you want to avoid using pennies in your prices and your product is + * priced at $4.42, use the formula =CEILING(4.42,0.05) to round prices up to the + * nearest nickel. + * + * Excel Function: + * CEILING(number[,significance]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number The number you want to round. + * @param float $significance The multiple to which you want to round. + * @return float Rounded Number + */ + public static function CEILING($number, $significance = null) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); - - /** - * ATAN2 - * - * This function calculates the arc tangent of the two variables x and y. It is similar to - * calculating the arc tangent of y ÷ x, except that the signs of both arguments are used - * to determine the quadrant of the result. - * The arctangent is the angle from the x-axis to a line containing the origin (0, 0) and a - * point with coordinates (xCoordinate, yCoordinate). The angle is given in radians between - * -pi and pi, excluding -pi. - * - * Note that the Excel ATAN2() function accepts its arguments in the reverse order to the standard - * PHP atan2() function, so we need to reverse them here before calling the PHP atan() function. - * - * Excel Function: - * ATAN2(xCoordinate,yCoordinate) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $xCoordinate The x-coordinate of the point. - * @param float $yCoordinate The y-coordinate of the point. - * @return float The inverse tangent of the specified x- and y-coordinates. - */ - public static function ATAN2($xCoordinate = NULL, $yCoordinate = NULL) { - $xCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($xCoordinate); - $yCoordinate = PHPExcel_Calculation_Functions::flattenSingleValue($yCoordinate); - - $xCoordinate = ($xCoordinate !== NULL) ? $xCoordinate : 0.0; - $yCoordinate = ($yCoordinate !== NULL) ? $yCoordinate : 0.0; - - if (((is_numeric($xCoordinate)) || (is_bool($xCoordinate))) && - ((is_numeric($yCoordinate))) || (is_bool($yCoordinate))) { - $xCoordinate = (float) $xCoordinate; - $yCoordinate = (float) $yCoordinate; - - if (($xCoordinate == 0) && ($yCoordinate == 0)) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - return atan2($yCoordinate, $xCoordinate); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ATAN2() - - - /** - * CEILING - * - * Returns number rounded up, away from zero, to the nearest multiple of significance. - * For example, if you want to avoid using pennies in your prices and your product is - * priced at $4.42, use the formula =CEILING(4.42,0.05) to round prices up to the - * nearest nickel. - * - * Excel Function: - * CEILING(number[,significance]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $number The number you want to round. - * @param float $significance The multiple to which you want to round. - * @return float Rounded Number - */ - public static function CEILING($number, $significance = NULL) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); - - if ((is_null($significance)) && - (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { - $significance = $number/abs($number); - } + if ((is_null($significance)) && + (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { + $significance = $number / abs($number); + } if ((is_numeric($number)) && (is_numeric($significance))) { if (($number == 0.0 ) || ($significance == 0.0)) { - return 0.0; - } elseif (self::SIGN($number) == self::SIGN($significance)) { - return ceil($number / $significance) * $significance; - } else { - return PHPExcel_Calculation_Functions::NaN(); - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function CEILING() + return 0.0; + } elseif (self::SIGN($number) == self::SIGN($significance)) { + return ceil($number / $significance) * $significance; + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * COMBIN - * - * Returns the number of combinations for a given number of items. Use COMBIN to - * determine the total possible number of groups for a given number of items. - * - * Excel Function: - * COMBIN(numObjs,numInSet) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param int $numObjs Number of different objects - * @param int $numInSet Number of objects in each combination - * @return int Number of combinations - */ - public static function COMBIN($numObjs, $numInSet) { - $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); - $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); + /** + * COMBIN + * + * Returns the number of combinations for a given number of items. Use COMBIN to + * determine the total possible number of groups for a given number of items. + * + * Excel Function: + * COMBIN(numObjs,numInSet) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param int $numObjs Number of different objects + * @param int $numInSet Number of objects in each combination + * @return int Number of combinations + */ + public static function COMBIN($numObjs, $numInSet) + { + $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); + $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); - if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { - if ($numObjs < $numInSet) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif ($numInSet < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return round(self::FACT($numObjs) / self::FACT($numObjs - $numInSet)) / self::FACT($numInSet); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function COMBIN() + if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { + if ($numObjs < $numInSet) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif ($numInSet < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return round(self::FACT($numObjs) / self::FACT($numObjs - $numInSet)) / self::FACT($numInSet); + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * EVEN - * - * Returns number rounded up to the nearest even integer. - * You can use this function for processing items that come in twos. For example, - * a packing crate accepts rows of one or two items. The crate is full when - * the number of items, rounded up to the nearest two, matches the crate's - * capacity. - * - * Excel Function: - * EVEN(number) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $number Number to round - * @return int Rounded Number - */ - public static function EVEN($number) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + /** + * EVEN + * + * Returns number rounded up to the nearest even integer. + * You can use this function for processing items that come in twos. For example, + * a packing crate accepts rows of one or two items. The crate is full when + * the number of items, rounded up to the nearest two, matches the crate's + * capacity. + * + * Excel Function: + * EVEN(number) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to round + * @return int Rounded Number + */ + public static function EVEN($number) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - if (is_null($number)) { - return 0; - } elseif (is_bool($number)) { - $number = (int) $number; - } + if (is_null($number)) { + return 0; + } elseif (is_bool($number)) { + $number = (int) $number; + } - if (is_numeric($number)) { - $significance = 2 * self::SIGN($number); - return (int) self::CEILING($number,$significance); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function EVEN() + if (is_numeric($number)) { + $significance = 2 * self::SIGN($number); + return (int) self::CEILING($number, $significance); + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * FACT - * - * Returns the factorial of a number. - * The factorial of a number is equal to 1*2*3*...* number. - * - * Excel Function: - * FACT(factVal) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $factVal Factorial Value - * @return int Factorial - */ - public static function FACT($factVal) { - $factVal = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); + /** + * FACT + * + * Returns the factorial of a number. + * The factorial of a number is equal to 1*2*3*...* number. + * + * Excel Function: + * FACT(factVal) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $factVal Factorial Value + * @return int Factorial + */ + public static function FACT($factVal) + { + $factVal = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); - if (is_numeric($factVal)) { - if ($factVal < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $factLoop = floor($factVal); - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - if ($factVal > $factLoop) { - return PHPExcel_Calculation_Functions::NaN(); - } - } + if (is_numeric($factVal)) { + if ($factVal < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $factLoop = floor($factVal); + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + if ($factVal > $factLoop) { + return PHPExcel_Calculation_Functions::NaN(); + } + } - $factorial = 1; - while ($factLoop > 1) { - $factorial *= $factLoop--; - } - return $factorial ; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function FACT() + $factorial = 1; + while ($factLoop > 1) { + $factorial *= $factLoop--; + } + return $factorial ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * FACTDOUBLE - * - * Returns the double factorial of a number. - * - * Excel Function: - * FACTDOUBLE(factVal) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $factVal Factorial Value - * @return int Double Factorial - */ - public static function FACTDOUBLE($factVal) { - $factLoop = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); + /** + * FACTDOUBLE + * + * Returns the double factorial of a number. + * + * Excel Function: + * FACTDOUBLE(factVal) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $factVal Factorial Value + * @return int Double Factorial + */ + public static function FACTDOUBLE($factVal) + { + $factLoop = PHPExcel_Calculation_Functions::flattenSingleValue($factVal); - if (is_numeric($factLoop)) { - $factLoop = floor($factLoop); - if ($factVal < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $factorial = 1; - while ($factLoop > 1) { - $factorial *= $factLoop--; - --$factLoop; - } - return $factorial ; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function FACTDOUBLE() + if (is_numeric($factLoop)) { + $factLoop = floor($factLoop); + if ($factVal < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $factorial = 1; + while ($factLoop > 1) { + $factorial *= $factLoop--; + --$factLoop; + } + return $factorial ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * FLOOR - * - * Rounds number down, toward zero, to the nearest multiple of significance. - * - * Excel Function: - * FLOOR(number[,significance]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $number Number to round - * @param float $significance Significance - * @return float Rounded Number - */ - public static function FLOOR($number, $significance = NULL) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); + /** + * FLOOR + * + * Rounds number down, toward zero, to the nearest multiple of significance. + * + * Excel Function: + * FLOOR(number[,significance]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to round + * @param float $significance Significance + * @return float Rounded Number + */ + public static function FLOOR($number, $significance = null) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $significance = PHPExcel_Calculation_Functions::flattenSingleValue($significance); - if ((is_null($significance)) && (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { - $significance = $number/abs($number); - } + if ((is_null($significance)) && + (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC)) { + $significance = $number/abs($number); + } - if ((is_numeric($number)) && (is_numeric($significance))) { + if ((is_numeric($number)) && (is_numeric($significance))) { if ($significance == 0.0) { return PHPExcel_Calculation_Functions::DIV0(); } elseif ($number == 0.0) { - return 0.0; - } elseif (self::SIGN($number) == self::SIGN($significance)) { - return floor($number / $significance) * $significance; - } else { - return PHPExcel_Calculation_Functions::NaN(); - } - } else + return 0.0; + } elseif (self::SIGN($number) == self::SIGN($significance)) { + return floor($number / $significance) * $significance; + } else { + return PHPExcel_Calculation_Functions::NaN(); + } + } - return PHPExcel_Calculation_Functions::VALUE(); - } // function FLOOR() + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * GCD - * - * Returns the greatest common divisor of a series of numbers. - * The greatest common divisor is the largest integer that divides both - * number1 and number2 without a remainder. - * - * Excel Function: - * GCD(number1[,number2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return integer Greatest Common Divisor - */ - public static function GCD() { - $returnValue = 1; - $allValuesFactors = array(); - // Loop through arguments - foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { - if (!is_numeric($value)) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ($value == 0) { - continue; - } elseif($value < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $myFactors = self::_factors($value); - $myCountedFactors = array_count_values($myFactors); - $allValuesFactors[] = $myCountedFactors; - } - $allValuesCount = count($allValuesFactors); - if ($allValuesCount == 0) { - return 0; - } + /** + * GCD + * + * Returns the greatest common divisor of a series of numbers. + * The greatest common divisor is the largest integer that divides both + * number1 and number2 without a remainder. + * + * Excel Function: + * GCD(number1[,number2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return integer Greatest Common Divisor + */ + public static function GCD() + { + $returnValue = 1; + $allValuesFactors = array(); + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ($value == 0) { + continue; + } elseif ($value < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $myFactors = self::factors($value); + $myCountedFactors = array_count_values($myFactors); + $allValuesFactors[] = $myCountedFactors; + } + $allValuesCount = count($allValuesFactors); + if ($allValuesCount == 0) { + return 0; + } - $mergedArray = $allValuesFactors[0]; - for ($i=1;$i < $allValuesCount; ++$i) { - $mergedArray = array_intersect_key($mergedArray,$allValuesFactors[$i]); - } - $mergedArrayValues = count($mergedArray); - if ($mergedArrayValues == 0) { - return $returnValue; - } elseif ($mergedArrayValues > 1) { - foreach($mergedArray as $mergedKey => $mergedValue) { - foreach($allValuesFactors as $highestPowerTest) { - foreach($highestPowerTest as $testKey => $testValue) { - if (($testKey == $mergedKey) && ($testValue < $mergedValue)) { - $mergedArray[$mergedKey] = $testValue; - $mergedValue = $testValue; - } - } - } - } + $mergedArray = $allValuesFactors[0]; + for ($i=1; $i < $allValuesCount; ++$i) { + $mergedArray = array_intersect_key($mergedArray, $allValuesFactors[$i]); + } + $mergedArrayValues = count($mergedArray); + if ($mergedArrayValues == 0) { + return $returnValue; + } elseif ($mergedArrayValues > 1) { + foreach ($mergedArray as $mergedKey => $mergedValue) { + foreach ($allValuesFactors as $highestPowerTest) { + foreach ($highestPowerTest as $testKey => $testValue) { + if (($testKey == $mergedKey) && ($testValue < $mergedValue)) { + $mergedArray[$mergedKey] = $testValue; + $mergedValue = $testValue; + } + } + } + } - $returnValue = 1; - foreach($mergedArray as $key => $value) { - $returnValue *= pow($key,$value); - } - return $returnValue; - } else { - $keys = array_keys($mergedArray); - $key = $keys[0]; - $value = $mergedArray[$key]; - foreach($allValuesFactors as $testValue) { - foreach($testValue as $mergedKey => $mergedValue) { - if (($mergedKey == $key) && ($mergedValue < $value)) { - $value = $mergedValue; - } - } - } - return pow($key,$value); - } - } // function GCD() + $returnValue = 1; + foreach ($mergedArray as $key => $value) { + $returnValue *= pow($key, $value); + } + return $returnValue; + } else { + $keys = array_keys($mergedArray); + $key = $keys[0]; + $value = $mergedArray[$key]; + foreach ($allValuesFactors as $testValue) { + foreach ($testValue as $mergedKey => $mergedValue) { + if (($mergedKey == $key) && ($mergedValue < $value)) { + $value = $mergedValue; + } + } + } + return pow($key, $value); + } + } - /** - * INT - * - * Casts a floating point value to an integer - * - * Excel Function: - * INT(number) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $number Number to cast to an integer - * @return integer Integer value - */ - public static function INT($number) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + /** + * INT + * + * Casts a floating point value to an integer + * + * Excel Function: + * INT(number) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number Number to cast to an integer + * @return integer Integer value + */ + public static function INT($number) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - if (is_null($number)) { - return 0; - } elseif (is_bool($number)) { - return (int) $number; - } - if (is_numeric($number)) { - return (int) floor($number); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function INT() + if (is_null($number)) { + return 0; + } elseif (is_bool($number)) { + return (int) $number; + } + if (is_numeric($number)) { + return (int) floor($number); + } + return PHPExcel_Calculation_Functions::VALUE(); + } - /** - * LCM - * - * Returns the lowest common multiplier of a series of numbers - * The least common multiple is the smallest positive integer that is a multiple - * of all integer arguments number1, number2, and so on. Use LCM to add fractions - * with different denominators. - * - * Excel Function: - * LCM(number1[,number2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return int Lowest Common Multiplier - */ - public static function LCM() { - $returnValue = 1; - $allPoweredFactors = array(); - // Loop through arguments - foreach(PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { - if (!is_numeric($value)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if ($value == 0) { - return 0; - } elseif ($value < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $myFactors = self::_factors(floor($value)); - $myCountedFactors = array_count_values($myFactors); - $myPoweredFactors = array(); - foreach($myCountedFactors as $myCountedFactor => $myCountedPower) { - $myPoweredFactors[$myCountedFactor] = pow($myCountedFactor,$myCountedPower); - } - foreach($myPoweredFactors as $myPoweredValue => $myPoweredFactor) { - if (array_key_exists($myPoweredValue,$allPoweredFactors)) { - if ($allPoweredFactors[$myPoweredValue] < $myPoweredFactor) { - $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; - } - } else { - $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; - } - } - } - foreach($allPoweredFactors as $allPoweredFactor) { - $returnValue *= (integer) $allPoweredFactor; - } - return $returnValue; - } // function LCM() + /** + * LCM + * + * Returns the lowest common multiplier of a series of numbers + * The least common multiple is the smallest positive integer that is a multiple + * of all integer arguments number1, number2, and so on. Use LCM to add fractions + * with different denominators. + * + * Excel Function: + * LCM(number1[,number2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return int Lowest Common Multiplier + */ + public static function LCM() + { + $returnValue = 1; + $allPoweredFactors = array(); + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $value) { + if (!is_numeric($value)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if ($value == 0) { + return 0; + } elseif ($value < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $myFactors = self::factors(floor($value)); + $myCountedFactors = array_count_values($myFactors); + $myPoweredFactors = array(); + foreach ($myCountedFactors as $myCountedFactor => $myCountedPower) { + $myPoweredFactors[$myCountedFactor] = pow($myCountedFactor, $myCountedPower); + } + foreach ($myPoweredFactors as $myPoweredValue => $myPoweredFactor) { + if (array_key_exists($myPoweredValue, $allPoweredFactors)) { + if ($allPoweredFactors[$myPoweredValue] < $myPoweredFactor) { + $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; + } + } else { + $allPoweredFactors[$myPoweredValue] = $myPoweredFactor; + } + } + } + foreach ($allPoweredFactors as $allPoweredFactor) { + $returnValue *= (integer) $allPoweredFactor; + } + return $returnValue; + } - /** - * LOG_BASE - * - * Returns the logarithm of a number to a specified base. The default base is 10. - * - * Excel Function: - * LOG(number[,base]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param float $number The positive real number for which you want the logarithm - * @param float $base The base of the logarithm. If base is omitted, it is assumed to be 10. - * @return float - */ - public static function LOG_BASE($number = NULL, $base = 10) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $base = (is_null($base)) ? 10 : (float) PHPExcel_Calculation_Functions::flattenSingleValue($base); + /** + * LOG_BASE + * + * Returns the logarithm of a number to a specified base. The default base is 10. + * + * Excel Function: + * LOG(number[,base]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param float $number The positive real number for which you want the logarithm + * @param float $base The base of the logarithm. If base is omitted, it is assumed to be 10. + * @return float + */ + public static function LOG_BASE($number = null, $base = 10) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $base = (is_null($base)) ? 10 : (float) PHPExcel_Calculation_Functions::flattenSingleValue($base); - if ((!is_numeric($base)) || (!is_numeric($number))) - return PHPExcel_Calculation_Functions::VALUE(); - if (($base <= 0) || ($number <= 0)) - return PHPExcel_Calculation_Functions::NaN(); - return log($number, $base); - } // function LOG_BASE() + if ((!is_numeric($base)) || (!is_numeric($number))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (($base <= 0) || ($number <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return log($number, $base); + } - /** - * MDETERM - * - * Returns the matrix determinant of an array. - * - * Excel Function: - * MDETERM(array) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param array $matrixValues A matrix of values - * @return float - */ - public static function MDETERM($matrixValues) { - $matrixData = array(); - if (!is_array($matrixValues)) { $matrixValues = array(array($matrixValues)); } + /** + * MDETERM + * + * Returns the matrix determinant of an array. + * + * Excel Function: + * MDETERM(array) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param array $matrixValues A matrix of values + * @return float + */ + public static function MDETERM($matrixValues) + { + $matrixData = array(); + if (!is_array($matrixValues)) { + $matrixValues = array(array($matrixValues)); + } - $row = $maxColumn = 0; - foreach($matrixValues as $matrixRow) { - if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } - $column = 0; - foreach($matrixRow as $matrixCell) { - if ((is_string($matrixCell)) || ($matrixCell === null)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $matrixData[$column][$row] = $matrixCell; - ++$column; - } - if ($column > $maxColumn) { $maxColumn = $column; } - ++$row; - } - if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); } + $row = $maxColumn = 0; + foreach ($matrixValues as $matrixRow) { + if (!is_array($matrixRow)) { + $matrixRow = array($matrixRow); + } + $column = 0; + foreach ($matrixRow as $matrixCell) { + if ((is_string($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixData[$column][$row] = $matrixCell; + ++$column; + } + if ($column > $maxColumn) { + $maxColumn = $column; + } + ++$row; + } + if ($row != $maxColumn) { + return PHPExcel_Calculation_Functions::VALUE(); + } - try { - $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); - return $matrix->det(); - } catch (PHPExcel_Exception $ex) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } // function MDETERM() + try { + $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); + return $matrix->det(); + } catch (PHPExcel_Exception $ex) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } - /** - * MINVERSE - * - * Returns the inverse matrix for the matrix stored in an array. - * - * Excel Function: - * MINVERSE(array) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param array $matrixValues A matrix of values - * @return array - */ - public static function MINVERSE($matrixValues) { - $matrixData = array(); - if (!is_array($matrixValues)) { $matrixValues = array(array($matrixValues)); } + /** + * MINVERSE + * + * Returns the inverse matrix for the matrix stored in an array. + * + * Excel Function: + * MINVERSE(array) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param array $matrixValues A matrix of values + * @return array + */ + public static function MINVERSE($matrixValues) + { + $matrixData = array(); + if (!is_array($matrixValues)) { + $matrixValues = array(array($matrixValues)); + } - $row = $maxColumn = 0; - foreach($matrixValues as $matrixRow) { - if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } - $column = 0; - foreach($matrixRow as $matrixCell) { - if ((is_string($matrixCell)) || ($matrixCell === null)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $matrixData[$column][$row] = $matrixCell; - ++$column; - } - if ($column > $maxColumn) { $maxColumn = $column; } - ++$row; - } - if ($row != $maxColumn) { return PHPExcel_Calculation_Functions::VALUE(); } + $row = $maxColumn = 0; + foreach ($matrixValues as $matrixRow) { + if (!is_array($matrixRow)) { + $matrixRow = array($matrixRow); + } + $column = 0; + foreach ($matrixRow as $matrixCell) { + if ((is_string($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixData[$column][$row] = $matrixCell; + ++$column; + } + if ($column > $maxColumn) { + $maxColumn = $column; + } + ++$row; + } + if ($row != $maxColumn) { + return PHPExcel_Calculation_Functions::VALUE(); + } - try { - $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); - return $matrix->inverse()->getArray(); - } catch (PHPExcel_Exception $ex) { - return PHPExcel_Calculation_Functions::VALUE(); - } - } // function MINVERSE() + try { + $matrix = new PHPExcel_Shared_JAMA_Matrix($matrixData); + return $matrix->inverse()->getArray(); + } catch (PHPExcel_Exception $ex) { + return PHPExcel_Calculation_Functions::VALUE(); + } + } - /** - * MMULT - * - * @param array $matrixData1 A matrix of values - * @param array $matrixData2 A matrix of values - * @return array - */ - public static function MMULT($matrixData1,$matrixData2) { - $matrixAData = $matrixBData = array(); - if (!is_array($matrixData1)) { $matrixData1 = array(array($matrixData1)); } - if (!is_array($matrixData2)) { $matrixData2 = array(array($matrixData2)); } + /** + * MMULT + * + * @param array $matrixData1 A matrix of values + * @param array $matrixData2 A matrix of values + * @return array + */ + public static function MMULT($matrixData1, $matrixData2) + { + $matrixAData = $matrixBData = array(); + if (!is_array($matrixData1)) { + $matrixData1 = array(array($matrixData1)); + } + if (!is_array($matrixData2)) { + $matrixData2 = array(array($matrixData2)); + } - try { + try { $rowA = 0; - foreach($matrixData1 as $matrixRow) { - if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } + foreach ($matrixData1 as $matrixRow) { + if (!is_array($matrixRow)) { + $matrixRow = array($matrixRow); + } $columnA = 0; - foreach($matrixRow as $matrixCell) { + foreach ($matrixRow as $matrixCell) { if ((!is_numeric($matrixCell)) || ($matrixCell === null)) { return PHPExcel_Calculation_Functions::VALUE(); } @@ -623,754 +655,805 @@ class PHPExcel_Calculation_MathTrig { } ++$rowA; } - $matrixA = new PHPExcel_Shared_JAMA_Matrix($matrixAData); - $rowB = 0; - foreach($matrixData2 as $matrixRow) { - if (!is_array($matrixRow)) { $matrixRow = array($matrixRow); } - $columnB = 0; - foreach($matrixRow as $matrixCell) { - if ((!is_numeric($matrixCell)) || ($matrixCell === null)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $matrixBData[$rowB][$columnB] = $matrixCell; - ++$columnB; - } - ++$rowB; - } - $matrixB = new PHPExcel_Shared_JAMA_Matrix($matrixBData); + $matrixA = new PHPExcel_Shared_JAMA_Matrix($matrixAData); + $rowB = 0; + foreach ($matrixData2 as $matrixRow) { + if (!is_array($matrixRow)) { + $matrixRow = array($matrixRow); + } + $columnB = 0; + foreach ($matrixRow as $matrixCell) { + if ((!is_numeric($matrixCell)) || ($matrixCell === null)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $matrixBData[$rowB][$columnB] = $matrixCell; + ++$columnB; + } + ++$rowB; + } + $matrixB = new PHPExcel_Shared_JAMA_Matrix($matrixBData); - if ($columnA != $rowB) { - return PHPExcel_Calculation_Functions::VALUE(); - } + if ($columnA != $rowB) { + return PHPExcel_Calculation_Functions::VALUE(); + } - return $matrixA->times($matrixB)->getArray(); - } catch (PHPExcel_Exception $ex) { + return $matrixA->times($matrixB)->getArray(); + } catch (PHPExcel_Exception $ex) { var_dump($ex->getMessage()); - return PHPExcel_Calculation_Functions::VALUE(); - } - } // function MMULT() + return PHPExcel_Calculation_Functions::VALUE(); + } + } - /** - * MOD + /** + * MOD + * + * @param int $a Dividend + * @param int $b Divisor + * @return int Remainder + */ + public static function MOD($a = 1, $b = 1) + { + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + if ($b == 0.0) { + return PHPExcel_Calculation_Functions::DIV0(); + } elseif (($a < 0.0) && ($b > 0.0)) { + return $b - fmod(abs($a), $b); + } elseif (($a > 0.0) && ($b < 0.0)) { + return $b + fmod($a, abs($b)); + } + + return fmod($a, $b); + } + + + /** + * MROUND + * + * Rounds a number to the nearest multiple of a specified value + * + * @param float $number Number to round + * @param int $multiple Multiple to which you want to round $number + * @return float Rounded Number + */ + public static function MROUND($number, $multiple) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $multiple = PHPExcel_Calculation_Functions::flattenSingleValue($multiple); + + if ((is_numeric($number)) && (is_numeric($multiple))) { + if ($multiple == 0) { + return 0; + } + if ((self::SIGN($number)) == (self::SIGN($multiple))) { + $multiplier = 1 / $multiple; + return round($number * $multiplier) / $multiplier; + } + return PHPExcel_Calculation_Functions::NaN(); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * MULTINOMIAL + * + * Returns the ratio of the factorial of a sum of values to the product of factorials. + * + * @param array of mixed Data Series + * @return float + */ + public static function MULTINOMIAL() + { + $summer = 0; + $divisor = 1; + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if (is_numeric($arg)) { + if ($arg < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + $summer += floor($arg); + $divisor *= self::FACT($arg); + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + + // Return + if ($summer > 0) { + $summer = self::FACT($summer); + return $summer / $divisor; + } + return 0; + } + + + /** + * ODD + * + * Returns number rounded up to the nearest odd integer. + * + * @param float $number Number to round + * @return int Rounded Number + */ + public static function ODD($number) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_null($number)) { + return 1; + } elseif (is_bool($number)) { + return 1; + } elseif (is_numeric($number)) { + $significance = self::SIGN($number); + if ($significance == 0) { + return 1; + } + + $result = self::CEILING($number, $significance); + if ($result == self::EVEN($result)) { + $result += $significance; + } + + return (int) $result; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * POWER + * + * Computes x raised to the power y. + * + * @param float $x + * @param float $y + * @return float + */ + public static function POWER($x = 0, $y = 2) + { + $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); + $y = PHPExcel_Calculation_Functions::flattenSingleValue($y); + + // Validate parameters + if ($x == 0.0 && $y == 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif ($x == 0.0 && $y < 0.0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + // Return + $result = pow($x, $y); + return (!is_nan($result) && !is_infinite($result)) ? $result : PHPExcel_Calculation_Functions::NaN(); + } + + + /** + * PRODUCT + * + * PRODUCT returns the product of all the values and cells referenced in the argument list. + * + * Excel Function: + * PRODUCT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function PRODUCT() + { + // Return value + $returnValue = null; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue *= $arg; + } + } + } + + // Return + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } + + + /** + * QUOTIENT + * + * QUOTIENT function returns the integer portion of a division. Numerator is the divided number + * and denominator is the divisor. + * + * Excel Function: + * QUOTIENT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function QUOTIENT() + { + // Return value + $returnValue = null; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = ($arg == 0) ? 0 : $arg; + } else { + if (($returnValue == 0) || ($arg == 0)) { + $returnValue = 0; + } else { + $returnValue /= $arg; + } + } + } + } + + // Return + return intval($returnValue); + } + + + /** + * RAND + * + * @param int $min Minimal value + * @param int $max Maximal value + * @return int Random number + */ + public static function RAND($min = 0, $max = 0) + { + $min = PHPExcel_Calculation_Functions::flattenSingleValue($min); + $max = PHPExcel_Calculation_Functions::flattenSingleValue($max); + + if ($min == 0 && $max == 0) { + return (mt_rand(0, 10000000)) / 10000000; + } else { + return mt_rand($min, $max); + } + } + + + public static function ROMAN($aValue, $style = 0) + { + $aValue = PHPExcel_Calculation_Functions::flattenSingleValue($aValue); + $style = (is_null($style)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($style); + if ((!is_numeric($aValue)) || ($aValue < 0) || ($aValue >= 4000)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $aValue = (integer) $aValue; + if ($aValue == 0) { + return ''; + } + + $mill = array('', 'M', 'MM', 'MMM', 'MMMM', 'MMMMM'); + $cent = array('', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'); + $tens = array('', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'); + $ones = array('', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'); + + $roman = ''; + while ($aValue > 5999) { + $roman .= 'M'; + $aValue -= 1000; + } + $m = self::romanCut($aValue, 1000); + $aValue %= 1000; + $c = self::romanCut($aValue, 100); + $aValue %= 100; + $t = self::romanCut($aValue, 10); + $aValue %= 10; + + return $roman.$mill[$m].$cent[$c].$tens[$t].$ones[$aValue]; + } + + + /** + * ROUNDUP + * + * Rounds a number up to a specified number of decimal places + * + * @param float $number Number to round + * @param int $digits Number of digits to which you want to round $number + * @return float Rounded Number + */ + public static function ROUNDUP($number, $digits) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + if ((is_numeric($number)) && (is_numeric($digits))) { + $significance = pow(10, (int) $digits); + if ($number < 0.0) { + return floor($number * $significance) / $significance; + } else { + return ceil($number * $significance) / $significance; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * ROUNDDOWN + * + * Rounds a number down to a specified number of decimal places + * + * @param float $number Number to round + * @param int $digits Number of digits to which you want to round $number + * @return float Rounded Number + */ + public static function ROUNDDOWN($number, $digits) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + if ((is_numeric($number)) && (is_numeric($digits))) { + $significance = pow(10, (int) $digits); + if ($number < 0.0) { + return ceil($number * $significance) / $significance; + } else { + return floor($number * $significance) / $significance; + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SERIESSUM + * + * Returns the sum of a power series + * + * @param float $x Input value to the power series + * @param float $n Initial power to which you want to raise $x + * @param float $m Step by which to increase $n for each term in the series + * @param array of mixed Data Series + * @return float + */ + public static function SERIESSUM() + { + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $x = array_shift($aArgs); + $n = array_shift($aArgs); + $m = array_shift($aArgs); + + if ((is_numeric($x)) && (is_numeric($n)) && (is_numeric($m))) { + // Calculate + $i = 0; + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += $arg * pow($x, $n + ($m * $i++)); + } else { + return PHPExcel_Calculation_Functions::VALUE(); + } + } + return $returnValue; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SIGN + * + * Determines the sign of a number. Returns 1 if the number is positive, zero (0) + * if the number is 0, and -1 if the number is negative. + * + * @param float $number Number to round + * @return int sign value + */ + public static function SIGN($number) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_bool($number)) { + return (int) $number; + } + if (is_numeric($number)) { + if ($number == 0.0) { + return 0; + } + return $number / abs($number); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SQRTPI + * + * Returns the square root of (number * pi). + * + * @param float $number Number + * @return float Square Root of Number * Pi + */ + public static function SQRTPI($number) + { + $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); + + if (is_numeric($number)) { + if ($number < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return sqrt($number * M_PI) ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SUBTOTAL + * + * Returns a subtotal in a list or database. + * + * @param int the number 1 to 11 that specifies which function to + * use in calculating subtotals within a list. + * @param array of mixed Data Series + * @return float + */ + public static function SUBTOTAL() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $subtotal = array_shift($aArgs); + + if ((is_numeric($subtotal)) && (!is_string($subtotal))) { + switch ($subtotal) { + case 1: + return PHPExcel_Calculation_Statistical::AVERAGE($aArgs); + case 2: + return PHPExcel_Calculation_Statistical::COUNT($aArgs); + case 3: + return PHPExcel_Calculation_Statistical::COUNTA($aArgs); + case 4: + return PHPExcel_Calculation_Statistical::MAX($aArgs); + case 5: + return PHPExcel_Calculation_Statistical::MIN($aArgs); + case 6: + return self::PRODUCT($aArgs); + case 7: + return PHPExcel_Calculation_Statistical::STDEV($aArgs); + case 8: + return PHPExcel_Calculation_Statistical::STDEVP($aArgs); + case 9: + return self::SUM($aArgs); + case 10: + return PHPExcel_Calculation_Statistical::VARFunc($aArgs); + case 11: + return PHPExcel_Calculation_Statistical::VARP($aArgs); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SUM + * + * SUM computes the sum of all the values and cells referenced in the argument list. + * + * Excel Function: + * SUM(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUM() + { + $returnValue = 0; + + // Loop through the arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += $arg; + } + } + + return $returnValue; + } + + + /** + * SUMIF + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * SUMIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be summed. + * @return float + */ + public static function SUMIF($aArgs, $condition, $sumArgs = array()) + { + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { + $arg = str_replace('"', '""', $arg); + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + // Is it a value within our criteria + $returnValue += $sumArgs[$key]; + } + } + + return $returnValue; + } + + + /** + * SUMIFS * - * @param int $a Dividend - * @param int $b Divisor - * @return int Remainder + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * SUMIFS(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be summed. + * @return float */ - public static function MOD($a = 1, $b = 1) { - $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); - $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); - - if ($b == 0.0) { - return PHPExcel_Calculation_Functions::DIV0(); - } elseif (($a < 0.0) && ($b > 0.0)) { - return $b - fmod(abs($a),$b); - } elseif (($a > 0.0) && ($b < 0.0)) { - return $b + fmod($a,abs($b)); - } - - return fmod($a,$b); - } // function MOD() - - - /** - * MROUND - * - * Rounds a number to the nearest multiple of a specified value - * - * @param float $number Number to round - * @param int $multiple Multiple to which you want to round $number - * @return float Rounded Number - */ - public static function MROUND($number,$multiple) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $multiple = PHPExcel_Calculation_Functions::flattenSingleValue($multiple); - - if ((is_numeric($number)) && (is_numeric($multiple))) { - if ($multiple == 0) { - return 0; - } - if ((self::SIGN($number)) == (self::SIGN($multiple))) { - $multiplier = 1 / $multiple; - return round($number * $multiplier) / $multiplier; - } - return PHPExcel_Calculation_Functions::NaN(); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function MROUND() - - - /** - * MULTINOMIAL - * - * Returns the ratio of the factorial of a sum of values to the product of factorials. - * - * @param array of mixed Data Series - * @return float - */ - public static function MULTINOMIAL() { - $summer = 0; - $divisor = 1; - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { - // Is it a numeric value? - if (is_numeric($arg)) { - if ($arg < 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - $summer += floor($arg); - $divisor *= self::FACT($arg); - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - - // Return - if ($summer > 0) { - $summer = self::FACT($summer); - return $summer / $divisor; - } - return 0; - } // function MULTINOMIAL() - - - /** - * ODD - * - * Returns number rounded up to the nearest odd integer. - * - * @param float $number Number to round - * @return int Rounded Number - */ - public static function ODD($number) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - - if (is_null($number)) { - return 1; - } elseif (is_bool($number)) { - $number = (int) $number; - } - - if (is_numeric($number)) { - $significance = self::SIGN($number); - if ($significance == 0) { - return 1; - } - - $result = self::CEILING($number,$significance); - if ($result == self::EVEN($result)) { - $result += $significance; - } - - return (int) $result; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ODD() - - - /** - * POWER - * - * Computes x raised to the power y. - * - * @param float $x - * @param float $y - * @return float - */ - public static function POWER($x = 0, $y = 2) { - $x = PHPExcel_Calculation_Functions::flattenSingleValue($x); - $y = PHPExcel_Calculation_Functions::flattenSingleValue($y); - - // Validate parameters - if ($x == 0.0 && $y == 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } elseif ($x == 0.0 && $y < 0.0) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - // Return - $result = pow($x, $y); - return (!is_nan($result) && !is_infinite($result)) ? $result : PHPExcel_Calculation_Functions::NaN(); - } // function POWER() - - - /** - * PRODUCT - * - * PRODUCT returns the product of all the values and cells referenced in the argument list. - * - * Excel Function: - * PRODUCT(value1[,value2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function PRODUCT() { - // Return value - $returnValue = null; - - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = $arg; - } else { - $returnValue *= $arg; - } - } - } - - // Return - if (is_null($returnValue)) { - return 0; - } - return $returnValue; - } // function PRODUCT() - - - /** - * QUOTIENT - * - * QUOTIENT function returns the integer portion of a division. Numerator is the divided number - * and denominator is the divisor. - * - * Excel Function: - * QUOTIENT(value1[,value2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function QUOTIENT() { - // Return value - $returnValue = null; - - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = ($arg == 0) ? 0 : $arg; - } else { - if (($returnValue == 0) || ($arg == 0)) { - $returnValue = 0; - } else { - $returnValue /= $arg; - } - } - } - } - - // Return - return intval($returnValue); - } // function QUOTIENT() - - - /** - * RAND - * - * @param int $min Minimal value - * @param int $max Maximal value - * @return int Random number - */ - public static function RAND($min = 0, $max = 0) { - $min = PHPExcel_Calculation_Functions::flattenSingleValue($min); - $max = PHPExcel_Calculation_Functions::flattenSingleValue($max); - - if ($min == 0 && $max == 0) { - return (mt_rand(0,10000000)) / 10000000; - } else { - return mt_rand($min, $max); - } - } // function RAND() - - - public static function ROMAN($aValue, $style=0) { - $aValue = PHPExcel_Calculation_Functions::flattenSingleValue($aValue); - $style = (is_null($style)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($style); - if ((!is_numeric($aValue)) || ($aValue < 0) || ($aValue >= 4000)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $aValue = (integer) $aValue; - if ($aValue == 0) { - return ''; - } - - $mill = Array('', 'M', 'MM', 'MMM', 'MMMM', 'MMMMM'); - $cent = Array('', 'C', 'CC', 'CCC', 'CD', 'D', 'DC', 'DCC', 'DCCC', 'CM'); - $tens = Array('', 'X', 'XX', 'XXX', 'XL', 'L', 'LX', 'LXX', 'LXXX', 'XC'); - $ones = Array('', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX'); - - $roman = ''; - while ($aValue > 5999) { - $roman .= 'M'; - $aValue -= 1000; - } - $m = self::_romanCut($aValue, 1000); $aValue %= 1000; - $c = self::_romanCut($aValue, 100); $aValue %= 100; - $t = self::_romanCut($aValue, 10); $aValue %= 10; - - return $roman.$mill[$m].$cent[$c].$tens[$t].$ones[$aValue]; - } // function ROMAN() - - - /** - * ROUNDUP - * - * Rounds a number up to a specified number of decimal places - * - * @param float $number Number to round - * @param int $digits Number of digits to which you want to round $number - * @return float Rounded Number - */ - public static function ROUNDUP($number,$digits) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); - - if ((is_numeric($number)) && (is_numeric($digits))) { - $significance = pow(10,(int) $digits); - if ($number < 0.0) { - return floor($number * $significance) / $significance; - } else { - return ceil($number * $significance) / $significance; - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ROUNDUP() - - - /** - * ROUNDDOWN - * - * Rounds a number down to a specified number of decimal places - * - * @param float $number Number to round - * @param int $digits Number of digits to which you want to round $number - * @return float Rounded Number - */ - public static function ROUNDDOWN($number,$digits) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); - - if ((is_numeric($number)) && (is_numeric($digits))) { - $significance = pow(10,(int) $digits); - if ($number < 0.0) { - return ceil($number * $significance) / $significance; - } else { - return floor($number * $significance) / $significance; - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function ROUNDDOWN() - - - /** - * SERIESSUM - * - * Returns the sum of a power series - * - * @param float $x Input value to the power series - * @param float $n Initial power to which you want to raise $x - * @param float $m Step by which to increase $n for each term in the series - * @param array of mixed Data Series - * @return float - */ - public static function SERIESSUM() { - // Return value - $returnValue = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - $x = array_shift($aArgs); - $n = array_shift($aArgs); - $m = array_shift($aArgs); - - if ((is_numeric($x)) && (is_numeric($n)) && (is_numeric($m))) { - // Calculate - $i = 0; - foreach($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $returnValue += $arg * pow($x,$n + ($m * $i++)); - } else { - return PHPExcel_Calculation_Functions::VALUE(); - } - } - // Return - return $returnValue; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SERIESSUM() - - - /** - * SIGN - * - * Determines the sign of a number. Returns 1 if the number is positive, zero (0) - * if the number is 0, and -1 if the number is negative. - * - * @param float $number Number to round - * @return int sign value - */ - public static function SIGN($number) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - - if (is_bool($number)) - return (int) $number; - if (is_numeric($number)) { - if ($number == 0.0) { - return 0; - } - return $number / abs($number); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SIGN() - - - /** - * SQRTPI - * - * Returns the square root of (number * pi). - * - * @param float $number Number - * @return float Square Root of Number * Pi - */ - public static function SQRTPI($number) { - $number = PHPExcel_Calculation_Functions::flattenSingleValue($number); - - if (is_numeric($number)) { - if ($number < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return sqrt($number * M_PI) ; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SQRTPI() - - - /** - * SUBTOTAL - * - * Returns a subtotal in a list or database. - * - * @param int the number 1 to 11 that specifies which function to - * use in calculating subtotals within a list. - * @param array of mixed Data Series - * @return float - */ - public static function SUBTOTAL() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $subtotal = array_shift($aArgs); - - if ((is_numeric($subtotal)) && (!is_string($subtotal))) { - switch($subtotal) { - case 1 : - return PHPExcel_Calculation_Statistical::AVERAGE($aArgs); - break; - case 2 : - return PHPExcel_Calculation_Statistical::COUNT($aArgs); - break; - case 3 : - return PHPExcel_Calculation_Statistical::COUNTA($aArgs); - break; - case 4 : - return PHPExcel_Calculation_Statistical::MAX($aArgs); - break; - case 5 : - return PHPExcel_Calculation_Statistical::MIN($aArgs); - break; - case 6 : - return self::PRODUCT($aArgs); - break; - case 7 : - return PHPExcel_Calculation_Statistical::STDEV($aArgs); - break; - case 8 : - return PHPExcel_Calculation_Statistical::STDEVP($aArgs); - break; - case 9 : - return self::SUM($aArgs); - break; - case 10 : - return PHPExcel_Calculation_Statistical::VARFunc($aArgs); - break; - case 11 : - return PHPExcel_Calculation_Statistical::VARP($aArgs); - break; - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SUBTOTAL() - - - /** - * SUM - * - * SUM computes the sum of all the values and cells referenced in the argument list. - * - * Excel Function: - * SUM(value1[,value2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function SUM() { - // Return value - $returnValue = 0; - - // Loop through the arguments - foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $returnValue += $arg; - } - } - - // Return - return $returnValue; - } // function SUM() - - - /** - * SUMIF - * - * Counts the number of cells that contain numbers within the list of arguments - * - * Excel Function: - * SUMIF(value1[,value2[, ...]],condition) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @param string $condition The criteria that defines which cells will be summed. - * @return float - */ - public static function SUMIF($aArgs,$condition,$sumArgs = array()) { - // Return value - $returnValue = 0; - - $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); - $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); - if (empty($sumArgs)) { - $sumArgs = $aArgs; - } - $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); - // Loop through arguments - foreach ($aArgs as $key => $arg) { - if (!is_numeric($arg)) { - $arg = str_replace('"', '""', $arg); - $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); - } - - $testCondition = '='.$arg.$condition; - if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { - // Is it a value within our criteria - $returnValue += $sumArgs[$key]; - } - } - - // Return - return $returnValue; - } // function SUMIF() - - - /** - * SUMPRODUCT - * - * Excel Function: - * SUMPRODUCT(value1[,value2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function SUMPRODUCT() { + public static function SUMIFS() { $arrayList = func_get_args(); - $wrkArray = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList)); - $wrkCellCount = count($wrkArray); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList)); - for ($i=0; $i< $wrkCellCount; ++$i) { - if ((!is_numeric($wrkArray[$i])) || (is_string($wrkArray[$i]))) { - $wrkArray[$i] = 0; - } - } + while (count($arrayList) > 0) { + $aArgsArray[] = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList)); + $conditions[] = PHPExcel_Calculation_Functions::ifCondition(array_shift($arrayList)); + } - foreach($arrayList as $matrixData) { - $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData); - $count = count($array2); - if ($wrkCellCount != $count) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - foreach ($array2 as $i => $val) { - if ((!is_numeric($val)) || (is_string($val))) { - $val = 0; - } - $wrkArray[$i] *= $val; - } - } - - return array_sum($wrkArray); - } // function SUMPRODUCT() - - - /** - * SUMSQ - * - * SUMSQ returns the sum of the squares of the arguments - * - * Excel Function: - * SUMSQ(value1[,value2[, ...]]) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function SUMSQ() { - // Return value - $returnValue = 0; - - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $returnValue += ($arg * $arg); - } - } + // Loop through each set of arguments and conditions + foreach ($conditions as $index => $condition) { + $aArgs = $aArgsArray[$index]; + $wildcard = false; + if ((strpos($condition, '*') !== false) || (strpos($condition, '?') !== false)) { + // * and ? are wildcard characters. + // Use ~* and ~? for literal star and question mark + // Code logic doesn't yet handle escaping + $condition = trim(ltrim($condition, '=<>'), '"'); + $wildcard = true; + } + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if ($wildcard) { + if (!fnmatch($condition, $arg, FNM_CASEFOLD)) { + // Is it a value within our criteria + $sumArgs[$key] = 0.0; + } + } else { + if (!is_numeric($arg)) { + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + $testCondition = '='.$arg.$condition; + if (!PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + // Is it a value within our criteria + $sumArgs[$key] = 0.0; + } + } + } + } // Return - return $returnValue; - } // function SUMSQ() + return array_sum($sumArgs); + } - /** - * SUMX2MY2 - * - * @param mixed[] $matrixData1 Matrix #1 - * @param mixed[] $matrixData2 Matrix #2 - * @return float - */ - public static function SUMX2MY2($matrixData1,$matrixData2) { - $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); - $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); - $count1 = count($array1); - $count2 = count($array2); - if ($count1 < $count2) { - $count = $count1; - } else { - $count = $count2; - } + /** + * SUMPRODUCT + * + * Excel Function: + * SUMPRODUCT(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUMPRODUCT() + { + $arrayList = func_get_args(); - $result = 0; - for ($i = 0; $i < $count; ++$i) { - if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && - ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { - $result += ($array1[$i] * $array1[$i]) - ($array2[$i] * $array2[$i]); - } - } + $wrkArray = PHPExcel_Calculation_Functions::flattenArray(array_shift($arrayList)); + $wrkCellCount = count($wrkArray); - return $result; - } // function SUMX2MY2() + for ($i=0; $i< $wrkCellCount; ++$i) { + if ((!is_numeric($wrkArray[$i])) || (is_string($wrkArray[$i]))) { + $wrkArray[$i] = 0; + } + } + + foreach ($arrayList as $matrixData) { + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData); + $count = count($array2); + if ($wrkCellCount != $count) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + foreach ($array2 as $i => $val) { + if ((!is_numeric($val)) || (is_string($val))) { + $val = 0; + } + $wrkArray[$i] *= $val; + } + } + + return array_sum($wrkArray); + } - /** - * SUMX2PY2 - * - * @param mixed[] $matrixData1 Matrix #1 - * @param mixed[] $matrixData2 Matrix #2 - * @return float - */ - public static function SUMX2PY2($matrixData1,$matrixData2) { - $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); - $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); - $count1 = count($array1); - $count2 = count($array2); - if ($count1 < $count2) { - $count = $count1; - } else { - $count = $count2; - } + /** + * SUMSQ + * + * SUMSQ returns the sum of the squares of the arguments + * + * Excel Function: + * SUMSQ(value1[,value2[, ...]]) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function SUMSQ() + { + $returnValue = 0; - $result = 0; - for ($i = 0; $i < $count; ++$i) { - if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && - ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { - $result += ($array1[$i] * $array1[$i]) + ($array2[$i] * $array2[$i]); - } - } + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArray(func_get_args()) as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $returnValue += ($arg * $arg); + } + } - return $result; - } // function SUMX2PY2() + return $returnValue; + } - /** - * SUMXMY2 - * - * @param mixed[] $matrixData1 Matrix #1 - * @param mixed[] $matrixData2 Matrix #2 - * @return float - */ - public static function SUMXMY2($matrixData1,$matrixData2) { - $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); - $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); - $count1 = count($array1); - $count2 = count($array2); - if ($count1 < $count2) { - $count = $count1; - } else { - $count = $count2; - } + /** + * SUMX2MY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMX2MY2($matrixData1, $matrixData2) + { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count = min(count($array1), count($array2)); - $result = 0; - for ($i = 0; $i < $count; ++$i) { - if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && - ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { - $result += ($array1[$i] - $array2[$i]) * ($array1[$i] - $array2[$i]); - } - } + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] * $array1[$i]) - ($array2[$i] * $array2[$i]); + } + } - return $result; - } // function SUMXMY2() + return $result; + } - /** - * TRUNC - * - * Truncates value to the number of fractional digits by number_digits. - * - * @param float $value - * @param int $digits - * @return float Truncated value - */ - public static function TRUNC($value = 0, $digits = 0) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + /** + * SUMX2PY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMX2PY2($matrixData1, $matrixData2) + { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count = min(count($array1), count($array2)); - // Validate parameters - if ((!is_numeric($value)) || (!is_numeric($digits))) - return PHPExcel_Calculation_Functions::VALUE(); - $digits = floor($digits); + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] * $array1[$i]) + ($array2[$i] * $array2[$i]); + } + } - // Truncate - $adjust = pow(10, $digits); + return $result; + } - if (($digits > 0) && (rtrim(intval((abs($value) - abs(intval($value))) * $adjust),'0') < $adjust/10)) - return $value; - return (intval($value * $adjust)) / $adjust; - } // function TRUNC() + /** + * SUMXMY2 + * + * @param mixed[] $matrixData1 Matrix #1 + * @param mixed[] $matrixData2 Matrix #2 + * @return float + */ + public static function SUMXMY2($matrixData1, $matrixData2) + { + $array1 = PHPExcel_Calculation_Functions::flattenArray($matrixData1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($matrixData2); + $count = min(count($array1), count($array2)); -} // class PHPExcel_Calculation_MathTrig + $result = 0; + for ($i = 0; $i < $count; ++$i) { + if (((is_numeric($array1[$i])) && (!is_string($array1[$i]))) && + ((is_numeric($array2[$i])) && (!is_string($array2[$i])))) { + $result += ($array1[$i] - $array2[$i]) * ($array1[$i] - $array2[$i]); + } + } + + return $result; + } + + + /** + * TRUNC + * + * Truncates value to the number of fractional digits by number_digits. + * + * @param float $value + * @param int $digits + * @return float Truncated value + */ + public static function TRUNC($value = 0, $digits = 0) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $digits = PHPExcel_Calculation_Functions::flattenSingleValue($digits); + + // Validate parameters + if ((!is_numeric($value)) || (!is_numeric($digits))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $digits = floor($digits); + + // Truncate + $adjust = pow(10, $digits); + + if (($digits > 0) && (rtrim(intval((abs($value) - abs(intval($value))) * $adjust), '0') < $adjust/10)) { + return $value; + } + + return (intval($value * $adjust)) / $adjust; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php index 67e1951c2..1a33610fc 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Statistical.php @@ -1,38 +1,12 @@ $value) { - if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { - unset($array1[$key]); - unset($array2[$key]); - } - } - foreach($array2 as $key => $value) { - if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { - unset($array1[$key]); - unset($array2[$key]); - } - } - $array1 = array_merge($array1); - $array2 = array_merge($array2); - - return True; - } // function _checkTrendArrays() - - - /** - * Beta function. - * - * @author Jaco van Kooten - * - * @param p require p>0 - * @param q require q>0 - * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow - */ - private static function _beta($p, $q) { - if ($p <= 0.0 || $q <= 0.0 || ($p + $q) > LOG_GAMMA_X_MAX_VALUE) { - return 0.0; - } else { - return exp(self::_logBeta($p, $q)); - } - } // function _beta() - - - /** - * Incomplete beta function - * - * @author Jaco van Kooten - * @author Paul Meagher - * - * The computation is based on formulas from Numerical Recipes, Chapter 6.4 (W.H. Press et al, 1992). - * @param x require 0<=x<=1 - * @param p require p>0 - * @param q require q>0 - * @return 0 if x<0, p<=0, q<=0 or p+q>2.55E305 and 1 if x>1 to avoid errors and over/underflow - */ - private static function _incompleteBeta($x, $p, $q) { - if ($x <= 0.0) { - return 0.0; - } elseif ($x >= 1.0) { - return 1.0; - } elseif (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { - return 0.0; - } - $beta_gam = exp((0 - self::_logBeta($p, $q)) + $p * log($x) + $q * log(1.0 - $x)); - if ($x < ($p + 1.0) / ($p + $q + 2.0)) { - return $beta_gam * self::_betaFraction($x, $p, $q) / $p; - } else { - return 1.0 - ($beta_gam * self::_betaFraction(1 - $x, $q, $p) / $q); - } - } // function _incompleteBeta() - - - // Function cache for _logBeta function - private static $_logBetaCache_p = 0.0; - private static $_logBetaCache_q = 0.0; - private static $_logBetaCache_result = 0.0; - - /** - * The natural logarithm of the beta function. - * - * @param p require p>0 - * @param q require q>0 - * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow - * @author Jaco van Kooten - */ - private static function _logBeta($p, $q) { - if ($p != self::$_logBetaCache_p || $q != self::$_logBetaCache_q) { - self::$_logBetaCache_p = $p; - self::$_logBetaCache_q = $q; - if (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { - self::$_logBetaCache_result = 0.0; - } else { - self::$_logBetaCache_result = self::_logGamma($p) + self::_logGamma($q) - self::_logGamma($p + $q); - } - } - return self::$_logBetaCache_result; - } // function _logBeta() - - - /** - * Evaluates of continued fraction part of incomplete beta function. - * Based on an idea from Numerical Recipes (W.H. Press et al, 1992). - * @author Jaco van Kooten - */ - private static function _betaFraction($x, $p, $q) { - $c = 1.0; - $sum_pq = $p + $q; - $p_plus = $p + 1.0; - $p_minus = $p - 1.0; - $h = 1.0 - $sum_pq * $x / $p_plus; - if (abs($h) < XMININ) { - $h = XMININ; - } - $h = 1.0 / $h; - $frac = $h; - $m = 1; - $delta = 0.0; - while ($m <= MAX_ITERATIONS && abs($delta-1.0) > PRECISION ) { - $m2 = 2 * $m; - // even index for d - $d = $m * ($q - $m) * $x / ( ($p_minus + $m2) * ($p + $m2)); - $h = 1.0 + $d * $h; - if (abs($h) < XMININ) { - $h = XMININ; - } - $h = 1.0 / $h; - $c = 1.0 + $d / $c; - if (abs($c) < XMININ) { - $c = XMININ; - } - $frac *= $h * $c; - // odd index for d - $d = -($p + $m) * ($sum_pq + $m) * $x / (($p + $m2) * ($p_plus + $m2)); - $h = 1.0 + $d * $h; - if (abs($h) < XMININ) { - $h = XMININ; - } - $h = 1.0 / $h; - $c = 1.0 + $d / $c; - if (abs($c) < XMININ) { - $c = XMININ; - } - $delta = $h * $c; - $frac *= $delta; - ++$m; - } - return $frac; - } // function _betaFraction() - - - /** - * logGamma function - * - * @version 1.1 - * @author Jaco van Kooten - * - * Original author was Jaco van Kooten. Ported to PHP by Paul Meagher. - * - * The natural logarithm of the gamma function.
- * Based on public domain NETLIB (Fortran) code by W. J. Cody and L. Stoltz
- * Applied Mathematics Division
- * Argonne National Laboratory
- * Argonne, IL 60439
- *

- * References: - *

    - *
  1. W. J. Cody and K. E. Hillstrom, 'Chebyshev Approximations for the Natural - * Logarithm of the Gamma Function,' Math. Comp. 21, 1967, pp. 198-203.
  2. - *
  3. K. E. Hillstrom, ANL/AMD Program ANLC366S, DGAMMA/DLGAMA, May, 1969.
  4. - *
  5. Hart, Et. Al., Computer Approximations, Wiley and sons, New York, 1968.
  6. - *
- *

- *

- * From the original documentation: - *

- *

- * This routine calculates the LOG(GAMMA) function for a positive real argument X. - * Computation is based on an algorithm outlined in references 1 and 2. - * The program uses rational functions that theoretically approximate LOG(GAMMA) - * to at least 18 significant decimal digits. The approximation for X > 12 is from - * reference 3, while approximations for X < 12.0 are similar to those in reference - * 1, but are unpublished. The accuracy achieved depends on the arithmetic system, - * the compiler, the intrinsic functions, and proper selection of the - * machine-dependent constants. - *

- *

- * Error returns:
- * The program returns the value XINF for X .LE. 0.0 or when overflow would occur. - * The computation is believed to be free of underflow and overflow. - *

- * @return MAX_VALUE for x < 0.0 or when overflow would occur, i.e. x > 2.55E305 - */ - - // Function cache for logGamma - private static $_logGammaCache_result = 0.0; - private static $_logGammaCache_x = 0.0; - - private static function _logGamma($x) { - // Log Gamma related constants - static $lg_d1 = -0.5772156649015328605195174; - static $lg_d2 = 0.4227843350984671393993777; - static $lg_d4 = 1.791759469228055000094023; - - static $lg_p1 = array( 4.945235359296727046734888, - 201.8112620856775083915565, - 2290.838373831346393026739, - 11319.67205903380828685045, - 28557.24635671635335736389, - 38484.96228443793359990269, - 26377.48787624195437963534, - 7225.813979700288197698961 ); - static $lg_p2 = array( 4.974607845568932035012064, - 542.4138599891070494101986, - 15506.93864978364947665077, - 184793.2904445632425417223, - 1088204.76946882876749847, - 3338152.967987029735917223, - 5106661.678927352456275255, - 3074109.054850539556250927 ); - static $lg_p4 = array( 14745.02166059939948905062, - 2426813.369486704502836312, - 121475557.4045093227939592, - 2663432449.630976949898078, - 29403789566.34553899906876, - 170266573776.5398868392998, - 492612579337.743088758812, - 560625185622.3951465078242 ); - - static $lg_q1 = array( 67.48212550303777196073036, - 1113.332393857199323513008, - 7738.757056935398733233834, - 27639.87074403340708898585, - 54993.10206226157329794414, - 61611.22180066002127833352, - 36351.27591501940507276287, - 8785.536302431013170870835 ); - static $lg_q2 = array( 183.0328399370592604055942, - 7765.049321445005871323047, - 133190.3827966074194402448, - 1136705.821321969608938755, - 5267964.117437946917577538, - 13467014.54311101692290052, - 17827365.30353274213975932, - 9533095.591844353613395747 ); - static $lg_q4 = array( 2690.530175870899333379843, - 639388.5654300092398984238, - 41355999.30241388052042842, - 1120872109.61614794137657, - 14886137286.78813811542398, - 101680358627.2438228077304, - 341747634550.7377132798597, - 446315818741.9713286462081 ); - - static $lg_c = array( -0.001910444077728, - 8.4171387781295e-4, - -5.952379913043012e-4, - 7.93650793500350248e-4, - -0.002777777777777681622553, - 0.08333333333333333331554247, - 0.0057083835261 ); - - // Rough estimate of the fourth root of logGamma_xBig - static $lg_frtbig = 2.25e76; - static $pnt68 = 0.6796875; - - - if ($x == self::$_logGammaCache_x) { - return self::$_logGammaCache_result; - } - $y = $x; - if ($y > 0.0 && $y <= LOG_GAMMA_X_MAX_VALUE) { - if ($y <= EPS) { - $res = -log(y); - } elseif ($y <= 1.5) { - // --------------------- - // EPS .LT. X .LE. 1.5 - // --------------------- - if ($y < $pnt68) { - $corr = -log($y); - $xm1 = $y; - } else { - $corr = 0.0; - $xm1 = $y - 1.0; - } - if ($y <= 0.5 || $y >= $pnt68) { - $xden = 1.0; - $xnum = 0.0; - for ($i = 0; $i < 8; ++$i) { - $xnum = $xnum * $xm1 + $lg_p1[$i]; - $xden = $xden * $xm1 + $lg_q1[$i]; - } - $res = $corr + $xm1 * ($lg_d1 + $xm1 * ($xnum / $xden)); - } else { - $xm2 = $y - 1.0; - $xden = 1.0; - $xnum = 0.0; - for ($i = 0; $i < 8; ++$i) { - $xnum = $xnum * $xm2 + $lg_p2[$i]; - $xden = $xden * $xm2 + $lg_q2[$i]; - } - $res = $corr + $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); - } - } elseif ($y <= 4.0) { - // --------------------- - // 1.5 .LT. X .LE. 4.0 - // --------------------- - $xm2 = $y - 2.0; - $xden = 1.0; - $xnum = 0.0; - for ($i = 0; $i < 8; ++$i) { - $xnum = $xnum * $xm2 + $lg_p2[$i]; - $xden = $xden * $xm2 + $lg_q2[$i]; - } - $res = $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); - } elseif ($y <= 12.0) { - // ---------------------- - // 4.0 .LT. X .LE. 12.0 - // ---------------------- - $xm4 = $y - 4.0; - $xden = -1.0; - $xnum = 0.0; - for ($i = 0; $i < 8; ++$i) { - $xnum = $xnum * $xm4 + $lg_p4[$i]; - $xden = $xden * $xm4 + $lg_q4[$i]; - } - $res = $lg_d4 + $xm4 * ($xnum / $xden); - } else { - // --------------------------------- - // Evaluate for argument .GE. 12.0 - // --------------------------------- - $res = 0.0; - if ($y <= $lg_frtbig) { - $res = $lg_c[6]; - $ysq = $y * $y; - for ($i = 0; $i < 6; ++$i) - $res = $res / $ysq + $lg_c[$i]; - } - $res /= $y; - $corr = log($y); - $res = $res + log(SQRT2PI) - 0.5 * $corr; - $res += $y * ($corr - 1.0); - } - } else { - // -------------------------- - // Return for bad arguments - // -------------------------- - $res = MAX_VALUE; - } - // ------------------------------ - // Final adjustments and return - // ------------------------------ - self::$_logGammaCache_x = $x; - self::$_logGammaCache_result = $res; - return $res; - } // function _logGamma() - - - // - // Private implementation of the incomplete Gamma function - // - private static function _incompleteGamma($a,$x) { - static $max = 32; - $summer = 0; - for ($n=0; $n<=$max; ++$n) { - $divisor = $a; - for ($i=1; $i<=$n; ++$i) { - $divisor *= ($a + $i); - } - $summer += (pow($x,$n) / $divisor); - } - return pow($x,$a) * exp(0-$x) * $summer; - } // function _incompleteGamma() - - - // - // Private implementation of the Gamma function - // - private static function _gamma($data) { - if ($data == 0.0) return 0; - - static $p0 = 1.000000000190015; - static $p = array ( 1 => 76.18009172947146, - 2 => -86.50532032941677, - 3 => 24.01409824083091, - 4 => -1.231739572450155, - 5 => 1.208650973866179e-3, - 6 => -5.395239384953e-6 - ); - - $y = $x = $data; - $tmp = $x + 5.5; - $tmp -= ($x + 0.5) * log($tmp); - - $summer = $p0; - for ($j=1;$j<=6;++$j) { - $summer += ($p[$j] / ++$y); - } - return exp(0 - $tmp + log(SQRT2PI * $summer / $x)); - } // function _gamma() - - - /*************************************************************************** - * inverse_ncdf.php - * ------------------- - * begin : Friday, January 16, 2004 - * copyright : (C) 2004 Michael Nickerson - * email : nickersonm@yahoo.com - * - ***************************************************************************/ - private static function _inverse_ncdf($p) { - // Inverse ncdf approximation by Peter J. Acklam, implementation adapted to - // PHP by Michael Nickerson, using Dr. Thomas Ziegler's C implementation as - // a guide. http://home.online.no/~pjacklam/notes/invnorm/index.html - // I have not checked the accuracy of this implementation. Be aware that PHP - // will truncate the coeficcients to 14 digits. - - // You have permission to use and distribute this function freely for - // whatever purpose you want, but please show common courtesy and give credit - // where credit is due. - - // Input paramater is $p - probability - where 0 < p < 1. - - // Coefficients in rational approximations - static $a = array( 1 => -3.969683028665376e+01, - 2 => 2.209460984245205e+02, - 3 => -2.759285104469687e+02, - 4 => 1.383577518672690e+02, - 5 => -3.066479806614716e+01, - 6 => 2.506628277459239e+00 - ); - - static $b = array( 1 => -5.447609879822406e+01, - 2 => 1.615858368580409e+02, - 3 => -1.556989798598866e+02, - 4 => 6.680131188771972e+01, - 5 => -1.328068155288572e+01 - ); - - static $c = array( 1 => -7.784894002430293e-03, - 2 => -3.223964580411365e-01, - 3 => -2.400758277161838e+00, - 4 => -2.549732539343734e+00, - 5 => 4.374664141464968e+00, - 6 => 2.938163982698783e+00 - ); - - static $d = array( 1 => 7.784695709041462e-03, - 2 => 3.224671290700398e-01, - 3 => 2.445134137142996e+00, - 4 => 3.754408661907416e+00 - ); - - // Define lower and upper region break-points. - $p_low = 0.02425; //Use lower region approx. below this - $p_high = 1 - $p_low; //Use upper region approx. above this - - if (0 < $p && $p < $p_low) { - // Rational approximation for lower region. - $q = sqrt(-2 * log($p)); - return ((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / - (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); - } elseif ($p_low <= $p && $p <= $p_high) { - // Rational approximation for central region. - $q = $p - 0.5; - $r = $q * $q; - return ((((($a[1] * $r + $a[2]) * $r + $a[3]) * $r + $a[4]) * $r + $a[5]) * $r + $a[6]) * $q / - ((((($b[1] * $r + $b[2]) * $r + $b[3]) * $r + $b[4]) * $r + $b[5]) * $r + 1); - } elseif ($p_high < $p && $p < 1) { - // Rational approximation for upper region. - $q = sqrt(-2 * log(1 - $p)); - return -((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / - (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); - } - // If 0 < p < 1, return a null value - return PHPExcel_Calculation_Functions::NULL(); - } // function _inverse_ncdf() - - - private static function _inverse_ncdf2($prob) { - // Approximation of inverse standard normal CDF developed by - // B. Moro, "The Full Monte," Risk 8(2), Feb 1995, 57-58. - - $a1 = 2.50662823884; - $a2 = -18.61500062529; - $a3 = 41.39119773534; - $a4 = -25.44106049637; - - $b1 = -8.4735109309; - $b2 = 23.08336743743; - $b3 = -21.06224101826; - $b4 = 3.13082909833; - - $c1 = 0.337475482272615; - $c2 = 0.976169019091719; - $c3 = 0.160797971491821; - $c4 = 2.76438810333863E-02; - $c5 = 3.8405729373609E-03; - $c6 = 3.951896511919E-04; - $c7 = 3.21767881768E-05; - $c8 = 2.888167364E-07; - $c9 = 3.960315187E-07; - - $y = $prob - 0.5; - if (abs($y) < 0.42) { - $z = ($y * $y); - $z = $y * ((($a4 * $z + $a3) * $z + $a2) * $z + $a1) / (((($b4 * $z + $b3) * $z + $b2) * $z + $b1) * $z + 1); - } else { - if ($y > 0) { - $z = log(-log(1 - $prob)); - } else { - $z = log(-log($prob)); - } - $z = $c1 + $z * ($c2 + $z * ($c3 + $z * ($c4 + $z * ($c5 + $z * ($c6 + $z * ($c7 + $z * ($c8 + $z * $c9))))))); - if ($y < 0) { - $z = -$z; - } - } - return $z; - } // function _inverse_ncdf2() - - - private static function _inverse_ncdf3($p) { - // ALGORITHM AS241 APPL. STATIST. (1988) VOL. 37, NO. 3. - // Produces the normal deviate Z corresponding to a given lower - // tail area of P; Z is accurate to about 1 part in 10**16. - // - // This is a PHP version of the original FORTRAN code that can - // be found at http://lib.stat.cmu.edu/apstat/ - $split1 = 0.425; - $split2 = 5; - $const1 = 0.180625; - $const2 = 1.6; - - // coefficients for p close to 0.5 - $a0 = 3.3871328727963666080; - $a1 = 1.3314166789178437745E+2; - $a2 = 1.9715909503065514427E+3; - $a3 = 1.3731693765509461125E+4; - $a4 = 4.5921953931549871457E+4; - $a5 = 6.7265770927008700853E+4; - $a6 = 3.3430575583588128105E+4; - $a7 = 2.5090809287301226727E+3; - - $b1 = 4.2313330701600911252E+1; - $b2 = 6.8718700749205790830E+2; - $b3 = 5.3941960214247511077E+3; - $b4 = 2.1213794301586595867E+4; - $b5 = 3.9307895800092710610E+4; - $b6 = 2.8729085735721942674E+4; - $b7 = 5.2264952788528545610E+3; - - // coefficients for p not close to 0, 0.5 or 1. - $c0 = 1.42343711074968357734; - $c1 = 4.63033784615654529590; - $c2 = 5.76949722146069140550; - $c3 = 3.64784832476320460504; - $c4 = 1.27045825245236838258; - $c5 = 2.41780725177450611770E-1; - $c6 = 2.27238449892691845833E-2; - $c7 = 7.74545014278341407640E-4; - - $d1 = 2.05319162663775882187; - $d2 = 1.67638483018380384940; - $d3 = 6.89767334985100004550E-1; - $d4 = 1.48103976427480074590E-1; - $d5 = 1.51986665636164571966E-2; - $d6 = 5.47593808499534494600E-4; - $d7 = 1.05075007164441684324E-9; - - // coefficients for p near 0 or 1. - $e0 = 6.65790464350110377720; - $e1 = 5.46378491116411436990; - $e2 = 1.78482653991729133580; - $e3 = 2.96560571828504891230E-1; - $e4 = 2.65321895265761230930E-2; - $e5 = 1.24266094738807843860E-3; - $e6 = 2.71155556874348757815E-5; - $e7 = 2.01033439929228813265E-7; - - $f1 = 5.99832206555887937690E-1; - $f2 = 1.36929880922735805310E-1; - $f3 = 1.48753612908506148525E-2; - $f4 = 7.86869131145613259100E-4; - $f5 = 1.84631831751005468180E-5; - $f6 = 1.42151175831644588870E-7; - $f7 = 2.04426310338993978564E-15; - - $q = $p - 0.5; - - // computation for p close to 0.5 - if (abs($q) <= split1) { - $R = $const1 - $q * $q; - $z = $q * ((((((($a7 * $R + $a6) * $R + $a5) * $R + $a4) * $R + $a3) * $R + $a2) * $R + $a1) * $R + $a0) / - ((((((($b7 * $R + $b6) * $R + $b5) * $R + $b4) * $R + $b3) * $R + $b2) * $R + $b1) * $R + 1); - } else { - if ($q < 0) { - $R = $p; - } else { - $R = 1 - $p; - } - $R = pow(-log($R),2); - - // computation for p not close to 0, 0.5 or 1. - If ($R <= $split2) { - $R = $R - $const2; - $z = ((((((($c7 * $R + $c6) * $R + $c5) * $R + $c4) * $R + $c3) * $R + $c2) * $R + $c1) * $R + $c0) / - ((((((($d7 * $R + $d6) * $R + $d5) * $R + $d4) * $R + $d3) * $R + $d2) * $R + $d1) * $R + 1); - } else { - // computation for p near 0 or 1. - $R = $R - $split2; - $z = ((((((($e7 * $R + $e6) * $R + $e5) * $R + $e4) * $R + $e3) * $R + $e2) * $R + $e1) * $R + $e0) / - ((((((($f7 * $R + $f6) * $R + $f5) * $R + $f4) * $R + $f3) * $R + $f2) * $R + $f1) * $R + 1); - } - if ($q < 0) { - $z = -$z; - } - } - return $z; - } // function _inverse_ncdf3() - - - /** - * AVEDEV - * - * Returns the average of the absolute deviations of data points from their mean. - * AVEDEV is a measure of the variability in a data set. - * - * Excel Function: - * AVEDEV(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function AVEDEV() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGE($aArgs); - if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { - $aCount = 0; - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = abs($arg - $aMean); - } else { - $returnValue += abs($arg - $aMean); - } - ++$aCount; - } - } - - // Return - if ($aCount == 0) { - return PHPExcel_Calculation_Functions::DIV0(); - } - return $returnValue / $aCount; - } - return PHPExcel_Calculation_Functions::NaN(); - } // function AVEDEV() - - - /** - * AVERAGE - * - * Returns the average (arithmetic mean) of the arguments - * - * Excel Function: - * AVERAGE(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function AVERAGE() { - $returnValue = $aCount = 0; - - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = $arg; - } else { - $returnValue += $arg; - } - ++$aCount; - } - } - - // Return - if ($aCount > 0) { - return $returnValue / $aCount; - } else { - return PHPExcel_Calculation_Functions::DIV0(); - } - } // function AVERAGE() - - - /** - * AVERAGEA - * - * Returns the average of its arguments, including numbers, text, and logical values - * - * Excel Function: - * AVERAGEA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function AVERAGEA() { - // Return value - $returnValue = null; - - $aCount = 0; - // Loop through arguments - foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { - if ((is_bool($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - if (is_null($returnValue)) { - $returnValue = $arg; - } else { - $returnValue += $arg; - } - ++$aCount; - } - } - } - - // Return - if ($aCount > 0) { - return $returnValue / $aCount; - } else { - return PHPExcel_Calculation_Functions::DIV0(); - } - } // function AVERAGEA() - - - /** - * AVERAGEIF - * - * Returns the average value from a range of cells that contain numbers within the list of arguments - * - * Excel Function: - * AVERAGEIF(value1[,value2[, ...]],condition) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @param string $condition The criteria that defines which cells will be checked. - * @param mixed[] $averageArgs Data values - * @return float - */ - public static function AVERAGEIF($aArgs,$condition,$averageArgs = array()) { - // Return value - $returnValue = 0; - - $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); - $averageArgs = PHPExcel_Calculation_Functions::flattenArray($averageArgs); - if (empty($averageArgs)) { - $averageArgs = $aArgs; - } - $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); - // Loop through arguments - $aCount = 0; - foreach ($aArgs as $key => $arg) { - if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } - $testCondition = '='.$arg.$condition; - if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { - if ((is_null($returnValue)) || ($arg > $returnValue)) { - $returnValue += $arg; - ++$aCount; - } - } - } - - // Return - if ($aCount > 0) { - return $returnValue / $aCount; - } else { - return PHPExcel_Calculation_Functions::DIV0(); - } - } // function AVERAGEIF() - - - /** - * BETADIST - * - * Returns the beta distribution. - * - * @param float $value Value at which you want to evaluate the distribution - * @param float $alpha Parameter to the distribution - * @param float $beta Parameter to the distribution - * @param boolean $cumulative - * @return float - * - */ - public static function BETADIST($value,$alpha,$beta,$rMin=0,$rMax=1) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); - $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); - $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); - - if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { - if (($value < $rMin) || ($value > $rMax) || ($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($rMin > $rMax) { - $tmp = $rMin; - $rMin = $rMax; - $rMax = $tmp; - } - $value -= $rMin; - $value /= ($rMax - $rMin); - return self::_incompleteBeta($value,$alpha,$beta); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BETADIST() - - - /** - * BETAINV - * - * Returns the inverse of the beta distribution. - * - * @param float $probability Probability at which you want to evaluate the distribution - * @param float $alpha Parameter to the distribution - * @param float $beta Parameter to the distribution - * @param float $rMin Minimum value - * @param float $rMax Maximum value - * @param boolean $cumulative - * @return float - * - */ - public static function BETAINV($probability,$alpha,$beta,$rMin=0,$rMax=1) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); - $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); - $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); - - if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { - if (($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax) || ($probability <= 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($rMin > $rMax) { - $tmp = $rMin; - $rMin = $rMax; - $rMax = $tmp; - } - $a = 0; - $b = 2; - - $i = 0; - while ((($b - $a) > PRECISION) && ($i++ < MAX_ITERATIONS)) { - $guess = ($a + $b) / 2; - $result = self::BETADIST($guess, $alpha, $beta); - if (($result == $probability) || ($result == 0)) { - $b = $a; - } elseif ($result > $probability) { - $b = $guess; - } else { - $a = $guess; - } - } - if ($i == MAX_ITERATIONS) { - return PHPExcel_Calculation_Functions::NA(); - } - return round($rMin + $guess * ($rMax - $rMin),12); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BETAINV() - - - /** - * BINOMDIST - * - * Returns the individual term binomial distribution probability. Use BINOMDIST in problems with - * a fixed number of tests or trials, when the outcomes of any trial are only success or failure, - * when trials are independent, and when the probability of success is constant throughout the - * experiment. For example, BINOMDIST can calculate the probability that two of the next three - * babies born are male. - * - * @param float $value Number of successes in trials - * @param float $trials Number of trials - * @param float $probability Probability of success on each trial - * @param boolean $cumulative - * @return float - * - * @todo Cumulative distribution function - * - */ - public static function BINOMDIST($value, $trials, $probability, $cumulative) { - $value = floor(PHPExcel_Calculation_Functions::flattenSingleValue($value)); - $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - - if ((is_numeric($value)) && (is_numeric($trials)) && (is_numeric($probability))) { - if (($value < 0) || ($value > $trials)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($probability < 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - $summer = 0; - for ($i = 0; $i <= $value; ++$i) { - $summer += PHPExcel_Calculation_MathTrig::COMBIN($trials,$i) * pow($probability,$i) * pow(1 - $probability,$trials - $i); - } - return $summer; - } else { - return PHPExcel_Calculation_MathTrig::COMBIN($trials,$value) * pow($probability,$value) * pow(1 - $probability,$trials - $value) ; - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function BINOMDIST() - - - /** - * CHIDIST - * - * Returns the one-tailed probability of the chi-squared distribution. - * - * @param float $value Value for the function - * @param float $degrees degrees of freedom - * @return float - */ - public static function CHIDIST($value, $degrees) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); - - if ((is_numeric($value)) && (is_numeric($degrees))) { - if ($degrees < 1) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($value < 0) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - return 1; - } - return PHPExcel_Calculation_Functions::NaN(); - } - return 1 - (self::_incompleteGamma($degrees/2,$value/2) / self::_gamma($degrees/2)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function CHIDIST() - - - /** - * CHIINV - * - * Returns the one-tailed probability of the chi-squared distribution. - * - * @param float $probability Probability for the function - * @param float $degrees degrees of freedom - * @return float - */ - public static function CHIINV($probability, $degrees) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); - - if ((is_numeric($probability)) && (is_numeric($degrees))) { - - $xLo = 100; - $xHi = 0; - - $x = $xNew = 1; - $dx = 1; - $i = 0; - - while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { - // Apply Newton-Raphson step - $result = self::CHIDIST($x, $degrees); - $error = $result - $probability; - if ($error == 0.0) { - $dx = 0; - } elseif ($error < 0.0) { - $xLo = $x; - } else { - $xHi = $x; - } - // Avoid division by zero - if ($result != 0.0) { - $dx = $error / $result; - $xNew = $x - $dx; - } - // If the NR fails to converge (which for example may be the - // case if the initial guess is too rough) we apply a bisection - // step to determine a more narrow interval around the root. - if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { - $xNew = ($xLo + $xHi) / 2; - $dx = $xNew - $x; - } - $x = $xNew; - } - if ($i == MAX_ITERATIONS) { - return PHPExcel_Calculation_Functions::NA(); - } - return round($x,12); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function CHIINV() - - - /** - * CONFIDENCE - * - * Returns the confidence interval for a population mean - * - * @param float $alpha - * @param float $stdDev Standard Deviation - * @param float $size - * @return float - * - */ - public static function CONFIDENCE($alpha,$stdDev,$size) { - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - $size = floor(PHPExcel_Calculation_Functions::flattenSingleValue($size)); - - if ((is_numeric($alpha)) && (is_numeric($stdDev)) && (is_numeric($size))) { - if (($alpha <= 0) || ($alpha >= 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($stdDev <= 0) || ($size < 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return self::NORMSINV(1 - $alpha / 2) * $stdDev / sqrt($size); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function CONFIDENCE() - - - /** - * CORREL - * - * Returns covariance, the average of the products of deviations for each data point pair. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function CORREL($yValues,$xValues=null) { - if ((is_null($xValues)) || (!is_array($yValues)) || (!is_array($xValues))) { - return PHPExcel_Calculation_Functions::VALUE(); - } - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getCorrelation(); - } // function CORREL() - - - /** - * COUNT - * - * Counts the number of cells that contain numbers within the list of arguments - * - * Excel Function: - * COUNT(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return int - */ - public static function COUNT() { - // Return value - $returnValue = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - ++$returnValue; - } - } - - // Return - return $returnValue; - } // function COUNT() - - - /** - * COUNTA - * - * Counts the number of cells that are not empty within the list of arguments - * - * Excel Function: - * COUNTA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return int - */ - public static function COUNTA() { - // Return value - $returnValue = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric, boolean or string value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { - ++$returnValue; - } - } - - // Return - return $returnValue; - } // function COUNTA() - - - /** - * COUNTBLANK - * - * Counts the number of empty cells within the list of arguments - * - * Excel Function: - * COUNTBLANK(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return int - */ - public static function COUNTBLANK() { - // Return value - $returnValue = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a blank cell? - if ((is_null($arg)) || ((is_string($arg)) && ($arg == ''))) { - ++$returnValue; - } - } - - // Return - return $returnValue; - } // function COUNTBLANK() - - - /** - * COUNTIF - * - * Counts the number of cells that contain numbers within the list of arguments - * - * Excel Function: - * COUNTIF(value1[,value2[, ...]],condition) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param string $condition The criteria that defines which cells will be counted. - * @return int - */ - public static function COUNTIF($aArgs,$condition) { - // Return value - $returnValue = 0; - - $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); - $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); - // Loop through arguments - foreach ($aArgs as $arg) { - if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } - $testCondition = '='.$arg.$condition; - if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { - // Is it a value within our criteria - ++$returnValue; - } - } - - // Return - return $returnValue; - } // function COUNTIF() - - - /** - * COVAR - * - * Returns covariance, the average of the products of deviations for each data point pair. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function COVAR($yValues,$xValues) { - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getCovariance(); - } // function COVAR() - - - /** - * CRITBINOM - * - * Returns the smallest value for which the cumulative binomial distribution is greater - * than or equal to a criterion value - * - * See http://support.microsoft.com/kb/828117/ for details of the algorithm used - * - * @param float $trials number of Bernoulli trials - * @param float $probability probability of a success on each trial - * @param float $alpha criterion value - * @return int - * - * @todo Warning. This implementation differs from the algorithm detailed on the MS - * web site in that $CumPGuessMinus1 = $CumPGuess - 1 rather than $CumPGuess - $PGuess - * This eliminates a potential endless loop error, but may have an adverse affect on the - * accuracy of the function (although all my tests have so far returned correct results). - * - */ - public static function CRITBINOM($trials, $probability, $alpha) { - $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - - if ((is_numeric($trials)) && (is_numeric($probability)) && (is_numeric($alpha))) { - if ($trials < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($probability < 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($alpha < 0) || ($alpha > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($alpha <= 0.5) { - $t = sqrt(log(1 / ($alpha * $alpha))); - $trialsApprox = 0 - ($t + (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t)); - } else { - $t = sqrt(log(1 / pow(1 - $alpha,2))); - $trialsApprox = $t - (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t); - } - $Guess = floor($trials * $probability + $trialsApprox * sqrt($trials * $probability * (1 - $probability))); - if ($Guess < 0) { - $Guess = 0; - } elseif ($Guess > $trials) { - $Guess = $trials; - } - - $TotalUnscaledProbability = $UnscaledPGuess = $UnscaledCumPGuess = 0.0; - $EssentiallyZero = 10e-12; - - $m = floor($trials * $probability); - ++$TotalUnscaledProbability; - if ($m == $Guess) { ++$UnscaledPGuess; } - if ($m <= $Guess) { ++$UnscaledCumPGuess; } - - $PreviousValue = 1; - $Done = False; - $k = $m + 1; - while ((!$Done) && ($k <= $trials)) { - $CurrentValue = $PreviousValue * ($trials - $k + 1) * $probability / ($k * (1 - $probability)); - $TotalUnscaledProbability += $CurrentValue; - if ($k == $Guess) { $UnscaledPGuess += $CurrentValue; } - if ($k <= $Guess) { $UnscaledCumPGuess += $CurrentValue; } - if ($CurrentValue <= $EssentiallyZero) { $Done = True; } - $PreviousValue = $CurrentValue; - ++$k; - } - - $PreviousValue = 1; - $Done = False; - $k = $m - 1; - while ((!$Done) && ($k >= 0)) { - $CurrentValue = $PreviousValue * $k + 1 * (1 - $probability) / (($trials - $k) * $probability); - $TotalUnscaledProbability += $CurrentValue; - if ($k == $Guess) { $UnscaledPGuess += $CurrentValue; } - if ($k <= $Guess) { $UnscaledCumPGuess += $CurrentValue; } - if ($CurrentValue <= $EssentiallyZero) { $Done = True; } - $PreviousValue = $CurrentValue; - --$k; - } - - $PGuess = $UnscaledPGuess / $TotalUnscaledProbability; - $CumPGuess = $UnscaledCumPGuess / $TotalUnscaledProbability; - -// $CumPGuessMinus1 = $CumPGuess - $PGuess; - $CumPGuessMinus1 = $CumPGuess - 1; - - while (True) { - if (($CumPGuessMinus1 < $alpha) && ($CumPGuess >= $alpha)) { - return $Guess; - } elseif (($CumPGuessMinus1 < $alpha) && ($CumPGuess < $alpha)) { - $PGuessPlus1 = $PGuess * ($trials - $Guess) * $probability / $Guess / (1 - $probability); - $CumPGuessMinus1 = $CumPGuess; - $CumPGuess = $CumPGuess + $PGuessPlus1; - $PGuess = $PGuessPlus1; - ++$Guess; - } elseif (($CumPGuessMinus1 >= $alpha) && ($CumPGuess >= $alpha)) { - $PGuessMinus1 = $PGuess * $Guess * (1 - $probability) / ($trials - $Guess + 1) / $probability; - $CumPGuess = $CumPGuessMinus1; - $CumPGuessMinus1 = $CumPGuessMinus1 - $PGuess; - $PGuess = $PGuessMinus1; - --$Guess; - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function CRITBINOM() - - - /** - * DEVSQ - * - * Returns the sum of squares of deviations of data points from their sample mean. - * - * Excel Function: - * DEVSQ(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function DEVSQ() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGE($aArgs); - if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { - $aCount = -1; - foreach ($aArgs as $k => $arg) { - // Is it a numeric value? - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = pow(($arg - $aMean),2); - } else { - $returnValue += pow(($arg - $aMean),2); - } - ++$aCount; - } - } - - // Return - if (is_null($returnValue)) { - return PHPExcel_Calculation_Functions::NaN(); - } else { - return $returnValue; - } - } - return self::NA(); - } // function DEVSQ() - - - /** - * EXPONDIST - * - * Returns the exponential distribution. Use EXPONDIST to model the time between events, - * such as how long an automated bank teller takes to deliver cash. For example, you can - * use EXPONDIST to determine the probability that the process takes at most 1 minute. - * - * @param float $value Value of the function - * @param float $lambda The parameter value - * @param boolean $cumulative - * @return float - */ - public static function EXPONDIST($value, $lambda, $cumulative) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $lambda = PHPExcel_Calculation_Functions::flattenSingleValue($lambda); - $cumulative = PHPExcel_Calculation_Functions::flattenSingleValue($cumulative); - - if ((is_numeric($value)) && (is_numeric($lambda))) { - if (($value < 0) || ($lambda < 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - return 1 - exp(0-$value*$lambda); - } else { - return $lambda * exp(0-$value*$lambda); - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function EXPONDIST() - - - /** - * FISHER - * - * Returns the Fisher transformation at x. This transformation produces a function that - * is normally distributed rather than skewed. Use this function to perform hypothesis - * testing on the correlation coefficient. - * - * @param float $value - * @return float - */ - public static function FISHER($value) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - if (is_numeric($value)) { - if (($value <= -1) || ($value >= 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return 0.5 * log((1+$value)/(1-$value)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function FISHER() - - - /** - * FISHERINV - * - * Returns the inverse of the Fisher transformation. Use this transformation when - * analyzing correlations between ranges or arrays of data. If y = FISHER(x), then - * FISHERINV(y) = x. - * - * @param float $value - * @return float - */ - public static function FISHERINV($value) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - if (is_numeric($value)) { - return (exp(2 * $value) - 1) / (exp(2 * $value) + 1); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function FISHERINV() - - - /** - * FORECAST - * - * Calculates, or predicts, a future value by using existing values. The predicted value is a y-value for a given x-value. - * - * @param float Value of X for which we want to find Y - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function FORECAST($xValue,$yValues,$xValues) { - $xValue = PHPExcel_Calculation_Functions::flattenSingleValue($xValue); - if (!is_numeric($xValue)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getValueOfYForX($xValue); - } // function FORECAST() - - - /** - * GAMMADIST - * - * Returns the gamma distribution. - * - * @param float $value Value at which you want to evaluate the distribution - * @param float $a Parameter to the distribution - * @param float $b Parameter to the distribution - * @param boolean $cumulative - * @return float - * - */ - public static function GAMMADIST($value,$a,$b,$cumulative) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); - $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); - - if ((is_numeric($value)) && (is_numeric($a)) && (is_numeric($b))) { - if (($value < 0) || ($a <= 0) || ($b <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - return self::_incompleteGamma($a,$value / $b) / self::_gamma($a); - } else { - return (1 / (pow($b,$a) * self::_gamma($a))) * pow($value,$a-1) * exp(0-($value / $b)); - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function GAMMADIST() - - - /** - * GAMMAINV - * - * Returns the inverse of the beta distribution. - * - * @param float $probability Probability at which you want to evaluate the distribution - * @param float $alpha Parameter to the distribution - * @param float $beta Parameter to the distribution - * @return float - * - */ - public static function GAMMAINV($probability,$alpha,$beta) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); - - if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta))) { - if (($alpha <= 0) || ($beta <= 0) || ($probability < 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $xLo = 0; - $xHi = $alpha * $beta * 5; - - $x = $xNew = 1; - $error = $pdf = 0; - $dx = 1024; - $i = 0; - - while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { - // Apply Newton-Raphson step - $error = self::GAMMADIST($x, $alpha, $beta, True) - $probability; - if ($error < 0.0) { - $xLo = $x; - } else { - $xHi = $x; - } - $pdf = self::GAMMADIST($x, $alpha, $beta, False); - // Avoid division by zero - if ($pdf != 0.0) { - $dx = $error / $pdf; - $xNew = $x - $dx; - } - // If the NR fails to converge (which for example may be the - // case if the initial guess is too rough) we apply a bisection - // step to determine a more narrow interval around the root. - if (($xNew < $xLo) || ($xNew > $xHi) || ($pdf == 0.0)) { - $xNew = ($xLo + $xHi) / 2; - $dx = $xNew - $x; - } - $x = $xNew; - } - if ($i == MAX_ITERATIONS) { - return PHPExcel_Calculation_Functions::NA(); - } - return $x; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function GAMMAINV() - - - /** - * GAMMALN - * - * Returns the natural logarithm of the gamma function. - * - * @param float $value - * @return float - */ - public static function GAMMALN($value) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - if (is_numeric($value)) { - if ($value <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return log(self::_gamma($value)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function GAMMALN() - - - /** - * GEOMEAN - * - * Returns the geometric mean of an array or range of positive data. For example, you - * can use GEOMEAN to calculate average growth rate given compound interest with - * variable rates. - * - * Excel Function: - * GEOMEAN(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function GEOMEAN() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - $aMean = PHPExcel_Calculation_MathTrig::PRODUCT($aArgs); - if (is_numeric($aMean) && ($aMean > 0)) { - $aCount = self::COUNT($aArgs) ; - if (self::MIN($aArgs) > 0) { - return pow($aMean, (1 / $aCount)); - } - } - return PHPExcel_Calculation_Functions::NaN(); - } // GEOMEAN() - - - /** - * GROWTH - * - * Returns values along a predicted emponential trend - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @param array of mixed Values of X for which we want to find Y - * @param boolean A logical value specifying whether to force the intersect to equal 0. - * @return array of float - */ - public static function GROWTH($yValues,$xValues=array(),$newValues=array(),$const=True) { - $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); - $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); - $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); - $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); - - $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL,$yValues,$xValues,$const); - if (empty($newValues)) { - $newValues = $bestFitExponential->getXValues(); - } - - $returnArray = array(); - foreach($newValues as $xValue) { - $returnArray[0][] = $bestFitExponential->getValueOfYForX($xValue); - } - - return $returnArray; - } // function GROWTH() - - - /** - * HARMEAN - * - * Returns the harmonic mean of a data set. The harmonic mean is the reciprocal of the - * arithmetic mean of reciprocals. - * - * Excel Function: - * HARMEAN(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function HARMEAN() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::NA(); - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - if (self::MIN($aArgs) < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - $aCount = 0; - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if ($arg <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (is_null($returnValue)) { - $returnValue = (1 / $arg); - } else { - $returnValue += (1 / $arg); - } - ++$aCount; - } - } - - // Return - if ($aCount > 0) { - return 1 / ($returnValue / $aCount); - } else { - return $returnValue; - } - } // function HARMEAN() - - - /** - * HYPGEOMDIST - * - * Returns the hypergeometric distribution. HYPGEOMDIST returns the probability of a given number of - * sample successes, given the sample size, population successes, and population size. - * - * @param float $sampleSuccesses Number of successes in the sample - * @param float $sampleNumber Size of the sample - * @param float $populationSuccesses Number of successes in the population - * @param float $populationNumber Population size - * @return float - * - */ - public static function HYPGEOMDIST($sampleSuccesses, $sampleNumber, $populationSuccesses, $populationNumber) { - $sampleSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleSuccesses)); - $sampleNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleNumber)); - $populationSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationSuccesses)); - $populationNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationNumber)); - - if ((is_numeric($sampleSuccesses)) && (is_numeric($sampleNumber)) && (is_numeric($populationSuccesses)) && (is_numeric($populationNumber))) { - if (($sampleSuccesses < 0) || ($sampleSuccesses > $sampleNumber) || ($sampleSuccesses > $populationSuccesses)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($sampleNumber <= 0) || ($sampleNumber > $populationNumber)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($populationSuccesses <= 0) || ($populationSuccesses > $populationNumber)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return PHPExcel_Calculation_MathTrig::COMBIN($populationSuccesses,$sampleSuccesses) * - PHPExcel_Calculation_MathTrig::COMBIN($populationNumber - $populationSuccesses,$sampleNumber - $sampleSuccesses) / - PHPExcel_Calculation_MathTrig::COMBIN($populationNumber,$sampleNumber); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function HYPGEOMDIST() - - - /** - * INTERCEPT - * - * Calculates the point at which a line will intersect the y-axis by using existing x-values and y-values. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function INTERCEPT($yValues,$xValues) { - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getIntersect(); - } // function INTERCEPT() - - - /** - * KURT - * - * Returns the kurtosis of a data set. Kurtosis characterizes the relative peakedness - * or flatness of a distribution compared with the normal distribution. Positive - * kurtosis indicates a relatively peaked distribution. Negative kurtosis indicates a - * relatively flat distribution. - * - * @param array Data Series - * @return float - */ - public static function KURT() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - $mean = self::AVERAGE($aArgs); - $stdDev = self::STDEV($aArgs); - - if ($stdDev > 0) { - $count = $summer = 0; - // Loop through arguments - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $summer += pow((($arg - $mean) / $stdDev),4) ; - ++$count; - } - } - } - - // Return - if ($count > 3) { - return $summer * ($count * ($count+1) / (($count-1) * ($count-2) * ($count-3))) - (3 * pow($count-1,2) / (($count-2) * ($count-3))); - } - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function KURT() - - - /** - * LARGE - * - * Returns the nth largest value in a data set. You can use this function to - * select a value based on its relative standing. - * - * Excel Function: - * LARGE(value1[,value2[, ...]],entry) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param int $entry Position (ordered from the largest) in the array or range of data to return - * @return float - * - */ - public static function LARGE() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $entry = floor(array_pop($aArgs)); - - if ((is_numeric($entry)) && (!is_string($entry))) { - $mArgs = array(); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - $count = self::COUNT($mArgs); - $entry = floor(--$entry); - if (($entry < 0) || ($entry >= $count) || ($count == 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - rsort($mArgs); - return $mArgs[$entry]; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function LARGE() - - - /** - * LINEST - * - * Calculates the statistics for a line by using the "least squares" method to calculate a straight line that best fits your data, - * and then returns an array that describes the line. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @param boolean A logical value specifying whether to force the intersect to equal 0. - * @param boolean A logical value specifying whether to return additional regression statistics. - * @return array - */ - public static function LINEST($yValues, $xValues = NULL, $const = TRUE, $stats = FALSE) { - $const = (is_null($const)) ? TRUE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); - $stats = (is_null($stats)) ? FALSE : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); - if (is_null($xValues)) $xValues = range(1,count(PHPExcel_Calculation_Functions::flattenArray($yValues))); - - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return 0; - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues,$const); - if ($stats) { - return array( array( $bestFitLinear->getSlope(), - $bestFitLinear->getSlopeSE(), - $bestFitLinear->getGoodnessOfFit(), - $bestFitLinear->getF(), - $bestFitLinear->getSSRegression(), - ), - array( $bestFitLinear->getIntersect(), - $bestFitLinear->getIntersectSE(), - $bestFitLinear->getStdevOfResiduals(), - $bestFitLinear->getDFResiduals(), - $bestFitLinear->getSSResiduals() - ) - ); - } else { - return array( $bestFitLinear->getSlope(), - $bestFitLinear->getIntersect() - ); - } - } // function LINEST() - - - /** - * LOGEST - * - * Calculates an exponential curve that best fits the X and Y data series, - * and then returns an array that describes the line. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @param boolean A logical value specifying whether to force the intersect to equal 0. - * @param boolean A logical value specifying whether to return additional regression statistics. - * @return array - */ - public static function LOGEST($yValues,$xValues=null,$const=True,$stats=False) { - $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); - $stats = (is_null($stats)) ? False : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); - if (is_null($xValues)) $xValues = range(1,count(PHPExcel_Calculation_Functions::flattenArray($yValues))); - - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - foreach($yValues as $value) { - if ($value <= 0.0) { - return PHPExcel_Calculation_Functions::NaN(); - } - } - - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return 1; - } - - $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL,$yValues,$xValues,$const); - if ($stats) { - return array( array( $bestFitExponential->getSlope(), - $bestFitExponential->getSlopeSE(), - $bestFitExponential->getGoodnessOfFit(), - $bestFitExponential->getF(), - $bestFitExponential->getSSRegression(), - ), - array( $bestFitExponential->getIntersect(), - $bestFitExponential->getIntersectSE(), - $bestFitExponential->getStdevOfResiduals(), - $bestFitExponential->getDFResiduals(), - $bestFitExponential->getSSResiduals() - ) - ); - } else { - return array( $bestFitExponential->getSlope(), - $bestFitExponential->getIntersect() - ); - } - } // function LOGEST() - - - /** - * LOGINV - * - * Returns the inverse of the normal cumulative distribution - * - * @param float $probability - * @param float $mean - * @param float $stdDev - * @return float - * - * @todo Try implementing P J Acklam's refinement algorithm for greater - * accuracy if I can get my head round the mathematics - * (as described at) http://home.online.no/~pjacklam/notes/invnorm/ - */ - public static function LOGINV($probability, $mean, $stdDev) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - - if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { - if (($probability < 0) || ($probability > 1) || ($stdDev <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return exp($mean + $stdDev * self::NORMSINV($probability)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function LOGINV() - - - /** - * LOGNORMDIST - * - * Returns the cumulative lognormal distribution of x, where ln(x) is normally distributed - * with parameters mean and standard_dev. - * - * @param float $value - * @param float $mean - * @param float $stdDev - * @return float - */ - public static function LOGNORMDIST($value, $mean, $stdDev) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - - if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { - if (($value <= 0) || ($stdDev <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return self::NORMSDIST((log($value) - $mean) / $stdDev); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function LOGNORMDIST() - - - /** - * MAX - * - * MAX returns the value of the element of the values passed that has the highest value, - * with negative numbers considered smaller than positive numbers. - * - * Excel Function: - * MAX(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MAX() { - // Return value - $returnValue = null; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if ((is_null($returnValue)) || ($arg > $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - if(is_null($returnValue)) { - return 0; - } - return $returnValue; - } // function MAX() - - - /** - * MAXA - * - * Returns the greatest value in a list of arguments, including numbers, text, and logical values - * - * Excel Function: - * MAXA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MAXA() { - // Return value - $returnValue = null; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - if ((is_null($returnValue)) || ($arg > $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - if(is_null($returnValue)) { - return 0; - } - return $returnValue; - } // function MAXA() - - - /** - * MAXIF - * - * Counts the maximum value within a range of cells that contain numbers within the list of arguments - * - * Excel Function: - * MAXIF(value1[,value2[, ...]],condition) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @param string $condition The criteria that defines which cells will be checked. - * @return float - */ - public static function MAXIF($aArgs,$condition,$sumArgs = array()) { - // Return value - $returnValue = null; - - $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); - $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); - if (empty($sumArgs)) { - $sumArgs = $aArgs; - } - $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); - // Loop through arguments - foreach ($aArgs as $key => $arg) { - if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } - $testCondition = '='.$arg.$condition; - if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { - if ((is_null($returnValue)) || ($arg > $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - return $returnValue; - } // function MAXIF() - - - /** - * MEDIAN - * - * Returns the median of the given numbers. The median is the number in the middle of a set of numbers. - * - * Excel Function: - * MEDIAN(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MEDIAN() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::NaN(); - - $mArgs = array(); - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - - $mValueCount = count($mArgs); - if ($mValueCount > 0) { - sort($mArgs,SORT_NUMERIC); - $mValueCount = $mValueCount / 2; - if ($mValueCount == floor($mValueCount)) { - $returnValue = ($mArgs[$mValueCount--] + $mArgs[$mValueCount]) / 2; - } else { - $mValueCount == floor($mValueCount); - $returnValue = $mArgs[$mValueCount]; - } - } - - // Return - return $returnValue; - } // function MEDIAN() - - - /** - * MIN - * - * MIN returns the value of the element of the values passed that has the smallest value, - * with negative numbers considered smaller than positive numbers. - * - * Excel Function: - * MIN(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MIN() { - // Return value - $returnValue = null; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if ((is_null($returnValue)) || ($arg < $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - if(is_null($returnValue)) { - return 0; - } - return $returnValue; - } // function MIN() - - - /** - * MINA - * - * Returns the smallest value in a list of arguments, including numbers, text, and logical values - * - * Excel Function: - * MINA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MINA() { - // Return value - $returnValue = null; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - if ((is_null($returnValue)) || ($arg < $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - if(is_null($returnValue)) { - return 0; - } - return $returnValue; - } // function MINA() - - - /** - * MINIF - * - * Returns the minimum value within a range of cells that contain numbers within the list of arguments - * - * Excel Function: - * MINIF(value1[,value2[, ...]],condition) - * - * @access public - * @category Mathematical and Trigonometric Functions - * @param mixed $arg,... Data values - * @param string $condition The criteria that defines which cells will be checked. - * @return float - */ - public static function MINIF($aArgs,$condition,$sumArgs = array()) { - // Return value - $returnValue = null; - - $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); - $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); - if (empty($sumArgs)) { - $sumArgs = $aArgs; - } - $condition = PHPExcel_Calculation_Functions::_ifCondition($condition); - // Loop through arguments - foreach ($aArgs as $key => $arg) { - if (!is_numeric($arg)) { $arg = PHPExcel_Calculation::_wrapResult(strtoupper($arg)); } - $testCondition = '='.$arg.$condition; - if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { - if ((is_null($returnValue)) || ($arg < $returnValue)) { - $returnValue = $arg; - } - } - } - - // Return - return $returnValue; - } // function MINIF() - - - // - // Special variant of array_count_values that isn't limited to strings and integers, - // but can work with floating point numbers as values - // - private static function _modeCalc($data) { - $frequencyArray = array(); - foreach($data as $datum) { - $found = False; - foreach($frequencyArray as $key => $value) { - if ((string) $value['value'] == (string) $datum) { - ++$frequencyArray[$key]['frequency']; - $found = True; - break; - } - } - if (!$found) { - $frequencyArray[] = array('value' => $datum, - 'frequency' => 1 ); - } - } - - foreach($frequencyArray as $key => $value) { - $frequencyList[$key] = $value['frequency']; - $valueList[$key] = $value['value']; - } - array_multisort($frequencyList, SORT_DESC, $valueList, SORT_ASC, SORT_NUMERIC, $frequencyArray); - - if ($frequencyArray[0]['frequency'] == 1) { - return PHPExcel_Calculation_Functions::NA(); - } - return $frequencyArray[0]['value']; - } // function _modeCalc() - - - /** - * MODE - * - * Returns the most frequently occurring, or repetitive, value in an array or range of data - * - * Excel Function: - * MODE(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function MODE() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::NA(); - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - $mArgs = array(); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - - if (!empty($mArgs)) { - return self::_modeCalc($mArgs); - } - - // Return - return $returnValue; - } // function MODE() - - - /** - * NEGBINOMDIST - * - * Returns the negative binomial distribution. NEGBINOMDIST returns the probability that - * there will be number_f failures before the number_s-th success, when the constant - * probability of a success is probability_s. This function is similar to the binomial - * distribution, except that the number of successes is fixed, and the number of trials is - * variable. Like the binomial, trials are assumed to be independent. - * - * @param float $failures Number of Failures - * @param float $successes Threshold number of Successes - * @param float $probability Probability of success on each trial - * @return float - * - */ - public static function NEGBINOMDIST($failures, $successes, $probability) { - $failures = floor(PHPExcel_Calculation_Functions::flattenSingleValue($failures)); - $successes = floor(PHPExcel_Calculation_Functions::flattenSingleValue($successes)); - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - - if ((is_numeric($failures)) && (is_numeric($successes)) && (is_numeric($probability))) { - if (($failures < 0) || ($successes < 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (($probability < 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { - if (($failures + $successes - 1) <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - } - return (PHPExcel_Calculation_MathTrig::COMBIN($failures + $successes - 1,$successes - 1)) * (pow($probability,$successes)) * (pow(1 - $probability,$failures)) ; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function NEGBINOMDIST() - - - /** - * NORMDIST - * - * Returns the normal distribution for the specified mean and standard deviation. This - * function has a very wide range of applications in statistics, including hypothesis - * testing. - * - * @param float $value - * @param float $mean Mean Value - * @param float $stdDev Standard Deviation - * @param boolean $cumulative - * @return float - * - */ - public static function NORMDIST($value, $mean, $stdDev, $cumulative) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - - if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { - if ($stdDev < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - return 0.5 * (1 + PHPExcel_Calculation_Engineering::_erfVal(($value - $mean) / ($stdDev * sqrt(2)))); - } else { - return (1 / (SQRT2PI * $stdDev)) * exp(0 - (pow($value - $mean,2) / (2 * ($stdDev * $stdDev)))); - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function NORMDIST() - - - /** - * NORMINV - * - * Returns the inverse of the normal cumulative distribution for the specified mean and standard deviation. - * - * @param float $value - * @param float $mean Mean Value - * @param float $stdDev Standard Deviation - * @return float - * - */ - public static function NORMINV($probability,$mean,$stdDev) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - - if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { - if (($probability < 0) || ($probability > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ($stdDev < 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return (self::_inverse_ncdf($probability) * $stdDev) + $mean; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function NORMINV() - - - /** - * NORMSDIST - * - * Returns the standard normal cumulative distribution function. The distribution has - * a mean of 0 (zero) and a standard deviation of one. Use this function in place of a - * table of standard normal curve areas. - * - * @param float $value - * @return float - */ - public static function NORMSDIST($value) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - return self::NORMDIST($value, 0, 1, True); - } // function NORMSDIST() - - - /** - * NORMSINV - * - * Returns the inverse of the standard normal cumulative distribution - * - * @param float $value - * @return float - */ - public static function NORMSINV($value) { - return self::NORMINV($value, 0, 1); - } // function NORMSINV() - - - /** - * PERCENTILE - * - * Returns the nth percentile of values in a range.. - * - * Excel Function: - * PERCENTILE(value1[,value2[, ...]],entry) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param float $entry Percentile value in the range 0..1, inclusive. - * @return float - */ - public static function PERCENTILE() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $entry = array_pop($aArgs); - - if ((is_numeric($entry)) && (!is_string($entry))) { - if (($entry < 0) || ($entry > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $mArgs = array(); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - $mValueCount = count($mArgs); - if ($mValueCount > 0) { - sort($mArgs); - $count = self::COUNT($mArgs); - $index = $entry * ($count-1); - $iBase = floor($index); - if ($index == $iBase) { - return $mArgs[$index]; - } else { - $iNext = $iBase + 1; - $iProportion = $index - $iBase; - return $mArgs[$iBase] + (($mArgs[$iNext] - $mArgs[$iBase]) * $iProportion) ; - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function PERCENTILE() - - - /** - * PERCENTRANK - * - * Returns the rank of a value in a data set as a percentage of the data set. - * - * @param array of number An array of, or a reference to, a list of numbers. - * @param number The number whose rank you want to find. - * @param number The number of significant digits for the returned percentage value. - * @return float - */ - public static function PERCENTRANK($valueSet,$value,$significance=3) { - $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $significance = (is_null($significance)) ? 3 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($significance); - - foreach($valueSet as $key => $valueEntry) { - if (!is_numeric($valueEntry)) { - unset($valueSet[$key]); - } - } - sort($valueSet,SORT_NUMERIC); - $valueCount = count($valueSet); - if ($valueCount == 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - - $valueAdjustor = $valueCount - 1; - if (($value < $valueSet[0]) || ($value > $valueSet[$valueAdjustor])) { - return PHPExcel_Calculation_Functions::NA(); - } - - $pos = array_search($value,$valueSet); - if ($pos === False) { - $pos = 0; - $testValue = $valueSet[0]; - while ($testValue < $value) { - $testValue = $valueSet[++$pos]; - } - --$pos; - $pos += (($value - $valueSet[$pos]) / ($testValue - $valueSet[$pos])); - } - - return round($pos / $valueAdjustor,$significance); - } // function PERCENTRANK() - - - /** - * PERMUT - * - * Returns the number of permutations for a given number of objects that can be - * selected from number objects. A permutation is any set or subset of objects or - * events where internal order is significant. Permutations are different from - * combinations, for which the internal order is not significant. Use this function - * for lottery-style probability calculations. - * - * @param int $numObjs Number of different objects - * @param int $numInSet Number of objects in each permutation - * @return int Number of permutations - */ - public static function PERMUT($numObjs,$numInSet) { - $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); - $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); - - if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { - $numInSet = floor($numInSet); - if ($numObjs < $numInSet) { - return PHPExcel_Calculation_Functions::NaN(); - } - return round(PHPExcel_Calculation_MathTrig::FACT($numObjs) / PHPExcel_Calculation_MathTrig::FACT($numObjs - $numInSet)); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function PERMUT() - - - /** - * POISSON - * - * Returns the Poisson distribution. A common application of the Poisson distribution - * is predicting the number of events over a specific time, such as the number of - * cars arriving at a toll plaza in 1 minute. - * - * @param float $value - * @param float $mean Mean Value - * @param boolean $cumulative - * @return float - * - */ - public static function POISSON($value, $mean, $cumulative) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - - if ((is_numeric($value)) && (is_numeric($mean))) { - if (($value < 0) || ($mean <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - $summer = 0; - for ($i = 0; $i <= floor($value); ++$i) { - $summer += pow($mean,$i) / PHPExcel_Calculation_MathTrig::FACT($i); - } - return exp(0-$mean) * $summer; - } else { - return (exp(0-$mean) * pow($mean,$value)) / PHPExcel_Calculation_MathTrig::FACT($value); - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function POISSON() - - - /** - * QUARTILE - * - * Returns the quartile of a data set. - * - * Excel Function: - * QUARTILE(value1[,value2[, ...]],entry) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param int $entry Quartile value in the range 1..3, inclusive. - * @return float - */ - public static function QUARTILE() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $entry = floor(array_pop($aArgs)); - - if ((is_numeric($entry)) && (!is_string($entry))) { - $entry /= 4; - if (($entry < 0) || ($entry > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - return self::PERCENTILE($aArgs,$entry); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function QUARTILE() - - - /** - * RANK - * - * Returns the rank of a number in a list of numbers. - * - * @param number The number whose rank you want to find. - * @param array of number An array of, or a reference to, a list of numbers. - * @param mixed Order to sort the values in the value set - * @return float - */ - public static function RANK($value,$valueSet,$order=0) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); - $order = (is_null($order)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($order); - - foreach($valueSet as $key => $valueEntry) { - if (!is_numeric($valueEntry)) { - unset($valueSet[$key]); - } - } - - if ($order == 0) { - rsort($valueSet,SORT_NUMERIC); - } else { - sort($valueSet,SORT_NUMERIC); - } - $pos = array_search($value,$valueSet); - if ($pos === False) { - return PHPExcel_Calculation_Functions::NA(); - } - - return ++$pos; - } // function RANK() - - - /** - * RSQ - * - * Returns the square of the Pearson product moment correlation coefficient through data points in known_y's and known_x's. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function RSQ($yValues,$xValues) { - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getGoodnessOfFit(); - } // function RSQ() - - - /** - * SKEW - * - * Returns the skewness of a distribution. Skewness characterizes the degree of asymmetry - * of a distribution around its mean. Positive skewness indicates a distribution with an - * asymmetric tail extending toward more positive values. Negative skewness indicates a - * distribution with an asymmetric tail extending toward more negative values. - * - * @param array Data Series - * @return float - */ - public static function SKEW() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - $mean = self::AVERAGE($aArgs); - $stdDev = self::STDEV($aArgs); - - $count = $summer = 0; - // Loop through arguments - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $summer += pow((($arg - $mean) / $stdDev),3) ; - ++$count; - } - } - } - - // Return - if ($count > 2) { - return $summer * ($count / (($count-1) * ($count-2))); - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function SKEW() - - - /** - * SLOPE - * - * Returns the slope of the linear regression line through data points in known_y's and known_x's. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function SLOPE($yValues,$xValues) { - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getSlope(); - } // function SLOPE() - - - /** - * SMALL - * - * Returns the nth smallest value in a data set. You can use this function to - * select a value based on its relative standing. - * - * Excel Function: - * SMALL(value1[,value2[, ...]],entry) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param int $entry Position (ordered from the smallest) in the array or range of data to return - * @return float - */ - public static function SMALL() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $entry = array_pop($aArgs); - - if ((is_numeric($entry)) && (!is_string($entry))) { - $mArgs = array(); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - $count = self::COUNT($mArgs); - $entry = floor(--$entry); - if (($entry < 0) || ($entry >= $count) || ($count == 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - sort($mArgs); - return $mArgs[$entry]; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SMALL() - - - /** - * STANDARDIZE - * - * Returns a normalized value from a distribution characterized by mean and standard_dev. - * - * @param float $value Value to normalize - * @param float $mean Mean Value - * @param float $stdDev Standard Deviation - * @return float Standardized value - */ - public static function STANDARDIZE($value,$mean,$stdDev) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); - $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); - - if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { - if ($stdDev <= 0) { - return PHPExcel_Calculation_Functions::NaN(); - } - return ($value - $mean) / $stdDev ; - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function STANDARDIZE() - - - /** - * STDEV - * - * Estimates standard deviation based on a sample. The standard deviation is a measure of how - * widely values are dispersed from the average value (the mean). - * - * Excel Function: - * STDEV(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function STDEV() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGE($aArgs); - if (!is_null($aMean)) { - $aCount = -1; - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = pow(($arg - $aMean),2); - } else { - $returnValue += pow(($arg - $aMean),2); - } - ++$aCount; - } - } - - // Return - if (($aCount > 0) && ($returnValue >= 0)) { - return sqrt($returnValue / $aCount); - } - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function STDEV() - - - /** - * STDEVA - * - * Estimates standard deviation based on a sample, including numbers, text, and logical values - * - * Excel Function: - * STDEVA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function STDEVA() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGEA($aArgs); - if (!is_null($aMean)) { - $aCount = -1; - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - if (is_null($returnValue)) { - $returnValue = pow(($arg - $aMean),2); - } else { - $returnValue += pow(($arg - $aMean),2); - } - ++$aCount; - } - } - } - - // Return - if (($aCount > 0) && ($returnValue >= 0)) { - return sqrt($returnValue / $aCount); - } - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function STDEVA() - - - /** - * STDEVP - * - * Calculates standard deviation based on the entire population - * - * Excel Function: - * STDEVP(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function STDEVP() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGE($aArgs); - if (!is_null($aMean)) { - $aCount = 0; - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { - $arg = (integer) $arg; - } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - if (is_null($returnValue)) { - $returnValue = pow(($arg - $aMean),2); - } else { - $returnValue += pow(($arg - $aMean),2); - } - ++$aCount; - } - } - - // Return - if (($aCount > 0) && ($returnValue >= 0)) { - return sqrt($returnValue / $aCount); - } - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function STDEVP() - - - /** - * STDEVPA - * - * Calculates standard deviation based on the entire population, including numbers, text, and logical values - * - * Excel Function: - * STDEVPA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function STDEVPA() { - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - - // Return value - $returnValue = null; - - $aMean = self::AVERAGEA($aArgs); - if (!is_null($aMean)) { - $aCount = 0; - foreach ($aArgs as $k => $arg) { - if ((is_bool($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - if (is_null($returnValue)) { - $returnValue = pow(($arg - $aMean),2); - } else { - $returnValue += pow(($arg - $aMean),2); - } - ++$aCount; - } - } - } - - // Return - if (($aCount > 0) && ($returnValue >= 0)) { - return sqrt($returnValue / $aCount); - } - } - return PHPExcel_Calculation_Functions::DIV0(); - } // function STDEVPA() - - - /** - * STEYX - * - * Returns the standard error of the predicted y-value for each x in the regression. - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @return float - */ - public static function STEYX($yValues,$xValues) { - if (!self::_checkTrendArrays($yValues,$xValues)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - $yValueCount = count($yValues); - $xValueCount = count($xValues); - - if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { - return PHPExcel_Calculation_Functions::NA(); - } elseif ($yValueCount == 1) { - return PHPExcel_Calculation_Functions::DIV0(); - } - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues); - return $bestFitLinear->getStdevOfResiduals(); - } // function STEYX() - - - /** - * TDIST - * - * Returns the probability of Student's T distribution. - * - * @param float $value Value for the function - * @param float $degrees degrees of freedom - * @param float $tails number of tails (1 or 2) - * @return float - */ - public static function TDIST($value, $degrees, $tails) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); - $tails = floor(PHPExcel_Calculation_Functions::flattenSingleValue($tails)); - - if ((is_numeric($value)) && (is_numeric($degrees)) && (is_numeric($tails))) { - if (($value < 0) || ($degrees < 1) || ($tails < 1) || ($tails > 2)) { - return PHPExcel_Calculation_Functions::NaN(); - } - // tdist, which finds the probability that corresponds to a given value - // of t with k degrees of freedom. This algorithm is translated from a - // pascal function on p81 of "Statistical Computing in Pascal" by D - // Cooke, A H Craven & G M Clark (1985: Edward Arnold (Pubs.) Ltd: - // London). The above Pascal algorithm is itself a translation of the - // fortran algoritm "AS 3" by B E Cooper of the Atlas Computer - // Laboratory as reported in (among other places) "Applied Statistics - // Algorithms", editied by P Griffiths and I D Hill (1985; Ellis - // Horwood Ltd.; W. Sussex, England). - $tterm = $degrees; - $ttheta = atan2($value,sqrt($tterm)); - $tc = cos($ttheta); - $ts = sin($ttheta); - $tsum = 0; - - if (($degrees % 2) == 1) { - $ti = 3; - $tterm = $tc; - } else { - $ti = 2; - $tterm = 1; - } - - $tsum = $tterm; - while ($ti < $degrees) { - $tterm *= $tc * $tc * ($ti - 1) / $ti; - $tsum += $tterm; - $ti += 2; - } - $tsum *= $ts; - if (($degrees % 2) == 1) { $tsum = M_2DIVPI * ($tsum + $ttheta); } - $tValue = 0.5 * (1 + $tsum); - if ($tails == 1) { - return 1 - abs($tValue); - } else { - return 1 - abs((1 - $tValue) - $tValue); - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TDIST() - - - /** - * TINV - * - * Returns the one-tailed probability of the chi-squared distribution. - * - * @param float $probability Probability for the function - * @param float $degrees degrees of freedom - * @return float - */ - public static function TINV($probability, $degrees) { - $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); - $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); - - if ((is_numeric($probability)) && (is_numeric($degrees))) { - $xLo = 100; - $xHi = 0; - - $x = $xNew = 1; - $dx = 1; - $i = 0; - - while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { - // Apply Newton-Raphson step - $result = self::TDIST($x, $degrees, 2); - $error = $result - $probability; - if ($error == 0.0) { - $dx = 0; - } elseif ($error < 0.0) { - $xLo = $x; - } else { - $xHi = $x; - } - // Avoid division by zero - if ($result != 0.0) { - $dx = $error / $result; - $xNew = $x - $dx; - } - // If the NR fails to converge (which for example may be the - // case if the initial guess is too rough) we apply a bisection - // step to determine a more narrow interval around the root. - if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { - $xNew = ($xLo + $xHi) / 2; - $dx = $xNew - $x; - } - $x = $xNew; - } - if ($i == MAX_ITERATIONS) { - return PHPExcel_Calculation_Functions::NA(); - } - return round($x,12); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TINV() - - - /** - * TREND - * - * Returns values along a linear trend - * - * @param array of mixed Data Series Y - * @param array of mixed Data Series X - * @param array of mixed Values of X for which we want to find Y - * @param boolean A logical value specifying whether to force the intersect to equal 0. - * @return array of float - */ - public static function TREND($yValues,$xValues=array(),$newValues=array(),$const=True) { - $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); - $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); - $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); - $const = (is_null($const)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); - - $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR,$yValues,$xValues,$const); - if (empty($newValues)) { - $newValues = $bestFitLinear->getXValues(); - } - - $returnArray = array(); - foreach($newValues as $xValue) { - $returnArray[0][] = $bestFitLinear->getValueOfYForX($xValue); - } - - return $returnArray; - } // function TREND() - - - /** - * TRIMMEAN - * - * Returns the mean of the interior of a data set. TRIMMEAN calculates the mean - * taken by excluding a percentage of data points from the top and bottom tails - * of a data set. - * - * Excel Function: - * TRIMEAN(value1[,value2[, ...]],$discard) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @param float $discard Percentage to discard - * @return float - */ - public static function TRIMMEAN() { - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - - // Calculate - $percent = array_pop($aArgs); - - if ((is_numeric($percent)) && (!is_string($percent))) { - if (($percent < 0) || ($percent > 1)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $mArgs = array(); - foreach ($aArgs as $arg) { - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $mArgs[] = $arg; - } - } - $discard = floor(self::COUNT($mArgs) * $percent / 2); - sort($mArgs); - for ($i=0; $i < $discard; ++$i) { - array_pop($mArgs); - array_shift($mArgs); - } - return self::AVERAGE($mArgs); - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function TRIMMEAN() - - - /** - * VARFunc - * - * Estimates variance based on a sample. - * - * Excel Function: - * VAR(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function VARFunc() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::DIV0(); - - $summerA = $summerB = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - $aCount = 0; - foreach ($aArgs as $arg) { - if (is_bool($arg)) { $arg = (integer) $arg; } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $summerA += ($arg * $arg); - $summerB += $arg; - ++$aCount; - } - } - - // Return - if ($aCount > 1) { - $summerA *= $aCount; - $summerB *= $summerB; - $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); - } - return $returnValue; - } // function VARFunc() - - - /** - * VARA - * - * Estimates variance based on a sample, including numbers, text, and logical values - * - * Excel Function: - * VARA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function VARA() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::DIV0(); - - $summerA = $summerB = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - $aCount = 0; - foreach ($aArgs as $k => $arg) { - if ((is_string($arg)) && - (PHPExcel_Calculation_Functions::isValue($k))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ((is_string($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - $summerA += ($arg * $arg); - $summerB += $arg; - ++$aCount; - } - } - } - - // Return - if ($aCount > 1) { - $summerA *= $aCount; - $summerB *= $summerB; - $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); - } - return $returnValue; - } // function VARA() - - - /** - * VARP - * - * Calculates variance based on the entire population - * - * Excel Function: - * VARP(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function VARP() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::DIV0(); - - $summerA = $summerB = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - $aCount = 0; - foreach ($aArgs as $arg) { - if (is_bool($arg)) { $arg = (integer) $arg; } - // Is it a numeric value? - if ((is_numeric($arg)) && (!is_string($arg))) { - $summerA += ($arg * $arg); - $summerB += $arg; - ++$aCount; - } - } - - // Return - if ($aCount > 0) { - $summerA *= $aCount; - $summerB *= $summerB; - $returnValue = ($summerA - $summerB) / ($aCount * $aCount); - } - return $returnValue; - } // function VARP() - - - /** - * VARPA - * - * Calculates variance based on the entire population, including numbers, text, and logical values - * - * Excel Function: - * VARPA(value1[,value2[, ...]]) - * - * @access public - * @category Statistical Functions - * @param mixed $arg,... Data values - * @return float - */ - public static function VARPA() { - // Return value - $returnValue = PHPExcel_Calculation_Functions::DIV0(); - - $summerA = $summerB = 0; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); - $aCount = 0; - foreach ($aArgs as $k => $arg) { - if ((is_string($arg)) && - (PHPExcel_Calculation_Functions::isValue($k))) { - return PHPExcel_Calculation_Functions::VALUE(); - } elseif ((is_string($arg)) && - (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { - } else { - // Is it a numeric value? - if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { - if (is_bool($arg)) { - $arg = (integer) $arg; - } elseif (is_string($arg)) { - $arg = 0; - } - $summerA += ($arg * $arg); - $summerB += $arg; - ++$aCount; - } - } - } - - // Return - if ($aCount > 0) { - $summerA *= $aCount; - $summerB *= $summerB; - $returnValue = ($summerA - $summerB) / ($aCount * $aCount); - } - return $returnValue; - } // function VARPA() - - - /** - * WEIBULL - * - * Returns the Weibull distribution. Use this distribution in reliability - * analysis, such as calculating a device's mean time to failure. - * - * @param float $value - * @param float $alpha Alpha Parameter - * @param float $beta Beta Parameter - * @param boolean $cumulative - * @return float - * - */ - public static function WEIBULL($value, $alpha, $beta, $cumulative) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); - $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); - - if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta))) { - if (($value < 0) || ($alpha <= 0) || ($beta <= 0)) { - return PHPExcel_Calculation_Functions::NaN(); - } - if ((is_numeric($cumulative)) || (is_bool($cumulative))) { - if ($cumulative) { - return 1 - exp(0 - pow($value / $beta,$alpha)); - } else { - return ($alpha / pow($beta,$alpha)) * pow($value,$alpha - 1) * exp(0 - pow($value / $beta,$alpha)); - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function WEIBULL() - - - /** - * ZTEST - * - * Returns the Weibull distribution. Use this distribution in reliability - * analysis, such as calculating a device's mean time to failure. - * - * @param float $dataSet - * @param float $m0 Alpha Parameter - * @param float $sigma Beta Parameter - * @param boolean $cumulative - * @return float - * - */ - public static function ZTEST($dataSet, $m0, $sigma = NULL) { - $dataSet = PHPExcel_Calculation_Functions::flattenArrayIndexed($dataSet); - $m0 = PHPExcel_Calculation_Functions::flattenSingleValue($m0); - $sigma = PHPExcel_Calculation_Functions::flattenSingleValue($sigma); - - if (is_null($sigma)) { - $sigma = self::STDEV($dataSet); - } - $n = count($dataSet); - - return 1 - self::NORMSDIST((self::AVERAGE($dataSet) - $m0)/($sigma/SQRT($n))); - } // function ZTEST() - -} // class PHPExcel_Calculation_Statistical +class PHPExcel_Calculation_Statistical +{ + private static function checkTrendArrays(&$array1, &$array2) + { + if (!is_array($array1)) { + $array1 = array($array1); + } + if (!is_array($array2)) { + $array2 = array($array2); + } + + $array1 = PHPExcel_Calculation_Functions::flattenArray($array1); + $array2 = PHPExcel_Calculation_Functions::flattenArray($array2); + foreach ($array1 as $key => $value) { + if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { + unset($array1[$key]); + unset($array2[$key]); + } + } + foreach ($array2 as $key => $value) { + if ((is_bool($value)) || (is_string($value)) || (is_null($value))) { + unset($array1[$key]); + unset($array2[$key]); + } + } + $array1 = array_merge($array1); + $array2 = array_merge($array2); + + return true; + } + + + /** + * Beta function. + * + * @author Jaco van Kooten + * + * @param p require p>0 + * @param q require q>0 + * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow + */ + private static function beta($p, $q) + { + if ($p <= 0.0 || $q <= 0.0 || ($p + $q) > LOG_GAMMA_X_MAX_VALUE) { + return 0.0; + } else { + return exp(self::logBeta($p, $q)); + } + } + + + /** + * Incomplete beta function + * + * @author Jaco van Kooten + * @author Paul Meagher + * + * The computation is based on formulas from Numerical Recipes, Chapter 6.4 (W.H. Press et al, 1992). + * @param x require 0<=x<=1 + * @param p require p>0 + * @param q require q>0 + * @return 0 if x<0, p<=0, q<=0 or p+q>2.55E305 and 1 if x>1 to avoid errors and over/underflow + */ + private static function incompleteBeta($x, $p, $q) + { + if ($x <= 0.0) { + return 0.0; + } elseif ($x >= 1.0) { + return 1.0; + } elseif (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { + return 0.0; + } + $beta_gam = exp((0 - self::logBeta($p, $q)) + $p * log($x) + $q * log(1.0 - $x)); + if ($x < ($p + 1.0) / ($p + $q + 2.0)) { + return $beta_gam * self::betaFraction($x, $p, $q) / $p; + } else { + return 1.0 - ($beta_gam * self::betaFraction(1 - $x, $q, $p) / $q); + } + } + + + // Function cache for logBeta function + private static $logBetaCacheP = 0.0; + private static $logBetaCacheQ = 0.0; + private static $logBetaCacheResult = 0.0; + + /** + * The natural logarithm of the beta function. + * + * @param p require p>0 + * @param q require q>0 + * @return 0 if p<=0, q<=0 or p+q>2.55E305 to avoid errors and over/underflow + * @author Jaco van Kooten + */ + private static function logBeta($p, $q) + { + if ($p != self::$logBetaCacheP || $q != self::$logBetaCacheQ) { + self::$logBetaCacheP = $p; + self::$logBetaCacheQ = $q; + if (($p <= 0.0) || ($q <= 0.0) || (($p + $q) > LOG_GAMMA_X_MAX_VALUE)) { + self::$logBetaCacheResult = 0.0; + } else { + self::$logBetaCacheResult = self::logGamma($p) + self::logGamma($q) - self::logGamma($p + $q); + } + } + return self::$logBetaCacheResult; + } + + + /** + * Evaluates of continued fraction part of incomplete beta function. + * Based on an idea from Numerical Recipes (W.H. Press et al, 1992). + * @author Jaco van Kooten + */ + private static function betaFraction($x, $p, $q) + { + $c = 1.0; + $sum_pq = $p + $q; + $p_plus = $p + 1.0; + $p_minus = $p - 1.0; + $h = 1.0 - $sum_pq * $x / $p_plus; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $frac = $h; + $m = 1; + $delta = 0.0; + while ($m <= MAX_ITERATIONS && abs($delta-1.0) > PRECISION) { + $m2 = 2 * $m; + // even index for d + $d = $m * ($q - $m) * $x / ( ($p_minus + $m2) * ($p + $m2)); + $h = 1.0 + $d * $h; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $c = 1.0 + $d / $c; + if (abs($c) < XMININ) { + $c = XMININ; + } + $frac *= $h * $c; + // odd index for d + $d = -($p + $m) * ($sum_pq + $m) * $x / (($p + $m2) * ($p_plus + $m2)); + $h = 1.0 + $d * $h; + if (abs($h) < XMININ) { + $h = XMININ; + } + $h = 1.0 / $h; + $c = 1.0 + $d / $c; + if (abs($c) < XMININ) { + $c = XMININ; + } + $delta = $h * $c; + $frac *= $delta; + ++$m; + } + return $frac; + } + + + /** + * logGamma function + * + * @version 1.1 + * @author Jaco van Kooten + * + * Original author was Jaco van Kooten. Ported to PHP by Paul Meagher. + * + * The natural logarithm of the gamma function.
+ * Based on public domain NETLIB (Fortran) code by W. J. Cody and L. Stoltz
+ * Applied Mathematics Division
+ * Argonne National Laboratory
+ * Argonne, IL 60439
+ *

+ * References: + *

    + *
  1. W. J. Cody and K. E. Hillstrom, 'Chebyshev Approximations for the Natural + * Logarithm of the Gamma Function,' Math. Comp. 21, 1967, pp. 198-203.
  2. + *
  3. K. E. Hillstrom, ANL/AMD Program ANLC366S, DGAMMA/DLGAMA, May, 1969.
  4. + *
  5. Hart, Et. Al., Computer Approximations, Wiley and sons, New York, 1968.
  6. + *
+ *

+ *

+ * From the original documentation: + *

+ *

+ * This routine calculates the LOG(GAMMA) function for a positive real argument X. + * Computation is based on an algorithm outlined in references 1 and 2. + * The program uses rational functions that theoretically approximate LOG(GAMMA) + * to at least 18 significant decimal digits. The approximation for X > 12 is from + * reference 3, while approximations for X < 12.0 are similar to those in reference + * 1, but are unpublished. The accuracy achieved depends on the arithmetic system, + * the compiler, the intrinsic functions, and proper selection of the + * machine-dependent constants. + *

+ *

+ * Error returns:
+ * The program returns the value XINF for X .LE. 0.0 or when overflow would occur. + * The computation is believed to be free of underflow and overflow. + *

+ * @return MAX_VALUE for x < 0.0 or when overflow would occur, i.e. x > 2.55E305 + */ + + // Function cache for logGamma + private static $logGammaCacheResult = 0.0; + private static $logGammaCacheX = 0.0; + + private static function logGamma($x) + { + // Log Gamma related constants + static $lg_d1 = -0.5772156649015328605195174; + static $lg_d2 = 0.4227843350984671393993777; + static $lg_d4 = 1.791759469228055000094023; + + static $lg_p1 = array( + 4.945235359296727046734888, + 201.8112620856775083915565, + 2290.838373831346393026739, + 11319.67205903380828685045, + 28557.24635671635335736389, + 38484.96228443793359990269, + 26377.48787624195437963534, + 7225.813979700288197698961 + ); + static $lg_p2 = array( + 4.974607845568932035012064, + 542.4138599891070494101986, + 15506.93864978364947665077, + 184793.2904445632425417223, + 1088204.76946882876749847, + 3338152.967987029735917223, + 5106661.678927352456275255, + 3074109.054850539556250927 + ); + static $lg_p4 = array( + 14745.02166059939948905062, + 2426813.369486704502836312, + 121475557.4045093227939592, + 2663432449.630976949898078, + 29403789566.34553899906876, + 170266573776.5398868392998, + 492612579337.743088758812, + 560625185622.3951465078242 + ); + static $lg_q1 = array( + 67.48212550303777196073036, + 1113.332393857199323513008, + 7738.757056935398733233834, + 27639.87074403340708898585, + 54993.10206226157329794414, + 61611.22180066002127833352, + 36351.27591501940507276287, + 8785.536302431013170870835 + ); + static $lg_q2 = array( + 183.0328399370592604055942, + 7765.049321445005871323047, + 133190.3827966074194402448, + 1136705.821321969608938755, + 5267964.117437946917577538, + 13467014.54311101692290052, + 17827365.30353274213975932, + 9533095.591844353613395747 + ); + static $lg_q4 = array( + 2690.530175870899333379843, + 639388.5654300092398984238, + 41355999.30241388052042842, + 1120872109.61614794137657, + 14886137286.78813811542398, + 101680358627.2438228077304, + 341747634550.7377132798597, + 446315818741.9713286462081 + ); + static $lg_c = array( + -0.001910444077728, + 8.4171387781295e-4, + -5.952379913043012e-4, + 7.93650793500350248e-4, + -0.002777777777777681622553, + 0.08333333333333333331554247, + 0.0057083835261 + ); + + // Rough estimate of the fourth root of logGamma_xBig + static $lg_frtbig = 2.25e76; + static $pnt68 = 0.6796875; + + + if ($x == self::$logGammaCacheX) { + return self::$logGammaCacheResult; + } + $y = $x; + if ($y > 0.0 && $y <= LOG_GAMMA_X_MAX_VALUE) { + if ($y <= EPS) { + $res = -log(y); + } elseif ($y <= 1.5) { + // --------------------- + // EPS .LT. X .LE. 1.5 + // --------------------- + if ($y < $pnt68) { + $corr = -log($y); + $xm1 = $y; + } else { + $corr = 0.0; + $xm1 = $y - 1.0; + } + if ($y <= 0.5 || $y >= $pnt68) { + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm1 + $lg_p1[$i]; + $xden = $xden * $xm1 + $lg_q1[$i]; + } + $res = $corr + $xm1 * ($lg_d1 + $xm1 * ($xnum / $xden)); + } else { + $xm2 = $y - 1.0; + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm2 + $lg_p2[$i]; + $xden = $xden * $xm2 + $lg_q2[$i]; + } + $res = $corr + $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); + } + } elseif ($y <= 4.0) { + // --------------------- + // 1.5 .LT. X .LE. 4.0 + // --------------------- + $xm2 = $y - 2.0; + $xden = 1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm2 + $lg_p2[$i]; + $xden = $xden * $xm2 + $lg_q2[$i]; + } + $res = $xm2 * ($lg_d2 + $xm2 * ($xnum / $xden)); + } elseif ($y <= 12.0) { + // ---------------------- + // 4.0 .LT. X .LE. 12.0 + // ---------------------- + $xm4 = $y - 4.0; + $xden = -1.0; + $xnum = 0.0; + for ($i = 0; $i < 8; ++$i) { + $xnum = $xnum * $xm4 + $lg_p4[$i]; + $xden = $xden * $xm4 + $lg_q4[$i]; + } + $res = $lg_d4 + $xm4 * ($xnum / $xden); + } else { + // --------------------------------- + // Evaluate for argument .GE. 12.0 + // --------------------------------- + $res = 0.0; + if ($y <= $lg_frtbig) { + $res = $lg_c[6]; + $ysq = $y * $y; + for ($i = 0; $i < 6; ++$i) { + $res = $res / $ysq + $lg_c[$i]; + } + $res /= $y; + $corr = log($y); + $res = $res + log(SQRT2PI) - 0.5 * $corr; + $res += $y * ($corr - 1.0); + } + } + } else { + // -------------------------- + // Return for bad arguments + // -------------------------- + $res = MAX_VALUE; + } + // ------------------------------ + // Final adjustments and return + // ------------------------------ + self::$logGammaCacheX = $x; + self::$logGammaCacheResult = $res; + return $res; + } + + + // + // Private implementation of the incomplete Gamma function + // + private static function incompleteGamma($a, $x) + { + static $max = 32; + $summer = 0; + for ($n=0; $n<=$max; ++$n) { + $divisor = $a; + for ($i=1; $i<=$n; ++$i) { + $divisor *= ($a + $i); + } + $summer += (pow($x, $n) / $divisor); + } + return pow($x, $a) * exp(0-$x) * $summer; + } + + + // + // Private implementation of the Gamma function + // + private static function gamma($data) + { + if ($data == 0.0) { + return 0; + } + + static $p0 = 1.000000000190015; + static $p = array( + 1 => 76.18009172947146, + 2 => -86.50532032941677, + 3 => 24.01409824083091, + 4 => -1.231739572450155, + 5 => 1.208650973866179e-3, + 6 => -5.395239384953e-6 + ); + + $y = $x = $data; + $tmp = $x + 5.5; + $tmp -= ($x + 0.5) * log($tmp); + + $summer = $p0; + for ($j=1; $j<=6; ++$j) { + $summer += ($p[$j] / ++$y); + } + return exp(0 - $tmp + log(SQRT2PI * $summer / $x)); + } + + + /*************************************************************************** + * inverse_ncdf.php + * ------------------- + * begin : Friday, January 16, 2004 + * copyright : (C) 2004 Michael Nickerson + * email : nickersonm@yahoo.com + * + ***************************************************************************/ + private static function inverseNcdf($p) + { + // Inverse ncdf approximation by Peter J. Acklam, implementation adapted to + // PHP by Michael Nickerson, using Dr. Thomas Ziegler's C implementation as + // a guide. http://home.online.no/~pjacklam/notes/invnorm/index.html + // I have not checked the accuracy of this implementation. Be aware that PHP + // will truncate the coeficcients to 14 digits. + + // You have permission to use and distribute this function freely for + // whatever purpose you want, but please show common courtesy and give credit + // where credit is due. + + // Input paramater is $p - probability - where 0 < p < 1. + + // Coefficients in rational approximations + static $a = array( + 1 => -3.969683028665376e+01, + 2 => 2.209460984245205e+02, + 3 => -2.759285104469687e+02, + 4 => 1.383577518672690e+02, + 5 => -3.066479806614716e+01, + 6 => 2.506628277459239e+00 + ); + + static $b = array( + 1 => -5.447609879822406e+01, + 2 => 1.615858368580409e+02, + 3 => -1.556989798598866e+02, + 4 => 6.680131188771972e+01, + 5 => -1.328068155288572e+01 + ); + + static $c = array( + 1 => -7.784894002430293e-03, + 2 => -3.223964580411365e-01, + 3 => -2.400758277161838e+00, + 4 => -2.549732539343734e+00, + 5 => 4.374664141464968e+00, + 6 => 2.938163982698783e+00 + ); + + static $d = array( + 1 => 7.784695709041462e-03, + 2 => 3.224671290700398e-01, + 3 => 2.445134137142996e+00, + 4 => 3.754408661907416e+00 + ); + + // Define lower and upper region break-points. + $p_low = 0.02425; //Use lower region approx. below this + $p_high = 1 - $p_low; //Use upper region approx. above this + + if (0 < $p && $p < $p_low) { + // Rational approximation for lower region. + $q = sqrt(-2 * log($p)); + return ((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / + (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); + } elseif ($p_low <= $p && $p <= $p_high) { + // Rational approximation for central region. + $q = $p - 0.5; + $r = $q * $q; + return ((((($a[1] * $r + $a[2]) * $r + $a[3]) * $r + $a[4]) * $r + $a[5]) * $r + $a[6]) * $q / + ((((($b[1] * $r + $b[2]) * $r + $b[3]) * $r + $b[4]) * $r + $b[5]) * $r + 1); + } elseif ($p_high < $p && $p < 1) { + // Rational approximation for upper region. + $q = sqrt(-2 * log(1 - $p)); + return -((((($c[1] * $q + $c[2]) * $q + $c[3]) * $q + $c[4]) * $q + $c[5]) * $q + $c[6]) / + (((($d[1] * $q + $d[2]) * $q + $d[3]) * $q + $d[4]) * $q + 1); + } + // If 0 < p < 1, return a null value + return PHPExcel_Calculation_Functions::NULL(); + } + + + private static function inverseNcdf2($prob) + { + // Approximation of inverse standard normal CDF developed by + // B. Moro, "The Full Monte," Risk 8(2), Feb 1995, 57-58. + + $a1 = 2.50662823884; + $a2 = -18.61500062529; + $a3 = 41.39119773534; + $a4 = -25.44106049637; + + $b1 = -8.4735109309; + $b2 = 23.08336743743; + $b3 = -21.06224101826; + $b4 = 3.13082909833; + + $c1 = 0.337475482272615; + $c2 = 0.976169019091719; + $c3 = 0.160797971491821; + $c4 = 2.76438810333863E-02; + $c5 = 3.8405729373609E-03; + $c6 = 3.951896511919E-04; + $c7 = 3.21767881768E-05; + $c8 = 2.888167364E-07; + $c9 = 3.960315187E-07; + + $y = $prob - 0.5; + if (abs($y) < 0.42) { + $z = ($y * $y); + $z = $y * ((($a4 * $z + $a3) * $z + $a2) * $z + $a1) / (((($b4 * $z + $b3) * $z + $b2) * $z + $b1) * $z + 1); + } else { + if ($y > 0) { + $z = log(-log(1 - $prob)); + } else { + $z = log(-log($prob)); + } + $z = $c1 + $z * ($c2 + $z * ($c3 + $z * ($c4 + $z * ($c5 + $z * ($c6 + $z * ($c7 + $z * ($c8 + $z * $c9))))))); + if ($y < 0) { + $z = -$z; + } + } + return $z; + } // function inverseNcdf2() + + + private static function inverseNcdf3($p) + { + // ALGORITHM AS241 APPL. STATIST. (1988) VOL. 37, NO. 3. + // Produces the normal deviate Z corresponding to a given lower + // tail area of P; Z is accurate to about 1 part in 10**16. + // + // This is a PHP version of the original FORTRAN code that can + // be found at http://lib.stat.cmu.edu/apstat/ + $split1 = 0.425; + $split2 = 5; + $const1 = 0.180625; + $const2 = 1.6; + + // coefficients for p close to 0.5 + $a0 = 3.3871328727963666080; + $a1 = 1.3314166789178437745E+2; + $a2 = 1.9715909503065514427E+3; + $a3 = 1.3731693765509461125E+4; + $a4 = 4.5921953931549871457E+4; + $a5 = 6.7265770927008700853E+4; + $a6 = 3.3430575583588128105E+4; + $a7 = 2.5090809287301226727E+3; + + $b1 = 4.2313330701600911252E+1; + $b2 = 6.8718700749205790830E+2; + $b3 = 5.3941960214247511077E+3; + $b4 = 2.1213794301586595867E+4; + $b5 = 3.9307895800092710610E+4; + $b6 = 2.8729085735721942674E+4; + $b7 = 5.2264952788528545610E+3; + + // coefficients for p not close to 0, 0.5 or 1. + $c0 = 1.42343711074968357734; + $c1 = 4.63033784615654529590; + $c2 = 5.76949722146069140550; + $c3 = 3.64784832476320460504; + $c4 = 1.27045825245236838258; + $c5 = 2.41780725177450611770E-1; + $c6 = 2.27238449892691845833E-2; + $c7 = 7.74545014278341407640E-4; + + $d1 = 2.05319162663775882187; + $d2 = 1.67638483018380384940; + $d3 = 6.89767334985100004550E-1; + $d4 = 1.48103976427480074590E-1; + $d5 = 1.51986665636164571966E-2; + $d6 = 5.47593808499534494600E-4; + $d7 = 1.05075007164441684324E-9; + + // coefficients for p near 0 or 1. + $e0 = 6.65790464350110377720; + $e1 = 5.46378491116411436990; + $e2 = 1.78482653991729133580; + $e3 = 2.96560571828504891230E-1; + $e4 = 2.65321895265761230930E-2; + $e5 = 1.24266094738807843860E-3; + $e6 = 2.71155556874348757815E-5; + $e7 = 2.01033439929228813265E-7; + + $f1 = 5.99832206555887937690E-1; + $f2 = 1.36929880922735805310E-1; + $f3 = 1.48753612908506148525E-2; + $f4 = 7.86869131145613259100E-4; + $f5 = 1.84631831751005468180E-5; + $f6 = 1.42151175831644588870E-7; + $f7 = 2.04426310338993978564E-15; + + $q = $p - 0.5; + + // computation for p close to 0.5 + if (abs($q) <= split1) { + $R = $const1 - $q * $q; + $z = $q * ((((((($a7 * $R + $a6) * $R + $a5) * $R + $a4) * $R + $a3) * $R + $a2) * $R + $a1) * $R + $a0) / + ((((((($b7 * $R + $b6) * $R + $b5) * $R + $b4) * $R + $b3) * $R + $b2) * $R + $b1) * $R + 1); + } else { + if ($q < 0) { + $R = $p; + } else { + $R = 1 - $p; + } + $R = pow(-log($R), 2); + + // computation for p not close to 0, 0.5 or 1. + if ($R <= $split2) { + $R = $R - $const2; + $z = ((((((($c7 * $R + $c6) * $R + $c5) * $R + $c4) * $R + $c3) * $R + $c2) * $R + $c1) * $R + $c0) / + ((((((($d7 * $R + $d6) * $R + $d5) * $R + $d4) * $R + $d3) * $R + $d2) * $R + $d1) * $R + 1); + } else { + // computation for p near 0 or 1. + $R = $R - $split2; + $z = ((((((($e7 * $R + $e6) * $R + $e5) * $R + $e4) * $R + $e3) * $R + $e2) * $R + $e1) * $R + $e0) / + ((((((($f7 * $R + $f6) * $R + $f5) * $R + $f4) * $R + $f3) * $R + $f2) * $R + $f1) * $R + 1); + } + if ($q < 0) { + $z = -$z; + } + } + return $z; + } + + + /** + * AVEDEV + * + * Returns the average of the absolute deviations of data points from their mean. + * AVEDEV is a measure of the variability in a data set. + * + * Excel Function: + * AVEDEV(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVEDEV() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = abs($arg - $aMean); + } else { + $returnValue += abs($arg - $aMean); + } + ++$aCount; + } + } + + // Return + if ($aCount == 0) { + return PHPExcel_Calculation_Functions::DIV0(); + } + return $returnValue / $aCount; + } + return PHPExcel_Calculation_Functions::NaN(); + } + + + /** + * AVERAGE + * + * Returns the average (arithmetic mean) of the arguments + * + * Excel Function: + * AVERAGE(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVERAGE() + { + $returnValue = $aCount = 0; + + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue += $arg; + } + ++$aCount; + } + } + + // Return + if ($aCount > 0) { + return $returnValue / $aCount; + } else { + return PHPExcel_Calculation_Functions::DIV0(); + } + } + + + /** + * AVERAGEA + * + * Returns the average of its arguments, including numbers, text, and logical values + * + * Excel Function: + * AVERAGEA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function AVERAGEA() + { + $returnValue = null; + + $aCount = 0; + // Loop through arguments + foreach (PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()) as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = $arg; + } else { + $returnValue += $arg; + } + ++$aCount; + } + } + } + + if ($aCount > 0) { + return $returnValue / $aCount; + } else { + return PHPExcel_Calculation_Functions::DIV0(); + } + } + + + /** + * AVERAGEIF + * + * Returns the average value from a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * AVERAGEIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @param mixed[] $averageArgs Data values + * @return float + */ + public static function AVERAGEIF($aArgs, $condition, $averageArgs = array()) + { + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $averageArgs = PHPExcel_Calculation_Functions::flattenArray($averageArgs); + if (empty($averageArgs)) { + $averageArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::ifCondition($condition); + // Loop through arguments + $aCount = 0; + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue += $arg; + ++$aCount; + } + } + } + + if ($aCount > 0) { + return $returnValue / $aCount; + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * BETADIST + * + * Returns the beta distribution. + * + * @param float $value Value at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @param boolean $cumulative + * @return float + * + */ + public static function BETADIST($value, $alpha, $beta, $rMin = 0, $rMax = 1) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); + $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); + + if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { + if (($value < $rMin) || ($value > $rMax) || ($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($rMin > $rMax) { + $tmp = $rMin; + $rMin = $rMax; + $rMax = $tmp; + } + $value -= $rMin; + $value /= ($rMax - $rMin); + return self::incompleteBeta($value, $alpha, $beta); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * BETAINV + * + * Returns the inverse of the beta distribution. + * + * @param float $probability Probability at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @param float $rMin Minimum value + * @param float $rMax Maximum value + * @param boolean $cumulative + * @return float + * + */ + public static function BETAINV($probability, $alpha, $beta, $rMin = 0, $rMax = 1) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + $rMin = PHPExcel_Calculation_Functions::flattenSingleValue($rMin); + $rMax = PHPExcel_Calculation_Functions::flattenSingleValue($rMax); + + if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta)) && (is_numeric($rMin)) && (is_numeric($rMax))) { + if (($alpha <= 0) || ($beta <= 0) || ($rMin == $rMax) || ($probability <= 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($rMin > $rMax) { + $tmp = $rMin; + $rMin = $rMax; + $rMax = $tmp; + } + $a = 0; + $b = 2; + + $i = 0; + while ((($b - $a) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + $guess = ($a + $b) / 2; + $result = self::BETADIST($guess, $alpha, $beta); + if (($result == $probability) || ($result == 0)) { + $b = $a; + } elseif ($result > $probability) { + $b = $guess; + } else { + $a = $guess; + } + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($rMin + $guess * ($rMax - $rMin), 12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * BINOMDIST + * + * Returns the individual term binomial distribution probability. Use BINOMDIST in problems with + * a fixed number of tests or trials, when the outcomes of any trial are only success or failure, + * when trials are independent, and when the probability of success is constant throughout the + * experiment. For example, BINOMDIST can calculate the probability that two of the next three + * babies born are male. + * + * @param float $value Number of successes in trials + * @param float $trials Number of trials + * @param float $probability Probability of success on each trial + * @param boolean $cumulative + * @return float + * + * @todo Cumulative distribution function + * + */ + public static function BINOMDIST($value, $trials, $probability, $cumulative) + { + $value = floor(PHPExcel_Calculation_Functions::flattenSingleValue($value)); + $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + + if ((is_numeric($value)) && (is_numeric($trials)) && (is_numeric($probability))) { + if (($value < 0) || ($value > $trials)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + $summer = 0; + for ($i = 0; $i <= $value; ++$i) { + $summer += PHPExcel_Calculation_MathTrig::COMBIN($trials, $i) * pow($probability, $i) * pow(1 - $probability, $trials - $i); + } + return $summer; + } else { + return PHPExcel_Calculation_MathTrig::COMBIN($trials, $value) * pow($probability, $value) * pow(1 - $probability, $trials - $value) ; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * CHIDIST + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $value Value for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function CHIDIST($value, $degrees) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($value)) && (is_numeric($degrees))) { + if ($degrees < 1) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($value < 0) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + return 1; + } + return PHPExcel_Calculation_Functions::NaN(); + } + return 1 - (self::incompleteGamma($degrees/2, $value/2) / self::gamma($degrees/2)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * CHIINV + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $probability Probability for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function CHIINV($probability, $degrees) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($probability)) && (is_numeric($degrees))) { + $xLo = 100; + $xHi = 0; + + $x = $xNew = 1; + $dx = 1; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $result = self::CHIDIST($x, $degrees); + $error = $result - $probability; + if ($error == 0.0) { + $dx = 0; + } elseif ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + // Avoid division by zero + if ($result != 0.0) { + $dx = $error / $result; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($x, 12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * CONFIDENCE + * + * Returns the confidence interval for a population mean + * + * @param float $alpha + * @param float $stdDev Standard Deviation + * @param float $size + * @return float + * + */ + public static function CONFIDENCE($alpha, $stdDev, $size) + { + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + $size = floor(PHPExcel_Calculation_Functions::flattenSingleValue($size)); + + if ((is_numeric($alpha)) && (is_numeric($stdDev)) && (is_numeric($size))) { + if (($alpha <= 0) || ($alpha >= 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($stdDev <= 0) || ($size < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::NORMSINV(1 - $alpha / 2) * $stdDev / sqrt($size); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * CORREL + * + * Returns covariance, the average of the products of deviations for each data point pair. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function CORREL($yValues, $xValues = null) + { + if ((is_null($xValues)) || (!is_array($yValues)) || (!is_array($xValues))) { + return PHPExcel_Calculation_Functions::VALUE(); + } + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getCorrelation(); + } + + + /** + * COUNT + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * COUNT(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNT() + { + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + ++$returnValue; + } + } + + return $returnValue; + } + + + /** + * COUNTA + * + * Counts the number of cells that are not empty within the list of arguments + * + * Excel Function: + * COUNTA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNTA() + { + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric, boolean or string value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + ++$returnValue; + } + } + + return $returnValue; + } + + + /** + * COUNTBLANK + * + * Counts the number of empty cells within the list of arguments + * + * Excel Function: + * COUNTBLANK(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return int + */ + public static function COUNTBLANK() + { + $returnValue = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a blank cell? + if ((is_null($arg)) || ((is_string($arg)) && ($arg == ''))) { + ++$returnValue; + } + } + + return $returnValue; + } + + + /** + * COUNTIF + * + * Counts the number of cells that contain numbers within the list of arguments + * + * Excel Function: + * COUNTIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be counted. + * @return int + */ + public static function COUNTIF($aArgs, $condition) + { + $returnValue = 0; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $condition = PHPExcel_Calculation_Functions::ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $arg) { + if (!is_numeric($arg)) { + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + // Is it a value within our criteria + ++$returnValue; + } + } + + return $returnValue; + } + + + /** + * COVAR + * + * Returns covariance, the average of the products of deviations for each data point pair. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function COVAR($yValues, $xValues) + { + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getCovariance(); + } + + + /** + * CRITBINOM + * + * Returns the smallest value for which the cumulative binomial distribution is greater + * than or equal to a criterion value + * + * See http://support.microsoft.com/kb/828117/ for details of the algorithm used + * + * @param float $trials number of Bernoulli trials + * @param float $probability probability of a success on each trial + * @param float $alpha criterion value + * @return int + * + * @todo Warning. This implementation differs from the algorithm detailed on the MS + * web site in that $CumPGuessMinus1 = $CumPGuess - 1 rather than $CumPGuess - $PGuess + * This eliminates a potential endless loop error, but may have an adverse affect on the + * accuracy of the function (although all my tests have so far returned correct results). + * + */ + public static function CRITBINOM($trials, $probability, $alpha) + { + $trials = floor(PHPExcel_Calculation_Functions::flattenSingleValue($trials)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + + if ((is_numeric($trials)) && (is_numeric($probability)) && (is_numeric($alpha))) { + if ($trials < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($alpha < 0) || ($alpha > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif ($alpha <= 0.5) { + $t = sqrt(log(1 / ($alpha * $alpha))); + $trialsApprox = 0 - ($t + (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t)); + } else { + $t = sqrt(log(1 / pow(1 - $alpha, 2))); + $trialsApprox = $t - (2.515517 + 0.802853 * $t + 0.010328 * $t * $t) / (1 + 1.432788 * $t + 0.189269 * $t * $t + 0.001308 * $t * $t * $t); + } + $Guess = floor($trials * $probability + $trialsApprox * sqrt($trials * $probability * (1 - $probability))); + if ($Guess < 0) { + $Guess = 0; + } elseif ($Guess > $trials) { + $Guess = $trials; + } + + $TotalUnscaledProbability = $UnscaledPGuess = $UnscaledCumPGuess = 0.0; + $EssentiallyZero = 10e-12; + + $m = floor($trials * $probability); + ++$TotalUnscaledProbability; + if ($m == $Guess) { + ++$UnscaledPGuess; + } + if ($m <= $Guess) { + ++$UnscaledCumPGuess; + } + + $PreviousValue = 1; + $Done = false; + $k = $m + 1; + while ((!$Done) && ($k <= $trials)) { + $CurrentValue = $PreviousValue * ($trials - $k + 1) * $probability / ($k * (1 - $probability)); + $TotalUnscaledProbability += $CurrentValue; + if ($k == $Guess) { + $UnscaledPGuess += $CurrentValue; + } + if ($k <= $Guess) { + $UnscaledCumPGuess += $CurrentValue; + } + if ($CurrentValue <= $EssentiallyZero) { + $Done = true; + } + $PreviousValue = $CurrentValue; + ++$k; + } + + $PreviousValue = 1; + $Done = false; + $k = $m - 1; + while ((!$Done) && ($k >= 0)) { + $CurrentValue = $PreviousValue * $k + 1 * (1 - $probability) / (($trials - $k) * $probability); + $TotalUnscaledProbability += $CurrentValue; + if ($k == $Guess) { + $UnscaledPGuess += $CurrentValue; + } + if ($k <= $Guess) { + $UnscaledCumPGuess += $CurrentValue; + } + if ($CurrentValue <= $EssentiallyZero) { + $Done = true; + } + $PreviousValue = $CurrentValue; + --$k; + } + + $PGuess = $UnscaledPGuess / $TotalUnscaledProbability; + $CumPGuess = $UnscaledCumPGuess / $TotalUnscaledProbability; + +// $CumPGuessMinus1 = $CumPGuess - $PGuess; + $CumPGuessMinus1 = $CumPGuess - 1; + + while (true) { + if (($CumPGuessMinus1 < $alpha) && ($CumPGuess >= $alpha)) { + return $Guess; + } elseif (($CumPGuessMinus1 < $alpha) && ($CumPGuess < $alpha)) { + $PGuessPlus1 = $PGuess * ($trials - $Guess) * $probability / $Guess / (1 - $probability); + $CumPGuessMinus1 = $CumPGuess; + $CumPGuess = $CumPGuess + $PGuessPlus1; + $PGuess = $PGuessPlus1; + ++$Guess; + } elseif (($CumPGuessMinus1 >= $alpha) && ($CumPGuess >= $alpha)) { + $PGuessMinus1 = $PGuess * $Guess * (1 - $probability) / ($trials - $Guess + 1) / $probability; + $CumPGuess = $CumPGuessMinus1; + $CumPGuessMinus1 = $CumPGuessMinus1 - $PGuess; + $PGuess = $PGuessMinus1; + --$Guess; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * DEVSQ + * + * Returns the sum of squares of deviations of data points from their sample mean. + * + * Excel Function: + * DEVSQ(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function DEVSQ() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if ($aMean != PHPExcel_Calculation_Functions::DIV0()) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + // Is it a numeric value? + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || + (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean), 2); + } else { + $returnValue += pow(($arg - $aMean), 2); + } + ++$aCount; + } + } + + // Return + if (is_null($returnValue)) { + return PHPExcel_Calculation_Functions::NaN(); + } else { + return $returnValue; + } + } + return self::NA(); + } + + + /** + * EXPONDIST + * + * Returns the exponential distribution. Use EXPONDIST to model the time between events, + * such as how long an automated bank teller takes to deliver cash. For example, you can + * use EXPONDIST to determine the probability that the process takes at most 1 minute. + * + * @param float $value Value of the function + * @param float $lambda The parameter value + * @param boolean $cumulative + * @return float + */ + public static function EXPONDIST($value, $lambda, $cumulative) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $lambda = PHPExcel_Calculation_Functions::flattenSingleValue($lambda); + $cumulative = PHPExcel_Calculation_Functions::flattenSingleValue($cumulative); + + if ((is_numeric($value)) && (is_numeric($lambda))) { + if (($value < 0) || ($lambda < 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 1 - exp(0-$value*$lambda); + } else { + return $lambda * exp(0-$value*$lambda); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * FISHER + * + * Returns the Fisher transformation at x. This transformation produces a function that + * is normally distributed rather than skewed. Use this function to perform hypothesis + * testing on the correlation coefficient. + * + * @param float $value + * @return float + */ + public static function FISHER($value) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + if (($value <= -1) || ($value >= 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return 0.5 * log((1+$value)/(1-$value)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * FISHERINV + * + * Returns the inverse of the Fisher transformation. Use this transformation when + * analyzing correlations between ranges or arrays of data. If y = FISHER(x), then + * FISHERINV(y) = x. + * + * @param float $value + * @return float + */ + public static function FISHERINV($value) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + return (exp(2 * $value) - 1) / (exp(2 * $value) + 1); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * FORECAST + * + * Calculates, or predicts, a future value by using existing values. The predicted value is a y-value for a given x-value. + * + * @param float Value of X for which we want to find Y + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function FORECAST($xValue, $yValues, $xValues) + { + $xValue = PHPExcel_Calculation_Functions::flattenSingleValue($xValue); + if (!is_numeric($xValue)) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getValueOfYForX($xValue); + } + + + /** + * GAMMADIST + * + * Returns the gamma distribution. + * + * @param float $value Value at which you want to evaluate the distribution + * @param float $a Parameter to the distribution + * @param float $b Parameter to the distribution + * @param boolean $cumulative + * @return float + * + */ + public static function GAMMADIST($value, $a, $b, $cumulative) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $a = PHPExcel_Calculation_Functions::flattenSingleValue($a); + $b = PHPExcel_Calculation_Functions::flattenSingleValue($b); + + if ((is_numeric($value)) && (is_numeric($a)) && (is_numeric($b))) { + if (($value < 0) || ($a <= 0) || ($b <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return self::incompleteGamma($a, $value / $b) / self::gamma($a); + } else { + return (1 / (pow($b, $a) * self::gamma($a))) * pow($value, $a-1) * exp(0-($value / $b)); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * GAMMAINV + * + * Returns the inverse of the beta distribution. + * + * @param float $probability Probability at which you want to evaluate the distribution + * @param float $alpha Parameter to the distribution + * @param float $beta Parameter to the distribution + * @return float + * + */ + public static function GAMMAINV($probability, $alpha, $beta) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + + if ((is_numeric($probability)) && (is_numeric($alpha)) && (is_numeric($beta))) { + if (($alpha <= 0) || ($beta <= 0) || ($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $xLo = 0; + $xHi = $alpha * $beta * 5; + + $x = $xNew = 1; + $error = $pdf = 0; + $dx = 1024; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $error = self::GAMMADIST($x, $alpha, $beta, true) - $probability; + if ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + $pdf = self::GAMMADIST($x, $alpha, $beta, false); + // Avoid division by zero + if ($pdf != 0.0) { + $dx = $error / $pdf; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($pdf == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return $x; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * GAMMALN + * + * Returns the natural logarithm of the gamma function. + * + * @param float $value + * @return float + */ + public static function GAMMALN($value) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_numeric($value)) { + if ($value <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return log(self::gamma($value)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * GEOMEAN + * + * Returns the geometric mean of an array or range of positive data. For example, you + * can use GEOMEAN to calculate average growth rate given compound interest with + * variable rates. + * + * Excel Function: + * GEOMEAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function GEOMEAN() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $aMean = PHPExcel_Calculation_MathTrig::PRODUCT($aArgs); + if (is_numeric($aMean) && ($aMean > 0)) { + $aCount = self::COUNT($aArgs) ; + if (self::MIN($aArgs) > 0) { + return pow($aMean, (1 / $aCount)); + } + } + return PHPExcel_Calculation_Functions::NaN(); + } + + + /** + * GROWTH + * + * Returns values along a predicted emponential trend + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param array of mixed Values of X for which we want to find Y + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @return array of float + */ + public static function GROWTH($yValues, $xValues = array(), $newValues = array(), $const = true) + { + $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); + $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); + $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); + $const = (is_null($const)) ? true : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + + $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL, $yValues, $xValues, $const); + if (empty($newValues)) { + $newValues = $bestFitExponential->getXValues(); + } + + $returnArray = array(); + foreach ($newValues as $xValue) { + $returnArray[0][] = $bestFitExponential->getValueOfYForX($xValue); + } + + return $returnArray; + } + + + /** + * HARMEAN + * + * Returns the harmonic mean of a data set. The harmonic mean is the reciprocal of the + * arithmetic mean of reciprocals. + * + * Excel Function: + * HARMEAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function HARMEAN() + { + // Return value + $returnValue = PHPExcel_Calculation_Functions::NA(); + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + if (self::MIN($aArgs) < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + $aCount = 0; + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ($arg <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (is_null($returnValue)) { + $returnValue = (1 / $arg); + } else { + $returnValue += (1 / $arg); + } + ++$aCount; + } + } + + // Return + if ($aCount > 0) { + return 1 / ($returnValue / $aCount); + } else { + return $returnValue; + } + } + + + /** + * HYPGEOMDIST + * + * Returns the hypergeometric distribution. HYPGEOMDIST returns the probability of a given number of + * sample successes, given the sample size, population successes, and population size. + * + * @param float $sampleSuccesses Number of successes in the sample + * @param float $sampleNumber Size of the sample + * @param float $populationSuccesses Number of successes in the population + * @param float $populationNumber Population size + * @return float + * + */ + public static function HYPGEOMDIST($sampleSuccesses, $sampleNumber, $populationSuccesses, $populationNumber) + { + $sampleSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleSuccesses)); + $sampleNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($sampleNumber)); + $populationSuccesses = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationSuccesses)); + $populationNumber = floor(PHPExcel_Calculation_Functions::flattenSingleValue($populationNumber)); + + if ((is_numeric($sampleSuccesses)) && (is_numeric($sampleNumber)) && (is_numeric($populationSuccesses)) && (is_numeric($populationNumber))) { + if (($sampleSuccesses < 0) || ($sampleSuccesses > $sampleNumber) || ($sampleSuccesses > $populationSuccesses)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($sampleNumber <= 0) || ($sampleNumber > $populationNumber)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (($populationSuccesses <= 0) || ($populationSuccesses > $populationNumber)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return PHPExcel_Calculation_MathTrig::COMBIN($populationSuccesses, $sampleSuccesses) * + PHPExcel_Calculation_MathTrig::COMBIN($populationNumber - $populationSuccesses, $sampleNumber - $sampleSuccesses) / + PHPExcel_Calculation_MathTrig::COMBIN($populationNumber, $sampleNumber); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * INTERCEPT + * + * Calculates the point at which a line will intersect the y-axis by using existing x-values and y-values. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function INTERCEPT($yValues, $xValues) + { + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getIntersect(); + } + + + /** + * KURT + * + * Returns the kurtosis of a data set. Kurtosis characterizes the relative peakedness + * or flatness of a distribution compared with the normal distribution. Positive + * kurtosis indicates a relatively peaked distribution. Negative kurtosis indicates a + * relatively flat distribution. + * + * @param array Data Series + * @return float + */ + public static function KURT() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $mean = self::AVERAGE($aArgs); + $stdDev = self::STDEV($aArgs); + + if ($stdDev > 0) { + $count = $summer = 0; + // Loop through arguments + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summer += pow((($arg - $mean) / $stdDev), 4); + ++$count; + } + } + } + + // Return + if ($count > 3) { + return $summer * ($count * ($count+1) / (($count-1) * ($count-2) * ($count-3))) - (3 * pow($count-1, 2) / (($count-2) * ($count-3))); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * LARGE + * + * Returns the nth largest value in a data set. You can use this function to + * select a value based on its relative standing. + * + * Excel Function: + * LARGE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Position (ordered from the largest) in the array or range of data to return + * @return float + * + */ + public static function LARGE() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = floor(array_pop($aArgs)); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $count = self::COUNT($mArgs); + $entry = floor(--$entry); + if (($entry < 0) || ($entry >= $count) || ($count == 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + rsort($mArgs); + return $mArgs[$entry]; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * LINEST + * + * Calculates the statistics for a line by using the "least squares" method to calculate a straight line that best fits your data, + * and then returns an array that describes the line. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @param boolean A logical value specifying whether to return additional regression statistics. + * @return array + */ + public static function LINEST($yValues, $xValues = null, $const = true, $stats = false) + { + $const = (is_null($const)) ? true : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + $stats = (is_null($stats)) ? false : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); + if (is_null($xValues)) { + $xValues = range(1, count(PHPExcel_Calculation_Functions::flattenArray($yValues))); + } + + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return 0; + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues, $const); + if ($stats) { + return array( + array( + $bestFitLinear->getSlope(), + $bestFitLinear->getSlopeSE(), + $bestFitLinear->getGoodnessOfFit(), + $bestFitLinear->getF(), + $bestFitLinear->getSSRegression(), + ), + array( + $bestFitLinear->getIntersect(), + $bestFitLinear->getIntersectSE(), + $bestFitLinear->getStdevOfResiduals(), + $bestFitLinear->getDFResiduals(), + $bestFitLinear->getSSResiduals() + ) + ); + } else { + return array( + $bestFitLinear->getSlope(), + $bestFitLinear->getIntersect() + ); + } + } + + + /** + * LOGEST + * + * Calculates an exponential curve that best fits the X and Y data series, + * and then returns an array that describes the line. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @param boolean A logical value specifying whether to return additional regression statistics. + * @return array + */ + public static function LOGEST($yValues, $xValues = null, $const = true, $stats = false) + { + $const = (is_null($const)) ? true : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + $stats = (is_null($stats)) ? false : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($stats); + if (is_null($xValues)) { + $xValues = range(1, count(PHPExcel_Calculation_Functions::flattenArray($yValues))); + } + + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + foreach ($yValues as $value) { + if ($value <= 0.0) { + return PHPExcel_Calculation_Functions::NaN(); + } + } + + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return 1; + } + + $bestFitExponential = trendClass::calculate(trendClass::TREND_EXPONENTIAL, $yValues, $xValues, $const); + if ($stats) { + return array( + array( + $bestFitExponential->getSlope(), + $bestFitExponential->getSlopeSE(), + $bestFitExponential->getGoodnessOfFit(), + $bestFitExponential->getF(), + $bestFitExponential->getSSRegression(), + ), + array( + $bestFitExponential->getIntersect(), + $bestFitExponential->getIntersectSE(), + $bestFitExponential->getStdevOfResiduals(), + $bestFitExponential->getDFResiduals(), + $bestFitExponential->getSSResiduals() + ) + ); + } else { + return array( + $bestFitExponential->getSlope(), + $bestFitExponential->getIntersect() + ); + } + } + + + /** + * LOGINV + * + * Returns the inverse of the normal cumulative distribution + * + * @param float $probability + * @param float $mean + * @param float $stdDev + * @return float + * + * @todo Try implementing P J Acklam's refinement algorithm for greater + * accuracy if I can get my head round the mathematics + * (as described at) http://home.online.no/~pjacklam/notes/invnorm/ + */ + public static function LOGINV($probability, $mean, $stdDev) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($probability < 0) || ($probability > 1) || ($stdDev <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return exp($mean + $stdDev * self::NORMSINV($probability)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * LOGNORMDIST + * + * Returns the cumulative lognormal distribution of x, where ln(x) is normally distributed + * with parameters mean and standard_dev. + * + * @param float $value + * @param float $mean + * @param float $stdDev + * @return float + */ + public static function LOGNORMDIST($value, $mean, $stdDev) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($value <= 0) || ($stdDev <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::NORMSDIST((log($value) - $mean) / $stdDev); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * MAX + * + * MAX returns the value of the element of the values passed that has the highest value, + * with negative numbers considered smaller than positive numbers. + * + * Excel Function: + * MAX(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MAX() + { + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } + + + /** + * MAXA + * + * Returns the greatest value in a list of arguments, including numbers, text, and logical values + * + * Excel Function: + * MAXA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MAXA() + { + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } + + + /** + * MAXIF + * + * Counts the maximum value within a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * MAXIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @return float + */ + public static function MAXIF($aArgs, $condition, $sumArgs = array()) + { + $returnValue = null; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg > $returnValue)) { + $returnValue = $arg; + } + } + } + + return $returnValue; + } + + /** + * MEDIAN + * + * Returns the median of the given numbers. The median is the number in the middle of a set of numbers. + * + * Excel Function: + * MEDIAN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MEDIAN() + { + $returnValue = PHPExcel_Calculation_Functions::NaN(); + + $mArgs = array(); + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + + $mValueCount = count($mArgs); + if ($mValueCount > 0) { + sort($mArgs, SORT_NUMERIC); + $mValueCount = $mValueCount / 2; + if ($mValueCount == floor($mValueCount)) { + $returnValue = ($mArgs[$mValueCount--] + $mArgs[$mValueCount]) / 2; + } else { + $mValueCount = floor($mValueCount); + $returnValue = $mArgs[$mValueCount]; + } + } + + return $returnValue; + } + + + /** + * MIN + * + * MIN returns the value of the element of the values passed that has the smallest value, + * with negative numbers considered smaller than positive numbers. + * + * Excel Function: + * MIN(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MIN() + { + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } + + + /** + * MINA + * + * Returns the smallest value in a list of arguments, including numbers, text, and logical values + * + * Excel Function: + * MINA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MINA() + { + $returnValue = null; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) && ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + if (is_null($returnValue)) { + return 0; + } + return $returnValue; + } + + + /** + * MINIF + * + * Returns the minimum value within a range of cells that contain numbers within the list of arguments + * + * Excel Function: + * MINIF(value1[,value2[, ...]],condition) + * + * @access public + * @category Mathematical and Trigonometric Functions + * @param mixed $arg,... Data values + * @param string $condition The criteria that defines which cells will be checked. + * @return float + */ + public static function MINIF($aArgs, $condition, $sumArgs = array()) + { + $returnValue = null; + + $aArgs = PHPExcel_Calculation_Functions::flattenArray($aArgs); + $sumArgs = PHPExcel_Calculation_Functions::flattenArray($sumArgs); + if (empty($sumArgs)) { + $sumArgs = $aArgs; + } + $condition = PHPExcel_Calculation_Functions::ifCondition($condition); + // Loop through arguments + foreach ($aArgs as $key => $arg) { + if (!is_numeric($arg)) { + $arg = PHPExcel_Calculation::wrapResult(strtoupper($arg)); + } + $testCondition = '='.$arg.$condition; + if (PHPExcel_Calculation::getInstance()->_calculateFormulaValue($testCondition)) { + if ((is_null($returnValue)) || ($arg < $returnValue)) { + $returnValue = $arg; + } + } + } + + return $returnValue; + } + + + // + // Special variant of array_count_values that isn't limited to strings and integers, + // but can work with floating point numbers as values + // + private static function modeCalc($data) + { + $frequencyArray = array(); + foreach ($data as $datum) { + $found = false; + foreach ($frequencyArray as $key => $value) { + if ((string) $value['value'] == (string) $datum) { + ++$frequencyArray[$key]['frequency']; + $found = true; + break; + } + } + if (!$found) { + $frequencyArray[] = array( + 'value' => $datum, + 'frequency' => 1 + ); + } + } + + foreach ($frequencyArray as $key => $value) { + $frequencyList[$key] = $value['frequency']; + $valueList[$key] = $value['value']; + } + array_multisort($frequencyList, SORT_DESC, $valueList, SORT_ASC, SORT_NUMERIC, $frequencyArray); + + if ($frequencyArray[0]['frequency'] == 1) { + return PHPExcel_Calculation_Functions::NA(); + } + return $frequencyArray[0]['value']; + } + + + /** + * MODE + * + * Returns the most frequently occurring, or repetitive, value in an array or range of data + * + * Excel Function: + * MODE(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function MODE() + { + $returnValue = PHPExcel_Calculation_Functions::NA(); + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + + if (!empty($mArgs)) { + return self::modeCalc($mArgs); + } + + return $returnValue; + } + + + /** + * NEGBINOMDIST + * + * Returns the negative binomial distribution. NEGBINOMDIST returns the probability that + * there will be number_f failures before the number_s-th success, when the constant + * probability of a success is probability_s. This function is similar to the binomial + * distribution, except that the number of successes is fixed, and the number of trials is + * variable. Like the binomial, trials are assumed to be independent. + * + * @param float $failures Number of Failures + * @param float $successes Threshold number of Successes + * @param float $probability Probability of success on each trial + * @return float + * + */ + public static function NEGBINOMDIST($failures, $successes, $probability) + { + $failures = floor(PHPExcel_Calculation_Functions::flattenSingleValue($failures)); + $successes = floor(PHPExcel_Calculation_Functions::flattenSingleValue($successes)); + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + + if ((is_numeric($failures)) && (is_numeric($successes)) && (is_numeric($probability))) { + if (($failures < 0) || ($successes < 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } elseif (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_GNUMERIC) { + if (($failures + $successes - 1) <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + } + return (PHPExcel_Calculation_MathTrig::COMBIN($failures + $successes - 1, $successes - 1)) * (pow($probability, $successes)) * (pow(1 - $probability, $failures)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * NORMDIST + * + * Returns the normal distribution for the specified mean and standard deviation. This + * function has a very wide range of applications in statistics, including hypothesis + * testing. + * + * @param float $value + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @param boolean $cumulative + * @return float + * + */ + public static function NORMDIST($value, $mean, $stdDev, $cumulative) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if ($stdDev < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 0.5 * (1 + PHPExcel_Calculation_Engineering::erfVal(($value - $mean) / ($stdDev * sqrt(2)))); + } else { + return (1 / (SQRT2PI * $stdDev)) * exp(0 - (pow($value - $mean, 2) / (2 * ($stdDev * $stdDev)))); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * NORMINV + * + * Returns the inverse of the normal cumulative distribution for the specified mean and standard deviation. + * + * @param float $value + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @return float + * + */ + public static function NORMINV($probability, $mean, $stdDev) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($probability)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if (($probability < 0) || ($probability > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ($stdDev < 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return (self::inverseNcdf($probability) * $stdDev) + $mean; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * NORMSDIST + * + * Returns the standard normal cumulative distribution function. The distribution has + * a mean of 0 (zero) and a standard deviation of one. Use this function in place of a + * table of standard normal curve areas. + * + * @param float $value + * @return float + */ + public static function NORMSDIST($value) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + return self::NORMDIST($value, 0, 1, true); + } + + + /** + * NORMSINV + * + * Returns the inverse of the standard normal cumulative distribution + * + * @param float $value + * @return float + */ + public static function NORMSINV($value) + { + return self::NORMINV($value, 0, 1); + } + + + /** + * PERCENTILE + * + * Returns the nth percentile of values in a range.. + * + * Excel Function: + * PERCENTILE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param float $entry Percentile value in the range 0..1, inclusive. + * @return float + */ + public static function PERCENTILE() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = array_pop($aArgs); + + if ((is_numeric($entry)) && (!is_string($entry))) { + if (($entry < 0) || ($entry > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $mValueCount = count($mArgs); + if ($mValueCount > 0) { + sort($mArgs); + $count = self::COUNT($mArgs); + $index = $entry * ($count-1); + $iBase = floor($index); + if ($index == $iBase) { + return $mArgs[$index]; + } else { + $iNext = $iBase + 1; + $iProportion = $index - $iBase; + return $mArgs[$iBase] + (($mArgs[$iNext] - $mArgs[$iBase]) * $iProportion) ; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * PERCENTRANK + * + * Returns the rank of a value in a data set as a percentage of the data set. + * + * @param array of number An array of, or a reference to, a list of numbers. + * @param number The number whose rank you want to find. + * @param number The number of significant digits for the returned percentage value. + * @return float + */ + public static function PERCENTRANK($valueSet, $value, $significance = 3) + { + $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $significance = (is_null($significance)) ? 3 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($significance); + + foreach ($valueSet as $key => $valueEntry) { + if (!is_numeric($valueEntry)) { + unset($valueSet[$key]); + } + } + sort($valueSet, SORT_NUMERIC); + $valueCount = count($valueSet); + if ($valueCount == 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + + $valueAdjustor = $valueCount - 1; + if (($value < $valueSet[0]) || ($value > $valueSet[$valueAdjustor])) { + return PHPExcel_Calculation_Functions::NA(); + } + + $pos = array_search($value, $valueSet); + if ($pos === false) { + $pos = 0; + $testValue = $valueSet[0]; + while ($testValue < $value) { + $testValue = $valueSet[++$pos]; + } + --$pos; + $pos += (($value - $valueSet[$pos]) / ($testValue - $valueSet[$pos])); + } + + return round($pos / $valueAdjustor, $significance); + } + + + /** + * PERMUT + * + * Returns the number of permutations for a given number of objects that can be + * selected from number objects. A permutation is any set or subset of objects or + * events where internal order is significant. Permutations are different from + * combinations, for which the internal order is not significant. Use this function + * for lottery-style probability calculations. + * + * @param int $numObjs Number of different objects + * @param int $numInSet Number of objects in each permutation + * @return int Number of permutations + */ + public static function PERMUT($numObjs, $numInSet) + { + $numObjs = PHPExcel_Calculation_Functions::flattenSingleValue($numObjs); + $numInSet = PHPExcel_Calculation_Functions::flattenSingleValue($numInSet); + + if ((is_numeric($numObjs)) && (is_numeric($numInSet))) { + $numInSet = floor($numInSet); + if ($numObjs < $numInSet) { + return PHPExcel_Calculation_Functions::NaN(); + } + return round(PHPExcel_Calculation_MathTrig::FACT($numObjs) / PHPExcel_Calculation_MathTrig::FACT($numObjs - $numInSet)); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * POISSON + * + * Returns the Poisson distribution. A common application of the Poisson distribution + * is predicting the number of events over a specific time, such as the number of + * cars arriving at a toll plaza in 1 minute. + * + * @param float $value + * @param float $mean Mean Value + * @param boolean $cumulative + * @return float + * + */ + public static function POISSON($value, $mean, $cumulative) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + + if ((is_numeric($value)) && (is_numeric($mean))) { + if (($value < 0) || ($mean <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + $summer = 0; + for ($i = 0; $i <= floor($value); ++$i) { + $summer += pow($mean, $i) / PHPExcel_Calculation_MathTrig::FACT($i); + } + return exp(0-$mean) * $summer; + } else { + return (exp(0-$mean) * pow($mean, $value)) / PHPExcel_Calculation_MathTrig::FACT($value); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * QUARTILE + * + * Returns the quartile of a data set. + * + * Excel Function: + * QUARTILE(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Quartile value in the range 1..3, inclusive. + * @return float + */ + public static function QUARTILE() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = floor(array_pop($aArgs)); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $entry /= 4; + if (($entry < 0) || ($entry > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + return self::PERCENTILE($aArgs, $entry); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * RANK + * + * Returns the rank of a number in a list of numbers. + * + * @param number The number whose rank you want to find. + * @param array of number An array of, or a reference to, a list of numbers. + * @param mixed Order to sort the values in the value set + * @return float + */ + public static function RANK($value, $valueSet, $order = 0) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $valueSet = PHPExcel_Calculation_Functions::flattenArray($valueSet); + $order = (is_null($order)) ? 0 : (integer) PHPExcel_Calculation_Functions::flattenSingleValue($order); + + foreach ($valueSet as $key => $valueEntry) { + if (!is_numeric($valueEntry)) { + unset($valueSet[$key]); + } + } + + if ($order == 0) { + rsort($valueSet, SORT_NUMERIC); + } else { + sort($valueSet, SORT_NUMERIC); + } + $pos = array_search($value, $valueSet); + if ($pos === false) { + return PHPExcel_Calculation_Functions::NA(); + } + + return ++$pos; + } + + + /** + * RSQ + * + * Returns the square of the Pearson product moment correlation coefficient through data points in known_y's and known_x's. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function RSQ($yValues, $xValues) + { + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getGoodnessOfFit(); + } + + + /** + * SKEW + * + * Returns the skewness of a distribution. Skewness characterizes the degree of asymmetry + * of a distribution around its mean. Positive skewness indicates a distribution with an + * asymmetric tail extending toward more positive values. Negative skewness indicates a + * distribution with an asymmetric tail extending toward more negative values. + * + * @param array Data Series + * @return float + */ + public static function SKEW() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $mean = self::AVERAGE($aArgs); + $stdDev = self::STDEV($aArgs); + + $count = $summer = 0; + // Loop through arguments + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summer += pow((($arg - $mean) / $stdDev), 3); + ++$count; + } + } + } + + if ($count > 2) { + return $summer * ($count / (($count-1) * ($count-2))); + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * SLOPE + * + * Returns the slope of the linear regression line through data points in known_y's and known_x's. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function SLOPE($yValues, $xValues) + { + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getSlope(); + } + + + /** + * SMALL + * + * Returns the nth smallest value in a data set. You can use this function to + * select a value based on its relative standing. + * + * Excel Function: + * SMALL(value1[,value2[, ...]],entry) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param int $entry Position (ordered from the smallest) in the array or range of data to return + * @return float + */ + public static function SMALL() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $entry = array_pop($aArgs); + + if ((is_numeric($entry)) && (!is_string($entry))) { + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $count = self::COUNT($mArgs); + $entry = floor(--$entry); + if (($entry < 0) || ($entry >= $count) || ($count == 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + sort($mArgs); + return $mArgs[$entry]; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * STANDARDIZE + * + * Returns a normalized value from a distribution characterized by mean and standard_dev. + * + * @param float $value Value to normalize + * @param float $mean Mean Value + * @param float $stdDev Standard Deviation + * @return float Standardized value + */ + public static function STANDARDIZE($value, $mean, $stdDev) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $mean = PHPExcel_Calculation_Functions::flattenSingleValue($mean); + $stdDev = PHPExcel_Calculation_Functions::flattenSingleValue($stdDev); + + if ((is_numeric($value)) && (is_numeric($mean)) && (is_numeric($stdDev))) { + if ($stdDev <= 0) { + return PHPExcel_Calculation_Functions::NaN(); + } + return ($value - $mean) / $stdDev ; + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * STDEV + * + * Estimates standard deviation based on a sample. The standard deviation is a measure of how + * widely values are dispersed from the average value (the mean). + * + * Excel Function: + * STDEV(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEV() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + // Return value + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if (!is_null($aMean)) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean), 2); + } else { + $returnValue += pow(($arg - $aMean), 2); + } + ++$aCount; + } + } + + // Return + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * STDEVA + * + * Estimates standard deviation based on a sample, including numbers, text, and logical values + * + * Excel Function: + * STDEVA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVA() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + $returnValue = null; + + $aMean = self::AVERAGEA($aArgs); + if (!is_null($aMean)) { + $aCount = -1; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean), 2); + } else { + $returnValue += pow(($arg - $aMean), 2); + } + ++$aCount; + } + } + } + + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * STDEVP + * + * Calculates standard deviation based on the entire population + * + * Excel Function: + * STDEVP(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVP() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + $returnValue = null; + + $aMean = self::AVERAGE($aArgs); + if (!is_null($aMean)) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + ((!PHPExcel_Calculation_Functions::isCellValue($k)) || (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE))) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean), 2); + } else { + $returnValue += pow(($arg - $aMean), 2); + } + ++$aCount; + } + } + + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * STDEVPA + * + * Calculates standard deviation based on the entire population, including numbers, text, and logical values + * + * Excel Function: + * STDEVPA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function STDEVPA() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + + $returnValue = null; + + $aMean = self::AVERAGEA($aArgs); + if (!is_null($aMean)) { + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_bool($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + if (is_null($returnValue)) { + $returnValue = pow(($arg - $aMean), 2); + } else { + $returnValue += pow(($arg - $aMean), 2); + } + ++$aCount; + } + } + } + + if (($aCount > 0) && ($returnValue >= 0)) { + return sqrt($returnValue / $aCount); + } + } + return PHPExcel_Calculation_Functions::DIV0(); + } + + + /** + * STEYX + * + * Returns the standard error of the predicted y-value for each x in the regression. + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @return float + */ + public static function STEYX($yValues, $xValues) + { + if (!self::checkTrendArrays($yValues, $xValues)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $yValueCount = count($yValues); + $xValueCount = count($xValues); + + if (($yValueCount == 0) || ($yValueCount != $xValueCount)) { + return PHPExcel_Calculation_Functions::NA(); + } elseif ($yValueCount == 1) { + return PHPExcel_Calculation_Functions::DIV0(); + } + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues); + return $bestFitLinear->getStdevOfResiduals(); + } + + + /** + * TDIST + * + * Returns the probability of Student's T distribution. + * + * @param float $value Value for the function + * @param float $degrees degrees of freedom + * @param float $tails number of tails (1 or 2) + * @return float + */ + public static function TDIST($value, $degrees, $tails) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + $tails = floor(PHPExcel_Calculation_Functions::flattenSingleValue($tails)); + + if ((is_numeric($value)) && (is_numeric($degrees)) && (is_numeric($tails))) { + if (($value < 0) || ($degrees < 1) || ($tails < 1) || ($tails > 2)) { + return PHPExcel_Calculation_Functions::NaN(); + } + // tdist, which finds the probability that corresponds to a given value + // of t with k degrees of freedom. This algorithm is translated from a + // pascal function on p81 of "Statistical Computing in Pascal" by D + // Cooke, A H Craven & G M Clark (1985: Edward Arnold (Pubs.) Ltd: + // London). The above Pascal algorithm is itself a translation of the + // fortran algoritm "AS 3" by B E Cooper of the Atlas Computer + // Laboratory as reported in (among other places) "Applied Statistics + // Algorithms", editied by P Griffiths and I D Hill (1985; Ellis + // Horwood Ltd.; W. Sussex, England). + $tterm = $degrees; + $ttheta = atan2($value, sqrt($tterm)); + $tc = cos($ttheta); + $ts = sin($ttheta); + $tsum = 0; + + if (($degrees % 2) == 1) { + $ti = 3; + $tterm = $tc; + } else { + $ti = 2; + $tterm = 1; + } + + $tsum = $tterm; + while ($ti < $degrees) { + $tterm *= $tc * $tc * ($ti - 1) / $ti; + $tsum += $tterm; + $ti += 2; + } + $tsum *= $ts; + if (($degrees % 2) == 1) { + $tsum = M_2DIVPI * ($tsum + $ttheta); + } + $tValue = 0.5 * (1 + $tsum); + if ($tails == 1) { + return 1 - abs($tValue); + } else { + return 1 - abs((1 - $tValue) - $tValue); + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * TINV + * + * Returns the one-tailed probability of the chi-squared distribution. + * + * @param float $probability Probability for the function + * @param float $degrees degrees of freedom + * @return float + */ + public static function TINV($probability, $degrees) + { + $probability = PHPExcel_Calculation_Functions::flattenSingleValue($probability); + $degrees = floor(PHPExcel_Calculation_Functions::flattenSingleValue($degrees)); + + if ((is_numeric($probability)) && (is_numeric($degrees))) { + $xLo = 100; + $xHi = 0; + + $x = $xNew = 1; + $dx = 1; + $i = 0; + + while ((abs($dx) > PRECISION) && ($i++ < MAX_ITERATIONS)) { + // Apply Newton-Raphson step + $result = self::TDIST($x, $degrees, 2); + $error = $result - $probability; + if ($error == 0.0) { + $dx = 0; + } elseif ($error < 0.0) { + $xLo = $x; + } else { + $xHi = $x; + } + // Avoid division by zero + if ($result != 0.0) { + $dx = $error / $result; + $xNew = $x - $dx; + } + // If the NR fails to converge (which for example may be the + // case if the initial guess is too rough) we apply a bisection + // step to determine a more narrow interval around the root. + if (($xNew < $xLo) || ($xNew > $xHi) || ($result == 0.0)) { + $xNew = ($xLo + $xHi) / 2; + $dx = $xNew - $x; + } + $x = $xNew; + } + if ($i == MAX_ITERATIONS) { + return PHPExcel_Calculation_Functions::NA(); + } + return round($x, 12); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * TREND + * + * Returns values along a linear trend + * + * @param array of mixed Data Series Y + * @param array of mixed Data Series X + * @param array of mixed Values of X for which we want to find Y + * @param boolean A logical value specifying whether to force the intersect to equal 0. + * @return array of float + */ + public static function TREND($yValues, $xValues = array(), $newValues = array(), $const = true) + { + $yValues = PHPExcel_Calculation_Functions::flattenArray($yValues); + $xValues = PHPExcel_Calculation_Functions::flattenArray($xValues); + $newValues = PHPExcel_Calculation_Functions::flattenArray($newValues); + $const = (is_null($const)) ? true : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($const); + + $bestFitLinear = trendClass::calculate(trendClass::TREND_LINEAR, $yValues, $xValues, $const); + if (empty($newValues)) { + $newValues = $bestFitLinear->getXValues(); + } + + $returnArray = array(); + foreach ($newValues as $xValue) { + $returnArray[0][] = $bestFitLinear->getValueOfYForX($xValue); + } + + return $returnArray; + } + + + /** + * TRIMMEAN + * + * Returns the mean of the interior of a data set. TRIMMEAN calculates the mean + * taken by excluding a percentage of data points from the top and bottom tails + * of a data set. + * + * Excel Function: + * TRIMEAN(value1[,value2[, ...]], $discard) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @param float $discard Percentage to discard + * @return float + */ + public static function TRIMMEAN() + { + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + + // Calculate + $percent = array_pop($aArgs); + + if ((is_numeric($percent)) && (!is_string($percent))) { + if (($percent < 0) || ($percent > 1)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $mArgs = array(); + foreach ($aArgs as $arg) { + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $mArgs[] = $arg; + } + } + $discard = floor(self::COUNT($mArgs) * $percent / 2); + sort($mArgs); + for ($i=0; $i < $discard; ++$i) { + array_pop($mArgs); + array_shift($mArgs); + } + return self::AVERAGE($mArgs); + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * VARFunc + * + * Estimates variance based on a sample. + * + * Excel Function: + * VAR(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARFunc() + { + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $aCount = 0; + foreach ($aArgs as $arg) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + + if ($aCount > 1) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); + } + return $returnValue; + } + + + /** + * VARA + * + * Estimates variance based on a sample, including numbers, text, and logical values + * + * Excel Function: + * VARA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARA() + { + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_string($arg)) && + (PHPExcel_Calculation_Functions::isValue($k))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ((is_string($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + } + + if ($aCount > 1) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * ($aCount - 1)); + } + return $returnValue; + } + + + /** + * VARP + * + * Calculates variance based on the entire population + * + * Excel Function: + * VARP(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARP() + { + // Return value + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + $aCount = 0; + foreach ($aArgs as $arg) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } + // Is it a numeric value? + if ((is_numeric($arg)) && (!is_string($arg))) { + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + + if ($aCount > 0) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * $aCount); + } + return $returnValue; + } + + + /** + * VARPA + * + * Calculates variance based on the entire population, including numbers, text, and logical values + * + * Excel Function: + * VARPA(value1[,value2[, ...]]) + * + * @access public + * @category Statistical Functions + * @param mixed $arg,... Data values + * @return float + */ + public static function VARPA() + { + $returnValue = PHPExcel_Calculation_Functions::DIV0(); + + $summerA = $summerB = 0; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArrayIndexed(func_get_args()); + $aCount = 0; + foreach ($aArgs as $k => $arg) { + if ((is_string($arg)) && + (PHPExcel_Calculation_Functions::isValue($k))) { + return PHPExcel_Calculation_Functions::VALUE(); + } elseif ((is_string($arg)) && + (!PHPExcel_Calculation_Functions::isMatrixValue($k))) { + } else { + // Is it a numeric value? + if ((is_numeric($arg)) || (is_bool($arg)) || ((is_string($arg) & ($arg != '')))) { + if (is_bool($arg)) { + $arg = (integer) $arg; + } elseif (is_string($arg)) { + $arg = 0; + } + $summerA += ($arg * $arg); + $summerB += $arg; + ++$aCount; + } + } + } + + if ($aCount > 0) { + $summerA *= $aCount; + $summerB *= $summerB; + $returnValue = ($summerA - $summerB) / ($aCount * $aCount); + } + return $returnValue; + } + + + /** + * WEIBULL + * + * Returns the Weibull distribution. Use this distribution in reliability + * analysis, such as calculating a device's mean time to failure. + * + * @param float $value + * @param float $alpha Alpha Parameter + * @param float $beta Beta Parameter + * @param boolean $cumulative + * @return float + * + */ + public static function WEIBULL($value, $alpha, $beta, $cumulative) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $alpha = PHPExcel_Calculation_Functions::flattenSingleValue($alpha); + $beta = PHPExcel_Calculation_Functions::flattenSingleValue($beta); + + if ((is_numeric($value)) && (is_numeric($alpha)) && (is_numeric($beta))) { + if (($value < 0) || ($alpha <= 0) || ($beta <= 0)) { + return PHPExcel_Calculation_Functions::NaN(); + } + if ((is_numeric($cumulative)) || (is_bool($cumulative))) { + if ($cumulative) { + return 1 - exp(0 - pow($value / $beta, $alpha)); + } else { + return ($alpha / pow($beta, $alpha)) * pow($value, $alpha - 1) * exp(0 - pow($value / $beta, $alpha)); + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * ZTEST + * + * Returns the Weibull distribution. Use this distribution in reliability + * analysis, such as calculating a device's mean time to failure. + * + * @param float $dataSet + * @param float $m0 Alpha Parameter + * @param float $sigma Beta Parameter + * @param boolean $cumulative + * @return float + * + */ + public static function ZTEST($dataSet, $m0, $sigma = null) + { + $dataSet = PHPExcel_Calculation_Functions::flattenArrayIndexed($dataSet); + $m0 = PHPExcel_Calculation_Functions::flattenSingleValue($m0); + $sigma = PHPExcel_Calculation_Functions::flattenSingleValue($sigma); + + if (is_null($sigma)) { + $sigma = self::STDEV($dataSet); + } + $n = count($dataSet); + + return 1 - self::NORMSDIST((self::AVERAGE($dataSet) - $m0) / ($sigma / SQRT($n))); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php index 148a5b756..6461d0601 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/TextData.php @@ -1,8 +1,18 @@ =0 && ord($c{0}) <= 127) - return ord($c{0}); - if (ord($c{0}) >= 192 && ord($c{0}) <= 223) - return (ord($c{0})-192)*64 + (ord($c{1})-128); - if (ord($c{0}) >= 224 && ord($c{0}) <= 239) - return (ord($c{0})-224)*4096 + (ord($c{1})-128)*64 + (ord($c{2})-128); - if (ord($c{0}) >= 240 && ord($c{0}) <= 247) - return (ord($c{0})-240)*262144 + (ord($c{1})-128)*4096 + (ord($c{2})-128)*64 + (ord($c{3})-128); - if (ord($c{0}) >= 248 && ord($c{0}) <= 251) - return (ord($c{0})-248)*16777216 + (ord($c{1})-128)*262144 + (ord($c{2})-128)*4096 + (ord($c{3})-128)*64 + (ord($c{4})-128); - if (ord($c{0}) >= 252 && ord($c{0}) <= 253) - return (ord($c{0})-252)*1073741824 + (ord($c{1})-128)*16777216 + (ord($c{2})-128)*262144 + (ord($c{3})-128)*4096 + (ord($c{4})-128)*64 + (ord($c{5})-128); - if (ord($c{0}) >= 254 && ord($c{0}) <= 255) //error - return PHPExcel_Calculation_Functions::VALUE(); - return 0; - } // function _uniord() - - /** - * CHARACTER - * - * @param string $character Value - * @return int - */ - public static function CHARACTER($character) { - $character = PHPExcel_Calculation_Functions::flattenSingleValue($character); - - if ((!is_numeric($character)) || ($character < 0)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (function_exists('mb_convert_encoding')) { - return mb_convert_encoding('&#'.intval($character).';', 'UTF-8', 'HTML-ENTITIES'); - } else { - return chr(intval($character)); - } - } - - - /** - * TRIMNONPRINTABLE - * - * @param mixed $stringValue Value to check - * @return string - */ - public static function TRIMNONPRINTABLE($stringValue = '') { - $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); - - if (is_bool($stringValue)) { - return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (self::$_invalidChars == Null) { - self::$_invalidChars = range(chr(0),chr(31)); - } - - if (is_string($stringValue) || is_numeric($stringValue)) { - return str_replace(self::$_invalidChars, '', trim($stringValue, "\x00..\x1F")); - } - return NULL; - } // function TRIMNONPRINTABLE() - - - /** - * TRIMSPACES - * - * @param mixed $stringValue Value to check - * @return string - */ - public static function TRIMSPACES($stringValue = '') { - $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); - if (is_bool($stringValue)) { - return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (is_string($stringValue) || is_numeric($stringValue)) { - return trim(preg_replace('/ +/',' ',trim($stringValue, ' ')), ' '); - } - return NULL; - } // function TRIMSPACES() - - - /** - * ASCIICODE - * - * @param string $characters Value - * @return int - */ - public static function ASCIICODE($characters) { - if (($characters === NULL) || ($characters === '')) - return PHPExcel_Calculation_Functions::VALUE(); - $characters = PHPExcel_Calculation_Functions::flattenSingleValue($characters); - if (is_bool($characters)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $characters = (int) $characters; - } else { - $characters = ($characters) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - } - - $character = $characters; - if ((function_exists('mb_strlen')) && (function_exists('mb_substr'))) { - if (mb_strlen($characters, 'UTF-8') > 1) { $character = mb_substr($characters, 0, 1, 'UTF-8'); } - return self::_uniord($character); - } else { - if (strlen($characters) > 0) { $character = substr($characters, 0, 1); } - return ord($character); - } - } // function ASCIICODE() - - - /** - * CONCATENATE - * - * @return string - */ - public static function CONCATENATE() { - // Return value - $returnValue = ''; - - // Loop through arguments - $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); - foreach ($aArgs as $arg) { - if (is_bool($arg)) { - if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { - $arg = (int) $arg; - } else { - $arg = ($arg) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - } - $returnValue .= $arg; - } - - // Return - return $returnValue; - } // function CONCATENATE() - - - /** - * DOLLAR - * - * This function converts a number to text using currency format, with the decimals rounded to the specified place. - * The format used is $#,##0.00_);($#,##0.00).. - * - * @param float $value The value to format - * @param int $decimals The number of digits to display to the right of the decimal point. - * If decimals is negative, number is rounded to the left of the decimal point. - * If you omit decimals, it is assumed to be 2 - * @return string - */ - public static function DOLLAR($value = 0, $decimals = 2) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $decimals = is_null($decimals) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($decimals); - - // Validate parameters - if (!is_numeric($value) || !is_numeric($decimals)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $decimals = floor($decimals); - - $mask = '$#,##0'; - if ($decimals > 0) { - $mask .= '.' . str_repeat('0',$decimals); - } else { - $round = pow(10,abs($decimals)); - if ($value < 0) { $round = 0-$round; } - $value = PHPExcel_Calculation_MathTrig::MROUND($value, $round); - } - - return PHPExcel_Style_NumberFormat::toFormattedString($value, $mask); - - } // function DOLLAR() - - - /** - * SEARCHSENSITIVE - * - * @param string $needle The string to look for - * @param string $haystack The string in which to look - * @param int $offset Offset within $haystack - * @return string - */ - public static function SEARCHSENSITIVE($needle,$haystack,$offset=1) { - $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); - $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); - $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); - - if (!is_bool($needle)) { - if (is_bool($haystack)) { - $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { - if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { - return $offset; - } - if (function_exists('mb_strpos')) { - $pos = mb_strpos($haystack, $needle, --$offset, 'UTF-8'); - } else { - $pos = strpos($haystack, $needle, --$offset); - } - if ($pos !== false) { - return ++$pos; - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SEARCHSENSITIVE() - - - /** - * SEARCHINSENSITIVE - * - * @param string $needle The string to look for - * @param string $haystack The string in which to look - * @param int $offset Offset within $haystack - * @return string - */ - public static function SEARCHINSENSITIVE($needle,$haystack,$offset=1) { - $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); - $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); - $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); - - if (!is_bool($needle)) { - if (is_bool($haystack)) { - $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { - if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { - return $offset; - } - if (function_exists('mb_stripos')) { - $pos = mb_stripos($haystack, $needle, --$offset,'UTF-8'); - } else { - $pos = stripos($haystack, $needle, --$offset); - } - if ($pos !== false) { - return ++$pos; - } - } - } - return PHPExcel_Calculation_Functions::VALUE(); - } // function SEARCHINSENSITIVE() - - - /** - * FIXEDFORMAT - * - * @param mixed $value Value to check - * @param integer $decimals - * @param boolean $no_commas - * @return boolean - */ - public static function FIXEDFORMAT($value, $decimals = 2, $no_commas = FALSE) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $decimals = PHPExcel_Calculation_Functions::flattenSingleValue($decimals); - $no_commas = PHPExcel_Calculation_Functions::flattenSingleValue($no_commas); - - // Validate parameters - if (!is_numeric($value) || !is_numeric($decimals)) { - return PHPExcel_Calculation_Functions::NaN(); - } - $decimals = floor($decimals); - - $valueResult = round($value,$decimals); - if ($decimals < 0) { $decimals = 0; } - if (!$no_commas) { - $valueResult = number_format($valueResult,$decimals); - } - - return (string) $valueResult; - } // function FIXEDFORMAT() - - - /** - * LEFT - * - * @param string $value Value - * @param int $chars Number of characters - * @return string - */ - public static function LEFT($value = '', $chars = 1) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); - - if ($chars < 0) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (is_bool($value)) { - $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (function_exists('mb_substr')) { - return mb_substr($value, 0, $chars, 'UTF-8'); - } else { - return substr($value, 0, $chars); - } - } // function LEFT() - - - /** - * MID - * - * @param string $value Value - * @param int $start Start character - * @param int $chars Number of characters - * @return string - */ - public static function MID($value = '', $start = 1, $chars = null) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); - $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); - - if (($start < 1) || ($chars < 0)) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (is_bool($value)) { - $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (function_exists('mb_substr')) { - return mb_substr($value, --$start, $chars, 'UTF-8'); - } else { - return substr($value, --$start, $chars); - } - } // function MID() - - - /** - * RIGHT - * - * @param string $value Value - * @param int $chars Number of characters - * @return string - */ - public static function RIGHT($value = '', $chars = 1) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); - - if ($chars < 0) { - return PHPExcel_Calculation_Functions::VALUE(); - } - - if (is_bool($value)) { - $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if ((function_exists('mb_substr')) && (function_exists('mb_strlen'))) { - return mb_substr($value, mb_strlen($value, 'UTF-8') - $chars, $chars, 'UTF-8'); - } else { - return substr($value, strlen($value) - $chars); - } - } // function RIGHT() - - - /** - * STRINGLENGTH - * - * @param string $value Value - * @return string - */ - public static function STRINGLENGTH($value = '') { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - if (is_bool($value)) { - $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - if (function_exists('mb_strlen')) { - return mb_strlen($value, 'UTF-8'); - } else { - return strlen($value); - } - } // function STRINGLENGTH() - - - /** - * LOWERCASE - * - * Converts a string value to upper case. - * - * @param string $mixedCaseString - * @return string - */ - public static function LOWERCASE($mixedCaseString) { - $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); - - if (is_bool($mixedCaseString)) { - $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - return PHPExcel_Shared_String::StrToLower($mixedCaseString); - } // function LOWERCASE() - - - /** - * UPPERCASE - * - * Converts a string value to upper case. - * - * @param string $mixedCaseString - * @return string - */ - public static function UPPERCASE($mixedCaseString) { - $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); - - if (is_bool($mixedCaseString)) { - $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - return PHPExcel_Shared_String::StrToUpper($mixedCaseString); - } // function UPPERCASE() - - - /** - * PROPERCASE - * - * Converts a string value to upper case. - * - * @param string $mixedCaseString - * @return string - */ - public static function PROPERCASE($mixedCaseString) { - $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); - - if (is_bool($mixedCaseString)) { - $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); - } - - return PHPExcel_Shared_String::StrToTitle($mixedCaseString); - } // function PROPERCASE() - - - /** - * REPLACE - * - * @param string $oldText String to modify - * @param int $start Start character - * @param int $chars Number of characters - * @param string $newText String to replace in defined position - * @return string - */ - public static function REPLACE($oldText = '', $start = 1, $chars = null, $newText) { - $oldText = PHPExcel_Calculation_Functions::flattenSingleValue($oldText); - $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); - $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); - $newText = PHPExcel_Calculation_Functions::flattenSingleValue($newText); - - $left = self::LEFT($oldText,$start-1); - $right = self::RIGHT($oldText,self::STRINGLENGTH($oldText)-($start+$chars)+1); - - return $left.$newText.$right; - } // function REPLACE() - - - /** - * SUBSTITUTE - * - * @param string $text Value - * @param string $fromText From Value - * @param string $toText To Value - * @param integer $instance Instance Number - * @return string - */ - public static function SUBSTITUTE($text = '', $fromText = '', $toText = '', $instance = 0) { - $text = PHPExcel_Calculation_Functions::flattenSingleValue($text); - $fromText = PHPExcel_Calculation_Functions::flattenSingleValue($fromText); - $toText = PHPExcel_Calculation_Functions::flattenSingleValue($toText); - $instance = floor(PHPExcel_Calculation_Functions::flattenSingleValue($instance)); - - if ($instance == 0) { - if(function_exists('mb_str_replace')) { - return mb_str_replace($fromText,$toText,$text); - } else { - return str_replace($fromText,$toText,$text); - } - } else { - $pos = -1; - while($instance > 0) { - if (function_exists('mb_strpos')) { - $pos = mb_strpos($text, $fromText, $pos+1, 'UTF-8'); - } else { - $pos = strpos($text, $fromText, $pos+1); - } - if ($pos === false) { - break; - } - --$instance; - } - if ($pos !== false) { - if (function_exists('mb_strlen')) { - return self::REPLACE($text,++$pos,mb_strlen($fromText, 'UTF-8'),$toText); - } else { - return self::REPLACE($text,++$pos,strlen($fromText),$toText); - } - } - } - - return $text; - } // function SUBSTITUTE() - - - /** - * RETURNSTRING - * - * @param mixed $testValue Value to check - * @return boolean - */ - public static function RETURNSTRING($testValue = '') { - $testValue = PHPExcel_Calculation_Functions::flattenSingleValue($testValue); - - if (is_string($testValue)) { - return $testValue; - } - return Null; - } // function RETURNSTRING() - - - /** - * TEXTFORMAT - * - * @param mixed $value Value to check - * @param string $format Format mask to use - * @return boolean - */ - public static function TEXTFORMAT($value,$format) { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - $format = PHPExcel_Calculation_Functions::flattenSingleValue($format); - - if ((is_string($value)) && (!is_numeric($value)) && PHPExcel_Shared_Date::isDateTimeFormatCode($format)) { - $value = PHPExcel_Calculation_DateTime::DATEVALUE($value); - } - - return (string) PHPExcel_Style_NumberFormat::toFormattedString($value,$format); - } // function TEXTFORMAT() - - /** - * VALUE - * - * @param mixed $value Value to check - * @return boolean - */ - public static function VALUE($value = '') { - $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); - - if (!is_numeric($value)) { +class PHPExcel_Calculation_TextData +{ + private static $invalidChars; + + private static function unicodeToOrd($c) + { + if (ord($c{0}) >=0 && ord($c{0}) <= 127) { + return ord($c{0}); + } elseif (ord($c{0}) >= 192 && ord($c{0}) <= 223) { + return (ord($c{0})-192)*64 + (ord($c{1})-128); + } elseif (ord($c{0}) >= 224 && ord($c{0}) <= 239) { + return (ord($c{0})-224)*4096 + (ord($c{1})-128)*64 + (ord($c{2})-128); + } elseif (ord($c{0}) >= 240 && ord($c{0}) <= 247) { + return (ord($c{0})-240)*262144 + (ord($c{1})-128)*4096 + (ord($c{2})-128)*64 + (ord($c{3})-128); + } elseif (ord($c{0}) >= 248 && ord($c{0}) <= 251) { + return (ord($c{0})-248)*16777216 + (ord($c{1})-128)*262144 + (ord($c{2})-128)*4096 + (ord($c{3})-128)*64 + (ord($c{4})-128); + } elseif (ord($c{0}) >= 252 && ord($c{0}) <= 253) { + return (ord($c{0})-252)*1073741824 + (ord($c{1})-128)*16777216 + (ord($c{2})-128)*262144 + (ord($c{3})-128)*4096 + (ord($c{4})-128)*64 + (ord($c{5})-128); + } elseif (ord($c{0}) >= 254 && ord($c{0}) <= 255) { + // error + return PHPExcel_Calculation_Functions::VALUE(); + } + return 0; + } + + /** + * CHARACTER + * + * @param string $character Value + * @return int + */ + public static function CHARACTER($character) + { + $character = PHPExcel_Calculation_Functions::flattenSingleValue($character); + + if ((!is_numeric($character)) || ($character < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (function_exists('mb_convert_encoding')) { + return mb_convert_encoding('&#'.intval($character).';', 'UTF-8', 'HTML-ENTITIES'); + } else { + return chr(intval($character)); + } + } + + + /** + * TRIMNONPRINTABLE + * + * @param mixed $stringValue Value to check + * @return string + */ + public static function TRIMNONPRINTABLE($stringValue = '') + { + $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); + + if (is_bool($stringValue)) { + return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (self::$invalidChars == null) { + self::$invalidChars = range(chr(0), chr(31)); + } + + if (is_string($stringValue) || is_numeric($stringValue)) { + return str_replace(self::$invalidChars, '', trim($stringValue, "\x00..\x1F")); + } + return null; + } + + + /** + * TRIMSPACES + * + * @param mixed $stringValue Value to check + * @return string + */ + public static function TRIMSPACES($stringValue = '') + { + $stringValue = PHPExcel_Calculation_Functions::flattenSingleValue($stringValue); + if (is_bool($stringValue)) { + return ($stringValue) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (is_string($stringValue) || is_numeric($stringValue)) { + return trim(preg_replace('/ +/', ' ', trim($stringValue, ' ')), ' '); + } + return null; + } + + + /** + * ASCIICODE + * + * @param string $characters Value + * @return int + */ + public static function ASCIICODE($characters) + { + if (($characters === null) || ($characters === '')) { + return PHPExcel_Calculation_Functions::VALUE(); + } + $characters = PHPExcel_Calculation_Functions::flattenSingleValue($characters); + if (is_bool($characters)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $characters = (int) $characters; + } else { + $characters = ($characters) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + } + + $character = $characters; + if ((function_exists('mb_strlen')) && (function_exists('mb_substr'))) { + if (mb_strlen($characters, 'UTF-8') > 1) { + $character = mb_substr($characters, 0, 1, 'UTF-8'); + } + return self::unicodeToOrd($character); + } else { + if (strlen($characters) > 0) { + $character = substr($characters, 0, 1); + } + return ord($character); + } + } + + + /** + * CONCATENATE + * + * @return string + */ + public static function CONCATENATE() + { + $returnValue = ''; + + // Loop through arguments + $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args()); + foreach ($aArgs as $arg) { + if (is_bool($arg)) { + if (PHPExcel_Calculation_Functions::getCompatibilityMode() == PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE) { + $arg = (int) $arg; + } else { + $arg = ($arg) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + } + $returnValue .= $arg; + } + + return $returnValue; + } + + + /** + * DOLLAR + * + * This function converts a number to text using currency format, with the decimals rounded to the specified place. + * The format used is $#,##0.00_);($#,##0.00).. + * + * @param float $value The value to format + * @param int $decimals The number of digits to display to the right of the decimal point. + * If decimals is negative, number is rounded to the left of the decimal point. + * If you omit decimals, it is assumed to be 2 + * @return string + */ + public static function DOLLAR($value = 0, $decimals = 2) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $decimals = is_null($decimals) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($decimals); + + // Validate parameters + if (!is_numeric($value) || !is_numeric($decimals)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $decimals = floor($decimals); + + $mask = '$#,##0'; + if ($decimals > 0) { + $mask .= '.' . str_repeat('0', $decimals); + } else { + $round = pow(10, abs($decimals)); + if ($value < 0) { + $round = 0-$round; + } + $value = PHPExcel_Calculation_MathTrig::MROUND($value, $round); + } + + return PHPExcel_Style_NumberFormat::toFormattedString($value, $mask); + + } + + + /** + * SEARCHSENSITIVE + * + * @param string $needle The string to look for + * @param string $haystack The string in which to look + * @param int $offset Offset within $haystack + * @return string + */ + public static function SEARCHSENSITIVE($needle, $haystack, $offset = 1) + { + $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); + $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); + $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); + + if (!is_bool($needle)) { + if (is_bool($haystack)) { + $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { + if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { + return $offset; + } + if (function_exists('mb_strpos')) { + $pos = mb_strpos($haystack, $needle, --$offset, 'UTF-8'); + } else { + $pos = strpos($haystack, $needle, --$offset); + } + if ($pos !== false) { + return ++$pos; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * SEARCHINSENSITIVE + * + * @param string $needle The string to look for + * @param string $haystack The string in which to look + * @param int $offset Offset within $haystack + * @return string + */ + public static function SEARCHINSENSITIVE($needle, $haystack, $offset = 1) + { + $needle = PHPExcel_Calculation_Functions::flattenSingleValue($needle); + $haystack = PHPExcel_Calculation_Functions::flattenSingleValue($haystack); + $offset = PHPExcel_Calculation_Functions::flattenSingleValue($offset); + + if (!is_bool($needle)) { + if (is_bool($haystack)) { + $haystack = ($haystack) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (($offset > 0) && (PHPExcel_Shared_String::CountCharacters($haystack) > $offset)) { + if (PHPExcel_Shared_String::CountCharacters($needle) == 0) { + return $offset; + } + if (function_exists('mb_stripos')) { + $pos = mb_stripos($haystack, $needle, --$offset, 'UTF-8'); + } else { + $pos = stripos($haystack, $needle, --$offset); + } + if ($pos !== false) { + return ++$pos; + } + } + } + return PHPExcel_Calculation_Functions::VALUE(); + } + + + /** + * FIXEDFORMAT + * + * @param mixed $value Value to check + * @param integer $decimals + * @param boolean $no_commas + * @return boolean + */ + public static function FIXEDFORMAT($value, $decimals = 2, $no_commas = false) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $decimals = PHPExcel_Calculation_Functions::flattenSingleValue($decimals); + $no_commas = PHPExcel_Calculation_Functions::flattenSingleValue($no_commas); + + // Validate parameters + if (!is_numeric($value) || !is_numeric($decimals)) { + return PHPExcel_Calculation_Functions::NaN(); + } + $decimals = floor($decimals); + + $valueResult = round($value, $decimals); + if ($decimals < 0) { + $decimals = 0; + } + if (!$no_commas) { + $valueResult = number_format($valueResult, $decimals); + } + + return (string) $valueResult; + } + + + /** + * LEFT + * + * @param string $value Value + * @param int $chars Number of characters + * @return string + */ + public static function LEFT($value = '', $chars = 1) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if ($chars < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_substr')) { + return mb_substr($value, 0, $chars, 'UTF-8'); + } else { + return substr($value, 0, $chars); + } + } + + + /** + * MID + * + * @param string $value Value + * @param int $start Start character + * @param int $chars Number of characters + * @return string + */ + public static function MID($value = '', $start = 1, $chars = null) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if (($start < 1) || ($chars < 0)) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_substr')) { + return mb_substr($value, --$start, $chars, 'UTF-8'); + } else { + return substr($value, --$start, $chars); + } + } + + + /** + * RIGHT + * + * @param string $value Value + * @param int $chars Number of characters + * @return string + */ + public static function RIGHT($value = '', $chars = 1) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + + if ($chars < 0) { + return PHPExcel_Calculation_Functions::VALUE(); + } + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if ((function_exists('mb_substr')) && (function_exists('mb_strlen'))) { + return mb_substr($value, mb_strlen($value, 'UTF-8') - $chars, $chars, 'UTF-8'); + } else { + return substr($value, strlen($value) - $chars); + } + } + + + /** + * STRINGLENGTH + * + * @param string $value Value + * @return string + */ + public static function STRINGLENGTH($value = '') + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (is_bool($value)) { + $value = ($value) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + if (function_exists('mb_strlen')) { + return mb_strlen($value, 'UTF-8'); + } else { + return strlen($value); + } + } + + + /** + * LOWERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function LOWERCASE($mixedCaseString) + { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToLower($mixedCaseString); + } + + + /** + * UPPERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function UPPERCASE($mixedCaseString) + { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToUpper($mixedCaseString); + } + + + /** + * PROPERCASE + * + * Converts a string value to upper case. + * + * @param string $mixedCaseString + * @return string + */ + public static function PROPERCASE($mixedCaseString) + { + $mixedCaseString = PHPExcel_Calculation_Functions::flattenSingleValue($mixedCaseString); + + if (is_bool($mixedCaseString)) { + $mixedCaseString = ($mixedCaseString) ? PHPExcel_Calculation::getTRUE() : PHPExcel_Calculation::getFALSE(); + } + + return PHPExcel_Shared_String::StrToTitle($mixedCaseString); + } + + + /** + * REPLACE + * + * @param string $oldText String to modify + * @param int $start Start character + * @param int $chars Number of characters + * @param string $newText String to replace in defined position + * @return string + */ + public static function REPLACE($oldText = '', $start = 1, $chars = null, $newText) + { + $oldText = PHPExcel_Calculation_Functions::flattenSingleValue($oldText); + $start = PHPExcel_Calculation_Functions::flattenSingleValue($start); + $chars = PHPExcel_Calculation_Functions::flattenSingleValue($chars); + $newText = PHPExcel_Calculation_Functions::flattenSingleValue($newText); + + $left = self::LEFT($oldText, $start-1); + $right = self::RIGHT($oldText, self::STRINGLENGTH($oldText)-($start+$chars)+1); + + return $left.$newText.$right; + } + + + /** + * SUBSTITUTE + * + * @param string $text Value + * @param string $fromText From Value + * @param string $toText To Value + * @param integer $instance Instance Number + * @return string + */ + public static function SUBSTITUTE($text = '', $fromText = '', $toText = '', $instance = 0) + { + $text = PHPExcel_Calculation_Functions::flattenSingleValue($text); + $fromText = PHPExcel_Calculation_Functions::flattenSingleValue($fromText); + $toText = PHPExcel_Calculation_Functions::flattenSingleValue($toText); + $instance = floor(PHPExcel_Calculation_Functions::flattenSingleValue($instance)); + + if ($instance == 0) { + if (function_exists('mb_str_replace')) { + return mb_str_replace($fromText, $toText, $text); + } else { + return str_replace($fromText, $toText, $text); + } + } else { + $pos = -1; + while ($instance > 0) { + if (function_exists('mb_strpos')) { + $pos = mb_strpos($text, $fromText, $pos+1, 'UTF-8'); + } else { + $pos = strpos($text, $fromText, $pos+1); + } + if ($pos === false) { + break; + } + --$instance; + } + if ($pos !== false) { + if (function_exists('mb_strlen')) { + return self::REPLACE($text, ++$pos, mb_strlen($fromText, 'UTF-8'), $toText); + } else { + return self::REPLACE($text, ++$pos, strlen($fromText), $toText); + } + } + } + + return $text; + } + + + /** + * RETURNSTRING + * + * @param mixed $testValue Value to check + * @return boolean + */ + public static function RETURNSTRING($testValue = '') + { + $testValue = PHPExcel_Calculation_Functions::flattenSingleValue($testValue); + + if (is_string($testValue)) { + return $testValue; + } + return null; + } + + + /** + * TEXTFORMAT + * + * @param mixed $value Value to check + * @param string $format Format mask to use + * @return boolean + */ + public static function TEXTFORMAT($value, $format) + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + $format = PHPExcel_Calculation_Functions::flattenSingleValue($format); + + if ((is_string($value)) && (!is_numeric($value)) && PHPExcel_Shared_Date::isDateTimeFormatCode($format)) { + $value = PHPExcel_Calculation_DateTime::DATEVALUE($value); + } + + return (string) PHPExcel_Style_NumberFormat::toFormattedString($value, $format); + } + + /** + * VALUE + * + * @param mixed $value Value to check + * @return boolean + */ + public static function VALUE($value = '') + { + $value = PHPExcel_Calculation_Functions::flattenSingleValue($value); + + if (!is_numeric($value)) { $numberValue = str_replace( - PHPExcel_Shared_String::getThousandsSeparator(), - '', + PHPExcel_Shared_String::getThousandsSeparator(), + '', trim($value, " \t\n\r\0\x0B" . PHPExcel_Shared_String::getCurrencyCode()) ); if (is_numeric($numberValue)) { @@ -615,16 +637,15 @@ class PHPExcel_Calculation_TextData { return $timeValue; } } - $dateValue = PHPExcel_Calculation_DateTime::DATEVALUE($value); + $dateValue = PHPExcel_Calculation_DateTime::DATEVALUE($value); if ($dateValue !== PHPExcel_Calculation_Functions::VALUE()) { PHPExcel_Calculation_Functions::setReturnDateType($dateSetting); return $dateValue; } PHPExcel_Calculation_Functions::setReturnDateType($dateSetting); - return PHPExcel_Calculation_Functions::VALUE(); - } - return (float) $value; - } - + return PHPExcel_Calculation_Functions::VALUE(); + } + return (float) $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php index 57963e738..02ed5aaf0 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Token/Stack.php @@ -1,8 +1,9 @@ count; + } - /** - * The parser stack for formulae - * - * @var mixed[] - */ - private $_stack = array(); + /** + * Push a new entry onto the stack + * + * @param mixed $type + * @param mixed $value + * @param mixed $reference + */ + public function push($type, $value, $reference = null) + { + $this->stack[$this->count++] = array( + 'type' => $type, + 'value' => $value, + 'reference' => $reference + ); + if ($type == 'Function') { + $localeFunction = PHPExcel_Calculation::localeFunc($value); + if ($localeFunction != $value) { + $this->stack[($this->count - 1)]['localeValue'] = $localeFunction; + } + } + } - /** - * Count of entries in the parser stack - * - * @var integer - */ - private $_count = 0; + /** + * Pop the last entry from the stack + * + * @return mixed + */ + public function pop() + { + if ($this->count > 0) { + return $this->stack[--$this->count]; + } + return null; + } + /** + * Return an entry from the stack without removing it + * + * @param integer $n number indicating how far back in the stack we want to look + * @return mixed + */ + public function last($n = 1) + { + if ($this->count - $n < 0) { + return null; + } + return $this->stack[$this->count - $n]; + } - /** - * Return the number of entries on the stack - * - * @return integer - */ - public function count() { - return $this->_count; - } // function count() - - /** - * Push a new entry onto the stack - * - * @param mixed $type - * @param mixed $value - * @param mixed $reference - */ - public function push($type, $value, $reference = NULL) { - $this->_stack[$this->_count++] = array('type' => $type, - 'value' => $value, - 'reference' => $reference - ); - if ($type == 'Function') { - $localeFunction = PHPExcel_Calculation::_localeFunc($value); - if ($localeFunction != $value) { - $this->_stack[($this->_count - 1)]['localeValue'] = $localeFunction; - } - } - } // function push() - - /** - * Pop the last entry from the stack - * - * @return mixed - */ - public function pop() { - if ($this->_count > 0) { - return $this->_stack[--$this->_count]; - } - return NULL; - } // function pop() - - /** - * Return an entry from the stack without removing it - * - * @param integer $n number indicating how far back in the stack we want to look - * @return mixed - */ - public function last($n = 1) { - if ($this->_count - $n < 0) { - return NULL; - } - return $this->_stack[$this->_count - $n]; - } // function last() - - /** - * Clear the stack - */ - function clear() { - $this->_stack = array(); - $this->_count = 0; - } - -} // class PHPExcel_Calculation_Token_Stack + /** + * Clear the stack + */ + public function clear() + { + $this->stack = array(); + $this->count = 0; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php index 2d5f9102d..c99a3c8b1 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell.php @@ -1,369 +1,367 @@ _parent->updateCacheData($this); + /** + * Send notification to the cache controller + * + * @return void + **/ + public function notifyCacheController() + { + $this->parent->updateCacheData($this); - return $this; - } + return $this; + } - public function detach() { - $this->_parent = NULL; - } + public function detach() + { + $this->parent = null; + } - public function attach(PHPExcel_CachedObjectStorage_CacheBase $parent) { - $this->_parent = $parent; - } + public function attach(PHPExcel_CachedObjectStorage_CacheBase $parent) + { + $this->parent = $parent; + } - /** - * Create a new Cell - * - * @param mixed $pValue - * @param string $pDataType - * @param PHPExcel_Worksheet $pSheet - * @throws PHPExcel_Exception - */ - public function __construct($pValue = NULL, $pDataType = NULL, PHPExcel_Worksheet $pSheet = NULL) - { - // Initialise cell value - $this->_value = $pValue; + /** + * Create a new Cell + * + * @param mixed $pValue + * @param string $pDataType + * @param PHPExcel_Worksheet $pSheet + * @throws PHPExcel_Exception + */ + public function __construct($pValue = null, $pDataType = null, PHPExcel_Worksheet $pSheet = null) + { + // Initialise cell value + $this->value = $pValue; - // Set worksheet cache - $this->_parent = $pSheet->getCellCacheController(); + // Set worksheet cache + $this->parent = $pSheet->getCellCacheController(); - // Set datatype? - if ($pDataType !== NULL) { - if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) - $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; - $this->_dataType = $pDataType; - } elseif (!self::getValueBinder()->bindValue($this, $pValue)) { + // Set datatype? + if ($pDataType !== null) { + if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) { + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + } + $this->dataType = $pDataType; + } elseif (!self::getValueBinder()->bindValue($this, $pValue)) { throw new PHPExcel_Exception("Value could not be bound to cell."); - } - } + } + } - /** - * Get cell coordinate column - * - * @return string - */ - public function getColumn() - { - return $this->_parent->getCurrentColumn(); - } + /** + * Get cell coordinate column + * + * @return string + */ + public function getColumn() + { + return $this->parent->getCurrentColumn(); + } - /** - * Get cell coordinate row - * - * @return int - */ - public function getRow() - { - return $this->_parent->getCurrentRow(); - } + /** + * Get cell coordinate row + * + * @return int + */ + public function getRow() + { + return $this->parent->getCurrentRow(); + } - /** - * Get cell coordinate - * - * @return string - */ - public function getCoordinate() - { - return $this->_parent->getCurrentAddress(); - } + /** + * Get cell coordinate + * + * @return string + */ + public function getCoordinate() + { + return $this->parent->getCurrentAddress(); + } - /** - * Get cell value - * - * @return mixed - */ - public function getValue() - { - return $this->_value; - } + /** + * Get cell value + * + * @return mixed + */ + public function getValue() + { + return $this->value; + } - /** - * Get cell value with formatting - * - * @return string - */ - public function getFormattedValue() - { - return (string) PHPExcel_Style_NumberFormat::toFormattedString( - $this->getCalculatedValue(), - $this->getStyle() - ->getNumberFormat()->getFormatCode() - ); - } + /** + * Get cell value with formatting + * + * @return string + */ + public function getFormattedValue() + { + return (string) PHPExcel_Style_NumberFormat::toFormattedString( + $this->getCalculatedValue(), + $this->getStyle() + ->getNumberFormat()->getFormatCode() + ); + } - /** - * Set cell value - * - * Sets the value for a cell, automatically determining the datatype using the value binder - * - * @param mixed $pValue Value - * @return PHPExcel_Cell - * @throws PHPExcel_Exception - */ - public function setValue($pValue = NULL) - { - if (!self::getValueBinder()->bindValue($this, $pValue)) { - throw new PHPExcel_Exception("Value could not be bound to cell."); - } - return $this; - } + /** + * Set cell value + * + * Sets the value for a cell, automatically determining the datatype using the value binder + * + * @param mixed $pValue Value + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setValue($pValue = null) + { + if (!self::getValueBinder()->bindValue($this, $pValue)) { + throw new PHPExcel_Exception("Value could not be bound to cell."); + } + return $this; + } - /** - * Set the value for a cell, with the explicit data type passed to the method (bypassing any use of the value binder) - * - * @param mixed $pValue Value - * @param string $pDataType Explicit data type - * @return PHPExcel_Cell - * @throws PHPExcel_Exception - */ - public function setValueExplicit($pValue = NULL, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING) - { - // set the value according to data type - switch ($pDataType) { - case PHPExcel_Cell_DataType::TYPE_NULL: - $this->_value = $pValue; - break; - case PHPExcel_Cell_DataType::TYPE_STRING2: - $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; - case PHPExcel_Cell_DataType::TYPE_STRING: - case PHPExcel_Cell_DataType::TYPE_INLINE: - $this->_value = PHPExcel_Cell_DataType::checkString($pValue); - break; - case PHPExcel_Cell_DataType::TYPE_NUMERIC: - $this->_value = (float)$pValue; - break; - case PHPExcel_Cell_DataType::TYPE_FORMULA: - $this->_value = (string)$pValue; - break; - case PHPExcel_Cell_DataType::TYPE_BOOL: - $this->_value = (bool)$pValue; - break; - case PHPExcel_Cell_DataType::TYPE_ERROR: - $this->_value = PHPExcel_Cell_DataType::checkErrorCode($pValue); - break; - default: - throw new PHPExcel_Exception('Invalid datatype: ' . $pDataType); - break; - } + /** + * Set the value for a cell, with the explicit data type passed to the method (bypassing any use of the value binder) + * + * @param mixed $pValue Value + * @param string $pDataType Explicit data type + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setValueExplicit($pValue = null, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING) + { + // set the value according to data type + switch ($pDataType) { + case PHPExcel_Cell_DataType::TYPE_NULL: + $this->value = $pValue; + break; + case PHPExcel_Cell_DataType::TYPE_STRING2: + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + // no break + case PHPExcel_Cell_DataType::TYPE_STRING: + // Synonym for string + case PHPExcel_Cell_DataType::TYPE_INLINE: + // Rich text + $this->value = PHPExcel_Cell_DataType::checkString($pValue); + break; + case PHPExcel_Cell_DataType::TYPE_NUMERIC: + $this->value = (float) $pValue; + break; + case PHPExcel_Cell_DataType::TYPE_FORMULA: + $this->value = (string) $pValue; + break; + case PHPExcel_Cell_DataType::TYPE_BOOL: + $this->value = (bool) $pValue; + break; + case PHPExcel_Cell_DataType::TYPE_ERROR: + $this->value = PHPExcel_Cell_DataType::checkErrorCode($pValue); + break; + default: + throw new PHPExcel_Exception('Invalid datatype: ' . $pDataType); + break; + } - // set the datatype - $this->_dataType = $pDataType; + // set the datatype + $this->dataType = $pDataType; - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } - /** - * Get calculated cell value - * - * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling - * - * @param boolean $resetLog Whether the calculation engine logger should be reset or not - * @return mixed - * @throws PHPExcel_Exception - */ - public function getCalculatedValue($resetLog = TRUE) - { -//echo 'Cell '.$this->getCoordinate().' value is a '.$this->_dataType.' with a value of '.$this->getValue().PHP_EOL; - if ($this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) { - try { + /** + * Get calculated cell value + * + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + * + * @param boolean $resetLog Whether the calculation engine logger should be reset or not + * @return mixed + * @throws PHPExcel_Exception + */ + public function getCalculatedValue($resetLog = true) + { +//echo 'Cell '.$this->getCoordinate().' value is a '.$this->dataType.' with a value of '.$this->getValue().PHP_EOL; + if ($this->dataType == PHPExcel_Cell_DataType::TYPE_FORMULA) { + try { //echo 'Cell value for '.$this->getCoordinate().' is a formula: Calculating value'.PHP_EOL; - $result = PHPExcel_Calculation::getInstance( - $this->getWorksheet()->getParent() - )->calculateCellValue($this,$resetLog); + $result = PHPExcel_Calculation::getInstance( + $this->getWorksheet()->getParent() + )->calculateCellValue($this, $resetLog); //echo $this->getCoordinate().' calculation result is '.$result.PHP_EOL; - // We don't yet handle array returns - if (is_array($result)) { - while (is_array($result)) { - $result = array_pop($result); - } - } - } catch ( PHPExcel_Exception $ex ) { - if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->_calculatedValue !== NULL)) { -//echo 'Returning fallback value of '.$this->_calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; - return $this->_calculatedValue; // Fallback for calculations referencing external files. - } + // We don't yet handle array returns + if (is_array($result)) { + while (is_array($result)) { + $result = array_pop($result); + } + } + } catch (PHPExcel_Exception $ex) { + if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->calculatedValue !== null)) { +//echo 'Returning fallback value of '.$this->calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; + return $this->calculatedValue; // Fallback for calculations referencing external files. + } //echo 'Calculation Exception: '.$ex->getMessage().PHP_EOL; - $result = '#N/A'; - throw new PHPExcel_Calculation_Exception( - $this->getWorksheet()->getTitle().'!'.$this->getCoordinate().' -> '.$ex->getMessage() - ); - } + $result = '#N/A'; + throw new PHPExcel_Calculation_Exception( + $this->getWorksheet()->getTitle().'!'.$this->getCoordinate().' -> '.$ex->getMessage() + ); + } - if ($result === '#Not Yet Implemented') { -//echo 'Returning fallback value of '.$this->_calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; - return $this->_calculatedValue; // Fallback if calculation engine does not support the formula. - } + if ($result === '#Not Yet Implemented') { +//echo 'Returning fallback value of '.$this->calculatedValue.' for cell '.$this->getCoordinate().PHP_EOL; + return $this->calculatedValue; // Fallback if calculation engine does not support the formula. + } //echo 'Returning calculated value of '.$result.' for cell '.$this->getCoordinate().PHP_EOL; - return $result; - } elseif($this->_value instanceof PHPExcel_RichText) { -// echo 'Cell value for '.$this->getCoordinate().' is rich text: Returning data value of '.$this->_value.'
'; - return $this->_value->getPlainText(); - } -// echo 'Cell value for '.$this->getCoordinate().' is not a formula: Returning data value of '.$this->_value.'
'; - return $this->_value; - } + return $result; + } elseif ($this->value instanceof PHPExcel_RichText) { +// echo 'Cell value for '.$this->getCoordinate().' is rich text: Returning data value of '.$this->value.'
'; + return $this->value->getPlainText(); + } +// echo 'Cell value for '.$this->getCoordinate().' is not a formula: Returning data value of '.$this->value.'
'; + return $this->value; + } - /** - * Set old calculated value (cached) - * - * @param mixed $pValue Value - * @return PHPExcel_Cell - */ - public function setCalculatedValue($pValue = NULL) - { - if ($pValue !== NULL) { - $this->_calculatedValue = (is_numeric($pValue)) ? (float) $pValue : $pValue; - } + /** + * Set old calculated value (cached) + * + * @param mixed $pValue Value + * @return PHPExcel_Cell + */ + public function setCalculatedValue($pValue = null) + { + if ($pValue !== null) { + $this->calculatedValue = (is_numeric($pValue)) ? (float) $pValue : $pValue; + } - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } - /** - * Get old calculated value (cached) - * This returns the value last calculated by MS Excel or whichever spreadsheet program was used to - * create the original spreadsheet file. - * Note that this value is not guaranteed to refelect the actual calculated value because it is - * possible that auto-calculation was disabled in the original spreadsheet, and underlying data - * values used by the formula have changed since it was last calculated. - * - * @return mixed - */ - public function getOldCalculatedValue() - { - return $this->_calculatedValue; - } + /** + * Get old calculated value (cached) + * This returns the value last calculated by MS Excel or whichever spreadsheet program was used to + * create the original spreadsheet file. + * Note that this value is not guaranteed to refelect the actual calculated value because it is + * possible that auto-calculation was disabled in the original spreadsheet, and underlying data + * values used by the formula have changed since it was last calculated. + * + * @return mixed + */ + public function getOldCalculatedValue() + { + return $this->calculatedValue; + } - /** - * Get cell data type - * - * @return string - */ - public function getDataType() - { - return $this->_dataType; - } + /** + * Get cell data type + * + * @return string + */ + public function getDataType() + { + return $this->dataType; + } - /** - * Set cell data type - * - * @param string $pDataType - * @return PHPExcel_Cell - */ - public function setDataType($pDataType = PHPExcel_Cell_DataType::TYPE_STRING) - { - if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) - $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + /** + * Set cell data type + * + * @param string $pDataType + * @return PHPExcel_Cell + */ + public function setDataType($pDataType = PHPExcel_Cell_DataType::TYPE_STRING) + { + if ($pDataType == PHPExcel_Cell_DataType::TYPE_STRING2) { + $pDataType = PHPExcel_Cell_DataType::TYPE_STRING; + } + $this->dataType = $pDataType; - $this->_dataType = $pDataType; - - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } /** * Identify if the cell contains a formula @@ -372,138 +370,142 @@ class PHPExcel_Cell */ public function isFormula() { - return $this->_dataType == PHPExcel_Cell_DataType::TYPE_FORMULA; + return $this->dataType == PHPExcel_Cell_DataType::TYPE_FORMULA; } - /** - * Does this cell contain Data validation rules? - * - * @return boolean - * @throws PHPExcel_Exception - */ - public function hasDataValidation() - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet'); - } + /** + * Does this cell contain Data validation rules? + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function hasDataValidation() + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot check for data validation when cell is not bound to a worksheet'); + } - return $this->getWorksheet()->dataValidationExists($this->getCoordinate()); - } + return $this->getWorksheet()->dataValidationExists($this->getCoordinate()); + } - /** - * Get Data validation rules - * - * @return PHPExcel_Cell_DataValidation - * @throws PHPExcel_Exception - */ - public function getDataValidation() - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet'); - } + /** + * Get Data validation rules + * + * @return PHPExcel_Cell_DataValidation + * @throws PHPExcel_Exception + */ + public function getDataValidation() + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot get data validation for cell that is not bound to a worksheet'); + } - return $this->getWorksheet()->getDataValidation($this->getCoordinate()); - } + return $this->getWorksheet()->getDataValidation($this->getCoordinate()); + } - /** - * Set Data validation rules - * - * @param PHPExcel_Cell_DataValidation $pDataValidation - * @return PHPExcel_Cell - * @throws PHPExcel_Exception - */ - public function setDataValidation(PHPExcel_Cell_DataValidation $pDataValidation = NULL) - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet'); - } + /** + * Set Data validation rules + * + * @param PHPExcel_Cell_DataValidation $pDataValidation + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setDataValidation(PHPExcel_Cell_DataValidation $pDataValidation = null) + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot set data validation for cell that is not bound to a worksheet'); + } - $this->getWorksheet()->setDataValidation($this->getCoordinate(), $pDataValidation); + $this->getWorksheet()->setDataValidation($this->getCoordinate(), $pDataValidation); - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } - /** - * Does this cell contain a Hyperlink? - * - * @return boolean - * @throws PHPExcel_Exception - */ - public function hasHyperlink() - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet'); - } + /** + * Does this cell contain a Hyperlink? + * + * @return boolean + * @throws PHPExcel_Exception + */ + public function hasHyperlink() + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot check for hyperlink when cell is not bound to a worksheet'); + } - return $this->getWorksheet()->hyperlinkExists($this->getCoordinate()); - } + return $this->getWorksheet()->hyperlinkExists($this->getCoordinate()); + } - /** - * Get Hyperlink - * - * @return PHPExcel_Cell_Hyperlink - * @throws PHPExcel_Exception - */ - public function getHyperlink() - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet'); - } + /** + * Get Hyperlink + * + * @return PHPExcel_Cell_Hyperlink + * @throws PHPExcel_Exception + */ + public function getHyperlink() + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot get hyperlink for cell that is not bound to a worksheet'); + } - return $this->getWorksheet()->getHyperlink($this->getCoordinate()); - } + return $this->getWorksheet()->getHyperlink($this->getCoordinate()); + } - /** - * Set Hyperlink - * - * @param PHPExcel_Cell_Hyperlink $pHyperlink - * @return PHPExcel_Cell - * @throws PHPExcel_Exception - */ - public function setHyperlink(PHPExcel_Cell_Hyperlink $pHyperlink = NULL) - { - if (!isset($this->_parent)) { - throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet'); - } + /** + * Set Hyperlink + * + * @param PHPExcel_Cell_Hyperlink $pHyperlink + * @return PHPExcel_Cell + * @throws PHPExcel_Exception + */ + public function setHyperlink(PHPExcel_Cell_Hyperlink $pHyperlink = null) + { + if (!isset($this->parent)) { + throw new PHPExcel_Exception('Cannot set hyperlink for cell that is not bound to a worksheet'); + } - $this->getWorksheet()->setHyperlink($this->getCoordinate(), $pHyperlink); + $this->getWorksheet()->setHyperlink($this->getCoordinate(), $pHyperlink); - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } - /** - * Get parent worksheet - * - * @return PHPExcel_CachedObjectStorage_CacheBase - */ - public function getParent() { - return $this->_parent; - } + /** + * Get parent worksheet + * + * @return PHPExcel_CachedObjectStorage_CacheBase + */ + public function getParent() + { + return $this->parent; + } - /** - * Get parent worksheet - * - * @return PHPExcel_Worksheet - */ - public function getWorksheet() { - return $this->_parent->getParent(); - } + /** + * Get parent worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() + { + return $this->parent->getParent(); + } - /** - * Is this cell in a merge range - * - * @return boolean - */ - public function isInMergeRange() { + /** + * Is this cell in a merge range + * + * @return boolean + */ + public function isInMergeRange() + { return (boolean) $this->getMergeRange(); } - /** - * Is this cell the master (top left cell) in a merge range (that holds the actual data value) - * - * @return boolean - */ - public function isMergeRangeValueCell() { + /** + * Is this cell the master (top left cell) in a merge range (that holds the actual data value) + * + * @return boolean + */ + public function isMergeRangeValueCell() + { if ($mergeRange = $this->getMergeRange()) { $mergeRange = PHPExcel_Cell::splitRange($mergeRange); list($startCell) = $mergeRange[0]; @@ -514,13 +516,14 @@ class PHPExcel_Cell return false; } - /** - * If this cell is in a merge range, then return the range - * - * @return string - */ - public function getMergeRange() { - foreach($this->getWorksheet()->getMergeCells() as $mergeRange) { + /** + * If this cell is in a merge range, then return the range + * + * @return string + */ + public function getMergeRange() + { + foreach ($this->getWorksheet()->getMergeCells() as $mergeRange) { if ($this->isInRange($mergeRange)) { return $mergeRange; } @@ -528,495 +531,502 @@ class PHPExcel_Cell return false; } - /** - * Get cell style - * - * @return PHPExcel_Style - */ - public function getStyle() - { - return $this->getWorksheet()->getStyle($this->getCoordinate()); - } + /** + * Get cell style + * + * @return PHPExcel_Style + */ + public function getStyle() + { + return $this->getWorksheet()->getStyle($this->getCoordinate()); + } - /** - * Re-bind parent - * - * @param PHPExcel_Worksheet $parent - * @return PHPExcel_Cell - */ - public function rebindParent(PHPExcel_Worksheet $parent) { - $this->_parent = $parent->getCellCacheController(); + /** + * Re-bind parent + * + * @param PHPExcel_Worksheet $parent + * @return PHPExcel_Cell + */ + public function rebindParent(PHPExcel_Worksheet $parent) + { + $this->parent = $parent->getCellCacheController(); - return $this->notifyCacheController(); - } + return $this->notifyCacheController(); + } - /** - * Is cell in a specific range? - * - * @param string $pRange Cell range (e.g. A1:A1) - * @return boolean - */ - public function isInRange($pRange = 'A1:A1') - { - list($rangeStart,$rangeEnd) = self::rangeBoundaries($pRange); + /** + * Is cell in a specific range? + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return boolean + */ + public function isInRange($pRange = 'A1:A1') + { + list($rangeStart, $rangeEnd) = self::rangeBoundaries($pRange); - // Translate properties - $myColumn = self::columnIndexFromString($this->getColumn()); - $myRow = $this->getRow(); + // Translate properties + $myColumn = self::columnIndexFromString($this->getColumn()); + $myRow = $this->getRow(); - // Verify if cell is in range - return (($rangeStart[0] <= $myColumn) && ($rangeEnd[0] >= $myColumn) && - ($rangeStart[1] <= $myRow) && ($rangeEnd[1] >= $myRow) - ); - } + // Verify if cell is in range + return (($rangeStart[0] <= $myColumn) && ($rangeEnd[0] >= $myColumn) && + ($rangeStart[1] <= $myRow) && ($rangeEnd[1] >= $myRow) + ); + } - /** - * Coordinate from string - * - * @param string $pCoordinateString - * @return array Array containing column and row (indexes 0 and 1) - * @throws PHPExcel_Exception - */ - public static function coordinateFromString($pCoordinateString = 'A1') - { - if (preg_match("/^([$]?[A-Z]{1,3})([$]?\d{1,7})$/", $pCoordinateString, $matches)) { - return array($matches[1],$matches[2]); - } elseif ((strpos($pCoordinateString,':') !== FALSE) || (strpos($pCoordinateString,',') !== FALSE)) { - throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); - } elseif ($pCoordinateString == '') { - throw new PHPExcel_Exception('Cell coordinate can not be zero-length string'); - } + /** + * Coordinate from string + * + * @param string $pCoordinateString + * @return array Array containing column and row (indexes 0 and 1) + * @throws PHPExcel_Exception + */ + public static function coordinateFromString($pCoordinateString = 'A1') + { + if (preg_match("/^([$]?[A-Z]{1,3})([$]?\d{1,7})$/", $pCoordinateString, $matches)) { + return array($matches[1],$matches[2]); + } elseif ((strpos($pCoordinateString, ':') !== false) || (strpos($pCoordinateString, ',') !== false)) { + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } elseif ($pCoordinateString == '') { + throw new PHPExcel_Exception('Cell coordinate can not be zero-length string'); + } - throw new PHPExcel_Exception('Invalid cell coordinate '.$pCoordinateString); - } + throw new PHPExcel_Exception('Invalid cell coordinate '.$pCoordinateString); + } - /** - * Make string row, column or cell coordinate absolute - * - * @param string $pCoordinateString e.g. 'A' or '1' or 'A1' - * Note that this value can be a row or column reference as well as a cell reference - * @return string Absolute coordinate e.g. '$A' or '$1' or '$A$1' - * @throws PHPExcel_Exception - */ - public static function absoluteReference($pCoordinateString = 'A1') - { - if (strpos($pCoordinateString,':') === FALSE && strpos($pCoordinateString,',') === FALSE) { - // Split out any worksheet name from the reference - $worksheet = ''; - $cellAddress = explode('!',$pCoordinateString); - if (count($cellAddress) > 1) { - list($worksheet,$pCoordinateString) = $cellAddress; - } - if ($worksheet > '') $worksheet .= '!'; + /** + * Make string row, column or cell coordinate absolute + * + * @param string $pCoordinateString e.g. 'A' or '1' or 'A1' + * Note that this value can be a row or column reference as well as a cell reference + * @return string Absolute coordinate e.g. '$A' or '$1' or '$A$1' + * @throws PHPExcel_Exception + */ + public static function absoluteReference($pCoordinateString = 'A1') + { + if (strpos($pCoordinateString, ':') === false && strpos($pCoordinateString, ',') === false) { + // Split out any worksheet name from the reference + $worksheet = ''; + $cellAddress = explode('!', $pCoordinateString); + if (count($cellAddress) > 1) { + list($worksheet, $pCoordinateString) = $cellAddress; + } + if ($worksheet > '') { + $worksheet .= '!'; + } - // Create absolute coordinate - if (ctype_digit($pCoordinateString)) { - return $worksheet . '$' . $pCoordinateString; - } elseif (ctype_alpha($pCoordinateString)) { - return $worksheet . '$' . strtoupper($pCoordinateString); - } - return $worksheet . self::absoluteCoordinate($pCoordinateString); - } + // Create absolute coordinate + if (ctype_digit($pCoordinateString)) { + return $worksheet . '$' . $pCoordinateString; + } elseif (ctype_alpha($pCoordinateString)) { + return $worksheet . '$' . strtoupper($pCoordinateString); + } + return $worksheet . self::absoluteCoordinate($pCoordinateString); + } - throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); - } + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } - /** - * Make string coordinate absolute - * - * @param string $pCoordinateString e.g. 'A1' - * @return string Absolute coordinate e.g. '$A$1' - * @throws PHPExcel_Exception - */ - public static function absoluteCoordinate($pCoordinateString = 'A1') - { - if (strpos($pCoordinateString,':') === FALSE && strpos($pCoordinateString,',') === FALSE) { - // Split out any worksheet name from the coordinate - $worksheet = ''; - $cellAddress = explode('!',$pCoordinateString); - if (count($cellAddress) > 1) { - list($worksheet,$pCoordinateString) = $cellAddress; - } - if ($worksheet > '') $worksheet .= '!'; + /** + * Make string coordinate absolute + * + * @param string $pCoordinateString e.g. 'A1' + * @return string Absolute coordinate e.g. '$A$1' + * @throws PHPExcel_Exception + */ + public static function absoluteCoordinate($pCoordinateString = 'A1') + { + if (strpos($pCoordinateString, ':') === false && strpos($pCoordinateString, ',') === false) { + // Split out any worksheet name from the coordinate + $worksheet = ''; + $cellAddress = explode('!', $pCoordinateString); + if (count($cellAddress) > 1) { + list($worksheet, $pCoordinateString) = $cellAddress; + } + if ($worksheet > '') { + $worksheet .= '!'; + } - // Create absolute coordinate - list($column, $row) = self::coordinateFromString($pCoordinateString); - $column = ltrim($column,'$'); - $row = ltrim($row,'$'); - return $worksheet . '$' . $column . '$' . $row; - } + // Create absolute coordinate + list($column, $row) = self::coordinateFromString($pCoordinateString); + $column = ltrim($column, '$'); + $row = ltrim($row, '$'); + return $worksheet . '$' . $column . '$' . $row; + } - throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); - } + throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells'); + } - /** - * Split range into coordinate strings - * - * @param string $pRange e.g. 'B4:D9' or 'B4:D9,H2:O11' or 'B4' - * @return array Array containg one or more arrays containing one or two coordinate strings - * e.g. array('B4','D9') or array(array('B4','D9'),array('H2','O11')) - * or array('B4') - */ - public static function splitRange($pRange = 'A1:A1') - { - // Ensure $pRange is a valid range - if(empty($pRange)) { - $pRange = self::DEFAULT_RANGE; - } + /** + * Split range into coordinate strings + * + * @param string $pRange e.g. 'B4:D9' or 'B4:D9,H2:O11' or 'B4' + * @return array Array containg one or more arrays containing one or two coordinate strings + * e.g. array('B4','D9') or array(array('B4','D9'),array('H2','O11')) + * or array('B4') + */ + public static function splitRange($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if (empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } - $exploded = explode(',', $pRange); - $counter = count($exploded); - for ($i = 0; $i < $counter; ++$i) { - $exploded[$i] = explode(':', $exploded[$i]); - } - return $exploded; - } + $exploded = explode(',', $pRange); + $counter = count($exploded); + for ($i = 0; $i < $counter; ++$i) { + $exploded[$i] = explode(':', $exploded[$i]); + } + return $exploded; + } - /** - * Build range from coordinate strings - * - * @param array $pRange Array containg one or more arrays containing one or two coordinate strings - * @return string String representation of $pRange - * @throws PHPExcel_Exception - */ - public static function buildRange($pRange) - { - // Verify range - if (!is_array($pRange) || empty($pRange) || !is_array($pRange[0])) { - throw new PHPExcel_Exception('Range does not contain any information'); - } + /** + * Build range from coordinate strings + * + * @param array $pRange Array containg one or more arrays containing one or two coordinate strings + * @return string String representation of $pRange + * @throws PHPExcel_Exception + */ + public static function buildRange($pRange) + { + // Verify range + if (!is_array($pRange) || empty($pRange) || !is_array($pRange[0])) { + throw new PHPExcel_Exception('Range does not contain any information'); + } - // Build range - $imploded = array(); - $counter = count($pRange); - for ($i = 0; $i < $counter; ++$i) { - $pRange[$i] = implode(':', $pRange[$i]); - } - $imploded = implode(',', $pRange); + // Build range + $imploded = array(); + $counter = count($pRange); + for ($i = 0; $i < $counter; ++$i) { + $pRange[$i] = implode(':', $pRange[$i]); + } + $imploded = implode(',', $pRange); - return $imploded; - } + return $imploded; + } - /** - * Calculate range boundaries - * - * @param string $pRange Cell range (e.g. A1:A1) - * @return array Range coordinates array(Start Cell, End Cell) - * where Start Cell and End Cell are arrays (Column Number, Row Number) - */ - public static function rangeBoundaries($pRange = 'A1:A1') - { - // Ensure $pRange is a valid range - if(empty($pRange)) { - $pRange = self::DEFAULT_RANGE; - } + /** + * Calculate range boundaries + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range coordinates array(Start Cell, End Cell) + * where Start Cell and End Cell are arrays (Column Number, Row Number) + */ + public static function rangeBoundaries($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if (empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } - // Uppercase coordinate - $pRange = strtoupper($pRange); + // Uppercase coordinate + $pRange = strtoupper($pRange); - // Extract range - if (strpos($pRange, ':') === FALSE) { - $rangeA = $rangeB = $pRange; - } else { - list($rangeA, $rangeB) = explode(':', $pRange); - } + // Extract range + if (strpos($pRange, ':') === false) { + $rangeA = $rangeB = $pRange; + } else { + list($rangeA, $rangeB) = explode(':', $pRange); + } - // Calculate range outer borders - $rangeStart = self::coordinateFromString($rangeA); - $rangeEnd = self::coordinateFromString($rangeB); + // Calculate range outer borders + $rangeStart = self::coordinateFromString($rangeA); + $rangeEnd = self::coordinateFromString($rangeB); - // Translate column into index - $rangeStart[0] = self::columnIndexFromString($rangeStart[0]); - $rangeEnd[0] = self::columnIndexFromString($rangeEnd[0]); + // Translate column into index + $rangeStart[0] = self::columnIndexFromString($rangeStart[0]); + $rangeEnd[0] = self::columnIndexFromString($rangeEnd[0]); - return array($rangeStart, $rangeEnd); - } + return array($rangeStart, $rangeEnd); + } - /** - * Calculate range dimension - * - * @param string $pRange Cell range (e.g. A1:A1) - * @return array Range dimension (width, height) - */ - public static function rangeDimension($pRange = 'A1:A1') - { - // Calculate range outer borders - list($rangeStart,$rangeEnd) = self::rangeBoundaries($pRange); + /** + * Calculate range dimension + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range dimension (width, height) + */ + public static function rangeDimension($pRange = 'A1:A1') + { + // Calculate range outer borders + list($rangeStart, $rangeEnd) = self::rangeBoundaries($pRange); - return array( ($rangeEnd[0] - $rangeStart[0] + 1), ($rangeEnd[1] - $rangeStart[1] + 1) ); - } + return array( ($rangeEnd[0] - $rangeStart[0] + 1), ($rangeEnd[1] - $rangeStart[1] + 1) ); + } - /** - * Calculate range boundaries - * - * @param string $pRange Cell range (e.g. A1:A1) - * @return array Range coordinates array(Start Cell, End Cell) - * where Start Cell and End Cell are arrays (Column ID, Row Number) - */ - public static function getRangeBoundaries($pRange = 'A1:A1') - { - // Ensure $pRange is a valid range - if(empty($pRange)) { - $pRange = self::DEFAULT_RANGE; - } + /** + * Calculate range boundaries + * + * @param string $pRange Cell range (e.g. A1:A1) + * @return array Range coordinates array(Start Cell, End Cell) + * where Start Cell and End Cell are arrays (Column ID, Row Number) + */ + public static function getRangeBoundaries($pRange = 'A1:A1') + { + // Ensure $pRange is a valid range + if (empty($pRange)) { + $pRange = self::DEFAULT_RANGE; + } - // Uppercase coordinate - $pRange = strtoupper($pRange); + // Uppercase coordinate + $pRange = strtoupper($pRange); - // Extract range - if (strpos($pRange, ':') === FALSE) { - $rangeA = $rangeB = $pRange; - } else { - list($rangeA, $rangeB) = explode(':', $pRange); - } + // Extract range + if (strpos($pRange, ':') === false) { + $rangeA = $rangeB = $pRange; + } else { + list($rangeA, $rangeB) = explode(':', $pRange); + } - return array( self::coordinateFromString($rangeA), self::coordinateFromString($rangeB)); - } + return array( self::coordinateFromString($rangeA), self::coordinateFromString($rangeB)); + } - /** - * Column index from string - * - * @param string $pString - * @return int Column index (base 1 !!!) - */ - public static function columnIndexFromString($pString = 'A') - { - // Using a lookup cache adds a slight memory overhead, but boosts speed - // caching using a static within the method is faster than a class static, - // though it's additional memory overhead - static $_indexCache = array(); + /** + * Column index from string + * + * @param string $pString + * @return int Column index (base 1 !!!) + */ + public static function columnIndexFromString($pString = 'A') + { + // Using a lookup cache adds a slight memory overhead, but boosts speed + // caching using a static within the method is faster than a class static, + // though it's additional memory overhead + static $_indexCache = array(); - if (isset($_indexCache[$pString])) - return $_indexCache[$pString]; + if (isset($_indexCache[$pString])) { + return $_indexCache[$pString]; + } + // It's surprising how costly the strtoupper() and ord() calls actually are, so we use a lookup array rather than use ord() + // and make it case insensitive to get rid of the strtoupper() as well. Because it's a static, there's no significant + // memory overhead either + static $_columnLookup = array( + 'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8, 'I' => 9, 'J' => 10, 'K' => 11, 'L' => 12, 'M' => 13, + 'N' => 14, 'O' => 15, 'P' => 16, 'Q' => 17, 'R' => 18, 'S' => 19, 'T' => 20, 'U' => 21, 'V' => 22, 'W' => 23, 'X' => 24, 'Y' => 25, 'Z' => 26, + 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7, 'h' => 8, 'i' => 9, 'j' => 10, 'k' => 11, 'l' => 12, 'm' => 13, + 'n' => 14, 'o' => 15, 'p' => 16, 'q' => 17, 'r' => 18, 's' => 19, 't' => 20, 'u' => 21, 'v' => 22, 'w' => 23, 'x' => 24, 'y' => 25, 'z' => 26 + ); - // It's surprising how costly the strtoupper() and ord() calls actually are, so we use a lookup array rather than use ord() - // and make it case insensitive to get rid of the strtoupper() as well. Because it's a static, there's no significant - // memory overhead either - static $_columnLookup = array( - 'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8, 'I' => 9, 'J' => 10, 'K' => 11, 'L' => 12, 'M' => 13, - 'N' => 14, 'O' => 15, 'P' => 16, 'Q' => 17, 'R' => 18, 'S' => 19, 'T' => 20, 'U' => 21, 'V' => 22, 'W' => 23, 'X' => 24, 'Y' => 25, 'Z' => 26, - 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7, 'h' => 8, 'i' => 9, 'j' => 10, 'k' => 11, 'l' => 12, 'm' => 13, - 'n' => 14, 'o' => 15, 'p' => 16, 'q' => 17, 'r' => 18, 's' => 19, 't' => 20, 'u' => 21, 'v' => 22, 'w' => 23, 'x' => 24, 'y' => 25, 'z' => 26 - ); + // We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString + // for improved performance + if (isset($pString{0})) { + if (!isset($pString{1})) { + $_indexCache[$pString] = $_columnLookup[$pString]; + return $_indexCache[$pString]; + } elseif (!isset($pString{2})) { + $_indexCache[$pString] = $_columnLookup[$pString{0}] * 26 + $_columnLookup[$pString{1}]; + return $_indexCache[$pString]; + } elseif (!isset($pString{3})) { + $_indexCache[$pString] = $_columnLookup[$pString{0}] * 676 + $_columnLookup[$pString{1}] * 26 + $_columnLookup[$pString{2}]; + return $_indexCache[$pString]; + } + } + throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty")); + } - // We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString - // for improved performance - if (isset($pString{0})) { - if (!isset($pString{1})) { - $_indexCache[$pString] = $_columnLookup[$pString]; - return $_indexCache[$pString]; - } elseif(!isset($pString{2})) { - $_indexCache[$pString] = $_columnLookup[$pString{0}] * 26 + $_columnLookup[$pString{1}]; - return $_indexCache[$pString]; - } elseif(!isset($pString{3})) { - $_indexCache[$pString] = $_columnLookup[$pString{0}] * 676 + $_columnLookup[$pString{1}] * 26 + $_columnLookup[$pString{2}]; - return $_indexCache[$pString]; - } - } - throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString{0})) ? "longer than 3 characters" : "empty")); - } + /** + * String from columnindex + * + * @param int $pColumnIndex Column index (base 0 !!!) + * @return string + */ + public static function stringFromColumnIndex($pColumnIndex = 0) + { + // Using a lookup cache adds a slight memory overhead, but boosts speed + // caching using a static within the method is faster than a class static, + // though it's additional memory overhead + static $_indexCache = array(); - /** - * String from columnindex - * - * @param int $pColumnIndex Column index (base 0 !!!) - * @return string - */ - public static function stringFromColumnIndex($pColumnIndex = 0) - { - // Using a lookup cache adds a slight memory overhead, but boosts speed - // caching using a static within the method is faster than a class static, - // though it's additional memory overhead - static $_indexCache = array(); + if (!isset($_indexCache[$pColumnIndex])) { + // Determine column string + if ($pColumnIndex < 26) { + $_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex); + } elseif ($pColumnIndex < 702) { + $_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) . + chr(65 + $pColumnIndex % 26); + } else { + $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) . + chr(65 + ((($pColumnIndex - 26) % 676) / 26)) . + chr(65 + $pColumnIndex % 26); + } + } + return $_indexCache[$pColumnIndex]; + } - if (!isset($_indexCache[$pColumnIndex])) { - // Determine column string - if ($pColumnIndex < 26) { - $_indexCache[$pColumnIndex] = chr(65 + $pColumnIndex); - } elseif ($pColumnIndex < 702) { - $_indexCache[$pColumnIndex] = chr(64 + ($pColumnIndex / 26)) . - chr(65 + $pColumnIndex % 26); - } else { - $_indexCache[$pColumnIndex] = chr(64 + (($pColumnIndex - 26) / 676)) . - chr(65 + ((($pColumnIndex - 26) % 676) / 26)) . - chr(65 + $pColumnIndex % 26); - } - } - return $_indexCache[$pColumnIndex]; - } + /** + * Extract all cell references in range + * + * @param string $pRange Range (e.g. A1 or A1:C10 or A1:E10 A20:E25) + * @return array Array containing single cell references + */ + public static function extractAllCellReferencesInRange($pRange = 'A1') + { + // Returnvalue + $returnValue = array(); - /** - * Extract all cell references in range - * - * @param string $pRange Range (e.g. A1 or A1:C10 or A1:E10 A20:E25) - * @return array Array containing single cell references - */ - public static function extractAllCellReferencesInRange($pRange = 'A1') { - // Returnvalue - $returnValue = array(); + // Explode spaces + $cellBlocks = explode(' ', str_replace('$', '', strtoupper($pRange))); + foreach ($cellBlocks as $cellBlock) { + // Single cell? + if (strpos($cellBlock, ':') === false && strpos($cellBlock, ',') === false) { + $returnValue[] = $cellBlock; + continue; + } - // Explode spaces - $cellBlocks = explode(' ', str_replace('$', '', strtoupper($pRange))); - foreach ($cellBlocks as $cellBlock) { - // Single cell? - if (strpos($cellBlock,':') === FALSE && strpos($cellBlock,',') === FALSE) { - $returnValue[] = $cellBlock; - continue; - } + // Range... + $ranges = self::splitRange($cellBlock); + foreach ($ranges as $range) { + // Single cell? + if (!isset($range[1])) { + $returnValue[] = $range[0]; + continue; + } - // Range... - $ranges = self::splitRange($cellBlock); - foreach($ranges as $range) { - // Single cell? - if (!isset($range[1])) { - $returnValue[] = $range[0]; - continue; - } + // Range... + list($rangeStart, $rangeEnd) = $range; + sscanf($rangeStart, '%[A-Z]%d', $startCol, $startRow); + sscanf($rangeEnd, '%[A-Z]%d', $endCol, $endRow); + ++$endCol; - // Range... - list($rangeStart, $rangeEnd) = $range; - sscanf($rangeStart,'%[A-Z]%d', $startCol, $startRow); - sscanf($rangeEnd,'%[A-Z]%d', $endCol, $endRow); - $endCol++; + // Current data + $currentCol = $startCol; + $currentRow = $startRow; - // Current data - $currentCol = $startCol; - $currentRow = $startRow; + // Loop cells + while ($currentCol != $endCol) { + while ($currentRow <= $endRow) { + $returnValue[] = $currentCol.$currentRow; + ++$currentRow; + } + ++$currentCol; + $currentRow = $startRow; + } + } + } - // Loop cells - while ($currentCol != $endCol) { - while ($currentRow <= $endRow) { - $returnValue[] = $currentCol.$currentRow; - ++$currentRow; - } - ++$currentCol; - $currentRow = $startRow; - } - } - } + // Sort the result by column and row + $sortKeys = array(); + foreach (array_unique($returnValue) as $coord) { + sscanf($coord, '%[A-Z]%d', $column, $row); + $sortKeys[sprintf('%3s%09d', $column, $row)] = $coord; + } + ksort($sortKeys); - // Sort the result by column and row - $sortKeys = array(); - foreach (array_unique($returnValue) as $coord) { - sscanf($coord,'%[A-Z]%d', $column, $row); - $sortKeys[sprintf('%3s%09d',$column,$row)] = $coord; - } - ksort($sortKeys); + // Return value + return array_values($sortKeys); + } - // Return value - return array_values($sortKeys); - } + /** + * Compare 2 cells + * + * @param PHPExcel_Cell $a Cell a + * @param PHPExcel_Cell $b Cell b + * @return int Result of comparison (always -1 or 1, never zero!) + */ + public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b) + { + if ($a->getRow() < $b->getRow()) { + return -1; + } elseif ($a->getRow() > $b->getRow()) { + return 1; + } elseif (self::columnIndexFromString($a->getColumn()) < self::columnIndexFromString($b->getColumn())) { + return -1; + } else { + return 1; + } + } - /** - * Compare 2 cells - * - * @param PHPExcel_Cell $a Cell a - * @param PHPExcel_Cell $b Cell b - * @return int Result of comparison (always -1 or 1, never zero!) - */ - public static function compareCells(PHPExcel_Cell $a, PHPExcel_Cell $b) - { - if ($a->getRow() < $b->getRow()) { - return -1; - } elseif ($a->getRow() > $b->getRow()) { - return 1; - } elseif (self::columnIndexFromString($a->getColumn()) < self::columnIndexFromString($b->getColumn())) { - return -1; - } else { - return 1; - } - } + /** + * Get value binder to use + * + * @return PHPExcel_Cell_IValueBinder + */ + public static function getValueBinder() + { + if (self::$valueBinder === null) { + self::$valueBinder = new PHPExcel_Cell_DefaultValueBinder(); + } - /** - * Get value binder to use - * - * @return PHPExcel_Cell_IValueBinder - */ - public static function getValueBinder() { - if (self::$_valueBinder === NULL) { - self::$_valueBinder = new PHPExcel_Cell_DefaultValueBinder(); - } + return self::$valueBinder; + } - return self::$_valueBinder; - } + /** + * Set value binder to use + * + * @param PHPExcel_Cell_IValueBinder $binder + * @throws PHPExcel_Exception + */ + public static function setValueBinder(PHPExcel_Cell_IValueBinder $binder = null) + { + if ($binder === null) { + throw new PHPExcel_Exception("A PHPExcel_Cell_IValueBinder is required for PHPExcel to function correctly."); + } - /** - * Set value binder to use - * - * @param PHPExcel_Cell_IValueBinder $binder - * @throws PHPExcel_Exception - */ - public static function setValueBinder(PHPExcel_Cell_IValueBinder $binder = NULL) { - if ($binder === NULL) { - throw new PHPExcel_Exception("A PHPExcel_Cell_IValueBinder is required for PHPExcel to function correctly."); - } + self::$valueBinder = $binder; + } - self::$_valueBinder = $binder; - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != 'parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if ((is_object($value)) && ($key != '_parent')) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Get index to cellXf + * + * @return int + */ + public function getXfIndex() + { + return $this->xfIndex; + } - /** - * Get index to cellXf - * - * @return int - */ - public function getXfIndex() - { - return $this->_xfIndex; - } + /** + * Set index to cellXf + * + * @param int $pValue + * @return PHPExcel_Cell + */ + public function setXfIndex($pValue = 0) + { + $this->xfIndex = $pValue; - /** - * Set index to cellXf - * - * @param int $pValue - * @return PHPExcel_Cell - */ - public function setXfIndex($pValue = 0) - { - $this->_xfIndex = $pValue; + return $this->notifyCacheController(); + } - return $this->notifyCacheController(); - } + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ + public function setFormulaAttributes($pAttributes) + { + $this->formulaAttributes = $pAttributes; + return $this; + } - /** - * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling - */ - public function setFormulaAttributes($pAttributes) - { - $this->_formulaAttributes = $pAttributes; - return $this; - } - - /** - * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling - */ - public function getFormulaAttributes() - { - return $this->_formulaAttributes; - } + /** + * @deprecated Since version 1.7.8 for planned changes to cell for array formula handling + */ + public function getFormulaAttributes() + { + return $this->formulaAttributes; + } /** * Convert to string * * @return string */ - public function __toString() - { - return (string) $this->getValue(); - } - + public function __toString() + { + return (string) $this->getValue(); + } } - diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php index f4280ac49..061d04eb5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php @@ -1,8 +1,18 @@ setValueExplicit( TRUE, PHPExcel_Cell_DataType::TYPE_BOOL); + $cell->setValueExplicit(true, PHPExcel_Cell_DataType::TYPE_BOOL); return true; - } elseif($value == PHPExcel_Calculation::getFALSE()) { - $cell->setValueExplicit( FALSE, PHPExcel_Cell_DataType::TYPE_BOOL); + } elseif ($value == PHPExcel_Calculation::getFALSE()) { + $cell->setValueExplicit(false, PHPExcel_Cell_DataType::TYPE_BOOL); return true; } // Check for number in scientific format if (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NUMBER.'$/', $value)) { - $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + $cell->setValueExplicit((float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); return true; } @@ -83,20 +74,24 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder if (preg_match('/^([+-]?)\s*([0-9]+)\s?\/\s*([0-9]+)$/', $value, $matches)) { // Convert value to number $value = $matches[2] / $matches[3]; - if ($matches[1] == '-') $value = 0 - $value; - $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + if ($matches[1] == '-') { + $value = 0 - $value; + } + $cell->setValueExplicit((float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( '??/??' ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode('??/??'); return true; } elseif (preg_match('/^([+-]?)([0-9]*) +([0-9]*)\s?\/\s*([0-9]*)$/', $value, $matches)) { // Convert value to number $value = $matches[2] + ($matches[3] / $matches[4]); - if ($matches[1] == '-') $value = 0 - $value; - $cell->setValueExplicit( (float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + if ($matches[1] == '-') { + $value = 0 - $value; + } + $cell->setValueExplicit((float) $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( '# ??/??' ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode('# ??/??'); return true; } @@ -104,10 +99,10 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder if (preg_match('/^\-?[0-9]*\.?[0-9]*\s?\%$/', $value)) { // Convert value to number $value = (float) str_replace('%', '', $value) / 100; - $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00 ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00); return true; } @@ -118,20 +113,20 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder if (preg_match('/^'.preg_quote($currencyCode).' *(\d{1,3}('.preg_quote($thousandsSeparator).'\d{3})*|(\d+))('.preg_quote($decimalSeparator).'\d{2})?$/', $value)) { // Convert value to number $value = (float) trim(str_replace(array($currencyCode, $thousandsSeparator, $decimalSeparator), array('', '', '.'), $value)); - $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + $cell->getWorksheet()->getStyle($cell->getCoordinate()) ->getNumberFormat()->setFormatCode( - str_replace('$', $currencyCode, PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE ) + str_replace('$', $currencyCode, PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE) ); return true; } elseif (preg_match('/^\$ *(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/', $value)) { // Convert value to number $value = (float) trim(str_replace(array('$',','), '', $value)); - $cell->setValueExplicit( $value, PHPExcel_Cell_DataType::TYPE_NUMERIC); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); return true; } @@ -142,8 +137,8 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder $days = $h / 24 + $m / 1440; $cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3 ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3); return true; } @@ -155,8 +150,8 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder // Convert value to number $cell->setValueExplicit($days, PHPExcel_Cell_DataType::TYPE_NUMERIC); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4 ); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4); return true; } @@ -170,18 +165,18 @@ class PHPExcel_Cell_AdvancedValueBinder extends PHPExcel_Cell_DefaultValueBinder } else { $formatCode = 'yyyy-mm-dd'; } - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) + $cell->getWorksheet()->getStyle($cell->getCoordinate()) ->getNumberFormat()->setFormatCode($formatCode); return true; } // Check for newline character "\n" - if (strpos($value, "\n") !== FALSE) { + if (strpos($value, "\n") !== false) { $value = PHPExcel_Shared_String::SanitizeUTF8($value); $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING); // Set style - $cell->getWorksheet()->getStyle( $cell->getCoordinate() ) - ->getAlignment()->setWrapText(TRUE); + $cell->getWorksheet()->getStyle($cell->getCoordinate()) + ->getAlignment()->setWrapText(true); return true; } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php index 07e148a50..fc010e653 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php @@ -1,8 +1,9 @@ 0, '#DIV/0!' => 1, '#VALUE!' => 2, @@ -65,8 +57,9 @@ class PHPExcel_Cell_DataType * * @return array */ - public static function getErrorCodes() { - return self::$_errorCodes; + public static function getErrorCodes() + { + return self::$errorCodes; } /** @@ -76,7 +69,8 @@ class PHPExcel_Cell_DataType * @param mixed $pValue * @return string */ - public static function dataTypeForValue($pValue = null) { + public static function dataTypeForValue($pValue = null) + { return PHPExcel_Cell_DefaultValueBinder::dataTypeForValue($pValue); } @@ -112,11 +106,10 @@ class PHPExcel_Cell_DataType { $pValue = (string) $pValue; - if ( !array_key_exists($pValue, self::$_errorCodes) ) { + if (!array_key_exists($pValue, self::$errorCodes)) { $pValue = '#NULL!'; } return $pValue; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php index 538ecd1fb..9883633e6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataValidation.php @@ -1,8 +1,9 @@ _formula1 = ''; - $this->_formula2 = ''; - $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE; - $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; - $this->_operator = ''; - $this->_allowBlank = FALSE; - $this->_showDropDown = FALSE; - $this->_showInputMessage = FALSE; - $this->_showErrorMessage = FALSE; - $this->_errorTitle = ''; - $this->_error = ''; - $this->_promptTitle = ''; - $this->_prompt = ''; + $this->formula1 = ''; + $this->formula2 = ''; + $this->type = PHPExcel_Cell_DataValidation::TYPE_NONE; + $this->errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; + $this->operator = ''; + $this->allowBlank = false; + $this->showDropDown = false; + $this->showInputMessage = false; + $this->showErrorMessage = false; + $this->errorTitle = ''; + $this->error = ''; + $this->promptTitle = ''; + $this->prompt = ''; } /** @@ -177,8 +169,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getFormula1() { - return $this->_formula1; + public function getFormula1() + { + return $this->formula1; } /** @@ -187,8 +180,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setFormula1($value = '') { - $this->_formula1 = $value; + public function setFormula1($value = '') + { + $this->formula1 = $value; return $this; } @@ -197,8 +191,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getFormula2() { - return $this->_formula2; + public function getFormula2() + { + return $this->formula2; } /** @@ -207,8 +202,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setFormula2($value = '') { - $this->_formula2 = $value; + public function setFormula2($value = '') + { + $this->formula2 = $value; return $this; } @@ -217,8 +213,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getType() { - return $this->_type; + public function getType() + { + return $this->type; } /** @@ -227,8 +224,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setType($value = PHPExcel_Cell_DataValidation::TYPE_NONE) { - $this->_type = $value; + public function setType($value = PHPExcel_Cell_DataValidation::TYPE_NONE) + { + $this->type = $value; return $this; } @@ -237,8 +235,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getErrorStyle() { - return $this->_errorStyle; + public function getErrorStyle() + { + return $this->errorStyle; } /** @@ -247,8 +246,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setErrorStyle($value = PHPExcel_Cell_DataValidation::STYLE_STOP) { - $this->_errorStyle = $value; + public function setErrorStyle($value = PHPExcel_Cell_DataValidation::STYLE_STOP) + { + $this->errorStyle = $value; return $this; } @@ -257,8 +257,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getOperator() { - return $this->_operator; + public function getOperator() + { + return $this->operator; } /** @@ -267,8 +268,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setOperator($value = '') { - $this->_operator = $value; + public function setOperator($value = '') + { + $this->operator = $value; return $this; } @@ -277,8 +279,9 @@ class PHPExcel_Cell_DataValidation * * @return boolean */ - public function getAllowBlank() { - return $this->_allowBlank; + public function getAllowBlank() + { + return $this->allowBlank; } /** @@ -287,8 +290,9 @@ class PHPExcel_Cell_DataValidation * @param boolean $value * @return PHPExcel_Cell_DataValidation */ - public function setAllowBlank($value = false) { - $this->_allowBlank = $value; + public function setAllowBlank($value = false) + { + $this->allowBlank = $value; return $this; } @@ -297,8 +301,9 @@ class PHPExcel_Cell_DataValidation * * @return boolean */ - public function getShowDropDown() { - return $this->_showDropDown; + public function getShowDropDown() + { + return $this->showDropDown; } /** @@ -307,8 +312,9 @@ class PHPExcel_Cell_DataValidation * @param boolean $value * @return PHPExcel_Cell_DataValidation */ - public function setShowDropDown($value = false) { - $this->_showDropDown = $value; + public function setShowDropDown($value = false) + { + $this->showDropDown = $value; return $this; } @@ -317,8 +323,9 @@ class PHPExcel_Cell_DataValidation * * @return boolean */ - public function getShowInputMessage() { - return $this->_showInputMessage; + public function getShowInputMessage() + { + return $this->showInputMessage; } /** @@ -327,8 +334,9 @@ class PHPExcel_Cell_DataValidation * @param boolean $value * @return PHPExcel_Cell_DataValidation */ - public function setShowInputMessage($value = false) { - $this->_showInputMessage = $value; + public function setShowInputMessage($value = false) + { + $this->showInputMessage = $value; return $this; } @@ -337,8 +345,9 @@ class PHPExcel_Cell_DataValidation * * @return boolean */ - public function getShowErrorMessage() { - return $this->_showErrorMessage; + public function getShowErrorMessage() + { + return $this->showErrorMessage; } /** @@ -347,8 +356,9 @@ class PHPExcel_Cell_DataValidation * @param boolean $value * @return PHPExcel_Cell_DataValidation */ - public function setShowErrorMessage($value = false) { - $this->_showErrorMessage = $value; + public function setShowErrorMessage($value = false) + { + $this->showErrorMessage = $value; return $this; } @@ -357,8 +367,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getErrorTitle() { - return $this->_errorTitle; + public function getErrorTitle() + { + return $this->errorTitle; } /** @@ -367,8 +378,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setErrorTitle($value = '') { - $this->_errorTitle = $value; + public function setErrorTitle($value = '') + { + $this->errorTitle = $value; return $this; } @@ -377,8 +389,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getError() { - return $this->_error; + public function getError() + { + return $this->error; } /** @@ -387,8 +400,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setError($value = '') { - $this->_error = $value; + public function setError($value = '') + { + $this->error = $value; return $this; } @@ -397,8 +411,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getPromptTitle() { - return $this->_promptTitle; + public function getPromptTitle() + { + return $this->promptTitle; } /** @@ -407,8 +422,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setPromptTitle($value = '') { - $this->_promptTitle = $value; + public function setPromptTitle($value = '') + { + $this->promptTitle = $value; return $this; } @@ -417,8 +433,9 @@ class PHPExcel_Cell_DataValidation * * @return string */ - public function getPrompt() { - return $this->_prompt; + public function getPrompt() + { + return $this->prompt; } /** @@ -427,8 +444,9 @@ class PHPExcel_Cell_DataValidation * @param string $value * @return PHPExcel_Cell_DataValidation */ - public function setPrompt($value = '') { - $this->_prompt = $value; + public function setPrompt($value = '') + { + $this->prompt = $value; return $this; } @@ -437,29 +455,31 @@ class PHPExcel_Cell_DataValidation * * @return string Hash code */ - public function getHashCode() { + public function getHashCode() + { return md5( - $this->_formula1 - . $this->_formula2 - . $this->_type = PHPExcel_Cell_DataValidation::TYPE_NONE - . $this->_errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP - . $this->_operator - . ($this->_allowBlank ? 't' : 'f') - . ($this->_showDropDown ? 't' : 'f') - . ($this->_showInputMessage ? 't' : 'f') - . ($this->_showErrorMessage ? 't' : 'f') - . $this->_errorTitle - . $this->_error - . $this->_promptTitle - . $this->_prompt - . __CLASS__ + $this->formula1 . + $this->formula2 . + $this->type = PHPExcel_Cell_DataValidation::TYPE_NONE . + $this->errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP . + $this->operator . + ($this->allowBlank ? 't' : 'f') . + ($this->showDropDown ? 't' : 'f') . + ($this->showInputMessage ? 't' : 'f') . + ($this->showErrorMessage ? 't' : 'f') . + $this->errorTitle . + $this->error . + $this->promptTitle . + $this->prompt . + __CLASS__ ); } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ - public function __clone() { + public function __clone() + { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php index 252048f7d..dc19e6c45 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php @@ -1,8 +1,18 @@ setValueExplicit( $value, self::dataTypeForValue($value) ); + $cell->setValueExplicit($value, self::dataTypeForValue($value)); // Done! return true; @@ -79,7 +70,8 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder * @param mixed $pValue * @return string */ - public static function dataTypeForValue($pValue = null) { + public static function dataTypeForValue($pValue = null) + { // Match the value against a few data types if ($pValue === null) { return PHPExcel_Cell_DataType::TYPE_NULL; @@ -95,9 +87,9 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder return PHPExcel_Cell_DataType::TYPE_NUMERIC; } elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) { $tValue = ltrim($pValue, '+-'); - if (is_string($pValue) && $tValue{0} === '0' && strlen($tValue) > 1 && $tValue{1} !== '.' ) { + if (is_string($pValue) && $tValue{0} === '0' && strlen($tValue) > 1 && $tValue{1} !== '.') { return PHPExcel_Cell_DataType::TYPE_STRING; - } elseif((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) { + } elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) { return PHPExcel_Cell_DataType::TYPE_STRING; } return PHPExcel_Cell_DataType::TYPE_NUMERIC; diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php index 178ba7ee2..daab54c84 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/Hyperlink.php @@ -1,8 +1,9 @@ _url = $pUrl; - $this->_tooltip = $pTooltip; + $this->url = $pUrl; + $this->tooltip = $pTooltip; } /** @@ -67,8 +59,9 @@ class PHPExcel_Cell_Hyperlink * * @return string */ - public function getUrl() { - return $this->_url; + public function getUrl() + { + return $this->url; } /** @@ -77,8 +70,9 @@ class PHPExcel_Cell_Hyperlink * @param string $value * @return PHPExcel_Cell_Hyperlink */ - public function setUrl($value = '') { - $this->_url = $value; + public function setUrl($value = '') + { + $this->url = $value; return $this; } @@ -87,8 +81,9 @@ class PHPExcel_Cell_Hyperlink * * @return string */ - public function getTooltip() { - return $this->_tooltip; + public function getTooltip() + { + return $this->tooltip; } /** @@ -97,8 +92,9 @@ class PHPExcel_Cell_Hyperlink * @param string $value * @return PHPExcel_Cell_Hyperlink */ - public function setTooltip($value = '') { - $this->_tooltip = $value; + public function setTooltip($value = '') + { + $this->tooltip = $value; return $this; } @@ -107,8 +103,9 @@ class PHPExcel_Cell_Hyperlink * * @return boolean */ - public function isInternal() { - return strpos($this->_url, 'sheet://') !== false; + public function isInternal() + { + return strpos($this->url, 'sheet://') !== false; } /** @@ -116,11 +113,12 @@ class PHPExcel_Cell_Hyperlink * * @return string Hash code */ - public function getHashCode() { + public function getHashCode() + { return md5( - $this->_url - . $this->_tooltip - . __CLASS__ + $this->url . + $this->tooltip . + __CLASS__ ); } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php index 551815523..de2d0ac0c 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/IValueBinder.php @@ -1,8 +1,9 @@ _name = $name; - $this->_title = $title; - $this->_legend = $legend; - $this->_xAxisLabel = $xAxisLabel; - $this->_yAxisLabel = $yAxisLabel; - $this->_plotArea = $plotArea; - $this->_plotVisibleOnly = $plotVisibleOnly; - $this->_displayBlanksAs = $displayBlanksAs; - $this->_xAxis = $xAxis; - $this->_yAxis = $yAxis; - $this->_majorGridlines = $majorGridlines; - $this->_minorGridlines = $minorGridlines; - } - - /** - * Get Name - * - * @return string - */ - public function getName() { - return $this->_name; - } - - /** - * Get Worksheet - * - * @return PHPExcel_Worksheet - */ - public function getWorksheet() { - return $this->_worksheet; - } - - /** - * Set Worksheet - * - * @param PHPExcel_Worksheet $pValue - * @throws PHPExcel_Chart_Exception - * @return PHPExcel_Chart - */ - public function setWorksheet(PHPExcel_Worksheet $pValue = null) { - $this->_worksheet = $pValue; - - return $this; - } - - /** - * Get Title - * - * @return PHPExcel_Chart_Title - */ - public function getTitle() { - return $this->_title; - } - - /** - * Set Title - * - * @param PHPExcel_Chart_Title $title - * @return PHPExcel_Chart - */ - public function setTitle(PHPExcel_Chart_Title $title) { - $this->_title = $title; - - return $this; - } - - /** - * Get Legend - * - * @return PHPExcel_Chart_Legend - */ - public function getLegend() { - return $this->_legend; - } - - /** - * Set Legend - * - * @param PHPExcel_Chart_Legend $legend - * @return PHPExcel_Chart - */ - public function setLegend(PHPExcel_Chart_Legend $legend) { - $this->_legend = $legend; - - return $this; - } - - /** - * Get X-Axis Label - * - * @return PHPExcel_Chart_Title - */ - public function getXAxisLabel() { - return $this->_xAxisLabel; - } - - /** - * Set X-Axis Label - * - * @param PHPExcel_Chart_Title $label - * @return PHPExcel_Chart - */ - public function setXAxisLabel(PHPExcel_Chart_Title $label) { - $this->_xAxisLabel = $label; - - return $this; - } - - /** - * Get Y-Axis Label - * - * @return PHPExcel_Chart_Title - */ - public function getYAxisLabel() { - return $this->_yAxisLabel; - } - - /** - * Set Y-Axis Label - * - * @param PHPExcel_Chart_Title $label - * @return PHPExcel_Chart - */ - public function setYAxisLabel(PHPExcel_Chart_Title $label) { - $this->_yAxisLabel = $label; - - return $this; - } - - /** - * Get Plot Area - * - * @return PHPExcel_Chart_PlotArea - */ - public function getPlotArea() { - return $this->_plotArea; - } - - /** - * Get Plot Visible Only - * - * @return boolean - */ - public function getPlotVisibleOnly() { - return $this->_plotVisibleOnly; - } - - /** - * Set Plot Visible Only - * - * @param boolean $plotVisibleOnly - * @return PHPExcel_Chart - */ - public function setPlotVisibleOnly($plotVisibleOnly = true) { - $this->_plotVisibleOnly = $plotVisibleOnly; - - return $this; - } - - /** - * Get Display Blanks as - * - * @return string - */ - public function getDisplayBlanksAs() { - return $this->_displayBlanksAs; - } - - /** - * Set Display Blanks as - * - * @param string $displayBlanksAs - * @return PHPExcel_Chart - */ - public function setDisplayBlanksAs($displayBlanksAs = '0') { - $this->_displayBlanksAs = $displayBlanksAs; - } - - - /** - * Get yAxis - * - * @return PHPExcel_Chart_Axis - */ - public function getChartAxisY() { - if($this->_yAxis !== NULL){ - return $this->_yAxis; + /** + * Create a new PHPExcel_Chart + */ + public function __construct($name, PHPExcel_Chart_Title $title = null, PHPExcel_Chart_Legend $legend = null, PHPExcel_Chart_PlotArea $plotArea = null, $plotVisibleOnly = true, $displayBlanksAs = '0', PHPExcel_Chart_Title $xAxisLabel = null, PHPExcel_Chart_Title $yAxisLabel = null, PHPExcel_Chart_Axis $xAxis = null, PHPExcel_Chart_Axis $yAxis = null, PHPExcel_Chart_GridLines $majorGridlines = null, PHPExcel_Chart_GridLines $minorGridlines = null) + { + $this->name = $name; + $this->title = $title; + $this->legend = $legend; + $this->xAxisLabel = $xAxisLabel; + $this->yAxisLabel = $yAxisLabel; + $this->plotArea = $plotArea; + $this->plotVisibleOnly = $plotVisibleOnly; + $this->displayBlanksAs = $displayBlanksAs; + $this->xAxis = $xAxis; + $this->yAxis = $yAxis; + $this->majorGridlines = $majorGridlines; + $this->minorGridlines = $minorGridlines; } - return new PHPExcel_Chart_Axis(); - } - - /** - * Get xAxis - * - * @return PHPExcel_Chart_Axis - */ - public function getChartAxisX() { - if($this->_xAxis !== NULL){ - return $this->_xAxis; + /** + * Get Name + * + * @return string + */ + public function getName() + { + return $this->name; } - return new PHPExcel_Chart_Axis(); - } - - /** - * Get Major Gridlines - * - * @return PHPExcel_Chart_GridLines - */ - public function getMajorGridlines() { - if($this->_majorGridlines !== NULL){ - return $this->_majorGridlines; + /** + * Get Worksheet + * + * @return PHPExcel_Worksheet + */ + public function getWorksheet() + { + return $this->worksheet; } - return new PHPExcel_Chart_GridLines(); - } + /** + * Set Worksheet + * + * @param PHPExcel_Worksheet $pValue + * @throws PHPExcel_Chart_Exception + * @return PHPExcel_Chart + */ + public function setWorksheet(PHPExcel_Worksheet $pValue = null) + { + $this->worksheet = $pValue; - /** - * Get Minor Gridlines - * - * @return PHPExcel_Chart_GridLines - */ - public function getMinorGridlines() { - if($this->_minorGridlines !== NULL){ - return $this->_minorGridlines; + return $this; } - return new PHPExcel_Chart_GridLines(); - } + /** + * Get Title + * + * @return PHPExcel_Chart_Title + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set Title + * + * @param PHPExcel_Chart_Title $title + * @return PHPExcel_Chart + */ + public function setTitle(PHPExcel_Chart_Title $title) + { + $this->title = $title; + + return $this; + } + + /** + * Get Legend + * + * @return PHPExcel_Chart_Legend + */ + public function getLegend() + { + return $this->legend; + } + + /** + * Set Legend + * + * @param PHPExcel_Chart_Legend $legend + * @return PHPExcel_Chart + */ + public function setLegend(PHPExcel_Chart_Legend $legend) + { + $this->legend = $legend; + + return $this; + } + + /** + * Get X-Axis Label + * + * @return PHPExcel_Chart_Title + */ + public function getXAxisLabel() + { + return $this->xAxisLabel; + } + + /** + * Set X-Axis Label + * + * @param PHPExcel_Chart_Title $label + * @return PHPExcel_Chart + */ + public function setXAxisLabel(PHPExcel_Chart_Title $label) + { + $this->xAxisLabel = $label; + + return $this; + } + + /** + * Get Y-Axis Label + * + * @return PHPExcel_Chart_Title + */ + public function getYAxisLabel() + { + return $this->yAxisLabel; + } + + /** + * Set Y-Axis Label + * + * @param PHPExcel_Chart_Title $label + * @return PHPExcel_Chart + */ + public function setYAxisLabel(PHPExcel_Chart_Title $label) + { + $this->yAxisLabel = $label; + + return $this; + } + + /** + * Get Plot Area + * + * @return PHPExcel_Chart_PlotArea + */ + public function getPlotArea() + { + return $this->plotArea; + } + + /** + * Get Plot Visible Only + * + * @return boolean + */ + public function getPlotVisibleOnly() + { + return $this->plotVisibleOnly; + } + + /** + * Set Plot Visible Only + * + * @param boolean $plotVisibleOnly + * @return PHPExcel_Chart + */ + public function setPlotVisibleOnly($plotVisibleOnly = true) + { + $this->plotVisibleOnly = $plotVisibleOnly; + + return $this; + } + + /** + * Get Display Blanks as + * + * @return string + */ + public function getDisplayBlanksAs() + { + return $this->displayBlanksAs; + } + + /** + * Set Display Blanks as + * + * @param string $displayBlanksAs + * @return PHPExcel_Chart + */ + public function setDisplayBlanksAs($displayBlanksAs = '0') + { + $this->displayBlanksAs = $displayBlanksAs; + } - /** - * Set the Top Left position for the chart - * - * @param string $cell - * @param integer $xOffset - * @param integer $yOffset - * @return PHPExcel_Chart - */ - public function setTopLeftPosition($cell, $xOffset=null, $yOffset=null) { - $this->_topLeftCellRef = $cell; - if (!is_null($xOffset)) - $this->setTopLeftXOffset($xOffset); - if (!is_null($yOffset)) - $this->setTopLeftYOffset($yOffset); + /** + * Get yAxis + * + * @return PHPExcel_Chart_Axis + */ + public function getChartAxisY() + { + if ($this->yAxis !== null) { + return $this->yAxis; + } - return $this; - } + return new PHPExcel_Chart_Axis(); + } - /** - * Get the top left position of the chart - * - * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell - */ - public function getTopLeftPosition() { - return array( 'cell' => $this->_topLeftCellRef, - 'xOffset' => $this->_topLeftXOffset, - 'yOffset' => $this->_topLeftYOffset - ); - } + /** + * Get xAxis + * + * @return PHPExcel_Chart_Axis + */ + public function getChartAxisX() + { + if ($this->xAxis !== null) { + return $this->xAxis; + } - /** - * Get the cell address where the top left of the chart is fixed - * - * @return string - */ - public function getTopLeftCell() { - return $this->_topLeftCellRef; - } + return new PHPExcel_Chart_Axis(); + } - /** - * Set the Top Left cell position for the chart - * - * @param string $cell - * @return PHPExcel_Chart - */ - public function setTopLeftCell($cell) { - $this->_topLeftCellRef = $cell; + /** + * Get Major Gridlines + * + * @return PHPExcel_Chart_GridLines + */ + public function getMajorGridlines() + { + if ($this->majorGridlines !== null) { + return $this->majorGridlines; + } - return $this; - } + return new PHPExcel_Chart_GridLines(); + } - /** - * Set the offset position within the Top Left cell for the chart - * - * @param integer $xOffset - * @param integer $yOffset - * @return PHPExcel_Chart - */ - public function setTopLeftOffset($xOffset=null,$yOffset=null) { - if (!is_null($xOffset)) - $this->setTopLeftXOffset($xOffset); - if (!is_null($yOffset)) - $this->setTopLeftYOffset($yOffset); + /** + * Get Minor Gridlines + * + * @return PHPExcel_Chart_GridLines + */ + public function getMinorGridlines() + { + if ($this->minorGridlines !== null) { + return $this->minorGridlines; + } - return $this; - } - - /** - * Get the offset position within the Top Left cell for the chart - * - * @return integer[] - */ - public function getTopLeftOffset() { - return array( 'X' => $this->_topLeftXOffset, - 'Y' => $this->_topLeftYOffset - ); - } - - public function setTopLeftXOffset($xOffset) { - $this->_topLeftXOffset = $xOffset; - - return $this; - } - - public function getTopLeftXOffset() { - return $this->_topLeftXOffset; - } - - public function setTopLeftYOffset($yOffset) { - $this->_topLeftYOffset = $yOffset; - - return $this; - } - - public function getTopLeftYOffset() { - return $this->_topLeftYOffset; - } - - /** - * Set the Bottom Right position of the chart - * - * @param string $cell - * @param integer $xOffset - * @param integer $yOffset - * @return PHPExcel_Chart - */ - public function setBottomRightPosition($cell, $xOffset=null, $yOffset=null) { - $this->_bottomRightCellRef = $cell; - if (!is_null($xOffset)) - $this->setBottomRightXOffset($xOffset); - if (!is_null($yOffset)) - $this->setBottomRightYOffset($yOffset); - - return $this; - } - - /** - * Get the bottom right position of the chart - * - * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell - */ - public function getBottomRightPosition() { - return array( 'cell' => $this->_bottomRightCellRef, - 'xOffset' => $this->_bottomRightXOffset, - 'yOffset' => $this->_bottomRightYOffset - ); - } - - public function setBottomRightCell($cell) { - $this->_bottomRightCellRef = $cell; - - return $this; - } - - /** - * Get the cell address where the bottom right of the chart is fixed - * - * @return string - */ - public function getBottomRightCell() { - return $this->_bottomRightCellRef; - } - - /** - * Set the offset position within the Bottom Right cell for the chart - * - * @param integer $xOffset - * @param integer $yOffset - * @return PHPExcel_Chart - */ - public function setBottomRightOffset($xOffset=null,$yOffset=null) { - if (!is_null($xOffset)) - $this->setBottomRightXOffset($xOffset); - if (!is_null($yOffset)) - $this->setBottomRightYOffset($yOffset); - - return $this; - } - - /** - * Get the offset position within the Bottom Right cell for the chart - * - * @return integer[] - */ - public function getBottomRightOffset() { - return array( 'X' => $this->_bottomRightXOffset, - 'Y' => $this->_bottomRightYOffset - ); - } - - public function setBottomRightXOffset($xOffset) { - $this->_bottomRightXOffset = $xOffset; - - return $this; - } - - public function getBottomRightXOffset() { - return $this->_bottomRightXOffset; - } - - public function setBottomRightYOffset($yOffset) { - $this->_bottomRightYOffset = $yOffset; - - return $this; - } - - public function getBottomRightYOffset() { - return $this->_bottomRightYOffset; - } + return new PHPExcel_Chart_GridLines(); + } - public function refresh() { - if ($this->_worksheet !== NULL) { - $this->_plotArea->refresh($this->_worksheet); - } - } + /** + * Set the Top Left position for the chart + * + * @param string $cell + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setTopLeftPosition($cell, $xOffset = null, $yOffset = null) + { + $this->topLeftCellRef = $cell; + if (!is_null($xOffset)) { + $this->setTopLeftXOffset($xOffset); + } + if (!is_null($yOffset)) { + $this->setTopLeftYOffset($yOffset); + } - public function render($outputDestination = null) { - $libraryName = PHPExcel_Settings::getChartRendererName(); - if (is_null($libraryName)) { - return false; - } - // Ensure that data series values are up-to-date before we render - $this->refresh(); + return $this; + } - $libraryPath = PHPExcel_Settings::getChartRendererPath(); - $includePath = str_replace('\\','/',get_include_path()); - $rendererPath = str_replace('\\','/',$libraryPath); - if (strpos($rendererPath,$includePath) === false) { - set_include_path(get_include_path() . PATH_SEPARATOR . $libraryPath); - } + /** + * Get the top left position of the chart + * + * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell + */ + public function getTopLeftPosition() + { + return array( + 'cell' => $this->topLeftCellRef, + 'xOffset' => $this->topLeftXOffset, + 'yOffset' => $this->topLeftYOffset + ); + } - $rendererName = 'PHPExcel_Chart_Renderer_'.$libraryName; - $renderer = new $rendererName($this); + /** + * Get the cell address where the top left of the chart is fixed + * + * @return string + */ + public function getTopLeftCell() + { + return $this->topLeftCellRef; + } - if ($outputDestination == 'php://output') { - $outputDestination = null; - } - return $renderer->render($outputDestination); - } + /** + * Set the Top Left cell position for the chart + * + * @param string $cell + * @return PHPExcel_Chart + */ + public function setTopLeftCell($cell) + { + $this->topLeftCellRef = $cell; + return $this; + } + + /** + * Set the offset position within the Top Left cell for the chart + * + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setTopLeftOffset($xOffset = null, $yOffset = null) + { + if (!is_null($xOffset)) { + $this->setTopLeftXOffset($xOffset); + } + if (!is_null($yOffset)) { + $this->setTopLeftYOffset($yOffset); + } + + return $this; + } + + /** + * Get the offset position within the Top Left cell for the chart + * + * @return integer[] + */ + public function getTopLeftOffset() + { + return array( + 'X' => $this->topLeftXOffset, + 'Y' => $this->topLeftYOffset + ); + } + + public function setTopLeftXOffset($xOffset) + { + $this->topLeftXOffset = $xOffset; + + return $this; + } + + public function getTopLeftXOffset() + { + return $this->topLeftXOffset; + } + + public function setTopLeftYOffset($yOffset) + { + $this->topLeftYOffset = $yOffset; + + return $this; + } + + public function getTopLeftYOffset() + { + return $this->topLeftYOffset; + } + + /** + * Set the Bottom Right position of the chart + * + * @param string $cell + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setBottomRightPosition($cell, $xOffset = null, $yOffset = null) + { + $this->bottomRightCellRef = $cell; + if (!is_null($xOffset)) { + $this->setBottomRightXOffset($xOffset); + } + if (!is_null($yOffset)) { + $this->setBottomRightYOffset($yOffset); + } + + return $this; + } + + /** + * Get the bottom right position of the chart + * + * @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell + */ + public function getBottomRightPosition() + { + return array( + 'cell' => $this->bottomRightCellRef, + 'xOffset' => $this->bottomRightXOffset, + 'yOffset' => $this->bottomRightYOffset + ); + } + + public function setBottomRightCell($cell) + { + $this->bottomRightCellRef = $cell; + + return $this; + } + + /** + * Get the cell address where the bottom right of the chart is fixed + * + * @return string + */ + public function getBottomRightCell() + { + return $this->bottomRightCellRef; + } + + /** + * Set the offset position within the Bottom Right cell for the chart + * + * @param integer $xOffset + * @param integer $yOffset + * @return PHPExcel_Chart + */ + public function setBottomRightOffset($xOffset = null, $yOffset = null) + { + if (!is_null($xOffset)) { + $this->setBottomRightXOffset($xOffset); + } + if (!is_null($yOffset)) { + $this->setBottomRightYOffset($yOffset); + } + + return $this; + } + + /** + * Get the offset position within the Bottom Right cell for the chart + * + * @return integer[] + */ + public function getBottomRightOffset() + { + return array( + 'X' => $this->bottomRightXOffset, + 'Y' => $this->bottomRightYOffset + ); + } + + public function setBottomRightXOffset($xOffset) + { + $this->bottomRightXOffset = $xOffset; + + return $this; + } + + public function getBottomRightXOffset() + { + return $this->bottomRightXOffset; + } + + public function setBottomRightYOffset($yOffset) + { + $this->bottomRightYOffset = $yOffset; + + return $this; + } + + public function getBottomRightYOffset() + { + return $this->bottomRightYOffset; + } + + + public function refresh() + { + if ($this->worksheet !== null) { + $this->plotArea->refresh($this->worksheet); + } + } + + public function render($outputDestination = null) + { + $libraryName = PHPExcel_Settings::getChartRendererName(); + if (is_null($libraryName)) { + return false; + } + // Ensure that data series values are up-to-date before we render + $this->refresh(); + + $libraryPath = PHPExcel_Settings::getChartRendererPath(); + $includePath = str_replace('\\', '/', get_include_path()); + $rendererPath = str_replace('\\', '/', $libraryPath); + if (strpos($rendererPath, $includePath) === false) { + set_include_path(get_include_path() . PATH_SEPARATOR . $libraryPath); + } + + $rendererName = 'PHPExcel_Chart_Renderer_'.$libraryName; + $renderer = new $rendererName($this); + + if ($outputDestination == 'php://output') { + $outputDestination = null; + } + return $renderer->render($outputDestination); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php index efb39e9f4..9aeafc6a4 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Axis.php @@ -1,5 +1,4 @@ self::FORMAT_CODE_GENERAL, + 'source_linked' => 1 + ); - /** - * Axis Number - * - * @var array of mixed - */ + /** + * Axis Options + * + * @var array of mixed + */ + private $axisOptions = array( + 'minimum' => null, + 'maximum' => null, + 'major_unit' => null, + 'minor_unit' => null, + 'orientation' => self::ORIENTATION_NORMAL, + 'minor_tick_mark' => self::TICK_MARK_NONE, + 'major_tick_mark' => self::TICK_MARK_NONE, + 'axis_labels' => self::AXIS_LABELS_NEXT_TO, + 'horizontal_crosses' => self::HORIZONTAL_CROSSES_AUTOZERO, + 'horizontal_crosses_value' => null + ); - private - $_axis_number = array( - 'format' => self::FORMAT_CODE_GENERAL, - 'source_linked' => 1 - ); + /** + * Fill Properties + * + * @var array of mixed + */ + private $fillProperties = array( + 'type' => self::EXCEL_COLOR_TYPE_ARGB, + 'value' => null, + 'alpha' => 0 + ); - /** - * Axis Options - * - * @var array of mixed - */ + /** + * Line Properties + * + * @var array of mixed + */ + private $lineProperties = array( + 'type' => self::EXCEL_COLOR_TYPE_ARGB, + 'value' => null, + 'alpha' => 0 + ); - private $_axis_options = array( - 'minimum' => NULL, - 'maximum' => NULL, - 'major_unit' => NULL, - 'minor_unit' => NULL, - 'orientation' => self::ORIENTATION_NORMAL, - 'minor_tick_mark' => self::TICK_MARK_NONE, - 'major_tick_mark' => self::TICK_MARK_NONE, - 'axis_labels' => self::AXIS_LABELS_NEXT_TO, - 'horizontal_crosses' => self::HORIZONTAL_CROSSES_AUTOZERO, - 'horizontal_crosses_value' => NULL - ); + /** + * Line Style Properties + * + * @var array of mixed + */ + private $lineStyleProperties = array( + 'width' => '9525', + 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, + 'dash' => self::LINE_STYLE_DASH_SOLID, + 'cap' => self::LINE_STYLE_CAP_FLAT, + 'join' => self::LINE_STYLE_JOIN_BEVEL, + 'arrow' => array( + 'head' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_5 + ), + 'end' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_8 + ), + ) + ); - /** - * Fill Properties - * - * @var array of mixed - */ + /** + * Shadow Properties + * + * @var array of mixed + */ + private $shadowProperties = array( + 'presets' => self::SHADOW_PRESETS_NOSHADOW, + 'effect' => null, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40, + ), + 'size' => array( + 'sx' => null, + 'sy' => null, + 'kx' => null + ), + 'blur' => null, + 'direction' => null, + 'distance' => null, + 'algn' => null, + 'rotWithShape' => null + ); - private $_fill_properties = array( - 'type' => self::EXCEL_COLOR_TYPE_ARGB, - 'value' => NULL, - 'alpha' => 0 - ); + /** + * Glow Properties + * + * @var array of mixed + */ + private $glowProperties = array( + 'size' => null, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40 + ) + ); - /** - * Line Properties - * - * @var array of mixed - */ + /** + * Soft Edge Properties + * + * @var array of mixed + */ + private $softEdges = array( + 'size' => null + ); - private $_line_properties = array( - 'type' => self::EXCEL_COLOR_TYPE_ARGB, - 'value' => NULL, - 'alpha' => 0 - ); + /** + * Get Series Data Type + * + * @return string + */ + public function setAxisNumberProperties($format_code) + { + $this->axisNumber['format'] = (string) $format_code; + $this->axisNumber['source_linked'] = 0; + } - /** - * Line Style Properties - * - * @var array of mixed - */ + /** + * Get Axis Number Format Data Type + * + * @return string + */ + public function getAxisNumberFormat() + { + return $this->axisNumber['format']; + } - private $_line_style_properties = array( - 'width' => '9525', - 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, - 'dash' => self::LINE_STYLE_DASH_SOLID, - 'cap' => self::LINE_STYLE_CAP_FLAT, - 'join' => self::LINE_STYLE_JOIN_BEVEL, - 'arrow' => array( - 'head' => array( - 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, - 'size' => self::LINE_STYLE_ARROW_SIZE_5 - ), - 'end' => array( - 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, - 'size' => self::LINE_STYLE_ARROW_SIZE_8 - ), - ) - ); + /** + * Get Axis Number Source Linked + * + * @return string + */ + public function getAxisNumberSourceLinked() + { + return (string) $this->axisNumber['source_linked']; + } - /** - * Shadow Properties - * - * @var array of mixed - */ + /** + * Set Axis Options Properties + * + * @param string $axis_labels + * @param string $horizontal_crosses_value + * @param string $horizontal_crosses + * @param string $axis_orientation + * @param string $major_tmt + * @param string $minor_tmt + * @param string $minimum + * @param string $maximum + * @param string $major_unit + * @param string $minor_unit + * + */ + public function setAxisOptionsProperties($axis_labels, $horizontal_crosses_value = null, $horizontal_crosses = null, $axis_orientation = null, $major_tmt = null, $minor_tmt = null, $minimum = null, $maximum = null, $major_unit = null, $minor_unit = null) + { + $this->axisOptions['axis_labels'] = (string) $axis_labels; + ($horizontal_crosses_value !== null) ? $this->axisOptions['horizontal_crosses_value'] = (string) $horizontal_crosses_value : null; + ($horizontal_crosses !== null) ? $this->axisOptions['horizontal_crosses'] = (string) $horizontal_crosses : null; + ($axis_orientation !== null) ? $this->axisOptions['orientation'] = (string) $axis_orientation : null; + ($major_tmt !== null) ? $this->axisOptions['major_tick_mark'] = (string) $major_tmt : null; + ($minor_tmt !== null) ? $this->axisOptions['minor_tick_mark'] = (string) $minor_tmt : null; + ($minor_tmt !== null) ? $this->axisOptions['minor_tick_mark'] = (string) $minor_tmt : null; + ($minimum !== null) ? $this->axisOptions['minimum'] = (string) $minimum : null; + ($maximum !== null) ? $this->axisOptions['maximum'] = (string) $maximum : null; + ($major_unit !== null) ? $this->axisOptions['major_unit'] = (string) $major_unit : null; + ($minor_unit !== null) ? $this->axisOptions['minor_unit'] = (string) $minor_unit : null; + } - private $_shadow_properties = array( - 'presets' => self::SHADOW_PRESETS_NOSHADOW, - 'effect' => NULL, - 'color' => array( - 'type' => self::EXCEL_COLOR_TYPE_STANDARD, - 'value' => 'black', - 'alpha' => 40, - ), - 'size' => array( - 'sx' => NULL, - 'sy' => NULL, - 'kx' => NULL - ), - 'blur' => NULL, - 'direction' => NULL, - 'distance' => NULL, - 'algn' => NULL, - 'rotWithShape' => NULL - ); + /** + * Get Axis Options Property + * + * @param string $property + * + * @return string + */ + public function getAxisOptionsProperty($property) + { + return $this->axisOptions[$property]; + } - /** - * Glow Properties - * - * @var array of mixed - */ + /** + * Set Axis Orientation Property + * + * @param string $orientation + * + */ + public function setAxisOrientation($orientation) + { + $this->orientation = (string) $orientation; + } - private $_glow_properties = array( - 'size' => NULL, - 'color' => array( - 'type' => self::EXCEL_COLOR_TYPE_STANDARD, - 'value' => 'black', - 'alpha' => 40 - ) - ); + /** + * Set Fill Property + * + * @param string $color + * @param int $alpha + * @param string $type + * + */ + public function setFillParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) + { + $this->fillProperties = $this->setColorProperties($color, $alpha, $type); + } - /** - * Soft Edge Properties - * - * @var array of mixed - */ + /** + * Set Line Property + * + * @param string $color + * @param int $alpha + * @param string $type + * + */ + public function setLineParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) + { + $this->lineProperties = $this->setColorProperties($color, $alpha, $type); + } - private $_soft_edges = array( - 'size' => NULL - ); + /** + * Get Fill Property + * + * @param string $property + * + * @return string + */ + public function getFillProperty($property) + { + return $this->fillProperties[$property]; + } - /** - * Get Series Data Type - * - * @return string - */ + /** + * Get Line Property + * + * @param string $property + * + * @return string + */ + public function getLineProperty($property) + { + return $this->lineProperties[$property]; + } - public function setAxisNumberProperties($format_code) { - $this->_axis_number['format'] = (string) $format_code; - $this->_axis_number['source_linked'] = 0; - } + /** + * Set Line Style Properties + * + * @param float $line_width + * @param string $compound_type + * @param string $dash_type + * @param string $cap_type + * @param string $join_type + * @param string $head_arrow_type + * @param string $head_arrow_size + * @param string $end_arrow_type + * @param string $end_arrow_size + * + */ + public function setLineStyleProperties($line_width = null, $compound_type = null, $dash_type = null, $cap_type = null, $join_type = null, $head_arrow_type = null, $head_arrow_size = null, $end_arrow_type = null, $end_arrow_size = null) + { + (!is_null($line_width)) ? $this->lineStyleProperties['width'] = $this->getExcelPointsWidth((float) $line_width) : null; + (!is_null($compound_type)) ? $this->lineStyleProperties['compound'] = (string) $compound_type : null; + (!is_null($dash_type)) ? $this->lineStyleProperties['dash'] = (string) $dash_type : null; + (!is_null($cap_type)) ? $this->lineStyleProperties['cap'] = (string) $cap_type : null; + (!is_null($join_type)) ? $this->lineStyleProperties['join'] = (string) $join_type : null; + (!is_null($head_arrow_type)) ? $this->lineStyleProperties['arrow']['head']['type'] = (string) $head_arrow_type : null; + (!is_null($head_arrow_size)) ? $this->lineStyleProperties['arrow']['head']['size'] = (string) $head_arrow_size : null; + (!is_null($end_arrow_type)) ? $this->lineStyleProperties['arrow']['end']['type'] = (string) $end_arrow_type : null; + (!is_null($end_arrow_size)) ? $this->lineStyleProperties['arrow']['end']['size'] = (string) $end_arrow_size : null; + } - /** - * Get Axis Number Format Data Type - * - * @return string - */ + /** + * Get Line Style Property + * + * @param array|string $elements + * + * @return string + */ + public function getLineStyleProperty($elements) + { + return $this->getArrayElementsValue($this->lineStyleProperties, $elements); + } - public function getAxisNumberFormat() { - return $this->_axis_number['format']; - } + /** + * Get Line Style Arrow Excel Width + * + * @param string $arrow + * + * @return string + */ + public function getLineStyleArrowWidth($arrow) + { + return $this->getLineStyleArrowSize($this->lineStyleProperties['arrow'][$arrow]['size'], 'w'); + } - /** - * Get Axis Number Source Linked - * - * @return string - */ + /** + * Get Line Style Arrow Excel Length + * + * @param string $arrow + * + * @return string + */ + public function getLineStyleArrowLength($arrow) + { + return $this->getLineStyleArrowSize($this->lineStyleProperties['arrow'][$arrow]['size'], 'len'); + } - public function getAxisNumberSourceLinked() { - return (string) $this->_axis_number['source_linked']; - } + /** + * Set Shadow Properties + * + * @param int $shadow_presets + * @param string $sh_color_value + * @param string $sh_color_type + * @param string $sh_color_alpha + * @param float $sh_blur + * @param int $sh_angle + * @param float $sh_distance + * + */ + public function setShadowProperties($sh_presets, $sh_color_value = null, $sh_color_type = null, $sh_color_alpha = null, $sh_blur = null, $sh_angle = null, $sh_distance = null) + { + $this->setShadowPresetsProperties((int) $sh_presets) + ->setShadowColor( + is_null($sh_color_value) ? $this->shadowProperties['color']['value'] : $sh_color_value, + is_null($sh_color_alpha) ? (int) $this->shadowProperties['color']['alpha'] : $sh_color_alpha, + is_null($sh_color_type) ? $this->shadowProperties['color']['type'] : $sh_color_type + ) + ->setShadowBlur($sh_blur) + ->setShadowAngle($sh_angle) + ->setShadowDistance($sh_distance); + } - /** - * Set Axis Options Properties - * - * @param string $axis_labels - * @param string $horizontal_crosses_value - * @param string $horizontal_crosses - * @param string $axis_orientation - * @param string $major_tmt - * @param string $minor_tmt - * @param string $minimum - * @param string $maximum - * @param string $major_unit - * @param string $minor_unit - * - */ + /** + * Set Shadow Color + * + * @param int $shadow_presets + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowPresetsProperties($shadow_presets) + { + $this->shadowProperties['presets'] = $shadow_presets; + $this->setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); - public function setAxisOptionsProperties($axis_labels, $horizontal_crosses_value = NULL, $horizontal_crosses = NULL, - $axis_orientation = NULL, $major_tmt = NULL, $minor_tmt = NULL, $minimum = NULL, $maximum = NULL, $major_unit = NULL, - $minor_unit = NULL) { + return $this; + } - $this->_axis_options['axis_labels'] = (string) $axis_labels; - ($horizontal_crosses_value !== NULL) - ? $this->_axis_options['horizontal_crosses_value'] = (string) $horizontal_crosses_value : NULL; - ($horizontal_crosses !== NULL) ? $this->_axis_options['horizontal_crosses'] = (string) $horizontal_crosses : NULL; - ($axis_orientation !== NULL) ? $this->_axis_options['orientation'] = (string) $axis_orientation : NULL; - ($major_tmt !== NULL) ? $this->_axis_options['major_tick_mark'] = (string) $major_tmt : NULL; - ($minor_tmt !== NULL) ? $this->_axis_options['minor_tick_mark'] = (string) $minor_tmt : NULL; - ($minor_tmt !== NULL) ? $this->_axis_options['minor_tick_mark'] = (string) $minor_tmt : NULL; - ($minimum !== NULL) ? $this->_axis_options['minimum'] = (string) $minimum : NULL; - ($maximum !== NULL) ? $this->_axis_options['maximum'] = (string) $maximum : NULL; - ($major_unit !== NULL) ? $this->_axis_options['major_unit'] = (string) $major_unit : NULL; - ($minor_unit !== NULL) ? $this->_axis_options['minor_unit'] = (string) $minor_unit : NULL; - } - - /** - * Get Axis Options Property - * - * @param string $property - * - * @return string - */ - - public function getAxisOptionsProperty($property) { - return $this->_axis_options[$property]; - } - - /** - * Set Axis Orientation Property - * - * @param string $orientation - * - */ - - public function setAxisOrientation($orientation) { - $this->orientation = (string) $orientation; - } - - /** - * Set Fill Property - * - * @param string $color - * @param int $alpha - * @param string $type - * - */ - - public function setFillParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) { - $this->_fill_properties = $this->setColorProperties($color, $alpha, $type); - } - - /** - * Set Line Property - * - * @param string $color - * @param int $alpha - * @param string $type - * - */ - - public function setLineParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB) { - $this->_line_properties = $this->setColorProperties($color, $alpha, $type); - } - - /** - * Get Fill Property - * - * @param string $property - * - * @return string - */ - - public function getFillProperty($property) { - return $this->_fill_properties[$property]; - } - - /** - * Get Line Property - * - * @param string $property - * - * @return string - */ - - public function getLineProperty($property) { - return $this->_line_properties[$property]; - } - - /** - * Set Line Style Properties - * - * @param float $line_width - * @param string $compound_type - * @param string $dash_type - * @param string $cap_type - * @param string $join_type - * @param string $head_arrow_type - * @param string $head_arrow_size - * @param string $end_arrow_type - * @param string $end_arrow_size - * - */ - - public function setLineStyleProperties($line_width = NULL, $compound_type = NULL, - $dash_type = NULL, $cap_type = NULL, $join_type = NULL, $head_arrow_type = NULL, - $head_arrow_size = NULL, $end_arrow_type = NULL, $end_arrow_size = NULL) { - - (!is_null($line_width)) ? $this->_line_style_properties['width'] = $this->getExcelPointsWidth((float) $line_width) - : NULL; - (!is_null($compound_type)) ? $this->_line_style_properties['compound'] = (string) $compound_type : NULL; - (!is_null($dash_type)) ? $this->_line_style_properties['dash'] = (string) $dash_type : NULL; - (!is_null($cap_type)) ? $this->_line_style_properties['cap'] = (string) $cap_type : NULL; - (!is_null($join_type)) ? $this->_line_style_properties['join'] = (string) $join_type : NULL; - (!is_null($head_arrow_type)) ? $this->_line_style_properties['arrow']['head']['type'] = (string) $head_arrow_type - : NULL; - (!is_null($head_arrow_size)) ? $this->_line_style_properties['arrow']['head']['size'] = (string) $head_arrow_size - : NULL; - (!is_null($end_arrow_type)) ? $this->_line_style_properties['arrow']['end']['type'] = (string) $end_arrow_type - : NULL; - (!is_null($end_arrow_size)) ? $this->_line_style_properties['arrow']['end']['size'] = (string) $end_arrow_size - : NULL; - } - - /** - * Get Line Style Property - * - * @param array|string $elements - * - * @return string - */ - - public function getLineStyleProperty($elements) { - return $this->getArrayElementsValue($this->_line_style_properties, $elements); - } - - /** - * Get Line Style Arrow Excel Width - * - * @param string $arrow - * - * @return string - */ - - public function getLineStyleArrowWidth($arrow) { - return $this->getLineStyleArrowSize($this->_line_style_properties['arrow'][$arrow]['size'], 'w'); - } - - /** - * Get Line Style Arrow Excel Length - * - * @param string $arrow - * - * @return string - */ - - public function getLineStyleArrowLength($arrow) { - return $this->getLineStyleArrowSize($this->_line_style_properties['arrow'][$arrow]['size'], 'len'); - } - - /** - * Set Shadow Properties - * - * @param int $shadow_presets - * @param string $sh_color_value - * @param string $sh_color_type - * @param string $sh_color_alpha - * @param float $sh_blur - * @param int $sh_angle - * @param float $sh_distance - * - */ - - public function setShadowProperties($sh_presets, $sh_color_value = NULL, $sh_color_type = NULL, $sh_color_alpha = NULL, $sh_blur = NULL, $sh_angle = NULL, $sh_distance = NULL) { - $this - ->_setShadowPresetsProperties((int) $sh_presets) - ->_setShadowColor( - is_null($sh_color_value) ? $this->_shadow_properties['color']['value'] : $sh_color_value - , is_null($sh_color_alpha) ? (int) $this->_shadow_properties['color']['alpha'] : $sh_color_alpha - , is_null($sh_color_type) ? $this->_shadow_properties['color']['type'] : $sh_color_type) - ->_setShadowBlur($sh_blur) - ->_setShadowAngle($sh_angle) - ->_setShadowDistance($sh_distance); - } - - /** - * Set Shadow Color - * - * @param int $shadow_presets - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowPresetsProperties($shadow_presets) { - $this->_shadow_properties['presets'] = $shadow_presets; - $this->_setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); - - return $this; - } - - /** - * Set Shadow Properties from Maped Values - * - * @param array $properties_map - * @param * $reference - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowProperiesMapValues(array $properties_map, &$reference = NULL) { - $base_reference = $reference; - foreach ($properties_map as $property_key => $property_val) { - if (is_array($property_val)) { - if ($reference === NULL) { - $reference = & $this->_shadow_properties[$property_key]; - } else { - $reference = & $reference[$property_key]; + /** + * Set Shadow Properties from Maped Values + * + * @param array $properties_map + * @param * $reference + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowProperiesMapValues(array $properties_map, &$reference = null) + { + $base_reference = $reference; + foreach ($properties_map as $property_key => $property_val) { + if (is_array($property_val)) { + if ($reference === null) { + $reference = & $this->shadowProperties[$property_key]; + } else { + $reference = & $reference[$property_key]; + } + $this->setShadowProperiesMapValues($property_val, $reference); + } else { + if ($base_reference === null) { + $this->shadowProperties[$property_key] = $property_val; + } else { + $reference[$property_key] = $property_val; + } + } } - $this->_setShadowProperiesMapValues($property_val, $reference); - } else { - if ($base_reference === NULL) { - $this->_shadow_properties[$property_key] = $property_val; - } else { - $reference[$property_key] = $property_val; + + return $this; + } + + /** + * Set Shadow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowColor($color, $alpha, $type) + { + $this->shadowProperties['color'] = $this->setColorProperties($color, $alpha, $type); + + return $this; + } + + /** + * Set Shadow Blur + * + * @param float $blur + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowBlur($blur) + { + if ($blur !== null) { + $this->shadowProperties['blur'] = (string) $this->getExcelPointsWidth($blur); } - } + + return $this; } - return $this; - } + /** + * Set Shadow Angle + * + * @param int $angle + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowAngle($angle) + { + if ($angle !== null) { + $this->shadowProperties['direction'] = (string) $this->getExcelPointsAngle($angle); + } - /** - * Set Shadow Color - * - * @param string $color - * @param int $alpha - * @param string $type - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowColor($color, $alpha, $type) { - $this->_shadow_properties['color'] = $this->setColorProperties($color, $alpha, $type); - - return $this; - } - - /** - * Set Shadow Blur - * - * @param float $blur - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowBlur($blur) { - if ($blur !== NULL) { - $this->_shadow_properties['blur'] = (string) $this->getExcelPointsWidth($blur); + return $this; } - return $this; - } + /** + * Set Shadow Distance + * + * @param float $distance + * + * @return PHPExcel_Chart_Axis + */ + private function setShadowDistance($distance) + { + if ($distance !== null) { + $this->shadowProperties['distance'] = (string) $this->getExcelPointsWidth($distance); + } - /** - * Set Shadow Angle - * - * @param int $angle - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowAngle($angle) { - if ($angle !== NULL) { - $this->_shadow_properties['direction'] = (string) $this->getExcelPointsAngle($angle); + return $this; } - return $this; - } - - /** - * Set Shadow Distance - * - * @param float $distance - * - * @return PHPExcel_Chart_Axis - */ - - private function _setShadowDistance($distance) { - if ($distance !== NULL) { - $this->_shadow_properties['distance'] = (string) $this->getExcelPointsWidth($distance); + /** + * Get Glow Property + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + */ + public function getShadowProperty($elements) + { + return $this->getArrayElementsValue($this->shadowProperties, $elements); } - return $this; - } - - /** - * Get Glow Property - * - * @param float $size - * @param string $color_value - * @param int $color_alpha - * @param string $color_type - */ - - public function getShadowProperty($elements) { - return $this->getArrayElementsValue($this->_shadow_properties, $elements); - } - - /** - * Set Glow Properties - * - * @param float $size - * @param string $color_value - * @param int $color_alpha - * @param string $color_type - */ - - public function setGlowProperties($size, $color_value = NULL, $color_alpha = NULL, $color_type = NULL) { - $this - ->_setGlowSize($size) - ->_setGlowColor( - is_null($color_value) ? $this->_glow_properties['color']['value'] : $color_value - , is_null($color_alpha) ? (int) $this->_glow_properties['color']['alpha'] : $color_alpha - , is_null($color_type) ? $this->_glow_properties['color']['type'] : $color_type); - } - - /** - * Get Glow Property - * - * @param array|string $property - * - * @return string - */ - - public function getGlowProperty($property) { - return $this->getArrayElementsValue($this->_glow_properties, $property); - } - - /** - * Set Glow Color - * - * @param float $size - * - * @return PHPExcel_Chart_Axis - */ - - private function _setGlowSize($size) { - if (!is_null($size)) { - $this->_glow_properties['size'] = $this->getExcelPointsWidth($size); + /** + * Set Glow Properties + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + */ + public function setGlowProperties($size, $color_value = null, $color_alpha = null, $color_type = null) + { + $this->setGlowSize($size) + ->setGlowColor( + is_null($color_value) ? $this->glowProperties['color']['value'] : $color_value, + is_null($color_alpha) ? (int) $this->glowProperties['color']['alpha'] : $color_alpha, + is_null($color_type) ? $this->glowProperties['color']['type'] : $color_type + ); } - return $this; - } - - /** - * Set Glow Color - * - * @param string $color - * @param int $alpha - * @param string $type - * - * @return PHPExcel_Chart_Axis - */ - - private function _setGlowColor($color, $alpha, $type) { - $this->_glow_properties['color'] = $this->setColorProperties($color, $alpha, $type); - - return $this; - } - - /** - * Set Soft Edges Size - * - * @param float $size - */ - - public function setSoftEdges($size) { - if (!is_null($size)) { - $_soft_edges['size'] = (string) $this->getExcelPointsWidth($size); + /** + * Get Glow Property + * + * @param array|string $property + * + * @return string + */ + public function getGlowProperty($property) + { + return $this->getArrayElementsValue($this->glowProperties, $property); } - } - /** - * Get Soft Edges Size - * - * @return string - */ + /** + * Set Glow Color + * + * @param float $size + * + * @return PHPExcel_Chart_Axis + */ + private function setGlowSize($size) + { + if (!is_null($size)) { + $this->glowProperties['size'] = $this->getExcelPointsWidth($size); + } - public function getSoftEdgesSize() { - return $this->_soft_edges['size']; - } -} \ No newline at end of file + return $this; + } + + /** + * Set Glow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_Axis + */ + private function setGlowColor($color, $alpha, $type) + { + $this->glowProperties['color'] = $this->setColorProperties($color, $alpha, $type); + + return $this; + } + + /** + * Set Soft Edges Size + * + * @param float $size + */ + public function setSoftEdges($size) + { + if (!is_null($size)) { + $softEdges['size'] = (string) $this->getExcelPointsWidth($size); + } + } + + /** + * Get Soft Edges Size + * + * @return string + */ + public function getSoftEdgesSize() + { + return $this->softEdges['size']; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php index 56faf6ee0..9ecd543a8 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeries.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,353 +18,373 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * @category PHPExcel - * @package PHPExcel_Chart - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @category PHPExcel + * @package PHPExcel_Chart + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ /** * PHPExcel_Chart_DataSeries * - * @category PHPExcel - * @package PHPExcel_Chart - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @category PHPExcel + * @package PHPExcel_Chart + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Chart_DataSeries { + const TYPE_BARCHART = 'barChart'; + const TYPE_BARCHART_3D = 'bar3DChart'; + const TYPE_LINECHART = 'lineChart'; + const TYPE_LINECHART_3D = 'line3DChart'; + const TYPE_AREACHART = 'areaChart'; + const TYPE_AREACHART_3D = 'area3DChart'; + const TYPE_PIECHART = 'pieChart'; + const TYPE_PIECHART_3D = 'pie3DChart'; + const TYPE_DOUGHTNUTCHART = 'doughnutChart'; + const TYPE_DONUTCHART = self::TYPE_DOUGHTNUTCHART; // Synonym + const TYPE_SCATTERCHART = 'scatterChart'; + const TYPE_SURFACECHART = 'surfaceChart'; + const TYPE_SURFACECHART_3D = 'surface3DChart'; + const TYPE_RADARCHART = 'radarChart'; + const TYPE_BUBBLECHART = 'bubbleChart'; + const TYPE_STOCKCHART = 'stockChart'; + const TYPE_CANDLECHART = self::TYPE_STOCKCHART; // Synonym - const TYPE_BARCHART = 'barChart'; - const TYPE_BARCHART_3D = 'bar3DChart'; - const TYPE_LINECHART = 'lineChart'; - const TYPE_LINECHART_3D = 'line3DChart'; - const TYPE_AREACHART = 'areaChart'; - const TYPE_AREACHART_3D = 'area3DChart'; - const TYPE_PIECHART = 'pieChart'; - const TYPE_PIECHART_3D = 'pie3DChart'; - const TYPE_DOUGHTNUTCHART = 'doughnutChart'; - const TYPE_DONUTCHART = self::TYPE_DOUGHTNUTCHART; // Synonym - const TYPE_SCATTERCHART = 'scatterChart'; - const TYPE_SURFACECHART = 'surfaceChart'; - const TYPE_SURFACECHART_3D = 'surface3DChart'; - const TYPE_RADARCHART = 'radarChart'; - const TYPE_BUBBLECHART = 'bubbleChart'; - const TYPE_STOCKCHART = 'stockChart'; - const TYPE_CANDLECHART = self::TYPE_STOCKCHART; // Synonym + const GROUPING_CLUSTERED = 'clustered'; + const GROUPING_STACKED = 'stacked'; + const GROUPING_PERCENT_STACKED = 'percentStacked'; + const GROUPING_STANDARD = 'standard'; - const GROUPING_CLUSTERED = 'clustered'; - const GROUPING_STACKED = 'stacked'; - const GROUPING_PERCENT_STACKED = 'percentStacked'; - const GROUPING_STANDARD = 'standard'; + const DIRECTION_BAR = 'bar'; + const DIRECTION_HORIZONTAL = self::DIRECTION_BAR; + const DIRECTION_COL = 'col'; + const DIRECTION_COLUMN = self::DIRECTION_COL; + const DIRECTION_VERTICAL = self::DIRECTION_COL; - const DIRECTION_BAR = 'bar'; - const DIRECTION_HORIZONTAL = self::DIRECTION_BAR; - const DIRECTION_COL = 'col'; - const DIRECTION_COLUMN = self::DIRECTION_COL; - const DIRECTION_VERTICAL = self::DIRECTION_COL; - - const STYLE_LINEMARKER = 'lineMarker'; - const STYLE_SMOOTHMARKER = 'smoothMarker'; - const STYLE_MARKER = 'marker'; - const STYLE_FILLED = 'filled'; + const STYLE_LINEMARKER = 'lineMarker'; + const STYLE_SMOOTHMARKER = 'smoothMarker'; + const STYLE_MARKER = 'marker'; + const STYLE_FILLED = 'filled'; - /** - * Series Plot Type - * - * @var string - */ - private $_plotType = null; + /** + * Series Plot Type + * + * @var string + */ + private $plotType; - /** - * Plot Grouping Type - * - * @var boolean - */ - private $_plotGrouping = null; + /** + * Plot Grouping Type + * + * @var boolean + */ + private $plotGrouping; - /** - * Plot Direction - * - * @var boolean - */ - private $_plotDirection = null; + /** + * Plot Direction + * + * @var boolean + */ + private $plotDirection; - /** - * Plot Style - * - * @var string - */ - private $_plotStyle = null; + /** + * Plot Style + * + * @var string + */ + private $plotStyle; - /** - * Order of plots in Series - * - * @var array of integer - */ - private $_plotOrder = array(); + /** + * Order of plots in Series + * + * @var array of integer + */ + private $plotOrder = array(); - /** - * Plot Label - * - * @var array of PHPExcel_Chart_DataSeriesValues - */ - private $_plotLabel = array(); + /** + * Plot Label + * + * @var array of PHPExcel_Chart_DataSeriesValues + */ + private $plotLabel = array(); - /** - * Plot Category - * - * @var array of PHPExcel_Chart_DataSeriesValues - */ - private $_plotCategory = array(); + /** + * Plot Category + * + * @var array of PHPExcel_Chart_DataSeriesValues + */ + private $plotCategory = array(); - /** - * Smooth Line - * - * @var string - */ - private $_smoothLine = null; + /** + * Smooth Line + * + * @var string + */ + private $smoothLine; - /** - * Plot Values - * - * @var array of PHPExcel_Chart_DataSeriesValues - */ - private $_plotValues = array(); + /** + * Plot Values + * + * @var array of PHPExcel_Chart_DataSeriesValues + */ + private $plotValues = array(); - /** - * Create a new PHPExcel_Chart_DataSeries - */ - public function __construct($plotType = null, $plotGrouping = null, $plotOrder = array(), $plotLabel = array(), $plotCategory = array(), $plotValues = array(), $plotDirection = null, $smoothLine = null, $plotStyle = null) - { - $this->_plotType = $plotType; - $this->_plotGrouping = $plotGrouping; - $this->_plotOrder = $plotOrder; - $keys = array_keys($plotValues); - $this->_plotValues = $plotValues; - if ((count($plotLabel) == 0) || (is_null($plotLabel[$keys[0]]))) { - $plotLabel[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); - } + /** + * Create a new PHPExcel_Chart_DataSeries + */ + public function __construct($plotType = null, $plotGrouping = null, $plotOrder = array(), $plotLabel = array(), $plotCategory = array(), $plotValues = array(), $plotDirection = null, $smoothLine = null, $plotStyle = null) + { + $this->plotType = $plotType; + $this->plotGrouping = $plotGrouping; + $this->plotOrder = $plotOrder; + $keys = array_keys($plotValues); + $this->plotValues = $plotValues; + if ((count($plotLabel) == 0) || (is_null($plotLabel[$keys[0]]))) { + $plotLabel[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); + } - $this->_plotLabel = $plotLabel; - if ((count($plotCategory) == 0) || (is_null($plotCategory[$keys[0]]))) { - $plotCategory[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); - } - $this->_plotCategory = $plotCategory; - $this->_smoothLine = $smoothLine; - $this->_plotStyle = $plotStyle; - - if (is_null($plotDirection)) { - $plotDirection = self::DIRECTION_COL; - } - $this->_plotDirection = $plotDirection; - } + $this->plotLabel = $plotLabel; + if ((count($plotCategory) == 0) || (is_null($plotCategory[$keys[0]]))) { + $plotCategory[$keys[0]] = new PHPExcel_Chart_DataSeriesValues(); + } + $this->plotCategory = $plotCategory; + $this->smoothLine = $smoothLine; + $this->plotStyle = $plotStyle; + + if (is_null($plotDirection)) { + $plotDirection = self::DIRECTION_COL; + } + $this->plotDirection = $plotDirection; + } - /** - * Get Plot Type - * - * @return string - */ - public function getPlotType() { - return $this->_plotType; - } + /** + * Get Plot Type + * + * @return string + */ + public function getPlotType() + { + return $this->plotType; + } - /** - * Set Plot Type - * - * @param string $plotType + /** + * Set Plot Type + * + * @param string $plotType * @return PHPExcel_Chart_DataSeries - */ - public function setPlotType($plotType = '') { - $this->_plotType = $plotType; + */ + public function setPlotType($plotType = '') + { + $this->plotType = $plotType; return $this; - } + } - /** - * Get Plot Grouping Type - * - * @return string - */ - public function getPlotGrouping() { - return $this->_plotGrouping; - } + /** + * Get Plot Grouping Type + * + * @return string + */ + public function getPlotGrouping() + { + return $this->plotGrouping; + } - /** - * Set Plot Grouping Type - * - * @param string $groupingType + /** + * Set Plot Grouping Type + * + * @param string $groupingType * @return PHPExcel_Chart_DataSeries - */ - public function setPlotGrouping($groupingType = null) { - $this->_plotGrouping = $groupingType; + */ + public function setPlotGrouping($groupingType = null) + { + $this->plotGrouping = $groupingType; return $this; - } + } - /** - * Get Plot Direction - * - * @return string - */ - public function getPlotDirection() { - return $this->_plotDirection; - } + /** + * Get Plot Direction + * + * @return string + */ + public function getPlotDirection() + { + return $this->plotDirection; + } - /** - * Set Plot Direction - * - * @param string $plotDirection + /** + * Set Plot Direction + * + * @param string $plotDirection * @return PHPExcel_Chart_DataSeries - */ - public function setPlotDirection($plotDirection = null) { - $this->_plotDirection = $plotDirection; + */ + public function setPlotDirection($plotDirection = null) + { + $this->plotDirection = $plotDirection; return $this; - } + } - /** - * Get Plot Order - * - * @return string - */ - public function getPlotOrder() { - return $this->_plotOrder; - } + /** + * Get Plot Order + * + * @return string + */ + public function getPlotOrder() + { + return $this->plotOrder; + } - /** - * Get Plot Labels - * - * @return array of PHPExcel_Chart_DataSeriesValues - */ - public function getPlotLabels() { - return $this->_plotLabel; - } + /** + * Get Plot Labels + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotLabels() + { + return $this->plotLabel; + } - /** - * Get Plot Label by Index - * - * @return PHPExcel_Chart_DataSeriesValues - */ - public function getPlotLabelByIndex($index) { - $keys = array_keys($this->_plotLabel); - if (in_array($index,$keys)) { - return $this->_plotLabel[$index]; - } elseif(isset($keys[$index])) { - return $this->_plotLabel[$keys[$index]]; - } - return false; - } + /** + * Get Plot Label by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotLabelByIndex($index) + { + $keys = array_keys($this->plotLabel); + if (in_array($index, $keys)) { + return $this->plotLabel[$index]; + } elseif (isset($keys[$index])) { + return $this->plotLabel[$keys[$index]]; + } + return false; + } - /** - * Get Plot Categories - * - * @return array of PHPExcel_Chart_DataSeriesValues - */ - public function getPlotCategories() { - return $this->_plotCategory; - } + /** + * Get Plot Categories + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotCategories() + { + return $this->plotCategory; + } - /** - * Get Plot Category by Index - * - * @return PHPExcel_Chart_DataSeriesValues - */ - public function getPlotCategoryByIndex($index) { - $keys = array_keys($this->_plotCategory); - if (in_array($index,$keys)) { - return $this->_plotCategory[$index]; - } elseif(isset($keys[$index])) { - return $this->_plotCategory[$keys[$index]]; - } - return false; - } + /** + * Get Plot Category by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotCategoryByIndex($index) + { + $keys = array_keys($this->plotCategory); + if (in_array($index, $keys)) { + return $this->plotCategory[$index]; + } elseif (isset($keys[$index])) { + return $this->plotCategory[$keys[$index]]; + } + return false; + } - /** - * Get Plot Style - * - * @return string - */ - public function getPlotStyle() { - return $this->_plotStyle; - } + /** + * Get Plot Style + * + * @return string + */ + public function getPlotStyle() + { + return $this->plotStyle; + } - /** - * Set Plot Style - * - * @param string $plotStyle + /** + * Set Plot Style + * + * @param string $plotStyle * @return PHPExcel_Chart_DataSeries - */ - public function setPlotStyle($plotStyle = null) { - $this->_plotStyle = $plotStyle; + */ + public function setPlotStyle($plotStyle = null) + { + $this->plotStyle = $plotStyle; return $this; - } + } - /** - * Get Plot Values - * - * @return array of PHPExcel_Chart_DataSeriesValues - */ - public function getPlotValues() { - return $this->_plotValues; - } + /** + * Get Plot Values + * + * @return array of PHPExcel_Chart_DataSeriesValues + */ + public function getPlotValues() + { + return $this->plotValues; + } - /** - * Get Plot Values by Index - * - * @return PHPExcel_Chart_DataSeriesValues - */ - public function getPlotValuesByIndex($index) { - $keys = array_keys($this->_plotValues); - if (in_array($index,$keys)) { - return $this->_plotValues[$index]; - } elseif(isset($keys[$index])) { - return $this->_plotValues[$keys[$index]]; - } - return false; - } + /** + * Get Plot Values by Index + * + * @return PHPExcel_Chart_DataSeriesValues + */ + public function getPlotValuesByIndex($index) + { + $keys = array_keys($this->plotValues); + if (in_array($index, $keys)) { + return $this->plotValues[$index]; + } elseif (isset($keys[$index])) { + return $this->plotValues[$keys[$index]]; + } + return false; + } - /** - * Get Number of Plot Series - * - * @return integer - */ - public function getPlotSeriesCount() { - return count($this->_plotValues); - } + /** + * Get Number of Plot Series + * + * @return integer + */ + public function getPlotSeriesCount() + { + return count($this->plotValues); + } - /** - * Get Smooth Line - * - * @return boolean - */ - public function getSmoothLine() { - return $this->_smoothLine; - } + /** + * Get Smooth Line + * + * @return boolean + */ + public function getSmoothLine() + { + return $this->smoothLine; + } - /** - * Set Smooth Line - * - * @param boolean $smoothLine + /** + * Set Smooth Line + * + * @param boolean $smoothLine * @return PHPExcel_Chart_DataSeries - */ - public function setSmoothLine($smoothLine = TRUE) { - $this->_smoothLine = $smoothLine; + */ + public function setSmoothLine($smoothLine = true) + { + $this->smoothLine = $smoothLine; return $this; - } - - public function refresh(PHPExcel_Worksheet $worksheet) { - foreach($this->_plotValues as $plotValues) { - if ($plotValues !== NULL) - $plotValues->refresh($worksheet, TRUE); - } - foreach($this->_plotLabel as $plotValues) { - if ($plotValues !== NULL) - $plotValues->refresh($worksheet, TRUE); - } - foreach($this->_plotCategory as $plotValues) { - if ($plotValues !== NULL) - $plotValues->refresh($worksheet, FALSE); - } - } + } + public function refresh(PHPExcel_Worksheet $worksheet) + { + foreach ($this->plotValues as $plotValues) { + if ($plotValues !== null) { + $plotValues->refresh($worksheet, true); + } + } + foreach ($this->plotLabel as $plotValues) { + if ($plotValues !== null) { + $plotValues->refresh($worksheet, true); + } + } + foreach ($this->plotCategory as $plotValues) { + if ($plotValues !== null) { + $plotValues->refresh($worksheet, false); + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php index 731d2c922..ea57e52a1 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/DataSeriesValues.php @@ -1,8 +1,9 @@ setDataType($dataType); - $this->_dataSource = $dataSource; - $this->_formatCode = $formatCode; - $this->_pointCount = $pointCount; - $this->_dataValues = $dataValues; - $this->_marker = $marker; - } + /** + * Create a new PHPExcel_Chart_DataSeriesValues object + */ + public function __construct($dataType = self::DATASERIES_TYPE_NUMBER, $dataSource = null, $formatCode = null, $pointCount = 0, $dataValues = array(), $marker = null) + { + $this->setDataType($dataType); + $this->dataSource = $dataSource; + $this->formatCode = $formatCode; + $this->pointCount = $pointCount; + $this->dataValues = $dataValues; + $this->pointMarker = $marker; + } - /** - * Get Series Data Type - * - * @return string - */ - public function getDataType() { - return $this->_dataType; - } + /** + * Get Series Data Type + * + * @return string + */ + public function getDataType() + { + return $this->dataType; + } - /** - * Set Series Data Type - * - * @param string $dataType Datatype of this data series - * Typical values are: - * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_STRING - * Normally used for axis point values - * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_NUMBER - * Normally used for chart data values - * @return PHPExcel_Chart_DataSeriesValues - */ - public function setDataType($dataType = self::DATASERIES_TYPE_NUMBER) { - if (!in_array($dataType, self::$_dataTypeValues)) { - throw new PHPExcel_Chart_Exception('Invalid datatype for chart data series values'); - } - $this->_dataType = $dataType; + /** + * Set Series Data Type + * + * @param string $dataType Datatype of this data series + * Typical values are: + * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_STRING + * Normally used for axis point values + * PHPExcel_Chart_DataSeriesValues::DATASERIES_TYPE_NUMBER + * Normally used for chart data values + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataType($dataType = self::DATASERIES_TYPE_NUMBER) + { + if (!in_array($dataType, self::$dataTypeValues)) { + throw new PHPExcel_Chart_Exception('Invalid datatype for chart data series values'); + } + $this->dataType = $dataType; - return $this; - } + return $this; + } - /** - * Get Series Data Source (formula) - * - * @return string - */ - public function getDataSource() { - return $this->_dataSource; - } + /** + * Get Series Data Source (formula) + * + * @return string + */ + public function getDataSource() + { + return $this->dataSource; + } - /** - * Set Series Data Source (formula) - * - * @param string $dataSource - * @return PHPExcel_Chart_DataSeriesValues - */ - public function setDataSource($dataSource = null, $refreshDataValues = true) { - $this->_dataSource = $dataSource; + /** + * Set Series Data Source (formula) + * + * @param string $dataSource + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataSource($dataSource = null, $refreshDataValues = true) + { + $this->dataSource = $dataSource; - if ($refreshDataValues) { - // TO DO - } + if ($refreshDataValues) { + // TO DO + } - return $this; - } + return $this; + } - /** - * Get Point Marker - * - * @return string - */ - public function getPointMarker() { - return $this->_marker; - } + /** + * Get Point Marker + * + * @return string + */ + public function getPointMarker() + { + return $this->pointMarker; + } - /** - * Set Point Marker - * - * @param string $marker - * @return PHPExcel_Chart_DataSeriesValues - */ - public function setPointMarker($marker = null) { - $this->_marker = $marker; + /** + * Set Point Marker + * + * @param string $marker + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setPointMarker($marker = null) + { + $this->pointMarker = $marker; - return $this; - } + return $this; + } - /** - * Get Series Format Code - * - * @return string - */ - public function getFormatCode() { - return $this->_formatCode; - } + /** + * Get Series Format Code + * + * @return string + */ + public function getFormatCode() + { + return $this->formatCode; + } - /** - * Set Series Format Code - * - * @param string $formatCode - * @return PHPExcel_Chart_DataSeriesValues - */ - public function setFormatCode($formatCode = null) { - $this->_formatCode = $formatCode; + /** + * Set Series Format Code + * + * @param string $formatCode + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setFormatCode($formatCode = null) + { + $this->formatCode = $formatCode; - return $this; - } + return $this; + } - /** - * Get Series Point Count - * - * @return integer - */ - public function getPointCount() { - return $this->_pointCount; - } + /** + * Get Series Point Count + * + * @return integer + */ + public function getPointCount() + { + return $this->pointCount; + } - /** - * Identify if the Data Series is a multi-level or a simple series - * - * @return boolean - */ - public function isMultiLevelSeries() { - if (count($this->_dataValues) > 0) { - return is_array($this->_dataValues[0]); - } - return null; - } + /** + * Identify if the Data Series is a multi-level or a simple series + * + * @return boolean + */ + public function isMultiLevelSeries() + { + if (count($this->dataValues) > 0) { + return is_array($this->dataValues[0]); + } + return null; + } - /** - * Return the level count of a multi-level Data Series - * - * @return boolean - */ - public function multiLevelCount() { - $levelCount = 0; - foreach($this->_dataValues as $dataValueSet) { - $levelCount = max($levelCount,count($dataValueSet)); - } - return $levelCount; - } + /** + * Return the level count of a multi-level Data Series + * + * @return boolean + */ + public function multiLevelCount() + { + $levelCount = 0; + foreach ($this->dataValues as $dataValueSet) { + $levelCount = max($levelCount, count($dataValueSet)); + } + return $levelCount; + } - /** - * Get Series Data Values - * - * @return array of mixed - */ - public function getDataValues() { - return $this->_dataValues; - } + /** + * Get Series Data Values + * + * @return array of mixed + */ + public function getDataValues() + { + return $this->dataValues; + } - /** - * Get the first Series Data value - * - * @return mixed - */ - public function getDataValue() { - $count = count($this->_dataValues); - if ($count == 0) { - return null; - } elseif ($count == 1) { - return $this->_dataValues[0]; - } - return $this->_dataValues; - } + /** + * Get the first Series Data value + * + * @return mixed + */ + public function getDataValue() + { + $count = count($this->dataValues); + if ($count == 0) { + return null; + } elseif ($count == 1) { + return $this->dataValues[0]; + } + return $this->dataValues; + } - /** - * Set Series Data Values - * - * @param array $dataValues - * @param boolean $refreshDataSource - * TRUE - refresh the value of _dataSource based on the values of $dataValues - * FALSE - don't change the value of _dataSource - * @return PHPExcel_Chart_DataSeriesValues - */ - public function setDataValues($dataValues = array(), $refreshDataSource = TRUE) { - $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($dataValues); - $this->_pointCount = count($dataValues); + /** + * Set Series Data Values + * + * @param array $dataValues + * @param boolean $refreshDataSource + * TRUE - refresh the value of dataSource based on the values of $dataValues + * FALSE - don't change the value of dataSource + * @return PHPExcel_Chart_DataSeriesValues + */ + public function setDataValues($dataValues = array(), $refreshDataSource = true) + { + $this->dataValues = PHPExcel_Calculation_Functions::flattenArray($dataValues); + $this->pointCount = count($dataValues); - if ($refreshDataSource) { - // TO DO - } + if ($refreshDataSource) { + // TO DO + } - return $this; - } + return $this; + } - private function _stripNulls($var) { - return $var !== NULL; - } + private function stripNulls($var) + { + return $var !== null; + } - public function refresh(PHPExcel_Worksheet $worksheet, $flatten = TRUE) { - if ($this->_dataSource !== NULL) { - $calcEngine = PHPExcel_Calculation::getInstance($worksheet->getParent()); - $newDataValues = PHPExcel_Calculation::_unwrapResult( - $calcEngine->_calculateFormulaValue( - '='.$this->_dataSource, - NULL, - $worksheet->getCell('A1') - ) - ); - if ($flatten) { - $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); - foreach($this->_dataValues as &$dataValue) { - if ((!empty($dataValue)) && ($dataValue[0] == '#')) { - $dataValue = 0.0; - } - } - unset($dataValue); - } else { - $cellRange = explode('!',$this->_dataSource); - if (count($cellRange) > 1) { - list(,$cellRange) = $cellRange; - } + public function refresh(PHPExcel_Worksheet $worksheet, $flatten = true) + { + if ($this->dataSource !== null) { + $calcEngine = PHPExcel_Calculation::getInstance($worksheet->getParent()); + $newDataValues = PHPExcel_Calculation::unwrapResult( + $calcEngine->_calculateFormulaValue( + '='.$this->dataSource, + null, + $worksheet->getCell('A1') + ) + ); + if ($flatten) { + $this->dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); + foreach ($this->dataValues as &$dataValue) { + if ((!empty($dataValue)) && ($dataValue[0] == '#')) { + $dataValue = 0.0; + } + } + unset($dataValue); + } else { + $cellRange = explode('!', $this->dataSource); + if (count($cellRange) > 1) { + list(, $cellRange) = $cellRange; + } - $dimensions = PHPExcel_Cell::rangeDimension(str_replace('$','',$cellRange)); - if (($dimensions[0] == 1) || ($dimensions[1] == 1)) { - $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); - } else { - $newArray = array_values(array_shift($newDataValues)); - foreach($newArray as $i => $newDataSet) { - $newArray[$i] = array($newDataSet); - } - - foreach($newDataValues as $newDataSet) { - $i = 0; - foreach($newDataSet as $newDataVal) { - array_unshift($newArray[$i++],$newDataVal); - } - } - $this->_dataValues = $newArray; - } - } - $this->_pointCount = count($this->_dataValues); - } - - } + $dimensions = PHPExcel_Cell::rangeDimension(str_replace('$', '', $cellRange)); + if (($dimensions[0] == 1) || ($dimensions[1] == 1)) { + $this->dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); + } else { + $newArray = array_values(array_shift($newDataValues)); + foreach ($newArray as $i => $newDataSet) { + $newArray[$i] = array($newDataSet); + } + foreach ($newDataValues as $newDataSet) { + $i = 0; + foreach ($newDataSet as $newDataVal) { + array_unshift($newArray[$i++], $newDataVal); + } + } + $this->dataValues = $newArray; + } + } + $this->pointCount = count($this->dataValues); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php index 58b5b5822..e20dfa590 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Exception.php @@ -1,8 +1,9 @@ line = $line; - $e->file = $file; - throw $e; - } +class PHPExcel_Chart_Exception extends PHPExcel_Exception +{ + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) + { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php index 269860ca1..898012ebd 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/GridLines.php @@ -1,5 +1,5 @@ array( - 'type' => self::EXCEL_COLOR_TYPE_STANDARD, - 'value' => NULL, - 'alpha' => 0 - ), - 'style' => array( - 'width' => '9525', - 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, - 'dash' => self::LINE_STYLE_DASH_SOLID, - 'cap' => self::LINE_STYLE_CAP_FLAT, - 'join' => self::LINE_STYLE_JOIN_BEVEL, - 'arrow' => array( - 'head' => array( - 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, - 'size' => self::LINE_STYLE_ARROW_SIZE_5 - ), - 'end' => array( - 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, - 'size' => self::LINE_STYLE_ARROW_SIZE_8 - ), - ) - ) - ), - $_shadow_properties = array( - 'presets' => self::SHADOW_PRESETS_NOSHADOW, - 'effect' => NULL, - 'color' => array( - 'type' => self::EXCEL_COLOR_TYPE_STANDARD, - 'value' => 'black', - 'alpha' => 85, - ), - 'size' => array( - 'sx' => NULL, - 'sy' => NULL, - 'kx' => NULL - ), - 'blur' => NULL, - 'direction' => NULL, - 'distance' => NULL, - 'algn' => NULL, - 'rotWithShape' => NULL - ), - $_glow_properties = array( - 'size' => NULL, - 'color' => array( - 'type' => self::EXCEL_COLOR_TYPE_STANDARD, - 'value' => 'black', - 'alpha' => 40 - ) - ), - $_soft_edges = array( - 'size' => NULL - ); + private $objectState = false; - /** - * Get Object State - * - * @return bool - */ + private $lineProperties = array( + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => null, + 'alpha' => 0 + ), + 'style' => array( + 'width' => '9525', + 'compound' => self::LINE_STYLE_COMPOUND_SIMPLE, + 'dash' => self::LINE_STYLE_DASH_SOLID, + 'cap' => self::LINE_STYLE_CAP_FLAT, + 'join' => self::LINE_STYLE_JOIN_BEVEL, + 'arrow' => array( + 'head' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_5 + ), + 'end' => array( + 'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW, + 'size' => self::LINE_STYLE_ARROW_SIZE_8 + ), + ) + ) + ); - public function getObjectState() { - return $this->_object_state; - } + private $shadowProperties = array( + 'presets' => self::SHADOW_PRESETS_NOSHADOW, + 'effect' => null, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 85, + ), + 'size' => array( + 'sx' => null, + 'sy' => null, + 'kx' => null + ), + 'blur' => null, + 'direction' => null, + 'distance' => null, + 'algn' => null, + 'rotWithShape' => null + ); - /** - * Change Object State to True - * - * @return PHPExcel_Chart_GridLines - */ + private $glowProperties = array( + 'size' => null, + 'color' => array( + 'type' => self::EXCEL_COLOR_TYPE_STANDARD, + 'value' => 'black', + 'alpha' => 40 + ) + ); - private function _activateObject() { - $this->_object_state = TRUE; + private $softEdges = array( + 'size' => null + ); - return $this; - } + /** + * Get Object State + * + * @return bool + */ - /** - * Set Line Color Properties - * - * @param string $value - * @param int $alpha - * @param string $type - */ - - public function setLineColorProperties($value, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_STANDARD) { - $this - ->_activateObject() - ->_line_properties['color'] = $this->setColorProperties( - $value, - $alpha, - $type); - } - - /** - * Set Line Color Properties - * - * @param float $line_width - * @param string $compound_type - * @param string $dash_type - * @param string $cap_type - * @param string $join_type - * @param string $head_arrow_type - * @param string $head_arrow_size - * @param string $end_arrow_type - * @param string $end_arrow_size - */ - - public function setLineStyleProperties($line_width = NULL, $compound_type = NULL, $dash_type = NULL, $cap_type = NULL, $join_type = NULL, $head_arrow_type = NULL, $head_arrow_size = NULL, $end_arrow_type = NULL, $end_arrow_size = NULL) { - $this->_activateObject(); - (!is_null($line_width)) - ? $this->_line_properties['style']['width'] = $this->getExcelPointsWidth((float) $line_width) - : NULL; - (!is_null($compound_type)) - ? $this->_line_properties['style']['compound'] = (string) $compound_type - : NULL; - (!is_null($dash_type)) - ? $this->_line_properties['style']['dash'] = (string) $dash_type - : NULL; - (!is_null($cap_type)) - ? $this->_line_properties['style']['cap'] = (string) $cap_type - : NULL; - (!is_null($join_type)) - ? $this->_line_properties['style']['join'] = (string) $join_type - : NULL; - (!is_null($head_arrow_type)) - ? $this->_line_properties['style']['arrow']['head']['type'] = (string) $head_arrow_type - : NULL; - (!is_null($head_arrow_size)) - ? $this->_line_properties['style']['arrow']['head']['size'] = (string) $head_arrow_size - : NULL; - (!is_null($end_arrow_type)) - ? $this->_line_properties['style']['arrow']['end']['type'] = (string) $end_arrow_type - : NULL; - (!is_null($end_arrow_size)) - ? $this->_line_properties['style']['arrow']['end']['size'] = (string) $end_arrow_size - : NULL; - } - - /** - * Get Line Color Property - * - * @param string $parameter - * - * @return string - */ - - public function getLineColorProperty($parameter) { - return $this->_line_properties['color'][$parameter]; - } - - /** - * Get Line Style Property - * - * @param array|string $elements - * - * @return string - */ - - public function getLineStyleProperty($elements) { - return $this->getArrayElementsValue($this->_line_properties['style'], $elements); - } - - /** - * Set Glow Properties - * - * @param float $size - * @param string $color_value - * @param int $color_alpha - * @param string $color_type - * - */ - - public function setGlowProperties($size, $color_value = NULL, $color_alpha = NULL, $color_type = NULL) { - $this - ->_activateObject() - ->_setGlowSize($size) - ->_setGlowColor($color_value, $color_alpha, $color_type); - } - - /** - * Get Glow Color Property - * - * @param string $property - * - * @return string - */ - - public function getGlowColor($property) { - return $this->_glow_properties['color'][$property]; - } - - /** - * Get Glow Size - * - * @return string - */ - - public function getGlowSize() { - return $this->_glow_properties['size']; - } - - /** - * Set Glow Size - * - * @param float $size - * - * @return PHPExcel_Chart_GridLines - */ - - private function _setGlowSize($size) { - $this->_glow_properties['size'] = $this->getExcelPointsWidth((float) $size); - - return $this; - } - - /** - * Set Glow Color - * - * @param string $color - * @param int $alpha - * @param string $type - * - * @return PHPExcel_Chart_GridLines - */ - - private function _setGlowColor($color, $alpha, $type) { - if (!is_null($color)) { - $this->_glow_properties['color']['value'] = (string) $color; - } - if (!is_null($alpha)) { - $this->_glow_properties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); - } - if (!is_null($type)) { - $this->_glow_properties['color']['type'] = (string) $type; + public function getObjectState() + { + return $this->objectState; } - return $this; - } + /** + * Change Object State to True + * + * @return PHPExcel_Chart_GridLines + */ - /** - * Get Line Style Arrow Parameters - * - * @param string $arrow_selector - * @param string $property_selector - * - * @return string - */ + private function activateObject() + { + $this->objectState = true; - public function getLineStyleArrowParameters($arrow_selector, $property_selector) { - return $this->getLineStyleArrowSize($this->_line_properties['style']['arrow'][$arrow_selector]['size'], $property_selector); - } + return $this; + } - /** - * Set Shadow Properties - * - * @param int $sh_presets - * @param string $sh_color_value - * @param string $sh_color_type - * @param int $sh_color_alpha - * @param string $sh_blur - * @param int $sh_angle - * @param float $sh_distance - * - */ + /** + * Set Line Color Properties + * + * @param string $value + * @param int $alpha + * @param string $type + */ - public function setShadowProperties($sh_presets, $sh_color_value = NULL, $sh_color_type = NULL, $sh_color_alpha = NULL, $sh_blur = NULL, $sh_angle = NULL, $sh_distance = NULL) { - $this - ->_activateObject() - ->_setShadowPresetsProperties((int) $sh_presets) - ->_setShadowColor( - is_null($sh_color_value) ? $this->_shadow_properties['color']['value'] : $sh_color_value - , is_null($sh_color_alpha) ? (int) $this->_shadow_properties['color']['alpha'] - : $this->getTrueAlpha($sh_color_alpha) - , is_null($sh_color_type) ? $this->_shadow_properties['color']['type'] : $sh_color_type) - ->_setShadowBlur($sh_blur) - ->_setShadowAngle($sh_angle) - ->_setShadowDistance($sh_distance); - } + public function setLineColorProperties($value, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_STANDARD) + { + $this->activateObject() + ->lineProperties['color'] = $this->setColorProperties( + $value, + $alpha, + $type + ); + } - /** - * Set Shadow Presets Properties - * - * @param int $shadow_presets - * - * @return PHPExcel_Chart_GridLines - */ + /** + * Set Line Color Properties + * + * @param float $line_width + * @param string $compound_type + * @param string $dash_type + * @param string $cap_type + * @param string $join_type + * @param string $head_arrow_type + * @param string $head_arrow_size + * @param string $end_arrow_type + * @param string $end_arrow_size + */ - private function _setShadowPresetsProperties($shadow_presets) { - $this->_shadow_properties['presets'] = $shadow_presets; - $this->_setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); + public function setLineStyleProperties($line_width = null, $compound_type = null, $dash_type = null, $cap_type = null, $join_type = null, $head_arrow_type = null, $head_arrow_size = null, $end_arrow_type = null, $end_arrow_size = null) + { + $this->activateObject(); + (!is_null($line_width)) + ? $this->lineProperties['style']['width'] = $this->getExcelPointsWidth((float) $line_width) + : null; + (!is_null($compound_type)) + ? $this->lineProperties['style']['compound'] = (string) $compound_type + : null; + (!is_null($dash_type)) + ? $this->lineProperties['style']['dash'] = (string) $dash_type + : null; + (!is_null($cap_type)) + ? $this->lineProperties['style']['cap'] = (string) $cap_type + : null; + (!is_null($join_type)) + ? $this->lineProperties['style']['join'] = (string) $join_type + : null; + (!is_null($head_arrow_type)) + ? $this->lineProperties['style']['arrow']['head']['type'] = (string) $head_arrow_type + : null; + (!is_null($head_arrow_size)) + ? $this->lineProperties['style']['arrow']['head']['size'] = (string) $head_arrow_size + : null; + (!is_null($end_arrow_type)) + ? $this->lineProperties['style']['arrow']['end']['type'] = (string) $end_arrow_type + : null; + (!is_null($end_arrow_size)) + ? $this->lineProperties['style']['arrow']['end']['size'] = (string) $end_arrow_size + : null; + } - return $this; - } + /** + * Get Line Color Property + * + * @param string $parameter + * + * @return string + */ - /** - * Set Shadow Properties Values - * - * @param array $properties_map - * @param * $reference - * - * @return PHPExcel_Chart_GridLines - */ + public function getLineColorProperty($parameter) + { + return $this->lineProperties['color'][$parameter]; + } - private function _setShadowProperiesMapValues(array $properties_map, &$reference = NULL) { - $base_reference = $reference; - foreach ($properties_map as $property_key => $property_val) { - if (is_array($property_val)) { - if ($reference === NULL) { - $reference = & $this->_shadow_properties[$property_key]; - } else { - $reference = & $reference[$property_key]; + /** + * Get Line Style Property + * + * @param array|string $elements + * + * @return string + */ + + public function getLineStyleProperty($elements) + { + return $this->getArrayElementsValue($this->lineProperties['style'], $elements); + } + + /** + * Set Glow Properties + * + * @param float $size + * @param string $color_value + * @param int $color_alpha + * @param string $color_type + * + */ + + public function setGlowProperties($size, $color_value = null, $color_alpha = null, $color_type = null) + { + $this + ->activateObject() + ->setGlowSize($size) + ->setGlowColor($color_value, $color_alpha, $color_type); + } + + /** + * Get Glow Color Property + * + * @param string $property + * + * @return string + */ + + public function getGlowColor($property) + { + return $this->glowProperties['color'][$property]; + } + + /** + * Get Glow Size + * + * @return string + */ + + public function getGlowSize() + { + return $this->glowProperties['size']; + } + + /** + * Set Glow Size + * + * @param float $size + * + * @return PHPExcel_Chart_GridLines + */ + + private function setGlowSize($size) + { + $this->glowProperties['size'] = $this->getExcelPointsWidth((float) $size); + + return $this; + } + + /** + * Set Glow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * + * @return PHPExcel_Chart_GridLines + */ + + private function setGlowColor($color, $alpha, $type) + { + if (!is_null($color)) { + $this->glowProperties['color']['value'] = (string) $color; } - $this->_setShadowProperiesMapValues($property_val, $reference); - } else { - if ($base_reference === NULL) { - $this->_shadow_properties[$property_key] = $property_val; - } else { - $reference[$property_key] = $property_val; + if (!is_null($alpha)) { + $this->glowProperties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); } - } + if (!is_null($type)) { + $this->glowProperties['color']['type'] = (string) $type; + } + + return $this; } - return $this; - } + /** + * Get Line Style Arrow Parameters + * + * @param string $arrow_selector + * @param string $property_selector + * + * @return string + */ - /** - * Set Shadow Color - * - * @param string $color - * @param int $alpha - * @param string $type - * - * @return PHPExcel_Chart_GridLines - */ - - private function _setShadowColor($color, $alpha, $type) { - if (!is_null($color)) { - $this->_shadow_properties['color']['value'] = (string) $color; - } - if (!is_null($alpha)) { - $this->_shadow_properties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); - } - if (!is_null($type)) { - $this->_shadow_properties['color']['type'] = (string) $type; + public function getLineStyleArrowParameters($arrow_selector, $property_selector) + { + return $this->getLineStyleArrowSize($this->lineProperties['style']['arrow'][$arrow_selector]['size'], $property_selector); } - return $this; - } + /** + * Set Shadow Properties + * + * @param int $sh_presets + * @param string $sh_color_value + * @param string $sh_color_type + * @param int $sh_color_alpha + * @param string $sh_blur + * @param int $sh_angle + * @param float $sh_distance + * + */ - /** - * Set Shadow Blur - * - * @param float $blur - * - * @return PHPExcel_Chart_GridLines - */ - - private function _setShadowBlur($blur) { - if ($blur !== NULL) { - $this->_shadow_properties['blur'] = (string) $this->getExcelPointsWidth($blur); + public function setShadowProperties($sh_presets, $sh_color_value = null, $sh_color_type = null, $sh_color_alpha = null, $sh_blur = null, $sh_angle = null, $sh_distance = null) + { + $this->activateObject() + ->setShadowPresetsProperties((int) $sh_presets) + ->setShadowColor( + is_null($sh_color_value) ? $this->shadowProperties['color']['value'] : $sh_color_value, + is_null($sh_color_alpha) ? (int) $this->shadowProperties['color']['alpha'] : $this->getTrueAlpha($sh_color_alpha), + is_null($sh_color_type) ? $this->shadowProperties['color']['type'] : $sh_color_type + ) + ->setShadowBlur($sh_blur) + ->setShadowAngle($sh_angle) + ->setShadowDistance($sh_distance); } - return $this; - } + /** + * Set Shadow Presets Properties + * + * @param int $shadow_presets + * + * @return PHPExcel_Chart_GridLines + */ - /** - * Set Shadow Angle - * - * @param int $angle - * - * @return PHPExcel_Chart_GridLines - */ + private function setShadowPresetsProperties($shadow_presets) + { + $this->shadowProperties['presets'] = $shadow_presets; + $this->setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets)); - private function _setShadowAngle($angle) { - if ($angle !== NULL) { - $this->_shadow_properties['direction'] = (string) $this->getExcelPointsAngle($angle); + return $this; } - return $this; - } + /** + * Set Shadow Properties Values + * + * @param array $properties_map + * @param * $reference + * + * @return PHPExcel_Chart_GridLines + */ - /** - * Set Shadow Distance - * - * @param float $distance - * - * @return PHPExcel_Chart_GridLines - */ + private function setShadowProperiesMapValues(array $properties_map, &$reference = null) + { + $base_reference = $reference; + foreach ($properties_map as $property_key => $property_val) { + if (is_array($property_val)) { + if ($reference === null) { + $reference = & $this->shadowProperties[$property_key]; + } else { + $reference = & $reference[$property_key]; + } + $this->setShadowProperiesMapValues($property_val, $reference); + } else { + if ($base_reference === null) { + $this->shadowProperties[$property_key] = $property_val; + } else { + $reference[$property_key] = $property_val; + } + } + } - private function _setShadowDistance($distance) { - if ($distance !== NULL) { - $this->_shadow_properties['distance'] = (string) $this->getExcelPointsWidth($distance); + return $this; } - return $this; - } + /** + * Set Shadow Color + * + * @param string $color + * @param int $alpha + * @param string $type + * @return PHPExcel_Chart_GridLines + */ + private function setShadowColor($color, $alpha, $type) + { + if (!is_null($color)) { + $this->shadowProperties['color']['value'] = (string) $color; + } + if (!is_null($alpha)) { + $this->shadowProperties['color']['alpha'] = $this->getTrueAlpha((int) $alpha); + } + if (!is_null($type)) { + $this->shadowProperties['color']['type'] = (string) $type; + } - /** - * Get Shadow Property - * - * @param string $elements - * @param array $elements - * - * @return string - */ - - public function getShadowProperty($elements) { - return $this->getArrayElementsValue($this->_shadow_properties, $elements); - } - - /** - * Set Soft Edges Size - * - * @param float $size - */ - - public function setSoftEdgesSize($size) { - if (!is_null($size)) { - $this->_activateObject(); - $_soft_edges['size'] = (string) $this->getExcelPointsWidth($size); + return $this; } - } - /** - * Get Soft Edges Size - * - * @return string - */ + /** + * Set Shadow Blur + * + * @param float $blur + * + * @return PHPExcel_Chart_GridLines + */ + private function setShadowBlur($blur) + { + if ($blur !== null) { + $this->shadowProperties['blur'] = (string) $this->getExcelPointsWidth($blur); + } - public function getSoftEdgesSize() { - return $this->_soft_edges['size']; - } -} \ No newline at end of file + return $this; + } + + /** + * Set Shadow Angle + * + * @param int $angle + * @return PHPExcel_Chart_GridLines + */ + + private function setShadowAngle($angle) + { + if ($angle !== null) { + $this->shadowProperties['direction'] = (string) $this->getExcelPointsAngle($angle); + } + + return $this; + } + + /** + * Set Shadow Distance + * + * @param float $distance + * @return PHPExcel_Chart_GridLines + */ + private function setShadowDistance($distance) + { + if ($distance !== null) { + $this->shadowProperties['distance'] = (string) $this->getExcelPointsWidth($distance); + } + + return $this; + } + + /** + * Get Shadow Property + * + * @param string $elements + * @param array $elements + * @return string + */ + public function getShadowProperty($elements) + { + return $this->getArrayElementsValue($this->shadowProperties, $elements); + } + + /** + * Set Soft Edges Size + * + * @param float $size + */ + public function setSoftEdgesSize($size) + { + if (!is_null($size)) { + $this->activateObject(); + $softEdges['size'] = (string) $this->getExcelPointsWidth($size); + } + } + + /** + * Get Soft Edges Size + * + * @return string + */ + public function getSoftEdgesSize() + { + return $this->softEdges['size']; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php index eefa157a9..7fef07410 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Layout.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,428 +18,469 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * @category PHPExcel - * @package PHPExcel_Chart - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @category PHPExcel + * @package PHPExcel_Chart + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ /** * PHPExcel_Chart_Layout * - * @category PHPExcel - * @package PHPExcel_Chart - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @category PHPExcel + * @package PHPExcel_Chart + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Chart_Layout { - /** - * layoutTarget - * - * @var string - */ - private $_layoutTarget = NULL; + /** + * layoutTarget + * + * @var string + */ + private $layoutTarget; - /** - * X Mode - * - * @var string - */ - private $_xMode = NULL; + /** + * X Mode + * + * @var string + */ + private $xMode; - /** - * Y Mode - * - * @var string - */ - private $_yMode = NULL; + /** + * Y Mode + * + * @var string + */ + private $yMode; - /** - * X-Position - * - * @var float - */ - private $_xPos = NULL; + /** + * X-Position + * + * @var float + */ + private $xPos; - /** - * Y-Position - * - * @var float - */ - private $_yPos = NULL; + /** + * Y-Position + * + * @var float + */ + private $yPos; - /** - * width - * - * @var float - */ - private $_width = NULL; + /** + * width + * + * @var float + */ + private $width; - /** - * height - * - * @var float - */ - private $_height = NULL; + /** + * height + * + * @var float + */ + private $height; - /** - * show legend key - * Specifies that legend keys should be shown in data labels - * - * @var boolean - */ - private $_showLegendKey = NULL; + /** + * show legend key + * Specifies that legend keys should be shown in data labels + * + * @var boolean + */ + private $showLegendKey; - /** - * show value - * Specifies that the value should be shown in a data label. - * - * @var boolean - */ - private $_showVal = NULL; + /** + * show value + * Specifies that the value should be shown in a data label. + * + * @var boolean + */ + private $showVal; - /** - * show category name - * Specifies that the category name should be shown in the data label. - * - * @var boolean - */ - private $_showCatName = NULL; + /** + * show category name + * Specifies that the category name should be shown in the data label. + * + * @var boolean + */ + private $showCatName; - /** - * show data series name - * Specifies that the series name should be shown in the data label. - * - * @var boolean - */ - private $_showSerName = NULL; + /** + * show data series name + * Specifies that the series name should be shown in the data label. + * + * @var boolean + */ + private $showSerName; - /** - * show percentage - * Specifies that the percentage should be shown in the data label. - * - * @var boolean - */ - private $_showPercent = NULL; + /** + * show percentage + * Specifies that the percentage should be shown in the data label. + * + * @var boolean + */ + private $showPercent; - /** - * show bubble size - * - * @var boolean - */ - private $_showBubbleSize = NULL; + /** + * show bubble size + * + * @var boolean + */ + private $showBubbleSize; - /** - * show leader lines - * Specifies that leader lines should be shown for the data label. - * - * @var boolean - */ - private $_showLeaderLines = NULL; + /** + * show leader lines + * Specifies that leader lines should be shown for the data label. + * + * @var boolean + */ + private $showLeaderLines; - /** - * Create a new PHPExcel_Chart_Layout - */ - public function __construct($layout=array()) - { - if (isset($layout['layoutTarget'])) { $this->_layoutTarget = $layout['layoutTarget']; } - if (isset($layout['xMode'])) { $this->_xMode = $layout['xMode']; } - if (isset($layout['yMode'])) { $this->_yMode = $layout['yMode']; } - if (isset($layout['x'])) { $this->_xPos = (float) $layout['x']; } - if (isset($layout['y'])) { $this->_yPos = (float) $layout['y']; } - if (isset($layout['w'])) { $this->_width = (float) $layout['w']; } - if (isset($layout['h'])) { $this->_height = (float) $layout['h']; } - } + /** + * Create a new PHPExcel_Chart_Layout + */ + public function __construct($layout = array()) + { + if (isset($layout['layoutTarget'])) { + $this->layoutTarget = $layout['layoutTarget']; + } + if (isset($layout['xMode'])) { + $this->xMode = $layout['xMode']; + } + if (isset($layout['yMode'])) { + $this->yMode = $layout['yMode']; + } + if (isset($layout['x'])) { + $this->xPos = (float) $layout['x']; + } + if (isset($layout['y'])) { + $this->yPos = (float) $layout['y']; + } + if (isset($layout['w'])) { + $this->width = (float) $layout['w']; + } + if (isset($layout['h'])) { + $this->height = (float) $layout['h']; + } + } - /** - * Get Layout Target - * - * @return string - */ - public function getLayoutTarget() { - return $this->_layoutTarget; - } + /** + * Get Layout Target + * + * @return string + */ + public function getLayoutTarget() + { + return $this->layoutTarget; + } - /** - * Set Layout Target - * - * @param Layout Target $value + /** + * Set Layout Target + * + * @param Layout Target $value * @return PHPExcel_Chart_Layout - */ - public function setLayoutTarget($value) { - $this->_layoutTarget = $value; + */ + public function setLayoutTarget($value) + { + $this->layoutTarget = $value; return $this; - } + } - /** - * Get X-Mode - * - * @return string - */ - public function getXMode() { - return $this->_xMode; - } + /** + * Get X-Mode + * + * @return string + */ + public function getXMode() + { + return $this->xMode; + } - /** - * Set X-Mode - * - * @param X-Mode $value + /** + * Set X-Mode + * + * @param X-Mode $value * @return PHPExcel_Chart_Layout - */ - public function setXMode($value) { - $this->_xMode = $value; + */ + public function setXMode($value) + { + $this->xMode = $value; return $this; - } + } - /** - * Get Y-Mode - * - * @return string - */ - public function getYMode() { - return $this->_yMode; - } + /** + * Get Y-Mode + * + * @return string + */ + public function getYMode() + { + return $this->yMode; + } - /** - * Set Y-Mode - * - * @param Y-Mode $value + /** + * Set Y-Mode + * + * @param Y-Mode $value * @return PHPExcel_Chart_Layout - */ - public function setYMode($value) { - $this->_yMode = $value; + */ + public function setYMode($value) + { + $this->yMode = $value; return $this; - } + } - /** - * Get X-Position - * - * @return number - */ - public function getXPosition() { - return $this->_xPos; - } + /** + * Get X-Position + * + * @return number + */ + public function getXPosition() + { + return $this->xPos; + } - /** - * Set X-Position - * - * @param X-Position $value + /** + * Set X-Position + * + * @param X-Position $value * @return PHPExcel_Chart_Layout - */ - public function setXPosition($value) { - $this->_xPos = $value; + */ + public function setXPosition($value) + { + $this->xPos = $value; return $this; - } + } - /** - * Get Y-Position - * - * @return number - */ - public function getYPosition() { - return $this->_yPos; - } + /** + * Get Y-Position + * + * @return number + */ + public function getYPosition() + { + return $this->yPos; + } - /** - * Set Y-Position - * - * @param Y-Position $value + /** + * Set Y-Position + * + * @param Y-Position $value * @return PHPExcel_Chart_Layout - */ - public function setYPosition($value) { - $this->_yPos = $value; + */ + public function setYPosition($value) + { + $this->yPos = $value; return $this; - } + } - /** - * Get Width - * - * @return number - */ - public function getWidth() { - return $this->_width; - } + /** + * Get Width + * + * @return number + */ + public function getWidth() + { + return $this->width; + } - /** - * Set Width - * - * @param Width $value + /** + * Set Width + * + * @param Width $value * @return PHPExcel_Chart_Layout - */ - public function setWidth($value) { - $this->_width = $value; + */ + public function setWidth($value) + { + $this->width = $value; return $this; - } + } - /** - * Get Height - * - * @return number - */ - public function getHeight() { - return $this->_height; - } + /** + * Get Height + * + * @return number + */ + public function getHeight() + { + return $this->height; + } - /** - * Set Height - * - * @param Height $value + /** + * Set Height + * + * @param Height $value * @return PHPExcel_Chart_Layout - */ - public function setHeight($value) { - $this->_height = $value; + */ + public function setHeight($value) + { + $this->height = $value; return $this; - } + } - /** - * Get show legend key - * - * @return boolean - */ - public function getShowLegendKey() { - return $this->_showLegendKey; - } + /** + * Get show legend key + * + * @return boolean + */ + public function getShowLegendKey() + { + return $this->showLegendKey; + } - /** - * Set show legend key - * Specifies that legend keys should be shown in data labels. - * - * @param boolean $value Show legend key + /** + * Set show legend key + * Specifies that legend keys should be shown in data labels. + * + * @param boolean $value Show legend key * @return PHPExcel_Chart_Layout - */ - public function setShowLegendKey($value) { - $this->_showLegendKey = $value; + */ + public function setShowLegendKey($value) + { + $this->showLegendKey = $value; return $this; - } + } - /** - * Get show value - * - * @return boolean - */ - public function getShowVal() { - return $this->_showVal; - } + /** + * Get show value + * + * @return boolean + */ + public function getShowVal() + { + return $this->showVal; + } - /** - * Set show val - * Specifies that the value should be shown in data labels. - * - * @param boolean $value Show val + /** + * Set show val + * Specifies that the value should be shown in data labels. + * + * @param boolean $value Show val * @return PHPExcel_Chart_Layout - */ - public function setShowVal($value) { - $this->_showVal = $value; + */ + public function setShowVal($value) + { + $this->showVal = $value; return $this; - } + } - /** - * Get show category name - * - * @return boolean - */ - public function getShowCatName() { - return $this->_showCatName; - } + /** + * Get show category name + * + * @return boolean + */ + public function getShowCatName() + { + return $this->showCatName; + } - /** - * Set show cat name - * Specifies that the category name should be shown in data labels. - * - * @param boolean $value Show cat name + /** + * Set show cat name + * Specifies that the category name should be shown in data labels. + * + * @param boolean $value Show cat name * @return PHPExcel_Chart_Layout - */ - public function setShowCatName($value) { - $this->_showCatName = $value; + */ + public function setShowCatName($value) + { + $this->showCatName = $value; return $this; - } + } - /** - * Get show data series name - * - * @return boolean - */ - public function getShowSerName() { - return $this->_showSerName; - } + /** + * Get show data series name + * + * @return boolean + */ + public function getShowSerName() + { + return $this->showSerName; + } - /** - * Set show ser name - * Specifies that the series name should be shown in data labels. - * - * @param boolean $value Show series name + /** + * Set show ser name + * Specifies that the series name should be shown in data labels. + * + * @param boolean $value Show series name * @return PHPExcel_Chart_Layout - */ - public function setShowSerName($value) { - $this->_showSerName = $value; + */ + public function setShowSerName($value) + { + $this->showSerName = $value; return $this; - } + } - /** - * Get show percentage - * - * @return boolean - */ - public function getShowPercent() { - return $this->_showPercent; - } + /** + * Get show percentage + * + * @return boolean + */ + public function getShowPercent() + { + return $this->showPercent; + } - /** - * Set show percentage - * Specifies that the percentage should be shown in data labels. - * - * @param boolean $value Show percentage + /** + * Set show percentage + * Specifies that the percentage should be shown in data labels. + * + * @param boolean $value Show percentage * @return PHPExcel_Chart_Layout - */ - public function setShowPercent($value) { - $this->_showPercent = $value; + */ + public function setShowPercent($value) + { + $this->showPercent = $value; return $this; - } + } - /** - * Get show bubble size - * - * @return boolean - */ - public function getShowBubbleSize() { - return $this->_showBubbleSize; - } + /** + * Get show bubble size + * + * @return boolean + */ + public function getShowBubbleSize() + { + return $this->showBubbleSize; + } - /** - * Set show bubble size - * Specifies that the bubble size should be shown in data labels. - * - * @param boolean $value Show bubble size + /** + * Set show bubble size + * Specifies that the bubble size should be shown in data labels. + * + * @param boolean $value Show bubble size * @return PHPExcel_Chart_Layout - */ - public function setShowBubbleSize($value) { - $this->_showBubbleSize = $value; + */ + public function setShowBubbleSize($value) + { + $this->showBubbleSize = $value; return $this; - } + } - /** - * Get show leader lines - * - * @return boolean - */ - public function getShowLeaderLines() { - return $this->_showLeaderLines; - } + /** + * Get show leader lines + * + * @return boolean + */ + public function getShowLeaderLines() + { + return $this->showLeaderLines; + } - /** - * Set show leader lines - * Specifies that leader lines should be shown in data labels. - * - * @param boolean $value Show leader lines + /** + * Set show leader lines + * Specifies that leader lines should be shown in data labels. + * + * @param boolean $value Show leader lines * @return PHPExcel_Chart_Layout - */ - public function setShowLeaderLines($value) { - $this->_showLeaderLines = $value; + */ + public function setShowLeaderLines($value) + { + $this->showLeaderLines = $value; return $this; - } - + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php index 783b3d429..e850eb594 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Legend.php @@ -1,8 +1,9 @@ self::POSITION_BOTTOM, - self::xlLegendPositionCorner => self::POSITION_TOPRIGHT, - self::xlLegendPositionCustom => '??', - self::xlLegendPositionLeft => self::POSITION_LEFT, - self::xlLegendPositionRight => self::POSITION_RIGHT, - self::xlLegendPositionTop => self::POSITION_TOP - ); + private static $positionXLref = array( + self::xlLegendPositionBottom => self::POSITION_BOTTOM, + self::xlLegendPositionCorner => self::POSITION_TOPRIGHT, + self::xlLegendPositionCustom => '??', + self::xlLegendPositionLeft => self::POSITION_LEFT, + self::xlLegendPositionRight => self::POSITION_RIGHT, + self::xlLegendPositionTop => self::POSITION_TOP + ); - /** - * Legend position - * - * @var string - */ - private $_position = self::POSITION_RIGHT; + /** + * Legend position + * + * @var string + */ + private $position = self::POSITION_RIGHT; - /** - * Allow overlay of other elements? - * - * @var boolean - */ - private $_overlay = TRUE; + /** + * Allow overlay of other elements? + * + * @var boolean + */ + private $overlay = true; - /** - * Legend Layout - * - * @var PHPExcel_Chart_Layout - */ - private $_layout = NULL; + /** + * Legend Layout + * + * @var PHPExcel_Chart_Layout + */ + private $layout = null; - /** - * Create a new PHPExcel_Chart_Legend - */ - public function __construct($position = self::POSITION_RIGHT, PHPExcel_Chart_Layout $layout = NULL, $overlay = FALSE) - { - $this->setPosition($position); - $this->_layout = $layout; - $this->setOverlay($overlay); - } + /** + * Create a new PHPExcel_Chart_Legend + */ + public function __construct($position = self::POSITION_RIGHT, PHPExcel_Chart_Layout $layout = null, $overlay = false) + { + $this->setPosition($position); + $this->layout = $layout; + $this->setOverlay($overlay); + } - /** - * Get legend position as an excel string value - * - * @return string - */ - public function getPosition() { - return $this->_position; - } + /** + * Get legend position as an excel string value + * + * @return string + */ + public function getPosition() + { + return $this->position; + } - /** - * Get legend position using an excel string value - * - * @param string $position - */ - public function setPosition($position = self::POSITION_RIGHT) { - if (!in_array($position,self::$_positionXLref)) { - return false; - } + /** + * Get legend position using an excel string value + * + * @param string $position + */ + public function setPosition($position = self::POSITION_RIGHT) + { + if (!in_array($position, self::$positionXLref)) { + return false; + } - $this->_position = $position; - return true; - } + $this->position = $position; + return true; + } - /** - * Get legend position as an Excel internal numeric value - * - * @return number - */ - public function getPositionXL() { - return array_search($this->_position,self::$_positionXLref); - } + /** + * Get legend position as an Excel internal numeric value + * + * @return number + */ + public function getPositionXL() + { + return array_search($this->position, self::$positionXLref); + } - /** - * Set legend position using an Excel internal numeric value - * - * @param number $positionXL - */ - public function setPositionXL($positionXL = self::xlLegendPositionRight) { - if (!array_key_exists($positionXL,self::$_positionXLref)) { - return false; - } + /** + * Set legend position using an Excel internal numeric value + * + * @param number $positionXL + */ + public function setPositionXL($positionXL = self::xlLegendPositionRight) + { + if (!array_key_exists($positionXL, self::$positionXLref)) { + return false; + } - $this->_position = self::$_positionXLref[$positionXL]; - return true; - } + $this->position = self::$positionXLref[$positionXL]; + return true; + } - /** - * Get allow overlay of other elements? - * - * @return boolean - */ - public function getOverlay() { - return $this->_overlay; - } + /** + * Get allow overlay of other elements? + * + * @return boolean + */ + public function getOverlay() + { + return $this->overlay; + } - /** - * Set allow overlay of other elements? - * - * @param boolean $overlay - * @return boolean - */ - public function setOverlay($overlay = FALSE) { - if (!is_bool($overlay)) { - return false; - } + /** + * Set allow overlay of other elements? + * + * @param boolean $overlay + * @return boolean + */ + public function setOverlay($overlay = false) + { + if (!is_bool($overlay)) { + return false; + } - $this->_overlay = $overlay; - return true; - } - - /** - * Get Layout - * - * @return PHPExcel_Chart_Layout - */ - public function getLayout() { - return $this->_layout; - } + $this->overlay = $overlay; + return true; + } + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() + { + return $this->layout; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php index c917ce305..551cc517b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/PlotArea.php @@ -1,8 +1,9 @@ _layout = $layout; - $this->_plotSeries = $plotSeries; - } + /** + * Create a new PHPExcel_Chart_PlotArea + */ + public function __construct(PHPExcel_Chart_Layout $layout = null, $plotSeries = array()) + { + $this->layout = $layout; + $this->plotSeries = $plotSeries; + } - /** - * Get Layout - * - * @return PHPExcel_Chart_Layout - */ - public function getLayout() { - return $this->_layout; - } + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() + { + return $this->layout; + } - /** - * Get Number of Plot Groups - * - * @return array of PHPExcel_Chart_DataSeries - */ - public function getPlotGroupCount() { - return count($this->_plotSeries); - } + /** + * Get Number of Plot Groups + * + * @return array of PHPExcel_Chart_DataSeries + */ + public function getPlotGroupCount() + { + return count($this->plotSeries); + } - /** - * Get Number of Plot Series - * - * @return integer - */ - public function getPlotSeriesCount() { - $seriesCount = 0; - foreach($this->_plotSeries as $plot) { - $seriesCount += $plot->getPlotSeriesCount(); - } - return $seriesCount; - } + /** + * Get Number of Plot Series + * + * @return integer + */ + public function getPlotSeriesCount() + { + $seriesCount = 0; + foreach ($this->plotSeries as $plot) { + $seriesCount += $plot->getPlotSeriesCount(); + } + return $seriesCount; + } - /** - * Get Plot Series - * - * @return array of PHPExcel_Chart_DataSeries - */ - public function getPlotGroup() { - return $this->_plotSeries; - } + /** + * Get Plot Series + * + * @return array of PHPExcel_Chart_DataSeries + */ + public function getPlotGroup() + { + return $this->plotSeries; + } - /** - * Get Plot Series by Index - * - * @return PHPExcel_Chart_DataSeries - */ - public function getPlotGroupByIndex($index) { - return $this->_plotSeries[$index]; - } + /** + * Get Plot Series by Index + * + * @return PHPExcel_Chart_DataSeries + */ + public function getPlotGroupByIndex($index) + { + return $this->plotSeries[$index]; + } - /** - * Set Plot Series - * - * @param [PHPExcel_Chart_DataSeries] + /** + * Set Plot Series + * + * @param [PHPExcel_Chart_DataSeries] * @return PHPExcel_Chart_PlotArea - */ - public function setPlotSeries($plotSeries = array()) { - $this->_plotSeries = $plotSeries; + */ + public function setPlotSeries($plotSeries = array()) + { + $this->plotSeries = $plotSeries; return $this; - } - - public function refresh(PHPExcel_Worksheet $worksheet) { - foreach($this->_plotSeries as $plotSeries) { - $plotSeries->refresh($worksheet); - } - } + } + public function refresh(PHPExcel_Worksheet $worksheet) + { + foreach ($this->plotSeries as $plotSeries) { + $plotSeries->refresh($worksheet); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php index 7593983c0..9bb6e9337 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Properties.php @@ -6,354 +6,358 @@ * Time: 5:45 PM */ -abstract class PHPExcel_Properties { +abstract class PHPExcel_Chart_Properties +{ + const + EXCEL_COLOR_TYPE_STANDARD = 'prstClr', + EXCEL_COLOR_TYPE_SCHEME = 'schemeClr', + EXCEL_COLOR_TYPE_ARGB = 'srgbClr'; - const - EXCEL_COLOR_TYPE_STANDARD = 'prstClr', - EXCEL_COLOR_TYPE_SCHEME = 'schemeClr', - EXCEL_COLOR_TYPE_ARGB = 'srgbClr'; + const + AXIS_LABELS_LOW = 'low', + AXIS_LABELS_HIGH = 'high', + AXIS_LABELS_NEXT_TO = 'nextTo', + AXIS_LABELS_NONE = 'none'; - const - AXIS_LABELS_LOW = 'low', - AXIS_LABELS_HIGH = 'high', - AXIS_LABELS_NEXT_TO = 'nextTo', - AXIS_LABELS_NONE = 'none'; + const + TICK_MARK_NONE = 'none', + TICK_MARK_INSIDE = 'in', + TICK_MARK_OUTSIDE = 'out', + TICK_MARK_CROSS = 'cross'; - const - TICK_MARK_NONE = 'none', - TICK_MARK_INSIDE = 'in', - TICK_MARK_OUTSIDE = 'out', - TICK_MARK_CROSS = 'cross'; + const + HORIZONTAL_CROSSES_AUTOZERO = 'autoZero', + HORIZONTAL_CROSSES_MAXIMUM = 'max'; - const - HORIZONTAL_CROSSES_AUTOZERO = 'autoZero', - HORIZONTAL_CROSSES_MAXIMUM = 'max'; + const + FORMAT_CODE_GENERAL = 'General', + FORMAT_CODE_NUMBER = '#,##0.00', + FORMAT_CODE_CURRENCY = '$#,##0.00', + FORMAT_CODE_ACCOUNTING = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)', + FORMAT_CODE_DATE = 'm/d/yyyy', + FORMAT_CODE_TIME = '[$-F400]h:mm:ss AM/PM', + FORMAT_CODE_PERCENTAGE = '0.00%', + FORMAT_CODE_FRACTION = '# ?/?', + FORMAT_CODE_SCIENTIFIC = '0.00E+00', + FORMAT_CODE_TEXT = '@', + FORMAT_CODE_SPECIAL = '00000'; - const - FORMAT_CODE_GENERAL = 'General', - FORMAT_CODE_NUMBER = '#,##0.00', - FORMAT_CODE_CURRENCY = '$#,##0.00', - FORMAT_CODE_ACCOUNTING = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)', - FORMAT_CODE_DATE = 'm/d/yyyy', - FORMAT_CODE_TIME = '[$-F400]h:mm:ss AM/PM', - FORMAT_CODE_PERCENTAGE = '0.00%', - FORMAT_CODE_FRACTION = '# ?/?', - FORMAT_CODE_SCIENTIFIC = '0.00E+00', - FORMAT_CODE_TEXT = '@', - FORMAT_CODE_SPECIAL = '00000'; + const + ORIENTATION_NORMAL = 'minMax', + ORIENTATION_REVERSED = 'maxMin'; - const - ORIENTATION_NORMAL = 'minMax', - ORIENTATION_REVERSED = 'maxMin'; + const + LINE_STYLE_COMPOUND_SIMPLE = 'sng', + LINE_STYLE_COMPOUND_DOUBLE = 'dbl', + LINE_STYLE_COMPOUND_THICKTHIN = 'thickThin', + LINE_STYLE_COMPOUND_THINTHICK = 'thinThick', + LINE_STYLE_COMPOUND_TRIPLE = 'tri', - const - LINE_STYLE_COMPOUND_SIMPLE = 'sng', - LINE_STYLE_COMPOUND_DOUBLE = 'dbl', - LINE_STYLE_COMPOUND_THICKTHIN = 'thickThin', - LINE_STYLE_COMPOUND_THINTHICK = 'thinThick', - LINE_STYLE_COMPOUND_TRIPLE = 'tri', + LINE_STYLE_DASH_SOLID = 'solid', + LINE_STYLE_DASH_ROUND_DOT = 'sysDot', + LINE_STYLE_DASH_SQUERE_DOT = 'sysDash', + LINE_STYPE_DASH_DASH = 'dash', + LINE_STYLE_DASH_DASH_DOT = 'dashDot', + LINE_STYLE_DASH_LONG_DASH = 'lgDash', + LINE_STYLE_DASH_LONG_DASH_DOT = 'lgDashDot', + LINE_STYLE_DASH_LONG_DASH_DOT_DOT = 'lgDashDotDot', - LINE_STYLE_DASH_SOLID = 'solid', - LINE_STYLE_DASH_ROUND_DOT = 'sysDot', - LINE_STYLE_DASH_SQUERE_DOT = 'sysDash', - LINE_STYPE_DASH_DASH = 'dash', - LINE_STYLE_DASH_DASH_DOT = 'dashDot', - LINE_STYLE_DASH_LONG_DASH = 'lgDash', - LINE_STYLE_DASH_LONG_DASH_DOT = 'lgDashDot', - LINE_STYLE_DASH_LONG_DASH_DOT_DOT = 'lgDashDotDot', + LINE_STYLE_CAP_SQUARE = 'sq', + LINE_STYLE_CAP_ROUND = 'rnd', + LINE_STYLE_CAP_FLAT = 'flat', - LINE_STYLE_CAP_SQUARE = 'sq', - LINE_STYLE_CAP_ROUND = 'rnd', - LINE_STYLE_CAP_FLAT = 'flat', + LINE_STYLE_JOIN_ROUND = 'bevel', + LINE_STYLE_JOIN_MITER = 'miter', + LINE_STYLE_JOIN_BEVEL = 'bevel', - LINE_STYLE_JOIN_ROUND = 'bevel', - LINE_STYLE_JOIN_MITER = 'miter', - LINE_STYLE_JOIN_BEVEL = 'bevel', + LINE_STYLE_ARROW_TYPE_NOARROW = null, + LINE_STYLE_ARROW_TYPE_ARROW = 'triangle', + LINE_STYLE_ARROW_TYPE_OPEN = 'arrow', + LINE_STYLE_ARROW_TYPE_STEALTH = 'stealth', + LINE_STYLE_ARROW_TYPE_DIAMOND = 'diamond', + LINE_STYLE_ARROW_TYPE_OVAL = 'oval', - LINE_STYLE_ARROW_TYPE_NOARROW = NULL, - LINE_STYLE_ARROW_TYPE_ARROW = 'triangle', - LINE_STYLE_ARROW_TYPE_OPEN = 'arrow', - LINE_STYLE_ARROW_TYPE_STEALTH = 'stealth', - LINE_STYLE_ARROW_TYPE_DIAMOND = 'diamond', - LINE_STYLE_ARROW_TYPE_OVAL = 'oval', + LINE_STYLE_ARROW_SIZE_1 = 1, + LINE_STYLE_ARROW_SIZE_2 = 2, + LINE_STYLE_ARROW_SIZE_3 = 3, + LINE_STYLE_ARROW_SIZE_4 = 4, + LINE_STYLE_ARROW_SIZE_5 = 5, + LINE_STYLE_ARROW_SIZE_6 = 6, + LINE_STYLE_ARROW_SIZE_7 = 7, + LINE_STYLE_ARROW_SIZE_8 = 8, + LINE_STYLE_ARROW_SIZE_9 = 9; - LINE_STYLE_ARROW_SIZE_1 = 1, - LINE_STYLE_ARROW_SIZE_2 = 2, - LINE_STYLE_ARROW_SIZE_3 = 3, - LINE_STYLE_ARROW_SIZE_4 = 4, - LINE_STYLE_ARROW_SIZE_5 = 5, - LINE_STYLE_ARROW_SIZE_6 = 6, - LINE_STYLE_ARROW_SIZE_7 = 7, - LINE_STYLE_ARROW_SIZE_8 = 8, - LINE_STYLE_ARROW_SIZE_9 = 9; + const + SHADOW_PRESETS_NOSHADOW = null, + SHADOW_PRESETS_OUTER_BOTTTOM_RIGHT = 1, + SHADOW_PRESETS_OUTER_BOTTOM = 2, + SHADOW_PRESETS_OUTER_BOTTOM_LEFT = 3, + SHADOW_PRESETS_OUTER_RIGHT = 4, + SHADOW_PRESETS_OUTER_CENTER = 5, + SHADOW_PRESETS_OUTER_LEFT = 6, + SHADOW_PRESETS_OUTER_TOP_RIGHT = 7, + SHADOW_PRESETS_OUTER_TOP = 8, + SHADOW_PRESETS_OUTER_TOP_LEFT = 9, + SHADOW_PRESETS_INNER_BOTTTOM_RIGHT = 10, + SHADOW_PRESETS_INNER_BOTTOM = 11, + SHADOW_PRESETS_INNER_BOTTOM_LEFT = 12, + SHADOW_PRESETS_INNER_RIGHT = 13, + SHADOW_PRESETS_INNER_CENTER = 14, + SHADOW_PRESETS_INNER_LEFT = 15, + SHADOW_PRESETS_INNER_TOP_RIGHT = 16, + SHADOW_PRESETS_INNER_TOP = 17, + SHADOW_PRESETS_INNER_TOP_LEFT = 18, + SHADOW_PRESETS_PERSPECTIVE_BELOW = 19, + SHADOW_PRESETS_PERSPECTIVE_UPPER_RIGHT = 20, + SHADOW_PRESETS_PERSPECTIVE_UPPER_LEFT = 21, + SHADOW_PRESETS_PERSPECTIVE_LOWER_RIGHT = 22, + SHADOW_PRESETS_PERSPECTIVE_LOWER_LEFT = 23; - const - SHADOW_PRESETS_NOSHADOW = NULL, - SHADOW_PRESETS_OUTER_BOTTTOM_RIGHT = 1, - SHADOW_PRESETS_OUTER_BOTTOM = 2, - SHADOW_PRESETS_OUTER_BOTTOM_LEFT = 3, - SHADOW_PRESETS_OUTER_RIGHT = 4, - SHADOW_PRESETS_OUTER_CENTER = 5, - SHADOW_PRESETS_OUTER_LEFT = 6, - SHADOW_PRESETS_OUTER_TOP_RIGHT = 7, - SHADOW_PRESETS_OUTER_TOP = 8, - SHADOW_PRESETS_OUTER_TOP_LEFT = 9, - SHADOW_PRESETS_INNER_BOTTTOM_RIGHT = 10, - SHADOW_PRESETS_INNER_BOTTOM = 11, - SHADOW_PRESETS_INNER_BOTTOM_LEFT = 12, - SHADOW_PRESETS_INNER_RIGHT = 13, - SHADOW_PRESETS_INNER_CENTER = 14, - SHADOW_PRESETS_INNER_LEFT = 15, - SHADOW_PRESETS_INNER_TOP_RIGHT = 16, - SHADOW_PRESETS_INNER_TOP = 17, - SHADOW_PRESETS_INNER_TOP_LEFT = 18, - SHADOW_PRESETS_PERSPECTIVE_BELOW = 19, - SHADOW_PRESETS_PERSPECTIVE_UPPER_RIGHT = 20, - SHADOW_PRESETS_PERSPECTIVE_UPPER_LEFT = 21, - SHADOW_PRESETS_PERSPECTIVE_LOWER_RIGHT = 22, - SHADOW_PRESETS_PERSPECTIVE_LOWER_LEFT = 23; - - protected function getExcelPointsWidth($width) { - return $width * 12700; - } - - protected function getExcelPointsAngle($angle) { - return $angle * 60000; - } - - protected function getTrueAlpha($alpha) { - return (string) 100 - $alpha . '000'; - } - - protected function setColorProperties($color, $alpha, $type) { - return array( - 'type' => (string) $type, - 'value' => (string) $color, - 'alpha' => (string) $this->getTrueAlpha($alpha) - ); - } - - protected function getLineStyleArrowSize($array_selector, $array_kay_selector) { - $sizes = array( - 1 => array('w' => 'sm', 'len' => 'sm'), - 2 => array('w' => 'sm', 'len' => 'med'), - 3 => array('w' => 'sm', 'len' => 'lg'), - 4 => array('w' => 'med', 'len' => 'sm'), - 5 => array('w' => 'med', 'len' => 'med'), - 6 => array('w' => 'med', 'len' => 'lg'), - 7 => array('w' => 'lg', 'len' => 'sm'), - 8 => array('w' => 'lg', 'len' => 'med'), - 9 => array('w' => 'lg', 'len' => 'lg') - ); - - return $sizes[$array_selector][$array_kay_selector]; - } - - protected function getShadowPresetsMap($shadow_presets_option) { - $presets_options = array( - //OUTER - 1 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '2700000', - 'algn' => 'tl', - 'rotWithShape' => '0' - ), - 2 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '5400000', - 'algn' => 't', - 'rotWithShape' => '0' - ), - 3 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '8100000', - 'algn' => 'tr', - 'rotWithShape' => '0' - ), - 4 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'algn' => 'l', - 'rotWithShape' => '0' - ), - 5 => array( - 'effect' => 'outerShdw', - 'size' => array( - 'sx' => '102000', - 'sy' => '102000' - ) - , - 'blur' => '63500', - 'distance' => '38100', - 'algn' => 'ctr', - 'rotWithShape' => '0' - ), - 6 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '10800000', - 'algn' => 'r', - 'rotWithShape' => '0' - ), - 7 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '18900000', - 'algn' => 'bl', - 'rotWithShape' => '0' - ), - 8 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '16200000', - 'rotWithShape' => '0' - ), - 9 => array( - 'effect' => 'outerShdw', - 'blur' => '50800', - 'distance' => '38100', - 'direction' => '13500000', - 'algn' => 'br', - 'rotWithShape' => '0' - ), - //INNER - 10 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '2700000', - ), - 11 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '5400000', - ), - 12 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '8100000', - ), - 13 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - ), - 14 => array( - 'effect' => 'innerShdw', - 'blur' => '114300', - ), - 15 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '10800000', - ), - 16 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '18900000', - ), - 17 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '16200000', - ), - 18 => array( - 'effect' => 'innerShdw', - 'blur' => '63500', - 'distance' => '50800', - 'direction' => '13500000', - ), - //perspective - 19 => array( - 'effect' => 'outerShdw', - 'blur' => '152400', - 'distance' => '317500', - 'size' => array( - 'sx' => '90000', - 'sy' => '-19000', - ), - 'direction' => '5400000', - 'rotWithShape' => '0', - ), - 20 => array( - 'effect' => 'outerShdw', - 'blur' => '76200', - 'direction' => '18900000', - 'size' => array( - 'sy' => '23000', - 'kx' => '-1200000', - ), - 'algn' => 'bl', - 'rotWithShape' => '0', - ), - 21 => array( - 'effect' => 'outerShdw', - 'blur' => '76200', - 'direction' => '13500000', - 'size' => array( - 'sy' => '23000', - 'kx' => '1200000', - ), - 'algn' => 'br', - 'rotWithShape' => '0', - ), - 22 => array( - 'effect' => 'outerShdw', - 'blur' => '76200', - 'distance' => '12700', - 'direction' => '2700000', - 'size' => array( - 'sy' => '-23000', - 'kx' => '-800400', - ), - 'algn' => 'bl', - 'rotWithShape' => '0', - ), - 23 => array( - 'effect' => 'outerShdw', - 'blur' => '76200', - 'distance' => '12700', - 'direction' => '8100000', - 'size' => array( - 'sy' => '-23000', - 'kx' => '800400', - ), - 'algn' => 'br', - 'rotWithShape' => '0', - ), - ); - - return $presets_options[$shadow_presets_option]; - } - - protected function getArrayElementsValue($properties, $elements) { - $reference = & $properties; - if (!is_array($elements)) { - return $reference[$elements]; - } else { - foreach ($elements as $keys) { - $reference = & $reference[$keys]; - } - - return $reference; + protected function getExcelPointsWidth($width) + { + return $width * 12700; } - return $this; - } + protected function getExcelPointsAngle($angle) + { + return $angle * 60000; + } -} \ No newline at end of file + protected function getTrueAlpha($alpha) + { + return (string) 100 - $alpha . '000'; + } + + protected function setColorProperties($color, $alpha, $type) + { + return array( + 'type' => (string) $type, + 'value' => (string) $color, + 'alpha' => (string) $this->getTrueAlpha($alpha) + ); + } + + protected function getLineStyleArrowSize($array_selector, $array_kay_selector) + { + $sizes = array( + 1 => array('w' => 'sm', 'len' => 'sm'), + 2 => array('w' => 'sm', 'len' => 'med'), + 3 => array('w' => 'sm', 'len' => 'lg'), + 4 => array('w' => 'med', 'len' => 'sm'), + 5 => array('w' => 'med', 'len' => 'med'), + 6 => array('w' => 'med', 'len' => 'lg'), + 7 => array('w' => 'lg', 'len' => 'sm'), + 8 => array('w' => 'lg', 'len' => 'med'), + 9 => array('w' => 'lg', 'len' => 'lg') + ); + + return $sizes[$array_selector][$array_kay_selector]; + } + + protected function getShadowPresetsMap($shadow_presets_option) + { + $presets_options = array( + //OUTER + 1 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '2700000', + 'algn' => 'tl', + 'rotWithShape' => '0' + ), + 2 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '5400000', + 'algn' => 't', + 'rotWithShape' => '0' + ), + 3 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '8100000', + 'algn' => 'tr', + 'rotWithShape' => '0' + ), + 4 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'algn' => 'l', + 'rotWithShape' => '0' + ), + 5 => array( + 'effect' => 'outerShdw', + 'size' => array( + 'sx' => '102000', + 'sy' => '102000' + ) + , + 'blur' => '63500', + 'distance' => '38100', + 'algn' => 'ctr', + 'rotWithShape' => '0' + ), + 6 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '10800000', + 'algn' => 'r', + 'rotWithShape' => '0' + ), + 7 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '18900000', + 'algn' => 'bl', + 'rotWithShape' => '0' + ), + 8 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '16200000', + 'rotWithShape' => '0' + ), + 9 => array( + 'effect' => 'outerShdw', + 'blur' => '50800', + 'distance' => '38100', + 'direction' => '13500000', + 'algn' => 'br', + 'rotWithShape' => '0' + ), + //INNER + 10 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '2700000', + ), + 11 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '5400000', + ), + 12 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '8100000', + ), + 13 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + ), + 14 => array( + 'effect' => 'innerShdw', + 'blur' => '114300', + ), + 15 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '10800000', + ), + 16 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '18900000', + ), + 17 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '16200000', + ), + 18 => array( + 'effect' => 'innerShdw', + 'blur' => '63500', + 'distance' => '50800', + 'direction' => '13500000', + ), + //perspective + 19 => array( + 'effect' => 'outerShdw', + 'blur' => '152400', + 'distance' => '317500', + 'size' => array( + 'sx' => '90000', + 'sy' => '-19000', + ), + 'direction' => '5400000', + 'rotWithShape' => '0', + ), + 20 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'direction' => '18900000', + 'size' => array( + 'sy' => '23000', + 'kx' => '-1200000', + ), + 'algn' => 'bl', + 'rotWithShape' => '0', + ), + 21 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'direction' => '13500000', + 'size' => array( + 'sy' => '23000', + 'kx' => '1200000', + ), + 'algn' => 'br', + 'rotWithShape' => '0', + ), + 22 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'distance' => '12700', + 'direction' => '2700000', + 'size' => array( + 'sy' => '-23000', + 'kx' => '-800400', + ), + 'algn' => 'bl', + 'rotWithShape' => '0', + ), + 23 => array( + 'effect' => 'outerShdw', + 'blur' => '76200', + 'distance' => '12700', + 'direction' => '8100000', + 'size' => array( + 'sy' => '-23000', + 'kx' => '800400', + ), + 'algn' => 'br', + 'rotWithShape' => '0', + ), + ); + + return $presets_options[$shadow_presets_option]; + } + + protected function getArrayElementsValue($properties, $elements) + { + $reference = & $properties; + if (!is_array($elements)) { + return $reference[$elements]; + } else { + foreach ($elements as $keys) { + $reference = & $reference[$keys]; + } + return $reference; + } + return $this; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt index faaa61d15..9334f684e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt @@ -15,3 +15,6 @@ pChart TeeChart http://www.steema.com/products/teechart/overview.html + +PHPGraphLib + http://www.ebrueggeman.com/phpgraphlib \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php index dc7de6e66..b3d7396f5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Renderer/jpgraph.php @@ -1,9 +1,11 @@ MARK_DIAMOND, - 'square' => MARK_SQUARE, - 'triangle' => MARK_UTRIANGLE, - 'x' => MARK_X, - 'star' => MARK_STAR, - 'dot' => MARK_FILLEDCIRCLE, - 'dash' => MARK_DTRIANGLE, - 'circle' => MARK_CIRCLE, - 'plus' => MARK_CROSS - ); - - - private $_chart = null; - - private $_graph = null; - - private static $_plotColour = 0; - - private static $_plotMark = 0; - - - private function _formatPointMarker($seriesPlot,$markerID) { - $plotMarkKeys = array_keys(self::$_markSet); - if (is_null($markerID)) { - // Use default plot marker (next marker in the series) - self::$_plotMark %= count(self::$_markSet); - $seriesPlot->mark->SetType(self::$_markSet[$plotMarkKeys[self::$_plotMark++]]); - } elseif ($markerID !== 'none') { - // Use specified plot marker (if it exists) - if (isset(self::$_markSet[$markerID])) { - $seriesPlot->mark->SetType(self::$_markSet[$markerID]); - } else { - // If the specified plot marker doesn't exist, use default plot marker (next marker in the series) - self::$_plotMark %= count(self::$_markSet); - $seriesPlot->mark->SetType(self::$_markSet[$plotMarkKeys[self::$_plotMark++]]); - } - } else { - // Hide plot marker - $seriesPlot->mark->Hide(); - } - $seriesPlot->mark->SetColor(self::$_colourSet[self::$_plotColour]); - $seriesPlot->mark->SetFillColor(self::$_colourSet[self::$_plotColour]); - $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); - - return $seriesPlot; - } // function _formatPointMarker() - - - private function _formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation = '') { - $datasetLabelFormatCode = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getFormatCode(); - if (!is_null($datasetLabelFormatCode)) { - // Retrieve any label formatting code - $datasetLabelFormatCode = stripslashes($datasetLabelFormatCode); - } - - $testCurrentIndex = 0; - foreach($datasetLabels as $i => $datasetLabel) { - if (is_array($datasetLabel)) { - if ($rotation == 'bar') { - $datasetLabels[$i] = implode(" ",$datasetLabel); - } else { - $datasetLabel = array_reverse($datasetLabel); - $datasetLabels[$i] = implode("\n",$datasetLabel); - } - } else { - // Format labels according to any formatting code - if (!is_null($datasetLabelFormatCode)) { - $datasetLabels[$i] = PHPExcel_Style_NumberFormat::toFormattedString($datasetLabel,$datasetLabelFormatCode); - } - } - ++$testCurrentIndex; - } - - return $datasetLabels; - } // function _formatDataSetLabels() - - - private function _percentageSumCalculation($groupID,$seriesCount) { - // Adjust our values to a percentage value across all series in the group - for($i = 0; $i < $seriesCount; ++$i) { - if ($i == 0) { - $sumValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - } else { - $nextValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - foreach($nextValues as $k => $value) { - if (isset($sumValues[$k])) { - $sumValues[$k] += $value; - } else { - $sumValues[$k] = $value; - } - } - } - } - - return $sumValues; - } // function _percentageSumCalculation() - - - private function _percentageAdjustValues($dataValues,$sumValues) { - foreach($dataValues as $k => $dataValue) { - $dataValues[$k] = $dataValue / $sumValues[$k] * 100; - } - - return $dataValues; - } // function _percentageAdjustValues() - - - private function _getCaption($captionElement) { - // Read any caption - $caption = (!is_null($captionElement)) ? $captionElement->getCaption() : NULL; - // Test if we have a title caption to display - if (!is_null($caption)) { - // If we do, it could be a plain string or an array - if (is_array($caption)) { - // Implode an array to a plain string - $caption = implode('',$caption); - } - } - return $caption; - } // function _getCaption() - - - private function _renderTitle() { - $title = $this->_getCaption($this->_chart->getTitle()); - if (!is_null($title)) { - $this->_graph->title->Set($title); - } - } // function _renderTitle() - - - private function _renderLegend() { - $legend = $this->_chart->getLegend(); - if (!is_null($legend)) { - $legendPosition = $legend->getPosition(); - $legendOverlay = $legend->getOverlay(); - switch ($legendPosition) { - case 'r' : - $this->_graph->legend->SetPos(0.01,0.5,'right','center'); // right - $this->_graph->legend->SetColumns(1); - break; - case 'l' : - $this->_graph->legend->SetPos(0.01,0.5,'left','center'); // left - $this->_graph->legend->SetColumns(1); - break; - case 't' : - $this->_graph->legend->SetPos(0.5,0.01,'center','top'); // top - break; - case 'b' : - $this->_graph->legend->SetPos(0.5,0.99,'center','bottom'); // bottom - break; - default : - $this->_graph->legend->SetPos(0.01,0.01,'right','top'); // top-right - $this->_graph->legend->SetColumns(1); - break; - } - } else { - $this->_graph->legend->Hide(); - } - } // function _renderLegend() - - - private function _renderCartesianPlotArea($type='textlin') { - $this->_graph = new Graph(self::$_width,self::$_height); - $this->_graph->SetScale($type); - - $this->_renderTitle(); - - // Rotate for bar rather than column chart - $rotation = $this->_chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotDirection(); - $reverse = ($rotation == 'bar') ? true : false; - - $xAxisLabel = $this->_chart->getXAxisLabel(); - if (!is_null($xAxisLabel)) { - $title = $this->_getCaption($xAxisLabel); - if (!is_null($title)) { - $this->_graph->xaxis->SetTitle($title,'center'); - $this->_graph->xaxis->title->SetMargin(35); - if ($reverse) { - $this->_graph->xaxis->title->SetAngle(90); - $this->_graph->xaxis->title->SetMargin(90); - } - } - } - - $yAxisLabel = $this->_chart->getYAxisLabel(); - if (!is_null($yAxisLabel)) { - $title = $this->_getCaption($yAxisLabel); - if (!is_null($title)) { - $this->_graph->yaxis->SetTitle($title,'center'); - if ($reverse) { - $this->_graph->yaxis->title->SetAngle(0); - $this->_graph->yaxis->title->SetMargin(-55); - } - } - } - } // function _renderCartesianPlotArea() - - - private function _renderPiePlotArea($doughnut = False) { - $this->_graph = new PieGraph(self::$_width,self::$_height); - - $this->_renderTitle(); - } // function _renderPiePlotArea() - - - private function _renderRadarPlotArea() { - $this->_graph = new RadarGraph(self::$_width,self::$_height); - $this->_graph->SetScale('lin'); - - $this->_renderTitle(); - } // function _renderRadarPlotArea() - - - private function _renderPlotLine($groupID, $filled = false, $combination = false, $dimensions = '2d') { - $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); - - $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); - if ($labelCount > 0) { - $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); - $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); - $this->_graph->xaxis->SetTickLabels($datasetLabels); - } - - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - if ($grouping == 'percentStacked') { - $sumValues = $this->_percentageSumCalculation($groupID,$seriesCount); - } - - // Loop through each data series in turn - for($i = 0; $i < $seriesCount; ++$i) { - $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); - - if ($grouping == 'percentStacked') { - $dataValues = $this->_percentageAdjustValues($dataValues,$sumValues); - } - - // Fill in any missing values in the $dataValues array - $testCurrentIndex = 0; - foreach($dataValues as $k => $dataValue) { - while($k != $testCurrentIndex) { - $dataValues[$testCurrentIndex] = null; - ++$testCurrentIndex; - } - ++$testCurrentIndex; - } - - $seriesPlot = new LinePlot($dataValues); - if ($combination) { - $seriesPlot->SetBarCenter(); - } - - if ($filled) { - $seriesPlot->SetFilled(true); - $seriesPlot->SetColor('black'); - $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour++]); - } else { - // Set the appropriate plot marker - $this->_formatPointMarker($seriesPlot,$marker); - } - $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); - $seriesPlot->SetLegend($dataLabel); - - $seriesPlots[] = $seriesPlot; - } - - if ($grouping == 'standard') { - $groupPlot = $seriesPlots; - } else { - $groupPlot = new AccLinePlot($seriesPlots); - } - $this->_graph->Add($groupPlot); - } // function _renderPlotLine() - - - private function _renderPlotBar($groupID, $dimensions = '2d') { - $rotation = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotDirection(); - // Rotate for bar rather than column chart - if (($groupID == 0) && ($rotation == 'bar')) { - $this->_graph->Set90AndMargin(); - } - $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); - - $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); - if ($labelCount > 0) { - $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); - $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation); - // Rotate for bar rather than column chart - if ($rotation == 'bar') { - $datasetLabels = array_reverse($datasetLabels); - $this->_graph->yaxis->SetPos('max'); - $this->_graph->yaxis->SetLabelAlign('center','top'); - $this->_graph->yaxis->SetLabelSide(SIDE_RIGHT); - } - $this->_graph->xaxis->SetTickLabels($datasetLabels); - } - - - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - if ($grouping == 'percentStacked') { - $sumValues = $this->_percentageSumCalculation($groupID,$seriesCount); - } - - // Loop through each data series in turn - for($j = 0; $j < $seriesCount; ++$j) { - $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); - if ($grouping == 'percentStacked') { - $dataValues = $this->_percentageAdjustValues($dataValues,$sumValues); - } - - // Fill in any missing values in the $dataValues array - $testCurrentIndex = 0; - foreach($dataValues as $k => $dataValue) { - while($k != $testCurrentIndex) { - $dataValues[$testCurrentIndex] = null; - ++$testCurrentIndex; - } - ++$testCurrentIndex; - } - - // Reverse the $dataValues order for bar rather than column chart - if ($rotation == 'bar') { - $dataValues = array_reverse($dataValues); - } - $seriesPlot = new BarPlot($dataValues); - $seriesPlot->SetColor('black'); - $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour++]); - if ($dimensions == '3d') { - $seriesPlot->SetShadow(); - } - if (!$this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)) { - $dataLabel = ''; - } else { - $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)->getDataValue(); - } - $seriesPlot->SetLegend($dataLabel); - - $seriesPlots[] = $seriesPlot; - } - // Reverse the plot order for bar rather than column chart - if (($rotation == 'bar') && (!($grouping == 'percentStacked'))) { - $seriesPlots = array_reverse($seriesPlots); - } - - if ($grouping == 'clustered') { - $groupPlot = new GroupBarPlot($seriesPlots); - } elseif ($grouping == 'standard') { - $groupPlot = new GroupBarPlot($seriesPlots); - } else { - $groupPlot = new AccBarPlot($seriesPlots); - if ($dimensions == '3d') { - $groupPlot->SetShadow(); - } - } - - $this->_graph->Add($groupPlot); - } // function _renderPlotBar() - - - private function _renderPlotScatter($groupID,$bubble) { - $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); - $scatterStyle = $bubbleSize = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); - - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - - // Loop through each data series in turn - for($i = 0; $i < $seriesCount; ++$i) { - $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); - $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - - foreach($dataValuesY as $k => $dataValueY) { - $dataValuesY[$k] = $k; - } - - $seriesPlot = new ScatterPlot($dataValuesX,$dataValuesY); - if ($scatterStyle == 'lineMarker') { - $seriesPlot->SetLinkPoints(); - $seriesPlot->link->SetColor(self::$_colourSet[self::$_plotColour]); - } elseif ($scatterStyle == 'smoothMarker') { - $spline = new Spline($dataValuesY,$dataValuesX); - list($splineDataY,$splineDataX) = $spline->Get(count($dataValuesX) * self::$_width / 20); - $lplot = new LinePlot($splineDataX,$splineDataY); - $lplot->SetColor(self::$_colourSet[self::$_plotColour]); - - $this->_graph->Add($lplot); - } - - if ($bubble) { - $this->_formatPointMarker($seriesPlot,'dot'); - $seriesPlot->mark->SetColor('black'); - $seriesPlot->mark->SetSize($bubbleSize); - } else { - $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); - $this->_formatPointMarker($seriesPlot,$marker); - } - $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); - $seriesPlot->SetLegend($dataLabel); - - $this->_graph->Add($seriesPlot); - } - } // function _renderPlotScatter() - - - private function _renderPlotRadar($groupID) { - $radarStyle = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); - - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - - // Loop through each data series in turn - for($i = 0; $i < $seriesCount; ++$i) { - $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); - $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); - - $dataValues = array(); - foreach($dataValuesY as $k => $dataValueY) { - $dataValues[$k] = implode(' ',array_reverse($dataValueY)); - } - $tmp = array_shift($dataValues); - $dataValues[] = $tmp; - $tmp = array_shift($dataValuesX); - $dataValuesX[] = $tmp; - - $this->_graph->SetTitles(array_reverse($dataValues)); - - $seriesPlot = new RadarPlot(array_reverse($dataValuesX)); - - $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); - $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); - if ($radarStyle == 'filled') { - $seriesPlot->SetFillColor(self::$_colourSet[self::$_plotColour]); - } - $this->_formatPointMarker($seriesPlot,$marker); - $seriesPlot->SetLegend($dataLabel); - - $this->_graph->Add($seriesPlot); - } - } // function _renderPlotRadar() - - - private function _renderPlotContour($groupID) { - $contourStyle = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); - - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - - $dataValues = array(); - // Loop through each data series in turn - for($i = 0; $i < $seriesCount; ++$i) { - $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); - $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); - - $dataValues[$i] = $dataValuesX; - } - $seriesPlot = new ContourPlot($dataValues); - - $this->_graph->Add($seriesPlot); - } // function _renderPlotContour() - - - private function _renderPlotStock($groupID) { - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $plotOrder = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotOrder(); - - $dataValues = array(); - // Loop through each data series in turn and build the plot arrays - foreach($plotOrder as $i => $v) { - $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($v)->getDataValues(); - foreach($dataValuesX as $j => $dataValueX) { - $dataValues[$plotOrder[$i]][$j] = $dataValueX; - } - } - if(empty($dataValues)) { - return; - } - - $dataValuesPlot = array(); + private static $width = 640; + + private static $height = 480; + + private static $colourSet = array( + 'mediumpurple1', 'palegreen3', 'gold1', 'cadetblue1', + 'darkmagenta', 'coral', 'dodgerblue3', 'eggplant', + 'mediumblue', 'magenta', 'sandybrown', 'cyan', + 'firebrick1', 'forestgreen', 'deeppink4', 'darkolivegreen', + 'goldenrod2' + ); + + private static $markSet = array( + 'diamond' => MARK_DIAMOND, + 'square' => MARK_SQUARE, + 'triangle' => MARK_UTRIANGLE, + 'x' => MARK_X, + 'star' => MARK_STAR, + 'dot' => MARK_FILLEDCIRCLE, + 'dash' => MARK_DTRIANGLE, + 'circle' => MARK_CIRCLE, + 'plus' => MARK_CROSS + ); + + + private $chart; + + private $graph; + + private static $plotColour = 0; + + private static $plotMark = 0; + + + private function formatPointMarker($seriesPlot, $markerID) + { + $plotMarkKeys = array_keys(self::$markSet); + if (is_null($markerID)) { + // Use default plot marker (next marker in the series) + self::$plotMark %= count(self::$markSet); + $seriesPlot->mark->SetType(self::$markSet[$plotMarkKeys[self::$plotMark++]]); + } elseif ($markerID !== 'none') { + // Use specified plot marker (if it exists) + if (isset(self::$markSet[$markerID])) { + $seriesPlot->mark->SetType(self::$markSet[$markerID]); + } else { + // If the specified plot marker doesn't exist, use default plot marker (next marker in the series) + self::$plotMark %= count(self::$markSet); + $seriesPlot->mark->SetType(self::$markSet[$plotMarkKeys[self::$plotMark++]]); + } + } else { + // Hide plot marker + $seriesPlot->mark->Hide(); + } + $seriesPlot->mark->SetColor(self::$colourSet[self::$plotColour]); + $seriesPlot->mark->SetFillColor(self::$colourSet[self::$plotColour]); + $seriesPlot->SetColor(self::$colourSet[self::$plotColour++]); + + return $seriesPlot; + } + + + private function formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation = '') + { + $datasetLabelFormatCode = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getFormatCode(); + if (!is_null($datasetLabelFormatCode)) { + // Retrieve any label formatting code + $datasetLabelFormatCode = stripslashes($datasetLabelFormatCode); + } + + $testCurrentIndex = 0; + foreach ($datasetLabels as $i => $datasetLabel) { + if (is_array($datasetLabel)) { + if ($rotation == 'bar') { + $datasetLabels[$i] = implode(" ", $datasetLabel); + } else { + $datasetLabel = array_reverse($datasetLabel); + $datasetLabels[$i] = implode("\n", $datasetLabel); + } + } else { + // Format labels according to any formatting code + if (!is_null($datasetLabelFormatCode)) { + $datasetLabels[$i] = PHPExcel_Style_NumberFormat::toFormattedString($datasetLabel, $datasetLabelFormatCode); + } + } + ++$testCurrentIndex; + } + + return $datasetLabels; + } + + + private function percentageSumCalculation($groupID, $seriesCount) + { + // Adjust our values to a percentage value across all series in the group + for ($i = 0; $i < $seriesCount; ++$i) { + if ($i == 0) { + $sumValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + } else { + $nextValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + foreach ($nextValues as $k => $value) { + if (isset($sumValues[$k])) { + $sumValues[$k] += $value; + } else { + $sumValues[$k] = $value; + } + } + } + } + + return $sumValues; + } + + + private function percentageAdjustValues($dataValues, $sumValues) + { + foreach ($dataValues as $k => $dataValue) { + $dataValues[$k] = $dataValue / $sumValues[$k] * 100; + } + + return $dataValues; + } + + + private function getCaption($captionElement) + { + // Read any caption + $caption = (!is_null($captionElement)) ? $captionElement->getCaption() : null; + // Test if we have a title caption to display + if (!is_null($caption)) { + // If we do, it could be a plain string or an array + if (is_array($caption)) { + // Implode an array to a plain string + $caption = implode('', $caption); + } + } + return $caption; + } + + + private function renderTitle() + { + $title = $this->getCaption($this->chart->getTitle()); + if (!is_null($title)) { + $this->graph->title->Set($title); + } + } + + + private function renderLegend() + { + $legend = $this->chart->getLegend(); + if (!is_null($legend)) { + $legendPosition = $legend->getPosition(); + $legendOverlay = $legend->getOverlay(); + switch ($legendPosition) { + case 'r': + $this->graph->legend->SetPos(0.01, 0.5, 'right', 'center'); // right + $this->graph->legend->SetColumns(1); + break; + case 'l': + $this->graph->legend->SetPos(0.01, 0.5, 'left', 'center'); // left + $this->graph->legend->SetColumns(1); + break; + case 't': + $this->graph->legend->SetPos(0.5, 0.01, 'center', 'top'); // top + break; + case 'b': + $this->graph->legend->SetPos(0.5, 0.99, 'center', 'bottom'); // bottom + break; + default: + $this->graph->legend->SetPos(0.01, 0.01, 'right', 'top'); // top-right + $this->graph->legend->SetColumns(1); + break; + } + } else { + $this->graph->legend->Hide(); + } + } + + + private function renderCartesianPlotArea($type = 'textlin') + { + $this->graph = new Graph(self::$width, self::$height); + $this->graph->SetScale($type); + + $this->renderTitle(); + + // Rotate for bar rather than column chart + $rotation = $this->chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotDirection(); + $reverse = ($rotation == 'bar') ? true : false; + + $xAxisLabel = $this->chart->getXAxisLabel(); + if (!is_null($xAxisLabel)) { + $title = $this->getCaption($xAxisLabel); + if (!is_null($title)) { + $this->graph->xaxis->SetTitle($title, 'center'); + $this->graph->xaxis->title->SetMargin(35); + if ($reverse) { + $this->graph->xaxis->title->SetAngle(90); + $this->graph->xaxis->title->SetMargin(90); + } + } + } + + $yAxisLabel = $this->chart->getYAxisLabel(); + if (!is_null($yAxisLabel)) { + $title = $this->getCaption($yAxisLabel); + if (!is_null($title)) { + $this->graph->yaxis->SetTitle($title, 'center'); + if ($reverse) { + $this->graph->yaxis->title->SetAngle(0); + $this->graph->yaxis->title->SetMargin(-55); + } + } + } + } + + + private function renderPiePlotArea($doughnut = false) + { + $this->graph = new PieGraph(self::$width, self::$height); + + $this->renderTitle(); + } + + + private function renderRadarPlotArea() + { + $this->graph = new RadarGraph(self::$width, self::$height); + $this->graph->SetScale('lin'); + + $this->renderTitle(); + } + + + private function renderPlotLine($groupID, $filled = false, $combination = false, $dimensions = '2d') + { + $grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + + $labelCount = count($this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount); + $this->graph->xaxis->SetTickLabels($datasetLabels); + } + + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + if ($grouping == 'percentStacked') { + $sumValues = $this->percentageSumCalculation($groupID, $seriesCount); + } + + // Loop through each data series in turn + for ($i = 0; $i < $seriesCount; ++$i) { + $dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + $marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + + if ($grouping == 'percentStacked') { + $dataValues = $this->percentageAdjustValues($dataValues, $sumValues); + } + + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach ($dataValues as $k => $dataValue) { + while ($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } + + $seriesPlot = new LinePlot($dataValues); + if ($combination) { + $seriesPlot->SetBarCenter(); + } + + if ($filled) { + $seriesPlot->SetFilled(true); + $seriesPlot->SetColor('black'); + $seriesPlot->SetFillColor(self::$colourSet[self::$plotColour++]); + } else { + // Set the appropriate plot marker + $this->formatPointMarker($seriesPlot, $marker); + } + $dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetLegend($dataLabel); + + $seriesPlots[] = $seriesPlot; + } + + if ($grouping == 'standard') { + $groupPlot = $seriesPlots; + } else { + $groupPlot = new AccLinePlot($seriesPlots); + } + $this->graph->Add($groupPlot); + } + + + private function renderPlotBar($groupID, $dimensions = '2d') + { + $rotation = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotDirection(); + // Rotate for bar rather than column chart + if (($groupID == 0) && ($rotation == 'bar')) { + $this->graph->Set90AndMargin(); + } + $grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + + $labelCount = count($this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation); + // Rotate for bar rather than column chart + if ($rotation == 'bar') { + $datasetLabels = array_reverse($datasetLabels); + $this->graph->yaxis->SetPos('max'); + $this->graph->yaxis->SetLabelAlign('center', 'top'); + $this->graph->yaxis->SetLabelSide(SIDE_RIGHT); + } + $this->graph->xaxis->SetTickLabels($datasetLabels); + } + + + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + if ($grouping == 'percentStacked') { + $sumValues = $this->percentageSumCalculation($groupID, $seriesCount); + } + + // Loop through each data series in turn + for ($j = 0; $j < $seriesCount; ++$j) { + $dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); + if ($grouping == 'percentStacked') { + $dataValues = $this->percentageAdjustValues($dataValues, $sumValues); + } + + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach ($dataValues as $k => $dataValue) { + while ($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } + + // Reverse the $dataValues order for bar rather than column chart + if ($rotation == 'bar') { + $dataValues = array_reverse($dataValues); + } + $seriesPlot = new BarPlot($dataValues); + $seriesPlot->SetColor('black'); + $seriesPlot->SetFillColor(self::$colourSet[self::$plotColour++]); + if ($dimensions == '3d') { + $seriesPlot->SetShadow(); + } + if (!$this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)) { + $dataLabel = ''; + } else { + $dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)->getDataValue(); + } + $seriesPlot->SetLegend($dataLabel); + + $seriesPlots[] = $seriesPlot; + } + // Reverse the plot order for bar rather than column chart + if (($rotation == 'bar') && (!($grouping == 'percentStacked'))) { + $seriesPlots = array_reverse($seriesPlots); + } + + if ($grouping == 'clustered') { + $groupPlot = new GroupBarPlot($seriesPlots); + } elseif ($grouping == 'standard') { + $groupPlot = new GroupBarPlot($seriesPlots); + } else { + $groupPlot = new AccBarPlot($seriesPlots); + if ($dimensions == '3d') { + $groupPlot->SetShadow(); + } + } + + $this->graph->Add($groupPlot); + } + + + private function renderPlotScatter($groupID, $bubble) + { + $grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + $scatterStyle = $bubbleSize = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + // Loop through each data series in turn + for ($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + + foreach ($dataValuesY as $k => $dataValueY) { + $dataValuesY[$k] = $k; + } + + $seriesPlot = new ScatterPlot($dataValuesX, $dataValuesY); + if ($scatterStyle == 'lineMarker') { + $seriesPlot->SetLinkPoints(); + $seriesPlot->link->SetColor(self::$colourSet[self::$plotColour]); + } elseif ($scatterStyle == 'smoothMarker') { + $spline = new Spline($dataValuesY, $dataValuesX); + list($splineDataY, $splineDataX) = $spline->Get(count($dataValuesX) * self::$width / 20); + $lplot = new LinePlot($splineDataX, $splineDataY); + $lplot->SetColor(self::$colourSet[self::$plotColour]); + + $this->graph->Add($lplot); + } + + if ($bubble) { + $this->formatPointMarker($seriesPlot, 'dot'); + $seriesPlot->mark->SetColor('black'); + $seriesPlot->mark->SetSize($bubbleSize); + } else { + $marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + $this->formatPointMarker($seriesPlot, $marker); + } + $dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetLegend($dataLabel); + + $this->graph->Add($seriesPlot); + } + } + + + private function renderPlotRadar($groupID) + { + $radarStyle = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + // Loop through each data series in turn + for ($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + $marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); + + $dataValues = array(); + foreach ($dataValuesY as $k => $dataValueY) { + $dataValues[$k] = implode(' ', array_reverse($dataValueY)); + } + $tmp = array_shift($dataValues); + $dataValues[] = $tmp; + $tmp = array_shift($dataValuesX); + $dataValuesX[] = $tmp; + + $this->graph->SetTitles(array_reverse($dataValues)); + + $seriesPlot = new RadarPlot(array_reverse($dataValuesX)); + + $dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); + $seriesPlot->SetColor(self::$colourSet[self::$plotColour++]); + if ($radarStyle == 'filled') { + $seriesPlot->SetFillColor(self::$colourSet[self::$plotColour]); + } + $this->formatPointMarker($seriesPlot, $marker); + $seriesPlot->SetLegend($dataLabel); + + $this->graph->Add($seriesPlot); + } + } + + + private function renderPlotContour($groupID) + { + $contourStyle = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + + $dataValues = array(); + // Loop through each data series in turn + for ($i = 0; $i < $seriesCount; ++$i) { + $dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); + $dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); + + $dataValues[$i] = $dataValuesX; + } + $seriesPlot = new ContourPlot($dataValues); + + $this->graph->Add($seriesPlot); + } + + + private function renderPlotStock($groupID) + { + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $plotOrder = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotOrder(); + + $dataValues = array(); + // Loop through each data series in turn and build the plot arrays + foreach ($plotOrder as $i => $v) { + $dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($v)->getDataValues(); + foreach ($dataValuesX as $j => $dataValueX) { + $dataValues[$plotOrder[$i]][$j] = $dataValueX; + } + } + if (empty($dataValues)) { + return; + } + + $dataValuesPlot = array(); // Flatten the plot arrays to a single dimensional array to work with jpgraph - for($j = 0; $j < count($dataValues[0]); $j++) { - for($i = 0; $i < $seriesCount; $i++) { - $dataValuesPlot[] = $dataValues[$i][$j]; - } - } + for ($j = 0; $j < count($dataValues[0]); ++$j) { + for ($i = 0; $i < $seriesCount; ++$i) { + $dataValuesPlot[] = $dataValues[$i][$j]; + } + } // Set the x-axis labels - $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); - if ($labelCount > 0) { - $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); - $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); - $this->_graph->xaxis->SetTickLabels($datasetLabels); - } + $labelCount = count($this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount); + $this->graph->xaxis->SetTickLabels($datasetLabels); + } - $seriesPlot = new StockPlot($dataValuesPlot); - $seriesPlot->SetWidth(20); + $seriesPlot = new StockPlot($dataValuesPlot); + $seriesPlot->SetWidth(20); - $this->_graph->Add($seriesPlot); - } // function _renderPlotStock() + $this->graph->Add($seriesPlot); + } - private function _renderAreaChart($groupCount, $dimensions = '2d') { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + private function renderAreaChart($groupCount, $dimensions = '2d') + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); - $this->_renderCartesianPlotArea(); + $this->renderCartesianPlotArea(); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotLine($i,True,False,$dimensions); - } - } // function _renderAreaChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotLine($i, true, false, $dimensions); + } + } - private function _renderLineChart($groupCount, $dimensions = '2d') { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + private function renderLineChart($groupCount, $dimensions = '2d') + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); - $this->_renderCartesianPlotArea(); + $this->renderCartesianPlotArea(); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotLine($i,False,False,$dimensions); - } - } // function _renderLineChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotLine($i, false, false, $dimensions); + } + } - private function _renderBarChart($groupCount, $dimensions = '2d') { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); + private function renderBarChart($groupCount, $dimensions = '2d') + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); - $this->_renderCartesianPlotArea(); + $this->renderCartesianPlotArea(); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotBar($i,$dimensions); - } - } // function _renderBarChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotBar($i, $dimensions); + } + } - private function _renderScatterChart($groupCount) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + private function renderScatterChart($groupCount) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); - $this->_renderCartesianPlotArea('linlin'); + $this->renderCartesianPlotArea('linlin'); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotScatter($i,false); - } - } // function _renderScatterChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotScatter($i, false); + } + } - private function _renderBubbleChart($groupCount) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + private function renderBubbleChart($groupCount) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); - $this->_renderCartesianPlotArea('linlin'); + $this->renderCartesianPlotArea('linlin'); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotScatter($i,true); - } - } // function _renderBubbleChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotScatter($i, true); + } + } - private function _renderPieChart($groupCount, $dimensions = '2d', $doughnut = False, $multiplePlots = False) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie.php'); - if ($dimensions == '3d') { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie3d.php'); - } + private function renderPieChart($groupCount, $dimensions = '2d', $doughnut = false, $multiplePlots = false) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie.php'); + if ($dimensions == '3d') { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_pie3d.php'); + } - $this->_renderPiePlotArea($doughnut); + $this->renderPiePlotArea($doughnut); - $iLimit = ($multiplePlots) ? $groupCount : 1; - for($groupID = 0; $groupID < $iLimit; ++$groupID) { - $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); - $exploded = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); - if ($groupID == 0) { - $labelCount = count($this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); - if ($labelCount > 0) { - $datasetLabels = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); - $datasetLabels = $this->_formatDataSetLabels($groupID, $datasetLabels, $labelCount); - } - } + $iLimit = ($multiplePlots) ? $groupCount : 1; + for ($groupID = 0; $groupID < $iLimit; ++$groupID) { + $grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); + $exploded = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); + if ($groupID == 0) { + $labelCount = count($this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount()); + if ($labelCount > 0) { + $datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues(); + $datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount); + } + } - $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); - $seriesPlots = array(); - // For pie charts, we only display the first series: doughnut charts generally display all series - $jLimit = ($multiplePlots) ? $seriesCount : 1; - // Loop through each data series in turn - for($j = 0; $j < $jLimit; ++$j) { - $dataValues = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); + $seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); + $seriesPlots = array(); + // For pie charts, we only display the first series: doughnut charts generally display all series + $jLimit = ($multiplePlots) ? $seriesCount : 1; + // Loop through each data series in turn + for ($j = 0; $j < $jLimit; ++$j) { + $dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues(); - // Fill in any missing values in the $dataValues array - $testCurrentIndex = 0; - foreach($dataValues as $k => $dataValue) { - while($k != $testCurrentIndex) { - $dataValues[$testCurrentIndex] = null; - ++$testCurrentIndex; - } - ++$testCurrentIndex; - } + // Fill in any missing values in the $dataValues array + $testCurrentIndex = 0; + foreach ($dataValues as $k => $dataValue) { + while ($k != $testCurrentIndex) { + $dataValues[$testCurrentIndex] = null; + ++$testCurrentIndex; + } + ++$testCurrentIndex; + } - if ($dimensions == '3d') { - $seriesPlot = new PiePlot3D($dataValues); - } else { - if ($doughnut) { - $seriesPlot = new PiePlotC($dataValues); - } else { - $seriesPlot = new PiePlot($dataValues); - } - } + if ($dimensions == '3d') { + $seriesPlot = new PiePlot3D($dataValues); + } else { + if ($doughnut) { + $seriesPlot = new PiePlotC($dataValues); + } else { + $seriesPlot = new PiePlot($dataValues); + } + } - if ($multiplePlots) { - $seriesPlot->SetSize(($jLimit-$j) / ($jLimit * 4)); - } + if ($multiplePlots) { + $seriesPlot->SetSize(($jLimit-$j) / ($jLimit * 4)); + } - if ($doughnut) { - $seriesPlot->SetMidColor('white'); - } + if ($doughnut) { + $seriesPlot->SetMidColor('white'); + } - $seriesPlot->SetColor(self::$_colourSet[self::$_plotColour++]); - if (count($datasetLabels) > 0) - $seriesPlot->SetLabels(array_fill(0,count($datasetLabels),'')); - if ($dimensions != '3d') { - $seriesPlot->SetGuideLines(false); - } - if ($j == 0) { - if ($exploded) { - $seriesPlot->ExplodeAll(); - } - $seriesPlot->SetLegends($datasetLabels); - } + $seriesPlot->SetColor(self::$colourSet[self::$plotColour++]); + if (count($datasetLabels) > 0) { + $seriesPlot->SetLabels(array_fill(0, count($datasetLabels), '')); + } + if ($dimensions != '3d') { + $seriesPlot->SetGuideLines(false); + } + if ($j == 0) { + if ($exploded) { + $seriesPlot->ExplodeAll(); + } + $seriesPlot->SetLegends($datasetLabels); + } - $this->_graph->Add($seriesPlot); - } - } - } // function _renderPieChart() + $this->graph->Add($seriesPlot); + } + } + } - private function _renderRadarChart($groupCount) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_radar.php'); + private function renderRadarChart($groupCount) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_radar.php'); - $this->_renderRadarPlotArea(); + $this->renderRadarPlotArea(); - for($groupID = 0; $groupID < $groupCount; ++$groupID) { - $this->_renderPlotRadar($groupID); - } - } // function _renderRadarChart() + for ($groupID = 0; $groupID < $groupCount; ++$groupID) { + $this->renderPlotRadar($groupID); + } + } - private function _renderStockChart($groupCount) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_stock.php'); + private function renderStockChart($groupCount) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_stock.php'); - $this->_renderCartesianPlotArea('intint'); + $this->renderCartesianPlotArea('intint'); - for($groupID = 0; $groupID < $groupCount; ++$groupID) { - $this->_renderPlotStock($groupID); - } - } // function _renderStockChart() + for ($groupID = 0; $groupID < $groupCount; ++$groupID) { + $this->renderPlotStock($groupID); + } + } - private function _renderContourChart($groupCount,$dimensions) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_contour.php'); + private function renderContourChart($groupCount, $dimensions) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_contour.php'); - $this->_renderCartesianPlotArea('intint'); + $this->renderCartesianPlotArea('intint'); - for($i = 0; $i < $groupCount; ++$i) { - $this->_renderPlotContour($i); - } - } // function _renderContourChart() + for ($i = 0; $i < $groupCount; ++$i) { + $this->renderPlotContour($i); + } + } - private function _renderCombinationChart($groupCount,$dimensions,$outputDestination) { - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); - require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + private function renderCombinationChart($groupCount, $dimensions, $outputDestination) + { + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_bar.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_scatter.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_regstat.php'); + require_once(PHPExcel_Settings::getChartRendererPath().'jpgraph_line.php'); - $this->_renderCartesianPlotArea(); + $this->renderCartesianPlotArea(); - for($i = 0; $i < $groupCount; ++$i) { - $dimensions = null; - $chartType = $this->_chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); - switch ($chartType) { - case 'area3DChart' : - $dimensions = '3d'; - case 'areaChart' : - $this->_renderPlotLine($i,True,True,$dimensions); - break; - case 'bar3DChart' : - $dimensions = '3d'; - case 'barChart' : - $this->_renderPlotBar($i,$dimensions); - break; - case 'line3DChart' : - $dimensions = '3d'; - case 'lineChart' : - $this->_renderPlotLine($i,False,True,$dimensions); - break; - case 'scatterChart' : - $this->_renderPlotScatter($i,false); - break; - case 'bubbleChart' : - $this->_renderPlotScatter($i,true); - break; - default : - $this->_graph = null; - return false; - } - } + for ($i = 0; $i < $groupCount; ++$i) { + $dimensions = null; + $chartType = $this->chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + switch ($chartType) { + case 'area3DChart': + $dimensions = '3d'; + // no break + case 'areaChart': + $this->renderPlotLine($i, true, true, $dimensions); + break; + case 'bar3DChart': + $dimensions = '3d'; + // no break + case 'barChart': + $this->renderPlotBar($i, $dimensions); + break; + case 'line3DChart': + $dimensions = '3d'; + // no break + case 'lineChart': + $this->renderPlotLine($i, false, true, $dimensions); + break; + case 'scatterChart': + $this->renderPlotScatter($i, false); + break; + case 'bubbleChart': + $this->renderPlotScatter($i, true); + break; + default: + $this->graph = null; + return false; + } + } - $this->_renderLegend(); + $this->renderLegend(); - $this->_graph->Stroke($outputDestination); - return true; - } // function _renderCombinationChart() + $this->graph->Stroke($outputDestination); + return true; + } - public function render($outputDestination) { - self::$_plotColour = 0; + public function render($outputDestination) + { + self::$plotColour = 0; - $groupCount = $this->_chart->getPlotArea()->getPlotGroupCount(); + $groupCount = $this->chart->getPlotArea()->getPlotGroupCount(); - $dimensions = null; - if ($groupCount == 1) { - $chartType = $this->_chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); - } else { - $chartTypes = array(); - for($i = 0; $i < $groupCount; ++$i) { - $chartTypes[] = $this->_chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); - } - $chartTypes = array_unique($chartTypes); - if (count($chartTypes) == 1) { - $chartType = array_pop($chartTypes); - } elseif (count($chartTypes) == 0) { - echo 'Chart is not yet implemented
'; - return false; - } else { - return $this->_renderCombinationChart($groupCount,$dimensions,$outputDestination); - } - } + $dimensions = null; + if ($groupCount == 1) { + $chartType = $this->chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType(); + } else { + $chartTypes = array(); + for ($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $this->chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType(); + } + $chartTypes = array_unique($chartTypes); + if (count($chartTypes) == 1) { + $chartType = array_pop($chartTypes); + } elseif (count($chartTypes) == 0) { + echo 'Chart is not yet implemented
'; + return false; + } else { + return $this->renderCombinationChart($groupCount, $dimensions, $outputDestination); + } + } - switch ($chartType) { - case 'area3DChart' : - $dimensions = '3d'; - case 'areaChart' : - $this->_renderAreaChart($groupCount,$dimensions); - break; - case 'bar3DChart' : - $dimensions = '3d'; - case 'barChart' : - $this->_renderBarChart($groupCount,$dimensions); - break; - case 'line3DChart' : - $dimensions = '3d'; - case 'lineChart' : - $this->_renderLineChart($groupCount,$dimensions); - break; - case 'pie3DChart' : - $dimensions = '3d'; - case 'pieChart' : - $this->_renderPieChart($groupCount,$dimensions,False,False); - break; - case 'doughnut3DChart' : - $dimensions = '3d'; - case 'doughnutChart' : - $this->_renderPieChart($groupCount,$dimensions,True,True); - break; - case 'scatterChart' : - $this->_renderScatterChart($groupCount); - break; - case 'bubbleChart' : - $this->_renderBubbleChart($groupCount); - break; - case 'radarChart' : - $this->_renderRadarChart($groupCount); - break; - case 'surface3DChart' : - $dimensions = '3d'; - case 'surfaceChart' : - $this->_renderContourChart($groupCount,$dimensions); - break; - case 'stockChart' : - $this->_renderStockChart($groupCount,$dimensions); - break; - default : - echo $chartType.' is not yet implemented
'; - return false; - } - $this->_renderLegend(); + switch ($chartType) { + case 'area3DChart': + $dimensions = '3d'; + // no break + case 'areaChart': + $this->renderAreaChart($groupCount, $dimensions); + break; + case 'bar3DChart': + $dimensions = '3d'; + // no break + case 'barChart': + $this->renderBarChart($groupCount, $dimensions); + break; + case 'line3DChart': + $dimensions = '3d'; + // no break + case 'lineChart': + $this->renderLineChart($groupCount, $dimensions); + break; + case 'pie3DChart': + $dimensions = '3d'; + // no break + case 'pieChart': + $this->renderPieChart($groupCount, $dimensions, false, false); + break; + case 'doughnut3DChart': + $dimensions = '3d'; + // no break + case 'doughnutChart': + $this->renderPieChart($groupCount, $dimensions, true, true); + break; + case 'scatterChart': + $this->renderScatterChart($groupCount); + break; + case 'bubbleChart': + $this->renderBubbleChart($groupCount); + break; + case 'radarChart': + $this->renderRadarChart($groupCount); + break; + case 'surface3DChart': + $dimensions = '3d'; + // no break + case 'surfaceChart': + $this->renderContourChart($groupCount, $dimensions); + break; + case 'stockChart': + $this->renderStockChart($groupCount, $dimensions); + break; + default: + echo $chartType.' is not yet implemented
'; + return false; + } + $this->renderLegend(); - $this->_graph->Stroke($outputDestination); - return true; - } // function render() + $this->graph->Stroke($outputDestination); + return true; + } - /** - * Create a new PHPExcel_Chart_Renderer_jpgraph - */ - public function __construct(PHPExcel_Chart $chart) - { - $this->_graph = null; - $this->_chart = $chart; - } // function __construct() - -} // PHPExcel_Chart_Renderer_jpgraph + /** + * Create a new PHPExcel_Chart_Renderer_jpgraph + */ + public function __construct(PHPExcel_Chart $chart) + { + $this->graph = null; + $this->chart = $chart; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php index 5d226c4b2..d8dc14f2b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Chart/Title.php @@ -1,8 +1,9 @@ _caption = $caption; - $this->_layout = $layout; - } + /** + * Create a new PHPExcel_Chart_Title + */ + public function __construct($caption = null, PHPExcel_Chart_Layout $layout = null) + { + $this->caption = $caption; + $this->layout = $layout; + } - /** - * Get caption - * - * @return string - */ - public function getCaption() { - return $this->_caption; - } + /** + * Get caption + * + * @return string + */ + public function getCaption() + { + return $this->caption; + } - /** - * Set caption - * - * @param string $caption + /** + * Set caption + * + * @param string $caption * @return PHPExcel_Chart_Title - */ - public function setCaption($caption = null) { - $this->_caption = $caption; + */ + public function setCaption($caption = null) + { + $this->caption = $caption; return $this; - } - - /** - * Get Layout - * - * @return PHPExcel_Chart_Layout - */ - public function getLayout() { - return $this->_layout; - } + } + /** + * Get Layout + * + * @return PHPExcel_Chart_Layout + */ + public function getLayout() + { + return $this->layout; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php index 8b8cfdcc4..d55363fd5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Comment.php @@ -1,8 +1,9 @@ _author = 'Author'; - $this->_text = new PHPExcel_RichText(); - $this->_fillColor = new PHPExcel_Style_Color('FFFFFFE1'); - $this->_alignment = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + $this->author = 'Author'; + $this->text = new PHPExcel_RichText(); + $this->fillColor = new PHPExcel_Style_Color('FFFFFFE1'); + $this->alignment = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; } /** @@ -117,8 +109,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getAuthor() { - return $this->_author; + public function getAuthor() + { + return $this->author; } /** @@ -127,8 +120,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $pValue * @return PHPExcel_Comment */ - public function setAuthor($pValue = '') { - $this->_author = $pValue; + public function setAuthor($pValue = '') + { + $this->author = $pValue; return $this; } @@ -137,8 +131,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return PHPExcel_RichText */ - public function getText() { - return $this->_text; + public function getText() + { + return $this->text; } /** @@ -147,8 +142,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param PHPExcel_RichText $pValue * @return PHPExcel_Comment */ - public function setText(PHPExcel_RichText $pValue) { - $this->_text = $pValue; + public function setText(PHPExcel_RichText $pValue) + { + $this->text = $pValue; return $this; } @@ -157,8 +153,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getWidth() { - return $this->_width; + public function getWidth() + { + return $this->width; } /** @@ -167,8 +164,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $value * @return PHPExcel_Comment */ - public function setWidth($value = '96pt') { - $this->_width = $value; + public function setWidth($value = '96pt') + { + $this->width = $value; return $this; } @@ -177,8 +175,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getHeight() { - return $this->_height; + public function getHeight() + { + return $this->height; } /** @@ -187,8 +186,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $value * @return PHPExcel_Comment */ - public function setHeight($value = '55.5pt') { - $this->_height = $value; + public function setHeight($value = '55.5pt') + { + $this->height = $value; return $this; } @@ -197,8 +197,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getMarginLeft() { - return $this->_marginLeft; + public function getMarginLeft() + { + return $this->marginLeft; } /** @@ -207,8 +208,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $value * @return PHPExcel_Comment */ - public function setMarginLeft($value = '59.25pt') { - $this->_marginLeft = $value; + public function setMarginLeft($value = '59.25pt') + { + $this->marginLeft = $value; return $this; } @@ -217,8 +219,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getMarginTop() { - return $this->_marginTop; + public function getMarginTop() + { + return $this->marginTop; } /** @@ -227,8 +230,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $value * @return PHPExcel_Comment */ - public function setMarginTop($value = '1.5pt') { - $this->_marginTop = $value; + public function setMarginTop($value = '1.5pt') + { + $this->marginTop = $value; return $this; } @@ -237,8 +241,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return boolean */ - public function getVisible() { - return $this->_visible; + public function getVisible() + { + return $this->visible; } /** @@ -247,8 +252,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param boolean $value * @return PHPExcel_Comment */ - public function setVisible($value = false) { - $this->_visible = $value; + public function setVisible($value = false) + { + $this->visible = $value; return $this; } @@ -257,8 +263,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return PHPExcel_Style_Color */ - public function getFillColor() { - return $this->_fillColor; + public function getFillColor() + { + return $this->fillColor; } /** @@ -267,8 +274,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * @param string $pValue * @return PHPExcel_Comment */ - public function setAlignment($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) { - $this->_alignment = $pValue; + public function setAlignment($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) + { + $this->alignment = $pValue; return $this; } @@ -277,8 +285,9 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function getAlignment() { - return $this->_alignment; + public function getAlignment() + { + return $this->alignment; } /** @@ -286,25 +295,27 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string Hash code */ - public function getHashCode() { + public function getHashCode() + { return md5( - $this->_author - . $this->_text->getHashCode() - . $this->_width - . $this->_height - . $this->_marginLeft - . $this->_marginTop - . ($this->_visible ? 1 : 0) - . $this->_fillColor->getHashCode() - . $this->_alignment - . __CLASS__ + $this->author . + $this->text->getHashCode() . + $this->width . + $this->height . + $this->marginLeft . + $this->marginTop . + ($this->visible ? 1 : 0) . + $this->fillColor->getHashCode() . + $this->alignment . + __CLASS__ ); } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ - public function __clone() { + public function __clone() + { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { @@ -320,8 +331,8 @@ class PHPExcel_Comment implements PHPExcel_IComparable * * @return string */ - public function __toString() { - return $this->_text->getPlainText(); + public function __toString() + { + return $this->text->getPlainText(); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php index 7b4a0e435..2395ba987 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentProperties.php @@ -1,8 +1,9 @@ _lastModifiedBy = $this->_creator; - $this->_created = time(); - $this->_modified = time(); + $this->lastModifiedBy = $this->creator; + $this->created = time(); + $this->modified = time(); } /** @@ -144,8 +136,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getCreator() { - return $this->_creator; + public function getCreator() + { + return $this->creator; } /** @@ -154,8 +147,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setCreator($pValue = '') { - $this->_creator = $pValue; + public function setCreator($pValue = '') + { + $this->creator = $pValue; return $this; } @@ -164,8 +158,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getLastModifiedBy() { - return $this->_lastModifiedBy; + public function getLastModifiedBy() + { + return $this->lastModifiedBy; } /** @@ -174,8 +169,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setLastModifiedBy($pValue = '') { - $this->_lastModifiedBy = $pValue; + public function setLastModifiedBy($pValue = '') + { + $this->lastModifiedBy = $pValue; return $this; } @@ -184,8 +180,9 @@ class PHPExcel_DocumentProperties * * @return datetime */ - public function getCreated() { - return $this->_created; + public function getCreated() + { + return $this->created; } /** @@ -194,8 +191,9 @@ class PHPExcel_DocumentProperties * @param datetime $pValue * @return PHPExcel_DocumentProperties */ - public function setCreated($pValue = null) { - if ($pValue === NULL) { + public function setCreated($pValue = null) + { + if ($pValue === null) { $pValue = time(); } elseif (is_string($pValue)) { if (is_numeric($pValue)) { @@ -205,7 +203,7 @@ class PHPExcel_DocumentProperties } } - $this->_created = $pValue; + $this->created = $pValue; return $this; } @@ -214,8 +212,9 @@ class PHPExcel_DocumentProperties * * @return datetime */ - public function getModified() { - return $this->_modified; + public function getModified() + { + return $this->modified; } /** @@ -224,8 +223,9 @@ class PHPExcel_DocumentProperties * @param datetime $pValue * @return PHPExcel_DocumentProperties */ - public function setModified($pValue = null) { - if ($pValue === NULL) { + public function setModified($pValue = null) + { + if ($pValue === null) { $pValue = time(); } elseif (is_string($pValue)) { if (is_numeric($pValue)) { @@ -235,7 +235,7 @@ class PHPExcel_DocumentProperties } } - $this->_modified = $pValue; + $this->modified = $pValue; return $this; } @@ -244,8 +244,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getTitle() { - return $this->_title; + public function getTitle() + { + return $this->title; } /** @@ -254,8 +255,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setTitle($pValue = '') { - $this->_title = $pValue; + public function setTitle($pValue = '') + { + $this->title = $pValue; return $this; } @@ -264,8 +266,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getDescription() { - return $this->_description; + public function getDescription() + { + return $this->description; } /** @@ -274,8 +277,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setDescription($pValue = '') { - $this->_description = $pValue; + public function setDescription($pValue = '') + { + $this->description = $pValue; return $this; } @@ -284,8 +288,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getSubject() { - return $this->_subject; + public function getSubject() + { + return $this->subject; } /** @@ -294,8 +299,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setSubject($pValue = '') { - $this->_subject = $pValue; + public function setSubject($pValue = '') + { + $this->subject = $pValue; return $this; } @@ -304,8 +310,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getKeywords() { - return $this->_keywords; + public function getKeywords() + { + return $this->keywords; } /** @@ -314,8 +321,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setKeywords($pValue = '') { - $this->_keywords = $pValue; + public function setKeywords($pValue = '') + { + $this->keywords = $pValue; return $this; } @@ -324,8 +332,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getCategory() { - return $this->_category; + public function getCategory() + { + return $this->category; } /** @@ -334,8 +343,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setCategory($pValue = '') { - $this->_category = $pValue; + public function setCategory($pValue = '') + { + $this->category = $pValue; return $this; } @@ -344,8 +354,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getCompany() { - return $this->_company; + public function getCompany() + { + return $this->company; } /** @@ -354,8 +365,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setCompany($pValue = '') { - $this->_company = $pValue; + public function setCompany($pValue = '') + { + $this->company = $pValue; return $this; } @@ -364,8 +376,9 @@ class PHPExcel_DocumentProperties * * @return string */ - public function getManager() { - return $this->_manager; + public function getManager() + { + return $this->manager; } /** @@ -374,8 +387,9 @@ class PHPExcel_DocumentProperties * @param string $pValue * @return PHPExcel_DocumentProperties */ - public function setManager($pValue = '') { - $this->_manager = $pValue; + public function setManager($pValue = '') + { + $this->manager = $pValue; return $this; } @@ -384,8 +398,9 @@ class PHPExcel_DocumentProperties * * @return array of string */ - public function getCustomProperties() { - return array_keys($this->_customProperties); + public function getCustomProperties() + { + return array_keys($this->customProperties); } /** @@ -394,8 +409,9 @@ class PHPExcel_DocumentProperties * @param string $propertyName * @return boolean */ - public function isCustomPropertySet($propertyName) { - return isset($this->_customProperties[$propertyName]); + public function isCustomPropertySet($propertyName) + { + return isset($this->customProperties[$propertyName]); } /** @@ -404,9 +420,10 @@ class PHPExcel_DocumentProperties * @param string $propertyName * @return string */ - public function getCustomPropertyValue($propertyName) { - if (isset($this->_customProperties[$propertyName])) { - return $this->_customProperties[$propertyName]['value']; + public function getCustomPropertyValue($propertyName) + { + if (isset($this->customProperties[$propertyName])) { + return $this->customProperties[$propertyName]['value']; } } @@ -417,9 +434,10 @@ class PHPExcel_DocumentProperties * @param string $propertyName * @return string */ - public function getCustomPropertyType($propertyName) { - if (isset($this->_customProperties[$propertyName])) { - return $this->_customProperties[$propertyName]['type']; + public function getCustomPropertyType($propertyName) + { + if (isset($this->customProperties[$propertyName])) { + return $this->customProperties[$propertyName]['type']; } } @@ -430,24 +448,25 @@ class PHPExcel_DocumentProperties * @param string $propertyName * @param mixed $propertyValue * @param string $propertyType - * 'i' : Integer + * 'i' : Integer * 'f' : Floating Point * 's' : String * 'd' : Date/Time * 'b' : Boolean * @return PHPExcel_DocumentProperties */ - public function setCustomProperty($propertyName,$propertyValue='',$propertyType=NULL) { - if (($propertyType === NULL) || (!in_array($propertyType,array(self::PROPERTY_TYPE_INTEGER, - self::PROPERTY_TYPE_FLOAT, - self::PROPERTY_TYPE_STRING, - self::PROPERTY_TYPE_DATE, - self::PROPERTY_TYPE_BOOLEAN)))) { - if ($propertyValue === NULL) { + public function setCustomProperty($propertyName, $propertyValue = '', $propertyType = null) + { + if (($propertyType === null) || (!in_array($propertyType, array(self::PROPERTY_TYPE_INTEGER, + self::PROPERTY_TYPE_FLOAT, + self::PROPERTY_TYPE_STRING, + self::PROPERTY_TYPE_DATE, + self::PROPERTY_TYPE_BOOLEAN)))) { + if ($propertyValue === null) { $propertyType = self::PROPERTY_TYPE_STRING; } elseif (is_float($propertyValue)) { $propertyType = self::PROPERTY_TYPE_FLOAT; - } elseif(is_int($propertyValue)) { + } elseif (is_int($propertyValue)) { $propertyType = self::PROPERTY_TYPE_INTEGER; } elseif (is_bool($propertyValue)) { $propertyType = self::PROPERTY_TYPE_BOOLEAN; @@ -456,14 +475,18 @@ class PHPExcel_DocumentProperties } } - $this->_customProperties[$propertyName] = array('value' => $propertyValue, 'type' => $propertyType); + $this->customProperties[$propertyName] = array( + 'value' => $propertyValue, + 'type' => $propertyType + ); return $this; } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ - public function __clone() { + public function __clone() + { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { @@ -474,114 +497,115 @@ class PHPExcel_DocumentProperties } } - public static function convertProperty($propertyValue,$propertyType) { + public static function convertProperty($propertyValue, $propertyType) + { switch ($propertyType) { - case 'empty' : // Empty + case 'empty': // Empty return ''; break; - case 'null' : // Null - return NULL; + case 'null': // Null + return null; break; - case 'i1' : // 1-Byte Signed Integer - case 'i2' : // 2-Byte Signed Integer - case 'i4' : // 4-Byte Signed Integer - case 'i8' : // 8-Byte Signed Integer - case 'int' : // Integer + case 'i1': // 1-Byte Signed Integer + case 'i2': // 2-Byte Signed Integer + case 'i4': // 4-Byte Signed Integer + case 'i8': // 8-Byte Signed Integer + case 'int': // Integer return (int) $propertyValue; break; - case 'ui1' : // 1-Byte Unsigned Integer - case 'ui2' : // 2-Byte Unsigned Integer - case 'ui4' : // 4-Byte Unsigned Integer - case 'ui8' : // 8-Byte Unsigned Integer - case 'uint' : // Unsigned Integer + case 'ui1': // 1-Byte Unsigned Integer + case 'ui2': // 2-Byte Unsigned Integer + case 'ui4': // 4-Byte Unsigned Integer + case 'ui8': // 8-Byte Unsigned Integer + case 'uint': // Unsigned Integer return abs((int) $propertyValue); break; - case 'r4' : // 4-Byte Real Number - case 'r8' : // 8-Byte Real Number - case 'decimal' : // Decimal + case 'r4': // 4-Byte Real Number + case 'r8': // 8-Byte Real Number + case 'decimal': // Decimal return (float) $propertyValue; break; - case 'lpstr' : // LPSTR - case 'lpwstr' : // LPWSTR - case 'bstr' : // Basic String + case 'lpstr': // LPSTR + case 'lpwstr': // LPWSTR + case 'bstr': // Basic String return $propertyValue; break; - case 'date' : // Date and Time - case 'filetime' : // File Time + case 'date': // Date and Time + case 'filetime': // File Time return strtotime($propertyValue); break; - case 'bool' : // Boolean - return ($propertyValue == 'true') ? True : False; + case 'bool': // Boolean + return ($propertyValue == 'true') ? true : false; break; - case 'cy' : // Currency - case 'error' : // Error Status Code - case 'vector' : // Vector - case 'array' : // Array - case 'blob' : // Binary Blob - case 'oblob' : // Binary Blob Object - case 'stream' : // Binary Stream - case 'ostream' : // Binary Stream Object - case 'storage' : // Binary Storage - case 'ostorage' : // Binary Storage Object - case 'vstream' : // Binary Versioned Stream - case 'clsid' : // Class ID - case 'cf' : // Clipboard Data + case 'cy': // Currency + case 'error': // Error Status Code + case 'vector': // Vector + case 'array': // Array + case 'blob': // Binary Blob + case 'oblob': // Binary Blob Object + case 'stream': // Binary Stream + case 'ostream': // Binary Stream Object + case 'storage': // Binary Storage + case 'ostorage': // Binary Storage Object + case 'vstream': // Binary Versioned Stream + case 'clsid': // Class ID + case 'cf': // Clipboard Data return $propertyValue; break; } return $propertyValue; } - public static function convertPropertyType($propertyType) { + public static function convertPropertyType($propertyType) + { switch ($propertyType) { - case 'i1' : // 1-Byte Signed Integer - case 'i2' : // 2-Byte Signed Integer - case 'i4' : // 4-Byte Signed Integer - case 'i8' : // 8-Byte Signed Integer - case 'int' : // Integer - case 'ui1' : // 1-Byte Unsigned Integer - case 'ui2' : // 2-Byte Unsigned Integer - case 'ui4' : // 4-Byte Unsigned Integer - case 'ui8' : // 8-Byte Unsigned Integer - case 'uint' : // Unsigned Integer + case 'i1': // 1-Byte Signed Integer + case 'i2': // 2-Byte Signed Integer + case 'i4': // 4-Byte Signed Integer + case 'i8': // 8-Byte Signed Integer + case 'int': // Integer + case 'ui1': // 1-Byte Unsigned Integer + case 'ui2': // 2-Byte Unsigned Integer + case 'ui4': // 4-Byte Unsigned Integer + case 'ui8': // 8-Byte Unsigned Integer + case 'uint': // Unsigned Integer return self::PROPERTY_TYPE_INTEGER; break; - case 'r4' : // 4-Byte Real Number - case 'r8' : // 8-Byte Real Number - case 'decimal' : // Decimal + case 'r4': // 4-Byte Real Number + case 'r8': // 8-Byte Real Number + case 'decimal': // Decimal return self::PROPERTY_TYPE_FLOAT; break; - case 'empty' : // Empty - case 'null' : // Null - case 'lpstr' : // LPSTR - case 'lpwstr' : // LPWSTR - case 'bstr' : // Basic String + case 'empty': // Empty + case 'null': // Null + case 'lpstr': // LPSTR + case 'lpwstr': // LPWSTR + case 'bstr': // Basic String return self::PROPERTY_TYPE_STRING; break; - case 'date' : // Date and Time - case 'filetime' : // File Time + case 'date': // Date and Time + case 'filetime': // File Time return self::PROPERTY_TYPE_DATE; break; - case 'bool' : // Boolean + case 'bool': // Boolean return self::PROPERTY_TYPE_BOOLEAN; break; - case 'cy' : // Currency - case 'error' : // Error Status Code - case 'vector' : // Vector - case 'array' : // Array - case 'blob' : // Binary Blob - case 'oblob' : // Binary Blob Object - case 'stream' : // Binary Stream - case 'ostream' : // Binary Stream Object - case 'storage' : // Binary Storage - case 'ostorage' : // Binary Storage Object - case 'vstream' : // Binary Versioned Stream - case 'clsid' : // Class ID - case 'cf' : // Clipboard Data + case 'cy': // Currency + case 'error': // Error Status Code + case 'vector': // Vector + case 'array': // Array + case 'blob': // Binary Blob + case 'oblob': // Binary Blob Object + case 'stream': // Binary Stream + case 'ostream': // Binary Stream Object + case 'storage': // Binary Storage + case 'ostorage': // Binary Storage Object + case 'vstream': // Binary Versioned Stream + case 'clsid': // Class ID + case 'cf': // Clipboard Data return self::PROPERTY_TYPE_UNKNOWN; break; } return self::PROPERTY_TYPE_UNKNOWN; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php index cf7ffb57c..ecea0da1f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/DocumentSecurity.php @@ -1,8 +1,9 @@ _lockRevision = false; - $this->_lockStructure = false; - $this->_lockWindows = false; - $this->_revisionsPassword = ''; - $this->_workbookPassword = ''; + // Initialise values + $this->lockRevision = false; + $this->lockStructure = false; + $this->lockWindows = false; + $this->revisionsPassword = ''; + $this->workbookPassword = ''; } /** - * Is some sort of dcument security enabled? + * Is some sort of document security enabled? * * @return boolean */ - function isSecurityEnabled() { - return $this->_lockRevision || - $this->_lockStructure || - $this->_lockWindows; + public function isSecurityEnabled() + { + return $this->lockRevision || + $this->lockStructure || + $this->lockWindows; } /** @@ -99,8 +92,9 @@ class PHPExcel_DocumentSecurity * * @return boolean */ - function getLockRevision() { - return $this->_lockRevision; + public function getLockRevision() + { + return $this->lockRevision; } /** @@ -109,9 +103,10 @@ class PHPExcel_DocumentSecurity * @param boolean $pValue * @return PHPExcel_DocumentSecurity */ - function setLockRevision($pValue = false) { - $this->_lockRevision = $pValue; - return $this; + public function setLockRevision($pValue = false) + { + $this->lockRevision = $pValue; + return $this; } /** @@ -119,8 +114,9 @@ class PHPExcel_DocumentSecurity * * @return boolean */ - function getLockStructure() { - return $this->_lockStructure; + public function getLockStructure() + { + return $this->lockStructure; } /** @@ -129,9 +125,10 @@ class PHPExcel_DocumentSecurity * @param boolean $pValue * @return PHPExcel_DocumentSecurity */ - function setLockStructure($pValue = false) { - $this->_lockStructure = $pValue; - return $this; + public function setLockStructure($pValue = false) + { + $this->lockStructure = $pValue; + return $this; } /** @@ -139,8 +136,9 @@ class PHPExcel_DocumentSecurity * * @return boolean */ - function getLockWindows() { - return $this->_lockWindows; + public function getLockWindows() + { + return $this->lockWindows; } /** @@ -149,9 +147,10 @@ class PHPExcel_DocumentSecurity * @param boolean $pValue * @return PHPExcel_DocumentSecurity */ - function setLockWindows($pValue = false) { - $this->_lockWindows = $pValue; - return $this; + public function setLockWindows($pValue = false) + { + $this->lockWindows = $pValue; + return $this; } /** @@ -159,23 +158,25 @@ class PHPExcel_DocumentSecurity * * @return string */ - function getRevisionsPassword() { - return $this->_revisionsPassword; + public function getRevisionsPassword() + { + return $this->revisionsPassword; } /** * Set RevisionsPassword * - * @param string $pValue - * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true * @return PHPExcel_DocumentSecurity */ - function setRevisionsPassword($pValue = '', $pAlreadyHashed = false) { - if (!$pAlreadyHashed) { - $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); - } - $this->_revisionsPassword = $pValue; - return $this; + public function setRevisionsPassword($pValue = '', $pAlreadyHashed = false) + { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->revisionsPassword = $pValue; + return $this; } /** @@ -183,36 +184,39 @@ class PHPExcel_DocumentSecurity * * @return string */ - function getWorkbookPassword() { - return $this->_workbookPassword; + public function getWorkbookPassword() + { + return $this->workbookPassword; } /** * Set WorkbookPassword * - * @param string $pValue - * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true * @return PHPExcel_DocumentSecurity */ - function setWorkbookPassword($pValue = '', $pAlreadyHashed = false) { - if (!$pAlreadyHashed) { - $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); - } - $this->_workbookPassword = $pValue; - return $this; + public function setWorkbookPassword($pValue = '', $pAlreadyHashed = false) + { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->workbookPassword = $pValue; + return $this; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php index 578b9eeee..b27750ea2 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Exception.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,9 +31,10 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ -class PHPExcel_Exception extends Exception { +class PHPExcel_Exception extends Exception +{ /** * Error handler callback * @@ -43,7 +44,8 @@ class PHPExcel_Exception extends Exception { * @param mixed $line * @param mixed $context */ - public static function errorHandlerCallback($code, $string, $file, $line, $context) { + public static function errorHandlerCallback($code, $string, $file, $line, $context) + { $e = new self($string, $code); $e->line = $line; $e->file = $file; diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php index 77106e1e0..c21d18c3a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/HashTable.php @@ -1,8 +1,9 @@ addFromSource($pSource); - } - } + /** + * Create a new PHPExcel_HashTable + * + * @param PHPExcel_IComparable[] $pSource Optional source array to create HashTable from + * @throws PHPExcel_Exception + */ + public function __construct($pSource = null) + { + if ($pSource !== null) { + // Create HashTable + $this->addFromSource($pSource); + } + } - /** - * Add HashTable items from source - * - * @param PHPExcel_IComparable[] $pSource Source array to create HashTable from - * @throws PHPExcel_Exception - */ - public function addFromSource($pSource = null) { - // Check if an array was passed - if ($pSource == null) { - return; - } else if (!is_array($pSource)) { - throw new PHPExcel_Exception('Invalid array parameter passed.'); - } + /** + * Add HashTable items from source + * + * @param PHPExcel_IComparable[] $pSource Source array to create HashTable from + * @throws PHPExcel_Exception + */ + public function addFromSource($pSource = null) + { + // Check if an array was passed + if ($pSource == null) { + return; + } elseif (!is_array($pSource)) { + throw new PHPExcel_Exception('Invalid array parameter passed.'); + } - foreach ($pSource as $item) { - $this->add($item); - } - } + foreach ($pSource as $item) { + $this->add($item); + } + } - /** - * Add HashTable item - * - * @param PHPExcel_IComparable $pSource Item to add - * @throws PHPExcel_Exception - */ - public function add(PHPExcel_IComparable $pSource = null) { - $hash = $pSource->getHashCode(); - if (!isset($this->_items[$hash])) { - $this->_items[$hash] = $pSource; - $this->_keyMap[count($this->_items) - 1] = $hash; - } - } + /** + * Add HashTable item + * + * @param PHPExcel_IComparable $pSource Item to add + * @throws PHPExcel_Exception + */ + public function add(PHPExcel_IComparable $pSource = null) + { + $hash = $pSource->getHashCode(); + if (!isset($this->items[$hash])) { + $this->items[$hash] = $pSource; + $this->keyMap[count($this->items) - 1] = $hash; + } + } - /** - * Remove HashTable item - * - * @param PHPExcel_IComparable $pSource Item to remove - * @throws PHPExcel_Exception - */ - public function remove(PHPExcel_IComparable $pSource = null) { - $hash = $pSource->getHashCode(); - if (isset($this->_items[$hash])) { - unset($this->_items[$hash]); + /** + * Remove HashTable item + * + * @param PHPExcel_IComparable $pSource Item to remove + * @throws PHPExcel_Exception + */ + public function remove(PHPExcel_IComparable $pSource = null) + { + $hash = $pSource->getHashCode(); + if (isset($this->items[$hash])) { + unset($this->items[$hash]); - $deleteKey = -1; - foreach ($this->_keyMap as $key => $value) { - if ($deleteKey >= 0) { - $this->_keyMap[$key - 1] = $value; - } + $deleteKey = -1; + foreach ($this->keyMap as $key => $value) { + if ($deleteKey >= 0) { + $this->keyMap[$key - 1] = $value; + } - if ($value == $hash) { - $deleteKey = $key; - } - } - unset($this->_keyMap[count($this->_keyMap) - 1]); - } - } + if ($value == $hash) { + $deleteKey = $key; + } + } + unset($this->keyMap[count($this->keyMap) - 1]); + } + } - /** - * Clear HashTable - * - */ - public function clear() { - $this->_items = array(); - $this->_keyMap = array(); - } + /** + * Clear HashTable + * + */ + public function clear() + { + $this->items = array(); + $this->keyMap = array(); + } - /** - * Count - * - * @return int - */ - public function count() { - return count($this->_items); - } + /** + * Count + * + * @return int + */ + public function count() + { + return count($this->items); + } - /** - * Get index for hash code - * - * @param string $pHashCode - * @return int Index - */ - public function getIndexForHashCode($pHashCode = '') { - return array_search($pHashCode, $this->_keyMap); - } + /** + * Get index for hash code + * + * @param string $pHashCode + * @return int Index + */ + public function getIndexForHashCode($pHashCode = '') + { + return array_search($pHashCode, $this->keyMap); + } - /** - * Get by index - * - * @param int $pIndex - * @return PHPExcel_IComparable - * - */ - public function getByIndex($pIndex = 0) { - if (isset($this->_keyMap[$pIndex])) { - return $this->getByHashCode( $this->_keyMap[$pIndex] ); - } + /** + * Get by index + * + * @param int $pIndex + * @return PHPExcel_IComparable + * + */ + public function getByIndex($pIndex = 0) + { + if (isset($this->keyMap[$pIndex])) { + return $this->getByHashCode($this->keyMap[$pIndex]); + } - return null; - } + return null; + } - /** - * Get by hashcode - * - * @param string $pHashCode - * @return PHPExcel_IComparable - * - */ - public function getByHashCode($pHashCode = '') { - if (isset($this->_items[$pHashCode])) { - return $this->_items[$pHashCode]; - } + /** + * Get by hashcode + * + * @param string $pHashCode + * @return PHPExcel_IComparable + * + */ + public function getByHashCode($pHashCode = '') + { + if (isset($this->items[$pHashCode])) { + return $this->items[$pHashCode]; + } - return null; - } + return null; + } - /** - * HashTable to array - * - * @return PHPExcel_IComparable[] - */ - public function toArray() { - return $this->_items; - } + /** + * HashTable to array + * + * @return PHPExcel_IComparable[] + */ + public function toArray() + { + return $this->items; + } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php index 9e30ae8a7..a78f11c1f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Helper/HTML.php @@ -3,7 +3,7 @@ class PHPExcel_Helper_HTML { protected static $colourMap = array( - 'aliceblue' => 'f0f8ff', + 'aliceblue' => 'f0f8ff', 'antiquewhite' => 'faebd7', 'antiquewhite1' => 'ffefdb', 'antiquewhite2' => 'eedfcc', @@ -526,12 +526,12 @@ class PHPExcel_Helper_HTML protected $size; protected $color; - protected $bold = false; - protected $italic = false; - protected $underline = false; - protected $superscript = false; - protected $subscript = false; - protected $strikethrough = false; + protected $bold = false; + protected $italic = false; + protected $underline = false; + protected $superscript = false; + protected $subscript = false; + protected $strikethrough = false; protected $startTagCallbacks = array( 'font' => 'startFontTag', @@ -573,7 +573,8 @@ class PHPExcel_Helper_HTML protected $richTextObject; - protected function initialise() { + protected function initialise() + { $this->face = $this->size = $this->color = null; $this->bold = $this->italic = $this->underline = $this->superscript = $this->subscript = $this->strikethrough = false; @@ -582,27 +583,48 @@ class PHPExcel_Helper_HTML $this->stringData = ''; } - public function toRichTextObject($html) { + public function toRichTextObject($html) + { $this->initialise(); - // Create a new DOM object - $dom = new domDocument; - // Load the HTML file into the DOM object + // Create a new DOM object + $dom = new \DOMDocument; + // Load the HTML file into the DOM object // Note the use of error suppression, because typically this will be an html fragment, so not fully valid markup $loaded = @$dom->loadHTML($html); - // Discard excess white space + // Discard excess white space $dom->preserveWhiteSpace = false; $this->richTextObject = new PHPExcel_RichText();; $this->parseElements($dom); + + // Clean any further spurious whitespace + $this->cleanWhitespace(); + return $this->richTextObject; } - protected function buildTextRun() { + protected function cleanWhitespace() + { + foreach ($this->richTextObject->getRichTextElements() as $key => $element) { + $text = $element->getText(); + // Trim any leading spaces on the first run + if ($key == 0) { + $text = ltrim($text); + } + // Trim any spaces immediately after a line break + $text = preg_replace('/\n */mu', "\n", $text); + $element->setText($text); + } + } + + protected function buildTextRun() + { $text = $this->stringData; - if (trim($text) === '') + if (trim($text) === '') { return; + } $richtextRun = $this->richTextObject->createTextRun($this->stringData); if ($this->face) { @@ -612,7 +634,7 @@ class PHPExcel_Helper_HTML $richtextRun->getFont()->setSize($this->size); } if ($this->color) { - $richtextRun->getFont()->setColor( new PHPExcel_Style_Color( 'ff' . $this->color ) ); + $richtextRun->getFont()->setColor(new PHPExcel_Style_Color('ff' . $this->color)); } if ($this->bold) { $richtextRun->getFont()->setBold(true); @@ -635,19 +657,22 @@ class PHPExcel_Helper_HTML $this->stringData = ''; } - protected function rgbToColour($rgb) { + protected function rgbToColour($rgb) + { preg_match_all('/\d+/', $rgb, $values); - foreach($values[0] as &$value) { + foreach ($values[0] as &$value) { $value = str_pad(dechex($value), 2, '0', STR_PAD_LEFT); } return implode($values[0]); } - protected function colourNameLookup($rgb) { + protected function colourNameLookup($rgb) + { return self::$colourMap[$rgb]; } - protected function startFontTag($tag) { + protected function startFontTag($tag) + { foreach ($tag->attributes as $attribute) { $attributeName = strtolower($attribute->name); $attributeValue = $attribute->value; @@ -655,7 +680,7 @@ class PHPExcel_Helper_HTML if ($attributeName == 'color') { if (preg_match('/rgb\s*\(/', $attributeValue)) { $this->$attributeName = $this->rgbToColour($attributeValue); - } elseif(strpos(trim($attributeValue), '#') === 0) { + } elseif (strpos(trim($attributeValue), '#') === 0) { $this->$attributeName = ltrim($attributeValue, '#'); } else { $this->$attributeName = $this->colourNameLookup($attributeValue); @@ -666,69 +691,89 @@ class PHPExcel_Helper_HTML } } - protected function endFontTag() { + protected function endFontTag() + { $this->face = $this->size = $this->color = null; } - protected function startBoldTag() { + protected function startBoldTag() + { $this->bold = true; } - protected function endBoldTag() { + protected function endBoldTag() + { $this->bold = false; } - protected function startItalicTag() { + protected function startItalicTag() + { $this->italic = true; } - protected function endItalicTag() { + protected function endItalicTag() + { $this->italic = false; } - protected function startUnderlineTag() { + protected function startUnderlineTag() + { $this->underline = true; } - protected function endUnderlineTag() { + protected function endUnderlineTag() + { $this->underline = false; } - protected function startSubscriptTag() { + protected function startSubscriptTag() + { $this->subscript = true; } - protected function endSubscriptTag() { + protected function endSubscriptTag() + { $this->subscript = false; } - protected function startSuperscriptTag() { + protected function startSuperscriptTag() + { $this->superscript = true; } - protected function endSuperscriptTag() { + protected function endSuperscriptTag() + { $this->superscript = false; } - protected function startStrikethruTag() { + protected function startStrikethruTag() + { $this->strikethrough = true; } - protected function endStrikethruTag() { + protected function endStrikethruTag() + { $this->strikethrough = false; } - protected function breakTag() { - $this->stringData .= PHP_EOL; + protected function breakTag() + { + $this->stringData .= "\n"; } - protected function parseTextNode(DOMText $textNode) { - $domText = preg_replace('/\s+/u', ' ', ltrim($textNode->nodeValue)); + protected function parseTextNode(DOMText $textNode) + { + $domText = preg_replace( + '/\s+/u', + ' ', + str_replace(array("\r", "\n"), ' ', $textNode->nodeValue) + ); $this->stringData .= $domText; $this->buildTextRun(); } - protected function handleCallback($element, $callbackTag, $callbacks) { + protected function handleCallback($element, $callbackTag, $callbacks) + { if (isset($callbacks[$callbackTag])) { $elementHandler = $callbacks[$callbackTag]; if (method_exists($this, $elementHandler)) { @@ -737,20 +782,21 @@ class PHPExcel_Helper_HTML } } - protected function parseElementNode(DOMElement $element) { + protected function parseElementNode(DOMElement $element) + { $callbackTag = strtolower($element->nodeName); $this->stack[] = $callbackTag; $this->handleCallback($element, $callbackTag, $this->startTagCallbacks); $this->parseElements($element); - $this->stringData .= ' '; array_pop($this->stack); $this->handleCallback($element, $callbackTag, $this->endTagCallbacks); } - protected function parseElements(DOMNode $element) { + protected function parseElements(DOMNode $element) + { foreach ($element->childNodes as $child) { if ($child instanceof DOMText) { $this->parseTextNode($child); diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php index adb9a016d..6dc36a948 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/IComparable.php @@ -1,6 +1,7 @@ 'IWriter', 'path' => 'PHPExcel/Writer/{0}.php', 'class' => 'PHPExcel_Writer_{0}' ), - array( 'type' => 'IReader', 'path' => 'PHPExcel/Reader/{0}.php', 'class' => 'PHPExcel_Reader_{0}' ) - ); - - /** - * Autoresolve classes - * - * @var array - * @access private - * @static - */ - private static $_autoResolveClasses = array( - 'Excel2007', - 'Excel5', - 'Excel2003XML', - 'OOCalc', - 'SYLK', - 'Gnumeric', - 'HTML', - 'CSV', - ); + /** + * Search locations + * + * @var array + * @access private + * @static + */ + private static $searchLocations = array( + array( 'type' => 'IWriter', 'path' => 'PHPExcel/Writer/{0}.php', 'class' => 'PHPExcel_Writer_{0}' ), + array( 'type' => 'IReader', 'path' => 'PHPExcel/Reader/{0}.php', 'class' => 'PHPExcel_Reader_{0}' ) + ); /** - * Private constructor for PHPExcel_IOFactory + * Autoresolve classes + * + * @var array + * @access private + * @static */ - private function __construct() { } + private static $autoResolveClasses = array( + 'Excel2007', + 'Excel5', + 'Excel2003XML', + 'OOCalc', + 'SYLK', + 'Gnumeric', + 'HTML', + 'CSV', + ); + + /** + * Private constructor for PHPExcel_IOFactory + */ + private function __construct() + { + } /** * Get search locations * - * @static - * @access public - * @return array + * @static + * @access public + * @return array */ - public static function getSearchLocations() { - return self::$_searchLocations; - } // function getSearchLocations() + public static function getSearchLocations() + { + return self::$searchLocations; + } - /** - * Set search locations - * - * @static - * @access public - * @param array $value - * @throws PHPExcel_Reader_Exception - */ - public static function setSearchLocations($value) { - if (is_array($value)) { - self::$_searchLocations = $value; - } else { - throw new PHPExcel_Reader_Exception('Invalid parameter passed.'); - } - } // function setSearchLocations() + /** + * Set search locations + * + * @static + * @access public + * @param array $value + * @throws PHPExcel_Reader_Exception + */ + public static function setSearchLocations($value) + { + if (is_array($value)) { + self::$searchLocations = $value; + } else { + throw new PHPExcel_Reader_Exception('Invalid parameter passed.'); + } + } - /** - * Add search location - * - * @static - * @access public - * @param string $type Example: IWriter - * @param string $location Example: PHPExcel/Writer/{0}.php - * @param string $classname Example: PHPExcel_Writer_{0} - */ - public static function addSearchLocation($type = '', $location = '', $classname = '') { - self::$_searchLocations[] = array( 'type' => $type, 'path' => $location, 'class' => $classname ); - } // function addSearchLocation() + /** + * Add search location + * + * @static + * @access public + * @param string $type Example: IWriter + * @param string $location Example: PHPExcel/Writer/{0}.php + * @param string $classname Example: PHPExcel_Writer_{0} + */ + public static function addSearchLocation($type = '', $location = '', $classname = '') + { + self::$searchLocations[] = array( 'type' => $type, 'path' => $location, 'class' => $classname ); + } - /** - * Create PHPExcel_Writer_IWriter - * - * @static - * @access public - * @param PHPExcel $phpExcel - * @param string $writerType Example: Excel2007 - * @return PHPExcel_Writer_IWriter - * @throws PHPExcel_Reader_Exception - */ - public static function createWriter(PHPExcel $phpExcel, $writerType = '') { - // Search type - $searchType = 'IWriter'; + /** + * Create PHPExcel_Writer_IWriter + * + * @static + * @access public + * @param PHPExcel $phpExcel + * @param string $writerType Example: Excel2007 + * @return PHPExcel_Writer_IWriter + * @throws PHPExcel_Reader_Exception + */ + public static function createWriter(PHPExcel $phpExcel, $writerType = '') + { + // Search type + $searchType = 'IWriter'; - // Include class - foreach (self::$_searchLocations as $searchLocation) { - if ($searchLocation['type'] == $searchType) { - $className = str_replace('{0}', $writerType, $searchLocation['class']); + // Include class + foreach (self::$searchLocations as $searchLocation) { + if ($searchLocation['type'] == $searchType) { + $className = str_replace('{0}', $writerType, $searchLocation['class']); - $instance = new $className($phpExcel); - if ($instance !== NULL) { - return $instance; - } - } - } + $instance = new $className($phpExcel); + if ($instance !== null) { + return $instance; + } + } + } - // Nothing found... - throw new PHPExcel_Reader_Exception("No $searchType found for type $writerType"); - } // function createWriter() + // Nothing found... + throw new PHPExcel_Reader_Exception("No $searchType found for type $writerType"); + } - /** - * Create PHPExcel_Reader_IReader - * - * @static - * @access public - * @param string $readerType Example: Excel2007 - * @return PHPExcel_Reader_IReader - * @throws PHPExcel_Reader_Exception - */ - public static function createReader($readerType = '') { - // Search type - $searchType = 'IReader'; + /** + * Create PHPExcel_Reader_IReader + * + * @static + * @access public + * @param string $readerType Example: Excel2007 + * @return PHPExcel_Reader_IReader + * @throws PHPExcel_Reader_Exception + */ + public static function createReader($readerType = '') + { + // Search type + $searchType = 'IReader'; - // Include class - foreach (self::$_searchLocations as $searchLocation) { - if ($searchLocation['type'] == $searchType) { - $className = str_replace('{0}', $readerType, $searchLocation['class']); + // Include class + foreach (self::$searchLocations as $searchLocation) { + if ($searchLocation['type'] == $searchType) { + $className = str_replace('{0}', $readerType, $searchLocation['class']); - $instance = new $className(); - if ($instance !== NULL) { - return $instance; - } - } - } + $instance = new $className(); + if ($instance !== null) { + return $instance; + } + } + } - // Nothing found... - throw new PHPExcel_Reader_Exception("No $searchType found for type $readerType"); - } // function createReader() + // Nothing found... + throw new PHPExcel_Reader_Exception("No $searchType found for type $readerType"); + } - /** - * Loads PHPExcel from file using automatic PHPExcel_Reader_IReader resolution - * - * @static - * @access public - * @param string $pFilename The name of the spreadsheet file - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public static function load($pFilename) { - $reader = self::createReaderForFile($pFilename); - return $reader->load($pFilename); - } // function load() + /** + * Loads PHPExcel from file using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public static function load($pFilename) + { + $reader = self::createReaderForFile($pFilename); + return $reader->load($pFilename); + } - /** - * Identify file type using automatic PHPExcel_Reader_IReader resolution - * - * @static - * @access public - * @param string $pFilename The name of the spreadsheet file to identify - * @return string - * @throws PHPExcel_Reader_Exception - */ - public static function identify($pFilename) { - $reader = self::createReaderForFile($pFilename); - $className = get_class($reader); - $classType = explode('_',$className); - unset($reader); - return array_pop($classType); - } // function identify() + /** + * Identify file type using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file to identify + * @return string + * @throws PHPExcel_Reader_Exception + */ + public static function identify($pFilename) + { + $reader = self::createReaderForFile($pFilename); + $className = get_class($reader); + $classType = explode('_', $className); + unset($reader); + return array_pop($classType); + } - /** - * Create PHPExcel_Reader_IReader for file using automatic PHPExcel_Reader_IReader resolution - * - * @static - * @access public - * @param string $pFilename The name of the spreadsheet file - * @return PHPExcel_Reader_IReader - * @throws PHPExcel_Reader_Exception - */ - public static function createReaderForFile($pFilename) { + /** + * Create PHPExcel_Reader_IReader for file using automatic PHPExcel_Reader_IReader resolution + * + * @static + * @access public + * @param string $pFilename The name of the spreadsheet file + * @return PHPExcel_Reader_IReader + * @throws PHPExcel_Reader_Exception + */ + public static function createReaderForFile($pFilename) + { + // First, lucky guess by inspecting file extension + $pathinfo = pathinfo($pFilename); - // First, lucky guess by inspecting file extension - $pathinfo = pathinfo($pFilename); + $extensionType = null; + if (isset($pathinfo['extension'])) { + switch (strtolower($pathinfo['extension'])) { + case 'xlsx': // Excel (OfficeOpenXML) Spreadsheet + case 'xlsm': // Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded) + case 'xltx': // Excel (OfficeOpenXML) Template + case 'xltm': // Excel (OfficeOpenXML) Macro Template (macros will be discarded) + $extensionType = 'Excel2007'; + break; + case 'xls': // Excel (BIFF) Spreadsheet + case 'xlt': // Excel (BIFF) Template + $extensionType = 'Excel5'; + break; + case 'ods': // Open/Libre Offic Calc + case 'ots': // Open/Libre Offic Calc Template + $extensionType = 'OOCalc'; + break; + case 'slk': + $extensionType = 'SYLK'; + break; + case 'xml': // Excel 2003 SpreadSheetML + $extensionType = 'Excel2003XML'; + break; + case 'gnumeric': + $extensionType = 'Gnumeric'; + break; + case 'htm': + case 'html': + $extensionType = 'HTML'; + break; + case 'csv': + // Do nothing + // We must not try to use CSV reader since it loads + // all files including Excel files etc. + break; + default: + break; + } - $extensionType = NULL; - if (isset($pathinfo['extension'])) { - switch (strtolower($pathinfo['extension'])) { - case 'xlsx': // Excel (OfficeOpenXML) Spreadsheet - case 'xlsm': // Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded) - case 'xltx': // Excel (OfficeOpenXML) Template - case 'xltm': // Excel (OfficeOpenXML) Macro Template (macros will be discarded) - $extensionType = 'Excel2007'; - break; - case 'xls': // Excel (BIFF) Spreadsheet - case 'xlt': // Excel (BIFF) Template - $extensionType = 'Excel5'; - break; - case 'ods': // Open/Libre Offic Calc - case 'ots': // Open/Libre Offic Calc Template - $extensionType = 'OOCalc'; - break; - case 'slk': - $extensionType = 'SYLK'; - break; - case 'xml': // Excel 2003 SpreadSheetML - $extensionType = 'Excel2003XML'; - break; - case 'gnumeric': - $extensionType = 'Gnumeric'; - break; - case 'htm': - case 'html': - $extensionType = 'HTML'; - break; - case 'csv': - // Do nothing - // We must not try to use CSV reader since it loads - // all files including Excel files etc. - break; - default: - break; - } + if ($extensionType !== null) { + $reader = self::createReader($extensionType); + // Let's see if we are lucky + if (isset($reader) && $reader->canRead($pFilename)) { + return $reader; + } + } + } - if ($extensionType !== NULL) { - $reader = self::createReader($extensionType); - // Let's see if we are lucky - if (isset($reader) && $reader->canRead($pFilename)) { - return $reader; - } - } - } + // If we reach here then "lucky guess" didn't give any result + // Try walking through all the options in self::$autoResolveClasses + foreach (self::$autoResolveClasses as $autoResolveClass) { + // Ignore our original guess, we know that won't work + if ($autoResolveClass !== $extensionType) { + $reader = self::createReader($autoResolveClass); + if ($reader->canRead($pFilename)) { + return $reader; + } + } + } - // If we reach here then "lucky guess" didn't give any result - // Try walking through all the options in self::$_autoResolveClasses - foreach (self::$_autoResolveClasses as $autoResolveClass) { - // Ignore our original guess, we know that won't work - if ($autoResolveClass !== $extensionType) { - $reader = self::createReader($autoResolveClass); - if ($reader->canRead($pFilename)) { - return $reader; - } - } - } - - throw new PHPExcel_Reader_Exception('Unable to identify a reader for this file'); - } // function createReaderForFile() + throw new PHPExcel_Reader_Exception('Unable to identify a reader for this file'); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php index fe245e3ee..2848db838 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/NamedRange.php @@ -1,8 +1,9 @@ _worksheet) - * - * @var bool - */ - private $_localOnly; + /** + * Is the named range local? (i.e. can only be used on $this->worksheet) + * + * @var bool + */ + private $localOnly; - /** - * Scope - * - * @var PHPExcel_Worksheet - */ - private $_scope; + /** + * Scope + * + * @var PHPExcel_Worksheet + */ + private $scope; /** * Create a new NamedRange @@ -77,23 +69,22 @@ class PHPExcel_NamedRange * @param PHPExcel_Worksheet $pWorksheet * @param string $pRange * @param bool $pLocalOnly - * @param PHPExcel_Worksheet|null $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope. + * @param PHPExcel_Worksheet|null $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope. * @throws PHPExcel_Exception */ public function __construct($pName = null, PHPExcel_Worksheet $pWorksheet, $pRange = 'A1', $pLocalOnly = false, $pScope = null) { - // Validate data - if (($pName === NULL) || ($pWorksheet === NULL) || ($pRange === NULL)) { - throw new PHPExcel_Exception('Parameters can not be null.'); - } + // Validate data + if (($pName === null) || ($pWorksheet === null) || ($pRange === null)) { + throw new PHPExcel_Exception('Parameters can not be null.'); + } - // Set local members - $this->_name = $pName; - $this->_worksheet = $pWorksheet; - $this->_range = $pRange; - $this->_localOnly = $pLocalOnly; - $this->_scope = ($pLocalOnly == true) ? - (($pScope == null) ? $pWorksheet : $pScope) : null; + // Set local members + $this->name = $pName; + $this->worksheet = $pWorksheet; + $this->range = $pRange; + $this->localOnly = $pLocalOnly; + $this->scope = ($pLocalOnly == true) ? (($pScope == null) ? $pWorksheet : $pScope) : null; } /** @@ -101,8 +92,9 @@ class PHPExcel_NamedRange * * @return string */ - public function getName() { - return $this->_name; + public function getName() + { + return $this->name; } /** @@ -111,26 +103,27 @@ class PHPExcel_NamedRange * @param string $value * @return PHPExcel_NamedRange */ - public function setName($value = null) { - if ($value !== NULL) { - // Old title - $oldTitle = $this->_name; + public function setName($value = null) + { + if ($value !== null) { + // Old title + $oldTitle = $this->name; - // Re-attach - if ($this->_worksheet !== NULL) { - $this->_worksheet->getParent()->removeNamedRange($this->_name,$this->_worksheet); - } - $this->_name = $value; + // Re-attach + if ($this->worksheet !== null) { + $this->worksheet->getParent()->removeNamedRange($this->name, $this->worksheet); + } + $this->name = $value; - if ($this->_worksheet !== NULL) { - $this->_worksheet->getParent()->addNamedRange($this); - } + if ($this->worksheet !== null) { + $this->worksheet->getParent()->addNamedRange($this); + } - // New title - $newTitle = $this->_name; - PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->_worksheet->getParent(), $oldTitle, $newTitle); - } - return $this; + // New title + $newTitle = $this->name; + PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->worksheet->getParent(), $oldTitle, $newTitle); + } + return $this; } /** @@ -138,8 +131,9 @@ class PHPExcel_NamedRange * * @return PHPExcel_Worksheet */ - public function getWorksheet() { - return $this->_worksheet; + public function getWorksheet() + { + return $this->worksheet; } /** @@ -148,11 +142,12 @@ class PHPExcel_NamedRange * @param PHPExcel_Worksheet $value * @return PHPExcel_NamedRange */ - public function setWorksheet(PHPExcel_Worksheet $value = null) { - if ($value !== NULL) { - $this->_worksheet = $value; - } - return $this; + public function setWorksheet(PHPExcel_Worksheet $value = null) + { + if ($value !== null) { + $this->worksheet = $value; + } + return $this; } /** @@ -160,8 +155,9 @@ class PHPExcel_NamedRange * * @return string */ - public function getRange() { - return $this->_range; + public function getRange() + { + return $this->range; } /** @@ -170,11 +166,12 @@ class PHPExcel_NamedRange * @param string $value * @return PHPExcel_NamedRange */ - public function setRange($value = null) { - if ($value !== NULL) { - $this->_range = $value; - } - return $this; + public function setRange($value = null) + { + if ($value !== null) { + $this->range = $value; + } + return $this; } /** @@ -182,8 +179,9 @@ class PHPExcel_NamedRange * * @return bool */ - public function getLocalOnly() { - return $this->_localOnly; + public function getLocalOnly() + { + return $this->localOnly; } /** @@ -192,10 +190,11 @@ class PHPExcel_NamedRange * @param bool $value * @return PHPExcel_NamedRange */ - public function setLocalOnly($value = false) { - $this->_localOnly = $value; - $this->_scope = $value ? $this->_worksheet : null; - return $this; + public function setLocalOnly($value = false) + { + $this->localOnly = $value; + $this->scope = $value ? $this->worksheet : null; + return $this; } /** @@ -203,8 +202,9 @@ class PHPExcel_NamedRange * * @return PHPExcel_Worksheet|null */ - public function getScope() { - return $this->_scope; + public function getScope() + { + return $this->scope; } /** @@ -213,10 +213,11 @@ class PHPExcel_NamedRange * @param PHPExcel_Worksheet|null $value * @return PHPExcel_NamedRange */ - public function setScope(PHPExcel_Worksheet $value = null) { - $this->_scope = $value; - $this->_localOnly = ($value == null) ? false : true; - return $this; + public function setScope(PHPExcel_Worksheet $value = null) + { + $this->scope = $value; + $this->localOnly = ($value == null) ? false : true; + return $this; } /** @@ -226,21 +227,23 @@ class PHPExcel_NamedRange * @param PHPExcel_Worksheet|null $pSheet Scope. Use null for global scope * @return PHPExcel_NamedRange */ - public static function resolveRange($pNamedRange = '', PHPExcel_Worksheet $pSheet) { - return $pSheet->getParent()->getNamedRange($pNamedRange, $pSheet); + public static function resolveRange($pNamedRange = '', PHPExcel_Worksheet $pSheet) + { + return $pSheet->getParent()->getNamedRange($pNamedRange, $pSheet); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php index 2d3c964b6..deeb75a21 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Abstract.php @@ -1,8 +1,9 @@ _readDataOnly; - } + /** + * Read data only? + * If this is true, then the Reader will only read data values for cells, it will not read any formatting information. + * If false (the default) it will read data and formatting. + * + * @return boolean + */ + public function getReadDataOnly() + { + return $this->readDataOnly; + } - /** - * Set read data only - * Set to true, to advise the Reader only to read data values for cells, and to ignore any formatting information. - * Set to false (the default) to advise the Reader to read both data and formatting for cells. - * - * @param boolean $pValue - * - * @return PHPExcel_Reader_IReader - */ - public function setReadDataOnly($pValue = FALSE) { - $this->_readDataOnly = $pValue; - return $this; - } + /** + * Set read data only + * Set to true, to advise the Reader only to read data values for cells, and to ignore any formatting information. + * Set to false (the default) to advise the Reader to read both data and formatting for cells. + * + * @param boolean $pValue + * + * @return PHPExcel_Reader_IReader + */ + public function setReadDataOnly($pValue = false) + { + $this->readDataOnly = $pValue; + return $this; + } - /** - * Read charts in workbook? - * If this is true, then the Reader will include any charts that exist in the workbook. - * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. - * If false (the default) it will ignore any charts defined in the workbook file. - * - * @return boolean - */ - public function getIncludeCharts() { - return $this->_includeCharts; - } + /** + * Read empty cells? + * If this is true (the default), then the Reader will read data values for all cells, irrespective of value. + * If false it will not read data for cells containing a null value or an empty string. + * + * @return boolean + */ + public function getReadEmptyCells() + { + return $this->readEmptyCells; + } - /** - * Set read charts in workbook - * Set to true, to advise the Reader to include any charts that exist in the workbook. - * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. - * Set to false (the default) to discard charts. - * - * @param boolean $pValue - * - * @return PHPExcel_Reader_IReader - */ - public function setIncludeCharts($pValue = FALSE) { - $this->_includeCharts = (boolean) $pValue; - return $this; - } + /** + * Set read empty cells + * Set to true (the default) to advise the Reader read data values for all cells, irrespective of value. + * Set to false to advise the Reader to ignore cells containing a null value or an empty string. + * + * @param boolean $pValue + * + * @return PHPExcel_Reader_IReader + */ + public function setReadEmptyCells($pValue = true) + { + $this->readEmptyCells = $pValue; + return $this; + } - /** - * Get which sheets to load - * Returns either an array of worksheet names (the list of worksheets that should be loaded), or a null - * indicating that all worksheets in the workbook should be loaded. - * - * @return mixed - */ - public function getLoadSheetsOnly() - { - return $this->_loadSheetsOnly; - } + /** + * Read charts in workbook? + * If this is true, then the Reader will include any charts that exist in the workbook. + * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. + * If false (the default) it will ignore any charts defined in the workbook file. + * + * @return boolean + */ + public function getIncludeCharts() + { + return $this->includeCharts; + } - /** - * Set which sheets to load - * - * @param mixed $value - * This should be either an array of worksheet names to be loaded, or a string containing a single worksheet name. - * If NULL, then it tells the Reader to read all worksheets in the workbook - * - * @return PHPExcel_Reader_IReader - */ - public function setLoadSheetsOnly($value = NULL) - { - if ($value === NULL) + /** + * Set read charts in workbook + * Set to true, to advise the Reader to include any charts that exist in the workbook. + * Note that a ReadDataOnly value of false overrides, and charts won't be read regardless of the IncludeCharts value. + * Set to false (the default) to discard charts. + * + * @param boolean $pValue + * + * @return PHPExcel_Reader_IReader + */ + public function setIncludeCharts($pValue = false) + { + $this->includeCharts = (boolean) $pValue; + return $this; + } + + /** + * Get which sheets to load + * Returns either an array of worksheet names (the list of worksheets that should be loaded), or a null + * indicating that all worksheets in the workbook should be loaded. + * + * @return mixed + */ + public function getLoadSheetsOnly() + { + return $this->loadSheetsOnly; + } + + /** + * Set which sheets to load + * + * @param mixed $value + * This should be either an array of worksheet names to be loaded, or a string containing a single worksheet name. + * If NULL, then it tells the Reader to read all worksheets in the workbook + * + * @return PHPExcel_Reader_IReader + */ + public function setLoadSheetsOnly($value = null) + { + if ($value === null) { return $this->setLoadAllSheets(); + } - $this->_loadSheetsOnly = is_array($value) ? - $value : array($value); - return $this; - } + $this->loadSheetsOnly = is_array($value) ? $value : array($value); + return $this; + } - /** - * Set all sheets to load - * Tells the Reader to load all worksheets from the workbook. - * - * @return PHPExcel_Reader_IReader - */ - public function setLoadAllSheets() - { - $this->_loadSheetsOnly = NULL; - return $this; - } + /** + * Set all sheets to load + * Tells the Reader to load all worksheets from the workbook. + * + * @return PHPExcel_Reader_IReader + */ + public function setLoadAllSheets() + { + $this->loadSheetsOnly = null; + return $this; + } - /** - * Read filter - * - * @return PHPExcel_Reader_IReadFilter - */ - public function getReadFilter() { - return $this->_readFilter; - } + /** + * Read filter + * + * @return PHPExcel_Reader_IReadFilter + */ + public function getReadFilter() + { + return $this->readFilter; + } - /** - * Set read filter - * - * @param PHPExcel_Reader_IReadFilter $pValue - * @return PHPExcel_Reader_IReader - */ - public function setReadFilter(PHPExcel_Reader_IReadFilter $pValue) { - $this->_readFilter = $pValue; - return $this; - } + /** + * Set read filter + * + * @param PHPExcel_Reader_IReadFilter $pValue + * @return PHPExcel_Reader_IReader + */ + public function setReadFilter(PHPExcel_Reader_IReadFilter $pValue) + { + $this->readFilter = $pValue; + return $this; + } - /** - * Open file for reading - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - * @return resource - */ - protected function _openFile($pFilename) - { - // Check if file exists - if (!file_exists($pFilename) || !is_readable($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Open file for reading + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + * @return resource + */ + protected function openFile($pFilename) + { + // Check if file exists + if (!file_exists($pFilename) || !is_readable($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - // Open file - $this->_fileHandle = fopen($pFilename, 'r'); - if ($this->_fileHandle === FALSE) { - throw new PHPExcel_Reader_Exception("Could not open file " . $pFilename . " for reading."); - } - } + // Open file + $this->fileHandle = fopen($pFilename, 'r'); + if ($this->fileHandle === false) { + throw new PHPExcel_Reader_Exception("Could not open file " . $pFilename . " for reading."); + } + } - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - // Check if file exists - try { - $this->_openFile($pFilename); - } catch (Exception $e) { - return FALSE; - } + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + try { + $this->openFile($pFilename); + } catch (Exception $e) { + return false; + } - $readable = $this->_isValidFormat(); - fclose ($this->_fileHandle); - return $readable; - } + $readable = $this->isValidFormat(); + fclose($this->fileHandle); + return $readable; + } + + /** + * Scan theXML for use of securityScan(file_get_contents($filestream)); } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php index 22176fdc9..21329dad6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/CSV.php @@ -1,8 +1,18 @@ _readFilter = new PHPExcel_Reader_DefaultReadFilter(); - } + /** + * Create a new PHPExcel_Reader_CSV + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } - /** - * Validate that the current file is a CSV file - * - * @return boolean - */ - protected function _isValidFormat() - { - return TRUE; - } + /** + * Validate that the current file is a CSV file + * + * @return boolean + */ + protected function isValidFormat() + { + return true; + } - /** - * Set input encoding - * - * @param string $pValue Input encoding - */ - public function setInputEncoding($pValue = 'UTF-8') - { - $this->_inputEncoding = $pValue; - return $this; - } + /** + * Set input encoding + * + * @param string $pValue Input encoding + */ + public function setInputEncoding($pValue = 'UTF-8') + { + $this->inputEncoding = $pValue; + return $this; + } - /** - * Get input encoding - * - * @return string - */ - public function getInputEncoding() - { - return $this->_inputEncoding; - } + /** + * Get input encoding + * + * @return string + */ + public function getInputEncoding() + { + return $this->inputEncoding; + } - /** - * Move filepointer past any BOM marker - * - */ - protected function _skipBOM() - { - rewind($this->_fileHandle); + /** + * Move filepointer past any BOM marker + * + */ + protected function skipBOM() + { + rewind($this->fileHandle); - switch ($this->_inputEncoding) { - case 'UTF-8': - fgets($this->_fileHandle, 4) == "\xEF\xBB\xBF" ? - fseek($this->_fileHandle, 3) : fseek($this->_fileHandle, 0); - break; - case 'UTF-16LE': - fgets($this->_fileHandle, 3) == "\xFF\xFE" ? - fseek($this->_fileHandle, 2) : fseek($this->_fileHandle, 0); - break; - case 'UTF-16BE': - fgets($this->_fileHandle, 3) == "\xFE\xFF" ? - fseek($this->_fileHandle, 2) : fseek($this->_fileHandle, 0); - break; - case 'UTF-32LE': - fgets($this->_fileHandle, 5) == "\xFF\xFE\x00\x00" ? - fseek($this->_fileHandle, 4) : fseek($this->_fileHandle, 0); - break; - case 'UTF-32BE': - fgets($this->_fileHandle, 5) == "\x00\x00\xFE\xFF" ? - fseek($this->_fileHandle, 4) : fseek($this->_fileHandle, 0); - break; - default: - break; - } - } + switch ($this->inputEncoding) { + case 'UTF-8': + fgets($this->fileHandle, 4) == "\xEF\xBB\xBF" ? + fseek($this->fileHandle, 3) : fseek($this->fileHandle, 0); + break; + case 'UTF-16LE': + fgets($this->fileHandle, 3) == "\xFF\xFE" ? + fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0); + break; + case 'UTF-16BE': + fgets($this->fileHandle, 3) == "\xFE\xFF" ? + fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0); + break; + case 'UTF-32LE': + fgets($this->fileHandle, 5) == "\xFF\xFE\x00\x00" ? + fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0); + break; + case 'UTF-32BE': + fgets($this->fileHandle, 5) == "\x00\x00\xFE\xFF" ? + fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0); + break; + default: + break; + } + } - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Open file - $this->_openFile($pFilename); - if (!$this->_isValidFormat()) { - fclose ($this->_fileHandle); - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } - $fileHandle = $this->_fileHandle; + /** + * Identify any separator that is explicitly set in the file + * + */ + protected function checkSeparator() + { + $line = fgets($this->fileHandle); + if ($line === false) { + return; + } - // Skip BOM, if any - $this->_skipBOM(); + if ((strlen(trim($line, "\r\n")) == 5) && (stripos($line, 'sep=') === 0)) { + $this->delimiter = substr($line, 4, 1); + return; + } + return $this->skipBOM(); + } - $escapeEnclosures = array( "\\" . $this->_enclosure, $this->_enclosure . $this->_enclosure ); + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Open file + $this->openFile($pFilename); + if (!$this->isValidFormat()) { + fclose($this->fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->fileHandle; - $worksheetInfo = array(); - $worksheetInfo[0]['worksheetName'] = 'Worksheet'; - $worksheetInfo[0]['lastColumnLetter'] = 'A'; - $worksheetInfo[0]['lastColumnIndex'] = 0; - $worksheetInfo[0]['totalRows'] = 0; - $worksheetInfo[0]['totalColumns'] = 0; + // Skip BOM, if any + $this->skipBOM(); + $this->checkSeparator(); - // Loop through each line of the file in turn - while (($rowData = fgetcsv($fileHandle, 0, $this->_delimiter, $this->_enclosure)) !== FALSE) { - $worksheetInfo[0]['totalRows']++; - $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1); - } + $escapeEnclosures = array( "\\" . $this->enclosure, $this->enclosure . $this->enclosure ); - $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); - $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; + $worksheetInfo = array(); + $worksheetInfo[0]['worksheetName'] = 'Worksheet'; + $worksheetInfo[0]['lastColumnLetter'] = 'A'; + $worksheetInfo[0]['lastColumnIndex'] = 0; + $worksheetInfo[0]['totalRows'] = 0; + $worksheetInfo[0]['totalColumns'] = 0; - // Close file - fclose($fileHandle); + // Loop through each line of the file in turn + while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure)) !== false) { + $worksheetInfo[0]['totalRows']++; + $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1); + } - return $worksheetInfo; - } + $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); + $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; - /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Create new PHPExcel - $objPHPExcel = new PHPExcel(); + // Close file + fclose($fileHandle); - // Load into this instance - return $this->loadIntoExisting($pFilename, $objPHPExcel); - } + return $worksheetInfo; + } - /** - * Loads PHPExcel from file into PHPExcel instance - * - * @param string $pFilename - * @param PHPExcel $objPHPExcel - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) - { - $lineEnding = ini_get('auto_detect_line_endings'); - ini_set('auto_detect_line_endings', true); + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); - // Open file - $this->_openFile($pFilename); - if (!$this->_isValidFormat()) { - fclose ($this->_fileHandle); - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } - $fileHandle = $this->_fileHandle; + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } - // Skip BOM, if any - $this->_skipBOM(); + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + $lineEnding = ini_get('auto_detect_line_endings'); + ini_set('auto_detect_line_endings', true); - // Create new PHPExcel object - while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { - $objPHPExcel->createSheet(); - } - $sheet = $objPHPExcel->setActiveSheetIndex($this->_sheetIndex); + // Open file + $this->openFile($pFilename); + if (!$this->isValidFormat()) { + fclose($this->fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->fileHandle; - $escapeEnclosures = array( "\\" . $this->_enclosure, - $this->_enclosure . $this->_enclosure - ); + // Skip BOM, if any + $this->skipBOM(); + $this->checkSeparator(); - // Set our starting row based on whether we're in contiguous mode or not - $currentRow = 1; - if ($this->_contiguous) { - $currentRow = ($this->_contiguousRow == -1) ? $sheet->getHighestRow(): $this->_contiguousRow; - } + // Create new PHPExcel object + while ($objPHPExcel->getSheetCount() <= $this->sheetIndex) { + $objPHPExcel->createSheet(); + } + $sheet = $objPHPExcel->setActiveSheetIndex($this->sheetIndex); - // Loop through each line of the file in turn - while (($rowData = fgetcsv($fileHandle, 0, $this->_delimiter, $this->_enclosure)) !== FALSE) { - $columnLetter = 'A'; - foreach($rowData as $rowDatum) { - if ($rowDatum != '' && $this->_readFilter->readCell($columnLetter, $currentRow)) { - // Unescape enclosures - $rowDatum = str_replace($escapeEnclosures, $this->_enclosure, $rowDatum); + $escapeEnclosures = array( "\\" . $this->enclosure, + $this->enclosure . $this->enclosure + ); - // Convert encoding if necessary - if ($this->_inputEncoding !== 'UTF-8') { - $rowDatum = PHPExcel_Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->_inputEncoding); - } + // Set our starting row based on whether we're in contiguous mode or not + $currentRow = 1; + if ($this->contiguous) { + $currentRow = ($this->contiguousRow == -1) ? $sheet->getHighestRow(): $this->contiguousRow; + } - // Set cell value - $sheet->getCell($columnLetter . $currentRow)->setValue($rowDatum); - } - ++$columnLetter; - } - ++$currentRow; - } + // Loop through each line of the file in turn + while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure)) !== false) { + $columnLetter = 'A'; + foreach ($rowData as $rowDatum) { + if ($rowDatum != '' && $this->readFilter->readCell($columnLetter, $currentRow)) { + // Unescape enclosures + $rowDatum = str_replace($escapeEnclosures, $this->enclosure, $rowDatum); - // Close file - fclose($fileHandle); + // Convert encoding if necessary + if ($this->inputEncoding !== 'UTF-8') { + $rowDatum = PHPExcel_Shared_String::ConvertEncoding($rowDatum, 'UTF-8', $this->inputEncoding); + } - if ($this->_contiguous) { - $this->_contiguousRow = $currentRow; - } + // Set cell value + $sheet->getCell($columnLetter . $currentRow)->setValue($rowDatum); + } + ++$columnLetter; + } + ++$currentRow; + } - ini_set('auto_detect_line_endings', $lineEnding); + // Close file + fclose($fileHandle); - // Return - return $objPHPExcel; - } + if ($this->contiguous) { + $this->contiguousRow = $currentRow; + } - /** - * Get delimiter - * - * @return string - */ - public function getDelimiter() { - return $this->_delimiter; - } + ini_set('auto_detect_line_endings', $lineEnding); - /** - * Set delimiter - * - * @param string $pValue Delimiter, defaults to , - * @return PHPExcel_Reader_CSV - */ - public function setDelimiter($pValue = ',') { - $this->_delimiter = $pValue; - return $this; - } + // Return + return $objPHPExcel; + } - /** - * Get enclosure - * - * @return string - */ - public function getEnclosure() { - return $this->_enclosure; - } + /** + * Get delimiter + * + * @return string + */ + public function getDelimiter() + { + return $this->delimiter; + } - /** - * Set enclosure - * - * @param string $pValue Enclosure, defaults to " - * @return PHPExcel_Reader_CSV - */ - public function setEnclosure($pValue = '"') { - if ($pValue == '') { - $pValue = '"'; - } - $this->_enclosure = $pValue; - return $this; - } + /** + * Set delimiter + * + * @param string $pValue Delimiter, defaults to , + * @return PHPExcel_Reader_CSV + */ + public function setDelimiter($pValue = ',') + { + $this->delimiter = $pValue; + return $this; + } - /** - * Get sheet index - * - * @return integer - */ - public function getSheetIndex() { - return $this->_sheetIndex; - } + /** + * Get enclosure + * + * @return string + */ + public function getEnclosure() + { + return $this->enclosure; + } - /** - * Set sheet index - * - * @param integer $pValue Sheet index - * @return PHPExcel_Reader_CSV - */ - public function setSheetIndex($pValue = 0) { - $this->_sheetIndex = $pValue; - return $this; - } + /** + * Set enclosure + * + * @param string $pValue Enclosure, defaults to " + * @return PHPExcel_Reader_CSV + */ + public function setEnclosure($pValue = '"') + { + if ($pValue == '') { + $pValue = '"'; + } + $this->enclosure = $pValue; + return $this; + } - /** - * Set Contiguous - * - * @param boolean $contiguous - */ - public function setContiguous($contiguous = FALSE) - { - $this->_contiguous = (bool) $contiguous; - if (!$contiguous) { - $this->_contiguousRow = -1; - } + /** + * Get sheet index + * + * @return integer + */ + public function getSheetIndex() + { + return $this->sheetIndex; + } - return $this; - } + /** + * Set sheet index + * + * @param integer $pValue Sheet index + * @return PHPExcel_Reader_CSV + */ + public function setSheetIndex($pValue = 0) + { + $this->sheetIndex = $pValue; + return $this; + } - /** - * Get Contiguous - * - * @return boolean - */ - public function getContiguous() { - return $this->_contiguous; - } + /** + * Set Contiguous + * + * @param boolean $contiguous + */ + public function setContiguous($contiguous = false) + { + $this->contiguous = (bool) $contiguous; + if (!$contiguous) { + $this->contiguousRow = -1; + } + return $this; + } + + /** + * Get Contiguous + * + * @return boolean + */ + public function getContiguous() + { + return $this->contiguous; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php index dc55fc6bd..ea25f63c5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/DefaultReadFilter.php @@ -1,8 +1,18 @@ _readFilter = new PHPExcel_Reader_DefaultReadFilter(); - } - - - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - - // Office xmlns:o="urn:schemas-microsoft-com:office:office" - // Excel xmlns:x="urn:schemas-microsoft-com:office:excel" - // XML Spreadsheet xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" - // Spreadsheet component xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" - // XML schema xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" - // XML data type xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" - // MS-persist recordset xmlns:rs="urn:schemas-microsoft-com:rowset" - // Rowset xmlns:z="#RowsetSchema" - // - - $signature = array( - '' - ); - - // Open file - $this->_openFile($pFilename); - $fileHandle = $this->_fileHandle; - - // Read sample data (first 2 KB will do) - $data = fread($fileHandle, 2048); - fclose($fileHandle); - - $valid = true; - foreach($signature as $match) { - // every part of the signature must be present - if (strpos($data, $match) === false) { - $valid = false; - break; - } - } - - // Retrieve charset encoding - if(preg_match('//um',$data,$matches)) { - $this->_charSet = strtoupper($matches[1]); - } -// echo 'Character Set is ',$this->_charSet,'
'; - - return $valid; - } - - - /** - * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetNames($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - if (!$this->canRead($pFilename)) { - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } - - $worksheetNames = array(); - - $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespaces = $xml->getNamespaces(true); - - $xml_ss = $xml->children($namespaces['ss']); - foreach($xml_ss->Worksheet as $worksheet) { - $worksheet_ss = $worksheet->attributes($namespaces['ss']); - $worksheetNames[] = self::_convertStringEncoding((string) $worksheet_ss['Name'],$this->_charSet); - } - - return $worksheetNames; - } - - - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $worksheetInfo = array(); - - $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespaces = $xml->getNamespaces(true); - - $worksheetID = 1; - $xml_ss = $xml->children($namespaces['ss']); - foreach($xml_ss->Worksheet as $worksheet) { - $worksheet_ss = $worksheet->attributes($namespaces['ss']); - - $tmpInfo = array(); - $tmpInfo['worksheetName'] = ''; - $tmpInfo['lastColumnLetter'] = 'A'; - $tmpInfo['lastColumnIndex'] = 0; - $tmpInfo['totalRows'] = 0; - $tmpInfo['totalColumns'] = 0; - - if (isset($worksheet_ss['Name'])) { - $tmpInfo['worksheetName'] = (string) $worksheet_ss['Name']; - } else { - $tmpInfo['worksheetName'] = "Worksheet_{$worksheetID}"; - } - - if (isset($worksheet->Table->Row)) { - $rowIndex = 0; - - foreach($worksheet->Table->Row as $rowData) { - $columnIndex = 0; - $rowHasData = false; - - foreach($rowData->Cell as $cell) { - if (isset($cell->Data)) { - $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); - $rowHasData = true; - } - - ++$columnIndex; - } - - ++$rowIndex; - - if ($rowHasData) { - $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); - } - } - } - - $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); - $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; - - $worksheetInfo[] = $tmpInfo; - ++$worksheetID; - } - - return $worksheetInfo; - } + /** + * Create a new PHPExcel_Reader_Excel2003XML + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Create new PHPExcel - $objPHPExcel = new PHPExcel(); + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + + // Office xmlns:o="urn:schemas-microsoft-com:office:office" + // Excel xmlns:x="urn:schemas-microsoft-com:office:excel" + // XML Spreadsheet xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" + // Spreadsheet component xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" + // XML schema xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" + // XML data type xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" + // MS-persist recordset xmlns:rs="urn:schemas-microsoft-com:rowset" + // Rowset xmlns:z="#RowsetSchema" + // + + $signature = array( + '' + ); + + // Open file + $this->openFile($pFilename); + $fileHandle = $this->fileHandle; + + // Read sample data (first 2 KB will do) + $data = fread($fileHandle, 2048); + fclose($fileHandle); + + $valid = true; + foreach ($signature as $match) { + // every part of the signature must be present + if (strpos($data, $match) === false) { + $valid = false; + break; + } + } + + // Retrieve charset encoding + if (preg_match('//um', $data, $matches)) { + $this->charSet = strtoupper($matches[1]); + } +// echo 'Character Set is ', $this->charSet,'
'; + + return $valid; + } + + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + if (!$this->canRead($pFilename)) { + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + + $worksheetNames = array(); + + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); + + $xml_ss = $xml->children($namespaces['ss']); + foreach ($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); + $worksheetNames[] = self::convertStringEncoding((string) $worksheet_ss['Name'], $this->charSet); + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); + + $worksheetID = 1; + $xml_ss = $xml->children($namespaces['ss']); + foreach ($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); + + $tmpInfo = array(); + $tmpInfo['worksheetName'] = ''; + $tmpInfo['lastColumnLetter'] = 'A'; + $tmpInfo['lastColumnIndex'] = 0; + $tmpInfo['totalRows'] = 0; + $tmpInfo['totalColumns'] = 0; + + if (isset($worksheet_ss['Name'])) { + $tmpInfo['worksheetName'] = (string) $worksheet_ss['Name']; + } else { + $tmpInfo['worksheetName'] = "Worksheet_{$worksheetID}"; + } + + if (isset($worksheet->Table->Row)) { + $rowIndex = 0; + + foreach ($worksheet->Table->Row as $rowData) { + $columnIndex = 0; + $rowHasData = false; + + foreach ($rowData->Cell as $cell) { + if (isset($cell->Data)) { + $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); + $rowHasData = true; + } + + ++$columnIndex; + } + + ++$rowIndex; + + if ($rowHasData) { + $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); + } + } + } + + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; + + $worksheetInfo[] = $tmpInfo; + ++$worksheetID; + } + + return $worksheetInfo; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); $objPHPExcel->removeSheetByIndex(0); - // Load into this instance - return $this->loadIntoExisting($pFilename, $objPHPExcel); - } + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } + protected static function identifyFixedStyleValue($styleList, &$styleAttributeValue) + { + $styleAttributeValue = strtolower($styleAttributeValue); + foreach ($styleList as $style) { + if ($styleAttributeValue == strtolower($style)) { + $styleAttributeValue = $style; + return true; + } + } + return false; + } - protected static function identifyFixedStyleValue($styleList,&$styleAttributeValue) { - $styleAttributeValue = strtolower($styleAttributeValue); - foreach($styleList as $style) { - if ($styleAttributeValue == strtolower($style)) { - $styleAttributeValue = $style; - return true; - } - } - return false; - } + /** + * pixel units to excel width units(units of 1/256th of a character width) + * @param pxs + * @return + */ + protected static function pixel2WidthUnits($pxs) + { + $UNIT_OFFSET_MAP = array(0, 36, 73, 109, 146, 182, 219); + $widthUnits = 256 * ($pxs / 7); + $widthUnits += $UNIT_OFFSET_MAP[($pxs % 7)]; + return $widthUnits; + } - /** - * pixel units to excel width units(units of 1/256th of a character width) - * @param pxs - * @return - */ - protected static function _pixel2WidthUnits($pxs) { - $UNIT_OFFSET_MAP = array(0, 36, 73, 109, 146, 182, 219); + /** + * excel width units(units of 1/256th of a character width) to pixel units + * @param widthUnits + * @return + */ + protected static function widthUnits2Pixel($widthUnits) + { + $pixels = ($widthUnits / 256) * 7; + $offsetWidthUnits = $widthUnits % 256; + $pixels += round($offsetWidthUnits / (256 / 7)); + return $pixels; + } - $widthUnits = 256 * ($pxs / 7); - $widthUnits += $UNIT_OFFSET_MAP[($pxs % 7)]; - return $widthUnits; - } + protected static function hex2str($hex) + { + return chr(hexdec($hex[1])); + } + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + $fromFormats = array('\-', '\ '); + $toFormats = array('-', ' '); - /** - * excel width units(units of 1/256th of a character width) to pixel units - * @param widthUnits - * @return - */ - protected static function _widthUnits2Pixel($widthUnits) { - $pixels = ($widthUnits / 256) * 7; - $offsetWidthUnits = $widthUnits % 256; - $pixels += round($offsetWidthUnits / (256 / 7)); - return $pixels; - } + $underlineStyles = array ( + PHPExcel_Style_Font::UNDERLINE_NONE, + PHPExcel_Style_Font::UNDERLINE_DOUBLE, + PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING, + PHPExcel_Style_Font::UNDERLINE_SINGLE, + PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING + ); + $verticalAlignmentStyles = array ( + PHPExcel_Style_Alignment::VERTICAL_BOTTOM, + PHPExcel_Style_Alignment::VERTICAL_TOP, + PHPExcel_Style_Alignment::VERTICAL_CENTER, + PHPExcel_Style_Alignment::VERTICAL_JUSTIFY + ); + $horizontalAlignmentStyles = array ( + PHPExcel_Style_Alignment::HORIZONTAL_GENERAL, + PHPExcel_Style_Alignment::HORIZONTAL_LEFT, + PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS, + PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY + ); + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); - protected static function _hex2str($hex) { - return chr(hexdec($hex[1])); - } + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + if (!$this->canRead($pFilename)) { + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } - /** - * Loads PHPExcel from file into PHPExcel instance - * - * @param string $pFilename - * @param PHPExcel $objPHPExcel - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) - { - $fromFormats = array('\-', '\ '); - $toFormats = array('-', ' '); + $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespaces = $xml->getNamespaces(true); - $underlineStyles = array ( - PHPExcel_Style_Font::UNDERLINE_NONE, - PHPExcel_Style_Font::UNDERLINE_DOUBLE, - PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING, - PHPExcel_Style_Font::UNDERLINE_SINGLE, - PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING - ); - $verticalAlignmentStyles = array ( - PHPExcel_Style_Alignment::VERTICAL_BOTTOM, - PHPExcel_Style_Alignment::VERTICAL_TOP, - PHPExcel_Style_Alignment::VERTICAL_CENTER, - PHPExcel_Style_Alignment::VERTICAL_JUSTIFY - ); - $horizontalAlignmentStyles = array ( - PHPExcel_Style_Alignment::HORIZONTAL_GENERAL, - PHPExcel_Style_Alignment::HORIZONTAL_LEFT, - PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, - PHPExcel_Style_Alignment::HORIZONTAL_CENTER, - PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS, - PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY - ); + $docProps = $objPHPExcel->getProperties(); + if (isset($xml->DocumentProperties[0])) { + foreach ($xml->DocumentProperties[0] as $propertyName => $propertyValue) { + switch ($propertyName) { + case 'Title': + $docProps->setTitle(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Subject': + $docProps->setSubject(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Author': + $docProps->setCreator(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Created': + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + break; + case 'LastAuthor': + $docProps->setLastModifiedBy(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'LastSaved': + $lastSaveDate = strtotime($propertyValue); + $docProps->setModified($lastSaveDate); + break; + case 'Company': + $docProps->setCompany(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Category': + $docProps->setCategory(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Manager': + $docProps->setManager(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Keywords': + $docProps->setKeywords(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + case 'Description': + $docProps->setDescription(self::convertStringEncoding($propertyValue, $this->charSet)); + break; + } + } + } + if (isset($xml->CustomDocumentProperties)) { + foreach ($xml->CustomDocumentProperties[0] as $propertyName => $propertyValue) { + $propertyAttributes = $propertyValue->attributes($namespaces['dt']); + $propertyName = preg_replace_callback('/_x([0-9a-z]{4})_/', 'PHPExcel_Reader_Excel2003XML::hex2str', $propertyName); + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_UNKNOWN; + switch ((string) $propertyAttributes) { + case 'string': + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + $propertyValue = trim($propertyValue); + break; + case 'boolean': + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; + $propertyValue = (bool) $propertyValue; + break; + case 'integer': + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_INTEGER; + $propertyValue = intval($propertyValue); + break; + case 'float': + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; + $propertyValue = floatval($propertyValue); + break; + case 'dateTime.tz': + $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; + $propertyValue = strtotime(trim($propertyValue)); + break; + } + $docProps->setCustomProperty($propertyName, $propertyValue, $propertyType); + } + } - $timezoneObj = new DateTimeZone('Europe/London'); - $GMT = new DateTimeZone('UTC'); + foreach ($xml->Styles[0] as $style) { + $style_ss = $style->attributes($namespaces['ss']); + $styleID = (string) $style_ss['ID']; +// echo 'Style ID = '.$styleID.'
'; + $this->styles[$styleID] = (isset($this->styles['Default'])) ? $this->styles['Default'] : array(); + foreach ($style as $styleType => $styleData) { + $styleAttributes = $styleData->attributes($namespaces['ss']); +// echo $styleType.'
'; + switch ($styleType) { + case 'Alignment': + foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = (string) $styleAttributeValue; + switch ($styleAttributeKey) { + case 'Vertical': + if (self::identifyFixedStyleValue($verticalAlignmentStyles, $styleAttributeValue)) { + $this->styles[$styleID]['alignment']['vertical'] = $styleAttributeValue; + } + break; + case 'Horizontal': + if (self::identifyFixedStyleValue($horizontalAlignmentStyles, $styleAttributeValue)) { + $this->styles[$styleID]['alignment']['horizontal'] = $styleAttributeValue; + } + break; + case 'WrapText': + $this->styles[$styleID]['alignment']['wrap'] = true; + break; + } + } + break; + case 'Borders': + foreach ($styleData->Border as $borderStyle) { + $borderAttributes = $borderStyle->attributes($namespaces['ss']); + $thisBorder = array(); + foreach ($borderAttributes as $borderStyleKey => $borderStyleValue) { +// echo $borderStyleKey.' = '.$borderStyleValue.'
'; + switch ($borderStyleKey) { + case 'LineStyle': + $thisBorder['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; +// $thisBorder['style'] = $borderStyleValue; + break; + case 'Weight': +// $thisBorder['style'] = $borderStyleValue; + break; + case 'Position': + $borderPosition = strtolower($borderStyleValue); + break; + case 'Color': + $borderColour = substr($borderStyleValue, 1); + $thisBorder['color']['rgb'] = $borderColour; + break; + } + } + if (!empty($thisBorder)) { + if (($borderPosition == 'left') || ($borderPosition == 'right') || ($borderPosition == 'top') || ($borderPosition == 'bottom')) { + $this->styles[$styleID]['borders'][$borderPosition] = $thisBorder; + } + } + } + break; + case 'Font': + foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = (string) $styleAttributeValue; + switch ($styleAttributeKey) { + case 'FontName': + $this->styles[$styleID]['font']['name'] = $styleAttributeValue; + break; + case 'Size': + $this->styles[$styleID]['font']['size'] = $styleAttributeValue; + break; + case 'Color': + $this->styles[$styleID]['font']['color']['rgb'] = substr($styleAttributeValue, 1); + break; + case 'Bold': + $this->styles[$styleID]['font']['bold'] = true; + break; + case 'Italic': + $this->styles[$styleID]['font']['italic'] = true; + break; + case 'Underline': + if (self::identifyFixedStyleValue($underlineStyles, $styleAttributeValue)) { + $this->styles[$styleID]['font']['underline'] = $styleAttributeValue; + } + break; + } + } + break; + case 'Interior': + foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + switch ($styleAttributeKey) { + case 'Color': + $this->styles[$styleID]['fill']['color']['rgb'] = substr($styleAttributeValue, 1); + break; + } + } + break; + case 'NumberFormat': + foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + $styleAttributeValue = str_replace($fromFormats, $toFormats, $styleAttributeValue); + switch ($styleAttributeValue) { + case 'Short Date': + $styleAttributeValue = 'dd/mm/yyyy'; + break; + } + if ($styleAttributeValue > '') { + $this->styles[$styleID]['numberformat']['code'] = $styleAttributeValue; + } + } + break; + case 'Protection': + foreach ($styleAttributes as $styleAttributeKey => $styleAttributeValue) { +// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; + } + break; + } + } +// print_r($this->styles[$styleID]); +// echo '
'; + } +// echo '
'; + $worksheetID = 0; + $xml_ss = $xml->children($namespaces['ss']); - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + foreach ($xml_ss->Worksheet as $worksheet) { + $worksheet_ss = $worksheet->attributes($namespaces['ss']); - if (!$this->canRead($pFilename)) { - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } + if ((isset($this->loadSheetsOnly)) && (isset($worksheet_ss['Name'])) && + (!in_array($worksheet_ss['Name'], $this->loadSheetsOnly))) { + continue; + } - $xml = simplexml_load_string($this->securityScan(file_get_contents($pFilename)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespaces = $xml->getNamespaces(true); - - $docProps = $objPHPExcel->getProperties(); - if (isset($xml->DocumentProperties[0])) { - foreach($xml->DocumentProperties[0] as $propertyName => $propertyValue) { - switch ($propertyName) { - case 'Title' : - $docProps->setTitle(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Subject' : - $docProps->setSubject(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Author' : - $docProps->setCreator(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Created' : - $creationDate = strtotime($propertyValue); - $docProps->setCreated($creationDate); - break; - case 'LastAuthor' : - $docProps->setLastModifiedBy(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'LastSaved' : - $lastSaveDate = strtotime($propertyValue); - $docProps->setModified($lastSaveDate); - break; - case 'Company' : - $docProps->setCompany(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Category' : - $docProps->setCategory(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Manager' : - $docProps->setManager(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Keywords' : - $docProps->setKeywords(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - case 'Description' : - $docProps->setDescription(self::_convertStringEncoding($propertyValue,$this->_charSet)); - break; - } - } - } - if (isset($xml->CustomDocumentProperties)) { - foreach($xml->CustomDocumentProperties[0] as $propertyName => $propertyValue) { - $propertyAttributes = $propertyValue->attributes($namespaces['dt']); - $propertyName = preg_replace_callback('/_x([0-9a-z]{4})_/','PHPExcel_Reader_Excel2003XML::_hex2str',$propertyName); - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_UNKNOWN; - switch((string) $propertyAttributes) { - case 'string' : - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; - $propertyValue = trim($propertyValue); - break; - case 'boolean' : - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; - $propertyValue = (bool) $propertyValue; - break; - case 'integer' : - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_INTEGER; - $propertyValue = intval($propertyValue); - break; - case 'float' : - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; - $propertyValue = floatval($propertyValue); - break; - case 'dateTime.tz' : - $propertyType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; - $propertyValue = strtotime(trim($propertyValue)); - break; - } - $docProps->setCustomProperty($propertyName,$propertyValue,$propertyType); - } - } - - foreach($xml->Styles[0] as $style) { - $style_ss = $style->attributes($namespaces['ss']); - $styleID = (string) $style_ss['ID']; -// echo 'Style ID = '.$styleID.'
'; - if ($styleID == 'Default') { - $this->_styles['Default'] = array(); - } else { - $this->_styles[$styleID] = $this->_styles['Default']; - } - foreach ($style as $styleType => $styleData) { - $styleAttributes = $styleData->attributes($namespaces['ss']); -// echo $styleType.'
'; - switch ($styleType) { - case 'Alignment' : - foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { -// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; - $styleAttributeValue = (string) $styleAttributeValue; - switch ($styleAttributeKey) { - case 'Vertical' : - if (self::identifyFixedStyleValue($verticalAlignmentStyles,$styleAttributeValue)) { - $this->_styles[$styleID]['alignment']['vertical'] = $styleAttributeValue; - } - break; - case 'Horizontal' : - if (self::identifyFixedStyleValue($horizontalAlignmentStyles,$styleAttributeValue)) { - $this->_styles[$styleID]['alignment']['horizontal'] = $styleAttributeValue; - } - break; - case 'WrapText' : - $this->_styles[$styleID]['alignment']['wrap'] = true; - break; - } - } - break; - case 'Borders' : - foreach($styleData->Border as $borderStyle) { - $borderAttributes = $borderStyle->attributes($namespaces['ss']); - $thisBorder = array(); - foreach($borderAttributes as $borderStyleKey => $borderStyleValue) { -// echo $borderStyleKey.' = '.$borderStyleValue.'
'; - switch ($borderStyleKey) { - case 'LineStyle' : - $thisBorder['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; -// $thisBorder['style'] = $borderStyleValue; - break; - case 'Weight' : -// $thisBorder['style'] = $borderStyleValue; - break; - case 'Position' : - $borderPosition = strtolower($borderStyleValue); - break; - case 'Color' : - $borderColour = substr($borderStyleValue,1); - $thisBorder['color']['rgb'] = $borderColour; - break; - } - } - if (!empty($thisBorder)) { - if (($borderPosition == 'left') || ($borderPosition == 'right') || ($borderPosition == 'top') || ($borderPosition == 'bottom')) { - $this->_styles[$styleID]['borders'][$borderPosition] = $thisBorder; - } - } - } - break; - case 'Font' : - foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { -// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; - $styleAttributeValue = (string) $styleAttributeValue; - switch ($styleAttributeKey) { - case 'FontName' : - $this->_styles[$styleID]['font']['name'] = $styleAttributeValue; - break; - case 'Size' : - $this->_styles[$styleID]['font']['size'] = $styleAttributeValue; - break; - case 'Color' : - $this->_styles[$styleID]['font']['color']['rgb'] = substr($styleAttributeValue,1); - break; - case 'Bold' : - $this->_styles[$styleID]['font']['bold'] = true; - break; - case 'Italic' : - $this->_styles[$styleID]['font']['italic'] = true; - break; - case 'Underline' : - if (self::identifyFixedStyleValue($underlineStyles,$styleAttributeValue)) { - $this->_styles[$styleID]['font']['underline'] = $styleAttributeValue; - } - break; - } - } - break; - case 'Interior' : - foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { -// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; - switch ($styleAttributeKey) { - case 'Color' : - $this->_styles[$styleID]['fill']['color']['rgb'] = substr($styleAttributeValue,1); - break; - } - } - break; - case 'NumberFormat' : - foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { -// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; - $styleAttributeValue = str_replace($fromFormats,$toFormats,$styleAttributeValue); - switch ($styleAttributeValue) { - case 'Short Date' : - $styleAttributeValue = 'dd/mm/yyyy'; - break; - } - if ($styleAttributeValue > '') { - $this->_styles[$styleID]['numberformat']['code'] = $styleAttributeValue; - } - } - break; - case 'Protection' : - foreach($styleAttributes as $styleAttributeKey => $styleAttributeValue) { -// echo $styleAttributeKey.' = '.$styleAttributeValue.'
'; - } - break; - } - } -// print_r($this->_styles[$styleID]); -// echo '
'; - } -// echo '
'; - - $worksheetID = 0; - $xml_ss = $xml->children($namespaces['ss']); - - foreach($xml_ss->Worksheet as $worksheet) { - $worksheet_ss = $worksheet->attributes($namespaces['ss']); - - if ((isset($this->_loadSheetsOnly)) && (isset($worksheet_ss['Name'])) && - (!in_array($worksheet_ss['Name'], $this->_loadSheetsOnly))) { - continue; - } - -// echo '

Worksheet: ',$worksheet_ss['Name'],'

'; +// echo '

Worksheet: ', $worksheet_ss['Name'],'

'; // - // Create new Worksheet - $objPHPExcel->createSheet(); - $objPHPExcel->setActiveSheetIndex($worksheetID); - if (isset($worksheet_ss['Name'])) { - $worksheetName = self::_convertStringEncoding((string) $worksheet_ss['Name'],$this->_charSet); - // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in - // formula cells... during the load, all formulae should be correct, and we're simply bringing - // the worksheet name in line with the formula, not the reverse - $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); - } + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + if (isset($worksheet_ss['Name'])) { + $worksheetName = self::convertStringEncoding((string) $worksheet_ss['Name'], $this->charSet); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in + // formula cells... during the load, all formulae should be correct, and we're simply bringing + // the worksheet name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName, false); + } - $columnID = 'A'; - if (isset($worksheet->Table->Column)) { - foreach($worksheet->Table->Column as $columnData) { - $columnData_ss = $columnData->attributes($namespaces['ss']); - if (isset($columnData_ss['Index'])) { - $columnID = PHPExcel_Cell::stringFromColumnIndex($columnData_ss['Index']-1); - } - if (isset($columnData_ss['Width'])) { - $columnWidth = $columnData_ss['Width']; -// echo 'Setting column width for '.$columnID.' to '.$columnWidth.'
'; - $objPHPExcel->getActiveSheet()->getColumnDimension($columnID)->setWidth($columnWidth / 5.4); - } - ++$columnID; - } - } + $columnID = 'A'; + if (isset($worksheet->Table->Column)) { + foreach ($worksheet->Table->Column as $columnData) { + $columnData_ss = $columnData->attributes($namespaces['ss']); + if (isset($columnData_ss['Index'])) { + $columnID = PHPExcel_Cell::stringFromColumnIndex($columnData_ss['Index']-1); + } + if (isset($columnData_ss['Width'])) { + $columnWidth = $columnData_ss['Width']; +// echo 'Setting column width for '.$columnID.' to '.$columnWidth.'
'; + $objPHPExcel->getActiveSheet()->getColumnDimension($columnID)->setWidth($columnWidth / 5.4); + } + ++$columnID; + } + } - $rowID = 1; - if (isset($worksheet->Table->Row)) { + $rowID = 1; + if (isset($worksheet->Table->Row)) { $additionalMergedCells = 0; - foreach($worksheet->Table->Row as $rowData) { - $rowHasData = false; - $row_ss = $rowData->attributes($namespaces['ss']); - if (isset($row_ss['Index'])) { - $rowID = (integer) $row_ss['Index']; - } -// echo 'Row '.$rowID.'
'; + foreach ($worksheet->Table->Row as $rowData) { + $rowHasData = false; + $row_ss = $rowData->attributes($namespaces['ss']); + if (isset($row_ss['Index'])) { + $rowID = (integer) $row_ss['Index']; + } +// echo 'Row '.$rowID.'
'; - $columnID = 'A'; - foreach($rowData->Cell as $cell) { + $columnID = 'A'; + foreach ($rowData->Cell as $cell) { + $cell_ss = $cell->attributes($namespaces['ss']); + if (isset($cell_ss['Index'])) { + $columnID = PHPExcel_Cell::stringFromColumnIndex($cell_ss['Index']-1); + } + $cellRange = $columnID.$rowID; - $cell_ss = $cell->attributes($namespaces['ss']); - if (isset($cell_ss['Index'])) { - $columnID = PHPExcel_Cell::stringFromColumnIndex($cell_ss['Index']-1); - } - $cellRange = $columnID.$rowID; + if ($this->getReadFilter() !== null) { + if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { + continue; + } + } - if ($this->getReadFilter() !== NULL) { - if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { - continue; - } - } - - if ((isset($cell_ss['MergeAcross'])) || (isset($cell_ss['MergeDown']))) { - $columnTo = $columnID; - if (isset($cell_ss['MergeAcross'])) { + if ((isset($cell_ss['MergeAcross'])) || (isset($cell_ss['MergeDown']))) { + $columnTo = $columnID; + if (isset($cell_ss['MergeAcross'])) { $additionalMergedCells += (int)$cell_ss['MergeAcross']; - $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cell_ss['MergeAcross'] -1); - } - $rowTo = $rowID; - if (isset($cell_ss['MergeDown'])) { - $rowTo = $rowTo + $cell_ss['MergeDown']; - } - $cellRange .= ':'.$columnTo.$rowTo; - $objPHPExcel->getActiveSheet()->mergeCells($cellRange); - } + $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cell_ss['MergeAcross'] -1); + } + $rowTo = $rowID; + if (isset($cell_ss['MergeDown'])) { + $rowTo = $rowTo + $cell_ss['MergeDown']; + } + $cellRange .= ':'.$columnTo.$rowTo; + $objPHPExcel->getActiveSheet()->mergeCells($cellRange); + } - $cellIsSet = $hasCalculatedValue = false; - $cellDataFormula = ''; - if (isset($cell_ss['Formula'])) { - $cellDataFormula = $cell_ss['Formula']; - // added this as a check for array formulas - if (isset($cell_ss['ArrayRange'])) { - $cellDataCSEFormula = $cell_ss['ArrayRange']; -// echo "found an array formula at ".$columnID.$rowID."
"; - } - $hasCalculatedValue = true; - } - if (isset($cell->Data)) { - $cellValue = $cellData = $cell->Data; - $type = PHPExcel_Cell_DataType::TYPE_NULL; - $cellData_ss = $cellData->attributes($namespaces['ss']); - if (isset($cellData_ss['Type'])) { - $cellDataType = $cellData_ss['Type']; - switch ($cellDataType) { - /* - const TYPE_STRING = 's'; - const TYPE_FORMULA = 'f'; - const TYPE_NUMERIC = 'n'; - const TYPE_BOOL = 'b'; - const TYPE_NULL = 'null'; - const TYPE_INLINE = 'inlineStr'; - const TYPE_ERROR = 'e'; - */ - case 'String' : - $cellValue = self::_convertStringEncoding($cellValue,$this->_charSet); - $type = PHPExcel_Cell_DataType::TYPE_STRING; - break; - case 'Number' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $cellValue = (float) $cellValue; - if (floor($cellValue) == $cellValue) { - $cellValue = (integer) $cellValue; - } - break; - case 'Boolean' : - $type = PHPExcel_Cell_DataType::TYPE_BOOL; - $cellValue = ($cellValue != 0); - break; - case 'DateTime' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $cellValue = PHPExcel_Shared_Date::PHPToExcel(strtotime($cellValue)); - break; - case 'Error' : - $type = PHPExcel_Cell_DataType::TYPE_ERROR; - break; - } - } + $cellIsSet = $hasCalculatedValue = false; + $cellDataFormula = ''; + if (isset($cell_ss['Formula'])) { + $cellDataFormula = $cell_ss['Formula']; + // added this as a check for array formulas + if (isset($cell_ss['ArrayRange'])) { + $cellDataCSEFormula = $cell_ss['ArrayRange']; +// echo "found an array formula at ".$columnID.$rowID."
"; + } + $hasCalculatedValue = true; + } + if (isset($cell->Data)) { + $cellValue = $cellData = $cell->Data; + $type = PHPExcel_Cell_DataType::TYPE_NULL; + $cellData_ss = $cellData->attributes($namespaces['ss']); + if (isset($cellData_ss['Type'])) { + $cellDataType = $cellData_ss['Type']; + switch ($cellDataType) { + /* + const TYPE_STRING = 's'; + const TYPE_FORMULA = 'f'; + const TYPE_NUMERIC = 'n'; + const TYPE_BOOL = 'b'; + const TYPE_NULL = 'null'; + const TYPE_INLINE = 'inlineStr'; + const TYPE_ERROR = 'e'; + */ + case 'String': + $cellValue = self::convertStringEncoding($cellValue, $this->charSet); + $type = PHPExcel_Cell_DataType::TYPE_STRING; + break; + case 'Number': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $cellValue = (float) $cellValue; + if (floor($cellValue) == $cellValue) { + $cellValue = (integer) $cellValue; + } + break; + case 'Boolean': + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $cellValue = ($cellValue != 0); + break; + case 'DateTime': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $cellValue = PHPExcel_Shared_Date::PHPToExcel(strtotime($cellValue)); + break; + case 'Error': + $type = PHPExcel_Cell_DataType::TYPE_ERROR; + break; + } + } - if ($hasCalculatedValue) { -// echo 'FORMULA
'; - $type = PHPExcel_Cell_DataType::TYPE_FORMULA; - $columnNumber = PHPExcel_Cell::columnIndexFromString($columnID); - if (substr($cellDataFormula,0,3) == 'of:') { - $cellDataFormula = substr($cellDataFormula,3); -// echo 'Before: ',$cellDataFormula,'
'; - $temp = explode('"',$cellDataFormula); - $key = false; - foreach($temp as &$value) { - // Only replace in alternate array entries (i.e. non-quoted blocks) - if ($key = !$key) { - $value = str_replace(array('[.','.',']'),'',$value); - } - } - } else { - // Convert R1C1 style references to A1 style references (but only when not quoted) -// echo 'Before: ',$cellDataFormula,'
'; - $temp = explode('"',$cellDataFormula); - $key = false; - foreach($temp as &$value) { - // Only replace in alternate array entries (i.e. non-quoted blocks) - if ($key = !$key) { - preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/',$value, $cellReferences,PREG_SET_ORDER+PREG_OFFSET_CAPTURE); - // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way - // through the formula from left to right. Reversing means that we work right to left.through - // the formula - $cellReferences = array_reverse($cellReferences); - // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, - // then modify the formula to use that new reference - foreach($cellReferences as $cellReference) { - $rowReference = $cellReference[2][0]; - // Empty R reference is the current row - if ($rowReference == '') $rowReference = $rowID; - // Bracketed R references are relative to the current row - if ($rowReference{0} == '[') $rowReference = $rowID + trim($rowReference,'[]'); - $columnReference = $cellReference[4][0]; - // Empty C reference is the current column - if ($columnReference == '') $columnReference = $columnNumber; - // Bracketed C references are relative to the current column - if ($columnReference{0} == '[') $columnReference = $columnNumber + trim($columnReference,'[]'); - $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; - $value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0])); - } - } - } - } - unset($value); - // Then rebuild the formula string - $cellDataFormula = implode('"',$temp); -// echo 'After: ',$cellDataFormula,'
'; - } + if ($hasCalculatedValue) { +// echo 'FORMULA
'; + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + $columnNumber = PHPExcel_Cell::columnIndexFromString($columnID); + if (substr($cellDataFormula, 0, 3) == 'of:') { + $cellDataFormula = substr($cellDataFormula, 3); +// echo 'Before: ', $cellDataFormula,'
'; + $temp = explode('"', $cellDataFormula); + $key = false; + foreach ($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($key = !$key) { + $value = str_replace(array('[.', '.', ']'), '', $value); + } + } + } else { + // Convert R1C1 style references to A1 style references (but only when not quoted) +// echo 'Before: ', $cellDataFormula,'
'; + $temp = explode('"', $cellDataFormula); + $key = false; + foreach ($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($key = !$key) { + preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/', $value, $cellReferences, PREG_SET_ORDER + PREG_OFFSET_CAPTURE); + // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way + // through the formula from left to right. Reversing means that we work right to left.through + // the formula + $cellReferences = array_reverse($cellReferences); + // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, + // then modify the formula to use that new reference + foreach ($cellReferences as $cellReference) { + $rowReference = $cellReference[2][0]; + // Empty R reference is the current row + if ($rowReference == '') { + $rowReference = $rowID; + } + // Bracketed R references are relative to the current row + if ($rowReference{0} == '[') { + $rowReference = $rowID + trim($rowReference, '[]'); + } + $columnReference = $cellReference[4][0]; + // Empty C reference is the current column + if ($columnReference == '') { + $columnReference = $columnNumber; + } + // Bracketed C references are relative to the current column + if ($columnReference{0} == '[') { + $columnReference = $columnNumber + trim($columnReference, '[]'); + } + $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; + $value = substr_replace($value, $A1CellReference, $cellReference[0][1], strlen($cellReference[0][0])); + } + } + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"', $temp); +// echo 'After: ', $cellDataFormula,'
'; + } -// echo 'Cell '.$columnID.$rowID.' is a '.$type.' with a value of '.(($hasCalculatedValue) ? $cellDataFormula : $cellValue).'
'; +// echo 'Cell '.$columnID.$rowID.' is a '.$type.' with a value of '.(($hasCalculatedValue) ? $cellDataFormula : $cellValue).'
'; // - $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $cellValue),$type); - if ($hasCalculatedValue) { -// echo 'Formula result is '.$cellValue.'
'; - $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setCalculatedValue($cellValue); - } - $cellIsSet = $rowHasData = true; - } + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $cellValue), $type); + if ($hasCalculatedValue) { +// echo 'Formula result is '.$cellValue.'
'; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setCalculatedValue($cellValue); + } + $cellIsSet = $rowHasData = true; + } - if (isset($cell->Comment)) { -// echo 'comment found
'; - $commentAttributes = $cell->Comment->attributes($namespaces['ss']); - $author = 'unknown'; - if (isset($commentAttributes->Author)) { - $author = (string)$commentAttributes->Author; -// echo 'Author: ',$author,'
'; - } - $node = $cell->Comment->Data->asXML(); -// $annotation = str_replace('html:','',substr($node,49,-10)); -// echo $annotation,'
'; - $annotation = strip_tags($node); -// echo 'Annotation: ',$annotation,'
'; - $objPHPExcel->getActiveSheet()->getComment( $columnID.$rowID ) - ->setAuthor(self::_convertStringEncoding($author ,$this->_charSet)) - ->setText($this->_parseRichText($annotation) ); - } + if (isset($cell->Comment)) { +// echo 'comment found
'; + $commentAttributes = $cell->Comment->attributes($namespaces['ss']); + $author = 'unknown'; + if (isset($commentAttributes->Author)) { + $author = (string)$commentAttributes->Author; +// echo 'Author: ', $author,'
'; + } + $node = $cell->Comment->Data->asXML(); +// $annotation = str_replace('html:','',substr($node,49,-10)); +// echo $annotation,'
'; + $annotation = strip_tags($node); +// echo 'Annotation: ', $annotation,'
'; + $objPHPExcel->getActiveSheet()->getComment($columnID.$rowID)->setAuthor(self::convertStringEncoding($author, $this->charSet))->setText($this->parseRichText($annotation)); + } - if (($cellIsSet) && (isset($cell_ss['StyleID']))) { - $style = (string) $cell_ss['StyleID']; -// echo 'Cell style for '.$columnID.$rowID.' is '.$style.'
'; - if ((isset($this->_styles[$style])) && (!empty($this->_styles[$style]))) { -// echo 'Cell '.$columnID.$rowID.'
'; -// print_r($this->_styles[$style]); -// echo '
'; - if (!$objPHPExcel->getActiveSheet()->cellExists($columnID.$rowID)) { - $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValue(NULL); - } - $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($this->_styles[$style]); - } - } - ++$columnID; + if (($cellIsSet) && (isset($cell_ss['StyleID']))) { + $style = (string) $cell_ss['StyleID']; +// echo 'Cell style for '.$columnID.$rowID.' is '.$style.'
'; + if ((isset($this->styles[$style])) && (!empty($this->styles[$style]))) { +// echo 'Cell '.$columnID.$rowID.'
'; +// print_r($this->styles[$style]); +// echo '
'; + if (!$objPHPExcel->getActiveSheet()->cellExists($columnID.$rowID)) { + $objPHPExcel->getActiveSheet()->getCell($columnID.$rowID)->setValue(null); + } + $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($this->styles[$style]); + } + } + ++$columnID; while ($additionalMergedCells > 0) { ++$columnID; $additionalMergedCells--; } - } + } - if ($rowHasData) { - if (isset($row_ss['StyleID'])) { - $rowStyle = $row_ss['StyleID']; - } - if (isset($row_ss['Height'])) { - $rowHeight = $row_ss['Height']; -// echo 'Setting row height to '.$rowHeight.'
'; - $objPHPExcel->getActiveSheet()->getRowDimension($rowID)->setRowHeight($rowHeight); - } - } + if ($rowHasData) { + if (isset($row_ss['StyleID'])) { + $rowStyle = $row_ss['StyleID']; + } + if (isset($row_ss['Height'])) { + $rowHeight = $row_ss['Height']; +// echo 'Setting row height to '.$rowHeight.'
'; + $objPHPExcel->getActiveSheet()->getRowDimension($rowID)->setRowHeight($rowHeight); + } + } - ++$rowID; - } - } - ++$worksheetID; - } + ++$rowID; + } + } + ++$worksheetID; + } - // Return - return $objPHPExcel; - } + // Return + return $objPHPExcel; + } - protected static function _convertStringEncoding($string,$charset) { - if ($charset != 'UTF-8') { - return PHPExcel_Shared_String::ConvertEncoding($string,'UTF-8',$charset); - } - return $string; - } + protected static function convertStringEncoding($string, $charset) + { + if ($charset != 'UTF-8') { + return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', $charset); + } + return $string; + } - protected function _parseRichText($is = '') { - $value = new PHPExcel_RichText(); + protected function parseRichText($is = '') + { + $value = new PHPExcel_RichText(); - $value->createText(self::_convertStringEncoding($is,$this->_charSet)); - - return $value; - } + $value->createText(self::convertStringEncoding($is, $this->charSet)); + return $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php index e41596afc..1932df4b6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007.php @@ -1,8 +1,18 @@ readFilter = new PHPExcel_Reader_DefaultReadFilter(); + $this->referenceHelper = PHPExcel_ReferenceHelper::getInstance(); + } - /** - * Create a new PHPExcel_Reader_Excel2007 instance - */ - public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); - $this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance(); - } - - - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } $zipClass = PHPExcel_Settings::getZipClass(); - // Check if zip class exists -// if (!class_exists($zipClass, FALSE)) { -// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); -// } + // Check if zip class exists +// if (!class_exists($zipClass, false)) { +// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); +// } - $xl = false; - // Load file - $zip = new $zipClass; - if ($zip->open($pFilename) === true) { - // check if it is an OOXML archive - $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if ($rels !== false) { - foreach ($rels->Relationship as $rel) { - switch ($rel["Type"]) { - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": - if (basename($rel["Target"]) == 'workbook.xml') { - $xl = true; - } - break; + $xl = false; + // Load file + $zip = new $zipClass; + if ($zip->open($pFilename) === true) { + // check if it is an OOXML archive + $rels = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if ($rels !== false) { + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + if (basename($rel["Target"]) == 'workbook.xml') { + $xl = true; + } + break; - } - } - } - $zip->close(); - } + } + } + } + $zip->close(); + } - return $xl; - } + return $xl; + } - /** - * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetNames($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - $worksheetNames = array(); + $worksheetNames = array(); $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - $zip->open($pFilename); + $zip = new $zipClass; + $zip->open($pFilename); - // The files we're looking at here are small enough that simpleXML is more efficient than XMLReader - $rels = simplexml_load_string( - $this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) - ); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($rels->Relationship as $rel) { - switch ($rel["Type"]) { - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": - $xmlWorkbook = simplexml_load_string( - $this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) - ); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + // The files we're looking at here are small enough that simpleXML is more efficient than XMLReader + $rels = simplexml_load_string( + $this->securityScan($this->getFromZipArchive($zip, "_rels/.rels"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) + ); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + $xmlWorkbook = simplexml_load_string( + $this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}"), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()) + ); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - if ($xmlWorkbook->sheets) { - foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { - // Check if sheet should be skipped - $worksheetNames[] = (string) $eleSheet["name"]; - } - } - } - } + if ($xmlWorkbook->sheets) { + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + // Check if sheet should be skipped + $worksheetNames[] = (string) $eleSheet["name"]; + } + } + } + } - $zip->close(); + $zip->close(); - return $worksheetNames; - } + return $worksheetNames; + } - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - $worksheetInfo = array(); + $worksheetInfo = array(); $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - $zip->open($pFilename); + $zip = new $zipClass; + $zip->open($pFilename); - $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($rels->Relationship as $rel) { - if ($rel["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument") { - $dir = dirname($rel["Target"]); - $relsWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); + $rels = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + if ($rel["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument") { + $dir = dirname($rel["Target"]); + $relsWorkbook = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); - $worksheets = array(); - foreach ($relsWorkbook->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet") { - $worksheets[(string) $ele["Id"]] = $ele["Target"]; - } - } + $worksheets = array(); + foreach ($relsWorkbook->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet") { + $worksheets[(string) $ele["Id"]] = $ele["Target"]; + } + } - $xmlWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - if ($xmlWorkbook->sheets) { - $dir = dirname($rel["Target"]); - foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { - $tmpInfo = array( - 'worksheetName' => (string) $eleSheet["name"], - 'lastColumnLetter' => 'A', - 'lastColumnIndex' => 0, - 'totalRows' => 0, - 'totalColumns' => 0, - ); + $xmlWorkbook = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + if ($xmlWorkbook->sheets) { + $dir = dirname($rel["Target"]); + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + $tmpInfo = array( + 'worksheetName' => (string) $eleSheet["name"], + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); - $fileWorksheet = $worksheets[(string) self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + $fileWorksheet = $worksheets[(string) self::getArrayItem($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; - $xml = new XMLReader(); - $res = $xml->xml($this->securityScanFile('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet"), null, PHPExcel_Settings::getLibXmlLoaderOptions()); - $xml->setParserProperty(2,true); + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.PHPExcel_Shared_File::realpath($pFilename).'#'."$dir/$fileWorksheet"), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2, true); - $currCells = 0; - while ($xml->read()) { - if ($xml->name == 'row' && $xml->nodeType == XMLReader::ELEMENT) { - $row = $xml->getAttribute('r'); - $tmpInfo['totalRows'] = $row; - $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); - $currCells = 0; - } elseif ($xml->name == 'c' && $xml->nodeType == XMLReader::ELEMENT) { - $currCells++; - } - } - $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); - $xml->close(); + $currCells = 0; + while ($xml->read()) { + if ($xml->name == 'row' && $xml->nodeType == XMLReader::ELEMENT) { + $row = $xml->getAttribute('r'); + $tmpInfo['totalRows'] = $row; + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'], $currCells); + $currCells = 0; + } elseif ($xml->name == 'c' && $xml->nodeType == XMLReader::ELEMENT) { + $currCells++; + } + } + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'], $currCells); + $xml->close(); - $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; - $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); - $worksheetInfo[] = $tmpInfo; - } - } - } - } + $worksheetInfo[] = $tmpInfo; + } + } + } + } - $zip->close(); + $zip->close(); - return $worksheetInfo; - } + return $worksheetInfo; + } + private static function castToBoolean($c) + { +// echo 'Initial Cast to Boolean', PHP_EOL; + $value = isset($c->v) ? (string) $c->v : null; + if ($value == '0') { + return false; + } elseif ($value == '1') { + return true; + } else { + return (bool)$c->v; + } + return $value; + } - private static function _castToBool($c) { -// echo 'Initial Cast to Boolean', PHP_EOL; - $value = isset($c->v) ? (string) $c->v : NULL; - if ($value == '0') { - return FALSE; - } elseif ($value == '1') { - return TRUE; - } else { - return (bool)$c->v; - } - return $value; - } // function _castToBool() + private static function castToError($c) + { +// echo 'Initial Cast to Error', PHP_EOL; + return isset($c->v) ? (string) $c->v : null; + } + private static function castToString($c) + { +// echo 'Initial Cast to String, PHP_EOL; + return isset($c->v) ? (string) $c->v : null; + } - private static function _castToError($c) { -// echo 'Initial Cast to Error', PHP_EOL; - return isset($c->v) ? (string) $c->v : NULL; - } // function _castToError() + private function castToFormula($c, $r, &$cellDataType, &$value, &$calculatedValue, &$sharedFormulas, $castBaseType) + { +// echo 'Formula', PHP_EOL; +// echo '$c->f is ', $c->f, PHP_EOL; + $cellDataType = 'f'; + $value = "={$c->f}"; + $calculatedValue = self::$castBaseType($c); + // Shared formula? + if (isset($c->f['t']) && strtolower((string)$c->f['t']) == 'shared') { +// echo 'SHARED FORMULA', PHP_EOL; + $instance = (string)$c->f['si']; - private static function _castToString($c) { -// echo 'Initial Cast to String, PHP_EOL; - return isset($c->v) ? (string) $c->v : NULL; - } // function _castToString() - - - private function _castToFormula($c,$r,&$cellDataType,&$value,&$calculatedValue,&$sharedFormulas,$castBaseType) { -// echo 'Formula', PHP_EOL; -// echo '$c->f is ', $c->f, PHP_EOL; - $cellDataType = 'f'; - $value = "={$c->f}"; - $calculatedValue = self::$castBaseType($c); - - // Shared formula? - if (isset($c->f['t']) && strtolower((string)$c->f['t']) == 'shared') { -// echo 'SHARED FORMULA', PHP_EOL; - $instance = (string)$c->f['si']; - -// echo 'Instance ID = ', $instance, PHP_EOL; +// echo 'Instance ID = ', $instance, PHP_EOL; // -// echo 'Shared Formula Array:', PHP_EOL; -// print_r($sharedFormulas); - if (!isset($sharedFormulas[(string)$c->f['si']])) { -// echo 'SETTING NEW SHARED FORMULA', PHP_EOL; -// echo 'Master is ', $r, PHP_EOL; -// echo 'Formula is ', $value, PHP_EOL; - $sharedFormulas[$instance] = array( 'master' => $r, - 'formula' => $value - ); -// echo 'New Shared Formula Array:', PHP_EOL; -// print_r($sharedFormulas); - } else { -// echo 'GETTING SHARED FORMULA', PHP_EOL; -// echo 'Master is ', $sharedFormulas[$instance]['master'], PHP_EOL; -// echo 'Formula is ', $sharedFormulas[$instance]['formula'], PHP_EOL; - $master = PHPExcel_Cell::coordinateFromString($sharedFormulas[$instance]['master']); - $current = PHPExcel_Cell::coordinateFromString($r); +// echo 'Shared Formula Array:', PHP_EOL; +// print_r($sharedFormulas); + if (!isset($sharedFormulas[(string)$c->f['si']])) { +// echo 'SETTING NEW SHARED FORMULA', PHP_EOL; +// echo 'Master is ', $r, PHP_EOL; +// echo 'Formula is ', $value, PHP_EOL; + $sharedFormulas[$instance] = array('master' => $r, 'formula' => $value); +// echo 'New Shared Formula Array:', PHP_EOL; +// print_r($sharedFormulas); + } else { +// echo 'GETTING SHARED FORMULA', PHP_EOL; +// echo 'Master is ', $sharedFormulas[$instance]['master'], PHP_EOL; +// echo 'Formula is ', $sharedFormulas[$instance]['formula'], PHP_EOL; + $master = PHPExcel_Cell::coordinateFromString($sharedFormulas[$instance]['master']); + $current = PHPExcel_Cell::coordinateFromString($r); - $difference = array(0, 0); - $difference[0] = PHPExcel_Cell::columnIndexFromString($current[0]) - PHPExcel_Cell::columnIndexFromString($master[0]); - $difference[1] = $current[1] - $master[1]; + $difference = array(0, 0); + $difference[0] = PHPExcel_Cell::columnIndexFromString($current[0]) - PHPExcel_Cell::columnIndexFromString($master[0]); + $difference[1] = $current[1] - $master[1]; - $value = $this->_referenceHelper->updateFormulaReferences( $sharedFormulas[$instance]['formula'], - 'A1', - $difference[0], - $difference[1] - ); -// echo 'Adjusted Formula is ', $value, PHP_EOL; - } - } - } + $value = $this->referenceHelper->updateFormulaReferences($sharedFormulas[$instance]['formula'], 'A1', $difference[0], $difference[1]); +// echo 'Adjusted Formula is ', $value, PHP_EOL; + } + } + } - public function _getFromZipArchive($archive, $fileName = '') - { - // Root-relative paths - if (strpos($fileName, '//') !== false) - { - $fileName = substr($fileName, strpos($fileName, '//') + 1); - } - $fileName = PHPExcel_Shared_File::realpath($fileName); + private function getFromZipArchive($archive, $fileName = '') + { + // Root-relative paths + if (strpos($fileName, '//') !== false) { + $fileName = substr($fileName, strpos($fileName, '//') + 1); + } + $fileName = PHPExcel_Shared_File::realpath($fileName); - // Apache POI fixes - $contents = $archive->getFromName($fileName); - if ($contents === false) - { - $contents = $archive->getFromName(substr($fileName, 1)); - } + // Sadly, some 3rd party xlsx generators don't use consistent case for filenaming + // so we need to load case-insensitively from the zip file + + // Apache POI fixes + $contents = $archive->getFromIndex( + $archive->locateName($fileName, ZIPARCHIVE::FL_NOCASE) + ); + if ($contents === false) { + $contents = $archive->getFromIndex( + $archive->locateName(substr($fileName, 1), ZIPARCHIVE::FL_NOCASE) + ); + } - return $contents; - } + return $contents; + } - /** - * Loads PHPExcel from file - * - * @param string $pFilename + /** + * Loads PHPExcel from file + * + * @param string $pFilename * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - // Initialisations - $excel = new PHPExcel; - $excel->removeSheetByIndex(0); - if (!$this->_readDataOnly) { - $excel->removeCellStyleXfByIndex(0); // remove the default style - $excel->removeCellXfByIndex(0); // remove the default style - } + // Initialisations + $excel = new PHPExcel; + $excel->removeSheetByIndex(0); + if (!$this->readDataOnly) { + $excel->removeCellStyleXfByIndex(0); // remove the default style + $excel->removeCellXfByIndex(0); // remove the default style + } $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - $zip->open($pFilename); + $zip = new $zipClass; + $zip->open($pFilename); - // Read the theme first, because we need the colour scheme when reading the styles - $wbRels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "xl/_rels/workbook.xml.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($wbRels->Relationship as $rel) { - switch ($rel["Type"]) { - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme": - $themeOrderArray = array('lt1','dk1','lt2','dk2'); - $themeOrderAdditional = count($themeOrderArray); + // Read the theme first, because we need the colour scheme when reading the styles + $wbRels = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "xl/_rels/workbook.xml.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($wbRels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme": + $themeOrderArray = array('lt1', 'dk1', 'lt2', 'dk2'); + $themeOrderAdditional = count($themeOrderArray); - $xmlTheme = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "xl/{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if (is_object($xmlTheme)) { - $xmlThemeName = $xmlTheme->attributes(); - $xmlTheme = $xmlTheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); - $themeName = (string)$xmlThemeName['name']; + $xmlTheme = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "xl/{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlTheme)) { + $xmlThemeName = $xmlTheme->attributes(); + $xmlTheme = $xmlTheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); + $themeName = (string)$xmlThemeName['name']; - $colourScheme = $xmlTheme->themeElements->clrScheme->attributes(); - $colourSchemeName = (string)$colourScheme['name']; - $colourScheme = $xmlTheme->themeElements->clrScheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); + $colourScheme = $xmlTheme->themeElements->clrScheme->attributes(); + $colourSchemeName = (string)$colourScheme['name']; + $colourScheme = $xmlTheme->themeElements->clrScheme->children("http://schemas.openxmlformats.org/drawingml/2006/main"); - $themeColours = array(); - foreach ($colourScheme as $k => $xmlColour) { - $themePos = array_search($k,$themeOrderArray); - if ($themePos === false) { - $themePos = $themeOrderAdditional++; - } - if (isset($xmlColour->sysClr)) { - $xmlColourData = $xmlColour->sysClr->attributes(); - $themeColours[$themePos] = $xmlColourData['lastClr']; - } elseif (isset($xmlColour->srgbClr)) { - $xmlColourData = $xmlColour->srgbClr->attributes(); - $themeColours[$themePos] = $xmlColourData['val']; - } - } - self::$_theme = new PHPExcel_Reader_Excel2007_Theme($themeName,$colourSchemeName,$themeColours); - } - break; - } - } + $themeColours = array(); + foreach ($colourScheme as $k => $xmlColour) { + $themePos = array_search($k, $themeOrderArray); + if ($themePos === false) { + $themePos = $themeOrderAdditional++; + } + if (isset($xmlColour->sysClr)) { + $xmlColourData = $xmlColour->sysClr->attributes(); + $themeColours[$themePos] = $xmlColourData['lastClr']; + } elseif (isset($xmlColour->srgbClr)) { + $xmlColourData = $xmlColour->srgbClr->attributes(); + $themeColours[$themePos] = $xmlColourData['val']; + } + } + self::$theme = new PHPExcel_Reader_Excel2007_Theme($themeName, $colourSchemeName, $themeColours); + } + break; + } + } - $rels = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($rels->Relationship as $rel) { - switch ($rel["Type"]) { - case "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties": - $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if (is_object($xmlCore)) { - $xmlCore->registerXPathNamespace("dc", "http://purl.org/dc/elements/1.1/"); - $xmlCore->registerXPathNamespace("dcterms", "http://purl.org/dc/terms/"); - $xmlCore->registerXPathNamespace("cp", "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"); - $docProps = $excel->getProperties(); - $docProps->setCreator((string) self::array_item($xmlCore->xpath("dc:creator"))); - $docProps->setLastModifiedBy((string) self::array_item($xmlCore->xpath("cp:lastModifiedBy"))); - $docProps->setCreated(strtotime(self::array_item($xmlCore->xpath("dcterms:created")))); //! respect xsi:type - $docProps->setModified(strtotime(self::array_item($xmlCore->xpath("dcterms:modified")))); //! respect xsi:type - $docProps->setTitle((string) self::array_item($xmlCore->xpath("dc:title"))); - $docProps->setDescription((string) self::array_item($xmlCore->xpath("dc:description"))); - $docProps->setSubject((string) self::array_item($xmlCore->xpath("dc:subject"))); - $docProps->setKeywords((string) self::array_item($xmlCore->xpath("cp:keywords"))); - $docProps->setCategory((string) self::array_item($xmlCore->xpath("cp:category"))); - } - break; + $rels = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "_rels/.rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($rels->Relationship as $rel) { + switch ($rel["Type"]) { + case "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $xmlCore->registerXPathNamespace("dc", "http://purl.org/dc/elements/1.1/"); + $xmlCore->registerXPathNamespace("dcterms", "http://purl.org/dc/terms/"); + $xmlCore->registerXPathNamespace("cp", "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"); + $docProps = $excel->getProperties(); + $docProps->setCreator((string) self::getArrayItem($xmlCore->xpath("dc:creator"))); + $docProps->setLastModifiedBy((string) self::getArrayItem($xmlCore->xpath("cp:lastModifiedBy"))); + $docProps->setCreated(strtotime(self::getArrayItem($xmlCore->xpath("dcterms:created")))); //! respect xsi:type + $docProps->setModified(strtotime(self::getArrayItem($xmlCore->xpath("dcterms:modified")))); //! respect xsi:type + $docProps->setTitle((string) self::getArrayItem($xmlCore->xpath("dc:title"))); + $docProps->setDescription((string) self::getArrayItem($xmlCore->xpath("dc:description"))); + $docProps->setSubject((string) self::getArrayItem($xmlCore->xpath("dc:subject"))); + $docProps->setKeywords((string) self::getArrayItem($xmlCore->xpath("cp:keywords"))); + $docProps->setCategory((string) self::getArrayItem($xmlCore->xpath("cp:category"))); + } + break; + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $docProps = $excel->getProperties(); + if (isset($xmlCore->Company)) { + $docProps->setCompany((string) $xmlCore->Company); + } + if (isset($xmlCore->Manager)) { + $docProps->setManager((string) $xmlCore->Manager); + } + } + break; + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties": + $xmlCore = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if (is_object($xmlCore)) { + $docProps = $excel->getProperties(); + foreach ($xmlCore as $xmlProperty) { + $cellDataOfficeAttributes = $xmlProperty->attributes(); + if (isset($cellDataOfficeAttributes['name'])) { + $propertyName = (string) $cellDataOfficeAttributes['name']; + $cellDataOfficeChildren = $xmlProperty->children('http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + $attributeType = $cellDataOfficeChildren->getName(); + $attributeValue = (string) $cellDataOfficeChildren->{$attributeType}; + $attributeValue = PHPExcel_DocumentProperties::convertProperty($attributeValue, $attributeType); + $attributeType = PHPExcel_DocumentProperties::convertPropertyType($attributeType); + $docProps->setCustomProperty($propertyName, $attributeValue, $attributeType); + } + } + } + break; + //Ribbon + case "http://schemas.microsoft.com/office/2006/relationships/ui/extensibility": + $customUI = $rel['Target']; + if (!is_null($customUI)) { + $this->readRibbon($excel, $customUI, $zip); + } + break; + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": + $dir = dirname($rel["Target"]); + $relsWorkbook = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties": - $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if (is_object($xmlCore)) { - $docProps = $excel->getProperties(); - if (isset($xmlCore->Company)) - $docProps->setCompany((string) $xmlCore->Company); - if (isset($xmlCore->Manager)) - $docProps->setManager((string) $xmlCore->Manager); - } - break; + $sharedStrings = array(); + $xpath = self::getArrayItem($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings']")); + $xmlStrings = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + if (isset($xmlStrings) && isset($xmlStrings->si)) { + foreach ($xmlStrings->si as $val) { + if (isset($val->t)) { + $sharedStrings[] = PHPExcel_Shared_String::ControlCharacterOOXML2PHP((string) $val->t); + } elseif (isset($val->r)) { + $sharedStrings[] = $this->parseRichText($val); + } + } + } - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties": - $xmlCore = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if (is_object($xmlCore)) { - $docProps = $excel->getProperties(); - foreach ($xmlCore as $xmlProperty) { - $cellDataOfficeAttributes = $xmlProperty->attributes(); - if (isset($cellDataOfficeAttributes['name'])) { - $propertyName = (string) $cellDataOfficeAttributes['name']; - $cellDataOfficeChildren = $xmlProperty->children('http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); - $attributeType = $cellDataOfficeChildren->getName(); - $attributeValue = (string) $cellDataOfficeChildren->{$attributeType}; - $attributeValue = PHPExcel_DocumentProperties::convertProperty($attributeValue,$attributeType); - $attributeType = PHPExcel_DocumentProperties::convertPropertyType($attributeType); - $docProps->setCustomProperty($propertyName,$attributeValue,$attributeType); - } - } - } - break; - //Ribbon - case "http://schemas.microsoft.com/office/2006/relationships/ui/extensibility": - $customUI = $rel['Target']; - if(!is_null($customUI)){ - $this->_readRibbon($excel, $customUI, $zip); - } - break; - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument": - $dir = dirname($rel["Target"]); - $relsWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/_rels/" . basename($rel["Target"]) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $relsWorkbook->registerXPathNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships"); + $worksheets = array(); + $macros = $customUI = null; + foreach ($relsWorkbook->Relationship as $ele) { + switch ($ele['Type']) { + case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet": + $worksheets[(string) $ele["Id"]] = $ele["Target"]; + break; + // a vbaProject ? (: some macros) + case "http://schemas.microsoft.com/office/2006/relationships/vbaProject": + $macros = $ele["Target"]; + break; + } + } - $sharedStrings = array(); - $xpath = self::array_item($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings']")); - $xmlStrings = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - if (isset($xmlStrings) && isset($xmlStrings->si)) { - foreach ($xmlStrings->si as $val) { - if (isset($val->t)) { - $sharedStrings[] = PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $val->t ); - } elseif (isset($val->r)) { - $sharedStrings[] = $this->_parseRichText($val); - } - } - } + if (!is_null($macros)) { + $macrosCode = $this->getFromZipArchive($zip, 'xl/vbaProject.bin');//vbaProject.bin always in 'xl' dir and always named vbaProject.bin + if ($macrosCode !== false) { + $excel->setMacrosCode($macrosCode); + $excel->setHasMacros(true); + //short-circuit : not reading vbaProject.bin.rel to get Signature =>allways vbaProjectSignature.bin in 'xl' dir + $Certificate = $this->getFromZipArchive($zip, 'xl/vbaProjectSignature.bin'); + if ($Certificate !== false) { + $excel->setMacrosCertificate($Certificate); + } + } + } + $styles = array(); + $cellStyles = array(); + $xpath = self::getArrayItem($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles']")); + $xmlStyles = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - $worksheets = array(); - $macros = $customUI = NULL; - foreach ($relsWorkbook->Relationship as $ele) { - switch($ele['Type']){ - case "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet": - $worksheets[(string) $ele["Id"]] = $ele["Target"]; - break; - // a vbaProject ? (: some macros) - case "http://schemas.microsoft.com/office/2006/relationships/vbaProject": - $macros = $ele["Target"]; - break; - } - } + $numFmts = null; + if ($xmlStyles && $xmlStyles->numFmts[0]) { + $numFmts = $xmlStyles->numFmts[0]; + } + if (isset($numFmts) && ($numFmts !== null)) { + $numFmts->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + } + if (!$this->readDataOnly && $xmlStyles) { + foreach ($xmlStyles->cellXfs->xf as $xf) { + $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + if ($xf["numFmtId"]) { + if (isset($numFmts)) { + $tmpNumFmt = self::getArrayItem($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); - if(!is_null($macros)){ - $macrosCode = $this->_getFromZipArchive($zip, 'xl/vbaProject.bin');//vbaProject.bin always in 'xl' dir and always named vbaProject.bin - if($macrosCode !== false){ - $excel->setMacrosCode($macrosCode); - $excel->setHasMacros(true); - //short-circuit : not reading vbaProject.bin.rel to get Signature =>allways vbaProjectSignature.bin in 'xl' dir - $Certificate = $this->_getFromZipArchive($zip, 'xl/vbaProjectSignature.bin'); - if($Certificate !== false) - $excel->setMacrosCertificate($Certificate); - } - } - $styles = array(); - $cellStyles = array(); - $xpath = self::array_item($relsWorkbook->xpath("rel:Relationship[@Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles']")); - $xmlStyles = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$xpath[Target]")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - $numFmts = null; - if ($xmlStyles && $xmlStyles->numFmts[0]) { - $numFmts = $xmlStyles->numFmts[0]; - } - if (isset($numFmts) && ($numFmts !== NULL)) { - $numFmts->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - } - if (!$this->_readDataOnly && $xmlStyles) { - foreach ($xmlStyles->cellXfs->xf as $xf) { - $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + if (isset($tmpNumFmt["formatCode"])) { + $numFmt = (string) $tmpNumFmt["formatCode"]; + } + } - if ($xf["numFmtId"]) { - if (isset($numFmts)) { - $tmpNumFmt = self::array_item($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); - - if (isset($tmpNumFmt["formatCode"])) { - $numFmt = (string) $tmpNumFmt["formatCode"]; - } - } - - if ((int)$xf["numFmtId"] < 164) { - $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); - } - } + // We shouldn't override any of the built-in MS Excel values (values below id 164) + // But there's a lot of naughty homebrew xlsx writers that do use "reserved" id values that aren't actually used + // So we make allowance for them rather than lose formatting masks + if ((int)$xf["numFmtId"] < 164 && PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]) !== '') { + $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); + } + } $quotePrefix = false; - if (isset($xf["quotePrefix"])) { + if (isset($xf["quotePrefix"])) { $quotePrefix = (boolean) $xf["quotePrefix"]; } - //$numFmt = str_replace('mm', 'i', $numFmt); - //$numFmt = str_replace('h', 'H', $numFmt); - $style = (object) array( - "numFmt" => $numFmt, - "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], - "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], - "border" => $xmlStyles->borders->border[intval($xf["borderId"])], - "alignment" => $xf->alignment, - "protection" => $xf->protection, - "quotePrefix" => $quotePrefix, - ); - $styles[] = $style; + $style = (object) array( + "numFmt" => $numFmt, + "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], + "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], + "border" => $xmlStyles->borders->border[intval($xf["borderId"])], + "alignment" => $xf->alignment, + "protection" => $xf->protection, + "quotePrefix" => $quotePrefix, + ); + $styles[] = $style; - // add style to cellXf collection - $objStyle = new PHPExcel_Style; - self::_readStyle($objStyle, $style); - $excel->addCellXf($objStyle); - } + // add style to cellXf collection + $objStyle = new PHPExcel_Style; + self::readStyle($objStyle, $style); + $excel->addCellXf($objStyle); + } - foreach ($xmlStyles->cellStyleXfs->xf as $xf) { - $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; - if ($numFmts && $xf["numFmtId"]) { - $tmpNumFmt = self::array_item($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); - if (isset($tmpNumFmt["formatCode"])) { - $numFmt = (string) $tmpNumFmt["formatCode"]; - } else if ((int)$xf["numFmtId"] < 165) { - $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); - } - } + foreach ($xmlStyles->cellStyleXfs->xf as $xf) { + $numFmt = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + if ($numFmts && $xf["numFmtId"]) { + $tmpNumFmt = self::getArrayItem($numFmts->xpath("sml:numFmt[@numFmtId=$xf[numFmtId]]")); + if (isset($tmpNumFmt["formatCode"])) { + $numFmt = (string) $tmpNumFmt["formatCode"]; + } elseif ((int)$xf["numFmtId"] < 165) { + $numFmt = PHPExcel_Style_NumberFormat::builtInFormatCode((int)$xf["numFmtId"]); + } + } - $cellStyle = (object) array( - "numFmt" => $numFmt, - "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], - "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], - "border" => $xmlStyles->borders->border[intval($xf["borderId"])], - "alignment" => $xf->alignment, - "protection" => $xf->protection, - "quotePrefix" => $quotePrefix, - ); - $cellStyles[] = $cellStyle; + $cellStyle = (object) array( + "numFmt" => $numFmt, + "font" => $xmlStyles->fonts->font[intval($xf["fontId"])], + "fill" => $xmlStyles->fills->fill[intval($xf["fillId"])], + "border" => $xmlStyles->borders->border[intval($xf["borderId"])], + "alignment" => $xf->alignment, + "protection" => $xf->protection, + "quotePrefix" => $quotePrefix, + ); + $cellStyles[] = $cellStyle; - // add style to cellStyleXf collection - $objStyle = new PHPExcel_Style; - self::_readStyle($objStyle, $cellStyle); - $excel->addCellStyleXf($objStyle); - } - } + // add style to cellStyleXf collection + $objStyle = new PHPExcel_Style; + self::readStyle($objStyle, $cellStyle); + $excel->addCellStyleXf($objStyle); + } + } - $dxfs = array(); - if (!$this->_readDataOnly && $xmlStyles) { - // Conditional Styles - if ($xmlStyles->dxfs) { - foreach ($xmlStyles->dxfs->dxf as $dxf) { - $style = new PHPExcel_Style(FALSE, TRUE); - self::_readStyle($style, $dxf); - $dxfs[] = $style; - } - } - // Cell Styles - if ($xmlStyles->cellStyles) { - foreach ($xmlStyles->cellStyles->cellStyle as $cellStyle) { - if (intval($cellStyle['builtinId']) == 0) { - if (isset($cellStyles[intval($cellStyle['xfId'])])) { - // Set default style - $style = new PHPExcel_Style; - self::_readStyle($style, $cellStyles[intval($cellStyle['xfId'])]); + $dxfs = array(); + if (!$this->readDataOnly && $xmlStyles) { + // Conditional Styles + if ($xmlStyles->dxfs) { + foreach ($xmlStyles->dxfs->dxf as $dxf) { + $style = new PHPExcel_Style(false, true); + self::readStyle($style, $dxf); + $dxfs[] = $style; + } + } + // Cell Styles + if ($xmlStyles->cellStyles) { + foreach ($xmlStyles->cellStyles->cellStyle as $cellStyle) { + if (intval($cellStyle['builtinId']) == 0) { + if (isset($cellStyles[intval($cellStyle['xfId'])])) { + // Set default style + $style = new PHPExcel_Style; + self::readStyle($style, $cellStyles[intval($cellStyle['xfId'])]); - // normal style, currently not using it for anything - } - } - } - } - } + // normal style, currently not using it for anything + } + } + } + } + } - $xmlWorkbook = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + $xmlWorkbook = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "{$rel['Target']}")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - // Set base date - if ($xmlWorkbook->workbookPr) { - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); - if (isset($xmlWorkbook->workbookPr['date1904'])) { - if (self::boolean((string) $xmlWorkbook->workbookPr['date1904'])) { - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); - } - } - } + // Set base date + if ($xmlWorkbook->workbookPr) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + if (isset($xmlWorkbook->workbookPr['date1904'])) { + if (self::boolean((string) $xmlWorkbook->workbookPr['date1904'])) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + } + } + } - $sheetId = 0; // keep track of new sheet id in final workbook - $oldSheetId = -1; // keep track of old sheet id in final workbook - $countSkippedSheets = 0; // keep track of number of skipped sheets - $mapSheetId = array(); // mapping of sheet ids from old to new + $sheetId = 0; // keep track of new sheet id in final workbook + $oldSheetId = -1; // keep track of old sheet id in final workbook + $countSkippedSheets = 0; // keep track of number of skipped sheets + $mapSheetId = array(); // mapping of sheet ids from old to new + $charts = $chartDetails = array(); - $charts = $chartDetails = array(); + if ($xmlWorkbook->sheets) { + foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { + ++$oldSheetId; - if ($xmlWorkbook->sheets) { - foreach ($xmlWorkbook->sheets->sheet as $eleSheet) { - ++$oldSheetId; + // Check if sheet should be skipped + if (isset($this->loadSheetsOnly) && !in_array((string) $eleSheet["name"], $this->loadSheetsOnly)) { + ++$countSkippedSheets; + $mapSheetId[$oldSheetId] = null; + continue; + } - // Check if sheet should be skipped - if (isset($this->_loadSheetsOnly) && !in_array((string) $eleSheet["name"], $this->_loadSheetsOnly)) { - ++$countSkippedSheets; - $mapSheetId[$oldSheetId] = null; - continue; - } + // Map old sheet id in original workbook to new sheet id. + // They will differ if loadSheetsOnly() is being used + $mapSheetId[$oldSheetId] = $oldSheetId - $countSkippedSheets; - // Map old sheet id in original workbook to new sheet id. - // They will differ if loadSheetsOnly() is being used - $mapSheetId[$oldSheetId] = $oldSheetId - $countSkippedSheets; + // Load sheet + $docSheet = $excel->createSheet(); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet + // references in formula cells... during the load, all formulae should be correct, + // and we're simply bringing the worksheet name in line with the formula, not the + // reverse + $docSheet->setTitle((string) $eleSheet["name"], false); + $fileWorksheet = $worksheets[(string) self::getArrayItem($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + $xmlSheet = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "$dir/$fileWorksheet")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - // Load sheet - $docSheet = $excel->createSheet(); - // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet - // references in formula cells... during the load, all formulae should be correct, - // and we're simply bringing the worksheet name in line with the formula, not the - // reverse - $docSheet->setTitle((string) $eleSheet["name"],false); - $fileWorksheet = $worksheets[(string) self::array_item($eleSheet->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; - $xmlSheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "$dir/$fileWorksheet")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + $sharedFormulas = array(); - $sharedFormulas = array(); + if (isset($eleSheet["state"]) && (string) $eleSheet["state"] != '') { + $docSheet->setSheetState((string) $eleSheet["state"]); + } - if (isset($eleSheet["state"]) && (string) $eleSheet["state"] != '') { - $docSheet->setSheetState( (string) $eleSheet["state"] ); - } + if (isset($xmlSheet->sheetViews) && isset($xmlSheet->sheetViews->sheetView)) { + if (isset($xmlSheet->sheetViews->sheetView['zoomScale'])) { + $docSheet->getSheetView()->setZoomScale(intval($xmlSheet->sheetViews->sheetView['zoomScale'])); + } + if (isset($xmlSheet->sheetViews->sheetView['zoomScaleNormal'])) { + $docSheet->getSheetView()->setZoomScaleNormal(intval($xmlSheet->sheetViews->sheetView['zoomScaleNormal'])); + } + if (isset($xmlSheet->sheetViews->sheetView['view'])) { + $docSheet->getSheetView()->setView((string) $xmlSheet->sheetViews->sheetView['view']); + } + if (isset($xmlSheet->sheetViews->sheetView['showGridLines'])) { + $docSheet->setShowGridLines(self::boolean((string)$xmlSheet->sheetViews->sheetView['showGridLines'])); + } + if (isset($xmlSheet->sheetViews->sheetView['showRowColHeaders'])) { + $docSheet->setShowRowColHeaders(self::boolean((string)$xmlSheet->sheetViews->sheetView['showRowColHeaders'])); + } + if (isset($xmlSheet->sheetViews->sheetView['rightToLeft'])) { + $docSheet->setRightToLeft(self::boolean((string)$xmlSheet->sheetViews->sheetView['rightToLeft'])); + } + if (isset($xmlSheet->sheetViews->sheetView->pane)) { + if (isset($xmlSheet->sheetViews->sheetView->pane['topLeftCell'])) { + $docSheet->freezePane((string)$xmlSheet->sheetViews->sheetView->pane['topLeftCell']); + } else { + $xSplit = 0; + $ySplit = 0; - if (isset($xmlSheet->sheetViews) && isset($xmlSheet->sheetViews->sheetView)) { - if (isset($xmlSheet->sheetViews->sheetView['zoomScale'])) { - $docSheet->getSheetView()->setZoomScale( intval($xmlSheet->sheetViews->sheetView['zoomScale']) ); - } + if (isset($xmlSheet->sheetViews->sheetView->pane['xSplit'])) { + $xSplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['xSplit']); + } - if (isset($xmlSheet->sheetViews->sheetView['zoomScaleNormal'])) { - $docSheet->getSheetView()->setZoomScaleNormal( intval($xmlSheet->sheetViews->sheetView['zoomScaleNormal']) ); - } + if (isset($xmlSheet->sheetViews->sheetView->pane['ySplit'])) { + $ySplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['ySplit']); + } - if (isset($xmlSheet->sheetViews->sheetView['view'])) { - $docSheet->getSheetView()->setView((string) $xmlSheet->sheetViews->sheetView['view']); - } + $docSheet->freezePaneByColumnAndRow($xSplit, $ySplit); + } + } - if (isset($xmlSheet->sheetViews->sheetView['showGridLines'])) { - $docSheet->setShowGridLines(self::boolean((string)$xmlSheet->sheetViews->sheetView['showGridLines'])); - } + if (isset($xmlSheet->sheetViews->sheetView->selection)) { + if (isset($xmlSheet->sheetViews->sheetView->selection['sqref'])) { + $sqref = (string)$xmlSheet->sheetViews->sheetView->selection['sqref']; + $sqref = explode(' ', $sqref); + $sqref = $sqref[0]; + $docSheet->setSelectedCells($sqref); + } + } + } - if (isset($xmlSheet->sheetViews->sheetView['showRowColHeaders'])) { - $docSheet->setShowRowColHeaders(self::boolean((string)$xmlSheet->sheetViews->sheetView['showRowColHeaders'])); - } + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->tabColor)) { + if (isset($xmlSheet->sheetPr->tabColor['rgb'])) { + $docSheet->getTabColor()->setARGB((string)$xmlSheet->sheetPr->tabColor['rgb']); + } + } + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr['codeName'])) { + $docSheet->setCodeName((string) $xmlSheet->sheetPr['codeName']); + } + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->outlinePr)) { + if (isset($xmlSheet->sheetPr->outlinePr['summaryRight']) && + !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryRight'])) { + $docSheet->setShowSummaryRight(false); + } else { + $docSheet->setShowSummaryRight(true); + } - if (isset($xmlSheet->sheetViews->sheetView['rightToLeft'])) { - $docSheet->setRightToLeft(self::boolean((string)$xmlSheet->sheetViews->sheetView['rightToLeft'])); - } + if (isset($xmlSheet->sheetPr->outlinePr['summaryBelow']) && + !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryBelow'])) { + $docSheet->setShowSummaryBelow(false); + } else { + $docSheet->setShowSummaryBelow(true); + } + } - if (isset($xmlSheet->sheetViews->sheetView->pane)) { - if (isset($xmlSheet->sheetViews->sheetView->pane['topLeftCell'])) { - $docSheet->freezePane( (string)$xmlSheet->sheetViews->sheetView->pane['topLeftCell'] ); - } else { - $xSplit = 0; - $ySplit = 0; + if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->pageSetUpPr)) { + if (isset($xmlSheet->sheetPr->pageSetUpPr['fitToPage']) && + !self::boolean((string) $xmlSheet->sheetPr->pageSetUpPr['fitToPage'])) { + $docSheet->getPageSetup()->setFitToPage(false); + } else { + $docSheet->getPageSetup()->setFitToPage(true); + } + } - if (isset($xmlSheet->sheetViews->sheetView->pane['xSplit'])) { - $xSplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['xSplit']); - } + if (isset($xmlSheet->sheetFormatPr)) { + if (isset($xmlSheet->sheetFormatPr['customHeight']) && + self::boolean((string) $xmlSheet->sheetFormatPr['customHeight']) && + isset($xmlSheet->sheetFormatPr['defaultRowHeight'])) { + $docSheet->getDefaultRowDimension()->setRowHeight((float)$xmlSheet->sheetFormatPr['defaultRowHeight']); + } + if (isset($xmlSheet->sheetFormatPr['defaultColWidth'])) { + $docSheet->getDefaultColumnDimension()->setWidth((float)$xmlSheet->sheetFormatPr['defaultColWidth']); + } + if (isset($xmlSheet->sheetFormatPr['zeroHeight']) && + ((string)$xmlSheet->sheetFormatPr['zeroHeight'] == '1')) { + $docSheet->getDefaultRowDimension()->setZeroHeight(true); + } + } - if (isset($xmlSheet->sheetViews->sheetView->pane['ySplit'])) { - $ySplit = 1 + intval($xmlSheet->sheetViews->sheetView->pane['ySplit']); - } - - $docSheet->freezePaneByColumnAndRow($xSplit, $ySplit); - } - } - - if (isset($xmlSheet->sheetViews->sheetView->selection)) { - if (isset($xmlSheet->sheetViews->sheetView->selection['sqref'])) { - $sqref = (string)$xmlSheet->sheetViews->sheetView->selection['sqref']; - $sqref = explode(' ', $sqref); - $sqref = $sqref[0]; - $docSheet->setSelectedCells($sqref); - } - } - - } - - if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->tabColor)) { - if (isset($xmlSheet->sheetPr->tabColor['rgb'])) { - $docSheet->getTabColor()->setARGB( (string)$xmlSheet->sheetPr->tabColor['rgb'] ); - } - } - if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr['codeName'])) { - $docSheet->setCodeName((string) $xmlSheet->sheetPr['codeName']); - } - if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->outlinePr)) { - if (isset($xmlSheet->sheetPr->outlinePr['summaryRight']) && - !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryRight'])) { - $docSheet->setShowSummaryRight(FALSE); - } else { - $docSheet->setShowSummaryRight(TRUE); - } - - if (isset($xmlSheet->sheetPr->outlinePr['summaryBelow']) && - !self::boolean((string) $xmlSheet->sheetPr->outlinePr['summaryBelow'])) { - $docSheet->setShowSummaryBelow(FALSE); - } else { - $docSheet->setShowSummaryBelow(TRUE); - } - } - - if (isset($xmlSheet->sheetPr) && isset($xmlSheet->sheetPr->pageSetUpPr)) { - if (isset($xmlSheet->sheetPr->pageSetUpPr['fitToPage']) && - !self::boolean((string) $xmlSheet->sheetPr->pageSetUpPr['fitToPage'])) { - $docSheet->getPageSetup()->setFitToPage(FALSE); - } else { - $docSheet->getPageSetup()->setFitToPage(TRUE); - } - } - - if (isset($xmlSheet->sheetFormatPr)) { - if (isset($xmlSheet->sheetFormatPr['customHeight']) && - self::boolean((string) $xmlSheet->sheetFormatPr['customHeight']) && - isset($xmlSheet->sheetFormatPr['defaultRowHeight'])) { - $docSheet->getDefaultRowDimension()->setRowHeight( (float)$xmlSheet->sheetFormatPr['defaultRowHeight'] ); - } - if (isset($xmlSheet->sheetFormatPr['defaultColWidth'])) { - $docSheet->getDefaultColumnDimension()->setWidth( (float)$xmlSheet->sheetFormatPr['defaultColWidth'] ); - } - if (isset($xmlSheet->sheetFormatPr['zeroHeight']) && - ((string)$xmlSheet->sheetFormatPr['zeroHeight'] == '1')) { - $docSheet->getDefaultRowDimension()->setZeroHeight(true); - } - } - - if (isset($xmlSheet->cols) && !$this->_readDataOnly) { - foreach ($xmlSheet->cols->col as $col) { + if (isset($xmlSheet->cols) && !$this->readDataOnly) { + foreach ($xmlSheet->cols->col as $col) { for ($i = intval($col["min"]) - 1; $i < intval($col["max"]); ++$i) { - if ($col["style"] && !$this->_readDataOnly) { - $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"])); - } - if (self::boolean($col["bestFit"])) { - //$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setAutoSize(TRUE); - } - if (self::boolean($col["hidden"])) { - // echo PHPExcel_Cell::stringFromColumnIndex($i),': HIDDEN COLUMN',PHP_EOL; - $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setVisible(FALSE); - } - if (self::boolean($col["collapsed"])) { - $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setCollapsed(TRUE); - } - if ($col["outlineLevel"] > 0) { - $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setOutlineLevel(intval($col["outlineLevel"])); - } - $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setWidth(floatval($col["width"])); + if ($col["style"] && !$this->readDataOnly) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setXfIndex(intval($col["style"])); + } + if (self::boolean($col["bestFit"])) { + //$docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setAutoSize(true); + } + if (self::boolean($col["hidden"])) { + // echo PHPExcel_Cell::stringFromColumnIndex($i), ': HIDDEN COLUMN',PHP_EOL; + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setVisible(false); + } + if (self::boolean($col["collapsed"])) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setCollapsed(true); + } + if ($col["outlineLevel"] > 0) { + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setOutlineLevel(intval($col["outlineLevel"])); + } + $docSheet->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($i))->setWidth(floatval($col["width"])); - if (intval($col["max"]) == 16384) { - break; - } - } - } - } + if (intval($col["max"]) == 16384) { + break; + } + } + } + } - if (isset($xmlSheet->printOptions) && !$this->_readDataOnly) { - if (self::boolean((string) $xmlSheet->printOptions['gridLinesSet'])) { - $docSheet->setShowGridlines(TRUE); - } + if (isset($xmlSheet->printOptions) && !$this->readDataOnly) { + if (self::boolean((string) $xmlSheet->printOptions['gridLinesSet'])) { + $docSheet->setShowGridlines(true); + } + if (self::boolean((string) $xmlSheet->printOptions['gridLines'])) { + $docSheet->setPrintGridlines(true); + } + if (self::boolean((string) $xmlSheet->printOptions['horizontalCentered'])) { + $docSheet->getPageSetup()->setHorizontalCentered(true); + } + if (self::boolean((string) $xmlSheet->printOptions['verticalCentered'])) { + $docSheet->getPageSetup()->setVerticalCentered(true); + } + } - if (self::boolean((string) $xmlSheet->printOptions['gridLines'])) { - $docSheet->setPrintGridlines(TRUE); - } + if ($xmlSheet && $xmlSheet->sheetData && $xmlSheet->sheetData->row) { + foreach ($xmlSheet->sheetData->row as $row) { + if ($row["ht"] && !$this->readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setRowHeight(floatval($row["ht"])); + } + if (self::boolean($row["hidden"]) && !$this->readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setVisible(false); + } + if (self::boolean($row["collapsed"])) { + $docSheet->getRowDimension(intval($row["r"]))->setCollapsed(true); + } + if ($row["outlineLevel"] > 0) { + $docSheet->getRowDimension(intval($row["r"]))->setOutlineLevel(intval($row["outlineLevel"])); + } + if ($row["s"] && !$this->readDataOnly) { + $docSheet->getRowDimension(intval($row["r"]))->setXfIndex(intval($row["s"])); + } - if (self::boolean((string) $xmlSheet->printOptions['horizontalCentered'])) { - $docSheet->getPageSetup()->setHorizontalCentered(TRUE); - } - if (self::boolean((string) $xmlSheet->printOptions['verticalCentered'])) { - $docSheet->getPageSetup()->setVerticalCentered(TRUE); - } - } + foreach ($row->c as $c) { + $r = (string) $c["r"]; + $cellDataType = (string) $c["t"]; + $value = null; + $calculatedValue = null; - if ($xmlSheet && $xmlSheet->sheetData && $xmlSheet->sheetData->row) { - foreach ($xmlSheet->sheetData->row as $row) { - if ($row["ht"] && !$this->_readDataOnly) { - $docSheet->getRowDimension(intval($row["r"]))->setRowHeight(floatval($row["ht"])); - } - if (self::boolean($row["hidden"]) && !$this->_readDataOnly) { - $docSheet->getRowDimension(intval($row["r"]))->setVisible(FALSE); - } - if (self::boolean($row["collapsed"])) { - $docSheet->getRowDimension(intval($row["r"]))->setCollapsed(TRUE); - } - if ($row["outlineLevel"] > 0) { - $docSheet->getRowDimension(intval($row["r"]))->setOutlineLevel(intval($row["outlineLevel"])); - } - if ($row["s"] && !$this->_readDataOnly) { - $docSheet->getRowDimension(intval($row["r"]))->setXfIndex(intval($row["s"])); - } + // Read cell? + if ($this->getReadFilter() !== null) { + $coordinates = PHPExcel_Cell::coordinateFromString($r); - foreach ($row->c as $c) { - $r = (string) $c["r"]; - $cellDataType = (string) $c["t"]; - $value = null; - $calculatedValue = null; + if (!$this->getReadFilter()->readCell($coordinates[0], $coordinates[1], $docSheet->getTitle())) { + continue; + } + } - // Read cell? - if ($this->getReadFilter() !== NULL) { - $coordinates = PHPExcel_Cell::coordinateFromString($r); + // echo 'Reading cell ', $coordinates[0], $coordinates[1], PHP_EOL; + // print_r($c); + // echo PHP_EOL; + // echo 'Cell Data Type is ', $cellDataType, ': '; + // + // Read cell! + switch ($cellDataType) { + case "s": + // echo 'String', PHP_EOL; + if ((string)$c->v != '') { + $value = $sharedStrings[intval($c->v)]; - if (!$this->getReadFilter()->readCell($coordinates[0], $coordinates[1], $docSheet->getTitle())) { - continue; - } - } + if ($value instanceof PHPExcel_RichText) { + $value = clone $value; + } + } else { + $value = ''; + } + break; + case "b": + // echo 'Boolean', PHP_EOL; + if (!isset($c->f)) { + $value = self::castToBoolean($c); + } else { + // Formula + $this->castToFormula($c, $r, $cellDataType, $value, $calculatedValue, $sharedFormulas, 'castToBoolean'); + if (isset($c->f['t'])) { + $att = array(); + $att = $c->f; + $docSheet->getCell($r)->setFormulaAttributes($att); + } + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + break; + case "inlineStr": +// echo 'Inline String', PHP_EOL; + if (isset($c->f)) { + $this->castToFormula($c, $r, $cellDataType, $value, $calculatedValue, $sharedFormulas, 'castToError'); + } else { + $value = $this->parseRichText($c->is); + } + break; + case "e": + // echo 'Error', PHP_EOL; + if (!isset($c->f)) { + $value = self::castToError($c); + } else { + // Formula + $this->castToFormula($c, $r, $cellDataType, $value, $calculatedValue, $sharedFormulas, 'castToError'); + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + break; + default: +// echo 'Default', PHP_EOL; + if (!isset($c->f)) { + // echo 'Not a Formula', PHP_EOL; + $value = self::castToString($c); + } else { + // echo 'Treat as Formula', PHP_EOL; + // Formula + $this->castToFormula($c, $r, $cellDataType, $value, $calculatedValue, $sharedFormulas, 'castToString'); + // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; + } + break; + } + // echo 'Value is ', $value, PHP_EOL; - // echo 'Reading cell ', $coordinates[0], $coordinates[1], PHP_EOL; - // print_r($c); - // echo PHP_EOL; - // echo 'Cell Data Type is ', $cellDataType, ': '; - // - // Read cell! - switch ($cellDataType) { - case "s": - // echo 'String', PHP_EOL; - if ((string)$c->v != '') { - $value = $sharedStrings[intval($c->v)]; + // Check for numeric values + if (is_numeric($value) && $cellDataType != 's') { + if ($value == (int)$value) { + $value = (int)$value; + } elseif ($value == (float)$value) { + $value = (float)$value; + } elseif ($value == (double)$value) { + $value = (double)$value; + } + } - if ($value instanceof PHPExcel_RichText) { - $value = clone $value; - } - } else { - $value = ''; - } + // Rich text? + if ($value instanceof PHPExcel_RichText && $this->readDataOnly) { + $value = $value->getPlainText(); + } - break; - case "b": - // echo 'Boolean', PHP_EOL; - if (!isset($c->f)) { - $value = self::_castToBool($c); - } else { - // Formula - $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToBool'); - if (isset($c->f['t'])) { - $att = array(); - $att = $c->f; - $docSheet->getCell($r)->setFormulaAttributes($att); - } - // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; - } - break; - case "inlineStr": - // echo 'Inline String', PHP_EOL; - $value = $this->_parseRichText($c->is); + $cell = $docSheet->getCell($r); + // Assign value + if ($cellDataType != '') { + $cell->setValueExplicit($value, $cellDataType); + } else { + $cell->setValue($value); + } + if ($calculatedValue !== null) { + $cell->setCalculatedValue($calculatedValue); + } - break; - case "e": - // echo 'Error', PHP_EOL; - if (!isset($c->f)) { - $value = self::_castToError($c); - } else { - // Formula - $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToError'); - // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; - } + // Style information? + if ($c["s"] && !$this->readDataOnly) { + // no style index means 0, it seems + $cell->setXfIndex(isset($styles[intval($c["s"])]) ? + intval($c["s"]) : 0); + } + } + } + } - break; + $conditionals = array(); + if (!$this->readDataOnly && $xmlSheet && $xmlSheet->conditionalFormatting) { + foreach ($xmlSheet->conditionalFormatting as $conditional) { + foreach ($conditional->cfRule as $cfRule) { + if (((string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_NONE || (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CELLIS || (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT || (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) && isset($dxfs[intval($cfRule["dxfId"])])) { + $conditionals[(string) $conditional["sqref"]][intval($cfRule["priority"])] = $cfRule; + } + } + } - default: - // echo 'Default', PHP_EOL; - if (!isset($c->f)) { - // echo 'Not a Formula', PHP_EOL; - $value = self::_castToString($c); - } else { - // echo 'Treat as Formula', PHP_EOL; - // Formula - $this->_castToFormula($c,$r,$cellDataType,$value,$calculatedValue,$sharedFormulas,'_castToString'); - // echo '$calculatedValue = ', $calculatedValue, PHP_EOL; - } + foreach ($conditionals as $ref => $cfRules) { + ksort($cfRules); + $conditionalStyles = array(); + foreach ($cfRules as $cfRule) { + $objConditional = new PHPExcel_Style_Conditional(); + $objConditional->setConditionType((string)$cfRule["type"]); + $objConditional->setOperatorType((string)$cfRule["operator"]); - break; - } - // echo 'Value is ', $value, PHP_EOL; + if ((string)$cfRule["text"] != '') { + $objConditional->setText((string)$cfRule["text"]); + } - // Check for numeric values - if (is_numeric($value) && $cellDataType != 's') { - if ($value == (int)$value) $value = (int)$value; - elseif ($value == (float)$value) $value = (float)$value; - elseif ($value == (double)$value) $value = (double)$value; - } + if (count($cfRule->formula) > 1) { + foreach ($cfRule->formula as $formula) { + $objConditional->addCondition((string)$formula); + } + } else { + $objConditional->addCondition((string)$cfRule->formula); + } + $objConditional->setStyle(clone $dxfs[intval($cfRule["dxfId"])]); + $conditionalStyles[] = $objConditional; + } - // Rich text? - if ($value instanceof PHPExcel_RichText && $this->_readDataOnly) { - $value = $value->getPlainText(); - } + // Extract all cell references in $ref + $cellBlocks = explode(' ', str_replace('$', '', strtoupper($ref))); + foreach ($cellBlocks as $cellBlock) { + $docSheet->getStyle($cellBlock)->setConditionalStyles($conditionalStyles); + } + } + } - $cell = $docSheet->getCell($r); - // Assign value - if ($cellDataType != '') { - $cell->setValueExplicit($value, $cellDataType); - } else { - $cell->setValue($value); - } - if ($calculatedValue !== NULL) { - $cell->setCalculatedValue($calculatedValue); - } + $aKeys = array("sheet", "objects", "scenarios", "formatCells", "formatColumns", "formatRows", "insertColumns", "insertRows", "insertHyperlinks", "deleteColumns", "deleteRows", "selectLockedCells", "sort", "autoFilter", "pivotTables", "selectUnlockedCells"); + if (!$this->readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { + foreach ($aKeys as $key) { + $method = "set" . ucfirst($key); + $docSheet->getProtection()->$method(self::boolean((string) $xmlSheet->sheetProtection[$key])); + } + } - // Style information? - if ($c["s"] && !$this->_readDataOnly) { - // no style index means 0, it seems - $cell->setXfIndex(isset($styles[intval($c["s"])]) ? - intval($c["s"]) : 0); - } - } - } - } + if (!$this->readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { + $docSheet->getProtection()->setPassword((string) $xmlSheet->sheetProtection["password"], true); + if ($xmlSheet->protectedRanges->protectedRange) { + foreach ($xmlSheet->protectedRanges->protectedRange as $protectedRange) { + $docSheet->protectCells((string) $protectedRange["sqref"], (string) $protectedRange["password"], true); + } + } + } - $conditionals = array(); - if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->conditionalFormatting) { - foreach ($xmlSheet->conditionalFormatting as $conditional) { - foreach ($conditional->cfRule as $cfRule) { - if ( - ( - (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_NONE || - (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CELLIS || - (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT || - (string)$cfRule["type"] == PHPExcel_Style_Conditional::CONDITION_EXPRESSION - ) && isset($dxfs[intval($cfRule["dxfId"])]) - ) { - $conditionals[(string) $conditional["sqref"]][intval($cfRule["priority"])] = $cfRule; - } - } - } - - foreach ($conditionals as $ref => $cfRules) { - ksort($cfRules); - $conditionalStyles = array(); - foreach ($cfRules as $cfRule) { - $objConditional = new PHPExcel_Style_Conditional(); - $objConditional->setConditionType((string)$cfRule["type"]); - $objConditional->setOperatorType((string)$cfRule["operator"]); - - if ((string)$cfRule["text"] != '') { - $objConditional->setText((string)$cfRule["text"]); - } - - if (count($cfRule->formula) > 1) { - foreach ($cfRule->formula as $formula) { - $objConditional->addCondition((string)$formula); - } - } else { - $objConditional->addCondition((string)$cfRule->formula); - } - $objConditional->setStyle(clone $dxfs[intval($cfRule["dxfId"])]); - $conditionalStyles[] = $objConditional; - } - - // Extract all cell references in $ref - $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($ref); - foreach ($aReferences as $reference) { - $docSheet->getStyle($reference)->setConditionalStyles($conditionalStyles); - } - } - } - - $aKeys = array("sheet", "objects", "scenarios", "formatCells", "formatColumns", "formatRows", "insertColumns", "insertRows", "insertHyperlinks", "deleteColumns", "deleteRows", "selectLockedCells", "sort", "autoFilter", "pivotTables", "selectUnlockedCells"); - if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { - foreach ($aKeys as $key) { - $method = "set" . ucfirst($key); - $docSheet->getProtection()->$method(self::boolean((string) $xmlSheet->sheetProtection[$key])); - } - } - - if (!$this->_readDataOnly && $xmlSheet && $xmlSheet->sheetProtection) { - $docSheet->getProtection()->setPassword((string) $xmlSheet->sheetProtection["password"], TRUE); - if ($xmlSheet->protectedRanges->protectedRange) { - foreach ($xmlSheet->protectedRanges->protectedRange as $protectedRange) { - $docSheet->protectCells((string) $protectedRange["sqref"], (string) $protectedRange["password"], true); - } - } - } - - if ($xmlSheet && $xmlSheet->autoFilter && !$this->_readDataOnly) { + if ($xmlSheet && $xmlSheet->autoFilter && !$this->readDataOnly) { $autoFilterRange = (string) $xmlSheet->autoFilter["ref"]; if (strpos($autoFilterRange, ':') !== false) { $autoFilter = $docSheet->getAutoFilter(); @@ -1013,30 +992,25 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE foreach ($xmlSheet->autoFilter->filterColumn as $filterColumn) { $column = $autoFilter->getColumnByOffset((integer) $filterColumn["colId"]); - // Check for standard filters + // Check for standard filters if ($filterColumn->filters) { $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER); $filters = $filterColumn->filters; if ((isset($filters["blank"])) && ($filters["blank"] == 1)) { - $column->createRule()->setRule( - NULL, // Operator is undefined, but always treated as EQUAL - '' - ) - ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); + // Operator is undefined, but always treated as EQUAL + $column->createRule()->setRule(null, '')->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); } - // Standard filters are always an OR join, so no join rule needs to be set - // Entries can be either filter elements + // Standard filters are always an OR join, so no join rule needs to be set + // Entries can be either filter elements foreach ($filters->filter as $filterRule) { - $column->createRule()->setRule( - NULL, // Operator is undefined, but always treated as EQUAL - (string) $filterRule["val"] - ) - ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); + // Operator is undefined, but always treated as EQUAL + $column->createRule()->setRule(null, (string) $filterRule["val"])->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER); } - // Or Date Group elements + // Or Date Group elements foreach ($filters->dateGroupItem as $dateGroupItem) { $column->createRule()->setRule( - NULL, // Operator is undefined, but always treated as EQUAL + // Operator is undefined, but always treated as EQUAL + null, array( 'year' => (string) $dateGroupItem["year"], 'month' => (string) $dateGroupItem["month"], @@ -1050,12 +1024,12 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP); } } - // Check for custom filters + // Check for custom filters if ($filterColumn->customFilters) { $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER); $customFilters = $filterColumn->customFilters; - // Custom filters can an AND or an OR join; - // and there should only ever be one or two entries + // Custom filters can an AND or an OR join; + // and there should only ever be one or two entries if ((isset($customFilters["and"])) && ($customFilters["and"] == 1)) { $column->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); } @@ -1067,29 +1041,30 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER); } } - // Check for dynamic filters + // Check for dynamic filters if ($filterColumn->dynamicFilter) { $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER); - // We should only ever have one dynamic filter + // We should only ever have one dynamic filter foreach ($filterColumn->dynamicFilter as $filterRule) { $column->createRule()->setRule( - NULL, // Operator is undefined, but always treated as EQUAL + // Operator is undefined, but always treated as EQUAL + null, (string) $filterRule["val"], (string) $filterRule["type"] ) ->setRuleType(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER); if (isset($filterRule["val"])) { - $column->setAttribute('val',(string) $filterRule["val"]); + $column->setAttribute('val', (string) $filterRule["val"]); } if (isset($filterRule["maxVal"])) { - $column->setAttribute('maxVal',(string) $filterRule["maxVal"]); + $column->setAttribute('maxVal', (string) $filterRule["maxVal"]); } } } - // Check for dynamic filters + // Check for dynamic filters if ($filterColumn->top10) { $column->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER); - // We should only ever have one top10 filter + // We should only ever have one top10 filter foreach ($filterColumn->top10 as $filterRule) { $column->createRule()->setRule( (((isset($filterRule["percent"])) && ($filterRule["percent"] == 1)) @@ -1106,478 +1081,490 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE } } } - } - } + } + } - if ($xmlSheet && $xmlSheet->mergeCells && $xmlSheet->mergeCells->mergeCell && !$this->_readDataOnly) { - foreach ($xmlSheet->mergeCells->mergeCell as $mergeCell) { - $mergeRef = (string) $mergeCell["ref"]; - if (strpos($mergeRef,':') !== FALSE) { - $docSheet->mergeCells((string) $mergeCell["ref"]); - } - } - } + if ($xmlSheet && $xmlSheet->mergeCells && $xmlSheet->mergeCells->mergeCell && !$this->readDataOnly) { + foreach ($xmlSheet->mergeCells->mergeCell as $mergeCell) { + $mergeRef = (string) $mergeCell["ref"]; + if (strpos($mergeRef, ':') !== false) { + $docSheet->mergeCells((string) $mergeCell["ref"]); + } + } + } - if ($xmlSheet && $xmlSheet->pageMargins && !$this->_readDataOnly) { - $docPageMargins = $docSheet->getPageMargins(); - $docPageMargins->setLeft(floatval($xmlSheet->pageMargins["left"])); - $docPageMargins->setRight(floatval($xmlSheet->pageMargins["right"])); - $docPageMargins->setTop(floatval($xmlSheet->pageMargins["top"])); - $docPageMargins->setBottom(floatval($xmlSheet->pageMargins["bottom"])); - $docPageMargins->setHeader(floatval($xmlSheet->pageMargins["header"])); - $docPageMargins->setFooter(floatval($xmlSheet->pageMargins["footer"])); - } + if ($xmlSheet && $xmlSheet->pageMargins && !$this->readDataOnly) { + $docPageMargins = $docSheet->getPageMargins(); + $docPageMargins->setLeft(floatval($xmlSheet->pageMargins["left"])); + $docPageMargins->setRight(floatval($xmlSheet->pageMargins["right"])); + $docPageMargins->setTop(floatval($xmlSheet->pageMargins["top"])); + $docPageMargins->setBottom(floatval($xmlSheet->pageMargins["bottom"])); + $docPageMargins->setHeader(floatval($xmlSheet->pageMargins["header"])); + $docPageMargins->setFooter(floatval($xmlSheet->pageMargins["footer"])); + } - if ($xmlSheet && $xmlSheet->pageSetup && !$this->_readDataOnly) { - $docPageSetup = $docSheet->getPageSetup(); + if ($xmlSheet && $xmlSheet->pageSetup && !$this->readDataOnly) { + $docPageSetup = $docSheet->getPageSetup(); - if (isset($xmlSheet->pageSetup["orientation"])) { - $docPageSetup->setOrientation((string) $xmlSheet->pageSetup["orientation"]); - } - if (isset($xmlSheet->pageSetup["paperSize"])) { - $docPageSetup->setPaperSize(intval($xmlSheet->pageSetup["paperSize"])); - } - if (isset($xmlSheet->pageSetup["scale"])) { - $docPageSetup->setScale(intval($xmlSheet->pageSetup["scale"]), FALSE); - } - if (isset($xmlSheet->pageSetup["fitToHeight"]) && intval($xmlSheet->pageSetup["fitToHeight"]) >= 0) { - $docPageSetup->setFitToHeight(intval($xmlSheet->pageSetup["fitToHeight"]), FALSE); - } - if (isset($xmlSheet->pageSetup["fitToWidth"]) && intval($xmlSheet->pageSetup["fitToWidth"]) >= 0) { - $docPageSetup->setFitToWidth(intval($xmlSheet->pageSetup["fitToWidth"]), FALSE); - } - if (isset($xmlSheet->pageSetup["firstPageNumber"]) && isset($xmlSheet->pageSetup["useFirstPageNumber"]) && - self::boolean((string) $xmlSheet->pageSetup["useFirstPageNumber"])) { - $docPageSetup->setFirstPageNumber(intval($xmlSheet->pageSetup["firstPageNumber"])); - } - } + if (isset($xmlSheet->pageSetup["orientation"])) { + $docPageSetup->setOrientation((string) $xmlSheet->pageSetup["orientation"]); + } + if (isset($xmlSheet->pageSetup["paperSize"])) { + $docPageSetup->setPaperSize(intval($xmlSheet->pageSetup["paperSize"])); + } + if (isset($xmlSheet->pageSetup["scale"])) { + $docPageSetup->setScale(intval($xmlSheet->pageSetup["scale"]), false); + } + if (isset($xmlSheet->pageSetup["fitToHeight"]) && intval($xmlSheet->pageSetup["fitToHeight"]) >= 0) { + $docPageSetup->setFitToHeight(intval($xmlSheet->pageSetup["fitToHeight"]), false); + } + if (isset($xmlSheet->pageSetup["fitToWidth"]) && intval($xmlSheet->pageSetup["fitToWidth"]) >= 0) { + $docPageSetup->setFitToWidth(intval($xmlSheet->pageSetup["fitToWidth"]), false); + } + if (isset($xmlSheet->pageSetup["firstPageNumber"]) && isset($xmlSheet->pageSetup["useFirstPageNumber"]) && + self::boolean((string) $xmlSheet->pageSetup["useFirstPageNumber"])) { + $docPageSetup->setFirstPageNumber(intval($xmlSheet->pageSetup["firstPageNumber"])); + } + } - if ($xmlSheet && $xmlSheet->headerFooter && !$this->_readDataOnly) { - $docHeaderFooter = $docSheet->getHeaderFooter(); + if ($xmlSheet && $xmlSheet->headerFooter && !$this->readDataOnly) { + $docHeaderFooter = $docSheet->getHeaderFooter(); - if (isset($xmlSheet->headerFooter["differentOddEven"]) && - self::boolean((string)$xmlSheet->headerFooter["differentOddEven"])) { - $docHeaderFooter->setDifferentOddEven(TRUE); - } else { - $docHeaderFooter->setDifferentOddEven(FALSE); - } - if (isset($xmlSheet->headerFooter["differentFirst"]) && - self::boolean((string)$xmlSheet->headerFooter["differentFirst"])) { - $docHeaderFooter->setDifferentFirst(TRUE); - } else { - $docHeaderFooter->setDifferentFirst(FALSE); - } - if (isset($xmlSheet->headerFooter["scaleWithDoc"]) && - !self::boolean((string)$xmlSheet->headerFooter["scaleWithDoc"])) { - $docHeaderFooter->setScaleWithDocument(FALSE); - } else { - $docHeaderFooter->setScaleWithDocument(TRUE); - } - if (isset($xmlSheet->headerFooter["alignWithMargins"]) && - !self::boolean((string)$xmlSheet->headerFooter["alignWithMargins"])) { - $docHeaderFooter->setAlignWithMargins(FALSE); - } else { - $docHeaderFooter->setAlignWithMargins(TRUE); - } + if (isset($xmlSheet->headerFooter["differentOddEven"]) && + self::boolean((string)$xmlSheet->headerFooter["differentOddEven"])) { + $docHeaderFooter->setDifferentOddEven(true); + } else { + $docHeaderFooter->setDifferentOddEven(false); + } + if (isset($xmlSheet->headerFooter["differentFirst"]) && + self::boolean((string)$xmlSheet->headerFooter["differentFirst"])) { + $docHeaderFooter->setDifferentFirst(true); + } else { + $docHeaderFooter->setDifferentFirst(false); + } + if (isset($xmlSheet->headerFooter["scaleWithDoc"]) && + !self::boolean((string)$xmlSheet->headerFooter["scaleWithDoc"])) { + $docHeaderFooter->setScaleWithDocument(false); + } else { + $docHeaderFooter->setScaleWithDocument(true); + } + if (isset($xmlSheet->headerFooter["alignWithMargins"]) && + !self::boolean((string)$xmlSheet->headerFooter["alignWithMargins"])) { + $docHeaderFooter->setAlignWithMargins(false); + } else { + $docHeaderFooter->setAlignWithMargins(true); + } - $docHeaderFooter->setOddHeader((string) $xmlSheet->headerFooter->oddHeader); - $docHeaderFooter->setOddFooter((string) $xmlSheet->headerFooter->oddFooter); - $docHeaderFooter->setEvenHeader((string) $xmlSheet->headerFooter->evenHeader); - $docHeaderFooter->setEvenFooter((string) $xmlSheet->headerFooter->evenFooter); - $docHeaderFooter->setFirstHeader((string) $xmlSheet->headerFooter->firstHeader); - $docHeaderFooter->setFirstFooter((string) $xmlSheet->headerFooter->firstFooter); - } + $docHeaderFooter->setOddHeader((string) $xmlSheet->headerFooter->oddHeader); + $docHeaderFooter->setOddFooter((string) $xmlSheet->headerFooter->oddFooter); + $docHeaderFooter->setEvenHeader((string) $xmlSheet->headerFooter->evenHeader); + $docHeaderFooter->setEvenFooter((string) $xmlSheet->headerFooter->evenFooter); + $docHeaderFooter->setFirstHeader((string) $xmlSheet->headerFooter->firstHeader); + $docHeaderFooter->setFirstFooter((string) $xmlSheet->headerFooter->firstFooter); + } - if ($xmlSheet && $xmlSheet->rowBreaks && $xmlSheet->rowBreaks->brk && !$this->_readDataOnly) { - foreach ($xmlSheet->rowBreaks->brk as $brk) { - if ($brk["man"]) { - $docSheet->setBreak("A$brk[id]", PHPExcel_Worksheet::BREAK_ROW); - } - } - } - if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->_readDataOnly) { - foreach ($xmlSheet->colBreaks->brk as $brk) { - if ($brk["man"]) { - $docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex((string) $brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN); - } - } - } + if ($xmlSheet && $xmlSheet->rowBreaks && $xmlSheet->rowBreaks->brk && !$this->readDataOnly) { + foreach ($xmlSheet->rowBreaks->brk as $brk) { + if ($brk["man"]) { + $docSheet->setBreak("A$brk[id]", PHPExcel_Worksheet::BREAK_ROW); + } + } + } + if ($xmlSheet && $xmlSheet->colBreaks && $xmlSheet->colBreaks->brk && !$this->readDataOnly) { + foreach ($xmlSheet->colBreaks->brk as $brk) { + if ($brk["man"]) { + $docSheet->setBreak(PHPExcel_Cell::stringFromColumnIndex((string) $brk["id"]) . "1", PHPExcel_Worksheet::BREAK_COLUMN); + } + } + } - if ($xmlSheet && $xmlSheet->dataValidations && !$this->_readDataOnly) { - foreach ($xmlSheet->dataValidations->dataValidation as $dataValidation) { - // Uppercase coordinate - $range = strtoupper($dataValidation["sqref"]); - $rangeSet = explode(' ',$range); - foreach($rangeSet as $range) { - $stRange = $docSheet->shrinkRangeToFit($range); + if ($xmlSheet && $xmlSheet->dataValidations && !$this->readDataOnly) { + foreach ($xmlSheet->dataValidations->dataValidation as $dataValidation) { + // Uppercase coordinate + $range = strtoupper($dataValidation["sqref"]); + $rangeSet = explode(' ', $range); + foreach ($rangeSet as $range) { + $stRange = $docSheet->shrinkRangeToFit($range); - // Extract all cell references in $range - $aReferences = PHPExcel_Cell::extractAllCellReferencesInRange($stRange); - foreach ($aReferences as $reference) { - // Create validation - $docValidation = $docSheet->getCell($reference)->getDataValidation(); - $docValidation->setType((string) $dataValidation["type"]); - $docValidation->setErrorStyle((string) $dataValidation["errorStyle"]); - $docValidation->setOperator((string) $dataValidation["operator"]); - $docValidation->setAllowBlank($dataValidation["allowBlank"] != 0); - $docValidation->setShowDropDown($dataValidation["showDropDown"] == 0); - $docValidation->setShowInputMessage($dataValidation["showInputMessage"] != 0); - $docValidation->setShowErrorMessage($dataValidation["showErrorMessage"] != 0); - $docValidation->setErrorTitle((string) $dataValidation["errorTitle"]); - $docValidation->setError((string) $dataValidation["error"]); - $docValidation->setPromptTitle((string) $dataValidation["promptTitle"]); - $docValidation->setPrompt((string) $dataValidation["prompt"]); - $docValidation->setFormula1((string) $dataValidation->formula1); - $docValidation->setFormula2((string) $dataValidation->formula2); - } - } - } - } + // Extract all cell references in $range + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($stRange) as $reference) { + // Create validation + $docValidation = $docSheet->getCell($reference)->getDataValidation(); + $docValidation->setType((string) $dataValidation["type"]); + $docValidation->setErrorStyle((string) $dataValidation["errorStyle"]); + $docValidation->setOperator((string) $dataValidation["operator"]); + $docValidation->setAllowBlank($dataValidation["allowBlank"] != 0); + $docValidation->setShowDropDown($dataValidation["showDropDown"] == 0); + $docValidation->setShowInputMessage($dataValidation["showInputMessage"] != 0); + $docValidation->setShowErrorMessage($dataValidation["showErrorMessage"] != 0); + $docValidation->setErrorTitle((string) $dataValidation["errorTitle"]); + $docValidation->setError((string) $dataValidation["error"]); + $docValidation->setPromptTitle((string) $dataValidation["promptTitle"]); + $docValidation->setPrompt((string) $dataValidation["prompt"]); + $docValidation->setFormula1((string) $dataValidation->formula1); + $docValidation->setFormula2((string) $dataValidation->formula2); + } + } + } + } - // Add hyperlinks - $hyperlinks = array(); - if (!$this->_readDataOnly) { - // Locate hyperlink relations - if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { - $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($relsWorksheet->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink") { - $hyperlinks[(string)$ele["Id"]] = (string)$ele["Target"]; - } - } - } + // Add hyperlinks + $hyperlinks = array(); + if (!$this->readDataOnly) { + // Locate hyperlink relations + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink") { + $hyperlinks[(string)$ele["Id"]] = (string)$ele["Target"]; + } + } + } - // Loop through hyperlinks - if ($xmlSheet && $xmlSheet->hyperlinks) { - foreach ($xmlSheet->hyperlinks->hyperlink as $hyperlink) { - // Link url - $linkRel = $hyperlink->attributes('http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + // Loop through hyperlinks + if ($xmlSheet && $xmlSheet->hyperlinks) { + foreach ($xmlSheet->hyperlinks->hyperlink as $hyperlink) { + // Link url + $linkRel = $hyperlink->attributes('http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - foreach (PHPExcel_Cell::extractAllCellReferencesInRange($hyperlink['ref']) as $cellReference) { - $cell = $docSheet->getCell( $cellReference ); - if (isset($linkRel['id'])) { - $hyperlinkUrl = $hyperlinks[ (string)$linkRel['id'] ]; - if (isset($hyperlink['location'])) { - $hyperlinkUrl .= '#' . (string) $hyperlink['location']; - } - $cell->getHyperlink()->setUrl($hyperlinkUrl); - } elseif (isset($hyperlink['location'])) { - $cell->getHyperlink()->setUrl( 'sheet://' . (string)$hyperlink['location'] ); - } + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($hyperlink['ref']) as $cellReference) { + $cell = $docSheet->getCell($cellReference); + if (isset($linkRel['id'])) { + $hyperlinkUrl = $hyperlinks[ (string)$linkRel['id'] ]; + if (isset($hyperlink['location'])) { + $hyperlinkUrl .= '#' . (string) $hyperlink['location']; + } + $cell->getHyperlink()->setUrl($hyperlinkUrl); + } elseif (isset($hyperlink['location'])) { + $cell->getHyperlink()->setUrl('sheet://' . (string)$hyperlink['location']); + } - // Tooltip - if (isset($hyperlink['tooltip'])) { - $cell->getHyperlink()->setTooltip( (string)$hyperlink['tooltip'] ); - } - } - } - } - } + // Tooltip + if (isset($hyperlink['tooltip'])) { + $cell->getHyperlink()->setTooltip((string)$hyperlink['tooltip']); + } + } + } + } + } - // Add comments - $comments = array(); - $vmlComments = array(); - if (!$this->_readDataOnly) { - // Locate comment relations - if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { - $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - foreach ($relsWorksheet->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments") { - $comments[(string)$ele["Id"]] = (string)$ele["Target"]; - } - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { - $vmlComments[(string)$ele["Id"]] = (string)$ele["Target"]; - } - } - } + // Add comments + $comments = array(); + $vmlComments = array(); + if (!$this->readDataOnly) { + // Locate comment relations + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments") { + $comments[(string)$ele["Id"]] = (string)$ele["Target"]; + } + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { + $vmlComments[(string)$ele["Id"]] = (string)$ele["Target"]; + } + } + } - // Loop through comments - foreach ($comments as $relName => $relPath) { - // Load comments file - $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); - $commentsFile = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + // Loop through comments + foreach ($comments as $relName => $relPath) { + // Load comments file + $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); + $commentsFile = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - // Utility variables - $authors = array(); + // Utility variables + $authors = array(); - // Loop through authors - foreach ($commentsFile->authors->author as $author) { - $authors[] = (string)$author; - } + // Loop through authors + foreach ($commentsFile->authors->author as $author) { + $authors[] = (string)$author; + } - // Loop through contents - foreach ($commentsFile->commentList->comment as $comment) { - if(!empty($comment['authorId'])) - $docSheet->getComment( (string)$comment['ref'] )->setAuthor( $authors[(string)$comment['authorId']] ); - $docSheet->getComment( (string)$comment['ref'] )->setText( $this->_parseRichText($comment->text) ); - } - } + // Loop through contents + foreach ($commentsFile->commentList->comment as $comment) { + if (!empty($comment['authorId'])) { + $docSheet->getComment((string)$comment['ref'])->setAuthor($authors[(string)$comment['authorId']]); + } + $docSheet->getComment((string)$comment['ref'])->setText($this->parseRichText($comment->text)); + } + } - // Loop through VML comments - foreach ($vmlComments as $relName => $relPath) { - // Load VML comments file - $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); - $vmlCommentsFile = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $vmlCommentsFile->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + // Loop through VML comments + foreach ($vmlComments as $relName => $relPath) { + // Load VML comments file + $relPath = PHPExcel_Shared_File::realpath(dirname("$dir/$fileWorksheet") . "/" . $relPath); + $vmlCommentsFile = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, $relPath)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $vmlCommentsFile->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); - $shapes = $vmlCommentsFile->xpath('//v:shape'); - foreach ($shapes as $shape) { - $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + $shapes = $vmlCommentsFile->xpath('//v:shape'); + foreach ($shapes as $shape) { + $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); - if (isset($shape['style'])) { - $style = (string)$shape['style']; - $fillColor = strtoupper( substr( (string)$shape['fillcolor'], 1 ) ); - $column = null; - $row = null; + if (isset($shape['style'])) { + $style = (string)$shape['style']; + $fillColor = strtoupper(substr((string)$shape['fillcolor'], 1)); + $column = null; + $row = null; - $clientData = $shape->xpath('.//x:ClientData'); - if (is_array($clientData) && !empty($clientData)) { - $clientData = $clientData[0]; + $clientData = $shape->xpath('.//x:ClientData'); + if (is_array($clientData) && !empty($clientData)) { + $clientData = $clientData[0]; - if ( isset($clientData['ObjectType']) && (string)$clientData['ObjectType'] == 'Note' ) { - $temp = $clientData->xpath('.//x:Row'); - if (is_array($temp)) $row = $temp[0]; + if (isset($clientData['ObjectType']) && (string)$clientData['ObjectType'] == 'Note') { + $temp = $clientData->xpath('.//x:Row'); + if (is_array($temp)) { + $row = $temp[0]; + } - $temp = $clientData->xpath('.//x:Column'); - if (is_array($temp)) $column = $temp[0]; - } - } + $temp = $clientData->xpath('.//x:Column'); + if (is_array($temp)) { + $column = $temp[0]; + } + } + } - if (($column !== NULL) && ($row !== NULL)) { - // Set comment properties - $comment = $docSheet->getCommentByColumnAndRow((string) $column, $row + 1); - $comment->getFillColor()->setRGB( $fillColor ); + if (($column !== null) && ($row !== null)) { + // Set comment properties + $comment = $docSheet->getCommentByColumnAndRow((string) $column, $row + 1); + $comment->getFillColor()->setRGB($fillColor); - // Parse style - $styleArray = explode(';', str_replace(' ', '', $style)); - foreach ($styleArray as $stylePair) { - $stylePair = explode(':', $stylePair); + // Parse style + $styleArray = explode(';', str_replace(' ', '', $style)); + foreach ($styleArray as $stylePair) { + $stylePair = explode(':', $stylePair); - if ($stylePair[0] == 'margin-left') $comment->setMarginLeft($stylePair[1]); - if ($stylePair[0] == 'margin-top') $comment->setMarginTop($stylePair[1]); - if ($stylePair[0] == 'width') $comment->setWidth($stylePair[1]); - if ($stylePair[0] == 'height') $comment->setHeight($stylePair[1]); - if ($stylePair[0] == 'visibility') $comment->setVisible( $stylePair[1] == 'visible' ); + if ($stylePair[0] == 'margin-left') { + $comment->setMarginLeft($stylePair[1]); + } + if ($stylePair[0] == 'margin-top') { + $comment->setMarginTop($stylePair[1]); + } + if ($stylePair[0] == 'width') { + $comment->setWidth($stylePair[1]); + } + if ($stylePair[0] == 'height') { + $comment->setHeight($stylePair[1]); + } + if ($stylePair[0] == 'visibility') { + $comment->setVisible($stylePair[1] == 'visible'); + } + } + } + } + } + } - } - } - } - } - } + // Header/footer images + if ($xmlSheet && $xmlSheet->legacyDrawingHF && !$this->readDataOnly) { + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $vmlRelationship = ''; - // Header/footer images - if ($xmlSheet && $xmlSheet->legacyDrawingHF && !$this->_readDataOnly) { - if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { - $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $vmlRelationship = ''; + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { + $vmlRelationship = self::dirAdd("$dir/$fileWorksheet", $ele["Target"]); + } + } - foreach ($relsWorksheet->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing") { - $vmlRelationship = self::dir_add("$dir/$fileWorksheet", $ele["Target"]); - } - } + if ($vmlRelationship != '') { + // Fetch linked images + $relsVML = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname($vmlRelationship) . '/_rels/' . basename($vmlRelationship) . '.rels')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $drawings = array(); + foreach ($relsVML->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { + $drawings[(string) $ele["Id"]] = self::dirAdd($vmlRelationship, $ele["Target"]); + } + } - if ($vmlRelationship != '') { - // Fetch linked images - $relsVML = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname($vmlRelationship) . '/_rels/' . basename($vmlRelationship) . '.rels')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $drawings = array(); - foreach ($relsVML->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { - $drawings[(string) $ele["Id"]] = self::dir_add($vmlRelationship, $ele["Target"]); - } - } + // Fetch VML document + $vmlDrawing = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, $vmlRelationship)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $vmlDrawing->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); - // Fetch VML document - $vmlDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $vmlRelationship)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $vmlDrawing->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + $hfImages = array(); - $hfImages = array(); + $shapes = $vmlDrawing->xpath('//v:shape'); + foreach ($shapes as $idx => $shape) { + $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); + $imageData = $shape->xpath('//v:imagedata'); + $imageData = $imageData[$idx]; - $shapes = $vmlDrawing->xpath('//v:shape'); - foreach ($shapes as $idx => $shape) { - $shape->registerXPathNamespace('v', 'urn:schemas-microsoft-com:vml'); - $imageData = $shape->xpath('//v:imagedata'); - $imageData = $imageData[$idx]; + $imageData = $imageData->attributes('urn:schemas-microsoft-com:office:office'); + $style = self::toCSSArray((string)$shape['style']); - $imageData = $imageData->attributes('urn:schemas-microsoft-com:office:office'); - $style = self::toCSSArray( (string)$shape['style'] ); + $hfImages[ (string)$shape['id'] ] = new PHPExcel_Worksheet_HeaderFooterDrawing(); + if (isset($imageData['title'])) { + $hfImages[ (string)$shape['id'] ]->setName((string)$imageData['title']); + } - $hfImages[ (string)$shape['id'] ] = new PHPExcel_Worksheet_HeaderFooterDrawing(); - if (isset($imageData['title'])) { - $hfImages[ (string)$shape['id'] ]->setName( (string)$imageData['title'] ); - } + $hfImages[ (string)$shape['id'] ]->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $drawings[(string)$imageData['relid']], false); + $hfImages[ (string)$shape['id'] ]->setResizeProportional(false); + $hfImages[ (string)$shape['id'] ]->setWidth($style['width']); + $hfImages[ (string)$shape['id'] ]->setHeight($style['height']); + if (isset($style['margin-left'])) { + $hfImages[ (string)$shape['id'] ]->setOffsetX($style['margin-left']); + } + $hfImages[ (string)$shape['id'] ]->setOffsetY($style['margin-top']); + $hfImages[ (string)$shape['id'] ]->setResizeProportional(true); + } - $hfImages[ (string)$shape['id'] ]->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $drawings[(string)$imageData['relid']], false); - $hfImages[ (string)$shape['id'] ]->setResizeProportional(false); - $hfImages[ (string)$shape['id'] ]->setWidth($style['width']); - $hfImages[ (string)$shape['id'] ]->setHeight($style['height']); - if (isset($style['margin-left'])) { - $hfImages[ (string)$shape['id'] ]->setOffsetX($style['margin-left']); - } - $hfImages[ (string)$shape['id'] ]->setOffsetY($style['margin-top']); - $hfImages[ (string)$shape['id'] ]->setResizeProportional(true); - } + $docSheet->getHeaderFooter()->setImages($hfImages); + } + } + } - $docSheet->getHeaderFooter()->setImages($hfImages); - } - } - } - - } + } // TODO: Autoshapes from twoCellAnchors! - if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { - $relsWorksheet = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $drawings = array(); - foreach ($relsWorksheet->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing") { - $drawings[(string) $ele["Id"]] = self::dir_add("$dir/$fileWorksheet", $ele["Target"]); - } - } - if ($xmlSheet->drawing && !$this->_readDataOnly) { - foreach ($xmlSheet->drawing as $drawing) { - $fileDrawing = $drawings[(string) self::array_item($drawing->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; - $relsDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, dirname($fileDrawing) . "/_rels/" . basename($fileDrawing) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); - $images = array(); + if ($zip->locateName(dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")) { + $relsWorksheet = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname("$dir/$fileWorksheet") . "/_rels/" . basename($fileWorksheet) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $drawings = array(); + foreach ($relsWorksheet->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing") { + $drawings[(string) $ele["Id"]] = self::dirAdd("$dir/$fileWorksheet", $ele["Target"]); + } + } + if ($xmlSheet->drawing && !$this->readDataOnly) { + foreach ($xmlSheet->drawing as $drawing) { + $fileDrawing = $drawings[(string) self::getArrayItem($drawing->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "id")]; + $relsDrawing = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, dirname($fileDrawing) . "/_rels/" . basename($fileDrawing) . ".rels")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); //~ http://schemas.openxmlformats.org/package/2006/relationships"); + $images = array(); - if ($relsDrawing && $relsDrawing->Relationship) { - foreach ($relsDrawing->Relationship as $ele) { - if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { - $images[(string) $ele["Id"]] = self::dir_add($fileDrawing, $ele["Target"]); - } elseif ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart") { - if ($this->_includeCharts) { - $charts[self::dir_add($fileDrawing, $ele["Target"])] = array('id' => (string) $ele["Id"], - 'sheet' => $docSheet->getTitle() - ); - } - } - } - } - $xmlDrawing = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $fileDrawing)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions())->children("http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"); + if ($relsDrawing && $relsDrawing->Relationship) { + foreach ($relsDrawing->Relationship as $ele) { + if ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") { + $images[(string) $ele["Id"]] = self::dirAdd($fileDrawing, $ele["Target"]); + } elseif ($ele["Type"] == "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart") { + if ($this->includeCharts) { + $charts[self::dirAdd($fileDrawing, $ele["Target"])] = array( + 'id' => (string) $ele["Id"], + 'sheet' => $docSheet->getTitle() + ); + } + } + } + } + $xmlDrawing = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, $fileDrawing)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions())->children("http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"); - if ($xmlDrawing->oneCellAnchor) { - foreach ($xmlDrawing->oneCellAnchor as $oneCellAnchor) { - if ($oneCellAnchor->pic->blipFill) { - $blip = $oneCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; - $xfrm = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; - $outerShdw = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; - $objDrawing = new PHPExcel_Worksheet_Drawing; - $objDrawing->setName((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); - $objDrawing->setDescription((string) self::array_item($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); - $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); - $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1)); - $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff)); - $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff)); - $objDrawing->setResizeProportional(false); - $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx"))); - $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy"))); - if ($xfrm) { - $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot"))); - } - if ($outerShdw) { - $shadow = $objDrawing->getShadow(); - $shadow->setVisible(true); - $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad"))); - $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist"))); - $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir"))); - $shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn")); - $shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val")); - $shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); - } - $objDrawing->setWorksheet($docSheet); - } else { - // ? Can charts be positioned with a oneCellAnchor ? - $coordinates = PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1); - $offsetX = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff); - $offsetY = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff); - $width = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cx")); - $height = PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($oneCellAnchor->ext->attributes(), "cy")); - } - } - } - if ($xmlDrawing->twoCellAnchor) { - foreach ($xmlDrawing->twoCellAnchor as $twoCellAnchor) { - if ($twoCellAnchor->pic->blipFill) { - $blip = $twoCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; - $xfrm = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; - $outerShdw = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; - $objDrawing = new PHPExcel_Worksheet_Drawing; - $objDrawing->setName((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); - $objDrawing->setDescription((string) self::array_item($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); - $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::array_item($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); - $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1)); - $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff)); - $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff)); - $objDrawing->setResizeProportional(false); + if ($xmlDrawing->oneCellAnchor) { + foreach ($xmlDrawing->oneCellAnchor as $oneCellAnchor) { + if ($oneCellAnchor->pic->blipFill) { + $blip = $oneCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; + $xfrm = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; + $outerShdw = $oneCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; + $objDrawing = new PHPExcel_Worksheet_Drawing; + $objDrawing->setName((string) self::getArrayItem($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); + $objDrawing->setDescription((string) self::getArrayItem($oneCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); + $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::getArrayItem($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); + $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1)); + $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff)); + $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff)); + $objDrawing->setResizeProportional(false); + $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($oneCellAnchor->ext->attributes(), "cx"))); + $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($oneCellAnchor->ext->attributes(), "cy"))); + if ($xfrm) { + $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::getArrayItem($xfrm->attributes(), "rot"))); + } + if ($outerShdw) { + $shadow = $objDrawing->getShadow(); + $shadow->setVisible(true); + $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::getArrayItem($outerShdw->attributes(), "blurRad"))); + $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::getArrayItem($outerShdw->attributes(), "dist"))); + $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::getArrayItem($outerShdw->attributes(), "dir"))); + $shadow->setAlignment((string) self::getArrayItem($outerShdw->attributes(), "algn")); + $shadow->getColor()->setRGB(self::getArrayItem($outerShdw->srgbClr->attributes(), "val")); + $shadow->setAlpha(self::getArrayItem($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); + } + $objDrawing->setWorksheet($docSheet); + } else { + // ? Can charts be positioned with a oneCellAnchor ? + $coordinates = PHPExcel_Cell::stringFromColumnIndex((string) $oneCellAnchor->from->col) . ($oneCellAnchor->from->row + 1); + $offsetX = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->colOff); + $offsetY = PHPExcel_Shared_Drawing::EMUToPixels($oneCellAnchor->from->rowOff); + $width = PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($oneCellAnchor->ext->attributes(), "cx")); + $height = PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($oneCellAnchor->ext->attributes(), "cy")); + } + } + } + if ($xmlDrawing->twoCellAnchor) { + foreach ($xmlDrawing->twoCellAnchor as $twoCellAnchor) { + if ($twoCellAnchor->pic->blipFill) { + $blip = $twoCellAnchor->pic->blipFill->children("http://schemas.openxmlformats.org/drawingml/2006/main")->blip; + $xfrm = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->xfrm; + $outerShdw = $twoCellAnchor->pic->spPr->children("http://schemas.openxmlformats.org/drawingml/2006/main")->effectLst->outerShdw; + $objDrawing = new PHPExcel_Worksheet_Drawing; + $objDrawing->setName((string) self::getArrayItem($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "name")); + $objDrawing->setDescription((string) self::getArrayItem($twoCellAnchor->pic->nvPicPr->cNvPr->attributes(), "descr")); + $objDrawing->setPath("zip://".PHPExcel_Shared_File::realpath($pFilename)."#" . $images[(string) self::getArrayItem($blip->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"), "embed")], false); + $objDrawing->setCoordinates(PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1)); + $objDrawing->setOffsetX(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff)); + $objDrawing->setOffsetY(PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff)); + $objDrawing->setResizeProportional(false); - if ($xfrm) { - $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cx"))); - $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::array_item($xfrm->ext->attributes(), "cy"))); - $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($xfrm->attributes(), "rot"))); - } - if ($outerShdw) { - $shadow = $objDrawing->getShadow(); - $shadow->setVisible(true); - $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "blurRad"))); - $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::array_item($outerShdw->attributes(), "dist"))); - $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::array_item($outerShdw->attributes(), "dir"))); - $shadow->setAlignment((string) self::array_item($outerShdw->attributes(), "algn")); - $shadow->getColor()->setRGB(self::array_item($outerShdw->srgbClr->attributes(), "val")); - $shadow->setAlpha(self::array_item($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); - } - $objDrawing->setWorksheet($docSheet); - } elseif(($this->_includeCharts) && ($twoCellAnchor->graphicFrame)) { - $fromCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1); - $fromOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff); - $fromOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff); - $toCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->to->col) . ($twoCellAnchor->to->row + 1); - $toOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->colOff); - $toOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->rowOff); - $graphic = $twoCellAnchor->graphicFrame->children("http://schemas.openxmlformats.org/drawingml/2006/main")->graphic; - $chartRef = $graphic->graphicData->children("http://schemas.openxmlformats.org/drawingml/2006/chart")->chart; - $thisChart = (string) $chartRef->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"); + if ($xfrm) { + $objDrawing->setWidth(PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($xfrm->ext->attributes(), "cx"))); + $objDrawing->setHeight(PHPExcel_Shared_Drawing::EMUToPixels(self::getArrayItem($xfrm->ext->attributes(), "cy"))); + $objDrawing->setRotation(PHPExcel_Shared_Drawing::angleToDegrees(self::getArrayItem($xfrm->attributes(), "rot"))); + } + if ($outerShdw) { + $shadow = $objDrawing->getShadow(); + $shadow->setVisible(true); + $shadow->setBlurRadius(PHPExcel_Shared_Drawing::EMUTopixels(self::getArrayItem($outerShdw->attributes(), "blurRad"))); + $shadow->setDistance(PHPExcel_Shared_Drawing::EMUTopixels(self::getArrayItem($outerShdw->attributes(), "dist"))); + $shadow->setDirection(PHPExcel_Shared_Drawing::angleToDegrees(self::getArrayItem($outerShdw->attributes(), "dir"))); + $shadow->setAlignment((string) self::getArrayItem($outerShdw->attributes(), "algn")); + $shadow->getColor()->setRGB(self::getArrayItem($outerShdw->srgbClr->attributes(), "val")); + $shadow->setAlpha(self::getArrayItem($outerShdw->srgbClr->alpha->attributes(), "val") / 1000); + } + $objDrawing->setWorksheet($docSheet); + } elseif (($this->includeCharts) && ($twoCellAnchor->graphicFrame)) { + $fromCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->from->col) . ($twoCellAnchor->from->row + 1); + $fromOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->colOff); + $fromOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->from->rowOff); + $toCoordinate = PHPExcel_Cell::stringFromColumnIndex((string) $twoCellAnchor->to->col) . ($twoCellAnchor->to->row + 1); + $toOffsetX = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->colOff); + $toOffsetY = PHPExcel_Shared_Drawing::EMUToPixels($twoCellAnchor->to->rowOff); + $graphic = $twoCellAnchor->graphicFrame->children("http://schemas.openxmlformats.org/drawingml/2006/main")->graphic; + $chartRef = $graphic->graphicData->children("http://schemas.openxmlformats.org/drawingml/2006/chart")->chart; + $thisChart = (string) $chartRef->attributes("http://schemas.openxmlformats.org/officeDocument/2006/relationships"); - $chartDetails[$docSheet->getTitle().'!'.$thisChart] = - array( 'fromCoordinate' => $fromCoordinate, - 'fromOffsetX' => $fromOffsetX, - 'fromOffsetY' => $fromOffsetY, - 'toCoordinate' => $toCoordinate, - 'toOffsetX' => $toOffsetX, - 'toOffsetY' => $toOffsetY, - 'worksheetTitle' => $docSheet->getTitle() - ); - } - } - } + $chartDetails[$docSheet->getTitle().'!'.$thisChart] = array( + 'fromCoordinate' => $fromCoordinate, + 'fromOffsetX' => $fromOffsetX, + 'fromOffsetY' => $fromOffsetY, + 'toCoordinate' => $toCoordinate, + 'toOffsetX' => $toOffsetX, + 'toOffsetY' => $toOffsetY, + 'worksheetTitle' => $docSheet->getTitle() + ); + } + } + } + } + } + } - } - } - } + // Loop through definedNames + if ($xmlWorkbook->definedNames) { + foreach ($xmlWorkbook->definedNames->definedName as $definedName) { + // Extract range + $extractedRange = (string)$definedName; + $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); + if (($spos = strpos($extractedRange, '!')) !== false) { + $extractedRange = substr($extractedRange, 0, $spos).str_replace('$', '', substr($extractedRange, $spos)); + } else { + $extractedRange = str_replace('$', '', $extractedRange); + } - // Loop through definedNames - if ($xmlWorkbook->definedNames) { - foreach ($xmlWorkbook->definedNames->definedName as $definedName) { - // Extract range - $extractedRange = (string)$definedName; - $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); - if (($spos = strpos($extractedRange,'!')) !== false) { - $extractedRange = substr($extractedRange,0,$spos).str_replace('$', '', substr($extractedRange,$spos)); - } else { - $extractedRange = str_replace('$', '', $extractedRange); - } + // Valid range? + if (stripos((string)$definedName, '#REF!') !== false || $extractedRange == '') { + continue; + } - // Valid range? - if (stripos((string)$definedName, '#REF!') !== FALSE || $extractedRange == '') { - continue; - } - - // Some definedNames are only applicable if we are on the same sheet... - if ((string)$definedName['localSheetId'] != '' && (string)$definedName['localSheetId'] == $sheetId) { - // Switch on type - switch ((string)$definedName['name']) { - - case '_xlnm._FilterDatabase': - if ((string)$definedName['hidden'] !== '1') { + // Some definedNames are only applicable if we are on the same sheet... + if ((string)$definedName['localSheetId'] != '' && (string)$definedName['localSheetId'] == $sheetId) { + // Switch on type + switch ((string)$definedName['name']) { + case '_xlnm._FilterDatabase': + if ((string)$definedName['hidden'] !== '1') { $extractedRange = explode(',', $extractedRange); foreach ($extractedRange as $range) { $autoFilterRange = $range; @@ -1585,499 +1572,480 @@ class PHPExcel_Reader_Excel2007 extends PHPExcel_Reader_Abstract implements PHPE $docSheet->getAutoFilter()->setRange($autoFilterRange); } } - } - break; + } + break; + case '_xlnm.Print_Titles': + // Split $extractedRange + $extractedRange = explode(',', $extractedRange); - case '_xlnm.Print_Titles': - // Split $extractedRange - $extractedRange = explode(',', $extractedRange); + // Set print titles + foreach ($extractedRange as $range) { + $matches = array(); + $range = str_replace('$', '', $range); - // Set print titles - foreach ($extractedRange as $range) { - $matches = array(); - $range = str_replace('$', '', $range); + // check for repeating columns, e g. 'A:A' or 'A:D' + if (preg_match('/!?([A-Z]+)\:([A-Z]+)$/', $range, $matches)) { + $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($matches[1], $matches[2])); + } elseif (preg_match('/!?(\d+)\:(\d+)$/', $range, $matches)) { + // check for repeating rows, e.g. '1:1' or '1:5' + $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($matches[1], $matches[2])); + } + } + break; + case '_xlnm.Print_Area': + $rangeSets = explode(',', $extractedRange); // FIXME: what if sheetname contains comma? + $newRangeSets = array(); + foreach ($rangeSets as $rangeSet) { + $range = explode('!', $rangeSet); // FIXME: what if sheetname contains exclamation mark? + $rangeSet = isset($range[1]) ? $range[1] : $range[0]; + if (strpos($rangeSet, ':') === false) { + $rangeSet = $rangeSet . ':' . $rangeSet; + } + $newRangeSets[] = str_replace('$', '', $rangeSet); + } + $docSheet->getPageSetup()->setPrintArea(implode(',', $newRangeSets)); + break; - // check for repeating columns, e g. 'A:A' or 'A:D' - if (preg_match('/!?([A-Z]+)\:([A-Z]+)$/', $range, $matches)) { - $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($matches[1], $matches[2])); - } - // check for repeating rows, e.g. '1:1' or '1:5' - elseif (preg_match('/!?(\d+)\:(\d+)$/', $range, $matches)) { - $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($matches[1], $matches[2])); - } - } - break; + default: + break; + } + } + } + } - case '_xlnm.Print_Area': - $rangeSets = explode(',', $extractedRange); // FIXME: what if sheetname contains comma? - $newRangeSets = array(); - foreach($rangeSets as $rangeSet) { - $range = explode('!', $rangeSet); // FIXME: what if sheetname contains exclamation mark? - $rangeSet = isset($range[1]) ? $range[1] : $range[0]; - if (strpos($rangeSet, ':') === FALSE) { - $rangeSet = $rangeSet . ':' . $rangeSet; - } - $newRangeSets[] = str_replace('$', '', $rangeSet); - } - $docSheet->getPageSetup()->setPrintArea(implode(',',$newRangeSets)); - break; + // Next sheet id + ++$sheetId; + } - default: - break; - } - } - } - } + // Loop through definedNames + if ($xmlWorkbook->definedNames) { + foreach ($xmlWorkbook->definedNames->definedName as $definedName) { + // Extract range + $extractedRange = (string)$definedName; + $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); + if (($spos = strpos($extractedRange, '!')) !== false) { + $extractedRange = substr($extractedRange, 0, $spos).str_replace('$', '', substr($extractedRange, $spos)); + } else { + $extractedRange = str_replace('$', '', $extractedRange); + } - // Next sheet id - ++$sheetId; - } + // Valid range? + if (stripos((string)$definedName, '#REF!') !== false || $extractedRange == '') { + continue; + } - // Loop through definedNames - if ($xmlWorkbook->definedNames) { - foreach ($xmlWorkbook->definedNames->definedName as $definedName) { - // Extract range - $extractedRange = (string)$definedName; - $extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange); - if (($spos = strpos($extractedRange,'!')) !== false) { - $extractedRange = substr($extractedRange,0,$spos).str_replace('$', '', substr($extractedRange,$spos)); - } else { - $extractedRange = str_replace('$', '', $extractedRange); - } + // Some definedNames are only applicable if we are on the same sheet... + if ((string)$definedName['localSheetId'] != '') { + // Local defined name + // Switch on type + switch ((string)$definedName['name']) { + case '_xlnm._FilterDatabase': + case '_xlnm.Print_Titles': + case '_xlnm.Print_Area': + break; + default: + if ($mapSheetId[(integer) $definedName['localSheetId']] !== null) { + $range = explode('!', (string)$definedName); + if (count($range) == 2) { + $range[0] = str_replace("''", "'", $range[0]); + $range[0] = str_replace("'", "", $range[0]); + if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) { + $extractedRange = str_replace('$', '', $range[1]); + $scope = $docSheet->getParent()->getSheet($mapSheetId[(integer) $definedName['localSheetId']]); + $excel->addNamedRange(new PHPExcel_NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope)); + } + } + } + break; + } + } elseif (!isset($definedName['localSheetId'])) { + // "Global" definedNames + $locatedSheet = null; + $extractedSheetName = ''; + if (strpos((string)$definedName, '!') !== false) { + // Extract sheet name + $extractedSheetName = PHPExcel_Worksheet::extractSheetTitle((string)$definedName, true); + $extractedSheetName = $extractedSheetName[0]; - // Valid range? - if (stripos((string)$definedName, '#REF!') !== false || $extractedRange == '') { - continue; - } + // Locate sheet + $locatedSheet = $excel->getSheetByName($extractedSheetName); - // Some definedNames are only applicable if we are on the same sheet... - if ((string)$definedName['localSheetId'] != '') { - // Local defined name - // Switch on type - switch ((string)$definedName['name']) { + // Modify range + $range = explode('!', $extractedRange); + $extractedRange = isset($range[1]) ? $range[1] : $range[0]; + } - case '_xlnm._FilterDatabase': - case '_xlnm.Print_Titles': - case '_xlnm.Print_Area': - break; + if ($locatedSheet !== null) { + $excel->addNamedRange(new PHPExcel_NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false)); + } + } + } + } + } - default: - if ($mapSheetId[(integer) $definedName['localSheetId']] !== null) { - $range = explode('!', (string)$definedName); - if (count($range) == 2) { - $range[0] = str_replace("''", "'", $range[0]); - $range[0] = str_replace("'", "", $range[0]); - if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) { - $extractedRange = str_replace('$', '', $range[1]); - $scope = $docSheet->getParent()->getSheet($mapSheetId[(integer) $definedName['localSheetId']]); - $excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope) ); - } - } - } - break; - } - } else if (!isset($definedName['localSheetId'])) { - // "Global" definedNames - $locatedSheet = null; - $extractedSheetName = ''; - if (strpos( (string)$definedName, '!' ) !== false) { - // Extract sheet name - $extractedSheetName = PHPExcel_Worksheet::extractSheetTitle( (string)$definedName, true ); - $extractedSheetName = $extractedSheetName[0]; + if ((!$this->readDataOnly) || (!empty($this->loadSheetsOnly))) { + // active sheet index + $activeTab = intval($xmlWorkbook->bookViews->workbookView["activeTab"]); // refers to old sheet index - // Locate sheet - $locatedSheet = $excel->getSheetByName($extractedSheetName); - - // Modify range - $range = explode('!', $extractedRange); - $extractedRange = isset($range[1]) ? $range[1] : $range[0]; - } - - if ($locatedSheet !== NULL) { - $excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false) ); - } - } - } - } - } - - if ((!$this->_readDataOnly) || (!empty($this->_loadSheetsOnly))) { - // active sheet index - $activeTab = intval($xmlWorkbook->bookViews->workbookView["activeTab"]); // refers to old sheet index - - // keep active sheet index if sheet is still loaded, else first sheet is set as the active - if (isset($mapSheetId[$activeTab]) && $mapSheetId[$activeTab] !== null) { - $excel->setActiveSheetIndex($mapSheetId[$activeTab]); - } else { - if ($excel->getSheetCount() == 0) { - $excel->createSheet(); - } - $excel->setActiveSheetIndex(0); - } - } - break; - } - - } - - - if (!$this->_readDataOnly) { - $contentTypes = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, "[Content_Types].xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - foreach ($contentTypes->Override as $contentType) { - switch ($contentType["ContentType"]) { - case "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": - if ($this->_includeCharts) { - $chartEntryRef = ltrim($contentType['PartName'],'/'); - $chartElements = simplexml_load_string($this->securityScan($this->_getFromZipArchive($zip, $chartEntryRef)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $objChart = PHPExcel_Reader_Excel2007_Chart::readChart($chartElements,basename($chartEntryRef,'.xml')); - -// echo 'Chart ',$chartEntryRef,'
'; -// var_dump($charts[$chartEntryRef]); -// - if (isset($charts[$chartEntryRef])) { - $chartPositionRef = $charts[$chartEntryRef]['sheet'].'!'.$charts[$chartEntryRef]['id']; -// echo 'Position Ref ',$chartPositionRef,'
'; - if (isset($chartDetails[$chartPositionRef])) { -// var_dump($chartDetails[$chartPositionRef]); - - $excel->getSheetByName($charts[$chartEntryRef]['sheet'])->addChart($objChart); - $objChart->setWorksheet($excel->getSheetByName($charts[$chartEntryRef]['sheet'])); - $objChart->setTopLeftPosition( $chartDetails[$chartPositionRef]['fromCoordinate'], - $chartDetails[$chartPositionRef]['fromOffsetX'], - $chartDetails[$chartPositionRef]['fromOffsetY'] - ); - $objChart->setBottomRightPosition( $chartDetails[$chartPositionRef]['toCoordinate'], - $chartDetails[$chartPositionRef]['toOffsetX'], - $chartDetails[$chartPositionRef]['toOffsetY'] - ); - } - } - } - } - } - } - - $zip->close(); - - return $excel; - } - - - private static function _readColor($color, $background=FALSE) { - if (isset($color["rgb"])) { - return (string)$color["rgb"]; - } else if (isset($color["indexed"])) { - return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB(); - } else if (isset($color["theme"])) { - if (self::$_theme !== NULL) { - $returnColour = self::$_theme->getColourByIndex((int)$color["theme"]); - if (isset($color["tint"])) { - $tintAdjust = (float) $color["tint"]; - $returnColour = PHPExcel_Style_Color::changeBrightness($returnColour, $tintAdjust); - } - return 'FF'.$returnColour; - } - } - - if ($background) { - return 'FFFFFFFF'; - } - return 'FF000000'; - } - - - private static function _readStyle($docStyle, $style) { - // format code -// if (isset($style->numFmt)) { -// if (isset($style->numFmt['formatCode'])) { -// $docStyle->getNumberFormat()->setFormatCode((string) $style->numFmt['formatCode']); -// } else { - $docStyle->getNumberFormat()->setFormatCode($style->numFmt); -// } -// } - - // font - if (isset($style->font)) { - $docStyle->getFont()->setName((string) $style->font->name["val"]); - $docStyle->getFont()->setSize((string) $style->font->sz["val"]); - if (isset($style->font->b)) { - $docStyle->getFont()->setBold(!isset($style->font->b["val"]) || self::boolean((string) $style->font->b["val"])); - } - if (isset($style->font->i)) { - $docStyle->getFont()->setItalic(!isset($style->font->i["val"]) || self::boolean((string) $style->font->i["val"])); - } - if (isset($style->font->strike)) { - $docStyle->getFont()->setStrikethrough(!isset($style->font->strike["val"]) || self::boolean((string) $style->font->strike["val"])); - } - $docStyle->getFont()->getColor()->setARGB(self::_readColor($style->font->color)); - - if (isset($style->font->u) && !isset($style->font->u["val"])) { - $docStyle->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); - } else if (isset($style->font->u) && isset($style->font->u["val"])) { - $docStyle->getFont()->setUnderline((string)$style->font->u["val"]); - } - - if (isset($style->font->vertAlign) && isset($style->font->vertAlign["val"])) { - $vertAlign = strtolower((string)$style->font->vertAlign["val"]); - if ($vertAlign == 'superscript') { - $docStyle->getFont()->setSuperScript(true); - } - if ($vertAlign == 'subscript') { - $docStyle->getFont()->setSubScript(true); - } - } - } - - // fill - if (isset($style->fill)) { - if ($style->fill->gradientFill) { - $gradientFill = $style->fill->gradientFill[0]; - if(!empty($gradientFill["type"])) { - $docStyle->getFill()->setFillType((string) $gradientFill["type"]); - } - $docStyle->getFill()->setRotation(floatval($gradientFill["degree"])); - $gradientFill->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); - $docStyle->getFill()->getStartColor()->setARGB(self::_readColor( self::array_item($gradientFill->xpath("sml:stop[@position=0]"))->color) ); - $docStyle->getFill()->getEndColor()->setARGB(self::_readColor( self::array_item($gradientFill->xpath("sml:stop[@position=1]"))->color) ); - } elseif ($style->fill->patternFill) { - $patternType = (string)$style->fill->patternFill["patternType"] != '' ? (string)$style->fill->patternFill["patternType"] : 'solid'; - $docStyle->getFill()->setFillType($patternType); - if ($style->fill->patternFill->fgColor) { - $docStyle->getFill()->getStartColor()->setARGB(self::_readColor($style->fill->patternFill->fgColor,true)); - } else { - $docStyle->getFill()->getStartColor()->setARGB('FF000000'); - } - if ($style->fill->patternFill->bgColor) { - $docStyle->getFill()->getEndColor()->setARGB(self::_readColor($style->fill->patternFill->bgColor,true)); - } - } - } - - // border - if (isset($style->border)) { - $diagonalUp = self::boolean((string) $style->border["diagonalUp"]); - $diagonalDown = self::boolean((string) $style->border["diagonalDown"]); - if (!$diagonalUp && !$diagonalDown) { - $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); - } elseif ($diagonalUp && !$diagonalDown) { - $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); - } elseif (!$diagonalUp && $diagonalDown) { - $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); - } else { - $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); - } - self::_readBorder($docStyle->getBorders()->getLeft(), $style->border->left); - self::_readBorder($docStyle->getBorders()->getRight(), $style->border->right); - self::_readBorder($docStyle->getBorders()->getTop(), $style->border->top); - self::_readBorder($docStyle->getBorders()->getBottom(), $style->border->bottom); - self::_readBorder($docStyle->getBorders()->getDiagonal(), $style->border->diagonal); - } - - // alignment - if (isset($style->alignment)) { - $docStyle->getAlignment()->setHorizontal((string) $style->alignment["horizontal"]); - $docStyle->getAlignment()->setVertical((string) $style->alignment["vertical"]); - - $textRotation = 0; - if ((int)$style->alignment["textRotation"] <= 90) { - $textRotation = (int)$style->alignment["textRotation"]; - } else if ((int)$style->alignment["textRotation"] > 90) { - $textRotation = 90 - (int)$style->alignment["textRotation"]; - } - - $docStyle->getAlignment()->setTextRotation(intval($textRotation)); - $docStyle->getAlignment()->setWrapText(self::boolean((string) $style->alignment["wrapText"])); - $docStyle->getAlignment()->setShrinkToFit(self::boolean((string) $style->alignment["shrinkToFit"])); - $docStyle->getAlignment()->setIndent( intval((string)$style->alignment["indent"]) > 0 ? intval((string)$style->alignment["indent"]) : 0 ); - $docStyle->getAlignment()->setReadorder( intval((string)$style->alignment["readingOrder"]) > 0 ? intval((string)$style->alignment["readingOrder"]) : 0 ); - } - - // protection - if (isset($style->protection)) { - if (isset($style->protection['locked'])) { - if (self::boolean((string) $style->protection['locked'])) { - $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED); - } else { - $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); - } - } - - if (isset($style->protection['hidden'])) { - if (self::boolean((string) $style->protection['hidden'])) { - $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_PROTECTED); - } else { - $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); - } - } - } - - // top-level style settings - if (isset($style->quotePrefix)) { - $docStyle->setQuotePrefix($style->quotePrefix); + // keep active sheet index if sheet is still loaded, else first sheet is set as the active + if (isset($mapSheetId[$activeTab]) && $mapSheetId[$activeTab] !== null) { + $excel->setActiveSheetIndex($mapSheetId[$activeTab]); + } else { + if ($excel->getSheetCount() == 0) { + $excel->createSheet(); + } + $excel->setActiveSheetIndex(0); + } + } + break; + } } - } + if (!$this->readDataOnly) { + $contentTypes = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, "[Content_Types].xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + foreach ($contentTypes->Override as $contentType) { + switch ($contentType["ContentType"]) { + case "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": + if ($this->includeCharts) { + $chartEntryRef = ltrim($contentType['PartName'], '/'); + $chartElements = simplexml_load_string($this->securityScan($this->getFromZipArchive($zip, $chartEntryRef)), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $objChart = PHPExcel_Reader_Excel2007_Chart::readChart($chartElements, basename($chartEntryRef, '.xml')); - private static function _readBorder($docBorder, $eleBorder) { - if (isset($eleBorder["style"])) { - $docBorder->setBorderStyle((string) $eleBorder["style"]); - } - if (isset($eleBorder->color)) { - $docBorder->getColor()->setARGB(self::_readColor($eleBorder->color)); - } - } +// echo 'Chart ', $chartEntryRef, '
'; +// var_dump($charts[$chartEntryRef]); +// + if (isset($charts[$chartEntryRef])) { + $chartPositionRef = $charts[$chartEntryRef]['sheet'].'!'.$charts[$chartEntryRef]['id']; +// echo 'Position Ref ', $chartPositionRef, '
'; + if (isset($chartDetails[$chartPositionRef])) { +// var_dump($chartDetails[$chartPositionRef]); + $excel->getSheetByName($charts[$chartEntryRef]['sheet'])->addChart($objChart); + $objChart->setWorksheet($excel->getSheetByName($charts[$chartEntryRef]['sheet'])); + $objChart->setTopLeftPosition($chartDetails[$chartPositionRef]['fromCoordinate'], $chartDetails[$chartPositionRef]['fromOffsetX'], $chartDetails[$chartPositionRef]['fromOffsetY']); + $objChart->setBottomRightPosition($chartDetails[$chartPositionRef]['toCoordinate'], $chartDetails[$chartPositionRef]['toOffsetX'], $chartDetails[$chartPositionRef]['toOffsetY']); + } + } + } + } + } + } - private function _parseRichText($is = null) { - $value = new PHPExcel_RichText(); + $zip->close(); - if (isset($is->t)) { - $value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $is->t ) ); - } else { - if(is_object($is->r)) { - foreach ($is->r as $run) { - if (!isset($run->rPr)) { - $objText = $value->createText( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) ); + return $excel; + } - } else { - $objText = $value->createTextRun( PHPExcel_Shared_String::ControlCharacterOOXML2PHP( (string) $run->t ) ); - - if (isset($run->rPr->rFont["val"])) { - $objText->getFont()->setName((string) $run->rPr->rFont["val"]); - } - - if (isset($run->rPr->sz["val"])) { - $objText->getFont()->setSize((string) $run->rPr->sz["val"]); - } - - if (isset($run->rPr->color)) { - $objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($run->rPr->color) ) ); - } - - if ((isset($run->rPr->b["val"]) && self::boolean((string) $run->rPr->b["val"])) || - (isset($run->rPr->b) && !isset($run->rPr->b["val"]))) { - $objText->getFont()->setBold(TRUE); - } - - if ((isset($run->rPr->i["val"]) && self::boolean((string) $run->rPr->i["val"])) || - (isset($run->rPr->i) && !isset($run->rPr->i["val"]))) { - $objText->getFont()->setItalic(TRUE); - } - - if (isset($run->rPr->vertAlign) && isset($run->rPr->vertAlign["val"])) { - $vertAlign = strtolower((string)$run->rPr->vertAlign["val"]); - if ($vertAlign == 'superscript') { - $objText->getFont()->setSuperScript(TRUE); - } - if ($vertAlign == 'subscript') { - $objText->getFont()->setSubScript(TRUE); - } - } - - if (isset($run->rPr->u) && !isset($run->rPr->u["val"])) { - $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); - } else if (isset($run->rPr->u) && isset($run->rPr->u["val"])) { - $objText->getFont()->setUnderline((string)$run->rPr->u["val"]); - } - - if ((isset($run->rPr->strike["val"]) && self::boolean((string) $run->rPr->strike["val"])) || - (isset($run->rPr->strike) && !isset($run->rPr->strike["val"]))) { - $objText->getFont()->setStrikethrough(TRUE); - } - } - } - } - } - - return $value; - } - - private function _readRibbon($excel, $customUITarget, $zip) + private static function readColor($color, $background = false) { - $baseDir = dirname($customUITarget); - $nameCustomUI = basename($customUITarget); + if (isset($color["rgb"])) { + return (string)$color["rgb"]; + } elseif (isset($color["indexed"])) { + return PHPExcel_Style_Color::indexedColor($color["indexed"]-7, $background)->getARGB(); + } elseif (isset($color["theme"])) { + if (self::$theme !== null) { + $returnColour = self::$theme->getColourByIndex((int)$color["theme"]); + if (isset($color["tint"])) { + $tintAdjust = (float) $color["tint"]; + $returnColour = PHPExcel_Style_Color::changeBrightness($returnColour, $tintAdjust); + } + return 'FF'.$returnColour; + } + } + + if ($background) { + return 'FFFFFFFF'; + } + return 'FF000000'; + } + + private static function readStyle($docStyle, $style) + { + // format code +// if (isset($style->numFmt)) { +// if (isset($style->numFmt['formatCode'])) { +// $docStyle->getNumberFormat()->setFormatCode((string) $style->numFmt['formatCode']); +// } else { + $docStyle->getNumberFormat()->setFormatCode($style->numFmt); +// } +// } + + // font + if (isset($style->font)) { + $docStyle->getFont()->setName((string) $style->font->name["val"]); + $docStyle->getFont()->setSize((string) $style->font->sz["val"]); + if (isset($style->font->b)) { + $docStyle->getFont()->setBold(!isset($style->font->b["val"]) || self::boolean((string) $style->font->b["val"])); + } + if (isset($style->font->i)) { + $docStyle->getFont()->setItalic(!isset($style->font->i["val"]) || self::boolean((string) $style->font->i["val"])); + } + if (isset($style->font->strike)) { + $docStyle->getFont()->setStrikethrough(!isset($style->font->strike["val"]) || self::boolean((string) $style->font->strike["val"])); + } + $docStyle->getFont()->getColor()->setARGB(self::readColor($style->font->color)); + + if (isset($style->font->u) && !isset($style->font->u["val"])) { + $docStyle->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } elseif (isset($style->font->u) && isset($style->font->u["val"])) { + $docStyle->getFont()->setUnderline((string)$style->font->u["val"]); + } + + if (isset($style->font->vertAlign) && isset($style->font->vertAlign["val"])) { + $vertAlign = strtolower((string)$style->font->vertAlign["val"]); + if ($vertAlign == 'superscript') { + $docStyle->getFont()->setSuperScript(true); + } + if ($vertAlign == 'subscript') { + $docStyle->getFont()->setSubScript(true); + } + } + } + + // fill + if (isset($style->fill)) { + if ($style->fill->gradientFill) { + $gradientFill = $style->fill->gradientFill[0]; + if (!empty($gradientFill["type"])) { + $docStyle->getFill()->setFillType((string) $gradientFill["type"]); + } + $docStyle->getFill()->setRotation(floatval($gradientFill["degree"])); + $gradientFill->registerXPathNamespace("sml", "http://schemas.openxmlformats.org/spreadsheetml/2006/main"); + $docStyle->getFill()->getStartColor()->setARGB(self::readColor(self::getArrayItem($gradientFill->xpath("sml:stop[@position=0]"))->color)); + $docStyle->getFill()->getEndColor()->setARGB(self::readColor(self::getArrayItem($gradientFill->xpath("sml:stop[@position=1]"))->color)); + } elseif ($style->fill->patternFill) { + $patternType = (string)$style->fill->patternFill["patternType"] != '' ? (string)$style->fill->patternFill["patternType"] : 'solid'; + $docStyle->getFill()->setFillType($patternType); + if ($style->fill->patternFill->fgColor) { + $docStyle->getFill()->getStartColor()->setARGB(self::readColor($style->fill->patternFill->fgColor, true)); + } else { + $docStyle->getFill()->getStartColor()->setARGB('FF000000'); + } + if ($style->fill->patternFill->bgColor) { + $docStyle->getFill()->getEndColor()->setARGB(self::readColor($style->fill->patternFill->bgColor, true)); + } + } + } + + // border + if (isset($style->border)) { + $diagonalUp = self::boolean((string) $style->border["diagonalUp"]); + $diagonalDown = self::boolean((string) $style->border["diagonalDown"]); + if (!$diagonalUp && !$diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); + } elseif ($diagonalUp && !$diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); + } elseif (!$diagonalUp && $diagonalDown) { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); + } else { + $docStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); + } + self::readBorder($docStyle->getBorders()->getLeft(), $style->border->left); + self::readBorder($docStyle->getBorders()->getRight(), $style->border->right); + self::readBorder($docStyle->getBorders()->getTop(), $style->border->top); + self::readBorder($docStyle->getBorders()->getBottom(), $style->border->bottom); + self::readBorder($docStyle->getBorders()->getDiagonal(), $style->border->diagonal); + } + + // alignment + if (isset($style->alignment)) { + $docStyle->getAlignment()->setHorizontal((string) $style->alignment["horizontal"]); + $docStyle->getAlignment()->setVertical((string) $style->alignment["vertical"]); + + $textRotation = 0; + if ((int)$style->alignment["textRotation"] <= 90) { + $textRotation = (int)$style->alignment["textRotation"]; + } elseif ((int)$style->alignment["textRotation"] > 90) { + $textRotation = 90 - (int)$style->alignment["textRotation"]; + } + + $docStyle->getAlignment()->setTextRotation(intval($textRotation)); + $docStyle->getAlignment()->setWrapText(self::boolean((string) $style->alignment["wrapText"])); + $docStyle->getAlignment()->setShrinkToFit(self::boolean((string) $style->alignment["shrinkToFit"])); + $docStyle->getAlignment()->setIndent(intval((string)$style->alignment["indent"]) > 0 ? intval((string)$style->alignment["indent"]) : 0); + $docStyle->getAlignment()->setReadorder(intval((string)$style->alignment["readingOrder"]) > 0 ? intval((string)$style->alignment["readingOrder"]) : 0); + } + + // protection + if (isset($style->protection)) { + if (isset($style->protection['locked'])) { + if (self::boolean((string) $style->protection['locked'])) { + $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_PROTECTED); + } else { + $docStyle->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + } + } + + if (isset($style->protection['hidden'])) { + if (self::boolean((string) $style->protection['hidden'])) { + $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_PROTECTED); + } else { + $docStyle->getProtection()->setHidden(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + } + } + } + + // top-level style settings + if (isset($style->quotePrefix)) { + $docStyle->setQuotePrefix($style->quotePrefix); + } + } + + private static function readBorder($docBorder, $eleBorder) + { + if (isset($eleBorder["style"])) { + $docBorder->setBorderStyle((string) $eleBorder["style"]); + } + if (isset($eleBorder->color)) { + $docBorder->getColor()->setARGB(self::readColor($eleBorder->color)); + } + } + + private function parseRichText($is = null) + { + $value = new PHPExcel_RichText(); + + if (isset($is->t)) { + $value->createText(PHPExcel_Shared_String::ControlCharacterOOXML2PHP((string) $is->t)); + } else { + if (is_object($is->r)) { + foreach ($is->r as $run) { + if (!isset($run->rPr)) { + $objText = $value->createText(PHPExcel_Shared_String::ControlCharacterOOXML2PHP((string) $run->t)); + + } else { + $objText = $value->createTextRun(PHPExcel_Shared_String::ControlCharacterOOXML2PHP((string) $run->t)); + + if (isset($run->rPr->rFont["val"])) { + $objText->getFont()->setName((string) $run->rPr->rFont["val"]); + } + if (isset($run->rPr->sz["val"])) { + $objText->getFont()->setSize((string) $run->rPr->sz["val"]); + } + if (isset($run->rPr->color)) { + $objText->getFont()->setColor(new PHPExcel_Style_Color(self::readColor($run->rPr->color))); + } + if ((isset($run->rPr->b["val"]) && self::boolean((string) $run->rPr->b["val"])) || + (isset($run->rPr->b) && !isset($run->rPr->b["val"]))) { + $objText->getFont()->setBold(true); + } + if ((isset($run->rPr->i["val"]) && self::boolean((string) $run->rPr->i["val"])) || + (isset($run->rPr->i) && !isset($run->rPr->i["val"]))) { + $objText->getFont()->setItalic(true); + } + if (isset($run->rPr->vertAlign) && isset($run->rPr->vertAlign["val"])) { + $vertAlign = strtolower((string)$run->rPr->vertAlign["val"]); + if ($vertAlign == 'superscript') { + $objText->getFont()->setSuperScript(true); + } + if ($vertAlign == 'subscript') { + $objText->getFont()->setSubScript(true); + } + } + if (isset($run->rPr->u) && !isset($run->rPr->u["val"])) { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } elseif (isset($run->rPr->u) && isset($run->rPr->u["val"])) { + $objText->getFont()->setUnderline((string)$run->rPr->u["val"]); + } + if ((isset($run->rPr->strike["val"]) && self::boolean((string) $run->rPr->strike["val"])) || + (isset($run->rPr->strike) && !isset($run->rPr->strike["val"]))) { + $objText->getFont()->setStrikethrough(true); + } + } + } + } + } + + return $value; + } + + private function readRibbon($excel, $customUITarget, $zip) + { + $baseDir = dirname($customUITarget); + $nameCustomUI = basename($customUITarget); // get the xml file (ribbon) - $localRibbon = $this->_getFromZipArchive($zip, $customUITarget); - $customUIImagesNames = array(); + $localRibbon = $this->getFromZipArchive($zip, $customUITarget); + $customUIImagesNames = array(); $customUIImagesBinaries = array(); // something like customUI/_rels/customUI.xml.rels - $pathRels = $baseDir . '/_rels/' . $nameCustomUI . '.rels'; - $dataRels = $this->_getFromZipArchive($zip, $pathRels); - if ($dataRels) { + $pathRels = $baseDir . '/_rels/' . $nameCustomUI . '.rels'; + $dataRels = $this->getFromZipArchive($zip, $pathRels); + if ($dataRels) { // exists and not empty if the ribbon have some pictures (other than internal MSO) - $UIRels = simplexml_load_string($this->securityScan($dataRels), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - if ($UIRels) { - // we need to save id and target to avoid parsing customUI.xml and "guess" if it's a pseudo callback who load the image - foreach ($UIRels->Relationship as $ele) { - if ($ele["Type"] == 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image') { + $UIRels = simplexml_load_string($this->securityScan($dataRels), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + if ($UIRels) { + // we need to save id and target to avoid parsing customUI.xml and "guess" if it's a pseudo callback who load the image + foreach ($UIRels->Relationship as $ele) { + if ($ele["Type"] == 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image') { // an image ? - $customUIImagesNames[(string) $ele['Id']] = (string)$ele['Target']; - $customUIImagesBinaries[(string)$ele['Target']] = $this->_getFromZipArchive($zip, $baseDir . '/' . (string) $ele['Target']); - } - } - } - } - if ($localRibbon) { - $excel->setRibbonXMLData($customUITarget, $localRibbon); - if (count($customUIImagesNames) > 0 && count($customUIImagesBinaries) > 0) { - $excel->setRibbonBinObjects($customUIImagesNames, $customUIImagesBinaries); - } else { - $excel->setRibbonBinObjects(NULL); - } - } else { - $excel->setRibbonXMLData(NULL); - $excel->setRibbonBinObjects(NULL); - } - } + $customUIImagesNames[(string) $ele['Id']] = (string)$ele['Target']; + $customUIImagesBinaries[(string)$ele['Target']] = $this->getFromZipArchive($zip, $baseDir . '/' . (string) $ele['Target']); + } + } + } + } + if ($localRibbon) { + $excel->setRibbonXMLData($customUITarget, $localRibbon); + if (count($customUIImagesNames) > 0 && count($customUIImagesBinaries) > 0) { + $excel->setRibbonBinObjects($customUIImagesNames, $customUIImagesBinaries); + } else { + $excel->setRibbonBinObjects(null); + } + } else { + $excel->setRibbonXMLData(null); + $excel->setRibbonBinObjects(null); + } + } - private static function array_item($array, $key = 0) { - return (isset($array[$key]) ? $array[$key] : null); - } + private static function getArrayItem($array, $key = 0) + { + return (isset($array[$key]) ? $array[$key] : null); + } + private static function dirAdd($base, $add) + { + return preg_replace('~[^/]+/\.\./~', '', dirname($base) . "/$add"); + } - private static function dir_add($base, $add) { - return preg_replace('~[^/]+/\.\./~', '', dirname($base) . "/$add"); - } + private static function toCSSArray($style) + { + $style = str_replace(array("\r","\n"), "", $style); + $temp = explode(';', $style); + $style = array(); + foreach ($temp as $item) { + $item = explode(':', $item); - private static function toCSSArray($style) { - $style = str_replace(array("\r","\n"), "", $style); + if (strpos($item[1], 'px') !== false) { + $item[1] = str_replace('px', '', $item[1]); + } + if (strpos($item[1], 'pt') !== false) { + $item[1] = str_replace('pt', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::fontSizeToPixels($item[1]); + } + if (strpos($item[1], 'in') !== false) { + $item[1] = str_replace('in', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::inchSizeToPixels($item[1]); + } + if (strpos($item[1], 'cm') !== false) { + $item[1] = str_replace('cm', '', $item[1]); + $item[1] = PHPExcel_Shared_Font::centimeterSizeToPixels($item[1]); + } - $temp = explode(';', $style); - $style = array(); - foreach ($temp as $item) { - $item = explode(':', $item); + $style[$item[0]] = $item[1]; + } - if (strpos($item[1], 'px') !== false) { - $item[1] = str_replace('px', '', $item[1]); - } - if (strpos($item[1], 'pt') !== false) { - $item[1] = str_replace('pt', '', $item[1]); - $item[1] = PHPExcel_Shared_Font::fontSizeToPixels($item[1]); - } - if (strpos($item[1], 'in') !== false) { - $item[1] = str_replace('in', '', $item[1]); - $item[1] = PHPExcel_Shared_Font::inchSizeToPixels($item[1]); - } - if (strpos($item[1], 'cm') !== false) { - $item[1] = str_replace('cm', '', $item[1]); - $item[1] = PHPExcel_Shared_Font::centimeterSizeToPixels($item[1]); - } + return $style; + } - $style[$item[0]] = $item[1]; - } - - return $style; - } - - private static function boolean($value = NULL) - { + private static function boolean($value = null) + { if (is_object($value)) { - $value = (string) $value; + $value = (string) $value; } - if (is_numeric($value)) { - return (bool) $value; + if (is_numeric($value)) { + return (bool) $value; } - return ($value === 'true' || $value === 'TRUE'); - } + return ($value === 'true' || $value === 'TRUE'); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php index 1424276c6..590bf2d8f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Chart.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,500 +18,503 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * @category PHPExcel - * @package PHPExcel_Reader_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @category PHPExcel + * @package PHPExcel_Reader_Excel2007 + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ /** * PHPExcel_Reader_Excel2007_Chart * - * @category PHPExcel - * @package PHPExcel_Reader_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @category PHPExcel + * @package PHPExcel_Reader_Excel2007 + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Reader_Excel2007_Chart { - private static function _getAttribute($component, $name, $format) { - $attributes = $component->attributes(); - if (isset($attributes[$name])) { - if ($format == 'string') { - return (string) $attributes[$name]; - } elseif ($format == 'integer') { - return (integer) $attributes[$name]; - } elseif ($format == 'boolean') { - return (boolean) ($attributes[$name] === '0' || $attributes[$name] !== 'true') ? false : true; - } else { - return (float) $attributes[$name]; - } - } - return null; - } // function _getAttribute() + private static function getAttribute($component, $name, $format) + { + $attributes = $component->attributes(); + if (isset($attributes[$name])) { + if ($format == 'string') { + return (string) $attributes[$name]; + } elseif ($format == 'integer') { + return (integer) $attributes[$name]; + } elseif ($format == 'boolean') { + return (boolean) ($attributes[$name] === '0' || $attributes[$name] !== 'true') ? false : true; + } else { + return (float) $attributes[$name]; + } + } + return null; + } - private static function _readColor($color,$background=false) { - if (isset($color["rgb"])) { - return (string)$color["rgb"]; - } else if (isset($color["indexed"])) { - return PHPExcel_Style_Color::indexedColor($color["indexed"]-7,$background)->getARGB(); - } - } + private static function readColor($color, $background = false) + { + if (isset($color["rgb"])) { + return (string)$color["rgb"]; + } elseif (isset($color["indexed"])) { + return PHPExcel_Style_Color::indexedColor($color["indexed"]-7, $background)->getARGB(); + } + } + + public static function readChart($chartElements, $chartName) + { + $namespacesChartMeta = $chartElements->getNamespaces(true); + $chartElementsC = $chartElements->children($namespacesChartMeta['c']); + + $XaxisLabel = $YaxisLabel = $legend = $title = null; + $dispBlanksAs = $plotVisOnly = null; + + foreach ($chartElementsC as $chartElementKey => $chartElement) { + switch ($chartElementKey) { + case "chart": + foreach ($chartElement as $chartDetailsKey => $chartDetails) { + $chartDetailsC = $chartDetails->children($namespacesChartMeta['c']); + switch ($chartDetailsKey) { + case "plotArea": + $plotAreaLayout = $XaxisLable = $YaxisLable = null; + $plotSeries = $plotAttributes = array(); + foreach ($chartDetails as $chartDetailKey => $chartDetail) { + switch ($chartDetailKey) { + case "layout": + $plotAreaLayout = self::chartLayoutDetails($chartDetail, $namespacesChartMeta, 'plotArea'); + break; + case "catAx": + if (isset($chartDetail->title)) { + $XaxisLabel = self::chartTitle($chartDetail->title->children($namespacesChartMeta['c']), $namespacesChartMeta, 'cat'); + } + break; + case "dateAx": + if (isset($chartDetail->title)) { + $XaxisLabel = self::chartTitle($chartDetail->title->children($namespacesChartMeta['c']), $namespacesChartMeta, 'cat'); + } + break; + case "valAx": + if (isset($chartDetail->title)) { + $YaxisLabel = self::chartTitle($chartDetail->title->children($namespacesChartMeta['c']), $namespacesChartMeta, 'cat'); + } + break; + case "barChart": + case "bar3DChart": + $barDirection = self::getAttribute($chartDetail->barDir, 'val', 'string'); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotDirection($barDirection); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "lineChart": + case "line3DChart": + $plotSeries[] = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "areaChart": + case "area3DChart": + $plotSeries[] = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "doughnutChart": + case "pieChart": + case "pie3DChart": + $explosion = isset($chartDetail->ser->explosion); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotStyle($explosion); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "scatterChart": + $scatterStyle = self::getAttribute($chartDetail->scatterStyle, 'val', 'string'); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotStyle($scatterStyle); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "bubbleChart": + $bubbleScale = self::getAttribute($chartDetail->bubbleScale, 'val', 'integer'); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotStyle($bubbleScale); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "radarChart": + $radarStyle = self::getAttribute($chartDetail->radarStyle, 'val', 'string'); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotStyle($radarStyle); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "surfaceChart": + case "surface3DChart": + $wireFrame = self::getAttribute($chartDetail->wireframe, 'val', 'boolean'); + $plotSer = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotSer->setPlotStyle($wireFrame); + $plotSeries[] = $plotSer; + $plotAttributes = self::readChartAttributes($chartDetail); + break; + case "stockChart": + $plotSeries[] = self::chartDataSeries($chartDetail, $namespacesChartMeta, $chartDetailKey); + $plotAttributes = self::readChartAttributes($plotAreaLayout); + break; + } + } + if ($plotAreaLayout == null) { + $plotAreaLayout = new PHPExcel_Chart_Layout(); + } + $plotArea = new PHPExcel_Chart_PlotArea($plotAreaLayout, $plotSeries); + self::setChartAttributes($plotAreaLayout, $plotAttributes); + break; + case "plotVisOnly": + $plotVisOnly = self::getAttribute($chartDetails, 'val', 'string'); + break; + case "dispBlanksAs": + $dispBlanksAs = self::getAttribute($chartDetails, 'val', 'string'); + break; + case "title": + $title = self::chartTitle($chartDetails, $namespacesChartMeta, 'title'); + break; + case "legend": + $legendPos = 'r'; + $legendLayout = null; + $legendOverlay = false; + foreach ($chartDetails as $chartDetailKey => $chartDetail) { + switch ($chartDetailKey) { + case "legendPos": + $legendPos = self::getAttribute($chartDetail, 'val', 'string'); + break; + case "overlay": + $legendOverlay = self::getAttribute($chartDetail, 'val', 'boolean'); + break; + case "layout": + $legendLayout = self::chartLayoutDetails($chartDetail, $namespacesChartMeta, 'legend'); + break; + } + } + $legend = new PHPExcel_Chart_Legend($legendPos, $legendLayout, $legendOverlay); + break; + } + } + } + } + $chart = new PHPExcel_Chart($chartName, $title, $legend, $plotArea, $plotVisOnly, $dispBlanksAs, $XaxisLabel, $YaxisLabel); + + return $chart; + } + + private static function chartTitle($titleDetails, $namespacesChartMeta, $type) + { + $caption = array(); + $titleLayout = null; + foreach ($titleDetails as $titleDetailKey => $chartDetail) { + switch ($titleDetailKey) { + case "tx": + $titleDetails = $chartDetail->rich->children($namespacesChartMeta['a']); + foreach ($titleDetails as $titleKey => $titleDetail) { + switch ($titleKey) { + case "p": + $titleDetailPart = $titleDetail->children($namespacesChartMeta['a']); + $caption[] = self::parseRichText($titleDetailPart); + } + } + break; + case "layout": + $titleLayout = self::chartLayoutDetails($chartDetail, $namespacesChartMeta); + break; + } + } + + return new PHPExcel_Chart_Title($caption, $titleLayout); + } + + private static function chartLayoutDetails($chartDetail, $namespacesChartMeta) + { + if (!isset($chartDetail->manualLayout)) { + return null; + } + $details = $chartDetail->manualLayout->children($namespacesChartMeta['c']); + if (is_null($details)) { + return null; + } + $layout = array(); + foreach ($details as $detailKey => $detail) { +// echo $detailKey, ' => ',self::getAttribute($detail, 'val', 'string'),PHP_EOL; + $layout[$detailKey] = self::getAttribute($detail, 'val', 'string'); + } + return new PHPExcel_Chart_Layout($layout); + } + + private static function chartDataSeries($chartDetail, $namespacesChartMeta, $plotType) + { + $multiSeriesType = null; + $smoothLine = false; + $seriesLabel = $seriesCategory = $seriesValues = $plotOrder = array(); + + $seriesDetailSet = $chartDetail->children($namespacesChartMeta['c']); + foreach ($seriesDetailSet as $seriesDetailKey => $seriesDetails) { + switch ($seriesDetailKey) { + case "grouping": + $multiSeriesType = self::getAttribute($chartDetail->grouping, 'val', 'string'); + break; + case "ser": + $marker = null; + foreach ($seriesDetails as $seriesKey => $seriesDetail) { + switch ($seriesKey) { + case "idx": + $seriesIndex = self::getAttribute($seriesDetail, 'val', 'integer'); + break; + case "order": + $seriesOrder = self::getAttribute($seriesDetail, 'val', 'integer'); + $plotOrder[$seriesIndex] = $seriesOrder; + break; + case "tx": + $seriesLabel[$seriesIndex] = self::chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta); + break; + case "marker": + $marker = self::getAttribute($seriesDetail->symbol, 'val', 'string'); + break; + case "smooth": + $smoothLine = self::getAttribute($seriesDetail, 'val', 'boolean'); + break; + case "cat": + $seriesCategory[$seriesIndex] = self::chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta); + break; + case "val": + $seriesValues[$seriesIndex] = self::chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker); + break; + case "xVal": + $seriesCategory[$seriesIndex] = self::chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker); + break; + case "yVal": + $seriesValues[$seriesIndex] = self::chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker); + break; + } + } + } + } + return new PHPExcel_Chart_DataSeries($plotType, $multiSeriesType, $plotOrder, $seriesLabel, $seriesCategory, $seriesValues, $smoothLine); + } - public static function readChart($chartElements,$chartName) { - $namespacesChartMeta = $chartElements->getNamespaces(true); - $chartElementsC = $chartElements->children($namespacesChartMeta['c']); + private static function chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker = null, $smoothLine = false) + { + if (isset($seriesDetail->strRef)) { + $seriesSource = (string) $seriesDetail->strRef->f; + $seriesData = self::chartDataSeriesValues($seriesDetail->strRef->strCache->children($namespacesChartMeta['c']), 's'); - $XaxisLabel = $YaxisLabel = $legend = $title = NULL; - $dispBlanksAs = $plotVisOnly = NULL; + return new PHPExcel_Chart_DataSeriesValues('String', $seriesSource, $seriesData['formatCode'], $seriesData['pointCount'], $seriesData['dataValues'], $marker, $smoothLine); + } elseif (isset($seriesDetail->numRef)) { + $seriesSource = (string) $seriesDetail->numRef->f; + $seriesData = self::chartDataSeriesValues($seriesDetail->numRef->numCache->children($namespacesChartMeta['c'])); - foreach($chartElementsC as $chartElementKey => $chartElement) { - switch ($chartElementKey) { - case "chart": - foreach($chartElement as $chartDetailsKey => $chartDetails) { - $chartDetailsC = $chartDetails->children($namespacesChartMeta['c']); - switch ($chartDetailsKey) { - case "plotArea": - $plotAreaLayout = $XaxisLable = $YaxisLable = null; - $plotSeries = $plotAttributes = array(); - foreach($chartDetails as $chartDetailKey => $chartDetail) { - switch ($chartDetailKey) { - case "layout": - $plotAreaLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'plotArea'); - break; - case "catAx": - if (isset($chartDetail->title)) { - $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); - } - break; - case "dateAx": - if (isset($chartDetail->title)) { - $XaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); - } - break; - case "valAx": - if (isset($chartDetail->title)) { - $YaxisLabel = self::_chartTitle($chartDetail->title->children($namespacesChartMeta['c']),$namespacesChartMeta,'cat'); - } - break; - case "barChart": - case "bar3DChart": - $barDirection = self::_getAttribute($chartDetail->barDir, 'val', 'string'); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotDirection($barDirection); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "lineChart": - case "line3DChart": - $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "areaChart": - case "area3DChart": - $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "doughnutChart": - case "pieChart": - case "pie3DChart": - $explosion = isset($chartDetail->ser->explosion); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotStyle($explosion); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "scatterChart": - $scatterStyle = self::_getAttribute($chartDetail->scatterStyle, 'val', 'string'); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotStyle($scatterStyle); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "bubbleChart": - $bubbleScale = self::_getAttribute($chartDetail->bubbleScale, 'val', 'integer'); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotStyle($bubbleScale); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "radarChart": - $radarStyle = self::_getAttribute($chartDetail->radarStyle, 'val', 'string'); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotStyle($radarStyle); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "surfaceChart": - case "surface3DChart": - $wireFrame = self::_getAttribute($chartDetail->wireframe, 'val', 'boolean'); - $plotSer = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotSer->setPlotStyle($wireFrame); - $plotSeries[] = $plotSer; - $plotAttributes = self::_readChartAttributes($chartDetail); - break; - case "stockChart": - $plotSeries[] = self::_chartDataSeries($chartDetail,$namespacesChartMeta,$chartDetailKey); - $plotAttributes = self::_readChartAttributes($plotAreaLayout); - break; - } - } - if ($plotAreaLayout == NULL) { - $plotAreaLayout = new PHPExcel_Chart_Layout(); - } - $plotArea = new PHPExcel_Chart_PlotArea($plotAreaLayout,$plotSeries); - self::_setChartAttributes($plotAreaLayout,$plotAttributes); - break; - case "plotVisOnly": - $plotVisOnly = self::_getAttribute($chartDetails, 'val', 'string'); - break; - case "dispBlanksAs": - $dispBlanksAs = self::_getAttribute($chartDetails, 'val', 'string'); - break; - case "title": - $title = self::_chartTitle($chartDetails,$namespacesChartMeta,'title'); - break; - case "legend": - $legendPos = 'r'; - $legendLayout = null; - $legendOverlay = false; - foreach($chartDetails as $chartDetailKey => $chartDetail) { - switch ($chartDetailKey) { - case "legendPos": - $legendPos = self::_getAttribute($chartDetail, 'val', 'string'); - break; - case "overlay": - $legendOverlay = self::_getAttribute($chartDetail, 'val', 'boolean'); - break; - case "layout": - $legendLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta,'legend'); - break; - } - } - $legend = new PHPExcel_Chart_Legend($legendPos, $legendLayout, $legendOverlay); - break; - } - } - } - } - $chart = new PHPExcel_Chart($chartName,$title,$legend,$plotArea,$plotVisOnly,$dispBlanksAs,$XaxisLabel,$YaxisLabel); + return new PHPExcel_Chart_DataSeriesValues('Number', $seriesSource, $seriesData['formatCode'], $seriesData['pointCount'], $seriesData['dataValues'], $marker, $smoothLine); + } elseif (isset($seriesDetail->multiLvlStrRef)) { + $seriesSource = (string) $seriesDetail->multiLvlStrRef->f; + $seriesData = self::chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlStrRef->multiLvlStrCache->children($namespacesChartMeta['c']), 's'); + $seriesData['pointCount'] = count($seriesData['dataValues']); - return $chart; - } // function readChart() + return new PHPExcel_Chart_DataSeriesValues('String', $seriesSource, $seriesData['formatCode'], $seriesData['pointCount'], $seriesData['dataValues'], $marker, $smoothLine); + } elseif (isset($seriesDetail->multiLvlNumRef)) { + $seriesSource = (string) $seriesDetail->multiLvlNumRef->f; + $seriesData = self::chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlNumRef->multiLvlNumCache->children($namespacesChartMeta['c']), 's'); + $seriesData['pointCount'] = count($seriesData['dataValues']); + + return new PHPExcel_Chart_DataSeriesValues('String', $seriesSource, $seriesData['formatCode'], $seriesData['pointCount'], $seriesData['dataValues'], $marker, $smoothLine); + } + return null; + } - private static function _chartTitle($titleDetails,$namespacesChartMeta,$type) { - $caption = array(); - $titleLayout = null; - foreach($titleDetails as $titleDetailKey => $chartDetail) { - switch ($titleDetailKey) { - case "tx": - $titleDetails = $chartDetail->rich->children($namespacesChartMeta['a']); - foreach($titleDetails as $titleKey => $titleDetail) { - switch ($titleKey) { - case "p": - $titleDetailPart = $titleDetail->children($namespacesChartMeta['a']); - $caption[] = self::_parseRichText($titleDetailPart); - } - } - break; - case "layout": - $titleLayout = self::_chartLayoutDetails($chartDetail,$namespacesChartMeta); - break; - } - } + private static function chartDataSeriesValues($seriesValueSet, $dataType = 'n') + { + $seriesVal = array(); + $formatCode = ''; + $pointCount = 0; - return new PHPExcel_Chart_Title($caption, $titleLayout); - } // function _chartTitle() + foreach ($seriesValueSet as $seriesValueIdx => $seriesValue) { + switch ($seriesValueIdx) { + case 'ptCount': + $pointCount = self::getAttribute($seriesValue, 'val', 'integer'); + break; + case 'formatCode': + $formatCode = (string) $seriesValue; + break; + case 'pt': + $pointVal = self::getAttribute($seriesValue, 'idx', 'integer'); + if ($dataType == 's') { + $seriesVal[$pointVal] = (string) $seriesValue->v; + } else { + $seriesVal[$pointVal] = (float) $seriesValue->v; + } + break; + } + } + return array( + 'formatCode' => $formatCode, + 'pointCount' => $pointCount, + 'dataValues' => $seriesVal + ); + } - private static function _chartLayoutDetails($chartDetail,$namespacesChartMeta) { - if (!isset($chartDetail->manualLayout)) { - return null; - } - $details = $chartDetail->manualLayout->children($namespacesChartMeta['c']); - if (is_null($details)) { - return null; - } - $layout = array(); - foreach($details as $detailKey => $detail) { -// echo $detailKey,' => ',self::_getAttribute($detail, 'val', 'string'),PHP_EOL; - $layout[$detailKey] = self::_getAttribute($detail, 'val', 'string'); - } - return new PHPExcel_Chart_Layout($layout); - } // function _chartLayoutDetails() + private static function chartDataSeriesValuesMultiLevel($seriesValueSet, $dataType = 'n') + { + $seriesVal = array(); + $formatCode = ''; + $pointCount = 0; + foreach ($seriesValueSet->lvl as $seriesLevelIdx => $seriesLevel) { + foreach ($seriesLevel as $seriesValueIdx => $seriesValue) { + switch ($seriesValueIdx) { + case 'ptCount': + $pointCount = self::getAttribute($seriesValue, 'val', 'integer'); + break; + case 'formatCode': + $formatCode = (string) $seriesValue; + break; + case 'pt': + $pointVal = self::getAttribute($seriesValue, 'idx', 'integer'); + if ($dataType == 's') { + $seriesVal[$pointVal][] = (string) $seriesValue->v; + } else { + $seriesVal[$pointVal][] = (float) $seriesValue->v; + } + break; + } + } + } - private static function _chartDataSeries($chartDetail,$namespacesChartMeta,$plotType) { - $multiSeriesType = NULL; - $smoothLine = false; - $seriesLabel = $seriesCategory = $seriesValues = $plotOrder = array(); + return array( + 'formatCode' => $formatCode, + 'pointCount' => $pointCount, + 'dataValues' => $seriesVal + ); + } - $seriesDetailSet = $chartDetail->children($namespacesChartMeta['c']); - foreach($seriesDetailSet as $seriesDetailKey => $seriesDetails) { - switch ($seriesDetailKey) { - case "grouping": - $multiSeriesType = self::_getAttribute($chartDetail->grouping, 'val', 'string'); - break; - case "ser": - $marker = NULL; - foreach($seriesDetails as $seriesKey => $seriesDetail) { - switch ($seriesKey) { - case "idx": - $seriesIndex = self::_getAttribute($seriesDetail, 'val', 'integer'); - break; - case "order": - $seriesOrder = self::_getAttribute($seriesDetail, 'val', 'integer'); - $plotOrder[$seriesIndex] = $seriesOrder; - break; - case "tx": - $seriesLabel[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta); - break; - case "marker": - $marker = self::_getAttribute($seriesDetail->symbol, 'val', 'string'); - break; - case "smooth": - $smoothLine = self::_getAttribute($seriesDetail, 'val', 'boolean'); - break; - case "cat": - $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta); - break; - case "val": - $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); - break; - case "xVal": - $seriesCategory[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); - break; - case "yVal": - $seriesValues[$seriesIndex] = self::_chartDataSeriesValueSet($seriesDetail,$namespacesChartMeta,$marker); - break; - } - } - } - } - return new PHPExcel_Chart_DataSeries($plotType,$multiSeriesType,$plotOrder,$seriesLabel,$seriesCategory,$seriesValues,$smoothLine); - } // function _chartDataSeries() + private static function parseRichText($titleDetailPart = null) + { + $value = new PHPExcel_RichText(); + foreach ($titleDetailPart as $titleDetailElementKey => $titleDetailElement) { + if (isset($titleDetailElement->t)) { + $objText = $value->createTextRun((string) $titleDetailElement->t); + } + if (isset($titleDetailElement->rPr)) { + if (isset($titleDetailElement->rPr->rFont["val"])) { + $objText->getFont()->setName((string) $titleDetailElement->rPr->rFont["val"]); + } - private static function _chartDataSeriesValueSet($seriesDetail, $namespacesChartMeta, $marker = null, $smoothLine = false) { - if (isset($seriesDetail->strRef)) { - $seriesSource = (string) $seriesDetail->strRef->f; - $seriesData = self::_chartDataSeriesValues($seriesDetail->strRef->strCache->children($namespacesChartMeta['c']),'s'); + $fontSize = (self::getAttribute($titleDetailElement->rPr, 'sz', 'integer')); + if (!is_null($fontSize)) { + $objText->getFont()->setSize(floor($fontSize / 100)); + } - return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); - } elseif (isset($seriesDetail->numRef)) { - $seriesSource = (string) $seriesDetail->numRef->f; - $seriesData = self::_chartDataSeriesValues($seriesDetail->numRef->numCache->children($namespacesChartMeta['c'])); + $fontColor = (self::getAttribute($titleDetailElement->rPr, 'color', 'string')); + if (!is_null($fontColor)) { + $objText->getFont()->setColor(new PHPExcel_Style_Color(self::readColor($fontColor))); + } - return new PHPExcel_Chart_DataSeriesValues('Number',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); - } elseif (isset($seriesDetail->multiLvlStrRef)) { - $seriesSource = (string) $seriesDetail->multiLvlStrRef->f; - $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlStrRef->multiLvlStrCache->children($namespacesChartMeta['c']),'s'); - $seriesData['pointCount'] = count($seriesData['dataValues']); + $bold = self::getAttribute($titleDetailElement->rPr, 'b', 'boolean'); + if (!is_null($bold)) { + $objText->getFont()->setBold($bold); + } - return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); - } elseif (isset($seriesDetail->multiLvlNumRef)) { - $seriesSource = (string) $seriesDetail->multiLvlNumRef->f; - $seriesData = self::_chartDataSeriesValuesMultiLevel($seriesDetail->multiLvlNumRef->multiLvlNumCache->children($namespacesChartMeta['c']),'s'); - $seriesData['pointCount'] = count($seriesData['dataValues']); + $italic = self::getAttribute($titleDetailElement->rPr, 'i', 'boolean'); + if (!is_null($italic)) { + $objText->getFont()->setItalic($italic); + } - return new PHPExcel_Chart_DataSeriesValues('String',$seriesSource,$seriesData['formatCode'],$seriesData['pointCount'],$seriesData['dataValues'],$marker,$smoothLine); - } - return null; - } // function _chartDataSeriesValueSet() + $baseline = self::getAttribute($titleDetailElement->rPr, 'baseline', 'integer'); + if (!is_null($baseline)) { + if ($baseline > 0) { + $objText->getFont()->setSuperScript(true); + } elseif ($baseline < 0) { + $objText->getFont()->setSubScript(true); + } + } + $underscore = (self::getAttribute($titleDetailElement->rPr, 'u', 'string')); + if (!is_null($underscore)) { + if ($underscore == 'sng') { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + } elseif ($underscore == 'dbl') { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); + } else { + $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_NONE); + } + } - private static function _chartDataSeriesValues($seriesValueSet,$dataType='n') { - $seriesVal = array(); - $formatCode = ''; - $pointCount = 0; + $strikethrough = (self::getAttribute($titleDetailElement->rPr, 's', 'string')); + if (!is_null($strikethrough)) { + if ($strikethrough == 'noStrike') { + $objText->getFont()->setStrikethrough(false); + } else { + $objText->getFont()->setStrikethrough(true); + } + } + } + } - foreach($seriesValueSet as $seriesValueIdx => $seriesValue) { - switch ($seriesValueIdx) { - case 'ptCount': - $pointCount = self::_getAttribute($seriesValue, 'val', 'integer'); - break; - case 'formatCode': - $formatCode = (string) $seriesValue; - break; - case 'pt': - $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer'); - if ($dataType == 's') { - $seriesVal[$pointVal] = (string) $seriesValue->v; - } else { - $seriesVal[$pointVal] = (float) $seriesValue->v; - } - break; - } - } + return $value; + } - if (empty($seriesVal)) { - $seriesVal = NULL; - } + private static function readChartAttributes($chartDetail) + { + $plotAttributes = array(); + if (isset($chartDetail->dLbls)) { + if (isset($chartDetail->dLbls->howLegendKey)) { + $plotAttributes['showLegendKey'] = self::getAttribute($chartDetail->dLbls->showLegendKey, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showVal)) { + $plotAttributes['showVal'] = self::getAttribute($chartDetail->dLbls->showVal, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showCatName)) { + $plotAttributes['showCatName'] = self::getAttribute($chartDetail->dLbls->showCatName, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showSerName)) { + $plotAttributes['showSerName'] = self::getAttribute($chartDetail->dLbls->showSerName, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showPercent)) { + $plotAttributes['showPercent'] = self::getAttribute($chartDetail->dLbls->showPercent, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showBubbleSize)) { + $plotAttributes['showBubbleSize'] = self::getAttribute($chartDetail->dLbls->showBubbleSize, 'val', 'string'); + } + if (isset($chartDetail->dLbls->showLeaderLines)) { + $plotAttributes['showLeaderLines'] = self::getAttribute($chartDetail->dLbls->showLeaderLines, 'val', 'string'); + } + } - return array( 'formatCode' => $formatCode, - 'pointCount' => $pointCount, - 'dataValues' => $seriesVal - ); - } // function _chartDataSeriesValues() - - - private static function _chartDataSeriesValuesMultiLevel($seriesValueSet,$dataType='n') { - $seriesVal = array(); - $formatCode = ''; - $pointCount = 0; - - foreach($seriesValueSet->lvl as $seriesLevelIdx => $seriesLevel) { - foreach($seriesLevel as $seriesValueIdx => $seriesValue) { - switch ($seriesValueIdx) { - case 'ptCount': - $pointCount = self::_getAttribute($seriesValue, 'val', 'integer'); - break; - case 'formatCode': - $formatCode = (string) $seriesValue; - break; - case 'pt': - $pointVal = self::_getAttribute($seriesValue, 'idx', 'integer'); - if ($dataType == 's') { - $seriesVal[$pointVal][] = (string) $seriesValue->v; - } else { - $seriesVal[$pointVal][] = (float) $seriesValue->v; - } - break; - } - } - } - - return array( 'formatCode' => $formatCode, - 'pointCount' => $pointCount, - 'dataValues' => $seriesVal - ); - } // function _chartDataSeriesValuesMultiLevel() - - private static function _parseRichText($titleDetailPart = null) { - $value = new PHPExcel_RichText(); - - foreach($titleDetailPart as $titleDetailElementKey => $titleDetailElement) { - if (isset($titleDetailElement->t)) { - $objText = $value->createTextRun( (string) $titleDetailElement->t ); - } - if (isset($titleDetailElement->rPr)) { - if (isset($titleDetailElement->rPr->rFont["val"])) { - $objText->getFont()->setName((string) $titleDetailElement->rPr->rFont["val"]); - } - - $fontSize = (self::_getAttribute($titleDetailElement->rPr, 'sz', 'integer')); - if (!is_null($fontSize)) { - $objText->getFont()->setSize(floor($fontSize / 100)); - } - - $fontColor = (self::_getAttribute($titleDetailElement->rPr, 'color', 'string')); - if (!is_null($fontColor)) { - $objText->getFont()->setColor( new PHPExcel_Style_Color( self::_readColor($fontColor) ) ); - } - - $bold = self::_getAttribute($titleDetailElement->rPr, 'b', 'boolean'); - if (!is_null($bold)) { - $objText->getFont()->setBold($bold); - } - - $italic = self::_getAttribute($titleDetailElement->rPr, 'i', 'boolean'); - if (!is_null($italic)) { - $objText->getFont()->setItalic($italic); - } - - $baseline = self::_getAttribute($titleDetailElement->rPr, 'baseline', 'integer'); - if (!is_null($baseline)) { - if ($baseline > 0) { - $objText->getFont()->setSuperScript(true); - } elseif($baseline < 0) { - $objText->getFont()->setSubScript(true); - } - } - - $underscore = (self::_getAttribute($titleDetailElement->rPr, 'u', 'string')); - if (!is_null($underscore)) { - if ($underscore == 'sng') { - $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); - } elseif($underscore == 'dbl') { - $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); - } else { - $objText->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_NONE); - } - } - - $strikethrough = (self::_getAttribute($titleDetailElement->rPr, 's', 'string')); - if (!is_null($strikethrough)) { - if ($strikethrough == 'noStrike') { - $objText->getFont()->setStrikethrough(false); - } else { - $objText->getFont()->setStrikethrough(true); - } - } - } - } - - return $value; - } - - private static function _readChartAttributes($chartDetail) { - $plotAttributes = array(); - if (isset($chartDetail->dLbls)) { - if (isset($chartDetail->dLbls->howLegendKey)) { - $plotAttributes['showLegendKey'] = self::_getAttribute($chartDetail->dLbls->showLegendKey, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showVal)) { - $plotAttributes['showVal'] = self::_getAttribute($chartDetail->dLbls->showVal, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showCatName)) { - $plotAttributes['showCatName'] = self::_getAttribute($chartDetail->dLbls->showCatName, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showSerName)) { - $plotAttributes['showSerName'] = self::_getAttribute($chartDetail->dLbls->showSerName, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showPercent)) { - $plotAttributes['showPercent'] = self::_getAttribute($chartDetail->dLbls->showPercent, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showBubbleSize)) { - $plotAttributes['showBubbleSize'] = self::_getAttribute($chartDetail->dLbls->showBubbleSize, 'val', 'string'); - } - if (isset($chartDetail->dLbls->showLeaderLines)) { - $plotAttributes['showLeaderLines'] = self::_getAttribute($chartDetail->dLbls->showLeaderLines, 'val', 'string'); - } - } - - return $plotAttributes; - } - - private static function _setChartAttributes($plotArea,$plotAttributes) - { - foreach($plotAttributes as $plotAttributeKey => $plotAttributeValue) { - switch($plotAttributeKey) { - case 'showLegendKey' : - $plotArea->setShowLegendKey($plotAttributeValue); - break; - case 'showVal' : - $plotArea->setShowVal($plotAttributeValue); - break; - case 'showCatName' : - $plotArea->setShowCatName($plotAttributeValue); - break; - case 'showSerName' : - $plotArea->setShowSerName($plotAttributeValue); - break; - case 'showPercent' : - $plotArea->setShowPercent($plotAttributeValue); - break; - case 'showBubbleSize' : - $plotArea->setShowBubbleSize($plotAttributeValue); - break; - case 'showLeaderLines' : - $plotArea->setShowLeaderLines($plotAttributeValue); - break; - } - } - } + return $plotAttributes; + } + private static function setChartAttributes($plotArea, $plotAttributes) + { + foreach ($plotAttributes as $plotAttributeKey => $plotAttributeValue) { + switch ($plotAttributeKey) { + case 'showLegendKey': + $plotArea->setShowLegendKey($plotAttributeValue); + break; + case 'showVal': + $plotArea->setShowVal($plotAttributeValue); + break; + case 'showCatName': + $plotArea->setShowCatName($plotAttributeValue); + break; + case 'showSerName': + $plotArea->setShowSerName($plotAttributeValue); + break; + case 'showPercent': + $plotArea->setShowPercent($plotAttributeValue); + break; + case 'showBubbleSize': + $plotArea->setShowBubbleSize($plotAttributeValue); + break; + case 'showLeaderLines': + $plotArea->setShowLeaderLines($plotAttributeValue); + break; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php index a371c6208..134f4b609 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel2007/Theme.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Reader_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,69 +31,70 @@ * * @category PHPExcel * @package PHPExcel_Reader_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Reader_Excel2007_Theme { - /** - * Theme Name - * - * @var string - */ - private $_themeName; + /** + * Theme Name + * + * @var string + */ + private $themeName; - /** - * Colour Scheme Name - * - * @var string - */ - private $_colourSchemeName; + /** + * Colour Scheme Name + * + * @var string + */ + private $colourSchemeName; - /** - * Colour Map indexed by position - * - * @var array of string - */ - private $_colourMapValues; + /** + * Colour Map indexed by position + * + * @var array of string + */ + private $colourMapValues; - /** - * Colour Map - * - * @var array of string - */ - private $_colourMap; + /** + * Colour Map + * + * @var array of string + */ + private $colourMap; /** * Create a new PHPExcel_Theme - * + * */ - public function __construct($themeName,$colourSchemeName,$colourMap) + public function __construct($themeName, $colourSchemeName, $colourMap) { - // Initialise values - $this->_themeName = $themeName; - $this->_colourSchemeName = $colourSchemeName; - $this->_colourMap = $colourMap; + // Initialise values + $this->themeName = $themeName; + $this->colourSchemeName = $colourSchemeName; + $this->colourMap = $colourMap; } - /** - * Get Theme Name - * - * @return string - */ - public function getThemeName() - { - return $this->_themeName; - } + /** + * Get Theme Name + * + * @return string + */ + public function getThemeName() + { + return $this->themeName; + } /** * Get colour Scheme Name * * @return string */ - public function getColourSchemeName() { - return $this->_colourSchemeName; + public function getColourSchemeName() + { + return $this->colourSchemeName; } /** @@ -101,24 +102,26 @@ class PHPExcel_Reader_Excel2007_Theme * * @return string */ - public function getColourByIndex($index=0) { - if (isset($this->_colourMap[$index])) { - return $this->_colourMap[$index]; - } - return null; + public function getColourByIndex($index = 0) + { + if (isset($this->colourMap[$index])) { + return $this->colourMap[$index]; + } + return null; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if ((is_object($value)) && ($key != '_parent')) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != '_parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php index 2de1852f6..62e971d2e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php @@ -1,8 +1,18 @@ _data - * - * @var int - */ - private $_dataSize; - - /** - * Current position in stream - * - * @var integer - */ - private $_pos; - - /** - * Workbook to be returned by the reader. - * - * @var PHPExcel - */ - private $_phpExcel; - - /** - * Worksheet that is currently being built by the reader. - * - * @var PHPExcel_Worksheet - */ - private $_phpSheet; - - /** - * BIFF version - * - * @var int - */ - private $_version; - - /** - * Codepage set in the Excel file being read. Only important for BIFF5 (Excel 5.0 - Excel 95) - * For BIFF8 (Excel 97 - Excel 2003) this will always have the value 'UTF-16LE' - * - * @var string - */ - private $_codepage; - - /** - * Shared formats - * - * @var array - */ - private $_formats; - - /** - * Shared fonts - * - * @var array - */ - private $_objFonts; - - /** - * Color palette - * - * @var array - */ - private $_palette; - - /** - * Worksheets - * - * @var array - */ - private $_sheets; - - /** - * External books - * - * @var array - */ - private $_externalBooks; - - /** - * REF structures. Only applies to BIFF8. - * - * @var array - */ - private $_ref; - - /** - * External names - * - * @var array - */ - private $_externalNames; - - /** - * Defined names - * - * @var array - */ - private $_definedname; - - /** - * Shared strings. Only applies to BIFF8. - * - * @var array - */ - private $_sst; - - /** - * Panes are frozen? (in sheet currently being read). See WINDOW2 record. - * - * @var boolean - */ - private $_frozen; - - /** - * Fit printout to number of pages? (in sheet currently being read). See SHEETPR record. - * - * @var boolean - */ - private $_isFitToPages; - - /** - * Objects. One OBJ record contributes with one entry. - * - * @var array - */ - private $_objs; - - /** - * Text Objects. One TXO record corresponds with one entry. - * - * @var array - */ - private $_textObjects; - - /** - * Cell Annotations (BIFF8) - * - * @var array - */ - private $_cellNotes; - - /** - * The combined MSODRAWINGGROUP data - * - * @var string - */ - private $_drawingGroupData; - - /** - * The combined MSODRAWING data (per sheet) - * - * @var string - */ - private $_drawingData; - - /** - * Keep track of XF index - * - * @var int - */ - private $_xfIndex; - - /** - * Mapping of XF index (that is a cell XF) to final index in cellXf collection - * - * @var array - */ - private $_mapCellXfIndex; - - /** - * Mapping of XF index (that is a style XF) to final index in cellStyleXf collection - * - * @var array - */ - private $_mapCellStyleXfIndex; - - /** - * The shared formulas in a sheet. One SHAREDFMLA record contributes with one value. - * - * @var array - */ - private $_sharedFormulas; - - /** - * The shared formula parts in a sheet. One FORMULA record contributes with one value if it - * refers to a shared formula. - * - * @var array - */ - private $_sharedFormulaParts; - - /** - * The type of encryption in use - * - * @var int - */ - private $_encryption = 0; - - /** - * The position in the stream after which contents are encrypted - * - * @var int - */ - private $_encryptionStartPos = false; - - /** - * The current RC4 decryption object - * - * @var PHPExcel_Reader_Excel5_RC4 - */ - private $_rc4Key = null; - - /** - * The position in the stream that the RC4 decryption object was left at - * - * @var int - */ - private $_rc4Pos = 0; - - /** - * The current MD5 context state - * - * @var string - */ - private $_md5Ctxt = null; - - /** - * Create a new PHPExcel_Reader_Excel5 instance - */ - public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); - } - - - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - try { - // Use ParseXL for the hard work. - $ole = new PHPExcel_Shared_OLERead(); - - // get excel data - $res = $ole->read($pFilename); - return true; - } catch (PHPExcel_Exception $e) { - return false; - } - } - - - /** - * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetNames($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $worksheetNames = array(); - - // Read the OLE file - $this->_loadOLE($pFilename); - - // total byte size of Excel data (workbook global substream + sheet substreams) - $this->_dataSize = strlen($this->_data); - - $this->_pos = 0; - $this->_sheets = array(); - - // Parse Workbook Global Substream - while ($this->_pos < $this->_dataSize) { - $code = self::_GetInt2d($this->_data, $this->_pos); - - switch ($code) { - case self::XLS_Type_BOF: $this->_readBof(); break; - case self::XLS_Type_SHEET: $this->_readSheet(); break; - case self::XLS_Type_EOF: $this->_readDefault(); break 2; - default: $this->_readDefault(); break; - } - } - - foreach ($this->_sheets as $sheet) { - if ($sheet['sheetType'] != 0x00) { - // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module - continue; - } - - $worksheetNames[] = $sheet['name']; - } - - return $worksheetNames; - } - - - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $worksheetInfo = array(); - - // Read the OLE file - $this->_loadOLE($pFilename); - - // total byte size of Excel data (workbook global substream + sheet substreams) - $this->_dataSize = strlen($this->_data); - - // initialize - $this->_pos = 0; - $this->_sheets = array(); - - // Parse Workbook Global Substream - while ($this->_pos < $this->_dataSize) { - $code = self::_GetInt2d($this->_data, $this->_pos); - - switch ($code) { - case self::XLS_Type_BOF: $this->_readBof(); break; - case self::XLS_Type_SHEET: $this->_readSheet(); break; - case self::XLS_Type_EOF: $this->_readDefault(); break 2; - default: $this->_readDefault(); break; - } - } - - // Parse the individual sheets - foreach ($this->_sheets as $sheet) { - - if ($sheet['sheetType'] != 0x00) { - // 0x00: Worksheet - // 0x02: Chart - // 0x06: Visual Basic module - continue; - } - - $tmpInfo = array(); - $tmpInfo['worksheetName'] = $sheet['name']; - $tmpInfo['lastColumnLetter'] = 'A'; - $tmpInfo['lastColumnIndex'] = 0; - $tmpInfo['totalRows'] = 0; - $tmpInfo['totalColumns'] = 0; - - $this->_pos = $sheet['offset']; - - while ($this->_pos <= $this->_dataSize - 4) { - $code = self::_GetInt2d($this->_data, $this->_pos); - - switch ($code) { - case self::XLS_Type_RK: - case self::XLS_Type_LABELSST: - case self::XLS_Type_NUMBER: - case self::XLS_Type_FORMULA: - case self::XLS_Type_BOOLERR: - case self::XLS_Type_LABEL: - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - $rowIndex = self::_GetInt2d($recordData, 0) + 1; - $columnIndex = self::_GetInt2d($recordData, 2); - - $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); - $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); - break; - case self::XLS_Type_BOF: $this->_readBof(); break; - case self::XLS_Type_EOF: $this->_readDefault(); break 2; - default: $this->_readDefault(); break; - } - } - - $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); - $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; - - $worksheetInfo[] = $tmpInfo; - } - - return $worksheetInfo; - } - - - /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Read the OLE file - $this->_loadOLE($pFilename); - - // Initialisations - $this->_phpExcel = new PHPExcel; - $this->_phpExcel->removeSheetByIndex(0); // remove 1st sheet - if (!$this->_readDataOnly) { - $this->_phpExcel->removeCellStyleXfByIndex(0); // remove the default style - $this->_phpExcel->removeCellXfByIndex(0); // remove the default style - } - - // Read the summary information stream (containing meta data) - $this->_readSummaryInformation(); - - // Read the Additional document summary information stream (containing application-specific meta data) - $this->_readDocumentSummaryInformation(); - - // total byte size of Excel data (workbook global substream + sheet substreams) - $this->_dataSize = strlen($this->_data); - - // initialize - $this->_pos = 0; - $this->_codepage = 'CP1252'; - $this->_formats = array(); - $this->_objFonts = array(); - $this->_palette = array(); - $this->_sheets = array(); - $this->_externalBooks = array(); - $this->_ref = array(); - $this->_definedname = array(); - $this->_sst = array(); - $this->_drawingGroupData = ''; - $this->_xfIndex = ''; - $this->_mapCellXfIndex = array(); - $this->_mapCellStyleXfIndex = array(); - - // Parse Workbook Global Substream - while ($this->_pos < $this->_dataSize) { - $code = self::_GetInt2d($this->_data, $this->_pos); - - switch ($code) { - case self::XLS_Type_BOF: $this->_readBof(); break; - case self::XLS_Type_FILEPASS: $this->_readFilepass(); break; - case self::XLS_Type_CODEPAGE: $this->_readCodepage(); break; - case self::XLS_Type_DATEMODE: $this->_readDateMode(); break; - case self::XLS_Type_FONT: $this->_readFont(); break; - case self::XLS_Type_FORMAT: $this->_readFormat(); break; - case self::XLS_Type_XF: $this->_readXf(); break; - case self::XLS_Type_XFEXT: $this->_readXfExt(); break; - case self::XLS_Type_STYLE: $this->_readStyle(); break; - case self::XLS_Type_PALETTE: $this->_readPalette(); break; - case self::XLS_Type_SHEET: $this->_readSheet(); break; - case self::XLS_Type_EXTERNALBOOK: $this->_readExternalBook(); break; - case self::XLS_Type_EXTERNNAME: $this->_readExternName(); break; - case self::XLS_Type_EXTERNSHEET: $this->_readExternSheet(); break; - case self::XLS_Type_DEFINEDNAME: $this->_readDefinedName(); break; - case self::XLS_Type_MSODRAWINGGROUP: $this->_readMsoDrawingGroup(); break; - case self::XLS_Type_SST: $this->_readSst(); break; - case self::XLS_Type_EOF: $this->_readDefault(); break 2; - default: $this->_readDefault(); break; - } - } - - // Resolve indexed colors for font, fill, and border colors - // Cannot be resolved already in XF record, because PALETTE record comes afterwards - if (!$this->_readDataOnly) { - foreach ($this->_objFonts as $objFont) { - if (isset($objFont->colorIndex)) { - $color = self::_readColor($objFont->colorIndex,$this->_palette,$this->_version); - $objFont->getColor()->setRGB($color['rgb']); - } - } - - foreach ($this->_phpExcel->getCellXfCollection() as $objStyle) { - // fill start and end color - $fill = $objStyle->getFill(); - - if (isset($fill->startcolorIndex)) { - $startColor = self::_readColor($fill->startcolorIndex,$this->_palette,$this->_version); - $fill->getStartColor()->setRGB($startColor['rgb']); - } - - if (isset($fill->endcolorIndex)) { - $endColor = self::_readColor($fill->endcolorIndex,$this->_palette,$this->_version); - $fill->getEndColor()->setRGB($endColor['rgb']); - } - - // border colors - $top = $objStyle->getBorders()->getTop(); - $right = $objStyle->getBorders()->getRight(); - $bottom = $objStyle->getBorders()->getBottom(); - $left = $objStyle->getBorders()->getLeft(); - $diagonal = $objStyle->getBorders()->getDiagonal(); - - if (isset($top->colorIndex)) { - $borderTopColor = self::_readColor($top->colorIndex,$this->_palette,$this->_version); - $top->getColor()->setRGB($borderTopColor['rgb']); - } - - if (isset($right->colorIndex)) { - $borderRightColor = self::_readColor($right->colorIndex,$this->_palette,$this->_version); - $right->getColor()->setRGB($borderRightColor['rgb']); - } - - if (isset($bottom->colorIndex)) { - $borderBottomColor = self::_readColor($bottom->colorIndex,$this->_palette,$this->_version); - $bottom->getColor()->setRGB($borderBottomColor['rgb']); - } - - if (isset($left->colorIndex)) { - $borderLeftColor = self::_readColor($left->colorIndex,$this->_palette,$this->_version); - $left->getColor()->setRGB($borderLeftColor['rgb']); - } - - if (isset($diagonal->colorIndex)) { - $borderDiagonalColor = self::_readColor($diagonal->colorIndex,$this->_palette,$this->_version); - $diagonal->getColor()->setRGB($borderDiagonalColor['rgb']); - } - } - } - - // treat MSODRAWINGGROUP records, workbook-level Escher - if (!$this->_readDataOnly && $this->_drawingGroupData) { - $escherWorkbook = new PHPExcel_Shared_Escher(); - $reader = new PHPExcel_Reader_Excel5_Escher($escherWorkbook); - $escherWorkbook = $reader->load($this->_drawingGroupData); - - // debug Escher stream - //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); - //$debug->load($this->_drawingGroupData); - } - - // Parse the individual sheets - foreach ($this->_sheets as $sheet) { - - if ($sheet['sheetType'] != 0x00) { - // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module - continue; - } - - // check if sheet should be skipped - if (isset($this->_loadSheetsOnly) && !in_array($sheet['name'], $this->_loadSheetsOnly)) { - continue; - } - - // add sheet to PHPExcel object - $this->_phpSheet = $this->_phpExcel->createSheet(); - // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula - // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet - // name in line with the formula, not the reverse - $this->_phpSheet->setTitle($sheet['name'],false); - $this->_phpSheet->setSheetState($sheet['sheetState']); - - $this->_pos = $sheet['offset']; - - // Initialize isFitToPages. May change after reading SHEETPR record. - $this->_isFitToPages = false; - - // Initialize drawingData - $this->_drawingData = ''; - - // Initialize objs - $this->_objs = array(); - - // Initialize shared formula parts - $this->_sharedFormulaParts = array(); - - // Initialize shared formulas - $this->_sharedFormulas = array(); - - // Initialize text objs - $this->_textObjects = array(); - - // Initialize cell annotations - $this->_cellNotes = array(); - $this->textObjRef = -1; - - while ($this->_pos <= $this->_dataSize - 4) { - $code = self::_GetInt2d($this->_data, $this->_pos); - - switch ($code) { - case self::XLS_Type_BOF: $this->_readBof(); break; - case self::XLS_Type_PRINTGRIDLINES: $this->_readPrintGridlines(); break; - case self::XLS_Type_DEFAULTROWHEIGHT: $this->_readDefaultRowHeight(); break; - case self::XLS_Type_SHEETPR: $this->_readSheetPr(); break; - case self::XLS_Type_HORIZONTALPAGEBREAKS: $this->_readHorizontalPageBreaks(); break; - case self::XLS_Type_VERTICALPAGEBREAKS: $this->_readVerticalPageBreaks(); break; - case self::XLS_Type_HEADER: $this->_readHeader(); break; - case self::XLS_Type_FOOTER: $this->_readFooter(); break; - case self::XLS_Type_HCENTER: $this->_readHcenter(); break; - case self::XLS_Type_VCENTER: $this->_readVcenter(); break; - case self::XLS_Type_LEFTMARGIN: $this->_readLeftMargin(); break; - case self::XLS_Type_RIGHTMARGIN: $this->_readRightMargin(); break; - case self::XLS_Type_TOPMARGIN: $this->_readTopMargin(); break; - case self::XLS_Type_BOTTOMMARGIN: $this->_readBottomMargin(); break; - case self::XLS_Type_PAGESETUP: $this->_readPageSetup(); break; - case self::XLS_Type_PROTECT: $this->_readProtect(); break; - case self::XLS_Type_SCENPROTECT: $this->_readScenProtect(); break; - case self::XLS_Type_OBJECTPROTECT: $this->_readObjectProtect(); break; - case self::XLS_Type_PASSWORD: $this->_readPassword(); break; - case self::XLS_Type_DEFCOLWIDTH: $this->_readDefColWidth(); break; - case self::XLS_Type_COLINFO: $this->_readColInfo(); break; - case self::XLS_Type_DIMENSION: $this->_readDefault(); break; - case self::XLS_Type_ROW: $this->_readRow(); break; - case self::XLS_Type_DBCELL: $this->_readDefault(); break; - case self::XLS_Type_RK: $this->_readRk(); break; - case self::XLS_Type_LABELSST: $this->_readLabelSst(); break; - case self::XLS_Type_MULRK: $this->_readMulRk(); break; - case self::XLS_Type_NUMBER: $this->_readNumber(); break; - case self::XLS_Type_FORMULA: $this->_readFormula(); break; - case self::XLS_Type_SHAREDFMLA: $this->_readSharedFmla(); break; - case self::XLS_Type_BOOLERR: $this->_readBoolErr(); break; - case self::XLS_Type_MULBLANK: $this->_readMulBlank(); break; - case self::XLS_Type_LABEL: $this->_readLabel(); break; - case self::XLS_Type_BLANK: $this->_readBlank(); break; - case self::XLS_Type_MSODRAWING: $this->_readMsoDrawing(); break; - case self::XLS_Type_OBJ: $this->_readObj(); break; - case self::XLS_Type_WINDOW2: $this->_readWindow2(); break; - case self::XLS_Type_PAGELAYOUTVIEW: $this->_readPageLayoutView(); break; - case self::XLS_Type_SCL: $this->_readScl(); break; - case self::XLS_Type_PANE: $this->_readPane(); break; - case self::XLS_Type_SELECTION: $this->_readSelection(); break; - case self::XLS_Type_MERGEDCELLS: $this->_readMergedCells(); break; - case self::XLS_Type_HYPERLINK: $this->_readHyperLink(); break; - case self::XLS_Type_DATAVALIDATIONS: $this->_readDataValidations(); break; - case self::XLS_Type_DATAVALIDATION: $this->_readDataValidation(); break; - case self::XLS_Type_SHEETLAYOUT: $this->_readSheetLayout(); break; - case self::XLS_Type_SHEETPROTECTION: $this->_readSheetProtection(); break; - case self::XLS_Type_RANGEPROTECTION: $this->_readRangeProtection(); break; - case self::XLS_Type_NOTE: $this->_readNote(); break; - //case self::XLS_Type_IMDATA: $this->_readImData(); break; - case self::XLS_Type_TXO: $this->_readTextObject(); break; - case self::XLS_Type_CONTINUE: $this->_readContinue(); break; - case self::XLS_Type_EOF: $this->_readDefault(); break 2; - default: $this->_readDefault(); break; - } - - } - - // treat MSODRAWING records, sheet-level Escher - if (!$this->_readDataOnly && $this->_drawingData) { - $escherWorksheet = new PHPExcel_Shared_Escher(); - $reader = new PHPExcel_Reader_Excel5_Escher($escherWorksheet); - $escherWorksheet = $reader->load($this->_drawingData); - - // debug Escher stream - //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); - //$debug->load($this->_drawingData); - - // get all spContainers in one long array, so they can be mapped to OBJ records - $allSpContainers = $escherWorksheet->getDgContainer()->getSpgrContainer()->getAllSpContainers(); - } - - // treat OBJ records - foreach ($this->_objs as $n => $obj) { -// echo '
Object reference is ',$n,'
'; -// var_dump($obj); -// echo '
'; - - // the first shape container never has a corresponding OBJ record, hence $n + 1 - if (isset($allSpContainers[$n + 1]) && is_object($allSpContainers[$n + 1])) { - $spContainer = $allSpContainers[$n + 1]; - - // we skip all spContainers that are a part of a group shape since we cannot yet handle those - if ($spContainer->getNestingLevel() > 1) { - continue; - } - - // calculate the width and height of the shape - list($startColumn, $startRow) = PHPExcel_Cell::coordinateFromString($spContainer->getStartCoordinates()); - list($endColumn, $endRow) = PHPExcel_Cell::coordinateFromString($spContainer->getEndCoordinates()); - - $startOffsetX = $spContainer->getStartOffsetX(); - $startOffsetY = $spContainer->getStartOffsetY(); - $endOffsetX = $spContainer->getEndOffsetX(); - $endOffsetY = $spContainer->getEndOffsetY(); - - $width = PHPExcel_Shared_Excel5::getDistanceX($this->_phpSheet, $startColumn, $startOffsetX, $endColumn, $endOffsetX); - $height = PHPExcel_Shared_Excel5::getDistanceY($this->_phpSheet, $startRow, $startOffsetY, $endRow, $endOffsetY); - - // calculate offsetX and offsetY of the shape - $offsetX = $startOffsetX * PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, $startColumn) / 1024; - $offsetY = $startOffsetY * PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $startRow) / 256; - - switch ($obj['otObjType']) { - case 0x19: - // Note -// echo 'Cell Annotation Object
'; -// echo 'Object ID is ',$obj['idObjID'],'
'; + // ParseXL definitions + const XLS_BIFF8 = 0x0600; + const XLS_BIFF7 = 0x0500; + const XLS_WorkbookGlobals = 0x0005; + const XLS_Worksheet = 0x0010; + + // record identifiers + const XLS_TYPE_FORMULA = 0x0006; + const XLS_TYPE_EOF = 0x000a; + const XLS_TYPE_PROTECT = 0x0012; + const XLS_TYPE_OBJECTPROTECT = 0x0063; + const XLS_TYPE_SCENPROTECT = 0x00dd; + const XLS_TYPE_PASSWORD = 0x0013; + const XLS_TYPE_HEADER = 0x0014; + const XLS_TYPE_FOOTER = 0x0015; + const XLS_TYPE_EXTERNSHEET = 0x0017; + const XLS_TYPE_DEFINEDNAME = 0x0018; + const XLS_TYPE_VERTICALPAGEBREAKS = 0x001a; + const XLS_TYPE_HORIZONTALPAGEBREAKS = 0x001b; + const XLS_TYPE_NOTE = 0x001c; + const XLS_TYPE_SELECTION = 0x001d; + const XLS_TYPE_DATEMODE = 0x0022; + const XLS_TYPE_EXTERNNAME = 0x0023; + const XLS_TYPE_LEFTMARGIN = 0x0026; + const XLS_TYPE_RIGHTMARGIN = 0x0027; + const XLS_TYPE_TOPMARGIN = 0x0028; + const XLS_TYPE_BOTTOMMARGIN = 0x0029; + const XLS_TYPE_PRINTGRIDLINES = 0x002b; + const XLS_TYPE_FILEPASS = 0x002f; + const XLS_TYPE_FONT = 0x0031; + const XLS_TYPE_CONTINUE = 0x003c; + const XLS_TYPE_PANE = 0x0041; + const XLS_TYPE_CODEPAGE = 0x0042; + const XLS_TYPE_DEFCOLWIDTH = 0x0055; + const XLS_TYPE_OBJ = 0x005d; + const XLS_TYPE_COLINFO = 0x007d; + const XLS_TYPE_IMDATA = 0x007f; + const XLS_TYPE_SHEETPR = 0x0081; + const XLS_TYPE_HCENTER = 0x0083; + const XLS_TYPE_VCENTER = 0x0084; + const XLS_TYPE_SHEET = 0x0085; + const XLS_TYPE_PALETTE = 0x0092; + const XLS_TYPE_SCL = 0x00a0; + const XLS_TYPE_PAGESETUP = 0x00a1; + const XLS_TYPE_MULRK = 0x00bd; + const XLS_TYPE_MULBLANK = 0x00be; + const XLS_TYPE_DBCELL = 0x00d7; + const XLS_TYPE_XF = 0x00e0; + const XLS_TYPE_MERGEDCELLS = 0x00e5; + const XLS_TYPE_MSODRAWINGGROUP = 0x00eb; + const XLS_TYPE_MSODRAWING = 0x00ec; + const XLS_TYPE_SST = 0x00fc; + const XLS_TYPE_LABELSST = 0x00fd; + const XLS_TYPE_EXTSST = 0x00ff; + const XLS_TYPE_EXTERNALBOOK = 0x01ae; + const XLS_TYPE_DATAVALIDATIONS = 0x01b2; + const XLS_TYPE_TXO = 0x01b6; + const XLS_TYPE_HYPERLINK = 0x01b8; + const XLS_TYPE_DATAVALIDATION = 0x01be; + const XLS_TYPE_DIMENSION = 0x0200; + const XLS_TYPE_BLANK = 0x0201; + const XLS_TYPE_NUMBER = 0x0203; + const XLS_TYPE_LABEL = 0x0204; + const XLS_TYPE_BOOLERR = 0x0205; + const XLS_TYPE_STRING = 0x0207; + const XLS_TYPE_ROW = 0x0208; + const XLS_TYPE_INDEX = 0x020b; + const XLS_TYPE_ARRAY = 0x0221; + const XLS_TYPE_DEFAULTROWHEIGHT = 0x0225; + const XLS_TYPE_WINDOW2 = 0x023e; + const XLS_TYPE_RK = 0x027e; + const XLS_TYPE_STYLE = 0x0293; + const XLS_TYPE_FORMAT = 0x041e; + const XLS_TYPE_SHAREDFMLA = 0x04bc; + const XLS_TYPE_BOF = 0x0809; + const XLS_TYPE_SHEETPROTECTION = 0x0867; + const XLS_TYPE_RANGEPROTECTION = 0x0868; + const XLS_TYPE_SHEETLAYOUT = 0x0862; + const XLS_TYPE_XFEXT = 0x087d; + const XLS_TYPE_PAGELAYOUTVIEW = 0x088b; + const XLS_TYPE_UNKNOWN = 0xffff; + + // Encryption type + const MS_BIFF_CRYPTO_NONE = 0; + const MS_BIFF_CRYPTO_XOR = 1; + const MS_BIFF_CRYPTO_RC4 = 2; + + // Size of stream blocks when using RC4 encryption + const REKEY_BLOCK = 0x400; + + /** + * Summary Information stream data. + * + * @var string + */ + private $summaryInformation; + + /** + * Extended Summary Information stream data. + * + * @var string + */ + private $documentSummaryInformation; + + /** + * User-Defined Properties stream data. + * + * @var string + */ + private $userDefinedProperties; + + /** + * Workbook stream data. (Includes workbook globals substream as well as sheet substreams) + * + * @var string + */ + private $data; + + /** + * Size in bytes of $this->data + * + * @var int + */ + private $dataSize; + + /** + * Current position in stream + * + * @var integer + */ + private $pos; + + /** + * Workbook to be returned by the reader. + * + * @var PHPExcel + */ + private $phpExcel; + + /** + * Worksheet that is currently being built by the reader. + * + * @var PHPExcel_Worksheet + */ + private $phpSheet; + + /** + * BIFF version + * + * @var int + */ + private $version; + + /** + * Codepage set in the Excel file being read. Only important for BIFF5 (Excel 5.0 - Excel 95) + * For BIFF8 (Excel 97 - Excel 2003) this will always have the value 'UTF-16LE' + * + * @var string + */ + private $codepage; + + /** + * Shared formats + * + * @var array + */ + private $formats; + + /** + * Shared fonts + * + * @var array + */ + private $objFonts; + + /** + * Color palette + * + * @var array + */ + private $palette; + + /** + * Worksheets + * + * @var array + */ + private $sheets; + + /** + * External books + * + * @var array + */ + private $externalBooks; + + /** + * REF structures. Only applies to BIFF8. + * + * @var array + */ + private $ref; + + /** + * External names + * + * @var array + */ + private $externalNames; + + /** + * Defined names + * + * @var array + */ + private $definedname; + + /** + * Shared strings. Only applies to BIFF8. + * + * @var array + */ + private $sst; + + /** + * Panes are frozen? (in sheet currently being read). See WINDOW2 record. + * + * @var boolean + */ + private $frozen; + + /** + * Fit printout to number of pages? (in sheet currently being read). See SHEETPR record. + * + * @var boolean + */ + private $isFitToPages; + + /** + * Objects. One OBJ record contributes with one entry. + * + * @var array + */ + private $objs; + + /** + * Text Objects. One TXO record corresponds with one entry. + * + * @var array + */ + private $textObjects; + + /** + * Cell Annotations (BIFF8) + * + * @var array + */ + private $cellNotes; + + /** + * The combined MSODRAWINGGROUP data + * + * @var string + */ + private $drawingGroupData; + + /** + * The combined MSODRAWING data (per sheet) + * + * @var string + */ + private $drawingData; + + /** + * Keep track of XF index + * + * @var int + */ + private $xfIndex; + + /** + * Mapping of XF index (that is a cell XF) to final index in cellXf collection + * + * @var array + */ + private $mapCellXfIndex; + + /** + * Mapping of XF index (that is a style XF) to final index in cellStyleXf collection + * + * @var array + */ + private $mapCellStyleXfIndex; + + /** + * The shared formulas in a sheet. One SHAREDFMLA record contributes with one value. + * + * @var array + */ + private $sharedFormulas; + + /** + * The shared formula parts in a sheet. One FORMULA record contributes with one value if it + * refers to a shared formula. + * + * @var array + */ + private $sharedFormulaParts; + + /** + * The type of encryption in use + * + * @var int + */ + private $encryption = 0; + + /** + * The position in the stream after which contents are encrypted + * + * @var int + */ + private $encryptionStartPos = false; + + /** + * The current RC4 decryption object + * + * @var PHPExcel_Reader_Excel5_RC4 + */ + private $rc4Key = null; + + /** + * The position in the stream that the RC4 decryption object was left at + * + * @var int + */ + private $rc4Pos = 0; + + /** + * The current MD5 context state + * + * @var string + */ + private $md5Ctxt = null; + + /** + * Create a new PHPExcel_Reader_Excel5 instance + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } + + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + try { + // Use ParseXL for the hard work. + $ole = new PHPExcel_Shared_OLERead(); + + // get excel data + $res = $ole->read($pFilename); + return true; + } catch (PHPExcel_Exception $e) { + return false; + } + } + + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetNames = array(); + + // Read the OLE file + $this->loadOLE($pFilename); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->dataSize = strlen($this->data); + + $this->pos = 0; + $this->sheets = array(); + + // Parse Workbook Global Substream + while ($this->pos < $this->dataSize) { + $code = self::getInt2d($this->data, $this->pos); + + switch ($code) { + case self::XLS_TYPE_BOF: + $this->readBof(); + break; + case self::XLS_TYPE_SHEET: + $this->readSheet(); + break; + case self::XLS_TYPE_EOF: + $this->readDefault(); + break 2; + default: + $this->readDefault(); + break; + } + } + + foreach ($this->sheets as $sheet) { + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module + continue; + } + + $worksheetNames[] = $sheet['name']; + } + + return $worksheetNames; + } + + + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + + $worksheetInfo = array(); + + // Read the OLE file + $this->loadOLE($pFilename); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->dataSize = strlen($this->data); + + // initialize + $this->pos = 0; + $this->sheets = array(); + + // Parse Workbook Global Substream + while ($this->pos < $this->dataSize) { + $code = self::getInt2d($this->data, $this->pos); + + switch ($code) { + case self::XLS_TYPE_BOF: + $this->readBof(); + break; + case self::XLS_TYPE_SHEET: + $this->readSheet(); + break; + case self::XLS_TYPE_EOF: + $this->readDefault(); + break 2; + default: + $this->readDefault(); + break; + } + } + + // Parse the individual sheets + foreach ($this->sheets as $sheet) { + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet + // 0x02: Chart + // 0x06: Visual Basic module + continue; + } + + $tmpInfo = array(); + $tmpInfo['worksheetName'] = $sheet['name']; + $tmpInfo['lastColumnLetter'] = 'A'; + $tmpInfo['lastColumnIndex'] = 0; + $tmpInfo['totalRows'] = 0; + $tmpInfo['totalColumns'] = 0; + + $this->pos = $sheet['offset']; + + while ($this->pos <= $this->dataSize - 4) { + $code = self::getInt2d($this->data, $this->pos); + + switch ($code) { + case self::XLS_TYPE_RK: + case self::XLS_TYPE_LABELSST: + case self::XLS_TYPE_NUMBER: + case self::XLS_TYPE_FORMULA: + case self::XLS_TYPE_BOOLERR: + case self::XLS_TYPE_LABEL: + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + $rowIndex = self::getInt2d($recordData, 0) + 1; + $columnIndex = self::getInt2d($recordData, 2); + + $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex); + $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex); + break; + case self::XLS_TYPE_BOF: + $this->readBof(); + break; + case self::XLS_TYPE_EOF: + $this->readDefault(); + break 2; + default: + $this->readDefault(); + break; + } + } + + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; + + $worksheetInfo[] = $tmpInfo; + } + + return $worksheetInfo; + } + + + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Read the OLE file + $this->loadOLE($pFilename); + + // Initialisations + $this->phpExcel = new PHPExcel; + $this->phpExcel->removeSheetByIndex(0); // remove 1st sheet + if (!$this->readDataOnly) { + $this->phpExcel->removeCellStyleXfByIndex(0); // remove the default style + $this->phpExcel->removeCellXfByIndex(0); // remove the default style + } + + // Read the summary information stream (containing meta data) + $this->readSummaryInformation(); + + // Read the Additional document summary information stream (containing application-specific meta data) + $this->readDocumentSummaryInformation(); + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->dataSize = strlen($this->data); + + // initialize + $this->pos = 0; + $this->codepage = 'CP1252'; + $this->formats = array(); + $this->objFonts = array(); + $this->palette = array(); + $this->sheets = array(); + $this->externalBooks = array(); + $this->ref = array(); + $this->definedname = array(); + $this->sst = array(); + $this->drawingGroupData = ''; + $this->xfIndex = ''; + $this->mapCellXfIndex = array(); + $this->mapCellStyleXfIndex = array(); + + // Parse Workbook Global Substream + while ($this->pos < $this->dataSize) { + $code = self::getInt2d($this->data, $this->pos); + + switch ($code) { + case self::XLS_TYPE_BOF: + $this->readBof(); + break; + case self::XLS_TYPE_FILEPASS: + $this->readFilepass(); + break; + case self::XLS_TYPE_CODEPAGE: + $this->readCodepage(); + break; + case self::XLS_TYPE_DATEMODE: + $this->readDateMode(); + break; + case self::XLS_TYPE_FONT: + $this->readFont(); + break; + case self::XLS_TYPE_FORMAT: + $this->readFormat(); + break; + case self::XLS_TYPE_XF: + $this->readXf(); + break; + case self::XLS_TYPE_XFEXT: + $this->readXfExt(); + break; + case self::XLS_TYPE_STYLE: + $this->readStyle(); + break; + case self::XLS_TYPE_PALETTE: + $this->readPalette(); + break; + case self::XLS_TYPE_SHEET: + $this->readSheet(); + break; + case self::XLS_TYPE_EXTERNALBOOK: + $this->readExternalBook(); + break; + case self::XLS_TYPE_EXTERNNAME: + $this->readExternName(); + break; + case self::XLS_TYPE_EXTERNSHEET: + $this->readExternSheet(); + break; + case self::XLS_TYPE_DEFINEDNAME: + $this->readDefinedName(); + break; + case self::XLS_TYPE_MSODRAWINGGROUP: + $this->readMsoDrawingGroup(); + break; + case self::XLS_TYPE_SST: + $this->readSst(); + break; + case self::XLS_TYPE_EOF: + $this->readDefault(); + break 2; + default: + $this->readDefault(); + break; + } + } + + // Resolve indexed colors for font, fill, and border colors + // Cannot be resolved already in XF record, because PALETTE record comes afterwards + if (!$this->readDataOnly) { + foreach ($this->objFonts as $objFont) { + if (isset($objFont->colorIndex)) { + $color = PHPExcel_Reader_Excel5_Color::map($objFont->colorIndex, $this->palette, $this->version); + $objFont->getColor()->setRGB($color['rgb']); + } + } + + foreach ($this->phpExcel->getCellXfCollection() as $objStyle) { + // fill start and end color + $fill = $objStyle->getFill(); + + if (isset($fill->startcolorIndex)) { + $startColor = PHPExcel_Reader_Excel5_Color::map($fill->startcolorIndex, $this->palette, $this->version); + $fill->getStartColor()->setRGB($startColor['rgb']); + } + if (isset($fill->endcolorIndex)) { + $endColor = PHPExcel_Reader_Excel5_Color::map($fill->endcolorIndex, $this->palette, $this->version); + $fill->getEndColor()->setRGB($endColor['rgb']); + } + + // border colors + $top = $objStyle->getBorders()->getTop(); + $right = $objStyle->getBorders()->getRight(); + $bottom = $objStyle->getBorders()->getBottom(); + $left = $objStyle->getBorders()->getLeft(); + $diagonal = $objStyle->getBorders()->getDiagonal(); + + if (isset($top->colorIndex)) { + $borderTopColor = PHPExcel_Reader_Excel5_Color::map($top->colorIndex, $this->palette, $this->version); + $top->getColor()->setRGB($borderTopColor['rgb']); + } + if (isset($right->colorIndex)) { + $borderRightColor = PHPExcel_Reader_Excel5_Color::map($right->colorIndex, $this->palette, $this->version); + $right->getColor()->setRGB($borderRightColor['rgb']); + } + if (isset($bottom->colorIndex)) { + $borderBottomColor = PHPExcel_Reader_Excel5_Color::map($bottom->colorIndex, $this->palette, $this->version); + $bottom->getColor()->setRGB($borderBottomColor['rgb']); + } + if (isset($left->colorIndex)) { + $borderLeftColor = PHPExcel_Reader_Excel5_Color::map($left->colorIndex, $this->palette, $this->version); + $left->getColor()->setRGB($borderLeftColor['rgb']); + } + if (isset($diagonal->colorIndex)) { + $borderDiagonalColor = PHPExcel_Reader_Excel5_Color::map($diagonal->colorIndex, $this->palette, $this->version); + $diagonal->getColor()->setRGB($borderDiagonalColor['rgb']); + } + } + } + + // treat MSODRAWINGGROUP records, workbook-level Escher + if (!$this->readDataOnly && $this->drawingGroupData) { + $escherWorkbook = new PHPExcel_Shared_Escher(); + $reader = new PHPExcel_Reader_Excel5_Escher($escherWorkbook); + $escherWorkbook = $reader->load($this->drawingGroupData); + + // debug Escher stream + //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); + //$debug->load($this->drawingGroupData); + } + + // Parse the individual sheets + foreach ($this->sheets as $sheet) { + if ($sheet['sheetType'] != 0x00) { + // 0x00: Worksheet, 0x02: Chart, 0x06: Visual Basic module + continue; + } + + // check if sheet should be skipped + if (isset($this->loadSheetsOnly) && !in_array($sheet['name'], $this->loadSheetsOnly)) { + continue; + } + + // add sheet to PHPExcel object + $this->phpSheet = $this->phpExcel->createSheet(); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula + // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet + // name in line with the formula, not the reverse + $this->phpSheet->setTitle($sheet['name'], false); + $this->phpSheet->setSheetState($sheet['sheetState']); + + $this->pos = $sheet['offset']; + + // Initialize isFitToPages. May change after reading SHEETPR record. + $this->isFitToPages = false; + + // Initialize drawingData + $this->drawingData = ''; + + // Initialize objs + $this->objs = array(); + + // Initialize shared formula parts + $this->sharedFormulaParts = array(); + + // Initialize shared formulas + $this->sharedFormulas = array(); + + // Initialize text objs + $this->textObjects = array(); + + // Initialize cell annotations + $this->cellNotes = array(); + $this->textObjRef = -1; + + while ($this->pos <= $this->dataSize - 4) { + $code = self::getInt2d($this->data, $this->pos); + + switch ($code) { + case self::XLS_TYPE_BOF: + $this->readBof(); + break; + case self::XLS_TYPE_PRINTGRIDLINES: + $this->readPrintGridlines(); + break; + case self::XLS_TYPE_DEFAULTROWHEIGHT: + $this->readDefaultRowHeight(); + break; + case self::XLS_TYPE_SHEETPR: + $this->readSheetPr(); + break; + case self::XLS_TYPE_HORIZONTALPAGEBREAKS: + $this->readHorizontalPageBreaks(); + break; + case self::XLS_TYPE_VERTICALPAGEBREAKS: + $this->readVerticalPageBreaks(); + break; + case self::XLS_TYPE_HEADER: + $this->readHeader(); + break; + case self::XLS_TYPE_FOOTER: + $this->readFooter(); + break; + case self::XLS_TYPE_HCENTER: + $this->readHcenter(); + break; + case self::XLS_TYPE_VCENTER: + $this->readVcenter(); + break; + case self::XLS_TYPE_LEFTMARGIN: + $this->readLeftMargin(); + break; + case self::XLS_TYPE_RIGHTMARGIN: + $this->readRightMargin(); + break; + case self::XLS_TYPE_TOPMARGIN: + $this->readTopMargin(); + break; + case self::XLS_TYPE_BOTTOMMARGIN: + $this->readBottomMargin(); + break; + case self::XLS_TYPE_PAGESETUP: + $this->readPageSetup(); + break; + case self::XLS_TYPE_PROTECT: + $this->readProtect(); + break; + case self::XLS_TYPE_SCENPROTECT: + $this->readScenProtect(); + break; + case self::XLS_TYPE_OBJECTPROTECT: + $this->readObjectProtect(); + break; + case self::XLS_TYPE_PASSWORD: + $this->readPassword(); + break; + case self::XLS_TYPE_DEFCOLWIDTH: + $this->readDefColWidth(); + break; + case self::XLS_TYPE_COLINFO: + $this->readColInfo(); + break; + case self::XLS_TYPE_DIMENSION: + $this->readDefault(); + break; + case self::XLS_TYPE_ROW: + $this->readRow(); + break; + case self::XLS_TYPE_DBCELL: + $this->readDefault(); + break; + case self::XLS_TYPE_RK: + $this->readRk(); + break; + case self::XLS_TYPE_LABELSST: + $this->readLabelSst(); + break; + case self::XLS_TYPE_MULRK: + $this->readMulRk(); + break; + case self::XLS_TYPE_NUMBER: + $this->readNumber(); + break; + case self::XLS_TYPE_FORMULA: + $this->readFormula(); + break; + case self::XLS_TYPE_SHAREDFMLA: + $this->readSharedFmla(); + break; + case self::XLS_TYPE_BOOLERR: + $this->readBoolErr(); + break; + case self::XLS_TYPE_MULBLANK: + $this->readMulBlank(); + break; + case self::XLS_TYPE_LABEL: + $this->readLabel(); + break; + case self::XLS_TYPE_BLANK: + $this->readBlank(); + break; + case self::XLS_TYPE_MSODRAWING: + $this->readMsoDrawing(); + break; + case self::XLS_TYPE_OBJ: + $this->readObj(); + break; + case self::XLS_TYPE_WINDOW2: + $this->readWindow2(); + break; + case self::XLS_TYPE_PAGELAYOUTVIEW: + $this->readPageLayoutView(); + break; + case self::XLS_TYPE_SCL: + $this->readScl(); + break; + case self::XLS_TYPE_PANE: + $this->readPane(); + break; + case self::XLS_TYPE_SELECTION: + $this->readSelection(); + break; + case self::XLS_TYPE_MERGEDCELLS: + $this->readMergedCells(); + break; + case self::XLS_TYPE_HYPERLINK: + $this->readHyperLink(); + break; + case self::XLS_TYPE_DATAVALIDATIONS: + $this->readDataValidations(); + break; + case self::XLS_TYPE_DATAVALIDATION: + $this->readDataValidation(); + break; + case self::XLS_TYPE_SHEETLAYOUT: + $this->readSheetLayout(); + break; + case self::XLS_TYPE_SHEETPROTECTION: + $this->readSheetProtection(); + break; + case self::XLS_TYPE_RANGEPROTECTION: + $this->readRangeProtection(); + break; + case self::XLS_TYPE_NOTE: + $this->readNote(); + break; + //case self::XLS_TYPE_IMDATA: $this->readImData(); break; + case self::XLS_TYPE_TXO: + $this->readTextObject(); + break; + case self::XLS_TYPE_CONTINUE: + $this->readContinue(); + break; + case self::XLS_TYPE_EOF: + $this->readDefault(); + break 2; + default: + $this->readDefault(); + break; + } + + } + + // treat MSODRAWING records, sheet-level Escher + if (!$this->readDataOnly && $this->drawingData) { + $escherWorksheet = new PHPExcel_Shared_Escher(); + $reader = new PHPExcel_Reader_Excel5_Escher($escherWorksheet); + $escherWorksheet = $reader->load($this->drawingData); + + // debug Escher stream + //$debug = new Debug_Escher(new PHPExcel_Shared_Escher()); + //$debug->load($this->drawingData); + + // get all spContainers in one long array, so they can be mapped to OBJ records + $allSpContainers = $escherWorksheet->getDgContainer()->getSpgrContainer()->getAllSpContainers(); + } + + // treat OBJ records + foreach ($this->objs as $n => $obj) { +// echo '
Object reference is ', $n,'
'; +// var_dump($obj); +// echo '
'; + + // the first shape container never has a corresponding OBJ record, hence $n + 1 + if (isset($allSpContainers[$n + 1]) && is_object($allSpContainers[$n + 1])) { + $spContainer = $allSpContainers[$n + 1]; + + // we skip all spContainers that are a part of a group shape since we cannot yet handle those + if ($spContainer->getNestingLevel() > 1) { + continue; + } + + // calculate the width and height of the shape + list($startColumn, $startRow) = PHPExcel_Cell::coordinateFromString($spContainer->getStartCoordinates()); + list($endColumn, $endRow) = PHPExcel_Cell::coordinateFromString($spContainer->getEndCoordinates()); + + $startOffsetX = $spContainer->getStartOffsetX(); + $startOffsetY = $spContainer->getStartOffsetY(); + $endOffsetX = $spContainer->getEndOffsetX(); + $endOffsetY = $spContainer->getEndOffsetY(); + + $width = PHPExcel_Shared_Excel5::getDistanceX($this->phpSheet, $startColumn, $startOffsetX, $endColumn, $endOffsetX); + $height = PHPExcel_Shared_Excel5::getDistanceY($this->phpSheet, $startRow, $startOffsetY, $endRow, $endOffsetY); + + // calculate offsetX and offsetY of the shape + $offsetX = $startOffsetX * PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, $startColumn) / 1024; + $offsetY = $startOffsetY * PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $startRow) / 256; + + switch ($obj['otObjType']) { + case 0x19: + // Note +// echo 'Cell Annotation Object
'; +// echo 'Object ID is ', $obj['idObjID'],'
'; + if (isset($this->cellNotes[$obj['idObjID']])) { + $cellNote = $this->cellNotes[$obj['idObjID']]; + + if (isset($this->textObjects[$obj['idObjID']])) { + $textObject = $this->textObjects[$obj['idObjID']]; + $this->cellNotes[$obj['idObjID']]['objTextData'] = $textObject; + } + } + break; + case 0x08: +// echo 'Picture Object
'; + // picture + // get index to BSE entry (1-based) + $BSEindex = $spContainer->getOPT(0x0104); + $BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection(); + $BSE = $BSECollection[$BSEindex - 1]; + $blipType = $BSE->getBlipType(); + + // need check because some blip types are not supported by Escher reader such as EMF + if ($blip = $BSE->getBlip()) { + $ih = imagecreatefromstring($blip->getData()); + $drawing = new PHPExcel_Worksheet_MemoryDrawing(); + $drawing->setImageResource($ih); + + // width, height, offsetX, offsetY + $drawing->setResizeProportional(false); + $drawing->setWidth($width); + $drawing->setHeight($height); + $drawing->setOffsetX($offsetX); + $drawing->setOffsetY($offsetY); + + switch ($blipType) { + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: + $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); + $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG); + break; + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: + $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG); + $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG); + break; + } + + $drawing->setWorksheet($this->phpSheet); + $drawing->setCoordinates($spContainer->getStartCoordinates()); + } + break; + default: + // other object type + break; + } + } + } + + // treat SHAREDFMLA records + if ($this->version == self::XLS_BIFF8) { + foreach ($this->sharedFormulaParts as $cell => $baseCell) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($cell); + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($column, $row, $this->phpSheet->getTitle())) { + $formula = $this->getFormulaFromStructure($this->sharedFormulas[$baseCell], $cell); + $this->phpSheet->getCell($cell)->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + } + } + } + + if (!empty($this->cellNotes)) { + foreach ($this->cellNotes as $note => $noteDetails) { + if (!isset($noteDetails['objTextData'])) { + if (isset($this->textObjects[$note])) { + $textObject = $this->textObjects[$note]; + $noteDetails['objTextData'] = $textObject; + } else { + $noteDetails['objTextData']['text'] = ''; + } + } +// echo 'Cell annotation ', $note,'
'; +// var_dump($noteDetails); +// echo '
'; + $cellAddress = str_replace('$', '', $noteDetails['cellRef']); + $this->phpSheet->getComment($cellAddress)->setAuthor($noteDetails['author'])->setText($this->parseRichText($noteDetails['objTextData']['text'])); + } + } + } + + // add the named ranges (defined names) + foreach ($this->definedname as $definedName) { + if ($definedName['isBuiltInName']) { + switch ($definedName['name']) { + case pack('C', 0x06): + // print area + // in general, formula looks like this: Foo!$C$7:$J$66,Bar!$A$1:$IV$2 + $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? + + $extractedRanges = array(); + foreach ($ranges as $range) { + // $range should look like one of these + // Foo!$C$7:$J$66 + // Bar!$A$1:$IV$2 + $explodes = explode('!', $range); // FIXME: what if sheetname contains exclamation mark? + $sheetName = trim($explodes[0], "'"); + if (count($explodes) == 2) { + if (strpos($explodes[1], ':') === false) { + $explodes[1] = $explodes[1] . ':' . $explodes[1]; + } + $extractedRanges[] = str_replace('$', '', $explodes[1]); // C7:J66 + } + } + if ($docSheet = $this->phpExcel->getSheetByName($sheetName)) { + $docSheet->getPageSetup()->setPrintArea(implode(',', $extractedRanges)); // C7:J66,A1:IV2 + } + break; + case pack('C', 0x07): + // print titles (repeating rows) + // Assuming BIFF8, there are 3 cases + // 1. repeating rows + // formula looks like this: Sheet!$A$1:$IV$2 + // rows 1-2 repeat + // 2. repeating columns + // formula looks like this: Sheet!$A$1:$B$65536 + // columns A-B repeat + // 3. both repeating rows and repeating columns + // formula looks like this: Sheet!$A$1:$B$65536,Sheet!$A$1:$IV$2 + $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? + foreach ($ranges as $range) { + // $range should look like this one of these + // Sheet!$A$1:$B$65536 + // Sheet!$A$1:$IV$2 + $explodes = explode('!', $range); + if (count($explodes) == 2) { + if ($docSheet = $this->phpExcel->getSheetByName($explodes[0])) { + $extractedRange = $explodes[1]; + $extractedRange = str_replace('$', '', $extractedRange); + + $coordinateStrings = explode(':', $extractedRange); + if (count($coordinateStrings) == 2) { + list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[0]); + list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[1]); + + if ($firstColumn == 'A' and $lastColumn == 'IV') { + // then we have repeating rows + $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($firstRow, $lastRow)); + } elseif ($firstRow == 1 and $lastRow == 65536) { + // then we have repeating columns + $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($firstColumn, $lastColumn)); + } + } + } + } + } + break; + } + } else { + // Extract range + $explodes = explode('!', $definedName['formula']); + + if (count($explodes) == 2) { + if (($docSheet = $this->phpExcel->getSheetByName($explodes[0])) || + ($docSheet = $this->phpExcel->getSheetByName(trim($explodes[0], "'")))) { + $extractedRange = $explodes[1]; + $extractedRange = str_replace('$', '', $extractedRange); + + $localOnly = ($definedName['scope'] == 0) ? false : true; + + $scope = ($definedName['scope'] == 0) ? null : $this->phpExcel->getSheetByName($this->sheets[$definedName['scope'] - 1]['name']); + + $this->phpExcel->addNamedRange(new PHPExcel_NamedRange((string)$definedName['name'], $docSheet, $extractedRange, $localOnly, $scope)); + } + } else { + // Named Value + // TODO Provide support for named values + } + } + } + $this->data = null; + + return $this->phpExcel; + } + + /** + * Read record data from stream, decrypting as required + * + * @param string $data Data stream to read from + * @param int $pos Position to start reading from + * @param int $length Record data length + * + * @return string Record data + */ + private function readRecordData($data, $pos, $len) + { + $data = substr($data, $pos, $len); + + // File not encrypted, or record before encryption start point + if ($this->encryption == self::MS_BIFF_CRYPTO_NONE || $pos < $this->encryptionStartPos) { + return $data; + } + + $recordData = ''; + if ($this->encryption == self::MS_BIFF_CRYPTO_RC4) { + $oldBlock = floor($this->rc4Pos / self::REKEY_BLOCK); + $block = floor($pos / self::REKEY_BLOCK); + $endBlock = floor(($pos + $len) / self::REKEY_BLOCK); + + // Spin an RC4 decryptor to the right spot. If we have a decryptor sitting + // at a point earlier in the current block, re-use it as we can save some time. + if ($block != $oldBlock || $pos < $this->rc4Pos || !$this->rc4Key) { + $this->rc4Key = $this->makeKey($block, $this->md5Ctxt); + $step = $pos % self::REKEY_BLOCK; + } else { + $step = $pos - $this->rc4Pos; + } + $this->rc4Key->RC4(str_repeat("\0", $step)); + + // Decrypt record data (re-keying at the end of every block) + while ($block != $endBlock) { + $step = self::REKEY_BLOCK - ($pos % self::REKEY_BLOCK); + $recordData .= $this->rc4Key->RC4(substr($data, 0, $step)); + $data = substr($data, $step); + $pos += $step; + $len -= $step; + $block++; + $this->rc4Key = $this->makeKey($block, $this->md5Ctxt); + } + $recordData .= $this->rc4Key->RC4(substr($data, 0, $len)); + + // Keep track of the position of this decryptor. + // We'll try and re-use it later if we can to speed things up + $this->rc4Pos = $pos + $len; + } elseif ($this->encryption == self::MS_BIFF_CRYPTO_XOR) { + throw new PHPExcel_Reader_Exception('XOr encryption not supported'); + } + return $recordData; + } + + /** + * Use OLE reader to extract the relevant data streams from the OLE file + * + * @param string $pFilename + */ + private function loadOLE($pFilename) + { + // OLE reader + $ole = new PHPExcel_Shared_OLERead(); + // get excel data, + $res = $ole->read($pFilename); + // Get workbook data: workbook stream + sheet streams + $this->data = $ole->getStream($ole->wrkbook); + // Get summary information data + $this->summaryInformation = $ole->getStream($ole->summaryInformation); + // Get additional document summary information data + $this->documentSummaryInformation = $ole->getStream($ole->documentSummaryInformation); + // Get user-defined property data +// $this->userDefinedProperties = $ole->getUserDefinedProperties(); + } + + + /** + * Read summary information + */ + private function readSummaryInformation() + { + if (!isset($this->summaryInformation)) { + return; + } + + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + // offset: 2; size: 2; + // offset: 4; size: 2; OS version + // offset: 6; size: 2; OS indicator + // offset: 8; size: 16 + // offset: 24; size: 4; section count + $secCount = self::getInt4d($this->summaryInformation, 24); + + // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 + // offset: 44; size: 4 + $secOffset = self::getInt4d($this->summaryInformation, 44); + + // section header + // offset: $secOffset; size: 4; section length + $secLength = self::getInt4d($this->summaryInformation, $secOffset); + + // offset: $secOffset+4; size: 4; property count + $countProperties = self::getInt4d($this->summaryInformation, $secOffset+4); + + // initialize code page (used to resolve string values) + $codePage = 'CP1252'; + + // offset: ($secOffset+8); size: var + // loop through property decarations and properties + for ($i = 0; $i < $countProperties; ++$i) { + // offset: ($secOffset+8) + (8 * $i); size: 4; property ID + $id = self::getInt4d($this->summaryInformation, ($secOffset+8) + (8 * $i)); + + // Use value of property id as appropriate + // offset: ($secOffset+12) + (8 * $i); size: 4; offset from beginning of section (48) + $offset = self::getInt4d($this->summaryInformation, ($secOffset+12) + (8 * $i)); + + $type = self::getInt4d($this->summaryInformation, $secOffset + $offset); + + // initialize property value + $value = null; + + // extract property value based on property type + switch ($type) { + case 0x02: // 2 byte signed integer + $value = self::getInt2d($this->summaryInformation, $secOffset + 4 + $offset); + break; + case 0x03: // 4 byte signed integer + $value = self::getInt4d($this->summaryInformation, $secOffset + 4 + $offset); + break; + case 0x13: // 4 byte unsigned integer + // not needed yet, fix later if necessary + break; + case 0x1E: // null-terminated string prepended by dword string length + $byteLength = self::getInt4d($this->summaryInformation, $secOffset + 4 + $offset); + $value = substr($this->summaryInformation, $secOffset + 8 + $offset, $byteLength); + $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); + $value = rtrim($value); + break; + case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + // PHP-time + $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->summaryInformation, $secOffset + 4 + $offset, 8)); + break; + case 0x47: // Clipboard format + // not needed yet, fix later if necessary + break; + } + + switch ($id) { + case 0x01: // Code Page + $codePage = PHPExcel_Shared_CodePage::NumberToName($value); + break; + case 0x02: // Title + $this->phpExcel->getProperties()->setTitle($value); + break; + case 0x03: // Subject + $this->phpExcel->getProperties()->setSubject($value); + break; + case 0x04: // Author (Creator) + $this->phpExcel->getProperties()->setCreator($value); + break; + case 0x05: // Keywords + $this->phpExcel->getProperties()->setKeywords($value); + break; + case 0x06: // Comments (Description) + $this->phpExcel->getProperties()->setDescription($value); + break; + case 0x07: // Template + // Not supported by PHPExcel + break; + case 0x08: // Last Saved By (LastModifiedBy) + $this->phpExcel->getProperties()->setLastModifiedBy($value); + break; + case 0x09: // Revision + // Not supported by PHPExcel + break; + case 0x0A: // Total Editing Time + // Not supported by PHPExcel + break; + case 0x0B: // Last Printed + // Not supported by PHPExcel + break; + case 0x0C: // Created Date/Time + $this->phpExcel->getProperties()->setCreated($value); + break; + case 0x0D: // Modified Date/Time + $this->phpExcel->getProperties()->setModified($value); + break; + case 0x0E: // Number of Pages + // Not supported by PHPExcel + break; + case 0x0F: // Number of Words + // Not supported by PHPExcel + break; + case 0x10: // Number of Characters + // Not supported by PHPExcel + break; + case 0x11: // Thumbnail + // Not supported by PHPExcel + break; + case 0x12: // Name of creating application + // Not supported by PHPExcel + break; + case 0x13: // Security + // Not supported by PHPExcel + break; + } + } + } + + + /** + * Read additional document summary information + */ + private function readDocumentSummaryInformation() + { + if (!isset($this->documentSummaryInformation)) { + return; + } + + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + // offset: 2; size: 2; + // offset: 4; size: 2; OS version + // offset: 6; size: 2; OS indicator + // offset: 8; size: 16 + // offset: 24; size: 4; section count + $secCount = self::getInt4d($this->documentSummaryInformation, 24); +// echo '$secCount = ', $secCount,'
'; + + // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae + // offset: 44; size: 4; first section offset + $secOffset = self::getInt4d($this->documentSummaryInformation, 44); +// echo '$secOffset = ', $secOffset,'
'; + + // section header + // offset: $secOffset; size: 4; section length + $secLength = self::getInt4d($this->documentSummaryInformation, $secOffset); +// echo '$secLength = ', $secLength,'
'; + + // offset: $secOffset+4; size: 4; property count + $countProperties = self::getInt4d($this->documentSummaryInformation, $secOffset+4); +// echo '$countProperties = ', $countProperties,'
'; + + // initialize code page (used to resolve string values) + $codePage = 'CP1252'; + + // offset: ($secOffset+8); size: var + // loop through property decarations and properties + for ($i = 0; $i < $countProperties; ++$i) { +// echo 'Property ', $i,'
'; + // offset: ($secOffset+8) + (8 * $i); size: 4; property ID + $id = self::getInt4d($this->documentSummaryInformation, ($secOffset+8) + (8 * $i)); +// echo 'ID is ', $id,'
'; + + // Use value of property id as appropriate + // offset: 60 + 8 * $i; size: 4; offset from beginning of section (48) + $offset = self::getInt4d($this->documentSummaryInformation, ($secOffset+12) + (8 * $i)); + + $type = self::getInt4d($this->documentSummaryInformation, $secOffset + $offset); +// echo 'Type is ', $type,', '; + + // initialize property value + $value = null; + + // extract property value based on property type + switch ($type) { + case 0x02: // 2 byte signed integer + $value = self::getInt2d($this->documentSummaryInformation, $secOffset + 4 + $offset); + break; + case 0x03: // 4 byte signed integer + $value = self::getInt4d($this->documentSummaryInformation, $secOffset + 4 + $offset); + break; + case 0x0B: // Boolean + $value = self::getInt2d($this->documentSummaryInformation, $secOffset + 4 + $offset); + $value = ($value == 0 ? false : true); + break; + case 0x13: // 4 byte unsigned integer + // not needed yet, fix later if necessary + break; + case 0x1E: // null-terminated string prepended by dword string length + $byteLength = self::getInt4d($this->documentSummaryInformation, $secOffset + 4 + $offset); + $value = substr($this->documentSummaryInformation, $secOffset + 8 + $offset, $byteLength); + $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); + $value = rtrim($value); + break; + case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + // PHP-Time + $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->documentSummaryInformation, $secOffset + 4 + $offset, 8)); + break; + case 0x47: // Clipboard format + // not needed yet, fix later if necessary + break; + } + + switch ($id) { + case 0x01: // Code Page + $codePage = PHPExcel_Shared_CodePage::NumberToName($value); + break; + case 0x02: // Category + $this->phpExcel->getProperties()->setCategory($value); + break; + case 0x03: // Presentation Target + // Not supported by PHPExcel + break; + case 0x04: // Bytes + // Not supported by PHPExcel + break; + case 0x05: // Lines + // Not supported by PHPExcel + break; + case 0x06: // Paragraphs + // Not supported by PHPExcel + break; + case 0x07: // Slides + // Not supported by PHPExcel + break; + case 0x08: // Notes + // Not supported by PHPExcel + break; + case 0x09: // Hidden Slides + // Not supported by PHPExcel + break; + case 0x0A: // MM Clips + // Not supported by PHPExcel + break; + case 0x0B: // Scale Crop + // Not supported by PHPExcel + break; + case 0x0C: // Heading Pairs + // Not supported by PHPExcel + break; + case 0x0D: // Titles of Parts + // Not supported by PHPExcel + break; + case 0x0E: // Manager + $this->phpExcel->getProperties()->setManager($value); + break; + case 0x0F: // Company + $this->phpExcel->getProperties()->setCompany($value); + break; + case 0x10: // Links up-to-date + // Not supported by PHPExcel + break; + } + } + } + + + /** + * Reads a general type of BIFF record. Does nothing except for moving stream pointer forward to next record. + */ + private function readDefault() + { + $length = self::getInt2d($this->data, $this->pos + 2); +// $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + } + + + /** + * The NOTE record specifies a comment associated with a particular cell. In Excel 95 (BIFF7) and earlier versions, + * this record stores a note (cell note). This feature was significantly enhanced in Excel 97. + */ + private function readNote() + { +// echo 'Read Cell Annotation
'; + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + $cellAddress = $this->readBIFF8CellAddress(substr($recordData, 0, 4)); + if ($this->version == self::XLS_BIFF8) { + $noteObjID = self::getInt2d($recordData, 6); + $noteAuthor = self::readUnicodeStringLong(substr($recordData, 8)); + $noteAuthor = $noteAuthor['value']; +// echo 'Note Address=', $cellAddress,'
'; +// echo 'Note Object ID=', $noteObjID,'
'; +// echo 'Note Author=', $noteAuthor,'
'; // - if (isset($this->_cellNotes[$obj['idObjID']])) { - $cellNote = $this->_cellNotes[$obj['idObjID']]; - - if (isset($this->_textObjects[$obj['idObjID']])) { - $textObject = $this->_textObjects[$obj['idObjID']]; - $this->_cellNotes[$obj['idObjID']]['objTextData'] = $textObject; - } - } - break; - - case 0x08: -// echo 'Picture Object
'; - // picture - - // get index to BSE entry (1-based) - $BSEindex = $spContainer->getOPT(0x0104); - $BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection(); - $BSE = $BSECollection[$BSEindex - 1]; - $blipType = $BSE->getBlipType(); - - // need check because some blip types are not supported by Escher reader such as EMF - if ($blip = $BSE->getBlip()) { - $ih = imagecreatefromstring($blip->getData()); - $drawing = new PHPExcel_Worksheet_MemoryDrawing(); - $drawing->setImageResource($ih); - - // width, height, offsetX, offsetY - $drawing->setResizeProportional(false); - $drawing->setWidth($width); - $drawing->setHeight($height); - $drawing->setOffsetX($offsetX); - $drawing->setOffsetY($offsetY); - - switch ($blipType) { - case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: - $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); - $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG); - break; - - case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: - $drawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG); - $drawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG); - break; - } - - $drawing->setWorksheet($this->_phpSheet); - $drawing->setCoordinates($spContainer->getStartCoordinates()); - } - - break; - - default: - // other object type - break; - - } - } - } - - // treat SHAREDFMLA records - if ($this->_version == self::XLS_BIFF8) { - foreach ($this->_sharedFormulaParts as $cell => $baseCell) { - list($column, $row) = PHPExcel_Cell::coordinateFromString($cell); - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($column, $row, $this->_phpSheet->getTitle()) ) { - $formula = $this->_getFormulaFromStructure($this->_sharedFormulas[$baseCell], $cell); - $this->_phpSheet->getCell($cell)->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); - } - } - } - - if (!empty($this->_cellNotes)) { - foreach($this->_cellNotes as $note => $noteDetails) { - if (!isset($noteDetails['objTextData'])) { - if (isset($this->_textObjects[$note])) { - $textObject = $this->_textObjects[$note]; - $noteDetails['objTextData'] = $textObject; - } else { - $noteDetails['objTextData']['text'] = ''; - } - } -// echo 'Cell annotation ',$note,'
'; -// var_dump($noteDetails); -// echo '
'; - $cellAddress = str_replace('$','',$noteDetails['cellRef']); - $this->_phpSheet->getComment( $cellAddress ) - ->setAuthor( $noteDetails['author'] ) - ->setText($this->_parseRichText($noteDetails['objTextData']['text']) ); - } - } - } - - // add the named ranges (defined names) - foreach ($this->_definedname as $definedName) { - if ($definedName['isBuiltInName']) { - switch ($definedName['name']) { - - case pack('C', 0x06): - // print area - // in general, formula looks like this: Foo!$C$7:$J$66,Bar!$A$1:$IV$2 - $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? - - $extractedRanges = array(); - foreach ($ranges as $range) { - // $range should look like one of these - // Foo!$C$7:$J$66 - // Bar!$A$1:$IV$2 - - $explodes = explode('!', $range); // FIXME: what if sheetname contains exclamation mark? - $sheetName = trim($explodes[0], "'"); - - if (count($explodes) == 2) { - if (strpos($explodes[1], ':') === FALSE) { - $explodes[1] = $explodes[1] . ':' . $explodes[1]; - } - $extractedRanges[] = str_replace('$', '', $explodes[1]); // C7:J66 - } - } - if ($docSheet = $this->_phpExcel->getSheetByName($sheetName)) { - $docSheet->getPageSetup()->setPrintArea(implode(',', $extractedRanges)); // C7:J66,A1:IV2 - } - break; - - case pack('C', 0x07): - // print titles (repeating rows) - // Assuming BIFF8, there are 3 cases - // 1. repeating rows - // formula looks like this: Sheet!$A$1:$IV$2 - // rows 1-2 repeat - // 2. repeating columns - // formula looks like this: Sheet!$A$1:$B$65536 - // columns A-B repeat - // 3. both repeating rows and repeating columns - // formula looks like this: Sheet!$A$1:$B$65536,Sheet!$A$1:$IV$2 - - $ranges = explode(',', $definedName['formula']); // FIXME: what if sheetname contains comma? - - foreach ($ranges as $range) { - // $range should look like this one of these - // Sheet!$A$1:$B$65536 - // Sheet!$A$1:$IV$2 - - $explodes = explode('!', $range); - - if (count($explodes) == 2) { - if ($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) { - - $extractedRange = $explodes[1]; - $extractedRange = str_replace('$', '', $extractedRange); - - $coordinateStrings = explode(':', $extractedRange); - if (count($coordinateStrings) == 2) { - list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[0]); - list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($coordinateStrings[1]); - - if ($firstColumn == 'A' and $lastColumn == 'IV') { - // then we have repeating rows - $docSheet->getPageSetup()->setRowsToRepeatAtTop(array($firstRow, $lastRow)); - } elseif ($firstRow == 1 and $lastRow == 65536) { - // then we have repeating columns - $docSheet->getPageSetup()->setColumnsToRepeatAtLeft(array($firstColumn, $lastColumn)); - } - } - } - } - } - break; - - } - } else { - // Extract range - $explodes = explode('!', $definedName['formula']); - - if (count($explodes) == 2) { - if (($docSheet = $this->_phpExcel->getSheetByName($explodes[0])) || - ($docSheet = $this->_phpExcel->getSheetByName(trim($explodes[0],"'")))) { - $extractedRange = $explodes[1]; - $extractedRange = str_replace('$', '', $extractedRange); - - $localOnly = ($definedName['scope'] == 0) ? false : true; - - $scope = ($definedName['scope'] == 0) ? - null : $this->_phpExcel->getSheetByName($this->_sheets[$definedName['scope'] - 1]['name']); - - $this->_phpExcel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $docSheet, $extractedRange, $localOnly, $scope) ); - } - } else { - // Named Value - // TODO Provide support for named values - } - } - } - $this->_data = null; - - return $this->_phpExcel; - } - - /** - * Read record data from stream, decrypting as required - * - * @param string $data Data stream to read from - * @param int $pos Position to start reading from - * @param int $length Record data length - * - * @return string Record data - */ - private function _readRecordData($data, $pos, $len) - { - $data = substr($data, $pos, $len); - - // File not encrypted, or record before encryption start point - if ($this->_encryption == self::MS_BIFF_CRYPTO_NONE || $pos < $this->_encryptionStartPos) { - return $data; - } - - $recordData = ''; - if ($this->_encryption == self::MS_BIFF_CRYPTO_RC4) { - - $oldBlock = floor($this->_rc4Pos / self::REKEY_BLOCK); - $block = floor($pos / self::REKEY_BLOCK); - $endBlock = floor(($pos + $len) / self::REKEY_BLOCK); - - // Spin an RC4 decryptor to the right spot. If we have a decryptor sitting - // at a point earlier in the current block, re-use it as we can save some time. - if ($block != $oldBlock || $pos < $this->_rc4Pos || !$this->_rc4Key) { - $this->_rc4Key = $this->_makeKey($block, $this->_md5Ctxt); - $step = $pos % self::REKEY_BLOCK; - } else { - $step = $pos - $this->_rc4Pos; - } - $this->_rc4Key->RC4(str_repeat("\0", $step)); - - // Decrypt record data (re-keying at the end of every block) - while ($block != $endBlock) { - $step = self::REKEY_BLOCK - ($pos % self::REKEY_BLOCK); - $recordData .= $this->_rc4Key->RC4(substr($data, 0, $step)); - $data = substr($data, $step); - $pos += $step; - $len -= $step; - $block++; - $this->_rc4Key = $this->_makeKey($block, $this->_md5Ctxt); - } - $recordData .= $this->_rc4Key->RC4(substr($data, 0, $len)); - - // Keep track of the position of this decryptor. - // We'll try and re-use it later if we can to speed things up - $this->_rc4Pos = $pos + $len; - - } elseif ($this->_encryption == self::MS_BIFF_CRYPTO_XOR) { - throw new PHPExcel_Reader_Exception('XOr encryption not supported'); - } - return $recordData; - } - - /** - * Use OLE reader to extract the relevant data streams from the OLE file - * - * @param string $pFilename - */ - private function _loadOLE($pFilename) - { - // OLE reader - $ole = new PHPExcel_Shared_OLERead(); - - // get excel data, - $res = $ole->read($pFilename); - // Get workbook data: workbook stream + sheet streams - $this->_data = $ole->getStream($ole->wrkbook); - - // Get summary information data - $this->_summaryInformation = $ole->getStream($ole->summaryInformation); - - // Get additional document summary information data - $this->_documentSummaryInformation = $ole->getStream($ole->documentSummaryInformation); - - // Get user-defined property data -// $this->_userDefinedProperties = $ole->getUserDefinedProperties(); - } - - - /** - * Read summary information - */ - private function _readSummaryInformation() - { - if (!isset($this->_summaryInformation)) { - return; - } - - // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) - // offset: 2; size: 2; - // offset: 4; size: 2; OS version - // offset: 6; size: 2; OS indicator - // offset: 8; size: 16 - // offset: 24; size: 4; section count - $secCount = self::_GetInt4d($this->_summaryInformation, 24); - - // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 - // offset: 44; size: 4 - $secOffset = self::_GetInt4d($this->_summaryInformation, 44); - - // section header - // offset: $secOffset; size: 4; section length - $secLength = self::_GetInt4d($this->_summaryInformation, $secOffset); - - // offset: $secOffset+4; size: 4; property count - $countProperties = self::_GetInt4d($this->_summaryInformation, $secOffset+4); - - // initialize code page (used to resolve string values) - $codePage = 'CP1252'; - - // offset: ($secOffset+8); size: var - // loop through property decarations and properties - for ($i = 0; $i < $countProperties; ++$i) { - - // offset: ($secOffset+8) + (8 * $i); size: 4; property ID - $id = self::_GetInt4d($this->_summaryInformation, ($secOffset+8) + (8 * $i)); - - // Use value of property id as appropriate - // offset: ($secOffset+12) + (8 * $i); size: 4; offset from beginning of section (48) - $offset = self::_GetInt4d($this->_summaryInformation, ($secOffset+12) + (8 * $i)); - - $type = self::_GetInt4d($this->_summaryInformation, $secOffset + $offset); - - // initialize property value - $value = null; - - // extract property value based on property type - switch ($type) { - case 0x02: // 2 byte signed integer - $value = self::_GetInt2d($this->_summaryInformation, $secOffset + 4 + $offset); - break; - - case 0x03: // 4 byte signed integer - $value = self::_GetInt4d($this->_summaryInformation, $secOffset + 4 + $offset); - break; - - case 0x13: // 4 byte unsigned integer - // not needed yet, fix later if necessary - break; - - case 0x1E: // null-terminated string prepended by dword string length - $byteLength = self::_GetInt4d($this->_summaryInformation, $secOffset + 4 + $offset); - $value = substr($this->_summaryInformation, $secOffset + 8 + $offset, $byteLength); - $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); - $value = rtrim($value); - break; - - case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - // PHP-time - $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->_summaryInformation, $secOffset + 4 + $offset, 8)); - break; - - case 0x47: // Clipboard format - // not needed yet, fix later if necessary - break; - } - - switch ($id) { - case 0x01: // Code Page - $codePage = PHPExcel_Shared_CodePage::NumberToName($value); - break; - - case 0x02: // Title - $this->_phpExcel->getProperties()->setTitle($value); - break; - - case 0x03: // Subject - $this->_phpExcel->getProperties()->setSubject($value); - break; - - case 0x04: // Author (Creator) - $this->_phpExcel->getProperties()->setCreator($value); - break; - - case 0x05: // Keywords - $this->_phpExcel->getProperties()->setKeywords($value); - break; - - case 0x06: // Comments (Description) - $this->_phpExcel->getProperties()->setDescription($value); - break; - - case 0x07: // Template - // Not supported by PHPExcel - break; - - case 0x08: // Last Saved By (LastModifiedBy) - $this->_phpExcel->getProperties()->setLastModifiedBy($value); - break; - - case 0x09: // Revision - // Not supported by PHPExcel - break; - - case 0x0A: // Total Editing Time - // Not supported by PHPExcel - break; - - case 0x0B: // Last Printed - // Not supported by PHPExcel - break; - - case 0x0C: // Created Date/Time - $this->_phpExcel->getProperties()->setCreated($value); - break; - - case 0x0D: // Modified Date/Time - $this->_phpExcel->getProperties()->setModified($value); - break; - - case 0x0E: // Number of Pages - // Not supported by PHPExcel - break; - - case 0x0F: // Number of Words - // Not supported by PHPExcel - break; - - case 0x10: // Number of Characters - // Not supported by PHPExcel - break; - - case 0x11: // Thumbnail - // Not supported by PHPExcel - break; - - case 0x12: // Name of creating application - // Not supported by PHPExcel - break; - - case 0x13: // Security - // Not supported by PHPExcel - break; - - } - } - } - - - /** - * Read additional document summary information - */ - private function _readDocumentSummaryInformation() - { - if (!isset($this->_documentSummaryInformation)) { - return; - } - - // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) - // offset: 2; size: 2; - // offset: 4; size: 2; OS version - // offset: 6; size: 2; OS indicator - // offset: 8; size: 16 - // offset: 24; size: 4; section count - $secCount = self::_GetInt4d($this->_documentSummaryInformation, 24); -// echo '$secCount = ',$secCount,'
'; - - // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae - // offset: 44; size: 4; first section offset - $secOffset = self::_GetInt4d($this->_documentSummaryInformation, 44); -// echo '$secOffset = ',$secOffset,'
'; - - // section header - // offset: $secOffset; size: 4; section length - $secLength = self::_GetInt4d($this->_documentSummaryInformation, $secOffset); -// echo '$secLength = ',$secLength,'
'; - - // offset: $secOffset+4; size: 4; property count - $countProperties = self::_GetInt4d($this->_documentSummaryInformation, $secOffset+4); -// echo '$countProperties = ',$countProperties,'
'; - - // initialize code page (used to resolve string values) - $codePage = 'CP1252'; - - // offset: ($secOffset+8); size: var - // loop through property decarations and properties - for ($i = 0; $i < $countProperties; ++$i) { -// echo 'Property ',$i,'
'; - // offset: ($secOffset+8) + (8 * $i); size: 4; property ID - $id = self::_GetInt4d($this->_documentSummaryInformation, ($secOffset+8) + (8 * $i)); -// echo 'ID is ',$id,'
'; - - // Use value of property id as appropriate - // offset: 60 + 8 * $i; size: 4; offset from beginning of section (48) - $offset = self::_GetInt4d($this->_documentSummaryInformation, ($secOffset+12) + (8 * $i)); - - $type = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + $offset); -// echo 'Type is ',$type,', '; - - // initialize property value - $value = null; - - // extract property value based on property type - switch ($type) { - case 0x02: // 2 byte signed integer - $value = self::_GetInt2d($this->_documentSummaryInformation, $secOffset + 4 + $offset); - break; - - case 0x03: // 4 byte signed integer - $value = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + 4 + $offset); - break; - - case 0x0B: // Boolean - $value = self::_GetInt2d($this->_documentSummaryInformation, $secOffset + 4 + $offset); - $value = ($value == 0 ? false : true); - break; - - case 0x13: // 4 byte unsigned integer - // not needed yet, fix later if necessary - break; - - case 0x1E: // null-terminated string prepended by dword string length - $byteLength = self::_GetInt4d($this->_documentSummaryInformation, $secOffset + 4 + $offset); - $value = substr($this->_documentSummaryInformation, $secOffset + 8 + $offset, $byteLength); - $value = PHPExcel_Shared_String::ConvertEncoding($value, 'UTF-8', $codePage); - $value = rtrim($value); - break; - - case 0x40: // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - // PHP-Time - $value = PHPExcel_Shared_OLE::OLE2LocalDate(substr($this->_documentSummaryInformation, $secOffset + 4 + $offset, 8)); - break; - - case 0x47: // Clipboard format - // not needed yet, fix later if necessary - break; - } - - switch ($id) { - case 0x01: // Code Page - $codePage = PHPExcel_Shared_CodePage::NumberToName($value); - break; - - case 0x02: // Category - $this->_phpExcel->getProperties()->setCategory($value); - break; - - case 0x03: // Presentation Target - // Not supported by PHPExcel - break; - - case 0x04: // Bytes - // Not supported by PHPExcel - break; - - case 0x05: // Lines - // Not supported by PHPExcel - break; - - case 0x06: // Paragraphs - // Not supported by PHPExcel - break; - - case 0x07: // Slides - // Not supported by PHPExcel - break; - - case 0x08: // Notes - // Not supported by PHPExcel - break; - - case 0x09: // Hidden Slides - // Not supported by PHPExcel - break; - - case 0x0A: // MM Clips - // Not supported by PHPExcel - break; - - case 0x0B: // Scale Crop - // Not supported by PHPExcel - break; - - case 0x0C: // Heading Pairs - // Not supported by PHPExcel - break; - - case 0x0D: // Titles of Parts - // Not supported by PHPExcel - break; - - case 0x0E: // Manager - $this->_phpExcel->getProperties()->setManager($value); - break; - - case 0x0F: // Company - $this->_phpExcel->getProperties()->setCompany($value); - break; - - case 0x10: // Links up-to-date - // Not supported by PHPExcel - break; - - } - } - } - - - /** - * Reads a general type of BIFF record. Does nothing except for moving stream pointer forward to next record. - */ - private function _readDefault() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); -// $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - } - - - /** - * The NOTE record specifies a comment associated with a particular cell. In Excel 95 (BIFF7) and earlier versions, - * this record stores a note (cell note). This feature was significantly enhanced in Excel 97. - */ - private function _readNote() - { -// echo 'Read Cell Annotation
'; - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_readDataOnly) { - return; - } - - $cellAddress = $this->_readBIFF8CellAddress(substr($recordData, 0, 4)); - if ($this->_version == self::XLS_BIFF8) { - $noteObjID = self::_GetInt2d($recordData, 6); - $noteAuthor = self::_readUnicodeStringLong(substr($recordData, 8)); - $noteAuthor = $noteAuthor['value']; -// echo 'Note Address=',$cellAddress,'
'; -// echo 'Note Object ID=',$noteObjID,'
'; -// echo 'Note Author=',$noteAuthor,'
'; -// - $this->_cellNotes[$noteObjID] = array('cellRef' => $cellAddress, - 'objectID' => $noteObjID, - 'author' => $noteAuthor - ); - } else { - $extension = false; - if ($cellAddress == '$B$65536') { - // If the address row is -1 and the column is 0, (which translates as $B$65536) then this is a continuation - // note from the previous cell annotation. We're not yet handling this, so annotations longer than the - // max 2048 bytes will probably throw a wobbly. - $row = self::_GetInt2d($recordData, 0); - $extension = true; - $cellAddress = array_pop(array_keys($this->_phpSheet->getComments())); - } -// echo 'Note Address=',$cellAddress,'
'; - - $cellAddress = str_replace('$','',$cellAddress); - $noteLength = self::_GetInt2d($recordData, 4); - $noteText = trim(substr($recordData, 6)); -// echo 'Note Length=',$noteLength,'
'; -// echo 'Note Text=',$noteText,'
'; - - if ($extension) { - // Concatenate this extension with the currently set comment for the cell - $comment = $this->_phpSheet->getComment( $cellAddress ); - $commentText = $comment->getText()->getPlainText(); - $comment->setText($this->_parseRichText($commentText.$noteText) ); - } else { - // Set comment for the cell - $this->_phpSheet->getComment( $cellAddress ) -// ->setAuthor( $author ) - ->setText($this->_parseRichText($noteText) ); - } - } - - } - - - /** - * The TEXT Object record contains the text associated with a cell annotation. - */ - private function _readTextObject() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_readDataOnly) { - return; - } - - // recordData consists of an array of subrecords looking like this: - // grbit: 2 bytes; Option Flags - // rot: 2 bytes; rotation - // cchText: 2 bytes; length of the text (in the first continue record) - // cbRuns: 2 bytes; length of the formatting (in the second continue record) - // followed by the continuation records containing the actual text and formatting - $grbitOpts = self::_GetInt2d($recordData, 0); - $rot = self::_GetInt2d($recordData, 2); - $cchText = self::_GetInt2d($recordData, 10); - $cbRuns = self::_GetInt2d($recordData, 12); - $text = $this->_getSplicedRecordData(); - - $this->_textObjects[$this->textObjRef] = array( - 'text' => substr($text["recordData"],$text["spliceOffsets"][0]+1,$cchText), - 'format' => substr($text["recordData"],$text["spliceOffsets"][1],$cbRuns), - 'alignment' => $grbitOpts, - 'rotation' => $rot - ); - -// echo '_readTextObject()
'; -// var_dump($this->_textObjects[$this->textObjRef]); -// echo '
'; - } - - - /** - * Read BOF - */ - private function _readBof() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = substr($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 2; size: 2; type of the following data - $substreamType = self::_GetInt2d($recordData, 2); - - switch ($substreamType) { - case self::XLS_WorkbookGlobals: - $version = self::_GetInt2d($recordData, 0); - if (($version != self::XLS_BIFF8) && ($version != self::XLS_BIFF7)) { - throw new PHPExcel_Reader_Exception('Cannot read this Excel file. Version is too old.'); - } - $this->_version = $version; - break; - - case self::XLS_Worksheet: - // do not use this version information for anything - // it is unreliable (OpenOffice doc, 5.8), use only version information from the global stream - break; - - default: - // substream, e.g. chart - // just skip the entire substream - do { - $code = self::_GetInt2d($this->_data, $this->_pos); - $this->_readDefault(); - } while ($code != self::XLS_Type_EOF && $this->_pos < $this->_dataSize); - break; - } - } - - - /** - * FILEPASS - * - * This record is part of the File Protection Block. It - * contains information about the read/write password of the - * file. All record contents following this record will be - * encrypted. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - * - * The decryption functions and objects used from here on in - * are based on the source of Spreadsheet-ParseExcel: - * http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel/ - */ - private function _readFilepass() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - - if ($length != 54) { - throw new PHPExcel_Reader_Exception('Unexpected file pass record length'); - } - - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_verifyPassword( - 'VelvetSweatshop', - substr($recordData, 6, 16), - substr($recordData, 22, 16), - substr($recordData, 38, 16), - $this->_md5Ctxt - )) { - throw new PHPExcel_Reader_Exception('Decryption password incorrect'); - } - - $this->_encryption = self::MS_BIFF_CRYPTO_RC4; - - // Decryption required from the record after next onwards - $this->_encryptionStartPos = $this->_pos + self::_GetInt2d($this->_data, $this->_pos + 2); - } - - /** - * Make an RC4 decryptor for the given block - * - * @var int $block Block for which to create decrypto - * @var string $valContext MD5 context state - * - * @return PHPExcel_Reader_Excel5_RC4 - */ - private function _makeKey($block, $valContext) - { - $pwarray = str_repeat("\0", 64); - - for ($i = 0; $i < 5; $i++) { - $pwarray[$i] = $valContext[$i]; - } - - $pwarray[5] = chr($block & 0xff); - $pwarray[6] = chr(($block >> 8) & 0xff); - $pwarray[7] = chr(($block >> 16) & 0xff); - $pwarray[8] = chr(($block >> 24) & 0xff); - - $pwarray[9] = "\x80"; - $pwarray[56] = "\x48"; - - $md5 = new PHPExcel_Reader_Excel5_MD5(); - $md5->add($pwarray); - - $s = $md5->getContext(); - return new PHPExcel_Reader_Excel5_RC4($s); - } - - /** - * Verify RC4 file password - * - * @var string $password Password to check - * @var string $docid Document id - * @var string $salt_data Salt data - * @var string $hashedsalt_data Hashed salt data - * @var string &$valContext Set to the MD5 context of the value - * - * @return bool Success - */ - private function _verifyPassword($password, $docid, $salt_data, $hashedsalt_data, &$valContext) - { - $pwarray = str_repeat("\0", 64); - - for ($i = 0; $i < strlen($password); $i++) { - $o = ord(substr($password, $i, 1)); - $pwarray[2 * $i] = chr($o & 0xff); - $pwarray[2 * $i + 1] = chr(($o >> 8) & 0xff); - } - $pwarray[2 * $i] = chr(0x80); - $pwarray[56] = chr(($i << 4) & 0xff); - - $md5 = new PHPExcel_Reader_Excel5_MD5(); - $md5->add($pwarray); - - $mdContext1 = $md5->getContext(); - - $offset = 0; - $keyoffset = 0; - $tocopy = 5; - - $md5->reset(); - - while ($offset != 16) { - if ((64 - $offset) < 5) { - $tocopy = 64 - $offset; - } - - for ($i = 0; $i <= $tocopy; $i++) { - $pwarray[$offset + $i] = $mdContext1[$keyoffset + $i]; - } - - $offset += $tocopy; - - if ($offset == 64) { - $md5->add($pwarray); - $keyoffset = $tocopy; - $tocopy = 5 - $tocopy; - $offset = 0; - continue; - } - - $keyoffset = 0; - $tocopy = 5; - for ($i = 0; $i < 16; $i++) { - $pwarray[$offset + $i] = $docid[$i]; - } - $offset += 16; - } - - $pwarray[16] = "\x80"; - for ($i = 0; $i < 47; $i++) { - $pwarray[17 + $i] = "\0"; - } - $pwarray[56] = "\x80"; - $pwarray[57] = "\x0a"; - - $md5->add($pwarray); - $valContext = $md5->getContext(); - - $key = $this->_makeKey(0, $valContext); - - $salt = $key->RC4($salt_data); - $hashedsalt = $key->RC4($hashedsalt_data); - - $salt .= "\x80" . str_repeat("\0", 47); - $salt[56] = "\x80"; - - $md5->reset(); - $md5->add($salt); - $mdContext2 = $md5->getContext(); - - return $mdContext2 == $hashedsalt; - } - - /** - * CODEPAGE - * - * This record stores the text encoding used to write byte - * strings, stored as MS Windows code page identifier. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readCodepage() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; code page identifier - $codepage = self::_GetInt2d($recordData, 0); - - $this->_codepage = PHPExcel_Shared_CodePage::NumberToName($codepage); - } - - - /** - * DATEMODE - * - * This record specifies the base date for displaying date - * values. All dates are stored as count of days past this - * base date. In BIFF2-BIFF4 this record is part of the - * Calculation Settings Block. In BIFF5-BIFF8 it is - * stored in the Workbook Globals Substream. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readDateMode() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; 0 = base 1900, 1 = base 1904 - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); - if (ord($recordData{0}) == 1) { - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); - } - } - - - /** - * Read a FONT record - */ - private function _readFont() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - $objFont = new PHPExcel_Style_Font(); - - // offset: 0; size: 2; height of the font (in twips = 1/20 of a point) - $size = self::_GetInt2d($recordData, 0); - $objFont->setSize($size / 20); - - // offset: 2; size: 2; option flags - // bit: 0; mask 0x0001; bold (redundant in BIFF5-BIFF8) - // bit: 1; mask 0x0002; italic - $isItalic = (0x0002 & self::_GetInt2d($recordData, 2)) >> 1; - if ($isItalic) $objFont->setItalic(true); - - // bit: 2; mask 0x0004; underlined (redundant in BIFF5-BIFF8) - // bit: 3; mask 0x0008; strike - $isStrike = (0x0008 & self::_GetInt2d($recordData, 2)) >> 3; - if ($isStrike) $objFont->setStrikethrough(true); - - // offset: 4; size: 2; colour index - $colorIndex = self::_GetInt2d($recordData, 4); - $objFont->colorIndex = $colorIndex; - - // offset: 6; size: 2; font weight - $weight = self::_GetInt2d($recordData, 6); - switch ($weight) { - case 0x02BC: - $objFont->setBold(true); - break; - } - - // offset: 8; size: 2; escapement type - $escapement = self::_GetInt2d($recordData, 8); - switch ($escapement) { - case 0x0001: - $objFont->setSuperScript(true); - break; - case 0x0002: - $objFont->setSubScript(true); - break; - } - - // offset: 10; size: 1; underline type - $underlineType = ord($recordData{10}); - switch ($underlineType) { - case 0x00: - break; // no underline - case 0x01: - $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); - break; - case 0x02: - $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); - break; - case 0x21: - $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING); - break; - case 0x22: - $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING); - break; - } - - // offset: 11; size: 1; font family - // offset: 12; size: 1; character set - // offset: 13; size: 1; not used - // offset: 14; size: var; font name - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringShort(substr($recordData, 14)); - } else { - $string = $this->_readByteStringShort(substr($recordData, 14)); - } - $objFont->setName($string['value']); - - $this->_objFonts[] = $objFont; - } - } - - - /** - * FORMAT - * - * This record contains information about a number format. - * All FORMAT records occur together in a sequential list. - * - * In BIFF2-BIFF4 other records referencing a FORMAT record - * contain a zero-based index into this list. From BIFF5 on - * the FORMAT record contains the index itself that will be - * used by other records. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readFormat() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - $indexCode = self::_GetInt2d($recordData, 0); - - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringLong(substr($recordData, 2)); - } else { - // BIFF7 - $string = $this->_readByteStringShort(substr($recordData, 2)); - } - - $formatString = $string['value']; - $this->_formats[$indexCode] = $formatString; - } - } - - - /** - * XF - Extended Format - * - * This record contains formatting information for cells, rows, columns or styles. - * According to http://support.microsoft.com/kb/147732 there are always at least 15 cell style XF - * and 1 cell XF. - * Inspection of Excel files generated by MS Office Excel shows that XF records 0-14 are cell style XF - * and XF record 15 is a cell XF - * We only read the first cell style XF and skip the remaining cell style XF records - * We read all cell XF records. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readXf() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - $objStyle = new PHPExcel_Style(); - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; Index to FONT record - if (self::_GetInt2d($recordData, 0) < 4) { - $fontIndex = self::_GetInt2d($recordData, 0); - } else { - // this has to do with that index 4 is omitted in all BIFF versions for some strange reason - // check the OpenOffice documentation of the FONT record - $fontIndex = self::_GetInt2d($recordData, 0) - 1; - } - $objStyle->setFont($this->_objFonts[$fontIndex]); - - // offset: 2; size: 2; Index to FORMAT record - $numberFormatIndex = self::_GetInt2d($recordData, 2); - if (isset($this->_formats[$numberFormatIndex])) { - // then we have user-defined format code - $numberformat = array('code' => $this->_formats[$numberFormatIndex]); - } elseif (($code = PHPExcel_Style_NumberFormat::builtInFormatCode($numberFormatIndex)) !== '') { - // then we have built-in format code - $numberformat = array('code' => $code); - } else { - // we set the general format code - $numberformat = array('code' => 'General'); - } - $objStyle->getNumberFormat()->setFormatCode($numberformat['code']); - - // offset: 4; size: 2; XF type, cell protection, and parent style XF - // bit 2-0; mask 0x0007; XF_TYPE_PROT - $xfTypeProt = self::_GetInt2d($recordData, 4); - // bit 0; mask 0x01; 1 = cell is locked - $isLocked = (0x01 & $xfTypeProt) >> 0; - $objStyle->getProtection()->setLocked($isLocked ? - PHPExcel_Style_Protection::PROTECTION_INHERIT : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); - - // bit 1; mask 0x02; 1 = Formula is hidden - $isHidden = (0x02 & $xfTypeProt) >> 1; - $objStyle->getProtection()->setHidden($isHidden ? - PHPExcel_Style_Protection::PROTECTION_PROTECTED : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); - - // bit 2; mask 0x04; 0 = Cell XF, 1 = Cell Style XF - $isCellStyleXf = (0x04 & $xfTypeProt) >> 2; - - // offset: 6; size: 1; Alignment and text break - // bit 2-0, mask 0x07; horizontal alignment - $horAlign = (0x07 & ord($recordData{6})) >> 0; - switch ($horAlign) { - case 0: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_GENERAL); - break; - case 1: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); - break; - case 2: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); - break; - case 3: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); - break; - case 4: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_FILL); - break; - case 5: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); - break; - case 6: - $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS); - break; - } - // bit 3, mask 0x08; wrap text - $wrapText = (0x08 & ord($recordData{6})) >> 3; - switch ($wrapText) { - case 0: - $objStyle->getAlignment()->setWrapText(false); - break; - case 1: - $objStyle->getAlignment()->setWrapText(true); - break; - } - // bit 6-4, mask 0x70; vertical alignment - $vertAlign = (0x70 & ord($recordData{6})) >> 4; - switch ($vertAlign) { - case 0: - $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); - break; - case 1: - $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); - break; - case 2: - $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_BOTTOM); - break; - case 3: - $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_JUSTIFY); - break; - } - - if ($this->_version == self::XLS_BIFF8) { - // offset: 7; size: 1; XF_ROTATION: Text rotation angle - $angle = ord($recordData{7}); - $rotation = 0; - if ($angle <= 90) { - $rotation = $angle; - } else if ($angle <= 180) { - $rotation = 90 - $angle; - } else if ($angle == 255) { - $rotation = -165; - } - $objStyle->getAlignment()->setTextRotation($rotation); - - // offset: 8; size: 1; Indentation, shrink to cell size, and text direction - // bit: 3-0; mask: 0x0F; indent level - $indent = (0x0F & ord($recordData{8})) >> 0; - $objStyle->getAlignment()->setIndent($indent); - - // bit: 4; mask: 0x10; 1 = shrink content to fit into cell - $shrinkToFit = (0x10 & ord($recordData{8})) >> 4; - switch ($shrinkToFit) { - case 0: - $objStyle->getAlignment()->setShrinkToFit(false); - break; - case 1: - $objStyle->getAlignment()->setShrinkToFit(true); - break; - } - - // offset: 9; size: 1; Flags used for attribute groups - - // offset: 10; size: 4; Cell border lines and background area - // bit: 3-0; mask: 0x0000000F; left style - if ($bordersLeftStyle = self::_mapBorderStyle((0x0000000F & self::_GetInt4d($recordData, 10)) >> 0)) { - $objStyle->getBorders()->getLeft()->setBorderStyle($bordersLeftStyle); - } - // bit: 7-4; mask: 0x000000F0; right style - if ($bordersRightStyle = self::_mapBorderStyle((0x000000F0 & self::_GetInt4d($recordData, 10)) >> 4)) { - $objStyle->getBorders()->getRight()->setBorderStyle($bordersRightStyle); - } - // bit: 11-8; mask: 0x00000F00; top style - if ($bordersTopStyle = self::_mapBorderStyle((0x00000F00 & self::_GetInt4d($recordData, 10)) >> 8)) { - $objStyle->getBorders()->getTop()->setBorderStyle($bordersTopStyle); - } - // bit: 15-12; mask: 0x0000F000; bottom style - if ($bordersBottomStyle = self::_mapBorderStyle((0x0000F000 & self::_GetInt4d($recordData, 10)) >> 12)) { - $objStyle->getBorders()->getBottom()->setBorderStyle($bordersBottomStyle); - } - // bit: 22-16; mask: 0x007F0000; left color - $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & self::_GetInt4d($recordData, 10)) >> 16; - - // bit: 29-23; mask: 0x3F800000; right color - $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & self::_GetInt4d($recordData, 10)) >> 23; - - // bit: 30; mask: 0x40000000; 1 = diagonal line from top left to right bottom - $diagonalDown = (0x40000000 & self::_GetInt4d($recordData, 10)) >> 30 ? - true : false; - - // bit: 31; mask: 0x80000000; 1 = diagonal line from bottom left to top right - $diagonalUp = (0x80000000 & self::_GetInt4d($recordData, 10)) >> 31 ? - true : false; - - if ($diagonalUp == false && $diagonalDown == false) { - $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); - } elseif ($diagonalUp == true && $diagonalDown == false) { - $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); - } elseif ($diagonalUp == false && $diagonalDown == true) { - $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); - } elseif ($diagonalUp == true && $diagonalDown == true) { - $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); - } - - // offset: 14; size: 4; - // bit: 6-0; mask: 0x0000007F; top color - $objStyle->getBorders()->getTop()->colorIndex = (0x0000007F & self::_GetInt4d($recordData, 14)) >> 0; - - // bit: 13-7; mask: 0x00003F80; bottom color - $objStyle->getBorders()->getBottom()->colorIndex = (0x00003F80 & self::_GetInt4d($recordData, 14)) >> 7; - - // bit: 20-14; mask: 0x001FC000; diagonal color - $objStyle->getBorders()->getDiagonal()->colorIndex = (0x001FC000 & self::_GetInt4d($recordData, 14)) >> 14; - - // bit: 24-21; mask: 0x01E00000; diagonal style - if ($bordersDiagonalStyle = self::_mapBorderStyle((0x01E00000 & self::_GetInt4d($recordData, 14)) >> 21)) { - $objStyle->getBorders()->getDiagonal()->setBorderStyle($bordersDiagonalStyle); - } - - // bit: 31-26; mask: 0xFC000000 fill pattern - if ($fillType = self::_mapFillPattern((0xFC000000 & self::_GetInt4d($recordData, 14)) >> 26)) { - $objStyle->getFill()->setFillType($fillType); - } - // offset: 18; size: 2; pattern and background colour - // bit: 6-0; mask: 0x007F; color index for pattern color - $objStyle->getFill()->startcolorIndex = (0x007F & self::_GetInt2d($recordData, 18)) >> 0; - - // bit: 13-7; mask: 0x3F80; color index for pattern background - $objStyle->getFill()->endcolorIndex = (0x3F80 & self::_GetInt2d($recordData, 18)) >> 7; - } else { - // BIFF5 - - // offset: 7; size: 1; Text orientation and flags - $orientationAndFlags = ord($recordData{7}); - - // bit: 1-0; mask: 0x03; XF_ORIENTATION: Text orientation - $xfOrientation = (0x03 & $orientationAndFlags) >> 0; - switch ($xfOrientation) { - case 0: - $objStyle->getAlignment()->setTextRotation(0); - break; - case 1: - $objStyle->getAlignment()->setTextRotation(-165); - break; - case 2: - $objStyle->getAlignment()->setTextRotation(90); - break; - case 3: - $objStyle->getAlignment()->setTextRotation(-90); - break; - } - - // offset: 8; size: 4; cell border lines and background area - $borderAndBackground = self::_GetInt4d($recordData, 8); - - // bit: 6-0; mask: 0x0000007F; color index for pattern color - $objStyle->getFill()->startcolorIndex = (0x0000007F & $borderAndBackground) >> 0; - - // bit: 13-7; mask: 0x00003F80; color index for pattern background - $objStyle->getFill()->endcolorIndex = (0x00003F80 & $borderAndBackground) >> 7; - - // bit: 21-16; mask: 0x003F0000; fill pattern - $objStyle->getFill()->setFillType(self::_mapFillPattern((0x003F0000 & $borderAndBackground) >> 16)); - - // bit: 24-22; mask: 0x01C00000; bottom line style - $objStyle->getBorders()->getBottom()->setBorderStyle(self::_mapBorderStyle((0x01C00000 & $borderAndBackground) >> 22)); - - // bit: 31-25; mask: 0xFE000000; bottom line color - $objStyle->getBorders()->getBottom()->colorIndex = (0xFE000000 & $borderAndBackground) >> 25; - - // offset: 12; size: 4; cell border lines - $borderLines = self::_GetInt4d($recordData, 12); - - // bit: 2-0; mask: 0x00000007; top line style - $objStyle->getBorders()->getTop()->setBorderStyle(self::_mapBorderStyle((0x00000007 & $borderLines) >> 0)); - - // bit: 5-3; mask: 0x00000038; left line style - $objStyle->getBorders()->getLeft()->setBorderStyle(self::_mapBorderStyle((0x00000038 & $borderLines) >> 3)); - - // bit: 8-6; mask: 0x000001C0; right line style - $objStyle->getBorders()->getRight()->setBorderStyle(self::_mapBorderStyle((0x000001C0 & $borderLines) >> 6)); - - // bit: 15-9; mask: 0x0000FE00; top line color index - $objStyle->getBorders()->getTop()->colorIndex = (0x0000FE00 & $borderLines) >> 9; - - // bit: 22-16; mask: 0x007F0000; left line color index - $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & $borderLines) >> 16; - - // bit: 29-23; mask: 0x3F800000; right line color index - $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & $borderLines) >> 23; - } - - // add cellStyleXf or cellXf and update mapping - if ($isCellStyleXf) { - // we only read one style XF record which is always the first - if ($this->_xfIndex == 0) { - $this->_phpExcel->addCellStyleXf($objStyle); - $this->_mapCellStyleXfIndex[$this->_xfIndex] = 0; - } - } else { - // we read all cell XF records - $this->_phpExcel->addCellXf($objStyle); - $this->_mapCellXfIndex[$this->_xfIndex] = count($this->_phpExcel->getCellXfCollection()) - 1; - } - - // update XF index for when we read next record - ++$this->_xfIndex; - } - } - - - /** - * - */ - private function _readXfExt() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; 0x087D = repeated header - - // offset: 2; size: 2 - - // offset: 4; size: 8; not used - - // offset: 12; size: 2; record version - - // offset: 14; size: 2; index to XF record which this record modifies - $ixfe = self::_GetInt2d($recordData, 14); - - // offset: 16; size: 2; not used - - // offset: 18; size: 2; number of extension properties that follow - $cexts = self::_GetInt2d($recordData, 18); - - // start reading the actual extension data - $offset = 20; - while ($offset < $length) { - // extension type - $extType = self::_GetInt2d($recordData, $offset); - - // extension length - $cb = self::_GetInt2d($recordData, $offset + 2); - - // extension data - $extData = substr($recordData, $offset + 4, $cb); - - switch ($extType) { - case 4: // fill start color - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $fill = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFill(); - $fill->getStartColor()->setRGB($rgb); - unset($fill->startcolorIndex); // normal color index does not apply, discard - } - } - break; - - case 5: // fill end color - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $fill = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFill(); - $fill->getEndColor()->setRGB($rgb); - unset($fill->endcolorIndex); // normal color index does not apply, discard - } - } - break; - - case 7: // border color top - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $top = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getTop(); - $top->getColor()->setRGB($rgb); - unset($top->colorIndex); // normal color index does not apply, discard - } - } - break; - - case 8: // border color bottom - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $bottom = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getBottom(); - $bottom->getColor()->setRGB($rgb); - unset($bottom->colorIndex); // normal color index does not apply, discard - } - } - break; - - case 9: // border color left - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $left = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getLeft(); - $left->getColor()->setRGB($rgb); - unset($left->colorIndex); // normal color index does not apply, discard - } - } - break; - - case 10: // border color right - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $right = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getRight(); - $right->getColor()->setRGB($rgb); - unset($right->colorIndex); // normal color index does not apply, discard - } - } - break; - - case 11: // border color diagonal - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $diagonal = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getBorders()->getDiagonal(); - $diagonal->getColor()->setRGB($rgb); - unset($diagonal->colorIndex); // normal color index does not apply, discard - } - } - break; - - case 13: // font color - $xclfType = self::_GetInt2d($extData, 0); // color type - $xclrValue = substr($extData, 4, 4); // color value (value based on color type) - - if ($xclfType == 2) { - $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); - - // modify the relevant style property - if ( isset($this->_mapCellXfIndex[$ixfe]) ) { - $font = $this->_phpExcel->getCellXfByIndex($this->_mapCellXfIndex[$ixfe])->getFont(); - $font->getColor()->setRGB($rgb); - unset($font->colorIndex); // normal color index does not apply, discard - } - } - break; - } - - $offset += $cb; - } - } - - } - - - /** - * Read STYLE record - */ - private function _readStyle() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; index to XF record and flag for built-in style - $ixfe = self::_GetInt2d($recordData, 0); - - // bit: 11-0; mask 0x0FFF; index to XF record - $xfIndex = (0x0FFF & $ixfe) >> 0; - - // bit: 15; mask 0x8000; 0 = user-defined style, 1 = built-in style - $isBuiltIn = (bool) ((0x8000 & $ixfe) >> 15); - - if ($isBuiltIn) { - // offset: 2; size: 1; identifier for built-in style - $builtInId = ord($recordData{2}); - - switch ($builtInId) { - case 0x00: - // currently, we are not using this for anything - break; - - default: - break; - } - - } else { - // user-defined; not supported by PHPExcel - } - } - } - - - /** - * Read PALETTE record - */ - private function _readPalette() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; number of following colors - $nm = self::_GetInt2d($recordData, 0); - - // list of RGB colors - for ($i = 0; $i < $nm; ++$i) { - $rgb = substr($recordData, 2 + 4 * $i, 4); - $this->_palette[] = self::_readRGB($rgb); - } - } - } - - - /** - * SHEET - * - * This record is located in the Workbook Globals - * Substream and represents a sheet inside the workbook. - * One SHEET record is written for each sheet. It stores the - * sheet name and a stream offset to the BOF record of the - * respective Sheet Substream within the Workbook Stream. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readSheet() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // offset: 0; size: 4; absolute stream position of the BOF record of the sheet - // NOTE: not encrypted - $rec_offset = self::_GetInt4d($this->_data, $this->_pos + 4); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 4; size: 1; sheet state - switch (ord($recordData{4})) { - case 0x00: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; break; - case 0x01: $sheetState = PHPExcel_Worksheet::SHEETSTATE_HIDDEN; break; - case 0x02: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN; break; - default: $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; break; - } - - // offset: 5; size: 1; sheet type - $sheetType = ord($recordData{5}); - - // offset: 6; size: var; sheet name - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringShort(substr($recordData, 6)); - $rec_name = $string['value']; - } elseif ($this->_version == self::XLS_BIFF7) { - $string = $this->_readByteStringShort(substr($recordData, 6)); - $rec_name = $string['value']; - } - - $this->_sheets[] = array( - 'name' => $rec_name, - 'offset' => $rec_offset, - 'sheetState' => $sheetState, - 'sheetType' => $sheetType, - ); - } - - - /** - * Read EXTERNALBOOK record - */ - private function _readExternalBook() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset within record data - $offset = 0; - - // there are 4 types of records - if (strlen($recordData) > 4) { - // external reference - // offset: 0; size: 2; number of sheet names ($nm) - $nm = self::_GetInt2d($recordData, 0); - $offset += 2; - - // offset: 2; size: var; encoded URL without sheet name (Unicode string, 16-bit length) - $encodedUrlString = self::_readUnicodeStringLong(substr($recordData, 2)); - $offset += $encodedUrlString['size']; - - // offset: var; size: var; list of $nm sheet names (Unicode strings, 16-bit length) - $externalSheetNames = array(); - for ($i = 0; $i < $nm; ++$i) { - $externalSheetNameString = self::_readUnicodeStringLong(substr($recordData, $offset)); - $externalSheetNames[] = $externalSheetNameString['value']; - $offset += $externalSheetNameString['size']; - } - - // store the record data - $this->_externalBooks[] = array( - 'type' => 'external', - 'encodedUrl' => $encodedUrlString['value'], - 'externalSheetNames' => $externalSheetNames, - ); - - } elseif (substr($recordData, 2, 2) == pack('CC', 0x01, 0x04)) { - // internal reference - // offset: 0; size: 2; number of sheet in this document - // offset: 2; size: 2; 0x01 0x04 - $this->_externalBooks[] = array( - 'type' => 'internal', - ); - } elseif (substr($recordData, 0, 4) == pack('vCC', 0x0001, 0x01, 0x3A)) { - // add-in function - // offset: 0; size: 2; 0x0001 - $this->_externalBooks[] = array( - 'type' => 'addInFunction', - ); - } elseif (substr($recordData, 0, 2) == pack('v', 0x0000)) { - // DDE links, OLE links - // offset: 0; size: 2; 0x0000 - // offset: 2; size: var; encoded source document name - $this->_externalBooks[] = array( - 'type' => 'DDEorOLE', - ); - } - } - - - /** - * Read EXTERNNAME record. - */ - private function _readExternName() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // external sheet references provided for named cells - if ($this->_version == self::XLS_BIFF8) { - // offset: 0; size: 2; options - $options = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; - - // offset: 4; size: 2; not used - - // offset: 6; size: var - $nameString = self::_readUnicodeStringShort(substr($recordData, 6)); - - // offset: var; size: var; formula data - $offset = 6 + $nameString['size']; - $formula = $this->_getFormulaFromStructure(substr($recordData, $offset)); - - $this->_externalNames[] = array( - 'name' => $nameString['value'], - 'formula' => $formula, - ); - } - } - - - /** - * Read EXTERNSHEET record - */ - private function _readExternSheet() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // external sheet references provided for named cells - if ($this->_version == self::XLS_BIFF8) { - // offset: 0; size: 2; number of following ref structures - $nm = self::_GetInt2d($recordData, 0); - for ($i = 0; $i < $nm; ++$i) { - $this->_ref[] = array( - // offset: 2 + 6 * $i; index to EXTERNALBOOK record - 'externalBookIndex' => self::_GetInt2d($recordData, 2 + 6 * $i), - // offset: 4 + 6 * $i; index to first sheet in EXTERNALBOOK record - 'firstSheetIndex' => self::_GetInt2d($recordData, 4 + 6 * $i), - // offset: 6 + 6 * $i; index to last sheet in EXTERNALBOOK record - 'lastSheetIndex' => self::_GetInt2d($recordData, 6 + 6 * $i), - ); - } - } - } - - - /** - * DEFINEDNAME - * - * This record is part of a Link Table. It contains the name - * and the token array of an internal defined name. Token - * arrays of defined names contain tokens with aberrant - * token classes. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readDefinedName() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8) { - // retrieves named cells - - // offset: 0; size: 2; option flags - $opts = self::_GetInt2d($recordData, 0); - - // bit: 5; mask: 0x0020; 0 = user-defined name, 1 = built-in-name - $isBuiltInName = (0x0020 & $opts) >> 5; - - // offset: 2; size: 1; keyboard shortcut - - // offset: 3; size: 1; length of the name (character count) - $nlen = ord($recordData{3}); - - // offset: 4; size: 2; size of the formula data (it can happen that this is zero) - // note: there can also be additional data, this is not included in $flen - $flen = self::_GetInt2d($recordData, 4); - - // offset: 8; size: 2; 0=Global name, otherwise index to sheet (1-based) - $scope = self::_GetInt2d($recordData, 8); - - // offset: 14; size: var; Name (Unicode string without length field) - $string = self::_readUnicodeString(substr($recordData, 14), $nlen); - - // offset: var; size: $flen; formula data - $offset = 14 + $string['size']; - $formulaStructure = pack('v', $flen) . substr($recordData, $offset); - - try { - $formula = $this->_getFormulaFromStructure($formulaStructure); - } catch (PHPExcel_Exception $e) { - $formula = ''; - } - - $this->_definedname[] = array( - 'isBuiltInName' => $isBuiltInName, - 'name' => $string['value'], - 'formula' => $formula, - 'scope' => $scope, - ); - } - } - - - /** - * Read MSODRAWINGGROUP record - */ - private function _readMsoDrawingGroup() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - - // get spliced record data - $splicedRecordData = $this->_getSplicedRecordData(); - $recordData = $splicedRecordData['recordData']; - - $this->_drawingGroupData .= $recordData; - } - - - /** - * SST - Shared String Table - * - * This record contains a list of all strings used anywhere - * in the workbook. Each string occurs only once. The - * workbook uses indexes into the list to reference the - * strings. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - **/ - private function _readSst() - { - // offset within (spliced) record data - $pos = 0; - - // get spliced record data - $splicedRecordData = $this->_getSplicedRecordData(); - - $recordData = $splicedRecordData['recordData']; - $spliceOffsets = $splicedRecordData['spliceOffsets']; - - // offset: 0; size: 4; total number of strings in the workbook - $pos += 4; - - // offset: 4; size: 4; number of following strings ($nm) - $nm = self::_GetInt4d($recordData, 4); - $pos += 4; - - // loop through the Unicode strings (16-bit length) - for ($i = 0; $i < $nm; ++$i) { - - // number of characters in the Unicode string - $numChars = self::_GetInt2d($recordData, $pos); - $pos += 2; - - // option flags - $optionFlags = ord($recordData{$pos}); - ++$pos; - - // bit: 0; mask: 0x01; 0 = compressed; 1 = uncompressed - $isCompressed = (($optionFlags & 0x01) == 0) ; - - // bit: 2; mask: 0x02; 0 = ordinary; 1 = Asian phonetic - $hasAsian = (($optionFlags & 0x04) != 0); - - // bit: 3; mask: 0x03; 0 = ordinary; 1 = Rich-Text - $hasRichText = (($optionFlags & 0x08) != 0); - - if ($hasRichText) { - // number of Rich-Text formatting runs - $formattingRuns = self::_GetInt2d($recordData, $pos); - $pos += 2; - } - - if ($hasAsian) { - // size of Asian phonetic setting - $extendedRunLength = self::_GetInt4d($recordData, $pos); - $pos += 4; - } - - // expected byte length of character array if not split - $len = ($isCompressed) ? $numChars : $numChars * 2; - - // look up limit position - foreach ($spliceOffsets as $spliceOffset) { - // it can happen that the string is empty, therefore we need - // <= and not just < - if ($pos <= $spliceOffset) { - $limitpos = $spliceOffset; - break; - } - } - - if ($pos + $len <= $limitpos) { - // character array is not split between records - - $retstr = substr($recordData, $pos, $len); - $pos += $len; - - } else { - // character array is split between records - - // first part of character array - $retstr = substr($recordData, $pos, $limitpos - $pos); - - $bytesRead = $limitpos - $pos; - - // remaining characters in Unicode string - $charsLeft = $numChars - (($isCompressed) ? $bytesRead : ($bytesRead / 2)); - - $pos = $limitpos; - - // keep reading the characters - while ($charsLeft > 0) { - - // look up next limit position, in case the string span more than one continue record - foreach ($spliceOffsets as $spliceOffset) { - if ($pos < $spliceOffset) { - $limitpos = $spliceOffset; - break; - } - } - - // repeated option flags - // OpenOffice.org documentation 5.21 - $option = ord($recordData{$pos}); - ++$pos; - - if ($isCompressed && ($option == 0)) { - // 1st fragment compressed - // this fragment compressed - $len = min($charsLeft, $limitpos - $pos); - $retstr .= substr($recordData, $pos, $len); - $charsLeft -= $len; - $isCompressed = true; - - } elseif (!$isCompressed && ($option != 0)) { - // 1st fragment uncompressed - // this fragment uncompressed - $len = min($charsLeft * 2, $limitpos - $pos); - $retstr .= substr($recordData, $pos, $len); - $charsLeft -= $len / 2; - $isCompressed = false; - - } elseif (!$isCompressed && ($option == 0)) { - // 1st fragment uncompressed - // this fragment compressed - $len = min($charsLeft, $limitpos - $pos); - for ($j = 0; $j < $len; ++$j) { - $retstr .= $recordData{$pos + $j} . chr(0); - } - $charsLeft -= $len; - $isCompressed = false; - - } else { - // 1st fragment compressed - // this fragment uncompressed - $newstr = ''; - for ($j = 0; $j < strlen($retstr); ++$j) { - $newstr .= $retstr[$j] . chr(0); - } - $retstr = $newstr; - $len = min($charsLeft * 2, $limitpos - $pos); - $retstr .= substr($recordData, $pos, $len); - $charsLeft -= $len / 2; - $isCompressed = false; - } - - $pos += $len; - } - } - - // convert to UTF-8 - $retstr = self::_encodeUTF16($retstr, $isCompressed); - - // read additional Rich-Text information, if any - $fmtRuns = array(); - if ($hasRichText) { - // list of formatting runs - for ($j = 0; $j < $formattingRuns; ++$j) { - // first formatted character; zero-based - $charPos = self::_GetInt2d($recordData, $pos + $j * 4); - - // index to font record - $fontIndex = self::_GetInt2d($recordData, $pos + 2 + $j * 4); - - $fmtRuns[] = array( - 'charPos' => $charPos, - 'fontIndex' => $fontIndex, - ); - } - $pos += 4 * $formattingRuns; - } - - // read additional Asian phonetics information, if any - if ($hasAsian) { - // For Asian phonetic settings, we skip the extended string data - $pos += $extendedRunLength; - } - - // store the shared sting - $this->_sst[] = array( - 'value' => $retstr, - 'fmtRuns' => $fmtRuns, - ); - } - - // _getSplicedRecordData() takes care of moving current position in data stream - } - - - /** - * Read PRINTGRIDLINES record - */ - private function _readPrintGridlines() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { - // offset: 0; size: 2; 0 = do not print sheet grid lines; 1 = print sheet gridlines - $printGridlines = (bool) self::_GetInt2d($recordData, 0); - $this->_phpSheet->setPrintGridlines($printGridlines); - } - } - - - /** - * Read DEFAULTROWHEIGHT record - */ - private function _readDefaultRowHeight() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; option flags - // offset: 2; size: 2; default height for unused rows, (twips 1/20 point) - $height = self::_GetInt2d($recordData, 2); - $this->_phpSheet->getDefaultRowDimension()->setRowHeight($height / 20); - } - - - /** - * Read SHEETPR record - */ - private function _readSheetPr() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2 - - // bit: 6; mask: 0x0040; 0 = outline buttons above outline group - $isSummaryBelow = (0x0040 & self::_GetInt2d($recordData, 0)) >> 6; - $this->_phpSheet->setShowSummaryBelow($isSummaryBelow); - - // bit: 7; mask: 0x0080; 0 = outline buttons left of outline group - $isSummaryRight = (0x0080 & self::_GetInt2d($recordData, 0)) >> 7; - $this->_phpSheet->setShowSummaryRight($isSummaryRight); - - // bit: 8; mask: 0x100; 0 = scale printout in percent, 1 = fit printout to number of pages - // this corresponds to radio button setting in page setup dialog in Excel - $this->_isFitToPages = (bool) ((0x0100 & self::_GetInt2d($recordData, 0)) >> 8); - } - - - /** - * Read HORIZONTALPAGEBREAKS record - */ - private function _readHorizontalPageBreaks() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { - - // offset: 0; size: 2; number of the following row index structures - $nm = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 6 * $nm; list of $nm row index structures - for ($i = 0; $i < $nm; ++$i) { - $r = self::_GetInt2d($recordData, 2 + 6 * $i); - $cf = self::_GetInt2d($recordData, 2 + 6 * $i + 2); - $cl = self::_GetInt2d($recordData, 2 + 6 * $i + 4); - - // not sure why two column indexes are necessary? - $this->_phpSheet->setBreakByColumnAndRow($cf, $r, PHPExcel_Worksheet::BREAK_ROW); - } - } - } - - - /** - * Read VERTICALPAGEBREAKS record - */ - private function _readVerticalPageBreaks() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { - // offset: 0; size: 2; number of the following column index structures - $nm = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 6 * $nm; list of $nm row index structures - for ($i = 0; $i < $nm; ++$i) { - $c = self::_GetInt2d($recordData, 2 + 6 * $i); - $rf = self::_GetInt2d($recordData, 2 + 6 * $i + 2); - $rl = self::_GetInt2d($recordData, 2 + 6 * $i + 4); - - // not sure why two row indexes are necessary? - $this->_phpSheet->setBreakByColumnAndRow($c, $rf, PHPExcel_Worksheet::BREAK_COLUMN); - } - } - } - - - /** - * Read HEADER record - */ - private function _readHeader() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: var - // realized that $recordData can be empty even when record exists - if ($recordData) { - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringLong($recordData); - } else { - $string = $this->_readByteStringShort($recordData); - } - - $this->_phpSheet->getHeaderFooter()->setOddHeader($string['value']); - $this->_phpSheet->getHeaderFooter()->setEvenHeader($string['value']); - } - } - } - - - /** - * Read FOOTER record - */ - private function _readFooter() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: var - // realized that $recordData can be empty even when record exists - if ($recordData) { - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringLong($recordData); - } else { - $string = $this->_readByteStringShort($recordData); - } - $this->_phpSheet->getHeaderFooter()->setOddFooter($string['value']); - $this->_phpSheet->getHeaderFooter()->setEvenFooter($string['value']); - } - } - } - - - /** - * Read HCENTER record - */ - private function _readHcenter() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; 0 = print sheet left aligned, 1 = print sheet centered horizontally - $isHorizontalCentered = (bool) self::_GetInt2d($recordData, 0); - - $this->_phpSheet->getPageSetup()->setHorizontalCentered($isHorizontalCentered); - } - } - - - /** - * Read VCENTER record - */ - private function _readVcenter() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; 0 = print sheet aligned at top page border, 1 = print sheet vertically centered - $isVerticalCentered = (bool) self::_GetInt2d($recordData, 0); - - $this->_phpSheet->getPageSetup()->setVerticalCentered($isVerticalCentered); - } - } - - - /** - * Read LEFTMARGIN record - */ - private function _readLeftMargin() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 8 - $this->_phpSheet->getPageMargins()->setLeft(self::_extractNumber($recordData)); - } - } - - - /** - * Read RIGHTMARGIN record - */ - private function _readRightMargin() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 8 - $this->_phpSheet->getPageMargins()->setRight(self::_extractNumber($recordData)); - } - } - - - /** - * Read TOPMARGIN record - */ - private function _readTopMargin() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 8 - $this->_phpSheet->getPageMargins()->setTop(self::_extractNumber($recordData)); - } - } - - - /** - * Read BOTTOMMARGIN record - */ - private function _readBottomMargin() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 8 - $this->_phpSheet->getPageMargins()->setBottom(self::_extractNumber($recordData)); - } - } - - - /** - * Read PAGESETUP record - */ - private function _readPageSetup() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; paper size - $paperSize = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; scaling factor - $scale = self::_GetInt2d($recordData, 2); - - // offset: 6; size: 2; fit worksheet width to this number of pages, 0 = use as many as needed - $fitToWidth = self::_GetInt2d($recordData, 6); - - // offset: 8; size: 2; fit worksheet height to this number of pages, 0 = use as many as needed - $fitToHeight = self::_GetInt2d($recordData, 8); - - // offset: 10; size: 2; option flags + $this->cellNotes[$noteObjID] = array( + 'cellRef' => $cellAddress, + 'objectID' => $noteObjID, + 'author' => $noteAuthor + ); + } else { + $extension = false; + if ($cellAddress == '$B$65536') { + // If the address row is -1 and the column is 0, (which translates as $B$65536) then this is a continuation + // note from the previous cell annotation. We're not yet handling this, so annotations longer than the + // max 2048 bytes will probably throw a wobbly. + $row = self::getInt2d($recordData, 0); + $extension = true; + $cellAddress = array_pop(array_keys($this->phpSheet->getComments())); + } +// echo 'Note Address=', $cellAddress,'
'; + + $cellAddress = str_replace('$', '', $cellAddress); + $noteLength = self::getInt2d($recordData, 4); + $noteText = trim(substr($recordData, 6)); +// echo 'Note Length=', $noteLength,'
'; +// echo 'Note Text=', $noteText,'
'; + + if ($extension) { + // Concatenate this extension with the currently set comment for the cell + $comment = $this->phpSheet->getComment($cellAddress); + $commentText = $comment->getText()->getPlainText(); + $comment->setText($this->parseRichText($commentText.$noteText)); + } else { + // Set comment for the cell + $this->phpSheet->getComment($cellAddress)->setText($this->parseRichText($noteText)); +// ->setAuthor($author) + } + } + + } + + + /** + * The TEXT Object record contains the text associated with a cell annotation. + */ + private function readTextObject() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + // recordData consists of an array of subrecords looking like this: + // grbit: 2 bytes; Option Flags + // rot: 2 bytes; rotation + // cchText: 2 bytes; length of the text (in the first continue record) + // cbRuns: 2 bytes; length of the formatting (in the second continue record) + // followed by the continuation records containing the actual text and formatting + $grbitOpts = self::getInt2d($recordData, 0); + $rot = self::getInt2d($recordData, 2); + $cchText = self::getInt2d($recordData, 10); + $cbRuns = self::getInt2d($recordData, 12); + $text = $this->getSplicedRecordData(); + + $this->textObjects[$this->textObjRef] = array( + 'text' => substr($text["recordData"], $text["spliceOffsets"][0]+1, $cchText), + 'format' => substr($text["recordData"], $text["spliceOffsets"][1], $cbRuns), + 'alignment' => $grbitOpts, + 'rotation' => $rot + ); + +// echo '_readTextObject()
'; +// var_dump($this->textObjects[$this->textObjRef]); +// echo '
'; + } + + + /** + * Read BOF + */ + private function readBof() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = substr($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 2; size: 2; type of the following data + $substreamType = self::getInt2d($recordData, 2); + + switch ($substreamType) { + case self::XLS_WorkbookGlobals: + $version = self::getInt2d($recordData, 0); + if (($version != self::XLS_BIFF8) && ($version != self::XLS_BIFF7)) { + throw new PHPExcel_Reader_Exception('Cannot read this Excel file. Version is too old.'); + } + $this->version = $version; + break; + case self::XLS_Worksheet: + // do not use this version information for anything + // it is unreliable (OpenOffice doc, 5.8), use only version information from the global stream + break; + default: + // substream, e.g. chart + // just skip the entire substream + do { + $code = self::getInt2d($this->data, $this->pos); + $this->readDefault(); + } while ($code != self::XLS_TYPE_EOF && $this->pos < $this->dataSize); + break; + } + } + + + /** + * FILEPASS + * + * This record is part of the File Protection Block. It + * contains information about the read/write password of the + * file. All record contents following this record will be + * encrypted. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + * + * The decryption functions and objects used from here on in + * are based on the source of Spreadsheet-ParseExcel: + * http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel/ + */ + private function readFilepass() + { + $length = self::getInt2d($this->data, $this->pos + 2); + + if ($length != 54) { + throw new PHPExcel_Reader_Exception('Unexpected file pass record length'); + } + + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->verifyPassword('VelvetSweatshop', substr($recordData, 6, 16), substr($recordData, 22, 16), substr($recordData, 38, 16), $this->md5Ctxt)) { + throw new PHPExcel_Reader_Exception('Decryption password incorrect'); + } + + $this->encryption = self::MS_BIFF_CRYPTO_RC4; + + // Decryption required from the record after next onwards + $this->encryptionStartPos = $this->pos + self::getInt2d($this->data, $this->pos + 2); + } + + /** + * Make an RC4 decryptor for the given block + * + * @var int $block Block for which to create decrypto + * @var string $valContext MD5 context state + * + * @return PHPExcel_Reader_Excel5_RC4 + */ + private function makeKey($block, $valContext) + { + $pwarray = str_repeat("\0", 64); + + for ($i = 0; $i < 5; $i++) { + $pwarray[$i] = $valContext[$i]; + } + + $pwarray[5] = chr($block & 0xff); + $pwarray[6] = chr(($block >> 8) & 0xff); + $pwarray[7] = chr(($block >> 16) & 0xff); + $pwarray[8] = chr(($block >> 24) & 0xff); + + $pwarray[9] = "\x80"; + $pwarray[56] = "\x48"; + + $md5 = new PHPExcel_Reader_Excel5_MD5(); + $md5->add($pwarray); + + $s = $md5->getContext(); + return new PHPExcel_Reader_Excel5_RC4($s); + } + + /** + * Verify RC4 file password + * + * @var string $password Password to check + * @var string $docid Document id + * @var string $salt_data Salt data + * @var string $hashedsalt_data Hashed salt data + * @var string &$valContext Set to the MD5 context of the value + * + * @return bool Success + */ + private function verifyPassword($password, $docid, $salt_data, $hashedsalt_data, &$valContext) + { + $pwarray = str_repeat("\0", 64); + + for ($i = 0; $i < strlen($password); $i++) { + $o = ord(substr($password, $i, 1)); + $pwarray[2 * $i] = chr($o & 0xff); + $pwarray[2 * $i + 1] = chr(($o >> 8) & 0xff); + } + $pwarray[2 * $i] = chr(0x80); + $pwarray[56] = chr(($i << 4) & 0xff); + + $md5 = new PHPExcel_Reader_Excel5_MD5(); + $md5->add($pwarray); + + $mdContext1 = $md5->getContext(); + + $offset = 0; + $keyoffset = 0; + $tocopy = 5; + + $md5->reset(); + + while ($offset != 16) { + if ((64 - $offset) < 5) { + $tocopy = 64 - $offset; + } + for ($i = 0; $i <= $tocopy; $i++) { + $pwarray[$offset + $i] = $mdContext1[$keyoffset + $i]; + } + $offset += $tocopy; + + if ($offset == 64) { + $md5->add($pwarray); + $keyoffset = $tocopy; + $tocopy = 5 - $tocopy; + $offset = 0; + continue; + } + + $keyoffset = 0; + $tocopy = 5; + for ($i = 0; $i < 16; $i++) { + $pwarray[$offset + $i] = $docid[$i]; + } + $offset += 16; + } + + $pwarray[16] = "\x80"; + for ($i = 0; $i < 47; $i++) { + $pwarray[17 + $i] = "\0"; + } + $pwarray[56] = "\x80"; + $pwarray[57] = "\x0a"; + + $md5->add($pwarray); + $valContext = $md5->getContext(); + + $key = $this->makeKey(0, $valContext); + + $salt = $key->RC4($salt_data); + $hashedsalt = $key->RC4($hashedsalt_data); + + $salt .= "\x80" . str_repeat("\0", 47); + $salt[56] = "\x80"; + + $md5->reset(); + $md5->add($salt); + $mdContext2 = $md5->getContext(); + + return $mdContext2 == $hashedsalt; + } + + /** + * CODEPAGE + * + * This record stores the text encoding used to write byte + * strings, stored as MS Windows code page identifier. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readCodepage() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; code page identifier + $codepage = self::getInt2d($recordData, 0); + + $this->codepage = PHPExcel_Shared_CodePage::NumberToName($codepage); + } + + + /** + * DATEMODE + * + * This record specifies the base date for displaying date + * values. All dates are stored as count of days past this + * base date. In BIFF2-BIFF4 this record is part of the + * Calculation Settings Block. In BIFF5-BIFF8 it is + * stored in the Workbook Globals Substream. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readDateMode() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; 0 = base 1900, 1 = base 1904 + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); + if (ord($recordData{0}) == 1) { + PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); + } + } + + + /** + * Read a FONT record + */ + private function readFont() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + $objFont = new PHPExcel_Style_Font(); + + // offset: 0; size: 2; height of the font (in twips = 1/20 of a point) + $size = self::getInt2d($recordData, 0); + $objFont->setSize($size / 20); + + // offset: 2; size: 2; option flags + // bit: 0; mask 0x0001; bold (redundant in BIFF5-BIFF8) + // bit: 1; mask 0x0002; italic + $isItalic = (0x0002 & self::getInt2d($recordData, 2)) >> 1; + if ($isItalic) { + $objFont->setItalic(true); + } + + // bit: 2; mask 0x0004; underlined (redundant in BIFF5-BIFF8) + // bit: 3; mask 0x0008; strike + $isStrike = (0x0008 & self::getInt2d($recordData, 2)) >> 3; + if ($isStrike) { + $objFont->setStrikethrough(true); + } + + // offset: 4; size: 2; colour index + $colorIndex = self::getInt2d($recordData, 4); + $objFont->colorIndex = $colorIndex; + + // offset: 6; size: 2; font weight + $weight = self::getInt2d($recordData, 6); + switch ($weight) { + case 0x02BC: + $objFont->setBold(true); + break; + } + + // offset: 8; size: 2; escapement type + $escapement = self::getInt2d($recordData, 8); + switch ($escapement) { + case 0x0001: + $objFont->setSuperScript(true); + break; + case 0x0002: + $objFont->setSubScript(true); + break; + } + + // offset: 10; size: 1; underline type + $underlineType = ord($recordData{10}); + switch ($underlineType) { + case 0x00: + break; // no underline + case 0x01: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); + break; + case 0x02: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLE); + break; + case 0x21: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING); + break; + case 0x22: + $objFont->setUnderline(PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING); + break; + } + + // offset: 11; size: 1; font family + // offset: 12; size: 1; character set + // offset: 13; size: 1; not used + // offset: 14; size: var; font name + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringShort(substr($recordData, 14)); + } else { + $string = $this->readByteStringShort(substr($recordData, 14)); + } + $objFont->setName($string['value']); + + $this->objFonts[] = $objFont; + } + } + + + /** + * FORMAT + * + * This record contains information about a number format. + * All FORMAT records occur together in a sequential list. + * + * In BIFF2-BIFF4 other records referencing a FORMAT record + * contain a zero-based index into this list. From BIFF5 on + * the FORMAT record contains the index itself that will be + * used by other records. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readFormat() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + $indexCode = self::getInt2d($recordData, 0); + + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringLong(substr($recordData, 2)); + } else { + // BIFF7 + $string = $this->readByteStringShort(substr($recordData, 2)); + } + + $formatString = $string['value']; + $this->formats[$indexCode] = $formatString; + } + } + + + /** + * XF - Extended Format + * + * This record contains formatting information for cells, rows, columns or styles. + * According to http://support.microsoft.com/kb/147732 there are always at least 15 cell style XF + * and 1 cell XF. + * Inspection of Excel files generated by MS Office Excel shows that XF records 0-14 are cell style XF + * and XF record 15 is a cell XF + * We only read the first cell style XF and skip the remaining cell style XF records + * We read all cell XF records. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readXf() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + $objStyle = new PHPExcel_Style(); + + if (!$this->readDataOnly) { + // offset: 0; size: 2; Index to FONT record + if (self::getInt2d($recordData, 0) < 4) { + $fontIndex = self::getInt2d($recordData, 0); + } else { + // this has to do with that index 4 is omitted in all BIFF versions for some strange reason + // check the OpenOffice documentation of the FONT record + $fontIndex = self::getInt2d($recordData, 0) - 1; + } + $objStyle->setFont($this->objFonts[$fontIndex]); + + // offset: 2; size: 2; Index to FORMAT record + $numberFormatIndex = self::getInt2d($recordData, 2); + if (isset($this->formats[$numberFormatIndex])) { + // then we have user-defined format code + $numberformat = array('code' => $this->formats[$numberFormatIndex]); + } elseif (($code = PHPExcel_Style_NumberFormat::builtInFormatCode($numberFormatIndex)) !== '') { + // then we have built-in format code + $numberformat = array('code' => $code); + } else { + // we set the general format code + $numberformat = array('code' => 'General'); + } + $objStyle->getNumberFormat()->setFormatCode($numberformat['code']); + + // offset: 4; size: 2; XF type, cell protection, and parent style XF + // bit 2-0; mask 0x0007; XF_TYPE_PROT + $xfTypeProt = self::getInt2d($recordData, 4); + // bit 0; mask 0x01; 1 = cell is locked + $isLocked = (0x01 & $xfTypeProt) >> 0; + $objStyle->getProtection()->setLocked($isLocked ? PHPExcel_Style_Protection::PROTECTION_INHERIT : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + + // bit 1; mask 0x02; 1 = Formula is hidden + $isHidden = (0x02 & $xfTypeProt) >> 1; + $objStyle->getProtection()->setHidden($isHidden ? PHPExcel_Style_Protection::PROTECTION_PROTECTED : PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); + + // bit 2; mask 0x04; 0 = Cell XF, 1 = Cell Style XF + $isCellStyleXf = (0x04 & $xfTypeProt) >> 2; + + // offset: 6; size: 1; Alignment and text break + // bit 2-0, mask 0x07; horizontal alignment + $horAlign = (0x07 & ord($recordData{6})) >> 0; + switch ($horAlign) { + case 0: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_GENERAL); + break; + case 1: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); + break; + case 2: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); + break; + case 3: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); + break; + case 4: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_FILL); + break; + case 5: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY); + break; + case 6: + $objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS); + break; + } + // bit 3, mask 0x08; wrap text + $wrapText = (0x08 & ord($recordData{6})) >> 3; + switch ($wrapText) { + case 0: + $objStyle->getAlignment()->setWrapText(false); + break; + case 1: + $objStyle->getAlignment()->setWrapText(true); + break; + } + // bit 6-4, mask 0x70; vertical alignment + $vertAlign = (0x70 & ord($recordData{6})) >> 4; + switch ($vertAlign) { + case 0: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); + break; + case 1: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER); + break; + case 2: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_BOTTOM); + break; + case 3: + $objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_JUSTIFY); + break; + } + + if ($this->version == self::XLS_BIFF8) { + // offset: 7; size: 1; XF_ROTATION: Text rotation angle + $angle = ord($recordData{7}); + $rotation = 0; + if ($angle <= 90) { + $rotation = $angle; + } elseif ($angle <= 180) { + $rotation = 90 - $angle; + } elseif ($angle == 255) { + $rotation = -165; + } + $objStyle->getAlignment()->setTextRotation($rotation); + + // offset: 8; size: 1; Indentation, shrink to cell size, and text direction + // bit: 3-0; mask: 0x0F; indent level + $indent = (0x0F & ord($recordData{8})) >> 0; + $objStyle->getAlignment()->setIndent($indent); + + // bit: 4; mask: 0x10; 1 = shrink content to fit into cell + $shrinkToFit = (0x10 & ord($recordData{8})) >> 4; + switch ($shrinkToFit) { + case 0: + $objStyle->getAlignment()->setShrinkToFit(false); + break; + case 1: + $objStyle->getAlignment()->setShrinkToFit(true); + break; + } + + // offset: 9; size: 1; Flags used for attribute groups + + // offset: 10; size: 4; Cell border lines and background area + // bit: 3-0; mask: 0x0000000F; left style + if ($bordersLeftStyle = PHPExcel_Reader_Excel5_Style_Border::lookup((0x0000000F & self::getInt4d($recordData, 10)) >> 0)) { + $objStyle->getBorders()->getLeft()->setBorderStyle($bordersLeftStyle); + } + // bit: 7-4; mask: 0x000000F0; right style + if ($bordersRightStyle = PHPExcel_Reader_Excel5_Style_Border::lookup((0x000000F0 & self::getInt4d($recordData, 10)) >> 4)) { + $objStyle->getBorders()->getRight()->setBorderStyle($bordersRightStyle); + } + // bit: 11-8; mask: 0x00000F00; top style + if ($bordersTopStyle = PHPExcel_Reader_Excel5_Style_Border::lookup((0x00000F00 & self::getInt4d($recordData, 10)) >> 8)) { + $objStyle->getBorders()->getTop()->setBorderStyle($bordersTopStyle); + } + // bit: 15-12; mask: 0x0000F000; bottom style + if ($bordersBottomStyle = PHPExcel_Reader_Excel5_Style_Border::lookup((0x0000F000 & self::getInt4d($recordData, 10)) >> 12)) { + $objStyle->getBorders()->getBottom()->setBorderStyle($bordersBottomStyle); + } + // bit: 22-16; mask: 0x007F0000; left color + $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & self::getInt4d($recordData, 10)) >> 16; + + // bit: 29-23; mask: 0x3F800000; right color + $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & self::getInt4d($recordData, 10)) >> 23; + + // bit: 30; mask: 0x40000000; 1 = diagonal line from top left to right bottom + $diagonalDown = (0x40000000 & self::getInt4d($recordData, 10)) >> 30 ? true : false; + + // bit: 31; mask: 0x80000000; 1 = diagonal line from bottom left to top right + $diagonalUp = (0x80000000 & self::getInt4d($recordData, 10)) >> 31 ? true : false; + + if ($diagonalUp == false && $diagonalDown == false) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_NONE); + } elseif ($diagonalUp == true && $diagonalDown == false) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP); + } elseif ($diagonalUp == false && $diagonalDown == true) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_DOWN); + } elseif ($diagonalUp == true && $diagonalDown == true) { + $objStyle->getBorders()->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_BOTH); + } + + // offset: 14; size: 4; + // bit: 6-0; mask: 0x0000007F; top color + $objStyle->getBorders()->getTop()->colorIndex = (0x0000007F & self::getInt4d($recordData, 14)) >> 0; + + // bit: 13-7; mask: 0x00003F80; bottom color + $objStyle->getBorders()->getBottom()->colorIndex = (0x00003F80 & self::getInt4d($recordData, 14)) >> 7; + + // bit: 20-14; mask: 0x001FC000; diagonal color + $objStyle->getBorders()->getDiagonal()->colorIndex = (0x001FC000 & self::getInt4d($recordData, 14)) >> 14; + + // bit: 24-21; mask: 0x01E00000; diagonal style + if ($bordersDiagonalStyle = PHPExcel_Reader_Excel5_Style_Border::lookup((0x01E00000 & self::getInt4d($recordData, 14)) >> 21)) { + $objStyle->getBorders()->getDiagonal()->setBorderStyle($bordersDiagonalStyle); + } + + // bit: 31-26; mask: 0xFC000000 fill pattern + if ($fillType = PHPExcel_Reader_Excel5_Style_FillPattern::lookup((0xFC000000 & self::getInt4d($recordData, 14)) >> 26)) { + $objStyle->getFill()->setFillType($fillType); + } + // offset: 18; size: 2; pattern and background colour + // bit: 6-0; mask: 0x007F; color index for pattern color + $objStyle->getFill()->startcolorIndex = (0x007F & self::getInt2d($recordData, 18)) >> 0; + + // bit: 13-7; mask: 0x3F80; color index for pattern background + $objStyle->getFill()->endcolorIndex = (0x3F80 & self::getInt2d($recordData, 18)) >> 7; + } else { + // BIFF5 + + // offset: 7; size: 1; Text orientation and flags + $orientationAndFlags = ord($recordData{7}); + + // bit: 1-0; mask: 0x03; XF_ORIENTATION: Text orientation + $xfOrientation = (0x03 & $orientationAndFlags) >> 0; + switch ($xfOrientation) { + case 0: + $objStyle->getAlignment()->setTextRotation(0); + break; + case 1: + $objStyle->getAlignment()->setTextRotation(-165); + break; + case 2: + $objStyle->getAlignment()->setTextRotation(90); + break; + case 3: + $objStyle->getAlignment()->setTextRotation(-90); + break; + } + + // offset: 8; size: 4; cell border lines and background area + $borderAndBackground = self::getInt4d($recordData, 8); + + // bit: 6-0; mask: 0x0000007F; color index for pattern color + $objStyle->getFill()->startcolorIndex = (0x0000007F & $borderAndBackground) >> 0; + + // bit: 13-7; mask: 0x00003F80; color index for pattern background + $objStyle->getFill()->endcolorIndex = (0x00003F80 & $borderAndBackground) >> 7; + + // bit: 21-16; mask: 0x003F0000; fill pattern + $objStyle->getFill()->setFillType(PHPExcel_Reader_Excel5_Style_FillPattern::lookup((0x003F0000 & $borderAndBackground) >> 16)); + + // bit: 24-22; mask: 0x01C00000; bottom line style + $objStyle->getBorders()->getBottom()->setBorderStyle(PHPExcel_Reader_Excel5_Style_Border::lookup((0x01C00000 & $borderAndBackground) >> 22)); + + // bit: 31-25; mask: 0xFE000000; bottom line color + $objStyle->getBorders()->getBottom()->colorIndex = (0xFE000000 & $borderAndBackground) >> 25; + + // offset: 12; size: 4; cell border lines + $borderLines = self::getInt4d($recordData, 12); + + // bit: 2-0; mask: 0x00000007; top line style + $objStyle->getBorders()->getTop()->setBorderStyle(PHPExcel_Reader_Excel5_Style_Border::lookup((0x00000007 & $borderLines) >> 0)); + + // bit: 5-3; mask: 0x00000038; left line style + $objStyle->getBorders()->getLeft()->setBorderStyle(PHPExcel_Reader_Excel5_Style_Border::lookup((0x00000038 & $borderLines) >> 3)); + + // bit: 8-6; mask: 0x000001C0; right line style + $objStyle->getBorders()->getRight()->setBorderStyle(PHPExcel_Reader_Excel5_Style_Border::lookup((0x000001C0 & $borderLines) >> 6)); + + // bit: 15-9; mask: 0x0000FE00; top line color index + $objStyle->getBorders()->getTop()->colorIndex = (0x0000FE00 & $borderLines) >> 9; + + // bit: 22-16; mask: 0x007F0000; left line color index + $objStyle->getBorders()->getLeft()->colorIndex = (0x007F0000 & $borderLines) >> 16; + + // bit: 29-23; mask: 0x3F800000; right line color index + $objStyle->getBorders()->getRight()->colorIndex = (0x3F800000 & $borderLines) >> 23; + } + + // add cellStyleXf or cellXf and update mapping + if ($isCellStyleXf) { + // we only read one style XF record which is always the first + if ($this->xfIndex == 0) { + $this->phpExcel->addCellStyleXf($objStyle); + $this->mapCellStyleXfIndex[$this->xfIndex] = 0; + } + } else { + // we read all cell XF records + $this->phpExcel->addCellXf($objStyle); + $this->mapCellXfIndex[$this->xfIndex] = count($this->phpExcel->getCellXfCollection()) - 1; + } + + // update XF index for when we read next record + ++$this->xfIndex; + } + } + + + /** + * + */ + private function readXfExt() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; 0x087D = repeated header + + // offset: 2; size: 2 + + // offset: 4; size: 8; not used + + // offset: 12; size: 2; record version + + // offset: 14; size: 2; index to XF record which this record modifies + $ixfe = self::getInt2d($recordData, 14); + + // offset: 16; size: 2; not used + + // offset: 18; size: 2; number of extension properties that follow + $cexts = self::getInt2d($recordData, 18); + + // start reading the actual extension data + $offset = 20; + while ($offset < $length) { + // extension type + $extType = self::getInt2d($recordData, $offset); + + // extension length + $cb = self::getInt2d($recordData, $offset + 2); + + // extension data + $extData = substr($recordData, $offset + 4, $cb); + + switch ($extType) { + case 4: // fill start color + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $fill = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getFill(); + $fill->getStartColor()->setRGB($rgb); + unset($fill->startcolorIndex); // normal color index does not apply, discard + } + } + break; + case 5: // fill end color + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $fill = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getFill(); + $fill->getEndColor()->setRGB($rgb); + unset($fill->endcolorIndex); // normal color index does not apply, discard + } + } + break; + case 7: // border color top + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $top = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getBorders()->getTop(); + $top->getColor()->setRGB($rgb); + unset($top->colorIndex); // normal color index does not apply, discard + } + } + break; + case 8: // border color bottom + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $bottom = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getBorders()->getBottom(); + $bottom->getColor()->setRGB($rgb); + unset($bottom->colorIndex); // normal color index does not apply, discard + } + } + break; + case 9: // border color left + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $left = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getBorders()->getLeft(); + $left->getColor()->setRGB($rgb); + unset($left->colorIndex); // normal color index does not apply, discard + } + } + break; + case 10: // border color right + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $right = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getBorders()->getRight(); + $right->getColor()->setRGB($rgb); + unset($right->colorIndex); // normal color index does not apply, discard + } + } + break; + case 11: // border color diagonal + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $diagonal = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getBorders()->getDiagonal(); + $diagonal->getColor()->setRGB($rgb); + unset($diagonal->colorIndex); // normal color index does not apply, discard + } + } + break; + case 13: // font color + $xclfType = self::getInt2d($extData, 0); // color type + $xclrValue = substr($extData, 4, 4); // color value (value based on color type) + + if ($xclfType == 2) { + $rgb = sprintf('%02X%02X%02X', ord($xclrValue{0}), ord($xclrValue{1}), ord($xclrValue{2})); + + // modify the relevant style property + if (isset($this->mapCellXfIndex[$ixfe])) { + $font = $this->phpExcel->getCellXfByIndex($this->mapCellXfIndex[$ixfe])->getFont(); + $font->getColor()->setRGB($rgb); + unset($font->colorIndex); // normal color index does not apply, discard + } + } + break; + } + + $offset += $cb; + } + } + + } + + + /** + * Read STYLE record + */ + private function readStyle() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; index to XF record and flag for built-in style + $ixfe = self::getInt2d($recordData, 0); + + // bit: 11-0; mask 0x0FFF; index to XF record + $xfIndex = (0x0FFF & $ixfe) >> 0; + + // bit: 15; mask 0x8000; 0 = user-defined style, 1 = built-in style + $isBuiltIn = (bool) ((0x8000 & $ixfe) >> 15); + + if ($isBuiltIn) { + // offset: 2; size: 1; identifier for built-in style + $builtInId = ord($recordData{2}); + + switch ($builtInId) { + case 0x00: + // currently, we are not using this for anything + break; + default: + break; + } + } else { + // user-defined; not supported by PHPExcel + } + } + } + + + /** + * Read PALETTE record + */ + private function readPalette() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; number of following colors + $nm = self::getInt2d($recordData, 0); + + // list of RGB colors + for ($i = 0; $i < $nm; ++$i) { + $rgb = substr($recordData, 2 + 4 * $i, 4); + $this->palette[] = self::readRGB($rgb); + } + } + } + + + /** + * SHEET + * + * This record is located in the Workbook Globals + * Substream and represents a sheet inside the workbook. + * One SHEET record is written for each sheet. It stores the + * sheet name and a stream offset to the BOF record of the + * respective Sheet Substream within the Workbook Stream. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readSheet() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // offset: 0; size: 4; absolute stream position of the BOF record of the sheet + // NOTE: not encrypted + $rec_offset = self::getInt4d($this->data, $this->pos + 4); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 4; size: 1; sheet state + switch (ord($recordData{4})) { + case 0x00: + $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; + break; + case 0x01: + $sheetState = PHPExcel_Worksheet::SHEETSTATE_HIDDEN; + break; + case 0x02: + $sheetState = PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN; + break; + default: + $sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE; + break; + } + + // offset: 5; size: 1; sheet type + $sheetType = ord($recordData{5}); + + // offset: 6; size: var; sheet name + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringShort(substr($recordData, 6)); + $rec_name = $string['value']; + } elseif ($this->version == self::XLS_BIFF7) { + $string = $this->readByteStringShort(substr($recordData, 6)); + $rec_name = $string['value']; + } + + $this->sheets[] = array( + 'name' => $rec_name, + 'offset' => $rec_offset, + 'sheetState' => $sheetState, + 'sheetType' => $sheetType, + ); + } + + + /** + * Read EXTERNALBOOK record + */ + private function readExternalBook() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset within record data + $offset = 0; + + // there are 4 types of records + if (strlen($recordData) > 4) { + // external reference + // offset: 0; size: 2; number of sheet names ($nm) + $nm = self::getInt2d($recordData, 0); + $offset += 2; + + // offset: 2; size: var; encoded URL without sheet name (Unicode string, 16-bit length) + $encodedUrlString = self::readUnicodeStringLong(substr($recordData, 2)); + $offset += $encodedUrlString['size']; + + // offset: var; size: var; list of $nm sheet names (Unicode strings, 16-bit length) + $externalSheetNames = array(); + for ($i = 0; $i < $nm; ++$i) { + $externalSheetNameString = self::readUnicodeStringLong(substr($recordData, $offset)); + $externalSheetNames[] = $externalSheetNameString['value']; + $offset += $externalSheetNameString['size']; + } + + // store the record data + $this->externalBooks[] = array( + 'type' => 'external', + 'encodedUrl' => $encodedUrlString['value'], + 'externalSheetNames' => $externalSheetNames, + ); + } elseif (substr($recordData, 2, 2) == pack('CC', 0x01, 0x04)) { + // internal reference + // offset: 0; size: 2; number of sheet in this document + // offset: 2; size: 2; 0x01 0x04 + $this->externalBooks[] = array( + 'type' => 'internal', + ); + } elseif (substr($recordData, 0, 4) == pack('vCC', 0x0001, 0x01, 0x3A)) { + // add-in function + // offset: 0; size: 2; 0x0001 + $this->externalBooks[] = array( + 'type' => 'addInFunction', + ); + } elseif (substr($recordData, 0, 2) == pack('v', 0x0000)) { + // DDE links, OLE links + // offset: 0; size: 2; 0x0000 + // offset: 2; size: var; encoded source document name + $this->externalBooks[] = array( + 'type' => 'DDEorOLE', + ); + } + } + + + /** + * Read EXTERNNAME record. + */ + private function readExternName() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // external sheet references provided for named cells + if ($this->version == self::XLS_BIFF8) { + // offset: 0; size: 2; options + $options = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; + + // offset: 4; size: 2; not used + + // offset: 6; size: var + $nameString = self::readUnicodeStringShort(substr($recordData, 6)); + + // offset: var; size: var; formula data + $offset = 6 + $nameString['size']; + $formula = $this->getFormulaFromStructure(substr($recordData, $offset)); + + $this->externalNames[] = array( + 'name' => $nameString['value'], + 'formula' => $formula, + ); + } + } + + + /** + * Read EXTERNSHEET record + */ + private function readExternSheet() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // external sheet references provided for named cells + if ($this->version == self::XLS_BIFF8) { + // offset: 0; size: 2; number of following ref structures + $nm = self::getInt2d($recordData, 0); + for ($i = 0; $i < $nm; ++$i) { + $this->ref[] = array( + // offset: 2 + 6 * $i; index to EXTERNALBOOK record + 'externalBookIndex' => self::getInt2d($recordData, 2 + 6 * $i), + // offset: 4 + 6 * $i; index to first sheet in EXTERNALBOOK record + 'firstSheetIndex' => self::getInt2d($recordData, 4 + 6 * $i), + // offset: 6 + 6 * $i; index to last sheet in EXTERNALBOOK record + 'lastSheetIndex' => self::getInt2d($recordData, 6 + 6 * $i), + ); + } + } + } + + + /** + * DEFINEDNAME + * + * This record is part of a Link Table. It contains the name + * and the token array of an internal defined name. Token + * arrays of defined names contain tokens with aberrant + * token classes. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readDefinedName() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8) { + // retrieves named cells + + // offset: 0; size: 2; option flags + $opts = self::getInt2d($recordData, 0); + + // bit: 5; mask: 0x0020; 0 = user-defined name, 1 = built-in-name + $isBuiltInName = (0x0020 & $opts) >> 5; + + // offset: 2; size: 1; keyboard shortcut + + // offset: 3; size: 1; length of the name (character count) + $nlen = ord($recordData{3}); + + // offset: 4; size: 2; size of the formula data (it can happen that this is zero) + // note: there can also be additional data, this is not included in $flen + $flen = self::getInt2d($recordData, 4); + + // offset: 8; size: 2; 0=Global name, otherwise index to sheet (1-based) + $scope = self::getInt2d($recordData, 8); + + // offset: 14; size: var; Name (Unicode string without length field) + $string = self::readUnicodeString(substr($recordData, 14), $nlen); + + // offset: var; size: $flen; formula data + $offset = 14 + $string['size']; + $formulaStructure = pack('v', $flen) . substr($recordData, $offset); + + try { + $formula = $this->getFormulaFromStructure($formulaStructure); + } catch (PHPExcel_Exception $e) { + $formula = ''; + } + + $this->definedname[] = array( + 'isBuiltInName' => $isBuiltInName, + 'name' => $string['value'], + 'formula' => $formula, + 'scope' => $scope, + ); + } + } + + + /** + * Read MSODRAWINGGROUP record + */ + private function readMsoDrawingGroup() + { + $length = self::getInt2d($this->data, $this->pos + 2); + + // get spliced record data + $splicedRecordData = $this->getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + $this->drawingGroupData .= $recordData; + } + + + /** + * SST - Shared String Table + * + * This record contains a list of all strings used anywhere + * in the workbook. Each string occurs only once. The + * workbook uses indexes into the list to reference the + * strings. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + **/ + private function readSst() + { + // offset within (spliced) record data + $pos = 0; + + // get spliced record data + $splicedRecordData = $this->getSplicedRecordData(); + + $recordData = $splicedRecordData['recordData']; + $spliceOffsets = $splicedRecordData['spliceOffsets']; + + // offset: 0; size: 4; total number of strings in the workbook + $pos += 4; + + // offset: 4; size: 4; number of following strings ($nm) + $nm = self::getInt4d($recordData, 4); + $pos += 4; + + // loop through the Unicode strings (16-bit length) + for ($i = 0; $i < $nm; ++$i) { + // number of characters in the Unicode string + $numChars = self::getInt2d($recordData, $pos); + $pos += 2; + + // option flags + $optionFlags = ord($recordData{$pos}); + ++$pos; + + // bit: 0; mask: 0x01; 0 = compressed; 1 = uncompressed + $isCompressed = (($optionFlags & 0x01) == 0) ; + + // bit: 2; mask: 0x02; 0 = ordinary; 1 = Asian phonetic + $hasAsian = (($optionFlags & 0x04) != 0); + + // bit: 3; mask: 0x03; 0 = ordinary; 1 = Rich-Text + $hasRichText = (($optionFlags & 0x08) != 0); + + if ($hasRichText) { + // number of Rich-Text formatting runs + $formattingRuns = self::getInt2d($recordData, $pos); + $pos += 2; + } + + if ($hasAsian) { + // size of Asian phonetic setting + $extendedRunLength = self::getInt4d($recordData, $pos); + $pos += 4; + } + + // expected byte length of character array if not split + $len = ($isCompressed) ? $numChars : $numChars * 2; + + // look up limit position + foreach ($spliceOffsets as $spliceOffset) { + // it can happen that the string is empty, therefore we need + // <= and not just < + if ($pos <= $spliceOffset) { + $limitpos = $spliceOffset; + break; + } + } + + if ($pos + $len <= $limitpos) { + // character array is not split between records + + $retstr = substr($recordData, $pos, $len); + $pos += $len; + } else { + // character array is split between records + + // first part of character array + $retstr = substr($recordData, $pos, $limitpos - $pos); + + $bytesRead = $limitpos - $pos; + + // remaining characters in Unicode string + $charsLeft = $numChars - (($isCompressed) ? $bytesRead : ($bytesRead / 2)); + + $pos = $limitpos; + + // keep reading the characters + while ($charsLeft > 0) { + // look up next limit position, in case the string span more than one continue record + foreach ($spliceOffsets as $spliceOffset) { + if ($pos < $spliceOffset) { + $limitpos = $spliceOffset; + break; + } + } + + // repeated option flags + // OpenOffice.org documentation 5.21 + $option = ord($recordData{$pos}); + ++$pos; + + if ($isCompressed && ($option == 0)) { + // 1st fragment compressed + // this fragment compressed + $len = min($charsLeft, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len; + $isCompressed = true; + } elseif (!$isCompressed && ($option != 0)) { + // 1st fragment uncompressed + // this fragment uncompressed + $len = min($charsLeft * 2, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len / 2; + $isCompressed = false; + } elseif (!$isCompressed && ($option == 0)) { + // 1st fragment uncompressed + // this fragment compressed + $len = min($charsLeft, $limitpos - $pos); + for ($j = 0; $j < $len; ++$j) { + $retstr .= $recordData{$pos + $j} . chr(0); + } + $charsLeft -= $len; + $isCompressed = false; + } else { + // 1st fragment compressed + // this fragment uncompressed + $newstr = ''; + for ($j = 0; $j < strlen($retstr); ++$j) { + $newstr .= $retstr[$j] . chr(0); + } + $retstr = $newstr; + $len = min($charsLeft * 2, $limitpos - $pos); + $retstr .= substr($recordData, $pos, $len); + $charsLeft -= $len / 2; + $isCompressed = false; + } + + $pos += $len; + } + } + + // convert to UTF-8 + $retstr = self::encodeUTF16($retstr, $isCompressed); + + // read additional Rich-Text information, if any + $fmtRuns = array(); + if ($hasRichText) { + // list of formatting runs + for ($j = 0; $j < $formattingRuns; ++$j) { + // first formatted character; zero-based + $charPos = self::getInt2d($recordData, $pos + $j * 4); + + // index to font record + $fontIndex = self::getInt2d($recordData, $pos + 2 + $j * 4); + + $fmtRuns[] = array( + 'charPos' => $charPos, + 'fontIndex' => $fontIndex, + ); + } + $pos += 4 * $formattingRuns; + } + + // read additional Asian phonetics information, if any + if ($hasAsian) { + // For Asian phonetic settings, we skip the extended string data + $pos += $extendedRunLength; + } + + // store the shared sting + $this->sst[] = array( + 'value' => $retstr, + 'fmtRuns' => $fmtRuns, + ); + } + + // getSplicedRecordData() takes care of moving current position in data stream + } + + + /** + * Read PRINTGRIDLINES record + */ + private function readPrintGridlines() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8 && !$this->readDataOnly) { + // offset: 0; size: 2; 0 = do not print sheet grid lines; 1 = print sheet gridlines + $printGridlines = (bool) self::getInt2d($recordData, 0); + $this->phpSheet->setPrintGridlines($printGridlines); + } + } + + + /** + * Read DEFAULTROWHEIGHT record + */ + private function readDefaultRowHeight() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; option flags + // offset: 2; size: 2; default height for unused rows, (twips 1/20 point) + $height = self::getInt2d($recordData, 2); + $this->phpSheet->getDefaultRowDimension()->setRowHeight($height / 20); + } + + + /** + * Read SHEETPR record + */ + private function readSheetPr() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2 + + // bit: 6; mask: 0x0040; 0 = outline buttons above outline group + $isSummaryBelow = (0x0040 & self::getInt2d($recordData, 0)) >> 6; + $this->phpSheet->setShowSummaryBelow($isSummaryBelow); + + // bit: 7; mask: 0x0080; 0 = outline buttons left of outline group + $isSummaryRight = (0x0080 & self::getInt2d($recordData, 0)) >> 7; + $this->phpSheet->setShowSummaryRight($isSummaryRight); + + // bit: 8; mask: 0x100; 0 = scale printout in percent, 1 = fit printout to number of pages + // this corresponds to radio button setting in page setup dialog in Excel + $this->isFitToPages = (bool) ((0x0100 & self::getInt2d($recordData, 0)) >> 8); + } + + + /** + * Read HORIZONTALPAGEBREAKS record + */ + private function readHorizontalPageBreaks() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8 && !$this->readDataOnly) { + // offset: 0; size: 2; number of the following row index structures + $nm = self::getInt2d($recordData, 0); + + // offset: 2; size: 6 * $nm; list of $nm row index structures + for ($i = 0; $i < $nm; ++$i) { + $r = self::getInt2d($recordData, 2 + 6 * $i); + $cf = self::getInt2d($recordData, 2 + 6 * $i + 2); + $cl = self::getInt2d($recordData, 2 + 6 * $i + 4); + + // not sure why two column indexes are necessary? + $this->phpSheet->setBreakByColumnAndRow($cf, $r, PHPExcel_Worksheet::BREAK_ROW); + } + } + } + + + /** + * Read VERTICALPAGEBREAKS record + */ + private function readVerticalPageBreaks() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8 && !$this->readDataOnly) { + // offset: 0; size: 2; number of the following column index structures + $nm = self::getInt2d($recordData, 0); + + // offset: 2; size: 6 * $nm; list of $nm row index structures + for ($i = 0; $i < $nm; ++$i) { + $c = self::getInt2d($recordData, 2 + 6 * $i); + $rf = self::getInt2d($recordData, 2 + 6 * $i + 2); + $rl = self::getInt2d($recordData, 2 + 6 * $i + 4); + + // not sure why two row indexes are necessary? + $this->phpSheet->setBreakByColumnAndRow($c, $rf, PHPExcel_Worksheet::BREAK_COLUMN); + } + } + } + + + /** + * Read HEADER record + */ + private function readHeader() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: var + // realized that $recordData can be empty even when record exists + if ($recordData) { + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringLong($recordData); + } else { + $string = $this->readByteStringShort($recordData); + } + + $this->phpSheet->getHeaderFooter()->setOddHeader($string['value']); + $this->phpSheet->getHeaderFooter()->setEvenHeader($string['value']); + } + } + } + + + /** + * Read FOOTER record + */ + private function readFooter() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: var + // realized that $recordData can be empty even when record exists + if ($recordData) { + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringLong($recordData); + } else { + $string = $this->readByteStringShort($recordData); + } + $this->phpSheet->getHeaderFooter()->setOddFooter($string['value']); + $this->phpSheet->getHeaderFooter()->setEvenFooter($string['value']); + } + } + } + + + /** + * Read HCENTER record + */ + private function readHcenter() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; 0 = print sheet left aligned, 1 = print sheet centered horizontally + $isHorizontalCentered = (bool) self::getInt2d($recordData, 0); + + $this->phpSheet->getPageSetup()->setHorizontalCentered($isHorizontalCentered); + } + } + + + /** + * Read VCENTER record + */ + private function readVcenter() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; 0 = print sheet aligned at top page border, 1 = print sheet vertically centered + $isVerticalCentered = (bool) self::getInt2d($recordData, 0); + + $this->phpSheet->getPageSetup()->setVerticalCentered($isVerticalCentered); + } + } + + + /** + * Read LEFTMARGIN record + */ + private function readLeftMargin() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 8 + $this->phpSheet->getPageMargins()->setLeft(self::extractNumber($recordData)); + } + } + + + /** + * Read RIGHTMARGIN record + */ + private function readRightMargin() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 8 + $this->phpSheet->getPageMargins()->setRight(self::extractNumber($recordData)); + } + } + + + /** + * Read TOPMARGIN record + */ + private function readTopMargin() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 8 + $this->phpSheet->getPageMargins()->setTop(self::extractNumber($recordData)); + } + } + + + /** + * Read BOTTOMMARGIN record + */ + private function readBottomMargin() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 8 + $this->phpSheet->getPageMargins()->setBottom(self::extractNumber($recordData)); + } + } + + + /** + * Read PAGESETUP record + */ + private function readPageSetup() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; paper size + $paperSize = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; scaling factor + $scale = self::getInt2d($recordData, 2); + + // offset: 6; size: 2; fit worksheet width to this number of pages, 0 = use as many as needed + $fitToWidth = self::getInt2d($recordData, 6); + + // offset: 8; size: 2; fit worksheet height to this number of pages, 0 = use as many as needed + $fitToHeight = self::getInt2d($recordData, 8); + + // offset: 10; size: 2; option flags + + // bit: 1; mask: 0x0002; 0=landscape, 1=portrait + $isPortrait = (0x0002 & self::getInt2d($recordData, 10)) >> 1; + + // bit: 2; mask: 0x0004; 1= paper size, scaling factor, paper orient. not init + // when this bit is set, do not use flags for those properties + $isNotInit = (0x0004 & self::getInt2d($recordData, 10)) >> 2; - // bit: 1; mask: 0x0002; 0=landscape, 1=portrait - $isPortrait = (0x0002 & self::_GetInt2d($recordData, 10)) >> 1; + if (!$isNotInit) { + $this->phpSheet->getPageSetup()->setPaperSize($paperSize); + switch ($isPortrait) { + case 0: + $this->phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); + break; + case 1: + $this->phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); + break; + } - // bit: 2; mask: 0x0004; 1= paper size, scaling factor, paper orient. not init - // when this bit is set, do not use flags for those properties - $isNotInit = (0x0004 & self::_GetInt2d($recordData, 10)) >> 2; + $this->phpSheet->getPageSetup()->setScale($scale, false); + $this->phpSheet->getPageSetup()->setFitToPage((bool) $this->isFitToPages); + $this->phpSheet->getPageSetup()->setFitToWidth($fitToWidth, false); + $this->phpSheet->getPageSetup()->setFitToHeight($fitToHeight, false); + } + + // offset: 16; size: 8; header margin (IEEE 754 floating-point value) + $marginHeader = self::extractNumber(substr($recordData, 16, 8)); + $this->phpSheet->getPageMargins()->setHeader($marginHeader); - if (!$isNotInit) { - $this->_phpSheet->getPageSetup()->setPaperSize($paperSize); - switch ($isPortrait) { - case 0: $this->_phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); break; - case 1: $this->_phpSheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT); break; - } + // offset: 24; size: 8; footer margin (IEEE 754 floating-point value) + $marginFooter = self::extractNumber(substr($recordData, 24, 8)); + $this->phpSheet->getPageMargins()->setFooter($marginFooter); + } + } + + + /** + * PROTECT - Sheet protection (BIFF2 through BIFF8) + * if this record is omitted, then it also means no sheet protection + */ + private function readProtect() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + // offset: 0; size: 2; + + // bit 0, mask 0x01; 1 = sheet is protected + $bool = (0x01 & self::getInt2d($recordData, 0)) >> 0; + $this->phpSheet->getProtection()->setSheet((bool)$bool); + } + + + /** + * SCENPROTECT + */ + private function readScenProtect() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); - $this->_phpSheet->getPageSetup()->setScale($scale, false); - $this->_phpSheet->getPageSetup()->setFitToPage((bool) $this->_isFitToPages); - $this->_phpSheet->getPageSetup()->setFitToWidth($fitToWidth, false); - $this->_phpSheet->getPageSetup()->setFitToHeight($fitToHeight, false); - } - - // offset: 16; size: 8; header margin (IEEE 754 floating-point value) - $marginHeader = self::_extractNumber(substr($recordData, 16, 8)); - $this->_phpSheet->getPageMargins()->setHeader($marginHeader); + // move stream pointer to next record + $this->pos += 4 + $length; - // offset: 24; size: 8; footer margin (IEEE 754 floating-point value) - $marginFooter = self::_extractNumber(substr($recordData, 24, 8)); - $this->_phpSheet->getPageMargins()->setFooter($marginFooter); - } - } + if ($this->readDataOnly) { + return; + } + // offset: 0; size: 2; - /** - * PROTECT - Sheet protection (BIFF2 through BIFF8) - * if this record is omitted, then it also means no sheet protection - */ - private function _readProtect() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; + // bit: 0, mask 0x01; 1 = scenarios are protected + $bool = (0x01 & self::getInt2d($recordData, 0)) >> 0; - if ($this->_readDataOnly) { - return; - } - - // offset: 0; size: 2; + $this->phpSheet->getProtection()->setScenarios((bool)$bool); + } - // bit 0, mask 0x01; 1 = sheet is protected - $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; - $this->_phpSheet->getProtection()->setSheet((bool)$bool); - } + /** + * OBJECTPROTECT + */ + private function readObjectProtect() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + // offset: 0; size: 2; + + // bit: 0, mask 0x01; 1 = objects are protected + $bool = (0x01 & self::getInt2d($recordData, 0)) >> 0; + + $this->phpSheet->getProtection()->setObjects((bool)$bool); + } + + + /** + * PASSWORD - Sheet protection (hashed) password (BIFF2 through BIFF8) + */ + private function readPassword() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; 16-bit hash value of password + $password = strtoupper(dechex(self::getInt2d($recordData, 0))); // the hashed password + $this->phpSheet->getProtection()->setPassword($password, true); + } + } + + + /** + * Read DEFCOLWIDTH record + */ + private function readDefColWidth() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); - /** - * SCENPROTECT - */ - private function _readScenProtect() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + // move stream pointer to next record + $this->pos += 4 + $length; - // move stream pointer to next record - $this->_pos += 4 + $length; + // offset: 0; size: 2; default column width + $width = self::getInt2d($recordData, 0); + if ($width != 8) { + $this->phpSheet->getDefaultColumnDimension()->setWidth($width); + } + } - if ($this->_readDataOnly) { - return; - } - // offset: 0; size: 2; + /** + * Read COLINFO record + */ + private function readColInfo() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); - // bit: 0, mask 0x01; 1 = scenarios are protected - $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; + // move stream pointer to next record + $this->pos += 4 + $length; - $this->_phpSheet->getProtection()->setScenarios((bool)$bool); - } + if (!$this->readDataOnly) { + // offset: 0; size: 2; index to first column in range + $fc = self::getInt2d($recordData, 0); // first column index + // offset: 2; size: 2; index to last column in range + $lc = self::getInt2d($recordData, 2); // first column index - /** - * OBJECTPROTECT - */ - private function _readObjectProtect() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); + // offset: 4; size: 2; width of the column in 1/256 of the width of the zero character + $width = self::getInt2d($recordData, 4); - // move stream pointer to next record - $this->_pos += 4 + $length; + // offset: 6; size: 2; index to XF record for default column formatting + $xfIndex = self::getInt2d($recordData, 6); - if ($this->_readDataOnly) { - return; - } + // offset: 8; size: 2; option flags + // bit: 0; mask: 0x0001; 1= columns are hidden + $isHidden = (0x0001 & self::getInt2d($recordData, 8)) >> 0; - // offset: 0; size: 2; + // bit: 10-8; mask: 0x0700; outline level of the columns (0 = no outline) + $level = (0x0700 & self::getInt2d($recordData, 8)) >> 8; - // bit: 0, mask 0x01; 1 = objects are protected - $bool = (0x01 & self::_GetInt2d($recordData, 0)) >> 0; - - $this->_phpSheet->getProtection()->setObjects((bool)$bool); - } - - - /** - * PASSWORD - Sheet protection (hashed) password (BIFF2 through BIFF8) - */ - private function _readPassword() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; 16-bit hash value of password - $password = strtoupper(dechex(self::_GetInt2d($recordData, 0))); // the hashed password - $this->_phpSheet->getProtection()->setPassword($password, true); - } - } + // bit: 12; mask: 0x1000; 1 = collapsed + $isCollapsed = (0x1000 & self::getInt2d($recordData, 8)) >> 12; + + // offset: 10; size: 2; not used + + for ($i = $fc; $i <= $lc; ++$i) { + if ($lc == 255 || $lc == 256) { + $this->phpSheet->getDefaultColumnDimension()->setWidth($width / 256); + break; + } + $this->phpSheet->getColumnDimensionByColumn($i)->setWidth($width / 256); + $this->phpSheet->getColumnDimensionByColumn($i)->setVisible(!$isHidden); + $this->phpSheet->getColumnDimensionByColumn($i)->setOutlineLevel($level); + $this->phpSheet->getColumnDimensionByColumn($i)->setCollapsed($isCollapsed); + $this->phpSheet->getColumnDimensionByColumn($i)->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * ROW + * + * This record contains the properties of a single row in a + * sheet. Rows and cells in a sheet are divided into blocks + * of 32 rows. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readRow() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; index of this row + $r = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to column of the first cell which is described by a cell record + + // offset: 4; size: 2; index to column of the last cell which is described by a cell record, increased by 1 + + // offset: 6; size: 2; + + // bit: 14-0; mask: 0x7FFF; height of the row, in twips = 1/20 of a point + $height = (0x7FFF & self::getInt2d($recordData, 6)) >> 0; + + // bit: 15: mask: 0x8000; 0 = row has custom height; 1= row has default height + $useDefaultHeight = (0x8000 & self::getInt2d($recordData, 6)) >> 15; + + if (!$useDefaultHeight) { + $this->phpSheet->getRowDimension($r + 1)->setRowHeight($height / 20); + } + + // offset: 8; size: 2; not used + + // offset: 10; size: 2; not used in BIFF5-BIFF8 + + // offset: 12; size: 4; option flags and default row formatting + + // bit: 2-0: mask: 0x00000007; outline level of the row + $level = (0x00000007 & self::getInt4d($recordData, 12)) >> 0; + $this->phpSheet->getRowDimension($r + 1)->setOutlineLevel($level); + + // bit: 4; mask: 0x00000010; 1 = outline group start or ends here... and is collapsed + $isCollapsed = (0x00000010 & self::getInt4d($recordData, 12)) >> 4; + $this->phpSheet->getRowDimension($r + 1)->setCollapsed($isCollapsed); + + // bit: 5; mask: 0x00000020; 1 = row is hidden + $isHidden = (0x00000020 & self::getInt4d($recordData, 12)) >> 5; + $this->phpSheet->getRowDimension($r + 1)->setVisible(!$isHidden); + + // bit: 7; mask: 0x00000080; 1 = row has explicit format + $hasExplicitFormat = (0x00000080 & self::getInt4d($recordData, 12)) >> 7; + + // bit: 27-16; mask: 0x0FFF0000; only applies when hasExplicitFormat = 1; index to XF record + $xfIndex = (0x0FFF0000 & self::getInt4d($recordData, 12)) >> 16; + + if ($hasExplicitFormat) { + $this->phpSheet->getRowDimension($r + 1)->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read RK record + * This record represents a cell that contains an RK value + * (encoded integer or floating-point value). If a + * floating-point value cannot be encoded to an RK value, + * a NUMBER record will be written. This record replaces the + * record INTEGER written in BIFF2. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readRk() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::getInt2d($recordData, 4); + + // offset: 6; size: 4; RK value + $rknum = self::getInt4d($recordData, 6); + $numValue = self::getIEEE754($rknum); + + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + if (!$this->readDataOnly) { + // add style information + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + + // add cell + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + } + + + /** + * Read LABELSST record + * This record represents a cell that contains a string. It + * replaces the LABEL record and RSTRING record used in + * BIFF2-BIFF5. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readLabelSst() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + $emptyCell = true; + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::getInt2d($recordData, 4); + + // offset: 6; size: 4; index to SST record + $index = self::getInt4d($recordData, 6); + + // add cell + if (($fmtRuns = $this->sst[$index]['fmtRuns']) && !$this->readDataOnly) { + // then we should treat as rich text + $richText = new PHPExcel_RichText(); + $charPos = 0; + $sstCount = count($this->sst[$index]['fmtRuns']); + for ($i = 0; $i <= $sstCount; ++$i) { + if (isset($fmtRuns[$i])) { + $text = PHPExcel_Shared_String::Substring($this->sst[$index]['value'], $charPos, $fmtRuns[$i]['charPos'] - $charPos); + $charPos = $fmtRuns[$i]['charPos']; + } else { + $text = PHPExcel_Shared_String::Substring($this->sst[$index]['value'], $charPos, PHPExcel_Shared_String::CountCharacters($this->sst[$index]['value'])); + } + + if (PHPExcel_Shared_String::CountCharacters($text) > 0) { + if ($i == 0) { // first text run, no style + $richText->createText($text); + } else { + $textRun = $richText->createTextRun($text); + if (isset($fmtRuns[$i - 1])) { + if ($fmtRuns[$i - 1]['fontIndex'] < 4) { + $fontIndex = $fmtRuns[$i - 1]['fontIndex']; + } else { + // this has to do with that index 4 is omitted in all BIFF versions for some strange reason + // check the OpenOffice documentation of the FONT record + $fontIndex = $fmtRuns[$i - 1]['fontIndex'] - 1; + } + $textRun->setFont(clone $this->objFonts[$fontIndex]); + } + } + } + } + if ($this->readEmptyCells || trim($richText->getPlainText()) !== '') { + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($richText, PHPExcel_Cell_DataType::TYPE_STRING); + $emptyCell = false; + } + } else { + if ($this->readEmptyCells || trim($this->sst[$index]['value']) !== '') { + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($this->sst[$index]['value'], PHPExcel_Cell_DataType::TYPE_STRING); + $emptyCell = false; + } + } + + if (!$this->readDataOnly && !$emptyCell) { + // add style information + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read MULRK record + * This record represents a cell range containing RK value + * cells. All cells are located in the same row. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readMulRk() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to first column + $colFirst = self::getInt2d($recordData, 2); + + // offset: var; size: 2; index to last column + $colLast = self::getInt2d($recordData, $length - 2); + $columns = $colLast - $colFirst + 1; + + // offset within record data + $offset = 4; + + for ($i = 0; $i < $columns; ++$i) { + $columnString = PHPExcel_Cell::stringFromColumnIndex($colFirst + $i); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: var; size: 2; index to XF record + $xfIndex = self::getInt2d($recordData, $offset); + + // offset: var; size: 4; RK value + $numValue = self::getIEEE754(self::getInt4d($recordData, $offset + 2)); + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + if (!$this->readDataOnly) { + // add style + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + + // add cell value + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + + $offset += 6; + } + } + + + /** + * Read NUMBER record + * This record represents a cell that contains a + * floating-point value. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readNumber() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size 2; index to column + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset 4; size: 2; index to XF record + $xfIndex = self::getInt2d($recordData, 4); + + $numValue = self::extractNumber(substr($recordData, 6, 8)); + + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + if (!$this->readDataOnly) { + // add cell style + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + + // add cell value + $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); + } + } + + + /** + * Read FORMULA record + perhaps a following STRING record if formula result is a string + * This record contains the token array and the result of a + * formula cell. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readFormula() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; col index + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // offset: 20: size: variable; formula structure + $formulaStructure = substr($recordData, 20); + + // offset: 14: size: 2; option flags, recalculate always, recalculate on open etc. + $options = self::getInt2d($recordData, 14); + + // bit: 0; mask: 0x0001; 1 = recalculate always + // bit: 1; mask: 0x0002; 1 = calculate on open + // bit: 2; mask: 0x0008; 1 = part of a shared formula + $isPartOfSharedFormula = (bool) (0x0008 & $options); + + // WARNING: + // We can apparently not rely on $isPartOfSharedFormula. Even when $isPartOfSharedFormula = true + // the formula data may be ordinary formula data, therefore we need to check + // explicitly for the tExp token (0x01) + $isPartOfSharedFormula = $isPartOfSharedFormula && ord($formulaStructure{2}) == 0x01; + + if ($isPartOfSharedFormula) { + // part of shared formula which means there will be a formula with a tExp token and nothing else + // get the base cell, grab tExp token + $baseRow = self::getInt2d($formulaStructure, 3); + $baseCol = self::getInt2d($formulaStructure, 5); + $this->_baseCell = PHPExcel_Cell::stringFromColumnIndex($baseCol). ($baseRow + 1); + } + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + if ($isPartOfSharedFormula) { + // formula is added to this cell after the sheet has been read + $this->sharedFormulaParts[$columnString . ($row + 1)] = $this->_baseCell; + } + + // offset: 16: size: 4; not used + + // offset: 4; size: 2; XF index + $xfIndex = self::getInt2d($recordData, 4); + + // offset: 6; size: 8; result of the formula + if ((ord($recordData{6}) == 0) && (ord($recordData{12}) == 255) && (ord($recordData{13}) == 255)) { + // String formula. Result follows in appended STRING record + $dataType = PHPExcel_Cell_DataType::TYPE_STRING; + + // read possible SHAREDFMLA record + $code = self::getInt2d($this->data, $this->pos); + if ($code == self::XLS_TYPE_SHAREDFMLA) { + $this->readSharedFmla(); + } + + // read STRING record + $value = $this->readString(); + } elseif ((ord($recordData{6}) == 1) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + // Boolean formula. Result is in +2; 0=false, 1=true + $dataType = PHPExcel_Cell_DataType::TYPE_BOOL; + $value = (bool) ord($recordData{8}); + } elseif ((ord($recordData{6}) == 2) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + // Error formula. Error code is in +2 + $dataType = PHPExcel_Cell_DataType::TYPE_ERROR; + $value = PHPExcel_Reader_Excel5_ErrorCode::lookup(ord($recordData{8})); + } elseif ((ord($recordData{6}) == 3) + && (ord($recordData{12}) == 255) + && (ord($recordData{13}) == 255)) { + // Formula result is a null string + $dataType = PHPExcel_Cell_DataType::TYPE_NULL; + $value = ''; + } else { + // forumla result is a number, first 14 bytes like _NUMBER record + $dataType = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $value = self::extractNumber(substr($recordData, 6, 8)); + } + + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + if (!$this->readDataOnly) { + // add cell style + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + + // store the formula + if (!$isPartOfSharedFormula) { + // not part of shared formula + // add cell value. If we can read formula, populate with formula, otherwise just used cached value + try { + if ($this->version != self::XLS_BIFF8) { + throw new PHPExcel_Reader_Exception('Not BIFF8. Can only read BIFF8 formulas'); + } + $formula = $this->getFormulaFromStructure($formulaStructure); // get formula in human language + $cell->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + + } catch (PHPExcel_Exception $e) { + $cell->setValueExplicit($value, $dataType); + } + } else { + if ($this->version == self::XLS_BIFF8) { + // do nothing at this point, formula id added later in the code + } else { + $cell->setValueExplicit($value, $dataType); + } + } + + // store the cached calculated value + $cell->setCalculatedValue($value); + } + } + + + /** + * Read a SHAREDFMLA record. This function just stores the binary shared formula in the reader, + * which usually contains relative references. + * These will be used to construct the formula in each shared formula part after the sheet is read. + */ + private function readSharedFmla() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0, size: 6; cell range address of the area used by the shared formula, not used for anything + $cellRange = substr($recordData, 0, 6); + $cellRange = $this->readBIFF5CellRangeAddressFixed($cellRange); // note: even BIFF8 uses BIFF5 syntax + + // offset: 6, size: 1; not used + + // offset: 7, size: 1; number of existing FORMULA records for this shared formula + $no = ord($recordData{7}); + + // offset: 8, size: var; Binary token array of the shared formula + $formula = substr($recordData, 8); + + // at this point we only store the shared formula for later use + $this->sharedFormulas[$this->_baseCell] = $formula; + } + + + /** + * Read a STRING record from current stream position and advance the stream pointer to next record + * This record is used for storing result from FORMULA record when it is a string, and + * it occurs directly after the FORMULA record + * + * @return string The string contents as UTF-8 + */ + private function readString() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringLong($recordData); + $value = $string['value']; + } else { + $string = $this->readByteStringLong($recordData); + $value = $string['value']; + } + + return $value; + } + + + /** + * Read BOOLERR record + * This record represents a Boolean value or error value + * cell. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readBoolErr() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; column index + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: 4; size: 2; index to XF record + $xfIndex = self::getInt2d($recordData, 4); + + // offset: 6; size: 1; the boolean value or error value + $boolErr = ord($recordData{6}); + + // offset: 7; size: 1; 0=boolean; 1=error + $isError = ord($recordData{7}); + + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + switch ($isError) { + case 0: // boolean + $value = (bool) $boolErr; + + // add cell value + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_BOOL); + break; + case 1: // error type + $value = PHPExcel_Reader_Excel5_ErrorCode::lookup($boolErr); + + // add cell value + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_ERROR); + break; + } + + if (!$this->readDataOnly) { + // add cell style + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read MULBLANK record + * This record represents a cell range of empty cells. All + * cells are located in the same row + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readMulBlank() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to first column + $fc = self::getInt2d($recordData, 2); + + // offset: 4; size: 2 x nc; list of indexes to XF records + // add style information + if (!$this->readDataOnly && $this->readEmptyCells) { + for ($i = 0; $i < $length / 2 - 3; ++$i) { + $columnString = PHPExcel_Cell::stringFromColumnIndex($fc + $i); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + $xfIndex = self::getInt2d($recordData, 4 + 2 * $i); + $this->phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + // offset: 6; size 2; index to last column (not needed) + } + + + /** + * Read LABEL record + * This record represents a cell that contains a string. In + * BIFF8 it is usually replaced by the LABELSST record. + * Excel still uses this record, if it copies unformatted + * text cells to the clipboard. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readLabel() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; index to row + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to column + $column = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($column); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: 4; size: 2; XF index + $xfIndex = self::getInt2d($recordData, 4); + + // add cell value + // todo: what if string is very long? continue record + if ($this->version == self::XLS_BIFF8) { + $string = self::readUnicodeStringLong(substr($recordData, 6)); + $value = $string['value']; + } else { + $string = $this->readByteStringLong(substr($recordData, 6)); + $value = $string['value']; + } + if ($this->readEmptyCells || trim($value) !== '') { + $cell = $this->phpSheet->getCell($columnString . ($row + 1)); + $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING); + + if (!$this->readDataOnly) { + // add cell style + $cell->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + } + + + /** + * Read BLANK record + */ + private function readBlank() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; row index + $row = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; col index + $col = self::getInt2d($recordData, 2); + $columnString = PHPExcel_Cell::stringFromColumnIndex($col); + + // Read cell? + if (($this->getReadFilter() !== null) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->phpSheet->getTitle())) { + // offset: 4; size: 2; XF index + $xfIndex = self::getInt2d($recordData, 4); + + // add style information + if (!$this->readDataOnly && $this->readEmptyCells) { + $this->phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->mapCellXfIndex[$xfIndex]); + } + } + } + + + /** + * Read MSODRAWING record + */ + private function readMsoDrawing() + { + $length = self::getInt2d($this->data, $this->pos + 2); + + // get spliced record data + $splicedRecordData = $this->getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + $this->drawingData .= $recordData; + } + + + /** + * Read OBJ record + */ + private function readObj() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly || $this->version != self::XLS_BIFF8) { + return; + } + + // recordData consists of an array of subrecords looking like this: + // ft: 2 bytes; ftCmo type (0x15) + // cb: 2 bytes; size in bytes of ftCmo data + // ot: 2 bytes; Object Type + // id: 2 bytes; Object id number + // grbit: 2 bytes; Option Flags + // data: var; subrecord data + + // for now, we are just interested in the second subrecord containing the object type + $ftCmoType = self::getInt2d($recordData, 0); + $cbCmoSize = self::getInt2d($recordData, 2); + $otObjType = self::getInt2d($recordData, 4); + $idObjID = self::getInt2d($recordData, 6); + $grbitOpts = self::getInt2d($recordData, 6); + + $this->objs[] = array( + 'ftCmoType' => $ftCmoType, + 'cbCmoSize' => $cbCmoSize, + 'otObjType' => $otObjType, + 'idObjID' => $idObjID, + 'grbitOpts' => $grbitOpts + ); + $this->textObjRef = $idObjID; + +// echo '_readObj()
'; +// var_dump(end($this->objs)); +// echo '
'; + } + + + /** + * Read WINDOW2 record + */ + private function readWindow2() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; option flags + $options = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; index to first visible row + $firstVisibleRow = self::getInt2d($recordData, 2); + + // offset: 4; size: 2; index to first visible colum + $firstVisibleColumn = self::getInt2d($recordData, 4); + if ($this->version === self::XLS_BIFF8) { + // offset: 8; size: 2; not used + // offset: 10; size: 2; cached magnification factor in page break preview (in percent); 0 = Default (60%) + // offset: 12; size: 2; cached magnification factor in normal view (in percent); 0 = Default (100%) + // offset: 14; size: 4; not used + $zoomscaleInPageBreakPreview = self::getInt2d($recordData, 10); + if ($zoomscaleInPageBreakPreview === 0) { + $zoomscaleInPageBreakPreview = 60; + } + $zoomscaleInNormalView = self::getInt2d($recordData, 12); + if ($zoomscaleInNormalView === 0) { + $zoomscaleInNormalView = 100; + } + } + + // bit: 1; mask: 0x0002; 0 = do not show gridlines, 1 = show gridlines + $showGridlines = (bool) ((0x0002 & $options) >> 1); + $this->phpSheet->setShowGridlines($showGridlines); + + // bit: 2; mask: 0x0004; 0 = do not show headers, 1 = show headers + $showRowColHeaders = (bool) ((0x0004 & $options) >> 2); + $this->phpSheet->setShowRowColHeaders($showRowColHeaders); + + // bit: 3; mask: 0x0008; 0 = panes are not frozen, 1 = panes are frozen + $this->frozen = (bool) ((0x0008 & $options) >> 3); + + // bit: 6; mask: 0x0040; 0 = columns from left to right, 1 = columns from right to left + $this->phpSheet->setRightToLeft((bool)((0x0040 & $options) >> 6)); + + // bit: 10; mask: 0x0400; 0 = sheet not active, 1 = sheet active + $isActive = (bool) ((0x0400 & $options) >> 10); + if ($isActive) { + $this->phpExcel->setActiveSheetIndex($this->phpExcel->getIndex($this->phpSheet)); + } + + // bit: 11; mask: 0x0800; 0 = normal view, 1 = page break view + $isPageBreakPreview = (bool) ((0x0800 & $options) >> 11); + + //FIXME: set $firstVisibleRow and $firstVisibleColumn + + if ($this->phpSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT) { + //NOTE: this setting is inferior to page layout view(Excel2007-) + $view = $isPageBreakPreview ? PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW : PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL; + $this->phpSheet->getSheetView()->setView($view); + if ($this->version === self::XLS_BIFF8) { + $zoomScale = $isPageBreakPreview ? $zoomscaleInPageBreakPreview : $zoomscaleInNormalView; + $this->phpSheet->getSheetView()->setZoomScale($zoomScale); + $this->phpSheet->getSheetView()->setZoomScaleNormal($zoomscaleInNormalView); + } + } + } + + /** + * Read PLV Record(Created by Excel2007 or upper) + */ + private function readPageLayoutView() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + //var_dump(unpack("vrt/vgrbitFrt/V2reserved/vwScalePLV/vgrbit", $recordData)); + + // offset: 0; size: 2; rt + //->ignore + $rt = self::getInt2d($recordData, 0); + // offset: 2; size: 2; grbitfr + //->ignore + $grbitFrt = self::getInt2d($recordData, 2); + // offset: 4; size: 8; reserved + //->ignore + + // offset: 12; size 2; zoom scale + $wScalePLV = self::getInt2d($recordData, 12); + // offset: 14; size 2; grbit + $grbit = self::getInt2d($recordData, 14); + + // decomprise grbit + $fPageLayoutView = $grbit & 0x01; + $fRulerVisible = ($grbit >> 1) & 0x01; //no support + $fWhitespaceHidden = ($grbit >> 3) & 0x01; //no support + + if ($fPageLayoutView === 1) { + $this->phpSheet->getSheetView()->setView(PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT); + $this->phpSheet->getSheetView()->setZoomScale($wScalePLV); //set by Excel2007 only if SHEETVIEW_PAGE_LAYOUT + } + //otherwise, we cannot know whether SHEETVIEW_PAGE_LAYOUT or SHEETVIEW_PAGE_BREAK_PREVIEW. + } + + /** + * Read SCL record + */ + private function readScl() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // offset: 0; size: 2; numerator of the view magnification + $numerator = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; numerator of the view magnification + $denumerator = self::getInt2d($recordData, 2); + + // set the zoom scale (in percent) + $this->phpSheet->getSheetView()->setZoomScale($numerator * 100 / $denumerator); + } + + + /** + * Read PANE record + */ + private function readPane() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; position of vertical split + $px = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; position of horizontal split + $py = self::getInt2d($recordData, 2); + + if ($this->frozen) { + // frozen panes + $this->phpSheet->freezePane(PHPExcel_Cell::stringFromColumnIndex($px) . ($py + 1)); + } else { + // unfrozen panes; split windows; not supported by PHPExcel core + } + } + } + + + /** + * Read SELECTION record. There is one such record for each pane in the sheet. + */ + private function readSelection() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 1; pane identifier + $paneId = ord($recordData{0}); + + // offset: 1; size: 2; index to row of the active cell + $r = self::getInt2d($recordData, 1); + + // offset: 3; size: 2; index to column of the active cell + $c = self::getInt2d($recordData, 3); + + // offset: 5; size: 2; index into the following cell range list to the + // entry that contains the active cell + $index = self::getInt2d($recordData, 5); + + // offset: 7; size: var; cell range address list containing all selected cell ranges + $data = substr($recordData, 7); + $cellRangeAddressList = $this->readBIFF5CellRangeAddressList($data); // note: also BIFF8 uses BIFF5 syntax + + $selectedCells = $cellRangeAddressList['cellRangeAddresses'][0]; + + // first row '1' + last row '16384' indicates that full column is selected (apparently also in BIFF8!) + if (preg_match('/^([A-Z]+1\:[A-Z]+)16384$/', $selectedCells)) { + $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)16384$/', '${1}1048576', $selectedCells); + } + + // first row '1' + last row '65536' indicates that full column is selected + if (preg_match('/^([A-Z]+1\:[A-Z]+)65536$/', $selectedCells)) { + $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)65536$/', '${1}1048576', $selectedCells); + } + + // first column 'A' + last column 'IV' indicates that full row is selected + if (preg_match('/^(A[0-9]+\:)IV([0-9]+)$/', $selectedCells)) { + $selectedCells = preg_replace('/^(A[0-9]+\:)IV([0-9]+)$/', '${1}XFD${2}', $selectedCells); + } + + $this->phpSheet->setSelectedCells($selectedCells); + } + } + + + private function includeCellRangeFiltered($cellRangeAddress) + { + $includeCellRange = true; + if ($this->getReadFilter() !== null) { + $includeCellRange = false; + $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($cellRangeAddress); + $rangeBoundaries[1][0]++; + for ($row = $rangeBoundaries[0][1]; $row <= $rangeBoundaries[1][1]; $row++) { + for ($column = $rangeBoundaries[0][0]; $column != $rangeBoundaries[1][0]; $column++) { + if ($this->getReadFilter()->readCell($column, $row, $this->phpSheet->getTitle())) { + $includeCellRange = true; + break 2; + } + } + } + } + return $includeCellRange; + } + + + /** + * MERGEDCELLS + * + * This record contains the addresses of merged cell ranges + * in the current sheet. + * + * -- "OpenOffice.org's Documentation of the Microsoft + * Excel File Format" + */ + private function readMergedCells() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->version == self::XLS_BIFF8 && !$this->readDataOnly) { + $cellRangeAddressList = $this->readBIFF8CellRangeAddressList($recordData); + foreach ($cellRangeAddressList['cellRangeAddresses'] as $cellRangeAddress) { + if ((strpos($cellRangeAddress, ':') !== false) && + ($this->includeCellRangeFiltered($cellRangeAddress))) { + $this->phpSheet->mergeCells($cellRangeAddress); + } + } + } + } + + + /** + * Read HYPERLINK record + */ + private function readHyperLink() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer forward to next record + $this->pos += 4 + $length; + + if (!$this->readDataOnly) { + // offset: 0; size: 8; cell range address of all cells containing this hyperlink + try { + $cellRange = $this->readBIFF8CellRangeAddressFixed($recordData, 0, 8); + } catch (PHPExcel_Exception $e) { + return; + } + + // offset: 8, size: 16; GUID of StdLink + + // offset: 24, size: 4; unknown value + + // offset: 28, size: 4; option flags + // bit: 0; mask: 0x00000001; 0 = no link or extant, 1 = file link or URL + $isFileLinkOrUrl = (0x00000001 & self::getInt2d($recordData, 28)) >> 0; + + // bit: 1; mask: 0x00000002; 0 = relative path, 1 = absolute path or URL + $isAbsPathOrUrl = (0x00000001 & self::getInt2d($recordData, 28)) >> 1; + + // bit: 2 (and 4); mask: 0x00000014; 0 = no description + $hasDesc = (0x00000014 & self::getInt2d($recordData, 28)) >> 2; + + // bit: 3; mask: 0x00000008; 0 = no text, 1 = has text + $hasText = (0x00000008 & self::getInt2d($recordData, 28)) >> 3; + + // bit: 7; mask: 0x00000080; 0 = no target frame, 1 = has target frame + $hasFrame = (0x00000080 & self::getInt2d($recordData, 28)) >> 7; + + // bit: 8; mask: 0x00000100; 0 = file link or URL, 1 = UNC path (inc. server name) + $isUNC = (0x00000100 & self::getInt2d($recordData, 28)) >> 8; + + // offset within record data + $offset = 32; + + if ($hasDesc) { + // offset: 32; size: var; character count of description text + $dl = self::getInt4d($recordData, 32); + // offset: 36; size: var; character array of description text, no Unicode string header, always 16-bit characters, zero terminated + $desc = self::encodeUTF16(substr($recordData, 36, 2 * ($dl - 1)), false); + $offset += 4 + 2 * $dl; + } + if ($hasFrame) { + $fl = self::getInt4d($recordData, $offset); + $offset += 4 + 2 * $fl; + } + + // detect type of hyperlink (there are 4 types) + $hyperlinkType = null; + + if ($isUNC) { + $hyperlinkType = 'UNC'; + } elseif (!$isFileLinkOrUrl) { + $hyperlinkType = 'workbook'; + } elseif (ord($recordData{$offset}) == 0x03) { + $hyperlinkType = 'local'; + } elseif (ord($recordData{$offset}) == 0xE0) { + $hyperlinkType = 'URL'; + } + + switch ($hyperlinkType) { + case 'URL': + // section 5.58.2: Hyperlink containing a URL + // e.g. http://example.org/index.php + + // offset: var; size: 16; GUID of URL Moniker + $offset += 16; + // offset: var; size: 4; size (in bytes) of character array of the URL including trailing zero word + $us = self::getInt4d($recordData, $offset); + $offset += 4; + // offset: var; size: $us; character array of the URL, no Unicode string header, always 16-bit characters, zero-terminated + $url = self::encodeUTF16(substr($recordData, $offset, $us - 2), false); + $nullOffset = strpos($url, 0x00); + if ($nullOffset) { + $url = substr($url, 0, $nullOffset); + } + $url .= $hasText ? '#' : ''; + $offset += $us; + break; + case 'local': + // section 5.58.3: Hyperlink to local file + // examples: + // mydoc.txt + // ../../somedoc.xls#Sheet!A1 + + // offset: var; size: 16; GUI of File Moniker + $offset += 16; + + // offset: var; size: 2; directory up-level count. + $upLevelCount = self::getInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 4; character count of the shortened file path and name, including trailing zero word + $sl = self::getInt4d($recordData, $offset); + $offset += 4; + + // offset: var; size: sl; character array of the shortened file path and name in 8.3-DOS-format (compressed Unicode string) + $shortenedFilePath = substr($recordData, $offset, $sl); + $shortenedFilePath = self::encodeUTF16($shortenedFilePath, true); + $shortenedFilePath = substr($shortenedFilePath, 0, -1); // remove trailing zero + + $offset += $sl; + + // offset: var; size: 24; unknown sequence + $offset += 24; + + // extended file path + // offset: var; size: 4; size of the following file link field including string lenth mark + $sz = self::getInt4d($recordData, $offset); + $offset += 4; + + // only present if $sz > 0 + if ($sz > 0) { + // offset: var; size: 4; size of the character array of the extended file path and name + $xl = self::getInt4d($recordData, $offset); + $offset += 4; + + // offset: var; size 2; unknown + $offset += 2; + + // offset: var; size $xl; character array of the extended file path and name. + $extendedFilePath = substr($recordData, $offset, $xl); + $extendedFilePath = self::encodeUTF16($extendedFilePath, false); + $offset += $xl; + } + + // construct the path + $url = str_repeat('..\\', $upLevelCount); + $url .= ($sz > 0) ? $extendedFilePath : $shortenedFilePath; // use extended path if available + $url .= $hasText ? '#' : ''; + + break; + case 'UNC': + // section 5.58.4: Hyperlink to a File with UNC (Universal Naming Convention) Path + // todo: implement + return; + case 'workbook': + // section 5.58.5: Hyperlink to the Current Workbook + // e.g. Sheet2!B1:C2, stored in text mark field + $url = 'sheet://'; + break; + default: + return; + } + + if ($hasText) { + // offset: var; size: 4; character count of text mark including trailing zero word + $tl = self::getInt4d($recordData, $offset); + $offset += 4; + // offset: var; size: var; character array of the text mark without the # sign, no Unicode header, always 16-bit characters, zero-terminated + $text = self::encodeUTF16(substr($recordData, $offset, 2 * ($tl - 1)), false); + $url .= $text; + } + + // apply the hyperlink to all the relevant cells + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($cellRange) as $coordinate) { + $this->phpSheet->getCell($coordinate)->getHyperLink()->setUrl($url); + } + } + } + + + /** + * Read DATAVALIDATIONS record + */ + private function readDataValidations() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer forward to next record + $this->pos += 4 + $length; + } + + + /** + * Read DATAVALIDATION record + */ + private function readDataValidation() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer forward to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + // offset: 0; size: 4; Options + $options = self::getInt4d($recordData, 0); + + // bit: 0-3; mask: 0x0000000F; type + $type = (0x0000000F & $options) >> 0; + switch ($type) { + case 0x00: + $type = PHPExcel_Cell_DataValidation::TYPE_NONE; + break; + case 0x01: + $type = PHPExcel_Cell_DataValidation::TYPE_WHOLE; + break; + case 0x02: + $type = PHPExcel_Cell_DataValidation::TYPE_DECIMAL; + break; + case 0x03: + $type = PHPExcel_Cell_DataValidation::TYPE_LIST; + break; + case 0x04: + $type = PHPExcel_Cell_DataValidation::TYPE_DATE; + break; + case 0x05: + $type = PHPExcel_Cell_DataValidation::TYPE_TIME; + break; + case 0x06: + $type = PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH; + break; + case 0x07: + $type = PHPExcel_Cell_DataValidation::TYPE_CUSTOM; + break; + } + + // bit: 4-6; mask: 0x00000070; error type + $errorStyle = (0x00000070 & $options) >> 4; + switch ($errorStyle) { + case 0x00: + $errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; + break; + case 0x01: + $errorStyle = PHPExcel_Cell_DataValidation::STYLE_WARNING; + break; + case 0x02: + $errorStyle = PHPExcel_Cell_DataValidation::STYLE_INFORMATION; + break; + } + + // bit: 7; mask: 0x00000080; 1= formula is explicit (only applies to list) + // I have only seen cases where this is 1 + $explicitFormula = (0x00000080 & $options) >> 7; + + // bit: 8; mask: 0x00000100; 1= empty cells allowed + $allowBlank = (0x00000100 & $options) >> 8; + + // bit: 9; mask: 0x00000200; 1= suppress drop down arrow in list type validity + $suppressDropDown = (0x00000200 & $options) >> 9; + + // bit: 18; mask: 0x00040000; 1= show prompt box if cell selected + $showInputMessage = (0x00040000 & $options) >> 18; + + // bit: 19; mask: 0x00080000; 1= show error box if invalid values entered + $showErrorMessage = (0x00080000 & $options) >> 19; + + // bit: 20-23; mask: 0x00F00000; condition operator + $operator = (0x00F00000 & $options) >> 20; + switch ($operator) { + case 0x00: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN; + break; + case 0x01: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN; + break; + case 0x02: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_EQUAL; + break; + case 0x03: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL; + break; + case 0x04: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN; + break; + case 0x05: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN; + break; + case 0x06: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL; + break; + case 0x07: + $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL; + break; + } + + // offset: 4; size: var; title of the prompt box + $offset = 4; + $string = self::readUnicodeStringLong(substr($recordData, $offset)); + $promptTitle = $string['value'] !== chr(0) ? $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; title of the error box + $string = self::readUnicodeStringLong(substr($recordData, $offset)); + $errorTitle = $string['value'] !== chr(0) ? $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; text of the prompt box + $string = self::readUnicodeStringLong(substr($recordData, $offset)); + $prompt = $string['value'] !== chr(0) ? $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: var; text of the error box + $string = self::readUnicodeStringLong(substr($recordData, $offset)); + $error = $string['value'] !== chr(0) ? $string['value'] : ''; + $offset += $string['size']; + + // offset: var; size: 2; size of the formula data for the first condition + $sz1 = self::getInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 2; not used + $offset += 2; + + // offset: var; size: $sz1; formula data for first condition (without size field) + $formula1 = substr($recordData, $offset, $sz1); + $formula1 = pack('v', $sz1) . $formula1; // prepend the length + try { + $formula1 = $this->getFormulaFromStructure($formula1); + + // in list type validity, null characters are used as item separators + if ($type == PHPExcel_Cell_DataValidation::TYPE_LIST) { + $formula1 = str_replace(chr(0), ',', $formula1); + } + } catch (PHPExcel_Exception $e) { + return; + } + $offset += $sz1; + + // offset: var; size: 2; size of the formula data for the first condition + $sz2 = self::getInt2d($recordData, $offset); + $offset += 2; + + // offset: var; size: 2; not used + $offset += 2; + + // offset: var; size: $sz2; formula data for second condition (without size field) + $formula2 = substr($recordData, $offset, $sz2); + $formula2 = pack('v', $sz2) . $formula2; // prepend the length + try { + $formula2 = $this->getFormulaFromStructure($formula2); + } catch (PHPExcel_Exception $e) { + return; + } + $offset += $sz2; + + // offset: var; size: var; cell range address list with + $cellRangeAddressList = $this->readBIFF8CellRangeAddressList(substr($recordData, $offset)); + $cellRangeAddresses = $cellRangeAddressList['cellRangeAddresses']; + + foreach ($cellRangeAddresses as $cellRange) { + $stRange = $this->phpSheet->shrinkRangeToFit($cellRange); + foreach (PHPExcel_Cell::extractAllCellReferencesInRange($stRange) as $coordinate) { + $objValidation = $this->phpSheet->getCell($coordinate)->getDataValidation(); + $objValidation->setType($type); + $objValidation->setErrorStyle($errorStyle); + $objValidation->setAllowBlank((bool)$allowBlank); + $objValidation->setShowInputMessage((bool)$showInputMessage); + $objValidation->setShowErrorMessage((bool)$showErrorMessage); + $objValidation->setShowDropDown(!$suppressDropDown); + $objValidation->setOperator($operator); + $objValidation->setErrorTitle($errorTitle); + $objValidation->setError($error); + $objValidation->setPromptTitle($promptTitle); + $objValidation->setPrompt($prompt); + $objValidation->setFormula1($formula1); + $objValidation->setFormula2($formula2); + } + } + } + + /** + * Read SHEETLAYOUT record. Stores sheet tab color information. + */ + private function readSheetLayout() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + // local pointer in record data + $offset = 0; + + if (!$this->readDataOnly) { + // offset: 0; size: 2; repeated record identifier 0x0862 + + // offset: 2; size: 10; not used + + // offset: 12; size: 4; size of record data + // Excel 2003 uses size of 0x14 (documented), Excel 2007 uses size of 0x28 (not documented?) + $sz = self::getInt4d($recordData, 12); + + switch ($sz) { + case 0x14: + // offset: 16; size: 2; color index for sheet tab + $colorIndex = self::getInt2d($recordData, 16); + $color = PHPExcel_Reader_Excel5_Color::map($colorIndex, $this->palette, $this->version); + $this->phpSheet->getTabColor()->setRGB($color['rgb']); + break; + case 0x28: + // TODO: Investigate structure for .xls SHEETLAYOUT record as saved by MS Office Excel 2007 + return; + break; + } + } + } + + + /** + * Read SHEETPROTECTION record (FEATHEADR) + */ + private function readSheetProtection() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // move stream pointer to next record + $this->pos += 4 + $length; + + if ($this->readDataOnly) { + return; + } + + // offset: 0; size: 2; repeated record header + + // offset: 2; size: 2; FRT cell reference flag (=0 currently) + + // offset: 4; size: 8; Currently not used and set to 0 + + // offset: 12; size: 2; Shared feature type index (2=Enhanced Protetion, 4=SmartTag) + $isf = self::getInt2d($recordData, 12); + if ($isf != 2) { + return; + } + + // offset: 14; size: 1; =1 since this is a feat header + + // offset: 15; size: 4; size of rgbHdrSData + + // rgbHdrSData, assume "Enhanced Protection" + // offset: 19; size: 2; option flags + $options = self::getInt2d($recordData, 19); + + // bit: 0; mask 0x0001; 1 = user may edit objects, 0 = users must not edit objects + $bool = (0x0001 & $options) >> 0; + $this->phpSheet->getProtection()->setObjects(!$bool); + + // bit: 1; mask 0x0002; edit scenarios + $bool = (0x0002 & $options) >> 1; + $this->phpSheet->getProtection()->setScenarios(!$bool); + + // bit: 2; mask 0x0004; format cells + $bool = (0x0004 & $options) >> 2; + $this->phpSheet->getProtection()->setFormatCells(!$bool); + + // bit: 3; mask 0x0008; format columns + $bool = (0x0008 & $options) >> 3; + $this->phpSheet->getProtection()->setFormatColumns(!$bool); + + // bit: 4; mask 0x0010; format rows + $bool = (0x0010 & $options) >> 4; + $this->phpSheet->getProtection()->setFormatRows(!$bool); + + // bit: 5; mask 0x0020; insert columns + $bool = (0x0020 & $options) >> 5; + $this->phpSheet->getProtection()->setInsertColumns(!$bool); + + // bit: 6; mask 0x0040; insert rows + $bool = (0x0040 & $options) >> 6; + $this->phpSheet->getProtection()->setInsertRows(!$bool); + + // bit: 7; mask 0x0080; insert hyperlinks + $bool = (0x0080 & $options) >> 7; + $this->phpSheet->getProtection()->setInsertHyperlinks(!$bool); + + // bit: 8; mask 0x0100; delete columns + $bool = (0x0100 & $options) >> 8; + $this->phpSheet->getProtection()->setDeleteColumns(!$bool); + + // bit: 9; mask 0x0200; delete rows + $bool = (0x0200 & $options) >> 9; + $this->phpSheet->getProtection()->setDeleteRows(!$bool); + + // bit: 10; mask 0x0400; select locked cells + $bool = (0x0400 & $options) >> 10; + $this->phpSheet->getProtection()->setSelectLockedCells(!$bool); + + // bit: 11; mask 0x0800; sort cell range + $bool = (0x0800 & $options) >> 11; + $this->phpSheet->getProtection()->setSort(!$bool); + + // bit: 12; mask 0x1000; auto filter + $bool = (0x1000 & $options) >> 12; + $this->phpSheet->getProtection()->setAutoFilter(!$bool); + + // bit: 13; mask 0x2000; pivot tables + $bool = (0x2000 & $options) >> 13; + $this->phpSheet->getProtection()->setPivotTables(!$bool); + + // bit: 14; mask 0x4000; select unlocked cells + $bool = (0x4000 & $options) >> 14; + $this->phpSheet->getProtection()->setSelectUnlockedCells(!$bool); + // offset: 21; size: 2; not used + } - /** - * Read DEFCOLWIDTH record - */ - private function _readDefColWidth() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - // move stream pointer to next record - $this->_pos += 4 + $length; + /** + * Read RANGEPROTECTION record + * Reading of this record is based on Microsoft Office Excel 97-2000 Binary File Format Specification, + * where it is referred to as FEAT record + */ + private function readRangeProtection() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); - // offset: 0; size: 2; default column width - $width = self::_GetInt2d($recordData, 0); - if ($width != 8) { - $this->_phpSheet->getDefaultColumnDimension()->setWidth($width); - } - } + // move stream pointer to next record + $this->pos += 4 + $length; + // local pointer in record data + $offset = 0; - /** - * Read COLINFO record - */ - private function _readColInfo() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; index to first column in range - $fc = self::_GetInt2d($recordData, 0); // first column index - - // offset: 2; size: 2; index to last column in range - $lc = self::_GetInt2d($recordData, 2); // first column index - - // offset: 4; size: 2; width of the column in 1/256 of the width of the zero character - $width = self::_GetInt2d($recordData, 4); - - // offset: 6; size: 2; index to XF record for default column formatting - $xfIndex = self::_GetInt2d($recordData, 6); - - // offset: 8; size: 2; option flags - - // bit: 0; mask: 0x0001; 1= columns are hidden - $isHidden = (0x0001 & self::_GetInt2d($recordData, 8)) >> 0; - - // bit: 10-8; mask: 0x0700; outline level of the columns (0 = no outline) - $level = (0x0700 & self::_GetInt2d($recordData, 8)) >> 8; - - // bit: 12; mask: 0x1000; 1 = collapsed - $isCollapsed = (0x1000 & self::_GetInt2d($recordData, 8)) >> 12; - - // offset: 10; size: 2; not used - - for ($i = $fc; $i <= $lc; ++$i) { - if ($lc == 255 || $lc == 256) { - $this->_phpSheet->getDefaultColumnDimension()->setWidth($width / 256); - break; - } - $this->_phpSheet->getColumnDimensionByColumn($i)->setWidth($width / 256); - $this->_phpSheet->getColumnDimensionByColumn($i)->setVisible(!$isHidden); - $this->_phpSheet->getColumnDimensionByColumn($i)->setOutlineLevel($level); - $this->_phpSheet->getColumnDimensionByColumn($i)->setCollapsed($isCollapsed); - $this->_phpSheet->getColumnDimensionByColumn($i)->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - - /** - * ROW - * - * This record contains the properties of a single row in a - * sheet. Rows and cells in a sheet are divided into blocks - * of 32 rows. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readRow() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; index of this row - $r = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to column of the first cell which is described by a cell record - - // offset: 4; size: 2; index to column of the last cell which is described by a cell record, increased by 1 - - // offset: 6; size: 2; - - // bit: 14-0; mask: 0x7FFF; height of the row, in twips = 1/20 of a point - $height = (0x7FFF & self::_GetInt2d($recordData, 6)) >> 0; - - // bit: 15: mask: 0x8000; 0 = row has custom height; 1= row has default height - $useDefaultHeight = (0x8000 & self::_GetInt2d($recordData, 6)) >> 15; - - if (!$useDefaultHeight) { - $this->_phpSheet->getRowDimension($r + 1)->setRowHeight($height / 20); - } - - // offset: 8; size: 2; not used - - // offset: 10; size: 2; not used in BIFF5-BIFF8 - - // offset: 12; size: 4; option flags and default row formatting - - // bit: 2-0: mask: 0x00000007; outline level of the row - $level = (0x00000007 & self::_GetInt4d($recordData, 12)) >> 0; - $this->_phpSheet->getRowDimension($r + 1)->setOutlineLevel($level); - - // bit: 4; mask: 0x00000010; 1 = outline group start or ends here... and is collapsed - $isCollapsed = (0x00000010 & self::_GetInt4d($recordData, 12)) >> 4; - $this->_phpSheet->getRowDimension($r + 1)->setCollapsed($isCollapsed); - - // bit: 5; mask: 0x00000020; 1 = row is hidden - $isHidden = (0x00000020 & self::_GetInt4d($recordData, 12)) >> 5; - $this->_phpSheet->getRowDimension($r + 1)->setVisible(!$isHidden); - - // bit: 7; mask: 0x00000080; 1 = row has explicit format - $hasExplicitFormat = (0x00000080 & self::_GetInt4d($recordData, 12)) >> 7; - - // bit: 27-16; mask: 0x0FFF0000; only applies when hasExplicitFormat = 1; index to XF record - $xfIndex = (0x0FFF0000 & self::_GetInt4d($recordData, 12)) >> 16; - - if ($hasExplicitFormat) { - $this->_phpSheet->getRowDimension($r + 1)->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - - /** - * Read RK record - * This record represents a cell that contains an RK value - * (encoded integer or floating-point value). If a - * floating-point value cannot be encoded to an RK value, - * a NUMBER record will be written. This record replaces the - * record INTEGER written in BIFF2. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readRk() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to column - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset: 4; size: 2; index to XF record - $xfIndex = self::_GetInt2d($recordData, 4); - - // offset: 6; size: 4; RK value - $rknum = self::_GetInt4d($recordData, 6); - $numValue = self::_GetIEEE754($rknum); - - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - if (!$this->_readDataOnly) { - // add style information - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - - // add cell - $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); - } - } - - - /** - * Read LABELSST record - * This record represents a cell that contains a string. It - * replaces the LABEL record and RSTRING record used in - * BIFF2-BIFF5. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readLabelSst() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to column - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset: 4; size: 2; index to XF record - $xfIndex = self::_GetInt2d($recordData, 4); - - // offset: 6; size: 4; index to SST record - $index = self::_GetInt4d($recordData, 6); - - // add cell - if (($fmtRuns = $this->_sst[$index]['fmtRuns']) && !$this->_readDataOnly) { - // then we should treat as rich text - $richText = new PHPExcel_RichText(); - $charPos = 0; - $sstCount = count($this->_sst[$index]['fmtRuns']); - for ($i = 0; $i <= $sstCount; ++$i) { - if (isset($fmtRuns[$i])) { - $text = PHPExcel_Shared_String::Substring($this->_sst[$index]['value'], $charPos, $fmtRuns[$i]['charPos'] - $charPos); - $charPos = $fmtRuns[$i]['charPos']; - } else { - $text = PHPExcel_Shared_String::Substring($this->_sst[$index]['value'], $charPos, PHPExcel_Shared_String::CountCharacters($this->_sst[$index]['value'])); - } - - if (PHPExcel_Shared_String::CountCharacters($text) > 0) { - if ($i == 0) { // first text run, no style - $richText->createText($text); - } else { - $textRun = $richText->createTextRun($text); - if (isset($fmtRuns[$i - 1])) { - if ($fmtRuns[$i - 1]['fontIndex'] < 4) { - $fontIndex = $fmtRuns[$i - 1]['fontIndex']; - } else { - // this has to do with that index 4 is omitted in all BIFF versions for some strange reason - // check the OpenOffice documentation of the FONT record - $fontIndex = $fmtRuns[$i - 1]['fontIndex'] - 1; - } - $textRun->setFont(clone $this->_objFonts[$fontIndex]); - } - } - } - } - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - $cell->setValueExplicit($richText, PHPExcel_Cell_DataType::TYPE_STRING); - } else { - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - $cell->setValueExplicit($this->_sst[$index]['value'], PHPExcel_Cell_DataType::TYPE_STRING); - } - - if (!$this->_readDataOnly) { - // add style information - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - - /** - * Read MULRK record - * This record represents a cell range containing RK value - * cells. All cells are located in the same row. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readMulRk() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to first column - $colFirst = self::_GetInt2d($recordData, 2); - - // offset: var; size: 2; index to last column - $colLast = self::_GetInt2d($recordData, $length - 2); - $columns = $colLast - $colFirst + 1; - - // offset within record data - $offset = 4; - - for ($i = 0; $i < $columns; ++$i) { - $columnString = PHPExcel_Cell::stringFromColumnIndex($colFirst + $i); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - - // offset: var; size: 2; index to XF record - $xfIndex = self::_GetInt2d($recordData, $offset); - - // offset: var; size: 4; RK value - $numValue = self::_GetIEEE754(self::_GetInt4d($recordData, $offset + 2)); - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - if (!$this->_readDataOnly) { - // add style - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - - // add cell value - $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); - } - - $offset += 6; - } - } - - - /** - * Read NUMBER record - * This record represents a cell that contains a - * floating-point value. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readNumber() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size 2; index to column - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset 4; size: 2; index to XF record - $xfIndex = self::_GetInt2d($recordData, 4); - - $numValue = self::_extractNumber(substr($recordData, 6, 8)); - - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - if (!$this->_readDataOnly) { - // add cell style - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - - // add cell value - $cell->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC); - } - } - - - /** - * Read FORMULA record + perhaps a following STRING record if formula result is a string - * This record contains the token array and the result of a - * formula cell. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readFormula() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; row index - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; col index - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // offset: 20: size: variable; formula structure - $formulaStructure = substr($recordData, 20); - - // offset: 14: size: 2; option flags, recalculate always, recalculate on open etc. - $options = self::_GetInt2d($recordData, 14); - - // bit: 0; mask: 0x0001; 1 = recalculate always - // bit: 1; mask: 0x0002; 1 = calculate on open - // bit: 2; mask: 0x0008; 1 = part of a shared formula - $isPartOfSharedFormula = (bool) (0x0008 & $options); - - // WARNING: - // We can apparently not rely on $isPartOfSharedFormula. Even when $isPartOfSharedFormula = true - // the formula data may be ordinary formula data, therefore we need to check - // explicitly for the tExp token (0x01) - $isPartOfSharedFormula = $isPartOfSharedFormula && ord($formulaStructure{2}) == 0x01; - - if ($isPartOfSharedFormula) { - // part of shared formula which means there will be a formula with a tExp token and nothing else - // get the base cell, grab tExp token - $baseRow = self::_GetInt2d($formulaStructure, 3); - $baseCol = self::_GetInt2d($formulaStructure, 5); - $this->_baseCell = PHPExcel_Cell::stringFromColumnIndex($baseCol). ($baseRow + 1); - } - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - - if ($isPartOfSharedFormula) { - // formula is added to this cell after the sheet has been read - $this->_sharedFormulaParts[$columnString . ($row + 1)] = $this->_baseCell; - } - - // offset: 16: size: 4; not used - - // offset: 4; size: 2; XF index - $xfIndex = self::_GetInt2d($recordData, 4); - - // offset: 6; size: 8; result of the formula - if ( (ord($recordData{6}) == 0) - && (ord($recordData{12}) == 255) - && (ord($recordData{13}) == 255) ) { - - // String formula. Result follows in appended STRING record - $dataType = PHPExcel_Cell_DataType::TYPE_STRING; - - // read possible SHAREDFMLA record - $code = self::_GetInt2d($this->_data, $this->_pos); - if ($code == self::XLS_Type_SHAREDFMLA) { - $this->_readSharedFmla(); - } - - // read STRING record - $value = $this->_readString(); - - } elseif ((ord($recordData{6}) == 1) - && (ord($recordData{12}) == 255) - && (ord($recordData{13}) == 255)) { - - // Boolean formula. Result is in +2; 0=false, 1=true - $dataType = PHPExcel_Cell_DataType::TYPE_BOOL; - $value = (bool) ord($recordData{8}); - - } elseif ((ord($recordData{6}) == 2) - && (ord($recordData{12}) == 255) - && (ord($recordData{13}) == 255)) { - - // Error formula. Error code is in +2 - $dataType = PHPExcel_Cell_DataType::TYPE_ERROR; - $value = self::_mapErrorCode(ord($recordData{8})); - - } elseif ((ord($recordData{6}) == 3) - && (ord($recordData{12}) == 255) - && (ord($recordData{13}) == 255)) { - - // Formula result is a null string - $dataType = PHPExcel_Cell_DataType::TYPE_NULL; - $value = ''; - - } else { - - // forumla result is a number, first 14 bytes like _NUMBER record - $dataType = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $value = self::_extractNumber(substr($recordData, 6, 8)); - - } - - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - if (!$this->_readDataOnly) { - // add cell style - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - - // store the formula - if (!$isPartOfSharedFormula) { - // not part of shared formula - // add cell value. If we can read formula, populate with formula, otherwise just used cached value - try { - if ($this->_version != self::XLS_BIFF8) { - throw new PHPExcel_Reader_Exception('Not BIFF8. Can only read BIFF8 formulas'); - } - $formula = $this->_getFormulaFromStructure($formulaStructure); // get formula in human language - $cell->setValueExplicit('=' . $formula, PHPExcel_Cell_DataType::TYPE_FORMULA); - - } catch (PHPExcel_Exception $e) { - $cell->setValueExplicit($value, $dataType); - } - } else { - if ($this->_version == self::XLS_BIFF8) { - // do nothing at this point, formula id added later in the code - } else { - $cell->setValueExplicit($value, $dataType); - } - } - - // store the cached calculated value - $cell->setCalculatedValue($value); - } - } - - - /** - * Read a SHAREDFMLA record. This function just stores the binary shared formula in the reader, - * which usually contains relative references. - * These will be used to construct the formula in each shared formula part after the sheet is read. - */ - private function _readSharedFmla() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0, size: 6; cell range address of the area used by the shared formula, not used for anything - $cellRange = substr($recordData, 0, 6); - $cellRange = $this->_readBIFF5CellRangeAddressFixed($cellRange); // note: even BIFF8 uses BIFF5 syntax - - // offset: 6, size: 1; not used - - // offset: 7, size: 1; number of existing FORMULA records for this shared formula - $no = ord($recordData{7}); - - // offset: 8, size: var; Binary token array of the shared formula - $formula = substr($recordData, 8); - - // at this point we only store the shared formula for later use - $this->_sharedFormulas[$this->_baseCell] = $formula; - - } - - - /** - * Read a STRING record from current stream position and advance the stream pointer to next record - * This record is used for storing result from FORMULA record when it is a string, and - * it occurs directly after the FORMULA record - * - * @return string The string contents as UTF-8 - */ - private function _readString() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringLong($recordData); - $value = $string['value']; - } else { - $string = $this->_readByteStringLong($recordData); - $value = $string['value']; - } - - return $value; - } - - - /** - * Read BOOLERR record - * This record represents a Boolean value or error value - * cell. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readBoolErr() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; row index - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; column index - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset: 4; size: 2; index to XF record - $xfIndex = self::_GetInt2d($recordData, 4); - - // offset: 6; size: 1; the boolean value or error value - $boolErr = ord($recordData{6}); - - // offset: 7; size: 1; 0=boolean; 1=error - $isError = ord($recordData{7}); - - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - switch ($isError) { - case 0: // boolean - $value = (bool) $boolErr; - - // add cell value - $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_BOOL); - break; - - case 1: // error type - $value = self::_mapErrorCode($boolErr); - - // add cell value - $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_ERROR); - break; - } - - if (!$this->_readDataOnly) { - // add cell style - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - - /** - * Read MULBLANK record - * This record represents a cell range of empty cells. All - * cells are located in the same row - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readMulBlank() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to first column - $fc = self::_GetInt2d($recordData, 2); - - // offset: 4; size: 2 x nc; list of indexes to XF records - // add style information - if (!$this->_readDataOnly) { - for ($i = 0; $i < $length / 2 - 3; ++$i) { - $columnString = PHPExcel_Cell::stringFromColumnIndex($fc + $i); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - $xfIndex = self::_GetInt2d($recordData, 4 + 2 * $i); - $this->_phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - // offset: 6; size 2; index to last column (not needed) - } - - - /** - * Read LABEL record - * This record represents a cell that contains a string. In - * BIFF8 it is usually replaced by the LABELSST record. - * Excel still uses this record, if it copies unformatted - * text cells to the clipboard. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readLabel() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; index to row - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to column - $column = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($column); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset: 4; size: 2; XF index - $xfIndex = self::_GetInt2d($recordData, 4); - - // add cell value - // todo: what if string is very long? continue record - if ($this->_version == self::XLS_BIFF8) { - $string = self::_readUnicodeStringLong(substr($recordData, 6)); - $value = $string['value']; - } else { - $string = $this->_readByteStringLong(substr($recordData, 6)); - $value = $string['value']; - } - $cell = $this->_phpSheet->getCell($columnString . ($row + 1)); - $cell->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING); - - if (!$this->_readDataOnly) { - // add cell style - $cell->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - } - - - /** - * Read BLANK record - */ - private function _readBlank() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; row index - $row = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; col index - $col = self::_GetInt2d($recordData, 2); - $columnString = PHPExcel_Cell::stringFromColumnIndex($col); - - // Read cell? - if (($this->getReadFilter() !== NULL) && $this->getReadFilter()->readCell($columnString, $row + 1, $this->_phpSheet->getTitle()) ) { - // offset: 4; size: 2; XF index - $xfIndex = self::_GetInt2d($recordData, 4); - - // add style information - if (!$this->_readDataOnly) { - $this->_phpSheet->getCell($columnString . ($row + 1))->setXfIndex($this->_mapCellXfIndex[$xfIndex]); - } - } - - } - - - /** - * Read MSODRAWING record - */ - private function _readMsoDrawing() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - - // get spliced record data - $splicedRecordData = $this->_getSplicedRecordData(); - $recordData = $splicedRecordData['recordData']; - - $this->_drawingData .= $recordData; - } - - - /** - * Read OBJ record - */ - private function _readObj() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_readDataOnly || $this->_version != self::XLS_BIFF8) { - return; - } - - // recordData consists of an array of subrecords looking like this: - // ft: 2 bytes; ftCmo type (0x15) - // cb: 2 bytes; size in bytes of ftCmo data - // ot: 2 bytes; Object Type - // id: 2 bytes; Object id number - // grbit: 2 bytes; Option Flags - // data: var; subrecord data - - // for now, we are just interested in the second subrecord containing the object type - $ftCmoType = self::_GetInt2d($recordData, 0); - $cbCmoSize = self::_GetInt2d($recordData, 2); - $otObjType = self::_GetInt2d($recordData, 4); - $idObjID = self::_GetInt2d($recordData, 6); - $grbitOpts = self::_GetInt2d($recordData, 6); - - $this->_objs[] = array( - 'ftCmoType' => $ftCmoType, - 'cbCmoSize' => $cbCmoSize, - 'otObjType' => $otObjType, - 'idObjID' => $idObjID, - 'grbitOpts' => $grbitOpts - ); - $this->textObjRef = $idObjID; - -// echo '_readObj()
'; -// var_dump(end($this->_objs)); -// echo '
'; - } - - - /** - * Read WINDOW2 record - */ - private function _readWindow2() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; option flags - $options = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; index to first visible row - $firstVisibleRow = self::_GetInt2d($recordData, 2); - - // offset: 4; size: 2; index to first visible colum - $firstVisibleColumn = self::_GetInt2d($recordData, 4); - if ($this->_version === self::XLS_BIFF8) { - // offset: 8; size: 2; not used - // offset: 10; size: 2; cached magnification factor in page break preview (in percent); 0 = Default (60%) - // offset: 12; size: 2; cached magnification factor in normal view (in percent); 0 = Default (100%) - // offset: 14; size: 4; not used - $zoomscaleInPageBreakPreview = self::_GetInt2d($recordData, 10); - if ($zoomscaleInPageBreakPreview === 0) $zoomscaleInPageBreakPreview = 60; - $zoomscaleInNormalView = self::_GetInt2d($recordData, 12); - if ($zoomscaleInNormalView === 0) $zoomscaleInNormalView = 100; - } - - // bit: 1; mask: 0x0002; 0 = do not show gridlines, 1 = show gridlines - $showGridlines = (bool) ((0x0002 & $options) >> 1); - $this->_phpSheet->setShowGridlines($showGridlines); - - // bit: 2; mask: 0x0004; 0 = do not show headers, 1 = show headers - $showRowColHeaders = (bool) ((0x0004 & $options) >> 2); - $this->_phpSheet->setShowRowColHeaders($showRowColHeaders); - - // bit: 3; mask: 0x0008; 0 = panes are not frozen, 1 = panes are frozen - $this->_frozen = (bool) ((0x0008 & $options) >> 3); - - // bit: 6; mask: 0x0040; 0 = columns from left to right, 1 = columns from right to left - $this->_phpSheet->setRightToLeft((bool)((0x0040 & $options) >> 6)); - - // bit: 10; mask: 0x0400; 0 = sheet not active, 1 = sheet active - $isActive = (bool) ((0x0400 & $options) >> 10); - if ($isActive) { - $this->_phpExcel->setActiveSheetIndex($this->_phpExcel->getIndex($this->_phpSheet)); - } - - // bit: 11; mask: 0x0800; 0 = normal view, 1 = page break view - $isPageBreakPreview = (bool) ((0x0800 & $options) >> 11); - - //FIXME: set $firstVisibleRow and $firstVisibleColumn - - if ($this->_phpSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT) { - //NOTE: this setting is inferior to page layout view(Excel2007-) - $view = $isPageBreakPreview? PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW : - PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL; - $this->_phpSheet->getSheetView()->setView($view); - if ($this->_version === self::XLS_BIFF8) { - $zoomScale = $isPageBreakPreview? $zoomscaleInPageBreakPreview : $zoomscaleInNormalView; - $this->_phpSheet->getSheetView()->setZoomScale($zoomScale); - $this->_phpSheet->getSheetView()->setZoomScaleNormal($zoomscaleInNormalView); - } - } - } - - /** - * Read PLV Record(Created by Excel2007 or upper) - */ - private function _readPageLayoutView(){ - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - //var_dump(unpack("vrt/vgrbitFrt/V2reserved/vwScalePLV/vgrbit", $recordData)); - - // offset: 0; size: 2; rt - //->ignore - $rt = self::_GetInt2d($recordData, 0); - // offset: 2; size: 2; grbitfr - //->ignore - $grbitFrt = self::_GetInt2d($recordData, 2); - // offset: 4; size: 8; reserved - //->ignore - - // offset: 12; size 2; zoom scale - $wScalePLV = self::_GetInt2d($recordData, 12); - // offset: 14; size 2; grbit - $grbit = self::_GetInt2d($recordData, 14); - - // decomprise grbit - $fPageLayoutView = $grbit & 0x01; - $fRulerVisible = ($grbit >> 1) & 0x01; //no support - $fWhitespaceHidden = ($grbit >> 3) & 0x01; //no support - - if ($fPageLayoutView === 1) { - $this->_phpSheet->getSheetView()->setView(PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT); - $this->_phpSheet->getSheetView()->setZoomScale($wScalePLV); //set by Excel2007 only if SHEETVIEW_PAGE_LAYOUT - } - //otherwise, we cannot know whether SHEETVIEW_PAGE_LAYOUT or SHEETVIEW_PAGE_BREAK_PREVIEW. - } - - /** - * Read SCL record - */ - private function _readScl() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // offset: 0; size: 2; numerator of the view magnification - $numerator = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; numerator of the view magnification - $denumerator = self::_GetInt2d($recordData, 2); - - // set the zoom scale (in percent) - $this->_phpSheet->getSheetView()->setZoomScale($numerator * 100 / $denumerator); - } - - - /** - * Read PANE record - */ - private function _readPane() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; position of vertical split - $px = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; position of horizontal split - $py = self::_GetInt2d($recordData, 2); - - if ($this->_frozen) { - // frozen panes - $this->_phpSheet->freezePane(PHPExcel_Cell::stringFromColumnIndex($px) . ($py + 1)); - } else { - // unfrozen panes; split windows; not supported by PHPExcel core - } - } - } - - - /** - * Read SELECTION record. There is one such record for each pane in the sheet. - */ - private function _readSelection() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 1; pane identifier - $paneId = ord($recordData{0}); - - // offset: 1; size: 2; index to row of the active cell - $r = self::_GetInt2d($recordData, 1); - - // offset: 3; size: 2; index to column of the active cell - $c = self::_GetInt2d($recordData, 3); - - // offset: 5; size: 2; index into the following cell range list to the - // entry that contains the active cell - $index = self::_GetInt2d($recordData, 5); - - // offset: 7; size: var; cell range address list containing all selected cell ranges - $data = substr($recordData, 7); - $cellRangeAddressList = $this->_readBIFF5CellRangeAddressList($data); // note: also BIFF8 uses BIFF5 syntax - - $selectedCells = $cellRangeAddressList['cellRangeAddresses'][0]; - - // first row '1' + last row '16384' indicates that full column is selected (apparently also in BIFF8!) - if (preg_match('/^([A-Z]+1\:[A-Z]+)16384$/', $selectedCells)) { - $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)16384$/', '${1}1048576', $selectedCells); - } - - // first row '1' + last row '65536' indicates that full column is selected - if (preg_match('/^([A-Z]+1\:[A-Z]+)65536$/', $selectedCells)) { - $selectedCells = preg_replace('/^([A-Z]+1\:[A-Z]+)65536$/', '${1}1048576', $selectedCells); - } - - // first column 'A' + last column 'IV' indicates that full row is selected - if (preg_match('/^(A[0-9]+\:)IV([0-9]+)$/', $selectedCells)) { - $selectedCells = preg_replace('/^(A[0-9]+\:)IV([0-9]+)$/', '${1}XFD${2}', $selectedCells); - } - - $this->_phpSheet->setSelectedCells($selectedCells); - } - } - - - private function _includeCellRangeFiltered($cellRangeAddress) - { - $includeCellRange = true; - if ($this->getReadFilter() !== NULL) { - $includeCellRange = false; - $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($cellRangeAddress); - $rangeBoundaries[1][0]++; - for ($row = $rangeBoundaries[0][1]; $row <= $rangeBoundaries[1][1]; $row++) { - for ($column = $rangeBoundaries[0][0]; $column != $rangeBoundaries[1][0]; $column++) { - if ($this->getReadFilter()->readCell($column, $row, $this->_phpSheet->getTitle())) { - $includeCellRange = true; - break 2; - } - } - } - } - return $includeCellRange; - } - - - /** - * MERGEDCELLS - * - * This record contains the addresses of merged cell ranges - * in the current sheet. - * - * -- "OpenOffice.org's Documentation of the Microsoft - * Excel File Format" - */ - private function _readMergedCells() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_version == self::XLS_BIFF8 && !$this->_readDataOnly) { - $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList($recordData); - foreach ($cellRangeAddressList['cellRangeAddresses'] as $cellRangeAddress) { - if ((strpos($cellRangeAddress,':') !== FALSE) && - ($this->_includeCellRangeFiltered($cellRangeAddress))) { - $this->_phpSheet->mergeCells($cellRangeAddress); - } - } - } - } - - - /** - * Read HYPERLINK record - */ - private function _readHyperLink() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer forward to next record - $this->_pos += 4 + $length; - - if (!$this->_readDataOnly) { - // offset: 0; size: 8; cell range address of all cells containing this hyperlink - try { - $cellRange = $this->_readBIFF8CellRangeAddressFixed($recordData, 0, 8); - } catch (PHPExcel_Exception $e) { - return; - } - - // offset: 8, size: 16; GUID of StdLink - - // offset: 24, size: 4; unknown value - - // offset: 28, size: 4; option flags - - // bit: 0; mask: 0x00000001; 0 = no link or extant, 1 = file link or URL - $isFileLinkOrUrl = (0x00000001 & self::_GetInt2d($recordData, 28)) >> 0; - - // bit: 1; mask: 0x00000002; 0 = relative path, 1 = absolute path or URL - $isAbsPathOrUrl = (0x00000001 & self::_GetInt2d($recordData, 28)) >> 1; - - // bit: 2 (and 4); mask: 0x00000014; 0 = no description - $hasDesc = (0x00000014 & self::_GetInt2d($recordData, 28)) >> 2; - - // bit: 3; mask: 0x00000008; 0 = no text, 1 = has text - $hasText = (0x00000008 & self::_GetInt2d($recordData, 28)) >> 3; - - // bit: 7; mask: 0x00000080; 0 = no target frame, 1 = has target frame - $hasFrame = (0x00000080 & self::_GetInt2d($recordData, 28)) >> 7; - - // bit: 8; mask: 0x00000100; 0 = file link or URL, 1 = UNC path (inc. server name) - $isUNC = (0x00000100 & self::_GetInt2d($recordData, 28)) >> 8; - - // offset within record data - $offset = 32; - - if ($hasDesc) { - // offset: 32; size: var; character count of description text - $dl = self::_GetInt4d($recordData, 32); - // offset: 36; size: var; character array of description text, no Unicode string header, always 16-bit characters, zero terminated - $desc = self::_encodeUTF16(substr($recordData, 36, 2 * ($dl - 1)), false); - $offset += 4 + 2 * $dl; - } - if ($hasFrame) { - $fl = self::_GetInt4d($recordData, $offset); - $offset += 4 + 2 * $fl; - } - - // detect type of hyperlink (there are 4 types) - $hyperlinkType = null; - - if ($isUNC) { - $hyperlinkType = 'UNC'; - } else if (!$isFileLinkOrUrl) { - $hyperlinkType = 'workbook'; - } else if (ord($recordData{$offset}) == 0x03) { - $hyperlinkType = 'local'; - } else if (ord($recordData{$offset}) == 0xE0) { - $hyperlinkType = 'URL'; - } - - switch ($hyperlinkType) { - case 'URL': - // section 5.58.2: Hyperlink containing a URL - // e.g. http://example.org/index.php - - // offset: var; size: 16; GUID of URL Moniker - $offset += 16; - // offset: var; size: 4; size (in bytes) of character array of the URL including trailing zero word - $us = self::_GetInt4d($recordData, $offset); - $offset += 4; - // offset: var; size: $us; character array of the URL, no Unicode string header, always 16-bit characters, zero-terminated - $url = self::_encodeUTF16(substr($recordData, $offset, $us - 2), false); - $nullOffset = strpos($url, 0x00); - if ($nullOffset) - $url = substr($url,0,$nullOffset); - $url .= $hasText ? '#' : ''; - $offset += $us; - break; - - case 'local': - // section 5.58.3: Hyperlink to local file - // examples: - // mydoc.txt - // ../../somedoc.xls#Sheet!A1 - - // offset: var; size: 16; GUI of File Moniker - $offset += 16; - - // offset: var; size: 2; directory up-level count. - $upLevelCount = self::_GetInt2d($recordData, $offset); - $offset += 2; - - // offset: var; size: 4; character count of the shortened file path and name, including trailing zero word - $sl = self::_GetInt4d($recordData, $offset); - $offset += 4; - - // offset: var; size: sl; character array of the shortened file path and name in 8.3-DOS-format (compressed Unicode string) - $shortenedFilePath = substr($recordData, $offset, $sl); - $shortenedFilePath = self::_encodeUTF16($shortenedFilePath, true); - $shortenedFilePath = substr($shortenedFilePath, 0, -1); // remove trailing zero - - $offset += $sl; - - // offset: var; size: 24; unknown sequence - $offset += 24; - - // extended file path - // offset: var; size: 4; size of the following file link field including string lenth mark - $sz = self::_GetInt4d($recordData, $offset); - $offset += 4; - - // only present if $sz > 0 - if ($sz > 0) { - // offset: var; size: 4; size of the character array of the extended file path and name - $xl = self::_GetInt4d($recordData, $offset); - $offset += 4; - - // offset: var; size 2; unknown - $offset += 2; - - // offset: var; size $xl; character array of the extended file path and name. - $extendedFilePath = substr($recordData, $offset, $xl); - $extendedFilePath = self::_encodeUTF16($extendedFilePath, false); - $offset += $xl; - } - - // construct the path - $url = str_repeat('..\\', $upLevelCount); - $url .= ($sz > 0) ? - $extendedFilePath : $shortenedFilePath; // use extended path if available - $url .= $hasText ? '#' : ''; - - break; - - - case 'UNC': - // section 5.58.4: Hyperlink to a File with UNC (Universal Naming Convention) Path - // todo: implement - return; - - case 'workbook': - // section 5.58.5: Hyperlink to the Current Workbook - // e.g. Sheet2!B1:C2, stored in text mark field - $url = 'sheet://'; - break; - - default: - return; - - } - - if ($hasText) { - // offset: var; size: 4; character count of text mark including trailing zero word - $tl = self::_GetInt4d($recordData, $offset); - $offset += 4; - // offset: var; size: var; character array of the text mark without the # sign, no Unicode header, always 16-bit characters, zero-terminated - $text = self::_encodeUTF16(substr($recordData, $offset, 2 * ($tl - 1)), false); - $url .= $text; - } - - // apply the hyperlink to all the relevant cells - foreach (PHPExcel_Cell::extractAllCellReferencesInRange($cellRange) as $coordinate) { - $this->_phpSheet->getCell($coordinate)->getHyperLink()->setUrl($url); - } - } - } - - - /** - * Read DATAVALIDATIONS record - */ - private function _readDataValidations() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer forward to next record - $this->_pos += 4 + $length; - } - - - /** - * Read DATAVALIDATION record - */ - private function _readDataValidation() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer forward to next record - $this->_pos += 4 + $length; - - if ($this->_readDataOnly) { - return; - } - - // offset: 0; size: 4; Options - $options = self::_GetInt4d($recordData, 0); - - // bit: 0-3; mask: 0x0000000F; type - $type = (0x0000000F & $options) >> 0; - switch ($type) { - case 0x00: $type = PHPExcel_Cell_DataValidation::TYPE_NONE; break; - case 0x01: $type = PHPExcel_Cell_DataValidation::TYPE_WHOLE; break; - case 0x02: $type = PHPExcel_Cell_DataValidation::TYPE_DECIMAL; break; - case 0x03: $type = PHPExcel_Cell_DataValidation::TYPE_LIST; break; - case 0x04: $type = PHPExcel_Cell_DataValidation::TYPE_DATE; break; - case 0x05: $type = PHPExcel_Cell_DataValidation::TYPE_TIME; break; - case 0x06: $type = PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH; break; - case 0x07: $type = PHPExcel_Cell_DataValidation::TYPE_CUSTOM; break; - } - - // bit: 4-6; mask: 0x00000070; error type - $errorStyle = (0x00000070 & $options) >> 4; - switch ($errorStyle) { - case 0x00: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_STOP; break; - case 0x01: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_WARNING; break; - case 0x02: $errorStyle = PHPExcel_Cell_DataValidation::STYLE_INFORMATION; break; - } - - // bit: 7; mask: 0x00000080; 1= formula is explicit (only applies to list) - // I have only seen cases where this is 1 - $explicitFormula = (0x00000080 & $options) >> 7; - - // bit: 8; mask: 0x00000100; 1= empty cells allowed - $allowBlank = (0x00000100 & $options) >> 8; - - // bit: 9; mask: 0x00000200; 1= suppress drop down arrow in list type validity - $suppressDropDown = (0x00000200 & $options) >> 9; - - // bit: 18; mask: 0x00040000; 1= show prompt box if cell selected - $showInputMessage = (0x00040000 & $options) >> 18; - - // bit: 19; mask: 0x00080000; 1= show error box if invalid values entered - $showErrorMessage = (0x00080000 & $options) >> 19; - - // bit: 20-23; mask: 0x00F00000; condition operator - $operator = (0x00F00000 & $options) >> 20; - switch ($operator) { - case 0x00: $operator = PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN ; break; - case 0x01: $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN ; break; - case 0x02: $operator = PHPExcel_Cell_DataValidation::OPERATOR_EQUAL ; break; - case 0x03: $operator = PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL ; break; - case 0x04: $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN ; break; - case 0x05: $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN ; break; - case 0x06: $operator = PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL; break; - case 0x07: $operator = PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL ; break; - } - - // offset: 4; size: var; title of the prompt box - $offset = 4; - $string = self::_readUnicodeStringLong(substr($recordData, $offset)); - $promptTitle = $string['value'] !== chr(0) ? - $string['value'] : ''; - $offset += $string['size']; - - // offset: var; size: var; title of the error box - $string = self::_readUnicodeStringLong(substr($recordData, $offset)); - $errorTitle = $string['value'] !== chr(0) ? - $string['value'] : ''; - $offset += $string['size']; - - // offset: var; size: var; text of the prompt box - $string = self::_readUnicodeStringLong(substr($recordData, $offset)); - $prompt = $string['value'] !== chr(0) ? - $string['value'] : ''; - $offset += $string['size']; - - // offset: var; size: var; text of the error box - $string = self::_readUnicodeStringLong(substr($recordData, $offset)); - $error = $string['value'] !== chr(0) ? - $string['value'] : ''; - $offset += $string['size']; - - // offset: var; size: 2; size of the formula data for the first condition - $sz1 = self::_GetInt2d($recordData, $offset); - $offset += 2; - - // offset: var; size: 2; not used - $offset += 2; - - // offset: var; size: $sz1; formula data for first condition (without size field) - $formula1 = substr($recordData, $offset, $sz1); - $formula1 = pack('v', $sz1) . $formula1; // prepend the length - try { - $formula1 = $this->_getFormulaFromStructure($formula1); - - // in list type validity, null characters are used as item separators - if ($type == PHPExcel_Cell_DataValidation::TYPE_LIST) { - $formula1 = str_replace(chr(0), ',', $formula1); - } - } catch (PHPExcel_Exception $e) { - return; - } - $offset += $sz1; - - // offset: var; size: 2; size of the formula data for the first condition - $sz2 = self::_GetInt2d($recordData, $offset); - $offset += 2; - - // offset: var; size: 2; not used - $offset += 2; - - // offset: var; size: $sz2; formula data for second condition (without size field) - $formula2 = substr($recordData, $offset, $sz2); - $formula2 = pack('v', $sz2) . $formula2; // prepend the length - try { - $formula2 = $this->_getFormulaFromStructure($formula2); - } catch (PHPExcel_Exception $e) { - return; - } - $offset += $sz2; - - // offset: var; size: var; cell range address list with - $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList(substr($recordData, $offset)); - $cellRangeAddresses = $cellRangeAddressList['cellRangeAddresses']; - - foreach ($cellRangeAddresses as $cellRange) { - $stRange = $this->_phpSheet->shrinkRangeToFit($cellRange); - $stRange = PHPExcel_Cell::extractAllCellReferencesInRange($stRange); - foreach ($stRange as $coordinate) { - $objValidation = $this->_phpSheet->getCell($coordinate)->getDataValidation(); - $objValidation->setType($type); - $objValidation->setErrorStyle($errorStyle); - $objValidation->setAllowBlank((bool)$allowBlank); - $objValidation->setShowInputMessage((bool)$showInputMessage); - $objValidation->setShowErrorMessage((bool)$showErrorMessage); - $objValidation->setShowDropDown(!$suppressDropDown); - $objValidation->setOperator($operator); - $objValidation->setErrorTitle($errorTitle); - $objValidation->setError($error); - $objValidation->setPromptTitle($promptTitle); - $objValidation->setPrompt($prompt); - $objValidation->setFormula1($formula1); - $objValidation->setFormula2($formula2); - } - } - - } - - - /** - * Read SHEETLAYOUT record. Stores sheet tab color information. - */ - private function _readSheetLayout() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // local pointer in record data - $offset = 0; - - if (!$this->_readDataOnly) { - // offset: 0; size: 2; repeated record identifier 0x0862 - - // offset: 2; size: 10; not used - - // offset: 12; size: 4; size of record data - // Excel 2003 uses size of 0x14 (documented), Excel 2007 uses size of 0x28 (not documented?) - $sz = self::_GetInt4d($recordData, 12); - - switch ($sz) { - case 0x14: - // offset: 16; size: 2; color index for sheet tab - $colorIndex = self::_GetInt2d($recordData, 16); - $color = self::_readColor($colorIndex,$this->_palette,$this->_version); - $this->_phpSheet->getTabColor()->setRGB($color['rgb']); - break; - - case 0x28: - // TODO: Investigate structure for .xls SHEETLAYOUT record as saved by MS Office Excel 2007 - return; - break; - } - } - } - - - /** - * Read SHEETPROTECTION record (FEATHEADR) - */ - private function _readSheetProtection() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - if ($this->_readDataOnly) { - return; - } - - // offset: 0; size: 2; repeated record header - - // offset: 2; size: 2; FRT cell reference flag (=0 currently) - - // offset: 4; size: 8; Currently not used and set to 0 - - // offset: 12; size: 2; Shared feature type index (2=Enhanced Protetion, 4=SmartTag) - $isf = self::_GetInt2d($recordData, 12); - if ($isf != 2) { - return; - } - - // offset: 14; size: 1; =1 since this is a feat header - - // offset: 15; size: 4; size of rgbHdrSData - - // rgbHdrSData, assume "Enhanced Protection" - // offset: 19; size: 2; option flags - $options = self::_GetInt2d($recordData, 19); - - // bit: 0; mask 0x0001; 1 = user may edit objects, 0 = users must not edit objects - $bool = (0x0001 & $options) >> 0; - $this->_phpSheet->getProtection()->setObjects(!$bool); - - // bit: 1; mask 0x0002; edit scenarios - $bool = (0x0002 & $options) >> 1; - $this->_phpSheet->getProtection()->setScenarios(!$bool); - - // bit: 2; mask 0x0004; format cells - $bool = (0x0004 & $options) >> 2; - $this->_phpSheet->getProtection()->setFormatCells(!$bool); - - // bit: 3; mask 0x0008; format columns - $bool = (0x0008 & $options) >> 3; - $this->_phpSheet->getProtection()->setFormatColumns(!$bool); - - // bit: 4; mask 0x0010; format rows - $bool = (0x0010 & $options) >> 4; - $this->_phpSheet->getProtection()->setFormatRows(!$bool); - - // bit: 5; mask 0x0020; insert columns - $bool = (0x0020 & $options) >> 5; - $this->_phpSheet->getProtection()->setInsertColumns(!$bool); - - // bit: 6; mask 0x0040; insert rows - $bool = (0x0040 & $options) >> 6; - $this->_phpSheet->getProtection()->setInsertRows(!$bool); - - // bit: 7; mask 0x0080; insert hyperlinks - $bool = (0x0080 & $options) >> 7; - $this->_phpSheet->getProtection()->setInsertHyperlinks(!$bool); - - // bit: 8; mask 0x0100; delete columns - $bool = (0x0100 & $options) >> 8; - $this->_phpSheet->getProtection()->setDeleteColumns(!$bool); - - // bit: 9; mask 0x0200; delete rows - $bool = (0x0200 & $options) >> 9; - $this->_phpSheet->getProtection()->setDeleteRows(!$bool); - - // bit: 10; mask 0x0400; select locked cells - $bool = (0x0400 & $options) >> 10; - $this->_phpSheet->getProtection()->setSelectLockedCells(!$bool); - - // bit: 11; mask 0x0800; sort cell range - $bool = (0x0800 & $options) >> 11; - $this->_phpSheet->getProtection()->setSort(!$bool); - - // bit: 12; mask 0x1000; auto filter - $bool = (0x1000 & $options) >> 12; - $this->_phpSheet->getProtection()->setAutoFilter(!$bool); - - // bit: 13; mask 0x2000; pivot tables - $bool = (0x2000 & $options) >> 13; - $this->_phpSheet->getProtection()->setPivotTables(!$bool); - - // bit: 14; mask 0x4000; select unlocked cells - $bool = (0x4000 & $options) >> 14; - $this->_phpSheet->getProtection()->setSelectUnlockedCells(!$bool); - - // offset: 21; size: 2; not used - } - - - /** - * Read RANGEPROTECTION record - * Reading of this record is based on Microsoft Office Excel 97-2000 Binary File Format Specification, - * where it is referred to as FEAT record - */ - private function _readRangeProtection() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // move stream pointer to next record - $this->_pos += 4 + $length; - - // local pointer in record data - $offset = 0; - - if (!$this->_readDataOnly) { - $offset += 12; - - // offset: 12; size: 2; shared feature type, 2 = enhanced protection, 4 = smart tag - $isf = self::_GetInt2d($recordData, 12); - if ($isf != 2) { - // we only read FEAT records of type 2 - return; - } - $offset += 2; - - $offset += 5; - - // offset: 19; size: 2; count of ref ranges this feature is on - $cref = self::_GetInt2d($recordData, 19); - $offset += 2; - - $offset += 6; - - // offset: 27; size: 8 * $cref; list of cell ranges (like in hyperlink record) - $cellRanges = array(); - for ($i = 0; $i < $cref; ++$i) { - try { - $cellRange = $this->_readBIFF8CellRangeAddressFixed(substr($recordData, 27 + 8 * $i, 8)); - } catch (PHPExcel_Exception $e) { - return; - } - $cellRanges[] = $cellRange; - $offset += 8; - } - - // offset: var; size: var; variable length of feature specific data - $rgbFeat = substr($recordData, $offset); - $offset += 4; - - // offset: var; size: 4; the encrypted password (only 16-bit although field is 32-bit) - $wPassword = self::_GetInt4d($recordData, $offset); - $offset += 4; - - // Apply range protection to sheet - if ($cellRanges) { - $this->_phpSheet->protectCells(implode(' ', $cellRanges), strtoupper(dechex($wPassword)), true); - } - } - } - - - /** - * Read IMDATA record - */ - private function _readImData() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - - // get spliced record data - $splicedRecordData = $this->_getSplicedRecordData(); - $recordData = $splicedRecordData['recordData']; - - // UNDER CONSTRUCTION - - // offset: 0; size: 2; image format - $cf = self::_GetInt2d($recordData, 0); - - // offset: 2; size: 2; environment from which the file was written - $env = self::_GetInt2d($recordData, 2); - - // offset: 4; size: 4; length of the image data - $lcb = self::_GetInt4d($recordData, 4); - - // offset: 8; size: var; image data - $iData = substr($recordData, 8); - - switch ($cf) { - case 0x09: // Windows bitmap format - // BITMAPCOREINFO - // 1. BITMAPCOREHEADER - // offset: 0; size: 4; bcSize, Specifies the number of bytes required by the structure - $bcSize = self::_GetInt4d($iData, 0); -// var_dump($bcSize); - - // offset: 4; size: 2; bcWidth, specifies the width of the bitmap, in pixels - $bcWidth = self::_GetInt2d($iData, 4); -// var_dump($bcWidth); - - // offset: 6; size: 2; bcHeight, specifies the height of the bitmap, in pixels. - $bcHeight = self::_GetInt2d($iData, 6); -// var_dump($bcHeight); - $ih = imagecreatetruecolor($bcWidth, $bcHeight); - - // offset: 8; size: 2; bcPlanes, specifies the number of planes for the target device. This value must be 1 - - // offset: 10; size: 2; bcBitCount specifies the number of bits-per-pixel. This value must be 1, 4, 8, or 24 - $bcBitCount = self::_GetInt2d($iData, 10); -// var_dump($bcBitCount); - - $rgbString = substr($iData, 12); - $rgbTriples = array(); - while (strlen($rgbString) > 0) { - $rgbTriples[] = unpack('Cb/Cg/Cr', $rgbString); - $rgbString = substr($rgbString, 3); - } - $x = 0; - $y = 0; - foreach ($rgbTriples as $i => $rgbTriple) { - $color = imagecolorallocate($ih, $rgbTriple['r'], $rgbTriple['g'], $rgbTriple['b']); - imagesetpixel($ih, $x, $bcHeight - 1 - $y, $color); - $x = ($x + 1) % $bcWidth; - $y = $y + floor(($x + 1) / $bcWidth); - } - //imagepng($ih, 'image.png'); - - $drawing = new PHPExcel_Worksheet_Drawing(); - $drawing->setPath($filename); - $drawing->setWorksheet($this->_phpSheet); - - break; - - case 0x02: // Windows metafile or Macintosh PICT format - case 0x0e: // native format - default; - break; - - } - - // _getSplicedRecordData() takes care of moving current position in data stream - } - - - /** - * Read a free CONTINUE record. Free CONTINUE record may be a camouflaged MSODRAWING record - * When MSODRAWING data on a sheet exceeds 8224 bytes, CONTINUE records are used instead. Undocumented. - * In this case, we must treat the CONTINUE record as a MSODRAWING record - */ - private function _readContinue() - { - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $recordData = $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - // check if we are reading drawing data - // this is in case a free CONTINUE record occurs in other circumstances we are unaware of - if ($this->_drawingData == '') { - // move stream pointer to next record - $this->_pos += 4 + $length; - - return; - } - - // check if record data is at least 4 bytes long, otherwise there is no chance this is MSODRAWING data - if ($length < 4) { - // move stream pointer to next record - $this->_pos += 4 + $length; - - return; - } - - // dirty check to see if CONTINUE record could be a camouflaged MSODRAWING record - // look inside CONTINUE record to see if it looks like a part of an Escher stream - // we know that Escher stream may be split at least at - // 0xF003 MsofbtSpgrContainer - // 0xF004 MsofbtSpContainer - // 0xF00D MsofbtClientTextbox - $validSplitPoints = array(0xF003, 0xF004, 0xF00D); // add identifiers if we find more - - $splitPoint = self::_GetInt2d($recordData, 2); - if (in_array($splitPoint, $validSplitPoints)) { - // get spliced record data (and move pointer to next record) - $splicedRecordData = $this->_getSplicedRecordData(); - $this->_drawingData .= $splicedRecordData['recordData']; - - return; - } - - // move stream pointer to next record - $this->_pos += 4 + $length; - - } - - - /** - * Reads a record from current position in data stream and continues reading data as long as CONTINUE - * records are found. Splices the record data pieces and returns the combined string as if record data - * is in one piece. - * Moves to next current position in data stream to start of next record different from a CONtINUE record - * - * @return array - */ - private function _getSplicedRecordData() - { - $data = ''; - $spliceOffsets = array(); - - $i = 0; - $spliceOffsets[0] = 0; - - do { - ++$i; - - // offset: 0; size: 2; identifier - $identifier = self::_GetInt2d($this->_data, $this->_pos); - // offset: 2; size: 2; length - $length = self::_GetInt2d($this->_data, $this->_pos + 2); - $data .= $this->_readRecordData($this->_data, $this->_pos + 4, $length); - - $spliceOffsets[$i] = $spliceOffsets[$i - 1] + $length; - - $this->_pos += 4 + $length; - $nextIdentifier = self::_GetInt2d($this->_data, $this->_pos); - } - while ($nextIdentifier == self::XLS_Type_CONTINUE); - - $splicedData = array( - 'recordData' => $data, - 'spliceOffsets' => $spliceOffsets, - ); - - return $splicedData; - - } - - - /** - * Convert formula structure into human readable Excel formula like 'A3+A5*5' - * - * @param string $formulaStructure The complete binary data for the formula - * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas - * @return string Human readable formula - */ - private function _getFormulaFromStructure($formulaStructure, $baseCell = 'A1') - { - // offset: 0; size: 2; size of the following formula data - $sz = self::_GetInt2d($formulaStructure, 0); - - // offset: 2; size: sz - $formulaData = substr($formulaStructure, 2, $sz); - - // for debug: dump the formula data - //echo ''; - //echo 'size: ' . $sz . "\n"; - //echo 'the entire formula data: '; - //Debug::dump($formulaData); - //echo "\n----\n"; - - // offset: 2 + sz; size: variable (optional) - if (strlen($formulaStructure) > 2 + $sz) { - $additionalData = substr($formulaStructure, 2 + $sz); - - // for debug: dump the additional data - //echo 'the entire additional data: '; - //Debug::dump($additionalData); - //echo "\n----\n"; - - } else { - $additionalData = ''; - } - - return $this->_getFormulaFromData($formulaData, $additionalData, $baseCell); - } - - - /** - * Take formula data and additional data for formula and return human readable formula - * - * @param string $formulaData The binary data for the formula itself - * @param string $additionalData Additional binary data going with the formula - * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas - * @return string Human readable formula - */ - private function _getFormulaFromData($formulaData, $additionalData = '', $baseCell = 'A1') - { - // start parsing the formula data - $tokens = array(); - - while (strlen($formulaData) > 0 and $token = $this->_getNextToken($formulaData, $baseCell)) { - $tokens[] = $token; - $formulaData = substr($formulaData, $token['size']); - - // for debug: dump the token - //var_dump($token); - } - - $formulaString = $this->_createFormulaFromTokens($tokens, $additionalData); - - return $formulaString; - } - - - /** - * Take array of tokens together with additional data for formula and return human readable formula - * - * @param array $tokens - * @param array $additionalData Additional binary data going with the formula - * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas - * @return string Human readable formula - */ - private function _createFormulaFromTokens($tokens, $additionalData) - { - // empty formula? - if (empty($tokens)) { - return ''; - } - - $formulaStrings = array(); - foreach ($tokens as $token) { - // initialize spaces - $space0 = isset($space0) ? $space0 : ''; // spaces before next token, not tParen - $space1 = isset($space1) ? $space1 : ''; // carriage returns before next token, not tParen - $space2 = isset($space2) ? $space2 : ''; // spaces before opening parenthesis - $space3 = isset($space3) ? $space3 : ''; // carriage returns before opening parenthesis - $space4 = isset($space4) ? $space4 : ''; // spaces before closing parenthesis - $space5 = isset($space5) ? $space5 : ''; // carriage returns before closing parenthesis - - switch ($token['name']) { - case 'tAdd': // addition - case 'tConcat': // addition - case 'tDiv': // division - case 'tEQ': // equality - case 'tGE': // greater than or equal - case 'tGT': // greater than - case 'tIsect': // intersection - case 'tLE': // less than or equal - case 'tList': // less than or equal - case 'tLT': // less than - case 'tMul': // multiplication - case 'tNE': // multiplication - case 'tPower': // power - case 'tRange': // range - case 'tSub': // subtraction - $op2 = array_pop($formulaStrings); - $op1 = array_pop($formulaStrings); - $formulaStrings[] = "$op1$space1$space0{$token['data']}$op2"; - unset($space0, $space1); - break; - case 'tUplus': // unary plus - case 'tUminus': // unary minus - $op = array_pop($formulaStrings); - $formulaStrings[] = "$space1$space0{$token['data']}$op"; - unset($space0, $space1); - break; - case 'tPercent': // percent sign - $op = array_pop($formulaStrings); - $formulaStrings[] = "$op$space1$space0{$token['data']}"; - unset($space0, $space1); - break; - case 'tAttrVolatile': // indicates volatile function - case 'tAttrIf': - case 'tAttrSkip': - case 'tAttrChoose': - // token is only important for Excel formula evaluator - // do nothing - break; - case 'tAttrSpace': // space / carriage return - // space will be used when next token arrives, do not alter formulaString stack - switch ($token['data']['spacetype']) { - case 'type0': - $space0 = str_repeat(' ', $token['data']['spacecount']); - break; - case 'type1': - $space1 = str_repeat("\n", $token['data']['spacecount']); - break; - case 'type2': - $space2 = str_repeat(' ', $token['data']['spacecount']); - break; - case 'type3': - $space3 = str_repeat("\n", $token['data']['spacecount']); - break; - case 'type4': - $space4 = str_repeat(' ', $token['data']['spacecount']); - break; - case 'type5': - $space5 = str_repeat("\n", $token['data']['spacecount']); - break; - } - break; - case 'tAttrSum': // SUM function with one parameter - $op = array_pop($formulaStrings); - $formulaStrings[] = "{$space1}{$space0}SUM($op)"; - unset($space0, $space1); - break; - case 'tFunc': // function with fixed number of arguments - case 'tFuncV': // function with variable number of arguments - if ($token['data']['function'] != '') { - // normal function - $ops = array(); // array of operators - for ($i = 0; $i < $token['data']['args']; ++$i) { - $ops[] = array_pop($formulaStrings); - } - $ops = array_reverse($ops); - $formulaStrings[] = "$space1$space0{$token['data']['function']}(" . implode(',', $ops) . ")"; - unset($space0, $space1); - } else { - // add-in function - $ops = array(); // array of operators - for ($i = 0; $i < $token['data']['args'] - 1; ++$i) { - $ops[] = array_pop($formulaStrings); - } - $ops = array_reverse($ops); - $function = array_pop($formulaStrings); - $formulaStrings[] = "$space1$space0$function(" . implode(',', $ops) . ")"; - unset($space0, $space1); - } - break; - case 'tParen': // parenthesis - $expression = array_pop($formulaStrings); - $formulaStrings[] = "$space3$space2($expression$space5$space4)"; - unset($space2, $space3, $space4, $space5); - break; - case 'tArray': // array constant - $constantArray = self::_readBIFF8ConstantArray($additionalData); - $formulaStrings[] = $space1 . $space0 . $constantArray['value']; - $additionalData = substr($additionalData, $constantArray['size']); // bite of chunk of additional data - unset($space0, $space1); - break; - case 'tMemArea': - // bite off chunk of additional data - $cellRangeAddressList = $this->_readBIFF8CellRangeAddressList($additionalData); - $additionalData = substr($additionalData, $cellRangeAddressList['size']); - $formulaStrings[] = "$space1$space0{$token['data']}"; - unset($space0, $space1); - break; - case 'tArea': // cell range address - case 'tBool': // boolean - case 'tErr': // error code - case 'tInt': // integer - case 'tMemErr': - case 'tMemFunc': - case 'tMissArg': - case 'tName': - case 'tNameX': - case 'tNum': // number - case 'tRef': // single cell reference - case 'tRef3d': // 3d cell reference - case 'tArea3d': // 3d cell range reference - case 'tRefN': - case 'tAreaN': - case 'tStr': // string - $formulaStrings[] = "$space1$space0{$token['data']}"; - unset($space0, $space1); - break; - } - } - $formulaString = $formulaStrings[0]; - - // for debug: dump the human readable formula - //echo '----' . "\n"; - //echo 'Formula: ' . $formulaString; - - return $formulaString; - } - - - /** - * Fetch next token from binary formula data - * - * @param string Formula data - * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas - * @return array - * @throws PHPExcel_Reader_Exception - */ - private function _getNextToken($formulaData, $baseCell = 'A1') - { - // offset: 0; size: 1; token id - $id = ord($formulaData[0]); // token id - $name = false; // initialize token name - - switch ($id) { - case 0x03: $name = 'tAdd'; $size = 1; $data = '+'; break; - case 0x04: $name = 'tSub'; $size = 1; $data = '-'; break; - case 0x05: $name = 'tMul'; $size = 1; $data = '*'; break; - case 0x06: $name = 'tDiv'; $size = 1; $data = '/'; break; - case 0x07: $name = 'tPower'; $size = 1; $data = '^'; break; - case 0x08: $name = 'tConcat'; $size = 1; $data = '&'; break; - case 0x09: $name = 'tLT'; $size = 1; $data = '<'; break; - case 0x0A: $name = 'tLE'; $size = 1; $data = '<='; break; - case 0x0B: $name = 'tEQ'; $size = 1; $data = '='; break; - case 0x0C: $name = 'tGE'; $size = 1; $data = '>='; break; - case 0x0D: $name = 'tGT'; $size = 1; $data = '>'; break; - case 0x0E: $name = 'tNE'; $size = 1; $data = '<>'; break; - case 0x0F: $name = 'tIsect'; $size = 1; $data = ' '; break; - case 0x10: $name = 'tList'; $size = 1; $data = ','; break; - case 0x11: $name = 'tRange'; $size = 1; $data = ':'; break; - case 0x12: $name = 'tUplus'; $size = 1; $data = '+'; break; - case 0x13: $name = 'tUminus'; $size = 1; $data = '-'; break; - case 0x14: $name = 'tPercent'; $size = 1; $data = '%'; break; - case 0x15: // parenthesis - $name = 'tParen'; - $size = 1; - $data = null; - break; - case 0x16: // missing argument - $name = 'tMissArg'; - $size = 1; - $data = ''; - break; - case 0x17: // string - $name = 'tStr'; - // offset: 1; size: var; Unicode string, 8-bit string length - $string = self::_readUnicodeStringShort(substr($formulaData, 1)); - $size = 1 + $string['size']; - $data = self::_UTF8toExcelDoubleQuoted($string['value']); - break; - case 0x19: // Special attribute - // offset: 1; size: 1; attribute type flags: - switch (ord($formulaData[1])) { - case 0x01: - $name = 'tAttrVolatile'; - $size = 4; - $data = null; - break; - case 0x02: - $name = 'tAttrIf'; - $size = 4; - $data = null; - break; - case 0x04: - $name = 'tAttrChoose'; - // offset: 2; size: 2; number of choices in the CHOOSE function ($nc, number of parameters decreased by 1) - $nc = self::_GetInt2d($formulaData, 2); - // offset: 4; size: 2 * $nc - // offset: 4 + 2 * $nc; size: 2 - $size = 2 * $nc + 6; - $data = null; - break; - case 0x08: - $name = 'tAttrSkip'; - $size = 4; - $data = null; - break; - case 0x10: - $name = 'tAttrSum'; - $size = 4; - $data = null; - break; - case 0x40: - case 0x41: - $name = 'tAttrSpace'; - $size = 4; - // offset: 2; size: 2; space type and position - switch (ord($formulaData[2])) { - case 0x00: - $spacetype = 'type0'; - break; - case 0x01: - $spacetype = 'type1'; - break; - case 0x02: - $spacetype = 'type2'; - break; - case 0x03: - $spacetype = 'type3'; - break; - case 0x04: - $spacetype = 'type4'; - break; - case 0x05: - $spacetype = 'type5'; - break; - default: - throw new PHPExcel_Reader_Exception('Unrecognized space type in tAttrSpace token'); - break; - } - // offset: 3; size: 1; number of inserted spaces/carriage returns - $spacecount = ord($formulaData[3]); - - $data = array('spacetype' => $spacetype, 'spacecount' => $spacecount); - break; - default: - throw new PHPExcel_Reader_Exception('Unrecognized attribute flag in tAttr token'); - break; - } - break; - case 0x1C: // error code - // offset: 1; size: 1; error code - $name = 'tErr'; - $size = 2; - $data = self::_mapErrorCode(ord($formulaData[1])); - break; - case 0x1D: // boolean - // offset: 1; size: 1; 0 = false, 1 = true; - $name = 'tBool'; - $size = 2; - $data = ord($formulaData[1]) ? 'TRUE' : 'FALSE'; - break; - case 0x1E: // integer - // offset: 1; size: 2; unsigned 16-bit integer - $name = 'tInt'; - $size = 3; - $data = self::_GetInt2d($formulaData, 1); - break; - case 0x1F: // number - // offset: 1; size: 8; - $name = 'tNum'; - $size = 9; - $data = self::_extractNumber(substr($formulaData, 1)); - $data = str_replace(',', '.', (string)$data); // in case non-English locale - break; - case 0x20: // array constant - case 0x40: - case 0x60: - // offset: 1; size: 7; not used - $name = 'tArray'; - $size = 8; - $data = null; - break; - case 0x21: // function with fixed number of arguments - case 0x41: - case 0x61: - $name = 'tFunc'; - $size = 3; - // offset: 1; size: 2; index to built-in sheet function - switch (self::_GetInt2d($formulaData, 1)) { - case 2: $function = 'ISNA'; $args = 1; break; - case 3: $function = 'ISERROR'; $args = 1; break; - case 10: $function = 'NA'; $args = 0; break; - case 15: $function = 'SIN'; $args = 1; break; - case 16: $function = 'COS'; $args = 1; break; - case 17: $function = 'TAN'; $args = 1; break; - case 18: $function = 'ATAN'; $args = 1; break; - case 19: $function = 'PI'; $args = 0; break; - case 20: $function = 'SQRT'; $args = 1; break; - case 21: $function = 'EXP'; $args = 1; break; - case 22: $function = 'LN'; $args = 1; break; - case 23: $function = 'LOG10'; $args = 1; break; - case 24: $function = 'ABS'; $args = 1; break; - case 25: $function = 'INT'; $args = 1; break; - case 26: $function = 'SIGN'; $args = 1; break; - case 27: $function = 'ROUND'; $args = 2; break; - case 30: $function = 'REPT'; $args = 2; break; - case 31: $function = 'MID'; $args = 3; break; - case 32: $function = 'LEN'; $args = 1; break; - case 33: $function = 'VALUE'; $args = 1; break; - case 34: $function = 'TRUE'; $args = 0; break; - case 35: $function = 'FALSE'; $args = 0; break; - case 38: $function = 'NOT'; $args = 1; break; - case 39: $function = 'MOD'; $args = 2; break; - case 40: $function = 'DCOUNT'; $args = 3; break; - case 41: $function = 'DSUM'; $args = 3; break; - case 42: $function = 'DAVERAGE'; $args = 3; break; - case 43: $function = 'DMIN'; $args = 3; break; - case 44: $function = 'DMAX'; $args = 3; break; - case 45: $function = 'DSTDEV'; $args = 3; break; - case 48: $function = 'TEXT'; $args = 2; break; - case 61: $function = 'MIRR'; $args = 3; break; - case 63: $function = 'RAND'; $args = 0; break; - case 65: $function = 'DATE'; $args = 3; break; - case 66: $function = 'TIME'; $args = 3; break; - case 67: $function = 'DAY'; $args = 1; break; - case 68: $function = 'MONTH'; $args = 1; break; - case 69: $function = 'YEAR'; $args = 1; break; - case 71: $function = 'HOUR'; $args = 1; break; - case 72: $function = 'MINUTE'; $args = 1; break; - case 73: $function = 'SECOND'; $args = 1; break; - case 74: $function = 'NOW'; $args = 0; break; - case 75: $function = 'AREAS'; $args = 1; break; - case 76: $function = 'ROWS'; $args = 1; break; - case 77: $function = 'COLUMNS'; $args = 1; break; - case 83: $function = 'TRANSPOSE'; $args = 1; break; - case 86: $function = 'TYPE'; $args = 1; break; - case 97: $function = 'ATAN2'; $args = 2; break; - case 98: $function = 'ASIN'; $args = 1; break; - case 99: $function = 'ACOS'; $args = 1; break; - case 105: $function = 'ISREF'; $args = 1; break; - case 111: $function = 'CHAR'; $args = 1; break; - case 112: $function = 'LOWER'; $args = 1; break; - case 113: $function = 'UPPER'; $args = 1; break; - case 114: $function = 'PROPER'; $args = 1; break; - case 117: $function = 'EXACT'; $args = 2; break; - case 118: $function = 'TRIM'; $args = 1; break; - case 119: $function = 'REPLACE'; $args = 4; break; - case 121: $function = 'CODE'; $args = 1; break; - case 126: $function = 'ISERR'; $args = 1; break; - case 127: $function = 'ISTEXT'; $args = 1; break; - case 128: $function = 'ISNUMBER'; $args = 1; break; - case 129: $function = 'ISBLANK'; $args = 1; break; - case 130: $function = 'T'; $args = 1; break; - case 131: $function = 'N'; $args = 1; break; - case 140: $function = 'DATEVALUE'; $args = 1; break; - case 141: $function = 'TIMEVALUE'; $args = 1; break; - case 142: $function = 'SLN'; $args = 3; break; - case 143: $function = 'SYD'; $args = 4; break; - case 162: $function = 'CLEAN'; $args = 1; break; - case 163: $function = 'MDETERM'; $args = 1; break; - case 164: $function = 'MINVERSE'; $args = 1; break; - case 165: $function = 'MMULT'; $args = 2; break; - case 184: $function = 'FACT'; $args = 1; break; - case 189: $function = 'DPRODUCT'; $args = 3; break; - case 190: $function = 'ISNONTEXT'; $args = 1; break; - case 195: $function = 'DSTDEVP'; $args = 3; break; - case 196: $function = 'DVARP'; $args = 3; break; - case 198: $function = 'ISLOGICAL'; $args = 1; break; - case 199: $function = 'DCOUNTA'; $args = 3; break; - case 207: $function = 'REPLACEB'; $args = 4; break; - case 210: $function = 'MIDB'; $args = 3; break; - case 211: $function = 'LENB'; $args = 1; break; - case 212: $function = 'ROUNDUP'; $args = 2; break; - case 213: $function = 'ROUNDDOWN'; $args = 2; break; - case 214: $function = 'ASC'; $args = 1; break; - case 215: $function = 'DBCS'; $args = 1; break; - case 221: $function = 'TODAY'; $args = 0; break; - case 229: $function = 'SINH'; $args = 1; break; - case 230: $function = 'COSH'; $args = 1; break; - case 231: $function = 'TANH'; $args = 1; break; - case 232: $function = 'ASINH'; $args = 1; break; - case 233: $function = 'ACOSH'; $args = 1; break; - case 234: $function = 'ATANH'; $args = 1; break; - case 235: $function = 'DGET'; $args = 3; break; - case 244: $function = 'INFO'; $args = 1; break; - case 252: $function = 'FREQUENCY'; $args = 2; break; - case 261: $function = 'ERROR.TYPE'; $args = 1; break; - case 271: $function = 'GAMMALN'; $args = 1; break; - case 273: $function = 'BINOMDIST'; $args = 4; break; - case 274: $function = 'CHIDIST'; $args = 2; break; - case 275: $function = 'CHIINV'; $args = 2; break; - case 276: $function = 'COMBIN'; $args = 2; break; - case 277: $function = 'CONFIDENCE'; $args = 3; break; - case 278: $function = 'CRITBINOM'; $args = 3; break; - case 279: $function = 'EVEN'; $args = 1; break; - case 280: $function = 'EXPONDIST'; $args = 3; break; - case 281: $function = 'FDIST'; $args = 3; break; - case 282: $function = 'FINV'; $args = 3; break; - case 283: $function = 'FISHER'; $args = 1; break; - case 284: $function = 'FISHERINV'; $args = 1; break; - case 285: $function = 'FLOOR'; $args = 2; break; - case 286: $function = 'GAMMADIST'; $args = 4; break; - case 287: $function = 'GAMMAINV'; $args = 3; break; - case 288: $function = 'CEILING'; $args = 2; break; - case 289: $function = 'HYPGEOMDIST'; $args = 4; break; - case 290: $function = 'LOGNORMDIST'; $args = 3; break; - case 291: $function = 'LOGINV'; $args = 3; break; - case 292: $function = 'NEGBINOMDIST'; $args = 3; break; - case 293: $function = 'NORMDIST'; $args = 4; break; - case 294: $function = 'NORMSDIST'; $args = 1; break; - case 295: $function = 'NORMINV'; $args = 3; break; - case 296: $function = 'NORMSINV'; $args = 1; break; - case 297: $function = 'STANDARDIZE'; $args = 3; break; - case 298: $function = 'ODD'; $args = 1; break; - case 299: $function = 'PERMUT'; $args = 2; break; - case 300: $function = 'POISSON'; $args = 3; break; - case 301: $function = 'TDIST'; $args = 3; break; - case 302: $function = 'WEIBULL'; $args = 4; break; - case 303: $function = 'SUMXMY2'; $args = 2; break; - case 304: $function = 'SUMX2MY2'; $args = 2; break; - case 305: $function = 'SUMX2PY2'; $args = 2; break; - case 306: $function = 'CHITEST'; $args = 2; break; - case 307: $function = 'CORREL'; $args = 2; break; - case 308: $function = 'COVAR'; $args = 2; break; - case 309: $function = 'FORECAST'; $args = 3; break; - case 310: $function = 'FTEST'; $args = 2; break; - case 311: $function = 'INTERCEPT'; $args = 2; break; - case 312: $function = 'PEARSON'; $args = 2; break; - case 313: $function = 'RSQ'; $args = 2; break; - case 314: $function = 'STEYX'; $args = 2; break; - case 315: $function = 'SLOPE'; $args = 2; break; - case 316: $function = 'TTEST'; $args = 4; break; - case 325: $function = 'LARGE'; $args = 2; break; - case 326: $function = 'SMALL'; $args = 2; break; - case 327: $function = 'QUARTILE'; $args = 2; break; - case 328: $function = 'PERCENTILE'; $args = 2; break; - case 331: $function = 'TRIMMEAN'; $args = 2; break; - case 332: $function = 'TINV'; $args = 2; break; - case 337: $function = 'POWER'; $args = 2; break; - case 342: $function = 'RADIANS'; $args = 1; break; - case 343: $function = 'DEGREES'; $args = 1; break; - case 346: $function = 'COUNTIF'; $args = 2; break; - case 347: $function = 'COUNTBLANK'; $args = 1; break; - case 350: $function = 'ISPMT'; $args = 4; break; - case 351: $function = 'DATEDIF'; $args = 3; break; - case 352: $function = 'DATESTRING'; $args = 1; break; - case 353: $function = 'NUMBERSTRING'; $args = 2; break; - case 360: $function = 'PHONETIC'; $args = 1; break; - case 368: $function = 'BAHTTEXT'; $args = 1; break; - default: - throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); - break; - } - $data = array('function' => $function, 'args' => $args); - break; - case 0x22: // function with variable number of arguments - case 0x42: - case 0x62: - $name = 'tFuncV'; - $size = 4; - // offset: 1; size: 1; number of arguments - $args = ord($formulaData[1]); - // offset: 2: size: 2; index to built-in sheet function - $index = self::_GetInt2d($formulaData, 2); - switch ($index) { - case 0: $function = 'COUNT'; break; - case 1: $function = 'IF'; break; - case 4: $function = 'SUM'; break; - case 5: $function = 'AVERAGE'; break; - case 6: $function = 'MIN'; break; - case 7: $function = 'MAX'; break; - case 8: $function = 'ROW'; break; - case 9: $function = 'COLUMN'; break; - case 11: $function = 'NPV'; break; - case 12: $function = 'STDEV'; break; - case 13: $function = 'DOLLAR'; break; - case 14: $function = 'FIXED'; break; - case 28: $function = 'LOOKUP'; break; - case 29: $function = 'INDEX'; break; - case 36: $function = 'AND'; break; - case 37: $function = 'OR'; break; - case 46: $function = 'VAR'; break; - case 49: $function = 'LINEST'; break; - case 50: $function = 'TREND'; break; - case 51: $function = 'LOGEST'; break; - case 52: $function = 'GROWTH'; break; - case 56: $function = 'PV'; break; - case 57: $function = 'FV'; break; - case 58: $function = 'NPER'; break; - case 59: $function = 'PMT'; break; - case 60: $function = 'RATE'; break; - case 62: $function = 'IRR'; break; - case 64: $function = 'MATCH'; break; - case 70: $function = 'WEEKDAY'; break; - case 78: $function = 'OFFSET'; break; - case 82: $function = 'SEARCH'; break; - case 100: $function = 'CHOOSE'; break; - case 101: $function = 'HLOOKUP'; break; - case 102: $function = 'VLOOKUP'; break; - case 109: $function = 'LOG'; break; - case 115: $function = 'LEFT'; break; - case 116: $function = 'RIGHT'; break; - case 120: $function = 'SUBSTITUTE'; break; - case 124: $function = 'FIND'; break; - case 125: $function = 'CELL'; break; - case 144: $function = 'DDB'; break; - case 148: $function = 'INDIRECT'; break; - case 167: $function = 'IPMT'; break; - case 168: $function = 'PPMT'; break; - case 169: $function = 'COUNTA'; break; - case 183: $function = 'PRODUCT'; break; - case 193: $function = 'STDEVP'; break; - case 194: $function = 'VARP'; break; - case 197: $function = 'TRUNC'; break; - case 204: $function = 'USDOLLAR'; break; - case 205: $function = 'FINDB'; break; - case 206: $function = 'SEARCHB'; break; - case 208: $function = 'LEFTB'; break; - case 209: $function = 'RIGHTB'; break; - case 216: $function = 'RANK'; break; - case 219: $function = 'ADDRESS'; break; - case 220: $function = 'DAYS360'; break; - case 222: $function = 'VDB'; break; - case 227: $function = 'MEDIAN'; break; - case 228: $function = 'SUMPRODUCT'; break; - case 247: $function = 'DB'; break; - case 255: $function = ''; break; - case 269: $function = 'AVEDEV'; break; - case 270: $function = 'BETADIST'; break; - case 272: $function = 'BETAINV'; break; - case 317: $function = 'PROB'; break; - case 318: $function = 'DEVSQ'; break; - case 319: $function = 'GEOMEAN'; break; - case 320: $function = 'HARMEAN'; break; - case 321: $function = 'SUMSQ'; break; - case 322: $function = 'KURT'; break; - case 323: $function = 'SKEW'; break; - case 324: $function = 'ZTEST'; break; - case 329: $function = 'PERCENTRANK'; break; - case 330: $function = 'MODE'; break; - case 336: $function = 'CONCATENATE'; break; - case 344: $function = 'SUBTOTAL'; break; - case 345: $function = 'SUMIF'; break; - case 354: $function = 'ROMAN'; break; - case 358: $function = 'GETPIVOTDATA'; break; - case 359: $function = 'HYPERLINK'; break; - case 361: $function = 'AVERAGEA'; break; - case 362: $function = 'MAXA'; break; - case 363: $function = 'MINA'; break; - case 364: $function = 'STDEVPA'; break; - case 365: $function = 'VARPA'; break; - case 366: $function = 'STDEVA'; break; - case 367: $function = 'VARA'; break; - default: - throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); - break; - } - $data = array('function' => $function, 'args' => $args); - break; - case 0x23: // index to defined name - case 0x43: - case 0x63: - $name = 'tName'; - $size = 5; - // offset: 1; size: 2; one-based index to definedname record - $definedNameIndex = self::_GetInt2d($formulaData, 1) - 1; - // offset: 2; size: 2; not used - $data = $this->_definedname[$definedNameIndex]['name']; - break; - case 0x24: // single cell reference e.g. A5 - case 0x44: - case 0x64: - $name = 'tRef'; - $size = 5; - $data = $this->_readBIFF8CellAddress(substr($formulaData, 1, 4)); - break; - case 0x25: // cell range reference to cells in the same sheet (2d) - case 0x45: - case 0x65: - $name = 'tArea'; - $size = 9; - $data = $this->_readBIFF8CellRangeAddress(substr($formulaData, 1, 8)); - break; - case 0x26: // Constant reference sub-expression - case 0x46: - case 0x66: - $name = 'tMemArea'; - // offset: 1; size: 4; not used - // offset: 5; size: 2; size of the following subexpression - $subSize = self::_GetInt2d($formulaData, 5); - $size = 7 + $subSize; - $data = $this->_getFormulaFromData(substr($formulaData, 7, $subSize)); - break; - case 0x27: // Deleted constant reference sub-expression - case 0x47: - case 0x67: - $name = 'tMemErr'; - // offset: 1; size: 4; not used - // offset: 5; size: 2; size of the following subexpression - $subSize = self::_GetInt2d($formulaData, 5); - $size = 7 + $subSize; - $data = $this->_getFormulaFromData(substr($formulaData, 7, $subSize)); - break; - case 0x29: // Variable reference sub-expression - case 0x49: - case 0x69: - $name = 'tMemFunc'; - // offset: 1; size: 2; size of the following sub-expression - $subSize = self::_GetInt2d($formulaData, 1); - $size = 3 + $subSize; - $data = $this->_getFormulaFromData(substr($formulaData, 3, $subSize)); - break; - - case 0x2C: // Relative 2d cell reference reference, used in shared formulas and some other places - case 0x4C: - case 0x6C: - $name = 'tRefN'; - $size = 5; - $data = $this->_readBIFF8CellAddressB(substr($formulaData, 1, 4), $baseCell); - break; - - case 0x2D: // Relative 2d range reference - case 0x4D: - case 0x6D: - $name = 'tAreaN'; - $size = 9; - $data = $this->_readBIFF8CellRangeAddressB(substr($formulaData, 1, 8), $baseCell); - break; - - case 0x39: // External name - case 0x59: - case 0x79: - $name = 'tNameX'; - $size = 7; - // offset: 1; size: 2; index to REF entry in EXTERNSHEET record - // offset: 3; size: 2; one-based index to DEFINEDNAME or EXTERNNAME record - $index = self::_GetInt2d($formulaData, 3); - // assume index is to EXTERNNAME record - $data = $this->_externalNames[$index - 1]['name']; - // offset: 5; size: 2; not used - break; - - case 0x3A: // 3d reference to cell - case 0x5A: - case 0x7A: - $name = 'tRef3d'; - $size = 7; - - try { - // offset: 1; size: 2; index to REF entry - $sheetRange = $this->_readSheetRangeByRefIndex(self::_GetInt2d($formulaData, 1)); - // offset: 3; size: 4; cell address - $cellAddress = $this->_readBIFF8CellAddress(substr($formulaData, 3, 4)); - - $data = "$sheetRange!$cellAddress"; - } catch (PHPExcel_Exception $e) { - // deleted sheet reference - $data = '#REF!'; - } - - break; - case 0x3B: // 3d reference to cell range - case 0x5B: - case 0x7B: - $name = 'tArea3d'; - $size = 11; - - try { - // offset: 1; size: 2; index to REF entry - $sheetRange = $this->_readSheetRangeByRefIndex(self::_GetInt2d($formulaData, 1)); - // offset: 3; size: 8; cell address - $cellRangeAddress = $this->_readBIFF8CellRangeAddress(substr($formulaData, 3, 8)); - - $data = "$sheetRange!$cellRangeAddress"; - } catch (PHPExcel_Exception $e) { - // deleted sheet reference - $data = '#REF!'; - } - - break; - // Unknown cases // don't know how to deal with - default: - throw new PHPExcel_Reader_Exception('Unrecognized token ' . sprintf('%02X', $id) . ' in formula'); - break; - } - - return array( - 'id' => $id, - 'name' => $name, - 'size' => $size, - 'data' => $data, - ); - } - - - /** - * Reads a cell address in BIFF8 e.g. 'A2' or '$A$2' - * section 3.3.4 - * - * @param string $cellAddressStructure - * @return string - */ - private function _readBIFF8CellAddress($cellAddressStructure) - { - // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) - $row = self::_GetInt2d($cellAddressStructure, 0) + 1; - - // offset: 2; size: 2; index to column or column offset + relative flags - - // bit: 7-0; mask 0x00FF; column index - $column = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($cellAddressStructure, 2)); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($cellAddressStructure, 2))) { - $column = '$' . $column; - } - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($cellAddressStructure, 2))) { - $row = '$' . $row; - } - - return $column . $row; - } - - - /** - * Reads a cell address in BIFF8 for shared formulas. Uses positive and negative values for row and column - * to indicate offsets from a base cell - * section 3.3.4 - * - * @param string $cellAddressStructure - * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas - * @return string - */ - private function _readBIFF8CellAddressB($cellAddressStructure, $baseCell = 'A1') - { - list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); - $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; - - // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) - $rowIndex = self::_GetInt2d($cellAddressStructure, 0); - $row = self::_GetInt2d($cellAddressStructure, 0) + 1; - - // offset: 2; size: 2; index to column or column offset + relative flags - - // bit: 7-0; mask 0x00FF; column index - $colIndex = 0x00FF & self::_GetInt2d($cellAddressStructure, 2); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($cellAddressStructure, 2))) { - $column = PHPExcel_Cell::stringFromColumnIndex($colIndex); - $column = '$' . $column; - } else { - $colIndex = ($colIndex <= 127) ? $colIndex : $colIndex - 256; - $column = PHPExcel_Cell::stringFromColumnIndex($baseCol + $colIndex); - } - - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($cellAddressStructure, 2))) { - $row = '$' . $row; - } else { - $rowIndex = ($rowIndex <= 32767) ? $rowIndex : $rowIndex - 65536; - $row = $baseRow + $rowIndex; - } - - return $column . $row; - } - - - /** - * Reads a cell range address in BIFF5 e.g. 'A2:B6' or 'A1' - * always fixed range - * section 2.5.14 - * - * @param string $subData - * @return string - * @throws PHPExcel_Reader_Exception - */ - private function _readBIFF5CellRangeAddressFixed($subData) - { - // offset: 0; size: 2; index to first row - $fr = self::_GetInt2d($subData, 0) + 1; - - // offset: 2; size: 2; index to last row - $lr = self::_GetInt2d($subData, 2) + 1; - - // offset: 4; size: 1; index to first column - $fc = ord($subData{4}); - - // offset: 5; size: 1; index to last column - $lc = ord($subData{5}); - - // check values - if ($fr > $lr || $fc > $lc) { - throw new PHPExcel_Reader_Exception('Not a cell range address'); - } - - // column index to letter - $fc = PHPExcel_Cell::stringFromColumnIndex($fc); - $lc = PHPExcel_Cell::stringFromColumnIndex($lc); - - if ($fr == $lr and $fc == $lc) { - return "$fc$fr"; - } - return "$fc$fr:$lc$lr"; - } - - - /** - * Reads a cell range address in BIFF8 e.g. 'A2:B6' or 'A1' - * always fixed range - * section 2.5.14 - * - * @param string $subData - * @return string - * @throws PHPExcel_Reader_Exception - */ - private function _readBIFF8CellRangeAddressFixed($subData) - { - // offset: 0; size: 2; index to first row - $fr = self::_GetInt2d($subData, 0) + 1; - - // offset: 2; size: 2; index to last row - $lr = self::_GetInt2d($subData, 2) + 1; - - // offset: 4; size: 2; index to first column - $fc = self::_GetInt2d($subData, 4); - - // offset: 6; size: 2; index to last column - $lc = self::_GetInt2d($subData, 6); - - // check values - if ($fr > $lr || $fc > $lc) { - throw new PHPExcel_Reader_Exception('Not a cell range address'); - } - - // column index to letter - $fc = PHPExcel_Cell::stringFromColumnIndex($fc); - $lc = PHPExcel_Cell::stringFromColumnIndex($lc); - - if ($fr == $lr and $fc == $lc) { - return "$fc$fr"; - } - return "$fc$fr:$lc$lr"; - } - - - /** - * Reads a cell range address in BIFF8 e.g. 'A2:B6' or '$A$2:$B$6' - * there are flags indicating whether column/row index is relative - * section 3.3.4 - * - * @param string $subData - * @return string - */ - private function _readBIFF8CellRangeAddress($subData) - { - // todo: if cell range is just a single cell, should this funciton - // not just return e.g. 'A1' and not 'A1:A1' ? - - // offset: 0; size: 2; index to first row (0... 65535) (or offset (-32768... 32767)) - $fr = self::_GetInt2d($subData, 0) + 1; - - // offset: 2; size: 2; index to last row (0... 65535) (or offset (-32768... 32767)) - $lr = self::_GetInt2d($subData, 2) + 1; - - // offset: 4; size: 2; index to first column or column offset + relative flags - - // bit: 7-0; mask 0x00FF; column index - $fc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($subData, 4)); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($subData, 4))) { - $fc = '$' . $fc; - } - - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($subData, 4))) { - $fr = '$' . $fr; - } - - // offset: 6; size: 2; index to last column or column offset + relative flags - - // bit: 7-0; mask 0x00FF; column index - $lc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::_GetInt2d($subData, 6)); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($subData, 6))) { - $lc = '$' . $lc; - } - - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($subData, 6))) { - $lr = '$' . $lr; - } - - return "$fc$fr:$lc$lr"; - } - - - /** - * Reads a cell range address in BIFF8 for shared formulas. Uses positive and negative values for row and column - * to indicate offsets from a base cell - * section 3.3.4 - * - * @param string $subData - * @param string $baseCell Base cell - * @return string Cell range address - */ - private function _readBIFF8CellRangeAddressB($subData, $baseCell = 'A1') - { - list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); - $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; - - // TODO: if cell range is just a single cell, should this funciton - // not just return e.g. 'A1' and not 'A1:A1' ? - - // offset: 0; size: 2; first row - $frIndex = self::_GetInt2d($subData, 0); // adjust below - - // offset: 2; size: 2; relative index to first row (0... 65535) should be treated as offset (-32768... 32767) - $lrIndex = self::_GetInt2d($subData, 2); // adjust below - - // offset: 4; size: 2; first column with relative/absolute flags - - // bit: 7-0; mask 0x00FF; column index - $fcIndex = 0x00FF & self::_GetInt2d($subData, 4); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($subData, 4))) { - // absolute column index - $fc = PHPExcel_Cell::stringFromColumnIndex($fcIndex); - $fc = '$' . $fc; - } else { - // column offset - $fcIndex = ($fcIndex <= 127) ? $fcIndex : $fcIndex - 256; - $fc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $fcIndex); - } - - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($subData, 4))) { - // absolute row index - $fr = $frIndex + 1; - $fr = '$' . $fr; - } else { - // row offset - $frIndex = ($frIndex <= 32767) ? $frIndex : $frIndex - 65536; - $fr = $baseRow + $frIndex; - } - - // offset: 6; size: 2; last column with relative/absolute flags - - // bit: 7-0; mask 0x00FF; column index - $lcIndex = 0x00FF & self::_GetInt2d($subData, 6); - $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; - $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); - - // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) - if (!(0x4000 & self::_GetInt2d($subData, 6))) { - // absolute column index - $lc = PHPExcel_Cell::stringFromColumnIndex($lcIndex); - $lc = '$' . $lc; - } else { - // column offset - $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; - $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); - } - - // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) - if (!(0x8000 & self::_GetInt2d($subData, 6))) { - // absolute row index - $lr = $lrIndex + 1; - $lr = '$' . $lr; - } else { - // row offset - $lrIndex = ($lrIndex <= 32767) ? $lrIndex : $lrIndex - 65536; - $lr = $baseRow + $lrIndex; - } - - return "$fc$fr:$lc$lr"; - } - - - /** - * Read BIFF8 cell range address list - * section 2.5.15 - * - * @param string $subData - * @return array - */ - private function _readBIFF8CellRangeAddressList($subData) - { - $cellRangeAddresses = array(); - - // offset: 0; size: 2; number of the following cell range addresses - $nm = self::_GetInt2d($subData, 0); - - $offset = 2; - // offset: 2; size: 8 * $nm; list of $nm (fixed) cell range addresses - for ($i = 0; $i < $nm; ++$i) { - $cellRangeAddresses[] = $this->_readBIFF8CellRangeAddressFixed(substr($subData, $offset, 8)); - $offset += 8; - } - - return array( - 'size' => 2 + 8 * $nm, - 'cellRangeAddresses' => $cellRangeAddresses, - ); - } - - - /** - * Read BIFF5 cell range address list - * section 2.5.15 - * - * @param string $subData - * @return array - */ - private function _readBIFF5CellRangeAddressList($subData) - { - $cellRangeAddresses = array(); - - // offset: 0; size: 2; number of the following cell range addresses - $nm = self::_GetInt2d($subData, 0); - - $offset = 2; - // offset: 2; size: 6 * $nm; list of $nm (fixed) cell range addresses - for ($i = 0; $i < $nm; ++$i) { - $cellRangeAddresses[] = $this->_readBIFF5CellRangeAddressFixed(substr($subData, $offset, 6)); - $offset += 6; - } - - return array( - 'size' => 2 + 6 * $nm, - 'cellRangeAddresses' => $cellRangeAddresses, - ); - } - - - /** - * Get a sheet range like Sheet1:Sheet3 from REF index - * Note: If there is only one sheet in the range, one gets e.g Sheet1 - * It can also happen that the REF structure uses the -1 (FFFF) code to indicate deleted sheets, - * in which case an PHPExcel_Reader_Exception is thrown - * - * @param int $index - * @return string|false - * @throws PHPExcel_Reader_Exception - */ - private function _readSheetRangeByRefIndex($index) - { - if (isset($this->_ref[$index])) { - - $type = $this->_externalBooks[$this->_ref[$index]['externalBookIndex']]['type']; - - switch ($type) { - case 'internal': - // check if we have a deleted 3d reference - if ($this->_ref[$index]['firstSheetIndex'] == 0xFFFF or $this->_ref[$index]['lastSheetIndex'] == 0xFFFF) { - throw new PHPExcel_Reader_Exception('Deleted sheet reference'); - } - - // we have normal sheet range (collapsed or uncollapsed) - $firstSheetName = $this->_sheets[$this->_ref[$index]['firstSheetIndex']]['name']; - $lastSheetName = $this->_sheets[$this->_ref[$index]['lastSheetIndex']]['name']; - - if ($firstSheetName == $lastSheetName) { - // collapsed sheet range - $sheetRange = $firstSheetName; - } else { - $sheetRange = "$firstSheetName:$lastSheetName"; - } - - // escape the single-quotes - $sheetRange = str_replace("'", "''", $sheetRange); - - // if there are special characters, we need to enclose the range in single-quotes - // todo: check if we have identified the whole set of special characters - // it seems that the following characters are not accepted for sheet names - // and we may assume that they are not present: []*/:\? - if (preg_match("/[ !\"@#£$%&{()}<>=+'|^,;-]/", $sheetRange)) { - $sheetRange = "'$sheetRange'"; - } - - return $sheetRange; - break; - - default: - // TODO: external sheet support - throw new PHPExcel_Reader_Exception('Excel5 reader only supports internal sheets in fomulas'); - break; - } - } - return false; - } - - - /** - * read BIFF8 constant value array from array data - * returns e.g. array('value' => '{1,2;3,4}', 'size' => 40} - * section 2.5.8 - * - * @param string $arrayData - * @return array - */ - private static function _readBIFF8ConstantArray($arrayData) - { - // offset: 0; size: 1; number of columns decreased by 1 - $nc = ord($arrayData[0]); - - // offset: 1; size: 2; number of rows decreased by 1 - $nr = self::_GetInt2d($arrayData, 1); - $size = 3; // initialize - $arrayData = substr($arrayData, 3); - - // offset: 3; size: var; list of ($nc + 1) * ($nr + 1) constant values - $matrixChunks = array(); - for ($r = 1; $r <= $nr + 1; ++$r) { - $items = array(); - for ($c = 1; $c <= $nc + 1; ++$c) { - $constant = self::_readBIFF8Constant($arrayData); - $items[] = $constant['value']; - $arrayData = substr($arrayData, $constant['size']); - $size += $constant['size']; - } - $matrixChunks[] = implode(',', $items); // looks like e.g. '1,"hello"' - } - $matrix = '{' . implode(';', $matrixChunks) . '}'; - - return array( - 'value' => $matrix, - 'size' => $size, - ); - } - - - /** - * read BIFF8 constant value which may be 'Empty Value', 'Number', 'String Value', 'Boolean Value', 'Error Value' - * section 2.5.7 - * returns e.g. array('value' => '5', 'size' => 9) - * - * @param string $valueData - * @return array - */ - private static function _readBIFF8Constant($valueData) - { - // offset: 0; size: 1; identifier for type of constant - $identifier = ord($valueData[0]); - - switch ($identifier) { - case 0x00: // empty constant (what is this?) - $value = ''; - $size = 9; - break; - case 0x01: // number - // offset: 1; size: 8; IEEE 754 floating-point value - $value = self::_extractNumber(substr($valueData, 1, 8)); - $size = 9; - break; - case 0x02: // string value - // offset: 1; size: var; Unicode string, 16-bit string length - $string = self::_readUnicodeStringLong(substr($valueData, 1)); - $value = '"' . $string['value'] . '"'; - $size = 1 + $string['size']; - break; - case 0x04: // boolean - // offset: 1; size: 1; 0 = FALSE, 1 = TRUE - if (ord($valueData[1])) { - $value = 'TRUE'; - } else { - $value = 'FALSE'; - } - $size = 9; - break; - case 0x10: // error code - // offset: 1; size: 1; error code - $value = self::_mapErrorCode(ord($valueData[1])); - $size = 9; - break; - } - return array( - 'value' => $value, - 'size' => $size, - ); - } - - - /** - * Extract RGB color - * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.4 - * - * @param string $rgb Encoded RGB value (4 bytes) - * @return array - */ - private static function _readRGB($rgb) - { - // offset: 0; size 1; Red component - $r = ord($rgb{0}); - - // offset: 1; size: 1; Green component - $g = ord($rgb{1}); - - // offset: 2; size: 1; Blue component - $b = ord($rgb{2}); - - // HEX notation, e.g. 'FF00FC' - $rgb = sprintf('%02X%02X%02X', $r, $g, $b); - - return array('rgb' => $rgb); - } - - - /** - * Read byte string (8-bit string length) - * OpenOffice documentation: 2.5.2 - * - * @param string $subData - * @return array - */ - private function _readByteStringShort($subData) - { - // offset: 0; size: 1; length of the string (character count) - $ln = ord($subData[0]); - - // offset: 1: size: var; character array (8-bit characters) - $value = $this->_decodeCodepage(substr($subData, 1, $ln)); - - return array( - 'value' => $value, - 'size' => 1 + $ln, // size in bytes of data structure - ); - } - - - /** - * Read byte string (16-bit string length) - * OpenOffice documentation: 2.5.2 - * - * @param string $subData - * @return array - */ - private function _readByteStringLong($subData) - { - // offset: 0; size: 2; length of the string (character count) - $ln = self::_GetInt2d($subData, 0); - - // offset: 2: size: var; character array (8-bit characters) - $value = $this->_decodeCodepage(substr($subData, 2)); - - //return $string; - return array( - 'value' => $value, - 'size' => 2 + $ln, // size in bytes of data structure - ); - } - - - /** - * Extracts an Excel Unicode short string (8-bit string length) - * OpenOffice documentation: 2.5.3 - * function will automatically find out where the Unicode string ends. - * - * @param string $subData - * @return array - */ - private static function _readUnicodeStringShort($subData) - { - $value = ''; - - // offset: 0: size: 1; length of the string (character count) - $characterCount = ord($subData[0]); - - $string = self::_readUnicodeString(substr($subData, 1), $characterCount); - - // add 1 for the string length - $string['size'] += 1; - - return $string; - } - - - /** - * Extracts an Excel Unicode long string (16-bit string length) - * OpenOffice documentation: 2.5.3 - * this function is under construction, needs to support rich text, and Asian phonetic settings - * - * @param string $subData - * @return array - */ - private static function _readUnicodeStringLong($subData) - { - $value = ''; - - // offset: 0: size: 2; length of the string (character count) - $characterCount = self::_GetInt2d($subData, 0); - - $string = self::_readUnicodeString(substr($subData, 2), $characterCount); - - // add 2 for the string length - $string['size'] += 2; - - return $string; - } - - - /** - * Read Unicode string with no string length field, but with known character count - * this function is under construction, needs to support rich text, and Asian phonetic settings - * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.3 - * - * @param string $subData - * @param int $characterCount - * @return array - */ - private static function _readUnicodeString($subData, $characterCount) - { - $value = ''; - - // offset: 0: size: 1; option flags - - // bit: 0; mask: 0x01; character compression (0 = compressed 8-bit, 1 = uncompressed 16-bit) - $isCompressed = !((0x01 & ord($subData[0])) >> 0); - - // bit: 2; mask: 0x04; Asian phonetic settings - $hasAsian = (0x04) & ord($subData[0]) >> 2; - - // bit: 3; mask: 0x08; Rich-Text settings - $hasRichText = (0x08) & ord($subData[0]) >> 3; - - // offset: 1: size: var; character array - // this offset assumes richtext and Asian phonetic settings are off which is generally wrong - // needs to be fixed - $value = self::_encodeUTF16(substr($subData, 1, $isCompressed ? $characterCount : 2 * $characterCount), $isCompressed); - - return array( - 'value' => $value, - 'size' => $isCompressed ? 1 + $characterCount : 1 + 2 * $characterCount, // the size in bytes including the option flags - ); - } - - - /** - * Convert UTF-8 string to string surounded by double quotes. Used for explicit string tokens in formulas. - * Example: hello"world --> "hello""world" - * - * @param string $value UTF-8 encoded string - * @return string - */ - private static function _UTF8toExcelDoubleQuoted($value) - { - return '"' . str_replace('"', '""', $value) . '"'; - } - - - /** - * Reads first 8 bytes of a string and return IEEE 754 float - * - * @param string $data Binary string that is at least 8 bytes long - * @return float - */ - private static function _extractNumber($data) - { - $rknumhigh = self::_GetInt4d($data, 4); - $rknumlow = self::_GetInt4d($data, 0); - $sign = ($rknumhigh & 0x80000000) >> 31; - $exp = (($rknumhigh & 0x7ff00000) >> 20) - 1023; - $mantissa = (0x100000 | ($rknumhigh & 0x000fffff)); - $mantissalow1 = ($rknumlow & 0x80000000) >> 31; - $mantissalow2 = ($rknumlow & 0x7fffffff); - $value = $mantissa / pow( 2 , (20 - $exp)); - - if ($mantissalow1 != 0) { - $value += 1 / pow (2 , (21 - $exp)); - } - - $value += $mantissalow2 / pow (2 , (52 - $exp)); - if ($sign) { - $value *= -1; - } - - return $value; - } - - - private static function _GetIEEE754($rknum) - { - if (($rknum & 0x02) != 0) { - $value = $rknum >> 2; - } else { - // changes by mmp, info on IEEE754 encoding from - // research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html - // The RK format calls for using only the most significant 30 bits - // of the 64 bit floating point value. The other 34 bits are assumed - // to be 0 so we use the upper 30 bits of $rknum as follows... - $sign = ($rknum & 0x80000000) >> 31; - $exp = ($rknum & 0x7ff00000) >> 20; - $mantissa = (0x100000 | ($rknum & 0x000ffffc)); - $value = $mantissa / pow( 2 , (20- ($exp - 1023))); - if ($sign) { - $value = -1 * $value; - } - //end of changes by mmp - } - if (($rknum & 0x01) != 0) { - $value /= 100; - } - return $value; - } - - - /** - * Get UTF-8 string from (compressed or uncompressed) UTF-16 string - * - * @param string $string - * @param bool $compressed - * @return string - */ - private static function _encodeUTF16($string, $compressed = '') - { - if ($compressed) { - $string = self::_uncompressByteString($string); - } - - return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', 'UTF-16LE'); - } - - - /** - * Convert UTF-16 string in compressed notation to uncompressed form. Only used for BIFF8. - * - * @param string $string - * @return string - */ - private static function _uncompressByteString($string) - { - $uncompressedString = ''; - $strLen = strlen($string); - for ($i = 0; $i < $strLen; ++$i) { - $uncompressedString .= $string[$i] . "\0"; - } - - return $uncompressedString; - } - - - /** - * Convert string to UTF-8. Only used for BIFF5. - * - * @param string $string - * @return string - */ - private function _decodeCodepage($string) - { - return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', $this->_codepage); - } - - - /** - * Read 16-bit unsigned integer - * - * @param string $data - * @param int $pos - * @return int - */ - public static function _GetInt2d($data, $pos) - { - return ord($data[$pos]) | (ord($data[$pos+1]) << 8); - } - - - /** - * Read 32-bit signed integer - * - * @param string $data - * @param int $pos - * @return int - */ - public static function _GetInt4d($data, $pos) - { - // FIX: represent numbers correctly on 64-bit system - // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 - // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems - $_or_24 = ord($data[$pos + 3]); - if ($_or_24 >= 128) { - // negative number - $_ord_24 = -abs((256 - $_or_24) << 24); - } else { - $_ord_24 = ($_or_24 & 127) << 24; - } - return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24; - } - - - /** - * Read color - * - * @param int $color Indexed color - * @param array $palette Color palette - * @return array RGB color value, example: array('rgb' => 'FF0000') - */ - private static function _readColor($color,$palette,$version) - { - if ($color <= 0x07 || $color >= 0x40) { - // special built-in color - return self::_mapBuiltInColor($color); - } elseif (isset($palette) && isset($palette[$color - 8])) { - // palette color, color index 0x08 maps to pallete index 0 - return $palette[$color - 8]; - } else { - // default color table - if ($version == self::XLS_BIFF8) { - return self::_mapColor($color); - } else { - // BIFF5 - return self::_mapColorBIFF5($color); - } - } - - return $color; - } - - - /** - * Map border style - * OpenOffice documentation: 2.5.11 - * - * @param int $index - * @return string - */ - private static function _mapBorderStyle($index) - { - switch ($index) { - case 0x00: return PHPExcel_Style_Border::BORDER_NONE; - case 0x01: return PHPExcel_Style_Border::BORDER_THIN; - case 0x02: return PHPExcel_Style_Border::BORDER_MEDIUM; - case 0x03: return PHPExcel_Style_Border::BORDER_DASHED; - case 0x04: return PHPExcel_Style_Border::BORDER_DOTTED; - case 0x05: return PHPExcel_Style_Border::BORDER_THICK; - case 0x06: return PHPExcel_Style_Border::BORDER_DOUBLE; - case 0x07: return PHPExcel_Style_Border::BORDER_HAIR; - case 0x08: return PHPExcel_Style_Border::BORDER_MEDIUMDASHED; - case 0x09: return PHPExcel_Style_Border::BORDER_DASHDOT; - case 0x0A: return PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT; - case 0x0B: return PHPExcel_Style_Border::BORDER_DASHDOTDOT; - case 0x0C: return PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; - case 0x0D: return PHPExcel_Style_Border::BORDER_SLANTDASHDOT; - default: return PHPExcel_Style_Border::BORDER_NONE; - } - } - - - /** - * Get fill pattern from index - * OpenOffice documentation: 2.5.12 - * - * @param int $index - * @return string - */ - private static function _mapFillPattern($index) - { - switch ($index) { - case 0x00: return PHPExcel_Style_Fill::FILL_NONE; - case 0x01: return PHPExcel_Style_Fill::FILL_SOLID; - case 0x02: return PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY; - case 0x03: return PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY; - case 0x04: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY; - case 0x05: return PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL; - case 0x06: return PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL; - case 0x07: return PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN; - case 0x08: return PHPExcel_Style_Fill::FILL_PATTERN_DARKUP; - case 0x09: return PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID; - case 0x0A: return PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS; - case 0x0B: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL; - case 0x0C: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL; - case 0x0D: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN; - case 0x0E: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP; - case 0x0F: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID; - case 0x10: return PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS; - case 0x11: return PHPExcel_Style_Fill::FILL_PATTERN_GRAY125; - case 0x12: return PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625; - default: return PHPExcel_Style_Fill::FILL_NONE; - } - } - - - /** - * Map error code, e.g. '#N/A' - * - * @param int $subData - * @return string - */ - private static function _mapErrorCode($subData) - { - switch ($subData) { - case 0x00: return '#NULL!'; break; - case 0x07: return '#DIV/0!'; break; - case 0x0F: return '#VALUE!'; break; - case 0x17: return '#REF!'; break; - case 0x1D: return '#NAME?'; break; - case 0x24: return '#NUM!'; break; - case 0x2A: return '#N/A'; break; - default: return false; - } - } - - - /** - * Map built-in color to RGB value - * - * @param int $color Indexed color - * @return array - */ - private static function _mapBuiltInColor($color) - { - switch ($color) { - case 0x00: return array('rgb' => '000000'); - case 0x01: return array('rgb' => 'FFFFFF'); - case 0x02: return array('rgb' => 'FF0000'); - case 0x03: return array('rgb' => '00FF00'); - case 0x04: return array('rgb' => '0000FF'); - case 0x05: return array('rgb' => 'FFFF00'); - case 0x06: return array('rgb' => 'FF00FF'); - case 0x07: return array('rgb' => '00FFFF'); - case 0x40: return array('rgb' => '000000'); // system window text color - case 0x41: return array('rgb' => 'FFFFFF'); // system window background color - default: return array('rgb' => '000000'); - } - } - - - /** - * Map color array from BIFF5 built-in color index - * - * @param int $subData - * @return array - */ - private static function _mapColorBIFF5($subData) - { - switch ($subData) { - case 0x08: return array('rgb' => '000000'); - case 0x09: return array('rgb' => 'FFFFFF'); - case 0x0A: return array('rgb' => 'FF0000'); - case 0x0B: return array('rgb' => '00FF00'); - case 0x0C: return array('rgb' => '0000FF'); - case 0x0D: return array('rgb' => 'FFFF00'); - case 0x0E: return array('rgb' => 'FF00FF'); - case 0x0F: return array('rgb' => '00FFFF'); - case 0x10: return array('rgb' => '800000'); - case 0x11: return array('rgb' => '008000'); - case 0x12: return array('rgb' => '000080'); - case 0x13: return array('rgb' => '808000'); - case 0x14: return array('rgb' => '800080'); - case 0x15: return array('rgb' => '008080'); - case 0x16: return array('rgb' => 'C0C0C0'); - case 0x17: return array('rgb' => '808080'); - case 0x18: return array('rgb' => '8080FF'); - case 0x19: return array('rgb' => '802060'); - case 0x1A: return array('rgb' => 'FFFFC0'); - case 0x1B: return array('rgb' => 'A0E0F0'); - case 0x1C: return array('rgb' => '600080'); - case 0x1D: return array('rgb' => 'FF8080'); - case 0x1E: return array('rgb' => '0080C0'); - case 0x1F: return array('rgb' => 'C0C0FF'); - case 0x20: return array('rgb' => '000080'); - case 0x21: return array('rgb' => 'FF00FF'); - case 0x22: return array('rgb' => 'FFFF00'); - case 0x23: return array('rgb' => '00FFFF'); - case 0x24: return array('rgb' => '800080'); - case 0x25: return array('rgb' => '800000'); - case 0x26: return array('rgb' => '008080'); - case 0x27: return array('rgb' => '0000FF'); - case 0x28: return array('rgb' => '00CFFF'); - case 0x29: return array('rgb' => '69FFFF'); - case 0x2A: return array('rgb' => 'E0FFE0'); - case 0x2B: return array('rgb' => 'FFFF80'); - case 0x2C: return array('rgb' => 'A6CAF0'); - case 0x2D: return array('rgb' => 'DD9CB3'); - case 0x2E: return array('rgb' => 'B38FEE'); - case 0x2F: return array('rgb' => 'E3E3E3'); - case 0x30: return array('rgb' => '2A6FF9'); - case 0x31: return array('rgb' => '3FB8CD'); - case 0x32: return array('rgb' => '488436'); - case 0x33: return array('rgb' => '958C41'); - case 0x34: return array('rgb' => '8E5E42'); - case 0x35: return array('rgb' => 'A0627A'); - case 0x36: return array('rgb' => '624FAC'); - case 0x37: return array('rgb' => '969696'); - case 0x38: return array('rgb' => '1D2FBE'); - case 0x39: return array('rgb' => '286676'); - case 0x3A: return array('rgb' => '004500'); - case 0x3B: return array('rgb' => '453E01'); - case 0x3C: return array('rgb' => '6A2813'); - case 0x3D: return array('rgb' => '85396A'); - case 0x3E: return array('rgb' => '4A3285'); - case 0x3F: return array('rgb' => '424242'); - default: return array('rgb' => '000000'); - } - } - - - /** - * Map color array from BIFF8 built-in color index - * - * @param int $subData - * @return array - */ - private static function _mapColor($subData) - { - switch ($subData) { - case 0x08: return array('rgb' => '000000'); - case 0x09: return array('rgb' => 'FFFFFF'); - case 0x0A: return array('rgb' => 'FF0000'); - case 0x0B: return array('rgb' => '00FF00'); - case 0x0C: return array('rgb' => '0000FF'); - case 0x0D: return array('rgb' => 'FFFF00'); - case 0x0E: return array('rgb' => 'FF00FF'); - case 0x0F: return array('rgb' => '00FFFF'); - case 0x10: return array('rgb' => '800000'); - case 0x11: return array('rgb' => '008000'); - case 0x12: return array('rgb' => '000080'); - case 0x13: return array('rgb' => '808000'); - case 0x14: return array('rgb' => '800080'); - case 0x15: return array('rgb' => '008080'); - case 0x16: return array('rgb' => 'C0C0C0'); - case 0x17: return array('rgb' => '808080'); - case 0x18: return array('rgb' => '9999FF'); - case 0x19: return array('rgb' => '993366'); - case 0x1A: return array('rgb' => 'FFFFCC'); - case 0x1B: return array('rgb' => 'CCFFFF'); - case 0x1C: return array('rgb' => '660066'); - case 0x1D: return array('rgb' => 'FF8080'); - case 0x1E: return array('rgb' => '0066CC'); - case 0x1F: return array('rgb' => 'CCCCFF'); - case 0x20: return array('rgb' => '000080'); - case 0x21: return array('rgb' => 'FF00FF'); - case 0x22: return array('rgb' => 'FFFF00'); - case 0x23: return array('rgb' => '00FFFF'); - case 0x24: return array('rgb' => '800080'); - case 0x25: return array('rgb' => '800000'); - case 0x26: return array('rgb' => '008080'); - case 0x27: return array('rgb' => '0000FF'); - case 0x28: return array('rgb' => '00CCFF'); - case 0x29: return array('rgb' => 'CCFFFF'); - case 0x2A: return array('rgb' => 'CCFFCC'); - case 0x2B: return array('rgb' => 'FFFF99'); - case 0x2C: return array('rgb' => '99CCFF'); - case 0x2D: return array('rgb' => 'FF99CC'); - case 0x2E: return array('rgb' => 'CC99FF'); - case 0x2F: return array('rgb' => 'FFCC99'); - case 0x30: return array('rgb' => '3366FF'); - case 0x31: return array('rgb' => '33CCCC'); - case 0x32: return array('rgb' => '99CC00'); - case 0x33: return array('rgb' => 'FFCC00'); - case 0x34: return array('rgb' => 'FF9900'); - case 0x35: return array('rgb' => 'FF6600'); - case 0x36: return array('rgb' => '666699'); - case 0x37: return array('rgb' => '969696'); - case 0x38: return array('rgb' => '003366'); - case 0x39: return array('rgb' => '339966'); - case 0x3A: return array('rgb' => '003300'); - case 0x3B: return array('rgb' => '333300'); - case 0x3C: return array('rgb' => '993300'); - case 0x3D: return array('rgb' => '993366'); - case 0x3E: return array('rgb' => '333399'); - case 0x3F: return array('rgb' => '333333'); - default: return array('rgb' => '000000'); - } - } - - - private function _parseRichText($is = '') { - $value = new PHPExcel_RichText(); - - $value->createText($is); - - return $value; - } - + if (!$this->readDataOnly) { + $offset += 12; + + // offset: 12; size: 2; shared feature type, 2 = enhanced protection, 4 = smart tag + $isf = self::getInt2d($recordData, 12); + if ($isf != 2) { + // we only read FEAT records of type 2 + return; + } + $offset += 2; + + $offset += 5; + + // offset: 19; size: 2; count of ref ranges this feature is on + $cref = self::getInt2d($recordData, 19); + $offset += 2; + + $offset += 6; + + // offset: 27; size: 8 * $cref; list of cell ranges (like in hyperlink record) + $cellRanges = array(); + for ($i = 0; $i < $cref; ++$i) { + try { + $cellRange = $this->readBIFF8CellRangeAddressFixed(substr($recordData, 27 + 8 * $i, 8)); + } catch (PHPExcel_Exception $e) { + return; + } + $cellRanges[] = $cellRange; + $offset += 8; + } + + // offset: var; size: var; variable length of feature specific data + $rgbFeat = substr($recordData, $offset); + $offset += 4; + + // offset: var; size: 4; the encrypted password (only 16-bit although field is 32-bit) + $wPassword = self::getInt4d($recordData, $offset); + $offset += 4; + + // Apply range protection to sheet + if ($cellRanges) { + $this->phpSheet->protectCells(implode(' ', $cellRanges), strtoupper(dechex($wPassword)), true); + } + } + } + + + /** + * Read IMDATA record + */ + private function readImData() + { + $length = self::getInt2d($this->data, $this->pos + 2); + + // get spliced record data + $splicedRecordData = $this->getSplicedRecordData(); + $recordData = $splicedRecordData['recordData']; + + // UNDER CONSTRUCTION + + // offset: 0; size: 2; image format + $cf = self::getInt2d($recordData, 0); + + // offset: 2; size: 2; environment from which the file was written + $env = self::getInt2d($recordData, 2); + + // offset: 4; size: 4; length of the image data + $lcb = self::getInt4d($recordData, 4); + + // offset: 8; size: var; image data + $iData = substr($recordData, 8); + + switch ($cf) { + case 0x09: // Windows bitmap format + // BITMAPCOREINFO + // 1. BITMAPCOREHEADER + // offset: 0; size: 4; bcSize, Specifies the number of bytes required by the structure + $bcSize = self::getInt4d($iData, 0); + // var_dump($bcSize); + + // offset: 4; size: 2; bcWidth, specifies the width of the bitmap, in pixels + $bcWidth = self::getInt2d($iData, 4); + // var_dump($bcWidth); + + // offset: 6; size: 2; bcHeight, specifies the height of the bitmap, in pixels. + $bcHeight = self::getInt2d($iData, 6); + // var_dump($bcHeight); + $ih = imagecreatetruecolor($bcWidth, $bcHeight); + + // offset: 8; size: 2; bcPlanes, specifies the number of planes for the target device. This value must be 1 + + // offset: 10; size: 2; bcBitCount specifies the number of bits-per-pixel. This value must be 1, 4, 8, or 24 + $bcBitCount = self::getInt2d($iData, 10); + // var_dump($bcBitCount); + + $rgbString = substr($iData, 12); + $rgbTriples = array(); + while (strlen($rgbString) > 0) { + $rgbTriples[] = unpack('Cb/Cg/Cr', $rgbString); + $rgbString = substr($rgbString, 3); + } + $x = 0; + $y = 0; + foreach ($rgbTriples as $i => $rgbTriple) { + $color = imagecolorallocate($ih, $rgbTriple['r'], $rgbTriple['g'], $rgbTriple['b']); + imagesetpixel($ih, $x, $bcHeight - 1 - $y, $color); + $x = ($x + 1) % $bcWidth; + $y = $y + floor(($x + 1) / $bcWidth); + } + //imagepng($ih, 'image.png'); + + $drawing = new PHPExcel_Worksheet_Drawing(); + $drawing->setPath($filename); + $drawing->setWorksheet($this->phpSheet); + break; + case 0x02: // Windows metafile or Macintosh PICT format + case 0x0e: // native format + default: + break; + } + + // getSplicedRecordData() takes care of moving current position in data stream + } + + + /** + * Read a free CONTINUE record. Free CONTINUE record may be a camouflaged MSODRAWING record + * When MSODRAWING data on a sheet exceeds 8224 bytes, CONTINUE records are used instead. Undocumented. + * In this case, we must treat the CONTINUE record as a MSODRAWING record + */ + private function readContinue() + { + $length = self::getInt2d($this->data, $this->pos + 2); + $recordData = $this->readRecordData($this->data, $this->pos + 4, $length); + + // check if we are reading drawing data + // this is in case a free CONTINUE record occurs in other circumstances we are unaware of + if ($this->drawingData == '') { + // move stream pointer to next record + $this->pos += 4 + $length; + + return; + } + + // check if record data is at least 4 bytes long, otherwise there is no chance this is MSODRAWING data + if ($length < 4) { + // move stream pointer to next record + $this->pos += 4 + $length; + + return; + } + + // dirty check to see if CONTINUE record could be a camouflaged MSODRAWING record + // look inside CONTINUE record to see if it looks like a part of an Escher stream + // we know that Escher stream may be split at least at + // 0xF003 MsofbtSpgrContainer + // 0xF004 MsofbtSpContainer + // 0xF00D MsofbtClientTextbox + $validSplitPoints = array(0xF003, 0xF004, 0xF00D); // add identifiers if we find more + + $splitPoint = self::getInt2d($recordData, 2); + if (in_array($splitPoint, $validSplitPoints)) { + // get spliced record data (and move pointer to next record) + $splicedRecordData = $this->getSplicedRecordData(); + $this->drawingData .= $splicedRecordData['recordData']; + + return; + } + + // move stream pointer to next record + $this->pos += 4 + $length; + } + + + /** + * Reads a record from current position in data stream and continues reading data as long as CONTINUE + * records are found. Splices the record data pieces and returns the combined string as if record data + * is in one piece. + * Moves to next current position in data stream to start of next record different from a CONtINUE record + * + * @return array + */ + private function getSplicedRecordData() + { + $data = ''; + $spliceOffsets = array(); + + $i = 0; + $spliceOffsets[0] = 0; + + do { + ++$i; + + // offset: 0; size: 2; identifier + $identifier = self::getInt2d($this->data, $this->pos); + // offset: 2; size: 2; length + $length = self::getInt2d($this->data, $this->pos + 2); + $data .= $this->readRecordData($this->data, $this->pos + 4, $length); + + $spliceOffsets[$i] = $spliceOffsets[$i - 1] + $length; + + $this->pos += 4 + $length; + $nextIdentifier = self::getInt2d($this->data, $this->pos); + } while ($nextIdentifier == self::XLS_TYPE_CONTINUE); + + $splicedData = array( + 'recordData' => $data, + 'spliceOffsets' => $spliceOffsets, + ); + + return $splicedData; + + } + + + /** + * Convert formula structure into human readable Excel formula like 'A3+A5*5' + * + * @param string $formulaStructure The complete binary data for the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function getFormulaFromStructure($formulaStructure, $baseCell = 'A1') + { + // offset: 0; size: 2; size of the following formula data + $sz = self::getInt2d($formulaStructure, 0); + + // offset: 2; size: sz + $formulaData = substr($formulaStructure, 2, $sz); + + // for debug: dump the formula data + //echo '<xmp>'; + //echo 'size: ' . $sz . "\n"; + //echo 'the entire formula data: '; + //Debug::dump($formulaData); + //echo "\n----\n"; + + // offset: 2 + sz; size: variable (optional) + if (strlen($formulaStructure) > 2 + $sz) { + $additionalData = substr($formulaStructure, 2 + $sz); + + // for debug: dump the additional data + //echo 'the entire additional data: '; + //Debug::dump($additionalData); + //echo "\n----\n"; + } else { + $additionalData = ''; + } + + return $this->getFormulaFromData($formulaData, $additionalData, $baseCell); + } + + + /** + * Take formula data and additional data for formula and return human readable formula + * + * @param string $formulaData The binary data for the formula itself + * @param string $additionalData Additional binary data going with the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function getFormulaFromData($formulaData, $additionalData = '', $baseCell = 'A1') + { + // start parsing the formula data + $tokens = array(); + + while (strlen($formulaData) > 0 and $token = $this->getNextToken($formulaData, $baseCell)) { + $tokens[] = $token; + $formulaData = substr($formulaData, $token['size']); + + // for debug: dump the token + //var_dump($token); + } + + $formulaString = $this->createFormulaFromTokens($tokens, $additionalData); + + return $formulaString; + } + + + /** + * Take array of tokens together with additional data for formula and return human readable formula + * + * @param array $tokens + * @param array $additionalData Additional binary data going with the formula + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string Human readable formula + */ + private function createFormulaFromTokens($tokens, $additionalData) + { + // empty formula? + if (empty($tokens)) { + return ''; + } + + $formulaStrings = array(); + foreach ($tokens as $token) { + // initialize spaces + $space0 = isset($space0) ? $space0 : ''; // spaces before next token, not tParen + $space1 = isset($space1) ? $space1 : ''; // carriage returns before next token, not tParen + $space2 = isset($space2) ? $space2 : ''; // spaces before opening parenthesis + $space3 = isset($space3) ? $space3 : ''; // carriage returns before opening parenthesis + $space4 = isset($space4) ? $space4 : ''; // spaces before closing parenthesis + $space5 = isset($space5) ? $space5 : ''; // carriage returns before closing parenthesis + + switch ($token['name']) { + case 'tAdd': // addition + case 'tConcat': // addition + case 'tDiv': // division + case 'tEQ': // equality + case 'tGE': // greater than or equal + case 'tGT': // greater than + case 'tIsect': // intersection + case 'tLE': // less than or equal + case 'tList': // less than or equal + case 'tLT': // less than + case 'tMul': // multiplication + case 'tNE': // multiplication + case 'tPower': // power + case 'tRange': // range + case 'tSub': // subtraction + $op2 = array_pop($formulaStrings); + $op1 = array_pop($formulaStrings); + $formulaStrings[] = "$op1$space1$space0{$token['data']}$op2"; + unset($space0, $space1); + break; + case 'tUplus': // unary plus + case 'tUminus': // unary minus + $op = array_pop($formulaStrings); + $formulaStrings[] = "$space1$space0{$token['data']}$op"; + unset($space0, $space1); + break; + case 'tPercent': // percent sign + $op = array_pop($formulaStrings); + $formulaStrings[] = "$op$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + case 'tAttrVolatile': // indicates volatile function + case 'tAttrIf': + case 'tAttrSkip': + case 'tAttrChoose': + // token is only important for Excel formula evaluator + // do nothing + break; + case 'tAttrSpace': // space / carriage return + // space will be used when next token arrives, do not alter formulaString stack + switch ($token['data']['spacetype']) { + case 'type0': + $space0 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type1': + $space1 = str_repeat("\n", $token['data']['spacecount']); + break; + case 'type2': + $space2 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type3': + $space3 = str_repeat("\n", $token['data']['spacecount']); + break; + case 'type4': + $space4 = str_repeat(' ', $token['data']['spacecount']); + break; + case 'type5': + $space5 = str_repeat("\n", $token['data']['spacecount']); + break; + } + break; + case 'tAttrSum': // SUM function with one parameter + $op = array_pop($formulaStrings); + $formulaStrings[] = "{$space1}{$space0}SUM($op)"; + unset($space0, $space1); + break; + case 'tFunc': // function with fixed number of arguments + case 'tFuncV': // function with variable number of arguments + if ($token['data']['function'] != '') { + // normal function + $ops = array(); // array of operators + for ($i = 0; $i < $token['data']['args']; ++$i) { + $ops[] = array_pop($formulaStrings); + } + $ops = array_reverse($ops); + $formulaStrings[] = "$space1$space0{$token['data']['function']}(" . implode(',', $ops) . ")"; + unset($space0, $space1); + } else { + // add-in function + $ops = array(); // array of operators + for ($i = 0; $i < $token['data']['args'] - 1; ++$i) { + $ops[] = array_pop($formulaStrings); + } + $ops = array_reverse($ops); + $function = array_pop($formulaStrings); + $formulaStrings[] = "$space1$space0$function(" . implode(',', $ops) . ")"; + unset($space0, $space1); + } + break; + case 'tParen': // parenthesis + $expression = array_pop($formulaStrings); + $formulaStrings[] = "$space3$space2($expression$space5$space4)"; + unset($space2, $space3, $space4, $space5); + break; + case 'tArray': // array constant + $constantArray = self::readBIFF8ConstantArray($additionalData); + $formulaStrings[] = $space1 . $space0 . $constantArray['value']; + $additionalData = substr($additionalData, $constantArray['size']); // bite of chunk of additional data + unset($space0, $space1); + break; + case 'tMemArea': + // bite off chunk of additional data + $cellRangeAddressList = $this->readBIFF8CellRangeAddressList($additionalData); + $additionalData = substr($additionalData, $cellRangeAddressList['size']); + $formulaStrings[] = "$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + case 'tArea': // cell range address + case 'tBool': // boolean + case 'tErr': // error code + case 'tInt': // integer + case 'tMemErr': + case 'tMemFunc': + case 'tMissArg': + case 'tName': + case 'tNameX': + case 'tNum': // number + case 'tRef': // single cell reference + case 'tRef3d': // 3d cell reference + case 'tArea3d': // 3d cell range reference + case 'tRefN': + case 'tAreaN': + case 'tStr': // string + $formulaStrings[] = "$space1$space0{$token['data']}"; + unset($space0, $space1); + break; + } + } + $formulaString = $formulaStrings[0]; + + // for debug: dump the human readable formula + //echo '----' . "\n"; + //echo 'Formula: ' . $formulaString; + + return $formulaString; + } + + + /** + * Fetch next token from binary formula data + * + * @param string Formula data + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return array + * @throws PHPExcel_Reader_Exception + */ + private function getNextToken($formulaData, $baseCell = 'A1') + { + // offset: 0; size: 1; token id + $id = ord($formulaData[0]); // token id + $name = false; // initialize token name + + switch ($id) { + case 0x03: + $name = 'tAdd'; + $size = 1; + $data = '+'; + break; + case 0x04: + $name = 'tSub'; + $size = 1; + $data = '-'; + break; + case 0x05: + $name = 'tMul'; + $size = 1; + $data = '*'; + break; + case 0x06: + $name = 'tDiv'; + $size = 1; + $data = '/'; + break; + case 0x07: + $name = 'tPower'; + $size = 1; + $data = '^'; + break; + case 0x08: + $name = 'tConcat'; + $size = 1; + $data = '&'; + break; + case 0x09: + $name = 'tLT'; + $size = 1; + $data = '<'; + break; + case 0x0A: + $name = 'tLE'; + $size = 1; + $data = '<='; + break; + case 0x0B: + $name = 'tEQ'; + $size = 1; + $data = '='; + break; + case 0x0C: + $name = 'tGE'; + $size = 1; + $data = '>='; + break; + case 0x0D: + $name = 'tGT'; + $size = 1; + $data = '>'; + break; + case 0x0E: + $name = 'tNE'; + $size = 1; + $data = '<>'; + break; + case 0x0F: + $name = 'tIsect'; + $size = 1; + $data = ' '; + break; + case 0x10: + $name = 'tList'; + $size = 1; + $data = ','; + break; + case 0x11: + $name = 'tRange'; + $size = 1; + $data = ':'; + break; + case 0x12: + $name = 'tUplus'; + $size = 1; + $data = '+'; + break; + case 0x13: + $name = 'tUminus'; + $size = 1; + $data = '-'; + break; + case 0x14: + $name = 'tPercent'; + $size = 1; + $data = '%'; + break; + case 0x15: // parenthesis + $name = 'tParen'; + $size = 1; + $data = null; + break; + case 0x16: // missing argument + $name = 'tMissArg'; + $size = 1; + $data = ''; + break; + case 0x17: // string + $name = 'tStr'; + // offset: 1; size: var; Unicode string, 8-bit string length + $string = self::readUnicodeStringShort(substr($formulaData, 1)); + $size = 1 + $string['size']; + $data = self::UTF8toExcelDoubleQuoted($string['value']); + break; + case 0x19: // Special attribute + // offset: 1; size: 1; attribute type flags: + switch (ord($formulaData[1])) { + case 0x01: + $name = 'tAttrVolatile'; + $size = 4; + $data = null; + break; + case 0x02: + $name = 'tAttrIf'; + $size = 4; + $data = null; + break; + case 0x04: + $name = 'tAttrChoose'; + // offset: 2; size: 2; number of choices in the CHOOSE function ($nc, number of parameters decreased by 1) + $nc = self::getInt2d($formulaData, 2); + // offset: 4; size: 2 * $nc + // offset: 4 + 2 * $nc; size: 2 + $size = 2 * $nc + 6; + $data = null; + break; + case 0x08: + $name = 'tAttrSkip'; + $size = 4; + $data = null; + break; + case 0x10: + $name = 'tAttrSum'; + $size = 4; + $data = null; + break; + case 0x40: + case 0x41: + $name = 'tAttrSpace'; + $size = 4; + // offset: 2; size: 2; space type and position + switch (ord($formulaData[2])) { + case 0x00: + $spacetype = 'type0'; + break; + case 0x01: + $spacetype = 'type1'; + break; + case 0x02: + $spacetype = 'type2'; + break; + case 0x03: + $spacetype = 'type3'; + break; + case 0x04: + $spacetype = 'type4'; + break; + case 0x05: + $spacetype = 'type5'; + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized space type in tAttrSpace token'); + break; + } + // offset: 3; size: 1; number of inserted spaces/carriage returns + $spacecount = ord($formulaData[3]); + + $data = array('spacetype' => $spacetype, 'spacecount' => $spacecount); + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized attribute flag in tAttr token'); + break; + } + break; + case 0x1C: // error code + // offset: 1; size: 1; error code + $name = 'tErr'; + $size = 2; + $data = PHPExcel_Reader_Excel5_ErrorCode::lookup(ord($formulaData[1])); + break; + case 0x1D: // boolean + // offset: 1; size: 1; 0 = false, 1 = true; + $name = 'tBool'; + $size = 2; + $data = ord($formulaData[1]) ? 'TRUE' : 'FALSE'; + break; + case 0x1E: // integer + // offset: 1; size: 2; unsigned 16-bit integer + $name = 'tInt'; + $size = 3; + $data = self::getInt2d($formulaData, 1); + break; + case 0x1F: // number + // offset: 1; size: 8; + $name = 'tNum'; + $size = 9; + $data = self::extractNumber(substr($formulaData, 1)); + $data = str_replace(',', '.', (string)$data); // in case non-English locale + break; + case 0x20: // array constant + case 0x40: + case 0x60: + // offset: 1; size: 7; not used + $name = 'tArray'; + $size = 8; + $data = null; + break; + case 0x21: // function with fixed number of arguments + case 0x41: + case 0x61: + $name = 'tFunc'; + $size = 3; + // offset: 1; size: 2; index to built-in sheet function + switch (self::getInt2d($formulaData, 1)) { + case 2: + $function = 'ISNA'; + $args = 1; + break; + case 3: + $function = 'ISERROR'; + $args = 1; + break; + case 10: + $function = 'NA'; + $args = 0; + break; + case 15: + $function = 'SIN'; + $args = 1; + break; + case 16: + $function = 'COS'; + $args = 1; + break; + case 17: + $function = 'TAN'; + $args = 1; + break; + case 18: + $function = 'ATAN'; + $args = 1; + break; + case 19: + $function = 'PI'; + $args = 0; + break; + case 20: + $function = 'SQRT'; + $args = 1; + break; + case 21: + $function = 'EXP'; + $args = 1; + break; + case 22: + $function = 'LN'; + $args = 1; + break; + case 23: + $function = 'LOG10'; + $args = 1; + break; + case 24: + $function = 'ABS'; + $args = 1; + break; + case 25: + $function = 'INT'; + $args = 1; + break; + case 26: + $function = 'SIGN'; + $args = 1; + break; + case 27: + $function = 'ROUND'; + $args = 2; + break; + case 30: + $function = 'REPT'; + $args = 2; + break; + case 31: + $function = 'MID'; + $args = 3; + break; + case 32: + $function = 'LEN'; + $args = 1; + break; + case 33: + $function = 'VALUE'; + $args = 1; + break; + case 34: + $function = 'TRUE'; + $args = 0; + break; + case 35: + $function = 'FALSE'; + $args = 0; + break; + case 38: + $function = 'NOT'; + $args = 1; + break; + case 39: + $function = 'MOD'; + $args = 2; + break; + case 40: + $function = 'DCOUNT'; + $args = 3; + break; + case 41: + $function = 'DSUM'; + $args = 3; + break; + case 42: + $function = 'DAVERAGE'; + $args = 3; + break; + case 43: + $function = 'DMIN'; + $args = 3; + break; + case 44: + $function = 'DMAX'; + $args = 3; + break; + case 45: + $function = 'DSTDEV'; + $args = 3; + break; + case 48: + $function = 'TEXT'; + $args = 2; + break; + case 61: + $function = 'MIRR'; + $args = 3; + break; + case 63: + $function = 'RAND'; + $args = 0; + break; + case 65: + $function = 'DATE'; + $args = 3; + break; + case 66: + $function = 'TIME'; + $args = 3; + break; + case 67: + $function = 'DAY'; + $args = 1; + break; + case 68: + $function = 'MONTH'; + $args = 1; + break; + case 69: + $function = 'YEAR'; + $args = 1; + break; + case 71: + $function = 'HOUR'; + $args = 1; + break; + case 72: + $function = 'MINUTE'; + $args = 1; + break; + case 73: + $function = 'SECOND'; + $args = 1; + break; + case 74: + $function = 'NOW'; + $args = 0; + break; + case 75: + $function = 'AREAS'; + $args = 1; + break; + case 76: + $function = 'ROWS'; + $args = 1; + break; + case 77: + $function = 'COLUMNS'; + $args = 1; + break; + case 83: + $function = 'TRANSPOSE'; + $args = 1; + break; + case 86: + $function = 'TYPE'; + $args = 1; + break; + case 97: + $function = 'ATAN2'; + $args = 2; + break; + case 98: + $function = 'ASIN'; + $args = 1; + break; + case 99: + $function = 'ACOS'; + $args = 1; + break; + case 105: + $function = 'ISREF'; + $args = 1; + break; + case 111: + $function = 'CHAR'; + $args = 1; + break; + case 112: + $function = 'LOWER'; + $args = 1; + break; + case 113: + $function = 'UPPER'; + $args = 1; + break; + case 114: + $function = 'PROPER'; + $args = 1; + break; + case 117: + $function = 'EXACT'; + $args = 2; + break; + case 118: + $function = 'TRIM'; + $args = 1; + break; + case 119: + $function = 'REPLACE'; + $args = 4; + break; + case 121: + $function = 'CODE'; + $args = 1; + break; + case 126: + $function = 'ISERR'; + $args = 1; + break; + case 127: + $function = 'ISTEXT'; + $args = 1; + break; + case 128: + $function = 'ISNUMBER'; + $args = 1; + break; + case 129: + $function = 'ISBLANK'; + $args = 1; + break; + case 130: + $function = 'T'; + $args = 1; + break; + case 131: + $function = 'N'; + $args = 1; + break; + case 140: + $function = 'DATEVALUE'; + $args = 1; + break; + case 141: + $function = 'TIMEVALUE'; + $args = 1; + break; + case 142: + $function = 'SLN'; + $args = 3; + break; + case 143: + $function = 'SYD'; + $args = 4; + break; + case 162: + $function = 'CLEAN'; + $args = 1; + break; + case 163: + $function = 'MDETERM'; + $args = 1; + break; + case 164: + $function = 'MINVERSE'; + $args = 1; + break; + case 165: + $function = 'MMULT'; + $args = 2; + break; + case 184: + $function = 'FACT'; + $args = 1; + break; + case 189: + $function = 'DPRODUCT'; + $args = 3; + break; + case 190: + $function = 'ISNONTEXT'; + $args = 1; + break; + case 195: + $function = 'DSTDEVP'; + $args = 3; + break; + case 196: + $function = 'DVARP'; + $args = 3; + break; + case 198: + $function = 'ISLOGICAL'; + $args = 1; + break; + case 199: + $function = 'DCOUNTA'; + $args = 3; + break; + case 207: + $function = 'REPLACEB'; + $args = 4; + break; + case 210: + $function = 'MIDB'; + $args = 3; + break; + case 211: + $function = 'LENB'; + $args = 1; + break; + case 212: + $function = 'ROUNDUP'; + $args = 2; + break; + case 213: + $function = 'ROUNDDOWN'; + $args = 2; + break; + case 214: + $function = 'ASC'; + $args = 1; + break; + case 215: + $function = 'DBCS'; + $args = 1; + break; + case 221: + $function = 'TODAY'; + $args = 0; + break; + case 229: + $function = 'SINH'; + $args = 1; + break; + case 230: + $function = 'COSH'; + $args = 1; + break; + case 231: + $function = 'TANH'; + $args = 1; + break; + case 232: + $function = 'ASINH'; + $args = 1; + break; + case 233: + $function = 'ACOSH'; + $args = 1; + break; + case 234: + $function = 'ATANH'; + $args = 1; + break; + case 235: + $function = 'DGET'; + $args = 3; + break; + case 244: + $function = 'INFO'; + $args = 1; + break; + case 252: + $function = 'FREQUENCY'; + $args = 2; + break; + case 261: + $function = 'ERROR.TYPE'; + $args = 1; + break; + case 271: + $function = 'GAMMALN'; + $args = 1; + break; + case 273: + $function = 'BINOMDIST'; + $args = 4; + break; + case 274: + $function = 'CHIDIST'; + $args = 2; + break; + case 275: + $function = 'CHIINV'; + $args = 2; + break; + case 276: + $function = 'COMBIN'; + $args = 2; + break; + case 277: + $function = 'CONFIDENCE'; + $args = 3; + break; + case 278: + $function = 'CRITBINOM'; + $args = 3; + break; + case 279: + $function = 'EVEN'; + $args = 1; + break; + case 280: + $function = 'EXPONDIST'; + $args = 3; + break; + case 281: + $function = 'FDIST'; + $args = 3; + break; + case 282: + $function = 'FINV'; + $args = 3; + break; + case 283: + $function = 'FISHER'; + $args = 1; + break; + case 284: + $function = 'FISHERINV'; + $args = 1; + break; + case 285: + $function = 'FLOOR'; + $args = 2; + break; + case 286: + $function = 'GAMMADIST'; + $args = 4; + break; + case 287: + $function = 'GAMMAINV'; + $args = 3; + break; + case 288: + $function = 'CEILING'; + $args = 2; + break; + case 289: + $function = 'HYPGEOMDIST'; + $args = 4; + break; + case 290: + $function = 'LOGNORMDIST'; + $args = 3; + break; + case 291: + $function = 'LOGINV'; + $args = 3; + break; + case 292: + $function = 'NEGBINOMDIST'; + $args = 3; + break; + case 293: + $function = 'NORMDIST'; + $args = 4; + break; + case 294: + $function = 'NORMSDIST'; + $args = 1; + break; + case 295: + $function = 'NORMINV'; + $args = 3; + break; + case 296: + $function = 'NORMSINV'; + $args = 1; + break; + case 297: + $function = 'STANDARDIZE'; + $args = 3; + break; + case 298: + $function = 'ODD'; + $args = 1; + break; + case 299: + $function = 'PERMUT'; + $args = 2; + break; + case 300: + $function = 'POISSON'; + $args = 3; + break; + case 301: + $function = 'TDIST'; + $args = 3; + break; + case 302: + $function = 'WEIBULL'; + $args = 4; + break; + case 303: + $function = 'SUMXMY2'; + $args = 2; + break; + case 304: + $function = 'SUMX2MY2'; + $args = 2; + break; + case 305: + $function = 'SUMX2PY2'; + $args = 2; + break; + case 306: + $function = 'CHITEST'; + $args = 2; + break; + case 307: + $function = 'CORREL'; + $args = 2; + break; + case 308: + $function = 'COVAR'; + $args = 2; + break; + case 309: + $function = 'FORECAST'; + $args = 3; + break; + case 310: + $function = 'FTEST'; + $args = 2; + break; + case 311: + $function = 'INTERCEPT'; + $args = 2; + break; + case 312: + $function = 'PEARSON'; + $args = 2; + break; + case 313: + $function = 'RSQ'; + $args = 2; + break; + case 314: + $function = 'STEYX'; + $args = 2; + break; + case 315: + $function = 'SLOPE'; + $args = 2; + break; + case 316: + $function = 'TTEST'; + $args = 4; + break; + case 325: + $function = 'LARGE'; + $args = 2; + break; + case 326: + $function = 'SMALL'; + $args = 2; + break; + case 327: + $function = 'QUARTILE'; + $args = 2; + break; + case 328: + $function = 'PERCENTILE'; + $args = 2; + break; + case 331: + $function = 'TRIMMEAN'; + $args = 2; + break; + case 332: + $function = 'TINV'; + $args = 2; + break; + case 337: + $function = 'POWER'; + $args = 2; + break; + case 342: + $function = 'RADIANS'; + $args = 1; + break; + case 343: + $function = 'DEGREES'; + $args = 1; + break; + case 346: + $function = 'COUNTIF'; + $args = 2; + break; + case 347: + $function = 'COUNTBLANK'; + $args = 1; + break; + case 350: + $function = 'ISPMT'; + $args = 4; + break; + case 351: + $function = 'DATEDIF'; + $args = 3; + break; + case 352: + $function = 'DATESTRING'; + $args = 1; + break; + case 353: + $function = 'NUMBERSTRING'; + $args = 2; + break; + case 360: + $function = 'PHONETIC'; + $args = 1; + break; + case 368: + $function = 'BAHTTEXT'; + $args = 1; + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); + break; + } + $data = array('function' => $function, 'args' => $args); + break; + case 0x22: // function with variable number of arguments + case 0x42: + case 0x62: + $name = 'tFuncV'; + $size = 4; + // offset: 1; size: 1; number of arguments + $args = ord($formulaData[1]); + // offset: 2: size: 2; index to built-in sheet function + $index = self::getInt2d($formulaData, 2); + switch ($index) { + case 0: + $function = 'COUNT'; + break; + case 1: + $function = 'IF'; + break; + case 4: + $function = 'SUM'; + break; + case 5: + $function = 'AVERAGE'; + break; + case 6: + $function = 'MIN'; + break; + case 7: + $function = 'MAX'; + break; + case 8: + $function = 'ROW'; + break; + case 9: + $function = 'COLUMN'; + break; + case 11: + $function = 'NPV'; + break; + case 12: + $function = 'STDEV'; + break; + case 13: + $function = 'DOLLAR'; + break; + case 14: + $function = 'FIXED'; + break; + case 28: + $function = 'LOOKUP'; + break; + case 29: + $function = 'INDEX'; + break; + case 36: + $function = 'AND'; + break; + case 37: + $function = 'OR'; + break; + case 46: + $function = 'VAR'; + break; + case 49: + $function = 'LINEST'; + break; + case 50: + $function = 'TREND'; + break; + case 51: + $function = 'LOGEST'; + break; + case 52: + $function = 'GROWTH'; + break; + case 56: + $function = 'PV'; + break; + case 57: + $function = 'FV'; + break; + case 58: + $function = 'NPER'; + break; + case 59: + $function = 'PMT'; + break; + case 60: + $function = 'RATE'; + break; + case 62: + $function = 'IRR'; + break; + case 64: + $function = 'MATCH'; + break; + case 70: + $function = 'WEEKDAY'; + break; + case 78: + $function = 'OFFSET'; + break; + case 82: + $function = 'SEARCH'; + break; + case 100: + $function = 'CHOOSE'; + break; + case 101: + $function = 'HLOOKUP'; + break; + case 102: + $function = 'VLOOKUP'; + break; + case 109: + $function = 'LOG'; + break; + case 115: + $function = 'LEFT'; + break; + case 116: + $function = 'RIGHT'; + break; + case 120: + $function = 'SUBSTITUTE'; + break; + case 124: + $function = 'FIND'; + break; + case 125: + $function = 'CELL'; + break; + case 144: + $function = 'DDB'; + break; + case 148: + $function = 'INDIRECT'; + break; + case 167: + $function = 'IPMT'; + break; + case 168: + $function = 'PPMT'; + break; + case 169: + $function = 'COUNTA'; + break; + case 183: + $function = 'PRODUCT'; + break; + case 193: + $function = 'STDEVP'; + break; + case 194: + $function = 'VARP'; + break; + case 197: + $function = 'TRUNC'; + break; + case 204: + $function = 'USDOLLAR'; + break; + case 205: + $function = 'FINDB'; + break; + case 206: + $function = 'SEARCHB'; + break; + case 208: + $function = 'LEFTB'; + break; + case 209: + $function = 'RIGHTB'; + break; + case 216: + $function = 'RANK'; + break; + case 219: + $function = 'ADDRESS'; + break; + case 220: + $function = 'DAYS360'; + break; + case 222: + $function = 'VDB'; + break; + case 227: + $function = 'MEDIAN'; + break; + case 228: + $function = 'SUMPRODUCT'; + break; + case 247: + $function = 'DB'; + break; + case 255: + $function = ''; + break; + case 269: + $function = 'AVEDEV'; + break; + case 270: + $function = 'BETADIST'; + break; + case 272: + $function = 'BETAINV'; + break; + case 317: + $function = 'PROB'; + break; + case 318: + $function = 'DEVSQ'; + break; + case 319: + $function = 'GEOMEAN'; + break; + case 320: + $function = 'HARMEAN'; + break; + case 321: + $function = 'SUMSQ'; + break; + case 322: + $function = 'KURT'; + break; + case 323: + $function = 'SKEW'; + break; + case 324: + $function = 'ZTEST'; + break; + case 329: + $function = 'PERCENTRANK'; + break; + case 330: + $function = 'MODE'; + break; + case 336: + $function = 'CONCATENATE'; + break; + case 344: + $function = 'SUBTOTAL'; + break; + case 345: + $function = 'SUMIF'; + break; + case 354: + $function = 'ROMAN'; + break; + case 358: + $function = 'GETPIVOTDATA'; + break; + case 359: + $function = 'HYPERLINK'; + break; + case 361: + $function = 'AVERAGEA'; + break; + case 362: + $function = 'MAXA'; + break; + case 363: + $function = 'MINA'; + break; + case 364: + $function = 'STDEVPA'; + break; + case 365: + $function = 'VARPA'; + break; + case 366: + $function = 'STDEVA'; + break; + case 367: + $function = 'VARA'; + break; + default: + throw new PHPExcel_Reader_Exception('Unrecognized function in formula'); + break; + } + $data = array('function' => $function, 'args' => $args); + break; + case 0x23: // index to defined name + case 0x43: + case 0x63: + $name = 'tName'; + $size = 5; + // offset: 1; size: 2; one-based index to definedname record + $definedNameIndex = self::getInt2d($formulaData, 1) - 1; + // offset: 2; size: 2; not used + $data = $this->definedname[$definedNameIndex]['name']; + break; + case 0x24: // single cell reference e.g. A5 + case 0x44: + case 0x64: + $name = 'tRef'; + $size = 5; + $data = $this->readBIFF8CellAddress(substr($formulaData, 1, 4)); + break; + case 0x25: // cell range reference to cells in the same sheet (2d) + case 0x45: + case 0x65: + $name = 'tArea'; + $size = 9; + $data = $this->readBIFF8CellRangeAddress(substr($formulaData, 1, 8)); + break; + case 0x26: // Constant reference sub-expression + case 0x46: + case 0x66: + $name = 'tMemArea'; + // offset: 1; size: 4; not used + // offset: 5; size: 2; size of the following subexpression + $subSize = self::getInt2d($formulaData, 5); + $size = 7 + $subSize; + $data = $this->getFormulaFromData(substr($formulaData, 7, $subSize)); + break; + case 0x27: // Deleted constant reference sub-expression + case 0x47: + case 0x67: + $name = 'tMemErr'; + // offset: 1; size: 4; not used + // offset: 5; size: 2; size of the following subexpression + $subSize = self::getInt2d($formulaData, 5); + $size = 7 + $subSize; + $data = $this->getFormulaFromData(substr($formulaData, 7, $subSize)); + break; + case 0x29: // Variable reference sub-expression + case 0x49: + case 0x69: + $name = 'tMemFunc'; + // offset: 1; size: 2; size of the following sub-expression + $subSize = self::getInt2d($formulaData, 1); + $size = 3 + $subSize; + $data = $this->getFormulaFromData(substr($formulaData, 3, $subSize)); + break; + case 0x2C: // Relative 2d cell reference reference, used in shared formulas and some other places + case 0x4C: + case 0x6C: + $name = 'tRefN'; + $size = 5; + $data = $this->readBIFF8CellAddressB(substr($formulaData, 1, 4), $baseCell); + break; + case 0x2D: // Relative 2d range reference + case 0x4D: + case 0x6D: + $name = 'tAreaN'; + $size = 9; + $data = $this->readBIFF8CellRangeAddressB(substr($formulaData, 1, 8), $baseCell); + break; + case 0x39: // External name + case 0x59: + case 0x79: + $name = 'tNameX'; + $size = 7; + // offset: 1; size: 2; index to REF entry in EXTERNSHEET record + // offset: 3; size: 2; one-based index to DEFINEDNAME or EXTERNNAME record + $index = self::getInt2d($formulaData, 3); + // assume index is to EXTERNNAME record + $data = $this->externalNames[$index - 1]['name']; + // offset: 5; size: 2; not used + break; + case 0x3A: // 3d reference to cell + case 0x5A: + case 0x7A: + $name = 'tRef3d'; + $size = 7; + + try { + // offset: 1; size: 2; index to REF entry + $sheetRange = $this->readSheetRangeByRefIndex(self::getInt2d($formulaData, 1)); + // offset: 3; size: 4; cell address + $cellAddress = $this->readBIFF8CellAddress(substr($formulaData, 3, 4)); + + $data = "$sheetRange!$cellAddress"; + } catch (PHPExcel_Exception $e) { + // deleted sheet reference + $data = '#REF!'; + } + break; + case 0x3B: // 3d reference to cell range + case 0x5B: + case 0x7B: + $name = 'tArea3d'; + $size = 11; + + try { + // offset: 1; size: 2; index to REF entry + $sheetRange = $this->readSheetRangeByRefIndex(self::getInt2d($formulaData, 1)); + // offset: 3; size: 8; cell address + $cellRangeAddress = $this->readBIFF8CellRangeAddress(substr($formulaData, 3, 8)); + + $data = "$sheetRange!$cellRangeAddress"; + } catch (PHPExcel_Exception $e) { + // deleted sheet reference + $data = '#REF!'; + } + break; + // Unknown cases // don't know how to deal with + default: + throw new PHPExcel_Reader_Exception('Unrecognized token ' . sprintf('%02X', $id) . ' in formula'); + break; + } + + return array( + 'id' => $id, + 'name' => $name, + 'size' => $size, + 'data' => $data, + ); + } + + + /** + * Reads a cell address in BIFF8 e.g. 'A2' or '$A$2' + * section 3.3.4 + * + * @param string $cellAddressStructure + * @return string + */ + private function readBIFF8CellAddress($cellAddressStructure) + { + // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) + $row = self::getInt2d($cellAddressStructure, 0) + 1; + + // offset: 2; size: 2; index to column or column offset + relative flags + // bit: 7-0; mask 0x00FF; column index + $column = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::getInt2d($cellAddressStructure, 2)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($cellAddressStructure, 2))) { + $column = '$' . $column; + } + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($cellAddressStructure, 2))) { + $row = '$' . $row; + } + + return $column . $row; + } + + + /** + * Reads a cell address in BIFF8 for shared formulas. Uses positive and negative values for row and column + * to indicate offsets from a base cell + * section 3.3.4 + * + * @param string $cellAddressStructure + * @param string $baseCell Base cell, only needed when formula contains tRefN tokens, e.g. with shared formulas + * @return string + */ + private function readBIFF8CellAddressB($cellAddressStructure, $baseCell = 'A1') + { + list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); + $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; + + // offset: 0; size: 2; index to row (0... 65535) (or offset (-32768... 32767)) + $rowIndex = self::getInt2d($cellAddressStructure, 0); + $row = self::getInt2d($cellAddressStructure, 0) + 1; + + // offset: 2; size: 2; index to column or column offset + relative flags + // bit: 7-0; mask 0x00FF; column index + $colIndex = 0x00FF & self::getInt2d($cellAddressStructure, 2); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($cellAddressStructure, 2))) { + $column = PHPExcel_Cell::stringFromColumnIndex($colIndex); + $column = '$' . $column; + } else { + $colIndex = ($colIndex <= 127) ? $colIndex : $colIndex - 256; + $column = PHPExcel_Cell::stringFromColumnIndex($baseCol + $colIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($cellAddressStructure, 2))) { + $row = '$' . $row; + } else { + $rowIndex = ($rowIndex <= 32767) ? $rowIndex : $rowIndex - 65536; + $row = $baseRow + $rowIndex; + } + + return $column . $row; + } + + + /** + * Reads a cell range address in BIFF5 e.g. 'A2:B6' or 'A1' + * always fixed range + * section 2.5.14 + * + * @param string $subData + * @return string + * @throws PHPExcel_Reader_Exception + */ + private function readBIFF5CellRangeAddressFixed($subData) + { + // offset: 0; size: 2; index to first row + $fr = self::getInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row + $lr = self::getInt2d($subData, 2) + 1; + + // offset: 4; size: 1; index to first column + $fc = ord($subData{4}); + + // offset: 5; size: 1; index to last column + $lc = ord($subData{5}); + + // check values + if ($fr > $lr || $fc > $lc) { + throw new PHPExcel_Reader_Exception('Not a cell range address'); + } + + // column index to letter + $fc = PHPExcel_Cell::stringFromColumnIndex($fc); + $lc = PHPExcel_Cell::stringFromColumnIndex($lc); + + if ($fr == $lr and $fc == $lc) { + return "$fc$fr"; + } + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 e.g. 'A2:B6' or 'A1' + * always fixed range + * section 2.5.14 + * + * @param string $subData + * @return string + * @throws PHPExcel_Reader_Exception + */ + private function readBIFF8CellRangeAddressFixed($subData) + { + // offset: 0; size: 2; index to first row + $fr = self::getInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row + $lr = self::getInt2d($subData, 2) + 1; + + // offset: 4; size: 2; index to first column + $fc = self::getInt2d($subData, 4); + + // offset: 6; size: 2; index to last column + $lc = self::getInt2d($subData, 6); + + // check values + if ($fr > $lr || $fc > $lc) { + throw new PHPExcel_Reader_Exception('Not a cell range address'); + } + + // column index to letter + $fc = PHPExcel_Cell::stringFromColumnIndex($fc); + $lc = PHPExcel_Cell::stringFromColumnIndex($lc); + + if ($fr == $lr and $fc == $lc) { + return "$fc$fr"; + } + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 e.g. 'A2:B6' or '$A$2:$B$6' + * there are flags indicating whether column/row index is relative + * section 3.3.4 + * + * @param string $subData + * @return string + */ + private function readBIFF8CellRangeAddress($subData) + { + // todo: if cell range is just a single cell, should this funciton + // not just return e.g. 'A1' and not 'A1:A1' ? + + // offset: 0; size: 2; index to first row (0... 65535) (or offset (-32768... 32767)) + $fr = self::getInt2d($subData, 0) + 1; + + // offset: 2; size: 2; index to last row (0... 65535) (or offset (-32768... 32767)) + $lr = self::getInt2d($subData, 2) + 1; + + // offset: 4; size: 2; index to first column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $fc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::getInt2d($subData, 4)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($subData, 4))) { + $fc = '$' . $fc; + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($subData, 4))) { + $fr = '$' . $fr; + } + + // offset: 6; size: 2; index to last column or column offset + relative flags + + // bit: 7-0; mask 0x00FF; column index + $lc = PHPExcel_Cell::stringFromColumnIndex(0x00FF & self::getInt2d($subData, 6)); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($subData, 6))) { + $lc = '$' . $lc; + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($subData, 6))) { + $lr = '$' . $lr; + } + + return "$fc$fr:$lc$lr"; + } + + + /** + * Reads a cell range address in BIFF8 for shared formulas. Uses positive and negative values for row and column + * to indicate offsets from a base cell + * section 3.3.4 + * + * @param string $subData + * @param string $baseCell Base cell + * @return string Cell range address + */ + private function readBIFF8CellRangeAddressB($subData, $baseCell = 'A1') + { + list($baseCol, $baseRow) = PHPExcel_Cell::coordinateFromString($baseCell); + $baseCol = PHPExcel_Cell::columnIndexFromString($baseCol) - 1; + + // TODO: if cell range is just a single cell, should this funciton + // not just return e.g. 'A1' and not 'A1:A1' ? + + // offset: 0; size: 2; first row + $frIndex = self::getInt2d($subData, 0); // adjust below + + // offset: 2; size: 2; relative index to first row (0... 65535) should be treated as offset (-32768... 32767) + $lrIndex = self::getInt2d($subData, 2); // adjust below + + // offset: 4; size: 2; first column with relative/absolute flags + + // bit: 7-0; mask 0x00FF; column index + $fcIndex = 0x00FF & self::getInt2d($subData, 4); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($subData, 4))) { + // absolute column index + $fc = PHPExcel_Cell::stringFromColumnIndex($fcIndex); + $fc = '$' . $fc; + } else { + // column offset + $fcIndex = ($fcIndex <= 127) ? $fcIndex : $fcIndex - 256; + $fc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $fcIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($subData, 4))) { + // absolute row index + $fr = $frIndex + 1; + $fr = '$' . $fr; + } else { + // row offset + $frIndex = ($frIndex <= 32767) ? $frIndex : $frIndex - 65536; + $fr = $baseRow + $frIndex; + } + + // offset: 6; size: 2; last column with relative/absolute flags + + // bit: 7-0; mask 0x00FF; column index + $lcIndex = 0x00FF & self::getInt2d($subData, 6); + $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; + $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); + + // bit: 14; mask 0x4000; (1 = relative column index, 0 = absolute column index) + if (!(0x4000 & self::getInt2d($subData, 6))) { + // absolute column index + $lc = PHPExcel_Cell::stringFromColumnIndex($lcIndex); + $lc = '$' . $lc; + } else { + // column offset + $lcIndex = ($lcIndex <= 127) ? $lcIndex : $lcIndex - 256; + $lc = PHPExcel_Cell::stringFromColumnIndex($baseCol + $lcIndex); + } + + // bit: 15; mask 0x8000; (1 = relative row index, 0 = absolute row index) + if (!(0x8000 & self::getInt2d($subData, 6))) { + // absolute row index + $lr = $lrIndex + 1; + $lr = '$' . $lr; + } else { + // row offset + $lrIndex = ($lrIndex <= 32767) ? $lrIndex : $lrIndex - 65536; + $lr = $baseRow + $lrIndex; + } + + return "$fc$fr:$lc$lr"; + } + + + /** + * Read BIFF8 cell range address list + * section 2.5.15 + * + * @param string $subData + * @return array + */ + private function readBIFF8CellRangeAddressList($subData) + { + $cellRangeAddresses = array(); + + // offset: 0; size: 2; number of the following cell range addresses + $nm = self::getInt2d($subData, 0); + + $offset = 2; + // offset: 2; size: 8 * $nm; list of $nm (fixed) cell range addresses + for ($i = 0; $i < $nm; ++$i) { + $cellRangeAddresses[] = $this->readBIFF8CellRangeAddressFixed(substr($subData, $offset, 8)); + $offset += 8; + } + + return array( + 'size' => 2 + 8 * $nm, + 'cellRangeAddresses' => $cellRangeAddresses, + ); + } + + + /** + * Read BIFF5 cell range address list + * section 2.5.15 + * + * @param string $subData + * @return array + */ + private function readBIFF5CellRangeAddressList($subData) + { + $cellRangeAddresses = array(); + + // offset: 0; size: 2; number of the following cell range addresses + $nm = self::getInt2d($subData, 0); + + $offset = 2; + // offset: 2; size: 6 * $nm; list of $nm (fixed) cell range addresses + for ($i = 0; $i < $nm; ++$i) { + $cellRangeAddresses[] = $this->readBIFF5CellRangeAddressFixed(substr($subData, $offset, 6)); + $offset += 6; + } + + return array( + 'size' => 2 + 6 * $nm, + 'cellRangeAddresses' => $cellRangeAddresses, + ); + } + + + /** + * Get a sheet range like Sheet1:Sheet3 from REF index + * Note: If there is only one sheet in the range, one gets e.g Sheet1 + * It can also happen that the REF structure uses the -1 (FFFF) code to indicate deleted sheets, + * in which case an PHPExcel_Reader_Exception is thrown + * + * @param int $index + * @return string|false + * @throws PHPExcel_Reader_Exception + */ + private function readSheetRangeByRefIndex($index) + { + if (isset($this->ref[$index])) { + $type = $this->externalBooks[$this->ref[$index]['externalBookIndex']]['type']; + + switch ($type) { + case 'internal': + // check if we have a deleted 3d reference + if ($this->ref[$index]['firstSheetIndex'] == 0xFFFF or $this->ref[$index]['lastSheetIndex'] == 0xFFFF) { + throw new PHPExcel_Reader_Exception('Deleted sheet reference'); + } + + // we have normal sheet range (collapsed or uncollapsed) + $firstSheetName = $this->sheets[$this->ref[$index]['firstSheetIndex']]['name']; + $lastSheetName = $this->sheets[$this->ref[$index]['lastSheetIndex']]['name']; + + if ($firstSheetName == $lastSheetName) { + // collapsed sheet range + $sheetRange = $firstSheetName; + } else { + $sheetRange = "$firstSheetName:$lastSheetName"; + } + + // escape the single-quotes + $sheetRange = str_replace("'", "''", $sheetRange); + + // if there are special characters, we need to enclose the range in single-quotes + // todo: check if we have identified the whole set of special characters + // it seems that the following characters are not accepted for sheet names + // and we may assume that they are not present: []*/:\? + if (preg_match("/[ !\"@#£$%&{()}<>=+'|^,;-]/", $sheetRange)) { + $sheetRange = "'$sheetRange'"; + } + + return $sheetRange; + break; + default: + // TODO: external sheet support + throw new PHPExcel_Reader_Exception('Excel5 reader only supports internal sheets in fomulas'); + break; + } + } + return false; + } + + + /** + * read BIFF8 constant value array from array data + * returns e.g. array('value' => '{1,2;3,4}', 'size' => 40} + * section 2.5.8 + * + * @param string $arrayData + * @return array + */ + private static function readBIFF8ConstantArray($arrayData) + { + // offset: 0; size: 1; number of columns decreased by 1 + $nc = ord($arrayData[0]); + + // offset: 1; size: 2; number of rows decreased by 1 + $nr = self::getInt2d($arrayData, 1); + $size = 3; // initialize + $arrayData = substr($arrayData, 3); + + // offset: 3; size: var; list of ($nc + 1) * ($nr + 1) constant values + $matrixChunks = array(); + for ($r = 1; $r <= $nr + 1; ++$r) { + $items = array(); + for ($c = 1; $c <= $nc + 1; ++$c) { + $constant = self::readBIFF8Constant($arrayData); + $items[] = $constant['value']; + $arrayData = substr($arrayData, $constant['size']); + $size += $constant['size']; + } + $matrixChunks[] = implode(',', $items); // looks like e.g. '1,"hello"' + } + $matrix = '{' . implode(';', $matrixChunks) . '}'; + + return array( + 'value' => $matrix, + 'size' => $size, + ); + } + + + /** + * read BIFF8 constant value which may be 'Empty Value', 'Number', 'String Value', 'Boolean Value', 'Error Value' + * section 2.5.7 + * returns e.g. array('value' => '5', 'size' => 9) + * + * @param string $valueData + * @return array + */ + private static function readBIFF8Constant($valueData) + { + // offset: 0; size: 1; identifier for type of constant + $identifier = ord($valueData[0]); + + switch ($identifier) { + case 0x00: // empty constant (what is this?) + $value = ''; + $size = 9; + break; + case 0x01: // number + // offset: 1; size: 8; IEEE 754 floating-point value + $value = self::extractNumber(substr($valueData, 1, 8)); + $size = 9; + break; + case 0x02: // string value + // offset: 1; size: var; Unicode string, 16-bit string length + $string = self::readUnicodeStringLong(substr($valueData, 1)); + $value = '"' . $string['value'] . '"'; + $size = 1 + $string['size']; + break; + case 0x04: // boolean + // offset: 1; size: 1; 0 = FALSE, 1 = TRUE + if (ord($valueData[1])) { + $value = 'TRUE'; + } else { + $value = 'FALSE'; + } + $size = 9; + break; + case 0x10: // error code + // offset: 1; size: 1; error code + $value = PHPExcel_Reader_Excel5_ErrorCode::lookup(ord($valueData[1])); + $size = 9; + break; + } + return array( + 'value' => $value, + 'size' => $size, + ); + } + + + /** + * Extract RGB color + * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.4 + * + * @param string $rgb Encoded RGB value (4 bytes) + * @return array + */ + private static function readRGB($rgb) + { + // offset: 0; size 1; Red component + $r = ord($rgb{0}); + + // offset: 1; size: 1; Green component + $g = ord($rgb{1}); + + // offset: 2; size: 1; Blue component + $b = ord($rgb{2}); + + // HEX notation, e.g. 'FF00FC' + $rgb = sprintf('%02X%02X%02X', $r, $g, $b); + + return array('rgb' => $rgb); + } + + + /** + * Read byte string (8-bit string length) + * OpenOffice documentation: 2.5.2 + * + * @param string $subData + * @return array + */ + private function readByteStringShort($subData) + { + // offset: 0; size: 1; length of the string (character count) + $ln = ord($subData[0]); + + // offset: 1: size: var; character array (8-bit characters) + $value = $this->decodeCodepage(substr($subData, 1, $ln)); + + return array( + 'value' => $value, + 'size' => 1 + $ln, // size in bytes of data structure + ); + } + + + /** + * Read byte string (16-bit string length) + * OpenOffice documentation: 2.5.2 + * + * @param string $subData + * @return array + */ + private function readByteStringLong($subData) + { + // offset: 0; size: 2; length of the string (character count) + $ln = self::getInt2d($subData, 0); + + // offset: 2: size: var; character array (8-bit characters) + $value = $this->decodeCodepage(substr($subData, 2)); + + //return $string; + return array( + 'value' => $value, + 'size' => 2 + $ln, // size in bytes of data structure + ); + } + + + /** + * Extracts an Excel Unicode short string (8-bit string length) + * OpenOffice documentation: 2.5.3 + * function will automatically find out where the Unicode string ends. + * + * @param string $subData + * @return array + */ + private static function readUnicodeStringShort($subData) + { + $value = ''; + + // offset: 0: size: 1; length of the string (character count) + $characterCount = ord($subData[0]); + + $string = self::readUnicodeString(substr($subData, 1), $characterCount); + + // add 1 for the string length + $string['size'] += 1; + + return $string; + } + + + /** + * Extracts an Excel Unicode long string (16-bit string length) + * OpenOffice documentation: 2.5.3 + * this function is under construction, needs to support rich text, and Asian phonetic settings + * + * @param string $subData + * @return array + */ + private static function readUnicodeStringLong($subData) + { + $value = ''; + + // offset: 0: size: 2; length of the string (character count) + $characterCount = self::getInt2d($subData, 0); + + $string = self::readUnicodeString(substr($subData, 2), $characterCount); + + // add 2 for the string length + $string['size'] += 2; + + return $string; + } + + + /** + * Read Unicode string with no string length field, but with known character count + * this function is under construction, needs to support rich text, and Asian phonetic settings + * OpenOffice.org's Documentation of the Microsoft Excel File Format, section 2.5.3 + * + * @param string $subData + * @param int $characterCount + * @return array + */ + private static function readUnicodeString($subData, $characterCount) + { + $value = ''; + + // offset: 0: size: 1; option flags + // bit: 0; mask: 0x01; character compression (0 = compressed 8-bit, 1 = uncompressed 16-bit) + $isCompressed = !((0x01 & ord($subData[0])) >> 0); + + // bit: 2; mask: 0x04; Asian phonetic settings + $hasAsian = (0x04) & ord($subData[0]) >> 2; + + // bit: 3; mask: 0x08; Rich-Text settings + $hasRichText = (0x08) & ord($subData[0]) >> 3; + + // offset: 1: size: var; character array + // this offset assumes richtext and Asian phonetic settings are off which is generally wrong + // needs to be fixed + $value = self::encodeUTF16(substr($subData, 1, $isCompressed ? $characterCount : 2 * $characterCount), $isCompressed); + + return array( + 'value' => $value, + 'size' => $isCompressed ? 1 + $characterCount : 1 + 2 * $characterCount, // the size in bytes including the option flags + ); + } + + + /** + * Convert UTF-8 string to string surounded by double quotes. Used for explicit string tokens in formulas. + * Example: hello"world --> "hello""world" + * + * @param string $value UTF-8 encoded string + * @return string + */ + private static function UTF8toExcelDoubleQuoted($value) + { + return '"' . str_replace('"', '""', $value) . '"'; + } + + + /** + * Reads first 8 bytes of a string and return IEEE 754 float + * + * @param string $data Binary string that is at least 8 bytes long + * @return float + */ + private static function extractNumber($data) + { + $rknumhigh = self::getInt4d($data, 4); + $rknumlow = self::getInt4d($data, 0); + $sign = ($rknumhigh & 0x80000000) >> 31; + $exp = (($rknumhigh & 0x7ff00000) >> 20) - 1023; + $mantissa = (0x100000 | ($rknumhigh & 0x000fffff)); + $mantissalow1 = ($rknumlow & 0x80000000) >> 31; + $mantissalow2 = ($rknumlow & 0x7fffffff); + $value = $mantissa / pow(2, (20 - $exp)); + + if ($mantissalow1 != 0) { + $value += 1 / pow(2, (21 - $exp)); + } + + $value += $mantissalow2 / pow(2, (52 - $exp)); + if ($sign) { + $value *= -1; + } + + return $value; + } + + + private static function getIEEE754($rknum) + { + if (($rknum & 0x02) != 0) { + $value = $rknum >> 2; + } else { + // changes by mmp, info on IEEE754 encoding from + // research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html + // The RK format calls for using only the most significant 30 bits + // of the 64 bit floating point value. The other 34 bits are assumed + // to be 0 so we use the upper 30 bits of $rknum as follows... + $sign = ($rknum & 0x80000000) >> 31; + $exp = ($rknum & 0x7ff00000) >> 20; + $mantissa = (0x100000 | ($rknum & 0x000ffffc)); + $value = $mantissa / pow(2, (20- ($exp - 1023))); + if ($sign) { + $value = -1 * $value; + } + //end of changes by mmp + } + if (($rknum & 0x01) != 0) { + $value /= 100; + } + return $value; + } + + + /** + * Get UTF-8 string from (compressed or uncompressed) UTF-16 string + * + * @param string $string + * @param bool $compressed + * @return string + */ + private static function encodeUTF16($string, $compressed = '') + { + if ($compressed) { + $string = self::uncompressByteString($string); + } + + return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', 'UTF-16LE'); + } + + /** + * Convert UTF-16 string in compressed notation to uncompressed form. Only used for BIFF8. + * + * @param string $string + * @return string + */ + private static function uncompressByteString($string) + { + $uncompressedString = ''; + $strLen = strlen($string); + for ($i = 0; $i < $strLen; ++$i) { + $uncompressedString .= $string[$i] . "\0"; + } + + return $uncompressedString; + } + + /** + * Convert string to UTF-8. Only used for BIFF5. + * + * @param string $string + * @return string + */ + private function decodeCodepage($string) + { + return PHPExcel_Shared_String::ConvertEncoding($string, 'UTF-8', $this->codepage); + } + + /** + * Read 16-bit unsigned integer + * + * @param string $data + * @param int $pos + * @return int + */ + public static function getInt2d($data, $pos) + { + return ord($data[$pos]) | (ord($data[$pos+1]) << 8); + } + + /** + * Read 32-bit signed integer + * + * @param string $data + * @param int $pos + * @return int + */ + public static function getInt4d($data, $pos) + { + // FIX: represent numbers correctly on 64-bit system + // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 + // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems + $_or_24 = ord($data[$pos + 3]); + if ($_or_24 >= 128) { + // negative number + $_ord_24 = -abs((256 - $_or_24) << 24); + } else { + $_ord_24 = ($_or_24 & 127) << 24; + } + return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | $_ord_24; + } + + private function parseRichText($is = '') + { + $value = new PHPExcel_RichText(); + $value->createText($is); + + return $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color.php new file mode 100644 index 000000000..1801df5e5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color.php @@ -0,0 +1,32 @@ +<?php + +class PHPExcel_Reader_Excel5_Color +{ + /** + * Read color + * + * @param int $color Indexed color + * @param array $palette Color palette + * @return array RGB color value, example: array('rgb' => 'FF0000') + */ + public static function map($color, $palette, $version) + { + if ($color <= 0x07 || $color >= 0x40) { + // special built-in color + return PHPExcel_Reader_Excel5_Color_BuiltIn::lookup($color); + } elseif (isset($palette) && isset($palette[$color - 8])) { + // palette color, color index 0x08 maps to pallete index 0 + return $palette[$color - 8]; + } else { + // default color table + if ($version == PHPExcel_Reader_Excel5::XLS_BIFF8) { + return PHPExcel_Reader_Excel5_Color_BIFF8::lookup($color); + } else { + // BIFF5 + return PHPExcel_Reader_Excel5_Color_BIFF5::lookup($color); + } + } + + return $color; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF5.php new file mode 100644 index 000000000..159c27fc7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF5.php @@ -0,0 +1,77 @@ +<?php + +class PHPExcel_Reader_Excel5_Color_BIFF5 +{ + protected static $map = array( + 0x08 => '000000', + 0x09 => 'FFFFFF', + 0x0A => 'FF0000', + 0x0B => '00FF00', + 0x0C => '0000FF', + 0x0D => 'FFFF00', + 0x0E => 'FF00FF', + 0x0F => '00FFFF', + 0x10 => '800000', + 0x11 => '008000', + 0x12 => '000080', + 0x13 => '808000', + 0x14 => '800080', + 0x15 => '008080', + 0x16 => 'C0C0C0', + 0x17 => '808080', + 0x18 => '8080FF', + 0x19 => '802060', + 0x1A => 'FFFFC0', + 0x1B => 'A0E0F0', + 0x1C => '600080', + 0x1D => 'FF8080', + 0x1E => '0080C0', + 0x1F => 'C0C0FF', + 0x20 => '000080', + 0x21 => 'FF00FF', + 0x22 => 'FFFF00', + 0x23 => '00FFFF', + 0x24 => '800080', + 0x25 => '800000', + 0x26 => '008080', + 0x27 => '0000FF', + 0x28 => '00CFFF', + 0x29 => '69FFFF', + 0x2A => 'E0FFE0', + 0x2B => 'FFFF80', + 0x2C => 'A6CAF0', + 0x2D => 'DD9CB3', + 0x2E => 'B38FEE', + 0x2F => 'E3E3E3', + 0x30 => '2A6FF9', + 0x31 => '3FB8CD', + 0x32 => '488436', + 0x33 => '958C41', + 0x34 => '8E5E42', + 0x35 => 'A0627A', + 0x36 => '624FAC', + 0x37 => '969696', + 0x38 => '1D2FBE', + 0x39 => '286676', + 0x3A => '004500', + 0x3B => '453E01', + 0x3C => '6A2813', + 0x3D => '85396A', + 0x3E => '4A3285', + 0x3F => '424242', + ); + + /** + * Map color array from BIFF5 built-in color index + * + * @param int $color + * @return array + */ + public static function lookup($color) + { + if (isset(self::$map[$color])) { + return array('rgb' => self::$map[$color]); + } + return array('rgb' => '000000'); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF8.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF8.php new file mode 100644 index 000000000..4d3f2d0a3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BIFF8.php @@ -0,0 +1,77 @@ +<?php + +class PHPExcel_Reader_Excel5_Color_BIFF8 +{ + protected static $map = array( + 0x08 => '000000', + 0x09 => 'FFFFFF', + 0x0A => 'FF0000', + 0x0B => '00FF00', + 0x0C => '0000FF', + 0x0D => 'FFFF00', + 0x0E => 'FF00FF', + 0x0F => '00FFFF', + 0x10 => '800000', + 0x11 => '008000', + 0x12 => '000080', + 0x13 => '808000', + 0x14 => '800080', + 0x15 => '008080', + 0x16 => 'C0C0C0', + 0x17 => '808080', + 0x18 => '9999FF', + 0x19 => '993366', + 0x1A => 'FFFFCC', + 0x1B => 'CCFFFF', + 0x1C => '660066', + 0x1D => 'FF8080', + 0x1E => '0066CC', + 0x1F => 'CCCCFF', + 0x20 => '000080', + 0x21 => 'FF00FF', + 0x22 => 'FFFF00', + 0x23 => '00FFFF', + 0x24 => '800080', + 0x25 => '800000', + 0x26 => '008080', + 0x27 => '0000FF', + 0x28 => '00CCFF', + 0x29 => 'CCFFFF', + 0x2A => 'CCFFCC', + 0x2B => 'FFFF99', + 0x2C => '99CCFF', + 0x2D => 'FF99CC', + 0x2E => 'CC99FF', + 0x2F => 'FFCC99', + 0x30 => '3366FF', + 0x31 => '33CCCC', + 0x32 => '99CC00', + 0x33 => 'FFCC00', + 0x34 => 'FF9900', + 0x35 => 'FF6600', + 0x36 => '666699', + 0x37 => '969696', + 0x38 => '003366', + 0x39 => '339966', + 0x3A => '003300', + 0x3B => '333300', + 0x3C => '993300', + 0x3D => '993366', + 0x3E => '333399', + 0x3F => '333333', + ); + + /** + * Map color array from BIFF8 built-in color index + * + * @param int $color + * @return array + */ + public static function lookup($color) + { + if (isset(self::$map[$color])) { + return array('rgb' => self::$map[$color]); + } + return array('rgb' => '000000'); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BuiltIn.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BuiltIn.php new file mode 100644 index 000000000..a5b7e59b8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Color/BuiltIn.php @@ -0,0 +1,31 @@ +<?php + +class PHPExcel_Reader_Excel5_Color_BuiltIn +{ + protected static $map = array( + 0x00 => '000000', + 0x01 => 'FFFFFF', + 0x02 => 'FF0000', + 0x03 => '00FF00', + 0x04 => '0000FF', + 0x05 => 'FFFF00', + 0x06 => 'FF00FF', + 0x07 => '00FFFF', + 0x40 => '000000', // system window text color + 0x41 => 'FFFFFF', // system window background color + ); + + /** + * Map built-in color to RGB value + * + * @param int $color Indexed color + * @return array + */ + public static function lookup($color) + { + if (isset(self::$map[$color])) { + return array('rgb' => self::$map[$color]); + } + return array('rgb' => '000000'); + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/ErrorCode.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/ErrorCode.php new file mode 100644 index 000000000..f1d1cb6d8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/ErrorCode.php @@ -0,0 +1,28 @@ +<?php + +class PHPExcel_Reader_Excel5_ErrorCode +{ + protected static $map = array( + 0x00 => '#NULL!', + 0x07 => '#DIV/0!', + 0x0F => '#VALUE!', + 0x17 => '#REF!', + 0x1D => '#NAME?', + 0x24 => '#NUM!', + 0x2A => '#N/A', + ); + + /** + * Map error code, e.g. '#N/A' + * + * @param int $code + * @return string + */ + public static function lookup($code) + { + if (isset(self::$map[$code])) { + return self::$map[$code]; + } + return false; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php index 8dc5e902e..2b99e2223 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Escher.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_Excel5_Escher * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,621 +21,649 @@ * * @category PHPExcel * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Reader_Excel5_Escher - * - * @category PHPExcel - * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_Excel5_Escher { - const DGGCONTAINER = 0xF000; - const BSTORECONTAINER = 0xF001; - const DGCONTAINER = 0xF002; - const SPGRCONTAINER = 0xF003; - const SPCONTAINER = 0xF004; - const DGG = 0xF006; - const BSE = 0xF007; - const DG = 0xF008; - const SPGR = 0xF009; - const SP = 0xF00A; - const OPT = 0xF00B; - const CLIENTTEXTBOX = 0xF00D; - const CLIENTANCHOR = 0xF010; - const CLIENTDATA = 0xF011; - const BLIPJPEG = 0xF01D; - const BLIPPNG = 0xF01E; - const SPLITMENUCOLORS = 0xF11E; - const TERTIARYOPT = 0xF122; - - /** - * Escher stream data (binary) - * - * @var string - */ - private $_data; - - /** - * Size in bytes of the Escher stream data - * - * @var int - */ - private $_dataSize; - - /** - * Current position of stream pointer in Escher stream data - * - * @var int - */ - private $_pos; - - /** - * The object to be returned by the reader. Modified during load. - * - * @var mixed - */ - private $_object; - - /** - * Create a new PHPExcel_Reader_Excel5_Escher instance - * - * @param mixed $object - */ - public function __construct($object) - { - $this->_object = $object; - } - - /** - * Load Escher stream data. May be a partial Escher stream. - * - * @param string $data - */ - public function load($data) - { - $this->_data = $data; - - // total byte size of Excel data (workbook global substream + sheet substreams) - $this->_dataSize = strlen($this->_data); - - $this->_pos = 0; - - // Parse Escher stream - while ($this->_pos < $this->_dataSize) { - - // offset: 2; size: 2: Record Type - $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2); - - switch ($fbt) { - case self::DGGCONTAINER: $this->_readDggContainer(); break; - case self::DGG: $this->_readDgg(); break; - case self::BSTORECONTAINER: $this->_readBstoreContainer(); break; - case self::BSE: $this->_readBSE(); break; - case self::BLIPJPEG: $this->_readBlipJPEG(); break; - case self::BLIPPNG: $this->_readBlipPNG(); break; - case self::OPT: $this->_readOPT(); break; - case self::TERTIARYOPT: $this->_readTertiaryOPT(); break; - case self::SPLITMENUCOLORS: $this->_readSplitMenuColors(); break; - case self::DGCONTAINER: $this->_readDgContainer(); break; - case self::DG: $this->_readDg(); break; - case self::SPGRCONTAINER: $this->_readSpgrContainer(); break; - case self::SPCONTAINER: $this->_readSpContainer(); break; - case self::SPGR: $this->_readSpgr(); break; - case self::SP: $this->_readSp(); break; - case self::CLIENTTEXTBOX: $this->_readClientTextbox(); break; - case self::CLIENTANCHOR: $this->_readClientAnchor(); break; - case self::CLIENTDATA: $this->_readClientData(); break; - default: $this->_readDefault(); break; - } - } - - return $this->_object; - } - - /** - * Read a generic record - */ - private function _readDefault() - { - // offset 0; size: 2; recVer and recInstance - $verInstance = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos); - - // offset: 2; size: 2: Record Type - $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2); - - // bit: 0-3; mask: 0x000F; recVer - $recVer = (0x000F & $verInstance) >> 0; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read DggContainer record (Drawing Group Container) - */ - private function _readDggContainer() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // record is a container, read contents - $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); - $this->_object->setDggContainer($dggContainer); - $reader = new PHPExcel_Reader_Excel5_Escher($dggContainer); - $reader->load($recordData); - } - - /** - * Read Dgg record (Drawing Group) - */ - private function _readDgg() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read BstoreContainer record (Blip Store Container) - */ - private function _readBstoreContainer() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // record is a container, read contents - $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); - $this->_object->setBstoreContainer($bstoreContainer); - $reader = new PHPExcel_Reader_Excel5_Escher($bstoreContainer); - $reader->load($recordData); - } - - /** - * Read BSE record - */ - private function _readBSE() - { - // offset: 0; size: 2; recVer and recInstance - - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // add BSE to BstoreContainer - $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); - $this->_object->addBSE($BSE); - - $BSE->setBLIPType($recInstance); - - // offset: 0; size: 1; btWin32 (MSOBLIPTYPE) - $btWin32 = ord($recordData[0]); + const DGGCONTAINER = 0xF000; + const BSTORECONTAINER = 0xF001; + const DGCONTAINER = 0xF002; + const SPGRCONTAINER = 0xF003; + const SPCONTAINER = 0xF004; + const DGG = 0xF006; + const BSE = 0xF007; + const DG = 0xF008; + const SPGR = 0xF009; + const SP = 0xF00A; + const OPT = 0xF00B; + const CLIENTTEXTBOX = 0xF00D; + const CLIENTANCHOR = 0xF010; + const CLIENTDATA = 0xF011; + const BLIPJPEG = 0xF01D; + const BLIPPNG = 0xF01E; + const SPLITMENUCOLORS = 0xF11E; + const TERTIARYOPT = 0xF122; + + /** + * Escher stream data (binary) + * + * @var string + */ + private $data; + + /** + * Size in bytes of the Escher stream data + * + * @var int + */ + private $dataSize; + + /** + * Current position of stream pointer in Escher stream data + * + * @var int + */ + private $pos; + + /** + * The object to be returned by the reader. Modified during load. + * + * @var mixed + */ + private $object; + + /** + * Create a new PHPExcel_Reader_Excel5_Escher instance + * + * @param mixed $object + */ + public function __construct($object) + { + $this->object = $object; + } + + /** + * Load Escher stream data. May be a partial Escher stream. + * + * @param string $data + */ + public function load($data) + { + $this->data = $data; + + // total byte size of Excel data (workbook global substream + sheet substreams) + $this->dataSize = strlen($this->data); + + $this->pos = 0; + + // Parse Escher stream + while ($this->pos < $this->dataSize) { + // offset: 2; size: 2: Record Type + $fbt = PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos + 2); + + switch ($fbt) { + case self::DGGCONTAINER: + $this->readDggContainer(); + break; + case self::DGG: + $this->readDgg(); + break; + case self::BSTORECONTAINER: + $this->readBstoreContainer(); + break; + case self::BSE: + $this->readBSE(); + break; + case self::BLIPJPEG: + $this->readBlipJPEG(); + break; + case self::BLIPPNG: + $this->readBlipPNG(); + break; + case self::OPT: + $this->readOPT(); + break; + case self::TERTIARYOPT: + $this->readTertiaryOPT(); + break; + case self::SPLITMENUCOLORS: + $this->readSplitMenuColors(); + break; + case self::DGCONTAINER: + $this->readDgContainer(); + break; + case self::DG: + $this->readDg(); + break; + case self::SPGRCONTAINER: + $this->readSpgrContainer(); + break; + case self::SPCONTAINER: + $this->readSpContainer(); + break; + case self::SPGR: + $this->readSpgr(); + break; + case self::SP: + $this->readSp(); + break; + case self::CLIENTTEXTBOX: + $this->readClientTextbox(); + break; + case self::CLIENTANCHOR: + $this->readClientAnchor(); + break; + case self::CLIENTDATA: + $this->readClientData(); + break; + default: + $this->readDefault(); + break; + } + } + + return $this->object; + } + + /** + * Read a generic record + */ + private function readDefault() + { + // offset 0; size: 2; recVer and recInstance + $verInstance = PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos); + + // offset: 2; size: 2: Record Type + $fbt = PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos + 2); + + // bit: 0-3; mask: 0x000F; recVer + $recVer = (0x000F & $verInstance) >> 0; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read DggContainer record (Drawing Group Container) + */ + private function readDggContainer() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // record is a container, read contents + $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); + $this->object->setDggContainer($dggContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($dggContainer); + $reader->load($recordData); + } + + /** + * Read Dgg record (Drawing Group) + */ + private function readDgg() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read BstoreContainer record (Blip Store Container) + */ + private function readBstoreContainer() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // record is a container, read contents + $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); + $this->object->setBstoreContainer($bstoreContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($bstoreContainer); + $reader->load($recordData); + } + + /** + * Read BSE record + */ + private function readBSE() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // add BSE to BstoreContainer + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $this->object->addBSE($BSE); + + $BSE->setBLIPType($recInstance); + + // offset: 0; size: 1; btWin32 (MSOBLIPTYPE) + $btWin32 = ord($recordData[0]); - // offset: 1; size: 1; btWin32 (MSOBLIPTYPE) - $btMacOS = ord($recordData[1]); + // offset: 1; size: 1; btWin32 (MSOBLIPTYPE) + $btMacOS = ord($recordData[1]); - // offset: 2; size: 16; MD4 digest - $rgbUid = substr($recordData, 2, 16); + // offset: 2; size: 16; MD4 digest + $rgbUid = substr($recordData, 2, 16); - // offset: 18; size: 2; tag - $tag = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 18); + // offset: 18; size: 2; tag + $tag = PHPExcel_Reader_Excel5::getInt2d($recordData, 18); - // offset: 20; size: 4; size of BLIP in bytes - $size = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 20); + // offset: 20; size: 4; size of BLIP in bytes + $size = PHPExcel_Reader_Excel5::getInt4d($recordData, 20); - // offset: 24; size: 4; number of references to this BLIP - $cRef = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 24); + // offset: 24; size: 4; number of references to this BLIP + $cRef = PHPExcel_Reader_Excel5::getInt4d($recordData, 24); - // offset: 28; size: 4; MSOFO file offset - $foDelay = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 28); + // offset: 28; size: 4; MSOFO file offset + $foDelay = PHPExcel_Reader_Excel5::getInt4d($recordData, 28); - // offset: 32; size: 1; unused1 - $unused1 = ord($recordData{32}); + // offset: 32; size: 1; unused1 + $unused1 = ord($recordData{32}); - // offset: 33; size: 1; size of nameData in bytes (including null terminator) - $cbName = ord($recordData{33}); + // offset: 33; size: 1; size of nameData in bytes (including null terminator) + $cbName = ord($recordData{33}); - // offset: 34; size: 1; unused2 - $unused2 = ord($recordData{34}); + // offset: 34; size: 1; unused2 + $unused2 = ord($recordData{34}); - // offset: 35; size: 1; unused3 - $unused3 = ord($recordData{35}); + // offset: 35; size: 1; unused3 + $unused3 = ord($recordData{35}); - // offset: 36; size: $cbName; nameData - $nameData = substr($recordData, 36, $cbName); + // offset: 36; size: $cbName; nameData + $nameData = substr($recordData, 36, $cbName); - // offset: 36 + $cbName, size: var; the BLIP data - $blipData = substr($recordData, 36 + $cbName); + // offset: 36 + $cbName, size: var; the BLIP data + $blipData = substr($recordData, 36 + $cbName); - // record is a container, read contents - $reader = new PHPExcel_Reader_Excel5_Escher($BSE); - $reader->load($blipData); - } + // record is a container, read contents + $reader = new PHPExcel_Reader_Excel5_Escher($BSE); + $reader->load($blipData); + } - /** - * Read BlipJPEG record. Holds raw JPEG image data - */ - private function _readBlipJPEG() - { - // offset: 0; size: 2; recVer and recInstance + /** + * Read BlipJPEG record. Holds raw JPEG image data + */ + private function readBlipJPEG() + { + // offset: 0; size: 2; recVer and recInstance - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); - // move stream pointer to next record - $this->_pos += 8 + $length; + // move stream pointer to next record + $this->pos += 8 + $length; - $pos = 0; + $pos = 0; - // offset: 0; size: 16; rgbUid1 (MD4 digest of) - $rgbUid1 = substr($recordData, 0, 16); - $pos += 16; + // offset: 0; size: 16; rgbUid1 (MD4 digest of) + $rgbUid1 = substr($recordData, 0, 16); + $pos += 16; - // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 - if (in_array($recInstance, array(0x046B, 0x06E3))) { - $rgbUid2 = substr($recordData, 16, 16); - $pos += 16; - } + // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 + if (in_array($recInstance, array(0x046B, 0x06E3))) { + $rgbUid2 = substr($recordData, 16, 16); + $pos += 16; + } - // offset: var; size: 1; tag - $tag = ord($recordData{$pos}); - $pos += 1; + // offset: var; size: 1; tag + $tag = ord($recordData{$pos}); + $pos += 1; - // offset: var; size: var; the raw image data - $data = substr($recordData, $pos); + // offset: var; size: var; the raw image data + $data = substr($recordData, $pos); - $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); - $blip->setData($data); + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($data); - $this->_object->setBlip($blip); - } + $this->object->setBlip($blip); + } - /** - * Read BlipPNG record. Holds raw PNG image data - */ - private function _readBlipPNG() - { - // offset: 0; size: 2; recVer and recInstance + /** + * Read BlipPNG record. Holds raw PNG image data + */ + private function readBlipPNG() + { + // offset: 0; size: 2; recVer and recInstance - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); - // move stream pointer to next record - $this->_pos += 8 + $length; + // move stream pointer to next record + $this->pos += 8 + $length; - $pos = 0; + $pos = 0; - // offset: 0; size: 16; rgbUid1 (MD4 digest of) - $rgbUid1 = substr($recordData, 0, 16); - $pos += 16; + // offset: 0; size: 16; rgbUid1 (MD4 digest of) + $rgbUid1 = substr($recordData, 0, 16); + $pos += 16; - // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 - if ($recInstance == 0x06E1) { - $rgbUid2 = substr($recordData, 16, 16); - $pos += 16; - } - - // offset: var; size: 1; tag - $tag = ord($recordData{$pos}); - $pos += 1; + // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3 + if ($recInstance == 0x06E1) { + $rgbUid2 = substr($recordData, 16, 16); + $pos += 16; + } + + // offset: var; size: 1; tag + $tag = ord($recordData{$pos}); + $pos += 1; - // offset: var; size: var; the raw image data - $data = substr($recordData, $pos); + // offset: var; size: var; the raw image data + $data = substr($recordData, $pos); - $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); - $blip->setData($data); - - $this->_object->setBlip($blip); - } - - /** - * Read OPT record. This record may occur within DggContainer record or SpContainer - */ - private function _readOPT() - { - // offset: 0; size: 2; recVer and recInstance - - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - $this->_readOfficeArtRGFOPTE($recordData, $recInstance); - } - - /** - * Read TertiaryOPT record - */ - private function _readTertiaryOPT() - { - // offset: 0; size: 2; recVer and recInstance - - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read SplitMenuColors record - */ - private function _readSplitMenuColors() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read DgContainer record (Drawing Container) - */ - private function _readDgContainer() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // record is a container, read contents - $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); - $this->_object->setDgContainer($dgContainer); - $reader = new PHPExcel_Reader_Excel5_Escher($dgContainer); - $escher = $reader->load($recordData); - } - - /** - * Read Dg record (Drawing) - */ - private function _readDg() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read SpgrContainer record (Shape Group Container) - */ - private function _readSpgrContainer() - { - // context is either context DgContainer or SpgrContainer - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // record is a container, read contents - $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); - - if ($this->_object instanceof PHPExcel_Shared_Escher_DgContainer) { - // DgContainer - $this->_object->setSpgrContainer($spgrContainer); - } else { - // SpgrContainer - $this->_object->addChild($spgrContainer); - } - - $reader = new PHPExcel_Reader_Excel5_Escher($spgrContainer); - $escher = $reader->load($recordData); - } - - /** - * Read SpContainer record (Shape Container) - */ - private function _readSpContainer() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // add spContainer to spgrContainer - $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); - $this->_object->addChild($spContainer); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // record is a container, read contents - $reader = new PHPExcel_Reader_Excel5_Escher($spContainer); - $escher = $reader->load($recordData); - } - - /** - * Read Spgr record (Shape Group) - */ - private function _readSpgr() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read Sp record (Shape) - */ - private function _readSp() - { - // offset: 0; size: 2; recVer and recInstance - - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read ClientTextbox record - */ - private function _readClientTextbox() - { - // offset: 0; size: 2; recVer and recInstance - - // bit: 4-15; mask: 0xFFF0; recInstance - $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4; - - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - } - - /** - * Read ClientAnchor record. This record holds information about where the shape is anchored in worksheet - */ - private function _readClientAnchor() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); - - // move stream pointer to next record - $this->_pos += 8 + $length; - - // offset: 2; size: 2; upper-left corner column index (0-based) - $c1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 2); - - // offset: 4; size: 2; upper-left corner horizontal offset in 1/1024 of column width - $startOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 4); - - // offset: 6; size: 2; upper-left corner row index (0-based) - $r1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 6); - - // offset: 8; size: 2; upper-left corner vertical offset in 1/256 of row height - $startOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 8); - - // offset: 10; size: 2; bottom-right corner column index (0-based) - $c2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 10); - - // offset: 12; size: 2; bottom-right corner horizontal offset in 1/1024 of column width - $endOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 12); + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($data); + + $this->object->setBlip($blip); + } + + /** + * Read OPT record. This record may occur within DggContainer record or SpContainer + */ + private function readOPT() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + $this->readOfficeArtRGFOPTE($recordData, $recInstance); + } + + /** + * Read TertiaryOPT record + */ + private function readTertiaryOPT() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read SplitMenuColors record + */ + private function readSplitMenuColors() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read DgContainer record (Drawing Container) + */ + private function readDgContainer() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // record is a container, read contents + $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); + $this->object->setDgContainer($dgContainer); + $reader = new PHPExcel_Reader_Excel5_Escher($dgContainer); + $escher = $reader->load($recordData); + } + + /** + * Read Dg record (Drawing) + */ + private function readDg() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read SpgrContainer record (Shape Group Container) + */ + private function readSpgrContainer() + { + // context is either context DgContainer or SpgrContainer + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // record is a container, read contents + $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); + + if ($this->object instanceof PHPExcel_Shared_Escher_DgContainer) { + // DgContainer + $this->object->setSpgrContainer($spgrContainer); + } else { + // SpgrContainer + $this->object->addChild($spgrContainer); + } + + $reader = new PHPExcel_Reader_Excel5_Escher($spgrContainer); + $escher = $reader->load($recordData); + } + + /** + * Read SpContainer record (Shape Container) + */ + private function readSpContainer() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // add spContainer to spgrContainer + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + $this->object->addChild($spContainer); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // record is a container, read contents + $reader = new PHPExcel_Reader_Excel5_Escher($spContainer); + $escher = $reader->load($recordData); + } + + /** + * Read Spgr record (Shape Group) + */ + private function readSpgr() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read Sp record (Shape) + */ + private function readSp() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read ClientTextbox record + */ + private function readClientTextbox() + { + // offset: 0; size: 2; recVer and recInstance + + // bit: 4-15; mask: 0xFFF0; recInstance + $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::getInt2d($this->data, $this->pos)) >> 4; + + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + } + + /** + * Read ClientAnchor record. This record holds information about where the shape is anchored in worksheet + */ + private function readClientAnchor() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); + + // move stream pointer to next record + $this->pos += 8 + $length; + + // offset: 2; size: 2; upper-left corner column index (0-based) + $c1 = PHPExcel_Reader_Excel5::getInt2d($recordData, 2); + + // offset: 4; size: 2; upper-left corner horizontal offset in 1/1024 of column width + $startOffsetX = PHPExcel_Reader_Excel5::getInt2d($recordData, 4); + + // offset: 6; size: 2; upper-left corner row index (0-based) + $r1 = PHPExcel_Reader_Excel5::getInt2d($recordData, 6); + + // offset: 8; size: 2; upper-left corner vertical offset in 1/256 of row height + $startOffsetY = PHPExcel_Reader_Excel5::getInt2d($recordData, 8); + + // offset: 10; size: 2; bottom-right corner column index (0-based) + $c2 = PHPExcel_Reader_Excel5::getInt2d($recordData, 10); + + // offset: 12; size: 2; bottom-right corner horizontal offset in 1/1024 of column width + $endOffsetX = PHPExcel_Reader_Excel5::getInt2d($recordData, 12); + + // offset: 14; size: 2; bottom-right corner row index (0-based) + $r2 = PHPExcel_Reader_Excel5::getInt2d($recordData, 14); + + // offset: 16; size: 2; bottom-right corner vertical offset in 1/256 of row height + $endOffsetY = PHPExcel_Reader_Excel5::getInt2d($recordData, 16); + + // set the start coordinates + $this->object->setStartCoordinates(PHPExcel_Cell::stringFromColumnIndex($c1) . ($r1 + 1)); + + // set the start offsetX + $this->object->setStartOffsetX($startOffsetX); + + // set the start offsetY + $this->object->setStartOffsetY($startOffsetY); + + // set the end coordinates + $this->object->setEndCoordinates(PHPExcel_Cell::stringFromColumnIndex($c2) . ($r2 + 1)); + + // set the end offsetX + $this->object->setEndOffsetX($endOffsetX); + + // set the end offsetY + $this->object->setEndOffsetY($endOffsetY); + } + + /** + * Read ClientData record + */ + private function readClientData() + { + $length = PHPExcel_Reader_Excel5::getInt4d($this->data, $this->pos + 4); + $recordData = substr($this->data, $this->pos + 8, $length); - // offset: 14; size: 2; bottom-right corner row index (0-based) - $r2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 14); - - // offset: 16; size: 2; bottom-right corner vertical offset in 1/256 of row height - $endOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 16); - - // set the start coordinates - $this->_object->setStartCoordinates(PHPExcel_Cell::stringFromColumnIndex($c1) . ($r1 + 1)); + // move stream pointer to next record + $this->pos += 8 + $length; + } - // set the start offsetX - $this->_object->setStartOffsetX($startOffsetX); + /** + * Read OfficeArtRGFOPTE table of property-value pairs + * + * @param string $data Binary data + * @param int $n Number of properties + */ + private function readOfficeArtRGFOPTE($data, $n) + { + $splicedComplexData = substr($data, 6 * $n); - // set the start offsetY - $this->_object->setStartOffsetY($startOffsetY); + // loop through property-value pairs + for ($i = 0; $i < $n; ++$i) { + // read 6 bytes at a time + $fopte = substr($data, 6 * $i, 6); - // set the end coordinates - $this->_object->setEndCoordinates(PHPExcel_Cell::stringFromColumnIndex($c2) . ($r2 + 1)); + // offset: 0; size: 2; opid + $opid = PHPExcel_Reader_Excel5::getInt2d($fopte, 0); - // set the end offsetX - $this->_object->setEndOffsetX($endOffsetX); + // bit: 0-13; mask: 0x3FFF; opid.opid + $opidOpid = (0x3FFF & $opid) >> 0; - // set the end offsetY - $this->_object->setEndOffsetY($endOffsetY); - } + // bit: 14; mask 0x4000; 1 = value in op field is BLIP identifier + $opidFBid = (0x4000 & $opid) >> 14; - /** - * Read ClientData record - */ - private function _readClientData() - { - $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4); - $recordData = substr($this->_data, $this->_pos + 8, $length); + // bit: 15; mask 0x8000; 1 = this is a complex property, op field specifies size of complex data + $opidFComplex = (0x8000 & $opid) >> 15; - // move stream pointer to next record - $this->_pos += 8 + $length; - } + // offset: 2; size: 4; the value for this property + $op = PHPExcel_Reader_Excel5::getInt4d($fopte, 2); - /** - * Read OfficeArtRGFOPTE table of property-value pairs - * - * @param string $data Binary data - * @param int $n Number of properties - */ - private function _readOfficeArtRGFOPTE($data, $n) { + if ($opidFComplex) { + $complexData = substr($splicedComplexData, 0, $op); + $splicedComplexData = substr($splicedComplexData, $op); - $splicedComplexData = substr($data, 6 * $n); - - // loop through property-value pairs - for ($i = 0; $i < $n; ++$i) { - // read 6 bytes at a time - $fopte = substr($data, 6 * $i, 6); - - // offset: 0; size: 2; opid - $opid = PHPExcel_Reader_Excel5::_GetInt2d($fopte, 0); - - // bit: 0-13; mask: 0x3FFF; opid.opid - $opidOpid = (0x3FFF & $opid) >> 0; - - // bit: 14; mask 0x4000; 1 = value in op field is BLIP identifier - $opidFBid = (0x4000 & $opid) >> 14; - - // bit: 15; mask 0x8000; 1 = this is a complex property, op field specifies size of complex data - $opidFComplex = (0x8000 & $opid) >> 15; - - // offset: 2; size: 4; the value for this property - $op = PHPExcel_Reader_Excel5::_GetInt4d($fopte, 2); - - if ($opidFComplex) { - $complexData = substr($splicedComplexData, 0, $op); - $splicedComplexData = substr($splicedComplexData, $op); - - // we store string value with complex data - $value = $complexData; - } else { - // we store integer value - $value = $op; - } - - $this->_object->setOPT($opidOpid, $value); - } - } + // we store string value with complex data + $value = $complexData; + } else { + // we store integer value + $value = $op; + } + $this->object->setOPT($opidOpid, $value); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php index 097e9753f..f14ea9469 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/MD5.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_Excel5_MD5 * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Reader_Excel5_MD5 - * - * @category PHPExcel - * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_Excel5_MD5 { // Context @@ -41,7 +33,6 @@ class PHPExcel_Reader_Excel5_MD5 private $c; private $d; - /** * MD5 stream constructor */ @@ -50,7 +41,6 @@ class PHPExcel_Reader_Excel5_MD5 $this->reset(); } - /** * Reset the MD5 stream context */ @@ -62,10 +52,9 @@ class PHPExcel_Reader_Excel5_MD5 $this->d = 0x10325476; } - /** * Get MD5 stream context - * + * * @return string */ public function getContext() @@ -82,10 +71,9 @@ class PHPExcel_Reader_Excel5_MD5 return $s; } - /** * Add data to context - * + * * @param string $data Data to add */ public function add($data) @@ -97,10 +85,10 @@ class PHPExcel_Reader_Excel5_MD5 $C = $this->c; $D = $this->d; - $F = array('PHPExcel_Reader_Excel5_MD5','F'); - $G = array('PHPExcel_Reader_Excel5_MD5','G'); - $H = array('PHPExcel_Reader_Excel5_MD5','H'); - $I = array('PHPExcel_Reader_Excel5_MD5','I'); + $F = array('PHPExcel_Reader_Excel5_MD5','f'); + $G = array('PHPExcel_Reader_Excel5_MD5','g'); + $H = array('PHPExcel_Reader_Excel5_MD5','h'); + $I = array('PHPExcel_Reader_Excel5_MD5','i'); /* ROUND 1 */ self::step($F, $A, $B, $C, $D, $words[0], 7, 0xd76aa478); @@ -180,31 +168,26 @@ class PHPExcel_Reader_Excel5_MD5 $this->d = ($this->d + $D) & 0xffffffff; } - - private static function F($X, $Y, $Z) + private static function f($X, $Y, $Z) { return (($X & $Y) | ((~ $X) & $Z)); // X AND Y OR NOT X AND Z } - - private static function G($X, $Y, $Z) + private static function g($X, $Y, $Z) { return (($X & $Z) | ($Y & (~ $Z))); // X AND Z OR Y AND NOT Z } - - private static function H($X, $Y, $Z) + private static function h($X, $Y, $Z) { return ($X ^ $Y ^ $Z); // X XOR Y XOR Z } - - private static function I($X, $Y, $Z) + private static function i($X, $Y, $Z) { return ($Y ^ ($X | (~ $Z))) ; // Y XOR (X OR NOT Z) } - private static function step($func, &$A, $B, $C, $D, $M, $s, $t) { $A = ($A + call_user_func($func, $B, $C, $D) + $M + $t) & 0xffffffff; @@ -212,10 +195,9 @@ class PHPExcel_Reader_Excel5_MD5 $A = ($B + $A) & 0xffffffff; } - private static function rotate($decimal, $bits) { $binary = str_pad(decbin($decimal), 32, "0", STR_PAD_LEFT); return bindec(substr($binary, $bits).substr($binary, 0, $bits)); } -} \ No newline at end of file +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php index 199ee1921..5640539cb 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/RC4.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_Excel5_RC4 * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,69 +21,61 @@ * * @category PHPExcel * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Reader_Excel5_RC4 - * - * @category PHPExcel - * @package PHPExcel_Reader_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_Excel5_RC4 { - // Context - var $s = array(); - var $i = 0; - var $j = 0; + // Context + protected $s = array(); + protected $i = 0; + protected $j = 0; - /** - * RC4 stream decryption/encryption constrcutor - * - * @param string $key Encryption key/passphrase - */ - public function __construct($key) - { - $len = strlen($key); + /** + * RC4 stream decryption/encryption constrcutor + * + * @param string $key Encryption key/passphrase + */ + public function __construct($key) + { + $len = strlen($key); - for ($this->i = 0; $this->i < 256; $this->i++) { - $this->s[$this->i] = $this->i; - } + for ($this->i = 0; $this->i < 256; $this->i++) { + $this->s[$this->i] = $this->i; + } - $this->j = 0; - for ($this->i = 0; $this->i < 256; $this->i++) { - $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256; - $t = $this->s[$this->i]; - $this->s[$this->i] = $this->s[$this->j]; - $this->s[$this->j] = $t; - } - $this->i = $this->j = 0; - } + $this->j = 0; + for ($this->i = 0; $this->i < 256; $this->i++) { + $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256; + $t = $this->s[$this->i]; + $this->s[$this->i] = $this->s[$this->j]; + $this->s[$this->j] = $t; + } + $this->i = $this->j = 0; + } - /** - * Symmetric decryption/encryption function - * - * @param string $data Data to encrypt/decrypt - * - * @return string - */ - public function RC4($data) - { - $len = strlen($data); - for ($c = 0; $c < $len; $c++) { - $this->i = ($this->i + 1) % 256; - $this->j = ($this->j + $this->s[$this->i]) % 256; - $t = $this->s[$this->i]; - $this->s[$this->i] = $this->s[$this->j]; - $this->s[$this->j] = $t; + /** + * Symmetric decryption/encryption function + * + * @param string $data Data to encrypt/decrypt + * + * @return string + */ + public function RC4($data) + { + $len = strlen($data); + for ($c = 0; $c < $len; $c++) { + $this->i = ($this->i + 1) % 256; + $this->j = ($this->j + $this->s[$this->i]) % 256; + $t = $this->s[$this->i]; + $this->s[$this->i] = $this->s[$this->j]; + $this->s[$this->j] = $t; - $t = ($this->s[$this->i] + $this->s[$this->j]) % 256; + $t = ($this->s[$this->i] + $this->s[$this->j]) % 256; - $data[$c] = chr(ord($data[$c]) ^ $this->s[$t]); - } - return $data; - } + $data[$c] = chr(ord($data[$c]) ^ $this->s[$t]); + } + return $data; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/Border.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/Border.php new file mode 100644 index 000000000..fb45b9d5b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/Border.php @@ -0,0 +1,36 @@ +<?php + +class PHPExcel_Reader_Excel5_Style_Border +{ + protected static $map = array( + 0x00 => PHPExcel_Style_Border::BORDER_NONE, + 0x01 => PHPExcel_Style_Border::BORDER_THIN, + 0x02 => PHPExcel_Style_Border::BORDER_MEDIUM, + 0x03 => PHPExcel_Style_Border::BORDER_DASHED, + 0x04 => PHPExcel_Style_Border::BORDER_DOTTED, + 0x05 => PHPExcel_Style_Border::BORDER_THICK, + 0x06 => PHPExcel_Style_Border::BORDER_DOUBLE, + 0x07 => PHPExcel_Style_Border::BORDER_HAIR, + 0x08 => PHPExcel_Style_Border::BORDER_MEDIUMDASHED, + 0x09 => PHPExcel_Style_Border::BORDER_DASHDOT, + 0x0A => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT, + 0x0B => PHPExcel_Style_Border::BORDER_DASHDOTDOT, + 0x0C => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT, + 0x0D => PHPExcel_Style_Border::BORDER_SLANTDASHDOT, + ); + + /** + * Map border style + * OpenOffice documentation: 2.5.11 + * + * @param int $index + * @return string + */ + public static function lookup($index) + { + if (isset(self::$map[$index])) { + return self::$map[$index]; + } + return PHPExcel_Style_Border::BORDER_NONE; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/FillPattern.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/FillPattern.php new file mode 100644 index 000000000..c92d19a69 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5/Style/FillPattern.php @@ -0,0 +1,41 @@ +<?php + +class PHPExcel_Reader_Excel5_Style_FillPattern +{ + protected static $map = array( + 0x00 => PHPExcel_Style_Fill::FILL_NONE, + 0x01 => PHPExcel_Style_Fill::FILL_SOLID, + 0x02 => PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY, + 0x03 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY, + 0x04 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY, + 0x05 => PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL, + 0x06 => PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL, + 0x07 => PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN, + 0x08 => PHPExcel_Style_Fill::FILL_PATTERN_DARKUP, + 0x09 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID, + 0x0A => PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS, + 0x0B => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL, + 0x0C => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL, + 0x0D => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN, + 0x0E => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP, + 0x0F => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID, + 0x10 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS, + 0x11 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY125, + 0x12 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625, + ); + + /** + * Get fill pattern from index + * OpenOffice documentation: 2.5.12 + * + * @param int $index + * @return string + */ + public static function lookup($index) + { + if (isset(self::$map[$index])) { + return self::$map[$index]; + } + return PHPExcel_Style_Fill::FILL_NONE; + } +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php index d0e2f5707..48b3f8253 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Exception.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_Exception * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,33 +21,26 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Reader_Exception - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Reader_Exception extends PHPExcel_Exception { - /** - * Error handler callback - * - * @param mixed $code - * @param mixed $string - * @param mixed $file - * @param mixed $line - * @param mixed $context - */ - public static function errorHandlerCallback($code, $string, $file, $line, $context) { - $e = new self($string, $code); - $e->line = $line; - $e->file = $file; - throw $e; - } +class PHPExcel_Reader_Exception extends PHPExcel_Exception +{ + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) + { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php index 584ded287..913e52bc8 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Gnumeric.php @@ -1,8 +1,18 @@ <?php + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + /** - * PHPExcel + * PHPExcel_Reader_Gnumeric * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,854 +30,821 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} - -/** - * PHPExcel_Reader_Gnumeric - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_Gnumeric extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader { - /** - * Formats - * - * @var array - */ - private $_styles = array(); + /** + * Formats + * + * @var array + */ + private $styles = array(); - /** - * Shared Expressions - * - * @var array - */ - private $_expressions = array(); + /** + * Shared Expressions + * + * @var array + */ + private $expressions = array(); - private $_referenceHelper = null; + private $referenceHelper = null; + /** + * Create a new PHPExcel_Reader_Gnumeric + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + $this->referenceHelper = PHPExcel_ReferenceHelper::getInstance(); + } - /** - * Create a new PHPExcel_Reader_Gnumeric - */ - public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); - $this->_referenceHelper = PHPExcel_ReferenceHelper::getInstance(); - } + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + // Check if gzlib functions are available + if (!function_exists('gzread')) { + throw new PHPExcel_Reader_Exception("gzlib library is not enabled"); + } - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + // Read signature data (first 3 bytes) + $fh = fopen($pFilename, 'r'); + $data = fread($fh, 2); + fclose($fh); - // Check if gzlib functions are available - if (!function_exists('gzread')) { - throw new PHPExcel_Reader_Exception("gzlib library is not enabled"); - } + if ($data != chr(0x1F).chr(0x8B)) { + return false; + } - // Read signature data (first 3 bytes) - $fh = fopen($pFilename, 'r'); - $data = fread($fh, 2); - fclose($fh); + return true; + } - if ($data != chr(0x1F).chr(0x8B)) { - return false; - } + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - return true; - } + $xml = new XMLReader(); + $xml->xml($this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2, true); + $worksheetNames = array(); + while ($xml->read()) { + if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $worksheetNames[] = (string) $xml->value; + } elseif ($xml->name == 'gnm:Sheets') { + // break out of the loop once we've got our sheet names rather than parse the entire file + break; + } + } - /** - * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetNames($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + return $worksheetNames; + } - $xml = new XMLReader(); - $xml->xml( - $this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions() - ); - $xml->setParserProperty(2,true); + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - $worksheetNames = array(); - while ($xml->read()) { - if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) { - $xml->read(); // Move onto the value node - $worksheetNames[] = (string) $xml->value; - } elseif ($xml->name == 'gnm:Sheets') { - // break out of the loop once we've got our sheet names rather than parse the entire file - break; - } - } + $xml = new XMLReader(); + $xml->xml($this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2, true); - return $worksheetNames; - } + $worksheetInfo = array(); + while ($xml->read()) { + if ($xml->name == 'gnm:Sheet' && $xml->nodeType == XMLReader::ELEMENT) { + $tmpInfo = array( + 'worksheetName' => '', + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); + while ($xml->read()) { + if ($xml->name == 'gnm:Name' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['worksheetName'] = (string) $xml->value; + } elseif ($xml->name == 'gnm:MaxCol' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['lastColumnIndex'] = (int) $xml->value; + $tmpInfo['totalColumns'] = (int) $xml->value + 1; + } elseif ($xml->name == 'gnm:MaxRow' && $xml->nodeType == XMLReader::ELEMENT) { + $xml->read(); // Move onto the value node + $tmpInfo['totalRows'] = (int) $xml->value + 1; + break; + } + } + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $worksheetInfo[] = $tmpInfo; + } + } - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + return $worksheetInfo; + } - $xml = new XMLReader(); - $xml->xml( - $this->securityScanFile('compress.zlib://'.realpath($pFilename)), null, PHPExcel_Settings::getLibXmlLoaderOptions() - ); - $xml->setParserProperty(2,true); + private function gzfileGetContents($filename) + { + $file = @gzopen($filename, 'rb'); + if ($file !== false) { + $data = ''; + while (!gzeof($file)) { + $data .= gzread($file, 1024); + } + gzclose($file); + } + return $data; + } - $worksheetInfo = array(); - while ($xml->read()) { - if ($xml->name == 'gnm:Sheet' && $xml->nodeType == XMLReader::ELEMENT) { - $tmpInfo = array( - 'worksheetName' => '', - 'lastColumnLetter' => 'A', - 'lastColumnIndex' => 0, - 'totalRows' => 0, - 'totalColumns' => 0, - ); + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); - while ($xml->read()) { - if ($xml->name == 'gnm:Name' && $xml->nodeType == XMLReader::ELEMENT) { - $xml->read(); // Move onto the value node - $tmpInfo['worksheetName'] = (string) $xml->value; - } elseif ($xml->name == 'gnm:MaxCol' && $xml->nodeType == XMLReader::ELEMENT) { - $xml->read(); // Move onto the value node - $tmpInfo['lastColumnIndex'] = (int) $xml->value; - $tmpInfo['totalColumns'] = (int) $xml->value + 1; - } elseif ($xml->name == 'gnm:MaxRow' && $xml->nodeType == XMLReader::ELEMENT) { - $xml->read(); // Move onto the value node - $tmpInfo['totalRows'] = (int) $xml->value + 1; - break; - } - } - $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); - $worksheetInfo[] = $tmpInfo; - } - } + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } - return $worksheetInfo; - } + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); - private function _gzfileGetContents($filename) { - $file = @gzopen($filename, 'rb'); - if ($file !== false) { - $data = ''; - while (!gzeof($file)) { - $data .= gzread($file, 1024); - } - gzclose($file); - } - return $data; - } + $gFileData = $this->gzfileGetContents($pFilename); - - /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Create new PHPExcel - $objPHPExcel = new PHPExcel(); - - // Load into this instance - return $this->loadIntoExisting($pFilename, $objPHPExcel); - } - - - /** - * Loads PHPExcel from file into PHPExcel instance - * - * @param string $pFilename - * @param PHPExcel $objPHPExcel - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $timezoneObj = new DateTimeZone('Europe/London'); - $GMT = new DateTimeZone('UTC'); - - $gFileData = $this->_gzfileGetContents($pFilename); - -// echo '<pre>'; -// echo htmlentities($gFileData,ENT_QUOTES,'UTF-8'); -// echo '</pre><hr />'; +// echo '<pre>'; +// echo htmlentities($gFileData,ENT_QUOTES,'UTF-8'); +// echo '</pre><hr />'; // - $xml = simplexml_load_string($this->securityScan($gFileData), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespacesMeta = $xml->getNamespaces(true); + $xml = simplexml_load_string($this->securityScan($gFileData), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesMeta = $xml->getNamespaces(true); -// var_dump($namespacesMeta); +// var_dump($namespacesMeta); // - $gnmXML = $xml->children($namespacesMeta['gnm']); + $gnmXML = $xml->children($namespacesMeta['gnm']); - $docProps = $objPHPExcel->getProperties(); - // Document Properties are held differently, depending on the version of Gnumeric - if (isset($namespacesMeta['office'])) { - $officeXML = $xml->children($namespacesMeta['office']); - $officeDocXML = $officeXML->{'document-meta'}; - $officeDocMetaXML = $officeDocXML->meta; + $docProps = $objPHPExcel->getProperties(); + // Document Properties are held differently, depending on the version of Gnumeric + if (isset($namespacesMeta['office'])) { + $officeXML = $xml->children($namespacesMeta['office']); + $officeDocXML = $officeXML->{'document-meta'}; + $officeDocMetaXML = $officeDocXML->meta; - foreach($officeDocMetaXML as $officePropertyData) { + foreach ($officeDocMetaXML as $officePropertyData) { + $officePropertyDC = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); + } + foreach ($officePropertyDC as $propertyName => $propertyValue) { + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'title': + $docProps->setTitle(trim($propertyValue)); + break; + case 'subject': + $docProps->setSubject(trim($propertyValue)); + break; + case 'creator': + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'date': + $creationDate = strtotime(trim($propertyValue)); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'description': + $docProps->setDescription(trim($propertyValue)); + break; + } + } + $officePropertyMeta = array(); + if (isset($namespacesMeta['meta'])) { + $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); + } + foreach ($officePropertyMeta as $propertyName => $propertyValue) { + $attributes = $propertyValue->attributes($namespacesMeta['meta']); + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'keyword': + $docProps->setKeywords(trim($propertyValue)); + break; + case 'initial-creator': + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'creation-date': + $creationDate = strtotime(trim($propertyValue)); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'user-defined': + list(, $attrName) = explode(':', $attributes['name']); + switch ($attrName) { + case 'publisher': + $docProps->setCompany(trim($propertyValue)); + break; + case 'category': + $docProps->setCategory(trim($propertyValue)); + break; + case 'manager': + $docProps->setManager(trim($propertyValue)); + break; + } + break; + } + } + } + } elseif (isset($gnmXML->Summary)) { + foreach ($gnmXML->Summary->Item as $summaryItem) { + $propertyName = $summaryItem->name; + $propertyValue = $summaryItem->{'val-string'}; + switch ($propertyName) { + case 'title': + $docProps->setTitle(trim($propertyValue)); + break; + case 'comments': + $docProps->setDescription(trim($propertyValue)); + break; + case 'keywords': + $docProps->setKeywords(trim($propertyValue)); + break; + case 'category': + $docProps->setCategory(trim($propertyValue)); + break; + case 'manager': + $docProps->setManager(trim($propertyValue)); + break; + case 'author': + $docProps->setCreator(trim($propertyValue)); + $docProps->setLastModifiedBy(trim($propertyValue)); + break; + case 'company': + $docProps->setCompany(trim($propertyValue)); + break; + } + } + } - $officePropertyDC = array(); - if (isset($namespacesMeta['dc'])) { - $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); - } - foreach($officePropertyDC as $propertyName => $propertyValue) { - $propertyValue = (string) $propertyValue; - switch ($propertyName) { - case 'title' : - $docProps->setTitle(trim($propertyValue)); - break; - case 'subject' : - $docProps->setSubject(trim($propertyValue)); - break; - case 'creator' : - $docProps->setCreator(trim($propertyValue)); - $docProps->setLastModifiedBy(trim($propertyValue)); - break; - case 'date' : - $creationDate = strtotime(trim($propertyValue)); - $docProps->setCreated($creationDate); - $docProps->setModified($creationDate); - break; - case 'description' : - $docProps->setDescription(trim($propertyValue)); - break; - } - } - $officePropertyMeta = array(); - if (isset($namespacesMeta['meta'])) { - $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); - } - foreach($officePropertyMeta as $propertyName => $propertyValue) { - $attributes = $propertyValue->attributes($namespacesMeta['meta']); - $propertyValue = (string) $propertyValue; - switch ($propertyName) { - case 'keyword' : - $docProps->setKeywords(trim($propertyValue)); - break; - case 'initial-creator' : - $docProps->setCreator(trim($propertyValue)); - $docProps->setLastModifiedBy(trim($propertyValue)); - break; - case 'creation-date' : - $creationDate = strtotime(trim($propertyValue)); - $docProps->setCreated($creationDate); - $docProps->setModified($creationDate); - break; - case 'user-defined' : - list(,$attrName) = explode(':',$attributes['name']); - switch ($attrName) { - case 'publisher' : - $docProps->setCompany(trim($propertyValue)); - break; - case 'category' : - $docProps->setCategory(trim($propertyValue)); - break; - case 'manager' : - $docProps->setManager(trim($propertyValue)); - break; - } - break; - } - } - } - } elseif (isset($gnmXML->Summary)) { - foreach($gnmXML->Summary->Item as $summaryItem) { - $propertyName = $summaryItem->name; - $propertyValue = $summaryItem->{'val-string'}; - switch ($propertyName) { - case 'title' : - $docProps->setTitle(trim($propertyValue)); - break; - case 'comments' : - $docProps->setDescription(trim($propertyValue)); - break; - case 'keywords' : - $docProps->setKeywords(trim($propertyValue)); - break; - case 'category' : - $docProps->setCategory(trim($propertyValue)); - break; - case 'manager' : - $docProps->setManager(trim($propertyValue)); - break; - case 'author' : - $docProps->setCreator(trim($propertyValue)); - $docProps->setLastModifiedBy(trim($propertyValue)); - break; - case 'company' : - $docProps->setCompany(trim($propertyValue)); - break; - } - } - } + $worksheetID = 0; + foreach ($gnmXML->Sheets->Sheet as $sheet) { + $worksheetName = (string) $sheet->Name; +// echo '<b>Worksheet: ', $worksheetName,'</b><br />'; + if ((isset($this->loadSheetsOnly)) && (!in_array($worksheetName, $this->loadSheetsOnly))) { + continue; + } - $worksheetID = 0; - foreach($gnmXML->Sheets->Sheet as $sheet) { - $worksheetName = (string) $sheet->Name; -// echo '<b>Worksheet: ',$worksheetName,'</b><br />'; - if ((isset($this->_loadSheetsOnly)) && (!in_array($worksheetName, $this->_loadSheetsOnly))) { - continue; - } + $maxRow = $maxCol = 0; - $maxRow = $maxCol = 0; + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula + // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet + // name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName, false); - // Create new Worksheet - $objPHPExcel->createSheet(); - $objPHPExcel->setActiveSheetIndex($worksheetID); - // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula - // cells... during the load, all formulae should be correct, and we're simply bringing the worksheet - // name in line with the formula, not the reverse - $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); + if ((!$this->readDataOnly) && (isset($sheet->PrintInformation))) { + if (isset($sheet->PrintInformation->Margins)) { + foreach ($sheet->PrintInformation->Margins->children('gnm', true) as $key => $margin) { + $marginAttributes = $margin->attributes(); + $marginSize = 72 / 100; // Default + switch ($marginAttributes['PrefUnit']) { + case 'mm': + $marginSize = intval($marginAttributes['Points']) / 100; + break; + } + switch ($key) { + case 'top': + $objPHPExcel->getActiveSheet()->getPageMargins()->setTop($marginSize); + break; + case 'bottom': + $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom($marginSize); + break; + case 'left': + $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($marginSize); + break; + case 'right': + $objPHPExcel->getActiveSheet()->getPageMargins()->setRight($marginSize); + break; + case 'header': + $objPHPExcel->getActiveSheet()->getPageMargins()->setHeader($marginSize); + break; + case 'footer': + $objPHPExcel->getActiveSheet()->getPageMargins()->setFooter($marginSize); + break; + } + } + } + } - if ((!$this->_readDataOnly) && (isset($sheet->PrintInformation))) { - if (isset($sheet->PrintInformation->Margins)) { - foreach($sheet->PrintInformation->Margins->children('gnm',TRUE) as $key => $margin) { - $marginAttributes = $margin->attributes(); - $marginSize = 72 / 100; // Default - switch($marginAttributes['PrefUnit']) { - case 'mm' : - $marginSize = intval($marginAttributes['Points']) / 100; - break; - } - switch($key) { - case 'top' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setTop($marginSize); - break; - case 'bottom' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setBottom($marginSize); - break; - case 'left' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($marginSize); - break; - case 'right' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setRight($marginSize); - break; - case 'header' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setHeader($marginSize); - break; - case 'footer' : - $objPHPExcel->getActiveSheet()->getPageMargins()->setFooter($marginSize); - break; - } - } - } - } + foreach ($sheet->Cells->Cell as $cell) { + $cellAttributes = $cell->attributes(); + $row = (int) $cellAttributes->Row + 1; + $column = (int) $cellAttributes->Col; - foreach($sheet->Cells->Cell as $cell) { - $cellAttributes = $cell->attributes(); - $row = (int) $cellAttributes->Row + 1; - $column = (int) $cellAttributes->Col; + if ($row > $maxRow) { + $maxRow = $row; + } + if ($column > $maxCol) { + $maxCol = $column; + } - if ($row > $maxRow) $maxRow = $row; - if ($column > $maxCol) $maxCol = $column; + $column = PHPExcel_Cell::stringFromColumnIndex($column); - $column = PHPExcel_Cell::stringFromColumnIndex($column); + // Read cell? + if ($this->getReadFilter() !== null) { + if (!$this->getReadFilter()->readCell($column, $row, $worksheetName)) { + continue; + } + } - // Read cell? - if ($this->getReadFilter() !== NULL) { - if (!$this->getReadFilter()->readCell($column, $row, $worksheetName)) { - continue; - } - } + $ValueType = $cellAttributes->ValueType; + $ExprID = (string) $cellAttributes->ExprID; +// echo 'Cell ', $column, $row,'<br />'; +// echo 'Type is ', $ValueType,'<br />'; +// echo 'Value is ', $cell,'<br />'; + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + if ($ExprID > '') { + if (((string) $cell) > '') { + $this->expressions[$ExprID] = array( + 'column' => $cellAttributes->Col, + 'row' => $cellAttributes->Row, + 'formula' => (string) $cell + ); +// echo 'NEW EXPRESSION ', $ExprID,'<br />'; + } else { + $expression = $this->expressions[$ExprID]; - $ValueType = $cellAttributes->ValueType; - $ExprID = (string) $cellAttributes->ExprID; -// echo 'Cell ',$column,$row,'<br />'; -// echo 'Type is ',$ValueType,'<br />'; -// echo 'Value is ',$cell,'<br />'; - $type = PHPExcel_Cell_DataType::TYPE_FORMULA; - if ($ExprID > '') { - if (((string) $cell) > '') { + $cell = $this->referenceHelper->updateFormulaReferences( + $expression['formula'], + 'A1', + $cellAttributes->Col - $expression['column'], + $cellAttributes->Row - $expression['row'], + $worksheetName + ); +// echo 'SHARED EXPRESSION ', $ExprID,'<br />'; +// echo 'New Value is ', $cell,'<br />'; + } + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; + } else { + switch ($ValueType) { + case '10': // NULL + $type = PHPExcel_Cell_DataType::TYPE_NULL; + break; + case '20': // Boolean + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $cell = ($cell == 'TRUE') ? true: false; + break; + case '30': // Integer + $cell = intval($cell); + // Excel 2007+ doesn't differentiate between integer and float, so set the value and dropthru to the next (numeric) case + case '40': // Float + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + break; + case '50': // Error + $type = PHPExcel_Cell_DataType::TYPE_ERROR; + break; + case '60': // String + $type = PHPExcel_Cell_DataType::TYPE_STRING; + break; + case '70': // Cell Range + case '80': // Array + } + } + $objPHPExcel->getActiveSheet()->getCell($column.$row)->setValueExplicit($cell, $type); + } - $this->_expressions[$ExprID] = array( 'column' => $cellAttributes->Col, - 'row' => $cellAttributes->Row, - 'formula' => (string) $cell - ); -// echo 'NEW EXPRESSION ',$ExprID,'<br />'; - } else { - $expression = $this->_expressions[$ExprID]; - - $cell = $this->_referenceHelper->updateFormulaReferences( $expression['formula'], - 'A1', - $cellAttributes->Col - $expression['column'], - $cellAttributes->Row - $expression['row'], - $worksheetName - ); -// echo 'SHARED EXPRESSION ',$ExprID,'<br />'; -// echo 'New Value is ',$cell,'<br />'; - } - $type = PHPExcel_Cell_DataType::TYPE_FORMULA; - } else { - switch($ValueType) { - case '10' : // NULL - $type = PHPExcel_Cell_DataType::TYPE_NULL; - break; - case '20' : // Boolean - $type = PHPExcel_Cell_DataType::TYPE_BOOL; - $cell = ($cell == 'TRUE') ? True : False; - break; - case '30' : // Integer - $cell = intval($cell); - case '40' : // Float - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - break; - case '50' : // Error - $type = PHPExcel_Cell_DataType::TYPE_ERROR; - break; - case '60' : // String - $type = PHPExcel_Cell_DataType::TYPE_STRING; - break; - case '70' : // Cell Range - case '80' : // Array - } - } - $objPHPExcel->getActiveSheet()->getCell($column.$row)->setValueExplicit($cell,$type); - } - - if ((!$this->_readDataOnly) && (isset($sheet->Objects))) { - foreach($sheet->Objects->children('gnm',TRUE) as $key => $comment) { - $commentAttributes = $comment->attributes(); - // Only comment objects are handled at the moment - if ($commentAttributes->Text) { - $objPHPExcel->getActiveSheet()->getComment( (string)$commentAttributes->ObjectBound ) - ->setAuthor( (string)$commentAttributes->Author ) - ->setText($this->_parseRichText((string)$commentAttributes->Text) ); - } - } - } -// echo '$maxCol=',$maxCol,'; $maxRow=',$maxRow,'<br />'; + if ((!$this->readDataOnly) && (isset($sheet->Objects))) { + foreach ($sheet->Objects->children('gnm', true) as $key => $comment) { + $commentAttributes = $comment->attributes(); + // Only comment objects are handled at the moment + if ($commentAttributes->Text) { + $objPHPExcel->getActiveSheet()->getComment((string)$commentAttributes->ObjectBound)->setAuthor((string)$commentAttributes->Author)->setText($this->parseRichText((string)$commentAttributes->Text)); + } + } + } +// echo '$maxCol=', $maxCol,'; $maxRow=', $maxRow,'<br />'; // - foreach($sheet->Styles->StyleRegion as $styleRegion) { - $styleAttributes = $styleRegion->attributes(); - if (($styleAttributes['startRow'] <= $maxRow) && - ($styleAttributes['startCol'] <= $maxCol)) { + foreach ($sheet->Styles->StyleRegion as $styleRegion) { + $styleAttributes = $styleRegion->attributes(); + if (($styleAttributes['startRow'] <= $maxRow) && + ($styleAttributes['startCol'] <= $maxCol)) { + $startColumn = PHPExcel_Cell::stringFromColumnIndex((int) $styleAttributes['startCol']); + $startRow = $styleAttributes['startRow'] + 1; - $startColumn = PHPExcel_Cell::stringFromColumnIndex((int) $styleAttributes['startCol']); - $startRow = $styleAttributes['startRow'] + 1; + $endColumn = ($styleAttributes['endCol'] > $maxCol) ? $maxCol : (int) $styleAttributes['endCol']; + $endColumn = PHPExcel_Cell::stringFromColumnIndex($endColumn); + $endRow = ($styleAttributes['endRow'] > $maxRow) ? $maxRow : $styleAttributes['endRow']; + $endRow += 1; + $cellRange = $startColumn.$startRow.':'.$endColumn.$endRow; +// echo $cellRange,'<br />'; - $endColumn = ($styleAttributes['endCol'] > $maxCol) ? $maxCol : (int) $styleAttributes['endCol']; - $endColumn = PHPExcel_Cell::stringFromColumnIndex($endColumn); - $endRow = ($styleAttributes['endRow'] > $maxRow) ? $maxRow : $styleAttributes['endRow']; - $endRow += 1; - $cellRange = $startColumn.$startRow.':'.$endColumn.$endRow; -// echo $cellRange,'<br />'; + $styleAttributes = $styleRegion->Style->attributes(); +// var_dump($styleAttributes); +// echo '<br />'; - $styleAttributes = $styleRegion->Style->attributes(); -// var_dump($styleAttributes); -// echo '<br />'; + // We still set the number format mask for date/time values, even if readDataOnly is true + if ((!$this->readDataOnly) || + (PHPExcel_Shared_Date::isDateTimeFormatCode((string) $styleAttributes['Format']))) { + $styleArray = array(); + $styleArray['numberformat']['code'] = (string) $styleAttributes['Format']; + // If readDataOnly is false, we set all formatting information + if (!$this->readDataOnly) { + switch ($styleAttributes['HAlign']) { + case '1': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + break; + case '2': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_LEFT; + break; + case '4': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_RIGHT; + break; + case '8': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER; + break; + case '16': + case '64': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS; + break; + case '32': + $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY; + break; + } - // We still set the number format mask for date/time values, even if _readDataOnly is true - if ((!$this->_readDataOnly) || - (PHPExcel_Shared_Date::isDateTimeFormatCode((string) $styleAttributes['Format']))) { - $styleArray = array(); - $styleArray['numberformat']['code'] = (string) $styleAttributes['Format']; - // If _readDataOnly is false, we set all formatting information - if (!$this->_readDataOnly) { - switch($styleAttributes['HAlign']) { - case '1' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; - break; - case '2' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_LEFT; - break; - case '4' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_RIGHT; - break; - case '8' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER; - break; - case '16' : - case '64' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS; - break; - case '32' : - $styleArray['alignment']['horizontal'] = PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY; - break; - } + switch ($styleAttributes['VAlign']) { + case '1': + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_TOP; + break; + case '2': + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + break; + case '4': + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_CENTER; + break; + case '8': + $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_JUSTIFY; + break; + } - switch($styleAttributes['VAlign']) { - case '1' : - $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_TOP; - break; - case '2' : - $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; - break; - case '4' : - $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_CENTER; - break; - case '8' : - $styleArray['alignment']['vertical'] = PHPExcel_Style_Alignment::VERTICAL_JUSTIFY; - break; - } + $styleArray['alignment']['wrap'] = ($styleAttributes['WrapText'] == '1') ? true : false; + $styleArray['alignment']['shrinkToFit'] = ($styleAttributes['ShrinkToFit'] == '1') ? true : false; + $styleArray['alignment']['indent'] = (intval($styleAttributes["Indent"]) > 0) ? $styleAttributes["indent"] : 0; - $styleArray['alignment']['wrap'] = ($styleAttributes['WrapText'] == '1') ? True : False; - $styleArray['alignment']['shrinkToFit'] = ($styleAttributes['ShrinkToFit'] == '1') ? True : False; - $styleArray['alignment']['indent'] = (intval($styleAttributes["Indent"]) > 0) ? $styleAttributes["indent"] : 0; + $RGB = self::parseGnumericColour($styleAttributes["Fore"]); + $styleArray['font']['color']['rgb'] = $RGB; + $RGB = self::parseGnumericColour($styleAttributes["Back"]); + $shade = $styleAttributes["Shade"]; + if (($RGB != '000000') || ($shade != '0')) { + $styleArray['fill']['color']['rgb'] = $styleArray['fill']['startcolor']['rgb'] = $RGB; + $RGB2 = self::parseGnumericColour($styleAttributes["PatternColor"]); + $styleArray['fill']['endcolor']['rgb'] = $RGB2; + switch ($shade) { + case '1': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_SOLID; + break; + case '2': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR; + break; + case '3': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_PATH; + break; + case '4': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN; + break; + case '5': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY; + break; + case '6': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID; + break; + case '7': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL; + break; + case '8': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS; + break; + case '9': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKUP; + break; + case '10': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL; + break; + case '11': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625; + break; + case '12': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY125; + break; + case '13': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN; + break; + case '14': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY; + break; + case '15': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID; + break; + case '16': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL; + break; + case '17': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS; + break; + case '18': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP; + break; + case '19': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL; + break; + case '20': + $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY; + break; + } + } - $RGB = self::_parseGnumericColour($styleAttributes["Fore"]); - $styleArray['font']['color']['rgb'] = $RGB; - $RGB = self::_parseGnumericColour($styleAttributes["Back"]); - $shade = $styleAttributes["Shade"]; - if (($RGB != '000000') || ($shade != '0')) { - $styleArray['fill']['color']['rgb'] = $styleArray['fill']['startcolor']['rgb'] = $RGB; - $RGB2 = self::_parseGnumericColour($styleAttributes["PatternColor"]); - $styleArray['fill']['endcolor']['rgb'] = $RGB2; - switch($shade) { - case '1' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_SOLID; - break; - case '2' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR; - break; - case '3' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_GRADIENT_PATH; - break; - case '4' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN; - break; - case '5' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY; - break; - case '6' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID; - break; - case '7' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL; - break; - case '8' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS; - break; - case '9' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKUP; - break; - case '10' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL; - break; - case '11' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625; - break; - case '12' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_GRAY125; - break; - case '13' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN; - break; - case '14' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY; - break; - case '15' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID; - break; - case '16' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL; - break; - case '17' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS; - break; - case '18' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP; - break; - case '19' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL; - break; - case '20' : - $styleArray['fill']['type'] = PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY; - break; - } - } + $fontAttributes = $styleRegion->Style->Font->attributes(); +// var_dump($fontAttributes); +// echo '<br />'; + $styleArray['font']['name'] = (string) $styleRegion->Style->Font; + $styleArray['font']['size'] = intval($fontAttributes['Unit']); + $styleArray['font']['bold'] = ($fontAttributes['Bold'] == '1') ? true : false; + $styleArray['font']['italic'] = ($fontAttributes['Italic'] == '1') ? true : false; + $styleArray['font']['strike'] = ($fontAttributes['StrikeThrough'] == '1') ? true : false; + switch ($fontAttributes['Underline']) { + case '1': + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLE; + break; + case '2': + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLE; + break; + case '3': + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING; + break; + case '4': + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING; + break; + default: + $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_NONE; + break; + } + switch ($fontAttributes['Script']) { + case '1': + $styleArray['font']['superScript'] = true; + break; + case '-1': + $styleArray['font']['subScript'] = true; + break; + } - $fontAttributes = $styleRegion->Style->Font->attributes(); -// var_dump($fontAttributes); -// echo '<br />'; - $styleArray['font']['name'] = (string) $styleRegion->Style->Font; - $styleArray['font']['size'] = intval($fontAttributes['Unit']); - $styleArray['font']['bold'] = ($fontAttributes['Bold'] == '1') ? True : False; - $styleArray['font']['italic'] = ($fontAttributes['Italic'] == '1') ? True : False; - $styleArray['font']['strike'] = ($fontAttributes['StrikeThrough'] == '1') ? True : False; - switch($fontAttributes['Underline']) { - case '1' : - $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLE; - break; - case '2' : - $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLE; - break; - case '3' : - $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING; - break; - case '4' : - $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING; - break; - default : - $styleArray['font']['underline'] = PHPExcel_Style_Font::UNDERLINE_NONE; - break; - } - switch($fontAttributes['Script']) { - case '1' : - $styleArray['font']['superScript'] = True; - break; - case '-1' : - $styleArray['font']['subScript'] = True; - break; - } + if (isset($styleRegion->Style->StyleBorder)) { + if (isset($styleRegion->Style->StyleBorder->Top)) { + $styleArray['borders']['top'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Top->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Bottom)) { + $styleArray['borders']['bottom'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Bottom->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Left)) { + $styleArray['borders']['left'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Left->attributes()); + } + if (isset($styleRegion->Style->StyleBorder->Right)) { + $styleArray['borders']['right'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Right->attributes()); + } + if ((isset($styleRegion->Style->StyleBorder->Diagonal)) && (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}))) { + $styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_BOTH; + } elseif (isset($styleRegion->Style->StyleBorder->Diagonal)) { + $styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_UP; + } elseif (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'})) { + $styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}->attributes()); + $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_DOWN; + } + } + if (isset($styleRegion->Style->HyperLink)) { + // TO DO + $hyperlink = $styleRegion->Style->HyperLink->attributes(); + } + } +// var_dump($styleArray); +// echo '<br />'; + $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($styleArray); + } + } + } - if (isset($styleRegion->Style->StyleBorder)) { - if (isset($styleRegion->Style->StyleBorder->Top)) { - $styleArray['borders']['top'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Top->attributes()); - } - if (isset($styleRegion->Style->StyleBorder->Bottom)) { - $styleArray['borders']['bottom'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Bottom->attributes()); - } - if (isset($styleRegion->Style->StyleBorder->Left)) { - $styleArray['borders']['left'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Left->attributes()); - } - if (isset($styleRegion->Style->StyleBorder->Right)) { - $styleArray['borders']['right'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Right->attributes()); - } - if ((isset($styleRegion->Style->StyleBorder->Diagonal)) && (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}))) { - $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); - $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_BOTH; - } elseif (isset($styleRegion->Style->StyleBorder->Diagonal)) { - $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes()); - $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_UP; - } elseif (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'})) { - $styleArray['borders']['diagonal'] = self::_parseBorderAttributes($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}->attributes()); - $styleArray['borders']['diagonaldirection'] = PHPExcel_Style_Borders::DIAGONAL_DOWN; - } - } - if (isset($styleRegion->Style->HyperLink)) { - // TO DO - $hyperlink = $styleRegion->Style->HyperLink->attributes(); - } - } -// var_dump($styleArray); -// echo '<br />'; - $objPHPExcel->getActiveSheet()->getStyle($cellRange)->applyFromArray($styleArray); - } - } - } + if ((!$this->readDataOnly) && (isset($sheet->Cols))) { + // Column Widths + $columnAttributes = $sheet->Cols->attributes(); + $defaultWidth = $columnAttributes['DefaultSizePts'] / 5.4; + $c = 0; + foreach ($sheet->Cols->ColInfo as $columnOverride) { + $columnAttributes = $columnOverride->attributes(); + $column = $columnAttributes['No']; + $columnWidth = $columnAttributes['Unit'] / 5.4; + $hidden = ((isset($columnAttributes['Hidden'])) && ($columnAttributes['Hidden'] == '1')) ? true : false; + $columnCount = (isset($columnAttributes['Count'])) ? $columnAttributes['Count'] : 1; + while ($c < $column) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); + ++$c; + } + while (($c < ($column+$columnCount)) && ($c <= $maxCol)) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($columnWidth); + if ($hidden) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setVisible(false); + } + ++$c; + } + } + while ($c <= $maxCol) { + $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); + ++$c; + } + } - if ((!$this->_readDataOnly) && (isset($sheet->Cols))) { - // Column Widths - $columnAttributes = $sheet->Cols->attributes(); - $defaultWidth = $columnAttributes['DefaultSizePts'] / 5.4; - $c = 0; - foreach($sheet->Cols->ColInfo as $columnOverride) { - $columnAttributes = $columnOverride->attributes(); - $column = $columnAttributes['No']; - $columnWidth = $columnAttributes['Unit'] / 5.4; - $hidden = ((isset($columnAttributes['Hidden'])) && ($columnAttributes['Hidden'] == '1')) ? true : false; - $columnCount = (isset($columnAttributes['Count'])) ? $columnAttributes['Count'] : 1; - while ($c < $column) { - $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); - ++$c; - } - while (($c < ($column+$columnCount)) && ($c <= $maxCol)) { - $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($columnWidth); - if ($hidden) { - $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setVisible(false); - } - ++$c; - } - } - while ($c <= $maxCol) { - $objPHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex($c))->setWidth($defaultWidth); - ++$c; - } - } + if ((!$this->readDataOnly) && (isset($sheet->Rows))) { + // Row Heights + $rowAttributes = $sheet->Rows->attributes(); + $defaultHeight = $rowAttributes['DefaultSizePts']; + $r = 0; - if ((!$this->_readDataOnly) && (isset($sheet->Rows))) { - // Row Heights - $rowAttributes = $sheet->Rows->attributes(); - $defaultHeight = $rowAttributes['DefaultSizePts']; - $r = 0; + foreach ($sheet->Rows->RowInfo as $rowOverride) { + $rowAttributes = $rowOverride->attributes(); + $row = $rowAttributes['No']; + $rowHeight = $rowAttributes['Unit']; + $hidden = ((isset($rowAttributes['Hidden'])) && ($rowAttributes['Hidden'] == '1')) ? true : false; + $rowCount = (isset($rowAttributes['Count'])) ? $rowAttributes['Count'] : 1; + while ($r < $row) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); + } + while (($r < ($row+$rowCount)) && ($r < $maxRow)) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($rowHeight); + if ($hidden) { + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setVisible(false); + } + } + } + while ($r < $maxRow) { + ++$r; + $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); + } + } - foreach($sheet->Rows->RowInfo as $rowOverride) { - $rowAttributes = $rowOverride->attributes(); - $row = $rowAttributes['No']; - $rowHeight = $rowAttributes['Unit']; - $hidden = ((isset($rowAttributes['Hidden'])) && ($rowAttributes['Hidden'] == '1')) ? true : false; - $rowCount = (isset($rowAttributes['Count'])) ? $rowAttributes['Count'] : 1; - while ($r < $row) { - ++$r; - $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); - } - while (($r < ($row+$rowCount)) && ($r < $maxRow)) { - ++$r; - $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($rowHeight); - if ($hidden) { - $objPHPExcel->getActiveSheet()->getRowDimension($r)->setVisible(false); - } - } - } - while ($r < $maxRow) { - ++$r; - $objPHPExcel->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight); - } - } + // Handle Merged Cells in this worksheet + if (isset($sheet->MergedRegions)) { + foreach ($sheet->MergedRegions->Merge as $mergeCells) { + if (strpos($mergeCells, ':') !== false) { + $objPHPExcel->getActiveSheet()->mergeCells($mergeCells); + } + } + } - // Handle Merged Cells in this worksheet - if (isset($sheet->MergedRegions)) { - foreach($sheet->MergedRegions->Merge as $mergeCells) { - if (strpos($mergeCells,':') !== FALSE) { - $objPHPExcel->getActiveSheet()->mergeCells($mergeCells); - } - } - } + $worksheetID++; + } - $worksheetID++; - } + // Loop through definedNames (global named ranges) + if (isset($gnmXML->Names)) { + foreach ($gnmXML->Names->Name as $namedRange) { + $name = (string) $namedRange->name; + $range = (string) $namedRange->value; + if (stripos($range, '#REF!') !== false) { + continue; + } - // Loop through definedNames (global named ranges) - if (isset($gnmXML->Names)) { - foreach($gnmXML->Names->Name as $namedRange) { - $name = (string) $namedRange->name; - $range = (string) $namedRange->value; - if (stripos($range, '#REF!') !== false) { - continue; - } + $range = explode('!', $range); + $range[0] = trim($range[0], "'"); + if ($worksheet = $objPHPExcel->getSheetByName($range[0])) { + $extractedRange = str_replace('$', '', $range[1]); + $objPHPExcel->addNamedRange(new PHPExcel_NamedRange($name, $worksheet, $extractedRange)); + } + } + } - $range = explode('!',$range); - $range[0] = trim($range[0],"'");; - if ($worksheet = $objPHPExcel->getSheetByName($range[0])) { - $extractedRange = str_replace('$', '', $range[1]); - $objPHPExcel->addNamedRange( new PHPExcel_NamedRange($name, $worksheet, $extractedRange) ); - } - } - } + // Return + return $objPHPExcel; + } + private static function parseBorderAttributes($borderAttributes) + { + $styleArray = array(); + if (isset($borderAttributes["Color"])) { + $styleArray['color']['rgb'] = self::parseGnumericColour($borderAttributes["Color"]); + } - // Return - return $objPHPExcel; - } + switch ($borderAttributes["Style"]) { + case '0': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_NONE; + break; + case '1': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case '2': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; + break; + case '3': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_SLANTDASHDOT; + break; + case '4': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHED; + break; + case '5': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_THICK; + break; + case '6': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOUBLE; + break; + case '7': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOTTED; + break; + case '8': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHED; + break; + case '9': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOT; + break; + case '10': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT; + break; + case '11': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOTDOT; + break; + case '12': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; + break; + case '13': + $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; + break; + } + return $styleArray; + } + private function parseRichText($is = '') + { + $value = new PHPExcel_RichText(); + $value->createText($is); - private static function _parseBorderAttributes($borderAttributes) - { - $styleArray = array(); - - if (isset($borderAttributes["Color"])) { - $RGB = self::_parseGnumericColour($borderAttributes["Color"]); - $styleArray['color']['rgb'] = $RGB; - } - - switch ($borderAttributes["Style"]) { - case '0' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_NONE; - break; - case '1' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case '2' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUM; - break; - case '4' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHED; - break; - case '5' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_THICK; - break; - case '6' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOUBLE; - break; - case '7' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_DOTTED; - break; - case '9' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOT; - break; - case '10' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT; - break; - case '11' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_DASHDOTDOT; - break; - case '12' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; - break; - case '13' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT; - break; - case '3' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_SLANTDASHDOT; - break; - case '8' : - $styleArray['style'] = PHPExcel_Style_Border::BORDER_MEDIUMDASHED; - break; - } - return $styleArray; - } - - - private function _parseRichText($is = '') { - $value = new PHPExcel_RichText(); - - $value->createText($is); - - return $value; - } - - - private static function _parseGnumericColour($gnmColour) { - list($gnmR,$gnmG,$gnmB) = explode(':',$gnmColour); - $gnmR = substr(str_pad($gnmR,4,'0',STR_PAD_RIGHT),0,2); - $gnmG = substr(str_pad($gnmG,4,'0',STR_PAD_RIGHT),0,2); - $gnmB = substr(str_pad($gnmB,4,'0',STR_PAD_RIGHT),0,2); - $RGB = $gnmR.$gnmG.$gnmB; -// echo 'Excel Colour: ',$RGB,'<br />'; - return $RGB; - } + return $value; + } + private static function parseGnumericColour($gnmColour) + { + list($gnmR, $gnmG, $gnmB) = explode(':', $gnmColour); + $gnmR = substr(str_pad($gnmR, 4, '0', STR_PAD_RIGHT), 0, 2); + $gnmG = substr(str_pad($gnmG, 4, '0', STR_PAD_RIGHT), 0, 2); + $gnmB = substr(str_pad($gnmB, 4, '0', STR_PAD_RIGHT), 0, 2); + return $gnmR . $gnmG . $gnmB; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php index 26cc598c1..ac762a4f2 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/HTML.php @@ -1,9 +1,17 @@ <?php +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + /** - * PHPExcel + * PHPExcel_Reader_HTML * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,26 +29,11 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ /** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} - -/** - * PHPExcel_Reader_HTML - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader { @@ -49,56 +42,75 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ * * @var string */ - protected $_inputEncoding = 'ANSI'; + protected $inputEncoding = 'ANSI'; /** * Sheet index to read * * @var int */ - protected $_sheetIndex = 0; + protected $sheetIndex = 0; /** * Formats * * @var array */ - protected $_formats = array( - 'h1' => array('font' => array('bold' => true, + protected $formats = array( + 'h1' => array( + 'font' => array( + 'bold' => true, 'size' => 24, ), - ), // Bold, 24pt - 'h2' => array('font' => array('bold' => true, + ), // Bold, 24pt + 'h2' => array( + 'font' => array( + 'bold' => true, 'size' => 18, ), - ), // Bold, 18pt - 'h3' => array('font' => array('bold' => true, + ), // Bold, 18pt + 'h3' => array( + 'font' => array( + 'bold' => true, 'size' => 13.5, ), - ), // Bold, 13.5pt - 'h4' => array('font' => array('bold' => true, + ), // Bold, 13.5pt + 'h4' => array( + 'font' => array( + 'bold' => true, 'size' => 12, ), - ), // Bold, 12pt - 'h5' => array('font' => array('bold' => true, + ), // Bold, 12pt + 'h5' => array( + 'font' => array( + 'bold' => true, 'size' => 10, ), - ), // Bold, 10pt - 'h6' => array('font' => array('bold' => true, + ), // Bold, 10pt + 'h6' => array( + 'font' => array( + 'bold' => true, 'size' => 7.5, ), - ), // Bold, 7.5pt - 'a' => array('font' => array('underline' => true, - 'color' => array('argb' => PHPExcel_Style_Color::COLOR_BLUE, + ), // Bold, 7.5pt + 'a' => array( + 'font' => array( + 'underline' => true, + 'color' => array( + 'argb' => PHPExcel_Style_Color::COLOR_BLUE, ), ), - ), // Blue underlined - 'hr' => array('borders' => array('bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN, - 'color' => array(\PHPExcel_Style_Color::COLOR_BLACK, + ), // Blue underlined + 'hr' => array( + 'borders' => array( + 'bottom' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN, + 'color' => array( + PHPExcel_Style_Color::COLOR_BLACK, ), ), ), - ), // Bottom border + ), // Bottom border ); protected $rowspan = array(); @@ -108,7 +120,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ */ public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); } /** @@ -116,16 +128,16 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ * * @return boolean */ - protected function _isValidFormat() + protected function isValidFormat() { - // Reading 2048 bytes should be enough to validate that the format is HTML - $data = fread($this->_fileHandle, 2048); - if ((strpos($data, '<') !== FALSE) && + // Reading 2048 bytes should be enough to validate that the format is HTML + $data = fread($this->fileHandle, 2048); + if ((strpos($data, '<') !== false) && (strlen($data) !== strlen(strip_tags($data)))) { - return TRUE; + return true; } - return FALSE; + return false; } /** @@ -151,7 +163,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ */ public function setInputEncoding($pValue = 'ANSI') { - $this->_inputEncoding = $pValue; + $this->inputEncoding = $pValue; return $this; } @@ -163,237 +175,242 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ */ public function getInputEncoding() { - return $this->_inputEncoding; + return $this->inputEncoding; } - // Data Array used for testing only, should write to PHPExcel object on completion of tests - protected $_dataArray = array(); - protected $_tableLevel = 0; - protected $_nestedColumn = array('A'); + // Data Array used for testing only, should write to PHPExcel object on completion of tests + protected $dataArray = array(); + protected $tableLevel = 0; + protected $nestedColumn = array('A'); - protected function _setTableStartColumn($column) + protected function setTableStartColumn($column) { - if ($this->_tableLevel == 0) + if ($this->tableLevel == 0) { $column = 'A'; - ++$this->_tableLevel; - $this->_nestedColumn[$this->_tableLevel] = $column; + } + ++$this->tableLevel; + $this->nestedColumn[$this->tableLevel] = $column; - return $this->_nestedColumn[$this->_tableLevel]; + return $this->nestedColumn[$this->tableLevel]; } - protected function _getTableStartColumn() + protected function getTableStartColumn() { - return $this->_nestedColumn[$this->_tableLevel]; + return $this->nestedColumn[$this->tableLevel]; } - protected function _releaseTableStartColumn() + protected function releaseTableStartColumn() { - --$this->_tableLevel; + --$this->tableLevel; - return array_pop($this->_nestedColumn); + return array_pop($this->nestedColumn); } - protected function _flushCell($sheet, $column, $row, &$cellContent) + protected function flushCell($sheet, $column, $row, &$cellContent) { if (is_string($cellContent)) { - // Simple String content + // Simple String content if (trim($cellContent) > '') { - // Only actually write it if there's content in the string -// echo 'FLUSH CELL: ' , $column , $row , ' => ' , $cellContent , '<br />'; - // Write to worksheet to be done here... - // ... we return the cell so we can mess about with styles more easily + // Only actually write it if there's content in the string +// echo 'FLUSH CELL: ' , $column , $row , ' => ' , $cellContent , '<br />'; + // Write to worksheet to be done here... + // ... we return the cell so we can mess about with styles more easily $sheet->setCellValue($column . $row, $cellContent, true); - $this->_dataArray[$row][$column] = $cellContent; + $this->dataArray[$row][$column] = $cellContent; } } else { - // We have a Rich Text run - // TODO - $this->_dataArray[$row][$column] = 'RICH TEXT: ' . $cellContent; + // We have a Rich Text run + // TODO + $this->dataArray[$row][$column] = 'RICH TEXT: ' . $cellContent; } $cellContent = (string) ''; } - protected function _processDomElement(DOMNode $element, $sheet, &$row, &$column, &$cellContent, $format = null) + protected function processDomElement(DOMNode $element, $sheet, &$row, &$column, &$cellContent, $format = null) { foreach ($element->childNodes as $child) { if ($child instanceof DOMText) { $domText = preg_replace('/\s+/u', ' ', trim($child->nodeValue)); if (is_string($cellContent)) { - // simply append the text if the cell content is a plain text string + // simply append the text if the cell content is a plain text string $cellContent .= $domText; } else { - // but if we have a rich text run instead, we need to append it correctly - // TODO + // but if we have a rich text run instead, we need to append it correctly + // TODO } } elseif ($child instanceof DOMElement) { -// echo '<b>DOM ELEMENT: </b>' , strtoupper($child->nodeName) , '<br />'; +// echo '<b>DOM ELEMENT: </b>' , strtoupper($child->nodeName) , '<br />'; $attributeArray = array(); foreach ($child->attributes as $attribute) { -// echo '<b>ATTRIBUTE: </b>' , $attribute->name , ' => ' , $attribute->value , '<br />'; +// echo '<b>ATTRIBUTE: </b>' , $attribute->name , ' => ' , $attribute->value , '<br />'; $attributeArray[$attribute->name] = $attribute->value; } switch ($child->nodeName) { - case 'meta' : + case 'meta': foreach ($attributeArray as $attributeName => $attributeValue) { switch ($attributeName) { case 'content': - // TODO - // Extract character set, so we can convert to UTF-8 if required + // TODO + // Extract character set, so we can convert to UTF-8 if required break; } } - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + $this->processDomElement($child, $sheet, $row, $column, $cellContent); break; - case 'title' : - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + case 'title': + $this->processDomElement($child, $sheet, $row, $column, $cellContent); $sheet->setTitle($cellContent); $cellContent = ''; break; - case 'span' : - case 'div' : - case 'font' : - case 'i' : - case 'em' : + case 'span': + case 'div': + case 'font': + case 'i': + case 'em': case 'strong': - case 'b' : -// echo 'STYLING, SPAN OR DIV<br />'; - if ($cellContent > '') + case 'b': +// echo 'STYLING, SPAN OR DIV<br />'; + if ($cellContent > '') { $cellContent .= ' '; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); - if ($cellContent > '') + } + $this->processDomElement($child, $sheet, $row, $column, $cellContent); + if ($cellContent > '') { $cellContent .= ' '; -// echo 'END OF STYLING, SPAN OR DIV<br />'; + } +// echo 'END OF STYLING, SPAN OR DIV<br />'; break; - case 'hr' : - $this->_flushCell($sheet, $column, $row, $cellContent); + case 'hr': + $this->flushCell($sheet, $column, $row, $cellContent); ++$row; - if (isset($this->_formats[$child->nodeName])) { - $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + if (isset($this->formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]); } else { $cellContent = '----------'; - $this->_flushCell($sheet, $column, $row, $cellContent); + $this->flushCell($sheet, $column, $row, $cellContent); } ++$row; - case 'br' : - if ($this->_tableLevel > 0) { - // If we're inside a table, replace with a \n + // Add a break after a horizontal rule, simply by allowing the code to dropthru + case 'br': + if ($this->tableLevel > 0) { + // If we're inside a table, replace with a \n $cellContent .= "\n"; } else { - // Otherwise flush our existing content and move the row cursor on - $this->_flushCell($sheet, $column, $row, $cellContent); + // Otherwise flush our existing content and move the row cursor on + $this->flushCell($sheet, $column, $row, $cellContent); ++$row; } -// echo 'HARD LINE BREAK: ' , '<br />'; +// echo 'HARD LINE BREAK: ' , '<br />'; break; - case 'a' : -// echo 'START OF HYPERLINK: ' , '<br />'; + case 'a': +// echo 'START OF HYPERLINK: ' , '<br />'; foreach ($attributeArray as $attributeName => $attributeValue) { switch ($attributeName) { case 'href': -// echo 'Link to ' , $attributeValue , '<br />'; +// echo 'Link to ' , $attributeValue , '<br />'; $sheet->getCell($column . $row)->getHyperlink()->setUrl($attributeValue); - if (isset($this->_formats[$child->nodeName])) { - $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + if (isset($this->formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]); } break; } } $cellContent .= ' '; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF HYPERLINK:' , '<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF HYPERLINK:' , '<br />'; break; - case 'h1' : - case 'h2' : - case 'h3' : - case 'h4' : - case 'h5' : - case 'h6' : - case 'ol' : - case 'ul' : - case 'p' : - if ($this->_tableLevel > 0) { - // If we're inside a table, replace with a \n + case 'h1': + case 'h2': + case 'h3': + case 'h4': + case 'h5': + case 'h6': + case 'ol': + case 'ul': + case 'p': + if ($this->tableLevel > 0) { + // If we're inside a table, replace with a \n $cellContent .= "\n"; -// echo 'LIST ENTRY: ' , '<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF LIST ENTRY:' , '<br />'; +// echo 'LIST ENTRY: ' , '<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; } else { if ($cellContent > '') { - $this->_flushCell($sheet, $column, $row, $cellContent); + $this->flushCell($sheet, $column, $row, $cellContent); $row++; } -// echo 'START OF PARAGRAPH: ' , '<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF PARAGRAPH:' , '<br />'; - $this->_flushCell($sheet, $column, $row, $cellContent); +// echo 'START OF PARAGRAPH: ' , '<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF PARAGRAPH:' , '<br />'; + $this->flushCell($sheet, $column, $row, $cellContent); - if (isset($this->_formats[$child->nodeName])) { - $sheet->getStyle($column . $row)->applyFromArray($this->_formats[$child->nodeName]); + if (isset($this->formats[$child->nodeName])) { + $sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]); } $row++; $column = 'A'; } break; - case 'li' : - if ($this->_tableLevel > 0) { - // If we're inside a table, replace with a \n + case 'li': + if ($this->tableLevel > 0) { + // If we're inside a table, replace with a \n $cellContent .= "\n"; -// echo 'LIST ENTRY: ' , '<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF LIST ENTRY:' , '<br />'; +// echo 'LIST ENTRY: ' , '<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; } else { if ($cellContent > '') { - $this->_flushCell($sheet, $column, $row, $cellContent); + $this->flushCell($sheet, $column, $row, $cellContent); } ++$row; -// echo 'LIST ENTRY: ' , '<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF LIST ENTRY:' , '<br />'; - $this->_flushCell($sheet, $column, $row, $cellContent); +// echo 'LIST ENTRY: ' , '<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF LIST ENTRY:' , '<br />'; + $this->flushCell($sheet, $column, $row, $cellContent); $column = 'A'; } break; - case 'table' : - $this->_flushCell($sheet, $column, $row, $cellContent); - $column = $this->_setTableStartColumn($column); -// echo 'START OF TABLE LEVEL ' , $this->_tableLevel , '<br />'; - if ($this->_tableLevel > 1) + case 'table': + $this->flushCell($sheet, $column, $row, $cellContent); + $column = $this->setTableStartColumn($column); +// echo 'START OF TABLE LEVEL ' , $this->tableLevel , '<br />'; + if ($this->tableLevel > 1) { --$row; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF TABLE LEVEL ' , $this->_tableLevel , '<br />'; - $column = $this->_releaseTableStartColumn(); - if ($this->_tableLevel > 1) { + } + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF TABLE LEVEL ' , $this->tableLevel , '<br />'; + $column = $this->releaseTableStartColumn(); + if ($this->tableLevel > 1) { ++$column; } else { ++$row; } break; - case 'thead' : - case 'tbody' : - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + case 'thead': + case 'tbody': + $this->processDomElement($child, $sheet, $row, $column, $cellContent); break; - case 'tr' : - $column = $this->_getTableStartColumn(); + case 'tr': + $column = $this->getTableStartColumn(); $cellContent = ''; -// echo 'START OF TABLE ' , $this->_tableLevel , ' ROW<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'START OF TABLE ' , $this->tableLevel , ' ROW<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); ++$row; -// echo 'END OF TABLE ' , $this->_tableLevel , ' ROW<br />'; +// echo 'END OF TABLE ' , $this->tableLevel , ' ROW<br />'; break; - case 'th' : - case 'td' : -// echo 'START OF TABLE ' , $this->_tableLevel , ' CELL<br />'; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); -// echo 'END OF TABLE ' , $this->_tableLevel , ' CELL<br />'; + case 'th': + case 'td': +// echo 'START OF TABLE ' , $this->tableLevel , ' CELL<br />'; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); +// echo 'END OF TABLE ' , $this->tableLevel , ' CELL<br />'; while (isset($this->rowspan[$column . $row])) { ++$column; } - $this->_flushCell($sheet, $column, $row, $cellContent); + $this->flushCell($sheet, $column, $row, $cellContent); // if (isset($attributeArray['style']) && !empty($attributeArray['style'])) { // $styleAry = $this->getPhpExcelStyleArray($attributeArray['style']); @@ -433,15 +450,15 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ } ++$column; break; - case 'body' : + case 'body': $row = 1; $column = 'A'; $content = ''; - $this->_tableLevel = 0; - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + $this->tableLevel = 0; + $this->processDomElement($child, $sheet, $row, $column, $cellContent); break; default: - $this->_processDomElement($child, $sheet, $row, $column, $cellContent); + $this->processDomElement($child, $sheet, $row, $column, $cellContent); } } } @@ -458,37 +475,37 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) { // Open file to validate - $this->_openFile($pFilename); - if (!$this->_isValidFormat()) { - fclose($this->_fileHandle); + $this->openFile($pFilename); + if (!$this->isValidFormat()) { + fclose($this->fileHandle); throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid HTML file."); } - // Close after validating - fclose($this->_fileHandle); + // Close after validating + fclose($this->fileHandle); // Create new PHPExcel - while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { + while ($objPHPExcel->getSheetCount() <= $this->sheetIndex) { $objPHPExcel->createSheet(); } - $objPHPExcel->setActiveSheetIndex($this->_sheetIndex); + $objPHPExcel->setActiveSheetIndex($this->sheetIndex); - // Create a new DOM object + // Create a new DOM object $dom = new domDocument; - // Reload the HTML file into the DOM object - $loaded = $dom->loadHTML($this->securityScanFile($pFilename)); - if ($loaded === FALSE) { - throw new PHPExcel_Reader_Exception('Failed to load ', $pFilename, ' as a DOM Document'); + // Reload the HTML file into the DOM object + $loaded = $dom->loadHTML(mb_convert_encoding($this->securityScanFile($pFilename), 'HTML-ENTITIES', 'UTF-8')); + if ($loaded === false) { + throw new PHPExcel_Reader_Exception('Failed to load ' . $pFilename . ' as a DOM Document'); } - // Discard white space + // Discard white space $dom->preserveWhiteSpace = false; $row = 0; $column = 'A'; $content = ''; - $this->_processDomElement($dom, $objPHPExcel->getActiveSheet(), $row, $column, $content); + $this->processDomElement($dom, $objPHPExcel->getActiveSheet(), $row, $column, $content); - // Return + // Return return $objPHPExcel; } @@ -499,7 +516,7 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ */ public function getSheetIndex() { - return $this->_sheetIndex; + return $this->sheetIndex; } /** @@ -510,25 +527,23 @@ class PHPExcel_Reader_HTML extends PHPExcel_Reader_Abstract implements PHPExcel_ */ public function setSheetIndex($pValue = 0) { - $this->_sheetIndex = $pValue; + $this->sheetIndex = $pValue; return $this; } - /** - * Scan theXML for use of <!ENTITY to prevent XXE/XEE attacks - * - * @param string $xml - * @throws PHPExcel_Reader_Exception - */ - public function securityScan($xml) - { + /** + * Scan theXML for use of <!ENTITY to prevent XXE/XEE attacks + * + * @param string $xml + * @throws PHPExcel_Reader_Exception + */ + public function securityScan($xml) + { $pattern = '/\\0?' . implode('\\0?', str_split('<!ENTITY')) . '\\0?/'; - if (preg_match($pattern, $xml)) { + if (preg_match($pattern, $xml)) { throw new PHPExcel_Reader_Exception('Detected use of ENTITY in XML, spreadsheet file load() aborted to prevent XXE/XEE attacks'); } return $xml; } - } - diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php index f27cff8b9..f7c852d9d 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReadFilter.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_IReadFilter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,28 +21,19 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Reader_IReadFilter - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ interface PHPExcel_Reader_IReadFilter { - /** - * Should this cell be read? - * - * @param $column String column index - * @param $row Row index - * @param $worksheetName Optional worksheet name - * @return boolean - */ - public function readCell($column, $row, $worksheetName = ''); + /** + * Should this cell be read? + * + * @param $column Column address (as a string value like "A", or "IV") + * @param $row Row number + * @param $worksheetName Optional worksheet name + * @return boolean + */ + public function readCell($column, $row, $worksheetName = ''); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php index b543df4a7..903454641 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/IReader.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Reader_IReader * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,35 +21,26 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Reader_IReader - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ interface PHPExcel_Reader_IReader { - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - */ - public function canRead($pFilename); + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + */ + public function canRead($pFilename); - /** - * Loads PHPExcel from file - * - * @param string $pFilename + /** + * Loads PHPExcel from file + * + * @param string $pFilename * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename); + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php index 7644df941..a889d9570 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/OOCalc.php @@ -1,8 +1,18 @@ <?php + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + /** - * PHPExcel + * PHPExcel_Reader_OOCalc * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,692 +30,667 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} - -/** - * PHPExcel_Reader_OOCalc - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader { - /** - * Formats - * - * @var array - */ - private $_styles = array(); + /** + * Formats + * + * @var array + */ + private $styles = array(); + /** + * Create a new PHPExcel_Reader_OOCalc + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } - /** - * Create a new PHPExcel_Reader_OOCalc - */ - public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); - } - - - /** - * Can the current PHPExcel_Reader_IReader read the file? - * - * @param string $pFilename - * @return boolean - * @throws PHPExcel_Reader_Exception - */ - public function canRead($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Can the current PHPExcel_Reader_IReader read the file? + * + * @param string $pFilename + * @return boolean + * @throws PHPExcel_Reader_Exception + */ + public function canRead($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } $zipClass = PHPExcel_Settings::getZipClass(); - // Check if zip class exists -// if (!class_exists($zipClass, FALSE)) { -// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); -// } + // Check if zip class exists +// if (!class_exists($zipClass, false)) { +// throw new PHPExcel_Reader_Exception($zipClass . " library is not enabled"); +// } $mimeType = 'UNKNOWN'; - // Load file - $zip = new $zipClass; - if ($zip->open($pFilename) === true) { - // check if it is an OOXML archive - $stat = $zip->statName('mimetype'); - if ($stat && ($stat['size'] <= 255)) { - $mimeType = $zip->getFromName($stat['name']); - } elseif($stat = $zip->statName('META-INF/manifest.xml')) { - $xml = simplexml_load_string($this->securityScan($zip->getFromName('META-INF/manifest.xml')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespacesContent = $xml->getNamespaces(true); - if (isset($namespacesContent['manifest'])) { - $manifest = $xml->children($namespacesContent['manifest']); - foreach($manifest as $manifestDataSet) { - $manifestAttributes = $manifestDataSet->attributes($namespacesContent['manifest']); - if ($manifestAttributes->{'full-path'} == '/') { - $mimeType = (string) $manifestAttributes->{'media-type'}; - break; - } - } - } - } + // Load file + $zip = new $zipClass; + if ($zip->open($pFilename) === true) { + // check if it is an OOXML archive + $stat = $zip->statName('mimetype'); + if ($stat && ($stat['size'] <= 255)) { + $mimeType = $zip->getFromName($stat['name']); + } elseif ($stat = $zip->statName('META-INF/manifest.xml')) { + $xml = simplexml_load_string($this->securityScan($zip->getFromName('META-INF/manifest.xml')), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesContent = $xml->getNamespaces(true); + if (isset($namespacesContent['manifest'])) { + $manifest = $xml->children($namespacesContent['manifest']); + foreach ($manifest as $manifestDataSet) { + $manifestAttributes = $manifestDataSet->attributes($namespacesContent['manifest']); + if ($manifestAttributes->{'full-path'} == '/') { + $mimeType = (string) $manifestAttributes->{'media-type'}; + break; + } + } + } + } - $zip->close(); + $zip->close(); - return ($mimeType === 'application/vnd.oasis.opendocument.spreadsheet'); - } + return ($mimeType === 'application/vnd.oasis.opendocument.spreadsheet'); + } - return FALSE; - } + return false; + } - /** - * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetNames($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } + /** + * Reads names of the worksheets from a file, without parsing the whole file to a PHPExcel object + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetNames($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - if (!$zip->open($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); - } + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } - $worksheetNames = array(); + $worksheetNames = array(); - $xml = new XMLReader(); - $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); - $xml->setParserProperty(2,true); + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2, true); - // Step into the first level of content of the XML - $xml->read(); - while ($xml->read()) { - // Quickly jump through to the office:body node - while ($xml->name !== 'office:body') { - if ($xml->isEmptyElement) - $xml->read(); - else - $xml->next(); - } - // Now read each node until we find our first table:table node - while ($xml->read()) { - if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { - // Loop through each table:table node reading the table:name attribute for each worksheet name - do { - $worksheetNames[] = $xml->getAttribute('table:name'); - $xml->next(); - } while ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT); - } - } - } + // Step into the first level of content of the XML + $xml->read(); + while ($xml->read()) { + // Quickly jump through to the office:body node + while ($xml->name !== 'office:body') { + if ($xml->isEmptyElement) { + $xml->read(); + } else { + $xml->next(); + } + } + // Now read each node until we find our first table:table node + while ($xml->read()) { + if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { + // Loop through each table:table node reading the table:name attribute for each worksheet name + do { + $worksheetNames[] = $xml->getAttribute('table:name'); + $xml->next(); + } while ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT); + } + } + } - return $worksheetNames; - } + return $worksheetNames; + } + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $worksheetInfo = array(); + $worksheetInfo = array(); $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - if (!$zip->open($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); - } + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } - $xml = new XMLReader(); - $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); - $xml->setParserProperty(2,true); + $xml = new XMLReader(); + $res = $xml->xml($this->securityScanFile('zip://'.realpath($pFilename).'#content.xml'), null, PHPExcel_Settings::getLibXmlLoaderOptions()); + $xml->setParserProperty(2, true); - // Step into the first level of content of the XML - $xml->read(); - while ($xml->read()) { - // Quickly jump through to the office:body node - while ($xml->name !== 'office:body') { - if ($xml->isEmptyElement) - $xml->read(); - else - $xml->next(); - } - // Now read each node until we find our first table:table node - while ($xml->read()) { - if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { - $worksheetNames[] = $xml->getAttribute('table:name'); + // Step into the first level of content of the XML + $xml->read(); + while ($xml->read()) { + // Quickly jump through to the office:body node + while ($xml->name !== 'office:body') { + if ($xml->isEmptyElement) { + $xml->read(); + } else { + $xml->next(); + } + } + // Now read each node until we find our first table:table node + while ($xml->read()) { + if ($xml->name == 'table:table' && $xml->nodeType == XMLReader::ELEMENT) { + $worksheetNames[] = $xml->getAttribute('table:name'); - $tmpInfo = array( - 'worksheetName' => $xml->getAttribute('table:name'), - 'lastColumnLetter' => 'A', - 'lastColumnIndex' => 0, - 'totalRows' => 0, - 'totalColumns' => 0, - ); + $tmpInfo = array( + 'worksheetName' => $xml->getAttribute('table:name'), + 'lastColumnLetter' => 'A', + 'lastColumnIndex' => 0, + 'totalRows' => 0, + 'totalColumns' => 0, + ); - // Loop through each child node of the table:table element reading - $currCells = 0; - do { - $xml->read(); - if ($xml->name == 'table:table-row' && $xml->nodeType == XMLReader::ELEMENT) { - $rowspan = $xml->getAttribute('table:number-rows-repeated'); - $rowspan = empty($rowspan) ? 1 : $rowspan; - $tmpInfo['totalRows'] += $rowspan; - $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); - $currCells = 0; - // Step into the row - $xml->read(); - do { - if ($xml->name == 'table:table-cell' && $xml->nodeType == XMLReader::ELEMENT) { - if (!$xml->isEmptyElement) { - $currCells++; - $xml->next(); - } else { - $xml->read(); - } - } elseif ($xml->name == 'table:covered-table-cell' && $xml->nodeType == XMLReader::ELEMENT) { - $mergeSize = $xml->getAttribute('table:number-columns-repeated'); - $currCells += $mergeSize; - $xml->read(); - } - } while ($xml->name != 'table:table-row'); - } - } while ($xml->name != 'table:table'); + // Loop through each child node of the table:table element reading + $currCells = 0; + do { + $xml->read(); + if ($xml->name == 'table:table-row' && $xml->nodeType == XMLReader::ELEMENT) { + $rowspan = $xml->getAttribute('table:number-rows-repeated'); + $rowspan = empty($rowspan) ? 1 : $rowspan; + $tmpInfo['totalRows'] += $rowspan; + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'], $currCells); + $currCells = 0; + // Step into the row + $xml->read(); + do { + if ($xml->name == 'table:table-cell' && $xml->nodeType == XMLReader::ELEMENT) { + if (!$xml->isEmptyElement) { + $currCells++; + $xml->next(); + } else { + $xml->read(); + } + } elseif ($xml->name == 'table:covered-table-cell' && $xml->nodeType == XMLReader::ELEMENT) { + $mergeSize = $xml->getAttribute('table:number-columns-repeated'); + $currCells += $mergeSize; + $xml->read(); + } + } while ($xml->name != 'table:table-row'); + } + } while ($xml->name != 'table:table'); - $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'],$currCells); - $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; - $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); - $worksheetInfo[] = $tmpInfo; - } - } + $tmpInfo['totalColumns'] = max($tmpInfo['totalColumns'], $currCells); + $tmpInfo['lastColumnIndex'] = $tmpInfo['totalColumns'] - 1; + $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); + $worksheetInfo[] = $tmpInfo; + } + } -// foreach($workbookData->table as $worksheetDataSet) { -// $worksheetData = $worksheetDataSet->children($namespacesContent['table']); -// $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); +// foreach ($workbookData->table as $worksheetDataSet) { +// $worksheetData = $worksheetDataSet->children($namespacesContent['table']); +// $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); // -// $rowIndex = 0; -// foreach ($worksheetData as $key => $rowData) { -// switch ($key) { -// case 'table-row' : -// $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); -// $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? -// $rowDataTableAttributes['number-rows-repeated'] : 1; -// $columnIndex = 0; +// $rowIndex = 0; +// foreach ($worksheetData as $key => $rowData) { +// switch ($key) { +// case 'table-row' : +// $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); +// $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? +// $rowDataTableAttributes['number-rows-repeated'] : 1; +// $columnIndex = 0; // -// foreach ($rowData as $key => $cellData) { -// $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); -// $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? -// $cellDataTableAttributes['number-columns-repeated'] : 1; -// $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); -// if (isset($cellDataOfficeAttributes['value-type'])) { -// $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex + $colRepeats - 1); -// $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex + $rowRepeats); -// } -// $columnIndex += $colRepeats; -// } -// $rowIndex += $rowRepeats; -// break; -// } -// } +// foreach ($rowData as $key => $cellData) { +// $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); +// $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? +// $cellDataTableAttributes['number-columns-repeated'] : 1; +// $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); +// if (isset($cellDataOfficeAttributes['value-type'])) { +// $tmpInfo['lastColumnIndex'] = max($tmpInfo['lastColumnIndex'], $columnIndex + $colRepeats - 1); +// $tmpInfo['totalRows'] = max($tmpInfo['totalRows'], $rowIndex + $rowRepeats); +// } +// $columnIndex += $colRepeats; +// } +// $rowIndex += $rowRepeats; +// break; +// } +// } // -// $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); -// $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; +// $tmpInfo['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($tmpInfo['lastColumnIndex']); +// $tmpInfo['totalColumns'] = $tmpInfo['lastColumnIndex'] + 1; // -// } -// } - } +// } +// } + } - return $worksheetInfo; - } + return $worksheetInfo; + } + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); - /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Create new PHPExcel - $objPHPExcel = new PHPExcel(); + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } - // Load into this instance - return $this->loadIntoExisting($pFilename, $objPHPExcel); - } + private static function identifyFixedStyleValue($styleList, &$styleAttributeValue) + { + $styleAttributeValue = strtolower($styleAttributeValue); + foreach ($styleList as $style) { + if ($styleAttributeValue == strtolower($style)) { + $styleAttributeValue = $style; + return true; + } + } + return false; + } + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Check if file exists + if (!file_exists($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); + } - private static function identifyFixedStyleValue($styleList,&$styleAttributeValue) { - $styleAttributeValue = strtolower($styleAttributeValue); - foreach($styleList as $style) { - if ($styleAttributeValue == strtolower($style)) { - $styleAttributeValue = $style; - return true; - } - } - return false; - } - - - /** - * Loads PHPExcel from file into PHPExcel instance - * - * @param string $pFilename - * @param PHPExcel $objPHPExcel - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) - { - // Check if file exists - if (!file_exists($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist."); - } - - $timezoneObj = new DateTimeZone('Europe/London'); - $GMT = new DateTimeZone('UTC'); + $timezoneObj = new DateTimeZone('Europe/London'); + $GMT = new DateTimeZone('UTC'); $zipClass = PHPExcel_Settings::getZipClass(); - $zip = new $zipClass; - if (!$zip->open($pFilename)) { - throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); - } + $zip = new $zipClass; + if (!$zip->open($pFilename)) { + throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! Error opening file."); + } -// echo '<h1>Meta Information</h1>'; - $xml = simplexml_load_string($this->securityScan($zip->getFromName("meta.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespacesMeta = $xml->getNamespaces(true); -// echo '<pre>'; -// print_r($namespacesMeta); -// echo '</pre><hr />'; +// echo '<h1>Meta Information</h1>'; + $xml = simplexml_load_string($this->securityScan($zip->getFromName("meta.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesMeta = $xml->getNamespaces(true); +// echo '<pre>'; +// print_r($namespacesMeta); +// echo '</pre><hr />'; - $docProps = $objPHPExcel->getProperties(); - $officeProperty = $xml->children($namespacesMeta['office']); - foreach($officeProperty as $officePropertyData) { - $officePropertyDC = array(); - if (isset($namespacesMeta['dc'])) { - $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); - } - foreach($officePropertyDC as $propertyName => $propertyValue) { - $propertyValue = (string) $propertyValue; - switch ($propertyName) { - case 'title' : - $docProps->setTitle($propertyValue); - break; - case 'subject' : - $docProps->setSubject($propertyValue); - break; - case 'creator' : - $docProps->setCreator($propertyValue); - $docProps->setLastModifiedBy($propertyValue); - break; - case 'date' : - $creationDate = strtotime($propertyValue); - $docProps->setCreated($creationDate); - $docProps->setModified($creationDate); - break; - case 'description' : - $docProps->setDescription($propertyValue); - break; - } - } - $officePropertyMeta = array(); - if (isset($namespacesMeta['dc'])) { - $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); - } - foreach($officePropertyMeta as $propertyName => $propertyValue) { - $propertyValueAttributes = $propertyValue->attributes($namespacesMeta['meta']); - $propertyValue = (string) $propertyValue; - switch ($propertyName) { - case 'initial-creator' : - $docProps->setCreator($propertyValue); - break; - case 'keyword' : - $docProps->setKeywords($propertyValue); - break; - case 'creation-date' : - $creationDate = strtotime($propertyValue); - $docProps->setCreated($creationDate); - break; - case 'user-defined' : - $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; - foreach ($propertyValueAttributes as $key => $value) { - if ($key == 'name') { - $propertyValueName = (string) $value; - } elseif($key == 'value-type') { - switch ($value) { - case 'date' : - $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'date'); - $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; - break; - case 'boolean' : - $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'bool'); - $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; - break; - case 'float' : - $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue,'r4'); - $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; - break; - default : - $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; - } - } - } - $docProps->setCustomProperty($propertyValueName,$propertyValue,$propertyValueType); - break; - } - } - } + $docProps = $objPHPExcel->getProperties(); + $officeProperty = $xml->children($namespacesMeta['office']); + foreach ($officeProperty as $officePropertyData) { + $officePropertyDC = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyDC = $officePropertyData->children($namespacesMeta['dc']); + } + foreach ($officePropertyDC as $propertyName => $propertyValue) { + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'title': + $docProps->setTitle($propertyValue); + break; + case 'subject': + $docProps->setSubject($propertyValue); + break; + case 'creator': + $docProps->setCreator($propertyValue); + $docProps->setLastModifiedBy($propertyValue); + break; + case 'date': + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + $docProps->setModified($creationDate); + break; + case 'description': + $docProps->setDescription($propertyValue); + break; + } + } + $officePropertyMeta = array(); + if (isset($namespacesMeta['dc'])) { + $officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']); + } + foreach ($officePropertyMeta as $propertyName => $propertyValue) { + $propertyValueAttributes = $propertyValue->attributes($namespacesMeta['meta']); + $propertyValue = (string) $propertyValue; + switch ($propertyName) { + case 'initial-creator': + $docProps->setCreator($propertyValue); + break; + case 'keyword': + $docProps->setKeywords($propertyValue); + break; + case 'creation-date': + $creationDate = strtotime($propertyValue); + $docProps->setCreated($creationDate); + break; + case 'user-defined': + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + foreach ($propertyValueAttributes as $key => $value) { + if ($key == 'name') { + $propertyValueName = (string) $value; + } elseif ($key == 'value-type') { + switch ($value) { + case 'date': + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue, 'date'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_DATE; + break; + case 'boolean': + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue, 'bool'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_BOOLEAN; + break; + case 'float': + $propertyValue = PHPExcel_DocumentProperties::convertProperty($propertyValue, 'r4'); + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_FLOAT; + break; + default: + $propertyValueType = PHPExcel_DocumentProperties::PROPERTY_TYPE_STRING; + } + } + } + $docProps->setCustomProperty($propertyValueName, $propertyValue, $propertyValueType); + break; + } + } + } -// echo '<h1>Workbook Content</h1>'; - $xml = simplexml_load_string($this->securityScan($zip->getFromName("content.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); - $namespacesContent = $xml->getNamespaces(true); -// echo '<pre>'; -// print_r($namespacesContent); -// echo '</pre><hr />'; +// echo '<h1>Workbook Content</h1>'; + $xml = simplexml_load_string($this->securityScan($zip->getFromName("content.xml")), 'SimpleXMLElement', PHPExcel_Settings::getLibXmlLoaderOptions()); + $namespacesContent = $xml->getNamespaces(true); +// echo '<pre>'; +// print_r($namespacesContent); +// echo '</pre><hr />'; - $workbook = $xml->children($namespacesContent['office']); - foreach($workbook->body->spreadsheet as $workbookData) { - $workbookData = $workbookData->children($namespacesContent['table']); - $worksheetID = 0; - foreach($workbookData->table as $worksheetDataSet) { - $worksheetData = $worksheetDataSet->children($namespacesContent['table']); -// print_r($worksheetData); -// echo '<br />'; - $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); -// print_r($worksheetDataAttributes); -// echo '<br />'; - if ((isset($this->_loadSheetsOnly)) && (isset($worksheetDataAttributes['name'])) && - (!in_array($worksheetDataAttributes['name'], $this->_loadSheetsOnly))) { - continue; - } + $workbook = $xml->children($namespacesContent['office']); + foreach ($workbook->body->spreadsheet as $workbookData) { + $workbookData = $workbookData->children($namespacesContent['table']); + $worksheetID = 0; + foreach ($workbookData->table as $worksheetDataSet) { + $worksheetData = $worksheetDataSet->children($namespacesContent['table']); +// print_r($worksheetData); +// echo '<br />'; + $worksheetDataAttributes = $worksheetDataSet->attributes($namespacesContent['table']); +// print_r($worksheetDataAttributes); +// echo '<br />'; + if ((isset($this->loadSheetsOnly)) && (isset($worksheetDataAttributes['name'])) && + (!in_array($worksheetDataAttributes['name'], $this->loadSheetsOnly))) { + continue; + } -// echo '<h2>Worksheet '.$worksheetDataAttributes['name'].'</h2>'; - // Create new Worksheet - $objPHPExcel->createSheet(); - $objPHPExcel->setActiveSheetIndex($worksheetID); - if (isset($worksheetDataAttributes['name'])) { - $worksheetName = (string) $worksheetDataAttributes['name']; - // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in - // formula cells... during the load, all formulae should be correct, and we're simply - // bringing the worksheet name in line with the formula, not the reverse - $objPHPExcel->getActiveSheet()->setTitle($worksheetName,false); - } +// echo '<h2>Worksheet '.$worksheetDataAttributes['name'].'</h2>'; + // Create new Worksheet + $objPHPExcel->createSheet(); + $objPHPExcel->setActiveSheetIndex($worksheetID); + if (isset($worksheetDataAttributes['name'])) { + $worksheetName = (string) $worksheetDataAttributes['name']; + // Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in + // formula cells... during the load, all formulae should be correct, and we're simply + // bringing the worksheet name in line with the formula, not the reverse + $objPHPExcel->getActiveSheet()->setTitle($worksheetName, false); + } - $rowID = 1; - foreach($worksheetData as $key => $rowData) { -// echo '<b>'.$key.'</b><br />'; - switch ($key) { - case 'table-header-rows': - foreach ($rowData as $key=>$cellData) { - $rowData = $cellData; - break; - } - case 'table-row' : - $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); - $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? - $rowDataTableAttributes['number-rows-repeated'] : 1; - $columnID = 'A'; - foreach($rowData as $key => $cellData) { - if ($this->getReadFilter() !== NULL) { - if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { - continue; - } - } + $rowID = 1; + foreach ($worksheetData as $key => $rowData) { +// echo '<b>'.$key.'</b><br />'; + switch ($key) { + case 'table-header-rows': + foreach ($rowData as $key => $cellData) { + $rowData = $cellData; + break; + } + case 'table-row': + $rowDataTableAttributes = $rowData->attributes($namespacesContent['table']); + $rowRepeats = (isset($rowDataTableAttributes['number-rows-repeated'])) ? $rowDataTableAttributes['number-rows-repeated'] : 1; + $columnID = 'A'; + foreach ($rowData as $key => $cellData) { + if ($this->getReadFilter() !== null) { + if (!$this->getReadFilter()->readCell($columnID, $rowID, $worksheetName)) { + continue; + } + } -// echo '<b>'.$columnID.$rowID.'</b><br />'; - $cellDataText = (isset($namespacesContent['text'])) ? - $cellData->children($namespacesContent['text']) : - ''; - $cellDataOffice = $cellData->children($namespacesContent['office']); - $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); - $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); +// echo '<b>'.$columnID.$rowID.'</b><br />'; + $cellDataText = (isset($namespacesContent['text'])) ? $cellData->children($namespacesContent['text']) : ''; + $cellDataOffice = $cellData->children($namespacesContent['office']); + $cellDataOfficeAttributes = $cellData->attributes($namespacesContent['office']); + $cellDataTableAttributes = $cellData->attributes($namespacesContent['table']); -// echo 'Office Attributes: '; -// print_r($cellDataOfficeAttributes); -// echo '<br />Table Attributes: '; -// print_r($cellDataTableAttributes); -// echo '<br />Cell Data Text'; -// print_r($cellDataText); -// echo '<br />'; +// echo 'Office Attributes: '; +// print_r($cellDataOfficeAttributes); +// echo '<br />Table Attributes: '; +// print_r($cellDataTableAttributes); +// echo '<br />Cell Data Text'; +// print_r($cellDataText); +// echo '<br />'; // - $type = $formatting = $hyperlink = null; - $hasCalculatedValue = false; - $cellDataFormula = ''; - if (isset($cellDataTableAttributes['formula'])) { - $cellDataFormula = $cellDataTableAttributes['formula']; - $hasCalculatedValue = true; - } + $type = $formatting = $hyperlink = null; + $hasCalculatedValue = false; + $cellDataFormula = ''; + if (isset($cellDataTableAttributes['formula'])) { + $cellDataFormula = $cellDataTableAttributes['formula']; + $hasCalculatedValue = true; + } - if (isset($cellDataOffice->annotation)) { -// echo 'Cell has comment<br />'; - $annotationText = $cellDataOffice->annotation->children($namespacesContent['text']); - $textArray = array(); - foreach($annotationText as $t) { - if (isset($t->span)) { - foreach($t->span as $text) { - $textArray[] = (string)$text; - } - } else { - $textArray[] = (string) $t; - } - } - $text = implode("\n",$textArray); -// echo $text,'<br />'; - $objPHPExcel->getActiveSheet()->getComment( $columnID.$rowID ) -// ->setAuthor( $author ) - ->setText($this->_parseRichText($text) ); - } + if (isset($cellDataOffice->annotation)) { +// echo 'Cell has comment<br />'; + $annotationText = $cellDataOffice->annotation->children($namespacesContent['text']); + $textArray = array(); + foreach ($annotationText as $t) { + if (isset($t->span)) { + foreach ($t->span as $text) { + $textArray[] = (string)$text; + } + } else { + $textArray[] = (string) $t; + } + } + $text = implode("\n", $textArray); +// echo $text, '<br />'; + $objPHPExcel->getActiveSheet()->getComment($columnID.$rowID)->setText($this->parseRichText($text)); +// ->setAuthor( $author ) + } - if (isset($cellDataText->p)) { - // Consolidate if there are multiple p records (maybe with spans as well) - $dataArray = array(); - // Text can have multiple text:p and within those, multiple text:span. - // text:p newlines, but text:span does not. - // Also, here we assume there is no text data is span fields are specified, since - // we have no way of knowing proper positioning anyway. - foreach ($cellDataText->p as $pData) { - if (isset($pData->span)) { - // span sections do not newline, so we just create one large string here - $spanSection = ""; - foreach ($pData->span as $spanData) { - $spanSection .= $spanData; - } - array_push($dataArray, $spanSection); - } else { - array_push($dataArray, $pData); - } - } - $allCellDataText = implode($dataArray, "\n"); + if (isset($cellDataText->p)) { + // Consolidate if there are multiple p records (maybe with spans as well) + $dataArray = array(); + // Text can have multiple text:p and within those, multiple text:span. + // text:p newlines, but text:span does not. + // Also, here we assume there is no text data is span fields are specified, since + // we have no way of knowing proper positioning anyway. + foreach ($cellDataText->p as $pData) { + if (isset($pData->span)) { + // span sections do not newline, so we just create one large string here + $spanSection = ""; + foreach ($pData->span as $spanData) { + $spanSection .= $spanData; + } + array_push($dataArray, $spanSection); + } else { + array_push($dataArray, $pData); + } + } + $allCellDataText = implode($dataArray, "\n"); -// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />'; - switch ($cellDataOfficeAttributes['value-type']) { - case 'string' : - $type = PHPExcel_Cell_DataType::TYPE_STRING; - $dataValue = $allCellDataText; - if (isset($dataValue->a)) { - $dataValue = $dataValue->a; - $cellXLinkAttributes = $dataValue->attributes($namespacesContent['xlink']); - $hyperlink = $cellXLinkAttributes['href']; - } - break; - case 'boolean' : - $type = PHPExcel_Cell_DataType::TYPE_BOOL; - $dataValue = ($allCellDataText == 'TRUE') ? True : False; - break; - case 'percentage' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $dataValue = (float) $cellDataOfficeAttributes['value']; - if (floor($dataValue) == $dataValue) { - $dataValue = (integer) $dataValue; - } - $formatting = PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00; - break; - case 'currency' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $dataValue = (float) $cellDataOfficeAttributes['value']; - if (floor($dataValue) == $dataValue) { - $dataValue = (integer) $dataValue; - } - $formatting = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE; - break; - case 'float' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $dataValue = (float) $cellDataOfficeAttributes['value']; - if (floor($dataValue) == $dataValue) { - if ($dataValue == (integer) $dataValue) - $dataValue = (integer) $dataValue; - else - $dataValue = (float) $dataValue; - } - break; - case 'date' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $dateObj = new DateTime($cellDataOfficeAttributes['date-value'], $GMT); - $dateObj->setTimeZone($timezoneObj); - list($year,$month,$day,$hour,$minute,$second) = explode(' ',$dateObj->format('Y m d H i s')); - $dataValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year,$month,$day,$hour,$minute,$second); - if ($dataValue != floor($dataValue)) { - $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15.' '.PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; - } else { - $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15; - } - break; - case 'time' : - $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; - $dataValue = PHPExcel_Shared_Date::PHPToExcel(strtotime('01-01-1970 '.implode(':',sscanf($cellDataOfficeAttributes['time-value'],'PT%dH%dM%dS')))); - $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; - break; - } -// echo 'Data value is '.$dataValue.'<br />'; -// if ($hyperlink !== NULL) { -// echo 'Hyperlink is '.$hyperlink.'<br />'; -// } - } else { - $type = PHPExcel_Cell_DataType::TYPE_NULL; - $dataValue = NULL; - } +// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />'; + switch ($cellDataOfficeAttributes['value-type']) { + case 'string': + $type = PHPExcel_Cell_DataType::TYPE_STRING; + $dataValue = $allCellDataText; + if (isset($dataValue->a)) { + $dataValue = $dataValue->a; + $cellXLinkAttributes = $dataValue->attributes($namespacesContent['xlink']); + $hyperlink = $cellXLinkAttributes['href']; + } + break; + case 'boolean': + $type = PHPExcel_Cell_DataType::TYPE_BOOL; + $dataValue = ($allCellDataText == 'TRUE') ? true : false; + break; + case 'percentage': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + $dataValue = (integer) $dataValue; + } + $formatting = PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00; + break; + case 'currency': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + $dataValue = (integer) $dataValue; + } + $formatting = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE; + break; + case 'float': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = (float) $cellDataOfficeAttributes['value']; + if (floor($dataValue) == $dataValue) { + if ($dataValue == (integer) $dataValue) { + $dataValue = (integer) $dataValue; + } else { + $dataValue = (float) $dataValue; + } + } + break; + case 'date': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dateObj = new DateTime($cellDataOfficeAttributes['date-value'], $GMT); + $dateObj->setTimeZone($timezoneObj); + list($year, $month, $day, $hour, $minute, $second) = explode(' ', $dateObj->format('Y m d H i s')); + $dataValue = PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day, $hour, $minute, $second); + if ($dataValue != floor($dataValue)) { + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15.' '.PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; + } else { + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15; + } + break; + case 'time': + $type = PHPExcel_Cell_DataType::TYPE_NUMERIC; + $dataValue = PHPExcel_Shared_Date::PHPToExcel(strtotime('01-01-1970 '.implode(':', sscanf($cellDataOfficeAttributes['time-value'], 'PT%dH%dM%dS')))); + $formatting = PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4; + break; + } +// echo 'Data value is '.$dataValue.'<br />'; +// if ($hyperlink !== null) { +// echo 'Hyperlink is '.$hyperlink.'<br />'; +// } + } else { + $type = PHPExcel_Cell_DataType::TYPE_NULL; + $dataValue = null; + } - if ($hasCalculatedValue) { - $type = PHPExcel_Cell_DataType::TYPE_FORMULA; -// echo 'Formula: ', $cellDataFormula, PHP_EOL; - $cellDataFormula = substr($cellDataFormula,strpos($cellDataFormula,':=')+1); - $temp = explode('"',$cellDataFormula); - $tKey = false; - foreach($temp as &$value) { - // Only replace in alternate array entries (i.e. non-quoted blocks) - if ($tKey = !$tKey) { - $value = preg_replace('/\[([^\.]+)\.([^\.]+):\.([^\.]+)\]/Ui','$1!$2:$3',$value); // Cell range reference in another sheet - $value = preg_replace('/\[([^\.]+)\.([^\.]+)\]/Ui','$1!$2',$value); // Cell reference in another sheet - $value = preg_replace('/\[\.([^\.]+):\.([^\.]+)\]/Ui','$1:$2',$value); // Cell range reference - $value = preg_replace('/\[\.([^\.]+)\]/Ui','$1',$value); // Simple cell reference - $value = PHPExcel_Calculation::_translateSeparator(';',',',$value,$inBraces); - } - } - unset($value); - // Then rebuild the formula string - $cellDataFormula = implode('"',$temp); -// echo 'Adjusted Formula: ', $cellDataFormula, PHP_EOL; - } + if ($hasCalculatedValue) { + $type = PHPExcel_Cell_DataType::TYPE_FORMULA; +// echo 'Formula: ', $cellDataFormula, PHP_EOL; + $cellDataFormula = substr($cellDataFormula, strpos($cellDataFormula, ':=')+1); + $temp = explode('"', $cellDataFormula); + $tKey = false; + foreach ($temp as &$value) { + // Only replace in alternate array entries (i.e. non-quoted blocks) + if ($tKey = !$tKey) { + $value = preg_replace('/\[([^\.]+)\.([^\.]+):\.([^\.]+)\]/Ui', '$1!$2:$3', $value); // Cell range reference in another sheet + $value = preg_replace('/\[([^\.]+)\.([^\.]+)\]/Ui', '$1!$2', $value); // Cell reference in another sheet + $value = preg_replace('/\[\.([^\.]+):\.([^\.]+)\]/Ui', '$1:$2', $value); // Cell range reference + $value = preg_replace('/\[\.([^\.]+)\]/Ui', '$1', $value); // Simple cell reference + $value = PHPExcel_Calculation::translateSeparator(';', ',', $value, $inBraces); + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"', $temp); +// echo 'Adjusted Formula: ', $cellDataFormula, PHP_EOL; + } - $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? - $cellDataTableAttributes['number-columns-repeated'] : 1; - if ($type !== NULL) { - for ($i = 0; $i < $colRepeats; ++$i) { - if ($i > 0) { - ++$columnID; - } - if ($type !== PHPExcel_Cell_DataType::TYPE_NULL) { - for ($rowAdjust = 0; $rowAdjust < $rowRepeats; ++$rowAdjust) { - $rID = $rowID + $rowAdjust; - $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $dataValue),$type); - if ($hasCalculatedValue) { -// echo 'Forumla result is '.$dataValue.'<br />'; - $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setCalculatedValue($dataValue); - } - if ($formatting !== NULL) { - $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode($formatting); - } else { - $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL); - } - if ($hyperlink !== NULL) { - $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->getHyperlink()->setUrl($hyperlink); - } - } - } - } - } + $colRepeats = (isset($cellDataTableAttributes['number-columns-repeated'])) ? $cellDataTableAttributes['number-columns-repeated'] : 1; + if ($type !== null) { + for ($i = 0; $i < $colRepeats; ++$i) { + if ($i > 0) { + ++$columnID; + } + if ($type !== PHPExcel_Cell_DataType::TYPE_NULL) { + for ($rowAdjust = 0; $rowAdjust < $rowRepeats; ++$rowAdjust) { + $rID = $rowID + $rowAdjust; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setValueExplicit((($hasCalculatedValue) ? $cellDataFormula : $dataValue), $type); + if ($hasCalculatedValue) { +// echo 'Forumla result is '.$dataValue.'<br />'; + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->setCalculatedValue($dataValue); + } + if ($formatting !== null) { + $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode($formatting); + } else { + $objPHPExcel->getActiveSheet()->getStyle($columnID.$rID)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL); + } + if ($hyperlink !== null) { + $objPHPExcel->getActiveSheet()->getCell($columnID.$rID)->getHyperlink()->setUrl($hyperlink); + } + } + } + } + } - // Merged cells - if ((isset($cellDataTableAttributes['number-columns-spanned'])) || (isset($cellDataTableAttributes['number-rows-spanned']))) { - if (($type !== PHPExcel_Cell_DataType::TYPE_NULL) || (!$this->_readDataOnly)) { - $columnTo = $columnID; - if (isset($cellDataTableAttributes['number-columns-spanned'])) { - $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cellDataTableAttributes['number-columns-spanned'] -2); - } - $rowTo = $rowID; - if (isset($cellDataTableAttributes['number-rows-spanned'])) { - $rowTo = $rowTo + $cellDataTableAttributes['number-rows-spanned'] - 1; - } - $cellRange = $columnID.$rowID.':'.$columnTo.$rowTo; - $objPHPExcel->getActiveSheet()->mergeCells($cellRange); - } - } + // Merged cells + if ((isset($cellDataTableAttributes['number-columns-spanned'])) || (isset($cellDataTableAttributes['number-rows-spanned']))) { + if (($type !== PHPExcel_Cell_DataType::TYPE_NULL) || (!$this->readDataOnly)) { + $columnTo = $columnID; + if (isset($cellDataTableAttributes['number-columns-spanned'])) { + $columnTo = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($columnID) + $cellDataTableAttributes['number-columns-spanned'] -2); + } + $rowTo = $rowID; + if (isset($cellDataTableAttributes['number-rows-spanned'])) { + $rowTo = $rowTo + $cellDataTableAttributes['number-rows-spanned'] - 1; + } + $cellRange = $columnID.$rowID.':'.$columnTo.$rowTo; + $objPHPExcel->getActiveSheet()->mergeCells($cellRange); + } + } - ++$columnID; - } - $rowID += $rowRepeats; - break; - } - } - ++$worksheetID; - } - } + ++$columnID; + } + $rowID += $rowRepeats; + break; + } + } + ++$worksheetID; + } + } - // Return - return $objPHPExcel; - } + // Return + return $objPHPExcel; + } + private function parseRichText($is = '') + { + $value = new PHPExcel_RichText(); - private function _parseRichText($is = '') { - $value = new PHPExcel_RichText(); - - $value->createText($is); - - return $value; - } + $value->createText($is); + return $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php index b61118a3b..eb7ef1afb 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/SYLK.php @@ -1,8 +1,18 @@ <?php + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + /** - * PHPExcel + * PHPExcel_Reader_SYLK * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,431 +30,449 @@ * * @category PHPExcel * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} - -/** - * PHPExcel_Reader_SYLK - * - * @category PHPExcel - * @package PHPExcel_Reader - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_Reader_IReader { - /** - * Input encoding - * - * @var string - */ - private $_inputEncoding = 'ANSI'; + /** + * Input encoding + * + * @var string + */ + private $inputEncoding = 'ANSI'; - /** - * Sheet index to read - * - * @var int - */ - private $_sheetIndex = 0; + /** + * Sheet index to read + * + * @var int + */ + private $sheetIndex = 0; - /** - * Formats - * - * @var array - */ - private $_formats = array(); + /** + * Formats + * + * @var array + */ + private $formats = array(); - /** - * Format Count - * - * @var int - */ - private $_format = 0; + /** + * Format Count + * + * @var int + */ + private $format = 0; - /** - * Create a new PHPExcel_Reader_SYLK - */ - public function __construct() { - $this->_readFilter = new PHPExcel_Reader_DefaultReadFilter(); - } + /** + * Create a new PHPExcel_Reader_SYLK + */ + public function __construct() + { + $this->readFilter = new PHPExcel_Reader_DefaultReadFilter(); + } - /** - * Validate that the current file is a SYLK file - * - * @return boolean - */ - protected function _isValidFormat() - { - // Read sample data (first 2 KB will do) - $data = fread($this->_fileHandle, 2048); + /** + * Validate that the current file is a SYLK file + * + * @return boolean + */ + protected function isValidFormat() + { + // Read sample data (first 2 KB will do) + $data = fread($this->fileHandle, 2048); - // Count delimiters in file - $delimiterCount = substr_count($data, ';'); - if ($delimiterCount < 1) { - return FALSE; - } + // Count delimiters in file + $delimiterCount = substr_count($data, ';'); + if ($delimiterCount < 1) { + return false; + } - // Analyze first line looking for ID; signature - $lines = explode("\n", $data); - if (substr($lines[0],0,4) != 'ID;P') { - return FALSE; - } + // Analyze first line looking for ID; signature + $lines = explode("\n", $data); + if (substr($lines[0], 0, 4) != 'ID;P') { + return false; + } - return TRUE; - } + return true; + } - /** - * Set input encoding - * - * @param string $pValue Input encoding - */ - public function setInputEncoding($pValue = 'ANSI') - { - $this->_inputEncoding = $pValue; - return $this; - } + /** + * Set input encoding + * + * @param string $pValue Input encoding + */ + public function setInputEncoding($pValue = 'ANSI') + { + $this->inputEncoding = $pValue; + return $this; + } - /** - * Get input encoding - * - * @return string - */ - public function getInputEncoding() - { - return $this->_inputEncoding; - } + /** + * Get input encoding + * + * @return string + */ + public function getInputEncoding() + { + return $this->inputEncoding; + } - /** - * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) - * - * @param string $pFilename - * @throws PHPExcel_Reader_Exception - */ - public function listWorksheetInfo($pFilename) - { - // Open file - $this->_openFile($pFilename); - if (!$this->_isValidFormat()) { - fclose ($this->_fileHandle); - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } - $fileHandle = $this->_fileHandle; - rewind($fileHandle); + /** + * Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns) + * + * @param string $pFilename + * @throws PHPExcel_Reader_Exception + */ + public function listWorksheetInfo($pFilename) + { + // Open file + $this->openFile($pFilename); + if (!$this->isValidFormat()) { + fclose($this->fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->fileHandle; + rewind($fileHandle); - $worksheetInfo = array(); - $worksheetInfo[0]['worksheetName'] = 'Worksheet'; - $worksheetInfo[0]['lastColumnLetter'] = 'A'; - $worksheetInfo[0]['lastColumnIndex'] = 0; - $worksheetInfo[0]['totalRows'] = 0; - $worksheetInfo[0]['totalColumns'] = 0; + $worksheetInfo = array(); + $worksheetInfo[0]['worksheetName'] = 'Worksheet'; + $worksheetInfo[0]['lastColumnLetter'] = 'A'; + $worksheetInfo[0]['lastColumnIndex'] = 0; + $worksheetInfo[0]['totalRows'] = 0; + $worksheetInfo[0]['totalColumns'] = 0; - // Loop through file - $rowData = array(); + // Loop through file + $rowData = array(); - // loop through one row (line) at a time in the file - $rowIndex = 0; - while (($rowData = fgets($fileHandle)) !== FALSE) { - $columnIndex = 0; + // loop through one row (line) at a time in the file + $rowIndex = 0; + while (($rowData = fgets($fileHandle)) !== false) { + $columnIndex = 0; - // convert SYLK encoded $rowData to UTF-8 - $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); + // convert SYLK encoded $rowData to UTF-8 + $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); - // explode each row at semicolons while taking into account that literal semicolon (;) - // is escaped like this (;;) - $rowData = explode("\t",str_replace('¤',';',str_replace(';',"\t",str_replace(';;','¤',rtrim($rowData))))); + // explode each row at semicolons while taking into account that literal semicolon (;) + // is escaped like this (;;) + $rowData = explode("\t", str_replace('¤', ';', str_replace(';', "\t", str_replace(';;', '¤', rtrim($rowData))))); - $dataType = array_shift($rowData); - if ($dataType == 'C') { - // Read cell value data - foreach($rowData as $rowDatum) { - switch($rowDatum{0}) { - case 'C' : - case 'X' : - $columnIndex = substr($rowDatum,1) - 1; - break; - case 'R' : - case 'Y' : - $rowIndex = substr($rowDatum,1); - break; - } + $dataType = array_shift($rowData); + if ($dataType == 'C') { + // Read cell value data + foreach ($rowData as $rowDatum) { + switch ($rowDatum{0}) { + case 'C': + case 'X': + $columnIndex = substr($rowDatum, 1) - 1; + break; + case 'R': + case 'Y': + $rowIndex = substr($rowDatum, 1); + break; + } - $worksheetInfo[0]['totalRows'] = max($worksheetInfo[0]['totalRows'], $rowIndex); - $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], $columnIndex); - } - } - } + $worksheetInfo[0]['totalRows'] = max($worksheetInfo[0]['totalRows'], $rowIndex); + $worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], $columnIndex); + } + } + } - $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); - $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; + $worksheetInfo[0]['lastColumnLetter'] = PHPExcel_Cell::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex']); + $worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1; - // Close file - fclose($fileHandle); + // Close file + fclose($fileHandle); - return $worksheetInfo; - } + return $worksheetInfo; + } - /** - * Loads PHPExcel from file - * - * @param string $pFilename - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function load($pFilename) - { - // Create new PHPExcel - $objPHPExcel = new PHPExcel(); + /** + * Loads PHPExcel from file + * + * @param string $pFilename + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function load($pFilename) + { + // Create new PHPExcel + $objPHPExcel = new PHPExcel(); - // Load into this instance - return $this->loadIntoExisting($pFilename, $objPHPExcel); - } + // Load into this instance + return $this->loadIntoExisting($pFilename, $objPHPExcel); + } - /** - * Loads PHPExcel from file into PHPExcel instance - * - * @param string $pFilename - * @param PHPExcel $objPHPExcel - * @return PHPExcel - * @throws PHPExcel_Reader_Exception - */ - public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) - { - // Open file - $this->_openFile($pFilename); - if (!$this->_isValidFormat()) { - fclose ($this->_fileHandle); - throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); - } - $fileHandle = $this->_fileHandle; - rewind($fileHandle); + /** + * Loads PHPExcel from file into PHPExcel instance + * + * @param string $pFilename + * @param PHPExcel $objPHPExcel + * @return PHPExcel + * @throws PHPExcel_Reader_Exception + */ + public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel) + { + // Open file + $this->openFile($pFilename); + if (!$this->isValidFormat()) { + fclose($this->fileHandle); + throw new PHPExcel_Reader_Exception($pFilename . " is an Invalid Spreadsheet file."); + } + $fileHandle = $this->fileHandle; + rewind($fileHandle); - // Create new PHPExcel - while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) { - $objPHPExcel->createSheet(); - } - $objPHPExcel->setActiveSheetIndex( $this->_sheetIndex ); + // Create new PHPExcel + while ($objPHPExcel->getSheetCount() <= $this->sheetIndex) { + $objPHPExcel->createSheet(); + } + $objPHPExcel->setActiveSheetIndex($this->sheetIndex); - $fromFormats = array('\-', '\ '); - $toFormats = array('-', ' '); + $fromFormats = array('\-', '\ '); + $toFormats = array('-', ' '); - // Loop through file - $rowData = array(); - $column = $row = ''; + // Loop through file + $rowData = array(); + $column = $row = ''; - // loop through one row (line) at a time in the file - while (($rowData = fgets($fileHandle)) !== FALSE) { + // loop through one row (line) at a time in the file + while (($rowData = fgets($fileHandle)) !== false) { + // convert SYLK encoded $rowData to UTF-8 + $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); - // convert SYLK encoded $rowData to UTF-8 - $rowData = PHPExcel_Shared_String::SYLKtoUTF8($rowData); + // explode each row at semicolons while taking into account that literal semicolon (;) + // is escaped like this (;;) + $rowData = explode("\t", str_replace('¤', ';', str_replace(';', "\t", str_replace(';;', '¤', rtrim($rowData))))); - // explode each row at semicolons while taking into account that literal semicolon (;) - // is escaped like this (;;) - $rowData = explode("\t",str_replace('¤',';',str_replace(';',"\t",str_replace(';;','¤',rtrim($rowData))))); + $dataType = array_shift($rowData); + // Read shared styles + if ($dataType == 'P') { + $formatArray = array(); + foreach ($rowData as $rowDatum) { + switch ($rowDatum{0}) { + case 'P': + $formatArray['numberformat']['code'] = str_replace($fromFormats, $toFormats, substr($rowDatum, 1)); + break; + case 'E': + case 'F': + $formatArray['font']['name'] = substr($rowDatum, 1); + break; + case 'L': + $formatArray['font']['size'] = substr($rowDatum, 1); + break; + case 'S': + $styleSettings = substr($rowDatum, 1); + for ($i=0; $i<strlen($styleSettings); ++$i) { + switch ($styleSettings{$i}) { + case 'I': + $formatArray['font']['italic'] = true; + break; + case 'D': + $formatArray['font']['bold'] = true; + break; + case 'T': + $formatArray['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'B': + $formatArray['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'L': + $formatArray['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'R': + $formatArray['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + } + } + break; + } + } + $this->formats['P'.$this->format++] = $formatArray; + // Read cell value data + } elseif ($dataType == 'C') { + $hasCalculatedValue = false; + $cellData = $cellDataFormula = ''; + foreach ($rowData as $rowDatum) { + switch ($rowDatum{0}) { + case 'C': + case 'X': + $column = substr($rowDatum, 1); + break; + case 'R': + case 'Y': + $row = substr($rowDatum, 1); + break; + case 'K': + $cellData = substr($rowDatum, 1); + break; + case 'E': + $cellDataFormula = '='.substr($rowDatum, 1); + // Convert R1C1 style references to A1 style references (but only when not quoted) + $temp = explode('"', $cellDataFormula); + $key = false; + foreach ($temp as &$value) { + // Only count/replace in alternate array entries + if ($key = !$key) { + preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/', $value, $cellReferences, PREG_SET_ORDER+PREG_OFFSET_CAPTURE); + // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way + // through the formula from left to right. Reversing means that we work right to left.through + // the formula + $cellReferences = array_reverse($cellReferences); + // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, + // then modify the formula to use that new reference + foreach ($cellReferences as $cellReference) { + $rowReference = $cellReference[2][0]; + // Empty R reference is the current row + if ($rowReference == '') { + $rowReference = $row; + } + // Bracketed R references are relative to the current row + if ($rowReference{0} == '[') { + $rowReference = $row + trim($rowReference, '[]'); + } + $columnReference = $cellReference[4][0]; + // Empty C reference is the current column + if ($columnReference == '') { + $columnReference = $column; + } + // Bracketed C references are relative to the current column + if ($columnReference{0} == '[') { + $columnReference = $column + trim($columnReference, '[]'); + } + $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; - $dataType = array_shift($rowData); - // Read shared styles - if ($dataType == 'P') { - $formatArray = array(); - foreach($rowData as $rowDatum) { - switch($rowDatum{0}) { - case 'P' : $formatArray['numberformat']['code'] = str_replace($fromFormats,$toFormats,substr($rowDatum,1)); - break; - case 'E' : - case 'F' : $formatArray['font']['name'] = substr($rowDatum,1); - break; - case 'L' : $formatArray['font']['size'] = substr($rowDatum,1); - break; - case 'S' : $styleSettings = substr($rowDatum,1); - for ($i=0;$i<strlen($styleSettings);++$i) { - switch ($styleSettings{$i}) { - case 'I' : $formatArray['font']['italic'] = true; - break; - case 'D' : $formatArray['font']['bold'] = true; - break; - case 'T' : $formatArray['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'B' : $formatArray['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'L' : $formatArray['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'R' : $formatArray['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - } - } - break; - } - } - $this->_formats['P'.$this->_format++] = $formatArray; - // Read cell value data - } elseif ($dataType == 'C') { - $hasCalculatedValue = false; - $cellData = $cellDataFormula = ''; - foreach($rowData as $rowDatum) { - switch($rowDatum{0}) { - case 'C' : - case 'X' : $column = substr($rowDatum,1); - break; - case 'R' : - case 'Y' : $row = substr($rowDatum,1); - break; - case 'K' : $cellData = substr($rowDatum,1); - break; - case 'E' : $cellDataFormula = '='.substr($rowDatum,1); - // Convert R1C1 style references to A1 style references (but only when not quoted) - $temp = explode('"',$cellDataFormula); - $key = false; - foreach($temp as &$value) { - // Only count/replace in alternate array entries - if ($key = !$key) { - preg_match_all('/(R(\[?-?\d*\]?))(C(\[?-?\d*\]?))/',$value, $cellReferences,PREG_SET_ORDER+PREG_OFFSET_CAPTURE); - // Reverse the matches array, otherwise all our offsets will become incorrect if we modify our way - // through the formula from left to right. Reversing means that we work right to left.through - // the formula - $cellReferences = array_reverse($cellReferences); - // Loop through each R1C1 style reference in turn, converting it to its A1 style equivalent, - // then modify the formula to use that new reference - foreach($cellReferences as $cellReference) { - $rowReference = $cellReference[2][0]; - // Empty R reference is the current row - if ($rowReference == '') $rowReference = $row; - // Bracketed R references are relative to the current row - if ($rowReference{0} == '[') $rowReference = $row + trim($rowReference,'[]'); - $columnReference = $cellReference[4][0]; - // Empty C reference is the current column - if ($columnReference == '') $columnReference = $column; - // Bracketed C references are relative to the current column - if ($columnReference{0} == '[') $columnReference = $column + trim($columnReference,'[]'); - $A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference; + $value = substr_replace($value, $A1CellReference, $cellReference[0][1], strlen($cellReference[0][0])); + } + } + } + unset($value); + // Then rebuild the formula string + $cellDataFormula = implode('"', $temp); + $hasCalculatedValue = true; + break; + } + } + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + $cellData = PHPExcel_Calculation::unwrapResult($cellData); - $value = substr_replace($value,$A1CellReference,$cellReference[0][1],strlen($cellReference[0][0])); - } - } - } - unset($value); - // Then rebuild the formula string - $cellDataFormula = implode('"',$temp); - $hasCalculatedValue = true; - break; - } - } - $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); - $cellData = PHPExcel_Calculation::_unwrapResult($cellData); + // Set cell value + $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setValue(($hasCalculatedValue) ? $cellDataFormula : $cellData); + if ($hasCalculatedValue) { + $cellData = PHPExcel_Calculation::unwrapResult($cellData); + $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setCalculatedValue($cellData); + } + // Read cell formatting + } elseif ($dataType == 'F') { + $formatStyle = $columnWidth = $styleSettings = ''; + $styleData = array(); + foreach ($rowData as $rowDatum) { + switch ($rowDatum{0}) { + case 'C': + case 'X': + $column = substr($rowDatum, 1); + break; + case 'R': + case 'Y': + $row = substr($rowDatum, 1); + break; + case 'P': + $formatStyle = $rowDatum; + break; + case 'W': + list($startCol, $endCol, $columnWidth) = explode(' ', substr($rowDatum, 1)); + break; + case 'S': + $styleSettings = substr($rowDatum, 1); + for ($i=0; $i<strlen($styleSettings); ++$i) { + switch ($styleSettings{$i}) { + case 'I': + $styleData['font']['italic'] = true; + break; + case 'D': + $styleData['font']['bold'] = true; + break; + case 'T': + $styleData['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'B': + $styleData['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'L': + $styleData['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + case 'R': + $styleData['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; + break; + } + } + break; + } + } + if (($formatStyle > '') && ($column > '') && ($row > '')) { + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + if (isset($this->formats[$formatStyle])) { + $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($this->formats[$formatStyle]); + } + } + if ((!empty($styleData)) && ($column > '') && ($row > '')) { + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); + $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($styleData); + } + if ($columnWidth > '') { + if ($startCol == $endCol) { + $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); + } else { + $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $endCol = PHPExcel_Cell::stringFromColumnIndex($endCol-1); + $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); + do { + $objPHPExcel->getActiveSheet()->getColumnDimension(++$startCol)->setWidth($columnWidth); + } while ($startCol != $endCol); + } + } + } else { + foreach ($rowData as $rowDatum) { + switch ($rowDatum{0}) { + case 'C': + case 'X': + $column = substr($rowDatum, 1); + break; + case 'R': + case 'Y': + $row = substr($rowDatum, 1); + break; + } + } + } + } - // Set cell value - $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setValue(($hasCalculatedValue) ? $cellDataFormula : $cellData); - if ($hasCalculatedValue) { - $cellData = PHPExcel_Calculation::_unwrapResult($cellData); - $objPHPExcel->getActiveSheet()->getCell($columnLetter.$row)->setCalculatedValue($cellData); - } - // Read cell formatting - } elseif ($dataType == 'F') { - $formatStyle = $columnWidth = $styleSettings = ''; - $styleData = array(); - foreach($rowData as $rowDatum) { - switch($rowDatum{0}) { - case 'C' : - case 'X' : $column = substr($rowDatum,1); - break; - case 'R' : - case 'Y' : $row = substr($rowDatum,1); - break; - case 'P' : $formatStyle = $rowDatum; - break; - case 'W' : list($startCol,$endCol,$columnWidth) = explode(' ',substr($rowDatum,1)); - break; - case 'S' : $styleSettings = substr($rowDatum,1); - for ($i=0;$i<strlen($styleSettings);++$i) { - switch ($styleSettings{$i}) { - case 'I' : $styleData['font']['italic'] = true; - break; - case 'D' : $styleData['font']['bold'] = true; - break; - case 'T' : $styleData['borders']['top']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'B' : $styleData['borders']['bottom']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'L' : $styleData['borders']['left']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - case 'R' : $styleData['borders']['right']['style'] = PHPExcel_Style_Border::BORDER_THIN; - break; - } - } - break; - } - } - if (($formatStyle > '') && ($column > '') && ($row > '')) { - $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); - if (isset($this->_formats[$formatStyle])) { - $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($this->_formats[$formatStyle]); - } - } - if ((!empty($styleData)) && ($column > '') && ($row > '')) { - $columnLetter = PHPExcel_Cell::stringFromColumnIndex($column-1); - $objPHPExcel->getActiveSheet()->getStyle($columnLetter.$row)->applyFromArray($styleData); - } - if ($columnWidth > '') { - if ($startCol == $endCol) { - $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); - $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); - } else { - $startCol = PHPExcel_Cell::stringFromColumnIndex($startCol-1); - $endCol = PHPExcel_Cell::stringFromColumnIndex($endCol-1); - $objPHPExcel->getActiveSheet()->getColumnDimension($startCol)->setWidth($columnWidth); - do { - $objPHPExcel->getActiveSheet()->getColumnDimension(++$startCol)->setWidth($columnWidth); - } while ($startCol != $endCol); - } - } - } else { - foreach($rowData as $rowDatum) { - switch($rowDatum{0}) { - case 'C' : - case 'X' : $column = substr($rowDatum,1); - break; - case 'R' : - case 'Y' : $row = substr($rowDatum,1); - break; - } - } - } - } + // Close file + fclose($fileHandle); - // Close file - fclose($fileHandle); + // Return + return $objPHPExcel; + } - // Return - return $objPHPExcel; - } - - /** - * Get sheet index - * - * @return int - */ - public function getSheetIndex() { - return $this->_sheetIndex; - } - - /** - * Set sheet index - * - * @param int $pValue Sheet index - * @return PHPExcel_Reader_SYLK - */ - public function setSheetIndex($pValue = 0) { - $this->_sheetIndex = $pValue; - return $this; - } + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() + { + return $this->sheetIndex; + } + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Reader_SYLK + */ + public function setSheetIndex($pValue = 0) + { + $this->sheetIndex = $pValue; + return $this; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php index 9eadab4d5..7d7de93be 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_ReferenceHelper (Singleton) * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,904 +20,894 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_ReferenceHelper (Singleton) - * - * @category PHPExcel - * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_ReferenceHelper { - /** Constants */ - /** Regular Expressions */ - const REFHELPER_REGEXP_CELLREF = '((\w*|\'[^!]*\')!)?(?<![:a-z\$])(\$?[a-z]{1,3}\$?\d+)(?=[^:!\d\'])'; - const REFHELPER_REGEXP_CELLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}\$?\d+):(\$?[a-z]{1,3}\$?\d+)'; - const REFHELPER_REGEXP_ROWRANGE = '((\w*|\'[^!]*\')!)?(\$?\d+):(\$?\d+)'; - const REFHELPER_REGEXP_COLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}):(\$?[a-z]{1,3})'; + /** Constants */ + /** Regular Expressions */ + const REFHELPER_REGEXP_CELLREF = '((\w*|\'[^!]*\')!)?(?<![:a-z\$])(\$?[a-z]{1,3}\$?\d+)(?=[^:!\d\'])'; + const REFHELPER_REGEXP_CELLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}\$?\d+):(\$?[a-z]{1,3}\$?\d+)'; + const REFHELPER_REGEXP_ROWRANGE = '((\w*|\'[^!]*\')!)?(\$?\d+):(\$?\d+)'; + const REFHELPER_REGEXP_COLRANGE = '((\w*|\'[^!]*\')!)?(\$?[a-z]{1,3}):(\$?[a-z]{1,3})'; - /** - * Instance of this class - * - * @var PHPExcel_ReferenceHelper - */ - private static $_instance; + /** + * Instance of this class + * + * @var PHPExcel_ReferenceHelper + */ + private static $instance; - /** - * Get an instance of this class - * - * @return PHPExcel_ReferenceHelper - */ - public static function getInstance() { - if (!isset(self::$_instance) || (self::$_instance === NULL)) { - self::$_instance = new PHPExcel_ReferenceHelper(); - } + /** + * Get an instance of this class + * + * @return PHPExcel_ReferenceHelper + */ + public static function getInstance() + { + if (!isset(self::$instance) || (self::$instance === null)) { + self::$instance = new PHPExcel_ReferenceHelper(); + } - return self::$_instance; - } + return self::$instance; + } - /** - * Create a new PHPExcel_ReferenceHelper - */ - protected function __construct() { - } + /** + * Create a new PHPExcel_ReferenceHelper + */ + protected function __construct() + { + } - /** - * Compare two column addresses - * Intended for use as a Callback function for sorting column addresses by column - * - * @param string $a First column to test (e.g. 'AA') - * @param string $b Second column to test (e.g. 'Z') - * @return integer - */ - public static function columnSort($a, $b) { - return strcasecmp(strlen($a) . $a, strlen($b) . $b); - } + /** + * Compare two column addresses + * Intended for use as a Callback function for sorting column addresses by column + * + * @param string $a First column to test (e.g. 'AA') + * @param string $b Second column to test (e.g. 'Z') + * @return integer + */ + public static function columnSort($a, $b) + { + return strcasecmp(strlen($a) . $a, strlen($b) . $b); + } - /** - * Compare two column addresses - * Intended for use as a Callback function for reverse sorting column addresses by column - * - * @param string $a First column to test (e.g. 'AA') - * @param string $b Second column to test (e.g. 'Z') - * @return integer - */ - public static function columnReverseSort($a, $b) { - return 1 - strcasecmp(strlen($a) . $a, strlen($b) . $b); - } + /** + * Compare two column addresses + * Intended for use as a Callback function for reverse sorting column addresses by column + * + * @param string $a First column to test (e.g. 'AA') + * @param string $b Second column to test (e.g. 'Z') + * @return integer + */ + public static function columnReverseSort($a, $b) + { + return 1 - strcasecmp(strlen($a) . $a, strlen($b) . $b); + } - /** - * Compare two cell addresses - * Intended for use as a Callback function for sorting cell addresses by column and row - * - * @param string $a First cell to test (e.g. 'AA1') - * @param string $b Second cell to test (e.g. 'Z1') - * @return integer - */ - public static function cellSort($a, $b) { - sscanf($a,'%[A-Z]%d', $ac, $ar); - sscanf($b,'%[A-Z]%d', $bc, $br); + /** + * Compare two cell addresses + * Intended for use as a Callback function for sorting cell addresses by column and row + * + * @param string $a First cell to test (e.g. 'AA1') + * @param string $b Second cell to test (e.g. 'Z1') + * @return integer + */ + public static function cellSort($a, $b) + { + sscanf($a, '%[A-Z]%d', $ac, $ar); + sscanf($b, '%[A-Z]%d', $bc, $br); - if ($ar == $br) { - return strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); - } - return ($ar < $br) ? -1 : 1; - } + if ($ar == $br) { + return strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); + } + return ($ar < $br) ? -1 : 1; + } - /** - * Compare two cell addresses - * Intended for use as a Callback function for sorting cell addresses by column and row - * - * @param string $a First cell to test (e.g. 'AA1') - * @param string $b Second cell to test (e.g. 'Z1') - * @return integer - */ - public static function cellReverseSort($a, $b) { - sscanf($a,'%[A-Z]%d', $ac, $ar); - sscanf($b,'%[A-Z]%d', $bc, $br); + /** + * Compare two cell addresses + * Intended for use as a Callback function for sorting cell addresses by column and row + * + * @param string $a First cell to test (e.g. 'AA1') + * @param string $b Second cell to test (e.g. 'Z1') + * @return integer + */ + public static function cellReverseSort($a, $b) + { + sscanf($a, '%[A-Z]%d', $ac, $ar); + sscanf($b, '%[A-Z]%d', $bc, $br); - if ($ar == $br) { - return 1 - strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); - } - return ($ar < $br) ? 1 : -1; - } + if ($ar == $br) { + return 1 - strcasecmp(strlen($ac) . $ac, strlen($bc) . $bc); + } + return ($ar < $br) ? 1 : -1; + } - /** - * Test whether a cell address falls within a defined range of cells - * - * @param string $cellAddress Address of the cell we're testing - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @return boolean - */ - private static function cellAddressInDeleteRange($cellAddress, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols) { - list($cellColumn, $cellRow) = PHPExcel_Cell::coordinateFromString($cellAddress); - $cellColumnIndex = PHPExcel_Cell::columnIndexFromString($cellColumn); - // Is cell within the range of rows/columns if we're deleting - if ($pNumRows < 0 && - ($cellRow >= ($beforeRow + $pNumRows)) && - ($cellRow < $beforeRow)) { - return TRUE; - } elseif ($pNumCols < 0 && - ($cellColumnIndex >= ($beforeColumnIndex + $pNumCols)) && - ($cellColumnIndex < $beforeColumnIndex)) { - return TRUE; - } - return FALSE; - } + /** + * Test whether a cell address falls within a defined range of cells + * + * @param string $cellAddress Address of the cell we're testing + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @return boolean + */ + private static function cellAddressInDeleteRange($cellAddress, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols) + { + list($cellColumn, $cellRow) = PHPExcel_Cell::coordinateFromString($cellAddress); + $cellColumnIndex = PHPExcel_Cell::columnIndexFromString($cellColumn); + // Is cell within the range of rows/columns if we're deleting + if ($pNumRows < 0 && + ($cellRow >= ($beforeRow + $pNumRows)) && + ($cellRow < $beforeRow)) { + return true; + } elseif ($pNumCols < 0 && + ($cellColumnIndex >= ($beforeColumnIndex + $pNumCols)) && + ($cellColumnIndex < $beforeColumnIndex)) { + return true; + } + return false; + } - /** - * Update page breaks when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustPageBreaks(PHPExcel_Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aBreaks = $pSheet->getBreaks(); - ($pNumCols > 0 || $pNumRows > 0) ? - uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellReverseSort')) : - uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellSort')); + /** + * Update page breaks when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustPageBreaks(PHPExcel_Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aBreaks = $pSheet->getBreaks(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aBreaks, array('PHPExcel_ReferenceHelper','cellSort')); - foreach ($aBreaks as $key => $value) { - if (self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { - // If we're deleting, then clear any defined breaks that are within the range - // of rows/columns that we're deleting - $pSheet->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); - } else { - // Otherwise update any affected breaks by inserting a new break at the appropriate point - // and removing the old affected break - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - if ($key != $newReference) { - $pSheet->setBreak($newReference, $value) - ->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); - } - } - } - } + foreach ($aBreaks as $key => $value) { + if (self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { + // If we're deleting, then clear any defined breaks that are within the range + // of rows/columns that we're deleting + $pSheet->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); + } else { + // Otherwise update any affected breaks by inserting a new break at the appropriate point + // and removing the old affected break + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setBreak($newReference, $value) + ->setBreak($key, PHPExcel_Worksheet::BREAK_NONE); + } + } + } + } - /** - * Update cell comments when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aComments = $pSheet->getComments(); - $aNewComments = array(); // the new array of all comments + /** + * Update cell comments when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aComments = $pSheet->getComments(); + $aNewComments = array(); // the new array of all comments - foreach ($aComments as $key => &$value) { - // Any comments inside a deleted range will be ignored - if (!self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { - // Otherwise build a new array of comments indexed by the adjusted cell reference - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - $aNewComments[$newReference] = $value; - } - } - // Replace the comments array with the new set of comments - $pSheet->setComments($aNewComments); - } + foreach ($aComments as $key => &$value) { + // Any comments inside a deleted range will be ignored + if (!self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) { + // Otherwise build a new array of comments indexed by the adjusted cell reference + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + $aNewComments[$newReference] = $value; + } + } + // Replace the comments array with the new set of comments + $pSheet->setComments($aNewComments); + } - /** - * Update hyperlinks when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aHyperlinkCollection = $pSheet->getHyperlinkCollection(); - ($pNumCols > 0 || $pNumRows > 0) ? - uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : - uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellSort')); + /** + * Update hyperlinks when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aHyperlinkCollection = $pSheet->getHyperlinkCollection(); + ($pNumCols > 0 || $pNumRows > 0) ? uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : uksort($aHyperlinkCollection, array('PHPExcel_ReferenceHelper','cellSort')); - foreach ($aHyperlinkCollection as $key => $value) { - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - if ($key != $newReference) { - $pSheet->setHyperlink( $newReference, $value ); - $pSheet->setHyperlink( $key, null ); - } - } - } + foreach ($aHyperlinkCollection as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setHyperlink($newReference, $value); + $pSheet->setHyperlink($key, null); + } + } + } - /** - * Update data validations when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aDataValidationCollection = $pSheet->getDataValidationCollection(); - ($pNumCols > 0 || $pNumRows > 0) ? - uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : - uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellSort')); - foreach ($aDataValidationCollection as $key => $value) { - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - if ($key != $newReference) { - $pSheet->setDataValidation( $newReference, $value ); - $pSheet->setDataValidation( $key, null ); - } - } - } + /** + * Update data validations when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aDataValidationCollection = $pSheet->getDataValidationCollection(); + ($pNumCols > 0 || $pNumRows > 0) ? uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellReverseSort')) : uksort($aDataValidationCollection, array('PHPExcel_ReferenceHelper','cellSort')); + + foreach ($aDataValidationCollection as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->setDataValidation($newReference, $value); + $pSheet->setDataValidation($key, null); + } + } + } - /** - * Update merged cells when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aMergeCells = $pSheet->getMergeCells(); - $aNewMergeCells = array(); // the new array of all merge cells - foreach ($aMergeCells as $key => &$value) { - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - $aNewMergeCells[$newReference] = $newReference; - } - $pSheet->setMergeCells($aNewMergeCells); // replace the merge cells array - } + /** + * Update merged cells when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aMergeCells = $pSheet->getMergeCells(); + $aNewMergeCells = array(); // the new array of all merge cells + foreach ($aMergeCells as $key => &$value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + $aNewMergeCells[$newReference] = $newReference; + } + $pSheet->setMergeCells($aNewMergeCells); // replace the merge cells array + } - /** - * Update protected cells when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aProtectedCells = $pSheet->getProtectedCells(); - ($pNumCols > 0 || $pNumRows > 0) ? - uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellReverseSort')) : - uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellSort')); - foreach ($aProtectedCells as $key => $value) { - $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); - if ($key != $newReference) { - $pSheet->protectCells( $newReference, $value, true ); - $pSheet->unprotectCells( $key ); - } - } - } + /** + * Update protected cells when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aProtectedCells = $pSheet->getProtectedCells(); + ($pNumCols > 0 || $pNumRows > 0) ? + uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellReverseSort')) : + uksort($aProtectedCells, array('PHPExcel_ReferenceHelper','cellSort')); + foreach ($aProtectedCells as $key => $value) { + $newReference = $this->updateCellReference($key, $pBefore, $pNumCols, $pNumRows); + if ($key != $newReference) { + $pSheet->protectCells($newReference, $value, true); + $pSheet->unprotectCells($key); + } + } + } - /** - * Update column dimensions when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true); - if (!empty($aColumnDimensions)) { - foreach ($aColumnDimensions as $objColumnDimension) { - $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows); - list($newReference) = PHPExcel_Cell::coordinateFromString($newReference); - if ($objColumnDimension->getColumnIndex() != $newReference) { - $objColumnDimension->setColumnIndex($newReference); - } - } - $pSheet->refreshColumnDimensions(); - } - } + /** + * Update column dimensions when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true); + if (!empty($aColumnDimensions)) { + foreach ($aColumnDimensions as $objColumnDimension) { + $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows); + list($newReference) = PHPExcel_Cell::coordinateFromString($newReference); + if ($objColumnDimension->getColumnIndex() != $newReference) { + $objColumnDimension->setColumnIndex($newReference); + } + } + $pSheet->refreshColumnDimensions(); + } + } - /** - * Update row dimensions when inserting/deleting rows/columns - * - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') - * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $beforeRow Number of the row we're inserting/deleting before - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - */ - protected function _adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) - { - $aRowDimensions = array_reverse($pSheet->getRowDimensions(), true); - if (!empty($aRowDimensions)) { - foreach ($aRowDimensions as $objRowDimension) { - $newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows); - list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference); - if ($objRowDimension->getRowIndex() != $newReference) { - $objRowDimension->setRowIndex($newReference); - } - } - $pSheet->refreshRowDimensions(); + /** + * Update row dimensions when inserting/deleting rows/columns + * + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') + * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $beforeRow Number of the row we're inserting/deleting before + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + */ + protected function adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) + { + $aRowDimensions = array_reverse($pSheet->getRowDimensions(), true); + if (!empty($aRowDimensions)) { + foreach ($aRowDimensions as $objRowDimension) { + $newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows); + list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference); + if ($objRowDimension->getRowIndex() != $newReference) { + $objRowDimension->setRowIndex($newReference); + } + } + $pSheet->refreshRowDimensions(); - $copyDimension = $pSheet->getRowDimension($beforeRow - 1); - for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; ++$i) { - $newDimension = $pSheet->getRowDimension($i); - $newDimension->setRowHeight($copyDimension->getRowHeight()); - $newDimension->setVisible($copyDimension->getVisible()); - $newDimension->setOutlineLevel($copyDimension->getOutlineLevel()); - $newDimension->setCollapsed($copyDimension->getCollapsed()); - } - } - } + $copyDimension = $pSheet->getRowDimension($beforeRow - 1); + for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; ++$i) { + $newDimension = $pSheet->getRowDimension($i); + $newDimension->setRowHeight($copyDimension->getRowHeight()); + $newDimension->setVisible($copyDimension->getVisible()); + $newDimension->setOutlineLevel($copyDimension->getOutlineLevel()); + $newDimension->setCollapsed($copyDimension->getCollapsed()); + } + } + } - /** - * Insert a new column or row, updating all possible related data - * - * @param string $pBefore Insert before this cell address (e.g. 'A1') - * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) - * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) - * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing - * @throws PHPExcel_Exception - */ - public function insertNewBefore($pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, PHPExcel_Worksheet $pSheet = NULL) - { - $remove = ($pNumCols < 0 || $pNumRows < 0); - $aCellCollection = $pSheet->getCellCollection(); + /** + * Insert a new column or row, updating all possible related data + * + * @param string $pBefore Insert before this cell address (e.g. 'A1') + * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) + * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion) + * @param PHPExcel_Worksheet $pSheet The worksheet that we're editing + * @throws PHPExcel_Exception + */ + public function insertNewBefore($pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, PHPExcel_Worksheet $pSheet = null) + { + $remove = ($pNumCols < 0 || $pNumRows < 0); + $aCellCollection = $pSheet->getCellCollection(); - // Get coordinates of $pBefore - $beforeColumn = 'A'; - $beforeRow = 1; - list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString($pBefore); - $beforeColumnIndex = PHPExcel_Cell::columnIndexFromString($beforeColumn); + // Get coordinates of $pBefore + $beforeColumn = 'A'; + $beforeRow = 1; + list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString($pBefore); + $beforeColumnIndex = PHPExcel_Cell::columnIndexFromString($beforeColumn); - // Clear cells if we are removing columns or rows - $highestColumn = $pSheet->getHighestColumn(); - $highestRow = $pSheet->getHighestRow(); + // Clear cells if we are removing columns or rows + $highestColumn = $pSheet->getHighestColumn(); + $highestRow = $pSheet->getHighestRow(); - // 1. Clear column strips if we are removing columns - if ($pNumCols < 0 && $beforeColumnIndex - 2 + $pNumCols > 0) { - for ($i = 1; $i <= $highestRow - 1; ++$i) { - for ($j = $beforeColumnIndex - 1 + $pNumCols; $j <= $beforeColumnIndex - 2; ++$j) { - $coordinate = PHPExcel_Cell::stringFromColumnIndex($j) . $i; - $pSheet->removeConditionalStyles($coordinate); - if ($pSheet->cellExists($coordinate)) { - $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); - $pSheet->getCell($coordinate)->setXfIndex(0); - } - } - } - } + // 1. Clear column strips if we are removing columns + if ($pNumCols < 0 && $beforeColumnIndex - 2 + $pNumCols > 0) { + for ($i = 1; $i <= $highestRow - 1; ++$i) { + for ($j = $beforeColumnIndex - 1 + $pNumCols; $j <= $beforeColumnIndex - 2; ++$j) { + $coordinate = PHPExcel_Cell::stringFromColumnIndex($j) . $i; + $pSheet->removeConditionalStyles($coordinate); + if ($pSheet->cellExists($coordinate)) { + $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); + $pSheet->getCell($coordinate)->setXfIndex(0); + } + } + } + } - // 2. Clear row strips if we are removing rows - if ($pNumRows < 0 && $beforeRow - 1 + $pNumRows > 0) { - for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { - for ($j = $beforeRow + $pNumRows; $j <= $beforeRow - 1; ++$j) { - $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . $j; - $pSheet->removeConditionalStyles($coordinate); - if ($pSheet->cellExists($coordinate)) { - $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); - $pSheet->getCell($coordinate)->setXfIndex(0); - } - } - } - } + // 2. Clear row strips if we are removing rows + if ($pNumRows < 0 && $beforeRow - 1 + $pNumRows > 0) { + for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { + for ($j = $beforeRow + $pNumRows; $j <= $beforeRow - 1; ++$j) { + $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . $j; + $pSheet->removeConditionalStyles($coordinate); + if ($pSheet->cellExists($coordinate)) { + $pSheet->getCell($coordinate)->setValueExplicit('', PHPExcel_Cell_DataType::TYPE_NULL); + $pSheet->getCell($coordinate)->setXfIndex(0); + } + } + } + } - // Loop through cells, bottom-up, and change cell coordinates - if($remove) { + // Loop through cells, bottom-up, and change cell coordinates + if ($remove) { // It's faster to reverse and pop than to use unshift, especially with large cell collections $aCellCollection = array_reverse($aCellCollection); } - while ($cellID = array_pop($aCellCollection)) { - $cell = $pSheet->getCell($cellID); - $cellIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn()); + while ($cellID = array_pop($aCellCollection)) { + $cell = $pSheet->getCell($cellID); + $cellIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn()); - if ($cellIndex-1 + $pNumCols < 0) { - continue; - } + if ($cellIndex-1 + $pNumCols < 0) { + continue; + } - // New coordinates - $newCoordinates = PHPExcel_Cell::stringFromColumnIndex($cellIndex-1 + $pNumCols) . ($cell->getRow() + $pNumRows); + // New coordinates + $newCoordinates = PHPExcel_Cell::stringFromColumnIndex($cellIndex-1 + $pNumCols) . ($cell->getRow() + $pNumRows); - // Should the cell be updated? Move value and cellXf index from one cell to another. - if (($cellIndex >= $beforeColumnIndex) && - ($cell->getRow() >= $beforeRow)) { + // Should the cell be updated? Move value and cellXf index from one cell to another. + if (($cellIndex >= $beforeColumnIndex) && ($cell->getRow() >= $beforeRow)) { + // Update cell styles + $pSheet->getCell($newCoordinates)->setXfIndex($cell->getXfIndex()); - // Update cell styles - $pSheet->getCell($newCoordinates)->setXfIndex($cell->getXfIndex()); + // Insert this cell at its new location + if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { + // Formula should be adjusted + $pSheet->getCell($newCoordinates) + ->setValue($this->updateFormulaReferences($cell->getValue(), $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); + } else { + // Formula should not be adjusted + $pSheet->getCell($newCoordinates)->setValue($cell->getValue()); + } - // Insert this cell at its new location - if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { - // Formula should be adjusted - $pSheet->getCell($newCoordinates) - ->setValue($this->updateFormulaReferences($cell->getValue(), - $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); - } else { - // Formula should not be adjusted - $pSheet->getCell($newCoordinates)->setValue($cell->getValue()); - } + // Clear the original cell + $pSheet->getCellCacheController()->deleteCacheData($cellID); + } else { + /* We don't need to update styles for rows/columns before our insertion position, + but we do still need to adjust any formulae in those cells */ + if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { + // Formula should be adjusted + $cell->setValue($this->updateFormulaReferences($cell->getValue(), $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); + } - // Clear the original cell - $pSheet->getCellCacheController()->deleteCacheData($cellID); + } + } - } else { - /* We don't need to update styles for rows/columns before our insertion position, - but we do still need to adjust any formulae in those cells */ - if ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA) { - // Formula should be adjusted - $cell->setValue($this->updateFormulaReferences($cell->getValue(), - $pBefore, $pNumCols, $pNumRows, $pSheet->getTitle())); - } + // Duplicate styles for the newly inserted cells + $highestColumn = $pSheet->getHighestColumn(); + $highestRow = $pSheet->getHighestRow(); - } - } + if ($pNumCols > 0 && $beforeColumnIndex - 2 > 0) { + for ($i = $beforeRow; $i <= $highestRow - 1; ++$i) { + // Style + $coordinate = PHPExcel_Cell::stringFromColumnIndex($beforeColumnIndex - 2) . $i; + if ($pSheet->cellExists($coordinate)) { + $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); + $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? + $pSheet->getConditionalStyles($coordinate) : false; + for ($j = $beforeColumnIndex - 1; $j <= $beforeColumnIndex - 2 + $pNumCols; ++$j) { + $pSheet->getCellByColumnAndRow($j, $i)->setXfIndex($xfIndex); + if ($conditionalStyles) { + $cloned = array(); + foreach ($conditionalStyles as $conditionalStyle) { + $cloned[] = clone $conditionalStyle; + } + $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned); + } + } + } - // Duplicate styles for the newly inserted cells - $highestColumn = $pSheet->getHighestColumn(); - $highestRow = $pSheet->getHighestRow(); + } + } - if ($pNumCols > 0 && $beforeColumnIndex - 2 > 0) { - for ($i = $beforeRow; $i <= $highestRow - 1; ++$i) { + if ($pNumRows > 0 && $beforeRow - 1 > 0) { + for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { + // Style + $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1); + if ($pSheet->cellExists($coordinate)) { + $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); + $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? + $pSheet->getConditionalStyles($coordinate) : false; + for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) { + $pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex); + if ($conditionalStyles) { + $cloned = array(); + foreach ($conditionalStyles as $conditionalStyle) { + $cloned[] = clone $conditionalStyle; + } + $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned); + } + } + } + } + } - // Style - $coordinate = PHPExcel_Cell::stringFromColumnIndex( $beforeColumnIndex - 2 ) . $i; - if ($pSheet->cellExists($coordinate)) { - $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); - $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? - $pSheet->getConditionalStyles($coordinate) : false; - for ($j = $beforeColumnIndex - 1; $j <= $beforeColumnIndex - 2 + $pNumCols; ++$j) { - $pSheet->getCellByColumnAndRow($j, $i)->setXfIndex($xfIndex); - if ($conditionalStyles) { - $cloned = array(); - foreach ($conditionalStyles as $conditionalStyle) { - $cloned[] = clone $conditionalStyle; - } - $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned); - } - } - } + // Update worksheet: column dimensions + $this->adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - } - } + // Update worksheet: row dimensions + $this->adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - if ($pNumRows > 0 && $beforeRow - 1 > 0) { - for ($i = $beforeColumnIndex - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) { + // Update worksheet: page breaks + $this->adjustPageBreaks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Style - $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1); - if ($pSheet->cellExists($coordinate)) { - $xfIndex = $pSheet->getCell($coordinate)->getXfIndex(); - $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? - $pSheet->getConditionalStyles($coordinate) : false; - for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) { - $pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex); - if ($conditionalStyles) { - $cloned = array(); - foreach ($conditionalStyles as $conditionalStyle) { - $cloned[] = clone $conditionalStyle; - } - $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned); - } - } - } - } - } + // Update worksheet: comments + $this->adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Update worksheet: column dimensions - $this->_adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Update worksheet: hyperlinks + $this->adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Update worksheet: row dimensions - $this->_adjustRowDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Update worksheet: data validations + $this->adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Update worksheet: page breaks - $this->_adjustPageBreaks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Update worksheet: merge cells + $this->adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Update worksheet: comments - $this->_adjustComments($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Update worksheet: protected cells + $this->adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); - // Update worksheet: hyperlinks - $this->_adjustHyperlinks($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Update worksheet: autofilter + $autoFilter = $pSheet->getAutoFilter(); + $autoFilterRange = $autoFilter->getRange(); + if (!empty($autoFilterRange)) { + if ($pNumCols != 0) { + $autoFilterColumns = array_keys($autoFilter->getColumns()); + if (count($autoFilterColumns) > 0) { + sscanf($pBefore, '%[A-Z]%d', $column, $row); + $columnIndex = PHPExcel_Cell::columnIndexFromString($column); + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($autoFilterRange); + if ($columnIndex <= $rangeEnd[0]) { + if ($pNumCols < 0) { + // If we're actually deleting any columns that fall within the autofilter range, + // then we delete any rules for those columns + $deleteColumn = $columnIndex + $pNumCols - 1; + $deleteCount = abs($pNumCols); + for ($i = 1; $i <= $deleteCount; ++$i) { + if (in_array(PHPExcel_Cell::stringFromColumnIndex($deleteColumn), $autoFilterColumns)) { + $autoFilter->clearColumn(PHPExcel_Cell::stringFromColumnIndex($deleteColumn)); + } + ++$deleteColumn; + } + } + $startCol = ($columnIndex > $rangeStart[0]) ? $columnIndex : $rangeStart[0]; - // Update worksheet: data validations - $this->_adjustDataValidations($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + // Shuffle columns in autofilter range + if ($pNumCols > 0) { + // For insert, we shuffle from end to beginning to avoid overwriting + $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); + $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); - // Update worksheet: merge cells - $this->_adjustMergeCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + $startColRef = $startCol; + $endColRef = $rangeEnd[0]; + $toColRef = $rangeEnd[0]+$pNumCols; - // Update worksheet: protected cells - $this->_adjustProtectedCells($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows); + do { + $autoFilter->shiftColumn(PHPExcel_Cell::stringFromColumnIndex($endColRef-1), PHPExcel_Cell::stringFromColumnIndex($toColRef-1)); + --$endColRef; + --$toColRef; + } while ($startColRef <= $endColRef); + } else { + // For delete, we shuffle from beginning to end to avoid overwriting + $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); + $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); + $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); + do { + $autoFilter->shiftColumn($startColID, $toColID); + ++$startColID; + ++$toColID; + } while ($startColID != $endColID); + } + } + } + } + $pSheet->setAutoFilter($this->updateCellReference($autoFilterRange, $pBefore, $pNumCols, $pNumRows)); + } - // Update worksheet: autofilter - $autoFilter = $pSheet->getAutoFilter(); - $autoFilterRange = $autoFilter->getRange(); - if (!empty($autoFilterRange)) { - if ($pNumCols != 0) { - $autoFilterColumns = array_keys($autoFilter->getColumns()); - if (count($autoFilterColumns) > 0) { - sscanf($pBefore,'%[A-Z]%d', $column, $row); - $columnIndex = PHPExcel_Cell::columnIndexFromString($column); - list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($autoFilterRange); - if ($columnIndex <= $rangeEnd[0]) { - if ($pNumCols < 0) { - // If we're actually deleting any columns that fall within the autofilter range, - // then we delete any rules for those columns - $deleteColumn = $columnIndex + $pNumCols - 1; - $deleteCount = abs($pNumCols); - for ($i = 1; $i <= $deleteCount; ++$i) { - if (in_array(PHPExcel_Cell::stringFromColumnIndex($deleteColumn),$autoFilterColumns)) { - $autoFilter->clearColumn(PHPExcel_Cell::stringFromColumnIndex($deleteColumn)); - } - ++$deleteColumn; - } - } - $startCol = ($columnIndex > $rangeStart[0]) ? $columnIndex : $rangeStart[0]; + // Update worksheet: freeze pane + if ($pSheet->getFreezePane() != '') { + $pSheet->freezePane($this->updateCellReference($pSheet->getFreezePane(), $pBefore, $pNumCols, $pNumRows)); + } - // Shuffle columns in autofilter range - if ($pNumCols > 0) { - // For insert, we shuffle from end to beginning to avoid overwriting - $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); - $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); - $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); + // Page setup + if ($pSheet->getPageSetup()->isPrintAreaSet()) { + $pSheet->getPageSetup()->setPrintArea($this->updateCellReference($pSheet->getPageSetup()->getPrintArea(), $pBefore, $pNumCols, $pNumRows)); + } - $startColRef = $startCol; - $endColRef = $rangeEnd[0]; - $toColRef = $rangeEnd[0]+$pNumCols; + // Update worksheet: drawings + $aDrawings = $pSheet->getDrawingCollection(); + foreach ($aDrawings as $objDrawing) { + $newReference = $this->updateCellReference($objDrawing->getCoordinates(), $pBefore, $pNumCols, $pNumRows); + if ($objDrawing->getCoordinates() != $newReference) { + $objDrawing->setCoordinates($newReference); + } + } - do { - $autoFilter->shiftColumn(PHPExcel_Cell::stringFromColumnIndex($endColRef-1),PHPExcel_Cell::stringFromColumnIndex($toColRef-1)); - --$endColRef; - --$toColRef; - } while ($startColRef <= $endColRef); - } else { - // For delete, we shuffle from beginning to end to avoid overwriting - $startColID = PHPExcel_Cell::stringFromColumnIndex($startCol-1); - $toColID = PHPExcel_Cell::stringFromColumnIndex($startCol+$pNumCols-1); - $endColID = PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]); - do { - $autoFilter->shiftColumn($startColID,$toColID); - ++$startColID; - ++$toColID; - } while ($startColID != $endColID); - } - } - } - } - $pSheet->setAutoFilter( $this->updateCellReference($autoFilterRange, $pBefore, $pNumCols, $pNumRows) ); - } + // Update workbook: named ranges + if (count($pSheet->getParent()->getNamedRanges()) > 0) { + foreach ($pSheet->getParent()->getNamedRanges() as $namedRange) { + if ($namedRange->getWorksheet()->getHashCode() == $pSheet->getHashCode()) { + $namedRange->setRange($this->updateCellReference($namedRange->getRange(), $pBefore, $pNumCols, $pNumRows)); + } + } + } - // Update worksheet: freeze pane - if ($pSheet->getFreezePane() != '') { - $pSheet->freezePane( $this->updateCellReference($pSheet->getFreezePane(), $pBefore, $pNumCols, $pNumRows) ); - } + // Garbage collect + $pSheet->garbageCollect(); + } - // Page setup - if ($pSheet->getPageSetup()->isPrintAreaSet()) { - $pSheet->getPageSetup()->setPrintArea( $this->updateCellReference($pSheet->getPageSetup()->getPrintArea(), $pBefore, $pNumCols, $pNumRows) ); - } + /** + * Update references within formulas + * + * @param string $pFormula Formula to update + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to insert + * @param int $pNumRows Number of rows to insert + * @param string $sheetName Worksheet name/title + * @return string Updated formula + * @throws PHPExcel_Exception + */ + public function updateFormulaReferences($pFormula = '', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, $sheetName = '') + { + // Update cell references in the formula + $formulaBlocks = explode('"', $pFormula); + $i = false; + foreach ($formulaBlocks as &$formulaBlock) { + // Ignore blocks that were enclosed in quotes (alternating entries in the $formulaBlocks array after the explode) + if ($i = !$i) { + $adjustCount = 0; + $newCellTokens = $cellTokens = array(); + // Search for row ranges (e.g. 'Sheet1'!3:5 or 3:5) with or without $ absolutes (e.g. $3:5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_ROWRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach ($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = substr($this->updateCellReference('$A'.$match[3], $pBefore, $pNumCols, $pNumRows), 2); + $modified4 = substr($this->updateCellReference('$A'.$match[4], $pBefore, $pNumCols, $pNumRows), 2); - // Update worksheet: drawings - $aDrawings = $pSheet->getDrawingCollection(); - foreach ($aDrawings as $objDrawing) { - $newReference = $this->updateCellReference($objDrawing->getCoordinates(), $pBefore, $pNumCols, $pNumRows); - if ($objDrawing->getCoordinates() != $newReference) { - $objDrawing->setCoordinates($newReference); - } - } + if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { + if (($match[2] == '') || (trim($match[2], "'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = 100000; + $row = 10000000 + trim($match[3], '$'); + $cellIndex = $column.$row; - // Update workbook: named ranges - if (count($pSheet->getParent()->getNamedRanges()) > 0) { - foreach ($pSheet->getParent()->getNamedRanges() as $namedRange) { - if ($namedRange->getWorksheet()->getHashCode() == $pSheet->getHashCode()) { - $namedRange->setRange( - $this->updateCellReference($namedRange->getRange(), $pBefore, $pNumCols, $pNumRows) - ); - } - } - } + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<!\d\$\!)'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + // Search for column ranges (e.g. 'Sheet1'!C:E or C:E) with or without $ absolutes (e.g. $C:E) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_COLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach ($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = substr($this->updateCellReference($match[3].'$1', $pBefore, $pNumCols, $pNumRows), 0, -2); + $modified4 = substr($this->updateCellReference($match[4].'$1', $pBefore, $pNumCols, $pNumRows), 0, -2); - // Garbage collect - $pSheet->garbageCollect(); - } + if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { + if (($match[2] == '') || (trim($match[2], "'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($match[3], '$')) + 100000; + $row = 10000000; + $cellIndex = $column.$row; - /** - * Update references within formulas - * - * @param string $pFormula Formula to update - * @param int $pBefore Insert before this one - * @param int $pNumCols Number of columns to insert - * @param int $pNumRows Number of rows to insert - * @param string $sheetName Worksheet name/title - * @return string Updated formula - * @throws PHPExcel_Exception - */ - public function updateFormulaReferences($pFormula = '', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0, $sheetName = '') { - // Update cell references in the formula - $formulaBlocks = explode('"',$pFormula); - $i = false; - foreach($formulaBlocks as &$formulaBlock) { - // Ignore blocks that were enclosed in quotes (alternating entries in the $formulaBlocks array after the explode) - if ($i = !$i) { - $adjustCount = 0; - $newCellTokens = $cellTokens = array(); - // Search for row ranges (e.g. 'Sheet1'!3:5 or 3:5) with or without $ absolutes (e.g. $3:5) - $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_ROWRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); - if ($matchCount > 0) { - foreach($matches as $match) { - $fromString = ($match[2] > '') ? $match[2].'!' : ''; - $fromString .= $match[3].':'.$match[4]; - $modified3 = substr($this->updateCellReference('$A'.$match[3],$pBefore,$pNumCols,$pNumRows),2); - $modified4 = substr($this->updateCellReference('$A'.$match[4],$pBefore,$pNumCols,$pNumRows),2); + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?![A-Z])/i'; + ++$adjustCount; + } + } + } + } + // Search for cell ranges (e.g. 'Sheet1'!A3:C5 or A3:C5) with or without $ absolutes (e.g. $A1:C$5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); + if ($matchCount > 0) { + foreach ($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3].':'.$match[4]; + $modified3 = $this->updateCellReference($match[3], $pBefore, $pNumCols, $pNumRows); + $modified4 = $this->updateCellReference($match[4], $pBefore, $pNumCols, $pNumRows); - if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { - if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { - $toString = ($match[2] > '') ? $match[2].'!' : ''; - $toString .= $modified3.':'.$modified4; - // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more - $column = 100000; - $row = 10000000+trim($match[3],'$'); - $cellIndex = $column.$row; + if ($match[3].$match[4] !== $modified3.$modified4) { + if (($match[2] == '') || (trim($match[2], "'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3.':'.$modified4; + list($column, $row) = PHPExcel_Cell::coordinateFromString($match[3]); + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($column, '$')) + 100000; + $row = trim($row, '$') + 10000000; + $cellIndex = $column.$row; - $newCellTokens[$cellIndex] = preg_quote($toString); - $cellTokens[$cellIndex] = '/(?<!\d\$\!)'.preg_quote($fromString).'(?!\d)/i'; - ++$adjustCount; - } - } - } - } - // Search for column ranges (e.g. 'Sheet1'!C:E or C:E) with or without $ absolutes (e.g. $C:E) - $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_COLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); - if ($matchCount > 0) { - foreach($matches as $match) { - $fromString = ($match[2] > '') ? $match[2].'!' : ''; - $fromString .= $match[3].':'.$match[4]; - $modified3 = substr($this->updateCellReference($match[3].'$1',$pBefore,$pNumCols,$pNumRows),0,-2); - $modified4 = substr($this->updateCellReference($match[4].'$1',$pBefore,$pNumCols,$pNumRows),0,-2); + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z]\$\!)'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + // Search for cell references (e.g. 'Sheet1'!A3 or C5) with or without $ absolutes (e.g. $A1 or C$5) + $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLREF.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); - if ($match[3].':'.$match[4] !== $modified3.':'.$modified4) { - if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { - $toString = ($match[2] > '') ? $match[2].'!' : ''; - $toString .= $modified3.':'.$modified4; - // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more - $column = PHPExcel_Cell::columnIndexFromString(trim($match[3],'$')) + 100000; - $row = 10000000; - $cellIndex = $column.$row; + if ($matchCount > 0) { + foreach ($matches as $match) { + $fromString = ($match[2] > '') ? $match[2].'!' : ''; + $fromString .= $match[3]; - $newCellTokens[$cellIndex] = preg_quote($toString); - $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?![A-Z])/i'; - ++$adjustCount; - } - } - } - } - // Search for cell ranges (e.g. 'Sheet1'!A3:C5 or A3:C5) with or without $ absolutes (e.g. $A1:C$5) - $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLRANGE.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); - if ($matchCount > 0) { - foreach($matches as $match) { - $fromString = ($match[2] > '') ? $match[2].'!' : ''; - $fromString .= $match[3].':'.$match[4]; - $modified3 = $this->updateCellReference($match[3],$pBefore,$pNumCols,$pNumRows); - $modified4 = $this->updateCellReference($match[4],$pBefore,$pNumCols,$pNumRows); + $modified3 = $this->updateCellReference($match[3], $pBefore, $pNumCols, $pNumRows); + if ($match[3] !== $modified3) { + if (($match[2] == '') || (trim($match[2], "'") == $sheetName)) { + $toString = ($match[2] > '') ? $match[2].'!' : ''; + $toString .= $modified3; + list($column, $row) = PHPExcel_Cell::coordinateFromString($match[3]); + // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more + $column = PHPExcel_Cell::columnIndexFromString(trim($column, '$')) + 100000; + $row = trim($row, '$') + 10000000; + $cellIndex = $row . $column; - if ($match[3].$match[4] !== $modified3.$modified4) { - if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { - $toString = ($match[2] > '') ? $match[2].'!' : ''; - $toString .= $modified3.':'.$modified4; - list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]); - // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more - $column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000; - $row = trim($row,'$') + 10000000; - $cellIndex = $column.$row; - - $newCellTokens[$cellIndex] = preg_quote($toString); - $cellTokens[$cellIndex] = '/(?<![A-Z]\$\!)'.preg_quote($fromString).'(?!\d)/i'; - ++$adjustCount; - } - } - } - } - // Search for cell references (e.g. 'Sheet1'!A3 or C5) with or without $ absolutes (e.g. $A1 or C$5) - $matchCount = preg_match_all('/'.self::REFHELPER_REGEXP_CELLREF.'/i', ' '.$formulaBlock.' ', $matches, PREG_SET_ORDER); - - if ($matchCount > 0) { - foreach($matches as $match) { - $fromString = ($match[2] > '') ? $match[2].'!' : ''; - $fromString .= $match[3]; - - $modified3 = $this->updateCellReference($match[3],$pBefore,$pNumCols,$pNumRows); - if ($match[3] !== $modified3) { - if (($match[2] == '') || (trim($match[2],"'") == $sheetName)) { - $toString = ($match[2] > '') ? $match[2].'!' : ''; - $toString .= $modified3; - list($column,$row) = PHPExcel_Cell::coordinateFromString($match[3]); - // Max worksheet size is 1,048,576 rows by 16,384 columns in Excel 2007, so our adjustments need to be at least one digit more - $column = PHPExcel_Cell::columnIndexFromString(trim($column,'$')) + 100000; - $row = trim($row,'$') + 10000000; - $cellIndex = $row . $column; - - $newCellTokens[$cellIndex] = preg_quote($toString); - $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?!\d)/i'; - ++$adjustCount; - } - } - } - } - if ($adjustCount > 0) { + $newCellTokens[$cellIndex] = preg_quote($toString); + $cellTokens[$cellIndex] = '/(?<![A-Z\$\!])'.preg_quote($fromString).'(?!\d)/i'; + ++$adjustCount; + } + } + } + } + if ($adjustCount > 0) { if ($pNumCols > 0 || $pNumRows > 0) { krsort($cellTokens); krsort($newCellTokens); - } else { + } else { ksort($cellTokens); ksort($newCellTokens); } // Update cell references in the formula - $formulaBlock = str_replace('\\','',preg_replace($cellTokens,$newCellTokens,$formulaBlock)); - } - } - } - unset($formulaBlock); + $formulaBlock = str_replace('\\', '', preg_replace($cellTokens, $newCellTokens, $formulaBlock)); + } + } + } + unset($formulaBlock); - // Then rebuild the formula string - return implode('"',$formulaBlocks); - } + // Then rebuild the formula string + return implode('"', $formulaBlocks); + } - /** - * Update cell reference - * - * @param string $pCellRange Cell range - * @param int $pBefore Insert before this one - * @param int $pNumCols Number of columns to increment - * @param int $pNumRows Number of rows to increment - * @return string Updated cell range - * @throws PHPExcel_Exception - */ - public function updateCellReference($pCellRange = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { - // Is it in another worksheet? Will not have to update anything. - if (strpos($pCellRange, "!") !== false) { - return $pCellRange; - // Is it a range or a single cell? - } elseif (strpos($pCellRange, ':') === false && strpos($pCellRange, ',') === false) { - // Single cell - return $this->_updateSingleCellReference($pCellRange, $pBefore, $pNumCols, $pNumRows); - } elseif (strpos($pCellRange, ':') !== false || strpos($pCellRange, ',') !== false) { - // Range - return $this->_updateCellRange($pCellRange, $pBefore, $pNumCols, $pNumRows); - } else { - // Return original - return $pCellRange; - } - } + /** + * Update cell reference + * + * @param string $pCellRange Cell range + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell range + * @throws PHPExcel_Exception + */ + public function updateCellReference($pCellRange = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) + { + // Is it in another worksheet? Will not have to update anything. + if (strpos($pCellRange, "!") !== false) { + return $pCellRange; + // Is it a range or a single cell? + } elseif (strpos($pCellRange, ':') === false && strpos($pCellRange, ',') === false) { + // Single cell + return $this->updateSingleCellReference($pCellRange, $pBefore, $pNumCols, $pNumRows); + } elseif (strpos($pCellRange, ':') !== false || strpos($pCellRange, ',') !== false) { + // Range + return $this->updateCellRange($pCellRange, $pBefore, $pNumCols, $pNumRows); + } else { + // Return original + return $pCellRange; + } + } - /** - * Update named formulas (i.e. containing worksheet references / named ranges) - * - * @param PHPExcel $pPhpExcel Object to update - * @param string $oldName Old name (name to replace) - * @param string $newName New name - */ - public function updateNamedFormulas(PHPExcel $pPhpExcel, $oldName = '', $newName = '') { - if ($oldName == '') { - return; - } + /** + * Update named formulas (i.e. containing worksheet references / named ranges) + * + * @param PHPExcel $pPhpExcel Object to update + * @param string $oldName Old name (name to replace) + * @param string $newName New name + */ + public function updateNamedFormulas(PHPExcel $pPhpExcel, $oldName = '', $newName = '') + { + if ($oldName == '') { + return; + } - foreach ($pPhpExcel->getWorksheetIterator() as $sheet) { - foreach ($sheet->getCellCollection(false) as $cellID) { - $cell = $sheet->getCell($cellID); - if (($cell !== NULL) && ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA)) { - $formula = $cell->getValue(); - if (strpos($formula, $oldName) !== false) { - $formula = str_replace("'" . $oldName . "'!", "'" . $newName . "'!", $formula); - $formula = str_replace($oldName . "!", $newName . "!", $formula); - $cell->setValueExplicit($formula, PHPExcel_Cell_DataType::TYPE_FORMULA); - } - } - } - } - } + foreach ($pPhpExcel->getWorksheetIterator() as $sheet) { + foreach ($sheet->getCellCollection(false) as $cellID) { + $cell = $sheet->getCell($cellID); + if (($cell !== null) && ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_FORMULA)) { + $formula = $cell->getValue(); + if (strpos($formula, $oldName) !== false) { + $formula = str_replace("'" . $oldName . "'!", "'" . $newName . "'!", $formula); + $formula = str_replace($oldName . "!", $newName . "!", $formula); + $cell->setValueExplicit($formula, PHPExcel_Cell_DataType::TYPE_FORMULA); + } + } + } + } + } - /** - * Update cell range - * - * @param string $pCellRange Cell range (e.g. 'B2:D4', 'B:C' or '2:3') - * @param int $pBefore Insert before this one - * @param int $pNumCols Number of columns to increment - * @param int $pNumRows Number of rows to increment - * @return string Updated cell range - * @throws PHPExcel_Exception - */ - private function _updateCellRange($pCellRange = 'A1:A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { - if (strpos($pCellRange,':') !== false || strpos($pCellRange, ',') !== false) { - // Update range - $range = PHPExcel_Cell::splitRange($pCellRange); - $ic = count($range); - for ($i = 0; $i < $ic; ++$i) { - $jc = count($range[$i]); - for ($j = 0; $j < $jc; ++$j) { - if (ctype_alpha($range[$i][$j])) { - $r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference($range[$i][$j].'1', $pBefore, $pNumCols, $pNumRows)); - $range[$i][$j] = $r[0]; - } elseif(ctype_digit($range[$i][$j])) { - $r = PHPExcel_Cell::coordinateFromString($this->_updateSingleCellReference('A'.$range[$i][$j], $pBefore, $pNumCols, $pNumRows)); - $range[$i][$j] = $r[1]; - } else { - $range[$i][$j] = $this->_updateSingleCellReference($range[$i][$j], $pBefore, $pNumCols, $pNumRows); - } - } - } + /** + * Update cell range + * + * @param string $pCellRange Cell range (e.g. 'B2:D4', 'B:C' or '2:3') + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell range + * @throws PHPExcel_Exception + */ + private function updateCellRange($pCellRange = 'A1:A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) + { + if (strpos($pCellRange, ':') !== false || strpos($pCellRange, ',') !== false) { + // Update range + $range = PHPExcel_Cell::splitRange($pCellRange); + $ic = count($range); + for ($i = 0; $i < $ic; ++$i) { + $jc = count($range[$i]); + for ($j = 0; $j < $jc; ++$j) { + if (ctype_alpha($range[$i][$j])) { + $r = PHPExcel_Cell::coordinateFromString($this->updateSingleCellReference($range[$i][$j].'1', $pBefore, $pNumCols, $pNumRows)); + $range[$i][$j] = $r[0]; + } elseif (ctype_digit($range[$i][$j])) { + $r = PHPExcel_Cell::coordinateFromString($this->updateSingleCellReference('A'.$range[$i][$j], $pBefore, $pNumCols, $pNumRows)); + $range[$i][$j] = $r[1]; + } else { + $range[$i][$j] = $this->updateSingleCellReference($range[$i][$j], $pBefore, $pNumCols, $pNumRows); + } + } + } - // Recreate range string - return PHPExcel_Cell::buildRange($range); - } else { - throw new PHPExcel_Exception("Only cell ranges may be passed to this method."); - } - } + // Recreate range string + return PHPExcel_Cell::buildRange($range); + } else { + throw new PHPExcel_Exception("Only cell ranges may be passed to this method."); + } + } - /** - * Update single cell reference - * - * @param string $pCellReference Single cell reference - * @param int $pBefore Insert before this one - * @param int $pNumCols Number of columns to increment - * @param int $pNumRows Number of rows to increment - * @return string Updated cell reference - * @throws PHPExcel_Exception - */ - private function _updateSingleCellReference($pCellReference = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) { - if (strpos($pCellReference, ':') === false && strpos($pCellReference, ',') === false) { - // Get coordinates of $pBefore - list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString( $pBefore ); + /** + * Update single cell reference + * + * @param string $pCellReference Single cell reference + * @param int $pBefore Insert before this one + * @param int $pNumCols Number of columns to increment + * @param int $pNumRows Number of rows to increment + * @return string Updated cell reference + * @throws PHPExcel_Exception + */ + private function updateSingleCellReference($pCellReference = 'A1', $pBefore = 'A1', $pNumCols = 0, $pNumRows = 0) + { + if (strpos($pCellReference, ':') === false && strpos($pCellReference, ',') === false) { + // Get coordinates of $pBefore + list($beforeColumn, $beforeRow) = PHPExcel_Cell::coordinateFromString($pBefore); - // Get coordinates of $pCellReference - list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString( $pCellReference ); + // Get coordinates of $pCellReference + list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString($pCellReference); - // Verify which parts should be updated - $updateColumn = (($newColumn{0} != '$') && ($beforeColumn{0} != '$') && - PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn)); - $updateRow = (($newRow{0} != '$') && ($beforeRow{0} != '$') && - $newRow >= $beforeRow); + // Verify which parts should be updated + $updateColumn = (($newColumn{0} != '$') && ($beforeColumn{0} != '$') && (PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn))); + $updateRow = (($newRow{0} != '$') && ($beforeRow{0} != '$') && $newRow >= $beforeRow); - // Create new column reference - if ($updateColumn) { - $newColumn = PHPExcel_Cell::stringFromColumnIndex( PHPExcel_Cell::columnIndexFromString($newColumn) - 1 + $pNumCols ); - } + // Create new column reference + if ($updateColumn) { + $newColumn = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($newColumn) - 1 + $pNumCols); + } - // Create new row reference - if ($updateRow) { - $newRow = $newRow + $pNumRows; - } + // Create new row reference + if ($updateRow) { + $newRow = $newRow + $pNumRows; + } - // Return new reference - return $newColumn . $newRow; - } else { - throw new PHPExcel_Exception("Only single cell references may be passed to this method."); - } - } + // Return new reference + return $newColumn . $newRow; + } else { + throw new PHPExcel_Exception("Only single cell references may be passed to this method."); + } + } - /** - * __clone implementation. Cloning should not be allowed in a Singleton! - * - * @throws PHPExcel_Exception - */ - public final function __clone() { - throw new PHPExcel_Exception("Cloning a Singleton is not allowed!"); - } + /** + * __clone implementation. Cloning should not be allowed in a Singleton! + * + * @throws PHPExcel_Exception + */ + final public function __clone() + { + throw new PHPExcel_Exception("Cloning a Singleton is not allowed!"); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php index 19326315b..74a3534af 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_RichText * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_RichText - * - * @category PHPExcel - * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_RichText implements PHPExcel_IComparable { /** @@ -40,7 +32,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable * * @var PHPExcel_RichText_ITextElement[] */ - private $_richTextElements; + private $richTextElements; /** * Create a new PHPExcel_RichText instance @@ -51,10 +43,10 @@ class PHPExcel_RichText implements PHPExcel_IComparable public function __construct(PHPExcel_Cell $pCell = null) { // Initialise variables - $this->_richTextElements = array(); + $this->richTextElements = array(); // Rich-Text string attached to cell? - if ($pCell !== NULL) { + if ($pCell !== null) { // Add cell text and style if ($pCell->getValue() != "") { $objRun = new PHPExcel_RichText_Run($pCell->getValue()); @@ -76,7 +68,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable */ public function addText(PHPExcel_RichText_ITextElement $pText = null) { - $this->_richTextElements[] = $pText; + $this->richTextElements[] = $pText; return $this; } @@ -119,7 +111,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable $returnValue = ''; // Loop through all PHPExcel_RichText_ITextElement - foreach ($this->_richTextElements as $text) { + foreach ($this->richTextElements as $text) { $returnValue .= $text->getText(); } @@ -144,7 +136,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable */ public function getRichTextElements() { - return $this->_richTextElements; + return $this->richTextElements; } /** @@ -157,7 +149,7 @@ class PHPExcel_RichText implements PHPExcel_IComparable public function setRichTextElements($pElements = null) { if (is_array($pElements)) { - $this->_richTextElements = $pElements; + $this->richTextElements = $pElements; } else { throw new PHPExcel_Exception("Invalid PHPExcel_RichText_ITextElement[] array passed."); } @@ -172,13 +164,13 @@ class PHPExcel_RichText implements PHPExcel_IComparable public function getHashCode() { $hashElements = ''; - foreach ($this->_richTextElements as $element) { + foreach ($this->richTextElements as $element) { $hashElements .= $element->getHashCode(); } return md5( - $hashElements - . __CLASS__ + $hashElements . + __CLASS__ ); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php index 9f1c6240a..5db343201 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/ITextElement.php @@ -1,6 +1,7 @@ <?php + /** - * PHPExcel + * PHPExcel_RichText_ITextElement * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,47 +19,38 @@ * * @category PHPExcel * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_RichText_ITextElement - * - * @category PHPExcel - * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ interface PHPExcel_RichText_ITextElement { - /** - * Get text - * - * @return string Text - */ - public function getText(); + /** + * Get text + * + * @return string Text + */ + public function getText(); - /** - * Set text - * - * @param $pText string Text - * @return PHPExcel_RichText_ITextElement - */ - public function setText($pText = ''); + /** + * Set text + * + * @param $pText string Text + * @return PHPExcel_RichText_ITextElement + */ + public function setText($pText = ''); - /** - * Get font - * - * @return PHPExcel_Style_Font - */ - public function getFont(); + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont(); - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode(); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode(); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php index 4a8c592e3..5737bb0d6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/Run.php @@ -1,6 +1,7 @@ <?php + /** - * PHPExcel + * PHPExcel_RichText_Run * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,85 +19,80 @@ * * @category PHPExcel * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_RichText_Run - * - * @category PHPExcel - * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_RichText_Run extends PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement { - /** - * Font - * - * @var PHPExcel_Style_Font - */ - private $_font; + /** + * Font + * + * @var PHPExcel_Style_Font + */ + private $font; /** * Create a new PHPExcel_RichText_Run instance * - * @param string $pText Text + * @param string $pText Text */ public function __construct($pText = '') { - // Initialise variables - $this->setText($pText); - $this->_font = new PHPExcel_Style_Font(); + // Initialise variables + $this->setText($pText); + $this->font = new PHPExcel_Style_Font(); } - /** - * Get font - * - * @return PHPExcel_Style_Font - */ - public function getFont() { - return $this->_font; - } - - /** - * Set font - * - * @param PHPExcel_Style_Font $pFont Font - * @throws PHPExcel_Exception - * @return PHPExcel_RichText_ITextElement - */ - public function setFont(PHPExcel_Style_Font $pFont = null) { - $this->_font = $pFont; - return $this; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->getText() - . $this->_font->getHashCode() - . __CLASS__ - ); + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont() + { + return $this->font; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Set font + * + * @param PHPExcel_Style_Font $pFont Font + * @throws PHPExcel_Exception + * @return PHPExcel_RichText_ITextElement + */ + public function setFont(PHPExcel_Style_Font $pFont = null) + { + $this->font = $pFont; + return $this; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->getText() . + $this->font->getHashCode() . + __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php index ec7c2644e..f86e70315 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/RichText/TextElement.php @@ -1,6 +1,7 @@ <?php + /** - * PHPExcel + * PHPExcel_RichText_TextElement * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,91 +19,87 @@ * * @category PHPExcel * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_RichText_TextElement - * - * @category PHPExcel - * @package PHPExcel_RichText - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_RichText_TextElement implements PHPExcel_RichText_ITextElement { - /** - * Text - * - * @var string - */ - private $_text; + /** + * Text + * + * @var string + */ + private $text; /** * Create a new PHPExcel_RichText_TextElement instance * - * @param string $pText Text + * @param string $pText Text */ public function __construct($pText = '') { - // Initialise variables - $this->_text = $pText; + // Initialise variables + $this->text = $pText; } - /** - * Get text - * - * @return string Text - */ - public function getText() { - return $this->_text; - } - - /** - * Set text - * - * @param $pText string Text - * @return PHPExcel_RichText_ITextElement - */ - public function setText($pText = '') { - $this->_text = $pText; - return $this; - } - - /** - * Get font - * - * @return PHPExcel_Style_Font - */ - public function getFont() { - return null; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_text - . __CLASS__ - ); + /** + * Get text + * + * @return string Text + */ + public function getText() + { + return $this->text; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Set text + * + * @param $pText string Text + * @return PHPExcel_RichText_ITextElement + */ + public function setText($pText = '') + { + $this->text = $pText; + return $this; + } + + /** + * Get font + * + * @return PHPExcel_Style_Font + */ + public function getFont() + { + return null; + } + + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->text . + __CLASS__ + ); + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php index c78d9350d..dcbc89fc0 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Settings.php @@ -1,8 +1,18 @@ <?php + +/** PHPExcel root directory */ +if (!defined('PHPEXCEL_ROOT')) { + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); +} + /** - * PHPExcel + * PHPExcel_Settings * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,42 +30,31 @@ * * @category PHPExcel * @package PHPExcel_Settings - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** PHPExcel root directory */ -if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); -} - - class PHPExcel_Settings { /** constants */ /** Available Zip library classes */ - const PCLZIP = 'PHPExcel_Shared_ZipArchive'; - const ZIPARCHIVE = 'ZipArchive'; + const PCLZIP = 'PHPExcel_Shared_ZipArchive'; + const ZIPARCHIVE = 'ZipArchive'; /** Optional Chart Rendering libraries */ - const CHART_RENDERER_JPGRAPH = 'jpgraph'; + const CHART_RENDERER_JPGRAPH = 'jpgraph'; /** Optional PDF Rendering libraries */ - const PDF_RENDERER_TCPDF = 'tcPDF'; - const PDF_RENDERER_DOMPDF = 'DomPDF'; - const PDF_RENDERER_MPDF = 'mPDF'; + const PDF_RENDERER_TCPDF = 'tcPDF'; + const PDF_RENDERER_DOMPDF = 'DomPDF'; + const PDF_RENDERER_MPDF = 'mPDF'; - private static $_chartRenderers = array( + private static $chartRenderers = array( self::CHART_RENDERER_JPGRAPH, ); - private static $_pdfRenderers = array( + private static $pdfRenderers = array( self::PDF_RENDERER_TCPDF, self::PDF_RENDERER_DOMPDF, self::PDF_RENDERER_MPDF, @@ -64,84 +63,84 @@ class PHPExcel_Settings /** * Name of the class used for Zip file management - * e.g. - * ZipArchive + * e.g. + * ZipArchive * * @var string */ - private static $_zipClass = self::ZIPARCHIVE; + private static $zipClass = self::ZIPARCHIVE; /** * Name of the external Library used for rendering charts - * e.g. - * jpgraph + * e.g. + * jpgraph * * @var string */ - private static $_chartRendererName = NULL; + private static $chartRendererName; /** * Directory Path to the external Library used for rendering charts * * @var string */ - private static $_chartRendererPath = NULL; + private static $chartRendererPath; /** * Name of the external Library used for rendering PDF files - * e.g. - * mPDF + * e.g. + * mPDF * * @var string */ - private static $_pdfRendererName = NULL; + private static $pdfRendererName; /** * Directory Path to the external Library used for rendering PDF files * * @var string */ - private static $_pdfRendererPath = NULL; + private static $pdfRendererPath; /** * Default options for libxml loader * * @var int */ - private static $_libXmlLoaderOptions = null; + private static $libXmlLoaderOptions = null; /** * Set the Zip handler Class that PHPExcel should use for Zip file management (PCLZip or ZipArchive) * - * @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management - * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive - * @return boolean Success or failure + * @param string $zipClass The Zip handler class that PHPExcel should use for Zip file management + * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive + * @return boolean Success or failure */ public static function setZipClass($zipClass) { if (($zipClass === self::PCLZIP) || ($zipClass === self::ZIPARCHIVE)) { - self::$_zipClass = $zipClass; - return TRUE; + self::$zipClass = $zipClass; + return true; } - return FALSE; - } // function setZipClass() + return false; + } /** * Return the name of the Zip handler Class that PHPExcel is configured to use (PCLZip or ZipArchive) - * or Zip file management + * or Zip file management * * @return string Name of the Zip handler Class that PHPExcel is configured to use - * for Zip file management - * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive + * for Zip file management + * e.g. PHPExcel_Settings::PCLZip or PHPExcel_Settings::ZipArchive */ public static function getZipClass() { - return self::$_zipClass; - } // function getZipClass() + return self::$zipClass; + } /** @@ -152,7 +151,7 @@ class PHPExcel_Settings public static function getCacheStorageMethod() { return PHPExcel_CachedObjectStorageFactory::getCacheStorageMethod(); - } // function getCacheStorageMethod() + } /** @@ -163,7 +162,7 @@ class PHPExcel_Settings public static function getCacheStorageClass() { return PHPExcel_CachedObjectStorageFactory::getCacheStorageClass(); - } // function getCacheStorageClass() + } /** @@ -173,13 +172,10 @@ class PHPExcel_Settings * @param array $arguments Optional configuration arguments for the cacheing method * @return boolean Success or failure */ - public static function setCacheStorageMethod( - $method = PHPExcel_CachedObjectStorageFactory::cache_in_memory, - $arguments = array() - ) + public static function setCacheStorageMethod($method = PHPExcel_CachedObjectStorageFactory::cache_in_memory, $arguments = array()) { return PHPExcel_CachedObjectStorageFactory::initialize($method, $arguments); - } // function setCacheStorageMethod() + } /** @@ -188,97 +184,97 @@ class PHPExcel_Settings * @param string $locale The locale code to use (e.g. "fr" or "pt_br" or "en_uk") * @return boolean Success or failure */ - public static function setLocale($locale='en_us') + public static function setLocale($locale = 'en_us') { return PHPExcel_Calculation::getInstance()->setLocale($locale); - } // function setLocale() + } /** * Set details of the external library that PHPExcel should use for rendering charts * - * @param string $libraryName Internal reference name of the library - * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * @param string $libraryBaseDir Directory path to the library's base folder * - * @return boolean Success or failure + * @return boolean Success or failure */ public static function setChartRenderer($libraryName, $libraryBaseDir) { - if (!self::setChartRendererName($libraryName)) - return FALSE; + if (!self::setChartRendererName($libraryName)) { + return false; + } return self::setChartRendererPath($libraryBaseDir); - } // function setChartRenderer() + } /** * Identify to PHPExcel the external library to use for rendering charts * - * @param string $libraryName Internal reference name of the library - * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + * @param string $libraryName Internal reference name of the library + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH * - * @return boolean Success or failure + * @return boolean Success or failure */ public static function setChartRendererName($libraryName) { - if (!in_array($libraryName,self::$_chartRenderers)) { - return FALSE; + if (!in_array($libraryName, self::$chartRenderers)) { + return false; } + self::$chartRendererName = $libraryName; - self::$_chartRendererName = $libraryName; - - return TRUE; - } // function setChartRendererName() + return true; + } /** * Tell PHPExcel where to find the external library to use for rendering charts * - * @param string $libraryBaseDir Directory path to the library's base folder - * @return boolean Success or failure + * @param string $libraryBaseDir Directory path to the library's base folder + * @return boolean Success or failure */ public static function setChartRendererPath($libraryBaseDir) { if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { - return FALSE; + return false; } - self::$_chartRendererPath = $libraryBaseDir; + self::$chartRendererPath = $libraryBaseDir; - return TRUE; - } // function setChartRendererPath() + return true; + } /** * Return the Chart Rendering Library that PHPExcel is currently configured to use (e.g. jpgraph) * * @return string|NULL Internal reference name of the Chart Rendering Library that PHPExcel is - * currently configured to use - * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH + * currently configured to use + * e.g. PHPExcel_Settings::CHART_RENDERER_JPGRAPH */ public static function getChartRendererName() { - return self::$_chartRendererName; - } // function getChartRendererName() + return self::$chartRendererName; + } /** * Return the directory path to the Chart Rendering Library that PHPExcel is currently configured to use * * @return string|NULL Directory Path to the Chart Rendering Library that PHPExcel is - * currently configured to use + * currently configured to use */ public static function getChartRendererPath() { - return self::$_chartRendererPath; - } // function getChartRendererPath() + return self::$chartRendererPath; + } /** * Set details of the external library that PHPExcel should use for rendering PDF files * * @param string $libraryName Internal reference name of the library - * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, - * PHPExcel_Settings::PDF_RENDERER_DOMPDF + * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, + * PHPExcel_Settings::PDF_RENDERER_DOMPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF * @param string $libraryBaseDir Directory path to the library's base folder * @@ -286,32 +282,32 @@ class PHPExcel_Settings */ public static function setPdfRenderer($libraryName, $libraryBaseDir) { - if (!self::setPdfRendererName($libraryName)) - return FALSE; + if (!self::setPdfRendererName($libraryName)) { + return false; + } return self::setPdfRendererPath($libraryBaseDir); - } // function setPdfRenderer() + } /** * Identify to PHPExcel the external library to use for rendering PDF files * * @param string $libraryName Internal reference name of the library - * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, - * PHPExcel_Settings::PDF_RENDERER_DOMPDF - * or PHPExcel_Settings::PDF_RENDERER_MPDF + * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, + * PHPExcel_Settings::PDF_RENDERER_DOMPDF + * or PHPExcel_Settings::PDF_RENDERER_MPDF * * @return boolean Success or failure */ public static function setPdfRendererName($libraryName) { - if (!in_array($libraryName,self::$_pdfRenderers)) { - return FALSE; + if (!in_array($libraryName, self::$pdfRenderers)) { + return false; } + self::$pdfRendererName = $libraryName; - self::$_pdfRendererName = $libraryName; - - return TRUE; - } // function setPdfRendererName() + return true; + } /** @@ -323,69 +319,71 @@ class PHPExcel_Settings public static function setPdfRendererPath($libraryBaseDir) { if ((file_exists($libraryBaseDir) === false) || (is_readable($libraryBaseDir) === false)) { - return FALSE; + return false; } - self::$_pdfRendererPath = $libraryBaseDir; + self::$pdfRendererPath = $libraryBaseDir; - return TRUE; - } // function setPdfRendererPath() + return true; + } /** * Return the PDF Rendering Library that PHPExcel is currently configured to use (e.g. dompdf) * * @return string|NULL Internal reference name of the PDF Rendering Library that PHPExcel is - * currently configured to use + * currently configured to use * e.g. PHPExcel_Settings::PDF_RENDERER_TCPDF, * PHPExcel_Settings::PDF_RENDERER_DOMPDF * or PHPExcel_Settings::PDF_RENDERER_MPDF */ public static function getPdfRendererName() { - return self::$_pdfRendererName; - } // function getPdfRendererName() + return self::$pdfRendererName; + } /** * Return the directory path to the PDF Rendering Library that PHPExcel is currently configured to use * * @return string|NULL Directory Path to the PDF Rendering Library that PHPExcel is - * currently configured to use + * currently configured to use */ public static function getPdfRendererPath() { - return self::$_pdfRendererPath; - } // function getPdfRendererPath() + return self::$pdfRendererPath; + } /** - * Set default options for libxml loader + * Set options for libxml loader * - * @param int $options Default options for libxml loader + * @param int $options Options for libxml loader */ public static function setLibXmlLoaderOptions($options = null) { - if (is_null($options) && defined(LIBXML_DTDLOAD)) { + if (is_null($options) && defined('LIBXML_DTDLOAD')) { $options = LIBXML_DTDLOAD | LIBXML_DTDATTR; } if (version_compare(PHP_VERSION, '5.2.11') >= 0) { - @libxml_disable_entity_loader($options == (LIBXML_DTDLOAD | LIBXML_DTDATTR)); + @libxml_disable_entity_loader((bool) $options); } - self::$_libXmlLoaderOptions = $options; - } // function setLibXmlLoaderOptions + self::$libXmlLoaderOptions = $options; + } /** - * Get default options for libxml loader. + * Get defined options for libxml loader. * Defaults to LIBXML_DTDLOAD | LIBXML_DTDATTR when not set explicitly. * * @return int Default options for libxml loader */ public static function getLibXmlLoaderOptions() { - if (is_null(self::$_libXmlLoaderOptions) && defined(LIBXML_DTDLOAD)) { + if (is_null(self::$libXmlLoaderOptions) && defined('LIBXML_DTDLOAD')) { self::setLibXmlLoaderOptions(LIBXML_DTDLOAD | LIBXML_DTDATTR); + } elseif (is_null(self::$libXmlLoaderOptions)) { + self::$libXmlLoaderOptions = true; } if (version_compare(PHP_VERSION, '5.2.11') >= 0) { - @libxml_disable_entity_loader(self::$_libXmlLoaderOptions == (LIBXML_DTDLOAD | LIBXML_DTDATTR)); + @libxml_disable_entity_loader((bool) self::$libXmlLoaderOptions); } - return self::$_libXmlLoaderOptions; - } // function getLibXmlLoaderOptions + return self::$libXmlLoaderOptions; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php index 89e2d19cf..b3e440e29 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/CodePage.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_CodePage * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,87 +21,136 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Shared_CodePage - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_CodePage { - /** - * Convert Microsoft Code Page Identifier to Code Page Name which iconv - * and mbstring understands - * - * @param integer $codePage Microsoft Code Page Indentifier - * @return string Code Page Name - * @throws PHPExcel_Exception - */ - public static function NumberToName($codePage = 1252) - { - switch ($codePage) { - case 367: return 'ASCII'; break; // ASCII - case 437: return 'CP437'; break; // OEM US - case 720: throw new PHPExcel_Exception('Code page 720 not supported.'); - break; // OEM Arabic - case 737: return 'CP737'; break; // OEM Greek - case 775: return 'CP775'; break; // OEM Baltic - case 850: return 'CP850'; break; // OEM Latin I - case 852: return 'CP852'; break; // OEM Latin II (Central European) - case 855: return 'CP855'; break; // OEM Cyrillic - case 857: return 'CP857'; break; // OEM Turkish - case 858: return 'CP858'; break; // OEM Multilingual Latin I with Euro - case 860: return 'CP860'; break; // OEM Portugese - case 861: return 'CP861'; break; // OEM Icelandic - case 862: return 'CP862'; break; // OEM Hebrew - case 863: return 'CP863'; break; // OEM Canadian (French) - case 864: return 'CP864'; break; // OEM Arabic - case 865: return 'CP865'; break; // OEM Nordic - case 866: return 'CP866'; break; // OEM Cyrillic (Russian) - case 869: return 'CP869'; break; // OEM Greek (Modern) - case 874: return 'CP874'; break; // ANSI Thai - case 932: return 'CP932'; break; // ANSI Japanese Shift-JIS - case 936: return 'CP936'; break; // ANSI Chinese Simplified GBK - case 949: return 'CP949'; break; // ANSI Korean (Wansung) - case 950: return 'CP950'; break; // ANSI Chinese Traditional BIG5 - case 1200: return 'UTF-16LE'; break; // UTF-16 (BIFF8) - case 1250: return 'CP1250'; break; // ANSI Latin II (Central European) - case 1251: return 'CP1251'; break; // ANSI Cyrillic - case 0: // CodePage is not always correctly set when the xls file was saved by Apple's Numbers program - case 1252: return 'CP1252'; break; // ANSI Latin I (BIFF4-BIFF7) - case 1253: return 'CP1253'; break; // ANSI Greek - case 1254: return 'CP1254'; break; // ANSI Turkish - case 1255: return 'CP1255'; break; // ANSI Hebrew - case 1256: return 'CP1256'; break; // ANSI Arabic - case 1257: return 'CP1257'; break; // ANSI Baltic - case 1258: return 'CP1258'; break; // ANSI Vietnamese - case 1361: return 'CP1361'; break; // ANSI Korean (Johab) - case 10000: return 'MAC'; break; // Apple Roman - case 10001: return 'CP932'; break; // Macintosh Japanese - case 10002: return 'CP950'; break; // Macintosh Chinese Traditional - case 10003: return 'CP1361'; break; // Macintosh Korean - case 10006: return 'MACGREEK'; break; // Macintosh Greek - case 10007: return 'MACCYRILLIC'; break; // Macintosh Cyrillic - case 10008: return 'CP936'; break; // Macintosh - Simplified Chinese (GB 2312) - case 10029: return 'MACCENTRALEUROPE'; break; // Macintosh Central Europe - case 10079: return 'MACICELAND'; break; // Macintosh Icelandic - case 10081: return 'MACTURKISH'; break; // Macintosh Turkish - case 21010: return 'UTF-16LE'; break; // UTF-16 (BIFF8) This isn't correct, but some Excel writer libraries erroneously use Codepage 21010 for UTF-16LE - case 32768: return 'MAC'; break; // Apple Roman - case 32769: throw new PHPExcel_Exception('Code page 32769 not supported.'); - break; // ANSI Latin I (BIFF2-BIFF3) - case 65000: return 'UTF-7'; break; // Unicode (UTF-7) - case 65001: return 'UTF-8'; break; // Unicode (UTF-8) - } - - throw new PHPExcel_Exception('Unknown codepage: ' . $codePage); - } - + /** + * Convert Microsoft Code Page Identifier to Code Page Name which iconv + * and mbstring understands + * + * @param integer $codePage Microsoft Code Page Indentifier + * @return string Code Page Name + * @throws PHPExcel_Exception + */ + public static function NumberToName($codePage = 1252) + { + switch ($codePage) { + case 367: + return 'ASCII'; // ASCII + case 437: + return 'CP437'; // OEM US + case 720: + throw new PHPExcel_Exception('Code page 720 not supported.'); // OEM Arabic + case 737: + return 'CP737'; // OEM Greek + case 775: + return 'CP775'; // OEM Baltic + case 850: + return 'CP850'; // OEM Latin I + case 852: + return 'CP852'; // OEM Latin II (Central European) + case 855: + return 'CP855'; // OEM Cyrillic + case 857: + return 'CP857'; // OEM Turkish + case 858: + return 'CP858'; // OEM Multilingual Latin I with Euro + case 860: + return 'CP860'; // OEM Portugese + case 861: + return 'CP861'; // OEM Icelandic + case 862: + return 'CP862'; // OEM Hebrew + case 863: + return 'CP863'; // OEM Canadian (French) + case 864: + return 'CP864'; // OEM Arabic + case 865: + return 'CP865'; // OEM Nordic + case 866: + return 'CP866'; // OEM Cyrillic (Russian) + case 869: + return 'CP869'; // OEM Greek (Modern) + case 874: + return 'CP874'; // ANSI Thai + case 932: + return 'CP932'; // ANSI Japanese Shift-JIS + case 936: + return 'CP936'; // ANSI Chinese Simplified GBK + case 949: + return 'CP949'; // ANSI Korean (Wansung) + case 950: + return 'CP950'; // ANSI Chinese Traditional BIG5 + case 1200: + return 'UTF-16LE'; // UTF-16 (BIFF8) + case 1250: + return 'CP1250'; // ANSI Latin II (Central European) + case 1251: + return 'CP1251'; // ANSI Cyrillic + case 0: + // CodePage is not always correctly set when the xls file was saved by Apple's Numbers program + case 1252: + return 'CP1252'; // ANSI Latin I (BIFF4-BIFF7) + case 1253: + return 'CP1253'; // ANSI Greek + case 1254: + return 'CP1254'; // ANSI Turkish + case 1255: + return 'CP1255'; // ANSI Hebrew + case 1256: + return 'CP1256'; // ANSI Arabic + case 1257: + return 'CP1257'; // ANSI Baltic + case 1258: + return 'CP1258'; // ANSI Vietnamese + case 1361: + return 'CP1361'; // ANSI Korean (Johab) + case 10000: + return 'MAC'; // Apple Roman + case 10001: + return 'CP932'; // Macintosh Japanese + case 10002: + return 'CP950'; // Macintosh Chinese Traditional + case 10003: + return 'CP1361'; // Macintosh Korean + case 10004: + return 'MACARABIC'; // Apple Arabic + case 10005: + return 'MACHEBREW'; // Apple Hebrew + case 10006: + return 'MACGREEK'; // Macintosh Greek + case 10007: + return 'MACCYRILLIC'; // Macintosh Cyrillic + case 10008: + return 'CP936'; // Macintosh - Simplified Chinese (GB 2312) + case 10010: + return 'MACROMANIA'; // Macintosh Romania + case 10017: + return 'MACUKRAINE'; // Macintosh Ukraine + case 10021: + return 'MACTHAI'; // Macintosh Thai + case 10029: + return 'MACCENTRALEUROPE'; // Macintosh Central Europe + case 10079: + return 'MACICELAND'; // Macintosh Icelandic + case 10081: + return 'MACTURKISH'; // Macintosh Turkish + case 10082: + return 'MACCROATIAN'; // Macintosh Croatian + case 21010: + return 'UTF-16LE'; // UTF-16 (BIFF8) This isn't correct, but some Excel writer libraries erroneously use Codepage 21010 for UTF-16LE + case 32768: + return 'MAC'; // Apple Roman + case 32769: + throw new PHPExcel_Exception('Code page 32769 not supported.'); // ANSI Latin I (BIFF2-BIFF3) + case 65000: + return 'UTF-7'; // Unicode (UTF-7) + case 65001: + return 'UTF-8'; // Unicode (UTF-8) + } + throw new PHPExcel_Exception('Unknown codepage: ' . $codePage); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php index 75f367eac..b00a39a3d 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Date.php @@ -1,9 +1,9 @@ <?php /** - * PHPExcel + * PHPExcel_Shared_Date * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,360 +20,379 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Shared_Date - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Shared_Date { - /** constants */ - const CALENDAR_WINDOWS_1900 = 1900; // Base date of 1st Jan 1900 = 1.0 - const CALENDAR_MAC_1904 = 1904; // Base date of 2nd Jan 1904 = 1.0 + /** constants */ + const CALENDAR_WINDOWS_1900 = 1900; // Base date of 1st Jan 1900 = 1.0 + const CALENDAR_MAC_1904 = 1904; // Base date of 2nd Jan 1904 = 1.0 - /* - * Names of the months of the year, indexed by shortname - * Planned usage for locale settings - * - * @public - * @var string[] - */ - public static $_monthNames = array( 'Jan' => 'January', - 'Feb' => 'February', - 'Mar' => 'March', - 'Apr' => 'April', - 'May' => 'May', - 'Jun' => 'June', - 'Jul' => 'July', - 'Aug' => 'August', - 'Sep' => 'September', - 'Oct' => 'October', - 'Nov' => 'November', - 'Dec' => 'December', - ); + /* + * Names of the months of the year, indexed by shortname + * Planned usage for locale settings + * + * @public + * @var string[] + */ + public static $monthNames = array( + 'Jan' => 'January', + 'Feb' => 'February', + 'Mar' => 'March', + 'Apr' => 'April', + 'May' => 'May', + 'Jun' => 'June', + 'Jul' => 'July', + 'Aug' => 'August', + 'Sep' => 'September', + 'Oct' => 'October', + 'Nov' => 'November', + 'Dec' => 'December', + ); - /* - * Names of the months of the year, indexed by shortname - * Planned usage for locale settings - * - * @public - * @var string[] - */ - public static $_numberSuffixes = array( 'st', - 'nd', - 'rd', - 'th', - ); + /* + * Names of the months of the year, indexed by shortname + * Planned usage for locale settings + * + * @public + * @var string[] + */ + public static $numberSuffixes = array( + 'st', + 'nd', + 'rd', + 'th', + ); - /* - * Base calendar year to use for calculations - * - * @private - * @var int - */ - protected static $_excelBaseDate = self::CALENDAR_WINDOWS_1900; + /* + * Base calendar year to use for calculations + * + * @private + * @var int + */ + protected static $excelBaseDate = self::CALENDAR_WINDOWS_1900; - /** - * Set the Excel calendar (Windows 1900 or Mac 1904) - * - * @param integer $baseDate Excel base date (1900 or 1904) - * @return boolean Success or failure - */ - public static function setExcelCalendar($baseDate) { - if (($baseDate == self::CALENDAR_WINDOWS_1900) || - ($baseDate == self::CALENDAR_MAC_1904)) { - self::$_excelBaseDate = $baseDate; - return TRUE; - } - return FALSE; - } // function setExcelCalendar() + /** + * Set the Excel calendar (Windows 1900 or Mac 1904) + * + * @param integer $baseDate Excel base date (1900 or 1904) + * @return boolean Success or failure + */ + public static function setExcelCalendar($baseDate) + { + if (($baseDate == self::CALENDAR_WINDOWS_1900) || + ($baseDate == self::CALENDAR_MAC_1904)) { + self::$excelBaseDate = $baseDate; + return true; + } + return false; + } - /** - * Return the Excel calendar (Windows 1900 or Mac 1904) - * - * @return integer Excel base date (1900 or 1904) - */ - public static function getExcelCalendar() { - return self::$_excelBaseDate; - } // function getExcelCalendar() + /** + * Return the Excel calendar (Windows 1900 or Mac 1904) + * + * @return integer Excel base date (1900 or 1904) + */ + public static function getExcelCalendar() + { + return self::$excelBaseDate; + } - /** - * Convert a date from Excel to PHP - * - * @param long $dateValue Excel date/time value - * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as - * a UST timestamp, or adjusted to UST - * @param string $timezone The timezone for finding the adjustment from UST - * @return long PHP serialized date/time - */ - public static function ExcelToPHP($dateValue = 0, $adjustToTimezone = FALSE, $timezone = NULL) { - if (self::$_excelBaseDate == self::CALENDAR_WINDOWS_1900) { - $my_excelBaseDate = 25569; - // Adjust for the spurious 29-Feb-1900 (Day 60) - if ($dateValue < 60) { - --$my_excelBaseDate; - } - } else { - $my_excelBaseDate = 24107; - } + /** + * Convert a date from Excel to PHP + * + * @param integer $dateValue Excel date/time value + * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as + * a UST timestamp, or adjusted to UST + * @param string $timezone The timezone for finding the adjustment from UST + * @return integer PHP serialized date/time + */ + public static function ExcelToPHP($dateValue = 0, $adjustToTimezone = false, $timezone = null) + { + if (self::$excelBaseDate == self::CALENDAR_WINDOWS_1900) { + $myexcelBaseDate = 25569; + // Adjust for the spurious 29-Feb-1900 (Day 60) + if ($dateValue < 60) { + --$myexcelBaseDate; + } + } else { + $myexcelBaseDate = 24107; + } - // Perform conversion - if ($dateValue >= 1) { - $utcDays = $dateValue - $my_excelBaseDate; - $returnValue = round($utcDays * 86400); - if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) { - $returnValue = (integer) $returnValue; - } - } else { - $hours = round($dateValue * 24); - $mins = round($dateValue * 1440) - round($hours * 60); - $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60); - $returnValue = (integer) gmmktime($hours, $mins, $secs); - } + // Perform conversion + if ($dateValue >= 1) { + $utcDays = $dateValue - $myexcelBaseDate; + $returnValue = round($utcDays * 86400); + if (($returnValue <= PHP_INT_MAX) && ($returnValue >= -PHP_INT_MAX)) { + $returnValue = (integer) $returnValue; + } + } else { + $hours = round($dateValue * 24); + $mins = round($dateValue * 1440) - round($hours * 60); + $secs = round($dateValue * 86400) - round($hours * 3600) - round($mins * 60); + $returnValue = (integer) gmmktime($hours, $mins, $secs); + } - $timezoneAdjustment = ($adjustToTimezone) ? - PHPExcel_Shared_TimeZone::getTimezoneAdjustment($timezone, $returnValue) : - 0; + $timezoneAdjustment = ($adjustToTimezone) ? + PHPExcel_Shared_TimeZone::getTimezoneAdjustment($timezone, $returnValue) : + 0; - // Return - return $returnValue + $timezoneAdjustment; - } // function ExcelToPHP() + return $returnValue + $timezoneAdjustment; + } - /** - * Convert a date from Excel to a PHP Date/Time object - * - * @param integer $dateValue Excel date/time value - * @return DateTime PHP date/time object - */ - public static function ExcelToPHPObject($dateValue = 0) { - $dateTime = self::ExcelToPHP($dateValue); - $days = floor($dateTime / 86400); - $time = round((($dateTime / 86400) - $days) * 86400); - $hours = round($time / 3600); - $minutes = round($time / 60) - ($hours * 60); - $seconds = round($time) - ($hours * 3600) - ($minutes * 60); + /** + * Convert a date from Excel to a PHP Date/Time object + * + * @param integer $dateValue Excel date/time value + * @return DateTime PHP date/time object + */ + public static function ExcelToPHPObject($dateValue = 0) + { + $dateTime = self::ExcelToPHP($dateValue); + $days = floor($dateTime / 86400); + $time = round((($dateTime / 86400) - $days) * 86400); + $hours = round($time / 3600); + $minutes = round($time / 60) - ($hours * 60); + $seconds = round($time) - ($hours * 3600) - ($minutes * 60); - $dateObj = date_create('1-Jan-1970+'.$days.' days'); - $dateObj->setTime($hours,$minutes,$seconds); + $dateObj = date_create('1-Jan-1970+'.$days.' days'); + $dateObj->setTime($hours, $minutes, $seconds); - return $dateObj; - } // function ExcelToPHPObject() + return $dateObj; + } - /** - * Convert a date from PHP to Excel - * - * @param mixed $dateValue PHP serialized date/time or date object - * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as - * a UST timestamp, or adjusted to UST - * @param string $timezone The timezone for finding the adjustment from UST - * @return mixed Excel date/time value - * or boolean FALSE on failure - */ - public static function PHPToExcel($dateValue = 0, $adjustToTimezone = FALSE, $timezone = NULL) { - $saveTimeZone = date_default_timezone_get(); - date_default_timezone_set('UTC'); - $retValue = FALSE; - if ((is_object($dateValue)) && ($dateValue instanceof DateTime)) { - $retValue = self::FormattedPHPToExcel( $dateValue->format('Y'), $dateValue->format('m'), $dateValue->format('d'), - $dateValue->format('H'), $dateValue->format('i'), $dateValue->format('s') - ); - } elseif (is_numeric($dateValue)) { - $retValue = self::FormattedPHPToExcel( date('Y',$dateValue), date('m',$dateValue), date('d',$dateValue), - date('H',$dateValue), date('i',$dateValue), date('s',$dateValue) - ); - } - date_default_timezone_set($saveTimeZone); + /** + * Convert a date from PHP to Excel + * + * @param mixed $dateValue PHP serialized date/time or date object + * @param boolean $adjustToTimezone Flag indicating whether $dateValue should be treated as + * a UST timestamp, or adjusted to UST + * @param string $timezone The timezone for finding the adjustment from UST + * @return mixed Excel date/time value + * or boolean FALSE on failure + */ + public static function PHPToExcel($dateValue = 0, $adjustToTimezone = false, $timezone = null) + { + $saveTimeZone = date_default_timezone_get(); + date_default_timezone_set('UTC'); - return $retValue; - } // function PHPToExcel() + $timezoneAdjustment = ($adjustToTimezone) ? + PHPExcel_Shared_TimeZone::getTimezoneAdjustment($timezone ? $timezone : $saveTimeZone, $dateValue) : + 0; + + $retValue = false; + if ((is_object($dateValue)) && ($dateValue instanceof DateTime)) { + $dateValue->add(new DateInterval('PT' . $timezoneAdjustment . 'S')); + $retValue = self::FormattedPHPToExcel($dateValue->format('Y'), $dateValue->format('m'), $dateValue->format('d'), $dateValue->format('H'), $dateValue->format('i'), $dateValue->format('s')); + } elseif (is_numeric($dateValue)) { + $dateValue += $timezoneAdjustment; + $retValue = self::FormattedPHPToExcel(date('Y', $dateValue), date('m', $dateValue), date('d', $dateValue), date('H', $dateValue), date('i', $dateValue), date('s', $dateValue)); + } elseif (is_string($dateValue)) { + $retValue = self::stringToExcel($dateValue); + } + date_default_timezone_set($saveTimeZone); + + return $retValue; + } - /** - * FormattedPHPToExcel - * - * @param long $year - * @param long $month - * @param long $day - * @param long $hours - * @param long $minutes - * @param long $seconds - * @return long Excel date/time value - */ - public static function FormattedPHPToExcel($year, $month, $day, $hours=0, $minutes=0, $seconds=0) { - if (self::$_excelBaseDate == self::CALENDAR_WINDOWS_1900) { - // - // Fudge factor for the erroneous fact that the year 1900 is treated as a Leap Year in MS Excel - // This affects every date following 28th February 1900 - // - $excel1900isLeapYear = TRUE; - if (($year == 1900) && ($month <= 2)) { $excel1900isLeapYear = FALSE; } - $my_excelBaseDate = 2415020; - } else { - $my_excelBaseDate = 2416481; - $excel1900isLeapYear = FALSE; - } + /** + * FormattedPHPToExcel + * + * @param integer $year + * @param integer $month + * @param integer $day + * @param integer $hours + * @param integer $minutes + * @param integer $seconds + * @return integer Excel date/time value + */ + public static function FormattedPHPToExcel($year, $month, $day, $hours = 0, $minutes = 0, $seconds = 0) + { + if (self::$excelBaseDate == self::CALENDAR_WINDOWS_1900) { + // + // Fudge factor for the erroneous fact that the year 1900 is treated as a Leap Year in MS Excel + // This affects every date following 28th February 1900 + // + $excel1900isLeapYear = true; + if (($year == 1900) && ($month <= 2)) { + $excel1900isLeapYear = false; + } + $myexcelBaseDate = 2415020; + } else { + $myexcelBaseDate = 2416481; + $excel1900isLeapYear = false; + } - // Julian base date Adjustment - if ($month > 2) { - $month -= 3; - } else { - $month += 9; - --$year; - } + // Julian base date Adjustment + if ($month > 2) { + $month -= 3; + } else { + $month += 9; + --$year; + } - // Calculate the Julian Date, then subtract the Excel base date (JD 2415020 = 31-Dec-1899 Giving Excel Date of 0) - $century = substr($year,0,2); - $decade = substr($year,2,2); - $excelDate = floor((146097 * $century) / 4) + floor((1461 * $decade) / 4) + floor((153 * $month + 2) / 5) + $day + 1721119 - $my_excelBaseDate + $excel1900isLeapYear; + // Calculate the Julian Date, then subtract the Excel base date (JD 2415020 = 31-Dec-1899 Giving Excel Date of 0) + $century = substr($year, 0, 2); + $decade = substr($year, 2, 2); + $excelDate = floor((146097 * $century) / 4) + floor((1461 * $decade) / 4) + floor((153 * $month + 2) / 5) + $day + 1721119 - $myexcelBaseDate + $excel1900isLeapYear; - $excelTime = (($hours * 3600) + ($minutes * 60) + $seconds) / 86400; + $excelTime = (($hours * 3600) + ($minutes * 60) + $seconds) / 86400; - return (float) $excelDate + $excelTime; - } // function FormattedPHPToExcel() + return (float) $excelDate + $excelTime; + } - /** - * Is a given cell a date/time? - * - * @param PHPExcel_Cell $pCell - * @return boolean - */ - public static function isDateTime(PHPExcel_Cell $pCell) { - return self::isDateTimeFormat( - $pCell->getWorksheet()->getStyle( - $pCell->getCoordinate() - )->getNumberFormat() - ); - } // function isDateTime() + /** + * Is a given cell a date/time? + * + * @param PHPExcel_Cell $pCell + * @return boolean + */ + public static function isDateTime(PHPExcel_Cell $pCell) + { + return self::isDateTimeFormat( + $pCell->getWorksheet()->getStyle( + $pCell->getCoordinate() + )->getNumberFormat() + ); + } - /** - * Is a given number format a date/time? - * - * @param PHPExcel_Style_NumberFormat $pFormat - * @return boolean - */ - public static function isDateTimeFormat(PHPExcel_Style_NumberFormat $pFormat) { - return self::isDateTimeFormatCode($pFormat->getFormatCode()); - } // function isDateTimeFormat() + /** + * Is a given number format a date/time? + * + * @param PHPExcel_Style_NumberFormat $pFormat + * @return boolean + */ + public static function isDateTimeFormat(PHPExcel_Style_NumberFormat $pFormat) + { + return self::isDateTimeFormatCode($pFormat->getFormatCode()); + } - private static $possibleDateFormatCharacters = 'eymdHs'; + private static $possibleDateFormatCharacters = 'eymdHs'; - /** - * Is a given number format code a date/time? - * - * @param string $pFormatCode - * @return boolean - */ - public static function isDateTimeFormatCode($pFormatCode = '') { - if (strtolower($pFormatCode) === strtolower(PHPExcel_Style_NumberFormat::FORMAT_GENERAL)) - // "General" contains an epoch letter 'e', so we trap for it explicitly here (case-insensitive check) - return FALSE; - if (preg_match('/[0#]E[+-]0/i', $pFormatCode)) - // Scientific format - return FALSE; - // Switch on formatcode - switch ($pFormatCode) { - // Explicitly defined date formats - case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYSLASH: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYMINUS: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMMINUS: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_MYMINUS: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME2: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME5: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME6: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME7: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME8: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX16: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX17: - case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22: - return TRUE; - } + /** + * Is a given number format code a date/time? + * + * @param string $pFormatCode + * @return boolean + */ + public static function isDateTimeFormatCode($pFormatCode = '') + { + if (strtolower($pFormatCode) === strtolower(PHPExcel_Style_NumberFormat::FORMAT_GENERAL)) { + // "General" contains an epoch letter 'e', so we trap for it explicitly here (case-insensitive check) + return false; + } + if (preg_match('/[0#]E[+-]0/i', $pFormatCode)) { + // Scientific format + return false; + } - // Typically number, currency or accounting (or occasionally fraction) formats - if ((substr($pFormatCode,0,1) == '_') || (substr($pFormatCode,0,2) == '0 ')) { - return FALSE; - } - // Try checking for any of the date formatting characters that don't appear within square braces - if (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i',$pFormatCode)) { - // We might also have a format mask containing quoted strings... - // we don't want to test for any of our characters within the quoted blocks - if (strpos($pFormatCode,'"') !== FALSE) { - $segMatcher = FALSE; - foreach(explode('"',$pFormatCode) as $subVal) { - // Only test in alternate array entries (the non-quoted blocks) - if (($segMatcher = !$segMatcher) && - (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i',$subVal))) { - return TRUE; - } - } - return FALSE; - } - return TRUE; - } + // Switch on formatcode + switch ($pFormatCode) { + // Explicitly defined date formats + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYSLASH: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMYMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DMMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_MYMINUS: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME1: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME2: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME3: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME5: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME6: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME7: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME8: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX14: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX15: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX16: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX17: + case PHPExcel_Style_NumberFormat::FORMAT_DATE_XLSX22: + return true; + } - // No date... - return FALSE; - } // function isDateTimeFormatCode() + // Typically number, currency or accounting (or occasionally fraction) formats + if ((substr($pFormatCode, 0, 1) == '_') || (substr($pFormatCode, 0, 2) == '0 ')) { + return false; + } + // Try checking for any of the date formatting characters that don't appear within square braces + if (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i', $pFormatCode)) { + // We might also have a format mask containing quoted strings... + // we don't want to test for any of our characters within the quoted blocks + if (strpos($pFormatCode, '"') !== false) { + $segMatcher = false; + foreach (explode('"', $pFormatCode) as $subVal) { + // Only test in alternate array entries (the non-quoted blocks) + if (($segMatcher = !$segMatcher) && + (preg_match('/(^|\])[^\[]*['.self::$possibleDateFormatCharacters.']/i', $subVal))) { + return true; + } + } + return false; + } + return true; + } + + // No date... + return false; + } - /** - * Convert a date/time string to Excel time - * - * @param string $dateValue Examples: '2009-12-31', '2009-12-31 15:59', '2009-12-31 15:59:10' - * @return float|FALSE Excel date/time serial value - */ - public static function stringToExcel($dateValue = '') { - if (strlen($dateValue) < 2) - return FALSE; - if (!preg_match('/^(\d{1,4}[ \.\/\-][A-Z]{3,9}([ \.\/\-]\d{1,4})?|[A-Z]{3,9}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?|\d{1,4}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?)( \d{1,2}:\d{1,2}(:\d{1,2})?)?$/iu', $dateValue)) - return FALSE; + /** + * Convert a date/time string to Excel time + * + * @param string $dateValue Examples: '2009-12-31', '2009-12-31 15:59', '2009-12-31 15:59:10' + * @return float|FALSE Excel date/time serial value + */ + public static function stringToExcel($dateValue = '') + { + if (strlen($dateValue) < 2) { + return false; + } + if (!preg_match('/^(\d{1,4}[ \.\/\-][A-Z]{3,9}([ \.\/\-]\d{1,4})?|[A-Z]{3,9}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?|\d{1,4}[ \.\/\-]\d{1,4}([ \.\/\-]\d{1,4})?)( \d{1,2}:\d{1,2}(:\d{1,2})?)?$/iu', $dateValue)) { + return false; + } - $dateValueNew = PHPExcel_Calculation_DateTime::DATEVALUE($dateValue); + $dateValueNew = PHPExcel_Calculation_DateTime::DATEVALUE($dateValue); - if ($dateValueNew === PHPExcel_Calculation_Functions::VALUE()) { - return FALSE; - } else { - if (strpos($dateValue, ':') !== FALSE) { - $timeValue = PHPExcel_Calculation_DateTime::TIMEVALUE($dateValue); - if ($timeValue === PHPExcel_Calculation_Functions::VALUE()) { - return FALSE; - } - $dateValueNew += $timeValue; - } - return $dateValueNew; - } + if ($dateValueNew === PHPExcel_Calculation_Functions::VALUE()) { + return false; + } + if (strpos($dateValue, ':') !== false) { + $timeValue = PHPExcel_Calculation_DateTime::TIMEVALUE($dateValue); + if ($timeValue === PHPExcel_Calculation_Functions::VALUE()) { + return false; + } + $dateValueNew += $timeValue; + } + return $dateValueNew; + } - } - - public static function monthStringToNumber($month) { + /** + * Converts a month name (either a long or a short name) to a month number + * + * @param string $month Month name or abbreviation + * @return integer|string Month number (1 - 12), or the original string argument if it isn't a valid month name + */ + public static function monthStringToNumber($month) + { $monthIndex = 1; - foreach(self::$_monthNames as $shortMonthName => $longMonthName) { + foreach (self::$monthNames as $shortMonthName => $longMonthName) { if (($month === $longMonthName) || ($month === $shortMonthName)) { return $monthIndex; } @@ -382,12 +401,18 @@ class PHPExcel_Shared_Date return $month; } - public static function dayStringToNumber($day) { - $strippedDayValue = (str_replace(self::$_numberSuffixes,'',$day)); - if (is_numeric($strippedDayValue)) { - return $strippedDayValue; - } - return $day; + /** + * Strips an ordinal froma numeric value + * + * @param string $day Day number with an ordinal + * @return integer|string The integer value with any ordinal stripped, or the original string argument if it isn't a valid numeric + */ + public static function dayStringToNumber($day) + { + $strippedDayValue = (str_replace(self::$numberSuffixes, '', $day)); + if (is_numeric($strippedDayValue)) { + return (integer) $strippedDayValue; + } + return $day; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php index dbff74abc..3e027b4ad 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Drawing.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,242 +31,240 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Shared_Drawing { - /** - * Convert pixels to EMU - * - * @param int $pValue Value in pixels - * @return int Value in EMU - */ - public static function pixelsToEMU($pValue = 0) { - return round($pValue * 9525); - } + /** + * Convert pixels to EMU + * + * @param int $pValue Value in pixels + * @return int Value in EMU + */ + public static function pixelsToEMU($pValue = 0) + { + return round($pValue * 9525); + } - /** - * Convert EMU to pixels - * - * @param int $pValue Value in EMU - * @return int Value in pixels - */ - public static function EMUToPixels($pValue = 0) { - if ($pValue != 0) { - return round($pValue / 9525); - } else { - return 0; - } - } + /** + * Convert EMU to pixels + * + * @param int $pValue Value in EMU + * @return int Value in pixels + */ + public static function EMUToPixels($pValue = 0) + { + if ($pValue != 0) { + return round($pValue / 9525); + } else { + return 0; + } + } - /** - * Convert pixels to column width. Exact algorithm not known. - * By inspection of a real Excel file using Calibri 11, one finds 1000px ~ 142.85546875 - * This gives a conversion factor of 7. Also, we assume that pixels and font size are proportional. - * - * @param int $pValue Value in pixels - * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook - * @return int Value in cell dimension - */ - public static function pixelsToCellDimension($pValue = 0, PHPExcel_Style_Font $pDefaultFont) { - // Font name and size - $name = $pDefaultFont->getName(); - $size = $pDefaultFont->getSize(); + /** + * Convert pixels to column width. Exact algorithm not known. + * By inspection of a real Excel file using Calibri 11, one finds 1000px ~ 142.85546875 + * This gives a conversion factor of 7. Also, we assume that pixels and font size are proportional. + * + * @param int $pValue Value in pixels + * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook + * @return int Value in cell dimension + */ + public static function pixelsToCellDimension($pValue = 0, PHPExcel_Style_Font $pDefaultFont) + { + // Font name and size + $name = $pDefaultFont->getName(); + $size = $pDefaultFont->getSize(); - if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { - // Exact width can be determined - $colWidth = $pValue - * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width'] - / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px']; - } else { - // We don't have data for this particular font and size, use approximation by - // extrapolating from Calibri 11 - $colWidth = $pValue * 11 - * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] - / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / $size; - } + if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { + // Exact width can be determined + $colWidth = $pValue * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width'] / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px']; + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $colWidth = $pValue * 11 * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / $size; + } - return $colWidth; - } + return $colWidth; + } - /** - * Convert column width from (intrinsic) Excel units to pixels - * - * @param float $pValue Value in cell dimension - * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook - * @return int Value in pixels - */ - public static function cellDimensionToPixels($pValue = 0, PHPExcel_Style_Font $pDefaultFont) { - // Font name and size - $name = $pDefaultFont->getName(); - $size = $pDefaultFont->getSize(); + /** + * Convert column width from (intrinsic) Excel units to pixels + * + * @param float $pValue Value in cell dimension + * @param PHPExcel_Style_Font $pDefaultFont Default font of the workbook + * @return int Value in pixels + */ + public static function cellDimensionToPixels($pValue = 0, PHPExcel_Style_Font $pDefaultFont) + { + // Font name and size + $name = $pDefaultFont->getName(); + $size = $pDefaultFont->getSize(); - if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { - // Exact width can be determined - $colWidth = $pValue - * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px'] - / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width']; + if (isset(PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size])) { + // Exact width can be determined + $colWidth = $pValue * PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['px'] / PHPExcel_Shared_Font::$defaultColumnWidths[$name][$size]['width']; + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $colWidth = $pValue * $size * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / 11; + } - } else { - // We don't have data for this particular font and size, use approximation by - // extrapolating from Calibri 11 - $colWidth = $pValue * $size - * PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['px'] - / PHPExcel_Shared_Font::$defaultColumnWidths['Calibri'][11]['width'] / 11; - } + // Round pixels to closest integer + $colWidth = (int) round($colWidth); - // Round pixels to closest integer - $colWidth = (int) round($colWidth); + return $colWidth; + } - return $colWidth; - } + /** + * Convert pixels to points + * + * @param int $pValue Value in pixels + * @return int Value in points + */ + public static function pixelsToPoints($pValue = 0) + { + return $pValue * 0.67777777; + } - /** - * Convert pixels to points - * - * @param int $pValue Value in pixels - * @return int Value in points - */ - public static function pixelsToPoints($pValue = 0) { - return $pValue * 0.67777777; - } + /** + * Convert points to pixels + * + * @param int $pValue Value in points + * @return int Value in pixels + */ + public static function pointsToPixels($pValue = 0) + { + if ($pValue != 0) { + return (int) ceil($pValue * 1.333333333); + } else { + return 0; + } + } - /** - * Convert points to pixels - * - * @param int $pValue Value in points - * @return int Value in pixels - */ - public static function pointsToPixels($pValue = 0) { - if ($pValue != 0) { - return (int) ceil($pValue * 1.333333333); - } else { - return 0; - } - } + /** + * Convert degrees to angle + * + * @param int $pValue Degrees + * @return int Angle + */ + public static function degreesToAngle($pValue = 0) + { + return (int)round($pValue * 60000); + } - /** - * Convert degrees to angle - * - * @param int $pValue Degrees - * @return int Angle - */ - public static function degreesToAngle($pValue = 0) { - return (int)round($pValue * 60000); - } + /** + * Convert angle to degrees + * + * @param int $pValue Angle + * @return int Degrees + */ + public static function angleToDegrees($pValue = 0) + { + if ($pValue != 0) { + return round($pValue / 60000); + } else { + return 0; + } + } - /** - * Convert angle to degrees - * - * @param int $pValue Angle - * @return int Degrees - */ - public static function angleToDegrees($pValue = 0) { - if ($pValue != 0) { - return round($pValue / 60000); - } else { - return 0; - } - } - - /** - * Create a new image from file. By alexander at alexauto dot nl - * - * @link http://www.php.net/manual/en/function.imagecreatefromwbmp.php#86214 - * @param string $filename Path to Windows DIB (BMP) image - * @return resource - */ - public static function imagecreatefrombmp($p_sFile) - { + /** + * Create a new image from file. By alexander at alexauto dot nl + * + * @link http://www.php.net/manual/en/function.imagecreatefromwbmp.php#86214 + * @param string $filename Path to Windows DIB (BMP) image + * @return resource + */ + public static function imagecreatefrombmp($p_sFile) + { // Load the image into a string - $file = fopen($p_sFile,"rb"); - $read = fread($file,10); - while(!feof($file)&&($read<>"")) - $read .= fread($file,1024); + $file = fopen($p_sFile, "rb"); + $read = fread($file, 10); + while (!feof($file) && ($read<>"")) { + $read .= fread($file, 1024); + } - $temp = unpack("H*",$read); - $hex = $temp[1]; - $header = substr($hex,0,108); + $temp = unpack("H*", $read); + $hex = $temp[1]; + $header = substr($hex, 0, 108); // Process the header // Structure: http://www.fastgraph.com/help/bmp_header_format.html - if (substr($header,0,4)=="424d") - { + if (substr($header, 0, 4)=="424d") { // Cut it in parts of 2 bytes - $header_parts = str_split($header,2); + $header_parts = str_split($header, 2); // Get the width 4 bytes - $width = hexdec($header_parts[19].$header_parts[18]); + $width = hexdec($header_parts[19].$header_parts[18]); // Get the height 4 bytes - $height = hexdec($header_parts[23].$header_parts[22]); + $height = hexdec($header_parts[23].$header_parts[22]); // Unset the header params unset($header_parts); } // Define starting X and Y - $x = 0; - $y = 1; + $x = 0; + $y = 1; // Create newimage - $image = imagecreatetruecolor($width,$height); + $image = imagecreatetruecolor($width, $height); // Grab the body from the image - $body = substr($hex,108); + $body = substr($hex, 108); // Calculate if padding at the end-line is needed // Divided by two to keep overview. // 1 byte = 2 HEX-chars - $body_size = (strlen($body)/2); - $header_size = ($width*$height); + $body_size = (strlen($body)/2); + $header_size = ($width*$height); // Use end-line padding? Only when needed - $usePadding = ($body_size>($header_size*3)+4); + $usePadding = ($body_size>($header_size*3)+4); // Using a for-loop with index-calculation instaid of str_split to avoid large memory consumption // Calculate the next DWORD-position in the body - for ($i=0;$i<$body_size;$i+=3) - { + for ($i = 0; $i < $body_size; $i += 3) { // Calculate line-ending and padding - if ($x>=$width) - { - // If padding needed, ignore image-padding - // Shift i to the ending of the current 32-bit-block - if ($usePadding) - $i += $width%4; + if ($x >= $width) { + // If padding needed, ignore image-padding + // Shift i to the ending of the current 32-bit-block + if ($usePadding) { + $i += $width%4; + } // Reset horizontal position - $x = 0; + $x = 0; // Raise the height-position (bottom-up) $y++; // Reached the image-height? Break the for-loop - if ($y>$height) + if ($y > $height) { break; + } } - // Calculation of the RGB-pixel (defined as BGR in image-data) - // Define $i_pos as absolute position in the body - $i_pos = $i*2; - $r = hexdec($body[$i_pos+4].$body[$i_pos+5]); - $g = hexdec($body[$i_pos+2].$body[$i_pos+3]); - $b = hexdec($body[$i_pos].$body[$i_pos+1]); + // Calculation of the RGB-pixel (defined as BGR in image-data) + // Define $i_pos as absolute position in the body + $i_pos = $i * 2; + $r = hexdec($body[$i_pos+4].$body[$i_pos+5]); + $g = hexdec($body[$i_pos+2].$body[$i_pos+3]); + $b = hexdec($body[$i_pos].$body[$i_pos+1]); - // Calculate and draw the pixel - $color = imagecolorallocate($image,$r,$g,$b); - imagesetpixel($image,$x,$height-$y,$color); + // Calculate and draw the pixel + $color = imagecolorallocate($image, $r, $g, $b); + imagesetpixel($image, $x, $height-$y, $color); - // Raise the horizontal position + // Raise the horizontal position $x++; } - // Unset the body / free the memory + // Unset the body / free the memory unset($body); // Return image-object return $image; - } - + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php index ddf68c65b..1aedb9d2a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,72 +21,63 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher { - /** - * Drawing Group Container - * - * @var PHPExcel_Shared_Escher_DggContainer - */ - private $_dggContainer; + /** + * Drawing Group Container + * + * @var PHPExcel_Shared_Escher_DggContainer + */ + private $dggContainer; - /** - * Drawing Container - * - * @var PHPExcel_Shared_Escher_DgContainer - */ - private $_dgContainer; + /** + * Drawing Container + * + * @var PHPExcel_Shared_Escher_DgContainer + */ + private $dgContainer; - /** - * Get Drawing Group Container - * - * @return PHPExcel_Shared_Escher_DgContainer - */ - public function getDggContainer() - { - return $this->_dggContainer; - } + /** + * Get Drawing Group Container + * + * @return PHPExcel_Shared_Escher_DgContainer + */ + public function getDggContainer() + { + return $this->dggContainer; + } - /** - * Set Drawing Group Container - * - * @param PHPExcel_Shared_Escher_DggContainer $dggContainer - */ - public function setDggContainer($dggContainer) - { - return $this->_dggContainer = $dggContainer; - } + /** + * Set Drawing Group Container + * + * @param PHPExcel_Shared_Escher_DggContainer $dggContainer + */ + public function setDggContainer($dggContainer) + { + return $this->dggContainer = $dggContainer; + } - /** - * Get Drawing Container - * - * @return PHPExcel_Shared_Escher_DgContainer - */ - public function getDgContainer() - { - return $this->_dgContainer; - } - - /** - * Set Drawing Container - * - * @param PHPExcel_Shared_Escher_DgContainer $dgContainer - */ - public function setDgContainer($dgContainer) - { - return $this->_dgContainer = $dgContainer; - } + /** + * Get Drawing Container + * + * @return PHPExcel_Shared_Escher_DgContainer + */ + public function getDgContainer() + { + return $this->dgContainer; + } + /** + * Set Drawing Container + * + * @param PHPExcel_Shared_Escher_DgContainer $dgContainer + */ + public function setDgContainer($dgContainer) + { + return $this->dgContainer = $dgContainer; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php index cb826db10..739cd9024 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DgContainer * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,64 +21,55 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DgContainer - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DgContainer { - /** - * Drawing index, 1-based. - * - * @var int - */ - private $_dgId; + /** + * Drawing index, 1-based. + * + * @var int + */ + private $dgId; - /** - * Last shape index in this drawing - * - * @var int - */ - private $_lastSpId; + /** + * Last shape index in this drawing + * + * @var int + */ + private $lastSpId; - private $_spgrContainer = null; + private $spgrContainer = null; - public function getDgId() - { - return $this->_dgId; - } + public function getDgId() + { + return $this->dgId; + } - public function setDgId($value) - { - $this->_dgId = $value; - } + public function setDgId($value) + { + $this->dgId = $value; + } - public function getLastSpId() - { - return $this->_lastSpId; - } + public function getLastSpId() + { + return $this->lastSpId; + } - public function setLastSpId($value) - { - $this->_lastSpId = $value; - } + public function setLastSpId($value) + { + $this->lastSpId = $value; + } - public function getSpgrContainer() - { - return $this->_spgrContainer; - } - - public function setSpgrContainer($spgrContainer) - { - return $this->_spgrContainer = $spgrContainer; - } + public function getSpgrContainer() + { + return $this->spgrContainer; + } + public function setSpgrContainer($spgrContainer) + { + return $this->spgrContainer = $spgrContainer; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php index b8ad8eafd..49e7d6856 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DgContainer_SpgrContainer * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,90 +21,82 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DgContainer_SpgrContainer - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer { - /** - * Parent Shape Group Container - * - * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer - */ - private $_parent; + /** + * Parent Shape Group Container + * + * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + private $parent; - /** - * Shape Container collection - * - * @var array - */ - private $_children = array(); + /** + * Shape Container collection + * + * @var array + */ + private $children = array(); - /** - * Set parent Shape Group Container - * - * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent - */ - public function setParent($parent) - { - $this->_parent = $parent; - } + /** + * Set parent Shape Group Container + * + * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent + */ + public function setParent($parent) + { + $this->parent = $parent; + } - /** - * Get the parent Shape Group Container if any - * - * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer|null - */ - public function getParent() - { - return $this->_parent; - } + /** + * Get the parent Shape Group Container if any + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer|null + */ + public function getParent() + { + return $this->parent; + } - /** - * Add a child. This will be either spgrContainer or spContainer - * - * @param mixed $child - */ - public function addChild($child) - { - $this->_children[] = $child; - $child->setParent($this); - } + /** + * Add a child. This will be either spgrContainer or spContainer + * + * @param mixed $child + */ + public function addChild($child) + { + $this->children[] = $child; + $child->setParent($this); + } - /** - * Get collection of Shape Containers - */ - public function getChildren() - { - return $this->_children; - } + /** + * Get collection of Shape Containers + */ + public function getChildren() + { + return $this->children; + } - /** - * Recursively get all spContainers within this spgrContainer - * - * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer[] - */ - public function getAllSpContainers() - { - $allSpContainers = array(); + /** + * Recursively get all spContainers within this spgrContainer + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer[] + */ + public function getAllSpContainers() + { + $allSpContainers = array(); - foreach ($this->_children as $child) { - if ($child instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { - $allSpContainers = array_merge($allSpContainers, $child->getAllSpContainers()); - } else { - $allSpContainers[] = $child; - } - } + foreach ($this->children as $child) { + if ($child instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { + $allSpContainers = array_merge($allSpContainers, $child->getAllSpContainers()); + } else { + $allSpContainers[] = $child; + } + } - return $allSpContainers; - } + return $allSpContainers; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php index 682314801..a1f1a4609 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,376 +21,368 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer { - /** - * Parent Shape Group Container - * - * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer - */ - private $_parent; + /** + * Parent Shape Group Container + * + * @var PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + private $parent; - /** - * Is this a group shape? - * - * @var boolean - */ - private $_spgr = false; + /** + * Is this a group shape? + * + * @var boolean + */ + private $spgr = false; - /** - * Shape type - * - * @var int - */ - private $_spType; + /** + * Shape type + * + * @var int + */ + private $spType; - /** - * Shape flag - * - * @var int - */ - private $_spFlag; + /** + * Shape flag + * + * @var int + */ + private $spFlag; - /** - * Shape index (usually group shape has index 0, and the rest: 1,2,3...) - * - * @var boolean - */ - private $_spId; + /** + * Shape index (usually group shape has index 0, and the rest: 1,2,3...) + * + * @var boolean + */ + private $spId; - /** - * Array of options - * - * @var array - */ - private $_OPT; + /** + * Array of options + * + * @var array + */ + private $OPT; - /** - * Cell coordinates of upper-left corner of shape, e.g. 'A1' - * - * @var string - */ - private $_startCoordinates; + /** + * Cell coordinates of upper-left corner of shape, e.g. 'A1' + * + * @var string + */ + private $startCoordinates; - /** - * Horizontal offset of upper-left corner of shape measured in 1/1024 of column width - * - * @var int - */ - private $_startOffsetX; + /** + * Horizontal offset of upper-left corner of shape measured in 1/1024 of column width + * + * @var int + */ + private $startOffsetX; - /** - * Vertical offset of upper-left corner of shape measured in 1/256 of row height - * - * @var int - */ - private $_startOffsetY; + /** + * Vertical offset of upper-left corner of shape measured in 1/256 of row height + * + * @var int + */ + private $startOffsetY; - /** - * Cell coordinates of bottom-right corner of shape, e.g. 'B2' - * - * @var string - */ - private $_endCoordinates; + /** + * Cell coordinates of bottom-right corner of shape, e.g. 'B2' + * + * @var string + */ + private $endCoordinates; - /** - * Horizontal offset of bottom-right corner of shape measured in 1/1024 of column width - * - * @var int - */ - private $_endOffsetX; + /** + * Horizontal offset of bottom-right corner of shape measured in 1/1024 of column width + * + * @var int + */ + private $endOffsetX; - /** - * Vertical offset of bottom-right corner of shape measured in 1/256 of row height - * - * @var int - */ - private $_endOffsetY; + /** + * Vertical offset of bottom-right corner of shape measured in 1/256 of row height + * + * @var int + */ + private $endOffsetY; - /** - * Set parent Shape Group Container - * - * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent - */ - public function setParent($parent) - { - $this->_parent = $parent; - } + /** + * Set parent Shape Group Container + * + * @param PHPExcel_Shared_Escher_DgContainer_SpgrContainer $parent + */ + public function setParent($parent) + { + $this->parent = $parent; + } - /** - * Get the parent Shape Group Container - * - * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer - */ - public function getParent() - { - return $this->_parent; - } + /** + * Get the parent Shape Group Container + * + * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer + */ + public function getParent() + { + return $this->parent; + } - /** - * Set whether this is a group shape - * - * @param boolean $value - */ - public function setSpgr($value = false) - { - $this->_spgr = $value; - } + /** + * Set whether this is a group shape + * + * @param boolean $value + */ + public function setSpgr($value = false) + { + $this->spgr = $value; + } - /** - * Get whether this is a group shape - * - * @return boolean - */ - public function getSpgr() - { - return $this->_spgr; - } + /** + * Get whether this is a group shape + * + * @return boolean + */ + public function getSpgr() + { + return $this->spgr; + } - /** - * Set the shape type - * - * @param int $value - */ - public function setSpType($value) - { - $this->_spType = $value; - } + /** + * Set the shape type + * + * @param int $value + */ + public function setSpType($value) + { + $this->spType = $value; + } - /** - * Get the shape type - * - * @return int - */ - public function getSpType() - { - return $this->_spType; - } + /** + * Get the shape type + * + * @return int + */ + public function getSpType() + { + return $this->spType; + } - /** - * Set the shape flag - * - * @param int $value - */ - public function setSpFlag($value) - { - $this->_spFlag = $value; - } + /** + * Set the shape flag + * + * @param int $value + */ + public function setSpFlag($value) + { + $this->spFlag = $value; + } - /** - * Get the shape flag - * - * @return int - */ - public function getSpFlag() - { - return $this->_spFlag; - } + /** + * Get the shape flag + * + * @return int + */ + public function getSpFlag() + { + return $this->spFlag; + } - /** - * Set the shape index - * - * @param int $value - */ - public function setSpId($value) - { - $this->_spId = $value; - } + /** + * Set the shape index + * + * @param int $value + */ + public function setSpId($value) + { + $this->spId = $value; + } - /** - * Get the shape index - * - * @return int - */ - public function getSpId() - { - return $this->_spId; - } + /** + * Get the shape index + * + * @return int + */ + public function getSpId() + { + return $this->spId; + } - /** - * Set an option for the Shape Group Container - * - * @param int $property The number specifies the option - * @param mixed $value - */ - public function setOPT($property, $value) - { - $this->_OPT[$property] = $value; - } + /** + * Set an option for the Shape Group Container + * + * @param int $property The number specifies the option + * @param mixed $value + */ + public function setOPT($property, $value) + { + $this->OPT[$property] = $value; + } - /** - * Get an option for the Shape Group Container - * - * @param int $property The number specifies the option - * @return mixed - */ - public function getOPT($property) - { - if (isset($this->_OPT[$property])) { - return $this->_OPT[$property]; - } - return null; - } + /** + * Get an option for the Shape Group Container + * + * @param int $property The number specifies the option + * @return mixed + */ + public function getOPT($property) + { + if (isset($this->OPT[$property])) { + return $this->OPT[$property]; + } + return null; + } - /** - * Get the collection of options - * - * @return array - */ - public function getOPTCollection() - { - return $this->_OPT; - } + /** + * Get the collection of options + * + * @return array + */ + public function getOPTCollection() + { + return $this->OPT; + } - /** - * Set cell coordinates of upper-left corner of shape - * - * @param string $value - */ - public function setStartCoordinates($value = 'A1') - { - $this->_startCoordinates = $value; - } + /** + * Set cell coordinates of upper-left corner of shape + * + * @param string $value + */ + public function setStartCoordinates($value = 'A1') + { + $this->startCoordinates = $value; + } - /** - * Get cell coordinates of upper-left corner of shape - * - * @return string - */ - public function getStartCoordinates() - { - return $this->_startCoordinates; - } + /** + * Get cell coordinates of upper-left corner of shape + * + * @return string + */ + public function getStartCoordinates() + { + return $this->startCoordinates; + } - /** - * Set offset in x-direction of upper-left corner of shape measured in 1/1024 of column width - * - * @param int $startOffsetX - */ - public function setStartOffsetX($startOffsetX = 0) - { - $this->_startOffsetX = $startOffsetX; - } + /** + * Set offset in x-direction of upper-left corner of shape measured in 1/1024 of column width + * + * @param int $startOffsetX + */ + public function setStartOffsetX($startOffsetX = 0) + { + $this->startOffsetX = $startOffsetX; + } - /** - * Get offset in x-direction of upper-left corner of shape measured in 1/1024 of column width - * - * @return int - */ - public function getStartOffsetX() - { - return $this->_startOffsetX; - } + /** + * Get offset in x-direction of upper-left corner of shape measured in 1/1024 of column width + * + * @return int + */ + public function getStartOffsetX() + { + return $this->startOffsetX; + } - /** - * Set offset in y-direction of upper-left corner of shape measured in 1/256 of row height - * - * @param int $startOffsetY - */ - public function setStartOffsetY($startOffsetY = 0) - { - $this->_startOffsetY = $startOffsetY; - } + /** + * Set offset in y-direction of upper-left corner of shape measured in 1/256 of row height + * + * @param int $startOffsetY + */ + public function setStartOffsetY($startOffsetY = 0) + { + $this->startOffsetY = $startOffsetY; + } - /** - * Get offset in y-direction of upper-left corner of shape measured in 1/256 of row height - * - * @return int - */ - public function getStartOffsetY() - { - return $this->_startOffsetY; - } + /** + * Get offset in y-direction of upper-left corner of shape measured in 1/256 of row height + * + * @return int + */ + public function getStartOffsetY() + { + return $this->startOffsetY; + } - /** - * Set cell coordinates of bottom-right corner of shape - * - * @param string $value - */ - public function setEndCoordinates($value = 'A1') - { - $this->_endCoordinates = $value; - } + /** + * Set cell coordinates of bottom-right corner of shape + * + * @param string $value + */ + public function setEndCoordinates($value = 'A1') + { + $this->endCoordinates = $value; + } - /** - * Get cell coordinates of bottom-right corner of shape - * - * @return string - */ - public function getEndCoordinates() - { - return $this->_endCoordinates; - } + /** + * Get cell coordinates of bottom-right corner of shape + * + * @return string + */ + public function getEndCoordinates() + { + return $this->endCoordinates; + } - /** - * Set offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width - * - * @param int $startOffsetX - */ - public function setEndOffsetX($endOffsetX = 0) - { - $this->_endOffsetX = $endOffsetX; - } + /** + * Set offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width + * + * @param int $startOffsetX + */ + public function setEndOffsetX($endOffsetX = 0) + { + $this->endOffsetX = $endOffsetX; + } - /** - * Get offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width - * - * @return int - */ - public function getEndOffsetX() - { - return $this->_endOffsetX; - } + /** + * Get offset in x-direction of bottom-right corner of shape measured in 1/1024 of column width + * + * @return int + */ + public function getEndOffsetX() + { + return $this->endOffsetX; + } - /** - * Set offset in y-direction of bottom-right corner of shape measured in 1/256 of row height - * - * @param int $endOffsetY - */ - public function setEndOffsetY($endOffsetY = 0) - { - $this->_endOffsetY = $endOffsetY; - } + /** + * Set offset in y-direction of bottom-right corner of shape measured in 1/256 of row height + * + * @param int $endOffsetY + */ + public function setEndOffsetY($endOffsetY = 0) + { + $this->endOffsetY = $endOffsetY; + } - /** - * Get offset in y-direction of bottom-right corner of shape measured in 1/256 of row height - * - * @return int - */ - public function getEndOffsetY() - { - return $this->_endOffsetY; - } + /** + * Get offset in y-direction of bottom-right corner of shape measured in 1/256 of row height + * + * @return int + */ + public function getEndOffsetY() + { + return $this->endOffsetY; + } - /** - * Get the nesting level of this spContainer. This is the number of spgrContainers between this spContainer and - * the dgContainer. A value of 1 = immediately within first spgrContainer - * Higher nesting level occurs if and only if spContainer is part of a shape group - * - * @return int Nesting level - */ - public function getNestingLevel() - { - $nestingLevel = 0; + /** + * Get the nesting level of this spContainer. This is the number of spgrContainers between this spContainer and + * the dgContainer. A value of 1 = immediately within first spgrContainer + * Higher nesting level occurs if and only if spContainer is part of a shape group + * + * @return int Nesting level + */ + public function getNestingLevel() + { + $nestingLevel = 0; - $parent = $this->getParent(); - while ($parent instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { - ++$nestingLevel; - $parent = $parent->getParent(); - } + $parent = $this->getParent(); + while ($parent instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { + ++$nestingLevel; + $parent = $parent->getParent(); + } - return $nestingLevel; - } + return $nestingLevel; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php index 26696ec9d..b116b1bd4 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DggContainer * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,184 +21,176 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DggContainer - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DggContainer { - /** - * Maximum shape index of all shapes in all drawings increased by one - * - * @var int - */ - private $_spIdMax; + /** + * Maximum shape index of all shapes in all drawings increased by one + * + * @var int + */ + private $spIdMax; - /** - * Total number of drawings saved - * - * @var int - */ - private $_cDgSaved; + /** + * Total number of drawings saved + * + * @var int + */ + private $cDgSaved; - /** - * Total number of shapes saved (including group shapes) - * - * @var int - */ - private $_cSpSaved; + /** + * Total number of shapes saved (including group shapes) + * + * @var int + */ + private $cSpSaved; - /** - * BLIP Store Container - * - * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer - */ - private $_bstoreContainer; + /** + * BLIP Store Container + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + private $bstoreContainer; - /** - * Array of options for the drawing group - * - * @var array - */ - private $_OPT = array(); + /** + * Array of options for the drawing group + * + * @var array + */ + private $OPT = array(); - /** - * Array of identifier clusters containg information about the maximum shape identifiers - * - * @var array - */ - private $_IDCLs = array(); + /** + * Array of identifier clusters containg information about the maximum shape identifiers + * + * @var array + */ + private $IDCLs = array(); - /** - * Get maximum shape index of all shapes in all drawings (plus one) - * - * @return int - */ - public function getSpIdMax() - { - return $this->_spIdMax; - } + /** + * Get maximum shape index of all shapes in all drawings (plus one) + * + * @return int + */ + public function getSpIdMax() + { + return $this->spIdMax; + } - /** - * Set maximum shape index of all shapes in all drawings (plus one) - * - * @param int - */ - public function setSpIdMax($value) - { - $this->_spIdMax = $value; - } + /** + * Set maximum shape index of all shapes in all drawings (plus one) + * + * @param int + */ + public function setSpIdMax($value) + { + $this->spIdMax = $value; + } - /** - * Get total number of drawings saved - * - * @return int - */ - public function getCDgSaved() - { - return $this->_cDgSaved; - } + /** + * Get total number of drawings saved + * + * @return int + */ + public function getCDgSaved() + { + return $this->cDgSaved; + } - /** - * Set total number of drawings saved - * - * @param int - */ - public function setCDgSaved($value) - { - $this->_cDgSaved = $value; - } + /** + * Set total number of drawings saved + * + * @param int + */ + public function setCDgSaved($value) + { + $this->cDgSaved = $value; + } - /** - * Get total number of shapes saved (including group shapes) - * - * @return int - */ - public function getCSpSaved() - { - return $this->_cSpSaved; - } + /** + * Get total number of shapes saved (including group shapes) + * + * @return int + */ + public function getCSpSaved() + { + return $this->cSpSaved; + } - /** - * Set total number of shapes saved (including group shapes) - * - * @param int - */ - public function setCSpSaved($value) - { - $this->_cSpSaved = $value; - } + /** + * Set total number of shapes saved (including group shapes) + * + * @param int + */ + public function setCSpSaved($value) + { + $this->cSpSaved = $value; + } - /** - * Get BLIP Store Container - * - * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer - */ - public function getBstoreContainer() - { - return $this->_bstoreContainer; - } + /** + * Get BLIP Store Container + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + public function getBstoreContainer() + { + return $this->bstoreContainer; + } - /** - * Set BLIP Store Container - * - * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $bstoreContainer - */ - public function setBstoreContainer($bstoreContainer) - { - $this->_bstoreContainer = $bstoreContainer; - } + /** + * Set BLIP Store Container + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $bstoreContainer + */ + public function setBstoreContainer($bstoreContainer) + { + $this->bstoreContainer = $bstoreContainer; + } - /** - * Set an option for the drawing group - * - * @param int $property The number specifies the option - * @param mixed $value - */ - public function setOPT($property, $value) - { - $this->_OPT[$property] = $value; - } + /** + * Set an option for the drawing group + * + * @param int $property The number specifies the option + * @param mixed $value + */ + public function setOPT($property, $value) + { + $this->OPT[$property] = $value; + } - /** - * Get an option for the drawing group - * - * @param int $property The number specifies the option - * @return mixed - */ - public function getOPT($property) - { - if (isset($this->_OPT[$property])) { - return $this->_OPT[$property]; - } - return null; - } + /** + * Get an option for the drawing group + * + * @param int $property The number specifies the option + * @return mixed + */ + public function getOPT($property) + { + if (isset($this->OPT[$property])) { + return $this->OPT[$property]; + } + return null; + } - /** - * Get identifier clusters - * - * @return array - */ - public function getIDCLs() - { - return $this->_IDCLs; - } + /** + * Get identifier clusters + * + * @return array + */ + public function getIDCLs() + { + return $this->IDCLs; + } - /** - * Set identifier clusters. array(<drawingId> => <max shape id>, ...) - * - * @param array $pValue - */ - public function setIDCLs($pValue) - { - $this->_IDCLs = $pValue; - } + /** + * Set identifier clusters. array(<drawingId> => <max shape id>, ...) + * + * @param array $pValue + */ + public function setIDCLs($pValue) + { + $this->IDCLs = $pValue; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php index fba2e73fa..1af2432bd 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,46 +21,37 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DggContainer_BstoreContainer - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer { - /** - * BLIP Store Entries. Each of them holds one BLIP (Big Large Image or Picture) - * - * @var array - */ - private $_BSECollection = array(); + /** + * BLIP Store Entries. Each of them holds one BLIP (Big Large Image or Picture) + * + * @var array + */ + private $BSECollection = array(); - /** - * Add a BLIP Store Entry - * - * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $BSE - */ - public function addBSE($BSE) - { - $this->_BSECollection[] = $BSE; - $BSE->setParent($this); - } - - /** - * Get the collection of BLIP Store Entries - * - * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[] - */ - public function getBSECollection() - { - return $this->_BSECollection; - } + /** + * Add a BLIP Store Entry + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $BSE + */ + public function addBSE($BSE) + { + $this->BSECollection[] = $BSE; + $BSE->setParent($this); + } + /** + * Get the collection of BLIP Store Entries + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[] + */ + public function getBSECollection() + { + return $this->BSECollection; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php index 418896a34..d17e91e16 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,101 +21,92 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE { - const BLIPTYPE_ERROR = 0x00; - const BLIPTYPE_UNKNOWN = 0x01; - const BLIPTYPE_EMF = 0x02; - const BLIPTYPE_WMF = 0x03; - const BLIPTYPE_PICT = 0x04; - const BLIPTYPE_JPEG = 0x05; - const BLIPTYPE_PNG = 0x06; - const BLIPTYPE_DIB = 0x07; - const BLIPTYPE_TIFF = 0x11; - const BLIPTYPE_CMYKJPEG = 0x12; + const BLIPTYPE_ERROR = 0x00; + const BLIPTYPE_UNKNOWN = 0x01; + const BLIPTYPE_EMF = 0x02; + const BLIPTYPE_WMF = 0x03; + const BLIPTYPE_PICT = 0x04; + const BLIPTYPE_JPEG = 0x05; + const BLIPTYPE_PNG = 0x06; + const BLIPTYPE_DIB = 0x07; + const BLIPTYPE_TIFF = 0x11; + const BLIPTYPE_CMYKJPEG = 0x12; - /** - * The parent BLIP Store Entry Container - * - * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer - */ - private $_parent; + /** + * The parent BLIP Store Entry Container + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer + */ + private $parent; - /** - * The BLIP (Big Large Image or Picture) - * - * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip - */ - private $_blip; + /** + * The BLIP (Big Large Image or Picture) + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip + */ + private $blip; - /** - * The BLIP type - * - * @var int - */ - private $_blipType; + /** + * The BLIP type + * + * @var int + */ + private $blipType; - /** - * Set parent BLIP Store Entry Container - * - * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $parent - */ - public function setParent($parent) - { - $this->_parent = $parent; - } + /** + * Set parent BLIP Store Entry Container + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer $parent + */ + public function setParent($parent) + { + $this->parent = $parent; + } - /** - * Get the BLIP - * - * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip - */ - public function getBlip() - { - return $this->_blip; - } + /** + * Get the BLIP + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip + */ + public function getBlip() + { + return $this->blip; + } - /** - * Set the BLIP - * - * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip - */ - public function setBlip($blip) - { - $this->_blip = $blip; - $blip->setParent($this); - } + /** + * Set the BLIP + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip + */ + public function setBlip($blip) + { + $this->blip = $blip; + $blip->setParent($this); + } - /** - * Get the BLIP type - * - * @return int - */ - public function getBlipType() - { - return $this->_blipType; - } - - /** - * Set the BLIP type - * - * @param int - */ - public function setBlipType($blipType) - { - $this->_blipType = $blipType; - } + /** + * Get the BLIP type + * + * @return int + */ + public function getBlipType() + { + return $this->blipType; + } + /** + * Set the BLIP type + * + * @param int + */ + public function setBlipType($blipType) + { + $this->blipType = $blipType; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php index d9cc2f5c0..3bcbbbe28 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,72 +21,63 @@ * * @category PHPExcel * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip - * - * @category PHPExcel - * @package PHPExcel_Shared_Escher - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip { - /** - * The parent BSE - * - * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE - */ - private $_parent; + /** + * The parent BSE + * + * @var PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE + */ + private $parent; - /** - * Raw image data - * - * @var string - */ - private $_data; + /** + * Raw image data + * + * @var string + */ + private $data; - /** - * Get the raw image data - * - * @return string - */ - public function getData() - { - return $this->_data; - } + /** + * Get the raw image data + * + * @return string + */ + public function getData() + { + return $this->data; + } - /** - * Set the raw image data - * - * @param string - */ - public function setData($data) - { - $this->_data = $data; - } + /** + * Set the raw image data + * + * @param string + */ + public function setData($data) + { + $this->data = $data; + } - /** - * Set parent BSE - * - * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent - */ - public function setParent($parent) - { - $this->_parent = $parent; - } - - /** - * Get parent BSE - * - * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent - */ - public function getParent() - { - return $this->_parent; - } + /** + * Set parent BSE + * + * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent + */ + public function setParent($parent) + { + $this->parent = $parent; + } + /** + * Get parent BSE + * + * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent + */ + public function getParent() + { + return $this->parent; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php index 3caf675dd..c3ff209fa 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Excel5.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_Excel5 * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,298 +21,278 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_Excel5 - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_Excel5 { - /** - * Get the width of a column in pixels. We use the relationship y = ceil(7x) where - * x is the width in intrinsic Excel units (measuring width in number of normal characters) - * This holds for Arial 10 - * - * @param PHPExcel_Worksheet $sheet The sheet - * @param string $col The column - * @return integer The width in pixels - */ - public static function sizeCol($sheet, $col = 'A') - { - // default font of the workbook - $font = $sheet->getParent()->getDefaultStyle()->getFont(); + /** + * Get the width of a column in pixels. We use the relationship y = ceil(7x) where + * x is the width in intrinsic Excel units (measuring width in number of normal characters) + * This holds for Arial 10 + * + * @param PHPExcel_Worksheet $sheet The sheet + * @param string $col The column + * @return integer The width in pixels + */ + public static function sizeCol($sheet, $col = 'A') + { + // default font of the workbook + $font = $sheet->getParent()->getDefaultStyle()->getFont(); - $columnDimensions = $sheet->getColumnDimensions(); + $columnDimensions = $sheet->getColumnDimensions(); - // first find the true column width in pixels (uncollapsed and unhidden) - if ( isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1 ) { + // first find the true column width in pixels (uncollapsed and unhidden) + if (isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1) { + // then we have column dimension with explicit width + $columnDimension = $columnDimensions[$col]; + $width = $columnDimension->getWidth(); + $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + } elseif ($sheet->getDefaultColumnDimension()->getWidth() != -1) { + // then we have default column dimension with explicit width + $defaultColumnDimension = $sheet->getDefaultColumnDimension(); + $width = $defaultColumnDimension->getWidth(); + $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + } else { + // we don't even have any default column dimension. Width depends on default font + $pixelWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($font, true); + } - // then we have column dimension with explicit width - $columnDimension = $columnDimensions[$col]; - $width = $columnDimension->getWidth(); - $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + // now find the effective column width in pixels + if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) { + $effectivePixelWidth = 0; + } else { + $effectivePixelWidth = $pixelWidth; + } - } else if ($sheet->getDefaultColumnDimension()->getWidth() != -1) { + return $effectivePixelWidth; + } - // then we have default column dimension with explicit width - $defaultColumnDimension = $sheet->getDefaultColumnDimension(); - $width = $defaultColumnDimension->getWidth(); - $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font); + /** + * Convert the height of a cell from user's units to pixels. By interpolation + * the relationship is: y = 4/3x. If the height hasn't been set by the user we + * use the default value. If the row is hidden we use a value of zero. + * + * @param PHPExcel_Worksheet $sheet The sheet + * @param integer $row The row index (1-based) + * @return integer The width in pixels + */ + public static function sizeRow($sheet, $row = 1) + { + // default font of the workbook + $font = $sheet->getParent()->getDefaultStyle()->getFont(); - } else { + $rowDimensions = $sheet->getRowDimensions(); - // we don't even have any default column dimension. Width depends on default font - $pixelWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($font, true); - } + // first find the true row height in pixels (uncollapsed and unhidden) + if (isset($rowDimensions[$row]) and $rowDimensions[$row]->getRowHeight() != -1) { + // then we have a row dimension + $rowDimension = $rowDimensions[$row]; + $rowHeight = $rowDimension->getRowHeight(); + $pixelRowHeight = (int) ceil(4 * $rowHeight / 3); // here we assume Arial 10 + } elseif ($sheet->getDefaultRowDimension()->getRowHeight() != -1) { + // then we have a default row dimension with explicit height + $defaultRowDimension = $sheet->getDefaultRowDimension(); + $rowHeight = $defaultRowDimension->getRowHeight(); + $pixelRowHeight = PHPExcel_Shared_Drawing::pointsToPixels($rowHeight); + } else { + // we don't even have any default row dimension. Height depends on default font + $pointRowHeight = PHPExcel_Shared_Font::getDefaultRowHeightByFont($font); + $pixelRowHeight = PHPExcel_Shared_Font::fontSizeToPixels($pointRowHeight); + } - // now find the effective column width in pixels - if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) { - $effectivePixelWidth = 0; - } else { - $effectivePixelWidth = $pixelWidth; - } + // now find the effective row height in pixels + if (isset($rowDimensions[$row]) and !$rowDimensions[$row]->getVisible()) { + $effectivePixelRowHeight = 0; + } else { + $effectivePixelRowHeight = $pixelRowHeight; + } - return $effectivePixelWidth; - } + return $effectivePixelRowHeight; + } - /** - * Convert the height of a cell from user's units to pixels. By interpolation - * the relationship is: y = 4/3x. If the height hasn't been set by the user we - * use the default value. If the row is hidden we use a value of zero. - * - * @param PHPExcel_Worksheet $sheet The sheet - * @param integer $row The row index (1-based) - * @return integer The width in pixels - */ - public static function sizeRow($sheet, $row = 1) - { - // default font of the workbook - $font = $sheet->getParent()->getDefaultStyle()->getFont(); + /** + * Get the horizontal distance in pixels between two anchors + * The distanceX is found as sum of all the spanning columns widths minus correction for the two offsets + * + * @param PHPExcel_Worksheet $sheet + * @param string $startColumn + * @param integer $startOffsetX Offset within start cell measured in 1/1024 of the cell width + * @param string $endColumn + * @param integer $endOffsetX Offset within end cell measured in 1/1024 of the cell width + * @return integer Horizontal measured in pixels + */ + public static function getDistanceX(PHPExcel_Worksheet $sheet, $startColumn = 'A', $startOffsetX = 0, $endColumn = 'A', $endOffsetX = 0) + { + $distanceX = 0; - $rowDimensions = $sheet->getRowDimensions(); + // add the widths of the spanning columns + $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; // 1-based + $endColumnIndex = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; // 1-based + for ($i = $startColumnIndex; $i <= $endColumnIndex; ++$i) { + $distanceX += self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($i)); + } - // first find the true row height in pixels (uncollapsed and unhidden) - if ( isset($rowDimensions[$row]) and $rowDimensions[$row]->getRowHeight() != -1) { + // correct for offsetX in startcell + $distanceX -= (int) floor(self::sizeCol($sheet, $startColumn) * $startOffsetX / 1024); - // then we have a row dimension - $rowDimension = $rowDimensions[$row]; - $rowHeight = $rowDimension->getRowHeight(); - $pixelRowHeight = (int) ceil(4 * $rowHeight / 3); // here we assume Arial 10 + // correct for offsetX in endcell + $distanceX -= (int) floor(self::sizeCol($sheet, $endColumn) * (1 - $endOffsetX / 1024)); - } else if ($sheet->getDefaultRowDimension()->getRowHeight() != -1) { + return $distanceX; + } - // then we have a default row dimension with explicit height - $defaultRowDimension = $sheet->getDefaultRowDimension(); - $rowHeight = $defaultRowDimension->getRowHeight(); - $pixelRowHeight = PHPExcel_Shared_Drawing::pointsToPixels($rowHeight); + /** + * Get the vertical distance in pixels between two anchors + * The distanceY is found as sum of all the spanning rows minus two offsets + * + * @param PHPExcel_Worksheet $sheet + * @param integer $startRow (1-based) + * @param integer $startOffsetY Offset within start cell measured in 1/256 of the cell height + * @param integer $endRow (1-based) + * @param integer $endOffsetY Offset within end cell measured in 1/256 of the cell height + * @return integer Vertical distance measured in pixels + */ + public static function getDistanceY(PHPExcel_Worksheet $sheet, $startRow = 1, $startOffsetY = 0, $endRow = 1, $endOffsetY = 0) + { + $distanceY = 0; - } else { + // add the widths of the spanning rows + for ($row = $startRow; $row <= $endRow; ++$row) { + $distanceY += self::sizeRow($sheet, $row); + } - // we don't even have any default row dimension. Height depends on default font - $pointRowHeight = PHPExcel_Shared_Font::getDefaultRowHeightByFont($font); - $pixelRowHeight = PHPExcel_Shared_Font::fontSizeToPixels($pointRowHeight); + // correct for offsetX in startcell + $distanceY -= (int) floor(self::sizeRow($sheet, $startRow) * $startOffsetY / 256); - } + // correct for offsetX in endcell + $distanceY -= (int) floor(self::sizeRow($sheet, $endRow) * (1 - $endOffsetY / 256)); - // now find the effective row height in pixels - if ( isset($rowDimensions[$row]) and !$rowDimensions[$row]->getVisible() ) { - $effectivePixelRowHeight = 0; - } else { - $effectivePixelRowHeight = $pixelRowHeight; - } + return $distanceY; + } - return $effectivePixelRowHeight; - } + /** + * Convert 1-cell anchor coordinates to 2-cell anchor coordinates + * This function is ported from PEAR Spreadsheet_Writer_Excel with small modifications + * + * Calculate the vertices that define the position of the image as required by + * the OBJ record. + * + * +------------+------------+ + * | A | B | + * +-----+------------+------------+ + * | |(x1,y1) | | + * | 1 |(A1)._______|______ | + * | | | | | + * | | | | | + * +-----+----| BITMAP |-----+ + * | | | | | + * | 2 | |______________. | + * | | | (B2)| + * | | | (x2,y2)| + * +---- +------------+------------+ + * + * Example of a bitmap that covers some of the area from cell A1 to cell B2. + * + * Based on the width and height of the bitmap we need to calculate 8 vars: + * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. + * The width and height of the cells are also variable and have to be taken into + * account. + * The values of $col_start and $row_start are passed in from the calling + * function. The values of $col_end and $row_end are calculated by subtracting + * the width and height of the bitmap from the width and height of the + * underlying cells. + * The vertices are expressed as a percentage of the underlying cell width as + * follows (rhs values are in pixels): + * + * x1 = X / W *1024 + * y1 = Y / H *256 + * x2 = (X-1) / W *1024 + * y2 = (Y-1) / H *256 + * + * Where: X is distance from the left side of the underlying cell + * Y is distance from the top of the underlying cell + * W is the width of the cell + * H is the height of the cell + * + * @param PHPExcel_Worksheet $sheet + * @param string $coordinates E.g. 'A1' + * @param integer $offsetX Horizontal offset in pixels + * @param integer $offsetY Vertical offset in pixels + * @param integer $width Width in pixels + * @param integer $height Height in pixels + * @return array + */ + public static function oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height) + { + list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinates); + $col_start = PHPExcel_Cell::columnIndexFromString($column) - 1; + $row_start = $row - 1; - /** - * Get the horizontal distance in pixels between two anchors - * The distanceX is found as sum of all the spanning columns widths minus correction for the two offsets - * - * @param PHPExcel_Worksheet $sheet - * @param string $startColumn - * @param integer $startOffsetX Offset within start cell measured in 1/1024 of the cell width - * @param string $endColumn - * @param integer $endOffsetX Offset within end cell measured in 1/1024 of the cell width - * @return integer Horizontal measured in pixels - */ - public static function getDistanceX(PHPExcel_Worksheet $sheet, $startColumn = 'A', $startOffsetX = 0, $endColumn = 'A', $endOffsetX = 0) - { - $distanceX = 0; + $x1 = $offsetX; + $y1 = $offsetY; - // add the widths of the spanning columns - $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; // 1-based - $endColumnIndex = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; // 1-based - for ($i = $startColumnIndex; $i <= $endColumnIndex; ++$i) { - $distanceX += self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($i)); - } + // Initialise end cell to the same as the start cell + $col_end = $col_start; // Col containing lower right corner of object + $row_end = $row_start; // Row containing bottom right corner of object - // correct for offsetX in startcell - $distanceX -= (int) floor(self::sizeCol($sheet, $startColumn) * $startOffsetX / 1024); + // Zero the specified offset if greater than the cell dimensions + if ($x1 >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { + $x1 = 0; + } + if ($y1 >= self::sizeRow($sheet, $row_start + 1)) { + $y1 = 0; + } - // correct for offsetX in endcell - $distanceX -= (int) floor(self::sizeCol($sheet, $endColumn) * (1 - $endOffsetX / 1024)); + $width = $width + $x1 -1; + $height = $height + $y1 -1; - return $distanceX; - } + // Subtract the underlying cell widths to find the end cell of the image + while ($width >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { + $width -= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); + ++$col_end; + } - /** - * Get the vertical distance in pixels between two anchors - * The distanceY is found as sum of all the spanning rows minus two offsets - * - * @param PHPExcel_Worksheet $sheet - * @param integer $startRow (1-based) - * @param integer $startOffsetY Offset within start cell measured in 1/256 of the cell height - * @param integer $endRow (1-based) - * @param integer $endOffsetY Offset within end cell measured in 1/256 of the cell height - * @return integer Vertical distance measured in pixels - */ - public static function getDistanceY(PHPExcel_Worksheet $sheet, $startRow = 1, $startOffsetY = 0, $endRow = 1, $endOffsetY = 0) - { - $distanceY = 0; + // Subtract the underlying cell heights to find the end cell of the image + while ($height >= self::sizeRow($sheet, $row_end + 1)) { + $height -= self::sizeRow($sheet, $row_end + 1); + ++$row_end; + } - // add the widths of the spanning rows - for ($row = $startRow; $row <= $endRow; ++$row) { - $distanceY += self::sizeRow($sheet, $row); - } + // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell + // with zero height or width. + if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { + return; + } + if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { + return; + } + if (self::sizeRow($sheet, $row_start + 1) == 0) { + return; + } + if (self::sizeRow($sheet, $row_end + 1) == 0) { + return; + } - // correct for offsetX in startcell - $distanceY -= (int) floor(self::sizeRow($sheet, $startRow) * $startOffsetY / 256); + // Convert the pixel values to the percentage value expected by Excel + $x1 = $x1 / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; + $y1 = $y1 / self::sizeRow($sheet, $row_start + 1) * 256; + $x2 = ($width + 1) / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object + $y2 = ($height + 1) / self::sizeRow($sheet, $row_end + 1) * 256; // Distance to bottom of object - // correct for offsetX in endcell - $distanceY -= (int) floor(self::sizeRow($sheet, $endRow) * (1 - $endOffsetY / 256)); + $startCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_start) . ($row_start + 1); + $endCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_end) . ($row_end + 1); - return $distanceY; - } - - /** - * Convert 1-cell anchor coordinates to 2-cell anchor coordinates - * This function is ported from PEAR Spreadsheet_Writer_Excel with small modifications - * - * Calculate the vertices that define the position of the image as required by - * the OBJ record. - * - * +------------+------------+ - * | A | B | - * +-----+------------+------------+ - * | |(x1,y1) | | - * | 1 |(A1)._______|______ | - * | | | | | - * | | | | | - * +-----+----| BITMAP |-----+ - * | | | | | - * | 2 | |______________. | - * | | | (B2)| - * | | | (x2,y2)| - * +---- +------------+------------+ - * - * Example of a bitmap that covers some of the area from cell A1 to cell B2. - * - * Based on the width and height of the bitmap we need to calculate 8 vars: - * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. - * The width and height of the cells are also variable and have to be taken into - * account. - * The values of $col_start and $row_start are passed in from the calling - * function. The values of $col_end and $row_end are calculated by subtracting - * the width and height of the bitmap from the width and height of the - * underlying cells. - * The vertices are expressed as a percentage of the underlying cell width as - * follows (rhs values are in pixels): - * - * x1 = X / W *1024 - * y1 = Y / H *256 - * x2 = (X-1) / W *1024 - * y2 = (Y-1) / H *256 - * - * Where: X is distance from the left side of the underlying cell - * Y is distance from the top of the underlying cell - * W is the width of the cell - * H is the height of the cell - * - * @param PHPExcel_Worksheet $sheet - * @param string $coordinates E.g. 'A1' - * @param integer $offsetX Horizontal offset in pixels - * @param integer $offsetY Vertical offset in pixels - * @param integer $width Width in pixels - * @param integer $height Height in pixels - * @return array - */ - public static function oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height) - { - list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinates); - $col_start = PHPExcel_Cell::columnIndexFromString($column) - 1; - $row_start = $row - 1; - - $x1 = $offsetX; - $y1 = $offsetY; - - // Initialise end cell to the same as the start cell - $col_end = $col_start; // Col containing lower right corner of object - $row_end = $row_start; // Row containing bottom right corner of object - - // Zero the specified offset if greater than the cell dimensions - if ($x1 >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { - $x1 = 0; - } - if ($y1 >= self::sizeRow($sheet, $row_start + 1)) { - $y1 = 0; - } - - $width = $width + $x1 -1; - $height = $height + $y1 -1; - - // Subtract the underlying cell widths to find the end cell of the image - while ($width >= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { - $width -= self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); - ++$col_end; - } - - // Subtract the underlying cell heights to find the end cell of the image - while ($height >= self::sizeRow($sheet, $row_end + 1)) { - $height -= self::sizeRow($sheet, $row_end + 1); - ++$row_end; - } - - // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell - // with zero height or width. - if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { - return; - } - if (self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { - return; - } - if (self::sizeRow($sheet, $row_start + 1) == 0) { - return; - } - if (self::sizeRow($sheet, $row_end + 1) == 0) { - return; - } - - // Convert the pixel values to the percentage value expected by Excel - $x1 = $x1 / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; - $y1 = $y1 / self::sizeRow($sheet, $row_start + 1) * 256; - $x2 = ($width + 1) / self::sizeCol($sheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object - $y2 = ($height + 1) / self::sizeRow($sheet, $row_end + 1) * 256; // Distance to bottom of object - - $startCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_start) . ($row_start + 1); - $endCoordinates = PHPExcel_Cell::stringFromColumnIndex($col_end) . ($row_end + 1); - - $twoAnchor = array( - 'startCoordinates' => $startCoordinates, - 'startOffsetX' => $x1, - 'startOffsetY' => $y1, - 'endCoordinates' => $endCoordinates, - 'endOffsetX' => $x2, - 'endOffsetY' => $y2, - ); - - return $twoAnchor; - } + $twoAnchor = array( + 'startCoordinates' => $startCoordinates, + 'startOffsetX' => $x1, + 'startOffsetY' => $y1, + 'endCoordinates' => $endCoordinates, + 'endOffsetX' => $x2, + 'endOffsetY' => $y2, + ); + return $twoAnchor; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php index 52c9b9796..a62df759f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/File.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_File * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,159 +21,160 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Shared_File - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_File { - /* - * Use Temp or File Upload Temp for temporary files - * - * @protected - * @var boolean - */ - protected static $_useUploadTempDirectory = FALSE; + /* + * Use Temp or File Upload Temp for temporary files + * + * @protected + * @var boolean + */ + protected static $useUploadTempDirectory = false; - /** - * Set the flag indicating whether the File Upload Temp directory should be used for temporary files - * - * @param boolean $useUploadTempDir Use File Upload Temporary directory (true or false) - */ - public static function setUseUploadTempDirectory($useUploadTempDir = FALSE) { - self::$_useUploadTempDirectory = (boolean) $useUploadTempDir; - } // function setUseUploadTempDirectory() + /** + * Set the flag indicating whether the File Upload Temp directory should be used for temporary files + * + * @param boolean $useUploadTempDir Use File Upload Temporary directory (true or false) + */ + public static function setUseUploadTempDirectory($useUploadTempDir = false) + { + self::$useUploadTempDirectory = (boolean) $useUploadTempDir; + } - /** - * Get the flag indicating whether the File Upload Temp directory should be used for temporary files - * - * @return boolean Use File Upload Temporary directory (true or false) - */ - public static function getUseUploadTempDirectory() { - return self::$_useUploadTempDirectory; - } // function getUseUploadTempDirectory() + /** + * Get the flag indicating whether the File Upload Temp directory should be used for temporary files + * + * @return boolean Use File Upload Temporary directory (true or false) + */ + public static function getUseUploadTempDirectory() + { + return self::$useUploadTempDirectory; + } - /** - * Verify if a file exists - * - * @param string $pFilename Filename - * @return bool - */ - public static function file_exists($pFilename) { - // Sick construction, but it seems that - // file_exists returns strange values when - // doing the original file_exists on ZIP archives... - if ( strtolower(substr($pFilename, 0, 3)) == 'zip' ) { - // Open ZIP file and verify if the file exists - $zipFile = substr($pFilename, 6, strpos($pFilename, '#') - 6); - $archiveFile = substr($pFilename, strpos($pFilename, '#') + 1); + /** + * Verify if a file exists + * + * @param string $pFilename Filename + * @return bool + */ + public static function file_exists($pFilename) + { + // Sick construction, but it seems that + // file_exists returns strange values when + // doing the original file_exists on ZIP archives... + if (strtolower(substr($pFilename, 0, 3)) == 'zip') { + // Open ZIP file and verify if the file exists + $zipFile = substr($pFilename, 6, strpos($pFilename, '#') - 6); + $archiveFile = substr($pFilename, strpos($pFilename, '#') + 1); - $zip = new ZipArchive(); - if ($zip->open($zipFile) === true) { - $returnValue = ($zip->getFromName($archiveFile) !== false); - $zip->close(); - return $returnValue; - } else { - return false; - } - } else { - // Regular file_exists - return file_exists($pFilename); - } - } + $zip = new ZipArchive(); + if ($zip->open($zipFile) === true) { + $returnValue = ($zip->getFromName($archiveFile) !== false); + $zip->close(); + return $returnValue; + } else { + return false; + } + } else { + // Regular file_exists + return file_exists($pFilename); + } + } - /** - * Returns canonicalized absolute pathname, also for ZIP archives - * - * @param string $pFilename - * @return string - */ - public static function realpath($pFilename) { - // Returnvalue - $returnValue = ''; + /** + * Returns canonicalized absolute pathname, also for ZIP archives + * + * @param string $pFilename + * @return string + */ + public static function realpath($pFilename) + { + // Returnvalue + $returnValue = ''; - // Try using realpath() - if (file_exists($pFilename)) { - $returnValue = realpath($pFilename); - } + // Try using realpath() + if (file_exists($pFilename)) { + $returnValue = realpath($pFilename); + } - // Found something? - if ($returnValue == '' || ($returnValue === NULL)) { - $pathArray = explode('/' , $pFilename); - while(in_array('..', $pathArray) && $pathArray[0] != '..') { - for ($i = 0; $i < count($pathArray); ++$i) { - if ($pathArray[$i] == '..' && $i > 0) { - unset($pathArray[$i]); - unset($pathArray[$i - 1]); - break; - } - } - } - $returnValue = implode('/', $pathArray); - } + // Found something? + if ($returnValue == '' || ($returnValue === null)) { + $pathArray = explode('/', $pFilename); + while (in_array('..', $pathArray) && $pathArray[0] != '..') { + for ($i = 0; $i < count($pathArray); ++$i) { + if ($pathArray[$i] == '..' && $i > 0) { + unset($pathArray[$i]); + unset($pathArray[$i - 1]); + break; + } + } + } + $returnValue = implode('/', $pathArray); + } - // Return - return $returnValue; - } + // Return + return $returnValue; + } - /** - * Get the systems temporary directory. - * - * @return string - */ - public static function sys_get_temp_dir() - { - if (self::$_useUploadTempDirectory) { - // use upload-directory when defined to allow running on environments having very restricted - // open_basedir configs - if (ini_get('upload_tmp_dir') !== FALSE) { - if ($temp = ini_get('upload_tmp_dir')) { - if (file_exists($temp)) - return realpath($temp); - } - } - } + /** + * Get the systems temporary directory. + * + * @return string + */ + public static function sys_get_temp_dir() + { + if (self::$useUploadTempDirectory) { + // use upload-directory when defined to allow running on environments having very restricted + // open_basedir configs + if (ini_get('upload_tmp_dir') !== false) { + if ($temp = ini_get('upload_tmp_dir')) { + if (file_exists($temp)) { + return realpath($temp); + } + } + } + } - // sys_get_temp_dir is only available since PHP 5.2.1 - // http://php.net/manual/en/function.sys-get-temp-dir.php#94119 - if ( !function_exists('sys_get_temp_dir')) { - if ($temp = getenv('TMP') ) { - if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } - } - if ($temp = getenv('TEMP') ) { - if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } - } - if ($temp = getenv('TMPDIR') ) { - if ((!empty($temp)) && (file_exists($temp))) { return realpath($temp); } - } + // sys_get_temp_dir is only available since PHP 5.2.1 + // http://php.net/manual/en/function.sys-get-temp-dir.php#94119 + if (!function_exists('sys_get_temp_dir')) { + if ($temp = getenv('TMP')) { + if ((!empty($temp)) && (file_exists($temp))) { + return realpath($temp); + } + } + if ($temp = getenv('TEMP')) { + if ((!empty($temp)) && (file_exists($temp))) { + return realpath($temp); + } + } + if ($temp = getenv('TMPDIR')) { + if ((!empty($temp)) && (file_exists($temp))) { + return realpath($temp); + } + } - // trick for creating a file in system's temporary dir - // without knowing the path of the system's temporary dir - $temp = tempnam(__FILE__, ''); - if (file_exists($temp)) { - unlink($temp); - return realpath(dirname($temp)); - } + // trick for creating a file in system's temporary dir + // without knowing the path of the system's temporary dir + $temp = tempnam(__FILE__, ''); + if (file_exists($temp)) { + unlink($temp); + return realpath(dirname($temp)); + } - return null; - } - - // use ordinary built-in PHP function - // There should be no problem with the 5.2.4 Suhosin realpath() bug, because this line should only - // be called if we're running 5.2.1 or earlier - return realpath(sys_get_temp_dir()); - } + return null; + } + // use ordinary built-in PHP function + // There should be no problem with the 5.2.4 Suhosin realpath() bug, because this line should only + // be called if we're running 5.2.1 or earlier + return realpath(sys_get_temp_dir()); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php index 8e5b27b8f..7efb3c96b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/Font.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,241 +31,242 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Shared_Font { - /* Methods for resolving autosize value */ - const AUTOSIZE_METHOD_APPROX = 'approx'; - const AUTOSIZE_METHOD_EXACT = 'exact'; + /* Methods for resolving autosize value */ + const AUTOSIZE_METHOD_APPROX = 'approx'; + const AUTOSIZE_METHOD_EXACT = 'exact'; - private static $_autoSizeMethods = array( - self::AUTOSIZE_METHOD_APPROX, - self::AUTOSIZE_METHOD_EXACT, - ); + private static $autoSizeMethods = array( + self::AUTOSIZE_METHOD_APPROX, + self::AUTOSIZE_METHOD_EXACT, + ); - /** Character set codes used by BIFF5-8 in Font records */ - const CHARSET_ANSI_LATIN = 0x00; - const CHARSET_SYSTEM_DEFAULT = 0x01; - const CHARSET_SYMBOL = 0x02; - const CHARSET_APPLE_ROMAN = 0x4D; - const CHARSET_ANSI_JAPANESE_SHIFTJIS = 0x80; - const CHARSET_ANSI_KOREAN_HANGUL = 0x81; - const CHARSET_ANSI_KOREAN_JOHAB = 0x82; - const CHARSET_ANSI_CHINESE_SIMIPLIFIED = 0x86; // gb2312 - const CHARSET_ANSI_CHINESE_TRADITIONAL = 0x88; // big5 - const CHARSET_ANSI_GREEK = 0xA1; - const CHARSET_ANSI_TURKISH = 0xA2; - const CHARSET_ANSI_VIETNAMESE = 0xA3; - const CHARSET_ANSI_HEBREW = 0xB1; - const CHARSET_ANSI_ARABIC = 0xB2; - const CHARSET_ANSI_BALTIC = 0xBA; - const CHARSET_ANSI_CYRILLIC = 0xCC; - const CHARSET_ANSI_THAI = 0xDD; - const CHARSET_ANSI_LATIN_II = 0xEE; - const CHARSET_OEM_LATIN_I = 0xFF; + /** Character set codes used by BIFF5-8 in Font records */ + const CHARSET_ANSI_LATIN = 0x00; + const CHARSET_SYSTEM_DEFAULT = 0x01; + const CHARSET_SYMBOL = 0x02; + const CHARSET_APPLE_ROMAN = 0x4D; + const CHARSET_ANSI_JAPANESE_SHIFTJIS = 0x80; + const CHARSET_ANSI_KOREAN_HANGUL = 0x81; + const CHARSET_ANSI_KOREAN_JOHAB = 0x82; + const CHARSET_ANSI_CHINESE_SIMIPLIFIED = 0x86; // gb2312 + const CHARSET_ANSI_CHINESE_TRADITIONAL = 0x88; // big5 + const CHARSET_ANSI_GREEK = 0xA1; + const CHARSET_ANSI_TURKISH = 0xA2; + const CHARSET_ANSI_VIETNAMESE = 0xA3; + const CHARSET_ANSI_HEBREW = 0xB1; + const CHARSET_ANSI_ARABIC = 0xB2; + const CHARSET_ANSI_BALTIC = 0xBA; + const CHARSET_ANSI_CYRILLIC = 0xCC; + const CHARSET_ANSI_THAI = 0xDD; + const CHARSET_ANSI_LATIN_II = 0xEE; + const CHARSET_OEM_LATIN_I = 0xFF; - // XXX: Constants created! - /** Font filenames */ - const ARIAL = 'arial.ttf'; - const ARIAL_BOLD = 'arialbd.ttf'; - const ARIAL_ITALIC = 'ariali.ttf'; - const ARIAL_BOLD_ITALIC = 'arialbi.ttf'; + // XXX: Constants created! + /** Font filenames */ + const ARIAL = 'arial.ttf'; + const ARIAL_BOLD = 'arialbd.ttf'; + const ARIAL_ITALIC = 'ariali.ttf'; + const ARIAL_BOLD_ITALIC = 'arialbi.ttf'; - const CALIBRI = 'CALIBRI.TTF'; - const CALIBRI_BOLD = 'CALIBRIB.TTF'; - const CALIBRI_ITALIC = 'CALIBRII.TTF'; - const CALIBRI_BOLD_ITALIC = 'CALIBRIZ.TTF'; + const CALIBRI = 'CALIBRI.TTF'; + const CALIBRI_BOLD = 'CALIBRIB.TTF'; + const CALIBRI_ITALIC = 'CALIBRII.TTF'; + const CALIBRI_BOLD_ITALIC = 'CALIBRIZ.TTF'; - const COMIC_SANS_MS = 'comic.ttf'; - const COMIC_SANS_MS_BOLD = 'comicbd.ttf'; + const COMIC_SANS_MS = 'comic.ttf'; + const COMIC_SANS_MS_BOLD = 'comicbd.ttf'; - const COURIER_NEW = 'cour.ttf'; - const COURIER_NEW_BOLD = 'courbd.ttf'; - const COURIER_NEW_ITALIC = 'couri.ttf'; - const COURIER_NEW_BOLD_ITALIC = 'courbi.ttf'; + const COURIER_NEW = 'cour.ttf'; + const COURIER_NEW_BOLD = 'courbd.ttf'; + const COURIER_NEW_ITALIC = 'couri.ttf'; + const COURIER_NEW_BOLD_ITALIC = 'courbi.ttf'; - const GEORGIA = 'georgia.ttf'; - const GEORGIA_BOLD = 'georgiab.ttf'; - const GEORGIA_ITALIC = 'georgiai.ttf'; - const GEORGIA_BOLD_ITALIC = 'georgiaz.ttf'; + const GEORGIA = 'georgia.ttf'; + const GEORGIA_BOLD = 'georgiab.ttf'; + const GEORGIA_ITALIC = 'georgiai.ttf'; + const GEORGIA_BOLD_ITALIC = 'georgiaz.ttf'; - const IMPACT = 'impact.ttf'; + const IMPACT = 'impact.ttf'; - const LIBERATION_SANS = 'LiberationSans-Regular.ttf'; - const LIBERATION_SANS_BOLD = 'LiberationSans-Bold.ttf'; - const LIBERATION_SANS_ITALIC = 'LiberationSans-Italic.ttf'; - const LIBERATION_SANS_BOLD_ITALIC = 'LiberationSans-BoldItalic.ttf'; + const LIBERATION_SANS = 'LiberationSans-Regular.ttf'; + const LIBERATION_SANS_BOLD = 'LiberationSans-Bold.ttf'; + const LIBERATION_SANS_ITALIC = 'LiberationSans-Italic.ttf'; + const LIBERATION_SANS_BOLD_ITALIC = 'LiberationSans-BoldItalic.ttf'; - const LUCIDA_CONSOLE = 'lucon.ttf'; - const LUCIDA_SANS_UNICODE = 'l_10646.ttf'; + const LUCIDA_CONSOLE = 'lucon.ttf'; + const LUCIDA_SANS_UNICODE = 'l_10646.ttf'; - const MICROSOFT_SANS_SERIF = 'micross.ttf'; + const MICROSOFT_SANS_SERIF = 'micross.ttf'; - const PALATINO_LINOTYPE = 'pala.ttf'; - const PALATINO_LINOTYPE_BOLD = 'palab.ttf'; - const PALATINO_LINOTYPE_ITALIC = 'palai.ttf'; - const PALATINO_LINOTYPE_BOLD_ITALIC = 'palabi.ttf'; + const PALATINO_LINOTYPE = 'pala.ttf'; + const PALATINO_LINOTYPE_BOLD = 'palab.ttf'; + const PALATINO_LINOTYPE_ITALIC = 'palai.ttf'; + const PALATINO_LINOTYPE_BOLD_ITALIC = 'palabi.ttf'; - const SYMBOL = 'symbol.ttf'; + const SYMBOL = 'symbol.ttf'; - const TAHOMA = 'tahoma.ttf'; - const TAHOMA_BOLD = 'tahomabd.ttf'; + const TAHOMA = 'tahoma.ttf'; + const TAHOMA_BOLD = 'tahomabd.ttf'; - const TIMES_NEW_ROMAN = 'times.ttf'; - const TIMES_NEW_ROMAN_BOLD = 'timesbd.ttf'; - const TIMES_NEW_ROMAN_ITALIC = 'timesi.ttf'; - const TIMES_NEW_ROMAN_BOLD_ITALIC = 'timesbi.ttf'; + const TIMES_NEW_ROMAN = 'times.ttf'; + const TIMES_NEW_ROMAN_BOLD = 'timesbd.ttf'; + const TIMES_NEW_ROMAN_ITALIC = 'timesi.ttf'; + const TIMES_NEW_ROMAN_BOLD_ITALIC = 'timesbi.ttf'; - const TREBUCHET_MS = 'trebuc.ttf'; - const TREBUCHET_MS_BOLD = 'trebucbd.ttf'; - const TREBUCHET_MS_ITALIC = 'trebucit.ttf'; - const TREBUCHET_MS_BOLD_ITALIC = 'trebucbi.ttf'; + const TREBUCHET_MS = 'trebuc.ttf'; + const TREBUCHET_MS_BOLD = 'trebucbd.ttf'; + const TREBUCHET_MS_ITALIC = 'trebucit.ttf'; + const TREBUCHET_MS_BOLD_ITALIC = 'trebucbi.ttf'; - const VERDANA = 'verdana.ttf'; - const VERDANA_BOLD = 'verdanab.ttf'; - const VERDANA_ITALIC = 'verdanai.ttf'; - const VERDANA_BOLD_ITALIC = 'verdanaz.ttf'; - - /** - * AutoSize method - * - * @var string - */ - private static $autoSizeMethod = self::AUTOSIZE_METHOD_APPROX; - - /** - * Path to folder containing TrueType font .ttf files - * - * @var string - */ - private static $trueTypeFontPath = null; - - /** - * How wide is a default column for a given default font and size? - * Empirical data found by inspecting real Excel files and reading off the pixel width - * in Microsoft Office Excel 2007. - * - * @var array - */ - public static $defaultColumnWidths = array( - 'Arial' => array( - 1 => array('px' => 24, 'width' => 12.00000000), - 2 => array('px' => 24, 'width' => 12.00000000), - 3 => array('px' => 32, 'width' => 10.66406250), - 4 => array('px' => 32, 'width' => 10.66406250), - 5 => array('px' => 40, 'width' => 10.00000000), - 6 => array('px' => 48, 'width' => 9.59765625), - 7 => array('px' => 48, 'width' => 9.59765625), - 8 => array('px' => 56, 'width' => 9.33203125), - 9 => array('px' => 64, 'width' => 9.14062500), - 10 => array('px' => 64, 'width' => 9.14062500), - ), - 'Calibri' => array( - 1 => array('px' => 24, 'width' => 12.00000000), - 2 => array('px' => 24, 'width' => 12.00000000), - 3 => array('px' => 32, 'width' => 10.66406250), - 4 => array('px' => 32, 'width' => 10.66406250), - 5 => array('px' => 40, 'width' => 10.00000000), - 6 => array('px' => 48, 'width' => 9.59765625), - 7 => array('px' => 48, 'width' => 9.59765625), - 8 => array('px' => 56, 'width' => 9.33203125), - 9 => array('px' => 56, 'width' => 9.33203125), - 10 => array('px' => 64, 'width' => 9.14062500), - 11 => array('px' => 64, 'width' => 9.14062500), - ), - 'Verdana' => array( - 1 => array('px' => 24, 'width' => 12.00000000), - 2 => array('px' => 24, 'width' => 12.00000000), - 3 => array('px' => 32, 'width' => 10.66406250), - 4 => array('px' => 32, 'width' => 10.66406250), - 5 => array('px' => 40, 'width' => 10.00000000), - 6 => array('px' => 48, 'width' => 9.59765625), - 7 => array('px' => 48, 'width' => 9.59765625), - 8 => array('px' => 64, 'width' => 9.14062500), - 9 => array('px' => 72, 'width' => 9.00000000), - 10 => array('px' => 72, 'width' => 9.00000000), - ), - ); - - /** - * Set autoSize method - * - * @param string $pValue - * @return boolean Success or failure - */ - public static function setAutoSizeMethod($pValue = self::AUTOSIZE_METHOD_APPROX) - { - if (!in_array($pValue,self::$_autoSizeMethods)) { - return FALSE; - } - self::$autoSizeMethod = $pValue; - - return TRUE; - } - - /** - * Get autoSize method - * - * @return string - */ - public static function getAutoSizeMethod() - { - return self::$autoSizeMethod; - } - - /** - * Set the path to the folder containing .ttf files. There should be a trailing slash. - * Typical locations on variout some platforms: - * <ul> - * <li>C:/Windows/Fonts/</li> - * <li>/usr/share/fonts/truetype/</li> - * <li>~/.fonts/</li> - * </ul> - * - * @param string $pValue - */ - public static function setTrueTypeFontPath($pValue = '') - { - self::$trueTypeFontPath = $pValue; - } - - /** - * Get the path to the folder containing .ttf files. - * - * @return string - */ - public static function getTrueTypeFontPath() - { - return self::$trueTypeFontPath; - } + const VERDANA = 'verdana.ttf'; + const VERDANA_BOLD = 'verdanab.ttf'; + const VERDANA_ITALIC = 'verdanai.ttf'; + const VERDANA_BOLD_ITALIC = 'verdanaz.ttf'; /** - * Calculate an (approximate) OpenXML column width, based on font size and text contained - * - * @param PHPExcel_Style_Font $font Font object - * @param PHPExcel_RichText|string $cellText Text to calculate width - * @param integer $rotation Rotation angle - * @param PHPExcel_Style_Font|NULL $defaultFont Font object - * @return integer Column width - */ - public static function calculateColumnWidth(PHPExcel_Style_Font $font, $cellText = '', $rotation = 0, PHPExcel_Style_Font $defaultFont = null) { - // If it is rich text, use plain text - if ($cellText instanceof PHPExcel_RichText) { - $cellText = $cellText->getPlainText(); - } + * AutoSize method + * + * @var string + */ + private static $autoSizeMethod = self::AUTOSIZE_METHOD_APPROX; - // Special case if there are one or more newline characters ("\n") - if (strpos($cellText, "\n") !== false) { - $lineTexts = explode("\n", $cellText); - $lineWidths = array(); - foreach ($lineTexts as $lineText) { - $lineWidths[] = self::calculateColumnWidth($font, $lineText, $rotation = 0, $defaultFont); - } - return max($lineWidths); // width of longest line in cell - } + /** + * Path to folder containing TrueType font .ttf files + * + * @var string + */ + private static $trueTypeFontPath = null; - // Try to get the exact text width in pixels + /** + * How wide is a default column for a given default font and size? + * Empirical data found by inspecting real Excel files and reading off the pixel width + * in Microsoft Office Excel 2007. + * + * @var array + */ + public static $defaultColumnWidths = array( + 'Arial' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 56, 'width' => 9.33203125), + 9 => array('px' => 64, 'width' => 9.14062500), + 10 => array('px' => 64, 'width' => 9.14062500), + ), + 'Calibri' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 56, 'width' => 9.33203125), + 9 => array('px' => 56, 'width' => 9.33203125), + 10 => array('px' => 64, 'width' => 9.14062500), + 11 => array('px' => 64, 'width' => 9.14062500), + ), + 'Verdana' => array( + 1 => array('px' => 24, 'width' => 12.00000000), + 2 => array('px' => 24, 'width' => 12.00000000), + 3 => array('px' => 32, 'width' => 10.66406250), + 4 => array('px' => 32, 'width' => 10.66406250), + 5 => array('px' => 40, 'width' => 10.00000000), + 6 => array('px' => 48, 'width' => 9.59765625), + 7 => array('px' => 48, 'width' => 9.59765625), + 8 => array('px' => 64, 'width' => 9.14062500), + 9 => array('px' => 72, 'width' => 9.00000000), + 10 => array('px' => 72, 'width' => 9.00000000), + ), + ); + + /** + * Set autoSize method + * + * @param string $pValue + * @return boolean Success or failure + */ + public static function setAutoSizeMethod($pValue = self::AUTOSIZE_METHOD_APPROX) + { + if (!in_array($pValue, self::$autoSizeMethods)) { + return false; + } + self::$autoSizeMethod = $pValue; + + return true; + } + + /** + * Get autoSize method + * + * @return string + */ + public static function getAutoSizeMethod() + { + return self::$autoSizeMethod; + } + + /** + * Set the path to the folder containing .ttf files. There should be a trailing slash. + * Typical locations on variout some platforms: + * <ul> + * <li>C:/Windows/Fonts/</li> + * <li>/usr/share/fonts/truetype/</li> + * <li>~/.fonts/</li> + * </ul> + * + * @param string $pValue + */ + public static function setTrueTypeFontPath($pValue = '') + { + self::$trueTypeFontPath = $pValue; + } + + /** + * Get the path to the folder containing .ttf files. + * + * @return string + */ + public static function getTrueTypeFontPath() + { + return self::$trueTypeFontPath; + } + + /** + * Calculate an (approximate) OpenXML column width, based on font size and text contained + * + * @param PHPExcel_Style_Font $font Font object + * @param PHPExcel_RichText|string $cellText Text to calculate width + * @param integer $rotation Rotation angle + * @param PHPExcel_Style_Font|NULL $defaultFont Font object + * @return integer Column width + */ + public static function calculateColumnWidth(PHPExcel_Style_Font $font, $cellText = '', $rotation = 0, PHPExcel_Style_Font $defaultFont = null) + { + // If it is rich text, use plain text + if ($cellText instanceof PHPExcel_RichText) { + $cellText = $cellText->getPlainText(); + } + + // Special case if there are one or more newline characters ("\n") + if (strpos($cellText, "\n") !== false) { + $lineTexts = explode("\n", $cellText); + $lineWidths = array(); + foreach ($lineTexts as $lineText) { + $lineWidths[] = self::calculateColumnWidth($font, $lineText, $rotation = 0, $defaultFont); + } + return max($lineWidths); // width of longest line in cell + } + + // Try to get the exact text width in pixels $approximate = self::$autoSizeMethod == self::AUTOSIZE_METHOD_APPROX; if (!$approximate) { $columnWidthAdjust = ceil(self::getTextWidthPixelsExact('n', $font, 0) * 1.07); @@ -280,494 +281,461 @@ class PHPExcel_Shared_Font if ($approximate) { $columnWidthAdjust = self::getTextWidthPixelsApprox('n', $font, 0); - // Width of text in pixels excl. padding, approximation - // and addition because Excel adds some padding, just use approx width of 'n' glyph - $columnWidth = self::getTextWidthPixelsApprox($cellText, $font, $rotation) + $columnWidthAdjust; + // Width of text in pixels excl. padding, approximation + // and addition because Excel adds some padding, just use approx width of 'n' glyph + $columnWidth = self::getTextWidthPixelsApprox($cellText, $font, $rotation) + $columnWidthAdjust; } - // Convert from pixel width to column width - $columnWidth = PHPExcel_Shared_Drawing::pixelsToCellDimension($columnWidth, $defaultFont); + // Convert from pixel width to column width + $columnWidth = PHPExcel_Shared_Drawing::pixelsToCellDimension($columnWidth, $defaultFont); - // Return - return round($columnWidth, 6); - } + // Return + return round($columnWidth, 6); + } - /** - * Get GD text width in pixels for a string of text in a certain font at a certain rotation angle - * - * @param string $text - * @param PHPExcel_Style_Font - * @param int $rotation - * @return int - * @throws PHPExcel_Exception - */ - public static function getTextWidthPixelsExact($text, PHPExcel_Style_Font $font, $rotation = 0) { - if (!function_exists('imagettfbbox')) { - throw new PHPExcel_Exception('GD library needs to be enabled'); - } + /** + * Get GD text width in pixels for a string of text in a certain font at a certain rotation angle + * + * @param string $text + * @param PHPExcel_Style_Font + * @param int $rotation + * @return int + * @throws PHPExcel_Exception + */ + public static function getTextWidthPixelsExact($text, PHPExcel_Style_Font $font, $rotation = 0) + { + if (!function_exists('imagettfbbox')) { + throw new PHPExcel_Exception('GD library needs to be enabled'); + } - // font size should really be supplied in pixels in GD2, - // but since GD2 seems to assume 72dpi, pixels and points are the same - $fontFile = self::getTrueTypeFontFileFromFont($font); - $textBox = imagettfbbox($font->getSize(), $rotation, $fontFile, $text); + // font size should really be supplied in pixels in GD2, + // but since GD2 seems to assume 72dpi, pixels and points are the same + $fontFile = self::getTrueTypeFontFileFromFont($font); + $textBox = imagettfbbox($font->getSize(), $rotation, $fontFile, $text); - // Get corners positions - $lowerLeftCornerX = $textBox[0]; -// $lowerLeftCornerY = $textBox[1]; - $lowerRightCornerX = $textBox[2]; -// $lowerRightCornerY = $textBox[3]; - $upperRightCornerX = $textBox[4]; -// $upperRightCornerY = $textBox[5]; - $upperLeftCornerX = $textBox[6]; -// $upperLeftCornerY = $textBox[7]; + // Get corners positions + $lowerLeftCornerX = $textBox[0]; +// $lowerLeftCornerY = $textBox[1]; + $lowerRightCornerX = $textBox[2]; +// $lowerRightCornerY = $textBox[3]; + $upperRightCornerX = $textBox[4]; +// $upperRightCornerY = $textBox[5]; + $upperLeftCornerX = $textBox[6]; +// $upperLeftCornerY = $textBox[7]; - // Consider the rotation when calculating the width - $textWidth = max($lowerRightCornerX - $upperLeftCornerX, $upperRightCornerX - $lowerLeftCornerX); + // Consider the rotation when calculating the width + $textWidth = max($lowerRightCornerX - $upperLeftCornerX, $upperRightCornerX - $lowerLeftCornerX); - return $textWidth; - } + return $textWidth; + } - /** - * Get approximate width in pixels for a string of text in a certain font at a certain rotation angle - * - * @param string $columnText - * @param PHPExcel_Style_Font $font - * @param int $rotation - * @return int Text width in pixels (no padding added) - */ - public static function getTextWidthPixelsApprox($columnText, PHPExcel_Style_Font $font = null, $rotation = 0) - { - $fontName = $font->getName(); - $fontSize = $font->getSize(); + /** + * Get approximate width in pixels for a string of text in a certain font at a certain rotation angle + * + * @param string $columnText + * @param PHPExcel_Style_Font $font + * @param int $rotation + * @return int Text width in pixels (no padding added) + */ + public static function getTextWidthPixelsApprox($columnText, PHPExcel_Style_Font $font = null, $rotation = 0) + { + $fontName = $font->getName(); + $fontSize = $font->getSize(); - // Calculate column width in pixels. We assume fixed glyph width. Result varies with font name and size. - switch ($fontName) { - case 'Calibri': - // value 8.26 was found via interpolation by inspecting real Excel files with Calibri 11 font. - $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); - $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size - break; - - case 'Arial': - // value 7 was found via interpolation by inspecting real Excel files with Arial 10 font. -// $columnWidth = (int) (7 * PHPExcel_Shared_String::CountCharacters($columnText)); - // value 8 was set because of experience in different exports at Arial 10 font. - $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); - $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size + // Calculate column width in pixels. We assume fixed glyph width. Result varies with font name and size. + switch ($fontName) { + case 'Calibri': + // value 8.26 was found via interpolation by inspecting real Excel files with Calibri 11 font. + $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size break; - case 'Verdana': - // value 8 was found via interpolation by inspecting real Excel files with Verdana 10 font. - $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); - $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size - break; + case 'Arial': + // value 7 was found via interpolation by inspecting real Excel files with Arial 10 font. +// $columnWidth = (int) (7 * PHPExcel_Shared_String::CountCharacters($columnText)); + // value 8 was set because of experience in different exports at Arial 10 font. + $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size + break; - default: - // just assume Calibri - $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); - $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size - break; - } + case 'Verdana': + // value 8 was found via interpolation by inspecting real Excel files with Verdana 10 font. + $columnWidth = (int) (8 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 10; // extrapolate from font size + break; - // Calculate approximate rotated column width - if ($rotation !== 0) { - if ($rotation == -165) { - // stacked text - $columnWidth = 4; // approximation - } else { - // rotated text - $columnWidth = $columnWidth * cos(deg2rad($rotation)) - + $fontSize * abs(sin(deg2rad($rotation))) / 5; // approximation - } - } + default: + // just assume Calibri + $columnWidth = (int) (8.26 * PHPExcel_Shared_String::CountCharacters($columnText)); + $columnWidth = $columnWidth * $fontSize / 11; // extrapolate from font size + break; + } - // pixel width is an integer - return (int) $columnWidth; - } + // Calculate approximate rotated column width + if ($rotation !== 0) { + if ($rotation == -165) { + // stacked text + $columnWidth = 4; // approximation + } else { + // rotated text + $columnWidth = $columnWidth * cos(deg2rad($rotation)) + + $fontSize * abs(sin(deg2rad($rotation))) / 5; // approximation + } + } - /** - * Calculate an (approximate) pixel size, based on a font points size - * - * @param int $fontSizeInPoints Font size (in points) - * @return int Font size (in pixels) - */ - public static function fontSizeToPixels($fontSizeInPoints = 11) { - return (int) ((4 / 3) * $fontSizeInPoints); - } + // pixel width is an integer + return (int) $columnWidth; + } - /** - * Calculate an (approximate) pixel size, based on inch size - * - * @param int $sizeInInch Font size (in inch) - * @return int Size (in pixels) - */ - public static function inchSizeToPixels($sizeInInch = 1) { - return ($sizeInInch * 96); - } + /** + * Calculate an (approximate) pixel size, based on a font points size + * + * @param int $fontSizeInPoints Font size (in points) + * @return int Font size (in pixels) + */ + public static function fontSizeToPixels($fontSizeInPoints = 11) + { + return (int) ((4 / 3) * $fontSizeInPoints); + } - /** - * Calculate an (approximate) pixel size, based on centimeter size - * - * @param int $sizeInCm Font size (in centimeters) - * @return int Size (in pixels) - */ - public static function centimeterSizeToPixels($sizeInCm = 1) { - return ($sizeInCm * 37.795275591); - } + /** + * Calculate an (approximate) pixel size, based on inch size + * + * @param int $sizeInInch Font size (in inch) + * @return int Size (in pixels) + */ + public static function inchSizeToPixels($sizeInInch = 1) + { + return ($sizeInInch * 96); + } - /** - * Returns the font path given the font - * - * @param PHPExcel_Style_Font - * @return string Path to TrueType font file - */ - public static function getTrueTypeFontFileFromFont($font) { - if (!file_exists(self::$trueTypeFontPath) || !is_dir(self::$trueTypeFontPath)) { - throw new PHPExcel_Exception('Valid directory to TrueType Font files not specified'); - } + /** + * Calculate an (approximate) pixel size, based on centimeter size + * + * @param int $sizeInCm Font size (in centimeters) + * @return int Size (in pixels) + */ + public static function centimeterSizeToPixels($sizeInCm = 1) + { + return ($sizeInCm * 37.795275591); + } - $name = $font->getName(); - $bold = $font->getBold(); - $italic = $font->getItalic(); + /** + * Returns the font path given the font + * + * @param PHPExcel_Style_Font + * @return string Path to TrueType font file + */ + public static function getTrueTypeFontFileFromFont($font) + { + if (!file_exists(self::$trueTypeFontPath) || !is_dir(self::$trueTypeFontPath)) { + throw new PHPExcel_Exception('Valid directory to TrueType Font files not specified'); + } - // Check if we can map font to true type font file - switch ($name) { - case 'Arial': - $fontFile = ( - $bold ? ($italic ? self::ARIAL_BOLD_ITALIC : self::ARIAL_BOLD) - : ($italic ? self::ARIAL_ITALIC : self::ARIAL) - ); - break; + $name = $font->getName(); + $bold = $font->getBold(); + $italic = $font->getItalic(); - case 'Calibri': - $fontFile = ( - $bold ? ($italic ? self::CALIBRI_BOLD_ITALIC : self::CALIBRI_BOLD) - : ($italic ? self::CALIBRI_ITALIC : self::CALIBRI) - ); - break; + // Check if we can map font to true type font file + switch ($name) { + case 'Arial': + $fontFile = ( + $bold ? ($italic ? self::ARIAL_BOLD_ITALIC : self::ARIAL_BOLD) + : ($italic ? self::ARIAL_ITALIC : self::ARIAL) + ); + break; + case 'Calibri': + $fontFile = ( + $bold ? ($italic ? self::CALIBRI_BOLD_ITALIC : self::CALIBRI_BOLD) + : ($italic ? self::CALIBRI_ITALIC : self::CALIBRI) + ); + break; + case 'Courier New': + $fontFile = ( + $bold ? ($italic ? self::COURIER_NEW_BOLD_ITALIC : self::COURIER_NEW_BOLD) + : ($italic ? self::COURIER_NEW_ITALIC : self::COURIER_NEW) + ); + break; + case 'Comic Sans MS': + $fontFile = ( + $bold ? self::COMIC_SANS_MS_BOLD : self::COMIC_SANS_MS + ); + break; + case 'Georgia': + $fontFile = ( + $bold ? ($italic ? self::GEORGIA_BOLD_ITALIC : self::GEORGIA_BOLD) + : ($italic ? self::GEORGIA_ITALIC : self::GEORGIA) + ); + break; + case 'Impact': + $fontFile = self::IMPACT; + break; + case 'Liberation Sans': + $fontFile = ( + $bold ? ($italic ? self::LIBERATION_SANS_BOLD_ITALIC : self::LIBERATION_SANS_BOLD) + : ($italic ? self::LIBERATION_SANS_ITALIC : self::LIBERATION_SANS) + ); + break; + case 'Lucida Console': + $fontFile = self::LUCIDA_CONSOLE; + break; + case 'Lucida Sans Unicode': + $fontFile = self::LUCIDA_SANS_UNICODE; + break; + case 'Microsoft Sans Serif': + $fontFile = self::MICROSOFT_SANS_SERIF; + break; + case 'Palatino Linotype': + $fontFile = ( + $bold ? ($italic ? self::PALATINO_LINOTYPE_BOLD_ITALIC : self::PALATINO_LINOTYPE_BOLD) + : ($italic ? self::PALATINO_LINOTYPE_ITALIC : self::PALATINO_LINOTYPE) + ); + break; + case 'Symbol': + $fontFile = self::SYMBOL; + break; + case 'Tahoma': + $fontFile = ( + $bold ? self::TAHOMA_BOLD : self::TAHOMA + ); + break; + case 'Times New Roman': + $fontFile = ( + $bold ? ($italic ? self::TIMES_NEW_ROMAN_BOLD_ITALIC : self::TIMES_NEW_ROMAN_BOLD) + : ($italic ? self::TIMES_NEW_ROMAN_ITALIC : self::TIMES_NEW_ROMAN) + ); + break; + case 'Trebuchet MS': + $fontFile = ( + $bold ? ($italic ? self::TREBUCHET_MS_BOLD_ITALIC : self::TREBUCHET_MS_BOLD) + : ($italic ? self::TREBUCHET_MS_ITALIC : self::TREBUCHET_MS) + ); + break; + case 'Verdana': + $fontFile = ( + $bold ? ($italic ? self::VERDANA_BOLD_ITALIC : self::VERDANA_BOLD) + : ($italic ? self::VERDANA_ITALIC : self::VERDANA) + ); + break; + default: + throw new PHPExcel_Exception('Unknown font name "'. $name .'". Cannot map to TrueType font file'); + break; + } - case 'Courier New': - $fontFile = ( - $bold ? ($italic ? self::COURIER_NEW_BOLD_ITALIC : self::COURIER_NEW_BOLD) - : ($italic ? self::COURIER_NEW_ITALIC : self::COURIER_NEW) - ); - break; + $fontFile = self::$trueTypeFontPath . $fontFile; - case 'Comic Sans MS': - $fontFile = ( - $bold ? self::COMIC_SANS_MS_BOLD : self::COMIC_SANS_MS - ); - break; + // Check if file actually exists + if (!file_exists($fontFile)) { + throw new PHPExcel_Exception('TrueType Font file not found'); + } - case 'Georgia': - $fontFile = ( - $bold ? ($italic ? self::GEORGIA_BOLD_ITALIC : self::GEORGIA_BOLD) - : ($italic ? self::GEORGIA_ITALIC : self::GEORGIA) - ); - break; + return $fontFile; + } - case 'Impact': - $fontFile = self::IMPACT; - break; + /** + * Returns the associated charset for the font name. + * + * @param string $name Font name + * @return int Character set code + */ + public static function getCharsetFromFontName($name) + { + switch ($name) { + // Add more cases. Check FONT records in real Excel files. + case 'EucrosiaUPC': + return self::CHARSET_ANSI_THAI; + case 'Wingdings': + return self::CHARSET_SYMBOL; + case 'Wingdings 2': + return self::CHARSET_SYMBOL; + case 'Wingdings 3': + return self::CHARSET_SYMBOL; + default: + return self::CHARSET_ANSI_LATIN; + } + } - case 'Liberation Sans': - $fontFile = ( - $bold ? ($italic ? self::LIBERATION_SANS_BOLD_ITALIC : self::LIBERATION_SANS_BOLD) - : ($italic ? self::LIBERATION_SANS_ITALIC : self::LIBERATION_SANS) - ); - break; + /** + * Get the effective column width for columns without a column dimension or column with width -1 + * For example, for Calibri 11 this is 9.140625 (64 px) + * + * @param PHPExcel_Style_Font $font The workbooks default font + * @param boolean $pPixels true = return column width in pixels, false = return in OOXML units + * @return mixed Column width + */ + public static function getDefaultColumnWidthByFont(PHPExcel_Style_Font $font, $pPixels = false) + { + if (isset(self::$defaultColumnWidths[$font->getName()][$font->getSize()])) { + // Exact width can be determined + $columnWidth = $pPixels ? + self::$defaultColumnWidths[$font->getName()][$font->getSize()]['px'] + : self::$defaultColumnWidths[$font->getName()][$font->getSize()]['width']; - case 'Lucida Console': - $fontFile = self::LUCIDA_CONSOLE; - break; + } else { + // We don't have data for this particular font and size, use approximation by + // extrapolating from Calibri 11 + $columnWidth = $pPixels ? + self::$defaultColumnWidths['Calibri'][11]['px'] + : self::$defaultColumnWidths['Calibri'][11]['width']; + $columnWidth = $columnWidth * $font->getSize() / 11; - case 'Lucida Sans Unicode': - $fontFile = self::LUCIDA_SANS_UNICODE; - break; + // Round pixels to closest integer + if ($pPixels) { + $columnWidth = (int) round($columnWidth); + } + } - case 'Microsoft Sans Serif': - $fontFile = self::MICROSOFT_SANS_SERIF; - break; + return $columnWidth; + } - case 'Palatino Linotype': - $fontFile = ( - $bold ? ($italic ? self::PALATINO_LINOTYPE_BOLD_ITALIC : self::PALATINO_LINOTYPE_BOLD) - : ($italic ? self::PALATINO_LINOTYPE_ITALIC : self::PALATINO_LINOTYPE) - ); - break; + /** + * Get the effective row height for rows without a row dimension or rows with height -1 + * For example, for Calibri 11 this is 15 points + * + * @param PHPExcel_Style_Font $font The workbooks default font + * @return float Row height in points + */ + public static function getDefaultRowHeightByFont(PHPExcel_Style_Font $font) + { + switch ($font->getName()) { + case 'Arial': + switch ($font->getSize()) { + case 10: + // inspection of Arial 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + case 9: + // inspection of Arial 9 workbook says 12.00pt ~16px + $rowHeight = 12; + break; + case 8: + // inspection of Arial 8 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + case 7: + // inspection of Arial 7 workbook says 9.00pt ~12px + $rowHeight = 9; + break; + case 6: + case 5: + // inspection of Arial 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + case 4: + // inspection of Arial 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + case 3: + // inspection of Arial 3 workbook says 6.00pt ~8px + $rowHeight = 6; + break; + case 2: + case 1: + // inspection of Arial 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + default: + // use Arial 10 workbook as an approximation, extrapolation + $rowHeight = 12.75 * $font->getSize() / 10; + break; + } + break; - case 'Symbol': - $fontFile = self::SYMBOL; - break; + case 'Calibri': + switch ($font->getSize()) { + case 11: + // inspection of Calibri 11 workbook says 15.00pt ~20px + $rowHeight = 15; + break; + case 10: + // inspection of Calibri 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + case 9: + // inspection of Calibri 9 workbook says 12.00pt ~16px + $rowHeight = 12; + break; + case 8: + // inspection of Calibri 8 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + case 7: + // inspection of Calibri 7 workbook says 9.00pt ~12px + $rowHeight = 9; + break; + case 6: + case 5: + // inspection of Calibri 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + case 4: + // inspection of Calibri 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + case 3: + // inspection of Calibri 3 workbook says 6.00pt ~8px + $rowHeight = 6.00; + break; + case 2: + case 1: + // inspection of Calibri 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + default: + // use Calibri 11 workbook as an approximation, extrapolation + $rowHeight = 15 * $font->getSize() / 11; + break; + } + break; - case 'Tahoma': - $fontFile = ( - $bold ? self::TAHOMA_BOLD : self::TAHOMA - ); - break; - - case 'Times New Roman': - $fontFile = ( - $bold ? ($italic ? self::TIMES_NEW_ROMAN_BOLD_ITALIC : self::TIMES_NEW_ROMAN_BOLD) - : ($italic ? self::TIMES_NEW_ROMAN_ITALIC : self::TIMES_NEW_ROMAN) - ); - break; - - case 'Trebuchet MS': - $fontFile = ( - $bold ? ($italic ? self::TREBUCHET_MS_BOLD_ITALIC : self::TREBUCHET_MS_BOLD) - : ($italic ? self::TREBUCHET_MS_ITALIC : self::TREBUCHET_MS) - ); - break; - - case 'Verdana': - $fontFile = ( - $bold ? ($italic ? self::VERDANA_BOLD_ITALIC : self::VERDANA_BOLD) - : ($italic ? self::VERDANA_ITALIC : self::VERDANA) - ); - break; - - default: - throw new PHPExcel_Exception('Unknown font name "'. $name .'". Cannot map to TrueType font file'); - break; - } - - $fontFile = self::$trueTypeFontPath . $fontFile; - - // Check if file actually exists - if (!file_exists($fontFile)) { - throw New PHPExcel_Exception('TrueType Font file not found'); - } - - return $fontFile; - } - - /** - * Returns the associated charset for the font name. - * - * @param string $name Font name - * @return int Character set code - */ - public static function getCharsetFromFontName($name) - { - switch ($name) { - // Add more cases. Check FONT records in real Excel files. - case 'EucrosiaUPC': return self::CHARSET_ANSI_THAI; - case 'Wingdings': return self::CHARSET_SYMBOL; - case 'Wingdings 2': return self::CHARSET_SYMBOL; - case 'Wingdings 3': return self::CHARSET_SYMBOL; - default: return self::CHARSET_ANSI_LATIN; - } - } - - /** - * Get the effective column width for columns without a column dimension or column with width -1 - * For example, for Calibri 11 this is 9.140625 (64 px) - * - * @param PHPExcel_Style_Font $font The workbooks default font - * @param boolean $pPixels true = return column width in pixels, false = return in OOXML units - * @return mixed Column width - */ - public static function getDefaultColumnWidthByFont(PHPExcel_Style_Font $font, $pPixels = false) - { - if (isset(self::$defaultColumnWidths[$font->getName()][$font->getSize()])) { - // Exact width can be determined - $columnWidth = $pPixels ? - self::$defaultColumnWidths[$font->getName()][$font->getSize()]['px'] - : self::$defaultColumnWidths[$font->getName()][$font->getSize()]['width']; - - } else { - // We don't have data for this particular font and size, use approximation by - // extrapolating from Calibri 11 - $columnWidth = $pPixels ? - self::$defaultColumnWidths['Calibri'][11]['px'] - : self::$defaultColumnWidths['Calibri'][11]['width']; - $columnWidth = $columnWidth * $font->getSize() / 11; - - // Round pixels to closest integer - if ($pPixels) { - $columnWidth = (int) round($columnWidth); - } - } - - return $columnWidth; - } - - /** - * Get the effective row height for rows without a row dimension or rows with height -1 - * For example, for Calibri 11 this is 15 points - * - * @param PHPExcel_Style_Font $font The workbooks default font - * @return float Row height in points - */ - public static function getDefaultRowHeightByFont(PHPExcel_Style_Font $font) - { - switch ($font->getName()) { - case 'Arial': - switch ($font->getSize()) { - case 10: - // inspection of Arial 10 workbook says 12.75pt ~17px - $rowHeight = 12.75; - break; - - case 9: - // inspection of Arial 9 workbook says 12.00pt ~16px - $rowHeight = 12; - break; - - case 8: - // inspection of Arial 8 workbook says 11.25pt ~15px - $rowHeight = 11.25; - break; - - case 7: - // inspection of Arial 7 workbook says 9.00pt ~12px - $rowHeight = 9; - break; - - case 6: - case 5: - // inspection of Arial 5,6 workbook says 8.25pt ~11px - $rowHeight = 8.25; - break; - - case 4: - // inspection of Arial 4 workbook says 6.75pt ~9px - $rowHeight = 6.75; - break; - - case 3: - // inspection of Arial 3 workbook says 6.00pt ~8px - $rowHeight = 6; - break; - - case 2: - case 1: - // inspection of Arial 1,2 workbook says 5.25pt ~7px - $rowHeight = 5.25; - break; - - default: - // use Arial 10 workbook as an approximation, extrapolation - $rowHeight = 12.75 * $font->getSize() / 10; - break; - } - break; - - case 'Calibri': - switch ($font->getSize()) { - case 11: - // inspection of Calibri 11 workbook says 15.00pt ~20px - $rowHeight = 15; - break; - - case 10: - // inspection of Calibri 10 workbook says 12.75pt ~17px - $rowHeight = 12.75; - break; - - case 9: - // inspection of Calibri 9 workbook says 12.00pt ~16px - $rowHeight = 12; - break; - - case 8: - // inspection of Calibri 8 workbook says 11.25pt ~15px - $rowHeight = 11.25; - break; - - case 7: - // inspection of Calibri 7 workbook says 9.00pt ~12px - $rowHeight = 9; - break; - - case 6: - case 5: - // inspection of Calibri 5,6 workbook says 8.25pt ~11px - $rowHeight = 8.25; - break; - - case 4: - // inspection of Calibri 4 workbook says 6.75pt ~9px - $rowHeight = 6.75; - break; - - case 3: - // inspection of Calibri 3 workbook says 6.00pt ~8px - $rowHeight = 6.00; - break; - - case 2: - case 1: - // inspection of Calibri 1,2 workbook says 5.25pt ~7px - $rowHeight = 5.25; - break; - - default: - // use Calibri 11 workbook as an approximation, extrapolation - $rowHeight = 15 * $font->getSize() / 11; - break; - } - break; - - case 'Verdana': - switch ($font->getSize()) { - case 10: - // inspection of Verdana 10 workbook says 12.75pt ~17px - $rowHeight = 12.75; - break; - - case 9: - // inspection of Verdana 9 workbook says 11.25pt ~15px - $rowHeight = 11.25; - break; - - case 8: - // inspection of Verdana 8 workbook says 10.50pt ~14px - $rowHeight = 10.50; - break; - - case 7: - // inspection of Verdana 7 workbook says 9.00pt ~12px - $rowHeight = 9.00; - break; - - case 6: - case 5: - // inspection of Verdana 5,6 workbook says 8.25pt ~11px - $rowHeight = 8.25; - break; - - case 4: - // inspection of Verdana 4 workbook says 6.75pt ~9px - $rowHeight = 6.75; - break; - - case 3: - // inspection of Verdana 3 workbook says 6.00pt ~8px - $rowHeight = 6; - break; - - case 2: - case 1: - // inspection of Verdana 1,2 workbook says 5.25pt ~7px - $rowHeight = 5.25; - break; - - default: - // use Verdana 10 workbook as an approximation, extrapolation - $rowHeight = 12.75 * $font->getSize() / 10; - break; - } - break; - - default: - // just use Calibri as an approximation - $rowHeight = 15 * $font->getSize() / 11; - break; - } - - return $rowHeight; - } + case 'Verdana': + switch ($font->getSize()) { + case 10: + // inspection of Verdana 10 workbook says 12.75pt ~17px + $rowHeight = 12.75; + break; + case 9: + // inspection of Verdana 9 workbook says 11.25pt ~15px + $rowHeight = 11.25; + break; + case 8: + // inspection of Verdana 8 workbook says 10.50pt ~14px + $rowHeight = 10.50; + break; + case 7: + // inspection of Verdana 7 workbook says 9.00pt ~12px + $rowHeight = 9.00; + break; + case 6: + case 5: + // inspection of Verdana 5,6 workbook says 8.25pt ~11px + $rowHeight = 8.25; + break; + case 4: + // inspection of Verdana 4 workbook says 6.75pt ~9px + $rowHeight = 6.75; + break; + case 3: + // inspection of Verdana 3 workbook says 6.00pt ~8px + $rowHeight = 6; + break; + case 2: + case 1: + // inspection of Verdana 1,2 workbook says 5.25pt ~7px + $rowHeight = 5.25; + break; + default: + // use Verdana 10 workbook as an approximation, extrapolation + $rowHeight = 12.75 * $font->getSize() / 10; + break; + } + break; + default: + // just use Calibri as an approximation + $rowHeight = 15 * $font->getSize() / 11; + break; + } + return $rowHeight; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php index cfbaa53bc..d68109b31 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/CholeskyDecomposition.php @@ -1,149 +1,148 @@ <?php /** - * @package JAMA + * @package JAMA * - * Cholesky decomposition class + * Cholesky decomposition class * - * For a symmetric, positive definite matrix A, the Cholesky decomposition - * is an lower triangular matrix L so that A = L*L'. + * For a symmetric, positive definite matrix A, the Cholesky decomposition + * is an lower triangular matrix L so that A = L*L'. * - * If the matrix is not symmetric or positive definite, the constructor - * returns a partial decomposition and sets an internal flag that may - * be queried by the isSPD() method. + * If the matrix is not symmetric or positive definite, the constructor + * returns a partial decomposition and sets an internal flag that may + * be queried by the isSPD() method. * - * @author Paul Meagher - * @author Michael Bommarito - * @version 1.2 + * @author Paul Meagher + * @author Michael Bommarito + * @version 1.2 */ -class CholeskyDecomposition { +class CholeskyDecomposition +{ + /** + * Decomposition storage + * @var array + * @access private + */ + private $L = array(); - /** - * Decomposition storage - * @var array - * @access private - */ - private $L = array(); + /** + * Matrix row and column dimension + * @var int + * @access private + */ + private $m; - /** - * Matrix row and column dimension - * @var int - * @access private - */ - private $m; + /** + * Symmetric positive definite flag + * @var boolean + * @access private + */ + private $isspd = true; - /** - * Symmetric positive definite flag - * @var boolean - * @access private - */ - private $isspd = true; + /** + * CholeskyDecomposition + * + * Class constructor - decomposes symmetric positive definite matrix + * @param mixed Matrix square symmetric positive definite matrix + */ + public function __construct($A = null) + { + if ($A instanceof Matrix) { + $this->L = $A->getArray(); + $this->m = $A->getRowDimension(); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = $i; $j < $this->m; ++$j) { + for ($sum = $this->L[$i][$j], $k = $i - 1; $k >= 0; --$k) { + $sum -= $this->L[$i][$k] * $this->L[$j][$k]; + } + if ($i == $j) { + if ($sum >= 0) { + $this->L[$i][$i] = sqrt($sum); + } else { + $this->isspd = false; + } + } else { + if ($this->L[$i][$i] != 0) { + $this->L[$j][$i] = $sum / $this->L[$i][$i]; + } + } + } - /** - * CholeskyDecomposition - * - * Class constructor - decomposes symmetric positive definite matrix - * @param mixed Matrix square symmetric positive definite matrix - */ - public function __construct($A = null) { - if ($A instanceof Matrix) { - $this->L = $A->getArray(); - $this->m = $A->getRowDimension(); + for ($k = $i+1; $k < $this->m; ++$k) { + $this->L[$i][$k] = 0.0; + } + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ARGUMENT_TYPE_EXCEPTION)); + } + } // function __construct() - for($i = 0; $i < $this->m; ++$i) { - for($j = $i; $j < $this->m; ++$j) { - for($sum = $this->L[$i][$j], $k = $i - 1; $k >= 0; --$k) { - $sum -= $this->L[$i][$k] * $this->L[$j][$k]; - } - if ($i == $j) { - if ($sum >= 0) { - $this->L[$i][$i] = sqrt($sum); - } else { - $this->isspd = false; - } - } else { - if ($this->L[$i][$i] != 0) { - $this->L[$j][$i] = $sum / $this->L[$i][$i]; - } - } - } + /** + * Is the matrix symmetric and positive definite? + * + * @return boolean + */ + public function isSPD() + { + return $this->isspd; + } // function isSPD() - for ($k = $i+1; $k < $this->m; ++$k) { - $this->L[$i][$k] = 0.0; - } - } - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); - } - } // function __construct() + /** + * getL + * + * Return triangular factor. + * @return Matrix Lower triangular matrix + */ + public function getL() + { + return new Matrix($this->L); + } // function getL() + /** + * Solve A*X = B + * + * @param $B Row-equal matrix + * @return Matrix L * L' * X = B + */ + public function solve($B = null) + { + if ($B instanceof Matrix) { + if ($B->getRowDimension() == $this->m) { + if ($this->isspd) { + $X = $B->getArrayCopy(); + $nx = $B->getColumnDimension(); - /** - * Is the matrix symmetric and positive definite? - * - * @return boolean - */ - public function isSPD() { - return $this->isspd; - } // function isSPD() + for ($k = 0; $k < $this->m; ++$k) { + for ($i = $k + 1; $i < $this->m; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j] * $this->L[$i][$k]; + } + } + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->L[$k][$k]; + } + } + for ($k = $this->m - 1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->L[$k][$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j] * $this->L[$k][$i]; + } + } + } - /** - * getL - * - * Return triangular factor. - * @return Matrix Lower triangular matrix - */ - public function getL() { - return new Matrix($this->L); - } // function getL() - - - /** - * Solve A*X = B - * - * @param $B Row-equal matrix - * @return Matrix L * L' * X = B - */ - public function solve($B = null) { - if ($B instanceof Matrix) { - if ($B->getRowDimension() == $this->m) { - if ($this->isspd) { - $X = $B->getArrayCopy(); - $nx = $B->getColumnDimension(); - - for ($k = 0; $k < $this->m; ++$k) { - for ($i = $k + 1; $i < $this->m; ++$i) { - for ($j = 0; $j < $nx; ++$j) { - $X[$i][$j] -= $X[$k][$j] * $this->L[$i][$k]; - } - } - for ($j = 0; $j < $nx; ++$j) { - $X[$k][$j] /= $this->L[$k][$k]; - } - } - - for ($k = $this->m - 1; $k >= 0; --$k) { - for ($j = 0; $j < $nx; ++$j) { - $X[$k][$j] /= $this->L[$k][$k]; - } - for ($i = 0; $i < $k; ++$i) { - for ($j = 0; $j < $nx; ++$j) { - $X[$i][$j] -= $X[$k][$j] * $this->L[$k][$i]; - } - } - } - - return new Matrix($X, $this->m, $nx); - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(MatrixSPDException)); - } - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionException)); - } - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); - } - } // function solve() - -} // class CholeskyDecomposition + return new Matrix($X, $this->m, $nx); + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixSPDException)); + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MATRIX_DIMENSION_EXCEPTION)); + } + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ARGUMENT_TYPE_EXCEPTION)); + } + } // function solve() +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php index 2a696d00f..d4ae3979f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/EigenvalueDecomposition.php @@ -1,862 +1,864 @@ <?php /** - * @package JAMA + * @package JAMA * - * Class to obtain eigenvalues and eigenvectors of a real matrix. + * Class to obtain eigenvalues and eigenvectors of a real matrix. * - * If A is symmetric, then A = V*D*V' where the eigenvalue matrix D - * is diagonal and the eigenvector matrix V is orthogonal (i.e. - * A = V.times(D.times(V.transpose())) and V.times(V.transpose()) - * equals the identity matrix). + * If A is symmetric, then A = V*D*V' where the eigenvalue matrix D + * is diagonal and the eigenvector matrix V is orthogonal (i.e. + * A = V.times(D.times(V.transpose())) and V.times(V.transpose()) + * equals the identity matrix). * - * If A is not symmetric, then the eigenvalue matrix D is block diagonal - * with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, - * lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The - * columns of V represent the eigenvectors in the sense that A*V = V*D, - * i.e. A.times(V) equals V.times(D). The matrix V may be badly - * conditioned, or even singular, so the validity of the equation - * A = V*D*inverse(V) depends upon V.cond(). + * If A is not symmetric, then the eigenvalue matrix D is block diagonal + * with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, + * lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The + * columns of V represent the eigenvectors in the sense that A*V = V*D, + * i.e. A.times(V) equals V.times(D). The matrix V may be badly + * conditioned, or even singular, so the validity of the equation + * A = V*D*inverse(V) depends upon V.cond(). * - * @author Paul Meagher - * @license PHP v3.0 - * @version 1.1 + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 */ -class EigenvalueDecomposition { +class EigenvalueDecomposition +{ + /** + * Row and column dimension (square matrix). + * @var int + */ + private $n; - /** - * Row and column dimension (square matrix). - * @var int - */ - private $n; + /** + * Internal symmetry flag. + * @var int + */ + private $issymmetric; - /** - * Internal symmetry flag. - * @var int - */ - private $issymmetric; + /** + * Arrays for internal storage of eigenvalues. + * @var array + */ + private $d = array(); + private $e = array(); - /** - * Arrays for internal storage of eigenvalues. - * @var array - */ - private $d = array(); - private $e = array(); + /** + * Array for internal storage of eigenvectors. + * @var array + */ + private $V = array(); - /** - * Array for internal storage of eigenvectors. - * @var array - */ - private $V = array(); + /** + * Array for internal storage of nonsymmetric Hessenberg form. + * @var array + */ + private $H = array(); - /** - * Array for internal storage of nonsymmetric Hessenberg form. - * @var array - */ - private $H = array(); + /** + * Working storage for nonsymmetric algorithm. + * @var array + */ + private $ort; - /** - * Working storage for nonsymmetric algorithm. - * @var array - */ - private $ort; + /** + * Used for complex scalar division. + * @var float + */ + private $cdivr; + private $cdivi; - /** - * Used for complex scalar division. - * @var float - */ - private $cdivr; - private $cdivi; + /** + * Symmetric Householder reduction to tridiagonal form. + * + * @access private + */ + private function tred2() + { + // This is derived from the Algol procedures tred2 by + // Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + // Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + // Fortran subroutine in EISPACK. + $this->d = $this->V[$this->n-1]; + // Householder reduction to tridiagonal form. + for ($i = $this->n-1; $i > 0; --$i) { + $i_ = $i -1; + // Scale to avoid under/overflow. + $h = $scale = 0.0; + $scale += array_sum(array_map(abs, $this->d)); + if ($scale == 0.0) { + $this->e[$i] = $this->d[$i_]; + $this->d = array_slice($this->V[$i_], 0, $i_); + for ($j = 0; $j < $i; ++$j) { + $this->V[$j][$i] = $this->V[$i][$j] = 0.0; + } + } else { + // Generate Householder vector. + for ($k = 0; $k < $i; ++$k) { + $this->d[$k] /= $scale; + $h += pow($this->d[$k], 2); + } + $f = $this->d[$i_]; + $g = sqrt($h); + if ($f > 0) { + $g = -$g; + } + $this->e[$i] = $scale * $g; + $h = $h - $f * $g; + $this->d[$i_] = $f - $g; + for ($j = 0; $j < $i; ++$j) { + $this->e[$j] = 0.0; + } + // Apply similarity transformation to remaining columns. + for ($j = 0; $j < $i; ++$j) { + $f = $this->d[$j]; + $this->V[$j][$i] = $f; + $g = $this->e[$j] + $this->V[$j][$j] * $f; + for ($k = $j+1; $k <= $i_; ++$k) { + $g += $this->V[$k][$j] * $this->d[$k]; + $this->e[$k] += $this->V[$k][$j] * $f; + } + $this->e[$j] = $g; + } + $f = 0.0; + for ($j = 0; $j < $i; ++$j) { + $this->e[$j] /= $h; + $f += $this->e[$j] * $this->d[$j]; + } + $hh = $f / (2 * $h); + for ($j=0; $j < $i; ++$j) { + $this->e[$j] -= $hh * $this->d[$j]; + } + for ($j = 0; $j < $i; ++$j) { + $f = $this->d[$j]; + $g = $this->e[$j]; + for ($k = $j; $k <= $i_; ++$k) { + $this->V[$k][$j] -= ($f * $this->e[$k] + $g * $this->d[$k]); + } + $this->d[$j] = $this->V[$i-1][$j]; + $this->V[$i][$j] = 0.0; + } + } + $this->d[$i] = $h; + } + // Accumulate transformations. + for ($i = 0; $i < $this->n-1; ++$i) { + $this->V[$this->n-1][$i] = $this->V[$i][$i]; + $this->V[$i][$i] = 1.0; + $h = $this->d[$i+1]; + if ($h != 0.0) { + for ($k = 0; $k <= $i; ++$k) { + $this->d[$k] = $this->V[$k][$i+1] / $h; + } + for ($j = 0; $j <= $i; ++$j) { + $g = 0.0; + for ($k = 0; $k <= $i; ++$k) { + $g += $this->V[$k][$i+1] * $this->V[$k][$j]; + } + for ($k = 0; $k <= $i; ++$k) { + $this->V[$k][$j] -= $g * $this->d[$k]; + } + } + } + for ($k = 0; $k <= $i; ++$k) { + $this->V[$k][$i+1] = 0.0; + } + } - /** - * Symmetric Householder reduction to tridiagonal form. - * - * @access private - */ - private function tred2 () { - // This is derived from the Algol procedures tred2 by - // Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - // Auto. Comp., Vol.ii-Linear Algebra, and the corresponding - // Fortran subroutine in EISPACK. - $this->d = $this->V[$this->n-1]; - // Householder reduction to tridiagonal form. - for ($i = $this->n-1; $i > 0; --$i) { - $i_ = $i -1; - // Scale to avoid under/overflow. - $h = $scale = 0.0; - $scale += array_sum(array_map(abs, $this->d)); - if ($scale == 0.0) { - $this->e[$i] = $this->d[$i_]; - $this->d = array_slice($this->V[$i_], 0, $i_); - for ($j = 0; $j < $i; ++$j) { - $this->V[$j][$i] = $this->V[$i][$j] = 0.0; - } - } else { - // Generate Householder vector. - for ($k = 0; $k < $i; ++$k) { - $this->d[$k] /= $scale; - $h += pow($this->d[$k], 2); - } - $f = $this->d[$i_]; - $g = sqrt($h); - if ($f > 0) { - $g = -$g; - } - $this->e[$i] = $scale * $g; - $h = $h - $f * $g; - $this->d[$i_] = $f - $g; - for ($j = 0; $j < $i; ++$j) { - $this->e[$j] = 0.0; - } - // Apply similarity transformation to remaining columns. - for ($j = 0; $j < $i; ++$j) { - $f = $this->d[$j]; - $this->V[$j][$i] = $f; - $g = $this->e[$j] + $this->V[$j][$j] * $f; - for ($k = $j+1; $k <= $i_; ++$k) { - $g += $this->V[$k][$j] * $this->d[$k]; - $this->e[$k] += $this->V[$k][$j] * $f; - } - $this->e[$j] = $g; - } - $f = 0.0; - for ($j = 0; $j < $i; ++$j) { - $this->e[$j] /= $h; - $f += $this->e[$j] * $this->d[$j]; - } - $hh = $f / (2 * $h); - for ($j=0; $j < $i; ++$j) { - $this->e[$j] -= $hh * $this->d[$j]; - } - for ($j = 0; $j < $i; ++$j) { - $f = $this->d[$j]; - $g = $this->e[$j]; - for ($k = $j; $k <= $i_; ++$k) { - $this->V[$k][$j] -= ($f * $this->e[$k] + $g * $this->d[$k]); - } - $this->d[$j] = $this->V[$i-1][$j]; - $this->V[$i][$j] = 0.0; - } - } - $this->d[$i] = $h; - } + $this->d = $this->V[$this->n-1]; + $this->V[$this->n-1] = array_fill(0, $j, 0.0); + $this->V[$this->n-1][$this->n-1] = 1.0; + $this->e[0] = 0.0; + } - // Accumulate transformations. - for ($i = 0; $i < $this->n-1; ++$i) { - $this->V[$this->n-1][$i] = $this->V[$i][$i]; - $this->V[$i][$i] = 1.0; - $h = $this->d[$i+1]; - if ($h != 0.0) { - for ($k = 0; $k <= $i; ++$k) { - $this->d[$k] = $this->V[$k][$i+1] / $h; - } - for ($j = 0; $j <= $i; ++$j) { - $g = 0.0; - for ($k = 0; $k <= $i; ++$k) { - $g += $this->V[$k][$i+1] * $this->V[$k][$j]; - } - for ($k = 0; $k <= $i; ++$k) { - $this->V[$k][$j] -= $g * $this->d[$k]; - } - } - } - for ($k = 0; $k <= $i; ++$k) { - $this->V[$k][$i+1] = 0.0; - } - } + /** + * Symmetric tridiagonal QL algorithm. + * + * This is derived from the Algol procedures tql2, by + * Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + * Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + * + * @access private + */ + private function tql2() + { + for ($i = 1; $i < $this->n; ++$i) { + $this->e[$i-1] = $this->e[$i]; + } + $this->e[$this->n-1] = 0.0; + $f = 0.0; + $tst1 = 0.0; + $eps = pow(2.0, -52.0); - $this->d = $this->V[$this->n-1]; - $this->V[$this->n-1] = array_fill(0, $j, 0.0); - $this->V[$this->n-1][$this->n-1] = 1.0; - $this->e[0] = 0.0; - } + for ($l = 0; $l < $this->n; ++$l) { + // Find small subdiagonal element + $tst1 = max($tst1, abs($this->d[$l]) + abs($this->e[$l])); + $m = $l; + while ($m < $this->n) { + if (abs($this->e[$m]) <= $eps * $tst1) { + break; + } + ++$m; + } + // If m == l, $this->d[l] is an eigenvalue, + // otherwise, iterate. + if ($m > $l) { + $iter = 0; + do { + // Could check iteration count here. + $iter += 1; + // Compute implicit shift + $g = $this->d[$l]; + $p = ($this->d[$l+1] - $g) / (2.0 * $this->e[$l]); + $r = hypo($p, 1.0); + if ($p < 0) { + $r *= -1; + } + $this->d[$l] = $this->e[$l] / ($p + $r); + $this->d[$l+1] = $this->e[$l] * ($p + $r); + $dl1 = $this->d[$l+1]; + $h = $g - $this->d[$l]; + for ($i = $l + 2; $i < $this->n; ++$i) { + $this->d[$i] -= $h; + } + $f += $h; + // Implicit QL transformation. + $p = $this->d[$m]; + $c = 1.0; + $c2 = $c3 = $c; + $el1 = $this->e[$l + 1]; + $s = $s2 = 0.0; + for ($i = $m-1; $i >= $l; --$i) { + $c3 = $c2; + $c2 = $c; + $s2 = $s; + $g = $c * $this->e[$i]; + $h = $c * $p; + $r = hypo($p, $this->e[$i]); + $this->e[$i+1] = $s * $r; + $s = $this->e[$i] / $r; + $c = $p / $r; + $p = $c * $this->d[$i] - $s * $g; + $this->d[$i+1] = $h + $s * ($c * $g + $s * $this->d[$i]); + // Accumulate transformation. + for ($k = 0; $k < $this->n; ++$k) { + $h = $this->V[$k][$i+1]; + $this->V[$k][$i+1] = $s * $this->V[$k][$i] + $c * $h; + $this->V[$k][$i] = $c * $this->V[$k][$i] - $s * $h; + } + } + $p = -$s * $s2 * $c3 * $el1 * $this->e[$l] / $dl1; + $this->e[$l] = $s * $p; + $this->d[$l] = $c * $p; + // Check for convergence. + } while (abs($this->e[$l]) > $eps * $tst1); + } + $this->d[$l] = $this->d[$l] + $f; + $this->e[$l] = 0.0; + } + // Sort eigenvalues and corresponding vectors. + for ($i = 0; $i < $this->n - 1; ++$i) { + $k = $i; + $p = $this->d[$i]; + for ($j = $i+1; $j < $this->n; ++$j) { + if ($this->d[$j] < $p) { + $k = $j; + $p = $this->d[$j]; + } + } + if ($k != $i) { + $this->d[$k] = $this->d[$i]; + $this->d[$i] = $p; + for ($j = 0; $j < $this->n; ++$j) { + $p = $this->V[$j][$i]; + $this->V[$j][$i] = $this->V[$j][$k]; + $this->V[$j][$k] = $p; + } + } + } + } - /** - * Symmetric tridiagonal QL algorithm. - * - * This is derived from the Algol procedures tql2, by - * Bowdler, Martin, Reinsch, and Wilkinson, Handbook for - * Auto. Comp., Vol.ii-Linear Algebra, and the corresponding - * Fortran subroutine in EISPACK. - * - * @access private - */ - private function tql2() { - for ($i = 1; $i < $this->n; ++$i) { - $this->e[$i-1] = $this->e[$i]; - } - $this->e[$this->n-1] = 0.0; - $f = 0.0; - $tst1 = 0.0; - $eps = pow(2.0,-52.0); + /** + * Nonsymmetric reduction to Hessenberg form. + * + * This is derived from the Algol procedures orthes and ortran, + * by Martin and Wilkinson, Handbook for Auto. Comp., + * Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutines in EISPACK. + * + * @access private + */ + private function orthes() + { + $low = 0; + $high = $this->n-1; - for ($l = 0; $l < $this->n; ++$l) { - // Find small subdiagonal element - $tst1 = max($tst1, abs($this->d[$l]) + abs($this->e[$l])); - $m = $l; - while ($m < $this->n) { - if (abs($this->e[$m]) <= $eps * $tst1) - break; - ++$m; - } - // If m == l, $this->d[l] is an eigenvalue, - // otherwise, iterate. - if ($m > $l) { - $iter = 0; - do { - // Could check iteration count here. - $iter += 1; - // Compute implicit shift - $g = $this->d[$l]; - $p = ($this->d[$l+1] - $g) / (2.0 * $this->e[$l]); - $r = hypo($p, 1.0); - if ($p < 0) - $r *= -1; - $this->d[$l] = $this->e[$l] / ($p + $r); - $this->d[$l+1] = $this->e[$l] * ($p + $r); - $dl1 = $this->d[$l+1]; - $h = $g - $this->d[$l]; - for ($i = $l + 2; $i < $this->n; ++$i) - $this->d[$i] -= $h; - $f += $h; - // Implicit QL transformation. - $p = $this->d[$m]; - $c = 1.0; - $c2 = $c3 = $c; - $el1 = $this->e[$l + 1]; - $s = $s2 = 0.0; - for ($i = $m-1; $i >= $l; --$i) { - $c3 = $c2; - $c2 = $c; - $s2 = $s; - $g = $c * $this->e[$i]; - $h = $c * $p; - $r = hypo($p, $this->e[$i]); - $this->e[$i+1] = $s * $r; - $s = $this->e[$i] / $r; - $c = $p / $r; - $p = $c * $this->d[$i] - $s * $g; - $this->d[$i+1] = $h + $s * ($c * $g + $s * $this->d[$i]); - // Accumulate transformation. - for ($k = 0; $k < $this->n; ++$k) { - $h = $this->V[$k][$i+1]; - $this->V[$k][$i+1] = $s * $this->V[$k][$i] + $c * $h; - $this->V[$k][$i] = $c * $this->V[$k][$i] - $s * $h; - } - } - $p = -$s * $s2 * $c3 * $el1 * $this->e[$l] / $dl1; - $this->e[$l] = $s * $p; - $this->d[$l] = $c * $p; - // Check for convergence. - } while (abs($this->e[$l]) > $eps * $tst1); - } - $this->d[$l] = $this->d[$l] + $f; - $this->e[$l] = 0.0; - } + for ($m = $low+1; $m <= $high-1; ++$m) { + // Scale column. + $scale = 0.0; + for ($i = $m; $i <= $high; ++$i) { + $scale = $scale + abs($this->H[$i][$m-1]); + } + if ($scale != 0.0) { + // Compute Householder transformation. + $h = 0.0; + for ($i = $high; $i >= $m; --$i) { + $this->ort[$i] = $this->H[$i][$m-1] / $scale; + $h += $this->ort[$i] * $this->ort[$i]; + } + $g = sqrt($h); + if ($this->ort[$m] > 0) { + $g *= -1; + } + $h -= $this->ort[$m] * $g; + $this->ort[$m] -= $g; + // Apply Householder similarity transformation + // H = (I -u * u' / h) * H * (I -u * u') / h) + for ($j = $m; $j < $this->n; ++$j) { + $f = 0.0; + for ($i = $high; $i >= $m; --$i) { + $f += $this->ort[$i] * $this->H[$i][$j]; + } + $f /= $h; + for ($i = $m; $i <= $high; ++$i) { + $this->H[$i][$j] -= $f * $this->ort[$i]; + } + } + for ($i = 0; $i <= $high; ++$i) { + $f = 0.0; + for ($j = $high; $j >= $m; --$j) { + $f += $this->ort[$j] * $this->H[$i][$j]; + } + $f = $f / $h; + for ($j = $m; $j <= $high; ++$j) { + $this->H[$i][$j] -= $f * $this->ort[$j]; + } + } + $this->ort[$m] = $scale * $this->ort[$m]; + $this->H[$m][$m-1] = $scale * $g; + } + } - // Sort eigenvalues and corresponding vectors. - for ($i = 0; $i < $this->n - 1; ++$i) { - $k = $i; - $p = $this->d[$i]; - for ($j = $i+1; $j < $this->n; ++$j) { - if ($this->d[$j] < $p) { - $k = $j; - $p = $this->d[$j]; - } - } - if ($k != $i) { - $this->d[$k] = $this->d[$i]; - $this->d[$i] = $p; - for ($j = 0; $j < $this->n; ++$j) { - $p = $this->V[$j][$i]; - $this->V[$j][$i] = $this->V[$j][$k]; - $this->V[$j][$k] = $p; - } - } - } - } + // Accumulate transformations (Algol's ortran). + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->V[$i][$j] = ($i == $j ? 1.0 : 0.0); + } + } + for ($m = $high-1; $m >= $low+1; --$m) { + if ($this->H[$m][$m-1] != 0.0) { + for ($i = $m+1; $i <= $high; ++$i) { + $this->ort[$i] = $this->H[$i][$m-1]; + } + for ($j = $m; $j <= $high; ++$j) { + $g = 0.0; + for ($i = $m; $i <= $high; ++$i) { + $g += $this->ort[$i] * $this->V[$i][$j]; + } + // Double division avoids possible underflow + $g = ($g / $this->ort[$m]) / $this->H[$m][$m-1]; + for ($i = $m; $i <= $high; ++$i) { + $this->V[$i][$j] += $g * $this->ort[$i]; + } + } + } + } + } + /** + * Performs complex division. + * + * @access private + */ + private function cdiv($xr, $xi, $yr, $yi) + { + if (abs($yr) > abs($yi)) { + $r = $yi / $yr; + $d = $yr + $r * $yi; + $this->cdivr = ($xr + $r * $xi) / $d; + $this->cdivi = ($xi - $r * $xr) / $d; + } else { + $r = $yr / $yi; + $d = $yi + $r * $yr; + $this->cdivr = ($r * $xr + $xi) / $d; + $this->cdivi = ($r * $xi - $xr) / $d; + } + } - /** - * Nonsymmetric reduction to Hessenberg form. - * - * This is derived from the Algol procedures orthes and ortran, - * by Martin and Wilkinson, Handbook for Auto. Comp., - * Vol.ii-Linear Algebra, and the corresponding - * Fortran subroutines in EISPACK. - * - * @access private - */ - private function orthes () { - $low = 0; - $high = $this->n-1; + /** + * Nonsymmetric reduction from Hessenberg to real Schur form. + * + * Code is derived from the Algol procedure hqr2, + * by Martin and Wilkinson, Handbook for Auto. Comp., + * Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + * + * @access private + */ + private function hqr2() + { + // Initialize + $nn = $this->n; + $n = $nn - 1; + $low = 0; + $high = $nn - 1; + $eps = pow(2.0, -52.0); + $exshift = 0.0; + $p = $q = $r = $s = $z = 0; + // Store roots isolated by balanc and compute matrix norm + $norm = 0.0; - for ($m = $low+1; $m <= $high-1; ++$m) { - // Scale column. - $scale = 0.0; - for ($i = $m; $i <= $high; ++$i) { - $scale = $scale + abs($this->H[$i][$m-1]); - } - if ($scale != 0.0) { - // Compute Householder transformation. - $h = 0.0; - for ($i = $high; $i >= $m; --$i) { - $this->ort[$i] = $this->H[$i][$m-1] / $scale; - $h += $this->ort[$i] * $this->ort[$i]; - } - $g = sqrt($h); - if ($this->ort[$m] > 0) { - $g *= -1; - } - $h -= $this->ort[$m] * $g; - $this->ort[$m] -= $g; - // Apply Householder similarity transformation - // H = (I -u * u' / h) * H * (I -u * u') / h) - for ($j = $m; $j < $this->n; ++$j) { - $f = 0.0; - for ($i = $high; $i >= $m; --$i) { - $f += $this->ort[$i] * $this->H[$i][$j]; - } - $f /= $h; - for ($i = $m; $i <= $high; ++$i) { - $this->H[$i][$j] -= $f * $this->ort[$i]; - } - } - for ($i = 0; $i <= $high; ++$i) { - $f = 0.0; - for ($j = $high; $j >= $m; --$j) { - $f += $this->ort[$j] * $this->H[$i][$j]; - } - $f = $f / $h; - for ($j = $m; $j <= $high; ++$j) { - $this->H[$i][$j] -= $f * $this->ort[$j]; - } - } - $this->ort[$m] = $scale * $this->ort[$m]; - $this->H[$m][$m-1] = $scale * $g; - } - } + for ($i = 0; $i < $nn; ++$i) { + if (($i < $low) or ($i > $high)) { + $this->d[$i] = $this->H[$i][$i]; + $this->e[$i] = 0.0; + } + for ($j = max($i-1, 0); $j < $nn; ++$j) { + $norm = $norm + abs($this->H[$i][$j]); + } + } - // Accumulate transformations (Algol's ortran). - for ($i = 0; $i < $this->n; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - $this->V[$i][$j] = ($i == $j ? 1.0 : 0.0); - } - } - for ($m = $high-1; $m >= $low+1; --$m) { - if ($this->H[$m][$m-1] != 0.0) { - for ($i = $m+1; $i <= $high; ++$i) { - $this->ort[$i] = $this->H[$i][$m-1]; - } - for ($j = $m; $j <= $high; ++$j) { - $g = 0.0; - for ($i = $m; $i <= $high; ++$i) { - $g += $this->ort[$i] * $this->V[$i][$j]; - } - // Double division avoids possible underflow - $g = ($g / $this->ort[$m]) / $this->H[$m][$m-1]; - for ($i = $m; $i <= $high; ++$i) { - $this->V[$i][$j] += $g * $this->ort[$i]; - } - } - } - } - } + // Outer loop over eigenvalue index + $iter = 0; + while ($n >= $low) { + // Look for single small sub-diagonal element + $l = $n; + while ($l > $low) { + $s = abs($this->H[$l-1][$l-1]) + abs($this->H[$l][$l]); + if ($s == 0.0) { + $s = $norm; + } + if (abs($this->H[$l][$l-1]) < $eps * $s) { + break; + } + --$l; + } + // Check for convergence + // One root found + if ($l == $n) { + $this->H[$n][$n] = $this->H[$n][$n] + $exshift; + $this->d[$n] = $this->H[$n][$n]; + $this->e[$n] = 0.0; + --$n; + $iter = 0; + // Two roots found + } elseif ($l == $n-1) { + $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; + $p = ($this->H[$n-1][$n-1] - $this->H[$n][$n]) / 2.0; + $q = $p * $p + $w; + $z = sqrt(abs($q)); + $this->H[$n][$n] = $this->H[$n][$n] + $exshift; + $this->H[$n-1][$n-1] = $this->H[$n-1][$n-1] + $exshift; + $x = $this->H[$n][$n]; + // Real pair + if ($q >= 0) { + if ($p >= 0) { + $z = $p + $z; + } else { + $z = $p - $z; + } + $this->d[$n-1] = $x + $z; + $this->d[$n] = $this->d[$n-1]; + if ($z != 0.0) { + $this->d[$n] = $x - $w / $z; + } + $this->e[$n-1] = 0.0; + $this->e[$n] = 0.0; + $x = $this->H[$n][$n-1]; + $s = abs($x) + abs($z); + $p = $x / $s; + $q = $z / $s; + $r = sqrt($p * $p + $q * $q); + $p = $p / $r; + $q = $q / $r; + // Row modification + for ($j = $n-1; $j < $nn; ++$j) { + $z = $this->H[$n-1][$j]; + $this->H[$n-1][$j] = $q * $z + $p * $this->H[$n][$j]; + $this->H[$n][$j] = $q * $this->H[$n][$j] - $p * $z; + } + // Column modification + for ($i = 0; $i <= $n; ++$i) { + $z = $this->H[$i][$n-1]; + $this->H[$i][$n-1] = $q * $z + $p * $this->H[$i][$n]; + $this->H[$i][$n] = $q * $this->H[$i][$n] - $p * $z; + } + // Accumulate transformations + for ($i = $low; $i <= $high; ++$i) { + $z = $this->V[$i][$n-1]; + $this->V[$i][$n-1] = $q * $z + $p * $this->V[$i][$n]; + $this->V[$i][$n] = $q * $this->V[$i][$n] - $p * $z; + } + // Complex pair + } else { + $this->d[$n-1] = $x + $p; + $this->d[$n] = $x + $p; + $this->e[$n-1] = $z; + $this->e[$n] = -$z; + } + $n = $n - 2; + $iter = 0; + // No convergence yet + } else { + // Form shift + $x = $this->H[$n][$n]; + $y = 0.0; + $w = 0.0; + if ($l < $n) { + $y = $this->H[$n-1][$n-1]; + $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; + } + // Wilkinson's original ad hoc shift + if ($iter == 10) { + $exshift += $x; + for ($i = $low; $i <= $n; ++$i) { + $this->H[$i][$i] -= $x; + } + $s = abs($this->H[$n][$n-1]) + abs($this->H[$n-1][$n-2]); + $x = $y = 0.75 * $s; + $w = -0.4375 * $s * $s; + } + // MATLAB's new ad hoc shift + if ($iter == 30) { + $s = ($y - $x) / 2.0; + $s = $s * $s + $w; + if ($s > 0) { + $s = sqrt($s); + if ($y < $x) { + $s = -$s; + } + $s = $x - $w / (($y - $x) / 2.0 + $s); + for ($i = $low; $i <= $n; ++$i) { + $this->H[$i][$i] -= $s; + } + $exshift += $s; + $x = $y = $w = 0.964; + } + } + // Could check iteration count here. + $iter = $iter + 1; + // Look for two consecutive small sub-diagonal elements + $m = $n - 2; + while ($m >= $l) { + $z = $this->H[$m][$m]; + $r = $x - $z; + $s = $y - $z; + $p = ($r * $s - $w) / $this->H[$m+1][$m] + $this->H[$m][$m+1]; + $q = $this->H[$m+1][$m+1] - $z - $r - $s; + $r = $this->H[$m+2][$m+1]; + $s = abs($p) + abs($q) + abs($r); + $p = $p / $s; + $q = $q / $s; + $r = $r / $s; + if ($m == $l) { + break; + } + if (abs($this->H[$m][$m-1]) * (abs($q) + abs($r)) < + $eps * (abs($p) * (abs($this->H[$m-1][$m-1]) + abs($z) + abs($this->H[$m+1][$m+1])))) { + break; + } + --$m; + } + for ($i = $m + 2; $i <= $n; ++$i) { + $this->H[$i][$i-2] = 0.0; + if ($i > $m+2) { + $this->H[$i][$i-3] = 0.0; + } + } + // Double QR step involving rows l:n and columns m:n + for ($k = $m; $k <= $n-1; ++$k) { + $notlast = ($k != $n-1); + if ($k != $m) { + $p = $this->H[$k][$k-1]; + $q = $this->H[$k+1][$k-1]; + $r = ($notlast ? $this->H[$k+2][$k-1] : 0.0); + $x = abs($p) + abs($q) + abs($r); + if ($x != 0.0) { + $p = $p / $x; + $q = $q / $x; + $r = $r / $x; + } + } + if ($x == 0.0) { + break; + } + $s = sqrt($p * $p + $q * $q + $r * $r); + if ($p < 0) { + $s = -$s; + } + if ($s != 0) { + if ($k != $m) { + $this->H[$k][$k-1] = -$s * $x; + } elseif ($l != $m) { + $this->H[$k][$k-1] = -$this->H[$k][$k-1]; + } + $p = $p + $s; + $x = $p / $s; + $y = $q / $s; + $z = $r / $s; + $q = $q / $p; + $r = $r / $p; + // Row modification + for ($j = $k; $j < $nn; ++$j) { + $p = $this->H[$k][$j] + $q * $this->H[$k+1][$j]; + if ($notlast) { + $p = $p + $r * $this->H[$k+2][$j]; + $this->H[$k+2][$j] = $this->H[$k+2][$j] - $p * $z; + } + $this->H[$k][$j] = $this->H[$k][$j] - $p * $x; + $this->H[$k+1][$j] = $this->H[$k+1][$j] - $p * $y; + } + // Column modification + for ($i = 0; $i <= min($n, $k+3); ++$i) { + $p = $x * $this->H[$i][$k] + $y * $this->H[$i][$k+1]; + if ($notlast) { + $p = $p + $z * $this->H[$i][$k+2]; + $this->H[$i][$k+2] = $this->H[$i][$k+2] - $p * $r; + } + $this->H[$i][$k] = $this->H[$i][$k] - $p; + $this->H[$i][$k+1] = $this->H[$i][$k+1] - $p * $q; + } + // Accumulate transformations + for ($i = $low; $i <= $high; ++$i) { + $p = $x * $this->V[$i][$k] + $y * $this->V[$i][$k+1]; + if ($notlast) { + $p = $p + $z * $this->V[$i][$k+2]; + $this->V[$i][$k+2] = $this->V[$i][$k+2] - $p * $r; + } + $this->V[$i][$k] = $this->V[$i][$k] - $p; + $this->V[$i][$k+1] = $this->V[$i][$k+1] - $p * $q; + } + } // ($s != 0) + } // k loop + } // check convergence + } // while ($n >= $low) + // Backsubstitute to find vectors of upper triangular form + if ($norm == 0.0) { + return; + } - /** - * Performs complex division. - * - * @access private - */ - private function cdiv($xr, $xi, $yr, $yi) { - if (abs($yr) > abs($yi)) { - $r = $yi / $yr; - $d = $yr + $r * $yi; - $this->cdivr = ($xr + $r * $xi) / $d; - $this->cdivi = ($xi - $r * $xr) / $d; - } else { - $r = $yr / $yi; - $d = $yi + $r * $yr; - $this->cdivr = ($r * $xr + $xi) / $d; - $this->cdivi = ($r * $xi - $xr) / $d; - } - } + for ($n = $nn-1; $n >= 0; --$n) { + $p = $this->d[$n]; + $q = $this->e[$n]; + // Real vector + if ($q == 0) { + $l = $n; + $this->H[$n][$n] = 1.0; + for ($i = $n-1; $i >= 0; --$i) { + $w = $this->H[$i][$i] - $p; + $r = 0.0; + for ($j = $l; $j <= $n; ++$j) { + $r = $r + $this->H[$i][$j] * $this->H[$j][$n]; + } + if ($this->e[$i] < 0.0) { + $z = $w; + $s = $r; + } else { + $l = $i; + if ($this->e[$i] == 0.0) { + if ($w != 0.0) { + $this->H[$i][$n] = -$r / $w; + } else { + $this->H[$i][$n] = -$r / ($eps * $norm); + } + // Solve real equations + } else { + $x = $this->H[$i][$i+1]; + $y = $this->H[$i+1][$i]; + $q = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i]; + $t = ($x * $s - $z * $r) / $q; + $this->H[$i][$n] = $t; + if (abs($x) > abs($z)) { + $this->H[$i+1][$n] = (-$r - $w * $t) / $x; + } else { + $this->H[$i+1][$n] = (-$s - $y * $t) / $z; + } + } + // Overflow control + $t = abs($this->H[$i][$n]); + if (($eps * $t) * $t > 1) { + for ($j = $i; $j <= $n; ++$j) { + $this->H[$j][$n] = $this->H[$j][$n] / $t; + } + } + } + } + // Complex vector + } elseif ($q < 0) { + $l = $n-1; + // Last vector component imaginary so matrix is triangular + if (abs($this->H[$n][$n-1]) > abs($this->H[$n-1][$n])) { + $this->H[$n-1][$n-1] = $q / $this->H[$n][$n-1]; + $this->H[$n-1][$n] = -($this->H[$n][$n] - $p) / $this->H[$n][$n-1]; + } else { + $this->cdiv(0.0, -$this->H[$n-1][$n], $this->H[$n-1][$n-1] - $p, $q); + $this->H[$n-1][$n-1] = $this->cdivr; + $this->H[$n-1][$n] = $this->cdivi; + } + $this->H[$n][$n-1] = 0.0; + $this->H[$n][$n] = 1.0; + for ($i = $n-2; $i >= 0; --$i) { + // double ra,sa,vr,vi; + $ra = 0.0; + $sa = 0.0; + for ($j = $l; $j <= $n; ++$j) { + $ra = $ra + $this->H[$i][$j] * $this->H[$j][$n-1]; + $sa = $sa + $this->H[$i][$j] * $this->H[$j][$n]; + } + $w = $this->H[$i][$i] - $p; + if ($this->e[$i] < 0.0) { + $z = $w; + $r = $ra; + $s = $sa; + } else { + $l = $i; + if ($this->e[$i] == 0) { + $this->cdiv(-$ra, -$sa, $w, $q); + $this->H[$i][$n-1] = $this->cdivr; + $this->H[$i][$n] = $this->cdivi; + } else { + // Solve complex equations + $x = $this->H[$i][$i+1]; + $y = $this->H[$i+1][$i]; + $vr = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i] - $q * $q; + $vi = ($this->d[$i] - $p) * 2.0 * $q; + if ($vr == 0.0 & $vi == 0.0) { + $vr = $eps * $norm * (abs($w) + abs($q) + abs($x) + abs($y) + abs($z)); + } + $this->cdiv($x * $r - $z * $ra + $q * $sa, $x * $s - $z * $sa - $q * $ra, $vr, $vi); + $this->H[$i][$n-1] = $this->cdivr; + $this->H[$i][$n] = $this->cdivi; + if (abs($x) > (abs($z) + abs($q))) { + $this->H[$i+1][$n-1] = (-$ra - $w * $this->H[$i][$n-1] + $q * $this->H[$i][$n]) / $x; + $this->H[$i+1][$n] = (-$sa - $w * $this->H[$i][$n] - $q * $this->H[$i][$n-1]) / $x; + } else { + $this->cdiv(-$r - $y * $this->H[$i][$n-1], -$s - $y * $this->H[$i][$n], $z, $q); + $this->H[$i+1][$n-1] = $this->cdivr; + $this->H[$i+1][$n] = $this->cdivi; + } + } + // Overflow control + $t = max(abs($this->H[$i][$n-1]), abs($this->H[$i][$n])); + if (($eps * $t) * $t > 1) { + for ($j = $i; $j <= $n; ++$j) { + $this->H[$j][$n-1] = $this->H[$j][$n-1] / $t; + $this->H[$j][$n] = $this->H[$j][$n] / $t; + } + } + } // end else + } // end for + } // end else for complex case + } // end for + // Vectors of isolated roots + for ($i = 0; $i < $nn; ++$i) { + if ($i < $low | $i > $high) { + for ($j = $i; $j < $nn; ++$j) { + $this->V[$i][$j] = $this->H[$i][$j]; + } + } + } - /** - * Nonsymmetric reduction from Hessenberg to real Schur form. - * - * Code is derived from the Algol procedure hqr2, - * by Martin and Wilkinson, Handbook for Auto. Comp., - * Vol.ii-Linear Algebra, and the corresponding - * Fortran subroutine in EISPACK. - * - * @access private - */ - private function hqr2 () { - // Initialize - $nn = $this->n; - $n = $nn - 1; - $low = 0; - $high = $nn - 1; - $eps = pow(2.0, -52.0); - $exshift = 0.0; - $p = $q = $r = $s = $z = 0; - // Store roots isolated by balanc and compute matrix norm - $norm = 0.0; + // Back transformation to get eigenvectors of original matrix + for ($j = $nn-1; $j >= $low; --$j) { + for ($i = $low; $i <= $high; ++$i) { + $z = 0.0; + for ($k = $low; $k <= min($j, $high); ++$k) { + $z = $z + $this->V[$i][$k] * $this->H[$k][$j]; + } + $this->V[$i][$j] = $z; + } + } + } // end hqr2 - for ($i = 0; $i < $nn; ++$i) { - if (($i < $low) OR ($i > $high)) { - $this->d[$i] = $this->H[$i][$i]; - $this->e[$i] = 0.0; - } - for ($j = max($i-1, 0); $j < $nn; ++$j) { - $norm = $norm + abs($this->H[$i][$j]); - } - } + /** + * Constructor: Check for symmetry, then construct the eigenvalue decomposition + * + * @access public + * @param A Square matrix + * @return Structure to access D and V. + */ + public function __construct($Arg) + { + $this->A = $Arg->getArray(); + $this->n = $Arg->getColumnDimension(); - // Outer loop over eigenvalue index - $iter = 0; - while ($n >= $low) { - // Look for single small sub-diagonal element - $l = $n; - while ($l > $low) { - $s = abs($this->H[$l-1][$l-1]) + abs($this->H[$l][$l]); - if ($s == 0.0) { - $s = $norm; - } - if (abs($this->H[$l][$l-1]) < $eps * $s) { - break; - } - --$l; - } - // Check for convergence - // One root found - if ($l == $n) { - $this->H[$n][$n] = $this->H[$n][$n] + $exshift; - $this->d[$n] = $this->H[$n][$n]; - $this->e[$n] = 0.0; - --$n; - $iter = 0; - // Two roots found - } else if ($l == $n-1) { - $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; - $p = ($this->H[$n-1][$n-1] - $this->H[$n][$n]) / 2.0; - $q = $p * $p + $w; - $z = sqrt(abs($q)); - $this->H[$n][$n] = $this->H[$n][$n] + $exshift; - $this->H[$n-1][$n-1] = $this->H[$n-1][$n-1] + $exshift; - $x = $this->H[$n][$n]; - // Real pair - if ($q >= 0) { - if ($p >= 0) { - $z = $p + $z; - } else { - $z = $p - $z; - } - $this->d[$n-1] = $x + $z; - $this->d[$n] = $this->d[$n-1]; - if ($z != 0.0) { - $this->d[$n] = $x - $w / $z; - } - $this->e[$n-1] = 0.0; - $this->e[$n] = 0.0; - $x = $this->H[$n][$n-1]; - $s = abs($x) + abs($z); - $p = $x / $s; - $q = $z / $s; - $r = sqrt($p * $p + $q * $q); - $p = $p / $r; - $q = $q / $r; - // Row modification - for ($j = $n-1; $j < $nn; ++$j) { - $z = $this->H[$n-1][$j]; - $this->H[$n-1][$j] = $q * $z + $p * $this->H[$n][$j]; - $this->H[$n][$j] = $q * $this->H[$n][$j] - $p * $z; - } - // Column modification - for ($i = 0; $i <= n; ++$i) { - $z = $this->H[$i][$n-1]; - $this->H[$i][$n-1] = $q * $z + $p * $this->H[$i][$n]; - $this->H[$i][$n] = $q * $this->H[$i][$n] - $p * $z; - } - // Accumulate transformations - for ($i = $low; $i <= $high; ++$i) { - $z = $this->V[$i][$n-1]; - $this->V[$i][$n-1] = $q * $z + $p * $this->V[$i][$n]; - $this->V[$i][$n] = $q * $this->V[$i][$n] - $p * $z; - } - // Complex pair - } else { - $this->d[$n-1] = $x + $p; - $this->d[$n] = $x + $p; - $this->e[$n-1] = $z; - $this->e[$n] = -$z; - } - $n = $n - 2; - $iter = 0; - // No convergence yet - } else { - // Form shift - $x = $this->H[$n][$n]; - $y = 0.0; - $w = 0.0; - if ($l < $n) { - $y = $this->H[$n-1][$n-1]; - $w = $this->H[$n][$n-1] * $this->H[$n-1][$n]; - } - // Wilkinson's original ad hoc shift - if ($iter == 10) { - $exshift += $x; - for ($i = $low; $i <= $n; ++$i) { - $this->H[$i][$i] -= $x; - } - $s = abs($this->H[$n][$n-1]) + abs($this->H[$n-1][$n-2]); - $x = $y = 0.75 * $s; - $w = -0.4375 * $s * $s; - } - // MATLAB's new ad hoc shift - if ($iter == 30) { - $s = ($y - $x) / 2.0; - $s = $s * $s + $w; - if ($s > 0) { - $s = sqrt($s); - if ($y < $x) { - $s = -$s; - } - $s = $x - $w / (($y - $x) / 2.0 + $s); - for ($i = $low; $i <= $n; ++$i) { - $this->H[$i][$i] -= $s; - } - $exshift += $s; - $x = $y = $w = 0.964; - } - } - // Could check iteration count here. - $iter = $iter + 1; - // Look for two consecutive small sub-diagonal elements - $m = $n - 2; - while ($m >= $l) { - $z = $this->H[$m][$m]; - $r = $x - $z; - $s = $y - $z; - $p = ($r * $s - $w) / $this->H[$m+1][$m] + $this->H[$m][$m+1]; - $q = $this->H[$m+1][$m+1] - $z - $r - $s; - $r = $this->H[$m+2][$m+1]; - $s = abs($p) + abs($q) + abs($r); - $p = $p / $s; - $q = $q / $s; - $r = $r / $s; - if ($m == $l) { - break; - } - if (abs($this->H[$m][$m-1]) * (abs($q) + abs($r)) < - $eps * (abs($p) * (abs($this->H[$m-1][$m-1]) + abs($z) + abs($this->H[$m+1][$m+1])))) { - break; - } - --$m; - } - for ($i = $m + 2; $i <= $n; ++$i) { - $this->H[$i][$i-2] = 0.0; - if ($i > $m+2) { - $this->H[$i][$i-3] = 0.0; - } - } - // Double QR step involving rows l:n and columns m:n - for ($k = $m; $k <= $n-1; ++$k) { - $notlast = ($k != $n-1); - if ($k != $m) { - $p = $this->H[$k][$k-1]; - $q = $this->H[$k+1][$k-1]; - $r = ($notlast ? $this->H[$k+2][$k-1] : 0.0); - $x = abs($p) + abs($q) + abs($r); - if ($x != 0.0) { - $p = $p / $x; - $q = $q / $x; - $r = $r / $x; - } - } - if ($x == 0.0) { - break; - } - $s = sqrt($p * $p + $q * $q + $r * $r); - if ($p < 0) { - $s = -$s; - } - if ($s != 0) { - if ($k != $m) { - $this->H[$k][$k-1] = -$s * $x; - } elseif ($l != $m) { - $this->H[$k][$k-1] = -$this->H[$k][$k-1]; - } - $p = $p + $s; - $x = $p / $s; - $y = $q / $s; - $z = $r / $s; - $q = $q / $p; - $r = $r / $p; - // Row modification - for ($j = $k; $j < $nn; ++$j) { - $p = $this->H[$k][$j] + $q * $this->H[$k+1][$j]; - if ($notlast) { - $p = $p + $r * $this->H[$k+2][$j]; - $this->H[$k+2][$j] = $this->H[$k+2][$j] - $p * $z; - } - $this->H[$k][$j] = $this->H[$k][$j] - $p * $x; - $this->H[$k+1][$j] = $this->H[$k+1][$j] - $p * $y; - } - // Column modification - for ($i = 0; $i <= min($n, $k+3); ++$i) { - $p = $x * $this->H[$i][$k] + $y * $this->H[$i][$k+1]; - if ($notlast) { - $p = $p + $z * $this->H[$i][$k+2]; - $this->H[$i][$k+2] = $this->H[$i][$k+2] - $p * $r; - } - $this->H[$i][$k] = $this->H[$i][$k] - $p; - $this->H[$i][$k+1] = $this->H[$i][$k+1] - $p * $q; - } - // Accumulate transformations - for ($i = $low; $i <= $high; ++$i) { - $p = $x * $this->V[$i][$k] + $y * $this->V[$i][$k+1]; - if ($notlast) { - $p = $p + $z * $this->V[$i][$k+2]; - $this->V[$i][$k+2] = $this->V[$i][$k+2] - $p * $r; - } - $this->V[$i][$k] = $this->V[$i][$k] - $p; - $this->V[$i][$k+1] = $this->V[$i][$k+1] - $p * $q; - } - } // ($s != 0) - } // k loop - } // check convergence - } // while ($n >= $low) + $issymmetric = true; + for ($j = 0; ($j < $this->n) & $issymmetric; ++$j) { + for ($i = 0; ($i < $this->n) & $issymmetric; ++$i) { + $issymmetric = ($this->A[$i][$j] == $this->A[$j][$i]); + } + } - // Backsubstitute to find vectors of upper triangular form - if ($norm == 0.0) { - return; - } + if ($issymmetric) { + $this->V = $this->A; + // Tridiagonalize. + $this->tred2(); + // Diagonalize. + $this->tql2(); + } else { + $this->H = $this->A; + $this->ort = array(); + // Reduce to Hessenberg form. + $this->orthes(); + // Reduce Hessenberg to real Schur form. + $this->hqr2(); + } + } - for ($n = $nn-1; $n >= 0; --$n) { - $p = $this->d[$n]; - $q = $this->e[$n]; - // Real vector - if ($q == 0) { - $l = $n; - $this->H[$n][$n] = 1.0; - for ($i = $n-1; $i >= 0; --$i) { - $w = $this->H[$i][$i] - $p; - $r = 0.0; - for ($j = $l; $j <= $n; ++$j) { - $r = $r + $this->H[$i][$j] * $this->H[$j][$n]; - } - if ($this->e[$i] < 0.0) { - $z = $w; - $s = $r; - } else { - $l = $i; - if ($this->e[$i] == 0.0) { - if ($w != 0.0) { - $this->H[$i][$n] = -$r / $w; - } else { - $this->H[$i][$n] = -$r / ($eps * $norm); - } - // Solve real equations - } else { - $x = $this->H[$i][$i+1]; - $y = $this->H[$i+1][$i]; - $q = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i]; - $t = ($x * $s - $z * $r) / $q; - $this->H[$i][$n] = $t; - if (abs($x) > abs($z)) { - $this->H[$i+1][$n] = (-$r - $w * $t) / $x; - } else { - $this->H[$i+1][$n] = (-$s - $y * $t) / $z; - } - } - // Overflow control - $t = abs($this->H[$i][$n]); - if (($eps * $t) * $t > 1) { - for ($j = $i; $j <= $n; ++$j) { - $this->H[$j][$n] = $this->H[$j][$n] / $t; - } - } - } - } - // Complex vector - } else if ($q < 0) { - $l = $n-1; - // Last vector component imaginary so matrix is triangular - if (abs($this->H[$n][$n-1]) > abs($this->H[$n-1][$n])) { - $this->H[$n-1][$n-1] = $q / $this->H[$n][$n-1]; - $this->H[$n-1][$n] = -($this->H[$n][$n] - $p) / $this->H[$n][$n-1]; - } else { - $this->cdiv(0.0, -$this->H[$n-1][$n], $this->H[$n-1][$n-1] - $p, $q); - $this->H[$n-1][$n-1] = $this->cdivr; - $this->H[$n-1][$n] = $this->cdivi; - } - $this->H[$n][$n-1] = 0.0; - $this->H[$n][$n] = 1.0; - for ($i = $n-2; $i >= 0; --$i) { - // double ra,sa,vr,vi; - $ra = 0.0; - $sa = 0.0; - for ($j = $l; $j <= $n; ++$j) { - $ra = $ra + $this->H[$i][$j] * $this->H[$j][$n-1]; - $sa = $sa + $this->H[$i][$j] * $this->H[$j][$n]; - } - $w = $this->H[$i][$i] - $p; - if ($this->e[$i] < 0.0) { - $z = $w; - $r = $ra; - $s = $sa; - } else { - $l = $i; - if ($this->e[$i] == 0) { - $this->cdiv(-$ra, -$sa, $w, $q); - $this->H[$i][$n-1] = $this->cdivr; - $this->H[$i][$n] = $this->cdivi; - } else { - // Solve complex equations - $x = $this->H[$i][$i+1]; - $y = $this->H[$i+1][$i]; - $vr = ($this->d[$i] - $p) * ($this->d[$i] - $p) + $this->e[$i] * $this->e[$i] - $q * $q; - $vi = ($this->d[$i] - $p) * 2.0 * $q; - if ($vr == 0.0 & $vi == 0.0) { - $vr = $eps * $norm * (abs($w) + abs($q) + abs($x) + abs($y) + abs($z)); - } - $this->cdiv($x * $r - $z * $ra + $q * $sa, $x * $s - $z * $sa - $q * $ra, $vr, $vi); - $this->H[$i][$n-1] = $this->cdivr; - $this->H[$i][$n] = $this->cdivi; - if (abs($x) > (abs($z) + abs($q))) { - $this->H[$i+1][$n-1] = (-$ra - $w * $this->H[$i][$n-1] + $q * $this->H[$i][$n]) / $x; - $this->H[$i+1][$n] = (-$sa - $w * $this->H[$i][$n] - $q * $this->H[$i][$n-1]) / $x; - } else { - $this->cdiv(-$r - $y * $this->H[$i][$n-1], -$s - $y * $this->H[$i][$n], $z, $q); - $this->H[$i+1][$n-1] = $this->cdivr; - $this->H[$i+1][$n] = $this->cdivi; - } - } - // Overflow control - $t = max(abs($this->H[$i][$n-1]),abs($this->H[$i][$n])); - if (($eps * $t) * $t > 1) { - for ($j = $i; $j <= $n; ++$j) { - $this->H[$j][$n-1] = $this->H[$j][$n-1] / $t; - $this->H[$j][$n] = $this->H[$j][$n] / $t; - } - } - } // end else - } // end for - } // end else for complex case - } // end for + /** + * Return the eigenvector matrix + * + * @access public + * @return V + */ + public function getV() + { + return new Matrix($this->V, $this->n, $this->n); + } - // Vectors of isolated roots - for ($i = 0; $i < $nn; ++$i) { - if ($i < $low | $i > $high) { - for ($j = $i; $j < $nn; ++$j) { - $this->V[$i][$j] = $this->H[$i][$j]; - } - } - } + /** + * Return the real parts of the eigenvalues + * + * @access public + * @return real(diag(D)) + */ + public function getRealEigenvalues() + { + return $this->d; + } - // Back transformation to get eigenvectors of original matrix - for ($j = $nn-1; $j >= $low; --$j) { - for ($i = $low; $i <= $high; ++$i) { - $z = 0.0; - for ($k = $low; $k <= min($j,$high); ++$k) { - $z = $z + $this->V[$i][$k] * $this->H[$k][$j]; - } - $this->V[$i][$j] = $z; - } - } - } // end hqr2 + /** + * Return the imaginary parts of the eigenvalues + * + * @access public + * @return imag(diag(D)) + */ + public function getImagEigenvalues() + { + return $this->e; + } - - /** - * Constructor: Check for symmetry, then construct the eigenvalue decomposition - * - * @access public - * @param A Square matrix - * @return Structure to access D and V. - */ - public function __construct($Arg) { - $this->A = $Arg->getArray(); - $this->n = $Arg->getColumnDimension(); - - $issymmetric = true; - for ($j = 0; ($j < $this->n) & $issymmetric; ++$j) { - for ($i = 0; ($i < $this->n) & $issymmetric; ++$i) { - $issymmetric = ($this->A[$i][$j] == $this->A[$j][$i]); - } - } - - if ($issymmetric) { - $this->V = $this->A; - // Tridiagonalize. - $this->tred2(); - // Diagonalize. - $this->tql2(); - } else { - $this->H = $this->A; - $this->ort = array(); - // Reduce to Hessenberg form. - $this->orthes(); - // Reduce Hessenberg to real Schur form. - $this->hqr2(); - } - } - - - /** - * Return the eigenvector matrix - * - * @access public - * @return V - */ - public function getV() { - return new Matrix($this->V, $this->n, $this->n); - } - - - /** - * Return the real parts of the eigenvalues - * - * @access public - * @return real(diag(D)) - */ - public function getRealEigenvalues() { - return $this->d; - } - - - /** - * Return the imaginary parts of the eigenvalues - * - * @access public - * @return imag(diag(D)) - */ - public function getImagEigenvalues() { - return $this->e; - } - - - /** - * Return the block diagonal eigenvalue matrix - * - * @access public - * @return D - */ - public function getD() { - for ($i = 0; $i < $this->n; ++$i) { - $D[$i] = array_fill(0, $this->n, 0.0); - $D[$i][$i] = $this->d[$i]; - if ($this->e[$i] == 0) { - continue; - } - $o = ($this->e[$i] > 0) ? $i + 1 : $i - 1; - $D[$i][$o] = $this->e[$i]; - } - return new Matrix($D); - } - -} // class EigenvalueDecomposition + /** + * Return the block diagonal eigenvalue matrix + * + * @access public + * @return D + */ + public function getD() + { + for ($i = 0; $i < $this->n; ++$i) { + $D[$i] = array_fill(0, $this->n, 0.0); + $D[$i][$i] = $this->d[$i]; + if ($this->e[$i] == 0) { + continue; + } + $o = ($this->e[$i] > 0) ? $i + 1 : $i - 1; + $D[$i][$o] = $this->e[$i]; + } + return new Matrix($D); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php index 08e500cf7..2505d9226 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/LUDecomposition.php @@ -1,258 +1,257 @@ <?php /** - * @package JAMA + * @package JAMA * - * For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n - * unit lower triangular matrix L, an n-by-n upper triangular matrix U, - * and a permutation vector piv of length m so that A(piv,:) = L*U. - * If m < n, then L is m-by-m and U is m-by-n. + * For an m-by-n matrix A with m >= n, the LU decomposition is an m-by-n + * unit lower triangular matrix L, an n-by-n upper triangular matrix U, + * and a permutation vector piv of length m so that A(piv,:) = L*U. + * If m < n, then L is m-by-m and U is m-by-n. * - * The LU decompostion with pivoting always exists, even if the matrix is - * singular, so the constructor will never fail. The primary use of the - * LU decomposition is in the solution of square systems of simultaneous - * linear equations. This will fail if isNonsingular() returns false. + * The LU decompostion with pivoting always exists, even if the matrix is + * singular, so the constructor will never fail. The primary use of the + * LU decomposition is in the solution of square systems of simultaneous + * linear equations. This will fail if isNonsingular() returns false. * - * @author Paul Meagher - * @author Bartosz Matosiuk - * @author Michael Bommarito - * @version 1.1 - * @license PHP v3.0 + * @author Paul Meagher + * @author Bartosz Matosiuk + * @author Michael Bommarito + * @version 1.1 + * @license PHP v3.0 */ -class PHPExcel_Shared_JAMA_LUDecomposition { +class PHPExcel_Shared_JAMA_LUDecomposition +{ + const MATRIX_SINGULAR_EXCEPTION = "Can only perform operation on singular matrix."; + const MATRIX_SQUARE_EXCEPTION = "Mismatched Row dimension"; - const MatrixSingularException = "Can only perform operation on singular matrix."; - const MatrixSquareException = "Mismatched Row dimension"; + /** + * Decomposition storage + * @var array + */ + private $LU = array(); - /** - * Decomposition storage - * @var array - */ - private $LU = array(); + /** + * Row dimension. + * @var int + */ + private $m; - /** - * Row dimension. - * @var int - */ - private $m; + /** + * Column dimension. + * @var int + */ + private $n; - /** - * Column dimension. - * @var int - */ - private $n; + /** + * Pivot sign. + * @var int + */ + private $pivsign; - /** - * Pivot sign. - * @var int - */ - private $pivsign; + /** + * Internal storage of pivot vector. + * @var array + */ + private $piv = array(); - /** - * Internal storage of pivot vector. - * @var array - */ - private $piv = array(); + /** + * LU Decomposition constructor. + * + * @param $A Rectangular matrix + * @return Structure to access L, U and piv. + */ + public function __construct($A) + { + if ($A instanceof PHPExcel_Shared_JAMA_Matrix) { + // Use a "left-looking", dot-product, Crout/Doolittle algorithm. + $this->LU = $A->getArray(); + $this->m = $A->getRowDimension(); + $this->n = $A->getColumnDimension(); + for ($i = 0; $i < $this->m; ++$i) { + $this->piv[$i] = $i; + } + $this->pivsign = 1; + $LUrowi = $LUcolj = array(); + // Outer loop. + for ($j = 0; $j < $this->n; ++$j) { + // Make a copy of the j-th column to localize references. + for ($i = 0; $i < $this->m; ++$i) { + $LUcolj[$i] = &$this->LU[$i][$j]; + } + // Apply previous transformations. + for ($i = 0; $i < $this->m; ++$i) { + $LUrowi = $this->LU[$i]; + // Most of the time is spent in the following dot product. + $kmax = min($i, $j); + $s = 0.0; + for ($k = 0; $k < $kmax; ++$k) { + $s += $LUrowi[$k] * $LUcolj[$k]; + } + $LUrowi[$j] = $LUcolj[$i] -= $s; + } + // Find pivot and exchange if necessary. + $p = $j; + for ($i = $j+1; $i < $this->m; ++$i) { + if (abs($LUcolj[$i]) > abs($LUcolj[$p])) { + $p = $i; + } + } + if ($p != $j) { + for ($k = 0; $k < $this->n; ++$k) { + $t = $this->LU[$p][$k]; + $this->LU[$p][$k] = $this->LU[$j][$k]; + $this->LU[$j][$k] = $t; + } + $k = $this->piv[$p]; + $this->piv[$p] = $this->piv[$j]; + $this->piv[$j] = $k; + $this->pivsign = $this->pivsign * -1; + } + // Compute multipliers. + if (($j < $this->m) && ($this->LU[$j][$j] != 0.0)) { + for ($i = $j+1; $i < $this->m; ++$i) { + $this->LU[$i][$j] /= $this->LU[$j][$j]; + } + } + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ARGUMENT_TYPE_EXCEPTION); + } + } // function __construct() - /** - * LU Decomposition constructor. - * - * @param $A Rectangular matrix - * @return Structure to access L, U and piv. - */ - public function __construct($A) { - if ($A instanceof PHPExcel_Shared_JAMA_Matrix) { - // Use a "left-looking", dot-product, Crout/Doolittle algorithm. - $this->LU = $A->getArray(); - $this->m = $A->getRowDimension(); - $this->n = $A->getColumnDimension(); - for ($i = 0; $i < $this->m; ++$i) { - $this->piv[$i] = $i; - } - $this->pivsign = 1; - $LUrowi = $LUcolj = array(); + /** + * Get lower triangular factor. + * + * @return array Lower triangular factor + */ + public function getL() + { + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i > $j) { + $L[$i][$j] = $this->LU[$i][$j]; + } elseif ($i == $j) { + $L[$i][$j] = 1.0; + } else { + $L[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($L); + } // function getL() - // Outer loop. - for ($j = 0; $j < $this->n; ++$j) { - // Make a copy of the j-th column to localize references. - for ($i = 0; $i < $this->m; ++$i) { - $LUcolj[$i] = &$this->LU[$i][$j]; - } - // Apply previous transformations. - for ($i = 0; $i < $this->m; ++$i) { - $LUrowi = $this->LU[$i]; - // Most of the time is spent in the following dot product. - $kmax = min($i,$j); - $s = 0.0; - for ($k = 0; $k < $kmax; ++$k) { - $s += $LUrowi[$k] * $LUcolj[$k]; - } - $LUrowi[$j] = $LUcolj[$i] -= $s; - } - // Find pivot and exchange if necessary. - $p = $j; - for ($i = $j+1; $i < $this->m; ++$i) { - if (abs($LUcolj[$i]) > abs($LUcolj[$p])) { - $p = $i; - } - } - if ($p != $j) { - for ($k = 0; $k < $this->n; ++$k) { - $t = $this->LU[$p][$k]; - $this->LU[$p][$k] = $this->LU[$j][$k]; - $this->LU[$j][$k] = $t; - } - $k = $this->piv[$p]; - $this->piv[$p] = $this->piv[$j]; - $this->piv[$j] = $k; - $this->pivsign = $this->pivsign * -1; - } - // Compute multipliers. - if (($j < $this->m) && ($this->LU[$j][$j] != 0.0)) { - for ($i = $j+1; $i < $this->m; ++$i) { - $this->LU[$i][$j] /= $this->LU[$j][$j]; - } - } - } - } else { - throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ArgumentTypeException); - } - } // function __construct() + /** + * Get upper triangular factor. + * + * @return array Upper triangular factor + */ + public function getU() + { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i <= $j) { + $U[$i][$j] = $this->LU[$i][$j]; + } else { + $U[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($U); + } // function getU() + /** + * Return pivot permutation vector. + * + * @return array Pivot vector + */ + public function getPivot() + { + return $this->piv; + } // function getPivot() - /** - * Get lower triangular factor. - * - * @return array Lower triangular factor - */ - public function getL() { - for ($i = 0; $i < $this->m; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - if ($i > $j) { - $L[$i][$j] = $this->LU[$i][$j]; - } elseif ($i == $j) { - $L[$i][$j] = 1.0; - } else { - $L[$i][$j] = 0.0; - } - } - } - return new PHPExcel_Shared_JAMA_Matrix($L); - } // function getL() + /** + * Alias for getPivot + * + * @see getPivot + */ + public function getDoublePivot() + { + return $this->getPivot(); + } // function getDoublePivot() + /** + * Is the matrix nonsingular? + * + * @return true if U, and hence A, is nonsingular. + */ + public function isNonsingular() + { + for ($j = 0; $j < $this->n; ++$j) { + if ($this->LU[$j][$j] == 0) { + return false; + } + } + return true; + } // function isNonsingular() - /** - * Get upper triangular factor. - * - * @return array Upper triangular factor - */ - public function getU() { - for ($i = 0; $i < $this->n; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - if ($i <= $j) { - $U[$i][$j] = $this->LU[$i][$j]; - } else { - $U[$i][$j] = 0.0; - } - } - } - return new PHPExcel_Shared_JAMA_Matrix($U); - } // function getU() + /** + * Count determinants + * + * @return array d matrix deterninat + */ + public function det() + { + if ($this->m == $this->n) { + $d = $this->pivsign; + for ($j = 0; $j < $this->n; ++$j) { + $d *= $this->LU[$j][$j]; + } + return $d; + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MATRIX_DIMENSION_EXCEPTION); + } + } // function det() - - /** - * Return pivot permutation vector. - * - * @return array Pivot vector - */ - public function getPivot() { - return $this->piv; - } // function getPivot() - - - /** - * Alias for getPivot - * - * @see getPivot - */ - public function getDoublePivot() { - return $this->getPivot(); - } // function getDoublePivot() - - - /** - * Is the matrix nonsingular? - * - * @return true if U, and hence A, is nonsingular. - */ - public function isNonsingular() { - for ($j = 0; $j < $this->n; ++$j) { - if ($this->LU[$j][$j] == 0) { - return false; - } - } - return true; - } // function isNonsingular() - - - /** - * Count determinants - * - * @return array d matrix deterninat - */ - public function det() { - if ($this->m == $this->n) { - $d = $this->pivsign; - for ($j = 0; $j < $this->n; ++$j) { - $d *= $this->LU[$j][$j]; - } - return $d; - } else { - throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MatrixDimensionException); - } - } // function det() - - - /** - * Solve A*X = B - * - * @param $B A Matrix with as many rows as A and any number of columns. - * @return X so that L*U*X = B(piv,:) - * @PHPExcel_Calculation_Exception IllegalArgumentException Matrix row dimensions must agree. - * @PHPExcel_Calculation_Exception RuntimeException Matrix is singular. - */ - public function solve($B) { - if ($B->getRowDimension() == $this->m) { - if ($this->isNonsingular()) { - // Copy right hand side with pivoting - $nx = $B->getColumnDimension(); - $X = $B->getMatrix($this->piv, 0, $nx-1); - // Solve L*Y = B(piv,:) - for ($k = 0; $k < $this->n; ++$k) { - for ($i = $k+1; $i < $this->n; ++$i) { - for ($j = 0; $j < $nx; ++$j) { - $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; - } - } - } - // Solve U*X = Y; - for ($k = $this->n-1; $k >= 0; --$k) { - for ($j = 0; $j < $nx; ++$j) { - $X->A[$k][$j] /= $this->LU[$k][$k]; - } - for ($i = 0; $i < $k; ++$i) { - for ($j = 0; $j < $nx; ++$j) { - $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; - } - } - } - return $X; - } else { - throw new PHPExcel_Calculation_Exception(self::MatrixSingularException); - } - } else { - throw new PHPExcel_Calculation_Exception(self::MatrixSquareException); - } - } // function solve() - -} // class PHPExcel_Shared_JAMA_LUDecomposition + /** + * Solve A*X = B + * + * @param $B A Matrix with as many rows as A and any number of columns. + * @return X so that L*U*X = B(piv,:) + * @PHPExcel_Calculation_Exception IllegalArgumentException Matrix row dimensions must agree. + * @PHPExcel_Calculation_Exception RuntimeException Matrix is singular. + */ + public function solve($B) + { + if ($B->getRowDimension() == $this->m) { + if ($this->isNonsingular()) { + // Copy right hand side with pivoting + $nx = $B->getColumnDimension(); + $X = $B->getMatrix($this->piv, 0, $nx-1); + // Solve L*Y = B(piv,:) + for ($k = 0; $k < $this->n; ++$k) { + for ($i = $k+1; $i < $this->n; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; + } + } + } + // Solve U*X = Y; + for ($k = $this->n-1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$k][$j] /= $this->LU[$k][$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X->A[$i][$j] -= $X->A[$k][$j] * $this->LU[$i][$k]; + } + } + } + return $X; + } else { + throw new PHPExcel_Calculation_Exception(self::MATRIX_SINGULAR_EXCEPTION); + } + } else { + throw new PHPExcel_Calculation_Exception(self::MATRIX_SQUARE_EXCEPTION); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php index 1e7c334ac..82fb0fb20 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/Matrix.php @@ -5,1053 +5,1155 @@ /** PHPExcel root directory */ if (!defined('PHPEXCEL_ROOT')) { - /** - * @ignore - */ - define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../../'); - require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); + /** + * @ignore + */ + define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../../'); + require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); } /* - * Matrix class + * Matrix class * - * @author Paul Meagher - * @author Michael Bommarito - * @author Lukasz Karapuda - * @author Bartek Matosiuk - * @version 1.8 - * @license PHP v3.0 - * @see http://math.nist.gov/javanumerics/jama/ + * @author Paul Meagher + * @author Michael Bommarito + * @author Lukasz Karapuda + * @author Bartek Matosiuk + * @version 1.8 + * @license PHP v3.0 + * @see http://math.nist.gov/javanumerics/jama/ */ -class PHPExcel_Shared_JAMA_Matrix { - - - const PolymorphicArgumentException = "Invalid argument pattern for polymorphic function."; - const ArgumentTypeException = "Invalid argument type."; - const ArgumentBoundsException = "Invalid argument range."; - const MatrixDimensionException = "Matrix dimensions are not equal."; - const ArrayLengthException = "Array length must be a multiple of m."; - - /** - * Matrix storage - * - * @var array - * @access public - */ - public $A = array(); - - /** - * Matrix row dimension - * - * @var int - * @access private - */ - private $m; - - /** - * Matrix column dimension - * - * @var int - * @access private - */ - private $n; - - - /** - * Polymorphic constructor - * - * As PHP has no support for polymorphic constructors, we hack our own sort of polymorphism using func_num_args, func_get_arg, and gettype. In essence, we're just implementing a simple RTTI filter and calling the appropriate constructor. - */ - public function __construct() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - //Rectangular matrix - m x n initialized from 2D array - case 'array': - $this->m = count($args[0]); - $this->n = count($args[0][0]); - $this->A = $args[0]; - break; - //Square matrix - n x n - case 'integer': - $this->m = $args[0]; - $this->n = $args[0]; - $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); - break; - //Rectangular matrix - m x n - case 'integer,integer': - $this->m = $args[0]; - $this->n = $args[1]; - $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); - break; - //Rectangular matrix - m x n initialized from packed array - case 'array,integer': - $this->m = $args[1]; - if ($this->m != 0) { - $this->n = count($args[0]) / $this->m; - } else { - $this->n = 0; - } - if (($this->m * $this->n) == count($args[0])) { - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $this->A[$i][$j] = $args[0][$i + $j * $this->m]; - } - } - } else { - throw new PHPExcel_Calculation_Exception(self::ArrayLengthException); - } - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function __construct() - - - /** - * getArray - * - * @return array Matrix array - */ - public function getArray() { - return $this->A; - } // function getArray() - - - /** - * getRowDimension - * - * @return int Row dimension - */ - public function getRowDimension() { - return $this->m; - } // function getRowDimension() - - - /** - * getColumnDimension - * - * @return int Column dimension - */ - public function getColumnDimension() { - return $this->n; - } // function getColumnDimension() - - - /** - * get - * - * Get the i,j-th element of the matrix. - * @param int $i Row position - * @param int $j Column position - * @return mixed Element (int/float/double) - */ - public function get($i = null, $j = null) { - return $this->A[$i][$j]; - } // function get() - - - /** - * getMatrix - * - * Get a submatrix - * @param int $i0 Initial row index - * @param int $iF Final row index - * @param int $j0 Initial column index - * @param int $jF Final column index - * @return Matrix Submatrix - */ - public function getMatrix() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - //A($i0...; $j0...) - case 'integer,integer': - list($i0, $j0) = $args; - if ($i0 >= 0) { $m = $this->m - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if ($j0 >= 0) { $n = $this->n - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); - for($i = $i0; $i < $this->m; ++$i) { - for($j = $j0; $j < $this->n; ++$j) { - $R->set($i, $j, $this->A[$i][$j]); - } - } - return $R; - break; - //A($i0...$iF; $j0...$jF) - case 'integer,integer,integer,integer': - list($i0, $iF, $j0, $jF) = $args; - if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { $m = $iF - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if (($jF > $j0) && ($this->n >= $jF) && ($j0 >= 0)) { $n = $jF - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m+1, $n+1); - for($i = $i0; $i <= $iF; ++$i) { - for($j = $j0; $j <= $jF; ++$j) { - $R->set($i - $i0, $j - $j0, $this->A[$i][$j]); - } - } - return $R; - break; - //$R = array of row indices; $C = array of column indices - case 'array,array': - list($RL, $CL) = $args; - if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); - for($i = 0; $i < $m; ++$i) { - for($j = 0; $j < $n; ++$j) { - $R->set($i - $i0, $j - $j0, $this->A[$RL[$i]][$CL[$j]]); - } - } - return $R; - break; - //$RL = array of row indices; $CL = array of column indices - case 'array,array': - list($RL, $CL) = $args; - if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); - for($i = 0; $i < $m; ++$i) { - for($j = 0; $j < $n; ++$j) { - $R->set($i, $j, $this->A[$RL[$i]][$CL[$j]]); - } - } - return $R; - break; - //A($i0...$iF); $CL = array of column indices - case 'integer,integer,array': - list($i0, $iF, $CL) = $args; - if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { $m = $iF - $i0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if (count($CL) > 0) { $n = count($CL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); - for($i = $i0; $i < $iF; ++$i) { - for($j = 0; $j < $n; ++$j) { - $R->set($i - $i0, $j, $this->A[$RL[$i]][$j]); - } - } - return $R; - break; - //$RL = array of row indices - case 'array,integer,integer': - list($RL, $j0, $jF) = $args; - if (count($RL) > 0) { $m = count($RL); } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - if (($jF >= $j0) && ($this->n >= $jF) && ($j0 >= 0)) { $n = $jF - $j0; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentBoundsException); } - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n+1); - for($i = 0; $i < $m; ++$i) { - for($j = $j0; $j <= $jF; ++$j) { - $R->set($i, $j - $j0, $this->A[$RL[$i]][$j]); - } - } - return $R; - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function getMatrix() - - - /** - * checkMatrixDimensions - * - * Is matrix B the same size? - * @param Matrix $B Matrix B - * @return boolean - */ - public function checkMatrixDimensions($B = null) { - if ($B instanceof PHPExcel_Shared_JAMA_Matrix) { - if (($this->m == $B->getRowDimension()) && ($this->n == $B->getColumnDimension())) { - return true; - } else { - throw new PHPExcel_Calculation_Exception(self::MatrixDimensionException); - } - } else { - throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); - } - } // function checkMatrixDimensions() - - - - /** - * set - * - * Set the i,j-th element of the matrix. - * @param int $i Row position - * @param int $j Column position - * @param mixed $c Int/float/double value - * @return mixed Element (int/float/double) - */ - public function set($i = null, $j = null, $c = null) { - // Optimized set version just has this - $this->A[$i][$j] = $c; - } // function set() - - - /** - * identity - * - * Generate an identity matrix. - * @param int $m Row dimension - * @param int $n Column dimension - * @return Matrix Identity matrix - */ - public function identity($m = null, $n = null) { - return $this->diagonal($m, $n, 1); - } // function identity() - - - /** - * diagonal - * - * Generate a diagonal matrix - * @param int $m Row dimension - * @param int $n Column dimension - * @param mixed $c Diagonal value - * @return Matrix Diagonal matrix - */ - public function diagonal($m = null, $n = null, $c = 1) { - $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); - for($i = 0; $i < $m; ++$i) { - $R->set($i, $i, $c); - } - return $R; - } // function diagonal() - - - /** - * getMatrixByRow - * - * Get a submatrix by row index/range - * @param int $i0 Initial row index - * @param int $iF Final row index - * @return Matrix Submatrix - */ - public function getMatrixByRow($i0 = null, $iF = null) { - if (is_int($i0)) { - if (is_int($iF)) { - return $this->getMatrix($i0, 0, $iF + 1, $this->n); - } else { - return $this->getMatrix($i0, 0, $i0 + 1, $this->n); - } - } else { - throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); - } - } // function getMatrixByRow() - - - /** - * getMatrixByCol - * - * Get a submatrix by column index/range - * @param int $i0 Initial column index - * @param int $iF Final column index - * @return Matrix Submatrix - */ - public function getMatrixByCol($j0 = null, $jF = null) { - if (is_int($j0)) { - if (is_int($jF)) { - return $this->getMatrix(0, $j0, $this->m, $jF + 1); - } else { - return $this->getMatrix(0, $j0, $this->m, $j0 + 1); - } - } else { - throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); - } - } // function getMatrixByCol() - - - /** - * transpose - * - * Tranpose matrix - * @return Matrix Transposed matrix - */ - public function transpose() { - $R = new PHPExcel_Shared_JAMA_Matrix($this->n, $this->m); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $R->set($j, $i, $this->A[$i][$j]); - } - } - return $R; - } // function transpose() - - - /** - * trace - * - * Sum of diagonal elements - * @return float Sum of diagonal elements - */ - public function trace() { - $s = 0; - $n = min($this->m, $this->n); - for($i = 0; $i < $n; ++$i) { - $s += $this->A[$i][$i]; - } - return $s; - } // function trace() - - - /** - * uminus - * - * Unary minus matrix -A - * @return Matrix Unary minus matrix - */ - public function uminus() { - } // function uminus() - - - /** - * plus - * - * A + B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function plus() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $M->set($i, $j, $M->get($i, $j) + $this->A[$i][$j]); - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function plus() - - - /** - * plusEquals - * - * A = A + B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function plusEquals() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $validValues = True; - $value = $M->get($i, $j); - if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); - } - if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { - $value = trim($value,'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); - } - if ($validValues) { - $this->A[$i][$j] += $value; - } else { - $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); - } - } - } - return $this; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function plusEquals() - - - /** - * minus - * - * A - B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function minus() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $M->set($i, $j, $M->get($i, $j) - $this->A[$i][$j]); - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function minus() - - - /** - * minusEquals - * - * A = A - B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function minusEquals() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $validValues = True; - $value = $M->get($i, $j); - if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); - } - if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { - $value = trim($value,'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); - } - if ($validValues) { - $this->A[$i][$j] -= $value; - } else { - $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); - } - } - } - return $this; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function minusEquals() - - - /** - * arrayTimes - * - * Element-by-element multiplication - * Cij = Aij * Bij - * @param mixed $B Matrix/Array - * @return Matrix Matrix Cij - */ - public function arrayTimes() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $M->set($i, $j, $M->get($i, $j) * $this->A[$i][$j]); - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayTimes() - - - /** - * arrayTimesEquals - * - * Element-by-element multiplication - * Aij = Aij * Bij - * @param mixed $B Matrix/Array - * @return Matrix Matrix Aij - */ - public function arrayTimesEquals() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $validValues = True; - $value = $M->get($i, $j); - if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); - } - if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { - $value = trim($value,'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); - } - if ($validValues) { - $this->A[$i][$j] *= $value; - } else { - $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); - } - } - } - return $this; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayTimesEquals() - - - /** - * arrayRightDivide - * - * Element-by-element right division - * A / B - * @param Matrix $B Matrix B - * @return Matrix Division result - */ - public function arrayRightDivide() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $validValues = True; - $value = $M->get($i, $j); - if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); - } - if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { - $value = trim($value,'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); - } - if ($validValues) { - if ($value == 0) { - // Trap for Divide by Zero error - $M->set($i, $j, '#DIV/0!'); - } else { - $M->set($i, $j, $this->A[$i][$j] / $value); - } - } else { - $M->set($i, $j, PHPExcel_Calculation_Functions::NaN()); - } - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayRightDivide() - - - /** - * arrayRightDivideEquals - * - * Element-by-element right division - * Aij = Aij / Bij - * @param mixed $B Matrix/Array - * @return Matrix Matrix Aij - */ - public function arrayRightDivideEquals() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $this->A[$i][$j] = $this->A[$i][$j] / $M->get($i, $j); - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayRightDivideEquals() - - - /** - * arrayLeftDivide - * - * Element-by-element Left division - * A / B - * @param Matrix $B Matrix B - * @return Matrix Division result - */ - public function arrayLeftDivide() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $M->set($i, $j, $M->get($i, $j) / $this->A[$i][$j]); - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayLeftDivide() - - - /** - * arrayLeftDivideEquals - * - * Element-by-element Left division - * Aij = Aij / Bij - * @param mixed $B Matrix/Array - * @return Matrix Matrix Aij - */ - public function arrayLeftDivideEquals() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $this->A[$i][$j] = $M->get($i, $j) / $this->A[$i][$j]; - } - } - return $M; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function arrayLeftDivideEquals() - - - /** - * times - * - * Matrix multiplication - * @param mixed $n Matrix/Array/Scalar - * @return Matrix Product - */ - public function times() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $B = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - if ($this->n == $B->m) { - $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); - for($j = 0; $j < $B->n; ++$j) { - for ($k = 0; $k < $this->n; ++$k) { - $Bcolj[$k] = $B->A[$k][$j]; - } - for($i = 0; $i < $this->m; ++$i) { - $Arowi = $this->A[$i]; - $s = 0; - for($k = 0; $k < $this->n; ++$k) { - $s += $Arowi[$k] * $Bcolj[$k]; - } - $C->A[$i][$j] = $s; - } - } - return $C; - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); - } - break; - case 'array': - $B = new PHPExcel_Shared_JAMA_Matrix($args[0]); - if ($this->n == $B->m) { - $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); - for($i = 0; $i < $C->m; ++$i) { - for($j = 0; $j < $C->n; ++$j) { - $s = "0"; - for($k = 0; $k < $C->n; ++$k) { - $s += $this->A[$i][$k] * $B->A[$k][$j]; - } - $C->A[$i][$j] = $s; - } - } - return $C; - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); - } - return $M; - break; - case 'integer': - $C = new PHPExcel_Shared_JAMA_Matrix($this->A); - for($i = 0; $i < $C->m; ++$i) { - for($j = 0; $j < $C->n; ++$j) { - $C->A[$i][$j] *= $args[0]; - } - } - return $C; - break; - case 'double': - $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $this->n); - for($i = 0; $i < $C->m; ++$i) { - for($j = 0; $j < $C->n; ++$j) { - $C->A[$i][$j] = $args[0] * $this->A[$i][$j]; - } - } - return $C; - break; - case 'float': - $C = new PHPExcel_Shared_JAMA_Matrix($this->A); - for($i = 0; $i < $C->m; ++$i) { - for($j = 0; $j < $C->n; ++$j) { - $C->A[$i][$j] *= $args[0]; - } - } - return $C; - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function times() - - - /** - * power - * - * A = A ^ B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function power() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - break; - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $validValues = True; - $value = $M->get($i, $j); - if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); - } - if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { - $value = trim($value,'"'); - $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); - } - if ($validValues) { - $this->A[$i][$j] = pow($this->A[$i][$j],$value); - } else { - $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); - } - } - } - return $this; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function power() - - - /** - * concat - * - * A = A & B - * @param mixed $B Matrix/Array - * @return Matrix Sum - */ - public function concat() { - if (func_num_args() > 0) { - $args = func_get_args(); - $match = implode(",", array_map('gettype', $args)); - - switch($match) { - case 'object': - if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { $M = $args[0]; } else { throw new PHPExcel_Calculation_Exception(self::ArgumentTypeException); } - case 'array': - $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); - break; - default: - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - break; - } - $this->checkMatrixDimensions($M); - for($i = 0; $i < $this->m; ++$i) { - for($j = 0; $j < $this->n; ++$j) { - $this->A[$i][$j] = trim($this->A[$i][$j],'"').trim($M->get($i, $j),'"'); - } - } - return $this; - } else { - throw new PHPExcel_Calculation_Exception(self::PolymorphicArgumentException); - } - } // function concat() - - - /** - * Solve A*X = B. - * - * @param Matrix $B Right hand side - * @return Matrix ... Solution if A is square, least squares solution otherwise - */ - public function solve($B) { - if ($this->m == $this->n) { - $LU = new PHPExcel_Shared_JAMA_LUDecomposition($this); - return $LU->solve($B); - } else { - $QR = new PHPExcel_Shared_JAMA_QRDecomposition($this); - return $QR->solve($B); - } - } // function solve() - - - /** - * Matrix inverse or pseudoinverse. - * - * @return Matrix ... Inverse(A) if A is square, pseudoinverse otherwise. - */ - public function inverse() { - return $this->solve($this->identity($this->m, $this->m)); - } // function inverse() - - - /** - * det - * - * Calculate determinant - * @return float Determinant - */ - public function det() { - $L = new PHPExcel_Shared_JAMA_LUDecomposition($this); - return $L->det(); - } // function det() -} // class PHPExcel_Shared_JAMA_Matrix +class PHPExcel_Shared_JAMA_Matrix +{ + const POLYMORPHIC_ARGUMENT_EXCEPTION = "Invalid argument pattern for polymorphic function."; + const ARGUMENT_TYPE_EXCEPTION = "Invalid argument type."; + const ARGUMENT_BOUNDS_EXCEPTION = "Invalid argument range."; + const MATRIX_DIMENSION_EXCEPTION = "Matrix dimensions are not equal."; + const ARRAY_LENGTH_EXCEPTION = "Array length must be a multiple of m."; + + /** + * Matrix storage + * + * @var array + * @access public + */ + public $A = array(); + + /** + * Matrix row dimension + * + * @var int + * @access private + */ + private $m; + + /** + * Matrix column dimension + * + * @var int + * @access private + */ + private $n; + + /** + * Polymorphic constructor + * + * As PHP has no support for polymorphic constructors, we hack our own sort of polymorphism using func_num_args, func_get_arg, and gettype. In essence, we're just implementing a simple RTTI filter and calling the appropriate constructor. + */ + public function __construct() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + //Rectangular matrix - m x n initialized from 2D array + case 'array': + $this->m = count($args[0]); + $this->n = count($args[0][0]); + $this->A = $args[0]; + break; + //Square matrix - n x n + case 'integer': + $this->m = $args[0]; + $this->n = $args[0]; + $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); + break; + //Rectangular matrix - m x n + case 'integer,integer': + $this->m = $args[0]; + $this->n = $args[1]; + $this->A = array_fill(0, $this->m, array_fill(0, $this->n, 0)); + break; + //Rectangular matrix - m x n initialized from packed array + case 'array,integer': + $this->m = $args[1]; + if ($this->m != 0) { + $this->n = count($args[0]) / $this->m; + } else { + $this->n = 0; + } + if (($this->m * $this->n) == count($args[0])) { + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $args[0][$i + $j * $this->m]; + } + } + } else { + throw new PHPExcel_Calculation_Exception(self::ARRAY_LENGTH_EXCEPTION); + } + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * getArray + * + * @return array Matrix array + */ + public function getArray() + { + return $this->A; + } + + /** + * getRowDimension + * + * @return int Row dimension + */ + public function getRowDimension() + { + return $this->m; + } + + /** + * getColumnDimension + * + * @return int Column dimension + */ + public function getColumnDimension() + { + return $this->n; + } + + /** + * get + * + * Get the i,j-th element of the matrix. + * @param int $i Row position + * @param int $j Column position + * @return mixed Element (int/float/double) + */ + public function get($i = null, $j = null) + { + return $this->A[$i][$j]; + } + + /** + * getMatrix + * + * Get a submatrix + * @param int $i0 Initial row index + * @param int $iF Final row index + * @param int $j0 Initial column index + * @param int $jF Final column index + * @return Matrix Submatrix + */ + public function getMatrix() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + //A($i0...; $j0...) + case 'integer,integer': + list($i0, $j0) = $args; + if ($i0 >= 0) { + $m = $this->m - $i0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if ($j0 >= 0) { + $n = $this->n - $j0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for ($i = $i0; $i < $this->m; ++$i) { + for ($j = $j0; $j < $this->n; ++$j) { + $R->set($i, $j, $this->A[$i][$j]); + } + } + return $R; + break; + //A($i0...$iF; $j0...$jF) + case 'integer,integer,integer,integer': + list($i0, $iF, $j0, $jF) = $args; + if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { + $m = $iF - $i0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if (($jF > $j0) && ($this->n >= $jF) && ($j0 >= 0)) { + $n = $jF - $j0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m+1, $n+1); + for ($i = $i0; $i <= $iF; ++$i) { + for ($j = $j0; $j <= $jF; ++$j) { + $R->set($i - $i0, $j - $j0, $this->A[$i][$j]); + } + } + return $R; + break; + //$R = array of row indices; $C = array of column indices + case 'array,array': + list($RL, $CL) = $args; + if (count($RL) > 0) { + $m = count($RL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if (count($CL) > 0) { + $n = count($CL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for ($i = 0; $i < $m; ++$i) { + for ($j = 0; $j < $n; ++$j) { + $R->set($i - $i0, $j - $j0, $this->A[$RL[$i]][$CL[$j]]); + } + } + return $R; + break; + //$RL = array of row indices; $CL = array of column indices + case 'array,array': + list($RL, $CL) = $args; + if (count($RL) > 0) { + $m = count($RL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if (count($CL) > 0) { + $n = count($CL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for ($i = 0; $i < $m; ++$i) { + for ($j = 0; $j < $n; ++$j) { + $R->set($i, $j, $this->A[$RL[$i]][$CL[$j]]); + } + } + return $R; + break; + //A($i0...$iF); $CL = array of column indices + case 'integer,integer,array': + list($i0, $iF, $CL) = $args; + if (($iF > $i0) && ($this->m >= $iF) && ($i0 >= 0)) { + $m = $iF - $i0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if (count($CL) > 0) { + $n = count($CL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for ($i = $i0; $i < $iF; ++$i) { + for ($j = 0; $j < $n; ++$j) { + $R->set($i - $i0, $j, $this->A[$RL[$i]][$j]); + } + } + return $R; + break; + //$RL = array of row indices + case 'array,integer,integer': + list($RL, $j0, $jF) = $args; + if (count($RL) > 0) { + $m = count($RL); + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + if (($jF >= $j0) && ($this->n >= $jF) && ($j0 >= 0)) { + $n = $jF - $j0; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_BOUNDS_EXCEPTION); + } + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n+1); + for ($i = 0; $i < $m; ++$i) { + for ($j = $j0; $j <= $jF; ++$j) { + $R->set($i, $j - $j0, $this->A[$RL[$i]][$j]); + } + } + return $R; + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * checkMatrixDimensions + * + * Is matrix B the same size? + * @param Matrix $B Matrix B + * @return boolean + */ + public function checkMatrixDimensions($B = null) + { + if ($B instanceof PHPExcel_Shared_JAMA_Matrix) { + if (($this->m == $B->getRowDimension()) && ($this->n == $B->getColumnDimension())) { + return true; + } else { + throw new PHPExcel_Calculation_Exception(self::MATRIX_DIMENSION_EXCEPTION); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + } // function checkMatrixDimensions() + + /** + * set + * + * Set the i,j-th element of the matrix. + * @param int $i Row position + * @param int $j Column position + * @param mixed $c Int/float/double value + * @return mixed Element (int/float/double) + */ + public function set($i = null, $j = null, $c = null) + { + // Optimized set version just has this + $this->A[$i][$j] = $c; + } // function set() + + /** + * identity + * + * Generate an identity matrix. + * @param int $m Row dimension + * @param int $n Column dimension + * @return Matrix Identity matrix + */ + public function identity($m = null, $n = null) + { + return $this->diagonal($m, $n, 1); + } + + /** + * diagonal + * + * Generate a diagonal matrix + * @param int $m Row dimension + * @param int $n Column dimension + * @param mixed $c Diagonal value + * @return Matrix Diagonal matrix + */ + public function diagonal($m = null, $n = null, $c = 1) + { + $R = new PHPExcel_Shared_JAMA_Matrix($m, $n); + for ($i = 0; $i < $m; ++$i) { + $R->set($i, $i, $c); + } + return $R; + } + + /** + * getMatrixByRow + * + * Get a submatrix by row index/range + * @param int $i0 Initial row index + * @param int $iF Final row index + * @return Matrix Submatrix + */ + public function getMatrixByRow($i0 = null, $iF = null) + { + if (is_int($i0)) { + if (is_int($iF)) { + return $this->getMatrix($i0, 0, $iF + 1, $this->n); + } else { + return $this->getMatrix($i0, 0, $i0 + 1, $this->n); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + } + + /** + * getMatrixByCol + * + * Get a submatrix by column index/range + * @param int $i0 Initial column index + * @param int $iF Final column index + * @return Matrix Submatrix + */ + public function getMatrixByCol($j0 = null, $jF = null) + { + if (is_int($j0)) { + if (is_int($jF)) { + return $this->getMatrix(0, $j0, $this->m, $jF + 1); + } else { + return $this->getMatrix(0, $j0, $this->m, $j0 + 1); + } + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + } + + /** + * transpose + * + * Tranpose matrix + * @return Matrix Transposed matrix + */ + public function transpose() + { + $R = new PHPExcel_Shared_JAMA_Matrix($this->n, $this->m); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $R->set($j, $i, $this->A[$i][$j]); + } + } + return $R; + } // function transpose() + + /** + * trace + * + * Sum of diagonal elements + * @return float Sum of diagonal elements + */ + public function trace() + { + $s = 0; + $n = min($this->m, $this->n); + for ($i = 0; $i < $n; ++$i) { + $s += $this->A[$i][$i]; + } + return $s; + } + + /** + * uminus + * + * Unary minus matrix -A + * @return Matrix Unary minus matrix + */ + public function uminus() + { + } + + /** + * plus + * + * A + B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function plus() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) + $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * plusEquals + * + * A = A + B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function plusEquals() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $validValues = true; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value, '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] += $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * minus + * + * A - B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function minus() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) - $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * minusEquals + * + * A = A - B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function minusEquals() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $validValues = true; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value, '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] -= $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * arrayTimes + * + * Element-by-element multiplication + * Cij = Aij * Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Cij + */ + public function arrayTimes() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) * $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * arrayTimesEquals + * + * Element-by-element multiplication + * Aij = Aij * Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayTimesEquals() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $validValues = true; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value, '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] *= $value; + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * arrayRightDivide + * + * Element-by-element right division + * A / B + * @param Matrix $B Matrix B + * @return Matrix Division result + */ + public function arrayRightDivide() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $validValues = true; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value, '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + if ($value == 0) { + // Trap for Divide by Zero error + $M->set($i, $j, '#DIV/0!'); + } else { + $M->set($i, $j, $this->A[$i][$j] / $value); + } + } else { + $M->set($i, $j, PHPExcel_Calculation_Functions::NaN()); + } + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + + /** + * arrayRightDivideEquals + * + * Element-by-element right division + * Aij = Aij / Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayRightDivideEquals() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $this->A[$i][$j] / $M->get($i, $j); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + + /** + * arrayLeftDivide + * + * Element-by-element Left division + * A / B + * @param Matrix $B Matrix B + * @return Matrix Division result + */ + public function arrayLeftDivide() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $M->set($i, $j, $M->get($i, $j) / $this->A[$i][$j]); + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + + /** + * arrayLeftDivideEquals + * + * Element-by-element Left division + * Aij = Aij / Bij + * @param mixed $B Matrix/Array + * @return Matrix Matrix Aij + */ + public function arrayLeftDivideEquals() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = $M->get($i, $j) / $this->A[$i][$j]; + } + } + return $M; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + + /** + * times + * + * Matrix multiplication + * @param mixed $n Matrix/Array/Scalar + * @return Matrix Product + */ + public function times() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $B = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + if ($this->n == $B->m) { + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); + for ($j = 0; $j < $B->n; ++$j) { + for ($k = 0; $k < $this->n; ++$k) { + $Bcolj[$k] = $B->A[$k][$j]; + } + for ($i = 0; $i < $this->m; ++$i) { + $Arowi = $this->A[$i]; + $s = 0; + for ($k = 0; $k < $this->n; ++$k) { + $s += $Arowi[$k] * $Bcolj[$k]; + } + $C->A[$i][$j] = $s; + } + } + return $C; + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); + } + break; + case 'array': + $B = new PHPExcel_Shared_JAMA_Matrix($args[0]); + if ($this->n == $B->m) { + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $B->n); + for ($i = 0; $i < $C->m; ++$i) { + for ($j = 0; $j < $C->n; ++$j) { + $s = "0"; + for ($k = 0; $k < $C->n; ++$k) { + $s += $this->A[$i][$k] * $B->A[$k][$j]; + } + $C->A[$i][$j] = $s; + } + } + return $C; + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(MatrixDimensionMismatch)); + } + return $M; + break; + case 'integer': + $C = new PHPExcel_Shared_JAMA_Matrix($this->A); + for ($i = 0; $i < $C->m; ++$i) { + for ($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] *= $args[0]; + } + } + return $C; + break; + case 'double': + $C = new PHPExcel_Shared_JAMA_Matrix($this->m, $this->n); + for ($i = 0; $i < $C->m; ++$i) { + for ($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] = $args[0] * $this->A[$i][$j]; + } + } + return $C; + break; + case 'float': + $C = new PHPExcel_Shared_JAMA_Matrix($this->A); + for ($i = 0; $i < $C->m; ++$i) { + for ($j = 0; $j < $C->n; ++$j) { + $C->A[$i][$j] *= $args[0]; + } + } + return $C; + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * power + * + * A = A ^ B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function power() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + break; + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $validValues = true; + $value = $M->get($i, $j); + if ((is_string($this->A[$i][$j])) && (strlen($this->A[$i][$j]) > 0) && (!is_numeric($this->A[$i][$j]))) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($this->A[$i][$j]); + } + if ((is_string($value)) && (strlen($value) > 0) && (!is_numeric($value))) { + $value = trim($value, '"'); + $validValues &= PHPExcel_Shared_String::convertToNumberIfFraction($value); + } + if ($validValues) { + $this->A[$i][$j] = pow($this->A[$i][$j], $value); + } else { + $this->A[$i][$j] = PHPExcel_Calculation_Functions::NaN(); + } + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * concat + * + * A = A & B + * @param mixed $B Matrix/Array + * @return Matrix Sum + */ + public function concat() + { + if (func_num_args() > 0) { + $args = func_get_args(); + $match = implode(",", array_map('gettype', $args)); + + switch ($match) { + case 'object': + if ($args[0] instanceof PHPExcel_Shared_JAMA_Matrix) { + $M = $args[0]; + } else { + throw new PHPExcel_Calculation_Exception(self::ARGUMENT_TYPE_EXCEPTION); + } + case 'array': + $M = new PHPExcel_Shared_JAMA_Matrix($args[0]); + break; + default: + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + break; + } + $this->checkMatrixDimensions($M); + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $this->A[$i][$j] = trim($this->A[$i][$j], '"').trim($M->get($i, $j), '"'); + } + } + return $this; + } else { + throw new PHPExcel_Calculation_Exception(self::POLYMORPHIC_ARGUMENT_EXCEPTION); + } + } + + /** + * Solve A*X = B. + * + * @param Matrix $B Right hand side + * @return Matrix ... Solution if A is square, least squares solution otherwise + */ + public function solve($B) + { + if ($this->m == $this->n) { + $LU = new PHPExcel_Shared_JAMA_LUDecomposition($this); + return $LU->solve($B); + } else { + $QR = new PHPExcel_Shared_JAMA_QRDecomposition($this); + return $QR->solve($B); + } + } + + /** + * Matrix inverse or pseudoinverse. + * + * @return Matrix ... Inverse(A) if A is square, pseudoinverse otherwise. + */ + public function inverse() + { + return $this->solve($this->identity($this->m, $this->m)); + } + + /** + * det + * + * Calculate determinant + * @return float Determinant + */ + public function det() + { + $L = new PHPExcel_Shared_JAMA_LUDecomposition($this); + return $L->det(); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php index 753846298..1e43c7c43 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/QRDecomposition.php @@ -1,234 +1,235 @@ <?php /** - * @package JAMA + * @package JAMA * - * For an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n - * orthogonal matrix Q and an n-by-n upper triangular matrix R so that - * A = Q*R. + * For an m-by-n matrix A with m >= n, the QR decomposition is an m-by-n + * orthogonal matrix Q and an n-by-n upper triangular matrix R so that + * A = Q*R. * - * The QR decompostion always exists, even if the matrix does not have - * full rank, so the constructor will never fail. The primary use of the - * QR decomposition is in the least squares solution of nonsquare systems - * of simultaneous linear equations. This will fail if isFullRank() - * returns false. + * The QR decompostion always exists, even if the matrix does not have + * full rank, so the constructor will never fail. The primary use of the + * QR decomposition is in the least squares solution of nonsquare systems + * of simultaneous linear equations. This will fail if isFullRank() + * returns false. * - * @author Paul Meagher - * @license PHP v3.0 - * @version 1.1 + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 */ -class PHPExcel_Shared_JAMA_QRDecomposition { +class PHPExcel_Shared_JAMA_QRDecomposition +{ + const MATRIX_RANK_EXCEPTION = "Can only perform operation on full-rank matrix."; - const MatrixRankException = "Can only perform operation on full-rank matrix."; + /** + * Array for internal storage of decomposition. + * @var array + */ + private $QR = array(); - /** - * Array for internal storage of decomposition. - * @var array - */ - private $QR = array(); + /** + * Row dimension. + * @var integer + */ + private $m; - /** - * Row dimension. - * @var integer - */ - private $m; + /** + * Column dimension. + * @var integer + */ + private $n; - /** - * Column dimension. - * @var integer - */ - private $n; - - /** - * Array for internal storage of diagonal of R. - * @var array - */ - private $Rdiag = array(); + /** + * Array for internal storage of diagonal of R. + * @var array + */ + private $Rdiag = array(); - /** - * QR Decomposition computed by Householder reflections. - * - * @param matrix $A Rectangular matrix - * @return Structure to access R and the Householder vectors and compute Q. - */ - public function __construct($A) { - if($A instanceof PHPExcel_Shared_JAMA_Matrix) { - // Initialize. - $this->QR = $A->getArrayCopy(); - $this->m = $A->getRowDimension(); - $this->n = $A->getColumnDimension(); - // Main loop. - for ($k = 0; $k < $this->n; ++$k) { - // Compute 2-norm of k-th column without under/overflow. - $nrm = 0.0; - for ($i = $k; $i < $this->m; ++$i) { - $nrm = hypo($nrm, $this->QR[$i][$k]); - } - if ($nrm != 0.0) { - // Form k-th Householder vector. - if ($this->QR[$k][$k] < 0) { - $nrm = -$nrm; - } - for ($i = $k; $i < $this->m; ++$i) { - $this->QR[$i][$k] /= $nrm; - } - $this->QR[$k][$k] += 1.0; - // Apply transformation to remaining columns. - for ($j = $k+1; $j < $this->n; ++$j) { - $s = 0.0; - for ($i = $k; $i < $this->m; ++$i) { - $s += $this->QR[$i][$k] * $this->QR[$i][$j]; - } - $s = -$s/$this->QR[$k][$k]; - for ($i = $k; $i < $this->m; ++$i) { - $this->QR[$i][$j] += $s * $this->QR[$i][$k]; - } - } - } - $this->Rdiag[$k] = -$nrm; - } - } else { - throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ArgumentTypeException); - } - } // function __construct() + /** + * QR Decomposition computed by Householder reflections. + * + * @param matrix $A Rectangular matrix + * @return Structure to access R and the Householder vectors and compute Q. + */ + public function __construct($A) + { + if ($A instanceof PHPExcel_Shared_JAMA_Matrix) { + // Initialize. + $this->QR = $A->getArrayCopy(); + $this->m = $A->getRowDimension(); + $this->n = $A->getColumnDimension(); + // Main loop. + for ($k = 0; $k < $this->n; ++$k) { + // Compute 2-norm of k-th column without under/overflow. + $nrm = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $nrm = hypo($nrm, $this->QR[$i][$k]); + } + if ($nrm != 0.0) { + // Form k-th Householder vector. + if ($this->QR[$k][$k] < 0) { + $nrm = -$nrm; + } + for ($i = $k; $i < $this->m; ++$i) { + $this->QR[$i][$k] /= $nrm; + } + $this->QR[$k][$k] += 1.0; + // Apply transformation to remaining columns. + for ($j = $k+1; $j < $this->n; ++$j) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $this->QR[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $this->QR[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + $this->Rdiag[$k] = -$nrm; + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::ARGUMENT_TYPE_EXCEPTION); + } + } // function __construct() - /** - * Is the matrix full rank? - * - * @return boolean true if R, and hence A, has full rank, else false. - */ - public function isFullRank() { - for ($j = 0; $j < $this->n; ++$j) { - if ($this->Rdiag[$j] == 0) { - return false; - } - } - return true; - } // function isFullRank() + /** + * Is the matrix full rank? + * + * @return boolean true if R, and hence A, has full rank, else false. + */ + public function isFullRank() + { + for ($j = 0; $j < $this->n; ++$j) { + if ($this->Rdiag[$j] == 0) { + return false; + } + } + return true; + } // function isFullRank() + /** + * Return the Householder vectors + * + * @return Matrix Lower trapezoidal matrix whose columns define the reflections + */ + public function getH() + { + for ($i = 0; $i < $this->m; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i >= $j) { + $H[$i][$j] = $this->QR[$i][$j]; + } else { + $H[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($H); + } // function getH() - /** - * Return the Householder vectors - * - * @return Matrix Lower trapezoidal matrix whose columns define the reflections - */ - public function getH() { - for ($i = 0; $i < $this->m; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - if ($i >= $j) { - $H[$i][$j] = $this->QR[$i][$j]; - } else { - $H[$i][$j] = 0.0; - } - } - } - return new PHPExcel_Shared_JAMA_Matrix($H); - } // function getH() + /** + * Return the upper triangular factor + * + * @return Matrix upper triangular factor + */ + public function getR() + { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + if ($i < $j) { + $R[$i][$j] = $this->QR[$i][$j]; + } elseif ($i == $j) { + $R[$i][$j] = $this->Rdiag[$i]; + } else { + $R[$i][$j] = 0.0; + } + } + } + return new PHPExcel_Shared_JAMA_Matrix($R); + } // function getR() + /** + * Generate and return the (economy-sized) orthogonal factor + * + * @return Matrix orthogonal factor + */ + public function getQ() + { + for ($k = $this->n-1; $k >= 0; --$k) { + for ($i = 0; $i < $this->m; ++$i) { + $Q[$i][$k] = 0.0; + } + $Q[$k][$k] = 1.0; + for ($j = $k; $j < $this->n; ++$j) { + if ($this->QR[$k][$k] != 0) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $Q[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $Q[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + } + /* + for($i = 0; $i < count($Q); ++$i) { + for($j = 0; $j < count($Q); ++$j) { + if (! isset($Q[$i][$j]) ) { + $Q[$i][$j] = 0; + } + } + } + */ + return new PHPExcel_Shared_JAMA_Matrix($Q); + } // function getQ() - /** - * Return the upper triangular factor - * - * @return Matrix upper triangular factor - */ - public function getR() { - for ($i = 0; $i < $this->n; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - if ($i < $j) { - $R[$i][$j] = $this->QR[$i][$j]; - } elseif ($i == $j) { - $R[$i][$j] = $this->Rdiag[$i]; - } else { - $R[$i][$j] = 0.0; - } - } - } - return new PHPExcel_Shared_JAMA_Matrix($R); - } // function getR() - - - /** - * Generate and return the (economy-sized) orthogonal factor - * - * @return Matrix orthogonal factor - */ - public function getQ() { - for ($k = $this->n-1; $k >= 0; --$k) { - for ($i = 0; $i < $this->m; ++$i) { - $Q[$i][$k] = 0.0; - } - $Q[$k][$k] = 1.0; - for ($j = $k; $j < $this->n; ++$j) { - if ($this->QR[$k][$k] != 0) { - $s = 0.0; - for ($i = $k; $i < $this->m; ++$i) { - $s += $this->QR[$i][$k] * $Q[$i][$j]; - } - $s = -$s/$this->QR[$k][$k]; - for ($i = $k; $i < $this->m; ++$i) { - $Q[$i][$j] += $s * $this->QR[$i][$k]; - } - } - } - } - /* - for($i = 0; $i < count($Q); ++$i) { - for($j = 0; $j < count($Q); ++$j) { - if(! isset($Q[$i][$j]) ) { - $Q[$i][$j] = 0; - } - } - } - */ - return new PHPExcel_Shared_JAMA_Matrix($Q); - } // function getQ() - - - /** - * Least squares solution of A*X = B - * - * @param Matrix $B A Matrix with as many rows as A and any number of columns. - * @return Matrix Matrix that minimizes the two norm of Q*R*X-B. - */ - public function solve($B) { - if ($B->getRowDimension() == $this->m) { - if ($this->isFullRank()) { - // Copy right hand side - $nx = $B->getColumnDimension(); - $X = $B->getArrayCopy(); - // Compute Y = transpose(Q)*B - for ($k = 0; $k < $this->n; ++$k) { - for ($j = 0; $j < $nx; ++$j) { - $s = 0.0; - for ($i = $k; $i < $this->m; ++$i) { - $s += $this->QR[$i][$k] * $X[$i][$j]; - } - $s = -$s/$this->QR[$k][$k]; - for ($i = $k; $i < $this->m; ++$i) { - $X[$i][$j] += $s * $this->QR[$i][$k]; - } - } - } - // Solve R*X = Y; - for ($k = $this->n-1; $k >= 0; --$k) { - for ($j = 0; $j < $nx; ++$j) { - $X[$k][$j] /= $this->Rdiag[$k]; - } - for ($i = 0; $i < $k; ++$i) { - for ($j = 0; $j < $nx; ++$j) { - $X[$i][$j] -= $X[$k][$j]* $this->QR[$i][$k]; - } - } - } - $X = new PHPExcel_Shared_JAMA_Matrix($X); - return ($X->getMatrix(0, $this->n-1, 0, $nx)); - } else { - throw new PHPExcel_Calculation_Exception(self::MatrixRankException); - } - } else { - throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MatrixDimensionException); - } - } // function solve() - -} // PHPExcel_Shared_JAMA_class QRDecomposition + /** + * Least squares solution of A*X = B + * + * @param Matrix $B A Matrix with as many rows as A and any number of columns. + * @return Matrix Matrix that minimizes the two norm of Q*R*X-B. + */ + public function solve($B) + { + if ($B->getRowDimension() == $this->m) { + if ($this->isFullRank()) { + // Copy right hand side + $nx = $B->getColumnDimension(); + $X = $B->getArrayCopy(); + // Compute Y = transpose(Q)*B + for ($k = 0; $k < $this->n; ++$k) { + for ($j = 0; $j < $nx; ++$j) { + $s = 0.0; + for ($i = $k; $i < $this->m; ++$i) { + $s += $this->QR[$i][$k] * $X[$i][$j]; + } + $s = -$s/$this->QR[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $X[$i][$j] += $s * $this->QR[$i][$k]; + } + } + } + // Solve R*X = Y; + for ($k = $this->n-1; $k >= 0; --$k) { + for ($j = 0; $j < $nx; ++$j) { + $X[$k][$j] /= $this->Rdiag[$k]; + } + for ($i = 0; $i < $k; ++$i) { + for ($j = 0; $j < $nx; ++$j) { + $X[$i][$j] -= $X[$k][$j]* $this->QR[$i][$k]; + } + } + } + $X = new PHPExcel_Shared_JAMA_Matrix($X); + return ($X->getMatrix(0, $this->n-1, 0, $nx)); + } else { + throw new PHPExcel_Calculation_Exception(self::MATRIX_RANK_EXCEPTION); + } + } else { + throw new PHPExcel_Calculation_Exception(PHPExcel_Shared_JAMA_Matrix::MATRIX_DIMENSION_EXCEPTION); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php index a4b096c59..f57d122ce 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/SingularValueDecomposition.php @@ -1,526 +1,528 @@ <?php /** - * @package JAMA + * @package JAMA * - * For an m-by-n matrix A with m >= n, the singular value decomposition is - * an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and - * an n-by-n orthogonal matrix V so that A = U*S*V'. + * For an m-by-n matrix A with m >= n, the singular value decomposition is + * an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and + * an n-by-n orthogonal matrix V so that A = U*S*V'. * - * The singular values, sigma[$k] = S[$k][$k], are ordered so that - * sigma[0] >= sigma[1] >= ... >= sigma[n-1]. + * The singular values, sigma[$k] = S[$k][$k], are ordered so that + * sigma[0] >= sigma[1] >= ... >= sigma[n-1]. * - * The singular value decompostion always exists, so the constructor will - * never fail. The matrix condition number and the effective numerical - * rank can be computed from this decomposition. + * The singular value decompostion always exists, so the constructor will + * never fail. The matrix condition number and the effective numerical + * rank can be computed from this decomposition. * - * @author Paul Meagher - * @license PHP v3.0 - * @version 1.1 + * @author Paul Meagher + * @license PHP v3.0 + * @version 1.1 */ -class SingularValueDecomposition { +class SingularValueDecomposition +{ + /** + * Internal storage of U. + * @var array + */ + private $U = array(); - /** - * Internal storage of U. - * @var array - */ - private $U = array(); + /** + * Internal storage of V. + * @var array + */ + private $V = array(); - /** - * Internal storage of V. - * @var array - */ - private $V = array(); + /** + * Internal storage of singular values. + * @var array + */ + private $s = array(); - /** - * Internal storage of singular values. - * @var array - */ - private $s = array(); + /** + * Row dimension. + * @var int + */ + private $m; - /** - * Row dimension. - * @var int - */ - private $m; + /** + * Column dimension. + * @var int + */ + private $n; - /** - * Column dimension. - * @var int - */ - private $n; + /** + * Construct the singular value decomposition + * + * Derived from LINPACK code. + * + * @param $A Rectangular matrix + * @return Structure to access U, S and V. + */ + public function __construct($Arg) + { + // Initialize. + $A = $Arg->getArrayCopy(); + $this->m = $Arg->getRowDimension(); + $this->n = $Arg->getColumnDimension(); + $nu = min($this->m, $this->n); + $e = array(); + $work = array(); + $wantu = true; + $wantv = true; + $nct = min($this->m - 1, $this->n); + $nrt = max(0, min($this->n - 2, $this->m)); + + // Reduce A to bidiagonal form, storing the diagonal elements + // in s and the super-diagonal elements in e. + for ($k = 0; $k < max($nct, $nrt); ++$k) { + if ($k < $nct) { + // Compute the transformation for the k-th column and + // place the k-th diagonal in s[$k]. + // Compute 2-norm of k-th column without under/overflow. + $this->s[$k] = 0; + for ($i = $k; $i < $this->m; ++$i) { + $this->s[$k] = hypo($this->s[$k], $A[$i][$k]); + } + if ($this->s[$k] != 0.0) { + if ($A[$k][$k] < 0.0) { + $this->s[$k] = -$this->s[$k]; + } + for ($i = $k; $i < $this->m; ++$i) { + $A[$i][$k] /= $this->s[$k]; + } + $A[$k][$k] += 1.0; + } + $this->s[$k] = -$this->s[$k]; + } + + for ($j = $k + 1; $j < $this->n; ++$j) { + if (($k < $nct) & ($this->s[$k] != 0.0)) { + // Apply the transformation. + $t = 0; + for ($i = $k; $i < $this->m; ++$i) { + $t += $A[$i][$k] * $A[$i][$j]; + } + $t = -$t / $A[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $A[$i][$j] += $t * $A[$i][$k]; + } + // Place the k-th row of A into e for the + // subsequent calculation of the row transformation. + $e[$j] = $A[$k][$j]; + } + } + + if ($wantu and ($k < $nct)) { + // Place the transformation in U for subsequent back + // multiplication. + for ($i = $k; $i < $this->m; ++$i) { + $this->U[$i][$k] = $A[$i][$k]; + } + } + + if ($k < $nrt) { + // Compute the k-th row transformation and place the + // k-th super-diagonal in e[$k]. + // Compute 2-norm without under/overflow. + $e[$k] = 0; + for ($i = $k + 1; $i < $this->n; ++$i) { + $e[$k] = hypo($e[$k], $e[$i]); + } + if ($e[$k] != 0.0) { + if ($e[$k+1] < 0.0) { + $e[$k] = -$e[$k]; + } + for ($i = $k + 1; $i < $this->n; ++$i) { + $e[$i] /= $e[$k]; + } + $e[$k+1] += 1.0; + } + $e[$k] = -$e[$k]; + if (($k+1 < $this->m) and ($e[$k] != 0.0)) { + // Apply the transformation. + for ($i = $k+1; $i < $this->m; ++$i) { + $work[$i] = 0.0; + } + for ($j = $k+1; $j < $this->n; ++$j) { + for ($i = $k+1; $i < $this->m; ++$i) { + $work[$i] += $e[$j] * $A[$i][$j]; + } + } + for ($j = $k + 1; $j < $this->n; ++$j) { + $t = -$e[$j] / $e[$k+1]; + for ($i = $k + 1; $i < $this->m; ++$i) { + $A[$i][$j] += $t * $work[$i]; + } + } + } + if ($wantv) { + // Place the transformation in V for subsequent + // back multiplication. + for ($i = $k + 1; $i < $this->n; ++$i) { + $this->V[$i][$k] = $e[$i]; + } + } + } + } + + // Set up the final bidiagonal matrix or order p. + $p = min($this->n, $this->m + 1); + if ($nct < $this->n) { + $this->s[$nct] = $A[$nct][$nct]; + } + if ($this->m < $p) { + $this->s[$p-1] = 0.0; + } + if ($nrt + 1 < $p) { + $e[$nrt] = $A[$nrt][$p-1]; + } + $e[$p-1] = 0.0; + // If required, generate U. + if ($wantu) { + for ($j = $nct; $j < $nu; ++$j) { + for ($i = 0; $i < $this->m; ++$i) { + $this->U[$i][$j] = 0.0; + } + $this->U[$j][$j] = 1.0; + } + for ($k = $nct - 1; $k >= 0; --$k) { + if ($this->s[$k] != 0.0) { + for ($j = $k + 1; $j < $nu; ++$j) { + $t = 0; + for ($i = $k; $i < $this->m; ++$i) { + $t += $this->U[$i][$k] * $this->U[$i][$j]; + } + $t = -$t / $this->U[$k][$k]; + for ($i = $k; $i < $this->m; ++$i) { + $this->U[$i][$j] += $t * $this->U[$i][$k]; + } + } + for ($i = $k; $i < $this->m; ++$i) { + $this->U[$i][$k] = -$this->U[$i][$k]; + } + $this->U[$k][$k] = 1.0 + $this->U[$k][$k]; + for ($i = 0; $i < $k - 1; ++$i) { + $this->U[$i][$k] = 0.0; + } + } else { + for ($i = 0; $i < $this->m; ++$i) { + $this->U[$i][$k] = 0.0; + } + $this->U[$k][$k] = 1.0; + } + } + } + + // If required, generate V. + if ($wantv) { + for ($k = $this->n - 1; $k >= 0; --$k) { + if (($k < $nrt) and ($e[$k] != 0.0)) { + for ($j = $k + 1; $j < $nu; ++$j) { + $t = 0; + for ($i = $k + 1; $i < $this->n; ++$i) { + $t += $this->V[$i][$k]* $this->V[$i][$j]; + } + $t = -$t / $this->V[$k+1][$k]; + for ($i = $k + 1; $i < $this->n; ++$i) { + $this->V[$i][$j] += $t * $this->V[$i][$k]; + } + } + } + for ($i = 0; $i < $this->n; ++$i) { + $this->V[$i][$k] = 0.0; + } + $this->V[$k][$k] = 1.0; + } + } + + // Main iteration loop for the singular values. + $pp = $p - 1; + $iter = 0; + $eps = pow(2.0, -52.0); + + while ($p > 0) { + // Here is where a test for too many iterations would go. + // This section of the program inspects for negligible + // elements in the s and e arrays. On completion the + // variables kase and k are set as follows: + // kase = 1 if s(p) and e[k-1] are negligible and k<p + // kase = 2 if s(k) is negligible and k<p + // kase = 3 if e[k-1] is negligible, k<p, and + // s(k), ..., s(p) are not negligible (qr step). + // kase = 4 if e(p-1) is negligible (convergence). + for ($k = $p - 2; $k >= -1; --$k) { + if ($k == -1) { + break; + } + if (abs($e[$k]) <= $eps * (abs($this->s[$k]) + abs($this->s[$k+1]))) { + $e[$k] = 0.0; + break; + } + } + if ($k == $p - 2) { + $kase = 4; + } else { + for ($ks = $p - 1; $ks >= $k; --$ks) { + if ($ks == $k) { + break; + } + $t = ($ks != $p ? abs($e[$ks]) : 0.) + ($ks != $k + 1 ? abs($e[$ks-1]) : 0.); + if (abs($this->s[$ks]) <= $eps * $t) { + $this->s[$ks] = 0.0; + break; + } + } + if ($ks == $k) { + $kase = 3; + } elseif ($ks == $p-1) { + $kase = 1; + } else { + $kase = 2; + $k = $ks; + } + } + ++$k; + + // Perform the task indicated by kase. + switch ($kase) { + // Deflate negligible s(p). + case 1: + $f = $e[$p-2]; + $e[$p-2] = 0.0; + for ($j = $p - 2; $j >= $k; --$j) { + $t = hypo($this->s[$j], $f); + $cs = $this->s[$j] / $t; + $sn = $f / $t; + $this->s[$j] = $t; + if ($j != $k) { + $f = -$sn * $e[$j-1]; + $e[$j-1] = $cs * $e[$j-1]; + } + if ($wantv) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$p-1]; + $this->V[$i][$p-1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$p-1]; + $this->V[$i][$j] = $t; + } + } + } + break; + // Split at negligible s(k). + case 2: + $f = $e[$k-1]; + $e[$k-1] = 0.0; + for ($j = $k; $j < $p; ++$j) { + $t = hypo($this->s[$j], $f); + $cs = $this->s[$j] / $t; + $sn = $f / $t; + $this->s[$j] = $t; + $f = -$sn * $e[$j]; + $e[$j] = $cs * $e[$j]; + if ($wantu) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$k-1]; + $this->U[$i][$k-1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$k-1]; + $this->U[$i][$j] = $t; + } + } + } + break; + // Perform one qr step. + case 3: + // Calculate the shift. + $scale = max(max(max(max(abs($this->s[$p-1]), abs($this->s[$p-2])), abs($e[$p-2])), abs($this->s[$k])), abs($e[$k])); + $sp = $this->s[$p-1] / $scale; + $spm1 = $this->s[$p-2] / $scale; + $epm1 = $e[$p-2] / $scale; + $sk = $this->s[$k] / $scale; + $ek = $e[$k] / $scale; + $b = (($spm1 + $sp) * ($spm1 - $sp) + $epm1 * $epm1) / 2.0; + $c = ($sp * $epm1) * ($sp * $epm1); + $shift = 0.0; + if (($b != 0.0) || ($c != 0.0)) { + $shift = sqrt($b * $b + $c); + if ($b < 0.0) { + $shift = -$shift; + } + $shift = $c / ($b + $shift); + } + $f = ($sk + $sp) * ($sk - $sp) + $shift; + $g = $sk * $ek; + // Chase zeros. + for ($j = $k; $j < $p-1; ++$j) { + $t = hypo($f, $g); + $cs = $f/$t; + $sn = $g/$t; + if ($j != $k) { + $e[$j-1] = $t; + } + $f = $cs * $this->s[$j] + $sn * $e[$j]; + $e[$j] = $cs * $e[$j] - $sn * $this->s[$j]; + $g = $sn * $this->s[$j+1]; + $this->s[$j+1] = $cs * $this->s[$j+1]; + if ($wantv) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$j+1]; + $this->V[$i][$j+1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$j+1]; + $this->V[$i][$j] = $t; + } + } + $t = hypo($f, $g); + $cs = $f/$t; + $sn = $g/$t; + $this->s[$j] = $t; + $f = $cs * $e[$j] + $sn * $this->s[$j+1]; + $this->s[$j+1] = -$sn * $e[$j] + $cs * $this->s[$j+1]; + $g = $sn * $e[$j+1]; + $e[$j+1] = $cs * $e[$j+1]; + if ($wantu && ($j < $this->m - 1)) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$j+1]; + $this->U[$i][$j+1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$j+1]; + $this->U[$i][$j] = $t; + } + } + } + $e[$p-2] = $f; + $iter = $iter + 1; + break; + // Convergence. + case 4: + // Make the singular values positive. + if ($this->s[$k] <= 0.0) { + $this->s[$k] = ($this->s[$k] < 0.0 ? -$this->s[$k] : 0.0); + if ($wantv) { + for ($i = 0; $i <= $pp; ++$i) { + $this->V[$i][$k] = -$this->V[$i][$k]; + } + } + } + // Order the singular values. + while ($k < $pp) { + if ($this->s[$k] >= $this->s[$k+1]) { + break; + } + $t = $this->s[$k]; + $this->s[$k] = $this->s[$k+1]; + $this->s[$k+1] = $t; + if ($wantv and ($k < $this->n - 1)) { + for ($i = 0; $i < $this->n; ++$i) { + $t = $this->V[$i][$k+1]; + $this->V[$i][$k+1] = $this->V[$i][$k]; + $this->V[$i][$k] = $t; + } + } + if ($wantu and ($k < $this->m-1)) { + for ($i = 0; $i < $this->m; ++$i) { + $t = $this->U[$i][$k+1]; + $this->U[$i][$k+1] = $this->U[$i][$k]; + $this->U[$i][$k] = $t; + } + } + ++$k; + } + $iter = 0; + --$p; + break; + } // end switch + } // end while + + } // end constructor - /** - * Construct the singular value decomposition - * - * Derived from LINPACK code. - * - * @param $A Rectangular matrix - * @return Structure to access U, S and V. - */ - public function __construct($Arg) { - - // Initialize. - $A = $Arg->getArrayCopy(); - $this->m = $Arg->getRowDimension(); - $this->n = $Arg->getColumnDimension(); - $nu = min($this->m, $this->n); - $e = array(); - $work = array(); - $wantu = true; - $wantv = true; - $nct = min($this->m - 1, $this->n); - $nrt = max(0, min($this->n - 2, $this->m)); - - // Reduce A to bidiagonal form, storing the diagonal elements - // in s and the super-diagonal elements in e. - for ($k = 0; $k < max($nct,$nrt); ++$k) { - - if ($k < $nct) { - // Compute the transformation for the k-th column and - // place the k-th diagonal in s[$k]. - // Compute 2-norm of k-th column without under/overflow. - $this->s[$k] = 0; - for ($i = $k; $i < $this->m; ++$i) { - $this->s[$k] = hypo($this->s[$k], $A[$i][$k]); - } - if ($this->s[$k] != 0.0) { - if ($A[$k][$k] < 0.0) { - $this->s[$k] = -$this->s[$k]; - } - for ($i = $k; $i < $this->m; ++$i) { - $A[$i][$k] /= $this->s[$k]; - } - $A[$k][$k] += 1.0; - } - $this->s[$k] = -$this->s[$k]; - } - - for ($j = $k + 1; $j < $this->n; ++$j) { - if (($k < $nct) & ($this->s[$k] != 0.0)) { - // Apply the transformation. - $t = 0; - for ($i = $k; $i < $this->m; ++$i) { - $t += $A[$i][$k] * $A[$i][$j]; - } - $t = -$t / $A[$k][$k]; - for ($i = $k; $i < $this->m; ++$i) { - $A[$i][$j] += $t * $A[$i][$k]; - } - // Place the k-th row of A into e for the - // subsequent calculation of the row transformation. - $e[$j] = $A[$k][$j]; - } - } - - if ($wantu AND ($k < $nct)) { - // Place the transformation in U for subsequent back - // multiplication. - for ($i = $k; $i < $this->m; ++$i) { - $this->U[$i][$k] = $A[$i][$k]; - } - } - - if ($k < $nrt) { - // Compute the k-th row transformation and place the - // k-th super-diagonal in e[$k]. - // Compute 2-norm without under/overflow. - $e[$k] = 0; - for ($i = $k + 1; $i < $this->n; ++$i) { - $e[$k] = hypo($e[$k], $e[$i]); - } - if ($e[$k] != 0.0) { - if ($e[$k+1] < 0.0) { - $e[$k] = -$e[$k]; - } - for ($i = $k + 1; $i < $this->n; ++$i) { - $e[$i] /= $e[$k]; - } - $e[$k+1] += 1.0; - } - $e[$k] = -$e[$k]; - if (($k+1 < $this->m) AND ($e[$k] != 0.0)) { - // Apply the transformation. - for ($i = $k+1; $i < $this->m; ++$i) { - $work[$i] = 0.0; - } - for ($j = $k+1; $j < $this->n; ++$j) { - for ($i = $k+1; $i < $this->m; ++$i) { - $work[$i] += $e[$j] * $A[$i][$j]; - } - } - for ($j = $k + 1; $j < $this->n; ++$j) { - $t = -$e[$j] / $e[$k+1]; - for ($i = $k + 1; $i < $this->m; ++$i) { - $A[$i][$j] += $t * $work[$i]; - } - } - } - if ($wantv) { - // Place the transformation in V for subsequent - // back multiplication. - for ($i = $k + 1; $i < $this->n; ++$i) { - $this->V[$i][$k] = $e[$i]; - } - } - } - } - - // Set up the final bidiagonal matrix or order p. - $p = min($this->n, $this->m + 1); - if ($nct < $this->n) { - $this->s[$nct] = $A[$nct][$nct]; - } - if ($this->m < $p) { - $this->s[$p-1] = 0.0; - } - if ($nrt + 1 < $p) { - $e[$nrt] = $A[$nrt][$p-1]; - } - $e[$p-1] = 0.0; - // If required, generate U. - if ($wantu) { - for ($j = $nct; $j < $nu; ++$j) { - for ($i = 0; $i < $this->m; ++$i) { - $this->U[$i][$j] = 0.0; - } - $this->U[$j][$j] = 1.0; - } - for ($k = $nct - 1; $k >= 0; --$k) { - if ($this->s[$k] != 0.0) { - for ($j = $k + 1; $j < $nu; ++$j) { - $t = 0; - for ($i = $k; $i < $this->m; ++$i) { - $t += $this->U[$i][$k] * $this->U[$i][$j]; - } - $t = -$t / $this->U[$k][$k]; - for ($i = $k; $i < $this->m; ++$i) { - $this->U[$i][$j] += $t * $this->U[$i][$k]; - } - } - for ($i = $k; $i < $this->m; ++$i ) { - $this->U[$i][$k] = -$this->U[$i][$k]; - } - $this->U[$k][$k] = 1.0 + $this->U[$k][$k]; - for ($i = 0; $i < $k - 1; ++$i) { - $this->U[$i][$k] = 0.0; - } - } else { - for ($i = 0; $i < $this->m; ++$i) { - $this->U[$i][$k] = 0.0; - } - $this->U[$k][$k] = 1.0; - } - } - } - - // If required, generate V. - if ($wantv) { - for ($k = $this->n - 1; $k >= 0; --$k) { - if (($k < $nrt) AND ($e[$k] != 0.0)) { - for ($j = $k + 1; $j < $nu; ++$j) { - $t = 0; - for ($i = $k + 1; $i < $this->n; ++$i) { - $t += $this->V[$i][$k]* $this->V[$i][$j]; - } - $t = -$t / $this->V[$k+1][$k]; - for ($i = $k + 1; $i < $this->n; ++$i) { - $this->V[$i][$j] += $t * $this->V[$i][$k]; - } - } - } - for ($i = 0; $i < $this->n; ++$i) { - $this->V[$i][$k] = 0.0; - } - $this->V[$k][$k] = 1.0; - } - } - - // Main iteration loop for the singular values. - $pp = $p - 1; - $iter = 0; - $eps = pow(2.0, -52.0); - - while ($p > 0) { - // Here is where a test for too many iterations would go. - // This section of the program inspects for negligible - // elements in the s and e arrays. On completion the - // variables kase and k are set as follows: - // kase = 1 if s(p) and e[k-1] are negligible and k<p - // kase = 2 if s(k) is negligible and k<p - // kase = 3 if e[k-1] is negligible, k<p, and - // s(k), ..., s(p) are not negligible (qr step). - // kase = 4 if e(p-1) is negligible (convergence). - for ($k = $p - 2; $k >= -1; --$k) { - if ($k == -1) { - break; - } - if (abs($e[$k]) <= $eps * (abs($this->s[$k]) + abs($this->s[$k+1]))) { - $e[$k] = 0.0; - break; - } - } - if ($k == $p - 2) { - $kase = 4; - } else { - for ($ks = $p - 1; $ks >= $k; --$ks) { - if ($ks == $k) { - break; - } - $t = ($ks != $p ? abs($e[$ks]) : 0.) + ($ks != $k + 1 ? abs($e[$ks-1]) : 0.); - if (abs($this->s[$ks]) <= $eps * $t) { - $this->s[$ks] = 0.0; - break; - } - } - if ($ks == $k) { - $kase = 3; - } else if ($ks == $p-1) { - $kase = 1; - } else { - $kase = 2; - $k = $ks; - } - } - ++$k; - - // Perform the task indicated by kase. - switch ($kase) { - // Deflate negligible s(p). - case 1: - $f = $e[$p-2]; - $e[$p-2] = 0.0; - for ($j = $p - 2; $j >= $k; --$j) { - $t = hypo($this->s[$j],$f); - $cs = $this->s[$j] / $t; - $sn = $f / $t; - $this->s[$j] = $t; - if ($j != $k) { - $f = -$sn * $e[$j-1]; - $e[$j-1] = $cs * $e[$j-1]; - } - if ($wantv) { - for ($i = 0; $i < $this->n; ++$i) { - $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$p-1]; - $this->V[$i][$p-1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$p-1]; - $this->V[$i][$j] = $t; - } - } - } - break; - // Split at negligible s(k). - case 2: - $f = $e[$k-1]; - $e[$k-1] = 0.0; - for ($j = $k; $j < $p; ++$j) { - $t = hypo($this->s[$j], $f); - $cs = $this->s[$j] / $t; - $sn = $f / $t; - $this->s[$j] = $t; - $f = -$sn * $e[$j]; - $e[$j] = $cs * $e[$j]; - if ($wantu) { - for ($i = 0; $i < $this->m; ++$i) { - $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$k-1]; - $this->U[$i][$k-1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$k-1]; - $this->U[$i][$j] = $t; - } - } - } - break; - // Perform one qr step. - case 3: - // Calculate the shift. - $scale = max(max(max(max( - abs($this->s[$p-1]),abs($this->s[$p-2])),abs($e[$p-2])), - abs($this->s[$k])), abs($e[$k])); - $sp = $this->s[$p-1] / $scale; - $spm1 = $this->s[$p-2] / $scale; - $epm1 = $e[$p-2] / $scale; - $sk = $this->s[$k] / $scale; - $ek = $e[$k] / $scale; - $b = (($spm1 + $sp) * ($spm1 - $sp) + $epm1 * $epm1) / 2.0; - $c = ($sp * $epm1) * ($sp * $epm1); - $shift = 0.0; - if (($b != 0.0) || ($c != 0.0)) { - $shift = sqrt($b * $b + $c); - if ($b < 0.0) { - $shift = -$shift; - } - $shift = $c / ($b + $shift); - } - $f = ($sk + $sp) * ($sk - $sp) + $shift; - $g = $sk * $ek; - // Chase zeros. - for ($j = $k; $j < $p-1; ++$j) { - $t = hypo($f,$g); - $cs = $f/$t; - $sn = $g/$t; - if ($j != $k) { - $e[$j-1] = $t; - } - $f = $cs * $this->s[$j] + $sn * $e[$j]; - $e[$j] = $cs * $e[$j] - $sn * $this->s[$j]; - $g = $sn * $this->s[$j+1]; - $this->s[$j+1] = $cs * $this->s[$j+1]; - if ($wantv) { - for ($i = 0; $i < $this->n; ++$i) { - $t = $cs * $this->V[$i][$j] + $sn * $this->V[$i][$j+1]; - $this->V[$i][$j+1] = -$sn * $this->V[$i][$j] + $cs * $this->V[$i][$j+1]; - $this->V[$i][$j] = $t; - } - } - $t = hypo($f,$g); - $cs = $f/$t; - $sn = $g/$t; - $this->s[$j] = $t; - $f = $cs * $e[$j] + $sn * $this->s[$j+1]; - $this->s[$j+1] = -$sn * $e[$j] + $cs * $this->s[$j+1]; - $g = $sn * $e[$j+1]; - $e[$j+1] = $cs * $e[$j+1]; - if ($wantu && ($j < $this->m - 1)) { - for ($i = 0; $i < $this->m; ++$i) { - $t = $cs * $this->U[$i][$j] + $sn * $this->U[$i][$j+1]; - $this->U[$i][$j+1] = -$sn * $this->U[$i][$j] + $cs * $this->U[$i][$j+1]; - $this->U[$i][$j] = $t; - } - } - } - $e[$p-2] = $f; - $iter = $iter + 1; - break; - // Convergence. - case 4: - // Make the singular values positive. - if ($this->s[$k] <= 0.0) { - $this->s[$k] = ($this->s[$k] < 0.0 ? -$this->s[$k] : 0.0); - if ($wantv) { - for ($i = 0; $i <= $pp; ++$i) { - $this->V[$i][$k] = -$this->V[$i][$k]; - } - } - } - // Order the singular values. - while ($k < $pp) { - if ($this->s[$k] >= $this->s[$k+1]) { - break; - } - $t = $this->s[$k]; - $this->s[$k] = $this->s[$k+1]; - $this->s[$k+1] = $t; - if ($wantv AND ($k < $this->n - 1)) { - for ($i = 0; $i < $this->n; ++$i) { - $t = $this->V[$i][$k+1]; - $this->V[$i][$k+1] = $this->V[$i][$k]; - $this->V[$i][$k] = $t; - } - } - if ($wantu AND ($k < $this->m-1)) { - for ($i = 0; $i < $this->m; ++$i) { - $t = $this->U[$i][$k+1]; - $this->U[$i][$k+1] = $this->U[$i][$k]; - $this->U[$i][$k] = $t; - } - } - ++$k; - } - $iter = 0; - --$p; - break; - } // end switch - } // end while - - } // end constructor + /** + * Return the left singular vectors + * + * @access public + * @return U + */ + public function getU() + { + return new Matrix($this->U, $this->m, min($this->m + 1, $this->n)); + } - /** - * Return the left singular vectors - * - * @access public - * @return U - */ - public function getU() { - return new Matrix($this->U, $this->m, min($this->m + 1, $this->n)); - } + /** + * Return the right singular vectors + * + * @access public + * @return V + */ + public function getV() + { + return new Matrix($this->V); + } - /** - * Return the right singular vectors - * - * @access public - * @return V - */ - public function getV() { - return new Matrix($this->V); - } + /** + * Return the one-dimensional array of singular values + * + * @access public + * @return diagonal of S. + */ + public function getSingularValues() + { + return $this->s; + } - /** - * Return the one-dimensional array of singular values - * - * @access public - * @return diagonal of S. - */ - public function getSingularValues() { - return $this->s; - } + /** + * Return the diagonal matrix of singular values + * + * @access public + * @return S + */ + public function getS() + { + for ($i = 0; $i < $this->n; ++$i) { + for ($j = 0; $j < $this->n; ++$j) { + $S[$i][$j] = 0.0; + } + $S[$i][$i] = $this->s[$i]; + } + return new Matrix($S); + } - /** - * Return the diagonal matrix of singular values - * - * @access public - * @return S - */ - public function getS() { - for ($i = 0; $i < $this->n; ++$i) { - for ($j = 0; $j < $this->n; ++$j) { - $S[$i][$j] = 0.0; - } - $S[$i][$i] = $this->s[$i]; - } - return new Matrix($S); - } + /** + * Two norm + * + * @access public + * @return max(S) + */ + public function norm2() + { + return $this->s[0]; + } - /** - * Two norm - * - * @access public - * @return max(S) - */ - public function norm2() { - return $this->s[0]; - } + /** + * Two norm condition number + * + * @access public + * @return max(S)/min(S) + */ + public function cond() + { + return $this->s[0] / $this->s[min($this->m, $this->n) - 1]; + } - /** - * Two norm condition number - * - * @access public - * @return max(S)/min(S) - */ - public function cond() { - return $this->s[0] / $this->s[min($this->m, $this->n) - 1]; - } - - - /** - * Effective numerical matrix rank - * - * @access public - * @return Number of nonnegligible singular values. - */ - public function rank() { - $eps = pow(2.0, -52.0); - $tol = max($this->m, $this->n) * $this->s[0] * $eps; - $r = 0; - for ($i = 0; $i < count($this->s); ++$i) { - if ($this->s[$i] > $tol) { - ++$r; - } - } - return $r; - } - -} // class SingularValueDecomposition + /** + * Effective numerical matrix rank + * + * @access public + * @return Number of nonnegligible singular values. + */ + public function rank() + { + $eps = pow(2.0, -52.0); + $tol = max($this->m, $this->n) * $this->s[0] * $eps; + $r = 0; + for ($i = 0; $i < count($this->s); ++$i) { + if ($this->s[$i] > $tol) { + ++$r; + } + } + return $r; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php index e73252b3d..71b8c994a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Error.php @@ -1,10 +1,10 @@ <?php /** - * @package JAMA + * @package JAMA * - * Error handling - * @author Michael Bommarito - * @version 01292005 + * Error handling + * @author Michael Bommarito + * @version 01292005 */ //Language constant @@ -21,62 +21,63 @@ I've used Babelfish and a little poor knowledge of Romance/Germanic languages fo Feel free to correct anything that looks amiss to you. */ -define('PolymorphicArgumentException', -1); -$error['EN'][PolymorphicArgumentException] = "Invalid argument pattern for polymorphic function."; -$error['FR'][PolymorphicArgumentException] = "Modèle inadmissible d'argument pour la fonction polymorphe.". -$error['DE'][PolymorphicArgumentException] = "Unzulässiges Argumentmuster für polymorphe Funktion."; +define('POLYMORPHIC_ARGUMENT_EXCEPTION', -1); +$error['EN'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Invalid argument pattern for polymorphic function."; +$error['FR'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Modèle inadmissible d'argument pour la fonction polymorphe.". +$error['DE'][POLYMORPHIC_ARGUMENT_EXCEPTION] = "Unzulässiges Argumentmuster für polymorphe Funktion."; -define('ArgumentTypeException', -2); -$error['EN'][ArgumentTypeException] = "Invalid argument type."; -$error['FR'][ArgumentTypeException] = "Type inadmissible d'argument."; -$error['DE'][ArgumentTypeException] = "Unzulässige Argumentart."; +define('ARGUMENT_TYPE_EXCEPTION', -2); +$error['EN'][ARGUMENT_TYPE_EXCEPTION] = "Invalid argument type."; +$error['FR'][ARGUMENT_TYPE_EXCEPTION] = "Type inadmissible d'argument."; +$error['DE'][ARGUMENT_TYPE_EXCEPTION] = "Unzulässige Argumentart."; -define('ArgumentBoundsException', -3); -$error['EN'][ArgumentBoundsException] = "Invalid argument range."; -$error['FR'][ArgumentBoundsException] = "Gamme inadmissible d'argument."; -$error['DE'][ArgumentBoundsException] = "Unzulässige Argumentstrecke."; +define('ARGUMENT_BOUNDS_EXCEPTION', -3); +$error['EN'][ARGUMENT_BOUNDS_EXCEPTION] = "Invalid argument range."; +$error['FR'][ARGUMENT_BOUNDS_EXCEPTION] = "Gamme inadmissible d'argument."; +$error['DE'][ARGUMENT_BOUNDS_EXCEPTION] = "Unzulässige Argumentstrecke."; -define('MatrixDimensionException', -4); -$error['EN'][MatrixDimensionException] = "Matrix dimensions are not equal."; -$error['FR'][MatrixDimensionException] = "Les dimensions de Matrix ne sont pas égales."; -$error['DE'][MatrixDimensionException] = "Matrixmaße sind nicht gleich."; +define('MATRIX_DIMENSION_EXCEPTION', -4); +$error['EN'][MATRIX_DIMENSION_EXCEPTION] = "Matrix dimensions are not equal."; +$error['FR'][MATRIX_DIMENSION_EXCEPTION] = "Les dimensions de Matrix ne sont pas égales."; +$error['DE'][MATRIX_DIMENSION_EXCEPTION] = "Matrixmaße sind nicht gleich."; -define('PrecisionLossException', -5); -$error['EN'][PrecisionLossException] = "Significant precision loss detected."; -$error['FR'][PrecisionLossException] = "Perte significative de précision détectée."; -$error['DE'][PrecisionLossException] = "Bedeutender Präzision Verlust ermittelte."; +define('PRECISION_LOSS_EXCEPTION', -5); +$error['EN'][PRECISION_LOSS_EXCEPTION] = "Significant precision loss detected."; +$error['FR'][PRECISION_LOSS_EXCEPTION] = "Perte significative de précision détectée."; +$error['DE'][PRECISION_LOSS_EXCEPTION] = "Bedeutender Präzision Verlust ermittelte."; -define('MatrixSPDException', -6); -$error['EN'][MatrixSPDException] = "Can only perform operation on symmetric positive definite matrix."; -$error['FR'][MatrixSPDException] = "Perte significative de précision détectée."; -$error['DE'][MatrixSPDException] = "Bedeutender Präzision Verlust ermittelte."; +define('MATRIX_SPD_EXCEPTION', -6); +$error['EN'][MATRIX_SPD_EXCEPTION] = "Can only perform operation on symmetric positive definite matrix."; +$error['FR'][MATRIX_SPD_EXCEPTION] = "Perte significative de précision détectée."; +$error['DE'][MATRIX_SPD_EXCEPTION] = "Bedeutender Präzision Verlust ermittelte."; -define('MatrixSingularException', -7); -$error['EN'][MatrixSingularException] = "Can only perform operation on singular matrix."; +define('MATRIX_SINGULAR_EXCEPTION', -7); +$error['EN'][MATRIX_SINGULAR_EXCEPTION] = "Can only perform operation on singular matrix."; -define('MatrixRankException', -8); -$error['EN'][MatrixRankException] = "Can only perform operation on full-rank matrix."; +define('MATRIX_RANK_EXCEPTION', -8); +$error['EN'][MATRIX_RANK_EXCEPTION] = "Can only perform operation on full-rank matrix."; -define('ArrayLengthException', -9); -$error['EN'][ArrayLengthException] = "Array length must be a multiple of m."; +define('ARRAY_LENGTH_EXCEPTION', -9); +$error['EN'][ARRAY_LENGTH_EXCEPTION] = "Array length must be a multiple of m."; -define('RowLengthException', -10); -$error['EN'][RowLengthException] = "All rows must have the same length."; +define('ROW_LENGTH_EXCEPTION', -10); +$error['EN'][ROW_LENGTH_EXCEPTION] = "All rows must have the same length."; /** - * Custom error handler - * @param int $num Error number + * Custom error handler + * @param int $num Error number */ -function JAMAError($errorNumber = null) { - global $error; +function JAMAError($errorNumber = null) +{ + global $error; - if (isset($errorNumber)) { - if (isset($error[JAMALANG][$errorNumber])) { - return $error[JAMALANG][$errorNumber]; - } else { - return $error['EN'][$errorNumber]; - } - } else { - return ("Invalid argument to JAMAError()"); - } + if (isset($errorNumber)) { + if (isset($error[JAMALANG][$errorNumber])) { + return $error[JAMALANG][$errorNumber]; + } else { + return $error['EN'][$errorNumber]; + } + } else { + return ("Invalid argument to JAMAError()"); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php index aa09a8bbb..386c1e673 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/JAMA/utils/Maths.php @@ -1,43 +1,44 @@ <?php /** - * @package JAMA + * @package JAMA * - * Pythagorean Theorem: + * Pythagorean Theorem: * - * a = 3 - * b = 4 - * r = sqrt(square(a) + square(b)) - * r = 5 + * a = 3 + * b = 4 + * r = sqrt(square(a) + square(b)) + * r = 5 * - * r = sqrt(a^2 + b^2) without under/overflow. + * r = sqrt(a^2 + b^2) without under/overflow. */ -function hypo($a, $b) { - if (abs($a) > abs($b)) { - $r = $b / $a; - $r = abs($a) * sqrt(1 + $r * $r); - } elseif ($b != 0) { - $r = $a / $b; - $r = abs($b) * sqrt(1 + $r * $r); - } else { - $r = 0.0; - } - return $r; -} // function hypo() +function hypo($a, $b) +{ + if (abs($a) > abs($b)) { + $r = $b / $a; + $r = abs($a) * sqrt(1 + $r * $r); + } elseif ($b != 0) { + $r = $a / $b; + $r = abs($b) * sqrt(1 + $r * $r); + } else { + $r = 0.0; + } + return $r; +} // function hypo() /** - * Mike Bommarito's version. - * Compute n-dimensional hyotheneuse. + * Mike Bommarito's version. + * Compute n-dimensional hyotheneuse. * function hypot() { - $s = 0; - foreach (func_get_args() as $d) { - if (is_numeric($d)) { - $s += pow($d, 2); - } else { - throw new PHPExcel_Calculation_Exception(JAMAError(ArgumentTypeException)); - } - } - return sqrt($s); + $s = 0; + foreach (func_get_args() as $d) { + if (is_numeric($d)) { + $s += pow($d, 2); + } else { + throw new PHPExcel_Calculation_Exception(JAMAError(ARGUMENT_TYPE_EXCEPTION)); + } + } + return sqrt($s); } */ diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php index 9796282a8..42a3c529f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE.php @@ -37,495 +37,490 @@ $GLOBALS['_OLE_INSTANCES'] = array(); */ class PHPExcel_Shared_OLE { - const OLE_PPS_TYPE_ROOT = 5; - const OLE_PPS_TYPE_DIR = 1; - const OLE_PPS_TYPE_FILE = 2; - const OLE_DATA_SIZE_SMALL = 0x1000; - const OLE_LONG_INT_SIZE = 4; - const OLE_PPS_SIZE = 0x80; + const OLE_PPS_TYPE_ROOT = 5; + const OLE_PPS_TYPE_DIR = 1; + const OLE_PPS_TYPE_FILE = 2; + const OLE_DATA_SIZE_SMALL = 0x1000; + const OLE_LONG_INT_SIZE = 4; + const OLE_PPS_SIZE = 0x80; - /** - * The file handle for reading an OLE container - * @var resource - */ - public $_file_handle; + /** + * The file handle for reading an OLE container + * @var resource + */ + public $_file_handle; - /** - * Array of PPS's found on the OLE container - * @var array - */ - public $_list = array(); + /** + * Array of PPS's found on the OLE container + * @var array + */ + public $_list = array(); - /** - * Root directory of OLE container - * @var OLE_PPS_Root - */ - public $root; + /** + * Root directory of OLE container + * @var OLE_PPS_Root + */ + public $root; - /** - * Big Block Allocation Table - * @var array (blockId => nextBlockId) - */ - public $bbat; + /** + * Big Block Allocation Table + * @var array (blockId => nextBlockId) + */ + public $bbat; - /** - * Short Block Allocation Table - * @var array (blockId => nextBlockId) - */ - public $sbat; + /** + * Short Block Allocation Table + * @var array (blockId => nextBlockId) + */ + public $sbat; - /** - * Size of big blocks. This is usually 512. - * @var int number of octets per block. - */ - public $bigBlockSize; + /** + * Size of big blocks. This is usually 512. + * @var int number of octets per block. + */ + public $bigBlockSize; - /** - * Size of small blocks. This is usually 64. - * @var int number of octets per block - */ - public $smallBlockSize; + /** + * Size of small blocks. This is usually 64. + * @var int number of octets per block + */ + public $smallBlockSize; - /** - * Reads an OLE container from the contents of the file given. - * - * @acces public - * @param string $file - * @return mixed true on success, PEAR_Error on failure - */ - public function read($file) - { - $fh = fopen($file, "r"); - if (!$fh) { - throw new PHPExcel_Reader_Exception("Can't open file $file"); - } - $this->_file_handle = $fh; + /** + * Reads an OLE container from the contents of the file given. + * + * @acces public + * @param string $file + * @return mixed true on success, PEAR_Error on failure + */ + public function read($file) + { + $fh = fopen($file, "r"); + if (!$fh) { + throw new PHPExcel_Reader_Exception("Can't open file $file"); + } + $this->_file_handle = $fh; - $signature = fread($fh, 8); - if ("\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" != $signature) { - throw new PHPExcel_Reader_Exception("File doesn't seem to be an OLE container."); - } - fseek($fh, 28); - if (fread($fh, 2) != "\xFE\xFF") { - // This shouldn't be a problem in practice - throw new PHPExcel_Reader_Exception("Only Little-Endian encoding is supported."); - } - // Size of blocks and short blocks in bytes - $this->bigBlockSize = pow(2, self::_readInt2($fh)); - $this->smallBlockSize = pow(2, self::_readInt2($fh)); + $signature = fread($fh, 8); + if ("\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" != $signature) { + throw new PHPExcel_Reader_Exception("File doesn't seem to be an OLE container."); + } + fseek($fh, 28); + if (fread($fh, 2) != "\xFE\xFF") { + // This shouldn't be a problem in practice + throw new PHPExcel_Reader_Exception("Only Little-Endian encoding is supported."); + } + // Size of blocks and short blocks in bytes + $this->bigBlockSize = pow(2, self::_readInt2($fh)); + $this->smallBlockSize = pow(2, self::_readInt2($fh)); - // Skip UID, revision number and version number - fseek($fh, 44); - // Number of blocks in Big Block Allocation Table - $bbatBlockCount = self::_readInt4($fh); + // Skip UID, revision number and version number + fseek($fh, 44); + // Number of blocks in Big Block Allocation Table + $bbatBlockCount = self::_readInt4($fh); - // Root chain 1st block - $directoryFirstBlockId = self::_readInt4($fh); + // Root chain 1st block + $directoryFirstBlockId = self::_readInt4($fh); - // Skip unused bytes - fseek($fh, 56); - // Streams shorter than this are stored using small blocks - $this->bigBlockThreshold = self::_readInt4($fh); - // Block id of first sector in Short Block Allocation Table - $sbatFirstBlockId = self::_readInt4($fh); - // Number of blocks in Short Block Allocation Table - $sbbatBlockCount = self::_readInt4($fh); - // Block id of first sector in Master Block Allocation Table - $mbatFirstBlockId = self::_readInt4($fh); - // Number of blocks in Master Block Allocation Table - $mbbatBlockCount = self::_readInt4($fh); - $this->bbat = array(); + // Skip unused bytes + fseek($fh, 56); + // Streams shorter than this are stored using small blocks + $this->bigBlockThreshold = self::_readInt4($fh); + // Block id of first sector in Short Block Allocation Table + $sbatFirstBlockId = self::_readInt4($fh); + // Number of blocks in Short Block Allocation Table + $sbbatBlockCount = self::_readInt4($fh); + // Block id of first sector in Master Block Allocation Table + $mbatFirstBlockId = self::_readInt4($fh); + // Number of blocks in Master Block Allocation Table + $mbbatBlockCount = self::_readInt4($fh); + $this->bbat = array(); - // Remaining 4 * 109 bytes of current block is beginning of Master - // Block Allocation Table - $mbatBlocks = array(); - for ($i = 0; $i < 109; ++$i) { - $mbatBlocks[] = self::_readInt4($fh); - } + // Remaining 4 * 109 bytes of current block is beginning of Master + // Block Allocation Table + $mbatBlocks = array(); + for ($i = 0; $i < 109; ++$i) { + $mbatBlocks[] = self::_readInt4($fh); + } - // Read rest of Master Block Allocation Table (if any is left) - $pos = $this->_getBlockOffset($mbatFirstBlockId); - for ($i = 0; $i < $mbbatBlockCount; ++$i) { - fseek($fh, $pos); - for ($j = 0; $j < $this->bigBlockSize / 4 - 1; ++$j) { - $mbatBlocks[] = self::_readInt4($fh); - } - // Last block id in each block points to next block - $pos = $this->_getBlockOffset(self::_readInt4($fh)); - } + // Read rest of Master Block Allocation Table (if any is left) + $pos = $this->_getBlockOffset($mbatFirstBlockId); + for ($i = 0; $i < $mbbatBlockCount; ++$i) { + fseek($fh, $pos); + for ($j = 0; $j < $this->bigBlockSize / 4 - 1; ++$j) { + $mbatBlocks[] = self::_readInt4($fh); + } + // Last block id in each block points to next block + $pos = $this->_getBlockOffset(self::_readInt4($fh)); + } - // Read Big Block Allocation Table according to chain specified by - // $mbatBlocks - for ($i = 0; $i < $bbatBlockCount; ++$i) { - $pos = $this->_getBlockOffset($mbatBlocks[$i]); - fseek($fh, $pos); - for ($j = 0 ; $j < $this->bigBlockSize / 4; ++$j) { - $this->bbat[] = self::_readInt4($fh); - } - } + // Read Big Block Allocation Table according to chain specified by + // $mbatBlocks + for ($i = 0; $i < $bbatBlockCount; ++$i) { + $pos = $this->_getBlockOffset($mbatBlocks[$i]); + fseek($fh, $pos); + for ($j = 0; $j < $this->bigBlockSize / 4; ++$j) { + $this->bbat[] = self::_readInt4($fh); + } + } - // Read short block allocation table (SBAT) - $this->sbat = array(); - $shortBlockCount = $sbbatBlockCount * $this->bigBlockSize / 4; - $sbatFh = $this->getStream($sbatFirstBlockId); - for ($blockId = 0; $blockId < $shortBlockCount; ++$blockId) { - $this->sbat[$blockId] = self::_readInt4($sbatFh); - } - fclose($sbatFh); + // Read short block allocation table (SBAT) + $this->sbat = array(); + $shortBlockCount = $sbbatBlockCount * $this->bigBlockSize / 4; + $sbatFh = $this->getStream($sbatFirstBlockId); + for ($blockId = 0; $blockId < $shortBlockCount; ++$blockId) { + $this->sbat[$blockId] = self::_readInt4($sbatFh); + } + fclose($sbatFh); - $this->_readPpsWks($directoryFirstBlockId); + $this->_readPpsWks($directoryFirstBlockId); - return true; - } + return true; + } - /** - * @param int block id - * @param int byte offset from beginning of file - * @access public - */ - public function _getBlockOffset($blockId) - { - return 512 + $blockId * $this->bigBlockSize; - } + /** + * @param int block id + * @param int byte offset from beginning of file + * @access public + */ + public function _getBlockOffset($blockId) + { + return 512 + $blockId * $this->bigBlockSize; + } - /** - * Returns a stream for use with fread() etc. External callers should - * use PHPExcel_Shared_OLE_PPS_File::getStream(). - * @param int|PPS block id or PPS - * @return resource read-only stream - */ - public function getStream($blockIdOrPps) - { - static $isRegistered = false; - if (!$isRegistered) { - stream_wrapper_register('ole-chainedblockstream', - 'PHPExcel_Shared_OLE_ChainedBlockStream'); - $isRegistered = true; - } + /** + * Returns a stream for use with fread() etc. External callers should + * use PHPExcel_Shared_OLE_PPS_File::getStream(). + * @param int|PPS block id or PPS + * @return resource read-only stream + */ + public function getStream($blockIdOrPps) + { + static $isRegistered = false; + if (!$isRegistered) { + stream_wrapper_register('ole-chainedblockstream', 'PHPExcel_Shared_OLE_ChainedBlockStream'); + $isRegistered = true; + } - // Store current instance in global array, so that it can be accessed - // in OLE_ChainedBlockStream::stream_open(). - // Object is removed from self::$instances in OLE_Stream::close(). - $GLOBALS['_OLE_INSTANCES'][] = $this; - $instanceId = end(array_keys($GLOBALS['_OLE_INSTANCES'])); + // Store current instance in global array, so that it can be accessed + // in OLE_ChainedBlockStream::stream_open(). + // Object is removed from self::$instances in OLE_Stream::close(). + $GLOBALS['_OLE_INSTANCES'][] = $this; + $instanceId = end(array_keys($GLOBALS['_OLE_INSTANCES'])); - $path = 'ole-chainedblockstream://oleInstanceId=' . $instanceId; - if ($blockIdOrPps instanceof PHPExcel_Shared_OLE_PPS) { - $path .= '&blockId=' . $blockIdOrPps->_StartBlock; - $path .= '&size=' . $blockIdOrPps->Size; - } else { - $path .= '&blockId=' . $blockIdOrPps; - } - return fopen($path, 'r'); - } + $path = 'ole-chainedblockstream://oleInstanceId=' . $instanceId; + if ($blockIdOrPps instanceof PHPExcel_Shared_OLE_PPS) { + $path .= '&blockId=' . $blockIdOrPps->_StartBlock; + $path .= '&size=' . $blockIdOrPps->Size; + } else { + $path .= '&blockId=' . $blockIdOrPps; + } + return fopen($path, 'r'); + } - /** - * Reads a signed char. - * @param resource file handle - * @return int - * @access public - */ - private static function _readInt1($fh) - { - list(, $tmp) = unpack("c", fread($fh, 1)); - return $tmp; - } + /** + * Reads a signed char. + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt1($fh) + { + list(, $tmp) = unpack("c", fread($fh, 1)); + return $tmp; + } - /** - * Reads an unsigned short (2 octets). - * @param resource file handle - * @return int - * @access public - */ - private static function _readInt2($fh) - { - list(, $tmp) = unpack("v", fread($fh, 2)); - return $tmp; - } + /** + * Reads an unsigned short (2 octets). + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt2($fh) + { + list(, $tmp) = unpack("v", fread($fh, 2)); + return $tmp; + } - /** - * Reads an unsigned long (4 octets). - * @param resource file handle - * @return int - * @access public - */ - private static function _readInt4($fh) - { - list(, $tmp) = unpack("V", fread($fh, 4)); - return $tmp; - } + /** + * Reads an unsigned long (4 octets). + * @param resource file handle + * @return int + * @access public + */ + private static function _readInt4($fh) + { + list(, $tmp) = unpack("V", fread($fh, 4)); + return $tmp; + } - /** - * Gets information about all PPS's on the OLE container from the PPS WK's - * creates an OLE_PPS object for each one. - * - * @access public - * @param integer the block id of the first block - * @return mixed true on success, PEAR_Error on failure - */ - public function _readPpsWks($blockId) - { - $fh = $this->getStream($blockId); - for ($pos = 0; ; $pos += 128) { - fseek($fh, $pos, SEEK_SET); - $nameUtf16 = fread($fh, 64); - $nameLength = self::_readInt2($fh); - $nameUtf16 = substr($nameUtf16, 0, $nameLength - 2); - // Simple conversion from UTF-16LE to ISO-8859-1 - $name = str_replace("\x00", "", $nameUtf16); - $type = self::_readInt1($fh); - switch ($type) { - case self::OLE_PPS_TYPE_ROOT: - $pps = new PHPExcel_Shared_OLE_PPS_Root(null, null, array()); - $this->root = $pps; - break; - case self::OLE_PPS_TYPE_DIR: - $pps = new PHPExcel_Shared_OLE_PPS(null, null, null, null, null, - null, null, null, null, array()); - break; - case self::OLE_PPS_TYPE_FILE: - $pps = new PHPExcel_Shared_OLE_PPS_File($name); - break; - default: - continue; - } - fseek($fh, 1, SEEK_CUR); - $pps->Type = $type; - $pps->Name = $name; - $pps->PrevPps = self::_readInt4($fh); - $pps->NextPps = self::_readInt4($fh); - $pps->DirPps = self::_readInt4($fh); - fseek($fh, 20, SEEK_CUR); - $pps->Time1st = self::OLE2LocalDate(fread($fh, 8)); - $pps->Time2nd = self::OLE2LocalDate(fread($fh, 8)); - $pps->_StartBlock = self::_readInt4($fh); - $pps->Size = self::_readInt4($fh); - $pps->No = count($this->_list); - $this->_list[] = $pps; + /** + * Gets information about all PPS's on the OLE container from the PPS WK's + * creates an OLE_PPS object for each one. + * + * @access public + * @param integer the block id of the first block + * @return mixed true on success, PEAR_Error on failure + */ + public function _readPpsWks($blockId) + { + $fh = $this->getStream($blockId); + for ($pos = 0;; $pos += 128) { + fseek($fh, $pos, SEEK_SET); + $nameUtf16 = fread($fh, 64); + $nameLength = self::_readInt2($fh); + $nameUtf16 = substr($nameUtf16, 0, $nameLength - 2); + // Simple conversion from UTF-16LE to ISO-8859-1 + $name = str_replace("\x00", "", $nameUtf16); + $type = self::_readInt1($fh); + switch ($type) { + case self::OLE_PPS_TYPE_ROOT: + $pps = new PHPExcel_Shared_OLE_PPS_Root(null, null, array()); + $this->root = $pps; + break; + case self::OLE_PPS_TYPE_DIR: + $pps = new PHPExcel_Shared_OLE_PPS(null, null, null, null, null, null, null, null, null, array()); + break; + case self::OLE_PPS_TYPE_FILE: + $pps = new PHPExcel_Shared_OLE_PPS_File($name); + break; + default: + continue; + } + fseek($fh, 1, SEEK_CUR); + $pps->Type = $type; + $pps->Name = $name; + $pps->PrevPps = self::_readInt4($fh); + $pps->NextPps = self::_readInt4($fh); + $pps->DirPps = self::_readInt4($fh); + fseek($fh, 20, SEEK_CUR); + $pps->Time1st = self::OLE2LocalDate(fread($fh, 8)); + $pps->Time2nd = self::OLE2LocalDate(fread($fh, 8)); + $pps->_StartBlock = self::_readInt4($fh); + $pps->Size = self::_readInt4($fh); + $pps->No = count($this->_list); + $this->_list[] = $pps; - // check if the PPS tree (starting from root) is complete - if (isset($this->root) && - $this->_ppsTreeComplete($this->root->No)) { + // check if the PPS tree (starting from root) is complete + if (isset($this->root) && $this->_ppsTreeComplete($this->root->No)) { + break; + } + } + fclose($fh); - break; - } - } - fclose($fh); + // Initialize $pps->children on directories + foreach ($this->_list as $pps) { + if ($pps->Type == self::OLE_PPS_TYPE_DIR || $pps->Type == self::OLE_PPS_TYPE_ROOT) { + $nos = array($pps->DirPps); + $pps->children = array(); + while ($nos) { + $no = array_pop($nos); + if ($no != -1) { + $childPps = $this->_list[$no]; + $nos[] = $childPps->PrevPps; + $nos[] = $childPps->NextPps; + $pps->children[] = $childPps; + } + } + } + } - // Initialize $pps->children on directories - foreach ($this->_list as $pps) { - if ($pps->Type == self::OLE_PPS_TYPE_DIR || $pps->Type == self::OLE_PPS_TYPE_ROOT) { - $nos = array($pps->DirPps); - $pps->children = array(); - while ($nos) { - $no = array_pop($nos); - if ($no != -1) { - $childPps = $this->_list[$no]; - $nos[] = $childPps->PrevPps; - $nos[] = $childPps->NextPps; - $pps->children[] = $childPps; - } - } - } - } + return true; + } - return true; - } + /** + * It checks whether the PPS tree is complete (all PPS's read) + * starting with the given PPS (not necessarily root) + * + * @access public + * @param integer $index The index of the PPS from which we are checking + * @return boolean Whether the PPS tree for the given PPS is complete + */ + public function _ppsTreeComplete($index) + { + return isset($this->_list[$index]) && + ($pps = $this->_list[$index]) && + ($pps->PrevPps == -1 || + $this->_ppsTreeComplete($pps->PrevPps)) && + ($pps->NextPps == -1 || + $this->_ppsTreeComplete($pps->NextPps)) && + ($pps->DirPps == -1 || + $this->_ppsTreeComplete($pps->DirPps)); + } - /** - * It checks whether the PPS tree is complete (all PPS's read) - * starting with the given PPS (not necessarily root) - * - * @access public - * @param integer $index The index of the PPS from which we are checking - * @return boolean Whether the PPS tree for the given PPS is complete - */ - public function _ppsTreeComplete($index) - { - return isset($this->_list[$index]) && - ($pps = $this->_list[$index]) && - ($pps->PrevPps == -1 || - $this->_ppsTreeComplete($pps->PrevPps)) && - ($pps->NextPps == -1 || - $this->_ppsTreeComplete($pps->NextPps)) && - ($pps->DirPps == -1 || - $this->_ppsTreeComplete($pps->DirPps)); - } + /** + * Checks whether a PPS is a File PPS or not. + * If there is no PPS for the index given, it will return false. + * + * @access public + * @param integer $index The index for the PPS + * @return bool true if it's a File PPS, false otherwise + */ + public function isFile($index) + { + if (isset($this->_list[$index])) { + return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_FILE); + } + return false; + } - /** - * Checks whether a PPS is a File PPS or not. - * If there is no PPS for the index given, it will return false. - * - * @access public - * @param integer $index The index for the PPS - * @return bool true if it's a File PPS, false otherwise - */ - public function isFile($index) - { - if (isset($this->_list[$index])) { - return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_FILE); - } - return false; - } + /** + * Checks whether a PPS is a Root PPS or not. + * If there is no PPS for the index given, it will return false. + * + * @access public + * @param integer $index The index for the PPS. + * @return bool true if it's a Root PPS, false otherwise + */ + public function isRoot($index) + { + if (isset($this->_list[$index])) { + return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_ROOT); + } + return false; + } - /** - * Checks whether a PPS is a Root PPS or not. - * If there is no PPS for the index given, it will return false. - * - * @access public - * @param integer $index The index for the PPS. - * @return bool true if it's a Root PPS, false otherwise - */ - public function isRoot($index) - { - if (isset($this->_list[$index])) { - return ($this->_list[$index]->Type == self::OLE_PPS_TYPE_ROOT); - } - return false; - } + /** + * Gives the total number of PPS's found in the OLE container. + * + * @access public + * @return integer The total number of PPS's found in the OLE container + */ + public function ppsTotal() + { + return count($this->_list); + } - /** - * Gives the total number of PPS's found in the OLE container. - * - * @access public - * @return integer The total number of PPS's found in the OLE container - */ - public function ppsTotal() - { - return count($this->_list); - } + /** + * Gets data from a PPS + * If there is no PPS for the index given, it will return an empty string. + * + * @access public + * @param integer $index The index for the PPS + * @param integer $position The position from which to start reading + * (relative to the PPS) + * @param integer $length The amount of bytes to read (at most) + * @return string The binary string containing the data requested + * @see OLE_PPS_File::getStream() + */ + public function getData($index, $position, $length) + { + // if position is not valid return empty string + if (!isset($this->_list[$index]) || ($position >= $this->_list[$index]->Size) || ($position < 0)) { + return ''; + } + $fh = $this->getStream($this->_list[$index]); + $data = stream_get_contents($fh, $length, $position); + fclose($fh); + return $data; + } - /** - * Gets data from a PPS - * If there is no PPS for the index given, it will return an empty string. - * - * @access public - * @param integer $index The index for the PPS - * @param integer $position The position from which to start reading - * (relative to the PPS) - * @param integer $length The amount of bytes to read (at most) - * @return string The binary string containing the data requested - * @see OLE_PPS_File::getStream() - */ - public function getData($index, $position, $length) - { - // if position is not valid return empty string - if (!isset($this->_list[$index]) || ($position >= $this->_list[$index]->Size) || ($position < 0)) { - return ''; - } - $fh = $this->getStream($this->_list[$index]); - $data = stream_get_contents($fh, $length, $position); - fclose($fh); - return $data; - } + /** + * Gets the data length from a PPS + * If there is no PPS for the index given, it will return 0. + * + * @access public + * @param integer $index The index for the PPS + * @return integer The amount of bytes in data the PPS has + */ + public function getDataLength($index) + { + if (isset($this->_list[$index])) { + return $this->_list[$index]->Size; + } + return 0; + } - /** - * Gets the data length from a PPS - * If there is no PPS for the index given, it will return 0. - * - * @access public - * @param integer $index The index for the PPS - * @return integer The amount of bytes in data the PPS has - */ - public function getDataLength($index) - { - if (isset($this->_list[$index])) { - return $this->_list[$index]->Size; - } - return 0; - } + /** + * Utility function to transform ASCII text to Unicode + * + * @access public + * @static + * @param string $ascii The ASCII string to transform + * @return string The string in Unicode + */ + public static function Asc2Ucs($ascii) + { + $rawname = ''; + for ($i = 0; $i < strlen($ascii); ++$i) { + $rawname .= $ascii{$i} . "\x00"; + } + return $rawname; + } - /** - * Utility function to transform ASCII text to Unicode - * - * @access public - * @static - * @param string $ascii The ASCII string to transform - * @return string The string in Unicode - */ - public static function Asc2Ucs($ascii) - { - $rawname = ''; - for ($i = 0; $i < strlen($ascii); ++$i) { - $rawname .= $ascii{$i} . "\x00"; - } - return $rawname; - } + /** + * Utility function + * Returns a string for the OLE container with the date given + * + * @access public + * @static + * @param integer $date A timestamp + * @return string The string for the OLE container + */ + public static function LocalDate2OLE($date = null) + { + if (!isset($date)) { + return "\x00\x00\x00\x00\x00\x00\x00\x00"; + } - /** - * Utility function - * Returns a string for the OLE container with the date given - * - * @access public - * @static - * @param integer $date A timestamp - * @return string The string for the OLE container - */ - public static function LocalDate2OLE($date = null) - { - if (!isset($date)) { - return "\x00\x00\x00\x00\x00\x00\x00\x00"; - } + // factor used for separating numbers into 4 bytes parts + $factor = pow(2, 32); - // factor used for separating numbers into 4 bytes parts - $factor = pow(2, 32); + // days from 1-1-1601 until the beggining of UNIX era + $days = 134774; + // calculate seconds + $big_date = $days*24*3600 + gmmktime(date("H", $date), date("i", $date), date("s", $date), date("m", $date), date("d", $date), date("Y", $date)); + // multiply just to make MS happy + $big_date *= 10000000; - // days from 1-1-1601 until the beggining of UNIX era - $days = 134774; - // calculate seconds - $big_date = $days*24*3600 + gmmktime(date("H",$date),date("i",$date),date("s",$date), - date("m",$date),date("d",$date),date("Y",$date)); - // multiply just to make MS happy - $big_date *= 10000000; + $high_part = floor($big_date / $factor); + // lower 4 bytes + $low_part = floor((($big_date / $factor) - $high_part) * $factor); - $high_part = floor($big_date / $factor); - // lower 4 bytes - $low_part = floor((($big_date / $factor) - $high_part) * $factor); + // Make HEX string + $res = ''; - // Make HEX string - $res = ''; + for ($i = 0; $i < 4; ++$i) { + $hex = $low_part % 0x100; + $res .= pack('c', $hex); + $low_part /= 0x100; + } + for ($i = 0; $i < 4; ++$i) { + $hex = $high_part % 0x100; + $res .= pack('c', $hex); + $high_part /= 0x100; + } + return $res; + } - for ($i = 0; $i < 4; ++$i) { - $hex = $low_part % 0x100; - $res .= pack('c', $hex); - $low_part /= 0x100; - } - for ($i = 0; $i < 4; ++$i) { - $hex = $high_part % 0x100; - $res .= pack('c', $hex); - $high_part /= 0x100; - } - return $res; - } + /** + * Returns a timestamp from an OLE container's date + * + * @access public + * @static + * @param integer $string A binary string with the encoded date + * @return string The timestamp corresponding to the string + */ + public static function OLE2LocalDate($string) + { + if (strlen($string) != 8) { + return new PEAR_Error("Expecting 8 byte string"); + } - /** - * Returns a timestamp from an OLE container's date - * - * @access public - * @static - * @param integer $string A binary string with the encoded date - * @return string The timestamp corresponding to the string - */ - public static function OLE2LocalDate($string) - { - if (strlen($string) != 8) { - return new PEAR_Error("Expecting 8 byte string"); - } + // factor used for separating numbers into 4 bytes parts + $factor = pow(2, 32); + list(, $high_part) = unpack('V', substr($string, 4, 4)); + list(, $low_part) = unpack('V', substr($string, 0, 4)); - // factor used for separating numbers into 4 bytes parts - $factor = pow(2,32); - list(, $high_part) = unpack('V', substr($string, 4, 4)); - list(, $low_part) = unpack('V', substr($string, 0, 4)); + $big_date = ($high_part * $factor) + $low_part; + // translate to seconds + $big_date /= 10000000; - $big_date = ($high_part * $factor) + $low_part; - // translate to seconds - $big_date /= 10000000; + // days from 1-1-1601 until the beggining of UNIX era + $days = 134774; - // days from 1-1-1601 until the beggining of UNIX era - $days = 134774; - - // translate to seconds from beggining of UNIX era - $big_date -= $days * 24 * 3600; - return floor($big_date); - } + // translate to seconds from beggining of UNIX era + $big_date -= $days * 24 * 3600; + return floor($big_date); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php index 0736fc232..84d2cc50b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/ChainedBlockStream.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_OLE_ChainedBlockStream * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,202 +22,185 @@ * @category PHPExcel * @package PHPExcel_Shared_OLE * @copyright Copyright (c) 2006 - 2007 Christian Schmidt - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -/** - * PHPExcel_Shared_OLE_ChainedBlockStream - * - * Stream wrapper for reading data stored in an OLE file. Implements methods - * for PHP's stream_wrapper_register(). For creating streams using this - * wrapper, use PHPExcel_Shared_OLE_PPS_File::getStream(). - * - * @category PHPExcel - * @package PHPExcel_Shared_OLE - */ class PHPExcel_Shared_OLE_ChainedBlockStream { - /** - * The OLE container of the file that is being read. - * @var OLE - */ - public $ole; + /** + * The OLE container of the file that is being read. + * @var OLE + */ + public $ole; - /** - * Parameters specified by fopen(). - * @var array - */ - public $params; + /** + * Parameters specified by fopen(). + * @var array + */ + public $params; - /** - * The binary data of the file. - * @var string - */ - public $data; + /** + * The binary data of the file. + * @var string + */ + public $data; - /** - * The file pointer. - * @var int byte offset - */ - public $pos; + /** + * The file pointer. + * @var int byte offset + */ + public $pos; - /** - * Implements support for fopen(). - * For creating streams using this wrapper, use OLE_PPS_File::getStream(). - * - * @param string $path resource name including scheme, e.g. - * ole-chainedblockstream://oleInstanceId=1 - * @param string $mode only "r" is supported - * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH - * @param string &$openedPath absolute path of the opened stream (out parameter) - * @return bool true on success - */ - public function stream_open($path, $mode, $options, &$openedPath) - { - if ($mode != 'r') { - if ($options & STREAM_REPORT_ERRORS) { - trigger_error('Only reading is supported', E_USER_WARNING); - } - return false; - } + /** + * Implements support for fopen(). + * For creating streams using this wrapper, use OLE_PPS_File::getStream(). + * + * @param string $path resource name including scheme, e.g. + * ole-chainedblockstream://oleInstanceId=1 + * @param string $mode only "r" is supported + * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH + * @param string &$openedPath absolute path of the opened stream (out parameter) + * @return bool true on success + */ + public function stream_open($path, $mode, $options, &$openedPath) + { + if ($mode != 'r') { + if ($options & STREAM_REPORT_ERRORS) { + trigger_error('Only reading is supported', E_USER_WARNING); + } + return false; + } - // 25 is length of "ole-chainedblockstream://" - parse_str(substr($path, 25), $this->params); - if (!isset($this->params['oleInstanceId'], - $this->params['blockId'], - $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']])) { + // 25 is length of "ole-chainedblockstream://" + parse_str(substr($path, 25), $this->params); + if (!isset($this->params['oleInstanceId'], $this->params['blockId'], $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']])) { + if ($options & STREAM_REPORT_ERRORS) { + trigger_error('OLE stream not found', E_USER_WARNING); + } + return false; + } + $this->ole = $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']]; - if ($options & STREAM_REPORT_ERRORS) { - trigger_error('OLE stream not found', E_USER_WARNING); - } - return false; - } - $this->ole = $GLOBALS['_OLE_INSTANCES'][$this->params['oleInstanceId']]; + $blockId = $this->params['blockId']; + $this->data = ''; + if (isset($this->params['size']) && $this->params['size'] < $this->ole->bigBlockThreshold && $blockId != $this->ole->root->_StartBlock) { + // Block id refers to small blocks + $rootPos = $this->ole->_getBlockOffset($this->ole->root->_StartBlock); + while ($blockId != -2) { + $pos = $rootPos + $blockId * $this->ole->bigBlockSize; + $blockId = $this->ole->sbat[$blockId]; + fseek($this->ole->_file_handle, $pos); + $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); + } + } else { + // Block id refers to big blocks + while ($blockId != -2) { + $pos = $this->ole->_getBlockOffset($blockId); + fseek($this->ole->_file_handle, $pos); + $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); + $blockId = $this->ole->bbat[$blockId]; + } + } + if (isset($this->params['size'])) { + $this->data = substr($this->data, 0, $this->params['size']); + } - $blockId = $this->params['blockId']; - $this->data = ''; - if (isset($this->params['size']) && - $this->params['size'] < $this->ole->bigBlockThreshold && - $blockId != $this->ole->root->_StartBlock) { + if ($options & STREAM_USE_PATH) { + $openedPath = $path; + } - // Block id refers to small blocks - $rootPos = $this->ole->_getBlockOffset($this->ole->root->_StartBlock); - while ($blockId != -2) { - $pos = $rootPos + $blockId * $this->ole->bigBlockSize; - $blockId = $this->ole->sbat[$blockId]; - fseek($this->ole->_file_handle, $pos); - $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); - } - } else { - // Block id refers to big blocks - while ($blockId != -2) { - $pos = $this->ole->_getBlockOffset($blockId); - fseek($this->ole->_file_handle, $pos); - $this->data .= fread($this->ole->_file_handle, $this->ole->bigBlockSize); - $blockId = $this->ole->bbat[$blockId]; - } - } - if (isset($this->params['size'])) { - $this->data = substr($this->data, 0, $this->params['size']); - } + return true; + } - if ($options & STREAM_USE_PATH) { - $openedPath = $path; - } + /** + * Implements support for fclose(). + * + */ + public function stream_close() + { + $this->ole = null; + unset($GLOBALS['_OLE_INSTANCES']); + } - return true; - } + /** + * Implements support for fread(), fgets() etc. + * + * @param int $count maximum number of bytes to read + * @return string + */ + public function stream_read($count) + { + if ($this->stream_eof()) { + return false; + } + $s = substr($this->data, $this->pos, $count); + $this->pos += $count; + return $s; + } - /** - * Implements support for fclose(). - * - */ - public function stream_close() - { - $this->ole = null; - unset($GLOBALS['_OLE_INSTANCES']); - } + /** + * Implements support for feof(). + * + * @return bool TRUE if the file pointer is at EOF; otherwise FALSE + */ + public function stream_eof() + { + return $this->pos >= strlen($this->data); + } - /** - * Implements support for fread(), fgets() etc. - * - * @param int $count maximum number of bytes to read - * @return string - */ - public function stream_read($count) - { - if ($this->stream_eof()) { - return false; - } - $s = substr($this->data, $this->pos, $count); - $this->pos += $count; - return $s; - } + /** + * Returns the position of the file pointer, i.e. its offset into the file + * stream. Implements support for ftell(). + * + * @return int + */ + public function stream_tell() + { + return $this->pos; + } - /** - * Implements support for feof(). - * - * @return bool TRUE if the file pointer is at EOF; otherwise FALSE - */ - public function stream_eof() - { - return $this->pos >= strlen($this->data); - } + /** + * Implements support for fseek(). + * + * @param int $offset byte offset + * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END + * @return bool + */ + public function stream_seek($offset, $whence) + { + if ($whence == SEEK_SET && $offset >= 0) { + $this->pos = $offset; + } elseif ($whence == SEEK_CUR && -$offset <= $this->pos) { + $this->pos += $offset; + } elseif ($whence == SEEK_END && -$offset <= sizeof($this->data)) { + $this->pos = strlen($this->data) + $offset; + } else { + return false; + } + return true; + } - /** - * Returns the position of the file pointer, i.e. its offset into the file - * stream. Implements support for ftell(). - * - * @return int - */ - public function stream_tell() - { - return $this->pos; - } + /** + * Implements support for fstat(). Currently the only supported field is + * "size". + * @return array + */ + public function stream_stat() + { + return array( + 'size' => strlen($this->data), + ); + } - /** - * Implements support for fseek(). - * - * @param int $offset byte offset - * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END - * @return bool - */ - public function stream_seek($offset, $whence) - { - if ($whence == SEEK_SET && $offset >= 0) { - $this->pos = $offset; - } elseif ($whence == SEEK_CUR && -$offset <= $this->pos) { - $this->pos += $offset; - } elseif ($whence == SEEK_END && -$offset <= sizeof($this->data)) { - $this->pos = strlen($this->data) + $offset; - } else { - return false; - } - return true; - } - - /** - * Implements support for fstat(). Currently the only supported field is - * "size". - * @return array - */ - public function stream_stat() - { - return array( - 'size' => strlen($this->data), - ); - } - - // Methods used by stream_wrapper_register() that are not implemented: - // bool stream_flush ( void ) - // int stream_write ( string data ) - // bool rename ( string path_from, string path_to ) - // bool mkdir ( string path, int mode, int options ) - // bool rmdir ( string path, int options ) - // bool dir_opendir ( string path, int options ) - // array url_stat ( string path, int flags ) - // string dir_readdir ( void ) - // bool dir_rewinddir ( void ) - // bool dir_closedir ( void ) + // Methods used by stream_wrapper_register() that are not implemented: + // bool stream_flush ( void ) + // int stream_write ( string data ) + // bool rename ( string path_from, string path_to ) + // bool mkdir ( string path, int mode, int options ) + // bool rmdir ( string path, int options ) + // bool dir_opendir ( string path, int options ) + // array url_stat ( string path, int flags ) + // string dir_readdir ( void ) + // bool dir_rewinddir ( void ) + // bool dir_closedir ( void ) } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php index 4db0ae4e2..608a892aa 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS.php @@ -29,202 +29,202 @@ */ class PHPExcel_Shared_OLE_PPS { - /** - * The PPS index - * @var integer - */ - public $No; + /** + * The PPS index + * @var integer + */ + public $No; - /** - * The PPS name (in Unicode) - * @var string - */ - public $Name; + /** + * The PPS name (in Unicode) + * @var string + */ + public $Name; - /** - * The PPS type. Dir, Root or File - * @var integer - */ - public $Type; + /** + * The PPS type. Dir, Root or File + * @var integer + */ + public $Type; - /** - * The index of the previous PPS - * @var integer - */ - public $PrevPps; + /** + * The index of the previous PPS + * @var integer + */ + public $PrevPps; - /** - * The index of the next PPS - * @var integer - */ - public $NextPps; + /** + * The index of the next PPS + * @var integer + */ + public $NextPps; - /** - * The index of it's first child if this is a Dir or Root PPS - * @var integer - */ - public $DirPps; + /** + * The index of it's first child if this is a Dir or Root PPS + * @var integer + */ + public $DirPps; - /** - * A timestamp - * @var integer - */ - public $Time1st; + /** + * A timestamp + * @var integer + */ + public $Time1st; - /** - * A timestamp - * @var integer - */ - public $Time2nd; + /** + * A timestamp + * @var integer + */ + public $Time2nd; - /** - * Starting block (small or big) for this PPS's data inside the container - * @var integer - */ - public $_StartBlock; + /** + * Starting block (small or big) for this PPS's data inside the container + * @var integer + */ + public $_StartBlock; - /** - * The size of the PPS's data (in bytes) - * @var integer - */ - public $Size; + /** + * The size of the PPS's data (in bytes) + * @var integer + */ + public $Size; - /** - * The PPS's data (only used if it's not using a temporary file) - * @var string - */ - public $_data; + /** + * The PPS's data (only used if it's not using a temporary file) + * @var string + */ + public $_data; - /** - * Array of child PPS's (only used by Root and Dir PPS's) - * @var array - */ - public $children = array(); + /** + * Array of child PPS's (only used by Root and Dir PPS's) + * @var array + */ + public $children = array(); - /** - * Pointer to OLE container - * @var OLE - */ - public $ole; + /** + * Pointer to OLE container + * @var OLE + */ + public $ole; - /** - * The constructor - * - * @access public - * @param integer $No The PPS index - * @param string $name The PPS name - * @param integer $type The PPS type. Dir, Root or File - * @param integer $prev The index of the previous PPS - * @param integer $next The index of the next PPS - * @param integer $dir The index of it's first child if this is a Dir or Root PPS - * @param integer $time_1st A timestamp - * @param integer $time_2nd A timestamp - * @param string $data The (usually binary) source data of the PPS - * @param array $children Array containing children PPS for this PPS - */ - public function __construct($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children) - { - $this->No = $No; - $this->Name = $name; - $this->Type = $type; - $this->PrevPps = $prev; - $this->NextPps = $next; - $this->DirPps = $dir; - $this->Time1st = $time_1st; - $this->Time2nd = $time_2nd; - $this->_data = $data; - $this->children = $children; - if ($data != '') { - $this->Size = strlen($data); - } else { - $this->Size = 0; - } - } + /** + * The constructor + * + * @access public + * @param integer $No The PPS index + * @param string $name The PPS name + * @param integer $type The PPS type. Dir, Root or File + * @param integer $prev The index of the previous PPS + * @param integer $next The index of the next PPS + * @param integer $dir The index of it's first child if this is a Dir or Root PPS + * @param integer $time_1st A timestamp + * @param integer $time_2nd A timestamp + * @param string $data The (usually binary) source data of the PPS + * @param array $children Array containing children PPS for this PPS + */ + public function __construct($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children) + { + $this->No = $No; + $this->Name = $name; + $this->Type = $type; + $this->PrevPps = $prev; + $this->NextPps = $next; + $this->DirPps = $dir; + $this->Time1st = $time_1st; + $this->Time2nd = $time_2nd; + $this->_data = $data; + $this->children = $children; + if ($data != '') { + $this->Size = strlen($data); + } else { + $this->Size = 0; + } + } - /** - * Returns the amount of data saved for this PPS - * - * @access public - * @return integer The amount of data (in bytes) - */ - public function _DataLen() - { - if (!isset($this->_data)) { - return 0; - } - //if (isset($this->_PPS_FILE)) { - // fseek($this->_PPS_FILE, 0); - // $stats = fstat($this->_PPS_FILE); - // return $stats[7]; - //} else { - return strlen($this->_data); - //} - } + /** + * Returns the amount of data saved for this PPS + * + * @access public + * @return integer The amount of data (in bytes) + */ + public function _DataLen() + { + if (!isset($this->_data)) { + return 0; + } + //if (isset($this->_PPS_FILE)) { + // fseek($this->_PPS_FILE, 0); + // $stats = fstat($this->_PPS_FILE); + // return $stats[7]; + //} else { + return strlen($this->_data); + //} + } - /** - * Returns a string with the PPS's WK (What is a WK?) - * - * @access public - * @return string The binary string - */ - public function _getPpsWk() - { - $ret = str_pad($this->Name,64,"\x00"); + /** + * Returns a string with the PPS's WK (What is a WK?) + * + * @access public + * @return string The binary string + */ + public function _getPpsWk() + { + $ret = str_pad($this->Name, 64, "\x00"); - $ret .= pack("v", strlen($this->Name) + 2) // 66 - . pack("c", $this->Type) // 67 - . pack("c", 0x00) //UK // 68 - . pack("V", $this->PrevPps) //Prev // 72 - . pack("V", $this->NextPps) //Next // 76 - . pack("V", $this->DirPps) //Dir // 80 - . "\x00\x09\x02\x00" // 84 - . "\x00\x00\x00\x00" // 88 - . "\xc0\x00\x00\x00" // 92 - . "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root - . "\x00\x00\x00\x00" // 100 - . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time1st) // 108 - . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time2nd) // 116 - . pack("V", isset($this->_StartBlock)? - $this->_StartBlock:0) // 120 - . pack("V", $this->Size) // 124 - . pack("V", 0); // 128 - return $ret; - } + $ret .= pack("v", strlen($this->Name) + 2) // 66 + . pack("c", $this->Type) // 67 + . pack("c", 0x00) //UK // 68 + . pack("V", $this->PrevPps) //Prev // 72 + . pack("V", $this->NextPps) //Next // 76 + . pack("V", $this->DirPps) //Dir // 80 + . "\x00\x09\x02\x00" // 84 + . "\x00\x00\x00\x00" // 88 + . "\xc0\x00\x00\x00" // 92 + . "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root + . "\x00\x00\x00\x00" // 100 + . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time1st) // 108 + . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time2nd) // 116 + . pack("V", isset($this->_StartBlock)? + $this->_StartBlock:0) // 120 + . pack("V", $this->Size) // 124 + . pack("V", 0); // 128 + return $ret; + } - /** - * Updates index and pointers to previous, next and children PPS's for this - * PPS. I don't think it'll work with Dir PPS's. - * - * @access public - * @param array &$raList Reference to the array of PPS's for the whole OLE - * container - * @return integer The index for this PPS - */ - public static function _savePpsSetPnt(&$raList, $to_save, $depth = 0) - { - if ( !is_array($to_save) || (empty($to_save)) ) { - return 0xFFFFFFFF; - } elseif( count($to_save) == 1 ) { - $cnt = count($raList); - // If the first entry, it's the root... Don't clone it! - $raList[$cnt] = ( $depth == 0 ) ? $to_save[0] : clone $to_save[0]; - $raList[$cnt]->No = $cnt; - $raList[$cnt]->PrevPps = 0xFFFFFFFF; - $raList[$cnt]->NextPps = 0xFFFFFFFF; - $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); - } else { - $iPos = floor(count($to_save) / 2); - $aPrev = array_slice($to_save, 0, $iPos); - $aNext = array_slice($to_save, $iPos + 1); - $cnt = count($raList); - // If the first entry, it's the root... Don't clone it! - $raList[$cnt] = ( $depth == 0 ) ? $to_save[$iPos] : clone $to_save[$iPos]; - $raList[$cnt]->No = $cnt; - $raList[$cnt]->PrevPps = self::_savePpsSetPnt($raList, $aPrev, $depth++); - $raList[$cnt]->NextPps = self::_savePpsSetPnt($raList, $aNext, $depth++); - $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); + /** + * Updates index and pointers to previous, next and children PPS's for this + * PPS. I don't think it'll work with Dir PPS's. + * + * @access public + * @param array &$raList Reference to the array of PPS's for the whole OLE + * container + * @return integer The index for this PPS + */ + public static function _savePpsSetPnt(&$raList, $to_save, $depth = 0) + { + if (!is_array($to_save) || (empty($to_save))) { + return 0xFFFFFFFF; + } elseif (count($to_save) == 1) { + $cnt = count($raList); + // If the first entry, it's the root... Don't clone it! + $raList[$cnt] = ( $depth == 0 ) ? $to_save[0] : clone $to_save[0]; + $raList[$cnt]->No = $cnt; + $raList[$cnt]->PrevPps = 0xFFFFFFFF; + $raList[$cnt]->NextPps = 0xFFFFFFFF; + $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); + } else { + $iPos = floor(count($to_save) / 2); + $aPrev = array_slice($to_save, 0, $iPos); + $aNext = array_slice($to_save, $iPos + 1); + $cnt = count($raList); + // If the first entry, it's the root... Don't clone it! + $raList[$cnt] = ( $depth == 0 ) ? $to_save[$iPos] : clone $to_save[$iPos]; + $raList[$cnt]->No = $cnt; + $raList[$cnt]->PrevPps = self::_savePpsSetPnt($raList, $aPrev, $depth++); + $raList[$cnt]->NextPps = self::_savePpsSetPnt($raList, $aNext, $depth++); + $raList[$cnt]->DirPps = self::_savePpsSetPnt($raList, @$raList[$cnt]->children, $depth++); - } - return $cnt; - } + } + return $cnt; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php index f061f568c..1ca337cba 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/File.php @@ -28,57 +28,47 @@ * @package PHPExcel_Shared_OLE */ class PHPExcel_Shared_OLE_PPS_File extends PHPExcel_Shared_OLE_PPS - { - /** - * The constructor - * - * @access public - * @param string $name The name of the file (in Unicode) - * @see OLE::Asc2Ucs() - */ - public function __construct($name) - { - parent::__construct( - null, - $name, - PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE, - null, - null, - null, - null, - null, - '', - array()); - } +{ + /** + * The constructor + * + * @access public + * @param string $name The name of the file (in Unicode) + * @see OLE::Asc2Ucs() + */ + public function __construct($name) + { + parent::__construct(null, $name, PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE, null, null, null, null, null, '', array()); + } - /** - * Initialization method. Has to be called right after OLE_PPS_File(). - * - * @access public - * @return mixed true on success - */ - public function init() - { - return true; - } + /** + * Initialization method. Has to be called right after OLE_PPS_File(). + * + * @access public + * @return mixed true on success + */ + public function init() + { + return true; + } - /** - * Append data to PPS - * - * @access public - * @param string $data The data to append - */ - public function append($data) - { - $this->_data .= $data; - } + /** + * Append data to PPS + * + * @access public + * @param string $data The data to append + */ + public function append($data) + { + $this->_data .= $data; + } - /** - * Returns a stream for reading this file using fread() etc. - * @return resource a read-only stream - */ - public function getStream() - { - $this->ole->getStream($this); - } + /** + * Returns a stream for reading this file using fread() etc. + * @return resource a read-only stream + */ + public function getStream() + { + $this->ole->getStream($this); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php index 8c6dcda07..5d4052f06 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLE/PPS/Root.php @@ -28,440 +28,435 @@ * @package PHPExcel_Shared_OLE */ class PHPExcel_Shared_OLE_PPS_Root extends PHPExcel_Shared_OLE_PPS - { +{ - /** - * Directory for temporary files - * @var string - */ - protected $_tmp_dir = NULL; + /** + * Directory for temporary files + * @var string + */ + protected $tempDirectory = null; - /** - * @param integer $time_1st A timestamp - * @param integer $time_2nd A timestamp - */ - public function __construct($time_1st, $time_2nd, $raChild) - { - $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + /** + * @param integer $time_1st A timestamp + * @param integer $time_2nd A timestamp + */ + public function __construct($time_1st, $time_2nd, $raChild) + { + $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); - parent::__construct( - null, - PHPExcel_Shared_OLE::Asc2Ucs('Root Entry'), - PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT, - null, - null, - null, - $time_1st, - $time_2nd, - null, - $raChild); - } + parent::__construct(null, PHPExcel_Shared_OLE::Asc2Ucs('Root Entry'), PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT, null, null, null, $time_1st, $time_2nd, null, $raChild); + } - /** - * Method for saving the whole OLE container (including files). - * In fact, if called with an empty argument (or '-'), it saves to a - * temporary file and then outputs it's contents to stdout. - * If a resource pointer to a stream created by fopen() is passed - * it will be used, but you have to close such stream by yourself. - * - * @param string|resource $filename The name of the file or stream where to save the OLE container. - * @access public - * @return mixed true on success - */ - public function save($filename) - { - // Initial Setting for saving - $this->_BIG_BLOCK_SIZE = pow(2, - ((isset($this->_BIG_BLOCK_SIZE))? self::_adjust2($this->_BIG_BLOCK_SIZE) : 9)); - $this->_SMALL_BLOCK_SIZE= pow(2, - ((isset($this->_SMALL_BLOCK_SIZE))? self::_adjust2($this->_SMALL_BLOCK_SIZE): 6)); + /** + * Method for saving the whole OLE container (including files). + * In fact, if called with an empty argument (or '-'), it saves to a + * temporary file and then outputs it's contents to stdout. + * If a resource pointer to a stream created by fopen() is passed + * it will be used, but you have to close such stream by yourself. + * + * @param string|resource $filename The name of the file or stream where to save the OLE container. + * @access public + * @return mixed true on success + */ + public function save($filename) + { + // Initial Setting for saving + $this->_BIG_BLOCK_SIZE = pow( + 2, + (isset($this->_BIG_BLOCK_SIZE))? self::adjust2($this->_BIG_BLOCK_SIZE) : 9 + ); + $this->_SMALL_BLOCK_SIZE= pow( + 2, + (isset($this->_SMALL_BLOCK_SIZE))? self::adjust2($this->_SMALL_BLOCK_SIZE) : 6 + ); - if (is_resource($filename)) { - $this->_FILEH_ = $filename; - } else if ($filename == '-' || $filename == '') { - if ($this->_tmp_dir === NULL) - $this->_tmp_dir = PHPExcel_Shared_File::sys_get_temp_dir(); - $this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_Root"); - $this->_FILEH_ = fopen($this->_tmp_filename,"w+b"); - if ($this->_FILEH_ == false) { - throw new PHPExcel_Writer_Exception("Can't create temporary file."); - } - } else { - $this->_FILEH_ = fopen($filename, "wb"); - } - if ($this->_FILEH_ == false) { - throw new PHPExcel_Writer_Exception("Can't open $filename. It may be in use or protected."); - } - // Make an array of PPS's (for Save) - $aList = array(); - PHPExcel_Shared_OLE_PPS::_savePpsSetPnt($aList, array($this)); - // calculate values for header - list($iSBDcnt, $iBBcnt, $iPPScnt) = $this->_calcSize($aList); //, $rhInfo); - // Save Header - $this->_saveHeader($iSBDcnt, $iBBcnt, $iPPScnt); + if (is_resource($filename)) { + $this->_FILEH_ = $filename; + } elseif ($filename == '-' || $filename == '') { + if ($this->tempDirectory === null) { + $this->tempDirectory = PHPExcel_Shared_File::sys_get_temp_dir(); + } + $this->_tmp_filename = tempnam($this->tempDirectory, "OLE_PPS_Root"); + $this->_FILEH_ = fopen($this->_tmp_filename, "w+b"); + if ($this->_FILEH_ == false) { + throw new PHPExcel_Writer_Exception("Can't create temporary file."); + } + } else { + $this->_FILEH_ = fopen($filename, "wb"); + } + if ($this->_FILEH_ == false) { + throw new PHPExcel_Writer_Exception("Can't open $filename. It may be in use or protected."); + } + // Make an array of PPS's (for Save) + $aList = array(); + PHPExcel_Shared_OLE_PPS::_savePpsSetPnt($aList, array($this)); + // calculate values for header + list($iSBDcnt, $iBBcnt, $iPPScnt) = $this->_calcSize($aList); //, $rhInfo); + // Save Header + $this->_saveHeader($iSBDcnt, $iBBcnt, $iPPScnt); - // Make Small Data string (write SBD) - $this->_data = $this->_makeSmallData($aList); + // Make Small Data string (write SBD) + $this->_data = $this->_makeSmallData($aList); - // Write BB - $this->_saveBigData($iSBDcnt, $aList); - // Write PPS - $this->_savePps($aList); - // Write Big Block Depot and BDList and Adding Header informations - $this->_saveBbd($iSBDcnt, $iBBcnt, $iPPScnt); + // Write BB + $this->_saveBigData($iSBDcnt, $aList); + // Write PPS + $this->_savePps($aList); + // Write Big Block Depot and BDList and Adding Header informations + $this->_saveBbd($iSBDcnt, $iBBcnt, $iPPScnt); - if (!is_resource($filename)) { - fclose($this->_FILEH_); - } + if (!is_resource($filename)) { + fclose($this->_FILEH_); + } - return true; - } + return true; + } - /** - * Calculate some numbers - * - * @access public - * @param array $raList Reference to an array of PPS's - * @return array The array of numbers - */ - public function _calcSize(&$raList) - { - // Calculate Basic Setting - list($iSBDcnt, $iBBcnt, $iPPScnt) = array(0,0,0); - $iSmallLen = 0; - $iSBcnt = 0; - $iCount = count($raList); - for ($i = 0; $i < $iCount; ++$i) { - if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { - $raList[$i]->Size = $raList[$i]->_DataLen(); - if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { - $iSBcnt += floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) - + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); - } else { - $iBBcnt += (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + - (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); - } - } - } - $iSmallLen = $iSBcnt * $this->_SMALL_BLOCK_SIZE; - $iSlCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); - $iSBDcnt = floor($iSBcnt / $iSlCnt) + (($iSBcnt % $iSlCnt)? 1:0); - $iBBcnt += (floor($iSmallLen / $this->_BIG_BLOCK_SIZE) + - (( $iSmallLen % $this->_BIG_BLOCK_SIZE)? 1: 0)); - $iCnt = count($raList); - $iBdCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; - $iPPScnt = (floor($iCnt/$iBdCnt) + (($iCnt % $iBdCnt)? 1: 0)); + /** + * Calculate some numbers + * + * @access public + * @param array $raList Reference to an array of PPS's + * @return array The array of numbers + */ + public function _calcSize(&$raList) + { + // Calculate Basic Setting + list($iSBDcnt, $iBBcnt, $iPPScnt) = array(0,0,0); + $iSmallLen = 0; + $iSBcnt = 0; + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { + $raList[$i]->Size = $raList[$i]->_DataLen(); + if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { + $iSBcnt += floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); + } else { + $iBBcnt += (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); + } + } + } + $iSmallLen = $iSBcnt * $this->_SMALL_BLOCK_SIZE; + $iSlCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); + $iSBDcnt = floor($iSBcnt / $iSlCnt) + (($iSBcnt % $iSlCnt)? 1:0); + $iBBcnt += (floor($iSmallLen / $this->_BIG_BLOCK_SIZE) + + (( $iSmallLen % $this->_BIG_BLOCK_SIZE)? 1: 0)); + $iCnt = count($raList); + $iBdCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; + $iPPScnt = (floor($iCnt/$iBdCnt) + (($iCnt % $iBdCnt)? 1: 0)); - return array($iSBDcnt, $iBBcnt, $iPPScnt); - } + return array($iSBDcnt, $iBBcnt, $iPPScnt); + } - /** - * Helper function for caculating a magic value for block sizes - * - * @access public - * @param integer $i2 The argument - * @see save() - * @return integer - */ - private static function _adjust2($i2) - { - $iWk = log($i2)/log(2); - return ($iWk > floor($iWk))? floor($iWk)+1:$iWk; - } + /** + * Helper function for caculating a magic value for block sizes + * + * @access public + * @param integer $i2 The argument + * @see save() + * @return integer + */ + private static function adjust2($i2) + { + $iWk = log($i2)/log(2); + return ($iWk > floor($iWk))? floor($iWk)+1:$iWk; + } - /** - * Save OLE header - * - * @access public - * @param integer $iSBDcnt - * @param integer $iBBcnt - * @param integer $iPPScnt - */ - public function _saveHeader($iSBDcnt, $iBBcnt, $iPPScnt) - { - $FILE = $this->_FILEH_; + /** + * Save OLE header + * + * @access public + * @param integer $iSBDcnt + * @param integer $iBBcnt + * @param integer $iPPScnt + */ + public function _saveHeader($iSBDcnt, $iBBcnt, $iPPScnt) + { + $FILE = $this->_FILEH_; - // Calculate Basic Setting - $iBlCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; - $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + // Calculate Basic Setting + $iBlCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; - $iBdExL = 0; - $iAll = $iBBcnt + $iPPScnt + $iSBDcnt; - $iAllW = $iAll; - $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); - $iBdCnt = floor(($iAll + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); + $iBdExL = 0; + $iAll = $iBBcnt + $iPPScnt + $iSBDcnt; + $iAllW = $iAll; + $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); + $iBdCnt = floor(($iAll + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); - // Calculate BD count - if ($iBdCnt > $i1stBdL) { - while (1) { - ++$iBdExL; - ++$iAllW; - $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); - $iBdCnt = floor(($iAllW + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); - if ($iBdCnt <= ($iBdExL*$iBlCnt+ $i1stBdL)) { - break; - } - } - } + // Calculate BD count + if ($iBdCnt > $i1stBdL) { + while (1) { + ++$iBdExL; + ++$iAllW; + $iBdCntW = floor($iAllW / $iBlCnt) + (($iAllW % $iBlCnt)? 1: 0); + $iBdCnt = floor(($iAllW + $iBdCntW) / $iBlCnt) + ((($iAllW+$iBdCntW) % $iBlCnt)? 1: 0); + if ($iBdCnt <= ($iBdExL*$iBlCnt+ $i1stBdL)) { + break; + } + } + } - // Save Header - fwrite($FILE, - "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" - . "\x00\x00\x00\x00" - . "\x00\x00\x00\x00" - . "\x00\x00\x00\x00" - . "\x00\x00\x00\x00" - . pack("v", 0x3b) - . pack("v", 0x03) - . pack("v", -2) - . pack("v", 9) - . pack("v", 6) - . pack("v", 0) - . "\x00\x00\x00\x00" - . "\x00\x00\x00\x00" - . pack("V", $iBdCnt) - . pack("V", $iBBcnt+$iSBDcnt) //ROOT START - . pack("V", 0) - . pack("V", 0x1000) - . pack("V", $iSBDcnt ? 0 : -2) //Small Block Depot - . pack("V", $iSBDcnt) - ); - // Extra BDList Start, Count - if ($iBdCnt < $i1stBdL) { - fwrite($FILE, - pack("V", -2) // Extra BDList Start - . pack("V", 0) // Extra BDList Count - ); - } else { - fwrite($FILE, pack("V", $iAll+$iBdCnt) . pack("V", $iBdExL)); - } + // Save Header + fwrite( + $FILE, + "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . pack("v", 0x3b) + . pack("v", 0x03) + . pack("v", -2) + . pack("v", 9) + . pack("v", 6) + . pack("v", 0) + . "\x00\x00\x00\x00" + . "\x00\x00\x00\x00" + . pack("V", $iBdCnt) + . pack("V", $iBBcnt+$iSBDcnt) //ROOT START + . pack("V", 0) + . pack("V", 0x1000) + . pack("V", $iSBDcnt ? 0 : -2) //Small Block Depot + . pack("V", $iSBDcnt) + ); + // Extra BDList Start, Count + if ($iBdCnt < $i1stBdL) { + fwrite( + $FILE, + pack("V", -2) // Extra BDList Start + . pack("V", 0)// Extra BDList Count + ); + } else { + fwrite($FILE, pack("V", $iAll+$iBdCnt) . pack("V", $iBdExL)); + } - // BDList - for ($i = 0; $i < $i1stBdL && $i < $iBdCnt; ++$i) { - fwrite($FILE, pack("V", $iAll+$i)); - } - if ($i < $i1stBdL) { - $jB = $i1stBdL - $i; - for ($j = 0; $j < $jB; ++$j) { - fwrite($FILE, (pack("V", -1))); - } - } - } + // BDList + for ($i = 0; $i < $i1stBdL && $i < $iBdCnt; ++$i) { + fwrite($FILE, pack("V", $iAll+$i)); + } + if ($i < $i1stBdL) { + $jB = $i1stBdL - $i; + for ($j = 0; $j < $jB; ++$j) { + fwrite($FILE, (pack("V", -1))); + } + } + } - /** - * Saving big data (PPS's with data bigger than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) - * - * @access public - * @param integer $iStBlk - * @param array &$raList Reference to array of PPS's - */ - public function _saveBigData($iStBlk, &$raList) - { - $FILE = $this->_FILEH_; + /** + * Saving big data (PPS's with data bigger than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) + * + * @access public + * @param integer $iStBlk + * @param array &$raList Reference to array of PPS's + */ + public function _saveBigData($iStBlk, &$raList) + { + $FILE = $this->_FILEH_; - // cycle through PPS's - $iCount = count($raList); - for ($i = 0; $i < $iCount; ++$i) { - if ($raList[$i]->Type != PHPExcel_Shared_OLE::OLE_PPS_TYPE_DIR) { - $raList[$i]->Size = $raList[$i]->_DataLen(); - if (($raList[$i]->Size >= PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) || - (($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT) && isset($raList[$i]->_data))) - { - // Write Data - //if (isset($raList[$i]->_PPS_FILE)) { - // $iLen = 0; - // fseek($raList[$i]->_PPS_FILE, 0); // To The Top - // while($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { - // $iLen += strlen($sBuff); - // fwrite($FILE, $sBuff); - // } - //} else { - fwrite($FILE, $raList[$i]->_data); - //} + // cycle through PPS's + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + if ($raList[$i]->Type != PHPExcel_Shared_OLE::OLE_PPS_TYPE_DIR) { + $raList[$i]->Size = $raList[$i]->_DataLen(); + if (($raList[$i]->Size >= PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) || (($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_ROOT) && isset($raList[$i]->_data))) { + // Write Data + //if (isset($raList[$i]->_PPS_FILE)) { + // $iLen = 0; + // fseek($raList[$i]->_PPS_FILE, 0); // To The Top + // while ($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { + // $iLen += strlen($sBuff); + // fwrite($FILE, $sBuff); + // } + //} else { + fwrite($FILE, $raList[$i]->_data); + //} - if ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE) { - fwrite($FILE, str_repeat("\x00", $this->_BIG_BLOCK_SIZE - ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE))); - } - // Set For PPS - $raList[$i]->_StartBlock = $iStBlk; - $iStBlk += - (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + - (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); - } - // Close file for each PPS, and unlink it - //if (isset($raList[$i]->_PPS_FILE)) { - // fclose($raList[$i]->_PPS_FILE); - // $raList[$i]->_PPS_FILE = null; - // unlink($raList[$i]->_tmp_filename); - //} - } - } - } + if ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE) { + fwrite($FILE, str_repeat("\x00", $this->_BIG_BLOCK_SIZE - ($raList[$i]->Size % $this->_BIG_BLOCK_SIZE))); + } + // Set For PPS + $raList[$i]->_StartBlock = $iStBlk; + $iStBlk += + (floor($raList[$i]->Size / $this->_BIG_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_BIG_BLOCK_SIZE)? 1: 0)); + } + // Close file for each PPS, and unlink it + //if (isset($raList[$i]->_PPS_FILE)) { + // fclose($raList[$i]->_PPS_FILE); + // $raList[$i]->_PPS_FILE = null; + // unlink($raList[$i]->_tmp_filename); + //} + } + } + } - /** - * get small data (PPS's with data smaller than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) - * - * @access public - * @param array &$raList Reference to array of PPS's - */ - public function _makeSmallData(&$raList) - { - $sRes = ''; - $FILE = $this->_FILEH_; - $iSmBlk = 0; + /** + * get small data (PPS's with data smaller than PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) + * + * @access public + * @param array &$raList Reference to array of PPS's + */ + public function _makeSmallData(&$raList) + { + $sRes = ''; + $FILE = $this->_FILEH_; + $iSmBlk = 0; - $iCount = count($raList); - for ($i = 0; $i < $iCount; ++$i) { - // Make SBD, small data string - if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { - if ($raList[$i]->Size <= 0) { - continue; - } - if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { - $iSmbCnt = floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) - + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); - // Add to SBD - $jB = $iSmbCnt - 1; - for ($j = 0; $j < $jB; ++$j) { - fwrite($FILE, pack("V", $j+$iSmBlk+1)); - } - fwrite($FILE, pack("V", -2)); + $iCount = count($raList); + for ($i = 0; $i < $iCount; ++$i) { + // Make SBD, small data string + if ($raList[$i]->Type == PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE) { + if ($raList[$i]->Size <= 0) { + continue; + } + if ($raList[$i]->Size < PHPExcel_Shared_OLE::OLE_DATA_SIZE_SMALL) { + $iSmbCnt = floor($raList[$i]->Size / $this->_SMALL_BLOCK_SIZE) + + (($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)? 1: 0); + // Add to SBD + $jB = $iSmbCnt - 1; + for ($j = 0; $j < $jB; ++$j) { + fwrite($FILE, pack("V", $j+$iSmBlk+1)); + } + fwrite($FILE, pack("V", -2)); - //// Add to Data String(this will be written for RootEntry) - //if ($raList[$i]->_PPS_FILE) { - // fseek($raList[$i]->_PPS_FILE, 0); // To The Top - // while ($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { - // $sRes .= $sBuff; - // } - //} else { - $sRes .= $raList[$i]->_data; - //} - if ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE) { - $sRes .= str_repeat("\x00",$this->_SMALL_BLOCK_SIZE - ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)); - } - // Set for PPS - $raList[$i]->_StartBlock = $iSmBlk; - $iSmBlk += $iSmbCnt; - } - } - } - $iSbCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); - if ($iSmBlk % $iSbCnt) { - $iB = $iSbCnt - ($iSmBlk % $iSbCnt); - for ($i = 0; $i < $iB; ++$i) { - fwrite($FILE, pack("V", -1)); - } - } - return $sRes; - } + //// Add to Data String(this will be written for RootEntry) + //if ($raList[$i]->_PPS_FILE) { + // fseek($raList[$i]->_PPS_FILE, 0); // To The Top + // while ($sBuff = fread($raList[$i]->_PPS_FILE, 4096)) { + // $sRes .= $sBuff; + // } + //} else { + $sRes .= $raList[$i]->_data; + //} + if ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE) { + $sRes .= str_repeat("\x00", $this->_SMALL_BLOCK_SIZE - ($raList[$i]->Size % $this->_SMALL_BLOCK_SIZE)); + } + // Set for PPS + $raList[$i]->_StartBlock = $iSmBlk; + $iSmBlk += $iSmbCnt; + } + } + } + $iSbCnt = floor($this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE); + if ($iSmBlk % $iSbCnt) { + $iB = $iSbCnt - ($iSmBlk % $iSbCnt); + for ($i = 0; $i < $iB; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + return $sRes; + } - /** - * Saves all the PPS's WKs - * - * @access public - * @param array $raList Reference to an array with all PPS's - */ - public function _savePps(&$raList) - { - // Save each PPS WK - $iC = count($raList); - for ($i = 0; $i < $iC; ++$i) { - fwrite($this->_FILEH_, $raList[$i]->_getPpsWk()); - } - // Adjust for Block - $iCnt = count($raList); - $iBCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; - if ($iCnt % $iBCnt) { - fwrite($this->_FILEH_, str_repeat("\x00",($iBCnt - ($iCnt % $iBCnt)) * PHPExcel_Shared_OLE::OLE_PPS_SIZE)); - } - } + /** + * Saves all the PPS's WKs + * + * @access public + * @param array $raList Reference to an array with all PPS's + */ + public function _savePps(&$raList) + { + // Save each PPS WK + $iC = count($raList); + for ($i = 0; $i < $iC; ++$i) { + fwrite($this->_FILEH_, $raList[$i]->_getPpsWk()); + } + // Adjust for Block + $iCnt = count($raList); + $iBCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_PPS_SIZE; + if ($iCnt % $iBCnt) { + fwrite($this->_FILEH_, str_repeat("\x00", ($iBCnt - ($iCnt % $iBCnt)) * PHPExcel_Shared_OLE::OLE_PPS_SIZE)); + } + } - /** - * Saving Big Block Depot - * - * @access public - * @param integer $iSbdSize - * @param integer $iBsize - * @param integer $iPpsCnt - */ - public function _saveBbd($iSbdSize, $iBsize, $iPpsCnt) - { - $FILE = $this->_FILEH_; - // Calculate Basic Setting - $iBbCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; - $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + /** + * Saving Big Block Depot + * + * @access public + * @param integer $iSbdSize + * @param integer $iBsize + * @param integer $iPpsCnt + */ + public function _saveBbd($iSbdSize, $iBsize, $iPpsCnt) + { + $FILE = $this->_FILEH_; + // Calculate Basic Setting + $iBbCnt = $this->_BIG_BLOCK_SIZE / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; + $i1stBdL = ($this->_BIG_BLOCK_SIZE - 0x4C) / PHPExcel_Shared_OLE::OLE_LONG_INT_SIZE; - $iBdExL = 0; - $iAll = $iBsize + $iPpsCnt + $iSbdSize; - $iAllW = $iAll; - $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); - $iBdCnt = floor(($iAll + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); - // Calculate BD count - if ($iBdCnt >$i1stBdL) { - while (1) { - ++$iBdExL; - ++$iAllW; - $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); - $iBdCnt = floor(($iAllW + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); - if ($iBdCnt <= ($iBdExL*$iBbCnt+ $i1stBdL)) { - break; - } - } - } + $iBdExL = 0; + $iAll = $iBsize + $iPpsCnt + $iSbdSize; + $iAllW = $iAll; + $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); + $iBdCnt = floor(($iAll + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); + // Calculate BD count + if ($iBdCnt >$i1stBdL) { + while (1) { + ++$iBdExL; + ++$iAllW; + $iBdCntW = floor($iAllW / $iBbCnt) + (($iAllW % $iBbCnt)? 1: 0); + $iBdCnt = floor(($iAllW + $iBdCntW) / $iBbCnt) + ((($iAllW+$iBdCntW) % $iBbCnt)? 1: 0); + if ($iBdCnt <= ($iBdExL*$iBbCnt+ $i1stBdL)) { + break; + } + } + } - // Making BD - // Set for SBD - if ($iSbdSize > 0) { - for ($i = 0; $i < ($iSbdSize - 1); ++$i) { - fwrite($FILE, pack("V", $i+1)); - } - fwrite($FILE, pack("V", -2)); - } - // Set for B - for ($i = 0; $i < ($iBsize - 1); ++$i) { - fwrite($FILE, pack("V", $i+$iSbdSize+1)); - } - fwrite($FILE, pack("V", -2)); + // Making BD + // Set for SBD + if ($iSbdSize > 0) { + for ($i = 0; $i < ($iSbdSize - 1); ++$i) { + fwrite($FILE, pack("V", $i+1)); + } + fwrite($FILE, pack("V", -2)); + } + // Set for B + for ($i = 0; $i < ($iBsize - 1); ++$i) { + fwrite($FILE, pack("V", $i+$iSbdSize+1)); + } + fwrite($FILE, pack("V", -2)); - // Set for PPS - for ($i = 0; $i < ($iPpsCnt - 1); ++$i) { - fwrite($FILE, pack("V", $i+$iSbdSize+$iBsize+1)); - } - fwrite($FILE, pack("V", -2)); - // Set for BBD itself ( 0xFFFFFFFD : BBD) - for ($i = 0; $i < $iBdCnt; ++$i) { - fwrite($FILE, pack("V", 0xFFFFFFFD)); - } - // Set for ExtraBDList - for ($i = 0; $i < $iBdExL; ++$i) { - fwrite($FILE, pack("V", 0xFFFFFFFC)); - } - // Adjust for Block - if (($iAllW + $iBdCnt) % $iBbCnt) { - $iBlock = ($iBbCnt - (($iAllW + $iBdCnt) % $iBbCnt)); - for ($i = 0; $i < $iBlock; ++$i) { - fwrite($FILE, pack("V", -1)); - } - } - // Extra BDList - if ($iBdCnt > $i1stBdL) { - $iN=0; - $iNb=0; - for ($i = $i1stBdL;$i < $iBdCnt; $i++, ++$iN) { - if ($iN >= ($iBbCnt - 1)) { - $iN = 0; - ++$iNb; - fwrite($FILE, pack("V", $iAll+$iBdCnt+$iNb)); - } - fwrite($FILE, pack("V", $iBsize+$iSbdSize+$iPpsCnt+$i)); - } - if (($iBdCnt-$i1stBdL) % ($iBbCnt-1)) { - $iB = ($iBbCnt - 1) - (($iBdCnt - $i1stBdL) % ($iBbCnt - 1)); - for ($i = 0; $i < $iB; ++$i) { - fwrite($FILE, pack("V", -1)); - } - } - fwrite($FILE, pack("V", -2)); - } - } + // Set for PPS + for ($i = 0; $i < ($iPpsCnt - 1); ++$i) { + fwrite($FILE, pack("V", $i+$iSbdSize+$iBsize+1)); + } + fwrite($FILE, pack("V", -2)); + // Set for BBD itself ( 0xFFFFFFFD : BBD) + for ($i = 0; $i < $iBdCnt; ++$i) { + fwrite($FILE, pack("V", 0xFFFFFFFD)); + } + // Set for ExtraBDList + for ($i = 0; $i < $iBdExL; ++$i) { + fwrite($FILE, pack("V", 0xFFFFFFFC)); + } + // Adjust for Block + if (($iAllW + $iBdCnt) % $iBbCnt) { + $iBlock = ($iBbCnt - (($iAllW + $iBdCnt) % $iBbCnt)); + for ($i = 0; $i < $iBlock; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + // Extra BDList + if ($iBdCnt > $i1stBdL) { + $iN=0; + $iNb=0; + for ($i = $i1stBdL; $i < $iBdCnt; $i++, ++$iN) { + if ($iN >= ($iBbCnt - 1)) { + $iN = 0; + ++$iNb; + fwrite($FILE, pack("V", $iAll+$iBdCnt+$iNb)); + } + fwrite($FILE, pack("V", $iBsize+$iSbdSize+$iPpsCnt+$i)); + } + if (($iBdCnt-$i1stBdL) % ($iBbCnt-1)) { + $iB = ($iBbCnt - 1) - (($iBdCnt - $i1stBdL) % ($iBbCnt - 1)); + for ($i = 0; $i < $iB; ++$i) { + fwrite($FILE, pack("V", -1)); + } + } + fwrite($FILE, pack("V", -2)); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php index 261bdde58..6b15d9700 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/OLERead.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,298 +20,299 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ defined('IDENTIFIER_OLE') || define('IDENTIFIER_OLE', pack('CCCCCCCC', 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1)); -class PHPExcel_Shared_OLERead { - private $data = ''; +class PHPExcel_Shared_OLERead +{ + private $data = ''; - // OLE identifier - const IDENTIFIER_OLE = IDENTIFIER_OLE; + // OLE identifier + const IDENTIFIER_OLE = IDENTIFIER_OLE; - // Size of a sector = 512 bytes - const BIG_BLOCK_SIZE = 0x200; + // Size of a sector = 512 bytes + const BIG_BLOCK_SIZE = 0x200; - // Size of a short sector = 64 bytes - const SMALL_BLOCK_SIZE = 0x40; + // Size of a short sector = 64 bytes + const SMALL_BLOCK_SIZE = 0x40; - // Size of a directory entry always = 128 bytes - const PROPERTY_STORAGE_BLOCK_SIZE = 0x80; + // Size of a directory entry always = 128 bytes + const PROPERTY_STORAGE_BLOCK_SIZE = 0x80; - // Minimum size of a standard stream = 4096 bytes, streams smaller than this are stored as short streams - const SMALL_BLOCK_THRESHOLD = 0x1000; + // Minimum size of a standard stream = 4096 bytes, streams smaller than this are stored as short streams + const SMALL_BLOCK_THRESHOLD = 0x1000; - // header offsets - const NUM_BIG_BLOCK_DEPOT_BLOCKS_POS = 0x2c; - const ROOT_START_BLOCK_POS = 0x30; - const SMALL_BLOCK_DEPOT_BLOCK_POS = 0x3c; - const EXTENSION_BLOCK_POS = 0x44; - const NUM_EXTENSION_BLOCK_POS = 0x48; - const BIG_BLOCK_DEPOT_BLOCKS_POS = 0x4c; + // header offsets + const NUM_BIG_BLOCK_DEPOT_BLOCKS_POS = 0x2c; + const ROOT_START_BLOCK_POS = 0x30; + const SMALL_BLOCK_DEPOT_BLOCK_POS = 0x3c; + const EXTENSION_BLOCK_POS = 0x44; + const NUM_EXTENSION_BLOCK_POS = 0x48; + const BIG_BLOCK_DEPOT_BLOCKS_POS = 0x4c; - // property storage offsets (directory offsets) - const SIZE_OF_NAME_POS = 0x40; - const TYPE_POS = 0x42; - const START_BLOCK_POS = 0x74; - const SIZE_POS = 0x78; + // property storage offsets (directory offsets) + const SIZE_OF_NAME_POS = 0x40; + const TYPE_POS = 0x42; + const START_BLOCK_POS = 0x74; + const SIZE_POS = 0x78; - public $wrkbook = null; - public $summaryInformation = null; - public $documentSummaryInformation = null; + public $wrkbook = null; + public $summaryInformation = null; + public $documentSummaryInformation = null; - /** - * Read the file - * - * @param $sFileName string Filename - * @throws PHPExcel_Reader_Exception - */ - public function read($sFileName) - { - // Check if file exists and is readable - if(!is_readable($sFileName)) { - throw new PHPExcel_Reader_Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable."); - } + /** + * Read the file + * + * @param $sFileName string Filename + * @throws PHPExcel_Reader_Exception + */ + public function read($sFileName) + { + // Check if file exists and is readable + if (!is_readable($sFileName)) { + throw new PHPExcel_Reader_Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable."); + } - // Get the file identifier - // Don't bother reading the whole file until we know it's a valid OLE file - $this->data = file_get_contents($sFileName, FALSE, NULL, 0, 8); + // Get the file identifier + // Don't bother reading the whole file until we know it's a valid OLE file + $this->data = file_get_contents($sFileName, false, null, 0, 8); - // Check OLE identifier - if ($this->data != self::IDENTIFIER_OLE) { - throw new PHPExcel_Reader_Exception('The filename ' . $sFileName . ' is not recognised as an OLE file'); - } + // Check OLE identifier + if ($this->data != self::IDENTIFIER_OLE) { + throw new PHPExcel_Reader_Exception('The filename ' . $sFileName . ' is not recognised as an OLE file'); + } - // Get the file data - $this->data = file_get_contents($sFileName); + // Get the file data + $this->data = file_get_contents($sFileName); - // Total number of sectors used for the SAT - $this->numBigBlockDepotBlocks = self::_GetInt4d($this->data, self::NUM_BIG_BLOCK_DEPOT_BLOCKS_POS); + // Total number of sectors used for the SAT + $this->numBigBlockDepotBlocks = self::getInt4d($this->data, self::NUM_BIG_BLOCK_DEPOT_BLOCKS_POS); - // SecID of the first sector of the directory stream - $this->rootStartBlock = self::_GetInt4d($this->data, self::ROOT_START_BLOCK_POS); + // SecID of the first sector of the directory stream + $this->rootStartBlock = self::getInt4d($this->data, self::ROOT_START_BLOCK_POS); - // SecID of the first sector of the SSAT (or -2 if not extant) - $this->sbdStartBlock = self::_GetInt4d($this->data, self::SMALL_BLOCK_DEPOT_BLOCK_POS); + // SecID of the first sector of the SSAT (or -2 if not extant) + $this->sbdStartBlock = self::getInt4d($this->data, self::SMALL_BLOCK_DEPOT_BLOCK_POS); - // SecID of the first sector of the MSAT (or -2 if no additional sectors are used) - $this->extensionBlock = self::_GetInt4d($this->data, self::EXTENSION_BLOCK_POS); + // SecID of the first sector of the MSAT (or -2 if no additional sectors are used) + $this->extensionBlock = self::getInt4d($this->data, self::EXTENSION_BLOCK_POS); - // Total number of sectors used by MSAT - $this->numExtensionBlocks = self::_GetInt4d($this->data, self::NUM_EXTENSION_BLOCK_POS); + // Total number of sectors used by MSAT + $this->numExtensionBlocks = self::getInt4d($this->data, self::NUM_EXTENSION_BLOCK_POS); - $bigBlockDepotBlocks = array(); - $pos = self::BIG_BLOCK_DEPOT_BLOCKS_POS; + $bigBlockDepotBlocks = array(); + $pos = self::BIG_BLOCK_DEPOT_BLOCKS_POS; - $bbdBlocks = $this->numBigBlockDepotBlocks; + $bbdBlocks = $this->numBigBlockDepotBlocks; - if ($this->numExtensionBlocks != 0) { - $bbdBlocks = (self::BIG_BLOCK_SIZE - self::BIG_BLOCK_DEPOT_BLOCKS_POS)/4; - } + if ($this->numExtensionBlocks != 0) { + $bbdBlocks = (self::BIG_BLOCK_SIZE - self::BIG_BLOCK_DEPOT_BLOCKS_POS)/4; + } - for ($i = 0; $i < $bbdBlocks; ++$i) { - $bigBlockDepotBlocks[$i] = self::_GetInt4d($this->data, $pos); - $pos += 4; - } + for ($i = 0; $i < $bbdBlocks; ++$i) { + $bigBlockDepotBlocks[$i] = self::getInt4d($this->data, $pos); + $pos += 4; + } - for ($j = 0; $j < $this->numExtensionBlocks; ++$j) { - $pos = ($this->extensionBlock + 1) * self::BIG_BLOCK_SIZE; - $blocksToRead = min($this->numBigBlockDepotBlocks - $bbdBlocks, self::BIG_BLOCK_SIZE / 4 - 1); + for ($j = 0; $j < $this->numExtensionBlocks; ++$j) { + $pos = ($this->extensionBlock + 1) * self::BIG_BLOCK_SIZE; + $blocksToRead = min($this->numBigBlockDepotBlocks - $bbdBlocks, self::BIG_BLOCK_SIZE / 4 - 1); - for ($i = $bbdBlocks; $i < $bbdBlocks + $blocksToRead; ++$i) { - $bigBlockDepotBlocks[$i] = self::_GetInt4d($this->data, $pos); - $pos += 4; - } + for ($i = $bbdBlocks; $i < $bbdBlocks + $blocksToRead; ++$i) { + $bigBlockDepotBlocks[$i] = self::getInt4d($this->data, $pos); + $pos += 4; + } - $bbdBlocks += $blocksToRead; - if ($bbdBlocks < $this->numBigBlockDepotBlocks) { - $this->extensionBlock = self::_GetInt4d($this->data, $pos); - } - } + $bbdBlocks += $blocksToRead; + if ($bbdBlocks < $this->numBigBlockDepotBlocks) { + $this->extensionBlock = self::getInt4d($this->data, $pos); + } + } - $pos = 0; - $this->bigBlockChain = ''; - $bbs = self::BIG_BLOCK_SIZE / 4; - for ($i = 0; $i < $this->numBigBlockDepotBlocks; ++$i) { - $pos = ($bigBlockDepotBlocks[$i] + 1) * self::BIG_BLOCK_SIZE; + $pos = 0; + $this->bigBlockChain = ''; + $bbs = self::BIG_BLOCK_SIZE / 4; + for ($i = 0; $i < $this->numBigBlockDepotBlocks; ++$i) { + $pos = ($bigBlockDepotBlocks[$i] + 1) * self::BIG_BLOCK_SIZE; - $this->bigBlockChain .= substr($this->data, $pos, 4*$bbs); - $pos += 4*$bbs; - } + $this->bigBlockChain .= substr($this->data, $pos, 4*$bbs); + $pos += 4*$bbs; + } - $pos = 0; - $sbdBlock = $this->sbdStartBlock; - $this->smallBlockChain = ''; - while ($sbdBlock != -2) { - $pos = ($sbdBlock + 1) * self::BIG_BLOCK_SIZE; + $pos = 0; + $sbdBlock = $this->sbdStartBlock; + $this->smallBlockChain = ''; + while ($sbdBlock != -2) { + $pos = ($sbdBlock + 1) * self::BIG_BLOCK_SIZE; - $this->smallBlockChain .= substr($this->data, $pos, 4*$bbs); - $pos += 4*$bbs; + $this->smallBlockChain .= substr($this->data, $pos, 4*$bbs); + $pos += 4*$bbs; - $sbdBlock = self::_GetInt4d($this->bigBlockChain, $sbdBlock*4); - } + $sbdBlock = self::getInt4d($this->bigBlockChain, $sbdBlock*4); + } - // read the directory stream - $block = $this->rootStartBlock; - $this->entry = $this->_readData($block); + // read the directory stream + $block = $this->rootStartBlock; + $this->entry = $this->_readData($block); - $this->_readPropertySets(); - } + $this->readPropertySets(); + } - /** - * Extract binary stream data - * - * @return string - */ - public function getStream($stream) - { - if ($stream === NULL) { - return null; - } + /** + * Extract binary stream data + * + * @return string + */ + public function getStream($stream) + { + if ($stream === null) { + return null; + } - $streamData = ''; + $streamData = ''; - if ($this->props[$stream]['size'] < self::SMALL_BLOCK_THRESHOLD) { - $rootdata = $this->_readData($this->props[$this->rootentry]['startBlock']); + if ($this->props[$stream]['size'] < self::SMALL_BLOCK_THRESHOLD) { + $rootdata = $this->_readData($this->props[$this->rootentry]['startBlock']); - $block = $this->props[$stream]['startBlock']; + $block = $this->props[$stream]['startBlock']; - while ($block != -2) { - $pos = $block * self::SMALL_BLOCK_SIZE; - $streamData .= substr($rootdata, $pos, self::SMALL_BLOCK_SIZE); + while ($block != -2) { + $pos = $block * self::SMALL_BLOCK_SIZE; + $streamData .= substr($rootdata, $pos, self::SMALL_BLOCK_SIZE); - $block = self::_GetInt4d($this->smallBlockChain, $block*4); - } + $block = self::getInt4d($this->smallBlockChain, $block*4); + } - return $streamData; - } else { - $numBlocks = $this->props[$stream]['size'] / self::BIG_BLOCK_SIZE; - if ($this->props[$stream]['size'] % self::BIG_BLOCK_SIZE != 0) { - ++$numBlocks; - } + return $streamData; + } else { + $numBlocks = $this->props[$stream]['size'] / self::BIG_BLOCK_SIZE; + if ($this->props[$stream]['size'] % self::BIG_BLOCK_SIZE != 0) { + ++$numBlocks; + } - if ($numBlocks == 0) return ''; + if ($numBlocks == 0) { + return ''; + } - $block = $this->props[$stream]['startBlock']; + $block = $this->props[$stream]['startBlock']; - while ($block != -2) { - $pos = ($block + 1) * self::BIG_BLOCK_SIZE; - $streamData .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); - $block = self::_GetInt4d($this->bigBlockChain, $block*4); - } + while ($block != -2) { + $pos = ($block + 1) * self::BIG_BLOCK_SIZE; + $streamData .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); + $block = self::getInt4d($this->bigBlockChain, $block*4); + } - return $streamData; - } - } + return $streamData; + } + } - /** - * Read a standard stream (by joining sectors using information from SAT) - * - * @param int $bl Sector ID where the stream starts - * @return string Data for standard stream - */ - private function _readData($bl) - { - $block = $bl; - $data = ''; + /** + * Read a standard stream (by joining sectors using information from SAT) + * + * @param int $bl Sector ID where the stream starts + * @return string Data for standard stream + */ + private function _readData($bl) + { + $block = $bl; + $data = ''; - while ($block != -2) { - $pos = ($block + 1) * self::BIG_BLOCK_SIZE; - $data .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); - $block = self::_GetInt4d($this->bigBlockChain, $block*4); - } - return $data; - } + while ($block != -2) { + $pos = ($block + 1) * self::BIG_BLOCK_SIZE; + $data .= substr($this->data, $pos, self::BIG_BLOCK_SIZE); + $block = self::getInt4d($this->bigBlockChain, $block*4); + } + return $data; + } - /** - * Read entries in the directory stream. - */ - private function _readPropertySets() { - $offset = 0; + /** + * Read entries in the directory stream. + */ + private function readPropertySets() + { + $offset = 0; - // loop through entires, each entry is 128 bytes - $entryLen = strlen($this->entry); - while ($offset < $entryLen) { - // entry data (128 bytes) - $d = substr($this->entry, $offset, self::PROPERTY_STORAGE_BLOCK_SIZE); + // loop through entires, each entry is 128 bytes + $entryLen = strlen($this->entry); + while ($offset < $entryLen) { + // entry data (128 bytes) + $d = substr($this->entry, $offset, self::PROPERTY_STORAGE_BLOCK_SIZE); - // size in bytes of name - $nameSize = ord($d[self::SIZE_OF_NAME_POS]) | (ord($d[self::SIZE_OF_NAME_POS+1]) << 8); + // size in bytes of name + $nameSize = ord($d[self::SIZE_OF_NAME_POS]) | (ord($d[self::SIZE_OF_NAME_POS+1]) << 8); - // type of entry - $type = ord($d[self::TYPE_POS]); + // type of entry + $type = ord($d[self::TYPE_POS]); - // sectorID of first sector or short sector, if this entry refers to a stream (the case with workbook) - // sectorID of first sector of the short-stream container stream, if this entry is root entry - $startBlock = self::_GetInt4d($d, self::START_BLOCK_POS); + // sectorID of first sector or short sector, if this entry refers to a stream (the case with workbook) + // sectorID of first sector of the short-stream container stream, if this entry is root entry + $startBlock = self::getInt4d($d, self::START_BLOCK_POS); - $size = self::_GetInt4d($d, self::SIZE_POS); + $size = self::getInt4d($d, self::SIZE_POS); - $name = str_replace("\x00", "", substr($d,0,$nameSize)); + $name = str_replace("\x00", "", substr($d, 0, $nameSize)); + $this->props[] = array( + 'name' => $name, + 'type' => $type, + 'startBlock' => $startBlock, + 'size' => $size + ); - $this->props[] = array ( - 'name' => $name, - 'type' => $type, - 'startBlock' => $startBlock, - 'size' => $size); + // tmp helper to simplify checks + $upName = strtoupper($name); - // tmp helper to simplify checks - $upName = strtoupper($name); + // Workbook directory entry (BIFF5 uses Book, BIFF8 uses Workbook) + if (($upName === 'WORKBOOK') || ($upName === 'BOOK')) { + $this->wrkbook = count($this->props) - 1; + } elseif ($upName === 'ROOT ENTRY' || $upName === 'R') { + // Root entry + $this->rootentry = count($this->props) - 1; + } - // Workbook directory entry (BIFF5 uses Book, BIFF8 uses Workbook) - if (($upName === 'WORKBOOK') || ($upName === 'BOOK')) { - $this->wrkbook = count($this->props) - 1; - } - else if ( $upName === 'ROOT ENTRY' || $upName === 'R') { - // Root entry - $this->rootentry = count($this->props) - 1; - } + // Summary information + if ($name == chr(5) . 'SummaryInformation') { +// echo 'Summary Information<br />'; + $this->summaryInformation = count($this->props) - 1; + } - // Summary information - if ($name == chr(5) . 'SummaryInformation') { -// echo 'Summary Information<br />'; - $this->summaryInformation = count($this->props) - 1; - } + // Additional Document Summary information + if ($name == chr(5) . 'DocumentSummaryInformation') { +// echo 'Document Summary Information<br />'; + $this->documentSummaryInformation = count($this->props) - 1; + } - // Additional Document Summary information - if ($name == chr(5) . 'DocumentSummaryInformation') { -// echo 'Document Summary Information<br />'; - $this->documentSummaryInformation = count($this->props) - 1; - } - - $offset += self::PROPERTY_STORAGE_BLOCK_SIZE; - } - - } - - /** - * Read 4 bytes of data at specified position - * - * @param string $data - * @param int $pos - * @return int - */ - private static function _GetInt4d($data, $pos) - { - // FIX: represent numbers correctly on 64-bit system - // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 - // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems - $_or_24 = ord($data[$pos + 3]); - if ($_or_24 >= 128) { - // negative number - $_ord_24 = -abs((256 - $_or_24) << 24); - } else { - $_ord_24 = ($_or_24 & 127) << 24; - } - return ord($data[$pos]) | (ord($data[$pos + 1]) << 8) | (ord($data[$pos + 2]) << 16) | $_ord_24; - } + $offset += self::PROPERTY_STORAGE_BLOCK_SIZE; + } + } + /** + * Read 4 bytes of data at specified position + * + * @param string $data + * @param int $pos + * @return int + */ + private static function getInt4d($data, $pos) + { + // FIX: represent numbers correctly on 64-bit system + // http://sourceforge.net/tracker/index.php?func=detail&aid=1487372&group_id=99160&atid=623334 + // Hacked by Andreas Rehm 2006 to ensure correct result of the <<24 block on 32 and 64bit systems + $_or_24 = ord($data[$pos + 3]); + if ($_or_24 >= 128) { + // negative number + $_ord_24 = -abs((256 - $_or_24) << 24); + } else { + $_ord_24 = ($_or_24 & 127) << 24; + } + return ord($data[$pos]) | (ord($data[$pos + 1]) << 8) | (ord($data[$pos + 2]) << 16) | $_ord_24; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php index 7d1936aa2..a5a9b0a8b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PCLZip/pclzip.lib.php @@ -7,4944 +7,2169 @@ // -------------------------------------------------------------------------------- // // Presentation : -// PclZip is a PHP library that manage ZIP archives. -// So far tests show that archives generated by PclZip are readable by -// WinZip application and other tools. +// PclZip is a PHP library that manage ZIP archives. +// So far tests show that archives generated by PclZip are readable by +// WinZip application and other tools. // // Description : -// See readme.txt and http://www.phpconcept.net +// See readme.txt and http://www.phpconcept.net // // Warning : -// This library and the associated files are non commercial, non professional -// work. -// It should not have unexpected results. However if any damage is caused by -// this software the author can not be responsible. -// The use of this software is at the risk of the user. +// This library and the associated files are non commercial, non professional +// work. +// It should not have unexpected results. However if any damage is caused by +// this software the author can not be responsible. +// The use of this software is at the risk of the user. // // -------------------------------------------------------------------------------- // $Id: pclzip.lib.php,v 1.60 2009/09/30 21:01:04 vblavet Exp $ // -------------------------------------------------------------------------------- - // ----- Constants - if (!defined('PCLZIP_READ_BLOCK_SIZE')) { - define( 'PCLZIP_READ_BLOCK_SIZE', 2048 ); - } - - // ----- File list separator - // In version 1.x of PclZip, the separator for file list is a space - // (which is not a very smart choice, specifically for windows paths !). - // A better separator should be a comma (,). This constant gives you the - // abilty to change that. - // However notice that changing this value, may have impact on existing - // scripts, using space separated filenames. - // Recommanded values for compatibility with older versions : - //define( 'PCLZIP_SEPARATOR', ' ' ); - // Recommanded values for smart separation of filenames. - if (!defined('PCLZIP_SEPARATOR')) { - define( 'PCLZIP_SEPARATOR', ',' ); - } +// ----- Constants +if (!defined('PCLZIP_READ_BLOCK_SIZE')) { + define('PCLZIP_READ_BLOCK_SIZE', 2048); +} - // ----- Error configuration - // 0 : PclZip Class integrated error handling - // 1 : PclError external library error handling. By enabling this - // you must ensure that you have included PclError library. - // [2,...] : reserved for futur use - if (!defined('PCLZIP_ERROR_EXTERNAL')) { - define( 'PCLZIP_ERROR_EXTERNAL', 0 ); - } +// ----- File list separator +// In version 1.x of PclZip, the separator for file list is a space +// (which is not a very smart choice, specifically for windows paths !). +// A better separator should be a comma (,). This constant gives you the +// abilty to change that. +// However notice that changing this value, may have impact on existing +// scripts, using space separated filenames. +// Recommanded values for compatibility with older versions : +//define('PCLZIP_SEPARATOR', ' '); +// Recommanded values for smart separation of filenames. +if (!defined('PCLZIP_SEPARATOR')) { + define('PCLZIP_SEPARATOR', ','); +} - // ----- Optional static temporary directory - // By default temporary files are generated in the script current - // path. - // If defined : - // - MUST BE terminated by a '/'. - // - MUST be a valid, already created directory - // Samples : - // define( 'PCLZIP_TEMPORARY_DIR', '/temp/' ); - // define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' ); - if (!defined('PCLZIP_TEMPORARY_DIR')) { - define( 'PCLZIP_TEMPORARY_DIR', '' ); - } +// ----- Error configuration +// 0 : PclZip Class integrated error handling +// 1 : PclError external library error handling. By enabling this +// you must ensure that you have included PclError library. +// [2,...] : reserved for futur use +if (!defined('PCLZIP_ERROR_EXTERNAL')) { + define('PCLZIP_ERROR_EXTERNAL', 0); +} - // ----- Optional threshold ratio for use of temporary files - // Pclzip sense the size of the file to add/extract and decide to - // use or not temporary file. The algorythm is looking for - // memory_limit of PHP and apply a ratio. - // threshold = memory_limit * ratio. - // Recommended values are under 0.5. Default 0.47. - // Samples : - // define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.5 ); - if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) { - define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.47 ); - } +// ----- Optional static temporary directory +// By default temporary files are generated in the script current +// path. +// If defined : +// - MUST BE terminated by a '/'. +// - MUST be a valid, already created directory +// Samples : +// define('PCLZIP_TEMPORARY_DIR', '/temp/'); +// define('PCLZIP_TEMPORARY_DIR', 'C:/Temp/'); +if (!defined('PCLZIP_TEMPORARY_DIR')) { + define('PCLZIP_TEMPORARY_DIR', ''); +} + +// ----- Optional threshold ratio for use of temporary files +// Pclzip sense the size of the file to add/extract and decide to +// use or not temporary file. The algorythm is looking for +// memory_limit of PHP and apply a ratio. +// threshold = memory_limit * ratio. +// Recommended values are under 0.5. Default 0.47. +// Samples : +// define('PCLZIP_TEMPORARY_FILE_RATIO', 0.5); +if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) { + define('PCLZIP_TEMPORARY_FILE_RATIO', 0.47); +} // -------------------------------------------------------------------------------- // ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED ***** // -------------------------------------------------------------------------------- - // ----- Global variables - $g_pclzip_version = "2.8.2"; +// ----- Global variables +$g_pclzip_version = "2.8.2"; - // ----- Error codes - // -1 : Unable to open file in binary write mode - // -2 : Unable to open file in binary read mode - // -3 : Invalid parameters - // -4 : File does not exist - // -5 : Filename is too long (max. 255) - // -6 : Not a valid zip file - // -7 : Invalid extracted file size - // -8 : Unable to create directory - // -9 : Invalid archive extension - // -10 : Invalid archive format - // -11 : Unable to delete file (unlink) - // -12 : Unable to rename file (rename) - // -13 : Invalid header checksum - // -14 : Invalid archive size - define( 'PCLZIP_ERR_USER_ABORTED', 2 ); - define( 'PCLZIP_ERR_NO_ERROR', 0 ); - define( 'PCLZIP_ERR_WRITE_OPEN_FAIL', -1 ); - define( 'PCLZIP_ERR_READ_OPEN_FAIL', -2 ); - define( 'PCLZIP_ERR_INVALID_PARAMETER', -3 ); - define( 'PCLZIP_ERR_MISSING_FILE', -4 ); - define( 'PCLZIP_ERR_FILENAME_TOO_LONG', -5 ); - define( 'PCLZIP_ERR_INVALID_ZIP', -6 ); - define( 'PCLZIP_ERR_BAD_EXTRACTED_FILE', -7 ); - define( 'PCLZIP_ERR_DIR_CREATE_FAIL', -8 ); - define( 'PCLZIP_ERR_BAD_EXTENSION', -9 ); - define( 'PCLZIP_ERR_BAD_FORMAT', -10 ); - define( 'PCLZIP_ERR_DELETE_FILE_FAIL', -11 ); - define( 'PCLZIP_ERR_RENAME_FILE_FAIL', -12 ); - define( 'PCLZIP_ERR_BAD_CHECKSUM', -13 ); - define( 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14 ); - define( 'PCLZIP_ERR_MISSING_OPTION_VALUE', -15 ); - define( 'PCLZIP_ERR_INVALID_OPTION_VALUE', -16 ); - define( 'PCLZIP_ERR_ALREADY_A_DIRECTORY', -17 ); - define( 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18 ); - define( 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19 ); - define( 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20 ); - define( 'PCLZIP_ERR_DIRECTORY_RESTRICTION', -21 ); +// ----- Error codes +// -1 : Unable to open file in binary write mode +// -2 : Unable to open file in binary read mode +// -3 : Invalid parameters +// -4 : File does not exist +// -5 : Filename is too long (max. 255) +// -6 : Not a valid zip file +// -7 : Invalid extracted file size +// -8 : Unable to create directory +// -9 : Invalid archive extension +// -10 : Invalid archive format +// -11 : Unable to delete file (unlink) +// -12 : Unable to rename file (rename) +// -13 : Invalid header checksum +// -14 : Invalid archive size +define('PCLZIP_ERR_USER_ABORTED', 2); +define('PCLZIP_ERR_NO_ERROR', 0); +define('PCLZIP_ERR_WRITE_OPEN_FAIL', -1); +define('PCLZIP_ERR_READ_OPEN_FAIL', -2); +define('PCLZIP_ERR_INVALID_PARAMETER', -3); +define('PCLZIP_ERR_MISSING_FILE', -4); +define('PCLZIP_ERR_FILENAME_TOO_LONG', -5); +define('PCLZIP_ERR_INVALID_ZIP', -6); +define('PCLZIP_ERR_BAD_EXTRACTED_FILE', -7); +define('PCLZIP_ERR_DIR_CREATE_FAIL', -8); +define('PCLZIP_ERR_BAD_EXTENSION', -9); +define('PCLZIP_ERR_BAD_FORMAT', -10); +define('PCLZIP_ERR_DELETE_FILE_FAIL', -11); +define('PCLZIP_ERR_RENAME_FILE_FAIL', -12); +define('PCLZIP_ERR_BAD_CHECKSUM', -13); +define('PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14); +define('PCLZIP_ERR_MISSING_OPTION_VALUE', -15); +define('PCLZIP_ERR_INVALID_OPTION_VALUE', -16); +define('PCLZIP_ERR_ALREADY_A_DIRECTORY', -17); +define('PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18); +define('PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19); +define('PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20); +define('PCLZIP_ERR_DIRECTORY_RESTRICTION', -21); - // ----- Options values - define( 'PCLZIP_OPT_PATH', 77001 ); - define( 'PCLZIP_OPT_ADD_PATH', 77002 ); - define( 'PCLZIP_OPT_REMOVE_PATH', 77003 ); - define( 'PCLZIP_OPT_REMOVE_ALL_PATH', 77004 ); - define( 'PCLZIP_OPT_SET_CHMOD', 77005 ); - define( 'PCLZIP_OPT_EXTRACT_AS_STRING', 77006 ); - define( 'PCLZIP_OPT_NO_COMPRESSION', 77007 ); - define( 'PCLZIP_OPT_BY_NAME', 77008 ); - define( 'PCLZIP_OPT_BY_INDEX', 77009 ); - define( 'PCLZIP_OPT_BY_EREG', 77010 ); - define( 'PCLZIP_OPT_BY_PREG', 77011 ); - define( 'PCLZIP_OPT_COMMENT', 77012 ); - define( 'PCLZIP_OPT_ADD_COMMENT', 77013 ); - define( 'PCLZIP_OPT_PREPEND_COMMENT', 77014 ); - define( 'PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015 ); - define( 'PCLZIP_OPT_REPLACE_NEWER', 77016 ); - define( 'PCLZIP_OPT_STOP_ON_ERROR', 77017 ); - // Having big trouble with crypt. Need to multiply 2 long int - // which is not correctly supported by PHP ... - //define( 'PCLZIP_OPT_CRYPT', 77018 ); - define( 'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019 ); - define( 'PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020 ); - define( 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD', 77020 ); // alias - define( 'PCLZIP_OPT_TEMP_FILE_ON', 77021 ); - define( 'PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021 ); // alias - define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 ); - define( 'PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022 ); // alias - - // ----- File description attributes - define( 'PCLZIP_ATT_FILE_NAME', 79001 ); - define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 ); - define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 ); - define( 'PCLZIP_ATT_FILE_MTIME', 79004 ); - define( 'PCLZIP_ATT_FILE_CONTENT', 79005 ); - define( 'PCLZIP_ATT_FILE_COMMENT', 79006 ); +// ----- Options values +define('PCLZIP_OPT_PATH', 77001); +define('PCLZIP_OPT_ADD_PATH', 77002); +define('PCLZIP_OPT_REMOVE_PATH', 77003); +define('PCLZIP_OPT_REMOVE_ALL_PATH', 77004); +define('PCLZIP_OPT_SET_CHMOD', 77005); +define('PCLZIP_OPT_EXTRACT_AS_STRING', 77006); +define('PCLZIP_OPT_NO_COMPRESSION', 77007); +define('PCLZIP_OPT_BY_NAME', 77008); +define('PCLZIP_OPT_BY_INDEX', 77009); +define('PCLZIP_OPT_BY_EREG', 77010); +define('PCLZIP_OPT_BY_PREG', 77011); +define('PCLZIP_OPT_COMMENT', 77012); +define('PCLZIP_OPT_ADD_COMMENT', 77013); +define('PCLZIP_OPT_PREPEND_COMMENT', 77014); +define('PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015); +define('PCLZIP_OPT_REPLACE_NEWER', 77016); +define('PCLZIP_OPT_STOP_ON_ERROR', 77017); +// Having big trouble with crypt. Need to multiply 2 long int +// which is not correctly supported by PHP ... +//define('PCLZIP_OPT_CRYPT', 77018); +define('PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019); +define('PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020); +define('PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD', 77020); // alias +define('PCLZIP_OPT_TEMP_FILE_ON', 77021); +define('PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021); // alias +define('PCLZIP_OPT_TEMP_FILE_OFF', 77022); +define('PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022); // alias - // ----- Call backs values - define( 'PCLZIP_CB_PRE_EXTRACT', 78001 ); - define( 'PCLZIP_CB_POST_EXTRACT', 78002 ); - define( 'PCLZIP_CB_PRE_ADD', 78003 ); - define( 'PCLZIP_CB_POST_ADD', 78004 ); - /* For futur use - define( 'PCLZIP_CB_PRE_LIST', 78005 ); - define( 'PCLZIP_CB_POST_LIST', 78006 ); - define( 'PCLZIP_CB_PRE_DELETE', 78007 ); - define( 'PCLZIP_CB_POST_DELETE', 78008 ); - */ +// ----- File description attributes +define('PCLZIP_ATT_FILE_NAME', 79001); +define('PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002); +define('PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003); +define('PCLZIP_ATT_FILE_MTIME', 79004); +define('PCLZIP_ATT_FILE_CONTENT', 79005); +define('PCLZIP_ATT_FILE_COMMENT', 79006); - // -------------------------------------------------------------------------------- - // Class : PclZip - // Description : - // PclZip is the class that represent a Zip archive. - // The public methods allow the manipulation of the archive. - // Attributes : - // Attributes must not be accessed directly. - // Methods : - // PclZip() : Object creator - // create() : Creates the Zip archive - // listContent() : List the content of the Zip archive - // extract() : Extract the content of the archive - // properties() : List the properties of the archive - // -------------------------------------------------------------------------------- - class PclZip - { +// ----- Call backs values +define('PCLZIP_CB_PRE_EXTRACT', 78001); +define('PCLZIP_CB_POST_EXTRACT', 78002); +define('PCLZIP_CB_PRE_ADD', 78003); +define('PCLZIP_CB_POST_ADD', 78004); +/* For futur use +define('PCLZIP_CB_PRE_LIST', 78005); +define('PCLZIP_CB_POST_LIST', 78006); +define('PCLZIP_CB_PRE_DELETE', 78007); +define('PCLZIP_CB_POST_DELETE', 78008); +*/ + +// -------------------------------------------------------------------------------- +// Class : PclZip +// Description : +// PclZip is the class that represent a Zip archive. +// The public methods allow the manipulation of the archive. +// Attributes : +// Attributes must not be accessed directly. +// Methods : +// PclZip() : Object creator +// create() : Creates the Zip archive +// listContent() : List the content of the Zip archive +// extract() : Extract the content of the archive +// properties() : List the properties of the archive +// -------------------------------------------------------------------------------- +class PclZip +{ // ----- Filename of the zip file - var $zipname = ''; + public $zipname = ''; // ----- File descriptor of the zip file - var $zip_fd = 0; + public $zip_fd = 0; // ----- Internal error handling - var $error_code = 1; - var $error_string = ''; - + public $error_code = 1; + public $error_string = ''; + // ----- Current status of the magic_quotes_runtime // This value store the php configuration for magic_quotes // The class can then disable the magic_quotes and reset it after - var $magic_quotes_status; + public $magic_quotes_status; - // -------------------------------------------------------------------------------- - // Function : PclZip() - // Description : - // Creates a PclZip object and set the name of the associated Zip archive - // filename. - // Note that no real action is taken, if the archive does not exist it is not - // created. Use create() for that. - // -------------------------------------------------------------------------------- - function PclZip($p_zipname) - { - - // ----- Tests the zlib - if (!function_exists('gzopen')) + // -------------------------------------------------------------------------------- + // Function : PclZip() + // Description : + // Creates a PclZip object and set the name of the associated Zip archive + // filename. + // Note that no real action is taken, if the archive does not exist it is not + // created. Use create() for that. + // -------------------------------------------------------------------------------- + public function __construct($p_zipname) { - die('Abort '.basename(__FILE__).' : Missing zlib extensions'); + + // ----- Tests the zlib + if (!function_exists('gzopen')) { + die('Abort '.basename(__FILE__).' : Missing zlib extensions'); + } + + // ----- Set the attributes + $this->zipname = $p_zipname; + $this->zip_fd = 0; + $this->magic_quotes_status = -1; + + // ----- Return + return; } + // -------------------------------------------------------------------------------- - // ----- Set the attributes - $this->zipname = $p_zipname; - $this->zip_fd = 0; - $this->magic_quotes_status = -1; + // -------------------------------------------------------------------------------- + // Function : + // create($p_filelist, $p_add_dir="", $p_remove_dir="") + // create($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two different synopsis. The first one is historical. + // This method creates a Zip Archive. The Zip file is created in the + // filesystem. The files and directories indicated in $p_filelist + // are added in the archive. See the parameters description for the + // supported format of $p_filelist. + // When a directory is in the list, the directory and its content is added + // in the archive. + // In this synopsis, the function takes an optional variable list of + // options. See bellow the supported options. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + public function create($p_filelist) + { + $v_result=1; - // ----- Return - return; - } - // -------------------------------------------------------------------------------- + // ----- Reset the error handler + $this->privErrorReset(); - // -------------------------------------------------------------------------------- - // Function : - // create($p_filelist, $p_add_dir="", $p_remove_dir="") - // create($p_filelist, $p_option, $p_option_value, ...) - // Description : - // This method supports two different synopsis. The first one is historical. - // This method creates a Zip Archive. The Zip file is created in the - // filesystem. The files and directories indicated in $p_filelist - // are added in the archive. See the parameters description for the - // supported format of $p_filelist. - // When a directory is in the list, the directory and its content is added - // in the archive. - // In this synopsis, the function takes an optional variable list of - // options. See bellow the supported options. - // Parameters : - // $p_filelist : An array containing file or directory names, or - // a string containing one filename or one directory name, or - // a string containing a list of filenames and/or directory - // names separated by spaces. - // $p_add_dir : A path to add before the real path of the archived file, - // in order to have it memorized in the archive. - // $p_remove_dir : A path to remove from the real path of the file to archive, - // in order to have a shorter path memorized in the archive. - // When $p_add_dir and $p_remove_dir are set, $p_remove_dir - // is removed first, before $p_add_dir is added. - // Options : - // PCLZIP_OPT_ADD_PATH : - // PCLZIP_OPT_REMOVE_PATH : - // PCLZIP_OPT_REMOVE_ALL_PATH : - // PCLZIP_OPT_COMMENT : - // PCLZIP_CB_PRE_ADD : - // PCLZIP_CB_POST_ADD : - // Return Values : - // 0 on failure, - // The list of the added files, with a status of the add action. - // (see PclZip::listContent() for list entry format) - // -------------------------------------------------------------------------------- - function create($p_filelist) - { - $v_result=1; + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = false; - // ----- Reset the error handler - $this->privErrorReset(); + // ----- Look for variable options arguments + $v_size = func_num_args(); - // ----- Set default values - $v_options = array(); - $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); - // ----- Look for variable options arguments - $v_size = func_num_args(); + // ----- Remove from the options list the first argument + array_shift($v_arg_list); + $v_size--; - // ----- Look for arguments - if ($v_size > 1) { - // ----- Get the arguments - $v_arg_list = func_get_args(); + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array ( + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } else { + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0]; - // ----- Remove from the options list the first argument - array_shift($v_arg_list); - $v_size--; + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } elseif ($v_size > 2) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + return 0; + } + } + } - // ----- Look for first arg - if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); - // ----- Parse the options - $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, - array (PCLZIP_OPT_REMOVE_PATH => 'optional', - PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', - PCLZIP_OPT_ADD_PATH => 'optional', - PCLZIP_CB_PRE_ADD => 'optional', - PCLZIP_CB_POST_ADD => 'optional', - PCLZIP_OPT_NO_COMPRESSION => 'optional', - PCLZIP_OPT_COMMENT => 'optional', - PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', - PCLZIP_OPT_TEMP_FILE_ON => 'optional', - PCLZIP_OPT_TEMP_FILE_OFF => 'optional' - //, PCLZIP_OPT_CRYPT => 'optional' - )); + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } else { + // ----- The list is a list of string names + $v_string_list = $p_filelist; + } + } elseif (is_string($p_filelist)) { + // ----- Look if the $p_filelist is a string + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } else { + // ----- Invalid variable type for $p_filelist + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + if ($v_string != '') { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } else { + } + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes = array( + PCLZIP_ATT_FILE_NAME => 'mandatory', + PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional', + PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional', + PCLZIP_ATT_FILE_MTIME => 'optional', + PCLZIP_ATT_FILE_CONTENT => 'optional', + PCLZIP_ATT_FILE_COMMENT => 'optional' + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, $v_filedescr_list[], $v_options, $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); if ($v_result != 1) { - return 0; + return 0; } - } - // ----- Look for 2 args - // Here we need to support the first historic synopsis of the - // method. - else { - - // ----- Get the first argument - $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0]; - - // ----- Look for the optional second argument - if ($v_size == 2) { - $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; - } - else if ($v_size > 2) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, - "Invalid number / type of arguments"); - return 0; - } - } - } - - // ----- Look for default option values - $this->privOptionDefaultThreshold($v_options); - - // ----- Init - $v_string_list = array(); - $v_att_list = array(); - $v_filedescr_list = array(); - $p_result_list = array(); - - // ----- Look if the $p_filelist is really an array - if (is_array($p_filelist)) { - - // ----- Look if the first element is also an array - // This will mean that this is a file description entry - if (isset($p_filelist[0]) && is_array($p_filelist[0])) { - $v_att_list = $p_filelist; - } - - // ----- The list is a list of string names - else { - $v_string_list = $p_filelist; - } - } - - // ----- Look if the $p_filelist is a string - else if (is_string($p_filelist)) { - // ----- Create a list from the string - $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); - } - - // ----- Invalid variable type for $p_filelist - else { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); - return 0; - } - - // ----- Reformat the string list - if (sizeof($v_string_list) != 0) { - foreach ($v_string_list as $v_string) { - if ($v_string != '') { - $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; - } - else { - } - } - } - - // ----- For each file in the list check the attributes - $v_supported_attributes - = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' - ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' - ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' - ,PCLZIP_ATT_FILE_MTIME => 'optional' - ,PCLZIP_ATT_FILE_CONTENT => 'optional' - ,PCLZIP_ATT_FILE_COMMENT => 'optional' - ); - foreach ($v_att_list as $v_entry) { - $v_result = $this->privFileDescrParseAtt($v_entry, - $v_filedescr_list[], - $v_options, - $v_supported_attributes); - if ($v_result != 1) { - return 0; - } - } - - // ----- Expand the filelist (expand directories) - $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); - if ($v_result != 1) { - return 0; - } - - // ----- Call the create fct - $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options); - if ($v_result != 1) { - return 0; - } - - // ----- Return - return $p_result_list; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : - // add($p_filelist, $p_add_dir="", $p_remove_dir="") - // add($p_filelist, $p_option, $p_option_value, ...) - // Description : - // This method supports two synopsis. The first one is historical. - // This methods add the list of files in an existing archive. - // If a file with the same name already exists, it is added at the end of the - // archive, the first one is still present. - // If the archive does not exist, it is created. - // Parameters : - // $p_filelist : An array containing file or directory names, or - // a string containing one filename or one directory name, or - // a string containing a list of filenames and/or directory - // names separated by spaces. - // $p_add_dir : A path to add before the real path of the archived file, - // in order to have it memorized in the archive. - // $p_remove_dir : A path to remove from the real path of the file to archive, - // in order to have a shorter path memorized in the archive. - // When $p_add_dir and $p_remove_dir are set, $p_remove_dir - // is removed first, before $p_add_dir is added. - // Options : - // PCLZIP_OPT_ADD_PATH : - // PCLZIP_OPT_REMOVE_PATH : - // PCLZIP_OPT_REMOVE_ALL_PATH : - // PCLZIP_OPT_COMMENT : - // PCLZIP_OPT_ADD_COMMENT : - // PCLZIP_OPT_PREPEND_COMMENT : - // PCLZIP_CB_PRE_ADD : - // PCLZIP_CB_POST_ADD : - // Return Values : - // 0 on failure, - // The list of the added files, with a status of the add action. - // (see PclZip::listContent() for list entry format) - // -------------------------------------------------------------------------------- - function add($p_filelist) - { - $v_result=1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Set default values - $v_options = array(); - $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; - - // ----- Look for variable options arguments - $v_size = func_num_args(); - - // ----- Look for arguments - if ($v_size > 1) { - // ----- Get the arguments - $v_arg_list = func_get_args(); - - // ----- Remove form the options list the first argument - array_shift($v_arg_list); - $v_size--; - - // ----- Look for first arg - if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { - - // ----- Parse the options - $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, - array (PCLZIP_OPT_REMOVE_PATH => 'optional', - PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', - PCLZIP_OPT_ADD_PATH => 'optional', - PCLZIP_CB_PRE_ADD => 'optional', - PCLZIP_CB_POST_ADD => 'optional', - PCLZIP_OPT_NO_COMPRESSION => 'optional', - PCLZIP_OPT_COMMENT => 'optional', - PCLZIP_OPT_ADD_COMMENT => 'optional', - PCLZIP_OPT_PREPEND_COMMENT => 'optional', - PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', - PCLZIP_OPT_TEMP_FILE_ON => 'optional', - PCLZIP_OPT_TEMP_FILE_OFF => 'optional' - //, PCLZIP_OPT_CRYPT => 'optional' - )); + // ----- Call the create fct + $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options); if ($v_result != 1) { - return 0; + return 0; } - } - // ----- Look for 2 args - // Here we need to support the first historic synopsis of the - // method. - else { - - // ----- Get the first argument - $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0]; - - // ----- Look for the optional second argument - if ($v_size == 2) { - $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; - } - else if ($v_size > 2) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); - - // ----- Return - return 0; - } - } + // ----- Return + return $p_result_list; } + // -------------------------------------------------------------------------------- - // ----- Look for default option values - $this->privOptionDefaultThreshold($v_options); - - // ----- Init - $v_string_list = array(); - $v_att_list = array(); - $v_filedescr_list = array(); - $p_result_list = array(); - - // ----- Look if the $p_filelist is really an array - if (is_array($p_filelist)) { - - // ----- Look if the first element is also an array - // This will mean that this is a file description entry - if (isset($p_filelist[0]) && is_array($p_filelist[0])) { - $v_att_list = $p_filelist; - } - - // ----- The list is a list of string names - else { - $v_string_list = $p_filelist; - } - } - - // ----- Look if the $p_filelist is a string - else if (is_string($p_filelist)) { - // ----- Create a list from the string - $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); - } - - // ----- Invalid variable type for $p_filelist - else { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist"); - return 0; - } - - // ----- Reformat the string list - if (sizeof($v_string_list) != 0) { - foreach ($v_string_list as $v_string) { - $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; - } - } - - // ----- For each file in the list check the attributes - $v_supported_attributes - = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' - ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' - ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' - ,PCLZIP_ATT_FILE_MTIME => 'optional' - ,PCLZIP_ATT_FILE_CONTENT => 'optional' - ,PCLZIP_ATT_FILE_COMMENT => 'optional' - ); - foreach ($v_att_list as $v_entry) { - $v_result = $this->privFileDescrParseAtt($v_entry, - $v_filedescr_list[], - $v_options, - $v_supported_attributes); - if ($v_result != 1) { - return 0; - } - } - - // ----- Expand the filelist (expand directories) - $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); - if ($v_result != 1) { - return 0; - } - - // ----- Call the create fct - $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options); - if ($v_result != 1) { - return 0; - } - - // ----- Return - return $p_result_list; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : listContent() - // Description : - // This public method, gives the list of the files and directories, with their - // properties. - // The properties of each entries in the list are (used also in other functions) : - // filename : Name of the file. For a create or add action it is the filename - // given by the user. For an extract function it is the filename - // of the extracted file. - // stored_filename : Name of the file / directory stored in the archive. - // size : Size of the stored file. - // compressed_size : Size of the file's data compressed in the archive - // (without the headers overhead) - // mtime : Last known modification date of the file (UNIX timestamp) - // comment : Comment associated with the file - // folder : true | false - // index : index of the file in the archive - // status : status of the action (depending of the action) : - // Values are : - // ok : OK ! - // filtered : the file / dir is not extracted (filtered by user) - // already_a_directory : the file can not be extracted because a - // directory with the same name already exists - // write_protected : the file can not be extracted because a file - // with the same name already exists and is - // write protected - // newer_exist : the file was not extracted because a newer file exists - // path_creation_fail : the file is not extracted because the folder - // does not exist and can not be created - // write_error : the file was not extracted because there was a - // error while writing the file - // read_error : the file was not extracted because there was a error - // while reading the file - // invalid_header : the file was not extracted because of an archive - // format error (bad file header) - // Note that each time a method can continue operating when there - // is an action error on a file, the error is only logged in the file status. - // Return Values : - // 0 on an unrecoverable failure, - // The list of the files in the archive. - // -------------------------------------------------------------------------------- - function listContent() - { - $v_result=1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Check archive - if (!$this->privCheckFormat()) { - return(0); - } - - // ----- Call the extracting fct - $p_list = array(); - if (($v_result = $this->privList($p_list)) != 1) + // -------------------------------------------------------------------------------- + // Function : + // add($p_filelist, $p_add_dir="", $p_remove_dir="") + // add($p_filelist, $p_option, $p_option_value, ...) + // Description : + // This method supports two synopsis. The first one is historical. + // This methods add the list of files in an existing archive. + // If a file with the same name already exists, it is added at the end of the + // archive, the first one is still present. + // If the archive does not exist, it is created. + // Parameters : + // $p_filelist : An array containing file or directory names, or + // a string containing one filename or one directory name, or + // a string containing a list of filenames and/or directory + // names separated by spaces. + // $p_add_dir : A path to add before the real path of the archived file, + // in order to have it memorized in the archive. + // $p_remove_dir : A path to remove from the real path of the file to archive, + // in order to have a shorter path memorized in the archive. + // When $p_add_dir and $p_remove_dir are set, $p_remove_dir + // is removed first, before $p_add_dir is added. + // Options : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_COMMENT : + // PCLZIP_OPT_ADD_COMMENT : + // PCLZIP_OPT_PREPEND_COMMENT : + // PCLZIP_CB_PRE_ADD : + // PCLZIP_CB_POST_ADD : + // Return Values : + // 0 on failure, + // The list of the added files, with a status of the add action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + public function add($p_filelist) { - unset($p_list); - return(0); - } + $v_result=1; - // ----- Return - return $p_list; - } - // -------------------------------------------------------------------------------- + // ----- Reset the error handler + $this->privErrorReset(); - // -------------------------------------------------------------------------------- - // Function : - // extract($p_path="./", $p_remove_path="") - // extract([$p_option, $p_option_value, ...]) - // Description : - // This method supports two synopsis. The first one is historical. - // This method extract all the files / directories from the archive to the - // folder indicated in $p_path. - // If you want to ignore the 'root' part of path of the memorized files - // you can indicate this in the optional $p_remove_path parameter. - // By default, if a newer file with the same name already exists, the - // file is not extracted. - // - // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions - // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append - // at the end of the path value of PCLZIP_OPT_PATH. - // Parameters : - // $p_path : Path where the files and directories are to be extracted - // $p_remove_path : First part ('root' part) of the memorized path - // (if any similar) to remove while extracting. - // Options : - // PCLZIP_OPT_PATH : - // PCLZIP_OPT_ADD_PATH : - // PCLZIP_OPT_REMOVE_PATH : - // PCLZIP_OPT_REMOVE_ALL_PATH : - // PCLZIP_CB_PRE_EXTRACT : - // PCLZIP_CB_POST_EXTRACT : - // Return Values : - // 0 or a negative value on failure, - // The list of the extracted files, with a status of the action. - // (see PclZip::listContent() for list entry format) - // -------------------------------------------------------------------------------- - function extract() - { - $v_result=1; + // ----- Set default values + $v_options = array(); + $v_options[PCLZIP_OPT_NO_COMPRESSION] = false; - // ----- Reset the error handler - $this->privErrorReset(); + // ----- Look for variable options arguments + $v_size = func_num_args(); - // ----- Check archive - if (!$this->privCheckFormat()) { - return(0); - } + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); - // ----- Set default values - $v_options = array(); -// $v_path = "./"; - $v_path = ''; - $v_remove_path = ""; - $v_remove_all_path = false; + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; - // ----- Look for variable options arguments - $v_size = func_num_args(); + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array ( + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_ADD => 'optional', + PCLZIP_CB_POST_ADD => 'optional', + PCLZIP_OPT_NO_COMPRESSION => 'optional', + PCLZIP_OPT_COMMENT => 'optional', + PCLZIP_OPT_ADD_COMMENT => 'optional', + PCLZIP_OPT_PREPEND_COMMENT => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + //, PCLZIP_OPT_CRYPT => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } else { + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + // ----- Get the first argument + $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0]; - // ----- Default values for option - $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; + } elseif ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); - // ----- Look for arguments - if ($v_size > 0) { - // ----- Get the arguments - $v_arg_list = func_get_args(); + // ----- Return + return 0; + } + } + } - // ----- Look for first arg - if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); - // ----- Parse the options - $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, - array (PCLZIP_OPT_PATH => 'optional', - PCLZIP_OPT_REMOVE_PATH => 'optional', - PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', - PCLZIP_OPT_ADD_PATH => 'optional', - PCLZIP_CB_PRE_EXTRACT => 'optional', - PCLZIP_CB_POST_EXTRACT => 'optional', - PCLZIP_OPT_SET_CHMOD => 'optional', - PCLZIP_OPT_BY_NAME => 'optional', - PCLZIP_OPT_BY_EREG => 'optional', - PCLZIP_OPT_BY_PREG => 'optional', - PCLZIP_OPT_BY_INDEX => 'optional', - PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', - PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional', - PCLZIP_OPT_REPLACE_NEWER => 'optional' - ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' - ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', - PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', - PCLZIP_OPT_TEMP_FILE_ON => 'optional', - PCLZIP_OPT_TEMP_FILE_OFF => 'optional' - )); + // ----- Init + $v_string_list = array(); + $v_att_list = array(); + $v_filedescr_list = array(); + $p_result_list = array(); + + // ----- Look if the $p_filelist is really an array + if (is_array($p_filelist)) { + // ----- Look if the first element is also an array + // This will mean that this is a file description entry + if (isset($p_filelist[0]) && is_array($p_filelist[0])) { + $v_att_list = $p_filelist; + } else { + // ----- The list is a list of string names + $v_string_list = $p_filelist; + } + } elseif (is_string($p_filelist)) { + // ----- Look if the $p_filelist is a string + // ----- Create a list from the string + $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); + } else { + // ----- Invalid variable type for $p_filelist + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist"); + return 0; + } + + // ----- Reformat the string list + if (sizeof($v_string_list) != 0) { + foreach ($v_string_list as $v_string) { + $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; + } + } + + // ----- For each file in the list check the attributes + $v_supported_attributes = array( + PCLZIP_ATT_FILE_NAME => 'mandatory', + PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional', + PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional', + PCLZIP_ATT_FILE_MTIME => 'optional', + PCLZIP_ATT_FILE_CONTENT => 'optional', + PCLZIP_ATT_FILE_COMMENT => 'optional', + ); + foreach ($v_att_list as $v_entry) { + $v_result = $this->privFileDescrParseAtt($v_entry, $v_filedescr_list[], $v_options, $v_supported_attributes); + if ($v_result != 1) { + return 0; + } + } + + // ----- Expand the filelist (expand directories) + $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); if ($v_result != 1) { - return 0; + return 0; } - // ----- Set the arguments - if (isset($v_options[PCLZIP_OPT_PATH])) { - $v_path = $v_options[PCLZIP_OPT_PATH]; - } - if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { - $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; - } - if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { - $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; - } - if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { - // ----- Check for '/' in last path char - if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { - $v_path .= '/'; - } - $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; - } - } - - // ----- Look for 2 args - // Here we need to support the first historic synopsis of the - // method. - else { - - // ----- Get the first argument - $v_path = $v_arg_list[0]; - - // ----- Look for the optional second argument - if ($v_size == 2) { - $v_remove_path = $v_arg_list[1]; - } - else if ($v_size > 2) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); - - // ----- Return - return 0; - } - } - } - - // ----- Look for default option values - $this->privOptionDefaultThreshold($v_options); - - // ----- Trace - - // ----- Call the extracting fct - $p_list = array(); - $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, - $v_remove_all_path, $v_options); - if ($v_result < 1) { - unset($p_list); - return(0); - } - - // ----- Return - return $p_list; - } - // -------------------------------------------------------------------------------- - - - // -------------------------------------------------------------------------------- - // Function : - // extractByIndex($p_index, $p_path="./", $p_remove_path="") - // extractByIndex($p_index, [$p_option, $p_option_value, ...]) - // Description : - // This method supports two synopsis. The first one is historical. - // This method is doing a partial extract of the archive. - // The extracted files or folders are identified by their index in the - // archive (from 0 to n). - // Note that if the index identify a folder, only the folder entry is - // extracted, not all the files included in the archive. - // Parameters : - // $p_index : A single index (integer) or a string of indexes of files to - // extract. The form of the string is "0,4-6,8-12" with only numbers - // and '-' for range or ',' to separate ranges. No spaces or ';' - // are allowed. - // $p_path : Path where the files and directories are to be extracted - // $p_remove_path : First part ('root' part) of the memorized path - // (if any similar) to remove while extracting. - // Options : - // PCLZIP_OPT_PATH : - // PCLZIP_OPT_ADD_PATH : - // PCLZIP_OPT_REMOVE_PATH : - // PCLZIP_OPT_REMOVE_ALL_PATH : - // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and - // not as files. - // The resulting content is in a new field 'content' in the file - // structure. - // This option must be used alone (any other options are ignored). - // PCLZIP_CB_PRE_EXTRACT : - // PCLZIP_CB_POST_EXTRACT : - // Return Values : - // 0 on failure, - // The list of the extracted files, with a status of the action. - // (see PclZip::listContent() for list entry format) - // -------------------------------------------------------------------------------- - //function extractByIndex($p_index, options...) - function extractByIndex($p_index) - { - $v_result=1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Check archive - if (!$this->privCheckFormat()) { - return(0); - } - - // ----- Set default values - $v_options = array(); -// $v_path = "./"; - $v_path = ''; - $v_remove_path = ""; - $v_remove_all_path = false; - - // ----- Look for variable options arguments - $v_size = func_num_args(); - - // ----- Default values for option - $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; - - // ----- Look for arguments - if ($v_size > 1) { - // ----- Get the arguments - $v_arg_list = func_get_args(); - - // ----- Remove form the options list the first argument - array_shift($v_arg_list); - $v_size--; - - // ----- Look for first arg - if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { - - // ----- Parse the options - $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, - array (PCLZIP_OPT_PATH => 'optional', - PCLZIP_OPT_REMOVE_PATH => 'optional', - PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', - PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', - PCLZIP_OPT_ADD_PATH => 'optional', - PCLZIP_CB_PRE_EXTRACT => 'optional', - PCLZIP_CB_POST_EXTRACT => 'optional', - PCLZIP_OPT_SET_CHMOD => 'optional', - PCLZIP_OPT_REPLACE_NEWER => 'optional' - ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' - ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', - PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', - PCLZIP_OPT_TEMP_FILE_ON => 'optional', - PCLZIP_OPT_TEMP_FILE_OFF => 'optional' - )); + // ----- Call the create fct + $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options); if ($v_result != 1) { - return 0; + return 0; } - // ----- Set the arguments - if (isset($v_options[PCLZIP_OPT_PATH])) { - $v_path = $v_options[PCLZIP_OPT_PATH]; - } - if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { - $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; - } - if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { - $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; - } - if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { - // ----- Check for '/' in last path char - if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { - $v_path .= '/'; - } - $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; - } - if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { - $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; - } - else { - } - } - - // ----- Look for 2 args - // Here we need to support the first historic synopsis of the - // method. - else { - - // ----- Get the first argument - $v_path = $v_arg_list[0]; - - // ----- Look for the optional second argument - if ($v_size == 2) { - $v_remove_path = $v_arg_list[1]; - } - else if ($v_size > 2) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); - - // ----- Return - return 0; - } - } - } - - // ----- Trace - - // ----- Trick - // Here I want to reuse extractByRule(), so I need to parse the $p_index - // with privParseOptions() - $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); - $v_options_trick = array(); - $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, - array (PCLZIP_OPT_BY_INDEX => 'optional' )); - if ($v_result != 1) { - return 0; - } - $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; - - // ----- Look for default option values - $this->privOptionDefaultThreshold($v_options); - - // ----- Call the extracting fct - if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { - return(0); - } - - // ----- Return - return $p_list; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : - // delete([$p_option, $p_option_value, ...]) - // Description : - // This method removes files from the archive. - // If no parameters are given, then all the archive is emptied. - // Parameters : - // None or optional arguments. - // Options : - // PCLZIP_OPT_BY_INDEX : - // PCLZIP_OPT_BY_NAME : - // PCLZIP_OPT_BY_EREG : - // PCLZIP_OPT_BY_PREG : - // Return Values : - // 0 on failure, - // The list of the files which are still present in the archive. - // (see PclZip::listContent() for list entry format) - // -------------------------------------------------------------------------------- - function delete() - { - $v_result=1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Check archive - if (!$this->privCheckFormat()) { - return(0); - } - - // ----- Set default values - $v_options = array(); - - // ----- Look for variable options arguments - $v_size = func_num_args(); - - // ----- Look for arguments - if ($v_size > 0) { - // ----- Get the arguments - $v_arg_list = func_get_args(); - - // ----- Parse the options - $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, - array (PCLZIP_OPT_BY_NAME => 'optional', - PCLZIP_OPT_BY_EREG => 'optional', - PCLZIP_OPT_BY_PREG => 'optional', - PCLZIP_OPT_BY_INDEX => 'optional' )); - if ($v_result != 1) { - return 0; - } - } - - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Call the delete fct - $v_list = array(); - if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) { - $this->privSwapBackMagicQuotes(); - unset($v_list); - return(0); - } - - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_list; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : deleteByIndex() - // Description : - // ***** Deprecated ***** - // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered. - // -------------------------------------------------------------------------------- - function deleteByIndex($p_index) - { - - $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); - - // ----- Return - return $p_list; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : properties() - // Description : - // This method gives the properties of the archive. - // The properties are : - // nb : Number of files in the archive - // comment : Comment associated with the archive file - // status : not_exist, ok - // Parameters : - // None - // Return Values : - // 0 on failure, - // An array with the archive properties. - // -------------------------------------------------------------------------------- - function properties() - { - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Check archive - if (!$this->privCheckFormat()) { - $this->privSwapBackMagicQuotes(); - return(0); - } - - // ----- Default properties - $v_prop = array(); - $v_prop['comment'] = ''; - $v_prop['nb'] = 0; - $v_prop['status'] = 'not_exist'; - - // ----- Look if file exists - if (@is_file($this->zipname)) - { - // ----- Open the zip file - if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) - { - $this->privSwapBackMagicQuotes(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); - // ----- Return - return 0; - } - - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) - { - $this->privSwapBackMagicQuotes(); - return 0; - } - - // ----- Close the zip file - $this->privCloseFd(); - - // ----- Set the user attributes - $v_prop['comment'] = $v_central_dir['comment']; - $v_prop['nb'] = $v_central_dir['entries']; - $v_prop['status'] = 'ok'; + return $p_result_list; } + // -------------------------------------------------------------------------------- - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_prop; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : duplicate() - // Description : - // This method creates an archive by copying the content of an other one. If - // the archive already exist, it is replaced by the new one without any warning. - // Parameters : - // $p_archive : The filename of a valid archive, or - // a valid PclZip object. - // Return Values : - // 1 on success. - // 0 or a negative value on error (error code). - // -------------------------------------------------------------------------------- - function duplicate($p_archive) - { - $v_result = 1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Look if the $p_archive is a PclZip object - if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) + // -------------------------------------------------------------------------------- + // Function : listContent() + // Description : + // This public method, gives the list of the files and directories, with their + // properties. + // The properties of each entries in the list are (used also in other functions) : + // filename : Name of the file. For a create or add action it is the filename + // given by the user. For an extract function it is the filename + // of the extracted file. + // stored_filename : Name of the file / directory stored in the archive. + // size : Size of the stored file. + // compressed_size : Size of the file's data compressed in the archive + // (without the headers overhead) + // mtime : Last known modification date of the file (UNIX timestamp) + // comment : Comment associated with the file + // folder : true | false + // index : index of the file in the archive + // status : status of the action (depending of the action) : + // Values are : + // ok : OK ! + // filtered : the file / dir is not extracted (filtered by user) + // already_a_directory : the file can not be extracted because a + // directory with the same name already exists + // write_protected : the file can not be extracted because a file + // with the same name already exists and is + // write protected + // newer_exist : the file was not extracted because a newer file exists + // path_creation_fail : the file is not extracted because the folder + // does not exist and can not be created + // write_error : the file was not extracted because there was a + // error while writing the file + // read_error : the file was not extracted because there was a error + // while reading the file + // invalid_header : the file was not extracted because of an archive + // format error (bad file header) + // Note that each time a method can continue operating when there + // is an action error on a file, the error is only logged in the file status. + // Return Values : + // 0 on an unrecoverable failure, + // The list of the files in the archive. + // -------------------------------------------------------------------------------- + public function listContent() { + $v_result=1; - // ----- Duplicate the archive - $v_result = $this->privDuplicate($p_archive->zipname); - } + // ----- Reset the error handler + $this->privErrorReset(); - // ----- Look if the $p_archive is a string (so a filename) - else if (is_string($p_archive)) - { + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } - // ----- Check that $p_archive is a valid zip file - // TBC : Should also check the archive format - if (!is_file($p_archive)) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); - $v_result = PCLZIP_ERR_MISSING_FILE; - } - else { - // ----- Duplicate the archive - $v_result = $this->privDuplicate($p_archive); - } - } - - // ----- Invalid variable - else - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); - $v_result = PCLZIP_ERR_INVALID_PARAMETER; - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : merge() - // Description : - // This method merge the $p_archive_to_add archive at the end of the current - // one ($this). - // If the archive ($this) does not exist, the merge becomes a duplicate. - // If the $p_archive_to_add archive does not exist, the merge is a success. - // Parameters : - // $p_archive_to_add : It can be directly the filename of a valid zip archive, - // or a PclZip object archive. - // Return Values : - // 1 on success, - // 0 or negative values on error (see below). - // -------------------------------------------------------------------------------- - function merge($p_archive_to_add) - { - $v_result = 1; - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Check archive - if (!$this->privCheckFormat()) { - return(0); - } - - // ----- Look if the $p_archive_to_add is a PclZip object - if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) - { - - // ----- Merge the archive - $v_result = $this->privMerge($p_archive_to_add); - } - - // ----- Look if the $p_archive_to_add is a string (so a filename) - else if (is_string($p_archive_to_add)) - { - - // ----- Create a temporary archive - $v_object_archive = new PclZip($p_archive_to_add); - - // ----- Merge the archive - $v_result = $this->privMerge($v_object_archive); - } - - // ----- Invalid variable - else - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); - $v_result = PCLZIP_ERR_INVALID_PARAMETER; - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - - - // -------------------------------------------------------------------------------- - // Function : errorCode() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function errorCode() - { - if (PCLZIP_ERROR_EXTERNAL == 1) { - return(PclErrorCode()); - } - else { - return($this->error_code); - } - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : errorName() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function errorName($p_with_code=false) - { - $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', - PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', - PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', - PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', - PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', - PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', - PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', - PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', - PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', - PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', - PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', - PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', - PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', - PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', - PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', - PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', - PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE', - PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', - PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION' - ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE' - ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION' - ); - - if (isset($v_name[$this->error_code])) { - $v_value = $v_name[$this->error_code]; - } - else { - $v_value = 'NoName'; - } - - if ($p_with_code) { - return($v_value.' ('.$this->error_code.')'); - } - else { - return($v_value); - } - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : errorInfo() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function errorInfo($p_full=false) - { - if (PCLZIP_ERROR_EXTERNAL == 1) { - return(PclErrorString()); - } - else { - if ($p_full) { - return($this->errorName(true)." : ".$this->error_string); - } - else { - return($this->error_string." [code ".$this->error_code."]"); - } - } - } - // -------------------------------------------------------------------------------- - - -// -------------------------------------------------------------------------------- -// ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** -// ***** ***** -// ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** -// -------------------------------------------------------------------------------- - - - - // -------------------------------------------------------------------------------- - // Function : privCheckFormat() - // Description : - // This method check that the archive exists and is a valid zip archive. - // Several level of check exists. (futur) - // Parameters : - // $p_level : Level of check. Default 0. - // 0 : Check the first bytes (magic codes) (default value)) - // 1 : 0 + Check the central directory (futur) - // 2 : 1 + Check each file header (futur) - // Return Values : - // true on success, - // false on error, the error code is set. - // -------------------------------------------------------------------------------- - function privCheckFormat($p_level=0) - { - $v_result = true; - - // ----- Reset the file system cache - clearstatcache(); - - // ----- Reset the error handler - $this->privErrorReset(); - - // ----- Look if the file exits - if (!is_file($this->zipname)) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); - return(false); - } - - // ----- Check that the file is readeable - if (!is_readable($this->zipname)) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); - return(false); - } - - // ----- Check the magic code - // TBC - - // ----- Check the central header - // TBC - - // ----- Check each file header - // TBC - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privParseOptions() - // Description : - // This internal methods reads the variable list of arguments ($p_options_list, - // $p_size) and generate an array with the options and values ($v_result_list). - // $v_requested_options contains the options that can be present and those that - // must be present. - // $v_requested_options is an array, with the option value as key, and 'optional', - // or 'mandatory' as value. - // Parameters : - // See above. - // Return Values : - // 1 on success. - // 0 on failure. - // -------------------------------------------------------------------------------- - function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false) - { - $v_result=1; - - // ----- Read the options - $i=0; - while ($i<$p_size) { - - // ----- Check if the option is supported - if (!isset($v_requested_options[$p_options_list[$i]])) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); + // ----- Call the extracting fct + $p_list = array(); + if (($v_result = $this->privList($p_list)) != 1) { + unset($p_list); + return(0); + } // ----- Return - return PclZip::errorCode(); - } - - // ----- Look for next option - switch ($p_options_list[$i]) { - // ----- Look for options that request a path value - case PCLZIP_OPT_PATH : - case PCLZIP_OPT_REMOVE_PATH : - case PCLZIP_OPT_ADD_PATH : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); - $i++; - break; - - case PCLZIP_OPT_TEMP_FILE_THRESHOLD : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - return PclZip::errorCode(); - } - - // ----- Check for incompatible options - if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); - return PclZip::errorCode(); - } - - // ----- Check the value - $v_value = $p_options_list[$i+1]; - if ((!is_integer($v_value)) || ($v_value<0)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - return PclZip::errorCode(); - } - - // ----- Get the value (and convert it in bytes) - $v_result_list[$p_options_list[$i]] = $v_value*1048576; - $i++; - break; - - case PCLZIP_OPT_TEMP_FILE_ON : - // ----- Check for incompatible options - if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); - return PclZip::errorCode(); - } - - $v_result_list[$p_options_list[$i]] = true; - break; - - case PCLZIP_OPT_TEMP_FILE_OFF : - // ----- Check for incompatible options - if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'"); - return PclZip::errorCode(); - } - // ----- Check for incompatible options - if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'"); - return PclZip::errorCode(); - } - - $v_result_list[$p_options_list[$i]] = true; - break; - - case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - if ( is_string($p_options_list[$i+1]) - && ($p_options_list[$i+1] != '')) { - $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); - $i++; - } - else { - } - break; - - // ----- Look for options that request an array of string for value - case PCLZIP_OPT_BY_NAME : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - if (is_string($p_options_list[$i+1])) { - $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; - } - else if (is_array($p_options_list[$i+1])) { - $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; - } - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - $i++; - break; - - // ----- Look for options that request an EREG or PREG expression - case PCLZIP_OPT_BY_EREG : - // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG - // to PCLZIP_OPT_BY_PREG - $p_options_list[$i] = PCLZIP_OPT_BY_PREG; - case PCLZIP_OPT_BY_PREG : - //case PCLZIP_OPT_CRYPT : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - if (is_string($p_options_list[$i+1])) { - $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; - } - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - $i++; - break; - - // ----- Look for options that takes a string - case PCLZIP_OPT_COMMENT : - case PCLZIP_OPT_ADD_COMMENT : - case PCLZIP_OPT_PREPEND_COMMENT : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, - "Missing parameter value for option '" - .PclZipUtilOptionText($p_options_list[$i]) - ."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - if (is_string($p_options_list[$i+1])) { - $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; - } - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, - "Wrong parameter value for option '" - .PclZipUtilOptionText($p_options_list[$i]) - ."'"); - - // ----- Return - return PclZip::errorCode(); - } - $i++; - break; - - // ----- Look for options that request an array of index - case PCLZIP_OPT_BY_INDEX : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - $v_work_list = array(); - if (is_string($p_options_list[$i+1])) { - - // ----- Remove spaces - $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); - - // ----- Parse items - $v_work_list = explode(",", $p_options_list[$i+1]); - } - else if (is_integer($p_options_list[$i+1])) { - $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; - } - else if (is_array($p_options_list[$i+1])) { - $v_work_list = $p_options_list[$i+1]; - } - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Reduce the index list - // each index item in the list must be a couple with a start and - // an end value : [0,3], [5-5], [8-10], ... - // ----- Check the format of each item - $v_sort_flag=false; - $v_sort_value=0; - for ($j=0; $j<sizeof($v_work_list); $j++) { - // ----- Explode the item - $v_item_list = explode("-", $v_work_list[$j]); - $v_size_item_list = sizeof($v_item_list); - - // ----- TBC : Here we might check that each item is a - // real integer ... - - // ----- Look for single value - if ($v_size_item_list == 1) { - // ----- Set the option value - $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; - $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0]; - } - elseif ($v_size_item_list == 2) { - // ----- Set the option value - $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; - $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1]; - } - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - - // ----- Look for list sort - if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) { - $v_sort_flag=true; - - // ----- TBC : An automatic sort should be writen ... - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start']; - } - - // ----- Sort the items - if ($v_sort_flag) { - // TBC : To Be Completed - } - - // ----- Next option - $i++; - break; - - // ----- Look for options that request no value - case PCLZIP_OPT_REMOVE_ALL_PATH : - case PCLZIP_OPT_EXTRACT_AS_STRING : - case PCLZIP_OPT_NO_COMPRESSION : - case PCLZIP_OPT_EXTRACT_IN_OUTPUT : - case PCLZIP_OPT_REPLACE_NEWER : - case PCLZIP_OPT_STOP_ON_ERROR : - $v_result_list[$p_options_list[$i]] = true; - break; - - // ----- Look for options that request an octal value - case PCLZIP_OPT_SET_CHMOD : - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; - $i++; - break; - - // ----- Look for options that request a call-back - case PCLZIP_CB_PRE_EXTRACT : - case PCLZIP_CB_POST_EXTRACT : - case PCLZIP_CB_PRE_ADD : - case PCLZIP_CB_POST_ADD : - /* for futur use - case PCLZIP_CB_PRE_DELETE : - case PCLZIP_CB_POST_DELETE : - case PCLZIP_CB_PRE_LIST : - case PCLZIP_CB_POST_LIST : - */ - // ----- Check the number of parameters - if (($i+1) >= $p_size) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Get the value - $v_function_name = $p_options_list[$i+1]; - - // ----- Check that the value is a valid existing function - if (!function_exists($v_function_name)) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Set the attribute - $v_result_list[$p_options_list[$i]] = $v_function_name; - $i++; - break; - - default : - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, - "Unknown parameter '" - .$p_options_list[$i]."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Next options - $i++; + return $p_list; } + // -------------------------------------------------------------------------------- - // ----- Look for mandatory options - if ($v_requested_options !== false) { - for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { - // ----- Look for mandatory option - if ($v_requested_options[$key] == 'mandatory') { - // ----- Look if present - if (!isset($v_result_list[$key])) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + // -------------------------------------------------------------------------------- + // Function : + // extract($p_path="./", $p_remove_path="") + // extract([$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method extract all the files / directories from the archive to the + // folder indicated in $p_path. + // If you want to ignore the 'root' part of path of the memorized files + // you can indicate this in the optional $p_remove_path parameter. + // By default, if a newer file with the same name already exists, the + // file is not extracted. + // + // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH aoptions + // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append + // at the end of the path value of PCLZIP_OPT_PATH. + // Parameters : + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 or a negative value on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + public function extract() + { + $v_result=1; - // ----- Return - return PclZip::errorCode(); - } + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); } - } - } - - // ----- Look for default values - if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { - - } - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- + // ----- Set default values + $v_options = array(); + // $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; - // -------------------------------------------------------------------------------- - // Function : privOptionDefaultThreshold() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privOptionDefaultThreshold(&$p_options) - { - $v_result=1; - - if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) - || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) { - return $v_result; - } - - // ----- Get 'memory_limit' configuration value - $v_memory_limit = ini_get('memory_limit'); - $v_memory_limit = trim($v_memory_limit); - $last = strtolower(substr($v_memory_limit, -1)); - - if($last == 'g') - //$v_memory_limit = $v_memory_limit*1024*1024*1024; - $v_memory_limit = $v_memory_limit*1073741824; - if($last == 'm') - //$v_memory_limit = $v_memory_limit*1024*1024; - $v_memory_limit = $v_memory_limit*1048576; - if($last == 'k') - $v_memory_limit = $v_memory_limit*1024; - - $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO); - + // ----- Look for variable options arguments + $v_size = func_num_args(); - // ----- Sanity check : No threshold if value lower than 1M - if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) { - unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = false; - // -------------------------------------------------------------------------------- - // Function : privFileDescrParseAtt() - // Description : - // Parameters : - // Return Values : - // 1 on success. - // 0 on failure. - // -------------------------------------------------------------------------------- - function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false) - { - $v_result=1; - - // ----- For each file in the list check the attributes - foreach ($p_file_list as $v_key => $v_value) { - - // ----- Check if the option is supported - if (!isset($v_requested_options[$v_key])) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file"); + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); - // ----- Return - return PclZip::errorCode(); - } + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array ( + PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional', + PCLZIP_OPT_STOP_ON_ERROR => 'optional', + PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } - // ----- Look for attribute - switch ($v_key) { - case PCLZIP_ATT_FILE_NAME : - if (!is_string($v_value)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + } else { + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + // ----- Get the first argument + $v_path = $v_arg_list[0]; - $p_filedescr['filename'] = PclZipUtilPathReduction($v_value); - - if ($p_filedescr['filename'] == '') { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } elseif ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); - break; - - case PCLZIP_ATT_FILE_NEW_SHORT_NAME : - if (!is_string($v_value)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - - $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value); - - if ($p_filedescr['new_short_name'] == '') { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - break; - - case PCLZIP_ATT_FILE_NEW_FULL_NAME : - if (!is_string($v_value)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - - $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value); - - if ($p_filedescr['new_full_name'] == '') { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - break; - - // ----- Look for options that takes a string - case PCLZIP_ATT_FILE_COMMENT : - if (!is_string($v_value)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - - $p_filedescr['comment'] = $v_value; - break; - - case PCLZIP_ATT_FILE_MTIME : - if (!is_integer($v_value)) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'"); - return PclZip::errorCode(); - } - - $p_filedescr['mtime'] = $v_value; - break; - - case PCLZIP_ATT_FILE_CONTENT : - $p_filedescr['content'] = $v_value; - break; - - default : - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, - "Unknown parameter '".$v_key."'"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Look for mandatory options - if ($v_requested_options !== false) { - for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { - // ----- Look for mandatory option - if ($v_requested_options[$key] == 'mandatory') { - // ----- Look if present - if (!isset($p_file_list[$key])) { - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); - return PclZip::errorCode(); + // ----- Return + return 0; + } } - } - } - } - - // end foreach - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privFileDescrExpand() - // Description : - // This method look for each item of the list to see if its a file, a folder - // or a string to be added as file. For any other type of files (link, other) - // just ignore the item. - // Then prepare the information that will be stored for that file. - // When its a folder, expand the folder with all the files that are in that - // folder (recursively). - // Parameters : - // Return Values : - // 1 on success. - // 0 on failure. - // -------------------------------------------------------------------------------- - function privFileDescrExpand(&$p_filedescr_list, &$p_options) - { - $v_result=1; - - // ----- Create a result list - $v_result_list = array(); - - // ----- Look each entry - for ($i=0; $i<sizeof($p_filedescr_list); $i++) { - - // ----- Get filedescr - $v_descr = $p_filedescr_list[$i]; - - // ----- Reduce the filename - $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false); - $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']); - - // ----- Look for real file or folder - if (file_exists($v_descr['filename'])) { - if (@is_file($v_descr['filename'])) { - $v_descr['type'] = 'file'; - } - else if (@is_dir($v_descr['filename'])) { - $v_descr['type'] = 'folder'; - } - else if (@is_link($v_descr['filename'])) { - // skip - continue; - } - else { - // skip - continue; - } - } - - // ----- Look for string added as file - else if (isset($v_descr['content'])) { - $v_descr['type'] = 'virtual_file'; - } - - // ----- Missing file - else { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Calculate the stored filename - $this->privCalculateStoredFilename($v_descr, $p_options); - - // ----- Add the descriptor in result list - $v_result_list[sizeof($v_result_list)] = $v_descr; - - // ----- Look for folder - if ($v_descr['type'] == 'folder') { - // ----- List of items in folder - $v_dirlist_descr = array(); - $v_dirlist_nb = 0; - if ($v_folder_handler = @opendir($v_descr['filename'])) { - while (($v_item_handler = @readdir($v_folder_handler)) !== false) { - - // ----- Skip '.' and '..' - if (($v_item_handler == '.') || ($v_item_handler == '..')) { - continue; - } - - // ----- Compose the full filename - $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler; - - // ----- Look for different stored filename - // Because the name of the folder was changed, the name of the - // files/sub-folders also change - if (($v_descr['stored_filename'] != $v_descr['filename']) - && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { - if ($v_descr['stored_filename'] != '') { - $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler; - } - else { - $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler; - } - } - - $v_dirlist_nb++; - } - - @closedir($v_folder_handler); - } - else { - // TBC : unable to open folder in read mode - } - - // ----- Expand each element of the list - if ($v_dirlist_nb != 0) { - // ----- Expand - if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) { - return $v_result; - } - - // ----- Concat the resulting list - $v_result_list = array_merge($v_result_list, $v_dirlist_descr); - } - else { - } - - // ----- Free local array - unset($v_dirlist_descr); - } - } - - // ----- Get the result list - $p_filedescr_list = $v_result_list; - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privCreate() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privCreate($p_filedescr_list, &$p_result_list, &$p_options) - { - $v_result=1; - $v_list_detail = array(); - - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Open the file in write mode - if (($v_result = $this->privOpenFd('wb')) != 1) - { - // ----- Return - return $v_result; - } - - // ----- Add the list of files - $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options); - - // ----- Close - $this->privCloseFd(); - - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privAdd() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privAdd($p_filedescr_list, &$p_result_list, &$p_options) - { - $v_result=1; - $v_list_detail = array(); - - // ----- Look if the archive exists or is empty - if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) - { - - // ----- Do a create - $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options); - - // ----- Return - return $v_result; - } - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Open the zip file - if (($v_result=$this->privOpenFd('rb')) != 1) - { - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) - { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result; - } - - // ----- Go to beginning of File - @rewind($this->zip_fd); - - // ----- Creates a temporay file - $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; - - // ----- Open the temporary file in write mode - if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) - { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Copy the files from the archive to the temporary file - // TBC : Here I should better append the file and go back to erase the central dir - $v_size = $v_central_dir['offset']; - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = fread($this->zip_fd, $v_read_size); - @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Swap the file descriptor - // Here is a trick : I swap the temporary fd with the zip fd, in order to use - // the following methods on the temporary fil and not the real archive - $v_swap = $this->zip_fd; - $this->zip_fd = $v_zip_temp_fd; - $v_zip_temp_fd = $v_swap; - - // ----- Add the files - $v_header_list = array(); - if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) - { - fclose($v_zip_temp_fd); - $this->privCloseFd(); - @unlink($v_zip_temp_name); - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - - // ----- Store the offset of the central dir - $v_offset = @ftell($this->zip_fd); - - // ----- Copy the block of file headers from the old archive - $v_size = $v_central_dir['size']; - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($v_zip_temp_fd, $v_read_size); - @fwrite($this->zip_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Create the Central Dir files header - for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++) - { - // ----- Create the file header - if ($v_header_list[$i]['status'] == 'ok') { - if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { - fclose($v_zip_temp_fd); - $this->privCloseFd(); - @unlink($v_zip_temp_name); - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - $v_count++; - } - - // ----- Transform the header to a 'usable' info - $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); - } - - // ----- Zip file comment - $v_comment = $v_central_dir['comment']; - if (isset($p_options[PCLZIP_OPT_COMMENT])) { - $v_comment = $p_options[PCLZIP_OPT_COMMENT]; - } - if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { - $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; - } - if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { - $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; - } - - // ----- Calculate the size of the central header - $v_size = @ftell($this->zip_fd)-$v_offset; - - // ----- Create the central dir footer - if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) - { - // ----- Reset the file list - unset($v_header_list); - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - - // ----- Swap back the file descriptor - $v_swap = $this->zip_fd; - $this->zip_fd = $v_zip_temp_fd; - $v_zip_temp_fd = $v_swap; - - // ----- Close - $this->privCloseFd(); - - // ----- Close the temporary file - @fclose($v_zip_temp_fd); - - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Delete the zip file - // TBC : I should test the result ... - @unlink($this->zipname); - - // ----- Rename the temporary file - // TBC : I should test the result ... - //@rename($v_zip_temp_name, $this->zipname); - PclZipUtilRename($v_zip_temp_name, $this->zipname); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privOpenFd() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function privOpenFd($p_mode) - { - $v_result=1; - - // ----- Look if already open - if ($this->zip_fd != 0) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Open the zip file - if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privCloseFd() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function privCloseFd() - { - $v_result=1; - - if ($this->zip_fd != 0) - @fclose($this->zip_fd); - $this->zip_fd = 0; - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privAddList() - // Description : - // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is - // different from the real path of the file. This is usefull if you want to have PclTar - // running in any directory, and memorize relative path from an other directory. - // Parameters : - // $p_list : An array containing the file or directory names to add in the tar - // $p_result_list : list of added files with their properties (specially the status field) - // $p_add_dir : Path to add in the filename path archived - // $p_remove_dir : Path to remove in the filename path archived - // Return Values : - // -------------------------------------------------------------------------------- -// function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) - function privAddList($p_filedescr_list, &$p_result_list, &$p_options) - { - $v_result=1; - - // ----- Add the files - $v_header_list = array(); - if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) - { - // ----- Return - return $v_result; - } - - // ----- Store the offset of the central dir - $v_offset = @ftell($this->zip_fd); - - // ----- Create the Central Dir files header - for ($i=0,$v_count=0; $i<sizeof($v_header_list); $i++) - { - // ----- Create the file header - if ($v_header_list[$i]['status'] == 'ok') { - if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { - // ----- Return - return $v_result; - } - $v_count++; - } - - // ----- Transform the header to a 'usable' info - $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); - } - - // ----- Zip file comment - $v_comment = ''; - if (isset($p_options[PCLZIP_OPT_COMMENT])) { - $v_comment = $p_options[PCLZIP_OPT_COMMENT]; - } - - // ----- Calculate the size of the central header - $v_size = @ftell($this->zip_fd)-$v_offset; - - // ----- Create the central dir footer - if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) - { - // ----- Reset the file list - unset($v_header_list); - - // ----- Return - return $v_result; - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privAddFileList() - // Description : - // Parameters : - // $p_filedescr_list : An array containing the file description - // or directory names to add in the zip - // $p_result_list : list of added files with their properties (specially the status field) - // Return Values : - // -------------------------------------------------------------------------------- - function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) - { - $v_result=1; - $v_header = array(); - - // ----- Recuperate the current number of elt in list - $v_nb = sizeof($p_result_list); - - // ----- Loop on the files - for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) { - // ----- Format the filename - $p_filedescr_list[$j]['filename'] - = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false); - - - // ----- Skip empty file names - // TBC : Can this be possible ? not checked in DescrParseAtt ? - if ($p_filedescr_list[$j]['filename'] == "") { - continue; - } - - // ----- Check the filename - if ( ($p_filedescr_list[$j]['type'] != 'virtual_file') - && (!file_exists($p_filedescr_list[$j]['filename']))) { - PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exist"); - return PclZip::errorCode(); - } - - // ----- Look if it is a file or a dir with no all path remove option - // or a dir with all its path removed -// if ( (is_file($p_filedescr_list[$j]['filename'])) -// || ( is_dir($p_filedescr_list[$j]['filename']) - if ( ($p_filedescr_list[$j]['type'] == 'file') - || ($p_filedescr_list[$j]['type'] == 'virtual_file') - || ( ($p_filedescr_list[$j]['type'] == 'folder') - && ( !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]) - || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) - ) { - - // ----- Add the file - $v_result = $this->privAddFile($p_filedescr_list[$j], $v_header, - $p_options); - if ($v_result != 1) { - return $v_result; } - // ----- Store the file infos - $p_result_list[$v_nb++] = $v_header; - } - } + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privAddFile() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privAddFile($p_filedescr, &$p_header, &$p_options) - { - $v_result=1; - - // ----- Working variable - $p_filename = $p_filedescr['filename']; - - // TBC : Already done in the fileAtt check ... ? - if ($p_filename == "") { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Look for a stored different filename - /* TBC : Removed - if (isset($p_filedescr['stored_filename'])) { - $v_stored_filename = $p_filedescr['stored_filename']; - } - else { - $v_stored_filename = $p_filedescr['stored_filename']; - } - */ - - // ----- Set the file properties - clearstatcache(); - $p_header['version'] = 20; - $p_header['version_extracted'] = 10; - $p_header['flag'] = 0; - $p_header['compression'] = 0; - $p_header['crc'] = 0; - $p_header['compressed_size'] = 0; - $p_header['filename_len'] = strlen($p_filename); - $p_header['extra_len'] = 0; - $p_header['disk'] = 0; - $p_header['internal'] = 0; - $p_header['offset'] = 0; - $p_header['filename'] = $p_filename; -// TBC : Removed $p_header['stored_filename'] = $v_stored_filename; - $p_header['stored_filename'] = $p_filedescr['stored_filename']; - $p_header['extra'] = ''; - $p_header['status'] = 'ok'; - $p_header['index'] = -1; - - // ----- Look for regular file - if ($p_filedescr['type']=='file') { - $p_header['external'] = 0x00000000; - $p_header['size'] = filesize($p_filename); - } - - // ----- Look for regular folder - else if ($p_filedescr['type']=='folder') { - $p_header['external'] = 0x00000010; - $p_header['mtime'] = filemtime($p_filename); - $p_header['size'] = filesize($p_filename); - } - - // ----- Look for virtual file - else if ($p_filedescr['type'] == 'virtual_file') { - $p_header['external'] = 0x00000000; - $p_header['size'] = strlen($p_filedescr['content']); - } - - - // ----- Look for filetime - if (isset($p_filedescr['mtime'])) { - $p_header['mtime'] = $p_filedescr['mtime']; - } - else if ($p_filedescr['type'] == 'virtual_file') { - $p_header['mtime'] = time(); - } - else { - $p_header['mtime'] = filemtime($p_filename); - } - - // ------ Look for file comment - if (isset($p_filedescr['comment'])) { - $p_header['comment_len'] = strlen($p_filedescr['comment']); - $p_header['comment'] = $p_filedescr['comment']; - } - else { - $p_header['comment_len'] = 0; - $p_header['comment'] = ''; - } - - // ----- Look for pre-add callback - if (isset($p_options[PCLZIP_CB_PRE_ADD])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_header, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header); - if ($v_result == 0) { - // ----- Change the file status - $p_header['status'] = "skipped"; - $v_result = 1; - } - - // ----- Update the informations - // Only some fields can be modified - if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { - $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); - } - } - - // ----- Look for empty stored filename - if ($p_header['stored_filename'] == "") { - $p_header['status'] = "filtered"; - } - - // ----- Check the path length - if (strlen($p_header['stored_filename']) > 0xFF) { - $p_header['status'] = 'filename_too_long'; - } - - // ----- Look if no error, or file not skipped - if ($p_header['status'] == 'ok') { - - // ----- Look for a file - if ($p_filedescr['type'] == 'file') { - // ----- Look for using temporary file to zip - if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) - && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) - || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) - && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) { - $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options); - if ($v_result < PCLZIP_ERR_NO_ERROR) { - return $v_result; - } - } - - // ----- Use "in memory" zip algo - else { - - // ----- Open the source file - if (($v_file = @fopen($p_filename, "rb")) == 0) { - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); - return PclZip::errorCode(); - } - - // ----- Read the file content - $v_content = @fread($v_file, $p_header['size']); - - // ----- Close the file - @fclose($v_file); - - // ----- Calculate the CRC - $p_header['crc'] = @crc32($v_content); - - // ----- Look for no compression - if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { - // ----- Set header parameters - $p_header['compressed_size'] = $p_header['size']; - $p_header['compression'] = 0; - } - - // ----- Look for normal compression - else { - // ----- Compress the content - $v_content = @gzdeflate($v_content); - - // ----- Set header parameters - $p_header['compressed_size'] = strlen($v_content); - $p_header['compression'] = 8; - } - - // ----- Call the header generation - if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { - @fclose($v_file); - return $v_result; - } - - // ----- Write the compressed (or not) content - @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); - - } - - } - - // ----- Look for a virtual file (a file from string) - else if ($p_filedescr['type'] == 'virtual_file') { - - $v_content = $p_filedescr['content']; - - // ----- Calculate the CRC - $p_header['crc'] = @crc32($v_content); - - // ----- Look for no compression - if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { - // ----- Set header parameters - $p_header['compressed_size'] = $p_header['size']; - $p_header['compression'] = 0; - } - - // ----- Look for normal compression - else { - // ----- Compress the content - $v_content = @gzdeflate($v_content); - - // ----- Set header parameters - $p_header['compressed_size'] = strlen($v_content); - $p_header['compression'] = 8; - } - - // ----- Call the header generation - if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { - @fclose($v_file); - return $v_result; - } - - // ----- Write the compressed (or not) content - @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); - } - - // ----- Look for a directory - else if ($p_filedescr['type'] == 'folder') { - // ----- Look for directory last '/' - if (@substr($p_header['stored_filename'], -1) != '/') { - $p_header['stored_filename'] .= '/'; - } - - // ----- Set the file properties - $p_header['size'] = 0; - //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked - $p_header['external'] = 0x00000010; // Value for a folder : to be checked - - // ----- Call the header generation - if (($v_result = $this->privWriteFileHeader($p_header)) != 1) - { - return $v_result; - } - } - } - - // ----- Look for post-add callback - if (isset($p_options[PCLZIP_CB_POST_ADD])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_header, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header); - if ($v_result == 0) { - // ----- Ignored - $v_result = 1; - } - - // ----- Update the informations - // Nothing can be modified - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privAddFileUsingTempFile() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options) - { - $v_result=PCLZIP_ERR_NO_ERROR; - - // ----- Working variable - $p_filename = $p_filedescr['filename']; - - - // ----- Open the source file - if (($v_file = @fopen($p_filename, "rb")) == 0) { - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); - return PclZip::errorCode(); - } - - // ----- Creates a compressed temporary file - $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; - if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) { - fclose($v_file); - PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); - return PclZip::errorCode(); - } - - // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks - $v_size = filesize($p_filename); - while ($v_size != 0) { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($v_file, $v_read_size); - //$v_binary_data = pack('a'.$v_read_size, $v_buffer); - @gzputs($v_file_compressed, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Close the file - @fclose($v_file); - @gzclose($v_file_compressed); - - // ----- Check the minimum file size - if (filesize($v_gzip_temp_name) < 18) { - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes'); - return PclZip::errorCode(); - } - - // ----- Extract the compressed attributes - if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); - return PclZip::errorCode(); - } - - // ----- Read the gzip file header - $v_binary_data = @fread($v_file_compressed, 10); - $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data); - - // ----- Check some parameters - $v_data_header['os'] = bin2hex($v_data_header['os']); - - // ----- Read the gzip file footer - @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8); - $v_binary_data = @fread($v_file_compressed, 8); - $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data); - - // ----- Set the attributes - $p_header['compression'] = ord($v_data_header['cm']); - //$p_header['mtime'] = $v_data_header['mtime']; - $p_header['crc'] = $v_data_footer['crc']; - $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18; - - // ----- Close the file - @fclose($v_file_compressed); - - // ----- Call the header generation - if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { - return $v_result; - } - - // ----- Add the compressed data - if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) - { - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); - return PclZip::errorCode(); - } - - // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks - fseek($v_file_compressed, 10); - $v_size = $p_header['compressed_size']; - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($v_file_compressed, $v_read_size); - //$v_binary_data = pack('a'.$v_read_size, $v_buffer); - @fwrite($this->zip_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Close the file - @fclose($v_file_compressed); - - // ----- Unlink the temporary file - @unlink($v_gzip_temp_name); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privCalculateStoredFilename() - // Description : - // Based on file descriptor properties and global options, this method - // calculate the filename that will be stored in the archive. - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privCalculateStoredFilename(&$p_filedescr, &$p_options) - { - $v_result=1; - - // ----- Working variables - $p_filename = $p_filedescr['filename']; - if (isset($p_options[PCLZIP_OPT_ADD_PATH])) { - $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH]; - } - else { - $p_add_dir = ''; - } - if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) { - $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH]; - } - else { - $p_remove_dir = ''; - } - if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { - $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH]; - } - else { - $p_remove_all_dir = 0; - } - - - // ----- Look for full name change - if (isset($p_filedescr['new_full_name'])) { - // ----- Remove drive letter if any - $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']); - } - - // ----- Look for path and/or short name change - else { - - // ----- Look for short name change - // Its when we cahnge just the filename but not the path - if (isset($p_filedescr['new_short_name'])) { - $v_path_info = pathinfo($p_filename); - $v_dir = ''; - if ($v_path_info['dirname'] != '') { - $v_dir = $v_path_info['dirname'].'/'; - } - $v_stored_filename = $v_dir.$p_filedescr['new_short_name']; - } - else { - // ----- Calculate the stored filename - $v_stored_filename = $p_filename; - } - - // ----- Look for all path to remove - if ($p_remove_all_dir) { - $v_stored_filename = basename($p_filename); - } - // ----- Look for partial path remove - else if ($p_remove_dir != "") { - if (substr($p_remove_dir, -1) != '/') - $p_remove_dir .= "/"; - - if ( (substr($p_filename, 0, 2) == "./") - || (substr($p_remove_dir, 0, 2) == "./")) { - - if ( (substr($p_filename, 0, 2) == "./") - && (substr($p_remove_dir, 0, 2) != "./")) { - $p_remove_dir = "./".$p_remove_dir; - } - if ( (substr($p_filename, 0, 2) != "./") - && (substr($p_remove_dir, 0, 2) == "./")) { - $p_remove_dir = substr($p_remove_dir, 2); - } - } - - $v_compare = PclZipUtilPathInclusion($p_remove_dir, - $v_stored_filename); - if ($v_compare > 0) { - if ($v_compare == 2) { - $v_stored_filename = ""; - } - else { - $v_stored_filename = substr($v_stored_filename, - strlen($p_remove_dir)); - } - } - } - - // ----- Remove drive letter if any - $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename); - - // ----- Look for path to add - if ($p_add_dir != "") { - if (substr($p_add_dir, -1) == "/") - $v_stored_filename = $p_add_dir.$v_stored_filename; - else - $v_stored_filename = $p_add_dir."/".$v_stored_filename; - } - } - - // ----- Filename (reduce the path of stored name) - $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); - $p_filedescr['stored_filename'] = $v_stored_filename; - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privWriteFileHeader() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privWriteFileHeader(&$p_header) - { - $v_result=1; - - // ----- Store the offset position of the file - $p_header['offset'] = ftell($this->zip_fd); - - // ----- Transform UNIX mtime to DOS format mdate/mtime - $v_date = getdate($p_header['mtime']); - $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; - $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; - - // ----- Packed data - $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, - $p_header['version_extracted'], $p_header['flag'], - $p_header['compression'], $v_mtime, $v_mdate, - $p_header['crc'], $p_header['compressed_size'], - $p_header['size'], - strlen($p_header['stored_filename']), - $p_header['extra_len']); - - // ----- Write the first 148 bytes of the header in the archive - fputs($this->zip_fd, $v_binary_data, 30); - - // ----- Write the variable fields - if (strlen($p_header['stored_filename']) != 0) - { - fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); - } - if ($p_header['extra_len'] != 0) - { - fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privWriteCentralFileHeader() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privWriteCentralFileHeader(&$p_header) - { - $v_result=1; - - // TBC - //for(reset($p_header); $key = key($p_header); next($p_header)) { - //} - - // ----- Transform UNIX mtime to DOS format mdate/mtime - $v_date = getdate($p_header['mtime']); - $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; - $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; - - - // ----- Packed data - $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, - $p_header['version'], $p_header['version_extracted'], - $p_header['flag'], $p_header['compression'], - $v_mtime, $v_mdate, $p_header['crc'], - $p_header['compressed_size'], $p_header['size'], - strlen($p_header['stored_filename']), - $p_header['extra_len'], $p_header['comment_len'], - $p_header['disk'], $p_header['internal'], - $p_header['external'], $p_header['offset']); - - // ----- Write the 42 bytes of the header in the zip file - fputs($this->zip_fd, $v_binary_data, 46); - - // ----- Write the variable fields - if (strlen($p_header['stored_filename']) != 0) - { - fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); - } - if ($p_header['extra_len'] != 0) - { - fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); - } - if ($p_header['comment_len'] != 0) - { - fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privWriteCentralHeader() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) - { - $v_result=1; - - // ----- Packed data - $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, - $p_nb_entries, $p_size, - $p_offset, strlen($p_comment)); - - // ----- Write the 22 bytes of the header in the zip file - fputs($this->zip_fd, $v_binary_data, 22); - - // ----- Write the variable fields - if (strlen($p_comment) != 0) - { - fputs($this->zip_fd, $p_comment, strlen($p_comment)); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privList() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privList(&$p_list) - { - $v_result=1; - - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Open the zip file - if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) - { - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) - { - $this->privSwapBackMagicQuotes(); - return $v_result; - } - - // ----- Go to beginning of Central Dir - @rewind($this->zip_fd); - if (@fseek($this->zip_fd, $v_central_dir['offset'])) - { - $this->privSwapBackMagicQuotes(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read each entry - for ($i=0; $i<$v_central_dir['entries']; $i++) - { - // ----- Read the file header - if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) - { - $this->privSwapBackMagicQuotes(); - return $v_result; - } - $v_header['index'] = $i; - - // ----- Get the only interesting attributes - $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); - unset($v_header); - } - - // ----- Close the zip file - $this->privCloseFd(); - - // ----- Magic quotes trick - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privConvertHeader2FileInfo() - // Description : - // This function takes the file informations from the central directory - // entries and extract the interesting parameters that will be given back. - // The resulting file infos are set in the array $p_info - // $p_info['filename'] : Filename with full path. Given by user (add), - // extracted in the filesystem (extract). - // $p_info['stored_filename'] : Stored filename in the archive. - // $p_info['size'] = Size of the file. - // $p_info['compressed_size'] = Compressed size of the file. - // $p_info['mtime'] = Last modification date of the file. - // $p_info['comment'] = Comment associated with the file. - // $p_info['folder'] = true/false : indicates if the entry is a folder or not. - // $p_info['status'] = status of the action on the file. - // $p_info['crc'] = CRC of the file content. - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privConvertHeader2FileInfo($p_header, &$p_info) - { - $v_result=1; - - // ----- Get the interesting attributes - $v_temp_path = PclZipUtilPathReduction($p_header['filename']); - $p_info['filename'] = $v_temp_path; - $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']); - $p_info['stored_filename'] = $v_temp_path; - $p_info['size'] = $p_header['size']; - $p_info['compressed_size'] = $p_header['compressed_size']; - $p_info['mtime'] = $p_header['mtime']; - $p_info['comment'] = $p_header['comment']; - $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); - $p_info['index'] = $p_header['index']; - $p_info['status'] = $p_header['status']; - $p_info['crc'] = $p_header['crc']; - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privExtractByRule() - // Description : - // Extract a file or directory depending of rules (by index, by name, ...) - // Parameters : - // $p_file_list : An array where will be placed the properties of each - // extracted file - // $p_path : Path to add while writing the extracted files - // $p_remove_path : Path to remove (from the file memorized path) while writing the - // extracted files. If the path does not match the file path, - // the file is extracted with its memorized path. - // $p_remove_path does not apply to 'list' mode. - // $p_path and $p_remove_path are commulative. - // Return Values : - // 1 on success,0 or less on error (see error code list) - // -------------------------------------------------------------------------------- - function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) - { - $v_result=1; - - // ----- Magic quotes trick - $this->privDisableMagicQuotes(); - - // ----- Check the path - if ( ($p_path == "") - || ( (substr($p_path, 0, 1) != "/") - && (substr($p_path, 0, 3) != "../") - && (substr($p_path,1,2)!=":/"))) - $p_path = "./".$p_path; - - // ----- Reduce the path last (and duplicated) '/' - if (($p_path != "./") && ($p_path != "/")) - { - // ----- Look for the path end '/' - while (substr($p_path, -1) == "/") - { - $p_path = substr($p_path, 0, strlen($p_path)-1); - } - } - - // ----- Look for path to remove format (should end by /) - if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) - { - $p_remove_path .= '/'; - } - $p_remove_path_size = strlen($p_remove_path); - - // ----- Open the zip file - if (($v_result = $this->privOpenFd('rb')) != 1) - { - $this->privSwapBackMagicQuotes(); - return $v_result; - } - - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) - { - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - return $v_result; - } - - // ----- Start at beginning of Central Dir - $v_pos_entry = $v_central_dir['offset']; - - // ----- Read each entry - $j_start = 0; - for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) - { - - // ----- Read next Central dir entry - @rewind($this->zip_fd); - if (@fseek($this->zip_fd, $v_pos_entry)) - { - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read the file header - $v_header = array(); - if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) - { - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - return $v_result; - } - - // ----- Store the index - $v_header['index'] = $i; - - // ----- Store the file position - $v_pos_entry = ftell($this->zip_fd); - - // ----- Look for the specific extract rules - $v_extract = false; - - // ----- Look for extract by name rule - if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) - && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { - - // ----- Look if the filename is in the list - for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) { - - // ----- Look for a directory - if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { - - // ----- Look if the directory is in the filename path - if ( (strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) - && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { - $v_extract = true; - } - } - // ----- Look for a filename - elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { - $v_extract = true; - } - } - } - - // ----- Look for extract by ereg rule - // ereg() is deprecated with PHP 5.3 - /* - else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) - && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { - - if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) { - $v_extract = true; - } - } - */ - - // ----- Look for extract by preg rule - else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) - && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { - - if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { - $v_extract = true; - } - } - - // ----- Look for extract by index rule - else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) - && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { - - // ----- Look if the index is in the list - for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) { - - if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { - $v_extract = true; - } - if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { - $j_start = $j+1; - } - - if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { - break; - } - } - } - - // ----- Look for no rule, which means extract all the archive - else { - $v_extract = true; - } - - // ----- Check compression method - if ( ($v_extract) - && ( ($v_header['compression'] != 8) - && ($v_header['compression'] != 0))) { - $v_header['status'] = 'unsupported_compression'; - - // ----- Look for PCLZIP_OPT_STOP_ON_ERROR - if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) - && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { - - $this->privSwapBackMagicQuotes(); - - PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION, - "Filename '".$v_header['stored_filename']."' is " - ."compressed by an unsupported compression " - ."method (".$v_header['compression'].") "); - - return PclZip::errorCode(); - } - } - - // ----- Check encrypted files - if (($v_extract) && (($v_header['flag'] & 1) == 1)) { - $v_header['status'] = 'unsupported_encryption'; - - // ----- Look for PCLZIP_OPT_STOP_ON_ERROR - if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) - && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { - - $this->privSwapBackMagicQuotes(); - - PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, - "Unsupported encryption for " - ." filename '".$v_header['stored_filename'] - ."'"); - - return PclZip::errorCode(); - } - } - - // ----- Look for real extraction - if (($v_extract) && ($v_header['status'] != 'ok')) { - $v_result = $this->privConvertHeader2FileInfo($v_header, - $p_file_list[$v_nb_extracted++]); - if ($v_result != 1) { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result; - } - - $v_extract = false; - } - - // ----- Look for real extraction - if ($v_extract) - { - - // ----- Go to the file position - @rewind($this->zip_fd); - if (@fseek($this->zip_fd, $v_header['offset'])) - { - // ----- Close the zip file - $this->privCloseFd(); - - $this->privSwapBackMagicQuotes(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Look for extraction as string - if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { - - $v_string = ''; - - // ----- Extracting the file - $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options); - if ($v_result1 < 1) { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result1; - } - - // ----- Get the only interesting attributes - if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) - { - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - return $v_result; - } - - // ----- Set the file content - $p_file_list[$v_nb_extracted]['content'] = $v_string; - - // ----- Next extracted file - $v_nb_extracted++; - - // ----- Look for user callback abort - if ($v_result1 == 2) { - break; - } - } - // ----- Look for extraction in standard output - elseif ( (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) - && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { - // ----- Extracting the file in standard output - $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); - if ($v_result1 < 1) { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result1; - } - - // ----- Get the only interesting attributes - if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result; - } - - // ----- Look for user callback abort - if ($v_result1 == 2) { - break; - } - } - // ----- Look for normal extraction - else { - // ----- Extracting the file - $v_result1 = $this->privExtractFile($v_header, - $p_path, $p_remove_path, - $p_remove_all_path, - $p_options); - if ($v_result1 < 1) { - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - return $v_result1; - } - - // ----- Get the only interesting attributes - if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) - { - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - return $v_result; - } - - // ----- Look for user callback abort - if ($v_result1 == 2) { - break; - } - } - } - } - - // ----- Close the zip file - $this->privCloseFd(); - $this->privSwapBackMagicQuotes(); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privExtractFile() - // Description : - // Parameters : - // Return Values : - // - // 1 : ... ? - // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback - // -------------------------------------------------------------------------------- - function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) - { - $v_result=1; - - // ----- Read the file header - if (($v_result = $this->privReadFileHeader($v_header)) != 1) - { - // ----- Return - return $v_result; - } - - - // ----- Check that the file header is coherent with $p_entry info - if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { - // TBC - } - - // ----- Look for all path to remove - if ($p_remove_all_path == true) { - // ----- Look for folder entry that not need to be extracted - if (($p_entry['external']&0x00000010)==0x00000010) { - - $p_entry['status'] = "filtered"; - - return $v_result; - } - - // ----- Get the basename of the path - $p_entry['filename'] = basename($p_entry['filename']); - } - - // ----- Look for path to remove - else if ($p_remove_path != "") - { - if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) - { - - // ----- Change the file status - $p_entry['status'] = "filtered"; - - // ----- Return - return $v_result; - } - - $p_remove_path_size = strlen($p_remove_path); - if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) - { - - // ----- Remove the path - $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); - - } - } - - // ----- Add the path - if ($p_path != '') { - $p_entry['filename'] = $p_path."/".$p_entry['filename']; - } - - // ----- Check a base_dir_restriction - if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { - $v_inclusion - = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION], - $p_entry['filename']); - if ($v_inclusion == 0) { - - PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION, - "Filename '".$p_entry['filename']."' is " - ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION"); - - return PclZip::errorCode(); - } - } - - // ----- Look for pre-extract callback - if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); - if ($v_result == 0) { - // ----- Change the file status - $p_entry['status'] = "skipped"; - $v_result = 1; - } - - // ----- Look for abort result - if ($v_result == 2) { - // ----- This status is internal and will be changed in 'skipped' - $p_entry['status'] = "aborted"; - $v_result = PCLZIP_ERR_USER_ABORTED; - } - - // ----- Update the informations - // Only some fields can be modified - $p_entry['filename'] = $v_local_header['filename']; - } - - - // ----- Look if extraction should be done - if ($p_entry['status'] == 'ok') { - - // ----- Look for specific actions while the file exist - if (file_exists($p_entry['filename'])) - { - - // ----- Look if file is a directory - if (is_dir($p_entry['filename'])) - { - - // ----- Change the file status - $p_entry['status'] = "already_a_directory"; - - // ----- Look for PCLZIP_OPT_STOP_ON_ERROR - // For historical reason first PclZip implementation does not stop - // when this kind of error occurs. - if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) - && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { - - PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY, - "Filename '".$p_entry['filename']."' is " - ."already used by an existing directory"); - - return PclZip::errorCode(); - } - } - // ----- Look if file is write protected - else if (!is_writeable($p_entry['filename'])) - { - - // ----- Change the file status - $p_entry['status'] = "write_protected"; - - // ----- Look for PCLZIP_OPT_STOP_ON_ERROR - // For historical reason first PclZip implementation does not stop - // when this kind of error occurs. - if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) - && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { - - PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, - "Filename '".$p_entry['filename']."' exists " - ."and is write protected"); - - return PclZip::errorCode(); - } - } - - // ----- Look if the extracted file is older - else if (filemtime($p_entry['filename']) > $p_entry['mtime']) - { - // ----- Change the file status - if ( (isset($p_options[PCLZIP_OPT_REPLACE_NEWER])) - && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) { - } - else { - $p_entry['status'] = "newer_exist"; - - // ----- Look for PCLZIP_OPT_STOP_ON_ERROR - // For historical reason first PclZip implementation does not stop - // when this kind of error occurs. - if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) - && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { - - PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, - "Newer version of '".$p_entry['filename']."' exists " - ."and option PCLZIP_OPT_REPLACE_NEWER is not selected"); - - return PclZip::errorCode(); - } - } - } - else { - } - } - - // ----- Check the directory availability and create it if necessary - else { - if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) - $v_dir_to_check = $p_entry['filename']; - else if (!strstr($p_entry['filename'], "/")) - $v_dir_to_check = ""; - else - $v_dir_to_check = dirname($p_entry['filename']); - - if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { - - // ----- Change the file status - $p_entry['status'] = "path_creation_fail"; - - // ----- Return - //return $v_result; - $v_result = 1; - } - } - } - - // ----- Look if extraction should be done - if ($p_entry['status'] == 'ok') { - - // ----- Do the extraction (if not a folder) - if (!(($p_entry['external']&0x00000010)==0x00000010)) - { - // ----- Look for not compressed file - if ($p_entry['compression'] == 0) { - - // ----- Opening destination file - if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) - { - - // ----- Change the file status - $p_entry['status'] = "write_error"; - - // ----- Return - return $v_result; - } - - - // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks - $v_size = $p_entry['compressed_size']; - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($this->zip_fd, $v_read_size); - /* Try to speed up the code - $v_binary_data = pack('a'.$v_read_size, $v_buffer); - @fwrite($v_dest_file, $v_binary_data, $v_read_size); - */ - @fwrite($v_dest_file, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Closing the destination file - fclose($v_dest_file); - - // ----- Change the file mtime - touch($p_entry['filename'], $p_entry['mtime']); - - - } - else { - // ----- TBC - // Need to be finished - if (($p_entry['flag'] & 1) == 1) { - PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.'); - return PclZip::errorCode(); - } - - - // ----- Look for using temporary file to unzip - if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) - && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) - || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) - && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) { - $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options); - if ($v_result < PCLZIP_ERR_NO_ERROR) { - return $v_result; - } - } - - // ----- Look for extract in memory - else { - - - // ----- Read the compressed file in a buffer (one shot) - $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); - - // ----- Decompress the file - $v_file_content = @gzinflate($v_buffer); - unset($v_buffer); - if ($v_file_content === FALSE) { - - // ----- Change the file status - // TBC - $p_entry['status'] = "error"; - - return $v_result; - } - - // ----- Opening destination file - if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { - - // ----- Change the file status - $p_entry['status'] = "write_error"; - - return $v_result; - } - - // ----- Write the uncompressed data - @fwrite($v_dest_file, $v_file_content, $p_entry['size']); - unset($v_file_content); - - // ----- Closing the destination file - @fclose($v_dest_file); - - } - - // ----- Change the file mtime - @touch($p_entry['filename'], $p_entry['mtime']); - } - - // ----- Look for chmod option - if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { - - // ----- Change the mode of the file - @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); - } - - } - } - - // ----- Change abort status - if ($p_entry['status'] == "aborted") { - $p_entry['status'] = "skipped"; - } - - // ----- Look for post-extract callback - elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); - - // ----- Look for abort result - if ($v_result == 2) { - $v_result = PCLZIP_ERR_USER_ABORTED; - } - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privExtractFileUsingTempFile() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privExtractFileUsingTempFile(&$p_entry, &$p_options) - { - $v_result=1; - - // ----- Creates a temporary file - $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; - if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) { - fclose($v_file); - PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); - return PclZip::errorCode(); - } - - - // ----- Write gz file format header - $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); - @fwrite($v_dest_file, $v_binary_data, 10); - - // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks - $v_size = $p_entry['compressed_size']; - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($this->zip_fd, $v_read_size); - //$v_binary_data = pack('a'.$v_read_size, $v_buffer); - @fwrite($v_dest_file, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Write gz file format footer - $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']); - @fwrite($v_dest_file, $v_binary_data, 8); - - // ----- Close the temporary file - @fclose($v_dest_file); - - // ----- Opening destination file - if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { - $p_entry['status'] = "write_error"; - return $v_result; - } - - // ----- Open the temporary gz file - if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) { - @fclose($v_dest_file); - $p_entry['status'] = "read_error"; - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); - return PclZip::errorCode(); - } - - - // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks - $v_size = $p_entry['size']; - while ($v_size != 0) { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @gzread($v_src_file, $v_read_size); - //$v_binary_data = pack('a'.$v_read_size, $v_buffer); - @fwrite($v_dest_file, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - @fclose($v_dest_file); - @gzclose($v_src_file); - - // ----- Delete the temporary file - @unlink($v_gzip_temp_name); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privExtractFileInOutput() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privExtractFileInOutput(&$p_entry, &$p_options) - { - $v_result=1; - - // ----- Read the file header - if (($v_result = $this->privReadFileHeader($v_header)) != 1) { - return $v_result; - } - - - // ----- Check that the file header is coherent with $p_entry info - if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { - // TBC - } - - // ----- Look for pre-extract callback - if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); - if ($v_result == 0) { - // ----- Change the file status - $p_entry['status'] = "skipped"; - $v_result = 1; - } - - // ----- Look for abort result - if ($v_result == 2) { - // ----- This status is internal and will be changed in 'skipped' - $p_entry['status'] = "aborted"; - $v_result = PCLZIP_ERR_USER_ABORTED; - } - - // ----- Update the informations - // Only some fields can be modified - $p_entry['filename'] = $v_local_header['filename']; - } - - // ----- Trace - - // ----- Look if extraction should be done - if ($p_entry['status'] == 'ok') { - - // ----- Do the extraction (if not a folder) - if (!(($p_entry['external']&0x00000010)==0x00000010)) { - // ----- Look for not compressed file - if ($p_entry['compressed_size'] == $p_entry['size']) { - - // ----- Read the file in a buffer (one shot) - $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); - - // ----- Send the file to the output - echo $v_buffer; - unset($v_buffer); - } - else { - - // ----- Read the compressed file in a buffer (one shot) - $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); - - // ----- Decompress the file - $v_file_content = gzinflate($v_buffer); - unset($v_buffer); - - // ----- Send the file to the output - echo $v_file_content; - unset($v_file_content); - } - } - } - - // ----- Change abort status - if ($p_entry['status'] == "aborted") { - $p_entry['status'] = "skipped"; - } - - // ----- Look for post-extract callback - elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); - - // ----- Look for abort result - if ($v_result == 2) { - $v_result = PCLZIP_ERR_USER_ABORTED; - } - } - - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privExtractFileAsString() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privExtractFileAsString(&$p_entry, &$p_string, &$p_options) - { - $v_result=1; - - // ----- Read the file header - $v_header = array(); - if (($v_result = $this->privReadFileHeader($v_header)) != 1) - { - // ----- Return - return $v_result; - } - - - // ----- Check that the file header is coherent with $p_entry info - if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { - // TBC - } - - // ----- Look for pre-extract callback - if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); - if ($v_result == 0) { - // ----- Change the file status - $p_entry['status'] = "skipped"; - $v_result = 1; - } - - // ----- Look for abort result - if ($v_result == 2) { - // ----- This status is internal and will be changed in 'skipped' - $p_entry['status'] = "aborted"; - $v_result = PCLZIP_ERR_USER_ABORTED; - } - - // ----- Update the informations - // Only some fields can be modified - $p_entry['filename'] = $v_local_header['filename']; - } - - - // ----- Look if extraction should be done - if ($p_entry['status'] == 'ok') { - - // ----- Do the extraction (if not a folder) - if (!(($p_entry['external']&0x00000010)==0x00000010)) { - // ----- Look for not compressed file - // if ($p_entry['compressed_size'] == $p_entry['size']) - if ($p_entry['compression'] == 0) { - - // ----- Reading the file - $p_string = @fread($this->zip_fd, $p_entry['compressed_size']); - } - else { - - // ----- Reading the file - $v_data = @fread($this->zip_fd, $p_entry['compressed_size']); - - // ----- Decompress the file - if (($p_string = @gzinflate($v_data)) === FALSE) { - // TBC - } - } - // ----- Trace - } - else { - // TBC : error : can not extract a folder in a string - } - - } - // ----- Change abort status - if ($p_entry['status'] == "aborted") { - $p_entry['status'] = "skipped"; - } - - // ----- Look for post-extract callback - elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { - - // ----- Generate a local information - $v_local_header = array(); - $this->privConvertHeader2FileInfo($p_entry, $v_local_header); - - // ----- Swap the content to header - $v_local_header['content'] = $p_string; - $p_string = ''; - - // ----- Call the callback - // Here I do not use call_user_func() because I need to send a reference to the - // header. -// eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); - $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); - - // ----- Swap back the content to header - $p_string = $v_local_header['content']; - unset($v_local_header['content']); - - // ----- Look for abort result - if ($v_result == 2) { - $v_result = PCLZIP_ERR_USER_ABORTED; - } - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privReadFileHeader() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privReadFileHeader(&$p_header) - { - $v_result=1; - - // ----- Read the 4 bytes signature - $v_binary_data = @fread($this->zip_fd, 4); - $v_data = unpack('Vid', $v_binary_data); - - // ----- Check signature - if ($v_data['id'] != 0x04034b50) - { - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read the first 42 bytes of the header - $v_binary_data = fread($this->zip_fd, 26); - - // ----- Look for invalid block size - if (strlen($v_binary_data) != 26) - { - $p_header['filename'] = ""; - $p_header['status'] = "invalid_header"; - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Extract the values - $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); - - // ----- Get filename - $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); - - // ----- Get extra_fields - if ($v_data['extra_len'] != 0) { - $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); - } - else { - $p_header['extra'] = ''; - } - - // ----- Extract properties - $p_header['version_extracted'] = $v_data['version']; - $p_header['compression'] = $v_data['compression']; - $p_header['size'] = $v_data['size']; - $p_header['compressed_size'] = $v_data['compressed_size']; - $p_header['crc'] = $v_data['crc']; - $p_header['flag'] = $v_data['flag']; - $p_header['filename_len'] = $v_data['filename_len']; - - // ----- Recuperate date in UNIX format - $p_header['mdate'] = $v_data['mdate']; - $p_header['mtime'] = $v_data['mtime']; - if ($p_header['mdate'] && $p_header['mtime']) - { - // ----- Extract time - $v_hour = ($p_header['mtime'] & 0xF800) >> 11; - $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; - $v_seconde = ($p_header['mtime'] & 0x001F)*2; - - // ----- Extract date - $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; - $v_month = ($p_header['mdate'] & 0x01E0) >> 5; - $v_day = $p_header['mdate'] & 0x001F; - - // ----- Get UNIX date format - $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); - - } - else - { - $p_header['mtime'] = time(); - } - - // TBC - //for(reset($v_data); $key = key($v_data); next($v_data)) { - //} - - // ----- Set the stored filename - $p_header['stored_filename'] = $p_header['filename']; - - // ----- Set the status field - $p_header['status'] = "ok"; - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privReadCentralFileHeader() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privReadCentralFileHeader(&$p_header) - { - $v_result=1; - - // ----- Read the 4 bytes signature - $v_binary_data = @fread($this->zip_fd, 4); - $v_data = unpack('Vid', $v_binary_data); - - // ----- Check signature - if ($v_data['id'] != 0x02014b50) - { - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read the first 42 bytes of the header - $v_binary_data = fread($this->zip_fd, 42); - - // ----- Look for invalid block size - if (strlen($v_binary_data) != 42) - { - $p_header['filename'] = ""; - $p_header['status'] = "invalid_header"; - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Extract the values - $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); - - // ----- Get filename - if ($p_header['filename_len'] != 0) - $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); - else - $p_header['filename'] = ''; - - // ----- Get extra - if ($p_header['extra_len'] != 0) - $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); - else - $p_header['extra'] = ''; - - // ----- Get comment - if ($p_header['comment_len'] != 0) - $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); - else - $p_header['comment'] = ''; - - // ----- Extract properties - - // ----- Recuperate date in UNIX format - //if ($p_header['mdate'] && $p_header['mtime']) - // TBC : bug : this was ignoring time with 0/0/0 - if (1) - { - // ----- Extract time - $v_hour = ($p_header['mtime'] & 0xF800) >> 11; - $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; - $v_seconde = ($p_header['mtime'] & 0x001F)*2; - - // ----- Extract date - $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; - $v_month = ($p_header['mdate'] & 0x01E0) >> 5; - $v_day = $p_header['mdate'] & 0x001F; - - // ----- Get UNIX date format - $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); - - } - else - { - $p_header['mtime'] = time(); - } - - // ----- Set the stored filename - $p_header['stored_filename'] = $p_header['filename']; - - // ----- Set default status to ok - $p_header['status'] = 'ok'; - - // ----- Look if it is a directory - if (substr($p_header['filename'], -1) == '/') { - //$p_header['external'] = 0x41FF0010; - $p_header['external'] = 0x00000010; - } - - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privCheckFileHeaders() - // Description : - // Parameters : - // Return Values : - // 1 on success, - // 0 on error; - // -------------------------------------------------------------------------------- - function privCheckFileHeaders(&$p_local_header, &$p_central_header) - { - $v_result=1; - - // ----- Check the static values - // TBC - if ($p_local_header['filename'] != $p_central_header['filename']) { - } - if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) { - } - if ($p_local_header['flag'] != $p_central_header['flag']) { - } - if ($p_local_header['compression'] != $p_central_header['compression']) { - } - if ($p_local_header['mtime'] != $p_central_header['mtime']) { - } - if ($p_local_header['filename_len'] != $p_central_header['filename_len']) { - } - - // ----- Look for flag bit 3 - if (($p_local_header['flag'] & 8) == 8) { - $p_local_header['size'] = $p_central_header['size']; - $p_local_header['compressed_size'] = $p_central_header['compressed_size']; - $p_local_header['crc'] = $p_central_header['crc']; - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privReadEndCentralDir() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privReadEndCentralDir(&$p_central_dir) - { - $v_result=1; - - // ----- Go to the end of the zip file - $v_size = filesize($this->zipname); - @fseek($this->zip_fd, $v_size); - if (@ftell($this->zip_fd) != $v_size) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- First try : look if this is an archive with no commentaries (most of the time) - // in this case the end of central dir is at 22 bytes of the file end - $v_found = 0; - if ($v_size > 26) { - @fseek($this->zip_fd, $v_size-22); - if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read for bytes - $v_binary_data = @fread($this->zip_fd, 4); - $v_data = @unpack('Vid', $v_binary_data); - - // ----- Check signature - if ($v_data['id'] == 0x06054b50) { - $v_found = 1; - } - - $v_pos = ftell($this->zip_fd); - } - - // ----- Go back to the maximum possible size of the Central Dir End Record - if (!$v_found) { - $v_maximum_size = 65557; // 0xFFFF + 22; - if ($v_maximum_size > $v_size) - $v_maximum_size = $v_size; - @fseek($this->zip_fd, $v_size-$v_maximum_size); - if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read byte per byte in order to find the signature - $v_pos = ftell($this->zip_fd); - $v_bytes = 0x00000000; - while ($v_pos < $v_size) - { - // ----- Read a byte - $v_byte = @fread($this->zip_fd, 1); - - // ----- Add the byte - //$v_bytes = ($v_bytes << 8) | Ord($v_byte); - // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number - // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. - $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); - - // ----- Compare the bytes - if ($v_bytes == 0x504b0506) - { - $v_pos++; - break; + // ----- Call the extracting fct + $p_list = array(); + $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options); + if ($v_result < 1) { + unset($p_list); + return(0); } - $v_pos++; - } + // ----- Return + return $p_list; + } + // -------------------------------------------------------------------------------- - // ----- Look if not found end of central dir - if ($v_pos == $v_size) - { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); + // -------------------------------------------------------------------------------- + // Function : + // extractByIndex($p_index, $p_path="./", $p_remove_path="") + // extractByIndex($p_index, [$p_option, $p_option_value, ...]) + // Description : + // This method supports two synopsis. The first one is historical. + // This method is doing a partial extract of the archive. + // The extracted files or folders are identified by their index in the + // archive (from 0 to n). + // Note that if the index identify a folder, only the folder entry is + // extracted, not all the files included in the archive. + // Parameters : + // $p_index : A single index (integer) or a string of indexes of files to + // extract. The form of the string is "0,4-6,8-12" with only numbers + // and '-' for range or ',' to separate ranges. No spaces or ';' + // are allowed. + // $p_path : Path where the files and directories are to be extracted + // $p_remove_path : First part ('root' part) of the memorized path + // (if any similar) to remove while extracting. + // Options : + // PCLZIP_OPT_PATH : + // PCLZIP_OPT_ADD_PATH : + // PCLZIP_OPT_REMOVE_PATH : + // PCLZIP_OPT_REMOVE_ALL_PATH : + // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and + // not as files. + // The resulting content is in a new field 'content' in the file + // structure. + // This option must be used alone (any other options are ignored). + // PCLZIP_CB_PRE_EXTRACT : + // PCLZIP_CB_POST_EXTRACT : + // Return Values : + // 0 on failure, + // The list of the extracted files, with a status of the action. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + //function extractByIndex($p_index, options...) + public function extractByIndex($p_index) + { + $v_result=1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); + // $v_path = "./"; + $v_path = ''; + $v_remove_path = ""; + $v_remove_all_path = false; + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Default values for option + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = false; + + // ----- Look for arguments + if ($v_size > 1) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Remove form the options list the first argument + array_shift($v_arg_list); + $v_size--; + + // ----- Look for first arg + if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array( + PCLZIP_OPT_PATH => 'optional', + PCLZIP_OPT_REMOVE_PATH => 'optional', + PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', + PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', + PCLZIP_OPT_ADD_PATH => 'optional', + PCLZIP_CB_PRE_EXTRACT => 'optional', + PCLZIP_CB_POST_EXTRACT => 'optional', + PCLZIP_OPT_SET_CHMOD => 'optional', + PCLZIP_OPT_REPLACE_NEWER => 'optional', + PCLZIP_OPT_STOP_ON_ERROR => 'optional', + PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', + PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', + PCLZIP_OPT_TEMP_FILE_ON => 'optional', + PCLZIP_OPT_TEMP_FILE_OFF => 'optional' + )); + if ($v_result != 1) { + return 0; + } + + // ----- Set the arguments + if (isset($v_options[PCLZIP_OPT_PATH])) { + $v_path = $v_options[PCLZIP_OPT_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { + $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; + } + if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } + if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { + // ----- Check for '/' in last path char + if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { + $v_path .= '/'; + } + $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; + } + if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { + $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = false; + } else { + } + } else { + // ----- Look for 2 args + // Here we need to support the first historic synopsis of the + // method. + + // ----- Get the first argument + $v_path = $v_arg_list[0]; + + // ----- Look for the optional second argument + if ($v_size == 2) { + $v_remove_path = $v_arg_list[1]; + } elseif ($v_size > 2) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); + + // ----- Return + return 0; + } + } + } + + // ----- Trace + + // ----- Trick + // Here I want to reuse extractByRule(), so I need to parse the $p_index + // with privParseOptions() + $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); + $v_options_trick = array(); + $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, array (PCLZIP_OPT_BY_INDEX => 'optional')); + if ($v_result != 1) { + return 0; + } + $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; + + // ----- Look for default option values + $this->privOptionDefaultThreshold($v_options); + + // ----- Call the extracting fct + if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { + return(0); + } // ----- Return - return PclZip::errorCode(); - } + return $p_list; } + // -------------------------------------------------------------------------------- - // ----- Read the first 18 bytes of the header - $v_binary_data = fread($this->zip_fd, 18); + // -------------------------------------------------------------------------------- + // Function : + // delete([$p_option, $p_option_value, ...]) + // Description : + // This method removes files from the archive. + // If no parameters are given, then all the archive is emptied. + // Parameters : + // None or optional arguments. + // Options : + // PCLZIP_OPT_BY_INDEX : + // PCLZIP_OPT_BY_NAME : + // PCLZIP_OPT_BY_EREG : + // PCLZIP_OPT_BY_PREG : + // Return Values : + // 0 on failure, + // The list of the files which are still present in the archive. + // (see PclZip::listContent() for list entry format) + // -------------------------------------------------------------------------------- + public function delete() + { + $v_result=1; - // ----- Look for invalid block size - if (strlen($v_binary_data) != 18) + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Set default values + $v_options = array(); + + // ----- Look for variable options arguments + $v_size = func_num_args(); + + // ----- Look for arguments + if ($v_size > 0) { + // ----- Get the arguments + $v_arg_list = func_get_args(); + + // ----- Parse the options + $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array ( + PCLZIP_OPT_BY_NAME => 'optional', + PCLZIP_OPT_BY_EREG => 'optional', + PCLZIP_OPT_BY_PREG => 'optional', + PCLZIP_OPT_BY_INDEX => 'optional' + )); + if ($v_result != 1) { + return 0; + } + } + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Call the delete fct + $v_list = array(); + if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) { + $this->privSwapBackMagicQuotes(); + unset($v_list); + return(0); + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_list; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : deleteByIndex() + // Description : + // ***** Deprecated ***** + // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be prefered. + // -------------------------------------------------------------------------------- + public function deleteByIndex($p_index) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); - // ----- Return - return PclZip::errorCode(); + // ----- Return + return $p_list; } + // -------------------------------------------------------------------------------- - // ----- Extract the values - $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); - - // ----- Check the global size - if (($v_pos + $v_data['comment_size'] + 18) != $v_size) { - - // ----- Removed in release 2.2 see readme file - // The check of the file size is a little too strict. - // Some bugs where found when a zip is encrypted/decrypted with 'crypt'. - // While decrypted, zip has training 0 bytes - if (0) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, - 'The central dir is not at the end of the archive.' - .' Some trailing bytes exists after the archive.'); - - // ----- Return - return PclZip::errorCode(); - } - } - - // ----- Get comment - if ($v_data['comment_size'] != 0) { - $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); - } - else - $p_central_dir['comment'] = ''; - - $p_central_dir['entries'] = $v_data['entries']; - $p_central_dir['disk_entries'] = $v_data['disk_entries']; - $p_central_dir['offset'] = $v_data['offset']; - $p_central_dir['size'] = $v_data['size']; - $p_central_dir['disk'] = $v_data['disk']; - $p_central_dir['disk_start'] = $v_data['disk_start']; - - // TBC - //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { - //} - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privDeleteByRule() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privDeleteByRule(&$p_result_list, &$p_options) - { - $v_result=1; - $v_list_detail = array(); - - // ----- Open the zip file - if (($v_result=$this->privOpenFd('rb')) != 1) - { - // ----- Return - return $v_result; - } - - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) - { - $this->privCloseFd(); - return $v_result; - } - - // ----- Go to beginning of File - @rewind($this->zip_fd); - - // ----- Scan all the files - // ----- Start at beginning of Central Dir - $v_pos_entry = $v_central_dir['offset']; - @rewind($this->zip_fd); - if (@fseek($this->zip_fd, $v_pos_entry)) - { - // ----- Close the zip file - $this->privCloseFd(); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read each entry - $v_header_list = array(); - $j_start = 0; - for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) + // -------------------------------------------------------------------------------- + // Function : properties() + // Description : + // This method gives the properties of the archive. + // The properties are : + // nb : Number of files in the archive + // comment : Comment associated with the archive file + // status : not_exist, ok + // Parameters : + // None + // Return Values : + // 0 on failure, + // An array with the archive properties. + // -------------------------------------------------------------------------------- + public function properties() { - // ----- Read the file header - $v_header_list[$v_nb_extracted] = array(); - if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) - { - // ----- Close the zip file + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + $this->privSwapBackMagicQuotes(); + return(0); + } + + // ----- Default properties + $v_prop = array(); + $v_prop['comment'] = ''; + $v_prop['nb'] = 0; + $v_prop['status'] = 'not_exist'; + + // ----- Look if file exists + if (@is_file($this->zipname)) { + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return 0; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + $this->privSwapBackMagicQuotes(); + return 0; + } + + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Set the user attributes + $v_prop['comment'] = $v_central_dir['comment']; + $v_prop['nb'] = $v_central_dir['entries']; + $v_prop['status'] = 'ok'; + } + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_prop; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : duplicate() + // Description : + // This method creates an archive by copying the content of an other one. If + // the archive already exist, it is replaced by the new one without any warning. + // Parameters : + // $p_archive : The filename of a valid archive, or + // a valid PclZip object. + // Return Values : + // 1 on success. + // 0 or a negative value on error (error code). + // -------------------------------------------------------------------------------- + public function duplicate($p_archive) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the $p_archive is a PclZip object + if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) { + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive->zipname); + } elseif (is_string($p_archive)) { + // ----- Look if the $p_archive is a string (so a filename) + // ----- Check that $p_archive is a valid zip file + // TBC : Should also check the archive format + if (!is_file($p_archive)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); + $v_result = PCLZIP_ERR_MISSING_FILE; + } else { + // ----- Duplicate the archive + $v_result = $this->privDuplicate($p_archive); + } + } else { + // ----- Invalid variable + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : merge() + // Description : + // This method merge the $p_archive_to_add archive at the end of the current + // one ($this). + // If the archive ($this) does not exist, the merge becomes a duplicate. + // If the $p_archive_to_add archive does not exist, the merge is a success. + // Parameters : + // $p_archive_to_add : It can be directly the filename of a valid zip archive, + // or a PclZip object archive. + // Return Values : + // 1 on success, + // 0 or negative values on error (see below). + // -------------------------------------------------------------------------------- + public function merge($p_archive_to_add) + { + $v_result = 1; + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Check archive + if (!$this->privCheckFormat()) { + return(0); + } + + // ----- Look if the $p_archive_to_add is a PclZip object + if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) { + // ----- Merge the archive + $v_result = $this->privMerge($p_archive_to_add); + } elseif (is_string($p_archive_to_add)) { + // ----- Look if the $p_archive_to_add is a string (so a filename) + // ----- Create a temporary archive + $v_object_archive = new PclZip($p_archive_to_add); + + // ----- Merge the archive + $v_result = $this->privMerge($v_object_archive); + } else { + // ----- Invalid variable + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); + $v_result = PCLZIP_ERR_INVALID_PARAMETER; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : errorCode() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function errorCode() + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorCode()); + } else { + return($this->error_code); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorName() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function errorName($p_with_code = false) + { + $v_name = array( + PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', + PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', + PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', + PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', + PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', + PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', + PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', + PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', + PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', + PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', + PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', + PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', + PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', + PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', + PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', + PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', + PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE', + PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', + PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', + PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', + PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION', + ); + + if (isset($v_name[$this->error_code])) { + $v_value = $v_name[$this->error_code]; + } else { + $v_value = 'NoName'; + } + + if ($p_with_code) { + return($v_value.' ('.$this->error_code.')'); + } else { + return($v_value); + } + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : errorInfo() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function errorInfo($p_full = false) + { + if (PCLZIP_ERROR_EXTERNAL == 1) { + return(PclErrorString()); + } else { + if ($p_full) { + return($this->errorName(true)." : ".$this->error_string); + } else { + return($this->error_string." [code ".$this->error_code."]"); + } + } + } + // -------------------------------------------------------------------------------- + + + // -------------------------------------------------------------------------------- + // ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** + // ***** ***** + // ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** + // -------------------------------------------------------------------------------- + + + + // -------------------------------------------------------------------------------- + // Function : privCheckFormat() + // Description : + // This method check that the archive exists and is a valid zip archive. + // Several level of check exists. (futur) + // Parameters : + // $p_level : Level of check. Default 0. + // 0 : Check the first bytes (magic codes) (default value)) + // 1 : 0 + Check the central directory (futur) + // 2 : 1 + Check each file header (futur) + // Return Values : + // true on success, + // false on error, the error code is set. + // -------------------------------------------------------------------------------- + public function privCheckFormat($p_level = 0) + { + $v_result = true; + + // ----- Reset the file system cache + clearstatcache(); + + // ----- Reset the error handler + $this->privErrorReset(); + + // ----- Look if the file exits + if (!is_file($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); + return(false); + } + + // ----- Check that the file is readeable + if (!is_readable($this->zipname)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); + return(false); + } + + // ----- Check the magic code + // TBC + + // ----- Check the central header + // TBC + + // ----- Check each file header + // TBC + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privParseOptions() + // Description : + // This internal methods reads the variable list of arguments ($p_options_list, + // $p_size) and generate an array with the options and values ($v_result_list). + // $v_requested_options contains the options that can be present and those that + // must be present. + // $v_requested_options is an array, with the option value as key, and 'optional', + // or 'mandatory' as value. + // Parameters : + // See above. + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + public function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options = false) + { + $v_result=1; + + // ----- Read the options + $i=0; + while ($i<$p_size) { + // ----- Check if the option is supported + if (!isset($v_requested_options[$p_options_list[$i]])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for next option + switch ($p_options_list[$i]) { + // ----- Look for options that request a path value + case PCLZIP_OPT_PATH: + case PCLZIP_OPT_REMOVE_PATH: + case PCLZIP_OPT_ADD_PATH: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], false); + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_THRESHOLD: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + // ----- Check the value + $v_value = $p_options_list[$i+1]; + if ((!is_integer($v_value)) || ($v_value<0)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + return PclZip::errorCode(); + } + + // ----- Get the value (and convert it in bytes) + $v_result_list[$p_options_list[$i]] = $v_value*1048576; + $i++; + break; + + case PCLZIP_OPT_TEMP_FILE_ON: + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); + return PclZip::errorCode(); + } + + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_TEMP_FILE_OFF: + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'"); + return PclZip::errorCode(); + } + // ----- Check for incompatible options + if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'"); + return PclZip::errorCode(); + } + $v_result_list[$p_options_list[$i]] = true; + break; + + case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1]) && ($p_options_list[$i+1] != '')) { + $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], false); + $i++; + } else { + } + break; + // ----- Look for options that request an array of string for value + case PCLZIP_OPT_BY_NAME: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; + } elseif (is_array($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + // ----- Look for options that request an EREG or PREG expression + case PCLZIP_OPT_BY_EREG: + // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG + // to PCLZIP_OPT_BY_PREG + $p_options_list[$i] = PCLZIP_OPT_BY_PREG; + case PCLZIP_OPT_BY_PREG: + //case PCLZIP_OPT_CRYPT : + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that takes a string + case PCLZIP_OPT_COMMENT: + case PCLZIP_OPT_ADD_COMMENT: + case PCLZIP_OPT_PREPEND_COMMENT: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + if (is_string($p_options_list[$i+1])) { + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + } else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '" .PclZipUtilOptionText($p_options_list[$i]) ."'"); + + // ----- Return + return PclZip::errorCode(); + } + $i++; + break; + + // ----- Look for options that request an array of index + case PCLZIP_OPT_BY_INDEX: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_work_list = array(); + if (is_string($p_options_list[$i+1])) { + // ----- Remove spaces + $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); + + // ----- Parse items + $v_work_list = explode(",", $p_options_list[$i+1]); + } elseif (is_integer($p_options_list[$i+1])) { + $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; + } elseif (is_array($p_options_list[$i+1])) { + $v_work_list = $p_options_list[$i+1]; + } else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Reduce the index list + // each index item in the list must be a couple with a start and + // an end value : [0,3], [5-5], [8-10], ... + // ----- Check the format of each item + $v_sort_flag=false; + $v_sort_value=0; + for ($j=0; $j<sizeof($v_work_list); $j++) { + // ----- Explode the item + $v_item_list = explode("-", $v_work_list[$j]); + $v_size_item_list = sizeof($v_item_list); + + // ----- TBC : Here we might check that each item is a + // real integer ... + + // ----- Look for single value + if ($v_size_item_list == 1) { + // ----- Set the option value + $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; + $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0]; + } elseif ($v_size_item_list == 2) { + // ----- Set the option value + $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; + $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1]; + } else { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + + + // ----- Look for list sort + if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) { + $v_sort_flag=true; + + // ----- TBC : An automatic sort should be writen ... + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + + // ----- Return + return PclZip::errorCode(); + } + $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start']; + } + + // ----- Sort the items + if ($v_sort_flag) { + // TBC : To Be Completed + } + // ----- Next option + $i++; + break; + // ----- Look for options that request no value + case PCLZIP_OPT_REMOVE_ALL_PATH: + case PCLZIP_OPT_EXTRACT_AS_STRING: + case PCLZIP_OPT_NO_COMPRESSION: + case PCLZIP_OPT_EXTRACT_IN_OUTPUT: + case PCLZIP_OPT_REPLACE_NEWER: + case PCLZIP_OPT_STOP_ON_ERROR: + $v_result_list[$p_options_list[$i]] = true; + break; + // ----- Look for options that request an octal value + case PCLZIP_OPT_SET_CHMOD: + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + // ----- Get the value + $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; + $i++; + break; + + // ----- Look for options that request a call-back + case PCLZIP_CB_PRE_EXTRACT: + case PCLZIP_CB_POST_EXTRACT: + case PCLZIP_CB_PRE_ADD: + case PCLZIP_CB_POST_ADD: + /* for futur use + case PCLZIP_CB_PRE_DELETE : + case PCLZIP_CB_POST_DELETE : + case PCLZIP_CB_PRE_LIST : + case PCLZIP_CB_POST_LIST : + */ + // ----- Check the number of parameters + if (($i+1) >= $p_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + + // ----- Get the value + $v_function_name = $p_options_list[$i+1]; + + // ----- Check that the value is a valid existing function + if (!function_exists($v_function_name)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); + // ----- Return + return PclZip::errorCode(); + } + + // ----- Set the attribute + $v_result_list[$p_options_list[$i]] = $v_function_name; + $i++; + break; + default: + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Unknown parameter '" .$p_options_list[$i]."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Next options + $i++; + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($v_result_list[$key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + + // ----- Return + return PclZip::errorCode(); + } + } + } + } + + // ----- Look for default values + if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOptionDefaultThreshold() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privOptionDefaultThreshold(&$p_options) + { + $v_result=1; + + if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) { + return $v_result; + } + + // ----- Get 'memory_limit' configuration value + $v_memory_limit = ini_get('memory_limit'); + $v_memory_limit = trim($v_memory_limit); + $last = strtolower(substr($v_memory_limit, -1)); + + if ($last == 'g') { + //$v_memory_limit = $v_memory_limit*1024*1024*1024; + $v_memory_limit = $v_memory_limit*1073741824; + } + if ($last == 'm') { + //$v_memory_limit = $v_memory_limit*1024*1024; + $v_memory_limit = $v_memory_limit*1048576; + } + if ($last == 'k') { + $v_memory_limit = $v_memory_limit*1024; + } + + $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit*PCLZIP_TEMPORARY_FILE_RATIO); + + // ----- Sanity check : No threshold if value lower than 1M + if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) { + unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrParseAtt() + // Description : + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + public function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options = false) + { + $v_result=1; + + // ----- For each file in the list check the attributes + foreach ($p_file_list as $v_key => $v_value) { + // ----- Check if the option is supported + if (!isset($v_requested_options[$v_key])) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for attribute + switch ($v_key) { + case PCLZIP_ATT_FILE_NAME: + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['filename'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['filename'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + case PCLZIP_ATT_FILE_NEW_SHORT_NAME: + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_short_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + case PCLZIP_ATT_FILE_NEW_FULL_NAME: + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + + $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value); + + if ($p_filedescr['new_full_name'] == '') { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + break; + // ----- Look for options that takes a string + case PCLZIP_ATT_FILE_COMMENT: + if (!is_string($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + $p_filedescr['comment'] = $v_value; + break; + case PCLZIP_ATT_FILE_MTIME: + if (!is_integer($v_value)) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'"); + return PclZip::errorCode(); + } + $p_filedescr['mtime'] = $v_value; + break; + case PCLZIP_ATT_FILE_CONTENT: + $p_filedescr['content'] = $v_value; + break; + default: + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Unknown parameter '".$v_key."'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for mandatory options + if ($v_requested_options !== false) { + for ($key = reset($v_requested_options); $key = key($v_requested_options); $key = next($v_requested_options)) { + // ----- Look for mandatory option + if ($v_requested_options[$key] == 'mandatory') { + // ----- Look if present + if (!isset($p_file_list[$key])) { + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); + return PclZip::errorCode(); + } + } + } + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privFileDescrExpand() + // Description : + // This method look for each item of the list to see if its a file, a folder + // or a string to be added as file. For any other type of files (link, other) + // just ignore the item. + // Then prepare the information that will be stored for that file. + // When its a folder, expand the folder with all the files that are in that + // folder (recursively). + // Parameters : + // Return Values : + // 1 on success. + // 0 on failure. + // -------------------------------------------------------------------------------- + public function privFileDescrExpand(&$p_filedescr_list, &$p_options) + { + $v_result=1; + + // ----- Create a result list + $v_result_list = array(); + + // ----- Look each entry + for ($i=0; $i<sizeof($p_filedescr_list); $i++) { + // ----- Get filedescr + $v_descr = $p_filedescr_list[$i]; + + // ----- Reduce the filename + $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false); + $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']); + + // ----- Look for real file or folder + if (file_exists($v_descr['filename'])) { + if (@is_file($v_descr['filename'])) { + $v_descr['type'] = 'file'; + } elseif (@is_dir($v_descr['filename'])) { + $v_descr['type'] = 'folder'; + } elseif (@is_link($v_descr['filename'])) { + // skip + continue; + } else { + // skip + continue; + } + } elseif (isset($v_descr['content'])) { + // ----- Look for string added as file + $v_descr['type'] = 'virtual_file'; + } else { + // ----- Missing file + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Calculate the stored filename + $this->privCalculateStoredFilename($v_descr, $p_options); + + // ----- Add the descriptor in result list + $v_result_list[sizeof($v_result_list)] = $v_descr; + + // ----- Look for folder + if ($v_descr['type'] == 'folder') { + // ----- List of items in folder + $v_dirlist_descr = array(); + $v_dirlist_nb = 0; + if ($v_folder_handler = @opendir($v_descr['filename'])) { + while (($v_item_handler = @readdir($v_folder_handler)) !== false) { + // ----- Skip '.' and '..' + if (($v_item_handler == '.') || ($v_item_handler == '..')) { + continue; + } + + // ----- Compose the full filename + $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler; + + // ----- Look for different stored filename + // Because the name of the folder was changed, the name of the + // files/sub-folders also change + if (($v_descr['stored_filename'] != $v_descr['filename']) + && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { + if ($v_descr['stored_filename'] != '') { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler; + } else { + $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler; + } + } + $v_dirlist_nb++; + } + + @closedir($v_folder_handler); + } else { + // TBC : unable to open folder in read mode + } + + // ----- Expand each element of the list + if ($v_dirlist_nb != 0) { + // ----- Expand + if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) { + return $v_result; + } + + // ----- Concat the resulting list + $v_result_list = array_merge($v_result_list, $v_dirlist_descr); + } + + // ----- Free local array + unset($v_dirlist_descr); + } + } + + // ----- Get the result list + $p_filedescr_list = $v_result_list; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCreate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privCreate($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the file in write mode + if (($v_result = $this->privOpenFd('wb')) != 1) { + // ----- Return + return $v_result; + } + + // ----- Add the list of files + $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options); + + // ----- Close $this->privCloseFd(); + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return return $v_result; - } - - - // ----- Store the index - $v_header_list[$v_nb_extracted]['index'] = $i; - - // ----- Look for the specific extract rules - $v_found = false; - - // ----- Look for extract by name rule - if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) - && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { - - // ----- Look if the filename is in the list - for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) { - - // ----- Look for a directory - if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { - - // ----- Look if the directory is in the filename path - if ( (strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) - && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { - $v_found = true; - } - elseif ( (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ - && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { - $v_found = true; - } - } - // ----- Look for a filename - elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { - $v_found = true; - } - } - } - - // ----- Look for extract by ereg rule - // ereg() is deprecated with PHP 5.3 - /* - else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) - && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { - - if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { - $v_found = true; - } - } - */ - - // ----- Look for extract by preg rule - else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) - && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { - - if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { - $v_found = true; - } - } - - // ----- Look for extract by index rule - else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) - && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { - - // ----- Look if the index is in the list - for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) { - - if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { - $v_found = true; - } - if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { - $j_start = $j+1; - } - - if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { - break; - } - } - } - else { - $v_found = true; - } - - // ----- Look for deletion - if ($v_found) - { - unset($v_header_list[$v_nb_extracted]); - } - else - { - $v_nb_extracted++; - } } + // -------------------------------------------------------------------------------- - // ----- Look if something need to be deleted - if ($v_nb_extracted > 0) { + // -------------------------------------------------------------------------------- + // Function : privAdd() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privAdd($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_list_detail = array(); + + // ----- Look if the archive exists or is empty + if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) { + // ----- Do a create + $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options); + + // ----- Return + return $v_result; + } + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); // ----- Creates a temporay file $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; - // ----- Creates a temporary zip archive - $v_temp_zip = new PclZip($v_zip_temp_name); - - // ----- Open the temporary zip file in write mode - if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) { $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } - // ----- Look which file need to be kept - for ($i=0; $i<sizeof($v_header_list); $i++) { - - // ----- Calculate the position of the header - @rewind($this->zip_fd); - if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { - // ----- Close the zip file - $this->privCloseFd(); - $v_temp_zip->privCloseFd(); - @unlink($v_zip_temp_name); - - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Read the file header - $v_local_header = array(); - if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) { - // ----- Close the zip file - $this->privCloseFd(); - $v_temp_zip->privCloseFd(); - @unlink($v_zip_temp_name); - - // ----- Return - return $v_result; - } - - // ----- Check that local file header is same as central file header - if ($this->privCheckFileHeaders($v_local_header, - $v_header_list[$i]) != 1) { - // TBC - } - unset($v_local_header); - - // ----- Write the file header - if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { - // ----- Close the zip file - $this->privCloseFd(); - $v_temp_zip->privCloseFd(); - @unlink($v_zip_temp_name); - - // ----- Return - return $v_result; - } - - // ----- Read/write the data block - if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { - // ----- Close the zip file - $this->privCloseFd(); - $v_temp_zip->privCloseFd(); - @unlink($v_zip_temp_name); - - // ----- Return - return $v_result; - } - } - // ----- Store the offset of the central dir - $v_offset = @ftell($v_temp_zip->zip_fd); + $v_offset = @ftell($this->zip_fd); - // ----- Re-Create the Central Dir files header - for ($i=0; $i<sizeof($v_header_list); $i++) { + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Create the Central Dir files header + for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++) { // ----- Create the file header - if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) { - $v_temp_zip->privCloseFd(); - $this->privCloseFd(); - @unlink($v_zip_temp_name); + if ($v_header_list[$i]['status'] == 'ok') { + if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + fclose($v_zip_temp_fd); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); - // ----- Return - return $v_result; + // ----- Return + return $v_result; + } + $v_count++; } // ----- Transform the header to a 'usable' info - $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); } - // ----- Zip file comment - $v_comment = ''; + $v_comment = $v_central_dir['comment']; if (isset($p_options[PCLZIP_OPT_COMMENT])) { - $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { + $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; + } + if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; } // ----- Calculate the size of the central header - $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; + $v_size = @ftell($this->zip_fd)-$v_offset; // ----- Create the central dir footer - if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { + if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) { // ----- Reset the file list unset($v_header_list); - $v_temp_zip->privCloseFd(); - $this->privCloseFd(); - @unlink($v_zip_temp_name); + $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + // ----- Close - $v_temp_zip->privCloseFd(); $this->privCloseFd(); + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + // ----- Delete the zip file // TBC : I should test the result ... @unlink($this->zipname); @@ -4953,539 +2178,2812 @@ // TBC : I should test the result ... //@rename($v_zip_temp_name, $this->zipname); PclZipUtilRename($v_zip_temp_name, $this->zipname); - - // ----- Destroy the temporary archive - unset($v_temp_zip); + + // ----- Return + return $v_result; } - - // ----- Remove every files : reset the file - else if ($v_central_dir['entries'] != 0) { + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privOpenFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function privOpenFd($p_mode) + { + $v_result=1; + + // ----- Look if already open + if ($this->zip_fd != 0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCloseFd() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function privCloseFd() + { + $v_result=1; + + if ($this->zip_fd != 0) { + @fclose($this->zip_fd); + } + $this->zip_fd = 0; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddList() + // Description : + // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is + // different from the real path of the file. This is usefull if you want to have PclTar + // running in any directory, and memorize relative path from an other directory. + // Parameters : + // $p_list : An array containing the file or directory names to add in the tar + // $p_result_list : list of added files with their properties (specially the status field) + // $p_add_dir : Path to add in the filename path archived + // $p_remove_dir : Path to remove in the filename path archived + // Return Values : + // -------------------------------------------------------------------------------- + // public function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) + public function privAddList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + + // ----- Add the files + $v_header_list = array(); + if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) { + // ----- Return + return $v_result; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($this->zip_fd); + + // ----- Create the Central Dir files header + for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++) { + // ----- Create the file header + if ($v_header_list[$i]['status'] == 'ok') { + if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + // ----- Return + return $v_result; + } + $v_count++; + } + + // ----- Transform the header to a 'usable' info + $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($this->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) { + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileList() + // Description : + // Parameters : + // $p_filedescr_list : An array containing the file description + // or directory names to add in the zip + // $p_result_list : list of added files with their properties (specially the status field) + // Return Values : + // -------------------------------------------------------------------------------- + public function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) + { + $v_result=1; + $v_header = array(); + + // ----- Recuperate the current number of elt in list + $v_nb = sizeof($p_result_list); + + // ----- Loop on the files + for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) { + // ----- Format the filename + $p_filedescr_list[$j]['filename'] = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false); + + // ----- Skip empty file names + // TBC : Can this be possible ? not checked in DescrParseAtt ? + if ($p_filedescr_list[$j]['filename'] == "") { + continue; + } + + // ----- Check the filename + if (($p_filedescr_list[$j]['type'] != 'virtual_file') && (!file_exists($p_filedescr_list[$j]['filename']))) { + PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exist"); + return PclZip::errorCode(); + } + + // ----- Look if it is a file or a dir with no all path remove option + // or a dir with all its path removed + // if ( (is_file($p_filedescr_list[$j]['filename'])) + // || ( is_dir($p_filedescr_list[$j]['filename']) + if (($p_filedescr_list[$j]['type'] == 'file') || ($p_filedescr_list[$j]['type'] == 'virtual_file') || (($p_filedescr_list[$j]['type'] == 'folder') && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]) || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { + // ----- Add the file + $v_result = $this->privAddFile($p_filedescr_list[$j], $v_header, $p_options); + if ($v_result != 1) { + return $v_result; + } + + // ----- Store the file infos + $p_result_list[$v_nb++] = $v_header; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privAddFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=1; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + // TBC : Already done in the fileAtt check ... ? + if ($p_filename == "") { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for a stored different filename + /* TBC : Removed + if (isset($p_filedescr['stored_filename'])) { + $v_stored_filename = $p_filedescr['stored_filename']; + } + else { + $v_stored_filename = $p_filedescr['stored_filename']; + } + */ + + // ----- Set the file properties + clearstatcache(); + $p_header['version'] = 20; + $p_header['version_extracted'] = 10; + $p_header['flag'] = 0; + $p_header['compression'] = 0; + $p_header['crc'] = 0; + $p_header['compressed_size'] = 0; + $p_header['filename_len'] = strlen($p_filename); + $p_header['extra_len'] = 0; + $p_header['disk'] = 0; + $p_header['internal'] = 0; + $p_header['offset'] = 0; + $p_header['filename'] = $p_filename; + // TBC : Removed $p_header['stored_filename'] = $v_stored_filename; + $p_header['stored_filename'] = $p_filedescr['stored_filename']; + $p_header['extra'] = ''; + $p_header['status'] = 'ok'; + $p_header['index'] = -1; + + // ----- Look for regular file + if ($p_filedescr['type']=='file') { + $p_header['external'] = 0x00000000; + $p_header['size'] = filesize($p_filename); + } elseif ($p_filedescr['type']=='folder') { + // ----- Look for regular folder + $p_header['external'] = 0x00000010; + $p_header['mtime'] = filemtime($p_filename); + $p_header['size'] = filesize($p_filename); + } elseif ($p_filedescr['type'] == 'virtual_file') { + // ----- Look for virtual file + $p_header['external'] = 0x00000000; + $p_header['size'] = strlen($p_filedescr['content']); + } + + // ----- Look for filetime + if (isset($p_filedescr['mtime'])) { + $p_header['mtime'] = $p_filedescr['mtime']; + } elseif ($p_filedescr['type'] == 'virtual_file') { + $p_header['mtime'] = time(); + } else { + $p_header['mtime'] = filemtime($p_filename); + } + + // ------ Look for file comment + if (isset($p_filedescr['comment'])) { + $p_header['comment_len'] = strlen($p_filedescr['comment']); + $p_header['comment'] = $p_filedescr['comment']; + } else { + $p_header['comment_len'] = 0; + $p_header['comment'] = ''; + } + + // ----- Look for pre-add callback + if (isset($p_options[PCLZIP_CB_PRE_ADD])) { + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_PRE_ADD].'(PCLZIP_CB_PRE_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_header['status'] = "skipped"; + $v_result = 1; + } + + // ----- Update the informations + // Only some fields can be modified + if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { + $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); + } + } + + // ----- Look for empty stored filename + if ($p_header['stored_filename'] == "") { + $p_header['status'] = "filtered"; + } + + // ----- Check the path length + if (strlen($p_header['stored_filename']) > 0xFF) { + $p_header['status'] = 'filename_too_long'; + } + + // ----- Look if no error, or file not skipped + if ($p_header['status'] == 'ok') { + // ----- Look for a file + if ($p_filedescr['type'] == 'file') { + // ----- Look for using temporary file to zip + if ((!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])))) { + $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } else { + // ----- Use "in memory" zip algo + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Read the file content + $v_content = @fread($v_file, $p_header['size']); + + // ----- Close the file + @fclose($v_file); + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } else { + // ----- Look for normal compression + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + } + } elseif ($p_filedescr['type'] == 'virtual_file') { + // ----- Look for a virtual file (a file from string) + $v_content = $p_filedescr['content']; + + // ----- Calculate the CRC + $p_header['crc'] = @crc32($v_content); + + // ----- Look for no compression + if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { + // ----- Set header parameters + $p_header['compressed_size'] = $p_header['size']; + $p_header['compression'] = 0; + } else { + // ----- Look for normal compression + // ----- Compress the content + $v_content = @gzdeflate($v_content); + + // ----- Set header parameters + $p_header['compressed_size'] = strlen($v_content); + $p_header['compression'] = 8; + } + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + @fclose($v_file); + return $v_result; + } + + // ----- Write the compressed (or not) content + @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); + } elseif ($p_filedescr['type'] == 'folder') { + // ----- Look for a directory + // ----- Look for directory last '/' + if (@substr($p_header['stored_filename'], -1) != '/') { + $p_header['stored_filename'] .= '/'; + } + + // ----- Set the file properties + $p_header['size'] = 0; + //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked + $p_header['external'] = 0x00000010; // Value for a folder : to be checked + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + return $v_result; + } + } + } + + // ----- Look for post-add callback + if (isset($p_options[PCLZIP_CB_POST_ADD])) { + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_header, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_POST_ADD].'(PCLZIP_CB_POST_ADD, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header); + if ($v_result == 0) { + // ----- Ignored + $v_result = 1; + } + + // ----- Update the informations + // Nothing can be modified + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privAddFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options) + { + $v_result=PCLZIP_ERR_NO_ERROR; + + // ----- Working variable + $p_filename = $p_filedescr['filename']; + + + // ----- Open the source file + if (($v_file = @fopen($p_filename, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); + return PclZip::errorCode(); + } + + // ----- Creates a compressed temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = filesize($p_filename); + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @gzputs($v_file_compressed, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file); + @gzclose($v_file_compressed); + + // ----- Check the minimum file size + if (filesize($v_gzip_temp_name) < 18) { + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes'); + return PclZip::errorCode(); + } + + // ----- Extract the compressed attributes + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the gzip file header + $v_binary_data = @fread($v_file_compressed, 10); + $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data); + + // ----- Check some parameters + $v_data_header['os'] = bin2hex($v_data_header['os']); + + // ----- Read the gzip file footer + @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8); + $v_binary_data = @fread($v_file_compressed, 8); + $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data); + + // ----- Set the attributes + $p_header['compression'] = ord($v_data_header['cm']); + //$p_header['mtime'] = $v_data_header['mtime']; + $p_header['crc'] = $v_data_footer['crc']; + $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18; + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Call the header generation + if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { + return $v_result; + } + + // ----- Add the compressed data + if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + fseek($v_file_compressed, 10); + $v_size = $p_header['compressed_size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($v_file_compressed, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close the file + @fclose($v_file_compressed); + + // ----- Unlink the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privCalculateStoredFilename() + // Description : + // Based on file descriptor properties and global options, this method + // calculate the filename that will be stored in the archive. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privCalculateStoredFilename(&$p_filedescr, &$p_options) + { + $v_result=1; + + // ----- Working variables + $p_filename = $p_filedescr['filename']; + if (isset($p_options[PCLZIP_OPT_ADD_PATH])) { + $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH]; + } else { + $p_add_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) { + $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH]; + } else { + $p_remove_dir = ''; + } + if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { + $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH]; + } else { + $p_remove_all_dir = 0; + } + + // ----- Look for full name change + if (isset($p_filedescr['new_full_name'])) { + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']); + } else { + // ----- Look for path and/or short name change + // ----- Look for short name change + // Its when we cahnge just the filename but not the path + if (isset($p_filedescr['new_short_name'])) { + $v_path_info = pathinfo($p_filename); + $v_dir = ''; + if ($v_path_info['dirname'] != '') { + $v_dir = $v_path_info['dirname'].'/'; + } + $v_stored_filename = $v_dir.$p_filedescr['new_short_name']; + } else { + // ----- Calculate the stored filename + $v_stored_filename = $p_filename; + } + + // ----- Look for all path to remove + if ($p_remove_all_dir) { + $v_stored_filename = basename($p_filename); + } elseif ($p_remove_dir != "") { + // ----- Look for partial path remove + if (substr($p_remove_dir, -1) != '/') { + $p_remove_dir .= "/"; + } + + if ((substr($p_filename, 0, 2) == "./") || (substr($p_remove_dir, 0, 2) == "./")) { + if ((substr($p_filename, 0, 2) == "./") && (substr($p_remove_dir, 0, 2) != "./")) { + $p_remove_dir = "./".$p_remove_dir; + } + if ((substr($p_filename, 0, 2) != "./") && (substr($p_remove_dir, 0, 2) == "./")) { + $p_remove_dir = substr($p_remove_dir, 2); + } + } + + $v_compare = PclZipUtilPathInclusion($p_remove_dir, $v_stored_filename); + if ($v_compare > 0) { + if ($v_compare == 2) { + $v_stored_filename = ""; + } else { + $v_stored_filename = substr($v_stored_filename, strlen($p_remove_dir)); + } + } + } + + // ----- Remove drive letter if any + $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename); + + // ----- Look for path to add + if ($p_add_dir != "") { + if (substr($p_add_dir, -1) == "/") { + $v_stored_filename = $p_add_dir.$v_stored_filename; + } else { + $v_stored_filename = $p_add_dir."/".$v_stored_filename; + } + } + } + + // ----- Filename (reduce the path of stored name) + $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); + $p_filedescr['stored_filename'] = $v_stored_filename; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privWriteFileHeader(&$p_header) + { + $v_result=1; + + // ----- Store the offset position of the file + $p_header['offset'] = ftell($this->zip_fd); + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + // ----- Packed data + $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, $p_header['version_extracted'], $p_header['flag'], $p_header['compression'], $v_mtime, $v_mdate, $p_header['crc'], $p_header['compressed_size'], $p_header['size'], strlen($p_header['stored_filename']), $p_header['extra_len']); + + // ----- Write the first 148 bytes of the header in the archive + fputs($this->zip_fd, $v_binary_data, 30); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privWriteCentralFileHeader(&$p_header) + { + $v_result=1; + + // TBC + //for(reset($p_header); $key = key($p_header); next($p_header)) { + //} + + // ----- Transform UNIX mtime to DOS format mdate/mtime + $v_date = getdate($p_header['mtime']); + $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; + $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; + + + // ----- Packed data + $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, $p_header['version'], $p_header['version_extracted'], $p_header['flag'], $p_header['compression'], $v_mtime, $v_mdate, $p_header['crc'], $p_header['compressed_size'], $p_header['size'], strlen($p_header['stored_filename']), $p_header['extra_len'], $p_header['comment_len'], $p_header['disk'], $p_header['internal'], $p_header['external'], $p_header['offset']); + + // ----- Write the 42 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 46); + + // ----- Write the variable fields + if (strlen($p_header['stored_filename']) != 0) { + fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); + } + if ($p_header['extra_len'] != 0) { + fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); + } + if ($p_header['comment_len'] != 0) { + fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privWriteCentralHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) + { + $v_result = 1; + + // ----- Packed data + $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, $p_nb_entries, $p_size, $p_offset, strlen($p_comment)); + + // ----- Write the 22 bytes of the header in the zip file + fputs($this->zip_fd, $v_binary_data, 22); + + // ----- Write the variable fields + if (strlen($p_comment) != 0) { + fputs($this->zip_fd, $p_comment, strlen($p_comment)); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privList() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privList(&$p_list) + { + $v_result = 1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Open the zip file + if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) { + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Go to beginning of Central Dir + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_central_dir['offset'])) { + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + for ($i=0; $i<$v_central_dir['entries']; $i++) { + // ----- Read the file header + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + $v_header['index'] = $i; + + // ----- Get the only interesting attributes + $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); + unset($v_header); + } + + // ----- Close the zip file $this->privCloseFd(); - if (($v_result = $this->privOpenFd('wb')) != 1) { - return $v_result; + // ----- Magic quotes trick + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privConvertHeader2FileInfo() + // Description : + // This function takes the file informations from the central directory + // entries and extract the interesting parameters that will be given back. + // The resulting file infos are set in the array $p_info + // $p_info['filename'] : Filename with full path. Given by user (add), + // extracted in the filesystem (extract). + // $p_info['stored_filename'] : Stored filename in the archive. + // $p_info['size'] = Size of the file. + // $p_info['compressed_size'] = Compressed size of the file. + // $p_info['mtime'] = Last modification date of the file. + // $p_info['comment'] = Comment associated with the file. + // $p_info['folder'] = true/false : indicates if the entry is a folder or not. + // $p_info['status'] = status of the action on the file. + // $p_info['crc'] = CRC of the file content. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privConvertHeader2FileInfo($p_header, &$p_info) + { + $v_result=1; + + // ----- Get the interesting attributes + $v_temp_path = PclZipUtilPathReduction($p_header['filename']); + $p_info['filename'] = $v_temp_path; + $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']); + $p_info['stored_filename'] = $v_temp_path; + $p_info['size'] = $p_header['size']; + $p_info['compressed_size'] = $p_header['compressed_size']; + $p_info['mtime'] = $p_header['mtime']; + $p_info['comment'] = $p_header['comment']; + $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); + $p_info['index'] = $p_header['index']; + $p_info['status'] = $p_header['status']; + $p_info['crc'] = $p_header['crc']; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractByRule() + // Description : + // Extract a file or directory depending of rules (by index, by name, ...) + // Parameters : + // $p_file_list : An array where will be placed the properties of each + // extracted file + // $p_path : Path to add while writing the extracted files + // $p_remove_path : Path to remove (from the file memorized path) while writing the + // extracted files. If the path does not match the file path, + // the file is extracted with its memorized path. + // $p_remove_path does not apply to 'list' mode. + // $p_path and $p_remove_path are commulative. + // Return Values : + // 1 on success,0 or less on error (see error code list) + // -------------------------------------------------------------------------------- + public function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) + { + $v_result=1; + + // ----- Magic quotes trick + $this->privDisableMagicQuotes(); + + // ----- Check the path + if (($p_path == "") || ((substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../") && (substr($p_path, 1, 2)!=":/"))) { + $p_path = "./".$p_path; } - if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { - return $v_result; + // ----- Reduce the path last (and duplicated) '/' + if (($p_path != "./") && ($p_path != "/")) { + // ----- Look for the path end '/' + while (substr($p_path, -1) == "/") { + $p_path = substr($p_path, 0, strlen($p_path)-1); + } } + // ----- Look for path to remove format (should end by /) + if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) { + $p_remove_path .= '/'; + } + $p_remove_path_size = strlen($p_remove_path); + + // ----- Open the zip file + if (($v_result = $this->privOpenFd('rb')) != 1) { + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + + // ----- Read each entry + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) { + // ----- Read next Central dir entry + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Store the index + $v_header['index'] = $i; + + // ----- Store the file position + $v_pos_entry = ftell($this->zip_fd); + + // ----- Look for the specific extract rules + $v_extract = false; + + // ----- Look for extract by name rule + if ((isset($p_options[PCLZIP_OPT_BY_NAME])) && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + // ----- Look if the filename is in the list + for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) { + // ----- Look for a directory + if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { + // ----- Look if the directory is in the filename path + if ((strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_extract = true; + } + } elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + // ----- Look for a filename + $v_extract = true; + } + } + } elseif ((isset($p_options[PCLZIP_OPT_BY_PREG])) && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + // ----- Look for extract by preg rule + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { + $v_extract = true; + } + } elseif ((isset($p_options[PCLZIP_OPT_BY_INDEX])) && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + // ----- Look for extract by index rule + // ----- Look if the index is in the list + for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) { + if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_extract = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } else { + // ----- Look for no rule, which means extract all the archive + $v_extract = true; + } + + // ----- Check compression method + if (($v_extract) && (($v_header['compression'] != 8) && ($v_header['compression'] != 0))) { + $v_header['status'] = 'unsupported_compression'; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ((isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR] === true)) { + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION, "Filename '".$v_header['stored_filename']."' is compressed by an unsupported compression method (".$v_header['compression'].") "); + + return PclZip::errorCode(); + } + } + + // ----- Check encrypted files + if (($v_extract) && (($v_header['flag'] & 1) == 1)) { + $v_header['status'] = 'unsupported_encryption'; + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + if ((isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR] === true)) { + $this->privSwapBackMagicQuotes(); + + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, "Unsupported encryption for filename '".$v_header['stored_filename']."'"); + + return PclZip::errorCode(); + } + } + + // ----- Look for real extraction + if (($v_extract) && ($v_header['status'] != 'ok')) { + $v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++]); + if ($v_result != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + $v_extract = false; + } + + // ----- Look for real extraction + if ($v_extract) { + // ----- Go to the file position + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_header['offset'])) { + // ----- Close the zip file + $this->privCloseFd(); + + $this->privSwapBackMagicQuotes(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Look for extraction as string + if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { + $v_string = ''; + + // ----- Extracting the file + $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Set the file content + $p_file_list[$v_nb_extracted]['content'] = $v_string; + + // ----- Next extracted file + $v_nb_extracted++; + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } elseif ((isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { + // ----- Look for extraction in standard output + // ----- Extracting the file in standard output + $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } else { + // ----- Look for normal extraction + // ----- Extracting the file + $v_result1 = $this->privExtractFile($v_header, $p_path, $p_remove_path, $p_remove_all_path, $p_options); + if ($v_result1 < 1) { + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + return $v_result1; + } + + // ----- Get the only interesting attributes + if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + return $v_result; + } + + // ----- Look for user callback abort + if ($v_result1 == 2) { + break; + } + } + } + } + + // ----- Close the zip file $this->privCloseFd(); + $this->privSwapBackMagicQuotes(); + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privDirCheck() - // Description : - // Check if a directory exists, if not it creates it and all the parents directory - // which may be useful. - // Parameters : - // $p_dir : Directory path to check. - // Return Values : - // 1 : OK - // -1 : Unable to create directory - // -------------------------------------------------------------------------------- - function privDirCheck($p_dir, $p_is_dir=false) - { - $v_result = 1; - - - // ----- Remove the final '/' - if (($p_is_dir) && (substr($p_dir, -1)=='/')) + // -------------------------------------------------------------------------------- + // Function : privExtractFile() + // Description : + // Parameters : + // Return Values : + // + // 1 : ... ? + // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback + // -------------------------------------------------------------------------------- + public function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) { - $p_dir = substr($p_dir, 0, strlen($p_dir)-1); - } + $v_result=1; - // ----- Check the directory availability - if ((is_dir($p_dir)) || ($p_dir == "")) - { - return 1; - } - - // ----- Extract parent directory - $p_parent_dir = dirname($p_dir); - - // ----- Just a check - if ($p_parent_dir != $p_dir) - { - // ----- Look for parent directory - if ($p_parent_dir != "") - { - if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) - { - return $v_result; + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + // ----- Return + return $v_result; } - } - } - // ----- Create the directory - if (!@mkdir($p_dir, 0777)) + + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for all path to remove + if ($p_remove_all_path == true) { + // ----- Look for folder entry that not need to be extracted + if (($p_entry['external']&0x00000010)==0x00000010) { + $p_entry['status'] = "filtered"; + + return $v_result; + } + + // ----- Get the basename of the path + $p_entry['filename'] = basename($p_entry['filename']); + } elseif ($p_remove_path != "") { + // ----- Look for path to remove + if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) { + // ----- Change the file status + $p_entry['status'] = "filtered"; + + // ----- Return + return $v_result; + } + + $p_remove_path_size = strlen($p_remove_path); + if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) { + // ----- Remove the path + $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); + } + } + + // ----- Add the path + if ($p_path != '') { + $p_entry['filename'] = $p_path."/".$p_entry['filename']; + } + + // ----- Check a base_dir_restriction + if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { + $v_inclusion = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION], $p_entry['filename']); + if ($v_inclusion == 0) { + PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION, "Filename '".$p_entry['filename']."' is outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION"); + + return PclZip::errorCode(); + } + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + // ----- Look for specific actions while the file exist + if (file_exists($p_entry['filename'])) { + // ----- Look if file is a directory + if (is_dir($p_entry['filename'])) { + // ----- Change the file status + $p_entry['status'] = "already_a_directory"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ((isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { + PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY, "Filename '".$p_entry['filename']."' is already used by an existing directory"); + return PclZip::errorCode(); + } + } elseif (!is_writeable($p_entry['filename'])) { + // ----- Look if file is write protected + // ----- Change the file status + $p_entry['status'] = "write_protected"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ((isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR] === true)) { + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, "Filename '".$p_entry['filename']."' exists and is write protected"); + return PclZip::errorCode(); + } + } elseif (filemtime($p_entry['filename']) > $p_entry['mtime']) { + // ----- Look if the extracted file is older + // ----- Change the file status + if ((isset($p_options[PCLZIP_OPT_REPLACE_NEWER])) && ($p_options[PCLZIP_OPT_REPLACE_NEWER] === true)) { + } else { + $p_entry['status'] = "newer_exist"; + + // ----- Look for PCLZIP_OPT_STOP_ON_ERROR + // For historical reason first PclZip implementation does not stop + // when this kind of error occurs. + if ((isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR] === true)) { + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, "Newer version of '".$p_entry['filename']."' exists and option PCLZIP_OPT_REPLACE_NEWER is not selected"); + return PclZip::errorCode(); + } + } + } else { + } + } else { + // ----- Check the directory availability and create it if necessary + if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) { + $v_dir_to_check = $p_entry['filename']; + } elseif (!strstr($p_entry['filename'], "/")) { + $v_dir_to_check = ""; + } else { + $v_dir_to_check = dirname($p_entry['filename']); + } + + if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { + // ----- Change the file status + $p_entry['status'] = "path_creation_fail"; + + // ----- Return + //return $v_result; + $v_result = 1; + } + } + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010) == 0x00000010)) { + // ----- Look for not compressed file + if ($p_entry['compression'] == 0) { + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + // ----- Change the file status + $p_entry['status'] = "write_error"; + + // ----- Return + return $v_result; + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + /* Try to speed up the code + $v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_binary_data, $v_read_size); + */ + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Closing the destination file + fclose($v_dest_file); + + // ----- Change the file mtime + touch($p_entry['filename'], $p_entry['mtime']); + } else { + // ----- TBC + // Need to be finished + if (($p_entry['flag'] & 1) == 1) { + PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.'); + return PclZip::errorCode(); + } + + // ----- Look for using temporary file to unzip + if ((!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])))) { + $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options); + if ($v_result < PCLZIP_ERR_NO_ERROR) { + return $v_result; + } + } else { + // ----- Look for extract in memory + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = @gzinflate($v_buffer); + unset($v_buffer); + if ($v_file_content === false) { + // ----- Change the file status + // TBC + $p_entry['status'] = "error"; + + return $v_result; + } + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + // ----- Change the file status + $p_entry['status'] = "write_error"; + + return $v_result; + } + + // ----- Write the uncompressed data + @fwrite($v_dest_file, $v_file_content, $p_entry['size']); + unset($v_file_content); + + // ----- Closing the destination file + @fclose($v_dest_file); + } + + // ----- Change the file mtime + @touch($p_entry['filename'], $p_entry['mtime']); + } + + // ----- Look for chmod option + if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { + // ----- Change the mode of the file + @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); + } + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + // ----- Look for post-extract callback + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privExtractFileUsingTempFile() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privExtractFileUsingTempFile(&$p_entry, &$p_options) { - // ----- Error log - PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); + $v_result=1; - // ----- Return - return PclZip::errorCode(); + // ----- Creates a temporary file + $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; + if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) { + fclose($v_file); + PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); + return PclZip::errorCode(); + } + + // ----- Write gz file format header + $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); + @fwrite($v_dest_file, $v_binary_data, 10); + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['compressed_size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Write gz file format footer + $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']); + @fwrite($v_dest_file, $v_binary_data, 8); + + // ----- Close the temporary file + @fclose($v_dest_file); + + // ----- Opening destination file + if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { + $p_entry['status'] = "write_error"; + return $v_result; + } + + // ----- Open the temporary gz file + if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) { + @fclose($v_dest_file); + $p_entry['status'] = "read_error"; + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); + return PclZip::errorCode(); + } + + // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks + $v_size = $p_entry['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($v_src_file, $v_read_size); + //$v_binary_data = pack('a'.$v_read_size, $v_buffer); + @fwrite($v_dest_file, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + @fclose($v_dest_file); + @gzclose($v_src_file); + + // ----- Delete the temporary file + @unlink($v_gzip_temp_name); + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privMerge() - // Description : - // If $p_archive_to_add does not exist, the function exit with a success result. - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privMerge(&$p_archive_to_add) - { - $v_result=1; - - // ----- Look if the archive_to_add exists - if (!is_file($p_archive_to_add->zipname)) + // -------------------------------------------------------------------------------- + // Function : privExtractFileInOutput() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privExtractFileInOutput(&$p_entry, &$p_options) { + $v_result=1; - // ----- Nothing to merge, so merge is a success - $v_result = 1; + // ----- Read the file header + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + return $v_result; + } - // ----- Return - return $v_result; + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + // ----- Trace + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + if ($p_entry['compressed_size'] == $p_entry['size']) { + // ----- Read the file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Send the file to the output + echo $v_buffer; + unset($v_buffer); + } else { + // ----- Read the compressed file in a buffer (one shot) + $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + $v_file_content = gzinflate($v_buffer); + unset($v_buffer); + + // ----- Send the file to the output + echo $v_file_content; + unset($v_file_content); + } + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + // ----- Look for post-extract callback + + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Look if the archive exists - if (!is_file($this->zipname)) + // -------------------------------------------------------------------------------- + // Function : privExtractFileAsString() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privExtractFileAsString(&$p_entry, &$p_string, &$p_options) { + $v_result=1; - // ----- Do a duplicate - $v_result = $this->privDuplicate($p_archive_to_add->zipname); + // ----- Read the file header + $v_header = array(); + if (($v_result = $this->privReadFileHeader($v_header)) != 1) { + // ----- Return + return $v_result; + } - // ----- Return - return $v_result; + // ----- Check that the file header is coherent with $p_entry info + if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { + // TBC + } + + // ----- Look for pre-extract callback + if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); + if ($v_result == 0) { + // ----- Change the file status + $p_entry['status'] = "skipped"; + $v_result = 1; + } + + // ----- Look for abort result + if ($v_result == 2) { + // ----- This status is internal and will be changed in 'skipped' + $p_entry['status'] = "aborted"; + $v_result = PCLZIP_ERR_USER_ABORTED; + } + + // ----- Update the informations + // Only some fields can be modified + $p_entry['filename'] = $v_local_header['filename']; + } + + // ----- Look if extraction should be done + if ($p_entry['status'] == 'ok') { + // ----- Do the extraction (if not a folder) + if (!(($p_entry['external']&0x00000010)==0x00000010)) { + // ----- Look for not compressed file + // if ($p_entry['compressed_size'] == $p_entry['size']) + if ($p_entry['compression'] == 0) { + // ----- Reading the file + $p_string = @fread($this->zip_fd, $p_entry['compressed_size']); + } else { + // ----- Reading the file + $v_data = @fread($this->zip_fd, $p_entry['compressed_size']); + + // ----- Decompress the file + if (($p_string = @gzinflate($v_data)) === false) { + // TBC + } + } + // ----- Trace + } else { + // TBC : error : can not extract a folder in a string + } + } + + // ----- Change abort status + if ($p_entry['status'] == "aborted") { + $p_entry['status'] = "skipped"; + } elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { + // ----- Look for post-extract callback + // ----- Generate a local information + $v_local_header = array(); + $this->privConvertHeader2FileInfo($p_entry, $v_local_header); + + // ----- Swap the content to header + $v_local_header['content'] = $p_string; + $p_string = ''; + + // ----- Call the callback + // Here I do not use call_user_func() because I need to send a reference to the + // header. + // eval('$v_result = '.$p_options[PCLZIP_CB_POST_EXTRACT].'(PCLZIP_CB_POST_EXTRACT, $v_local_header);'); + $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); + + // ----- Swap back the content to header + $p_string = $v_local_header['content']; + unset($v_local_header['content']); + + // ----- Look for abort result + if ($v_result == 2) { + $v_result = PCLZIP_ERR_USER_ABORTED; + } + } + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Open the zip file - if (($v_result=$this->privOpenFd('rb')) != 1) + // -------------------------------------------------------------------------------- + // Function : privReadFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privReadFileHeader(&$p_header) { - // ----- Return - return $v_result; - } + $v_result=1; - // ----- Read the central directory informations - $v_central_dir = array(); - if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x04034b50) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 26); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 26) { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); + + // ----- Get filename + $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); + + // ----- Get extra_fields + if ($v_data['extra_len'] != 0) { + $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); + } else { + $p_header['extra'] = ''; + } + + // ----- Extract properties + $p_header['version_extracted'] = $v_data['version']; + $p_header['compression'] = $v_data['compression']; + $p_header['size'] = $v_data['size']; + $p_header['compressed_size'] = $v_data['compressed_size']; + $p_header['crc'] = $v_data['crc']; + $p_header['flag'] = $v_data['flag']; + $p_header['filename_len'] = $v_data['filename_len']; + + // ----- Recuperate date in UNIX format + $p_header['mdate'] = $v_data['mdate']; + $p_header['mtime'] = $v_data['mtime']; + if ($p_header['mdate'] && $p_header['mtime']) { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } else { + $p_header['mtime'] = time(); + } + + // TBC + //for(reset($v_data); $key = key($v_data); next($v_data)) { + //} + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set the status field + $p_header['status'] = "ok"; + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privReadCentralFileHeader() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privReadCentralFileHeader(&$p_header) { - $this->privCloseFd(); - return $v_result; + $v_result = 1; + + // ----- Read the 4 bytes signature + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] != 0x02014b50) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the first 42 bytes of the header + $v_binary_data = fread($this->zip_fd, 42); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 42) { + $p_header['filename'] = ""; + $p_header['status'] = "invalid_header"; + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); + + // ----- Get filename + if ($p_header['filename_len'] != 0) { + $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); + } else { + $p_header['filename'] = ''; + } + + // ----- Get extra + if ($p_header['extra_len'] != 0) { + $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); + } else { + $p_header['extra'] = ''; + } + + // ----- Get comment + if ($p_header['comment_len'] != 0) { + $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); + } else { + $p_header['comment'] = ''; + } + + // ----- Extract properties + + // ----- Recuperate date in UNIX format + //if ($p_header['mdate'] && $p_header['mtime']) + // TBC : bug : this was ignoring time with 0/0/0 + if (1) { + // ----- Extract time + $v_hour = ($p_header['mtime'] & 0xF800) >> 11; + $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; + $v_seconde = ($p_header['mtime'] & 0x001F)*2; + + // ----- Extract date + $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; + $v_month = ($p_header['mdate'] & 0x01E0) >> 5; + $v_day = $p_header['mdate'] & 0x001F; + + // ----- Get UNIX date format + $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); + + } else { + $p_header['mtime'] = time(); + } + + // ----- Set the stored filename + $p_header['stored_filename'] = $p_header['filename']; + + // ----- Set default status to ok + $p_header['status'] = 'ok'; + + // ----- Look if it is a directory + if (substr($p_header['filename'], -1) == '/') { + //$p_header['external'] = 0x41FF0010; + $p_header['external'] = 0x00000010; + } + + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Go to beginning of File - @rewind($this->zip_fd); - - // ----- Open the archive_to_add file - if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) + // -------------------------------------------------------------------------------- + // Function : privCheckFileHeaders() + // Description : + // Parameters : + // Return Values : + // 1 on success, + // 0 on error; + // -------------------------------------------------------------------------------- + public function privCheckFileHeaders(&$p_local_header, &$p_central_header) { - $this->privCloseFd(); + $v_result=1; - // ----- Return - return $v_result; + // ----- Check the static values + // TBC + if ($p_local_header['filename'] != $p_central_header['filename']) { + } + if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) { + } + if ($p_local_header['flag'] != $p_central_header['flag']) { + } + if ($p_local_header['compression'] != $p_central_header['compression']) { + } + if ($p_local_header['mtime'] != $p_central_header['mtime']) { + } + if ($p_local_header['filename_len'] != $p_central_header['filename_len']) { + } + + // ----- Look for flag bit 3 + if (($p_local_header['flag'] & 8) == 8) { + $p_local_header['size'] = $p_central_header['size']; + $p_local_header['compressed_size'] = $p_central_header['compressed_size']; + $p_local_header['crc'] = $p_central_header['crc']; + } + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Read the central directory informations - $v_central_dir_to_add = array(); - if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) + // -------------------------------------------------------------------------------- + // Function : privReadEndCentralDir() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privReadEndCentralDir(&$p_central_dir) { - $this->privCloseFd(); - $p_archive_to_add->privCloseFd(); + $v_result=1; - return $v_result; + // ----- Go to the end of the zip file + $v_size = filesize($this->zipname); + @fseek($this->zip_fd, $v_size); + if (@ftell($this->zip_fd) != $v_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- First try : look if this is an archive with no commentaries (most of the time) + // in this case the end of central dir is at 22 bytes of the file end + $v_found = 0; + if ($v_size > 26) { + @fseek($this->zip_fd, $v_size-22); + if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read for bytes + $v_binary_data = @fread($this->zip_fd, 4); + $v_data = @unpack('Vid', $v_binary_data); + + // ----- Check signature + if ($v_data['id'] == 0x06054b50) { + $v_found = 1; + } + + $v_pos = ftell($this->zip_fd); + } + + // ----- Go back to the maximum possible size of the Central Dir End Record + if (!$v_found) { + $v_maximum_size = 65557; // 0xFFFF + 22; + if ($v_maximum_size > $v_size) { + $v_maximum_size = $v_size; + } + @fseek($this->zip_fd, $v_size-$v_maximum_size); + if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read byte per byte in order to find the signature + $v_pos = ftell($this->zip_fd); + $v_bytes = 0x00000000; + while ($v_pos < $v_size) { + // ----- Read a byte + $v_byte = @fread($this->zip_fd, 1); + + // ----- Add the byte + //$v_bytes = ($v_bytes << 8) | Ord($v_byte); + // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number + // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. + $v_bytes = (($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); + + // ----- Compare the bytes + if ($v_bytes == 0x504b0506) { + $v_pos++; + break; + } + + $v_pos++; + } + + // ----- Look if not found end of central dir + if ($v_pos == $v_size) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Read the first 18 bytes of the header + $v_binary_data = fread($this->zip_fd, 18); + + // ----- Look for invalid block size + if (strlen($v_binary_data) != 18) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Extract the values + $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); + + // ----- Check the global size + if (($v_pos + $v_data['comment_size'] + 18) != $v_size) { + // ----- Removed in release 2.2 see readme file + // The check of the file size is a little too strict. + // Some bugs where found when a zip is encrypted/decrypted with 'crypt'. + // While decrypted, zip has training 0 bytes + if (0) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'The central dir is not at the end of the archive. Some trailing bytes exists after the archive.'); + + // ----- Return + return PclZip::errorCode(); + } + } + + // ----- Get comment + if ($v_data['comment_size'] != 0) { + $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); + } else { + $p_central_dir['comment'] = ''; + } + + $p_central_dir['entries'] = $v_data['entries']; + $p_central_dir['disk_entries'] = $v_data['disk_entries']; + $p_central_dir['offset'] = $v_data['offset']; + $p_central_dir['size'] = $v_data['size']; + $p_central_dir['disk'] = $v_data['disk']; + $p_central_dir['disk_start'] = $v_data['disk_start']; + + // TBC + //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { + //} + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Go to beginning of File - @rewind($p_archive_to_add->zip_fd); - - // ----- Creates a temporay file - $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; - - // ----- Open the temporary file in write mode - if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) + // -------------------------------------------------------------------------------- + // Function : privDeleteByRule() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privDeleteByRule(&$p_result_list, &$p_options) { - $this->privCloseFd(); - $p_archive_to_add->privCloseFd(); + $v_result=1; + $v_list_detail = array(); - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) { + // ----- Return + return $v_result; + } - // ----- Return - return PclZip::errorCode(); + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Scan all the files + // ----- Start at beginning of Central Dir + $v_pos_entry = $v_central_dir['offset']; + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_pos_entry)) { + // ----- Close the zip file + $this->privCloseFd(); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read each entry + $v_header_list = array(); + $j_start = 0; + for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) { + // ----- Read the file header + $v_header_list[$v_nb_extracted] = array(); + if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + + return $v_result; + } + + + // ----- Store the index + $v_header_list[$v_nb_extracted]['index'] = $i; + + // ----- Look for the specific extract rules + $v_found = false; + + // ----- Look for extract by name rule + if ((isset($p_options[PCLZIP_OPT_BY_NAME])) && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { + // ----- Look if the filename is in the list + for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) { + // ----- Look for a directory + if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { + // ----- Look if the directory is in the filename path + if ((strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } elseif ((($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { + $v_found = true; + } + } elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { + // ----- Look for a filename + $v_found = true; + } + } + } elseif ((isset($p_options[PCLZIP_OPT_BY_PREG])) && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { + // ----- Look for extract by preg rule + if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { + $v_found = true; + } + } elseif ((isset($p_options[PCLZIP_OPT_BY_INDEX])) && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { + // ----- Look for extract by index rule + // ----- Look if the index is in the list + for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) { + if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { + $v_found = true; + } + if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { + $j_start = $j+1; + } + if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { + break; + } + } + } else { + $v_found = true; + } + + // ----- Look for deletion + if ($v_found) { + unset($v_header_list[$v_nb_extracted]); + } else { + $v_nb_extracted++; + } + } + + // ----- Look if something need to be deleted + if ($v_nb_extracted > 0) { + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Creates a temporary zip archive + $v_temp_zip = new PclZip($v_zip_temp_name); + + // ----- Open the temporary zip file in write mode + if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Look which file need to be kept + for ($i=0; $i<sizeof($v_header_list); $i++) { + // ----- Calculate the position of the header + @rewind($this->zip_fd); + if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Read the file header + $v_local_header = array(); + if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Check that local file header is same as central file header + if ($this->privCheckFileHeaders($v_local_header, $v_header_list[$i]) != 1) { + // TBC + } + unset($v_local_header); + + // ----- Write the file header + if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Read/write the data block + if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { + // ----- Close the zip file + $this->privCloseFd(); + $v_temp_zip->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_temp_zip->zip_fd); + + // ----- Re-Create the Central Dir files header + for ($i=0; $i<sizeof($v_header_list); $i++) { + // ----- Create the file header + if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) { + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Transform the header to a 'usable' info + $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); + } + + + // ----- Zip file comment + $v_comment = ''; + if (isset($p_options[PCLZIP_OPT_COMMENT])) { + $v_comment = $p_options[PCLZIP_OPT_COMMENT]; + } + + // ----- Calculate the size of the central header + $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; + + // ----- Create the central dir footer + if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { + // ----- Reset the file list + unset($v_header_list); + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + @unlink($v_zip_temp_name); + + // ----- Return + return $v_result; + } + + // ----- Close + $v_temp_zip->privCloseFd(); + $this->privCloseFd(); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Destroy the temporary archive + unset($v_temp_zip); + } elseif ($v_central_dir['entries'] != 0) { + // ----- Remove every files : reset the file + $this->privCloseFd(); + + if (($v_result = $this->privOpenFd('wb')) != 1) { + return $v_result; + } + + if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { + return $v_result; + } + + $this->privCloseFd(); + } + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Copy the files from the archive to the temporary file - // TBC : Here I should better append the file and go back to erase the central dir - $v_size = $v_central_dir['offset']; - while ($v_size != 0) + // -------------------------------------------------------------------------------- + // Function : privDirCheck() + // Description : + // Check if a directory exists, if not it creates it and all the parents directory + // which may be useful. + // Parameters : + // $p_dir : Directory path to check. + // Return Values : + // 1 : OK + // -1 : Unable to create directory + // -------------------------------------------------------------------------------- + public function privDirCheck($p_dir, $p_is_dir = false) { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = fread($this->zip_fd, $v_read_size); - @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } + $v_result = 1; - // ----- Copy the files from the archive_to_add into the temporary file - $v_size = $v_central_dir_to_add['offset']; - while ($v_size != 0) + // ----- Remove the final '/' + if (($p_is_dir) && (substr($p_dir, -1)=='/')) { + $p_dir = substr($p_dir, 0, strlen($p_dir)-1); + } + + // ----- Check the directory availability + if ((is_dir($p_dir)) || ($p_dir == "")) { + return 1; + } + + // ----- Extract parent directory + $p_parent_dir = dirname($p_dir); + + // ----- Just a check + if ($p_parent_dir != $p_dir) { + // ----- Look for parent directory + if ($p_parent_dir != "") { + if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) { + return $v_result; + } + } + } + + // ----- Create the directory + if (!@mkdir($p_dir, 0777)) { + // ----- Error log + PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privMerge() + // Description : + // If $p_archive_to_add does not exist, the function exit with a success result. + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privMerge(&$p_archive_to_add) { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); - @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; + $v_result=1; + + // ----- Look if the archive_to_add exists + if (!is_file($p_archive_to_add->zipname)) { + // ----- Nothing to merge, so merge is a success + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Look if the archive exists + if (!is_file($this->zipname)) { + // ----- Do a duplicate + $v_result = $this->privDuplicate($p_archive_to_add->zipname); + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('rb')) != 1) { + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir = array(); + if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { + $this->privCloseFd(); + return $v_result; + } + + // ----- Go to beginning of File + @rewind($this->zip_fd); + + // ----- Open the archive_to_add file + if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) { + $this->privCloseFd(); + + // ----- Return + return $v_result; + } + + // ----- Read the central directory informations + $v_central_dir_to_add = array(); + if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + return $v_result; + } + + // ----- Go to beginning of File + @rewind($p_archive_to_add->zip_fd); + + // ----- Creates a temporay file + $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = $v_central_dir['offset']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the files from the archive_to_add into the temporary file + $v_size = $v_central_dir_to_add['offset']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Store the offset of the central dir + $v_offset = @ftell($v_zip_temp_fd); + + // ----- Copy the block of file headers from the old archive + $v_size = $v_central_dir['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($this->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Copy the block of file headers from the archive_to_add + $v_size = $v_central_dir_to_add['size']; + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); + @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Merge the file comments + $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; + + // ----- Calculate the size of the (new) central header + $v_size = @ftell($v_zip_temp_fd)-$v_offset; + + // ----- Swap the file descriptor + // Here is a trick : I swap the temporary fd with the zip fd, in order to use + // the following methods on the temporary fil and not the real archive fd + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Create the central dir footer + if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) { + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + @fclose($v_zip_temp_fd); + $this->zip_fd = null; + + // ----- Reset the file list + unset($v_header_list); + + // ----- Return + return $v_result; + } + + // ----- Swap back the file descriptor + $v_swap = $this->zip_fd; + $this->zip_fd = $v_zip_temp_fd; + $v_zip_temp_fd = $v_swap; + + // ----- Close + $this->privCloseFd(); + $p_archive_to_add->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Delete the zip file + // TBC : I should test the result ... + @unlink($this->zipname); + + // ----- Rename the temporary file + // TBC : I should test the result ... + //@rename($v_zip_temp_name, $this->zipname); + PclZipUtilRename($v_zip_temp_name, $this->zipname); + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Store the offset of the central dir - $v_offset = @ftell($v_zip_temp_fd); - - // ----- Copy the block of file headers from the old archive - $v_size = $v_central_dir['size']; - while ($v_size != 0) + // -------------------------------------------------------------------------------- + // Function : privDuplicate() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privDuplicate($p_archive_filename) { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($this->zip_fd, $v_read_size); - @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } + $v_result=1; - // ----- Copy the block of file headers from the archive_to_add - $v_size = $v_central_dir_to_add['size']; - while ($v_size != 0) + // ----- Look if the $p_archive_filename exists + if (!is_file($p_archive_filename)) { + // ----- Nothing to duplicate, so duplicate is a success. + $v_result = 1; + + // ----- Return + return $v_result; + } + + // ----- Open the zip file + if (($v_result=$this->privOpenFd('wb')) != 1) { + // ----- Return + return $v_result; + } + + // ----- Open the temporary file in write mode + if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) { + $this->privCloseFd(); + + PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); + + // ----- Return + return PclZip::errorCode(); + } + + // ----- Copy the files from the archive to the temporary file + // TBC : Here I should better append the file and go back to erase the central dir + $v_size = filesize($p_archive_filename); + while ($v_size != 0) { + $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = fread($v_zip_temp_fd, $v_read_size); + @fwrite($this->zip_fd, $v_buffer, $v_read_size); + $v_size -= $v_read_size; + } + + // ----- Close + $this->privCloseFd(); + + // ----- Close the temporary file + @fclose($v_zip_temp_fd); + + // ----- Return + return $v_result; + } + // -------------------------------------------------------------------------------- + + // -------------------------------------------------------------------------------- + // Function : privErrorLog() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function privErrorLog($p_error_code = 0, $p_error_string = '') { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); - @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclError($p_error_code, $p_error_string); + } else { + $this->error_code = $p_error_code; + $this->error_string = $p_error_string; + } } + // -------------------------------------------------------------------------------- - // ----- Merge the file comments - $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; - - // ----- Calculate the size of the (new) central header - $v_size = @ftell($v_zip_temp_fd)-$v_offset; - - // ----- Swap the file descriptor - // Here is a trick : I swap the temporary fd with the zip fd, in order to use - // the following methods on the temporary fil and not the real archive fd - $v_swap = $this->zip_fd; - $this->zip_fd = $v_zip_temp_fd; - $v_zip_temp_fd = $v_swap; - - // ----- Create the central dir footer - if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) + // -------------------------------------------------------------------------------- + // Function : privErrorReset() + // Description : + // Parameters : + // -------------------------------------------------------------------------------- + public function privErrorReset() { - $this->privCloseFd(); - $p_archive_to_add->privCloseFd(); - @fclose($v_zip_temp_fd); - $this->zip_fd = null; - - // ----- Reset the file list - unset($v_header_list); - - // ----- Return - return $v_result; + if (PCLZIP_ERROR_EXTERNAL == 1) { + PclErrorReset(); + } else { + $this->error_code = 0; + $this->error_string = ''; + } } + // -------------------------------------------------------------------------------- - // ----- Swap back the file descriptor - $v_swap = $this->zip_fd; - $this->zip_fd = $v_zip_temp_fd; - $v_zip_temp_fd = $v_swap; - - // ----- Close - $this->privCloseFd(); - $p_archive_to_add->privCloseFd(); - - // ----- Close the temporary file - @fclose($v_zip_temp_fd); - - // ----- Delete the zip file - // TBC : I should test the result ... - @unlink($this->zipname); - - // ----- Rename the temporary file - // TBC : I should test the result ... - //@rename($v_zip_temp_name, $this->zipname); - PclZipUtilRename($v_zip_temp_name, $this->zipname); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privDuplicate() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privDuplicate($p_archive_filename) - { - $v_result=1; - - // ----- Look if the $p_archive_filename exists - if (!is_file($p_archive_filename)) + // -------------------------------------------------------------------------------- + // Function : privDisableMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privDisableMagicQuotes() { + $v_result=1; - // ----- Nothing to duplicate, so duplicate is a success. - $v_result = 1; + // ----- Look if function exists + if ((!function_exists("get_magic_quotes_runtime")) || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } - // ----- Return - return $v_result; + // ----- Look if already done + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Get and memorize the magic_quote value + $this->magic_quotes_status = @get_magic_quotes_runtime(); + + // ----- Disable magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime(0); + } + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- - // ----- Open the zip file - if (($v_result=$this->privOpenFd('wb')) != 1) + // -------------------------------------------------------------------------------- + // Function : privSwapBackMagicQuotes() + // Description : + // Parameters : + // Return Values : + // -------------------------------------------------------------------------------- + public function privSwapBackMagicQuotes() { - // ----- Return - return $v_result; + $v_result=1; + + // ----- Look if function exists + if ((!function_exists("get_magic_quotes_runtime")) || (!function_exists("set_magic_quotes_runtime"))) { + return $v_result; + } + + // ----- Look if something to do + if ($this->magic_quotes_status != -1) { + return $v_result; + } + + // ----- Swap back magic_quotes + if ($this->magic_quotes_status == 1) { + @set_magic_quotes_runtime($this->magic_quotes_status); + } + + // ----- Return + return $v_result; } + // -------------------------------------------------------------------------------- +} +// End of class +// -------------------------------------------------------------------------------- - // ----- Open the temporary file in write mode - if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) - { - $this->privCloseFd(); - - PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); - - // ----- Return - return PclZip::errorCode(); - } - - // ----- Copy the files from the archive to the temporary file - // TBC : Here I should better append the file and go back to erase the central dir - $v_size = filesize($p_archive_filename); - while ($v_size != 0) - { - $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = fread($v_zip_temp_fd, $v_read_size); - @fwrite($this->zip_fd, $v_buffer, $v_read_size); - $v_size -= $v_read_size; - } - - // ----- Close - $this->privCloseFd(); - - // ----- Close the temporary file - @fclose($v_zip_temp_fd); - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privErrorLog() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function privErrorLog($p_error_code=0, $p_error_string='') - { - if (PCLZIP_ERROR_EXTERNAL == 1) { - PclError($p_error_code, $p_error_string); - } - else { - $this->error_code = $p_error_code; - $this->error_string = $p_error_string; - } - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privErrorReset() - // Description : - // Parameters : - // -------------------------------------------------------------------------------- - function privErrorReset() - { - if (PCLZIP_ERROR_EXTERNAL == 1) { - PclErrorReset(); - } - else { - $this->error_code = 0; - $this->error_string = ''; - } - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privDisableMagicQuotes() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privDisableMagicQuotes() - { - $v_result=1; - - // ----- Look if function exists - if ( (!function_exists("get_magic_quotes_runtime")) - || (!function_exists("set_magic_quotes_runtime"))) { - return $v_result; - } - - // ----- Look if already done - if ($this->magic_quotes_status != -1) { - return $v_result; - } - - // ----- Get and memorize the magic_quote value - $this->magic_quotes_status = @get_magic_quotes_runtime(); - - // ----- Disable magic_quotes - if ($this->magic_quotes_status == 1) { - @set_magic_quotes_runtime(0); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : privSwapBackMagicQuotes() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function privSwapBackMagicQuotes() - { - $v_result=1; - - // ----- Look if function exists - if ( (!function_exists("get_magic_quotes_runtime")) - || (!function_exists("set_magic_quotes_runtime"))) { - return $v_result; - } - - // ----- Look if something to do - if ($this->magic_quotes_status != -1) { - return $v_result; - } - - // ----- Swap back magic_quotes - if ($this->magic_quotes_status == 1) { - @set_magic_quotes_runtime($this->magic_quotes_status); - } - - // ----- Return - return $v_result; - } - // -------------------------------------------------------------------------------- - - } - // End of class - // -------------------------------------------------------------------------------- - - // -------------------------------------------------------------------------------- - // Function : PclZipUtilPathReduction() - // Description : - // Parameters : - // Return Values : - // -------------------------------------------------------------------------------- - function PclZipUtilPathReduction($p_dir) - { +// -------------------------------------------------------------------------------- +// Function : PclZipUtilPathReduction() +// Description : +// Parameters : +// Return Values : +// -------------------------------------------------------------------------------- +function PclZipUtilPathReduction($p_dir) +{ $v_result = ""; // ----- Look for not empty path if ($p_dir != "") { - // ----- Explode path by directory names - $v_list = explode("/", $p_dir); + // ----- Explode path by directory names + $v_list = explode("/", $p_dir); - // ----- Study directories from last to first - $v_skip = 0; - for ($i=sizeof($v_list)-1; $i>=0; $i--) { - // ----- Look for current path - if ($v_list[$i] == ".") { - // ----- Ignore this directory - // Should be the first $i=0, but no check is done + // ----- Study directories from last to first + $v_skip = 0; + for ($i=sizeof($v_list)-1; $i>=0; $i--) { + // ----- Look for current path + if ($v_list[$i] == ".") { + // ----- Ignore this directory + // Should be the first $i=0, but no check is done + } elseif ($v_list[$i] == "..") { + $v_skip++; + } elseif ($v_list[$i] == "") { + // ----- First '/' i.e. root slash + if ($i == 0) { + $v_result = "/".$v_result; + if ($v_skip > 0) { + // ----- It is an invalid path, so the path is not modified + // TBC + $v_result = $p_dir; + $v_skip = 0; + } + } elseif ($i == (sizeof($v_list)-1)) { + // ----- Last '/' i.e. indicates a directory + $v_result = $v_list[$i]; + } else { + // ----- Double '/' inside the path + // ----- Ignore only the double '//' in path, + // but not the first and last '/' + } + } else { + // ----- Look for item to skip + if ($v_skip > 0) { + $v_skip--; + } else { + $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); + } + } } - else if ($v_list[$i] == "..") { - $v_skip++; + + // ----- Look for skip + if ($v_skip > 0) { + while ($v_skip > 0) { + $v_result = '../'.$v_result; + $v_skip--; + } } - else if ($v_list[$i] == "") { - // ----- First '/' i.e. root slash - if ($i == 0) { - $v_result = "/".$v_result; - if ($v_skip > 0) { - // ----- It is an invalid path, so the path is not modified - // TBC - $v_result = $p_dir; - $v_skip = 0; - } - } - // ----- Last '/' i.e. indicates a directory - else if ($i == (sizeof($v_list)-1)) { - $v_result = $v_list[$i]; - } - // ----- Double '/' inside the path - else { - // ----- Ignore only the double '//' in path, - // but not the first and last '/' - } - } - else { - // ----- Look for item to skip - if ($v_skip > 0) { - $v_skip--; - } - else { - $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); - } - } - } - - // ----- Look for skip - if ($v_skip > 0) { - while ($v_skip > 0) { - $v_result = '../'.$v_result; - $v_skip--; - } - } } // ----- Return return $v_result; - } - // -------------------------------------------------------------------------------- +} +// -------------------------------------------------------------------------------- - // -------------------------------------------------------------------------------- - // Function : PclZipUtilPathInclusion() - // Description : - // This function indicates if the path $p_path is under the $p_dir tree. Or, - // said in an other way, if the file or sub-dir $p_path is inside the dir - // $p_dir. - // The function indicates also if the path is exactly the same as the dir. - // This function supports path with duplicated '/' like '//', but does not - // support '.' or '..' statements. - // Parameters : - // Return Values : - // 0 if $p_path is not inside directory $p_dir - // 1 if $p_path is inside directory $p_dir - // 2 if $p_path is exactly the same as $p_dir - // -------------------------------------------------------------------------------- - function PclZipUtilPathInclusion($p_dir, $p_path) - { +// -------------------------------------------------------------------------------- +// Function : PclZipUtilPathInclusion() +// Description : +// This function indicates if the path $p_path is under the $p_dir tree. Or, +// said in an other way, if the file or sub-dir $p_path is inside the dir +// $p_dir. +// The function indicates also if the path is exactly the same as the dir. +// This function supports path with duplicated '/' like '//', but does not +// support '.' or '..' statements. +// Parameters : +// Return Values : +// 0 if $p_path is not inside directory $p_dir +// 1 if $p_path is inside directory $p_dir +// 2 if $p_path is exactly the same as $p_dir +// -------------------------------------------------------------------------------- +function PclZipUtilPathInclusion($p_dir, $p_path) +{ $v_result = 1; - + // ----- Look for path beginning by ./ - if ( ($p_dir == '.') - || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) { - $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1); + if (($p_dir == '.') || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) { + $p_dir = PclZipUtilTranslateWinPath(getcwd(), false).'/'.substr($p_dir, 1); } - if ( ($p_path == '.') - || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) { - $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1); + if (($p_path == '.') || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) { + $p_path = PclZipUtilTranslateWinPath(getcwd(), false).'/'.substr($p_path, 1); } // ----- Explode dir and path by directory separator @@ -5498,194 +4996,178 @@ $i = 0; $j = 0; while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) { + // ----- Look for empty dir (path reduction) + if ($v_list_dir[$i] == '') { + $i++; + continue; + } + if ($v_list_path[$j] == '') { + $j++; + continue; + } - // ----- Look for empty dir (path reduction) - if ($v_list_dir[$i] == '') { + // ----- Compare the items + if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ($v_list_path[$j] != '')) { + $v_result = 0; + } + + // ----- Next items $i++; - continue; - } - if ($v_list_path[$j] == '') { $j++; - continue; - } - - // ----- Compare the items - if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != '')) { - $v_result = 0; - } - - // ----- Next items - $i++; - $j++; } // ----- Look if everything seems to be the same if ($v_result) { - // ----- Skip all the empty items - while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++; - while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++; + // ----- Skip all the empty items + while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) { + $j++; + } + while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) { + $i++; + } - if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { - // ----- There are exactly the same - $v_result = 2; - } - else if ($i < $v_list_dir_size) { - // ----- The path is shorter than the dir - $v_result = 0; - } + if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { + // ----- There are exactly the same + $v_result = 2; + } elseif ($i < $v_list_dir_size) { + // ----- The path is shorter than the dir + $v_result = 0; + } } // ----- Return return $v_result; - } - // -------------------------------------------------------------------------------- +} +// -------------------------------------------------------------------------------- - // -------------------------------------------------------------------------------- - // Function : PclZipUtilCopyBlock() - // Description : - // Parameters : - // $p_mode : read/write compression mode - // 0 : src & dest normal - // 1 : src gzip, dest normal - // 2 : src normal, dest gzip - // 3 : src & dest gzip - // Return Values : - // -------------------------------------------------------------------------------- - function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0) - { +// -------------------------------------------------------------------------------- +// Function : PclZipUtilCopyBlock() +// Description : +// Parameters : +// $p_mode : read/write compression mode +// 0 : src & dest normal +// 1 : src gzip, dest normal +// 2 : src normal, dest gzip +// 3 : src & dest gzip +// Return Values : +// -------------------------------------------------------------------------------- +function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode = 0) +{ $v_result = 1; - if ($p_mode==0) - { - while ($p_size != 0) - { - $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($p_src, $v_read_size); - @fwrite($p_dest, $v_buffer, $v_read_size); - $p_size -= $v_read_size; - } - } - else if ($p_mode==1) - { - while ($p_size != 0) - { - $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @gzread($p_src, $v_read_size); - @fwrite($p_dest, $v_buffer, $v_read_size); - $p_size -= $v_read_size; - } - } - else if ($p_mode==2) - { - while ($p_size != 0) - { - $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @fread($p_src, $v_read_size); - @gzwrite($p_dest, $v_buffer, $v_read_size); - $p_size -= $v_read_size; - } - } - else if ($p_mode==3) - { - while ($p_size != 0) - { - $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); - $v_buffer = @gzread($p_src, $v_read_size); - @gzwrite($p_dest, $v_buffer, $v_read_size); - $p_size -= $v_read_size; - } + if ($p_mode==0) { + while ($p_size != 0) { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } elseif ($p_mode==1) { + while ($p_size != 0) { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @fwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } elseif ($p_mode==2) { + while ($p_size != 0) { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @fread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } + } elseif ($p_mode==3) { + while ($p_size != 0) { + $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); + $v_buffer = @gzread($p_src, $v_read_size); + @gzwrite($p_dest, $v_buffer, $v_read_size); + $p_size -= $v_read_size; + } } // ----- Return return $v_result; - } - // -------------------------------------------------------------------------------- +} +// -------------------------------------------------------------------------------- - // -------------------------------------------------------------------------------- - // Function : PclZipUtilRename() - // Description : - // This function tries to do a simple rename() function. If it fails, it - // tries to copy the $p_src file in a new $p_dest file and then unlink the - // first one. - // Parameters : - // $p_src : Old filename - // $p_dest : New filename - // Return Values : - // 1 on success, 0 on failure. - // -------------------------------------------------------------------------------- - function PclZipUtilRename($p_src, $p_dest) - { +// -------------------------------------------------------------------------------- +// Function : PclZipUtilRename() +// Description : +// This function tries to do a simple rename() function. If it fails, it +// tries to copy the $p_src file in a new $p_dest file and then unlink the +// first one. +// Parameters : +// $p_src : Old filename +// $p_dest : New filename +// Return Values : +// 1 on success, 0 on failure. +// -------------------------------------------------------------------------------- +function PclZipUtilRename($p_src, $p_dest) +{ $v_result = 1; // ----- Try to rename the files if (!@rename($p_src, $p_dest)) { - - // ----- Try to copy & unlink the src - if (!@copy($p_src, $p_dest)) { - $v_result = 0; - } - else if (!@unlink($p_src)) { - $v_result = 0; - } + // ----- Try to copy & unlink the src + if (!@copy($p_src, $p_dest)) { + $v_result = 0; + } elseif (!@unlink($p_src)) { + $v_result = 0; + } } // ----- Return return $v_result; - } - // -------------------------------------------------------------------------------- +} +// -------------------------------------------------------------------------------- - // -------------------------------------------------------------------------------- - // Function : PclZipUtilOptionText() - // Description : - // Translate option value in text. Mainly for debug purpose. - // Parameters : - // $p_option : the option value. - // Return Values : - // The option text value. - // -------------------------------------------------------------------------------- - function PclZipUtilOptionText($p_option) - { - +// -------------------------------------------------------------------------------- +// Function : PclZipUtilOptionText() +// Description : +// Translate option value in text. Mainly for debug purpose. +// Parameters : +// $p_option : the option value. +// Return Values : +// The option text value. +// -------------------------------------------------------------------------------- +function PclZipUtilOptionText($p_option) +{ $v_list = get_defined_constants(); for (reset($v_list); $v_key = key($v_list); next($v_list)) { - $v_prefix = substr($v_key, 0, 10); - if (( ($v_prefix == 'PCLZIP_OPT') - || ($v_prefix == 'PCLZIP_CB_') - || ($v_prefix == 'PCLZIP_ATT')) - && ($v_list[$v_key] == $p_option)) { - return $v_key; - } + $v_prefix = substr($v_key, 0, 10); + if ((($v_prefix == 'PCLZIP_OPT') || ($v_prefix == 'PCLZIP_CB_') || ($v_prefix == 'PCLZIP_ATT')) && ($v_list[$v_key] == $p_option)) { + return $v_key; + } } - + $v_result = 'Unknown'; return $v_result; - } - // -------------------------------------------------------------------------------- +} +// -------------------------------------------------------------------------------- - // -------------------------------------------------------------------------------- - // Function : PclZipUtilTranslateWinPath() - // Description : - // Translate windows path by replacing '\' by '/' and optionally removing - // drive letter. - // Parameters : - // $p_path : path to translate. - // $p_remove_disk_letter : true | false - // Return Values : - // The path translated. - // -------------------------------------------------------------------------------- - function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) - { +// -------------------------------------------------------------------------------- +// Function : PclZipUtilTranslateWinPath() +// Description : +// Translate windows path by replacing '\' by '/' and optionally removing +// drive letter. +// Parameters : +// $p_path : path to translate. +// $p_remove_disk_letter : true | false +// Return Values : +// The path translated. +// -------------------------------------------------------------------------------- +function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter = true) +{ if (stristr(php_uname(), 'windows')) { - // ----- Look for potential disk letter - if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { - $p_path = substr($p_path, $v_position+1); - } - // ----- Change potential windows directory separator - if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { - $p_path = strtr($p_path, '\\', '/'); - } + // ----- Look for potential disk letter + if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { + $p_path = substr($p_path, $v_position+1); + } + // ----- Change potential windows directory separator + if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0, 1) == '\\')) { + $p_path = strtr($p_path, '\\', '/'); + } } return $p_path; - } - // -------------------------------------------------------------------------------- +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php index 891b6bc15..946742bf6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/PasswordHasher.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,36 +31,37 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Shared_PasswordHasher { - /** - * Create a password hash from a given string. - * - * This method is based on the algorithm provided by - * Daniel Rentz of OpenOffice and the PEAR package - * Spreadsheet_Excel_Writer by Xavier Noguer <xnoguer@rezebra.com>. - * - * @param string $pPassword Password to hash - * @return string Hashed password - */ - public static function hashPassword($pPassword = '') { - $password = 0x0000; - $charPos = 1; // char position + /** + * Create a password hash from a given string. + * + * This method is based on the algorithm provided by + * Daniel Rentz of OpenOffice and the PEAR package + * Spreadsheet_Excel_Writer by Xavier Noguer <xnoguer@rezebra.com>. + * + * @param string $pPassword Password to hash + * @return string Hashed password + */ + public static function hashPassword($pPassword = '') + { + $password = 0x0000; + $charPos = 1; // char position // split the plain text password in its component characters $chars = preg_split('//', $pPassword, -1, PREG_SPLIT_NO_EMPTY); foreach ($chars as $char) { - $value = ord($char) << $charPos++; // shifted ASCII value - $rotated_bits = $value >> 15; // rotated bits beyond bit 15 - $value &= 0x7fff; // first 15 bits - $password ^= ($value | $rotated_bits); + $value = ord($char) << $charPos++; // shifted ASCII value + $rotated_bits = $value >> 15; // rotated bits beyond bit 15 + $value &= 0x7fff; // first 15 bits + $password ^= ($value | $rotated_bits); } $password ^= strlen($pPassword); $password ^= 0xCE4B; return(strtoupper(dechex($password))); - } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php index 7d6b4192b..fa1a64e05 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/String.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_String * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,611 +21,616 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Shared_String - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_String { - /** Constants */ - /** Regular Expressions */ - // Fraction - const STRING_REGEXP_FRACTION = '(-?)(\d+)\s+(\d+\/\d+)'; + /** Constants */ + /** Regular Expressions */ + // Fraction + const STRING_REGEXP_FRACTION = '(-?)(\d+)\s+(\d+\/\d+)'; - /** - * Control characters array - * - * @var string[] - */ - private static $_controlCharacters = array(); + /** + * Control characters array + * + * @var string[] + */ + private static $controlCharacters = array(); - /** - * SYLK Characters array - * - * $var array - */ - private static $_SYLKCharacters = array(); + /** + * SYLK Characters array + * + * $var array + */ + private static $SYLKCharacters = array(); - /** - * Decimal separator - * - * @var string - */ - private static $_decimalSeparator; + /** + * Decimal separator + * + * @var string + */ + private static $decimalSeparator; - /** - * Thousands separator - * - * @var string - */ - private static $_thousandsSeparator; + /** + * Thousands separator + * + * @var string + */ + private static $thousandsSeparator; - /** - * Currency code - * - * @var string - */ - private static $_currencyCode; + /** + * Currency code + * + * @var string + */ + private static $currencyCode; - /** - * Is mbstring extension avalable? - * - * @var boolean - */ - private static $_isMbstringEnabled; + /** + * Is mbstring extension avalable? + * + * @var boolean + */ + private static $isMbstringEnabled; - /** - * Is iconv extension avalable? - * - * @var boolean - */ - private static $_isIconvEnabled; + /** + * Is iconv extension avalable? + * + * @var boolean + */ + private static $isIconvEnabled; - /** - * Build control characters array - */ - private static function _buildControlCharacters() { - for ($i = 0; $i <= 31; ++$i) { - if ($i != 9 && $i != 10 && $i != 13) { - $find = '_x' . sprintf('%04s' , strtoupper(dechex($i))) . '_'; - $replace = chr($i); - self::$_controlCharacters[$find] = $replace; - } - } - } + /** + * Build control characters array + */ + private static function buildControlCharacters() + { + for ($i = 0; $i <= 31; ++$i) { + if ($i != 9 && $i != 10 && $i != 13) { + $find = '_x' . sprintf('%04s', strtoupper(dechex($i))) . '_'; + $replace = chr($i); + self::$controlCharacters[$find] = $replace; + } + } + } - /** - * Build SYLK characters array - */ - private static function _buildSYLKCharacters() - { - self::$_SYLKCharacters = array( - "\x1B 0" => chr(0), - "\x1B 1" => chr(1), - "\x1B 2" => chr(2), - "\x1B 3" => chr(3), - "\x1B 4" => chr(4), - "\x1B 5" => chr(5), - "\x1B 6" => chr(6), - "\x1B 7" => chr(7), - "\x1B 8" => chr(8), - "\x1B 9" => chr(9), - "\x1B :" => chr(10), - "\x1B ;" => chr(11), - "\x1B <" => chr(12), - "\x1B :" => chr(13), - "\x1B >" => chr(14), - "\x1B ?" => chr(15), - "\x1B!0" => chr(16), - "\x1B!1" => chr(17), - "\x1B!2" => chr(18), - "\x1B!3" => chr(19), - "\x1B!4" => chr(20), - "\x1B!5" => chr(21), - "\x1B!6" => chr(22), - "\x1B!7" => chr(23), - "\x1B!8" => chr(24), - "\x1B!9" => chr(25), - "\x1B!:" => chr(26), - "\x1B!;" => chr(27), - "\x1B!<" => chr(28), - "\x1B!=" => chr(29), - "\x1B!>" => chr(30), - "\x1B!?" => chr(31), - "\x1B'?" => chr(127), - "\x1B(0" => '€', // 128 in CP1252 - "\x1B(2" => '‚', // 130 in CP1252 - "\x1B(3" => 'ƒ', // 131 in CP1252 - "\x1B(4" => '„', // 132 in CP1252 - "\x1B(5" => '…', // 133 in CP1252 - "\x1B(6" => '†', // 134 in CP1252 - "\x1B(7" => '‡', // 135 in CP1252 - "\x1B(8" => 'ˆ', // 136 in CP1252 - "\x1B(9" => '‰', // 137 in CP1252 - "\x1B(:" => 'Š', // 138 in CP1252 - "\x1B(;" => '‹', // 139 in CP1252 - "\x1BNj" => 'Œ', // 140 in CP1252 - "\x1B(>" => 'Ž', // 142 in CP1252 - "\x1B)1" => '‘', // 145 in CP1252 - "\x1B)2" => '’', // 146 in CP1252 - "\x1B)3" => '“', // 147 in CP1252 - "\x1B)4" => '”', // 148 in CP1252 - "\x1B)5" => '•', // 149 in CP1252 - "\x1B)6" => '–', // 150 in CP1252 - "\x1B)7" => '—', // 151 in CP1252 - "\x1B)8" => '˜', // 152 in CP1252 - "\x1B)9" => '™', // 153 in CP1252 - "\x1B):" => 'š', // 154 in CP1252 - "\x1B);" => '›', // 155 in CP1252 - "\x1BNz" => 'œ', // 156 in CP1252 - "\x1B)>" => 'ž', // 158 in CP1252 - "\x1B)?" => 'Ÿ', // 159 in CP1252 - "\x1B*0" => ' ', // 160 in CP1252 - "\x1BN!" => '¡', // 161 in CP1252 - "\x1BN\"" => '¢', // 162 in CP1252 - "\x1BN#" => '£', // 163 in CP1252 - "\x1BN(" => '¤', // 164 in CP1252 - "\x1BN%" => '¥', // 165 in CP1252 - "\x1B*6" => '¦', // 166 in CP1252 - "\x1BN'" => '§', // 167 in CP1252 - "\x1BNH " => '¨', // 168 in CP1252 - "\x1BNS" => '©', // 169 in CP1252 - "\x1BNc" => 'ª', // 170 in CP1252 - "\x1BN+" => '«', // 171 in CP1252 - "\x1B*<" => '¬', // 172 in CP1252 - "\x1B*=" => '­', // 173 in CP1252 - "\x1BNR" => '®', // 174 in CP1252 - "\x1B*?" => '¯', // 175 in CP1252 - "\x1BN0" => '°', // 176 in CP1252 - "\x1BN1" => '±', // 177 in CP1252 - "\x1BN2" => '²', // 178 in CP1252 - "\x1BN3" => '³', // 179 in CP1252 - "\x1BNB " => '´', // 180 in CP1252 - "\x1BN5" => 'µ', // 181 in CP1252 - "\x1BN6" => '¶', // 182 in CP1252 - "\x1BN7" => '·', // 183 in CP1252 - "\x1B+8" => '¸', // 184 in CP1252 - "\x1BNQ" => '¹', // 185 in CP1252 - "\x1BNk" => 'º', // 186 in CP1252 - "\x1BN;" => '»', // 187 in CP1252 - "\x1BN<" => '¼', // 188 in CP1252 - "\x1BN=" => '½', // 189 in CP1252 - "\x1BN>" => '¾', // 190 in CP1252 - "\x1BN?" => '¿', // 191 in CP1252 - "\x1BNAA" => 'À', // 192 in CP1252 - "\x1BNBA" => 'Á', // 193 in CP1252 - "\x1BNCA" => 'Â', // 194 in CP1252 - "\x1BNDA" => 'Ã', // 195 in CP1252 - "\x1BNHA" => 'Ä', // 196 in CP1252 - "\x1BNJA" => 'Å', // 197 in CP1252 - "\x1BNa" => 'Æ', // 198 in CP1252 - "\x1BNKC" => 'Ç', // 199 in CP1252 - "\x1BNAE" => 'È', // 200 in CP1252 - "\x1BNBE" => 'É', // 201 in CP1252 - "\x1BNCE" => 'Ê', // 202 in CP1252 - "\x1BNHE" => 'Ë', // 203 in CP1252 - "\x1BNAI" => 'Ì', // 204 in CP1252 - "\x1BNBI" => 'Í', // 205 in CP1252 - "\x1BNCI" => 'Î', // 206 in CP1252 - "\x1BNHI" => 'Ï', // 207 in CP1252 - "\x1BNb" => 'Ð', // 208 in CP1252 - "\x1BNDN" => 'Ñ', // 209 in CP1252 - "\x1BNAO" => 'Ò', // 210 in CP1252 - "\x1BNBO" => 'Ó', // 211 in CP1252 - "\x1BNCO" => 'Ô', // 212 in CP1252 - "\x1BNDO" => 'Õ', // 213 in CP1252 - "\x1BNHO" => 'Ö', // 214 in CP1252 - "\x1B-7" => '×', // 215 in CP1252 - "\x1BNi" => 'Ø', // 216 in CP1252 - "\x1BNAU" => 'Ù', // 217 in CP1252 - "\x1BNBU" => 'Ú', // 218 in CP1252 - "\x1BNCU" => 'Û', // 219 in CP1252 - "\x1BNHU" => 'Ü', // 220 in CP1252 - "\x1B-=" => 'Ý', // 221 in CP1252 - "\x1BNl" => 'Þ', // 222 in CP1252 - "\x1BN{" => 'ß', // 223 in CP1252 - "\x1BNAa" => 'à', // 224 in CP1252 - "\x1BNBa" => 'á', // 225 in CP1252 - "\x1BNCa" => 'â', // 226 in CP1252 - "\x1BNDa" => 'ã', // 227 in CP1252 - "\x1BNHa" => 'ä', // 228 in CP1252 - "\x1BNJa" => 'å', // 229 in CP1252 - "\x1BNq" => 'æ', // 230 in CP1252 - "\x1BNKc" => 'ç', // 231 in CP1252 - "\x1BNAe" => 'è', // 232 in CP1252 - "\x1BNBe" => 'é', // 233 in CP1252 - "\x1BNCe" => 'ê', // 234 in CP1252 - "\x1BNHe" => 'ë', // 235 in CP1252 - "\x1BNAi" => 'ì', // 236 in CP1252 - "\x1BNBi" => 'í', // 237 in CP1252 - "\x1BNCi" => 'î', // 238 in CP1252 - "\x1BNHi" => 'ï', // 239 in CP1252 - "\x1BNs" => 'ð', // 240 in CP1252 - "\x1BNDn" => 'ñ', // 241 in CP1252 - "\x1BNAo" => 'ò', // 242 in CP1252 - "\x1BNBo" => 'ó', // 243 in CP1252 - "\x1BNCo" => 'ô', // 244 in CP1252 - "\x1BNDo" => 'õ', // 245 in CP1252 - "\x1BNHo" => 'ö', // 246 in CP1252 - "\x1B/7" => '÷', // 247 in CP1252 - "\x1BNy" => 'ø', // 248 in CP1252 - "\x1BNAu" => 'ù', // 249 in CP1252 - "\x1BNBu" => 'ú', // 250 in CP1252 - "\x1BNCu" => 'û', // 251 in CP1252 - "\x1BNHu" => 'ü', // 252 in CP1252 - "\x1B/=" => 'ý', // 253 in CP1252 - "\x1BN|" => 'þ', // 254 in CP1252 - "\x1BNHy" => 'ÿ', // 255 in CP1252 - ); - } + /** + * Build SYLK characters array + */ + private static function buildSYLKCharacters() + { + self::$SYLKCharacters = array( + "\x1B 0" => chr(0), + "\x1B 1" => chr(1), + "\x1B 2" => chr(2), + "\x1B 3" => chr(3), + "\x1B 4" => chr(4), + "\x1B 5" => chr(5), + "\x1B 6" => chr(6), + "\x1B 7" => chr(7), + "\x1B 8" => chr(8), + "\x1B 9" => chr(9), + "\x1B :" => chr(10), + "\x1B ;" => chr(11), + "\x1B <" => chr(12), + "\x1B :" => chr(13), + "\x1B >" => chr(14), + "\x1B ?" => chr(15), + "\x1B!0" => chr(16), + "\x1B!1" => chr(17), + "\x1B!2" => chr(18), + "\x1B!3" => chr(19), + "\x1B!4" => chr(20), + "\x1B!5" => chr(21), + "\x1B!6" => chr(22), + "\x1B!7" => chr(23), + "\x1B!8" => chr(24), + "\x1B!9" => chr(25), + "\x1B!:" => chr(26), + "\x1B!;" => chr(27), + "\x1B!<" => chr(28), + "\x1B!=" => chr(29), + "\x1B!>" => chr(30), + "\x1B!?" => chr(31), + "\x1B'?" => chr(127), + "\x1B(0" => '€', // 128 in CP1252 + "\x1B(2" => '‚', // 130 in CP1252 + "\x1B(3" => 'ƒ', // 131 in CP1252 + "\x1B(4" => '„', // 132 in CP1252 + "\x1B(5" => '…', // 133 in CP1252 + "\x1B(6" => '†', // 134 in CP1252 + "\x1B(7" => '‡', // 135 in CP1252 + "\x1B(8" => 'ˆ', // 136 in CP1252 + "\x1B(9" => '‰', // 137 in CP1252 + "\x1B(:" => 'Š', // 138 in CP1252 + "\x1B(;" => '‹', // 139 in CP1252 + "\x1BNj" => 'Œ', // 140 in CP1252 + "\x1B(>" => 'Ž', // 142 in CP1252 + "\x1B)1" => '‘', // 145 in CP1252 + "\x1B)2" => '’', // 146 in CP1252 + "\x1B)3" => '“', // 147 in CP1252 + "\x1B)4" => '”', // 148 in CP1252 + "\x1B)5" => '•', // 149 in CP1252 + "\x1B)6" => '–', // 150 in CP1252 + "\x1B)7" => '—', // 151 in CP1252 + "\x1B)8" => '˜', // 152 in CP1252 + "\x1B)9" => '™', // 153 in CP1252 + "\x1B):" => 'š', // 154 in CP1252 + "\x1B);" => '›', // 155 in CP1252 + "\x1BNz" => 'œ', // 156 in CP1252 + "\x1B)>" => 'ž', // 158 in CP1252 + "\x1B)?" => 'Ÿ', // 159 in CP1252 + "\x1B*0" => ' ', // 160 in CP1252 + "\x1BN!" => '¡', // 161 in CP1252 + "\x1BN\"" => '¢', // 162 in CP1252 + "\x1BN#" => '£', // 163 in CP1252 + "\x1BN(" => '¤', // 164 in CP1252 + "\x1BN%" => '¥', // 165 in CP1252 + "\x1B*6" => '¦', // 166 in CP1252 + "\x1BN'" => '§', // 167 in CP1252 + "\x1BNH " => '¨', // 168 in CP1252 + "\x1BNS" => '©', // 169 in CP1252 + "\x1BNc" => 'ª', // 170 in CP1252 + "\x1BN+" => '«', // 171 in CP1252 + "\x1B*<" => '¬', // 172 in CP1252 + "\x1B*=" => '­', // 173 in CP1252 + "\x1BNR" => '®', // 174 in CP1252 + "\x1B*?" => '¯', // 175 in CP1252 + "\x1BN0" => '°', // 176 in CP1252 + "\x1BN1" => '±', // 177 in CP1252 + "\x1BN2" => '²', // 178 in CP1252 + "\x1BN3" => '³', // 179 in CP1252 + "\x1BNB " => '´', // 180 in CP1252 + "\x1BN5" => 'µ', // 181 in CP1252 + "\x1BN6" => '¶', // 182 in CP1252 + "\x1BN7" => '·', // 183 in CP1252 + "\x1B+8" => '¸', // 184 in CP1252 + "\x1BNQ" => '¹', // 185 in CP1252 + "\x1BNk" => 'º', // 186 in CP1252 + "\x1BN;" => '»', // 187 in CP1252 + "\x1BN<" => '¼', // 188 in CP1252 + "\x1BN=" => '½', // 189 in CP1252 + "\x1BN>" => '¾', // 190 in CP1252 + "\x1BN?" => '¿', // 191 in CP1252 + "\x1BNAA" => 'À', // 192 in CP1252 + "\x1BNBA" => 'Á', // 193 in CP1252 + "\x1BNCA" => 'Â', // 194 in CP1252 + "\x1BNDA" => 'Ã', // 195 in CP1252 + "\x1BNHA" => 'Ä', // 196 in CP1252 + "\x1BNJA" => 'Å', // 197 in CP1252 + "\x1BNa" => 'Æ', // 198 in CP1252 + "\x1BNKC" => 'Ç', // 199 in CP1252 + "\x1BNAE" => 'È', // 200 in CP1252 + "\x1BNBE" => 'É', // 201 in CP1252 + "\x1BNCE" => 'Ê', // 202 in CP1252 + "\x1BNHE" => 'Ë', // 203 in CP1252 + "\x1BNAI" => 'Ì', // 204 in CP1252 + "\x1BNBI" => 'Í', // 205 in CP1252 + "\x1BNCI" => 'Î', // 206 in CP1252 + "\x1BNHI" => 'Ï', // 207 in CP1252 + "\x1BNb" => 'Ð', // 208 in CP1252 + "\x1BNDN" => 'Ñ', // 209 in CP1252 + "\x1BNAO" => 'Ò', // 210 in CP1252 + "\x1BNBO" => 'Ó', // 211 in CP1252 + "\x1BNCO" => 'Ô', // 212 in CP1252 + "\x1BNDO" => 'Õ', // 213 in CP1252 + "\x1BNHO" => 'Ö', // 214 in CP1252 + "\x1B-7" => '×', // 215 in CP1252 + "\x1BNi" => 'Ø', // 216 in CP1252 + "\x1BNAU" => 'Ù', // 217 in CP1252 + "\x1BNBU" => 'Ú', // 218 in CP1252 + "\x1BNCU" => 'Û', // 219 in CP1252 + "\x1BNHU" => 'Ü', // 220 in CP1252 + "\x1B-=" => 'Ý', // 221 in CP1252 + "\x1BNl" => 'Þ', // 222 in CP1252 + "\x1BN{" => 'ß', // 223 in CP1252 + "\x1BNAa" => 'à', // 224 in CP1252 + "\x1BNBa" => 'á', // 225 in CP1252 + "\x1BNCa" => 'â', // 226 in CP1252 + "\x1BNDa" => 'ã', // 227 in CP1252 + "\x1BNHa" => 'ä', // 228 in CP1252 + "\x1BNJa" => 'å', // 229 in CP1252 + "\x1BNq" => 'æ', // 230 in CP1252 + "\x1BNKc" => 'ç', // 231 in CP1252 + "\x1BNAe" => 'è', // 232 in CP1252 + "\x1BNBe" => 'é', // 233 in CP1252 + "\x1BNCe" => 'ê', // 234 in CP1252 + "\x1BNHe" => 'ë', // 235 in CP1252 + "\x1BNAi" => 'ì', // 236 in CP1252 + "\x1BNBi" => 'í', // 237 in CP1252 + "\x1BNCi" => 'î', // 238 in CP1252 + "\x1BNHi" => 'ï', // 239 in CP1252 + "\x1BNs" => 'ð', // 240 in CP1252 + "\x1BNDn" => 'ñ', // 241 in CP1252 + "\x1BNAo" => 'ò', // 242 in CP1252 + "\x1BNBo" => 'ó', // 243 in CP1252 + "\x1BNCo" => 'ô', // 244 in CP1252 + "\x1BNDo" => 'õ', // 245 in CP1252 + "\x1BNHo" => 'ö', // 246 in CP1252 + "\x1B/7" => '÷', // 247 in CP1252 + "\x1BNy" => 'ø', // 248 in CP1252 + "\x1BNAu" => 'ù', // 249 in CP1252 + "\x1BNBu" => 'ú', // 250 in CP1252 + "\x1BNCu" => 'û', // 251 in CP1252 + "\x1BNHu" => 'ü', // 252 in CP1252 + "\x1B/=" => 'ý', // 253 in CP1252 + "\x1BN|" => 'þ', // 254 in CP1252 + "\x1BNHy" => 'ÿ', // 255 in CP1252 + ); + } - /** - * Get whether mbstring extension is available - * - * @return boolean - */ - public static function getIsMbstringEnabled() - { - if (isset(self::$_isMbstringEnabled)) { - return self::$_isMbstringEnabled; - } + /** + * Get whether mbstring extension is available + * + * @return boolean + */ + public static function getIsMbstringEnabled() + { + if (isset(self::$isMbstringEnabled)) { + return self::$isMbstringEnabled; + } - self::$_isMbstringEnabled = function_exists('mb_convert_encoding') ? - true : false; + self::$isMbstringEnabled = function_exists('mb_convert_encoding') ? + true : false; - return self::$_isMbstringEnabled; - } + return self::$isMbstringEnabled; + } - /** - * Get whether iconv extension is available - * - * @return boolean - */ - public static function getIsIconvEnabled() - { - if (isset(self::$_isIconvEnabled)) { - return self::$_isIconvEnabled; - } + /** + * Get whether iconv extension is available + * + * @return boolean + */ + public static function getIsIconvEnabled() + { + if (isset(self::$isIconvEnabled)) { + return self::$isIconvEnabled; + } - // Fail if iconv doesn't exist - if (!function_exists('iconv')) { - self::$_isIconvEnabled = false; - return false; - } + // Fail if iconv doesn't exist + if (!function_exists('iconv')) { + self::$isIconvEnabled = false; + return false; + } - // Sometimes iconv is not working, and e.g. iconv('UTF-8', 'UTF-16LE', 'x') just returns false, - if (!@iconv('UTF-8', 'UTF-16LE', 'x')) { - self::$_isIconvEnabled = false; - return false; - } + // Sometimes iconv is not working, and e.g. iconv('UTF-8', 'UTF-16LE', 'x') just returns false, + if (!@iconv('UTF-8', 'UTF-16LE', 'x')) { + self::$isIconvEnabled = false; + return false; + } - // Sometimes iconv_substr('A', 0, 1, 'UTF-8') just returns false in PHP 5.2.0 - // we cannot use iconv in that case either (http://bugs.php.net/bug.php?id=37773) - if (!@iconv_substr('A', 0, 1, 'UTF-8')) { - self::$_isIconvEnabled = false; - return false; - } + // Sometimes iconv_substr('A', 0, 1, 'UTF-8') just returns false in PHP 5.2.0 + // we cannot use iconv in that case either (http://bugs.php.net/bug.php?id=37773) + if (!@iconv_substr('A', 0, 1, 'UTF-8')) { + self::$isIconvEnabled = false; + return false; + } - // CUSTOM: IBM AIX iconv() does not work - if ( defined('PHP_OS') && @stristr(PHP_OS, 'AIX') - && defined('ICONV_IMPL') && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) - && defined('ICONV_VERSION') && (@strcasecmp(ICONV_VERSION, 'unknown') == 0) ) - { - self::$_isIconvEnabled = false; - return false; - } + // CUSTOM: IBM AIX iconv() does not work + if (defined('PHP_OS') && @stristr(PHP_OS, 'AIX') && defined('ICONV_IMPL') && (@strcasecmp(ICONV_IMPL, 'unknown') == 0) && defined('ICONV_VERSION') && (@strcasecmp(ICONV_VERSION, 'unknown') == 0)) { + self::$isIconvEnabled = false; + return false; + } - // If we reach here no problems were detected with iconv - self::$_isIconvEnabled = true; - return true; - } + // If we reach here no problems were detected with iconv + self::$isIconvEnabled = true; + return true; + } - public static function buildCharacterSets() { - if(empty(self::$_controlCharacters)) { - self::_buildControlCharacters(); - } - if(empty(self::$_SYLKCharacters)) { - self::_buildSYLKCharacters(); - } - } + public static function buildCharacterSets() + { + if (empty(self::$controlCharacters)) { + self::buildControlCharacters(); + } + if (empty(self::$SYLKCharacters)) { + self::buildSYLKCharacters(); + } + } - /** - * Convert from OpenXML escaped control character to PHP control character - * - * Excel 2007 team: - * ---------------- - * That's correct, control characters are stored directly in the shared-strings table. - * We do encode characters that cannot be represented in XML using the following escape sequence: - * _xHHHH_ where H represents a hexadecimal character in the character's value... - * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) - * element or in the shared string <t> element. - * - * @param string $value Value to unescape - * @return string - */ - public static function ControlCharacterOOXML2PHP($value = '') { - return str_replace( array_keys(self::$_controlCharacters), array_values(self::$_controlCharacters), $value ); - } + /** + * Convert from OpenXML escaped control character to PHP control character + * + * Excel 2007 team: + * ---------------- + * That's correct, control characters are stored directly in the shared-strings table. + * We do encode characters that cannot be represented in XML using the following escape sequence: + * _xHHHH_ where H represents a hexadecimal character in the character's value... + * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) + * element or in the shared string <t> element. + * + * @param string $value Value to unescape + * @return string + */ + public static function ControlCharacterOOXML2PHP($value = '') + { + return str_replace(array_keys(self::$controlCharacters), array_values(self::$controlCharacters), $value); + } - /** - * Convert from PHP control character to OpenXML escaped control character - * - * Excel 2007 team: - * ---------------- - * That's correct, control characters are stored directly in the shared-strings table. - * We do encode characters that cannot be represented in XML using the following escape sequence: - * _xHHHH_ where H represents a hexadecimal character in the character's value... - * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) - * element or in the shared string <t> element. - * - * @param string $value Value to escape - * @return string - */ - public static function ControlCharacterPHP2OOXML($value = '') { - return str_replace( array_values(self::$_controlCharacters), array_keys(self::$_controlCharacters), $value ); - } + /** + * Convert from PHP control character to OpenXML escaped control character + * + * Excel 2007 team: + * ---------------- + * That's correct, control characters are stored directly in the shared-strings table. + * We do encode characters that cannot be represented in XML using the following escape sequence: + * _xHHHH_ where H represents a hexadecimal character in the character's value... + * So you could end up with something like _x0008_ in a string (either in a cell value (<v>) + * element or in the shared string <t> element. + * + * @param string $value Value to escape + * @return string + */ + public static function ControlCharacterPHP2OOXML($value = '') + { + return str_replace(array_values(self::$controlCharacters), array_keys(self::$controlCharacters), $value); + } - /** - * Try to sanitize UTF8, stripping invalid byte sequences. Not perfect. Does not surrogate characters. - * - * @param string $value - * @return string - */ - public static function SanitizeUTF8($value) - { - if (self::getIsIconvEnabled()) { - $value = @iconv('UTF-8', 'UTF-8', $value); - return $value; - } + /** + * Try to sanitize UTF8, stripping invalid byte sequences. Not perfect. Does not surrogate characters. + * + * @param string $value + * @return string + */ + public static function SanitizeUTF8($value) + { + if (self::getIsIconvEnabled()) { + $value = @iconv('UTF-8', 'UTF-8', $value); + return $value; + } - if (self::getIsMbstringEnabled()) { - $value = mb_convert_encoding($value, 'UTF-8', 'UTF-8'); - return $value; - } + if (self::getIsMbstringEnabled()) { + $value = mb_convert_encoding($value, 'UTF-8', 'UTF-8'); + return $value; + } - // else, no conversion - return $value; - } + // else, no conversion + return $value; + } - /** - * Check if a string contains UTF8 data - * - * @param string $value - * @return boolean - */ - public static function IsUTF8($value = '') { - return $value === '' || preg_match('/^./su', $value) === 1; - } + /** + * Check if a string contains UTF8 data + * + * @param string $value + * @return boolean + */ + public static function IsUTF8($value = '') + { + return $value === '' || preg_match('/^./su', $value) === 1; + } - /** - * Formats a numeric value as a string for output in various output writers forcing - * point as decimal separator in case locale is other than English. - * - * @param mixed $value - * @return string - */ - public static function FormatNumber($value) { - if (is_float($value)) { - return str_replace(',', '.', $value); - } - return (string) $value; - } + /** + * Formats a numeric value as a string for output in various output writers forcing + * point as decimal separator in case locale is other than English. + * + * @param mixed $value + * @return string + */ + public static function FormatNumber($value) + { + if (is_float($value)) { + return str_replace(',', '.', $value); + } + return (string) $value; + } - /** - * Converts a UTF-8 string into BIFF8 Unicode string data (8-bit string length) - * Writes the string using uncompressed notation, no rich text, no Asian phonetics - * If mbstring extension is not available, ASCII is assumed, and compressed notation is used - * although this will give wrong results for non-ASCII strings - * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 - * - * @param string $value UTF-8 encoded string - * @param mixed[] $arrcRuns Details of rich text runs in $value - * @return string - */ - public static function UTF8toBIFF8UnicodeShort($value, $arrcRuns = array()) - { - // character count - $ln = self::CountCharacters($value, 'UTF-8'); - // option flags - if(empty($arrcRuns)){ - $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? - 0x0001 : 0x0000; - $data = pack('CC', $ln, $opt); - // characters - $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); - } - else { - $data = pack('vC', $ln, 0x09); - $data .= pack('v', count($arrcRuns)); - // characters - $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); - foreach ($arrcRuns as $cRun){ - $data .= pack('v', $cRun['strlen']); - $data .= pack('v', $cRun['fontidx']); - } - } - return $data; - } + /** + * Converts a UTF-8 string into BIFF8 Unicode string data (8-bit string length) + * Writes the string using uncompressed notation, no rich text, no Asian phonetics + * If mbstring extension is not available, ASCII is assumed, and compressed notation is used + * although this will give wrong results for non-ASCII strings + * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 + * + * @param string $value UTF-8 encoded string + * @param mixed[] $arrcRuns Details of rich text runs in $value + * @return string + */ + public static function UTF8toBIFF8UnicodeShort($value, $arrcRuns = array()) + { + // character count + $ln = self::CountCharacters($value, 'UTF-8'); + // option flags + if (empty($arrcRuns)) { + $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? + 0x0001 : 0x0000; + $data = pack('CC', $ln, $opt); + // characters + $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + } else { + $data = pack('vC', $ln, 0x09); + $data .= pack('v', count($arrcRuns)); + // characters + $data .= self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + foreach ($arrcRuns as $cRun) { + $data .= pack('v', $cRun['strlen']); + $data .= pack('v', $cRun['fontidx']); + } + } + return $data; + } - /** - * Converts a UTF-8 string into BIFF8 Unicode string data (16-bit string length) - * Writes the string using uncompressed notation, no rich text, no Asian phonetics - * If mbstring extension is not available, ASCII is assumed, and compressed notation is used - * although this will give wrong results for non-ASCII strings - * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 - * - * @param string $value UTF-8 encoded string - * @return string - */ - public static function UTF8toBIFF8UnicodeLong($value) - { - // character count - $ln = self::CountCharacters($value, 'UTF-8'); + /** + * Converts a UTF-8 string into BIFF8 Unicode string data (16-bit string length) + * Writes the string using uncompressed notation, no rich text, no Asian phonetics + * If mbstring extension is not available, ASCII is assumed, and compressed notation is used + * although this will give wrong results for non-ASCII strings + * see OpenOffice.org's Documentation of the Microsoft Excel File Format, sect. 2.5.3 + * + * @param string $value UTF-8 encoded string + * @return string + */ + public static function UTF8toBIFF8UnicodeLong($value) + { + // character count + $ln = self::CountCharacters($value, 'UTF-8'); - // option flags - $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? - 0x0001 : 0x0000; + // option flags + $opt = (self::getIsIconvEnabled() || self::getIsMbstringEnabled()) ? + 0x0001 : 0x0000; - // characters - $chars = self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); + // characters + $chars = self::ConvertEncoding($value, 'UTF-16LE', 'UTF-8'); - $data = pack('vC', $ln, $opt) . $chars; - return $data; - } + $data = pack('vC', $ln, $opt) . $chars; + return $data; + } - /** - * Convert string from one encoding to another. First try mbstring, then iconv, finally strlen - * - * @param string $value - * @param string $to Encoding to convert to, e.g. 'UTF-8' - * @param string $from Encoding to convert from, e.g. 'UTF-16LE' - * @return string - */ - public static function ConvertEncoding($value, $to, $from) - { - if (self::getIsIconvEnabled()) { - return iconv($from, $to, $value); - } + /** + * Convert string from one encoding to another. First try mbstring, then iconv, finally strlen + * + * @param string $value + * @param string $to Encoding to convert to, e.g. 'UTF-8' + * @param string $from Encoding to convert from, e.g. 'UTF-16LE' + * @return string + */ + public static function ConvertEncoding($value, $to, $from) + { + if (self::getIsIconvEnabled()) { + return iconv($from, $to, $value); + } - if (self::getIsMbstringEnabled()) { - return mb_convert_encoding($value, $to, $from); - } + if (self::getIsMbstringEnabled()) { + return mb_convert_encoding($value, $to, $from); + } - if($from == 'UTF-16LE'){ - return self::utf16_decode($value, false); - }else if($from == 'UTF-16BE'){ - return self::utf16_decode($value); - } - // else, no conversion - return $value; - } + if ($from == 'UTF-16LE') { + return self::utf16_decode($value, false); + } elseif ($from == 'UTF-16BE') { + return self::utf16_decode($value); + } + // else, no conversion + return $value; + } - /** - * Decode UTF-16 encoded strings. - * - * Can handle both BOM'ed data and un-BOM'ed data. - * Assumes Big-Endian byte order if no BOM is available. - * This function was taken from http://php.net/manual/en/function.utf8-decode.php - * and $bom_be parameter added. - * - * @param string $str UTF-16 encoded data to decode. - * @return string UTF-8 / ISO encoded data. - * @access public - * @version 0.2 / 2010-05-13 - * @author Rasmus Andersson {@link http://rasmusandersson.se/} - * @author vadik56 - */ - public static function utf16_decode($str, $bom_be = TRUE) { - if( strlen($str) < 2 ) return $str; - $c0 = ord($str{0}); - $c1 = ord($str{1}); - if( $c0 == 0xfe && $c1 == 0xff ) { $str = substr($str,2); } - elseif( $c0 == 0xff && $c1 == 0xfe ) { $str = substr($str,2); $bom_be = false; } - $len = strlen($str); - $newstr = ''; - for($i=0;$i<$len;$i+=2) { - if( $bom_be ) { $val = ord($str{$i}) << 4; $val += ord($str{$i+1}); } - else { $val = ord($str{$i+1}) << 4; $val += ord($str{$i}); } - $newstr .= ($val == 0x228) ? "\n" : chr($val); - } - return $newstr; - } + /** + * Decode UTF-16 encoded strings. + * + * Can handle both BOM'ed data and un-BOM'ed data. + * Assumes Big-Endian byte order if no BOM is available. + * This function was taken from http://php.net/manual/en/function.utf8-decode.php + * and $bom_be parameter added. + * + * @param string $str UTF-16 encoded data to decode. + * @return string UTF-8 / ISO encoded data. + * @access public + * @version 0.2 / 2010-05-13 + * @author Rasmus Andersson {@link http://rasmusandersson.se/} + * @author vadik56 + */ + public static function utf16_decode($str, $bom_be = true) + { + if (strlen($str) < 2) { + return $str; + } + $c0 = ord($str{0}); + $c1 = ord($str{1}); + if ($c0 == 0xfe && $c1 == 0xff) { + $str = substr($str, 2); + } elseif ($c0 == 0xff && $c1 == 0xfe) { + $str = substr($str, 2); + $bom_be = false; + } + $len = strlen($str); + $newstr = ''; + for ($i=0; $i<$len; $i+=2) { + if ($bom_be) { + $val = ord($str{$i}) << 4; + $val += ord($str{$i+1}); + } else { + $val = ord($str{$i+1}) << 4; + $val += ord($str{$i}); + } + $newstr .= ($val == 0x228) ? "\n" : chr($val); + } + return $newstr; + } - /** - * Get character count. First try mbstring, then iconv, finally strlen - * - * @param string $value - * @param string $enc Encoding - * @return int Character count - */ - public static function CountCharacters($value, $enc = 'UTF-8') - { - if (self::getIsMbstringEnabled()) { - return mb_strlen($value, $enc); - } + /** + * Get character count. First try mbstring, then iconv, finally strlen + * + * @param string $value + * @param string $enc Encoding + * @return int Character count + */ + public static function CountCharacters($value, $enc = 'UTF-8') + { + if (self::getIsMbstringEnabled()) { + return mb_strlen($value, $enc); + } - if (self::getIsIconvEnabled()) { - return iconv_strlen($value, $enc); - } + if (self::getIsIconvEnabled()) { + return iconv_strlen($value, $enc); + } - // else strlen - return strlen($value); - } + // else strlen + return strlen($value); + } - /** - * Get a substring of a UTF-8 encoded string. First try mbstring, then iconv, finally strlen - * - * @param string $pValue UTF-8 encoded string - * @param int $pStart Start offset - * @param int $pLength Maximum number of characters in substring - * @return string - */ - public static function Substring($pValue = '', $pStart = 0, $pLength = 0) - { - if (self::getIsMbstringEnabled()) { - return mb_substr($pValue, $pStart, $pLength, 'UTF-8'); - } + /** + * Get a substring of a UTF-8 encoded string. First try mbstring, then iconv, finally strlen + * + * @param string $pValue UTF-8 encoded string + * @param int $pStart Start offset + * @param int $pLength Maximum number of characters in substring + * @return string + */ + public static function Substring($pValue = '', $pStart = 0, $pLength = 0) + { + if (self::getIsMbstringEnabled()) { + return mb_substr($pValue, $pStart, $pLength, 'UTF-8'); + } - if (self::getIsIconvEnabled()) { - return iconv_substr($pValue, $pStart, $pLength, 'UTF-8'); - } + if (self::getIsIconvEnabled()) { + return iconv_substr($pValue, $pStart, $pLength, 'UTF-8'); + } - // else substr - return substr($pValue, $pStart, $pLength); - } + // else substr + return substr($pValue, $pStart, $pLength); + } - /** - * Convert a UTF-8 encoded string to upper case - * - * @param string $pValue UTF-8 encoded string - * @return string - */ - public static function StrToUpper($pValue = '') - { - if (function_exists('mb_convert_case')) { - return mb_convert_case($pValue, MB_CASE_UPPER, "UTF-8"); - } - return strtoupper($pValue); - } + /** + * Convert a UTF-8 encoded string to upper case + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToUpper($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_UPPER, "UTF-8"); + } + return strtoupper($pValue); + } - /** - * Convert a UTF-8 encoded string to lower case - * - * @param string $pValue UTF-8 encoded string - * @return string - */ - public static function StrToLower($pValue = '') - { - if (function_exists('mb_convert_case')) { - return mb_convert_case($pValue, MB_CASE_LOWER, "UTF-8"); - } - return strtolower($pValue); - } + /** + * Convert a UTF-8 encoded string to lower case + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToLower($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_LOWER, "UTF-8"); + } + return strtolower($pValue); + } - /** - * Convert a UTF-8 encoded string to title/proper case - * (uppercase every first character in each word, lower case all other characters) - * - * @param string $pValue UTF-8 encoded string - * @return string - */ - public static function StrToTitle($pValue = '') - { - if (function_exists('mb_convert_case')) { - return mb_convert_case($pValue, MB_CASE_TITLE, "UTF-8"); - } - return ucwords($pValue); - } + /** + * Convert a UTF-8 encoded string to title/proper case + * (uppercase every first character in each word, lower case all other characters) + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrToTitle($pValue = '') + { + if (function_exists('mb_convert_case')) { + return mb_convert_case($pValue, MB_CASE_TITLE, "UTF-8"); + } + return ucwords($pValue); + } public static function mb_is_upper($char) { @@ -635,177 +641,179 @@ class PHPExcel_Shared_String { # Split at all position not after the start: ^ # and not before the end: $ - return preg_split('/(?<!^)(?!$)/u', $string ); + return preg_split('/(?<!^)(?!$)/u', $string); } - /** - * Reverse the case of a string, so that all uppercase characters become lowercase + /** + * Reverse the case of a string, so that all uppercase characters become lowercase * and all lowercase characters become uppercase - * - * @param string $pValue UTF-8 encoded string - * @return string - */ - public static function StrCaseReverse($pValue = '') - { + * + * @param string $pValue UTF-8 encoded string + * @return string + */ + public static function StrCaseReverse($pValue = '') + { if (self::getIsMbstringEnabled()) { $characters = self::mb_str_split($pValue); - foreach($characters as &$character) { - if(self::mb_is_upper($character)) { + foreach ($characters as &$character) { + if (self::mb_is_upper($character)) { $character = mb_strtolower($character, 'UTF-8'); } else { $character = mb_strtoupper($character, 'UTF-8'); } } return implode('', $characters); - } - return strtolower($pValue) ^ strtoupper($pValue) ^ $pValue; - } + } + return strtolower($pValue) ^ strtoupper($pValue) ^ $pValue; + } - /** - * Identify whether a string contains a fractional numeric value, - * and convert it to a numeric if it is - * - * @param string &$operand string value to test - * @return boolean - */ - public static function convertToNumberIfFraction(&$operand) { - if (preg_match('/^'.self::STRING_REGEXP_FRACTION.'$/i', $operand, $match)) { - $sign = ($match[1] == '-') ? '-' : '+'; - $fractionFormula = '='.$sign.$match[2].$sign.$match[3]; - $operand = PHPExcel_Calculation::getInstance()->_calculateFormulaValue($fractionFormula); - return true; - } - return false; - } // function convertToNumberIfFraction() + /** + * Identify whether a string contains a fractional numeric value, + * and convert it to a numeric if it is + * + * @param string &$operand string value to test + * @return boolean + */ + public static function convertToNumberIfFraction(&$operand) + { + if (preg_match('/^'.self::STRING_REGEXP_FRACTION.'$/i', $operand, $match)) { + $sign = ($match[1] == '-') ? '-' : '+'; + $fractionFormula = '='.$sign.$match[2].$sign.$match[3]; + $operand = PHPExcel_Calculation::getInstance()->_calculateFormulaValue($fractionFormula); + return true; + } + return false; + } // function convertToNumberIfFraction() - /** - * Get the decimal separator. If it has not yet been set explicitly, try to obtain number - * formatting information from locale. - * - * @return string - */ - public static function getDecimalSeparator() - { - if (!isset(self::$_decimalSeparator)) { - $localeconv = localeconv(); - self::$_decimalSeparator = ($localeconv['decimal_point'] != '') - ? $localeconv['decimal_point'] : $localeconv['mon_decimal_point']; + /** + * Get the decimal separator. If it has not yet been set explicitly, try to obtain number + * formatting information from locale. + * + * @return string + */ + public static function getDecimalSeparator() + { + if (!isset(self::$decimalSeparator)) { + $localeconv = localeconv(); + self::$decimalSeparator = ($localeconv['decimal_point'] != '') + ? $localeconv['decimal_point'] : $localeconv['mon_decimal_point']; - if (self::$_decimalSeparator == '') { - // Default to . - self::$_decimalSeparator = '.'; - } - } - return self::$_decimalSeparator; - } + if (self::$decimalSeparator == '') { + // Default to . + self::$decimalSeparator = '.'; + } + } + return self::$decimalSeparator; + } - /** - * Set the decimal separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() - * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF - * - * @param string $pValue Character for decimal separator - */ - public static function setDecimalSeparator($pValue = '.') - { - self::$_decimalSeparator = $pValue; - } + /** + * Set the decimal separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for decimal separator + */ + public static function setDecimalSeparator($pValue = '.') + { + self::$decimalSeparator = $pValue; + } - /** - * Get the thousands separator. If it has not yet been set explicitly, try to obtain number - * formatting information from locale. - * - * @return string - */ - public static function getThousandsSeparator() - { - if (!isset(self::$_thousandsSeparator)) { - $localeconv = localeconv(); - self::$_thousandsSeparator = ($localeconv['thousands_sep'] != '') - ? $localeconv['thousands_sep'] : $localeconv['mon_thousands_sep']; + /** + * Get the thousands separator. If it has not yet been set explicitly, try to obtain number + * formatting information from locale. + * + * @return string + */ + public static function getThousandsSeparator() + { + if (!isset(self::$thousandsSeparator)) { + $localeconv = localeconv(); + self::$thousandsSeparator = ($localeconv['thousands_sep'] != '') + ? $localeconv['thousands_sep'] : $localeconv['mon_thousands_sep']; - if (self::$_thousandsSeparator == '') { - // Default to . - self::$_thousandsSeparator = ','; - } - } - return self::$_thousandsSeparator; - } + if (self::$thousandsSeparator == '') { + // Default to . + self::$thousandsSeparator = ','; + } + } + return self::$thousandsSeparator; + } - /** - * Set the thousands separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() - * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF - * - * @param string $pValue Character for thousands separator - */ - public static function setThousandsSeparator($pValue = ',') - { - self::$_thousandsSeparator = $pValue; - } + /** + * Set the thousands separator. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for thousands separator + */ + public static function setThousandsSeparator($pValue = ',') + { + self::$thousandsSeparator = $pValue; + } - /** - * Get the currency code. If it has not yet been set explicitly, try to obtain the - * symbol information from locale. - * - * @return string - */ - public static function getCurrencyCode() - { - if (!isset(self::$_currencyCode)) { - $localeconv = localeconv(); - self::$_currencyCode = ($localeconv['currency_symbol'] != '') - ? $localeconv['currency_symbol'] : $localeconv['int_curr_symbol']; + /** + * Get the currency code. If it has not yet been set explicitly, try to obtain the + * symbol information from locale. + * + * @return string + */ + public static function getCurrencyCode() + { + if (!isset(self::$currencyCode)) { + $localeconv = localeconv(); + self::$currencyCode = ($localeconv['currency_symbol'] != '') + ? $localeconv['currency_symbol'] : $localeconv['int_curr_symbol']; - if (self::$_currencyCode == '') { - // Default to $ - self::$_currencyCode = '$'; - } - } - return self::$_currencyCode; - } + if (self::$currencyCode == '') { + // Default to $ + self::$currencyCode = '$'; + } + } + return self::$currencyCode; + } - /** - * Set the currency code. Only used by PHPExcel_Style_NumberFormat::toFormattedString() - * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF - * - * @param string $pValue Character for currency code - */ - public static function setCurrencyCode($pValue = '$') - { - self::$_currencyCode = $pValue; - } + /** + * Set the currency code. Only used by PHPExcel_Style_NumberFormat::toFormattedString() + * to format output by PHPExcel_Writer_HTML and PHPExcel_Writer_PDF + * + * @param string $pValue Character for currency code + */ + public static function setCurrencyCode($pValue = '$') + { + self::$currencyCode = $pValue; + } - /** - * Convert SYLK encoded string to UTF-8 - * - * @param string $pValue - * @return string UTF-8 encoded string - */ - public static function SYLKtoUTF8($pValue = '') - { - // If there is no escape character in the string there is nothing to do - if (strpos($pValue, '') === false) { - return $pValue; - } + /** + * Convert SYLK encoded string to UTF-8 + * + * @param string $pValue + * @return string UTF-8 encoded string + */ + public static function SYLKtoUTF8($pValue = '') + { + // If there is no escape character in the string there is nothing to do + if (strpos($pValue, '') === false) { + return $pValue; + } - foreach (self::$_SYLKCharacters as $k => $v) { - $pValue = str_replace($k, $v, $pValue); - } + foreach (self::$SYLKCharacters as $k => $v) { + $pValue = str_replace($k, $v, $pValue); + } - return $pValue; - } + return $pValue; + } - /** - * Retrieve any leading numeric part of a string, or return the full string if no leading numeric - * (handles basic integer or float, but not exponent or non decimal) - * - * @param string $value - * @return mixed string or only the leading numeric part of the string - */ - public static function testStringAsNumeric($value) - { - if (is_numeric($value)) - return $value; - $v = floatval($value); - return (is_numeric(substr($value, 0, strlen($v)))) ? $v : $value; - } + /** + * Retrieve any leading numeric part of a string, or return the full string if no leading numeric + * (handles basic integer or float, but not exponent or non decimal) + * + * @param string $value + * @return mixed string or only the leading numeric part of the string + */ + public static function testStringAsNumeric($value) + { + if (is_numeric($value)) { + return $value; + } + $v = floatval($value); + return (is_numeric(substr($value, 0, strlen($v)))) ? $v : $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php index 1792a2953..73373e042 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/TimeZone.php @@ -3,7 +3,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,10 +20,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ @@ -31,110 +31,114 @@ * PHPExcel_Shared_TimeZone * * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Shared_TimeZone { - /* - * Default Timezone used for date/time conversions - * - * @private - * @var string - */ - protected static $_timezone = 'UTC'; + /* + * Default Timezone used for date/time conversions + * + * @private + * @var string + */ + protected static $timezone = 'UTC'; - /** - * Validate a Timezone name - * - * @param string $timezone Time zone (e.g. 'Europe/London') - * @return boolean Success or failure - */ - public static function _validateTimeZone($timezone) { - if (in_array($timezone, DateTimeZone::listIdentifiers())) { - return TRUE; - } - return FALSE; - } + /** + * Validate a Timezone name + * + * @param string $timezone Time zone (e.g. 'Europe/London') + * @return boolean Success or failure + */ + public static function _validateTimeZone($timezone) + { + if (in_array($timezone, DateTimeZone::listIdentifiers())) { + return true; + } + return false; + } - /** - * Set the Default Timezone used for date/time conversions - * - * @param string $timezone Time zone (e.g. 'Europe/London') - * @return boolean Success or failure - */ - public static function setTimeZone($timezone) { - if (self::_validateTimezone($timezone)) { - self::$_timezone = $timezone; - return TRUE; - } - return FALSE; - } // function setTimezone() + /** + * Set the Default Timezone used for date/time conversions + * + * @param string $timezone Time zone (e.g. 'Europe/London') + * @return boolean Success or failure + */ + public static function setTimeZone($timezone) + { + if (self::_validateTimezone($timezone)) { + self::$timezone = $timezone; + return true; + } + return false; + } - /** - * Return the Default Timezone used for date/time conversions - * - * @return string Timezone (e.g. 'Europe/London') - */ - public static function getTimeZone() { - return self::$_timezone; - } // function getTimezone() + /** + * Return the Default Timezone used for date/time conversions + * + * @return string Timezone (e.g. 'Europe/London') + */ + public static function getTimeZone() + { + return self::$timezone; + } - /** - * Return the Timezone transition for the specified timezone and timestamp - * - * @param DateTimeZone $objTimezone The timezone for finding the transitions - * @param integer $timestamp PHP date/time value for finding the current transition - * @return array The current transition details - */ - private static function _getTimezoneTransitions($objTimezone, $timestamp) { - $allTransitions = $objTimezone->getTransitions(); - $transitions = array(); - foreach($allTransitions as $key => $transition) { - if ($transition['ts'] > $timestamp) { - $transitions[] = ($key > 0) ? $allTransitions[$key - 1] : $transition; - break; - } - if (empty($transitions)) { - $transitions[] = end($allTransitions); - } - } + /** + * Return the Timezone transition for the specified timezone and timestamp + * + * @param DateTimeZone $objTimezone The timezone for finding the transitions + * @param integer $timestamp PHP date/time value for finding the current transition + * @return array The current transition details + */ + private static function getTimezoneTransitions($objTimezone, $timestamp) + { + $allTransitions = $objTimezone->getTransitions(); + $transitions = array(); + foreach ($allTransitions as $key => $transition) { + if ($transition['ts'] > $timestamp) { + $transitions[] = ($key > 0) ? $allTransitions[$key - 1] : $transition; + break; + } + if (empty($transitions)) { + $transitions[] = end($allTransitions); + } + } - return $transitions; - } + return $transitions; + } - /** - * Return the Timezone offset used for date/time conversions to/from UST - * This requires both the timezone and the calculated date/time to allow for local DST - * - * @param string $timezone The timezone for finding the adjustment to UST - * @param integer $timestamp PHP date/time value - * @return integer Number of seconds for timezone adjustment - * @throws PHPExcel_Exception - */ - public static function getTimeZoneAdjustment($timezone, $timestamp) { - if ($timezone !== NULL) { - if (!self::_validateTimezone($timezone)) { - throw new PHPExcel_Exception("Invalid timezone " . $timezone); - } - } else { - $timezone = self::$_timezone; - } + /** + * Return the Timezone offset used for date/time conversions to/from UST + * This requires both the timezone and the calculated date/time to allow for local DST + * + * @param string $timezone The timezone for finding the adjustment to UST + * @param integer $timestamp PHP date/time value + * @return integer Number of seconds for timezone adjustment + * @throws PHPExcel_Exception + */ + public static function getTimeZoneAdjustment($timezone, $timestamp) + { + if ($timezone !== null) { + if (!self::_validateTimezone($timezone)) { + throw new PHPExcel_Exception("Invalid timezone " . $timezone); + } + } else { + $timezone = self::$timezone; + } - if ($timezone == 'UST') { - return 0; - } + if ($timezone == 'UST') { + return 0; + } - $objTimezone = new DateTimeZone($timezone); - if (version_compare(PHP_VERSION, '5.3.0') >= 0) { - $transitions = $objTimezone->getTransitions($timestamp,$timestamp); - } else { - $transitions = self::_getTimezoneTransitions($objTimezone, $timestamp); - } - - return (count($transitions) > 0) ? $transitions[0]['offset'] : 0; - } + $objTimezone = new DateTimeZone($timezone); + if (version_compare(PHP_VERSION, '5.3.0') >= 0) { + $transitions = $objTimezone->getTransitions($timestamp, $timestamp); + } else { + $transitions = self::getTimezoneTransitions($objTimezone, $timestamp); + } + return (count($transitions) > 0) ? $transitions[0]['offset'] : 0; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php index beca51fc5..1dc119b50 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/XMLWriter.php @@ -1,8 +1,17 @@ <?php + +if (!defined('DATE_W3C')) { + define('DATE_W3C', 'Y-m-d\TH:i:sP'); +} + +if (!defined('DEBUGMODE_ENABLED')) { + define('DEBUGMODE_ENABLED', false); +} + /** - * PHPExcel + * PHPExcel_Shared_XMLWriter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,109 +28,97 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @package PHPExcel_Shared + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ +class PHPExcel_Shared_XMLWriter extends XMLWriter +{ + /** Temporary storage method */ + const STORAGE_MEMORY = 1; + const STORAGE_DISK = 2; -if (!defined('DATE_W3C')) { - define('DATE_W3C', 'Y-m-d\TH:i:sP'); -} - -if (!defined('DEBUGMODE_ENABLED')) { - define('DEBUGMODE_ENABLED', false); -} - - -/** - * PHPExcel_Shared_XMLWriter - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Shared_XMLWriter extends XMLWriter { - /** Temporary storage method */ - const STORAGE_MEMORY = 1; - const STORAGE_DISK = 2; - - /** - * Temporary filename - * - * @var string - */ - private $_tempFileName = ''; - - /** - * Create a new PHPExcel_Shared_XMLWriter instance - * - * @param int $pTemporaryStorage Temporary storage location - * @param string $pTemporaryStorageFolder Temporary storage folder - */ - public function __construct($pTemporaryStorage = self::STORAGE_MEMORY, $pTemporaryStorageFolder = NULL) { - // Open temporary storage - if ($pTemporaryStorage == self::STORAGE_MEMORY) { - $this->openMemory(); - } else { - // Create temporary filename - if ($pTemporaryStorageFolder === NULL) - $pTemporaryStorageFolder = PHPExcel_Shared_File::sys_get_temp_dir(); - $this->_tempFileName = @tempnam($pTemporaryStorageFolder, 'xml'); - - // Open storage - if ($this->openUri($this->_tempFileName) === false) { - // Fallback to memory... - $this->openMemory(); - } - } - - // Set default values - if (DEBUGMODE_ENABLED) { - $this->setIndent(true); - } - } - - /** - * Destructor - */ - public function __destruct() { - // Unlink temporary files - if ($this->_tempFileName != '') { - @unlink($this->_tempFileName); - } - } - - /** - * Get written data - * - * @return $data - */ - public function getData() { - if ($this->_tempFileName == '') { - return $this->outputMemory(true); - } else { - $this->flush(); - return file_get_contents($this->_tempFileName); - } - } - - /** - * Fallback method for writeRaw, introduced in PHP 5.2 - * - * @param string $text - * @return string - */ - public function writeRawData($text) - { - if (is_array($text)) { - $text = implode("\n",$text); - } - - if (method_exists($this, 'writeRaw')) { - return $this->writeRaw(htmlspecialchars($text)); - } - - return $this->text($text); - } + /** + * Temporary filename + * + * @var string + */ + private $tempFileName = ''; + + /** + * Create a new PHPExcel_Shared_XMLWriter instance + * + * @param int $pTemporaryStorage Temporary storage location + * @param string $pTemporaryStorageFolder Temporary storage folder + */ + public function __construct($pTemporaryStorage = self::STORAGE_MEMORY, $pTemporaryStorageFolder = null) + { + // Open temporary storage + if ($pTemporaryStorage == self::STORAGE_MEMORY) { + $this->openMemory(); + } else { + // Create temporary filename + if ($pTemporaryStorageFolder === null) { + $pTemporaryStorageFolder = PHPExcel_Shared_File::sys_get_temp_dir(); + } + $this->tempFileName = @tempnam($pTemporaryStorageFolder, 'xml'); + + // Open storage + if ($this->openUri($this->tempFileName) === false) { + // Fallback to memory... + $this->openMemory(); + } + } + + // Set default values + if (DEBUGMODE_ENABLED) { + $this->setIndent(true); + } + } + + /** + * Destructor + */ + public function __destruct() + { + // Unlink temporary files + if ($this->tempFileName != '') { + @unlink($this->tempFileName); + } + } + + /** + * Get written data + * + * @return $data + */ + public function getData() + { + if ($this->tempFileName == '') { + return $this->outputMemory(true); + } else { + $this->flush(); + return file_get_contents($this->tempFileName); + } + } + + /** + * Fallback method for writeRaw, introduced in PHP 5.2 + * + * @param string $text + * @return string + */ + public function writeRawData($text) + { + if (is_array($text)) { + $text = implode("\n", $text); + } + + if (method_exists($this, 'writeRaw')) { + return $this->writeRaw(htmlspecialchars($text)); + } + + return $this->text($text); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php index 9a801a841..9eac8cae0 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipArchive.php @@ -1,8 +1,14 @@ <?php + +if (!defined('PCLZIP_TEMPORARY_DIR')) { + define('PCLZIP_TEMPORARY_DIR', PHPExcel_Shared_File::sys_get_temp_dir() . DIRECTORY_SEPARATOR); +} +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/PCLZip/pclzip.lib.php'; + /** - * PHPExcel + * PHPExcel_Shared_ZipArchive * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,96 +26,78 @@ * * @category PHPExcel * @package PHPExcel_Shared_ZipArchive - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - -if (!defined('PCLZIP_TEMPORARY_DIR')) { - define('PCLZIP_TEMPORARY_DIR', PHPExcel_Shared_File::sys_get_temp_dir() . DIRECTORY_SEPARATOR); -} -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/PCLZip/pclzip.lib.php'; - - -/** - * PHPExcel_Shared_ZipArchive - * - * @category PHPExcel - * @package PHPExcel_Shared_ZipArchive - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Shared_ZipArchive { - /** constants */ - const OVERWRITE = 'OVERWRITE'; - const CREATE = 'CREATE'; - - - /** - * Temporary storage directory - * - * @var string - */ - private $_tempDir; - - /** - * Zip Archive Stream Handle - * - * @var string - */ - private $_zip; + /** constants */ + const OVERWRITE = 'OVERWRITE'; + const CREATE = 'CREATE'; /** - * Open a new zip archive - * - * @param string $fileName Filename for the zip archive - * @return boolean + * Temporary storage directory + * + * @var string */ - public function open($fileName) - { - $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + private $tempDir; - $this->_zip = new PclZip($fileName); - - return true; - } + /** + * Zip Archive Stream Handle + * + * @var string + */ + private $zip; /** - * Close this zip archive - * + * Open a new zip archive + * + * @param string $fileName Filename for the zip archive + * @return boolean */ - public function close() - { - } + public function open($fileName) + { + $this->tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + $this->zip = new PclZip($fileName); + + return true; + } /** - * Add a new file to the zip archive from a string of raw data. - * - * @param string $localname Directory/Name of the file to add to the zip archive - * @param string $contents String of data to add to the zip archive + * Close this zip archive + * */ - public function addFromString($localname, $contents) - { - $filenameParts = pathinfo($localname); + public function close() + { + } - $handle = fopen($this->_tempDir.'/'.$filenameParts["basename"], "wb"); - fwrite($handle, $contents); - fclose($handle); - $res = $this->_zip->add($this->_tempDir.'/'.$filenameParts["basename"], - PCLZIP_OPT_REMOVE_PATH, $this->_tempDir, - PCLZIP_OPT_ADD_PATH, $filenameParts["dirname"] - ); - if ($res == 0) { - throw new PHPExcel_Writer_Exception("Error zipping files : " . $this->_zip->errorInfo(true)); - } + /** + * Add a new file to the zip archive from a string of raw data. + * + * @param string $localname Directory/Name of the file to add to the zip archive + * @param string $contents String of data to add to the zip archive + */ + public function addFromString($localname, $contents) + { + $filenameParts = pathinfo($localname); - unlink($this->_tempDir.'/'.$filenameParts["basename"]); - } + $handle = fopen($this->tempDir.'/'.$filenameParts["basename"], "wb"); + fwrite($handle, $contents); + fclose($handle); + + $res = $this->zip->add($this->tempDir.'/'.$filenameParts["basename"], PCLZIP_OPT_REMOVE_PATH, $this->tempDir, PCLZIP_OPT_ADD_PATH, $filenameParts["dirname"]); + if ($res == 0) { + throw new PHPExcel_Writer_Exception("Error zipping files : " . $this->zip->errorInfo(true)); + } + + unlink($this->tempDir.'/'.$filenameParts["basename"]); + } /** * Find if given fileName exist in archive (Emulate ZipArchive locateName()) @@ -119,17 +107,19 @@ class PHPExcel_Shared_ZipArchive */ public function locateName($fileName) { - $list = $this->_zip->listContent(); + $fileName = strtolower($fileName); + + $list = $this->zip->listContent(); $listCount = count($list); - $list_index = -1; + $index = -1; for ($i = 0; $i < $listCount; ++$i) { - if (strtolower($list[$i]["filename"]) == strtolower($fileName) || - strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { - $list_index = $i; + if (strtolower($list[$i]["filename"]) == $fileName || + strtolower($list[$i]["stored_filename"]) == $fileName) { + $index = $i; break; } } - return ($list_index > -1); + return ($index > -1) ? $index : false; } /** @@ -138,34 +128,32 @@ class PHPExcel_Shared_ZipArchive * @param string $fileName Filename for the file in zip archive * @return string $contents File string contents */ - public function getFromName($fileName) + public function getFromName($fileName) { - $list = $this->_zip->listContent(); - $listCount = count($list); - $list_index = -1; - for ($i = 0; $i < $listCount; ++$i) { - if (strtolower($list[$i]["filename"]) == strtolower($fileName) || - strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { - $list_index = $i; - break; + $index = $this->locateName($fileName); + + if ($index !== false) { + $extracted = $this->getFromIndex($index); + } else { + $fileName = substr($fileName, 1); + $index = $this->locateName($fileName); + if ($index === false) { + return false; } + $extracted = $this->zip->getFromIndex($index); } - $extracted = ""; - if ($list_index != -1) { - $extracted = $this->_zip->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING); - } else { - $filename = substr($fileName, 1); - $list_index = -1; - for ($i = 0; $i < $listCount; ++$i) { - if (strtolower($list[$i]["filename"]) == strtolower($fileName) || - strtolower($list[$i]["stored_filename"]) == strtolower($fileName)) { - $list_index = $i; - break; - } - } - $extracted = $this->_zip->extractByIndex($list_index, PCLZIP_OPT_EXTRACT_AS_STRING); + $contents = $extracted; + if ((is_array($extracted)) && ($extracted != 0)) { + $contents = $extracted[0]["content"]; } + + return $contents; + } + + public function getFromIndex($index) { + $extracted = $this->zip->extractByIndex($index, PCLZIP_OPT_EXTRACT_AS_STRING); + $contents = ''; if ((is_array($extracted)) && ($extracted != 0)) { $contents = $extracted[0]["content"]; } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php index 6e63d3ce3..2e0324ce7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/ZipStreamWrapper.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Shared_ZipStreamWrapper * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,180 +21,178 @@ * * @category PHPExcel * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Shared_ZipStreamWrapper - * - * @category PHPExcel - * @package PHPExcel_Shared - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Shared_ZipStreamWrapper { - /** - * Internal ZipAcrhive - * - * @var ZipAcrhive - */ - private $_archive; +class PHPExcel_Shared_ZipStreamWrapper +{ + /** + * Internal ZipAcrhive + * + * @var ZipArchive + */ + private $archive; /** * Filename in ZipAcrhive * * @var string */ - private $_fileNameInArchive = ''; + private $fileNameInArchive = ''; /** * Position in file * * @var int */ - private $_position = 0; + private $position = 0; /** * Data * * @var mixed */ - private $_data = ''; + private $data = ''; /** * Register wrapper */ - public static function register() { - @stream_wrapper_unregister("zip"); - @stream_wrapper_register("zip", __CLASS__); + public static function register() + { + @stream_wrapper_unregister('zip'); + @stream_wrapper_register('zip', __CLASS__); } /** - * Implements support for fopen(). - * - * @param string $path resource name including scheme, e.g. - * @param string $mode only "r" is supported - * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH - * @param string &$openedPath absolute path of the opened stream (out parameter) - * @return bool true on success + * Implements support for fopen(). + * + * @param string $path resource name including scheme, e.g. + * @param string $mode only "r" is supported + * @param int $options mask of STREAM_REPORT_ERRORS and STREAM_USE_PATH + * @param string &$openedPath absolute path of the opened stream (out parameter) + * @return bool true on success */ - public function stream_open($path, $mode, $options, &$opened_path) { + public function stream_open($path, $mode, $options, &$opened_path) + { // Check for mode if ($mode{0} != 'r') { throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.'); } - $pos = strrpos($path, '#'); - $url['host'] = substr($path, 6, $pos - 6); // 6: strlen('zip://') - $url['fragment'] = substr($path, $pos + 1); + $pos = strrpos($path, '#'); + $url['host'] = substr($path, 6, $pos - 6); // 6: strlen('zip://') + $url['fragment'] = substr($path, $pos + 1); // Open archive - $this->_archive = new ZipArchive(); - $this->_archive->open($url['host']); + $this->archive = new ZipArchive(); + $this->archive->open($url['host']); - $this->_fileNameInArchive = $url['fragment']; - $this->_position = 0; - $this->_data = $this->_archive->getFromName( $this->_fileNameInArchive ); + $this->fileNameInArchive = $url['fragment']; + $this->position = 0; + $this->data = $this->archive->getFromName($this->fileNameInArchive); return true; } /** - * Implements support for fstat(). - * - * @return boolean + * Implements support for fstat(). + * + * @return boolean */ - public function statName() { - return $this->_fileNameInArchive; + public function statName() + { + return $this->fileNameInArchive; } /** - * Implements support for fstat(). - * - * @return boolean + * Implements support for fstat(). + * + * @return boolean */ - public function url_stat() { - return $this->statName( $this->_fileNameInArchive ); + public function url_stat() + { + return $this->statName($this->fileNameInArchive); } /** - * Implements support for fstat(). - * - * @return boolean + * Implements support for fstat(). + * + * @return boolean */ - public function stream_stat() { - return $this->_archive->statName( $this->_fileNameInArchive ); + public function stream_stat() + { + return $this->archive->statName($this->fileNameInArchive); } /** - * Implements support for fread(), fgets() etc. - * - * @param int $count maximum number of bytes to read - * @return string + * Implements support for fread(), fgets() etc. + * + * @param int $count maximum number of bytes to read + * @return string */ - function stream_read($count) { - $ret = substr($this->_data, $this->_position, $count); - $this->_position += strlen($ret); + public function stream_read($count) + { + $ret = substr($this->data, $this->position, $count); + $this->position += strlen($ret); return $ret; } /** - * Returns the position of the file pointer, i.e. its offset into the file - * stream. Implements support for ftell(). - * - * @return int + * Returns the position of the file pointer, i.e. its offset into the file + * stream. Implements support for ftell(). + * + * @return int */ - public function stream_tell() { - return $this->_position; + public function stream_tell() + { + return $this->position; } /** * EOF stream - * - * @return bool + * + * @return bool */ - public function stream_eof() { - return $this->_position >= strlen($this->_data); + public function stream_eof() + { + return $this->position >= strlen($this->data); } /** * Seek stream - * - * @param int $offset byte offset - * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END - * @return bool + * + * @param int $offset byte offset + * @param int $whence SEEK_SET, SEEK_CUR or SEEK_END + * @return bool */ - public function stream_seek($offset, $whence) { + public function stream_seek($offset, $whence) + { switch ($whence) { case SEEK_SET: - if ($offset < strlen($this->_data) && $offset >= 0) { - $this->_position = $offset; + if ($offset < strlen($this->data) && $offset >= 0) { + $this->position = $offset; return true; } else { return false; } break; - case SEEK_CUR: if ($offset >= 0) { - $this->_position += $offset; + $this->position += $offset; return true; } else { return false; } break; - case SEEK_END: - if (strlen($this->_data) + $offset >= 0) { - $this->_position = strlen($this->_data) + $offset; + if (strlen($this->data) + $offset >= 0) { + $this->position = strlen($this->data) + $offset; return true; } else { return false; } break; - default: return false; } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php index 9ae8b006d..2de029f96 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/bestFitClass.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,413 +21,405 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Best_Fit { - /** - * Indicator flag for a calculation error - * - * @var boolean - **/ - protected $_error = False; + /** + * Indicator flag for a calculation error + * + * @var boolean + **/ + protected $error = false; - /** - * Algorithm type to use for best-fit - * - * @var string - **/ - protected $_bestFitType = 'undetermined'; - - /** - * Number of entries in the sets of x- and y-value arrays - * - * @var int - **/ - protected $_valueCount = 0; - - /** - * X-value dataseries of values - * - * @var float[] - **/ - protected $_xValues = array(); - - /** - * Y-value dataseries of values - * - * @var float[] - **/ - protected $_yValues = array(); - - /** - * Flag indicating whether values should be adjusted to Y=0 - * - * @var boolean - **/ - protected $_adjustToZero = False; - - /** - * Y-value series of best-fit values - * - * @var float[] - **/ - protected $_yBestFitValues = array(); - - protected $_goodnessOfFit = 1; - - protected $_stdevOfResiduals = 0; - - protected $_covariance = 0; - - protected $_correlation = 0; - - protected $_SSRegression = 0; - - protected $_SSResiduals = 0; - - protected $_DFResiduals = 0; - - protected $_F = 0; - - protected $_slope = 0; - - protected $_slopeSE = 0; - - protected $_intersect = 0; - - protected $_intersectSE = 0; - - protected $_Xoffset = 0; - - protected $_Yoffset = 0; - - - public function getError() { - return $this->_error; - } // function getBestFitType() - - - public function getBestFitType() { - return $this->_bestFitType; - } // function getBestFitType() - - - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - */ - public function getValueOfYForX($xValue) { - return False; - } // function getValueOfYForX() - - - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - */ - public function getValueOfXForY($yValue) { - return False; - } // function getValueOfXForY() - - - /** - * Return the original set of X-Values - * - * @return float[] X-Values - */ - public function getXValues() { - return $this->_xValues; - } // function getValueOfXForY() - - - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - */ - public function getEquation($dp=0) { - return False; - } // function getEquation() - - - /** - * Return the Slope of the line - * - * @param int $dp Number of places of decimal precision to display - * @return string - */ - public function getSlope($dp=0) { - if ($dp != 0) { - return round($this->_slope,$dp); - } - return $this->_slope; - } // function getSlope() - - - /** - * Return the standard error of the Slope - * - * @param int $dp Number of places of decimal precision to display - * @return string - */ - public function getSlopeSE($dp=0) { - if ($dp != 0) { - return round($this->_slopeSE,$dp); - } - return $this->_slopeSE; - } // function getSlopeSE() - - - /** - * Return the Value of X where it intersects Y = 0 - * - * @param int $dp Number of places of decimal precision to display - * @return string - */ - public function getIntersect($dp=0) { - if ($dp != 0) { - return round($this->_intersect,$dp); - } - return $this->_intersect; - } // function getIntersect() - - - /** - * Return the standard error of the Intersect - * - * @param int $dp Number of places of decimal precision to display - * @return string - */ - public function getIntersectSE($dp=0) { - if ($dp != 0) { - return round($this->_intersectSE,$dp); - } - return $this->_intersectSE; - } // function getIntersectSE() - - - /** - * Return the goodness of fit for this regression - * - * @param int $dp Number of places of decimal precision to return - * @return float - */ - public function getGoodnessOfFit($dp=0) { - if ($dp != 0) { - return round($this->_goodnessOfFit,$dp); - } - return $this->_goodnessOfFit; - } // function getGoodnessOfFit() - - - public function getGoodnessOfFitPercent($dp=0) { - if ($dp != 0) { - return round($this->_goodnessOfFit * 100,$dp); - } - return $this->_goodnessOfFit * 100; - } // function getGoodnessOfFitPercent() - - - /** - * Return the standard deviation of the residuals for this regression - * - * @param int $dp Number of places of decimal precision to return - * @return float - */ - public function getStdevOfResiduals($dp=0) { - if ($dp != 0) { - return round($this->_stdevOfResiduals,$dp); - } - return $this->_stdevOfResiduals; - } // function getStdevOfResiduals() - - - public function getSSRegression($dp=0) { - if ($dp != 0) { - return round($this->_SSRegression,$dp); - } - return $this->_SSRegression; - } // function getSSRegression() - - - public function getSSResiduals($dp=0) { - if ($dp != 0) { - return round($this->_SSResiduals,$dp); - } - return $this->_SSResiduals; - } // function getSSResiduals() - - - public function getDFResiduals($dp=0) { - if ($dp != 0) { - return round($this->_DFResiduals,$dp); - } - return $this->_DFResiduals; - } // function getDFResiduals() - - - public function getF($dp=0) { - if ($dp != 0) { - return round($this->_F,$dp); - } - return $this->_F; - } // function getF() - - - public function getCovariance($dp=0) { - if ($dp != 0) { - return round($this->_covariance,$dp); - } - return $this->_covariance; - } // function getCovariance() - - - public function getCorrelation($dp=0) { - if ($dp != 0) { - return round($this->_correlation,$dp); - } - return $this->_correlation; - } // function getCorrelation() - - - public function getYBestFitValues() { - return $this->_yBestFitValues; - } // function getYBestFitValues() - - - protected function _calculateGoodnessOfFit($sumX,$sumY,$sumX2,$sumY2,$sumXY,$meanX,$meanY, $const) { - $SSres = $SScov = $SScor = $SStot = $SSsex = 0.0; - foreach($this->_xValues as $xKey => $xValue) { - $bestFitY = $this->_yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); - - $SSres += ($this->_yValues[$xKey] - $bestFitY) * ($this->_yValues[$xKey] - $bestFitY); - if ($const) { - $SStot += ($this->_yValues[$xKey] - $meanY) * ($this->_yValues[$xKey] - $meanY); - } else { - $SStot += $this->_yValues[$xKey] * $this->_yValues[$xKey]; - } - $SScov += ($this->_xValues[$xKey] - $meanX) * ($this->_yValues[$xKey] - $meanY); - if ($const) { - $SSsex += ($this->_xValues[$xKey] - $meanX) * ($this->_xValues[$xKey] - $meanX); - } else { - $SSsex += $this->_xValues[$xKey] * $this->_xValues[$xKey]; - } - } - - $this->_SSResiduals = $SSres; - $this->_DFResiduals = $this->_valueCount - 1 - $const; - - if ($this->_DFResiduals == 0.0) { - $this->_stdevOfResiduals = 0.0; - } else { - $this->_stdevOfResiduals = sqrt($SSres / $this->_DFResiduals); - } - if (($SStot == 0.0) || ($SSres == $SStot)) { - $this->_goodnessOfFit = 1; - } else { - $this->_goodnessOfFit = 1 - ($SSres / $SStot); - } - - $this->_SSRegression = $this->_goodnessOfFit * $SStot; - $this->_covariance = $SScov / $this->_valueCount; - $this->_correlation = ($this->_valueCount * $sumXY - $sumX * $sumY) / sqrt(($this->_valueCount * $sumX2 - pow($sumX,2)) * ($this->_valueCount * $sumY2 - pow($sumY,2))); - $this->_slopeSE = $this->_stdevOfResiduals / sqrt($SSsex); - $this->_intersectSE = $this->_stdevOfResiduals * sqrt(1 / ($this->_valueCount - ($sumX * $sumX) / $sumX2)); - if ($this->_SSResiduals != 0.0) { - if ($this->_DFResiduals == 0.0) { - $this->_F = 0.0; - } else { - $this->_F = $this->_SSRegression / ($this->_SSResiduals / $this->_DFResiduals); - } - } else { - if ($this->_DFResiduals == 0.0) { - $this->_F = 0.0; - } else { - $this->_F = $this->_SSRegression / $this->_DFResiduals; - } - } - } // function _calculateGoodnessOfFit() - - - protected function _leastSquareFit($yValues, $xValues, $const) { - // calculate sums - $x_sum = array_sum($xValues); - $y_sum = array_sum($yValues); - $meanX = $x_sum / $this->_valueCount; - $meanY = $y_sum / $this->_valueCount; - $mBase = $mDivisor = $xx_sum = $xy_sum = $yy_sum = 0.0; - for($i = 0; $i < $this->_valueCount; ++$i) { - $xy_sum += $xValues[$i] * $yValues[$i]; - $xx_sum += $xValues[$i] * $xValues[$i]; - $yy_sum += $yValues[$i] * $yValues[$i]; - - if ($const) { - $mBase += ($xValues[$i] - $meanX) * ($yValues[$i] - $meanY); - $mDivisor += ($xValues[$i] - $meanX) * ($xValues[$i] - $meanX); - } else { - $mBase += $xValues[$i] * $yValues[$i]; - $mDivisor += $xValues[$i] * $xValues[$i]; - } - } - - // calculate slope -// $this->_slope = (($this->_valueCount * $xy_sum) - ($x_sum * $y_sum)) / (($this->_valueCount * $xx_sum) - ($x_sum * $x_sum)); - $this->_slope = $mBase / $mDivisor; - - // calculate intersect -// $this->_intersect = ($y_sum - ($this->_slope * $x_sum)) / $this->_valueCount; - if ($const) { - $this->_intersect = $meanY - ($this->_slope * $meanX); - } else { - $this->_intersect = 0; - } - - $this->_calculateGoodnessOfFit($x_sum,$y_sum,$xx_sum,$yy_sum,$xy_sum,$meanX,$meanY,$const); - } // function _leastSquareFit() - - - /** - * Define the regression - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($yValues, $xValues=array(), $const=True) { - // Calculate number of points - $nY = count($yValues); - $nX = count($xValues); - - // Define X Values if necessary - if ($nX == 0) { - $xValues = range(1,$nY); - $nX = $nY; - } elseif ($nY != $nX) { - // Ensure both arrays of points are the same size - $this->_error = True; - return False; - } - - $this->_valueCount = $nY; - $this->_xValues = $xValues; - $this->_yValues = $yValues; - } // function __construct() - -} // class bestFit + /** + * Algorithm type to use for best-fit + * + * @var string + **/ + protected $bestFitType = 'undetermined'; + + /** + * Number of entries in the sets of x- and y-value arrays + * + * @var int + **/ + protected $valueCount = 0; + + /** + * X-value dataseries of values + * + * @var float[] + **/ + protected $xValues = array(); + + /** + * Y-value dataseries of values + * + * @var float[] + **/ + protected $yValues = array(); + + /** + * Flag indicating whether values should be adjusted to Y=0 + * + * @var boolean + **/ + protected $adjustToZero = false; + + /** + * Y-value series of best-fit values + * + * @var float[] + **/ + protected $yBestFitValues = array(); + + protected $goodnessOfFit = 1; + + protected $stdevOfResiduals = 0; + + protected $covariance = 0; + + protected $correlation = 0; + + protected $SSRegression = 0; + + protected $SSResiduals = 0; + + protected $DFResiduals = 0; + + protected $f = 0; + + protected $slope = 0; + + protected $slopeSE = 0; + + protected $intersect = 0; + + protected $intersectSE = 0; + + protected $xOffset = 0; + + protected $yOffset = 0; + + + public function getError() + { + return $this->error; + } + + + public function getBestFitType() + { + return $this->bestFitType; + } + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + */ + public function getValueOfYForX($xValue) + { + return false; + } + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + */ + public function getValueOfXForY($yValue) + { + return false; + } + + /** + * Return the original set of X-Values + * + * @return float[] X-Values + */ + public function getXValues() + { + return $this->xValues; + } + + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getEquation($dp = 0) + { + return false; + } + + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getSlope($dp = 0) + { + if ($dp != 0) { + return round($this->slope, $dp); + } + return $this->slope; + } + + /** + * Return the standard error of the Slope + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getSlopeSE($dp = 0) + { + if ($dp != 0) { + return round($this->slopeSE, $dp); + } + return $this->slopeSE; + } + + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getIntersect($dp = 0) + { + if ($dp != 0) { + return round($this->intersect, $dp); + } + return $this->intersect; + } + + /** + * Return the standard error of the Intersect + * + * @param int $dp Number of places of decimal precision to display + * @return string + */ + public function getIntersectSE($dp = 0) + { + if ($dp != 0) { + return round($this->intersectSE, $dp); + } + return $this->intersectSE; + } + + /** + * Return the goodness of fit for this regression + * + * @param int $dp Number of places of decimal precision to return + * @return float + */ + public function getGoodnessOfFit($dp = 0) + { + if ($dp != 0) { + return round($this->goodnessOfFit, $dp); + } + return $this->goodnessOfFit; + } + + public function getGoodnessOfFitPercent($dp = 0) + { + if ($dp != 0) { + return round($this->goodnessOfFit * 100, $dp); + } + return $this->goodnessOfFit * 100; + } + + /** + * Return the standard deviation of the residuals for this regression + * + * @param int $dp Number of places of decimal precision to return + * @return float + */ + public function getStdevOfResiduals($dp = 0) + { + if ($dp != 0) { + return round($this->stdevOfResiduals, $dp); + } + return $this->stdevOfResiduals; + } + + public function getSSRegression($dp = 0) + { + if ($dp != 0) { + return round($this->SSRegression, $dp); + } + return $this->SSRegression; + } + + public function getSSResiduals($dp = 0) + { + if ($dp != 0) { + return round($this->SSResiduals, $dp); + } + return $this->SSResiduals; + } + + public function getDFResiduals($dp = 0) + { + if ($dp != 0) { + return round($this->DFResiduals, $dp); + } + return $this->DFResiduals; + } + + public function getF($dp = 0) + { + if ($dp != 0) { + return round($this->f, $dp); + } + return $this->f; + } + + public function getCovariance($dp = 0) + { + if ($dp != 0) { + return round($this->covariance, $dp); + } + return $this->covariance; + } + + public function getCorrelation($dp = 0) + { + if ($dp != 0) { + return round($this->correlation, $dp); + } + return $this->correlation; + } + + public function getYBestFitValues() + { + return $this->yBestFitValues; + } + + protected function calculateGoodnessOfFit($sumX, $sumY, $sumX2, $sumY2, $sumXY, $meanX, $meanY, $const) + { + $SSres = $SScov = $SScor = $SStot = $SSsex = 0.0; + foreach ($this->xValues as $xKey => $xValue) { + $bestFitY = $this->yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); + + $SSres += ($this->yValues[$xKey] - $bestFitY) * ($this->yValues[$xKey] - $bestFitY); + if ($const) { + $SStot += ($this->yValues[$xKey] - $meanY) * ($this->yValues[$xKey] - $meanY); + } else { + $SStot += $this->yValues[$xKey] * $this->yValues[$xKey]; + } + $SScov += ($this->xValues[$xKey] - $meanX) * ($this->yValues[$xKey] - $meanY); + if ($const) { + $SSsex += ($this->xValues[$xKey] - $meanX) * ($this->xValues[$xKey] - $meanX); + } else { + $SSsex += $this->xValues[$xKey] * $this->xValues[$xKey]; + } + } + + $this->SSResiduals = $SSres; + $this->DFResiduals = $this->valueCount - 1 - $const; + + if ($this->DFResiduals == 0.0) { + $this->stdevOfResiduals = 0.0; + } else { + $this->stdevOfResiduals = sqrt($SSres / $this->DFResiduals); + } + if (($SStot == 0.0) || ($SSres == $SStot)) { + $this->goodnessOfFit = 1; + } else { + $this->goodnessOfFit = 1 - ($SSres / $SStot); + } + + $this->SSRegression = $this->goodnessOfFit * $SStot; + $this->covariance = $SScov / $this->valueCount; + $this->correlation = ($this->valueCount * $sumXY - $sumX * $sumY) / sqrt(($this->valueCount * $sumX2 - pow($sumX, 2)) * ($this->valueCount * $sumY2 - pow($sumY, 2))); + $this->slopeSE = $this->stdevOfResiduals / sqrt($SSsex); + $this->intersectSE = $this->stdevOfResiduals * sqrt(1 / ($this->valueCount - ($sumX * $sumX) / $sumX2)); + if ($this->SSResiduals != 0.0) { + if ($this->DFResiduals == 0.0) { + $this->f = 0.0; + } else { + $this->f = $this->SSRegression / ($this->SSResiduals / $this->DFResiduals); + } + } else { + if ($this->DFResiduals == 0.0) { + $this->f = 0.0; + } else { + $this->f = $this->SSRegression / $this->DFResiduals; + } + } + } + + protected function leastSquareFit($yValues, $xValues, $const) + { + // calculate sums + $x_sum = array_sum($xValues); + $y_sum = array_sum($yValues); + $meanX = $x_sum / $this->valueCount; + $meanY = $y_sum / $this->valueCount; + $mBase = $mDivisor = $xx_sum = $xy_sum = $yy_sum = 0.0; + for ($i = 0; $i < $this->valueCount; ++$i) { + $xy_sum += $xValues[$i] * $yValues[$i]; + $xx_sum += $xValues[$i] * $xValues[$i]; + $yy_sum += $yValues[$i] * $yValues[$i]; + + if ($const) { + $mBase += ($xValues[$i] - $meanX) * ($yValues[$i] - $meanY); + $mDivisor += ($xValues[$i] - $meanX) * ($xValues[$i] - $meanX); + } else { + $mBase += $xValues[$i] * $yValues[$i]; + $mDivisor += $xValues[$i] * $xValues[$i]; + } + } + + // calculate slope +// $this->slope = (($this->valueCount * $xy_sum) - ($x_sum * $y_sum)) / (($this->valueCount * $xx_sum) - ($x_sum * $x_sum)); + $this->slope = $mBase / $mDivisor; + + // calculate intersect +// $this->intersect = ($y_sum - ($this->slope * $x_sum)) / $this->valueCount; + if ($const) { + $this->intersect = $meanY - ($this->slope * $meanX); + } else { + $this->intersect = 0; + } + + $this->calculateGoodnessOfFit($x_sum, $y_sum, $xx_sum, $yy_sum, $xy_sum, $meanX, $meanY, $const); + } + + /** + * Define the regression + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($yValues, $xValues = array(), $const = true) + { + // Calculate number of points + $nY = count($yValues); + $nX = count($xValues); + + // Define X Values if necessary + if ($nX == 0) { + $xValues = range(1, $nY); + $nX = $nY; + } elseif ($nY != $nX) { + // Ensure both arrays of points are the same size + $this->error = true; + return false; + } + + $this->valueCount = $nY; + $this->xValues = $xValues; + $this->yValues = $yValues; + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php index b524b5fe4..444873525 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/exponentialBestFitClass.php @@ -1,8 +1,11 @@ <?php + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + /** - * PHPExcel + * PHPExcel_Exponential_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,129 +23,116 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); - - -/** - * PHPExcel_Exponential_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Exponential_Best_Fit extends PHPExcel_Best_Fit { - /** - * Algorithm type to use for best-fit - * (Name of this trend class) - * - * @var string - **/ - protected $_bestFitType = 'exponential'; + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $bestFitType = 'exponential'; + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) + { + return $this->getIntersect() * pow($this->getSlope(), ($xValue - $this->xOffset)); + } - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - **/ - public function getValueOfYForX($xValue) { - return $this->getIntersect() * pow($this->getSlope(),($xValue - $this->_Xoffset)); - } // function getValueOfYForX() + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) + { + return log(($yValue + $this->yOffset) / $this->getIntersect()) / log($this->getSlope()); + } + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp = 0) + { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) { - return log(($yValue + $this->_Yoffset) / $this->getIntersect()) / log($this->getSlope()); - } // function getValueOfXForY() + return 'Y = ' . $intersect . ' * ' . $slope . '^X'; + } + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getSlope($dp = 0) + { + if ($dp != 0) { + return round(exp($this->_slope), $dp); + } + return exp($this->_slope); + } - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp=0) { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getIntersect($dp = 0) + { + if ($dp != 0) { + return round(exp($this->intersect), $dp); + } + return exp($this->intersect); + } - return 'Y = '.$intersect.' * '.$slope.'^X'; - } // function getEquation() + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function exponentialRegression($yValues, $xValues, $const) + { + foreach ($yValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + $this->leastSquareFit($yValues, $xValues, $const); + } - /** - * Return the Slope of the line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getSlope($dp=0) { - if ($dp != 0) { - return round(exp($this->_slope),$dp); - } - return exp($this->_slope); - } // function getSlope() - - - /** - * Return the Value of X where it intersects Y = 0 - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getIntersect($dp=0) { - if ($dp != 0) { - return round(exp($this->_intersect),$dp); - } - return exp($this->_intersect); - } // function getIntersect() - - - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function _exponential_regression($yValues, $xValues, $const) { - foreach($yValues as &$value) { - if ($value < 0.0) { - $value = 0 - log(abs($value)); - } elseif ($value > 0.0) { - $value = log($value); - } - } - unset($value); - - $this->_leastSquareFit($yValues, $xValues, $const); - } // function _exponential_regression() - - - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($yValues, $xValues=array(), $const=True) { - if (parent::__construct($yValues, $xValues) !== False) { - $this->_exponential_regression($yValues, $xValues, $const); - } - } // function __construct() - -} // class exponentialBestFit \ No newline at end of file + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($yValues, $xValues = array(), $const = true) + { + if (parent::__construct($yValues, $xValues) !== false) { + $this->exponentialRegression($yValues, $xValues, $const); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php index 7d811aa5b..76b55b3e7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/linearBestFitClass.php @@ -1,8 +1,11 @@ <?php + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + /** - * PHPExcel + * PHPExcel_Linear_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,92 +23,80 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); - - -/** - * PHPExcel_Linear_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Linear_Best_Fit extends PHPExcel_Best_Fit { - /** - * Algorithm type to use for best-fit - * (Name of this trend class) - * - * @var string - **/ - protected $_bestFitType = 'linear'; + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $bestFitType = 'linear'; + + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) + { + return $this->getIntersect() + $this->getSlope() * $xValue; + } + + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) + { + return ($yValue - $this->getIntersect()) / $this->getSlope(); + } - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - **/ - public function getValueOfYForX($xValue) { - return $this->getIntersect() + $this->getSlope() * $xValue; - } // function getValueOfYForX() + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp = 0) + { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); + return 'Y = ' . $intersect . ' + ' . $slope . ' * X'; + } - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) { - return ($yValue - $this->getIntersect()) / $this->getSlope(); - } // function getValueOfXForY() + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function linearRegression($yValues, $xValues, $const) + { + $this->leastSquareFit($yValues, $xValues, $const); + } - - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp=0) { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); - - return 'Y = '.$intersect.' + '.$slope.' * X'; - } // function getEquation() - - - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function _linear_regression($yValues, $xValues, $const) { - $this->_leastSquareFit($yValues, $xValues,$const); - } // function _linear_regression() - - - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($yValues, $xValues=array(), $const=True) { - if (parent::__construct($yValues, $xValues) !== False) { - $this->_linear_regression($yValues, $xValues, $const); - } - } // function __construct() - -} // class linearBestFit \ No newline at end of file + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($yValues, $xValues = array(), $const = true) + { + if (parent::__construct($yValues, $xValues) !== false) { + $this->linearRegression($yValues, $xValues, $const); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php index b43cd5edf..221c53869 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/logarithmicBestFitClass.php @@ -1,8 +1,11 @@ <?php + +require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); + /** - * PHPExcel + * PHPExcel_Logarithmic_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,101 +23,88 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once(PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'); - - -/** - * PHPExcel_Logarithmic_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Logarithmic_Best_Fit extends PHPExcel_Best_Fit { - /** - * Algorithm type to use for best-fit - * (Name of this trend class) - * - * @var string - **/ - protected $_bestFitType = 'logarithmic'; + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $bestFitType = 'logarithmic'; + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) + { + return $this->getIntersect() + $this->getSlope() * log($xValue - $this->xOffset); + } - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - **/ - public function getValueOfYForX($xValue) { - return $this->getIntersect() + $this->getSlope() * log($xValue - $this->_Xoffset); - } // function getValueOfYForX() + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) + { + return exp(($yValue - $this->getIntersect()) / $this->getSlope()); + } + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp = 0) + { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) { - return exp(($yValue - $this->getIntersect()) / $this->getSlope()); - } // function getValueOfXForY() + return 'Y = '.$intersect.' + '.$slope.' * log(X)'; + } + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function logarithmicRegression($yValues, $xValues, $const) + { + foreach ($xValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp=0) { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); + $this->leastSquareFit($yValues, $xValues, $const); + } - return 'Y = '.$intersect.' + '.$slope.' * log(X)'; - } // function getEquation() - - - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function _logarithmic_regression($yValues, $xValues, $const) { - foreach($xValues as &$value) { - if ($value < 0.0) { - $value = 0 - log(abs($value)); - } elseif ($value > 0.0) { - $value = log($value); - } - } - unset($value); - - $this->_leastSquareFit($yValues, $xValues, $const); - } // function _logarithmic_regression() - - - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($yValues, $xValues=array(), $const=True) { - if (parent::__construct($yValues, $xValues) !== False) { - $this->_logarithmic_regression($yValues, $xValues, $const); - } - } // function __construct() - -} // class logarithmicBestFit \ No newline at end of file + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($yValues, $xValues = array(), $const = true) + { + if (parent::__construct($yValues, $xValues) !== false) { + $this->logarithmicRegression($yValues, $xValues, $const); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php index 3d329eb7d..8a882b743 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/polynomialBestFitClass.php @@ -1,8 +1,12 @@ <?php + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/JAMA/Matrix.php'; + /** - * PHPExcel + * PHPExcel_Polynomial_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,205 +24,199 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/JAMA/Matrix.php'; - - -/** - * PHPExcel_Polynomial_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Polynomial_Best_Fit extends PHPExcel_Best_Fit { - /** - * Algorithm type to use for best-fit - * (Name of this trend class) - * - * @var string - **/ - protected $_bestFitType = 'polynomial'; + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $bestFitType = 'polynomial'; - /** - * Polynomial order - * - * @protected - * @var int - **/ - protected $_order = 0; + /** + * Polynomial order + * + * @protected + * @var int + **/ + protected $order = 0; - /** - * Return the order of this polynomial - * - * @return int - **/ - public function getOrder() { - return $this->_order; - } // function getOrder() + /** + * Return the order of this polynomial + * + * @return int + **/ + public function getOrder() + { + return $this->order; + } - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - **/ - public function getValueOfYForX($xValue) { - $retVal = $this->getIntersect(); - $slope = $this->getSlope(); - foreach($slope as $key => $value) { - if ($value != 0.0) { - $retVal += $value * pow($xValue, $key + 1); - } - } - return $retVal; - } // function getValueOfYForX() + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) + { + $retVal = $this->getIntersect(); + $slope = $this->getSlope(); + foreach ($slope as $key => $value) { + if ($value != 0.0) { + $retVal += $value * pow($xValue, $key + 1); + } + } + return $retVal; + } - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) { - return ($yValue - $this->getIntersect()) / $this->getSlope(); - } // function getValueOfXForY() + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) + { + return ($yValue - $this->getIntersect()) / $this->getSlope(); + } - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp=0) { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp = 0) + { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); - $equation = 'Y = '.$intersect; - foreach($slope as $key => $value) { - if ($value != 0.0) { - $equation .= ' + '.$value.' * X'; - if ($key > 0) { - $equation .= '^'.($key + 1); - } - } - } - return $equation; - } // function getEquation() + $equation = 'Y = ' . $intersect; + foreach ($slope as $key => $value) { + if ($value != 0.0) { + $equation .= ' + ' . $value . ' * X'; + if ($key > 0) { + $equation .= '^' . ($key + 1); + } + } + } + return $equation; + } - /** - * Return the Slope of the line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getSlope($dp=0) { - if ($dp != 0) { - $coefficients = array(); - foreach($this->_slope as $coefficient) { - $coefficients[] = round($coefficient,$dp); - } - return $coefficients; - } - return $this->_slope; - } // function getSlope() + /** + * Return the Slope of the line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getSlope($dp = 0) + { + if ($dp != 0) { + $coefficients = array(); + foreach ($this->_slope as $coefficient) { + $coefficients[] = round($coefficient, $dp); + } + return $coefficients; + } + return $this->_slope; + } - public function getCoefficients($dp=0) { - return array_merge(array($this->getIntersect($dp)),$this->getSlope($dp)); - } // function getCoefficients() + public function getCoefficients($dp = 0) + { + return array_merge(array($this->getIntersect($dp)), $this->getSlope($dp)); + } - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param int $order Order of Polynomial for this regression - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function _polynomial_regression($order, $yValues, $xValues, $const) { - // calculate sums - $x_sum = array_sum($xValues); - $y_sum = array_sum($yValues); - $xx_sum = $xy_sum = 0; - for($i = 0; $i < $this->_valueCount; ++$i) { - $xy_sum += $xValues[$i] * $yValues[$i]; - $xx_sum += $xValues[$i] * $xValues[$i]; - $yy_sum += $yValues[$i] * $yValues[$i]; - } - /* - * This routine uses logic from the PHP port of polyfit version 0.1 - * written by Michael Bommarito and Paul Meagher - * - * The function fits a polynomial function of order $order through - * a series of x-y data points using least squares. - * - */ - for ($i = 0; $i < $this->_valueCount; ++$i) { - for ($j = 0; $j <= $order; ++$j) { - $A[$i][$j] = pow($xValues[$i], $j); - } - } - for ($i=0; $i < $this->_valueCount; ++$i) { - $B[$i] = array($yValues[$i]); - } - $matrixA = new Matrix($A); - $matrixB = new Matrix($B); - $C = $matrixA->solve($matrixB); + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param int $order Order of Polynomial for this regression + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function polynomialRegression($order, $yValues, $xValues, $const) + { + // calculate sums + $x_sum = array_sum($xValues); + $y_sum = array_sum($yValues); + $xx_sum = $xy_sum = 0; + for ($i = 0; $i < $this->valueCount; ++$i) { + $xy_sum += $xValues[$i] * $yValues[$i]; + $xx_sum += $xValues[$i] * $xValues[$i]; + $yy_sum += $yValues[$i] * $yValues[$i]; + } + /* + * This routine uses logic from the PHP port of polyfit version 0.1 + * written by Michael Bommarito and Paul Meagher + * + * The function fits a polynomial function of order $order through + * a series of x-y data points using least squares. + * + */ + for ($i = 0; $i < $this->valueCount; ++$i) { + for ($j = 0; $j <= $order; ++$j) { + $A[$i][$j] = pow($xValues[$i], $j); + } + } + for ($i=0; $i < $this->valueCount; ++$i) { + $B[$i] = array($yValues[$i]); + } + $matrixA = new Matrix($A); + $matrixB = new Matrix($B); + $C = $matrixA->solve($matrixB); - $coefficients = array(); - for($i = 0; $i < $C->m; ++$i) { - $r = $C->get($i, 0); - if (abs($r) <= pow(10, -9)) { - $r = 0; - } - $coefficients[] = $r; - } + $coefficients = array(); + for ($i = 0; $i < $C->m; ++$i) { + $r = $C->get($i, 0); + if (abs($r) <= pow(10, -9)) { + $r = 0; + } + $coefficients[] = $r; + } - $this->_intersect = array_shift($coefficients); - $this->_slope = $coefficients; + $this->intersect = array_shift($coefficients); + $this->_slope = $coefficients; - $this->_calculateGoodnessOfFit($x_sum,$y_sum,$xx_sum,$yy_sum,$xy_sum); - foreach($this->_xValues as $xKey => $xValue) { - $this->_yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); - } - } // function _polynomial_regression() + $this->calculateGoodnessOfFit($x_sum, $y_sum, $xx_sum, $yy_sum, $xy_sum); + foreach ($this->xValues as $xKey => $xValue) { + $this->yBestFitValues[$xKey] = $this->getValueOfYForX($xValue); + } + } - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param int $order Order of Polynomial for this regression - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($order, $yValues, $xValues=array(), $const=True) { - if (parent::__construct($yValues, $xValues) !== False) { - if ($order < $this->_valueCount) { - $this->_bestFitType .= '_'.$order; - $this->_order = $order; - $this->_polynomial_regression($order, $yValues, $xValues, $const); - if (($this->getGoodnessOfFit() < 0.0) || ($this->getGoodnessOfFit() > 1.0)) { - $this->_error = True; - } - } else { - $this->_error = True; - } - } - } // function __construct() - -} // class polynomialBestFit \ No newline at end of file + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param int $order Order of Polynomial for this regression + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($order, $yValues, $xValues = array(), $const = true) + { + if (parent::__construct($yValues, $xValues) !== false) { + if ($order < $this->valueCount) { + $this->bestFitType .= '_'.$order; + $this->order = $order; + $this->polynomialRegression($order, $yValues, $xValues, $const); + if (($this->getGoodnessOfFit() < 0.0) || ($this->getGoodnessOfFit() > 1.0)) { + $this->_error = true; + } + } else { + $this->_error = true; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php index 832669c9f..77c473429 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/powerBestFitClass.php @@ -1,8 +1,11 @@ <?php + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; + /** - * PHPExcel + * PHPExcel_Power_Best_Fit * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,123 +23,116 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/bestFitClass.php'; - - -/** - * PHPExcel_Power_Best_Fit - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Power_Best_Fit extends PHPExcel_Best_Fit { - /** - * Algorithm type to use for best-fit - * (Name of this trend class) - * - * @var string - **/ - protected $_bestFitType = 'power'; + /** + * Algorithm type to use for best-fit + * (Name of this trend class) + * + * @var string + **/ + protected $bestFitType = 'power'; - /** - * Return the Y-Value for a specified value of X - * - * @param float $xValue X-Value - * @return float Y-Value - **/ - public function getValueOfYForX($xValue) { - return $this->getIntersect() * pow(($xValue - $this->_Xoffset),$this->getSlope()); - } // function getValueOfYForX() + /** + * Return the Y-Value for a specified value of X + * + * @param float $xValue X-Value + * @return float Y-Value + **/ + public function getValueOfYForX($xValue) + { + return $this->getIntersect() * pow(($xValue - $this->xOffset), $this->getSlope()); + } - /** - * Return the X-Value for a specified value of Y - * - * @param float $yValue Y-Value - * @return float X-Value - **/ - public function getValueOfXForY($yValue) { - return pow((($yValue + $this->_Yoffset) / $this->getIntersect()),(1 / $this->getSlope())); - } // function getValueOfXForY() + /** + * Return the X-Value for a specified value of Y + * + * @param float $yValue Y-Value + * @return float X-Value + **/ + public function getValueOfXForY($yValue) + { + return pow((($yValue + $this->yOffset) / $this->getIntersect()), (1 / $this->getSlope())); + } - /** - * Return the Equation of the best-fit line - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getEquation($dp=0) { - $slope = $this->getSlope($dp); - $intersect = $this->getIntersect($dp); + /** + * Return the Equation of the best-fit line + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getEquation($dp = 0) + { + $slope = $this->getSlope($dp); + $intersect = $this->getIntersect($dp); - return 'Y = '.$intersect.' * X^'.$slope; - } // function getEquation() + return 'Y = ' . $intersect . ' * X^' . $slope; + } - /** - * Return the Value of X where it intersects Y = 0 - * - * @param int $dp Number of places of decimal precision to display - * @return string - **/ - public function getIntersect($dp=0) { - if ($dp != 0) { - return round(exp($this->_intersect),$dp); - } - return exp($this->_intersect); - } // function getIntersect() + /** + * Return the Value of X where it intersects Y = 0 + * + * @param int $dp Number of places of decimal precision to display + * @return string + **/ + public function getIntersect($dp = 0) + { + if ($dp != 0) { + return round(exp($this->intersect), $dp); + } + return exp($this->intersect); + } - /** - * Execute the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - private function _power_regression($yValues, $xValues, $const) { - foreach($xValues as &$value) { - if ($value < 0.0) { - $value = 0 - log(abs($value)); - } elseif ($value > 0.0) { - $value = log($value); - } - } - unset($value); - foreach($yValues as &$value) { - if ($value < 0.0) { - $value = 0 - log(abs($value)); - } elseif ($value > 0.0) { - $value = log($value); - } - } - unset($value); + /** + * Execute the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + private function powerRegression($yValues, $xValues, $const) + { + foreach ($xValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); + foreach ($yValues as &$value) { + if ($value < 0.0) { + $value = 0 - log(abs($value)); + } elseif ($value > 0.0) { + $value = log($value); + } + } + unset($value); - $this->_leastSquareFit($yValues, $xValues, $const); - } // function _power_regression() + $this->leastSquareFit($yValues, $xValues, $const); + } - /** - * Define the regression and calculate the goodness of fit for a set of X and Y data values - * - * @param float[] $yValues The set of Y-values for this regression - * @param float[] $xValues The set of X-values for this regression - * @param boolean $const - */ - function __construct($yValues, $xValues=array(), $const=True) { - if (parent::__construct($yValues, $xValues) !== False) { - $this->_power_regression($yValues, $xValues, $const); - } - } // function __construct() - -} // class powerBestFit \ No newline at end of file + /** + * Define the regression and calculate the goodness of fit for a set of X and Y data values + * + * @param float[] $yValues The set of Y-values for this regression + * @param float[] $xValues The set of X-values for this regression + * @param boolean $const + */ + public function __construct($yValues, $xValues = array(), $const = true) + { + if (parent::__construct($yValues, $xValues) !== false) { + $this->powerRegression($yValues, $xValues, $const); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php index 25d7eb1d8..715cd4124 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Shared/trend/trendClass.php @@ -1,8 +1,15 @@ <?php + +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/linearBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/logarithmicBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/exponentialBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/powerBestFitClass.php'; +require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/polynomialBestFitClass.php'; + /** - * PHPExcel + * PHPExcel_trendClass * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,137 +27,121 @@ * * @category PHPExcel * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/linearBestFitClass.php'; -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/logarithmicBestFitClass.php'; -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/exponentialBestFitClass.php'; -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/powerBestFitClass.php'; -require_once PHPEXCEL_ROOT . 'PHPExcel/Shared/trend/polynomialBestFitClass.php'; - - -/** - * PHPExcel_trendClass - * - * @category PHPExcel - * @package PHPExcel_Shared_Trend - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class trendClass { - const TREND_LINEAR = 'Linear'; - const TREND_LOGARITHMIC = 'Logarithmic'; - const TREND_EXPONENTIAL = 'Exponential'; - const TREND_POWER = 'Power'; - const TREND_POLYNOMIAL_2 = 'Polynomial_2'; - const TREND_POLYNOMIAL_3 = 'Polynomial_3'; - const TREND_POLYNOMIAL_4 = 'Polynomial_4'; - const TREND_POLYNOMIAL_5 = 'Polynomial_5'; - const TREND_POLYNOMIAL_6 = 'Polynomial_6'; - const TREND_BEST_FIT = 'Bestfit'; - const TREND_BEST_FIT_NO_POLY = 'Bestfit_no_Polynomials'; + const TREND_LINEAR = 'Linear'; + const TREND_LOGARITHMIC = 'Logarithmic'; + const TREND_EXPONENTIAL = 'Exponential'; + const TREND_POWER = 'Power'; + const TREND_POLYNOMIAL_2 = 'Polynomial_2'; + const TREND_POLYNOMIAL_3 = 'Polynomial_3'; + const TREND_POLYNOMIAL_4 = 'Polynomial_4'; + const TREND_POLYNOMIAL_5 = 'Polynomial_5'; + const TREND_POLYNOMIAL_6 = 'Polynomial_6'; + const TREND_BEST_FIT = 'Bestfit'; + const TREND_BEST_FIT_NO_POLY = 'Bestfit_no_Polynomials'; - /** - * Names of the best-fit trend analysis methods - * - * @var string[] - **/ - private static $_trendTypes = array( self::TREND_LINEAR, - self::TREND_LOGARITHMIC, - self::TREND_EXPONENTIAL, - self::TREND_POWER - ); - /** - * Names of the best-fit trend polynomial orders - * - * @var string[] - **/ - private static $_trendTypePolyOrders = array( self::TREND_POLYNOMIAL_2, - self::TREND_POLYNOMIAL_3, - self::TREND_POLYNOMIAL_4, - self::TREND_POLYNOMIAL_5, - self::TREND_POLYNOMIAL_6 - ); + /** + * Names of the best-fit trend analysis methods + * + * @var string[] + **/ + private static $trendTypes = array( + self::TREND_LINEAR, + self::TREND_LOGARITHMIC, + self::TREND_EXPONENTIAL, + self::TREND_POWER + ); - /** - * Cached results for each method when trying to identify which provides the best fit - * - * @var PHPExcel_Best_Fit[] - **/ - private static $_trendCache = array(); + /** + * Names of the best-fit trend polynomial orders + * + * @var string[] + **/ + private static $trendTypePolynomialOrders = array( + self::TREND_POLYNOMIAL_2, + self::TREND_POLYNOMIAL_3, + self::TREND_POLYNOMIAL_4, + self::TREND_POLYNOMIAL_5, + self::TREND_POLYNOMIAL_6 + ); + + /** + * Cached results for each method when trying to identify which provides the best fit + * + * @var PHPExcel_Best_Fit[] + **/ + private static $trendCache = array(); - public static function calculate($trendType=self::TREND_BEST_FIT, $yValues, $xValues=array(), $const=True) { - // Calculate number of points in each dataset - $nY = count($yValues); - $nX = count($xValues); + public static function calculate($trendType = self::TREND_BEST_FIT, $yValues, $xValues = array(), $const = true) + { + // Calculate number of points in each dataset + $nY = count($yValues); + $nX = count($xValues); - // Define X Values if necessary - if ($nX == 0) { - $xValues = range(1,$nY); - $nX = $nY; - } elseif ($nY != $nX) { - // Ensure both arrays of points are the same size - trigger_error("trend(): Number of elements in coordinate arrays do not match.", E_USER_ERROR); - } + // Define X Values if necessary + if ($nX == 0) { + $xValues = range(1, $nY); + $nX = $nY; + } elseif ($nY != $nX) { + // Ensure both arrays of points are the same size + trigger_error("trend(): Number of elements in coordinate arrays do not match.", E_USER_ERROR); + } - $key = md5($trendType.$const.serialize($yValues).serialize($xValues)); - // Determine which trend method has been requested - switch ($trendType) { - // Instantiate and return the class for the requested trend method - case self::TREND_LINEAR : - case self::TREND_LOGARITHMIC : - case self::TREND_EXPONENTIAL : - case self::TREND_POWER : - if (!isset(self::$_trendCache[$key])) { - $className = 'PHPExcel_'.$trendType.'_Best_Fit'; - self::$_trendCache[$key] = new $className($yValues,$xValues,$const); - } - return self::$_trendCache[$key]; - break; - case self::TREND_POLYNOMIAL_2 : - case self::TREND_POLYNOMIAL_3 : - case self::TREND_POLYNOMIAL_4 : - case self::TREND_POLYNOMIAL_5 : - case self::TREND_POLYNOMIAL_6 : - if (!isset(self::$_trendCache[$key])) { - $order = substr($trendType,-1); - self::$_trendCache[$key] = new PHPExcel_Polynomial_Best_Fit($order,$yValues,$xValues,$const); - } - return self::$_trendCache[$key]; - break; - case self::TREND_BEST_FIT : - case self::TREND_BEST_FIT_NO_POLY : - // If the request is to determine the best fit regression, then we test each trend line in turn - // Start by generating an instance of each available trend method - foreach(self::$_trendTypes as $trendMethod) { - $className = 'PHPExcel_'.$trendMethod.'BestFit'; - $bestFit[$trendMethod] = new $className($yValues,$xValues,$const); - $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); - } - if ($trendType != self::TREND_BEST_FIT_NO_POLY) { - foreach(self::$_trendTypePolyOrders as $trendMethod) { - $order = substr($trendMethod,-1); - $bestFit[$trendMethod] = new PHPExcel_Polynomial_Best_Fit($order,$yValues,$xValues,$const); - if ($bestFit[$trendMethod]->getError()) { - unset($bestFit[$trendMethod]); - } else { - $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); - } - } - } - // Determine which of our trend lines is the best fit, and then we return the instance of that trend class - arsort($bestFitValue); - $bestFitType = key($bestFitValue); - return $bestFit[$bestFitType]; - break; - default : - return false; - } - } // function calculate() - -} // class trendClass \ No newline at end of file + $key = md5($trendType.$const.serialize($yValues).serialize($xValues)); + // Determine which trend method has been requested + switch ($trendType) { + // Instantiate and return the class for the requested trend method + case self::TREND_LINEAR: + case self::TREND_LOGARITHMIC: + case self::TREND_EXPONENTIAL: + case self::TREND_POWER: + if (!isset(self::$trendCache[$key])) { + $className = 'PHPExcel_'.$trendType.'_Best_Fit'; + self::$trendCache[$key] = new $className($yValues, $xValues, $const); + } + return self::$trendCache[$key]; + case self::TREND_POLYNOMIAL_2: + case self::TREND_POLYNOMIAL_3: + case self::TREND_POLYNOMIAL_4: + case self::TREND_POLYNOMIAL_5: + case self::TREND_POLYNOMIAL_6: + if (!isset(self::$trendCache[$key])) { + $order = substr($trendType, -1); + self::$trendCache[$key] = new PHPExcel_Polynomial_Best_Fit($order, $yValues, $xValues, $const); + } + return self::$trendCache[$key]; + case self::TREND_BEST_FIT: + case self::TREND_BEST_FIT_NO_POLY: + // If the request is to determine the best fit regression, then we test each trend line in turn + // Start by generating an instance of each available trend method + foreach (self::$trendTypes as $trendMethod) { + $className = 'PHPExcel_'.$trendMethod.'BestFit'; + $bestFit[$trendMethod] = new $className($yValues, $xValues, $const); + $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); + } + if ($trendType != self::TREND_BEST_FIT_NO_POLY) { + foreach (self::$trendTypePolynomialOrders as $trendMethod) { + $order = substr($trendMethod, -1); + $bestFit[$trendMethod] = new PHPExcel_Polynomial_Best_Fit($order, $yValues, $xValues, $const); + if ($bestFit[$trendMethod]->getError()) { + unset($bestFit[$trendMethod]); + } else { + $bestFitValue[$trendMethod] = $bestFit[$trendMethod]->getGoodnessOfFit(); + } + } + } + // Determine which of our trend lines is the best fit, and then we return the instance of that trend class + arsort($bestFitValue); + $bestFitType = key($bestFitValue); + return $bestFit[$bestFitType]; + default: + return false; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php index 9c29320ea..6b952ef94 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Style - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { /** @@ -40,96 +32,96 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp * * @var PHPExcel_Style_Font */ - protected $_font; + protected $font; /** * Fill * * @var PHPExcel_Style_Fill */ - protected $_fill; + protected $fill; /** * Borders * * @var PHPExcel_Style_Borders */ - protected $_borders; + protected $borders; /** * Alignment * * @var PHPExcel_Style_Alignment */ - protected $_alignment; + protected $alignment; /** * Number Format * * @var PHPExcel_Style_NumberFormat */ - protected $_numberFormat; + protected $numberFormat; /** * Conditional styles * * @var PHPExcel_Style_Conditional[] */ - protected $_conditionalStyles; + protected $conditionalStyles; /** * Protection * * @var PHPExcel_Style_Protection */ - protected $_protection; + protected $protection; /** * Index of style in collection. Only used for real style. * * @var int */ - protected $_index; + protected $index; /** * Use Quote Prefix when displaying in cell editor. Only used for real style. * * @var boolean */ - protected $_quotePrefix = false; + protected $quotePrefix = false; /** * Create a new PHPExcel_Style * * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what + * Leave this value at default unless you understand exactly what * its ramifications are * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what + * Leave this value at default unless you understand exactly what * its ramifications are */ public function __construct($isSupervisor = false, $isConditional = false) { // Supervisor? - $this->_isSupervisor = $isSupervisor; + $this->isSupervisor = $isSupervisor; // Initialise values - $this->_conditionalStyles = array(); - $this->_font = new PHPExcel_Style_Font($isSupervisor, $isConditional); - $this->_fill = new PHPExcel_Style_Fill($isSupervisor, $isConditional); - $this->_borders = new PHPExcel_Style_Borders($isSupervisor, $isConditional); - $this->_alignment = new PHPExcel_Style_Alignment($isSupervisor, $isConditional); - $this->_numberFormat = new PHPExcel_Style_NumberFormat($isSupervisor, $isConditional); - $this->_protection = new PHPExcel_Style_Protection($isSupervisor, $isConditional); + $this->conditionalStyles = array(); + $this->font = new PHPExcel_Style_Font($isSupervisor, $isConditional); + $this->fill = new PHPExcel_Style_Fill($isSupervisor, $isConditional); + $this->borders = new PHPExcel_Style_Borders($isSupervisor, $isConditional); + $this->alignment = new PHPExcel_Style_Alignment($isSupervisor, $isConditional); + $this->numberFormat = new PHPExcel_Style_NumberFormat($isSupervisor, $isConditional); + $this->protection = new PHPExcel_Style_Protection($isSupervisor, $isConditional); // bind parent if we are a supervisor if ($isSupervisor) { - $this->_font->bindParent($this); - $this->_fill->bindParent($this); - $this->_borders->bindParent($this); - $this->_alignment->bindParent($this); - $this->_numberFormat->bindParent($this); - $this->_protection->bindParent($this); + $this->font->bindParent($this); + $this->fill->bindParent($this); + $this->borders->bindParent($this); + $this->alignment->bindParent($this); + $this->numberFormat->bindParent($this); + $this->protection->bindParent($this); } } @@ -150,7 +142,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp $xfIndex = 0; } - return $this->_parent->getCellXfByIndex($xfIndex); + return $this->parent->getCellXfByIndex($xfIndex); } /** @@ -160,19 +152,19 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getParent() { - return $this->_parent; + return $this->parent; } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('quotePrefix' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('quotePrefix' => $array); + } /** * Apply styles from array @@ -217,8 +209,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp public function applyFromArray($pStyles = null, $pAdvanced = true) { if (is_array($pStyles)) { - if ($this->_isSupervisor) { - + if ($this->isSupervisor) { $pRange = $this->getSelectedCells(); // Uppercase coordinate @@ -234,7 +225,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp // Calculate range outer borders $rangeStart = PHPExcel_Cell::coordinateFromString($rangeA); - $rangeEnd = PHPExcel_Cell::coordinateFromString($rangeB); + $rangeEnd = PHPExcel_Cell::coordinateFromString($rangeB); // Translate column into index $rangeStart[0] = PHPExcel_Cell::columnIndexFromString($rangeStart[0]) - 1; @@ -248,9 +239,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } // ADVANCED MODE: - if ($pAdvanced && isset($pStyles['borders'])) { - // 'allborders' is a shorthand property for 'outline' and 'inside' and // it applies to components that have not been set explicitly if (isset($pStyles['borders']['allborders'])) { @@ -261,7 +250,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } unset($pStyles['borders']['allborders']); // not needed any more } - // 'outline' is a shorthand property for 'top', 'right', 'bottom', 'left' // it applies to components that have not been set explicitly if (isset($pStyles['borders']['outline'])) { @@ -272,7 +260,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } unset($pStyles['borders']['outline']); // not needed any more } - // 'inside' is a shorthand property for 'vertical' and 'horizontal' // it applies to components that have not been set explicitly if (isset($pStyles['borders']['inside'])) { @@ -283,7 +270,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } unset($pStyles['borders']['inside']); // not needed any more } - // width and height characteristics of selection, 1, 2, or 3 (for 3 or more) $xMax = min($rangeEnd[0] - $rangeStart[0] + 1, 3); $yMax = min($rangeEnd[1] - $rangeStart[1] + 1, 3); @@ -294,34 +280,28 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp $colStart = ($x == 3) ? PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0]) : PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] + $x - 1); - // end column index for region $colEnd = ($x == 1) ? PHPExcel_Cell::stringFromColumnIndex($rangeStart[0]) : PHPExcel_Cell::stringFromColumnIndex($rangeEnd[0] - $xMax + $x); for ($y = 1; $y <= $yMax; ++$y) { - // which edges are touching the region $edges = array(); - - // are we at left edge if ($x == 1) { + // are we at left edge $edges[] = 'left'; } - - // are we at right edge if ($x == $xMax) { + // are we at right edge $edges[] = 'right'; } - - // are we at top edge? if ($y == 1) { + // are we at top edge? $edges[] = 'top'; } - - // are we at bottom edge? if ($y == $yMax) { + // are we at bottom edge? $edges[] = 'bottom'; } @@ -341,7 +321,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp unset($regionStyles['borders']['inside']); // what are the inner edges of the region when looking at the selection - $innerEdges = array_diff( array('top', 'right', 'bottom', 'left'), $edges ); + $innerEdges = array_diff(array('top', 'right', 'bottom', 'left'), $edges); // inner edges that are not touching the region should take the 'inside' border properties if they have been set foreach ($innerEdges as $innerEdge) { @@ -375,11 +355,10 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } // SIMPLE MODE: - // Selection type, inspect if (preg_match('/^[A-Z]+1:[A-Z]+1048576$/', $pRange)) { $selectionType = 'COLUMN'; - } else if (preg_match('/^A[0-9]+:XFD[0-9]+$/', $pRange)) { + } elseif (preg_match('/^A[0-9]+:XFD[0-9]+$/', $pRange)) { $selectionType = 'ROW'; } else { $selectionType = 'CELL'; @@ -393,7 +372,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp $oldXfIndexes[$this->getActiveSheet()->getColumnDimensionByColumn($col)->getXfIndex()] = true; } break; - case 'ROW': $oldXfIndexes = array(); for ($row = $rangeStart[1]; $row <= $rangeEnd[1]; ++$row) { @@ -404,7 +382,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp } } break; - case 'CELL': $oldXfIndexes = array(); for ($col = $rangeStart[0]; $col <= $rangeEnd[0]; ++$col) { @@ -483,7 +460,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp $this->getProtection()->applyFromArray($pStyles['protection']); } if (array_key_exists('quotePrefix', $pStyles)) { - $this->_quotePrefix = $pStyles['quotePrefix']; + $this->quotePrefix = $pStyles['quotePrefix']; } } } else { @@ -499,7 +476,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getFill() { - return $this->_fill; + return $this->fill; } /** @@ -509,7 +486,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getFont() { - return $this->_font; + return $this->font; } /** @@ -520,7 +497,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function setFont(PHPExcel_Style_Font $font) { - $this->_font = $font; + $this->font = $font; return $this; } @@ -531,7 +508,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getBorders() { - return $this->_borders; + return $this->borders; } /** @@ -541,7 +518,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getAlignment() { - return $this->_alignment; + return $this->alignment; } /** @@ -551,7 +528,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getNumberFormat() { - return $this->_numberFormat; + return $this->numberFormat; } /** @@ -585,7 +562,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getProtection() { - return $this->_protection; + return $this->protection; } /** @@ -595,10 +572,10 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getQuotePrefix() { - if ($this->_isSupervisor) { + if ($this->isSupervisor) { return $this->getSharedComponent()->getQuotePrefix(); } - return $this->_quotePrefix; + return $this->quotePrefix; } /** @@ -611,11 +588,11 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp if ($pValue == '') { $pValue = false; } - if ($this->_isSupervisor) { + if ($this->isSupervisor) { $styleArray = array('quotePrefix' => $pValue); $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); } else { - $this->_quotePrefix = (boolean) $pValue; + $this->quotePrefix = (boolean) $pValue; } return $this; } @@ -628,20 +605,20 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp public function getHashCode() { $hashConditionals = ''; - foreach ($this->_conditionalStyles as $conditional) { + foreach ($this->conditionalStyles as $conditional) { $hashConditionals .= $conditional->getHashCode(); } return md5( - $this->_fill->getHashCode() - . $this->_font->getHashCode() - . $this->_borders->getHashCode() - . $this->_alignment->getHashCode() - . $this->_numberFormat->getHashCode() - . $hashConditionals - . $this->_protection->getHashCode() - . ($this->_quotePrefix ? 't' : 'f') - . __CLASS__ + $this->fill->getHashCode() . + $this->font->getHashCode() . + $this->borders->getHashCode() . + $this->alignment->getHashCode() . + $this->numberFormat->getHashCode() . + $hashConditionals . + $this->protection->getHashCode() . + ($this->quotePrefix ? 't' : 'f') . + __CLASS__ ); } @@ -652,7 +629,7 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function getIndex() { - return $this->_index; + return $this->index; } /** @@ -662,7 +639,6 @@ class PHPExcel_Style extends PHPExcel_Style_Supervisor implements PHPExcel_IComp */ public function setIndex($pValue) { - $this->_index = $pValue; + $this->index = $pValue; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php index 00825debf..bfc494771 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Alignment.php @@ -1,8 +1,8 @@ <?php /** - * PHPExcel + * PHPExcel_Style_Alignment * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,441 +19,446 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_Alignment - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_Alignment extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Horizontal alignment styles */ - const HORIZONTAL_GENERAL = 'general'; - const HORIZONTAL_LEFT = 'left'; - const HORIZONTAL_RIGHT = 'right'; - const HORIZONTAL_CENTER = 'center'; - const HORIZONTAL_CENTER_CONTINUOUS = 'centerContinuous'; - const HORIZONTAL_JUSTIFY = 'justify'; - const HORIZONTAL_FILL = 'fill'; - const HORIZONTAL_DISTRIBUTED = 'distributed'; // Excel2007 only + /* Horizontal alignment styles */ + const HORIZONTAL_GENERAL = 'general'; + const HORIZONTAL_LEFT = 'left'; + const HORIZONTAL_RIGHT = 'right'; + const HORIZONTAL_CENTER = 'center'; + const HORIZONTAL_CENTER_CONTINUOUS = 'centerContinuous'; + const HORIZONTAL_JUSTIFY = 'justify'; + const HORIZONTAL_FILL = 'fill'; + const HORIZONTAL_DISTRIBUTED = 'distributed'; // Excel2007 only - /* Vertical alignment styles */ - const VERTICAL_BOTTOM = 'bottom'; - const VERTICAL_TOP = 'top'; - const VERTICAL_CENTER = 'center'; - const VERTICAL_JUSTIFY = 'justify'; - const VERTICAL_DISTRIBUTED = 'distributed'; // Excel2007 only + /* Vertical alignment styles */ + const VERTICAL_BOTTOM = 'bottom'; + const VERTICAL_TOP = 'top'; + const VERTICAL_CENTER = 'center'; + const VERTICAL_JUSTIFY = 'justify'; + const VERTICAL_DISTRIBUTED = 'distributed'; // Excel2007 only - /* Read order */ - const READORDER_CONTEXT = 0; - const READORDER_LTR = 1; - const READORDER_RTL = 2; + /* Read order */ + const READORDER_CONTEXT = 0; + const READORDER_LTR = 1; + const READORDER_RTL = 2; - /** - * Horizontal alignment - * - * @var string - */ - protected $_horizontal = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + /** + * Horizontal alignment + * + * @var string + */ + protected $horizontal = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; - /** - * Vertical alignment - * - * @var string - */ - protected $_vertical = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + /** + * Vertical alignment + * + * @var string + */ + protected $vertical = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; - /** - * Text rotation - * - * @var integer - */ - protected $_textRotation = 0; + /** + * Text rotation + * + * @var integer + */ + protected $textRotation = 0; - /** - * Wrap text - * - * @var boolean - */ - protected $_wrapText = FALSE; + /** + * Wrap text + * + * @var boolean + */ + protected $wrapText = false; - /** - * Shrink to fit - * - * @var boolean - */ - protected $_shrinkToFit = FALSE; + /** + * Shrink to fit + * + * @var boolean + */ + protected $shrinkToFit = false; - /** - * Indent - only possible with horizontal alignment left and right - * - * @var integer - */ - protected $_indent = 0; + /** + * Indent - only possible with horizontal alignment left and right + * + * @var integer + */ + protected $indent = 0; - /** - * Read order - * - * @var integer - */ - protected $_readorder = 0; + /** + * Read order + * + * @var integer + */ + protected $readorder = 0; - /** - * Create a new PHPExcel_Style_Alignment - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_Alignment + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - if ($isConditional) { - $this->_horizontal = NULL; - $this->_vertical = NULL; - $this->_textRotation = NULL; - } - } + if ($isConditional) { + $this->horizontal = null; + $this->vertical = null; + $this->textRotation = null; + } + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Alignment - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getAlignment(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Alignment + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getAlignment(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('alignment' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('alignment' => $array); + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->applyFromArray( - * array( - * 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, - * 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, - * 'rotation' => 0, - * 'wrap' => TRUE - * ) - * ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Alignment - */ - public function applyFromArray($pStyles = NULL) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells()) - ->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (isset($pStyles['horizontal'])) { - $this->setHorizontal($pStyles['horizontal']); - } - if (isset($pStyles['vertical'])) { - $this->setVertical($pStyles['vertical']); - } - if (isset($pStyles['rotation'])) { - $this->setTextRotation($pStyles['rotation']); - } - if (isset($pStyles['wrap'])) { - $this->setWrapText($pStyles['wrap']); - } - if (isset($pStyles['shrinkToFit'])) { - $this->setShrinkToFit($pStyles['shrinkToFit']); - } - if (isset($pStyles['indent'])) { - $this->setIndent($pStyles['indent']); - } - if (isset($pStyles['readorder'])) { - $this->setReadorder($pStyles['readorder']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->applyFromArray( + * array( + * 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, + * 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, + * 'rotation' => 0, + * 'wrap' => TRUE + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Alignment + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells()) + ->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['horizontal'])) { + $this->setHorizontal($pStyles['horizontal']); + } + if (isset($pStyles['vertical'])) { + $this->setVertical($pStyles['vertical']); + } + if (isset($pStyles['rotation'])) { + $this->setTextRotation($pStyles['rotation']); + } + if (isset($pStyles['wrap'])) { + $this->setWrapText($pStyles['wrap']); + } + if (isset($pStyles['shrinkToFit'])) { + $this->setShrinkToFit($pStyles['shrinkToFit']); + } + if (isset($pStyles['indent'])) { + $this->setIndent($pStyles['indent']); + } + if (isset($pStyles['readorder'])) { + $this->setReadorder($pStyles['readorder']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Get Horizontal - * - * @return string - */ - public function getHorizontal() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHorizontal(); - } - return $this->_horizontal; - } + /** + * Get Horizontal + * + * @return string + */ + public function getHorizontal() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHorizontal(); + } + return $this->horizontal; + } - /** - * Set Horizontal - * - * @param string $pValue - * @return PHPExcel_Style_Alignment - */ - public function setHorizontal($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) { - if ($pValue == '') { - $pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; - } + /** + * Set Horizontal + * + * @param string $pValue + * @return PHPExcel_Style_Alignment + */ + public function setHorizontal($pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL) + { + if ($pValue == '') { + $pValue = PHPExcel_Style_Alignment::HORIZONTAL_GENERAL; + } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('horizontal' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } - else { - $this->_horizontal = $pValue; - } - return $this; - } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('horizontal' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->horizontal = $pValue; + } + return $this; + } - /** - * Get Vertical - * - * @return string - */ - public function getVertical() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getVertical(); - } - return $this->_vertical; - } + /** + * Get Vertical + * + * @return string + */ + public function getVertical() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getVertical(); + } + return $this->vertical; + } - /** - * Set Vertical - * - * @param string $pValue - * @return PHPExcel_Style_Alignment - */ - public function setVertical($pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM) { - if ($pValue == '') { - $pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; - } + /** + * Set Vertical + * + * @param string $pValue + * @return PHPExcel_Style_Alignment + */ + public function setVertical($pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM) + { + if ($pValue == '') { + $pValue = PHPExcel_Style_Alignment::VERTICAL_BOTTOM; + } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('vertical' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_vertical = $pValue; - } - return $this; - } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('vertical' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->vertical = $pValue; + } + return $this; + } - /** - * Get TextRotation - * - * @return int - */ - public function getTextRotation() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getTextRotation(); - } - return $this->_textRotation; - } + /** + * Get TextRotation + * + * @return int + */ + public function getTextRotation() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getTextRotation(); + } + return $this->textRotation; + } - /** - * Set TextRotation - * - * @param int $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Alignment - */ - public function setTextRotation($pValue = 0) { - // Excel2007 value 255 => PHPExcel value -165 - if ($pValue == 255) { - $pValue = -165; - } + /** + * Set TextRotation + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Alignment + */ + public function setTextRotation($pValue = 0) + { + // Excel2007 value 255 => PHPExcel value -165 + if ($pValue == 255) { + $pValue = -165; + } - // Set rotation - if ( ($pValue >= -90 && $pValue <= 90) || $pValue == -165 ) { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('rotation' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_textRotation = $pValue; - } - } else { - throw new PHPExcel_Exception("Text rotation should be a value between -90 and 90."); - } + // Set rotation + if (($pValue >= -90 && $pValue <= 90) || $pValue == -165) { + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('rotation' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->textRotation = $pValue; + } + } else { + throw new PHPExcel_Exception("Text rotation should be a value between -90 and 90."); + } - return $this; - } + return $this; + } - /** - * Get Wrap Text - * - * @return boolean - */ - public function getWrapText() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getWrapText(); - } - return $this->_wrapText; - } + /** + * Get Wrap Text + * + * @return boolean + */ + public function getWrapText() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getWrapText(); + } + return $this->wrapText; + } - /** - * Set Wrap Text - * - * @param boolean $pValue - * @return PHPExcel_Style_Alignment - */ - public function setWrapText($pValue = FALSE) { - if ($pValue == '') { - $pValue = FALSE; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('wrap' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_wrapText = $pValue; - } - return $this; - } + /** + * Set Wrap Text + * + * @param boolean $pValue + * @return PHPExcel_Style_Alignment + */ + public function setWrapText($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('wrap' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->wrapText = $pValue; + } + return $this; + } - /** - * Get Shrink to fit - * - * @return boolean - */ - public function getShrinkToFit() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getShrinkToFit(); - } - return $this->_shrinkToFit; - } + /** + * Get Shrink to fit + * + * @return boolean + */ + public function getShrinkToFit() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getShrinkToFit(); + } + return $this->shrinkToFit; + } - /** - * Set Shrink to fit - * - * @param boolean $pValue - * @return PHPExcel_Style_Alignment - */ - public function setShrinkToFit($pValue = FALSE) { - if ($pValue == '') { - $pValue = FALSE; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('shrinkToFit' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_shrinkToFit = $pValue; - } - return $this; - } + /** + * Set Shrink to fit + * + * @param boolean $pValue + * @return PHPExcel_Style_Alignment + */ + public function setShrinkToFit($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('shrinkToFit' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->shrinkToFit = $pValue; + } + return $this; + } - /** - * Get indent - * - * @return int - */ - public function getIndent() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getIndent(); - } - return $this->_indent; - } + /** + * Get indent + * + * @return int + */ + public function getIndent() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getIndent(); + } + return $this->indent; + } - /** - * Set indent - * - * @param int $pValue - * @return PHPExcel_Style_Alignment - */ - public function setIndent($pValue = 0) { - if ($pValue > 0) { - if ($this->getHorizontal() != self::HORIZONTAL_GENERAL && - $this->getHorizontal() != self::HORIZONTAL_LEFT && - $this->getHorizontal() != self::HORIZONTAL_RIGHT) { - $pValue = 0; // indent not supported - } - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('indent' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_indent = $pValue; - } - return $this; - } + /** + * Set indent + * + * @param int $pValue + * @return PHPExcel_Style_Alignment + */ + public function setIndent($pValue = 0) + { + if ($pValue > 0) { + if ($this->getHorizontal() != self::HORIZONTAL_GENERAL && + $this->getHorizontal() != self::HORIZONTAL_LEFT && + $this->getHorizontal() != self::HORIZONTAL_RIGHT) { + $pValue = 0; // indent not supported + } + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('indent' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->indent = $pValue; + } + return $this; + } - /** - * Get read order - * - * @return integer - */ - public function getReadorder() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getReadorder(); - } - return $this->_readorder; - } + /** + * Get read order + * + * @return integer + */ + public function getReadorder() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getReadorder(); + } + return $this->readorder; + } - /** - * Set read order - * - * @param int $pValue - * @return PHPExcel_Style_Alignment - */ - public function setReadorder($pValue = 0) { - if ($pValue < 0 || $pValue > 2) { + /** + * Set read order + * + * @param int $pValue + * @return PHPExcel_Style_Alignment + */ + public function setReadorder($pValue = 0) + { + if ($pValue < 0 || $pValue > 2) { $pValue = 0; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('readorder' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_readorder = $pValue; - } - return $this; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_horizontal - . $this->_vertical - . $this->_textRotation - . ($this->_wrapText ? 't' : 'f') - . ($this->_shrinkToFit ? 't' : 'f') - . $this->_indent - . $this->_readorder - . __CLASS__ - ); - } + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('readorder' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->readorder = $pValue; + } + return $this; + } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->horizontal . + $this->vertical . + $this->textRotation . + ($this->wrapText ? 't' : 'f') . + ($this->shrinkToFit ? 't' : 'f') . + $this->indent . + $this->readorder . + __CLASS__ + ); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php index ec737bf0f..55efc501e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Border.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Border * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,276 +20,263 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_Border - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_Border extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Border style */ - const BORDER_NONE = 'none'; - const BORDER_DASHDOT = 'dashDot'; - const BORDER_DASHDOTDOT = 'dashDotDot'; - const BORDER_DASHED = 'dashed'; - const BORDER_DOTTED = 'dotted'; - const BORDER_DOUBLE = 'double'; - const BORDER_HAIR = 'hair'; - const BORDER_MEDIUM = 'medium'; - const BORDER_MEDIUMDASHDOT = 'mediumDashDot'; - const BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot'; - const BORDER_MEDIUMDASHED = 'mediumDashed'; - const BORDER_SLANTDASHDOT = 'slantDashDot'; - const BORDER_THICK = 'thick'; - const BORDER_THIN = 'thin'; + /* Border style */ + const BORDER_NONE = 'none'; + const BORDER_DASHDOT = 'dashDot'; + const BORDER_DASHDOTDOT = 'dashDotDot'; + const BORDER_DASHED = 'dashed'; + const BORDER_DOTTED = 'dotted'; + const BORDER_DOUBLE = 'double'; + const BORDER_HAIR = 'hair'; + const BORDER_MEDIUM = 'medium'; + const BORDER_MEDIUMDASHDOT = 'mediumDashDot'; + const BORDER_MEDIUMDASHDOTDOT = 'mediumDashDotDot'; + const BORDER_MEDIUMDASHED = 'mediumDashed'; + const BORDER_SLANTDASHDOT = 'slantDashDot'; + const BORDER_THICK = 'thick'; + const BORDER_THIN = 'thin'; - /** - * Border style - * - * @var string - */ - protected $_borderStyle = PHPExcel_Style_Border::BORDER_NONE; + /** + * Border style + * + * @var string + */ + protected $borderStyle = PHPExcel_Style_Border::BORDER_NONE; - /** - * Border color - * - * @var PHPExcel_Style_Color - */ - protected $_color; + /** + * Border color + * + * @var PHPExcel_Style_Color + */ + protected $color; - /** - * Parent property name - * - * @var string - */ - protected $_parentPropertyName; + /** + * Parent property name + * + * @var string + */ + protected $parentPropertyName; - /** - * Create a new PHPExcel_Style_Border - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_Border + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - // Initialise values - $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); + // Initialise values + $this->color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); - // bind parent if we are a supervisor - if ($isSupervisor) { - $this->_color->bindParent($this, '_color'); - } - } + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->color->bindParent($this, 'color'); + } + } - /** - * Bind parent. Only used for supervisor - * - * @param PHPExcel_Style_Borders $parent - * @param string $parentPropertyName - * @return PHPExcel_Style_Border - */ - public function bindParent($parent, $parentPropertyName=NULL) - { - $this->_parent = $parent; - $this->_parentPropertyName = $parentPropertyName; - return $this; - } + /** + * Bind parent. Only used for supervisor + * + * @param PHPExcel_Style_Borders $parent + * @param string $parentPropertyName + * @return PHPExcel_Style_Border + */ + public function bindParent($parent, $parentPropertyName = null) + { + $this->parent = $parent; + $this->parentPropertyName = $parentPropertyName; + return $this; + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Border - * @throws PHPExcel_Exception - */ - public function getSharedComponent() - { - switch ($this->_parentPropertyName) { - case '_allBorders': - case '_horizontal': - case '_inside': - case '_outline': - case '_vertical': - throw new PHPExcel_Exception('Cannot get shared component for a pseudo-border.'); - break; - case '_bottom': - return $this->_parent->getSharedComponent()->getBottom(); break; - case '_diagonal': - return $this->_parent->getSharedComponent()->getDiagonal(); break; - case '_left': - return $this->_parent->getSharedComponent()->getLeft(); break; - case '_right': - return $this->_parent->getSharedComponent()->getRight(); break; - case '_top': - return $this->_parent->getSharedComponent()->getTop(); break; + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Border + * @throws PHPExcel_Exception + */ + public function getSharedComponent() + { + switch ($this->parentPropertyName) { + case 'allBorders': + case 'horizontal': + case 'inside': + case 'outline': + case 'vertical': + throw new PHPExcel_Exception('Cannot get shared component for a pseudo-border.'); + break; + case 'bottom': + return $this->parent->getSharedComponent()->getBottom(); + case 'diagonal': + return $this->parent->getSharedComponent()->getDiagonal(); + case 'left': + return $this->parent->getSharedComponent()->getLeft(); + case 'right': + return $this->parent->getSharedComponent()->getRight(); + case 'top': + return $this->parent->getSharedComponent()->getTop(); + } + } - } - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + switch ($this->parentPropertyName) { + case 'allBorders': + case 'bottom': + case 'diagonal': + case 'horizontal': + case 'inside': + case 'left': + case 'outline': + case 'right': + case 'top': + case 'vertical': + $key = strtolower('vertical'); + break; + } + return $this->parent->getStyleArray(array($key => $array)); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - switch ($this->_parentPropertyName) { - case '_allBorders': - $key = 'allborders'; break; - case '_bottom': - $key = 'bottom'; break; - case '_diagonal': - $key = 'diagonal'; break; - case '_horizontal': - $key = 'horizontal'; break; - case '_inside': - $key = 'inside'; break; - case '_left': - $key = 'left'; break; - case '_outline': - $key = 'outline'; break; - case '_right': - $key = 'right'; break; - case '_top': - $key = 'top'; break; - case '_vertical': - $key = 'vertical'; break; - } - return $this->_parent->getStyleArray(array($key => $array)); - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->getTop()->applyFromArray( + * array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Border + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['style'])) { + $this->setBorderStyle($pStyles['style']); + } + if (isset($pStyles['color'])) { + $this->getColor()->applyFromArray($pStyles['color']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->getTop()->applyFromArray( - * array( - * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, - * 'color' => array( - * 'rgb' => '808080' - * ) - * ) - * ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Border - */ - public function applyFromArray($pStyles = null) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (isset($pStyles['style'])) { - $this->setBorderStyle($pStyles['style']); - } - if (isset($pStyles['color'])) { - $this->getColor()->applyFromArray($pStyles['color']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Get Border style + * + * @return string + */ + public function getBorderStyle() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getBorderStyle(); + } + return $this->borderStyle; + } - /** - * Get Border style - * - * @return string - */ - public function getBorderStyle() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getBorderStyle(); - } - return $this->_borderStyle; - } + /** + * Set Border style + * + * @param string|boolean $pValue + * When passing a boolean, FALSE equates PHPExcel_Style_Border::BORDER_NONE + * and TRUE to PHPExcel_Style_Border::BORDER_MEDIUM + * @return PHPExcel_Style_Border + */ + public function setBorderStyle($pValue = PHPExcel_Style_Border::BORDER_NONE) + { - /** - * Set Border style - * - * @param string|boolean $pValue - * When passing a boolean, FALSE equates PHPExcel_Style_Border::BORDER_NONE - * and TRUE to PHPExcel_Style_Border::BORDER_MEDIUM - * @return PHPExcel_Style_Border - */ - public function setBorderStyle($pValue = PHPExcel_Style_Border::BORDER_NONE) { + if (empty($pValue)) { + $pValue = PHPExcel_Style_Border::BORDER_NONE; + } elseif (is_bool($pValue) && $pValue) { + $pValue = PHPExcel_Style_Border::BORDER_MEDIUM; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('style' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->borderStyle = $pValue; + } + return $this; + } - if (empty($pValue)) { - $pValue = PHPExcel_Style_Border::BORDER_NONE; - } elseif(is_bool($pValue) && $pValue) { - $pValue = PHPExcel_Style_Border::BORDER_MEDIUM; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('style' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_borderStyle = $pValue; - } - return $this; - } + /** + * Get Border Color + * + * @return PHPExcel_Style_Color + */ + public function getColor() + { + return $this->color; + } - /** - * Get Border Color - * - * @return PHPExcel_Style_Color - */ - public function getColor() { - return $this->_color; - } + /** + * Set Border Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Border + */ + public function setColor(PHPExcel_Style_Color $pValue = null) + { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; - /** - * Set Border Color - * - * @param PHPExcel_Style_Color $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Border - */ - public function setColor(PHPExcel_Style_Color $pValue = null) { - // make sure parameter is a real color and not a supervisor - $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; - - if ($this->_isSupervisor) { - $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_color = $color; - } - return $this; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_borderStyle - . $this->_color->getHashCode() - . __CLASS__ - ); - } + if ($this->isSupervisor) { + $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->color = $color; + } + return $this; + } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->borderStyle . + $this->color->getHashCode() . + __CLASS__ + ); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php index 21dcfeeef..27c40a48e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Borders.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Borders * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,253 +21,246 @@ * * @category PHPExcel * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Style_Borders - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Diagonal directions */ - const DIAGONAL_NONE = 0; - const DIAGONAL_UP = 1; - const DIAGONAL_DOWN = 2; - const DIAGONAL_BOTH = 3; + /* Diagonal directions */ + const DIAGONAL_NONE = 0; + const DIAGONAL_UP = 1; + const DIAGONAL_DOWN = 2; + const DIAGONAL_BOTH = 3; - /** - * Left - * - * @var PHPExcel_Style_Border - */ - protected $_left; - - /** - * Right - * - * @var PHPExcel_Style_Border - */ - protected $_right; - - /** - * Top - * - * @var PHPExcel_Style_Border - */ - protected $_top; - - /** - * Bottom - * - * @var PHPExcel_Style_Border - */ - protected $_bottom; - - /** - * Diagonal - * - * @var PHPExcel_Style_Border - */ - protected $_diagonal; - - /** - * DiagonalDirection - * - * @var int - */ - protected $_diagonalDirection; - - /** - * All borders psedo-border. Only applies to supervisor. - * - * @var PHPExcel_Style_Border - */ - protected $_allBorders; - - /** - * Outline psedo-border. Only applies to supervisor. - * - * @var PHPExcel_Style_Border - */ - protected $_outline; - - /** - * Inside psedo-border. Only applies to supervisor. - * - * @var PHPExcel_Style_Border - */ - protected $_inside; - - /** - * Vertical pseudo-border. Only applies to supervisor. - * - * @var PHPExcel_Style_Border - */ - protected $_vertical; - - /** - * Horizontal pseudo-border. Only applies to supervisor. - * - * @var PHPExcel_Style_Border - */ - protected $_horizontal; - - /** - * Create a new PHPExcel_Style_Borders - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are + /** + * Left + * + * @var PHPExcel_Style_Border */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) + protected $left; + + /** + * Right + * + * @var PHPExcel_Style_Border + */ + protected $right; + + /** + * Top + * + * @var PHPExcel_Style_Border + */ + protected $top; + + /** + * Bottom + * + * @var PHPExcel_Style_Border + */ + protected $bottom; + + /** + * Diagonal + * + * @var PHPExcel_Style_Border + */ + protected $diagonal; + + /** + * DiagonalDirection + * + * @var int + */ + protected $diagonalDirection; + + /** + * All borders psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $allBorders; + + /** + * Outline psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $outline; + + /** + * Inside psedo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $inside; + + /** + * Vertical pseudo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $vertical; + + /** + * Horizontal pseudo-border. Only applies to supervisor. + * + * @var PHPExcel_Style_Border + */ + protected $horizontal; + + /** + * Create a new PHPExcel_Style_Borders + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) { - // Supervisor? - parent::__construct($isSupervisor); + // Supervisor? + parent::__construct($isSupervisor); - // Initialise values - $this->_left = new PHPExcel_Style_Border($isSupervisor, $isConditional); - $this->_right = new PHPExcel_Style_Border($isSupervisor, $isConditional); - $this->_top = new PHPExcel_Style_Border($isSupervisor, $isConditional); - $this->_bottom = new PHPExcel_Style_Border($isSupervisor, $isConditional); - $this->_diagonal = new PHPExcel_Style_Border($isSupervisor, $isConditional); - $this->_diagonalDirection = PHPExcel_Style_Borders::DIAGONAL_NONE; + // Initialise values + $this->left = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->right = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->top = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->bottom = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->diagonal = new PHPExcel_Style_Border($isSupervisor, $isConditional); + $this->diagonalDirection = PHPExcel_Style_Borders::DIAGONAL_NONE; - // Specially for supervisor - if ($isSupervisor) { - // Initialize pseudo-borders - $this->_allBorders = new PHPExcel_Style_Border(TRUE); - $this->_outline = new PHPExcel_Style_Border(TRUE); - $this->_inside = new PHPExcel_Style_Border(TRUE); - $this->_vertical = new PHPExcel_Style_Border(TRUE); - $this->_horizontal = new PHPExcel_Style_Border(TRUE); + // Specially for supervisor + if ($isSupervisor) { + // Initialize pseudo-borders + $this->allBorders = new PHPExcel_Style_Border(true); + $this->outline = new PHPExcel_Style_Border(true); + $this->inside = new PHPExcel_Style_Border(true); + $this->vertical = new PHPExcel_Style_Border(true); + $this->horizontal = new PHPExcel_Style_Border(true); - // bind parent if we are a supervisor - $this->_left->bindParent($this, '_left'); - $this->_right->bindParent($this, '_right'); - $this->_top->bindParent($this, '_top'); - $this->_bottom->bindParent($this, '_bottom'); - $this->_diagonal->bindParent($this, '_diagonal'); - $this->_allBorders->bindParent($this, '_allBorders'); - $this->_outline->bindParent($this, '_outline'); - $this->_inside->bindParent($this, '_inside'); - $this->_vertical->bindParent($this, '_vertical'); - $this->_horizontal->bindParent($this, '_horizontal'); - } + // bind parent if we are a supervisor + $this->left->bindParent($this, 'left'); + $this->right->bindParent($this, 'right'); + $this->top->bindParent($this, 'top'); + $this->bottom->bindParent($this, 'bottom'); + $this->diagonal->bindParent($this, 'diagonal'); + $this->allBorders->bindParent($this, 'allBorders'); + $this->outline->bindParent($this, 'outline'); + $this->inside->bindParent($this, 'inside'); + $this->vertical->bindParent($this, 'vertical'); + $this->horizontal->bindParent($this, 'horizontal'); + } } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Borders - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getBorders(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Borders + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getBorders(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('borders' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('borders' => $array); + } - /** + /** * Apply styles from array * * <code> * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->applyFromArray( - * array( - * 'bottom' => array( - * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, - * 'color' => array( - * 'rgb' => '808080' - * ) - * ), - * 'top' => array( - * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, - * 'color' => array( - * 'rgb' => '808080' - * ) - * ) - * ) + * array( + * 'bottom' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ), + * 'top' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ) * ); * </code> * <code> * $objPHPExcel->getActiveSheet()->getStyle('B2')->getBorders()->applyFromArray( - * array( - * 'allborders' => array( - * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, - * 'color' => array( - * 'rgb' => '808080' - * ) - * ) - * ) + * array( + * 'allborders' => array( + * 'style' => PHPExcel_Style_Border::BORDER_DASHDOT, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ) * ); * </code> * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception * @return PHPExcel_Style_Borders */ - public function applyFromArray($pStyles = null) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (array_key_exists('left', $pStyles)) { - $this->getLeft()->applyFromArray($pStyles['left']); - } - if (array_key_exists('right', $pStyles)) { - $this->getRight()->applyFromArray($pStyles['right']); - } - if (array_key_exists('top', $pStyles)) { - $this->getTop()->applyFromArray($pStyles['top']); - } - if (array_key_exists('bottom', $pStyles)) { - $this->getBottom()->applyFromArray($pStyles['bottom']); - } - if (array_key_exists('diagonal', $pStyles)) { - $this->getDiagonal()->applyFromArray($pStyles['diagonal']); - } - if (array_key_exists('diagonaldirection', $pStyles)) { - $this->setDiagonalDirection($pStyles['diagonaldirection']); - } - if (array_key_exists('allborders', $pStyles)) { - $this->getLeft()->applyFromArray($pStyles['allborders']); - $this->getRight()->applyFromArray($pStyles['allborders']); - $this->getTop()->applyFromArray($pStyles['allborders']); - $this->getBottom()->applyFromArray($pStyles['allborders']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('left', $pStyles)) { + $this->getLeft()->applyFromArray($pStyles['left']); + } + if (array_key_exists('right', $pStyles)) { + $this->getRight()->applyFromArray($pStyles['right']); + } + if (array_key_exists('top', $pStyles)) { + $this->getTop()->applyFromArray($pStyles['top']); + } + if (array_key_exists('bottom', $pStyles)) { + $this->getBottom()->applyFromArray($pStyles['bottom']); + } + if (array_key_exists('diagonal', $pStyles)) { + $this->getDiagonal()->applyFromArray($pStyles['diagonal']); + } + if (array_key_exists('diagonaldirection', $pStyles)) { + $this->setDiagonalDirection($pStyles['diagonaldirection']); + } + if (array_key_exists('allborders', $pStyles)) { + $this->getLeft()->applyFromArray($pStyles['allborders']); + $this->getRight()->applyFromArray($pStyles['allborders']); + $this->getTop()->applyFromArray($pStyles['allborders']); + $this->getBottom()->applyFromArray($pStyles['allborders']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } /** * Get Left * * @return PHPExcel_Style_Border */ - public function getLeft() { - return $this->_left; + public function getLeft() + { + return $this->left; } /** @@ -274,8 +268,9 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * * @return PHPExcel_Style_Border */ - public function getRight() { - return $this->_right; + public function getRight() + { + return $this->right; } /** @@ -283,8 +278,9 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * * @return PHPExcel_Style_Border */ - public function getTop() { - return $this->_top; + public function getTop() + { + return $this->top; } /** @@ -292,8 +288,9 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * * @return PHPExcel_Style_Border */ - public function getBottom() { - return $this->_bottom; + public function getBottom() + { + return $this->bottom; } /** @@ -301,8 +298,9 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * * @return PHPExcel_Style_Border */ - public function getDiagonal() { - return $this->_diagonal; + public function getDiagonal() + { + return $this->diagonal; } /** @@ -311,11 +309,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @return PHPExcel_Style_Border * @throws PHPExcel_Exception */ - public function getAllBorders() { - if (!$this->_isSupervisor) { - throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); - } - return $this->_allBorders; + public function getAllBorders() + { + if (!$this->isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->allBorders; } /** @@ -324,11 +323,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @return boolean * @throws PHPExcel_Exception */ - public function getOutline() { - if (!$this->_isSupervisor) { - throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); - } - return $this->_outline; + public function getOutline() + { + if (!$this->isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->outline; } /** @@ -337,11 +337,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @return boolean * @throws PHPExcel_Exception */ - public function getInside() { - if (!$this->_isSupervisor) { - throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); - } - return $this->_inside; + public function getInside() + { + if (!$this->isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->inside; } /** @@ -350,11 +351,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @return PHPExcel_Style_Border * @throws PHPExcel_Exception */ - public function getVertical() { - if (!$this->_isSupervisor) { - throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); - } - return $this->_vertical; + public function getVertical() + { + if (!$this->isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->vertical; } /** @@ -363,11 +365,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @return PHPExcel_Style_Border * @throws PHPExcel_Exception */ - public function getHorizontal() { - if (!$this->_isSupervisor) { - throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); - } - return $this->_horizontal; + public function getHorizontal() + { + if (!$this->isSupervisor) { + throw new PHPExcel_Exception('Can only get pseudo-border for supervisor.'); + } + return $this->horizontal; } /** @@ -375,11 +378,12 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * * @return int */ - public function getDiagonalDirection() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getDiagonalDirection(); - } - return $this->_diagonalDirection; + public function getDiagonalDirection() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getDiagonalDirection(); + } + return $this->diagonalDirection; } /** @@ -388,37 +392,38 @@ class PHPExcel_Style_Borders extends PHPExcel_Style_Supervisor implements PHPExc * @param int $pValue * @return PHPExcel_Style_Borders */ - public function setDiagonalDirection($pValue = PHPExcel_Style_Borders::DIAGONAL_NONE) { + public function setDiagonalDirection($pValue = PHPExcel_Style_Borders::DIAGONAL_NONE) + { if ($pValue == '') { - $pValue = PHPExcel_Style_Borders::DIAGONAL_NONE; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('diagonaldirection' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_diagonalDirection = $pValue; - } - return $this; + $pValue = PHPExcel_Style_Borders::DIAGONAL_NONE; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('diagonaldirection' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->diagonalDirection = $pValue; + } + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashcode(); - } - return md5( - $this->getLeft()->getHashCode() - . $this->getRight()->getHashCode() - . $this->getTop()->getHashCode() - . $this->getBottom()->getHashCode() - . $this->getDiagonal()->getHashCode() - . $this->getDiagonalDirection() - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashcode(); + } + return md5( + $this->getLeft()->getHashCode() . + $this->getRight()->getHashCode() . + $this->getTop()->getHashCode() . + $this->getBottom()->getHashCode() . + $this->getDiagonal()->getHashCode() . + $this->getDiagonalDirection() . + __CLASS__ + ); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php index a56c9a633..9c7790f00 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Color.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Color * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,411 +20,424 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Style_Color - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Style_Color extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Colors */ - const COLOR_BLACK = 'FF000000'; - const COLOR_WHITE = 'FFFFFFFF'; - const COLOR_RED = 'FFFF0000'; - const COLOR_DARKRED = 'FF800000'; - const COLOR_BLUE = 'FF0000FF'; - const COLOR_DARKBLUE = 'FF000080'; - const COLOR_GREEN = 'FF00FF00'; - const COLOR_DARKGREEN = 'FF008000'; - const COLOR_YELLOW = 'FFFFFF00'; - const COLOR_DARKYELLOW = 'FF808000'; + /* Colors */ + const COLOR_BLACK = 'FF000000'; + const COLOR_WHITE = 'FFFFFFFF'; + const COLOR_RED = 'FFFF0000'; + const COLOR_DARKRED = 'FF800000'; + const COLOR_BLUE = 'FF0000FF'; + const COLOR_DARKBLUE = 'FF000080'; + const COLOR_GREEN = 'FF00FF00'; + const COLOR_DARKGREEN = 'FF008000'; + const COLOR_YELLOW = 'FFFFFF00'; + const COLOR_DARKYELLOW = 'FF808000'; - /** - * Indexed colors array - * - * @var array - */ - protected static $_indexedColors; + /** + * Indexed colors array + * + * @var array + */ + protected static $indexedColors; - /** - * ARGB - Alpha RGB - * - * @var string - */ - protected $_argb = NULL; + /** + * ARGB - Alpha RGB + * + * @var string + */ + protected $argb = null; - /** - * Parent property name - * - * @var string - */ - protected $_parentPropertyName; + /** + * Parent property name + * + * @var string + */ + protected $parentPropertyName; - /** - * Create a new PHPExcel_Style_Color - * - * @param string $pARGB ARGB value for the colour - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($pARGB = PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_Color + * + * @param string $pARGB ARGB value for the colour + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($pARGB = PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - // Initialise values - if (!$isConditional) { - $this->_argb = $pARGB; - } - } + // Initialise values + if (!$isConditional) { + $this->argb = $pARGB; + } + } - /** - * Bind parent. Only used for supervisor - * - * @param mixed $parent - * @param string $parentPropertyName - * @return PHPExcel_Style_Color - */ - public function bindParent($parent, $parentPropertyName=NULL) - { - $this->_parent = $parent; - $this->_parentPropertyName = $parentPropertyName; - return $this; - } + /** + * Bind parent. Only used for supervisor + * + * @param mixed $parent + * @param string $parentPropertyName + * @return PHPExcel_Style_Color + */ + public function bindParent($parent, $parentPropertyName = null) + { + $this->parent = $parent; + $this->parentPropertyName = $parentPropertyName; + return $this; + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Color - */ - public function getSharedComponent() - { - switch ($this->_parentPropertyName) { - case '_endColor': - return $this->_parent->getSharedComponent()->getEndColor(); break; - case '_color': - return $this->_parent->getSharedComponent()->getColor(); break; - case '_startColor': - return $this->_parent->getSharedComponent()->getStartColor(); break; - } - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Color + */ + public function getSharedComponent() + { + switch ($this->parentPropertyName) { + case 'endColor': + return $this->parent->getSharedComponent()->getEndColor(); + case 'color': + return $this->parent->getSharedComponent()->getColor(); + case 'startColor': + return $this->parent->getSharedComponent()->getStartColor(); + } + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - switch ($this->_parentPropertyName) { - case '_endColor': - $key = 'endcolor'; - break; - case '_color': - $key = 'color'; - break; - case '_startColor': - $key = 'startcolor'; - break; + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + switch ($this->parentPropertyName) { + case 'endColor': + $key = 'endcolor'; + break; + case 'color': + $key = 'color'; + break; + case 'startColor': + $key = 'startcolor'; + break; - } - return $this->_parent->getStyleArray(array($key => $array)); - } + } + return $this->parent->getStyleArray(array($key => $array)); + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->getColor()->applyFromArray( array('rgb' => '808080') ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Color - */ - public function applyFromArray($pStyles = NULL) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (array_key_exists('rgb', $pStyles)) { - $this->setRGB($pStyles['rgb']); - } - if (array_key_exists('argb', $pStyles)) { - $this->setARGB($pStyles['argb']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->getColor()->applyFromArray( array('rgb' => '808080') ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Color + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('rgb', $pStyles)) { + $this->setRGB($pStyles['rgb']); + } + if (array_key_exists('argb', $pStyles)) { + $this->setARGB($pStyles['argb']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Get ARGB - * - * @return string - */ - public function getARGB() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getARGB(); - } - return $this->_argb; - } + /** + * Get ARGB + * + * @return string + */ + public function getARGB() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getARGB(); + } + return $this->argb; + } - /** - * Set ARGB - * - * @param string $pValue - * @return PHPExcel_Style_Color - */ - public function setARGB($pValue = PHPExcel_Style_Color::COLOR_BLACK) { - if ($pValue == '') { - $pValue = PHPExcel_Style_Color::COLOR_BLACK; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('argb' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_argb = $pValue; - } - return $this; - } + /** + * Set ARGB + * + * @param string $pValue + * @return PHPExcel_Style_Color + */ + public function setARGB($pValue = PHPExcel_Style_Color::COLOR_BLACK) + { + if ($pValue == '') { + $pValue = PHPExcel_Style_Color::COLOR_BLACK; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('argb' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->argb = $pValue; + } + return $this; + } - /** - * Get RGB - * - * @return string - */ - public function getRGB() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getRGB(); - } - return substr($this->_argb, 2); - } + /** + * Get RGB + * + * @return string + */ + public function getRGB() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getRGB(); + } + return substr($this->argb, 2); + } - /** - * Set RGB - * - * @param string $pValue RGB value - * @return PHPExcel_Style_Color - */ - public function setRGB($pValue = '000000') { - if ($pValue == '') { - $pValue = '000000'; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('argb' => 'FF' . $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_argb = 'FF' . $pValue; - } - return $this; - } + /** + * Set RGB + * + * @param string $pValue RGB value + * @return PHPExcel_Style_Color + */ + public function setRGB($pValue = '000000') + { + if ($pValue == '') { + $pValue = '000000'; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('argb' => 'FF' . $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->argb = 'FF' . $pValue; + } + return $this; + } - /** - * Get a specified colour component of an RGB value - * - * @private - * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE - * @param int $offset Position within the RGB value to extract - * @param boolean $hex Flag indicating whether the component should be returned as a hex or a - * decimal value - * @return string The extracted colour component - */ - private static function _getColourComponent($RGB,$offset,$hex=TRUE) { - $colour = substr($RGB, $offset, 2); - if (!$hex) - $colour = hexdec($colour); - return $colour; - } + /** + * Get a specified colour component of an RGB value + * + * @private + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param int $offset Position within the RGB value to extract + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The extracted colour component + */ + private static function getColourComponent($RGB, $offset, $hex = true) + { + $colour = substr($RGB, $offset, 2); + if (!$hex) { + $colour = hexdec($colour); + } + return $colour; + } - /** - * Get the red colour component of an RGB value - * - * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE - * @param boolean $hex Flag indicating whether the component should be returned as a hex or a - * decimal value - * @return string The red colour component - */ - public static function getRed($RGB,$hex=TRUE) { - return self::_getColourComponent($RGB, strlen($RGB) - 6, $hex); - } + /** + * Get the red colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The red colour component + */ + public static function getRed($RGB, $hex = true) + { + return self::getColourComponent($RGB, strlen($RGB) - 6, $hex); + } - /** - * Get the green colour component of an RGB value - * - * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE - * @param boolean $hex Flag indicating whether the component should be returned as a hex or a - * decimal value - * @return string The green colour component - */ - public static function getGreen($RGB,$hex=TRUE) { - return self::_getColourComponent($RGB, strlen($RGB) - 4, $hex); - } + /** + * Get the green colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The green colour component + */ + public static function getGreen($RGB, $hex = true) + { + return self::getColourComponent($RGB, strlen($RGB) - 4, $hex); + } - /** - * Get the blue colour component of an RGB value - * - * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE - * @param boolean $hex Flag indicating whether the component should be returned as a hex or a - * decimal value - * @return string The blue colour component - */ - public static function getBlue($RGB,$hex=TRUE) { - return self::_getColourComponent($RGB, strlen($RGB) - 2, $hex); - } + /** + * Get the blue colour component of an RGB value + * + * @param string $RGB The colour as an RGB value (e.g. FF00CCCC or CCDDEE + * @param boolean $hex Flag indicating whether the component should be returned as a hex or a + * decimal value + * @return string The blue colour component + */ + public static function getBlue($RGB, $hex = true) + { + return self::getColourComponent($RGB, strlen($RGB) - 2, $hex); + } - /** - * Adjust the brightness of a color - * - * @param string $hex The colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) - * @param float $adjustPercentage The percentage by which to adjust the colour as a float from -1 to 1 - * @return string The adjusted colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) - */ - public static function changeBrightness($hex, $adjustPercentage) { - $rgba = (strlen($hex) == 8); + /** + * Adjust the brightness of a color + * + * @param string $hex The colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) + * @param float $adjustPercentage The percentage by which to adjust the colour as a float from -1 to 1 + * @return string The adjusted colour as an RGBA or RGB value (e.g. FF00CCCC or CCDDEE) + */ + public static function changeBrightness($hex, $adjustPercentage) + { + $rgba = (strlen($hex) == 8); - $red = self::getRed($hex, FALSE); - $green = self::getGreen($hex, FALSE); - $blue = self::getBlue($hex, FALSE); - if ($adjustPercentage > 0) { - $red += (255 - $red) * $adjustPercentage; - $green += (255 - $green) * $adjustPercentage; - $blue += (255 - $blue) * $adjustPercentage; - } else { - $red += $red * $adjustPercentage; - $green += $green * $adjustPercentage; - $blue += $blue * $adjustPercentage; - } + $red = self::getRed($hex, false); + $green = self::getGreen($hex, false); + $blue = self::getBlue($hex, false); + if ($adjustPercentage > 0) { + $red += (255 - $red) * $adjustPercentage; + $green += (255 - $green) * $adjustPercentage; + $blue += (255 - $blue) * $adjustPercentage; + } else { + $red += $red * $adjustPercentage; + $green += $green * $adjustPercentage; + $blue += $blue * $adjustPercentage; + } - if ($red < 0) $red = 0; - elseif ($red > 255) $red = 255; - if ($green < 0) $green = 0; - elseif ($green > 255) $green = 255; - if ($blue < 0) $blue = 0; - elseif ($blue > 255) $blue = 255; + if ($red < 0) { + $red = 0; + } elseif ($red > 255) { + $red = 255; + } + if ($green < 0) { + $green = 0; + } elseif ($green > 255) { + $green = 255; + } + if ($blue < 0) { + $blue = 0; + } elseif ($blue > 255) { + $blue = 255; + } - $rgb = strtoupper( str_pad(dechex($red), 2, '0', 0) . - str_pad(dechex($green), 2, '0', 0) . - str_pad(dechex($blue), 2, '0', 0) - ); - return (($rgba) ? 'FF' : '') . $rgb; - } + $rgb = strtoupper( + str_pad(dechex($red), 2, '0', 0) . + str_pad(dechex($green), 2, '0', 0) . + str_pad(dechex($blue), 2, '0', 0) + ); + return (($rgba) ? 'FF' : '') . $rgb; + } - /** - * Get indexed color - * - * @param int $pIndex Index entry point into the colour array - * @param boolean $background Flag to indicate whether default background or foreground colour - * should be returned if the indexed colour doesn't exist - * @return PHPExcel_Style_Color - */ - public static function indexedColor($pIndex, $background=FALSE) { - // Clean parameter - $pIndex = intval($pIndex); + /** + * Get indexed color + * + * @param int $pIndex Index entry point into the colour array + * @param boolean $background Flag to indicate whether default background or foreground colour + * should be returned if the indexed colour doesn't exist + * @return PHPExcel_Style_Color + */ + public static function indexedColor($pIndex, $background = false) + { + // Clean parameter + $pIndex = intval($pIndex); - // Indexed colors - if (is_null(self::$_indexedColors)) { - self::$_indexedColors = array( - 1 => 'FF000000', // System Colour #1 - Black - 2 => 'FFFFFFFF', // System Colour #2 - White - 3 => 'FFFF0000', // System Colour #3 - Red - 4 => 'FF00FF00', // System Colour #4 - Green - 5 => 'FF0000FF', // System Colour #5 - Blue - 6 => 'FFFFFF00', // System Colour #6 - Yellow - 7 => 'FFFF00FF', // System Colour #7- Magenta - 8 => 'FF00FFFF', // System Colour #8- Cyan - 9 => 'FF800000', // Standard Colour #9 - 10 => 'FF008000', // Standard Colour #10 - 11 => 'FF000080', // Standard Colour #11 - 12 => 'FF808000', // Standard Colour #12 - 13 => 'FF800080', // Standard Colour #13 - 14 => 'FF008080', // Standard Colour #14 - 15 => 'FFC0C0C0', // Standard Colour #15 - 16 => 'FF808080', // Standard Colour #16 - 17 => 'FF9999FF', // Chart Fill Colour #17 - 18 => 'FF993366', // Chart Fill Colour #18 - 19 => 'FFFFFFCC', // Chart Fill Colour #19 - 20 => 'FFCCFFFF', // Chart Fill Colour #20 - 21 => 'FF660066', // Chart Fill Colour #21 - 22 => 'FFFF8080', // Chart Fill Colour #22 - 23 => 'FF0066CC', // Chart Fill Colour #23 - 24 => 'FFCCCCFF', // Chart Fill Colour #24 - 25 => 'FF000080', // Chart Line Colour #25 - 26 => 'FFFF00FF', // Chart Line Colour #26 - 27 => 'FFFFFF00', // Chart Line Colour #27 - 28 => 'FF00FFFF', // Chart Line Colour #28 - 29 => 'FF800080', // Chart Line Colour #29 - 30 => 'FF800000', // Chart Line Colour #30 - 31 => 'FF008080', // Chart Line Colour #31 - 32 => 'FF0000FF', // Chart Line Colour #32 - 33 => 'FF00CCFF', // Standard Colour #33 - 34 => 'FFCCFFFF', // Standard Colour #34 - 35 => 'FFCCFFCC', // Standard Colour #35 - 36 => 'FFFFFF99', // Standard Colour #36 - 37 => 'FF99CCFF', // Standard Colour #37 - 38 => 'FFFF99CC', // Standard Colour #38 - 39 => 'FFCC99FF', // Standard Colour #39 - 40 => 'FFFFCC99', // Standard Colour #40 - 41 => 'FF3366FF', // Standard Colour #41 - 42 => 'FF33CCCC', // Standard Colour #42 - 43 => 'FF99CC00', // Standard Colour #43 - 44 => 'FFFFCC00', // Standard Colour #44 - 45 => 'FFFF9900', // Standard Colour #45 - 46 => 'FFFF6600', // Standard Colour #46 - 47 => 'FF666699', // Standard Colour #47 - 48 => 'FF969696', // Standard Colour #48 - 49 => 'FF003366', // Standard Colour #49 - 50 => 'FF339966', // Standard Colour #50 - 51 => 'FF003300', // Standard Colour #51 - 52 => 'FF333300', // Standard Colour #52 - 53 => 'FF993300', // Standard Colour #53 - 54 => 'FF993366', // Standard Colour #54 - 55 => 'FF333399', // Standard Colour #55 - 56 => 'FF333333' // Standard Colour #56 - ); - } + // Indexed colors + if (is_null(self::$indexedColors)) { + self::$indexedColors = array( + 1 => 'FF000000', // System Colour #1 - Black + 2 => 'FFFFFFFF', // System Colour #2 - White + 3 => 'FFFF0000', // System Colour #3 - Red + 4 => 'FF00FF00', // System Colour #4 - Green + 5 => 'FF0000FF', // System Colour #5 - Blue + 6 => 'FFFFFF00', // System Colour #6 - Yellow + 7 => 'FFFF00FF', // System Colour #7- Magenta + 8 => 'FF00FFFF', // System Colour #8- Cyan + 9 => 'FF800000', // Standard Colour #9 + 10 => 'FF008000', // Standard Colour #10 + 11 => 'FF000080', // Standard Colour #11 + 12 => 'FF808000', // Standard Colour #12 + 13 => 'FF800080', // Standard Colour #13 + 14 => 'FF008080', // Standard Colour #14 + 15 => 'FFC0C0C0', // Standard Colour #15 + 16 => 'FF808080', // Standard Colour #16 + 17 => 'FF9999FF', // Chart Fill Colour #17 + 18 => 'FF993366', // Chart Fill Colour #18 + 19 => 'FFFFFFCC', // Chart Fill Colour #19 + 20 => 'FFCCFFFF', // Chart Fill Colour #20 + 21 => 'FF660066', // Chart Fill Colour #21 + 22 => 'FFFF8080', // Chart Fill Colour #22 + 23 => 'FF0066CC', // Chart Fill Colour #23 + 24 => 'FFCCCCFF', // Chart Fill Colour #24 + 25 => 'FF000080', // Chart Line Colour #25 + 26 => 'FFFF00FF', // Chart Line Colour #26 + 27 => 'FFFFFF00', // Chart Line Colour #27 + 28 => 'FF00FFFF', // Chart Line Colour #28 + 29 => 'FF800080', // Chart Line Colour #29 + 30 => 'FF800000', // Chart Line Colour #30 + 31 => 'FF008080', // Chart Line Colour #31 + 32 => 'FF0000FF', // Chart Line Colour #32 + 33 => 'FF00CCFF', // Standard Colour #33 + 34 => 'FFCCFFFF', // Standard Colour #34 + 35 => 'FFCCFFCC', // Standard Colour #35 + 36 => 'FFFFFF99', // Standard Colour #36 + 37 => 'FF99CCFF', // Standard Colour #37 + 38 => 'FFFF99CC', // Standard Colour #38 + 39 => 'FFCC99FF', // Standard Colour #39 + 40 => 'FFFFCC99', // Standard Colour #40 + 41 => 'FF3366FF', // Standard Colour #41 + 42 => 'FF33CCCC', // Standard Colour #42 + 43 => 'FF99CC00', // Standard Colour #43 + 44 => 'FFFFCC00', // Standard Colour #44 + 45 => 'FFFF9900', // Standard Colour #45 + 46 => 'FFFF6600', // Standard Colour #46 + 47 => 'FF666699', // Standard Colour #47 + 48 => 'FF969696', // Standard Colour #48 + 49 => 'FF003366', // Standard Colour #49 + 50 => 'FF339966', // Standard Colour #50 + 51 => 'FF003300', // Standard Colour #51 + 52 => 'FF333300', // Standard Colour #52 + 53 => 'FF993300', // Standard Colour #53 + 54 => 'FF993366', // Standard Colour #54 + 55 => 'FF333399', // Standard Colour #55 + 56 => 'FF333333' // Standard Colour #56 + ); + } - if (array_key_exists($pIndex, self::$_indexedColors)) { - return new PHPExcel_Style_Color(self::$_indexedColors[$pIndex]); - } + if (array_key_exists($pIndex, self::$indexedColors)) { + return new PHPExcel_Style_Color(self::$indexedColors[$pIndex]); + } - if ($background) { - return new PHPExcel_Style_Color('FFFFFFFF'); - } - return new PHPExcel_Style_Color('FF000000'); - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_argb - . __CLASS__ - ); - } + if ($background) { + return new PHPExcel_Style_Color(self::COLOR_WHITE); + } + return new PHPExcel_Style_Color(self::COLOR_BLACK); + } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->argb . + __CLASS__ + ); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php index aebf1e313..331362b42 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Conditional.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,76 +31,76 @@ * * @category PHPExcel * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Style_Conditional implements PHPExcel_IComparable { - /* Condition types */ - const CONDITION_NONE = 'none'; - const CONDITION_CELLIS = 'cellIs'; - const CONDITION_CONTAINSTEXT = 'containsText'; - const CONDITION_EXPRESSION = 'expression'; + /* Condition types */ + const CONDITION_NONE = 'none'; + const CONDITION_CELLIS = 'cellIs'; + const CONDITION_CONTAINSTEXT = 'containsText'; + const CONDITION_EXPRESSION = 'expression'; - /* Operator types */ - const OPERATOR_NONE = ''; - const OPERATOR_BEGINSWITH = 'beginsWith'; - const OPERATOR_ENDSWITH = 'endsWith'; - const OPERATOR_EQUAL = 'equal'; - const OPERATOR_GREATERTHAN = 'greaterThan'; - const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual'; - const OPERATOR_LESSTHAN = 'lessThan'; - const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual'; - const OPERATOR_NOTEQUAL = 'notEqual'; - const OPERATOR_CONTAINSTEXT = 'containsText'; - const OPERATOR_NOTCONTAINS = 'notContains'; - const OPERATOR_BETWEEN = 'between'; + /* Operator types */ + const OPERATOR_NONE = ''; + const OPERATOR_BEGINSWITH = 'beginsWith'; + const OPERATOR_ENDSWITH = 'endsWith'; + const OPERATOR_EQUAL = 'equal'; + const OPERATOR_GREATERTHAN = 'greaterThan'; + const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual'; + const OPERATOR_LESSTHAN = 'lessThan'; + const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual'; + const OPERATOR_NOTEQUAL = 'notEqual'; + const OPERATOR_CONTAINSTEXT = 'containsText'; + const OPERATOR_NOTCONTAINS = 'notContains'; + const OPERATOR_BETWEEN = 'between'; - /** - * Condition type - * - * @var int - */ - private $_conditionType; + /** + * Condition type + * + * @var int + */ + private $conditionType; - /** - * Operator type - * - * @var int - */ - private $_operatorType; + /** + * Operator type + * + * @var int + */ + private $operatorType; - /** - * Text - * - * @var string - */ - private $_text; + /** + * Text + * + * @var string + */ + private $text; - /** - * Condition - * - * @var string[] - */ - private $_condition = array(); + /** + * Condition + * + * @var string[] + */ + private $condition = array(); - /** - * Style - * - * @var PHPExcel_Style - */ - private $_style; + /** + * Style + * + * @var PHPExcel_Style + */ + private $style; /** * Create a new PHPExcel_Style_Conditional */ public function __construct() { - // Initialise values - $this->_conditionType = PHPExcel_Style_Conditional::CONDITION_NONE; - $this->_operatorType = PHPExcel_Style_Conditional::OPERATOR_NONE; - $this->_text = null; - $this->_condition = array(); - $this->_style = new PHPExcel_Style(FALSE, TRUE); + // Initialise values + $this->conditionType = PHPExcel_Style_Conditional::CONDITION_NONE; + $this->operatorType = PHPExcel_Style_Conditional::OPERATOR_NONE; + $this->text = null; + $this->condition = array(); + $this->style = new PHPExcel_Style(false, true); } /** @@ -108,19 +108,21 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * * @return string */ - public function getConditionType() { - return $this->_conditionType; + public function getConditionType() + { + return $this->conditionType; } /** * Set Condition type * - * @param string $pValue PHPExcel_Style_Conditional condition type + * @param string $pValue PHPExcel_Style_Conditional condition type * @return PHPExcel_Style_Conditional */ - public function setConditionType($pValue = PHPExcel_Style_Conditional::CONDITION_NONE) { - $this->_conditionType = $pValue; - return $this; + public function setConditionType($pValue = PHPExcel_Style_Conditional::CONDITION_NONE) + { + $this->conditionType = $pValue; + return $this; } /** @@ -128,19 +130,21 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * * @return string */ - public function getOperatorType() { - return $this->_operatorType; + public function getOperatorType() + { + return $this->operatorType; } /** * Set Operator type * - * @param string $pValue PHPExcel_Style_Conditional operator type + * @param string $pValue PHPExcel_Style_Conditional operator type * @return PHPExcel_Style_Conditional */ - public function setOperatorType($pValue = PHPExcel_Style_Conditional::OPERATOR_NONE) { - $this->_operatorType = $pValue; - return $this; + public function setOperatorType($pValue = PHPExcel_Style_Conditional::OPERATOR_NONE) + { + $this->operatorType = $pValue; + return $this; } /** @@ -148,8 +152,9 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * * @return string */ - public function getText() { - return $this->_text; + public function getText() + { + return $this->text; } /** @@ -158,9 +163,10 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * @param string $value * @return PHPExcel_Style_Conditional */ - public function setText($value = null) { - $this->_text = $value; - return $this; + public function setText($value = null) + { + $this->text = $value; + return $this; } /** @@ -169,26 +175,29 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * @deprecated Deprecated, use getConditions instead * @return string */ - public function getCondition() { - if (isset($this->_condition[0])) { - return $this->_condition[0]; - } + public function getCondition() + { + if (isset($this->condition[0])) { + return $this->condition[0]; + } - return ''; + return ''; } /** * Set Condition * * @deprecated Deprecated, use setConditions instead - * @param string $pValue Condition + * @param string $pValue Condition * @return PHPExcel_Style_Conditional */ - public function setCondition($pValue = '') { - if (!is_array($pValue)) - $pValue = array($pValue); + public function setCondition($pValue = '') + { + if (!is_array($pValue)) { + $pValue = array($pValue); + } - return $this->setConditions($pValue); + return $this->setConditions($pValue); } /** @@ -196,33 +205,36 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * * @return string[] */ - public function getConditions() { - return $this->_condition; + public function getConditions() + { + return $this->condition; } /** * Set Conditions * - * @param string[] $pValue Condition + * @param string[] $pValue Condition * @return PHPExcel_Style_Conditional */ - public function setConditions($pValue) { - if (!is_array($pValue)) - $pValue = array($pValue); - - $this->_condition = $pValue; - return $this; + public function setConditions($pValue) + { + if (!is_array($pValue)) { + $pValue = array($pValue); + } + $this->condition = $pValue; + return $this; } /** * Add Condition * - * @param string $pValue Condition + * @param string $pValue Condition * @return PHPExcel_Style_Conditional */ - public function addCondition($pValue = '') { - $this->_condition[] = $pValue; - return $this; + public function addCondition($pValue = '') + { + $this->condition[] = $pValue; + return $this; } /** @@ -230,48 +242,52 @@ class PHPExcel_Style_Conditional implements PHPExcel_IComparable * * @return PHPExcel_Style */ - public function getStyle() { - return $this->_style; + public function getStyle() + { + return $this->style; } /** * Set Style * - * @param PHPExcel_Style $pValue - * @throws PHPExcel_Exception + * @param PHPExcel_Style $pValue + * @throws PHPExcel_Exception * @return PHPExcel_Style_Conditional */ - public function setStyle(PHPExcel_Style $pValue = null) { - $this->_style = $pValue; - return $this; + public function setStyle(PHPExcel_Style $pValue = null) + { + $this->style = $pValue; + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_conditionType - . $this->_operatorType - . implode(';', $this->_condition) - . $this->_style->getHashCode() - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->conditionType . + $this->operatorType . + implode(';', $this->condition) . + $this->style->getHashCode() . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php index 6412ba634..26343ff5a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Fill * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,303 +20,303 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_Fill - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_Fill extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Fill types */ - const FILL_NONE = 'none'; - const FILL_SOLID = 'solid'; - const FILL_GRADIENT_LINEAR = 'linear'; - const FILL_GRADIENT_PATH = 'path'; - const FILL_PATTERN_DARKDOWN = 'darkDown'; - const FILL_PATTERN_DARKGRAY = 'darkGray'; - const FILL_PATTERN_DARKGRID = 'darkGrid'; - const FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal'; - const FILL_PATTERN_DARKTRELLIS = 'darkTrellis'; - const FILL_PATTERN_DARKUP = 'darkUp'; - const FILL_PATTERN_DARKVERTICAL = 'darkVertical'; - const FILL_PATTERN_GRAY0625 = 'gray0625'; - const FILL_PATTERN_GRAY125 = 'gray125'; - const FILL_PATTERN_LIGHTDOWN = 'lightDown'; - const FILL_PATTERN_LIGHTGRAY = 'lightGray'; - const FILL_PATTERN_LIGHTGRID = 'lightGrid'; - const FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal'; - const FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis'; - const FILL_PATTERN_LIGHTUP = 'lightUp'; - const FILL_PATTERN_LIGHTVERTICAL = 'lightVertical'; - const FILL_PATTERN_MEDIUMGRAY = 'mediumGray'; + /* Fill types */ + const FILL_NONE = 'none'; + const FILL_SOLID = 'solid'; + const FILL_GRADIENT_LINEAR = 'linear'; + const FILL_GRADIENT_PATH = 'path'; + const FILL_PATTERN_DARKDOWN = 'darkDown'; + const FILL_PATTERN_DARKGRAY = 'darkGray'; + const FILL_PATTERN_DARKGRID = 'darkGrid'; + const FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal'; + const FILL_PATTERN_DARKTRELLIS = 'darkTrellis'; + const FILL_PATTERN_DARKUP = 'darkUp'; + const FILL_PATTERN_DARKVERTICAL = 'darkVertical'; + const FILL_PATTERN_GRAY0625 = 'gray0625'; + const FILL_PATTERN_GRAY125 = 'gray125'; + const FILL_PATTERN_LIGHTDOWN = 'lightDown'; + const FILL_PATTERN_LIGHTGRAY = 'lightGray'; + const FILL_PATTERN_LIGHTGRID = 'lightGrid'; + const FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal'; + const FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis'; + const FILL_PATTERN_LIGHTUP = 'lightUp'; + const FILL_PATTERN_LIGHTVERTICAL = 'lightVertical'; + const FILL_PATTERN_MEDIUMGRAY = 'mediumGray'; - /** - * Fill type - * - * @var string - */ - protected $_fillType = PHPExcel_Style_Fill::FILL_NONE; + /** + * Fill type + * + * @var string + */ + protected $fillType = PHPExcel_Style_Fill::FILL_NONE; - /** - * Rotation - * - * @var double - */ - protected $_rotation = 0; + /** + * Rotation + * + * @var double + */ + protected $rotation = 0; - /** - * Start color - * - * @var PHPExcel_Style_Color - */ - protected $_startColor; + /** + * Start color + * + * @var PHPExcel_Style_Color + */ + protected $startColor; - /** - * End color - * - * @var PHPExcel_Style_Color - */ - protected $_endColor; + /** + * End color + * + * @var PHPExcel_Style_Color + */ + protected $endColor; - /** - * Create a new PHPExcel_Style_Fill - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_Fill + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - // Initialise values - if ($isConditional) { - $this->_fillType = NULL; - } - $this->_startColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_WHITE, $isSupervisor, $isConditional); - $this->_endColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); + // Initialise values + if ($isConditional) { + $this->fillType = null; + } + $this->startColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_WHITE, $isSupervisor, $isConditional); + $this->endColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); - // bind parent if we are a supervisor - if ($isSupervisor) { - $this->_startColor->bindParent($this, '_startColor'); - $this->_endColor->bindParent($this, '_endColor'); - } - } + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->startColor->bindParent($this, 'startColor'); + $this->endColor->bindParent($this, 'endColor'); + } + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Fill - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getFill(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Fill + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getFill(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('fill' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('fill' => $array); + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFill()->applyFromArray( - * array( - * 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, - * 'rotation' => 0, - * 'startcolor' => array( - * 'rgb' => '000000' - * ), - * 'endcolor' => array( - * 'argb' => 'FFFFFFFF' - * ) - * ) - * ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Fill - */ - public function applyFromArray($pStyles = null) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (array_key_exists('type', $pStyles)) { - $this->setFillType($pStyles['type']); - } - if (array_key_exists('rotation', $pStyles)) { - $this->setRotation($pStyles['rotation']); - } - if (array_key_exists('startcolor', $pStyles)) { - $this->getStartColor()->applyFromArray($pStyles['startcolor']); - } - if (array_key_exists('endcolor', $pStyles)) { - $this->getEndColor()->applyFromArray($pStyles['endcolor']); - } - if (array_key_exists('color', $pStyles)) { - $this->getStartColor()->applyFromArray($pStyles['color']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFill()->applyFromArray( + * array( + * 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, + * 'rotation' => 0, + * 'startcolor' => array( + * 'rgb' => '000000' + * ), + * 'endcolor' => array( + * 'argb' => 'FFFFFFFF' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('type', $pStyles)) { + $this->setFillType($pStyles['type']); + } + if (array_key_exists('rotation', $pStyles)) { + $this->setRotation($pStyles['rotation']); + } + if (array_key_exists('startcolor', $pStyles)) { + $this->getStartColor()->applyFromArray($pStyles['startcolor']); + } + if (array_key_exists('endcolor', $pStyles)) { + $this->getEndColor()->applyFromArray($pStyles['endcolor']); + } + if (array_key_exists('color', $pStyles)) { + $this->getStartColor()->applyFromArray($pStyles['color']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Get Fill Type - * - * @return string - */ - public function getFillType() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getFillType(); - } - return $this->_fillType; - } + /** + * Get Fill Type + * + * @return string + */ + public function getFillType() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getFillType(); + } + return $this->fillType; + } - /** - * Set Fill Type - * - * @param string $pValue PHPExcel_Style_Fill fill type - * @return PHPExcel_Style_Fill - */ - public function setFillType($pValue = PHPExcel_Style_Fill::FILL_NONE) { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('type' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_fillType = $pValue; - } - return $this; - } + /** + * Set Fill Type + * + * @param string $pValue PHPExcel_Style_Fill fill type + * @return PHPExcel_Style_Fill + */ + public function setFillType($pValue = PHPExcel_Style_Fill::FILL_NONE) + { + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('type' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->fillType = $pValue; + } + return $this; + } - /** - * Get Rotation - * - * @return double - */ - public function getRotation() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getRotation(); - } - return $this->_rotation; - } + /** + * Get Rotation + * + * @return double + */ + public function getRotation() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getRotation(); + } + return $this->rotation; + } - /** - * Set Rotation - * - * @param double $pValue - * @return PHPExcel_Style_Fill - */ - public function setRotation($pValue = 0) { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('rotation' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_rotation = $pValue; - } - return $this; - } + /** + * Set Rotation + * + * @param double $pValue + * @return PHPExcel_Style_Fill + */ + public function setRotation($pValue = 0) + { + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('rotation' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->rotation = $pValue; + } + return $this; + } - /** - * Get Start Color - * - * @return PHPExcel_Style_Color - */ - public function getStartColor() { - return $this->_startColor; - } + /** + * Get Start Color + * + * @return PHPExcel_Style_Color + */ + public function getStartColor() + { + return $this->startColor; + } - /** - * Set Start Color - * - * @param PHPExcel_Style_Color $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Fill - */ - public function setStartColor(PHPExcel_Style_Color $pValue = null) { - // make sure parameter is a real color and not a supervisor - $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + /** + * Set Start Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function setStartColor(PHPExcel_Style_Color $pValue = null) + { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; - if ($this->_isSupervisor) { - $styleArray = $this->getStartColor()->getStyleArray(array('argb' => $color->getARGB())); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_startColor = $color; - } - return $this; - } + if ($this->isSupervisor) { + $styleArray = $this->getStartColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->startColor = $color; + } + return $this; + } - /** - * Get End Color - * - * @return PHPExcel_Style_Color - */ - public function getEndColor() { - return $this->_endColor; - } + /** + * Get End Color + * + * @return PHPExcel_Style_Color + */ + public function getEndColor() + { + return $this->endColor; + } - /** - * Set End Color - * - * @param PHPExcel_Style_Color $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Fill - */ - public function setEndColor(PHPExcel_Style_Color $pValue = null) { - // make sure parameter is a real color and not a supervisor - $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + /** + * Set End Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Fill + */ + public function setEndColor(PHPExcel_Style_Color $pValue = null) + { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; - if ($this->_isSupervisor) { - $styleArray = $this->getEndColor()->getStyleArray(array('argb' => $color->getARGB())); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_endColor = $color; - } - return $this; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->getFillType() - . $this->getRotation() - . $this->getStartColor()->getHashCode() - . $this->getEndColor()->getHashCode() - . __CLASS__ - ); - } + if ($this->isSupervisor) { + $styleArray = $this->getEndColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->endColor = $color; + } + return $this; + } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->getFillType() . + $this->getRotation() . + $this->getStartColor()->getHashCode() . + $this->getEndColor()->getHashCode() . + __CLASS__ + ); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php index 296e34855..9566e1dfa 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Font.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Font * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,514 +20,524 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_Font - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_Font extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Underline types */ - const UNDERLINE_NONE = 'none'; - const UNDERLINE_DOUBLE = 'double'; - const UNDERLINE_DOUBLEACCOUNTING = 'doubleAccounting'; - const UNDERLINE_SINGLE = 'single'; - const UNDERLINE_SINGLEACCOUNTING = 'singleAccounting'; + /* Underline types */ + const UNDERLINE_NONE = 'none'; + const UNDERLINE_DOUBLE = 'double'; + const UNDERLINE_DOUBLEACCOUNTING = 'doubleAccounting'; + const UNDERLINE_SINGLE = 'single'; + const UNDERLINE_SINGLEACCOUNTING = 'singleAccounting'; - /** - * Font Name - * - * @var string - */ - protected $_name = 'Calibri'; + /** + * Font Name + * + * @var string + */ + protected $name = 'Calibri'; - /** - * Font Size - * - * @var float - */ - protected $_size = 11; + /** + * Font Size + * + * @var float + */ + protected $size = 11; - /** - * Bold - * - * @var boolean - */ - protected $_bold = FALSE; + /** + * Bold + * + * @var boolean + */ + protected $bold = false; - /** - * Italic - * - * @var boolean - */ - protected $_italic = FALSE; + /** + * Italic + * + * @var boolean + */ + protected $italic = false; - /** - * Superscript - * - * @var boolean - */ - protected $_superScript = FALSE; + /** + * Superscript + * + * @var boolean + */ + protected $superScript = false; - /** - * Subscript - * - * @var boolean - */ - protected $_subScript = FALSE; + /** + * Subscript + * + * @var boolean + */ + protected $subScript = false; - /** - * Underline - * - * @var string - */ - protected $_underline = self::UNDERLINE_NONE; + /** + * Underline + * + * @var string + */ + protected $underline = self::UNDERLINE_NONE; - /** - * Strikethrough - * - * @var boolean - */ - protected $_strikethrough = FALSE; + /** + * Strikethrough + * + * @var boolean + */ + protected $strikethrough = false; - /** - * Foreground color - * - * @var PHPExcel_Style_Color - */ - protected $_color; + /** + * Foreground color + * + * @var PHPExcel_Style_Color + */ + protected $color; - /** - * Create a new PHPExcel_Style_Font - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_Font + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - // Initialise values - if ($isConditional) { - $this->_name = NULL; - $this->_size = NULL; - $this->_bold = NULL; - $this->_italic = NULL; - $this->_superScript = NULL; - $this->_subScript = NULL; - $this->_underline = NULL; - $this->_strikethrough = NULL; - $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); - } else { - $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); - } - // bind parent if we are a supervisor - if ($isSupervisor) { - $this->_color->bindParent($this, '_color'); - } - } + // Initialise values + if ($isConditional) { + $this->name = null; + $this->size = null; + $this->bold = null; + $this->italic = null; + $this->superScript = null; + $this->subScript = null; + $this->underline = null; + $this->strikethrough = null; + $this->color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional); + } else { + $this->color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor); + } + // bind parent if we are a supervisor + if ($isSupervisor) { + $this->color->bindParent($this, 'color'); + } + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Font - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getFont(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Font + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getFont(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('font' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('font' => $array); + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->applyFromArray( - * array( - * 'name' => 'Arial', - * 'bold' => TRUE, - * 'italic' => FALSE, - * 'underline' => PHPExcel_Style_Font::UNDERLINE_DOUBLE, - * 'strike' => FALSE, - * 'color' => array( - * 'rgb' => '808080' - * ) - * ) - * ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Font - */ - public function applyFromArray($pStyles = null) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (array_key_exists('name', $pStyles)) { - $this->setName($pStyles['name']); - } - if (array_key_exists('bold', $pStyles)) { - $this->setBold($pStyles['bold']); - } - if (array_key_exists('italic', $pStyles)) { - $this->setItalic($pStyles['italic']); - } - if (array_key_exists('superScript', $pStyles)) { - $this->setSuperScript($pStyles['superScript']); - } - if (array_key_exists('subScript', $pStyles)) { - $this->setSubScript($pStyles['subScript']); - } - if (array_key_exists('underline', $pStyles)) { - $this->setUnderline($pStyles['underline']); - } - if (array_key_exists('strike', $pStyles)) { - $this->setStrikethrough($pStyles['strike']); - } - if (array_key_exists('color', $pStyles)) { - $this->getColor()->applyFromArray($pStyles['color']); - } - if (array_key_exists('size', $pStyles)) { - $this->setSize($pStyles['size']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFont()->applyFromArray( + * array( + * 'name' => 'Arial', + * 'bold' => TRUE, + * 'italic' => FALSE, + * 'underline' => PHPExcel_Style_Font::UNDERLINE_DOUBLE, + * 'strike' => FALSE, + * 'color' => array( + * 'rgb' => '808080' + * ) + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Font + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('name', $pStyles)) { + $this->setName($pStyles['name']); + } + if (array_key_exists('bold', $pStyles)) { + $this->setBold($pStyles['bold']); + } + if (array_key_exists('italic', $pStyles)) { + $this->setItalic($pStyles['italic']); + } + if (array_key_exists('superScript', $pStyles)) { + $this->setSuperScript($pStyles['superScript']); + } + if (array_key_exists('subScript', $pStyles)) { + $this->setSubScript($pStyles['subScript']); + } + if (array_key_exists('underline', $pStyles)) { + $this->setUnderline($pStyles['underline']); + } + if (array_key_exists('strike', $pStyles)) { + $this->setStrikethrough($pStyles['strike']); + } + if (array_key_exists('color', $pStyles)) { + $this->getColor()->applyFromArray($pStyles['color']); + } + if (array_key_exists('size', $pStyles)) { + $this->setSize($pStyles['size']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Get Name - * - * @return string - */ - public function getName() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getName(); - } - return $this->_name; - } + /** + * Get Name + * + * @return string + */ + public function getName() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getName(); + } + return $this->name; + } - /** - * Set Name - * - * @param string $pValue - * @return PHPExcel_Style_Font - */ - public function setName($pValue = 'Calibri') { - if ($pValue == '') { - $pValue = 'Calibri'; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('name' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_name = $pValue; - } - return $this; - } + /** + * Set Name + * + * @param string $pValue + * @return PHPExcel_Style_Font + */ + public function setName($pValue = 'Calibri') + { + if ($pValue == '') { + $pValue = 'Calibri'; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('name' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->name = $pValue; + } + return $this; + } - /** - * Get Size - * - * @return double - */ - public function getSize() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getSize(); - } - return $this->_size; - } + /** + * Get Size + * + * @return double + */ + public function getSize() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getSize(); + } + return $this->size; + } - /** - * Set Size - * - * @param double $pValue - * @return PHPExcel_Style_Font - */ - public function setSize($pValue = 10) { - if ($pValue == '') { - $pValue = 10; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('size' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_size = $pValue; - } - return $this; - } + /** + * Set Size + * + * @param double $pValue + * @return PHPExcel_Style_Font + */ + public function setSize($pValue = 10) + { + if ($pValue == '') { + $pValue = 10; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('size' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->size = $pValue; + } + return $this; + } - /** - * Get Bold - * - * @return boolean - */ - public function getBold() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getBold(); - } - return $this->_bold; - } + /** + * Get Bold + * + * @return boolean + */ + public function getBold() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getBold(); + } + return $this->bold; + } - /** - * Set Bold - * - * @param boolean $pValue - * @return PHPExcel_Style_Font - */ - public function setBold($pValue = false) { - if ($pValue == '') { - $pValue = false; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('bold' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_bold = $pValue; - } - return $this; - } + /** + * Set Bold + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setBold($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('bold' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->bold = $pValue; + } + return $this; + } - /** - * Get Italic - * - * @return boolean - */ - public function getItalic() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getItalic(); - } - return $this->_italic; - } + /** + * Get Italic + * + * @return boolean + */ + public function getItalic() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getItalic(); + } + return $this->italic; + } - /** - * Set Italic - * - * @param boolean $pValue - * @return PHPExcel_Style_Font - */ - public function setItalic($pValue = false) { - if ($pValue == '') { - $pValue = false; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('italic' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_italic = $pValue; - } - return $this; - } + /** + * Set Italic + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setItalic($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('italic' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->italic = $pValue; + } + return $this; + } - /** - * Get SuperScript - * - * @return boolean - */ - public function getSuperScript() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getSuperScript(); - } - return $this->_superScript; - } + /** + * Get SuperScript + * + * @return boolean + */ + public function getSuperScript() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getSuperScript(); + } + return $this->superScript; + } - /** - * Set SuperScript - * - * @param boolean $pValue - * @return PHPExcel_Style_Font - */ - public function setSuperScript($pValue = false) { - if ($pValue == '') { - $pValue = false; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('superScript' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_superScript = $pValue; - $this->_subScript = !$pValue; - } - return $this; - } + /** + * Set SuperScript + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setSuperScript($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('superScript' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->superScript = $pValue; + $this->subScript = !$pValue; + } + return $this; + } - /** - * Get SubScript - * - * @return boolean - */ - public function getSubScript() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getSubScript(); - } - return $this->_subScript; - } + /** + * Get SubScript + * + * @return boolean + */ + public function getSubScript() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getSubScript(); + } + return $this->subScript; + } - /** - * Set SubScript - * - * @param boolean $pValue - * @return PHPExcel_Style_Font - */ - public function setSubScript($pValue = false) { - if ($pValue == '') { - $pValue = false; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('subScript' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_subScript = $pValue; - $this->_superScript = !$pValue; - } - return $this; - } + /** + * Set SubScript + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setSubScript($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('subScript' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->subScript = $pValue; + $this->superScript = !$pValue; + } + return $this; + } - /** - * Get Underline - * - * @return string - */ - public function getUnderline() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getUnderline(); - } - return $this->_underline; - } + /** + * Get Underline + * + * @return string + */ + public function getUnderline() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getUnderline(); + } + return $this->underline; + } - /** - * Set Underline - * - * @param string|boolean $pValue PHPExcel_Style_Font underline type - * If a boolean is passed, then TRUE equates to UNDERLINE_SINGLE, - * false equates to UNDERLINE_NONE - * @return PHPExcel_Style_Font - */ - public function setUnderline($pValue = self::UNDERLINE_NONE) { - if (is_bool($pValue)) { - $pValue = ($pValue) ? self::UNDERLINE_SINGLE : self::UNDERLINE_NONE; - } elseif ($pValue == '') { - $pValue = self::UNDERLINE_NONE; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('underline' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_underline = $pValue; - } - return $this; - } + /** + * Set Underline + * + * @param string|boolean $pValue PHPExcel_Style_Font underline type + * If a boolean is passed, then TRUE equates to UNDERLINE_SINGLE, + * false equates to UNDERLINE_NONE + * @return PHPExcel_Style_Font + */ + public function setUnderline($pValue = self::UNDERLINE_NONE) + { + if (is_bool($pValue)) { + $pValue = ($pValue) ? self::UNDERLINE_SINGLE : self::UNDERLINE_NONE; + } elseif ($pValue == '') { + $pValue = self::UNDERLINE_NONE; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('underline' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->underline = $pValue; + } + return $this; + } - /** - * Get Strikethrough - * - * @return boolean - */ - public function getStrikethrough() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getStrikethrough(); - } - return $this->_strikethrough; - } + /** + * Get Strikethrough + * + * @return boolean + */ + public function getStrikethrough() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getStrikethrough(); + } + return $this->strikethrough; + } - /** - * Set Strikethrough - * - * @param boolean $pValue - * @return PHPExcel_Style_Font - */ - public function setStrikethrough($pValue = false) { - if ($pValue == '') { - $pValue = false; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('strike' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_strikethrough = $pValue; - } - return $this; - } + /** + * Set Strikethrough + * + * @param boolean $pValue + * @return PHPExcel_Style_Font + */ + public function setStrikethrough($pValue = false) + { + if ($pValue == '') { + $pValue = false; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('strike' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->strikethrough = $pValue; + } + return $this; + } - /** - * Get Color - * - * @return PHPExcel_Style_Color - */ - public function getColor() { - return $this->_color; - } + /** + * Get Color + * + * @return PHPExcel_Style_Color + */ + public function getColor() + { + return $this->color; + } - /** - * Set Color - * - * @param PHPExcel_Style_Color $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Style_Font - */ - public function setColor(PHPExcel_Style_Color $pValue = null) { - // make sure parameter is a real color and not a supervisor - $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; + /** + * Set Color + * + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Style_Font + */ + public function setColor(PHPExcel_Style_Color $pValue = null) + { + // make sure parameter is a real color and not a supervisor + $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue; - if ($this->_isSupervisor) { - $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_color = $color; - } - return $this; - } - - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_name - . $this->_size - . ($this->_bold ? 't' : 'f') - . ($this->_italic ? 't' : 'f') - . ($this->_superScript ? 't' : 'f') - . ($this->_subScript ? 't' : 'f') - . $this->_underline - . ($this->_strikethrough ? 't' : 'f') - . $this->_color->getHashCode() - . __CLASS__ - ); - } + if ($this->isSupervisor) { + $styleArray = $this->getColor()->getStyleArray(array('argb' => $color->getARGB())); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->color = $color; + } + return $this; + } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->name . + $this->size . + ($this->bold ? 't' : 'f') . + ($this->italic ? 't' : 'f') . + ($this->superScript ? 't' : 'f') . + ($this->subScript ? 't' : 'f') . + $this->underline . + ($this->strikethrough ? 't' : 'f') . + $this->color->getHashCode() . + __CLASS__ + ); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php index 62ab3e275..1b72cda92 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_NumberFormat * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,699 +20,732 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_NumberFormat - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_NumberFormat extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /* Pre-defined formats */ - const FORMAT_GENERAL = 'General'; + /* Pre-defined formats */ + const FORMAT_GENERAL = 'General'; - const FORMAT_TEXT = '@'; + const FORMAT_TEXT = '@'; - const FORMAT_NUMBER = '0'; - const FORMAT_NUMBER_00 = '0.00'; - const FORMAT_NUMBER_COMMA_SEPARATED1 = '#,##0.00'; - const FORMAT_NUMBER_COMMA_SEPARATED2 = '#,##0.00_-'; + const FORMAT_NUMBER = '0'; + const FORMAT_NUMBER_00 = '0.00'; + const FORMAT_NUMBER_COMMA_SEPARATED1 = '#,##0.00'; + const FORMAT_NUMBER_COMMA_SEPARATED2 = '#,##0.00_-'; - const FORMAT_PERCENTAGE = '0%'; - const FORMAT_PERCENTAGE_00 = '0.00%'; + const FORMAT_PERCENTAGE = '0%'; + const FORMAT_PERCENTAGE_00 = '0.00%'; - const FORMAT_DATE_YYYYMMDD2 = 'yyyy-mm-dd'; - const FORMAT_DATE_YYYYMMDD = 'yy-mm-dd'; - const FORMAT_DATE_DDMMYYYY = 'dd/mm/yy'; - const FORMAT_DATE_DMYSLASH = 'd/m/y'; - const FORMAT_DATE_DMYMINUS = 'd-m-y'; - const FORMAT_DATE_DMMINUS = 'd-m'; - const FORMAT_DATE_MYMINUS = 'm-y'; - const FORMAT_DATE_XLSX14 = 'mm-dd-yy'; - const FORMAT_DATE_XLSX15 = 'd-mmm-yy'; - const FORMAT_DATE_XLSX16 = 'd-mmm'; - const FORMAT_DATE_XLSX17 = 'mmm-yy'; - const FORMAT_DATE_XLSX22 = 'm/d/yy h:mm'; - const FORMAT_DATE_DATETIME = 'd/m/y h:mm'; - const FORMAT_DATE_TIME1 = 'h:mm AM/PM'; - const FORMAT_DATE_TIME2 = 'h:mm:ss AM/PM'; - const FORMAT_DATE_TIME3 = 'h:mm'; - const FORMAT_DATE_TIME4 = 'h:mm:ss'; - const FORMAT_DATE_TIME5 = 'mm:ss'; - const FORMAT_DATE_TIME6 = 'h:mm:ss'; - const FORMAT_DATE_TIME7 = 'i:s.S'; - const FORMAT_DATE_TIME8 = 'h:mm:ss;@'; - const FORMAT_DATE_YYYYMMDDSLASH = 'yy/mm/dd;@'; + const FORMAT_DATE_YYYYMMDD2 = 'yyyy-mm-dd'; + const FORMAT_DATE_YYYYMMDD = 'yy-mm-dd'; + const FORMAT_DATE_DDMMYYYY = 'dd/mm/yy'; + const FORMAT_DATE_DMYSLASH = 'd/m/y'; + const FORMAT_DATE_DMYMINUS = 'd-m-y'; + const FORMAT_DATE_DMMINUS = 'd-m'; + const FORMAT_DATE_MYMINUS = 'm-y'; + const FORMAT_DATE_XLSX14 = 'mm-dd-yy'; + const FORMAT_DATE_XLSX15 = 'd-mmm-yy'; + const FORMAT_DATE_XLSX16 = 'd-mmm'; + const FORMAT_DATE_XLSX17 = 'mmm-yy'; + const FORMAT_DATE_XLSX22 = 'm/d/yy h:mm'; + const FORMAT_DATE_DATETIME = 'd/m/y h:mm'; + const FORMAT_DATE_TIME1 = 'h:mm AM/PM'; + const FORMAT_DATE_TIME2 = 'h:mm:ss AM/PM'; + const FORMAT_DATE_TIME3 = 'h:mm'; + const FORMAT_DATE_TIME4 = 'h:mm:ss'; + const FORMAT_DATE_TIME5 = 'mm:ss'; + const FORMAT_DATE_TIME6 = 'h:mm:ss'; + const FORMAT_DATE_TIME7 = 'i:s.S'; + const FORMAT_DATE_TIME8 = 'h:mm:ss;@'; + const FORMAT_DATE_YYYYMMDDSLASH = 'yy/mm/dd;@'; - const FORMAT_CURRENCY_USD_SIMPLE = '"$"#,##0.00_-'; - const FORMAT_CURRENCY_USD = '$#,##0_-'; - const FORMAT_CURRENCY_EUR_SIMPLE = '[$EUR ]#,##0.00_-'; + const FORMAT_CURRENCY_USD_SIMPLE = '"$"#,##0.00_-'; + const FORMAT_CURRENCY_USD = '$#,##0_-'; + const FORMAT_CURRENCY_EUR_SIMPLE = '[$EUR ]#,##0.00_-'; - /** - * Excel built-in number formats - * - * @var array - */ - protected static $_builtInFormats; + /** + * Excel built-in number formats + * + * @var array + */ + protected static $builtInFormats; - /** - * Excel built-in number formats (flipped, for faster lookups) - * - * @var array - */ - protected static $_flippedBuiltInFormats; + /** + * Excel built-in number formats (flipped, for faster lookups) + * + * @var array + */ + protected static $flippedBuiltInFormats; - /** - * Format Code - * - * @var string - */ - protected $_formatCode = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + /** + * Format Code + * + * @var string + */ + protected $formatCode = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; - /** - * Built-in format Code - * - * @var string - */ - protected $_builtInFormatCode = 0; + /** + * Built-in format Code + * + * @var string + */ + protected $builtInFormatCode = 0; - /** - * Create a new PHPExcel_Style_NumberFormat - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + /** + * Create a new PHPExcel_Style_NumberFormat + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); - if ($isConditional) { - $this->_formatCode = NULL; - $this->_builtInFormatCode = FALSE; - } - } + if ($isConditional) { + $this->formatCode = null; + $this->builtInFormatCode = false; + } + } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_NumberFormat - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getNumberFormat(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_NumberFormat + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getNumberFormat(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('numberformat' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('numberformat' => $array); + } - /** - * Apply styles from array - * - * <code> - * $objPHPExcel->getActiveSheet()->getStyle('B2')->getNumberFormat()->applyFromArray( - * array( - * 'code' => PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE - * ) - * ); - * </code> - * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception - * @return PHPExcel_Style_NumberFormat - */ - public function applyFromArray($pStyles = null) - { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (array_key_exists('code', $pStyles)) { - $this->setFormatCode($pStyles['code']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + /** + * Apply styles from array + * + * <code> + * $objPHPExcel->getActiveSheet()->getStyle('B2')->getNumberFormat()->applyFromArray( + * array( + * 'code' => PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE + * ) + * ); + * </code> + * + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception + * @return PHPExcel_Style_NumberFormat + */ + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (array_key_exists('code', $pStyles)) { + $this->setFormatCode($pStyles['code']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } - /** - * Get Format Code - * - * @return string - */ - public function getFormatCode() - { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getFormatCode(); - } - if ($this->_builtInFormatCode !== false) - { - return self::builtInFormatCode($this->_builtInFormatCode); - } - return $this->_formatCode; - } + /** + * Get Format Code + * + * @return string + */ + public function getFormatCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getFormatCode(); + } + if ($this->builtInFormatCode !== false) { + return self::builtInFormatCode($this->builtInFormatCode); + } + return $this->formatCode; + } - /** - * Set Format Code - * - * @param string $pValue - * @return PHPExcel_Style_NumberFormat - */ - public function setFormatCode($pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL) - { - if ($pValue == '') { - $pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; - } - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('code' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_formatCode = $pValue; - $this->_builtInFormatCode = self::builtInFormatCodeIndex($pValue); - } - return $this; - } + /** + * Set Format Code + * + * @param string $pValue + * @return PHPExcel_Style_NumberFormat + */ + public function setFormatCode($pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL) + { + if ($pValue == '') { + $pValue = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('code' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->formatCode = $pValue; + $this->builtInFormatCode = self::builtInFormatCodeIndex($pValue); + } + return $this; + } - /** - * Get Built-In Format Code - * - * @return int - */ - public function getBuiltInFormatCode() - { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getBuiltInFormatCode(); - } - return $this->_builtInFormatCode; - } + /** + * Get Built-In Format Code + * + * @return int + */ + public function getBuiltInFormatCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getBuiltInFormatCode(); + } + return $this->builtInFormatCode; + } - /** - * Set Built-In Format Code - * - * @param int $pValue - * @return PHPExcel_Style_NumberFormat - */ - public function setBuiltInFormatCode($pValue = 0) - { + /** + * Set Built-In Format Code + * + * @param int $pValue + * @return PHPExcel_Style_NumberFormat + */ + public function setBuiltInFormatCode($pValue = 0) + { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('code' => self::builtInFormatCode($pValue))); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_builtInFormatCode = $pValue; - $this->_formatCode = self::builtInFormatCode($pValue); - } - return $this; - } + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('code' => self::builtInFormatCode($pValue))); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->builtInFormatCode = $pValue; + $this->formatCode = self::builtInFormatCode($pValue); + } + return $this; + } - /** - * Fill built-in format codes - */ - private static function fillBuiltInFormatCodes() - { - // Built-in format codes - if (is_null(self::$_builtInFormats)) { - self::$_builtInFormats = array(); + /** + * Fill built-in format codes + */ + private static function fillBuiltInFormatCodes() + { + // [MS-OI29500: Microsoft Office Implementation Information for ISO/IEC-29500 Standard Compliance] + // 18.8.30. numFmt (Number Format) + // + // The ECMA standard defines built-in format IDs + // 14: "mm-dd-yy" + // 22: "m/d/yy h:mm" + // 37: "#,##0 ;(#,##0)" + // 38: "#,##0 ;[Red](#,##0)" + // 39: "#,##0.00;(#,##0.00)" + // 40: "#,##0.00;[Red](#,##0.00)" + // 47: "mmss.0" + // KOR fmt 55: "yyyy-mm-dd" + // Excel defines built-in format IDs + // 14: "m/d/yyyy" + // 22: "m/d/yyyy h:mm" + // 37: "#,##0_);(#,##0)" + // 38: "#,##0_);[Red](#,##0)" + // 39: "#,##0.00_);(#,##0.00)" + // 40: "#,##0.00_);[Red](#,##0.00)" + // 47: "mm:ss.0" + // KOR fmt 55: "yyyy/mm/dd" + + // Built-in format codes + if (is_null(self::$builtInFormats)) { + self::$builtInFormats = array(); - // General - self::$_builtInFormats[0] = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; - self::$_builtInFormats[1] = '0'; - self::$_builtInFormats[2] = '0.00'; - self::$_builtInFormats[3] = '#,##0'; - self::$_builtInFormats[4] = '#,##0.00'; + // General + self::$builtInFormats[0] = PHPExcel_Style_NumberFormat::FORMAT_GENERAL; + self::$builtInFormats[1] = '0'; + self::$builtInFormats[2] = '0.00'; + self::$builtInFormats[3] = '#,##0'; + self::$builtInFormats[4] = '#,##0.00'; - self::$_builtInFormats[9] = '0%'; - self::$_builtInFormats[10] = '0.00%'; - self::$_builtInFormats[11] = '0.00E+00'; - self::$_builtInFormats[12] = '# ?/?'; - self::$_builtInFormats[13] = '# ??/??'; - self::$_builtInFormats[14] = 'mm-dd-yy'; - self::$_builtInFormats[15] = 'd-mmm-yy'; - self::$_builtInFormats[16] = 'd-mmm'; - self::$_builtInFormats[17] = 'mmm-yy'; - self::$_builtInFormats[18] = 'h:mm AM/PM'; - self::$_builtInFormats[19] = 'h:mm:ss AM/PM'; - self::$_builtInFormats[20] = 'h:mm'; - self::$_builtInFormats[21] = 'h:mm:ss'; - self::$_builtInFormats[22] = 'm/d/yy h:mm'; + self::$builtInFormats[9] = '0%'; + self::$builtInFormats[10] = '0.00%'; + self::$builtInFormats[11] = '0.00E+00'; + self::$builtInFormats[12] = '# ?/?'; + self::$builtInFormats[13] = '# ??/??'; + self::$builtInFormats[14] = 'm/d/yyyy'; // Despite ECMA 'mm-dd-yy'; + self::$builtInFormats[15] = 'd-mmm-yy'; + self::$builtInFormats[16] = 'd-mmm'; + self::$builtInFormats[17] = 'mmm-yy'; + self::$builtInFormats[18] = 'h:mm AM/PM'; + self::$builtInFormats[19] = 'h:mm:ss AM/PM'; + self::$builtInFormats[20] = 'h:mm'; + self::$builtInFormats[21] = 'h:mm:ss'; + self::$builtInFormats[22] = 'm/d/yyyy h:mm'; // Despite ECMA 'm/d/yy h:mm'; - self::$_builtInFormats[37] = '#,##0 ;(#,##0)'; - self::$_builtInFormats[38] = '#,##0 ;[Red](#,##0)'; - self::$_builtInFormats[39] = '#,##0.00;(#,##0.00)'; - self::$_builtInFormats[40] = '#,##0.00;[Red](#,##0.00)'; + self::$builtInFormats[37] = '#,##0_);(#,##0)'; // Despite ECMA '#,##0 ;(#,##0)'; + self::$builtInFormats[38] = '#,##0_);[Red](#,##0)'; // Despite ECMA '#,##0 ;[Red](#,##0)'; + self::$builtInFormats[39] = '#,##0.00_);(#,##0.00)'; // Despite ECMA '#,##0.00;(#,##0.00)'; + self::$builtInFormats[40] = '#,##0.00_);[Red](#,##0.00)'; // Despite ECMA '#,##0.00;[Red](#,##0.00)'; - self::$_builtInFormats[44] = '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)'; - self::$_builtInFormats[45] = 'mm:ss'; - self::$_builtInFormats[46] = '[h]:mm:ss'; - self::$_builtInFormats[47] = 'mmss.0'; - self::$_builtInFormats[48] = '##0.0E+0'; - self::$_builtInFormats[49] = '@'; + self::$builtInFormats[44] = '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)'; + self::$builtInFormats[45] = 'mm:ss'; + self::$builtInFormats[46] = '[h]:mm:ss'; + self::$builtInFormats[47] = 'mm:ss.0'; // Despite ECMA 'mmss.0'; + self::$builtInFormats[48] = '##0.0E+0'; + self::$builtInFormats[49] = '@'; - // CHT - self::$_builtInFormats[27] = '[$-404]e/m/d'; - self::$_builtInFormats[30] = 'm/d/yy'; - self::$_builtInFormats[36] = '[$-404]e/m/d'; - self::$_builtInFormats[50] = '[$-404]e/m/d'; - self::$_builtInFormats[57] = '[$-404]e/m/d'; + // CHT + self::$builtInFormats[27] = '[$-404]e/m/d'; + self::$builtInFormats[30] = 'm/d/yy'; + self::$builtInFormats[36] = '[$-404]e/m/d'; + self::$builtInFormats[50] = '[$-404]e/m/d'; + self::$builtInFormats[57] = '[$-404]e/m/d'; - // THA - self::$_builtInFormats[59] = 't0'; - self::$_builtInFormats[60] = 't0.00'; - self::$_builtInFormats[61] = 't#,##0'; - self::$_builtInFormats[62] = 't#,##0.00'; - self::$_builtInFormats[67] = 't0%'; - self::$_builtInFormats[68] = 't0.00%'; - self::$_builtInFormats[69] = 't# ?/?'; - self::$_builtInFormats[70] = 't# ??/??'; + // THA + self::$builtInFormats[59] = 't0'; + self::$builtInFormats[60] = 't0.00'; + self::$builtInFormats[61] = 't#,##0'; + self::$builtInFormats[62] = 't#,##0.00'; + self::$builtInFormats[67] = 't0%'; + self::$builtInFormats[68] = 't0.00%'; + self::$builtInFormats[69] = 't# ?/?'; + self::$builtInFormats[70] = 't# ??/??'; - // Flip array (for faster lookups) - self::$_flippedBuiltInFormats = array_flip(self::$_builtInFormats); - } - } + // Flip array (for faster lookups) + self::$flippedBuiltInFormats = array_flip(self::$builtInFormats); + } + } - /** - * Get built-in format code - * - * @param int $pIndex - * @return string - */ - public static function builtInFormatCode($pIndex) - { - // Clean parameter - $pIndex = intval($pIndex); + /** + * Get built-in format code + * + * @param int $pIndex + * @return string + */ + public static function builtInFormatCode($pIndex) + { + // Clean parameter + $pIndex = intval($pIndex); - // Ensure built-in format codes are available - self::fillBuiltInFormatCodes(); + // Ensure built-in format codes are available + self::fillBuiltInFormatCodes(); + // Lookup format code + if (isset(self::$builtInFormats[$pIndex])) { + return self::$builtInFormats[$pIndex]; + } - // Lookup format code - if (isset(self::$_builtInFormats[$pIndex])) { - return self::$_builtInFormats[$pIndex]; - } + return ''; + } - return ''; - } + /** + * Get built-in format code index + * + * @param string $formatCode + * @return int|boolean + */ + public static function builtInFormatCodeIndex($formatCode) + { + // Ensure built-in format codes are available + self::fillBuiltInFormatCodes(); - /** - * Get built-in format code index - * - * @param string $formatCode - * @return int|boolean - */ - public static function builtInFormatCodeIndex($formatCode) - { - // Ensure built-in format codes are available - self::fillBuiltInFormatCodes(); + // Lookup format code + if (isset(self::$flippedBuiltInFormats[$formatCode])) { + return self::$flippedBuiltInFormats[$formatCode]; + } - // Lookup format code - if (isset(self::$_flippedBuiltInFormats[$formatCode])) { - return self::$_flippedBuiltInFormats[$formatCode]; - } + return false; + } - return false; - } + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->formatCode . + $this->builtInFormatCode . + __CLASS__ + ); + } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() - { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_formatCode - . $this->_builtInFormatCode - . __CLASS__ - ); - } + /** + * Search/replace values to convert Excel date/time format masks to PHP format masks + * + * @var array + */ + private static $dateFormatReplacements = array( + // first remove escapes related to non-format characters + '\\' => '', + // 12-hour suffix + 'am/pm' => 'A', + // 4-digit year + 'e' => 'Y', + 'yyyy' => 'Y', + // 2-digit year + 'yy' => 'y', + // first letter of month - no php equivalent + 'mmmmm' => 'M', + // full month name + 'mmmm' => 'F', + // short month name + 'mmm' => 'M', + // mm is minutes if time, but can also be month w/leading zero + // so we try to identify times be the inclusion of a : separator in the mask + // It isn't perfect, but the best way I know how + ':mm' => ':i', + 'mm:' => 'i:', + // month leading zero + 'mm' => 'm', + // month no leading zero + 'm' => 'n', + // full day of week name + 'dddd' => 'l', + // short day of week name + 'ddd' => 'D', + // days leading zero + 'dd' => 'd', + // days no leading zero + 'd' => 'j', + // seconds + 'ss' => 's', + // fractional seconds - no php equivalent + '.s' => '' + ); + /** + * Search/replace values to convert Excel date/time format masks hours to PHP format masks (24 hr clock) + * + * @var array + */ + private static $dateFormatReplacements24 = array( + 'hh' => 'H', + 'h' => 'G' + ); + /** + * Search/replace values to convert Excel date/time format masks hours to PHP format masks (12 hr clock) + * + * @var array + */ + private static $dateFormatReplacements12 = array( + 'hh' => 'h', + 'h' => 'g' + ); - /** - * Search/replace values to convert Excel date/time format masks to PHP format masks - * - * @var array - */ - private static $_dateFormatReplacements = array( - // first remove escapes related to non-format characters - '\\' => '', - // 12-hour suffix - 'am/pm' => 'A', - // 4-digit year - 'e' => 'Y', - 'yyyy' => 'Y', - // 2-digit year - 'yy' => 'y', - // first letter of month - no php equivalent - 'mmmmm' => 'M', - // full month name - 'mmmm' => 'F', - // short month name - 'mmm' => 'M', - // mm is minutes if time, but can also be month w/leading zero - // so we try to identify times be the inclusion of a : separator in the mask - // It isn't perfect, but the best way I know how - ':mm' => ':i', - 'mm:' => 'i:', - // month leading zero - 'mm' => 'm', - // month no leading zero - 'm' => 'n', - // full day of week name - 'dddd' => 'l', - // short day of week name - 'ddd' => 'D', - // days leading zero - 'dd' => 'd', - // days no leading zero - 'd' => 'j', - // seconds - 'ss' => 's', - // fractional seconds - no php equivalent - '.s' => '' - ); - /** - * Search/replace values to convert Excel date/time format masks hours to PHP format masks (24 hr clock) - * - * @var array - */ - private static $_dateFormatReplacements24 = array( - 'hh' => 'H', - 'h' => 'G' - ); - /** - * Search/replace values to convert Excel date/time format masks hours to PHP format masks (12 hr clock) - * - * @var array - */ - private static $_dateFormatReplacements12 = array( - 'hh' => 'h', - 'h' => 'g' - ); + private static function setLowercaseCallback($matches) { + return mb_strtolower($matches[0]); + } - private static function _formatAsDate(&$value, &$format) - { - // dvc: convert Excel formats to PHP date formats + private static function escapeQuotesCallback($matches) { + return '\\' . implode('\\', str_split($matches[1])); + } - // strip off first part containing e.g. [$-F800] or [$USD-409] - // general syntax: [$<Currency string>-<language info>] - // language info is in hexadecimal - $format = preg_replace('/^(\[\$[A-Z]*-[0-9A-F]*\])/i', '', $format); + private static function formatAsDate(&$value, &$format) + { + // strip off first part containing e.g. [$-F800] or [$USD-409] + // general syntax: [$<Currency string>-<language info>] + // language info is in hexadecimal + $format = preg_replace('/^(\[\$[A-Z]*-[0-9A-F]*\])/i', '', $format); - // OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case - $format = strtolower($format); + // OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case; + // but we don't want to change any quoted strings + $format = preg_replace_callback('/(?:^|")([^"]*)(?:$|")/', array('self', 'setLowercaseCallback'), $format); - $format = strtr($format,self::$_dateFormatReplacements); - if (!strpos($format,'A')) { // 24-hour time format - $format = strtr($format,self::$_dateFormatReplacements24); - } else { // 12-hour time format - $format = strtr($format,self::$_dateFormatReplacements12); - } + // Only process the non-quoted blocks for date format characters + $blocks = explode('"', $format); + foreach($blocks as $key => &$block) { + if ($key % 2 == 0) { + $block = strtr($block, self::$dateFormatReplacements); + if (!strpos($block, 'A')) { + // 24-hour time format + $block = strtr($block, self::$dateFormatReplacements24); + } else { + // 12-hour time format + $block = strtr($block, self::$dateFormatReplacements12); + } + } + } + $format = implode('"', $blocks); - $dateObj = PHPExcel_Shared_Date::ExcelToPHPObject($value); - $value = $dateObj->format($format); - } + // escape any quoted characters so that DateTime format() will render them correctly + $format = preg_replace_callback('/"(.*)"/U', array('self', 'escapeQuotesCallback'), $format); - private static function _formatAsPercentage(&$value, &$format) - { - if ($format === self::FORMAT_PERCENTAGE) { - $value = round( (100 * $value), 0) . '%'; - } else { - if (preg_match('/\.[#0]+/i', $format, $m)) { - $s = substr($m[0], 0, 1) . (strlen($m[0]) - 1); - $format = str_replace($m[0], $s, $format); - } - if (preg_match('/^[#0]+/', $format, $m)) { - $format = str_replace($m[0], strlen($m[0]), $format); - } - $format = '%' . str_replace('%', 'f%%', $format); + $dateObj = PHPExcel_Shared_Date::ExcelToPHPObject($value); + $value = $dateObj->format($format); + } - $value = sprintf($format, 100 * $value); - } - } + private static function formatAsPercentage(&$value, &$format) + { + if ($format === self::FORMAT_PERCENTAGE) { + $value = round((100 * $value), 0) . '%'; + } else { + if (preg_match('/\.[#0]+/i', $format, $m)) { + $s = substr($m[0], 0, 1) . (strlen($m[0]) - 1); + $format = str_replace($m[0], $s, $format); + } + if (preg_match('/^[#0]+/', $format, $m)) { + $format = str_replace($m[0], strlen($m[0]), $format); + } + $format = '%' . str_replace('%', 'f%%', $format); - private static function _formatAsFraction(&$value, &$format) - { - $sign = ($value < 0) ? '-' : ''; + $value = sprintf($format, 100 * $value); + } + } - $integerPart = floor(abs($value)); - $decimalPart = trim(fmod(abs($value),1),'0.'); - $decimalLength = strlen($decimalPart); - $decimalDivisor = pow(10,$decimalLength); + private static function formatAsFraction(&$value, &$format) + { + $sign = ($value < 0) ? '-' : ''; - $GCD = PHPExcel_Calculation_MathTrig::GCD($decimalPart,$decimalDivisor); + $integerPart = floor(abs($value)); + $decimalPart = trim(fmod(abs($value), 1), '0.'); + $decimalLength = strlen($decimalPart); + $decimalDivisor = pow(10, $decimalLength); - $adjustedDecimalPart = $decimalPart/$GCD; - $adjustedDecimalDivisor = $decimalDivisor/$GCD; + $GCD = PHPExcel_Calculation_MathTrig::GCD($decimalPart, $decimalDivisor); - if ((strpos($format,'0') !== false) || (strpos($format,'#') !== false) || (substr($format,0,3) == '? ?')) { - if ($integerPart == 0) { - $integerPart = ''; - } - $value = "$sign$integerPart $adjustedDecimalPart/$adjustedDecimalDivisor"; - } else { - $adjustedDecimalPart += $integerPart * $adjustedDecimalDivisor; - $value = "$sign$adjustedDecimalPart/$adjustedDecimalDivisor"; - } - } + $adjustedDecimalPart = $decimalPart/$GCD; + $adjustedDecimalDivisor = $decimalDivisor/$GCD; - private static function _complexNumberFormatMask($number, $mask, $level = 0) { + if ((strpos($format, '0') !== false) || (strpos($format, '#') !== false) || (substr($format, 0, 3) == '? ?')) { + if ($integerPart == 0) { + $integerPart = ''; + } + $value = "$sign$integerPart $adjustedDecimalPart/$adjustedDecimalDivisor"; + } else { + $adjustedDecimalPart += $integerPart * $adjustedDecimalDivisor; + $value = "$sign$adjustedDecimalPart/$adjustedDecimalDivisor"; + } + } + + private static function complexNumberFormatMask($number, $mask, $level = 0) + { $sign = ($number < 0.0); $number = abs($number); - if (strpos($mask,'.') !== false) { - $numbers = explode('.', $number . '.0'); - $masks = explode('.', $mask . '.0'); - $result1 = self::_complexNumberFormatMask($numbers[0], $masks[0], 1); - $result2 = strrev(self::_complexNumberFormatMask(strrev($numbers[1]), strrev($masks[1]), 1)); - return (($sign) ? '-' : '') . $result1 . '.' . $result2; - } + if (strpos($mask, '.') !== false) { + $numbers = explode('.', $number . '.0'); + $masks = explode('.', $mask . '.0'); + $result1 = self::complexNumberFormatMask($numbers[0], $masks[0], 1); + $result2 = strrev(self::complexNumberFormatMask(strrev($numbers[1]), strrev($masks[1]), 1)); + return (($sign) ? '-' : '') . $result1 . '.' . $result2; + } - $r = preg_match_all('/0+/', $mask, $result, PREG_OFFSET_CAPTURE); - if ($r > 1) { - $result = array_reverse($result[0]); + $r = preg_match_all('/0+/', $mask, $result, PREG_OFFSET_CAPTURE); + if ($r > 1) { + $result = array_reverse($result[0]); - foreach($result as $block) { - $divisor = 1 . $block[0]; - $size = strlen($block[0]); - $offset = $block[1]; + foreach ($result as $block) { + $divisor = 1 . $block[0]; + $size = strlen($block[0]); + $offset = $block[1]; - $blockValue = sprintf( - '%0' . $size . 'd', - fmod($number, $divisor) - ); - $number = floor($number / $divisor); - $mask = substr_replace($mask, $blockValue, $offset, $size); - } - if ($number > 0) { - $mask = substr_replace($mask, $number, $offset, 0); - } - $result = $mask; - } else { - $result = $number; - } + $blockValue = sprintf( + '%0' . $size . 'd', + fmod($number, $divisor) + ); + $number = floor($number / $divisor); + $mask = substr_replace($mask, $blockValue, $offset, $size); + } + if ($number > 0) { + $mask = substr_replace($mask, $number, $offset, 0); + } + $result = $mask; + } else { + $result = $number; + } - return (($sign) ? '-' : '') . $result; - } + return (($sign) ? '-' : '') . $result; + } - /** - * Convert a value in a pre-defined format to a PHP string - * - * @param mixed $value Value to format - * @param string $format Format code - * @param array $callBack Callback function for additional formatting of string - * @return string Formatted string - */ - public static function toFormattedString($value = '0', $format = PHPExcel_Style_NumberFormat::FORMAT_GENERAL, $callBack = null) - { - // For now we do not treat strings although section 4 of a format code affects strings - if (!is_numeric($value)) return $value; + /** + * Convert a value in a pre-defined format to a PHP string + * + * @param mixed $value Value to format + * @param string $format Format code + * @param array $callBack Callback function for additional formatting of string + * @return string Formatted string + */ + public static function toFormattedString($value = '0', $format = PHPExcel_Style_NumberFormat::FORMAT_GENERAL, $callBack = null) + { + // For now we do not treat strings although section 4 of a format code affects strings + if (!is_numeric($value)) { + return $value; + } - // For 'General' format code, we just pass the value although this is not entirely the way Excel does it, - // it seems to round numbers to a total of 10 digits. - if (($format === PHPExcel_Style_NumberFormat::FORMAT_GENERAL) || ($format === PHPExcel_Style_NumberFormat::FORMAT_TEXT)) { - return $value; - } + // For 'General' format code, we just pass the value although this is not entirely the way Excel does it, + // it seems to round numbers to a total of 10 digits. + if (($format === PHPExcel_Style_NumberFormat::FORMAT_GENERAL) || ($format === PHPExcel_Style_NumberFormat::FORMAT_TEXT)) { + return $value; + } - // Get the sections, there can be up to four sections - $sections = explode(';', $format); + // Convert any other escaped characters to quoted strings, e.g. (\T to "T") + $format = preg_replace('/(\\\(.))(?=(?:[^"]|"[^"]*")*$)/u', '"${2}"', $format); - // Fetch the relevant section depending on whether number is positive, negative, or zero? - // Text not supported yet. - // Here is how the sections apply to various values in Excel: - // 1 section: [POSITIVE/NEGATIVE/ZERO/TEXT] - // 2 sections: [POSITIVE/ZERO/TEXT] [NEGATIVE] - // 3 sections: [POSITIVE/TEXT] [NEGATIVE] [ZERO] - // 4 sections: [POSITIVE] [NEGATIVE] [ZERO] [TEXT] - switch (count($sections)) { - case 1: - $format = $sections[0]; - break; + // Get the sections, there can be up to four sections, separated with a semi-colon (but only if not a quoted literal) + $sections = preg_split('/(;)(?=(?:[^"]|"[^"]*")*$)/u', $format); - case 2: - $format = ($value >= 0) ? $sections[0] : $sections[1]; - $value = abs($value); // Use the absolute value - break; + // Extract the relevant section depending on whether number is positive, negative, or zero? + // Text not supported yet. + // Here is how the sections apply to various values in Excel: + // 1 section: [POSITIVE/NEGATIVE/ZERO/TEXT] + // 2 sections: [POSITIVE/ZERO/TEXT] [NEGATIVE] + // 3 sections: [POSITIVE/TEXT] [NEGATIVE] [ZERO] + // 4 sections: [POSITIVE] [NEGATIVE] [ZERO] [TEXT] + switch (count($sections)) { + case 1: + $format = $sections[0]; + break; + case 2: + $format = ($value >= 0) ? $sections[0] : $sections[1]; + $value = abs($value); // Use the absolute value + break; + case 3: + $format = ($value > 0) ? + $sections[0] : ( ($value < 0) ? + $sections[1] : $sections[2]); + $value = abs($value); // Use the absolute value + break; + case 4: + $format = ($value > 0) ? + $sections[0] : ( ($value < 0) ? + $sections[1] : $sections[2]); + $value = abs($value); // Use the absolute value + break; + default: + // something is wrong, just use first section + $format = $sections[0]; + break; + } - case 3: - $format = ($value > 0) ? - $sections[0] : ( ($value < 0) ? - $sections[1] : $sections[2]); - $value = abs($value); // Use the absolute value - break; + // In Excel formats, "_" is used to add spacing, + // The following character indicates the size of the spacing, which we can't do in HTML, so we just use a standard space + $format = preg_replace('/_./', ' ', $format); - case 4: - $format = ($value > 0) ? - $sections[0] : ( ($value < 0) ? - $sections[1] : $sections[2]); - $value = abs($value); // Use the absolute value - break; + // Save format with color information for later use below + $formatColor = $format; - default: - // something is wrong, just use first section - $format = $sections[0]; - break; - } + // Strip color information + $color_regex = '/^\\[[a-zA-Z]+\\]/'; + $format = preg_replace($color_regex, '', $format); - // Save format with color information for later use below - $formatColor = $format; + // Let's begin inspecting the format and converting the value to a formatted string - // Strip color information - $color_regex = '/^\\[[a-zA-Z]+\\]/'; - $format = preg_replace($color_regex, '', $format); + // Check for date/time characters (not inside quotes) + if (preg_match('/(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy](?=(?:[^"]|"[^"]*")*$)/miu', $format, $matches)) { + // datetime format + self::formatAsDate($value, $format); + } elseif (preg_match('/%$/', $format)) { + // % number format + self::formatAsPercentage($value, $format); + } else { + if ($format === self::FORMAT_CURRENCY_EUR_SIMPLE) { + $value = 'EUR ' . sprintf('%1.2f', $value); + } else { + // Some non-number strings are quoted, so we'll get rid of the quotes, likewise any positional * symbols + $format = str_replace(array('"', '*'), '', $format); - // Let's begin inspecting the format and converting the value to a formatted string - if (preg_match('/^(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy]/i', $format)) { // datetime format - self::_formatAsDate($value, $format); - } else if (preg_match('/%$/', $format)) { // % number format - self::_formatAsPercentage($value, $format); - } else { - if ($format === self::FORMAT_CURRENCY_EUR_SIMPLE) { - $value = 'EUR ' . sprintf('%1.2f', $value); - } else { - // In Excel formats, "_" is used to add spacing, which we can't do in HTML - $format = preg_replace('/_./', '', $format); + // Find out if we need thousands separator + // This is indicated by a comma enclosed by a digit placeholder: + // #,# or 0,0 + $useThousands = preg_match('/(#,#|0,0)/', $format); + if ($useThousands) { + $format = preg_replace('/0,0/', '00', $format); + $format = preg_replace('/#,#/', '##', $format); + } - // Some non-number characters are escaped with \, which we don't need - $format = preg_replace("/\\\\/", '', $format); -// Handle escaped characters, such as \" to display a literal " or \\ to display a literal \ -// $format = preg_replace('/(?<!\\\\)\"/', '', $format); -// $format = str_replace(array('\\"', '*'), array('"', ''), $format); + // Scale thousands, millions,... + // This is indicated by a number of commas after a digit placeholder: + // #, or 0.0,, + $scale = 1; // same as no scale + $matches = array(); + if (preg_match('/(#|0)(,+)/', $format, $matches)) { + $scale = pow(1000, strlen($matches[2])); - // Some non-number strings are quoted, so we'll get rid of the quotes, likewise any positional * symbols - $format = str_replace(array('"', '*'), '', $format); + // strip the commas + $format = preg_replace('/0,+/', '0', $format); + $format = preg_replace('/#,+/', '#', $format); + } - // Find out if we need thousands separator - // This is indicated by a comma enclosed by a digit placeholder: - // #,# or 0,0 - $useThousands = preg_match('/(#,#|0,0)/', $format); - if ($useThousands) { - $format = preg_replace('/0,0/', '00', $format); - $format = preg_replace('/#,#/', '##', $format); - } + if (preg_match('/#?.*\?\/\?/', $format, $m)) { + //echo 'Format mask is fractional '.$format.' <br />'; + if ($value != (int)$value) { + self::formatAsFraction($value, $format); + } - // Scale thousands, millions,... - // This is indicated by a number of commas after a digit placeholder: - // #, or 0.0,, - $scale = 1; // same as no scale - $matches = array(); - if (preg_match('/(#|0)(,+)/', $format, $matches)) { - $scale = pow(1000, strlen($matches[2])); + } else { + // Handle the number itself - // strip the commas - $format = preg_replace('/0,+/', '0', $format); - $format = preg_replace('/#,+/', '#', $format); - } + // scale number + $value = $value / $scale; - if (preg_match('/#?.*\?\/\?/', $format, $m)) { - //echo 'Format mask is fractional '.$format.' <br />'; - if ($value != (int)$value) { - self::_formatAsFraction($value, $format); - } + // Strip # + $format = preg_replace('/\\#/', '0', $format); - } else { - // Handle the number itself + $n = "/\[[^\]]+\]/"; + $m = preg_replace($n, '', $format); + $number_regex = "/(0+)(\.?)(0*)/"; + if (preg_match($number_regex, $m, $matches)) { + $left = $matches[1]; + $dec = $matches[2]; + $right = $matches[3]; - // scale number - $value = $value / $scale; + // minimun width of formatted number (including dot) + $minWidth = strlen($left) + strlen($dec) + strlen($right); + if ($useThousands) { + $value = number_format( + $value, + strlen($right), + PHPExcel_Shared_String::getDecimalSeparator(), + PHPExcel_Shared_String::getThousandsSeparator() + ); + $value = preg_replace($number_regex, $value, $format); + } else { + if (preg_match('/[0#]E[+-]0/i', $format)) { + // Scientific format + $value = sprintf('%5.2E', $value); + } elseif (preg_match('/0([^\d\.]+)0/', $format)) { + $value = self::complexNumberFormatMask($value, $format); + } else { + $sprintf_pattern = "%0$minWidth." . strlen($right) . "f"; + $value = sprintf($sprintf_pattern, $value); + $value = preg_replace($number_regex, $value, $format); + } + } + } + } + if (preg_match('/\[\$(.*)\]/u', $format, $m)) { + // Currency or Accounting + $currencyFormat = $m[0]; + $currencyCode = $m[1]; + list($currencyCode) = explode('-', $currencyCode); + if ($currencyCode == '') { + $currencyCode = PHPExcel_Shared_String::getCurrencyCode(); + } + $value = preg_replace('/\[\$([^\]]*)\]/u', $currencyCode, $value); + } + } + } - // Strip # - $format = preg_replace('/\\#/', '0', $format); + // Escape any escaped slashes to a single slash + $format = preg_replace("/\\\\/u", '\\', $format); - $n = "/\[[^\]]+\]/"; - $m = preg_replace($n, '', $format); - $number_regex = "/(0+)(\.?)(0*)/"; - if (preg_match($number_regex, $m, $matches)) { - $left = $matches[1]; - $dec = $matches[2]; - $right = $matches[3]; - - // minimun width of formatted number (including dot) - $minWidth = strlen($left) + strlen($dec) + strlen($right); - if ($useThousands) { - $value = number_format( - $value - , strlen($right) - , PHPExcel_Shared_String::getDecimalSeparator() - , PHPExcel_Shared_String::getThousandsSeparator() - ); - $value = preg_replace($number_regex, $value, $format); - } else { - if (preg_match('/[0#]E[+-]0/i', $format)) { - // Scientific format - $value = sprintf('%5.2E', $value); - } elseif (preg_match('/0([^\d\.]+)0/', $format)) { - $value = self::_complexNumberFormatMask($value, $format); - } else { - $sprintf_pattern = "%0$minWidth." . strlen($right) . "f"; - $value = sprintf($sprintf_pattern, $value); - $value = preg_replace($number_regex, $value, $format); - } - } - } - } - if (preg_match('/\[\$(.*)\]/u', $format, $m)) { - // Currency or Accounting - $currencyFormat = $m[0]; - $currencyCode = $m[1]; - list($currencyCode) = explode('-',$currencyCode); - if ($currencyCode == '') { - $currencyCode = PHPExcel_Shared_String::getCurrencyCode(); - } - $value = preg_replace('/\[\$([^\]]*)\]/u',$currencyCode,$value); - } - } - } - - // Additional formatting provided by callback function - if ($callBack !== null) { - list($writerInstance, $function) = $callBack; - $value = $writerInstance->$function($value, $formatColor); - } - - return $value; - } + // Additional formatting provided by callback function + if ($callBack !== null) { + list($writerInstance, $function) = $callBack; + $value = $writerInstance->$function($value, $formatColor); + } + return $value; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php index 8dc1f31ad..d5568f655 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Protection.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Protection * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,128 +21,121 @@ * * @category PHPExcel * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version 1.4.5, 2007-08-23 - */ - - -/** - * PHPExcel_Style_Protection - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable { - /** Protection styles */ - const PROTECTION_INHERIT = 'inherit'; - const PROTECTION_PROTECTED = 'protected'; - const PROTECTION_UNPROTECTED = 'unprotected'; + /** Protection styles */ + const PROTECTION_INHERIT = 'inherit'; + const PROTECTION_PROTECTED = 'protected'; + const PROTECTION_UNPROTECTED = 'unprotected'; - /** - * Locked - * - * @var string - */ - protected $_locked; - - /** - * Hidden - * - * @var string - */ - protected $_hidden; - - /** - * Create a new PHPExcel_Style_Protection - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - * @param boolean $isConditional Flag indicating if this is a conditional style or not - * Leave this value at default unless you understand exactly what - * its ramifications are + /** + * Locked + * + * @var string */ - public function __construct($isSupervisor = FALSE, $isConditional = FALSE) - { - // Supervisor? - parent::__construct($isSupervisor); + protected $locked; - // Initialise values - if (!$isConditional) { - $this->_locked = self::PROTECTION_INHERIT; - $this->_hidden = self::PROTECTION_INHERIT; - } + /** + * Hidden + * + * @var string + */ + protected $hidden; + + /** + * Create a new PHPExcel_Style_Protection + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + * @param boolean $isConditional Flag indicating if this is a conditional style or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false, $isConditional = false) + { + // Supervisor? + parent::__construct($isSupervisor); + + // Initialise values + if (!$isConditional) { + $this->locked = self::PROTECTION_INHERIT; + $this->hidden = self::PROTECTION_INHERIT; + } } - /** - * Get the shared style component for the currently active cell in currently active sheet. - * Only used for style supervisor - * - * @return PHPExcel_Style_Protection - */ - public function getSharedComponent() - { - return $this->_parent->getSharedComponent()->getProtection(); - } + /** + * Get the shared style component for the currently active cell in currently active sheet. + * Only used for style supervisor + * + * @return PHPExcel_Style_Protection + */ + public function getSharedComponent() + { + return $this->parent->getSharedComponent()->getProtection(); + } - /** - * Build style array from subcomponents - * - * @param array $array - * @return array - */ - public function getStyleArray($array) - { - return array('protection' => $array); - } + /** + * Build style array from subcomponents + * + * @param array $array + * @return array + */ + public function getStyleArray($array) + { + return array('protection' => $array); + } /** * Apply styles from array * * <code> * $objPHPExcel->getActiveSheet()->getStyle('B2')->getLocked()->applyFromArray( - * array( - * 'locked' => TRUE, - * 'hidden' => FALSE - * ) + * array( + * 'locked' => TRUE, + * 'hidden' => FALSE + * ) * ); * </code> * - * @param array $pStyles Array containing style information - * @throws PHPExcel_Exception + * @param array $pStyles Array containing style information + * @throws PHPExcel_Exception * @return PHPExcel_Style_Protection */ - public function applyFromArray($pStyles = NULL) { - if (is_array($pStyles)) { - if ($this->_isSupervisor) { - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); - } else { - if (isset($pStyles['locked'])) { - $this->setLocked($pStyles['locked']); - } - if (isset($pStyles['hidden'])) { - $this->setHidden($pStyles['hidden']); - } - } - } else { - throw new PHPExcel_Exception("Invalid style array passed."); - } - return $this; - } + public function applyFromArray($pStyles = null) + { + if (is_array($pStyles)) { + if ($this->isSupervisor) { + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles)); + } else { + if (isset($pStyles['locked'])) { + $this->setLocked($pStyles['locked']); + } + if (isset($pStyles['hidden'])) { + $this->setHidden($pStyles['hidden']); + } + } + } else { + throw new PHPExcel_Exception("Invalid style array passed."); + } + return $this; + } /** * Get locked * * @return string */ - public function getLocked() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getLocked(); - } - return $this->_locked; + public function getLocked() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getLocked(); + } + return $this->locked; } /** @@ -150,14 +144,15 @@ class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHP * @param string $pValue * @return PHPExcel_Style_Protection */ - public function setLocked($pValue = self::PROTECTION_INHERIT) { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('locked' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_locked = $pValue; - } - return $this; + public function setLocked($pValue = self::PROTECTION_INHERIT) + { + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('locked' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->locked = $pValue; + } + return $this; } /** @@ -165,11 +160,12 @@ class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHP * * @return string */ - public function getHidden() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHidden(); - } - return $this->_hidden; + public function getHidden() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHidden(); + } + return $this->hidden; } /** @@ -178,30 +174,31 @@ class PHPExcel_Style_Protection extends PHPExcel_Style_Supervisor implements PHP * @param string $pValue * @return PHPExcel_Style_Protection */ - public function setHidden($pValue = self::PROTECTION_INHERIT) { - if ($this->_isSupervisor) { - $styleArray = $this->getStyleArray(array('hidden' => $pValue)); - $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); - } else { - $this->_hidden = $pValue; - } - return $this; + public function setHidden($pValue = self::PROTECTION_INHERIT) + { + if ($this->isSupervisor) { + $styleArray = $this->getStyleArray(array('hidden' => $pValue)); + $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray); + } else { + $this->hidden = $pValue; + } + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - if ($this->_isSupervisor) { - return $this->getSharedComponent()->getHashCode(); - } - return md5( - $this->_locked - . $this->_hidden - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + if ($this->isSupervisor) { + return $this->getSharedComponent()->getHashCode(); + } + return md5( + $this->locked . + $this->hidden . + __CLASS__ + ); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php index 2d21f5293..a90e1c6a9 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Supervisor.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Style_Supervisor * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,114 +20,106 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Style_Supervisor - * - * @category PHPExcel - * @package PHPExcel_Style - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Style + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ abstract class PHPExcel_Style_Supervisor { - /** - * Supervisor? - * - * @var boolean - */ - protected $_isSupervisor; + /** + * Supervisor? + * + * @var boolean + */ + protected $isSupervisor; - /** - * Parent. Only used for supervisor - * - * @var PHPExcel_Style - */ - protected $_parent; + /** + * Parent. Only used for supervisor + * + * @var PHPExcel_Style + */ + protected $parent; - /** - * Create a new PHPExcel_Style_Alignment - * - * @param boolean $isSupervisor Flag indicating if this is a supervisor or not - * Leave this value at default unless you understand exactly what - * its ramifications are - */ - public function __construct($isSupervisor = FALSE) - { - // Supervisor? - $this->_isSupervisor = $isSupervisor; - } + /** + * Create a new PHPExcel_Style_Alignment + * + * @param boolean $isSupervisor Flag indicating if this is a supervisor or not + * Leave this value at default unless you understand exactly what + * its ramifications are + */ + public function __construct($isSupervisor = false) + { + // Supervisor? + $this->isSupervisor = $isSupervisor; + } - /** - * Bind parent. Only used for supervisor - * - * @param PHPExcel $parent - * @return PHPExcel_Style_Supervisor - */ - public function bindParent($parent, $parentPropertyName=NULL) - { - $this->_parent = $parent; - return $this; - } + /** + * Bind parent. Only used for supervisor + * + * @param PHPExcel $parent + * @return PHPExcel_Style_Supervisor + */ + public function bindParent($parent, $parentPropertyName = null) + { + $this->parent = $parent; + return $this; + } - /** - * Is this a supervisor or a cell style component? - * - * @return boolean - */ - public function getIsSupervisor() - { - return $this->_isSupervisor; - } + /** + * Is this a supervisor or a cell style component? + * + * @return boolean + */ + public function getIsSupervisor() + { + return $this->isSupervisor; + } - /** - * Get the currently active sheet. Only used for supervisor - * - * @return PHPExcel_Worksheet - */ - public function getActiveSheet() - { - return $this->_parent->getActiveSheet(); - } + /** + * Get the currently active sheet. Only used for supervisor + * + * @return PHPExcel_Worksheet + */ + public function getActiveSheet() + { + return $this->parent->getActiveSheet(); + } - /** - * Get the currently active cell coordinate in currently active sheet. - * Only used for supervisor - * - * @return string E.g. 'A1' - */ - public function getSelectedCells() - { - return $this->getActiveSheet()->getSelectedCells(); - } + /** + * Get the currently active cell coordinate in currently active sheet. + * Only used for supervisor + * + * @return string E.g. 'A1' + */ + public function getSelectedCells() + { + return $this->getActiveSheet()->getSelectedCells(); + } - /** - * Get the currently active cell coordinate in currently active sheet. - * Only used for supervisor - * - * @return string E.g. 'A1' - */ - public function getActiveCell() - { - return $this->getActiveSheet()->getActiveCell(); - } + /** + * Get the currently active cell coordinate in currently active sheet. + * Only used for supervisor + * + * @return string E.g. 'A1' + */ + public function getActiveCell() + { + return $this->getActiveSheet()->getActiveCell(); + } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if ((is_object($value)) && ($key != '_parent')) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if ((is_object($value)) && ($key != 'parent')) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php index 2b0b57ae4..483aa0021 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet implements PHPExcel_IComparable { /* Break types */ @@ -50,289 +42,289 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @var array */ - private static $_invalidCharacters = array('*', ':', '/', '\\', '?', '[', ']'); + private static $invalidCharacters = array('*', ':', '/', '\\', '?', '[', ']'); /** * Parent spreadsheet * * @var PHPExcel */ - private $_parent; + private $parent; /** * Cacheable collection of cells * * @var PHPExcel_CachedObjectStorage_xxx */ - private $_cellCollection = null; + private $cellCollection; /** * Collection of row dimensions * * @var PHPExcel_Worksheet_RowDimension[] */ - private $_rowDimensions = array(); + private $rowDimensions = array(); /** * Default row dimension * * @var PHPExcel_Worksheet_RowDimension */ - private $_defaultRowDimension = null; + private $defaultRowDimension; /** * Collection of column dimensions * * @var PHPExcel_Worksheet_ColumnDimension[] */ - private $_columnDimensions = array(); + private $columnDimensions = array(); /** * Default column dimension * * @var PHPExcel_Worksheet_ColumnDimension */ - private $_defaultColumnDimension = null; + private $defaultColumnDimension = null; /** * Collection of drawings * * @var PHPExcel_Worksheet_BaseDrawing[] */ - private $_drawingCollection = null; + private $drawingCollection = null; /** * Collection of Chart objects * * @var PHPExcel_Chart[] */ - private $_chartCollection = array(); + private $chartCollection = array(); /** * Worksheet title * * @var string */ - private $_title; + private $title; /** * Sheet state * * @var string */ - private $_sheetState; + private $sheetState; /** * Page setup * * @var PHPExcel_Worksheet_PageSetup */ - private $_pageSetup; + private $pageSetup; /** * Page margins * * @var PHPExcel_Worksheet_PageMargins */ - private $_pageMargins; + private $pageMargins; /** * Page header/footer * * @var PHPExcel_Worksheet_HeaderFooter */ - private $_headerFooter; + private $headerFooter; /** * Sheet view * * @var PHPExcel_Worksheet_SheetView */ - private $_sheetView; + private $sheetView; /** * Protection * * @var PHPExcel_Worksheet_Protection */ - private $_protection; + private $protection; /** * Collection of styles * * @var PHPExcel_Style[] */ - private $_styles = array(); + private $styles = array(); /** * Conditional styles. Indexed by cell coordinate, e.g. 'A1' * * @var array */ - private $_conditionalStylesCollection = array(); + private $conditionalStylesCollection = array(); /** * Is the current cell collection sorted already? * * @var boolean */ - private $_cellCollectionIsSorted = false; + private $cellCollectionIsSorted = false; /** * Collection of breaks * * @var array */ - private $_breaks = array(); + private $breaks = array(); /** * Collection of merged cell ranges * * @var array */ - private $_mergeCells = array(); + private $mergeCells = array(); /** * Collection of protected cell ranges * * @var array */ - private $_protectedCells = array(); + private $protectedCells = array(); /** * Autofilter Range and selection * * @var PHPExcel_Worksheet_AutoFilter */ - private $_autoFilter = NULL; + private $autoFilter; /** * Freeze pane * * @var string */ - private $_freezePane = ''; + private $freezePane = ''; /** * Show gridlines? * * @var boolean */ - private $_showGridlines = true; + private $showGridlines = true; /** * Print gridlines? * * @var boolean */ - private $_printGridlines = false; + private $printGridlines = false; /** * Show row and column headers? * * @var boolean */ - private $_showRowColHeaders = true; + private $showRowColHeaders = true; /** * Show summary below? (Row/Column outline) * * @var boolean */ - private $_showSummaryBelow = true; + private $showSummaryBelow = true; /** * Show summary right? (Row/Column outline) * * @var boolean */ - private $_showSummaryRight = true; + private $showSummaryRight = true; /** * Collection of comments * * @var PHPExcel_Comment[] */ - private $_comments = array(); + private $comments = array(); /** * Active cell. (Only one!) * * @var string */ - private $_activeCell = 'A1'; + private $activeCell = 'A1'; /** * Selected cells * * @var string */ - private $_selectedCells = 'A1'; + private $selectedCells = 'A1'; /** * Cached highest column * * @var string */ - private $_cachedHighestColumn = 'A'; + private $cachedHighestColumn = 'A'; /** * Cached highest row * * @var int */ - private $_cachedHighestRow = 1; + private $cachedHighestRow = 1; /** * Right-to-left? * * @var boolean */ - private $_rightToLeft = false; + private $rightToLeft = false; /** * Hyperlinks. Indexed by cell coordinate, e.g. 'A1' * * @var array */ - private $_hyperlinkCollection = array(); + private $hyperlinkCollection = array(); /** * Data validation objects. Indexed by cell coordinate, e.g. 'A1' * * @var array */ - private $_dataValidationCollection = array(); + private $dataValidationCollection = array(); /** * Tab color * * @var PHPExcel_Style_Color */ - private $_tabColor; + private $tabColor; /** * Dirty flag * * @var boolean */ - private $_dirty = true; + private $dirty = true; /** * Hash * * @var string */ - private $_hash = null; + private $hash; /** * CodeName * * @var string */ - private $_codeName = null; + private $codeName = null; - /** + /** * Create a new worksheet * * @param PHPExcel $pParent @@ -341,42 +333,32 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function __construct(PHPExcel $pParent = null, $pTitle = 'Worksheet') { // Set parent and title - $this->_parent = $pParent; - $this->setTitle($pTitle, FALSE); + $this->parent = $pParent; + $this->setTitle($pTitle, false); // setTitle can change $pTitle - $this->setCodeName($this->getTitle()); + $this->setCodeName($this->getTitle()); $this->setSheetState(PHPExcel_Worksheet::SHEETSTATE_VISIBLE); - $this->_cellCollection = PHPExcel_CachedObjectStorageFactory::getInstance($this); - + $this->cellCollection = PHPExcel_CachedObjectStorageFactory::getInstance($this); // Set page setup - $this->_pageSetup = new PHPExcel_Worksheet_PageSetup(); - + $this->pageSetup = new PHPExcel_Worksheet_PageSetup(); // Set page margins - $this->_pageMargins = new PHPExcel_Worksheet_PageMargins(); - + $this->pageMargins = new PHPExcel_Worksheet_PageMargins(); // Set page header/footer - $this->_headerFooter = new PHPExcel_Worksheet_HeaderFooter(); - + $this->headerFooter = new PHPExcel_Worksheet_HeaderFooter(); // Set sheet view - $this->_sheetView = new PHPExcel_Worksheet_SheetView(); - + $this->sheetView = new PHPExcel_Worksheet_SheetView(); // Drawing collection - $this->_drawingCollection = new ArrayObject(); - + $this->drawingCollection = new ArrayObject(); // Chart collection - $this->_chartCollection = new ArrayObject(); - + $this->chartCollection = new ArrayObject(); // Protection - $this->_protection = new PHPExcel_Worksheet_Protection(); - + $this->protection = new PHPExcel_Worksheet_Protection(); // Default row dimension - $this->_defaultRowDimension = new PHPExcel_Worksheet_RowDimension(NULL); - + $this->defaultRowDimension = new PHPExcel_Worksheet_RowDimension(null); // Default column dimension - $this->_defaultColumnDimension = new PHPExcel_Worksheet_ColumnDimension(NULL); - - $this->_autoFilter = new PHPExcel_Worksheet_AutoFilter(NULL, $this); + $this->defaultColumnDimension = new PHPExcel_Worksheet_ColumnDimension(null); + $this->autoFilter = new PHPExcel_Worksheet_AutoFilter(null, $this); } @@ -385,34 +367,36 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * typically so that the worksheet object can be unset * */ - public function disconnectCells() { - if ( $this->_cellCollection !== NULL){ - $this->_cellCollection->unsetWorksheetCells(); - $this->_cellCollection = NULL; - } + public function disconnectCells() + { + if ($this->cellCollection !== null) { + $this->cellCollection->unsetWorksheetCells(); + $this->cellCollection = null; + } // detach ourself from the workbook, so that it can then delete this worksheet successfully - $this->_parent = null; + $this->parent = null; } /** * Code to execute when this worksheet is unset() * */ - function __destruct() { - PHPExcel_Calculation::getInstance($this->_parent) - ->clearCalculationCacheForWorksheet($this->_title); + public function __destruct() + { + PHPExcel_Calculation::getInstance($this->parent)->clearCalculationCacheForWorksheet($this->title); - $this->disconnectCells(); - } + $this->disconnectCells(); + } /** * Return the cache controller for the cell collection * * @return PHPExcel_CachedObjectStorage_xxx */ - public function getCellCacheController() { - return $this->_cellCollection; - } // function getCellCacheController() + public function getCellCacheController() + { + return $this->cellCollection; + } /** @@ -422,7 +406,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public static function getInvalidCharacters() { - return self::$_invalidCharacters; + return self::$invalidCharacters; } /** @@ -432,24 +416,24 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @return string The valid string * @throws Exception */ - private static function _checkSheetCodeName($pValue) + private static function checkSheetCodeName($pValue) { $CharCount = PHPExcel_Shared_String::CountCharacters($pValue); if ($CharCount == 0) { throw new PHPExcel_Exception('Sheet code name cannot be empty.'); } // Some of the printable ASCII characters are invalid: * : / \ ? [ ] and first and last characters cannot be a "'" - if ((str_replace(self::$_invalidCharacters, '', $pValue) !== $pValue) || - (PHPExcel_Shared_String::Substring($pValue,-1,1)=='\'') || - (PHPExcel_Shared_String::Substring($pValue,0,1)=='\'')) { + if ((str_replace(self::$invalidCharacters, '', $pValue) !== $pValue) || + (PHPExcel_Shared_String::Substring($pValue, -1, 1)=='\'') || + (PHPExcel_Shared_String::Substring($pValue, 0, 1)=='\'')) { throw new PHPExcel_Exception('Invalid character found in sheet code name'); } - + // Maximum 31 characters allowed for sheet title if ($CharCount > 31) { throw new PHPExcel_Exception('Maximum 31 characters allowed in sheet code name.'); } - + return $pValue; } @@ -460,10 +444,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @return string The valid string * @throws PHPExcel_Exception */ - private static function _checkSheetTitle($pValue) + private static function checkSheetTitle($pValue) { // Some of the printable ASCII characters are invalid: * : / \ ? [ ] - if (str_replace(self::$_invalidCharacters, '', $pValue) !== $pValue) { + if (str_replace(self::$invalidCharacters, '', $pValue) !== $pValue) { throw new PHPExcel_Exception('Invalid character found in sheet title'); } @@ -487,8 +471,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Re-order cell collection return $this->sortCellCollection(); } - if ($this->_cellCollection !== NULL) { - return $this->_cellCollection->getCellList(); + if ($this->cellCollection !== null) { + return $this->cellCollection->getCellList(); } return array(); } @@ -500,8 +484,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function sortCellCollection() { - if ($this->_cellCollection !== NULL) { - return $this->_cellCollection->getSortedCellList(); + if ($this->cellCollection !== null) { + return $this->cellCollection->getSortedCellList(); } return array(); } @@ -513,7 +497,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getRowDimensions() { - return $this->_rowDimensions; + return $this->rowDimensions; } /** @@ -523,7 +507,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getDefaultRowDimension() { - return $this->_defaultRowDimension; + return $this->defaultRowDimension; } /** @@ -533,7 +517,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getColumnDimensions() { - return $this->_columnDimensions; + return $this->columnDimensions; } /** @@ -543,7 +527,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getDefaultColumnDimension() { - return $this->_defaultColumnDimension; + return $this->defaultColumnDimension; } /** @@ -553,7 +537,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getDrawingCollection() { - return $this->_drawingCollection; + return $this->drawingCollection; } /** @@ -563,7 +547,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getChartCollection() { - return $this->_chartCollection; + return $this->chartCollection; } /** @@ -577,10 +561,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable { $pChart->setWorksheet($this); if (is_null($iChartIndex)) { - $this->_chartCollection[] = $pChart; + $this->chartCollection[] = $pChart; } else { // Insert the chart at the requested index - array_splice($this->_chartCollection, $iChartIndex, 0, array($pChart)); + array_splice($this->chartCollection, $iChartIndex, 0, array($pChart)); } return $pChart; @@ -593,7 +577,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getChartCount() { - return count($this->_chartCollection); + return count($this->chartCollection); } /** @@ -605,18 +589,18 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getChartByIndex($index = null) { - $chartCount = count($this->_chartCollection); + $chartCount = count($this->chartCollection); if ($chartCount == 0) { return false; } if (is_null($index)) { $index = --$chartCount; } - if (!isset($this->_chartCollection[$index])) { + if (!isset($this->chartCollection[$index])) { return false; } - return $this->_chartCollection[$index]; + return $this->chartCollection[$index]; } /** @@ -628,7 +612,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getChartNames() { $chartNames = array(); - foreach($this->_chartCollection as $chart) { + foreach ($this->chartCollection as $chart) { $chartNames[] = $chart->getName(); } return $chartNames; @@ -643,13 +627,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getChartByName($chartName = '') { - $chartCount = count($this->_chartCollection); + $chartCount = count($this->chartCollection); if ($chartCount == 0) { return false; } - foreach($this->_chartCollection as $index => $chart) { + foreach ($this->chartCollection as $index => $chart) { if ($chart->getName() == $chartName) { - return $this->_chartCollection[$index]; + return $this->chartCollection[$index]; } } return false; @@ -669,7 +653,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $newColumnDimensions[$objColumnDimension->getColumnIndex()] = $objColumnDimension; } - $this->_columnDimensions = $newColumnDimensions; + $this->columnDimensions = $newColumnDimensions; return $this; } @@ -688,7 +672,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $newRowDimensions[$objRowDimension->getRowIndex()] = $objRowDimension; } - $this->_rowDimensions = $newRowDimensions; + $this->rowDimensions = $newRowDimensions; return $this; } @@ -733,7 +717,6 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // There is only something to do if there are some auto-size columns if (!empty($autoSizes)) { - // build list of cells references that participate in a merge $isMergeCell = array(); foreach ($this->getMergeCells() as $cells) { @@ -744,23 +727,23 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // loop through all cells in the worksheet foreach ($this->getCellCollection(false) as $cellID) { - $cell = $this->getCell($cellID); - if (isset($autoSizes[$this->_cellCollection->getCurrentColumn()])) { + $cell = $this->getCell($cellID, false); + if ($cell !== null && isset($autoSizes[$this->cellCollection->getCurrentColumn()])) { // Determine width if cell does not participate in a merge - if (!isset($isMergeCell[$this->_cellCollection->getCurrentAddress()])) { + if (!isset($isMergeCell[$this->cellCollection->getCurrentAddress()])) { // Calculated value // To formatted string - $cellValue = PHPExcel_Style_NumberFormat::toFormattedString( - $cell->getCalculatedValue(), - $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode() - ); + $cellValue = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getCalculatedValue(), + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode() + ); - $autoSizes[$this->_cellCollection->getCurrentColumn()] = max( - (float) $autoSizes[$this->_cellCollection->getCurrentColumn()], + $autoSizes[$this->cellCollection->getCurrentColumn()] = max( + (float) $autoSizes[$this->cellCollection->getCurrentColumn()], (float)PHPExcel_Shared_Font::calculateColumnWidth( - $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont(), + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont(), $cellValue, - $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getAlignment()->getTextRotation(), + $this->getParent()->getCellXfByIndex($cell->getXfIndex())->getAlignment()->getTextRotation(), $this->getDefaultStyle()->getFont() ) ); @@ -770,7 +753,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // adjust column widths foreach ($autoSizes as $columnIndex => $width) { - if ($width == -1) $width = $this->getDefaultColumnDimension()->getWidth(); + if ($width == -1) { + $width = $this->getDefaultColumnDimension()->getWidth(); + } $this->getColumnDimension($columnIndex)->setWidth($width); } } @@ -783,8 +768,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return PHPExcel */ - public function getParent() { - return $this->_parent; + public function getParent() + { + return $this->parent; } /** @@ -793,18 +779,19 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param PHPExcel $parent * @return PHPExcel_Worksheet */ - public function rebindParent(PHPExcel $parent) { - if ($this->_parent !== null) { - $namedRanges = $this->_parent->getNamedRanges(); + public function rebindParent(PHPExcel $parent) + { + if ($this->parent !== null) { + $namedRanges = $this->parent->getNamedRanges(); foreach ($namedRanges as $namedRange) { $parent->addNamedRange($namedRange); } - $this->_parent->removeSheetByIndex( - $this->_parent->getIndex($this) + $this->parent->removeSheetByIndex( + $this->parent->getIndex($this) ); } - $this->_parent = $parent; + $this->parent = $parent; return $this; } @@ -816,7 +803,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getTitle() { - return $this->_title; + return $this->title; } /** @@ -824,7 +811,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @param string $pValue String containing the dimension of this worksheet * @param string $updateFormulaCellReferences boolean Flag indicating whether cell references in formulae should - * be updated to reflect the new sheet name. + * be updated to reflect the new sheet name. * This should be left as the default true, unless you are * certain that no formula cells on any worksheet contain * references to this worksheet @@ -838,49 +825,50 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable } // Syntax check - self::_checkSheetTitle($pValue); + self::checkSheetTitle($pValue); // Old title $oldTitle = $this->getTitle(); - if ($this->_parent) { + if ($this->parent) { // Is there already such sheet name? - if ($this->_parent->sheetNameExists($pValue)) { + if ($this->parent->sheetNameExists($pValue)) { // Use name, but append with lowest possible integer if (PHPExcel_Shared_String::CountCharacters($pValue) > 29) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,29); + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 29); } $i = 1; - while ($this->_parent->sheetNameExists($pValue . ' ' . $i)) { + while ($this->parent->sheetNameExists($pValue . ' ' . $i)) { ++$i; if ($i == 10) { if (PHPExcel_Shared_String::CountCharacters($pValue) > 28) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,28); + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 28); } } elseif ($i == 100) { if (PHPExcel_Shared_String::CountCharacters($pValue) > 27) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,27); + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 27); } } } $altTitle = $pValue . ' ' . $i; - return $this->setTitle($altTitle,$updateFormulaCellReferences); + return $this->setTitle($altTitle, $updateFormulaCellReferences); } } // Set title - $this->_title = $pValue; - $this->_dirty = true; + $this->title = $pValue; + $this->dirty = true; - if ($this->_parent) { + if ($this->parent && $this->parent->getCalculationEngine()) { // New title $newTitle = $this->getTitle(); - PHPExcel_Calculation::getInstance($this->_parent) - ->renameCalculationCacheForWorksheet($oldTitle, $newTitle); - if ($updateFormulaCellReferences) - PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->_parent, $oldTitle, $newTitle); + $this->parent->getCalculationEngine() + ->renameCalculationCacheForWorksheet($oldTitle, $newTitle); + if ($updateFormulaCellReferences) { + PHPExcel_ReferenceHelper::getInstance()->updateNamedFormulas($this->parent, $oldTitle, $newTitle); + } } return $this; @@ -891,8 +879,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return string Sheet state (visible, hidden, veryHidden) */ - public function getSheetState() { - return $this->_sheetState; + public function getSheetState() + { + return $this->sheetState; } /** @@ -901,8 +890,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param string $value Sheet state (visible, hidden, veryHidden) * @return PHPExcel_Worksheet */ - public function setSheetState($value = PHPExcel_Worksheet::SHEETSTATE_VISIBLE) { - $this->_sheetState = $value; + public function setSheetState($value = PHPExcel_Worksheet::SHEETSTATE_VISIBLE) + { + $this->sheetState = $value; return $this; } @@ -913,7 +903,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getPageSetup() { - return $this->_pageSetup; + return $this->pageSetup; } /** @@ -924,7 +914,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setPageSetup(PHPExcel_Worksheet_PageSetup $pValue) { - $this->_pageSetup = $pValue; + $this->pageSetup = $pValue; return $this; } @@ -935,7 +925,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getPageMargins() { - return $this->_pageMargins; + return $this->pageMargins; } /** @@ -946,7 +936,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setPageMargins(PHPExcel_Worksheet_PageMargins $pValue) { - $this->_pageMargins = $pValue; + $this->pageMargins = $pValue; return $this; } @@ -957,7 +947,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getHeaderFooter() { - return $this->_headerFooter; + return $this->headerFooter; } /** @@ -968,7 +958,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setHeaderFooter(PHPExcel_Worksheet_HeaderFooter $pValue) { - $this->_headerFooter = $pValue; + $this->headerFooter = $pValue; return $this; } @@ -979,7 +969,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getSheetView() { - return $this->_sheetView; + return $this->sheetView; } /** @@ -990,7 +980,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setSheetView(PHPExcel_Worksheet_SheetView $pValue) { - $this->_sheetView = $pValue; + $this->sheetView = $pValue; return $this; } @@ -1001,7 +991,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getProtection() { - return $this->_protection; + return $this->protection; } /** @@ -1012,8 +1002,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setProtection(PHPExcel_Worksheet_Protection $pValue) { - $this->_protection = $pValue; - $this->_dirty = true; + $this->protection = $pValue; + $this->dirty = true; return $this; } @@ -1028,7 +1018,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getHighestColumn($row = null) { if ($row == null) { - return $this->_cachedHighestColumn; + return $this->cachedHighestColumn; } return $this->getHighestDataColumn($row); } @@ -1042,7 +1032,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getHighestDataColumn($row = null) { - return $this->_cellCollection->getHighestColumn($row); + return $this->cellCollection->getHighestColumn($row); } /** @@ -1055,7 +1045,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getHighestRow($column = null) { if ($column == null) { - return $this->_cachedHighestRow; + return $this->cachedHighestRow; } return $this->getHighestDataRow($column); } @@ -1069,7 +1059,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getHighestDataRow($column = null) { - return $this->_cellCollection->getHighestRow($column); + return $this->cellCollection->getHighestRow($column); } /** @@ -1079,7 +1069,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getHighestRowAndColumn() { - return $this->_cellCollection->getHighestRowAndColumn(); + return $this->cellCollection->getHighestRowAndColumn(); } /** @@ -1147,30 +1137,31 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * Get cell at a specific coordinate * * @param string $pCoordinate Coordinate of the cell + * @param boolean $createIfNotExists Flag indicating whether a new cell should be created if it doesn't + * already exist, or a null should be returned instead * @throws PHPExcel_Exception - * @return PHPExcel_Cell Cell that was found + * @return null|PHPExcel_Cell Cell that was found/created or null */ - public function getCell($pCoordinate = 'A1') + public function getCell($pCoordinate = 'A1', $createIfNotExists = true) { - $pCoordinate = strtoupper($pCoordinate); // Check cell collection - if ($this->_cellCollection->isDataSet($pCoordinate)) { - return $this->_cellCollection->getCacheData($pCoordinate); + if ($this->cellCollection->isDataSet(strtoupper($pCoordinate))) { + return $this->cellCollection->getCacheData($pCoordinate); } // Worksheet reference? if (strpos($pCoordinate, '!') !== false) { $worksheetReference = PHPExcel_Worksheet::extractSheetTitle($pCoordinate, true); - return $this->_parent->getSheetByName($worksheetReference[0])->getCell($worksheetReference[1]); + return $this->parent->getSheetByName($worksheetReference[0])->getCell(strtoupper($worksheetReference[1]), $createIfNotExists); } // Named range? if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $pCoordinate, $matches)) && (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $pCoordinate, $matches))) { $namedRange = PHPExcel_NamedRange::resolveRange($pCoordinate, $this); - if ($namedRange !== NULL) { + if ($namedRange !== null) { $pCoordinate = $namedRange->getRange(); - return $namedRange->getWorksheet()->getCell($pCoordinate); + return $namedRange->getWorksheet()->getCell($pCoordinate, $createIfNotExists); } } @@ -1183,27 +1174,30 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); } - // Create new cell object - return $this->_createNewCell($pCoordinate); + // Create new cell object, if required + return $createIfNotExists ? $this->createNewCell($pCoordinate) : null; } /** * Get cell at a specific coordinate by using numeric cell coordinates * - * @param string $pColumn Numeric column coordinate of the cell + * @param string $pColumn Numeric column coordinate of the cell (starting from 0) * @param string $pRow Numeric row coordinate of the cell - * @return PHPExcel_Cell Cell that was found + * @param boolean $createIfNotExists Flag indicating whether a new cell should be created if it doesn't + * already exist, or a null should be returned instead + * @return null|PHPExcel_Cell Cell that was found/created or null */ - public function getCellByColumnAndRow($pColumn = 0, $pRow = 1) + public function getCellByColumnAndRow($pColumn = 0, $pRow = 1, $createIfNotExists = true) { $columnLetter = PHPExcel_Cell::stringFromColumnIndex($pColumn); $coordinate = $columnLetter . $pRow; - if ($this->_cellCollection->isDataSet($coordinate)) { - return $this->_cellCollection->getCacheData($coordinate); + if ($this->cellCollection->isDataSet($coordinate)) { + return $this->cellCollection->getCacheData($coordinate); } - return $this->_createNewCell($coordinate); + // Create new cell object, if required + return $createIfNotExists ? $this->createNewCell($coordinate) : null; } /** @@ -1212,40 +1206,37 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param string $pCoordinate Coordinate of the cell * @return PHPExcel_Cell Cell that was created */ - private function _createNewCell($pCoordinate) - { - $cell = $this->_cellCollection->addCacheData( - $pCoordinate, - new PHPExcel_Cell( - NULL, - PHPExcel_Cell_DataType::TYPE_NULL, - $this - ) - ); - $this->_cellCollectionIsSorted = false; + private function createNewCell($pCoordinate) + { + $cell = $this->cellCollection->addCacheData( + $pCoordinate, + new PHPExcel_Cell(null, PHPExcel_Cell_DataType::TYPE_NULL, $this) + ); + $this->cellCollectionIsSorted = false; // Coordinates $aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate); - if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($aCoordinates[0])) - $this->_cachedHighestColumn = $aCoordinates[0]; - $this->_cachedHighestRow = max($this->_cachedHighestRow, $aCoordinates[1]); + if (PHPExcel_Cell::columnIndexFromString($this->cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($aCoordinates[0])) { + $this->cachedHighestColumn = $aCoordinates[0]; + } + $this->cachedHighestRow = max($this->cachedHighestRow, $aCoordinates[1]); // Cell needs appropriate xfIndex from dimensions records - // but don't create dimension records if they don't already exist - $rowDimension = $this->getRowDimension($aCoordinates[1], FALSE); - $columnDimension = $this->getColumnDimension($aCoordinates[0], FALSE); + // but don't create dimension records if they don't already exist + $rowDimension = $this->getRowDimension($aCoordinates[1], false); + $columnDimension = $this->getColumnDimension($aCoordinates[0], false); - if ($rowDimension !== NULL && $rowDimension->getXfIndex() > 0) { + if ($rowDimension !== null && $rowDimension->getXfIndex() > 0) { // then there is a row dimension with explicit style, assign it to the cell $cell->setXfIndex($rowDimension->getXfIndex()); - } elseif ($columnDimension !== NULL && $columnDimension->getXfIndex() > 0) { + } elseif ($columnDimension !== null && $columnDimension->getXfIndex() > 0) { // then there is a column dimension, assign it to the cell $cell->setXfIndex($columnDimension->getXfIndex()); } return $cell; - } - + } + /** * Does the cell at a specific coordinate exist? * @@ -1258,14 +1249,14 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Worksheet reference? if (strpos($pCoordinate, '!') !== false) { $worksheetReference = PHPExcel_Worksheet::extractSheetTitle($pCoordinate, true); - return $this->_parent->getSheetByName($worksheetReference[0])->cellExists(strtoupper($worksheetReference[1])); + return $this->parent->getSheetByName($worksheetReference[0])->cellExists(strtoupper($worksheetReference[1])); } // Named range? if ((!preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_CELLREF.'$/i', $pCoordinate, $matches)) && (preg_match('/^'.PHPExcel_Calculation::CALCULATION_REGEXP_NAMEDRANGE.'$/i', $pCoordinate, $matches))) { $namedRange = PHPExcel_NamedRange::resolveRange($pCoordinate, $this); - if ($namedRange !== NULL) { + if ($namedRange !== null) { $pCoordinate = $namedRange->getRange(); if ($this->getHashCode() != $namedRange->getWorksheet()->getHashCode()) { if (!$namedRange->getLocalOnly()) { @@ -1274,23 +1265,24 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable throw new PHPExcel_Exception('Named range ' . $namedRange->getName() . ' is not accessible from within sheet ' . $this->getTitle()); } } + } else { + return false; } - else { return false; } } // Uppercase coordinate $pCoordinate = strtoupper($pCoordinate); - if (strpos($pCoordinate,':') !== false || strpos($pCoordinate,',') !== false) { + if (strpos($pCoordinate, ':') !== false || strpos($pCoordinate, ',') !== false) { throw new PHPExcel_Exception('Cell coordinate can not be a range of cells.'); - } elseif (strpos($pCoordinate,'$') !== false) { + } elseif (strpos($pCoordinate, '$') !== false) { throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); } else { // Coordinates $aCoordinates = PHPExcel_Cell::coordinateFromString($pCoordinate); // Cell exists? - return $this->_cellCollection->isDataSet($pCoordinate); + return $this->cellCollection->isDataSet($pCoordinate); } } @@ -1312,20 +1304,21 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param int $pRow Numeric index of the row * @return PHPExcel_Worksheet_RowDimension */ - public function getRowDimension($pRow = 1, $create = TRUE) + public function getRowDimension($pRow = 1, $create = true) { // Found $found = null; // Get row dimension - if (!isset($this->_rowDimensions[$pRow])) { - if (!$create) - return NULL; - $this->_rowDimensions[$pRow] = new PHPExcel_Worksheet_RowDimension($pRow); + if (!isset($this->rowDimensions[$pRow])) { + if (!$create) { + return null; + } + $this->rowDimensions[$pRow] = new PHPExcel_Worksheet_RowDimension($pRow); - $this->_cachedHighestRow = max($this->_cachedHighestRow,$pRow); + $this->cachedHighestRow = max($this->cachedHighestRow, $pRow); } - return $this->_rowDimensions[$pRow]; + return $this->rowDimensions[$pRow]; } /** @@ -1334,21 +1327,23 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param string $pColumn String index of the column * @return PHPExcel_Worksheet_ColumnDimension */ - public function getColumnDimension($pColumn = 'A', $create = TRUE) + public function getColumnDimension($pColumn = 'A', $create = true) { // Uppercase coordinate $pColumn = strtoupper($pColumn); // Fetch dimensions - if (!isset($this->_columnDimensions[$pColumn])) { - if (!$create) - return NULL; - $this->_columnDimensions[$pColumn] = new PHPExcel_Worksheet_ColumnDimension($pColumn); + if (!isset($this->columnDimensions[$pColumn])) { + if (!$create) { + return null; + } + $this->columnDimensions[$pColumn] = new PHPExcel_Worksheet_ColumnDimension($pColumn); - if (PHPExcel_Cell::columnIndexFromString($this->_cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($pColumn)) - $this->_cachedHighestColumn = $pColumn; + if (PHPExcel_Cell::columnIndexFromString($this->cachedHighestColumn) < PHPExcel_Cell::columnIndexFromString($pColumn)) { + $this->cachedHighestColumn = $pColumn; + } } - return $this->_columnDimensions[$pColumn]; + return $this->columnDimensions[$pColumn]; } /** @@ -1369,7 +1364,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getStyles() { - return $this->_styles; + return $this->styles; } /** @@ -1381,7 +1376,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getDefaultStyle() { - return $this->_parent->getDefaultStyle(); + return $this->parent->getDefaultStyle(); } /** @@ -1394,7 +1389,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setDefaultStyle(PHPExcel_Style $pValue) { - $this->_parent->getDefaultStyle()->applyFromArray(array( + $this->parent->getDefaultStyle()->applyFromArray(array( 'font' => array( 'name' => $pValue->getFont()->getName(), 'size' => $pValue->getFont()->getSize(), @@ -1413,12 +1408,12 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getStyle($pCellCoordinate = 'A1') { // set this sheet as active - $this->_parent->setActiveSheetIndex($this->_parent->getIndex($this)); + $this->parent->setActiveSheetIndex($this->parent->getIndex($this)); // set cell coordinate as active $this->setSelectedCells(strtoupper($pCellCoordinate)); - return $this->_parent->getCellXfSupervisor(); + return $this->parent->getCellXfSupervisor(); } /** @@ -1430,10 +1425,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getConditionalStyles($pCoordinate = 'A1') { $pCoordinate = strtoupper($pCoordinate); - if (!isset($this->_conditionalStylesCollection[$pCoordinate])) { - $this->_conditionalStylesCollection[$pCoordinate] = array(); + if (!isset($this->conditionalStylesCollection[$pCoordinate])) { + $this->conditionalStylesCollection[$pCoordinate] = array(); } - return $this->_conditionalStylesCollection[$pCoordinate]; + return $this->conditionalStylesCollection[$pCoordinate]; } /** @@ -1444,7 +1439,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function conditionalStylesExists($pCoordinate = 'A1') { - if (isset($this->_conditionalStylesCollection[strtoupper($pCoordinate)])) { + if (isset($this->conditionalStylesCollection[strtoupper($pCoordinate)])) { return true; } return false; @@ -1458,7 +1453,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function removeConditionalStyles($pCoordinate = 'A1') { - unset($this->_conditionalStylesCollection[strtoupper($pCoordinate)]); + unset($this->conditionalStylesCollection[strtoupper($pCoordinate)]); return $this; } @@ -1469,7 +1464,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getConditionalStylesCollection() { - return $this->_conditionalStylesCollection; + return $this->conditionalStylesCollection; } /** @@ -1481,7 +1476,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setConditionalStyles($pCoordinate = 'A1', $pValue) { - $this->_conditionalStylesCollection[strtoupper($pCoordinate)] = $pValue; + $this->conditionalStylesCollection[strtoupper($pCoordinate)] = $pValue; return $this; } @@ -1497,10 +1492,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getStyleByColumnAndRow($pColumn = 0, $pRow = 1, $pColumn2 = null, $pRow2 = null) { if (!is_null($pColumn2) && !is_null($pRow2)) { - $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow . ':' . - PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; - return $this->getStyle($cellRange); - } + $cellRange = PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow . ':' . PHPExcel_Cell::stringFromColumnIndex($pColumn2) . $pRow2; + return $this->getStyle($cellRange); + } return $this->getStyle(PHPExcel_Cell::stringFromColumnIndex($pColumn) . $pRow); } @@ -1538,8 +1532,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $style = $pCellStyle->getIsSupervisor() ? $pCellStyle->getSharedComponent() : $pCellStyle; // Add the style to the workbook if necessary - $workbook = $this->_parent; - if ($existingStyle = $this->_parent->getCellXfByHashCode($pCellStyle->getHashCode())) { + $workbook = $this->parent; + if ($existingStyle = $this->parent->getCellXfByHashCode($pCellStyle->getHashCode())) { // there is already such cell Xf in our collection $xfIndex = $existingStyle->getIndex(); } else { @@ -1573,14 +1567,14 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * Please note that this will overwrite existing cell styles for cells in range! * - * @param array of PHPExcel_Style_Conditional $pCellStyle Cell style to duplicate + * @param array of PHPExcel_Style_Conditional $pCellStyle Cell style to duplicate * @param string $pRange Range of cells (i.e. "A1:B10"), or just one cell (i.e. "A1") * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ public function duplicateConditionalStyle(array $pCellStyle = null, $pRange = '') { - foreach($pCellStyle as $cellStyle) { + foreach ($pCellStyle as $cellStyle) { if (!($cellStyle instanceof PHPExcel_Style_Conditional)) { throw new PHPExcel_Exception('Style is not a conditional style'); } @@ -1640,13 +1634,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $pCell = strtoupper($pCell); if ($pCell != '') { - if ($pBreak == PHPExcel_Worksheet::BREAK_NONE) { - if (isset($this->_breaks[$pCell])) { - unset($this->_breaks[$pCell]); - } - } else { - $this->_breaks[$pCell] = $pBreak; - } + if ($pBreak == PHPExcel_Worksheet::BREAK_NONE) { + if (isset($this->breaks[$pCell])) { + unset($this->breaks[$pCell]); + } + } else { + $this->breaks[$pCell] = $pBreak; + } } else { throw new PHPExcel_Exception('No cell coordinate specified.'); } @@ -1674,7 +1668,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getBreaks() { - return $this->_breaks; + return $this->breaks; } /** @@ -1689,8 +1683,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Uppercase coordinate $pRange = strtoupper($pRange); - if (strpos($pRange,':') !== false) { - $this->_mergeCells[$pRange] = $pRange; + if (strpos($pRange, ':') !== false) { + $this->mergeCells[$pRange] = $pRange; // make sure cells are created @@ -1703,12 +1697,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $this->getCell($upperLeft)->setValueExplicit(null, PHPExcel_Cell_DataType::TYPE_NULL); } - // create or blank out the rest of the cells in the range + // Blank out the rest of the cells in the range (if they exist) $count = count($aReferences); for ($i = 1; $i < $count; $i++) { - $this->getCell($aReferences[$i])->setValueExplicit(null, PHPExcel_Cell_DataType::TYPE_NULL); + if ($this->cellExists($aReferences[$i])) { + $this->getCell($aReferences[$i])->setValueExplicit(null, PHPExcel_Cell_DataType::TYPE_NULL); + } } - } else { throw new PHPExcel_Exception('Merge must be set on a range of cells.'); } @@ -1744,9 +1739,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Uppercase coordinate $pRange = strtoupper($pRange); - if (strpos($pRange,':') !== false) { - if (isset($this->_mergeCells[$pRange])) { - unset($this->_mergeCells[$pRange]); + if (strpos($pRange, ':') !== false) { + if (isset($this->mergeCells[$pRange])) { + unset($this->mergeCells[$pRange]); } else { throw new PHPExcel_Exception('Cell range ' . $pRange . ' not known as merged.'); } @@ -1780,7 +1775,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getMergeCells() { - return $this->_mergeCells; + return $this->mergeCells; } /** @@ -1791,8 +1786,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function setMergeCells($pValue = array()) { - $this->_mergeCells = $pValue; - + $this->mergeCells = $pValue; return $this; } @@ -1813,7 +1807,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable if (!$pAlreadyHashed) { $pPassword = PHPExcel_Shared_PasswordHasher::hashPassword($pPassword); } - $this->_protectedCells[$pRange] = $pPassword; + $this->protectedCells[$pRange] = $pPassword; return $this; } @@ -1848,8 +1842,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Uppercase coordinate $pRange = strtoupper($pRange); - if (isset($this->_protectedCells[$pRange])) { - unset($this->_protectedCells[$pRange]); + if (isset($this->protectedCells[$pRange])) { + unset($this->protectedCells[$pRange]); } else { throw new PHPExcel_Exception('Cell range ' . $pRange . ' not known as protected.'); } @@ -1881,7 +1875,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getProtectedCells() { - return $this->_protectedCells; + return $this->protectedCells; } /** @@ -1891,7 +1885,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getAutoFilter() { - return $this->_autoFilter; + return $this->autoFilter; } /** @@ -1905,11 +1899,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function setAutoFilter($pValue) { $pRange = strtoupper($pValue); - if (is_string($pValue)) { - $this->_autoFilter->setRange($pValue); - } elseif(is_object($pValue) && ($pValue instanceof PHPExcel_Worksheet_AutoFilter)) { - $this->_autoFilter = $pValue; + $this->autoFilter->setRange($pValue); + } elseif (is_object($pValue) && ($pValue instanceof PHPExcel_Worksheet_AutoFilter)) { + $this->autoFilter = $pValue; } return $this; } @@ -1940,7 +1933,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function removeAutoFilter() { - $this->_autoFilter->setRange(NULL); + $this->autoFilter->setRange(null); return $this; } @@ -1951,7 +1944,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getFreezePane() { - return $this->_freezePane; + return $this->freezePane; } /** @@ -1970,9 +1963,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable { // Uppercase coordinate $pCell = strtoupper($pCell); - - if (strpos($pCell,':') === false && strpos($pCell,',') === false) { - $this->_freezePane = $pCell; + if (strpos($pCell, ':') === false && strpos($pCell, ',') === false) { + $this->freezePane = $pCell; } else { throw new PHPExcel_Exception('Freeze pane can not be set on a range of cells.'); } @@ -2010,7 +2002,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function insertNewRowBefore($pBefore = 1, $pNumRows = 1) { + public function insertNewRowBefore($pBefore = 1, $pNumRows = 1) + { if ($pBefore >= 1) { $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); $objReferenceHelper->insertNewBefore('A' . $pBefore, 0, $pNumRows, $this); @@ -2028,7 +2021,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function insertNewColumnBefore($pBefore = 'A', $pNumCols = 1) { + public function insertNewColumnBefore($pBefore = 'A', $pNumCols = 1) + { if (!is_numeric($pBefore)) { $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); $objReferenceHelper->insertNewBefore($pBefore . '1', $pNumCols, 0, $this); @@ -2046,7 +2040,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function insertNewColumnBeforeByIndex($pBefore = 0, $pNumCols = 1) { + public function insertNewColumnBeforeByIndex($pBefore = 0, $pNumCols = 1) + { if ($pBefore >= 0) { return $this->insertNewColumnBefore(PHPExcel_Cell::stringFromColumnIndex($pBefore), $pNumCols); } else { @@ -2062,12 +2057,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function removeRow($pRow = 1, $pNumRows = 1) { + public function removeRow($pRow = 1, $pNumRows = 1) + { if ($pRow >= 1) { $highestRow = $this->getHighestDataRow(); $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); $objReferenceHelper->insertNewBefore('A' . ($pRow + $pNumRows), 0, -$pNumRows, $this); - for($r = 0; $r < $pNumRows; ++$r) { + for ($r = 0; $r < $pNumRows; ++$r) { $this->getCellCacheController()->removeRow($highestRow); --$highestRow; } @@ -2085,13 +2081,14 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function removeColumn($pColumn = 'A', $pNumCols = 1) { + public function removeColumn($pColumn = 'A', $pNumCols = 1) + { if (!is_numeric($pColumn)) { $highestColumn = $this->getHighestDataColumn(); $pColumn = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($pColumn) - 1 + $pNumCols); $objReferenceHelper = PHPExcel_ReferenceHelper::getInstance(); $objReferenceHelper->insertNewBefore($pColumn . '1', -$pNumCols, 0, $this); - for($c = 0; $c < $pNumCols; ++$c) { + for ($c = 0; $c < $pNumCols; ++$c) { $this->getCellCacheController()->removeColumn($highestColumn); $highestColumn = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::columnIndexFromString($highestColumn) - 2); } @@ -2109,7 +2106,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function removeColumnByIndex($pColumn = 0, $pNumCols = 1) { + public function removeColumnByIndex($pColumn = 0, $pNumCols = 1) + { if ($pColumn >= 0) { return $this->removeColumn(PHPExcel_Cell::stringFromColumnIndex($pColumn), $pNumCols); } else { @@ -2122,8 +2120,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getShowGridlines() { - return $this->_showGridlines; + public function getShowGridlines() + { + return $this->showGridlines; } /** @@ -2132,8 +2131,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $pValue Show gridlines (true/false) * @return PHPExcel_Worksheet */ - public function setShowGridlines($pValue = false) { - $this->_showGridlines = $pValue; + public function setShowGridlines($pValue = false) + { + $this->showGridlines = $pValue; return $this; } @@ -2142,8 +2142,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getPrintGridlines() { - return $this->_printGridlines; + public function getPrintGridlines() + { + return $this->printGridlines; } /** @@ -2152,8 +2153,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $pValue Print gridlines (true/false) * @return PHPExcel_Worksheet */ - public function setPrintGridlines($pValue = false) { - $this->_printGridlines = $pValue; + public function setPrintGridlines($pValue = false) + { + $this->printGridlines = $pValue; return $this; } @@ -2162,8 +2164,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getShowRowColHeaders() { - return $this->_showRowColHeaders; + public function getShowRowColHeaders() + { + return $this->showRowColHeaders; } /** @@ -2172,8 +2175,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $pValue Show row and column headers (true/false) * @return PHPExcel_Worksheet */ - public function setShowRowColHeaders($pValue = false) { - $this->_showRowColHeaders = $pValue; + public function setShowRowColHeaders($pValue = false) + { + $this->showRowColHeaders = $pValue; return $this; } @@ -2182,8 +2186,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getShowSummaryBelow() { - return $this->_showSummaryBelow; + public function getShowSummaryBelow() + { + return $this->showSummaryBelow; } /** @@ -2192,8 +2197,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $pValue Show summary below (true/false) * @return PHPExcel_Worksheet */ - public function setShowSummaryBelow($pValue = true) { - $this->_showSummaryBelow = $pValue; + public function setShowSummaryBelow($pValue = true) + { + $this->showSummaryBelow = $pValue; return $this; } @@ -2202,8 +2208,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getShowSummaryRight() { - return $this->_showSummaryRight; + public function getShowSummaryRight() + { + return $this->showSummaryRight; } /** @@ -2212,8 +2219,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $pValue Show summary right (true/false) * @return PHPExcel_Worksheet */ - public function setShowSummaryRight($pValue = true) { - $this->_showSummaryRight = $pValue; + public function setShowSummaryRight($pValue = true) + { + $this->showSummaryRight = $pValue; return $this; } @@ -2224,18 +2232,18 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getComments() { - return $this->_comments; + return $this->comments; } /** * Set comments array for the entire sheet. * - * @param array of PHPExcel_Comment + * @param array of PHPExcel_Comment * @return PHPExcel_Worksheet */ public function setComments($pValue = array()) { - $this->_comments = $pValue; + $this->comments = $pValue; return $this; } @@ -2252,20 +2260,20 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Uppercase coordinate $pCellCoordinate = strtoupper($pCellCoordinate); - if (strpos($pCellCoordinate,':') !== false || strpos($pCellCoordinate,',') !== false) { + if (strpos($pCellCoordinate, ':') !== false || strpos($pCellCoordinate, ',') !== false) { throw new PHPExcel_Exception('Cell coordinate string can not be a range of cells.'); - } else if (strpos($pCellCoordinate,'$') !== false) { + } elseif (strpos($pCellCoordinate, '$') !== false) { throw new PHPExcel_Exception('Cell coordinate string must not be absolute.'); - } else if ($pCellCoordinate == '') { + } elseif ($pCellCoordinate == '') { throw new PHPExcel_Exception('Cell coordinate can not be zero-length string.'); } else { // Check if we already have a comment for this cell. // If not, create a new comment. - if (isset($this->_comments[$pCellCoordinate])) { - return $this->_comments[$pCellCoordinate]; + if (isset($this->comments[$pCellCoordinate])) { + return $this->comments[$pCellCoordinate]; } else { $newComment = new PHPExcel_Comment(); - $this->_comments[$pCellCoordinate] = $newComment; + $this->comments[$pCellCoordinate] = $newComment; return $newComment; } } @@ -2301,7 +2309,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getActiveCell() { - return $this->_activeCell; + return $this->activeCell; } /** @@ -2311,7 +2319,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getSelectedCells() { - return $this->_selectedCells; + return $this->selectedCells; } /** @@ -2349,13 +2357,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Convert '1:3' to 'A1:XFD3' $pCoordinate = preg_replace('/^([0-9]+):([0-9]+)$/', 'A${1}:XFD${2}', $pCoordinate); - if (strpos($pCoordinate,':') !== false || strpos($pCoordinate,',') !== false) { + if (strpos($pCoordinate, ':') !== false || strpos($pCoordinate, ',') !== false) { list($first, ) = PHPExcel_Cell::splitRange($pCoordinate); - $this->_activeCell = $first[0]; + $this->activeCell = $first[0]; } else { - $this->_activeCell = $pCoordinate; + $this->activeCell = $pCoordinate; } - $this->_selectedCells = $pCoordinate; + $this->selectedCells = $pCoordinate; return $this; } @@ -2377,8 +2385,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return boolean */ - public function getRightToLeft() { - return $this->_rightToLeft; + public function getRightToLeft() + { + return $this->rightToLeft; } /** @@ -2387,8 +2396,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param boolean $value Right-to-left true/false * @return PHPExcel_Worksheet */ - public function setRightToLeft($value = false) { - $this->_rightToLeft = $value; + public function setRightToLeft($value = false) + { + $this->rightToLeft = $value; return $this; } @@ -2402,7 +2412,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @throws PHPExcel_Exception * @return PHPExcel_Worksheet */ - public function fromArray($source = null, $nullValue = null, $startCell = 'A1', $strictNullComparison = false) { + public function fromArray($source = null, $nullValue = null, $startCell = 'A1', $strictNullComparison = false) + { if (is_array($source)) { // Convert a 1-D array to 2-D (for ease of looping) if (!is_array(end($source))) { @@ -2415,7 +2426,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // Loop through $source foreach ($source as $rowData) { $currentColumn = $startColumn; - foreach($rowData as $cellValue) { + foreach ($rowData as $cellValue) { if ($strictNullComparison) { if ($cellValue !== $nullValue) { // Set cell value @@ -2448,7 +2459,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * True - Return rows and columns indexed by their actual row and column IDs * @return array */ - public function rangeToArray($pRange = 'A1', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + public function rangeToArray($pRange = 'A1', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) + { // Returnvalue $returnValue = array(); // Identify the range that we need to extract from the worksheet @@ -2468,10 +2480,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable for ($col = $minCol; $col != $maxCol; ++$col) { $cRef = ($returnCellRef) ? $col : ++$c; // Using getCell() will create a new cell if it doesn't already exist. We don't want that to happen - // so we test and retrieve directly against _cellCollection - if ($this->_cellCollection->isDataSet($col.$row)) { + // so we test and retrieve directly against cellCollection + if ($this->cellCollection->isDataSet($col.$row)) { // Cell exists - $cell = $this->_cellCollection->getCacheData($col.$row); + $cell = $this->cellCollection->getCacheData($col.$row); if ($cell->getValue() !== null) { if ($cell->getValue() instanceof PHPExcel_RichText) { $returnValue[$rRef][$cRef] = $cell->getValue()->getPlainText(); @@ -2484,12 +2496,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable } if ($formatData) { - $style = $this->_parent->getCellXfByIndex($cell->getXfIndex()); + $style = $this->parent->getCellXfByIndex($cell->getXfIndex()); $returnValue[$rRef][$cRef] = PHPExcel_Style_NumberFormat::toFormattedString( - $returnValue[$rRef][$cRef], - ($style && $style->getNumberFormat()) ? - $style->getNumberFormat()->getFormatCode() : - PHPExcel_Style_NumberFormat::FORMAT_GENERAL + $returnValue[$rRef][$cRef], + ($style && $style->getNumberFormat()) ? $style->getNumberFormat()->getFormatCode() : PHPExcel_Style_NumberFormat::FORMAT_GENERAL ); } } else { @@ -2520,14 +2530,14 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @return array * @throws PHPExcel_Exception */ - public function namedRangeToArray($pNamedRange = '', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + public function namedRangeToArray($pNamedRange = '', $nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) + { $namedRange = PHPExcel_NamedRange::resolveRange($pNamedRange, $this); - if ($namedRange !== NULL) { + if ($namedRange !== null) { $pWorkSheet = $namedRange->getWorksheet(); $pCellRange = $namedRange->getRange(); - return $pWorkSheet->rangeToArray( $pCellRange, - $nullValue, $calculateFormulas, $formatData, $returnCellRef); + return $pWorkSheet->rangeToArray($pCellRange, $nullValue, $calculateFormulas, $formatData, $returnCellRef); } throw new PHPExcel_Exception('Named Range '.$pNamedRange.' does not exist.'); @@ -2544,7 +2554,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * True - Return rows and columns indexed by their actual row and column IDs * @return array */ - public function toArray($nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) { + public function toArray($nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false) + { // Garbage collect... $this->garbageCollect(); @@ -2552,8 +2563,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable $maxCol = $this->getHighestColumn(); $maxRow = $this->getHighestRow(); // Return - return $this->rangeToArray( 'A1:'.$maxCol.$maxRow, - $nullValue, $calculateFormulas, $formatData, $returnCellRef); + return $this->rangeToArray('A1:'.$maxCol.$maxRow, $nullValue, $calculateFormulas, $formatData, $returnCellRef); } /** @@ -2564,7 +2574,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return PHPExcel_Worksheet_RowIterator */ - public function getRowIterator($startRow = 1, $endRow = null) { + public function getRowIterator($startRow = 1, $endRow = null) + { return new PHPExcel_Worksheet_RowIterator($this, $startRow, $endRow); } @@ -2576,7 +2587,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return PHPExcel_Worksheet_ColumnIterator */ - public function getColumnIterator($startColumn = 'A', $endColumn = null) { + public function getColumnIterator($startColumn = 'A', $endColumn = null) + { return new PHPExcel_Worksheet_ColumnIterator($this, $startColumn, $endColumn); } @@ -2585,9 +2597,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return PHPExcel_Worksheet */ - public function garbageCollect() { + public function garbageCollect() + { // Flush cache - $this->_cellCollection->getCacheData('A1'); + $this->cellCollection->getCacheData('A1'); // Build a reference table from images // $imageCoordinates = array(); // $iterator = $this->getDrawingCollection()->getIterator(); @@ -2598,27 +2611,27 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable // } // // Lookup highest column and highest row if cells are cleaned - $colRow = $this->_cellCollection->getHighestRowAndColumn(); + $colRow = $this->cellCollection->getHighestRowAndColumn(); $highestRow = $colRow['row']; $highestColumn = PHPExcel_Cell::columnIndexFromString($colRow['column']); // Loop through column dimensions - foreach ($this->_columnDimensions as $dimension) { - $highestColumn = max($highestColumn,PHPExcel_Cell::columnIndexFromString($dimension->getColumnIndex())); + foreach ($this->columnDimensions as $dimension) { + $highestColumn = max($highestColumn, PHPExcel_Cell::columnIndexFromString($dimension->getColumnIndex())); } // Loop through row dimensions - foreach ($this->_rowDimensions as $dimension) { - $highestRow = max($highestRow,$dimension->getRowIndex()); + foreach ($this->rowDimensions as $dimension) { + $highestRow = max($highestRow, $dimension->getRowIndex()); } // Cache values if ($highestColumn < 0) { - $this->_cachedHighestColumn = 'A'; + $this->cachedHighestColumn = 'A'; } else { - $this->_cachedHighestColumn = PHPExcel_Cell::stringFromColumnIndex(--$highestColumn); + $this->cachedHighestColumn = PHPExcel_Cell::stringFromColumnIndex(--$highestColumn); } - $this->_cachedHighestRow = $highestRow; + $this->cachedHighestRow = $highestRow; // Return return $this; @@ -2629,16 +2642,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return string Hash code */ - public function getHashCode() { - if ($this->_dirty) { - $this->_hash = md5( $this->_title . - $this->_autoFilter . - ($this->_protection->isProtectionEnabled() ? 't' : 'f') . - __CLASS__ - ); - $this->_dirty = false; + public function getHashCode() + { + if ($this->dirty) { + $this->hash = md5($this->title . $this->autoFilter . ($this->protection->isProtectionEnabled() ? 't' : 'f') . __CLASS__); + $this->dirty = false; } - return $this->_hash; + return $this->hash; } /** @@ -2651,16 +2661,15 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param bool $returnRange Return range? (see example) * @return mixed */ - public static function extractSheetTitle($pRange, $returnRange = false) { + public static function extractSheetTitle($pRange, $returnRange = false) + { // Sheet title included? if (($sep = strpos($pRange, '!')) === false) { return ''; } if ($returnRange) { - return array( trim(substr($pRange, 0, $sep),"'"), - substr($pRange, $sep + 1) - ); + return array(trim(substr($pRange, 0, $sep), "'"), substr($pRange, $sep + 1)); } return substr($pRange, $sep + 1); @@ -2674,13 +2683,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getHyperlink($pCellCoordinate = 'A1') { // return hyperlink if we already have one - if (isset($this->_hyperlinkCollection[$pCellCoordinate])) { - return $this->_hyperlinkCollection[$pCellCoordinate]; + if (isset($this->hyperlinkCollection[$pCellCoordinate])) { + return $this->hyperlinkCollection[$pCellCoordinate]; } // else create hyperlink - $this->_hyperlinkCollection[$pCellCoordinate] = new PHPExcel_Cell_Hyperlink(); - return $this->_hyperlinkCollection[$pCellCoordinate]; + $this->hyperlinkCollection[$pCellCoordinate] = new PHPExcel_Cell_Hyperlink(); + return $this->hyperlinkCollection[$pCellCoordinate]; } /** @@ -2693,9 +2702,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function setHyperlink($pCellCoordinate = 'A1', PHPExcel_Cell_Hyperlink $pHyperlink = null) { if ($pHyperlink === null) { - unset($this->_hyperlinkCollection[$pCellCoordinate]); + unset($this->hyperlinkCollection[$pCellCoordinate]); } else { - $this->_hyperlinkCollection[$pCellCoordinate] = $pHyperlink; + $this->hyperlinkCollection[$pCellCoordinate] = $pHyperlink; } return $this; } @@ -2708,7 +2717,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function hyperlinkExists($pCoordinate = 'A1') { - return isset($this->_hyperlinkCollection[$pCoordinate]); + return isset($this->hyperlinkCollection[$pCoordinate]); } /** @@ -2718,7 +2727,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getHyperlinkCollection() { - return $this->_hyperlinkCollection; + return $this->hyperlinkCollection; } /** @@ -2729,13 +2738,13 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function getDataValidation($pCellCoordinate = 'A1') { // return data validation if we already have one - if (isset($this->_dataValidationCollection[$pCellCoordinate])) { - return $this->_dataValidationCollection[$pCellCoordinate]; + if (isset($this->dataValidationCollection[$pCellCoordinate])) { + return $this->dataValidationCollection[$pCellCoordinate]; } // else create data validation - $this->_dataValidationCollection[$pCellCoordinate] = new PHPExcel_Cell_DataValidation(); - return $this->_dataValidationCollection[$pCellCoordinate]; + $this->dataValidationCollection[$pCellCoordinate] = new PHPExcel_Cell_DataValidation(); + return $this->dataValidationCollection[$pCellCoordinate]; } /** @@ -2748,9 +2757,9 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable public function setDataValidation($pCellCoordinate = 'A1', PHPExcel_Cell_DataValidation $pDataValidation = null) { if ($pDataValidation === null) { - unset($this->_dataValidationCollection[$pCellCoordinate]); + unset($this->dataValidationCollection[$pCellCoordinate]); } else { - $this->_dataValidationCollection[$pCellCoordinate] = $pDataValidation; + $this->dataValidationCollection[$pCellCoordinate] = $pDataValidation; } return $this; } @@ -2763,7 +2772,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function dataValidationExists($pCoordinate = 'A1') { - return isset($this->_dataValidationCollection[$pCoordinate]); + return isset($this->dataValidationCollection[$pCoordinate]); } /** @@ -2773,7 +2782,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getDataValidationCollection() { - return $this->_dataValidationCollection; + return $this->dataValidationCollection; } /** @@ -2782,23 +2791,32 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * @param string $range * @return string Adjusted range value */ - public function shrinkRangeToFit($range) { + public function shrinkRangeToFit($range) + { $maxCol = $this->getHighestColumn(); $maxRow = $this->getHighestRow(); $maxCol = PHPExcel_Cell::columnIndexFromString($maxCol); - $rangeBlocks = explode(' ',$range); + $rangeBlocks = explode(' ', $range); foreach ($rangeBlocks as &$rangeSet) { $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($rangeSet); - if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[0][0]) > $maxCol) { $rangeBoundaries[0][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); } - if ($rangeBoundaries[0][1] > $maxRow) { $rangeBoundaries[0][1] = $maxRow; } - if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[1][0]) > $maxCol) { $rangeBoundaries[1][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); } - if ($rangeBoundaries[1][1] > $maxRow) { $rangeBoundaries[1][1] = $maxRow; } + if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[0][0]) > $maxCol) { + $rangeBoundaries[0][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); + } + if ($rangeBoundaries[0][1] > $maxRow) { + $rangeBoundaries[0][1] = $maxRow; + } + if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[1][0]) > $maxCol) { + $rangeBoundaries[1][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol); + } + if ($rangeBoundaries[1][1] > $maxRow) { + $rangeBoundaries[1][1] = $maxRow; + } $rangeSet = $rangeBoundaries[0][0].$rangeBoundaries[0][1].':'.$rangeBoundaries[1][0].$rangeBoundaries[1][1]; } unset($rangeSet); - $stRange = implode(' ',$rangeBlocks); + $stRange = implode(' ', $rangeBlocks); return $stRange; } @@ -2810,10 +2828,10 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function getTabColor() { - if ($this->_tabColor === NULL) - $this->_tabColor = new PHPExcel_Style_Color(); - - return $this->_tabColor; + if ($this->tabColor === null) { + $this->tabColor = new PHPExcel_Style_Color(); + } + return $this->tabColor; } /** @@ -2823,8 +2841,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function resetTabColor() { - $this->_tabColor = null; - unset($this->_tabColor); + $this->tabColor = null; + unset($this->tabColor); return $this; } @@ -2836,7 +2854,7 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable */ public function isTabColorSet() { - return ($this->_tabColor !== NULL); + return ($this->tabColor !== null); } /** @@ -2844,7 +2862,8 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable * * @return PHPExcel_Worksheet */ - public function copy() { + public function copy() + { $copied = clone $this; return $copied; @@ -2853,24 +2872,25 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ - public function __clone() { + public function __clone() + { foreach ($this as $key => $val) { - if ($key == '_parent') { + if ($key == 'parent') { continue; } if (is_object($val) || (is_array($val))) { - if ($key == '_cellCollection') { - $newCollection = clone $this->_cellCollection; + if ($key == 'cellCollection') { + $newCollection = clone $this->cellCollection; $newCollection->copyCellCollection($this); - $this->_cellCollection = $newCollection; - } elseif ($key == '_drawingCollection') { - $newCollection = clone $this->_drawingCollection; - $this->_drawingCollection = $newCollection; - } elseif (($key == '_autoFilter') && ($this->_autoFilter instanceof PHPExcel_Worksheet_AutoFilter)) { - $newAutoFilter = clone $this->_autoFilter; - $this->_autoFilter = $newAutoFilter; - $this->_autoFilter->setParent($this); + $this->cellCollection = $newCollection; + } elseif ($key == 'drawingCollection') { + $newCollection = clone $this->drawingCollection; + $this->drawingCollection = $newCollection; + } elseif (($key == 'autoFilter') && ($this->autoFilter instanceof PHPExcel_Worksheet_AutoFilter)) { + $newAutoFilter = clone $this->autoFilter; + $this->autoFilter = $newAutoFilter; + $this->autoFilter->setParent($this); } else { $this->{$key} = unserialize(serialize($val)); } @@ -2878,68 +2898,71 @@ class PHPExcel_Worksheet implements PHPExcel_IComparable } } /** - * Define the code name of the sheet - * - * @param null|string Same rule as Title minus space not allowed (but, like Excel, change silently space to underscore) - * @return objWorksheet - * @throws PHPExcel_Exception - */ - public function setCodeName($pValue=null){ - // Is this a 'rename' or not? - if ($this->getCodeName() == $pValue) { - return $this; - } - $pValue = str_replace(' ', '_', $pValue);//Excel does this automatically without flinching, we are doing the same - // Syntax check + * Define the code name of the sheet + * + * @param null|string Same rule as Title minus space not allowed (but, like Excel, change silently space to underscore) + * @return objWorksheet + * @throws PHPExcel_Exception + */ + public function setCodeName($pValue = null) + { + // Is this a 'rename' or not? + if ($this->getCodeName() == $pValue) { + return $this; + } + $pValue = str_replace(' ', '_', $pValue);//Excel does this automatically without flinching, we are doing the same + // Syntax check // throw an exception if not valid - self::_checkSheetCodeName($pValue); + self::checkSheetCodeName($pValue); + + // We use the same code that setTitle to find a valid codeName else not using a space (Excel don't like) but a '_' - // We use the same code that setTitle to find a valid codeName else not using a space (Excel don't like) but a '_' - if ($this->getParent()) { - // Is there already such sheet name? - if ($this->getParent()->sheetCodeNameExists($pValue)) { - // Use name, but append with lowest possible integer + // Is there already such sheet name? + if ($this->getParent()->sheetCodeNameExists($pValue)) { + // Use name, but append with lowest possible integer - if (PHPExcel_Shared_String::CountCharacters($pValue) > 29) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,29); - } - $i = 1; - while ($this->getParent()->sheetCodeNameExists($pValue . '_' . $i)) { - ++$i; - if ($i == 10) { - if (PHPExcel_Shared_String::CountCharacters($pValue) > 28) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,28); - } - } elseif ($i == 100) { - if (PHPExcel_Shared_String::CountCharacters($pValue) > 27) { - $pValue = PHPExcel_Shared_String::Substring($pValue,0,27); - } - } - } + if (PHPExcel_Shared_String::CountCharacters($pValue) > 29) { + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 29); + } + $i = 1; + while ($this->getParent()->sheetCodeNameExists($pValue . '_' . $i)) { + ++$i; + if ($i == 10) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 28) { + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 28); + } + } elseif ($i == 100) { + if (PHPExcel_Shared_String::CountCharacters($pValue) > 27) { + $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 27); + } + } + } - $pValue = $pValue . '_' . $i;// ok, we have a valid name - //codeName is'nt used in formula : no need to call for an update - //return $this->setTitle($altTitle,$updateFormulaCellReferences); - } - } + $pValue = $pValue . '_' . $i;// ok, we have a valid name + //codeName is'nt used in formula : no need to call for an update + //return $this->setTitle($altTitle, $updateFormulaCellReferences); + } + } - $this->_codeName=$pValue; - return $this; - } - /** - * Return the code name of the sheet - * - * @return null|string - */ - public function getCodeName(){ - return $this->_codeName; - } - /** - * Sheet has a code name ? - * @return boolean - */ - public function hasCodeName(){ - return !(is_null($this->_codeName)); - } + $this->codeName=$pValue; + return $this; + } + /** + * Return the code name of the sheet + * + * @return null|string + */ + public function getCodeName() + { + return $this->codeName; + } + /** + * Sheet has a code name ? + * @return boolean + */ + public function hasCodeName() + { + return !(is_null($this->codeName)); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php index 22c357489..6ec8a4466 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_AutoFilter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,843 +21,826 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_AutoFilter - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_AutoFilter { - /** - * Autofilter Worksheet - * - * @var PHPExcel_Worksheet - */ - private $_workSheet = NULL; + /** + * Autofilter Worksheet + * + * @var PHPExcel_Worksheet + */ + private $workSheet; - /** - * Autofilter Range - * - * @var string - */ - private $_range = ''; + /** + * Autofilter Range + * + * @var string + */ + private $range = ''; - /** - * Autofilter Column Ruleset - * - * @var array of PHPExcel_Worksheet_AutoFilter_Column - */ - private $_columns = array(); + /** + * Autofilter Column Ruleset + * + * @var array of PHPExcel_Worksheet_AutoFilter_Column + */ + private $columns = array(); /** * Create a new PHPExcel_Worksheet_AutoFilter - * - * @param string $pRange Cell range (i.e. A1:E10) - * @param PHPExcel_Worksheet $pSheet + * + * @param string $pRange Cell range (i.e. A1:E10) + * @param PHPExcel_Worksheet $pSheet */ - public function __construct($pRange = '', PHPExcel_Worksheet $pSheet = NULL) + public function __construct($pRange = '', PHPExcel_Worksheet $pSheet = null) { - $this->_range = $pRange; - $this->_workSheet = $pSheet; + $this->range = $pRange; + $this->workSheet = $pSheet; } - /** - * Get AutoFilter Parent Worksheet - * - * @return PHPExcel_Worksheet - */ - public function getParent() { - return $this->_workSheet; - } + /** + * Get AutoFilter Parent Worksheet + * + * @return PHPExcel_Worksheet + */ + public function getParent() + { + return $this->workSheet; + } - /** - * Set AutoFilter Parent Worksheet - * - * @param PHPExcel_Worksheet $pSheet - * @return PHPExcel_Worksheet_AutoFilter - */ - public function setParent(PHPExcel_Worksheet $pSheet = NULL) { - $this->_workSheet = $pSheet; + /** + * Set AutoFilter Parent Worksheet + * + * @param PHPExcel_Worksheet $pSheet + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setParent(PHPExcel_Worksheet $pSheet = null) + { + $this->workSheet = $pSheet; - return $this; - } + return $this; + } - /** - * Get AutoFilter Range - * - * @return string - */ - public function getRange() { - return $this->_range; - } + /** + * Get AutoFilter Range + * + * @return string + */ + public function getRange() + { + return $this->range; + } - /** - * Set AutoFilter Range - * - * @param string $pRange Cell range (i.e. A1:E10) - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter - */ - public function setRange($pRange = '') { - // Uppercase coordinate - $cellAddress = explode('!',strtoupper($pRange)); - if (count($cellAddress) > 1) { - list($worksheet,$pRange) = $cellAddress; - } + /** + * Set AutoFilter Range + * + * @param string $pRange Cell range (i.e. A1:E10) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setRange($pRange = '') + { + // Uppercase coordinate + $cellAddress = explode('!', strtoupper($pRange)); + if (count($cellAddress) > 1) { + list($worksheet, $pRange) = $cellAddress; + } - if (strpos($pRange,':') !== FALSE) { - $this->_range = $pRange; - } elseif(empty($pRange)) { - $this->_range = ''; - } else { - throw new PHPExcel_Exception('Autofilter must be set on a range of cells.'); - } + if (strpos($pRange, ':') !== false) { + $this->range = $pRange; + } elseif (empty($pRange)) { + $this->range = ''; + } else { + throw new PHPExcel_Exception('Autofilter must be set on a range of cells.'); + } - if (empty($pRange)) { - // Discard all column rules - $this->_columns = array(); - } else { - // Discard any column rules that are no longer valid within this range - list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); - foreach($this->_columns as $key => $value) { - $colIndex = PHPExcel_Cell::columnIndexFromString($key); - if (($rangeStart[0] > $colIndex) || ($rangeEnd[0] < $colIndex)) { - unset($this->_columns[$key]); - } - } - } + if (empty($pRange)) { + // Discard all column rules + $this->columns = array(); + } else { + // Discard any column rules that are no longer valid within this range + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->range); + foreach ($this->columns as $key => $value) { + $colIndex = PHPExcel_Cell::columnIndexFromString($key); + if (($rangeStart[0] > $colIndex) || ($rangeEnd[0] < $colIndex)) { + unset($this->columns[$key]); + } + } + } - return $this; - } + return $this; + } - /** - * Get all AutoFilter Columns - * - * @throws PHPExcel_Exception - * @return array of PHPExcel_Worksheet_AutoFilter_Column - */ - public function getColumns() { - return $this->_columns; - } + /** + * Get all AutoFilter Columns + * + * @throws PHPExcel_Exception + * @return array of PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumns() + { + return $this->columns; + } - /** - * Validate that the specified column is in the AutoFilter range - * - * @param string $column Column name (e.g. A) - * @throws PHPExcel_Exception - * @return integer The column offset within the autofilter range - */ - public function testColumnInRange($column) { - if (empty($this->_range)) { - throw new PHPExcel_Exception("No autofilter range is defined."); - } + /** + * Validate that the specified column is in the AutoFilter range + * + * @param string $column Column name (e.g. A) + * @throws PHPExcel_Exception + * @return integer The column offset within the autofilter range + */ + public function testColumnInRange($column) + { + if (empty($this->range)) { + throw new PHPExcel_Exception("No autofilter range is defined."); + } - $columnIndex = PHPExcel_Cell::columnIndexFromString($column); - list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); - if (($rangeStart[0] > $columnIndex) || ($rangeEnd[0] < $columnIndex)) { - throw new PHPExcel_Exception("Column is outside of current autofilter range."); - } + $columnIndex = PHPExcel_Cell::columnIndexFromString($column); + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->range); + if (($rangeStart[0] > $columnIndex) || ($rangeEnd[0] < $columnIndex)) { + throw new PHPExcel_Exception("Column is outside of current autofilter range."); + } - return $columnIndex - $rangeStart[0]; - } + return $columnIndex - $rangeStart[0]; + } - /** - * Get a specified AutoFilter Column Offset within the defined AutoFilter range - * - * @param string $pColumn Column name (e.g. A) - * @throws PHPExcel_Exception - * @return integer The offset of the specified column within the autofilter range - */ - public function getColumnOffset($pColumn) { - return $this->testColumnInRange($pColumn); - } + /** + * Get a specified AutoFilter Column Offset within the defined AutoFilter range + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return integer The offset of the specified column within the autofilter range + */ + public function getColumnOffset($pColumn) + { + return $this->testColumnInRange($pColumn); + } - /** - * Get a specified AutoFilter Column - * - * @param string $pColumn Column name (e.g. A) - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function getColumn($pColumn) { - $this->testColumnInRange($pColumn); + /** + * Get a specified AutoFilter Column + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumn($pColumn) + { + $this->testColumnInRange($pColumn); - if (!isset($this->_columns[$pColumn])) { - $this->_columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); - } + if (!isset($this->columns[$pColumn])) { + $this->columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); + } - return $this->_columns[$pColumn]; - } + return $this->columns[$pColumn]; + } - /** - * Get a specified AutoFilter Column by it's offset - * - * @param integer $pColumnOffset Column offset within range (starting from 0) - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function getColumnByOffset($pColumnOffset = 0) { - list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); - $pColumn = PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] + $pColumnOffset - 1); + /** + * Get a specified AutoFilter Column by it's offset + * + * @param integer $pColumnOffset Column offset within range (starting from 0) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getColumnByOffset($pColumnOffset = 0) + { + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->range); + $pColumn = PHPExcel_Cell::stringFromColumnIndex($rangeStart[0] + $pColumnOffset - 1); - return $this->getColumn($pColumn); - } + return $this->getColumn($pColumn); + } - /** - * Set AutoFilter - * - * @param PHPExcel_Worksheet_AutoFilter_Column|string $pColumn - * A simple string containing a Column ID like 'A' is permitted - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter - */ - public function setColumn($pColumn) - { - if ((is_string($pColumn)) && (!empty($pColumn))) { - $column = $pColumn; - } elseif(is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { - $column = $pColumn->getColumnIndex(); - } else { - throw new PHPExcel_Exception("Column is not within the autofilter range."); - } - $this->testColumnInRange($column); + /** + * Set AutoFilter + * + * @param PHPExcel_Worksheet_AutoFilter_Column|string $pColumn + * A simple string containing a Column ID like 'A' is permitted + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function setColumn($pColumn) + { + if ((is_string($pColumn)) && (!empty($pColumn))) { + $column = $pColumn; + } elseif (is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { + $column = $pColumn->getColumnIndex(); + } else { + throw new PHPExcel_Exception("Column is not within the autofilter range."); + } + $this->testColumnInRange($column); - if (is_string($pColumn)) { - $this->_columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); - } elseif(is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { - $pColumn->setParent($this); - $this->_columns[$column] = $pColumn; - } - ksort($this->_columns); + if (is_string($pColumn)) { + $this->columns[$pColumn] = new PHPExcel_Worksheet_AutoFilter_Column($pColumn, $this); + } elseif (is_object($pColumn) && ($pColumn instanceof PHPExcel_Worksheet_AutoFilter_Column)) { + $pColumn->setParent($this); + $this->columns[$column] = $pColumn; + } + ksort($this->columns); - return $this; - } + return $this; + } - /** - * Clear a specified AutoFilter Column - * - * @param string $pColumn Column name (e.g. A) - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter - */ - public function clearColumn($pColumn) { - $this->testColumnInRange($pColumn); + /** + * Clear a specified AutoFilter Column + * + * @param string $pColumn Column name (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function clearColumn($pColumn) + { + $this->testColumnInRange($pColumn); - if (isset($this->_columns[$pColumn])) { - unset($this->_columns[$pColumn]); - } + if (isset($this->columns[$pColumn])) { + unset($this->columns[$pColumn]); + } - return $this; - } + return $this; + } - /** - * Shift an AutoFilter Column Rule to a different column - * - * Note: This method bypasses validation of the destination column to ensure it is within this AutoFilter range. - * Nor does it verify whether any column rule already exists at $toColumn, but will simply overrideany existing value. - * Use with caution. - * - * @param string $fromColumn Column name (e.g. A) - * @param string $toColumn Column name (e.g. B) - * @return PHPExcel_Worksheet_AutoFilter - */ - public function shiftColumn($fromColumn=NULL,$toColumn=NULL) { - $fromColumn = strtoupper($fromColumn); - $toColumn = strtoupper($toColumn); + /** + * Shift an AutoFilter Column Rule to a different column + * + * Note: This method bypasses validation of the destination column to ensure it is within this AutoFilter range. + * Nor does it verify whether any column rule already exists at $toColumn, but will simply overrideany existing value. + * Use with caution. + * + * @param string $fromColumn Column name (e.g. A) + * @param string $toColumn Column name (e.g. B) + * @return PHPExcel_Worksheet_AutoFilter + */ + public function shiftColumn($fromColumn = null, $toColumn = null) + { + $fromColumn = strtoupper($fromColumn); + $toColumn = strtoupper($toColumn); - if (($fromColumn !== NULL) && (isset($this->_columns[$fromColumn])) && ($toColumn !== NULL)) { - $this->_columns[$fromColumn]->setParent(); - $this->_columns[$fromColumn]->setColumnIndex($toColumn); - $this->_columns[$toColumn] = $this->_columns[$fromColumn]; - $this->_columns[$toColumn]->setParent($this); - unset($this->_columns[$fromColumn]); + if (($fromColumn !== null) && (isset($this->columns[$fromColumn])) && ($toColumn !== null)) { + $this->columns[$fromColumn]->setParent(); + $this->columns[$fromColumn]->setColumnIndex($toColumn); + $this->columns[$toColumn] = $this->columns[$fromColumn]; + $this->columns[$toColumn]->setParent($this); + unset($this->columns[$fromColumn]); - ksort($this->_columns); - } + ksort($this->columns); + } - return $this; - } + return $this; + } - /** - * Test if cell value is in the defined set of values - * - * @param mixed $cellValue - * @param mixed[] $dataSet - * @return boolean - */ - private static function _filterTestInSimpleDataSet($cellValue,$dataSet) - { - $dataSetValues = $dataSet['filterValues']; - $blanks = $dataSet['blanks']; - if (($cellValue == '') || ($cellValue === NULL)) { - return $blanks; - } - return in_array($cellValue,$dataSetValues); - } + /** + * Test if cell value is in the defined set of values + * + * @param mixed $cellValue + * @param mixed[] $dataSet + * @return boolean + */ + private static function filterTestInSimpleDataSet($cellValue, $dataSet) + { + $dataSetValues = $dataSet['filterValues']; + $blanks = $dataSet['blanks']; + if (($cellValue == '') || ($cellValue === null)) { + return $blanks; + } + return in_array($cellValue, $dataSetValues); + } - /** - * Test if cell value is in the defined set of Excel date values - * - * @param mixed $cellValue - * @param mixed[] $dataSet - * @return boolean - */ - private static function _filterTestInDateGroupSet($cellValue,$dataSet) - { - $dateSet = $dataSet['filterValues']; - $blanks = $dataSet['blanks']; - if (($cellValue == '') || ($cellValue === NULL)) { - return $blanks; - } + /** + * Test if cell value is in the defined set of Excel date values + * + * @param mixed $cellValue + * @param mixed[] $dataSet + * @return boolean + */ + private static function filterTestInDateGroupSet($cellValue, $dataSet) + { + $dateSet = $dataSet['filterValues']; + $blanks = $dataSet['blanks']; + if (($cellValue == '') || ($cellValue === null)) { + return $blanks; + } - if (is_numeric($cellValue)) { - $dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue); - if ($cellValue < 1) { - // Just the time part - $dtVal = date('His',$dateValue); - $dateSet = $dateSet['time']; - } elseif($cellValue == floor($cellValue)) { - // Just the date part - $dtVal = date('Ymd',$dateValue); - $dateSet = $dateSet['date']; - } else { - // date and time parts - $dtVal = date('YmdHis',$dateValue); - $dateSet = $dateSet['dateTime']; - } - foreach($dateSet as $dateValue) { - // Use of substr to extract value at the appropriate group level - if (substr($dtVal,0,strlen($dateValue)) == $dateValue) - return TRUE; - } - } + if (is_numeric($cellValue)) { + $dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue); + if ($cellValue < 1) { + // Just the time part + $dtVal = date('His', $dateValue); + $dateSet = $dateSet['time']; + } elseif ($cellValue == floor($cellValue)) { + // Just the date part + $dtVal = date('Ymd', $dateValue); + $dateSet = $dateSet['date']; + } else { + // date and time parts + $dtVal = date('YmdHis', $dateValue); + $dateSet = $dateSet['dateTime']; + } + foreach ($dateSet as $dateValue) { + // Use of substr to extract value at the appropriate group level + if (substr($dtVal, 0, strlen($dateValue)) == $dateValue) { + return true; + } + } + } + return false; + } - return FALSE; - } + /** + * Test if cell value is within a set of values defined by a ruleset + * + * @param mixed $cellValue + * @param mixed[] $ruleSet + * @return boolean + */ + private static function filterTestInCustomDataSet($cellValue, $ruleSet) + { + $dataSet = $ruleSet['filterRules']; + $join = $ruleSet['join']; + $customRuleForBlanks = isset($ruleSet['customRuleForBlanks']) ? $ruleSet['customRuleForBlanks'] : false; - /** - * Test if cell value is within a set of values defined by a ruleset - * - * @param mixed $cellValue - * @param mixed[] $ruleSet - * @return boolean - */ - private static function _filterTestInCustomDataSet($cellValue, $ruleSet) - { - $dataSet = $ruleSet['filterRules']; - $join = $ruleSet['join']; - $customRuleForBlanks = isset($ruleSet['customRuleForBlanks']) ? $ruleSet['customRuleForBlanks'] : FALSE; + if (!$customRuleForBlanks) { + // Blank cells are always ignored, so return a FALSE + if (($cellValue == '') || ($cellValue === null)) { + return false; + } + } + $returnVal = ($join == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); + foreach ($dataSet as $rule) { + if (is_numeric($rule['value'])) { + // Numeric values are tested using the appropriate operator + switch ($rule['operator']) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL: + $retVal = ($cellValue == $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL: + $retVal = ($cellValue != $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN: + $retVal = ($cellValue > $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL: + $retVal = ($cellValue >= $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN: + $retVal = ($cellValue < $rule['value']); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL: + $retVal = ($cellValue <= $rule['value']); + break; + } + } elseif ($rule['value'] == '') { + switch ($rule['operator']) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL: + $retVal = (($cellValue == '') || ($cellValue === null)); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL: + $retVal = (($cellValue != '') && ($cellValue !== null)); + break; + default: + $retVal = true; + break; + } + } else { + // String values are always tested for equality, factoring in for wildcards (hence a regexp test) + $retVal = preg_match('/^'.$rule['value'].'$/i', $cellValue); + } + // If there are multiple conditions, then we need to test both using the appropriate join operator + switch ($join) { + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR: + $returnVal = $returnVal || $retVal; + // Break as soon as we have a TRUE match for OR joins, + // to avoid unnecessary additional code execution + if ($returnVal) { + return $returnVal; + } + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND: + $returnVal = $returnVal && $retVal; + break; + } + } - if (!$customRuleForBlanks) { - // Blank cells are always ignored, so return a FALSE - if (($cellValue == '') || ($cellValue === NULL)) { - return FALSE; - } - } - $returnVal = ($join == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); - foreach($dataSet as $rule) { - if (is_numeric($rule['value'])) { - // Numeric values are tested using the appropriate operator - switch ($rule['operator']) { - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL : - $retVal = ($cellValue == $rule['value']); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL : - $retVal = ($cellValue != $rule['value']); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN : - $retVal = ($cellValue > $rule['value']); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL : - $retVal = ($cellValue >= $rule['value']); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN : - $retVal = ($cellValue < $rule['value']); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL : - $retVal = ($cellValue <= $rule['value']); - break; - } - } elseif($rule['value'] == '') { - switch ($rule['operator']) { - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL : - $retVal = (($cellValue == '') || ($cellValue === NULL)); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_NOTEQUAL : - $retVal = (($cellValue != '') && ($cellValue !== NULL)); - break; - default : - $retVal = TRUE; - break; - } - } else { - // String values are always tested for equality, factoring in for wildcards (hence a regexp test) - $retVal = preg_match('/^'.$rule['value'].'$/i',$cellValue); - } - // If there are multiple conditions, then we need to test both using the appropriate join operator - switch ($join) { - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR : - $returnVal = $returnVal || $retVal; - // Break as soon as we have a TRUE match for OR joins, - // to avoid unnecessary additional code execution - if ($returnVal) - return $returnVal; - break; - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND : - $returnVal = $returnVal && $retVal; - break; - } - } + return $returnVal; + } - return $returnVal; - } + /** + * Test if cell date value is matches a set of values defined by a set of months + * + * @param mixed $cellValue + * @param mixed[] $monthSet + * @return boolean + */ + private static function filterTestInPeriodDateSet($cellValue, $monthSet) + { + // Blank cells are always ignored, so return a FALSE + if (($cellValue == '') || ($cellValue === null)) { + return false; + } - /** - * Test if cell date value is matches a set of values defined by a set of months - * - * @param mixed $cellValue - * @param mixed[] $monthSet - * @return boolean - */ - private static function _filterTestInPeriodDateSet($cellValue, $monthSet) - { - // Blank cells are always ignored, so return a FALSE - if (($cellValue == '') || ($cellValue === NULL)) { - return FALSE; - } + if (is_numeric($cellValue)) { + $dateValue = date('m', PHPExcel_Shared_Date::ExcelToPHP($cellValue)); + if (in_array($dateValue, $monthSet)) { + return true; + } + } - if (is_numeric($cellValue)) { - $dateValue = date('m',PHPExcel_Shared_Date::ExcelToPHP($cellValue)); - if (in_array($dateValue,$monthSet)) { - return TRUE; - } - } + return false; + } - return FALSE; - } - - /** - * Search/Replace arrays to convert Excel wildcard syntax to a regexp syntax for preg_matching - * - * @var array - */ - private static $_fromReplace = array('\*', '\?', '~~', '~.*', '~.?'); - private static $_toReplace = array('.*', '.', '~', '\*', '\?'); + /** + * Search/Replace arrays to convert Excel wildcard syntax to a regexp syntax for preg_matching + * + * @var array + */ + private static $fromReplace = array('\*', '\?', '~~', '~.*', '~.?'); + private static $toReplace = array('.*', '.', '~', '\*', '\?'); - /** - * Convert a dynamic rule daterange to a custom filter range expression for ease of calculation - * - * @param string $dynamicRuleType - * @param PHPExcel_Worksheet_AutoFilter_Column &$filterColumn - * @return mixed[] - */ - private function _dynamicFilterDateRange($dynamicRuleType, &$filterColumn) - { - $rDateType = PHPExcel_Calculation_Functions::getReturnDateType(); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $val = $maxVal = NULL; + /** + * Convert a dynamic rule daterange to a custom filter range expression for ease of calculation + * + * @param string $dynamicRuleType + * @param PHPExcel_Worksheet_AutoFilter_Column &$filterColumn + * @return mixed[] + */ + private function dynamicFilterDateRange($dynamicRuleType, &$filterColumn) + { + $rDateType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); + $val = $maxVal = null; - $ruleValues = array(); - $baseDate = PHPExcel_Calculation_DateTime::DATENOW(); - // Calculate start/end dates for the required date range based on current date - switch ($dynamicRuleType) { - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK : - $baseDate = strtotime('-7 days',$baseDate); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK : - $baseDate = strtotime('-7 days',$baseDate); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH : - $baseDate = strtotime('-1 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH : - $baseDate = strtotime('+1 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER : - $baseDate = strtotime('-3 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER : - $baseDate = strtotime('+3 month',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR : - $baseDate = strtotime('-1 year',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR : - $baseDate = strtotime('+1 year',gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - } + $ruleValues = array(); + $baseDate = PHPExcel_Calculation_DateTime::DATENOW(); + // Calculate start/end dates for the required date range based on current date + switch ($dynamicRuleType) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK: + $baseDate = strtotime('-7 days', $baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK: + $baseDate = strtotime('-7 days', $baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH: + $baseDate = strtotime('-1 month', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH: + $baseDate = strtotime('+1 month', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER: + $baseDate = strtotime('-3 month', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER: + $baseDate = strtotime('+3 month', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR: + $baseDate = strtotime('-1 year', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR: + $baseDate = strtotime('+1 year', gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + } - switch ($dynamicRuleType) { - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TODAY : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW : - $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day',$baseDate)); - $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE : - $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day',$baseDate)); - $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1,date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR : - $maxVal = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,31,12,date('Y',$baseDate))); - ++$maxVal; - $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1,date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER : - $thisMonth = date('m',$baseDate); - $thisQuarter = floor(--$thisMonth / 3); - $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0,0,0,date('t',$baseDate),(1+$thisQuarter)*3,date('Y',$baseDate))); - ++$maxVal; - $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,1+$thisQuarter*3,date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH : - $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0,0,0,date('t',$baseDate),date('m',$baseDate),date('Y',$baseDate))); - ++$maxVal; - $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0,0,0,1,date('m',$baseDate),date('Y',$baseDate))); - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK : - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK : - $dayOfWeek = date('w',$baseDate); - $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate) - $dayOfWeek; - $maxVal = $val + 7; - break; - } + switch ($dynamicRuleType) { + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TODAY: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW: + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day', $baseDate)); + $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE: + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(strtotime('+1 day', $baseDate)); + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0, 0, 0, 1, 1, date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR: + $maxVal = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0, 0, 0, 31, 12, date('Y', $baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0, 0, 0, 1, 1, date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER: + $thisMonth = date('m', $baseDate); + $thisQuarter = floor(--$thisMonth / 3); + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0, 0, 0, date('t', $baseDate), (1+$thisQuarter)*3, date('Y', $baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0, 0, 0, 1, 1+$thisQuarter*3, date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH: + $maxVal = (int) PHPExcel_Shared_Date::PHPtoExcel(gmmktime(0, 0, 0, date('t', $baseDate), date('m', $baseDate), date('Y', $baseDate))); + ++$maxVal; + $val = (int) PHPExcel_Shared_Date::PHPToExcel(gmmktime(0, 0, 0, 1, date('m', $baseDate), date('Y', $baseDate))); + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK: + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK: + $dayOfWeek = date('w', $baseDate); + $val = (int) PHPExcel_Shared_Date::PHPToExcel($baseDate) - $dayOfWeek; + $maxVal = $val + 7; + break; + } - switch ($dynamicRuleType) { - // Adjust Today dates for Yesterday and Tomorrow - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY : - --$maxVal; - --$val; - break; - case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW : - ++$maxVal; - ++$val; - break; - } + switch ($dynamicRuleType) { + // Adjust Today dates for Yesterday and Tomorrow + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY: + --$maxVal; + --$val; + break; + case PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW: + ++$maxVal; + ++$val; + break; + } - // Set the filter column rule attributes ready for writing - $filterColumn->setAttributes(array( 'val' => $val, - 'maxVal' => $maxVal - ) - ); + // Set the filter column rule attributes ready for writing + $filterColumn->setAttributes(array('val' => $val, 'maxVal' => $maxVal)); - // Set the rules for identifying rows for hide/show - $ruleValues[] = array( 'operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, - 'value' => $val - ); - $ruleValues[] = array( 'operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN, - 'value' => $maxVal - ); - PHPExcel_Calculation_Functions::setReturnDateType($rDateType); + // Set the rules for identifying rows for hide/show + $ruleValues[] = array('operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, 'value' => $val); + $ruleValues[] = array('operator' => PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN, 'value' => $maxVal); + PHPExcel_Calculation_Functions::setReturnDateType($rDateType); - return array( - 'method' => '_filterTestInCustomDataSet', - 'arguments' => array( 'filterRules' => $ruleValues, - 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND - ) - ); - } + return array('method' => 'filterTestInCustomDataSet', 'arguments' => array('filterRules' => $ruleValues, 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND)); + } - private function _calculateTopTenValue($columnID,$startRow,$endRow,$ruleType,$ruleValue) { - $range = $columnID.$startRow.':'.$columnID.$endRow; - $dataValues = PHPExcel_Calculation_Functions::flattenArray( - $this->_workSheet->rangeToArray($range,NULL,TRUE,FALSE) - ); + private function calculateTopTenValue($columnID, $startRow, $endRow, $ruleType, $ruleValue) + { + $range = $columnID.$startRow.':'.$columnID.$endRow; + $dataValues = PHPExcel_Calculation_Functions::flattenArray($this->workSheet->rangeToArray($range, null, true, false)); - $dataValues = array_filter($dataValues); - if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) { - rsort($dataValues); - } else { - sort($dataValues); - } + $dataValues = array_filter($dataValues); + if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) { + rsort($dataValues); + } else { + sort($dataValues); + } - return array_pop(array_slice($dataValues,0,$ruleValue)); - } + return array_pop(array_slice($dataValues, 0, $ruleValue)); + } - /** - * Apply the AutoFilter rules to the AutoFilter Range - * - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter - */ - public function showHideRows() - { - list($rangeStart,$rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->_range); + /** + * Apply the AutoFilter rules to the AutoFilter Range + * + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter + */ + public function showHideRows() + { + list($rangeStart, $rangeEnd) = PHPExcel_Cell::rangeBoundaries($this->range); - // The heading row should always be visible -// echo 'AutoFilter Heading Row ',$rangeStart[1],' is always SHOWN',PHP_EOL; - $this->_workSheet->getRowDimension($rangeStart[1])->setVisible(TRUE); + // The heading row should always be visible +// echo 'AutoFilter Heading Row ', $rangeStart[1],' is always SHOWN',PHP_EOL; + $this->workSheet->getRowDimension($rangeStart[1])->setVisible(true); - $columnFilterTests = array(); - foreach($this->_columns as $columnID => $filterColumn) { - $rules = $filterColumn->getRules(); - switch ($filterColumn->getFilterType()) { - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER : - $ruleValues = array(); - // Build a list of the filter value selections - foreach($rules as $rule) { - $ruleType = $rule->getRuleType(); - $ruleValues[] = $rule->getValue(); - } - // Test if we want to include blanks in our filter criteria - $blanks = FALSE; - $ruleDataSet = array_filter($ruleValues); - if (count($ruleValues) != count($ruleDataSet)) - $blanks = TRUE; - if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER) { - // Filter on absolute values - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInSimpleDataSet', - 'arguments' => array( 'filterValues' => $ruleDataSet, - 'blanks' => $blanks - ) - ); - } else { - // Filter on date group values - $arguments = array( + $columnFilterTests = array(); + foreach ($this->columns as $columnID => $filterColumn) { + $rules = $filterColumn->getRules(); + switch ($filterColumn->getFilterType()) { + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER: + $ruleValues = array(); + // Build a list of the filter value selections + foreach ($rules as $rule) { + $ruleType = $rule->getRuleType(); + $ruleValues[] = $rule->getValue(); + } + // Test if we want to include blanks in our filter criteria + $blanks = false; + $ruleDataSet = array_filter($ruleValues); + if (count($ruleValues) != count($ruleDataSet)) { + $blanks = true; + } + if ($ruleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER) { + // Filter on absolute values + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInSimpleDataSet', + 'arguments' => array('filterValues' => $ruleDataSet, 'blanks' => $blanks) + ); + } else { + // Filter on date group values + $arguments = array( 'date' => array(), 'time' => array(), 'dateTime' => array(), ); - foreach($ruleDataSet as $ruleValue) { - $date = $time = ''; - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR] !== '')) - $date .= sprintf('%04d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR]); - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH] != '')) - $date .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH]); - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY] !== '')) - $date .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY]); - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR] !== '')) - $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR]); - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE] !== '')) - $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE]); - if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND])) && - ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND] !== '')) - $time .= sprintf('%02d',$ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND]); - $dateTime = $date . $time; - $arguments['date'][] = $date; - $arguments['time'][] = $time; - $arguments['dateTime'][] = $dateTime; - } - // Remove empty elements - $arguments['date'] = array_filter($arguments['date']); - $arguments['time'] = array_filter($arguments['time']); - $arguments['dateTime'] = array_filter($arguments['dateTime']); - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInDateGroupSet', - 'arguments' => array( 'filterValues' => $arguments, - 'blanks' => $blanks - ) - ); - } - break; - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER : - $customRuleForBlanks = FALSE; - $ruleValues = array(); - // Build a list of the filter value selections - foreach($rules as $rule) { - $ruleType = $rule->getRuleType(); - $ruleValue = $rule->getValue(); - if (!is_numeric($ruleValue)) { - // Convert to a regexp allowing for regexp reserved characters, wildcards and escaped wildcards - $ruleValue = preg_quote($ruleValue); - $ruleValue = str_replace(self::$_fromReplace,self::$_toReplace,$ruleValue); - if (trim($ruleValue) == '') { - $customRuleForBlanks = TRUE; - $ruleValue = trim($ruleValue); - } - } - $ruleValues[] = array( 'operator' => $rule->getOperator(), - 'value' => $ruleValue - ); - } - $join = $filterColumn->getJoin(); - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInCustomDataSet', - 'arguments' => array( 'filterRules' => $ruleValues, - 'join' => $join, - 'customRuleForBlanks' => $customRuleForBlanks - ) - ); - break; - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER : - $ruleValues = array(); - foreach($rules as $rule) { - // We should only ever have one Dynamic Filter Rule anyway - $dynamicRuleType = $rule->getGrouping(); - if (($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) || - ($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE)) { - // Number (Average) based - // Calculate the average - $averageFormula = '=AVERAGE('.$columnID.($rangeStart[1]+1).':'.$columnID.$rangeEnd[1].')'; - $average = PHPExcel_Calculation::getInstance()->calculateFormula($averageFormula,NULL,$this->_workSheet->getCell('A1')); - // Set above/below rule based on greaterThan or LessTan - $operator = ($dynamicRuleType === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) - ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN - : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN; - $ruleValues[] = array( 'operator' => $operator, - 'value' => $average - ); - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInCustomDataSet', - 'arguments' => array( 'filterRules' => $ruleValues, - 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR - ) - ); - } else { - // Date based - if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') { - // Month or Quarter - sscanf($dynamicRuleType,'%[A-Z]%d', $periodType, $period); - if ($periodType == 'M') { - $ruleValues = array($period); - } else { - --$period; - $periodEnd = (1+$period)*3; - $periodStart = 1+$period*3; - $ruleValues = range($periodStart,periodEnd); - } - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInPeriodDateSet', - 'arguments' => $ruleValues - ); - $filterColumn->setAttributes(array()); - } else { - // Date Range - $columnFilterTests[$columnID] = $this->_dynamicFilterDateRange($dynamicRuleType, $filterColumn); - break; - } - } - } - break; - case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER : - $ruleValues = array(); - $dataRowCount = $rangeEnd[1] - $rangeStart[1]; - foreach($rules as $rule) { - // We should only ever have one Dynamic Filter Rule anyway - $toptenRuleType = $rule->getGrouping(); - $ruleValue = $rule->getValue(); - $ruleOperator = $rule->getOperator(); - } - if ($ruleOperator === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) { - $ruleValue = floor($ruleValue * ($dataRowCount / 100)); - } - if ($ruleValue < 1) $ruleValue = 1; - if ($ruleValue > 500) $ruleValue = 500; + foreach ($ruleDataSet as $ruleValue) { + $date = $time = ''; + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR] !== '')) { + $date .= sprintf('%04d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_YEAR]); + } + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH] != '')) { + $date .= sprintf('%02d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH]); + } + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY] !== '')) { + $date .= sprintf('%02d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_DAY]); + } + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR] !== '')) { + $time .= sprintf('%02d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_HOUR]); + } + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE] !== '')) { + $time .= sprintf('%02d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE]); + } + if ((isset($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND])) && + ($ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND] !== '')) { + $time .= sprintf('%02d', $ruleValue[PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_SECOND]); + } + $dateTime = $date . $time; + $arguments['date'][] = $date; + $arguments['time'][] = $time; + $arguments['dateTime'][] = $dateTime; + } + // Remove empty elements + $arguments['date'] = array_filter($arguments['date']); + $arguments['time'] = array_filter($arguments['time']); + $arguments['dateTime'] = array_filter($arguments['dateTime']); + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInDateGroupSet', + 'arguments' => array('filterValues' => $arguments, 'blanks' => $blanks) + ); + } + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER: + $customRuleForBlanks = false; + $ruleValues = array(); + // Build a list of the filter value selections + foreach ($rules as $rule) { + $ruleType = $rule->getRuleType(); + $ruleValue = $rule->getValue(); + if (!is_numeric($ruleValue)) { + // Convert to a regexp allowing for regexp reserved characters, wildcards and escaped wildcards + $ruleValue = preg_quote($ruleValue); + $ruleValue = str_replace(self::$fromReplace, self::$toReplace, $ruleValue); + if (trim($ruleValue) == '') { + $customRuleForBlanks = true; + $ruleValue = trim($ruleValue); + } + } + $ruleValues[] = array('operator' => $rule->getOperator(), 'value' => $ruleValue); + } + $join = $filterColumn->getJoin(); + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInCustomDataSet', + 'arguments' => array('filterRules' => $ruleValues, 'join' => $join, 'customRuleForBlanks' => $customRuleForBlanks) + ); + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER: + $ruleValues = array(); + foreach ($rules as $rule) { + // We should only ever have one Dynamic Filter Rule anyway + $dynamicRuleType = $rule->getGrouping(); + if (($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) || + ($dynamicRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE)) { + // Number (Average) based + // Calculate the average + $averageFormula = '=AVERAGE('.$columnID.($rangeStart[1]+1).':'.$columnID.$rangeEnd[1].')'; + $average = PHPExcel_Calculation::getInstance()->calculateFormula($averageFormula, null, $this->workSheet->getCell('A1')); + // Set above/below rule based on greaterThan or LessTan + $operator = ($dynamicRuleType === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHAN + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN; + $ruleValues[] = array('operator' => $operator, + 'value' => $average + ); + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInCustomDataSet', + 'arguments' => array('filterRules' => $ruleValues, 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR) + ); + } else { + // Date based + if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') { + // Month or Quarter + sscanf($dynamicRuleType, '%[A-Z]%d', $periodType, $period); + if ($periodType == 'M') { + $ruleValues = array($period); + } else { + --$period; + $periodEnd = (1+$period)*3; + $periodStart = 1+$period*3; + $ruleValues = range($periodStart, $periodEnd); + } + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInPeriodDateSet', + 'arguments' => $ruleValues + ); + $filterColumn->setAttributes(array()); + } else { + // Date Range + $columnFilterTests[$columnID] = $this->dynamicFilterDateRange($dynamicRuleType, $filterColumn); + break; + } + } + } + break; + case PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER: + $ruleValues = array(); + $dataRowCount = $rangeEnd[1] - $rangeStart[1]; + foreach ($rules as $rule) { + // We should only ever have one Dynamic Filter Rule anyway + $toptenRuleType = $rule->getGrouping(); + $ruleValue = $rule->getValue(); + $ruleOperator = $rule->getOperator(); + } + if ($ruleOperator === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) { + $ruleValue = floor($ruleValue * ($dataRowCount / 100)); + } + if ($ruleValue < 1) { + $ruleValue = 1; + } + if ($ruleValue > 500) { + $ruleValue = 500; + } - $maxVal = $this->_calculateTopTenValue($columnID,$rangeStart[1]+1,$rangeEnd[1],$toptenRuleType,$ruleValue); + $maxVal = $this->calculateTopTenValue($columnID, $rangeStart[1]+1, $rangeEnd[1], $toptenRuleType, $ruleValue); - $operator = ($toptenRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) - ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL - : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL; - $ruleValues[] = array( 'operator' => $operator, - 'value' => $maxVal - ); - $columnFilterTests[$columnID] = array( - 'method' => '_filterTestInCustomDataSet', - 'arguments' => array( 'filterRules' => $ruleValues, - 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR - ) - ); - $filterColumn->setAttributes( - array('maxVal' => $maxVal) - ); - break; - } - } + $operator = ($toptenRuleType == PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) + ? PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL + : PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL; + $ruleValues[] = array('operator' => $operator, 'value' => $maxVal); + $columnFilterTests[$columnID] = array( + 'method' => 'filterTestInCustomDataSet', + 'arguments' => array('filterRules' => $ruleValues, 'join' => PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR) + ); + $filterColumn->setAttributes(array('maxVal' => $maxVal)); + break; + } + } -// echo 'Column Filter Test CRITERIA',PHP_EOL; -// var_dump($columnFilterTests); +// echo 'Column Filter Test CRITERIA',PHP_EOL; +// var_dump($columnFilterTests); // - // Execute the column tests for each row in the autoFilter range to determine show/hide, - for ($row = $rangeStart[1]+1; $row <= $rangeEnd[1]; ++$row) { -// echo 'Testing Row = ',$row,PHP_EOL; - $result = TRUE; - foreach($columnFilterTests as $columnID => $columnFilterTest) { -// echo 'Testing cell ',$columnID.$row,PHP_EOL; - $cellValue = $this->_workSheet->getCell($columnID.$row)->getCalculatedValue(); -// echo 'Value is ',$cellValue,PHP_EOL; - // Execute the filter test - $result = $result && - call_user_func_array( - array('PHPExcel_Worksheet_AutoFilter',$columnFilterTest['method']), - array( - $cellValue, - $columnFilterTest['arguments'] - ) - ); -// echo (($result) ? 'VALID' : 'INVALID'),PHP_EOL; - // If filter test has resulted in FALSE, exit the loop straightaway rather than running any more tests - if (!$result) - break; - } - // Set show/hide for the row based on the result of the autoFilter result -// echo (($result) ? 'SHOW' : 'HIDE'),PHP_EOL; - $this->_workSheet->getRowDimension($row)->setVisible($result); - } + // Execute the column tests for each row in the autoFilter range to determine show/hide, + for ($row = $rangeStart[1]+1; $row <= $rangeEnd[1]; ++$row) { +// echo 'Testing Row = ', $row,PHP_EOL; + $result = true; + foreach ($columnFilterTests as $columnID => $columnFilterTest) { +// echo 'Testing cell ', $columnID.$row,PHP_EOL; + $cellValue = $this->workSheet->getCell($columnID.$row)->getCalculatedValue(); +// echo 'Value is ', $cellValue,PHP_EOL; + // Execute the filter test + $result = $result && + call_user_func_array( + array('PHPExcel_Worksheet_AutoFilter', $columnFilterTest['method']), + array($cellValue, $columnFilterTest['arguments']) + ); +// echo (($result) ? 'VALID' : 'INVALID'),PHP_EOL; + // If filter test has resulted in FALSE, exit the loop straightaway rather than running any more tests + if (!$result) { + break; + } + } + // Set show/hide for the row based on the result of the autoFilter result +// echo (($result) ? 'SHOW' : 'HIDE'),PHP_EOL; + $this->workSheet->getRowDimension($row)->setVisible($result); + } - return $this; - } + return $this; + } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - if ($key == '_workSheet') { - // Detach from worksheet - $this->{$key} = NULL; - } else { - $this->{$key} = clone $value; - } - } elseif ((is_array($value)) && ($key == '_columns')) { - // The columns array of PHPExcel_Worksheet_AutoFilter objects - $this->{$key} = array(); - foreach ($value as $k => $v) { - $this->{$key}[$k] = clone $v; - // attach the new cloned Column to this new cloned Autofilter object - $this->{$key}[$k]->setParent($this); - } - } else { - $this->{$key} = $value; - } - } - } - - /** - * toString method replicates previous behavior by returning the range if object is - * referenced as a property of its parent. - */ - public function __toString() { - return (string) $this->_range; - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == 'workSheet') { + // Detach from worksheet + $this->{$key} = null; + } else { + $this->{$key} = clone $value; + } + } elseif ((is_array($value)) && ($key == 'columns')) { + // The columns array of PHPExcel_Worksheet_AutoFilter objects + $this->{$key} = array(); + foreach ($value as $k => $v) { + $this->{$key}[$k] = clone $v; + // attach the new cloned Column to this new cloned Autofilter object + $this->{$key}[$k]->setParent($this); + } + } else { + $this->{$key} = $value; + } + } + } + /** + * toString method replicates previous behavior by returning the range if object is + * referenced as a property of its parent. + */ + public function __toString() + { + return (string) $this->range; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php index 1a6fb4eb8..d64fd8165 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_AutoFilter_Column * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,377 +19,387 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_AutoFilter_Column - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_AutoFilter_Column { - const AUTOFILTER_FILTERTYPE_FILTER = 'filters'; - const AUTOFILTER_FILTERTYPE_CUSTOMFILTER = 'customFilters'; - // Supports no more than 2 rules, with an And/Or join criteria - // if more than 1 rule is defined - const AUTOFILTER_FILTERTYPE_DYNAMICFILTER = 'dynamicFilter'; - // Even though the filter rule is constant, the filtered data can vary - // e.g. filtered by date = TODAY - const AUTOFILTER_FILTERTYPE_TOPTENFILTER = 'top10'; + const AUTOFILTER_FILTERTYPE_FILTER = 'filters'; + const AUTOFILTER_FILTERTYPE_CUSTOMFILTER = 'customFilters'; + // Supports no more than 2 rules, with an And/Or join criteria + // if more than 1 rule is defined + const AUTOFILTER_FILTERTYPE_DYNAMICFILTER = 'dynamicFilter'; + // Even though the filter rule is constant, the filtered data can vary + // e.g. filtered by date = TODAY + const AUTOFILTER_FILTERTYPE_TOPTENFILTER = 'top10'; - /** - * Types of autofilter rules - * - * @var string[] - */ - private static $_filterTypes = array( - // Currently we're not handling - // colorFilter - // extLst - // iconFilter - self::AUTOFILTER_FILTERTYPE_FILTER, - self::AUTOFILTER_FILTERTYPE_CUSTOMFILTER, - self::AUTOFILTER_FILTERTYPE_DYNAMICFILTER, - self::AUTOFILTER_FILTERTYPE_TOPTENFILTER, - ); + /** + * Types of autofilter rules + * + * @var string[] + */ + private static $filterTypes = array( + // Currently we're not handling + // colorFilter + // extLst + // iconFilter + self::AUTOFILTER_FILTERTYPE_FILTER, + self::AUTOFILTER_FILTERTYPE_CUSTOMFILTER, + self::AUTOFILTER_FILTERTYPE_DYNAMICFILTER, + self::AUTOFILTER_FILTERTYPE_TOPTENFILTER, + ); - /* Multiple Rule Connections */ - const AUTOFILTER_COLUMN_JOIN_AND = 'and'; - const AUTOFILTER_COLUMN_JOIN_OR = 'or'; + /* Multiple Rule Connections */ + const AUTOFILTER_COLUMN_JOIN_AND = 'and'; + const AUTOFILTER_COLUMN_JOIN_OR = 'or'; - /** - * Join options for autofilter rules - * - * @var string[] - */ - private static $_ruleJoins = array( - self::AUTOFILTER_COLUMN_JOIN_AND, - self::AUTOFILTER_COLUMN_JOIN_OR, - ); + /** + * Join options for autofilter rules + * + * @var string[] + */ + private static $ruleJoins = array( + self::AUTOFILTER_COLUMN_JOIN_AND, + self::AUTOFILTER_COLUMN_JOIN_OR, + ); - /** - * Autofilter - * - * @var PHPExcel_Worksheet_AutoFilter - */ - private $_parent = NULL; + /** + * Autofilter + * + * @var PHPExcel_Worksheet_AutoFilter + */ + private $parent; - /** - * Autofilter Column Index - * - * @var string - */ - private $_columnIndex = ''; + /** + * Autofilter Column Index + * + * @var string + */ + private $columnIndex = ''; - /** - * Autofilter Column Filter Type - * - * @var string - */ - private $_filterType = self::AUTOFILTER_FILTERTYPE_FILTER; + /** + * Autofilter Column Filter Type + * + * @var string + */ + private $filterType = self::AUTOFILTER_FILTERTYPE_FILTER; - /** - * Autofilter Multiple Rules And/Or - * - * @var string - */ - private $_join = self::AUTOFILTER_COLUMN_JOIN_OR; + /** + * Autofilter Multiple Rules And/Or + * + * @var string + */ + private $join = self::AUTOFILTER_COLUMN_JOIN_OR; - /** - * Autofilter Column Rules - * - * @var array of PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - private $_ruleset = array(); + /** + * Autofilter Column Rules + * + * @var array of PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + private $ruleset = array(); - /** - * Autofilter Column Dynamic Attributes - * - * @var array of mixed - */ - private $_attributes = array(); + /** + * Autofilter Column Dynamic Attributes + * + * @var array of mixed + */ + private $attributes = array(); - /** - * Create a new PHPExcel_Worksheet_AutoFilter_Column - * - * @param string $pColumn Column (e.g. A) - * @param PHPExcel_Worksheet_AutoFilter $pParent Autofilter for this column - */ - public function __construct($pColumn, PHPExcel_Worksheet_AutoFilter $pParent = NULL) - { - $this->_columnIndex = $pColumn; - $this->_parent = $pParent; - } + /** + * Create a new PHPExcel_Worksheet_AutoFilter_Column + * + * @param string $pColumn Column (e.g. A) + * @param PHPExcel_Worksheet_AutoFilter $pParent Autofilter for this column + */ + public function __construct($pColumn, PHPExcel_Worksheet_AutoFilter $pParent = null) + { + $this->columnIndex = $pColumn; + $this->parent = $pParent; + } - /** - * Get AutoFilter Column Index - * - * @return string - */ - public function getColumnIndex() { - return $this->_columnIndex; - } + /** + * Get AutoFilter Column Index + * + * @return string + */ + public function getColumnIndex() + { + return $this->columnIndex; + } - /** - * Set AutoFilter Column Index - * - * @param string $pColumn Column (e.g. A) - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setColumnIndex($pColumn) { - // Uppercase coordinate - $pColumn = strtoupper($pColumn); - if ($this->_parent !== NULL) { - $this->_parent->testColumnInRange($pColumn); - } + /** + * Set AutoFilter Column Index + * + * @param string $pColumn Column (e.g. A) + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setColumnIndex($pColumn) + { + // Uppercase coordinate + $pColumn = strtoupper($pColumn); + if ($this->parent !== null) { + $this->parent->testColumnInRange($pColumn); + } - $this->_columnIndex = $pColumn; + $this->columnIndex = $pColumn; - return $this; - } + return $this; + } - /** - * Get this Column's AutoFilter Parent - * - * @return PHPExcel_Worksheet_AutoFilter - */ - public function getParent() { - return $this->_parent; - } + /** + * Get this Column's AutoFilter Parent + * + * @return PHPExcel_Worksheet_AutoFilter + */ + public function getParent() + { + return $this->parent; + } - /** - * Set this Column's AutoFilter Parent - * - * @param PHPExcel_Worksheet_AutoFilter - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setParent(PHPExcel_Worksheet_AutoFilter $pParent = NULL) { - $this->_parent = $pParent; + /** + * Set this Column's AutoFilter Parent + * + * @param PHPExcel_Worksheet_AutoFilter + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setParent(PHPExcel_Worksheet_AutoFilter $pParent = null) + { + $this->parent = $pParent; - return $this; - } + return $this; + } - /** - * Get AutoFilter Type - * - * @return string - */ - public function getFilterType() { - return $this->_filterType; - } + /** + * Get AutoFilter Type + * + * @return string + */ + public function getFilterType() + { + return $this->filterType; + } - /** - * Set AutoFilter Type - * - * @param string $pFilterType - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setFilterType($pFilterType = self::AUTOFILTER_FILTERTYPE_FILTER) { - if (!in_array($pFilterType,self::$_filterTypes)) { - throw new PHPExcel_Exception('Invalid filter type for column AutoFilter.'); - } + /** + * Set AutoFilter Type + * + * @param string $pFilterType + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setFilterType($pFilterType = self::AUTOFILTER_FILTERTYPE_FILTER) + { + if (!in_array($pFilterType, self::$filterTypes)) { + throw new PHPExcel_Exception('Invalid filter type for column AutoFilter.'); + } - $this->_filterType = $pFilterType; + $this->filterType = $pFilterType; - return $this; - } + return $this; + } - /** - * Get AutoFilter Multiple Rules And/Or Join - * - * @return string - */ - public function getJoin() { - return $this->_join; - } + /** + * Get AutoFilter Multiple Rules And/Or Join + * + * @return string + */ + public function getJoin() + { + return $this->join; + } - /** - * Set AutoFilter Multiple Rules And/Or - * - * @param string $pJoin And/Or - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setJoin($pJoin = self::AUTOFILTER_COLUMN_JOIN_OR) { - // Lowercase And/Or - $pJoin = strtolower($pJoin); - if (!in_array($pJoin,self::$_ruleJoins)) { - throw new PHPExcel_Exception('Invalid rule connection for column AutoFilter.'); - } + /** + * Set AutoFilter Multiple Rules And/Or + * + * @param string $pJoin And/Or + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setJoin($pJoin = self::AUTOFILTER_COLUMN_JOIN_OR) + { + // Lowercase And/Or + $pJoin = strtolower($pJoin); + if (!in_array($pJoin, self::$ruleJoins)) { + throw new PHPExcel_Exception('Invalid rule connection for column AutoFilter.'); + } - $this->_join = $pJoin; + $this->join = $pJoin; - return $this; - } + return $this; + } - /** - * Set AutoFilter Attributes - * - * @param string[] $pAttributes - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setAttributes($pAttributes = array()) { - $this->_attributes = $pAttributes; + /** + * Set AutoFilter Attributes + * + * @param string[] $pAttributes + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setAttributes($pAttributes = array()) + { + $this->attributes = $pAttributes; - return $this; - } + return $this; + } - /** - * Set An AutoFilter Attribute - * - * @param string $pName Attribute Name - * @param string $pValue Attribute Value - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setAttribute($pName, $pValue) { - $this->_attributes[$pName] = $pValue; + /** + * Set An AutoFilter Attribute + * + * @param string $pName Attribute Name + * @param string $pValue Attribute Value + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setAttribute($pName, $pValue) + { + $this->attributes[$pName] = $pValue; - return $this; - } + return $this; + } - /** - * Get AutoFilter Column Attributes - * - * @return string - */ - public function getAttributes() { - return $this->_attributes; - } + /** + * Get AutoFilter Column Attributes + * + * @return string + */ + public function getAttributes() + { + return $this->attributes; + } - /** - * Get specific AutoFilter Column Attribute - * - * @param string $pName Attribute Name - * @return string - */ - public function getAttribute($pName) { - if (isset($this->_attributes[$pName])) - return $this->_attributes[$pName]; - return NULL; - } + /** + * Get specific AutoFilter Column Attribute + * + * @param string $pName Attribute Name + * @return string + */ + public function getAttribute($pName) + { + if (isset($this->attributes[$pName])) { + return $this->attributes[$pName]; + } + return null; + } - /** - * Get all AutoFilter Column Rules - * - * @throws PHPExcel_Exception - * @return array of PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function getRules() { - return $this->_ruleset; - } + /** + * Get all AutoFilter Column Rules + * + * @throws PHPExcel_Exception + * @return array of PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function getRules() + { + return $this->ruleset; + } - /** - * Get a specified AutoFilter Column Rule - * - * @param integer $pIndex Rule index in the ruleset array - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function getRule($pIndex) { - if (!isset($this->_ruleset[$pIndex])) { - $this->_ruleset[$pIndex] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); - } - return $this->_ruleset[$pIndex]; - } + /** + * Get a specified AutoFilter Column Rule + * + * @param integer $pIndex Rule index in the ruleset array + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function getRule($pIndex) + { + if (!isset($this->ruleset[$pIndex])) { + $this->ruleset[$pIndex] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); + } + return $this->ruleset[$pIndex]; + } - /** - * Create a new AutoFilter Column Rule in the ruleset - * - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function createRule() { - $this->_ruleset[] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); + /** + * Create a new AutoFilter Column Rule in the ruleset + * + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function createRule() + { + $this->ruleset[] = new PHPExcel_Worksheet_AutoFilter_Column_Rule($this); - return end($this->_ruleset); - } + return end($this->ruleset); + } - /** - * Add a new AutoFilter Column Rule to the ruleset - * - * @param PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule - * @param boolean $returnRule Flag indicating whether the rule object or the column object should be returned - * @return PHPExcel_Worksheet_AutoFilter_Column|PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function addRule(PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule, $returnRule=TRUE) { - $pRule->setParent($this); - $this->_ruleset[] = $pRule; + /** + * Add a new AutoFilter Column Rule to the ruleset + * + * @param PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule + * @param boolean $returnRule Flag indicating whether the rule object or the column object should be returned + * @return PHPExcel_Worksheet_AutoFilter_Column|PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function addRule(PHPExcel_Worksheet_AutoFilter_Column_Rule $pRule, $returnRule = true) + { + $pRule->setParent($this); + $this->ruleset[] = $pRule; - return ($returnRule) ? $pRule : $this; - } + return ($returnRule) ? $pRule : $this; + } - /** - * Delete a specified AutoFilter Column Rule - * If the number of rules is reduced to 1, then we reset And/Or logic to Or - * - * @param integer $pIndex Rule index in the ruleset array - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function deleteRule($pIndex) { - if (isset($this->_ruleset[$pIndex])) { - unset($this->_ruleset[$pIndex]); - // If we've just deleted down to a single rule, then reset And/Or joining to Or - if (count($this->_ruleset) <= 1) { - $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); - } - } + /** + * Delete a specified AutoFilter Column Rule + * If the number of rules is reduced to 1, then we reset And/Or logic to Or + * + * @param integer $pIndex Rule index in the ruleset array + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function deleteRule($pIndex) + { + if (isset($this->ruleset[$pIndex])) { + unset($this->ruleset[$pIndex]); + // If we've just deleted down to a single rule, then reset And/Or joining to Or + if (count($this->ruleset) <= 1) { + $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); + } + } - return $this; - } + return $this; + } - /** - * Delete all AutoFilter Column Rules - * - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function clearRules() { - $this->_ruleset = array(); - $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); + /** + * Delete all AutoFilter Column Rules + * + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function clearRules() + { + $this->ruleset = array(); + $this->setJoin(self::AUTOFILTER_COLUMN_JOIN_OR); - return $this; - } - - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - if ($key == '_parent') { - // Detach from autofilter parent - $this->$key = NULL; - } else { - $this->$key = clone $value; - } - } elseif ((is_array($value)) && ($key == '_ruleset')) { - // The columns array of PHPExcel_Worksheet_AutoFilter objects - $this->$key = array(); - foreach ($value as $k => $v) { - $this->$key[$k] = clone $v; - // attach the new cloned Rule to this new cloned Autofilter Cloned object - $this->$key[$k]->setParent($this); - } - } else { - $this->$key = $value; - } - } - } + return $this; + } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == 'parent') { + // Detach from autofilter parent + $this->$key = null; + } else { + $this->$key = clone $value; + } + } elseif ((is_array($value)) && ($key == 'ruleset')) { + // The columns array of PHPExcel_Worksheet_AutoFilter objects + $this->$key = array(); + foreach ($value as $k => $v) { + $this->$key[$k] = clone $v; + // attach the new cloned Rule to this new cloned Autofilter Cloned object + $this->$key[$k]->setParent($this); + } + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php index e60264640..39ad18bf3 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/AutoFilter/Column/Rule.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_AutoFilter_Column_Rule * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,447 +19,450 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_AutoFilter_Column_Rule - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_AutoFilter_Column_Rule { - const AUTOFILTER_RULETYPE_FILTER = 'filter'; - const AUTOFILTER_RULETYPE_DATEGROUP = 'dateGroupItem'; - const AUTOFILTER_RULETYPE_CUSTOMFILTER = 'customFilter'; - const AUTOFILTER_RULETYPE_DYNAMICFILTER = 'dynamicFilter'; - const AUTOFILTER_RULETYPE_TOPTENFILTER = 'top10Filter'; + const AUTOFILTER_RULETYPE_FILTER = 'filter'; + const AUTOFILTER_RULETYPE_DATEGROUP = 'dateGroupItem'; + const AUTOFILTER_RULETYPE_CUSTOMFILTER = 'customFilter'; + const AUTOFILTER_RULETYPE_DYNAMICFILTER = 'dynamicFilter'; + const AUTOFILTER_RULETYPE_TOPTENFILTER = 'top10Filter'; - private static $_ruleTypes = array( - // Currently we're not handling - // colorFilter - // extLst - // iconFilter - self::AUTOFILTER_RULETYPE_FILTER, - self::AUTOFILTER_RULETYPE_DATEGROUP, - self::AUTOFILTER_RULETYPE_CUSTOMFILTER, - self::AUTOFILTER_RULETYPE_DYNAMICFILTER, - self::AUTOFILTER_RULETYPE_TOPTENFILTER, - ); + private static $ruleTypes = array( + // Currently we're not handling + // colorFilter + // extLst + // iconFilter + self::AUTOFILTER_RULETYPE_FILTER, + self::AUTOFILTER_RULETYPE_DATEGROUP, + self::AUTOFILTER_RULETYPE_CUSTOMFILTER, + self::AUTOFILTER_RULETYPE_DYNAMICFILTER, + self::AUTOFILTER_RULETYPE_TOPTENFILTER, + ); - const AUTOFILTER_RULETYPE_DATEGROUP_YEAR = 'year'; - const AUTOFILTER_RULETYPE_DATEGROUP_MONTH = 'month'; - const AUTOFILTER_RULETYPE_DATEGROUP_DAY = 'day'; - const AUTOFILTER_RULETYPE_DATEGROUP_HOUR = 'hour'; - const AUTOFILTER_RULETYPE_DATEGROUP_MINUTE = 'minute'; - const AUTOFILTER_RULETYPE_DATEGROUP_SECOND = 'second'; + const AUTOFILTER_RULETYPE_DATEGROUP_YEAR = 'year'; + const AUTOFILTER_RULETYPE_DATEGROUP_MONTH = 'month'; + const AUTOFILTER_RULETYPE_DATEGROUP_DAY = 'day'; + const AUTOFILTER_RULETYPE_DATEGROUP_HOUR = 'hour'; + const AUTOFILTER_RULETYPE_DATEGROUP_MINUTE = 'minute'; + const AUTOFILTER_RULETYPE_DATEGROUP_SECOND = 'second'; - private static $_dateTimeGroups = array( - self::AUTOFILTER_RULETYPE_DATEGROUP_YEAR, - self::AUTOFILTER_RULETYPE_DATEGROUP_MONTH, - self::AUTOFILTER_RULETYPE_DATEGROUP_DAY, - self::AUTOFILTER_RULETYPE_DATEGROUP_HOUR, - self::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE, - self::AUTOFILTER_RULETYPE_DATEGROUP_SECOND, - ); + private static $dateTimeGroups = array( + self::AUTOFILTER_RULETYPE_DATEGROUP_YEAR, + self::AUTOFILTER_RULETYPE_DATEGROUP_MONTH, + self::AUTOFILTER_RULETYPE_DATEGROUP_DAY, + self::AUTOFILTER_RULETYPE_DATEGROUP_HOUR, + self::AUTOFILTER_RULETYPE_DATEGROUP_MINUTE, + self::AUTOFILTER_RULETYPE_DATEGROUP_SECOND, + ); - const AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY = 'yesterday'; - const AUTOFILTER_RULETYPE_DYNAMIC_TODAY = 'today'; - const AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW = 'tomorrow'; - const AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE = 'yearToDate'; - const AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR = 'thisYear'; - const AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER = 'thisQuarter'; - const AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH = 'thisMonth'; - const AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK = 'thisWeek'; - const AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR = 'lastYear'; - const AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER = 'lastQuarter'; - const AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH = 'lastMonth'; - const AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK = 'lastWeek'; - const AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR = 'nextYear'; - const AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER = 'nextQuarter'; - const AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH = 'nextMonth'; - const AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK = 'nextWeek'; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1 = 'M1'; - const AUTOFILTER_RULETYPE_DYNAMIC_JANUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2 = 'M2'; - const AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3 = 'M3'; - const AUTOFILTER_RULETYPE_DYNAMIC_MARCH = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4 = 'M4'; - const AUTOFILTER_RULETYPE_DYNAMIC_APRIL = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5 = 'M5'; - const AUTOFILTER_RULETYPE_DYNAMIC_MAY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6 = 'M6'; - const AUTOFILTER_RULETYPE_DYNAMIC_JUNE = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7 = 'M7'; - const AUTOFILTER_RULETYPE_DYNAMIC_JULY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8 = 'M8'; - const AUTOFILTER_RULETYPE_DYNAMIC_AUGUST = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9 = 'M9'; - const AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10 = 'M10'; - const AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11 = 'M11'; - const AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11; - const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12 = 'M12'; - const AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12; - const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1 = 'Q1'; - const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2 = 'Q2'; - const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3 = 'Q3'; - const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4 = 'Q4'; - const AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE = 'aboveAverage'; - const AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE = 'belowAverage'; + const AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY = 'yesterday'; + const AUTOFILTER_RULETYPE_DYNAMIC_TODAY = 'today'; + const AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW = 'tomorrow'; + const AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE = 'yearToDate'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR = 'thisYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER = 'thisQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH = 'thisMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK = 'thisWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR = 'lastYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER = 'lastQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH = 'lastMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK = 'lastWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR = 'nextYear'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER = 'nextQuarter'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH = 'nextMonth'; + const AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK = 'nextWeek'; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1 = 'M1'; + const AUTOFILTER_RULETYPE_DYNAMIC_JANUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2 = 'M2'; + const AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3 = 'M3'; + const AUTOFILTER_RULETYPE_DYNAMIC_MARCH = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4 = 'M4'; + const AUTOFILTER_RULETYPE_DYNAMIC_APRIL = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5 = 'M5'; + const AUTOFILTER_RULETYPE_DYNAMIC_MAY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6 = 'M6'; + const AUTOFILTER_RULETYPE_DYNAMIC_JUNE = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7 = 'M7'; + const AUTOFILTER_RULETYPE_DYNAMIC_JULY = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8 = 'M8'; + const AUTOFILTER_RULETYPE_DYNAMIC_AUGUST = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9 = 'M9'; + const AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10 = 'M10'; + const AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11 = 'M11'; + const AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11; + const AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12 = 'M12'; + const AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER = self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1 = 'Q1'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2 = 'Q2'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3 = 'Q3'; + const AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4 = 'Q4'; + const AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE = 'aboveAverage'; + const AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE = 'belowAverage'; - private static $_dynamicTypes = array( - self::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY, - self::AUTOFILTER_RULETYPE_DYNAMIC_TODAY, - self::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW, - self::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE, - self::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR, - self::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER, - self::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH, - self::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK, - self::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR, - self::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER, - self::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH, - self::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK, - self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR, - self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER, - self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH, - self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11, - self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12, - self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1, - self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2, - self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3, - self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4, - self::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE, - self::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE, - ); + private static $dynamicTypes = array( + self::AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY, + self::AUTOFILTER_RULETYPE_DYNAMIC_TODAY, + self::AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW, + self::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH, + self::AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11, + self::AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3, + self::AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4, + self::AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE, + self::AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE, + ); - /* - * The only valid filter rule operators for filter and customFilter types are: - * <xsd:enumeration value="equal"/> - * <xsd:enumeration value="lessThan"/> - * <xsd:enumeration value="lessThanOrEqual"/> - * <xsd:enumeration value="notEqual"/> - * <xsd:enumeration value="greaterThanOrEqual"/> - * <xsd:enumeration value="greaterThan"/> - */ - const AUTOFILTER_COLUMN_RULE_EQUAL = 'equal'; - const AUTOFILTER_COLUMN_RULE_NOTEQUAL = 'notEqual'; - const AUTOFILTER_COLUMN_RULE_GREATERTHAN = 'greaterThan'; - const AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL = 'greaterThanOrEqual'; - const AUTOFILTER_COLUMN_RULE_LESSTHAN = 'lessThan'; - const AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL = 'lessThanOrEqual'; + /* + * The only valid filter rule operators for filter and customFilter types are: + * <xsd:enumeration value="equal"/> + * <xsd:enumeration value="lessThan"/> + * <xsd:enumeration value="lessThanOrEqual"/> + * <xsd:enumeration value="notEqual"/> + * <xsd:enumeration value="greaterThanOrEqual"/> + * <xsd:enumeration value="greaterThan"/> + */ + const AUTOFILTER_COLUMN_RULE_EQUAL = 'equal'; + const AUTOFILTER_COLUMN_RULE_NOTEQUAL = 'notEqual'; + const AUTOFILTER_COLUMN_RULE_GREATERTHAN = 'greaterThan'; + const AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL = 'greaterThanOrEqual'; + const AUTOFILTER_COLUMN_RULE_LESSTHAN = 'lessThan'; + const AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL = 'lessThanOrEqual'; - private static $_operators = array( - self::AUTOFILTER_COLUMN_RULE_EQUAL, - self::AUTOFILTER_COLUMN_RULE_NOTEQUAL, - self::AUTOFILTER_COLUMN_RULE_GREATERTHAN, - self::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, - self::AUTOFILTER_COLUMN_RULE_LESSTHAN, - self::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL, - ); + private static $operators = array( + self::AUTOFILTER_COLUMN_RULE_EQUAL, + self::AUTOFILTER_COLUMN_RULE_NOTEQUAL, + self::AUTOFILTER_COLUMN_RULE_GREATERTHAN, + self::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, + self::AUTOFILTER_COLUMN_RULE_LESSTHAN, + self::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL, + ); - const AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE = 'byValue'; - const AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT = 'byPercent'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE = 'byValue'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT = 'byPercent'; - private static $_topTenValue = array( - self::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE, - self::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT, - ); + private static $topTenValue = array( + self::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE, + self::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT, + ); - const AUTOFILTER_COLUMN_RULE_TOPTEN_TOP = 'top'; - const AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM = 'bottom'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_TOP = 'top'; + const AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM = 'bottom'; - private static $_topTenType = array( - self::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP, - self::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM, - ); + private static $topTenType = array( + self::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP, + self::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM, + ); - /* Rule Operators (Numeric, Boolean etc) */ -// const AUTOFILTER_COLUMN_RULE_BETWEEN = 'between'; // greaterThanOrEqual 1 && lessThanOrEqual 2 - /* Rule Operators (Numeric Special) which are translated to standard numeric operators with calculated values */ -// const AUTOFILTER_COLUMN_RULE_TOPTEN = 'topTen'; // greaterThan calculated value -// const AUTOFILTER_COLUMN_RULE_TOPTENPERCENT = 'topTenPercent'; // greaterThan calculated value -// const AUTOFILTER_COLUMN_RULE_ABOVEAVERAGE = 'aboveAverage'; // Value is calculated as the average -// const AUTOFILTER_COLUMN_RULE_BELOWAVERAGE = 'belowAverage'; // Value is calculated as the average - /* Rule Operators (String) which are set as wild-carded values */ -// const AUTOFILTER_COLUMN_RULE_BEGINSWITH = 'beginsWith'; // A* -// const AUTOFILTER_COLUMN_RULE_ENDSWITH = 'endsWith'; // *Z -// const AUTOFILTER_COLUMN_RULE_CONTAINS = 'contains'; // *B* -// const AUTOFILTER_COLUMN_RULE_DOESNTCONTAIN = 'notEqual'; // notEqual *B* - /* Rule Operators (Date Special) which are translated to standard numeric operators with calculated values */ -// const AUTOFILTER_COLUMN_RULE_BEFORE = 'lessThan'; -// const AUTOFILTER_COLUMN_RULE_AFTER = 'greaterThan'; -// const AUTOFILTER_COLUMN_RULE_YESTERDAY = 'yesterday'; -// const AUTOFILTER_COLUMN_RULE_TODAY = 'today'; -// const AUTOFILTER_COLUMN_RULE_TOMORROW = 'tomorrow'; -// const AUTOFILTER_COLUMN_RULE_LASTWEEK = 'lastWeek'; -// const AUTOFILTER_COLUMN_RULE_THISWEEK = 'thisWeek'; -// const AUTOFILTER_COLUMN_RULE_NEXTWEEK = 'nextWeek'; -// const AUTOFILTER_COLUMN_RULE_LASTMONTH = 'lastMonth'; -// const AUTOFILTER_COLUMN_RULE_THISMONTH = 'thisMonth'; -// const AUTOFILTER_COLUMN_RULE_NEXTMONTH = 'nextMonth'; -// const AUTOFILTER_COLUMN_RULE_LASTQUARTER = 'lastQuarter'; -// const AUTOFILTER_COLUMN_RULE_THISQUARTER = 'thisQuarter'; -// const AUTOFILTER_COLUMN_RULE_NEXTQUARTER = 'nextQuarter'; -// const AUTOFILTER_COLUMN_RULE_LASTYEAR = 'lastYear'; -// const AUTOFILTER_COLUMN_RULE_THISYEAR = 'thisYear'; -// const AUTOFILTER_COLUMN_RULE_NEXTYEAR = 'nextYear'; -// const AUTOFILTER_COLUMN_RULE_YEARTODATE = 'yearToDate'; // <dynamicFilter val="40909" type="yearToDate" maxVal="41113"/> -// const AUTOFILTER_COLUMN_RULE_ALLDATESINMONTH = 'allDatesInMonth'; // <dynamicFilter type="M2"/> for Month/February -// const AUTOFILTER_COLUMN_RULE_ALLDATESINQUARTER = 'allDatesInQuarter'; // <dynamicFilter type="Q2"/> for Quarter 2 + /* Rule Operators (Numeric, Boolean etc) */ +// const AUTOFILTER_COLUMN_RULE_BETWEEN = 'between'; // greaterThanOrEqual 1 && lessThanOrEqual 2 + /* Rule Operators (Numeric Special) which are translated to standard numeric operators with calculated values */ +// const AUTOFILTER_COLUMN_RULE_TOPTEN = 'topTen'; // greaterThan calculated value +// const AUTOFILTER_COLUMN_RULE_TOPTENPERCENT = 'topTenPercent'; // greaterThan calculated value +// const AUTOFILTER_COLUMN_RULE_ABOVEAVERAGE = 'aboveAverage'; // Value is calculated as the average +// const AUTOFILTER_COLUMN_RULE_BELOWAVERAGE = 'belowAverage'; // Value is calculated as the average + /* Rule Operators (String) which are set as wild-carded values */ +// const AUTOFILTER_COLUMN_RULE_BEGINSWITH = 'beginsWith'; // A* +// const AUTOFILTER_COLUMN_RULE_ENDSWITH = 'endsWith'; // *Z +// const AUTOFILTER_COLUMN_RULE_CONTAINS = 'contains'; // *B* +// const AUTOFILTER_COLUMN_RULE_DOESNTCONTAIN = 'notEqual'; // notEqual *B* + /* Rule Operators (Date Special) which are translated to standard numeric operators with calculated values */ +// const AUTOFILTER_COLUMN_RULE_BEFORE = 'lessThan'; +// const AUTOFILTER_COLUMN_RULE_AFTER = 'greaterThan'; +// const AUTOFILTER_COLUMN_RULE_YESTERDAY = 'yesterday'; +// const AUTOFILTER_COLUMN_RULE_TODAY = 'today'; +// const AUTOFILTER_COLUMN_RULE_TOMORROW = 'tomorrow'; +// const AUTOFILTER_COLUMN_RULE_LASTWEEK = 'lastWeek'; +// const AUTOFILTER_COLUMN_RULE_THISWEEK = 'thisWeek'; +// const AUTOFILTER_COLUMN_RULE_NEXTWEEK = 'nextWeek'; +// const AUTOFILTER_COLUMN_RULE_LASTMONTH = 'lastMonth'; +// const AUTOFILTER_COLUMN_RULE_THISMONTH = 'thisMonth'; +// const AUTOFILTER_COLUMN_RULE_NEXTMONTH = 'nextMonth'; +// const AUTOFILTER_COLUMN_RULE_LASTQUARTER = 'lastQuarter'; +// const AUTOFILTER_COLUMN_RULE_THISQUARTER = 'thisQuarter'; +// const AUTOFILTER_COLUMN_RULE_NEXTQUARTER = 'nextQuarter'; +// const AUTOFILTER_COLUMN_RULE_LASTYEAR = 'lastYear'; +// const AUTOFILTER_COLUMN_RULE_THISYEAR = 'thisYear'; +// const AUTOFILTER_COLUMN_RULE_NEXTYEAR = 'nextYear'; +// const AUTOFILTER_COLUMN_RULE_YEARTODATE = 'yearToDate'; // <dynamicFilter val="40909" type="yearToDate" maxVal="41113"/> +// const AUTOFILTER_COLUMN_RULE_ALLDATESINMONTH = 'allDatesInMonth'; // <dynamicFilter type="M2"/> for Month/February +// const AUTOFILTER_COLUMN_RULE_ALLDATESINQUARTER = 'allDatesInQuarter'; // <dynamicFilter type="Q2"/> for Quarter 2 - /** - * Autofilter Column - * - * @var PHPExcel_Worksheet_AutoFilter_Column - */ - private $_parent = NULL; + /** + * Autofilter Column + * + * @var PHPExcel_Worksheet_AutoFilter_Column + */ + private $parent = null; - /** - * Autofilter Rule Type - * - * @var string - */ - private $_ruleType = self::AUTOFILTER_RULETYPE_FILTER; + /** + * Autofilter Rule Type + * + * @var string + */ + private $ruleType = self::AUTOFILTER_RULETYPE_FILTER; - /** - * Autofilter Rule Value - * - * @var string - */ - private $_value = ''; + /** + * Autofilter Rule Value + * + * @var string + */ + private $value = ''; - /** - * Autofilter Rule Operator - * - * @var string - */ - private $_operator = self::AUTOFILTER_COLUMN_RULE_EQUAL; + /** + * Autofilter Rule Operator + * + * @var string + */ + private $operator = self::AUTOFILTER_COLUMN_RULE_EQUAL; - /** - * DateTimeGrouping Group Value - * - * @var string - */ - private $_grouping = ''; + /** + * DateTimeGrouping Group Value + * + * @var string + */ + private $grouping = ''; - /** - * Create a new PHPExcel_Worksheet_AutoFilter_Column_Rule - * - * @param PHPExcel_Worksheet_AutoFilter_Column $pParent - */ - public function __construct(PHPExcel_Worksheet_AutoFilter_Column $pParent = NULL) - { - $this->_parent = $pParent; - } + /** + * Create a new PHPExcel_Worksheet_AutoFilter_Column_Rule + * + * @param PHPExcel_Worksheet_AutoFilter_Column $pParent + */ + public function __construct(PHPExcel_Worksheet_AutoFilter_Column $pParent = null) + { + $this->parent = $pParent; + } - /** - * Get AutoFilter Rule Type - * - * @return string - */ - public function getRuleType() { - return $this->_ruleType; - } + /** + * Get AutoFilter Rule Type + * + * @return string + */ + public function getRuleType() + { + return $this->ruleType; + } - /** - * Set AutoFilter Rule Type - * - * @param string $pRuleType - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function setRuleType($pRuleType = self::AUTOFILTER_RULETYPE_FILTER) { - if (!in_array($pRuleType,self::$_ruleTypes)) { - throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); - } + /** + * Set AutoFilter Rule Type + * + * @param string $pRuleType + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function setRuleType($pRuleType = self::AUTOFILTER_RULETYPE_FILTER) + { + if (!in_array($pRuleType, self::$ruleTypes)) { + throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); + } - $this->_ruleType = $pRuleType; + $this->ruleType = $pRuleType; - return $this; - } + return $this; + } - /** - * Get AutoFilter Rule Value - * - * @return string - */ - public function getValue() { - return $this->_value; - } + /** + * Get AutoFilter Rule Value + * + * @return string + */ + public function getValue() + { + return $this->value; + } - /** - * Set AutoFilter Rule Value - * - * @param string|string[] $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function setValue($pValue = '') { - if (is_array($pValue)) { - $grouping = -1; - foreach($pValue as $key => $value) { - // Validate array entries - if (!in_array($key,self::$_dateTimeGroups)) { - // Remove any invalid entries from the value array - unset($pValue[$key]); - } else { - // Work out what the dateTime grouping will be - $grouping = max($grouping,array_search($key,self::$_dateTimeGroups)); - } - } - if (count($pValue) == 0) { - throw new PHPExcel_Exception('Invalid rule value for column AutoFilter Rule.'); - } - // Set the dateTime grouping that we've anticipated - $this->setGrouping(self::$_dateTimeGroups[$grouping]); - } - $this->_value = $pValue; + /** + * Set AutoFilter Rule Value + * + * @param string|string[] $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setValue($pValue = '') + { + if (is_array($pValue)) { + $grouping = -1; + foreach ($pValue as $key => $value) { + // Validate array entries + if (!in_array($key, self::$dateTimeGroups)) { + // Remove any invalid entries from the value array + unset($pValue[$key]); + } else { + // Work out what the dateTime grouping will be + $grouping = max($grouping, array_search($key, self::$dateTimeGroups)); + } + } + if (count($pValue) == 0) { + throw new PHPExcel_Exception('Invalid rule value for column AutoFilter Rule.'); + } + // Set the dateTime grouping that we've anticipated + $this->setGrouping(self::$dateTimeGroups[$grouping]); + } + $this->value = $pValue; - return $this; - } + return $this; + } - /** - * Get AutoFilter Rule Operator - * - * @return string - */ - public function getOperator() { - return $this->_operator; - } + /** + * Get AutoFilter Rule Operator + * + * @return string + */ + public function getOperator() + { + return $this->operator; + } - /** - * Set AutoFilter Rule Operator - * - * @param string $pOperator - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function setOperator($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL) { - if (empty($pOperator)) - $pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL; - if ((!in_array($pOperator,self::$_operators)) && - (!in_array($pOperator,self::$_topTenValue))) { - throw new PHPExcel_Exception('Invalid operator for column AutoFilter Rule.'); - } - $this->_operator = $pOperator; + /** + * Set AutoFilter Rule Operator + * + * @param string $pOperator + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setOperator($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL) + { + if (empty($pOperator)) { + $pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL; + } + if ((!in_array($pOperator, self::$operators)) && + (!in_array($pOperator, self::$topTenValue))) { + throw new PHPExcel_Exception('Invalid operator for column AutoFilter Rule.'); + } + $this->operator = $pOperator; - return $this; - } + return $this; + } - /** - * Get AutoFilter Rule Grouping - * - * @return string - */ - public function getGrouping() { - return $this->_grouping; - } + /** + * Get AutoFilter Rule Grouping + * + * @return string + */ + public function getGrouping() + { + return $this->grouping; + } - /** - * Set AutoFilter Rule Grouping - * - * @param string $pGrouping - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function setGrouping($pGrouping = NULL) { - if (($pGrouping !== NULL) && - (!in_array($pGrouping,self::$_dateTimeGroups)) && - (!in_array($pGrouping,self::$_dynamicTypes)) && - (!in_array($pGrouping,self::$_topTenType))) { - throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); - } + /** + * Set AutoFilter Rule Grouping + * + * @param string $pGrouping + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setGrouping($pGrouping = null) + { + if (($pGrouping !== null) && + (!in_array($pGrouping, self::$dateTimeGroups)) && + (!in_array($pGrouping, self::$dynamicTypes)) && + (!in_array($pGrouping, self::$topTenType))) { + throw new PHPExcel_Exception('Invalid rule type for column AutoFilter Rule.'); + } + $this->grouping = $pGrouping; - $this->_grouping = $pGrouping; + return $this; + } - return $this; - } + /** + * Set AutoFilter Rule + * + * @param string $pOperator + * @param string|string[] $pValue + * @param string $pGrouping + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setRule($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL, $pValue = '', $pGrouping = null) + { + $this->setOperator($pOperator); + $this->setValue($pValue); + // Only set grouping if it's been passed in as a user-supplied argument, + // otherwise we're calculating it when we setValue() and don't want to overwrite that + // If the user supplies an argumnet for grouping, then on their own head be it + if ($pGrouping !== null) { + $this->setGrouping($pGrouping); + } - /** - * Set AutoFilter Rule - * - * @param string $pOperator - * @param string|string[] $pValue - * @param string $pGrouping - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function setRule($pOperator = self::AUTOFILTER_COLUMN_RULE_EQUAL, $pValue = '', $pGrouping = NULL) { - $this->setOperator($pOperator); - $this->setValue($pValue); - // Only set grouping if it's been passed in as a user-supplied argument, - // otherwise we're calculating it when we setValue() and don't want to overwrite that - // If the user supplies an argumnet for grouping, then on their own head be it - if ($pGrouping !== NULL) - $this->setGrouping($pGrouping); + return $this; + } - return $this; - } + /** + * Get this Rule's AutoFilter Column Parent + * + * @return PHPExcel_Worksheet_AutoFilter_Column + */ + public function getParent() + { + return $this->parent; + } - /** - * Get this Rule's AutoFilter Column Parent - * - * @return PHPExcel_Worksheet_AutoFilter_Column - */ - public function getParent() { - return $this->_parent; - } + /** + * Set this Rule's AutoFilter Column Parent + * + * @param PHPExcel_Worksheet_AutoFilter_Column + * @return PHPExcel_Worksheet_AutoFilter_Column_Rule + */ + public function setParent(PHPExcel_Worksheet_AutoFilter_Column $pParent = null) + { + $this->parent = $pParent; - /** - * Set this Rule's AutoFilter Column Parent - * - * @param PHPExcel_Worksheet_AutoFilter_Column - * @return PHPExcel_Worksheet_AutoFilter_Column_Rule - */ - public function setParent(PHPExcel_Worksheet_AutoFilter_Column $pParent = NULL) { - $this->_parent = $pParent; - - return $this; - } - - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - if ($key == '_parent') { - // Detach from autofilter column parent - $this->$key = NULL; - } else { - $this->$key = clone $value; - } - } else { - $this->$key = $value; - } - } - } + return $this; + } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + if ($key == 'parent') { + // Detach from autofilter column parent + $this->$key = null; + } else { + $this->$key = clone $value; + } + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php index 5a760fcad..9ad15c70f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/BaseDrawing.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_BaseDrawing * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,133 +21,124 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_BaseDrawing - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable { - /** - * Image counter - * - * @var int - */ - private static $_imageCounter = 0; + /** + * Image counter + * + * @var int + */ + private static $imageCounter = 0; - /** - * Image index - * - * @var int - */ - private $_imageIndex = 0; + /** + * Image index + * + * @var int + */ + private $imageIndex = 0; - /** - * Name - * - * @var string - */ - protected $_name; + /** + * Name + * + * @var string + */ + protected $name; - /** - * Description - * - * @var string - */ - protected $_description; + /** + * Description + * + * @var string + */ + protected $description; - /** - * Worksheet - * - * @var PHPExcel_Worksheet - */ - protected $_worksheet; + /** + * Worksheet + * + * @var PHPExcel_Worksheet + */ + protected $worksheet; - /** - * Coordinates - * - * @var string - */ - protected $_coordinates; + /** + * Coordinates + * + * @var string + */ + protected $coordinates; - /** - * Offset X - * - * @var int - */ - protected $_offsetX; + /** + * Offset X + * + * @var int + */ + protected $offsetX; - /** - * Offset Y - * - * @var int - */ - protected $_offsetY; + /** + * Offset Y + * + * @var int + */ + protected $offsetY; - /** - * Width - * - * @var int - */ - protected $_width; + /** + * Width + * + * @var int + */ + protected $width; - /** - * Height - * - * @var int - */ - protected $_height; + /** + * Height + * + * @var int + */ + protected $height; - /** - * Proportional resize - * - * @var boolean - */ - protected $_resizeProportional; + /** + * Proportional resize + * + * @var boolean + */ + protected $resizeProportional; - /** - * Rotation - * - * @var int - */ - protected $_rotation; + /** + * Rotation + * + * @var int + */ + protected $rotation; - /** - * Shadow - * - * @var PHPExcel_Worksheet_Drawing_Shadow - */ - protected $_shadow; + /** + * Shadow + * + * @var PHPExcel_Worksheet_Drawing_Shadow + */ + protected $shadow; /** * Create a new PHPExcel_Worksheet_BaseDrawing */ public function __construct() { - // Initialise values - $this->_name = ''; - $this->_description = ''; - $this->_worksheet = null; - $this->_coordinates = 'A1'; - $this->_offsetX = 0; - $this->_offsetY = 0; - $this->_width = 0; - $this->_height = 0; - $this->_resizeProportional = true; - $this->_rotation = 0; - $this->_shadow = new PHPExcel_Worksheet_Drawing_Shadow(); + // Initialise values + $this->name = ''; + $this->description = ''; + $this->worksheet = null; + $this->coordinates = 'A1'; + $this->offsetX = 0; + $this->offsetY = 0; + $this->width = 0; + $this->height = 0; + $this->resizeProportional = true; + $this->rotation = 0; + $this->shadow = new PHPExcel_Worksheet_Drawing_Shadow(); - // Set image index - self::$_imageCounter++; - $this->_imageIndex = self::$_imageCounter; + // Set image index + self::$imageCounter++; + $this->imageIndex = self::$imageCounter; } /** @@ -154,8 +146,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getImageIndex() { - return $this->_imageIndex; + public function getImageIndex() + { + return $this->imageIndex; } /** @@ -163,8 +156,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return string */ - public function getName() { - return $this->_name; + public function getName() + { + return $this->name; } /** @@ -173,9 +167,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param string $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setName($pValue = '') { - $this->_name = $pValue; - return $this; + public function setName($pValue = '') + { + $this->name = $pValue; + return $this; } /** @@ -183,8 +178,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return string */ - public function getDescription() { - return $this->_description; + public function getDescription() + { + return $this->description; } /** @@ -193,9 +189,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param string $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setDescription($pValue = '') { - $this->_description = $pValue; - return $this; + public function setDescription($pValue = '') + { + $this->description = $pValue; + return $this; } /** @@ -203,44 +200,46 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return PHPExcel_Worksheet */ - public function getWorksheet() { - return $this->_worksheet; + public function getWorksheet() + { + return $this->worksheet; } /** * Set Worksheet * - * @param PHPExcel_Worksheet $pValue - * @param bool $pOverrideOld If a Worksheet has already been assigned, overwrite it and remove image from old Worksheet? - * @throws PHPExcel_Exception + * @param PHPExcel_Worksheet $pValue + * @param bool $pOverrideOld If a Worksheet has already been assigned, overwrite it and remove image from old Worksheet? + * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_BaseDrawing */ - public function setWorksheet(PHPExcel_Worksheet $pValue = null, $pOverrideOld = false) { - if (is_null($this->_worksheet)) { - // Add drawing to PHPExcel_Worksheet - $this->_worksheet = $pValue; - $this->_worksheet->getCell($this->_coordinates); - $this->_worksheet->getDrawingCollection()->append($this); - } else { - if ($pOverrideOld) { - // Remove drawing from old PHPExcel_Worksheet - $iterator = $this->_worksheet->getDrawingCollection()->getIterator(); + public function setWorksheet(PHPExcel_Worksheet $pValue = null, $pOverrideOld = false) + { + if (is_null($this->worksheet)) { + // Add drawing to PHPExcel_Worksheet + $this->worksheet = $pValue; + $this->worksheet->getCell($this->coordinates); + $this->worksheet->getDrawingCollection()->append($this); + } else { + if ($pOverrideOld) { + // Remove drawing from old PHPExcel_Worksheet + $iterator = $this->worksheet->getDrawingCollection()->getIterator(); - while ($iterator->valid()) { - if ($iterator->current()->getHashCode() == $this->getHashCode()) { - $this->_worksheet->getDrawingCollection()->offsetUnset( $iterator->key() ); - $this->_worksheet = null; - break; - } - } + while ($iterator->valid()) { + if ($iterator->current()->getHashCode() == $this->getHashCode()) { + $this->worksheet->getDrawingCollection()->offsetUnset($iterator->key()); + $this->worksheet = null; + break; + } + } - // Set new PHPExcel_Worksheet - $this->setWorksheet($pValue); - } else { - throw new PHPExcel_Exception("A PHPExcel_Worksheet has already been assigned. Drawings can only exist on one PHPExcel_Worksheet."); - } - } - return $this; + // Set new PHPExcel_Worksheet + $this->setWorksheet($pValue); + } else { + throw new PHPExcel_Exception("A PHPExcel_Worksheet has already been assigned. Drawings can only exist on one PHPExcel_Worksheet."); + } + } + return $this; } /** @@ -248,8 +247,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return string */ - public function getCoordinates() { - return $this->_coordinates; + public function getCoordinates() + { + return $this->coordinates; } /** @@ -258,9 +258,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param string $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setCoordinates($pValue = 'A1') { - $this->_coordinates = $pValue; - return $this; + public function setCoordinates($pValue = 'A1') + { + $this->coordinates = $pValue; + return $this; } /** @@ -268,8 +269,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getOffsetX() { - return $this->_offsetX; + public function getOffsetX() + { + return $this->offsetX; } /** @@ -278,9 +280,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setOffsetX($pValue = 0) { - $this->_offsetX = $pValue; - return $this; + public function setOffsetX($pValue = 0) + { + $this->offsetX = $pValue; + return $this; } /** @@ -288,8 +291,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getOffsetY() { - return $this->_offsetY; + public function getOffsetY() + { + return $this->offsetY; } /** @@ -298,9 +302,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setOffsetY($pValue = 0) { - $this->_offsetY = $pValue; - return $this; + public function setOffsetY($pValue = 0) + { + $this->offsetY = $pValue; + return $this; } /** @@ -308,8 +313,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getWidth() { - return $this->_width; + public function getWidth() + { + return $this->width; } /** @@ -318,17 +324,18 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setWidth($pValue = 0) { - // Resize proportional? - if ($this->_resizeProportional && $pValue != 0) { - $ratio = $this->_height / ($this->_width != 0 ? $this->_width : 1); - $this->_height = round($ratio * $pValue); - } + public function setWidth($pValue = 0) + { + // Resize proportional? + if ($this->resizeProportional && $pValue != 0) { + $ratio = $this->height / ($this->width != 0 ? $this->width : 1); + $this->height = round($ratio * $pValue); + } - // Set width - $this->_width = $pValue; + // Set width + $this->width = $pValue; - return $this; + return $this; } /** @@ -336,8 +343,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getHeight() { - return $this->_height; + public function getHeight() + { + return $this->height; } /** @@ -346,58 +354,61 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setHeight($pValue = 0) { - // Resize proportional? - if ($this->_resizeProportional && $pValue != 0) { - $ratio = $this->_width / ($this->_height != 0 ? $this->_height : 1); - $this->_width = round($ratio * $pValue); - } + public function setHeight($pValue = 0) + { + // Resize proportional? + if ($this->resizeProportional && $pValue != 0) { + $ratio = $this->width / ($this->height != 0 ? $this->height : 1); + $this->width = round($ratio * $pValue); + } - // Set height - $this->_height = $pValue; + // Set height + $this->height = $pValue; - return $this; + return $this; } /** * Set width and height with proportional resize - * Example: - * <code> - * $objDrawing->setResizeProportional(true); - * $objDrawing->setWidthAndHeight(160,120); - * </code> - * + * Example: + * <code> + * $objDrawing->setResizeProportional(true); + * $objDrawing->setWidthAndHeight(160,120); + * </code> + * * @author Vincent@luo MSN:kele_100@hotmail.com * @param int $width * @param int $height * @return PHPExcel_Worksheet_BaseDrawing */ - public function setWidthAndHeight($width = 0, $height = 0) { - $xratio = $width / ($this->_width != 0 ? $this->_width : 1); - $yratio = $height / ($this->_height != 0 ? $this->_height : 1); - if ($this->_resizeProportional && !($width == 0 || $height == 0)) { - if (($xratio * $this->_height) < $height) { - $this->_height = ceil($xratio * $this->_height); - $this->_width = $width; - } else { - $this->_width = ceil($yratio * $this->_width); - $this->_height = $height; - } - } else { - $this->_width = $width; - $this->_height = $height; + public function setWidthAndHeight($width = 0, $height = 0) + { + $xratio = $width / ($this->width != 0 ? $this->width : 1); + $yratio = $height / ($this->height != 0 ? $this->height : 1); + if ($this->resizeProportional && !($width == 0 || $height == 0)) { + if (($xratio * $this->height) < $height) { + $this->height = ceil($xratio * $this->height); + $this->width = $width; + } else { + $this->width = ceil($yratio * $this->width); + $this->height = $height; + } + } else { + $this->width = $width; + $this->height = $height; } - return $this; - } + return $this; + } /** * Get ResizeProportional * * @return boolean */ - public function getResizeProportional() { - return $this->_resizeProportional; + public function getResizeProportional() + { + return $this->resizeProportional; } /** @@ -406,9 +417,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param boolean $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setResizeProportional($pValue = true) { - $this->_resizeProportional = $pValue; - return $this; + public function setResizeProportional($pValue = true) + { + $this->resizeProportional = $pValue; + return $this; } /** @@ -416,8 +428,9 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return int */ - public function getRotation() { - return $this->_rotation; + public function getRotation() + { + return $this->rotation; } /** @@ -426,9 +439,10 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_BaseDrawing */ - public function setRotation($pValue = 0) { - $this->_rotation = $pValue; - return $this; + public function setRotation($pValue = 0) + { + $this->rotation = $pValue; + return $this; } /** @@ -436,54 +450,58 @@ class PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable * * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function getShadow() { - return $this->_shadow; + public function getShadow() + { + return $this->shadow; } /** * Set Shadow * - * @param PHPExcel_Worksheet_Drawing_Shadow $pValue - * @throws PHPExcel_Exception + * @param PHPExcel_Worksheet_Drawing_Shadow $pValue + * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_BaseDrawing */ - public function setShadow(PHPExcel_Worksheet_Drawing_Shadow $pValue = null) { - $this->_shadow = $pValue; - return $this; + public function setShadow(PHPExcel_Worksheet_Drawing_Shadow $pValue = null) + { + $this->shadow = $pValue; + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_name - . $this->_description - . $this->_worksheet->getHashCode() - . $this->_coordinates - . $this->_offsetX - . $this->_offsetY - . $this->_width - . $this->_height - . $this->_rotation - . $this->_shadow->getHashCode() - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->name . + $this->description . + $this->worksheet->getHashCode() . + $this->coordinates . + $this->offsetX . + $this->offsetY . + $this->width . + $this->height . + $this->rotation . + $this->shadow->getHashCode() . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php index 239cb4ff1..53cf7bf31 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/CellIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_CellIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,75 +21,67 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version 1.8.0, 2014-03-02 - */ - - -/** - * PHPExcel_Worksheet_CellIterator - * - * Used to iterate rows in a PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ abstract class PHPExcel_Worksheet_CellIterator { - /** - * PHPExcel_Worksheet to iterate - * - * @var PHPExcel_Worksheet - */ - protected $_subject; + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + protected $subject; - /** - * Current iterator position - * - * @var mixed - */ - protected $_position = null; + /** + * Current iterator position + * + * @var mixed + */ + protected $position = null; - /** - * Iterate only existing cells - * - * @var boolean - */ - protected $_onlyExistingCells = false; + /** + * Iterate only existing cells + * + * @var boolean + */ + protected $onlyExistingCells = false; - /** - * Destructor - */ - public function __destruct() { - unset($this->_subject); - } - - /** - * Get loop only existing cells - * - * @return boolean - */ - public function getIterateOnlyExistingCells() { - return $this->_onlyExistingCells; + /** + * Destructor + */ + public function __destruct() + { + unset($this->subject); } - /** - * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary - * + /** + * Get loop only existing cells + * + * @return boolean + */ + public function getIterateOnlyExistingCells() + { + return $this->onlyExistingCells; + } + + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * * @throws PHPExcel_Exception */ abstract protected function adjustForExistingOnlyRange(); - /** - * Set the iterator to loop only existing cells - * - * @param boolean $value + /** + * Set the iterator to loop only existing cells + * + * @param boolean $value * @throws PHPExcel_Exception - */ - public function setIterateOnlyExistingCells($value = true) { - $this->_onlyExistingCells = (boolean) $value; + */ + public function setIterateOnlyExistingCells($value = true) + { + $this->onlyExistingCells = (boolean) $value; $this->adjustForExistingOnlyRange(); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php index 94af21357..6d3f36d17 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Column.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_Column * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,73 +21,66 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_Column - * - * Represents a column in PHPExcel_Worksheet, used by PHPExcel_Worksheet_ColumnIterator - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_Column { - /** - * PHPExcel_Worksheet - * - * @var PHPExcel_Worksheet - */ - private $_parent; + /** + * PHPExcel_Worksheet + * + * @var PHPExcel_Worksheet + */ + private $parent; - /** - * Column index - * - * @var string - */ - private $_columnIndex; + /** + * Column index + * + * @var string + */ + private $columnIndex; - /** - * Create a new column - * - * @param PHPExcel_Worksheet $parent - * @param string $columnIndex - */ - public function __construct(PHPExcel_Worksheet $parent = null, $columnIndex = 'A') { - // Set parent and column index - $this->_parent = $parent; - $this->_columnIndex = $columnIndex; - } + /** + * Create a new column + * + * @param PHPExcel_Worksheet $parent + * @param string $columnIndex + */ + public function __construct(PHPExcel_Worksheet $parent = null, $columnIndex = 'A') + { + // Set parent and column index + $this->parent = $parent; + $this->columnIndex = $columnIndex; + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_parent); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->parent); + } - /** - * Get column index - * - * @return int - */ - public function getColumnIndex() { - return $this->_columnIndex; - } + /** + * Get column index + * + * @return string + */ + public function getColumnIndex() + { + return $this->columnIndex; + } - /** - * Get cell iterator - * - * @param integer $startRow The row number at which to start iterating - * @param integer $endRow Optionally, the row number at which to stop iterating - * @return PHPExcel_Worksheet_CellIterator - */ - public function getCellIterator($startRow = 1, $endRow = null) { - return new PHPExcel_Worksheet_ColumnCellIterator($this->_parent, $this->_columnIndex, $startRow, $endRow); - } + /** + * Get cell iterator + * + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + * @return PHPExcel_Worksheet_CellIterator + */ + public function getCellIterator($startRow = 1, $endRow = null) + { + return new PHPExcel_Worksheet_ColumnCellIterator($this->parent, $this->columnIndex, $startRow, $endRow); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php index a9ef49f00..7b8c2190a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnCellIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_ColumnCellIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,197 +20,197 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_ColumnCellIterator - * - * Used to iterate columns in a PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_ColumnCellIterator extends PHPExcel_Worksheet_CellIterator implements Iterator { - /** - * Column index - * - * @var string - */ - protected $_columnIndex; + /** + * Column index + * + * @var string + */ + protected $columnIndex; /** - * Start position - * - * @var int - */ - protected $_startRow = 1; + * Start position + * + * @var int + */ + protected $startRow = 1; - /** - * End position - * - * @var int - */ - protected $_endRow = 1; + /** + * End position + * + * @var int + */ + protected $endRow = 1; - /** - * Create a new row iterator - * - * @param PHPExcel_Worksheet $subject The worksheet to iterate over + /** + * Create a new row iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over * @param string $columnIndex The column that we want to iterate - * @param integer $startRow The row number at which to start iterating - * @param integer $endRow Optionally, the row number at which to stop iterating - */ - public function __construct(PHPExcel_Worksheet $subject = null, $columnIndex, $startRow = 1, $endRow = null) { - // Set subject - $this->_subject = $subject; - $this->_columnIndex = PHPExcel_Cell::columnIndexFromString($columnIndex) - 1; - $this->resetEnd($endRow); - $this->resetStart($startRow); - } + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $columnIndex = 'A', $startRow = 1, $endRow = null) + { + // Set subject + $this->subject = $subject; + $this->columnIndex = PHPExcel_Cell::columnIndexFromString($columnIndex) - 1; + $this->resetEnd($endRow); + $this->resetStart($startRow); + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_subject); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->subject); + } - /** - * (Re)Set the start row and the current row pointer - * - * @param integer $startRow The row number at which to start iterating + /** + * (Re)Set the start row and the current row pointer + * + * @param integer $startRow The row number at which to start iterating * @return PHPExcel_Worksheet_ColumnCellIterator * @throws PHPExcel_Exception - */ - public function resetStart($startRow = 1) { - $this->_startRow = $startRow; + */ + public function resetStart($startRow = 1) + { + $this->startRow = $startRow; $this->adjustForExistingOnlyRange(); - $this->seek($startRow); + $this->seek($startRow); return $this; - } + } - /** - * (Re)Set the end row - * - * @param integer $endRow The row number at which to stop iterating + /** + * (Re)Set the end row + * + * @param integer $endRow The row number at which to stop iterating * @return PHPExcel_Worksheet_ColumnCellIterator * @throws PHPExcel_Exception - */ - public function resetEnd($endRow = null) { - $this->_endRow = ($endRow) ? $endRow : $this->_subject->getHighestRow(); + */ + public function resetEnd($endRow = null) + { + $this->endRow = ($endRow) ? $endRow : $this->subject->getHighestRow(); $this->adjustForExistingOnlyRange(); return $this; - } + } - /** - * Set the row pointer to the selected row - * - * @param integer $row The row number to set the current pointer at + /** + * Set the row pointer to the selected row + * + * @param integer $row The row number to set the current pointer at * @return PHPExcel_Worksheet_ColumnCellIterator * @throws PHPExcel_Exception - */ - public function seek($row = 1) { - if (($row < $this->_startRow) || ($row > $this->_endRow)) { - throw new PHPExcel_Exception("Row $row is out of range ({$this->_startRow} - {$this->_endRow})"); - } elseif ($this->_onlyExistingCells && !($this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $row))) { + */ + public function seek($row = 1) + { + if (($row < $this->startRow) || ($row > $this->endRow)) { + throw new PHPExcel_Exception("Row $row is out of range ({$this->startRow} - {$this->endRow})"); + } elseif ($this->onlyExistingCells && !($this->subject->cellExistsByColumnAndRow($this->columnIndex, $row))) { throw new PHPExcel_Exception('In "IterateOnlyExistingCells" mode and Cell does not exist'); } - $this->_position = $row; + $this->position = $row; return $this; - } + } - /** - * Rewind the iterator to the starting row - */ - public function rewind() { - $this->_position = $this->_startRow; - } + /** + * Rewind the iterator to the starting row + */ + public function rewind() + { + $this->position = $this->startRow; + } - /** - * Return the current cell in this worksheet column - * - * @return PHPExcel_Worksheet_Row - */ - public function current() { - return $this->_subject->getCellByColumnAndRow($this->_columnIndex, $this->_position); - } + /** + * Return the current cell in this worksheet column + * + * @return PHPExcel_Worksheet_Row + */ + public function current() + { + return $this->subject->getCellByColumnAndRow($this->columnIndex, $this->position); + } - /** - * Return the current iterator key - * - * @return int - */ - public function key() { - return $this->_position; - } + /** + * Return the current iterator key + * + * @return int + */ + public function key() + { + return $this->position; + } - /** - * Set the iterator to its next value - */ - public function next() { + /** + * Set the iterator to its next value + */ + public function next() + { do { - ++$this->_position; - } while (($this->_onlyExistingCells) && - (!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_position)) && - ($this->_position <= $this->_endRow)); - } + ++$this->position; + } while (($this->onlyExistingCells) && + (!$this->subject->cellExistsByColumnAndRow($this->columnIndex, $this->position)) && + ($this->position <= $this->endRow)); + } - /** - * Set the iterator to its previous value - */ - public function prev() { - if ($this->_position <= $this->_startRow) { - throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->_startRow} - {$this->_endRow})"); + /** + * Set the iterator to its previous value + */ + public function prev() + { + if ($this->position <= $this->startRow) { + throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->startRow} - {$this->endRow})"); } do { - --$this->_position; - } while (($this->_onlyExistingCells) && - (!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_position)) && - ($this->_position >= $this->_startRow)); - } + --$this->position; + } while (($this->onlyExistingCells) && + (!$this->subject->cellExistsByColumnAndRow($this->columnIndex, $this->position)) && + ($this->position >= $this->startRow)); + } - /** - * Indicate if more rows exist in the worksheet range of rows that we're iterating - * - * @return boolean - */ - public function valid() { - return $this->_position <= $this->_endRow; - } + /** + * Indicate if more rows exist in the worksheet range of rows that we're iterating + * + * @return boolean + */ + public function valid() + { + return $this->position <= $this->endRow; + } - /** - * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary - * + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * * @throws PHPExcel_Exception - */ - protected function adjustForExistingOnlyRange() { - if ($this->_onlyExistingCells) { - while ((!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_startRow)) && - ($this->_startRow <= $this->_endRow)) { - ++$this->_startRow; + */ + protected function adjustForExistingOnlyRange() + { + if ($this->onlyExistingCells) { + while ((!$this->subject->cellExistsByColumnAndRow($this->columnIndex, $this->startRow)) && + ($this->startRow <= $this->endRow)) { + ++$this->startRow; } - if ($this->_startRow > $this->_endRow) { + if ($this->startRow > $this->endRow) { throw new PHPExcel_Exception('No cells exist within the specified range'); } - while ((!$this->_subject->cellExistsByColumnAndRow($this->_columnIndex, $this->_endRow)) && - ($this->_endRow >= $this->_startRow)) { - --$this->_endRow; + while ((!$this->subject->cellExistsByColumnAndRow($this->columnIndex, $this->endRow)) && + ($this->endRow >= $this->startRow)) { + --$this->endRow; } - if ($this->_endRow < $this->_startRow) { + if ($this->endRow < $this->startRow) { throw new PHPExcel_Exception('No cells exist within the specified range'); } } } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php index bc6a042eb..405b8258e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnDimension.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_ColumnDimension * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,71 +21,34 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_ColumnDimension - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Worksheet_ColumnDimension +class PHPExcel_Worksheet_ColumnDimension extends PHPExcel_Worksheet_Dimension { - /** - * Column index - * - * @var int - */ - private $_columnIndex; + /** + * Column index + * + * @var int + */ + private $columnIndex; - /** - * Column width - * - * When this is set to a negative value, the column width should be ignored by IWriter - * - * @var double - */ - private $_width = -1; + /** + * Column width + * + * When this is set to a negative value, the column width should be ignored by IWriter + * + * @var double + */ + private $width = -1; - /** - * Auto size? - * - * @var bool - */ - private $_autoSize = false; - - /** - * Visible? - * - * @var bool - */ - private $_visible = true; - - /** - * Outline level - * - * @var int - */ - private $_outlineLevel = 0; - - /** - * Collapsed - * - * @var bool - */ - private $_collapsed = false; - - /** - * Index to cellXf - * - * @var int - */ - private $_xfIndex; + /** + * Auto size? + * + * @var bool + */ + private $autoSize = false; /** * Create a new PHPExcel_Worksheet_ColumnDimension @@ -93,11 +57,11 @@ class PHPExcel_Worksheet_ColumnDimension */ public function __construct($pIndex = 'A') { - // Initialise values - $this->_columnIndex = $pIndex; + // Initialise values + $this->columnIndex = $pIndex; - // set default index to cellXf - $this->_xfIndex = 0; + // set dimension as unformatted by default + parent::__construct(0); } /** @@ -105,8 +69,9 @@ class PHPExcel_Worksheet_ColumnDimension * * @return string */ - public function getColumnIndex() { - return $this->_columnIndex; + public function getColumnIndex() + { + return $this->columnIndex; } /** @@ -115,9 +80,10 @@ class PHPExcel_Worksheet_ColumnDimension * @param string $pValue * @return PHPExcel_Worksheet_ColumnDimension */ - public function setColumnIndex($pValue) { - $this->_columnIndex = $pValue; - return $this; + public function setColumnIndex($pValue) + { + $this->columnIndex = $pValue; + return $this; } /** @@ -125,8 +91,9 @@ class PHPExcel_Worksheet_ColumnDimension * * @return double */ - public function getWidth() { - return $this->_width; + public function getWidth() + { + return $this->width; } /** @@ -135,9 +102,10 @@ class PHPExcel_Worksheet_ColumnDimension * @param double $pValue * @return PHPExcel_Worksheet_ColumnDimension */ - public function setWidth($pValue = -1) { - $this->_width = $pValue; - return $this; + public function setWidth($pValue = -1) + { + $this->width = $pValue; + return $this; } /** @@ -145,8 +113,9 @@ class PHPExcel_Worksheet_ColumnDimension * * @return bool */ - public function getAutoSize() { - return $this->_autoSize; + public function getAutoSize() + { + return $this->autoSize; } /** @@ -155,112 +124,9 @@ class PHPExcel_Worksheet_ColumnDimension * @param bool $pValue * @return PHPExcel_Worksheet_ColumnDimension */ - public function setAutoSize($pValue = false) { - $this->_autoSize = $pValue; - return $this; + public function setAutoSize($pValue = false) + { + $this->autoSize = $pValue; + return $this; } - - /** - * Get Visible - * - * @return bool - */ - public function getVisible() { - return $this->_visible; - } - - /** - * Set Visible - * - * @param bool $pValue - * @return PHPExcel_Worksheet_ColumnDimension - */ - public function setVisible($pValue = true) { - $this->_visible = $pValue; - return $this; - } - - /** - * Get Outline Level - * - * @return int - */ - public function getOutlineLevel() { - return $this->_outlineLevel; - } - - /** - * Set Outline Level - * - * Value must be between 0 and 7 - * - * @param int $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_ColumnDimension - */ - public function setOutlineLevel($pValue) { - if ($pValue < 0 || $pValue > 7) { - throw new PHPExcel_Exception("Outline level must range between 0 and 7."); - } - - $this->_outlineLevel = $pValue; - return $this; - } - - /** - * Get Collapsed - * - * @return bool - */ - public function getCollapsed() { - return $this->_collapsed; - } - - /** - * Set Collapsed - * - * @param bool $pValue - * @return PHPExcel_Worksheet_ColumnDimension - */ - public function setCollapsed($pValue = true) { - $this->_collapsed = $pValue; - return $this; - } - - /** - * Get index to cellXf - * - * @return int - */ - public function getXfIndex() - { - return $this->_xfIndex; - } - - /** - * Set index to cellXf - * - * @param int $pValue - * @return PHPExcel_Worksheet_ColumnDimension - */ - public function setXfIndex($pValue = 0) - { - $this->_xfIndex = $pValue; - return $this; - } - - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php index 3030b3f43..0db3e5347 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/ColumnIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_ColumnIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,174 +20,182 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_ColumnIterator - * - * Used to iterate columns in a PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_ColumnIterator implements Iterator { - /** - * PHPExcel_Worksheet to iterate - * - * @var PHPExcel_Worksheet - */ - private $_subject; + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + private $subject; - /** - * Current iterator position - * - * @var int - */ - private $_position = 0; + /** + * Current iterator position + * + * @var int + */ + private $position = 0; - /** - * Start position - * - * @var int - */ - private $_startColumn = 0; + /** + * Start position + * + * @var int + */ + private $startColumn = 0; - /** - * End position - * - * @var int - */ - private $_endColumn = 0; + /** + * End position + * + * @var int + */ + private $endColumn = 0; - /** - * Create a new column iterator - * - * @param PHPExcel_Worksheet $subject The worksheet to iterate over - * @param string $startColumn The column address at which to start iterating - * @param string $endColumn Optionally, the column address at which to stop iterating - */ - public function __construct(PHPExcel_Worksheet $subject = null, $startColumn = 'A', $endColumn = null) { - // Set subject - $this->_subject = $subject; - $this->resetEnd($endColumn); - $this->resetStart($startColumn); - } + /** + * Create a new column iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $startColumn = 'A', $endColumn = null) + { + // Set subject + $this->subject = $subject; + $this->resetEnd($endColumn); + $this->resetStart($startColumn); + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_subject); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->subject); + } - /** - * (Re)Set the start column and the current column pointer - * - * @param integer $startColumn The column address at which to start iterating - * @return PHPExcel_Worksheet_ColumnIterator - */ - public function resetStart($startColumn = 'A') { - $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; - $this->_startColumn = $startColumnIndex; - $this->seek($startColumn); - - return $this; - } - - /** - * (Re)Set the end column - * - * @param string $endColumn The column address at which to stop iterating - * @return PHPExcel_Worksheet_ColumnIterator - */ - public function resetEnd($endColumn = null) { - $endColumn = ($endColumn) ? $endColumn : $this->_subject->getHighestColumn(); - $this->_endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; - - return $this; - } - - /** - * Set the column pointer to the selected column - * - * @param string $column The column address to set the current pointer at + /** + * (Re)Set the start column and the current column pointer + * + * @param integer $startColumn The column address at which to start iterating * @return PHPExcel_Worksheet_ColumnIterator * @throws PHPExcel_Exception - */ - public function seek($column = 'A') { - $column = PHPExcel_Cell::columnIndexFromString($column) - 1; - if (($column < $this->_startColumn) || ($column > $this->_endColumn)) { - throw new PHPExcel_Exception("Column $column is out of range ({$this->_startColumn} - {$this->_endColumn})"); + */ + public function resetStart($startColumn = 'A') + { + $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; + if ($startColumnIndex > PHPExcel_Cell::columnIndexFromString($this->subject->getHighestColumn()) - 1) { + throw new PHPExcel_Exception("Start column ({$startColumn}) is beyond highest column ({$this->subject->getHighestColumn()})"); } - $this->_position = $column; + + $this->startColumn = $startColumnIndex; + if ($this->endColumn < $this->startColumn) { + $this->endColumn = $this->startColumn; + } + $this->seek($startColumn); return $this; } - /** - * Rewind the iterator to the starting column - */ - public function rewind() { - $this->_position = $this->_startColumn; - } + /** + * (Re)Set the end column + * + * @param string $endColumn The column address at which to stop iterating + * @return PHPExcel_Worksheet_ColumnIterator + */ + public function resetEnd($endColumn = null) + { + $endColumn = ($endColumn) ? $endColumn : $this->subject->getHighestColumn(); + $this->endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; - /** - * Return the current column in this worksheet - * - * @return PHPExcel_Worksheet_Column - */ - public function current() { - return new PHPExcel_Worksheet_Column($this->_subject, PHPExcel_Cell::stringFromColumnIndex($this->_position)); - } + return $this; + } - /** - * Return the current iterator key - * - * @return string - */ - public function key() { - return PHPExcel_Cell::stringFromColumnIndex($this->_position); - } + /** + * Set the column pointer to the selected column + * + * @param string $column The column address to set the current pointer at + * @return PHPExcel_Worksheet_ColumnIterator + * @throws PHPExcel_Exception + */ + public function seek($column = 'A') + { + $column = PHPExcel_Cell::columnIndexFromString($column) - 1; + if (($column < $this->startColumn) || ($column > $this->endColumn)) { + throw new PHPExcel_Exception("Column $column is out of range ({$this->startColumn} - {$this->endColumn})"); + } + $this->position = $column; - /** - * Set the iterator to its next value - */ - public function next() { - ++$this->_position; - } + return $this; + } - /** - * Set the iterator to its previous value + /** + * Rewind the iterator to the starting column + */ + public function rewind() + { + $this->position = $this->startColumn; + } + + /** + * Return the current column in this worksheet + * + * @return PHPExcel_Worksheet_Column + */ + public function current() + { + return new PHPExcel_Worksheet_Column($this->subject, PHPExcel_Cell::stringFromColumnIndex($this->position)); + } + + /** + * Return the current iterator key + * + * @return string + */ + public function key() + { + return PHPExcel_Cell::stringFromColumnIndex($this->position); + } + + /** + * Set the iterator to its next value + */ + public function next() + { + ++$this->position; + } + + /** + * Set the iterator to its previous value * * @throws PHPExcel_Exception - */ - public function prev() { - if ($this->_position <= $this->_startColumn) { + */ + public function prev() + { + if ($this->position <= $this->startColumn) { throw new PHPExcel_Exception( - "Column is already at the beginning of range (" . - PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . " - " . - PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . ")" + "Column is already at the beginning of range (" . + PHPExcel_Cell::stringFromColumnIndex($this->endColumn) . " - " . + PHPExcel_Cell::stringFromColumnIndex($this->endColumn) . ")" ); } - --$this->_position; - } + --$this->position; + } - /** - * Indicate if more columns exist in the worksheet range of columns that we're iterating - * - * @return boolean - */ - public function valid() { - return $this->_position <= $this->_endColumn; - } + /** + * Indicate if more columns exist in the worksheet range of columns that we're iterating + * + * @return boolean + */ + public function valid() + { + return $this->position <= $this->endColumn; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Dimension.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Dimension.php new file mode 100644 index 000000000..84f692cb5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Dimension.php @@ -0,0 +1,178 @@ +<?php + +/** + * PHPExcel_Worksheet_Dimension + * + * Copyright (c) 2006 - 2015 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ +abstract class PHPExcel_Worksheet_Dimension +{ + /** + * Visible? + * + * @var bool + */ + private $visible = true; + + /** + * Outline level + * + * @var int + */ + private $outlineLevel = 0; + + /** + * Collapsed + * + * @var bool + */ + private $collapsed = false; + + /** + * Index to cellXf. Null value means row has no explicit cellXf format. + * + * @var int|null + */ + private $xfIndex; + + /** + * Create a new PHPExcel_Worksheet_Dimension + * + * @param int $pIndex Numeric row index + */ + public function __construct($initialValue = null) + { + // set dimension as unformatted by default + $this->xfIndex = $initialValue; + } + + /** + * Get Visible + * + * @return bool + */ + public function getVisible() + { + return $this->visible; + } + + /** + * Set Visible + * + * @param bool $pValue + * @return PHPExcel_Worksheet_Dimension + */ + public function setVisible($pValue = true) + { + $this->visible = $pValue; + return $this; + } + + /** + * Get Outline Level + * + * @return int + */ + public function getOutlineLevel() + { + return $this->outlineLevel; + } + + /** + * Set Outline Level + * + * Value must be between 0 and 7 + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_Dimension + */ + public function setOutlineLevel($pValue) + { + if ($pValue < 0 || $pValue > 7) { + throw new PHPExcel_Exception("Outline level must range between 0 and 7."); + } + + $this->outlineLevel = $pValue; + return $this; + } + + /** + * Get Collapsed + * + * @return bool + */ + public function getCollapsed() + { + return $this->collapsed; + } + + /** + * Set Collapsed + * + * @param bool $pValue + * @return PHPExcel_Worksheet_Dimension + */ + public function setCollapsed($pValue = true) + { + $this->collapsed = $pValue; + return $this; + } + + /** + * Get index to cellXf + * + * @return int + */ + public function getXfIndex() + { + return $this->xfIndex; + } + + /** + * Set index to cellXf + * + * @param int $pValue + * @return PHPExcel_Worksheet_Dimension + */ + public function setXfIndex($pValue = 0) + { + $this->xfIndex = $pValue; + return $this; + } + + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php index e8d87f1d0..e39d3eb91 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_Drawing * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,38 +21,29 @@ * * @category PHPExcel * @package PHPExcel_Worksheet_Drawing - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_Drawing - * - * @category PHPExcel - * @package PHPExcel_Worksheet_Drawing - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable { - /** - * Path - * - * @var string - */ - private $_path; + /** + * Path + * + * @var string + */ + private $path; /** * Create a new PHPExcel_Worksheet_Drawing */ public function __construct() { - // Initialise values - $this->_path = ''; + // Initialise values + $this->path = ''; - // Initialize parent - parent::__construct(); + // Initialize parent + parent::__construct(); } /** @@ -59,8 +51,9 @@ class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implemen * * @return string */ - public function getFilename() { - return basename($this->_path); + public function getFilename() + { + return basename($this->path); } /** @@ -68,10 +61,11 @@ class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implemen * * @return string */ - public function getIndexedFilename() { - $fileName = $this->getFilename(); - $fileName = str_replace(' ', '_', $fileName); - return str_replace('.' . $this->getExtension(), '', $fileName) . $this->getImageIndex() . '.' . $this->getExtension(); + public function getIndexedFilename() + { + $fileName = $this->getFilename(); + $fileName = str_replace(' ', '_', $fileName); + return str_replace('.' . $this->getExtension(), '', $fileName) . $this->getImageIndex() . '.' . $this->getExtension(); } /** @@ -79,9 +73,10 @@ class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implemen * * @return string */ - public function getExtension() { - $exploded = explode(".", basename($this->_path)); - return $exploded[count($exploded) - 1]; + public function getExtension() + { + $exploded = explode(".", basename($this->path)); + return $exploded[count($exploded) - 1]; } /** @@ -89,60 +84,64 @@ class PHPExcel_Worksheet_Drawing extends PHPExcel_Worksheet_BaseDrawing implemen * * @return string */ - public function getPath() { - return $this->_path; + public function getPath() + { + return $this->path; } /** * Set Path * - * @param string $pValue File path - * @param boolean $pVerifyFile Verify file - * @throws PHPExcel_Exception + * @param string $pValue File path + * @param boolean $pVerifyFile Verify file + * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_Drawing */ - public function setPath($pValue = '', $pVerifyFile = true) { - if ($pVerifyFile) { - if (file_exists($pValue)) { - $this->_path = $pValue; + public function setPath($pValue = '', $pVerifyFile = true) + { + if ($pVerifyFile) { + if (file_exists($pValue)) { + $this->path = $pValue; - if ($this->_width == 0 && $this->_height == 0) { - // Get width/height - list($this->_width, $this->_height) = getimagesize($pValue); - } - } else { - throw new PHPExcel_Exception("File $pValue not found!"); - } - } else { - $this->_path = $pValue; - } - return $this; + if ($this->width == 0 && $this->height == 0) { + // Get width/height + list($this->width, $this->height) = getimagesize($pValue); + } + } else { + throw new PHPExcel_Exception("File $pValue not found!"); + } + } else { + $this->path = $pValue; + } + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_path - . parent::getHashCode() - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->path . + parent::getHashCode() . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php index 98b95b1a7..84db91d57 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Drawing/Shadow.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_Drawing_Shadow * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,97 +21,88 @@ * * @category PHPExcel * @package PHPExcel_Worksheet_Drawing - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_Drawing_Shadow - * - * @category PHPExcel - * @package PHPExcel_Worksheet_Drawing - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable { - /* Shadow alignment */ - const SHADOW_BOTTOM = 'b'; - const SHADOW_BOTTOM_LEFT = 'bl'; - const SHADOW_BOTTOM_RIGHT = 'br'; - const SHADOW_CENTER = 'ctr'; - const SHADOW_LEFT = 'l'; - const SHADOW_TOP = 't'; - const SHADOW_TOP_LEFT = 'tl'; - const SHADOW_TOP_RIGHT = 'tr'; + /* Shadow alignment */ + const SHADOW_BOTTOM = 'b'; + const SHADOW_BOTTOM_LEFT = 'bl'; + const SHADOW_BOTTOM_RIGHT = 'br'; + const SHADOW_CENTER = 'ctr'; + const SHADOW_LEFT = 'l'; + const SHADOW_TOP = 't'; + const SHADOW_TOP_LEFT = 'tl'; + const SHADOW_TOP_RIGHT = 'tr'; - /** - * Visible - * - * @var boolean - */ - private $_visible; + /** + * Visible + * + * @var boolean + */ + private $visible; - /** - * Blur radius - * - * Defaults to 6 - * - * @var int - */ - private $_blurRadius; + /** + * Blur radius + * + * Defaults to 6 + * + * @var int + */ + private $blurRadius; - /** - * Shadow distance - * - * Defaults to 2 - * - * @var int - */ - private $_distance; + /** + * Shadow distance + * + * Defaults to 2 + * + * @var int + */ + private $distance; - /** - * Shadow direction (in degrees) - * - * @var int - */ - private $_direction; + /** + * Shadow direction (in degrees) + * + * @var int + */ + private $direction; - /** - * Shadow alignment - * - * @var int - */ - private $_alignment; + /** + * Shadow alignment + * + * @var int + */ + private $alignment; - /** - * Color - * - * @var PHPExcel_Style_Color - */ - private $_color; + /** + * Color + * + * @var PHPExcel_Style_Color + */ + private $color; - /** - * Alpha - * - * @var int - */ - private $_alpha; + /** + * Alpha + * + * @var int + */ + private $alpha; /** * Create a new PHPExcel_Worksheet_Drawing_Shadow */ public function __construct() { - // Initialise values - $this->_visible = false; - $this->_blurRadius = 6; - $this->_distance = 2; - $this->_direction = 0; - $this->_alignment = PHPExcel_Worksheet_Drawing_Shadow::SHADOW_BOTTOM_RIGHT; - $this->_color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK); - $this->_alpha = 50; + // Initialise values + $this->visible = false; + $this->blurRadius = 6; + $this->distance = 2; + $this->direction = 0; + $this->alignment = PHPExcel_Worksheet_Drawing_Shadow::SHADOW_BOTTOM_RIGHT; + $this->color = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK); + $this->alpha = 50; } /** @@ -118,8 +110,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return boolean */ - public function getVisible() { - return $this->_visible; + public function getVisible() + { + return $this->visible; } /** @@ -128,9 +121,10 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param boolean $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setVisible($pValue = false) { - $this->_visible = $pValue; - return $this; + public function setVisible($pValue = false) + { + $this->visible = $pValue; + return $this; } /** @@ -138,8 +132,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return int */ - public function getBlurRadius() { - return $this->_blurRadius; + public function getBlurRadius() + { + return $this->blurRadius; } /** @@ -148,9 +143,10 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setBlurRadius($pValue = 6) { - $this->_blurRadius = $pValue; - return $this; + public function setBlurRadius($pValue = 6) + { + $this->blurRadius = $pValue; + return $this; } /** @@ -158,8 +154,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return int */ - public function getDistance() { - return $this->_distance; + public function getDistance() + { + return $this->distance; } /** @@ -168,9 +165,10 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setDistance($pValue = 2) { - $this->_distance = $pValue; - return $this; + public function setDistance($pValue = 2) + { + $this->distance = $pValue; + return $this; } /** @@ -178,8 +176,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return int */ - public function getDirection() { - return $this->_direction; + public function getDirection() + { + return $this->direction; } /** @@ -188,9 +187,10 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setDirection($pValue = 0) { - $this->_direction = $pValue; - return $this; + public function setDirection($pValue = 0) + { + $this->direction = $pValue; + return $this; } /** @@ -198,8 +198,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return int */ - public function getAlignment() { - return $this->_alignment; + public function getAlignment() + { + return $this->alignment; } /** @@ -208,9 +209,10 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setAlignment($pValue = 0) { - $this->_alignment = $pValue; - return $this; + public function setAlignment($pValue = 0) + { + $this->alignment = $pValue; + return $this; } /** @@ -218,20 +220,22 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return PHPExcel_Style_Color */ - public function getColor() { - return $this->_color; + public function getColor() + { + return $this->color; } /** * Set Color * - * @param PHPExcel_Style_Color $pValue - * @throws PHPExcel_Exception + * @param PHPExcel_Style_Color $pValue + * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setColor(PHPExcel_Style_Color $pValue = null) { - $this->_color = $pValue; - return $this; + public function setColor(PHPExcel_Style_Color $pValue = null) + { + $this->color = $pValue; + return $this; } /** @@ -239,8 +243,9 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * * @return int */ - public function getAlpha() { - return $this->_alpha; + public function getAlpha() + { + return $this->alpha; } /** @@ -249,40 +254,43 @@ class PHPExcel_Worksheet_Drawing_Shadow implements PHPExcel_IComparable * @param int $pValue * @return PHPExcel_Worksheet_Drawing_Shadow */ - public function setAlpha($pValue = 0) { - $this->_alpha = $pValue; - return $this; + public function setAlpha($pValue = 0) + { + $this->alpha = $pValue; + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - ($this->_visible ? 't' : 'f') - . $this->_blurRadius - . $this->_distance - . $this->_direction - . $this->_alignment - . $this->_color->getHashCode() - . $this->_alpha - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + ($this->visible ? 't' : 'f') . + $this->blurRadius . + $this->distance . + $this->direction . + $this->alignment . + $this->color->getHashCode() . + $this->alpha . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php index 803741638..3a88923fc 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooter.php @@ -1,8 +1,8 @@ <?php /** - * PHPExcel + * PHPExcel_Worksheet_HeaderFooter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -15,19 +15,14 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software + * License along with this library; if not,241 write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_HeaderFooter * * <code> * Header/Footer Formatting Syntax taken from Office Open XML Part 4 - Markup Language Reference, page 1970: @@ -37,7 +32,7 @@ * * Example: This example shows the text "Center Bold Header" on the first line (center section), and the date on * the second line (center section). - * &CCenter &"-,Bold"Bold&"-,Regular"Header_x000A_&D + * &CCenter &"-,Bold"Bold&"-,Regular"Header_x000A_&D * * General Rules: * There is no required order in which these codes must appear. @@ -89,96 +84,93 @@ * &H - code for "shadow style" * </code> * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Worksheet_HeaderFooter { - /* Header/footer image location */ - const IMAGE_HEADER_LEFT = 'LH'; - const IMAGE_HEADER_CENTER = 'CH'; - const IMAGE_HEADER_RIGHT = 'RH'; - const IMAGE_FOOTER_LEFT = 'LF'; - const IMAGE_FOOTER_CENTER = 'CF'; - const IMAGE_FOOTER_RIGHT = 'RF'; + /* Header/footer image location */ + const IMAGE_HEADER_LEFT = 'LH'; + const IMAGE_HEADER_CENTER = 'CH'; + const IMAGE_HEADER_RIGHT = 'RH'; + const IMAGE_FOOTER_LEFT = 'LF'; + const IMAGE_FOOTER_CENTER = 'CF'; + const IMAGE_FOOTER_RIGHT = 'RF'; - /** - * OddHeader - * - * @var string - */ - private $_oddHeader = ''; + /** + * OddHeader + * + * @var string + */ + private $oddHeader = ''; - /** - * OddFooter - * - * @var string - */ - private $_oddFooter = ''; + /** + * OddFooter + * + * @var string + */ + private $oddFooter = ''; - /** - * EvenHeader - * - * @var string - */ - private $_evenHeader = ''; + /** + * EvenHeader + * + * @var string + */ + private $evenHeader = ''; - /** - * EvenFooter - * - * @var string - */ - private $_evenFooter = ''; + /** + * EvenFooter + * + * @var string + */ + private $evenFooter = ''; - /** - * FirstHeader - * - * @var string - */ - private $_firstHeader = ''; + /** + * FirstHeader + * + * @var string + */ + private $firstHeader = ''; - /** - * FirstFooter - * - * @var string - */ - private $_firstFooter = ''; + /** + * FirstFooter + * + * @var string + */ + private $firstFooter = ''; - /** - * Different header for Odd/Even, defaults to false - * - * @var boolean - */ - private $_differentOddEven = false; + /** + * Different header for Odd/Even, defaults to false + * + * @var boolean + */ + private $differentOddEven = false; - /** - * Different header for first page, defaults to false - * - * @var boolean - */ - private $_differentFirst = false; + /** + * Different header for first page, defaults to false + * + * @var boolean + */ + private $differentFirst = false; - /** - * Scale with document, defaults to true - * - * @var boolean - */ - private $_scaleWithDocument = true; + /** + * Scale with document, defaults to true + * + * @var boolean + */ + private $scaleWithDocument = true; - /** - * Align with margins, defaults to true - * - * @var boolean - */ - private $_alignWithMargins = true; + /** + * Align with margins, defaults to true + * + * @var boolean + */ + private $alignWithMargins = true; - /** - * Header/footer images - * - * @var PHPExcel_Worksheet_HeaderFooterDrawing[] - */ - private $_headerFooterImages = array(); + /** + * Header/footer images + * + * @var PHPExcel_Worksheet_HeaderFooterDrawing[] + */ + private $headerFooterImages = array(); /** * Create a new PHPExcel_Worksheet_HeaderFooter @@ -192,8 +184,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getOddHeader() { - return $this->_oddHeader; + public function getOddHeader() + { + return $this->oddHeader; } /** @@ -202,9 +195,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setOddHeader($pValue) { - $this->_oddHeader = $pValue; - return $this; + public function setOddHeader($pValue) + { + $this->oddHeader = $pValue; + return $this; } /** @@ -212,8 +206,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getOddFooter() { - return $this->_oddFooter; + public function getOddFooter() + { + return $this->oddFooter; } /** @@ -222,9 +217,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setOddFooter($pValue) { - $this->_oddFooter = $pValue; - return $this; + public function setOddFooter($pValue) + { + $this->oddFooter = $pValue; + return $this; } /** @@ -232,8 +228,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getEvenHeader() { - return $this->_evenHeader; + public function getEvenHeader() + { + return $this->evenHeader; } /** @@ -242,9 +239,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setEvenHeader($pValue) { - $this->_evenHeader = $pValue; - return $this; + public function setEvenHeader($pValue) + { + $this->evenHeader = $pValue; + return $this; } /** @@ -252,8 +250,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getEvenFooter() { - return $this->_evenFooter; + public function getEvenFooter() + { + return $this->evenFooter; } /** @@ -262,9 +261,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setEvenFooter($pValue) { - $this->_evenFooter = $pValue; - return $this; + public function setEvenFooter($pValue) + { + $this->evenFooter = $pValue; + return $this; } /** @@ -272,8 +272,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getFirstHeader() { - return $this->_firstHeader; + public function getFirstHeader() + { + return $this->firstHeader; } /** @@ -282,9 +283,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setFirstHeader($pValue) { - $this->_firstHeader = $pValue; - return $this; + public function setFirstHeader($pValue) + { + $this->firstHeader = $pValue; + return $this; } /** @@ -292,8 +294,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return string */ - public function getFirstFooter() { - return $this->_firstFooter; + public function getFirstFooter() + { + return $this->firstFooter; } /** @@ -302,9 +305,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setFirstFooter($pValue) { - $this->_firstFooter = $pValue; - return $this; + public function setFirstFooter($pValue) + { + $this->firstFooter = $pValue; + return $this; } /** @@ -312,8 +316,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return boolean */ - public function getDifferentOddEven() { - return $this->_differentOddEven; + public function getDifferentOddEven() + { + return $this->differentOddEven; } /** @@ -322,9 +327,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param boolean $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setDifferentOddEven($pValue = false) { - $this->_differentOddEven = $pValue; - return $this; + public function setDifferentOddEven($pValue = false) + { + $this->differentOddEven = $pValue; + return $this; } /** @@ -332,8 +338,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return boolean */ - public function getDifferentFirst() { - return $this->_differentFirst; + public function getDifferentFirst() + { + return $this->differentFirst; } /** @@ -342,9 +349,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param boolean $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setDifferentFirst($pValue = false) { - $this->_differentFirst = $pValue; - return $this; + public function setDifferentFirst($pValue = false) + { + $this->differentFirst = $pValue; + return $this; } /** @@ -352,8 +360,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return boolean */ - public function getScaleWithDocument() { - return $this->_scaleWithDocument; + public function getScaleWithDocument() + { + return $this->scaleWithDocument; } /** @@ -362,9 +371,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param boolean $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setScaleWithDocument($pValue = true) { - $this->_scaleWithDocument = $pValue; - return $this; + public function setScaleWithDocument($pValue = true) + { + $this->scaleWithDocument = $pValue; + return $this; } /** @@ -372,8 +382,9 @@ class PHPExcel_Worksheet_HeaderFooter * * @return boolean */ - public function getAlignWithMargins() { - return $this->_alignWithMargins; + public function getAlignWithMargins() + { + return $this->alignWithMargins; } /** @@ -382,9 +393,10 @@ class PHPExcel_Worksheet_HeaderFooter * @param boolean $pValue * @return PHPExcel_Worksheet_HeaderFooter */ - public function setAlignWithMargins($pValue = true) { - $this->_alignWithMargins = $pValue; - return $this; + public function setAlignWithMargins($pValue = true) + { + $this->alignWithMargins = $pValue; + return $this; } /** @@ -395,9 +407,10 @@ class PHPExcel_Worksheet_HeaderFooter * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_HeaderFooter */ - public function addImage(PHPExcel_Worksheet_HeaderFooterDrawing $image = null, $location = self::IMAGE_HEADER_LEFT) { - $this->_headerFooterImages[$location] = $image; - return $this; + public function addImage(PHPExcel_Worksheet_HeaderFooterDrawing $image = null, $location = self::IMAGE_HEADER_LEFT) + { + $this->headerFooterImages[$location] = $image; + return $this; } /** @@ -407,11 +420,12 @@ class PHPExcel_Worksheet_HeaderFooter * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_HeaderFooter */ - public function removeImage($location = self::IMAGE_HEADER_LEFT) { - if (isset($this->_headerFooterImages[$location])) { - unset($this->_headerFooterImages[$location]); - } - return $this; + public function removeImage($location = self::IMAGE_HEADER_LEFT) + { + if (isset($this->headerFooterImages[$location])) { + unset($this->headerFooterImages[$location]); + } + return $this; } /** @@ -421,13 +435,14 @@ class PHPExcel_Worksheet_HeaderFooter * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_HeaderFooter */ - public function setImages($images) { - if (!is_array($images)) { - throw new PHPExcel_Exception('Invalid parameter!'); - } + public function setImages($images) + { + if (!is_array($images)) { + throw new PHPExcel_Exception('Invalid parameter!'); + } - $this->_headerFooterImages = $images; - return $this; + $this->headerFooterImages = $images; + return $this; } /** @@ -435,31 +450,45 @@ class PHPExcel_Worksheet_HeaderFooter * * @return PHPExcel_Worksheet_HeaderFooterDrawing[] */ - public function getImages() { - // Sort array - $images = array(); - if (isset($this->_headerFooterImages[self::IMAGE_HEADER_LEFT])) $images[self::IMAGE_HEADER_LEFT] = $this->_headerFooterImages[self::IMAGE_HEADER_LEFT]; - if (isset($this->_headerFooterImages[self::IMAGE_HEADER_CENTER])) $images[self::IMAGE_HEADER_CENTER] = $this->_headerFooterImages[self::IMAGE_HEADER_CENTER]; - if (isset($this->_headerFooterImages[self::IMAGE_HEADER_RIGHT])) $images[self::IMAGE_HEADER_RIGHT] = $this->_headerFooterImages[self::IMAGE_HEADER_RIGHT]; - if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_LEFT])) $images[self::IMAGE_FOOTER_LEFT] = $this->_headerFooterImages[self::IMAGE_FOOTER_LEFT]; - if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_CENTER])) $images[self::IMAGE_FOOTER_CENTER] = $this->_headerFooterImages[self::IMAGE_FOOTER_CENTER]; - if (isset($this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT])) $images[self::IMAGE_FOOTER_RIGHT] = $this->_headerFooterImages[self::IMAGE_FOOTER_RIGHT]; - $this->_headerFooterImages = $images; + public function getImages() + { + // Sort array + $images = array(); + if (isset($this->headerFooterImages[self::IMAGE_HEADER_LEFT])) { + $images[self::IMAGE_HEADER_LEFT] = $this->headerFooterImages[self::IMAGE_HEADER_LEFT]; + } + if (isset($this->headerFooterImages[self::IMAGE_HEADER_CENTER])) { + $images[self::IMAGE_HEADER_CENTER] = $this->headerFooterImages[self::IMAGE_HEADER_CENTER]; + } + if (isset($this->headerFooterImages[self::IMAGE_HEADER_RIGHT])) { + $images[self::IMAGE_HEADER_RIGHT] = $this->headerFooterImages[self::IMAGE_HEADER_RIGHT]; + } + if (isset($this->headerFooterImages[self::IMAGE_FOOTER_LEFT])) { + $images[self::IMAGE_FOOTER_LEFT] = $this->headerFooterImages[self::IMAGE_FOOTER_LEFT]; + } + if (isset($this->headerFooterImages[self::IMAGE_FOOTER_CENTER])) { + $images[self::IMAGE_FOOTER_CENTER] = $this->headerFooterImages[self::IMAGE_FOOTER_CENTER]; + } + if (isset($this->headerFooterImages[self::IMAGE_FOOTER_RIGHT])) { + $images[self::IMAGE_FOOTER_RIGHT] = $this->headerFooterImages[self::IMAGE_FOOTER_RIGHT]; + } + $this->headerFooterImages = $images; - return $this->_headerFooterImages; + return $this->headerFooterImages; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php index 966664f93..a491f4ba6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/HeaderFooterDrawing.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_HeaderFooterDrawing * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,83 +21,74 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_HeaderFooterDrawing - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing implements PHPExcel_IComparable { - /** - * Path - * - * @var string - */ - private $_path; + /** + * Path + * + * @var string + */ + private $path; - /** - * Name - * - * @var string - */ - protected $_name; + /** + * Name + * + * @var string + */ + protected $name; - /** - * Offset X - * - * @var int - */ - protected $_offsetX; + /** + * Offset X + * + * @var int + */ + protected $offsetX; - /** - * Offset Y - * - * @var int - */ - protected $_offsetY; + /** + * Offset Y + * + * @var int + */ + protected $offsetY; - /** - * Width - * - * @var int - */ - protected $_width; + /** + * Width + * + * @var int + */ + protected $width; - /** - * Height - * - * @var int - */ - protected $_height; + /** + * Height + * + * @var int + */ + protected $height; - /** - * Proportional resize - * - * @var boolean - */ - protected $_resizeProportional; + /** + * Proportional resize + * + * @var boolean + */ + protected $resizeProportional; /** * Create a new PHPExcel_Worksheet_HeaderFooterDrawing */ public function __construct() { - // Initialise values - $this->_path = ''; - $this->_name = ''; - $this->_offsetX = 0; - $this->_offsetY = 0; - $this->_width = 0; - $this->_height = 0; - $this->_resizeProportional = true; + // Initialise values + $this->path = ''; + $this->name = ''; + $this->offsetX = 0; + $this->offsetY = 0; + $this->width = 0; + $this->height = 0; + $this->resizeProportional = true; } /** @@ -104,8 +96,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return string */ - public function getName() { - return $this->_name; + public function getName() + { + return $this->name; } /** @@ -114,9 +107,10 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param string $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setName($pValue = '') { - $this->_name = $pValue; - return $this; + public function setName($pValue = '') + { + $this->name = $pValue; + return $this; } /** @@ -124,8 +118,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return int */ - public function getOffsetX() { - return $this->_offsetX; + public function getOffsetX() + { + return $this->offsetX; } /** @@ -134,9 +129,10 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param int $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setOffsetX($pValue = 0) { - $this->_offsetX = $pValue; - return $this; + public function setOffsetX($pValue = 0) + { + $this->offsetX = $pValue; + return $this; } /** @@ -144,8 +140,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return int */ - public function getOffsetY() { - return $this->_offsetY; + public function getOffsetY() + { + return $this->offsetY; } /** @@ -154,9 +151,10 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param int $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setOffsetY($pValue = 0) { - $this->_offsetY = $pValue; - return $this; + public function setOffsetY($pValue = 0) + { + $this->offsetY = $pValue; + return $this; } /** @@ -164,8 +162,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return int */ - public function getWidth() { - return $this->_width; + public function getWidth() + { + return $this->width; } /** @@ -174,17 +173,18 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param int $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setWidth($pValue = 0) { - // Resize proportional? - if ($this->_resizeProportional && $pValue != 0) { - $ratio = $this->_width / $this->_height; - $this->_height = round($ratio * $pValue); - } + public function setWidth($pValue = 0) + { + // Resize proportional? + if ($this->resizeProportional && $pValue != 0) { + $ratio = $this->width / $this->height; + $this->height = round($ratio * $pValue); + } - // Set width - $this->_width = $pValue; + // Set width + $this->width = $pValue; - return $this; + return $this; } /** @@ -192,8 +192,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return int */ - public function getHeight() { - return $this->_height; + public function getHeight() + { + return $this->height; } /** @@ -202,54 +203,57 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param int $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setHeight($pValue = 0) { - // Resize proportional? - if ($this->_resizeProportional && $pValue != 0) { - $ratio = $this->_width / $this->_height; - $this->_width = round($ratio * $pValue); - } + public function setHeight($pValue = 0) + { + // Resize proportional? + if ($this->resizeProportional && $pValue != 0) { + $ratio = $this->width / $this->height; + $this->width = round($ratio * $pValue); + } - // Set height - $this->_height = $pValue; + // Set height + $this->height = $pValue; - return $this; + return $this; } /** * Set width and height with proportional resize - * Example: - * <code> + * Example: + * <code> * $objDrawing->setResizeProportional(true); * $objDrawing->setWidthAndHeight(160,120); - * </code> - * + * </code> + * * @author Vincent@luo MSN:kele_100@hotmail.com * @param int $width * @param int $height * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setWidthAndHeight($width = 0, $height = 0) { - $xratio = $width / $this->_width; - $yratio = $height / $this->_height; - if ($this->_resizeProportional && !($width == 0 || $height == 0)) { - if (($xratio * $this->_height) < $height) { - $this->_height = ceil($xratio * $this->_height); - $this->_width = $width; - } else { - $this->_width = ceil($yratio * $this->_width); - $this->_height = $height; - } - } - return $this; - } + public function setWidthAndHeight($width = 0, $height = 0) + { + $xratio = $width / $this->width; + $yratio = $height / $this->height; + if ($this->resizeProportional && !($width == 0 || $height == 0)) { + if (($xratio * $this->height) < $height) { + $this->height = ceil($xratio * $this->height); + $this->width = $width; + } else { + $this->width = ceil($yratio * $this->width); + $this->height = $height; + } + } + return $this; + } /** * Get ResizeProportional * * @return boolean */ - public function getResizeProportional() { - return $this->_resizeProportional; + public function getResizeProportional() + { + return $this->resizeProportional; } /** @@ -258,9 +262,10 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * @param boolean $pValue * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setResizeProportional($pValue = true) { - $this->_resizeProportional = $pValue; - return $this; + public function setResizeProportional($pValue = true) + { + $this->resizeProportional = $pValue; + return $this; } /** @@ -268,8 +273,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return string */ - public function getFilename() { - return basename($this->_path); + public function getFilename() + { + return basename($this->path); } /** @@ -277,8 +283,9 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return string */ - public function getExtension() { - $parts = explode(".", basename($this->_path)); + public function getExtension() + { + $parts = explode(".", basename($this->path)); return end($parts); } @@ -287,64 +294,68 @@ class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing * * @return string */ - public function getPath() { - return $this->_path; + public function getPath() + { + return $this->path; } /** * Set Path * - * @param string $pValue File path - * @param boolean $pVerifyFile Verify file - * @throws PHPExcel_Exception + * @param string $pValue File path + * @param boolean $pVerifyFile Verify file + * @throws PHPExcel_Exception * @return PHPExcel_Worksheet_HeaderFooterDrawing */ - public function setPath($pValue = '', $pVerifyFile = true) { - if ($pVerifyFile) { - if (file_exists($pValue)) { - $this->_path = $pValue; + public function setPath($pValue = '', $pVerifyFile = true) + { + if ($pVerifyFile) { + if (file_exists($pValue)) { + $this->path = $pValue; - if ($this->_width == 0 && $this->_height == 0) { - // Get width/height - list($this->_width, $this->_height) = getimagesize($pValue); - } - } else { - throw new PHPExcel_Exception("File $pValue not found!"); - } - } else { - $this->_path = $pValue; - } - return $this; + if ($this->width == 0 && $this->height == 0) { + // Get width/height + list($this->width, $this->height) = getimagesize($pValue); + } + } else { + throw new PHPExcel_Exception("File $pValue not found!"); + } + } else { + $this->path = $pValue; + } + return $this; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_path - . $this->_name - . $this->_offsetX - . $this->_offsetY - . $this->_width - . $this->_height - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->path . + $this->name . + $this->offsetX . + $this->offsetY . + $this->width . + $this->height . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php index 80fc6d1f0..438ed2c58 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/MemoryDrawing.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_MemoryDrawing * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,74 +21,65 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_MemoryDrawing - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing implements PHPExcel_IComparable { - /* Rendering functions */ - const RENDERING_DEFAULT = 'imagepng'; - const RENDERING_PNG = 'imagepng'; - const RENDERING_GIF = 'imagegif'; - const RENDERING_JPEG = 'imagejpeg'; + /* Rendering functions */ + const RENDERING_DEFAULT = 'imagepng'; + const RENDERING_PNG = 'imagepng'; + const RENDERING_GIF = 'imagegif'; + const RENDERING_JPEG = 'imagejpeg'; - /* MIME types */ - const MIMETYPE_DEFAULT = 'image/png'; - const MIMETYPE_PNG = 'image/png'; - const MIMETYPE_GIF = 'image/gif'; - const MIMETYPE_JPEG = 'image/jpeg'; + /* MIME types */ + const MIMETYPE_DEFAULT = 'image/png'; + const MIMETYPE_PNG = 'image/png'; + const MIMETYPE_GIF = 'image/gif'; + const MIMETYPE_JPEG = 'image/jpeg'; - /** - * Image resource - * - * @var resource - */ - private $_imageResource; + /** + * Image resource + * + * @var resource + */ + private $imageResource; - /** - * Rendering function - * - * @var string - */ - private $_renderingFunction; + /** + * Rendering function + * + * @var string + */ + private $renderingFunction; - /** - * Mime type - * - * @var string - */ - private $_mimeType; + /** + * Mime type + * + * @var string + */ + private $mimeType; - /** - * Unique name - * - * @var string - */ - private $_uniqueName; + /** + * Unique name + * + * @var string + */ + private $uniqueName; /** * Create a new PHPExcel_Worksheet_MemoryDrawing */ public function __construct() { - // Initialise values - $this->_imageResource = null; - $this->_renderingFunction = self::RENDERING_DEFAULT; - $this->_mimeType = self::MIMETYPE_DEFAULT; - $this->_uniqueName = md5(rand(0, 9999). time() . rand(0, 9999)); + // Initialise values + $this->imageResource = null; + $this->renderingFunction = self::RENDERING_DEFAULT; + $this->mimeType = self::MIMETYPE_DEFAULT; + $this->uniqueName = md5(rand(0, 9999). time() . rand(0, 9999)); - // Initialize parent - parent::__construct(); + // Initialize parent + parent::__construct(); } /** @@ -95,25 +87,27 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * * @return resource */ - public function getImageResource() { - return $this->_imageResource; + public function getImageResource() + { + return $this->imageResource; } /** * Set image resource * - * @param $value resource + * @param $value resource * @return PHPExcel_Worksheet_MemoryDrawing */ - public function setImageResource($value = null) { - $this->_imageResource = $value; + public function setImageResource($value = null) + { + $this->imageResource = $value; - if (!is_null($this->_imageResource)) { - // Get width/height - $this->_width = imagesx($this->_imageResource); - $this->_height = imagesy($this->_imageResource); - } - return $this; + if (!is_null($this->imageResource)) { + // Get width/height + $this->width = imagesx($this->imageResource); + $this->height = imagesy($this->imageResource); + } + return $this; } /** @@ -121,8 +115,9 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * * @return string */ - public function getRenderingFunction() { - return $this->_renderingFunction; + public function getRenderingFunction() + { + return $this->renderingFunction; } /** @@ -131,9 +126,10 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * @param string $value * @return PHPExcel_Worksheet_MemoryDrawing */ - public function setRenderingFunction($value = PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT) { - $this->_renderingFunction = $value; - return $this; + public function setRenderingFunction($value = PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT) + { + $this->renderingFunction = $value; + return $this; } /** @@ -141,8 +137,9 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * * @return string */ - public function getMimeType() { - return $this->_mimeType; + public function getMimeType() + { + return $this->mimeType; } /** @@ -151,9 +148,10 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * @param string $value * @return PHPExcel_Worksheet_MemoryDrawing */ - public function setMimeType($value = PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT) { - $this->_mimeType = $value; - return $this; + public function setMimeType($value = PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT) + { + $this->mimeType = $value; + return $this; } /** @@ -161,40 +159,43 @@ class PHPExcel_Worksheet_MemoryDrawing extends PHPExcel_Worksheet_BaseDrawing im * * @return string */ - public function getIndexedFilename() { - $extension = strtolower($this->getMimeType()); - $extension = explode('/', $extension); - $extension = $extension[1]; + public function getIndexedFilename() + { + $extension = strtolower($this->getMimeType()); + $extension = explode('/', $extension); + $extension = $extension[1]; - return $this->_uniqueName . $this->getImageIndex() . '.' . $extension; + return $this->uniqueName . $this->getImageIndex() . '.' . $extension; } - /** - * Get hash code - * - * @return string Hash code - */ - public function getHashCode() { - return md5( - $this->_renderingFunction - . $this->_mimeType - . $this->_uniqueName - . parent::getHashCode() - . __CLASS__ - ); + /** + * Get hash code + * + * @return string Hash code + */ + public function getHashCode() + { + return md5( + $this->renderingFunction . + $this->mimeType . + $this->uniqueName . + parent::getHashCode() . + __CLASS__ + ); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php index b05a291ff..70f5ee0f5 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageMargins.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,51 +31,51 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Worksheet_PageMargins { - /** - * Left - * - * @var double - */ - private $_left = 0.7; + /** + * Left + * + * @var double + */ + private $left = 0.7; - /** - * Right - * - * @var double - */ - private $_right = 0.7; + /** + * Right + * + * @var double + */ + private $right = 0.7; - /** - * Top - * - * @var double - */ - private $_top = 0.75; + /** + * Top + * + * @var double + */ + private $top = 0.75; - /** - * Bottom - * - * @var double - */ - private $_bottom = 0.75; + /** + * Bottom + * + * @var double + */ + private $bottom = 0.75; - /** - * Header - * - * @var double - */ - private $_header = 0.3; + /** + * Header + * + * @var double + */ + private $header = 0.3; - /** - * Footer - * - * @var double - */ - private $_footer = 0.3; + /** + * Footer + * + * @var double + */ + private $footer = 0.3; /** * Create a new PHPExcel_Worksheet_PageMargins @@ -89,8 +89,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getLeft() { - return $this->_left; + public function getLeft() + { + return $this->left; } /** @@ -99,9 +100,10 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setLeft($pValue) { - $this->_left = $pValue; - return $this; + public function setLeft($pValue) + { + $this->left = $pValue; + return $this; } /** @@ -109,8 +111,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getRight() { - return $this->_right; + public function getRight() + { + return $this->right; } /** @@ -119,9 +122,10 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setRight($pValue) { - $this->_right = $pValue; - return $this; + public function setRight($pValue) + { + $this->right = $pValue; + return $this; } /** @@ -129,8 +133,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getTop() { - return $this->_top; + public function getTop() + { + return $this->top; } /** @@ -139,9 +144,10 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setTop($pValue) { - $this->_top = $pValue; - return $this; + public function setTop($pValue) + { + $this->top = $pValue; + return $this; } /** @@ -149,8 +155,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getBottom() { - return $this->_bottom; + public function getBottom() + { + return $this->bottom; } /** @@ -159,9 +166,10 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setBottom($pValue) { - $this->_bottom = $pValue; - return $this; + public function setBottom($pValue) + { + $this->bottom = $pValue; + return $this; } /** @@ -169,8 +177,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getHeader() { - return $this->_header; + public function getHeader() + { + return $this->header; } /** @@ -179,9 +188,10 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setHeader($pValue) { - $this->_header = $pValue; - return $this; + public function setHeader($pValue) + { + $this->header = $pValue; + return $this; } /** @@ -189,8 +199,9 @@ class PHPExcel_Worksheet_PageMargins * * @return double */ - public function getFooter() { - return $this->_footer; + public function getFooter() + { + return $this->footer; } /** @@ -199,22 +210,24 @@ class PHPExcel_Worksheet_PageMargins * @param double $pValue * @return PHPExcel_Worksheet_PageMargins */ - public function setFooter($pValue) { - $this->_footer = $pValue; - return $this; + public function setFooter($pValue) + { + $this->footer = $pValue; + return $this; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php index ba2792fac..c67053e6b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/PageSetup.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -102,177 +102,177 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Worksheet_PageSetup { - /* Paper size */ - const PAPERSIZE_LETTER = 1; - const PAPERSIZE_LETTER_SMALL = 2; - const PAPERSIZE_TABLOID = 3; - const PAPERSIZE_LEDGER = 4; - const PAPERSIZE_LEGAL = 5; - const PAPERSIZE_STATEMENT = 6; - const PAPERSIZE_EXECUTIVE = 7; - const PAPERSIZE_A3 = 8; - const PAPERSIZE_A4 = 9; - const PAPERSIZE_A4_SMALL = 10; - const PAPERSIZE_A5 = 11; - const PAPERSIZE_B4 = 12; - const PAPERSIZE_B5 = 13; - const PAPERSIZE_FOLIO = 14; - const PAPERSIZE_QUARTO = 15; - const PAPERSIZE_STANDARD_1 = 16; - const PAPERSIZE_STANDARD_2 = 17; - const PAPERSIZE_NOTE = 18; - const PAPERSIZE_NO9_ENVELOPE = 19; - const PAPERSIZE_NO10_ENVELOPE = 20; - const PAPERSIZE_NO11_ENVELOPE = 21; - const PAPERSIZE_NO12_ENVELOPE = 22; - const PAPERSIZE_NO14_ENVELOPE = 23; - const PAPERSIZE_C = 24; - const PAPERSIZE_D = 25; - const PAPERSIZE_E = 26; - const PAPERSIZE_DL_ENVELOPE = 27; - const PAPERSIZE_C5_ENVELOPE = 28; - const PAPERSIZE_C3_ENVELOPE = 29; - const PAPERSIZE_C4_ENVELOPE = 30; - const PAPERSIZE_C6_ENVELOPE = 31; - const PAPERSIZE_C65_ENVELOPE = 32; - const PAPERSIZE_B4_ENVELOPE = 33; - const PAPERSIZE_B5_ENVELOPE = 34; - const PAPERSIZE_B6_ENVELOPE = 35; - const PAPERSIZE_ITALY_ENVELOPE = 36; - const PAPERSIZE_MONARCH_ENVELOPE = 37; - const PAPERSIZE_6_3_4_ENVELOPE = 38; - const PAPERSIZE_US_STANDARD_FANFOLD = 39; - const PAPERSIZE_GERMAN_STANDARD_FANFOLD = 40; - const PAPERSIZE_GERMAN_LEGAL_FANFOLD = 41; - const PAPERSIZE_ISO_B4 = 42; - const PAPERSIZE_JAPANESE_DOUBLE_POSTCARD = 43; - const PAPERSIZE_STANDARD_PAPER_1 = 44; - const PAPERSIZE_STANDARD_PAPER_2 = 45; - const PAPERSIZE_STANDARD_PAPER_3 = 46; - const PAPERSIZE_INVITE_ENVELOPE = 47; - const PAPERSIZE_LETTER_EXTRA_PAPER = 48; - const PAPERSIZE_LEGAL_EXTRA_PAPER = 49; - const PAPERSIZE_TABLOID_EXTRA_PAPER = 50; - const PAPERSIZE_A4_EXTRA_PAPER = 51; - const PAPERSIZE_LETTER_TRANSVERSE_PAPER = 52; - const PAPERSIZE_A4_TRANSVERSE_PAPER = 53; - const PAPERSIZE_LETTER_EXTRA_TRANSVERSE_PAPER = 54; - const PAPERSIZE_SUPERA_SUPERA_A4_PAPER = 55; - const PAPERSIZE_SUPERB_SUPERB_A3_PAPER = 56; - const PAPERSIZE_LETTER_PLUS_PAPER = 57; - const PAPERSIZE_A4_PLUS_PAPER = 58; - const PAPERSIZE_A5_TRANSVERSE_PAPER = 59; - const PAPERSIZE_JIS_B5_TRANSVERSE_PAPER = 60; - const PAPERSIZE_A3_EXTRA_PAPER = 61; - const PAPERSIZE_A5_EXTRA_PAPER = 62; - const PAPERSIZE_ISO_B5_EXTRA_PAPER = 63; - const PAPERSIZE_A2_PAPER = 64; - const PAPERSIZE_A3_TRANSVERSE_PAPER = 65; - const PAPERSIZE_A3_EXTRA_TRANSVERSE_PAPER = 66; + /* Paper size */ + const PAPERSIZE_LETTER = 1; + const PAPERSIZE_LETTER_SMALL = 2; + const PAPERSIZE_TABLOID = 3; + const PAPERSIZE_LEDGER = 4; + const PAPERSIZE_LEGAL = 5; + const PAPERSIZE_STATEMENT = 6; + const PAPERSIZE_EXECUTIVE = 7; + const PAPERSIZE_A3 = 8; + const PAPERSIZE_A4 = 9; + const PAPERSIZE_A4_SMALL = 10; + const PAPERSIZE_A5 = 11; + const PAPERSIZE_B4 = 12; + const PAPERSIZE_B5 = 13; + const PAPERSIZE_FOLIO = 14; + const PAPERSIZE_QUARTO = 15; + const PAPERSIZE_STANDARD_1 = 16; + const PAPERSIZE_STANDARD_2 = 17; + const PAPERSIZE_NOTE = 18; + const PAPERSIZE_NO9_ENVELOPE = 19; + const PAPERSIZE_NO10_ENVELOPE = 20; + const PAPERSIZE_NO11_ENVELOPE = 21; + const PAPERSIZE_NO12_ENVELOPE = 22; + const PAPERSIZE_NO14_ENVELOPE = 23; + const PAPERSIZE_C = 24; + const PAPERSIZE_D = 25; + const PAPERSIZE_E = 26; + const PAPERSIZE_DL_ENVELOPE = 27; + const PAPERSIZE_C5_ENVELOPE = 28; + const PAPERSIZE_C3_ENVELOPE = 29; + const PAPERSIZE_C4_ENVELOPE = 30; + const PAPERSIZE_C6_ENVELOPE = 31; + const PAPERSIZE_C65_ENVELOPE = 32; + const PAPERSIZE_B4_ENVELOPE = 33; + const PAPERSIZE_B5_ENVELOPE = 34; + const PAPERSIZE_B6_ENVELOPE = 35; + const PAPERSIZE_ITALY_ENVELOPE = 36; + const PAPERSIZE_MONARCH_ENVELOPE = 37; + const PAPERSIZE_6_3_4_ENVELOPE = 38; + const PAPERSIZE_US_STANDARD_FANFOLD = 39; + const PAPERSIZE_GERMAN_STANDARD_FANFOLD = 40; + const PAPERSIZE_GERMAN_LEGAL_FANFOLD = 41; + const PAPERSIZE_ISO_B4 = 42; + const PAPERSIZE_JAPANESE_DOUBLE_POSTCARD = 43; + const PAPERSIZE_STANDARD_PAPER_1 = 44; + const PAPERSIZE_STANDARD_PAPER_2 = 45; + const PAPERSIZE_STANDARD_PAPER_3 = 46; + const PAPERSIZE_INVITE_ENVELOPE = 47; + const PAPERSIZE_LETTER_EXTRA_PAPER = 48; + const PAPERSIZE_LEGAL_EXTRA_PAPER = 49; + const PAPERSIZE_TABLOID_EXTRA_PAPER = 50; + const PAPERSIZE_A4_EXTRA_PAPER = 51; + const PAPERSIZE_LETTER_TRANSVERSE_PAPER = 52; + const PAPERSIZE_A4_TRANSVERSE_PAPER = 53; + const PAPERSIZE_LETTER_EXTRA_TRANSVERSE_PAPER = 54; + const PAPERSIZE_SUPERA_SUPERA_A4_PAPER = 55; + const PAPERSIZE_SUPERB_SUPERB_A3_PAPER = 56; + const PAPERSIZE_LETTER_PLUS_PAPER = 57; + const PAPERSIZE_A4_PLUS_PAPER = 58; + const PAPERSIZE_A5_TRANSVERSE_PAPER = 59; + const PAPERSIZE_JIS_B5_TRANSVERSE_PAPER = 60; + const PAPERSIZE_A3_EXTRA_PAPER = 61; + const PAPERSIZE_A5_EXTRA_PAPER = 62; + const PAPERSIZE_ISO_B5_EXTRA_PAPER = 63; + const PAPERSIZE_A2_PAPER = 64; + const PAPERSIZE_A3_TRANSVERSE_PAPER = 65; + const PAPERSIZE_A3_EXTRA_TRANSVERSE_PAPER = 66; - /* Page orientation */ - const ORIENTATION_DEFAULT = 'default'; - const ORIENTATION_LANDSCAPE = 'landscape'; - const ORIENTATION_PORTRAIT = 'portrait'; + /* Page orientation */ + const ORIENTATION_DEFAULT = 'default'; + const ORIENTATION_LANDSCAPE = 'landscape'; + const ORIENTATION_PORTRAIT = 'portrait'; - /* Print Range Set Method */ - const SETPRINTRANGE_OVERWRITE = 'O'; - const SETPRINTRANGE_INSERT = 'I'; + /* Print Range Set Method */ + const SETPRINTRANGE_OVERWRITE = 'O'; + const SETPRINTRANGE_INSERT = 'I'; - /** - * Paper size - * - * @var int - */ - private $_paperSize = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER; + /** + * Paper size + * + * @var int + */ + private $paperSize = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER; - /** - * Orientation - * - * @var string - */ - private $_orientation = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT; + /** + * Orientation + * + * @var string + */ + private $orientation = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT; - /** - * Scale (Print Scale) - * - * Print scaling. Valid values range from 10 to 400 - * This setting is overridden when fitToWidth and/or fitToHeight are in use - * - * @var int? - */ - private $_scale = 100; + /** + * Scale (Print Scale) + * + * Print scaling. Valid values range from 10 to 400 + * This setting is overridden when fitToWidth and/or fitToHeight are in use + * + * @var int? + */ + private $scale = 100; - /** - * Fit To Page - * Whether scale or fitToWith / fitToHeight applies - * - * @var boolean - */ - private $_fitToPage = FALSE; + /** + * Fit To Page + * Whether scale or fitToWith / fitToHeight applies + * + * @var boolean + */ + private $fitToPage = false; - /** - * Fit To Height - * Number of vertical pages to fit on - * - * @var int? - */ - private $_fitToHeight = 1; + /** + * Fit To Height + * Number of vertical pages to fit on + * + * @var int? + */ + private $fitToHeight = 1; - /** - * Fit To Width - * Number of horizontal pages to fit on - * - * @var int? - */ - private $_fitToWidth = 1; + /** + * Fit To Width + * Number of horizontal pages to fit on + * + * @var int? + */ + private $fitToWidth = 1; - /** - * Columns to repeat at left - * - * @var array Containing start column and end column, empty array if option unset - */ - private $_columnsToRepeatAtLeft = array('', ''); + /** + * Columns to repeat at left + * + * @var array Containing start column and end column, empty array if option unset + */ + private $columnsToRepeatAtLeft = array('', ''); - /** - * Rows to repeat at top - * - * @var array Containing start row number and end row number, empty array if option unset - */ - private $_rowsToRepeatAtTop = array(0, 0); + /** + * Rows to repeat at top + * + * @var array Containing start row number and end row number, empty array if option unset + */ + private $rowsToRepeatAtTop = array(0, 0); - /** - * Center page horizontally - * - * @var boolean - */ - private $_horizontalCentered = FALSE; + /** + * Center page horizontally + * + * @var boolean + */ + private $horizontalCentered = false; - /** - * Center page vertically - * - * @var boolean - */ - private $_verticalCentered = FALSE; + /** + * Center page vertically + * + * @var boolean + */ + private $verticalCentered = false; - /** - * Print area - * - * @var string - */ - private $_printArea = NULL; + /** + * Print area + * + * @var string + */ + private $printArea = null; - /** - * First page number - * - * @var int - */ - private $_firstPageNumber = NULL; + /** + * First page number + * + * @var int + */ + private $firstPageNumber = null; /** * Create a new PHPExcel_Worksheet_PageSetup @@ -286,8 +286,9 @@ class PHPExcel_Worksheet_PageSetup * * @return int */ - public function getPaperSize() { - return $this->_paperSize; + public function getPaperSize() + { + return $this->paperSize; } /** @@ -296,9 +297,10 @@ class PHPExcel_Worksheet_PageSetup * @param int $pValue * @return PHPExcel_Worksheet_PageSetup */ - public function setPaperSize($pValue = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER) { - $this->_paperSize = $pValue; - return $this; + public function setPaperSize($pValue = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER) + { + $this->paperSize = $pValue; + return $this; } /** @@ -306,8 +308,9 @@ class PHPExcel_Worksheet_PageSetup * * @return string */ - public function getOrientation() { - return $this->_orientation; + public function getOrientation() + { + return $this->orientation; } /** @@ -316,450 +319,485 @@ class PHPExcel_Worksheet_PageSetup * @param string $pValue * @return PHPExcel_Worksheet_PageSetup */ - public function setOrientation($pValue = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) { - $this->_orientation = $pValue; - return $this; + public function setOrientation($pValue = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) + { + $this->orientation = $pValue; + return $this; } - /** - * Get Scale - * - * @return int? - */ - public function getScale() { - return $this->_scale; - } + /** + * Get Scale + * + * @return int? + */ + public function getScale() + { + return $this->scale; + } - /** - * Set Scale - * - * Print scaling. Valid values range from 10 to 400 - * This setting is overridden when fitToWidth and/or fitToHeight are in use - * - * @param int? $pValue - * @param boolean $pUpdate Update fitToPage so scaling applies rather than fitToHeight / fitToWidth - * @return PHPExcel_Worksheet_PageSetup - * @throws PHPExcel_Exception - */ - public function setScale($pValue = 100, $pUpdate = true) { - // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, - // but it is apparently still able to handle any scale >= 0, where 0 results in 100 - if (($pValue >= 0) || is_null($pValue)) { - $this->_scale = $pValue; - if ($pUpdate) { - $this->_fitToPage = false; - } - } else { - throw new PHPExcel_Exception("Scale must not be negative"); - } - return $this; - } + /** + * Set Scale + * + * Print scaling. Valid values range from 10 to 400 + * This setting is overridden when fitToWidth and/or fitToHeight are in use + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so scaling applies rather than fitToHeight / fitToWidth + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function setScale($pValue = 100, $pUpdate = true) + { + // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, + // but it is apparently still able to handle any scale >= 0, where 0 results in 100 + if (($pValue >= 0) || is_null($pValue)) { + $this->scale = $pValue; + if ($pUpdate) { + $this->fitToPage = false; + } + } else { + throw new PHPExcel_Exception("Scale must not be negative"); + } + return $this; + } - /** - * Get Fit To Page - * - * @return boolean - */ - public function getFitToPage() { - return $this->_fitToPage; - } + /** + * Get Fit To Page + * + * @return boolean + */ + public function getFitToPage() + { + return $this->fitToPage; + } - /** - * Set Fit To Page - * - * @param boolean $pValue - * @return PHPExcel_Worksheet_PageSetup - */ - public function setFitToPage($pValue = TRUE) { - $this->_fitToPage = $pValue; - return $this; - } + /** + * Set Fit To Page + * + * @param boolean $pValue + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToPage($pValue = true) + { + $this->fitToPage = $pValue; + return $this; + } - /** - * Get Fit To Height - * - * @return int? - */ - public function getFitToHeight() { - return $this->_fitToHeight; - } + /** + * Get Fit To Height + * + * @return int? + */ + public function getFitToHeight() + { + return $this->fitToHeight; + } - /** - * Set Fit To Height - * - * @param int? $pValue - * @param boolean $pUpdate Update fitToPage so it applies rather than scaling - * @return PHPExcel_Worksheet_PageSetup - */ - public function setFitToHeight($pValue = 1, $pUpdate = TRUE) { - $this->_fitToHeight = $pValue; - if ($pUpdate) { - $this->_fitToPage = TRUE; - } - return $this; - } + /** + * Set Fit To Height + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so it applies rather than scaling + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToHeight($pValue = 1, $pUpdate = true) + { + $this->fitToHeight = $pValue; + if ($pUpdate) { + $this->fitToPage = true; + } + return $this; + } - /** - * Get Fit To Width - * - * @return int? - */ - public function getFitToWidth() { - return $this->_fitToWidth; - } + /** + * Get Fit To Width + * + * @return int? + */ + public function getFitToWidth() + { + return $this->fitToWidth; + } - /** - * Set Fit To Width - * - * @param int? $pValue - * @param boolean $pUpdate Update fitToPage so it applies rather than scaling - * @return PHPExcel_Worksheet_PageSetup - */ - public function setFitToWidth($pValue = 1, $pUpdate = TRUE) { - $this->_fitToWidth = $pValue; - if ($pUpdate) { - $this->_fitToPage = TRUE; - } - return $this; - } + /** + * Set Fit To Width + * + * @param int? $pValue + * @param boolean $pUpdate Update fitToPage so it applies rather than scaling + * @return PHPExcel_Worksheet_PageSetup + */ + public function setFitToWidth($pValue = 1, $pUpdate = true) + { + $this->fitToWidth = $pValue; + if ($pUpdate) { + $this->fitToPage = true; + } + return $this; + } - /** - * Is Columns to repeat at left set? - * - * @return boolean - */ - public function isColumnsToRepeatAtLeftSet() { - if (is_array($this->_columnsToRepeatAtLeft)) { - if ($this->_columnsToRepeatAtLeft[0] != '' && $this->_columnsToRepeatAtLeft[1] != '') { - return true; - } - } + /** + * Is Columns to repeat at left set? + * + * @return boolean + */ + public function isColumnsToRepeatAtLeftSet() + { + if (is_array($this->columnsToRepeatAtLeft)) { + if ($this->columnsToRepeatAtLeft[0] != '' && $this->columnsToRepeatAtLeft[1] != '') { + return true; + } + } - return false; - } + return false; + } - /** - * Get Columns to repeat at left - * - * @return array Containing start column and end column, empty array if option unset - */ - public function getColumnsToRepeatAtLeft() { - return $this->_columnsToRepeatAtLeft; - } + /** + * Get Columns to repeat at left + * + * @return array Containing start column and end column, empty array if option unset + */ + public function getColumnsToRepeatAtLeft() + { + return $this->columnsToRepeatAtLeft; + } - /** - * Set Columns to repeat at left - * - * @param array $pValue Containing start column and end column, empty array if option unset - * @return PHPExcel_Worksheet_PageSetup - */ - public function setColumnsToRepeatAtLeft($pValue = null) { - if (is_array($pValue)) { - $this->_columnsToRepeatAtLeft = $pValue; - } - return $this; - } + /** + * Set Columns to repeat at left + * + * @param array $pValue Containing start column and end column, empty array if option unset + * @return PHPExcel_Worksheet_PageSetup + */ + public function setColumnsToRepeatAtLeft($pValue = null) + { + if (is_array($pValue)) { + $this->columnsToRepeatAtLeft = $pValue; + } + return $this; + } - /** - * Set Columns to repeat at left by start and end - * - * @param string $pStart - * @param string $pEnd - * @return PHPExcel_Worksheet_PageSetup - */ - public function setColumnsToRepeatAtLeftByStartAndEnd($pStart = 'A', $pEnd = 'A') { - $this->_columnsToRepeatAtLeft = array($pStart, $pEnd); - return $this; - } + /** + * Set Columns to repeat at left by start and end + * + * @param string $pStart + * @param string $pEnd + * @return PHPExcel_Worksheet_PageSetup + */ + public function setColumnsToRepeatAtLeftByStartAndEnd($pStart = 'A', $pEnd = 'A') + { + $this->columnsToRepeatAtLeft = array($pStart, $pEnd); + return $this; + } - /** - * Is Rows to repeat at top set? - * - * @return boolean - */ - public function isRowsToRepeatAtTopSet() { - if (is_array($this->_rowsToRepeatAtTop)) { - if ($this->_rowsToRepeatAtTop[0] != 0 && $this->_rowsToRepeatAtTop[1] != 0) { - return true; - } - } + /** + * Is Rows to repeat at top set? + * + * @return boolean + */ + public function isRowsToRepeatAtTopSet() + { + if (is_array($this->rowsToRepeatAtTop)) { + if ($this->rowsToRepeatAtTop[0] != 0 && $this->rowsToRepeatAtTop[1] != 0) { + return true; + } + } - return false; - } + return false; + } - /** - * Get Rows to repeat at top - * - * @return array Containing start column and end column, empty array if option unset - */ - public function getRowsToRepeatAtTop() { - return $this->_rowsToRepeatAtTop; - } + /** + * Get Rows to repeat at top + * + * @return array Containing start column and end column, empty array if option unset + */ + public function getRowsToRepeatAtTop() + { + return $this->rowsToRepeatAtTop; + } - /** - * Set Rows to repeat at top - * - * @param array $pValue Containing start column and end column, empty array if option unset - * @return PHPExcel_Worksheet_PageSetup - */ - public function setRowsToRepeatAtTop($pValue = null) { - if (is_array($pValue)) { - $this->_rowsToRepeatAtTop = $pValue; - } - return $this; - } + /** + * Set Rows to repeat at top + * + * @param array $pValue Containing start column and end column, empty array if option unset + * @return PHPExcel_Worksheet_PageSetup + */ + public function setRowsToRepeatAtTop($pValue = null) + { + if (is_array($pValue)) { + $this->rowsToRepeatAtTop = $pValue; + } + return $this; + } - /** - * Set Rows to repeat at top by start and end - * - * @param int $pStart - * @param int $pEnd - * @return PHPExcel_Worksheet_PageSetup - */ - public function setRowsToRepeatAtTopByStartAndEnd($pStart = 1, $pEnd = 1) { - $this->_rowsToRepeatAtTop = array($pStart, $pEnd); - return $this; - } + /** + * Set Rows to repeat at top by start and end + * + * @param int $pStart + * @param int $pEnd + * @return PHPExcel_Worksheet_PageSetup + */ + public function setRowsToRepeatAtTopByStartAndEnd($pStart = 1, $pEnd = 1) + { + $this->rowsToRepeatAtTop = array($pStart, $pEnd); + return $this; + } - /** - * Get center page horizontally - * - * @return bool - */ - public function getHorizontalCentered() { - return $this->_horizontalCentered; - } + /** + * Get center page horizontally + * + * @return bool + */ + public function getHorizontalCentered() + { + return $this->horizontalCentered; + } - /** - * Set center page horizontally - * - * @param bool $value - * @return PHPExcel_Worksheet_PageSetup - */ - public function setHorizontalCentered($value = false) { - $this->_horizontalCentered = $value; - return $this; - } + /** + * Set center page horizontally + * + * @param bool $value + * @return PHPExcel_Worksheet_PageSetup + */ + public function setHorizontalCentered($value = false) + { + $this->horizontalCentered = $value; + return $this; + } - /** - * Get center page vertically - * - * @return bool - */ - public function getVerticalCentered() { - return $this->_verticalCentered; - } + /** + * Get center page vertically + * + * @return bool + */ + public function getVerticalCentered() + { + return $this->verticalCentered; + } - /** - * Set center page vertically - * - * @param bool $value - * @return PHPExcel_Worksheet_PageSetup - */ - public function setVerticalCentered($value = false) { - $this->_verticalCentered = $value; - return $this; - } + /** + * Set center page vertically + * + * @param bool $value + * @return PHPExcel_Worksheet_PageSetup + */ + public function setVerticalCentered($value = false) + { + $this->verticalCentered = $value; + return $this; + } - /** - * Get print area - * - * @param int $index Identifier for a specific print area range if several ranges have been set - * Default behaviour, or a index value of 0, will return all ranges as a comma-separated string - * Otherwise, the specific range identified by the value of $index will be returned - * Print areas are numbered from 1 - * @throws PHPExcel_Exception - * @return string - */ - public function getPrintArea($index = 0) { - if ($index == 0) { - return $this->_printArea; - } - $printAreas = explode(',',$this->_printArea); - if (isset($printAreas[$index-1])) { - return $printAreas[$index-1]; - } - throw new PHPExcel_Exception("Requested Print Area does not exist"); - } + /** + * Get print area + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or a index value of 0, will return all ranges as a comma-separated string + * Otherwise, the specific range identified by the value of $index will be returned + * Print areas are numbered from 1 + * @throws PHPExcel_Exception + * @return string + */ + public function getPrintArea($index = 0) + { + if ($index == 0) { + return $this->printArea; + } + $printAreas = explode(',', $this->printArea); + if (isset($printAreas[$index-1])) { + return $printAreas[$index-1]; + } + throw new PHPExcel_Exception("Requested Print Area does not exist"); + } - /** - * Is print area set? - * - * @param int $index Identifier for a specific print area range if several ranges have been set - * Default behaviour, or an index value of 0, will identify whether any print range is set - * Otherwise, existence of the range identified by the value of $index will be returned - * Print areas are numbered from 1 - * @return boolean - */ - public function isPrintAreaSet($index = 0) { - if ($index == 0) { - return !is_null($this->_printArea); - } - $printAreas = explode(',',$this->_printArea); - return isset($printAreas[$index-1]); - } + /** + * Is print area set? + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or an index value of 0, will identify whether any print range is set + * Otherwise, existence of the range identified by the value of $index will be returned + * Print areas are numbered from 1 + * @return boolean + */ + public function isPrintAreaSet($index = 0) + { + if ($index == 0) { + return !is_null($this->printArea); + } + $printAreas = explode(',', $this->printArea); + return isset($printAreas[$index-1]); + } - /** - * Clear a print area - * - * @param int $index Identifier for a specific print area range if several ranges have been set - * Default behaviour, or an index value of 0, will clear all print ranges that are set - * Otherwise, the range identified by the value of $index will be removed from the series - * Print areas are numbered from 1 - * @return PHPExcel_Worksheet_PageSetup - */ - public function clearPrintArea($index = 0) { - if ($index == 0) { - $this->_printArea = NULL; - } else { - $printAreas = explode(',',$this->_printArea); - if (isset($printAreas[$index-1])) { - unset($printAreas[$index-1]); - $this->_printArea = implode(',',$printAreas); - } - } + /** + * Clear a print area + * + * @param int $index Identifier for a specific print area range if several ranges have been set + * Default behaviour, or an index value of 0, will clear all print ranges that are set + * Otherwise, the range identified by the value of $index will be removed from the series + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + */ + public function clearPrintArea($index = 0) + { + if ($index == 0) { + $this->printArea = null; + } else { + $printAreas = explode(',', $this->printArea); + if (isset($printAreas[$index-1])) { + unset($printAreas[$index-1]); + $this->printArea = implode(',', $printAreas); + } + } - return $this; - } + return $this; + } - /** - * Set print area. e.g. 'A1:D10' or 'A1:D10,G5:M20' - * - * @param string $value - * @param int $index Identifier for a specific print area range allowing several ranges to be set - * When the method is "O"verwrite, then a positive integer index will overwrite that indexed - * entry in the print areas list; a negative index value will identify which entry to - * overwrite working bacward through the print area to the list, with the last entry as -1. - * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. - * When the method is "I"nsert, then a positive index will insert after that indexed entry in - * the print areas list, while a negative index will insert before the indexed entry. - * Specifying an index value of 0, will always append the new print range at the end of the - * list. - * Print areas are numbered from 1 - * @param string $method Determines the method used when setting multiple print areas - * Default behaviour, or the "O" method, overwrites existing print area - * The "I" method, inserts the new print area before any specified index, or at the end of the list - * @return PHPExcel_Worksheet_PageSetup - * @throws PHPExcel_Exception - */ - public function setPrintArea($value, $index = 0, $method = self::SETPRINTRANGE_OVERWRITE) { - if (strpos($value,'!') !== false) { - throw new PHPExcel_Exception('Cell coordinate must not specify a worksheet.'); - } elseif (strpos($value,':') === false) { - throw new PHPExcel_Exception('Cell coordinate must be a range of cells.'); - } elseif (strpos($value,'$') !== false) { - throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); - } - $value = strtoupper($value); + /** + * Set print area. e.g. 'A1:D10' or 'A1:D10,G5:M20' + * + * @param string $value + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * When the method is "O"verwrite, then a positive integer index will overwrite that indexed + * entry in the print areas list; a negative index value will identify which entry to + * overwrite working bacward through the print area to the list, with the last entry as -1. + * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. + * When the method is "I"nsert, then a positive index will insert after that indexed entry in + * the print areas list, while a negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @param string $method Determines the method used when setting multiple print areas + * Default behaviour, or the "O" method, overwrites existing print area + * The "I" method, inserts the new print area before any specified index, or at the end of the list + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function setPrintArea($value, $index = 0, $method = self::SETPRINTRANGE_OVERWRITE) + { + if (strpos($value, '!') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not specify a worksheet.'); + } elseif (strpos($value, ':') === false) { + throw new PHPExcel_Exception('Cell coordinate must be a range of cells.'); + } elseif (strpos($value, '$') !== false) { + throw new PHPExcel_Exception('Cell coordinate must not be absolute.'); + } + $value = strtoupper($value); - if ($method == self::SETPRINTRANGE_OVERWRITE) { - if ($index == 0) { - $this->_printArea = $value; - } else { - $printAreas = explode(',',$this->_printArea); - if($index < 0) { - $index = count($printAreas) - abs($index) + 1; - } - if (($index <= 0) || ($index > count($printAreas))) { - throw new PHPExcel_Exception('Invalid index for setting print range.'); - } - $printAreas[$index-1] = $value; - $this->_printArea = implode(',',$printAreas); - } - } elseif($method == self::SETPRINTRANGE_INSERT) { - if ($index == 0) { - $this->_printArea .= ($this->_printArea == '') ? $value : ','.$value; - } else { - $printAreas = explode(',',$this->_printArea); - if($index < 0) { - $index = abs($index) - 1; - } - if ($index > count($printAreas)) { - throw new PHPExcel_Exception('Invalid index for setting print range.'); - } - $printAreas = array_merge(array_slice($printAreas,0,$index),array($value),array_slice($printAreas,$index)); - $this->_printArea = implode(',',$printAreas); - } - } else { - throw new PHPExcel_Exception('Invalid method for setting print range.'); - } + if ($method == self::SETPRINTRANGE_OVERWRITE) { + if ($index == 0) { + $this->printArea = $value; + } else { + $printAreas = explode(',', $this->printArea); + if ($index < 0) { + $index = count($printAreas) - abs($index) + 1; + } + if (($index <= 0) || ($index > count($printAreas))) { + throw new PHPExcel_Exception('Invalid index for setting print range.'); + } + $printAreas[$index-1] = $value; + $this->printArea = implode(',', $printAreas); + } + } elseif ($method == self::SETPRINTRANGE_INSERT) { + if ($index == 0) { + $this->printArea .= ($this->printArea == '') ? $value : ','.$value; + } else { + $printAreas = explode(',', $this->printArea); + if ($index < 0) { + $index = abs($index) - 1; + } + if ($index > count($printAreas)) { + throw new PHPExcel_Exception('Invalid index for setting print range.'); + } + $printAreas = array_merge(array_slice($printAreas, 0, $index), array($value), array_slice($printAreas, $index)); + $this->printArea = implode(',', $printAreas); + } + } else { + throw new PHPExcel_Exception('Invalid method for setting print range.'); + } - return $this; - } + return $this; + } - /** - * Add a new print area (e.g. 'A1:D10' or 'A1:D10,G5:M20') to the list of print areas - * - * @param string $value - * @param int $index Identifier for a specific print area range allowing several ranges to be set - * A positive index will insert after that indexed entry in the print areas list, while a - * negative index will insert before the indexed entry. - * Specifying an index value of 0, will always append the new print range at the end of the - * list. - * Print areas are numbered from 1 - * @return PHPExcel_Worksheet_PageSetup - * @throws PHPExcel_Exception - */ - public function addPrintArea($value, $index = -1) { - return $this->setPrintArea($value, $index, self::SETPRINTRANGE_INSERT); - } + /** + * Add a new print area (e.g. 'A1:D10' or 'A1:D10,G5:M20') to the list of print areas + * + * @param string $value + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * A positive index will insert after that indexed entry in the print areas list, while a + * negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ + public function addPrintArea($value, $index = -1) + { + return $this->setPrintArea($value, $index, self::SETPRINTRANGE_INSERT); + } - /** - * Set print area - * - * @param int $column1 Column 1 - * @param int $row1 Row 1 - * @param int $column2 Column 2 - * @param int $row2 Row 2 - * @param int $index Identifier for a specific print area range allowing several ranges to be set - * When the method is "O"verwrite, then a positive integer index will overwrite that indexed - * entry in the print areas list; a negative index value will identify which entry to - * overwrite working bacward through the print area to the list, with the last entry as -1. - * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. - * When the method is "I"nsert, then a positive index will insert after that indexed entry in - * the print areas list, while a negative index will insert before the indexed entry. - * Specifying an index value of 0, will always append the new print range at the end of the - * list. - * Print areas are numbered from 1 - * @param string $method Determines the method used when setting multiple print areas - * Default behaviour, or the "O" method, overwrites existing print area - * The "I" method, inserts the new print area before any specified index, or at the end of the list - * @return PHPExcel_Worksheet_PageSetup - * @throws PHPExcel_Exception - */ + /** + * Set print area + * + * @param int $column1 Column 1 + * @param int $row1 Row 1 + * @param int $column2 Column 2 + * @param int $row2 Row 2 + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * When the method is "O"verwrite, then a positive integer index will overwrite that indexed + * entry in the print areas list; a negative index value will identify which entry to + * overwrite working bacward through the print area to the list, with the last entry as -1. + * Specifying an index value of 0, will overwrite <b>all</b> existing print ranges. + * When the method is "I"nsert, then a positive index will insert after that indexed entry in + * the print areas list, while a negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @param string $method Determines the method used when setting multiple print areas + * Default behaviour, or the "O" method, overwrites existing print area + * The "I" method, inserts the new print area before any specified index, or at the end of the list + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ public function setPrintAreaByColumnAndRow($column1, $row1, $column2, $row2, $index = 0, $method = self::SETPRINTRANGE_OVERWRITE) { - return $this->setPrintArea(PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, $index, $method); + return $this->setPrintArea( + PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, + $index, + $method + ); } - /** - * Add a new print area to the list of print areas - * - * @param int $column1 Start Column for the print area - * @param int $row1 Start Row for the print area - * @param int $column2 End Column for the print area - * @param int $row2 End Row for the print area - * @param int $index Identifier for a specific print area range allowing several ranges to be set - * A positive index will insert after that indexed entry in the print areas list, while a - * negative index will insert before the indexed entry. - * Specifying an index value of 0, will always append the new print range at the end of the - * list. - * Print areas are numbered from 1 - * @return PHPExcel_Worksheet_PageSetup - * @throws PHPExcel_Exception - */ + /** + * Add a new print area to the list of print areas + * + * @param int $column1 Start Column for the print area + * @param int $row1 Start Row for the print area + * @param int $column2 End Column for the print area + * @param int $row2 End Row for the print area + * @param int $index Identifier for a specific print area range allowing several ranges to be set + * A positive index will insert after that indexed entry in the print areas list, while a + * negative index will insert before the indexed entry. + * Specifying an index value of 0, will always append the new print range at the end of the + * list. + * Print areas are numbered from 1 + * @return PHPExcel_Worksheet_PageSetup + * @throws PHPExcel_Exception + */ public function addPrintAreaByColumnAndRow($column1, $row1, $column2, $row2, $index = -1) { - return $this->setPrintArea(PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, $index, self::SETPRINTRANGE_INSERT); - } + return $this->setPrintArea( + PHPExcel_Cell::stringFromColumnIndex($column1) . $row1 . ':' . PHPExcel_Cell::stringFromColumnIndex($column2) . $row2, + $index, + self::SETPRINTRANGE_INSERT + ); + } - /** - * Get first page number - * - * @return int - */ - public function getFirstPageNumber() { - return $this->_firstPageNumber; + /** + * Get first page number + * + * @return int + */ + public function getFirstPageNumber() + { + return $this->firstPageNumber; } /** @@ -768,9 +806,10 @@ class PHPExcel_Worksheet_PageSetup * @param int $value * @return PHPExcel_Worksheet_HeaderFooter */ - public function setFirstPageNumber($value = null) { - $this->_firstPageNumber = $value; - return $this; + public function setFirstPageNumber($value = null) + { + $this->firstPageNumber = $value; + return $this; } /** @@ -778,21 +817,23 @@ class PHPExcel_Worksheet_PageSetup * * @return PHPExcel_Worksheet_HeaderFooter */ - public function resetFirstPageNumber() { - return $this->setFirstPageNumber(null); + public function resetFirstPageNumber() + { + return $this->setFirstPageNumber(null); } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php index da66bf763..00633eeb7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Protection.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,128 +31,128 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Worksheet_Protection { - /** - * Sheet - * - * @var boolean - */ - private $_sheet = false; + /** + * Sheet + * + * @var boolean + */ + private $sheet = false; - /** - * Objects - * - * @var boolean - */ - private $_objects = false; + /** + * Objects + * + * @var boolean + */ + private $objects = false; - /** - * Scenarios - * - * @var boolean - */ - private $_scenarios = false; + /** + * Scenarios + * + * @var boolean + */ + private $scenarios = false; - /** - * Format cells - * - * @var boolean - */ - private $_formatCells = false; + /** + * Format cells + * + * @var boolean + */ + private $formatCells = false; - /** - * Format columns - * - * @var boolean - */ - private $_formatColumns = false; + /** + * Format columns + * + * @var boolean + */ + private $formatColumns = false; - /** - * Format rows - * - * @var boolean - */ - private $_formatRows = false; + /** + * Format rows + * + * @var boolean + */ + private $formatRows = false; - /** - * Insert columns - * - * @var boolean - */ - private $_insertColumns = false; + /** + * Insert columns + * + * @var boolean + */ + private $insertColumns = false; - /** - * Insert rows - * - * @var boolean - */ - private $_insertRows = false; + /** + * Insert rows + * + * @var boolean + */ + private $insertRows = false; - /** - * Insert hyperlinks - * - * @var boolean - */ - private $_insertHyperlinks = false; + /** + * Insert hyperlinks + * + * @var boolean + */ + private $insertHyperlinks = false; - /** - * Delete columns - * - * @var boolean - */ - private $_deleteColumns = false; + /** + * Delete columns + * + * @var boolean + */ + private $deleteColumns = false; - /** - * Delete rows - * - * @var boolean - */ - private $_deleteRows = false; + /** + * Delete rows + * + * @var boolean + */ + private $deleteRows = false; - /** - * Select locked cells - * - * @var boolean - */ - private $_selectLockedCells = false; + /** + * Select locked cells + * + * @var boolean + */ + private $selectLockedCells = false; - /** - * Sort - * - * @var boolean - */ - private $_sort = false; + /** + * Sort + * + * @var boolean + */ + private $sort = false; - /** - * AutoFilter - * - * @var boolean - */ - private $_autoFilter = false; + /** + * AutoFilter + * + * @var boolean + */ + private $autoFilter = false; - /** - * Pivot tables - * - * @var boolean - */ - private $_pivotTables = false; + /** + * Pivot tables + * + * @var boolean + */ + private $pivotTables = false; - /** - * Select unlocked cells - * - * @var boolean - */ - private $_selectUnlockedCells = false; + /** + * Select unlocked cells + * + * @var boolean + */ + private $selectUnlockedCells = false; - /** - * Password - * - * @var string - */ - private $_password = ''; + /** + * Password + * + * @var string + */ + private $password = ''; /** * Create a new PHPExcel_Worksheet_Protection @@ -166,23 +166,24 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function isProtectionEnabled() { - return $this->_sheet || - $this->_objects || - $this->_scenarios || - $this->_formatCells || - $this->_formatColumns || - $this->_formatRows || - $this->_insertColumns || - $this->_insertRows || - $this->_insertHyperlinks || - $this->_deleteColumns || - $this->_deleteRows || - $this->_selectLockedCells || - $this->_sort || - $this->_autoFilter || - $this->_pivotTables || - $this->_selectUnlockedCells; + public function isProtectionEnabled() + { + return $this->sheet || + $this->objects || + $this->scenarios || + $this->formatCells || + $this->formatColumns || + $this->formatRows || + $this->insertColumns || + $this->insertRows || + $this->insertHyperlinks || + $this->deleteColumns || + $this->deleteRows || + $this->selectLockedCells || + $this->sort || + $this->autoFilter || + $this->pivotTables || + $this->selectUnlockedCells; } /** @@ -190,8 +191,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getSheet() { - return $this->_sheet; + public function getSheet() + { + return $this->sheet; } /** @@ -200,9 +202,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setSheet($pValue = false) { - $this->_sheet = $pValue; - return $this; + public function setSheet($pValue = false) + { + $this->sheet = $pValue; + return $this; } /** @@ -210,8 +213,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getObjects() { - return $this->_objects; + public function getObjects() + { + return $this->objects; } /** @@ -220,9 +224,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setObjects($pValue = false) { - $this->_objects = $pValue; - return $this; + public function setObjects($pValue = false) + { + $this->objects = $pValue; + return $this; } /** @@ -230,8 +235,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getScenarios() { - return $this->_scenarios; + public function getScenarios() + { + return $this->scenarios; } /** @@ -240,9 +246,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setScenarios($pValue = false) { - $this->_scenarios = $pValue; - return $this; + public function setScenarios($pValue = false) + { + $this->scenarios = $pValue; + return $this; } /** @@ -250,8 +257,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getFormatCells() { - return $this->_formatCells; + public function getFormatCells() + { + return $this->formatCells; } /** @@ -260,9 +268,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setFormatCells($pValue = false) { - $this->_formatCells = $pValue; - return $this; + public function setFormatCells($pValue = false) + { + $this->formatCells = $pValue; + return $this; } /** @@ -270,8 +279,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getFormatColumns() { - return $this->_formatColumns; + public function getFormatColumns() + { + return $this->formatColumns; } /** @@ -280,9 +290,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setFormatColumns($pValue = false) { - $this->_formatColumns = $pValue; - return $this; + public function setFormatColumns($pValue = false) + { + $this->formatColumns = $pValue; + return $this; } /** @@ -290,8 +301,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getFormatRows() { - return $this->_formatRows; + public function getFormatRows() + { + return $this->formatRows; } /** @@ -300,9 +312,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setFormatRows($pValue = false) { - $this->_formatRows = $pValue; - return $this; + public function setFormatRows($pValue = false) + { + $this->formatRows = $pValue; + return $this; } /** @@ -310,8 +323,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getInsertColumns() { - return $this->_insertColumns; + public function getInsertColumns() + { + return $this->insertColumns; } /** @@ -320,9 +334,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setInsertColumns($pValue = false) { - $this->_insertColumns = $pValue; - return $this; + public function setInsertColumns($pValue = false) + { + $this->insertColumns = $pValue; + return $this; } /** @@ -330,8 +345,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getInsertRows() { - return $this->_insertRows; + public function getInsertRows() + { + return $this->insertRows; } /** @@ -340,9 +356,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setInsertRows($pValue = false) { - $this->_insertRows = $pValue; - return $this; + public function setInsertRows($pValue = false) + { + $this->insertRows = $pValue; + return $this; } /** @@ -350,8 +367,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getInsertHyperlinks() { - return $this->_insertHyperlinks; + public function getInsertHyperlinks() + { + return $this->insertHyperlinks; } /** @@ -360,9 +378,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setInsertHyperlinks($pValue = false) { - $this->_insertHyperlinks = $pValue; - return $this; + public function setInsertHyperlinks($pValue = false) + { + $this->insertHyperlinks = $pValue; + return $this; } /** @@ -370,8 +389,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getDeleteColumns() { - return $this->_deleteColumns; + public function getDeleteColumns() + { + return $this->deleteColumns; } /** @@ -380,9 +400,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setDeleteColumns($pValue = false) { - $this->_deleteColumns = $pValue; - return $this; + public function setDeleteColumns($pValue = false) + { + $this->deleteColumns = $pValue; + return $this; } /** @@ -390,8 +411,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getDeleteRows() { - return $this->_deleteRows; + public function getDeleteRows() + { + return $this->deleteRows; } /** @@ -400,9 +422,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setDeleteRows($pValue = false) { - $this->_deleteRows = $pValue; - return $this; + public function setDeleteRows($pValue = false) + { + $this->deleteRows = $pValue; + return $this; } /** @@ -410,8 +433,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getSelectLockedCells() { - return $this->_selectLockedCells; + public function getSelectLockedCells() + { + return $this->selectLockedCells; } /** @@ -420,9 +444,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setSelectLockedCells($pValue = false) { - $this->_selectLockedCells = $pValue; - return $this; + public function setSelectLockedCells($pValue = false) + { + $this->selectLockedCells = $pValue; + return $this; } /** @@ -430,8 +455,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getSort() { - return $this->_sort; + public function getSort() + { + return $this->sort; } /** @@ -440,9 +466,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setSort($pValue = false) { - $this->_sort = $pValue; - return $this; + public function setSort($pValue = false) + { + $this->sort = $pValue; + return $this; } /** @@ -450,8 +477,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getAutoFilter() { - return $this->_autoFilter; + public function getAutoFilter() + { + return $this->autoFilter; } /** @@ -460,9 +488,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setAutoFilter($pValue = false) { - $this->_autoFilter = $pValue; - return $this; + public function setAutoFilter($pValue = false) + { + $this->autoFilter = $pValue; + return $this; } /** @@ -470,8 +499,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getPivotTables() { - return $this->_pivotTables; + public function getPivotTables() + { + return $this->pivotTables; } /** @@ -480,9 +510,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setPivotTables($pValue = false) { - $this->_pivotTables = $pValue; - return $this; + public function setPivotTables($pValue = false) + { + $this->pivotTables = $pValue; + return $this; } /** @@ -490,8 +521,9 @@ class PHPExcel_Worksheet_Protection * * @return boolean */ - function getSelectUnlockedCells() { - return $this->_selectUnlockedCells; + public function getSelectUnlockedCells() + { + return $this->selectUnlockedCells; } /** @@ -500,9 +532,10 @@ class PHPExcel_Worksheet_Protection * @param boolean $pValue * @return PHPExcel_Worksheet_Protection */ - function setSelectUnlockedCells($pValue = false) { - $this->_selectUnlockedCells = $pValue; - return $this; + public function setSelectUnlockedCells($pValue = false) + { + $this->selectUnlockedCells = $pValue; + return $this; } /** @@ -510,36 +543,39 @@ class PHPExcel_Worksheet_Protection * * @return string */ - function getPassword() { - return $this->_password; + public function getPassword() + { + return $this->password; } /** * Set Password * - * @param string $pValue - * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true + * @param string $pValue + * @param boolean $pAlreadyHashed If the password has already been hashed, set this to true * @return PHPExcel_Worksheet_Protection */ - function setPassword($pValue = '', $pAlreadyHashed = false) { - if (!$pAlreadyHashed) { - $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); - } - $this->_password = $pValue; - return $this; + public function setPassword($pValue = '', $pAlreadyHashed = false) + { + if (!$pAlreadyHashed) { + $pValue = PHPExcel_Shared_PasswordHasher::hashPassword($pValue); + } + $this->password = $pValue; + return $this; } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php index 330432790..4f6034f53 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/Row.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_Row * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,73 +21,66 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_Row - * - * Represents a row in PHPExcel_Worksheet, used by PHPExcel_Worksheet_RowIterator - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_Row { - /** - * PHPExcel_Worksheet - * - * @var PHPExcel_Worksheet - */ - private $_parent; + /** + * PHPExcel_Worksheet + * + * @var PHPExcel_Worksheet + */ + private $parent; - /** - * Row index - * - * @var int - */ - private $_rowIndex = 0; + /** + * Row index + * + * @var int + */ + private $rowIndex = 0; - /** - * Create a new row - * - * @param PHPExcel_Worksheet $parent - * @param int $rowIndex - */ - public function __construct(PHPExcel_Worksheet $parent = null, $rowIndex = 1) { - // Set parent and row index - $this->_parent = $parent; - $this->_rowIndex = $rowIndex; - } + /** + * Create a new row + * + * @param PHPExcel_Worksheet $parent + * @param int $rowIndex + */ + public function __construct(PHPExcel_Worksheet $parent = null, $rowIndex = 1) + { + // Set parent and row index + $this->parent = $parent; + $this->rowIndex = $rowIndex; + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_parent); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->parent); + } - /** - * Get row index - * - * @return int - */ - public function getRowIndex() { - return $this->_rowIndex; - } + /** + * Get row index + * + * @return int + */ + public function getRowIndex() + { + return $this->rowIndex; + } - /** - * Get cell iterator - * - * @param string $startColumn The column address at which to start iterating - * @param string $endColumn Optionally, the column address at which to stop iterating - * @return PHPExcel_Worksheet_CellIterator - */ - public function getCellIterator($startColumn = 'A', $endColumn = null) { - return new PHPExcel_Worksheet_RowCellIterator($this->_parent, $this->_rowIndex, $startColumn, $endColumn); - } + /** + * Get cell iterator + * + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + * @return PHPExcel_Worksheet_CellIterator + */ + public function getCellIterator($startColumn = 'A', $endColumn = null) + { + return new PHPExcel_Worksheet_RowCellIterator($this->parent, $this->rowIndex, $startColumn, $endColumn); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php index 96c6b419c..90eb9c9f2 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowCellIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_RowCellIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,206 +20,206 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_RowCellIterator - * - * Used to iterate columns in a PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_RowCellIterator extends PHPExcel_Worksheet_CellIterator implements Iterator { - /** - * Row index - * - * @var int - */ - protected $_rowIndex; + /** + * Row index + * + * @var int + */ + protected $rowIndex; - /** - * Start position - * - * @var int - */ - protected $_startColumn = 0; + /** + * Start position + * + * @var int + */ + protected $startColumn = 0; - /** - * End position - * - * @var int - */ - protected $_endColumn = 0; + /** + * End position + * + * @var int + */ + protected $endColumn = 0; - /** - * Create a new column iterator - * - * @param PHPExcel_Worksheet $subject The worksheet to iterate over + /** + * Create a new column iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over * @param integer $rowIndex The row that we want to iterate - * @param string $startColumn The column address at which to start iterating - * @param string $endColumn Optionally, the column address at which to stop iterating - */ - public function __construct(PHPExcel_Worksheet $subject = null, $rowIndex = 1, $startColumn = 'A', $endColumn = null) { - // Set subject and row index - $this->_subject = $subject; - $this->_rowIndex = $rowIndex; - $this->resetEnd($endColumn); - $this->resetStart($startColumn); - } + * @param string $startColumn The column address at which to start iterating + * @param string $endColumn Optionally, the column address at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject = null, $rowIndex = 1, $startColumn = 'A', $endColumn = null) + { + // Set subject and row index + $this->subject = $subject; + $this->rowIndex = $rowIndex; + $this->resetEnd($endColumn); + $this->resetStart($startColumn); + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_subject); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->subject); + } - /** - * (Re)Set the start column and the current column pointer - * - * @param integer $startColumn The column address at which to start iterating + /** + * (Re)Set the start column and the current column pointer + * + * @param integer $startColumn The column address at which to start iterating * @return PHPExcel_Worksheet_RowCellIterator * @throws PHPExcel_Exception - */ - public function resetStart($startColumn = 'A') { + */ + public function resetStart($startColumn = 'A') + { $startColumnIndex = PHPExcel_Cell::columnIndexFromString($startColumn) - 1; - $this->_startColumn = $startColumnIndex; + $this->startColumn = $startColumnIndex; $this->adjustForExistingOnlyRange(); - $this->seek(PHPExcel_Cell::stringFromColumnIndex($this->_startColumn)); - - return $this; - } - - /** - * (Re)Set the end column - * - * @param string $endColumn The column address at which to stop iterating - * @return PHPExcel_Worksheet_RowCellIterator - * @throws PHPExcel_Exception - */ - public function resetEnd($endColumn = null) { - $endColumn = ($endColumn) ? $endColumn : $this->_subject->getHighestColumn(); - $this->_endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; - $this->adjustForExistingOnlyRange(); - - return $this; - } - - /** - * Set the column pointer to the selected column - * - * @param string $column The column address to set the current pointer at - * @return PHPExcel_Worksheet_RowCellIterator - * @throws PHPExcel_Exception - */ - public function seek($column = 'A') { - $column = PHPExcel_Cell::columnIndexFromString($column) - 1; - if (($column < $this->_startColumn) || ($column > $this->_endColumn)) { - throw new PHPExcel_Exception("Column $column is out of range ({$this->_startColumn} - {$this->_endColumn})"); - } elseif ($this->_onlyExistingCells && !($this->_subject->cellExistsByColumnAndRow($column, $this->_rowIndex))) { - throw new PHPExcel_Exception('In "IterateOnlyExistingCells" mode and Cell does not exist'); - } - $this->_position = $column; + $this->seek(PHPExcel_Cell::stringFromColumnIndex($this->startColumn)); return $this; } - /** - * Rewind the iterator to the starting column - */ - public function rewind() { - $this->_position = $this->_startColumn; - } + /** + * (Re)Set the end column + * + * @param string $endColumn The column address at which to stop iterating + * @return PHPExcel_Worksheet_RowCellIterator + * @throws PHPExcel_Exception + */ + public function resetEnd($endColumn = null) + { + $endColumn = ($endColumn) ? $endColumn : $this->subject->getHighestColumn(); + $this->endColumn = PHPExcel_Cell::columnIndexFromString($endColumn) - 1; + $this->adjustForExistingOnlyRange(); - /** - * Return the current cell in this worksheet row - * - * @return PHPExcel_Cell - */ - public function current() { - return $this->_subject->getCellByColumnAndRow($this->_position, $this->_rowIndex); - } + return $this; + } - /** - * Return the current iterator key - * - * @return string - */ - public function key() { - return PHPExcel_Cell::stringFromColumnIndex($this->_position); - } + /** + * Set the column pointer to the selected column + * + * @param string $column The column address to set the current pointer at + * @return PHPExcel_Worksheet_RowCellIterator + * @throws PHPExcel_Exception + */ + public function seek($column = 'A') + { + $column = PHPExcel_Cell::columnIndexFromString($column) - 1; + if (($column < $this->startColumn) || ($column > $this->endColumn)) { + throw new PHPExcel_Exception("Column $column is out of range ({$this->startColumn} - {$this->endColumn})"); + } elseif ($this->onlyExistingCells && !($this->subject->cellExistsByColumnAndRow($column, $this->rowIndex))) { + throw new PHPExcel_Exception('In "IterateOnlyExistingCells" mode and Cell does not exist'); + } + $this->position = $column; - /** - * Set the iterator to its next value - */ - public function next() { + return $this; + } + + /** + * Rewind the iterator to the starting column + */ + public function rewind() + { + $this->position = $this->startColumn; + } + + /** + * Return the current cell in this worksheet row + * + * @return PHPExcel_Cell + */ + public function current() + { + return $this->subject->getCellByColumnAndRow($this->position, $this->rowIndex); + } + + /** + * Return the current iterator key + * + * @return string + */ + public function key() + { + return PHPExcel_Cell::stringFromColumnIndex($this->position); + } + + /** + * Set the iterator to its next value + */ + public function next() + { do { - ++$this->_position; - } while (($this->_onlyExistingCells) && - (!$this->_subject->cellExistsByColumnAndRow($this->_position, $this->_rowIndex)) && - ($this->_position <= $this->_endColumn)); - } + ++$this->position; + } while (($this->onlyExistingCells) && + (!$this->subject->cellExistsByColumnAndRow($this->position, $this->rowIndex)) && + ($this->position <= $this->endColumn)); + } - /** - * Set the iterator to its previous value + /** + * Set the iterator to its previous value * * @throws PHPExcel_Exception - */ - public function prev() { - if ($this->_position <= $this->_startColumn) { + */ + public function prev() + { + if ($this->position <= $this->startColumn) { throw new PHPExcel_Exception( - "Column is already at the beginning of range (" . - PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . " - " . - PHPExcel_Cell::stringFromColumnIndex($this->_endColumn) . ")" + "Column is already at the beginning of range (" . + PHPExcel_Cell::stringFromColumnIndex($this->endColumn) . " - " . + PHPExcel_Cell::stringFromColumnIndex($this->endColumn) . ")" ); } do { - --$this->_position; - } while (($this->_onlyExistingCells) && - (!$this->_subject->cellExistsByColumnAndRow($this->_position, $this->_rowIndex)) && - ($this->_position >= $this->_startColumn)); - } + --$this->position; + } while (($this->onlyExistingCells) && + (!$this->subject->cellExistsByColumnAndRow($this->position, $this->rowIndex)) && + ($this->position >= $this->startColumn)); + } - /** - * Indicate if more columns exist in the worksheet range of columns that we're iterating - * - * @return boolean - */ - public function valid() { - return $this->_position <= $this->_endColumn; - } + /** + * Indicate if more columns exist in the worksheet range of columns that we're iterating + * + * @return boolean + */ + public function valid() + { + return $this->position <= $this->endColumn; + } - /** - * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary - * + /** + * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary + * * @throws PHPExcel_Exception - */ - protected function adjustForExistingOnlyRange() { - if ($this->_onlyExistingCells) { - while ((!$this->_subject->cellExistsByColumnAndRow($this->_startColumn, $this->_rowIndex)) && - ($this->_startColumn <= $this->_endColumn)) { - ++$this->_startColumn; + */ + protected function adjustForExistingOnlyRange() + { + if ($this->onlyExistingCells) { + while ((!$this->subject->cellExistsByColumnAndRow($this->startColumn, $this->rowIndex)) && + ($this->startColumn <= $this->endColumn)) { + ++$this->startColumn; } - if ($this->_startColumn > $this->_endColumn) { + if ($this->startColumn > $this->endColumn) { throw new PHPExcel_Exception('No cells exist within the specified range'); } - while ((!$this->_subject->cellExistsByColumnAndRow($this->_endColumn, $this->_rowIndex)) && - ($this->_endColumn >= $this->_startColumn)) { - --$this->_endColumn; + while ((!$this->subject->cellExistsByColumnAndRow($this->endColumn, $this->rowIndex)) && + ($this->endColumn >= $this->startColumn)) { + --$this->endColumn; } - if ($this->_endColumn < $this->_startColumn) { + if ($this->endColumn < $this->startColumn) { throw new PHPExcel_Exception('No cells exist within the specified range'); } } } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php index bff89a080..c1474862c 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowDimension.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_RowDimension * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,71 +21,34 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_RowDimension - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Worksheet_RowDimension +class PHPExcel_Worksheet_RowDimension extends PHPExcel_Worksheet_Dimension { - /** - * Row index - * - * @var int - */ - private $_rowIndex; + /** + * Row index + * + * @var int + */ + private $rowIndex; - /** - * Row height (in pt) - * - * When this is set to a negative value, the row height should be ignored by IWriter - * - * @var double - */ - private $_rowHeight = -1; + /** + * Row height (in pt) + * + * When this is set to a negative value, the row height should be ignored by IWriter + * + * @var double + */ + private $height = -1; - /** - * ZeroHeight for Row? - * - * @var bool - */ - private $_zeroHeight = false; - - /** - * Visible? - * - * @var bool - */ - private $_visible = true; - - /** - * Outline level - * - * @var int - */ - private $_outlineLevel = 0; - - /** - * Collapsed - * - * @var bool - */ - private $_collapsed = false; - - /** - * Index to cellXf. Null value means row has no explicit cellXf format. - * - * @var int|null - */ - private $_xfIndex; + /** + * ZeroHeight for Row? + * + * @var bool + */ + private $zeroHeight = false; /** * Create a new PHPExcel_Worksheet_RowDimension @@ -93,11 +57,11 @@ class PHPExcel_Worksheet_RowDimension */ public function __construct($pIndex = 0) { - // Initialise values - $this->_rowIndex = $pIndex; + // Initialise values + $this->rowIndex = $pIndex; - // set row dimension as unformatted by default - $this->_xfIndex = null; + // set dimension as unformatted by default + parent::__construct(null); } /** @@ -105,8 +69,9 @@ class PHPExcel_Worksheet_RowDimension * * @return int */ - public function getRowIndex() { - return $this->_rowIndex; + public function getRowIndex() + { + return $this->rowIndex; } /** @@ -115,9 +80,10 @@ class PHPExcel_Worksheet_RowDimension * @param int $pValue * @return PHPExcel_Worksheet_RowDimension */ - public function setRowIndex($pValue) { - $this->_rowIndex = $pValue; - return $this; + public function setRowIndex($pValue) + { + $this->rowIndex = $pValue; + return $this; } /** @@ -125,8 +91,9 @@ class PHPExcel_Worksheet_RowDimension * * @return double */ - public function getRowHeight() { - return $this->_rowHeight; + public function getRowHeight() + { + return $this->height; } /** @@ -135,131 +102,31 @@ class PHPExcel_Worksheet_RowDimension * @param double $pValue * @return PHPExcel_Worksheet_RowDimension */ - public function setRowHeight($pValue = -1) { - $this->_rowHeight = $pValue; - return $this; + public function setRowHeight($pValue = -1) + { + $this->height = $pValue; + return $this; } - /** - * Get ZeroHeight - * - * @return bool - */ - public function getZeroHeight() { - return $this->_zeroHeight; - } - - /** - * Set ZeroHeight - * - * @param bool $pValue - * @return PHPExcel_Worksheet_RowDimension - */ - public function setZeroHeight($pValue = false) { - $this->_zeroHeight = $pValue; - return $this; - } - /** - * Get Visible + * Get ZeroHeight * * @return bool */ - public function getVisible() { - return $this->_visible; + public function getZeroHeight() + { + return $this->zeroHeight; } /** - * Set Visible + * Set ZeroHeight * * @param bool $pValue * @return PHPExcel_Worksheet_RowDimension */ - public function setVisible($pValue = true) { - $this->_visible = $pValue; - return $this; + public function setZeroHeight($pValue = false) + { + $this->zeroHeight = $pValue; + return $this; } - - /** - * Get Outline Level - * - * @return int - */ - public function getOutlineLevel() { - return $this->_outlineLevel; - } - - /** - * Set Outline Level - * - * Value must be between 0 and 7 - * - * @param int $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_RowDimension - */ - public function setOutlineLevel($pValue) { - if ($pValue < 0 || $pValue > 7) { - throw new PHPExcel_Exception("Outline level must range between 0 and 7."); - } - - $this->_outlineLevel = $pValue; - return $this; - } - - /** - * Get Collapsed - * - * @return bool - */ - public function getCollapsed() { - return $this->_collapsed; - } - - /** - * Set Collapsed - * - * @param bool $pValue - * @return PHPExcel_Worksheet_RowDimension - */ - public function setCollapsed($pValue = true) { - $this->_collapsed = $pValue; - return $this; - } - - /** - * Get index to cellXf - * - * @return int - */ - public function getXfIndex() - { - return $this->_xfIndex; - } - - /** - * Set index to cellXf - * - * @param int $pValue - * @return PHPExcel_Worksheet_RowDimension - */ - public function setXfIndex($pValue = 0) - { - $this->_xfIndex = $pValue; - return $this; - } - - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php index 110d86214..9ddb3e030 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/RowIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_RowIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,165 +20,173 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Worksheet_RowIterator - * - * Used to iterate rows in a PHPExcel_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Worksheet + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Worksheet_RowIterator implements Iterator { - /** - * PHPExcel_Worksheet to iterate - * - * @var PHPExcel_Worksheet - */ - private $_subject; + /** + * PHPExcel_Worksheet to iterate + * + * @var PHPExcel_Worksheet + */ + private $subject; - /** - * Current iterator position - * - * @var int - */ - private $_position = 1; + /** + * Current iterator position + * + * @var int + */ + private $position = 1; - /** - * Start position - * - * @var int - */ - private $_startRow = 1; + /** + * Start position + * + * @var int + */ + private $startRow = 1; - /** - * End position - * - * @var int - */ - private $_endRow = 1; + /** + * End position + * + * @var int + */ + private $endRow = 1; - /** - * Create a new row iterator - * - * @param PHPExcel_Worksheet $subject The worksheet to iterate over - * @param integer $startRow The row number at which to start iterating - * @param integer $endRow Optionally, the row number at which to stop iterating - */ - public function __construct(PHPExcel_Worksheet $subject = null, $startRow = 1, $endRow = null) { - // Set subject - $this->_subject = $subject; - $this->resetEnd($endRow); - $this->resetStart($startRow); - } + /** + * Create a new row iterator + * + * @param PHPExcel_Worksheet $subject The worksheet to iterate over + * @param integer $startRow The row number at which to start iterating + * @param integer $endRow Optionally, the row number at which to stop iterating + */ + public function __construct(PHPExcel_Worksheet $subject, $startRow = 1, $endRow = null) + { + // Set subject + $this->subject = $subject; + $this->resetEnd($endRow); + $this->resetStart($startRow); + } - /** - * Destructor - */ - public function __destruct() { - unset($this->_subject); - } + /** + * Destructor + */ + public function __destruct() + { + unset($this->subject); + } - /** - * (Re)Set the start row and the current row pointer - * - * @param integer $startRow The row number at which to start iterating - * @return PHPExcel_Worksheet_RowIterator - */ - public function resetStart($startRow = 1) { - $this->_startRow = $startRow; - $this->seek($startRow); - - return $this; - } - - /** - * (Re)Set the end row - * - * @param integer $endRow The row number at which to stop iterating - * @return PHPExcel_Worksheet_RowIterator - */ - public function resetEnd($endRow = null) { - $this->_endRow = ($endRow) ? $endRow : $this->_subject->getHighestRow(); - - return $this; - } - - /** - * Set the row pointer to the selected row - * - * @param integer $row The row number to set the current pointer at + /** + * (Re)Set the start row and the current row pointer + * + * @param integer $startRow The row number at which to start iterating * @return PHPExcel_Worksheet_RowIterator * @throws PHPExcel_Exception - */ - public function seek($row = 1) { - if (($row < $this->_startRow) || ($row > $this->_endRow)) { - throw new PHPExcel_Exception("Row $row is out of range ({$this->_startRow} - {$this->_endRow})"); + */ + public function resetStart($startRow = 1) + { + if ($startRow > $this->subject->getHighestRow()) { + throw new PHPExcel_Exception("Start row ({$startRow}) is beyond highest row ({$this->subject->getHighestRow()})"); } - $this->_position = $row; + + $this->startRow = $startRow; + if ($this->endRow < $this->startRow) { + $this->endRow = $this->startRow; + } + $this->seek($startRow); return $this; - } + } - /** - * Rewind the iterator to the starting row - */ - public function rewind() { - $this->_position = $this->_startRow; - } + /** + * (Re)Set the end row + * + * @param integer $endRow The row number at which to stop iterating + * @return PHPExcel_Worksheet_RowIterator + */ + public function resetEnd($endRow = null) + { + $this->endRow = ($endRow) ? $endRow : $this->subject->getHighestRow(); - /** - * Return the current row in this worksheet - * - * @return PHPExcel_Worksheet_Row - */ - public function current() { - return new PHPExcel_Worksheet_Row($this->_subject, $this->_position); - } + return $this; + } - /** - * Return the current iterator key - * - * @return int - */ - public function key() { - return $this->_position; - } + /** + * Set the row pointer to the selected row + * + * @param integer $row The row number to set the current pointer at + * @return PHPExcel_Worksheet_RowIterator + * @throws PHPExcel_Exception + */ + public function seek($row = 1) + { + if (($row < $this->startRow) || ($row > $this->endRow)) { + throw new PHPExcel_Exception("Row $row is out of range ({$this->startRow} - {$this->endRow})"); + } + $this->position = $row; - /** - * Set the iterator to its next value - */ - public function next() { - ++$this->_position; - } + return $this; + } - /** - * Set the iterator to its previous value - */ - public function prev() { - if ($this->_position <= $this->_startRow) { - throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->_startRow} - {$this->_endRow})"); + /** + * Rewind the iterator to the starting row + */ + public function rewind() + { + $this->position = $this->startRow; + } + + /** + * Return the current row in this worksheet + * + * @return PHPExcel_Worksheet_Row + */ + public function current() + { + return new PHPExcel_Worksheet_Row($this->subject, $this->position); + } + + /** + * Return the current iterator key + * + * @return int + */ + public function key() + { + return $this->position; + } + + /** + * Set the iterator to its next value + */ + public function next() + { + ++$this->position; + } + + /** + * Set the iterator to its previous value + */ + public function prev() + { + if ($this->position <= $this->startRow) { + throw new PHPExcel_Exception("Row is already at the beginning of range ({$this->startRow} - {$this->endRow})"); } - --$this->_position; - } + --$this->position; + } - /** - * Indicate if more rows exist in the worksheet range of rows that we're iterating - * - * @return boolean - */ - public function valid() { - return $this->_position <= $this->_endRow; - } + /** + * Indicate if more rows exist in the worksheet range of rows that we're iterating + * + * @return boolean + */ + public function valid() + { + return $this->position <= $this->endRow; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php index 8ced835dd..5aaef3ba3 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet/SheetView.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Worksheet_SheetView * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,59 +21,50 @@ * * @category PHPExcel * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Worksheet_SheetView - * - * @category PHPExcel - * @package PHPExcel_Worksheet - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Worksheet_SheetView { - /* Sheet View types */ - const SHEETVIEW_NORMAL = 'normal'; - const SHEETVIEW_PAGE_LAYOUT = 'pageLayout'; - const SHEETVIEW_PAGE_BREAK_PREVIEW = 'pageBreakPreview'; + /* Sheet View types */ + const SHEETVIEW_NORMAL = 'normal'; + const SHEETVIEW_PAGE_LAYOUT = 'pageLayout'; + const SHEETVIEW_PAGE_BREAK_PREVIEW = 'pageBreakPreview'; - private static $_sheetViewTypes = array( - self::SHEETVIEW_NORMAL, - self::SHEETVIEW_PAGE_LAYOUT, - self::SHEETVIEW_PAGE_BREAK_PREVIEW, - ); + private static $sheetViewTypes = array( + self::SHEETVIEW_NORMAL, + self::SHEETVIEW_PAGE_LAYOUT, + self::SHEETVIEW_PAGE_BREAK_PREVIEW, + ); - /** - * ZoomScale - * - * Valid values range from 10 to 400. - * - * @var int - */ - private $_zoomScale = 100; + /** + * ZoomScale + * + * Valid values range from 10 to 400. + * + * @var int + */ + private $zoomScale = 100; - /** - * ZoomScaleNormal - * - * Valid values range from 10 to 400. - * - * @var int - */ - private $_zoomScaleNormal = 100; + /** + * ZoomScaleNormal + * + * Valid values range from 10 to 400. + * + * @var int + */ + private $zoomScaleNormal = 100; - /** - * View - * - * Valid values range from 10 to 400. - * - * @var string - */ - private $_sheetviewType = self::SHEETVIEW_NORMAL; + /** + * View + * + * Valid values range from 10 to 400. + * + * @var string + */ + private $sheetviewType = self::SHEETVIEW_NORMAL; /** * Create a new PHPExcel_Worksheet_SheetView @@ -81,108 +73,115 @@ class PHPExcel_Worksheet_SheetView { } - /** - * Get ZoomScale - * - * @return int - */ - public function getZoomScale() { - return $this->_zoomScale; - } + /** + * Get ZoomScale + * + * @return int + */ + public function getZoomScale() + { + return $this->zoomScale; + } - /** - * Set ZoomScale - * - * Valid values range from 10 to 400. - * - * @param int $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_SheetView - */ - public function setZoomScale($pValue = 100) { - // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, - // but it is apparently still able to handle any scale >= 1 - if (($pValue >= 1) || is_null($pValue)) { - $this->_zoomScale = $pValue; - } else { - throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); - } - return $this; - } + /** + * Set ZoomScale + * + * Valid values range from 10 to 400. + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setZoomScale($pValue = 100) + { + // Microsoft Office Excel 2007 only allows setting a scale between 10 and 400 via the user interface, + // but it is apparently still able to handle any scale >= 1 + if (($pValue >= 1) || is_null($pValue)) { + $this->zoomScale = $pValue; + } else { + throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); + } + return $this; + } - /** - * Get ZoomScaleNormal - * - * @return int - */ - public function getZoomScaleNormal() { - return $this->_zoomScaleNormal; - } + /** + * Get ZoomScaleNormal + * + * @return int + */ + public function getZoomScaleNormal() + { + return $this->zoomScaleNormal; + } - /** - * Set ZoomScale - * - * Valid values range from 10 to 400. - * - * @param int $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_SheetView - */ - public function setZoomScaleNormal($pValue = 100) { - if (($pValue >= 1) || is_null($pValue)) { - $this->_zoomScaleNormal = $pValue; - } else { - throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); - } - return $this; - } + /** + * Set ZoomScale + * + * Valid values range from 10 to 400. + * + * @param int $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setZoomScaleNormal($pValue = 100) + { + if (($pValue >= 1) || is_null($pValue)) { + $this->zoomScaleNormal = $pValue; + } else { + throw new PHPExcel_Exception("Scale must be greater than or equal to 1."); + } + return $this; + } - /** - * Get View - * - * @return string - */ - public function getView() { - return $this->_sheetviewType; - } + /** + * Get View + * + * @return string + */ + public function getView() + { + return $this->sheetviewType; + } - /** - * Set View - * - * Valid values are - * 'normal' self::SHEETVIEW_NORMAL - * 'pageLayout' self::SHEETVIEW_PAGE_LAYOUT - * 'pageBreakPreview' self::SHEETVIEW_PAGE_BREAK_PREVIEW - * - * @param string $pValue - * @throws PHPExcel_Exception - * @return PHPExcel_Worksheet_SheetView - */ - public function setView($pValue = NULL) { - // MS Excel 2007 allows setting the view to 'normal', 'pageLayout' or 'pageBreakPreview' - // via the user interface - if ($pValue === NULL) - $pValue = self::SHEETVIEW_NORMAL; - if (in_array($pValue, self::$_sheetViewTypes)) { - $this->_sheetviewType = $pValue; - } else { - throw new PHPExcel_Exception("Invalid sheetview layout type."); - } + /** + * Set View + * + * Valid values are + * 'normal' self::SHEETVIEW_NORMAL + * 'pageLayout' self::SHEETVIEW_PAGE_LAYOUT + * 'pageBreakPreview' self::SHEETVIEW_PAGE_BREAK_PREVIEW + * + * @param string $pValue + * @throws PHPExcel_Exception + * @return PHPExcel_Worksheet_SheetView + */ + public function setView($pValue = null) + { + // MS Excel 2007 allows setting the view to 'normal', 'pageLayout' or 'pageBreakPreview' via the user interface + if ($pValue === null) { + $pValue = self::SHEETVIEW_NORMAL; + } + if (in_array($pValue, self::$sheetViewTypes)) { + $this->sheetviewType = $pValue; + } else { + throw new PHPExcel_Exception("Invalid sheetview layout type."); + } - return $this; - } + return $this; + } - /** - * Implement PHP __clone to create a deep clone, not just a shallow copy. - */ - public function __clone() { - $vars = get_object_vars($this); - foreach ($vars as $key => $value) { - if (is_object($value)) { - $this->$key = clone $value; - } else { - $this->$key = $value; - } - } - } + /** + * Implement PHP __clone to create a deep clone, not just a shallow copy. + */ + public function __clone() + { + $vars = get_object_vars($this); + foreach ($vars as $key => $value) { + if (is_object($value)) { + $this->$key = clone $value; + } else { + $this->$key = $value; + } + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php index ad17fd903..cb1b28118 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/WorksheetIterator.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_WorksheetIterator * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,21 +21,10 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_WorksheetIterator - * - * Used to iterate worksheets in PHPExcel - * - * @category PHPExcel - * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_WorksheetIterator implements Iterator { /** @@ -42,14 +32,14 @@ class PHPExcel_WorksheetIterator implements Iterator * * @var PHPExcel */ - private $_subject; + private $subject; /** * Current iterator position * * @var int */ - private $_position = 0; + private $position = 0; /** * Create a new worksheet iterator @@ -59,7 +49,7 @@ class PHPExcel_WorksheetIterator implements Iterator public function __construct(PHPExcel $subject = null) { // Set subject - $this->_subject = $subject; + $this->subject = $subject; } /** @@ -67,7 +57,7 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function __destruct() { - unset($this->_subject); + unset($this->subject); } /** @@ -75,7 +65,7 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function rewind() { - $this->_position = 0; + $this->position = 0; } /** @@ -85,7 +75,7 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function current() { - return $this->_subject->getSheet($this->_position); + return $this->subject->getSheet($this->position); } /** @@ -95,7 +85,7 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function key() { - return $this->_position; + return $this->position; } /** @@ -103,7 +93,7 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function next() { - ++$this->_position; + ++$this->position; } /** @@ -113,6 +103,6 @@ class PHPExcel_WorksheetIterator implements Iterator */ public function valid() { - return $this->_position < $this->_subject->getSheetCount(); + return $this->position < $this->subject->getSheetCount(); } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php index fca6a60cc..2a797a948 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Abstract.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Abstract * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,139 +21,137 @@ * * @category PHPExcel * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Abstract - * - * @category PHPExcel - * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ abstract class PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { - /** - * Write charts that are defined in the workbook? - * Identifies whether the Writer should write definitions for any charts that exist in the PHPExcel object; - * - * @var boolean - */ - protected $_includeCharts = FALSE; + /** + * Write charts that are defined in the workbook? + * Identifies whether the Writer should write definitions for any charts that exist in the PHPExcel object; + * + * @var boolean + */ + protected $includeCharts = false; - /** - * Pre-calculate formulas - * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are - * immediately available to MS Excel or other office spreadsheet viewer when opening the file - * - * @var boolean - */ - protected $_preCalculateFormulas = TRUE; + /** + * Pre-calculate formulas + * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are + * immediately available to MS Excel or other office spreadsheet viewer when opening the file + * + * @var boolean + */ + protected $preCalculateFormulas = true; - /** - * Use disk caching where possible? - * - * @var boolean - */ - protected $_useDiskCaching = FALSE; + /** + * Use disk caching where possible? + * + * @var boolean + */ + protected $_useDiskCaching = false; - /** - * Disk caching directory - * - * @var string - */ - protected $_diskCachingDirectory = './'; + /** + * Disk caching directory + * + * @var string + */ + protected $_diskCachingDirectory = './'; - /** - * Write charts in workbook? - * If this is true, then the Writer will write definitions for any charts that exist in the PHPExcel object. - * If false (the default) it will ignore any charts defined in the PHPExcel object. - * - * @return boolean - */ - public function getIncludeCharts() { - return $this->_includeCharts; - } + /** + * Write charts in workbook? + * If this is true, then the Writer will write definitions for any charts that exist in the PHPExcel object. + * If false (the default) it will ignore any charts defined in the PHPExcel object. + * + * @return boolean + */ + public function getIncludeCharts() + { + return $this->includeCharts; + } - /** - * Set write charts in workbook - * Set to true, to advise the Writer to include any charts that exist in the PHPExcel object. - * Set to false (the default) to ignore charts. - * - * @param boolean $pValue - * @return PHPExcel_Writer_IWriter - */ - public function setIncludeCharts($pValue = FALSE) { - $this->_includeCharts = (boolean) $pValue; - return $this; - } + /** + * Set write charts in workbook + * Set to true, to advise the Writer to include any charts that exist in the PHPExcel object. + * Set to false (the default) to ignore charts. + * + * @param boolean $pValue + * @return PHPExcel_Writer_IWriter + */ + public function setIncludeCharts($pValue = false) + { + $this->includeCharts = (boolean) $pValue; + return $this; + } /** * Get Pre-Calculate Formulas flag - * If this is true (the default), then the writer will recalculate all formulae in a workbook when saving, - * so that the pre-calculated values are immediately available to MS Excel or other office spreadsheet - * viewer when opening the file - * If false, then formulae are not calculated on save. This is faster for saving in PHPExcel, but slower - * when opening the resulting file in MS Excel, because Excel has to recalculate the formulae itself + * If this is true (the default), then the writer will recalculate all formulae in a workbook when saving, + * so that the pre-calculated values are immediately available to MS Excel or other office spreadsheet + * viewer when opening the file + * If false, then formulae are not calculated on save. This is faster for saving in PHPExcel, but slower + * when opening the resulting file in MS Excel, because Excel has to recalculate the formulae itself * * @return boolean */ - public function getPreCalculateFormulas() { - return $this->_preCalculateFormulas; + public function getPreCalculateFormulas() + { + return $this->preCalculateFormulas; } /** * Set Pre-Calculate Formulas - * Set to true (the default) to advise the Writer to calculate all formulae on save - * Set to false to prevent precalculation of formulae on save. + * Set to true (the default) to advise the Writer to calculate all formulae on save + * Set to false to prevent precalculation of formulae on save. * - * @param boolean $pValue Pre-Calculate Formulas? - * @return PHPExcel_Writer_IWriter + * @param boolean $pValue Pre-Calculate Formulas? + * @return PHPExcel_Writer_IWriter */ - public function setPreCalculateFormulas($pValue = TRUE) { - $this->_preCalculateFormulas = (boolean) $pValue; - return $this; + public function setPreCalculateFormulas($pValue = true) + { + $this->preCalculateFormulas = (boolean) $pValue; + return $this; } - /** - * Get use disk caching where possible? - * - * @return boolean - */ - public function getUseDiskCaching() { - return $this->_useDiskCaching; - } + /** + * Get use disk caching where possible? + * + * @return boolean + */ + public function getUseDiskCaching() + { + return $this->_useDiskCaching; + } - /** - * Set use disk caching where possible? - * - * @param boolean $pValue - * @param string $pDirectory Disk caching directory - * @throws PHPExcel_Writer_Exception when directory does not exist - * @return PHPExcel_Writer_Excel2007 - */ - public function setUseDiskCaching($pValue = FALSE, $pDirectory = NULL) { - $this->_useDiskCaching = $pValue; + /** + * Set use disk caching where possible? + * + * @param boolean $pValue + * @param string $pDirectory Disk caching directory + * @throws PHPExcel_Writer_Exception when directory does not exist + * @return PHPExcel_Writer_Excel2007 + */ + public function setUseDiskCaching($pValue = false, $pDirectory = null) + { + $this->_useDiskCaching = $pValue; - if ($pDirectory !== NULL) { - if (is_dir($pDirectory)) { - $this->_diskCachingDirectory = $pDirectory; - } else { - throw new PHPExcel_Writer_Exception("Directory does not exist: $pDirectory"); - } - } - return $this; - } + if ($pDirectory !== null) { + if (is_dir($pDirectory)) { + $this->_diskCachingDirectory = $pDirectory; + } else { + throw new PHPExcel_Writer_Exception("Directory does not exist: $pDirectory"); + } + } + return $this; + } - /** - * Get disk caching directory - * - * @return string - */ - public function getDiskCachingDirectory() { - return $this->_diskCachingDirectory; - } + /** + * Get disk caching directory + * + * @return string + */ + public function getDiskCachingDirectory() + { + return $this->_diskCachingDirectory; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php index 97961ccca..e59c30130 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/CSV.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_CSV * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,292 +20,333 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Writer_CSV - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @package PHPExcel_Writer_CSV + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ +class PHPExcel_Writer_CSV extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * PHPExcel object + * + * @var PHPExcel + */ + private $phpExcel; + /** + * Delimiter + * + * @var string + */ + private $delimiter = ','; -/** - * PHPExcel_Writer_CSV - * - * @category PHPExcel - * @package PHPExcel_Writer_CSV - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Writer_CSV extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { - /** - * PHPExcel object - * - * @var PHPExcel - */ - private $_phpExcel; + /** + * Enclosure + * + * @var string + */ + private $enclosure = '"'; - /** - * Delimiter - * - * @var string - */ - private $_delimiter = ','; + /** + * Line ending + * + * @var string + */ + private $lineEnding = PHP_EOL; - /** - * Enclosure - * - * @var string - */ - private $_enclosure = '"'; + /** + * Sheet index to write + * + * @var int + */ + private $sheetIndex = 0; - /** - * Line ending - * - * @var string - */ - private $_lineEnding = PHP_EOL; + /** + * Whether to write a BOM (for UTF8). + * + * @var boolean + */ + private $useBOM = false; - /** - * Sheet index to write - * - * @var int - */ - private $_sheetIndex = 0; + /** + * Whether to write a Separator line as the first line of the file + * sep=x + * + * @var boolean + */ + private $includeSeparatorLine = false; - /** - * Whether to write a BOM (for UTF8). - * - * @var boolean - */ - private $_useBOM = false; + /** + * Whether to write a fully Excel compatible CSV file. + * + * @var boolean + */ + private $excelCompatibility = false; - /** - * Whether to write a fully Excel compatible CSV file. - * - * @var boolean - */ - private $_excelCompatibility = false; + /** + * Create a new PHPExcel_Writer_CSV + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + $this->phpExcel = $phpExcel; + } - /** - * Create a new PHPExcel_Writer_CSV - * - * @param PHPExcel $phpExcel PHPExcel object - */ - public function __construct(PHPExcel $phpExcel) { - $this->_phpExcel = $phpExcel; - } + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) + { + // Fetch sheet + $sheet = $this->phpExcel->getSheet($this->sheetIndex); - /** - * Save PHPExcel to file - * - * @param string $pFilename - * @throws PHPExcel_Writer_Exception - */ - public function save($pFilename = null) { - // Fetch sheet - $sheet = $this->_phpExcel->getSheet($this->_sheetIndex); + $saveDebugLog = PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog(false); + $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); - $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); - $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); - PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + // Open file + $fileHandle = fopen($pFilename, 'wb+'); + if ($fileHandle === false) { + throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); + } - // Open file - $fileHandle = fopen($pFilename, 'wb+'); - if ($fileHandle === false) { - throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); - } - - if ($this->_excelCompatibility) { - fwrite($fileHandle, "\xEF\xBB\xBF"); // Enforce UTF-8 BOM Header - $this->setEnclosure('"'); // Set enclosure to " - $this->setDelimiter(";"); // Set delimiter to a semi-colon + if ($this->excelCompatibility) { + $this->setUseBOM(true); // Enforce UTF-8 BOM Header + $this->setIncludeSeparatorLine(true); // Set separator line + $this->setEnclosure('"'); // Set enclosure to " + $this->setDelimiter(";"); // Set delimiter to a semi-colon $this->setLineEnding("\r\n"); - fwrite($fileHandle, 'sep=' . $this->getDelimiter() . $this->_lineEnding); - } elseif ($this->_useBOM) { - // Write the UTF-8 BOM code if required - fwrite($fileHandle, "\xEF\xBB\xBF"); - } + } + if ($this->useBOM) { + // Write the UTF-8 BOM code if required + fwrite($fileHandle, "\xEF\xBB\xBF"); + } + if ($this->includeSeparatorLine) { + // Write the separator line if required + fwrite($fileHandle, 'sep=' . $this->getDelimiter() . $this->lineEnding); + } - // Identify the range that we need to extract from the worksheet - $maxCol = $sheet->getHighestDataColumn(); - $maxRow = $sheet->getHighestDataRow(); + // Identify the range that we need to extract from the worksheet + $maxCol = $sheet->getHighestDataColumn(); + $maxRow = $sheet->getHighestDataRow(); - // Write rows to file - for($row = 1; $row <= $maxRow; ++$row) { - // Convert the row to an array... - $cellsArray = $sheet->rangeToArray('A'.$row.':'.$maxCol.$row,'', $this->_preCalculateFormulas); - // ... and write to the file - $this->_writeLine($fileHandle, $cellsArray[0]); - } + // Write rows to file + for ($row = 1; $row <= $maxRow; ++$row) { + // Convert the row to an array... + $cellsArray = $sheet->rangeToArray('A'.$row.':'.$maxCol.$row, '', $this->preCalculateFormulas); + // ... and write to the file + $this->writeLine($fileHandle, $cellsArray[0]); + } - // Close file - fclose($fileHandle); + // Close file + fclose($fileHandle); - PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); - } + PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } - /** - * Get delimiter - * - * @return string - */ - public function getDelimiter() { - return $this->_delimiter; - } + /** + * Get delimiter + * + * @return string + */ + public function getDelimiter() + { + return $this->delimiter; + } - /** - * Set delimiter - * - * @param string $pValue Delimiter, defaults to , - * @return PHPExcel_Writer_CSV - */ - public function setDelimiter($pValue = ',') { - $this->_delimiter = $pValue; - return $this; - } + /** + * Set delimiter + * + * @param string $pValue Delimiter, defaults to , + * @return PHPExcel_Writer_CSV + */ + public function setDelimiter($pValue = ',') + { + $this->delimiter = $pValue; + return $this; + } - /** - * Get enclosure - * - * @return string - */ - public function getEnclosure() { - return $this->_enclosure; - } + /** + * Get enclosure + * + * @return string + */ + public function getEnclosure() + { + return $this->enclosure; + } - /** - * Set enclosure - * - * @param string $pValue Enclosure, defaults to " - * @return PHPExcel_Writer_CSV - */ - public function setEnclosure($pValue = '"') { - if ($pValue == '') { - $pValue = null; - } - $this->_enclosure = $pValue; - return $this; - } + /** + * Set enclosure + * + * @param string $pValue Enclosure, defaults to " + * @return PHPExcel_Writer_CSV + */ + public function setEnclosure($pValue = '"') + { + if ($pValue == '') { + $pValue = null; + } + $this->enclosure = $pValue; + return $this; + } - /** - * Get line ending - * - * @return string - */ - public function getLineEnding() { - return $this->_lineEnding; - } + /** + * Get line ending + * + * @return string + */ + public function getLineEnding() + { + return $this->lineEnding; + } - /** - * Set line ending - * - * @param string $pValue Line ending, defaults to OS line ending (PHP_EOL) - * @return PHPExcel_Writer_CSV - */ - public function setLineEnding($pValue = PHP_EOL) { - $this->_lineEnding = $pValue; - return $this; - } + /** + * Set line ending + * + * @param string $pValue Line ending, defaults to OS line ending (PHP_EOL) + * @return PHPExcel_Writer_CSV + */ + public function setLineEnding($pValue = PHP_EOL) + { + $this->lineEnding = $pValue; + return $this; + } - /** - * Get whether BOM should be used - * - * @return boolean - */ - public function getUseBOM() { - return $this->_useBOM; - } + /** + * Get whether BOM should be used + * + * @return boolean + */ + public function getUseBOM() + { + return $this->useBOM; + } - /** - * Set whether BOM should be used - * - * @param boolean $pValue Use UTF-8 byte-order mark? Defaults to false - * @return PHPExcel_Writer_CSV - */ - public function setUseBOM($pValue = false) { - $this->_useBOM = $pValue; - return $this; - } + /** + * Set whether BOM should be used + * + * @param boolean $pValue Use UTF-8 byte-order mark? Defaults to false + * @return PHPExcel_Writer_CSV + */ + public function setUseBOM($pValue = false) + { + $this->useBOM = $pValue; + return $this; + } - /** - * Get whether the file should be saved with full Excel Compatibility - * - * @return boolean - */ - public function getExcelCompatibility() { - return $this->_excelCompatibility; - } + /** + * Get whether a separator line should be included + * + * @return boolean + */ + public function getIncludeSeparatorLine() + { + return $this->includeSeparatorLine; + } - /** - * Set whether the file should be saved with full Excel Compatibility - * - * @param boolean $pValue Set the file to be written as a fully Excel compatible csv file - * Note that this overrides other settings such as useBOM, enclosure and delimiter - * @return PHPExcel_Writer_CSV - */ - public function setExcelCompatibility($pValue = false) { - $this->_excelCompatibility = $pValue; - return $this; - } + /** + * Set whether a separator line should be included as the first line of the file + * + * @param boolean $pValue Use separator line? Defaults to false + * @return PHPExcel_Writer_CSV + */ + public function setIncludeSeparatorLine($pValue = false) + { + $this->includeSeparatorLine = $pValue; + return $this; + } - /** - * Get sheet index - * - * @return int - */ - public function getSheetIndex() { - return $this->_sheetIndex; - } + /** + * Get whether the file should be saved with full Excel Compatibility + * + * @return boolean + */ + public function getExcelCompatibility() + { + return $this->excelCompatibility; + } - /** - * Set sheet index - * - * @param int $pValue Sheet index - * @return PHPExcel_Writer_CSV - */ - public function setSheetIndex($pValue = 0) { - $this->_sheetIndex = $pValue; - return $this; - } + /** + * Set whether the file should be saved with full Excel Compatibility + * + * @param boolean $pValue Set the file to be written as a fully Excel compatible csv file + * Note that this overrides other settings such as useBOM, enclosure and delimiter + * @return PHPExcel_Writer_CSV + */ + public function setExcelCompatibility($pValue = false) + { + $this->excelCompatibility = $pValue; + return $this; + } - /** - * Write line to CSV file - * - * @param mixed $pFileHandle PHP filehandle - * @param array $pValues Array containing values in a row - * @throws PHPExcel_Writer_Exception - */ - private function _writeLine($pFileHandle = null, $pValues = null) { - if (is_array($pValues)) { - // No leading delimiter - $writeDelimiter = false; + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() + { + return $this->sheetIndex; + } - // Build the line - $line = ''; + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Writer_CSV + */ + public function setSheetIndex($pValue = 0) + { + $this->sheetIndex = $pValue; + return $this; + } - foreach ($pValues as $element) { - // Escape enclosures - $element = str_replace($this->_enclosure, $this->_enclosure . $this->_enclosure, $element); + /** + * Write line to CSV file + * + * @param mixed $pFileHandle PHP filehandle + * @param array $pValues Array containing values in a row + * @throws PHPExcel_Writer_Exception + */ + private function writeLine($pFileHandle = null, $pValues = null) + { + if (is_array($pValues)) { + // No leading delimiter + $writeDelimiter = false; - // Add delimiter - if ($writeDelimiter) { - $line .= $this->_delimiter; - } else { - $writeDelimiter = true; - } + // Build the line + $line = ''; - // Add enclosed string - $line .= $this->_enclosure . $element . $this->_enclosure; - } + foreach ($pValues as $element) { + // Escape enclosures + $element = str_replace($this->enclosure, $this->enclosure . $this->enclosure, $element); - // Add line ending - $line .= $this->_lineEnding; + // Add delimiter + if ($writeDelimiter) { + $line .= $this->delimiter; + } else { + $writeDelimiter = true; + } - // Write to file + // Add enclosed string + $line .= $this->enclosure . $element . $this->enclosure; + } + + // Add line ending + $line .= $this->lineEnding; + + // Write to file fwrite($pFileHandle, $line); - } else { - throw new PHPExcel_Writer_Exception("Invalid data row passed to CSV writer."); - } - } - + } else { + throw new PHPExcel_Writer_Exception("Invalid data row passed to CSV writer."); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php index 4cf14ac1c..11d354b4a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007 * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,430 +21,422 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007 - * - * @category PHPExcel - * @package PHPExcel_Writer_2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { - /** - * Pre-calculate formulas - * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are - * immediately available to MS Excel or other office spreadsheet viewer when opening the file - * + /** + * Pre-calculate formulas + * Forces PHPExcel to recalculate all formulae in a workbook when saving, so that the pre-calculated values are + * immediately available to MS Excel or other office spreadsheet viewer when opening the file + * * Overrides the default TRUE for this specific writer for performance reasons * - * @var boolean - */ - protected $_preCalculateFormulas = FALSE; + * @var boolean + */ + protected $preCalculateFormulas = false; - /** - * Office2003 compatibility - * - * @var boolean - */ - private $_office2003compatibility = false; + /** + * Office2003 compatibility + * + * @var boolean + */ + private $office2003compatibility = false; - /** - * Private writer parts - * - * @var PHPExcel_Writer_Excel2007_WriterPart[] - */ - private $_writerParts = array(); + /** + * Private writer parts + * + * @var PHPExcel_Writer_Excel2007_WriterPart[] + */ + private $writerParts = array(); - /** - * Private PHPExcel - * - * @var PHPExcel - */ - private $_spreadSheet; + /** + * Private PHPExcel + * + * @var PHPExcel + */ + private $spreadSheet; - /** - * Private string table - * - * @var string[] - */ - private $_stringTable = array(); + /** + * Private string table + * + * @var string[] + */ + private $stringTable = array(); - /** - * Private unique PHPExcel_Style_Conditional HashTable - * - * @var PHPExcel_HashTable - */ - private $_stylesConditionalHashTable; + /** + * Private unique PHPExcel_Style_Conditional HashTable + * + * @var PHPExcel_HashTable + */ + private $stylesConditionalHashTable; - /** - * Private unique PHPExcel_Style HashTable - * - * @var PHPExcel_HashTable - */ - private $_styleHashTable; + /** + * Private unique PHPExcel_Style HashTable + * + * @var PHPExcel_HashTable + */ + private $styleHashTable; - /** - * Private unique PHPExcel_Style_Fill HashTable - * - * @var PHPExcel_HashTable - */ - private $_fillHashTable; + /** + * Private unique PHPExcel_Style_Fill HashTable + * + * @var PHPExcel_HashTable + */ + private $fillHashTable; - /** - * Private unique PHPExcel_Style_Font HashTable - * - * @var PHPExcel_HashTable - */ - private $_fontHashTable; + /** + * Private unique PHPExcel_Style_Font HashTable + * + * @var PHPExcel_HashTable + */ + private $fontHashTable; - /** - * Private unique PHPExcel_Style_Borders HashTable - * - * @var PHPExcel_HashTable - */ - private $_bordersHashTable ; + /** + * Private unique PHPExcel_Style_Borders HashTable + * + * @var PHPExcel_HashTable + */ + private $bordersHashTable ; - /** - * Private unique PHPExcel_Style_NumberFormat HashTable - * - * @var PHPExcel_HashTable - */ - private $_numFmtHashTable; + /** + * Private unique PHPExcel_Style_NumberFormat HashTable + * + * @var PHPExcel_HashTable + */ + private $numFmtHashTable; - /** - * Private unique PHPExcel_Worksheet_BaseDrawing HashTable - * - * @var PHPExcel_HashTable - */ - private $_drawingHashTable; + /** + * Private unique PHPExcel_Worksheet_BaseDrawing HashTable + * + * @var PHPExcel_HashTable + */ + private $drawingHashTable; /** * Create a new PHPExcel_Writer_Excel2007 * - * @param PHPExcel $pPHPExcel + * @param PHPExcel $pPHPExcel */ public function __construct(PHPExcel $pPHPExcel = null) { - // Assign PHPExcel - $this->setPHPExcel($pPHPExcel); + // Assign PHPExcel + $this->setPHPExcel($pPHPExcel); - $writerPartsArray = array( 'stringtable' => 'PHPExcel_Writer_Excel2007_StringTable', - 'contenttypes' => 'PHPExcel_Writer_Excel2007_ContentTypes', - 'docprops' => 'PHPExcel_Writer_Excel2007_DocProps', - 'rels' => 'PHPExcel_Writer_Excel2007_Rels', - 'theme' => 'PHPExcel_Writer_Excel2007_Theme', - 'style' => 'PHPExcel_Writer_Excel2007_Style', - 'workbook' => 'PHPExcel_Writer_Excel2007_Workbook', - 'worksheet' => 'PHPExcel_Writer_Excel2007_Worksheet', - 'drawing' => 'PHPExcel_Writer_Excel2007_Drawing', - 'comments' => 'PHPExcel_Writer_Excel2007_Comments', - 'chart' => 'PHPExcel_Writer_Excel2007_Chart', - 'relsvba' => 'PHPExcel_Writer_Excel2007_RelsVBA', - 'relsribbonobjects' => 'PHPExcel_Writer_Excel2007_RelsRibbon' - ); + $writerPartsArray = array( 'stringtable' => 'PHPExcel_Writer_Excel2007_StringTable', + 'contenttypes' => 'PHPExcel_Writer_Excel2007_ContentTypes', + 'docprops' => 'PHPExcel_Writer_Excel2007_DocProps', + 'rels' => 'PHPExcel_Writer_Excel2007_Rels', + 'theme' => 'PHPExcel_Writer_Excel2007_Theme', + 'style' => 'PHPExcel_Writer_Excel2007_Style', + 'workbook' => 'PHPExcel_Writer_Excel2007_Workbook', + 'worksheet' => 'PHPExcel_Writer_Excel2007_Worksheet', + 'drawing' => 'PHPExcel_Writer_Excel2007_Drawing', + 'comments' => 'PHPExcel_Writer_Excel2007_Comments', + 'chart' => 'PHPExcel_Writer_Excel2007_Chart', + 'relsvba' => 'PHPExcel_Writer_Excel2007_RelsVBA', + 'relsribbonobjects' => 'PHPExcel_Writer_Excel2007_RelsRibbon' + ); - // Initialise writer parts - // and Assign their parent IWriters - foreach ($writerPartsArray as $writer => $class) { - $this->_writerParts[$writer] = new $class($this); - } + // Initialise writer parts + // and Assign their parent IWriters + foreach ($writerPartsArray as $writer => $class) { + $this->writerParts[$writer] = new $class($this); + } - $hashTablesArray = array( '_stylesConditionalHashTable', '_fillHashTable', '_fontHashTable', - '_bordersHashTable', '_numFmtHashTable', '_drawingHashTable', - '_styleHashTable' - ); + $hashTablesArray = array( 'stylesConditionalHashTable', 'fillHashTable', 'fontHashTable', + 'bordersHashTable', 'numFmtHashTable', 'drawingHashTable', + 'styleHashTable' + ); - // Set HashTable variables - foreach ($hashTablesArray as $tableName) { - $this->$tableName = new PHPExcel_HashTable(); - } + // Set HashTable variables + foreach ($hashTablesArray as $tableName) { + $this->$tableName = new PHPExcel_HashTable(); + } } - /** - * Get writer part - * - * @param string $pPartName Writer part name - * @return PHPExcel_Writer_Excel2007_WriterPart - */ - public function getWriterPart($pPartName = '') { - if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) { - return $this->_writerParts[strtolower($pPartName)]; - } else { - return null; - } - } + /** + * Get writer part + * + * @param string $pPartName Writer part name + * @return PHPExcel_Writer_Excel2007_WriterPart + */ + public function getWriterPart($pPartName = '') + { + if ($pPartName != '' && isset($this->writerParts[strtolower($pPartName)])) { + return $this->writerParts[strtolower($pPartName)]; + } else { + return null; + } + } - /** - * Save PHPExcel to file - * - * @param string $pFilename - * @throws PHPExcel_Writer_Exception - */ - public function save($pFilename = null) - { - if ($this->_spreadSheet !== NULL) { - // garbage collect - $this->_spreadSheet->garbageCollect(); + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) + { + if ($this->spreadSheet !== null) { + // garbage collect + $this->spreadSheet->garbageCollect(); - // If $pFilename is php://output or php://stdout, make it a temporary file... - $originalFilename = $pFilename; - if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') { - $pFilename = @tempnam(PHPExcel_Shared_File::sys_get_temp_dir(), 'phpxltmp'); - if ($pFilename == '') { - $pFilename = $originalFilename; - } - } + // If $pFilename is php://output or php://stdout, make it a temporary file... + $originalFilename = $pFilename; + if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') { + $pFilename = @tempnam(PHPExcel_Shared_File::sys_get_temp_dir(), 'phpxltmp'); + if ($pFilename == '') { + $pFilename = $originalFilename; + } + } - $saveDebugLog = PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->getWriteDebugLog(); - PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->setWriteDebugLog(FALSE); - $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + $saveDebugLog = PHPExcel_Calculation::getInstance($this->spreadSheet)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->spreadSheet)->getDebugLog()->setWriteDebugLog(false); + $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Create string lookup table - $this->_stringTable = array(); - for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { - $this->_stringTable = $this->getWriterPart('StringTable')->createStringTable($this->_spreadSheet->getSheet($i), $this->_stringTable); - } + // Create string lookup table + $this->stringTable = array(); + for ($i = 0; $i < $this->spreadSheet->getSheetCount(); ++$i) { + $this->stringTable = $this->getWriterPart('StringTable')->createStringTable($this->spreadSheet->getSheet($i), $this->stringTable); + } - // Create styles dictionaries - $this->_styleHashTable->addFromSource( $this->getWriterPart('Style')->allStyles($this->_spreadSheet) ); - $this->_stylesConditionalHashTable->addFromSource( $this->getWriterPart('Style')->allConditionalStyles($this->_spreadSheet) ); - $this->_fillHashTable->addFromSource( $this->getWriterPart('Style')->allFills($this->_spreadSheet) ); - $this->_fontHashTable->addFromSource( $this->getWriterPart('Style')->allFonts($this->_spreadSheet) ); - $this->_bordersHashTable->addFromSource( $this->getWriterPart('Style')->allBorders($this->_spreadSheet) ); - $this->_numFmtHashTable->addFromSource( $this->getWriterPart('Style')->allNumberFormats($this->_spreadSheet) ); + // Create styles dictionaries + $this->styleHashTable->addFromSource($this->getWriterPart('Style')->allStyles($this->spreadSheet)); + $this->stylesConditionalHashTable->addFromSource($this->getWriterPart('Style')->allConditionalStyles($this->spreadSheet)); + $this->fillHashTable->addFromSource($this->getWriterPart('Style')->allFills($this->spreadSheet)); + $this->fontHashTable->addFromSource($this->getWriterPart('Style')->allFonts($this->spreadSheet)); + $this->bordersHashTable->addFromSource($this->getWriterPart('Style')->allBorders($this->spreadSheet)); + $this->numFmtHashTable->addFromSource($this->getWriterPart('Style')->allNumberFormats($this->spreadSheet)); - // Create drawing dictionary - $this->_drawingHashTable->addFromSource( $this->getWriterPart('Drawing')->allDrawings($this->_spreadSheet) ); + // Create drawing dictionary + $this->drawingHashTable->addFromSource($this->getWriterPart('Drawing')->allDrawings($this->spreadSheet)); - // Create new ZIP file and open it for writing - $zipClass = PHPExcel_Settings::getZipClass(); - $objZip = new $zipClass(); + // Create new ZIP file and open it for writing + $zipClass = PHPExcel_Settings::getZipClass(); + $objZip = new $zipClass(); - // Retrieve OVERWRITE and CREATE constants from the instantiated zip class - // This method of accessing constant values from a dynamic class should work with all appropriate versions of PHP - $ro = new ReflectionObject($objZip); - $zipOverWrite = $ro->getConstant('OVERWRITE'); - $zipCreate = $ro->getConstant('CREATE'); + // Retrieve OVERWRITE and CREATE constants from the instantiated zip class + // This method of accessing constant values from a dynamic class should work with all appropriate versions of PHP + $ro = new ReflectionObject($objZip); + $zipOverWrite = $ro->getConstant('OVERWRITE'); + $zipCreate = $ro->getConstant('CREATE'); - if (file_exists($pFilename)) { - unlink($pFilename); - } - // Try opening the ZIP file - if ($objZip->open($pFilename, $zipOverWrite) !== true) { - if ($objZip->open($pFilename, $zipCreate) !== true) { - throw new PHPExcel_Writer_Exception("Could not open " . $pFilename . " for writing."); - } - } + if (file_exists($pFilename)) { + unlink($pFilename); + } + // Try opening the ZIP file + if ($objZip->open($pFilename, $zipOverWrite) !== true) { + if ($objZip->open($pFilename, $zipCreate) !== true) { + throw new PHPExcel_Writer_Exception("Could not open " . $pFilename . " for writing."); + } + } - // Add [Content_Types].xml to ZIP file - $objZip->addFromString('[Content_Types].xml', $this->getWriterPart('ContentTypes')->writeContentTypes($this->_spreadSheet, $this->_includeCharts)); + // Add [Content_Types].xml to ZIP file + $objZip->addFromString('[Content_Types].xml', $this->getWriterPart('ContentTypes')->writeContentTypes($this->spreadSheet, $this->includeCharts)); - //if hasMacros, add the vbaProject.bin file, Certificate file(if exists) - if($this->_spreadSheet->hasMacros()){ - $macrosCode=$this->_spreadSheet->getMacrosCode(); - if(!is_null($macrosCode)){// we have the code ? - $objZip->addFromString('xl/vbaProject.bin', $macrosCode);//allways in 'xl', allways named vbaProject.bin - if($this->_spreadSheet->hasMacrosCertificate()){//signed macros ? - // Yes : add the certificate file and the related rels file - $objZip->addFromString('xl/vbaProjectSignature.bin', $this->_spreadSheet->getMacrosCertificate()); - $objZip->addFromString('xl/_rels/vbaProject.bin.rels', - $this->getWriterPart('RelsVBA')->writeVBARelationships($this->_spreadSheet)); - } - } - } - //a custom UI in this workbook ? add it ("base" xml and additional objects (pictures) and rels) - if($this->_spreadSheet->hasRibbon()){ - $tmpRibbonTarget=$this->_spreadSheet->getRibbonXMLData('target'); - $objZip->addFromString($tmpRibbonTarget, $this->_spreadSheet->getRibbonXMLData('data')); - if($this->_spreadSheet->hasRibbonBinObjects()){ - $tmpRootPath=dirname($tmpRibbonTarget).'/'; - $ribbonBinObjects=$this->_spreadSheet->getRibbonBinObjects('data');//the files to write - foreach($ribbonBinObjects as $aPath=>$aContent){ - $objZip->addFromString($tmpRootPath.$aPath, $aContent); - } - //the rels for files - $objZip->addFromString($tmpRootPath.'_rels/'.basename($tmpRibbonTarget).'.rels', - $this->getWriterPart('RelsRibbonObjects')->writeRibbonRelationships($this->_spreadSheet)); - } - } - - // Add relationships to ZIP file - $objZip->addFromString('_rels/.rels', $this->getWriterPart('Rels')->writeRelationships($this->_spreadSheet)); - $objZip->addFromString('xl/_rels/workbook.xml.rels', $this->getWriterPart('Rels')->writeWorkbookRelationships($this->_spreadSheet)); + //if hasMacros, add the vbaProject.bin file, Certificate file(if exists) + if ($this->spreadSheet->hasMacros()) { + $macrosCode=$this->spreadSheet->getMacrosCode(); + if (!is_null($macrosCode)) {// we have the code ? + $objZip->addFromString('xl/vbaProject.bin', $macrosCode);//allways in 'xl', allways named vbaProject.bin + if ($this->spreadSheet->hasMacrosCertificate()) {//signed macros ? + // Yes : add the certificate file and the related rels file + $objZip->addFromString('xl/vbaProjectSignature.bin', $this->spreadSheet->getMacrosCertificate()); + $objZip->addFromString('xl/_rels/vbaProject.bin.rels', $this->getWriterPart('RelsVBA')->writeVBARelationships($this->spreadSheet)); + } + } + } + //a custom UI in this workbook ? add it ("base" xml and additional objects (pictures) and rels) + if ($this->spreadSheet->hasRibbon()) { + $tmpRibbonTarget=$this->spreadSheet->getRibbonXMLData('target'); + $objZip->addFromString($tmpRibbonTarget, $this->spreadSheet->getRibbonXMLData('data')); + if ($this->spreadSheet->hasRibbonBinObjects()) { + $tmpRootPath=dirname($tmpRibbonTarget).'/'; + $ribbonBinObjects=$this->spreadSheet->getRibbonBinObjects('data');//the files to write + foreach ($ribbonBinObjects as $aPath => $aContent) { + $objZip->addFromString($tmpRootPath.$aPath, $aContent); + } + //the rels for files + $objZip->addFromString($tmpRootPath.'_rels/'.basename($tmpRibbonTarget).'.rels', $this->getWriterPart('RelsRibbonObjects')->writeRibbonRelationships($this->spreadSheet)); + } + } + + // Add relationships to ZIP file + $objZip->addFromString('_rels/.rels', $this->getWriterPart('Rels')->writeRelationships($this->spreadSheet)); + $objZip->addFromString('xl/_rels/workbook.xml.rels', $this->getWriterPart('Rels')->writeWorkbookRelationships($this->spreadSheet)); - // Add document properties to ZIP file - $objZip->addFromString('docProps/app.xml', $this->getWriterPart('DocProps')->writeDocPropsApp($this->_spreadSheet)); - $objZip->addFromString('docProps/core.xml', $this->getWriterPart('DocProps')->writeDocPropsCore($this->_spreadSheet)); - $customPropertiesPart = $this->getWriterPart('DocProps')->writeDocPropsCustom($this->_spreadSheet); - if ($customPropertiesPart !== NULL) { - $objZip->addFromString('docProps/custom.xml', $customPropertiesPart); - } + // Add document properties to ZIP file + $objZip->addFromString('docProps/app.xml', $this->getWriterPart('DocProps')->writeDocPropsApp($this->spreadSheet)); + $objZip->addFromString('docProps/core.xml', $this->getWriterPart('DocProps')->writeDocPropsCore($this->spreadSheet)); + $customPropertiesPart = $this->getWriterPart('DocProps')->writeDocPropsCustom($this->spreadSheet); + if ($customPropertiesPart !== null) { + $objZip->addFromString('docProps/custom.xml', $customPropertiesPart); + } - // Add theme to ZIP file - $objZip->addFromString('xl/theme/theme1.xml', $this->getWriterPart('Theme')->writeTheme($this->_spreadSheet)); + // Add theme to ZIP file + $objZip->addFromString('xl/theme/theme1.xml', $this->getWriterPart('Theme')->writeTheme($this->spreadSheet)); - // Add string table to ZIP file - $objZip->addFromString('xl/sharedStrings.xml', $this->getWriterPart('StringTable')->writeStringTable($this->_stringTable)); + // Add string table to ZIP file + $objZip->addFromString('xl/sharedStrings.xml', $this->getWriterPart('StringTable')->writeStringTable($this->stringTable)); - // Add styles to ZIP file - $objZip->addFromString('xl/styles.xml', $this->getWriterPart('Style')->writeStyles($this->_spreadSheet)); + // Add styles to ZIP file + $objZip->addFromString('xl/styles.xml', $this->getWriterPart('Style')->writeStyles($this->spreadSheet)); - // Add workbook to ZIP file - $objZip->addFromString('xl/workbook.xml', $this->getWriterPart('Workbook')->writeWorkbook($this->_spreadSheet, $this->_preCalculateFormulas)); + // Add workbook to ZIP file + $objZip->addFromString('xl/workbook.xml', $this->getWriterPart('Workbook')->writeWorkbook($this->spreadSheet, $this->preCalculateFormulas)); - $chartCount = 0; - // Add worksheets - for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { - $objZip->addFromString('xl/worksheets/sheet' . ($i + 1) . '.xml', $this->getWriterPart('Worksheet')->writeWorksheet($this->_spreadSheet->getSheet($i), $this->_stringTable, $this->_includeCharts)); - if ($this->_includeCharts) { - $charts = $this->_spreadSheet->getSheet($i)->getChartCollection(); - if (count($charts) > 0) { - foreach($charts as $chart) { - $objZip->addFromString('xl/charts/chart' . ($chartCount + 1) . '.xml', $this->getWriterPart('Chart')->writeChart($chart)); - $chartCount++; - } - } - } - } + $chartCount = 0; + // Add worksheets + for ($i = 0; $i < $this->spreadSheet->getSheetCount(); ++$i) { + $objZip->addFromString('xl/worksheets/sheet' . ($i + 1) . '.xml', $this->getWriterPart('Worksheet')->writeWorksheet($this->spreadSheet->getSheet($i), $this->stringTable, $this->includeCharts)); + if ($this->includeCharts) { + $charts = $this->spreadSheet->getSheet($i)->getChartCollection(); + if (count($charts) > 0) { + foreach ($charts as $chart) { + $objZip->addFromString('xl/charts/chart' . ($chartCount + 1) . '.xml', $this->getWriterPart('Chart')->writeChart($chart, $this->preCalculateFormulas)); + $chartCount++; + } + } + } + } - $chartRef1 = $chartRef2 = 0; - // Add worksheet relationships (drawings, ...) - for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); ++$i) { + $chartRef1 = $chartRef2 = 0; + // Add worksheet relationships (drawings, ...) + for ($i = 0; $i < $this->spreadSheet->getSheetCount(); ++$i) { + // Add relationships + $objZip->addFromString('xl/worksheets/_rels/sheet' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeWorksheetRelationships($this->spreadSheet->getSheet($i), ($i + 1), $this->includeCharts)); - // Add relationships - $objZip->addFromString('xl/worksheets/_rels/sheet' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeWorksheetRelationships($this->_spreadSheet->getSheet($i), ($i + 1), $this->_includeCharts)); + $drawings = $this->spreadSheet->getSheet($i)->getDrawingCollection(); + $drawingCount = count($drawings); + if ($this->includeCharts) { + $chartCount = $this->spreadSheet->getSheet($i)->getChartCount(); + } - $drawings = $this->_spreadSheet->getSheet($i)->getDrawingCollection(); - $drawingCount = count($drawings); - if ($this->_includeCharts) { - $chartCount = $this->_spreadSheet->getSheet($i)->getChartCount(); - } + // Add drawing and image relationship parts + if (($drawingCount > 0) || ($chartCount > 0)) { + // Drawing relationships + $objZip->addFromString('xl/drawings/_rels/drawing' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeDrawingRelationships($this->spreadSheet->getSheet($i), $chartRef1, $this->includeCharts)); - // Add drawing and image relationship parts - if (($drawingCount > 0) || ($chartCount > 0)) { - // Drawing relationships - $objZip->addFromString('xl/drawings/_rels/drawing' . ($i + 1) . '.xml.rels', $this->getWriterPart('Rels')->writeDrawingRelationships($this->_spreadSheet->getSheet($i),$chartRef1, $this->_includeCharts)); + // Drawings + $objZip->addFromString('xl/drawings/drawing' . ($i + 1) . '.xml', $this->getWriterPart('Drawing')->writeDrawings($this->spreadSheet->getSheet($i), $chartRef2, $this->includeCharts)); + } - // Drawings - $objZip->addFromString('xl/drawings/drawing' . ($i + 1) . '.xml', $this->getWriterPart('Drawing')->writeDrawings($this->_spreadSheet->getSheet($i),$chartRef2,$this->_includeCharts)); - } + // Add comment relationship parts + if (count($this->spreadSheet->getSheet($i)->getComments()) > 0) { + // VML Comments + $objZip->addFromString('xl/drawings/vmlDrawing' . ($i + 1) . '.vml', $this->getWriterPart('Comments')->writeVMLComments($this->spreadSheet->getSheet($i))); - // Add comment relationship parts - if (count($this->_spreadSheet->getSheet($i)->getComments()) > 0) { - // VML Comments - $objZip->addFromString('xl/drawings/vmlDrawing' . ($i + 1) . '.vml', $this->getWriterPart('Comments')->writeVMLComments($this->_spreadSheet->getSheet($i))); + // Comments + $objZip->addFromString('xl/comments' . ($i + 1) . '.xml', $this->getWriterPart('Comments')->writeComments($this->spreadSheet->getSheet($i))); + } - // Comments - $objZip->addFromString('xl/comments' . ($i + 1) . '.xml', $this->getWriterPart('Comments')->writeComments($this->_spreadSheet->getSheet($i))); - } + // Add header/footer relationship parts + if (count($this->spreadSheet->getSheet($i)->getHeaderFooter()->getImages()) > 0) { + // VML Drawings + $objZip->addFromString('xl/drawings/vmlDrawingHF' . ($i + 1) . '.vml', $this->getWriterPart('Drawing')->writeVMLHeaderFooterImages($this->spreadSheet->getSheet($i))); - // Add header/footer relationship parts - if (count($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages()) > 0) { - // VML Drawings - $objZip->addFromString('xl/drawings/vmlDrawingHF' . ($i + 1) . '.vml', $this->getWriterPart('Drawing')->writeVMLHeaderFooterImages($this->_spreadSheet->getSheet($i))); + // VML Drawing relationships + $objZip->addFromString('xl/drawings/_rels/vmlDrawingHF' . ($i + 1) . '.vml.rels', $this->getWriterPart('Rels')->writeHeaderFooterDrawingRelationships($this->spreadSheet->getSheet($i))); - // VML Drawing relationships - $objZip->addFromString('xl/drawings/_rels/vmlDrawingHF' . ($i + 1) . '.vml.rels', $this->getWriterPart('Rels')->writeHeaderFooterDrawingRelationships($this->_spreadSheet->getSheet($i))); + // Media + foreach ($this->spreadSheet->getSheet($i)->getHeaderFooter()->getImages() as $image) { + $objZip->addFromString('xl/media/' . $image->getIndexedFilename(), file_get_contents($image->getPath())); + } + } + } - // Media - foreach ($this->_spreadSheet->getSheet($i)->getHeaderFooter()->getImages() as $image) { - $objZip->addFromString('xl/media/' . $image->getIndexedFilename(), file_get_contents($image->getPath())); - } - } - } + // Add media + for ($i = 0; $i < $this->getDrawingHashTable()->count(); ++$i) { + if ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { + $imageContents = null; + $imagePath = $this->getDrawingHashTable()->getByIndex($i)->getPath(); + if (strpos($imagePath, 'zip://') !== false) { + $imagePath = substr($imagePath, 6); + $imagePathSplitted = explode('#', $imagePath); - // Add media - for ($i = 0; $i < $this->getDrawingHashTable()->count(); ++$i) { - if ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { - $imageContents = null; - $imagePath = $this->getDrawingHashTable()->getByIndex($i)->getPath(); - if (strpos($imagePath, 'zip://') !== false) { - $imagePath = substr($imagePath, 6); - $imagePathSplitted = explode('#', $imagePath); + $imageZip = new ZipArchive(); + $imageZip->open($imagePathSplitted[0]); + $imageContents = $imageZip->getFromName($imagePathSplitted[1]); + $imageZip->close(); + unset($imageZip); + } else { + $imageContents = file_get_contents($imagePath); + } - $imageZip = new ZipArchive(); - $imageZip->open($imagePathSplitted[0]); - $imageContents = $imageZip->getFromName($imagePathSplitted[1]); - $imageZip->close(); - unset($imageZip); - } else { - $imageContents = file_get_contents($imagePath); - } + $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); + } elseif ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { + ob_start(); + call_user_func( + $this->getDrawingHashTable()->getByIndex($i)->getRenderingFunction(), + $this->getDrawingHashTable()->getByIndex($i)->getImageResource() + ); + $imageContents = ob_get_contents(); + ob_end_clean(); - $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); - } else if ($this->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { - ob_start(); - call_user_func( - $this->getDrawingHashTable()->getByIndex($i)->getRenderingFunction(), - $this->getDrawingHashTable()->getByIndex($i)->getImageResource() - ); - $imageContents = ob_get_contents(); - ob_end_clean(); + $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); + } + } - $objZip->addFromString('xl/media/' . str_replace(' ', '_', $this->getDrawingHashTable()->getByIndex($i)->getIndexedFilename()), $imageContents); - } - } + PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); + PHPExcel_Calculation::getInstance($this->spreadSheet)->getDebugLog()->setWriteDebugLog($saveDebugLog); - PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); - PHPExcel_Calculation::getInstance($this->_spreadSheet)->getDebugLog()->setWriteDebugLog($saveDebugLog); + // Close file + if ($objZip->close() === false) { + throw new PHPExcel_Writer_Exception("Could not close zip file $pFilename."); + } - // Close file - if ($objZip->close() === false) { - throw new PHPExcel_Writer_Exception("Could not close zip file $pFilename."); - } + // If a temporary file was used, copy it to the correct file stream + if ($originalFilename != $pFilename) { + if (copy($pFilename, $originalFilename) === false) { + throw new PHPExcel_Writer_Exception("Could not copy temporary zip file $pFilename to $originalFilename."); + } + @unlink($pFilename); + } + } else { + throw new PHPExcel_Writer_Exception("PHPExcel object unassigned."); + } + } - // If a temporary file was used, copy it to the correct file stream - if ($originalFilename != $pFilename) { - if (copy($pFilename, $originalFilename) === false) { - throw new PHPExcel_Writer_Exception("Could not copy temporary zip file $pFilename to $originalFilename."); - } - @unlink($pFilename); - } - } else { - throw new PHPExcel_Writer_Exception("PHPExcel object unassigned."); - } - } + /** + * Get PHPExcel object + * + * @return PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function getPHPExcel() + { + if ($this->spreadSheet !== null) { + return $this->spreadSheet; + } else { + throw new PHPExcel_Writer_Exception("No PHPExcel object assigned."); + } + } - /** - * Get PHPExcel object - * - * @return PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function getPHPExcel() { - if ($this->_spreadSheet !== null) { - return $this->_spreadSheet; - } else { - throw new PHPExcel_Writer_Exception("No PHPExcel assigned."); - } - } - - /** - * Set PHPExcel object - * - * @param PHPExcel $pPHPExcel PHPExcel object - * @throws PHPExcel_Writer_Exception - * @return PHPExcel_Writer_Excel2007 - */ - public function setPHPExcel(PHPExcel $pPHPExcel = null) { - $this->_spreadSheet = $pPHPExcel; - return $this; - } + /** + * Set PHPExcel object + * + * @param PHPExcel $pPHPExcel PHPExcel object + * @throws PHPExcel_Writer_Exception + * @return PHPExcel_Writer_Excel2007 + */ + public function setPHPExcel(PHPExcel $pPHPExcel = null) + { + $this->spreadSheet = $pPHPExcel; + return $this; + } /** * Get string table * * @return string[] */ - public function getStringTable() { - return $this->_stringTable; + public function getStringTable() + { + return $this->stringTable; } /** @@ -451,8 +444,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getStyleHashTable() { - return $this->_styleHashTable; + public function getStyleHashTable() + { + return $this->styleHashTable; } /** @@ -460,8 +454,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getStylesConditionalHashTable() { - return $this->_stylesConditionalHashTable; + public function getStylesConditionalHashTable() + { + return $this->stylesConditionalHashTable; } /** @@ -469,8 +464,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getFillHashTable() { - return $this->_fillHashTable; + public function getFillHashTable() + { + return $this->fillHashTable; } /** @@ -478,8 +474,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getFontHashTable() { - return $this->_fontHashTable; + public function getFontHashTable() + { + return $this->fontHashTable; } /** @@ -487,8 +484,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getBordersHashTable() { - return $this->_bordersHashTable; + public function getBordersHashTable() + { + return $this->bordersHashTable; } /** @@ -496,8 +494,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getNumFmtHashTable() { - return $this->_numFmtHashTable; + public function getNumFmtHashTable() + { + return $this->numFmtHashTable; } /** @@ -505,8 +504,9 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return PHPExcel_HashTable */ - public function getDrawingHashTable() { - return $this->_drawingHashTable; + public function getDrawingHashTable() + { + return $this->drawingHashTable; } /** @@ -514,19 +514,20 @@ class PHPExcel_Writer_Excel2007 extends PHPExcel_Writer_Abstract implements PHPE * * @return boolean */ - public function getOffice2003Compatibility() { - return $this->_office2003compatibility; + public function getOffice2003Compatibility() + { + return $this->office2003compatibility; } /** * Set Office2003 compatibility * - * @param boolean $pValue Office2003 compatibility? + * @param boolean $pValue Office2003 compatibility? * @return PHPExcel_Writer_Excel2007 */ - public function setOffice2003Compatibility($pValue = false) { - $this->_office2003compatibility = $pValue; - return $this; + public function setOffice2003Compatibility($pValue = false) + { + $this->office2003compatibility = $pValue; + return $this; } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php index 4846910fa..92fa21506 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Chart.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Chart * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,1587 +21,1500 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ +class PHPExcel_Writer_Excel2007_Chart extends PHPExcel_Writer_Excel2007_WriterPart +{ + protected $calculateCellValues; -/** - * PHPExcel_Writer_Excel2007_Chart - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Writer_Excel2007_Chart extends - PHPExcel_Writer_Excel2007_WriterPart { + /** + * Write charts to XML format + * + * @param PHPExcel_Chart $pChart + * + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeChart(PHPExcel_Chart $pChart = null, $calculateCellValues = true) + { + $this->calculateCellValues = $calculateCellValues; - /** - * Write charts to XML format - * - * @param PHPExcel_Chart $pChart - * - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeChart(PHPExcel_Chart $pChart = NULL) { - // Create XML writer - $objWriter = NULL; - if ($this->getParentWriter() - ->getUseDiskCaching() - ) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter() - ->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } - // Ensure that data series values are up-to-date before we save - $pChart->refresh(); - - // XML header - $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - - // c:chartSpace - $objWriter->startElement('c:chartSpace'); - $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); - $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); - $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - - $objWriter->startElement('c:date1904'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - $objWriter->startElement('c:lang'); - $objWriter->writeAttribute('val', "en-GB"); - $objWriter->endElement(); - $objWriter->startElement('c:roundedCorners'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $this->_writeAlternateContent($objWriter); - - $objWriter->startElement('c:chart'); - - $this->_writeTitle($pChart->getTitle(), $objWriter); - - $objWriter->startElement('c:autoTitleDeleted'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $this->_writePlotArea( - $pChart->getPlotArea(), - $pChart->getXAxisLabel(), - $pChart->getYAxisLabel(), - $objWriter, - $pChart->getWorksheet(), - $pChart->getChartAxisX(), - $pChart->getChartAxisY(), - $pChart->getMajorGridlines(), - $pChart->getMinorGridlines() - ); - - $this->_writeLegend($pChart->getLegend(), $objWriter); - - $objWriter->startElement('c:plotVisOnly'); - $objWriter->writeAttribute('val', 1); - $objWriter->endElement(); - - $objWriter->startElement('c:dispBlanksAs'); - $objWriter->writeAttribute('val', "gap"); - $objWriter->endElement(); - - $objWriter->startElement('c:showDLblsOverMax'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->endElement(); - - $this->_writePrintSettings($objWriter); - - $objWriter->endElement(); - - // Return - return $objWriter->getData(); - } - - /** - * Write Chart Title - * - * @param PHPExcel_Chart_Title $title - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeTitle(PHPExcel_Chart_Title $title = NULL, $objWriter) { - if (is_null($title)) { - return; - } - - $objWriter->startElement('c:title'); - $objWriter->startElement('c:tx'); - $objWriter->startElement('c:rich'); - - $objWriter->startElement('a:bodyPr'); - $objWriter->endElement(); - - $objWriter->startElement('a:lstStyle'); - $objWriter->endElement(); - - $objWriter->startElement('a:p'); - - $caption = $title->getCaption(); - if ((is_array($caption)) && (count($caption) > 0)) { - $caption = $caption[0]; - } - $this->getParentWriter() - ->getWriterPart('stringtable') - ->writeRichTextForCharts($objWriter, $caption, 'a'); - - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - - $layout = $title->getLayout(); - $this->_writeLayout($layout, $objWriter); - - $objWriter->startElement('c:overlay'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write Chart Legend - * - * @param PHPExcel_Chart_Legend $legend - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeLegend(PHPExcel_Chart_Legend $legend = NULL, $objWriter) { - if (is_null($legend)) { - return; - } - - $objWriter->startElement('c:legend'); - - $objWriter->startElement('c:legendPos'); - $objWriter->writeAttribute('val', $legend->getPosition()); - $objWriter->endElement(); - - $layout = $legend->getLayout(); - $this->_writeLayout($layout, $objWriter); - - $objWriter->startElement('c:overlay'); - $objWriter->writeAttribute('val', ($legend->getOverlay()) ? '1' : '0'); - $objWriter->endElement(); - - $objWriter->startElement('c:txPr'); - $objWriter->startElement('a:bodyPr'); - $objWriter->endElement(); - - $objWriter->startElement('a:lstStyle'); - $objWriter->endElement(); - - $objWriter->startElement('a:p'); - $objWriter->startElement('a:pPr'); - $objWriter->writeAttribute('rtl', 0); - - $objWriter->startElement('a:defRPr'); - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->startElement('a:endParaRPr'); - $objWriter->writeAttribute('lang', "en-US"); - $objWriter->endElement(); - - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write Chart Plot Area - * - * @param PHPExcel_Chart_PlotArea $plotArea - * @param PHPExcel_Chart_Title $xAxisLabel - * @param PHPExcel_Chart_Title $yAxisLabel - * @param PHPExcel_Chart_Axis $xAxis - * @param PHPExcel_Chart_Axis $yAxis - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writePlotArea(PHPExcel_Chart_PlotArea $plotArea, - PHPExcel_Chart_Title $xAxisLabel = NULL, - PHPExcel_Chart_Title $yAxisLabel = NULL, - $objWriter, - PHPExcel_Worksheet $pSheet, - PHPExcel_Chart_Axis $xAxis, - PHPExcel_Chart_Axis $yAxis, - PHPExcel_Chart_GridLines $majorGridlines, - PHPExcel_Chart_GridLines $minorGridlines - ) { - if (is_null($plotArea)) { - return; - } - - $id1 = $id2 = 0; - $this->_seriesIndex = 0; - $objWriter->startElement('c:plotArea'); - - $layout = $plotArea->getLayout(); - - $this->_writeLayout($layout, $objWriter); - - $chartTypes = self::_getChartType($plotArea); - $catIsMultiLevelSeries = $valIsMultiLevelSeries = FALSE; - $plotGroupingType = ''; - foreach ($chartTypes as $chartType) { - $objWriter->startElement('c:' . $chartType); - - $groupCount = $plotArea->getPlotGroupCount(); - for ($i = 0; $i < $groupCount; ++$i) { - $plotGroup = $plotArea->getPlotGroupByIndex($i); - $groupType = $plotGroup->getPlotType(); - if ($groupType == $chartType) { - - $plotStyle = $plotGroup->getPlotStyle(); - if ($groupType === PHPExcel_Chart_DataSeries::TYPE_RADARCHART) { - $objWriter->startElement('c:radarStyle'); - $objWriter->writeAttribute('val', $plotStyle); - $objWriter->endElement(); - } elseif ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) { - $objWriter->startElement('c:scatterStyle'); - $objWriter->writeAttribute('val', $plotStyle); - $objWriter->endElement(); - } - - $this->_writePlotGroup($plotGroup, $chartType, $objWriter, $catIsMultiLevelSeries, $valIsMultiLevelSeries, $plotGroupingType, $pSheet); + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); } - } - - $this->_writeDataLbls($objWriter, $layout); - - if ($chartType === PHPExcel_Chart_DataSeries::TYPE_LINECHART) { - // Line only, Line3D can't be smoothed - - $objWriter->startElement('c:smooth'); - $objWriter->writeAttribute('val', (integer) $plotGroup->getSmoothLine()); - $objWriter->endElement(); - } elseif (($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) || - ($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) - ) { - - $objWriter->startElement('c:gapWidth'); - $objWriter->writeAttribute('val', 150); - $objWriter->endElement(); - - if ($plotGroupingType == 'percentStacked' || - $plotGroupingType == 'stacked' - ) { - - $objWriter->startElement('c:overlap'); - $objWriter->writeAttribute('val', 100); - $objWriter->endElement(); + // Ensure that data series values are up-to-date before we save + if ($this->calculateCellValues) { + $pChart->refresh(); } - } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { - $objWriter->startElement('c:bubbleScale'); - $objWriter->writeAttribute('val', 25); - $objWriter->endElement(); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - $objWriter->startElement('c:showNegBubbles'); + // c:chartSpace + $objWriter->startElement('c:chartSpace'); + $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + $objWriter->startElement('c:date1904'); $objWriter->writeAttribute('val', 0); $objWriter->endElement(); - } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { - - $objWriter->startElement('c:hiLowLines'); + $objWriter->startElement('c:lang'); + $objWriter->writeAttribute('val', "en-GB"); $objWriter->endElement(); - - $objWriter->startElement('c:upDownBars'); - - $objWriter->startElement('c:gapWidth'); - $objWriter->writeAttribute('val', 300); - $objWriter->endElement(); - - $objWriter->startElement('c:upBars'); - $objWriter->endElement(); - - $objWriter->startElement('c:downBars'); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - // Generate 2 unique numbers to use for axId values - // $id1 = $id2 = rand(10000000,99999999); - // do { - // $id2 = rand(10000000,99999999); - // } while ($id1 == $id2); - $id1 = '75091328'; - $id2 = '75089408'; - - if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && - ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && - ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) - ) { - - $objWriter->startElement('c:axId'); - $objWriter->writeAttribute('val', $id1); - $objWriter->endElement(); - $objWriter->startElement('c:axId'); - $objWriter->writeAttribute('val', $id2); - $objWriter->endElement(); - } else { - $objWriter->startElement('c:firstSliceAng'); + $objWriter->startElement('c:roundedCorners'); $objWriter->writeAttribute('val', 0); $objWriter->endElement(); - if ($chartType === PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) { + $this->writeAlternateContent($objWriter); - $objWriter->startElement('c:holeSize'); - $objWriter->writeAttribute('val', 50); - $objWriter->endElement(); + $objWriter->startElement('c:chart'); + + $this->writeTitle($pChart->getTitle(), $objWriter); + + $objWriter->startElement('c:autoTitleDeleted'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $this->writePlotArea($pChart->getPlotArea(), $pChart->getXAxisLabel(), $pChart->getYAxisLabel(), $objWriter, $pChart->getWorksheet(), $pChart->getChartAxisX(), $pChart->getChartAxisY(), $pChart->getMajorGridlines(), $pChart->getMinorGridlines()); + + $this->writeLegend($pChart->getLegend(), $objWriter); + + $objWriter->startElement('c:plotVisOnly'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + + $objWriter->startElement('c:dispBlanksAs'); + $objWriter->writeAttribute('val', "gap"); + $objWriter->endElement(); + + $objWriter->startElement('c:showDLblsOverMax'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + + $this->writePrintSettings($objWriter); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write Chart Title + * + * @param PHPExcel_Chart_Title $title + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writeTitle(PHPExcel_Chart_Title $title = null, $objWriter) + { + if (is_null($title)) { + return; } - } - $objWriter->endElement(); - } + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); - if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && - ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && - ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) - ) { - - if ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { - $this->_writeValAx($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); - } else { - $this->_writeCatAx($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis); - } - - $this->_writeValAx($objWriter, $plotArea, $yAxisLabel, $chartType, $id1, $id2, $valIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); - } - - $objWriter->endElement(); - } - - /** - * Write Data Labels - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Chart_Layout $chartLayout Chart layout - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeDataLbls($objWriter, $chartLayout) { - $objWriter->startElement('c:dLbls'); - - $objWriter->startElement('c:showLegendKey'); - $showLegendKey = (empty($chartLayout)) ? 0 : $chartLayout->getShowLegendKey(); - $objWriter->writeAttribute('val', ((empty($showLegendKey)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showVal'); - $showVal = (empty($chartLayout)) ? 0 : $chartLayout->getShowVal(); - $objWriter->writeAttribute('val', ((empty($showVal)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showCatName'); - $showCatName = (empty($chartLayout)) ? 0 : $chartLayout->getShowCatName(); - $objWriter->writeAttribute('val', ((empty($showCatName)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showSerName'); - $showSerName = (empty($chartLayout)) ? 0 : $chartLayout->getShowSerName(); - $objWriter->writeAttribute('val', ((empty($showSerName)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showPercent'); - $showPercent = (empty($chartLayout)) ? 0 : $chartLayout->getShowPercent(); - $objWriter->writeAttribute('val', ((empty($showPercent)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showBubbleSize'); - $showBubbleSize = (empty($chartLayout)) ? 0 : $chartLayout->getShowBubbleSize(); - $objWriter->writeAttribute('val', ((empty($showBubbleSize)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->startElement('c:showLeaderLines'); - $showLeaderLines = (empty($chartLayout)) ? 1 : $chartLayout->getShowLeaderLines(); - $objWriter->writeAttribute('val', ((empty($showLeaderLines)) ? 0 : 1)); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write Category Axis - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Chart_PlotArea $plotArea - * @param PHPExcel_Chart_Title $xAxisLabel - * @param string $groupType Chart type - * @param string $id1 - * @param string $id2 - * @param boolean $isMultiLevelSeries - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeCatAx($objWriter, PHPExcel_Chart_PlotArea $plotArea, $xAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis) { - $objWriter->startElement('c:catAx'); - - if ($id1 > 0) { - $objWriter->startElement('c:axId'); - $objWriter->writeAttribute('val', $id1); - $objWriter->endElement(); - } - - $objWriter->startElement('c:scaling'); - $objWriter->startElement('c:orientation'); - $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('orientation')); - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->startElement('c:delete'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->startElement('c:axPos'); - $objWriter->writeAttribute('val', "b"); - $objWriter->endElement(); - - if (!is_null($xAxisLabel)) { - $objWriter->startElement('c:title'); - $objWriter->startElement('c:tx'); - $objWriter->startElement('c:rich'); - - $objWriter->startElement('a:bodyPr'); - $objWriter->endElement(); - - $objWriter->startElement('a:lstStyle'); - $objWriter->endElement(); - - $objWriter->startElement('a:p'); - $objWriter->startElement('a:r'); - - $caption = $xAxisLabel->getCaption(); - if (is_array($caption)) { - $caption = $caption[0]; - } - $objWriter->startElement('a:t'); - // $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); - $objWriter->endElement(); - - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - - $layout = $xAxisLabel->getLayout(); - $this->_writeLayout($layout, $objWriter); - - $objWriter->startElement('c:overlay'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->endElement(); - - } - - $objWriter->startElement('c:numFmt'); - $objWriter->writeAttribute('formatCode', $yAxis->getAxisNumberFormat()); - $objWriter->writeAttribute('sourceLinked', $yAxis->getAxisNumberSourceLinked()); - $objWriter->endElement(); - - $objWriter->startElement('c:majorTickMark'); - $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('major_tick_mark')); - $objWriter->endElement(); - - $objWriter->startElement('c:minorTickMark'); - $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('minor_tick_mark')); - $objWriter->endElement(); - - $objWriter->startElement('c:tickLblPos'); - $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('axis_labels')); - $objWriter->endElement(); - - if ($id2 > 0) { - $objWriter->startElement('c:crossAx'); - $objWriter->writeAttribute('val', $id2); - $objWriter->endElement(); - - $objWriter->startElement('c:crosses'); - $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('horizontal_crosses')); - $objWriter->endElement(); - } - - $objWriter->startElement('c:auto'); - $objWriter->writeAttribute('val', 1); - $objWriter->endElement(); - - $objWriter->startElement('c:lblAlgn'); - $objWriter->writeAttribute('val', "ctr"); - $objWriter->endElement(); - - $objWriter->startElement('c:lblOffset'); - $objWriter->writeAttribute('val', 100); - $objWriter->endElement(); - - if ($isMultiLevelSeries) { - $objWriter->startElement('c:noMultiLvlLbl'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - } - $objWriter->endElement(); - } - - /** - * Write Value Axis - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Chart_PlotArea $plotArea - * @param PHPExcel_Chart_Title $yAxisLabel - * @param string $groupType Chart type - * @param string $id1 - * @param string $id2 - * @param boolean $isMultiLevelSeries - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeValAx($objWriter, PHPExcel_Chart_PlotArea $plotArea, $yAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines) { - $objWriter->startElement('c:valAx'); - - if ($id2 > 0) { - $objWriter->startElement('c:axId'); - $objWriter->writeAttribute('val', $id2); - $objWriter->endElement(); - } - - $objWriter->startElement('c:scaling'); - $objWriter->startElement('c:orientation'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('orientation')); - - if (!is_null($xAxis->getAxisOptionsProperty('maximum'))) { - $objWriter->startElement('c:max'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('maximum')); - $objWriter->endElement(); - } - - if (!is_null($xAxis->getAxisOptionsProperty('minimum'))) { - $objWriter->startElement('c:min'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minimum')); - $objWriter->endElement(); - } - - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->startElement('c:delete'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->startElement('c:axPos'); - $objWriter->writeAttribute('val', "l"); - $objWriter->endElement(); - - $objWriter->startElement('c:majorGridlines'); - $objWriter->startElement('c:spPr'); - - if (!is_null($majorGridlines->getLineColorProperty('value'))) { - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', $majorGridlines->getLineStyleProperty('width')); - $objWriter->startElement('a:solidFill'); - $objWriter->startElement("a:{$majorGridlines->getLineColorProperty('type')}"); - $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('alpha')); - $objWriter->endElement(); //end alpha - $objWriter->endElement(); //end srgbClr - $objWriter->endElement(); //end solidFill - - $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', $majorGridlines->getLineStyleProperty('dash')); - $objWriter->endElement(); - - if ($majorGridlines->getLineStyleProperty('join') == 'miter') { - $objWriter->startElement('a:miter'); - $objWriter->writeAttribute('lim', '800000'); + $objWriter->startElement('a:bodyPr'); $objWriter->endElement(); - } else { - $objWriter->startElement('a:bevel'); + + $objWriter->startElement('a:lstStyle'); $objWriter->endElement(); - } - if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { - $objWriter->startElement('a:headEnd'); - $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); - $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('head', 'w')); - $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('head', 'len')); + $objWriter->startElement('a:p'); + + $caption = $title->getCaption(); + if ((is_array($caption)) && (count($caption) > 0)) { + $caption = $caption[0]; + } + $this->getParentWriter()->getWriterPart('stringtable')->writeRichTextForCharts($objWriter, $caption, 'a'); + + $objWriter->endElement(); $objWriter->endElement(); - } - - if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { - $objWriter->startElement('a:tailEnd'); - $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); - $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('end', 'w')); - $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('end', 'len')); $objWriter->endElement(); - } - $objWriter->endElement(); //end ln - } - $objWriter->startElement('a:effectLst'); - if (!is_null($majorGridlines->getGlowSize())) { - $objWriter->startElement('a:glow'); - $objWriter->writeAttribute('rad', $majorGridlines->getGlowSize()); - $objWriter->startElement("a:{$majorGridlines->getGlowColor('type')}"); - $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('alpha')); - $objWriter->endElement(); //end alpha - $objWriter->endElement(); //end schemeClr - $objWriter->endElement(); //end glow + $this->writeLayout($title->getLayout(), $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); } - if (!is_null($majorGridlines->getShadowProperty('presets'))) { - $objWriter->startElement("a:{$majorGridlines->getShadowProperty('effect')}"); - if (!is_null($majorGridlines->getShadowProperty('blur'))) { - $objWriter->writeAttribute('blurRad', $majorGridlines->getShadowProperty('blur')); - } - if (!is_null($majorGridlines->getShadowProperty('distance'))) { - $objWriter->writeAttribute('dist', $majorGridlines->getShadowProperty('distance')); - } - if (!is_null($majorGridlines->getShadowProperty('direction'))) { - $objWriter->writeAttribute('dir', $majorGridlines->getShadowProperty('direction')); - } - if (!is_null($majorGridlines->getShadowProperty('algn'))) { - $objWriter->writeAttribute('algn', $majorGridlines->getShadowProperty('algn')); - } - if (!is_null($majorGridlines->getShadowProperty(array('size', 'sx')))) { - $objWriter->writeAttribute('sx', $majorGridlines->getShadowProperty(array('size', 'sx'))); - } - if (!is_null($majorGridlines->getShadowProperty(array('size', 'sy')))) { - $objWriter->writeAttribute('sy', $majorGridlines->getShadowProperty(array('size', 'sy'))); - } - if (!is_null($majorGridlines->getShadowProperty(array('size', 'kx')))) { - $objWriter->writeAttribute('kx', $majorGridlines->getShadowProperty(array('size', 'kx'))); - } - if (!is_null($majorGridlines->getShadowProperty('rotWithShape'))) { - $objWriter->writeAttribute('rotWithShape', $majorGridlines->getShadowProperty('rotWithShape')); - } - $objWriter->startElement("a:{$majorGridlines->getShadowProperty(array('color', 'type'))}"); - $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'value'))); + /** + * Write Chart Legend + * + * @param PHPExcel_Chart_Legend $legend + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writeLegend(PHPExcel_Chart_Legend $legend = null, $objWriter) + { + if (is_null($legend)) { + return; + } - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'alpha'))); - $objWriter->endElement(); //end alpha + $objWriter->startElement('c:legend'); - $objWriter->endElement(); //end color:type - $objWriter->endElement(); //end shadow + $objWriter->startElement('c:legendPos'); + $objWriter->writeAttribute('val', $legend->getPosition()); + $objWriter->endElement(); + + $this->writeLayout($legend->getLayout(), $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', ($legend->getOverlay()) ? '1' : '0'); + $objWriter->endElement(); + + $objWriter->startElement('c:txPr'); + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:pPr'); + $objWriter->writeAttribute('rtl', 0); + + $objWriter->startElement('a:defRPr'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('a:endParaRPr'); + $objWriter->writeAttribute('lang', "en-US"); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); } - if (!is_null($majorGridlines->getSoftEdgesSize())) { - $objWriter->startElement('a:softEdge'); - $objWriter->writeAttribute('rad', $majorGridlines->getSoftEdgesSize()); - $objWriter->endElement(); //end softEdge + /** + * Write Chart Plot Area + * + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $xAxisLabel + * @param PHPExcel_Chart_Title $yAxisLabel + * @param PHPExcel_Chart_Axis $xAxis + * @param PHPExcel_Chart_Axis $yAxis + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writePlotArea(PHPExcel_Chart_PlotArea $plotArea, PHPExcel_Chart_Title $xAxisLabel = null, PHPExcel_Chart_Title $yAxisLabel = null, $objWriter, PHPExcel_Worksheet $pSheet, PHPExcel_Chart_Axis $xAxis, PHPExcel_Chart_Axis $yAxis, PHPExcel_Chart_GridLines $majorGridlines, PHPExcel_Chart_GridLines $minorGridlines) + { + if (is_null($plotArea)) { + return; + } + + $id1 = $id2 = 0; + $this->_seriesIndex = 0; + $objWriter->startElement('c:plotArea'); + + $layout = $plotArea->getLayout(); + + $this->writeLayout($layout, $objWriter); + + $chartTypes = self::getChartType($plotArea); + $catIsMultiLevelSeries = $valIsMultiLevelSeries = false; + $plotGroupingType = ''; + foreach ($chartTypes as $chartType) { + $objWriter->startElement('c:' . $chartType); + + $groupCount = $plotArea->getPlotGroupCount(); + for ($i = 0; $i < $groupCount; ++$i) { + $plotGroup = $plotArea->getPlotGroupByIndex($i); + $groupType = $plotGroup->getPlotType(); + if ($groupType == $chartType) { + $plotStyle = $plotGroup->getPlotStyle(); + if ($groupType === PHPExcel_Chart_DataSeries::TYPE_RADARCHART) { + $objWriter->startElement('c:radarStyle'); + $objWriter->writeAttribute('val', $plotStyle); + $objWriter->endElement(); + } elseif ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) { + $objWriter->startElement('c:scatterStyle'); + $objWriter->writeAttribute('val', $plotStyle); + $objWriter->endElement(); + } + + $this->writePlotGroup($plotGroup, $chartType, $objWriter, $catIsMultiLevelSeries, $valIsMultiLevelSeries, $plotGroupingType, $pSheet); + } + } + + $this->writeDataLabels($objWriter, $layout); + + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_LINECHART) { + // Line only, Line3D can't be smoothed + + $objWriter->startElement('c:smooth'); + $objWriter->writeAttribute('val', (integer) $plotGroup->getSmoothLine()); + $objWriter->endElement(); + } elseif (($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) ||($chartType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D)) { + $objWriter->startElement('c:gapWidth'); + $objWriter->writeAttribute('val', 150); + $objWriter->endElement(); + + if ($plotGroupingType == 'percentStacked' || $plotGroupingType == 'stacked') { + $objWriter->startElement('c:overlap'); + $objWriter->writeAttribute('val', 100); + $objWriter->endElement(); + } + } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $objWriter->startElement('c:bubbleScale'); + $objWriter->writeAttribute('val', 25); + $objWriter->endElement(); + + $objWriter->startElement('c:showNegBubbles'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } elseif ($chartType === PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { + $objWriter->startElement('c:hiLowLines'); + $objWriter->endElement(); + + $objWriter->startElement('c:upDownBars'); + + $objWriter->startElement('c:gapWidth'); + $objWriter->writeAttribute('val', 300); + $objWriter->endElement(); + + $objWriter->startElement('c:upBars'); + $objWriter->endElement(); + + $objWriter->startElement('c:downBars'); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + // Generate 2 unique numbers to use for axId values + // $id1 = $id2 = rand(10000000,99999999); + // do { + // $id2 = rand(10000000,99999999); + // } while ($id1 == $id2); + $id1 = '75091328'; + $id2 = '75089408'; + + if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART)) { + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id1); + $objWriter->endElement(); + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:firstSliceAng'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) { + $objWriter->startElement('c:holeSize'); + $objWriter->writeAttribute('val', 50); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } + + if (($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART) && ($chartType !== PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && ($chartType !== PHPExcel_Chart_DataSeries::TYPE_DONUTCHART)) { + if ($chartType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $this->writeValueAxis($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); + } else { + $this->writeCategoryAxis($objWriter, $plotArea, $xAxisLabel, $chartType, $id1, $id2, $catIsMultiLevelSeries, $xAxis, $yAxis); + } + + $this->writeValueAxis($objWriter, $plotArea, $yAxisLabel, $chartType, $id1, $id2, $valIsMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines); + } + + $objWriter->endElement(); } - $objWriter->endElement(); //end effectLst - $objWriter->endElement(); //end spPr - $objWriter->endElement(); //end majorGridLines + /** + * Write Data Labels + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_Layout $chartLayout Chart layout + * + * @throws PHPExcel_Writer_Exception + */ + private function writeDataLabels($objWriter, $chartLayout) + { + $objWriter->startElement('c:dLbls'); - if ($minorGridlines->getObjectState()) { - $objWriter->startElement('c:minorGridlines'); - $objWriter->startElement('c:spPr'); + $objWriter->startElement('c:showLegendKey'); + $showLegendKey = (empty($chartLayout)) ? 0 : $chartLayout->getShowLegendKey(); + $objWriter->writeAttribute('val', ((empty($showLegendKey)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showVal'); + $showVal = (empty($chartLayout)) ? 0 : $chartLayout->getShowVal(); + $objWriter->writeAttribute('val', ((empty($showVal)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showCatName'); + $showCatName = (empty($chartLayout)) ? 0 : $chartLayout->getShowCatName(); + $objWriter->writeAttribute('val', ((empty($showCatName)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showSerName'); + $showSerName = (empty($chartLayout)) ? 0 : $chartLayout->getShowSerName(); + $objWriter->writeAttribute('val', ((empty($showSerName)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showPercent'); + $showPercent = (empty($chartLayout)) ? 0 : $chartLayout->getShowPercent(); + $objWriter->writeAttribute('val', ((empty($showPercent)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showBubbleSize'); + $showBubbleSize = (empty($chartLayout)) ? 0 : $chartLayout->getShowBubbleSize(); + $objWriter->writeAttribute('val', ((empty($showBubbleSize)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->startElement('c:showLeaderLines'); + $showLeaderLines = (empty($chartLayout)) ? 1 : $chartLayout->getShowLeaderLines(); + $objWriter->writeAttribute('val', ((empty($showLeaderLines)) ? 0 : 1)); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write Category Axis + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $xAxisLabel + * @param string $groupType Chart type + * @param string $id1 + * @param string $id2 + * @param boolean $isMultiLevelSeries + * + * @throws PHPExcel_Writer_Exception + */ + private function writeCategoryAxis($objWriter, PHPExcel_Chart_PlotArea $plotArea, $xAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis) + { + $objWriter->startElement('c:catAx'); + + if ($id1 > 0) { + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id1); + $objWriter->endElement(); + } + + $objWriter->startElement('c:scaling'); + $objWriter->startElement('c:orientation'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('orientation')); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('c:delete'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:axPos'); + $objWriter->writeAttribute('val', "b"); + $objWriter->endElement(); + + if (!is_null($xAxisLabel)) { + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); + + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:r'); + + $caption = $xAxisLabel->getCaption(); + if (is_array($caption)) { + $caption = $caption[0]; + } + $objWriter->startElement('a:t'); + // $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + $layout = $xAxisLabel->getLayout(); + $this->writeLayout($layout, $objWriter); + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + $objWriter->startElement('c:numFmt'); + $objWriter->writeAttribute('formatCode', $yAxis->getAxisNumberFormat()); + $objWriter->writeAttribute('sourceLinked', $yAxis->getAxisNumberSourceLinked()); + $objWriter->endElement(); + + $objWriter->startElement('c:majorTickMark'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('major_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:minorTickMark'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('minor_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:tickLblPos'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('axis_labels')); + $objWriter->endElement(); + + if ($id2 > 0) { + $objWriter->startElement('c:crossAx'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + + $objWriter->startElement('c:crosses'); + $objWriter->writeAttribute('val', $yAxis->getAxisOptionsProperty('horizontal_crosses')); + $objWriter->endElement(); + } + + $objWriter->startElement('c:auto'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + + $objWriter->startElement('c:lblAlgn'); + $objWriter->writeAttribute('val', "ctr"); + $objWriter->endElement(); + + $objWriter->startElement('c:lblOffset'); + $objWriter->writeAttribute('val', 100); + $objWriter->endElement(); + + if ($isMultiLevelSeries) { + $objWriter->startElement('c:noMultiLvlLbl'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + $objWriter->endElement(); + } + + /** + * Write Value Axis + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart_PlotArea $plotArea + * @param PHPExcel_Chart_Title $yAxisLabel + * @param string $groupType Chart type + * @param string $id1 + * @param string $id2 + * @param boolean $isMultiLevelSeries + * + * @throws PHPExcel_Writer_Exception + */ + private function writeValueAxis($objWriter, PHPExcel_Chart_PlotArea $plotArea, $yAxisLabel, $groupType, $id1, $id2, $isMultiLevelSeries, $xAxis, $yAxis, $majorGridlines, $minorGridlines) + { + $objWriter->startElement('c:valAx'); + + if ($id2 > 0) { + $objWriter->startElement('c:axId'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + } + + $objWriter->startElement('c:scaling'); + + if (!is_null($xAxis->getAxisOptionsProperty('maximum'))) { + $objWriter->startElement('c:max'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('maximum')); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getAxisOptionsProperty('minimum'))) { + $objWriter->startElement('c:min'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minimum')); + $objWriter->endElement(); + } + + $objWriter->startElement('c:orientation'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('orientation')); + + + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->startElement('c:delete'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:axPos'); + $objWriter->writeAttribute('val', "l"); + $objWriter->endElement(); + + $objWriter->startElement('c:majorGridlines'); + $objWriter->startElement('c:spPr'); + + if (!is_null($majorGridlines->getLineColorProperty('value'))) { + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleProperty('width')); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:{$majorGridlines->getLineColorProperty('type')}"); + $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getLineColorProperty('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end srgbClr + $objWriter->endElement(); //end solidFill + + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', $majorGridlines->getLineStyleProperty('dash')); + $objWriter->endElement(); + + if ($majorGridlines->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + } else { + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); + } + + if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('head', 'w')); + $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('head', 'len')); + $objWriter->endElement(); + } + + if (!is_null($majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $majorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $majorGridlines->getLineStyleArrowParameters('end', 'w')); + $objWriter->writeAttribute('len', $majorGridlines->getLineStyleArrowParameters('end', 'len')); + $objWriter->endElement(); + } + $objWriter->endElement(); //end ln + } + $objWriter->startElement('a:effectLst'); + + if (!is_null($majorGridlines->getGlowSize())) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $majorGridlines->getGlowSize()); + $objWriter->startElement("a:{$majorGridlines->getGlowColor('type')}"); + $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getGlowColor('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end schemeClr + $objWriter->endElement(); //end glow + } + + if (!is_null($majorGridlines->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$majorGridlines->getShadowProperty('effect')}"); + if (!is_null($majorGridlines->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $majorGridlines->getShadowProperty('blur')); + } + if (!is_null($majorGridlines->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $majorGridlines->getShadowProperty('distance')); + } + if (!is_null($majorGridlines->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $majorGridlines->getShadowProperty('direction')); + } + if (!is_null($majorGridlines->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $majorGridlines->getShadowProperty('algn')); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'sx')))) { + $objWriter->writeAttribute('sx', $majorGridlines->getShadowProperty(array('size', 'sx'))); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'sy')))) { + $objWriter->writeAttribute('sy', $majorGridlines->getShadowProperty(array('size', 'sy'))); + } + if (!is_null($majorGridlines->getShadowProperty(array('size', 'kx')))) { + $objWriter->writeAttribute('kx', $majorGridlines->getShadowProperty(array('size', 'kx'))); + } + if (!is_null($majorGridlines->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $majorGridlines->getShadowProperty('rotWithShape')); + } + $objWriter->startElement("a:{$majorGridlines->getShadowProperty(array('color', 'type'))}"); + $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'value'))); + + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $majorGridlines->getShadowProperty(array('color', 'alpha'))); + $objWriter->endElement(); //end alpha + + $objWriter->endElement(); //end color:type + $objWriter->endElement(); //end shadow + } + + if (!is_null($majorGridlines->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $majorGridlines->getSoftEdgesSize()); + $objWriter->endElement(); //end softEdge + } + + $objWriter->endElement(); //end effectLst + $objWriter->endElement(); //end spPr + $objWriter->endElement(); //end majorGridLines + + if ($minorGridlines->getObjectState()) { + $objWriter->startElement('c:minorGridlines'); + $objWriter->startElement('c:spPr'); + + if (!is_null($minorGridlines->getLineColorProperty('value'))) { + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleProperty('width')); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:{$minorGridlines->getLineColorProperty('type')}"); + $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end srgbClr + $objWriter->endElement(); //end solidFill + + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', $minorGridlines->getLineStyleProperty('dash')); + $objWriter->endElement(); + + if ($minorGridlines->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); + } else { + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); + } + + if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('head', 'w')); + $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('head', 'len')); + $objWriter->endElement(); + } + + if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('end', 'w')); + $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('end', 'len')); + $objWriter->endElement(); + } + $objWriter->endElement(); //end ln + } + + $objWriter->startElement('a:effectLst'); + + if (!is_null($minorGridlines->getGlowSize())) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $minorGridlines->getGlowSize()); + $objWriter->startElement("a:{$minorGridlines->getGlowColor('type')}"); + $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('alpha')); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end schemeClr + $objWriter->endElement(); //end glow + } + + if (!is_null($minorGridlines->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$minorGridlines->getShadowProperty('effect')}"); + if (!is_null($minorGridlines->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $minorGridlines->getShadowProperty('blur')); + } + if (!is_null($minorGridlines->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $minorGridlines->getShadowProperty('distance')); + } + if (!is_null($minorGridlines->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $minorGridlines->getShadowProperty('direction')); + } + if (!is_null($minorGridlines->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $minorGridlines->getShadowProperty('algn')); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'sx')))) { + $objWriter->writeAttribute('sx', $minorGridlines->getShadowProperty(array('size', 'sx'))); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'sy')))) { + $objWriter->writeAttribute('sy', $minorGridlines->getShadowProperty(array('size', 'sy'))); + } + if (!is_null($minorGridlines->getShadowProperty(array('size', 'kx')))) { + $objWriter->writeAttribute('kx', $minorGridlines->getShadowProperty(array('size', 'kx'))); + } + if (!is_null($minorGridlines->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $minorGridlines->getShadowProperty('rotWithShape')); + } + $objWriter->startElement("a:{$minorGridlines->getShadowProperty(array('color', 'type'))}"); + $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'alpha'))); + $objWriter->endElement(); //end alpha + $objWriter->endElement(); //end color:type + $objWriter->endElement(); //end shadow + } + + if (!is_null($minorGridlines->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $minorGridlines->getSoftEdgesSize()); + $objWriter->endElement(); //end softEdge + } + + $objWriter->endElement(); //end effectLst + $objWriter->endElement(); //end spPr + $objWriter->endElement(); //end minorGridLines + } + + if (!is_null($yAxisLabel)) { + $objWriter->startElement('c:title'); + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:rich'); + + $objWriter->startElement('a:bodyPr'); + $objWriter->endElement(); + + $objWriter->startElement('a:lstStyle'); + $objWriter->endElement(); + + $objWriter->startElement('a:p'); + $objWriter->startElement('a:r'); + + $caption = $yAxisLabel->getCaption(); + if (is_array($caption)) { + $caption = $caption[0]; + } + + $objWriter->startElement('a:t'); + // $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $layout = $yAxisLabel->getLayout(); + $this->writeLayout($layout, $objWriter); + } + + $objWriter->startElement('c:overlay'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + $objWriter->startElement('c:numFmt'); + $objWriter->writeAttribute('formatCode', $xAxis->getAxisNumberFormat()); + $objWriter->writeAttribute('sourceLinked', $xAxis->getAxisNumberSourceLinked()); + $objWriter->endElement(); + + $objWriter->startElement('c:majorTickMark'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:minorTickMark'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_tick_mark')); + $objWriter->endElement(); + + $objWriter->startElement('c:tickLblPos'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('axis_labels')); + $objWriter->endElement(); + + $objWriter->startElement('c:spPr'); + + if (!is_null($xAxis->getFillProperty('value'))) { + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:" . $xAxis->getFillProperty('type')); + $objWriter->writeAttribute('val', $xAxis->getFillProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getFillProperty('alpha')); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } - if (!is_null($minorGridlines->getLineColorProperty('value'))) { $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', $minorGridlines->getLineStyleProperty('width')); - $objWriter->startElement('a:solidFill'); - $objWriter->startElement("a:{$minorGridlines->getLineColorProperty('type')}"); - $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $minorGridlines->getLineColorProperty('alpha')); - $objWriter->endElement(); //end alpha - $objWriter->endElement(); //end srgbClr - $objWriter->endElement(); //end solidFill + + $objWriter->writeAttribute('w', $xAxis->getLineStyleProperty('width')); + $objWriter->writeAttribute('cap', $xAxis->getLineStyleProperty('cap')); + $objWriter->writeAttribute('cmpd', $xAxis->getLineStyleProperty('compound')); + + if (!is_null($xAxis->getLineProperty('value'))) { + $objWriter->startElement('a:solidFill'); + $objWriter->startElement("a:" . $xAxis->getLineProperty('type')); + $objWriter->writeAttribute('val', $xAxis->getLineProperty('value')); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getLineProperty('alpha')); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', $minorGridlines->getLineStyleProperty('dash')); + $objWriter->writeAttribute('val', $xAxis->getLineStyleProperty('dash')); $objWriter->endElement(); - if ($minorGridlines->getLineStyleProperty('join') == 'miter') { - $objWriter->startElement('a:miter'); - $objWriter->writeAttribute('lim', '800000'); - $objWriter->endElement(); + if ($xAxis->getLineStyleProperty('join') == 'miter') { + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); } else { - $objWriter->startElement('a:bevel'); - $objWriter->endElement(); + $objWriter->startElement('a:bevel'); + $objWriter->endElement(); } - if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type')))) { - $objWriter->startElement('a:headEnd'); - $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'head', 'type'))); - $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('head', 'w')); - $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('head', 'len')); - $objWriter->endElement(); + if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'head', 'type')))) { + $objWriter->startElement('a:headEnd'); + $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'head', 'type'))); + $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('head')); + $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('head')); + $objWriter->endElement(); } - if (!is_null($minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type')))) { - $objWriter->startElement('a:tailEnd'); - $objWriter->writeAttribute('type', $minorGridlines->getLineStyleProperty(array('arrow', 'end', 'type'))); - $objWriter->writeAttribute('w', $minorGridlines->getLineStyleArrowParameters('end', 'w')); - $objWriter->writeAttribute('len', $minorGridlines->getLineStyleArrowParameters('end', 'len')); - $objWriter->endElement(); + if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'end', 'type')))) { + $objWriter->startElement('a:tailEnd'); + $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'end', 'type'))); + $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('end')); + $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('end')); + $objWriter->endElement(); } - $objWriter->endElement(); //end ln - } - $objWriter->startElement('a:effectLst'); - - if (!is_null($minorGridlines->getGlowSize())) { - $objWriter->startElement('a:glow'); - $objWriter->writeAttribute('rad', $minorGridlines->getGlowSize()); - $objWriter->startElement("a:{$minorGridlines->getGlowColor('type')}"); - $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $minorGridlines->getGlowColor('alpha')); - $objWriter->endElement(); //end alpha - $objWriter->endElement(); //end schemeClr - $objWriter->endElement(); //end glow - } - - if (!is_null($minorGridlines->getShadowProperty('presets'))) { - $objWriter->startElement("a:{$minorGridlines->getShadowProperty('effect')}"); - if (!is_null($minorGridlines->getShadowProperty('blur'))) { - $objWriter->writeAttribute('blurRad', $minorGridlines->getShadowProperty('blur')); - } - if (!is_null($minorGridlines->getShadowProperty('distance'))) { - $objWriter->writeAttribute('dist', $minorGridlines->getShadowProperty('distance')); - } - if (!is_null($minorGridlines->getShadowProperty('direction'))) { - $objWriter->writeAttribute('dir', $minorGridlines->getShadowProperty('direction')); - } - if (!is_null($minorGridlines->getShadowProperty('algn'))) { - $objWriter->writeAttribute('algn', $minorGridlines->getShadowProperty('algn')); - } - if (!is_null($minorGridlines->getShadowProperty(array('size', 'sx')))) { - $objWriter->writeAttribute('sx', $minorGridlines->getShadowProperty(array('size', 'sx'))); - } - if (!is_null($minorGridlines->getShadowProperty(array('size', 'sy')))) { - $objWriter->writeAttribute('sy', $minorGridlines->getShadowProperty(array('size', 'sy'))); - } - if (!is_null($minorGridlines->getShadowProperty(array('size', 'kx')))) { - $objWriter->writeAttribute('kx', $minorGridlines->getShadowProperty(array('size', 'kx'))); - } - if (!is_null($minorGridlines->getShadowProperty('rotWithShape'))) { - $objWriter->writeAttribute('rotWithShape', $minorGridlines->getShadowProperty('rotWithShape')); - } - $objWriter->startElement("a:{$minorGridlines->getShadowProperty(array('color', 'type'))}"); - $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'value'))); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $minorGridlines->getShadowProperty(array('color', 'alpha'))); - $objWriter->endElement(); //end alpha - $objWriter->endElement(); //end color:type - $objWriter->endElement(); //end shadow - } - - if (!is_null($minorGridlines->getSoftEdgesSize())) { - $objWriter->startElement('a:softEdge'); - $objWriter->writeAttribute('rad', $minorGridlines->getSoftEdgesSize()); - $objWriter->endElement(); //end softEdge - } - - $objWriter->endElement(); //end effectLst - $objWriter->endElement(); //end spPr - $objWriter->endElement(); //end minorGridLines - } - - if (!is_null($yAxisLabel)) { - - $objWriter->startElement('c:title'); - $objWriter->startElement('c:tx'); - $objWriter->startElement('c:rich'); - - $objWriter->startElement('a:bodyPr'); - $objWriter->endElement(); - - $objWriter->startElement('a:lstStyle'); - $objWriter->endElement(); - - $objWriter->startElement('a:p'); - $objWriter->startElement('a:r'); - - $caption = $yAxisLabel->getCaption(); - if (is_array($caption)) { - $caption = $caption[0]; - } - - $objWriter->startElement('a:t'); - // $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($caption)); - $objWriter->endElement(); - - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - - if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { - $layout = $yAxisLabel->getLayout(); - $this->_writeLayout($layout, $objWriter); - } - - $objWriter->startElement('c:overlay'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - $objWriter->startElement('c:numFmt'); - $objWriter->writeAttribute('formatCode', $xAxis->getAxisNumberFormat()); - $objWriter->writeAttribute('sourceLinked', $xAxis->getAxisNumberSourceLinked()); - $objWriter->endElement(); - - $objWriter->startElement('c:majorTickMark'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_tick_mark')); - $objWriter->endElement(); - - $objWriter->startElement('c:minorTickMark'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_tick_mark')); - $objWriter->endElement(); - - $objWriter->startElement('c:tickLblPos'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('axis_labels')); - $objWriter->endElement(); - - $objWriter->startElement('c:spPr'); - - if (!is_null($xAxis->getFillProperty('value'))) { - $objWriter->startElement('a:solidFill'); - $objWriter->startElement("a:" . $xAxis->getFillProperty('type')); - $objWriter->writeAttribute('val', $xAxis->getFillProperty('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $xAxis->getFillProperty('alpha')); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - } - - $objWriter->startElement('a:ln'); - - $objWriter->writeAttribute('w', $xAxis->getLineStyleProperty('width')); - $objWriter->writeAttribute('cap', $xAxis->getLineStyleProperty('cap')); - $objWriter->writeAttribute('cmpd', $xAxis->getLineStyleProperty('compound')); - - if (!is_null($xAxis->getLineProperty('value'))) { - $objWriter->startElement('a:solidFill'); - $objWriter->startElement("a:" . $xAxis->getLineProperty('type')); - $objWriter->writeAttribute('val', $xAxis->getLineProperty('value')); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $xAxis->getLineProperty('alpha')); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - } - - $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', $xAxis->getLineStyleProperty('dash')); - $objWriter->endElement(); - - if ($xAxis->getLineStyleProperty('join') == 'miter') { - $objWriter->startElement('a:miter'); - $objWriter->writeAttribute('lim', '800000'); - $objWriter->endElement(); - } else { - $objWriter->startElement('a:bevel'); - $objWriter->endElement(); - } - - if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'head', 'type')))) { - $objWriter->startElement('a:headEnd'); - $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'head', 'type'))); - $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('head')); - $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('head')); - $objWriter->endElement(); - } - - if (!is_null($xAxis->getLineStyleProperty(array('arrow', 'end', 'type')))) { - $objWriter->startElement('a:tailEnd'); - $objWriter->writeAttribute('type', $xAxis->getLineStyleProperty(array('arrow', 'end', 'type'))); - $objWriter->writeAttribute('w', $xAxis->getLineStyleArrowWidth('end')); - $objWriter->writeAttribute('len', $xAxis->getLineStyleArrowLength('end')); - $objWriter->endElement(); - } - - $objWriter->endElement(); - - $objWriter->startElement('a:effectLst'); - - if (!is_null($xAxis->getGlowProperty('size'))) { - $objWriter->startElement('a:glow'); - $objWriter->writeAttribute('rad', $xAxis->getGlowProperty('size')); - $objWriter->startElement("a:{$xAxis->getGlowProperty(array('color','type'))}"); - $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','value'))); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','alpha'))); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - } - - if (!is_null($xAxis->getShadowProperty('presets'))) { - $objWriter->startElement("a:{$xAxis->getShadowProperty('effect')}"); - - if (!is_null($xAxis->getShadowProperty('blur'))) { - $objWriter->writeAttribute('blurRad', $xAxis->getShadowProperty('blur')); - } - if (!is_null($xAxis->getShadowProperty('distance'))) { - $objWriter->writeAttribute('dist', $xAxis->getShadowProperty('distance')); - } - if (!is_null($xAxis->getShadowProperty('direction'))) { - $objWriter->writeAttribute('dir', $xAxis->getShadowProperty('direction')); - } - if (!is_null($xAxis->getShadowProperty('algn'))) { - $objWriter->writeAttribute('algn', $xAxis->getShadowProperty('algn')); - } - if (!is_null($xAxis->getShadowProperty(array('size','sx')))) { - $objWriter->writeAttribute('sx', $xAxis->getShadowProperty(array('size','sx'))); - } - if (!is_null($xAxis->getShadowProperty(array('size','sy')))) { - $objWriter->writeAttribute('sy', $xAxis->getShadowProperty(array('size','sy'))); - } - if (!is_null($xAxis->getShadowProperty(array('size','kx')))) { - $objWriter->writeAttribute('kx', $xAxis->getShadowProperty(array('size','kx'))); - } - if (!is_null($xAxis->getShadowProperty('rotWithShape'))) { - $objWriter->writeAttribute('rotWithShape', $xAxis->getShadowProperty('rotWithShape')); - } - - $objWriter->startElement("a:{$xAxis->getShadowProperty(array('color','type'))}"); - $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','value'))); - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','alpha'))); - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - if (!is_null($xAxis->getSoftEdgesSize())) { - $objWriter->startElement('a:softEdge'); - $objWriter->writeAttribute('rad', $xAxis->getSoftEdgesSize()); - $objWriter->endElement(); - } - - $objWriter->endElement(); //effectList - $objWriter->endElement(); //end spPr - - if ($id1 > 0) { - $objWriter->startElement('c:crossAx'); - $objWriter->writeAttribute('val', $id2); - $objWriter->endElement(); - - if (!is_null($xAxis->getAxisOptionsProperty('horizontal_crosses_value'))) { - $objWriter->startElement('c:crossesAt'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses_value')); $objWriter->endElement(); - } else { - $objWriter->startElement('c:crosses'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses')); + + $objWriter->startElement('a:effectLst'); + + if (!is_null($xAxis->getGlowProperty('size'))) { + $objWriter->startElement('a:glow'); + $objWriter->writeAttribute('rad', $xAxis->getGlowProperty('size')); + $objWriter->startElement("a:{$xAxis->getGlowProperty(array('color','type'))}"); + $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getGlowProperty(array('color','alpha'))); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getShadowProperty('presets'))) { + $objWriter->startElement("a:{$xAxis->getShadowProperty('effect')}"); + + if (!is_null($xAxis->getShadowProperty('blur'))) { + $objWriter->writeAttribute('blurRad', $xAxis->getShadowProperty('blur')); + } + if (!is_null($xAxis->getShadowProperty('distance'))) { + $objWriter->writeAttribute('dist', $xAxis->getShadowProperty('distance')); + } + if (!is_null($xAxis->getShadowProperty('direction'))) { + $objWriter->writeAttribute('dir', $xAxis->getShadowProperty('direction')); + } + if (!is_null($xAxis->getShadowProperty('algn'))) { + $objWriter->writeAttribute('algn', $xAxis->getShadowProperty('algn')); + } + if (!is_null($xAxis->getShadowProperty(array('size','sx')))) { + $objWriter->writeAttribute('sx', $xAxis->getShadowProperty(array('size','sx'))); + } + if (!is_null($xAxis->getShadowProperty(array('size','sy')))) { + $objWriter->writeAttribute('sy', $xAxis->getShadowProperty(array('size','sy'))); + } + if (!is_null($xAxis->getShadowProperty(array('size','kx')))) { + $objWriter->writeAttribute('kx', $xAxis->getShadowProperty(array('size','kx'))); + } + if (!is_null($xAxis->getShadowProperty('rotWithShape'))) { + $objWriter->writeAttribute('rotWithShape', $xAxis->getShadowProperty('rotWithShape')); + } + + $objWriter->startElement("a:{$xAxis->getShadowProperty(array('color','type'))}"); + $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','value'))); + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $xAxis->getShadowProperty(array('color','alpha'))); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); + } + + if (!is_null($xAxis->getSoftEdgesSize())) { + $objWriter->startElement('a:softEdge'); + $objWriter->writeAttribute('rad', $xAxis->getSoftEdgesSize()); + $objWriter->endElement(); + } + + $objWriter->endElement(); //effectList + $objWriter->endElement(); //end spPr + + if ($id1 > 0) { + $objWriter->startElement('c:crossAx'); + $objWriter->writeAttribute('val', $id2); + $objWriter->endElement(); + + if (!is_null($xAxis->getAxisOptionsProperty('horizontal_crosses_value'))) { + $objWriter->startElement('c:crossesAt'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses_value')); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:crosses'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('horizontal_crosses')); + $objWriter->endElement(); + } + + $objWriter->startElement('c:crossBetween'); + $objWriter->writeAttribute('val', "midCat"); + $objWriter->endElement(); + + if (!is_null($xAxis->getAxisOptionsProperty('major_unit'))) { + $objWriter->startElement('c:majorUnit'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_unit')); + $objWriter->endElement(); + } + + if (!is_null($xAxis->getAxisOptionsProperty('minor_unit'))) { + $objWriter->startElement('c:minorUnit'); + $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_unit')); + $objWriter->endElement(); + } + } + + if ($isMultiLevelSeries) { + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $objWriter->startElement('c:noMultiLvlLbl'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + } + $objWriter->endElement(); - } - - $objWriter->startElement('c:crossBetween'); - $objWriter->writeAttribute('val', "midCat"); - $objWriter->endElement(); - - if (!is_null($xAxis->getAxisOptionsProperty('major_unit'))) { - $objWriter->startElement('c:majorUnit'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('major_unit')); - $objWriter->endElement(); - } - - if (!is_null($xAxis->getAxisOptionsProperty('minor_unit'))) { - $objWriter->startElement('c:minorUnit'); - $objWriter->writeAttribute('val', $xAxis->getAxisOptionsProperty('minor_unit')); - $objWriter->endElement(); - } - } - if ($isMultiLevelSeries) { - if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { - $objWriter->startElement('c:noMultiLvlLbl'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - } - } + /** + * Get the data series type(s) for a chart plot series + * + * @param PHPExcel_Chart_PlotArea $plotArea + * + * @return string|array + * @throws PHPExcel_Writer_Exception + */ + private static function getChartType($plotArea) + { + $groupCount = $plotArea->getPlotGroupCount(); - $objWriter->endElement(); - - } - - /** - * Get the data series type(s) for a chart plot series - * - * @param PHPExcel_Chart_PlotArea $plotArea - * - * @return string|array - * @throws PHPExcel_Writer_Exception - */ - private - static function _getChartType($plotArea) { - $groupCount = $plotArea->getPlotGroupCount(); - - if ($groupCount == 1) { - $chartType = array( - $plotArea->getPlotGroupByIndex(0) - ->getPlotType() - ); - } else { - $chartTypes = array(); - for ($i = 0; $i < $groupCount; ++$i) { - $chartTypes[] = $plotArea->getPlotGroupByIndex($i) - ->getPlotType(); - } - $chartType = array_unique($chartTypes); - if (count($chartTypes) == 0) { - throw new PHPExcel_Writer_Exception('Chart is not yet implemented'); - } - } - - return $chartType; - } - - /** - * Write Plot Group (series of related plots) - * - * @param PHPExcel_Chart_DataSeries $plotGroup - * @param string $groupType Type of plot for dataseries - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param boolean &$catIsMultiLevelSeries Is category a multi-series category - * @param boolean &$valIsMultiLevelSeries Is value set a multi-series set - * @param string &$plotGroupingType Type of grouping for multi-series values - * @param PHPExcel_Worksheet $pSheet - * - * @throws PHPExcel_Writer_Exception - */ - private function _writePlotGroup($plotGroup, - $groupType, - $objWriter, - &$catIsMultiLevelSeries, - &$valIsMultiLevelSeries, - &$plotGroupingType, - PHPExcel_Worksheet $pSheet - ) { - if (is_null($plotGroup)) { - return; - } - - if (($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) - ) { - $objWriter->startElement('c:barDir'); - $objWriter->writeAttribute('val', $plotGroup->getPlotDirection()); - $objWriter->endElement(); - } - - if (!is_null($plotGroup->getPlotGrouping())) { - $plotGroupingType = $plotGroup->getPlotGrouping(); - $objWriter->startElement('c:grouping'); - $objWriter->writeAttribute('val', $plotGroupingType); - $objWriter->endElement(); - } - - // Get these details before the loop, because we can use the count to check for varyColors - $plotSeriesOrder = $plotGroup->getPlotOrder(); - $plotSeriesCount = count($plotSeriesOrder); - - if (($groupType !== PHPExcel_Chart_DataSeries::TYPE_RADARCHART) && - ($groupType !== PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) - ) { - - if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_LINECHART) { - if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) || - ($plotSeriesCount > 1) - ) { - $objWriter->startElement('c:varyColors'); - $objWriter->writeAttribute('val', 1); - $objWriter->endElement(); + if ($groupCount == 1) { + $chartType = array($plotArea->getPlotGroupByIndex(0)->getPlotType()); } else { - $objWriter->startElement('c:varyColors'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); + $chartTypes = array(); + for ($i = 0; $i < $groupCount; ++$i) { + $chartTypes[] = $plotArea->getPlotGroupByIndex($i)->getPlotType(); + } + $chartType = array_unique($chartTypes); + if (count($chartTypes) == 0) { + throw new PHPExcel_Writer_Exception('Chart is not yet implemented'); + } } - } + + return $chartType; } - foreach ($plotSeriesOrder as $plotSeriesIdx => $plotSeriesRef) { - $objWriter->startElement('c:ser'); + /** + * Write Plot Group (series of related plots) + * + * @param PHPExcel_Chart_DataSeries $plotGroup + * @param string $groupType Type of plot for dataseries + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param boolean &$catIsMultiLevelSeries Is category a multi-series category + * @param boolean &$valIsMultiLevelSeries Is value set a multi-series set + * @param string &$plotGroupingType Type of grouping for multi-series values + * @param PHPExcel_Worksheet $pSheet + * + * @throws PHPExcel_Writer_Exception + */ + private function writePlotGroup($plotGroup, $groupType, $objWriter, &$catIsMultiLevelSeries, &$valIsMultiLevelSeries, &$plotGroupingType, PHPExcel_Worksheet $pSheet) + { + if (is_null($plotGroup)) { + return; + } - $objWriter->startElement('c:idx'); - $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesIdx); - $objWriter->endElement(); + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D)) { + $objWriter->startElement('c:barDir'); + $objWriter->writeAttribute('val', $plotGroup->getPlotDirection()); + $objWriter->endElement(); + } - $objWriter->startElement('c:order'); - $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesRef); - $objWriter->endElement(); + if (!is_null($plotGroup->getPlotGrouping())) { + $plotGroupingType = $plotGroup->getPlotGrouping(); + $objWriter->startElement('c:grouping'); + $objWriter->writeAttribute('val', $plotGroupingType); + $objWriter->endElement(); + } - if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) - ) { + // Get these details before the loop, because we can use the count to check for varyColors + $plotSeriesOrder = $plotGroup->getPlotOrder(); + $plotSeriesCount = count($plotSeriesOrder); - $objWriter->startElement('c:dPt'); - $objWriter->startElement('c:idx'); - $objWriter->writeAttribute('val', 3); + if (($groupType !== PHPExcel_Chart_DataSeries::TYPE_RADARCHART) && ($groupType !== PHPExcel_Chart_DataSeries::TYPE_STOCKCHART)) { + if ($groupType !== PHPExcel_Chart_DataSeries::TYPE_LINECHART) { + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) || ($plotSeriesCount > 1)) { + $objWriter->startElement('c:varyColors'); + $objWriter->writeAttribute('val', 1); + $objWriter->endElement(); + } else { + $objWriter->startElement('c:varyColors'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + } + } + + foreach ($plotSeriesOrder as $plotSeriesIdx => $plotSeriesRef) { + $objWriter->startElement('c:ser'); + + $objWriter->startElement('c:idx'); + $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesIdx); + $objWriter->endElement(); + + $objWriter->startElement('c:order'); + $objWriter->writeAttribute('val', $this->_seriesIndex + $plotSeriesRef); + $objWriter->endElement(); + + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART)) { + $objWriter->startElement('c:dPt'); + $objWriter->startElement('c:idx'); + $objWriter->writeAttribute('val', 3); + $objWriter->endElement(); + + $objWriter->startElement('c:bubble3D'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + + $objWriter->startElement('c:spPr'); + $objWriter->startElement('a:solidFill'); + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FF9900'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + } + + // Labels + $plotSeriesLabel = $plotGroup->getPlotLabelByIndex($plotSeriesRef); + if ($plotSeriesLabel && ($plotSeriesLabel->getPointCount() > 0)) { + $objWriter->startElement('c:tx'); + $objWriter->startElement('c:strRef'); + $this->writePlotSeriesLabel($plotSeriesLabel, $objWriter); + $objWriter->endElement(); + $objWriter->endElement(); + } + + // Formatting for the points + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_LINECHART) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART)) { + $objWriter->startElement('c:spPr'); + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', 12700); + if ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { + $objWriter->startElement('a:noFill'); + $objWriter->endElement(); + } + $objWriter->endElement(); + $objWriter->endElement(); + } + + $plotSeriesValues = $plotGroup->getPlotValuesByIndex($plotSeriesRef); + if ($plotSeriesValues) { + $plotSeriesMarker = $plotSeriesValues->getPointMarker(); + if ($plotSeriesMarker) { + $objWriter->startElement('c:marker'); + $objWriter->startElement('c:symbol'); + $objWriter->writeAttribute('val', $plotSeriesMarker); + $objWriter->endElement(); + + if ($plotSeriesMarker !== 'none') { + $objWriter->startElement('c:size'); + $objWriter->writeAttribute('val', 3); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) || ($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) || ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART)) { + $objWriter->startElement('c:invertIfNegative'); + $objWriter->writeAttribute('val', 0); + $objWriter->endElement(); + } + + // Category Labels + $plotSeriesCategory = $plotGroup->getPlotCategoryByIndex($plotSeriesRef); + if ($plotSeriesCategory && ($plotSeriesCategory->getPointCount() > 0)) { + $catIsMultiLevelSeries = $catIsMultiLevelSeries || $plotSeriesCategory->isMultiLevelSeries(); + + if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART)) { + if (!is_null($plotGroup->getPlotStyle())) { + $plotStyle = $plotGroup->getPlotStyle(); + if ($plotStyle) { + $objWriter->startElement('c:explosion'); + $objWriter->writeAttribute('val', 25); + $objWriter->endElement(); + } + } + } + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART)) { + $objWriter->startElement('c:xVal'); + } else { + $objWriter->startElement('c:cat'); + } + + $this->writePlotSeriesValues($plotSeriesCategory, $objWriter, $groupType, 'str', $pSheet); + $objWriter->endElement(); + } + + // Values + if ($plotSeriesValues) { + $valIsMultiLevelSeries = $valIsMultiLevelSeries || $plotSeriesValues->isMultiLevelSeries(); + + if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART)) { + $objWriter->startElement('c:yVal'); + } else { + $objWriter->startElement('c:val'); + } + + $this->writePlotSeriesValues($plotSeriesValues, $objWriter, $groupType, 'num', $pSheet); + $objWriter->endElement(); + } + + if ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { + $this->writeBubbles($plotSeriesValues, $objWriter, $pSheet); + } + + $objWriter->endElement(); + } + + $this->_seriesIndex += $plotSeriesIdx + 1; + } + + /** + * Write Plot Series Label + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesLabel + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writePlotSeriesLabel($plotSeriesLabel, $objWriter) + { + if (is_null($plotSeriesLabel)) { + return; + } + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesLabel->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:strCache'); + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesLabel->getPointCount()); + $objWriter->endElement(); + + foreach ($plotSeriesLabel->getDataValues() as $plotLabelKey => $plotLabelValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotLabelKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotLabelValue); + $objWriter->endElement(); + $objWriter->endElement(); + } + $objWriter->endElement(); + } + + /** + * Write Plot Series Values + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $groupType Type of plot for dataseries + * @param string $dataType Datatype of series values + * @param PHPExcel_Worksheet $pSheet + * + * @throws PHPExcel_Writer_Exception + */ + private function writePlotSeriesValues($plotSeriesValues, $objWriter, $groupType, $dataType = 'str', PHPExcel_Worksheet $pSheet) + { + if (is_null($plotSeriesValues)) { + return; + } + + if ($plotSeriesValues->isMultiLevelSeries()) { + $levelCount = $plotSeriesValues->multiLevelCount(); + + $objWriter->startElement('c:multiLvlStrRef'); + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesValues->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:multiLvlStrCache'); + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + for ($level = 0; $level < $levelCount; ++$level) { + $objWriter->startElement('c:lvl'); + + foreach ($plotSeriesValues->getDataValues() as $plotSeriesKey => $plotSeriesValue) { + if (isset($plotSeriesValue[$level])) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotSeriesValue[$level]); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } else { + $objWriter->startElement('c:' . $dataType . 'Ref'); + + $objWriter->startElement('c:f'); + $objWriter->writeRawData($plotSeriesValues->getDataSource()); + $objWriter->endElement(); + + $objWriter->startElement('c:' . $dataType . 'Cache'); + + if (($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART) && ($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && ($groupType != PHPExcel_Chart_DataSeries::TYPE_DONUTCHART)) { + if (($plotSeriesValues->getFormatCode() !== null) && ($plotSeriesValues->getFormatCode() !== '')) { + $objWriter->startElement('c:formatCode'); + $objWriter->writeRawData($plotSeriesValues->getFormatCode()); + $objWriter->endElement(); + } + } + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + $dataValues = $plotSeriesValues->getDataValues(); + if (!empty($dataValues)) { + if (is_array($dataValues)) { + foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + + $objWriter->startElement('c:v'); + $objWriter->writeRawData($plotSeriesValue); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + + /** + * Write Bubble Chart Details + * + * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writeBubbles($plotSeriesValues, $objWriter, PHPExcel_Worksheet $pSheet) + { + if (is_null($plotSeriesValues)) { + return; + } + + $objWriter->startElement('c:bubbleSize'); + $objWriter->startElement('c:numLit'); + + $objWriter->startElement('c:formatCode'); + $objWriter->writeRawData('General'); + $objWriter->endElement(); + + $objWriter->startElement('c:ptCount'); + $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); + $objWriter->endElement(); + + $dataValues = $plotSeriesValues->getDataValues(); + if (!empty($dataValues)) { + if (is_array($dataValues)) { + foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { + $objWriter->startElement('c:pt'); + $objWriter->writeAttribute('idx', $plotSeriesKey); + $objWriter->startElement('c:v'); + $objWriter->writeRawData(1); + $objWriter->endElement(); + $objWriter->endElement(); + } + } + } + + $objWriter->endElement(); $objWriter->endElement(); $objWriter->startElement('c:bubble3D'); $objWriter->writeAttribute('val', 0); $objWriter->endElement(); + } - $objWriter->startElement('c:spPr'); - $objWriter->startElement('a:solidFill'); - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', 'FF9900'); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - } + /** + * Write Layout + * + * @param PHPExcel_Chart_Layout $layout + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writeLayout(PHPExcel_Chart_Layout $layout = null, $objWriter) + { + $objWriter->startElement('c:layout'); - // Labels - $plotSeriesLabel = $plotGroup->getPlotLabelByIndex($plotSeriesRef); - if ($plotSeriesLabel && ($plotSeriesLabel->getPointCount() > 0)) { - $objWriter->startElement('c:tx'); - $objWriter->startElement('c:strRef'); - $this->_writePlotSeriesLabel($plotSeriesLabel, $objWriter); - $objWriter->endElement(); - $objWriter->endElement(); - } + if (!is_null($layout)) { + $objWriter->startElement('c:manualLayout'); - // Formatting for the points - if (($groupType == PHPExcel_Chart_DataSeries::TYPE_LINECHART) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) - ) { - $objWriter->startElement('c:spPr'); - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', 12700); - if ($groupType == PHPExcel_Chart_DataSeries::TYPE_STOCKCHART) { - $objWriter->startElement('a:noFill'); - $objWriter->endElement(); - } - $objWriter->endElement(); - $objWriter->endElement(); - } - - $plotSeriesValues = $plotGroup->getPlotValuesByIndex($plotSeriesRef); - if ($plotSeriesValues) { - $plotSeriesMarker = $plotSeriesValues->getPointMarker(); - if ($plotSeriesMarker) { - $objWriter->startElement('c:marker'); - $objWriter->startElement('c:symbol'); - $objWriter->writeAttribute('val', $plotSeriesMarker); - $objWriter->endElement(); - - if ($plotSeriesMarker !== 'none') { - $objWriter->startElement('c:size'); - $objWriter->writeAttribute('val', 3); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART) || - ($groupType === PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D) || - ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) - ) { - - $objWriter->startElement('c:invertIfNegative'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - } - - // Category Labels - $plotSeriesCategory = $plotGroup->getPlotCategoryByIndex($plotSeriesRef); - if ($plotSeriesCategory && ($plotSeriesCategory->getPointCount() > 0)) { - $catIsMultiLevelSeries = $catIsMultiLevelSeries || $plotSeriesCategory->isMultiLevelSeries(); - - if (($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) || - ($groupType == PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) - ) { - - if (!is_null($plotGroup->getPlotStyle())) { - $plotStyle = $plotGroup->getPlotStyle(); - if ($plotStyle) { - $objWriter->startElement('c:explosion'); - $objWriter->writeAttribute('val', 25); - $objWriter->endElement(); + $layoutTarget = $layout->getLayoutTarget(); + if (!is_null($layoutTarget)) { + $objWriter->startElement('c:layoutTarget'); + $objWriter->writeAttribute('val', $layoutTarget); + $objWriter->endElement(); } - } - } - if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || - ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) - ) { - $objWriter->startElement('c:xVal'); - } else { - $objWriter->startElement('c:cat'); - } + $xMode = $layout->getXMode(); + if (!is_null($xMode)) { + $objWriter->startElement('c:xMode'); + $objWriter->writeAttribute('val', $xMode); + $objWriter->endElement(); + } - $this->_writePlotSeriesValues($plotSeriesCategory, $objWriter, $groupType, 'str', $pSheet); - $objWriter->endElement(); - } + $yMode = $layout->getYMode(); + if (!is_null($yMode)) { + $objWriter->startElement('c:yMode'); + $objWriter->writeAttribute('val', $yMode); + $objWriter->endElement(); + } - // Values - if ($plotSeriesValues) { - $valIsMultiLevelSeries = $valIsMultiLevelSeries || $plotSeriesValues->isMultiLevelSeries(); + $x = $layout->getXPosition(); + if (!is_null($x)) { + $objWriter->startElement('c:x'); + $objWriter->writeAttribute('val', $x); + $objWriter->endElement(); + } - if (($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) || - ($groupType === PHPExcel_Chart_DataSeries::TYPE_SCATTERCHART) - ) { - $objWriter->startElement('c:yVal'); - } else { - $objWriter->startElement('c:val'); - } + $y = $layout->getYPosition(); + if (!is_null($y)) { + $objWriter->startElement('c:y'); + $objWriter->writeAttribute('val', $y); + $objWriter->endElement(); + } - $this->_writePlotSeriesValues($plotSeriesValues, $objWriter, $groupType, 'num', $pSheet); - $objWriter->endElement(); - } + $w = $layout->getWidth(); + if (!is_null($w)) { + $objWriter->startElement('c:w'); + $objWriter->writeAttribute('val', $w); + $objWriter->endElement(); + } - if ($groupType === PHPExcel_Chart_DataSeries::TYPE_BUBBLECHART) { - $this->_writeBubbles($plotSeriesValues, $objWriter, $pSheet); - } + $h = $layout->getHeight(); + if (!is_null($h)) { + $objWriter->startElement('c:h'); + $objWriter->writeAttribute('val', $h); + $objWriter->endElement(); + } - $objWriter->endElement(); - - } - - $this->_seriesIndex += $plotSeriesIdx + 1; - } - - /** - * Write Plot Series Label - * - * @param PHPExcel_Chart_DataSeriesValues $plotSeriesLabel - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writePlotSeriesLabel($plotSeriesLabel, $objWriter) { - if (is_null($plotSeriesLabel)) { - return; - } - - $objWriter->startElement('c:f'); - $objWriter->writeRawData($plotSeriesLabel->getDataSource()); - $objWriter->endElement(); - - $objWriter->startElement('c:strCache'); - $objWriter->startElement('c:ptCount'); - $objWriter->writeAttribute('val', $plotSeriesLabel->getPointCount()); - $objWriter->endElement(); - - foreach ($plotSeriesLabel->getDataValues() as $plotLabelKey => $plotLabelValue) { - $objWriter->startElement('c:pt'); - $objWriter->writeAttribute('idx', $plotLabelKey); - - $objWriter->startElement('c:v'); - $objWriter->writeRawData($plotLabelValue); - $objWriter->endElement(); - $objWriter->endElement(); - } - $objWriter->endElement(); - - } - - /** - * Write Plot Series Values - * - * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $groupType Type of plot for dataseries - * @param string $dataType Datatype of series values - * @param PHPExcel_Worksheet $pSheet - * - * @throws PHPExcel_Writer_Exception - */ - private function _writePlotSeriesValues($plotSeriesValues, - $objWriter, - $groupType, - $dataType = 'str', - PHPExcel_Worksheet $pSheet - ) { - if (is_null($plotSeriesValues)) { - return; - } - - if ($plotSeriesValues->isMultiLevelSeries()) { - $levelCount = $plotSeriesValues->multiLevelCount(); - - $objWriter->startElement('c:multiLvlStrRef'); - - $objWriter->startElement('c:f'); - $objWriter->writeRawData($plotSeriesValues->getDataSource()); - $objWriter->endElement(); - - $objWriter->startElement('c:multiLvlStrCache'); - - $objWriter->startElement('c:ptCount'); - $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); - $objWriter->endElement(); - - for ($level = 0; $level < $levelCount; ++$level) { - $objWriter->startElement('c:lvl'); - - foreach ($plotSeriesValues->getDataValues() as $plotSeriesKey => $plotSeriesValue) { - if (isset($plotSeriesValue[$level])) { - $objWriter->startElement('c:pt'); - $objWriter->writeAttribute('idx', $plotSeriesKey); - - $objWriter->startElement('c:v'); - $objWriter->writeRawData($plotSeriesValue[$level]); $objWriter->endElement(); - $objWriter->endElement(); - } } $objWriter->endElement(); - } - - $objWriter->endElement(); - - $objWriter->endElement(); - } else { - $objWriter->startElement('c:' . $dataType . 'Ref'); - - $objWriter->startElement('c:f'); - $objWriter->writeRawData($plotSeriesValues->getDataSource()); - $objWriter->endElement(); - - $objWriter->startElement('c:' . $dataType . 'Cache'); - - if (($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART) && - ($groupType != PHPExcel_Chart_DataSeries::TYPE_PIECHART_3D) && - ($groupType != PHPExcel_Chart_DataSeries::TYPE_DONUTCHART) - ) { - - if (($plotSeriesValues->getFormatCode() !== NULL) && - ($plotSeriesValues->getFormatCode() !== '') - ) { - $objWriter->startElement('c:formatCode'); - $objWriter->writeRawData($plotSeriesValues->getFormatCode()); - $objWriter->endElement(); - } - } - - $objWriter->startElement('c:ptCount'); - $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); - $objWriter->endElement(); - - $dataValues = $plotSeriesValues->getDataValues(); - if (!empty($dataValues)) { - if (is_array($dataValues)) { - foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { - $objWriter->startElement('c:pt'); - $objWriter->writeAttribute('idx', $plotSeriesKey); - - $objWriter->startElement('c:v'); - $objWriter->writeRawData($plotSeriesValue); - $objWriter->endElement(); - $objWriter->endElement(); - } - } - } - - $objWriter->endElement(); - - $objWriter->endElement(); - } - } - - /** - * Write Bubble Chart Details - * - * @param PHPExcel_Chart_DataSeriesValues $plotSeriesValues - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeBubbles($plotSeriesValues, $objWriter, PHPExcel_Worksheet $pSheet) { - if (is_null($plotSeriesValues)) { - return; } - $objWriter->startElement('c:bubbleSize'); - $objWriter->startElement('c:numLit'); + /** + * Write Alternate Content block + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writeAlternateContent($objWriter) + { + $objWriter->startElement('mc:AlternateContent'); + $objWriter->writeAttribute('xmlns:mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006'); - $objWriter->startElement('c:formatCode'); - $objWriter->writeRawData('General'); - $objWriter->endElement(); + $objWriter->startElement('mc:Choice'); + $objWriter->writeAttribute('xmlns:c14', 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart'); + $objWriter->writeAttribute('Requires', 'c14'); - $objWriter->startElement('c:ptCount'); - $objWriter->writeAttribute('val', $plotSeriesValues->getPointCount()); - $objWriter->endElement(); + $objWriter->startElement('c14:style'); + $objWriter->writeAttribute('val', '102'); + $objWriter->endElement(); + $objWriter->endElement(); - $dataValues = $plotSeriesValues->getDataValues(); - if (!empty($dataValues)) { - if (is_array($dataValues)) { - foreach ($dataValues as $plotSeriesKey => $plotSeriesValue) { - $objWriter->startElement('c:pt'); - $objWriter->writeAttribute('idx', $plotSeriesKey); - $objWriter->startElement('c:v'); - $objWriter->writeRawData(1); - $objWriter->endElement(); - $objWriter->endElement(); - } - } + $objWriter->startElement('mc:Fallback'); + $objWriter->startElement('c:style'); + $objWriter->writeAttribute('val', '2'); + $objWriter->endElement(); + $objWriter->endElement(); + + $objWriter->endElement(); } - $objWriter->endElement(); - $objWriter->endElement(); + /** + * Write Printer Settings + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * + * @throws PHPExcel_Writer_Exception + */ + private function writePrintSettings($objWriter) + { + $objWriter->startElement('c:printSettings'); - $objWriter->startElement('c:bubble3D'); - $objWriter->writeAttribute('val', 0); - $objWriter->endElement(); - } - - /** - * Write Layout - * - * @param PHPExcel_Chart_Layout $layout - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeLayout(PHPExcel_Chart_Layout $layout = NULL, $objWriter) { - $objWriter->startElement('c:layout'); - - if (!is_null($layout)) { - $objWriter->startElement('c:manualLayout'); - - $layoutTarget = $layout->getLayoutTarget(); - if (!is_null($layoutTarget)) { - $objWriter->startElement('c:layoutTarget'); - $objWriter->writeAttribute('val', $layoutTarget); + $objWriter->startElement('c:headerFooter'); $objWriter->endElement(); - } - $xMode = $layout->getXMode(); - if (!is_null($xMode)) { - $objWriter->startElement('c:xMode'); - $objWriter->writeAttribute('val', $xMode); + $objWriter->startElement('c:pageMargins'); + $objWriter->writeAttribute('footer', 0.3); + $objWriter->writeAttribute('header', 0.3); + $objWriter->writeAttribute('r', 0.7); + $objWriter->writeAttribute('l', 0.7); + $objWriter->writeAttribute('t', 0.75); + $objWriter->writeAttribute('b', 0.75); $objWriter->endElement(); - } - $yMode = $layout->getYMode(); - if (!is_null($yMode)) { - $objWriter->startElement('c:yMode'); - $objWriter->writeAttribute('val', $yMode); + $objWriter->startElement('c:pageSetup'); + $objWriter->writeAttribute('orientation', "portrait"); $objWriter->endElement(); - } - $x = $layout->getXPosition(); - if (!is_null($x)) { - $objWriter->startElement('c:x'); - $objWriter->writeAttribute('val', $x); $objWriter->endElement(); - } - - $y = $layout->getYPosition(); - if (!is_null($y)) { - $objWriter->startElement('c:y'); - $objWriter->writeAttribute('val', $y); - $objWriter->endElement(); - } - - $w = $layout->getWidth(); - if (!is_null($w)) { - $objWriter->startElement('c:w'); - $objWriter->writeAttribute('val', $w); - $objWriter->endElement(); - } - - $h = $layout->getHeight(); - if (!is_null($h)) { - $objWriter->startElement('c:h'); - $objWriter->writeAttribute('val', $h); - $objWriter->endElement(); - } - - $objWriter->endElement(); } - - $objWriter->endElement(); - } - - /** - * Write Alternate Content block - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writeAlternateContent($objWriter) { - $objWriter->startElement('mc:AlternateContent'); - $objWriter->writeAttribute('xmlns:mc', 'http://schemas.openxmlformats.org/markup-compatibility/2006'); - - $objWriter->startElement('mc:Choice'); - $objWriter->writeAttribute('xmlns:c14', 'http://schemas.microsoft.com/office/drawing/2007/8/2/chart'); - $objWriter->writeAttribute('Requires', 'c14'); - - $objWriter->startElement('c14:style'); - $objWriter->writeAttribute('val', '102'); - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->startElement('mc:Fallback'); - $objWriter->startElement('c:style'); - $objWriter->writeAttribute('val', '2'); - $objWriter->endElement(); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write Printer Settings - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * - * @throws PHPExcel_Writer_Exception - */ - private function _writePrintSettings($objWriter) { - $objWriter->startElement('c:printSettings'); - - $objWriter->startElement('c:headerFooter'); - $objWriter->endElement(); - - $objWriter->startElement('c:pageMargins'); - $objWriter->writeAttribute('footer', 0.3); - $objWriter->writeAttribute('header', 0.3); - $objWriter->writeAttribute('r', 0.7); - $objWriter->writeAttribute('l', 0.7); - $objWriter->writeAttribute('t', 0.75); - $objWriter->writeAttribute('b', 0.75); - $objWriter->endElement(); - - $objWriter->startElement('c:pageSetup'); - $objWriter->writeAttribute('orientation', "portrait"); - $objWriter->endElement(); - - $objWriter->endElement(); - } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php index dc809fa8e..7139f6c49 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Comments.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Comments * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,249 +21,240 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_Comments - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_Comments extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write comments to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeComments(PHPExcel_Worksheet $pWorksheet = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write comments to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeComments(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Comments cache - $comments = $pWorksheet->getComments(); + // Comments cache + $comments = $pWorksheet->getComments(); - // Authors cache - $authors = array(); - $authorId = 0; - foreach ($comments as $comment) { - if (!isset($authors[$comment->getAuthor()])) { - $authors[$comment->getAuthor()] = $authorId++; - } - } + // Authors cache + $authors = array(); + $authorId = 0; + foreach ($comments as $comment) { + if (!isset($authors[$comment->getAuthor()])) { + $authors[$comment->getAuthor()] = $authorId++; + } + } - // comments - $objWriter->startElement('comments'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + // comments + $objWriter->startElement('comments'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); - // Loop through authors - $objWriter->startElement('authors'); - foreach ($authors as $author => $index) { - $objWriter->writeElement('author', $author); - } - $objWriter->endElement(); + // Loop through authors + $objWriter->startElement('authors'); + foreach ($authors as $author => $index) { + $objWriter->writeElement('author', $author); + } + $objWriter->endElement(); - // Loop through comments - $objWriter->startElement('commentList'); - foreach ($comments as $key => $value) { - $this->_writeComment($objWriter, $key, $value, $authors); - } - $objWriter->endElement(); + // Loop through comments + $objWriter->startElement('commentList'); + foreach ($comments as $key => $value) { + $this->writeComment($objWriter, $key, $value, $authors); + } + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write comment to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pCellReference Cell reference - * @param PHPExcel_Comment $pComment Comment - * @param array $pAuthors Array of authors - * @throws PHPExcel_Writer_Exception - */ - public function _writeComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null, $pAuthors = null) - { - // comment - $objWriter->startElement('comment'); - $objWriter->writeAttribute('ref', $pCellReference); - $objWriter->writeAttribute('authorId', $pAuthors[$pComment->getAuthor()]); + /** + * Write comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pCellReference Cell reference + * @param PHPExcel_Comment $pComment Comment + * @param array $pAuthors Array of authors + * @throws PHPExcel_Writer_Exception + */ + private function writeComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null, $pAuthors = null) + { + // comment + $objWriter->startElement('comment'); + $objWriter->writeAttribute('ref', $pCellReference); + $objWriter->writeAttribute('authorId', $pAuthors[$pComment->getAuthor()]); - // text - $objWriter->startElement('text'); - $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $pComment->getText()); - $objWriter->endElement(); + // text + $objWriter->startElement('text'); + $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $pComment->getText()); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write VML comments to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeVMLComments(PHPExcel_Worksheet $pWorksheet = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write VML comments to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVMLComments(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Comments cache - $comments = $pWorksheet->getComments(); + // Comments cache + $comments = $pWorksheet->getComments(); - // xml - $objWriter->startElement('xml'); - $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); - $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); - $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); + // xml + $objWriter->startElement('xml'); + $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); + $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); + $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); - // o:shapelayout - $objWriter->startElement('o:shapelayout'); - $objWriter->writeAttribute('v:ext', 'edit'); + // o:shapelayout + $objWriter->startElement('o:shapelayout'); + $objWriter->writeAttribute('v:ext', 'edit'); - // o:idmap - $objWriter->startElement('o:idmap'); - $objWriter->writeAttribute('v:ext', 'edit'); - $objWriter->writeAttribute('data', '1'); - $objWriter->endElement(); + // o:idmap + $objWriter->startElement('o:idmap'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('data', '1'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // v:shapetype - $objWriter->startElement('v:shapetype'); - $objWriter->writeAttribute('id', '_x0000_t202'); - $objWriter->writeAttribute('coordsize', '21600,21600'); - $objWriter->writeAttribute('o:spt', '202'); - $objWriter->writeAttribute('path', 'm,l,21600r21600,l21600,xe'); + // v:shapetype + $objWriter->startElement('v:shapetype'); + $objWriter->writeAttribute('id', '_x0000_t202'); + $objWriter->writeAttribute('coordsize', '21600,21600'); + $objWriter->writeAttribute('o:spt', '202'); + $objWriter->writeAttribute('path', 'm,l,21600r21600,l21600,xe'); - // v:stroke - $objWriter->startElement('v:stroke'); - $objWriter->writeAttribute('joinstyle', 'miter'); - $objWriter->endElement(); + // v:stroke + $objWriter->startElement('v:stroke'); + $objWriter->writeAttribute('joinstyle', 'miter'); + $objWriter->endElement(); - // v:path - $objWriter->startElement('v:path'); - $objWriter->writeAttribute('gradientshapeok', 't'); - $objWriter->writeAttribute('o:connecttype', 'rect'); - $objWriter->endElement(); + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('gradientshapeok', 't'); + $objWriter->writeAttribute('o:connecttype', 'rect'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // Loop through comments - foreach ($comments as $key => $value) { - $this->_writeVMLComment($objWriter, $key, $value); - } + // Loop through comments + foreach ($comments as $key => $value) { + $this->writeVMLComment($objWriter, $key, $value); + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write VML comment to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pCellReference Cell reference - * @param PHPExcel_Comment $pComment Comment - * @throws PHPExcel_Writer_Exception - */ - public function _writeVMLComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null) - { - // Metadata - list($column, $row) = PHPExcel_Cell::coordinateFromString($pCellReference); - $column = PHPExcel_Cell::columnIndexFromString($column); - $id = 1024 + $column + $row; - $id = substr($id, 0, 4); + /** + * Write VML comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pCellReference Cell reference + * @param PHPExcel_Comment $pComment Comment + * @throws PHPExcel_Writer_Exception + */ + private function writeVMLComment(PHPExcel_Shared_XMLWriter $objWriter = null, $pCellReference = 'A1', PHPExcel_Comment $pComment = null) + { + // Metadata + list($column, $row) = PHPExcel_Cell::coordinateFromString($pCellReference); + $column = PHPExcel_Cell::columnIndexFromString($column); + $id = 1024 + $column + $row; + $id = substr($id, 0, 4); - // v:shape - $objWriter->startElement('v:shape'); - $objWriter->writeAttribute('id', '_x0000_s' . $id); - $objWriter->writeAttribute('type', '#_x0000_t202'); - $objWriter->writeAttribute('style', 'position:absolute;margin-left:' . $pComment->getMarginLeft() . ';margin-top:' . $pComment->getMarginTop() . ';width:' . $pComment->getWidth() . ';height:' . $pComment->getHeight() . ';z-index:1;visibility:' . ($pComment->getVisible() ? 'visible' : 'hidden')); - $objWriter->writeAttribute('fillcolor', '#' . $pComment->getFillColor()->getRGB()); - $objWriter->writeAttribute('o:insetmode', 'auto'); + // v:shape + $objWriter->startElement('v:shape'); + $objWriter->writeAttribute('id', '_x0000_s' . $id); + $objWriter->writeAttribute('type', '#_x0000_t202'); + $objWriter->writeAttribute('style', 'position:absolute;margin-left:' . $pComment->getMarginLeft() . ';margin-top:' . $pComment->getMarginTop() . ';width:' . $pComment->getWidth() . ';height:' . $pComment->getHeight() . ';z-index:1;visibility:' . ($pComment->getVisible() ? 'visible' : 'hidden')); + $objWriter->writeAttribute('fillcolor', '#' . $pComment->getFillColor()->getRGB()); + $objWriter->writeAttribute('o:insetmode', 'auto'); - // v:fill - $objWriter->startElement('v:fill'); - $objWriter->writeAttribute('color2', '#' . $pComment->getFillColor()->getRGB()); - $objWriter->endElement(); + // v:fill + $objWriter->startElement('v:fill'); + $objWriter->writeAttribute('color2', '#' . $pComment->getFillColor()->getRGB()); + $objWriter->endElement(); - // v:shadow - $objWriter->startElement('v:shadow'); - $objWriter->writeAttribute('on', 't'); - $objWriter->writeAttribute('color', 'black'); - $objWriter->writeAttribute('obscured', 't'); - $objWriter->endElement(); + // v:shadow + $objWriter->startElement('v:shadow'); + $objWriter->writeAttribute('on', 't'); + $objWriter->writeAttribute('color', 'black'); + $objWriter->writeAttribute('obscured', 't'); + $objWriter->endElement(); - // v:path - $objWriter->startElement('v:path'); - $objWriter->writeAttribute('o:connecttype', 'none'); - $objWriter->endElement(); + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('o:connecttype', 'none'); + $objWriter->endElement(); - // v:textbox - $objWriter->startElement('v:textbox'); - $objWriter->writeAttribute('style', 'mso-direction-alt:auto'); + // v:textbox + $objWriter->startElement('v:textbox'); + $objWriter->writeAttribute('style', 'mso-direction-alt:auto'); - // div - $objWriter->startElement('div'); - $objWriter->writeAttribute('style', 'text-align:left'); - $objWriter->endElement(); + // div + $objWriter->startElement('div'); + $objWriter->writeAttribute('style', 'text-align:left'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // x:ClientData - $objWriter->startElement('x:ClientData'); - $objWriter->writeAttribute('ObjectType', 'Note'); + // x:ClientData + $objWriter->startElement('x:ClientData'); + $objWriter->writeAttribute('ObjectType', 'Note'); - // x:MoveWithCells - $objWriter->writeElement('x:MoveWithCells', ''); + // x:MoveWithCells + $objWriter->writeElement('x:MoveWithCells', ''); - // x:SizeWithCells - $objWriter->writeElement('x:SizeWithCells', ''); + // x:SizeWithCells + $objWriter->writeElement('x:SizeWithCells', ''); - // x:Anchor - //$objWriter->writeElement('x:Anchor', $column . ', 15, ' . ($row - 2) . ', 10, ' . ($column + 4) . ', 15, ' . ($row + 5) . ', 18'); + // x:Anchor + //$objWriter->writeElement('x:Anchor', $column . ', 15, ' . ($row - 2) . ', 10, ' . ($column + 4) . ', 15, ' . ($row + 5) . ', 18'); - // x:AutoFill - $objWriter->writeElement('x:AutoFill', 'False'); + // x:AutoFill + $objWriter->writeElement('x:AutoFill', 'False'); - // x:Row - $objWriter->writeElement('x:Row', ($row - 1)); + // x:Row + $objWriter->writeElement('x:Row', ($row - 1)); - // x:Column - $objWriter->writeElement('x:Column', ($column - 1)); + // x:Column + $objWriter->writeElement('x:Column', ($column - 1)); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php index 557853654..0d9118990 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/ContentTypes.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_ContentTypes * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,268 +21,220 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_ContentTypes - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_ContentTypes extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write content types to XML format - * - * @param PHPExcel $pPHPExcel - * @param boolean $includeCharts Flag indicating if we should include drawing details for charts - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeContentTypes(PHPExcel $pPHPExcel = null, $includeCharts = FALSE) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write content types to XML format + * + * @param PHPExcel $pPHPExcel + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeContentTypes(PHPExcel $pPHPExcel = null, $includeCharts = false) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Types - $objWriter->startElement('Types'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types'); + // Types + $objWriter->startElement('Types'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types'); - // Theme - $this->_writeOverrideContentType( - $objWriter, '/xl/theme/theme1.xml', 'application/vnd.openxmlformats-officedocument.theme+xml' - ); + // Theme + $this->writeOverrideContentType($objWriter, '/xl/theme/theme1.xml', 'application/vnd.openxmlformats-officedocument.theme+xml'); - // Styles - $this->_writeOverrideContentType( - $objWriter, '/xl/styles.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' - ); + // Styles + $this->writeOverrideContentType($objWriter, '/xl/styles.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'); - // Rels - $this->_writeDefaultContentType( - $objWriter, 'rels', 'application/vnd.openxmlformats-package.relationships+xml' - ); + // Rels + $this->writeDefaultContentType($objWriter, 'rels', 'application/vnd.openxmlformats-package.relationships+xml'); - // XML - $this->_writeDefaultContentType( - $objWriter, 'xml', 'application/xml' - ); + // XML + $this->writeDefaultContentType($objWriter, 'xml', 'application/xml'); - // VML - $this->_writeDefaultContentType( - $objWriter, 'vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing' - ); + // VML + $this->writeDefaultContentType($objWriter, 'vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'); - // Workbook - if($pPHPExcel->hasMacros()){ //Macros in workbook ? - // Yes : not standard content but "macroEnabled" - $this->_writeOverrideContentType( - $objWriter, '/xl/workbook.xml', 'application/vnd.ms-excel.sheet.macroEnabled.main+xml' - ); - //... and define a new type for the VBA project - $this->_writeDefaultContentType( - $objWriter, 'bin', 'application/vnd.ms-office.vbaProject' - ); - if($pPHPExcel->hasMacrosCertificate()){// signed macros ? - // Yes : add needed information - $this->_writeOverrideContentType( - $objWriter, '/xl/vbaProjectSignature.bin', 'application/vnd.ms-office.vbaProjectSignature' - ); - } - }else{// no macros in workbook, so standard type - $this->_writeOverrideContentType( - $objWriter, '/xl/workbook.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' - ); - } + // Workbook + if ($pPHPExcel->hasMacros()) { //Macros in workbook ? + // Yes : not standard content but "macroEnabled" + $this->writeOverrideContentType($objWriter, '/xl/workbook.xml', 'application/vnd.ms-excel.sheet.macroEnabled.main+xml'); + //... and define a new type for the VBA project + $this->writeDefaultContentType($objWriter, 'bin', 'application/vnd.ms-office.vbaProject'); + if ($pPHPExcel->hasMacrosCertificate()) {// signed macros ? + // Yes : add needed information + $this->writeOverrideContentType($objWriter, '/xl/vbaProjectSignature.bin', 'application/vnd.ms-office.vbaProjectSignature'); + } + } else {// no macros in workbook, so standard type + $this->writeOverrideContentType($objWriter, '/xl/workbook.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'); + } - // DocProps - $this->_writeOverrideContentType( - $objWriter, '/docProps/app.xml', 'application/vnd.openxmlformats-officedocument.extended-properties+xml' - ); + // DocProps + $this->writeOverrideContentType($objWriter, '/docProps/app.xml', 'application/vnd.openxmlformats-officedocument.extended-properties+xml'); - $this->_writeOverrideContentType( - $objWriter, '/docProps/core.xml', 'application/vnd.openxmlformats-package.core-properties+xml' - ); + $this->writeOverrideContentType($objWriter, '/docProps/core.xml', 'application/vnd.openxmlformats-package.core-properties+xml'); - $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); - if (!empty($customPropertyList)) { - $this->_writeOverrideContentType( - $objWriter, '/docProps/custom.xml', 'application/vnd.openxmlformats-officedocument.custom-properties+xml' - ); - } + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (!empty($customPropertyList)) { + $this->writeOverrideContentType($objWriter, '/docProps/custom.xml', 'application/vnd.openxmlformats-officedocument.custom-properties+xml'); + } - // Worksheets - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - $this->_writeOverrideContentType( - $objWriter, '/xl/worksheets/sheet' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' - ); - } + // Worksheets + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $this->writeOverrideContentType($objWriter, '/xl/worksheets/sheet' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'); + } - // Shared strings - $this->_writeOverrideContentType( - $objWriter, '/xl/sharedStrings.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml' - ); + // Shared strings + $this->writeOverrideContentType($objWriter, '/xl/sharedStrings.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'); - // Add worksheet relationship content types - $chart = 1; - for ($i = 0; $i < $sheetCount; ++$i) { - $drawings = $pPHPExcel->getSheet($i)->getDrawingCollection(); - $drawingCount = count($drawings); - $chartCount = ($includeCharts) ? $pPHPExcel->getSheet($i)->getChartCount() : 0; + // Add worksheet relationship content types + $chart = 1; + for ($i = 0; $i < $sheetCount; ++$i) { + $drawings = $pPHPExcel->getSheet($i)->getDrawingCollection(); + $drawingCount = count($drawings); + $chartCount = ($includeCharts) ? $pPHPExcel->getSheet($i)->getChartCount() : 0; - // We need a drawing relationship for the worksheet if we have either drawings or charts - if (($drawingCount > 0) || ($chartCount > 0)) { - $this->_writeOverrideContentType( - $objWriter, '/xl/drawings/drawing' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.drawing+xml' - ); - } + // We need a drawing relationship for the worksheet if we have either drawings or charts + if (($drawingCount > 0) || ($chartCount > 0)) { + $this->writeOverrideContentType($objWriter, '/xl/drawings/drawing' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.drawing+xml'); + } - // If we have charts, then we need a chart relationship for every individual chart - if ($chartCount > 0) { - for ($c = 0; $c < $chartCount; ++$c) { - $this->_writeOverrideContentType( - $objWriter, '/xl/charts/chart' . $chart++ . '.xml', 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml' - ); - } - } - } + // If we have charts, then we need a chart relationship for every individual chart + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->writeOverrideContentType($objWriter, '/xl/charts/chart' . $chart++ . '.xml', 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'); + } + } + } - // Comments - for ($i = 0; $i < $sheetCount; ++$i) { - if (count($pPHPExcel->getSheet($i)->getComments()) > 0) { - $this->_writeOverrideContentType( - $objWriter, '/xl/comments' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml' - ); - } - } + // Comments + for ($i = 0; $i < $sheetCount; ++$i) { + if (count($pPHPExcel->getSheet($i)->getComments()) > 0) { + $this->writeOverrideContentType($objWriter, '/xl/comments' . ($i + 1) . '.xml', 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'); + } + } - // Add media content-types - $aMediaContentTypes = array(); - $mediaCount = $this->getParentWriter()->getDrawingHashTable()->count(); - for ($i = 0; $i < $mediaCount; ++$i) { - $extension = ''; - $mimeType = ''; + // Add media content-types + $aMediaContentTypes = array(); + $mediaCount = $this->getParentWriter()->getDrawingHashTable()->count(); + for ($i = 0; $i < $mediaCount; ++$i) { + $extension = ''; + $mimeType = ''; - if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { - $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getExtension()); - $mimeType = $this->_getImageMimeType( $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getPath() ); - } else if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { - $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType()); - $extension = explode('/', $extension); - $extension = $extension[1]; + if ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_Drawing) { + $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getExtension()); + $mimeType = $this->getImageMimeType($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getPath()); + } elseif ($this->getParentWriter()->getDrawingHashTable()->getByIndex($i) instanceof PHPExcel_Worksheet_MemoryDrawing) { + $extension = strtolower($this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType()); + $extension = explode('/', $extension); + $extension = $extension[1]; - $mimeType = $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType(); - } + $mimeType = $this->getParentWriter()->getDrawingHashTable()->getByIndex($i)->getMimeType(); + } - if (!isset( $aMediaContentTypes[$extension]) ) { - $aMediaContentTypes[$extension] = $mimeType; + if (!isset( $aMediaContentTypes[$extension])) { + $aMediaContentTypes[$extension] = $mimeType; - $this->_writeDefaultContentType( - $objWriter, $extension, $mimeType - ); - } - } - if($pPHPExcel->hasRibbonBinObjects()){//Some additional objects in the ribbon ? - //we need to write "Extension" but not already write for media content - $tabRibbonTypes=array_diff($pPHPExcel->getRibbonBinObjects('types'), array_keys($aMediaContentTypes)); - foreach($tabRibbonTypes as $aRibbonType){ - $mimeType='image/.'.$aRibbonType;//we wrote $mimeType like customUI Editor - $this->_writeDefaultContentType( - $objWriter, $aRibbonType, $mimeType - ); - } - } - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - if (count($pPHPExcel->getSheet()->getHeaderFooter()->getImages()) > 0) { - foreach ($pPHPExcel->getSheet()->getHeaderFooter()->getImages() as $image) { - if (!isset( $aMediaContentTypes[strtolower($image->getExtension())]) ) { - $aMediaContentTypes[strtolower($image->getExtension())] = $this->_getImageMimeType( $image->getPath() ); + $this->writeDefaultContentType($objWriter, $extension, $mimeType); + } + } + if ($pPHPExcel->hasRibbonBinObjects()) { + // Some additional objects in the ribbon ? + // we need to write "Extension" but not already write for media content + $tabRibbonTypes=array_diff($pPHPExcel->getRibbonBinObjects('types'), array_keys($aMediaContentTypes)); + foreach ($tabRibbonTypes as $aRibbonType) { + $mimeType='image/.'.$aRibbonType;//we wrote $mimeType like customUI Editor + $this->writeDefaultContentType($objWriter, $aRibbonType, $mimeType); + } + } + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + if (count($pPHPExcel->getSheet()->getHeaderFooter()->getImages()) > 0) { + foreach ($pPHPExcel->getSheet()->getHeaderFooter()->getImages() as $image) { + if (!isset( $aMediaContentTypes[strtolower($image->getExtension())])) { + $aMediaContentTypes[strtolower($image->getExtension())] = $this->getImageMimeType($image->getPath()); - $this->_writeDefaultContentType( - $objWriter, strtolower($image->getExtension()), $aMediaContentTypes[strtolower($image->getExtension())] - ); - } - } - } - } + $this->writeDefaultContentType($objWriter, strtolower($image->getExtension()), $aMediaContentTypes[strtolower($image->getExtension())]); + } + } + } + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Get image mime type - * - * @param string $pFile Filename - * @return string Mime Type - * @throws PHPExcel_Writer_Exception - */ - private function _getImageMimeType($pFile = '') - { - if (PHPExcel_Shared_File::file_exists($pFile)) { - $image = getimagesize($pFile); - return image_type_to_mime_type($image[2]); - } else { - throw new PHPExcel_Writer_Exception("File $pFile does not exist"); - } - } + /** + * Get image mime type + * + * @param string $pFile Filename + * @return string Mime Type + * @throws PHPExcel_Writer_Exception + */ + private function getImageMimeType($pFile = '') + { + if (PHPExcel_Shared_File::file_exists($pFile)) { + $image = getimagesize($pFile); + return image_type_to_mime_type($image[2]); + } else { + throw new PHPExcel_Writer_Exception("File $pFile does not exist"); + } + } - /** - * Write Default content type - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pPartname Part name - * @param string $pContentType Content type - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefaultContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') - { - if ($pPartname != '' && $pContentType != '') { - // Write content type - $objWriter->startElement('Default'); - $objWriter->writeAttribute('Extension', $pPartname); - $objWriter->writeAttribute('ContentType', $pContentType); - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + /** + * Write Default content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pPartname Part name + * @param string $pContentType Content type + * @throws PHPExcel_Writer_Exception + */ + private function writeDefaultContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') + { + if ($pPartname != '' && $pContentType != '') { + // Write content type + $objWriter->startElement('Default'); + $objWriter->writeAttribute('Extension', $pPartname); + $objWriter->writeAttribute('ContentType', $pContentType); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } - /** - * Write Override content type - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pPartname Part name - * @param string $pContentType Content type - * @throws PHPExcel_Writer_Exception - */ - private function _writeOverrideContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') - { - if ($pPartname != '' && $pContentType != '') { - // Write content type - $objWriter->startElement('Override'); - $objWriter->writeAttribute('PartName', $pPartname); - $objWriter->writeAttribute('ContentType', $pContentType); - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + /** + * Write Override content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pPartname Part name + * @param string $pContentType Content type + * @throws PHPExcel_Writer_Exception + */ + private function writeOverrideContentType(PHPExcel_Shared_XMLWriter $objWriter = null, $pPartname = '', $pContentType = '') + { + if ($pPartname != '' && $pContentType != '') { + // Write content type + $objWriter->startElement('Override'); + $objWriter->writeAttribute('PartName', $pPartname); + $objWriter->writeAttribute('ContentType', $pContentType); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php index f8821379c..fef3d9371 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_DocProps * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,253 +21,242 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_DocProps - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_DocProps extends PHPExcel_Writer_Excel2007_WriterPart { -/** - * Write docProps/app.xml to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeDocPropsApp(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write docProps/app.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsApp(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Properties - $objWriter->startElement('Properties'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties'); - $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + // Properties + $objWriter->startElement('Properties'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties'); + $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); - // Application - $objWriter->writeElement('Application', 'Microsoft Excel'); + // Application + $objWriter->writeElement('Application', 'Microsoft Excel'); - // DocSecurity - $objWriter->writeElement('DocSecurity', '0'); + // DocSecurity + $objWriter->writeElement('DocSecurity', '0'); - // ScaleCrop - $objWriter->writeElement('ScaleCrop', 'false'); + // ScaleCrop + $objWriter->writeElement('ScaleCrop', 'false'); - // HeadingPairs - $objWriter->startElement('HeadingPairs'); + // HeadingPairs + $objWriter->startElement('HeadingPairs'); - // Vector - $objWriter->startElement('vt:vector'); - $objWriter->writeAttribute('size', '2'); - $objWriter->writeAttribute('baseType', 'variant'); + // Vector + $objWriter->startElement('vt:vector'); + $objWriter->writeAttribute('size', '2'); + $objWriter->writeAttribute('baseType', 'variant'); - // Variant - $objWriter->startElement('vt:variant'); - $objWriter->writeElement('vt:lpstr', 'Worksheets'); - $objWriter->endElement(); + // Variant + $objWriter->startElement('vt:variant'); + $objWriter->writeElement('vt:lpstr', 'Worksheets'); + $objWriter->endElement(); - // Variant - $objWriter->startElement('vt:variant'); - $objWriter->writeElement('vt:i4', $pPHPExcel->getSheetCount()); - $objWriter->endElement(); + // Variant + $objWriter->startElement('vt:variant'); + $objWriter->writeElement('vt:i4', $pPHPExcel->getSheetCount()); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // TitlesOfParts - $objWriter->startElement('TitlesOfParts'); + // TitlesOfParts + $objWriter->startElement('TitlesOfParts'); - // Vector - $objWriter->startElement('vt:vector'); - $objWriter->writeAttribute('size', $pPHPExcel->getSheetCount()); - $objWriter->writeAttribute('baseType', 'lpstr'); + // Vector + $objWriter->startElement('vt:vector'); + $objWriter->writeAttribute('size', $pPHPExcel->getSheetCount()); + $objWriter->writeAttribute('baseType', 'lpstr'); - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - $objWriter->writeElement('vt:lpstr', $pPHPExcel->getSheet($i)->getTitle()); - } + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $objWriter->writeElement('vt:lpstr', $pPHPExcel->getSheet($i)->getTitle()); + } - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // Company - $objWriter->writeElement('Company', $pPHPExcel->getProperties()->getCompany()); + // Company + $objWriter->writeElement('Company', $pPHPExcel->getProperties()->getCompany()); - // Company - $objWriter->writeElement('Manager', $pPHPExcel->getProperties()->getManager()); + // Company + $objWriter->writeElement('Manager', $pPHPExcel->getProperties()->getManager()); - // LinksUpToDate - $objWriter->writeElement('LinksUpToDate', 'false'); + // LinksUpToDate + $objWriter->writeElement('LinksUpToDate', 'false'); - // SharedDoc - $objWriter->writeElement('SharedDoc', 'false'); + // SharedDoc + $objWriter->writeElement('SharedDoc', 'false'); - // HyperlinksChanged - $objWriter->writeElement('HyperlinksChanged', 'false'); + // HyperlinksChanged + $objWriter->writeElement('HyperlinksChanged', 'false'); - // AppVersion - $objWriter->writeElement('AppVersion', '12.0000'); + // AppVersion + $objWriter->writeElement('AppVersion', '12.0000'); - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write docProps/core.xml to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeDocPropsCore(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write docProps/core.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsCore(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // cp:coreProperties - $objWriter->startElement('cp:coreProperties'); - $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); - $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); - $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); - $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); - $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); + // cp:coreProperties + $objWriter->startElement('cp:coreProperties'); + $objWriter->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/'); + $objWriter->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/'); + $objWriter->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'); - // dc:creator - $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); + // dc:creator + $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); - // cp:lastModifiedBy - $objWriter->writeElement('cp:lastModifiedBy', $pPHPExcel->getProperties()->getLastModifiedBy()); + // cp:lastModifiedBy + $objWriter->writeElement('cp:lastModifiedBy', $pPHPExcel->getProperties()->getLastModifiedBy()); - // dcterms:created - $objWriter->startElement('dcterms:created'); - $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); - $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); - $objWriter->endElement(); + // dcterms:created + $objWriter->startElement('dcterms:created'); + $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); + $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->endElement(); - // dcterms:modified - $objWriter->startElement('dcterms:modified'); - $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); - $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getModified())); - $objWriter->endElement(); + // dcterms:modified + $objWriter->startElement('dcterms:modified'); + $objWriter->writeAttribute('xsi:type', 'dcterms:W3CDTF'); + $objWriter->writeRawData(date(DATE_W3C, $pPHPExcel->getProperties()->getModified())); + $objWriter->endElement(); - // dc:title - $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); + // dc:title + $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); - // dc:description - $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); + // dc:description + $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); - // dc:subject - $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); + // dc:subject + $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); - // cp:keywords - $objWriter->writeElement('cp:keywords', $pPHPExcel->getProperties()->getKeywords()); + // cp:keywords + $objWriter->writeElement('cp:keywords', $pPHPExcel->getProperties()->getKeywords()); - // cp:category - $objWriter->writeElement('cp:category', $pPHPExcel->getProperties()->getCategory()); + // cp:category + $objWriter->writeElement('cp:category', $pPHPExcel->getProperties()->getCategory()); - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write docProps/custom.xml to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeDocPropsCustom(PHPExcel $pPHPExcel = null) - { - $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); - if (empty($customPropertyList)) { - return; - } + /** + * Write docProps/custom.xml to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDocPropsCustom(PHPExcel $pPHPExcel = null) + { + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (empty($customPropertyList)) { + return; + } - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // cp:coreProperties - $objWriter->startElement('Properties'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties'); - $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); + // cp:coreProperties + $objWriter->startElement('Properties'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties'); + $objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes'); - foreach($customPropertyList as $key => $customProperty) { - $propertyValue = $pPHPExcel->getProperties()->getCustomPropertyValue($customProperty); - $propertyType = $pPHPExcel->getProperties()->getCustomPropertyType($customProperty); + foreach ($customPropertyList as $key => $customProperty) { + $propertyValue = $pPHPExcel->getProperties()->getCustomPropertyValue($customProperty); + $propertyType = $pPHPExcel->getProperties()->getCustomPropertyType($customProperty); - $objWriter->startElement('property'); - $objWriter->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}'); - $objWriter->writeAttribute('pid', $key+2); - $objWriter->writeAttribute('name', $customProperty); + $objWriter->startElement('property'); + $objWriter->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}'); + $objWriter->writeAttribute('pid', $key+2); + $objWriter->writeAttribute('name', $customProperty); - switch($propertyType) { - case 'i' : - $objWriter->writeElement('vt:i4', $propertyValue); - break; - case 'f' : - $objWriter->writeElement('vt:r8', $propertyValue); - break; - case 'b' : - $objWriter->writeElement('vt:bool', ($propertyValue) ? 'true' : 'false'); - break; - case 'd' : - $objWriter->startElement('vt:filetime'); - $objWriter->writeRawData(date(DATE_W3C, $propertyValue)); - $objWriter->endElement(); - break; - default : - $objWriter->writeElement('vt:lpwstr', $propertyValue); - break; - } + switch ($propertyType) { + case 'i': + $objWriter->writeElement('vt:i4', $propertyValue); + break; + case 'f': + $objWriter->writeElement('vt:r8', $propertyValue); + break; + case 'b': + $objWriter->writeElement('vt:bool', ($propertyValue) ? 'true' : 'false'); + break; + case 'd': + $objWriter->startElement('vt:filetime'); + $objWriter->writeRawData(date(DATE_W3C, $propertyValue)); + $objWriter->endElement(); + break; + default: + $objWriter->writeElement('vt:lpwstr', $propertyValue); + break; + } - $objWriter->endElement(); - } + $objWriter->endElement(); + } - $objWriter->endElement(); - - // Return - return $objWriter->getData(); - } + $objWriter->endElement(); + return $objWriter->getData(); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php index 1cf971ed4..281438889 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Drawing.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Drawing * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,579 +21,569 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_Drawing - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_Drawing extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write drawings to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @param int &$chartRef Chart ID - * @param boolean $includeCharts Flag indicating if we should include drawing details for charts - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeDrawings(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = FALSE) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write drawings to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int &$chartRef Chart ID + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDrawings(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = false) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // xdr:wsDr - $objWriter->startElement('xdr:wsDr'); - $objWriter->writeAttribute('xmlns:xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing'); - $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + // xdr:wsDr + $objWriter->startElement('xdr:wsDr'); + $objWriter->writeAttribute('xmlns:xdr', 'http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); - // Loop through images and write drawings - $i = 1; - $iterator = $pWorksheet->getDrawingCollection()->getIterator(); - while ($iterator->valid()) { - $this->_writeDrawing($objWriter, $iterator->current(), $i); + // Loop through images and write drawings + $i = 1; + $iterator = $pWorksheet->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + $this->writeDrawing($objWriter, $iterator->current(), $i); - $iterator->next(); - ++$i; - } + $iterator->next(); + ++$i; + } - if ($includeCharts) { - $chartCount = $pWorksheet->getChartCount(); - // Loop through charts and write the chart position - if ($chartCount > 0) { - for ($c = 0; $c < $chartCount; ++$c) { - $this->_writeChart($objWriter, $pWorksheet->getChartByIndex($c), $c+$i); - } - } - } + if ($includeCharts) { + $chartCount = $pWorksheet->getChartCount(); + // Loop through charts and write the chart position + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->writeChart($objWriter, $pWorksheet->getChartByIndex($c), $c+$i); + } + } + } + $objWriter->endElement(); - $objWriter->endElement(); + // Return + return $objWriter->getData(); + } - // Return - return $objWriter->getData(); - } + /** + * Write drawings to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Chart $pChart + * @param int $pRelationId + * @throws PHPExcel_Writer_Exception + */ + public function writeChart(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Chart $pChart = null, $pRelationId = -1) + { + $tl = $pChart->getTopLeftPosition(); + $tl['colRow'] = PHPExcel_Cell::coordinateFromString($tl['cell']); + $br = $pChart->getBottomRightPosition(); + $br['colRow'] = PHPExcel_Cell::coordinateFromString($br['cell']); - /** - * Write drawings to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Chart $pChart - * @param int $pRelationId - * @throws PHPExcel_Writer_Exception - */ - public function _writeChart(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Chart $pChart = null, $pRelationId = -1) - { - $tl = $pChart->getTopLeftPosition(); - $tl['colRow'] = PHPExcel_Cell::coordinateFromString($tl['cell']); - $br = $pChart->getBottomRightPosition(); - $br['colRow'] = PHPExcel_Cell::coordinateFromString($br['cell']); + $objWriter->startElement('xdr:twoCellAnchor'); - $objWriter->startElement('xdr:twoCellAnchor'); + $objWriter->startElement('xdr:from'); + $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($tl['colRow'][0]) - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['xOffset'])); + $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['yOffset'])); + $objWriter->endElement(); + $objWriter->startElement('xdr:to'); + $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($br['colRow'][0]) - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['xOffset'])); + $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['yOffset'])); + $objWriter->endElement(); - $objWriter->startElement('xdr:from'); - $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($tl['colRow'][0]) - 1); - $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['xOffset'])); - $objWriter->writeElement('xdr:row', $tl['colRow'][1] - 1); - $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($tl['yOffset'])); - $objWriter->endElement(); - $objWriter->startElement('xdr:to'); - $objWriter->writeElement('xdr:col', PHPExcel_Cell::columnIndexFromString($br['colRow'][0]) - 1); - $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['xOffset'])); - $objWriter->writeElement('xdr:row', $br['colRow'][1] - 1); - $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($br['yOffset'])); - $objWriter->endElement(); + $objWriter->startElement('xdr:graphicFrame'); + $objWriter->writeAttribute('macro', ''); + $objWriter->startElement('xdr:nvGraphicFramePr'); + $objWriter->startElement('xdr:cNvPr'); + $objWriter->writeAttribute('name', 'Chart '.$pRelationId); + $objWriter->writeAttribute('id', 1025 * $pRelationId); + $objWriter->endElement(); + $objWriter->startElement('xdr:cNvGraphicFramePr'); + $objWriter->startElement('a:graphicFrameLocks'); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->startElement('xdr:graphicFrame'); - $objWriter->writeAttribute('macro', ''); - $objWriter->startElement('xdr:nvGraphicFramePr'); - $objWriter->startElement('xdr:cNvPr'); - $objWriter->writeAttribute('name', 'Chart '.$pRelationId); - $objWriter->writeAttribute('id', 1025 * $pRelationId); - $objWriter->endElement(); - $objWriter->startElement('xdr:cNvGraphicFramePr'); - $objWriter->startElement('a:graphicFrameLocks'); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->startElement('xdr:xfrm'); + $objWriter->startElement('a:off'); + $objWriter->writeAttribute('x', '0'); + $objWriter->writeAttribute('y', '0'); + $objWriter->endElement(); + $objWriter->startElement('a:ext'); + $objWriter->writeAttribute('cx', '0'); + $objWriter->writeAttribute('cy', '0'); + $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->startElement('xdr:xfrm'); - $objWriter->startElement('a:off'); - $objWriter->writeAttribute('x', '0'); - $objWriter->writeAttribute('y', '0'); - $objWriter->endElement(); - $objWriter->startElement('a:ext'); - $objWriter->writeAttribute('cx', '0'); - $objWriter->writeAttribute('cy', '0'); - $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->startElement('a:graphic'); + $objWriter->startElement('a:graphicData'); + $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->startElement('c:chart'); + $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + $objWriter->writeAttribute('r:id', 'rId'.$pRelationId); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->startElement('a:graphic'); - $objWriter->startElement('a:graphicData'); - $objWriter->writeAttribute('uri', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); - $objWriter->startElement('c:chart'); - $objWriter->writeAttribute('xmlns:c', 'http://schemas.openxmlformats.org/drawingml/2006/chart'); - $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - $objWriter->writeAttribute('r:id', 'rId'.$pRelationId); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->startElement('xdr:clientData'); + $objWriter->endElement(); - $objWriter->startElement('xdr:clientData'); - $objWriter->endElement(); + $objWriter->endElement(); + } - $objWriter->endElement(); - } + /** + * Write drawings to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet_BaseDrawing $pDrawing + * @param int $pRelationId + * @throws PHPExcel_Writer_Exception + */ + public function writeDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet_BaseDrawing $pDrawing = null, $pRelationId = -1) + { + if ($pRelationId >= 0) { + // xdr:oneCellAnchor + $objWriter->startElement('xdr:oneCellAnchor'); + // Image location + $aCoordinates = PHPExcel_Cell::coordinateFromString($pDrawing->getCoordinates()); + $aCoordinates[0] = PHPExcel_Cell::columnIndexFromString($aCoordinates[0]); - /** - * Write drawings to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet_BaseDrawing $pDrawing - * @param int $pRelationId - * @throws PHPExcel_Writer_Exception - */ - public function _writeDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet_BaseDrawing $pDrawing = null, $pRelationId = -1) - { - if ($pRelationId >= 0) { - // xdr:oneCellAnchor - $objWriter->startElement('xdr:oneCellAnchor'); - // Image location - $aCoordinates = PHPExcel_Cell::coordinateFromString($pDrawing->getCoordinates()); - $aCoordinates[0] = PHPExcel_Cell::columnIndexFromString($aCoordinates[0]); + // xdr:from + $objWriter->startElement('xdr:from'); + $objWriter->writeElement('xdr:col', $aCoordinates[0] - 1); + $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetX())); + $objWriter->writeElement('xdr:row', $aCoordinates[1] - 1); + $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetY())); + $objWriter->endElement(); - // xdr:from - $objWriter->startElement('xdr:from'); - $objWriter->writeElement('xdr:col', $aCoordinates[0] - 1); - $objWriter->writeElement('xdr:colOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetX())); - $objWriter->writeElement('xdr:row', $aCoordinates[1] - 1); - $objWriter->writeElement('xdr:rowOff', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getOffsetY())); - $objWriter->endElement(); + // xdr:ext + $objWriter->startElement('xdr:ext'); + $objWriter->writeAttribute('cx', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getWidth())); + $objWriter->writeAttribute('cy', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getHeight())); + $objWriter->endElement(); - // xdr:ext - $objWriter->startElement('xdr:ext'); - $objWriter->writeAttribute('cx', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getWidth())); - $objWriter->writeAttribute('cy', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getHeight())); - $objWriter->endElement(); + // xdr:pic + $objWriter->startElement('xdr:pic'); - // xdr:pic - $objWriter->startElement('xdr:pic'); + // xdr:nvPicPr + $objWriter->startElement('xdr:nvPicPr'); - // xdr:nvPicPr - $objWriter->startElement('xdr:nvPicPr'); + // xdr:cNvPr + $objWriter->startElement('xdr:cNvPr'); + $objWriter->writeAttribute('id', $pRelationId); + $objWriter->writeAttribute('name', $pDrawing->getName()); + $objWriter->writeAttribute('descr', $pDrawing->getDescription()); + $objWriter->endElement(); - // xdr:cNvPr - $objWriter->startElement('xdr:cNvPr'); - $objWriter->writeAttribute('id', $pRelationId); - $objWriter->writeAttribute('name', $pDrawing->getName()); - $objWriter->writeAttribute('descr', $pDrawing->getDescription()); - $objWriter->endElement(); + // xdr:cNvPicPr + $objWriter->startElement('xdr:cNvPicPr'); - // xdr:cNvPicPr - $objWriter->startElement('xdr:cNvPicPr'); + // a:picLocks + $objWriter->startElement('a:picLocks'); + $objWriter->writeAttribute('noChangeAspect', '1'); + $objWriter->endElement(); - // a:picLocks - $objWriter->startElement('a:picLocks'); - $objWriter->writeAttribute('noChangeAspect', '1'); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + // xdr:blipFill + $objWriter->startElement('xdr:blipFill'); - // xdr:blipFill - $objWriter->startElement('xdr:blipFill'); + // a:blip + $objWriter->startElement('a:blip'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + $objWriter->writeAttribute('r:embed', 'rId' . $pRelationId); + $objWriter->endElement(); - // a:blip - $objWriter->startElement('a:blip'); - $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - $objWriter->writeAttribute('r:embed', 'rId' . $pRelationId); - $objWriter->endElement(); + // a:stretch + $objWriter->startElement('a:stretch'); + $objWriter->writeElement('a:fillRect', null); + $objWriter->endElement(); - // a:stretch - $objWriter->startElement('a:stretch'); - $objWriter->writeElement('a:fillRect', null); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + // xdr:spPr + $objWriter->startElement('xdr:spPr'); - // xdr:spPr - $objWriter->startElement('xdr:spPr'); + // a:xfrm + $objWriter->startElement('a:xfrm'); + $objWriter->writeAttribute('rot', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getRotation())); + $objWriter->endElement(); - // a:xfrm - $objWriter->startElement('a:xfrm'); - $objWriter->writeAttribute('rot', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getRotation())); - $objWriter->endElement(); + // a:prstGeom + $objWriter->startElement('a:prstGeom'); + $objWriter->writeAttribute('prst', 'rect'); - // a:prstGeom - $objWriter->startElement('a:prstGeom'); - $objWriter->writeAttribute('prst', 'rect'); + // a:avLst + $objWriter->writeElement('a:avLst', null); - // a:avLst - $objWriter->writeElement('a:avLst', null); + $objWriter->endElement(); - $objWriter->endElement(); +// // a:solidFill +// $objWriter->startElement('a:solidFill'); -// // a:solidFill -// $objWriter->startElement('a:solidFill'); - -// // a:srgbClr -// $objWriter->startElement('a:srgbClr'); -// $objWriter->writeAttribute('val', 'FFFFFF'); +// // a:srgbClr +// $objWriter->startElement('a:srgbClr'); +// $objWriter->writeAttribute('val', 'FFFFFF'); ///* SHADE -// // a:shade -// $objWriter->startElement('a:shade'); -// $objWriter->writeAttribute('val', '85000'); -// $objWriter->endElement(); +// // a:shade +// $objWriter->startElement('a:shade'); +// $objWriter->writeAttribute('val', '85000'); +// $objWriter->endElement(); //*/ -// $objWriter->endElement(); +// $objWriter->endElement(); -// $objWriter->endElement(); +// $objWriter->endElement(); /* - // a:ln - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', '88900'); - $objWriter->writeAttribute('cap', 'sq'); + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '88900'); + $objWriter->writeAttribute('cap', 'sq'); - // a:solidFill - $objWriter->startElement('a:solidFill'); + // a:solidFill + $objWriter->startElement('a:solidFill'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', 'FFFFFF'); - $objWriter->endElement(); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FFFFFF'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:miter - $objWriter->startElement('a:miter'); - $objWriter->writeAttribute('lim', '800000'); - $objWriter->endElement(); + // a:miter + $objWriter->startElement('a:miter'); + $objWriter->writeAttribute('lim', '800000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); */ - if ($pDrawing->getShadow()->getVisible()) { - // a:effectLst - $objWriter->startElement('a:effectLst'); + if ($pDrawing->getShadow()->getVisible()) { + // a:effectLst + $objWriter->startElement('a:effectLst'); - // a:outerShdw - $objWriter->startElement('a:outerShdw'); - $objWriter->writeAttribute('blurRad', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getBlurRadius())); - $objWriter->writeAttribute('dist', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getDistance())); - $objWriter->writeAttribute('dir', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getShadow()->getDirection())); - $objWriter->writeAttribute('algn', $pDrawing->getShadow()->getAlignment()); - $objWriter->writeAttribute('rotWithShape', '0'); + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getBlurRadius())); + $objWriter->writeAttribute('dist', PHPExcel_Shared_Drawing::pixelsToEMU($pDrawing->getShadow()->getDistance())); + $objWriter->writeAttribute('dir', PHPExcel_Shared_Drawing::degreesToAngle($pDrawing->getShadow()->getDirection())); + $objWriter->writeAttribute('algn', $pDrawing->getShadow()->getAlignment()); + $objWriter->writeAttribute('rotWithShape', '0'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', $pDrawing->getShadow()->getColor()->getRGB()); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', $pDrawing->getShadow()->getColor()->getRGB()); - // a:alpha - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', $pDrawing->getShadow()->getAlpha() * 1000); - $objWriter->endElement(); + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', $pDrawing->getShadow()->getAlpha() * 1000); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } /* - // a:scene3d - $objWriter->startElement('a:scene3d'); + // a:scene3d + $objWriter->startElement('a:scene3d'); - // a:camera - $objWriter->startElement('a:camera'); - $objWriter->writeAttribute('prst', 'orthographicFront'); - $objWriter->endElement(); + // a:camera + $objWriter->startElement('a:camera'); + $objWriter->writeAttribute('prst', 'orthographicFront'); + $objWriter->endElement(); - // a:lightRig - $objWriter->startElement('a:lightRig'); - $objWriter->writeAttribute('rig', 'twoPt'); - $objWriter->writeAttribute('dir', 't'); + // a:lightRig + $objWriter->startElement('a:lightRig'); + $objWriter->writeAttribute('rig', 'twoPt'); + $objWriter->writeAttribute('dir', 't'); - // a:rot - $objWriter->startElement('a:rot'); - $objWriter->writeAttribute('lat', '0'); - $objWriter->writeAttribute('lon', '0'); - $objWriter->writeAttribute('rev', '0'); - $objWriter->endElement(); + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '0'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); */ /* - // a:sp3d - $objWriter->startElement('a:sp3d'); + // a:sp3d + $objWriter->startElement('a:sp3d'); - // a:bevelT - $objWriter->startElement('a:bevelT'); - $objWriter->writeAttribute('w', '25400'); - $objWriter->writeAttribute('h', '19050'); - $objWriter->endElement(); + // a:bevelT + $objWriter->startElement('a:bevelT'); + $objWriter->writeAttribute('w', '25400'); + $objWriter->writeAttribute('h', '19050'); + $objWriter->endElement(); - // a:contourClr - $objWriter->startElement('a:contourClr'); + // a:contourClr + $objWriter->startElement('a:contourClr'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', 'FFFFFF'); - $objWriter->endElement(); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', 'FFFFFF'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); */ - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // xdr:clientData - $objWriter->writeElement('xdr:clientData', null); + // xdr:clientData + $objWriter->writeElement('xdr:clientData', null); - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } - /** - * Write VML header/footer images to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeVMLHeaderFooterImages(PHPExcel_Worksheet $pWorksheet = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write VML header/footer images to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVMLHeaderFooterImages(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Header/footer images - $images = $pWorksheet->getHeaderFooter()->getImages(); + // Header/footer images + $images = $pWorksheet->getHeaderFooter()->getImages(); - // xml - $objWriter->startElement('xml'); - $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); - $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); - $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); + // xml + $objWriter->startElement('xml'); + $objWriter->writeAttribute('xmlns:v', 'urn:schemas-microsoft-com:vml'); + $objWriter->writeAttribute('xmlns:o', 'urn:schemas-microsoft-com:office:office'); + $objWriter->writeAttribute('xmlns:x', 'urn:schemas-microsoft-com:office:excel'); - // o:shapelayout - $objWriter->startElement('o:shapelayout'); - $objWriter->writeAttribute('v:ext', 'edit'); + // o:shapelayout + $objWriter->startElement('o:shapelayout'); + $objWriter->writeAttribute('v:ext', 'edit'); - // o:idmap - $objWriter->startElement('o:idmap'); - $objWriter->writeAttribute('v:ext', 'edit'); - $objWriter->writeAttribute('data', '1'); - $objWriter->endElement(); + // o:idmap + $objWriter->startElement('o:idmap'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('data', '1'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // v:shapetype - $objWriter->startElement('v:shapetype'); - $objWriter->writeAttribute('id', '_x0000_t75'); - $objWriter->writeAttribute('coordsize', '21600,21600'); - $objWriter->writeAttribute('o:spt', '75'); - $objWriter->writeAttribute('o:preferrelative', 't'); - $objWriter->writeAttribute('path', 'm@4@5l@4@11@9@11@9@5xe'); - $objWriter->writeAttribute('filled', 'f'); - $objWriter->writeAttribute('stroked', 'f'); + // v:shapetype + $objWriter->startElement('v:shapetype'); + $objWriter->writeAttribute('id', '_x0000_t75'); + $objWriter->writeAttribute('coordsize', '21600,21600'); + $objWriter->writeAttribute('o:spt', '75'); + $objWriter->writeAttribute('o:preferrelative', 't'); + $objWriter->writeAttribute('path', 'm@4@5l@4@11@9@11@9@5xe'); + $objWriter->writeAttribute('filled', 'f'); + $objWriter->writeAttribute('stroked', 'f'); - // v:stroke - $objWriter->startElement('v:stroke'); - $objWriter->writeAttribute('joinstyle', 'miter'); - $objWriter->endElement(); + // v:stroke + $objWriter->startElement('v:stroke'); + $objWriter->writeAttribute('joinstyle', 'miter'); + $objWriter->endElement(); - // v:formulas - $objWriter->startElement('v:formulas'); + // v:formulas + $objWriter->startElement('v:formulas'); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'if lineDrawn pixelLineWidth 0'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'if lineDrawn pixelLineWidth 0'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'sum @0 1 0'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @0 1 0'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'sum 0 0 @1'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum 0 0 @1'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @2 1 2'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @2 1 2'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelWidth'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelWidth'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelHeight'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @3 21600 pixelHeight'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'sum @0 0 1'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @0 0 1'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @6 1 2'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @6 1 2'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelWidth'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelWidth'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'sum @8 21600 0'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @8 21600 0'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelHeight'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'prod @7 21600 pixelHeight'); + $objWriter->endElement(); - // v:f - $objWriter->startElement('v:f'); - $objWriter->writeAttribute('eqn', 'sum @10 21600 0'); - $objWriter->endElement(); + // v:f + $objWriter->startElement('v:f'); + $objWriter->writeAttribute('eqn', 'sum @10 21600 0'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // v:path - $objWriter->startElement('v:path'); - $objWriter->writeAttribute('o:extrusionok', 'f'); - $objWriter->writeAttribute('gradientshapeok', 't'); - $objWriter->writeAttribute('o:connecttype', 'rect'); - $objWriter->endElement(); + // v:path + $objWriter->startElement('v:path'); + $objWriter->writeAttribute('o:extrusionok', 'f'); + $objWriter->writeAttribute('gradientshapeok', 't'); + $objWriter->writeAttribute('o:connecttype', 'rect'); + $objWriter->endElement(); - // o:lock - $objWriter->startElement('o:lock'); - $objWriter->writeAttribute('v:ext', 'edit'); - $objWriter->writeAttribute('aspectratio', 't'); - $objWriter->endElement(); + // o:lock + $objWriter->startElement('o:lock'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('aspectratio', 't'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // Loop through images - foreach ($images as $key => $value) { - $this->_writeVMLHeaderFooterImage($objWriter, $key, $value); - } + // Loop through images + foreach ($images as $key => $value) { + $this->writeVMLHeaderFooterImage($objWriter, $key, $value); + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write VML comment to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pReference Reference - * @param PHPExcel_Worksheet_HeaderFooterDrawing $pImage Image - * @throws PHPExcel_Writer_Exception - */ - public function _writeVMLHeaderFooterImage(PHPExcel_Shared_XMLWriter $objWriter = null, $pReference = '', PHPExcel_Worksheet_HeaderFooterDrawing $pImage = null) - { - // Calculate object id - preg_match('{(\d+)}', md5($pReference), $m); - $id = 1500 + (substr($m[1], 0, 2) * 1); + /** + * Write VML comment to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pReference Reference + * @param PHPExcel_Worksheet_HeaderFooterDrawing $pImage Image + * @throws PHPExcel_Writer_Exception + */ + private function writeVMLHeaderFooterImage(PHPExcel_Shared_XMLWriter $objWriter = null, $pReference = '', PHPExcel_Worksheet_HeaderFooterDrawing $pImage = null) + { + // Calculate object id + preg_match('{(\d+)}', md5($pReference), $m); + $id = 1500 + (substr($m[1], 0, 2) * 1); - // Calculate offset - $width = $pImage->getWidth(); - $height = $pImage->getHeight(); - $marginLeft = $pImage->getOffsetX(); - $marginTop = $pImage->getOffsetY(); + // Calculate offset + $width = $pImage->getWidth(); + $height = $pImage->getHeight(); + $marginLeft = $pImage->getOffsetX(); + $marginTop = $pImage->getOffsetY(); - // v:shape - $objWriter->startElement('v:shape'); - $objWriter->writeAttribute('id', $pReference); - $objWriter->writeAttribute('o:spid', '_x0000_s' . $id); - $objWriter->writeAttribute('type', '#_x0000_t75'); - $objWriter->writeAttribute('style', "position:absolute;margin-left:{$marginLeft}px;margin-top:{$marginTop}px;width:{$width}px;height:{$height}px;z-index:1"); + // v:shape + $objWriter->startElement('v:shape'); + $objWriter->writeAttribute('id', $pReference); + $objWriter->writeAttribute('o:spid', '_x0000_s' . $id); + $objWriter->writeAttribute('type', '#_x0000_t75'); + $objWriter->writeAttribute('style', "position:absolute;margin-left:{$marginLeft}px;margin-top:{$marginTop}px;width:{$width}px;height:{$height}px;z-index:1"); - // v:imagedata - $objWriter->startElement('v:imagedata'); - $objWriter->writeAttribute('o:relid', 'rId' . $pReference); - $objWriter->writeAttribute('o:title', $pImage->getName()); - $objWriter->endElement(); + // v:imagedata + $objWriter->startElement('v:imagedata'); + $objWriter->writeAttribute('o:relid', 'rId' . $pReference); + $objWriter->writeAttribute('o:title', $pImage->getName()); + $objWriter->endElement(); - // o:lock - $objWriter->startElement('o:lock'); - $objWriter->writeAttribute('v:ext', 'edit'); - $objWriter->writeAttribute('rotation', 't'); - $objWriter->endElement(); + // o:lock + $objWriter->startElement('o:lock'); + $objWriter->writeAttribute('v:ext', 'edit'); + $objWriter->writeAttribute('rotation', 't'); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Get an array of all drawings - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Worksheet_Drawing[] All drawings in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allDrawings(PHPExcel $pPHPExcel = null) - { - // Get an array of all drawings - $aDrawings = array(); + /** + * Get an array of all drawings + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Worksheet_Drawing[] All drawings in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allDrawings(PHPExcel $pPHPExcel = null) + { + // Get an array of all drawings + $aDrawings = array(); - // Loop through PHPExcel - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - // Loop through images and add to array - $iterator = $pPHPExcel->getSheet($i)->getDrawingCollection()->getIterator(); - while ($iterator->valid()) { - $aDrawings[] = $iterator->current(); + // Loop through PHPExcel + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // Loop through images and add to array + $iterator = $pPHPExcel->getSheet($i)->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + $aDrawings[] = $iterator->current(); - $iterator->next(); - } - } + $iterator->next(); + } + } - return $aDrawings; - } + return $aDrawings; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php index a7d36c0a9..14ff33710 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Rels.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Rels * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,418 +21,404 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_Rels - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_Rels extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write relationships to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeRelationships(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write relationships to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeRelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); - if (!empty($customPropertyList)) { - // Relationship docProps/app.xml - $this->_writeRelationship( - $objWriter, - 4, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', - 'docProps/custom.xml' - ); + $customPropertyList = $pPHPExcel->getProperties()->getCustomProperties(); + if (!empty($customPropertyList)) { + // Relationship docProps/app.xml + $this->writeRelationship( + $objWriter, + 4, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties', + 'docProps/custom.xml' + ); - } + } - // Relationship docProps/app.xml - $this->_writeRelationship( - $objWriter, - 3, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', - 'docProps/app.xml' - ); + // Relationship docProps/app.xml + $this->writeRelationship( + $objWriter, + 3, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties', + 'docProps/app.xml' + ); - // Relationship docProps/core.xml - $this->_writeRelationship( - $objWriter, - 2, - 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties', - 'docProps/core.xml' - ); + // Relationship docProps/core.xml + $this->writeRelationship( + $objWriter, + 2, + 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties', + 'docProps/core.xml' + ); - // Relationship xl/workbook.xml - $this->_writeRelationship( - $objWriter, - 1, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument', - 'xl/workbook.xml' - ); - // a custom UI in workbook ? - if($pPHPExcel->hasRibbon()){ - $this->_writeRelationShip( - $objWriter, - 5, - 'http://schemas.microsoft.com/office/2006/relationships/ui/extensibility', - $pPHPExcel->getRibbonXMLData('target') - ); - } + // Relationship xl/workbook.xml + $this->writeRelationship( + $objWriter, + 1, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument', + 'xl/workbook.xml' + ); + // a custom UI in workbook ? + if ($pPHPExcel->hasRibbon()) { + $this->writeRelationShip( + $objWriter, + 5, + 'http://schemas.microsoft.com/office/2006/relationships/ui/extensibility', + $pPHPExcel->getRibbonXMLData('target') + ); + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + return $objWriter->getData(); + } - /** - * Write workbook relationships to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeWorkbookRelationships(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write workbook relationships to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorkbookRelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - // Relationship styles.xml - $this->_writeRelationship( - $objWriter, - 1, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles', - 'styles.xml' - ); + // Relationship styles.xml + $this->writeRelationship( + $objWriter, + 1, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles', + 'styles.xml' + ); - // Relationship theme/theme1.xml - $this->_writeRelationship( - $objWriter, - 2, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme', - 'theme/theme1.xml' - ); + // Relationship theme/theme1.xml + $this->writeRelationship( + $objWriter, + 2, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme', + 'theme/theme1.xml' + ); - // Relationship sharedStrings.xml - $this->_writeRelationship( - $objWriter, - 3, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings', - 'sharedStrings.xml' - ); + // Relationship sharedStrings.xml + $this->writeRelationship( + $objWriter, + 3, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings', + 'sharedStrings.xml' + ); - // Relationships with sheets - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - $this->_writeRelationship( - $objWriter, - ($i + 1 + 3), - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', - 'worksheets/sheet' . ($i + 1) . '.xml' - ); - } - // Relationships for vbaProject if needed - // id : just after the last sheet - if($pPHPExcel->hasMacros()){ - $this->_writeRelationShip( - $objWriter, - ($i + 1 + 3), - 'http://schemas.microsoft.com/office/2006/relationships/vbaProject', - 'vbaProject.bin' - ); - ++$i;//increment i if needed for an another relation - } + // Relationships with sheets + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + $this->writeRelationship( + $objWriter, + ($i + 1 + 3), + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', + 'worksheets/sheet' . ($i + 1) . '.xml' + ); + } + // Relationships for vbaProject if needed + // id : just after the last sheet + if ($pPHPExcel->hasMacros()) { + $this->writeRelationShip( + $objWriter, + ($i + 1 + 3), + 'http://schemas.microsoft.com/office/2006/relationships/vbaProject', + 'vbaProject.bin' + ); + ++$i;//increment i if needed for an another relation + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + return $objWriter->getData(); + } - /** - * Write worksheet relationships to XML format - * - * Numbering is as follows: - * rId1 - Drawings - * rId_hyperlink_x - Hyperlinks - * - * @param PHPExcel_Worksheet $pWorksheet - * @param int $pWorksheetId - * @param boolean $includeCharts Flag indicating if we should write charts - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeWorksheetRelationships(PHPExcel_Worksheet $pWorksheet = null, $pWorksheetId = 1, $includeCharts = FALSE) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write worksheet relationships to XML format + * + * Numbering is as follows: + * rId1 - Drawings + * rId_hyperlink_x - Hyperlinks + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int $pWorksheetId + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorksheetRelationships(PHPExcel_Worksheet $pWorksheet = null, $pWorksheetId = 1, $includeCharts = false) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - // Write drawing relationships? - $d = 0; - if ($includeCharts) { - $charts = $pWorksheet->getChartCollection(); - } else { - $charts = array(); - } - if (($pWorksheet->getDrawingCollection()->count() > 0) || - (count($charts) > 0)) { - $this->_writeRelationship( - $objWriter, - ++$d, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing', - '../drawings/drawing' . $pWorksheetId . '.xml' - ); - } + // Write drawing relationships? + $d = 0; + if ($includeCharts) { + $charts = $pWorksheet->getChartCollection(); + } else { + $charts = array(); + } + if (($pWorksheet->getDrawingCollection()->count() > 0) || + (count($charts) > 0)) { + $this->writeRelationship( + $objWriter, + ++$d, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing', + '../drawings/drawing' . $pWorksheetId . '.xml' + ); + } - // Write chart relationships? -// $chartCount = 0; -// $charts = $pWorksheet->getChartCollection(); -// echo 'Chart Rels: ' , count($charts) , '<br />'; -// if (count($charts) > 0) { -// foreach($charts as $chart) { -// $this->_writeRelationship( -// $objWriter, -// ++$d, -// 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', -// '../charts/chart' . ++$chartCount . '.xml' -// ); -// } -// } + // Write chart relationships? +// $chartCount = 0; +// $charts = $pWorksheet->getChartCollection(); +// echo 'Chart Rels: ' , count($charts) , '<br />'; +// if (count($charts) > 0) { +// foreach ($charts as $chart) { +// $this->writeRelationship( +// $objWriter, +// ++$d, +// 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', +// '../charts/chart' . ++$chartCount . '.xml' +// ); +// } +// } // - // Write hyperlink relationships? - $i = 1; - foreach ($pWorksheet->getHyperlinkCollection() as $hyperlink) { - if (!$hyperlink->isInternal()) { - $this->_writeRelationship( - $objWriter, - '_hyperlink_' . $i, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink', - $hyperlink->getUrl(), - 'External' - ); + // Write hyperlink relationships? + $i = 1; + foreach ($pWorksheet->getHyperlinkCollection() as $hyperlink) { + if (!$hyperlink->isInternal()) { + $this->writeRelationship( + $objWriter, + '_hyperlink_' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink', + $hyperlink->getUrl(), + 'External' + ); - ++$i; - } - } + ++$i; + } + } - // Write comments relationship? - $i = 1; - if (count($pWorksheet->getComments()) > 0) { - $this->_writeRelationship( - $objWriter, - '_comments_vml' . $i, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', - '../drawings/vmlDrawing' . $pWorksheetId . '.vml' - ); + // Write comments relationship? + $i = 1; + if (count($pWorksheet->getComments()) > 0) { + $this->writeRelationship( + $objWriter, + '_comments_vml' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', + '../drawings/vmlDrawing' . $pWorksheetId . '.vml' + ); - $this->_writeRelationship( - $objWriter, - '_comments' . $i, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments', - '../comments' . $pWorksheetId . '.xml' - ); - } + $this->writeRelationship( + $objWriter, + '_comments' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments', + '../comments' . $pWorksheetId . '.xml' + ); + } - // Write header/footer relationship? - $i = 1; - if (count($pWorksheet->getHeaderFooter()->getImages()) > 0) { - $this->_writeRelationship( - $objWriter, - '_headerfooter_vml' . $i, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', - '../drawings/vmlDrawingHF' . $pWorksheetId . '.vml' - ); - } + // Write header/footer relationship? + $i = 1; + if (count($pWorksheet->getHeaderFooter()->getImages()) > 0) { + $this->writeRelationship( + $objWriter, + '_headerfooter_vml' . $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing', + '../drawings/vmlDrawingHF' . $pWorksheetId . '.vml' + ); + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + return $objWriter->getData(); + } - /** - * Write drawing relationships to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @param int &$chartRef Chart ID - * @param boolean $includeCharts Flag indicating if we should write charts - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = FALSE) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write drawing relationships to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @param int &$chartRef Chart ID + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null, &$chartRef, $includeCharts = false) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - // Loop through images and write relationships - $i = 1; - $iterator = $pWorksheet->getDrawingCollection()->getIterator(); - while ($iterator->valid()) { - if ($iterator->current() instanceof PHPExcel_Worksheet_Drawing - || $iterator->current() instanceof PHPExcel_Worksheet_MemoryDrawing) { - // Write relationship for image drawing - $this->_writeRelationship( - $objWriter, - $i, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', - '../media/' . str_replace(' ', '', $iterator->current()->getIndexedFilename()) - ); - } + // Loop through images and write relationships + $i = 1; + $iterator = $pWorksheet->getDrawingCollection()->getIterator(); + while ($iterator->valid()) { + if ($iterator->current() instanceof PHPExcel_Worksheet_Drawing + || $iterator->current() instanceof PHPExcel_Worksheet_MemoryDrawing) { + // Write relationship for image drawing + $this->writeRelationship( + $objWriter, + $i, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', + '../media/' . str_replace(' ', '', $iterator->current()->getIndexedFilename()) + ); + } - $iterator->next(); - ++$i; - } + $iterator->next(); + ++$i; + } - if ($includeCharts) { - // Loop through charts and write relationships - $chartCount = $pWorksheet->getChartCount(); - if ($chartCount > 0) { - for ($c = 0; $c < $chartCount; ++$c) { - $this->_writeRelationship( - $objWriter, - $i++, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', - '../charts/chart' . ++$chartRef . '.xml' - ); - } - } - } + if ($includeCharts) { + // Loop through charts and write relationships + $chartCount = $pWorksheet->getChartCount(); + if ($chartCount > 0) { + for ($c = 0; $c < $chartCount; ++$c) { + $this->writeRelationship( + $objWriter, + $i++, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart', + '../charts/chart' . ++$chartRef . '.xml' + ); + } + } + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + return $objWriter->getData(); + } - /** - * Write header/footer drawing relationships to XML format - * - * @param PHPExcel_Worksheet $pWorksheet - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeHeaderFooterDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write header/footer drawing relationships to XML format + * + * @param PHPExcel_Worksheet $pWorksheet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeHeaderFooterDrawingRelationships(PHPExcel_Worksheet $pWorksheet = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - // Loop through images and write relationships - foreach ($pWorksheet->getHeaderFooter()->getImages() as $key => $value) { - // Write relationship for image drawing - $this->_writeRelationship( - $objWriter, - $key, - 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', - '../media/' . $value->getIndexedFilename() - ); - } + // Loop through images and write relationships + foreach ($pWorksheet->getHeaderFooter()->getImages() as $key => $value) { + // Write relationship for image drawing + $this->writeRelationship( + $objWriter, + $key, + 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image', + '../media/' . $value->getIndexedFilename() + ); + } - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + return $objWriter->getData(); + } - /** - * Write Override content type - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param int $pId Relationship ID. rId will be prepended! - * @param string $pType Relationship type - * @param string $pTarget Relationship target - * @param string $pTargetMode Relationship target mode - * @throws PHPExcel_Writer_Exception - */ - private function _writeRelationship(PHPExcel_Shared_XMLWriter $objWriter = null, $pId = 1, $pType = '', $pTarget = '', $pTargetMode = '') - { - if ($pType != '' && $pTarget != '') { - // Write relationship - $objWriter->startElement('Relationship'); - $objWriter->writeAttribute('Id', 'rId' . $pId); - $objWriter->writeAttribute('Type', $pType); - $objWriter->writeAttribute('Target', $pTarget); + /** + * Write Override content type + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param int $pId Relationship ID. rId will be prepended! + * @param string $pType Relationship type + * @param string $pTarget Relationship target + * @param string $pTargetMode Relationship target mode + * @throws PHPExcel_Writer_Exception + */ + private function writeRelationship(PHPExcel_Shared_XMLWriter $objWriter = null, $pId = 1, $pType = '', $pTarget = '', $pTargetMode = '') + { + if ($pType != '' && $pTarget != '') { + // Write relationship + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', 'rId' . $pId); + $objWriter->writeAttribute('Type', $pType); + $objWriter->writeAttribute('Target', $pTarget); - if ($pTargetMode != '') { - $objWriter->writeAttribute('TargetMode', $pTargetMode); - } + if ($pTargetMode != '') { + $objWriter->writeAttribute('TargetMode', $pTargetMode); + } - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php index 615f2cbd9..5a4a9fc09 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_RelsRibbon * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,58 +21,47 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_RelsRibbon - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_RelsRibbon extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write relationships for additional objects of custom UI (ribbon) - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeRibbonRelationships(PHPExcel $pPHPExcel = null){ - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write relationships for additional objects of custom UI (ribbon) + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeRibbonRelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - $localRels=$pPHPExcel->getRibbonBinObjects('names'); - if(is_array($localRels)){ - foreach($localRels as $aId=>$aTarget){ - $objWriter->startElement('Relationship'); - $objWriter->writeAttribute('Id', $aId); - $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'); - $objWriter->writeAttribute('Target', $aTarget); - $objWriter->endElement();//Relationship - } - } - $objWriter->endElement();//Relationships - - // Return - return $objWriter->getData(); - - } + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + $localRels = $pPHPExcel->getRibbonBinObjects('names'); + if (is_array($localRels)) { + foreach ($localRels as $aId => $aTarget) { + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', $aId); + $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'); + $objWriter->writeAttribute('Target', $aTarget); + $objWriter->endElement(); + } + } + $objWriter->endElement(); + return $objWriter->getData(); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php index 3f87d81f2..bee0e6436 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsVBA.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_RelsVBA * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,53 +21,43 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_RelsVBA - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_RelsVBA extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write relationships for a signed VBA Project - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeVBARelationships(PHPExcel $pPHPExcel = null){ - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write relationships for a signed VBA Project + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeVBARelationships(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // Relationships - $objWriter->startElement('Relationships'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - $objWriter->startElement('Relationship'); - $objWriter->writeAttribute('Id', 'rId1'); - $objWriter->writeAttribute('Type', 'http://schemas.microsoft.com/office/2006/relationships/vbaProjectSignature'); - $objWriter->writeAttribute('Target', 'vbaProjectSignature.bin'); - $objWriter->endElement();//Relationship - $objWriter->endElement();//Relationships + // Relationships + $objWriter->startElement('Relationships'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); + $objWriter->startElement('Relationship'); + $objWriter->writeAttribute('Id', 'rId1'); + $objWriter->writeAttribute('Type', 'http://schemas.microsoft.com/office/2006/relationships/vbaProjectSignature'); + $objWriter->writeAttribute('Target', 'vbaProjectSignature.bin'); + $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - - } + return $objWriter->getData(); + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php index e8ca1c5a5..fccec669f 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/StringTable.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_StringTable * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,300 +21,293 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_StringTable - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_StringTable extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Create worksheet stringtable - * - * @param PHPExcel_Worksheet $pSheet Worksheet - * @param string[] $pExistingTable Existing table to eventually merge with - * @return string[] String table for worksheet - * @throws PHPExcel_Writer_Exception - */ - public function createStringTable($pSheet = null, $pExistingTable = null) - { - if ($pSheet !== NULL) { - // Create string lookup table - $aStringTable = array(); - $cellCollection = null; - $aFlippedStringTable = null; // For faster lookup + /** + * Create worksheet stringtable + * + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param string[] $pExistingTable Existing table to eventually merge with + * @return string[] String table for worksheet + * @throws PHPExcel_Writer_Exception + */ + public function createStringTable($pSheet = null, $pExistingTable = null) + { + if ($pSheet !== null) { + // Create string lookup table + $aStringTable = array(); + $cellCollection = null; + $aFlippedStringTable = null; // For faster lookup - // Is an existing table given? - if (($pExistingTable !== NULL) && is_array($pExistingTable)) { - $aStringTable = $pExistingTable; - } + // Is an existing table given? + if (($pExistingTable !== null) && is_array($pExistingTable)) { + $aStringTable = $pExistingTable; + } - // Fill index array - $aFlippedStringTable = $this->flipStringTable($aStringTable); + // Fill index array + $aFlippedStringTable = $this->flipStringTable($aStringTable); - // Loop through cells - foreach ($pSheet->getCellCollection() as $cellID) { - $cell = $pSheet->getCell($cellID); - $cellValue = $cell->getValue(); - if (!is_object($cellValue) && - ($cellValue !== NULL) && - $cellValue !== '' && - !isset($aFlippedStringTable[$cellValue]) && - ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING2 || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_NULL)) { - $aStringTable[] = $cellValue; - $aFlippedStringTable[$cellValue] = true; - } elseif ($cellValue instanceof PHPExcel_RichText && - ($cellValue !== NULL) && - !isset($aFlippedStringTable[$cellValue->getHashCode()])) { - $aStringTable[] = $cellValue; - $aFlippedStringTable[$cellValue->getHashCode()] = true; - } - } + // Loop through cells + foreach ($pSheet->getCellCollection() as $cellID) { + $cell = $pSheet->getCell($cellID); + $cellValue = $cell->getValue(); + if (!is_object($cellValue) && + ($cellValue !== null) && + $cellValue !== '' && + !isset($aFlippedStringTable[$cellValue]) && + ($cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_STRING2 || $cell->getDataType() == PHPExcel_Cell_DataType::TYPE_NULL)) { + $aStringTable[] = $cellValue; + $aFlippedStringTable[$cellValue] = true; + } elseif ($cellValue instanceof PHPExcel_RichText && + ($cellValue !== null) && + !isset($aFlippedStringTable[$cellValue->getHashCode()])) { + $aStringTable[] = $cellValue; + $aFlippedStringTable[$cellValue->getHashCode()] = true; + } + } - // Return - return $aStringTable; - } else { - throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); - } - } + return $aStringTable; + } else { + throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); + } + } - /** - * Write string table to XML format - * - * @param string[] $pStringTable - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeStringTable($pStringTable = null) - { - if ($pStringTable !== NULL) { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write string table to XML format + * + * @param string[] $pStringTable + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeStringTable($pStringTable = null) + { + if ($pStringTable !== null) { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // String table - $objWriter->startElement('sst'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); - $objWriter->writeAttribute('uniqueCount', count($pStringTable)); + // String table + $objWriter->startElement('sst'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('uniqueCount', count($pStringTable)); - // Loop through string table - foreach ($pStringTable as $textElement) { - $objWriter->startElement('si'); - - if (! $textElement instanceof PHPExcel_RichText) { - $textToWrite = PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $textElement ); - $objWriter->startElement('t'); - if ($textToWrite !== trim($textToWrite)) { - $objWriter->writeAttribute('xml:space', 'preserve'); - } - $objWriter->writeRawData($textToWrite); - $objWriter->endElement(); - } else if ($textElement instanceof PHPExcel_RichText) { - $this->writeRichText($objWriter, $textElement); - } + // Loop through string table + foreach ($pStringTable as $textElement) { + $objWriter->startElement('si'); + if (! $textElement instanceof PHPExcel_RichText) { + $textToWrite = PHPExcel_Shared_String::ControlCharacterPHP2OOXML($textElement); + $objWriter->startElement('t'); + if ($textToWrite !== trim($textToWrite)) { + $objWriter->writeAttribute('xml:space', 'preserve'); + } + $objWriter->writeRawData($textToWrite); $objWriter->endElement(); - } + } elseif ($textElement instanceof PHPExcel_RichText) { + $this->writeRichText($objWriter, $textElement); + } - $objWriter->endElement(); + $objWriter->endElement(); + } - // Return - return $objWriter->getData(); - } else { - throw new PHPExcel_Writer_Exception("Invalid string table array passed."); - } - } + $objWriter->endElement(); - /** - * Write Rich Text - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_RichText $pRichText Rich text - * @param string $prefix Optional Namespace prefix - * @throws PHPExcel_Writer_Exception - */ - public function writeRichText(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_RichText $pRichText = null, $prefix=NULL) - { - if ($prefix !== NULL) - $prefix .= ':'; - // Loop through rich text elements - $elements = $pRichText->getRichTextElements(); - foreach ($elements as $element) { - // r - $objWriter->startElement($prefix.'r'); + return $objWriter->getData(); + } else { + throw new PHPExcel_Writer_Exception("Invalid string table array passed."); + } + } - // rPr - if ($element instanceof PHPExcel_RichText_Run) { - // rPr - $objWriter->startElement($prefix.'rPr'); + /** + * Write Rich Text + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_RichText $pRichText Rich text + * @param string $prefix Optional Namespace prefix + * @throws PHPExcel_Writer_Exception + */ + public function writeRichText(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_RichText $pRichText = null, $prefix = null) + { + if ($prefix !== null) { + $prefix .= ':'; + } + + // Loop through rich text elements + $elements = $pRichText->getRichTextElements(); + foreach ($elements as $element) { + // r + $objWriter->startElement($prefix.'r'); - // rFont - $objWriter->startElement($prefix.'rFont'); - $objWriter->writeAttribute('val', $element->getFont()->getName()); - $objWriter->endElement(); + // rPr + if ($element instanceof PHPExcel_RichText_Run) { + // rPr + $objWriter->startElement($prefix.'rPr'); - // Bold - $objWriter->startElement($prefix.'b'); - $objWriter->writeAttribute('val', ($element->getFont()->getBold() ? 'true' : 'false')); - $objWriter->endElement(); + // rFont + $objWriter->startElement($prefix.'rFont'); + $objWriter->writeAttribute('val', $element->getFont()->getName()); + $objWriter->endElement(); - // Italic - $objWriter->startElement($prefix.'i'); - $objWriter->writeAttribute('val', ($element->getFont()->getItalic() ? 'true' : 'false')); - $objWriter->endElement(); + // Bold + $objWriter->startElement($prefix.'b'); + $objWriter->writeAttribute('val', ($element->getFont()->getBold() ? 'true' : 'false')); + $objWriter->endElement(); - // Superscript / subscript - if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { - $objWriter->startElement($prefix.'vertAlign'); - if ($element->getFont()->getSuperScript()) { - $objWriter->writeAttribute('val', 'superscript'); - } else if ($element->getFont()->getSubScript()) { - $objWriter->writeAttribute('val', 'subscript'); - } - $objWriter->endElement(); - } + // Italic + $objWriter->startElement($prefix.'i'); + $objWriter->writeAttribute('val', ($element->getFont()->getItalic() ? 'true' : 'false')); + $objWriter->endElement(); - // Strikethrough - $objWriter->startElement($prefix.'strike'); - $objWriter->writeAttribute('val', ($element->getFont()->getStrikethrough() ? 'true' : 'false')); - $objWriter->endElement(); + // Superscript / subscript + if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { + $objWriter->startElement($prefix.'vertAlign'); + if ($element->getFont()->getSuperScript()) { + $objWriter->writeAttribute('val', 'superscript'); + } elseif ($element->getFont()->getSubScript()) { + $objWriter->writeAttribute('val', 'subscript'); + } + $objWriter->endElement(); + } - // Color - $objWriter->startElement($prefix.'color'); - $objWriter->writeAttribute('rgb', $element->getFont()->getColor()->getARGB()); - $objWriter->endElement(); + // Strikethrough + $objWriter->startElement($prefix.'strike'); + $objWriter->writeAttribute('val', ($element->getFont()->getStrikethrough() ? 'true' : 'false')); + $objWriter->endElement(); - // Size - $objWriter->startElement($prefix.'sz'); - $objWriter->writeAttribute('val', $element->getFont()->getSize()); - $objWriter->endElement(); + // Color + $objWriter->startElement($prefix.'color'); + $objWriter->writeAttribute('rgb', $element->getFont()->getColor()->getARGB()); + $objWriter->endElement(); - // Underline - $objWriter->startElement($prefix.'u'); - $objWriter->writeAttribute('val', $element->getFont()->getUnderline()); - $objWriter->endElement(); + // Size + $objWriter->startElement($prefix.'sz'); + $objWriter->writeAttribute('val', $element->getFont()->getSize()); + $objWriter->endElement(); - $objWriter->endElement(); - } + // Underline + $objWriter->startElement($prefix.'u'); + $objWriter->writeAttribute('val', $element->getFont()->getUnderline()); + $objWriter->endElement(); - // t - $objWriter->startElement($prefix.'t'); - $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $element->getText() )); - $objWriter->endElement(); + $objWriter->endElement(); + } - $objWriter->endElement(); - } - } + // t + $objWriter->startElement($prefix.'t'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($element->getText())); + $objWriter->endElement(); - /** - * Write Rich Text - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string|PHPExcel_RichText $pRichText text string or Rich text - * @param string $prefix Optional Namespace prefix - * @throws PHPExcel_Writer_Exception - */ - public function writeRichTextForCharts(PHPExcel_Shared_XMLWriter $objWriter = null, $pRichText = null, $prefix=NULL) - { - if (!$pRichText instanceof PHPExcel_RichText) { - $textRun = $pRichText; - $pRichText = new PHPExcel_RichText(); - $pRichText->createTextRun($textRun); - } + $objWriter->endElement(); + } + } - if ($prefix !== NULL) - $prefix .= ':'; - // Loop through rich text elements - $elements = $pRichText->getRichTextElements(); - foreach ($elements as $element) { - // r - $objWriter->startElement($prefix.'r'); + /** + * Write Rich Text + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string|PHPExcel_RichText $pRichText text string or Rich text + * @param string $prefix Optional Namespace prefix + * @throws PHPExcel_Writer_Exception + */ + public function writeRichTextForCharts(PHPExcel_Shared_XMLWriter $objWriter = null, $pRichText = null, $prefix = null) + { + if (!$pRichText instanceof PHPExcel_RichText) { + $textRun = $pRichText; + $pRichText = new PHPExcel_RichText(); + $pRichText->createTextRun($textRun); + } - // rPr - $objWriter->startElement($prefix.'rPr'); + if ($prefix !== null) { + $prefix .= ':'; + } + + // Loop through rich text elements + $elements = $pRichText->getRichTextElements(); + foreach ($elements as $element) { + // r + $objWriter->startElement($prefix.'r'); - // Bold - $objWriter->writeAttribute('b', ($element->getFont()->getBold() ? 1 : 0)); - // Italic - $objWriter->writeAttribute('i', ($element->getFont()->getItalic() ? 1 : 0)); - // Underline - $underlineType = $element->getFont()->getUnderline(); - switch($underlineType) { - case 'single' : - $underlineType = 'sng'; - break; - case 'double' : - $underlineType = 'dbl'; - break; - } - $objWriter->writeAttribute('u', $underlineType); - // Strikethrough - $objWriter->writeAttribute('strike', ($element->getFont()->getStrikethrough() ? 'sngStrike' : 'noStrike')); + // rPr + $objWriter->startElement($prefix.'rPr'); - // rFont - $objWriter->startElement($prefix.'latin'); - $objWriter->writeAttribute('typeface', $element->getFont()->getName()); - $objWriter->endElement(); + // Bold + $objWriter->writeAttribute('b', ($element->getFont()->getBold() ? 1 : 0)); + // Italic + $objWriter->writeAttribute('i', ($element->getFont()->getItalic() ? 1 : 0)); + // Underline + $underlineType = $element->getFont()->getUnderline(); + switch ($underlineType) { + case 'single': + $underlineType = 'sng'; + break; + case 'double': + $underlineType = 'dbl'; + break; + } + $objWriter->writeAttribute('u', $underlineType); + // Strikethrough + $objWriter->writeAttribute('strike', ($element->getFont()->getStrikethrough() ? 'sngStrike' : 'noStrike')); - // Superscript / subscript -// if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { -// $objWriter->startElement($prefix.'vertAlign'); -// if ($element->getFont()->getSuperScript()) { -// $objWriter->writeAttribute('val', 'superscript'); -// } else if ($element->getFont()->getSubScript()) { -// $objWriter->writeAttribute('val', 'subscript'); -// } -// $objWriter->endElement(); -// } + // rFont + $objWriter->startElement($prefix.'latin'); + $objWriter->writeAttribute('typeface', $element->getFont()->getName()); + $objWriter->endElement(); + + // Superscript / subscript +// if ($element->getFont()->getSuperScript() || $element->getFont()->getSubScript()) { +// $objWriter->startElement($prefix.'vertAlign'); +// if ($element->getFont()->getSuperScript()) { +// $objWriter->writeAttribute('val', 'superscript'); +// } elseif ($element->getFont()->getSubScript()) { +// $objWriter->writeAttribute('val', 'subscript'); +// } +// $objWriter->endElement(); +// } // - $objWriter->endElement(); + $objWriter->endElement(); - // t - $objWriter->startElement($prefix.'t'); -// $objWriter->writeAttribute('xml:space', 'preserve'); // Excel2010 accepts, Excel2007 complains - $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML( $element->getText() )); - $objWriter->endElement(); + // t + $objWriter->startElement($prefix.'t'); +// $objWriter->writeAttribute('xml:space', 'preserve'); // Excel2010 accepts, Excel2007 complains + $objWriter->writeRawData(PHPExcel_Shared_String::ControlCharacterPHP2OOXML($element->getText())); + $objWriter->endElement(); - $objWriter->endElement(); - } - } + $objWriter->endElement(); + } + } - /** - * Flip string table (for index searching) - * - * @param array $stringTable Stringtable - * @return array - */ - public function flipStringTable($stringTable = array()) { - // Return value - $returnValue = array(); + /** + * Flip string table (for index searching) + * + * @param array $stringTable Stringtable + * @return array + */ + public function flipStringTable($stringTable = array()) + { + // Return value + $returnValue = array(); - // Loop through stringtable and add flipped items to $returnValue - foreach ($stringTable as $key => $value) { - if (! $value instanceof PHPExcel_RichText) { - $returnValue[$value] = $key; - } else if ($value instanceof PHPExcel_RichText) { - $returnValue[$value->getHashCode()] = $key; - } - } + // Loop through stringtable and add flipped items to $returnValue + foreach ($stringTable as $key => $value) { + if (! $value instanceof PHPExcel_RichText) { + $returnValue[$value] = $key; + } elseif ($value instanceof PHPExcel_RichText) { + $returnValue[$value->getHashCode()] = $key; + } + } - // Return - return $returnValue; - } + return $returnValue; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php index d38c6eacc..d3f0af7b2 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Style.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Style * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,688 +21,676 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_Style - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_Style extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write styles to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeStyles(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write styles to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeStyles(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // styleSheet - $objWriter->startElement('styleSheet'); - $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + // styleSheet + $objWriter->startElement('styleSheet'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); - // numFmts - $objWriter->startElement('numFmts'); - $objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count()); + // numFmts + $objWriter->startElement('numFmts'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getNumFmtHashTable()->count()); - // numFmt - for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) { - $this->_writeNumFmt($objWriter, $this->getParentWriter()->getNumFmtHashTable()->getByIndex($i), $i); - } + // numFmt + for ($i = 0; $i < $this->getParentWriter()->getNumFmtHashTable()->count(); ++$i) { + $this->writeNumFmt($objWriter, $this->getParentWriter()->getNumFmtHashTable()->getByIndex($i), $i); + } - $objWriter->endElement(); + $objWriter->endElement(); - // fonts - $objWriter->startElement('fonts'); - $objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count()); + // fonts + $objWriter->startElement('fonts'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getFontHashTable()->count()); - // font - for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) { - $this->_writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i)); - } + // font + for ($i = 0; $i < $this->getParentWriter()->getFontHashTable()->count(); ++$i) { + $this->writeFont($objWriter, $this->getParentWriter()->getFontHashTable()->getByIndex($i)); + } - $objWriter->endElement(); + $objWriter->endElement(); - // fills - $objWriter->startElement('fills'); - $objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count()); + // fills + $objWriter->startElement('fills'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getFillHashTable()->count()); - // fill - for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) { - $this->_writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i)); - } + // fill + for ($i = 0; $i < $this->getParentWriter()->getFillHashTable()->count(); ++$i) { + $this->writeFill($objWriter, $this->getParentWriter()->getFillHashTable()->getByIndex($i)); + } - $objWriter->endElement(); + $objWriter->endElement(); - // borders - $objWriter->startElement('borders'); - $objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count()); + // borders + $objWriter->startElement('borders'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getBordersHashTable()->count()); - // border - for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) { - $this->_writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i)); - } + // border + for ($i = 0; $i < $this->getParentWriter()->getBordersHashTable()->count(); ++$i) { + $this->writeBorder($objWriter, $this->getParentWriter()->getBordersHashTable()->getByIndex($i)); + } - $objWriter->endElement(); + $objWriter->endElement(); - // cellStyleXfs - $objWriter->startElement('cellStyleXfs'); - $objWriter->writeAttribute('count', 1); + // cellStyleXfs + $objWriter->startElement('cellStyleXfs'); + $objWriter->writeAttribute('count', 1); - // xf - $objWriter->startElement('xf'); - $objWriter->writeAttribute('numFmtId', 0); - $objWriter->writeAttribute('fontId', 0); - $objWriter->writeAttribute('fillId', 0); - $objWriter->writeAttribute('borderId', 0); - $objWriter->endElement(); + // xf + $objWriter->startElement('xf'); + $objWriter->writeAttribute('numFmtId', 0); + $objWriter->writeAttribute('fontId', 0); + $objWriter->writeAttribute('fillId', 0); + $objWriter->writeAttribute('borderId', 0); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // cellXfs - $objWriter->startElement('cellXfs'); - $objWriter->writeAttribute('count', count($pPHPExcel->getCellXfCollection())); + // cellXfs + $objWriter->startElement('cellXfs'); + $objWriter->writeAttribute('count', count($pPHPExcel->getCellXfCollection())); - // xf - foreach ($pPHPExcel->getCellXfCollection() as $cellXf) { - $this->_writeCellStyleXf($objWriter, $cellXf, $pPHPExcel); - } + // xf + foreach ($pPHPExcel->getCellXfCollection() as $cellXf) { + $this->writeCellStyleXf($objWriter, $cellXf, $pPHPExcel); + } - $objWriter->endElement(); + $objWriter->endElement(); - // cellStyles - $objWriter->startElement('cellStyles'); - $objWriter->writeAttribute('count', 1); + // cellStyles + $objWriter->startElement('cellStyles'); + $objWriter->writeAttribute('count', 1); - // cellStyle - $objWriter->startElement('cellStyle'); - $objWriter->writeAttribute('name', 'Normal'); - $objWriter->writeAttribute('xfId', 0); - $objWriter->writeAttribute('builtinId', 0); - $objWriter->endElement(); + // cellStyle + $objWriter->startElement('cellStyle'); + $objWriter->writeAttribute('name', 'Normal'); + $objWriter->writeAttribute('xfId', 0); + $objWriter->writeAttribute('builtinId', 0); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // dxfs - $objWriter->startElement('dxfs'); - $objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count()); + // dxfs + $objWriter->startElement('dxfs'); + $objWriter->writeAttribute('count', $this->getParentWriter()->getStylesConditionalHashTable()->count()); - // dxf - for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) { - $this->_writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle()); - } + // dxf + for ($i = 0; $i < $this->getParentWriter()->getStylesConditionalHashTable()->count(); ++$i) { + $this->writeCellStyleDxf($objWriter, $this->getParentWriter()->getStylesConditionalHashTable()->getByIndex($i)->getStyle()); + } - $objWriter->endElement(); + $objWriter->endElement(); - // tableStyles - $objWriter->startElement('tableStyles'); - $objWriter->writeAttribute('defaultTableStyle', 'TableStyleMedium9'); - $objWriter->writeAttribute('defaultPivotStyle', 'PivotTableStyle1'); - $objWriter->endElement(); + // tableStyles + $objWriter->startElement('tableStyles'); + $objWriter->writeAttribute('defaultTableStyle', 'TableStyleMedium9'); + $objWriter->writeAttribute('defaultPivotStyle', 'PivotTableStyle1'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write Fill - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_Fill $pFill Fill style - * @throws PHPExcel_Writer_Exception - */ - private function _writeFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) - { - // Check if this is a pattern type or gradient type - if ($pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR || - $pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_PATH) { - // Gradient fill - $this->_writeGradientFill($objWriter, $pFill); - } elseif($pFill->getFillType() !== NULL) { - // Pattern fill - $this->_writePatternFill($objWriter, $pFill); - } - } + /** + * Write Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function writeFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // Check if this is a pattern type or gradient type + if ($pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR || + $pFill->getFillType() === PHPExcel_Style_Fill::FILL_GRADIENT_PATH) { + // Gradient fill + $this->writeGradientFill($objWriter, $pFill); + } elseif ($pFill->getFillType() !== null) { + // Pattern fill + $this->writePatternFill($objWriter, $pFill); + } + } - /** - * Write Gradient Fill - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_Fill $pFill Fill style - * @throws PHPExcel_Writer_Exception - */ - private function _writeGradientFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) - { - // fill - $objWriter->startElement('fill'); + /** + * Write Gradient Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function writeGradientFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // fill + $objWriter->startElement('fill'); - // gradientFill - $objWriter->startElement('gradientFill'); - $objWriter->writeAttribute('type', $pFill->getFillType()); - $objWriter->writeAttribute('degree', $pFill->getRotation()); + // gradientFill + $objWriter->startElement('gradientFill'); + $objWriter->writeAttribute('type', $pFill->getFillType()); + $objWriter->writeAttribute('degree', $pFill->getRotation()); - // stop - $objWriter->startElement('stop'); - $objWriter->writeAttribute('position', '0'); + // stop + $objWriter->startElement('stop'); + $objWriter->writeAttribute('position', '0'); - // color - $objWriter->startElement('color'); - $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); - $objWriter->endElement(); + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // stop - $objWriter->startElement('stop'); - $objWriter->writeAttribute('position', '1'); + // stop + $objWriter->startElement('stop'); + $objWriter->writeAttribute('position', '1'); - // color - $objWriter->startElement('color'); - $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); - $objWriter->endElement(); + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write Pattern Fill - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_Fill $pFill Fill style - * @throws PHPExcel_Writer_Exception - */ - private function _writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) - { - // fill - $objWriter->startElement('fill'); + /** + * Write Pattern Fill + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Fill $pFill Fill style + * @throws PHPExcel_Writer_Exception + */ + private function writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null) + { + // fill + $objWriter->startElement('fill'); - // patternFill - $objWriter->startElement('patternFill'); - $objWriter->writeAttribute('patternType', $pFill->getFillType()); + // patternFill + $objWriter->startElement('patternFill'); + $objWriter->writeAttribute('patternType', $pFill->getFillType()); - if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { - // fgColor - if ($pFill->getStartColor()->getARGB()) { - $objWriter->startElement('fgColor'); - $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); - $objWriter->endElement(); - } - } - if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { - // bgColor - if ($pFill->getEndColor()->getARGB()) { - $objWriter->startElement('bgColor'); - $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); - $objWriter->endElement(); - } - } - - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write Font - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_Font $pFont Font style - * @throws PHPExcel_Writer_Exception - */ - private function _writeFont(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Font $pFont = null) - { - // font - $objWriter->startElement('font'); - // Weird! The order of these elements actually makes a difference when opening Excel2007 - // files in Excel2003 with the compatibility pack. It's not documented behaviour, - // and makes for a real WTF! - - // Bold. We explicitly write this element also when false (like MS Office Excel 2007 does - // for conditional formatting). Otherwise it will apparently not be picked up in conditional - // formatting style dialog - if ($pFont->getBold() !== NULL) { - $objWriter->startElement('b'); - $objWriter->writeAttribute('val', $pFont->getBold() ? '1' : '0'); - $objWriter->endElement(); - } - - // Italic - if ($pFont->getItalic() !== NULL) { - $objWriter->startElement('i'); - $objWriter->writeAttribute('val', $pFont->getItalic() ? '1' : '0'); - $objWriter->endElement(); - } - - // Strikethrough - if ($pFont->getStrikethrough() !== NULL) { - $objWriter->startElement('strike'); - $objWriter->writeAttribute('val', $pFont->getStrikethrough() ? '1' : '0'); - $objWriter->endElement(); - } - - // Underline - if ($pFont->getUnderline() !== NULL) { - $objWriter->startElement('u'); - $objWriter->writeAttribute('val', $pFont->getUnderline()); - $objWriter->endElement(); - } - - // Superscript / subscript - if ($pFont->getSuperScript() === TRUE || $pFont->getSubScript() === TRUE) { - $objWriter->startElement('vertAlign'); - if ($pFont->getSuperScript() === TRUE) { - $objWriter->writeAttribute('val', 'superscript'); - } else if ($pFont->getSubScript() === TRUE) { - $objWriter->writeAttribute('val', 'subscript'); - } - $objWriter->endElement(); - } - - // Size - if ($pFont->getSize() !== NULL) { - $objWriter->startElement('sz'); - $objWriter->writeAttribute('val', $pFont->getSize()); - $objWriter->endElement(); - } - - // Foreground color - if ($pFont->getColor()->getARGB() !== NULL) { - $objWriter->startElement('color'); - $objWriter->writeAttribute('rgb', $pFont->getColor()->getARGB()); - $objWriter->endElement(); - } - - // Name - if ($pFont->getName() !== NULL) { - $objWriter->startElement('name'); - $objWriter->writeAttribute('val', $pFont->getName()); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - - /** - * Write Border - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_Borders $pBorders Borders style - * @throws PHPExcel_Writer_Exception - */ - private function _writeBorder(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Borders $pBorders = null) - { - // Write border - $objWriter->startElement('border'); - // Diagonal? - switch ($pBorders->getDiagonalDirection()) { - case PHPExcel_Style_Borders::DIAGONAL_UP: - $objWriter->writeAttribute('diagonalUp', 'true'); - $objWriter->writeAttribute('diagonalDown', 'false'); - break; - case PHPExcel_Style_Borders::DIAGONAL_DOWN: - $objWriter->writeAttribute('diagonalUp', 'false'); - $objWriter->writeAttribute('diagonalDown', 'true'); - break; - case PHPExcel_Style_Borders::DIAGONAL_BOTH: - $objWriter->writeAttribute('diagonalUp', 'true'); - $objWriter->writeAttribute('diagonalDown', 'true'); - break; - } - - // BorderPr - $this->_writeBorderPr($objWriter, 'left', $pBorders->getLeft()); - $this->_writeBorderPr($objWriter, 'right', $pBorders->getRight()); - $this->_writeBorderPr($objWriter, 'top', $pBorders->getTop()); - $this->_writeBorderPr($objWriter, 'bottom', $pBorders->getBottom()); - $this->_writeBorderPr($objWriter, 'diagonal', $pBorders->getDiagonal()); - $objWriter->endElement(); - } - - /** - * Write Cell Style Xf - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style $pStyle Style - * @param PHPExcel $pPHPExcel Workbook - * @throws PHPExcel_Writer_Exception - */ - private function _writeCellStyleXf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null, PHPExcel $pPHPExcel = null) - { - // xf - $objWriter->startElement('xf'); - $objWriter->writeAttribute('xfId', 0); - $objWriter->writeAttribute('fontId', (int)$this->getParentWriter()->getFontHashTable()->getIndexForHashCode($pStyle->getFont()->getHashCode())); - if ($pStyle->getQuotePrefix()) { - $objWriter->writeAttribute('quotePrefix', 1); + if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { + // fgColor + if ($pFill->getStartColor()->getARGB()) { + $objWriter->startElement('fgColor'); + $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB()); + $objWriter->endElement(); } + } + if ($pFill->getFillType() !== PHPExcel_Style_Fill::FILL_NONE) { + // bgColor + if ($pFill->getEndColor()->getARGB()) { + $objWriter->startElement('bgColor'); + $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB()); + $objWriter->endElement(); + } + } - if ($pStyle->getNumberFormat()->getBuiltInFormatCode() === false) { - $objWriter->writeAttribute('numFmtId', (int)($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($pStyle->getNumberFormat()->getHashCode()) + 164) ); - } else { - $objWriter->writeAttribute('numFmtId', (int)$pStyle->getNumberFormat()->getBuiltInFormatCode()); - } + $objWriter->endElement(); - $objWriter->writeAttribute('fillId', (int)$this->getParentWriter()->getFillHashTable()->getIndexForHashCode($pStyle->getFill()->getHashCode())); - $objWriter->writeAttribute('borderId', (int)$this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($pStyle->getBorders()->getHashCode())); + $objWriter->endElement(); + } - // Apply styles? - $objWriter->writeAttribute('applyFont', ($pPHPExcel->getDefaultStyle()->getFont()->getHashCode() != $pStyle->getFont()->getHashCode()) ? '1' : '0'); - $objWriter->writeAttribute('applyNumberFormat', ($pPHPExcel->getDefaultStyle()->getNumberFormat()->getHashCode() != $pStyle->getNumberFormat()->getHashCode()) ? '1' : '0'); - $objWriter->writeAttribute('applyFill', ($pPHPExcel->getDefaultStyle()->getFill()->getHashCode() != $pStyle->getFill()->getHashCode()) ? '1' : '0'); - $objWriter->writeAttribute('applyBorder', ($pPHPExcel->getDefaultStyle()->getBorders()->getHashCode() != $pStyle->getBorders()->getHashCode()) ? '1' : '0'); - $objWriter->writeAttribute('applyAlignment', ($pPHPExcel->getDefaultStyle()->getAlignment()->getHashCode() != $pStyle->getAlignment()->getHashCode()) ? '1' : '0'); - if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { - $objWriter->writeAttribute('applyProtection', 'true'); - } + /** + * Write Font + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Font $pFont Font style + * @throws PHPExcel_Writer_Exception + */ + private function writeFont(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Font $pFont = null) + { + // font + $objWriter->startElement('font'); + // Weird! The order of these elements actually makes a difference when opening Excel2007 + // files in Excel2003 with the compatibility pack. It's not documented behaviour, + // and makes for a real WTF! - // alignment - $objWriter->startElement('alignment'); - $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); - $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); + // Bold. We explicitly write this element also when false (like MS Office Excel 2007 does + // for conditional formatting). Otherwise it will apparently not be picked up in conditional + // formatting style dialog + if ($pFont->getBold() !== null) { + $objWriter->startElement('b'); + $objWriter->writeAttribute('val', $pFont->getBold() ? '1' : '0'); + $objWriter->endElement(); + } - $textRotation = 0; - if ($pStyle->getAlignment()->getTextRotation() >= 0) { - $textRotation = $pStyle->getAlignment()->getTextRotation(); - } else if ($pStyle->getAlignment()->getTextRotation() < 0) { - $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); - } - $objWriter->writeAttribute('textRotation', $textRotation); + // Italic + if ($pFont->getItalic() !== null) { + $objWriter->startElement('i'); + $objWriter->writeAttribute('val', $pFont->getItalic() ? '1' : '0'); + $objWriter->endElement(); + } - $objWriter->writeAttribute('wrapText', ($pStyle->getAlignment()->getWrapText() ? 'true' : 'false')); - $objWriter->writeAttribute('shrinkToFit', ($pStyle->getAlignment()->getShrinkToFit() ? 'true' : 'false')); + // Strikethrough + if ($pFont->getStrikethrough() !== null) { + $objWriter->startElement('strike'); + $objWriter->writeAttribute('val', $pFont->getStrikethrough() ? '1' : '0'); + $objWriter->endElement(); + } - if ($pStyle->getAlignment()->getIndent() > 0) { - $objWriter->writeAttribute('indent', $pStyle->getAlignment()->getIndent()); - } - if ($pStyle->getAlignment()->getReadorder() > 0) { - $objWriter->writeAttribute('readingOrder', $pStyle->getAlignment()->getReadorder()); - } - $objWriter->endElement(); + // Underline + if ($pFont->getUnderline() !== null) { + $objWriter->startElement('u'); + $objWriter->writeAttribute('val', $pFont->getUnderline()); + $objWriter->endElement(); + } - // protection - if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { - $objWriter->startElement('protection'); - if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { - $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); - } - if ($pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { - $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); - } - $objWriter->endElement(); - } + // Superscript / subscript + if ($pFont->getSuperScript() === true || $pFont->getSubScript() === true) { + $objWriter->startElement('vertAlign'); + if ($pFont->getSuperScript() === true) { + $objWriter->writeAttribute('val', 'superscript'); + } elseif ($pFont->getSubScript() === true) { + $objWriter->writeAttribute('val', 'subscript'); + } + $objWriter->endElement(); + } - $objWriter->endElement(); - } + // Size + if ($pFont->getSize() !== null) { + $objWriter->startElement('sz'); + $objWriter->writeAttribute('val', $pFont->getSize()); + $objWriter->endElement(); + } - /** - * Write Cell Style Dxf - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style $pStyle Style - * @throws PHPExcel_Writer_Exception - */ - private function _writeCellStyleDxf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null) - { - // dxf - $objWriter->startElement('dxf'); + // Foreground color + if ($pFont->getColor()->getARGB() !== null) { + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pFont->getColor()->getARGB()); + $objWriter->endElement(); + } - // font - $this->_writeFont($objWriter, $pStyle->getFont()); + // Name + if ($pFont->getName() !== null) { + $objWriter->startElement('name'); + $objWriter->writeAttribute('val', $pFont->getName()); + $objWriter->endElement(); + } - // numFmt - $this->_writeNumFmt($objWriter, $pStyle->getNumberFormat()); + $objWriter->endElement(); + } - // fill - $this->_writeFill($objWriter, $pStyle->getFill()); + /** + * Write Border + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_Borders $pBorders Borders style + * @throws PHPExcel_Writer_Exception + */ + private function writeBorder(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Borders $pBorders = null) + { + // Write border + $objWriter->startElement('border'); + // Diagonal? + switch ($pBorders->getDiagonalDirection()) { + case PHPExcel_Style_Borders::DIAGONAL_UP: + $objWriter->writeAttribute('diagonalUp', 'true'); + $objWriter->writeAttribute('diagonalDown', 'false'); + break; + case PHPExcel_Style_Borders::DIAGONAL_DOWN: + $objWriter->writeAttribute('diagonalUp', 'false'); + $objWriter->writeAttribute('diagonalDown', 'true'); + break; + case PHPExcel_Style_Borders::DIAGONAL_BOTH: + $objWriter->writeAttribute('diagonalUp', 'true'); + $objWriter->writeAttribute('diagonalDown', 'true'); + break; + } - // alignment - $objWriter->startElement('alignment'); - if ($pStyle->getAlignment()->getHorizontal() !== NULL) { - $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); - } - if ($pStyle->getAlignment()->getVertical() !== NULL) { - $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); - } + // BorderPr + $this->writeBorderPr($objWriter, 'left', $pBorders->getLeft()); + $this->writeBorderPr($objWriter, 'right', $pBorders->getRight()); + $this->writeBorderPr($objWriter, 'top', $pBorders->getTop()); + $this->writeBorderPr($objWriter, 'bottom', $pBorders->getBottom()); + $this->writeBorderPr($objWriter, 'diagonal', $pBorders->getDiagonal()); + $objWriter->endElement(); + } - if ($pStyle->getAlignment()->getTextRotation() !== NULL) { - $textRotation = 0; - if ($pStyle->getAlignment()->getTextRotation() >= 0) { - $textRotation = $pStyle->getAlignment()->getTextRotation(); - } else if ($pStyle->getAlignment()->getTextRotation() < 0) { - $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); - } - $objWriter->writeAttribute('textRotation', $textRotation); - } - $objWriter->endElement(); + /** + * Write Cell Style Xf + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style $pStyle Style + * @param PHPExcel $pPHPExcel Workbook + * @throws PHPExcel_Writer_Exception + */ + private function writeCellStyleXf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null, PHPExcel $pPHPExcel = null) + { + // xf + $objWriter->startElement('xf'); + $objWriter->writeAttribute('xfId', 0); + $objWriter->writeAttribute('fontId', (int)$this->getParentWriter()->getFontHashTable()->getIndexForHashCode($pStyle->getFont()->getHashCode())); + if ($pStyle->getQuotePrefix()) { + $objWriter->writeAttribute('quotePrefix', 1); + } - // border - $this->_writeBorder($objWriter, $pStyle->getBorders()); + if ($pStyle->getNumberFormat()->getBuiltInFormatCode() === false) { + $objWriter->writeAttribute('numFmtId', (int)($this->getParentWriter()->getNumFmtHashTable()->getIndexForHashCode($pStyle->getNumberFormat()->getHashCode()) + 164)); + } else { + $objWriter->writeAttribute('numFmtId', (int)$pStyle->getNumberFormat()->getBuiltInFormatCode()); + } - // protection - if (($pStyle->getProtection()->getLocked() !== NULL) || - ($pStyle->getProtection()->getHidden() !== NULL)) { - if ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT || - $pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT) { - $objWriter->startElement('protection'); - if (($pStyle->getProtection()->getLocked() !== NULL) && - ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { - $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); - } - if (($pStyle->getProtection()->getHidden() !== NULL) && - ($pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { - $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); - } - $objWriter->endElement(); - } - } + $objWriter->writeAttribute('fillId', (int)$this->getParentWriter()->getFillHashTable()->getIndexForHashCode($pStyle->getFill()->getHashCode())); + $objWriter->writeAttribute('borderId', (int)$this->getParentWriter()->getBordersHashTable()->getIndexForHashCode($pStyle->getBorders()->getHashCode())); - $objWriter->endElement(); - } + // Apply styles? + $objWriter->writeAttribute('applyFont', ($pPHPExcel->getDefaultStyle()->getFont()->getHashCode() != $pStyle->getFont()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyNumberFormat', ($pPHPExcel->getDefaultStyle()->getNumberFormat()->getHashCode() != $pStyle->getNumberFormat()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyFill', ($pPHPExcel->getDefaultStyle()->getFill()->getHashCode() != $pStyle->getFill()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyBorder', ($pPHPExcel->getDefaultStyle()->getBorders()->getHashCode() != $pStyle->getBorders()->getHashCode()) ? '1' : '0'); + $objWriter->writeAttribute('applyAlignment', ($pPHPExcel->getDefaultStyle()->getAlignment()->getHashCode() != $pStyle->getAlignment()->getHashCode()) ? '1' : '0'); + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('applyProtection', 'true'); + } - /** - * Write BorderPr - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pName Element name - * @param PHPExcel_Style_Border $pBorder Border style - * @throws PHPExcel_Writer_Exception - */ - private function _writeBorderPr(PHPExcel_Shared_XMLWriter $objWriter = null, $pName = 'left', PHPExcel_Style_Border $pBorder = null) - { - // Write BorderPr - if ($pBorder->getBorderStyle() != PHPExcel_Style_Border::BORDER_NONE) { - $objWriter->startElement($pName); - $objWriter->writeAttribute('style', $pBorder->getBorderStyle()); + // alignment + $objWriter->startElement('alignment'); + $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); + $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); - // color - $objWriter->startElement('color'); - $objWriter->writeAttribute('rgb', $pBorder->getColor()->getARGB()); - $objWriter->endElement(); + $textRotation = 0; + if ($pStyle->getAlignment()->getTextRotation() >= 0) { + $textRotation = $pStyle->getAlignment()->getTextRotation(); + } elseif ($pStyle->getAlignment()->getTextRotation() < 0) { + $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); + } + $objWriter->writeAttribute('textRotation', $textRotation); - $objWriter->endElement(); - } - } + $objWriter->writeAttribute('wrapText', ($pStyle->getAlignment()->getWrapText() ? 'true' : 'false')); + $objWriter->writeAttribute('shrinkToFit', ($pStyle->getAlignment()->getShrinkToFit() ? 'true' : 'false')); - /** - * Write NumberFormat - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Style_NumberFormat $pNumberFormat Number Format - * @param int $pId Number Format identifier - * @throws PHPExcel_Writer_Exception - */ - private function _writeNumFmt(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_NumberFormat $pNumberFormat = null, $pId = 0) - { - // Translate formatcode - $formatCode = $pNumberFormat->getFormatCode(); + if ($pStyle->getAlignment()->getIndent() > 0) { + $objWriter->writeAttribute('indent', $pStyle->getAlignment()->getIndent()); + } + if ($pStyle->getAlignment()->getReadorder() > 0) { + $objWriter->writeAttribute('readingOrder', $pStyle->getAlignment()->getReadorder()); + } + $objWriter->endElement(); - // numFmt - if ($formatCode !== NULL) { - $objWriter->startElement('numFmt'); - $objWriter->writeAttribute('numFmtId', ($pId + 164)); - $objWriter->writeAttribute('formatCode', $formatCode); - $objWriter->endElement(); - } - } + // protection + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT || $pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->startElement('protection'); + if ($pStyle->getProtection()->getLocked() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + if ($pStyle->getProtection()->getHidden() != PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + $objWriter->endElement(); + } - /** - * Get an array of all styles - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style[] All styles in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allStyles(PHPExcel $pPHPExcel = null) - { - $aStyles = $pPHPExcel->getCellXfCollection(); + $objWriter->endElement(); + } - return $aStyles; - } + /** + * Write Cell Style Dxf + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style $pStyle Style + * @throws PHPExcel_Writer_Exception + */ + private function writeCellStyleDxf(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style $pStyle = null) + { + // dxf + $objWriter->startElement('dxf'); - /** - * Get an array of all conditional styles - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style_Conditional[] All conditional styles in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allConditionalStyles(PHPExcel $pPHPExcel = null) - { - // Get an array of all styles - $aStyles = array(); + // font + $this->writeFont($objWriter, $pStyle->getFont()); - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - foreach ($pPHPExcel->getSheet($i)->getConditionalStylesCollection() as $conditionalStyles) { - foreach ($conditionalStyles as $conditionalStyle) { - $aStyles[] = $conditionalStyle; - } - } - } + // numFmt + $this->writeNumFmt($objWriter, $pStyle->getNumberFormat()); - return $aStyles; - } + // fill + $this->writeFill($objWriter, $pStyle->getFill()); - /** - * Get an array of all fills - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style_Fill[] All fills in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allFills(PHPExcel $pPHPExcel = null) - { - // Get an array of unique fills - $aFills = array(); + // alignment + $objWriter->startElement('alignment'); + if ($pStyle->getAlignment()->getHorizontal() !== null) { + $objWriter->writeAttribute('horizontal', $pStyle->getAlignment()->getHorizontal()); + } + if ($pStyle->getAlignment()->getVertical() !== null) { + $objWriter->writeAttribute('vertical', $pStyle->getAlignment()->getVertical()); + } - // Two first fills are predefined - $fill0 = new PHPExcel_Style_Fill(); - $fill0->setFillType(PHPExcel_Style_Fill::FILL_NONE); - $aFills[] = $fill0; + if ($pStyle->getAlignment()->getTextRotation() !== null) { + $textRotation = 0; + if ($pStyle->getAlignment()->getTextRotation() >= 0) { + $textRotation = $pStyle->getAlignment()->getTextRotation(); + } elseif ($pStyle->getAlignment()->getTextRotation() < 0) { + $textRotation = 90 - $pStyle->getAlignment()->getTextRotation(); + } + $objWriter->writeAttribute('textRotation', $textRotation); + } + $objWriter->endElement(); - $fill1 = new PHPExcel_Style_Fill(); - $fill1->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_GRAY125); - $aFills[] = $fill1; - // The remaining fills - $aStyles = $this->allStyles($pPHPExcel); - foreach ($aStyles as $style) { - if (!array_key_exists($style->getFill()->getHashCode(), $aFills)) { - $aFills[ $style->getFill()->getHashCode() ] = $style->getFill(); - } - } + // border + $this->writeBorder($objWriter, $pStyle->getBorders()); - return $aFills; - } + // protection + if (($pStyle->getProtection()->getLocked() !== null) || ($pStyle->getProtection()->getHidden() !== null)) { + if ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT || + $pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT) { + $objWriter->startElement('protection'); + if (($pStyle->getProtection()->getLocked() !== null) && + ($pStyle->getProtection()->getLocked() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { + $objWriter->writeAttribute('locked', ($pStyle->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + if (($pStyle->getProtection()->getHidden() !== null) && + ($pStyle->getProtection()->getHidden() !== PHPExcel_Style_Protection::PROTECTION_INHERIT)) { + $objWriter->writeAttribute('hidden', ($pStyle->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED ? 'true' : 'false')); + } + $objWriter->endElement(); + } + } - /** - * Get an array of all fonts - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style_Font[] All fonts in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allFonts(PHPExcel $pPHPExcel = null) - { - // Get an array of unique fonts - $aFonts = array(); - $aStyles = $this->allStyles($pPHPExcel); + $objWriter->endElement(); + } - foreach ($aStyles as $style) { - if (!array_key_exists($style->getFont()->getHashCode(), $aFonts)) { - $aFonts[ $style->getFont()->getHashCode() ] = $style->getFont(); - } - } + /** + * Write BorderPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pName Element name + * @param PHPExcel_Style_Border $pBorder Border style + * @throws PHPExcel_Writer_Exception + */ + private function writeBorderPr(PHPExcel_Shared_XMLWriter $objWriter = null, $pName = 'left', PHPExcel_Style_Border $pBorder = null) + { + // Write BorderPr + if ($pBorder->getBorderStyle() != PHPExcel_Style_Border::BORDER_NONE) { + $objWriter->startElement($pName); + $objWriter->writeAttribute('style', $pBorder->getBorderStyle()); - return $aFonts; - } + // color + $objWriter->startElement('color'); + $objWriter->writeAttribute('rgb', $pBorder->getColor()->getARGB()); + $objWriter->endElement(); - /** - * Get an array of all borders - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style_Borders[] All borders in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allBorders(PHPExcel $pPHPExcel = null) - { - // Get an array of unique borders - $aBorders = array(); - $aStyles = $this->allStyles($pPHPExcel); + $objWriter->endElement(); + } + } - foreach ($aStyles as $style) { - if (!array_key_exists($style->getBorders()->getHashCode(), $aBorders)) { - $aBorders[ $style->getBorders()->getHashCode() ] = $style->getBorders(); - } - } + /** + * Write NumberFormat + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Style_NumberFormat $pNumberFormat Number Format + * @param int $pId Number Format identifier + * @throws PHPExcel_Writer_Exception + */ + private function writeNumFmt(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_NumberFormat $pNumberFormat = null, $pId = 0) + { + // Translate formatcode + $formatCode = $pNumberFormat->getFormatCode(); - return $aBorders; - } + // numFmt + if ($formatCode !== null) { + $objWriter->startElement('numFmt'); + $objWriter->writeAttribute('numFmtId', ($pId + 164)); + $objWriter->writeAttribute('formatCode', $formatCode); + $objWriter->endElement(); + } + } - /** - * Get an array of all number formats - * - * @param PHPExcel $pPHPExcel - * @return PHPExcel_Style_NumberFormat[] All number formats in PHPExcel - * @throws PHPExcel_Writer_Exception - */ - public function allNumberFormats(PHPExcel $pPHPExcel = null) - { - // Get an array of unique number formats - $aNumFmts = array(); - $aStyles = $this->allStyles($pPHPExcel); + /** + * Get an array of all styles + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style[] All styles in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allStyles(PHPExcel $pPHPExcel = null) + { + return $pPHPExcel->getCellXfCollection(); + } - foreach ($aStyles as $style) { - if ($style->getNumberFormat()->getBuiltInFormatCode() === false && !array_key_exists($style->getNumberFormat()->getHashCode(), $aNumFmts)) { - $aNumFmts[ $style->getNumberFormat()->getHashCode() ] = $style->getNumberFormat(); - } - } + /** + * Get an array of all conditional styles + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Conditional[] All conditional styles in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allConditionalStyles(PHPExcel $pPHPExcel = null) + { + // Get an array of all styles + $aStyles = array(); - return $aNumFmts; - } + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + foreach ($pPHPExcel->getSheet($i)->getConditionalStylesCollection() as $conditionalStyles) { + foreach ($conditionalStyles as $conditionalStyle) { + $aStyles[] = $conditionalStyle; + } + } + } + + return $aStyles; + } + + /** + * Get an array of all fills + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Fill[] All fills in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allFills(PHPExcel $pPHPExcel = null) + { + // Get an array of unique fills + $aFills = array(); + + // Two first fills are predefined + $fill0 = new PHPExcel_Style_Fill(); + $fill0->setFillType(PHPExcel_Style_Fill::FILL_NONE); + $aFills[] = $fill0; + + $fill1 = new PHPExcel_Style_Fill(); + $fill1->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_GRAY125); + $aFills[] = $fill1; + // The remaining fills + $aStyles = $this->allStyles($pPHPExcel); + foreach ($aStyles as $style) { + if (!array_key_exists($style->getFill()->getHashCode(), $aFills)) { + $aFills[ $style->getFill()->getHashCode() ] = $style->getFill(); + } + } + + return $aFills; + } + + /** + * Get an array of all fonts + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Font[] All fonts in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allFonts(PHPExcel $pPHPExcel = null) + { + // Get an array of unique fonts + $aFonts = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if (!array_key_exists($style->getFont()->getHashCode(), $aFonts)) { + $aFonts[ $style->getFont()->getHashCode() ] = $style->getFont(); + } + } + + return $aFonts; + } + + /** + * Get an array of all borders + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_Borders[] All borders in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allBorders(PHPExcel $pPHPExcel = null) + { + // Get an array of unique borders + $aBorders = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if (!array_key_exists($style->getBorders()->getHashCode(), $aBorders)) { + $aBorders[ $style->getBorders()->getHashCode() ] = $style->getBorders(); + } + } + + return $aBorders; + } + + /** + * Get an array of all number formats + * + * @param PHPExcel $pPHPExcel + * @return PHPExcel_Style_NumberFormat[] All number formats in PHPExcel + * @throws PHPExcel_Writer_Exception + */ + public function allNumberFormats(PHPExcel $pPHPExcel = null) + { + // Get an array of unique number formats + $aNumFmts = array(); + $aStyles = $this->allStyles($pPHPExcel); + + foreach ($aStyles as $style) { + if ($style->getNumberFormat()->getBuiltInFormatCode() === false && !array_key_exists($style->getNumberFormat()->getHashCode(), $aNumFmts)) { + $aNumFmts[ $style->getNumberFormat()->getHashCode() ] = $style->getNumberFormat(); + } + } + + return $aNumFmts; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php index c67b94816..223e40241 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Theme.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,841 +31,839 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Writer_Excel2007_Theme extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Map of Major fonts to write - * @static array of string - * - */ - private static $_majorFonts = array( - 'Jpan' => 'MS Pゴシック', - 'Hang' => '맑은 고딕', - 'Hans' => '宋体', - 'Hant' => '新細明體', - 'Arab' => 'Times New Roman', - 'Hebr' => 'Times New Roman', - 'Thai' => 'Tahoma', - 'Ethi' => 'Nyala', - 'Beng' => 'Vrinda', - 'Gujr' => 'Shruti', - 'Khmr' => 'MoolBoran', - 'Knda' => 'Tunga', - 'Guru' => 'Raavi', - 'Cans' => 'Euphemia', - 'Cher' => 'Plantagenet Cherokee', - 'Yiii' => 'Microsoft Yi Baiti', - 'Tibt' => 'Microsoft Himalaya', - 'Thaa' => 'MV Boli', - 'Deva' => 'Mangal', - 'Telu' => 'Gautami', - 'Taml' => 'Latha', - 'Syrc' => 'Estrangelo Edessa', - 'Orya' => 'Kalinga', - 'Mlym' => 'Kartika', - 'Laoo' => 'DokChampa', - 'Sinh' => 'Iskoola Pota', - 'Mong' => 'Mongolian Baiti', - 'Viet' => 'Times New Roman', - 'Uigh' => 'Microsoft Uighur', - 'Geor' => 'Sylfaen', - ); - - /** - * Map of Minor fonts to write - * @static array of string - * - */ - private static $_minorFonts = array( - 'Jpan' => 'MS Pゴシック', - 'Hang' => '맑은 고딕', - 'Hans' => '宋体', - 'Hant' => '新細明體', - 'Arab' => 'Arial', - 'Hebr' => 'Arial', - 'Thai' => 'Tahoma', - 'Ethi' => 'Nyala', - 'Beng' => 'Vrinda', - 'Gujr' => 'Shruti', - 'Khmr' => 'DaunPenh', - 'Knda' => 'Tunga', - 'Guru' => 'Raavi', - 'Cans' => 'Euphemia', - 'Cher' => 'Plantagenet Cherokee', - 'Yiii' => 'Microsoft Yi Baiti', - 'Tibt' => 'Microsoft Himalaya', - 'Thaa' => 'MV Boli', - 'Deva' => 'Mangal', - 'Telu' => 'Gautami', - 'Taml' => 'Latha', - 'Syrc' => 'Estrangelo Edessa', - 'Orya' => 'Kalinga', - 'Mlym' => 'Kartika', - 'Laoo' => 'DokChampa', - 'Sinh' => 'Iskoola Pota', - 'Mong' => 'Mongolian Baiti', - 'Viet' => 'Arial', - 'Uigh' => 'Microsoft Uighur', - 'Geor' => 'Sylfaen', - ); - - /** - * Map of core colours - * @static array of string - * - */ - private static $_colourScheme = array( - 'dk2' => '1F497D', - 'lt2' => 'EEECE1', - 'accent1' => '4F81BD', - 'accent2' => 'C0504D', - 'accent3' => '9BBB59', - 'accent4' => '8064A2', - 'accent5' => '4BACC6', - 'accent6' => 'F79646', - 'hlink' => '0000FF', - 'folHlink' => '800080', - ); - - /** - * Write theme to XML format - * - * @param PHPExcel $pPHPExcel - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeTheme(PHPExcel $pPHPExcel = null) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } - - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); - - // a:theme - $objWriter->startElement('a:theme'); - $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); - $objWriter->writeAttribute('name', 'Office Theme'); - - // a:themeElements - $objWriter->startElement('a:themeElements'); - - // a:clrScheme - $objWriter->startElement('a:clrScheme'); - $objWriter->writeAttribute('name', 'Office'); - - // a:dk1 - $objWriter->startElement('a:dk1'); - - // a:sysClr - $objWriter->startElement('a:sysClr'); - $objWriter->writeAttribute('val', 'windowText'); - $objWriter->writeAttribute('lastClr', '000000'); - $objWriter->endElement(); - - $objWriter->endElement(); - - // a:lt1 - $objWriter->startElement('a:lt1'); - - // a:sysClr - $objWriter->startElement('a:sysClr'); - $objWriter->writeAttribute('val', 'window'); - $objWriter->writeAttribute('lastClr', 'FFFFFF'); - $objWriter->endElement(); - - $objWriter->endElement(); - - // a:dk2 - $this->_writeColourScheme($objWriter); - - $objWriter->endElement(); - - // a:fontScheme - $objWriter->startElement('a:fontScheme'); - $objWriter->writeAttribute('name', 'Office'); - - // a:majorFont - $objWriter->startElement('a:majorFont'); - $this->_writeFonts($objWriter, 'Cambria', self::$_majorFonts); - $objWriter->endElement(); - - // a:minorFont - $objWriter->startElement('a:minorFont'); - $this->_writeFonts($objWriter, 'Calibri', self::$_minorFonts); - $objWriter->endElement(); - - $objWriter->endElement(); - - // a:fmtScheme - $objWriter->startElement('a:fmtScheme'); - $objWriter->writeAttribute('name', 'Office'); - - // a:fillStyleLst - $objWriter->startElement('a:fillStyleLst'); - - // a:solidFill - $objWriter->startElement('a:solidFill'); - - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); - $objWriter->endElement(); - - $objWriter->endElement(); - - // a:gradFill - $objWriter->startElement('a:gradFill'); - $objWriter->writeAttribute('rotWithShape', '1'); + /** + * Map of Major fonts to write + * @static array of string + * + */ + private static $majorFonts = array( + 'Jpan' => 'MS Pゴシック', + 'Hang' => '맑은 고딕', + 'Hans' => '宋体', + 'Hant' => '新細明體', + 'Arab' => 'Times New Roman', + 'Hebr' => 'Times New Roman', + 'Thai' => 'Tahoma', + 'Ethi' => 'Nyala', + 'Beng' => 'Vrinda', + 'Gujr' => 'Shruti', + 'Khmr' => 'MoolBoran', + 'Knda' => 'Tunga', + 'Guru' => 'Raavi', + 'Cans' => 'Euphemia', + 'Cher' => 'Plantagenet Cherokee', + 'Yiii' => 'Microsoft Yi Baiti', + 'Tibt' => 'Microsoft Himalaya', + 'Thaa' => 'MV Boli', + 'Deva' => 'Mangal', + 'Telu' => 'Gautami', + 'Taml' => 'Latha', + 'Syrc' => 'Estrangelo Edessa', + 'Orya' => 'Kalinga', + 'Mlym' => 'Kartika', + 'Laoo' => 'DokChampa', + 'Sinh' => 'Iskoola Pota', + 'Mong' => 'Mongolian Baiti', + 'Viet' => 'Times New Roman', + 'Uigh' => 'Microsoft Uighur', + 'Geor' => 'Sylfaen', + ); + + /** + * Map of Minor fonts to write + * @static array of string + * + */ + private static $minorFonts = array( + 'Jpan' => 'MS Pゴシック', + 'Hang' => '맑은 고딕', + 'Hans' => '宋体', + 'Hant' => '新細明體', + 'Arab' => 'Arial', + 'Hebr' => 'Arial', + 'Thai' => 'Tahoma', + 'Ethi' => 'Nyala', + 'Beng' => 'Vrinda', + 'Gujr' => 'Shruti', + 'Khmr' => 'DaunPenh', + 'Knda' => 'Tunga', + 'Guru' => 'Raavi', + 'Cans' => 'Euphemia', + 'Cher' => 'Plantagenet Cherokee', + 'Yiii' => 'Microsoft Yi Baiti', + 'Tibt' => 'Microsoft Himalaya', + 'Thaa' => 'MV Boli', + 'Deva' => 'Mangal', + 'Telu' => 'Gautami', + 'Taml' => 'Latha', + 'Syrc' => 'Estrangelo Edessa', + 'Orya' => 'Kalinga', + 'Mlym' => 'Kartika', + 'Laoo' => 'DokChampa', + 'Sinh' => 'Iskoola Pota', + 'Mong' => 'Mongolian Baiti', + 'Viet' => 'Arial', + 'Uigh' => 'Microsoft Uighur', + 'Geor' => 'Sylfaen', + ); + + /** + * Map of core colours + * @static array of string + * + */ + private static $colourScheme = array( + 'dk2' => '1F497D', + 'lt2' => 'EEECE1', + 'accent1' => '4F81BD', + 'accent2' => 'C0504D', + 'accent3' => '9BBB59', + 'accent4' => '8064A2', + 'accent5' => '4BACC6', + 'accent6' => 'F79646', + 'hlink' => '0000FF', + 'folHlink' => '800080', + ); + + /** + * Write theme to XML format + * + * @param PHPExcel $pPHPExcel + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeTheme(PHPExcel $pPHPExcel = null) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); + + // a:theme + $objWriter->startElement('a:theme'); + $objWriter->writeAttribute('xmlns:a', 'http://schemas.openxmlformats.org/drawingml/2006/main'); + $objWriter->writeAttribute('name', 'Office Theme'); + + // a:themeElements + $objWriter->startElement('a:themeElements'); + + // a:clrScheme + $objWriter->startElement('a:clrScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:dk1 + $objWriter->startElement('a:dk1'); + + // a:sysClr + $objWriter->startElement('a:sysClr'); + $objWriter->writeAttribute('val', 'windowText'); + $objWriter->writeAttribute('lastClr', '000000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:lt1 + $objWriter->startElement('a:lt1'); + + // a:sysClr + $objWriter->startElement('a:sysClr'); + $objWriter->writeAttribute('val', 'window'); + $objWriter->writeAttribute('lastClr', 'FFFFFF'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:dk2 + $this->writeColourScheme($objWriter); + + $objWriter->endElement(); + + // a:fontScheme + $objWriter->startElement('a:fontScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:majorFont + $objWriter->startElement('a:majorFont'); + $this->writeFonts($objWriter, 'Cambria', self::$majorFonts); + $objWriter->endElement(); + + // a:minorFont + $objWriter->startElement('a:minorFont'); + $this->writeFonts($objWriter, 'Calibri', self::$minorFonts); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:fmtScheme + $objWriter->startElement('a:fmtScheme'); + $objWriter->writeAttribute('name', 'Office'); + + // a:fillStyleLst + $objWriter->startElement('a:fillStyleLst'); + + // a:solidFill + $objWriter->startElement('a:solidFill'); + + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); - // a:gsLst - $objWriter->startElement('a:gsLst'); + // a:gsLst + $objWriter->startElement('a:gsLst'); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '0'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '50000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '50000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '300000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '35000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '35000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '37000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '37000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '300000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '100000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '15000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '15000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '350000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:lin - $objWriter->startElement('a:lin'); - $objWriter->writeAttribute('ang', '16200000'); - $objWriter->writeAttribute('scaled', '1'); - $objWriter->endElement(); + // a:lin + $objWriter->startElement('a:lin'); + $objWriter->writeAttribute('ang', '16200000'); + $objWriter->writeAttribute('scaled', '1'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gradFill - $objWriter->startElement('a:gradFill'); - $objWriter->writeAttribute('rotWithShape', '1'); + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); - // a:gsLst - $objWriter->startElement('a:gsLst'); + // a:gsLst + $objWriter->startElement('a:gsLst'); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '0'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '51000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '51000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '130000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '130000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '80000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '80000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '93000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '93000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '130000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '130000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '100000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '94000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '94000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '135000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '135000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:lin - $objWriter->startElement('a:lin'); - $objWriter->writeAttribute('ang', '16200000'); - $objWriter->writeAttribute('scaled', '0'); - $objWriter->endElement(); + // a:lin + $objWriter->startElement('a:lin'); + $objWriter->writeAttribute('ang', '16200000'); + $objWriter->writeAttribute('scaled', '0'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:lnStyleLst - $objWriter->startElement('a:lnStyleLst'); + // a:lnStyleLst + $objWriter->startElement('a:lnStyleLst'); - // a:ln - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', '9525'); - $objWriter->writeAttribute('cap', 'flat'); - $objWriter->writeAttribute('cmpd', 'sng'); - $objWriter->writeAttribute('algn', 'ctr'); + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '9525'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); - // a:solidFill - $objWriter->startElement('a:solidFill'); + // a:solidFill + $objWriter->startElement('a:solidFill'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '95000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '95000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '105000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '105000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:prstDash - $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', 'solid'); - $objWriter->endElement(); + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:ln - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', '25400'); - $objWriter->writeAttribute('cap', 'flat'); - $objWriter->writeAttribute('cmpd', 'sng'); - $objWriter->writeAttribute('algn', 'ctr'); + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '25400'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); - // a:solidFill - $objWriter->startElement('a:solidFill'); + // a:solidFill + $objWriter->startElement('a:solidFill'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); - $objWriter->endElement(); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:prstDash - $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', 'solid'); - $objWriter->endElement(); + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:ln - $objWriter->startElement('a:ln'); - $objWriter->writeAttribute('w', '38100'); - $objWriter->writeAttribute('cap', 'flat'); - $objWriter->writeAttribute('cmpd', 'sng'); - $objWriter->writeAttribute('algn', 'ctr'); + // a:ln + $objWriter->startElement('a:ln'); + $objWriter->writeAttribute('w', '38100'); + $objWriter->writeAttribute('cap', 'flat'); + $objWriter->writeAttribute('cmpd', 'sng'); + $objWriter->writeAttribute('algn', 'ctr'); - // a:solidFill - $objWriter->startElement('a:solidFill'); + // a:solidFill + $objWriter->startElement('a:solidFill'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); - $objWriter->endElement(); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:prstDash - $objWriter->startElement('a:prstDash'); - $objWriter->writeAttribute('val', 'solid'); - $objWriter->endElement(); + // a:prstDash + $objWriter->startElement('a:prstDash'); + $objWriter->writeAttribute('val', 'solid'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:effectStyleLst - $objWriter->startElement('a:effectStyleLst'); + // a:effectStyleLst + $objWriter->startElement('a:effectStyleLst'); - // a:effectStyle - $objWriter->startElement('a:effectStyle'); + // a:effectStyle + $objWriter->startElement('a:effectStyle'); - // a:effectLst - $objWriter->startElement('a:effectLst'); + // a:effectLst + $objWriter->startElement('a:effectLst'); - // a:outerShdw - $objWriter->startElement('a:outerShdw'); - $objWriter->writeAttribute('blurRad', '40000'); - $objWriter->writeAttribute('dist', '20000'); - $objWriter->writeAttribute('dir', '5400000'); - $objWriter->writeAttribute('rotWithShape', '0'); + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '20000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', '000000'); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); - // a:alpha - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', '38000'); - $objWriter->endElement(); + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '38000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:effectStyle - $objWriter->startElement('a:effectStyle'); + // a:effectStyle + $objWriter->startElement('a:effectStyle'); - // a:effectLst - $objWriter->startElement('a:effectLst'); + // a:effectLst + $objWriter->startElement('a:effectLst'); - // a:outerShdw - $objWriter->startElement('a:outerShdw'); - $objWriter->writeAttribute('blurRad', '40000'); - $objWriter->writeAttribute('dist', '23000'); - $objWriter->writeAttribute('dir', '5400000'); - $objWriter->writeAttribute('rotWithShape', '0'); + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '23000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', '000000'); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); - // a:alpha - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', '35000'); - $objWriter->endElement(); + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '35000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:effectStyle - $objWriter->startElement('a:effectStyle'); + // a:effectStyle + $objWriter->startElement('a:effectStyle'); - // a:effectLst - $objWriter->startElement('a:effectLst'); + // a:effectLst + $objWriter->startElement('a:effectLst'); - // a:outerShdw - $objWriter->startElement('a:outerShdw'); - $objWriter->writeAttribute('blurRad', '40000'); - $objWriter->writeAttribute('dist', '23000'); - $objWriter->writeAttribute('dir', '5400000'); - $objWriter->writeAttribute('rotWithShape', '0'); + // a:outerShdw + $objWriter->startElement('a:outerShdw'); + $objWriter->writeAttribute('blurRad', '40000'); + $objWriter->writeAttribute('dist', '23000'); + $objWriter->writeAttribute('dir', '5400000'); + $objWriter->writeAttribute('rotWithShape', '0'); - // a:srgbClr - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', '000000'); + // a:srgbClr + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', '000000'); - // a:alpha - $objWriter->startElement('a:alpha'); - $objWriter->writeAttribute('val', '35000'); - $objWriter->endElement(); + // a:alpha + $objWriter->startElement('a:alpha'); + $objWriter->writeAttribute('val', '35000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:scene3d - $objWriter->startElement('a:scene3d'); + // a:scene3d + $objWriter->startElement('a:scene3d'); - // a:camera - $objWriter->startElement('a:camera'); - $objWriter->writeAttribute('prst', 'orthographicFront'); + // a:camera + $objWriter->startElement('a:camera'); + $objWriter->writeAttribute('prst', 'orthographicFront'); - // a:rot - $objWriter->startElement('a:rot'); - $objWriter->writeAttribute('lat', '0'); - $objWriter->writeAttribute('lon', '0'); - $objWriter->writeAttribute('rev', '0'); - $objWriter->endElement(); + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '0'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:lightRig - $objWriter->startElement('a:lightRig'); - $objWriter->writeAttribute('rig', 'threePt'); - $objWriter->writeAttribute('dir', 't'); + // a:lightRig + $objWriter->startElement('a:lightRig'); + $objWriter->writeAttribute('rig', 'threePt'); + $objWriter->writeAttribute('dir', 't'); - // a:rot - $objWriter->startElement('a:rot'); - $objWriter->writeAttribute('lat', '0'); - $objWriter->writeAttribute('lon', '0'); - $objWriter->writeAttribute('rev', '1200000'); - $objWriter->endElement(); + // a:rot + $objWriter->startElement('a:rot'); + $objWriter->writeAttribute('lat', '0'); + $objWriter->writeAttribute('lon', '0'); + $objWriter->writeAttribute('rev', '1200000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:sp3d - $objWriter->startElement('a:sp3d'); + // a:sp3d + $objWriter->startElement('a:sp3d'); - // a:bevelT - $objWriter->startElement('a:bevelT'); - $objWriter->writeAttribute('w', '63500'); - $objWriter->writeAttribute('h', '25400'); - $objWriter->endElement(); + // a:bevelT + $objWriter->startElement('a:bevelT'); + $objWriter->writeAttribute('w', '63500'); + $objWriter->writeAttribute('h', '25400'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:bgFillStyleLst - $objWriter->startElement('a:bgFillStyleLst'); + // a:bgFillStyleLst + $objWriter->startElement('a:bgFillStyleLst'); - // a:solidFill - $objWriter->startElement('a:solidFill'); + // a:solidFill + $objWriter->startElement('a:solidFill'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); - $objWriter->endElement(); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gradFill - $objWriter->startElement('a:gradFill'); - $objWriter->writeAttribute('rotWithShape', '1'); + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); - // a:gsLst - $objWriter->startElement('a:gsLst'); + // a:gsLst + $objWriter->startElement('a:gsLst'); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '0'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '40000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '40000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '350000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '40000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '40000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '45000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '45000'); + $objWriter->endElement(); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '99000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '99000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '350000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '350000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '100000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '20000'); - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '20000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '255000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '255000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:path - $objWriter->startElement('a:path'); - $objWriter->writeAttribute('path', 'circle'); + // a:path + $objWriter->startElement('a:path'); + $objWriter->writeAttribute('path', 'circle'); - // a:fillToRect - $objWriter->startElement('a:fillToRect'); - $objWriter->writeAttribute('l', '50000'); - $objWriter->writeAttribute('t', '-80000'); - $objWriter->writeAttribute('r', '50000'); - $objWriter->writeAttribute('b', '180000'); - $objWriter->endElement(); + // a:fillToRect + $objWriter->startElement('a:fillToRect'); + $objWriter->writeAttribute('l', '50000'); + $objWriter->writeAttribute('t', '-80000'); + $objWriter->writeAttribute('r', '50000'); + $objWriter->writeAttribute('b', '180000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gradFill - $objWriter->startElement('a:gradFill'); - $objWriter->writeAttribute('rotWithShape', '1'); + // a:gradFill + $objWriter->startElement('a:gradFill'); + $objWriter->writeAttribute('rotWithShape', '1'); - // a:gsLst - $objWriter->startElement('a:gsLst'); + // a:gsLst + $objWriter->startElement('a:gsLst'); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '0'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '0'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:tint - $objWriter->startElement('a:tint'); - $objWriter->writeAttribute('val', '80000'); - $objWriter->endElement(); + // a:tint + $objWriter->startElement('a:tint'); + $objWriter->writeAttribute('val', '80000'); + $objWriter->endElement(); - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '300000'); - $objWriter->endElement(); + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '300000'); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); - // a:gs - $objWriter->startElement('a:gs'); - $objWriter->writeAttribute('pos', '100000'); + // a:gs + $objWriter->startElement('a:gs'); + $objWriter->writeAttribute('pos', '100000'); - // a:schemeClr - $objWriter->startElement('a:schemeClr'); - $objWriter->writeAttribute('val', 'phClr'); + // a:schemeClr + $objWriter->startElement('a:schemeClr'); + $objWriter->writeAttribute('val', 'phClr'); - // a:shade - $objWriter->startElement('a:shade'); - $objWriter->writeAttribute('val', '30000'); - $objWriter->endElement(); - - // a:satMod - $objWriter->startElement('a:satMod'); - $objWriter->writeAttribute('val', '200000'); - $objWriter->endElement(); - - $objWriter->endElement(); + // a:shade + $objWriter->startElement('a:shade'); + $objWriter->writeAttribute('val', '30000'); + $objWriter->endElement(); + + // a:satMod + $objWriter->startElement('a:satMod'); + $objWriter->writeAttribute('val', '200000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->endElement(); + + // a:path + $objWriter->startElement('a:path'); + $objWriter->writeAttribute('path', 'circle'); + + // a:fillToRect + $objWriter->startElement('a:fillToRect'); + $objWriter->writeAttribute('l', '50000'); + $objWriter->writeAttribute('t', '50000'); + $objWriter->writeAttribute('r', '50000'); + $objWriter->writeAttribute('b', '50000'); + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + $objWriter->endElement(); + + // a:objectDefaults + $objWriter->writeElement('a:objectDefaults', null); - $objWriter->endElement(); - - // a:path - $objWriter->startElement('a:path'); - $objWriter->writeAttribute('path', 'circle'); - - // a:fillToRect - $objWriter->startElement('a:fillToRect'); - $objWriter->writeAttribute('l', '50000'); - $objWriter->writeAttribute('t', '50000'); - $objWriter->writeAttribute('r', '50000'); - $objWriter->writeAttribute('b', '50000'); - $objWriter->endElement(); - - $objWriter->endElement(); - - $objWriter->endElement(); - - $objWriter->endElement(); - - $objWriter->endElement(); - - $objWriter->endElement(); - - // a:objectDefaults - $objWriter->writeElement('a:objectDefaults', null); - - // a:extraClrSchemeLst - $objWriter->writeElement('a:extraClrSchemeLst', null); - - $objWriter->endElement(); - - // Return - return $objWriter->getData(); - } - - /** - * Write fonts to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter - * @param string $latinFont - * @param array of string $fontSet - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - private function _writeFonts($objWriter, $latinFont, $fontSet) - { - // a:latin - $objWriter->startElement('a:latin'); - $objWriter->writeAttribute('typeface', $latinFont); - $objWriter->endElement(); - - // a:ea - $objWriter->startElement('a:ea'); - $objWriter->writeAttribute('typeface', ''); - $objWriter->endElement(); - - // a:cs - $objWriter->startElement('a:cs'); - $objWriter->writeAttribute('typeface', ''); - $objWriter->endElement(); - - foreach($fontSet as $fontScript => $typeface) { - $objWriter->startElement('a:font'); - $objWriter->writeAttribute('script', $fontScript); - $objWriter->writeAttribute('typeface', $typeface); - $objWriter->endElement(); - } - - } - - /** - * Write colour scheme to XML format - * - * @param PHPExcel_Shared_XMLWriter $objWriter - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - private function _writeColourScheme($objWriter) - { - foreach(self::$_colourScheme as $colourName => $colourValue) { - $objWriter->startElement('a:'.$colourName); - - $objWriter->startElement('a:srgbClr'); - $objWriter->writeAttribute('val', $colourValue); - $objWriter->endElement(); - - $objWriter->endElement(); - } - - } + // a:extraClrSchemeLst + $objWriter->writeElement('a:extraClrSchemeLst', null); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } + + /** + * Write fonts to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @param string $latinFont + * @param array of string $fontSet + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + private function writeFonts($objWriter, $latinFont, $fontSet) + { + // a:latin + $objWriter->startElement('a:latin'); + $objWriter->writeAttribute('typeface', $latinFont); + $objWriter->endElement(); + + // a:ea + $objWriter->startElement('a:ea'); + $objWriter->writeAttribute('typeface', ''); + $objWriter->endElement(); + + // a:cs + $objWriter->startElement('a:cs'); + $objWriter->writeAttribute('typeface', ''); + $objWriter->endElement(); + + foreach ($fontSet as $fontScript => $typeface) { + $objWriter->startElement('a:font'); + $objWriter->writeAttribute('script', $fontScript); + $objWriter->writeAttribute('typeface', $typeface); + $objWriter->endElement(); + } + } + + /** + * Write colour scheme to XML format + * + * @param PHPExcel_Shared_XMLWriter $objWriter + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + private function writeColourScheme($objWriter) + { + foreach (self::$colourScheme as $colourName => $colourValue) { + $objWriter->startElement('a:'.$colourName); + + $objWriter->startElement('a:srgbClr'); + $objWriter->writeAttribute('val', $colourValue); + $objWriter->endElement(); + + $objWriter->endElement(); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php index f30929476..87c877ea9 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_Workbook * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,437 +21,428 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_Workbook - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel2007_Workbook extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write workbook to XML format - * - * @param PHPExcel $pPHPExcel - * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeWorkbook(PHPExcel $pPHPExcel = null, $recalcRequired = FALSE) - { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } + /** + * Write workbook to XML format + * + * @param PHPExcel $pPHPExcel + * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorkbook(PHPExcel $pPHPExcel = null, $recalcRequired = false) + { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); - // workbook - $objWriter->startElement('workbook'); - $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); - $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + // workbook + $objWriter->startElement('workbook'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - // fileVersion - $this->_writeFileVersion($objWriter); + // fileVersion + $this->writeFileVersion($objWriter); - // workbookPr - $this->_writeWorkbookPr($objWriter); + // workbookPr + $this->writeWorkbookPr($objWriter); - // workbookProtection - $this->_writeWorkbookProtection($objWriter, $pPHPExcel); + // workbookProtection + $this->writeWorkbookProtection($objWriter, $pPHPExcel); - // bookViews - if ($this->getParentWriter()->getOffice2003Compatibility() === false) { - $this->_writeBookViews($objWriter, $pPHPExcel); - } + // bookViews + if ($this->getParentWriter()->getOffice2003Compatibility() === false) { + $this->writeBookViews($objWriter, $pPHPExcel); + } - // sheets - $this->_writeSheets($objWriter, $pPHPExcel); + // sheets + $this->writeSheets($objWriter, $pPHPExcel); - // definedNames - $this->_writeDefinedNames($objWriter, $pPHPExcel); + // definedNames + $this->writeDefinedNames($objWriter, $pPHPExcel); - // calcPr - $this->_writeCalcPr($objWriter,$recalcRequired); + // calcPr + $this->writeCalcPr($objWriter, $recalcRequired); - $objWriter->endElement(); + $objWriter->endElement(); - // Return - return $objWriter->getData(); - } + // Return + return $objWriter->getData(); + } - /** - * Write file version - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @throws PHPExcel_Writer_Exception - */ - private function _writeFileVersion(PHPExcel_Shared_XMLWriter $objWriter = null) - { - $objWriter->startElement('fileVersion'); - $objWriter->writeAttribute('appName', 'xl'); - $objWriter->writeAttribute('lastEdited', '4'); - $objWriter->writeAttribute('lowestEdited', '4'); - $objWriter->writeAttribute('rupBuild', '4505'); - $objWriter->endElement(); - } + /** + * Write file version + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @throws PHPExcel_Writer_Exception + */ + private function writeFileVersion(PHPExcel_Shared_XMLWriter $objWriter = null) + { + $objWriter->startElement('fileVersion'); + $objWriter->writeAttribute('appName', 'xl'); + $objWriter->writeAttribute('lastEdited', '4'); + $objWriter->writeAttribute('lowestEdited', '4'); + $objWriter->writeAttribute('rupBuild', '4505'); + $objWriter->endElement(); + } - /** - * Write WorkbookPr - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @throws PHPExcel_Writer_Exception - */ - private function _writeWorkbookPr(PHPExcel_Shared_XMLWriter $objWriter = null) - { - $objWriter->startElement('workbookPr'); + /** + * Write WorkbookPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @throws PHPExcel_Writer_Exception + */ + private function writeWorkbookPr(PHPExcel_Shared_XMLWriter $objWriter = null) + { + $objWriter->startElement('workbookPr'); - if (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) { - $objWriter->writeAttribute('date1904', '1'); - } + if (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) { + $objWriter->writeAttribute('date1904', '1'); + } - $objWriter->writeAttribute('codeName', 'ThisWorkbook'); + $objWriter->writeAttribute('codeName', 'ThisWorkbook'); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write BookViews - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel $pPHPExcel - * @throws PHPExcel_Writer_Exception - */ - private function _writeBookViews(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) - { - // bookViews - $objWriter->startElement('bookViews'); + /** + * Write BookViews + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function writeBookViews(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // bookViews + $objWriter->startElement('bookViews'); - // workbookView - $objWriter->startElement('workbookView'); + // workbookView + $objWriter->startElement('workbookView'); - $objWriter->writeAttribute('activeTab', $pPHPExcel->getActiveSheetIndex()); - $objWriter->writeAttribute('autoFilterDateGrouping', '1'); - $objWriter->writeAttribute('firstSheet', '0'); - $objWriter->writeAttribute('minimized', '0'); - $objWriter->writeAttribute('showHorizontalScroll', '1'); - $objWriter->writeAttribute('showSheetTabs', '1'); - $objWriter->writeAttribute('showVerticalScroll', '1'); - $objWriter->writeAttribute('tabRatio', '600'); - $objWriter->writeAttribute('visibility', 'visible'); + $objWriter->writeAttribute('activeTab', $pPHPExcel->getActiveSheetIndex()); + $objWriter->writeAttribute('autoFilterDateGrouping', '1'); + $objWriter->writeAttribute('firstSheet', '0'); + $objWriter->writeAttribute('minimized', '0'); + $objWriter->writeAttribute('showHorizontalScroll', '1'); + $objWriter->writeAttribute('showSheetTabs', '1'); + $objWriter->writeAttribute('showVerticalScroll', '1'); + $objWriter->writeAttribute('tabRatio', '600'); + $objWriter->writeAttribute('visibility', 'visible'); - $objWriter->endElement(); + $objWriter->endElement(); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write WorkbookProtection - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel $pPHPExcel - * @throws PHPExcel_Writer_Exception - */ - private function _writeWorkbookProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) - { - if ($pPHPExcel->getSecurity()->isSecurityEnabled()) { - $objWriter->startElement('workbookProtection'); - $objWriter->writeAttribute('lockRevision', ($pPHPExcel->getSecurity()->getLockRevision() ? 'true' : 'false')); - $objWriter->writeAttribute('lockStructure', ($pPHPExcel->getSecurity()->getLockStructure() ? 'true' : 'false')); - $objWriter->writeAttribute('lockWindows', ($pPHPExcel->getSecurity()->getLockWindows() ? 'true' : 'false')); + /** + * Write WorkbookProtection + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function writeWorkbookProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + if ($pPHPExcel->getSecurity()->isSecurityEnabled()) { + $objWriter->startElement('workbookProtection'); + $objWriter->writeAttribute('lockRevision', ($pPHPExcel->getSecurity()->getLockRevision() ? 'true' : 'false')); + $objWriter->writeAttribute('lockStructure', ($pPHPExcel->getSecurity()->getLockStructure() ? 'true' : 'false')); + $objWriter->writeAttribute('lockWindows', ($pPHPExcel->getSecurity()->getLockWindows() ? 'true' : 'false')); - if ($pPHPExcel->getSecurity()->getRevisionsPassword() != '') { - $objWriter->writeAttribute('revisionsPassword', $pPHPExcel->getSecurity()->getRevisionsPassword()); - } + if ($pPHPExcel->getSecurity()->getRevisionsPassword() != '') { + $objWriter->writeAttribute('revisionsPassword', $pPHPExcel->getSecurity()->getRevisionsPassword()); + } - if ($pPHPExcel->getSecurity()->getWorkbookPassword() != '') { - $objWriter->writeAttribute('workbookPassword', $pPHPExcel->getSecurity()->getWorkbookPassword()); - } + if ($pPHPExcel->getSecurity()->getWorkbookPassword() != '') { + $objWriter->writeAttribute('workbookPassword', $pPHPExcel->getSecurity()->getWorkbookPassword()); + } - $objWriter->endElement(); - } - } + $objWriter->endElement(); + } + } - /** - * Write calcPr - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing - * @throws PHPExcel_Writer_Exception - */ - private function _writeCalcPr(PHPExcel_Shared_XMLWriter $objWriter = null, $recalcRequired = TRUE) - { - $objWriter->startElement('calcPr'); + /** + * Write calcPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param boolean $recalcRequired Indicate whether formulas should be recalculated before writing + * @throws PHPExcel_Writer_Exception + */ + private function writeCalcPr(PHPExcel_Shared_XMLWriter $objWriter = null, $recalcRequired = true) + { + $objWriter->startElement('calcPr'); - // Set the calcid to a higher value than Excel itself will use, otherwise Excel will always recalc + // Set the calcid to a higher value than Excel itself will use, otherwise Excel will always recalc // If MS Excel does do a recalc, then users opening a file in MS Excel will be prompted to save on exit // because the file has changed - $objWriter->writeAttribute('calcId', '999999'); - $objWriter->writeAttribute('calcMode', 'auto'); - // fullCalcOnLoad isn't needed if we've recalculating for the save - $objWriter->writeAttribute('calcCompleted', ($recalcRequired) ? 1 : 0); - $objWriter->writeAttribute('fullCalcOnLoad', ($recalcRequired) ? 0 : 1); + $objWriter->writeAttribute('calcId', '999999'); + $objWriter->writeAttribute('calcMode', 'auto'); + // fullCalcOnLoad isn't needed if we've recalculating for the save + $objWriter->writeAttribute('calcCompleted', ($recalcRequired) ? 1 : 0); + $objWriter->writeAttribute('fullCalcOnLoad', ($recalcRequired) ? 0 : 1); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write sheets - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel $pPHPExcel - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheets(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) - { - // Write sheets - $objWriter->startElement('sheets'); - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - // sheet - $this->_writeSheet( - $objWriter, - $pPHPExcel->getSheet($i)->getTitle(), - ($i + 1), - ($i + 1 + 3), - $pPHPExcel->getSheet($i)->getSheetState() - ); - } + /** + * Write sheets + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function writeSheets(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // Write sheets + $objWriter->startElement('sheets'); + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // sheet + $this->writeSheet( + $objWriter, + $pPHPExcel->getSheet($i)->getTitle(), + ($i + 1), + ($i + 1 + 3), + $pPHPExcel->getSheet($i)->getSheetState() + ); + } - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write sheet - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param string $pSheetname Sheet name - * @param int $pSheetId Sheet id - * @param int $pRelId Relationship ID - * @param string $sheetState Sheet state (visible, hidden, veryHidden) - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheet(PHPExcel_Shared_XMLWriter $objWriter = null, $pSheetname = '', $pSheetId = 1, $pRelId = 1, $sheetState = 'visible') - { - if ($pSheetname != '') { - // Write sheet - $objWriter->startElement('sheet'); - $objWriter->writeAttribute('name', $pSheetname); - $objWriter->writeAttribute('sheetId', $pSheetId); - if ($sheetState != 'visible' && $sheetState != '') { - $objWriter->writeAttribute('state', $sheetState); - } - $objWriter->writeAttribute('r:id', 'rId' . $pRelId); - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + /** + * Write sheet + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param string $pSheetname Sheet name + * @param int $pSheetId Sheet id + * @param int $pRelId Relationship ID + * @param string $sheetState Sheet state (visible, hidden, veryHidden) + * @throws PHPExcel_Writer_Exception + */ + private function writeSheet(PHPExcel_Shared_XMLWriter $objWriter = null, $pSheetname = '', $pSheetId = 1, $pRelId = 1, $sheetState = 'visible') + { + if ($pSheetname != '') { + // Write sheet + $objWriter->startElement('sheet'); + $objWriter->writeAttribute('name', $pSheetname); + $objWriter->writeAttribute('sheetId', $pSheetId); + if ($sheetState != 'visible' && $sheetState != '') { + $objWriter->writeAttribute('state', $sheetState); + } + $objWriter->writeAttribute('r:id', 'rId' . $pRelId); + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } - /** - * Write Defined Names - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel $pPHPExcel - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefinedNames(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) - { - // Write defined names - $objWriter->startElement('definedNames'); + /** + * Write Defined Names + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function writeDefinedNames(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel = null) + { + // Write defined names + $objWriter->startElement('definedNames'); - // Named ranges - if (count($pPHPExcel->getNamedRanges()) > 0) { - // Named ranges - $this->_writeNamedRanges($objWriter, $pPHPExcel); - } + // Named ranges + if (count($pPHPExcel->getNamedRanges()) > 0) { + // Named ranges + $this->writeNamedRanges($objWriter, $pPHPExcel); + } - // Other defined names - $sheetCount = $pPHPExcel->getSheetCount(); - for ($i = 0; $i < $sheetCount; ++$i) { - // definedName for autoFilter - $this->_writeDefinedNameForAutofilter($objWriter, $pPHPExcel->getSheet($i), $i); + // Other defined names + $sheetCount = $pPHPExcel->getSheetCount(); + for ($i = 0; $i < $sheetCount; ++$i) { + // definedName for autoFilter + $this->writeDefinedNameForAutofilter($objWriter, $pPHPExcel->getSheet($i), $i); - // definedName for Print_Titles - $this->_writeDefinedNameForPrintTitles($objWriter, $pPHPExcel->getSheet($i), $i); + // definedName for Print_Titles + $this->writeDefinedNameForPrintTitles($objWriter, $pPHPExcel->getSheet($i), $i); - // definedName for Print_Area - $this->_writeDefinedNameForPrintArea($objWriter, $pPHPExcel->getSheet($i), $i); - } + // definedName for Print_Area + $this->writeDefinedNameForPrintArea($objWriter, $pPHPExcel->getSheet($i), $i); + } - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write named ranges - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel $pPHPExcel - * @throws PHPExcel_Writer_Exception - */ - private function _writeNamedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel) - { - // Loop named ranges - $namedRanges = $pPHPExcel->getNamedRanges(); - foreach ($namedRanges as $namedRange) { - $this->_writeDefinedNameForNamedRange($objWriter, $namedRange); - } - } + /** + * Write named ranges + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel $pPHPExcel + * @throws PHPExcel_Writer_Exception + */ + private function writeNamedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel $pPHPExcel) + { + // Loop named ranges + $namedRanges = $pPHPExcel->getNamedRanges(); + foreach ($namedRanges as $namedRange) { + $this->writeDefinedNameForNamedRange($objWriter, $namedRange); + } + } - /** - * Write Defined Name for named range - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_NamedRange $pNamedRange - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefinedNameForNamedRange(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_NamedRange $pNamedRange) - { - // definedName for named range - $objWriter->startElement('definedName'); - $objWriter->writeAttribute('name', $pNamedRange->getName()); - if ($pNamedRange->getLocalOnly()) { - $objWriter->writeAttribute('localSheetId', $pNamedRange->getScope()->getParent()->getIndex($pNamedRange->getScope())); - } + /** + * Write Defined Name for named range + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_NamedRange $pNamedRange + * @throws PHPExcel_Writer_Exception + */ + private function writeDefinedNameForNamedRange(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_NamedRange $pNamedRange) + { + // definedName for named range + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', $pNamedRange->getName()); + if ($pNamedRange->getLocalOnly()) { + $objWriter->writeAttribute('localSheetId', $pNamedRange->getScope()->getParent()->getIndex($pNamedRange->getScope())); + } - // Create absolute coordinate and write as raw text - $range = PHPExcel_Cell::splitRange($pNamedRange->getRange()); - for ($i = 0; $i < count($range); $i++) { - $range[$i][0] = '\'' . str_replace("'", "''", $pNamedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteReference($range[$i][0]); - if (isset($range[$i][1])) { - $range[$i][1] = PHPExcel_Cell::absoluteReference($range[$i][1]); - } - } - $range = PHPExcel_Cell::buildRange($range); + // Create absolute coordinate and write as raw text + $range = PHPExcel_Cell::splitRange($pNamedRange->getRange()); + for ($i = 0; $i < count($range); $i++) { + $range[$i][0] = '\'' . str_replace("'", "''", $pNamedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteReference($range[$i][0]); + if (isset($range[$i][1])) { + $range[$i][1] = PHPExcel_Cell::absoluteReference($range[$i][1]); + } + } + $range = PHPExcel_Cell::buildRange($range); - $objWriter->writeRawData($range); + $objWriter->writeRawData($range); - $objWriter->endElement(); - } + $objWriter->endElement(); + } - /** - * Write Defined Name for autoFilter - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet - * @param int $pSheetId - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefinedNameForAutofilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) - { - // definedName for autoFilter - $autoFilterRange = $pSheet->getAutoFilter()->getRange(); - if (!empty($autoFilterRange)) { - $objWriter->startElement('definedName'); - $objWriter->writeAttribute('name', '_xlnm._FilterDatabase'); - $objWriter->writeAttribute('localSheetId', $pSheetId); - $objWriter->writeAttribute('hidden', '1'); + /** + * Write Defined Name for autoFilter + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function writeDefinedNameForAutofilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for autoFilter + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm._FilterDatabase'); + $objWriter->writeAttribute('localSheetId', $pSheetId); + $objWriter->writeAttribute('hidden', '1'); - // Create absolute coordinate and write as raw text - $range = PHPExcel_Cell::splitRange($autoFilterRange); - $range = $range[0]; - // Strip any worksheet ref so we can make the cell ref absolute - if (strpos($range[0],'!') !== false) { - list($ws,$range[0]) = explode('!',$range[0]); - } + // Create absolute coordinate and write as raw text + $range = PHPExcel_Cell::splitRange($autoFilterRange); + $range = $range[0]; + // Strip any worksheet ref so we can make the cell ref absolute + if (strpos($range[0], '!') !== false) { + list($ws, $range[0]) = explode('!', $range[0]); + } - $range[0] = PHPExcel_Cell::absoluteCoordinate($range[0]); - $range[1] = PHPExcel_Cell::absoluteCoordinate($range[1]); - $range = implode(':', $range); + $range[0] = PHPExcel_Cell::absoluteCoordinate($range[0]); + $range[1] = PHPExcel_Cell::absoluteCoordinate($range[1]); + $range = implode(':', $range); - $objWriter->writeRawData('\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . $range); + $objWriter->writeRawData('\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . $range); - $objWriter->endElement(); - } - } + $objWriter->endElement(); + } + } - /** - * Write Defined Name for PrintTitles - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet - * @param int $pSheetId - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefinedNameForPrintTitles(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) - { - // definedName for PrintTitles - if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet() || $pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { - $objWriter->startElement('definedName'); - $objWriter->writeAttribute('name', '_xlnm.Print_Titles'); - $objWriter->writeAttribute('localSheetId', $pSheetId); + /** + * Write Defined Name for PrintTitles + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function writeDefinedNameForPrintTitles(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for PrintTitles + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet() || $pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm.Print_Titles'); + $objWriter->writeAttribute('localSheetId', $pSheetId); - // Setting string - $settingString = ''; + // Setting string + $settingString = ''; - // Columns to repeat - if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { - $repeat = $pSheet->getPageSetup()->getColumnsToRepeatAtLeft(); + // Columns to repeat + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { + $repeat = $pSheet->getPageSetup()->getColumnsToRepeatAtLeft(); - $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; - } + $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; + } - // Rows to repeat - if ($pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { - if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { - $settingString .= ','; - } + // Rows to repeat + if ($pSheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + if ($pSheet->getPageSetup()->isColumnsToRepeatAtLeftSet()) { + $settingString .= ','; + } - $repeat = $pSheet->getPageSetup()->getRowsToRepeatAtTop(); + $repeat = $pSheet->getPageSetup()->getRowsToRepeatAtTop(); - $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; - } + $settingString .= '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!$' . $repeat[0] . ':$' . $repeat[1]; + } - $objWriter->writeRawData($settingString); + $objWriter->writeRawData($settingString); - $objWriter->endElement(); - } - } + $objWriter->endElement(); + } + } - /** - * Write Defined Name for PrintTitles - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet - * @param int $pSheetId - * @throws PHPExcel_Writer_Exception - */ - private function _writeDefinedNameForPrintArea(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) - { - // definedName for PrintArea - if ($pSheet->getPageSetup()->isPrintAreaSet()) { - $objWriter->startElement('definedName'); - $objWriter->writeAttribute('name', '_xlnm.Print_Area'); - $objWriter->writeAttribute('localSheetId', $pSheetId); + /** + * Write Defined Name for PrintTitles + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet + * @param int $pSheetId + * @throws PHPExcel_Writer_Exception + */ + private function writeDefinedNameForPrintArea(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pSheetId = 0) + { + // definedName for PrintArea + if ($pSheet->getPageSetup()->isPrintAreaSet()) { + $objWriter->startElement('definedName'); + $objWriter->writeAttribute('name', '_xlnm.Print_Area'); + $objWriter->writeAttribute('localSheetId', $pSheetId); - // Setting string - $settingString = ''; + // Setting string + $settingString = ''; - // Print area - $printArea = PHPExcel_Cell::splitRange($pSheet->getPageSetup()->getPrintArea()); + // Print area + $printArea = PHPExcel_Cell::splitRange($pSheet->getPageSetup()->getPrintArea()); - $chunks = array(); - foreach ($printArea as $printAreaRect) { - $printAreaRect[0] = PHPExcel_Cell::absoluteReference($printAreaRect[0]); - $printAreaRect[1] = PHPExcel_Cell::absoluteReference($printAreaRect[1]); - $chunks[] = '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . implode(':', $printAreaRect); - } + $chunks = array(); + foreach ($printArea as $printAreaRect) { + $printAreaRect[0] = PHPExcel_Cell::absoluteReference($printAreaRect[0]); + $printAreaRect[1] = PHPExcel_Cell::absoluteReference($printAreaRect[1]); + $chunks[] = '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . implode(':', $printAreaRect); + } - $objWriter->writeRawData(implode(',', $chunks)); + $objWriter->writeRawData(implode(',', $chunks)); - $objWriter->endElement(); - } - } + $objWriter->endElement(); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php index 5cb803e52..c211403e3 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,10 +19,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ @@ -30,1191 +30,1190 @@ * PHPExcel_Writer_Excel2007_Worksheet * * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @package PHPExcel_Writer_Excel2007 + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Writer_Excel2007_Worksheet extends PHPExcel_Writer_Excel2007_WriterPart { - /** - * Write worksheet to XML format - * - * @param PHPExcel_Worksheet $pSheet - * @param string[] $pStringTable - * @param boolean $includeCharts Flag indicating if we should write charts - * @return string XML Output - * @throws PHPExcel_Writer_Exception - */ - public function writeWorksheet($pSheet = null, $pStringTable = null, $includeCharts = FALSE) - { - if (!is_null($pSheet)) { - // Create XML writer - $objWriter = null; - if ($this->getParentWriter()->getUseDiskCaching()) { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); - } else { - $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); - } - - // XML header - $objWriter->startDocument('1.0','UTF-8','yes'); - - // Worksheet - $objWriter->startElement('worksheet'); - $objWriter->writeAttribute('xml:space', 'preserve'); - $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); - $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); - - // sheetPr - $this->_writeSheetPr($objWriter, $pSheet); - - // Dimension - $this->_writeDimension($objWriter, $pSheet); - - // sheetViews - $this->_writeSheetViews($objWriter, $pSheet); - - // sheetFormatPr - $this->_writeSheetFormatPr($objWriter, $pSheet); - - // cols - $this->_writeCols($objWriter, $pSheet); - - // sheetData - $this->_writeSheetData($objWriter, $pSheet, $pStringTable); - - // sheetProtection - $this->_writeSheetProtection($objWriter, $pSheet); - - // protectedRanges - $this->_writeProtectedRanges($objWriter, $pSheet); - - // autoFilter - $this->_writeAutoFilter($objWriter, $pSheet); - - // mergeCells - $this->_writeMergeCells($objWriter, $pSheet); - - // conditionalFormatting - $this->_writeConditionalFormatting($objWriter, $pSheet); - - // dataValidations - $this->_writeDataValidations($objWriter, $pSheet); - - // hyperlinks - $this->_writeHyperlinks($objWriter, $pSheet); - - // Print options - $this->_writePrintOptions($objWriter, $pSheet); - - // Page margins - $this->_writePageMargins($objWriter, $pSheet); - - // Page setup - $this->_writePageSetup($objWriter, $pSheet); - - // Header / footer - $this->_writeHeaderFooter($objWriter, $pSheet); - - // Breaks - $this->_writeBreaks($objWriter, $pSheet); - - // Drawings and/or Charts - $this->_writeDrawings($objWriter, $pSheet, $includeCharts); - - // LegacyDrawing - $this->_writeLegacyDrawing($objWriter, $pSheet); - - // LegacyDrawingHF - $this->_writeLegacyDrawingHF($objWriter, $pSheet); - - $objWriter->endElement(); - - // Return - return $objWriter->getData(); - } else { - throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); - } - } - - /** - * Write SheetPr - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheetPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // sheetPr - $objWriter->startElement('sheetPr'); - //$objWriter->writeAttribute('codeName', $pSheet->getTitle()); - if($pSheet->getParent()->hasMacros()){//if the workbook have macros, we need to have codeName for the sheet - if($pSheet->hasCodeName()==false){ - $pSheet->setCodeName($pSheet->getTitle()); - } - $objWriter->writeAttribute('codeName', $pSheet->getCodeName()); - } - $autoFilterRange = $pSheet->getAutoFilter()->getRange(); - if (!empty($autoFilterRange)) { - $objWriter->writeAttribute('filterMode', 1); - $pSheet->getAutoFilter()->showHideRows(); - } - - // tabColor - if ($pSheet->isTabColorSet()) { - $objWriter->startElement('tabColor'); - $objWriter->writeAttribute('rgb', $pSheet->getTabColor()->getARGB()); - $objWriter->endElement(); - } - - // outlinePr - $objWriter->startElement('outlinePr'); - $objWriter->writeAttribute('summaryBelow', ($pSheet->getShowSummaryBelow() ? '1' : '0')); - $objWriter->writeAttribute('summaryRight', ($pSheet->getShowSummaryRight() ? '1' : '0')); - $objWriter->endElement(); - - // pageSetUpPr - if ($pSheet->getPageSetup()->getFitToPage()) { - $objWriter->startElement('pageSetUpPr'); - $objWriter->writeAttribute('fitToPage', '1'); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - - /** - * Write Dimension - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeDimension(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // dimension - $objWriter->startElement('dimension'); - $objWriter->writeAttribute('ref', $pSheet->calculateWorksheetDimension()); - $objWriter->endElement(); - } - - /** - * Write SheetViews - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheetViews(PHPExcel_Shared_XMLWriter $objWriter = NULL, PHPExcel_Worksheet $pSheet = NULL) - { - // sheetViews - $objWriter->startElement('sheetViews'); - - // Sheet selected? - $sheetSelected = false; - if ($this->getParentWriter()->getPHPExcel()->getIndex($pSheet) == $this->getParentWriter()->getPHPExcel()->getActiveSheetIndex()) - $sheetSelected = true; - - - // sheetView - $objWriter->startElement('sheetView'); - $objWriter->writeAttribute('tabSelected', $sheetSelected ? '1' : '0'); - $objWriter->writeAttribute('workbookViewId', '0'); - - // Zoom scales - if ($pSheet->getSheetView()->getZoomScale() != 100) { - $objWriter->writeAttribute('zoomScale', $pSheet->getSheetView()->getZoomScale()); - } - if ($pSheet->getSheetView()->getZoomScaleNormal() != 100) { - $objWriter->writeAttribute('zoomScaleNormal', $pSheet->getSheetView()->getZoomScaleNormal()); - } - - // View Layout Type - if ($pSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL) { - $objWriter->writeAttribute('view', $pSheet->getSheetView()->getView()); - } - - // Gridlines - if ($pSheet->getShowGridlines()) { - $objWriter->writeAttribute('showGridLines', 'true'); - } else { - $objWriter->writeAttribute('showGridLines', 'false'); - } - - // Row and column headers - if ($pSheet->getShowRowColHeaders()) { - $objWriter->writeAttribute('showRowColHeaders', '1'); - } else { - $objWriter->writeAttribute('showRowColHeaders', '0'); - } - - // Right-to-left - if ($pSheet->getRightToLeft()) { - $objWriter->writeAttribute('rightToLeft', 'true'); - } - - $activeCell = $pSheet->getActiveCell(); - - // Pane - $pane = ''; - $topLeftCell = $pSheet->getFreezePane(); - if (($topLeftCell != '') && ($topLeftCell != 'A1')) { - $activeCell = $topLeftCell; - // Calculate freeze coordinates - $xSplit = $ySplit = 0; - - list($xSplit, $ySplit) = PHPExcel_Cell::coordinateFromString($topLeftCell); - $xSplit = PHPExcel_Cell::columnIndexFromString($xSplit); - - // pane - $pane = 'topRight'; - $objWriter->startElement('pane'); - if ($xSplit > 1) - $objWriter->writeAttribute('xSplit', $xSplit - 1); - if ($ySplit > 1) { - $objWriter->writeAttribute('ySplit', $ySplit - 1); - $pane = ($xSplit > 1) ? 'bottomRight' : 'bottomLeft'; - } - $objWriter->writeAttribute('topLeftCell', $topLeftCell); - $objWriter->writeAttribute('activePane', $pane); - $objWriter->writeAttribute('state', 'frozen'); - $objWriter->endElement(); - - if (($xSplit > 1) && ($ySplit > 1)) { - // Write additional selections if more than two panes (ie both an X and a Y split) - $objWriter->startElement('selection'); $objWriter->writeAttribute('pane', 'topRight'); $objWriter->endElement(); - $objWriter->startElement('selection'); $objWriter->writeAttribute('pane', 'bottomLeft'); $objWriter->endElement(); - } - } - - // Selection -// if ($pane != '') { - // Only need to write selection element if we have a split pane - // We cheat a little by over-riding the active cell selection, setting it to the split cell - $objWriter->startElement('selection'); - if ($pane != '') { - $objWriter->writeAttribute('pane', $pane); - } - $objWriter->writeAttribute('activeCell', $activeCell); - $objWriter->writeAttribute('sqref', $activeCell); - $objWriter->endElement(); -// } - - $objWriter->endElement(); - - $objWriter->endElement(); - } - - /** - * Write SheetFormatPr - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheetFormatPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // sheetFormatPr - $objWriter->startElement('sheetFormatPr'); - - // Default row height - if ($pSheet->getDefaultRowDimension()->getRowHeight() >= 0) { - $objWriter->writeAttribute('customHeight', 'true'); - $objWriter->writeAttribute('defaultRowHeight', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultRowDimension()->getRowHeight())); - } else { - $objWriter->writeAttribute('defaultRowHeight', '14.4'); - } - - // Set Zero Height row - if ((string)$pSheet->getDefaultRowDimension()->getZeroHeight() == '1' || - strtolower((string)$pSheet->getDefaultRowDimension()->getZeroHeight()) == 'true' ) { - $objWriter->writeAttribute('zeroHeight', '1'); - } - - // Default column width - if ($pSheet->getDefaultColumnDimension()->getWidth() >= 0) { - $objWriter->writeAttribute('defaultColWidth', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultColumnDimension()->getWidth())); - } - - // Outline level - row - $outlineLevelRow = 0; - foreach ($pSheet->getRowDimensions() as $dimension) { - if ($dimension->getOutlineLevel() > $outlineLevelRow) { - $outlineLevelRow = $dimension->getOutlineLevel(); - } - } - $objWriter->writeAttribute('outlineLevelRow', (int)$outlineLevelRow); - - // Outline level - column - $outlineLevelCol = 0; - foreach ($pSheet->getColumnDimensions() as $dimension) { - if ($dimension->getOutlineLevel() > $outlineLevelCol) { - $outlineLevelCol = $dimension->getOutlineLevel(); - } - } - $objWriter->writeAttribute('outlineLevelCol', (int)$outlineLevelCol); - - $objWriter->endElement(); - } - - /** - * Write Cols - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeCols(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // cols - if (count($pSheet->getColumnDimensions()) > 0) { - $objWriter->startElement('cols'); - - $pSheet->calculateColumnWidths(); - - // Loop through column dimensions - foreach ($pSheet->getColumnDimensions() as $colDimension) { - // col - $objWriter->startElement('col'); - $objWriter->writeAttribute('min', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); - $objWriter->writeAttribute('max', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); - - if ($colDimension->getWidth() < 0) { - // No width set, apply default of 10 - $objWriter->writeAttribute('width', '9.10'); - } else { - // Width set - $objWriter->writeAttribute('width', PHPExcel_Shared_String::FormatNumber($colDimension->getWidth())); - } - - // Column visibility - if ($colDimension->getVisible() == false) { - $objWriter->writeAttribute('hidden', 'true'); - } - - // Auto size? - if ($colDimension->getAutoSize()) { - $objWriter->writeAttribute('bestFit', 'true'); - } - - // Custom width? - if ($colDimension->getWidth() != $pSheet->getDefaultColumnDimension()->getWidth()) { - $objWriter->writeAttribute('customWidth', 'true'); - } - - // Collapsed - if ($colDimension->getCollapsed() == true) { - $objWriter->writeAttribute('collapsed', 'true'); - } - - // Outline level - if ($colDimension->getOutlineLevel() > 0) { - $objWriter->writeAttribute('outlineLevel', $colDimension->getOutlineLevel()); - } - - // Style - $objWriter->writeAttribute('style', $colDimension->getXfIndex()); - - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write SheetProtection - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheetProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // sheetProtection - $objWriter->startElement('sheetProtection'); - - if ($pSheet->getProtection()->getPassword() != '') { - $objWriter->writeAttribute('password', $pSheet->getProtection()->getPassword()); - } - - $objWriter->writeAttribute('sheet', ($pSheet->getProtection()->getSheet() ? 'true' : 'false')); - $objWriter->writeAttribute('objects', ($pSheet->getProtection()->getObjects() ? 'true' : 'false')); - $objWriter->writeAttribute('scenarios', ($pSheet->getProtection()->getScenarios() ? 'true' : 'false')); - $objWriter->writeAttribute('formatCells', ($pSheet->getProtection()->getFormatCells() ? 'true' : 'false')); - $objWriter->writeAttribute('formatColumns', ($pSheet->getProtection()->getFormatColumns() ? 'true' : 'false')); - $objWriter->writeAttribute('formatRows', ($pSheet->getProtection()->getFormatRows() ? 'true' : 'false')); - $objWriter->writeAttribute('insertColumns', ($pSheet->getProtection()->getInsertColumns() ? 'true' : 'false')); - $objWriter->writeAttribute('insertRows', ($pSheet->getProtection()->getInsertRows() ? 'true' : 'false')); - $objWriter->writeAttribute('insertHyperlinks', ($pSheet->getProtection()->getInsertHyperlinks() ? 'true' : 'false')); - $objWriter->writeAttribute('deleteColumns', ($pSheet->getProtection()->getDeleteColumns() ? 'true' : 'false')); - $objWriter->writeAttribute('deleteRows', ($pSheet->getProtection()->getDeleteRows() ? 'true' : 'false')); - $objWriter->writeAttribute('selectLockedCells', ($pSheet->getProtection()->getSelectLockedCells() ? 'true' : 'false')); - $objWriter->writeAttribute('sort', ($pSheet->getProtection()->getSort() ? 'true' : 'false')); - $objWriter->writeAttribute('autoFilter', ($pSheet->getProtection()->getAutoFilter() ? 'true' : 'false')); - $objWriter->writeAttribute('pivotTables', ($pSheet->getProtection()->getPivotTables() ? 'true' : 'false')); - $objWriter->writeAttribute('selectUnlockedCells', ($pSheet->getProtection()->getSelectUnlockedCells() ? 'true' : 'false')); - $objWriter->endElement(); - } - - /** - * Write ConditionalFormatting - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeConditionalFormatting(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // Conditional id - $id = 1; - - // Loop through styles in the current worksheet - foreach ($pSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { - foreach ($conditionalStyles as $conditional) { - // WHY was this again? - // if ($this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode( $conditional->getHashCode() ) == '') { - // continue; - // } - if ($conditional->getConditionType() != PHPExcel_Style_Conditional::CONDITION_NONE) { - // conditionalFormatting - $objWriter->startElement('conditionalFormatting'); - $objWriter->writeAttribute('sqref', $cellCoordinate); - - // cfRule - $objWriter->startElement('cfRule'); - $objWriter->writeAttribute('type', $conditional->getConditionType()); - $objWriter->writeAttribute('dxfId', $this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode( $conditional->getHashCode() )); - $objWriter->writeAttribute('priority', $id++); - - if (($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS - || - $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) - && $conditional->getOperatorType() != PHPExcel_Style_Conditional::OPERATOR_NONE) { - $objWriter->writeAttribute('operator', $conditional->getOperatorType()); - } - - if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - && !is_null($conditional->getText())) { - $objWriter->writeAttribute('text', $conditional->getText()); - } - - if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT - && !is_null($conditional->getText())) { - $objWriter->writeElement('formula', 'NOT(ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . ')))'); - } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BEGINSWITH - && !is_null($conditional->getText())) { - $objWriter->writeElement('formula', 'LEFT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); - } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_ENDSWITH - && !is_null($conditional->getText())) { - $objWriter->writeElement('formula', 'RIGHT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); - } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_NOTCONTAINS - && !is_null($conditional->getText())) { - $objWriter->writeElement('formula', 'ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . '))'); - } else if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS - || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT - || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) { - foreach ($conditional->getConditions() as $formula) { - // Formula - $objWriter->writeElement('formula', $formula); - } - } - - $objWriter->endElement(); - - $objWriter->endElement(); - } - } - } - } - - /** - * Write DataValidations - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeDataValidations(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // Datavalidation collection - $dataValidationCollection = $pSheet->getDataValidationCollection(); - - // Write data validations? - if (!empty($dataValidationCollection)) { - $objWriter->startElement('dataValidations'); - $objWriter->writeAttribute('count', count($dataValidationCollection)); - - foreach ($dataValidationCollection as $coordinate => $dv) { - $objWriter->startElement('dataValidation'); - - if ($dv->getType() != '') { - $objWriter->writeAttribute('type', $dv->getType()); - } - - if ($dv->getErrorStyle() != '') { - $objWriter->writeAttribute('errorStyle', $dv->getErrorStyle()); - } - - if ($dv->getOperator() != '') { - $objWriter->writeAttribute('operator', $dv->getOperator()); - } - - $objWriter->writeAttribute('allowBlank', ($dv->getAllowBlank() ? '1' : '0')); - $objWriter->writeAttribute('showDropDown', (!$dv->getShowDropDown() ? '1' : '0')); - $objWriter->writeAttribute('showInputMessage', ($dv->getShowInputMessage() ? '1' : '0')); - $objWriter->writeAttribute('showErrorMessage', ($dv->getShowErrorMessage() ? '1' : '0')); - - if ($dv->getErrorTitle() !== '') { - $objWriter->writeAttribute('errorTitle', $dv->getErrorTitle()); - } - if ($dv->getError() !== '') { - $objWriter->writeAttribute('error', $dv->getError()); - } - if ($dv->getPromptTitle() !== '') { - $objWriter->writeAttribute('promptTitle', $dv->getPromptTitle()); - } - if ($dv->getPrompt() !== '') { - $objWriter->writeAttribute('prompt', $dv->getPrompt()); - } - - $objWriter->writeAttribute('sqref', $coordinate); - - if ($dv->getFormula1() !== '') { - $objWriter->writeElement('formula1', $dv->getFormula1()); - } - if ($dv->getFormula2() !== '') { - $objWriter->writeElement('formula2', $dv->getFormula2()); - } - - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write Hyperlinks - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeHyperlinks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // Hyperlink collection - $hyperlinkCollection = $pSheet->getHyperlinkCollection(); - - // Relation ID - $relationId = 1; - - // Write hyperlinks? - if (!empty($hyperlinkCollection)) { - $objWriter->startElement('hyperlinks'); - - foreach ($hyperlinkCollection as $coordinate => $hyperlink) { - $objWriter->startElement('hyperlink'); - - $objWriter->writeAttribute('ref', $coordinate); - if (!$hyperlink->isInternal()) { - $objWriter->writeAttribute('r:id', 'rId_hyperlink_' . $relationId); - ++$relationId; - } else { - $objWriter->writeAttribute('location', str_replace('sheet://', '', $hyperlink->getUrl())); - } - - if ($hyperlink->getTooltip() != '') { - $objWriter->writeAttribute('tooltip', $hyperlink->getTooltip()); - } - - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write ProtectedRanges - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeProtectedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - if (count($pSheet->getProtectedCells()) > 0) { - // protectedRanges - $objWriter->startElement('protectedRanges'); - - // Loop protectedRanges - foreach ($pSheet->getProtectedCells() as $protectedCell => $passwordHash) { - // protectedRange - $objWriter->startElement('protectedRange'); - $objWriter->writeAttribute('name', 'p' . md5($protectedCell)); - $objWriter->writeAttribute('sqref', $protectedCell); - if (!empty($passwordHash)) { - $objWriter->writeAttribute('password', $passwordHash); - } - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write MergeCells - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeMergeCells(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - if (count($pSheet->getMergeCells()) > 0) { - // mergeCells - $objWriter->startElement('mergeCells'); - - // Loop mergeCells - foreach ($pSheet->getMergeCells() as $mergeCell) { - // mergeCell - $objWriter->startElement('mergeCell'); - $objWriter->writeAttribute('ref', $mergeCell); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write PrintOptions - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writePrintOptions(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // printOptions - $objWriter->startElement('printOptions'); - - $objWriter->writeAttribute('gridLines', ($pSheet->getPrintGridlines() ? 'true': 'false')); - $objWriter->writeAttribute('gridLinesSet', 'true'); - - if ($pSheet->getPageSetup()->getHorizontalCentered()) { - $objWriter->writeAttribute('horizontalCentered', 'true'); - } - - if ($pSheet->getPageSetup()->getVerticalCentered()) { - $objWriter->writeAttribute('verticalCentered', 'true'); - } - - $objWriter->endElement(); - } - - /** - * Write PageMargins - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writePageMargins(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // pageMargins - $objWriter->startElement('pageMargins'); - $objWriter->writeAttribute('left', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft())); - $objWriter->writeAttribute('right', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight())); - $objWriter->writeAttribute('top', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop())); - $objWriter->writeAttribute('bottom', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom())); - $objWriter->writeAttribute('header', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getHeader())); - $objWriter->writeAttribute('footer', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getFooter())); - $objWriter->endElement(); - } - - /** - * Write AutoFilter - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeAutoFilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - $autoFilterRange = $pSheet->getAutoFilter()->getRange(); - if (!empty($autoFilterRange)) { - // autoFilter - $objWriter->startElement('autoFilter'); - - // Strip any worksheet reference from the filter coordinates - $range = PHPExcel_Cell::splitRange($autoFilterRange); - $range = $range[0]; - // Strip any worksheet ref - if (strpos($range[0],'!') !== false) { - list($ws,$range[0]) = explode('!',$range[0]); - } - $range = implode(':', $range); - - $objWriter->writeAttribute('ref', str_replace('$','',$range)); - - $columns = $pSheet->getAutoFilter()->getColumns(); - if (count($columns > 0)) { - foreach($columns as $columnID => $column) { - $rules = $column->getRules(); - if (count($rules > 0)) { - $objWriter->startElement('filterColumn'); - $objWriter->writeAttribute('colId', $pSheet->getAutoFilter()->getColumnOffset($columnID)); - - $objWriter->startElement( $column->getFilterType()); - if ($column->getJoin() == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND) { - $objWriter->writeAttribute('and', 1); - } - - foreach ($rules as $rule) { - if (($column->getFilterType() === PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) && - ($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) && - ($rule->getValue() === '')) { - // Filter rule for Blanks - $objWriter->writeAttribute('blank', 1); - } elseif($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER) { - // Dynamic Filter Rule - $objWriter->writeAttribute('type', $rule->getGrouping()); - $val = $column->getAttribute('val'); - if ($val !== NULL) { - $objWriter->writeAttribute('val', $val); - } - $maxVal = $column->getAttribute('maxVal'); - if ($maxVal !== NULL) { - $objWriter->writeAttribute('maxVal', $maxVal); - } - } elseif($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER) { - // Top 10 Filter Rule - $objWriter->writeAttribute('val', $rule->getValue()); - $objWriter->writeAttribute('percent', (($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) ? '1' : '0')); - $objWriter->writeAttribute('top', (($rule->getGrouping() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) ? '1': '0')); - } else { - // Filter, DateGroupItem or CustomFilter - $objWriter->startElement($rule->getRuleType()); - - if ($rule->getOperator() !== PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) { - $objWriter->writeAttribute('operator', $rule->getOperator()); - } - if ($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP) { - // Date Group filters - foreach($rule->getValue() as $key => $value) { - if ($value > '') $objWriter->writeAttribute($key, $value); - } - $objWriter->writeAttribute('dateTimeGrouping', $rule->getGrouping()); - } else { - $objWriter->writeAttribute('val', $rule->getValue()); - } - - $objWriter->endElement(); - } - } - - $objWriter->endElement(); - - $objWriter->endElement(); - } - } - } - - $objWriter->endElement(); - } - } - - /** - * Write PageSetup - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writePageSetup(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // pageSetup - $objWriter->startElement('pageSetup'); - $objWriter->writeAttribute('paperSize', $pSheet->getPageSetup()->getPaperSize()); - $objWriter->writeAttribute('orientation', $pSheet->getPageSetup()->getOrientation()); - - if (!is_null($pSheet->getPageSetup()->getScale())) { - $objWriter->writeAttribute('scale', $pSheet->getPageSetup()->getScale()); - } - if (!is_null($pSheet->getPageSetup()->getFitToHeight())) { - $objWriter->writeAttribute('fitToHeight', $pSheet->getPageSetup()->getFitToHeight()); - } else { - $objWriter->writeAttribute('fitToHeight', '0'); - } - if (!is_null($pSheet->getPageSetup()->getFitToWidth())) { - $objWriter->writeAttribute('fitToWidth', $pSheet->getPageSetup()->getFitToWidth()); - } else { - $objWriter->writeAttribute('fitToWidth', '0'); - } - if (!is_null($pSheet->getPageSetup()->getFirstPageNumber())) { - $objWriter->writeAttribute('firstPageNumber', $pSheet->getPageSetup()->getFirstPageNumber()); - $objWriter->writeAttribute('useFirstPageNumber', '1'); - } - - $objWriter->endElement(); - } - - /** - * Write Header / Footer - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeHeaderFooter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // headerFooter - $objWriter->startElement('headerFooter'); - $objWriter->writeAttribute('differentOddEven', ($pSheet->getHeaderFooter()->getDifferentOddEven() ? 'true' : 'false')); - $objWriter->writeAttribute('differentFirst', ($pSheet->getHeaderFooter()->getDifferentFirst() ? 'true' : 'false')); - $objWriter->writeAttribute('scaleWithDoc', ($pSheet->getHeaderFooter()->getScaleWithDocument() ? 'true' : 'false')); - $objWriter->writeAttribute('alignWithMargins', ($pSheet->getHeaderFooter()->getAlignWithMargins() ? 'true' : 'false')); - - $objWriter->writeElement('oddHeader', $pSheet->getHeaderFooter()->getOddHeader()); - $objWriter->writeElement('oddFooter', $pSheet->getHeaderFooter()->getOddFooter()); - $objWriter->writeElement('evenHeader', $pSheet->getHeaderFooter()->getEvenHeader()); - $objWriter->writeElement('evenFooter', $pSheet->getHeaderFooter()->getEvenFooter()); - $objWriter->writeElement('firstHeader', $pSheet->getHeaderFooter()->getFirstHeader()); - $objWriter->writeElement('firstFooter', $pSheet->getHeaderFooter()->getFirstFooter()); - $objWriter->endElement(); - } - - /** - * Write Breaks - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeBreaks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // Get row and column breaks - $aRowBreaks = array(); - $aColumnBreaks = array(); - foreach ($pSheet->getBreaks() as $cell => $breakType) { - if ($breakType == PHPExcel_Worksheet::BREAK_ROW) { - $aRowBreaks[] = $cell; - } else if ($breakType == PHPExcel_Worksheet::BREAK_COLUMN) { - $aColumnBreaks[] = $cell; - } - } - - // rowBreaks - if (!empty($aRowBreaks)) { - $objWriter->startElement('rowBreaks'); - $objWriter->writeAttribute('count', count($aRowBreaks)); - $objWriter->writeAttribute('manualBreakCount', count($aRowBreaks)); - - foreach ($aRowBreaks as $cell) { - $coords = PHPExcel_Cell::coordinateFromString($cell); - - $objWriter->startElement('brk'); - $objWriter->writeAttribute('id', $coords[1]); - $objWriter->writeAttribute('man', '1'); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - - // Second, write column breaks - if (!empty($aColumnBreaks)) { - $objWriter->startElement('colBreaks'); - $objWriter->writeAttribute('count', count($aColumnBreaks)); - $objWriter->writeAttribute('manualBreakCount', count($aColumnBreaks)); - - foreach ($aColumnBreaks as $cell) { - $coords = PHPExcel_Cell::coordinateFromString($cell); - - $objWriter->startElement('brk'); - $objWriter->writeAttribute('id', PHPExcel_Cell::columnIndexFromString($coords[0]) - 1); - $objWriter->writeAttribute('man', '1'); - $objWriter->endElement(); - } - - $objWriter->endElement(); - } - } - - /** - * Write SheetData - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @param string[] $pStringTable String table - * @throws PHPExcel_Writer_Exception - */ - private function _writeSheetData(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pStringTable = null) - { - if (is_array($pStringTable)) { - // Flipped stringtable, for faster index searching - $aFlippedStringTable = $this->getParentWriter()->getWriterPart('stringtable')->flipStringTable($pStringTable); - - // sheetData - $objWriter->startElement('sheetData'); - - // Get column count - $colCount = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()); - - // Highest row number - $highestRow = $pSheet->getHighestRow(); - - // Loop through cells - $cellsByRow = array(); - foreach ($pSheet->getCellCollection() as $cellID) { - $cellAddress = PHPExcel_Cell::coordinateFromString($cellID); - $cellsByRow[$cellAddress[1]][] = $cellID; - } - - $currentRow = 0; - while($currentRow++ < $highestRow) { - // Get row dimension - $rowDimension = $pSheet->getRowDimension($currentRow); - - // Write current row? - $writeCurrentRow = isset($cellsByRow[$currentRow]) || - $rowDimension->getRowHeight() >= 0 || - $rowDimension->getVisible() == false || - $rowDimension->getCollapsed() == true || - $rowDimension->getOutlineLevel() > 0 || - $rowDimension->getXfIndex() !== null; - - if ($writeCurrentRow) { - // Start a new row - $objWriter->startElement('row'); - $objWriter->writeAttribute('r', $currentRow); - $objWriter->writeAttribute('spans', '1:' . $colCount); - - // Row dimensions - if ($rowDimension->getRowHeight() >= 0) { - $objWriter->writeAttribute('customHeight', '1'); - $objWriter->writeAttribute('ht', PHPExcel_Shared_String::FormatNumber($rowDimension->getRowHeight())); - } - - // Row visibility - if ($rowDimension->getVisible() == false) { - $objWriter->writeAttribute('hidden', 'true'); - } - - // Collapsed - if ($rowDimension->getCollapsed() == true) { - $objWriter->writeAttribute('collapsed', 'true'); - } - - // Outline level - if ($rowDimension->getOutlineLevel() > 0) { - $objWriter->writeAttribute('outlineLevel', $rowDimension->getOutlineLevel()); - } - - // Style - if ($rowDimension->getXfIndex() !== null) { - $objWriter->writeAttribute('s', $rowDimension->getXfIndex()); - $objWriter->writeAttribute('customFormat', '1'); - } - - // Write cells - if (isset($cellsByRow[$currentRow])) { - foreach($cellsByRow[$currentRow] as $cellAddress) { - // Write cell - $this->_writeCell($objWriter, $pSheet, $cellAddress, $pStringTable, $aFlippedStringTable); - } - } - - // End row - $objWriter->endElement(); - } - } - - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } - - /** - * Write Cell - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @param PHPExcel_Cell $pCellAddress Cell Address - * @param string[] $pStringTable String table - * @param string[] $pFlippedStringTable String table (flipped), for faster index searching - * @throws PHPExcel_Writer_Exception - */ - private function _writeCell(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pCellAddress = null, $pStringTable = null, $pFlippedStringTable = null) - { - if (is_array($pStringTable) && is_array($pFlippedStringTable)) { - // Cell - $pCell = $pSheet->getCell($pCellAddress); - $objWriter->startElement('c'); - $objWriter->writeAttribute('r', $pCellAddress); - - // Sheet styles - if ($pCell->getXfIndex() != '') { - $objWriter->writeAttribute('s', $pCell->getXfIndex()); - } - - // If cell value is supplied, write cell value - $cellValue = $pCell->getValue(); - if (is_object($cellValue) || $cellValue !== '') { - // Map type - $mappedType = $pCell->getDataType(); - - // Write data type depending on its type - switch (strtolower($mappedType)) { - case 'inlinestr': // Inline string - case 's': // String - case 'b': // Boolean - $objWriter->writeAttribute('t', $mappedType); - break; - case 'f': // Formula - $calculatedValue = ($this->getParentWriter()->getPreCalculateFormulas()) ? - $pCell->getCalculatedValue() : - $cellValue; - if (is_string($calculatedValue)) { - $objWriter->writeAttribute('t', 'str'); - } - break; - case 'e': // Error - $objWriter->writeAttribute('t', $mappedType); - } - - // Write data depending on its type - switch (strtolower($mappedType)) { - case 'inlinestr': // Inline string - if (! $cellValue instanceof PHPExcel_RichText) { - $objWriter->writeElement('t', PHPExcel_Shared_String::ControlCharacterPHP2OOXML( htmlspecialchars($cellValue) ) ); - } else if ($cellValue instanceof PHPExcel_RichText) { - $objWriter->startElement('is'); - $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $cellValue); - $objWriter->endElement(); - } - - break; - case 's': // String - if (! $cellValue instanceof PHPExcel_RichText) { - if (isset($pFlippedStringTable[$cellValue])) { - $objWriter->writeElement('v', $pFlippedStringTable[$cellValue]); - } - } else if ($cellValue instanceof PHPExcel_RichText) { - $objWriter->writeElement('v', $pFlippedStringTable[$cellValue->getHashCode()]); - } - - break; - case 'f': // Formula - $attributes = $pCell->getFormulaAttributes(); - if($attributes['t'] == 'array') { - $objWriter->startElement('f'); - $objWriter->writeAttribute('t', 'array'); - $objWriter->writeAttribute('ref', $pCellAddress); - $objWriter->writeAttribute('aca', '1'); - $objWriter->writeAttribute('ca', '1'); - $objWriter->text(substr($cellValue, 1)); - $objWriter->endElement(); - } else { - $objWriter->writeElement('f', substr($cellValue, 1)); - } - if ($this->getParentWriter()->getOffice2003Compatibility() === false) { - if ($this->getParentWriter()->getPreCalculateFormulas()) { -// $calculatedValue = $pCell->getCalculatedValue(); - if (!is_array($calculatedValue) && substr($calculatedValue, 0, 1) != '#') { - $objWriter->writeElement('v', PHPExcel_Shared_String::FormatNumber($calculatedValue)); - } else { - $objWriter->writeElement('v', '0'); - } - } else { - $objWriter->writeElement('v', '0'); - } - } - break; - case 'n': // Numeric - // force point as decimal separator in case current locale uses comma - $objWriter->writeElement('v', str_replace(',', '.', $cellValue)); - break; - case 'b': // Boolean - $objWriter->writeElement('v', ($cellValue ? '1' : '0')); - break; - case 'e': // Error - if (substr($cellValue, 0, 1) == '=') { - $objWriter->writeElement('f', substr($cellValue, 1)); - $objWriter->writeElement('v', substr($cellValue, 1)); - } else { - $objWriter->writeElement('v', $cellValue); - } - - break; - } - } - - $objWriter->endElement(); - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } - - /** - * Write Drawings - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @param boolean $includeCharts Flag indicating if we should include drawing details for charts - * @throws PHPExcel_Writer_Exception - */ - private function _writeDrawings(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $includeCharts = FALSE) - { - $chartCount = ($includeCharts) ? $pSheet->getChartCollection()->count() : 0; - // If sheet contains drawings, add the relationships - if (($pSheet->getDrawingCollection()->count() > 0) || - ($chartCount > 0)) { - $objWriter->startElement('drawing'); - $objWriter->writeAttribute('r:id', 'rId1'); - $objWriter->endElement(); - } - } - - /** - * Write LegacyDrawing - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeLegacyDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // If sheet contains comments, add the relationships - if (count($pSheet->getComments()) > 0) { - $objWriter->startElement('legacyDrawing'); - $objWriter->writeAttribute('r:id', 'rId_comments_vml1'); - $objWriter->endElement(); - } - } - - /** - * Write LegacyDrawingHF - * - * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer - * @param PHPExcel_Worksheet $pSheet Worksheet - * @throws PHPExcel_Writer_Exception - */ - private function _writeLegacyDrawingHF(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) - { - // If sheet contains images, add the relationships - if (count($pSheet->getHeaderFooter()->getImages()) > 0) { - $objWriter->startElement('legacyDrawingHF'); - $objWriter->writeAttribute('r:id', 'rId_headerfooter_vml1'); - $objWriter->endElement(); - } - } + /** + * Write worksheet to XML format + * + * @param PHPExcel_Worksheet $pSheet + * @param string[] $pStringTable + * @param boolean $includeCharts Flag indicating if we should write charts + * @return string XML Output + * @throws PHPExcel_Writer_Exception + */ + public function writeWorksheet($pSheet = null, $pStringTable = null, $includeCharts = false) + { + if (!is_null($pSheet)) { + // Create XML writer + $objWriter = null; + if ($this->getParentWriter()->getUseDiskCaching()) { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); + } else { + $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); + } + + // XML header + $objWriter->startDocument('1.0', 'UTF-8', 'yes'); + + // Worksheet + $objWriter->startElement('worksheet'); + $objWriter->writeAttribute('xml:space', 'preserve'); + $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); + $objWriter->writeAttribute('xmlns:r', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); + + // sheetPr + $this->writeSheetPr($objWriter, $pSheet); + + // Dimension + $this->writeDimension($objWriter, $pSheet); + + // sheetViews + $this->writeSheetViews($objWriter, $pSheet); + + // sheetFormatPr + $this->writeSheetFormatPr($objWriter, $pSheet); + + // cols + $this->writeCols($objWriter, $pSheet); + + // sheetData + $this->writeSheetData($objWriter, $pSheet, $pStringTable); + + // sheetProtection + $this->writeSheetProtection($objWriter, $pSheet); + + // protectedRanges + $this->writeProtectedRanges($objWriter, $pSheet); + + // autoFilter + $this->writeAutoFilter($objWriter, $pSheet); + + // mergeCells + $this->writeMergeCells($objWriter, $pSheet); + + // conditionalFormatting + $this->writeConditionalFormatting($objWriter, $pSheet); + + // dataValidations + $this->writeDataValidations($objWriter, $pSheet); + + // hyperlinks + $this->writeHyperlinks($objWriter, $pSheet); + + // Print options + $this->writePrintOptions($objWriter, $pSheet); + + // Page margins + $this->writePageMargins($objWriter, $pSheet); + + // Page setup + $this->writePageSetup($objWriter, $pSheet); + + // Header / footer + $this->writeHeaderFooter($objWriter, $pSheet); + + // Breaks + $this->writeBreaks($objWriter, $pSheet); + + // Drawings and/or Charts + $this->writeDrawings($objWriter, $pSheet, $includeCharts); + + // LegacyDrawing + $this->writeLegacyDrawing($objWriter, $pSheet); + + // LegacyDrawingHF + $this->writeLegacyDrawingHF($objWriter, $pSheet); + + $objWriter->endElement(); + + // Return + return $objWriter->getData(); + } else { + throw new PHPExcel_Writer_Exception("Invalid PHPExcel_Worksheet object passed."); + } + } + + /** + * Write SheetPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeSheetPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetPr + $objWriter->startElement('sheetPr'); + //$objWriter->writeAttribute('codeName', $pSheet->getTitle()); + if ($pSheet->getParent()->hasMacros()) {//if the workbook have macros, we need to have codeName for the sheet + if ($pSheet->hasCodeName()==false) { + $pSheet->setCodeName($pSheet->getTitle()); + } + $objWriter->writeAttribute('codeName', $pSheet->getCodeName()); + } + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + $objWriter->writeAttribute('filterMode', 1); + $pSheet->getAutoFilter()->showHideRows(); + } + + // tabColor + if ($pSheet->isTabColorSet()) { + $objWriter->startElement('tabColor'); + $objWriter->writeAttribute('rgb', $pSheet->getTabColor()->getARGB()); + $objWriter->endElement(); + } + + // outlinePr + $objWriter->startElement('outlinePr'); + $objWriter->writeAttribute('summaryBelow', ($pSheet->getShowSummaryBelow() ? '1' : '0')); + $objWriter->writeAttribute('summaryRight', ($pSheet->getShowSummaryRight() ? '1' : '0')); + $objWriter->endElement(); + + // pageSetUpPr + if ($pSheet->getPageSetup()->getFitToPage()) { + $objWriter->startElement('pageSetUpPr'); + $objWriter->writeAttribute('fitToPage', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + /** + * Write Dimension + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeDimension(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // dimension + $objWriter->startElement('dimension'); + $objWriter->writeAttribute('ref', $pSheet->calculateWorksheetDimension()); + $objWriter->endElement(); + } + + /** + * Write SheetViews + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeSheetViews(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetViews + $objWriter->startElement('sheetViews'); + + // Sheet selected? + $sheetSelected = false; + if ($this->getParentWriter()->getPHPExcel()->getIndex($pSheet) == $this->getParentWriter()->getPHPExcel()->getActiveSheetIndex()) { + $sheetSelected = true; + } + + // sheetView + $objWriter->startElement('sheetView'); + $objWriter->writeAttribute('tabSelected', $sheetSelected ? '1' : '0'); + $objWriter->writeAttribute('workbookViewId', '0'); + + // Zoom scales + if ($pSheet->getSheetView()->getZoomScale() != 100) { + $objWriter->writeAttribute('zoomScale', $pSheet->getSheetView()->getZoomScale()); + } + if ($pSheet->getSheetView()->getZoomScaleNormal() != 100) { + $objWriter->writeAttribute('zoomScaleNormal', $pSheet->getSheetView()->getZoomScaleNormal()); + } + + // View Layout Type + if ($pSheet->getSheetView()->getView() !== PHPExcel_Worksheet_SheetView::SHEETVIEW_NORMAL) { + $objWriter->writeAttribute('view', $pSheet->getSheetView()->getView()); + } + + // Gridlines + if ($pSheet->getShowGridlines()) { + $objWriter->writeAttribute('showGridLines', 'true'); + } else { + $objWriter->writeAttribute('showGridLines', 'false'); + } + + // Row and column headers + if ($pSheet->getShowRowColHeaders()) { + $objWriter->writeAttribute('showRowColHeaders', '1'); + } else { + $objWriter->writeAttribute('showRowColHeaders', '0'); + } + + // Right-to-left + if ($pSheet->getRightToLeft()) { + $objWriter->writeAttribute('rightToLeft', 'true'); + } + + $activeCell = $pSheet->getActiveCell(); + + // Pane + $pane = ''; + $topLeftCell = $pSheet->getFreezePane(); + if (($topLeftCell != '') && ($topLeftCell != 'A1')) { + $activeCell = empty($activeCell) ? $topLeftCell : $activeCell; + // Calculate freeze coordinates + $xSplit = $ySplit = 0; + + list($xSplit, $ySplit) = PHPExcel_Cell::coordinateFromString($topLeftCell); + $xSplit = PHPExcel_Cell::columnIndexFromString($xSplit); + + // pane + $pane = 'topRight'; + $objWriter->startElement('pane'); + if ($xSplit > 1) { + $objWriter->writeAttribute('xSplit', $xSplit - 1); + } + if ($ySplit > 1) { + $objWriter->writeAttribute('ySplit', $ySplit - 1); + $pane = ($xSplit > 1) ? 'bottomRight' : 'bottomLeft'; + } + $objWriter->writeAttribute('topLeftCell', $topLeftCell); + $objWriter->writeAttribute('activePane', $pane); + $objWriter->writeAttribute('state', 'frozen'); + $objWriter->endElement(); + + if (($xSplit > 1) && ($ySplit > 1)) { + // Write additional selections if more than two panes (ie both an X and a Y split) + $objWriter->startElement('selection'); + $objWriter->writeAttribute('pane', 'topRight'); + $objWriter->endElement(); + $objWriter->startElement('selection'); + $objWriter->writeAttribute('pane', 'bottomLeft'); + $objWriter->endElement(); + } + } + + // Selection +// if ($pane != '') { + // Only need to write selection element if we have a split pane + // We cheat a little by over-riding the active cell selection, setting it to the split cell + $objWriter->startElement('selection'); + if ($pane != '') { + $objWriter->writeAttribute('pane', $pane); + } + $objWriter->writeAttribute('activeCell', $activeCell); + $objWriter->writeAttribute('sqref', $activeCell); + $objWriter->endElement(); +// } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + + /** + * Write SheetFormatPr + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeSheetFormatPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetFormatPr + $objWriter->startElement('sheetFormatPr'); + + // Default row height + if ($pSheet->getDefaultRowDimension()->getRowHeight() >= 0) { + $objWriter->writeAttribute('customHeight', 'true'); + $objWriter->writeAttribute('defaultRowHeight', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultRowDimension()->getRowHeight())); + } else { + $objWriter->writeAttribute('defaultRowHeight', '14.4'); + } + + // Set Zero Height row + if ((string)$pSheet->getDefaultRowDimension()->getZeroHeight() == '1' || + strtolower((string)$pSheet->getDefaultRowDimension()->getZeroHeight()) == 'true') { + $objWriter->writeAttribute('zeroHeight', '1'); + } + + // Default column width + if ($pSheet->getDefaultColumnDimension()->getWidth() >= 0) { + $objWriter->writeAttribute('defaultColWidth', PHPExcel_Shared_String::FormatNumber($pSheet->getDefaultColumnDimension()->getWidth())); + } + + // Outline level - row + $outlineLevelRow = 0; + foreach ($pSheet->getRowDimensions() as $dimension) { + if ($dimension->getOutlineLevel() > $outlineLevelRow) { + $outlineLevelRow = $dimension->getOutlineLevel(); + } + } + $objWriter->writeAttribute('outlineLevelRow', (int)$outlineLevelRow); + + // Outline level - column + $outlineLevelCol = 0; + foreach ($pSheet->getColumnDimensions() as $dimension) { + if ($dimension->getOutlineLevel() > $outlineLevelCol) { + $outlineLevelCol = $dimension->getOutlineLevel(); + } + } + $objWriter->writeAttribute('outlineLevelCol', (int)$outlineLevelCol); + + $objWriter->endElement(); + } + + /** + * Write Cols + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeCols(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // cols + if (count($pSheet->getColumnDimensions()) > 0) { + $objWriter->startElement('cols'); + + $pSheet->calculateColumnWidths(); + + // Loop through column dimensions + foreach ($pSheet->getColumnDimensions() as $colDimension) { + // col + $objWriter->startElement('col'); + $objWriter->writeAttribute('min', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); + $objWriter->writeAttribute('max', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex())); + + if ($colDimension->getWidth() < 0) { + // No width set, apply default of 10 + $objWriter->writeAttribute('width', '9.10'); + } else { + // Width set + $objWriter->writeAttribute('width', PHPExcel_Shared_String::FormatNumber($colDimension->getWidth())); + } + + // Column visibility + if ($colDimension->getVisible() == false) { + $objWriter->writeAttribute('hidden', 'true'); + } + + // Auto size? + if ($colDimension->getAutoSize()) { + $objWriter->writeAttribute('bestFit', 'true'); + } + + // Custom width? + if ($colDimension->getWidth() != $pSheet->getDefaultColumnDimension()->getWidth()) { + $objWriter->writeAttribute('customWidth', 'true'); + } + + // Collapsed + if ($colDimension->getCollapsed() == true) { + $objWriter->writeAttribute('collapsed', 'true'); + } + + // Outline level + if ($colDimension->getOutlineLevel() > 0) { + $objWriter->writeAttribute('outlineLevel', $colDimension->getOutlineLevel()); + } + + // Style + $objWriter->writeAttribute('style', $colDimension->getXfIndex()); + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write SheetProtection + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeSheetProtection(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // sheetProtection + $objWriter->startElement('sheetProtection'); + + if ($pSheet->getProtection()->getPassword() != '') { + $objWriter->writeAttribute('password', $pSheet->getProtection()->getPassword()); + } + + $objWriter->writeAttribute('sheet', ($pSheet->getProtection()->getSheet() ? 'true' : 'false')); + $objWriter->writeAttribute('objects', ($pSheet->getProtection()->getObjects() ? 'true' : 'false')); + $objWriter->writeAttribute('scenarios', ($pSheet->getProtection()->getScenarios() ? 'true' : 'false')); + $objWriter->writeAttribute('formatCells', ($pSheet->getProtection()->getFormatCells() ? 'true' : 'false')); + $objWriter->writeAttribute('formatColumns', ($pSheet->getProtection()->getFormatColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('formatRows', ($pSheet->getProtection()->getFormatRows() ? 'true' : 'false')); + $objWriter->writeAttribute('insertColumns', ($pSheet->getProtection()->getInsertColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('insertRows', ($pSheet->getProtection()->getInsertRows() ? 'true' : 'false')); + $objWriter->writeAttribute('insertHyperlinks', ($pSheet->getProtection()->getInsertHyperlinks() ? 'true' : 'false')); + $objWriter->writeAttribute('deleteColumns', ($pSheet->getProtection()->getDeleteColumns() ? 'true' : 'false')); + $objWriter->writeAttribute('deleteRows', ($pSheet->getProtection()->getDeleteRows() ? 'true' : 'false')); + $objWriter->writeAttribute('selectLockedCells', ($pSheet->getProtection()->getSelectLockedCells() ? 'true' : 'false')); + $objWriter->writeAttribute('sort', ($pSheet->getProtection()->getSort() ? 'true' : 'false')); + $objWriter->writeAttribute('autoFilter', ($pSheet->getProtection()->getAutoFilter() ? 'true' : 'false')); + $objWriter->writeAttribute('pivotTables', ($pSheet->getProtection()->getPivotTables() ? 'true' : 'false')); + $objWriter->writeAttribute('selectUnlockedCells', ($pSheet->getProtection()->getSelectUnlockedCells() ? 'true' : 'false')); + $objWriter->endElement(); + } + + /** + * Write ConditionalFormatting + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeConditionalFormatting(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Conditional id + $id = 1; + + // Loop through styles in the current worksheet + foreach ($pSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + // WHY was this again? + // if ($this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode($conditional->getHashCode()) == '') { + // continue; + // } + if ($conditional->getConditionType() != PHPExcel_Style_Conditional::CONDITION_NONE) { + // conditionalFormatting + $objWriter->startElement('conditionalFormatting'); + $objWriter->writeAttribute('sqref', $cellCoordinate); + + // cfRule + $objWriter->startElement('cfRule'); + $objWriter->writeAttribute('type', $conditional->getConditionType()); + $objWriter->writeAttribute('dxfId', $this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode($conditional->getHashCode())); + $objWriter->writeAttribute('priority', $id++); + + if (($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) + && $conditional->getOperatorType() != PHPExcel_Style_Conditional::OPERATOR_NONE) { + $objWriter->writeAttribute('operator', $conditional->getOperatorType()); + } + + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && !is_null($conditional->getText())) { + $objWriter->writeAttribute('text', $conditional->getText()); + } + + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'NOT(ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . ')))'); + } elseif ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BEGINSWITH + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'LEFT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); + } elseif ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_ENDSWITH + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'RIGHT(' . $cellCoordinate . ',' . strlen($conditional->getText()) . ')="' . $conditional->getText() . '"'); + } elseif ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + && $conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_NOTCONTAINS + && !is_null($conditional->getText())) { + $objWriter->writeElement('formula', 'ISERROR(SEARCH("' . $conditional->getText() . '",' . $cellCoordinate . '))'); + } elseif ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) { + foreach ($conditional->getConditions() as $formula) { + // Formula + $objWriter->writeElement('formula', $formula); + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + } + } + + /** + * Write DataValidations + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeDataValidations(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Datavalidation collection + $dataValidationCollection = $pSheet->getDataValidationCollection(); + + // Write data validations? + if (!empty($dataValidationCollection)) { + $objWriter->startElement('dataValidations'); + $objWriter->writeAttribute('count', count($dataValidationCollection)); + + foreach ($dataValidationCollection as $coordinate => $dv) { + $objWriter->startElement('dataValidation'); + + if ($dv->getType() != '') { + $objWriter->writeAttribute('type', $dv->getType()); + } + + if ($dv->getErrorStyle() != '') { + $objWriter->writeAttribute('errorStyle', $dv->getErrorStyle()); + } + + if ($dv->getOperator() != '') { + $objWriter->writeAttribute('operator', $dv->getOperator()); + } + + $objWriter->writeAttribute('allowBlank', ($dv->getAllowBlank() ? '1' : '0')); + $objWriter->writeAttribute('showDropDown', (!$dv->getShowDropDown() ? '1' : '0')); + $objWriter->writeAttribute('showInputMessage', ($dv->getShowInputMessage() ? '1' : '0')); + $objWriter->writeAttribute('showErrorMessage', ($dv->getShowErrorMessage() ? '1' : '0')); + + if ($dv->getErrorTitle() !== '') { + $objWriter->writeAttribute('errorTitle', $dv->getErrorTitle()); + } + if ($dv->getError() !== '') { + $objWriter->writeAttribute('error', $dv->getError()); + } + if ($dv->getPromptTitle() !== '') { + $objWriter->writeAttribute('promptTitle', $dv->getPromptTitle()); + } + if ($dv->getPrompt() !== '') { + $objWriter->writeAttribute('prompt', $dv->getPrompt()); + } + + $objWriter->writeAttribute('sqref', $coordinate); + + if ($dv->getFormula1() !== '') { + $objWriter->writeElement('formula1', $dv->getFormula1()); + } + if ($dv->getFormula2() !== '') { + $objWriter->writeElement('formula2', $dv->getFormula2()); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write Hyperlinks + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeHyperlinks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Hyperlink collection + $hyperlinkCollection = $pSheet->getHyperlinkCollection(); + + // Relation ID + $relationId = 1; + + // Write hyperlinks? + if (!empty($hyperlinkCollection)) { + $objWriter->startElement('hyperlinks'); + + foreach ($hyperlinkCollection as $coordinate => $hyperlink) { + $objWriter->startElement('hyperlink'); + + $objWriter->writeAttribute('ref', $coordinate); + if (!$hyperlink->isInternal()) { + $objWriter->writeAttribute('r:id', 'rId_hyperlink_' . $relationId); + ++$relationId; + } else { + $objWriter->writeAttribute('location', str_replace('sheet://', '', $hyperlink->getUrl())); + } + + if ($hyperlink->getTooltip() != '') { + $objWriter->writeAttribute('tooltip', $hyperlink->getTooltip()); + } + + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write ProtectedRanges + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeProtectedRanges(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + if (count($pSheet->getProtectedCells()) > 0) { + // protectedRanges + $objWriter->startElement('protectedRanges'); + + // Loop protectedRanges + foreach ($pSheet->getProtectedCells() as $protectedCell => $passwordHash) { + // protectedRange + $objWriter->startElement('protectedRange'); + $objWriter->writeAttribute('name', 'p' . md5($protectedCell)); + $objWriter->writeAttribute('sqref', $protectedCell); + if (!empty($passwordHash)) { + $objWriter->writeAttribute('password', $passwordHash); + } + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write MergeCells + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeMergeCells(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + if (count($pSheet->getMergeCells()) > 0) { + // mergeCells + $objWriter->startElement('mergeCells'); + + // Loop mergeCells + foreach ($pSheet->getMergeCells() as $mergeCell) { + // mergeCell + $objWriter->startElement('mergeCell'); + $objWriter->writeAttribute('ref', $mergeCell); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write PrintOptions + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writePrintOptions(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // printOptions + $objWriter->startElement('printOptions'); + + $objWriter->writeAttribute('gridLines', ($pSheet->getPrintGridlines() ? 'true': 'false')); + $objWriter->writeAttribute('gridLinesSet', 'true'); + + if ($pSheet->getPageSetup()->getHorizontalCentered()) { + $objWriter->writeAttribute('horizontalCentered', 'true'); + } + + if ($pSheet->getPageSetup()->getVerticalCentered()) { + $objWriter->writeAttribute('verticalCentered', 'true'); + } + + $objWriter->endElement(); + } + + /** + * Write PageMargins + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writePageMargins(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // pageMargins + $objWriter->startElement('pageMargins'); + $objWriter->writeAttribute('left', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft())); + $objWriter->writeAttribute('right', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight())); + $objWriter->writeAttribute('top', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop())); + $objWriter->writeAttribute('bottom', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom())); + $objWriter->writeAttribute('header', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getHeader())); + $objWriter->writeAttribute('footer', PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getFooter())); + $objWriter->endElement(); + } + + /** + * Write AutoFilter + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeAutoFilter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + $autoFilterRange = $pSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + // autoFilter + $objWriter->startElement('autoFilter'); + + // Strip any worksheet reference from the filter coordinates + $range = PHPExcel_Cell::splitRange($autoFilterRange); + $range = $range[0]; + // Strip any worksheet ref + if (strpos($range[0], '!') !== false) { + list($ws, $range[0]) = explode('!', $range[0]); + } + $range = implode(':', $range); + + $objWriter->writeAttribute('ref', str_replace('$', '', $range)); + + $columns = $pSheet->getAutoFilter()->getColumns(); + if (count($columns > 0)) { + foreach ($columns as $columnID => $column) { + $rules = $column->getRules(); + if (count($rules) > 0) { + $objWriter->startElement('filterColumn'); + $objWriter->writeAttribute('colId', $pSheet->getAutoFilter()->getColumnOffset($columnID)); + + $objWriter->startElement($column->getFilterType()); + if ($column->getJoin() == PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND) { + $objWriter->writeAttribute('and', 1); + } + + foreach ($rules as $rule) { + if (($column->getFilterType() === PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER) && + ($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) && + ($rule->getValue() === '')) { + // Filter rule for Blanks + $objWriter->writeAttribute('blank', 1); + } elseif ($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER) { + // Dynamic Filter Rule + $objWriter->writeAttribute('type', $rule->getGrouping()); + $val = $column->getAttribute('val'); + if ($val !== null) { + $objWriter->writeAttribute('val', $val); + } + $maxVal = $column->getAttribute('maxVal'); + if ($maxVal !== null) { + $objWriter->writeAttribute('maxVal', $maxVal); + } + } elseif ($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER) { + // Top 10 Filter Rule + $objWriter->writeAttribute('val', $rule->getValue()); + $objWriter->writeAttribute('percent', (($rule->getOperator() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT) ? '1' : '0')); + $objWriter->writeAttribute('top', (($rule->getGrouping() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP) ? '1': '0')); + } else { + // Filter, DateGroupItem or CustomFilter + $objWriter->startElement($rule->getRuleType()); + + if ($rule->getOperator() !== PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL) { + $objWriter->writeAttribute('operator', $rule->getOperator()); + } + if ($rule->getRuleType() === PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP) { + // Date Group filters + foreach ($rule->getValue() as $key => $value) { + if ($value > '') { + $objWriter->writeAttribute($key, $value); + } + } + $objWriter->writeAttribute('dateTimeGrouping', $rule->getGrouping()); + } else { + $objWriter->writeAttribute('val', $rule->getValue()); + } + + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + + $objWriter->endElement(); + } + } + } + $objWriter->endElement(); + } + } + + /** + * Write PageSetup + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writePageSetup(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // pageSetup + $objWriter->startElement('pageSetup'); + $objWriter->writeAttribute('paperSize', $pSheet->getPageSetup()->getPaperSize()); + $objWriter->writeAttribute('orientation', $pSheet->getPageSetup()->getOrientation()); + + if (!is_null($pSheet->getPageSetup()->getScale())) { + $objWriter->writeAttribute('scale', $pSheet->getPageSetup()->getScale()); + } + if (!is_null($pSheet->getPageSetup()->getFitToHeight())) { + $objWriter->writeAttribute('fitToHeight', $pSheet->getPageSetup()->getFitToHeight()); + } else { + $objWriter->writeAttribute('fitToHeight', '0'); + } + if (!is_null($pSheet->getPageSetup()->getFitToWidth())) { + $objWriter->writeAttribute('fitToWidth', $pSheet->getPageSetup()->getFitToWidth()); + } else { + $objWriter->writeAttribute('fitToWidth', '0'); + } + if (!is_null($pSheet->getPageSetup()->getFirstPageNumber())) { + $objWriter->writeAttribute('firstPageNumber', $pSheet->getPageSetup()->getFirstPageNumber()); + $objWriter->writeAttribute('useFirstPageNumber', '1'); + } + + $objWriter->endElement(); + } + + /** + * Write Header / Footer + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeHeaderFooter(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // headerFooter + $objWriter->startElement('headerFooter'); + $objWriter->writeAttribute('differentOddEven', ($pSheet->getHeaderFooter()->getDifferentOddEven() ? 'true' : 'false')); + $objWriter->writeAttribute('differentFirst', ($pSheet->getHeaderFooter()->getDifferentFirst() ? 'true' : 'false')); + $objWriter->writeAttribute('scaleWithDoc', ($pSheet->getHeaderFooter()->getScaleWithDocument() ? 'true' : 'false')); + $objWriter->writeAttribute('alignWithMargins', ($pSheet->getHeaderFooter()->getAlignWithMargins() ? 'true' : 'false')); + + $objWriter->writeElement('oddHeader', $pSheet->getHeaderFooter()->getOddHeader()); + $objWriter->writeElement('oddFooter', $pSheet->getHeaderFooter()->getOddFooter()); + $objWriter->writeElement('evenHeader', $pSheet->getHeaderFooter()->getEvenHeader()); + $objWriter->writeElement('evenFooter', $pSheet->getHeaderFooter()->getEvenFooter()); + $objWriter->writeElement('firstHeader', $pSheet->getHeaderFooter()->getFirstHeader()); + $objWriter->writeElement('firstFooter', $pSheet->getHeaderFooter()->getFirstFooter()); + $objWriter->endElement(); + } + + /** + * Write Breaks + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeBreaks(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // Get row and column breaks + $aRowBreaks = array(); + $aColumnBreaks = array(); + foreach ($pSheet->getBreaks() as $cell => $breakType) { + if ($breakType == PHPExcel_Worksheet::BREAK_ROW) { + $aRowBreaks[] = $cell; + } elseif ($breakType == PHPExcel_Worksheet::BREAK_COLUMN) { + $aColumnBreaks[] = $cell; + } + } + + // rowBreaks + if (!empty($aRowBreaks)) { + $objWriter->startElement('rowBreaks'); + $objWriter->writeAttribute('count', count($aRowBreaks)); + $objWriter->writeAttribute('manualBreakCount', count($aRowBreaks)); + + foreach ($aRowBreaks as $cell) { + $coords = PHPExcel_Cell::coordinateFromString($cell); + + $objWriter->startElement('brk'); + $objWriter->writeAttribute('id', $coords[1]); + $objWriter->writeAttribute('man', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + + // Second, write column breaks + if (!empty($aColumnBreaks)) { + $objWriter->startElement('colBreaks'); + $objWriter->writeAttribute('count', count($aColumnBreaks)); + $objWriter->writeAttribute('manualBreakCount', count($aColumnBreaks)); + + foreach ($aColumnBreaks as $cell) { + $coords = PHPExcel_Cell::coordinateFromString($cell); + + $objWriter->startElement('brk'); + $objWriter->writeAttribute('id', PHPExcel_Cell::columnIndexFromString($coords[0]) - 1); + $objWriter->writeAttribute('man', '1'); + $objWriter->endElement(); + } + + $objWriter->endElement(); + } + } + + /** + * Write SheetData + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param string[] $pStringTable String table + * @throws PHPExcel_Writer_Exception + */ + private function writeSheetData(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pStringTable = null) + { + if (is_array($pStringTable)) { + // Flipped stringtable, for faster index searching + $aFlippedStringTable = $this->getParentWriter()->getWriterPart('stringtable')->flipStringTable($pStringTable); + + // sheetData + $objWriter->startElement('sheetData'); + + // Get column count + $colCount = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()); + + // Highest row number + $highestRow = $pSheet->getHighestRow(); + + // Loop through cells + $cellsByRow = array(); + foreach ($pSheet->getCellCollection() as $cellID) { + $cellAddress = PHPExcel_Cell::coordinateFromString($cellID); + $cellsByRow[$cellAddress[1]][] = $cellID; + } + + $currentRow = 0; + while ($currentRow++ < $highestRow) { + // Get row dimension + $rowDimension = $pSheet->getRowDimension($currentRow); + + // Write current row? + $writeCurrentRow = isset($cellsByRow[$currentRow]) || $rowDimension->getRowHeight() >= 0 || $rowDimension->getVisible() == false || $rowDimension->getCollapsed() == true || $rowDimension->getOutlineLevel() > 0 || $rowDimension->getXfIndex() !== null; + + if ($writeCurrentRow) { + // Start a new row + $objWriter->startElement('row'); + $objWriter->writeAttribute('r', $currentRow); + $objWriter->writeAttribute('spans', '1:' . $colCount); + + // Row dimensions + if ($rowDimension->getRowHeight() >= 0) { + $objWriter->writeAttribute('customHeight', '1'); + $objWriter->writeAttribute('ht', PHPExcel_Shared_String::FormatNumber($rowDimension->getRowHeight())); + } + + // Row visibility + if ($rowDimension->getVisible() == false) { + $objWriter->writeAttribute('hidden', 'true'); + } + + // Collapsed + if ($rowDimension->getCollapsed() == true) { + $objWriter->writeAttribute('collapsed', 'true'); + } + + // Outline level + if ($rowDimension->getOutlineLevel() > 0) { + $objWriter->writeAttribute('outlineLevel', $rowDimension->getOutlineLevel()); + } + + // Style + if ($rowDimension->getXfIndex() !== null) { + $objWriter->writeAttribute('s', $rowDimension->getXfIndex()); + $objWriter->writeAttribute('customFormat', '1'); + } + + // Write cells + if (isset($cellsByRow[$currentRow])) { + foreach ($cellsByRow[$currentRow] as $cellAddress) { + // Write cell + $this->writeCell($objWriter, $pSheet, $cellAddress, $pStringTable, $aFlippedStringTable); + } + } + + // End row + $objWriter->endElement(); + } + } + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Cell + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param PHPExcel_Cell $pCellAddress Cell Address + * @param string[] $pStringTable String table + * @param string[] $pFlippedStringTable String table (flipped), for faster index searching + * @throws PHPExcel_Writer_Exception + */ + private function writeCell(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $pCellAddress = null, $pStringTable = null, $pFlippedStringTable = null) + { + if (is_array($pStringTable) && is_array($pFlippedStringTable)) { + // Cell + $pCell = $pSheet->getCell($pCellAddress); + $objWriter->startElement('c'); + $objWriter->writeAttribute('r', $pCellAddress); + + // Sheet styles + if ($pCell->getXfIndex() != '') { + $objWriter->writeAttribute('s', $pCell->getXfIndex()); + } + + // If cell value is supplied, write cell value + $cellValue = $pCell->getValue(); + if (is_object($cellValue) || $cellValue !== '') { + // Map type + $mappedType = $pCell->getDataType(); + + // Write data type depending on its type + switch (strtolower($mappedType)) { + case 'inlinestr': // Inline string + case 's': // String + case 'b': // Boolean + $objWriter->writeAttribute('t', $mappedType); + break; + case 'f': // Formula + $calculatedValue = ($this->getParentWriter()->getPreCalculateFormulas()) ? + $pCell->getCalculatedValue() : + $cellValue; + if (is_string($calculatedValue)) { + $objWriter->writeAttribute('t', 'str'); + } + break; + case 'e': // Error + $objWriter->writeAttribute('t', $mappedType); + } + + // Write data depending on its type + switch (strtolower($mappedType)) { + case 'inlinestr': // Inline string + if (! $cellValue instanceof PHPExcel_RichText) { + $objWriter->writeElement('t', PHPExcel_Shared_String::ControlCharacterPHP2OOXML(htmlspecialchars($cellValue))); + } elseif ($cellValue instanceof PHPExcel_RichText) { + $objWriter->startElement('is'); + $this->getParentWriter()->getWriterPart('stringtable')->writeRichText($objWriter, $cellValue); + $objWriter->endElement(); + } + + break; + case 's': // String + if (! $cellValue instanceof PHPExcel_RichText) { + if (isset($pFlippedStringTable[$cellValue])) { + $objWriter->writeElement('v', $pFlippedStringTable[$cellValue]); + } + } elseif ($cellValue instanceof PHPExcel_RichText) { + $objWriter->writeElement('v', $pFlippedStringTable[$cellValue->getHashCode()]); + } + + break; + case 'f': // Formula + $attributes = $pCell->getFormulaAttributes(); + if ($attributes['t'] == 'array') { + $objWriter->startElement('f'); + $objWriter->writeAttribute('t', 'array'); + $objWriter->writeAttribute('ref', $pCellAddress); + $objWriter->writeAttribute('aca', '1'); + $objWriter->writeAttribute('ca', '1'); + $objWriter->text(substr($cellValue, 1)); + $objWriter->endElement(); + } else { + $objWriter->writeElement('f', substr($cellValue, 1)); + } + if ($this->getParentWriter()->getOffice2003Compatibility() === false) { + if ($this->getParentWriter()->getPreCalculateFormulas()) { +// $calculatedValue = $pCell->getCalculatedValue(); + if (!is_array($calculatedValue) && substr($calculatedValue, 0, 1) != '#') { + $objWriter->writeElement('v', PHPExcel_Shared_String::FormatNumber($calculatedValue)); + } else { + $objWriter->writeElement('v', '0'); + } + } else { + $objWriter->writeElement('v', '0'); + } + } + break; + case 'n': // Numeric + // force point as decimal separator in case current locale uses comma + $objWriter->writeElement('v', str_replace(',', '.', $cellValue)); + break; + case 'b': // Boolean + $objWriter->writeElement('v', ($cellValue ? '1' : '0')); + break; + case 'e': // Error + if (substr($cellValue, 0, 1) == '=') { + $objWriter->writeElement('f', substr($cellValue, 1)); + $objWriter->writeElement('v', substr($cellValue, 1)); + } else { + $objWriter->writeElement('v', $cellValue); + } + + break; + } + } + + $objWriter->endElement(); + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } + + /** + * Write Drawings + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @param boolean $includeCharts Flag indicating if we should include drawing details for charts + * @throws PHPExcel_Writer_Exception + */ + private function writeDrawings(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null, $includeCharts = false) + { + $chartCount = ($includeCharts) ? $pSheet->getChartCollection()->count() : 0; + // If sheet contains drawings, add the relationships + if (($pSheet->getDrawingCollection()->count() > 0) || + ($chartCount > 0)) { + $objWriter->startElement('drawing'); + $objWriter->writeAttribute('r:id', 'rId1'); + $objWriter->endElement(); + } + } + + /** + * Write LegacyDrawing + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeLegacyDrawing(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // If sheet contains comments, add the relationships + if (count($pSheet->getComments()) > 0) { + $objWriter->startElement('legacyDrawing'); + $objWriter->writeAttribute('r:id', 'rId_comments_vml1'); + $objWriter->endElement(); + } + } + + /** + * Write LegacyDrawingHF + * + * @param PHPExcel_Shared_XMLWriter $objWriter XML Writer + * @param PHPExcel_Worksheet $pSheet Worksheet + * @throws PHPExcel_Writer_Exception + */ + private function writeLegacyDrawingHF(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) + { + // If sheet contains images, add the relationships + if (count($pSheet->getHeaderFooter()->getImages()) > 0) { + $objWriter->startElement('legacyDrawingHF'); + $objWriter->writeAttribute('r:id', 'rId_headerfooter_vml1'); + $objWriter->endElement(); + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php index 68b1124fd..806ebe510 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/WriterPart.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel2007_WriterPart * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,62 +21,55 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel2007_WriterPart - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel2007 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ abstract class PHPExcel_Writer_Excel2007_WriterPart { - /** - * Parent IWriter object - * - * @var PHPExcel_Writer_IWriter - */ - private $_parentWriter; + /** + * Parent IWriter object + * + * @var PHPExcel_Writer_IWriter + */ + private $parentWriter; - /** - * Set parent IWriter object - * - * @param PHPExcel_Writer_IWriter $pWriter - * @throws PHPExcel_Writer_Exception - */ - public function setParentWriter(PHPExcel_Writer_IWriter $pWriter = null) { - $this->_parentWriter = $pWriter; - } + /** + * Set parent IWriter object + * + * @param PHPExcel_Writer_IWriter $pWriter + * @throws PHPExcel_Writer_Exception + */ + public function setParentWriter(PHPExcel_Writer_IWriter $pWriter = null) + { + $this->parentWriter = $pWriter; + } - /** - * Get parent IWriter object - * - * @return PHPExcel_Writer_IWriter - * @throws PHPExcel_Writer_Exception - */ - public function getParentWriter() { - if (!is_null($this->_parentWriter)) { - return $this->_parentWriter; - } else { - throw new PHPExcel_Writer_Exception("No parent PHPExcel_Writer_IWriter assigned."); - } - } - - /** - * Set parent IWriter object - * - * @param PHPExcel_Writer_IWriter $pWriter - * @throws PHPExcel_Writer_Exception - */ - public function __construct(PHPExcel_Writer_IWriter $pWriter = null) { - if (!is_null($pWriter)) { - $this->_parentWriter = $pWriter; - } - } + /** + * Get parent IWriter object + * + * @return PHPExcel_Writer_IWriter + * @throws PHPExcel_Writer_Exception + */ + public function getParentWriter() + { + if (!is_null($this->parentWriter)) { + return $this->parentWriter; + } else { + throw new PHPExcel_Writer_Exception("No parent PHPExcel_Writer_IWriter assigned."); + } + } + /** + * Set parent IWriter object + * + * @param PHPExcel_Writer_IWriter $pWriter + * @throws PHPExcel_Writer_Exception + */ + public function __construct(PHPExcel_Writer_IWriter $pWriter = null) + { + if (!is_null($pWriter)) { + $this->parentWriter = $pWriter; + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php index 1a990d045..2dede819a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5 * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,916 +21,884 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## - */ - - -/** - * PHPExcel_Writer_Excel5 - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ class PHPExcel_Writer_Excel5 extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { - /** - * PHPExcel object - * - * @var PHPExcel - */ - private $_phpExcel; - - /** - * Total number of shared strings in workbook - * - * @var int - */ - private $_str_total = 0; - - /** - * Number of unique shared strings in workbook - * - * @var int - */ - private $_str_unique = 0; - - /** - * Array of unique shared strings in workbook - * - * @var array - */ - private $_str_table = array(); - - /** - * Color cache. Mapping between RGB value and color index. - * - * @var array - */ - private $_colors; - - /** - * Formula parser - * - * @var PHPExcel_Writer_Excel5_Parser - */ - private $_parser; - - /** - * Identifier clusters for drawings. Used in MSODRAWINGGROUP record. - * - * @var array - */ - private $_IDCLs; - - /** - * Basic OLE object summary information - * - * @var array - */ - private $_summaryInformation; - - /** - * Extended OLE object document summary information - * - * @var array - */ - private $_documentSummaryInformation; - - /** - * Create a new PHPExcel_Writer_Excel5 - * - * @param PHPExcel $phpExcel PHPExcel object - */ - public function __construct(PHPExcel $phpExcel) { - $this->_phpExcel = $phpExcel; - - $this->_parser = new PHPExcel_Writer_Excel5_Parser(); - } - - /** - * Save PHPExcel to file - * - * @param string $pFilename - * @throws PHPExcel_Writer_Exception - */ - public function save($pFilename = null) { - - // garbage collect - $this->_phpExcel->garbageCollect(); - - $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); - $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - - // initialize colors array - $this->_colors = array(); - - // Initialise workbook writer - $this->_writerWorkbook = new PHPExcel_Writer_Excel5_Workbook($this->_phpExcel, - $this->_str_total, $this->_str_unique, $this->_str_table, - $this->_colors, $this->_parser); - - // Initialise worksheet writers - $countSheets = $this->_phpExcel->getSheetCount(); - for ($i = 0; $i < $countSheets; ++$i) { - $this->_writerWorksheets[$i] = new PHPExcel_Writer_Excel5_Worksheet($this->_str_total, $this->_str_unique, - $this->_str_table, $this->_colors, - $this->_parser, - $this->_preCalculateFormulas, - $this->_phpExcel->getSheet($i)); - } - - // build Escher objects. Escher objects for workbooks needs to be build before Escher object for workbook. - $this->_buildWorksheetEschers(); - $this->_buildWorkbookEscher(); - - // add 15 identical cell style Xfs - // for now, we use the first cellXf instead of cellStyleXf - $cellXfCollection = $this->_phpExcel->getCellXfCollection(); - for ($i = 0; $i < 15; ++$i) { - $this->_writerWorkbook->addXfWriter($cellXfCollection[0], true); - } - - // add all the cell Xfs - foreach ($this->_phpExcel->getCellXfCollection() as $style) { - $this->_writerWorkbook->addXfWriter($style, false); - } - - // add fonts from rich text eleemnts - for ($i = 0; $i < $countSheets; ++$i) { - foreach ($this->_writerWorksheets[$i]->_phpSheet->getCellCollection() as $cellID) { - $cell = $this->_writerWorksheets[$i]->_phpSheet->getCell($cellID); - $cVal = $cell->getValue(); - if ($cVal instanceof PHPExcel_RichText) { - $elements = $cVal->getRichTextElements(); - foreach ($elements as $element) { - if ($element instanceof PHPExcel_RichText_Run) { - $font = $element->getFont(); - $this->_writerWorksheets[$i]->_fntHashIndex[$font->getHashCode()] = $this->_writerWorkbook->_addFont($font); - } - } - } - } - } - - // initialize OLE file - $workbookStreamName = 'Workbook'; - $OLE = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs($workbookStreamName)); - - // Write the worksheet streams before the global workbook stream, - // because the byte sizes of these are needed in the global workbook stream - $worksheetSizes = array(); - for ($i = 0; $i < $countSheets; ++$i) { - $this->_writerWorksheets[$i]->close(); - $worksheetSizes[] = $this->_writerWorksheets[$i]->_datasize; - } - - // add binary data for global workbook stream - $OLE->append($this->_writerWorkbook->writeWorkbook($worksheetSizes)); - - // add binary data for sheet streams - for ($i = 0; $i < $countSheets; ++$i) { - $OLE->append($this->_writerWorksheets[$i]->getData()); - } - - $this->_documentSummaryInformation = $this->_writeDocumentSummaryInformation(); - // initialize OLE Document Summary Information - if(isset($this->_documentSummaryInformation) && !empty($this->_documentSummaryInformation)){ - $OLE_DocumentSummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'DocumentSummaryInformation')); - $OLE_DocumentSummaryInformation->append($this->_documentSummaryInformation); - } - - $this->_summaryInformation = $this->_writeSummaryInformation(); - // initialize OLE Summary Information - if(isset($this->_summaryInformation) && !empty($this->_summaryInformation)){ - $OLE_SummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'SummaryInformation')); - $OLE_SummaryInformation->append($this->_summaryInformation); - } - - // define OLE Parts - $arrRootData = array($OLE); - // initialize OLE Properties file - if(isset($OLE_SummaryInformation)){ - $arrRootData[] = $OLE_SummaryInformation; - } - // initialize OLE Extended Properties file - if(isset($OLE_DocumentSummaryInformation)){ - $arrRootData[] = $OLE_DocumentSummaryInformation; - } - - $root = new PHPExcel_Shared_OLE_PPS_Root(time(), time(), $arrRootData); - // save the OLE file - $res = $root->save($pFilename); - - PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); - } - - /** - * Set temporary storage directory - * - * @deprecated - * @param string $pValue Temporary storage directory - * @throws PHPExcel_Writer_Exception when directory does not exist - * @return PHPExcel_Writer_Excel5 - */ - public function setTempDir($pValue = '') { - return $this; - } - - /** - * Build the Worksheet Escher objects - * - */ - private function _buildWorksheetEschers() - { - // 1-based index to BstoreContainer - $blipIndex = 0; - $lastReducedSpId = 0; - $lastSpId = 0; - - foreach ($this->_phpExcel->getAllsheets() as $sheet) { - // sheet index - $sheetIndex = $sheet->getParent()->getIndex($sheet); - - $escher = null; - - // check if there are any shapes for this sheet - $filterRange = $sheet->getAutoFilter()->getRange(); - if (count($sheet->getDrawingCollection()) == 0 && empty($filterRange)) { - continue; - } - - // create intermediate Escher object - $escher = new PHPExcel_Shared_Escher(); - - // dgContainer - $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); - - // set the drawing index (we use sheet index + 1) - $dgId = $sheet->getParent()->getIndex($sheet) + 1; - $dgContainer->setDgId($dgId); - $escher->setDgContainer($dgContainer); - - // spgrContainer - $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); - $dgContainer->setSpgrContainer($spgrContainer); - - // add one shape which is the group shape - $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); - $spContainer->setSpgr(true); - $spContainer->setSpType(0); - $spContainer->setSpId(($sheet->getParent()->getIndex($sheet) + 1) << 10); - $spgrContainer->addChild($spContainer); - - // add the shapes - - $countShapes[$sheetIndex] = 0; // count number of shapes (minus group shape), in sheet - - foreach ($sheet->getDrawingCollection() as $drawing) { - ++$blipIndex; - - ++$countShapes[$sheetIndex]; - - // add the shape - $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); - - // set the shape type - $spContainer->setSpType(0x004B); - // set the shape flag - $spContainer->setSpFlag(0x02); - - // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) - $reducedSpId = $countShapes[$sheetIndex]; - $spId = $reducedSpId - | ($sheet->getParent()->getIndex($sheet) + 1) << 10; - $spContainer->setSpId($spId); - - // keep track of last reducedSpId - $lastReducedSpId = $reducedSpId; - - // keep track of last spId - $lastSpId = $spId; - - // set the BLIP index - $spContainer->setOPT(0x4104, $blipIndex); - - // set coordinates and offsets, client anchor - $coordinates = $drawing->getCoordinates(); - $offsetX = $drawing->getOffsetX(); - $offsetY = $drawing->getOffsetY(); - $width = $drawing->getWidth(); - $height = $drawing->getHeight(); - - $twoAnchor = PHPExcel_Shared_Excel5::oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height); - - $spContainer->setStartCoordinates($twoAnchor['startCoordinates']); - $spContainer->setStartOffsetX($twoAnchor['startOffsetX']); - $spContainer->setStartOffsetY($twoAnchor['startOffsetY']); - $spContainer->setEndCoordinates($twoAnchor['endCoordinates']); - $spContainer->setEndOffsetX($twoAnchor['endOffsetX']); - $spContainer->setEndOffsetY($twoAnchor['endOffsetY']); - - $spgrContainer->addChild($spContainer); - } - - // AutoFilters - if(!empty($filterRange)){ - $rangeBounds = PHPExcel_Cell::rangeBoundaries($filterRange); - $iNumColStart = $rangeBounds[0][0]; - $iNumColEnd = $rangeBounds[1][0]; - - $iInc = $iNumColStart; - while($iInc <= $iNumColEnd){ - ++$countShapes[$sheetIndex]; - - // create an Drawing Object for the dropdown - $oDrawing = new PHPExcel_Worksheet_BaseDrawing(); - // get the coordinates of drawing - $cDrawing = PHPExcel_Cell::stringFromColumnIndex($iInc - 1) . $rangeBounds[0][1]; - $oDrawing->setCoordinates($cDrawing); - $oDrawing->setWorksheet($sheet); - - // add the shape - $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); - // set the shape type - $spContainer->setSpType(0x00C9); - // set the shape flag - $spContainer->setSpFlag(0x01); - - // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) - $reducedSpId = $countShapes[$sheetIndex]; - $spId = $reducedSpId - | ($sheet->getParent()->getIndex($sheet) + 1) << 10; - $spContainer->setSpId($spId); - - // keep track of last reducedSpId - $lastReducedSpId = $reducedSpId; - - // keep track of last spId - $lastSpId = $spId; - - $spContainer->setOPT(0x007F, 0x01040104); // Protection -> fLockAgainstGrouping - $spContainer->setOPT(0x00BF, 0x00080008); // Text -> fFitTextToShape - $spContainer->setOPT(0x01BF, 0x00010000); // Fill Style -> fNoFillHitTest - $spContainer->setOPT(0x01FF, 0x00080000); // Line Style -> fNoLineDrawDash - $spContainer->setOPT(0x03BF, 0x000A0000); // Group Shape -> fPrint - - // set coordinates and offsets, client anchor - $endCoordinates = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::stringFromColumnIndex($iInc - 1)); - $endCoordinates .= $rangeBounds[0][1] + 1; - - $spContainer->setStartCoordinates($cDrawing); - $spContainer->setStartOffsetX(0); - $spContainer->setStartOffsetY(0); - $spContainer->setEndCoordinates($endCoordinates); - $spContainer->setEndOffsetX(0); - $spContainer->setEndOffsetY(0); - - $spgrContainer->addChild($spContainer); - $iInc++; - } - } - - // identifier clusters, used for workbook Escher object - $this->_IDCLs[$dgId] = $lastReducedSpId; - - // set last shape index - $dgContainer->setLastSpId($lastSpId); - - // set the Escher object - $this->_writerWorksheets[$sheetIndex]->setEscher($escher); - } - } - - /** - * Build the Escher object corresponding to the MSODRAWINGGROUP record - */ - private function _buildWorkbookEscher() - { - $escher = null; - - // any drawings in this workbook? - $found = false; - foreach ($this->_phpExcel->getAllSheets() as $sheet) { - if (count($sheet->getDrawingCollection()) > 0) { - $found = true; - break; - } - } - - // nothing to do if there are no drawings - if (!$found) { - return; - } - - // if we reach here, then there are drawings in the workbook - $escher = new PHPExcel_Shared_Escher(); - - // dggContainer - $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); - $escher->setDggContainer($dggContainer); - - // set IDCLs (identifier clusters) - $dggContainer->setIDCLs($this->_IDCLs); - - // this loop is for determining maximum shape identifier of all drawing - $spIdMax = 0; - $totalCountShapes = 0; - $countDrawings = 0; - - foreach ($this->_phpExcel->getAllsheets() as $sheet) { - $sheetCountShapes = 0; // count number of shapes (minus group shape), in sheet - - if (count($sheet->getDrawingCollection()) > 0) { - ++$countDrawings; - - foreach ($sheet->getDrawingCollection() as $drawing) { - ++$sheetCountShapes; - ++$totalCountShapes; - - $spId = $sheetCountShapes - | ($this->_phpExcel->getIndex($sheet) + 1) << 10; - $spIdMax = max($spId, $spIdMax); - } - } - } - - $dggContainer->setSpIdMax($spIdMax + 1); - $dggContainer->setCDgSaved($countDrawings); - $dggContainer->setCSpSaved($totalCountShapes + $countDrawings); // total number of shapes incl. one group shapes per drawing - - // bstoreContainer - $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); - $dggContainer->setBstoreContainer($bstoreContainer); - - // the BSE's (all the images) - foreach ($this->_phpExcel->getAllsheets() as $sheet) { - foreach ($sheet->getDrawingCollection() as $drawing) { - if ($drawing instanceof PHPExcel_Worksheet_Drawing) { - - $filename = $drawing->getPath(); - - list($imagesx, $imagesy, $imageFormat) = getimagesize($filename); - - switch ($imageFormat) { - - case 1: // GIF, not supported by BIFF8, we convert to PNG - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; - ob_start(); - imagepng(imagecreatefromgif($filename)); - $blipData = ob_get_contents(); - ob_end_clean(); - break; - - case 2: // JPEG - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; - $blipData = file_get_contents($filename); - break; - - case 3: // PNG - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; - $blipData = file_get_contents($filename); - break; - - case 6: // Windows DIB (BMP), we convert to PNG - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; - ob_start(); - imagepng(PHPExcel_Shared_Drawing::imagecreatefrombmp($filename)); - $blipData = ob_get_contents(); - ob_end_clean(); - break; - - default: continue 2; - - } - - $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); - $blip->setData($blipData); - - $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); - $BSE->setBlipType($blipType); - $BSE->setBlip($blip); - - $bstoreContainer->addBSE($BSE); - - } else if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { - - switch ($drawing->getRenderingFunction()) { - - case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG: - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; - $renderingFunction = 'imagejpeg'; - break; - - case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF: - case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG: - case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT: - $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; - $renderingFunction = 'imagepng'; - break; - - } - - ob_start(); - call_user_func($renderingFunction, $drawing->getImageResource()); - $blipData = ob_get_contents(); - ob_end_clean(); - - $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); - $blip->setData($blipData); - - $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); - $BSE->setBlipType($blipType); - $BSE->setBlip($blip); - - $bstoreContainer->addBSE($BSE); - } - } - } - - // Set the Escher object - $this->_writerWorkbook->setEscher($escher); - } - - /** - * Build the OLE Part for DocumentSummary Information - * @return string - */ - private function _writeDocumentSummaryInformation(){ - - // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) - $data = pack('v', 0xFFFE); - // offset: 2; size: 2; - $data .= pack('v', 0x0000); - // offset: 4; size: 2; OS version - $data .= pack('v', 0x0106); - // offset: 6; size: 2; OS indicator - $data .= pack('v', 0x0002); - // offset: 8; size: 16 - $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); - // offset: 24; size: 4; section count - $data .= pack('V', 0x0001); - - // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae - $data .= pack('vvvvvvvv', 0xD502, 0xD5CD, 0x2E9C, 0x101B, 0x9793, 0x0008, 0x2C2B, 0xAEF9); - // offset: 44; size: 4; offset of the start - $data .= pack('V', 0x30); - - // SECTION - $dataSection = array(); - $dataSection_NumProps = 0; - $dataSection_Summary = ''; - $dataSection_Content = ''; - - // GKPIDDSI_CODEPAGE: CodePage - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer - 'data' => array('data' => 1252)); - $dataSection_NumProps++; - - // GKPIDDSI_CATEGORY : Category - if($this->_phpExcel->getProperties()->getCategory()){ - $dataProp = $this->_phpExcel->getProperties()->getCategory(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // GKPIDDSI_VERSION :Version of the application that wrote the property storage - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x17), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x03), - 'data' => array('pack' => 'V', 'data' => 0x000C0000)); - $dataSection_NumProps++; - // GKPIDDSI_SCALE : FALSE - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0B), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x0B), - 'data' => array('data' => false)); - $dataSection_NumProps++; - // GKPIDDSI_LINKSDIRTY : True if any of the values for the linked properties have changed outside of the application - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x10), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x0B), - 'data' => array('data' => false)); - $dataSection_NumProps++; - // GKPIDDSI_SHAREDOC : FALSE - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x0B), - 'data' => array('data' => false)); - $dataSection_NumProps++; - // GKPIDDSI_HYPERLINKSCHANGED : True if any of the values for the _PID_LINKS (hyperlink text) have changed outside of the application - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x16), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x0B), - 'data' => array('data' => false)); - $dataSection_NumProps++; - - // GKPIDDSI_DOCSPARTS - // MS-OSHARED p75 (2.3.3.2.2.1) - // Structure is VtVecUnalignedLpstrValue (2.3.3.1.9) - // cElements - $dataProp = pack('v', 0x0001); - $dataProp .= pack('v', 0x0000); - // array of UnalignedLpstr - // cch - $dataProp .= pack('v', 0x000A); - $dataProp .= pack('v', 0x0000); - // value - $dataProp .= 'Worksheet'.chr(0); - - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x101E), - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - - // GKPIDDSI_HEADINGPAIR - // VtVecHeadingPairValue - // cElements - $dataProp = pack('v', 0x0002); - $dataProp .= pack('v', 0x0000); - // Array of vtHeadingPair - // vtUnalignedString - headingString - // stringType - $dataProp .= pack('v', 0x001E); - // padding - $dataProp .= pack('v', 0x0000); - // UnalignedLpstr - // cch - $dataProp .= pack('v', 0x0013); - $dataProp .= pack('v', 0x0000); - // value - $dataProp .= 'Feuilles de calcul'; - // vtUnalignedString - headingParts - // wType : 0x0003 = 32 bit signed integer - $dataProp .= pack('v', 0x0300); - // padding - $dataProp .= pack('v', 0x0000); - // value - $dataProp .= pack('v', 0x0100); - $dataProp .= pack('v', 0x0000); - $dataProp .= pack('v', 0x0000); - $dataProp .= pack('v', 0x0000); - - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x100C), - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + /** + * PHPExcel object + * + * @var PHPExcel + */ + private $phpExcel; + + /** + * Total number of shared strings in workbook + * + * @var int + */ + private $strTotal = 0; + + /** + * Number of unique shared strings in workbook + * + * @var int + */ + private $strUnique = 0; + + /** + * Array of unique shared strings in workbook + * + * @var array + */ + private $strTable = array(); + + /** + * Color cache. Mapping between RGB value and color index. + * + * @var array + */ + private $colors; + + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $parser; + + /** + * Identifier clusters for drawings. Used in MSODRAWINGGROUP record. + * + * @var array + */ + private $IDCLs; + + /** + * Basic OLE object summary information + * + * @var array + */ + private $summaryInformation; + + /** + * Extended OLE object document summary information + * + * @var array + */ + private $documentSummaryInformation; + + /** + * Create a new PHPExcel_Writer_Excel5 + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + $this->phpExcel = $phpExcel; + + $this->parser = new PHPExcel_Writer_Excel5_Parser(); + } + + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) + { + + // garbage collect + $this->phpExcel->garbageCollect(); + + $saveDebugLog = PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog(false); + $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType(); + PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + + // initialize colors array + $this->colors = array(); + + // Initialise workbook writer + $this->writerWorkbook = new PHPExcel_Writer_Excel5_Workbook($this->phpExcel, $this->strTotal, $this->strUnique, $this->strTable, $this->colors, $this->parser); + + // Initialise worksheet writers + $countSheets = $this->phpExcel->getSheetCount(); + for ($i = 0; $i < $countSheets; ++$i) { + $this->writerWorksheets[$i] = new PHPExcel_Writer_Excel5_Worksheet($this->strTotal, $this->strUnique, $this->strTable, $this->colors, $this->parser, $this->preCalculateFormulas, $this->phpExcel->getSheet($i)); + } + + // build Escher objects. Escher objects for workbooks needs to be build before Escher object for workbook. + $this->buildWorksheetEschers(); + $this->buildWorkbookEscher(); + + // add 15 identical cell style Xfs + // for now, we use the first cellXf instead of cellStyleXf + $cellXfCollection = $this->phpExcel->getCellXfCollection(); + for ($i = 0; $i < 15; ++$i) { + $this->writerWorkbook->addXfWriter($cellXfCollection[0], true); + } + + // add all the cell Xfs + foreach ($this->phpExcel->getCellXfCollection() as $style) { + $this->writerWorkbook->addXfWriter($style, false); + } + + // add fonts from rich text eleemnts + for ($i = 0; $i < $countSheets; ++$i) { + foreach ($this->writerWorksheets[$i]->phpSheet->getCellCollection() as $cellID) { + $cell = $this->writerWorksheets[$i]->phpSheet->getCell($cellID); + $cVal = $cell->getValue(); + if ($cVal instanceof PHPExcel_RichText) { + $elements = $cVal->getRichTextElements(); + foreach ($elements as $element) { + if ($element instanceof PHPExcel_RichText_Run) { + $font = $element->getFont(); + $this->writerWorksheets[$i]->fontHashIndex[$font->getHashCode()] = $this->writerWorkbook->addFont($font); + } + } + } + } + } + + // initialize OLE file + $workbookStreamName = 'Workbook'; + $OLE = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs($workbookStreamName)); + + // Write the worksheet streams before the global workbook stream, + // because the byte sizes of these are needed in the global workbook stream + $worksheetSizes = array(); + for ($i = 0; $i < $countSheets; ++$i) { + $this->writerWorksheets[$i]->close(); + $worksheetSizes[] = $this->writerWorksheets[$i]->_datasize; + } + + // add binary data for global workbook stream + $OLE->append($this->writerWorkbook->writeWorkbook($worksheetSizes)); + + // add binary data for sheet streams + for ($i = 0; $i < $countSheets; ++$i) { + $OLE->append($this->writerWorksheets[$i]->getData()); + } + + $this->documentSummaryInformation = $this->writeDocumentSummaryInformation(); + // initialize OLE Document Summary Information + if (isset($this->documentSummaryInformation) && !empty($this->documentSummaryInformation)) { + $OLE_DocumentSummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'DocumentSummaryInformation')); + $OLE_DocumentSummaryInformation->append($this->documentSummaryInformation); + } + + $this->summaryInformation = $this->writeSummaryInformation(); + // initialize OLE Summary Information + if (isset($this->summaryInformation) && !empty($this->summaryInformation)) { + $OLE_SummaryInformation = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs(chr(5) . 'SummaryInformation')); + $OLE_SummaryInformation->append($this->summaryInformation); + } + + // define OLE Parts + $arrRootData = array($OLE); + // initialize OLE Properties file + if (isset($OLE_SummaryInformation)) { + $arrRootData[] = $OLE_SummaryInformation; + } + // initialize OLE Extended Properties file + if (isset($OLE_DocumentSummaryInformation)) { + $arrRootData[] = $OLE_DocumentSummaryInformation; + } + + $root = new PHPExcel_Shared_OLE_PPS_Root(time(), time(), $arrRootData); + // save the OLE file + $res = $root->save($pFilename); + + PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } + + /** + * Set temporary storage directory + * + * @deprecated + * @param string $pValue Temporary storage directory + * @throws PHPExcel_Writer_Exception when directory does not exist + * @return PHPExcel_Writer_Excel5 + */ + public function setTempDir($pValue = '') + { + return $this; + } + + /** + * Build the Worksheet Escher objects + * + */ + private function buildWorksheetEschers() + { + // 1-based index to BstoreContainer + $blipIndex = 0; + $lastReducedSpId = 0; + $lastSpId = 0; + + foreach ($this->phpExcel->getAllsheets() as $sheet) { + // sheet index + $sheetIndex = $sheet->getParent()->getIndex($sheet); + + $escher = null; + + // check if there are any shapes for this sheet + $filterRange = $sheet->getAutoFilter()->getRange(); + if (count($sheet->getDrawingCollection()) == 0 && empty($filterRange)) { + continue; + } + + // create intermediate Escher object + $escher = new PHPExcel_Shared_Escher(); + + // dgContainer + $dgContainer = new PHPExcel_Shared_Escher_DgContainer(); + + // set the drawing index (we use sheet index + 1) + $dgId = $sheet->getParent()->getIndex($sheet) + 1; + $dgContainer->setDgId($dgId); + $escher->setDgContainer($dgContainer); + + // spgrContainer + $spgrContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer(); + $dgContainer->setSpgrContainer($spgrContainer); + + // add one shape which is the group shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + $spContainer->setSpgr(true); + $spContainer->setSpType(0); + $spContainer->setSpId(($sheet->getParent()->getIndex($sheet) + 1) << 10); + $spgrContainer->addChild($spContainer); + + // add the shapes + + $countShapes[$sheetIndex] = 0; // count number of shapes (minus group shape), in sheet + + foreach ($sheet->getDrawingCollection() as $drawing) { + ++$blipIndex; + + ++$countShapes[$sheetIndex]; + + // add the shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + + // set the shape type + $spContainer->setSpType(0x004B); + // set the shape flag + $spContainer->setSpFlag(0x02); + + // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) + $reducedSpId = $countShapes[$sheetIndex]; + $spId = $reducedSpId + | ($sheet->getParent()->getIndex($sheet) + 1) << 10; + $spContainer->setSpId($spId); + + // keep track of last reducedSpId + $lastReducedSpId = $reducedSpId; + + // keep track of last spId + $lastSpId = $spId; + + // set the BLIP index + $spContainer->setOPT(0x4104, $blipIndex); + + // set coordinates and offsets, client anchor + $coordinates = $drawing->getCoordinates(); + $offsetX = $drawing->getOffsetX(); + $offsetY = $drawing->getOffsetY(); + $width = $drawing->getWidth(); + $height = $drawing->getHeight(); + + $twoAnchor = PHPExcel_Shared_Excel5::oneAnchor2twoAnchor($sheet, $coordinates, $offsetX, $offsetY, $width, $height); + + $spContainer->setStartCoordinates($twoAnchor['startCoordinates']); + $spContainer->setStartOffsetX($twoAnchor['startOffsetX']); + $spContainer->setStartOffsetY($twoAnchor['startOffsetY']); + $spContainer->setEndCoordinates($twoAnchor['endCoordinates']); + $spContainer->setEndOffsetX($twoAnchor['endOffsetX']); + $spContainer->setEndOffsetY($twoAnchor['endOffsetY']); + + $spgrContainer->addChild($spContainer); + } + + // AutoFilters + if (!empty($filterRange)) { + $rangeBounds = PHPExcel_Cell::rangeBoundaries($filterRange); + $iNumColStart = $rangeBounds[0][0]; + $iNumColEnd = $rangeBounds[1][0]; + + $iInc = $iNumColStart; + while ($iInc <= $iNumColEnd) { + ++$countShapes[$sheetIndex]; + + // create an Drawing Object for the dropdown + $oDrawing = new PHPExcel_Worksheet_BaseDrawing(); + // get the coordinates of drawing + $cDrawing = PHPExcel_Cell::stringFromColumnIndex($iInc - 1) . $rangeBounds[0][1]; + $oDrawing->setCoordinates($cDrawing); + $oDrawing->setWorksheet($sheet); + + // add the shape + $spContainer = new PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer(); + // set the shape type + $spContainer->setSpType(0x00C9); + // set the shape flag + $spContainer->setSpFlag(0x01); + + // set the shape index (we combine 1-based sheet index and $countShapes to create unique shape index) + $reducedSpId = $countShapes[$sheetIndex]; + $spId = $reducedSpId + | ($sheet->getParent()->getIndex($sheet) + 1) << 10; + $spContainer->setSpId($spId); + + // keep track of last reducedSpId + $lastReducedSpId = $reducedSpId; + + // keep track of last spId + $lastSpId = $spId; + + $spContainer->setOPT(0x007F, 0x01040104); // Protection -> fLockAgainstGrouping + $spContainer->setOPT(0x00BF, 0x00080008); // Text -> fFitTextToShape + $spContainer->setOPT(0x01BF, 0x00010000); // Fill Style -> fNoFillHitTest + $spContainer->setOPT(0x01FF, 0x00080000); // Line Style -> fNoLineDrawDash + $spContainer->setOPT(0x03BF, 0x000A0000); // Group Shape -> fPrint + + // set coordinates and offsets, client anchor + $endCoordinates = PHPExcel_Cell::stringFromColumnIndex(PHPExcel_Cell::stringFromColumnIndex($iInc - 1)); + $endCoordinates .= $rangeBounds[0][1] + 1; + + $spContainer->setStartCoordinates($cDrawing); + $spContainer->setStartOffsetX(0); + $spContainer->setStartOffsetY(0); + $spContainer->setEndCoordinates($endCoordinates); + $spContainer->setEndOffsetX(0); + $spContainer->setEndOffsetY(0); + + $spgrContainer->addChild($spContainer); + $iInc++; + } + } + + // identifier clusters, used for workbook Escher object + $this->IDCLs[$dgId] = $lastReducedSpId; + + // set last shape index + $dgContainer->setLastSpId($lastSpId); + + // set the Escher object + $this->writerWorksheets[$sheetIndex]->setEscher($escher); + } + } + + /** + * Build the Escher object corresponding to the MSODRAWINGGROUP record + */ + private function buildWorkbookEscher() + { + $escher = null; + + // any drawings in this workbook? + $found = false; + foreach ($this->phpExcel->getAllSheets() as $sheet) { + if (count($sheet->getDrawingCollection()) > 0) { + $found = true; + break; + } + } + + // nothing to do if there are no drawings + if (!$found) { + return; + } + + // if we reach here, then there are drawings in the workbook + $escher = new PHPExcel_Shared_Escher(); + + // dggContainer + $dggContainer = new PHPExcel_Shared_Escher_DggContainer(); + $escher->setDggContainer($dggContainer); + + // set IDCLs (identifier clusters) + $dggContainer->setIDCLs($this->IDCLs); + + // this loop is for determining maximum shape identifier of all drawing + $spIdMax = 0; + $totalCountShapes = 0; + $countDrawings = 0; + + foreach ($this->phpExcel->getAllsheets() as $sheet) { + $sheetCountShapes = 0; // count number of shapes (minus group shape), in sheet + + if (count($sheet->getDrawingCollection()) > 0) { + ++$countDrawings; + + foreach ($sheet->getDrawingCollection() as $drawing) { + ++$sheetCountShapes; + ++$totalCountShapes; + + $spId = $sheetCountShapes | ($this->phpExcel->getIndex($sheet) + 1) << 10; + $spIdMax = max($spId, $spIdMax); + } + } + } + + $dggContainer->setSpIdMax($spIdMax + 1); + $dggContainer->setCDgSaved($countDrawings); + $dggContainer->setCSpSaved($totalCountShapes + $countDrawings); // total number of shapes incl. one group shapes per drawing + + // bstoreContainer + $bstoreContainer = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer(); + $dggContainer->setBstoreContainer($bstoreContainer); + + // the BSE's (all the images) + foreach ($this->phpExcel->getAllsheets() as $sheet) { + foreach ($sheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + $filename = $drawing->getPath(); + + list($imagesx, $imagesy, $imageFormat) = getimagesize($filename); + + switch ($imageFormat) { + case 1: // GIF, not supported by BIFF8, we convert to PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + ob_start(); + imagepng(imagecreatefromgif($filename)); + $blipData = ob_get_contents(); + ob_end_clean(); + break; + case 2: // JPEG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; + $blipData = file_get_contents($filename); + break; + case 3: // PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + $blipData = file_get_contents($filename); + break; + case 6: // Windows DIB (BMP), we convert to PNG + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + ob_start(); + imagepng(PHPExcel_Shared_Drawing::imagecreatefrombmp($filename)); + $blipData = ob_get_contents(); + ob_end_clean(); + break; + default: + continue 2; + } + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($blipData); + + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $BSE->setBlipType($blipType); + $BSE->setBlip($blip); + + $bstoreContainer->addBSE($BSE); + } elseif ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { + switch ($drawing->getRenderingFunction()) { + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG: + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG; + $renderingFunction = 'imagejpeg'; + break; + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_GIF: + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_PNG: + case PHPExcel_Worksheet_MemoryDrawing::RENDERING_DEFAULT: + $blipType = PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG; + $renderingFunction = 'imagepng'; + break; + } + + ob_start(); + call_user_func($renderingFunction, $drawing->getImageResource()); + $blipData = ob_get_contents(); + ob_end_clean(); + + $blip = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip(); + $blip->setData($blipData); + + $BSE = new PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE(); + $BSE->setBlipType($blipType); + $BSE->setBlip($blip); + + $bstoreContainer->addBSE($BSE); + } + } + } + + // Set the Escher object + $this->writerWorkbook->setEscher($escher); + } + + /** + * Build the OLE Part for DocumentSummary Information + * @return string + */ + private function writeDocumentSummaryInformation() + { + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + $data = pack('v', 0xFFFE); + // offset: 2; size: 2; + $data .= pack('v', 0x0000); + // offset: 4; size: 2; OS version + $data .= pack('v', 0x0106); + // offset: 6; size: 2; OS indicator + $data .= pack('v', 0x0002); + // offset: 8; size: 16 + $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); + // offset: 24; size: 4; section count + $data .= pack('V', 0x0001); + + // offset: 28; size: 16; first section's class id: 02 d5 cd d5 9c 2e 1b 10 93 97 08 00 2b 2c f9 ae + $data .= pack('vvvvvvvv', 0xD502, 0xD5CD, 0x2E9C, 0x101B, 0x9793, 0x0008, 0x2C2B, 0xAEF9); + // offset: 44; size: 4; offset of the start + $data .= pack('V', 0x30); + + // SECTION + $dataSection = array(); + $dataSection_NumProps = 0; + $dataSection_Summary = ''; + $dataSection_Content = ''; + + // GKPIDDSI_CODEPAGE: CodePage + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer + 'data' => array('data' => 1252)); $dataSection_NumProps++; - // 4 Section Length - // 4 Property count - // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) - $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; - foreach ($dataSection as $dataProp){ - // Summary - $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); - // Offset - $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); - // DataType - $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); - // Data - if($dataProp['type']['data'] == 0x02){ // 2 byte signed integer - $dataSection_Content .= pack('V', $dataProp['data']['data']); + // GKPIDDSI_CATEGORY : Category + if ($this->phpExcel->getProperties()->getCategory()) { + $dataProp = $this->phpExcel->getProperties()->getCategory(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // GKPIDDSI_VERSION :Version of the application that wrote the property storage + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x17), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x03), + 'data' => array('pack' => 'V', 'data' => 0x000C0000)); + $dataSection_NumProps++; + // GKPIDDSI_SCALE : FALSE + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0B), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_LINKSDIRTY : True if any of the values for the linked properties have changed outside of the application + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x10), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_SHAREDOC : FALSE + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; + // GKPIDDSI_HYPERLINKSCHANGED : True if any of the values for the _PID_LINKS (hyperlink text) have changed outside of the application + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x16), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x0B), + 'data' => array('data' => false)); + $dataSection_NumProps++; - $dataSection_Content_Offset += 4 + 4; - } - elseif($dataProp['type']['data'] == 0x03){ // 4 byte signed integer - $dataSection_Content .= pack('V', $dataProp['data']['data']); + // GKPIDDSI_DOCSPARTS + // MS-OSHARED p75 (2.3.3.2.2.1) + // Structure is VtVecUnalignedLpstrValue (2.3.3.1.9) + // cElements + $dataProp = pack('v', 0x0001); + $dataProp .= pack('v', 0x0000); + // array of UnalignedLpstr + // cch + $dataProp .= pack('v', 0x000A); + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= 'Worksheet'.chr(0); - $dataSection_Content_Offset += 4 + 4; - } - elseif($dataProp['type']['data'] == 0x0B){ // Boolean - if($dataProp['data']['data'] == false){ - $dataSection_Content .= pack('V', 0x0000); - } else { - $dataSection_Content .= pack('V', 0x0001); - } - $dataSection_Content_Offset += 4 + 4; - } - elseif($dataProp['type']['data'] == 0x1E){ // null-terminated string prepended by dword string length - // Null-terminated string - $dataProp['data']['data'] .= chr(0); - $dataProp['data']['length'] += 1; - // Complete the string with null string for being a %4 - $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); - $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x101E), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; - $dataSection_Content .= pack('V', $dataProp['data']['length']); - $dataSection_Content .= $dataProp['data']['data']; + // GKPIDDSI_HEADINGPAIR + // VtVecHeadingPairValue + // cElements + $dataProp = pack('v', 0x0002); + $dataProp .= pack('v', 0x0000); + // Array of vtHeadingPair + // vtUnalignedString - headingString + // stringType + $dataProp .= pack('v', 0x001E); + // padding + $dataProp .= pack('v', 0x0000); + // UnalignedLpstr + // cch + $dataProp .= pack('v', 0x0013); + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= 'Feuilles de calcul'; + // vtUnalignedString - headingParts + // wType : 0x0003 = 32 bit signed integer + $dataProp .= pack('v', 0x0300); + // padding + $dataProp .= pack('v', 0x0000); + // value + $dataProp .= pack('v', 0x0100); + $dataProp .= pack('v', 0x0000); + $dataProp .= pack('v', 0x0000); + $dataProp .= pack('v', 0x0000); - $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); - } - elseif($dataProp['type']['data'] == 0x40){ // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - $dataSection_Content .= $dataProp['data']['data']; + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x100C), + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; - $dataSection_Content_Offset += 4 + 8; - } - else { - // Data Type Not Used at the moment - $dataSection_Content .= $dataProp['data']['data']; + // 4 Section Length + // 4 Property count + // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) + $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; + foreach ($dataSection as $dataProp) { + // Summary + $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); + // Offset + $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); + // DataType + $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); + // Data + if ($dataProp['type']['data'] == 0x02) { // 2 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); - $dataSection_Content_Offset += 4 + $dataProp['data']['length']; - } - } - // Now $dataSection_Content_Offset contains the size of the content + $dataSection_Content_Offset += 4 + 4; + } elseif ($dataProp['type']['data'] == 0x03) { // 4 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); - // section header - // offset: $secOffset; size: 4; section length - // + x Size of the content (summary + content) - $data .= pack('V', $dataSection_Content_Offset); - // offset: $secOffset+4; size: 4; property count - $data .= pack('V', $dataSection_NumProps); - // Section Summary - $data .= $dataSection_Summary; - // Section Content - $data .= $dataSection_Content; + $dataSection_Content_Offset += 4 + 4; + } elseif ($dataProp['type']['data'] == 0x0B) { // Boolean + if ($dataProp['data']['data'] == false) { + $dataSection_Content .= pack('V', 0x0000); + } else { + $dataSection_Content .= pack('V', 0x0001); + } + $dataSection_Content_Offset += 4 + 4; + } elseif ($dataProp['type']['data'] == 0x1E) { // null-terminated string prepended by dword string length + // Null-terminated string + $dataProp['data']['data'] .= chr(0); + $dataProp['data']['length'] += 1; + // Complete the string with null string for being a %4 + $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); + $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); - return $data; - } + $dataSection_Content .= pack('V', $dataProp['data']['length']); + $dataSection_Content .= $dataProp['data']['data']; - /** - * Build the OLE Part for Summary Information - * @return string - */ - private function _writeSummaryInformation(){ - // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) - $data = pack('v', 0xFFFE); - // offset: 2; size: 2; - $data .= pack('v', 0x0000); - // offset: 4; size: 2; OS version - $data .= pack('v', 0x0106); - // offset: 6; size: 2; OS indicator - $data .= pack('v', 0x0002); - // offset: 8; size: 16 - $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); - // offset: 24; size: 4; section count - $data .= pack('V', 0x0001); + $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); + } elseif ($dataProp['type']['data'] == 0x40) { // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + $dataSection_Content .= $dataProp['data']['data']; - // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 - $data .= pack('vvvvvvvv', 0x85E0, 0xF29F, 0x4FF9, 0x1068, 0x91AB, 0x0008, 0x272B, 0xD9B3); - // offset: 44; size: 4; offset of the start - $data .= pack('V', 0x30); + $dataSection_Content_Offset += 4 + 8; + } else { + // Data Type Not Used at the moment + $dataSection_Content .= $dataProp['data']['data']; - // SECTION - $dataSection = array(); - $dataSection_NumProps = 0; - $dataSection_Summary = ''; - $dataSection_Content = ''; + $dataSection_Content_Offset += 4 + $dataProp['data']['length']; + } + } + // Now $dataSection_Content_Offset contains the size of the content - // CodePage : CP-1252 - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer - 'data' => array('data' => 1252)); - $dataSection_NumProps++; + // section header + // offset: $secOffset; size: 4; section length + // + x Size of the content (summary + content) + $data .= pack('V', $dataSection_Content_Offset); + // offset: $secOffset+4; size: 4; property count + $data .= pack('V', $dataSection_NumProps); + // Section Summary + $data .= $dataSection_Summary; + // Section Content + $data .= $dataSection_Content; - // Title - if($this->_phpExcel->getProperties()->getTitle()){ - $dataProp = $this->_phpExcel->getProperties()->getTitle(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Subject - if($this->_phpExcel->getProperties()->getSubject()){ - $dataProp = $this->_phpExcel->getProperties()->getSubject(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x03), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Author (Creator) - if($this->_phpExcel->getProperties()->getCreator()){ - $dataProp = $this->_phpExcel->getProperties()->getCreator(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x04), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Keywords - if($this->_phpExcel->getProperties()->getKeywords()){ - $dataProp = $this->_phpExcel->getProperties()->getKeywords(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x05), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Comments (Description) - if($this->_phpExcel->getProperties()->getDescription()){ - $dataProp = $this->_phpExcel->getProperties()->getDescription(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x06), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Last Saved By (LastModifiedBy) - if($this->_phpExcel->getProperties()->getLastModifiedBy()){ - $dataProp = $this->_phpExcel->getProperties()->getLastModifiedBy(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x08), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length - 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); - $dataSection_NumProps++; - } - // Created Date/Time - if($this->_phpExcel->getProperties()->getCreated()){ - $dataProp = $this->_phpExcel->getProperties()->getCreated(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); - $dataSection_NumProps++; - } - // Modified Date/Time - if($this->_phpExcel->getProperties()->getModified()){ - $dataProp = $this->_phpExcel->getProperties()->getModified(); - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); - $dataSection_NumProps++; - } - // Security - $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), - 'offset' => array('pack' => 'V'), - 'type' => array('pack' => 'V', 'data' => 0x03), // 4 byte signed integer - 'data' => array('data' => 0x00)); - $dataSection_NumProps++; + return $data; + } + + /** + * Build the OLE Part for Summary Information + * @return string + */ + private function writeSummaryInformation() + { + // offset: 0; size: 2; must be 0xFE 0xFF (UTF-16 LE byte order mark) + $data = pack('v', 0xFFFE); + // offset: 2; size: 2; + $data .= pack('v', 0x0000); + // offset: 4; size: 2; OS version + $data .= pack('v', 0x0106); + // offset: 6; size: 2; OS indicator + $data .= pack('v', 0x0002); + // offset: 8; size: 16 + $data .= pack('VVVV', 0x00, 0x00, 0x00, 0x00); + // offset: 24; size: 4; section count + $data .= pack('V', 0x0001); + + // offset: 28; size: 16; first section's class id: e0 85 9f f2 f9 4f 68 10 ab 91 08 00 2b 27 b3 d9 + $data .= pack('vvvvvvvv', 0x85E0, 0xF29F, 0x4FF9, 0x1068, 0x91AB, 0x0008, 0x272B, 0xD9B3); + // offset: 44; size: 4; offset of the start + $data .= pack('V', 0x30); + + // SECTION + $dataSection = array(); + $dataSection_NumProps = 0; + $dataSection_Summary = ''; + $dataSection_Content = ''; + + // CodePage : CP-1252 + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x01), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x02), // 2 byte signed integer + 'data' => array('data' => 1252)); + $dataSection_NumProps++; + + // Title + if ($this->phpExcel->getProperties()->getTitle()) { + $dataProp = $this->phpExcel->getProperties()->getTitle(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x02), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Subject + if ($this->phpExcel->getProperties()->getSubject()) { + $dataProp = $this->phpExcel->getProperties()->getSubject(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x03), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Author (Creator) + if ($this->phpExcel->getProperties()->getCreator()) { + $dataProp = $this->phpExcel->getProperties()->getCreator(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x04), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Keywords + if ($this->phpExcel->getProperties()->getKeywords()) { + $dataProp = $this->phpExcel->getProperties()->getKeywords(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x05), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Comments (Description) + if ($this->phpExcel->getProperties()->getDescription()) { + $dataProp = $this->phpExcel->getProperties()->getDescription(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x06), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Last Saved By (LastModifiedBy) + if ($this->phpExcel->getProperties()->getLastModifiedBy()) { + $dataProp = $this->phpExcel->getProperties()->getLastModifiedBy(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x08), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x1E), // null-terminated string prepended by dword string length + 'data' => array('data' => $dataProp, 'length' => strlen($dataProp))); + $dataSection_NumProps++; + } + // Created Date/Time + if ($this->phpExcel->getProperties()->getCreated()) { + $dataProp = $this->phpExcel->getProperties()->getCreated(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0C), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); + $dataSection_NumProps++; + } + // Modified Date/Time + if ($this->phpExcel->getProperties()->getModified()) { + $dataProp = $this->phpExcel->getProperties()->getModified(); + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x0D), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x40), // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + 'data' => array('data' => PHPExcel_Shared_OLE::LocalDate2OLE($dataProp))); + $dataSection_NumProps++; + } + // Security + $dataSection[] = array('summary'=> array('pack' => 'V', 'data' => 0x13), + 'offset' => array('pack' => 'V'), + 'type' => array('pack' => 'V', 'data' => 0x03), // 4 byte signed integer + 'data' => array('data' => 0x00)); + $dataSection_NumProps++; - // 4 Section Length - // 4 Property count - // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) - $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; - foreach ($dataSection as $dataProp){ - // Summary - $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); - // Offset - $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); - // DataType - $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); - // Data - if($dataProp['type']['data'] == 0x02){ // 2 byte signed integer - $dataSection_Content .= pack('V', $dataProp['data']['data']); + // 4 Section Length + // 4 Property count + // 8 * $dataSection_NumProps (8 = ID (4) + OffSet(4)) + $dataSection_Content_Offset = 8 + $dataSection_NumProps * 8; + foreach ($dataSection as $dataProp) { + // Summary + $dataSection_Summary .= pack($dataProp['summary']['pack'], $dataProp['summary']['data']); + // Offset + $dataSection_Summary .= pack($dataProp['offset']['pack'], $dataSection_Content_Offset); + // DataType + $dataSection_Content .= pack($dataProp['type']['pack'], $dataProp['type']['data']); + // Data + if ($dataProp['type']['data'] == 0x02) { // 2 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); - $dataSection_Content_Offset += 4 + 4; - } - elseif($dataProp['type']['data'] == 0x03){ // 4 byte signed integer - $dataSection_Content .= pack('V', $dataProp['data']['data']); + $dataSection_Content_Offset += 4 + 4; + } elseif ($dataProp['type']['data'] == 0x03) { // 4 byte signed integer + $dataSection_Content .= pack('V', $dataProp['data']['data']); - $dataSection_Content_Offset += 4 + 4; - } - elseif($dataProp['type']['data'] == 0x1E){ // null-terminated string prepended by dword string length - // Null-terminated string - $dataProp['data']['data'] .= chr(0); - $dataProp['data']['length'] += 1; - // Complete the string with null string for being a %4 - $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); - $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); + $dataSection_Content_Offset += 4 + 4; + } elseif ($dataProp['type']['data'] == 0x1E) { // null-terminated string prepended by dword string length + // Null-terminated string + $dataProp['data']['data'] .= chr(0); + $dataProp['data']['length'] += 1; + // Complete the string with null string for being a %4 + $dataProp['data']['length'] = $dataProp['data']['length'] + ((4 - $dataProp['data']['length'] % 4)==4 ? 0 : (4 - $dataProp['data']['length'] % 4)); + $dataProp['data']['data'] = str_pad($dataProp['data']['data'], $dataProp['data']['length'], chr(0), STR_PAD_RIGHT); - $dataSection_Content .= pack('V', $dataProp['data']['length']); - $dataSection_Content .= $dataProp['data']['data']; + $dataSection_Content .= pack('V', $dataProp['data']['length']); + $dataSection_Content .= $dataProp['data']['data']; - $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); - } - elseif($dataProp['type']['data'] == 0x40){ // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) - $dataSection_Content .= $dataProp['data']['data']; + $dataSection_Content_Offset += 4 + 4 + strlen($dataProp['data']['data']); + } elseif ($dataProp['type']['data'] == 0x40) { // Filetime (64-bit value representing the number of 100-nanosecond intervals since January 1, 1601) + $dataSection_Content .= $dataProp['data']['data']; - $dataSection_Content_Offset += 4 + 8; - } - else { - // Data Type Not Used at the moment - } - } - // Now $dataSection_Content_Offset contains the size of the content + $dataSection_Content_Offset += 4 + 8; + } else { + // Data Type Not Used at the moment + } + } + // Now $dataSection_Content_Offset contains the size of the content - // section header - // offset: $secOffset; size: 4; section length - // + x Size of the content (summary + content) - $data .= pack('V', $dataSection_Content_Offset); - // offset: $secOffset+4; size: 4; property count - $data .= pack('V', $dataSection_NumProps); - // Section Summary - $data .= $dataSection_Summary; - // Section Content - $data .= $dataSection_Content; + // section header + // offset: $secOffset; size: 4; section length + // + x Size of the content (summary + content) + $data .= pack('V', $dataSection_Content_Offset); + // offset: $secOffset+4; size: 4; property count + $data .= pack('V', $dataSection_NumProps); + // Section Summary + $data .= $dataSection_Summary; + // Section Content + $data .= $dataSection_Content; - return $data; - } + return $data; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php index 86201134d..a79575239 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/BIFFwriter.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_BIFFwriter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +21,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -58,198 +59,188 @@ // * License along with this library; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // */ - - -/** - * PHPExcel_Writer_Excel5_BIFFwriter - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_BIFFwriter { - /** - * The byte order of this architecture. 0 => little endian, 1 => big endian - * @var integer - */ - private static $_byte_order; + /** + * The byte order of this architecture. 0 => little endian, 1 => big endian + * @var integer + */ + private static $byteOrder; - /** - * The string containing the data of the BIFF stream - * @var string - */ - public $_data; + /** + * The string containing the data of the BIFF stream + * @var string + */ + public $_data; - /** - * The size of the data in bytes. Should be the same as strlen($this->_data) - * @var integer - */ - public $_datasize; + /** + * The size of the data in bytes. Should be the same as strlen($this->_data) + * @var integer + */ + public $_datasize; - /** - * The maximum length for a BIFF record (excluding record header and length field). See _addContinue() - * @var integer - * @see _addContinue() - */ - public $_limit = 8224; + /** + * The maximum length for a BIFF record (excluding record header and length field). See addContinue() + * @var integer + * @see addContinue() + */ + private $limit = 8224; - /** - * Constructor - */ - public function __construct() - { - $this->_data = ''; - $this->_datasize = 0; -// $this->_limit = 8224; - } + /** + * Constructor + */ + public function __construct() + { + $this->_data = ''; + $this->_datasize = 0; +// $this->limit = 8224; + } - /** - * Determine the byte order and store it as class data to avoid - * recalculating it for each call to new(). - * - * @return int - */ - public static function getByteOrder() - { - if (!isset(self::$_byte_order)) { - // Check if "pack" gives the required IEEE 64bit float - $teststr = pack("d", 1.2345); - $number = pack("C8", 0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F); - if ($number == $teststr) { - $byte_order = 0; // Little Endian - } elseif ($number == strrev($teststr)){ - $byte_order = 1; // Big Endian - } else { - // Give up. I'll fix this in a later version. - throw new PHPExcel_Writer_Exception("Required floating point format not supported on this platform."); - } - self::$_byte_order = $byte_order; - } + /** + * Determine the byte order and store it as class data to avoid + * recalculating it for each call to new(). + * + * @return int + */ + public static function getByteOrder() + { + if (!isset(self::$byteOrder)) { + // Check if "pack" gives the required IEEE 64bit float + $teststr = pack("d", 1.2345); + $number = pack("C8", 0x8D, 0x97, 0x6E, 0x12, 0x83, 0xC0, 0xF3, 0x3F); + if ($number == $teststr) { + $byte_order = 0; // Little Endian + } elseif ($number == strrev($teststr)) { + $byte_order = 1; // Big Endian + } else { + // Give up. I'll fix this in a later version. + throw new PHPExcel_Writer_Exception("Required floating point format not supported on this platform."); + } + self::$byteOrder = $byte_order; + } - return self::$_byte_order; - } + return self::$byteOrder; + } - /** - * General storage function - * - * @param string $data binary data to append - * @access private - */ - function _append($data) - { - if (strlen($data) - 4 > $this->_limit) { - $data = $this->_addContinue($data); - } - $this->_data .= $data; - $this->_datasize += strlen($data); - } + /** + * General storage function + * + * @param string $data binary data to append + * @access private + */ + protected function append($data) + { + if (strlen($data) - 4 > $this->limit) { + $data = $this->addContinue($data); + } + $this->_data .= $data; + $this->_datasize += strlen($data); + } - /** - * General storage function like _append, but returns string instead of modifying $this->_data - * - * @param string $data binary data to write - * @return string - */ - public function writeData($data) - { - if (strlen($data) - 4 > $this->_limit) { - $data = $this->_addContinue($data); - } - $this->_datasize += strlen($data); + /** + * General storage function like append, but returns string instead of modifying $this->_data + * + * @param string $data binary data to write + * @return string + */ + public function writeData($data) + { + if (strlen($data) - 4 > $this->limit) { + $data = $this->addContinue($data); + } + $this->_datasize += strlen($data); - return $data; - } + return $data; + } - /** - * Writes Excel BOF record to indicate the beginning of a stream or - * sub-stream in the BIFF file. - * - * @param integer $type Type of BIFF file to write: 0x0005 Workbook, - * 0x0010 Worksheet. - * @access private - */ - function _storeBof($type) - { - $record = 0x0809; // Record identifier (BIFF5-BIFF8) - $length = 0x0010; + /** + * Writes Excel BOF record to indicate the beginning of a stream or + * sub-stream in the BIFF file. + * + * @param integer $type Type of BIFF file to write: 0x0005 Workbook, + * 0x0010 Worksheet. + * @access private + */ + protected function storeBof($type) + { + $record = 0x0809; // Record identifier (BIFF5-BIFF8) + $length = 0x0010; - // by inspection of real files, MS Office Excel 2007 writes the following - $unknown = pack("VV", 0x000100D1, 0x00000406); + // by inspection of real files, MS Office Excel 2007 writes the following + $unknown = pack("VV", 0x000100D1, 0x00000406); - $build = 0x0DBB; // Excel 97 - $year = 0x07CC; // Excel 97 + $build = 0x0DBB; // Excel 97 + $year = 0x07CC; // Excel 97 - $version = 0x0600; // BIFF8 + $version = 0x0600; // BIFF8 - $header = pack("vv", $record, $length); - $data = pack("vvvv", $version, $type, $build, $year); - $this->_append($header . $data . $unknown); - } + $header = pack("vv", $record, $length); + $data = pack("vvvv", $version, $type, $build, $year); + $this->append($header . $data . $unknown); + } - /** - * Writes Excel EOF record to indicate the end of a BIFF stream. - * - * @access private - */ - function _storeEof() - { - $record = 0x000A; // Record identifier - $length = 0x0000; // Number of bytes to follow + /** + * Writes Excel EOF record to indicate the end of a BIFF stream. + * + * @access private + */ + protected function storeEof() + { + $record = 0x000A; // Record identifier + $length = 0x0000; // Number of bytes to follow - $header = pack("vv", $record, $length); - $this->_append($header); - } + $header = pack("vv", $record, $length); + $this->append($header); + } - /** - * Writes Excel EOF record to indicate the end of a BIFF stream. - * - * @access private - */ - public function writeEof() - { - $record = 0x000A; // Record identifier - $length = 0x0000; // Number of bytes to follow - $header = pack("vv", $record, $length); - return $this->writeData($header); - } + /** + * Writes Excel EOF record to indicate the end of a BIFF stream. + * + * @access private + */ + public function writeEof() + { + $record = 0x000A; // Record identifier + $length = 0x0000; // Number of bytes to follow + $header = pack("vv", $record, $length); + return $this->writeData($header); + } - /** - * Excel limits the size of BIFF records. In Excel 5 the limit is 2084 bytes. In - * Excel 97 the limit is 8228 bytes. Records that are longer than these limits - * must be split up into CONTINUE blocks. - * - * This function takes a long BIFF record and inserts CONTINUE records as - * necessary. - * - * @param string $data The original binary data to be written - * @return string A very convenient string of continue blocks - * @access private - */ - function _addContinue($data) - { - $limit = $this->_limit; - $record = 0x003C; // Record identifier + /** + * Excel limits the size of BIFF records. In Excel 5 the limit is 2084 bytes. In + * Excel 97 the limit is 8228 bytes. Records that are longer than these limits + * must be split up into CONTINUE blocks. + * + * This function takes a long BIFF record and inserts CONTINUE records as + * necessary. + * + * @param string $data The original binary data to be written + * @return string A very convenient string of continue blocks + * @access private + */ + private function addContinue($data) + { + $limit = $this->limit; + $record = 0x003C; // Record identifier - // The first 2080/8224 bytes remain intact. However, we have to change - // the length field of the record. - $tmp = substr($data, 0, 2) . pack("v", $limit) . substr($data, 4, $limit); + // The first 2080/8224 bytes remain intact. However, we have to change + // the length field of the record. + $tmp = substr($data, 0, 2) . pack("v", $limit) . substr($data, 4, $limit); - $header = pack("vv", $record, $limit); // Headers for continue records + $header = pack("vv", $record, $limit); // Headers for continue records - // Retrieve chunks of 2080/8224 bytes +4 for the header. - $data_length = strlen($data); - for ($i = $limit + 4; $i < ($data_length - $limit); $i += $limit) { - $tmp .= $header; - $tmp .= substr($data, $i, $limit); - } + // Retrieve chunks of 2080/8224 bytes +4 for the header. + $data_length = strlen($data); + for ($i = $limit + 4; $i < ($data_length - $limit); $i += $limit) { + $tmp .= $header; + $tmp .= substr($data, $i, $limit); + } - // Retrieve the last chunk of data - $header = pack("vv", $record, strlen($data) - $i); - $tmp .= $header; - $tmp .= substr($data, $i, strlen($data) - $i); - - return $tmp; - } + // Retrieve the last chunk of data + $header = pack("vv", $record, strlen($data) - $i); + $tmp .= $header; + $tmp .= substr($data, $i, strlen($data) - $i); + return $tmp; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php index 92e6a8d88..c37fda9b6 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Escher.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,507 +31,493 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) */ class PHPExcel_Writer_Excel5_Escher { - /** - * The object we are writing - */ - private $_object; - - /** - * The written binary data - */ - private $_data; - - /** - * Shape offsets. Positions in binary stream where a new shape record begins - * - * @var array - */ - private $_spOffsets; - - /** - * Shape types. - * - * @var array - */ - private $_spTypes; - - /** - * Constructor - * - * @param mixed - */ - public function __construct($object) - { - $this->_object = $object; - } - - /** - * Process the object to be written - */ - public function close() - { - // initialize - $this->_data = ''; - - switch (get_class($this->_object)) { - - case 'PHPExcel_Shared_Escher': - if ($dggContainer = $this->_object->getDggContainer()) { - $writer = new PHPExcel_Writer_Excel5_Escher($dggContainer); - $this->_data = $writer->close(); - } else if ($dgContainer = $this->_object->getDgContainer()) { - $writer = new PHPExcel_Writer_Excel5_Escher($dgContainer); - $this->_data = $writer->close(); - $this->_spOffsets = $writer->getSpOffsets(); - $this->_spTypes = $writer->getSpTypes(); - } - break; - - case 'PHPExcel_Shared_Escher_DggContainer': - // this is a container record - - // initialize - $innerData = ''; - - // write the dgg - $recVer = 0x0; - $recInstance = 0x0000; - $recType = 0xF006; - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - // dgg data - $dggData = - pack('VVVV' - , $this->_object->getSpIdMax() // maximum shape identifier increased by one - , $this->_object->getCDgSaved() + 1 // number of file identifier clusters increased by one - , $this->_object->getCSpSaved() - , $this->_object->getCDgSaved() // count total number of drawings saved - ); - - // add file identifier clusters (one per drawing) - $IDCLs = $this->_object->getIDCLs(); - - foreach ($IDCLs as $dgId => $maxReducedSpId) { - $dggData .= pack('VV', $dgId, $maxReducedSpId + 1); - } - - $header = pack('vvV', $recVerInstance, $recType, strlen($dggData)); - $innerData .= $header . $dggData; - - // write the bstoreContainer - if ($bstoreContainer = $this->_object->getBstoreContainer()) { - $writer = new PHPExcel_Writer_Excel5_Escher($bstoreContainer); - $innerData .= $writer->close(); - } - - // write the record - $recVer = 0xF; - $recInstance = 0x0000; - $recType = 0xF000; - $length = strlen($innerData); - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - - $this->_data = $header . $innerData; - break; - - case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer': - // this is a container record - - // initialize - $innerData = ''; - - // treat the inner data - if ($BSECollection = $this->_object->getBSECollection()) { - foreach ($BSECollection as $BSE) { - $writer = new PHPExcel_Writer_Excel5_Escher($BSE); - $innerData .= $writer->close(); - } - } - - // write the record - $recVer = 0xF; - $recInstance = count($this->_object->getBSECollection()); - $recType = 0xF001; - $length = strlen($innerData); + /** + * The object we are writing + */ + private $object; + + /** + * The written binary data + */ + private $data; + + /** + * Shape offsets. Positions in binary stream where a new shape record begins + * + * @var array + */ + private $spOffsets; + + /** + * Shape types. + * + * @var array + */ + private $spTypes; + + /** + * Constructor + * + * @param mixed + */ + public function __construct($object) + { + $this->object = $object; + } + + /** + * Process the object to be written + */ + public function close() + { + // initialize + $this->data = ''; + + switch (get_class($this->object)) { + case 'PHPExcel_Shared_Escher': + if ($dggContainer = $this->object->getDggContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($dggContainer); + $this->data = $writer->close(); + } elseif ($dgContainer = $this->object->getDgContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($dgContainer); + $this->data = $writer->close(); + $this->spOffsets = $writer->getSpOffsets(); + $this->spTypes = $writer->getSpTypes(); + } + break; + case 'PHPExcel_Shared_Escher_DggContainer': + // this is a container record + + // initialize + $innerData = ''; + + // write the dgg + $recVer = 0x0; + $recInstance = 0x0000; + $recType = 0xF006; + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + // dgg data + $dggData = + pack( + 'VVVV', + $this->object->getSpIdMax(), // maximum shape identifier increased by one + $this->object->getCDgSaved() + 1, // number of file identifier clusters increased by one + $this->object->getCSpSaved(), + $this->object->getCDgSaved() // count total number of drawings saved + ); + + // add file identifier clusters (one per drawing) + $IDCLs = $this->object->getIDCLs(); + + foreach ($IDCLs as $dgId => $maxReducedSpId) { + $dggData .= pack('VV', $dgId, $maxReducedSpId + 1); + } + + $header = pack('vvV', $recVerInstance, $recType, strlen($dggData)); + $innerData .= $header . $dggData; + + // write the bstoreContainer + if ($bstoreContainer = $this->object->getBstoreContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($bstoreContainer); + $innerData .= $writer->close(); + } + + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF000; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->data = $header . $innerData; + break; + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer': + // this is a container record + + // initialize + $innerData = ''; + + // treat the inner data + if ($BSECollection = $this->object->getBSECollection()) { + foreach ($BSECollection as $BSE) { + $writer = new PHPExcel_Writer_Excel5_Escher($BSE); + $innerData .= $writer->close(); + } + } + + // write the record + $recVer = 0xF; + $recInstance = count($this->object->getBSECollection()); + $recType = 0xF001; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $this->data = $header . $innerData; + break; + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE': + // this is a semi-container record + + // initialize + $innerData = ''; + + // here we treat the inner data + if ($blip = $this->object->getBlip()) { + $writer = new PHPExcel_Writer_Excel5_Escher($blip); + $innerData .= $writer->close(); + } + + // initialize + $data = ''; - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + $btWin32 = $this->object->getBlipType(); + $btMacOS = $this->object->getBlipType(); + $data .= pack('CC', $btWin32, $btMacOS); - $header = pack('vvV', $recVerInstance, $recType, $length); + $rgbUid = pack('VVVV', 0, 0, 0, 0); // todo + $data .= $rgbUid; - $this->_data = $header . $innerData; - break; + $tag = 0; + $size = strlen($innerData); + $cRef = 1; + $foDelay = 0; //todo + $unused1 = 0x0; + $cbName = 0x0; + $unused2 = 0x0; + $unused3 = 0x0; + $data .= pack('vVVVCCCC', $tag, $size, $cRef, $foDelay, $unused1, $cbName, $unused2, $unused3); - case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE': - // this is a semi-container record + $data .= $innerData; - // initialize - $innerData = ''; + // write the record + $recVer = 0x2; + $recInstance = $this->object->getBlipType(); + $recType = 0xF007; + $length = strlen($data); - // here we treat the inner data - if ($blip = $this->_object->getBlip()) { - $writer = new PHPExcel_Writer_Excel5_Escher($blip); - $innerData .= $writer->close(); - } + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - // initialize - $data = ''; + $header = pack('vvV', $recVerInstance, $recType, $length); - $btWin32 = $this->_object->getBlipType(); - $btMacOS = $this->_object->getBlipType(); - $data .= pack('CC', $btWin32, $btMacOS); + $this->data = $header; - $rgbUid = pack('VVVV', 0,0,0,0); // todo - $data .= $rgbUid; + $this->data .= $data; + break; + case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip': + // this is an atom record - $tag = 0; - $size = strlen($innerData); - $cRef = 1; - $foDelay = 0; //todo - $unused1 = 0x0; - $cbName = 0x0; - $unused2 = 0x0; - $unused3 = 0x0; - $data .= pack('vVVVCCCC', $tag, $size, $cRef, $foDelay, $unused1, $cbName, $unused2, $unused3); + // write the record + switch ($this->object->getParent()->getBlipType()) { + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: + // initialize + $innerData = ''; - $data .= $innerData; + $rgbUid1 = pack('VVVV', 0, 0, 0, 0); // todo + $innerData .= $rgbUid1; - // write the record - $recVer = 0x2; - $recInstance = $this->_object->getBlipType(); - $recType = 0xF007; - $length = strlen($data); + $tag = 0xFF; // todo + $innerData .= pack('C', $tag); - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + $innerData .= $this->object->getData(); - $header = pack('vvV', $recVerInstance, $recType, $length); + $recVer = 0x0; + $recInstance = 0x46A; + $recType = 0xF01D; + $length = strlen($innerData); - $this->_data = $header; + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - $this->_data .= $data; - break; + $header = pack('vvV', $recVerInstance, $recType, $length); - case 'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip': - // this is an atom record + $this->data = $header; - // write the record - switch ($this->_object->getParent()->getBlipType()) { + $this->data .= $innerData; + break; - case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_JPEG: - // initialize - $innerData = ''; + case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: + // initialize + $innerData = ''; - $rgbUid1 = pack('VVVV', 0,0,0,0); // todo - $innerData .= $rgbUid1; + $rgbUid1 = pack('VVVV', 0, 0, 0, 0); // todo + $innerData .= $rgbUid1; - $tag = 0xFF; // todo - $innerData .= pack('C', $tag); + $tag = 0xFF; // todo + $innerData .= pack('C', $tag); - $innerData .= $this->_object->getData(); + $innerData .= $this->object->getData(); - $recVer = 0x0; - $recInstance = 0x46A; - $recType = 0xF01D; - $length = strlen($innerData); + $recVer = 0x0; + $recInstance = 0x6E0; + $recType = 0xF01E; + $length = strlen($innerData); - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - $header = pack('vvV', $recVerInstance, $recType, $length); + $header = pack('vvV', $recVerInstance, $recType, $length); - $this->_data = $header; + $this->data = $header; - $this->_data .= $innerData; - break; + $this->data .= $innerData; + break; + } + break; + case 'PHPExcel_Shared_Escher_DgContainer': + // this is a container record - case PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE::BLIPTYPE_PNG: - // initialize - $innerData = ''; + // initialize + $innerData = ''; - $rgbUid1 = pack('VVVV', 0,0,0,0); // todo - $innerData .= $rgbUid1; + // write the dg + $recVer = 0x0; + $recInstance = $this->object->getDgId(); + $recType = 0xF008; + $length = 8; - $tag = 0xFF; // todo - $innerData .= pack('C', $tag); + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - $innerData .= $this->_object->getData(); + $header = pack('vvV', $recVerInstance, $recType, $length); - $recVer = 0x0; - $recInstance = 0x6E0; - $recType = 0xF01E; - $length = strlen($innerData); + // number of shapes in this drawing (including group shape) + $countShapes = count($this->object->getSpgrContainer()->getChildren()); + $innerData .= $header . pack('VV', $countShapes, $this->object->getLastSpId()); + //$innerData .= $header . pack('VV', 0, 0); - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + // write the spgrContainer + if ($spgrContainer = $this->object->getSpgrContainer()) { + $writer = new PHPExcel_Writer_Excel5_Escher($spgrContainer); + $innerData .= $writer->close(); - $header = pack('vvV', $recVerInstance, $recType, $length); + // get the shape offsets relative to the spgrContainer record + $spOffsets = $writer->getSpOffsets(); + $spTypes = $writer->getSpTypes(); + + // save the shape offsets relative to dgContainer + foreach ($spOffsets as & $spOffset) { + $spOffset += 24; // add length of dgContainer header data (8 bytes) plus dg data (16 bytes) + } - $this->_data = $header; + $this->spOffsets = $spOffsets; + $this->spTypes = $spTypes; + } - $this->_data .= $innerData; - break; + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF002; + $length = strlen($innerData); - } - break; + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - case 'PHPExcel_Shared_Escher_DgContainer': - // this is a container record + $header = pack('vvV', $recVerInstance, $recType, $length); - // initialize - $innerData = ''; + $this->data = $header . $innerData; + break; + case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer': + // this is a container record - // write the dg - $recVer = 0x0; - $recInstance = $this->_object->getDgId(); - $recType = 0xF008; - $length = 8; + // initialize + $innerData = ''; - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + // initialize spape offsets + $totalSize = 8; + $spOffsets = array(); + $spTypes = array(); - $header = pack('vvV', $recVerInstance, $recType, $length); + // treat the inner data + foreach ($this->object->getChildren() as $spContainer) { + $writer = new PHPExcel_Writer_Excel5_Escher($spContainer); + $spData = $writer->close(); + $innerData .= $spData; + + // save the shape offsets (where new shape records begin) + $totalSize += strlen($spData); + $spOffsets[] = $totalSize; + + $spTypes = array_merge($spTypes, $writer->getSpTypes()); + } - // number of shapes in this drawing (including group shape) - $countShapes = count($this->_object->getSpgrContainer()->getChildren()); - $innerData .= $header . pack('VV', $countShapes, $this->_object->getLastSpId()); - //$innerData .= $header . pack('VV', 0, 0); + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF003; + $length = strlen($innerData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); - // write the spgrContainer - if ($spgrContainer = $this->_object->getSpgrContainer()) { - $writer = new PHPExcel_Writer_Excel5_Escher($spgrContainer); - $innerData .= $writer->close(); + $this->data = $header . $innerData; + $this->spOffsets = $spOffsets; + $this->spTypes = $spTypes; + break; + case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer': + // initialize + $data = ''; + + // build the data + + // write group shape record, if necessary? + if ($this->object->getSpgr()) { + $recVer = 0x1; + $recInstance = 0x0000; + $recType = 0xF009; + $length = 0x00000010; - // get the shape offsets relative to the spgrContainer record - $spOffsets = $writer->getSpOffsets(); - $spTypes = $writer->getSpTypes(); - - // save the shape offsets relative to dgContainer - foreach ($spOffsets as & $spOffset) { - $spOffset += 24; // add length of dgContainer header data (8 bytes) plus dg data (16 bytes) - } + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + + $data .= $header . pack('VVVV', 0, 0, 0, 0); + } + $this->spTypes[] = ($this->object->getSpType()); - $this->_spOffsets = $spOffsets; - $this->_spTypes = $spTypes; - } + // write the shape record + $recVer = 0x2; + $recInstance = $this->object->getSpType(); // shape type + $recType = 0xF00A; + $length = 0x00000008; - // write the record - $recVer = 0xF; - $recInstance = 0x0000; - $recType = 0xF002; - $length = strlen($innerData); + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + $header = pack('vvV', $recVerInstance, $recType, $length); - $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . pack('VV', $this->object->getSpId(), $this->object->getSpgr() ? 0x0005 : 0x0A00); - $this->_data = $header . $innerData; - break; - case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer': - // this is a container record + // the options + if ($this->object->getOPTCollection()) { + $optData = ''; + + $recVer = 0x3; + $recInstance = count($this->object->getOPTCollection()); + $recType = 0xF00B; + foreach ($this->object->getOPTCollection() as $property => $value) { + $optData .= pack('vV', $property, $value); + } + $length = strlen($optData); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; + + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $optData; + } + + // the client anchor + if ($this->object->getStartCoordinates()) { + $clientAnchorData = ''; + + $recVer = 0x0; + $recInstance = 0x0; + $recType = 0xF010; + + // start coordinates + list($column, $row) = PHPExcel_Cell::coordinateFromString($this->object->getStartCoordinates()); + $c1 = PHPExcel_Cell::columnIndexFromString($column) - 1; + $r1 = $row - 1; + + // start offsetX + $startOffsetX = $this->object->getStartOffsetX(); + + // start offsetY + $startOffsetY = $this->object->getStartOffsetY(); + + // end coordinates + list($column, $row) = PHPExcel_Cell::coordinateFromString($this->object->getEndCoordinates()); + $c2 = PHPExcel_Cell::columnIndexFromString($column) - 1; + $r2 = $row - 1; + + // end offsetX + $endOffsetX = $this->object->getEndOffsetX(); + + // end offsetY + $endOffsetY = $this->object->getEndOffsetY(); + + $clientAnchorData = pack('vvvvvvvvv', $this->object->getSpFlag(), $c1, $startOffsetX, $r1, $startOffsetY, $c2, $endOffsetX, $r2, $endOffsetY); + + $length = strlen($clientAnchorData); - // initialize - $innerData = ''; + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - // initialize spape offsets - $totalSize = 8; - $spOffsets = array(); - $spTypes = array(); + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $clientAnchorData; + } - // treat the inner data - foreach ($this->_object->getChildren() as $spContainer) { - $writer = new PHPExcel_Writer_Excel5_Escher($spContainer); - $spData = $writer->close(); - $innerData .= $spData; + // the client data, just empty for now + if (!$this->object->getSpgr()) { + $clientDataData = ''; - // save the shape offsets (where new shape records begin) - $totalSize += strlen($spData); - $spOffsets[] = $totalSize; - - $spTypes = array_merge($spTypes, $writer->getSpTypes()); - } + $recVer = 0x0; + $recInstance = 0x0; + $recType = 0xF011; - // write the record - $recVer = 0xF; - $recInstance = 0x0000; - $recType = 0xF003; - $length = strlen($innerData); + $length = strlen($clientDataData); - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - $header = pack('vvV', $recVerInstance, $recType, $length); + $header = pack('vvV', $recVerInstance, $recType, $length); + $data .= $header . $clientDataData; + } - $this->_data = $header . $innerData; - $this->_spOffsets = $spOffsets; - $this->_spTypes = $spTypes; - break; + // write the record + $recVer = 0xF; + $recInstance = 0x0000; + $recType = 0xF004; + $length = strlen($data); + + $recVerInstance = $recVer; + $recVerInstance |= $recInstance << 4; - case 'PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer': - // initialize - $data = ''; + $header = pack('vvV', $recVerInstance, $recType, $length); - // build the data + $this->data = $header . $data; + break; + } - // write group shape record, if necessary? - if ($this->_object->getSpgr()) { - $recVer = 0x1; - $recInstance = 0x0000; - $recType = 0xF009; - $length = 0x00000010; + return $this->data; + } - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - - $data .= $header . pack('VVVV', 0,0,0,0); - } - $this->_spTypes[] = ($this->_object->getSpType()); - - // write the shape record - $recVer = 0x2; - $recInstance = $this->_object->getSpType(); // shape type - $recType = 0xF00A; - $length = 0x00000008; - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - - $data .= $header . pack('VV', $this->_object->getSpId(), $this->_object->getSpgr() ? 0x0005 : 0x0A00); - - - // the options - if ($this->_object->getOPTCollection()) { - $optData = ''; - - $recVer = 0x3; - $recInstance = count($this->_object->getOPTCollection()); - $recType = 0xF00B; - foreach ($this->_object->getOPTCollection() as $property => $value) { - $optData .= pack('vV', $property, $value); - } - $length = strlen($optData); - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - $data .= $header . $optData; - } - - // the client anchor - if ($this->_object->getStartCoordinates()) { - $clientAnchorData = ''; - - $recVer = 0x0; - $recInstance = 0x0; - $recType = 0xF010; - - // start coordinates - list($column, $row) = PHPExcel_Cell::coordinateFromString($this->_object->getStartCoordinates()); - $c1 = PHPExcel_Cell::columnIndexFromString($column) - 1; - $r1 = $row - 1; - - // start offsetX - $startOffsetX = $this->_object->getStartOffsetX(); - - // start offsetY - $startOffsetY = $this->_object->getStartOffsetY(); - - // end coordinates - list($column, $row) = PHPExcel_Cell::coordinateFromString($this->_object->getEndCoordinates()); - $c2 = PHPExcel_Cell::columnIndexFromString($column) - 1; - $r2 = $row - 1; - - // end offsetX - $endOffsetX = $this->_object->getEndOffsetX(); - - // end offsetY - $endOffsetY = $this->_object->getEndOffsetY(); - - $clientAnchorData = pack('vvvvvvvvv', $this->_object->getSpFlag(), - $c1, $startOffsetX, $r1, $startOffsetY, - $c2, $endOffsetX, $r2, $endOffsetY); - - $length = strlen($clientAnchorData); - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - $data .= $header . $clientAnchorData; - } - - // the client data, just empty for now - if (!$this->_object->getSpgr()) { - $clientDataData = ''; - - $recVer = 0x0; - $recInstance = 0x0; - $recType = 0xF011; - - $length = strlen($clientDataData); - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - $data .= $header . $clientDataData; - } - - // write the record - $recVer = 0xF; - $recInstance = 0x0000; - $recType = 0xF004; - $length = strlen($data); - - $recVerInstance = $recVer; - $recVerInstance |= $recInstance << 4; - - $header = pack('vvV', $recVerInstance, $recType, $length); - - $this->_data = $header . $data; - break; - - } - - return $this->_data; - } - - /** - * Gets the shape offsets - * - * @return array - */ - public function getSpOffsets() - { - return $this->_spOffsets; - } - - /** - * Gets the shape types - * - * @return array - */ - public function getSpTypes() - { - return $this->_spTypes; - } - - + /** + * Gets the shape offsets + * + * @return array + */ + public function getSpOffsets() + { + return $this->spOffsets; + } + + /** + * Gets the shape types + * + * @return array + */ + public function getSpTypes() + { + return $this->spTypes; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php index 0df194382..ed85ff457 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Font.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_Font * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,146 +21,146 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Excel5_Font - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_Font { - /** - * Color index - * - * @var int - */ - private $_colorIndex; + /** + * Color index + * + * @var int + */ + private $colorIndex; - /** - * Font - * - * @var PHPExcel_Style_Font - */ - private $_font; + /** + * Font + * + * @var PHPExcel_Style_Font + */ + private $font; - /** - * Constructor - * - * @param PHPExcel_Style_Font $font - */ - public function __construct(PHPExcel_Style_Font $font = null) - { - $this->_colorIndex = 0x7FFF; - $this->_font = $font; - } + /** + * Constructor + * + * @param PHPExcel_Style_Font $font + */ + public function __construct(PHPExcel_Style_Font $font = null) + { + $this->colorIndex = 0x7FFF; + $this->font = $font; + } - /** - * Set the color index - * - * @param int $colorIndex - */ - public function setColorIndex($colorIndex) - { - $this->_colorIndex = $colorIndex; - } + /** + * Set the color index + * + * @param int $colorIndex + */ + public function setColorIndex($colorIndex) + { + $this->colorIndex = $colorIndex; + } - /** - * Get font record data - * - * @return string - */ - public function writeFont() - { - $font_outline = 0; - $font_shadow = 0; + /** + * Get font record data + * + * @return string + */ + public function writeFont() + { + $font_outline = 0; + $font_shadow = 0; - $icv = $this->_colorIndex; // Index to color palette - if ($this->_font->getSuperScript()) { - $sss = 1; - } else if ($this->_font->getSubScript()) { - $sss = 2; - } else { - $sss = 0; - } - $bFamily = 0; // Font family - $bCharSet = PHPExcel_Shared_Font::getCharsetFromFontName($this->_font->getName()); // Character set + $icv = $this->colorIndex; // Index to color palette + if ($this->font->getSuperScript()) { + $sss = 1; + } elseif ($this->font->getSubScript()) { + $sss = 2; + } else { + $sss = 0; + } + $bFamily = 0; // Font family + $bCharSet = PHPExcel_Shared_Font::getCharsetFromFontName($this->font->getName()); // Character set - $record = 0x31; // Record identifier - $reserved = 0x00; // Reserved - $grbit = 0x00; // Font attributes - if ($this->_font->getItalic()) { - $grbit |= 0x02; - } - if ($this->_font->getStrikethrough()) { - $grbit |= 0x08; - } - if ($font_outline) { - $grbit |= 0x10; - } - if ($font_shadow) { - $grbit |= 0x20; - } + $record = 0x31; // Record identifier + $reserved = 0x00; // Reserved + $grbit = 0x00; // Font attributes + if ($this->font->getItalic()) { + $grbit |= 0x02; + } + if ($this->font->getStrikethrough()) { + $grbit |= 0x08; + } + if ($font_outline) { + $grbit |= 0x10; + } + if ($font_shadow) { + $grbit |= 0x20; + } - $data = pack("vvvvvCCCC", - $this->_font->getSize() * 20, // Fontsize (in twips) - $grbit, - $icv, // Colour - self::_mapBold($this->_font->getBold()), // Font weight - $sss, // Superscript/Subscript - self::_mapUnderline($this->_font->getUnderline()), - $bFamily, - $bCharSet, - $reserved - ); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($this->_font->getName()); + $data = pack( + "vvvvvCCCC", + // Fontsize (in twips) + $this->font->getSize() * 20, + $grbit, + // Colour + $icv, + // Font weight + self::mapBold($this->font->getBold()), + // Superscript/Subscript + $sss, + self::mapUnderline($this->font->getUnderline()), + $bFamily, + $bCharSet, + $reserved + ); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($this->font->getName()); - $length = strlen($data); - $header = pack("vv", $record, $length); + $length = strlen($data); + $header = pack("vv", $record, $length); - return($header . $data); - } + return($header . $data); + } - /** - * Map to BIFF5-BIFF8 codes for bold - * - * @param boolean $bold - * @return int - */ - private static function _mapBold($bold) { - if ($bold) { - return 0x2BC; // 700 = Bold font weight - } - return 0x190; // 400 = Normal font weight - } + /** + * Map to BIFF5-BIFF8 codes for bold + * + * @param boolean $bold + * @return int + */ + private static function mapBold($bold) + { + if ($bold) { + return 0x2BC; // 700 = Bold font weight + } + return 0x190; // 400 = Normal font weight + } - /** - * Map of BIFF2-BIFF8 codes for underline styles - * @static array of int - * - */ - private static $_mapUnderline = array( PHPExcel_Style_Font::UNDERLINE_NONE => 0x00, - PHPExcel_Style_Font::UNDERLINE_SINGLE => 0x01, - PHPExcel_Style_Font::UNDERLINE_DOUBLE => 0x02, - PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING => 0x21, - PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING => 0x22, - ); - /** - * Map underline - * - * @param string - * @return int - */ - private static function _mapUnderline($underline) { - if (isset(self::$_mapUnderline[$underline])) - return self::$_mapUnderline[$underline]; - return 0x00; - } + /** + * Map of BIFF2-BIFF8 codes for underline styles + * @static array of int + * + */ + private static $mapUnderline = array( + PHPExcel_Style_Font::UNDERLINE_NONE => 0x00, + PHPExcel_Style_Font::UNDERLINE_SINGLE => 0x01, + PHPExcel_Style_Font::UNDERLINE_DOUBLE => 0x02, + PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING => 0x21, + PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING => 0x22, + ); + /** + * Map underline + * + * @param string + * @return int + */ + private static function mapUnderline($underline) + { + if (isset(self::$mapUnderline[$underline])) { + return self::$mapUnderline[$underline]; + } + return 0x00; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php index bc6ddb132..0cf1c1d65 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Parser.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_Parser * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +21,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -48,1536 +49,1483 @@ // * License along with this library; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // */ - - -/** - * PHPExcel_Writer_Excel5_Parser - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_Parser { - /** Constants */ - // Sheet title in unquoted form - // Invalid sheet title characters cannot occur in the sheet title: - // *:/\?[] - // Moreover, there are valid sheet title characters that cannot occur in unquoted form (there may be more?) - // +-% '^&<>=,;#()"{} - const REGEX_SHEET_TITLE_UNQUOTED = '[^\*\:\/\\\\\?\[\]\+\-\% \\\'\^\&\<\>\=\,\;\#\(\)\"\{\}]+'; + /** Constants */ + // Sheet title in unquoted form + // Invalid sheet title characters cannot occur in the sheet title: + // *:/\?[] + // Moreover, there are valid sheet title characters that cannot occur in unquoted form (there may be more?) + // +-% '^&<>=,;#()"{} + const REGEX_SHEET_TITLE_UNQUOTED = '[^\*\:\/\\\\\?\[\]\+\-\% \\\'\^\&\<\>\=\,\;\#\(\)\"\{\}]+'; - // Sheet title in quoted form (without surrounding quotes) - // Invalid sheet title characters cannot occur in the sheet title: - // *:/\?[] (usual invalid sheet title characters) - // Single quote is represented as a pair '' - const REGEX_SHEET_TITLE_QUOTED = '(([^\*\:\/\\\\\?\[\]\\\'])+|(\\\'\\\')+)+'; + // Sheet title in quoted form (without surrounding quotes) + // Invalid sheet title characters cannot occur in the sheet title: + // *:/\?[] (usual invalid sheet title characters) + // Single quote is represented as a pair '' + const REGEX_SHEET_TITLE_QUOTED = '(([^\*\:\/\\\\\?\[\]\\\'])+|(\\\'\\\')+)+'; - /** - * The index of the character we are currently looking at - * @var integer - */ - public $_current_char; + /** + * The index of the character we are currently looking at + * @var integer + */ + public $currentCharacter; - /** - * The token we are working on. - * @var string - */ - public $_current_token; + /** + * The token we are working on. + * @var string + */ + public $currentToken; - /** - * The formula to parse - * @var string - */ - public $_formula; + /** + * The formula to parse + * @var string + */ + private $formula; - /** - * The character ahead of the current char - * @var string - */ - public $_lookahead; + /** + * The character ahead of the current char + * @var string + */ + public $lookAhead; - /** - * The parse tree to be generated - * @var string - */ - public $_parse_tree; + /** + * The parse tree to be generated + * @var string + */ + private $parseTree; - /** - * Array of external sheets - * @var array - */ - public $_ext_sheets; + /** + * Array of external sheets + * @var array + */ + private $externalSheets; - /** - * Array of sheet references in the form of REF structures - * @var array - */ - public $_references; + /** + * Array of sheet references in the form of REF structures + * @var array + */ + public $references; - /** - * The class constructor - * - */ - public function __construct() - { - $this->_current_char = 0; - $this->_current_token = ''; // The token we are working on. - $this->_formula = ''; // The formula to parse. - $this->_lookahead = ''; // The character ahead of the current char. - $this->_parse_tree = ''; // The parse tree to be generated. - $this->_initializeHashes(); // Initialize the hashes: ptg's and function's ptg's - $this->_ext_sheets = array(); - $this->_references = array(); - } + /** + * The class constructor + * + */ + public function __construct() + { + $this->currentCharacter = 0; + $this->currentToken = ''; // The token we are working on. + $this->formula = ''; // The formula to parse. + $this->lookAhead = ''; // The character ahead of the current char. + $this->parseTree = ''; // The parse tree to be generated. + $this->initializeHashes(); // Initialize the hashes: ptg's and function's ptg's + $this->externalSheets = array(); + $this->references = array(); + } - /** - * Initialize the ptg and function hashes. - * - * @access private - */ - function _initializeHashes() - { - // The Excel ptg indices - $this->ptg = array( - 'ptgExp' => 0x01, - 'ptgTbl' => 0x02, - 'ptgAdd' => 0x03, - 'ptgSub' => 0x04, - 'ptgMul' => 0x05, - 'ptgDiv' => 0x06, - 'ptgPower' => 0x07, - 'ptgConcat' => 0x08, - 'ptgLT' => 0x09, - 'ptgLE' => 0x0A, - 'ptgEQ' => 0x0B, - 'ptgGE' => 0x0C, - 'ptgGT' => 0x0D, - 'ptgNE' => 0x0E, - 'ptgIsect' => 0x0F, - 'ptgUnion' => 0x10, - 'ptgRange' => 0x11, - 'ptgUplus' => 0x12, - 'ptgUminus' => 0x13, - 'ptgPercent' => 0x14, - 'ptgParen' => 0x15, - 'ptgMissArg' => 0x16, - 'ptgStr' => 0x17, - 'ptgAttr' => 0x19, - 'ptgSheet' => 0x1A, - 'ptgEndSheet' => 0x1B, - 'ptgErr' => 0x1C, - 'ptgBool' => 0x1D, - 'ptgInt' => 0x1E, - 'ptgNum' => 0x1F, - 'ptgArray' => 0x20, - 'ptgFunc' => 0x21, - 'ptgFuncVar' => 0x22, - 'ptgName' => 0x23, - 'ptgRef' => 0x24, - 'ptgArea' => 0x25, - 'ptgMemArea' => 0x26, - 'ptgMemErr' => 0x27, - 'ptgMemNoMem' => 0x28, - 'ptgMemFunc' => 0x29, - 'ptgRefErr' => 0x2A, - 'ptgAreaErr' => 0x2B, - 'ptgRefN' => 0x2C, - 'ptgAreaN' => 0x2D, - 'ptgMemAreaN' => 0x2E, - 'ptgMemNoMemN' => 0x2F, - 'ptgNameX' => 0x39, - 'ptgRef3d' => 0x3A, - 'ptgArea3d' => 0x3B, - 'ptgRefErr3d' => 0x3C, - 'ptgAreaErr3d' => 0x3D, - 'ptgArrayV' => 0x40, - 'ptgFuncV' => 0x41, - 'ptgFuncVarV' => 0x42, - 'ptgNameV' => 0x43, - 'ptgRefV' => 0x44, - 'ptgAreaV' => 0x45, - 'ptgMemAreaV' => 0x46, - 'ptgMemErrV' => 0x47, - 'ptgMemNoMemV' => 0x48, - 'ptgMemFuncV' => 0x49, - 'ptgRefErrV' => 0x4A, - 'ptgAreaErrV' => 0x4B, - 'ptgRefNV' => 0x4C, - 'ptgAreaNV' => 0x4D, - 'ptgMemAreaNV' => 0x4E, - 'ptgMemNoMemN' => 0x4F, - 'ptgFuncCEV' => 0x58, - 'ptgNameXV' => 0x59, - 'ptgRef3dV' => 0x5A, - 'ptgArea3dV' => 0x5B, - 'ptgRefErr3dV' => 0x5C, - 'ptgAreaErr3d' => 0x5D, - 'ptgArrayA' => 0x60, - 'ptgFuncA' => 0x61, - 'ptgFuncVarA' => 0x62, - 'ptgNameA' => 0x63, - 'ptgRefA' => 0x64, - 'ptgAreaA' => 0x65, - 'ptgMemAreaA' => 0x66, - 'ptgMemErrA' => 0x67, - 'ptgMemNoMemA' => 0x68, - 'ptgMemFuncA' => 0x69, - 'ptgRefErrA' => 0x6A, - 'ptgAreaErrA' => 0x6B, - 'ptgRefNA' => 0x6C, - 'ptgAreaNA' => 0x6D, - 'ptgMemAreaNA' => 0x6E, - 'ptgMemNoMemN' => 0x6F, - 'ptgFuncCEA' => 0x78, - 'ptgNameXA' => 0x79, - 'ptgRef3dA' => 0x7A, - 'ptgArea3dA' => 0x7B, - 'ptgRefErr3dA' => 0x7C, - 'ptgAreaErr3d' => 0x7D - ); + /** + * Initialize the ptg and function hashes. + * + * @access private + */ + private function initializeHashes() + { + // The Excel ptg indices + $this->ptg = array( + 'ptgExp' => 0x01, + 'ptgTbl' => 0x02, + 'ptgAdd' => 0x03, + 'ptgSub' => 0x04, + 'ptgMul' => 0x05, + 'ptgDiv' => 0x06, + 'ptgPower' => 0x07, + 'ptgConcat' => 0x08, + 'ptgLT' => 0x09, + 'ptgLE' => 0x0A, + 'ptgEQ' => 0x0B, + 'ptgGE' => 0x0C, + 'ptgGT' => 0x0D, + 'ptgNE' => 0x0E, + 'ptgIsect' => 0x0F, + 'ptgUnion' => 0x10, + 'ptgRange' => 0x11, + 'ptgUplus' => 0x12, + 'ptgUminus' => 0x13, + 'ptgPercent' => 0x14, + 'ptgParen' => 0x15, + 'ptgMissArg' => 0x16, + 'ptgStr' => 0x17, + 'ptgAttr' => 0x19, + 'ptgSheet' => 0x1A, + 'ptgEndSheet' => 0x1B, + 'ptgErr' => 0x1C, + 'ptgBool' => 0x1D, + 'ptgInt' => 0x1E, + 'ptgNum' => 0x1F, + 'ptgArray' => 0x20, + 'ptgFunc' => 0x21, + 'ptgFuncVar' => 0x22, + 'ptgName' => 0x23, + 'ptgRef' => 0x24, + 'ptgArea' => 0x25, + 'ptgMemArea' => 0x26, + 'ptgMemErr' => 0x27, + 'ptgMemNoMem' => 0x28, + 'ptgMemFunc' => 0x29, + 'ptgRefErr' => 0x2A, + 'ptgAreaErr' => 0x2B, + 'ptgRefN' => 0x2C, + 'ptgAreaN' => 0x2D, + 'ptgMemAreaN' => 0x2E, + 'ptgMemNoMemN' => 0x2F, + 'ptgNameX' => 0x39, + 'ptgRef3d' => 0x3A, + 'ptgArea3d' => 0x3B, + 'ptgRefErr3d' => 0x3C, + 'ptgAreaErr3d' => 0x3D, + 'ptgArrayV' => 0x40, + 'ptgFuncV' => 0x41, + 'ptgFuncVarV' => 0x42, + 'ptgNameV' => 0x43, + 'ptgRefV' => 0x44, + 'ptgAreaV' => 0x45, + 'ptgMemAreaV' => 0x46, + 'ptgMemErrV' => 0x47, + 'ptgMemNoMemV' => 0x48, + 'ptgMemFuncV' => 0x49, + 'ptgRefErrV' => 0x4A, + 'ptgAreaErrV' => 0x4B, + 'ptgRefNV' => 0x4C, + 'ptgAreaNV' => 0x4D, + 'ptgMemAreaNV' => 0x4E, + 'ptgMemNoMemN' => 0x4F, + 'ptgFuncCEV' => 0x58, + 'ptgNameXV' => 0x59, + 'ptgRef3dV' => 0x5A, + 'ptgArea3dV' => 0x5B, + 'ptgRefErr3dV' => 0x5C, + 'ptgAreaErr3d' => 0x5D, + 'ptgArrayA' => 0x60, + 'ptgFuncA' => 0x61, + 'ptgFuncVarA' => 0x62, + 'ptgNameA' => 0x63, + 'ptgRefA' => 0x64, + 'ptgAreaA' => 0x65, + 'ptgMemAreaA' => 0x66, + 'ptgMemErrA' => 0x67, + 'ptgMemNoMemA' => 0x68, + 'ptgMemFuncA' => 0x69, + 'ptgRefErrA' => 0x6A, + 'ptgAreaErrA' => 0x6B, + 'ptgRefNA' => 0x6C, + 'ptgAreaNA' => 0x6D, + 'ptgMemAreaNA' => 0x6E, + 'ptgMemNoMemN' => 0x6F, + 'ptgFuncCEA' => 0x78, + 'ptgNameXA' => 0x79, + 'ptgRef3dA' => 0x7A, + 'ptgArea3dA' => 0x7B, + 'ptgRefErr3dA' => 0x7C, + 'ptgAreaErr3d' => 0x7D + ); - // Thanks to Michael Meeks and Gnumeric for the initial arg values. - // - // The following hash was generated by "function_locale.pl" in the distro. - // Refer to function_locale.pl for non-English function names. - // - // The array elements are as follow: - // ptg: The Excel function ptg code. - // args: The number of arguments that the function takes: - // >=0 is a fixed number of arguments. - // -1 is a variable number of arguments. - // class: The reference, value or array class of the function args. - // vol: The function is volatile. - // - $this->_functions = array( - // function ptg args class vol - 'COUNT' => array( 0, -1, 0, 0 ), - 'IF' => array( 1, -1, 1, 0 ), - 'ISNA' => array( 2, 1, 1, 0 ), - 'ISERROR' => array( 3, 1, 1, 0 ), - 'SUM' => array( 4, -1, 0, 0 ), - 'AVERAGE' => array( 5, -1, 0, 0 ), - 'MIN' => array( 6, -1, 0, 0 ), - 'MAX' => array( 7, -1, 0, 0 ), - 'ROW' => array( 8, -1, 0, 0 ), - 'COLUMN' => array( 9, -1, 0, 0 ), - 'NA' => array( 10, 0, 0, 0 ), - 'NPV' => array( 11, -1, 1, 0 ), - 'STDEV' => array( 12, -1, 0, 0 ), - 'DOLLAR' => array( 13, -1, 1, 0 ), - 'FIXED' => array( 14, -1, 1, 0 ), - 'SIN' => array( 15, 1, 1, 0 ), - 'COS' => array( 16, 1, 1, 0 ), - 'TAN' => array( 17, 1, 1, 0 ), - 'ATAN' => array( 18, 1, 1, 0 ), - 'PI' => array( 19, 0, 1, 0 ), - 'SQRT' => array( 20, 1, 1, 0 ), - 'EXP' => array( 21, 1, 1, 0 ), - 'LN' => array( 22, 1, 1, 0 ), - 'LOG10' => array( 23, 1, 1, 0 ), - 'ABS' => array( 24, 1, 1, 0 ), - 'INT' => array( 25, 1, 1, 0 ), - 'SIGN' => array( 26, 1, 1, 0 ), - 'ROUND' => array( 27, 2, 1, 0 ), - 'LOOKUP' => array( 28, -1, 0, 0 ), - 'INDEX' => array( 29, -1, 0, 1 ), - 'REPT' => array( 30, 2, 1, 0 ), - 'MID' => array( 31, 3, 1, 0 ), - 'LEN' => array( 32, 1, 1, 0 ), - 'VALUE' => array( 33, 1, 1, 0 ), - 'TRUE' => array( 34, 0, 1, 0 ), - 'FALSE' => array( 35, 0, 1, 0 ), - 'AND' => array( 36, -1, 0, 0 ), - 'OR' => array( 37, -1, 0, 0 ), - 'NOT' => array( 38, 1, 1, 0 ), - 'MOD' => array( 39, 2, 1, 0 ), - 'DCOUNT' => array( 40, 3, 0, 0 ), - 'DSUM' => array( 41, 3, 0, 0 ), - 'DAVERAGE' => array( 42, 3, 0, 0 ), - 'DMIN' => array( 43, 3, 0, 0 ), - 'DMAX' => array( 44, 3, 0, 0 ), - 'DSTDEV' => array( 45, 3, 0, 0 ), - 'VAR' => array( 46, -1, 0, 0 ), - 'DVAR' => array( 47, 3, 0, 0 ), - 'TEXT' => array( 48, 2, 1, 0 ), - 'LINEST' => array( 49, -1, 0, 0 ), - 'TREND' => array( 50, -1, 0, 0 ), - 'LOGEST' => array( 51, -1, 0, 0 ), - 'GROWTH' => array( 52, -1, 0, 0 ), - 'PV' => array( 56, -1, 1, 0 ), - 'FV' => array( 57, -1, 1, 0 ), - 'NPER' => array( 58, -1, 1, 0 ), - 'PMT' => array( 59, -1, 1, 0 ), - 'RATE' => array( 60, -1, 1, 0 ), - 'MIRR' => array( 61, 3, 0, 0 ), - 'IRR' => array( 62, -1, 0, 0 ), - 'RAND' => array( 63, 0, 1, 1 ), - 'MATCH' => array( 64, -1, 0, 0 ), - 'DATE' => array( 65, 3, 1, 0 ), - 'TIME' => array( 66, 3, 1, 0 ), - 'DAY' => array( 67, 1, 1, 0 ), - 'MONTH' => array( 68, 1, 1, 0 ), - 'YEAR' => array( 69, 1, 1, 0 ), - 'WEEKDAY' => array( 70, -1, 1, 0 ), - 'HOUR' => array( 71, 1, 1, 0 ), - 'MINUTE' => array( 72, 1, 1, 0 ), - 'SECOND' => array( 73, 1, 1, 0 ), - 'NOW' => array( 74, 0, 1, 1 ), - 'AREAS' => array( 75, 1, 0, 1 ), - 'ROWS' => array( 76, 1, 0, 1 ), - 'COLUMNS' => array( 77, 1, 0, 1 ), - 'OFFSET' => array( 78, -1, 0, 1 ), - 'SEARCH' => array( 82, -1, 1, 0 ), - 'TRANSPOSE' => array( 83, 1, 1, 0 ), - 'TYPE' => array( 86, 1, 1, 0 ), - 'ATAN2' => array( 97, 2, 1, 0 ), - 'ASIN' => array( 98, 1, 1, 0 ), - 'ACOS' => array( 99, 1, 1, 0 ), - 'CHOOSE' => array( 100, -1, 1, 0 ), - 'HLOOKUP' => array( 101, -1, 0, 0 ), - 'VLOOKUP' => array( 102, -1, 0, 0 ), - 'ISREF' => array( 105, 1, 0, 0 ), - 'LOG' => array( 109, -1, 1, 0 ), - 'CHAR' => array( 111, 1, 1, 0 ), - 'LOWER' => array( 112, 1, 1, 0 ), - 'UPPER' => array( 113, 1, 1, 0 ), - 'PROPER' => array( 114, 1, 1, 0 ), - 'LEFT' => array( 115, -1, 1, 0 ), - 'RIGHT' => array( 116, -1, 1, 0 ), - 'EXACT' => array( 117, 2, 1, 0 ), - 'TRIM' => array( 118, 1, 1, 0 ), - 'REPLACE' => array( 119, 4, 1, 0 ), - 'SUBSTITUTE' => array( 120, -1, 1, 0 ), - 'CODE' => array( 121, 1, 1, 0 ), - 'FIND' => array( 124, -1, 1, 0 ), - 'CELL' => array( 125, -1, 0, 1 ), - 'ISERR' => array( 126, 1, 1, 0 ), - 'ISTEXT' => array( 127, 1, 1, 0 ), - 'ISNUMBER' => array( 128, 1, 1, 0 ), - 'ISBLANK' => array( 129, 1, 1, 0 ), - 'T' => array( 130, 1, 0, 0 ), - 'N' => array( 131, 1, 0, 0 ), - 'DATEVALUE' => array( 140, 1, 1, 0 ), - 'TIMEVALUE' => array( 141, 1, 1, 0 ), - 'SLN' => array( 142, 3, 1, 0 ), - 'SYD' => array( 143, 4, 1, 0 ), - 'DDB' => array( 144, -1, 1, 0 ), - 'INDIRECT' => array( 148, -1, 1, 1 ), - 'CALL' => array( 150, -1, 1, 0 ), - 'CLEAN' => array( 162, 1, 1, 0 ), - 'MDETERM' => array( 163, 1, 2, 0 ), - 'MINVERSE' => array( 164, 1, 2, 0 ), - 'MMULT' => array( 165, 2, 2, 0 ), - 'IPMT' => array( 167, -1, 1, 0 ), - 'PPMT' => array( 168, -1, 1, 0 ), - 'COUNTA' => array( 169, -1, 0, 0 ), - 'PRODUCT' => array( 183, -1, 0, 0 ), - 'FACT' => array( 184, 1, 1, 0 ), - 'DPRODUCT' => array( 189, 3, 0, 0 ), - 'ISNONTEXT' => array( 190, 1, 1, 0 ), - 'STDEVP' => array( 193, -1, 0, 0 ), - 'VARP' => array( 194, -1, 0, 0 ), - 'DSTDEVP' => array( 195, 3, 0, 0 ), - 'DVARP' => array( 196, 3, 0, 0 ), - 'TRUNC' => array( 197, -1, 1, 0 ), - 'ISLOGICAL' => array( 198, 1, 1, 0 ), - 'DCOUNTA' => array( 199, 3, 0, 0 ), - 'USDOLLAR' => array( 204, -1, 1, 0 ), - 'FINDB' => array( 205, -1, 1, 0 ), - 'SEARCHB' => array( 206, -1, 1, 0 ), - 'REPLACEB' => array( 207, 4, 1, 0 ), - 'LEFTB' => array( 208, -1, 1, 0 ), - 'RIGHTB' => array( 209, -1, 1, 0 ), - 'MIDB' => array( 210, 3, 1, 0 ), - 'LENB' => array( 211, 1, 1, 0 ), - 'ROUNDUP' => array( 212, 2, 1, 0 ), - 'ROUNDDOWN' => array( 213, 2, 1, 0 ), - 'ASC' => array( 214, 1, 1, 0 ), - 'DBCS' => array( 215, 1, 1, 0 ), - 'RANK' => array( 216, -1, 0, 0 ), - 'ADDRESS' => array( 219, -1, 1, 0 ), - 'DAYS360' => array( 220, -1, 1, 0 ), - 'TODAY' => array( 221, 0, 1, 1 ), - 'VDB' => array( 222, -1, 1, 0 ), - 'MEDIAN' => array( 227, -1, 0, 0 ), - 'SUMPRODUCT' => array( 228, -1, 2, 0 ), - 'SINH' => array( 229, 1, 1, 0 ), - 'COSH' => array( 230, 1, 1, 0 ), - 'TANH' => array( 231, 1, 1, 0 ), - 'ASINH' => array( 232, 1, 1, 0 ), - 'ACOSH' => array( 233, 1, 1, 0 ), - 'ATANH' => array( 234, 1, 1, 0 ), - 'DGET' => array( 235, 3, 0, 0 ), - 'INFO' => array( 244, 1, 1, 1 ), - 'DB' => array( 247, -1, 1, 0 ), - 'FREQUENCY' => array( 252, 2, 0, 0 ), - 'ERROR.TYPE' => array( 261, 1, 1, 0 ), - 'REGISTER.ID' => array( 267, -1, 1, 0 ), - 'AVEDEV' => array( 269, -1, 0, 0 ), - 'BETADIST' => array( 270, -1, 1, 0 ), - 'GAMMALN' => array( 271, 1, 1, 0 ), - 'BETAINV' => array( 272, -1, 1, 0 ), - 'BINOMDIST' => array( 273, 4, 1, 0 ), - 'CHIDIST' => array( 274, 2, 1, 0 ), - 'CHIINV' => array( 275, 2, 1, 0 ), - 'COMBIN' => array( 276, 2, 1, 0 ), - 'CONFIDENCE' => array( 277, 3, 1, 0 ), - 'CRITBINOM' => array( 278, 3, 1, 0 ), - 'EVEN' => array( 279, 1, 1, 0 ), - 'EXPONDIST' => array( 280, 3, 1, 0 ), - 'FDIST' => array( 281, 3, 1, 0 ), - 'FINV' => array( 282, 3, 1, 0 ), - 'FISHER' => array( 283, 1, 1, 0 ), - 'FISHERINV' => array( 284, 1, 1, 0 ), - 'FLOOR' => array( 285, 2, 1, 0 ), - 'GAMMADIST' => array( 286, 4, 1, 0 ), - 'GAMMAINV' => array( 287, 3, 1, 0 ), - 'CEILING' => array( 288, 2, 1, 0 ), - 'HYPGEOMDIST' => array( 289, 4, 1, 0 ), - 'LOGNORMDIST' => array( 290, 3, 1, 0 ), - 'LOGINV' => array( 291, 3, 1, 0 ), - 'NEGBINOMDIST' => array( 292, 3, 1, 0 ), - 'NORMDIST' => array( 293, 4, 1, 0 ), - 'NORMSDIST' => array( 294, 1, 1, 0 ), - 'NORMINV' => array( 295, 3, 1, 0 ), - 'NORMSINV' => array( 296, 1, 1, 0 ), - 'STANDARDIZE' => array( 297, 3, 1, 0 ), - 'ODD' => array( 298, 1, 1, 0 ), - 'PERMUT' => array( 299, 2, 1, 0 ), - 'POISSON' => array( 300, 3, 1, 0 ), - 'TDIST' => array( 301, 3, 1, 0 ), - 'WEIBULL' => array( 302, 4, 1, 0 ), - 'SUMXMY2' => array( 303, 2, 2, 0 ), - 'SUMX2MY2' => array( 304, 2, 2, 0 ), - 'SUMX2PY2' => array( 305, 2, 2, 0 ), - 'CHITEST' => array( 306, 2, 2, 0 ), - 'CORREL' => array( 307, 2, 2, 0 ), - 'COVAR' => array( 308, 2, 2, 0 ), - 'FORECAST' => array( 309, 3, 2, 0 ), - 'FTEST' => array( 310, 2, 2, 0 ), - 'INTERCEPT' => array( 311, 2, 2, 0 ), - 'PEARSON' => array( 312, 2, 2, 0 ), - 'RSQ' => array( 313, 2, 2, 0 ), - 'STEYX' => array( 314, 2, 2, 0 ), - 'SLOPE' => array( 315, 2, 2, 0 ), - 'TTEST' => array( 316, 4, 2, 0 ), - 'PROB' => array( 317, -1, 2, 0 ), - 'DEVSQ' => array( 318, -1, 0, 0 ), - 'GEOMEAN' => array( 319, -1, 0, 0 ), - 'HARMEAN' => array( 320, -1, 0, 0 ), - 'SUMSQ' => array( 321, -1, 0, 0 ), - 'KURT' => array( 322, -1, 0, 0 ), - 'SKEW' => array( 323, -1, 0, 0 ), - 'ZTEST' => array( 324, -1, 0, 0 ), - 'LARGE' => array( 325, 2, 0, 0 ), - 'SMALL' => array( 326, 2, 0, 0 ), - 'QUARTILE' => array( 327, 2, 0, 0 ), - 'PERCENTILE' => array( 328, 2, 0, 0 ), - 'PERCENTRANK' => array( 329, -1, 0, 0 ), - 'MODE' => array( 330, -1, 2, 0 ), - 'TRIMMEAN' => array( 331, 2, 0, 0 ), - 'TINV' => array( 332, 2, 1, 0 ), - 'CONCATENATE' => array( 336, -1, 1, 0 ), - 'POWER' => array( 337, 2, 1, 0 ), - 'RADIANS' => array( 342, 1, 1, 0 ), - 'DEGREES' => array( 343, 1, 1, 0 ), - 'SUBTOTAL' => array( 344, -1, 0, 0 ), - 'SUMIF' => array( 345, -1, 0, 0 ), - 'COUNTIF' => array( 346, 2, 0, 0 ), - 'COUNTBLANK' => array( 347, 1, 0, 0 ), - 'ISPMT' => array( 350, 4, 1, 0 ), - 'DATEDIF' => array( 351, 3, 1, 0 ), - 'DATESTRING' => array( 352, 1, 1, 0 ), - 'NUMBERSTRING' => array( 353, 2, 1, 0 ), - 'ROMAN' => array( 354, -1, 1, 0 ), - 'GETPIVOTDATA' => array( 358, -1, 0, 0 ), - 'HYPERLINK' => array( 359, -1, 1, 0 ), - 'PHONETIC' => array( 360, 1, 0, 0 ), - 'AVERAGEA' => array( 361, -1, 0, 0 ), - 'MAXA' => array( 362, -1, 0, 0 ), - 'MINA' => array( 363, -1, 0, 0 ), - 'STDEVPA' => array( 364, -1, 0, 0 ), - 'VARPA' => array( 365, -1, 0, 0 ), - 'STDEVA' => array( 366, -1, 0, 0 ), - 'VARA' => array( 367, -1, 0, 0 ), - 'BAHTTEXT' => array( 368, 1, 0, 0 ), - ); - } + // Thanks to Michael Meeks and Gnumeric for the initial arg values. + // + // The following hash was generated by "function_locale.pl" in the distro. + // Refer to function_locale.pl for non-English function names. + // + // The array elements are as follow: + // ptg: The Excel function ptg code. + // args: The number of arguments that the function takes: + // >=0 is a fixed number of arguments. + // -1 is a variable number of arguments. + // class: The reference, value or array class of the function args. + // vol: The function is volatile. + // + $this->functions = array( + // function ptg args class vol + 'COUNT' => array( 0, -1, 0, 0 ), + 'IF' => array( 1, -1, 1, 0 ), + 'ISNA' => array( 2, 1, 1, 0 ), + 'ISERROR' => array( 3, 1, 1, 0 ), + 'SUM' => array( 4, -1, 0, 0 ), + 'AVERAGE' => array( 5, -1, 0, 0 ), + 'MIN' => array( 6, -1, 0, 0 ), + 'MAX' => array( 7, -1, 0, 0 ), + 'ROW' => array( 8, -1, 0, 0 ), + 'COLUMN' => array( 9, -1, 0, 0 ), + 'NA' => array( 10, 0, 0, 0 ), + 'NPV' => array( 11, -1, 1, 0 ), + 'STDEV' => array( 12, -1, 0, 0 ), + 'DOLLAR' => array( 13, -1, 1, 0 ), + 'FIXED' => array( 14, -1, 1, 0 ), + 'SIN' => array( 15, 1, 1, 0 ), + 'COS' => array( 16, 1, 1, 0 ), + 'TAN' => array( 17, 1, 1, 0 ), + 'ATAN' => array( 18, 1, 1, 0 ), + 'PI' => array( 19, 0, 1, 0 ), + 'SQRT' => array( 20, 1, 1, 0 ), + 'EXP' => array( 21, 1, 1, 0 ), + 'LN' => array( 22, 1, 1, 0 ), + 'LOG10' => array( 23, 1, 1, 0 ), + 'ABS' => array( 24, 1, 1, 0 ), + 'INT' => array( 25, 1, 1, 0 ), + 'SIGN' => array( 26, 1, 1, 0 ), + 'ROUND' => array( 27, 2, 1, 0 ), + 'LOOKUP' => array( 28, -1, 0, 0 ), + 'INDEX' => array( 29, -1, 0, 1 ), + 'REPT' => array( 30, 2, 1, 0 ), + 'MID' => array( 31, 3, 1, 0 ), + 'LEN' => array( 32, 1, 1, 0 ), + 'VALUE' => array( 33, 1, 1, 0 ), + 'TRUE' => array( 34, 0, 1, 0 ), + 'FALSE' => array( 35, 0, 1, 0 ), + 'AND' => array( 36, -1, 0, 0 ), + 'OR' => array( 37, -1, 0, 0 ), + 'NOT' => array( 38, 1, 1, 0 ), + 'MOD' => array( 39, 2, 1, 0 ), + 'DCOUNT' => array( 40, 3, 0, 0 ), + 'DSUM' => array( 41, 3, 0, 0 ), + 'DAVERAGE' => array( 42, 3, 0, 0 ), + 'DMIN' => array( 43, 3, 0, 0 ), + 'DMAX' => array( 44, 3, 0, 0 ), + 'DSTDEV' => array( 45, 3, 0, 0 ), + 'VAR' => array( 46, -1, 0, 0 ), + 'DVAR' => array( 47, 3, 0, 0 ), + 'TEXT' => array( 48, 2, 1, 0 ), + 'LINEST' => array( 49, -1, 0, 0 ), + 'TREND' => array( 50, -1, 0, 0 ), + 'LOGEST' => array( 51, -1, 0, 0 ), + 'GROWTH' => array( 52, -1, 0, 0 ), + 'PV' => array( 56, -1, 1, 0 ), + 'FV' => array( 57, -1, 1, 0 ), + 'NPER' => array( 58, -1, 1, 0 ), + 'PMT' => array( 59, -1, 1, 0 ), + 'RATE' => array( 60, -1, 1, 0 ), + 'MIRR' => array( 61, 3, 0, 0 ), + 'IRR' => array( 62, -1, 0, 0 ), + 'RAND' => array( 63, 0, 1, 1 ), + 'MATCH' => array( 64, -1, 0, 0 ), + 'DATE' => array( 65, 3, 1, 0 ), + 'TIME' => array( 66, 3, 1, 0 ), + 'DAY' => array( 67, 1, 1, 0 ), + 'MONTH' => array( 68, 1, 1, 0 ), + 'YEAR' => array( 69, 1, 1, 0 ), + 'WEEKDAY' => array( 70, -1, 1, 0 ), + 'HOUR' => array( 71, 1, 1, 0 ), + 'MINUTE' => array( 72, 1, 1, 0 ), + 'SECOND' => array( 73, 1, 1, 0 ), + 'NOW' => array( 74, 0, 1, 1 ), + 'AREAS' => array( 75, 1, 0, 1 ), + 'ROWS' => array( 76, 1, 0, 1 ), + 'COLUMNS' => array( 77, 1, 0, 1 ), + 'OFFSET' => array( 78, -1, 0, 1 ), + 'SEARCH' => array( 82, -1, 1, 0 ), + 'TRANSPOSE' => array( 83, 1, 1, 0 ), + 'TYPE' => array( 86, 1, 1, 0 ), + 'ATAN2' => array( 97, 2, 1, 0 ), + 'ASIN' => array( 98, 1, 1, 0 ), + 'ACOS' => array( 99, 1, 1, 0 ), + 'CHOOSE' => array( 100, -1, 1, 0 ), + 'HLOOKUP' => array( 101, -1, 0, 0 ), + 'VLOOKUP' => array( 102, -1, 0, 0 ), + 'ISREF' => array( 105, 1, 0, 0 ), + 'LOG' => array( 109, -1, 1, 0 ), + 'CHAR' => array( 111, 1, 1, 0 ), + 'LOWER' => array( 112, 1, 1, 0 ), + 'UPPER' => array( 113, 1, 1, 0 ), + 'PROPER' => array( 114, 1, 1, 0 ), + 'LEFT' => array( 115, -1, 1, 0 ), + 'RIGHT' => array( 116, -1, 1, 0 ), + 'EXACT' => array( 117, 2, 1, 0 ), + 'TRIM' => array( 118, 1, 1, 0 ), + 'REPLACE' => array( 119, 4, 1, 0 ), + 'SUBSTITUTE' => array( 120, -1, 1, 0 ), + 'CODE' => array( 121, 1, 1, 0 ), + 'FIND' => array( 124, -1, 1, 0 ), + 'CELL' => array( 125, -1, 0, 1 ), + 'ISERR' => array( 126, 1, 1, 0 ), + 'ISTEXT' => array( 127, 1, 1, 0 ), + 'ISNUMBER' => array( 128, 1, 1, 0 ), + 'ISBLANK' => array( 129, 1, 1, 0 ), + 'T' => array( 130, 1, 0, 0 ), + 'N' => array( 131, 1, 0, 0 ), + 'DATEVALUE' => array( 140, 1, 1, 0 ), + 'TIMEVALUE' => array( 141, 1, 1, 0 ), + 'SLN' => array( 142, 3, 1, 0 ), + 'SYD' => array( 143, 4, 1, 0 ), + 'DDB' => array( 144, -1, 1, 0 ), + 'INDIRECT' => array( 148, -1, 1, 1 ), + 'CALL' => array( 150, -1, 1, 0 ), + 'CLEAN' => array( 162, 1, 1, 0 ), + 'MDETERM' => array( 163, 1, 2, 0 ), + 'MINVERSE' => array( 164, 1, 2, 0 ), + 'MMULT' => array( 165, 2, 2, 0 ), + 'IPMT' => array( 167, -1, 1, 0 ), + 'PPMT' => array( 168, -1, 1, 0 ), + 'COUNTA' => array( 169, -1, 0, 0 ), + 'PRODUCT' => array( 183, -1, 0, 0 ), + 'FACT' => array( 184, 1, 1, 0 ), + 'DPRODUCT' => array( 189, 3, 0, 0 ), + 'ISNONTEXT' => array( 190, 1, 1, 0 ), + 'STDEVP' => array( 193, -1, 0, 0 ), + 'VARP' => array( 194, -1, 0, 0 ), + 'DSTDEVP' => array( 195, 3, 0, 0 ), + 'DVARP' => array( 196, 3, 0, 0 ), + 'TRUNC' => array( 197, -1, 1, 0 ), + 'ISLOGICAL' => array( 198, 1, 1, 0 ), + 'DCOUNTA' => array( 199, 3, 0, 0 ), + 'USDOLLAR' => array( 204, -1, 1, 0 ), + 'FINDB' => array( 205, -1, 1, 0 ), + 'SEARCHB' => array( 206, -1, 1, 0 ), + 'REPLACEB' => array( 207, 4, 1, 0 ), + 'LEFTB' => array( 208, -1, 1, 0 ), + 'RIGHTB' => array( 209, -1, 1, 0 ), + 'MIDB' => array( 210, 3, 1, 0 ), + 'LENB' => array( 211, 1, 1, 0 ), + 'ROUNDUP' => array( 212, 2, 1, 0 ), + 'ROUNDDOWN' => array( 213, 2, 1, 0 ), + 'ASC' => array( 214, 1, 1, 0 ), + 'DBCS' => array( 215, 1, 1, 0 ), + 'RANK' => array( 216, -1, 0, 0 ), + 'ADDRESS' => array( 219, -1, 1, 0 ), + 'DAYS360' => array( 220, -1, 1, 0 ), + 'TODAY' => array( 221, 0, 1, 1 ), + 'VDB' => array( 222, -1, 1, 0 ), + 'MEDIAN' => array( 227, -1, 0, 0 ), + 'SUMPRODUCT' => array( 228, -1, 2, 0 ), + 'SINH' => array( 229, 1, 1, 0 ), + 'COSH' => array( 230, 1, 1, 0 ), + 'TANH' => array( 231, 1, 1, 0 ), + 'ASINH' => array( 232, 1, 1, 0 ), + 'ACOSH' => array( 233, 1, 1, 0 ), + 'ATANH' => array( 234, 1, 1, 0 ), + 'DGET' => array( 235, 3, 0, 0 ), + 'INFO' => array( 244, 1, 1, 1 ), + 'DB' => array( 247, -1, 1, 0 ), + 'FREQUENCY' => array( 252, 2, 0, 0 ), + 'ERROR.TYPE' => array( 261, 1, 1, 0 ), + 'REGISTER.ID' => array( 267, -1, 1, 0 ), + 'AVEDEV' => array( 269, -1, 0, 0 ), + 'BETADIST' => array( 270, -1, 1, 0 ), + 'GAMMALN' => array( 271, 1, 1, 0 ), + 'BETAINV' => array( 272, -1, 1, 0 ), + 'BINOMDIST' => array( 273, 4, 1, 0 ), + 'CHIDIST' => array( 274, 2, 1, 0 ), + 'CHIINV' => array( 275, 2, 1, 0 ), + 'COMBIN' => array( 276, 2, 1, 0 ), + 'CONFIDENCE' => array( 277, 3, 1, 0 ), + 'CRITBINOM' => array( 278, 3, 1, 0 ), + 'EVEN' => array( 279, 1, 1, 0 ), + 'EXPONDIST' => array( 280, 3, 1, 0 ), + 'FDIST' => array( 281, 3, 1, 0 ), + 'FINV' => array( 282, 3, 1, 0 ), + 'FISHER' => array( 283, 1, 1, 0 ), + 'FISHERINV' => array( 284, 1, 1, 0 ), + 'FLOOR' => array( 285, 2, 1, 0 ), + 'GAMMADIST' => array( 286, 4, 1, 0 ), + 'GAMMAINV' => array( 287, 3, 1, 0 ), + 'CEILING' => array( 288, 2, 1, 0 ), + 'HYPGEOMDIST' => array( 289, 4, 1, 0 ), + 'LOGNORMDIST' => array( 290, 3, 1, 0 ), + 'LOGINV' => array( 291, 3, 1, 0 ), + 'NEGBINOMDIST' => array( 292, 3, 1, 0 ), + 'NORMDIST' => array( 293, 4, 1, 0 ), + 'NORMSDIST' => array( 294, 1, 1, 0 ), + 'NORMINV' => array( 295, 3, 1, 0 ), + 'NORMSINV' => array( 296, 1, 1, 0 ), + 'STANDARDIZE' => array( 297, 3, 1, 0 ), + 'ODD' => array( 298, 1, 1, 0 ), + 'PERMUT' => array( 299, 2, 1, 0 ), + 'POISSON' => array( 300, 3, 1, 0 ), + 'TDIST' => array( 301, 3, 1, 0 ), + 'WEIBULL' => array( 302, 4, 1, 0 ), + 'SUMXMY2' => array( 303, 2, 2, 0 ), + 'SUMX2MY2' => array( 304, 2, 2, 0 ), + 'SUMX2PY2' => array( 305, 2, 2, 0 ), + 'CHITEST' => array( 306, 2, 2, 0 ), + 'CORREL' => array( 307, 2, 2, 0 ), + 'COVAR' => array( 308, 2, 2, 0 ), + 'FORECAST' => array( 309, 3, 2, 0 ), + 'FTEST' => array( 310, 2, 2, 0 ), + 'INTERCEPT' => array( 311, 2, 2, 0 ), + 'PEARSON' => array( 312, 2, 2, 0 ), + 'RSQ' => array( 313, 2, 2, 0 ), + 'STEYX' => array( 314, 2, 2, 0 ), + 'SLOPE' => array( 315, 2, 2, 0 ), + 'TTEST' => array( 316, 4, 2, 0 ), + 'PROB' => array( 317, -1, 2, 0 ), + 'DEVSQ' => array( 318, -1, 0, 0 ), + 'GEOMEAN' => array( 319, -1, 0, 0 ), + 'HARMEAN' => array( 320, -1, 0, 0 ), + 'SUMSQ' => array( 321, -1, 0, 0 ), + 'KURT' => array( 322, -1, 0, 0 ), + 'SKEW' => array( 323, -1, 0, 0 ), + 'ZTEST' => array( 324, -1, 0, 0 ), + 'LARGE' => array( 325, 2, 0, 0 ), + 'SMALL' => array( 326, 2, 0, 0 ), + 'QUARTILE' => array( 327, 2, 0, 0 ), + 'PERCENTILE' => array( 328, 2, 0, 0 ), + 'PERCENTRANK' => array( 329, -1, 0, 0 ), + 'MODE' => array( 330, -1, 2, 0 ), + 'TRIMMEAN' => array( 331, 2, 0, 0 ), + 'TINV' => array( 332, 2, 1, 0 ), + 'CONCATENATE' => array( 336, -1, 1, 0 ), + 'POWER' => array( 337, 2, 1, 0 ), + 'RADIANS' => array( 342, 1, 1, 0 ), + 'DEGREES' => array( 343, 1, 1, 0 ), + 'SUBTOTAL' => array( 344, -1, 0, 0 ), + 'SUMIF' => array( 345, -1, 0, 0 ), + 'COUNTIF' => array( 346, 2, 0, 0 ), + 'COUNTBLANK' => array( 347, 1, 0, 0 ), + 'ISPMT' => array( 350, 4, 1, 0 ), + 'DATEDIF' => array( 351, 3, 1, 0 ), + 'DATESTRING' => array( 352, 1, 1, 0 ), + 'NUMBERSTRING' => array( 353, 2, 1, 0 ), + 'ROMAN' => array( 354, -1, 1, 0 ), + 'GETPIVOTDATA' => array( 358, -1, 0, 0 ), + 'HYPERLINK' => array( 359, -1, 1, 0 ), + 'PHONETIC' => array( 360, 1, 0, 0 ), + 'AVERAGEA' => array( 361, -1, 0, 0 ), + 'MAXA' => array( 362, -1, 0, 0 ), + 'MINA' => array( 363, -1, 0, 0 ), + 'STDEVPA' => array( 364, -1, 0, 0 ), + 'VARPA' => array( 365, -1, 0, 0 ), + 'STDEVA' => array( 366, -1, 0, 0 ), + 'VARA' => array( 367, -1, 0, 0 ), + 'BAHTTEXT' => array( 368, 1, 0, 0 ), + ); + } - /** - * Convert a token to the proper ptg value. - * - * @access private - * @param mixed $token The token to convert. - * @return mixed the converted token on success - */ - function _convert($token) - { - if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $token)) { - return $this->_convertString($token); + /** + * Convert a token to the proper ptg value. + * + * @access private + * @param mixed $token The token to convert. + * @return mixed the converted token on success + */ + private function convert($token) + { + if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $token)) { + return $this->convertString($token); - } elseif (is_numeric($token)) { - return $this->_convertNumber($token); + } elseif (is_numeric($token)) { + return $this->convertNumber($token); - // match references like A1 or $A$1 - } elseif (preg_match('/^\$?([A-Ia-i]?[A-Za-z])\$?(\d+)$/',$token)) { - return $this->_convertRef2d($token); + // match references like A1 or $A$1 + } elseif (preg_match('/^\$?([A-Ia-i]?[A-Za-z])\$?(\d+)$/', $token)) { + return $this->convertRef2d($token); - // match external references like Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1 - } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u",$token)) { - return $this->_convertRef3d($token); + // match external references like Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1 + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u", $token)) { + return $this->convertRef3d($token); - // match external references like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1 - } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u",$token)) { - return $this->_convertRef3d($token); + // match external references like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1 + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?(\d+)$/u", $token)) { + return $this->convertRef3d($token); - // match ranges like A1:B2 or $A$1:$B$2 - } elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\:(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/', $token)) { - return $this->_convertRange2d($token); + // match ranges like A1:B2 or $A$1:$B$2 + } elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\:(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/', $token)) { + return $this->convertRange2d($token); - // match external ranges like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 - } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u",$token)) { - return $this->_convertRange3d($token); + // match external ranges like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u", $token)) { + return $this->convertRange3d($token); - // match external ranges like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 - } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u",$token)) { - return $this->_convertRange3d($token); + // match external ranges like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)\:\\$?([A-Ia-i]?[A-Za-z])?\\$?(\d+)$/u", $token)) { + return $this->convertRange3d($token); - // operators (including parentheses) - } elseif (isset($this->ptg[$token])) { - return pack("C", $this->ptg[$token]); + // operators (including parentheses) + } elseif (isset($this->ptg[$token])) { + return pack("C", $this->ptg[$token]); // match error codes - } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') { - return $this->_convertError($token); + } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') { + return $this->convertError($token); - // commented so argument number can be processed correctly. See toReversePolish(). - /*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/",$token)) - { - return($this->_convertFunction($token,$this->_func_args)); - }*/ + // commented so argument number can be processed correctly. See toReversePolish(). + /*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/", $token)) + { + return($this->convertFunction($token, $this->_func_args)); + }*/ - // if it's an argument, ignore the token (the argument remains) - } elseif ($token == 'arg') { - return ''; - } + // if it's an argument, ignore the token (the argument remains) + } elseif ($token == 'arg') { + return ''; + } - // TODO: use real error codes - throw new PHPExcel_Writer_Exception("Unknown token $token"); - } + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown token $token"); + } - /** - * Convert a number token to ptgInt or ptgNum - * - * @access private - * @param mixed $num an integer or double for conversion to its ptg value - */ - function _convertNumber($num) - { - // Integer in the range 0..2**16-1 - if ((preg_match("/^\d+$/", $num)) and ($num <= 65535)) { - return pack("Cv", $this->ptg['ptgInt'], $num); - } else { // A float - if (PHPExcel_Writer_Excel5_BIFFwriter::getByteOrder()) { // if it's Big Endian - $num = strrev($num); - } - return pack("Cd", $this->ptg['ptgNum'], $num); - } - } + /** + * Convert a number token to ptgInt or ptgNum + * + * @access private + * @param mixed $num an integer or double for conversion to its ptg value + */ + private function convertNumber($num) + { + // Integer in the range 0..2**16-1 + if ((preg_match("/^\d+$/", $num)) and ($num <= 65535)) { + return pack("Cv", $this->ptg['ptgInt'], $num); + } else { // A float + if (PHPExcel_Writer_Excel5_BIFFwriter::getByteOrder()) { // if it's Big Endian + $num = strrev($num); + } + return pack("Cd", $this->ptg['ptgNum'], $num); + } + } - /** - * Convert a string token to ptgStr - * - * @access private - * @param string $string A string for conversion to its ptg value. - * @return mixed the converted token on success - */ - function _convertString($string) - { - // chop away beggining and ending quotes - $string = substr($string, 1, strlen($string) - 2); - if (strlen($string) > 255) { - throw new PHPExcel_Writer_Exception("String is too long"); - } + /** + * Convert a string token to ptgStr + * + * @access private + * @param string $string A string for conversion to its ptg value. + * @return mixed the converted token on success + */ + private function convertString($string) + { + // chop away beggining and ending quotes + $string = substr($string, 1, strlen($string) - 2); + if (strlen($string) > 255) { + throw new PHPExcel_Writer_Exception("String is too long"); + } - return pack('C', $this->ptg['ptgStr']) . PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($string); - } + return pack('C', $this->ptg['ptgStr']) . PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($string); + } - /** - * Convert a function to a ptgFunc or ptgFuncVarV depending on the number of - * args that it takes. - * - * @access private - * @param string $token The name of the function for convertion to ptg value. - * @param integer $num_args The number of arguments the function receives. - * @return string The packed ptg for the function - */ - function _convertFunction($token, $num_args) - { - $args = $this->_functions[$token][1]; -// $volatile = $this->_functions[$token][3]; + /** + * Convert a function to a ptgFunc or ptgFuncVarV depending on the number of + * args that it takes. + * + * @access private + * @param string $token The name of the function for convertion to ptg value. + * @param integer $num_args The number of arguments the function receives. + * @return string The packed ptg for the function + */ + private function convertFunction($token, $num_args) + { + $args = $this->functions[$token][1]; +// $volatile = $this->functions[$token][3]; - // Fixed number of args eg. TIME($i,$j,$k). - if ($args >= 0) { - return pack("Cv", $this->ptg['ptgFuncV'], $this->_functions[$token][0]); - } - // Variable number of args eg. SUM($i,$j,$k, ..). - if ($args == -1) { - return pack("CCv", $this->ptg['ptgFuncVarV'], $num_args, $this->_functions[$token][0]); - } - } + // Fixed number of args eg. TIME($i, $j, $k). + if ($args >= 0) { + return pack("Cv", $this->ptg['ptgFuncV'], $this->functions[$token][0]); + } + // Variable number of args eg. SUM($i, $j, $k, ..). + if ($args == -1) { + return pack("CCv", $this->ptg['ptgFuncVarV'], $num_args, $this->functions[$token][0]); + } + } - /** - * Convert an Excel range such as A1:D4 to a ptgRefV. - * - * @access private - * @param string $range An Excel range in the A1:A2 - * @param int $class - */ - function _convertRange2d($range, $class=0) - { + /** + * Convert an Excel range such as A1:D4 to a ptgRefV. + * + * @access private + * @param string $range An Excel range in the A1:A2 + * @param int $class + */ + private function convertRange2d($range, $class = 0) + { - // TODO: possible class value 0,1,2 check Formula.pm - // Split the range into 2 cell refs - if (preg_match('/^(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)\:(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)$/', $range)) { - list($cell1, $cell2) = explode(':', $range); - } else { - // TODO: use real error codes - throw new PHPExcel_Writer_Exception("Unknown range separator"); - } + // TODO: possible class value 0,1,2 check Formula.pm + // Split the range into 2 cell refs + if (preg_match('/^(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)\:(\$)?([A-Ia-i]?[A-Za-z])(\$)?(\d+)$/', $range)) { + list($cell1, $cell2) = explode(':', $range); + } else { + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown range separator"); + } - // Convert the cell references - list($row1, $col1) = $this->_cellToPackedRowcol($cell1); - list($row2, $col2) = $this->_cellToPackedRowcol($cell2); + // Convert the cell references + list($row1, $col1) = $this->cellToPackedRowcol($cell1); + list($row2, $col2) = $this->cellToPackedRowcol($cell2); - // The ptg value depends on the class of the ptg. - if ($class == 0) { - $ptgArea = pack("C", $this->ptg['ptgArea']); - } elseif ($class == 1) { - $ptgArea = pack("C", $this->ptg['ptgAreaV']); - } elseif ($class == 2) { - $ptgArea = pack("C", $this->ptg['ptgAreaA']); - } else { - // TODO: use real error codes - throw new PHPExcel_Writer_Exception("Unknown class $class"); - } - return $ptgArea . $row1 . $row2 . $col1. $col2; - } + // The ptg value depends on the class of the ptg. + if ($class == 0) { + $ptgArea = pack("C", $this->ptg['ptgArea']); + } elseif ($class == 1) { + $ptgArea = pack("C", $this->ptg['ptgAreaV']); + } elseif ($class == 2) { + $ptgArea = pack("C", $this->ptg['ptgAreaA']); + } else { + // TODO: use real error codes + throw new PHPExcel_Writer_Exception("Unknown class $class"); + } + return $ptgArea . $row1 . $row2 . $col1. $col2; + } - /** - * Convert an Excel 3d range such as "Sheet1!A1:D4" or "Sheet1:Sheet2!A1:D4" to - * a ptgArea3d. - * - * @access private - * @param string $token An Excel range in the Sheet1!A1:A2 format. - * @return mixed The packed ptgArea3d token on success. - */ - function _convertRange3d($token) - { -// $class = 0; // formulas like Sheet1!$A$1:$A$2 in list type data validation need this class (0x3B) + /** + * Convert an Excel 3d range such as "Sheet1!A1:D4" or "Sheet1:Sheet2!A1:D4" to + * a ptgArea3d. + * + * @access private + * @param string $token An Excel range in the Sheet1!A1:A2 format. + * @return mixed The packed ptgArea3d token on success. + */ + private function convertRange3d($token) + { +// $class = 0; // formulas like Sheet1!$A$1:$A$2 in list type data validation need this class (0x3B) - // Split the ref at the ! symbol - list($ext_ref, $range) = explode('!', $token); + // Split the ref at the ! symbol + list($ext_ref, $range) = explode('!', $token); - // Convert the external reference part (different for BIFF8) - $ext_ref = $this->_getRefIndex($ext_ref); + // Convert the external reference part (different for BIFF8) + $ext_ref = $this->getRefIndex($ext_ref); - // Split the range into 2 cell refs - list($cell1, $cell2) = explode(':', $range); + // Split the range into 2 cell refs + list($cell1, $cell2) = explode(':', $range); - // Convert the cell references - if (preg_match("/^(\\$)?[A-Ia-i]?[A-Za-z](\\$)?(\d+)$/", $cell1)) { - list($row1, $col1) = $this->_cellToPackedRowcol($cell1); - list($row2, $col2) = $this->_cellToPackedRowcol($cell2); - } else { // It's a rows range (like 26:27) - list($row1, $col1, $row2, $col2) = $this->_rangeToPackedRange($cell1.':'.$cell2); - } + // Convert the cell references + if (preg_match("/^(\\$)?[A-Ia-i]?[A-Za-z](\\$)?(\d+)$/", $cell1)) { + list($row1, $col1) = $this->cellToPackedRowcol($cell1); + list($row2, $col2) = $this->cellToPackedRowcol($cell2); + } else { // It's a rows range (like 26:27) + list($row1, $col1, $row2, $col2) = $this->rangeToPackedRange($cell1.':'.$cell2); + } - // The ptg value depends on the class of the ptg. -// if ($class == 0) { - $ptgArea = pack("C", $this->ptg['ptgArea3d']); -// } elseif ($class == 1) { -// $ptgArea = pack("C", $this->ptg['ptgArea3dV']); -// } elseif ($class == 2) { -// $ptgArea = pack("C", $this->ptg['ptgArea3dA']); -// } else { -// throw new PHPExcel_Writer_Exception("Unknown class $class"); -// } + // The ptg value depends on the class of the ptg. +// if ($class == 0) { + $ptgArea = pack("C", $this->ptg['ptgArea3d']); +// } elseif ($class == 1) { +// $ptgArea = pack("C", $this->ptg['ptgArea3dV']); +// } elseif ($class == 2) { +// $ptgArea = pack("C", $this->ptg['ptgArea3dA']); +// } else { +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } - return $ptgArea . $ext_ref . $row1 . $row2 . $col1. $col2; - } + return $ptgArea . $ext_ref . $row1 . $row2 . $col1. $col2; + } - /** - * Convert an Excel reference such as A1, $B2, C$3 or $D$4 to a ptgRefV. - * - * @access private - * @param string $cell An Excel cell reference - * @return string The cell in packed() format with the corresponding ptg - */ - function _convertRef2d($cell) - { -// $class = 2; // as far as I know, this is magick. + /** + * Convert an Excel reference such as A1, $B2, C$3 or $D$4 to a ptgRefV. + * + * @access private + * @param string $cell An Excel cell reference + * @return string The cell in packed() format with the corresponding ptg + */ + private function convertRef2d($cell) + { +// $class = 2; // as far as I know, this is magick. - // Convert the cell reference - $cell_array = $this->_cellToPackedRowcol($cell); - list($row, $col) = $cell_array; + // Convert the cell reference + $cell_array = $this->cellToPackedRowcol($cell); + list($row, $col) = $cell_array; - // The ptg value depends on the class of the ptg. -// if ($class == 0) { -// $ptgRef = pack("C", $this->ptg['ptgRef']); -// } elseif ($class == 1) { -// $ptgRef = pack("C", $this->ptg['ptgRefV']); -// } elseif ($class == 2) { - $ptgRef = pack("C", $this->ptg['ptgRefA']); -// } else { -// // TODO: use real error codes -// throw new PHPExcel_Writer_Exception("Unknown class $class"); -// } - return $ptgRef.$row.$col; - } + // The ptg value depends on the class of the ptg. +// if ($class == 0) { +// $ptgRef = pack("C", $this->ptg['ptgRef']); +// } elseif ($class == 1) { +// $ptgRef = pack("C", $this->ptg['ptgRefV']); +// } elseif ($class == 2) { + $ptgRef = pack("C", $this->ptg['ptgRefA']); +// } else { +// // TODO: use real error codes +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } + return $ptgRef.$row.$col; + } - /** - * Convert an Excel 3d reference such as "Sheet1!A1" or "Sheet1:Sheet2!A1" to a - * ptgRef3d. - * - * @access private - * @param string $cell An Excel cell reference - * @return mixed The packed ptgRef3d token on success. - */ - function _convertRef3d($cell) - { -// $class = 2; // as far as I know, this is magick. + /** + * Convert an Excel 3d reference such as "Sheet1!A1" or "Sheet1:Sheet2!A1" to a + * ptgRef3d. + * + * @access private + * @param string $cell An Excel cell reference + * @return mixed The packed ptgRef3d token on success. + */ + private function convertRef3d($cell) + { +// $class = 2; // as far as I know, this is magick. - // Split the ref at the ! symbol - list($ext_ref, $cell) = explode('!', $cell); + // Split the ref at the ! symbol + list($ext_ref, $cell) = explode('!', $cell); - // Convert the external reference part (different for BIFF8) - $ext_ref = $this->_getRefIndex($ext_ref); + // Convert the external reference part (different for BIFF8) + $ext_ref = $this->getRefIndex($ext_ref); - // Convert the cell reference part - list($row, $col) = $this->_cellToPackedRowcol($cell); + // Convert the cell reference part + list($row, $col) = $this->cellToPackedRowcol($cell); - // The ptg value depends on the class of the ptg. -// if ($class == 0) { -// $ptgRef = pack("C", $this->ptg['ptgRef3d']); -// } elseif ($class == 1) { -// $ptgRef = pack("C", $this->ptg['ptgRef3dV']); -// } elseif ($class == 2) { - $ptgRef = pack("C", $this->ptg['ptgRef3dA']); -// } else { -// throw new PHPExcel_Writer_Exception("Unknown class $class"); -// } + // The ptg value depends on the class of the ptg. +// if ($class == 0) { +// $ptgRef = pack("C", $this->ptg['ptgRef3d']); +// } elseif ($class == 1) { +// $ptgRef = pack("C", $this->ptg['ptgRef3dV']); +// } elseif ($class == 2) { + $ptgRef = pack("C", $this->ptg['ptgRef3dA']); +// } else { +// throw new PHPExcel_Writer_Exception("Unknown class $class"); +// } - return $ptgRef . $ext_ref. $row . $col; - } + return $ptgRef . $ext_ref. $row . $col; + } /** * Convert an error code to a ptgErr * - * @access private - * @param string $errorCode The error code for conversion to its ptg value - * @return string The error code ptgErr + * @access private + * @param string $errorCode The error code for conversion to its ptg value + * @return string The error code ptgErr */ - function _convertError($errorCode) + private function convertError($errorCode) { - switch ($errorCode) { - case '#NULL!': return pack("C", 0x00); - case '#DIV/0!': return pack("C", 0x07); - case '#VALUE!': return pack("C", 0x0F); - case '#REF!': return pack("C", 0x17); - case '#NAME?': return pack("C", 0x1D); - case '#NUM!': return pack("C", 0x24); - case '#N/A': return pack("C", 0x2A); - } - return pack("C", 0xFF); + switch ($errorCode) { + case '#NULL!': + return pack("C", 0x00); + case '#DIV/0!': + return pack("C", 0x07); + case '#VALUE!': + return pack("C", 0x0F); + case '#REF!': + return pack("C", 0x17); + case '#NAME?': + return pack("C", 0x1D); + case '#NUM!': + return pack("C", 0x24); + case '#N/A': + return pack("C", 0x2A); + } + return pack("C", 0xFF); } - /** - * Convert the sheet name part of an external reference, for example "Sheet1" or - * "Sheet1:Sheet2", to a packed structure. - * - * @access private - * @param string $ext_ref The name of the external reference - * @return string The reference index in packed() format - */ - function _packExtRef($ext_ref) - { - $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. - $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. + /** + * Convert the sheet name part of an external reference, for example "Sheet1" or + * "Sheet1:Sheet2", to a packed structure. + * + * @access private + * @param string $ext_ref The name of the external reference + * @return string The reference index in packed() format + */ + private function packExtRef($ext_ref) + { + $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. + $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. - // Check if there is a sheet range eg., Sheet1:Sheet2. - if (preg_match("/:/", $ext_ref)) { - list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); + // Check if there is a sheet range eg., Sheet1:Sheet2. + if (preg_match("/:/", $ext_ref)) { + list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); - $sheet1 = $this->_getSheetIndex($sheet_name1); - if ($sheet1 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); - } - $sheet2 = $this->_getSheetIndex($sheet_name2); - if ($sheet2 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); - } + $sheet1 = $this->getSheetIndex($sheet_name1); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); + } + $sheet2 = $this->getSheetIndex($sheet_name2); + if ($sheet2 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); + } - // Reverse max and min sheet numbers if necessary - if ($sheet1 > $sheet2) { - list($sheet1, $sheet2) = array($sheet2, $sheet1); - } - } else { // Single sheet name only. - $sheet1 = $this->_getSheetIndex($ext_ref); - if ($sheet1 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); - } - $sheet2 = $sheet1; - } + // Reverse max and min sheet numbers if necessary + if ($sheet1 > $sheet2) { + list($sheet1, $sheet2) = array($sheet2, $sheet1); + } + } else { // Single sheet name only. + $sheet1 = $this->getSheetIndex($ext_ref); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); + } + $sheet2 = $sheet1; + } - // References are stored relative to 0xFFFF. - $offset = -1 - $sheet1; + // References are stored relative to 0xFFFF. + $offset = -1 - $sheet1; - return pack('vdvv', $offset, 0x00, $sheet1, $sheet2); - } + return pack('vdvv', $offset, 0x00, $sheet1, $sheet2); + } - /** - * Look up the REF index that corresponds to an external sheet name - * (or range). If it doesn't exist yet add it to the workbook's references - * array. It assumes all sheet names given must exist. - * - * @access private - * @param string $ext_ref The name of the external reference - * @return mixed The reference index in packed() format on success - */ - function _getRefIndex($ext_ref) - { - $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. - $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. - $ext_ref = str_replace('\'\'', '\'', $ext_ref); // Replace escaped '' with ' + /** + * Look up the REF index that corresponds to an external sheet name + * (or range). If it doesn't exist yet add it to the workbook's references + * array. It assumes all sheet names given must exist. + * + * @access private + * @param string $ext_ref The name of the external reference + * @return mixed The reference index in packed() format on success + */ + private function getRefIndex($ext_ref) + { + $ext_ref = preg_replace("/^'/", '', $ext_ref); // Remove leading ' if any. + $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. + $ext_ref = str_replace('\'\'', '\'', $ext_ref); // Replace escaped '' with ' - // Check if there is a sheet range eg., Sheet1:Sheet2. - if (preg_match("/:/", $ext_ref)) { - list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); + // Check if there is a sheet range eg., Sheet1:Sheet2. + if (preg_match("/:/", $ext_ref)) { + list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); - $sheet1 = $this->_getSheetIndex($sheet_name1); - if ($sheet1 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); - } - $sheet2 = $this->_getSheetIndex($sheet_name2); - if ($sheet2 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); - } + $sheet1 = $this->getSheetIndex($sheet_name1); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name1 in formula"); + } + $sheet2 = $this->getSheetIndex($sheet_name2); + if ($sheet2 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $sheet_name2 in formula"); + } - // Reverse max and min sheet numbers if necessary - if ($sheet1 > $sheet2) { - list($sheet1, $sheet2) = array($sheet2, $sheet1); - } - } else { // Single sheet name only. - $sheet1 = $this->_getSheetIndex($ext_ref); - if ($sheet1 == -1) { - throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); - } - $sheet2 = $sheet1; - } + // Reverse max and min sheet numbers if necessary + if ($sheet1 > $sheet2) { + list($sheet1, $sheet2) = array($sheet2, $sheet1); + } + } else { // Single sheet name only. + $sheet1 = $this->getSheetIndex($ext_ref); + if ($sheet1 == -1) { + throw new PHPExcel_Writer_Exception("Unknown sheet name $ext_ref in formula"); + } + $sheet2 = $sheet1; + } - // assume all references belong to this document - $supbook_index = 0x00; - $ref = pack('vvv', $supbook_index, $sheet1, $sheet2); - $total_references = count($this->_references); - $index = -1; - for ($i = 0; $i < $total_references; ++$i) { - if ($ref == $this->_references[$i]) { - $index = $i; - break; - } - } - // if REF was not found add it to references array - if ($index == -1) { - $this->_references[$total_references] = $ref; - $index = $total_references; - } + // assume all references belong to this document + $supbook_index = 0x00; + $ref = pack('vvv', $supbook_index, $sheet1, $sheet2); + $totalreferences = count($this->references); + $index = -1; + for ($i = 0; $i < $totalreferences; ++$i) { + if ($ref == $this->references[$i]) { + $index = $i; + break; + } + } + // if REF was not found add it to references array + if ($index == -1) { + $this->references[$totalreferences] = $ref; + $index = $totalreferences; + } - return pack('v', $index); - } + return pack('v', $index); + } - /** - * Look up the index that corresponds to an external sheet name. The hash of - * sheet names is updated by the addworksheet() method of the - * PHPExcel_Writer_Excel5_Workbook class. - * - * @access private - * @param string $sheet_name Sheet name - * @return integer The sheet index, -1 if the sheet was not found - */ - function _getSheetIndex($sheet_name) - { - if (!isset($this->_ext_sheets[$sheet_name])) { - return -1; - } else { - return $this->_ext_sheets[$sheet_name]; - } - } + /** + * Look up the index that corresponds to an external sheet name. The hash of + * sheet names is updated by the addworksheet() method of the + * PHPExcel_Writer_Excel5_Workbook class. + * + * @access private + * @param string $sheet_name Sheet name + * @return integer The sheet index, -1 if the sheet was not found + */ + private function getSheetIndex($sheet_name) + { + if (!isset($this->externalSheets[$sheet_name])) { + return -1; + } else { + return $this->externalSheets[$sheet_name]; + } + } - /** - * This method is used to update the array of sheet names. It is - * called by the addWorksheet() method of the - * PHPExcel_Writer_Excel5_Workbook class. - * - * @access public - * @see PHPExcel_Writer_Excel5_Workbook::addWorksheet() - * @param string $name The name of the worksheet being added - * @param integer $index The index of the worksheet being added - */ - function setExtSheet($name, $index) - { - $this->_ext_sheets[$name] = $index; - } + /** + * This method is used to update the array of sheet names. It is + * called by the addWorksheet() method of the + * PHPExcel_Writer_Excel5_Workbook class. + * + * @access public + * @see PHPExcel_Writer_Excel5_Workbook::addWorksheet() + * @param string $name The name of the worksheet being added + * @param integer $index The index of the worksheet being added + */ + public function setExtSheet($name, $index) + { + $this->externalSheets[$name] = $index; + } - /** - * pack() row and column into the required 3 or 4 byte format. - * - * @access private - * @param string $cell The Excel cell reference to be packed - * @return array Array containing the row and column in packed() format - */ - function _cellToPackedRowcol($cell) - { - $cell = strtoupper($cell); - list($row, $col, $row_rel, $col_rel) = $this->_cellToRowcol($cell); - if ($col >= 256) { - throw new PHPExcel_Writer_Exception("Column in: $cell greater than 255"); - } - if ($row >= 65536) { - throw new PHPExcel_Writer_Exception("Row in: $cell greater than 65536 "); - } + /** + * pack() row and column into the required 3 or 4 byte format. + * + * @access private + * @param string $cell The Excel cell reference to be packed + * @return array Array containing the row and column in packed() format + */ + private function cellToPackedRowcol($cell) + { + $cell = strtoupper($cell); + list($row, $col, $row_rel, $col_rel) = $this->cellToRowcol($cell); + if ($col >= 256) { + throw new PHPExcel_Writer_Exception("Column in: $cell greater than 255"); + } + if ($row >= 65536) { + throw new PHPExcel_Writer_Exception("Row in: $cell greater than 65536 "); + } - // Set the high bits to indicate if row or col are relative. - $col |= $col_rel << 14; - $col |= $row_rel << 15; - $col = pack('v', $col); + // Set the high bits to indicate if row or col are relative. + $col |= $col_rel << 14; + $col |= $row_rel << 15; + $col = pack('v', $col); - $row = pack('v', $row); + $row = pack('v', $row); - return array($row, $col); - } + return array($row, $col); + } - /** - * pack() row range into the required 3 or 4 byte format. - * Just using maximum col/rows, which is probably not the correct solution - * - * @access private - * @param string $range The Excel range to be packed - * @return array Array containing (row1,col1,row2,col2) in packed() format - */ - function _rangeToPackedRange($range) - { - preg_match('/(\$)?(\d+)\:(\$)?(\d+)/', $range, $match); - // return absolute rows if there is a $ in the ref - $row1_rel = empty($match[1]) ? 1 : 0; - $row1 = $match[2]; - $row2_rel = empty($match[3]) ? 1 : 0; - $row2 = $match[4]; - // Convert 1-index to zero-index - --$row1; - --$row2; - // Trick poor inocent Excel - $col1 = 0; - $col2 = 65535; // FIXME: maximum possible value for Excel 5 (change this!!!) + /** + * pack() row range into the required 3 or 4 byte format. + * Just using maximum col/rows, which is probably not the correct solution + * + * @access private + * @param string $range The Excel range to be packed + * @return array Array containing (row1,col1,row2,col2) in packed() format + */ + private function rangeToPackedRange($range) + { + preg_match('/(\$)?(\d+)\:(\$)?(\d+)/', $range, $match); + // return absolute rows if there is a $ in the ref + $row1_rel = empty($match[1]) ? 1 : 0; + $row1 = $match[2]; + $row2_rel = empty($match[3]) ? 1 : 0; + $row2 = $match[4]; + // Convert 1-index to zero-index + --$row1; + --$row2; + // Trick poor inocent Excel + $col1 = 0; + $col2 = 65535; // FIXME: maximum possible value for Excel 5 (change this!!!) - // FIXME: this changes for BIFF8 - if (($row1 >= 65536) or ($row2 >= 65536)) { - throw new PHPExcel_Writer_Exception("Row in: $range greater than 65536 "); - } + // FIXME: this changes for BIFF8 + if (($row1 >= 65536) or ($row2 >= 65536)) { + throw new PHPExcel_Writer_Exception("Row in: $range greater than 65536 "); + } - // Set the high bits to indicate if rows are relative. - $col1 |= $row1_rel << 15; - $col2 |= $row2_rel << 15; - $col1 = pack('v', $col1); - $col2 = pack('v', $col2); + // Set the high bits to indicate if rows are relative. + $col1 |= $row1_rel << 15; + $col2 |= $row2_rel << 15; + $col1 = pack('v', $col1); + $col2 = pack('v', $col2); - $row1 = pack('v', $row1); - $row2 = pack('v', $row2); + $row1 = pack('v', $row1); + $row2 = pack('v', $row2); - return array($row1, $col1, $row2, $col2); - } + return array($row1, $col1, $row2, $col2); + } - /** - * Convert an Excel cell reference such as A1 or $B2 or C$3 or $D$4 to a zero - * indexed row and column number. Also returns two (0,1) values to indicate - * whether the row or column are relative references. - * - * @access private - * @param string $cell The Excel cell reference in A1 format. - * @return array - */ - function _cellToRowcol($cell) - { - preg_match('/(\$)?([A-I]?[A-Z])(\$)?(\d+)/',$cell,$match); - // return absolute column if there is a $ in the ref - $col_rel = empty($match[1]) ? 1 : 0; - $col_ref = $match[2]; - $row_rel = empty($match[3]) ? 1 : 0; - $row = $match[4]; + /** + * Convert an Excel cell reference such as A1 or $B2 or C$3 or $D$4 to a zero + * indexed row and column number. Also returns two (0,1) values to indicate + * whether the row or column are relative references. + * + * @access private + * @param string $cell The Excel cell reference in A1 format. + * @return array + */ + private function cellToRowcol($cell) + { + preg_match('/(\$)?([A-I]?[A-Z])(\$)?(\d+)/', $cell, $match); + // return absolute column if there is a $ in the ref + $col_rel = empty($match[1]) ? 1 : 0; + $col_ref = $match[2]; + $row_rel = empty($match[3]) ? 1 : 0; + $row = $match[4]; - // Convert base26 column string to a number. - $expn = strlen($col_ref) - 1; - $col = 0; - $col_ref_length = strlen($col_ref); - for ($i = 0; $i < $col_ref_length; ++$i) { - $col += (ord($col_ref{$i}) - 64) * pow(26, $expn); - --$expn; - } + // Convert base26 column string to a number. + $expn = strlen($col_ref) - 1; + $col = 0; + $col_ref_length = strlen($col_ref); + for ($i = 0; $i < $col_ref_length; ++$i) { + $col += (ord($col_ref{$i}) - 64) * pow(26, $expn); + --$expn; + } - // Convert 1-index to zero-index - --$row; - --$col; + // Convert 1-index to zero-index + --$row; + --$col; - return array($row, $col, $row_rel, $col_rel); - } + return array($row, $col, $row_rel, $col_rel); + } - /** - * Advance to the next valid token. - * - * @access private - */ - function _advance() - { - $i = $this->_current_char; - $formula_length = strlen($this->_formula); - // eat up white spaces - if ($i < $formula_length) { - while ($this->_formula{$i} == " ") { - ++$i; - } + /** + * Advance to the next valid token. + * + * @access private + */ + private function advance() + { + $i = $this->currentCharacter; + $formula_length = strlen($this->formula); + // eat up white spaces + if ($i < $formula_length) { + while ($this->formula{$i} == " ") { + ++$i; + } - if ($i < ($formula_length - 1)) { - $this->_lookahead = $this->_formula{$i+1}; - } - $token = ''; - } + if ($i < ($formula_length - 1)) { + $this->lookAhead = $this->formula{$i+1}; + } + $token = ''; + } - while ($i < $formula_length) { - $token .= $this->_formula{$i}; + while ($i < $formula_length) { + $token .= $this->formula{$i}; - if ($i < ($formula_length - 1)) { - $this->_lookahead = $this->_formula{$i+1}; - } else { - $this->_lookahead = ''; - } + if ($i < ($formula_length - 1)) { + $this->lookAhead = $this->formula{$i+1}; + } else { + $this->lookAhead = ''; + } - if ($this->_match($token) != '') { - //if ($i < strlen($this->_formula) - 1) { - // $this->_lookahead = $this->_formula{$i+1}; - //} - $this->_current_char = $i + 1; - $this->_current_token = $token; - return 1; - } + if ($this->match($token) != '') { + //if ($i < strlen($this->formula) - 1) { + // $this->lookAhead = $this->formula{$i+1}; + //} + $this->currentCharacter = $i + 1; + $this->currentToken = $token; + return 1; + } - if ($i < ($formula_length - 2)) { - $this->_lookahead = $this->_formula{$i+2}; - } else { // if we run out of characters _lookahead becomes empty - $this->_lookahead = ''; - } - ++$i; - } - //die("Lexical error ".$this->_current_char); - } + if ($i < ($formula_length - 2)) { + $this->lookAhead = $this->formula{$i+2}; + } else { // if we run out of characters lookAhead becomes empty + $this->lookAhead = ''; + } + ++$i; + } + //die("Lexical error ".$this->currentCharacter); + } - /** - * Checks if it's a valid token. - * - * @access private - * @param mixed $token The token to check. - * @return mixed The checked token or false on failure - */ - function _match($token) - { - switch($token) { - case "+": - case "-": - case "*": - case "/": - case "(": - case ")": - case ",": - case ";": - case ">=": - case "<=": - case "=": - case "<>": - case "^": - case "&": - case "%": - return $token; - break; - case ">": - if ($this->_lookahead == '=') { // it's a GE token - break; - } - return $token; - break; - case "<": - // it's a LE or a NE token - if (($this->_lookahead == '=') or ($this->_lookahead == '>')) { - break; - } - return $token; - break; - default: - // if it's a reference A1 or $A$1 or $A1 or A$1 - if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/',$token) and - !preg_match("/[0-9]/",$this->_lookahead) and - ($this->_lookahead != ':') and ($this->_lookahead != '.') and - ($this->_lookahead != '!')) - { - return $token; - } - // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) - elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$token) and - !preg_match("/[0-9]/",$this->_lookahead) and - ($this->_lookahead != ':') and ($this->_lookahead != '.')) - { - return $token; - } - // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) - elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$token) and - !preg_match("/[0-9]/",$this->_lookahead) and - ($this->_lookahead != ':') and ($this->_lookahead != '.')) - { - return $token; - } - // if it's a range A1:A2 or $A$1:$A$2 - elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/', $token) and - !preg_match("/[0-9]/",$this->_lookahead)) - { - return $token; - } - // If it's an external range like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 - elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$token) and - !preg_match("/[0-9]/",$this->_lookahead)) - { - return $token; - } - // If it's an external range like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 - elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$token) and - !preg_match("/[0-9]/",$this->_lookahead)) - { - return $token; - } - // If it's a number (check that it's not a sheet name or range) - elseif (is_numeric($token) and - (!is_numeric($token.$this->_lookahead) or ($this->_lookahead == '')) and - ($this->_lookahead != '!') and ($this->_lookahead != ':')) - { - return $token; - } - // If it's a string (of maximum 255 characters) - elseif (preg_match("/\"([^\"]|\"\"){0,255}\"/",$token) and $this->_lookahead != '"' and (substr_count($token, '"')%2 == 0)) - { - return $token; - } - // If it's an error code - elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') - { - return $token; - } - // if it's a function call - elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i",$token) and ($this->_lookahead == "(")) - { - return $token; - } - // It's an argument of some description (e.g. a named range), - // precise nature yet to be determined - elseif(substr($token,-1) == ')') { - return $token; - } - return ''; - } - } + /** + * Checks if it's a valid token. + * + * @access private + * @param mixed $token The token to check. + * @return mixed The checked token or false on failure + */ + private function match($token) + { + switch ($token) { + case "+": + case "-": + case "*": + case "/": + case "(": + case ")": + case ",": + case ";": + case ">=": + case "<=": + case "=": + case "<>": + case "^": + case "&": + case "%": + return $token; + break; + case ">": + if ($this->lookAhead == '=') { // it's a GE token + break; + } + return $token; + break; + case "<": + // it's a LE or a NE token + if (($this->lookAhead == '=') or ($this->lookAhead == '>')) { + break; + } + return $token; + break; + default: + // if it's a reference A1 or $A$1 or $A1 or A$1 + if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/', $token) and !preg_match("/[0-9]/", $this->lookAhead) and ($this->lookAhead != ':') and ($this->lookAhead != '.') and ($this->lookAhead != '!')) { + return $token; + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u", $token) and !preg_match("/[0-9]/", $this->lookAhead) and ($this->lookAhead != ':') and ($this->lookAhead != '.')) { + // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) + return $token; + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u", $token) and !preg_match("/[0-9]/", $this->lookAhead) and ($this->lookAhead != ':') and ($this->lookAhead != '.')) { + // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) + return $token; + } elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/', $token) && !preg_match("/[0-9]/", $this->lookAhead)) { + // if it's a range A1:A2 or $A$1:$A$2 + return $token; + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u", $token) and !preg_match("/[0-9]/", $this->lookAhead)) { + // If it's an external range like Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2 + return $token; + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u", $token) and !preg_match("/[0-9]/", $this->lookAhead)) { + // If it's an external range like 'Sheet1'!A1:B2 or 'Sheet1:Sheet2'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1:Sheet2'!$A$1:$B$2 + return $token; + } elseif (is_numeric($token) and (!is_numeric($token.$this->lookAhead) or ($this->lookAhead == '')) and ($this->lookAhead != '!') and ($this->lookAhead != ':')) { + // If it's a number (check that it's not a sheet name or range) + return $token; + } elseif (preg_match("/\"([^\"]|\"\"){0,255}\"/", $token) and $this->lookAhead != '"' and (substr_count($token, '"')%2 == 0)) { + // If it's a string (of maximum 255 characters) + return $token; + } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $token) or $token == '#N/A') { + // If it's an error code + return $token; + } elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i", $token) and ($this->lookAhead == "(")) { + // if it's a function call + return $token; + } elseif (substr($token, -1) == ')') { + // It's an argument of some description (e.g. a named range), + // precise nature yet to be determined + return $token; + } + return ''; + } + } - /** - * The parsing method. It parses a formula. - * - * @access public - * @param string $formula The formula to parse, without the initial equal - * sign (=). - * @return mixed true on success - */ - function parse($formula) - { - $this->_current_char = 0; - $this->_formula = $formula; - $this->_lookahead = isset($formula{1}) ? $formula{1} : ''; - $this->_advance(); - $this->_parse_tree = $this->_condition(); - return true; - } + /** + * The parsing method. It parses a formula. + * + * @access public + * @param string $formula The formula to parse, without the initial equal + * sign (=). + * @return mixed true on success + */ + public function parse($formula) + { + $this->currentCharacter = 0; + $this->formula = $formula; + $this->lookAhead = isset($formula{1}) ? $formula{1} : ''; + $this->advance(); + $this->parseTree = $this->condition(); + return true; + } - /** - * It parses a condition. It assumes the following rule: - * Cond -> Expr [(">" | "<") Expr] - * - * @access private - * @return mixed The parsed ptg'd tree on success - */ - function _condition() - { - $result = $this->_expression(); - if ($this->_current_token == "<") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgLT', $result, $result2); - } elseif ($this->_current_token == ">") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgGT', $result, $result2); - } elseif ($this->_current_token == "<=") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgLE', $result, $result2); - } elseif ($this->_current_token == ">=") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgGE', $result, $result2); - } elseif ($this->_current_token == "=") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgEQ', $result, $result2); - } elseif ($this->_current_token == "<>") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgNE', $result, $result2); - } elseif ($this->_current_token == "&") { - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgConcat', $result, $result2); - } - return $result; - } + /** + * It parses a condition. It assumes the following rule: + * Cond -> Expr [(">" | "<") Expr] + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + private function condition() + { + $result = $this->expression(); + if ($this->currentToken == "<") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgLT', $result, $result2); + } elseif ($this->currentToken == ">") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgGT', $result, $result2); + } elseif ($this->currentToken == "<=") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgLE', $result, $result2); + } elseif ($this->currentToken == ">=") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgGE', $result, $result2); + } elseif ($this->currentToken == "=") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgEQ', $result, $result2); + } elseif ($this->currentToken == "<>") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgNE', $result, $result2); + } elseif ($this->currentToken == "&") { + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgConcat', $result, $result2); + } + return $result; + } - /** - * It parses a expression. It assumes the following rule: - * Expr -> Term [("+" | "-") Term] - * -> "string" - * -> "-" Term : Negative value - * -> "+" Term : Positive value - * -> Error code - * - * @access private - * @return mixed The parsed ptg'd tree on success - */ - function _expression() - { - // If it's a string return a string node - if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $this->_current_token)) { - $tmp = str_replace('""', '"', $this->_current_token); - if (($tmp == '"') || ($tmp == '')) $tmp = '""'; // Trap for "" that has been used for an empty string - $result = $this->_createTree($tmp, '', ''); - $this->_advance(); - return $result; + /** + * It parses a expression. It assumes the following rule: + * Expr -> Term [("+" | "-") Term] + * -> "string" + * -> "-" Term : Negative value + * -> "+" Term : Positive value + * -> Error code + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + private function expression() + { + // If it's a string return a string node + if (preg_match("/\"([^\"]|\"\"){0,255}\"/", $this->currentToken)) { + $tmp = str_replace('""', '"', $this->currentToken); + if (($tmp == '"') || ($tmp == '')) { + // Trap for "" that has been used for an empty string + $tmp = '""'; + } + $result = $this->createTree($tmp, '', ''); + $this->advance(); + return $result; // If it's an error code - } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $this->_current_token) or $this->_current_token == '#N/A'){ - $result = $this->_createTree($this->_current_token, 'ptgErr', ''); - $this->_advance(); - return $result; - // If it's a negative value - } elseif ($this->_current_token == "-") { - // catch "-" Term - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgUminus', $result2, ''); - return $result; + } elseif (preg_match("/^#[A-Z0\/]{3,5}[!?]{1}$/", $this->currentToken) or $this->currentToken == '#N/A') { + $result = $this->createTree($this->currentToken, 'ptgErr', ''); + $this->advance(); + return $result; + // If it's a negative value + } elseif ($this->currentToken == "-") { + // catch "-" Term + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgUminus', $result2, ''); + return $result; // If it's a positive value - } elseif ($this->_current_token == "+") { - // catch "+" Term - $this->_advance(); - $result2 = $this->_expression(); - $result = $this->_createTree('ptgUplus', $result2, ''); - return $result; - } - $result = $this->_term(); - while (($this->_current_token == "+") or - ($this->_current_token == "-") or - ($this->_current_token == "^")) { - /**/ - if ($this->_current_token == "+") { - $this->_advance(); - $result2 = $this->_term(); - $result = $this->_createTree('ptgAdd', $result, $result2); - } elseif ($this->_current_token == "-") { - $this->_advance(); - $result2 = $this->_term(); - $result = $this->_createTree('ptgSub', $result, $result2); - } else { - $this->_advance(); - $result2 = $this->_term(); - $result = $this->_createTree('ptgPower', $result, $result2); - } - } - return $result; - } + } elseif ($this->currentToken == "+") { + // catch "+" Term + $this->advance(); + $result2 = $this->expression(); + $result = $this->createTree('ptgUplus', $result2, ''); + return $result; + } + $result = $this->term(); + while (($this->currentToken == "+") or + ($this->currentToken == "-") or + ($this->currentToken == "^")) { + /**/ + if ($this->currentToken == "+") { + $this->advance(); + $result2 = $this->term(); + $result = $this->createTree('ptgAdd', $result, $result2); + } elseif ($this->currentToken == "-") { + $this->advance(); + $result2 = $this->term(); + $result = $this->createTree('ptgSub', $result, $result2); + } else { + $this->advance(); + $result2 = $this->term(); + $result = $this->createTree('ptgPower', $result, $result2); + } + } + return $result; + } - /** - * This function just introduces a ptgParen element in the tree, so that Excel - * doesn't get confused when working with a parenthesized formula afterwards. - * - * @access private - * @see _fact() - * @return array The parsed ptg'd tree - */ - function _parenthesizedExpression() - { - $result = $this->_createTree('ptgParen', $this->_expression(), ''); - return $result; - } + /** + * This function just introduces a ptgParen element in the tree, so that Excel + * doesn't get confused when working with a parenthesized formula afterwards. + * + * @access private + * @see fact() + * @return array The parsed ptg'd tree + */ + private function parenthesizedExpression() + { + $result = $this->createTree('ptgParen', $this->expression(), ''); + return $result; + } - /** - * It parses a term. It assumes the following rule: - * Term -> Fact [("*" | "/") Fact] - * - * @access private - * @return mixed The parsed ptg'd tree on success - */ - function _term() - { - $result = $this->_fact(); - while (($this->_current_token == "*") or - ($this->_current_token == "/")) { - /**/ - if ($this->_current_token == "*") { - $this->_advance(); - $result2 = $this->_fact(); - $result = $this->_createTree('ptgMul', $result, $result2); - } else { - $this->_advance(); - $result2 = $this->_fact(); - $result = $this->_createTree('ptgDiv', $result, $result2); - } - } - return $result; - } + /** + * It parses a term. It assumes the following rule: + * Term -> Fact [("*" | "/") Fact] + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + private function term() + { + $result = $this->fact(); + while (($this->currentToken == "*") or + ($this->currentToken == "/")) { + /**/ + if ($this->currentToken == "*") { + $this->advance(); + $result2 = $this->fact(); + $result = $this->createTree('ptgMul', $result, $result2); + } else { + $this->advance(); + $result2 = $this->fact(); + $result = $this->createTree('ptgDiv', $result, $result2); + } + } + return $result; + } - /** - * It parses a factor. It assumes the following rule: - * Fact -> ( Expr ) - * | CellRef - * | CellRange - * | Number - * | Function - * - * @access private - * @return mixed The parsed ptg'd tree on success - */ - function _fact() - { - if ($this->_current_token == "(") { - $this->_advance(); // eat the "(" - $result = $this->_parenthesizedExpression(); - if ($this->_current_token != ")") { - throw new PHPExcel_Writer_Exception("')' token expected."); - } - $this->_advance(); // eat the ")" - return $result; - } - // if it's a reference - if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/',$this->_current_token)) - { - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) - elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$this->_current_token)) - { - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) - elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u",$this->_current_token)) - { - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // if it's a range A1:B2 or $A$1:$B$2 - elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/',$this->_current_token) or - preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+\.\.(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/',$this->_current_token)) - { - // must be an error? - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // If it's an external range (Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2) - elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$this->_current_token)) - { - // must be an error? - //$result = $this->_current_token; - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // If it's an external range ('Sheet1'!A1:B2 or 'Sheet1'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1'!$A$1:$B$2) - elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u",$this->_current_token)) - { - // must be an error? - //$result = $this->_current_token; - $result = $this->_createTree($this->_current_token, '', ''); - $this->_advance(); - return $result; - } - // If it's a number or a percent - elseif (is_numeric($this->_current_token)) - { - if($this->_lookahead == '%'){ - $result = $this->_createTree('ptgPercent', $this->_current_token, ''); - $this->_advance(); // Skip the percentage operator once we've pre-built that tree - } else { - $result = $this->_createTree($this->_current_token, '', ''); - } - $this->_advance(); - return $result; - } - // if it's a function call - elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i",$this->_current_token)) - { - $result = $this->_func(); - return $result; - } - throw new PHPExcel_Writer_Exception("Syntax error: ".$this->_current_token. - ", lookahead: ".$this->_lookahead. - ", current char: ".$this->_current_char); - } + /** + * It parses a factor. It assumes the following rule: + * Fact -> ( Expr ) + * | CellRef + * | CellRange + * | Number + * | Function + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + private function fact() + { + if ($this->currentToken == "(") { + $this->advance(); // eat the "(" + $result = $this->parenthesizedExpression(); + if ($this->currentToken != ")") { + throw new PHPExcel_Writer_Exception("')' token expected."); + } + $this->advance(); // eat the ")" + return $result; + } + // if it's a reference + if (preg_match('/^\$?[A-Ia-i]?[A-Za-z]\$?[0-9]+$/', $this->currentToken)) { + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u", $this->currentToken)) { + // If it's an external reference (Sheet1!A1 or Sheet1:Sheet2!A1 or Sheet1!$A$1 or Sheet1:Sheet2!$A$1) + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?[A-Ia-i]?[A-Za-z]\\$?[0-9]+$/u", $this->currentToken)) { + // If it's an external reference ('Sheet1'!A1 or 'Sheet1:Sheet2'!A1 or 'Sheet1'!$A$1 or 'Sheet1:Sheet2'!$A$1) + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+:(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/', $this->currentToken) or + preg_match('/^(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+\.\.(\$)?[A-Ia-i]?[A-Za-z](\$)?[0-9]+$/', $this->currentToken)) { + // if it's a range A1:B2 or $A$1:$B$2 + // must be an error? + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (preg_match("/^" . self::REGEX_SHEET_TITLE_UNQUOTED . "(\:" . self::REGEX_SHEET_TITLE_UNQUOTED . ")?\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u", $this->currentToken)) { + // If it's an external range (Sheet1!A1:B2 or Sheet1:Sheet2!A1:B2 or Sheet1!$A$1:$B$2 or Sheet1:Sheet2!$A$1:$B$2) + // must be an error? + //$result = $this->currentToken; + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (preg_match("/^'" . self::REGEX_SHEET_TITLE_QUOTED . "(\:" . self::REGEX_SHEET_TITLE_QUOTED . ")?'\!\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+:\\$?([A-Ia-i]?[A-Za-z])?\\$?[0-9]+$/u", $this->currentToken)) { + // If it's an external range ('Sheet1'!A1:B2 or 'Sheet1'!A1:B2 or 'Sheet1'!$A$1:$B$2 or 'Sheet1'!$A$1:$B$2) + // must be an error? + //$result = $this->currentToken; + $result = $this->createTree($this->currentToken, '', ''); + $this->advance(); + return $result; + } elseif (is_numeric($this->currentToken)) { + // If it's a number or a percent + if ($this->lookAhead == '%') { + $result = $this->createTree('ptgPercent', $this->currentToken, ''); + $this->advance(); // Skip the percentage operator once we've pre-built that tree + } else { + $result = $this->createTree($this->currentToken, '', ''); + } + $this->advance(); + return $result; + } elseif (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/i", $this->currentToken)) { + // if it's a function call + $result = $this->func(); + return $result; + } + throw new PHPExcel_Writer_Exception("Syntax error: ".$this->currentToken.", lookahead: ".$this->lookAhead.", current char: ".$this->currentCharacter); + } - /** - * It parses a function call. It assumes the following rule: - * Func -> ( Expr [,Expr]* ) - * - * @access private - * @return mixed The parsed ptg'd tree on success - */ - function _func() - { - $num_args = 0; // number of arguments received - $function = strtoupper($this->_current_token); - $result = ''; // initialize result - $this->_advance(); - $this->_advance(); // eat the "(" - while ($this->_current_token != ')') { - /**/ - if ($num_args > 0) { - if ($this->_current_token == "," or - $this->_current_token == ";") - { - $this->_advance(); // eat the "," or ";" - } else { - throw new PHPExcel_Writer_Exception("Syntax error: comma expected in ". - "function $function, arg #{$num_args}"); - } - $result2 = $this->_condition(); - $result = $this->_createTree('arg', $result, $result2); - } else { // first argument - $result2 = $this->_condition(); - $result = $this->_createTree('arg', '', $result2); - } - ++$num_args; - } - if (!isset($this->_functions[$function])) { - throw new PHPExcel_Writer_Exception("Function $function() doesn't exist"); - } - $args = $this->_functions[$function][1]; - // If fixed number of args eg. TIME($i,$j,$k). Check that the number of args is valid. - if (($args >= 0) and ($args != $num_args)) { - throw new PHPExcel_Writer_Exception("Incorrect number of arguments in function $function() "); - } + /** + * It parses a function call. It assumes the following rule: + * Func -> ( Expr [,Expr]* ) + * + * @access private + * @return mixed The parsed ptg'd tree on success + */ + private function func() + { + $num_args = 0; // number of arguments received + $function = strtoupper($this->currentToken); + $result = ''; // initialize result + $this->advance(); + $this->advance(); // eat the "(" + while ($this->currentToken != ')') { + /**/ + if ($num_args > 0) { + if ($this->currentToken == "," || $this->currentToken == ";") { + $this->advance(); // eat the "," or ";" + } else { + throw new PHPExcel_Writer_Exception("Syntax error: comma expected in function $function, arg #{$num_args}"); + } + $result2 = $this->condition(); + $result = $this->createTree('arg', $result, $result2); + } else { // first argument + $result2 = $this->condition(); + $result = $this->createTree('arg', '', $result2); + } + ++$num_args; + } + if (!isset($this->functions[$function])) { + throw new PHPExcel_Writer_Exception("Function $function() doesn't exist"); + } + $args = $this->functions[$function][1]; + // If fixed number of args eg. TIME($i, $j, $k). Check that the number of args is valid. + if (($args >= 0) and ($args != $num_args)) { + throw new PHPExcel_Writer_Exception("Incorrect number of arguments in function $function() "); + } - $result = $this->_createTree($function, $result, $num_args); - $this->_advance(); // eat the ")" - return $result; - } + $result = $this->createTree($function, $result, $num_args); + $this->advance(); // eat the ")" + return $result; + } - /** - * Creates a tree. In fact an array which may have one or two arrays (sub-trees) - * as elements. - * - * @access private - * @param mixed $value The value of this node. - * @param mixed $left The left array (sub-tree) or a final node. - * @param mixed $right The right array (sub-tree) or a final node. - * @return array A tree - */ - function _createTree($value, $left, $right) - { - return array('value' => $value, 'left' => $left, 'right' => $right); - } + /** + * Creates a tree. In fact an array which may have one or two arrays (sub-trees) + * as elements. + * + * @access private + * @param mixed $value The value of this node. + * @param mixed $left The left array (sub-tree) or a final node. + * @param mixed $right The right array (sub-tree) or a final node. + * @return array A tree + */ + private function createTree($value, $left, $right) + { + return array('value' => $value, 'left' => $left, 'right' => $right); + } - /** - * Builds a string containing the tree in reverse polish notation (What you - * would use in a HP calculator stack). - * The following tree: - * - * + - * / \ - * 2 3 - * - * produces: "23+" - * - * The following tree: - * - * + - * / \ - * 3 * - * / \ - * 6 A1 - * - * produces: "36A1*+" - * - * In fact all operands, functions, references, etc... are written as ptg's - * - * @access public - * @param array $tree The optional tree to convert. - * @return string The tree in reverse polish notation - */ - function toReversePolish($tree = array()) - { - $polish = ""; // the string we are going to return - if (empty($tree)) { // If it's the first call use _parse_tree - $tree = $this->_parse_tree; - } - - if (is_array($tree['left'])) { - $converted_tree = $this->toReversePolish($tree['left']); - $polish .= $converted_tree; - } elseif ($tree['left'] != '') { // It's a final node - $converted_tree = $this->_convert($tree['left']); - $polish .= $converted_tree; - } - if (is_array($tree['right'])) { - $converted_tree = $this->toReversePolish($tree['right']); - $polish .= $converted_tree; - } elseif ($tree['right'] != '') { // It's a final node - $converted_tree = $this->_convert($tree['right']); - $polish .= $converted_tree; - } - // if it's a function convert it here (so we can set it's arguments) - if (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/",$tree['value']) and - !preg_match('/^([A-Ia-i]?[A-Za-z])(\d+)$/',$tree['value']) and - !preg_match("/^[A-Ia-i]?[A-Za-z](\d+)\.\.[A-Ia-i]?[A-Za-z](\d+)$/",$tree['value']) and - !is_numeric($tree['value']) and - !isset($this->ptg[$tree['value']])) - { - // left subtree for a function is always an array. - if ($tree['left'] != '') { - $left_tree = $this->toReversePolish($tree['left']); - } else { - $left_tree = ''; - } - // add it's left subtree and return. - return $left_tree.$this->_convertFunction($tree['value'], $tree['right']); - } else { - $converted_tree = $this->_convert($tree['value']); - } - $polish .= $converted_tree; - return $polish; - } + /** + * Builds a string containing the tree in reverse polish notation (What you + * would use in a HP calculator stack). + * The following tree: + * + * + + * / \ + * 2 3 + * + * produces: "23+" + * + * The following tree: + * + * + + * / \ + * 3 * + * / \ + * 6 A1 + * + * produces: "36A1*+" + * + * In fact all operands, functions, references, etc... are written as ptg's + * + * @access public + * @param array $tree The optional tree to convert. + * @return string The tree in reverse polish notation + */ + public function toReversePolish($tree = array()) + { + $polish = ""; // the string we are going to return + if (empty($tree)) { // If it's the first call use parseTree + $tree = $this->parseTree; + } + if (is_array($tree['left'])) { + $converted_tree = $this->toReversePolish($tree['left']); + $polish .= $converted_tree; + } elseif ($tree['left'] != '') { // It's a final node + $converted_tree = $this->convert($tree['left']); + $polish .= $converted_tree; + } + if (is_array($tree['right'])) { + $converted_tree = $this->toReversePolish($tree['right']); + $polish .= $converted_tree; + } elseif ($tree['right'] != '') { // It's a final node + $converted_tree = $this->convert($tree['right']); + $polish .= $converted_tree; + } + // if it's a function convert it here (so we can set it's arguments) + if (preg_match("/^[A-Z0-9\xc0-\xdc\.]+$/", $tree['value']) and + !preg_match('/^([A-Ia-i]?[A-Za-z])(\d+)$/', $tree['value']) and + !preg_match("/^[A-Ia-i]?[A-Za-z](\d+)\.\.[A-Ia-i]?[A-Za-z](\d+)$/", $tree['value']) and + !is_numeric($tree['value']) and + !isset($this->ptg[$tree['value']])) { + // left subtree for a function is always an array. + if ($tree['left'] != '') { + $left_tree = $this->toReversePolish($tree['left']); + } else { + $left_tree = ''; + } + // add it's left subtree and return. + return $left_tree.$this->convertFunction($tree['value'], $tree['right']); + } else { + $converted_tree = $this->convert($tree['value']); + } + $polish .= $converted_tree; + return $polish; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php index ecfac5dc0..8b0684375 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Workbook.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_Workbook * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +21,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -59,1392 +60,1385 @@ // * License along with this library; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // */ - - -/** - * PHPExcel_Writer_Excel5_Workbook - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_Workbook extends PHPExcel_Writer_Excel5_BIFFwriter { - /** - * Formula parser - * - * @var PHPExcel_Writer_Excel5_Parser - */ - private $_parser; - - /** - * The BIFF file size for the workbook. - * @var integer - * @see _calcSheetOffsets() - */ - public $_biffsize; - - /** - * XF Writers - * @var PHPExcel_Writer_Excel5_Xf[] - */ - private $_xfWriters = array(); - - /** - * Array containing the colour palette - * @var array - */ - public $_palette; - - /** - * The codepage indicates the text encoding used for strings - * @var integer - */ - public $_codepage; - - /** - * The country code used for localization - * @var integer - */ - public $_country_code; - - /** - * Workbook - * @var PHPExcel - */ - private $_phpExcel; - - /** - * Fonts writers - * - * @var PHPExcel_Writer_Excel5_Font[] - */ - private $_fontWriters = array(); - - /** - * Added fonts. Maps from font's hash => index in workbook - * - * @var array - */ - private $_addedFonts = array(); - - /** - * Shared number formats - * - * @var array - */ - private $_numberFormats = array(); - - /** - * Added number formats. Maps from numberFormat's hash => index in workbook - * - * @var array - */ - private $_addedNumberFormats = array(); - - /** - * Sizes of the binary worksheet streams - * - * @var array - */ - private $_worksheetSizes = array(); - - /** - * Offsets of the binary worksheet streams relative to the start of the global workbook stream - * - * @var array - */ - private $_worksheetOffsets = array(); - - /** - * Total number of shared strings in workbook - * - * @var int - */ - private $_str_total; - - /** - * Number of unique shared strings in workbook - * - * @var int - */ - private $_str_unique; - - /** - * Array of unique shared strings in workbook - * - * @var array - */ - private $_str_table; - - /** - * Color cache - */ - private $_colors; - - /** - * Escher object corresponding to MSODRAWINGGROUP - * - * @var PHPExcel_Shared_Escher - */ - private $_escher; - - - /** - * Class constructor - * - * @param PHPExcel $phpExcel The Workbook - * @param int &$str_total Total number of strings - * @param int &$str_unique Total number of unique strings - * @param array &$str_table String Table - * @param array &$colors Colour Table - * @param mixed $parser The formula parser created for the Workbook - */ - public function __construct(PHPExcel $phpExcel = null, - &$str_total, &$str_unique, &$str_table, &$colors, - $parser ) - { - // It needs to call its parent's constructor explicitly - parent::__construct(); - - $this->_parser = $parser; - $this->_biffsize = 0; - $this->_palette = array(); - $this->_country_code = -1; - - $this->_str_total = &$str_total; - $this->_str_unique = &$str_unique; - $this->_str_table = &$str_table; - $this->_colors = &$colors; - $this->_setPaletteXl97(); - - $this->_phpExcel = $phpExcel; - - // set BIFFwriter limit for CONTINUE records - // $this->_limit = 8224; - $this->_codepage = 0x04B0; - - // Add empty sheets and Build color cache - $countSheets = $phpExcel->getSheetCount(); - for ($i = 0; $i < $countSheets; ++$i) { - $phpSheet = $phpExcel->getSheet($i); - - $this->_parser->setExtSheet($phpSheet->getTitle(), $i); // Register worksheet name with parser - - $supbook_index = 0x00; - $ref = pack('vvv', $supbook_index, $i, $i); - $this->_parser->_references[] = $ref; // Register reference with parser - - // Sheet tab colors? - if ($phpSheet->isTabColorSet()) { - $this->_addColor($phpSheet->getTabColor()->getRGB()); - } - } - - } - - /** - * Add a new XF writer - * - * @param PHPExcel_Style - * @param boolean Is it a style XF? - * @return int Index to XF record - */ - public function addXfWriter($style, $isStyleXf = false) - { - $xfWriter = new PHPExcel_Writer_Excel5_Xf($style); - $xfWriter->setIsStyleXf($isStyleXf); - - // Add the font if not already added - $fontIndex = $this->_addFont($style->getFont()); - - // Assign the font index to the xf record - $xfWriter->setFontIndex($fontIndex); - - // Background colors, best to treat these after the font so black will come after white in custom palette - $xfWriter->setFgColor($this->_addColor($style->getFill()->getStartColor()->getRGB())); - $xfWriter->setBgColor($this->_addColor($style->getFill()->getEndColor()->getRGB())); - $xfWriter->setBottomColor($this->_addColor($style->getBorders()->getBottom()->getColor()->getRGB())); - $xfWriter->setTopColor($this->_addColor($style->getBorders()->getTop()->getColor()->getRGB())); - $xfWriter->setRightColor($this->_addColor($style->getBorders()->getRight()->getColor()->getRGB())); - $xfWriter->setLeftColor($this->_addColor($style->getBorders()->getLeft()->getColor()->getRGB())); - $xfWriter->setDiagColor($this->_addColor($style->getBorders()->getDiagonal()->getColor()->getRGB())); - - // Add the number format if it is not a built-in one and not already added - if ($style->getNumberFormat()->getBuiltInFormatCode() === false) { - $numberFormatHashCode = $style->getNumberFormat()->getHashCode(); - - if (isset($this->_addedNumberFormats[$numberFormatHashCode])) { - $numberFormatIndex = $this->_addedNumberFormats[$numberFormatHashCode]; - } else { - $numberFormatIndex = 164 + count($this->_numberFormats); - $this->_numberFormats[$numberFormatIndex] = $style->getNumberFormat(); - $this->_addedNumberFormats[$numberFormatHashCode] = $numberFormatIndex; - } - } else { - $numberFormatIndex = (int) $style->getNumberFormat()->getBuiltInFormatCode(); - } - - // Assign the number format index to xf record - $xfWriter->setNumberFormatIndex($numberFormatIndex); - - $this->_xfWriters[] = $xfWriter; - - $xfIndex = count($this->_xfWriters) - 1; - return $xfIndex; - } - - /** - * Add a font to added fonts - * - * @param PHPExcel_Style_Font $font - * @return int Index to FONT record - */ - public function _addFont(PHPExcel_Style_Font $font) - { - $fontHashCode = $font->getHashCode(); - if(isset($this->_addedFonts[$fontHashCode])){ - $fontIndex = $this->_addedFonts[$fontHashCode]; - } else { - $countFonts = count($this->_fontWriters); - $fontIndex = ($countFonts < 4) ? $countFonts : $countFonts + 1; - - $fontWriter = new PHPExcel_Writer_Excel5_Font($font); - $fontWriter->setColorIndex($this->_addColor($font->getColor()->getRGB())); - $this->_fontWriters[] = $fontWriter; - - $this->_addedFonts[$fontHashCode] = $fontIndex; - } - return $fontIndex; - } - - /** - * Alter color palette adding a custom color - * - * @param string $rgb E.g. 'FF00AA' - * @return int Color index - */ - private function _addColor($rgb) { - if (!isset($this->_colors[$rgb])) { - if (count($this->_colors) < 57) { - // then we add a custom color altering the palette - $colorIndex = 8 + count($this->_colors); - $this->_palette[$colorIndex] = - array( - hexdec(substr($rgb, 0, 2)), - hexdec(substr($rgb, 2, 2)), - hexdec(substr($rgb, 4)), - 0 - ); - $this->_colors[$rgb] = $colorIndex; - } else { - // no room for more custom colors, just map to black - $colorIndex = 0; - } - } else { - // fetch already added custom color - $colorIndex = $this->_colors[$rgb]; - } - - return $colorIndex; - } - - /** - * Sets the colour palette to the Excel 97+ default. - * - * @access private - */ - function _setPaletteXl97() - { - $this->_palette = array( - 0x08 => array(0x00, 0x00, 0x00, 0x00), - 0x09 => array(0xff, 0xff, 0xff, 0x00), - 0x0A => array(0xff, 0x00, 0x00, 0x00), - 0x0B => array(0x00, 0xff, 0x00, 0x00), - 0x0C => array(0x00, 0x00, 0xff, 0x00), - 0x0D => array(0xff, 0xff, 0x00, 0x00), - 0x0E => array(0xff, 0x00, 0xff, 0x00), - 0x0F => array(0x00, 0xff, 0xff, 0x00), - 0x10 => array(0x80, 0x00, 0x00, 0x00), - 0x11 => array(0x00, 0x80, 0x00, 0x00), - 0x12 => array(0x00, 0x00, 0x80, 0x00), - 0x13 => array(0x80, 0x80, 0x00, 0x00), - 0x14 => array(0x80, 0x00, 0x80, 0x00), - 0x15 => array(0x00, 0x80, 0x80, 0x00), - 0x16 => array(0xc0, 0xc0, 0xc0, 0x00), - 0x17 => array(0x80, 0x80, 0x80, 0x00), - 0x18 => array(0x99, 0x99, 0xff, 0x00), - 0x19 => array(0x99, 0x33, 0x66, 0x00), - 0x1A => array(0xff, 0xff, 0xcc, 0x00), - 0x1B => array(0xcc, 0xff, 0xff, 0x00), - 0x1C => array(0x66, 0x00, 0x66, 0x00), - 0x1D => array(0xff, 0x80, 0x80, 0x00), - 0x1E => array(0x00, 0x66, 0xcc, 0x00), - 0x1F => array(0xcc, 0xcc, 0xff, 0x00), - 0x20 => array(0x00, 0x00, 0x80, 0x00), - 0x21 => array(0xff, 0x00, 0xff, 0x00), - 0x22 => array(0xff, 0xff, 0x00, 0x00), - 0x23 => array(0x00, 0xff, 0xff, 0x00), - 0x24 => array(0x80, 0x00, 0x80, 0x00), - 0x25 => array(0x80, 0x00, 0x00, 0x00), - 0x26 => array(0x00, 0x80, 0x80, 0x00), - 0x27 => array(0x00, 0x00, 0xff, 0x00), - 0x28 => array(0x00, 0xcc, 0xff, 0x00), - 0x29 => array(0xcc, 0xff, 0xff, 0x00), - 0x2A => array(0xcc, 0xff, 0xcc, 0x00), - 0x2B => array(0xff, 0xff, 0x99, 0x00), - 0x2C => array(0x99, 0xcc, 0xff, 0x00), - 0x2D => array(0xff, 0x99, 0xcc, 0x00), - 0x2E => array(0xcc, 0x99, 0xff, 0x00), - 0x2F => array(0xff, 0xcc, 0x99, 0x00), - 0x30 => array(0x33, 0x66, 0xff, 0x00), - 0x31 => array(0x33, 0xcc, 0xcc, 0x00), - 0x32 => array(0x99, 0xcc, 0x00, 0x00), - 0x33 => array(0xff, 0xcc, 0x00, 0x00), - 0x34 => array(0xff, 0x99, 0x00, 0x00), - 0x35 => array(0xff, 0x66, 0x00, 0x00), - 0x36 => array(0x66, 0x66, 0x99, 0x00), - 0x37 => array(0x96, 0x96, 0x96, 0x00), - 0x38 => array(0x00, 0x33, 0x66, 0x00), - 0x39 => array(0x33, 0x99, 0x66, 0x00), - 0x3A => array(0x00, 0x33, 0x00, 0x00), - 0x3B => array(0x33, 0x33, 0x00, 0x00), - 0x3C => array(0x99, 0x33, 0x00, 0x00), - 0x3D => array(0x99, 0x33, 0x66, 0x00), - 0x3E => array(0x33, 0x33, 0x99, 0x00), - 0x3F => array(0x33, 0x33, 0x33, 0x00), - ); - } - - /** - * Assemble worksheets into a workbook and send the BIFF data to an OLE - * storage. - * - * @param array $pWorksheetSizes The sizes in bytes of the binary worksheet streams - * @return string Binary data for workbook stream - */ - public function writeWorkbook($pWorksheetSizes = null) - { - $this->_worksheetSizes = $pWorksheetSizes; - - // Calculate the number of selected worksheet tabs and call the finalization - // methods for each worksheet - $total_worksheets = $this->_phpExcel->getSheetCount(); - - // Add part 1 of the Workbook globals, what goes before the SHEET records - $this->_storeBof(0x0005); - $this->_writeCodepage(); - $this->_writeWindow1(); - - $this->_writeDatemode(); - $this->_writeAllFonts(); - $this->_writeAllNumFormats(); - $this->_writeAllXfs(); - $this->_writeAllStyles(); - $this->_writePalette(); - - // Prepare part 3 of the workbook global stream, what goes after the SHEET records - $part3 = ''; - if ($this->_country_code != -1) { - $part3 .= $this->_writeCountry(); - } - $part3 .= $this->_writeRecalcId(); - - $part3 .= $this->_writeSupbookInternal(); - /* TODO: store external SUPBOOK records and XCT and CRN records - in case of external references for BIFF8 */ - $part3 .= $this->_writeExternsheetBiff8(); - $part3 .= $this->_writeAllDefinedNamesBiff8(); - $part3 .= $this->_writeMsoDrawingGroup(); - $part3 .= $this->_writeSharedStringsTable(); - - $part3 .= $this->writeEof(); - - // Add part 2 of the Workbook globals, the SHEET records - $this->_calcSheetOffsets(); - for ($i = 0; $i < $total_worksheets; ++$i) { - $this->_writeBoundsheet($this->_phpExcel->getSheet($i), $this->_worksheetOffsets[$i]); - } - - // Add part 3 of the Workbook globals - $this->_data .= $part3; - - return $this->_data; - } - - /** - * Calculate offsets for Worksheet BOF records. - * - * @access private - */ - function _calcSheetOffsets() - { - $boundsheet_length = 10; // fixed length for a BOUNDSHEET record - - // size of Workbook globals part 1 + 3 - $offset = $this->_datasize; - - // add size of Workbook globals part 2, the length of the SHEET records - $total_worksheets = count($this->_phpExcel->getAllSheets()); - foreach ($this->_phpExcel->getWorksheetIterator() as $sheet) { - $offset += $boundsheet_length + strlen(PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheet->getTitle())); - } - - // add the sizes of each of the Sheet substreams, respectively - for ($i = 0; $i < $total_worksheets; ++$i) { - $this->_worksheetOffsets[$i] = $offset; - $offset += $this->_worksheetSizes[$i]; - } - $this->_biffsize = $offset; - } - - /** - * Store the Excel FONT records. - */ - private function _writeAllFonts() - { - foreach ($this->_fontWriters as $fontWriter) { - $this->_append($fontWriter->writeFont()); - } - } - - /** - * Store user defined numerical formats i.e. FORMAT records - */ - private function _writeAllNumFormats() - { - foreach ($this->_numberFormats as $numberFormatIndex => $numberFormat) { - $this->_writeNumFormat($numberFormat->getFormatCode(), $numberFormatIndex); - } - } - - /** - * Write all XF records. - */ - private function _writeAllXfs() - { - foreach ($this->_xfWriters as $xfWriter) { - $this->_append($xfWriter->writeXf()); - } - } - - /** - * Write all STYLE records. - */ - private function _writeAllStyles() - { - $this->_writeStyle(); - } - - /** - * Write the EXTERNCOUNT and EXTERNSHEET records. These are used as indexes for - * the NAME records. - */ - private function _writeExterns() - { - $countSheets = $this->_phpExcel->getSheetCount(); - // Create EXTERNCOUNT with number of worksheets - $this->_writeExterncount($countSheets); - - // Create EXTERNSHEET for each worksheet - for ($i = 0; $i < $countSheets; ++$i) { - $this->_writeExternsheet($this->_phpExcel->getSheet($i)->getTitle()); - } - } - - /** - * Write the NAME record to define the print area and the repeat rows and cols. - */ - private function _writeNames() - { - // total number of sheets - $total_worksheets = $this->_phpExcel->getSheetCount(); - - // Create the print area NAME records - for ($i = 0; $i < $total_worksheets; ++$i) { - $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); - // Write a Name record if the print area has been defined - if ($sheetSetup->isPrintAreaSet()) { - // Print area - $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); - $printArea = $printArea[0]; - $printArea[0] = PHPExcel_Cell::coordinateFromString($printArea[0]); - $printArea[1] = PHPExcel_Cell::coordinateFromString($printArea[1]); - - $print_rowmin = $printArea[0][1] - 1; - $print_rowmax = $printArea[1][1] - 1; - $print_colmin = PHPExcel_Cell::columnIndexFromString($printArea[0][0]) - 1; - $print_colmax = PHPExcel_Cell::columnIndexFromString($printArea[1][0]) - 1; - - $this->_writeNameShort( - $i, // sheet index - 0x06, // NAME type - $print_rowmin, - $print_rowmax, - $print_colmin, - $print_colmax - ); - } - } - - // Create the print title NAME records - for ($i = 0; $i < $total_worksheets; ++$i) { - $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); - - // simultaneous repeatColumns repeatRows - if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { - $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); - $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; - $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; - - $repeat = $sheetSetup->getRowsToRepeatAtTop(); - $rowmin = $repeat[0] - 1; - $rowmax = $repeat[1] - 1; - - $this->_writeNameLong( - $i, // sheet index - 0x07, // NAME type - $rowmin, - $rowmax, - $colmin, - $colmax - ); - - // (exclusive) either repeatColumns or repeatRows - } else if ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { - - // Columns to repeat - if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { - $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); - $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; - $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; - } else { - $colmin = 0; - $colmax = 255; - } - - // Rows to repeat - if ($sheetSetup->isRowsToRepeatAtTopSet()) { - $repeat = $sheetSetup->getRowsToRepeatAtTop(); - $rowmin = $repeat[0] - 1; - $rowmax = $repeat[1] - 1; - } else { - $rowmin = 0; - $rowmax = 65535; - } - - $this->_writeNameShort( - $i, // sheet index - 0x07, // NAME type - $rowmin, - $rowmax, - $colmin, - $colmax - ); - } - } - } - - /** - * Writes all the DEFINEDNAME records (BIFF8). - * So far this is only used for repeating rows/columns (print titles) and print areas - */ - private function _writeAllDefinedNamesBiff8() - { - $chunk = ''; - - // Named ranges - if (count($this->_phpExcel->getNamedRanges()) > 0) { - // Loop named ranges - $namedRanges = $this->_phpExcel->getNamedRanges(); - foreach ($namedRanges as $namedRange) { - - // Create absolute coordinate - $range = PHPExcel_Cell::splitRange($namedRange->getRange()); - for ($i = 0; $i < count($range); $i++) { - $range[$i][0] = '\'' . str_replace("'", "''", $namedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteCoordinate($range[$i][0]); - if (isset($range[$i][1])) { - $range[$i][1] = PHPExcel_Cell::absoluteCoordinate($range[$i][1]); - } - } - $range = PHPExcel_Cell::buildRange($range); // e.g. Sheet1!$A$1:$B$2 - - // parse formula - try { - $error = $this->_parser->parse($range); - $formulaData = $this->_parser->toReversePolish(); - - // make sure tRef3d is of type tRef3dR (0x3A) - if (isset($formulaData{0}) and ($formulaData{0} == "\x7A" or $formulaData{0} == "\x5A")) { - $formulaData = "\x3A" . substr($formulaData, 1); - } - - if ($namedRange->getLocalOnly()) { - // local scope - $scope = $this->_phpExcel->getIndex($namedRange->getScope()) + 1; - } else { - // global scope - $scope = 0; - } - $chunk .= $this->writeData($this->_writeDefinedNameBiff8($namedRange->getName(), $formulaData, $scope, false)); - - } catch(PHPExcel_Exception $e) { - // do nothing - } - } - } - - // total number of sheets - $total_worksheets = $this->_phpExcel->getSheetCount(); - - // write the print titles (repeating rows, columns), if any - for ($i = 0; $i < $total_worksheets; ++$i) { - $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); - // simultaneous repeatColumns repeatRows - if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { - $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); - $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; - $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; - - $repeat = $sheetSetup->getRowsToRepeatAtTop(); - $rowmin = $repeat[0] - 1; - $rowmax = $repeat[1] - 1; - - // construct formula data manually - $formulaData = pack('Cv', 0x29, 0x17); // tMemFunc - $formulaData .= pack('Cvvvvv', 0x3B, $i, 0, 65535, $colmin, $colmax); // tArea3d - $formulaData .= pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, 0, 255); // tArea3d - $formulaData .= pack('C', 0x10); // tList - - // store the DEFINEDNAME record - $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); - - // (exclusive) either repeatColumns or repeatRows - } else if ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { - - // Columns to repeat - if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { - $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); - $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; - $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; - } else { - $colmin = 0; - $colmax = 255; - } - // Rows to repeat - if ($sheetSetup->isRowsToRepeatAtTopSet()) { - $repeat = $sheetSetup->getRowsToRepeatAtTop(); - $rowmin = $repeat[0] - 1; - $rowmax = $repeat[1] - 1; - } else { - $rowmin = 0; - $rowmax = 65535; - } - - // construct formula data manually because parser does not recognize absolute 3d cell references - $formulaData = pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, $colmin, $colmax); - - // store the DEFINEDNAME record - $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); - } - } - - // write the print areas, if any - for ($i = 0; $i < $total_worksheets; ++$i) { - $sheetSetup = $this->_phpExcel->getSheet($i)->getPageSetup(); - if ($sheetSetup->isPrintAreaSet()) { - // Print area, e.g. A3:J6,H1:X20 - $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); - $countPrintArea = count($printArea); - - $formulaData = ''; - for ($j = 0; $j < $countPrintArea; ++$j) { - $printAreaRect = $printArea[$j]; // e.g. A3:J6 - $printAreaRect[0] = PHPExcel_Cell::coordinateFromString($printAreaRect[0]); - $printAreaRect[1] = PHPExcel_Cell::coordinateFromString($printAreaRect[1]); - - $print_rowmin = $printAreaRect[0][1] - 1; - $print_rowmax = $printAreaRect[1][1] - 1; - $print_colmin = PHPExcel_Cell::columnIndexFromString($printAreaRect[0][0]) - 1; - $print_colmax = PHPExcel_Cell::columnIndexFromString($printAreaRect[1][0]) - 1; - - // construct formula data manually because parser does not recognize absolute 3d cell references - $formulaData .= pack('Cvvvvv', 0x3B, $i, $print_rowmin, $print_rowmax, $print_colmin, $print_colmax); - - if ($j > 0) { - $formulaData .= pack('C', 0x10); // list operator token ',' - } - } - - // store the DEFINEDNAME record - $chunk .= $this->writeData($this->_writeDefinedNameBiff8(pack('C', 0x06), $formulaData, $i + 1, true)); - } - } - - // write autofilters, if any - for ($i = 0; $i < $total_worksheets; ++$i) { - $sheetAutoFilter = $this->_phpExcel->getSheet($i)->getAutoFilter(); - $autoFilterRange = $sheetAutoFilter->getRange(); - if(!empty($autoFilterRange)) { - $rangeBounds = PHPExcel_Cell::rangeBoundaries($autoFilterRange); - - //Autofilter built in name - $name = pack('C', 0x0D); - - $chunk .= $this->writeData($this->_writeShortNameBiff8($name, $i + 1, $rangeBounds, true)); - } - } - - return $chunk; - } - - /** - * Write a DEFINEDNAME record for BIFF8 using explicit binary formula data - * - * @param string $name The name in UTF-8 - * @param string $formulaData The binary formula data - * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global - * @param boolean $isBuiltIn Built-in name? - * @return string Complete binary record data - */ - private function _writeDefinedNameBiff8($name, $formulaData, $sheetIndex = 0, $isBuiltIn = false) - { - $record = 0x0018; - - // option flags - $options = $isBuiltIn ? 0x20 : 0x00; - - // length of the name, character count - $nlen = PHPExcel_Shared_String::CountCharacters($name); - - // name with stripped length field - $name = substr(PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($name), 2); - - // size of the formula (in bytes) - $sz = strlen($formulaData); - - // combine the parts - $data = pack('vCCvvvCCCC', $options, 0, $nlen, $sz, 0, $sheetIndex, 0, 0, 0, 0) - . $name . $formulaData; - $length = strlen($data); - - $header = pack('vv', $record, $length); - - return $header . $data; - } - - /** - * Write a short NAME record - * - * @param string $name - * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global - * @param integer[][] $rangeBounds range boundaries - * @param boolean $isHidden - * @return string Complete binary record data - * */ - private function _writeShortNameBiff8($name, $sheetIndex = 0, $rangeBounds, $isHidden = false){ - $record = 0x0018; - - // option flags - $options = ($isHidden ? 0x21 : 0x00); - - $extra = pack('Cvvvvv', - 0x3B, - $sheetIndex - 1, - $rangeBounds[0][1] - 1, - $rangeBounds[1][1] - 1, - $rangeBounds[0][0] - 1, - $rangeBounds[1][0] - 1); - - // size of the formula (in bytes) - $sz = strlen($extra); - - // combine the parts - $data = pack('vCCvvvCCCCC', $options, 0, 1, $sz, 0, $sheetIndex, 0, 0, 0, 0, 0) - . $name . $extra; - $length = strlen($data); - - $header = pack('vv', $record, $length); - - return $header . $data; - } - - /** - * Stores the CODEPAGE biff record. - */ - private function _writeCodepage() - { - $record = 0x0042; // Record identifier - $length = 0x0002; // Number of bytes to follow - $cv = $this->_codepage; // The code page - - $header = pack('vv', $record, $length); - $data = pack('v', $cv); - - $this->_append($header . $data); - } - - /** - * Write Excel BIFF WINDOW1 record. - */ - private function _writeWindow1() - { - $record = 0x003D; // Record identifier - $length = 0x0012; // Number of bytes to follow - - $xWn = 0x0000; // Horizontal position of window - $yWn = 0x0000; // Vertical position of window - $dxWn = 0x25BC; // Width of window - $dyWn = 0x1572; // Height of window - - $grbit = 0x0038; // Option flags - - // not supported by PHPExcel, so there is only one selected sheet, the active - $ctabsel = 1; // Number of workbook tabs selected - - $wTabRatio = 0x0258; // Tab to scrollbar ratio - - // not supported by PHPExcel, set to 0 - $itabFirst = 0; // 1st displayed worksheet - $itabCur = $this->_phpExcel->getActiveSheetIndex(); // Active worksheet - - $header = pack("vv", $record, $length); - $data = pack("vvvvvvvvv", $xWn, $yWn, $dxWn, $dyWn, - $grbit, - $itabCur, $itabFirst, - $ctabsel, $wTabRatio); - $this->_append($header . $data); - } - - /** - * Writes Excel BIFF BOUNDSHEET record. - * - * @param PHPExcel_Worksheet $sheet Worksheet name - * @param integer $offset Location of worksheet BOF - */ - private function _writeBoundsheet($sheet, $offset) - { - $sheetname = $sheet->getTitle(); - $record = 0x0085; // Record identifier - - // sheet state - switch ($sheet->getSheetState()) { - case PHPExcel_Worksheet::SHEETSTATE_VISIBLE: $ss = 0x00; break; - case PHPExcel_Worksheet::SHEETSTATE_HIDDEN: $ss = 0x01; break; - case PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN: $ss = 0x02; break; - default: $ss = 0x00; break; - } - - // sheet type - $st = 0x00; - - $grbit = 0x0000; // Visibility and sheet type - - $data = pack("VCC", $offset, $ss, $st); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheetname); - - $length = strlen($data); - $header = pack("vv", $record, $length); - $this->_append($header . $data); - } - - /** - * Write Internal SUPBOOK record - */ - private function _writeSupbookInternal() - { - $record = 0x01AE; // Record identifier - $length = 0x0004; // Bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("vv", $this->_phpExcel->getSheetCount(), 0x0401); - return $this->writeData($header . $data); - } - - /** - * Writes the Excel BIFF EXTERNSHEET record. These references are used by - * formulas. - * - */ - private function _writeExternsheetBiff8() - { - $total_references = count($this->_parser->_references); - $record = 0x0017; // Record identifier - $length = 2 + 6 * $total_references; // Number of bytes to follow - - $supbook_index = 0; // FIXME: only using internal SUPBOOK record - $header = pack("vv", $record, $length); - $data = pack('v', $total_references); - for ($i = 0; $i < $total_references; ++$i) { - $data .= $this->_parser->_references[$i]; - } - return $this->writeData($header . $data); - } - - /** - * Write Excel BIFF STYLE records. - */ - private function _writeStyle() - { - $record = 0x0293; // Record identifier - $length = 0x0004; // Bytes to follow - - $ixfe = 0x8000; // Index to cell style XF - $BuiltIn = 0x00; // Built-in style - $iLevel = 0xff; // Outline style level - - $header = pack("vv", $record, $length); - $data = pack("vCC", $ixfe, $BuiltIn, $iLevel); - $this->_append($header . $data); - } - - /** - * Writes Excel FORMAT record for non "built-in" numerical formats. - * - * @param string $format Custom format string - * @param integer $ifmt Format index code - */ - private function _writeNumFormat($format, $ifmt) - { - $record = 0x041E; // Record identifier - - $numberFormatString = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($format); - $length = 2 + strlen($numberFormatString); // Number of bytes to follow - - - $header = pack("vv", $record, $length); - $data = pack("v", $ifmt) . $numberFormatString; - $this->_append($header . $data); - } - - /** - * Write DATEMODE record to indicate the date system in use (1904 or 1900). - */ - private function _writeDatemode() - { - $record = 0x0022; // Record identifier - $length = 0x0002; // Bytes to follow - - $f1904 = (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) ? - 1 : 0; // Flag for 1904 date system - - $header = pack("vv", $record, $length); - $data = pack("v", $f1904); - $this->_append($header . $data); - } - - /** - * Write BIFF record EXTERNCOUNT to indicate the number of external sheet - * references in the workbook. - * - * Excel only stores references to external sheets that are used in NAME. - * The workbook NAME record is required to define the print area and the repeat - * rows and columns. - * - * A similar method is used in Worksheet.php for a slightly different purpose. - * - * @param integer $cxals Number of external references - */ - private function _writeExterncount($cxals) - { - $record = 0x0016; // Record identifier - $length = 0x0002; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("v", $cxals); - $this->_append($header . $data); - } - - /** - * Writes the Excel BIFF EXTERNSHEET record. These references are used by - * formulas. NAME record is required to define the print area and the repeat - * rows and columns. - * - * A similar method is used in Worksheet.php for a slightly different purpose. - * - * @param string $sheetname Worksheet name - */ - private function _writeExternsheet($sheetname) - { - $record = 0x0017; // Record identifier - $length = 0x02 + strlen($sheetname); // Number of bytes to follow - - $cch = strlen($sheetname); // Length of sheet name - $rgch = 0x03; // Filename encoding - - $header = pack("vv", $record, $length); - $data = pack("CC", $cch, $rgch); - $this->_append($header . $data . $sheetname); - } - - /** - * Store the NAME record in the short format that is used for storing the print - * area, repeat rows only and repeat columns only. - * - * @param integer $index Sheet index - * @param integer $type Built-in name type - * @param integer $rowmin Start row - * @param integer $rowmax End row - * @param integer $colmin Start colum - * @param integer $colmax End column - */ - private function _writeNameShort($index, $type, $rowmin, $rowmax, $colmin, $colmax) - { - $record = 0x0018; // Record identifier - $length = 0x0024; // Number of bytes to follow - - $grbit = 0x0020; // Option flags - $chKey = 0x00; // Keyboard shortcut - $cch = 0x01; // Length of text name - $cce = 0x0015; // Length of text definition - $ixals = $index + 1; // Sheet index - $itab = $ixals; // Equal to ixals - $cchCustMenu = 0x00; // Length of cust menu text - $cchDescription = 0x00; // Length of description text - $cchHelptopic = 0x00; // Length of help topic text - $cchStatustext = 0x00; // Length of status bar text - $rgch = $type; // Built-in name type - - $unknown03 = 0x3b; - $unknown04 = 0xffff-$index; - $unknown05 = 0x0000; - $unknown06 = 0x0000; - $unknown07 = 0x1087; - $unknown08 = 0x8005; - - $header = pack("vv", $record, $length); - $data = pack("v", $grbit); - $data .= pack("C", $chKey); - $data .= pack("C", $cch); - $data .= pack("v", $cce); - $data .= pack("v", $ixals); - $data .= pack("v", $itab); - $data .= pack("C", $cchCustMenu); - $data .= pack("C", $cchDescription); - $data .= pack("C", $cchHelptopic); - $data .= pack("C", $cchStatustext); - $data .= pack("C", $rgch); - $data .= pack("C", $unknown03); - $data .= pack("v", $unknown04); - $data .= pack("v", $unknown05); - $data .= pack("v", $unknown06); - $data .= pack("v", $unknown07); - $data .= pack("v", $unknown08); - $data .= pack("v", $index); - $data .= pack("v", $index); - $data .= pack("v", $rowmin); - $data .= pack("v", $rowmax); - $data .= pack("C", $colmin); - $data .= pack("C", $colmax); - $this->_append($header . $data); - } - - /** - * Store the NAME record in the long format that is used for storing the repeat - * rows and columns when both are specified. This shares a lot of code with - * _writeNameShort() but we use a separate method to keep the code clean. - * Code abstraction for reuse can be carried too far, and I should know. ;-) - * - * @param integer $index Sheet index - * @param integer $type Built-in name type - * @param integer $rowmin Start row - * @param integer $rowmax End row - * @param integer $colmin Start colum - * @param integer $colmax End column - */ - private function _writeNameLong($index, $type, $rowmin, $rowmax, $colmin, $colmax) - { - $record = 0x0018; // Record identifier - $length = 0x003d; // Number of bytes to follow - $grbit = 0x0020; // Option flags - $chKey = 0x00; // Keyboard shortcut - $cch = 0x01; // Length of text name - $cce = 0x002e; // Length of text definition - $ixals = $index + 1; // Sheet index - $itab = $ixals; // Equal to ixals - $cchCustMenu = 0x00; // Length of cust menu text - $cchDescription = 0x00; // Length of description text - $cchHelptopic = 0x00; // Length of help topic text - $cchStatustext = 0x00; // Length of status bar text - $rgch = $type; // Built-in name type - - $unknown01 = 0x29; - $unknown02 = 0x002b; - $unknown03 = 0x3b; - $unknown04 = 0xffff-$index; - $unknown05 = 0x0000; - $unknown06 = 0x0000; - $unknown07 = 0x1087; - $unknown08 = 0x8008; - - $header = pack("vv", $record, $length); - $data = pack("v", $grbit); - $data .= pack("C", $chKey); - $data .= pack("C", $cch); - $data .= pack("v", $cce); - $data .= pack("v", $ixals); - $data .= pack("v", $itab); - $data .= pack("C", $cchCustMenu); - $data .= pack("C", $cchDescription); - $data .= pack("C", $cchHelptopic); - $data .= pack("C", $cchStatustext); - $data .= pack("C", $rgch); - $data .= pack("C", $unknown01); - $data .= pack("v", $unknown02); - // Column definition - $data .= pack("C", $unknown03); - $data .= pack("v", $unknown04); - $data .= pack("v", $unknown05); - $data .= pack("v", $unknown06); - $data .= pack("v", $unknown07); - $data .= pack("v", $unknown08); - $data .= pack("v", $index); - $data .= pack("v", $index); - $data .= pack("v", 0x0000); - $data .= pack("v", 0x3fff); - $data .= pack("C", $colmin); - $data .= pack("C", $colmax); - // Row definition - $data .= pack("C", $unknown03); - $data .= pack("v", $unknown04); - $data .= pack("v", $unknown05); - $data .= pack("v", $unknown06); - $data .= pack("v", $unknown07); - $data .= pack("v", $unknown08); - $data .= pack("v", $index); - $data .= pack("v", $index); - $data .= pack("v", $rowmin); - $data .= pack("v", $rowmax); - $data .= pack("C", 0x00); - $data .= pack("C", 0xff); - // End of data - $data .= pack("C", 0x10); - $this->_append($header . $data); - } - - /** - * Stores the COUNTRY record for localization - * - * @return string - */ - private function _writeCountry() - { - $record = 0x008C; // Record identifier - $length = 4; // Number of bytes to follow - - $header = pack('vv', $record, $length); - /* using the same country code always for simplicity */ - $data = pack('vv', $this->_country_code, $this->_country_code); - //$this->_append($header . $data); - return $this->writeData($header . $data); - } - - /** - * Write the RECALCID record - * - * @return string - */ - private function _writeRecalcId() - { - $record = 0x01C1; // Record identifier - $length = 8; // Number of bytes to follow - - $header = pack('vv', $record, $length); - - // by inspection of real Excel files, MS Office Excel 2007 writes this - $data = pack('VV', 0x000001C1, 0x00001E667); - - return $this->writeData($header . $data); - } - - /** - * Stores the PALETTE biff record. - */ - private function _writePalette() - { - $aref = $this->_palette; - - $record = 0x0092; // Record identifier - $length = 2 + 4 * count($aref); // Number of bytes to follow - $ccv = count($aref); // Number of RGB values to follow - $data = ''; // The RGB data - - // Pack the RGB data - foreach ($aref as $color) { - foreach ($color as $byte) { - $data .= pack("C",$byte); - } - } - - $header = pack("vvv", $record, $length, $ccv); - $this->_append($header . $data); - } - - /** - * Handling of the SST continue blocks is complicated by the need to include an - * additional continuation byte depending on whether the string is split between - * blocks or whether it starts at the beginning of the block. (There are also - * additional complications that will arise later when/if Rich Strings are - * supported). - * - * The Excel documentation says that the SST record should be followed by an - * EXTSST record. The EXTSST record is a hash table that is used to optimise - * access to SST. However, despite the documentation it doesn't seem to be - * required so we will ignore it. - * - * @return string Binary data - */ - private function _writeSharedStringsTable() - { - // maximum size of record data (excluding record header) - $continue_limit = 8224; - - // initialize array of record data blocks - $recordDatas = array(); - - // start SST record data block with total number of strings, total number of unique strings - $recordData = pack("VV", $this->_str_total, $this->_str_unique); - - // loop through all (unique) strings in shared strings table - foreach (array_keys($this->_str_table) as $string) { - - // here $string is a BIFF8 encoded string - - // length = character count - $headerinfo = unpack("vlength/Cencoding", $string); - - // currently, this is always 1 = uncompressed - $encoding = $headerinfo["encoding"]; - - // initialize finished writing current $string - $finished = false; - - while ($finished === false) { - - // normally, there will be only one cycle, but if string cannot immediately be written as is - // there will be need for more than one cylcle, if string longer than one record data block, there - // may be need for even more cycles - - if (strlen($recordData) + strlen($string) <= $continue_limit) { - // then we can write the string (or remainder of string) without any problems - $recordData .= $string; - - if (strlen($recordData) + strlen($string) == $continue_limit) { - // we close the record data block, and initialize a new one - $recordDatas[] = $recordData; - $recordData = ''; - } - - // we are finished writing this string - $finished = true; - } else { - // special treatment writing the string (or remainder of the string) - // If the string is very long it may need to be written in more than one CONTINUE record. - - // check how many bytes more there is room for in the current record - $space_remaining = $continue_limit - strlen($recordData); - - // minimum space needed - // uncompressed: 2 byte string length length field + 1 byte option flags + 2 byte character - // compressed: 2 byte string length length field + 1 byte option flags + 1 byte character - $min_space_needed = ($encoding == 1) ? 5 : 4; - - // We have two cases - // 1. space remaining is less than minimum space needed - // here we must waste the space remaining and move to next record data block - // 2. space remaining is greater than or equal to minimum space needed - // here we write as much as we can in the current block, then move to next record data block - - // 1. space remaining is less than minimum space needed - if ($space_remaining < $min_space_needed) { - // we close the block, store the block data - $recordDatas[] = $recordData; - - // and start new record data block where we start writing the string - $recordData = ''; - - // 2. space remaining is greater than or equal to minimum space needed - } else { - // initialize effective remaining space, for Unicode strings this may need to be reduced by 1, see below - $effective_space_remaining = $space_remaining; - - // for uncompressed strings, sometimes effective space remaining is reduced by 1 - if ( $encoding == 1 && (strlen($string) - $space_remaining) % 2 == 1 ) { - --$effective_space_remaining; - } - - // one block fininshed, store the block data - $recordData .= substr($string, 0, $effective_space_remaining); - - $string = substr($string, $effective_space_remaining); // for next cycle in while loop - $recordDatas[] = $recordData; - - // start new record data block with the repeated option flags - $recordData = pack('C', $encoding); - } - } - } - } - - // Store the last record data block unless it is empty - // if there was no need for any continue records, this will be the for SST record data block itself - if (strlen($recordData) > 0) { - $recordDatas[] = $recordData; - } - - // combine into one chunk with all the blocks SST, CONTINUE,... - $chunk = ''; - foreach ($recordDatas as $i => $recordData) { - // first block should have the SST record header, remaing should have CONTINUE header - $record = ($i == 0) ? 0x00FC : 0x003C; - - $header = pack("vv", $record, strlen($recordData)); - $data = $header . $recordData; - - $chunk .= $this->writeData($data); - } - - return $chunk; - } - - /** - * Writes the MSODRAWINGGROUP record if needed. Possibly split using CONTINUE records. - */ - private function _writeMsoDrawingGroup() - { - // write the Escher stream if necessary - if (isset($this->_escher)) { - $writer = new PHPExcel_Writer_Excel5_Escher($this->_escher); - $data = $writer->close(); - - $record = 0x00EB; - $length = strlen($data); - $header = pack("vv", $record, $length); - - return $this->writeData($header . $data); - - } else { - return ''; - } - } - - /** - * Get Escher object - * - * @return PHPExcel_Shared_Escher - */ - public function getEscher() - { - return $this->_escher; - } - - /** - * Set Escher object - * - * @param PHPExcel_Shared_Escher $pValue - */ - public function setEscher(PHPExcel_Shared_Escher $pValue = null) - { - $this->_escher = $pValue; - } + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $parser; + + /** + * The BIFF file size for the workbook. + * @var integer + * @see calcSheetOffsets() + */ + private $biffSize; + + /** + * XF Writers + * @var PHPExcel_Writer_Excel5_Xf[] + */ + private $xfWriters = array(); + + /** + * Array containing the colour palette + * @var array + */ + private $palette; + + /** + * The codepage indicates the text encoding used for strings + * @var integer + */ + private $codepage; + + /** + * The country code used for localization + * @var integer + */ + private $countryCode; + + /** + * Workbook + * @var PHPExcel + */ + private $phpExcel; + + /** + * Fonts writers + * + * @var PHPExcel_Writer_Excel5_Font[] + */ + private $fontWriters = array(); + + /** + * Added fonts. Maps from font's hash => index in workbook + * + * @var array + */ + private $addedFonts = array(); + + /** + * Shared number formats + * + * @var array + */ + private $numberFormats = array(); + + /** + * Added number formats. Maps from numberFormat's hash => index in workbook + * + * @var array + */ + private $addedNumberFormats = array(); + + /** + * Sizes of the binary worksheet streams + * + * @var array + */ + private $worksheetSizes = array(); + + /** + * Offsets of the binary worksheet streams relative to the start of the global workbook stream + * + * @var array + */ + private $worksheetOffsets = array(); + + /** + * Total number of shared strings in workbook + * + * @var int + */ + private $stringTotal; + + /** + * Number of unique shared strings in workbook + * + * @var int + */ + private $stringUnique; + + /** + * Array of unique shared strings in workbook + * + * @var array + */ + private $stringTable; + + /** + * Color cache + */ + private $colors; + + /** + * Escher object corresponding to MSODRAWINGGROUP + * + * @var PHPExcel_Shared_Escher + */ + private $escher; + + + /** + * Class constructor + * + * @param PHPExcel $phpExcel The Workbook + * @param int &$str_total Total number of strings + * @param int &$str_unique Total number of unique strings + * @param array &$str_table String Table + * @param array &$colors Colour Table + * @param mixed $parser The formula parser created for the Workbook + */ + public function __construct(PHPExcel $phpExcel = null, &$str_total, &$str_unique, &$str_table, &$colors, $parser) + { + // It needs to call its parent's constructor explicitly + parent::__construct(); + + $this->parser = $parser; + $this->biffSize = 0; + $this->palette = array(); + $this->countryCode = -1; + + $this->stringTotal = &$str_total; + $this->stringUnique = &$str_unique; + $this->stringTable = &$str_table; + $this->colors = &$colors; + $this->setPaletteXl97(); + + $this->phpExcel = $phpExcel; + + // set BIFFwriter limit for CONTINUE records + // $this->_limit = 8224; + $this->codepage = 0x04B0; + + // Add empty sheets and Build color cache + $countSheets = $phpExcel->getSheetCount(); + for ($i = 0; $i < $countSheets; ++$i) { + $phpSheet = $phpExcel->getSheet($i); + + $this->parser->setExtSheet($phpSheet->getTitle(), $i); // Register worksheet name with parser + + $supbook_index = 0x00; + $ref = pack('vvv', $supbook_index, $i, $i); + $this->parser->references[] = $ref; // Register reference with parser + + // Sheet tab colors? + if ($phpSheet->isTabColorSet()) { + $this->addColor($phpSheet->getTabColor()->getRGB()); + } + } + + } + + /** + * Add a new XF writer + * + * @param PHPExcel_Style + * @param boolean Is it a style XF? + * @return int Index to XF record + */ + public function addXfWriter($style, $isStyleXf = false) + { + $xfWriter = new PHPExcel_Writer_Excel5_Xf($style); + $xfWriter->setIsStyleXf($isStyleXf); + + // Add the font if not already added + $fontIndex = $this->addFont($style->getFont()); + + // Assign the font index to the xf record + $xfWriter->setFontIndex($fontIndex); + + // Background colors, best to treat these after the font so black will come after white in custom palette + $xfWriter->setFgColor($this->addColor($style->getFill()->getStartColor()->getRGB())); + $xfWriter->setBgColor($this->addColor($style->getFill()->getEndColor()->getRGB())); + $xfWriter->setBottomColor($this->addColor($style->getBorders()->getBottom()->getColor()->getRGB())); + $xfWriter->setTopColor($this->addColor($style->getBorders()->getTop()->getColor()->getRGB())); + $xfWriter->setRightColor($this->addColor($style->getBorders()->getRight()->getColor()->getRGB())); + $xfWriter->setLeftColor($this->addColor($style->getBorders()->getLeft()->getColor()->getRGB())); + $xfWriter->setDiagColor($this->addColor($style->getBorders()->getDiagonal()->getColor()->getRGB())); + + // Add the number format if it is not a built-in one and not already added + if ($style->getNumberFormat()->getBuiltInFormatCode() === false) { + $numberFormatHashCode = $style->getNumberFormat()->getHashCode(); + + if (isset($this->addedNumberFormats[$numberFormatHashCode])) { + $numberFormatIndex = $this->addedNumberFormats[$numberFormatHashCode]; + } else { + $numberFormatIndex = 164 + count($this->numberFormats); + $this->numberFormats[$numberFormatIndex] = $style->getNumberFormat(); + $this->addedNumberFormats[$numberFormatHashCode] = $numberFormatIndex; + } + } else { + $numberFormatIndex = (int) $style->getNumberFormat()->getBuiltInFormatCode(); + } + + // Assign the number format index to xf record + $xfWriter->setNumberFormatIndex($numberFormatIndex); + + $this->xfWriters[] = $xfWriter; + + $xfIndex = count($this->xfWriters) - 1; + return $xfIndex; + } + + /** + * Add a font to added fonts + * + * @param PHPExcel_Style_Font $font + * @return int Index to FONT record + */ + public function addFont(PHPExcel_Style_Font $font) + { + $fontHashCode = $font->getHashCode(); + if (isset($this->addedFonts[$fontHashCode])) { + $fontIndex = $this->addedFonts[$fontHashCode]; + } else { + $countFonts = count($this->fontWriters); + $fontIndex = ($countFonts < 4) ? $countFonts : $countFonts + 1; + + $fontWriter = new PHPExcel_Writer_Excel5_Font($font); + $fontWriter->setColorIndex($this->addColor($font->getColor()->getRGB())); + $this->fontWriters[] = $fontWriter; + + $this->addedFonts[$fontHashCode] = $fontIndex; + } + return $fontIndex; + } + + /** + * Alter color palette adding a custom color + * + * @param string $rgb E.g. 'FF00AA' + * @return int Color index + */ + private function addColor($rgb) + { + if (!isset($this->colors[$rgb])) { + if (count($this->colors) < 57) { + // then we add a custom color altering the palette + $colorIndex = 8 + count($this->colors); + $this->palette[$colorIndex] = + array( + hexdec(substr($rgb, 0, 2)), + hexdec(substr($rgb, 2, 2)), + hexdec(substr($rgb, 4)), + 0 + ); + $this->colors[$rgb] = $colorIndex; + } else { + // no room for more custom colors, just map to black + $colorIndex = 0; + } + } else { + // fetch already added custom color + $colorIndex = $this->colors[$rgb]; + } + + return $colorIndex; + } + + /** + * Sets the colour palette to the Excel 97+ default. + * + * @access private + */ + private function setPaletteXl97() + { + $this->palette = array( + 0x08 => array(0x00, 0x00, 0x00, 0x00), + 0x09 => array(0xff, 0xff, 0xff, 0x00), + 0x0A => array(0xff, 0x00, 0x00, 0x00), + 0x0B => array(0x00, 0xff, 0x00, 0x00), + 0x0C => array(0x00, 0x00, 0xff, 0x00), + 0x0D => array(0xff, 0xff, 0x00, 0x00), + 0x0E => array(0xff, 0x00, 0xff, 0x00), + 0x0F => array(0x00, 0xff, 0xff, 0x00), + 0x10 => array(0x80, 0x00, 0x00, 0x00), + 0x11 => array(0x00, 0x80, 0x00, 0x00), + 0x12 => array(0x00, 0x00, 0x80, 0x00), + 0x13 => array(0x80, 0x80, 0x00, 0x00), + 0x14 => array(0x80, 0x00, 0x80, 0x00), + 0x15 => array(0x00, 0x80, 0x80, 0x00), + 0x16 => array(0xc0, 0xc0, 0xc0, 0x00), + 0x17 => array(0x80, 0x80, 0x80, 0x00), + 0x18 => array(0x99, 0x99, 0xff, 0x00), + 0x19 => array(0x99, 0x33, 0x66, 0x00), + 0x1A => array(0xff, 0xff, 0xcc, 0x00), + 0x1B => array(0xcc, 0xff, 0xff, 0x00), + 0x1C => array(0x66, 0x00, 0x66, 0x00), + 0x1D => array(0xff, 0x80, 0x80, 0x00), + 0x1E => array(0x00, 0x66, 0xcc, 0x00), + 0x1F => array(0xcc, 0xcc, 0xff, 0x00), + 0x20 => array(0x00, 0x00, 0x80, 0x00), + 0x21 => array(0xff, 0x00, 0xff, 0x00), + 0x22 => array(0xff, 0xff, 0x00, 0x00), + 0x23 => array(0x00, 0xff, 0xff, 0x00), + 0x24 => array(0x80, 0x00, 0x80, 0x00), + 0x25 => array(0x80, 0x00, 0x00, 0x00), + 0x26 => array(0x00, 0x80, 0x80, 0x00), + 0x27 => array(0x00, 0x00, 0xff, 0x00), + 0x28 => array(0x00, 0xcc, 0xff, 0x00), + 0x29 => array(0xcc, 0xff, 0xff, 0x00), + 0x2A => array(0xcc, 0xff, 0xcc, 0x00), + 0x2B => array(0xff, 0xff, 0x99, 0x00), + 0x2C => array(0x99, 0xcc, 0xff, 0x00), + 0x2D => array(0xff, 0x99, 0xcc, 0x00), + 0x2E => array(0xcc, 0x99, 0xff, 0x00), + 0x2F => array(0xff, 0xcc, 0x99, 0x00), + 0x30 => array(0x33, 0x66, 0xff, 0x00), + 0x31 => array(0x33, 0xcc, 0xcc, 0x00), + 0x32 => array(0x99, 0xcc, 0x00, 0x00), + 0x33 => array(0xff, 0xcc, 0x00, 0x00), + 0x34 => array(0xff, 0x99, 0x00, 0x00), + 0x35 => array(0xff, 0x66, 0x00, 0x00), + 0x36 => array(0x66, 0x66, 0x99, 0x00), + 0x37 => array(0x96, 0x96, 0x96, 0x00), + 0x38 => array(0x00, 0x33, 0x66, 0x00), + 0x39 => array(0x33, 0x99, 0x66, 0x00), + 0x3A => array(0x00, 0x33, 0x00, 0x00), + 0x3B => array(0x33, 0x33, 0x00, 0x00), + 0x3C => array(0x99, 0x33, 0x00, 0x00), + 0x3D => array(0x99, 0x33, 0x66, 0x00), + 0x3E => array(0x33, 0x33, 0x99, 0x00), + 0x3F => array(0x33, 0x33, 0x33, 0x00), + ); + } + + /** + * Assemble worksheets into a workbook and send the BIFF data to an OLE + * storage. + * + * @param array $pWorksheetSizes The sizes in bytes of the binary worksheet streams + * @return string Binary data for workbook stream + */ + public function writeWorkbook($pWorksheetSizes = null) + { + $this->worksheetSizes = $pWorksheetSizes; + + // Calculate the number of selected worksheet tabs and call the finalization + // methods for each worksheet + $total_worksheets = $this->phpExcel->getSheetCount(); + + // Add part 1 of the Workbook globals, what goes before the SHEET records + $this->storeBof(0x0005); + $this->writeCodepage(); + $this->writeWindow1(); + + $this->writeDateMode(); + $this->writeAllFonts(); + $this->writeAllNumberFormats(); + $this->writeAllXfs(); + $this->writeAllStyles(); + $this->writePalette(); + + // Prepare part 3 of the workbook global stream, what goes after the SHEET records + $part3 = ''; + if ($this->countryCode != -1) { + $part3 .= $this->writeCountry(); + } + $part3 .= $this->writeRecalcId(); + + $part3 .= $this->writeSupbookInternal(); + /* TODO: store external SUPBOOK records and XCT and CRN records + in case of external references for BIFF8 */ + $part3 .= $this->writeExternalsheetBiff8(); + $part3 .= $this->writeAllDefinedNamesBiff8(); + $part3 .= $this->writeMsoDrawingGroup(); + $part3 .= $this->writeSharedStringsTable(); + + $part3 .= $this->writeEof(); + + // Add part 2 of the Workbook globals, the SHEET records + $this->calcSheetOffsets(); + for ($i = 0; $i < $total_worksheets; ++$i) { + $this->writeBoundSheet($this->phpExcel->getSheet($i), $this->worksheetOffsets[$i]); + } + + // Add part 3 of the Workbook globals + $this->_data .= $part3; + + return $this->_data; + } + + /** + * Calculate offsets for Worksheet BOF records. + * + * @access private + */ + private function calcSheetOffsets() + { + $boundsheet_length = 10; // fixed length for a BOUNDSHEET record + + // size of Workbook globals part 1 + 3 + $offset = $this->_datasize; + + // add size of Workbook globals part 2, the length of the SHEET records + $total_worksheets = count($this->phpExcel->getAllSheets()); + foreach ($this->phpExcel->getWorksheetIterator() as $sheet) { + $offset += $boundsheet_length + strlen(PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheet->getTitle())); + } + + // add the sizes of each of the Sheet substreams, respectively + for ($i = 0; $i < $total_worksheets; ++$i) { + $this->worksheetOffsets[$i] = $offset; + $offset += $this->worksheetSizes[$i]; + } + $this->biffSize = $offset; + } + + /** + * Store the Excel FONT records. + */ + private function writeAllFonts() + { + foreach ($this->fontWriters as $fontWriter) { + $this->append($fontWriter->writeFont()); + } + } + + /** + * Store user defined numerical formats i.e. FORMAT records + */ + private function writeAllNumberFormats() + { + foreach ($this->numberFormats as $numberFormatIndex => $numberFormat) { + $this->writeNumberFormat($numberFormat->getFormatCode(), $numberFormatIndex); + } + } + + /** + * Write all XF records. + */ + private function writeAllXfs() + { + foreach ($this->xfWriters as $xfWriter) { + $this->append($xfWriter->writeXf()); + } + } + + /** + * Write all STYLE records. + */ + private function writeAllStyles() + { + $this->writeStyle(); + } + + /** + * Write the EXTERNCOUNT and EXTERNSHEET records. These are used as indexes for + * the NAME records. + */ + private function writeExternals() + { + $countSheets = $this->phpExcel->getSheetCount(); + // Create EXTERNCOUNT with number of worksheets + $this->writeExternalCount($countSheets); + + // Create EXTERNSHEET for each worksheet + for ($i = 0; $i < $countSheets; ++$i) { + $this->writeExternalSheet($this->phpExcel->getSheet($i)->getTitle()); + } + } + + /** + * Write the NAME record to define the print area and the repeat rows and cols. + */ + private function writeNames() + { + // total number of sheets + $total_worksheets = $this->phpExcel->getSheetCount(); + + // Create the print area NAME records + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->phpExcel->getSheet($i)->getPageSetup(); + // Write a Name record if the print area has been defined + if ($sheetSetup->isPrintAreaSet()) { + // Print area + $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); + $printArea = $printArea[0]; + $printArea[0] = PHPExcel_Cell::coordinateFromString($printArea[0]); + $printArea[1] = PHPExcel_Cell::coordinateFromString($printArea[1]); + + $print_rowmin = $printArea[0][1] - 1; + $print_rowmax = $printArea[1][1] - 1; + $print_colmin = PHPExcel_Cell::columnIndexFromString($printArea[0][0]) - 1; + $print_colmax = PHPExcel_Cell::columnIndexFromString($printArea[1][0]) - 1; + + $this->writeNameShort( + $i, // sheet index + 0x06, // NAME type + $print_rowmin, + $print_rowmax, + $print_colmin, + $print_colmax + ); + } + } + + // Create the print title NAME records + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->phpExcel->getSheet($i)->getPageSetup(); + + // simultaneous repeatColumns repeatRows + if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + + $this->writeNameLong( + $i, // sheet index + 0x07, // NAME type + $rowmin, + $rowmax, + $colmin, + $colmax + ); + + // (exclusive) either repeatColumns or repeatRows + } elseif ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { + // Columns to repeat + if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + } else { + $colmin = 0; + $colmax = 255; + } + + // Rows to repeat + if ($sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + } else { + $rowmin = 0; + $rowmax = 65535; + } + + $this->writeNameShort( + $i, // sheet index + 0x07, // NAME type + $rowmin, + $rowmax, + $colmin, + $colmax + ); + } + } + } + + /** + * Writes all the DEFINEDNAME records (BIFF8). + * So far this is only used for repeating rows/columns (print titles) and print areas + */ + private function writeAllDefinedNamesBiff8() + { + $chunk = ''; + + // Named ranges + if (count($this->phpExcel->getNamedRanges()) > 0) { + // Loop named ranges + $namedRanges = $this->phpExcel->getNamedRanges(); + foreach ($namedRanges as $namedRange) { + // Create absolute coordinate + $range = PHPExcel_Cell::splitRange($namedRange->getRange()); + for ($i = 0; $i < count($range); $i++) { + $range[$i][0] = '\'' . str_replace("'", "''", $namedRange->getWorksheet()->getTitle()) . '\'!' . PHPExcel_Cell::absoluteCoordinate($range[$i][0]); + if (isset($range[$i][1])) { + $range[$i][1] = PHPExcel_Cell::absoluteCoordinate($range[$i][1]); + } + } + $range = PHPExcel_Cell::buildRange($range); // e.g. Sheet1!$A$1:$B$2 + + // parse formula + try { + $error = $this->parser->parse($range); + $formulaData = $this->parser->toReversePolish(); + + // make sure tRef3d is of type tRef3dR (0x3A) + if (isset($formulaData{0}) and ($formulaData{0} == "\x7A" or $formulaData{0} == "\x5A")) { + $formulaData = "\x3A" . substr($formulaData, 1); + } + + if ($namedRange->getLocalOnly()) { + // local scope + $scope = $this->phpExcel->getIndex($namedRange->getScope()) + 1; + } else { + // global scope + $scope = 0; + } + $chunk .= $this->writeData($this->writeDefinedNameBiff8($namedRange->getName(), $formulaData, $scope, false)); + + } catch (PHPExcel_Exception $e) { + // do nothing + } + } + } + + // total number of sheets + $total_worksheets = $this->phpExcel->getSheetCount(); + + // write the print titles (repeating rows, columns), if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->phpExcel->getSheet($i)->getPageSetup(); + // simultaneous repeatColumns repeatRows + if ($sheetSetup->isColumnsToRepeatAtLeftSet() && $sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + + // construct formula data manually + $formulaData = pack('Cv', 0x29, 0x17); // tMemFunc + $formulaData .= pack('Cvvvvv', 0x3B, $i, 0, 65535, $colmin, $colmax); // tArea3d + $formulaData .= pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, 0, 255); // tArea3d + $formulaData .= pack('C', 0x10); // tList + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); + + // (exclusive) either repeatColumns or repeatRows + } elseif ($sheetSetup->isColumnsToRepeatAtLeftSet() || $sheetSetup->isRowsToRepeatAtTopSet()) { + // Columns to repeat + if ($sheetSetup->isColumnsToRepeatAtLeftSet()) { + $repeat = $sheetSetup->getColumnsToRepeatAtLeft(); + $colmin = PHPExcel_Cell::columnIndexFromString($repeat[0]) - 1; + $colmax = PHPExcel_Cell::columnIndexFromString($repeat[1]) - 1; + } else { + $colmin = 0; + $colmax = 255; + } + // Rows to repeat + if ($sheetSetup->isRowsToRepeatAtTopSet()) { + $repeat = $sheetSetup->getRowsToRepeatAtTop(); + $rowmin = $repeat[0] - 1; + $rowmax = $repeat[1] - 1; + } else { + $rowmin = 0; + $rowmax = 65535; + } + + // construct formula data manually because parser does not recognize absolute 3d cell references + $formulaData = pack('Cvvvvv', 0x3B, $i, $rowmin, $rowmax, $colmin, $colmax); + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->writeDefinedNameBiff8(pack('C', 0x07), $formulaData, $i + 1, true)); + } + } + + // write the print areas, if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetSetup = $this->phpExcel->getSheet($i)->getPageSetup(); + if ($sheetSetup->isPrintAreaSet()) { + // Print area, e.g. A3:J6,H1:X20 + $printArea = PHPExcel_Cell::splitRange($sheetSetup->getPrintArea()); + $countPrintArea = count($printArea); + + $formulaData = ''; + for ($j = 0; $j < $countPrintArea; ++$j) { + $printAreaRect = $printArea[$j]; // e.g. A3:J6 + $printAreaRect[0] = PHPExcel_Cell::coordinateFromString($printAreaRect[0]); + $printAreaRect[1] = PHPExcel_Cell::coordinateFromString($printAreaRect[1]); + + $print_rowmin = $printAreaRect[0][1] - 1; + $print_rowmax = $printAreaRect[1][1] - 1; + $print_colmin = PHPExcel_Cell::columnIndexFromString($printAreaRect[0][0]) - 1; + $print_colmax = PHPExcel_Cell::columnIndexFromString($printAreaRect[1][0]) - 1; + + // construct formula data manually because parser does not recognize absolute 3d cell references + $formulaData .= pack('Cvvvvv', 0x3B, $i, $print_rowmin, $print_rowmax, $print_colmin, $print_colmax); + + if ($j > 0) { + $formulaData .= pack('C', 0x10); // list operator token ',' + } + } + + // store the DEFINEDNAME record + $chunk .= $this->writeData($this->writeDefinedNameBiff8(pack('C', 0x06), $formulaData, $i + 1, true)); + } + } + + // write autofilters, if any + for ($i = 0; $i < $total_worksheets; ++$i) { + $sheetAutoFilter = $this->phpExcel->getSheet($i)->getAutoFilter(); + $autoFilterRange = $sheetAutoFilter->getRange(); + if (!empty($autoFilterRange)) { + $rangeBounds = PHPExcel_Cell::rangeBoundaries($autoFilterRange); + + //Autofilter built in name + $name = pack('C', 0x0D); + + $chunk .= $this->writeData($this->writeShortNameBiff8($name, $i + 1, $rangeBounds, true)); + } + } + + return $chunk; + } + + /** + * Write a DEFINEDNAME record for BIFF8 using explicit binary formula data + * + * @param string $name The name in UTF-8 + * @param string $formulaData The binary formula data + * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global + * @param boolean $isBuiltIn Built-in name? + * @return string Complete binary record data + */ + private function writeDefinedNameBiff8($name, $formulaData, $sheetIndex = 0, $isBuiltIn = false) + { + $record = 0x0018; + + // option flags + $options = $isBuiltIn ? 0x20 : 0x00; + + // length of the name, character count + $nlen = PHPExcel_Shared_String::CountCharacters($name); + + // name with stripped length field + $name = substr(PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($name), 2); + + // size of the formula (in bytes) + $sz = strlen($formulaData); + + // combine the parts + $data = pack('vCCvvvCCCC', $options, 0, $nlen, $sz, 0, $sheetIndex, 0, 0, 0, 0) + . $name . $formulaData; + $length = strlen($data); + + $header = pack('vv', $record, $length); + + return $header . $data; + } + + /** + * Write a short NAME record + * + * @param string $name + * @param string $sheetIndex 1-based sheet index the defined name applies to. 0 = global + * @param integer[][] $rangeBounds range boundaries + * @param boolean $isHidden + * @return string Complete binary record data + * */ + private function writeShortNameBiff8($name, $sheetIndex = 0, $rangeBounds, $isHidden = false) + { + $record = 0x0018; + + // option flags + $options = ($isHidden ? 0x21 : 0x00); + + $extra = pack( + 'Cvvvvv', + 0x3B, + $sheetIndex - 1, + $rangeBounds[0][1] - 1, + $rangeBounds[1][1] - 1, + $rangeBounds[0][0] - 1, + $rangeBounds[1][0] - 1 + ); + + // size of the formula (in bytes) + $sz = strlen($extra); + + // combine the parts + $data = pack('vCCvvvCCCCC', $options, 0, 1, $sz, 0, $sheetIndex, 0, 0, 0, 0, 0) + . $name . $extra; + $length = strlen($data); + + $header = pack('vv', $record, $length); + + return $header . $data; + } + + /** + * Stores the CODEPAGE biff record. + */ + private function writeCodepage() + { + $record = 0x0042; // Record identifier + $length = 0x0002; // Number of bytes to follow + $cv = $this->codepage; // The code page + + $header = pack('vv', $record, $length); + $data = pack('v', $cv); + + $this->append($header . $data); + } + + /** + * Write Excel BIFF WINDOW1 record. + */ + private function writeWindow1() + { + $record = 0x003D; // Record identifier + $length = 0x0012; // Number of bytes to follow + + $xWn = 0x0000; // Horizontal position of window + $yWn = 0x0000; // Vertical position of window + $dxWn = 0x25BC; // Width of window + $dyWn = 0x1572; // Height of window + + $grbit = 0x0038; // Option flags + + // not supported by PHPExcel, so there is only one selected sheet, the active + $ctabsel = 1; // Number of workbook tabs selected + + $wTabRatio = 0x0258; // Tab to scrollbar ratio + + // not supported by PHPExcel, set to 0 + $itabFirst = 0; // 1st displayed worksheet + $itabCur = $this->phpExcel->getActiveSheetIndex(); // Active worksheet + + $header = pack("vv", $record, $length); + $data = pack("vvvvvvvvv", $xWn, $yWn, $dxWn, $dyWn, $grbit, $itabCur, $itabFirst, $ctabsel, $wTabRatio); + $this->append($header . $data); + } + + /** + * Writes Excel BIFF BOUNDSHEET record. + * + * @param PHPExcel_Worksheet $sheet Worksheet name + * @param integer $offset Location of worksheet BOF + */ + private function writeBoundSheet($sheet, $offset) + { + $sheetname = $sheet->getTitle(); + $record = 0x0085; // Record identifier + + // sheet state + switch ($sheet->getSheetState()) { + case PHPExcel_Worksheet::SHEETSTATE_VISIBLE: + $ss = 0x00; + break; + case PHPExcel_Worksheet::SHEETSTATE_HIDDEN: + $ss = 0x01; + break; + case PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN: + $ss = 0x02; + break; + default: + $ss = 0x00; + break; + } + + // sheet type + $st = 0x00; + + $grbit = 0x0000; // Visibility and sheet type + + $data = pack("VCC", $offset, $ss, $st); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($sheetname); + + $length = strlen($data); + $header = pack("vv", $record, $length); + $this->append($header . $data); + } + + /** + * Write Internal SUPBOOK record + */ + private function writeSupbookInternal() + { + $record = 0x01AE; // Record identifier + $length = 0x0004; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", $this->phpExcel->getSheetCount(), 0x0401); + return $this->writeData($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. + * + */ + private function writeExternalsheetBiff8() + { + $totalReferences = count($this->parser->references); + $record = 0x0017; // Record identifier + $length = 2 + 6 * $totalReferences; // Number of bytes to follow + + $supbook_index = 0; // FIXME: only using internal SUPBOOK record + $header = pack("vv", $record, $length); + $data = pack('v', $totalReferences); + for ($i = 0; $i < $totalReferences; ++$i) { + $data .= $this->parser->references[$i]; + } + return $this->writeData($header . $data); + } + + /** + * Write Excel BIFF STYLE records. + */ + private function writeStyle() + { + $record = 0x0293; // Record identifier + $length = 0x0004; // Bytes to follow + + $ixfe = 0x8000; // Index to cell style XF + $BuiltIn = 0x00; // Built-in style + $iLevel = 0xff; // Outline style level + + $header = pack("vv", $record, $length); + $data = pack("vCC", $ixfe, $BuiltIn, $iLevel); + $this->append($header . $data); + } + + /** + * Writes Excel FORMAT record for non "built-in" numerical formats. + * + * @param string $format Custom format string + * @param integer $ifmt Format index code + */ + private function writeNumberFormat($format, $ifmt) + { + $record = 0x041E; // Record identifier + + $numberFormatString = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($format); + $length = 2 + strlen($numberFormatString); // Number of bytes to follow + + + $header = pack("vv", $record, $length); + $data = pack("v", $ifmt) . $numberFormatString; + $this->append($header . $data); + } + + /** + * Write DATEMODE record to indicate the date system in use (1904 or 1900). + */ + private function writeDateMode() + { + $record = 0x0022; // Record identifier + $length = 0x0002; // Bytes to follow + + $f1904 = (PHPExcel_Shared_Date::getExcelCalendar() == PHPExcel_Shared_Date::CALENDAR_MAC_1904) + ? 1 + : 0; // Flag for 1904 date system + + $header = pack("vv", $record, $length); + $data = pack("v", $f1904); + $this->append($header . $data); + } + + /** + * Write BIFF record EXTERNCOUNT to indicate the number of external sheet + * references in the workbook. + * + * Excel only stores references to external sheets that are used in NAME. + * The workbook NAME record is required to define the print area and the repeat + * rows and columns. + * + * A similar method is used in Worksheet.php for a slightly different purpose. + * + * @param integer $cxals Number of external references + */ + private function writeExternalCount($cxals) + { + $record = 0x0016; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cxals); + $this->append($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. NAME record is required to define the print area and the repeat + * rows and columns. + * + * A similar method is used in Worksheet.php for a slightly different purpose. + * + * @param string $sheetname Worksheet name + */ + private function writeExternalSheet($sheetname) + { + $record = 0x0017; // Record identifier + $length = 0x02 + strlen($sheetname); // Number of bytes to follow + + $cch = strlen($sheetname); // Length of sheet name + $rgch = 0x03; // Filename encoding + + $header = pack("vv", $record, $length); + $data = pack("CC", $cch, $rgch); + $this->append($header . $data . $sheetname); + } + + /** + * Store the NAME record in the short format that is used for storing the print + * area, repeat rows only and repeat columns only. + * + * @param integer $index Sheet index + * @param integer $type Built-in name type + * @param integer $rowmin Start row + * @param integer $rowmax End row + * @param integer $colmin Start colum + * @param integer $colmax End column + */ + private function writeNameShort($index, $type, $rowmin, $rowmax, $colmin, $colmax) + { + $record = 0x0018; // Record identifier + $length = 0x0024; // Number of bytes to follow + + $grbit = 0x0020; // Option flags + $chKey = 0x00; // Keyboard shortcut + $cch = 0x01; // Length of text name + $cce = 0x0015; // Length of text definition + $ixals = $index + 1; // Sheet index + $itab = $ixals; // Equal to ixals + $cchCustMenu = 0x00; // Length of cust menu text + $cchDescription = 0x00; // Length of description text + $cchHelptopic = 0x00; // Length of help topic text + $cchStatustext = 0x00; // Length of status bar text + $rgch = $type; // Built-in name type + + $unknown03 = 0x3b; + $unknown04 = 0xffff - $index; + $unknown05 = 0x0000; + $unknown06 = 0x0000; + $unknown07 = 0x1087; + $unknown08 = 0x8005; + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $data .= pack("C", $chKey); + $data .= pack("C", $cch); + $data .= pack("v", $cce); + $data .= pack("v", $ixals); + $data .= pack("v", $itab); + $data .= pack("C", $cchCustMenu); + $data .= pack("C", $cchDescription); + $data .= pack("C", $cchHelptopic); + $data .= pack("C", $cchStatustext); + $data .= pack("C", $rgch); + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", $rowmin); + $data .= pack("v", $rowmax); + $data .= pack("C", $colmin); + $data .= pack("C", $colmax); + $this->append($header . $data); + } + + /** + * Store the NAME record in the long format that is used for storing the repeat + * rows and columns when both are specified. This shares a lot of code with + * writeNameShort() but we use a separate method to keep the code clean. + * Code abstraction for reuse can be carried too far, and I should know. ;-) + * + * @param integer $index Sheet index + * @param integer $type Built-in name type + * @param integer $rowmin Start row + * @param integer $rowmax End row + * @param integer $colmin Start colum + * @param integer $colmax End column + */ + private function writeNameLong($index, $type, $rowmin, $rowmax, $colmin, $colmax) + { + $record = 0x0018; // Record identifier + $length = 0x003d; // Number of bytes to follow + $grbit = 0x0020; // Option flags + $chKey = 0x00; // Keyboard shortcut + $cch = 0x01; // Length of text name + $cce = 0x002e; // Length of text definition + $ixals = $index + 1; // Sheet index + $itab = $ixals; // Equal to ixals + $cchCustMenu = 0x00; // Length of cust menu text + $cchDescription = 0x00; // Length of description text + $cchHelptopic = 0x00; // Length of help topic text + $cchStatustext = 0x00; // Length of status bar text + $rgch = $type; // Built-in name type + + $unknown01 = 0x29; + $unknown02 = 0x002b; + $unknown03 = 0x3b; + $unknown04 = 0xffff-$index; + $unknown05 = 0x0000; + $unknown06 = 0x0000; + $unknown07 = 0x1087; + $unknown08 = 0x8008; + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $data .= pack("C", $chKey); + $data .= pack("C", $cch); + $data .= pack("v", $cce); + $data .= pack("v", $ixals); + $data .= pack("v", $itab); + $data .= pack("C", $cchCustMenu); + $data .= pack("C", $cchDescription); + $data .= pack("C", $cchHelptopic); + $data .= pack("C", $cchStatustext); + $data .= pack("C", $rgch); + $data .= pack("C", $unknown01); + $data .= pack("v", $unknown02); + // Column definition + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", 0x0000); + $data .= pack("v", 0x3fff); + $data .= pack("C", $colmin); + $data .= pack("C", $colmax); + // Row definition + $data .= pack("C", $unknown03); + $data .= pack("v", $unknown04); + $data .= pack("v", $unknown05); + $data .= pack("v", $unknown06); + $data .= pack("v", $unknown07); + $data .= pack("v", $unknown08); + $data .= pack("v", $index); + $data .= pack("v", $index); + $data .= pack("v", $rowmin); + $data .= pack("v", $rowmax); + $data .= pack("C", 0x00); + $data .= pack("C", 0xff); + // End of data + $data .= pack("C", 0x10); + $this->append($header . $data); + } + + /** + * Stores the COUNTRY record for localization + * + * @return string + */ + private function writeCountry() + { + $record = 0x008C; // Record identifier + $length = 4; // Number of bytes to follow + + $header = pack('vv', $record, $length); + /* using the same country code always for simplicity */ + $data = pack('vv', $this->countryCode, $this->countryCode); + //$this->append($header . $data); + return $this->writeData($header . $data); + } + + /** + * Write the RECALCID record + * + * @return string + */ + private function writeRecalcId() + { + $record = 0x01C1; // Record identifier + $length = 8; // Number of bytes to follow + + $header = pack('vv', $record, $length); + + // by inspection of real Excel files, MS Office Excel 2007 writes this + $data = pack('VV', 0x000001C1, 0x00001E667); + + return $this->writeData($header . $data); + } + + /** + * Stores the PALETTE biff record. + */ + private function writePalette() + { + $aref = $this->palette; + + $record = 0x0092; // Record identifier + $length = 2 + 4 * count($aref); // Number of bytes to follow + $ccv = count($aref); // Number of RGB values to follow + $data = ''; // The RGB data + + // Pack the RGB data + foreach ($aref as $color) { + foreach ($color as $byte) { + $data .= pack("C", $byte); + } + } + + $header = pack("vvv", $record, $length, $ccv); + $this->append($header . $data); + } + + /** + * Handling of the SST continue blocks is complicated by the need to include an + * additional continuation byte depending on whether the string is split between + * blocks or whether it starts at the beginning of the block. (There are also + * additional complications that will arise later when/if Rich Strings are + * supported). + * + * The Excel documentation says that the SST record should be followed by an + * EXTSST record. The EXTSST record is a hash table that is used to optimise + * access to SST. However, despite the documentation it doesn't seem to be + * required so we will ignore it. + * + * @return string Binary data + */ + private function writeSharedStringsTable() + { + // maximum size of record data (excluding record header) + $continue_limit = 8224; + + // initialize array of record data blocks + $recordDatas = array(); + + // start SST record data block with total number of strings, total number of unique strings + $recordData = pack("VV", $this->stringTotal, $this->stringUnique); + + // loop through all (unique) strings in shared strings table + foreach (array_keys($this->stringTable) as $string) { + // here $string is a BIFF8 encoded string + + // length = character count + $headerinfo = unpack("vlength/Cencoding", $string); + + // currently, this is always 1 = uncompressed + $encoding = $headerinfo["encoding"]; + + // initialize finished writing current $string + $finished = false; + + while ($finished === false) { + // normally, there will be only one cycle, but if string cannot immediately be written as is + // there will be need for more than one cylcle, if string longer than one record data block, there + // may be need for even more cycles + + if (strlen($recordData) + strlen($string) <= $continue_limit) { + // then we can write the string (or remainder of string) without any problems + $recordData .= $string; + + if (strlen($recordData) + strlen($string) == $continue_limit) { + // we close the record data block, and initialize a new one + $recordDatas[] = $recordData; + $recordData = ''; + } + + // we are finished writing this string + $finished = true; + } else { + // special treatment writing the string (or remainder of the string) + // If the string is very long it may need to be written in more than one CONTINUE record. + + // check how many bytes more there is room for in the current record + $space_remaining = $continue_limit - strlen($recordData); + + // minimum space needed + // uncompressed: 2 byte string length length field + 1 byte option flags + 2 byte character + // compressed: 2 byte string length length field + 1 byte option flags + 1 byte character + $min_space_needed = ($encoding == 1) ? 5 : 4; + + // We have two cases + // 1. space remaining is less than minimum space needed + // here we must waste the space remaining and move to next record data block + // 2. space remaining is greater than or equal to minimum space needed + // here we write as much as we can in the current block, then move to next record data block + + // 1. space remaining is less than minimum space needed + if ($space_remaining < $min_space_needed) { + // we close the block, store the block data + $recordDatas[] = $recordData; + + // and start new record data block where we start writing the string + $recordData = ''; + + // 2. space remaining is greater than or equal to minimum space needed + } else { + // initialize effective remaining space, for Unicode strings this may need to be reduced by 1, see below + $effective_space_remaining = $space_remaining; + + // for uncompressed strings, sometimes effective space remaining is reduced by 1 + if ($encoding == 1 && (strlen($string) - $space_remaining) % 2 == 1) { + --$effective_space_remaining; + } + + // one block fininshed, store the block data + $recordData .= substr($string, 0, $effective_space_remaining); + + $string = substr($string, $effective_space_remaining); // for next cycle in while loop + $recordDatas[] = $recordData; + + // start new record data block with the repeated option flags + $recordData = pack('C', $encoding); + } + } + } + } + + // Store the last record data block unless it is empty + // if there was no need for any continue records, this will be the for SST record data block itself + if (strlen($recordData) > 0) { + $recordDatas[] = $recordData; + } + + // combine into one chunk with all the blocks SST, CONTINUE,... + $chunk = ''; + foreach ($recordDatas as $i => $recordData) { + // first block should have the SST record header, remaing should have CONTINUE header + $record = ($i == 0) ? 0x00FC : 0x003C; + + $header = pack("vv", $record, strlen($recordData)); + $data = $header . $recordData; + + $chunk .= $this->writeData($data); + } + + return $chunk; + } + + /** + * Writes the MSODRAWINGGROUP record if needed. Possibly split using CONTINUE records. + */ + private function writeMsoDrawingGroup() + { + // write the Escher stream if necessary + if (isset($this->escher)) { + $writer = new PHPExcel_Writer_Excel5_Escher($this->escher); + $data = $writer->close(); + + $record = 0x00EB; + $length = strlen($data); + $header = pack("vv", $record, $length); + + return $this->writeData($header . $data); + } else { + return ''; + } + } + + /** + * Get Escher object + * + * @return PHPExcel_Shared_Escher + */ + public function getEscher() + { + return $this->escher; + } + + /** + * Set Escher object + * + * @param PHPExcel_Shared_Escher $pValue + */ + public function setEscher(PHPExcel_Shared_Escher $pValue = null) + { + $this->escher = $pValue; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php index fb75499b1..be965e23d 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Worksheet.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_Worksheet * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +21,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -59,3623 +60,4181 @@ // * License along with this library; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // */ - - -/** - * PHPExcel_Writer_Excel5_Worksheet - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_Worksheet extends PHPExcel_Writer_Excel5_BIFFwriter { - /** - * Formula parser - * - * @var PHPExcel_Writer_Excel5_Parser - */ - private $_parser; - - /** - * Maximum number of characters for a string (LABEL record in BIFF5) - * @var integer - */ - public $_xls_strmax; - - /** - * Array containing format information for columns - * @var array - */ - public $_colinfo; - - /** - * Array containing the selected area for the worksheet - * @var array - */ - public $_selection; - - /** - * The active pane for the worksheet - * @var integer - */ - public $_active_pane; - - /** - * Whether to use outline. - * @var integer - */ - public $_outline_on; - - /** - * Auto outline styles. - * @var bool - */ - public $_outline_style; - - /** - * Whether to have outline summary below. - * @var bool - */ - public $_outline_below; - - /** - * Whether to have outline summary at the right. - * @var bool - */ - public $_outline_right; - - /** - * Reference to the total number of strings in the workbook - * @var integer - */ - public $_str_total; - - /** - * Reference to the number of unique strings in the workbook - * @var integer - */ - public $_str_unique; - - /** - * Reference to the array containing all the unique strings in the workbook - * @var array - */ - public $_str_table; - - /** - * Color cache - */ - private $_colors; - - /** - * Index of first used row (at least 0) - * @var int - */ - private $_firstRowIndex; - - /** - * Index of last used row. (no used rows means -1) - * @var int - */ - private $_lastRowIndex; - - /** - * Index of first used column (at least 0) - * @var int - */ - private $_firstColumnIndex; - - /** - * Index of last used column (no used columns means -1) - * @var int - */ - private $_lastColumnIndex; - - /** - * Sheet object - * @var PHPExcel_Worksheet - */ - public $_phpSheet; - - /** - * Count cell style Xfs - * - * @var int - */ - private $_countCellStyleXfs; - - /** - * Escher object corresponding to MSODRAWING - * - * @var PHPExcel_Shared_Escher - */ - private $_escher; - - /** - * Array of font hashes associated to FONT records index - * - * @var array - */ - public $_fntHashIndex; - - /** - * Constructor - * - * @param int &$str_total Total number of strings - * @param int &$str_unique Total number of unique strings - * @param array &$str_table String Table - * @param array &$colors Colour Table - * @param mixed $parser The formula parser created for the Workbook - * @param boolean $preCalculateFormulas Flag indicating whether formulas should be calculated or just written - * @param string $phpSheet The worksheet to write - * @param PHPExcel_Worksheet $phpSheet - */ - public function __construct(&$str_total, &$str_unique, &$str_table, &$colors, - $parser, $preCalculateFormulas, $phpSheet) - { - // It needs to call its parent's constructor explicitly - parent::__construct(); - - // change BIFFwriter limit for CONTINUE records -// $this->_limit = 8224; - - - $this->_preCalculateFormulas = $preCalculateFormulas; - $this->_str_total = &$str_total; - $this->_str_unique = &$str_unique; - $this->_str_table = &$str_table; - $this->_colors = &$colors; - $this->_parser = $parser; - - $this->_phpSheet = $phpSheet; - - //$this->ext_sheets = array(); - //$this->offset = 0; - $this->_xls_strmax = 255; - $this->_colinfo = array(); - $this->_selection = array(0,0,0,0); - $this->_active_pane = 3; - - $this->_print_headers = 0; - - $this->_outline_style = 0; - $this->_outline_below = 1; - $this->_outline_right = 1; - $this->_outline_on = 1; - - $this->_fntHashIndex = array(); - - // calculate values for DIMENSIONS record - $minR = 1; - $minC = 'A'; - - $maxR = $this->_phpSheet->getHighestRow(); - $maxC = $this->_phpSheet->getHighestColumn(); - - // Determine lowest and highest column and row -// $this->_firstRowIndex = ($minR > 65535) ? 65535 : $minR; - $this->_lastRowIndex = ($maxR > 65535) ? 65535 : $maxR ; - - $this->_firstColumnIndex = PHPExcel_Cell::columnIndexFromString($minC); - $this->_lastColumnIndex = PHPExcel_Cell::columnIndexFromString($maxC); - -// if ($this->_firstColumnIndex > 255) $this->_firstColumnIndex = 255; - if ($this->_lastColumnIndex > 255) $this->_lastColumnIndex = 255; - - $this->_countCellStyleXfs = count($phpSheet->getParent()->getCellStyleXfCollection()); - } - - /** - * Add data to the beginning of the workbook (note the reverse order) - * and to the end of the workbook. - * - * @access public - * @see PHPExcel_Writer_Excel5_Workbook::storeWorkbook() - */ - function close() - { - $_phpSheet = $this->_phpSheet; - - $num_sheets = $_phpSheet->getParent()->getSheetCount(); - - // Write BOF record - $this->_storeBof(0x0010); - - // Write PRINTHEADERS - $this->_writePrintHeaders(); - - // Write PRINTGRIDLINES - $this->_writePrintGridlines(); - - // Write GRIDSET - $this->_writeGridset(); - - // Calculate column widths - $_phpSheet->calculateColumnWidths(); - - // Column dimensions - if (($defaultWidth = $_phpSheet->getDefaultColumnDimension()->getWidth()) < 0) { - $defaultWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($_phpSheet->getParent()->getDefaultStyle()->getFont()); - } - - $columnDimensions = $_phpSheet->getColumnDimensions(); - $maxCol = $this->_lastColumnIndex -1; - for ($i = 0; $i <= $maxCol; ++$i) { - $hidden = 0; - $level = 0; - $xfIndex = 15; // there are 15 cell style Xfs - - $width = $defaultWidth; - - $columnLetter = PHPExcel_Cell::stringFromColumnIndex($i); - if (isset($columnDimensions[$columnLetter])) { - $columnDimension = $columnDimensions[$columnLetter]; - if ($columnDimension->getWidth() >= 0) { - $width = $columnDimension->getWidth(); - } - $hidden = $columnDimension->getVisible() ? 0 : 1; - $level = $columnDimension->getOutlineLevel(); - $xfIndex = $columnDimension->getXfIndex() + 15; // there are 15 cell style Xfs - } - - // Components of _colinfo: - // $firstcol first column on the range - // $lastcol last column on the range - // $width width to set - // $xfIndex The optional cell style Xf index to apply to the columns - // $hidden The optional hidden atribute - // $level The optional outline level - $this->_colinfo[] = array($i, $i, $width, $xfIndex, $hidden, $level); - } - - // Write GUTS - $this->_writeGuts(); - - // Write DEFAULTROWHEIGHT - $this->_writeDefaultRowHeight(); - - // Write WSBOOL - $this->_writeWsbool(); - - // Write horizontal and vertical page breaks - $this->_writeBreaks(); - - // Write page header - $this->_writeHeader(); - - // Write page footer - $this->_writeFooter(); - - // Write page horizontal centering - $this->_writeHcenter(); - - // Write page vertical centering - $this->_writeVcenter(); - - // Write left margin - $this->_writeMarginLeft(); - - // Write right margin - $this->_writeMarginRight(); - - // Write top margin - $this->_writeMarginTop(); - - // Write bottom margin - $this->_writeMarginBottom(); - - // Write page setup - $this->_writeSetup(); - - // Write sheet protection - $this->_writeProtect(); - - // Write SCENPROTECT - $this->_writeScenProtect(); - - // Write OBJECTPROTECT - $this->_writeObjectProtect(); - - // Write sheet password - $this->_writePassword(); - - // Write DEFCOLWIDTH record - $this->_writeDefcol(); - - // Write the COLINFO records if they exist - if (!empty($this->_colinfo)) { - $colcount = count($this->_colinfo); - for ($i = 0; $i < $colcount; ++$i) { - $this->_writeColinfo($this->_colinfo[$i]); - } - } - $autoFilterRange = $_phpSheet->getAutoFilter()->getRange(); - if (!empty($autoFilterRange)) { - // Write AUTOFILTERINFO - $this->_writeAutoFilterInfo(); - } - - // Write sheet dimensions - $this->_writeDimensions(); - - // Row dimensions - foreach ($_phpSheet->getRowDimensions() as $rowDimension) { - $xfIndex = $rowDimension->getXfIndex() + 15; // there are 15 cellXfs - $this->_writeRow( $rowDimension->getRowIndex() - 1, $rowDimension->getRowHeight(), $xfIndex, ($rowDimension->getVisible() ? '0' : '1'), $rowDimension->getOutlineLevel() ); - } - - // Write Cells - foreach ($_phpSheet->getCellCollection() as $cellID) { - $cell = $_phpSheet->getCell($cellID); - $row = $cell->getRow() - 1; - $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1; - - // Don't break Excel! -// if ($row + 1 > 65536 or $column + 1 > 256) { - if ($row > 65535 || $column > 255) { - break; - } - - // Write cell value - $xfIndex = $cell->getXfIndex() + 15; // there are 15 cell style Xfs - - $cVal = $cell->getValue(); - if ($cVal instanceof PHPExcel_RichText) { - // $this->_writeString($row, $column, $cVal->getPlainText(), $xfIndex); - $arrcRun = array(); - $str_len = PHPExcel_Shared_String::CountCharacters($cVal->getPlainText(), 'UTF-8'); - $str_pos = 0; - $elements = $cVal->getRichTextElements(); - foreach ($elements as $element) { - // FONT Index - if ($element instanceof PHPExcel_RichText_Run) { - $str_fontidx = $this->_fntHashIndex[$element->getFont()->getHashCode()]; - } - else { - $str_fontidx = 0; - } - $arrcRun[] = array('strlen' => $str_pos, 'fontidx' => $str_fontidx); - // Position FROM - $str_pos += PHPExcel_Shared_String::CountCharacters($element->getText(), 'UTF-8'); - } - $this->_writeRichTextString($row, $column, $cVal->getPlainText(), $xfIndex, $arrcRun); - } else { - switch ($cell->getDatatype()) { - case PHPExcel_Cell_DataType::TYPE_STRING: - case PHPExcel_Cell_DataType::TYPE_NULL: - if ($cVal === '' || $cVal === null) { - $this->_writeBlank($row, $column, $xfIndex); - } else { - $this->_writeString($row, $column, $cVal, $xfIndex); - } - break; - - case PHPExcel_Cell_DataType::TYPE_NUMERIC: - $this->_writeNumber($row, $column, $cVal, $xfIndex); - break; - - case PHPExcel_Cell_DataType::TYPE_FORMULA: - $calculatedValue = $this->_preCalculateFormulas ? - $cell->getCalculatedValue() : null; - $this->_writeFormula($row, $column, $cVal, $xfIndex, $calculatedValue); - break; - - case PHPExcel_Cell_DataType::TYPE_BOOL: - $this->_writeBoolErr($row, $column, $cVal, 0, $xfIndex); - break; - - case PHPExcel_Cell_DataType::TYPE_ERROR: - $this->_writeBoolErr($row, $column, self::_mapErrorCode($cVal), 1, $xfIndex); - break; - - } - } - } - - // Append - $this->_writeMsoDrawing(); - - // Write WINDOW2 record - $this->_writeWindow2(); - - // Write PLV record - $this->_writePageLayoutView(); - - // Write ZOOM record - $this->_writeZoom(); - if ($_phpSheet->getFreezePane()) { - $this->_writePanes(); - } - - // Write SELECTION record - $this->_writeSelection(); - - // Write MergedCellsTable Record - $this->_writeMergedCells(); - - // Hyperlinks - foreach ($_phpSheet->getHyperLinkCollection() as $coordinate => $hyperlink) { - list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinate); - - $url = $hyperlink->getUrl(); - - if ( strpos($url, 'sheet://') !== false ) { - // internal to current workbook - $url = str_replace('sheet://', 'internal:', $url); - - } else if ( preg_match('/^(http:|https:|ftp:|mailto:)/', $url) ) { - // URL - // $url = $url; - - } else { - // external (local file) - $url = 'external:' . $url; - } - - $this->_writeUrl($row - 1, PHPExcel_Cell::columnIndexFromString($column) - 1, $url); - } - - $this->_writeDataValidity(); - $this->_writeSheetLayout(); - - // Write SHEETPROTECTION record - $this->_writeSheetProtection(); - $this->_writeRangeProtection(); - - $arrConditionalStyles = $_phpSheet->getConditionalStylesCollection(); - if(!empty($arrConditionalStyles)){ - $arrConditional = array(); - // @todo CFRule & CFHeader - // Write CFHEADER record - $this->_writeCFHeader(); - // Write ConditionalFormattingTable records - foreach ($arrConditionalStyles as $cellCoordinate => $conditionalStyles) { - foreach ($conditionalStyles as $conditional) { - if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION - || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ - if(!in_array($conditional->getHashCode(), $arrConditional)){ - $arrConditional[] = $conditional->getHashCode(); - // Write CFRULE record - $this->_writeCFRule($conditional); - } - } - } - } - } - - $this->_storeEof(); - } - - /** - * Write a cell range address in BIFF8 - * always fixed range - * See section 2.5.14 in OpenOffice.org's Documentation of the Microsoft Excel File Format - * - * @param string $range E.g. 'A1' or 'A1:B6' - * @return string Binary data - */ - private function _writeBIFF8CellRangeAddressFixed($range = 'A1') - { - $explodes = explode(':', $range); - - // extract first cell, e.g. 'A1' - $firstCell = $explodes[0]; - - // extract last cell, e.g. 'B6' - if (count($explodes) == 1) { - $lastCell = $firstCell; - } else { - $lastCell = $explodes[1]; - } - - $firstCellCoordinates = PHPExcel_Cell::coordinateFromString($firstCell); // e.g. array(0, 1) - $lastCellCoordinates = PHPExcel_Cell::coordinateFromString($lastCell); // e.g. array(1, 6) - - return(pack('vvvv', - $firstCellCoordinates[1] - 1, - $lastCellCoordinates[1] - 1, - PHPExcel_Cell::columnIndexFromString($firstCellCoordinates[0]) - 1, - PHPExcel_Cell::columnIndexFromString($lastCellCoordinates[0]) - 1 - )); - } - - /** - * Retrieves data from memory in one chunk, or from disk in $buffer - * sized chunks. - * - * @return string The data - */ - function getData() - { - $buffer = 4096; - - // Return data stored in memory - if (isset($this->_data)) { - $tmp = $this->_data; - unset($this->_data); - return $tmp; - } - // No data to return - return false; - } - - /** - * Set the option to print the row and column headers on the printed page. - * - * @access public - * @param integer $print Whether to print the headers or not. Defaults to 1 (print). - */ - function printRowColHeaders($print = 1) - { - $this->_print_headers = $print; - } - - /** - * This method sets the properties for outlining and grouping. The defaults - * correspond to Excel's defaults. - * - * @param bool $visible - * @param bool $symbols_below - * @param bool $symbols_right - * @param bool $auto_style - */ - function setOutline($visible = true, $symbols_below = true, $symbols_right = true, $auto_style = false) - { - $this->_outline_on = $visible; - $this->_outline_below = $symbols_below; - $this->_outline_right = $symbols_right; - $this->_outline_style = $auto_style; - - // Ensure this is a boolean vale for Window2 - if ($this->_outline_on) { - $this->_outline_on = 1; - } - } - - /** - * Write a double to the specified row and column (zero indexed). - * An integer can be written as a double. Excel will display an - * integer. $format is optional. - * - * Returns 0 : normal termination - * -2 : row or column out of range - * - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param float $num The number to write - * @param mixed $xfIndex The optional XF format - * @return integer - */ - private function _writeNumber($row, $col, $num, $xfIndex) - { - $record = 0x0203; // Record identifier - $length = 0x000E; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("vvv", $row, $col, $xfIndex); - $xl_double = pack("d", $num); - if (self::getByteOrder()) { // if it's Big Endian - $xl_double = strrev($xl_double); - } - - $this->_append($header.$data.$xl_double); - return(0); - } - - /** - * Write a LABELSST record or a LABEL record. Which one depends on BIFF version - * - * @param int $row Row index (0-based) - * @param int $col Column index (0-based) - * @param string $str The string - * @param int $xfIndex Index to XF record - */ - private function _writeString($row, $col, $str, $xfIndex) - { - $this->_writeLabelSst($row, $col, $str, $xfIndex); - } - - /** - * Write a LABELSST record or a LABEL record. Which one depends on BIFF version - * It differs from _writeString by the writing of rich text strings. - * @param int $row Row index (0-based) - * @param int $col Column index (0-based) - * @param string $str The string - * @param mixed $xfIndex The XF format index for the cell - * @param array $arrcRun Index to Font record and characters beginning - */ - private function _writeRichTextString($row, $col, $str, $xfIndex, $arrcRun){ - $record = 0x00FD; // Record identifier - $length = 0x000A; // Bytes to follow - $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($str, $arrcRun); - - /* check if string is already present */ - if (!isset($this->_str_table[$str])) { - $this->_str_table[$str] = $this->_str_unique++; - } - $this->_str_total++; - - $header = pack('vv', $record, $length); - $data = pack('vvvV', $row, $col, $xfIndex, $this->_str_table[$str]); - $this->_append($header.$data); - } - - /** - * Write a string to the specified row and column (zero indexed). - * NOTE: there is an Excel 5 defined limit of 255 characters. - * $format is optional. - * Returns 0 : normal termination - * -2 : row or column out of range - * -3 : long string truncated to 255 chars - * - * @access public - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param string $str The string to write - * @param mixed $xfIndex The XF format index for the cell - * @return integer - */ - private function _writeLabel($row, $col, $str, $xfIndex) - { - $strlen = strlen($str); - $record = 0x0204; // Record identifier - $length = 0x0008 + $strlen; // Bytes to follow - - $str_error = 0; - - if ($strlen > $this->_xls_strmax) { // LABEL must be < 255 chars - $str = substr($str, 0, $this->_xls_strmax); - $length = 0x0008 + $this->_xls_strmax; - $strlen = $this->_xls_strmax; - $str_error = -3; - } - - $header = pack("vv", $record, $length); - $data = pack("vvvv", $row, $col, $xfIndex, $strlen); - $this->_append($header . $data . $str); - return($str_error); - } - - /** - * Write a string to the specified row and column (zero indexed). - * This is the BIFF8 version (no 255 chars limit). - * $format is optional. - * Returns 0 : normal termination - * -2 : row or column out of range - * -3 : long string truncated to 255 chars - * - * @access public - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param string $str The string to write - * @param mixed $xfIndex The XF format index for the cell - * @return integer - */ - private function _writeLabelSst($row, $col, $str, $xfIndex) - { - $record = 0x00FD; // Record identifier - $length = 0x000A; // Bytes to follow - - $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($str); - - /* check if string is already present */ - if (!isset($this->_str_table[$str])) { - $this->_str_table[$str] = $this->_str_unique++; - } - $this->_str_total++; - - $header = pack('vv', $record, $length); - $data = pack('vvvV', $row, $col, $xfIndex, $this->_str_table[$str]); - $this->_append($header.$data); - } - - /** - * Writes a note associated with the cell given by the row and column. - * NOTE records don't have a length limit. - * - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param string $note The note to write - */ - private function _writeNote($row, $col, $note) - { - $note_length = strlen($note); - $record = 0x001C; // Record identifier - $max_length = 2048; // Maximun length for a NOTE record - - // Length for this record is no more than 2048 + 6 - $length = 0x0006 + min($note_length, 2048); - $header = pack("vv", $record, $length); - $data = pack("vvv", $row, $col, $note_length); - $this->_append($header . $data . substr($note, 0, 2048)); - - for ($i = $max_length; $i < $note_length; $i += $max_length) { - $chunk = substr($note, $i, $max_length); - $length = 0x0006 + strlen($chunk); - $header = pack("vv", $record, $length); - $data = pack("vvv", -1, 0, strlen($chunk)); - $this->_append($header.$data.$chunk); - } - return(0); - } - - /** - * Write a blank cell to the specified row and column (zero indexed). - * A blank cell is used to specify formatting without adding a string - * or a number. - * - * A blank cell without a format serves no purpose. Therefore, we don't write - * a BLANK record unless a format is specified. - * - * Returns 0 : normal termination (including no format) - * -1 : insufficient number of arguments - * -2 : row or column out of range - * - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param mixed $xfIndex The XF format index - */ - function _writeBlank($row, $col, $xfIndex) - { - $record = 0x0201; // Record identifier - $length = 0x0006; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("vvv", $row, $col, $xfIndex); - $this->_append($header . $data); - return 0; - } - - /** - * Write a boolean or an error type to the specified row and column (zero indexed) - * - * @param int $row Row index (0-based) - * @param int $col Column index (0-based) - * @param int $value - * @param boolean $isError Error or Boolean? - * @param int $xfIndex - */ - private function _writeBoolErr($row, $col, $value, $isError, $xfIndex) - { - $record = 0x0205; - $length = 8; - - $header = pack("vv", $record, $length); - $data = pack("vvvCC", $row, $col, $xfIndex, $value, $isError); - $this->_append($header . $data); - return 0; - } - - /** - * Write a formula to the specified row and column (zero indexed). - * The textual representation of the formula is passed to the parser in - * Parser.php which returns a packed binary string. - * - * Returns 0 : normal termination - * -1 : formula errors (bad formula) - * -2 : row or column out of range - * - * @param integer $row Zero indexed row - * @param integer $col Zero indexed column - * @param string $formula The formula text string - * @param mixed $xfIndex The XF format index - * @param mixed $calculatedValue Calculated value - * @return integer - */ - private function _writeFormula($row, $col, $formula, $xfIndex, $calculatedValue) - { - $record = 0x0006; // Record identifier - - // Initialize possible additional value for STRING record that should be written after the FORMULA record? - $stringValue = null; - - // calculated value - if (isset($calculatedValue)) { - // Since we can't yet get the data type of the calculated value, - // we use best effort to determine data type - if (is_bool($calculatedValue)) { - // Boolean value - $num = pack('CCCvCv', 0x01, 0x00, (int)$calculatedValue, 0x00, 0x00, 0xFFFF); - } elseif (is_int($calculatedValue) || is_float($calculatedValue)) { - // Numeric value - $num = pack('d', $calculatedValue); - } elseif (is_string($calculatedValue)) { - if (array_key_exists($calculatedValue, PHPExcel_Cell_DataType::getErrorCodes())) { - // Error value - $num = pack('CCCvCv', 0x02, 0x00, self::_mapErrorCode($calculatedValue), 0x00, 0x00, 0xFFFF); - } elseif ($calculatedValue === '') { - // Empty string (and BIFF8) - $num = pack('CCCvCv', 0x03, 0x00, 0x00, 0x00, 0x00, 0xFFFF); - } else { - // Non-empty string value (or empty string BIFF5) - $stringValue = $calculatedValue; - $num = pack('CCCvCv', 0x00, 0x00, 0x00, 0x00, 0x00, 0xFFFF); - } - } else { - // We are really not supposed to reach here - $num = pack('d', 0x00); - } - } else { - $num = pack('d', 0x00); - } - - $grbit = 0x03; // Option flags - $unknown = 0x0000; // Must be zero - - // Strip the '=' or '@' sign at the beginning of the formula string - if ($formula{0} == '=') { - $formula = substr($formula,1); - } else { - // Error handling - $this->_writeString($row, $col, 'Unrecognised character for formula'); - return -1; - } - - // Parse the formula using the parser in Parser.php - try { - $error = $this->_parser->parse($formula); - $formula = $this->_parser->toReversePolish(); - - $formlen = strlen($formula); // Length of the binary string - $length = 0x16 + $formlen; // Length of the record data - - $header = pack("vv", $record, $length); - - $data = pack("vvv", $row, $col, $xfIndex) - . $num - . pack("vVv", $grbit, $unknown, $formlen); - $this->_append($header . $data . $formula); - - // Append also a STRING record if necessary - if ($stringValue !== null) { - $this->_writeStringRecord($stringValue); - } - - return 0; - - } catch (PHPExcel_Exception $e) { - // do nothing - } - - } - - /** - * Write a STRING record. This - * - * @param string $stringValue - */ - private function _writeStringRecord($stringValue) - { - $record = 0x0207; // Record identifier - $data = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($stringValue); - - $length = strlen($data); - $header = pack('vv', $record, $length); - - $this->_append($header . $data); - } - - /** - * Write a hyperlink. - * This is comprised of two elements: the visible label and - * the invisible link. The visible label is the same as the link unless an - * alternative string is specified. The label is written using the - * _writeString() method. Therefore the 255 characters string limit applies. - * $string and $format are optional. - * - * The hyperlink can be to a http, ftp, mail, internal sheet (not yet), or external - * directory url. - * - * Returns 0 : normal termination - * -2 : row or column out of range - * -3 : long string truncated to 255 chars - * - * @param integer $row Row - * @param integer $col Column - * @param string $url URL string - * @return integer - */ - private function _writeUrl($row, $col, $url) - { - // Add start row and col to arg list - return($this->_writeUrlRange($row, $col, $row, $col, $url)); - } - - /** - * This is the more general form of _writeUrl(). It allows a hyperlink to be - * written to a range of cells. This function also decides the type of hyperlink - * to be written. These are either, Web (http, ftp, mailto), Internal - * (Sheet1!A1) or external ('c:\temp\foo.xls#Sheet1!A1'). - * - * @access private - * @see _writeUrl() - * @param integer $row1 Start row - * @param integer $col1 Start column - * @param integer $row2 End row - * @param integer $col2 End column - * @param string $url URL string - * @return integer - */ - function _writeUrlRange($row1, $col1, $row2, $col2, $url) - { - // Check for internal/external sheet links or default to web link - if (preg_match('[^internal:]', $url)) { - return($this->_writeUrlInternal($row1, $col1, $row2, $col2, $url)); - } - if (preg_match('[^external:]', $url)) { - return($this->_writeUrlExternal($row1, $col1, $row2, $col2, $url)); - } - return($this->_writeUrlWeb($row1, $col1, $row2, $col2, $url)); - } - - /** - * Used to write http, ftp and mailto hyperlinks. - * The link type ($options) is 0x03 is the same as absolute dir ref without - * sheet. However it is differentiated by the $unknown2 data stream. - * - * @access private - * @see _writeUrl() - * @param integer $row1 Start row - * @param integer $col1 Start column - * @param integer $row2 End row - * @param integer $col2 End column - * @param string $url URL string - * @return integer - */ - function _writeUrlWeb($row1, $col1, $row2, $col2, $url) - { - $record = 0x01B8; // Record identifier - $length = 0x00000; // Bytes to follow - - // Pack the undocumented parts of the hyperlink stream - $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); - $unknown2 = pack("H*", "E0C9EA79F9BACE118C8200AA004BA90B"); - - // Pack the option flags - $options = pack("V", 0x03); - - // Convert URL to a null terminated wchar string - $url = join("\0", preg_split("''", $url, -1, PREG_SPLIT_NO_EMPTY)); - $url = $url . "\0\0\0"; - - // Pack the length of the URL - $url_len = pack("V", strlen($url)); - - // Calculate the data length - $length = 0x34 + strlen($url); - - // Pack the header data - $header = pack("vv", $record, $length); - $data = pack("vvvv", $row1, $row2, $col1, $col2); - - // Write the packed data - $this->_append($header . $data . - $unknown1 . $options . - $unknown2 . $url_len . $url); - return 0; - } - - /** - * Used to write internal reference hyperlinks such as "Sheet1!A1". - * - * @access private - * @see _writeUrl() - * @param integer $row1 Start row - * @param integer $col1 Start column - * @param integer $row2 End row - * @param integer $col2 End column - * @param string $url URL string - * @return integer - */ - function _writeUrlInternal($row1, $col1, $row2, $col2, $url) - { - $record = 0x01B8; // Record identifier - $length = 0x00000; // Bytes to follow - - // Strip URL type - $url = preg_replace('/^internal:/', '', $url); - - // Pack the undocumented parts of the hyperlink stream - $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); - - // Pack the option flags - $options = pack("V", 0x08); - - // Convert the URL type and to a null terminated wchar string - $url .= "\0"; - - // character count - $url_len = PHPExcel_Shared_String::CountCharacters($url); - $url_len = pack('V', $url_len); - - $url = PHPExcel_Shared_String::ConvertEncoding($url, 'UTF-16LE', 'UTF-8'); - - // Calculate the data length - $length = 0x24 + strlen($url); - - // Pack the header data - $header = pack("vv", $record, $length); - $data = pack("vvvv", $row1, $row2, $col1, $col2); - - // Write the packed data - $this->_append($header . $data . - $unknown1 . $options . - $url_len . $url); - return 0; - } - - /** - * Write links to external directory names such as 'c:\foo.xls', - * c:\foo.xls#Sheet1!A1', '../../foo.xls'. and '../../foo.xls#Sheet1!A1'. - * - * Note: Excel writes some relative links with the $dir_long string. We ignore - * these cases for the sake of simpler code. - * - * @access private - * @see _writeUrl() - * @param integer $row1 Start row - * @param integer $col1 Start column - * @param integer $row2 End row - * @param integer $col2 End column - * @param string $url URL string - * @return integer - */ - function _writeUrlExternal($row1, $col1, $row2, $col2, $url) - { - // Network drives are different. We will handle them separately - // MS/Novell network drives and shares start with \\ - if (preg_match('[^external:\\\\]', $url)) { - return; //($this->_writeUrlExternal_net($row1, $col1, $row2, $col2, $url, $str, $format)); - } - - $record = 0x01B8; // Record identifier - $length = 0x00000; // Bytes to follow - - // Strip URL type and change Unix dir separator to Dos style (if needed) - // - $url = preg_replace('/^external:/', '', $url); - $url = preg_replace('/\//', "\\", $url); - - // Determine if the link is relative or absolute: - // relative if link contains no dir separator, "somefile.xls" - // relative if link starts with up-dir, "..\..\somefile.xls" - // otherwise, absolute - - $absolute = 0x00; // relative path - if ( preg_match('/^[A-Z]:/', $url) ) { - $absolute = 0x02; // absolute path on Windows, e.g. C:\... - } - $link_type = 0x01 | $absolute; - - // Determine if the link contains a sheet reference and change some of the - // parameters accordingly. - // Split the dir name and sheet name (if it exists) - $dir_long = $url; - if (preg_match("/\#/", $url)) { - $link_type |= 0x08; - } - - - // Pack the link type - $link_type = pack("V", $link_type); - - // Calculate the up-level dir count e.g.. (..\..\..\ == 3) - $up_count = preg_match_all("/\.\.\\\/", $dir_long, $useless); - $up_count = pack("v", $up_count); - - // Store the short dos dir name (null terminated) - $dir_short = preg_replace("/\.\.\\\/", '', $dir_long) . "\0"; - - // Store the long dir name as a wchar string (non-null terminated) - $dir_long = $dir_long . "\0"; - - // Pack the lengths of the dir strings - $dir_short_len = pack("V", strlen($dir_short) ); - $dir_long_len = pack("V", strlen($dir_long) ); - $stream_len = pack("V", 0);//strlen($dir_long) + 0x06); - - // Pack the undocumented parts of the hyperlink stream - $unknown1 = pack("H*",'D0C9EA79F9BACE118C8200AA004BA90B02000000' ); - $unknown2 = pack("H*",'0303000000000000C000000000000046' ); - $unknown3 = pack("H*",'FFFFADDE000000000000000000000000000000000000000'); - $unknown4 = pack("v", 0x03 ); - - // Pack the main data stream - $data = pack("vvvv", $row1, $row2, $col1, $col2) . - $unknown1 . - $link_type . - $unknown2 . - $up_count . - $dir_short_len. - $dir_short . - $unknown3 . - $stream_len ;/*. - $dir_long_len . - $unknown4 . - $dir_long . - $sheet_len . - $sheet ;*/ - - // Pack the header data - $length = strlen($data); - $header = pack("vv", $record, $length); - - // Write the packed data - $this->_append($header. $data); - return 0; - } - - /** - * This method is used to set the height and format for a row. - * - * @param integer $row The row to set - * @param integer $height Height we are giving to the row. - * Use null to set XF without setting height - * @param integer $xfIndex The optional cell style Xf index to apply to the columns - * @param bool $hidden The optional hidden attribute - * @param integer $level The optional outline level for row, in range [0,7] - */ - private function _writeRow($row, $height, $xfIndex, $hidden = false, $level = 0) - { - $record = 0x0208; // Record identifier - $length = 0x0010; // Number of bytes to follow - - $colMic = 0x0000; // First defined column - $colMac = 0x0000; // Last defined column - $irwMac = 0x0000; // Used by Excel to optimise loading - $reserved = 0x0000; // Reserved - $grbit = 0x0000; // Option flags - $ixfe = $xfIndex; - - if ( $height < 0 ){ - $height = null; - } - - // Use _writeRow($row, null, $XF) to set XF format without setting height - if ($height != null) { - $miyRw = $height * 20; // row height - } else { - $miyRw = 0xff; // default row height is 256 - } - - // Set the options flags. fUnsynced is used to show that the font and row - // heights are not compatible. This is usually the case for WriteExcel. - // The collapsed flag 0x10 doesn't seem to be used to indicate that a row - // is collapsed. Instead it is used to indicate that the previous row is - // collapsed. The zero height flag, 0x20, is used to collapse a row. - - $grbit |= $level; - if ($hidden) { - $grbit |= 0x0030; - } - if ($height !== null) { - $grbit |= 0x0040; // fUnsynced - } - if ($xfIndex !== 0xF) { - $grbit |= 0x0080; - } - $grbit |= 0x0100; - - $header = pack("vv", $record, $length); - $data = pack("vvvvvvvv", $row, $colMic, $colMac, $miyRw, - $irwMac,$reserved, $grbit, $ixfe); - $this->_append($header.$data); - } - - /** - * Writes Excel DIMENSIONS to define the area in which there is data. - */ - private function _writeDimensions() - { - $record = 0x0200; // Record identifier - - $length = 0x000E; - $data = pack('VVvvv' - , $this->_firstRowIndex - , $this->_lastRowIndex + 1 - , $this->_firstColumnIndex - , $this->_lastColumnIndex + 1 - , 0x0000 // reserved - ); - - $header = pack("vv", $record, $length); - $this->_append($header.$data); - } - - /** - * Write BIFF record Window2. - */ - private function _writeWindow2() - { - $record = 0x023E; // Record identifier - $length = 0x0012; - - $grbit = 0x00B6; // Option flags - $rwTop = 0x0000; // Top row visible in window - $colLeft = 0x0000; // Leftmost column visible in window - - - // The options flags that comprise $grbit - $fDspFmla = 0; // 0 - bit - $fDspGrid = $this->_phpSheet->getShowGridlines() ? 1 : 0; // 1 - $fDspRwCol = $this->_phpSheet->getShowRowColHeaders() ? 1 : 0; // 2 - $fFrozen = $this->_phpSheet->getFreezePane() ? 1 : 0; // 3 - $fDspZeros = 1; // 4 - $fDefaultHdr = 1; // 5 - $fArabic = $this->_phpSheet->getRightToLeft() ? 1 : 0; // 6 - $fDspGuts = $this->_outline_on; // 7 - $fFrozenNoSplit = 0; // 0 - bit - // no support in PHPExcel for selected sheet, therefore sheet is only selected if it is the active sheet - $fSelected = ($this->_phpSheet === $this->_phpSheet->getParent()->getActiveSheet()) ? 1 : 0; - $fPaged = 1; // 2 - $fPageBreakPreview = $this->_phpSheet->getSheetView()->getView() === PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW; - - $grbit = $fDspFmla; - $grbit |= $fDspGrid << 1; - $grbit |= $fDspRwCol << 2; - $grbit |= $fFrozen << 3; - $grbit |= $fDspZeros << 4; - $grbit |= $fDefaultHdr << 5; - $grbit |= $fArabic << 6; - $grbit |= $fDspGuts << 7; - $grbit |= $fFrozenNoSplit << 8; - $grbit |= $fSelected << 9; - $grbit |= $fPaged << 10; - $grbit |= $fPageBreakPreview << 11; - - $header = pack("vv", $record, $length); - $data = pack("vvv", $grbit, $rwTop, $colLeft); - - // FIXME !!! - $rgbHdr = 0x0040; // Row/column heading and gridline color index - $zoom_factor_page_break = ($fPageBreakPreview? $this->_phpSheet->getSheetView()->getZoomScale() : 0x0000); - $zoom_factor_normal = $this->_phpSheet->getSheetView()->getZoomScaleNormal(); - - $data .= pack("vvvvV", $rgbHdr, 0x0000, $zoom_factor_page_break, $zoom_factor_normal, 0x00000000); - - $this->_append($header.$data); - } - - /** - * Write BIFF record DEFAULTROWHEIGHT. - */ - private function _writeDefaultRowHeight() - { - $defaultRowHeight = $this->_phpSheet->getDefaultRowDimension()->getRowHeight(); - - if ($defaultRowHeight < 0) { - return; - } - - // convert to twips - $defaultRowHeight = (int) 20 * $defaultRowHeight; - - $record = 0x0225; // Record identifier - $length = 0x0004; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("vv", 1, $defaultRowHeight); - $this->_append($header . $data); - } - - /** - * Write BIFF record DEFCOLWIDTH if COLINFO records are in use. - */ - private function _writeDefcol() - { - $defaultColWidth = 8; - - $record = 0x0055; // Record identifier - $length = 0x0002; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("v", $defaultColWidth); - $this->_append($header . $data); - } - - /** - * Write BIFF record COLINFO to define column widths - * - * Note: The SDK says the record length is 0x0B but Excel writes a 0x0C - * length record. - * - * @param array $col_array This is the only parameter received and is composed of the following: - * 0 => First formatted column, - * 1 => Last formatted column, - * 2 => Col width (8.43 is Excel default), - * 3 => The optional XF format of the column, - * 4 => Option flags. - * 5 => Optional outline level - */ - private function _writeColinfo($col_array) - { - if (isset($col_array[0])) { - $colFirst = $col_array[0]; - } - if (isset($col_array[1])) { - $colLast = $col_array[1]; - } - if (isset($col_array[2])) { - $coldx = $col_array[2]; - } else { - $coldx = 8.43; - } - if (isset($col_array[3])) { - $xfIndex = $col_array[3]; - } else { - $xfIndex = 15; - } - if (isset($col_array[4])) { - $grbit = $col_array[4]; - } else { - $grbit = 0; - } - if (isset($col_array[5])) { - $level = $col_array[5]; - } else { - $level = 0; - } - $record = 0x007D; // Record identifier - $length = 0x000C; // Number of bytes to follow - - $coldx *= 256; // Convert to units of 1/256 of a char - - $ixfe = $xfIndex; - $reserved = 0x0000; // Reserved - - $level = max(0, min($level, 7)); - $grbit |= $level << 8; - - $header = pack("vv", $record, $length); - $data = pack("vvvvvv", $colFirst, $colLast, $coldx, - $ixfe, $grbit, $reserved); - $this->_append($header.$data); - } - - /** - * Write BIFF record SELECTION. - */ - private function _writeSelection() - { - // look up the selected cell range - $selectedCells = $this->_phpSheet->getSelectedCells(); - $selectedCells = PHPExcel_Cell::splitRange($this->_phpSheet->getSelectedCells()); - $selectedCells = $selectedCells[0]; - if (count($selectedCells) == 2) { - list($first, $last) = $selectedCells; - } else { - $first = $selectedCells[0]; - $last = $selectedCells[0]; - } - - list($colFirst, $rwFirst) = PHPExcel_Cell::coordinateFromString($first); - $colFirst = PHPExcel_Cell::columnIndexFromString($colFirst) - 1; // base 0 column index - --$rwFirst; // base 0 row index - - list($colLast, $rwLast) = PHPExcel_Cell::coordinateFromString($last); - $colLast = PHPExcel_Cell::columnIndexFromString($colLast) - 1; // base 0 column index - --$rwLast; // base 0 row index - - // make sure we are not out of bounds - $colFirst = min($colFirst, 255); - $colLast = min($colLast, 255); - - $rwFirst = min($rwFirst, 65535); - $rwLast = min($rwLast, 65535); - - $record = 0x001D; // Record identifier - $length = 0x000F; // Number of bytes to follow - - $pnn = $this->_active_pane; // Pane position - $rwAct = $rwFirst; // Active row - $colAct = $colFirst; // Active column - $irefAct = 0; // Active cell ref - $cref = 1; // Number of refs - - if (!isset($rwLast)) { - $rwLast = $rwFirst; // Last row in reference - } - if (!isset($colLast)) { - $colLast = $colFirst; // Last col in reference - } - - // Swap last row/col for first row/col as necessary - if ($rwFirst > $rwLast) { - list($rwFirst, $rwLast) = array($rwLast, $rwFirst); - } - - if ($colFirst > $colLast) { - list($colFirst, $colLast) = array($colLast, $colFirst); - } - - $header = pack("vv", $record, $length); - $data = pack("CvvvvvvCC", $pnn, $rwAct, $colAct, - $irefAct, $cref, - $rwFirst, $rwLast, - $colFirst, $colLast); - $this->_append($header . $data); - } - - /** - * Store the MERGEDCELLS records for all ranges of merged cells - */ - private function _writeMergedCells() - { - $mergeCells = $this->_phpSheet->getMergeCells(); - $countMergeCells = count($mergeCells); - - if ($countMergeCells == 0) { - return; - } - - // maximum allowed number of merged cells per record - $maxCountMergeCellsPerRecord = 1027; - - // record identifier - $record = 0x00E5; - - // counter for total number of merged cells treated so far by the writer - $i = 0; - - // counter for number of merged cells written in record currently being written - $j = 0; - - // initialize record data - $recordData = ''; - - // loop through the merged cells - foreach ($mergeCells as $mergeCell) { - ++$i; - ++$j; - - // extract the row and column indexes - $range = PHPExcel_Cell::splitRange($mergeCell); - list($first, $last) = $range[0]; - list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($first); - list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($last); - - $recordData .= pack('vvvv', $firstRow - 1, $lastRow - 1, PHPExcel_Cell::columnIndexFromString($firstColumn) - 1, PHPExcel_Cell::columnIndexFromString($lastColumn) - 1); - - // flush record if we have reached limit for number of merged cells, or reached final merged cell - if ($j == $maxCountMergeCellsPerRecord or $i == $countMergeCells) { - $recordData = pack('v', $j) . $recordData; - $length = strlen($recordData); - $header = pack('vv', $record, $length); - $this->_append($header . $recordData); - - // initialize for next record, if any - $recordData = ''; - $j = 0; - } - } - } - - /** - * Write SHEETLAYOUT record - */ - private function _writeSheetLayout() - { - if (!$this->_phpSheet->isTabColorSet()) { - return; - } - - $recordData = pack( - 'vvVVVvv' - , 0x0862 - , 0x0000 // unused - , 0x00000000 // unused - , 0x00000000 // unused - , 0x00000014 // size of record data - , $this->_colors[$this->_phpSheet->getTabColor()->getRGB()] // color index - , 0x0000 // unused - ); - - $length = strlen($recordData); - - $record = 0x0862; // Record identifier - $header = pack('vv', $record, $length); - $this->_append($header . $recordData); - } - - /** - * Write SHEETPROTECTION - */ - private function _writeSheetProtection() - { - // record identifier - $record = 0x0867; - - // prepare options - $options = (int) !$this->_phpSheet->getProtection()->getObjects() - | (int) !$this->_phpSheet->getProtection()->getScenarios() << 1 - | (int) !$this->_phpSheet->getProtection()->getFormatCells() << 2 - | (int) !$this->_phpSheet->getProtection()->getFormatColumns() << 3 - | (int) !$this->_phpSheet->getProtection()->getFormatRows() << 4 - | (int) !$this->_phpSheet->getProtection()->getInsertColumns() << 5 - | (int) !$this->_phpSheet->getProtection()->getInsertRows() << 6 - | (int) !$this->_phpSheet->getProtection()->getInsertHyperlinks() << 7 - | (int) !$this->_phpSheet->getProtection()->getDeleteColumns() << 8 - | (int) !$this->_phpSheet->getProtection()->getDeleteRows() << 9 - | (int) !$this->_phpSheet->getProtection()->getSelectLockedCells() << 10 - | (int) !$this->_phpSheet->getProtection()->getSort() << 11 - | (int) !$this->_phpSheet->getProtection()->getAutoFilter() << 12 - | (int) !$this->_phpSheet->getProtection()->getPivotTables() << 13 - | (int) !$this->_phpSheet->getProtection()->getSelectUnlockedCells() << 14 ; - - // record data - $recordData = pack( - 'vVVCVVvv' - , 0x0867 // repeated record identifier - , 0x0000 // not used - , 0x0000 // not used - , 0x00 // not used - , 0x01000200 // unknown data - , 0xFFFFFFFF // unknown data - , $options // options - , 0x0000 // not used - ); - - $length = strlen($recordData); - $header = pack('vv', $record, $length); - - $this->_append($header . $recordData); - } - - /** - * Write BIFF record RANGEPROTECTION - * - * Openoffice.org's Documentaion of the Microsoft Excel File Format uses term RANGEPROTECTION for these records - * Microsoft Office Excel 97-2007 Binary File Format Specification uses term FEAT for these records - */ - private function _writeRangeProtection() - { - foreach ($this->_phpSheet->getProtectedCells() as $range => $password) { - // number of ranges, e.g. 'A1:B3 C20:D25' - $cellRanges = explode(' ', $range); - $cref = count($cellRanges); - - $recordData = pack( - 'vvVVvCVvVv', - 0x0868, - 0x00, - 0x0000, - 0x0000, - 0x02, - 0x0, - 0x0000, - $cref, - 0x0000, - 0x00 - ); - - foreach ($cellRanges as $cellRange) { - $recordData .= $this->_writeBIFF8CellRangeAddressFixed($cellRange); - } - - // the rgbFeat structure - $recordData .= pack( - 'VV', - 0x0000, - hexdec($password) - ); - - $recordData .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong('p' . md5($recordData)); - - $length = strlen($recordData); - - $record = 0x0868; // Record identifier - $header = pack("vv", $record, $length); - $this->_append($header . $recordData); - } - } - - /** - * Write BIFF record EXTERNCOUNT to indicate the number of external sheet - * references in a worksheet. - * - * Excel only stores references to external sheets that are used in formulas. - * For simplicity we store references to all the sheets in the workbook - * regardless of whether they are used or not. This reduces the overall - * complexity and eliminates the need for a two way dialogue between the formula - * parser the worksheet objects. - * - * @param integer $count The number of external sheet references in this worksheet - */ - private function _writeExterncount($count) - { - $record = 0x0016; // Record identifier - $length = 0x0002; // Number of bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("v", $count); - $this->_append($header . $data); - } - - /** - * Writes the Excel BIFF EXTERNSHEET record. These references are used by - * formulas. A formula references a sheet name via an index. Since we store a - * reference to all of the external worksheets the EXTERNSHEET index is the same - * as the worksheet index. - * - * @param string $sheetname The name of a external worksheet - */ - private function _writeExternsheet($sheetname) - { - $record = 0x0017; // Record identifier - - // References to the current sheet are encoded differently to references to - // external sheets. - // - if ($this->_phpSheet->getTitle() == $sheetname) { - $sheetname = ''; - $length = 0x02; // The following 2 bytes - $cch = 1; // The following byte - $rgch = 0x02; // Self reference - } else { - $length = 0x02 + strlen($sheetname); - $cch = strlen($sheetname); - $rgch = 0x03; // Reference to a sheet in the current workbook - } - - $header = pack("vv", $record, $length); - $data = pack("CC", $cch, $rgch); - $this->_append($header . $data . $sheetname); - } - - /** - * Writes the Excel BIFF PANE record. - * The panes can either be frozen or thawed (unfrozen). - * Frozen panes are specified in terms of an integer number of rows and columns. - * Thawed panes are specified in terms of Excel's units for rows and columns. - */ - private function _writePanes() - { - $panes = array(); - if ($freezePane = $this->_phpSheet->getFreezePane()) { - list($column, $row) = PHPExcel_Cell::coordinateFromString($freezePane); - $panes[0] = $row - 1; - $panes[1] = PHPExcel_Cell::columnIndexFromString($column) - 1; - } else { - // thaw panes - return; - } - - $y = isset($panes[0]) ? $panes[0] : null; - $x = isset($panes[1]) ? $panes[1] : null; - $rwTop = isset($panes[2]) ? $panes[2] : null; - $colLeft = isset($panes[3]) ? $panes[3] : null; - if (count($panes) > 4) { // if Active pane was received - $pnnAct = $panes[4]; - } else { - $pnnAct = null; - } - $record = 0x0041; // Record identifier - $length = 0x000A; // Number of bytes to follow - - // Code specific to frozen or thawed panes. - if ($this->_phpSheet->getFreezePane()) { - // Set default values for $rwTop and $colLeft - if (!isset($rwTop)) { - $rwTop = $y; - } - if (!isset($colLeft)) { - $colLeft = $x; - } - } else { - // Set default values for $rwTop and $colLeft - if (!isset($rwTop)) { - $rwTop = 0; - } - if (!isset($colLeft)) { - $colLeft = 0; - } - - // Convert Excel's row and column units to the internal units. - // The default row height is 12.75 - // The default column width is 8.43 - // The following slope and intersection values were interpolated. - // - $y = 20*$y + 255; - $x = 113.879*$x + 390; - } - - - // Determine which pane should be active. There is also the undocumented - // option to override this should it be necessary: may be removed later. - // - if (!isset($pnnAct)) { - if ($x != 0 && $y != 0) { - $pnnAct = 0; // Bottom right - } - if ($x != 0 && $y == 0) { - $pnnAct = 1; // Top right - } - if ($x == 0 && $y != 0) { - $pnnAct = 2; // Bottom left - } - if ($x == 0 && $y == 0) { - $pnnAct = 3; // Top left - } - } - - $this->_active_pane = $pnnAct; // Used in _writeSelection - - $header = pack("vv", $record, $length); - $data = pack("vvvvv", $x, $y, $rwTop, $colLeft, $pnnAct); - $this->_append($header . $data); - } - - /** - * Store the page setup SETUP BIFF record. - */ - private function _writeSetup() - { - $record = 0x00A1; // Record identifier - $length = 0x0022; // Number of bytes to follow - - $iPaperSize = $this->_phpSheet->getPageSetup()->getPaperSize(); // Paper size - - $iScale = $this->_phpSheet->getPageSetup()->getScale() ? - $this->_phpSheet->getPageSetup()->getScale() : 100; // Print scaling factor - - $iPageStart = 0x01; // Starting page number - $iFitWidth = (int) $this->_phpSheet->getPageSetup()->getFitToWidth(); // Fit to number of pages wide - $iFitHeight = (int) $this->_phpSheet->getPageSetup()->getFitToHeight(); // Fit to number of pages high - $grbit = 0x00; // Option flags - $iRes = 0x0258; // Print resolution - $iVRes = 0x0258; // Vertical print resolution - - $numHdr = $this->_phpSheet->getPageMargins()->getHeader(); // Header Margin - - $numFtr = $this->_phpSheet->getPageMargins()->getFooter(); // Footer Margin - $iCopies = 0x01; // Number of copies - - $fLeftToRight = 0x0; // Print over then down - - // Page orientation - $fLandscape = ($this->_phpSheet->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? - 0x0 : 0x1; - - $fNoPls = 0x0; // Setup not read from printer - $fNoColor = 0x0; // Print black and white - $fDraft = 0x0; // Print draft quality - $fNotes = 0x0; // Print notes - $fNoOrient = 0x0; // Orientation not set - $fUsePage = 0x0; // Use custom starting page - - $grbit = $fLeftToRight; - $grbit |= $fLandscape << 1; - $grbit |= $fNoPls << 2; - $grbit |= $fNoColor << 3; - $grbit |= $fDraft << 4; - $grbit |= $fNotes << 5; - $grbit |= $fNoOrient << 6; - $grbit |= $fUsePage << 7; - - $numHdr = pack("d", $numHdr); - $numFtr = pack("d", $numFtr); - if (self::getByteOrder()) { // if it's Big Endian - $numHdr = strrev($numHdr); - $numFtr = strrev($numFtr); - } - - $header = pack("vv", $record, $length); - $data1 = pack("vvvvvvvv", $iPaperSize, - $iScale, - $iPageStart, - $iFitWidth, - $iFitHeight, - $grbit, - $iRes, - $iVRes); - $data2 = $numHdr.$numFtr; - $data3 = pack("v", $iCopies); - $this->_append($header . $data1 . $data2 . $data3); - } - - /** - * Store the header caption BIFF record. - */ - private function _writeHeader() - { - $record = 0x0014; // Record identifier - - /* removing for now - // need to fix character count (multibyte!) - if (strlen($this->_phpSheet->getHeaderFooter()->getOddHeader()) <= 255) { - $str = $this->_phpSheet->getHeaderFooter()->getOddHeader(); // header string - } else { - $str = ''; - } - */ - - $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->_phpSheet->getHeaderFooter()->getOddHeader()); - $length = strlen($recordData); - - $header = pack("vv", $record, $length); - - $this->_append($header . $recordData); - } - - /** - * Store the footer caption BIFF record. - */ - private function _writeFooter() - { - $record = 0x0015; // Record identifier - - /* removing for now - // need to fix character count (multibyte!) - if (strlen($this->_phpSheet->getHeaderFooter()->getOddFooter()) <= 255) { - $str = $this->_phpSheet->getHeaderFooter()->getOddFooter(); - } else { - $str = ''; - } - */ - - $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->_phpSheet->getHeaderFooter()->getOddFooter()); - $length = strlen($recordData); - - $header = pack("vv", $record, $length); - - $this->_append($header . $recordData); - } - - /** - * Store the horizontal centering HCENTER BIFF record. - * - * @access private - */ - private function _writeHcenter() - { - $record = 0x0083; // Record identifier - $length = 0x0002; // Bytes to follow - - $fHCenter = $this->_phpSheet->getPageSetup()->getHorizontalCentered() ? 1 : 0; // Horizontal centering - - $header = pack("vv", $record, $length); - $data = pack("v", $fHCenter); - - $this->_append($header.$data); - } - - /** - * Store the vertical centering VCENTER BIFF record. - */ - private function _writeVcenter() - { - $record = 0x0084; // Record identifier - $length = 0x0002; // Bytes to follow - - $fVCenter = $this->_phpSheet->getPageSetup()->getVerticalCentered() ? 1 : 0; // Horizontal centering - - $header = pack("vv", $record, $length); - $data = pack("v", $fVCenter); - $this->_append($header . $data); - } - - /** - * Store the LEFTMARGIN BIFF record. - */ - private function _writeMarginLeft() - { - $record = 0x0026; // Record identifier - $length = 0x0008; // Bytes to follow - - $margin = $this->_phpSheet->getPageMargins()->getLeft(); // Margin in inches - - $header = pack("vv", $record, $length); - $data = pack("d", $margin); - if (self::getByteOrder()) { // if it's Big Endian - $data = strrev($data); - } - - $this->_append($header . $data); - } - - /** - * Store the RIGHTMARGIN BIFF record. - */ - private function _writeMarginRight() - { - $record = 0x0027; // Record identifier - $length = 0x0008; // Bytes to follow - - $margin = $this->_phpSheet->getPageMargins()->getRight(); // Margin in inches - - $header = pack("vv", $record, $length); - $data = pack("d", $margin); - if (self::getByteOrder()) { // if it's Big Endian - $data = strrev($data); - } - - $this->_append($header . $data); - } - - /** - * Store the TOPMARGIN BIFF record. - */ - private function _writeMarginTop() - { - $record = 0x0028; // Record identifier - $length = 0x0008; // Bytes to follow - - $margin = $this->_phpSheet->getPageMargins()->getTop(); // Margin in inches - - $header = pack("vv", $record, $length); - $data = pack("d", $margin); - if (self::getByteOrder()) { // if it's Big Endian - $data = strrev($data); - } - - $this->_append($header . $data); - } - - /** - * Store the BOTTOMMARGIN BIFF record. - */ - private function _writeMarginBottom() - { - $record = 0x0029; // Record identifier - $length = 0x0008; // Bytes to follow - - $margin = $this->_phpSheet->getPageMargins()->getBottom(); // Margin in inches - - $header = pack("vv", $record, $length); - $data = pack("d", $margin); - if (self::getByteOrder()) { // if it's Big Endian - $data = strrev($data); - } - - $this->_append($header . $data); - } - - /** - * Write the PRINTHEADERS BIFF record. - */ - private function _writePrintHeaders() - { - $record = 0x002a; // Record identifier - $length = 0x0002; // Bytes to follow - - $fPrintRwCol = $this->_print_headers; // Boolean flag - - $header = pack("vv", $record, $length); - $data = pack("v", $fPrintRwCol); - $this->_append($header . $data); - } - - /** - * Write the PRINTGRIDLINES BIFF record. Must be used in conjunction with the - * GRIDSET record. - */ - private function _writePrintGridlines() - { - $record = 0x002b; // Record identifier - $length = 0x0002; // Bytes to follow - - $fPrintGrid = $this->_phpSheet->getPrintGridlines() ? 1 : 0; // Boolean flag - - $header = pack("vv", $record, $length); - $data = pack("v", $fPrintGrid); - $this->_append($header . $data); - } - - /** - * Write the GRIDSET BIFF record. Must be used in conjunction with the - * PRINTGRIDLINES record. - */ - private function _writeGridset() - { - $record = 0x0082; // Record identifier - $length = 0x0002; // Bytes to follow - - $fGridSet = !$this->_phpSheet->getPrintGridlines(); // Boolean flag - - $header = pack("vv", $record, $length); - $data = pack("v", $fGridSet); - $this->_append($header . $data); - } - - /** - * Write the AUTOFILTERINFO BIFF record. This is used to configure the number of autofilter select used in the sheet. - */ - private function _writeAutoFilterInfo(){ - $record = 0x009D; // Record identifier - $length = 0x0002; // Bytes to follow - - $rangeBounds = PHPExcel_Cell::rangeBoundaries($this->_phpSheet->getAutoFilter()->getRange()); - $iNumFilters = 1 + $rangeBounds[1][0] - $rangeBounds[0][0]; - - $header = pack("vv", $record, $length); - $data = pack("v", $iNumFilters); - $this->_append($header . $data); - } - - /** - * Write the GUTS BIFF record. This is used to configure the gutter margins - * where Excel outline symbols are displayed. The visibility of the gutters is - * controlled by a flag in WSBOOL. - * - * @see _writeWsbool() - */ - private function _writeGuts() - { - $record = 0x0080; // Record identifier - $length = 0x0008; // Bytes to follow - - $dxRwGut = 0x0000; // Size of row gutter - $dxColGut = 0x0000; // Size of col gutter - - // determine maximum row outline level - $maxRowOutlineLevel = 0; - foreach ($this->_phpSheet->getRowDimensions() as $rowDimension) { - $maxRowOutlineLevel = max($maxRowOutlineLevel, $rowDimension->getOutlineLevel()); - } - - $col_level = 0; - - // Calculate the maximum column outline level. The equivalent calculation - // for the row outline level is carried out in _writeRow(). - $colcount = count($this->_colinfo); - for ($i = 0; $i < $colcount; ++$i) { - $col_level = max($this->_colinfo[$i][5], $col_level); - } - - // Set the limits for the outline levels (0 <= x <= 7). - $col_level = max(0, min($col_level, 7)); - - // The displayed level is one greater than the max outline levels - if ($maxRowOutlineLevel) { - ++$maxRowOutlineLevel; - } - if ($col_level) { - ++$col_level; - } - - $header = pack("vv", $record, $length); - $data = pack("vvvv", $dxRwGut, $dxColGut, $maxRowOutlineLevel, $col_level); - - $this->_append($header.$data); - } - - /** - * Write the WSBOOL BIFF record, mainly for fit-to-page. Used in conjunction - * with the SETUP record. - */ - private function _writeWsbool() - { - $record = 0x0081; // Record identifier - $length = 0x0002; // Bytes to follow - $grbit = 0x0000; - - // The only option that is of interest is the flag for fit to page. So we - // set all the options in one go. - // - // Set the option flags - $grbit |= 0x0001; // Auto page breaks visible - if ($this->_outline_style) { - $grbit |= 0x0020; // Auto outline styles - } - if ($this->_phpSheet->getShowSummaryBelow()) { - $grbit |= 0x0040; // Outline summary below - } - if ($this->_phpSheet->getShowSummaryRight()) { - $grbit |= 0x0080; // Outline summary right - } - if ($this->_phpSheet->getPageSetup()->getFitToPage()) { - $grbit |= 0x0100; // Page setup fit to page - } - if ($this->_outline_on) { - $grbit |= 0x0400; // Outline symbols displayed - } - - $header = pack("vv", $record, $length); - $data = pack("v", $grbit); - $this->_append($header . $data); - } - - /** - * Write the HORIZONTALPAGEBREAKS and VERTICALPAGEBREAKS BIFF records. - */ - private function _writeBreaks() - { - // initialize - $vbreaks = array(); - $hbreaks = array(); - - foreach ($this->_phpSheet->getBreaks() as $cell => $breakType) { - // Fetch coordinates - $coordinates = PHPExcel_Cell::coordinateFromString($cell); - - // Decide what to do by the type of break - switch ($breakType) { - case PHPExcel_Worksheet::BREAK_COLUMN: - // Add to list of vertical breaks - $vbreaks[] = PHPExcel_Cell::columnIndexFromString($coordinates[0]) - 1; - break; - - case PHPExcel_Worksheet::BREAK_ROW: - // Add to list of horizontal breaks - $hbreaks[] = $coordinates[1]; - break; - - case PHPExcel_Worksheet::BREAK_NONE: - default: - // Nothing to do - break; - } - } - - //horizontal page breaks - if (!empty($hbreaks)) { - - // Sort and filter array of page breaks - sort($hbreaks, SORT_NUMERIC); - if ($hbreaks[0] == 0) { // don't use first break if it's 0 - array_shift($hbreaks); - } - - $record = 0x001b; // Record identifier - $cbrk = count($hbreaks); // Number of page breaks - $length = 2 + 6 * $cbrk; // Bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("v", $cbrk); - - // Append each page break - foreach ($hbreaks as $hbreak) { - $data .= pack("vvv", $hbreak, 0x0000, 0x00ff); - } - - $this->_append($header . $data); - } - - // vertical page breaks - if (!empty($vbreaks)) { - - // 1000 vertical pagebreaks appears to be an internal Excel 5 limit. - // It is slightly higher in Excel 97/200, approx. 1026 - $vbreaks = array_slice($vbreaks, 0, 1000); - - // Sort and filter array of page breaks - sort($vbreaks, SORT_NUMERIC); - if ($vbreaks[0] == 0) { // don't use first break if it's 0 - array_shift($vbreaks); - } - - $record = 0x001a; // Record identifier - $cbrk = count($vbreaks); // Number of page breaks - $length = 2 + 6 * $cbrk; // Bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("v", $cbrk); - - // Append each page break - foreach ($vbreaks as $vbreak) { - $data .= pack("vvv", $vbreak, 0x0000, 0xffff); - } - - $this->_append($header . $data); - } - } - - /** - * Set the Biff PROTECT record to indicate that the worksheet is protected. - */ - private function _writeProtect() - { - // Exit unless sheet protection has been specified - if (!$this->_phpSheet->getProtection()->getSheet()) { - return; - } - - $record = 0x0012; // Record identifier - $length = 0x0002; // Bytes to follow - - $fLock = 1; // Worksheet is protected - - $header = pack("vv", $record, $length); - $data = pack("v", $fLock); - - $this->_append($header.$data); - } - - /** - * Write SCENPROTECT - */ - private function _writeScenProtect() - { - // Exit if sheet protection is not active - if (!$this->_phpSheet->getProtection()->getSheet()) { - return; - } - - // Exit if scenarios are not protected - if (!$this->_phpSheet->getProtection()->getScenarios()) { - return; - } - - $record = 0x00DD; // Record identifier - $length = 0x0002; // Bytes to follow - - $header = pack('vv', $record, $length); - $data = pack('v', 1); - - $this->_append($header . $data); - } - - /** - * Write OBJECTPROTECT - */ - private function _writeObjectProtect() - { - // Exit if sheet protection is not active - if (!$this->_phpSheet->getProtection()->getSheet()) { - return; - } - - // Exit if objects are not protected - if (!$this->_phpSheet->getProtection()->getObjects()) { - return; - } - - $record = 0x0063; // Record identifier - $length = 0x0002; // Bytes to follow - - $header = pack('vv', $record, $length); - $data = pack('v', 1); - - $this->_append($header . $data); - } - - /** - * Write the worksheet PASSWORD record. - */ - private function _writePassword() - { - // Exit unless sheet protection and password have been specified - if (!$this->_phpSheet->getProtection()->getSheet() || !$this->_phpSheet->getProtection()->getPassword()) { - return; - } - - $record = 0x0013; // Record identifier - $length = 0x0002; // Bytes to follow - - $wPassword = hexdec($this->_phpSheet->getProtection()->getPassword()); // Encoded password - - $header = pack("vv", $record, $length); - $data = pack("v", $wPassword); - - $this->_append($header . $data); - } - - /** - * Insert a 24bit bitmap image in a worksheet. - * - * @access public - * @param integer $row The row we are going to insert the bitmap into - * @param integer $col The column we are going to insert the bitmap into - * @param mixed $bitmap The bitmap filename or GD-image resource - * @param integer $x The horizontal position (offset) of the image inside the cell. - * @param integer $y The vertical position (offset) of the image inside the cell. - * @param float $scale_x The horizontal scale - * @param float $scale_y The vertical scale - */ - function insertBitmap($row, $col, $bitmap, $x = 0, $y = 0, $scale_x = 1, $scale_y = 1) - { - $bitmap_array = (is_resource($bitmap) ? $this->_processBitmapGd($bitmap) : $this->_processBitmap($bitmap)); - list($width, $height, $size, $data) = $bitmap_array; //$this->_processBitmap($bitmap); - - // Scale the frame of the image. - $width *= $scale_x; - $height *= $scale_y; - - // Calculate the vertices of the image and write the OBJ record - $this->_positionImage($col, $row, $x, $y, $width, $height); - - // Write the IMDATA record to store the bitmap data - $record = 0x007f; - $length = 8 + $size; - $cf = 0x09; - $env = 0x01; - $lcb = $size; - - $header = pack("vvvvV", $record, $length, $cf, $env, $lcb); - $this->_append($header.$data); - } - - /** - * Calculate the vertices that define the position of the image as required by - * the OBJ record. - * - * +------------+------------+ - * | A | B | - * +-----+------------+------------+ - * | |(x1,y1) | | - * | 1 |(A1)._______|______ | - * | | | | | - * | | | | | - * +-----+----| BITMAP |-----+ - * | | | | | - * | 2 | |______________. | - * | | | (B2)| - * | | | (x2,y2)| - * +---- +------------+------------+ - * - * Example of a bitmap that covers some of the area from cell A1 to cell B2. - * - * Based on the width and height of the bitmap we need to calculate 8 vars: - * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. - * The width and height of the cells are also variable and have to be taken into - * account. - * The values of $col_start and $row_start are passed in from the calling - * function. The values of $col_end and $row_end are calculated by subtracting - * the width and height of the bitmap from the width and height of the - * underlying cells. - * The vertices are expressed as a percentage of the underlying cell width as - * follows (rhs values are in pixels): - * - * x1 = X / W *1024 - * y1 = Y / H *256 - * x2 = (X-1) / W *1024 - * y2 = (Y-1) / H *256 - * - * Where: X is distance from the left side of the underlying cell - * Y is distance from the top of the underlying cell - * W is the width of the cell - * H is the height of the cell - * The SDK incorrectly states that the height should be expressed as a - * percentage of 1024. - * - * @access private - * @param integer $col_start Col containing upper left corner of object - * @param integer $row_start Row containing top left corner of object - * @param integer $x1 Distance to left side of object - * @param integer $y1 Distance to top of object - * @param integer $width Width of image frame - * @param integer $height Height of image frame - */ - function _positionImage($col_start, $row_start, $x1, $y1, $width, $height) - { - // Initialise end cell to the same as the start cell - $col_end = $col_start; // Col containing lower right corner of object - $row_end = $row_start; // Row containing bottom right corner of object - - // Zero the specified offset if greater than the cell dimensions - if ($x1 >= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { - $x1 = 0; - } - if ($y1 >= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1)) { - $y1 = 0; - } - - $width = $width + $x1 -1; - $height = $height + $y1 -1; - - // Subtract the underlying cell widths to find the end cell of the image - while ($width >= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { - $width -= PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); - ++$col_end; - } - - // Subtract the underlying cell heights to find the end cell of the image - while ($height >= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1)) { - $height -= PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1); - ++$row_end; - } - - // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell - // with zero eight or width. - // - if (PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { - return; - } - if (PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { - return; - } - if (PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1) == 0) { - return; - } - if (PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1) == 0) { - return; - } - - // Convert the pixel values to the percentage value expected by Excel - $x1 = $x1 / PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; - $y1 = $y1 / PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_start + 1) * 256; - $x2 = $width / PHPExcel_Shared_Excel5::sizeCol($this->_phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object - $y2 = $height / PHPExcel_Shared_Excel5::sizeRow($this->_phpSheet, $row_end + 1) * 256; // Distance to bottom of object - - $this->_writeObjPicture($col_start, $x1, - $row_start, $y1, - $col_end, $x2, - $row_end, $y2); - } - - /** - * Store the OBJ record that precedes an IMDATA record. This could be generalise - * to support other Excel objects. - * - * @param integer $colL Column containing upper left corner of object - * @param integer $dxL Distance from left side of cell - * @param integer $rwT Row containing top left corner of object - * @param integer $dyT Distance from top of cell - * @param integer $colR Column containing lower right corner of object - * @param integer $dxR Distance from right of cell - * @param integer $rwB Row containing bottom right corner of object - * @param integer $dyB Distance from bottom of cell - */ - private function _writeObjPicture($colL,$dxL,$rwT,$dyT,$colR,$dxR,$rwB,$dyB) - { - $record = 0x005d; // Record identifier - $length = 0x003c; // Bytes to follow - - $cObj = 0x0001; // Count of objects in file (set to 1) - $OT = 0x0008; // Object type. 8 = Picture - $id = 0x0001; // Object ID - $grbit = 0x0614; // Option flags - - $cbMacro = 0x0000; // Length of FMLA structure - $Reserved1 = 0x0000; // Reserved - $Reserved2 = 0x0000; // Reserved - - $icvBack = 0x09; // Background colour - $icvFore = 0x09; // Foreground colour - $fls = 0x00; // Fill pattern - $fAuto = 0x00; // Automatic fill - $icv = 0x08; // Line colour - $lns = 0xff; // Line style - $lnw = 0x01; // Line weight - $fAutoB = 0x00; // Automatic border - $frs = 0x0000; // Frame style - $cf = 0x0009; // Image format, 9 = bitmap - $Reserved3 = 0x0000; // Reserved - $cbPictFmla = 0x0000; // Length of FMLA structure - $Reserved4 = 0x0000; // Reserved - $grbit2 = 0x0001; // Option flags - $Reserved5 = 0x0000; // Reserved - - - $header = pack("vv", $record, $length); - $data = pack("V", $cObj); - $data .= pack("v", $OT); - $data .= pack("v", $id); - $data .= pack("v", $grbit); - $data .= pack("v", $colL); - $data .= pack("v", $dxL); - $data .= pack("v", $rwT); - $data .= pack("v", $dyT); - $data .= pack("v", $colR); - $data .= pack("v", $dxR); - $data .= pack("v", $rwB); - $data .= pack("v", $dyB); - $data .= pack("v", $cbMacro); - $data .= pack("V", $Reserved1); - $data .= pack("v", $Reserved2); - $data .= pack("C", $icvBack); - $data .= pack("C", $icvFore); - $data .= pack("C", $fls); - $data .= pack("C", $fAuto); - $data .= pack("C", $icv); - $data .= pack("C", $lns); - $data .= pack("C", $lnw); - $data .= pack("C", $fAutoB); - $data .= pack("v", $frs); - $data .= pack("V", $cf); - $data .= pack("v", $Reserved3); - $data .= pack("v", $cbPictFmla); - $data .= pack("v", $Reserved4); - $data .= pack("v", $grbit2); - $data .= pack("V", $Reserved5); - - $this->_append($header . $data); - } - - /** - * Convert a GD-image into the internal format. - * - * @access private - * @param resource $image The image to process - * @return array Array with data and properties of the bitmap - */ - function _processBitmapGd($image) { - $width = imagesx($image); - $height = imagesy($image); - - $data = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); - for ($j=$height; $j--; ) { - for ($i=0; $i < $width; ++$i) { - $color = imagecolorsforindex($image, imagecolorat($image, $i, $j)); - foreach (array("red", "green", "blue") as $key) { - $color[$key] = $color[$key] + round((255 - $color[$key]) * $color["alpha"] / 127); - } - $data .= chr($color["blue"]) . chr($color["green"]) . chr($color["red"]); - } - if (3*$width % 4) { - $data .= str_repeat("\x00", 4 - 3*$width % 4); - } - } - - return array($width, $height, strlen($data), $data); - } - - /** - * Convert a 24 bit bitmap into the modified internal format used by Windows. - * This is described in BITMAPCOREHEADER and BITMAPCOREINFO structures in the - * MSDN library. - * - * @access private - * @param string $bitmap The bitmap to process - * @return array Array with data and properties of the bitmap - */ - function _processBitmap($bitmap) - { - // Open file. - $bmp_fd = @fopen($bitmap,"rb"); - if (!$bmp_fd) { - throw new PHPExcel_Writer_Exception("Couldn't import $bitmap"); - } - - // Slurp the file into a string. - $data = fread($bmp_fd, filesize($bitmap)); - - // Check that the file is big enough to be a bitmap. - if (strlen($data) <= 0x36) { - throw new PHPExcel_Writer_Exception("$bitmap doesn't contain enough data.\n"); - } - - // The first 2 bytes are used to identify the bitmap. - $identity = unpack("A2ident", $data); - if ($identity['ident'] != "BM") { - throw new PHPExcel_Writer_Exception("$bitmap doesn't appear to be a valid bitmap image.\n"); - } - - // Remove bitmap data: ID. - $data = substr($data, 2); - - // Read and remove the bitmap size. This is more reliable than reading - // the data size at offset 0x22. - // - $size_array = unpack("Vsa", substr($data, 0, 4)); - $size = $size_array['sa']; - $data = substr($data, 4); - $size -= 0x36; // Subtract size of bitmap header. - $size += 0x0C; // Add size of BIFF header. - - // Remove bitmap data: reserved, offset, header length. - $data = substr($data, 12); - - // Read and remove the bitmap width and height. Verify the sizes. - $width_and_height = unpack("V2", substr($data, 0, 8)); - $width = $width_and_height[1]; - $height = $width_and_height[2]; - $data = substr($data, 8); - if ($width > 0xFFFF) { - throw new PHPExcel_Writer_Exception("$bitmap: largest image width supported is 65k.\n"); - } - if ($height > 0xFFFF) { - throw new PHPExcel_Writer_Exception("$bitmap: largest image height supported is 65k.\n"); - } - - // Read and remove the bitmap planes and bpp data. Verify them. - $planes_and_bitcount = unpack("v2", substr($data, 0, 4)); - $data = substr($data, 4); - if ($planes_and_bitcount[2] != 24) { // Bitcount - throw new PHPExcel_Writer_Exception("$bitmap isn't a 24bit true color bitmap.\n"); - } - if ($planes_and_bitcount[1] != 1) { - throw new PHPExcel_Writer_Exception("$bitmap: only 1 plane supported in bitmap image.\n"); - } - - // Read and remove the bitmap compression. Verify compression. - $compression = unpack("Vcomp", substr($data, 0, 4)); - $data = substr($data, 4); - - //$compression = 0; - if ($compression['comp'] != 0) { - throw new PHPExcel_Writer_Exception("$bitmap: compression not supported in bitmap image.\n"); - } - - // Remove bitmap data: data size, hres, vres, colours, imp. colours. - $data = substr($data, 20); - - // Add the BITMAPCOREHEADER data - $header = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); - $data = $header . $data; - - return (array($width, $height, $size, $data)); - } - - /** - * Store the window zoom factor. This should be a reduced fraction but for - * simplicity we will store all fractions with a numerator of 100. - */ - private function _writeZoom() - { - // If scale is 100 we don't need to write a record - if ($this->_phpSheet->getSheetView()->getZoomScale() == 100) { - return; - } - - $record = 0x00A0; // Record identifier - $length = 0x0004; // Bytes to follow - - $header = pack("vv", $record, $length); - $data = pack("vv", $this->_phpSheet->getSheetView()->getZoomScale(), 100); - $this->_append($header . $data); - } - - /** - * Get Escher object - * - * @return PHPExcel_Shared_Escher - */ - public function getEscher() - { - return $this->_escher; - } - - /** - * Set Escher object - * - * @param PHPExcel_Shared_Escher $pValue - */ - public function setEscher(PHPExcel_Shared_Escher $pValue = null) - { - $this->_escher = $pValue; - } - - /** - * Write MSODRAWING record - */ - private function _writeMsoDrawing() - { - // write the Escher stream if necessary - if (isset($this->_escher)) { - $writer = new PHPExcel_Writer_Excel5_Escher($this->_escher); - $data = $writer->close(); - $spOffsets = $writer->getSpOffsets(); - $spTypes = $writer->getSpTypes(); - // write the neccesary MSODRAWING, OBJ records - - // split the Escher stream - $spOffsets[0] = 0; - $nm = count($spOffsets) - 1; // number of shapes excluding first shape - for ($i = 1; $i <= $nm; ++$i) { - // MSODRAWING record - $record = 0x00EC; // Record identifier - - // chunk of Escher stream for one shape - $dataChunk = substr($data, $spOffsets[$i -1], $spOffsets[$i] - $spOffsets[$i - 1]); - - $length = strlen($dataChunk); - $header = pack("vv", $record, $length); - - $this->_append($header . $dataChunk); - - // OBJ record - $record = 0x005D; // record identifier - $objData = ''; - - // ftCmo - if($spTypes[$i] == 0x00C9){ - // Add ftCmo (common object data) subobject - $objData .= - pack('vvvvvVVV' - , 0x0015 // 0x0015 = ftCmo - , 0x0012 // length of ftCmo data - , 0x0014 // object type, 0x0014 = filter - , $i // object id number, Excel seems to use 1-based index, local for the sheet - , 0x2101 // option flags, 0x2001 is what OpenOffice.org uses - , 0 // reserved - , 0 // reserved - , 0 // reserved - ); - - // Add ftSbs Scroll bar subobject - $objData .= pack('vv', 0x00C, 0x0014); - $objData .= pack('H*', '0000000000000000640001000A00000010000100'); - // Add ftLbsData (List box data) subobject - $objData .= pack('vv', 0x0013, 0x1FEE); - $objData .= pack('H*', '00000000010001030000020008005700'); - } - else { - // Add ftCmo (common object data) subobject - $objData .= - pack('vvvvvVVV' - , 0x0015 // 0x0015 = ftCmo - , 0x0012 // length of ftCmo data - , 0x0008 // object type, 0x0008 = picture - , $i // object id number, Excel seems to use 1-based index, local for the sheet - , 0x6011 // option flags, 0x6011 is what OpenOffice.org uses - , 0 // reserved - , 0 // reserved - , 0 // reserved - ); - } - - // ftEnd - $objData .= - pack('vv' - , 0x0000 // 0x0000 = ftEnd - , 0x0000 // length of ftEnd data - ); - - $length = strlen($objData); - $header = pack('vv', $record, $length); - $this->_append($header . $objData); - } - } - } - - /** - * Store the DATAVALIDATIONS and DATAVALIDATION records. - */ - private function _writeDataValidity() - { - // Datavalidation collection - $dataValidationCollection = $this->_phpSheet->getDataValidationCollection(); - - // Write data validations? - if (!empty($dataValidationCollection)) { - - // DATAVALIDATIONS record - $record = 0x01B2; // Record identifier - $length = 0x0012; // Bytes to follow - - $grbit = 0x0000; // Prompt box at cell, no cached validity data at DV records - $horPos = 0x00000000; // Horizontal position of prompt box, if fixed position - $verPos = 0x00000000; // Vertical position of prompt box, if fixed position - $objId = 0xFFFFFFFF; // Object identifier of drop down arrow object, or -1 if not visible - - $header = pack('vv', $record, $length); - $data = pack('vVVVV', $grbit, $horPos, $verPos, $objId, - count($dataValidationCollection)); - $this->_append($header.$data); - - // DATAVALIDATION records - $record = 0x01BE; // Record identifier - - foreach ($dataValidationCollection as $cellCoordinate => $dataValidation) { - // initialize record data - $data = ''; - - // options - $options = 0x00000000; - - // data type - $type = $dataValidation->getType(); - switch ($type) { - case PHPExcel_Cell_DataValidation::TYPE_NONE: $type = 0x00; break; - case PHPExcel_Cell_DataValidation::TYPE_WHOLE: $type = 0x01; break; - case PHPExcel_Cell_DataValidation::TYPE_DECIMAL: $type = 0x02; break; - case PHPExcel_Cell_DataValidation::TYPE_LIST: $type = 0x03; break; - case PHPExcel_Cell_DataValidation::TYPE_DATE: $type = 0x04; break; - case PHPExcel_Cell_DataValidation::TYPE_TIME: $type = 0x05; break; - case PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH: $type = 0x06; break; - case PHPExcel_Cell_DataValidation::TYPE_CUSTOM: $type = 0x07; break; - } - $options |= $type << 0; - - // error style - $errorStyle = $dataValidation->getType(); - switch ($errorStyle) { - case PHPExcel_Cell_DataValidation::STYLE_STOP: $errorStyle = 0x00; break; - case PHPExcel_Cell_DataValidation::STYLE_WARNING: $errorStyle = 0x01; break; - case PHPExcel_Cell_DataValidation::STYLE_INFORMATION: $errorStyle = 0x02; break; - } - $options |= $errorStyle << 4; - - // explicit formula? - if ($type == 0x03 && preg_match('/^\".*\"$/', $dataValidation->getFormula1())) { - $options |= 0x01 << 7; - } - - // empty cells allowed - $options |= $dataValidation->getAllowBlank() << 8; - - // show drop down - $options |= (!$dataValidation->getShowDropDown()) << 9; - - // show input message - $options |= $dataValidation->getShowInputMessage() << 18; - - // show error message - $options |= $dataValidation->getShowErrorMessage() << 19; - - // condition operator - $operator = $dataValidation->getOperator(); - switch ($operator) { - case PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN: $operator = 0x00 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN: $operator = 0x01 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_EQUAL: $operator = 0x02 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL: $operator = 0x03 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN: $operator = 0x04 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN: $operator = 0x05 ; break; - case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL: $operator = 0x06; break; - case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL: $operator = 0x07 ; break; - } - $options |= $operator << 20; - - $data = pack('V', $options); - - // prompt title - $promptTitle = $dataValidation->getPromptTitle() !== '' ? - $dataValidation->getPromptTitle() : chr(0); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($promptTitle); - - // error title - $errorTitle = $dataValidation->getErrorTitle() !== '' ? - $dataValidation->getErrorTitle() : chr(0); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($errorTitle); - - // prompt text - $prompt = $dataValidation->getPrompt() !== '' ? - $dataValidation->getPrompt() : chr(0); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($prompt); - - // error text - $error = $dataValidation->getError() !== '' ? - $dataValidation->getError() : chr(0); - $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($error); - - // formula 1 - try { - $formula1 = $dataValidation->getFormula1(); - if ($type == 0x03) { // list type - $formula1 = str_replace(',', chr(0), $formula1); - } - $this->_parser->parse($formula1); - $formula1 = $this->_parser->toReversePolish(); - $sz1 = strlen($formula1); - - } catch(PHPExcel_Exception $e) { - $sz1 = 0; - $formula1 = ''; - } - $data .= pack('vv', $sz1, 0x0000); - $data .= $formula1; - - // formula 2 - try { - $formula2 = $dataValidation->getFormula2(); - if ($formula2 === '') { - throw new PHPExcel_Writer_Exception('No formula2'); - } - $this->_parser->parse($formula2); - $formula2 = $this->_parser->toReversePolish(); - $sz2 = strlen($formula2); - - } catch(PHPExcel_Exception $e) { - $sz2 = 0; - $formula2 = ''; - } - $data .= pack('vv', $sz2, 0x0000); - $data .= $formula2; - - // cell range address list - $data .= pack('v', 0x0001); - $data .= $this->_writeBIFF8CellRangeAddressFixed($cellCoordinate); - - $length = strlen($data); - $header = pack("vv", $record, $length); - - $this->_append($header . $data); - } - } - } - - /** - * Map Error code - * - * @param string $errorCode - * @return int - */ - private static function _mapErrorCode($errorCode) { - switch ($errorCode) { - case '#NULL!': return 0x00; - case '#DIV/0!': return 0x07; - case '#VALUE!': return 0x0F; - case '#REF!': return 0x17; - case '#NAME?': return 0x1D; - case '#NUM!': return 0x24; - case '#N/A': return 0x2A; - } - - return 0; - } - - /** - * Write PLV Record - */ - private function _writePageLayoutView(){ - $record = 0x088B; // Record identifier - $length = 0x0010; // Bytes to follow - - $rt = 0x088B; // 2 - $grbitFrt = 0x0000; // 2 - $reserved = 0x0000000000000000; // 8 - $wScalvePLV = $this->_phpSheet->getSheetView()->getZoomScale(); // 2 - - // The options flags that comprise $grbit - if($this->_phpSheet->getSheetView()->getView() == PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT){ - $fPageLayoutView = 1; - } else { - $fPageLayoutView = 0; - } - $fRulerVisible = 0; - $fWhitespaceHidden = 0; - - $grbit = $fPageLayoutView; // 2 - $grbit |= $fRulerVisible << 1; - $grbit |= $fWhitespaceHidden << 3; - - $header = pack("vv", $record, $length); - $data = pack("vvVVvv", $rt, $grbitFrt, 0x00000000, 0x00000000, $wScalvePLV, $grbit); - $this->_append($header . $data); - } - - /** - * Write CFRule Record - * @param PHPExcel_Style_Conditional $conditional - */ - private function _writeCFRule(PHPExcel_Style_Conditional $conditional){ - $record = 0x01B1; // Record identifier - - // $type : Type of the CF - // $operatorType : Comparison operator - if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION){ - $type = 0x02; - $operatorType = 0x00; - } else if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ - $type = 0x01; - - switch ($conditional->getOperatorType()){ - case PHPExcel_Style_Conditional::OPERATOR_NONE: - $operatorType = 0x00; - break; - case PHPExcel_Style_Conditional::OPERATOR_EQUAL: - $operatorType = 0x03; - break; - case PHPExcel_Style_Conditional::OPERATOR_GREATERTHAN: - $operatorType = 0x05; - break; - case PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL: - $operatorType = 0x07; - break; - case PHPExcel_Style_Conditional::OPERATOR_LESSTHAN: - $operatorType = 0x06; - break; - case PHPExcel_Style_Conditional::OPERATOR_LESSTHANOREQUAL: - $operatorType = 0x08; - break; - case PHPExcel_Style_Conditional::OPERATOR_NOTEQUAL: - $operatorType = 0x04; - break; - case PHPExcel_Style_Conditional::OPERATOR_BETWEEN: - $operatorType = 0x01; - break; - // not OPERATOR_NOTBETWEEN 0x02 - } - } - - // $szValue1 : size of the formula data for first value or formula - // $szValue2 : size of the formula data for second value or formula - $arrConditions = $conditional->getConditions(); - $numConditions = sizeof($arrConditions); - if($numConditions == 1){ - $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); - $szValue2 = 0x0000; - $operand1 = pack('Cv', 0x1E, $arrConditions[0]); - $operand2 = null; - } else if($numConditions == 2 && ($conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BETWEEN)){ - $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); - $szValue2 = ($arrConditions[1] <= 65535 ? 3 : 0x0000); - $operand1 = pack('Cv', 0x1E, $arrConditions[0]); - $operand2 = pack('Cv', 0x1E, $arrConditions[1]); - } else { - $szValue1 = 0x0000; - $szValue2 = 0x0000; - $operand1 = null; - $operand2 = null; - } - - // $flags : Option flags - // Alignment - $bAlignHz = ($conditional->getStyle()->getAlignment()->getHorizontal() == null ? 1 : 0); - $bAlignVt = ($conditional->getStyle()->getAlignment()->getVertical() == null ? 1 : 0); - $bAlignWrapTx = ($conditional->getStyle()->getAlignment()->getWrapText() == false ? 1 : 0); - $bTxRotation = ($conditional->getStyle()->getAlignment()->getTextRotation() == null ? 1 : 0); - $bIndent = ($conditional->getStyle()->getAlignment()->getIndent() == 0 ? 1 : 0); - $bShrinkToFit = ($conditional->getStyle()->getAlignment()->getShrinkToFit() == false ? 1 : 0); - if($bAlignHz == 0 || $bAlignVt == 0 || $bAlignWrapTx == 0 || $bTxRotation == 0 || $bIndent == 0 || $bShrinkToFit == 0){ - $bFormatAlign = 1; - } else { - $bFormatAlign = 0; - } - // Protection - $bProtLocked = ($conditional->getStyle()->getProtection()->getLocked() == null ? 1 : 0); - $bProtHidden = ($conditional->getStyle()->getProtection()->getHidden() == null ? 1 : 0); - if($bProtLocked == 0 || $bProtHidden == 0){ - $bFormatProt = 1; - } else { - $bFormatProt = 0; - } - // Border - $bBorderLeft = ($conditional->getStyle()->getBorders()->getLeft()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK - && $conditional->getStyle()->getBorders()->getLeft()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); - $bBorderRight = ($conditional->getStyle()->getBorders()->getRight()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK - && $conditional->getStyle()->getBorders()->getRight()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); - $bBorderTop = ($conditional->getStyle()->getBorders()->getTop()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK - && $conditional->getStyle()->getBorders()->getTop()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); - $bBorderBottom = ($conditional->getStyle()->getBorders()->getBottom()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK - && $conditional->getStyle()->getBorders()->getBottom()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); - if($bBorderLeft == 0 || $bBorderRight == 0 || $bBorderTop == 0 || $bBorderBottom == 0){ - $bFormatBorder = 1; - } else { - $bFormatBorder = 0; - } - // Pattern - $bFillStyle = ($conditional->getStyle()->getFill()->getFillType() == null ? 0 : 1); - $bFillColor = ($conditional->getStyle()->getFill()->getStartColor()->getARGB() == null ? 0 : 1); - $bFillColorBg = ($conditional->getStyle()->getFill()->getEndColor()->getARGB() == null ? 0 : 1); - if($bFillStyle == 0 || $bFillColor == 0 || $bFillColorBg == 0){ - $bFormatFill = 1; - } else { - $bFormatFill = 0; - } - // Font - if($conditional->getStyle()->getFont()->getName() != null - || $conditional->getStyle()->getFont()->getSize() != null - || $conditional->getStyle()->getFont()->getBold() != null - || $conditional->getStyle()->getFont()->getItalic() != null - || $conditional->getStyle()->getFont()->getSuperScript() != null - || $conditional->getStyle()->getFont()->getSubScript() != null - || $conditional->getStyle()->getFont()->getUnderline() != null - || $conditional->getStyle()->getFont()->getStrikethrough() != null - || $conditional->getStyle()->getFont()->getColor()->getARGB() != null){ - $bFormatFont = 1; - } else { - $bFormatFont = 0; - } - // Alignment - $flags = 0; - $flags |= (1 == $bAlignHz ? 0x00000001 : 0); - $flags |= (1 == $bAlignVt ? 0x00000002 : 0); - $flags |= (1 == $bAlignWrapTx ? 0x00000004 : 0); - $flags |= (1 == $bTxRotation ? 0x00000008 : 0); - // Justify last line flag - $flags |= (1 == 1 ? 0x00000010 : 0); - $flags |= (1 == $bIndent ? 0x00000020 : 0); - $flags |= (1 == $bShrinkToFit ? 0x00000040 : 0); - // Default - $flags |= (1 == 1 ? 0x00000080 : 0); - // Protection - $flags |= (1 == $bProtLocked ? 0x00000100 : 0); - $flags |= (1 == $bProtHidden ? 0x00000200 : 0); - // Border - $flags |= (1 == $bBorderLeft ? 0x00000400 : 0); - $flags |= (1 == $bBorderRight ? 0x00000800 : 0); - $flags |= (1 == $bBorderTop ? 0x00001000 : 0); - $flags |= (1 == $bBorderBottom ? 0x00002000 : 0); - $flags |= (1 == 1 ? 0x00004000 : 0); // Top left to Bottom right border - $flags |= (1 == 1 ? 0x00008000 : 0); // Bottom left to Top right border - // Pattern - $flags |= (1 == $bFillStyle ? 0x00010000 : 0); - $flags |= (1 == $bFillColor ? 0x00020000 : 0); - $flags |= (1 == $bFillColorBg ? 0x00040000 : 0); - $flags |= (1 == 1 ? 0x00380000 : 0); - // Font - $flags |= (1 == $bFormatFont ? 0x04000000 : 0); - // Alignment : - $flags |= (1 == $bFormatAlign ? 0x08000000 : 0); - // Border - $flags |= (1 == $bFormatBorder ? 0x10000000 : 0); - // Pattern - $flags |= (1 == $bFormatFill ? 0x20000000 : 0); - // Protection - $flags |= (1 == $bFormatProt ? 0x40000000 : 0); - // Text direction - $flags |= (1 == 0 ? 0x80000000 : 0); - - // Data Blocks - if($bFormatFont == 1){ - // Font Name - if($conditional->getStyle()->getFont()->getName() == null){ - $dataBlockFont = pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); - $dataBlockFont .= pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); - } else { - $dataBlockFont = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($conditional->getStyle()->getFont()->getName()); - } - // Font Size - if($conditional->getStyle()->getFont()->getSize() == null){ - $dataBlockFont .= pack('V', 20 * 11); - } else { - $dataBlockFont .= pack('V', 20 * $conditional->getStyle()->getFont()->getSize()); - } - // Font Options - $dataBlockFont .= pack('V', 0); - // Font weight - if($conditional->getStyle()->getFont()->getBold() == true){ - $dataBlockFont .= pack('v', 0x02BC); - } else { - $dataBlockFont .= pack('v', 0x0190); - } - // Escapement type - if($conditional->getStyle()->getFont()->getSubScript() == true){ - $dataBlockFont .= pack('v', 0x02); - $fontEscapement = 0; - } else if($conditional->getStyle()->getFont()->getSuperScript() == true){ - $dataBlockFont .= pack('v', 0x01); - $fontEscapement = 0; - } else { - $dataBlockFont .= pack('v', 0x00); - $fontEscapement = 1; - } - // Underline type - switch ($conditional->getStyle()->getFont()->getUnderline()){ - case PHPExcel_Style_Font::UNDERLINE_NONE : $dataBlockFont .= pack('C', 0x00); $fontUnderline = 0; break; - case PHPExcel_Style_Font::UNDERLINE_DOUBLE : $dataBlockFont .= pack('C', 0x02); $fontUnderline = 0; break; - case PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING : $dataBlockFont .= pack('C', 0x22); $fontUnderline = 0; break; - case PHPExcel_Style_Font::UNDERLINE_SINGLE : $dataBlockFont .= pack('C', 0x01); $fontUnderline = 0; break; - case PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING : $dataBlockFont .= pack('C', 0x21); $fontUnderline = 0; break; - default : $dataBlockFont .= pack('C', 0x00); $fontUnderline = 1; break; - } - // Not used (3) - $dataBlockFont .= pack('vC', 0x0000, 0x00); - // Font color index - switch ($conditional->getStyle()->getFont()->getColor()->getRGB()) { - case '000000': $colorIdx = 0x08; break; - case 'FFFFFF': $colorIdx = 0x09; break; - case 'FF0000': $colorIdx = 0x0A; break; - case '00FF00': $colorIdx = 0x0B; break; - case '0000FF': $colorIdx = 0x0C; break; - case 'FFFF00': $colorIdx = 0x0D; break; - case 'FF00FF': $colorIdx = 0x0E; break; - case '00FFFF': $colorIdx = 0x0F; break; - case '800000': $colorIdx = 0x10; break; - case '008000': $colorIdx = 0x11; break; - case '000080': $colorIdx = 0x12; break; - case '808000': $colorIdx = 0x13; break; - case '800080': $colorIdx = 0x14; break; - case '008080': $colorIdx = 0x15; break; - case 'C0C0C0': $colorIdx = 0x16; break; - case '808080': $colorIdx = 0x17; break; - case '9999FF': $colorIdx = 0x18; break; - case '993366': $colorIdx = 0x19; break; - case 'FFFFCC': $colorIdx = 0x1A; break; - case 'CCFFFF': $colorIdx = 0x1B; break; - case '660066': $colorIdx = 0x1C; break; - case 'FF8080': $colorIdx = 0x1D; break; - case '0066CC': $colorIdx = 0x1E; break; - case 'CCCCFF': $colorIdx = 0x1F; break; - case '000080': $colorIdx = 0x20; break; - case 'FF00FF': $colorIdx = 0x21; break; - case 'FFFF00': $colorIdx = 0x22; break; - case '00FFFF': $colorIdx = 0x23; break; - case '800080': $colorIdx = 0x24; break; - case '800000': $colorIdx = 0x25; break; - case '008080': $colorIdx = 0x26; break; - case '0000FF': $colorIdx = 0x27; break; - case '00CCFF': $colorIdx = 0x28; break; - case 'CCFFFF': $colorIdx = 0x29; break; - case 'CCFFCC': $colorIdx = 0x2A; break; - case 'FFFF99': $colorIdx = 0x2B; break; - case '99CCFF': $colorIdx = 0x2C; break; - case 'FF99CC': $colorIdx = 0x2D; break; - case 'CC99FF': $colorIdx = 0x2E; break; - case 'FFCC99': $colorIdx = 0x2F; break; - case '3366FF': $colorIdx = 0x30; break; - case '33CCCC': $colorIdx = 0x31; break; - case '99CC00': $colorIdx = 0x32; break; - case 'FFCC00': $colorIdx = 0x33; break; - case 'FF9900': $colorIdx = 0x34; break; - case 'FF6600': $colorIdx = 0x35; break; - case '666699': $colorIdx = 0x36; break; - case '969696': $colorIdx = 0x37; break; - case '003366': $colorIdx = 0x38; break; - case '339966': $colorIdx = 0x39; break; - case '003300': $colorIdx = 0x3A; break; - case '333300': $colorIdx = 0x3B; break; - case '993300': $colorIdx = 0x3C; break; - case '993366': $colorIdx = 0x3D; break; - case '333399': $colorIdx = 0x3E; break; - case '333333': $colorIdx = 0x3F; break; - default: $colorIdx = 0x00; break; - } - $dataBlockFont .= pack('V', $colorIdx); - // Not used (4) - $dataBlockFont .= pack('V', 0x00000000); - // Options flags for modified font attributes - $optionsFlags = 0; - $optionsFlagsBold = ($conditional->getStyle()->getFont()->getBold() == null ? 1 : 0); - $optionsFlags |= (1 == $optionsFlagsBold ? 0x00000002 : 0); - $optionsFlags |= (1 == 1 ? 0x00000008 : 0); - $optionsFlags |= (1 == 1 ? 0x00000010 : 0); - $optionsFlags |= (1 == 0 ? 0x00000020 : 0); - $optionsFlags |= (1 == 1 ? 0x00000080 : 0); - $dataBlockFont .= pack('V', $optionsFlags); - // Escapement type - $dataBlockFont .= pack('V', $fontEscapement); - // Underline type - $dataBlockFont .= pack('V', $fontUnderline); - // Always - $dataBlockFont .= pack('V', 0x00000000); - // Always - $dataBlockFont .= pack('V', 0x00000000); - // Not used (8) - $dataBlockFont .= pack('VV', 0x00000000, 0x00000000); - // Always - $dataBlockFont .= pack('v', 0x0001); - } - if($bFormatAlign == 1){ - $blockAlign = 0; - // Alignment and text break - switch ($conditional->getStyle()->getAlignment()->getHorizontal()){ - case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL : $blockAlign = 0; break; - case PHPExcel_Style_Alignment::HORIZONTAL_LEFT : $blockAlign = 1; break; - case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT : $blockAlign = 3; break; - case PHPExcel_Style_Alignment::HORIZONTAL_CENTER : $blockAlign = 2; break; - case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS : $blockAlign = 6; break; - case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY : $blockAlign = 5; break; - } - if($conditional->getStyle()->getAlignment()->getWrapText() == true){ - $blockAlign |= 1 << 3; - } else { - $blockAlign |= 0 << 3; - } - switch ($conditional->getStyle()->getAlignment()->getVertical()){ - case PHPExcel_Style_Alignment::VERTICAL_BOTTOM : $blockAlign = 2 << 4; break; - case PHPExcel_Style_Alignment::VERTICAL_TOP : $blockAlign = 0 << 4; break; - case PHPExcel_Style_Alignment::VERTICAL_CENTER : $blockAlign = 1 << 4; break; - case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY : $blockAlign = 3 << 4; break; - } - $blockAlign |= 0 << 7; - - // Text rotation angle - $blockRotation = $conditional->getStyle()->getAlignment()->getTextRotation(); - - // Indentation - $blockIndent = $conditional->getStyle()->getAlignment()->getIndent(); - if($conditional->getStyle()->getAlignment()->getShrinkToFit() == true){ - $blockIndent |= 1 << 4; - } else { - $blockIndent |= 0 << 4; - } - $blockIndent |= 0 << 6; - - // Relative indentation - $blockIndentRelative = 255; - - $dataBlockAlign = pack('CCvvv', $blockAlign, $blockRotation, $blockIndent, $blockIndentRelative, 0x0000); - } - if($bFormatBorder == 1){ - $blockLineStyle = 0; - switch ($conditional->getStyle()->getBorders()->getLeft()->getBorderStyle()){ - case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00; break; - case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01; break; - case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02; break; - case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03; break; - case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04; break; - case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05; break; - case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06; break; - case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08; break; - case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A; break; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C; break; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D; break; - } - switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()){ - case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 4; break; - case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 4; break; - case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 4; break; - case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 4; break; - case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 4; break; - case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 4; break; - case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 4; break; - case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 4; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 4; break; - case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 4; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 4; break; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 4; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 4; break; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 4; break; - } - switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()){ - case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 8; break; - case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 8; break; - case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 8; break; - case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 8; break; - case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 8; break; - case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 8; break; - case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 8; break; - case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 8; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 8; break; - case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 8; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 8; break; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 8; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 8; break; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 8; break; - } - switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()){ - case PHPExcel_Style_Border::BORDER_NONE : $blockLineStyle |= 0x00 << 12; break; - case PHPExcel_Style_Border::BORDER_THIN : $blockLineStyle |= 0x01 << 12; break; - case PHPExcel_Style_Border::BORDER_MEDIUM : $blockLineStyle |= 0x02 << 12; break; - case PHPExcel_Style_Border::BORDER_DASHED : $blockLineStyle |= 0x03 << 12; break; - case PHPExcel_Style_Border::BORDER_DOTTED : $blockLineStyle |= 0x04 << 12; break; - case PHPExcel_Style_Border::BORDER_THICK : $blockLineStyle |= 0x05 << 12; break; - case PHPExcel_Style_Border::BORDER_DOUBLE : $blockLineStyle |= 0x06 << 12; break; - case PHPExcel_Style_Border::BORDER_HAIR : $blockLineStyle |= 0x07 << 12; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockLineStyle |= 0x08 << 12; break; - case PHPExcel_Style_Border::BORDER_DASHDOT : $blockLineStyle |= 0x09 << 12; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockLineStyle |= 0x0A << 12; break; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockLineStyle |= 0x0B << 12; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockLineStyle |= 0x0C << 12; break; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockLineStyle |= 0x0D << 12; break; - } - //@todo _writeCFRule() => $blockLineStyle => Index Color for left line - //@todo _writeCFRule() => $blockLineStyle => Index Color for right line - //@todo _writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off - //@todo _writeCFRule() => $blockLineStyle => Bottom-left to top-right on/off - $blockColor = 0; - //@todo _writeCFRule() => $blockColor => Index Color for top line - //@todo _writeCFRule() => $blockColor => Index Color for bottom line - //@todo _writeCFRule() => $blockColor => Index Color for diagonal line - switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()){ - case PHPExcel_Style_Border::BORDER_NONE : $blockColor |= 0x00 << 21; break; - case PHPExcel_Style_Border::BORDER_THIN : $blockColor |= 0x01 << 21; break; - case PHPExcel_Style_Border::BORDER_MEDIUM : $blockColor |= 0x02 << 21; break; - case PHPExcel_Style_Border::BORDER_DASHED : $blockColor |= 0x03 << 21; break; - case PHPExcel_Style_Border::BORDER_DOTTED : $blockColor |= 0x04 << 21; break; - case PHPExcel_Style_Border::BORDER_THICK : $blockColor |= 0x05 << 21; break; - case PHPExcel_Style_Border::BORDER_DOUBLE : $blockColor |= 0x06 << 21; break; - case PHPExcel_Style_Border::BORDER_HAIR : $blockColor |= 0x07 << 21; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED : $blockColor |= 0x08 << 21; break; - case PHPExcel_Style_Border::BORDER_DASHDOT : $blockColor |= 0x09 << 21; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT : $blockColor |= 0x0A << 21; break; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT : $blockColor |= 0x0B << 21; break; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT : $blockColor |= 0x0C << 21; break; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT : $blockColor |= 0x0D << 21; break; - } - $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor); - } - if($bFormatFill == 1){ - // Fill Patern Style - $blockFillPatternStyle = 0; - switch ($conditional->getStyle()->getFill()->getFillType()){ - case PHPExcel_Style_Fill::FILL_NONE : $blockFillPatternStyle = 0x00; break; - case PHPExcel_Style_Fill::FILL_SOLID : $blockFillPatternStyle = 0x01; break; - case PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY : $blockFillPatternStyle = 0x02; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY : $blockFillPatternStyle = 0x03; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY : $blockFillPatternStyle = 0x04; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL : $blockFillPatternStyle = 0x05; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL : $blockFillPatternStyle = 0x06; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN : $blockFillPatternStyle = 0x07; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKUP : $blockFillPatternStyle = 0x08; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID : $blockFillPatternStyle = 0x09; break; - case PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS : $blockFillPatternStyle = 0x0A; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL : $blockFillPatternStyle = 0x0B; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL : $blockFillPatternStyle = 0x0C; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN : $blockFillPatternStyle = 0x0D; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP : $blockFillPatternStyle = 0x0E; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID : $blockFillPatternStyle = 0x0F; break; - case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS : $blockFillPatternStyle = 0x10; break; - case PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 : $blockFillPatternStyle = 0x11; break; - case PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 : $blockFillPatternStyle = 0x12; break; - case PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR : $blockFillPatternStyle = 0x00; break; // does not exist in BIFF8 - case PHPExcel_Style_Fill::FILL_GRADIENT_PATH : $blockFillPatternStyle = 0x00; break; // does not exist in BIFF8 - default : $blockFillPatternStyle = 0x00; break; - } - // Color - switch ($conditional->getStyle()->getFill()->getStartColor()->getRGB()) { - case '000000': $colorIdxBg = 0x08; break; - case 'FFFFFF': $colorIdxBg = 0x09; break; - case 'FF0000': $colorIdxBg = 0x0A; break; - case '00FF00': $colorIdxBg = 0x0B; break; - case '0000FF': $colorIdxBg = 0x0C; break; - case 'FFFF00': $colorIdxBg = 0x0D; break; - case 'FF00FF': $colorIdxBg = 0x0E; break; - case '00FFFF': $colorIdxBg = 0x0F; break; - case '800000': $colorIdxBg = 0x10; break; - case '008000': $colorIdxBg = 0x11; break; - case '000080': $colorIdxBg = 0x12; break; - case '808000': $colorIdxBg = 0x13; break; - case '800080': $colorIdxBg = 0x14; break; - case '008080': $colorIdxBg = 0x15; break; - case 'C0C0C0': $colorIdxBg = 0x16; break; - case '808080': $colorIdxBg = 0x17; break; - case '9999FF': $colorIdxBg = 0x18; break; - case '993366': $colorIdxBg = 0x19; break; - case 'FFFFCC': $colorIdxBg = 0x1A; break; - case 'CCFFFF': $colorIdxBg = 0x1B; break; - case '660066': $colorIdxBg = 0x1C; break; - case 'FF8080': $colorIdxBg = 0x1D; break; - case '0066CC': $colorIdxBg = 0x1E; break; - case 'CCCCFF': $colorIdxBg = 0x1F; break; - case '000080': $colorIdxBg = 0x20; break; - case 'FF00FF': $colorIdxBg = 0x21; break; - case 'FFFF00': $colorIdxBg = 0x22; break; - case '00FFFF': $colorIdxBg = 0x23; break; - case '800080': $colorIdxBg = 0x24; break; - case '800000': $colorIdxBg = 0x25; break; - case '008080': $colorIdxBg = 0x26; break; - case '0000FF': $colorIdxBg = 0x27; break; - case '00CCFF': $colorIdxBg = 0x28; break; - case 'CCFFFF': $colorIdxBg = 0x29; break; - case 'CCFFCC': $colorIdxBg = 0x2A; break; - case 'FFFF99': $colorIdxBg = 0x2B; break; - case '99CCFF': $colorIdxBg = 0x2C; break; - case 'FF99CC': $colorIdxBg = 0x2D; break; - case 'CC99FF': $colorIdxBg = 0x2E; break; - case 'FFCC99': $colorIdxBg = 0x2F; break; - case '3366FF': $colorIdxBg = 0x30; break; - case '33CCCC': $colorIdxBg = 0x31; break; - case '99CC00': $colorIdxBg = 0x32; break; - case 'FFCC00': $colorIdxBg = 0x33; break; - case 'FF9900': $colorIdxBg = 0x34; break; - case 'FF6600': $colorIdxBg = 0x35; break; - case '666699': $colorIdxBg = 0x36; break; - case '969696': $colorIdxBg = 0x37; break; - case '003366': $colorIdxBg = 0x38; break; - case '339966': $colorIdxBg = 0x39; break; - case '003300': $colorIdxBg = 0x3A; break; - case '333300': $colorIdxBg = 0x3B; break; - case '993300': $colorIdxBg = 0x3C; break; - case '993366': $colorIdxBg = 0x3D; break; - case '333399': $colorIdxBg = 0x3E; break; - case '333333': $colorIdxBg = 0x3F; break; - default: $colorIdxBg = 0x41; break; - } - // Fg Color - switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) { - case '000000': $colorIdxFg = 0x08; break; - case 'FFFFFF': $colorIdxFg = 0x09; break; - case 'FF0000': $colorIdxFg = 0x0A; break; - case '00FF00': $colorIdxFg = 0x0B; break; - case '0000FF': $colorIdxFg = 0x0C; break; - case 'FFFF00': $colorIdxFg = 0x0D; break; - case 'FF00FF': $colorIdxFg = 0x0E; break; - case '00FFFF': $colorIdxFg = 0x0F; break; - case '800000': $colorIdxFg = 0x10; break; - case '008000': $colorIdxFg = 0x11; break; - case '000080': $colorIdxFg = 0x12; break; - case '808000': $colorIdxFg = 0x13; break; - case '800080': $colorIdxFg = 0x14; break; - case '008080': $colorIdxFg = 0x15; break; - case 'C0C0C0': $colorIdxFg = 0x16; break; - case '808080': $colorIdxFg = 0x17; break; - case '9999FF': $colorIdxFg = 0x18; break; - case '993366': $colorIdxFg = 0x19; break; - case 'FFFFCC': $colorIdxFg = 0x1A; break; - case 'CCFFFF': $colorIdxFg = 0x1B; break; - case '660066': $colorIdxFg = 0x1C; break; - case 'FF8080': $colorIdxFg = 0x1D; break; - case '0066CC': $colorIdxFg = 0x1E; break; - case 'CCCCFF': $colorIdxFg = 0x1F; break; - case '000080': $colorIdxFg = 0x20; break; - case 'FF00FF': $colorIdxFg = 0x21; break; - case 'FFFF00': $colorIdxFg = 0x22; break; - case '00FFFF': $colorIdxFg = 0x23; break; - case '800080': $colorIdxFg = 0x24; break; - case '800000': $colorIdxFg = 0x25; break; - case '008080': $colorIdxFg = 0x26; break; - case '0000FF': $colorIdxFg = 0x27; break; - case '00CCFF': $colorIdxFg = 0x28; break; - case 'CCFFFF': $colorIdxFg = 0x29; break; - case 'CCFFCC': $colorIdxFg = 0x2A; break; - case 'FFFF99': $colorIdxFg = 0x2B; break; - case '99CCFF': $colorIdxFg = 0x2C; break; - case 'FF99CC': $colorIdxFg = 0x2D; break; - case 'CC99FF': $colorIdxFg = 0x2E; break; - case 'FFCC99': $colorIdxFg = 0x2F; break; - case '3366FF': $colorIdxFg = 0x30; break; - case '33CCCC': $colorIdxFg = 0x31; break; - case '99CC00': $colorIdxFg = 0x32; break; - case 'FFCC00': $colorIdxFg = 0x33; break; - case 'FF9900': $colorIdxFg = 0x34; break; - case 'FF6600': $colorIdxFg = 0x35; break; - case '666699': $colorIdxFg = 0x36; break; - case '969696': $colorIdxFg = 0x37; break; - case '003366': $colorIdxFg = 0x38; break; - case '339966': $colorIdxFg = 0x39; break; - case '003300': $colorIdxFg = 0x3A; break; - case '333300': $colorIdxFg = 0x3B; break; - case '993300': $colorIdxFg = 0x3C; break; - case '993366': $colorIdxFg = 0x3D; break; - case '333399': $colorIdxFg = 0x3E; break; - case '333333': $colorIdxFg = 0x3F; break; - default: $colorIdxFg = 0x40; break; - } - $dataBlockFill = pack('v', $blockFillPatternStyle); - $dataBlockFill .= pack('v', $colorIdxFg | ($colorIdxBg << 7)); - } - if($bFormatProt == 1){ - $dataBlockProtection = 0; - if($conditional->getStyle()->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED){ - $dataBlockProtection = 1; - } - if($conditional->getStyle()->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED){ - $dataBlockProtection = 1 << 1; - } - } - - $data = pack('CCvvVv', $type, $operatorType, $szValue1, $szValue2, $flags, 0x0000); - if($bFormatFont == 1){ // Block Formatting : OK - $data .= $dataBlockFont; - } - if($bFormatAlign == 1){ - $data .= $dataBlockAlign; - } - if($bFormatBorder == 1){ - $data .= $dataBlockBorder; - } - if($bFormatFill == 1){ // Block Formatting : OK - $data .= $dataBlockFill; - } - if($bFormatProt == 1){ - $data .= $dataBlockProtection; - } - if(!is_null($operand1)){ - $data .= $operand1; - } - if(!is_null($operand2)){ - $data .= $operand2; - } - $header = pack('vv', $record, strlen($data)); - $this->_append($header . $data); - } - - /** - * Write CFHeader record - */ - private function _writeCFHeader(){ - $record = 0x01B0; // Record identifier - $length = 0x0016; // Bytes to follow - - $numColumnMin = null; - $numColumnMax = null; - $numRowMin = null; - $numRowMax = null; - $arrConditional = array(); - foreach ($this->_phpSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { - foreach ($conditionalStyles as $conditional) { - if($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION - || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS){ - if(!in_array($conditional->getHashCode(), $arrConditional)){ - $arrConditional[] = $conditional->getHashCode(); - } - // Cells - $arrCoord = PHPExcel_Cell::coordinateFromString($cellCoordinate); - if(!is_numeric($arrCoord[0])){ - $arrCoord[0] = PHPExcel_Cell::columnIndexFromString($arrCoord[0]); - } - if(is_null($numColumnMin) || ($numColumnMin > $arrCoord[0])){ - $numColumnMin = $arrCoord[0]; - } - if(is_null($numColumnMax) || ($numColumnMax < $arrCoord[0])){ - $numColumnMax = $arrCoord[0]; - } - if(is_null($numRowMin) || ($numRowMin > $arrCoord[1])){ - $numRowMin = $arrCoord[1]; - } - if(is_null($numRowMax) || ($numRowMax < $arrCoord[1])){ - $numRowMax = $arrCoord[1]; - } - } - } - } - $needRedraw = 1; - $cellRange = pack('vvvv', $numRowMin-1, $numRowMax-1, $numColumnMin-1, $numColumnMax-1); - - $header = pack('vv', $record, $length); - $data = pack('vv', count($arrConditional), $needRedraw); - $data .= $cellRange; - $data .= pack('v', 0x0001); - $data .= $cellRange; - $this->_append($header . $data); - } -} \ No newline at end of file + /** + * Formula parser + * + * @var PHPExcel_Writer_Excel5_Parser + */ + private $parser; + + /** + * Maximum number of characters for a string (LABEL record in BIFF5) + * @var integer + */ + private $xlsStringMaxLength; + + /** + * Array containing format information for columns + * @var array + */ + private $columnInfo; + + /** + * Array containing the selected area for the worksheet + * @var array + */ + private $selection; + + /** + * The active pane for the worksheet + * @var integer + */ + private $activePane; + + /** + * Whether to use outline. + * @var integer + */ + private $outlineOn; + + /** + * Auto outline styles. + * @var bool + */ + private $outlineStyle; + + /** + * Whether to have outline summary below. + * @var bool + */ + private $outlineBelow; + + /** + * Whether to have outline summary at the right. + * @var bool + */ + private $outlineRight; + + /** + * Reference to the total number of strings in the workbook + * @var integer + */ + private $stringTotal; + + /** + * Reference to the number of unique strings in the workbook + * @var integer + */ + private $stringUnique; + + /** + * Reference to the array containing all the unique strings in the workbook + * @var array + */ + private $stringTable; + + /** + * Color cache + */ + private $colors; + + /** + * Index of first used row (at least 0) + * @var int + */ + private $firstRowIndex; + + /** + * Index of last used row. (no used rows means -1) + * @var int + */ + private $lastRowIndex; + + /** + * Index of first used column (at least 0) + * @var int + */ + private $firstColumnIndex; + + /** + * Index of last used column (no used columns means -1) + * @var int + */ + private $lastColumnIndex; + + /** + * Sheet object + * @var PHPExcel_Worksheet + */ + public $phpSheet; + + /** + * Count cell style Xfs + * + * @var int + */ + private $countCellStyleXfs; + + /** + * Escher object corresponding to MSODRAWING + * + * @var PHPExcel_Shared_Escher + */ + private $escher; + + /** + * Array of font hashes associated to FONT records index + * + * @var array + */ + public $fontHashIndex; + + /** + * Constructor + * + * @param int &$str_total Total number of strings + * @param int &$str_unique Total number of unique strings + * @param array &$str_table String Table + * @param array &$colors Colour Table + * @param mixed $parser The formula parser created for the Workbook + * @param boolean $preCalculateFormulas Flag indicating whether formulas should be calculated or just written + * @param string $phpSheet The worksheet to write + * @param PHPExcel_Worksheet $phpSheet + */ + public function __construct(&$str_total, &$str_unique, &$str_table, &$colors, $parser, $preCalculateFormulas, $phpSheet) + { + // It needs to call its parent's constructor explicitly + parent::__construct(); + + // change BIFFwriter limit for CONTINUE records +// $this->_limit = 8224; + + + $this->_preCalculateFormulas = $preCalculateFormulas; + $this->stringTotal = &$str_total; + $this->stringUnique = &$str_unique; + $this->stringTable = &$str_table; + $this->colors = &$colors; + $this->parser = $parser; + + $this->phpSheet = $phpSheet; + + //$this->ext_sheets = array(); + //$this->offset = 0; + $this->xlsStringMaxLength = 255; + $this->columnInfo = array(); + $this->selection = array(0,0,0,0); + $this->activePane = 3; + + $this->_print_headers = 0; + + $this->outlineStyle = 0; + $this->outlineBelow = 1; + $this->outlineRight = 1; + $this->outlineOn = 1; + + $this->fontHashIndex = array(); + + // calculate values for DIMENSIONS record + $minR = 1; + $minC = 'A'; + + $maxR = $this->phpSheet->getHighestRow(); + $maxC = $this->phpSheet->getHighestColumn(); + + // Determine lowest and highest column and row +// $this->firstRowIndex = ($minR > 65535) ? 65535 : $minR; + $this->lastRowIndex = ($maxR > 65535) ? 65535 : $maxR ; + + $this->firstColumnIndex = PHPExcel_Cell::columnIndexFromString($minC); + $this->lastColumnIndex = PHPExcel_Cell::columnIndexFromString($maxC); + +// if ($this->firstColumnIndex > 255) $this->firstColumnIndex = 255; + if ($this->lastColumnIndex > 255) { + $this->lastColumnIndex = 255; + } + + $this->countCellStyleXfs = count($phpSheet->getParent()->getCellStyleXfCollection()); + } + + /** + * Add data to the beginning of the workbook (note the reverse order) + * and to the end of the workbook. + * + * @access public + * @see PHPExcel_Writer_Excel5_Workbook::storeWorkbook() + */ + public function close() + { + $phpSheet = $this->phpSheet; + + $num_sheets = $phpSheet->getParent()->getSheetCount(); + + // Write BOF record + $this->storeBof(0x0010); + + // Write PRINTHEADERS + $this->writePrintHeaders(); + + // Write PRINTGRIDLINES + $this->writePrintGridlines(); + + // Write GRIDSET + $this->writeGridset(); + + // Calculate column widths + $phpSheet->calculateColumnWidths(); + + // Column dimensions + if (($defaultWidth = $phpSheet->getDefaultColumnDimension()->getWidth()) < 0) { + $defaultWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($phpSheet->getParent()->getDefaultStyle()->getFont()); + } + + $columnDimensions = $phpSheet->getColumnDimensions(); + $maxCol = $this->lastColumnIndex -1; + for ($i = 0; $i <= $maxCol; ++$i) { + $hidden = 0; + $level = 0; + $xfIndex = 15; // there are 15 cell style Xfs + + $width = $defaultWidth; + + $columnLetter = PHPExcel_Cell::stringFromColumnIndex($i); + if (isset($columnDimensions[$columnLetter])) { + $columnDimension = $columnDimensions[$columnLetter]; + if ($columnDimension->getWidth() >= 0) { + $width = $columnDimension->getWidth(); + } + $hidden = $columnDimension->getVisible() ? 0 : 1; + $level = $columnDimension->getOutlineLevel(); + $xfIndex = $columnDimension->getXfIndex() + 15; // there are 15 cell style Xfs + } + + // Components of columnInfo: + // $firstcol first column on the range + // $lastcol last column on the range + // $width width to set + // $xfIndex The optional cell style Xf index to apply to the columns + // $hidden The optional hidden atribute + // $level The optional outline level + $this->columnInfo[] = array($i, $i, $width, $xfIndex, $hidden, $level); + } + + // Write GUTS + $this->writeGuts(); + + // Write DEFAULTROWHEIGHT + $this->writeDefaultRowHeight(); + // Write WSBOOL + $this->writeWsbool(); + // Write horizontal and vertical page breaks + $this->writeBreaks(); + // Write page header + $this->writeHeader(); + // Write page footer + $this->writeFooter(); + // Write page horizontal centering + $this->writeHcenter(); + // Write page vertical centering + $this->writeVcenter(); + // Write left margin + $this->writeMarginLeft(); + // Write right margin + $this->writeMarginRight(); + // Write top margin + $this->writeMarginTop(); + // Write bottom margin + $this->writeMarginBottom(); + // Write page setup + $this->writeSetup(); + // Write sheet protection + $this->writeProtect(); + // Write SCENPROTECT + $this->writeScenProtect(); + // Write OBJECTPROTECT + $this->writeObjectProtect(); + // Write sheet password + $this->writePassword(); + // Write DEFCOLWIDTH record + $this->writeDefcol(); + + // Write the COLINFO records if they exist + if (!empty($this->columnInfo)) { + $colcount = count($this->columnInfo); + for ($i = 0; $i < $colcount; ++$i) { + $this->writeColinfo($this->columnInfo[$i]); + } + } + $autoFilterRange = $phpSheet->getAutoFilter()->getRange(); + if (!empty($autoFilterRange)) { + // Write AUTOFILTERINFO + $this->writeAutoFilterInfo(); + } + + // Write sheet dimensions + $this->writeDimensions(); + + // Row dimensions + foreach ($phpSheet->getRowDimensions() as $rowDimension) { + $xfIndex = $rowDimension->getXfIndex() + 15; // there are 15 cellXfs + $this->writeRow($rowDimension->getRowIndex() - 1, $rowDimension->getRowHeight(), $xfIndex, ($rowDimension->getVisible() ? '0' : '1'), $rowDimension->getOutlineLevel()); + } + + // Write Cells + foreach ($phpSheet->getCellCollection() as $cellID) { + $cell = $phpSheet->getCell($cellID); + $row = $cell->getRow() - 1; + $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1; + + // Don't break Excel! +// if ($row + 1 > 65536 or $column + 1 > 256) { + if ($row > 65535 || $column > 255) { + break; + } + + // Write cell value + $xfIndex = $cell->getXfIndex() + 15; // there are 15 cell style Xfs + + $cVal = $cell->getValue(); + if ($cVal instanceof PHPExcel_RichText) { + // $this->writeString($row, $column, $cVal->getPlainText(), $xfIndex); + $arrcRun = array(); + $str_len = PHPExcel_Shared_String::CountCharacters($cVal->getPlainText(), 'UTF-8'); + $str_pos = 0; + $elements = $cVal->getRichTextElements(); + foreach ($elements as $element) { + // FONT Index + if ($element instanceof PHPExcel_RichText_Run) { + $str_fontidx = $this->fontHashIndex[$element->getFont()->getHashCode()]; + } else { + $str_fontidx = 0; + } + $arrcRun[] = array('strlen' => $str_pos, 'fontidx' => $str_fontidx); + // Position FROM + $str_pos += PHPExcel_Shared_String::CountCharacters($element->getText(), 'UTF-8'); + } + $this->writeRichTextString($row, $column, $cVal->getPlainText(), $xfIndex, $arrcRun); + } else { + switch ($cell->getDatatype()) { + case PHPExcel_Cell_DataType::TYPE_STRING: + case PHPExcel_Cell_DataType::TYPE_NULL: + if ($cVal === '' || $cVal === null) { + $this->writeBlank($row, $column, $xfIndex); + } else { + $this->writeString($row, $column, $cVal, $xfIndex); + } + break; + + case PHPExcel_Cell_DataType::TYPE_NUMERIC: + $this->writeNumber($row, $column, $cVal, $xfIndex); + break; + + case PHPExcel_Cell_DataType::TYPE_FORMULA: + $calculatedValue = $this->_preCalculateFormulas ? + $cell->getCalculatedValue() : null; + $this->writeFormula($row, $column, $cVal, $xfIndex, $calculatedValue); + break; + + case PHPExcel_Cell_DataType::TYPE_BOOL: + $this->writeBoolErr($row, $column, $cVal, 0, $xfIndex); + break; + + case PHPExcel_Cell_DataType::TYPE_ERROR: + $this->writeBoolErr($row, $column, self::mapErrorCode($cVal), 1, $xfIndex); + break; + + } + } + } + + // Append + $this->writeMsoDrawing(); + + // Write WINDOW2 record + $this->writeWindow2(); + + // Write PLV record + $this->writePageLayoutView(); + + // Write ZOOM record + $this->writeZoom(); + if ($phpSheet->getFreezePane()) { + $this->writePanes(); + } + + // Write SELECTION record + $this->writeSelection(); + + // Write MergedCellsTable Record + $this->writeMergedCells(); + + // Hyperlinks + foreach ($phpSheet->getHyperLinkCollection() as $coordinate => $hyperlink) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($coordinate); + + $url = $hyperlink->getUrl(); + + if (strpos($url, 'sheet://') !== false) { + // internal to current workbook + $url = str_replace('sheet://', 'internal:', $url); + + } elseif (preg_match('/^(http:|https:|ftp:|mailto:)/', $url)) { + // URL + // $url = $url; + + } else { + // external (local file) + $url = 'external:' . $url; + } + + $this->writeUrl($row - 1, PHPExcel_Cell::columnIndexFromString($column) - 1, $url); + } + + $this->writeDataValidity(); + $this->writeSheetLayout(); + + // Write SHEETPROTECTION record + $this->writeSheetProtection(); + $this->writeRangeProtection(); + + $arrConditionalStyles = $phpSheet->getConditionalStylesCollection(); + if (!empty($arrConditionalStyles)) { + $arrConditional = array(); + // @todo CFRule & CFHeader + // Write CFHEADER record + $this->writeCFHeader(); + // Write ConditionalFormattingTable records + foreach ($arrConditionalStyles as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS) { + if (!in_array($conditional->getHashCode(), $arrConditional)) { + $arrConditional[] = $conditional->getHashCode(); + // Write CFRULE record + $this->writeCFRule($conditional); + } + } + } + } + } + + $this->storeEof(); + } + + /** + * Write a cell range address in BIFF8 + * always fixed range + * See section 2.5.14 in OpenOffice.org's Documentation of the Microsoft Excel File Format + * + * @param string $range E.g. 'A1' or 'A1:B6' + * @return string Binary data + */ + private function writeBIFF8CellRangeAddressFixed($range = 'A1') + { + $explodes = explode(':', $range); + + // extract first cell, e.g. 'A1' + $firstCell = $explodes[0]; + + // extract last cell, e.g. 'B6' + if (count($explodes) == 1) { + $lastCell = $firstCell; + } else { + $lastCell = $explodes[1]; + } + + $firstCellCoordinates = PHPExcel_Cell::coordinateFromString($firstCell); // e.g. array(0, 1) + $lastCellCoordinates = PHPExcel_Cell::coordinateFromString($lastCell); // e.g. array(1, 6) + + return pack('vvvv', $firstCellCoordinates[1] - 1, $lastCellCoordinates[1] - 1, PHPExcel_Cell::columnIndexFromString($firstCellCoordinates[0]) - 1, PHPExcel_Cell::columnIndexFromString($lastCellCoordinates[0]) - 1); + } + + /** + * Retrieves data from memory in one chunk, or from disk in $buffer + * sized chunks. + * + * @return string The data + */ + public function getData() + { + $buffer = 4096; + + // Return data stored in memory + if (isset($this->_data)) { + $tmp = $this->_data; + unset($this->_data); + return $tmp; + } + // No data to return + return false; + } + + /** + * Set the option to print the row and column headers on the printed page. + * + * @access public + * @param integer $print Whether to print the headers or not. Defaults to 1 (print). + */ + public function printRowColHeaders($print = 1) + { + $this->_print_headers = $print; + } + + /** + * This method sets the properties for outlining and grouping. The defaults + * correspond to Excel's defaults. + * + * @param bool $visible + * @param bool $symbols_below + * @param bool $symbols_right + * @param bool $auto_style + */ + public function setOutline($visible = true, $symbols_below = true, $symbols_right = true, $auto_style = false) + { + $this->outlineOn = $visible; + $this->outlineBelow = $symbols_below; + $this->outlineRight = $symbols_right; + $this->outlineStyle = $auto_style; + + // Ensure this is a boolean vale for Window2 + if ($this->outlineOn) { + $this->outlineOn = 1; + } + } + + /** + * Write a double to the specified row and column (zero indexed). + * An integer can be written as a double. Excel will display an + * integer. $format is optional. + * + * Returns 0 : normal termination + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param float $num The number to write + * @param mixed $xfIndex The optional XF format + * @return integer + */ + private function writeNumber($row, $col, $num, $xfIndex) + { + $record = 0x0203; // Record identifier + $length = 0x000E; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $xfIndex); + $xl_double = pack("d", $num); + if (self::getByteOrder()) { // if it's Big Endian + $xl_double = strrev($xl_double); + } + + $this->append($header.$data.$xl_double); + return(0); + } + + /** + * Write a LABELSST record or a LABEL record. Which one depends on BIFF version + * + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param string $str The string + * @param int $xfIndex Index to XF record + */ + private function writeString($row, $col, $str, $xfIndex) + { + $this->writeLabelSst($row, $col, $str, $xfIndex); + } + + /** + * Write a LABELSST record or a LABEL record. Which one depends on BIFF version + * It differs from writeString by the writing of rich text strings. + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param string $str The string + * @param mixed $xfIndex The XF format index for the cell + * @param array $arrcRun Index to Font record and characters beginning + */ + private function writeRichTextString($row, $col, $str, $xfIndex, $arrcRun) + { + $record = 0x00FD; // Record identifier + $length = 0x000A; // Bytes to follow + $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeShort($str, $arrcRun); + + /* check if string is already present */ + if (!isset($this->stringTable[$str])) { + $this->stringTable[$str] = $this->stringUnique++; + } + $this->stringTotal++; + + $header = pack('vv', $record, $length); + $data = pack('vvvV', $row, $col, $xfIndex, $this->stringTable[$str]); + $this->append($header.$data); + } + + /** + * Write a string to the specified row and column (zero indexed). + * NOTE: there is an Excel 5 defined limit of 255 characters. + * $format is optional. + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @access public + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $str The string to write + * @param mixed $xfIndex The XF format index for the cell + * @return integer + */ + private function writeLabel($row, $col, $str, $xfIndex) + { + $strlen = strlen($str); + $record = 0x0204; // Record identifier + $length = 0x0008 + $strlen; // Bytes to follow + + $str_error = 0; + + if ($strlen > $this->xlsStringMaxLength) { // LABEL must be < 255 chars + $str = substr($str, 0, $this->xlsStringMaxLength); + $length = 0x0008 + $this->xlsStringMaxLength; + $strlen = $this->xlsStringMaxLength; + $str_error = -3; + } + + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row, $col, $xfIndex, $strlen); + $this->append($header . $data . $str); + return($str_error); + } + + /** + * Write a string to the specified row and column (zero indexed). + * This is the BIFF8 version (no 255 chars limit). + * $format is optional. + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @access public + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $str The string to write + * @param mixed $xfIndex The XF format index for the cell + * @return integer + */ + private function writeLabelSst($row, $col, $str, $xfIndex) + { + $record = 0x00FD; // Record identifier + $length = 0x000A; // Bytes to follow + + $str = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($str); + + /* check if string is already present */ + if (!isset($this->stringTable[$str])) { + $this->stringTable[$str] = $this->stringUnique++; + } + $this->stringTotal++; + + $header = pack('vv', $record, $length); + $data = pack('vvvV', $row, $col, $xfIndex, $this->stringTable[$str]); + $this->append($header.$data); + } + + /** + * Writes a note associated with the cell given by the row and column. + * NOTE records don't have a length limit. + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $note The note to write + */ + private function writeNote($row, $col, $note) + { + $note_length = strlen($note); + $record = 0x001C; // Record identifier + $max_length = 2048; // Maximun length for a NOTE record + + // Length for this record is no more than 2048 + 6 + $length = 0x0006 + min($note_length, 2048); + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $note_length); + $this->append($header . $data . substr($note, 0, 2048)); + + for ($i = $max_length; $i < $note_length; $i += $max_length) { + $chunk = substr($note, $i, $max_length); + $length = 0x0006 + strlen($chunk); + $header = pack("vv", $record, $length); + $data = pack("vvv", -1, 0, strlen($chunk)); + $this->append($header.$data.$chunk); + } + return(0); + } + + /** + * Write a blank cell to the specified row and column (zero indexed). + * A blank cell is used to specify formatting without adding a string + * or a number. + * + * A blank cell without a format serves no purpose. Therefore, we don't write + * a BLANK record unless a format is specified. + * + * Returns 0 : normal termination (including no format) + * -1 : insufficient number of arguments + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param mixed $xfIndex The XF format index + */ + public function writeBlank($row, $col, $xfIndex) + { + $record = 0x0201; // Record identifier + $length = 0x0006; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vvv", $row, $col, $xfIndex); + $this->append($header . $data); + return 0; + } + + /** + * Write a boolean or an error type to the specified row and column (zero indexed) + * + * @param int $row Row index (0-based) + * @param int $col Column index (0-based) + * @param int $value + * @param boolean $isError Error or Boolean? + * @param int $xfIndex + */ + private function writeBoolErr($row, $col, $value, $isError, $xfIndex) + { + $record = 0x0205; + $length = 8; + + $header = pack("vv", $record, $length); + $data = pack("vvvCC", $row, $col, $xfIndex, $value, $isError); + $this->append($header . $data); + return 0; + } + + /** + * Write a formula to the specified row and column (zero indexed). + * The textual representation of the formula is passed to the parser in + * Parser.php which returns a packed binary string. + * + * Returns 0 : normal termination + * -1 : formula errors (bad formula) + * -2 : row or column out of range + * + * @param integer $row Zero indexed row + * @param integer $col Zero indexed column + * @param string $formula The formula text string + * @param mixed $xfIndex The XF format index + * @param mixed $calculatedValue Calculated value + * @return integer + */ + private function writeFormula($row, $col, $formula, $xfIndex, $calculatedValue) + { + $record = 0x0006; // Record identifier + + // Initialize possible additional value for STRING record that should be written after the FORMULA record? + $stringValue = null; + + // calculated value + if (isset($calculatedValue)) { + // Since we can't yet get the data type of the calculated value, + // we use best effort to determine data type + if (is_bool($calculatedValue)) { + // Boolean value + $num = pack('CCCvCv', 0x01, 0x00, (int)$calculatedValue, 0x00, 0x00, 0xFFFF); + } elseif (is_int($calculatedValue) || is_float($calculatedValue)) { + // Numeric value + $num = pack('d', $calculatedValue); + } elseif (is_string($calculatedValue)) { + if (array_key_exists($calculatedValue, PHPExcel_Cell_DataType::getErrorCodes())) { + // Error value + $num = pack('CCCvCv', 0x02, 0x00, self::mapErrorCode($calculatedValue), 0x00, 0x00, 0xFFFF); + } elseif ($calculatedValue === '') { + // Empty string (and BIFF8) + $num = pack('CCCvCv', 0x03, 0x00, 0x00, 0x00, 0x00, 0xFFFF); + } else { + // Non-empty string value (or empty string BIFF5) + $stringValue = $calculatedValue; + $num = pack('CCCvCv', 0x00, 0x00, 0x00, 0x00, 0x00, 0xFFFF); + } + } else { + // We are really not supposed to reach here + $num = pack('d', 0x00); + } + } else { + $num = pack('d', 0x00); + } + + $grbit = 0x03; // Option flags + $unknown = 0x0000; // Must be zero + + // Strip the '=' or '@' sign at the beginning of the formula string + if ($formula{0} == '=') { + $formula = substr($formula, 1); + } else { + // Error handling + $this->writeString($row, $col, 'Unrecognised character for formula'); + return -1; + } + + // Parse the formula using the parser in Parser.php + try { + $error = $this->parser->parse($formula); + $formula = $this->parser->toReversePolish(); + + $formlen = strlen($formula); // Length of the binary string + $length = 0x16 + $formlen; // Length of the record data + + $header = pack("vv", $record, $length); + + $data = pack("vvv", $row, $col, $xfIndex) + . $num + . pack("vVv", $grbit, $unknown, $formlen); + $this->append($header . $data . $formula); + + // Append also a STRING record if necessary + if ($stringValue !== null) { + $this->writeStringRecord($stringValue); + } + + return 0; + + } catch (PHPExcel_Exception $e) { + // do nothing + } + + } + + /** + * Write a STRING record. This + * + * @param string $stringValue + */ + private function writeStringRecord($stringValue) + { + $record = 0x0207; // Record identifier + $data = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($stringValue); + + $length = strlen($data); + $header = pack('vv', $record, $length); + + $this->append($header . $data); + } + + /** + * Write a hyperlink. + * This is comprised of two elements: the visible label and + * the invisible link. The visible label is the same as the link unless an + * alternative string is specified. The label is written using the + * writeString() method. Therefore the 255 characters string limit applies. + * $string and $format are optional. + * + * The hyperlink can be to a http, ftp, mail, internal sheet (not yet), or external + * directory url. + * + * Returns 0 : normal termination + * -2 : row or column out of range + * -3 : long string truncated to 255 chars + * + * @param integer $row Row + * @param integer $col Column + * @param string $url URL string + * @return integer + */ + private function writeUrl($row, $col, $url) + { + // Add start row and col to arg list + return($this->writeUrlRange($row, $col, $row, $col, $url)); + } + + /** + * This is the more general form of writeUrl(). It allows a hyperlink to be + * written to a range of cells. This function also decides the type of hyperlink + * to be written. These are either, Web (http, ftp, mailto), Internal + * (Sheet1!A1) or external ('c:\temp\foo.xls#Sheet1!A1'). + * + * @access private + * @see writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + public function writeUrlRange($row1, $col1, $row2, $col2, $url) + { + // Check for internal/external sheet links or default to web link + if (preg_match('[^internal:]', $url)) { + return($this->writeUrlInternal($row1, $col1, $row2, $col2, $url)); + } + if (preg_match('[^external:]', $url)) { + return($this->writeUrlExternal($row1, $col1, $row2, $col2, $url)); + } + return($this->writeUrlWeb($row1, $col1, $row2, $col2, $url)); + } + + /** + * Used to write http, ftp and mailto hyperlinks. + * The link type ($options) is 0x03 is the same as absolute dir ref without + * sheet. However it is differentiated by the $unknown2 data stream. + * + * @access private + * @see writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + public function writeUrlWeb($row1, $col1, $row2, $col2, $url) + { + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); + $unknown2 = pack("H*", "E0C9EA79F9BACE118C8200AA004BA90B"); + + // Pack the option flags + $options = pack("V", 0x03); + + // Convert URL to a null terminated wchar string + $url = join("\0", preg_split("''", $url, -1, PREG_SPLIT_NO_EMPTY)); + $url = $url . "\0\0\0"; + + // Pack the length of the URL + $url_len = pack("V", strlen($url)); + + // Calculate the data length + $length = 0x34 + strlen($url); + + // Pack the header data + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row1, $row2, $col1, $col2); + + // Write the packed data + $this->append($header . $data . + $unknown1 . $options . + $unknown2 . $url_len . $url); + return 0; + } + + /** + * Used to write internal reference hyperlinks such as "Sheet1!A1". + * + * @access private + * @see writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + public function writeUrlInternal($row1, $col1, $row2, $col2, $url) + { + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Strip URL type + $url = preg_replace('/^internal:/', '', $url); + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*", "D0C9EA79F9BACE118C8200AA004BA90B02000000"); + + // Pack the option flags + $options = pack("V", 0x08); + + // Convert the URL type and to a null terminated wchar string + $url .= "\0"; + + // character count + $url_len = PHPExcel_Shared_String::CountCharacters($url); + $url_len = pack('V', $url_len); + + $url = PHPExcel_Shared_String::ConvertEncoding($url, 'UTF-16LE', 'UTF-8'); + + // Calculate the data length + $length = 0x24 + strlen($url); + + // Pack the header data + $header = pack("vv", $record, $length); + $data = pack("vvvv", $row1, $row2, $col1, $col2); + + // Write the packed data + $this->append($header . $data . + $unknown1 . $options . + $url_len . $url); + return 0; + } + + /** + * Write links to external directory names such as 'c:\foo.xls', + * c:\foo.xls#Sheet1!A1', '../../foo.xls'. and '../../foo.xls#Sheet1!A1'. + * + * Note: Excel writes some relative links with the $dir_long string. We ignore + * these cases for the sake of simpler code. + * + * @access private + * @see writeUrl() + * @param integer $row1 Start row + * @param integer $col1 Start column + * @param integer $row2 End row + * @param integer $col2 End column + * @param string $url URL string + * @return integer + */ + public function writeUrlExternal($row1, $col1, $row2, $col2, $url) + { + // Network drives are different. We will handle them separately + // MS/Novell network drives and shares start with \\ + if (preg_match('[^external:\\\\]', $url)) { + return; //($this->writeUrlExternal_net($row1, $col1, $row2, $col2, $url, $str, $format)); + } + + $record = 0x01B8; // Record identifier + $length = 0x00000; // Bytes to follow + + // Strip URL type and change Unix dir separator to Dos style (if needed) + // + $url = preg_replace('/^external:/', '', $url); + $url = preg_replace('/\//', "\\", $url); + + // Determine if the link is relative or absolute: + // relative if link contains no dir separator, "somefile.xls" + // relative if link starts with up-dir, "..\..\somefile.xls" + // otherwise, absolute + + $absolute = 0x00; // relative path + if (preg_match('/^[A-Z]:/', $url)) { + $absolute = 0x02; // absolute path on Windows, e.g. C:\... + } + $link_type = 0x01 | $absolute; + + // Determine if the link contains a sheet reference and change some of the + // parameters accordingly. + // Split the dir name and sheet name (if it exists) + $dir_long = $url; + if (preg_match("/\#/", $url)) { + $link_type |= 0x08; + } + + + // Pack the link type + $link_type = pack("V", $link_type); + + // Calculate the up-level dir count e.g.. (..\..\..\ == 3) + $up_count = preg_match_all("/\.\.\\\/", $dir_long, $useless); + $up_count = pack("v", $up_count); + + // Store the short dos dir name (null terminated) + $dir_short = preg_replace("/\.\.\\\/", '', $dir_long) . "\0"; + + // Store the long dir name as a wchar string (non-null terminated) + $dir_long = $dir_long . "\0"; + + // Pack the lengths of the dir strings + $dir_short_len = pack("V", strlen($dir_short)); + $dir_long_len = pack("V", strlen($dir_long)); + $stream_len = pack("V", 0); //strlen($dir_long) + 0x06); + + // Pack the undocumented parts of the hyperlink stream + $unknown1 = pack("H*", 'D0C9EA79F9BACE118C8200AA004BA90B02000000'); + $unknown2 = pack("H*", '0303000000000000C000000000000046'); + $unknown3 = pack("H*", 'FFFFADDE000000000000000000000000000000000000000'); + $unknown4 = pack("v", 0x03); + + // Pack the main data stream + $data = pack("vvvv", $row1, $row2, $col1, $col2) . + $unknown1 . + $link_type . + $unknown2 . + $up_count . + $dir_short_len. + $dir_short . + $unknown3 . + $stream_len ;/*. + $dir_long_len . + $unknown4 . + $dir_long . + $sheet_len . + $sheet ;*/ + + // Pack the header data + $length = strlen($data); + $header = pack("vv", $record, $length); + + // Write the packed data + $this->append($header. $data); + return 0; + } + + /** + * This method is used to set the height and format for a row. + * + * @param integer $row The row to set + * @param integer $height Height we are giving to the row. + * Use null to set XF without setting height + * @param integer $xfIndex The optional cell style Xf index to apply to the columns + * @param bool $hidden The optional hidden attribute + * @param integer $level The optional outline level for row, in range [0,7] + */ + private function writeRow($row, $height, $xfIndex, $hidden = false, $level = 0) + { + $record = 0x0208; // Record identifier + $length = 0x0010; // Number of bytes to follow + + $colMic = 0x0000; // First defined column + $colMac = 0x0000; // Last defined column + $irwMac = 0x0000; // Used by Excel to optimise loading + $reserved = 0x0000; // Reserved + $grbit = 0x0000; // Option flags + $ixfe = $xfIndex; + + if ($height < 0) { + $height = null; + } + + // Use writeRow($row, null, $XF) to set XF format without setting height + if ($height != null) { + $miyRw = $height * 20; // row height + } else { + $miyRw = 0xff; // default row height is 256 + } + + // Set the options flags. fUnsynced is used to show that the font and row + // heights are not compatible. This is usually the case for WriteExcel. + // The collapsed flag 0x10 doesn't seem to be used to indicate that a row + // is collapsed. Instead it is used to indicate that the previous row is + // collapsed. The zero height flag, 0x20, is used to collapse a row. + + $grbit |= $level; + if ($hidden) { + $grbit |= 0x0030; + } + if ($height !== null) { + $grbit |= 0x0040; // fUnsynced + } + if ($xfIndex !== 0xF) { + $grbit |= 0x0080; + } + $grbit |= 0x0100; + + $header = pack("vv", $record, $length); + $data = pack("vvvvvvvv", $row, $colMic, $colMac, $miyRw, $irwMac, $reserved, $grbit, $ixfe); + $this->append($header.$data); + } + + /** + * Writes Excel DIMENSIONS to define the area in which there is data. + */ + private function writeDimensions() + { + $record = 0x0200; // Record identifier + + $length = 0x000E; + $data = pack('VVvvv', $this->firstRowIndex, $this->lastRowIndex + 1, $this->firstColumnIndex, $this->lastColumnIndex + 1, 0x0000); // reserved + + $header = pack("vv", $record, $length); + $this->append($header.$data); + } + + /** + * Write BIFF record Window2. + */ + private function writeWindow2() + { + $record = 0x023E; // Record identifier + $length = 0x0012; + + $grbit = 0x00B6; // Option flags + $rwTop = 0x0000; // Top row visible in window + $colLeft = 0x0000; // Leftmost column visible in window + + + // The options flags that comprise $grbit + $fDspFmla = 0; // 0 - bit + $fDspGrid = $this->phpSheet->getShowGridlines() ? 1 : 0; // 1 + $fDspRwCol = $this->phpSheet->getShowRowColHeaders() ? 1 : 0; // 2 + $fFrozen = $this->phpSheet->getFreezePane() ? 1 : 0; // 3 + $fDspZeros = 1; // 4 + $fDefaultHdr = 1; // 5 + $fArabic = $this->phpSheet->getRightToLeft() ? 1 : 0; // 6 + $fDspGuts = $this->outlineOn; // 7 + $fFrozenNoSplit = 0; // 0 - bit + // no support in PHPExcel for selected sheet, therefore sheet is only selected if it is the active sheet + $fSelected = ($this->phpSheet === $this->phpSheet->getParent()->getActiveSheet()) ? 1 : 0; + $fPaged = 1; // 2 + $fPageBreakPreview = $this->phpSheet->getSheetView()->getView() === PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW; + + $grbit = $fDspFmla; + $grbit |= $fDspGrid << 1; + $grbit |= $fDspRwCol << 2; + $grbit |= $fFrozen << 3; + $grbit |= $fDspZeros << 4; + $grbit |= $fDefaultHdr << 5; + $grbit |= $fArabic << 6; + $grbit |= $fDspGuts << 7; + $grbit |= $fFrozenNoSplit << 8; + $grbit |= $fSelected << 9; + $grbit |= $fPaged << 10; + $grbit |= $fPageBreakPreview << 11; + + $header = pack("vv", $record, $length); + $data = pack("vvv", $grbit, $rwTop, $colLeft); + + // FIXME !!! + $rgbHdr = 0x0040; // Row/column heading and gridline color index + $zoom_factor_page_break = ($fPageBreakPreview ? $this->phpSheet->getSheetView()->getZoomScale() : 0x0000); + $zoom_factor_normal = $this->phpSheet->getSheetView()->getZoomScaleNormal(); + + $data .= pack("vvvvV", $rgbHdr, 0x0000, $zoom_factor_page_break, $zoom_factor_normal, 0x00000000); + + $this->append($header.$data); + } + + /** + * Write BIFF record DEFAULTROWHEIGHT. + */ + private function writeDefaultRowHeight() + { + $defaultRowHeight = $this->phpSheet->getDefaultRowDimension()->getRowHeight(); + + if ($defaultRowHeight < 0) { + return; + } + + // convert to twips + $defaultRowHeight = (int) 20 * $defaultRowHeight; + + $record = 0x0225; // Record identifier + $length = 0x0004; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", 1, $defaultRowHeight); + $this->append($header . $data); + } + + /** + * Write BIFF record DEFCOLWIDTH if COLINFO records are in use. + */ + private function writeDefcol() + { + $defaultColWidth = 8; + + $record = 0x0055; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $defaultColWidth); + $this->append($header . $data); + } + + /** + * Write BIFF record COLINFO to define column widths + * + * Note: The SDK says the record length is 0x0B but Excel writes a 0x0C + * length record. + * + * @param array $col_array This is the only parameter received and is composed of the following: + * 0 => First formatted column, + * 1 => Last formatted column, + * 2 => Col width (8.43 is Excel default), + * 3 => The optional XF format of the column, + * 4 => Option flags. + * 5 => Optional outline level + */ + private function writeColinfo($col_array) + { + if (isset($col_array[0])) { + $colFirst = $col_array[0]; + } + if (isset($col_array[1])) { + $colLast = $col_array[1]; + } + if (isset($col_array[2])) { + $coldx = $col_array[2]; + } else { + $coldx = 8.43; + } + if (isset($col_array[3])) { + $xfIndex = $col_array[3]; + } else { + $xfIndex = 15; + } + if (isset($col_array[4])) { + $grbit = $col_array[4]; + } else { + $grbit = 0; + } + if (isset($col_array[5])) { + $level = $col_array[5]; + } else { + $level = 0; + } + $record = 0x007D; // Record identifier + $length = 0x000C; // Number of bytes to follow + + $coldx *= 256; // Convert to units of 1/256 of a char + + $ixfe = $xfIndex; + $reserved = 0x0000; // Reserved + + $level = max(0, min($level, 7)); + $grbit |= $level << 8; + + $header = pack("vv", $record, $length); + $data = pack("vvvvvv", $colFirst, $colLast, $coldx, $ixfe, $grbit, $reserved); + $this->append($header.$data); + } + + /** + * Write BIFF record SELECTION. + */ + private function writeSelection() + { + // look up the selected cell range + $selectedCells = $this->phpSheet->getSelectedCells(); + $selectedCells = PHPExcel_Cell::splitRange($this->phpSheet->getSelectedCells()); + $selectedCells = $selectedCells[0]; + if (count($selectedCells) == 2) { + list($first, $last) = $selectedCells; + } else { + $first = $selectedCells[0]; + $last = $selectedCells[0]; + } + + list($colFirst, $rwFirst) = PHPExcel_Cell::coordinateFromString($first); + $colFirst = PHPExcel_Cell::columnIndexFromString($colFirst) - 1; // base 0 column index + --$rwFirst; // base 0 row index + + list($colLast, $rwLast) = PHPExcel_Cell::coordinateFromString($last); + $colLast = PHPExcel_Cell::columnIndexFromString($colLast) - 1; // base 0 column index + --$rwLast; // base 0 row index + + // make sure we are not out of bounds + $colFirst = min($colFirst, 255); + $colLast = min($colLast, 255); + + $rwFirst = min($rwFirst, 65535); + $rwLast = min($rwLast, 65535); + + $record = 0x001D; // Record identifier + $length = 0x000F; // Number of bytes to follow + + $pnn = $this->activePane; // Pane position + $rwAct = $rwFirst; // Active row + $colAct = $colFirst; // Active column + $irefAct = 0; // Active cell ref + $cref = 1; // Number of refs + + if (!isset($rwLast)) { + $rwLast = $rwFirst; // Last row in reference + } + if (!isset($colLast)) { + $colLast = $colFirst; // Last col in reference + } + + // Swap last row/col for first row/col as necessary + if ($rwFirst > $rwLast) { + list($rwFirst, $rwLast) = array($rwLast, $rwFirst); + } + + if ($colFirst > $colLast) { + list($colFirst, $colLast) = array($colLast, $colFirst); + } + + $header = pack("vv", $record, $length); + $data = pack("CvvvvvvCC", $pnn, $rwAct, $colAct, $irefAct, $cref, $rwFirst, $rwLast, $colFirst, $colLast); + $this->append($header . $data); + } + + /** + * Store the MERGEDCELLS records for all ranges of merged cells + */ + private function writeMergedCells() + { + $mergeCells = $this->phpSheet->getMergeCells(); + $countMergeCells = count($mergeCells); + + if ($countMergeCells == 0) { + return; + } + + // maximum allowed number of merged cells per record + $maxCountMergeCellsPerRecord = 1027; + + // record identifier + $record = 0x00E5; + + // counter for total number of merged cells treated so far by the writer + $i = 0; + + // counter for number of merged cells written in record currently being written + $j = 0; + + // initialize record data + $recordData = ''; + + // loop through the merged cells + foreach ($mergeCells as $mergeCell) { + ++$i; + ++$j; + + // extract the row and column indexes + $range = PHPExcel_Cell::splitRange($mergeCell); + list($first, $last) = $range[0]; + list($firstColumn, $firstRow) = PHPExcel_Cell::coordinateFromString($first); + list($lastColumn, $lastRow) = PHPExcel_Cell::coordinateFromString($last); + + $recordData .= pack('vvvv', $firstRow - 1, $lastRow - 1, PHPExcel_Cell::columnIndexFromString($firstColumn) - 1, PHPExcel_Cell::columnIndexFromString($lastColumn) - 1); + + // flush record if we have reached limit for number of merged cells, or reached final merged cell + if ($j == $maxCountMergeCellsPerRecord or $i == $countMergeCells) { + $recordData = pack('v', $j) . $recordData; + $length = strlen($recordData); + $header = pack('vv', $record, $length); + $this->append($header . $recordData); + + // initialize for next record, if any + $recordData = ''; + $j = 0; + } + } + } + + /** + * Write SHEETLAYOUT record + */ + private function writeSheetLayout() + { + if (!$this->phpSheet->isTabColorSet()) { + return; + } + + $recordData = pack( + 'vvVVVvv', + 0x0862, + 0x0000, // unused + 0x00000000, // unused + 0x00000000, // unused + 0x00000014, // size of record data + $this->colors[$this->phpSheet->getTabColor()->getRGB()], // color index + 0x0000 // unused + ); + + $length = strlen($recordData); + + $record = 0x0862; // Record identifier + $header = pack('vv', $record, $length); + $this->append($header . $recordData); + } + + /** + * Write SHEETPROTECTION + */ + private function writeSheetProtection() + { + // record identifier + $record = 0x0867; + + // prepare options + $options = (int) !$this->phpSheet->getProtection()->getObjects() + | (int) !$this->phpSheet->getProtection()->getScenarios() << 1 + | (int) !$this->phpSheet->getProtection()->getFormatCells() << 2 + | (int) !$this->phpSheet->getProtection()->getFormatColumns() << 3 + | (int) !$this->phpSheet->getProtection()->getFormatRows() << 4 + | (int) !$this->phpSheet->getProtection()->getInsertColumns() << 5 + | (int) !$this->phpSheet->getProtection()->getInsertRows() << 6 + | (int) !$this->phpSheet->getProtection()->getInsertHyperlinks() << 7 + | (int) !$this->phpSheet->getProtection()->getDeleteColumns() << 8 + | (int) !$this->phpSheet->getProtection()->getDeleteRows() << 9 + | (int) !$this->phpSheet->getProtection()->getSelectLockedCells() << 10 + | (int) !$this->phpSheet->getProtection()->getSort() << 11 + | (int) !$this->phpSheet->getProtection()->getAutoFilter() << 12 + | (int) !$this->phpSheet->getProtection()->getPivotTables() << 13 + | (int) !$this->phpSheet->getProtection()->getSelectUnlockedCells() << 14 ; + + // record data + $recordData = pack( + 'vVVCVVvv', + 0x0867, // repeated record identifier + 0x0000, // not used + 0x0000, // not used + 0x00, // not used + 0x01000200, // unknown data + 0xFFFFFFFF, // unknown data + $options, // options + 0x0000 // not used + ); + + $length = strlen($recordData); + $header = pack('vv', $record, $length); + + $this->append($header . $recordData); + } + + /** + * Write BIFF record RANGEPROTECTION + * + * Openoffice.org's Documentaion of the Microsoft Excel File Format uses term RANGEPROTECTION for these records + * Microsoft Office Excel 97-2007 Binary File Format Specification uses term FEAT for these records + */ + private function writeRangeProtection() + { + foreach ($this->phpSheet->getProtectedCells() as $range => $password) { + // number of ranges, e.g. 'A1:B3 C20:D25' + $cellRanges = explode(' ', $range); + $cref = count($cellRanges); + + $recordData = pack( + 'vvVVvCVvVv', + 0x0868, + 0x00, + 0x0000, + 0x0000, + 0x02, + 0x0, + 0x0000, + $cref, + 0x0000, + 0x00 + ); + + foreach ($cellRanges as $cellRange) { + $recordData .= $this->writeBIFF8CellRangeAddressFixed($cellRange); + } + + // the rgbFeat structure + $recordData .= pack( + 'VV', + 0x0000, + hexdec($password) + ); + + $recordData .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong('p' . md5($recordData)); + + $length = strlen($recordData); + + $record = 0x0868; // Record identifier + $header = pack("vv", $record, $length); + $this->append($header . $recordData); + } + } + + /** + * Write BIFF record EXTERNCOUNT to indicate the number of external sheet + * references in a worksheet. + * + * Excel only stores references to external sheets that are used in formulas. + * For simplicity we store references to all the sheets in the workbook + * regardless of whether they are used or not. This reduces the overall + * complexity and eliminates the need for a two way dialogue between the formula + * parser the worksheet objects. + * + * @param integer $count The number of external sheet references in this worksheet + */ + private function writeExterncount($count) + { + $record = 0x0016; // Record identifier + $length = 0x0002; // Number of bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $count); + $this->append($header . $data); + } + + /** + * Writes the Excel BIFF EXTERNSHEET record. These references are used by + * formulas. A formula references a sheet name via an index. Since we store a + * reference to all of the external worksheets the EXTERNSHEET index is the same + * as the worksheet index. + * + * @param string $sheetname The name of a external worksheet + */ + private function writeExternsheet($sheetname) + { + $record = 0x0017; // Record identifier + + // References to the current sheet are encoded differently to references to + // external sheets. + // + if ($this->phpSheet->getTitle() == $sheetname) { + $sheetname = ''; + $length = 0x02; // The following 2 bytes + $cch = 1; // The following byte + $rgch = 0x02; // Self reference + } else { + $length = 0x02 + strlen($sheetname); + $cch = strlen($sheetname); + $rgch = 0x03; // Reference to a sheet in the current workbook + } + + $header = pack("vv", $record, $length); + $data = pack("CC", $cch, $rgch); + $this->append($header . $data . $sheetname); + } + + /** + * Writes the Excel BIFF PANE record. + * The panes can either be frozen or thawed (unfrozen). + * Frozen panes are specified in terms of an integer number of rows and columns. + * Thawed panes are specified in terms of Excel's units for rows and columns. + */ + private function writePanes() + { + $panes = array(); + if ($freezePane = $this->phpSheet->getFreezePane()) { + list($column, $row) = PHPExcel_Cell::coordinateFromString($freezePane); + $panes[0] = $row - 1; + $panes[1] = PHPExcel_Cell::columnIndexFromString($column) - 1; + } else { + // thaw panes + return; + } + + $y = isset($panes[0]) ? $panes[0] : null; + $x = isset($panes[1]) ? $panes[1] : null; + $rwTop = isset($panes[2]) ? $panes[2] : null; + $colLeft = isset($panes[3]) ? $panes[3] : null; + if (count($panes) > 4) { // if Active pane was received + $pnnAct = $panes[4]; + } else { + $pnnAct = null; + } + $record = 0x0041; // Record identifier + $length = 0x000A; // Number of bytes to follow + + // Code specific to frozen or thawed panes. + if ($this->phpSheet->getFreezePane()) { + // Set default values for $rwTop and $colLeft + if (!isset($rwTop)) { + $rwTop = $y; + } + if (!isset($colLeft)) { + $colLeft = $x; + } + } else { + // Set default values for $rwTop and $colLeft + if (!isset($rwTop)) { + $rwTop = 0; + } + if (!isset($colLeft)) { + $colLeft = 0; + } + + // Convert Excel's row and column units to the internal units. + // The default row height is 12.75 + // The default column width is 8.43 + // The following slope and intersection values were interpolated. + // + $y = 20*$y + 255; + $x = 113.879*$x + 390; + } + + + // Determine which pane should be active. There is also the undocumented + // option to override this should it be necessary: may be removed later. + // + if (!isset($pnnAct)) { + if ($x != 0 && $y != 0) { + $pnnAct = 0; // Bottom right + } + if ($x != 0 && $y == 0) { + $pnnAct = 1; // Top right + } + if ($x == 0 && $y != 0) { + $pnnAct = 2; // Bottom left + } + if ($x == 0 && $y == 0) { + $pnnAct = 3; // Top left + } + } + + $this->activePane = $pnnAct; // Used in writeSelection + + $header = pack("vv", $record, $length); + $data = pack("vvvvv", $x, $y, $rwTop, $colLeft, $pnnAct); + $this->append($header . $data); + } + + /** + * Store the page setup SETUP BIFF record. + */ + private function writeSetup() + { + $record = 0x00A1; // Record identifier + $length = 0x0022; // Number of bytes to follow + + $iPaperSize = $this->phpSheet->getPageSetup()->getPaperSize(); // Paper size + + $iScale = $this->phpSheet->getPageSetup()->getScale() ? + $this->phpSheet->getPageSetup()->getScale() : 100; // Print scaling factor + + $iPageStart = 0x01; // Starting page number + $iFitWidth = (int) $this->phpSheet->getPageSetup()->getFitToWidth(); // Fit to number of pages wide + $iFitHeight = (int) $this->phpSheet->getPageSetup()->getFitToHeight(); // Fit to number of pages high + $grbit = 0x00; // Option flags + $iRes = 0x0258; // Print resolution + $iVRes = 0x0258; // Vertical print resolution + + $numHdr = $this->phpSheet->getPageMargins()->getHeader(); // Header Margin + + $numFtr = $this->phpSheet->getPageMargins()->getFooter(); // Footer Margin + $iCopies = 0x01; // Number of copies + + $fLeftToRight = 0x0; // Print over then down + + // Page orientation + $fLandscape = ($this->phpSheet->getPageSetup()->getOrientation() == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? + 0x0 : 0x1; + + $fNoPls = 0x0; // Setup not read from printer + $fNoColor = 0x0; // Print black and white + $fDraft = 0x0; // Print draft quality + $fNotes = 0x0; // Print notes + $fNoOrient = 0x0; // Orientation not set + $fUsePage = 0x0; // Use custom starting page + + $grbit = $fLeftToRight; + $grbit |= $fLandscape << 1; + $grbit |= $fNoPls << 2; + $grbit |= $fNoColor << 3; + $grbit |= $fDraft << 4; + $grbit |= $fNotes << 5; + $grbit |= $fNoOrient << 6; + $grbit |= $fUsePage << 7; + + $numHdr = pack("d", $numHdr); + $numFtr = pack("d", $numFtr); + if (self::getByteOrder()) { // if it's Big Endian + $numHdr = strrev($numHdr); + $numFtr = strrev($numFtr); + } + + $header = pack("vv", $record, $length); + $data1 = pack("vvvvvvvv", $iPaperSize, $iScale, $iPageStart, $iFitWidth, $iFitHeight, $grbit, $iRes, $iVRes); + $data2 = $numHdr.$numFtr; + $data3 = pack("v", $iCopies); + $this->append($header . $data1 . $data2 . $data3); + } + + /** + * Store the header caption BIFF record. + */ + private function writeHeader() + { + $record = 0x0014; // Record identifier + + /* removing for now + // need to fix character count (multibyte!) + if (strlen($this->phpSheet->getHeaderFooter()->getOddHeader()) <= 255) { + $str = $this->phpSheet->getHeaderFooter()->getOddHeader(); // header string + } else { + $str = ''; + } + */ + + $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->phpSheet->getHeaderFooter()->getOddHeader()); + $length = strlen($recordData); + + $header = pack("vv", $record, $length); + + $this->append($header . $recordData); + } + + /** + * Store the footer caption BIFF record. + */ + private function writeFooter() + { + $record = 0x0015; // Record identifier + + /* removing for now + // need to fix character count (multibyte!) + if (strlen($this->phpSheet->getHeaderFooter()->getOddFooter()) <= 255) { + $str = $this->phpSheet->getHeaderFooter()->getOddFooter(); + } else { + $str = ''; + } + */ + + $recordData = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($this->phpSheet->getHeaderFooter()->getOddFooter()); + $length = strlen($recordData); + + $header = pack("vv", $record, $length); + + $this->append($header . $recordData); + } + + /** + * Store the horizontal centering HCENTER BIFF record. + * + * @access private + */ + private function writeHcenter() + { + $record = 0x0083; // Record identifier + $length = 0x0002; // Bytes to follow + + $fHCenter = $this->phpSheet->getPageSetup()->getHorizontalCentered() ? 1 : 0; // Horizontal centering + + $header = pack("vv", $record, $length); + $data = pack("v", $fHCenter); + + $this->append($header.$data); + } + + /** + * Store the vertical centering VCENTER BIFF record. + */ + private function writeVcenter() + { + $record = 0x0084; // Record identifier + $length = 0x0002; // Bytes to follow + + $fVCenter = $this->phpSheet->getPageSetup()->getVerticalCentered() ? 1 : 0; // Horizontal centering + + $header = pack("vv", $record, $length); + $data = pack("v", $fVCenter); + $this->append($header . $data); + } + + /** + * Store the LEFTMARGIN BIFF record. + */ + private function writeMarginLeft() + { + $record = 0x0026; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->phpSheet->getPageMargins()->getLeft(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->append($header . $data); + } + + /** + * Store the RIGHTMARGIN BIFF record. + */ + private function writeMarginRight() + { + $record = 0x0027; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->phpSheet->getPageMargins()->getRight(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->append($header . $data); + } + + /** + * Store the TOPMARGIN BIFF record. + */ + private function writeMarginTop() + { + $record = 0x0028; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->phpSheet->getPageMargins()->getTop(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->append($header . $data); + } + + /** + * Store the BOTTOMMARGIN BIFF record. + */ + private function writeMarginBottom() + { + $record = 0x0029; // Record identifier + $length = 0x0008; // Bytes to follow + + $margin = $this->phpSheet->getPageMargins()->getBottom(); // Margin in inches + + $header = pack("vv", $record, $length); + $data = pack("d", $margin); + if (self::getByteOrder()) { // if it's Big Endian + $data = strrev($data); + } + + $this->append($header . $data); + } + + /** + * Write the PRINTHEADERS BIFF record. + */ + private function writePrintHeaders() + { + $record = 0x002a; // Record identifier + $length = 0x0002; // Bytes to follow + + $fPrintRwCol = $this->_print_headers; // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fPrintRwCol); + $this->append($header . $data); + } + + /** + * Write the PRINTGRIDLINES BIFF record. Must be used in conjunction with the + * GRIDSET record. + */ + private function writePrintGridlines() + { + $record = 0x002b; // Record identifier + $length = 0x0002; // Bytes to follow + + $fPrintGrid = $this->phpSheet->getPrintGridlines() ? 1 : 0; // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fPrintGrid); + $this->append($header . $data); + } + + /** + * Write the GRIDSET BIFF record. Must be used in conjunction with the + * PRINTGRIDLINES record. + */ + private function writeGridset() + { + $record = 0x0082; // Record identifier + $length = 0x0002; // Bytes to follow + + $fGridSet = !$this->phpSheet->getPrintGridlines(); // Boolean flag + + $header = pack("vv", $record, $length); + $data = pack("v", $fGridSet); + $this->append($header . $data); + } + + /** + * Write the AUTOFILTERINFO BIFF record. This is used to configure the number of autofilter select used in the sheet. + */ + private function writeAutoFilterInfo() + { + $record = 0x009D; // Record identifier + $length = 0x0002; // Bytes to follow + + $rangeBounds = PHPExcel_Cell::rangeBoundaries($this->phpSheet->getAutoFilter()->getRange()); + $iNumFilters = 1 + $rangeBounds[1][0] - $rangeBounds[0][0]; + + $header = pack("vv", $record, $length); + $data = pack("v", $iNumFilters); + $this->append($header . $data); + } + + /** + * Write the GUTS BIFF record. This is used to configure the gutter margins + * where Excel outline symbols are displayed. The visibility of the gutters is + * controlled by a flag in WSBOOL. + * + * @see writeWsbool() + */ + private function writeGuts() + { + $record = 0x0080; // Record identifier + $length = 0x0008; // Bytes to follow + + $dxRwGut = 0x0000; // Size of row gutter + $dxColGut = 0x0000; // Size of col gutter + + // determine maximum row outline level + $maxRowOutlineLevel = 0; + foreach ($this->phpSheet->getRowDimensions() as $rowDimension) { + $maxRowOutlineLevel = max($maxRowOutlineLevel, $rowDimension->getOutlineLevel()); + } + + $col_level = 0; + + // Calculate the maximum column outline level. The equivalent calculation + // for the row outline level is carried out in writeRow(). + $colcount = count($this->columnInfo); + for ($i = 0; $i < $colcount; ++$i) { + $col_level = max($this->columnInfo[$i][5], $col_level); + } + + // Set the limits for the outline levels (0 <= x <= 7). + $col_level = max(0, min($col_level, 7)); + + // The displayed level is one greater than the max outline levels + if ($maxRowOutlineLevel) { + ++$maxRowOutlineLevel; + } + if ($col_level) { + ++$col_level; + } + + $header = pack("vv", $record, $length); + $data = pack("vvvv", $dxRwGut, $dxColGut, $maxRowOutlineLevel, $col_level); + + $this->append($header.$data); + } + + /** + * Write the WSBOOL BIFF record, mainly for fit-to-page. Used in conjunction + * with the SETUP record. + */ + private function writeWsbool() + { + $record = 0x0081; // Record identifier + $length = 0x0002; // Bytes to follow + $grbit = 0x0000; + + // The only option that is of interest is the flag for fit to page. So we + // set all the options in one go. + // + // Set the option flags + $grbit |= 0x0001; // Auto page breaks visible + if ($this->outlineStyle) { + $grbit |= 0x0020; // Auto outline styles + } + if ($this->phpSheet->getShowSummaryBelow()) { + $grbit |= 0x0040; // Outline summary below + } + if ($this->phpSheet->getShowSummaryRight()) { + $grbit |= 0x0080; // Outline summary right + } + if ($this->phpSheet->getPageSetup()->getFitToPage()) { + $grbit |= 0x0100; // Page setup fit to page + } + if ($this->outlineOn) { + $grbit |= 0x0400; // Outline symbols displayed + } + + $header = pack("vv", $record, $length); + $data = pack("v", $grbit); + $this->append($header . $data); + } + + /** + * Write the HORIZONTALPAGEBREAKS and VERTICALPAGEBREAKS BIFF records. + */ + private function writeBreaks() + { + // initialize + $vbreaks = array(); + $hbreaks = array(); + + foreach ($this->phpSheet->getBreaks() as $cell => $breakType) { + // Fetch coordinates + $coordinates = PHPExcel_Cell::coordinateFromString($cell); + + // Decide what to do by the type of break + switch ($breakType) { + case PHPExcel_Worksheet::BREAK_COLUMN: + // Add to list of vertical breaks + $vbreaks[] = PHPExcel_Cell::columnIndexFromString($coordinates[0]) - 1; + break; + case PHPExcel_Worksheet::BREAK_ROW: + // Add to list of horizontal breaks + $hbreaks[] = $coordinates[1]; + break; + case PHPExcel_Worksheet::BREAK_NONE: + default: + // Nothing to do + break; + } + } + + //horizontal page breaks + if (!empty($hbreaks)) { + // Sort and filter array of page breaks + sort($hbreaks, SORT_NUMERIC); + if ($hbreaks[0] == 0) { // don't use first break if it's 0 + array_shift($hbreaks); + } + + $record = 0x001b; // Record identifier + $cbrk = count($hbreaks); // Number of page breaks + $length = 2 + 6 * $cbrk; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cbrk); + + // Append each page break + foreach ($hbreaks as $hbreak) { + $data .= pack("vvv", $hbreak, 0x0000, 0x00ff); + } + + $this->append($header . $data); + } + + // vertical page breaks + if (!empty($vbreaks)) { + // 1000 vertical pagebreaks appears to be an internal Excel 5 limit. + // It is slightly higher in Excel 97/200, approx. 1026 + $vbreaks = array_slice($vbreaks, 0, 1000); + + // Sort and filter array of page breaks + sort($vbreaks, SORT_NUMERIC); + if ($vbreaks[0] == 0) { // don't use first break if it's 0 + array_shift($vbreaks); + } + + $record = 0x001a; // Record identifier + $cbrk = count($vbreaks); // Number of page breaks + $length = 2 + 6 * $cbrk; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("v", $cbrk); + + // Append each page break + foreach ($vbreaks as $vbreak) { + $data .= pack("vvv", $vbreak, 0x0000, 0xffff); + } + + $this->append($header . $data); + } + } + + /** + * Set the Biff PROTECT record to indicate that the worksheet is protected. + */ + private function writeProtect() + { + // Exit unless sheet protection has been specified + if (!$this->phpSheet->getProtection()->getSheet()) { + return; + } + + $record = 0x0012; // Record identifier + $length = 0x0002; // Bytes to follow + + $fLock = 1; // Worksheet is protected + + $header = pack("vv", $record, $length); + $data = pack("v", $fLock); + + $this->append($header.$data); + } + + /** + * Write SCENPROTECT + */ + private function writeScenProtect() + { + // Exit if sheet protection is not active + if (!$this->phpSheet->getProtection()->getSheet()) { + return; + } + + // Exit if scenarios are not protected + if (!$this->phpSheet->getProtection()->getScenarios()) { + return; + } + + $record = 0x00DD; // Record identifier + $length = 0x0002; // Bytes to follow + + $header = pack('vv', $record, $length); + $data = pack('v', 1); + + $this->append($header . $data); + } + + /** + * Write OBJECTPROTECT + */ + private function writeObjectProtect() + { + // Exit if sheet protection is not active + if (!$this->phpSheet->getProtection()->getSheet()) { + return; + } + + // Exit if objects are not protected + if (!$this->phpSheet->getProtection()->getObjects()) { + return; + } + + $record = 0x0063; // Record identifier + $length = 0x0002; // Bytes to follow + + $header = pack('vv', $record, $length); + $data = pack('v', 1); + + $this->append($header . $data); + } + + /** + * Write the worksheet PASSWORD record. + */ + private function writePassword() + { + // Exit unless sheet protection and password have been specified + if (!$this->phpSheet->getProtection()->getSheet() || !$this->phpSheet->getProtection()->getPassword()) { + return; + } + + $record = 0x0013; // Record identifier + $length = 0x0002; // Bytes to follow + + $wPassword = hexdec($this->phpSheet->getProtection()->getPassword()); // Encoded password + + $header = pack("vv", $record, $length); + $data = pack("v", $wPassword); + + $this->append($header . $data); + } + + /** + * Insert a 24bit bitmap image in a worksheet. + * + * @access public + * @param integer $row The row we are going to insert the bitmap into + * @param integer $col The column we are going to insert the bitmap into + * @param mixed $bitmap The bitmap filename or GD-image resource + * @param integer $x The horizontal position (offset) of the image inside the cell. + * @param integer $y The vertical position (offset) of the image inside the cell. + * @param float $scale_x The horizontal scale + * @param float $scale_y The vertical scale + */ + public function insertBitmap($row, $col, $bitmap, $x = 0, $y = 0, $scale_x = 1, $scale_y = 1) + { + $bitmap_array = (is_resource($bitmap) ? $this->processBitmapGd($bitmap) : $this->processBitmap($bitmap)); + list($width, $height, $size, $data) = $bitmap_array; //$this->processBitmap($bitmap); + + // Scale the frame of the image. + $width *= $scale_x; + $height *= $scale_y; + + // Calculate the vertices of the image and write the OBJ record + $this->positionImage($col, $row, $x, $y, $width, $height); + + // Write the IMDATA record to store the bitmap data + $record = 0x007f; + $length = 8 + $size; + $cf = 0x09; + $env = 0x01; + $lcb = $size; + + $header = pack("vvvvV", $record, $length, $cf, $env, $lcb); + $this->append($header.$data); + } + + /** + * Calculate the vertices that define the position of the image as required by + * the OBJ record. + * + * +------------+------------+ + * | A | B | + * +-----+------------+------------+ + * | |(x1,y1) | | + * | 1 |(A1)._______|______ | + * | | | | | + * | | | | | + * +-----+----| BITMAP |-----+ + * | | | | | + * | 2 | |______________. | + * | | | (B2)| + * | | | (x2,y2)| + * +---- +------------+------------+ + * + * Example of a bitmap that covers some of the area from cell A1 to cell B2. + * + * Based on the width and height of the bitmap we need to calculate 8 vars: + * $col_start, $row_start, $col_end, $row_end, $x1, $y1, $x2, $y2. + * The width and height of the cells are also variable and have to be taken into + * account. + * The values of $col_start and $row_start are passed in from the calling + * function. The values of $col_end and $row_end are calculated by subtracting + * the width and height of the bitmap from the width and height of the + * underlying cells. + * The vertices are expressed as a percentage of the underlying cell width as + * follows (rhs values are in pixels): + * + * x1 = X / W *1024 + * y1 = Y / H *256 + * x2 = (X-1) / W *1024 + * y2 = (Y-1) / H *256 + * + * Where: X is distance from the left side of the underlying cell + * Y is distance from the top of the underlying cell + * W is the width of the cell + * H is the height of the cell + * The SDK incorrectly states that the height should be expressed as a + * percentage of 1024. + * + * @access private + * @param integer $col_start Col containing upper left corner of object + * @param integer $row_start Row containing top left corner of object + * @param integer $x1 Distance to left side of object + * @param integer $y1 Distance to top of object + * @param integer $width Width of image frame + * @param integer $height Height of image frame + */ + public function positionImage($col_start, $row_start, $x1, $y1, $width, $height) + { + // Initialise end cell to the same as the start cell + $col_end = $col_start; // Col containing lower right corner of object + $row_end = $row_start; // Row containing bottom right corner of object + + // Zero the specified offset if greater than the cell dimensions + if ($x1 >= PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start))) { + $x1 = 0; + } + if ($y1 >= PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_start + 1)) { + $y1 = 0; + } + + $width = $width + $x1 -1; + $height = $height + $y1 -1; + + // Subtract the underlying cell widths to find the end cell of the image + while ($width >= PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end))) { + $width -= PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)); + ++$col_end; + } + + // Subtract the underlying cell heights to find the end cell of the image + while ($height >= PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_end + 1)) { + $height -= PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_end + 1); + ++$row_end; + } + + // Bitmap isn't allowed to start or finish in a hidden cell, i.e. a cell + // with zero eight or width. + // + if (PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_start + 1) == 0) { + return; + } + if (PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_end + 1) == 0) { + return; + } + + // Convert the pixel values to the percentage value expected by Excel + $x1 = $x1 / PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_start)) * 1024; + $y1 = $y1 / PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_start + 1) * 256; + $x2 = $width / PHPExcel_Shared_Excel5::sizeCol($this->phpSheet, PHPExcel_Cell::stringFromColumnIndex($col_end)) * 1024; // Distance to right side of object + $y2 = $height / PHPExcel_Shared_Excel5::sizeRow($this->phpSheet, $row_end + 1) * 256; // Distance to bottom of object + + $this->writeObjPicture($col_start, $x1, $row_start, $y1, $col_end, $x2, $row_end, $y2); + } + + /** + * Store the OBJ record that precedes an IMDATA record. This could be generalise + * to support other Excel objects. + * + * @param integer $colL Column containing upper left corner of object + * @param integer $dxL Distance from left side of cell + * @param integer $rwT Row containing top left corner of object + * @param integer $dyT Distance from top of cell + * @param integer $colR Column containing lower right corner of object + * @param integer $dxR Distance from right of cell + * @param integer $rwB Row containing bottom right corner of object + * @param integer $dyB Distance from bottom of cell + */ + private function writeObjPicture($colL, $dxL, $rwT, $dyT, $colR, $dxR, $rwB, $dyB) + { + $record = 0x005d; // Record identifier + $length = 0x003c; // Bytes to follow + + $cObj = 0x0001; // Count of objects in file (set to 1) + $OT = 0x0008; // Object type. 8 = Picture + $id = 0x0001; // Object ID + $grbit = 0x0614; // Option flags + + $cbMacro = 0x0000; // Length of FMLA structure + $Reserved1 = 0x0000; // Reserved + $Reserved2 = 0x0000; // Reserved + + $icvBack = 0x09; // Background colour + $icvFore = 0x09; // Foreground colour + $fls = 0x00; // Fill pattern + $fAuto = 0x00; // Automatic fill + $icv = 0x08; // Line colour + $lns = 0xff; // Line style + $lnw = 0x01; // Line weight + $fAutoB = 0x00; // Automatic border + $frs = 0x0000; // Frame style + $cf = 0x0009; // Image format, 9 = bitmap + $Reserved3 = 0x0000; // Reserved + $cbPictFmla = 0x0000; // Length of FMLA structure + $Reserved4 = 0x0000; // Reserved + $grbit2 = 0x0001; // Option flags + $Reserved5 = 0x0000; // Reserved + + + $header = pack("vv", $record, $length); + $data = pack("V", $cObj); + $data .= pack("v", $OT); + $data .= pack("v", $id); + $data .= pack("v", $grbit); + $data .= pack("v", $colL); + $data .= pack("v", $dxL); + $data .= pack("v", $rwT); + $data .= pack("v", $dyT); + $data .= pack("v", $colR); + $data .= pack("v", $dxR); + $data .= pack("v", $rwB); + $data .= pack("v", $dyB); + $data .= pack("v", $cbMacro); + $data .= pack("V", $Reserved1); + $data .= pack("v", $Reserved2); + $data .= pack("C", $icvBack); + $data .= pack("C", $icvFore); + $data .= pack("C", $fls); + $data .= pack("C", $fAuto); + $data .= pack("C", $icv); + $data .= pack("C", $lns); + $data .= pack("C", $lnw); + $data .= pack("C", $fAutoB); + $data .= pack("v", $frs); + $data .= pack("V", $cf); + $data .= pack("v", $Reserved3); + $data .= pack("v", $cbPictFmla); + $data .= pack("v", $Reserved4); + $data .= pack("v", $grbit2); + $data .= pack("V", $Reserved5); + + $this->append($header . $data); + } + + /** + * Convert a GD-image into the internal format. + * + * @access private + * @param resource $image The image to process + * @return array Array with data and properties of the bitmap + */ + public function processBitmapGd($image) + { + $width = imagesx($image); + $height = imagesy($image); + + $data = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); + for ($j=$height; $j--;) { + for ($i=0; $i < $width; ++$i) { + $color = imagecolorsforindex($image, imagecolorat($image, $i, $j)); + foreach (array("red", "green", "blue") as $key) { + $color[$key] = $color[$key] + round((255 - $color[$key]) * $color["alpha"] / 127); + } + $data .= chr($color["blue"]) . chr($color["green"]) . chr($color["red"]); + } + if (3*$width % 4) { + $data .= str_repeat("\x00", 4 - 3*$width % 4); + } + } + + return array($width, $height, strlen($data), $data); + } + + /** + * Convert a 24 bit bitmap into the modified internal format used by Windows. + * This is described in BITMAPCOREHEADER and BITMAPCOREINFO structures in the + * MSDN library. + * + * @access private + * @param string $bitmap The bitmap to process + * @return array Array with data and properties of the bitmap + */ + public function processBitmap($bitmap) + { + // Open file. + $bmp_fd = @fopen($bitmap, "rb"); + if (!$bmp_fd) { + throw new PHPExcel_Writer_Exception("Couldn't import $bitmap"); + } + + // Slurp the file into a string. + $data = fread($bmp_fd, filesize($bitmap)); + + // Check that the file is big enough to be a bitmap. + if (strlen($data) <= 0x36) { + throw new PHPExcel_Writer_Exception("$bitmap doesn't contain enough data.\n"); + } + + // The first 2 bytes are used to identify the bitmap. + $identity = unpack("A2ident", $data); + if ($identity['ident'] != "BM") { + throw new PHPExcel_Writer_Exception("$bitmap doesn't appear to be a valid bitmap image.\n"); + } + + // Remove bitmap data: ID. + $data = substr($data, 2); + + // Read and remove the bitmap size. This is more reliable than reading + // the data size at offset 0x22. + // + $size_array = unpack("Vsa", substr($data, 0, 4)); + $size = $size_array['sa']; + $data = substr($data, 4); + $size -= 0x36; // Subtract size of bitmap header. + $size += 0x0C; // Add size of BIFF header. + + // Remove bitmap data: reserved, offset, header length. + $data = substr($data, 12); + + // Read and remove the bitmap width and height. Verify the sizes. + $width_and_height = unpack("V2", substr($data, 0, 8)); + $width = $width_and_height[1]; + $height = $width_and_height[2]; + $data = substr($data, 8); + if ($width > 0xFFFF) { + throw new PHPExcel_Writer_Exception("$bitmap: largest image width supported is 65k.\n"); + } + if ($height > 0xFFFF) { + throw new PHPExcel_Writer_Exception("$bitmap: largest image height supported is 65k.\n"); + } + + // Read and remove the bitmap planes and bpp data. Verify them. + $planes_and_bitcount = unpack("v2", substr($data, 0, 4)); + $data = substr($data, 4); + if ($planes_and_bitcount[2] != 24) { // Bitcount + throw new PHPExcel_Writer_Exception("$bitmap isn't a 24bit true color bitmap.\n"); + } + if ($planes_and_bitcount[1] != 1) { + throw new PHPExcel_Writer_Exception("$bitmap: only 1 plane supported in bitmap image.\n"); + } + + // Read and remove the bitmap compression. Verify compression. + $compression = unpack("Vcomp", substr($data, 0, 4)); + $data = substr($data, 4); + + //$compression = 0; + if ($compression['comp'] != 0) { + throw new PHPExcel_Writer_Exception("$bitmap: compression not supported in bitmap image.\n"); + } + + // Remove bitmap data: data size, hres, vres, colours, imp. colours. + $data = substr($data, 20); + + // Add the BITMAPCOREHEADER data + $header = pack("Vvvvv", 0x000c, $width, $height, 0x01, 0x18); + $data = $header . $data; + + return (array($width, $height, $size, $data)); + } + + /** + * Store the window zoom factor. This should be a reduced fraction but for + * simplicity we will store all fractions with a numerator of 100. + */ + private function writeZoom() + { + // If scale is 100 we don't need to write a record + if ($this->phpSheet->getSheetView()->getZoomScale() == 100) { + return; + } + + $record = 0x00A0; // Record identifier + $length = 0x0004; // Bytes to follow + + $header = pack("vv", $record, $length); + $data = pack("vv", $this->phpSheet->getSheetView()->getZoomScale(), 100); + $this->append($header . $data); + } + + /** + * Get Escher object + * + * @return PHPExcel_Shared_Escher + */ + public function getEscher() + { + return $this->escher; + } + + /** + * Set Escher object + * + * @param PHPExcel_Shared_Escher $pValue + */ + public function setEscher(PHPExcel_Shared_Escher $pValue = null) + { + $this->escher = $pValue; + } + + /** + * Write MSODRAWING record + */ + private function writeMsoDrawing() + { + // write the Escher stream if necessary + if (isset($this->escher)) { + $writer = new PHPExcel_Writer_Excel5_Escher($this->escher); + $data = $writer->close(); + $spOffsets = $writer->getSpOffsets(); + $spTypes = $writer->getSpTypes(); + // write the neccesary MSODRAWING, OBJ records + + // split the Escher stream + $spOffsets[0] = 0; + $nm = count($spOffsets) - 1; // number of shapes excluding first shape + for ($i = 1; $i <= $nm; ++$i) { + // MSODRAWING record + $record = 0x00EC; // Record identifier + + // chunk of Escher stream for one shape + $dataChunk = substr($data, $spOffsets[$i -1], $spOffsets[$i] - $spOffsets[$i - 1]); + + $length = strlen($dataChunk); + $header = pack("vv", $record, $length); + + $this->append($header . $dataChunk); + + // OBJ record + $record = 0x005D; // record identifier + $objData = ''; + + // ftCmo + if ($spTypes[$i] == 0x00C9) { + // Add ftCmo (common object data) subobject + $objData .= + pack( + 'vvvvvVVV', + 0x0015, // 0x0015 = ftCmo + 0x0012, // length of ftCmo data + 0x0014, // object type, 0x0014 = filter + $i, // object id number, Excel seems to use 1-based index, local for the sheet + 0x2101, // option flags, 0x2001 is what OpenOffice.org uses + 0, // reserved + 0, // reserved + 0 // reserved + ); + + // Add ftSbs Scroll bar subobject + $objData .= pack('vv', 0x00C, 0x0014); + $objData .= pack('H*', '0000000000000000640001000A00000010000100'); + // Add ftLbsData (List box data) subobject + $objData .= pack('vv', 0x0013, 0x1FEE); + $objData .= pack('H*', '00000000010001030000020008005700'); + } else { + // Add ftCmo (common object data) subobject + $objData .= + pack( + 'vvvvvVVV', + 0x0015, // 0x0015 = ftCmo + 0x0012, // length of ftCmo data + 0x0008, // object type, 0x0008 = picture + $i, // object id number, Excel seems to use 1-based index, local for the sheet + 0x6011, // option flags, 0x6011 is what OpenOffice.org uses + 0, // reserved + 0, // reserved + 0 // reserved + ); + } + + // ftEnd + $objData .= + pack( + 'vv', + 0x0000, // 0x0000 = ftEnd + 0x0000 // length of ftEnd data + ); + + $length = strlen($objData); + $header = pack('vv', $record, $length); + $this->append($header . $objData); + } + } + } + + /** + * Store the DATAVALIDATIONS and DATAVALIDATION records. + */ + private function writeDataValidity() + { + // Datavalidation collection + $dataValidationCollection = $this->phpSheet->getDataValidationCollection(); + + // Write data validations? + if (!empty($dataValidationCollection)) { + // DATAVALIDATIONS record + $record = 0x01B2; // Record identifier + $length = 0x0012; // Bytes to follow + + $grbit = 0x0000; // Prompt box at cell, no cached validity data at DV records + $horPos = 0x00000000; // Horizontal position of prompt box, if fixed position + $verPos = 0x00000000; // Vertical position of prompt box, if fixed position + $objId = 0xFFFFFFFF; // Object identifier of drop down arrow object, or -1 if not visible + + $header = pack('vv', $record, $length); + $data = pack('vVVVV', $grbit, $horPos, $verPos, $objId, count($dataValidationCollection)); + $this->append($header.$data); + + // DATAVALIDATION records + $record = 0x01BE; // Record identifier + + foreach ($dataValidationCollection as $cellCoordinate => $dataValidation) { + // initialize record data + $data = ''; + + // options + $options = 0x00000000; + + // data type + $type = $dataValidation->getType(); + switch ($type) { + case PHPExcel_Cell_DataValidation::TYPE_NONE: + $type = 0x00; + break; + case PHPExcel_Cell_DataValidation::TYPE_WHOLE: + $type = 0x01; + break; + case PHPExcel_Cell_DataValidation::TYPE_DECIMAL: + $type = 0x02; + break; + case PHPExcel_Cell_DataValidation::TYPE_LIST: + $type = 0x03; + break; + case PHPExcel_Cell_DataValidation::TYPE_DATE: + $type = 0x04; + break; + case PHPExcel_Cell_DataValidation::TYPE_TIME: + $type = 0x05; + break; + case PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH: + $type = 0x06; + break; + case PHPExcel_Cell_DataValidation::TYPE_CUSTOM: + $type = 0x07; + break; + } + $options |= $type << 0; + + // error style + $errorStyle = $dataValidation->getType(); + switch ($errorStyle) { + case PHPExcel_Cell_DataValidation::STYLE_STOP: + $errorStyle = 0x00; + break; + case PHPExcel_Cell_DataValidation::STYLE_WARNING: + $errorStyle = 0x01; + break; + case PHPExcel_Cell_DataValidation::STYLE_INFORMATION: + $errorStyle = 0x02; + break; + } + $options |= $errorStyle << 4; + + // explicit formula? + if ($type == 0x03 && preg_match('/^\".*\"$/', $dataValidation->getFormula1())) { + $options |= 0x01 << 7; + } + + // empty cells allowed + $options |= $dataValidation->getAllowBlank() << 8; + + // show drop down + $options |= (!$dataValidation->getShowDropDown()) << 9; + + // show input message + $options |= $dataValidation->getShowInputMessage() << 18; + + // show error message + $options |= $dataValidation->getShowErrorMessage() << 19; + + // condition operator + $operator = $dataValidation->getOperator(); + switch ($operator) { + case PHPExcel_Cell_DataValidation::OPERATOR_BETWEEN: + $operator = 0x00; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_NOTBETWEEN: + $operator = 0x01; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_EQUAL: + $operator = 0x02; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_NOTEQUAL: + $operator = 0x03; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHAN: + $operator = 0x04; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHAN: + $operator = 0x05; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_GREATERTHANOREQUAL: + $operator = 0x06; + break; + case PHPExcel_Cell_DataValidation::OPERATOR_LESSTHANOREQUAL: + $operator = 0x07; + break; + } + $options |= $operator << 20; + + $data = pack('V', $options); + + // prompt title + $promptTitle = $dataValidation->getPromptTitle() !== '' ? + $dataValidation->getPromptTitle() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($promptTitle); + + // error title + $errorTitle = $dataValidation->getErrorTitle() !== '' ? + $dataValidation->getErrorTitle() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($errorTitle); + + // prompt text + $prompt = $dataValidation->getPrompt() !== '' ? + $dataValidation->getPrompt() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($prompt); + + // error text + $error = $dataValidation->getError() !== '' ? + $dataValidation->getError() : chr(0); + $data .= PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($error); + + // formula 1 + try { + $formula1 = $dataValidation->getFormula1(); + if ($type == 0x03) { // list type + $formula1 = str_replace(',', chr(0), $formula1); + } + $this->parser->parse($formula1); + $formula1 = $this->parser->toReversePolish(); + $sz1 = strlen($formula1); + } catch (PHPExcel_Exception $e) { + $sz1 = 0; + $formula1 = ''; + } + $data .= pack('vv', $sz1, 0x0000); + $data .= $formula1; + + // formula 2 + try { + $formula2 = $dataValidation->getFormula2(); + if ($formula2 === '') { + throw new PHPExcel_Writer_Exception('No formula2'); + } + $this->parser->parse($formula2); + $formula2 = $this->parser->toReversePolish(); + $sz2 = strlen($formula2); + } catch (PHPExcel_Exception $e) { + $sz2 = 0; + $formula2 = ''; + } + $data .= pack('vv', $sz2, 0x0000); + $data .= $formula2; + + // cell range address list + $data .= pack('v', 0x0001); + $data .= $this->writeBIFF8CellRangeAddressFixed($cellCoordinate); + + $length = strlen($data); + $header = pack("vv", $record, $length); + + $this->append($header . $data); + } + } + } + + /** + * Map Error code + * + * @param string $errorCode + * @return int + */ + private static function mapErrorCode($errorCode) + { + switch ($errorCode) { + case '#NULL!': + return 0x00; + case '#DIV/0!': + return 0x07; + case '#VALUE!': + return 0x0F; + case '#REF!': + return 0x17; + case '#NAME?': + return 0x1D; + case '#NUM!': + return 0x24; + case '#N/A': + return 0x2A; + } + + return 0; + } + + /** + * Write PLV Record + */ + private function writePageLayoutView() + { + $record = 0x088B; // Record identifier + $length = 0x0010; // Bytes to follow + + $rt = 0x088B; // 2 + $grbitFrt = 0x0000; // 2 + $reserved = 0x0000000000000000; // 8 + $wScalvePLV = $this->phpSheet->getSheetView()->getZoomScale(); // 2 + + // The options flags that comprise $grbit + if ($this->phpSheet->getSheetView()->getView() == PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_LAYOUT) { + $fPageLayoutView = 1; + } else { + $fPageLayoutView = 0; + } + $fRulerVisible = 0; + $fWhitespaceHidden = 0; + + $grbit = $fPageLayoutView; // 2 + $grbit |= $fRulerVisible << 1; + $grbit |= $fWhitespaceHidden << 3; + + $header = pack("vv", $record, $length); + $data = pack("vvVVvv", $rt, $grbitFrt, 0x00000000, 0x00000000, $wScalvePLV, $grbit); + $this->append($header . $data); + } + + /** + * Write CFRule Record + * @param PHPExcel_Style_Conditional $conditional + */ + private function writeCFRule(PHPExcel_Style_Conditional $conditional) + { + $record = 0x01B1; // Record identifier + + // $type : Type of the CF + // $operatorType : Comparison operator + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) { + $type = 0x02; + $operatorType = 0x00; + } elseif ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS) { + $type = 0x01; + + switch ($conditional->getOperatorType()) { + case PHPExcel_Style_Conditional::OPERATOR_NONE: + $operatorType = 0x00; + break; + case PHPExcel_Style_Conditional::OPERATOR_EQUAL: + $operatorType = 0x03; + break; + case PHPExcel_Style_Conditional::OPERATOR_GREATERTHAN: + $operatorType = 0x05; + break; + case PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL: + $operatorType = 0x07; + break; + case PHPExcel_Style_Conditional::OPERATOR_LESSTHAN: + $operatorType = 0x06; + break; + case PHPExcel_Style_Conditional::OPERATOR_LESSTHANOREQUAL: + $operatorType = 0x08; + break; + case PHPExcel_Style_Conditional::OPERATOR_NOTEQUAL: + $operatorType = 0x04; + break; + case PHPExcel_Style_Conditional::OPERATOR_BETWEEN: + $operatorType = 0x01; + break; + // not OPERATOR_NOTBETWEEN 0x02 + } + } + + // $szValue1 : size of the formula data for first value or formula + // $szValue2 : size of the formula data for second value or formula + $arrConditions = $conditional->getConditions(); + $numConditions = sizeof($arrConditions); + if ($numConditions == 1) { + $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); + $szValue2 = 0x0000; + $operand1 = pack('Cv', 0x1E, $arrConditions[0]); + $operand2 = null; + } elseif ($numConditions == 2 && ($conditional->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BETWEEN)) { + $szValue1 = ($arrConditions[0] <= 65535 ? 3 : 0x0000); + $szValue2 = ($arrConditions[1] <= 65535 ? 3 : 0x0000); + $operand1 = pack('Cv', 0x1E, $arrConditions[0]); + $operand2 = pack('Cv', 0x1E, $arrConditions[1]); + } else { + $szValue1 = 0x0000; + $szValue2 = 0x0000; + $operand1 = null; + $operand2 = null; + } + + // $flags : Option flags + // Alignment + $bAlignHz = ($conditional->getStyle()->getAlignment()->getHorizontal() == null ? 1 : 0); + $bAlignVt = ($conditional->getStyle()->getAlignment()->getVertical() == null ? 1 : 0); + $bAlignWrapTx = ($conditional->getStyle()->getAlignment()->getWrapText() == false ? 1 : 0); + $bTxRotation = ($conditional->getStyle()->getAlignment()->getTextRotation() == null ? 1 : 0); + $bIndent = ($conditional->getStyle()->getAlignment()->getIndent() == 0 ? 1 : 0); + $bShrinkToFit = ($conditional->getStyle()->getAlignment()->getShrinkToFit() == false ? 1 : 0); + if ($bAlignHz == 0 || $bAlignVt == 0 || $bAlignWrapTx == 0 || $bTxRotation == 0 || $bIndent == 0 || $bShrinkToFit == 0) { + $bFormatAlign = 1; + } else { + $bFormatAlign = 0; + } + // Protection + $bProtLocked = ($conditional->getStyle()->getProtection()->getLocked() == null ? 1 : 0); + $bProtHidden = ($conditional->getStyle()->getProtection()->getHidden() == null ? 1 : 0); + if ($bProtLocked == 0 || $bProtHidden == 0) { + $bFormatProt = 1; + } else { + $bFormatProt = 0; + } + // Border + $bBorderLeft = ($conditional->getStyle()->getBorders()->getLeft()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getLeft()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderRight = ($conditional->getStyle()->getBorders()->getRight()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getRight()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderTop = ($conditional->getStyle()->getBorders()->getTop()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getTop()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + $bBorderBottom = ($conditional->getStyle()->getBorders()->getBottom()->getColor()->getARGB() == PHPExcel_Style_Color::COLOR_BLACK + && $conditional->getStyle()->getBorders()->getBottom()->getBorderStyle() == PHPExcel_Style_Border::BORDER_NONE ? 1 : 0); + if ($bBorderLeft == 0 || $bBorderRight == 0 || $bBorderTop == 0 || $bBorderBottom == 0) { + $bFormatBorder = 1; + } else { + $bFormatBorder = 0; + } + // Pattern + $bFillStyle = ($conditional->getStyle()->getFill()->getFillType() == null ? 0 : 1); + $bFillColor = ($conditional->getStyle()->getFill()->getStartColor()->getARGB() == null ? 0 : 1); + $bFillColorBg = ($conditional->getStyle()->getFill()->getEndColor()->getARGB() == null ? 0 : 1); + if ($bFillStyle == 0 || $bFillColor == 0 || $bFillColorBg == 0) { + $bFormatFill = 1; + } else { + $bFormatFill = 0; + } + // Font + if ($conditional->getStyle()->getFont()->getName() != null + || $conditional->getStyle()->getFont()->getSize() != null + || $conditional->getStyle()->getFont()->getBold() != null + || $conditional->getStyle()->getFont()->getItalic() != null + || $conditional->getStyle()->getFont()->getSuperScript() != null + || $conditional->getStyle()->getFont()->getSubScript() != null + || $conditional->getStyle()->getFont()->getUnderline() != null + || $conditional->getStyle()->getFont()->getStrikethrough() != null + || $conditional->getStyle()->getFont()->getColor()->getARGB() != null) { + $bFormatFont = 1; + } else { + $bFormatFont = 0; + } + // Alignment + $flags = 0; + $flags |= (1 == $bAlignHz ? 0x00000001 : 0); + $flags |= (1 == $bAlignVt ? 0x00000002 : 0); + $flags |= (1 == $bAlignWrapTx ? 0x00000004 : 0); + $flags |= (1 == $bTxRotation ? 0x00000008 : 0); + // Justify last line flag + $flags |= (1 == 1 ? 0x00000010 : 0); + $flags |= (1 == $bIndent ? 0x00000020 : 0); + $flags |= (1 == $bShrinkToFit ? 0x00000040 : 0); + // Default + $flags |= (1 == 1 ? 0x00000080 : 0); + // Protection + $flags |= (1 == $bProtLocked ? 0x00000100 : 0); + $flags |= (1 == $bProtHidden ? 0x00000200 : 0); + // Border + $flags |= (1 == $bBorderLeft ? 0x00000400 : 0); + $flags |= (1 == $bBorderRight ? 0x00000800 : 0); + $flags |= (1 == $bBorderTop ? 0x00001000 : 0); + $flags |= (1 == $bBorderBottom ? 0x00002000 : 0); + $flags |= (1 == 1 ? 0x00004000 : 0); // Top left to Bottom right border + $flags |= (1 == 1 ? 0x00008000 : 0); // Bottom left to Top right border + // Pattern + $flags |= (1 == $bFillStyle ? 0x00010000 : 0); + $flags |= (1 == $bFillColor ? 0x00020000 : 0); + $flags |= (1 == $bFillColorBg ? 0x00040000 : 0); + $flags |= (1 == 1 ? 0x00380000 : 0); + // Font + $flags |= (1 == $bFormatFont ? 0x04000000 : 0); + // Alignment: + $flags |= (1 == $bFormatAlign ? 0x08000000 : 0); + // Border + $flags |= (1 == $bFormatBorder ? 0x10000000 : 0); + // Pattern + $flags |= (1 == $bFormatFill ? 0x20000000 : 0); + // Protection + $flags |= (1 == $bFormatProt ? 0x40000000 : 0); + // Text direction + $flags |= (1 == 0 ? 0x80000000 : 0); + + // Data Blocks + if ($bFormatFont == 1) { + // Font Name + if ($conditional->getStyle()->getFont()->getName() == null) { + $dataBlockFont = pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); + $dataBlockFont .= pack('VVVVVVVV', 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000); + } else { + $dataBlockFont = PHPExcel_Shared_String::UTF8toBIFF8UnicodeLong($conditional->getStyle()->getFont()->getName()); + } + // Font Size + if ($conditional->getStyle()->getFont()->getSize() == null) { + $dataBlockFont .= pack('V', 20 * 11); + } else { + $dataBlockFont .= pack('V', 20 * $conditional->getStyle()->getFont()->getSize()); + } + // Font Options + $dataBlockFont .= pack('V', 0); + // Font weight + if ($conditional->getStyle()->getFont()->getBold() == true) { + $dataBlockFont .= pack('v', 0x02BC); + } else { + $dataBlockFont .= pack('v', 0x0190); + } + // Escapement type + if ($conditional->getStyle()->getFont()->getSubScript() == true) { + $dataBlockFont .= pack('v', 0x02); + $fontEscapement = 0; + } elseif ($conditional->getStyle()->getFont()->getSuperScript() == true) { + $dataBlockFont .= pack('v', 0x01); + $fontEscapement = 0; + } else { + $dataBlockFont .= pack('v', 0x00); + $fontEscapement = 1; + } + // Underline type + switch ($conditional->getStyle()->getFont()->getUnderline()) { + case PHPExcel_Style_Font::UNDERLINE_NONE: + $dataBlockFont .= pack('C', 0x00); + $fontUnderline = 0; + break; + case PHPExcel_Style_Font::UNDERLINE_DOUBLE: + $dataBlockFont .= pack('C', 0x02); + $fontUnderline = 0; + break; + case PHPExcel_Style_Font::UNDERLINE_DOUBLEACCOUNTING: + $dataBlockFont .= pack('C', 0x22); + $fontUnderline = 0; + break; + case PHPExcel_Style_Font::UNDERLINE_SINGLE: + $dataBlockFont .= pack('C', 0x01); + $fontUnderline = 0; + break; + case PHPExcel_Style_Font::UNDERLINE_SINGLEACCOUNTING: + $dataBlockFont .= pack('C', 0x21); + $fontUnderline = 0; + break; + default: $dataBlockFont .= pack('C', 0x00); + $fontUnderline = 1; + break; + } + // Not used (3) + $dataBlockFont .= pack('vC', 0x0000, 0x00); + // Font color index + switch ($conditional->getStyle()->getFont()->getColor()->getRGB()) { + case '000000': + $colorIdx = 0x08; + break; + case 'FFFFFF': + $colorIdx = 0x09; + break; + case 'FF0000': + $colorIdx = 0x0A; + break; + case '00FF00': + $colorIdx = 0x0B; + break; + case '0000FF': + $colorIdx = 0x0C; + break; + case 'FFFF00': + $colorIdx = 0x0D; + break; + case 'FF00FF': + $colorIdx = 0x0E; + break; + case '00FFFF': + $colorIdx = 0x0F; + break; + case '800000': + $colorIdx = 0x10; + break; + case '008000': + $colorIdx = 0x11; + break; + case '000080': + $colorIdx = 0x12; + break; + case '808000': + $colorIdx = 0x13; + break; + case '800080': + $colorIdx = 0x14; + break; + case '008080': + $colorIdx = 0x15; + break; + case 'C0C0C0': + $colorIdx = 0x16; + break; + case '808080': + $colorIdx = 0x17; + break; + case '9999FF': + $colorIdx = 0x18; + break; + case '993366': + $colorIdx = 0x19; + break; + case 'FFFFCC': + $colorIdx = 0x1A; + break; + case 'CCFFFF': + $colorIdx = 0x1B; + break; + case '660066': + $colorIdx = 0x1C; + break; + case 'FF8080': + $colorIdx = 0x1D; + break; + case '0066CC': + $colorIdx = 0x1E; + break; + case 'CCCCFF': + $colorIdx = 0x1F; + break; + case '000080': + $colorIdx = 0x20; + break; + case 'FF00FF': + $colorIdx = 0x21; + break; + case 'FFFF00': + $colorIdx = 0x22; + break; + case '00FFFF': + $colorIdx = 0x23; + break; + case '800080': + $colorIdx = 0x24; + break; + case '800000': + $colorIdx = 0x25; + break; + case '008080': + $colorIdx = 0x26; + break; + case '0000FF': + $colorIdx = 0x27; + break; + case '00CCFF': + $colorIdx = 0x28; + break; + case 'CCFFFF': + $colorIdx = 0x29; + break; + case 'CCFFCC': + $colorIdx = 0x2A; + break; + case 'FFFF99': + $colorIdx = 0x2B; + break; + case '99CCFF': + $colorIdx = 0x2C; + break; + case 'FF99CC': + $colorIdx = 0x2D; + break; + case 'CC99FF': + $colorIdx = 0x2E; + break; + case 'FFCC99': + $colorIdx = 0x2F; + break; + case '3366FF': + $colorIdx = 0x30; + break; + case '33CCCC': + $colorIdx = 0x31; + break; + case '99CC00': + $colorIdx = 0x32; + break; + case 'FFCC00': + $colorIdx = 0x33; + break; + case 'FF9900': + $colorIdx = 0x34; + break; + case 'FF6600': + $colorIdx = 0x35; + break; + case '666699': + $colorIdx = 0x36; + break; + case '969696': + $colorIdx = 0x37; + break; + case '003366': + $colorIdx = 0x38; + break; + case '339966': + $colorIdx = 0x39; + break; + case '003300': + $colorIdx = 0x3A; + break; + case '333300': + $colorIdx = 0x3B; + break; + case '993300': + $colorIdx = 0x3C; + break; + case '993366': + $colorIdx = 0x3D; + break; + case '333399': + $colorIdx = 0x3E; + break; + case '333333': + $colorIdx = 0x3F; + break; + default: + $colorIdx = 0x00; + break; + } + $dataBlockFont .= pack('V', $colorIdx); + // Not used (4) + $dataBlockFont .= pack('V', 0x00000000); + // Options flags for modified font attributes + $optionsFlags = 0; + $optionsFlagsBold = ($conditional->getStyle()->getFont()->getBold() == null ? 1 : 0); + $optionsFlags |= (1 == $optionsFlagsBold ? 0x00000002 : 0); + $optionsFlags |= (1 == 1 ? 0x00000008 : 0); + $optionsFlags |= (1 == 1 ? 0x00000010 : 0); + $optionsFlags |= (1 == 0 ? 0x00000020 : 0); + $optionsFlags |= (1 == 1 ? 0x00000080 : 0); + $dataBlockFont .= pack('V', $optionsFlags); + // Escapement type + $dataBlockFont .= pack('V', $fontEscapement); + // Underline type + $dataBlockFont .= pack('V', $fontUnderline); + // Always + $dataBlockFont .= pack('V', 0x00000000); + // Always + $dataBlockFont .= pack('V', 0x00000000); + // Not used (8) + $dataBlockFont .= pack('VV', 0x00000000, 0x00000000); + // Always + $dataBlockFont .= pack('v', 0x0001); + } + if ($bFormatAlign == 1) { + $blockAlign = 0; + // Alignment and text break + switch ($conditional->getStyle()->getAlignment()->getHorizontal()) { + case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL: + $blockAlign = 0; + break; + case PHPExcel_Style_Alignment::HORIZONTAL_LEFT: + $blockAlign = 1; + break; + case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT: + $blockAlign = 3; + break; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER: + $blockAlign = 2; + break; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS: + $blockAlign = 6; + break; + case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY: + $blockAlign = 5; + break; + } + if ($conditional->getStyle()->getAlignment()->getWrapText() == true) { + $blockAlign |= 1 << 3; + } else { + $blockAlign |= 0 << 3; + } + switch ($conditional->getStyle()->getAlignment()->getVertical()) { + case PHPExcel_Style_Alignment::VERTICAL_BOTTOM: + $blockAlign = 2 << 4; + break; + case PHPExcel_Style_Alignment::VERTICAL_TOP: + $blockAlign = 0 << 4; + break; + case PHPExcel_Style_Alignment::VERTICAL_CENTER: + $blockAlign = 1 << 4; + break; + case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY: + $blockAlign = 3 << 4; + break; + } + $blockAlign |= 0 << 7; + + // Text rotation angle + $blockRotation = $conditional->getStyle()->getAlignment()->getTextRotation(); + + // Indentation + $blockIndent = $conditional->getStyle()->getAlignment()->getIndent(); + if ($conditional->getStyle()->getAlignment()->getShrinkToFit() == true) { + $blockIndent |= 1 << 4; + } else { + $blockIndent |= 0 << 4; + } + $blockIndent |= 0 << 6; + + // Relative indentation + $blockIndentRelative = 255; + + $dataBlockAlign = pack('CCvvv', $blockAlign, $blockRotation, $blockIndent, $blockIndentRelative, 0x0000); + } + if ($bFormatBorder == 1) { + $blockLineStyle = 0; + switch ($conditional->getStyle()->getBorders()->getLeft()->getBorderStyle()) { + case PHPExcel_Style_Border::BORDER_NONE: + $blockLineStyle |= 0x00; + break; + case PHPExcel_Style_Border::BORDER_THIN: + $blockLineStyle |= 0x01; + break; + case PHPExcel_Style_Border::BORDER_MEDIUM: + $blockLineStyle |= 0x02; + break; + case PHPExcel_Style_Border::BORDER_DASHED: + $blockLineStyle |= 0x03; + break; + case PHPExcel_Style_Border::BORDER_DOTTED: + $blockLineStyle |= 0x04; + break; + case PHPExcel_Style_Border::BORDER_THICK: + $blockLineStyle |= 0x05; + break; + case PHPExcel_Style_Border::BORDER_DOUBLE: + $blockLineStyle |= 0x06; + break; + case PHPExcel_Style_Border::BORDER_HAIR: + $blockLineStyle |= 0x07; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + $blockLineStyle |= 0x08; + break; + case PHPExcel_Style_Border::BORDER_DASHDOT: + $blockLineStyle |= 0x09; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + $blockLineStyle |= 0x0A; + break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + $blockLineStyle |= 0x0B; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + $blockLineStyle |= 0x0C; + break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + $blockLineStyle |= 0x0D; + break; + } + switch ($conditional->getStyle()->getBorders()->getRight()->getBorderStyle()) { + case PHPExcel_Style_Border::BORDER_NONE: + $blockLineStyle |= 0x00 << 4; + break; + case PHPExcel_Style_Border::BORDER_THIN: + $blockLineStyle |= 0x01 << 4; + break; + case PHPExcel_Style_Border::BORDER_MEDIUM: + $blockLineStyle |= 0x02 << 4; + break; + case PHPExcel_Style_Border::BORDER_DASHED: + $blockLineStyle |= 0x03 << 4; + break; + case PHPExcel_Style_Border::BORDER_DOTTED: + $blockLineStyle |= 0x04 << 4; + break; + case PHPExcel_Style_Border::BORDER_THICK: + $blockLineStyle |= 0x05 << 4; + break; + case PHPExcel_Style_Border::BORDER_DOUBLE: + $blockLineStyle |= 0x06 << 4; + break; + case PHPExcel_Style_Border::BORDER_HAIR: + $blockLineStyle |= 0x07 << 4; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + $blockLineStyle |= 0x08 << 4; + break; + case PHPExcel_Style_Border::BORDER_DASHDOT: + $blockLineStyle |= 0x09 << 4; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + $blockLineStyle |= 0x0A << 4; + break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + $blockLineStyle |= 0x0B << 4; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + $blockLineStyle |= 0x0C << 4; + break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + $blockLineStyle |= 0x0D << 4; + break; + } + switch ($conditional->getStyle()->getBorders()->getTop()->getBorderStyle()) { + case PHPExcel_Style_Border::BORDER_NONE: + $blockLineStyle |= 0x00 << 8; + break; + case PHPExcel_Style_Border::BORDER_THIN: + $blockLineStyle |= 0x01 << 8; + break; + case PHPExcel_Style_Border::BORDER_MEDIUM: + $blockLineStyle |= 0x02 << 8; + break; + case PHPExcel_Style_Border::BORDER_DASHED: + $blockLineStyle |= 0x03 << 8; + break; + case PHPExcel_Style_Border::BORDER_DOTTED: + $blockLineStyle |= 0x04 << 8; + break; + case PHPExcel_Style_Border::BORDER_THICK: + $blockLineStyle |= 0x05 << 8; + break; + case PHPExcel_Style_Border::BORDER_DOUBLE: + $blockLineStyle |= 0x06 << 8; + break; + case PHPExcel_Style_Border::BORDER_HAIR: + $blockLineStyle |= 0x07 << 8; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + $blockLineStyle |= 0x08 << 8; + break; + case PHPExcel_Style_Border::BORDER_DASHDOT: + $blockLineStyle |= 0x09 << 8; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + $blockLineStyle |= 0x0A << 8; + break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + $blockLineStyle |= 0x0B << 8; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + $blockLineStyle |= 0x0C << 8; + break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + $blockLineStyle |= 0x0D << 8; + break; + } + switch ($conditional->getStyle()->getBorders()->getBottom()->getBorderStyle()) { + case PHPExcel_Style_Border::BORDER_NONE: + $blockLineStyle |= 0x00 << 12; + break; + case PHPExcel_Style_Border::BORDER_THIN: + $blockLineStyle |= 0x01 << 12; + break; + case PHPExcel_Style_Border::BORDER_MEDIUM: + $blockLineStyle |= 0x02 << 12; + break; + case PHPExcel_Style_Border::BORDER_DASHED: + $blockLineStyle |= 0x03 << 12; + break; + case PHPExcel_Style_Border::BORDER_DOTTED: + $blockLineStyle |= 0x04 << 12; + break; + case PHPExcel_Style_Border::BORDER_THICK: + $blockLineStyle |= 0x05 << 12; + break; + case PHPExcel_Style_Border::BORDER_DOUBLE: + $blockLineStyle |= 0x06 << 12; + break; + case PHPExcel_Style_Border::BORDER_HAIR: + $blockLineStyle |= 0x07 << 12; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + $blockLineStyle |= 0x08 << 12; + break; + case PHPExcel_Style_Border::BORDER_DASHDOT: + $blockLineStyle |= 0x09 << 12; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + $blockLineStyle |= 0x0A << 12; + break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + $blockLineStyle |= 0x0B << 12; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + $blockLineStyle |= 0x0C << 12; + break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + $blockLineStyle |= 0x0D << 12; + break; + } + //@todo writeCFRule() => $blockLineStyle => Index Color for left line + //@todo writeCFRule() => $blockLineStyle => Index Color for right line + //@todo writeCFRule() => $blockLineStyle => Top-left to bottom-right on/off + //@todo writeCFRule() => $blockLineStyle => Bottom-left to top-right on/off + $blockColor = 0; + //@todo writeCFRule() => $blockColor => Index Color for top line + //@todo writeCFRule() => $blockColor => Index Color for bottom line + //@todo writeCFRule() => $blockColor => Index Color for diagonal line + switch ($conditional->getStyle()->getBorders()->getDiagonal()->getBorderStyle()) { + case PHPExcel_Style_Border::BORDER_NONE: + $blockColor |= 0x00 << 21; + break; + case PHPExcel_Style_Border::BORDER_THIN: + $blockColor |= 0x01 << 21; + break; + case PHPExcel_Style_Border::BORDER_MEDIUM: + $blockColor |= 0x02 << 21; + break; + case PHPExcel_Style_Border::BORDER_DASHED: + $blockColor |= 0x03 << 21; + break; + case PHPExcel_Style_Border::BORDER_DOTTED: + $blockColor |= 0x04 << 21; + break; + case PHPExcel_Style_Border::BORDER_THICK: + $blockColor |= 0x05 << 21; + break; + case PHPExcel_Style_Border::BORDER_DOUBLE: + $blockColor |= 0x06 << 21; + break; + case PHPExcel_Style_Border::BORDER_HAIR: + $blockColor |= 0x07 << 21; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + $blockColor |= 0x08 << 21; + break; + case PHPExcel_Style_Border::BORDER_DASHDOT: + $blockColor |= 0x09 << 21; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + $blockColor |= 0x0A << 21; + break; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + $blockColor |= 0x0B << 21; + break; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + $blockColor |= 0x0C << 21; + break; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + $blockColor |= 0x0D << 21; + break; + } + $dataBlockBorder = pack('vv', $blockLineStyle, $blockColor); + } + if ($bFormatFill == 1) { + // Fill Patern Style + $blockFillPatternStyle = 0; + switch ($conditional->getStyle()->getFill()->getFillType()) { + case PHPExcel_Style_Fill::FILL_NONE: + $blockFillPatternStyle = 0x00; + break; + case PHPExcel_Style_Fill::FILL_SOLID: + $blockFillPatternStyle = 0x01; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY: + $blockFillPatternStyle = 0x02; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY: + $blockFillPatternStyle = 0x03; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY: + $blockFillPatternStyle = 0x04; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL: + $blockFillPatternStyle = 0x05; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL: + $blockFillPatternStyle = 0x06; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN: + $blockFillPatternStyle = 0x07; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKUP: + $blockFillPatternStyle = 0x08; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID: + $blockFillPatternStyle = 0x09; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS: + $blockFillPatternStyle = 0x0A; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL: + $blockFillPatternStyle = 0x0B; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL: + $blockFillPatternStyle = 0x0C; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN: + $blockFillPatternStyle = 0x0D; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP: + $blockFillPatternStyle = 0x0E; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID: + $blockFillPatternStyle = 0x0F; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS: + $blockFillPatternStyle = 0x10; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_GRAY125: + $blockFillPatternStyle = 0x11; + break; + case PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625: + $blockFillPatternStyle = 0x12; + break; + case PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR: + $blockFillPatternStyle = 0x00; + break; // does not exist in BIFF8 + case PHPExcel_Style_Fill::FILL_GRADIENT_PATH: + $blockFillPatternStyle = 0x00; + break; // does not exist in BIFF8 + default: + $blockFillPatternStyle = 0x00; + break; + } + // Color + switch ($conditional->getStyle()->getFill()->getStartColor()->getRGB()) { + case '000000': + $colorIdxBg = 0x08; + break; + case 'FFFFFF': + $colorIdxBg = 0x09; + break; + case 'FF0000': + $colorIdxBg = 0x0A; + break; + case '00FF00': + $colorIdxBg = 0x0B; + break; + case '0000FF': + $colorIdxBg = 0x0C; + break; + case 'FFFF00': + $colorIdxBg = 0x0D; + break; + case 'FF00FF': + $colorIdxBg = 0x0E; + break; + case '00FFFF': + $colorIdxBg = 0x0F; + break; + case '800000': + $colorIdxBg = 0x10; + break; + case '008000': + $colorIdxBg = 0x11; + break; + case '000080': + $colorIdxBg = 0x12; + break; + case '808000': + $colorIdxBg = 0x13; + break; + case '800080': + $colorIdxBg = 0x14; + break; + case '008080': + $colorIdxBg = 0x15; + break; + case 'C0C0C0': + $colorIdxBg = 0x16; + break; + case '808080': + $colorIdxBg = 0x17; + break; + case '9999FF': + $colorIdxBg = 0x18; + break; + case '993366': + $colorIdxBg = 0x19; + break; + case 'FFFFCC': + $colorIdxBg = 0x1A; + break; + case 'CCFFFF': + $colorIdxBg = 0x1B; + break; + case '660066': + $colorIdxBg = 0x1C; + break; + case 'FF8080': + $colorIdxBg = 0x1D; + break; + case '0066CC': + $colorIdxBg = 0x1E; + break; + case 'CCCCFF': + $colorIdxBg = 0x1F; + break; + case '000080': + $colorIdxBg = 0x20; + break; + case 'FF00FF': + $colorIdxBg = 0x21; + break; + case 'FFFF00': + $colorIdxBg = 0x22; + break; + case '00FFFF': + $colorIdxBg = 0x23; + break; + case '800080': + $colorIdxBg = 0x24; + break; + case '800000': + $colorIdxBg = 0x25; + break; + case '008080': + $colorIdxBg = 0x26; + break; + case '0000FF': + $colorIdxBg = 0x27; + break; + case '00CCFF': + $colorIdxBg = 0x28; + break; + case 'CCFFFF': + $colorIdxBg = 0x29; + break; + case 'CCFFCC': + $colorIdxBg = 0x2A; + break; + case 'FFFF99': + $colorIdxBg = 0x2B; + break; + case '99CCFF': + $colorIdxBg = 0x2C; + break; + case 'FF99CC': + $colorIdxBg = 0x2D; + break; + case 'CC99FF': + $colorIdxBg = 0x2E; + break; + case 'FFCC99': + $colorIdxBg = 0x2F; + break; + case '3366FF': + $colorIdxBg = 0x30; + break; + case '33CCCC': + $colorIdxBg = 0x31; + break; + case '99CC00': + $colorIdxBg = 0x32; + break; + case 'FFCC00': + $colorIdxBg = 0x33; + break; + case 'FF9900': + $colorIdxBg = 0x34; + break; + case 'FF6600': + $colorIdxBg = 0x35; + break; + case '666699': + $colorIdxBg = 0x36; + break; + case '969696': + $colorIdxBg = 0x37; + break; + case '003366': + $colorIdxBg = 0x38; + break; + case '339966': + $colorIdxBg = 0x39; + break; + case '003300': + $colorIdxBg = 0x3A; + break; + case '333300': + $colorIdxBg = 0x3B; + break; + case '993300': + $colorIdxBg = 0x3C; + break; + case '993366': + $colorIdxBg = 0x3D; + break; + case '333399': + $colorIdxBg = 0x3E; + break; + case '333333': + $colorIdxBg = 0x3F; + break; + default: + $colorIdxBg = 0x41; + break; + } + // Fg Color + switch ($conditional->getStyle()->getFill()->getEndColor()->getRGB()) { + case '000000': + $colorIdxFg = 0x08; + break; + case 'FFFFFF': + $colorIdxFg = 0x09; + break; + case 'FF0000': + $colorIdxFg = 0x0A; + break; + case '00FF00': + $colorIdxFg = 0x0B; + break; + case '0000FF': + $colorIdxFg = 0x0C; + break; + case 'FFFF00': + $colorIdxFg = 0x0D; + break; + case 'FF00FF': + $colorIdxFg = 0x0E; + break; + case '00FFFF': + $colorIdxFg = 0x0F; + break; + case '800000': + $colorIdxFg = 0x10; + break; + case '008000': + $colorIdxFg = 0x11; + break; + case '000080': + $colorIdxFg = 0x12; + break; + case '808000': + $colorIdxFg = 0x13; + break; + case '800080': + $colorIdxFg = 0x14; + break; + case '008080': + $colorIdxFg = 0x15; + break; + case 'C0C0C0': + $colorIdxFg = 0x16; + break; + case '808080': + $colorIdxFg = 0x17; + break; + case '9999FF': + $colorIdxFg = 0x18; + break; + case '993366': + $colorIdxFg = 0x19; + break; + case 'FFFFCC': + $colorIdxFg = 0x1A; + break; + case 'CCFFFF': + $colorIdxFg = 0x1B; + break; + case '660066': + $colorIdxFg = 0x1C; + break; + case 'FF8080': + $colorIdxFg = 0x1D; + break; + case '0066CC': + $colorIdxFg = 0x1E; + break; + case 'CCCCFF': + $colorIdxFg = 0x1F; + break; + case '000080': + $colorIdxFg = 0x20; + break; + case 'FF00FF': + $colorIdxFg = 0x21; + break; + case 'FFFF00': + $colorIdxFg = 0x22; + break; + case '00FFFF': + $colorIdxFg = 0x23; + break; + case '800080': + $colorIdxFg = 0x24; + break; + case '800000': + $colorIdxFg = 0x25; + break; + case '008080': + $colorIdxFg = 0x26; + break; + case '0000FF': + $colorIdxFg = 0x27; + break; + case '00CCFF': + $colorIdxFg = 0x28; + break; + case 'CCFFFF': + $colorIdxFg = 0x29; + break; + case 'CCFFCC': + $colorIdxFg = 0x2A; + break; + case 'FFFF99': + $colorIdxFg = 0x2B; + break; + case '99CCFF': + $colorIdxFg = 0x2C; + break; + case 'FF99CC': + $colorIdxFg = 0x2D; + break; + case 'CC99FF': + $colorIdxFg = 0x2E; + break; + case 'FFCC99': + $colorIdxFg = 0x2F; + break; + case '3366FF': + $colorIdxFg = 0x30; + break; + case '33CCCC': + $colorIdxFg = 0x31; + break; + case '99CC00': + $colorIdxFg = 0x32; + break; + case 'FFCC00': + $colorIdxFg = 0x33; + break; + case 'FF9900': + $colorIdxFg = 0x34; + break; + case 'FF6600': + $colorIdxFg = 0x35; + break; + case '666699': + $colorIdxFg = 0x36; + break; + case '969696': + $colorIdxFg = 0x37; + break; + case '003366': + $colorIdxFg = 0x38; + break; + case '339966': + $colorIdxFg = 0x39; + break; + case '003300': + $colorIdxFg = 0x3A; + break; + case '333300': + $colorIdxFg = 0x3B; + break; + case '993300': + $colorIdxFg = 0x3C; + break; + case '993366': + $colorIdxFg = 0x3D; + break; + case '333399': + $colorIdxFg = 0x3E; + break; + case '333333': + $colorIdxFg = 0x3F; + break; + default: + $colorIdxFg = 0x40; + break; + } + $dataBlockFill = pack('v', $blockFillPatternStyle); + $dataBlockFill .= pack('v', $colorIdxFg | ($colorIdxBg << 7)); + } + if ($bFormatProt == 1) { + $dataBlockProtection = 0; + if ($conditional->getStyle()->getProtection()->getLocked() == PHPExcel_Style_Protection::PROTECTION_PROTECTED) { + $dataBlockProtection = 1; + } + if ($conditional->getStyle()->getProtection()->getHidden() == PHPExcel_Style_Protection::PROTECTION_PROTECTED) { + $dataBlockProtection = 1 << 1; + } + } + + $data = pack('CCvvVv', $type, $operatorType, $szValue1, $szValue2, $flags, 0x0000); + if ($bFormatFont == 1) { // Block Formatting : OK + $data .= $dataBlockFont; + } + if ($bFormatAlign == 1) { + $data .= $dataBlockAlign; + } + if ($bFormatBorder == 1) { + $data .= $dataBlockBorder; + } + if ($bFormatFill == 1) { // Block Formatting : OK + $data .= $dataBlockFill; + } + if ($bFormatProt == 1) { + $data .= $dataBlockProtection; + } + if (!is_null($operand1)) { + $data .= $operand1; + } + if (!is_null($operand2)) { + $data .= $operand2; + } + $header = pack('vv', $record, strlen($data)); + $this->append($header . $data); + } + + /** + * Write CFHeader record + */ + private function writeCFHeader() + { + $record = 0x01B0; // Record identifier + $length = 0x0016; // Bytes to follow + + $numColumnMin = null; + $numColumnMax = null; + $numRowMin = null; + $numRowMax = null; + $arrConditional = array(); + foreach ($this->phpSheet->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) { + foreach ($conditionalStyles as $conditional) { + if ($conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION + || $conditional->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS) { + if (!in_array($conditional->getHashCode(), $arrConditional)) { + $arrConditional[] = $conditional->getHashCode(); + } + // Cells + $arrCoord = PHPExcel_Cell::coordinateFromString($cellCoordinate); + if (!is_numeric($arrCoord[0])) { + $arrCoord[0] = PHPExcel_Cell::columnIndexFromString($arrCoord[0]); + } + if (is_null($numColumnMin) || ($numColumnMin > $arrCoord[0])) { + $numColumnMin = $arrCoord[0]; + } + if (is_null($numColumnMax) || ($numColumnMax < $arrCoord[0])) { + $numColumnMax = $arrCoord[0]; + } + if (is_null($numRowMin) || ($numRowMin > $arrCoord[1])) { + $numRowMin = $arrCoord[1]; + } + if (is_null($numRowMax) || ($numRowMax < $arrCoord[1])) { + $numRowMax = $arrCoord[1]; + } + } + } + } + $needRedraw = 1; + $cellRange = pack('vvvv', $numRowMin-1, $numRowMax-1, $numColumnMin-1, $numColumnMax-1); + + $header = pack('vv', $record, $length); + $data = pack('vv', count($arrConditional), $needRedraw); + $data .= $cellRange; + $data .= pack('v', 0x0001); + $data .= $cellRange; + $this->append($header . $data); + } +} diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php index 99f1b2a0c..e41589a84 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel5/Xf.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Excel5_Xf * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +21,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -59,489 +60,498 @@ // * License along with this library; if not, write to the Free Software // * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // */ - - -/** - * PHPExcel_Writer_Excel5_Xf - * - * @category PHPExcel - * @package PHPExcel_Writer_Excel5 - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_Excel5_Xf { /** - * Style XF or a cell XF ? - * - * @var boolean - */ - private $_isStyleXf; + * Style XF or a cell XF ? + * + * @var boolean + */ + private $isStyleXf; - /** - * Index to the FONT record. Index 4 does not exist - * @var integer - */ - private $_fontIndex; + /** + * Index to the FONT record. Index 4 does not exist + * @var integer + */ + private $fontIndex; - /** - * An index (2 bytes) to a FORMAT record (number format). - * @var integer - */ - public $_numberFormatIndex; + /** + * An index (2 bytes) to a FORMAT record (number format). + * @var integer + */ + private $numberFormatIndex; - /** - * 1 bit, apparently not used. - * @var integer - */ - public $_text_justlast; + /** + * 1 bit, apparently not used. + * @var integer + */ + private $textJustLast; - /** - * The cell's foreground color. - * @var integer - */ - public $_fg_color; + /** + * The cell's foreground color. + * @var integer + */ + private $foregroundColor; - /** - * The cell's background color. - * @var integer - */ - public $_bg_color; + /** + * The cell's background color. + * @var integer + */ + private $backgroundColor; - /** - * Color of the bottom border of the cell. - * @var integer - */ - public $_bottom_color; + /** + * Color of the bottom border of the cell. + * @var integer + */ + private $bottomBorderColor; - /** - * Color of the top border of the cell. - * @var integer - */ - public $_top_color; + /** + * Color of the top border of the cell. + * @var integer + */ + private $topBorderColor; - /** - * Color of the left border of the cell. - * @var integer - */ - public $_left_color; + /** + * Color of the left border of the cell. + * @var integer + */ + private $leftBorderColor; - /** - * Color of the right border of the cell. - * @var integer - */ - public $_right_color; + /** + * Color of the right border of the cell. + * @var integer + */ + private $rightBorderColor; - /** - * Constructor - * - * @access public - * @param PHPExcel_Style The XF format - */ - public function __construct(PHPExcel_Style $style = null) - { - $this->_isStyleXf = false; - $this->_fontIndex = 0; + /** + * Constructor + * + * @access public + * @param PHPExcel_Style The XF format + */ + public function __construct(PHPExcel_Style $style = null) + { + $this->isStyleXf = false; + $this->fontIndex = 0; - $this->_numberFormatIndex = 0; + $this->numberFormatIndex = 0; - $this->_text_justlast = 0; + $this->textJustLast = 0; - $this->_fg_color = 0x40; - $this->_bg_color = 0x41; + $this->foregroundColor = 0x40; + $this->backgroundColor = 0x41; - $this->_diag = 0; + $this->_diag = 0; - $this->_bottom_color = 0x40; - $this->_top_color = 0x40; - $this->_left_color = 0x40; - $this->_right_color = 0x40; - $this->_diag_color = 0x40; - $this->_style = $style; + $this->bottomBorderColor = 0x40; + $this->topBorderColor = 0x40; + $this->leftBorderColor = 0x40; + $this->rightBorderColor = 0x40; + $this->_diag_color = 0x40; + $this->_style = $style; - } + } - /** - * Generate an Excel BIFF XF record (style or cell). - * - * @return string The XF record - */ - function writeXf() - { - // Set the type of the XF record and some of the attributes. - if ($this->_isStyleXf) { - $style = 0xFFF5; - } else { - $style = self::_mapLocked($this->_style->getProtection()->getLocked()); - $style |= self::_mapHidden($this->_style->getProtection()->getHidden()) << 1; - } + /** + * Generate an Excel BIFF XF record (style or cell). + * + * @return string The XF record + */ + public function writeXf() + { + // Set the type of the XF record and some of the attributes. + if ($this->isStyleXf) { + $style = 0xFFF5; + } else { + $style = self::mapLocked($this->_style->getProtection()->getLocked()); + $style |= self::mapHidden($this->_style->getProtection()->getHidden()) << 1; + } - // Flags to indicate if attributes have been set. - $atr_num = ($this->_numberFormatIndex != 0)?1:0; - $atr_fnt = ($this->_fontIndex != 0)?1:0; - $atr_alc = ((int) $this->_style->getAlignment()->getWrapText()) ? 1 : 0; - $atr_bdr = (self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) || - self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) || - self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) || - self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()))?1:0; - $atr_pat = (($this->_fg_color != 0x40) || - ($this->_bg_color != 0x41) || - self::_mapFillType($this->_style->getFill()->getFillType()))?1:0; - $atr_prot = self::_mapLocked($this->_style->getProtection()->getLocked()) - | self::_mapHidden($this->_style->getProtection()->getHidden()); + // Flags to indicate if attributes have been set. + $atr_num = ($this->numberFormatIndex != 0)?1:0; + $atr_fnt = ($this->fontIndex != 0)?1:0; + $atr_alc = ((int) $this->_style->getAlignment()->getWrapText()) ? 1 : 0; + $atr_bdr = (self::mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) || + self::mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) || + self::mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) || + self::mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()))?1:0; + $atr_pat = (($this->foregroundColor != 0x40) || + ($this->backgroundColor != 0x41) || + self::mapFillType($this->_style->getFill()->getFillType()))?1:0; + $atr_prot = self::mapLocked($this->_style->getProtection()->getLocked()) + | self::mapHidden($this->_style->getProtection()->getHidden()); - // Zero the default border colour if the border has not been set. - if (self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) == 0) { - $this->_bottom_color = 0; - } - if (self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) == 0) { - $this->_top_color = 0; - } - if (self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) == 0) { - $this->_right_color = 0; - } - if (self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) == 0) { - $this->_left_color = 0; - } - if (self::_mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) == 0) { - $this->_diag_color = 0; - } + // Zero the default border colour if the border has not been set. + if (self::mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) == 0) { + $this->bottomBorderColor = 0; + } + if (self::mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) == 0) { + $this->topBorderColor = 0; + } + if (self::mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) == 0) { + $this->rightBorderColor = 0; + } + if (self::mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()) == 0) { + $this->leftBorderColor = 0; + } + if (self::mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) == 0) { + $this->_diag_color = 0; + } - $record = 0x00E0; // Record identifier - $length = 0x0014; // Number of bytes to follow + $record = 0x00E0; // Record identifier + $length = 0x0014; // Number of bytes to follow - $ifnt = $this->_fontIndex; // Index to FONT record - $ifmt = $this->_numberFormatIndex; // Index to FORMAT record + $ifnt = $this->fontIndex; // Index to FONT record + $ifmt = $this->numberFormatIndex; // Index to FORMAT record - $align = $this->_mapHAlign($this->_style->getAlignment()->getHorizontal()); // Alignment - $align |= (int) $this->_style->getAlignment()->getWrapText() << 3; - $align |= self::_mapVAlign($this->_style->getAlignment()->getVertical()) << 4; - $align |= $this->_text_justlast << 7; + $align = $this->mapHAlign($this->_style->getAlignment()->getHorizontal()); // Alignment + $align |= (int) $this->_style->getAlignment()->getWrapText() << 3; + $align |= self::mapVAlign($this->_style->getAlignment()->getVertical()) << 4; + $align |= $this->textJustLast << 7; - $used_attrib = $atr_num << 2; - $used_attrib |= $atr_fnt << 3; - $used_attrib |= $atr_alc << 4; - $used_attrib |= $atr_bdr << 5; - $used_attrib |= $atr_pat << 6; - $used_attrib |= $atr_prot << 7; + $used_attrib = $atr_num << 2; + $used_attrib |= $atr_fnt << 3; + $used_attrib |= $atr_alc << 4; + $used_attrib |= $atr_bdr << 5; + $used_attrib |= $atr_pat << 6; + $used_attrib |= $atr_prot << 7; - $icv = $this->_fg_color; // fg and bg pattern colors - $icv |= $this->_bg_color << 7; + $icv = $this->foregroundColor; // fg and bg pattern colors + $icv |= $this->backgroundColor << 7; - $border1 = self::_mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()); // Border line style and color - $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) << 4; - $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) << 8; - $border1 |= self::_mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) << 12; - $border1 |= $this->_left_color << 16; - $border1 |= $this->_right_color << 23; + $border1 = self::mapBorderStyle($this->_style->getBorders()->getLeft()->getBorderStyle()); // Border line style and color + $border1 |= self::mapBorderStyle($this->_style->getBorders()->getRight()->getBorderStyle()) << 4; + $border1 |= self::mapBorderStyle($this->_style->getBorders()->getTop()->getBorderStyle()) << 8; + $border1 |= self::mapBorderStyle($this->_style->getBorders()->getBottom()->getBorderStyle()) << 12; + $border1 |= $this->leftBorderColor << 16; + $border1 |= $this->rightBorderColor << 23; - $diagonalDirection = $this->_style->getBorders()->getDiagonalDirection(); - $diag_tl_to_rb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH - || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_DOWN; - $diag_tr_to_lb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH - || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_UP; - $border1 |= $diag_tl_to_rb << 30; - $border1 |= $diag_tr_to_lb << 31; + $diagonalDirection = $this->_style->getBorders()->getDiagonalDirection(); + $diag_tl_to_rb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH + || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_DOWN; + $diag_tr_to_lb = $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_BOTH + || $diagonalDirection == PHPExcel_Style_Borders::DIAGONAL_UP; + $border1 |= $diag_tl_to_rb << 30; + $border1 |= $diag_tr_to_lb << 31; - $border2 = $this->_top_color; // Border color - $border2 |= $this->_bottom_color << 7; - $border2 |= $this->_diag_color << 14; - $border2 |= self::_mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) << 21; - $border2 |= self::_mapFillType($this->_style->getFill()->getFillType()) << 26; + $border2 = $this->topBorderColor; // Border color + $border2 |= $this->bottomBorderColor << 7; + $border2 |= $this->_diag_color << 14; + $border2 |= self::mapBorderStyle($this->_style->getBorders()->getDiagonal()->getBorderStyle()) << 21; + $border2 |= self::mapFillType($this->_style->getFill()->getFillType()) << 26; - $header = pack("vv", $record, $length); + $header = pack("vv", $record, $length); - //BIFF8 options: identation, shrinkToFit and text direction - $biff8_options = $this->_style->getAlignment()->getIndent(); - $biff8_options |= (int) $this->_style->getAlignment()->getShrinkToFit() << 4; + //BIFF8 options: identation, shrinkToFit and text direction + $biff8_options = $this->_style->getAlignment()->getIndent(); + $biff8_options |= (int) $this->_style->getAlignment()->getShrinkToFit() << 4; - $data = pack("vvvC", $ifnt, $ifmt, $style, $align); - $data .= pack("CCC" - , self::_mapTextRotation($this->_style->getAlignment()->getTextRotation()) - , $biff8_options - , $used_attrib - ); - $data .= pack("VVv", $border1, $border2, $icv); + $data = pack("vvvC", $ifnt, $ifmt, $style, $align); + $data .= pack("CCC", self::mapTextRotation($this->_style->getAlignment()->getTextRotation()), $biff8_options, $used_attrib); + $data .= pack("VVv", $border1, $border2, $icv); - return($header . $data); - } + return($header . $data); + } - /** - * Is this a style XF ? - * - * @param boolean $value - */ - public function setIsStyleXf($value) - { - $this->_isStyleXf = $value; - } + /** + * Is this a style XF ? + * + * @param boolean $value + */ + public function setIsStyleXf($value) + { + $this->isStyleXf = $value; + } - /** - * Sets the cell's bottom border color - * - * @access public - * @param int $colorIndex Color index - */ - function setBottomColor($colorIndex) - { - $this->_bottom_color = $colorIndex; - } + /** + * Sets the cell's bottom border color + * + * @access public + * @param int $colorIndex Color index + */ + public function setBottomColor($colorIndex) + { + $this->bottomBorderColor = $colorIndex; + } - /** - * Sets the cell's top border color - * - * @access public - * @param int $colorIndex Color index - */ - function setTopColor($colorIndex) - { - $this->_top_color = $colorIndex; - } + /** + * Sets the cell's top border color + * + * @access public + * @param int $colorIndex Color index + */ + public function setTopColor($colorIndex) + { + $this->topBorderColor = $colorIndex; + } - /** - * Sets the cell's left border color - * - * @access public - * @param int $colorIndex Color index - */ - function setLeftColor($colorIndex) - { - $this->_left_color = $colorIndex; - } + /** + * Sets the cell's left border color + * + * @access public + * @param int $colorIndex Color index + */ + public function setLeftColor($colorIndex) + { + $this->leftBorderColor = $colorIndex; + } - /** - * Sets the cell's right border color - * - * @access public - * @param int $colorIndex Color index - */ - function setRightColor($colorIndex) - { - $this->_right_color = $colorIndex; - } + /** + * Sets the cell's right border color + * + * @access public + * @param int $colorIndex Color index + */ + public function setRightColor($colorIndex) + { + $this->rightBorderColor = $colorIndex; + } - /** - * Sets the cell's diagonal border color - * - * @access public - * @param int $colorIndex Color index - */ - function setDiagColor($colorIndex) - { - $this->_diag_color = $colorIndex; - } + /** + * Sets the cell's diagonal border color + * + * @access public + * @param int $colorIndex Color index + */ + public function setDiagColor($colorIndex) + { + $this->_diag_color = $colorIndex; + } - /** - * Sets the cell's foreground color - * - * @access public - * @param int $colorIndex Color index - */ - function setFgColor($colorIndex) - { - $this->_fg_color = $colorIndex; - } + /** + * Sets the cell's foreground color + * + * @access public + * @param int $colorIndex Color index + */ + public function setFgColor($colorIndex) + { + $this->foregroundColor = $colorIndex; + } - /** - * Sets the cell's background color - * - * @access public - * @param int $colorIndex Color index - */ - function setBgColor($colorIndex) - { - $this->_bg_color = $colorIndex; - } + /** + * Sets the cell's background color + * + * @access public + * @param int $colorIndex Color index + */ + public function setBgColor($colorIndex) + { + $this->backgroundColor = $colorIndex; + } - /** - * Sets the index to the number format record - * It can be date, time, currency, etc... - * - * @access public - * @param integer $numberFormatIndex Index to format record - */ - function setNumberFormatIndex($numberFormatIndex) - { - $this->_numberFormatIndex = $numberFormatIndex; - } + /** + * Sets the index to the number format record + * It can be date, time, currency, etc... + * + * @access public + * @param integer $numberFormatIndex Index to format record + */ + public function setNumberFormatIndex($numberFormatIndex) + { + $this->numberFormatIndex = $numberFormatIndex; + } - /** - * Set the font index. - * - * @param int $value Font index, note that value 4 does not exist - */ - public function setFontIndex($value) - { - $this->_fontIndex = $value; - } + /** + * Set the font index. + * + * @param int $value Font index, note that value 4 does not exist + */ + public function setFontIndex($value) + { + $this->fontIndex = $value; + } - /** - * Map of BIFF2-BIFF8 codes for border styles - * @static array of int - * - */ - private static $_mapBorderStyle = array ( PHPExcel_Style_Border::BORDER_NONE => 0x00, - PHPExcel_Style_Border::BORDER_THIN => 0x01, - PHPExcel_Style_Border::BORDER_MEDIUM => 0x02, - PHPExcel_Style_Border::BORDER_DASHED => 0x03, - PHPExcel_Style_Border::BORDER_DOTTED => 0x04, - PHPExcel_Style_Border::BORDER_THICK => 0x05, - PHPExcel_Style_Border::BORDER_DOUBLE => 0x06, - PHPExcel_Style_Border::BORDER_HAIR => 0x07, - PHPExcel_Style_Border::BORDER_MEDIUMDASHED => 0x08, - PHPExcel_Style_Border::BORDER_DASHDOT => 0x09, - PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT => 0x0A, - PHPExcel_Style_Border::BORDER_DASHDOTDOT => 0x0B, - PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT => 0x0C, - PHPExcel_Style_Border::BORDER_SLANTDASHDOT => 0x0D, - ); + /** + * Map of BIFF2-BIFF8 codes for border styles + * @static array of int + * + */ + private static $mapBorderStyles = array( + PHPExcel_Style_Border::BORDER_NONE => 0x00, + PHPExcel_Style_Border::BORDER_THIN => 0x01, + PHPExcel_Style_Border::BORDER_MEDIUM => 0x02, + PHPExcel_Style_Border::BORDER_DASHED => 0x03, + PHPExcel_Style_Border::BORDER_DOTTED => 0x04, + PHPExcel_Style_Border::BORDER_THICK => 0x05, + PHPExcel_Style_Border::BORDER_DOUBLE => 0x06, + PHPExcel_Style_Border::BORDER_HAIR => 0x07, + PHPExcel_Style_Border::BORDER_MEDIUMDASHED => 0x08, + PHPExcel_Style_Border::BORDER_DASHDOT => 0x09, + PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT => 0x0A, + PHPExcel_Style_Border::BORDER_DASHDOTDOT => 0x0B, + PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT => 0x0C, + PHPExcel_Style_Border::BORDER_SLANTDASHDOT => 0x0D, + ); - /** - * Map border style - * - * @param string $borderStyle - * @return int - */ - private static function _mapBorderStyle($borderStyle) { - if (isset(self::$_mapBorderStyle[$borderStyle])) - return self::$_mapBorderStyle[$borderStyle]; - return 0x00; - } + /** + * Map border style + * + * @param string $borderStyle + * @return int + */ + private static function mapBorderStyle($borderStyle) + { + if (isset(self::$mapBorderStyles[$borderStyle])) { + return self::$mapBorderStyles[$borderStyle]; + } + return 0x00; + } - /** - * Map of BIFF2-BIFF8 codes for fill types - * @static array of int - * - */ - private static $_mapFillType = array( PHPExcel_Style_Fill::FILL_NONE => 0x00, - PHPExcel_Style_Fill::FILL_SOLID => 0x01, - PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY => 0x02, - PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY => 0x03, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY => 0x04, - PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL => 0x05, - PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL => 0x06, - PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN => 0x07, - PHPExcel_Style_Fill::FILL_PATTERN_DARKUP => 0x08, - PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID => 0x09, - PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS => 0x0A, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL => 0x0B, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL => 0x0C, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN => 0x0D, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP => 0x0E, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID => 0x0F, - PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS => 0x10, - PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 => 0x11, - PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 => 0x12, - PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR => 0x00, // does not exist in BIFF8 - PHPExcel_Style_Fill::FILL_GRADIENT_PATH => 0x00, // does not exist in BIFF8 - ); - /** - * Map fill type - * - * @param string $fillType - * @return int - */ - private static function _mapFillType($fillType) { - if (isset(self::$_mapFillType[$fillType])) - return self::$_mapFillType[$fillType]; - return 0x00; - } + /** + * Map of BIFF2-BIFF8 codes for fill types + * @static array of int + * + */ + private static $mapFillTypes = array( + PHPExcel_Style_Fill::FILL_NONE => 0x00, + PHPExcel_Style_Fill::FILL_SOLID => 0x01, + PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY => 0x02, + PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY => 0x03, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY => 0x04, + PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL => 0x05, + PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL => 0x06, + PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN => 0x07, + PHPExcel_Style_Fill::FILL_PATTERN_DARKUP => 0x08, + PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID => 0x09, + PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS => 0x0A, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL => 0x0B, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL => 0x0C, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN => 0x0D, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP => 0x0E, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID => 0x0F, + PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS => 0x10, + PHPExcel_Style_Fill::FILL_PATTERN_GRAY125 => 0x11, + PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625 => 0x12, + PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR => 0x00, // does not exist in BIFF8 + PHPExcel_Style_Fill::FILL_GRADIENT_PATH => 0x00, // does not exist in BIFF8 + ); - /** - * Map of BIFF2-BIFF8 codes for horizontal alignment - * @static array of int - * - */ - private static $_mapHAlign = array( PHPExcel_Style_Alignment::HORIZONTAL_GENERAL => 0, - PHPExcel_Style_Alignment::HORIZONTAL_LEFT => 1, - PHPExcel_Style_Alignment::HORIZONTAL_CENTER => 2, - PHPExcel_Style_Alignment::HORIZONTAL_RIGHT => 3, - PHPExcel_Style_Alignment::HORIZONTAL_FILL => 4, - PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY => 5, - PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS => 6, - ); - /** - * Map to BIFF2-BIFF8 codes for horizontal alignment - * - * @param string $hAlign - * @return int - */ - private function _mapHAlign($hAlign) - { - if (isset(self::$_mapHAlign[$hAlign])) - return self::$_mapHAlign[$hAlign]; - return 0; - } + /** + * Map fill type + * + * @param string $fillType + * @return int + */ + private static function mapFillType($fillType) + { + if (isset(self::$mapFillTypes[$fillType])) { + return self::$mapFillTypes[$fillType]; + } + return 0x00; + } - /** - * Map of BIFF2-BIFF8 codes for vertical alignment - * @static array of int - * - */ - private static $_mapVAlign = array( PHPExcel_Style_Alignment::VERTICAL_TOP => 0, - PHPExcel_Style_Alignment::VERTICAL_CENTER => 1, - PHPExcel_Style_Alignment::VERTICAL_BOTTOM => 2, - PHPExcel_Style_Alignment::VERTICAL_JUSTIFY => 3, - ); - /** - * Map to BIFF2-BIFF8 codes for vertical alignment - * - * @param string $vAlign - * @return int - */ - private static function _mapVAlign($vAlign) { - if (isset(self::$_mapVAlign[$vAlign])) - return self::$_mapVAlign[$vAlign]; - return 2; - } + /** + * Map of BIFF2-BIFF8 codes for horizontal alignment + * @static array of int + * + */ + private static $mapHAlignments = array( + PHPExcel_Style_Alignment::HORIZONTAL_GENERAL => 0, + PHPExcel_Style_Alignment::HORIZONTAL_LEFT => 1, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER => 2, + PHPExcel_Style_Alignment::HORIZONTAL_RIGHT => 3, + PHPExcel_Style_Alignment::HORIZONTAL_FILL => 4, + PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY => 5, + PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS => 6, + ); - /** - * Map to BIFF8 codes for text rotation angle - * - * @param int $textRotation - * @return int - */ - private static function _mapTextRotation($textRotation) { - if ($textRotation >= 0) { - return $textRotation; - } - if ($textRotation == -165) { - return 255; - } - if ($textRotation < 0) { - return 90 - $textRotation; - } - } + /** + * Map to BIFF2-BIFF8 codes for horizontal alignment + * + * @param string $hAlign + * @return int + */ + private function mapHAlign($hAlign) + { + if (isset(self::$mapHAlignments[$hAlign])) { + return self::$mapHAlignments[$hAlign]; + } + return 0; + } - /** - * Map locked - * - * @param string - * @return int - */ - private static function _mapLocked($locked) { - switch ($locked) { - case PHPExcel_Style_Protection::PROTECTION_INHERIT: return 1; - case PHPExcel_Style_Protection::PROTECTION_PROTECTED: return 1; - case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: return 0; - default: return 1; - } - } + /** + * Map of BIFF2-BIFF8 codes for vertical alignment + * @static array of int + * + */ + private static $mapVAlignments = array( + PHPExcel_Style_Alignment::VERTICAL_TOP => 0, + PHPExcel_Style_Alignment::VERTICAL_CENTER => 1, + PHPExcel_Style_Alignment::VERTICAL_BOTTOM => 2, + PHPExcel_Style_Alignment::VERTICAL_JUSTIFY => 3, + ); - /** - * Map hidden - * - * @param string - * @return int - */ - private static function _mapHidden($hidden) { - switch ($hidden) { - case PHPExcel_Style_Protection::PROTECTION_INHERIT: return 0; - case PHPExcel_Style_Protection::PROTECTION_PROTECTED: return 1; - case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: return 0; - default: return 0; - } - } + /** + * Map to BIFF2-BIFF8 codes for vertical alignment + * + * @param string $vAlign + * @return int + */ + private static function mapVAlign($vAlign) + { + if (isset(self::$mapVAlignments[$vAlign])) { + return self::$mapVAlignments[$vAlign]; + } + return 2; + } + /** + * Map to BIFF8 codes for text rotation angle + * + * @param int $textRotation + * @return int + */ + private static function mapTextRotation($textRotation) + { + if ($textRotation >= 0) { + return $textRotation; + } elseif ($textRotation == -165) { + return 255; + } elseif ($textRotation < 0) { + return 90 - $textRotation; + } + } + + /** + * Map locked + * + * @param string + * @return int + */ + private static function mapLocked($locked) + { + switch ($locked) { + case PHPExcel_Style_Protection::PROTECTION_INHERIT: + return 1; + case PHPExcel_Style_Protection::PROTECTION_PROTECTED: + return 1; + case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: + return 0; + default: + return 1; + } + } + + /** + * Map hidden + * + * @param string + * @return int + */ + private static function mapHidden($hidden) + { + switch ($hidden) { + case PHPExcel_Style_Protection::PROTECTION_INHERIT: + return 0; + case PHPExcel_Style_Protection::PROTECTION_PROTECTED: + return 1; + case PHPExcel_Style_Protection::PROTECTION_UNPROTECTED: + return 0; + default: + return 0; + } + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php index 1715587a2..bfa005681 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Exception.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_Exception * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,33 +21,26 @@ * * @category PHPExcel * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_Exception - * - * @category PHPExcel - * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Writer_Exception extends PHPExcel_Exception { - /** - * Error handler callback - * - * @param mixed $code - * @param mixed $string - * @param mixed $file - * @param mixed $line - * @param mixed $context - */ - public static function errorHandlerCallback($code, $string, $file, $line, $context) { - $e = new self($string, $code); - $e->line = $line; - $e->file = $file; - throw $e; - } +class PHPExcel_Writer_Exception extends PHPExcel_Exception +{ + /** + * Error handler callback + * + * @param mixed $code + * @param mixed $string + * @param mixed $file + * @param mixed $line + * @param mixed $context + */ + public static function errorHandlerCallback($code, $string, $file, $line, $context) + { + $e = new self($string, $code); + $e->line = $line; + $e->file = $file; + throw $e; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php index 63c5d4787..31d7c63ac 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/HTML.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_HTML * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,1530 +20,1593 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * @category PHPExcel - * @package PHPExcel_Writer_HTML - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL - * @version ##VERSION##, ##DATE## + * @package PHPExcel_Writer_HTML + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## */ +class PHPExcel_Writer_HTML extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter +{ + /** + * PHPExcel object + * + * @var PHPExcel + */ + protected $phpExcel; + /** + * Sheet index to write + * + * @var int + */ + private $sheetIndex = 0; -/** - * PHPExcel_Writer_HTML - * - * @category PHPExcel - * @package PHPExcel_Writer_HTML - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ -class PHPExcel_Writer_HTML extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { - /** - * PHPExcel object - * - * @var PHPExcel - */ - protected $_phpExcel; + /** + * Images root + * + * @var string + */ + private $imagesRoot = '.'; - /** - * Sheet index to write - * - * @var int - */ - private $_sheetIndex = 0; + /** + * embed images, or link to images + * + * @var boolean + */ + private $embedImages = false; - /** - * Images root - * - * @var string - */ - private $_imagesRoot = '.'; + /** + * Use inline CSS? + * + * @var boolean + */ + private $useInlineCss = false; - /** - * embed images, or link to images - * - * @var boolean - */ - private $_embedImages = FALSE; + /** + * Array of CSS styles + * + * @var array + */ + private $cssStyles; - /** - * Use inline CSS? - * - * @var boolean - */ - private $_useInlineCss = false; + /** + * Array of column widths in points + * + * @var array + */ + private $columnWidths; - /** - * Array of CSS styles - * - * @var array - */ - private $_cssStyles = null; + /** + * Default font + * + * @var PHPExcel_Style_Font + */ + private $defaultFont; - /** - * Array of column widths in points - * - * @var array - */ - private $_columnWidths = null; + /** + * Flag whether spans have been calculated + * + * @var boolean + */ + private $spansAreCalculated = false; - /** - * Default font - * - * @var PHPExcel_Style_Font - */ - private $_defaultFont; + /** + * Excel cells that should not be written as HTML cells + * + * @var array + */ + private $isSpannedCell = array(); - /** - * Flag whether spans have been calculated - * - * @var boolean - */ - private $_spansAreCalculated = false; + /** + * Excel cells that are upper-left corner in a cell merge + * + * @var array + */ + private $isBaseCell = array(); - /** - * Excel cells that should not be written as HTML cells - * - * @var array - */ - private $_isSpannedCell = array(); + /** + * Excel rows that should not be written as HTML rows + * + * @var array + */ + private $isSpannedRow = array(); - /** - * Excel cells that are upper-left corner in a cell merge - * - * @var array - */ - private $_isBaseCell = array(); + /** + * Is the current writer creating PDF? + * + * @var boolean + */ + protected $isPdf = false; - /** - * Excel rows that should not be written as HTML rows - * - * @var array - */ - private $_isSpannedRow = array(); + /** + * Generate the Navigation block + * + * @var boolean + */ + private $generateSheetNavigationBlock = true; - /** - * Is the current writer creating PDF? - * - * @var boolean - */ - protected $_isPdf = false; + /** + * Create a new PHPExcel_Writer_HTML + * + * @param PHPExcel $phpExcel PHPExcel object + */ + public function __construct(PHPExcel $phpExcel) + { + $this->phpExcel = $phpExcel; + $this->defaultFont = $this->phpExcel->getDefaultStyle()->getFont(); + } - /** - * Generate the Navigation block - * - * @var boolean - */ - private $_generateSheetNavigationBlock = true; + /** + * Save PHPExcel to file + * + * @param string $pFilename + * @throws PHPExcel_Writer_Exception + */ + public function save($pFilename = null) + { + // garbage collect + $this->phpExcel->garbageCollect(); - /** - * Create a new PHPExcel_Writer_HTML - * - * @param PHPExcel $phpExcel PHPExcel object - */ - public function __construct(PHPExcel $phpExcel) { - $this->_phpExcel = $phpExcel; - $this->_defaultFont = $this->_phpExcel->getDefaultStyle()->getFont(); - } + $saveDebugLog = PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->getWriteDebugLog(); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog(false); + $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); - /** - * Save PHPExcel to file - * - * @param string $pFilename - * @throws PHPExcel_Writer_Exception - */ - public function save($pFilename = null) { - // garbage collect - $this->_phpExcel->garbageCollect(); + // Build CSS + $this->buildCSS(!$this->useInlineCss); - $saveDebugLog = PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->getWriteDebugLog(); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog(FALSE); - $saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); - PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); + // Open file + $fileHandle = fopen($pFilename, 'wb+'); + if ($fileHandle === false) { + throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); + } - // Build CSS - $this->buildCSS(!$this->_useInlineCss); + // Write headers + fwrite($fileHandle, $this->generateHTMLHeader(!$this->useInlineCss)); - // Open file - $fileHandle = fopen($pFilename, 'wb+'); - if ($fileHandle === false) { - throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); - } + // Write navigation (tabs) + if ((!$this->isPdf) && ($this->generateSheetNavigationBlock)) { + fwrite($fileHandle, $this->generateNavigation()); + } - // Write headers - fwrite($fileHandle, $this->generateHTMLHeader(!$this->_useInlineCss)); + // Write data + fwrite($fileHandle, $this->generateSheetData()); - // Write navigation (tabs) - if ((!$this->_isPdf) && ($this->_generateSheetNavigationBlock)) { - fwrite($fileHandle, $this->generateNavigation()); - } + // Write footer + fwrite($fileHandle, $this->generateHTMLFooter()); - // Write data - fwrite($fileHandle, $this->generateSheetData()); + // Close file + fclose($fileHandle); - // Write footer - fwrite($fileHandle, $this->generateHTMLFooter()); + PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); + PHPExcel_Calculation::getInstance($this->phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); + } - // Close file - fclose($fileHandle); + /** + * Map VAlign + * + * @param string $vAlign Vertical alignment + * @return string + */ + private function mapVAlign($vAlign) + { + switch ($vAlign) { + case PHPExcel_Style_Alignment::VERTICAL_BOTTOM: + return 'bottom'; + case PHPExcel_Style_Alignment::VERTICAL_TOP: + return 'top'; + case PHPExcel_Style_Alignment::VERTICAL_CENTER: + case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY: + return 'middle'; + default: + return 'baseline'; + } + } - PHPExcel_Calculation::setArrayReturnType($saveArrayReturnType); - PHPExcel_Calculation::getInstance($this->_phpExcel)->getDebugLog()->setWriteDebugLog($saveDebugLog); - } + /** + * Map HAlign + * + * @param string $hAlign Horizontal alignment + * @return string|false + */ + private function mapHAlign($hAlign) + { + switch ($hAlign) { + case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL: + return false; + case PHPExcel_Style_Alignment::HORIZONTAL_LEFT: + return 'left'; + case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT: + return 'right'; + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER: + case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS: + return 'center'; + case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY: + return 'justify'; + default: + return false; + } + } - /** - * Map VAlign - * - * @param string $vAlign Vertical alignment - * @return string - */ - private function _mapVAlign($vAlign) { - switch ($vAlign) { - case PHPExcel_Style_Alignment::VERTICAL_BOTTOM: return 'bottom'; - case PHPExcel_Style_Alignment::VERTICAL_TOP: return 'top'; - case PHPExcel_Style_Alignment::VERTICAL_CENTER: - case PHPExcel_Style_Alignment::VERTICAL_JUSTIFY: return 'middle'; - default: return 'baseline'; - } - } + /** + * Map border style + * + * @param int $borderStyle Sheet index + * @return string + */ + private function mapBorderStyle($borderStyle) + { + switch ($borderStyle) { + case PHPExcel_Style_Border::BORDER_NONE: + return 'none'; + case PHPExcel_Style_Border::BORDER_DASHDOT: + return '1px dashed'; + case PHPExcel_Style_Border::BORDER_DASHDOTDOT: + return '1px dotted'; + case PHPExcel_Style_Border::BORDER_DASHED: + return '1px dashed'; + case PHPExcel_Style_Border::BORDER_DOTTED: + return '1px dotted'; + case PHPExcel_Style_Border::BORDER_DOUBLE: + return '3px double'; + case PHPExcel_Style_Border::BORDER_HAIR: + return '1px solid'; + case PHPExcel_Style_Border::BORDER_MEDIUM: + return '2px solid'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: + return '2px dashed'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: + return '2px dotted'; + case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: + return '2px dashed'; + case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: + return '2px dashed'; + case PHPExcel_Style_Border::BORDER_THICK: + return '3px solid'; + case PHPExcel_Style_Border::BORDER_THIN: + return '1px solid'; + default: + // map others to thin + return '1px solid'; + } + } - /** - * Map HAlign - * - * @param string $hAlign Horizontal alignment - * @return string|false - */ - private function _mapHAlign($hAlign) { - switch ($hAlign) { - case PHPExcel_Style_Alignment::HORIZONTAL_GENERAL: return false; - case PHPExcel_Style_Alignment::HORIZONTAL_LEFT: return 'left'; - case PHPExcel_Style_Alignment::HORIZONTAL_RIGHT: return 'right'; - case PHPExcel_Style_Alignment::HORIZONTAL_CENTER: - case PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS: return 'center'; - case PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY: return 'justify'; - default: return false; - } - } + /** + * Get sheet index + * + * @return int + */ + public function getSheetIndex() + { + return $this->sheetIndex; + } - /** - * Map border style - * - * @param int $borderStyle Sheet index - * @return string - */ - private function _mapBorderStyle($borderStyle) { - switch ($borderStyle) { - case PHPExcel_Style_Border::BORDER_NONE: return 'none'; - case PHPExcel_Style_Border::BORDER_DASHDOT: return '1px dashed'; - case PHPExcel_Style_Border::BORDER_DASHDOTDOT: return '1px dotted'; - case PHPExcel_Style_Border::BORDER_DASHED: return '1px dashed'; - case PHPExcel_Style_Border::BORDER_DOTTED: return '1px dotted'; - case PHPExcel_Style_Border::BORDER_DOUBLE: return '3px double'; - case PHPExcel_Style_Border::BORDER_HAIR: return '1px solid'; - case PHPExcel_Style_Border::BORDER_MEDIUM: return '2px solid'; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT: return '2px dashed'; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT: return '2px dotted'; - case PHPExcel_Style_Border::BORDER_MEDIUMDASHED: return '2px dashed'; - case PHPExcel_Style_Border::BORDER_SLANTDASHDOT: return '2px dashed'; - case PHPExcel_Style_Border::BORDER_THICK: return '3px solid'; - case PHPExcel_Style_Border::BORDER_THIN: return '1px solid'; - default: return '1px solid'; // map others to thin - } - } + /** + * Set sheet index + * + * @param int $pValue Sheet index + * @return PHPExcel_Writer_HTML + */ + public function setSheetIndex($pValue = 0) + { + $this->sheetIndex = $pValue; + return $this; + } - /** - * Get sheet index - * - * @return int - */ - public function getSheetIndex() { - return $this->_sheetIndex; - } + /** + * Get sheet index + * + * @return boolean + */ + public function getGenerateSheetNavigationBlock() + { + return $this->generateSheetNavigationBlock; + } - /** - * Set sheet index - * - * @param int $pValue Sheet index - * @return PHPExcel_Writer_HTML - */ - public function setSheetIndex($pValue = 0) { - $this->_sheetIndex = $pValue; - return $this; - } + /** + * Set sheet index + * + * @param boolean $pValue Flag indicating whether the sheet navigation block should be generated or not + * @return PHPExcel_Writer_HTML + */ + public function setGenerateSheetNavigationBlock($pValue = true) + { + $this->generateSheetNavigationBlock = (bool) $pValue; + return $this; + } - /** - * Get sheet index - * - * @return boolean - */ - public function getGenerateSheetNavigationBlock() { - return $this->_generateSheetNavigationBlock; - } + /** + * Write all sheets (resets sheetIndex to NULL) + */ + public function writeAllSheets() + { + $this->sheetIndex = null; + return $this; + } - /** - * Set sheet index - * - * @param boolean $pValue Flag indicating whether the sheet navigation block should be generated or not - * @return PHPExcel_Writer_HTML - */ - public function setGenerateSheetNavigationBlock($pValue = true) { - $this->_generateSheetNavigationBlock = (bool) $pValue; - return $this; - } + /** + * Generate HTML header + * + * @param boolean $pIncludeStyles Include styles? + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateHTMLHeader($pIncludeStyles = false) + { + // PHPExcel object known? + if (is_null($this->phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } - /** - * Write all sheets (resets sheetIndex to NULL) - */ - public function writeAllSheets() { - $this->_sheetIndex = null; - return $this; - } + // Construct HTML + $properties = $this->phpExcel->getProperties(); + $html = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' . PHP_EOL; + $html .= '<!-- Generated by PHPExcel - http://www.phpexcel.net -->' . PHP_EOL; + $html .= '<html>' . PHP_EOL; + $html .= ' <head>' . PHP_EOL; + $html .= ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">' . PHP_EOL; + if ($properties->getTitle() > '') { + $html .= ' <title>' . htmlspecialchars($properties->getTitle()) . '</title>' . PHP_EOL; + } + if ($properties->getCreator() > '') { + $html .= ' <meta name="author" content="' . htmlspecialchars($properties->getCreator()) . '" />' . PHP_EOL; + } + if ($properties->getTitle() > '') { + $html .= ' <meta name="title" content="' . htmlspecialchars($properties->getTitle()) . '" />' . PHP_EOL; + } + if ($properties->getDescription() > '') { + $html .= ' <meta name="description" content="' . htmlspecialchars($properties->getDescription()) . '" />' . PHP_EOL; + } + if ($properties->getSubject() > '') { + $html .= ' <meta name="subject" content="' . htmlspecialchars($properties->getSubject()) . '" />' . PHP_EOL; + } + if ($properties->getKeywords() > '') { + $html .= ' <meta name="keywords" content="' . htmlspecialchars($properties->getKeywords()) . '" />' . PHP_EOL; + } + if ($properties->getCategory() > '') { + $html .= ' <meta name="category" content="' . htmlspecialchars($properties->getCategory()) . '" />' . PHP_EOL; + } + if ($properties->getCompany() > '') { + $html .= ' <meta name="company" content="' . htmlspecialchars($properties->getCompany()) . '" />' . PHP_EOL; + } + if ($properties->getManager() > '') { + $html .= ' <meta name="manager" content="' . htmlspecialchars($properties->getManager()) . '" />' . PHP_EOL; + } - /** - * Generate HTML header - * - * @param boolean $pIncludeStyles Include styles? - * @return string - * @throws PHPExcel_Writer_Exception - */ - public function generateHTMLHeader($pIncludeStyles = false) { - // PHPExcel object known? - if (is_null($this->_phpExcel)) { - throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); - } + if ($pIncludeStyles) { + $html .= $this->generateStyles(true); + } - // Construct HTML - $properties = $this->_phpExcel->getProperties(); - $html = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' . PHP_EOL; - $html .= '<!-- Generated by PHPExcel - http://www.phpexcel.net -->' . PHP_EOL; - $html .= '<html>' . PHP_EOL; - $html .= ' <head>' . PHP_EOL; - $html .= ' <meta http-equiv="Content-Type" content="text/html; charset=utf-8">' . PHP_EOL; - if ($properties->getTitle() > '') - $html .= ' <title>' . htmlspecialchars($properties->getTitle()) . '</title>' . PHP_EOL; + $html .= ' </head>' . PHP_EOL; + $html .= '' . PHP_EOL; + $html .= ' <body>' . PHP_EOL; - if ($properties->getCreator() > '') - $html .= ' <meta name="author" content="' . htmlspecialchars($properties->getCreator()) . '" />' . PHP_EOL; - if ($properties->getTitle() > '') - $html .= ' <meta name="title" content="' . htmlspecialchars($properties->getTitle()) . '" />' . PHP_EOL; - if ($properties->getDescription() > '') - $html .= ' <meta name="description" content="' . htmlspecialchars($properties->getDescription()) . '" />' . PHP_EOL; - if ($properties->getSubject() > '') - $html .= ' <meta name="subject" content="' . htmlspecialchars($properties->getSubject()) . '" />' . PHP_EOL; - if ($properties->getKeywords() > '') - $html .= ' <meta name="keywords" content="' . htmlspecialchars($properties->getKeywords()) . '" />' . PHP_EOL; - if ($properties->getCategory() > '') - $html .= ' <meta name="category" content="' . htmlspecialchars($properties->getCategory()) . '" />' . PHP_EOL; - if ($properties->getCompany() > '') - $html .= ' <meta name="company" content="' . htmlspecialchars($properties->getCompany()) . '" />' . PHP_EOL; - if ($properties->getManager() > '') - $html .= ' <meta name="manager" content="' . htmlspecialchars($properties->getManager()) . '" />' . PHP_EOL; + return $html; + } - if ($pIncludeStyles) { - $html .= $this->generateStyles(true); - } + /** + * Generate sheet data + * + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateSheetData() + { + // PHPExcel object known? + if (is_null($this->phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } - $html .= ' </head>' . PHP_EOL; - $html .= '' . PHP_EOL; - $html .= ' <body>' . PHP_EOL; + // Ensure that Spans have been calculated? + if ($this->sheetIndex !== null || !$this->spansAreCalculated) { + $this->calculateSpans(); + } - // Return - return $html; - } + // Fetch sheets + $sheets = array(); + if (is_null($this->sheetIndex)) { + $sheets = $this->phpExcel->getAllSheets(); + } else { + $sheets[] = $this->phpExcel->getSheet($this->sheetIndex); + } - /** - * Generate sheet data - * - * @return string - * @throws PHPExcel_Writer_Exception - */ - public function generateSheetData() { - // PHPExcel object known? - if (is_null($this->_phpExcel)) { - throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); - } + // Construct HTML + $html = ''; - // Ensure that Spans have been calculated? - if (!$this->_spansAreCalculated) { - $this->_calculateSpans(); - } + // Loop all sheets + $sheetId = 0; + foreach ($sheets as $sheet) { + // Write table header + $html .= $this->generateTableHeader($sheet); - // Fetch sheets - $sheets = array(); - if (is_null($this->_sheetIndex)) { - $sheets = $this->_phpExcel->getAllSheets(); - } else { - $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); - } + // Get worksheet dimension + $dimension = explode(':', $sheet->calculateWorksheetDimension()); + $dimension[0] = PHPExcel_Cell::coordinateFromString($dimension[0]); + $dimension[0][0] = PHPExcel_Cell::columnIndexFromString($dimension[0][0]) - 1; + $dimension[1] = PHPExcel_Cell::coordinateFromString($dimension[1]); + $dimension[1][0] = PHPExcel_Cell::columnIndexFromString($dimension[1][0]) - 1; - // Construct HTML - $html = ''; + // row min,max + $rowMin = $dimension[0][1]; + $rowMax = $dimension[1][1]; - // Loop all sheets - $sheetId = 0; - foreach ($sheets as $sheet) { - // Write table header - $html .= $this->_generateTableHeader($sheet); + // calculate start of <tbody>, <thead> + $tbodyStart = $rowMin; + $theadStart = $theadEnd = 0; // default: no <thead> no </thead> + if ($sheet->getPageSetup()->isRowsToRepeatAtTopSet()) { + $rowsToRepeatAtTop = $sheet->getPageSetup()->getRowsToRepeatAtTop(); - // Get worksheet dimension - $dimension = explode(':', $sheet->calculateWorksheetDimension()); - $dimension[0] = PHPExcel_Cell::coordinateFromString($dimension[0]); - $dimension[0][0] = PHPExcel_Cell::columnIndexFromString($dimension[0][0]) - 1; - $dimension[1] = PHPExcel_Cell::coordinateFromString($dimension[1]); - $dimension[1][0] = PHPExcel_Cell::columnIndexFromString($dimension[1][0]) - 1; + // we can only support repeating rows that start at top row + if ($rowsToRepeatAtTop[0] == 1) { + $theadStart = $rowsToRepeatAtTop[0]; + $theadEnd = $rowsToRepeatAtTop[1]; + $tbodyStart = $rowsToRepeatAtTop[1] + 1; + } + } - // row min,max - $rowMin = $dimension[0][1]; - $rowMax = $dimension[1][1]; - - // calculate start of <tbody>, <thead> - $tbodyStart = $rowMin; - $theadStart = $theadEnd = 0; // default: no <thead> no </thead> - if ($sheet->getPageSetup()->isRowsToRepeatAtTopSet()) { - $rowsToRepeatAtTop = $sheet->getPageSetup()->getRowsToRepeatAtTop(); - - // we can only support repeating rows that start at top row - if ($rowsToRepeatAtTop[0] == 1) { - $theadStart = $rowsToRepeatAtTop[0]; - $theadEnd = $rowsToRepeatAtTop[1]; - $tbodyStart = $rowsToRepeatAtTop[1] + 1; - } - } - - // Loop through cells - $row = $rowMin-1; - while($row++ < $rowMax) { - // <thead> ? - if ($row == $theadStart) { - $html .= ' <thead>' . PHP_EOL; + // Loop through cells + $row = $rowMin-1; + while ($row++ < $rowMax) { + // <thead> ? + if ($row == $theadStart) { + $html .= ' <thead>' . PHP_EOL; $cellType = 'th'; - } + } - // <tbody> ? - if ($row == $tbodyStart) { - $html .= ' <tbody>' . PHP_EOL; + // <tbody> ? + if ($row == $tbodyStart) { + $html .= ' <tbody>' . PHP_EOL; $cellType = 'td'; - } - - // Write row if there are HTML table cells in it - if ( !isset($this->_isSpannedRow[$sheet->getParent()->getIndex($sheet)][$row]) ) { - // Start a new rowData - $rowData = array(); - // Loop through columns - $column = $dimension[0][0] - 1; - while($column++ < $dimension[1][0]) { - // Cell exists? - if ($sheet->cellExistsByColumnAndRow($column, $row)) { - $rowData[$column] = PHPExcel_Cell::stringFromColumnIndex($column) . $row; - } else { - $rowData[$column] = ''; - } - } - $html .= $this->_generateRow($sheet, $rowData, $row - 1, $cellType); - } - - // </thead> ? - if ($row == $theadEnd) { - $html .= ' </thead>' . PHP_EOL; - } - } - $html .= $this->_extendRowsForChartsAndImages($sheet, $row); - - // Close table body. - $html .= ' </tbody>' . PHP_EOL; - - // Write table footer - $html .= $this->_generateTableFooter(); - - // Writing PDF? - if ($this->_isPdf) { - if (is_null($this->_sheetIndex) && $sheetId + 1 < $this->_phpExcel->getSheetCount()) { - $html .= '<div style="page-break-before:always" />'; - } - } - - // Next sheet - ++$sheetId; - } - - // Return - return $html; - } - - /** - * Generate sheet tabs - * - * @return string - * @throws PHPExcel_Writer_Exception - */ - public function generateNavigation() - { - // PHPExcel object known? - if (is_null($this->_phpExcel)) { - throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); - } - - // Fetch sheets - $sheets = array(); - if (is_null($this->_sheetIndex)) { - $sheets = $this->_phpExcel->getAllSheets(); - } else { - $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); - } - - // Construct HTML - $html = ''; - - // Only if there are more than 1 sheets - if (count($sheets) > 1) { - // Loop all sheets - $sheetId = 0; - - $html .= '<ul class="navigation">' . PHP_EOL; - - foreach ($sheets as $sheet) { - $html .= ' <li class="sheet' . $sheetId . '"><a href="#sheet' . $sheetId . '">' . $sheet->getTitle() . '</a></li>' . PHP_EOL; - ++$sheetId; - } - - $html .= '</ul>' . PHP_EOL; - } - - return $html; - } - - private function _extendRowsForChartsAndImages(PHPExcel_Worksheet $pSheet, $row) { - $rowMax = $row; - $colMax = 'A'; - if ($this->_includeCharts) { - foreach ($pSheet->getChartCollection() as $chart) { - if ($chart instanceof PHPExcel_Chart) { - $chartCoordinates = $chart->getTopLeftPosition(); - $chartTL = PHPExcel_Cell::coordinateFromString($chartCoordinates['cell']); - $chartCol = PHPExcel_Cell::columnIndexFromString($chartTL[0]); - if ($chartTL[1] > $rowMax) { - $rowMax = $chartTL[1]; - if ($chartCol > PHPExcel_Cell::columnIndexFromString($colMax)) { - $colMax = $chartTL[0]; - } - } - } - } - } - - foreach ($pSheet->getDrawingCollection() as $drawing) { - if ($drawing instanceof PHPExcel_Worksheet_Drawing) { - $imageTL = PHPExcel_Cell::coordinateFromString($drawing->getCoordinates()); - $imageCol = PHPExcel_Cell::columnIndexFromString($imageTL[0]); - if ($imageTL[1] > $rowMax) { - $rowMax = $imageTL[1]; - if ($imageCol > PHPExcel_Cell::columnIndexFromString($colMax)) { - $colMax = $imageTL[0]; - } - } - } - } - $html = ''; - $colMax++; - while ($row < $rowMax) { - $html .= '<tr>'; - for ($col = 'A'; $col != $colMax; ++$col) { - $html .= '<td>'; - $html .= $this->_writeImageInCell($pSheet, $col.$row); - if ($this->_includeCharts) { - $html .= $this->_writeChartInCell($pSheet, $col.$row); - } - $html .= '</td>'; - } - ++$row; - $html .= '</tr>'; - } - return $html; - } - - - /** - * Generate image tag in cell - * - * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet - * @param string $coordinates Cell coordinates - * @return string - * @throws PHPExcel_Writer_Exception - */ - private function _writeImageInCell(PHPExcel_Worksheet $pSheet, $coordinates) { - // Construct HTML - $html = ''; - - // Write images - foreach ($pSheet->getDrawingCollection() as $drawing) { - if ($drawing instanceof PHPExcel_Worksheet_Drawing) { - if ($drawing->getCoordinates() == $coordinates) { - $filename = $drawing->getPath(); - - // Strip off eventual '.' - if (substr($filename, 0, 1) == '.') { - $filename = substr($filename, 1); - } - - // Prepend images root - $filename = $this->getImagesRoot() . $filename; - - // Strip off eventual '.' - if (substr($filename, 0, 1) == '.' && substr($filename, 0, 2) != './') { - $filename = substr($filename, 1); - } - - // Convert UTF8 data to PCDATA - $filename = htmlspecialchars($filename); - - $html .= PHP_EOL; - if ((!$this->_embedImages) || ($this->_isPdf)) { - $imageData = $filename; - } else { - $imageDetails = getimagesize($filename); - if ($fp = fopen($filename,"rb", 0)) { - $picture = fread($fp,filesize($filename)); - fclose($fp); - // base64 encode the binary data, then break it - // into chunks according to RFC 2045 semantics - $base64 = chunk_split(base64_encode($picture)); - $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; - } else { - $imageData = $filename; - } - } - - $html .= '<div style="position: relative;">'; - $html .= '<img style="position: absolute; z-index: 1; left: ' . - $drawing->getOffsetX() . 'px; top: ' . $drawing->getOffsetY() . 'px; width: ' . - $drawing->getWidth() . 'px; height: ' . $drawing->getHeight() . 'px;" src="' . - $imageData . '" border="0" />'; - $html .= '</div>'; - } - } - } - - // Return - return $html; - } - - /** - * Generate chart tag in cell - * - * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet - * @param string $coordinates Cell coordinates - * @return string - * @throws PHPExcel_Writer_Exception - */ - private function _writeChartInCell(PHPExcel_Worksheet $pSheet, $coordinates) { - // Construct HTML - $html = ''; - - // Write charts - foreach ($pSheet->getChartCollection() as $chart) { - if ($chart instanceof PHPExcel_Chart) { - $chartCoordinates = $chart->getTopLeftPosition(); - if ($chartCoordinates['cell'] == $coordinates) { - $chartFileName = PHPExcel_Shared_File::sys_get_temp_dir().'/'.uniqid().'.png'; - if (!$chart->render($chartFileName)) { - return; - } - - $html .= PHP_EOL; - $imageDetails = getimagesize($chartFileName); - if ($fp = fopen($chartFileName,"rb", 0)) { - $picture = fread($fp,filesize($chartFileName)); - fclose($fp); - // base64 encode the binary data, then break it - // into chunks according to RFC 2045 semantics - $base64 = chunk_split(base64_encode($picture)); - $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; - - $html .= '<div style="position: relative;">'; - $html .= '<img style="position: absolute; z-index: 1; left: ' . $chartCoordinates['xOffset'] . 'px; top: ' . $chartCoordinates['yOffset'] . 'px; width: ' . $imageDetails[0] . 'px; height: ' . $imageDetails[1] . 'px;" src="' . $imageData . '" border="0" />' . PHP_EOL; - $html .= '</div>'; - - unlink($chartFileName); - } - } - } - } - - // Return - return $html; - } - - /** - * Generate CSS styles - * - * @param boolean $generateSurroundingHTML Generate surrounding HTML tags? (&lt;style&gt; and &lt;/style&gt;) - * @return string - * @throws PHPExcel_Writer_Exception - */ - public function generateStyles($generateSurroundingHTML = true) { - // PHPExcel object known? - if (is_null($this->_phpExcel)) { - throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); - } - - // Build CSS - $css = $this->buildCSS($generateSurroundingHTML); - - // Construct HTML - $html = ''; - - // Start styles - if ($generateSurroundingHTML) { - $html .= ' <style type="text/css">' . PHP_EOL; - $html .= ' html { ' . $this->_assembleCSS($css['html']) . ' }' . PHP_EOL; - } - - // Write all other styles - foreach ($css as $styleName => $styleDefinition) { - if ($styleName != 'html') { - $html .= ' ' . $styleName . ' { ' . $this->_assembleCSS($styleDefinition) . ' }' . PHP_EOL; - } - } - - // End styles - if ($generateSurroundingHTML) { - $html .= ' </style>' . PHP_EOL; - } - - // Return - return $html; - } - - /** - * Build CSS styles - * - * @param boolean $generateSurroundingHTML Generate surrounding HTML style? (html { }) - * @return array - * @throws PHPExcel_Writer_Exception - */ - public function buildCSS($generateSurroundingHTML = true) { - // PHPExcel object known? - if (is_null($this->_phpExcel)) { - throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); - } - - // Cached? - if (!is_null($this->_cssStyles)) { - return $this->_cssStyles; - } - - // Ensure that spans have been calculated - if (!$this->_spansAreCalculated) { - $this->_calculateSpans(); - } - - // Construct CSS - $css = array(); - - // Start styles - if ($generateSurroundingHTML) { - // html { } - $css['html']['font-family'] = 'Calibri, Arial, Helvetica, sans-serif'; - $css['html']['font-size'] = '11pt'; - $css['html']['background-color'] = 'white'; - } - - - // table { } - $css['table']['border-collapse'] = 'collapse'; - if (!$this->_isPdf) { - $css['table']['page-break-after'] = 'always'; - } - - // .gridlines td { } - $css['.gridlines td']['border'] = '1px dotted black'; - $css['.gridlines th']['border'] = '1px dotted black'; - - // .b {} - $css['.b']['text-align'] = 'center'; // BOOL - - // .e {} - $css['.e']['text-align'] = 'center'; // ERROR - - // .f {} - $css['.f']['text-align'] = 'right'; // FORMULA - - // .inlineStr {} - $css['.inlineStr']['text-align'] = 'left'; // INLINE - - // .n {} - $css['.n']['text-align'] = 'right'; // NUMERIC - - // .s {} - $css['.s']['text-align'] = 'left'; // STRING - - // Calculate cell style hashes - foreach ($this->_phpExcel->getCellXfCollection() as $index => $style) { - $css['td.style' . $index] = $this->_createCSSStyle( $style ); - $css['th.style' . $index] = $this->_createCSSStyle( $style ); - } - - // Fetch sheets - $sheets = array(); - if (is_null($this->_sheetIndex)) { - $sheets = $this->_phpExcel->getAllSheets(); - } else { - $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex); - } - - // Build styles per sheet - foreach ($sheets as $sheet) { - // Calculate hash code - $sheetIndex = $sheet->getParent()->getIndex($sheet); - - // Build styles - // Calculate column widths - $sheet->calculateColumnWidths(); - - // col elements, initialize - $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()) - 1; - $column = -1; - while($column++ < $highestColumnIndex) { - $this->_columnWidths[$sheetIndex][$column] = 42; // approximation - $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = '42pt'; - } - - // col elements, loop through columnDimensions and set width - foreach ($sheet->getColumnDimensions() as $columnDimension) { - if (($width = PHPExcel_Shared_Drawing::cellDimensionToPixels($columnDimension->getWidth(), $this->_defaultFont)) >= 0) { - $width = PHPExcel_Shared_Drawing::pixelsToPoints($width); - $column = PHPExcel_Cell::columnIndexFromString($columnDimension->getColumnIndex()) - 1; - $this->_columnWidths[$sheetIndex][$column] = $width; - $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = $width . 'pt'; - - if ($columnDimension->getVisible() === false) { - $css['table.sheet' . $sheetIndex . ' col.col' . $column]['visibility'] = 'collapse'; - $css['table.sheet' . $sheetIndex . ' col.col' . $column]['*display'] = 'none'; // target IE6+7 - } - } - } - - // Default row height - $rowDimension = $sheet->getDefaultRowDimension(); - - // table.sheetN tr { } - $css['table.sheet' . $sheetIndex . ' tr'] = array(); - - if ($rowDimension->getRowHeight() == -1) { - $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->_phpExcel->getDefaultStyle()->getFont()); - } else { - $pt_height = $rowDimension->getRowHeight(); - } - $css['table.sheet' . $sheetIndex . ' tr']['height'] = $pt_height . 'pt'; - if ($rowDimension->getVisible() === false) { - $css['table.sheet' . $sheetIndex . ' tr']['display'] = 'none'; - $css['table.sheet' . $sheetIndex . ' tr']['visibility'] = 'hidden'; - } - - // Calculate row heights - foreach ($sheet->getRowDimensions() as $rowDimension) { - $row = $rowDimension->getRowIndex() - 1; - - // table.sheetN tr.rowYYYYYY { } - $css['table.sheet' . $sheetIndex . ' tr.row' . $row] = array(); - - if ($rowDimension->getRowHeight() == -1) { - $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->_phpExcel->getDefaultStyle()->getFont()); - } else { - $pt_height = $rowDimension->getRowHeight(); - } - $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['height'] = $pt_height . 'pt'; - if ($rowDimension->getVisible() === false) { - $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['display'] = 'none'; - $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['visibility'] = 'hidden'; - } - } - } - - // Cache - if (is_null($this->_cssStyles)) { - $this->_cssStyles = $css; - } - - // Return - return $css; - } - - /** - * Create CSS style - * - * @param PHPExcel_Style $pStyle PHPExcel_Style - * @return array - */ - private function _createCSSStyle(PHPExcel_Style $pStyle) { - // Construct CSS - $css = ''; - - // Create CSS - $css = array_merge( - $this->_createCSSStyleAlignment($pStyle->getAlignment()) - , $this->_createCSSStyleBorders($pStyle->getBorders()) - , $this->_createCSSStyleFont($pStyle->getFont()) - , $this->_createCSSStyleFill($pStyle->getFill()) - ); - - // Return - return $css; - } - - /** - * Create CSS style (PHPExcel_Style_Alignment) - * - * @param PHPExcel_Style_Alignment $pStyle PHPExcel_Style_Alignment - * @return array - */ - private function _createCSSStyleAlignment(PHPExcel_Style_Alignment $pStyle) { - // Construct CSS - $css = array(); - - // Create CSS - $css['vertical-align'] = $this->_mapVAlign($pStyle->getVertical()); - if ($textAlign = $this->_mapHAlign($pStyle->getHorizontal())) { - $css['text-align'] = $textAlign; - if(in_array($textAlign,array('left','right'))) - $css['padding-'.$textAlign] = (string)((int)$pStyle->getIndent() * 9).'px'; - } - - // Return - return $css; - } - - /** - * Create CSS style (PHPExcel_Style_Font) - * - * @param PHPExcel_Style_Font $pStyle PHPExcel_Style_Font - * @return array - */ - private function _createCSSStyleFont(PHPExcel_Style_Font $pStyle) { - // Construct CSS - $css = array(); - - // Create CSS - if ($pStyle->getBold()) { - $css['font-weight'] = 'bold'; - } - if ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE && $pStyle->getStrikethrough()) { - $css['text-decoration'] = 'underline line-through'; - } else if ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE) { - $css['text-decoration'] = 'underline'; - } else if ($pStyle->getStrikethrough()) { - $css['text-decoration'] = 'line-through'; - } - if ($pStyle->getItalic()) { - $css['font-style'] = 'italic'; - } - - $css['color'] = '#' . $pStyle->getColor()->getRGB(); - $css['font-family'] = '\'' . $pStyle->getName() . '\''; - $css['font-size'] = $pStyle->getSize() . 'pt'; - - // Return - return $css; - } - - /** - * Create CSS style (PHPExcel_Style_Borders) - * - * @param PHPExcel_Style_Borders $pStyle PHPExcel_Style_Borders - * @return array - */ - private function _createCSSStyleBorders(PHPExcel_Style_Borders $pStyle) { - // Construct CSS - $css = array(); - - // Create CSS - $css['border-bottom'] = $this->_createCSSStyleBorder($pStyle->getBottom()); - $css['border-top'] = $this->_createCSSStyleBorder($pStyle->getTop()); - $css['border-left'] = $this->_createCSSStyleBorder($pStyle->getLeft()); - $css['border-right'] = $this->_createCSSStyleBorder($pStyle->getRight()); - - // Return - return $css; - } - - /** - * Create CSS style (PHPExcel_Style_Border) - * - * @param PHPExcel_Style_Border $pStyle PHPExcel_Style_Border - * @return string - */ - private function _createCSSStyleBorder(PHPExcel_Style_Border $pStyle) { - // Create CSS -// $css = $this->_mapBorderStyle($pStyle->getBorderStyle()) . ' #' . $pStyle->getColor()->getRGB(); - // Create CSS - add !important to non-none border styles for merged cells - $borderStyle = $this->_mapBorderStyle($pStyle->getBorderStyle()); - $css = $borderStyle . ' #' . $pStyle->getColor()->getRGB() . (($borderStyle == 'none') ? '' : ' !important'); - - // Return - return $css; - } - - /** - * Create CSS style (PHPExcel_Style_Fill) - * - * @param PHPExcel_Style_Fill $pStyle PHPExcel_Style_Fill - * @return array - */ - private function _createCSSStyleFill(PHPExcel_Style_Fill $pStyle) { - // Construct HTML - $css = array(); - - // Create CSS - $value = $pStyle->getFillType() == PHPExcel_Style_Fill::FILL_NONE ? - 'white' : '#' . $pStyle->getStartColor()->getRGB(); - $css['background-color'] = $value; - - // Return - return $css; - } - - /** - * Generate HTML footer - */ - public function generateHTMLFooter() { - // Construct HTML - $html = ''; - $html .= ' </body>' . PHP_EOL; - $html .= '</html>' . PHP_EOL; - - // Return - return $html; - } - - /** - * Generate table header - * - * @param PHPExcel_Worksheet $pSheet The worksheet for the table we are writing - * @return string - * @throws PHPExcel_Writer_Exception - */ - private function _generateTableHeader($pSheet) { - $sheetIndex = $pSheet->getParent()->getIndex($pSheet); - - // Construct HTML - $html = ''; - $html .= $this->_setMargins($pSheet); - - if (!$this->_useInlineCss) { - $gridlines = $pSheet->getShowGridlines() ? ' gridlines' : ''; - $html .= ' <table border="0" cellpadding="0" cellspacing="0" id="sheet' . $sheetIndex . '" class="sheet' . $sheetIndex . $gridlines . '">' . PHP_EOL; - } else { - $style = isset($this->_cssStyles['table']) ? - $this->_assembleCSS($this->_cssStyles['table']) : ''; - - if ($this->_isPdf && $pSheet->getShowGridlines()) { - $html .= ' <table border="1" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="1" style="' . $style . '">' . PHP_EOL; - } else { - $html .= ' <table border="0" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="0" style="' . $style . '">' . PHP_EOL; - } - } - - // Write <col> elements - $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()) - 1; - $i = -1; - while($i++ < $highestColumnIndex) { - if (!$this->_isPdf) { - if (!$this->_useInlineCss) { - $html .= ' <col class="col' . $i . '">' . PHP_EOL; - } else { - $style = isset($this->_cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) ? - $this->_assembleCSS($this->_cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) : ''; - $html .= ' <col style="' . $style . '">' . PHP_EOL; - } - } - } - - // Return - return $html; - } - - /** - * Generate table footer - * - * @throws PHPExcel_Writer_Exception - */ - private function _generateTableFooter() { - // Construct HTML - $html = ''; - $html .= ' </table>' . PHP_EOL; - - // Return - return $html; - } - - /** - * Generate row - * - * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet - * @param array $pValues Array containing cells in a row - * @param int $pRow Row number (0-based) - * @return string - * @throws PHPExcel_Writer_Exception - */ - private function _generateRow(PHPExcel_Worksheet $pSheet, $pValues = null, $pRow = 0, $cellType = 'td') { - if (is_array($pValues)) { - // Construct HTML - $html = ''; - - // Sheet index - $sheetIndex = $pSheet->getParent()->getIndex($pSheet); - - // DomPDF and breaks - if ($this->_isPdf && count($pSheet->getBreaks()) > 0) { - $breaks = $pSheet->getBreaks(); - - // check if a break is needed before this row - if (isset($breaks['A' . $pRow])) { - // close table: </table> - $html .= $this->_generateTableFooter(); - - // insert page break - $html .= '<div style="page-break-before:always" />'; - - // open table again: <table> + <col> etc. - $html .= $this->_generateTableHeader($pSheet); - } - } - - // Write row start - if (!$this->_useInlineCss) { - $html .= ' <tr class="row' . $pRow . '">' . PHP_EOL; - } else { - $style = isset($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) - ? $this->_assembleCSS($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) : ''; - - $html .= ' <tr style="' . $style . '">' . PHP_EOL; - } - - // Write cells - $colNum = 0; - foreach ($pValues as $cellAddress) { - $cell = ($cellAddress > '') ? $pSheet->getCell($cellAddress) : ''; - $coordinate = PHPExcel_Cell::stringFromColumnIndex($colNum) . ($pRow + 1); - if (!$this->_useInlineCss) { - $cssClass = ''; - $cssClass = 'column' . $colNum; - } else { - $cssClass = array(); - if ($cellType == 'th') { - if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum])) { - $this->_cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum]; - } - } else { - if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum])) { - $this->_cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum]; + } + + // Write row if there are HTML table cells in it + if (!isset($this->isSpannedRow[$sheet->getParent()->getIndex($sheet)][$row])) { + // Start a new rowData + $rowData = array(); + // Loop through columns + $column = $dimension[0][0] - 1; + while ($column++ < $dimension[1][0]) { + // Cell exists? + if ($sheet->cellExistsByColumnAndRow($column, $row)) { + $rowData[$column] = PHPExcel_Cell::stringFromColumnIndex($column) . $row; + } else { + $rowData[$column] = ''; } } - } - $colSpan = 1; - $rowSpan = 1; + $html .= $this->generateRow($sheet, $rowData, $row - 1, $cellType); + } - // initialize - $cellData = '&nbsp;'; + // </thead> ? + if ($row == $theadEnd) { + $html .= ' </thead>' . PHP_EOL; + } + } + $html .= $this->extendRowsForChartsAndImages($sheet, $row); - // PHPExcel_Cell - if ($cell instanceof PHPExcel_Cell) { - $cellData = ''; - if (is_null($cell->getParent())) { - $cell->attach($pSheet); - } - // Value - if ($cell->getValue() instanceof PHPExcel_RichText) { - // Loop through rich text elements - $elements = $cell->getValue()->getRichTextElements(); - foreach ($elements as $element) { - // Rich text start? - if ($element instanceof PHPExcel_RichText_Run) { - $cellData .= '<span style="' . $this->_assembleCSS($this->_createCSSStyleFont($element->getFont())) . '">'; + // Close table body. + $html .= ' </tbody>' . PHP_EOL; - if ($element->getFont()->getSuperScript()) { - $cellData .= '<sup>'; - } else if ($element->getFont()->getSubScript()) { - $cellData .= '<sub>'; - } - } + // Write table footer + $html .= $this->generateTableFooter(); - // Convert UTF8 data to PCDATA - $cellText = $element->getText(); - $cellData .= htmlspecialchars($cellText); + // Writing PDF? + if ($this->isPdf) { + if (is_null($this->sheetIndex) && $sheetId + 1 < $this->phpExcel->getSheetCount()) { + $html .= '<div style="page-break-before:always" />'; + } + } - if ($element instanceof PHPExcel_RichText_Run) { - if ($element->getFont()->getSuperScript()) { - $cellData .= '</sup>'; - } else if ($element->getFont()->getSubScript()) { - $cellData .= '</sub>'; - } + // Next sheet + ++$sheetId; + } - $cellData .= '</span>'; - } - } - } else { - if ($this->_preCalculateFormulas) { - $cellData = PHPExcel_Style_NumberFormat::toFormattedString( - $cell->getCalculatedValue(), - $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getNumberFormat()->getFormatCode(), - array($this, 'formatColor') - ); - } else { - $cellData = PHPExcel_Style_NumberFormat::toFormattedString( - $cell->getValue(), - $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getNumberFormat()->getFormatCode(), - array($this, 'formatColor') - ); - } - $cellData = htmlspecialchars($cellData); - if ($pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getFont()->getSuperScript()) { - $cellData = '<sup>'.$cellData.'</sup>'; - } elseif ($pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() )->getFont()->getSubScript()) { - $cellData = '<sub>'.$cellData.'</sub>'; - } - } + return $html; + } - // Converts the cell content so that spaces occuring at beginning of each new line are replaced by &nbsp; - // Example: " Hello\n to the world" is converted to "&nbsp;&nbsp;Hello\n&nbsp;to the world" - $cellData = preg_replace("/(?m)(?:^|\\G) /", '&nbsp;', $cellData); + /** + * Generate sheet tabs + * + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateNavigation() + { + // PHPExcel object known? + if (is_null($this->phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } - // convert newline "\n" to '<br>' - $cellData = nl2br($cellData); + // Fetch sheets + $sheets = array(); + if (is_null($this->sheetIndex)) { + $sheets = $this->phpExcel->getAllSheets(); + } else { + $sheets[] = $this->phpExcel->getSheet($this->sheetIndex); + } - // Extend CSS class? - if (!$this->_useInlineCss) { - $cssClass .= ' style' . $cell->getXfIndex(); - $cssClass .= ' ' . $cell->getDataType(); - } else { + // Construct HTML + $html = ''; + + // Only if there are more than 1 sheets + if (count($sheets) > 1) { + // Loop all sheets + $sheetId = 0; + + $html .= '<ul class="navigation">' . PHP_EOL; + + foreach ($sheets as $sheet) { + $html .= ' <li class="sheet' . $sheetId . '"><a href="#sheet' . $sheetId . '">' . $sheet->getTitle() . '</a></li>' . PHP_EOL; + ++$sheetId; + } + + $html .= '</ul>' . PHP_EOL; + } + + return $html; + } + + private function extendRowsForChartsAndImages(PHPExcel_Worksheet $pSheet, $row) + { + $rowMax = $row; + $colMax = 'A'; + if ($this->includeCharts) { + foreach ($pSheet->getChartCollection() as $chart) { + if ($chart instanceof PHPExcel_Chart) { + $chartCoordinates = $chart->getTopLeftPosition(); + $chartTL = PHPExcel_Cell::coordinateFromString($chartCoordinates['cell']); + $chartCol = PHPExcel_Cell::columnIndexFromString($chartTL[0]); + if ($chartTL[1] > $rowMax) { + $rowMax = $chartTL[1]; + if ($chartCol > PHPExcel_Cell::columnIndexFromString($colMax)) { + $colMax = $chartTL[0]; + } + } + } + } + } + + foreach ($pSheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + $imageTL = PHPExcel_Cell::coordinateFromString($drawing->getCoordinates()); + $imageCol = PHPExcel_Cell::columnIndexFromString($imageTL[0]); + if ($imageTL[1] > $rowMax) { + $rowMax = $imageTL[1]; + if ($imageCol > PHPExcel_Cell::columnIndexFromString($colMax)) { + $colMax = $imageTL[0]; + } + } + } + } + + $html = ''; + $colMax++; + while ($row <= $rowMax) { + $html .= '<tr>'; + for ($col = 'A'; $col != $colMax; ++$col) { + $html .= '<td>'; + $html .= $this->writeImageInCell($pSheet, $col.$row); + if ($this->includeCharts) { + $html .= $this->writeChartInCell($pSheet, $col.$row); + } + $html .= '</td>'; + } + ++$row; + $html .= '</tr>'; + } + return $html; + } + + + /** + * Generate image tag in cell + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param string $coordinates Cell coordinates + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function writeImageInCell(PHPExcel_Worksheet $pSheet, $coordinates) + { + // Construct HTML + $html = ''; + + // Write images + foreach ($pSheet->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_Drawing) { + if ($drawing->getCoordinates() == $coordinates) { + $filename = $drawing->getPath(); + + // Strip off eventual '.' + if (substr($filename, 0, 1) == '.') { + $filename = substr($filename, 1); + } + + // Prepend images root + $filename = $this->getImagesRoot() . $filename; + + // Strip off eventual '.' + if (substr($filename, 0, 1) == '.' && substr($filename, 0, 2) != './') { + $filename = substr($filename, 1); + } + + // Convert UTF8 data to PCDATA + $filename = htmlspecialchars($filename); + + $html .= PHP_EOL; + if ((!$this->embedImages) || ($this->isPdf)) { + $imageData = $filename; + } else { + $imageDetails = getimagesize($filename); + if ($fp = fopen($filename, "rb", 0)) { + $picture = fread($fp, filesize($filename)); + fclose($fp); + // base64 encode the binary data, then break it + // into chunks according to RFC 2045 semantics + $base64 = chunk_split(base64_encode($picture)); + $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; + } else { + $imageData = $filename; + } + } + + $html .= '<div style="position: relative;">'; + $html .= '<img style="position: absolute; z-index: 1; left: ' . + $drawing->getOffsetX() . 'px; top: ' . $drawing->getOffsetY() . 'px; width: ' . + $drawing->getWidth() . 'px; height: ' . $drawing->getHeight() . 'px;" src="' . + $imageData . '" border="0" />'; + $html .= '</div>'; + } + } elseif ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { + if ($drawing->getCoordinates() != $coordinates) { + continue; + } + ob_start(); // Let's start output buffering. + imagepng($drawing->getImageResource()); // This will normally output the image, but because of ob_start(), it won't. + $contents = ob_get_contents(); // Instead, output above is saved to $contents + ob_end_clean(); // End the output buffer. + + $dataUri = "data:image/jpeg;base64," . base64_encode($contents); + + // Because of the nature of tables, width is more important than height. + // max-width: 100% ensures that image doesnt overflow containing cell + // width: X sets width of supplied image. + // As a result, images bigger than cell will be contained and images smaller will not get stretched + $html .= '<img src="'.$dataUri.'" style="max-width:100%;width:'.$drawing->getWidth().'px;" />'; + } + } + + return $html; + } + + /** + * Generate chart tag in cell + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param string $coordinates Cell coordinates + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function writeChartInCell(PHPExcel_Worksheet $pSheet, $coordinates) + { + // Construct HTML + $html = ''; + + // Write charts + foreach ($pSheet->getChartCollection() as $chart) { + if ($chart instanceof PHPExcel_Chart) { + $chartCoordinates = $chart->getTopLeftPosition(); + if ($chartCoordinates['cell'] == $coordinates) { + $chartFileName = PHPExcel_Shared_File::sys_get_temp_dir().'/'.uniqid().'.png'; + if (!$chart->render($chartFileName)) { + return; + } + + $html .= PHP_EOL; + $imageDetails = getimagesize($chartFileName); + if ($fp = fopen($chartFileName, "rb", 0)) { + $picture = fread($fp, filesize($chartFileName)); + fclose($fp); + // base64 encode the binary data, then break it + // into chunks according to RFC 2045 semantics + $base64 = chunk_split(base64_encode($picture)); + $imageData = 'data:'.$imageDetails['mime'].';base64,' . $base64; + + $html .= '<div style="position: relative;">'; + $html .= '<img style="position: absolute; z-index: 1; left: ' . $chartCoordinates['xOffset'] . 'px; top: ' . $chartCoordinates['yOffset'] . 'px; width: ' . $imageDetails[0] . 'px; height: ' . $imageDetails[1] . 'px;" src="' . $imageData . '" border="0" />' . PHP_EOL; + $html .= '</div>'; + + unlink($chartFileName); + } + } + } + } + + // Return + return $html; + } + + /** + * Generate CSS styles + * + * @param boolean $generateSurroundingHTML Generate surrounding HTML tags? (&lt;style&gt; and &lt;/style&gt;) + * @return string + * @throws PHPExcel_Writer_Exception + */ + public function generateStyles($generateSurroundingHTML = true) + { + // PHPExcel object known? + if (is_null($this->phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Build CSS + $css = $this->buildCSS($generateSurroundingHTML); + + // Construct HTML + $html = ''; + + // Start styles + if ($generateSurroundingHTML) { + $html .= ' <style type="text/css">' . PHP_EOL; + $html .= ' html { ' . $this->assembleCSS($css['html']) . ' }' . PHP_EOL; + } + + // Write all other styles + foreach ($css as $styleName => $styleDefinition) { + if ($styleName != 'html') { + $html .= ' ' . $styleName . ' { ' . $this->assembleCSS($styleDefinition) . ' }' . PHP_EOL; + } + } + + // End styles + if ($generateSurroundingHTML) { + $html .= ' </style>' . PHP_EOL; + } + + // Return + return $html; + } + + /** + * Build CSS styles + * + * @param boolean $generateSurroundingHTML Generate surrounding HTML style? (html { }) + * @return array + * @throws PHPExcel_Writer_Exception + */ + public function buildCSS($generateSurroundingHTML = true) + { + // PHPExcel object known? + if (is_null($this->phpExcel)) { + throw new PHPExcel_Writer_Exception('Internal PHPExcel object not set to an instance of an object.'); + } + + // Cached? + if (!is_null($this->cssStyles)) { + return $this->cssStyles; + } + + // Ensure that spans have been calculated + if (!$this->spansAreCalculated) { + $this->calculateSpans(); + } + + // Construct CSS + $css = array(); + + // Start styles + if ($generateSurroundingHTML) { + // html { } + $css['html']['font-family'] = 'Calibri, Arial, Helvetica, sans-serif'; + $css['html']['font-size'] = '11pt'; + $css['html']['background-color'] = 'white'; + } + + + // table { } + $css['table']['border-collapse'] = 'collapse'; + if (!$this->isPdf) { + $css['table']['page-break-after'] = 'always'; + } + + // .gridlines td { } + $css['.gridlines td']['border'] = '1px dotted black'; + $css['.gridlines th']['border'] = '1px dotted black'; + + // .b {} + $css['.b']['text-align'] = 'center'; // BOOL + + // .e {} + $css['.e']['text-align'] = 'center'; // ERROR + + // .f {} + $css['.f']['text-align'] = 'right'; // FORMULA + + // .inlineStr {} + $css['.inlineStr']['text-align'] = 'left'; // INLINE + + // .n {} + $css['.n']['text-align'] = 'right'; // NUMERIC + + // .s {} + $css['.s']['text-align'] = 'left'; // STRING + + // Calculate cell style hashes + foreach ($this->phpExcel->getCellXfCollection() as $index => $style) { + $css['td.style' . $index] = $this->createCSSStyle($style); + $css['th.style' . $index] = $this->createCSSStyle($style); + } + + // Fetch sheets + $sheets = array(); + if (is_null($this->sheetIndex)) { + $sheets = $this->phpExcel->getAllSheets(); + } else { + $sheets[] = $this->phpExcel->getSheet($this->sheetIndex); + } + + // Build styles per sheet + foreach ($sheets as $sheet) { + // Calculate hash code + $sheetIndex = $sheet->getParent()->getIndex($sheet); + + // Build styles + // Calculate column widths + $sheet->calculateColumnWidths(); + + // col elements, initialize + $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()) - 1; + $column = -1; + while ($column++ < $highestColumnIndex) { + $this->columnWidths[$sheetIndex][$column] = 42; // approximation + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = '42pt'; + } + + // col elements, loop through columnDimensions and set width + foreach ($sheet->getColumnDimensions() as $columnDimension) { + if (($width = PHPExcel_Shared_Drawing::cellDimensionToPixels($columnDimension->getWidth(), $this->defaultFont)) >= 0) { + $width = PHPExcel_Shared_Drawing::pixelsToPoints($width); + $column = PHPExcel_Cell::columnIndexFromString($columnDimension->getColumnIndex()) - 1; + $this->columnWidths[$sheetIndex][$column] = $width; + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['width'] = $width . 'pt'; + + if ($columnDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['visibility'] = 'collapse'; + $css['table.sheet' . $sheetIndex . ' col.col' . $column]['*display'] = 'none'; // target IE6+7 + } + } + } + + // Default row height + $rowDimension = $sheet->getDefaultRowDimension(); + + // table.sheetN tr { } + $css['table.sheet' . $sheetIndex . ' tr'] = array(); + + if ($rowDimension->getRowHeight() == -1) { + $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->phpExcel->getDefaultStyle()->getFont()); + } else { + $pt_height = $rowDimension->getRowHeight(); + } + $css['table.sheet' . $sheetIndex . ' tr']['height'] = $pt_height . 'pt'; + if ($rowDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' tr']['display'] = 'none'; + $css['table.sheet' . $sheetIndex . ' tr']['visibility'] = 'hidden'; + } + + // Calculate row heights + foreach ($sheet->getRowDimensions() as $rowDimension) { + $row = $rowDimension->getRowIndex() - 1; + + // table.sheetN tr.rowYYYYYY { } + $css['table.sheet' . $sheetIndex . ' tr.row' . $row] = array(); + + if ($rowDimension->getRowHeight() == -1) { + $pt_height = PHPExcel_Shared_Font::getDefaultRowHeightByFont($this->phpExcel->getDefaultStyle()->getFont()); + } else { + $pt_height = $rowDimension->getRowHeight(); + } + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['height'] = $pt_height . 'pt'; + if ($rowDimension->getVisible() === false) { + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['display'] = 'none'; + $css['table.sheet' . $sheetIndex . ' tr.row' . $row]['visibility'] = 'hidden'; + } + } + } + + // Cache + if (is_null($this->cssStyles)) { + $this->cssStyles = $css; + } + + // Return + return $css; + } + + /** + * Create CSS style + * + * @param PHPExcel_Style $pStyle PHPExcel_Style + * @return array + */ + private function createCSSStyle(PHPExcel_Style $pStyle) + { + // Construct CSS + $css = ''; + + // Create CSS + $css = array_merge( + $this->createCSSStyleAlignment($pStyle->getAlignment()), + $this->createCSSStyleBorders($pStyle->getBorders()), + $this->createCSSStyleFont($pStyle->getFont()), + $this->createCSSStyleFill($pStyle->getFill()) + ); + + // Return + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Alignment) + * + * @param PHPExcel_Style_Alignment $pStyle PHPExcel_Style_Alignment + * @return array + */ + private function createCSSStyleAlignment(PHPExcel_Style_Alignment $pStyle) + { + // Construct CSS + $css = array(); + + // Create CSS + $css['vertical-align'] = $this->mapVAlign($pStyle->getVertical()); + if ($textAlign = $this->mapHAlign($pStyle->getHorizontal())) { + $css['text-align'] = $textAlign; + if (in_array($textAlign, array('left', 'right'))) { + $css['padding-'.$textAlign] = (string)((int)$pStyle->getIndent() * 9).'px'; + } + } + + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Font) + * + * @param PHPExcel_Style_Font $pStyle PHPExcel_Style_Font + * @return array + */ + private function createCSSStyleFont(PHPExcel_Style_Font $pStyle) + { + // Construct CSS + $css = array(); + + // Create CSS + if ($pStyle->getBold()) { + $css['font-weight'] = 'bold'; + } + if ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE && $pStyle->getStrikethrough()) { + $css['text-decoration'] = 'underline line-through'; + } elseif ($pStyle->getUnderline() != PHPExcel_Style_Font::UNDERLINE_NONE) { + $css['text-decoration'] = 'underline'; + } elseif ($pStyle->getStrikethrough()) { + $css['text-decoration'] = 'line-through'; + } + if ($pStyle->getItalic()) { + $css['font-style'] = 'italic'; + } + + $css['color'] = '#' . $pStyle->getColor()->getRGB(); + $css['font-family'] = '\'' . $pStyle->getName() . '\''; + $css['font-size'] = $pStyle->getSize() . 'pt'; + + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Borders) + * + * @param PHPExcel_Style_Borders $pStyle PHPExcel_Style_Borders + * @return array + */ + private function createCSSStyleBorders(PHPExcel_Style_Borders $pStyle) + { + // Construct CSS + $css = array(); + + // Create CSS + $css['border-bottom'] = $this->createCSSStyleBorder($pStyle->getBottom()); + $css['border-top'] = $this->createCSSStyleBorder($pStyle->getTop()); + $css['border-left'] = $this->createCSSStyleBorder($pStyle->getLeft()); + $css['border-right'] = $this->createCSSStyleBorder($pStyle->getRight()); + + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Border) + * + * @param PHPExcel_Style_Border $pStyle PHPExcel_Style_Border + * @return string + */ + private function createCSSStyleBorder(PHPExcel_Style_Border $pStyle) + { + // Create CSS +// $css = $this->mapBorderStyle($pStyle->getBorderStyle()) . ' #' . $pStyle->getColor()->getRGB(); + // Create CSS - add !important to non-none border styles for merged cells + $borderStyle = $this->mapBorderStyle($pStyle->getBorderStyle()); + $css = $borderStyle . ' #' . $pStyle->getColor()->getRGB() . (($borderStyle == 'none') ? '' : ' !important'); + + return $css; + } + + /** + * Create CSS style (PHPExcel_Style_Fill) + * + * @param PHPExcel_Style_Fill $pStyle PHPExcel_Style_Fill + * @return array + */ + private function createCSSStyleFill(PHPExcel_Style_Fill $pStyle) + { + // Construct HTML + $css = array(); + + // Create CSS + $value = $pStyle->getFillType() == PHPExcel_Style_Fill::FILL_NONE ? + 'white' : '#' . $pStyle->getStartColor()->getRGB(); + $css['background-color'] = $value; + + return $css; + } + + /** + * Generate HTML footer + */ + public function generateHTMLFooter() + { + // Construct HTML + $html = ''; + $html .= ' </body>' . PHP_EOL; + $html .= '</html>' . PHP_EOL; + + return $html; + } + + /** + * Generate table header + * + * @param PHPExcel_Worksheet $pSheet The worksheet for the table we are writing + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function generateTableHeader($pSheet) + { + $sheetIndex = $pSheet->getParent()->getIndex($pSheet); + + // Construct HTML + $html = ''; + $html .= $this->setMargins($pSheet); + + if (!$this->useInlineCss) { + $gridlines = $pSheet->getShowGridlines() ? ' gridlines' : ''; + $html .= ' <table border="0" cellpadding="0" cellspacing="0" id="sheet' . $sheetIndex . '" class="sheet' . $sheetIndex . $gridlines . '">' . PHP_EOL; + } else { + $style = isset($this->cssStyles['table']) ? + $this->assembleCSS($this->cssStyles['table']) : ''; + + if ($this->isPdf && $pSheet->getShowGridlines()) { + $html .= ' <table border="1" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="1" style="' . $style . '">' . PHP_EOL; + } else { + $html .= ' <table border="0" cellpadding="1" id="sheet' . $sheetIndex . '" cellspacing="0" style="' . $style . '">' . PHP_EOL; + } + } + + // Write <col> elements + $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($pSheet->getHighestColumn()) - 1; + $i = -1; + while ($i++ < $highestColumnIndex) { + if (!$this->isPdf) { + if (!$this->useInlineCss) { + $html .= ' <col class="col' . $i . '">' . PHP_EOL; + } else { + $style = isset($this->cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) ? + $this->assembleCSS($this->cssStyles['table.sheet' . $sheetIndex . ' col.col' . $i]) : ''; + $html .= ' <col style="' . $style . '">' . PHP_EOL; + } + } + } + + return $html; + } + + /** + * Generate table footer + * + * @throws PHPExcel_Writer_Exception + */ + private function generateTableFooter() + { + $html = ' </table>' . PHP_EOL; + + return $html; + } + + /** + * Generate row + * + * @param PHPExcel_Worksheet $pSheet PHPExcel_Worksheet + * @param array $pValues Array containing cells in a row + * @param int $pRow Row number (0-based) + * @return string + * @throws PHPExcel_Writer_Exception + */ + private function generateRow(PHPExcel_Worksheet $pSheet, $pValues = null, $pRow = 0, $cellType = 'td') + { + if (is_array($pValues)) { + // Construct HTML + $html = ''; + + // Sheet index + $sheetIndex = $pSheet->getParent()->getIndex($pSheet); + + // DomPDF and breaks + if ($this->isPdf && count($pSheet->getBreaks()) > 0) { + $breaks = $pSheet->getBreaks(); + + // check if a break is needed before this row + if (isset($breaks['A' . $pRow])) { + // close table: </table> + $html .= $this->generateTableFooter(); + + // insert page break + $html .= '<div style="page-break-before:always" />'; + + // open table again: <table> + <col> etc. + $html .= $this->generateTableHeader($pSheet); + } + } + + // Write row start + if (!$this->useInlineCss) { + $html .= ' <tr class="row' . $pRow . '">' . PHP_EOL; + } else { + $style = isset($this->cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) + ? $this->assembleCSS($this->cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]) : ''; + + $html .= ' <tr style="' . $style . '">' . PHP_EOL; + } + + // Write cells + $colNum = 0; + foreach ($pValues as $cellAddress) { + $cell = ($cellAddress > '') ? $pSheet->getCell($cellAddress) : ''; + $coordinate = PHPExcel_Cell::stringFromColumnIndex($colNum) . ($pRow + 1); + if (!$this->useInlineCss) { + $cssClass = ''; + $cssClass = 'column' . $colNum; + } else { + $cssClass = array(); + if ($cellType == 'th') { + if (isset($this->cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum])) { + $this->cssStyles['table.sheet' . $sheetIndex . ' th.column' . $colNum]; + } + } else { + if (isset($this->cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum])) { + $this->cssStyles['table.sheet' . $sheetIndex . ' td.column' . $colNum]; + } + } + } + $colSpan = 1; + $rowSpan = 1; + + // initialize + $cellData = '&nbsp;'; + + // PHPExcel_Cell + if ($cell instanceof PHPExcel_Cell) { + $cellData = ''; + if (is_null($cell->getParent())) { + $cell->attach($pSheet); + } + // Value + if ($cell->getValue() instanceof PHPExcel_RichText) { + // Loop through rich text elements + $elements = $cell->getValue()->getRichTextElements(); + foreach ($elements as $element) { + // Rich text start? + if ($element instanceof PHPExcel_RichText_Run) { + $cellData .= '<span style="' . $this->assembleCSS($this->createCSSStyleFont($element->getFont())) . '">'; + + if ($element->getFont()->getSuperScript()) { + $cellData .= '<sup>'; + } elseif ($element->getFont()->getSubScript()) { + $cellData .= '<sub>'; + } + } + + // Convert UTF8 data to PCDATA + $cellText = $element->getText(); + $cellData .= htmlspecialchars($cellText); + + if ($element instanceof PHPExcel_RichText_Run) { + if ($element->getFont()->getSuperScript()) { + $cellData .= '</sup>'; + } elseif ($element->getFont()->getSubScript()) { + $cellData .= '</sub>'; + } + + $cellData .= '</span>'; + } + } + } else { + if ($this->preCalculateFormulas) { + $cellData = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getCalculatedValue(), + $pSheet->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode(), + array($this, 'formatColor') + ); + } else { + $cellData = PHPExcel_Style_NumberFormat::toFormattedString( + $cell->getValue(), + $pSheet->getParent()->getCellXfByIndex($cell->getXfIndex())->getNumberFormat()->getFormatCode(), + array($this, 'formatColor') + ); + } + $cellData = htmlspecialchars($cellData); + if ($pSheet->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont()->getSuperScript()) { + $cellData = '<sup>'.$cellData.'</sup>'; + } elseif ($pSheet->getParent()->getCellXfByIndex($cell->getXfIndex())->getFont()->getSubScript()) { + $cellData = '<sub>'.$cellData.'</sub>'; + } + } + + // Converts the cell content so that spaces occuring at beginning of each new line are replaced by &nbsp; + // Example: " Hello\n to the world" is converted to "&nbsp;&nbsp;Hello\n&nbsp;to the world" + $cellData = preg_replace("/(?m)(?:^|\\G) /", '&nbsp;', $cellData); + + // convert newline "\n" to '<br>' + $cellData = nl2br($cellData); + + // Extend CSS class? + if (!$this->useInlineCss) { + $cssClass .= ' style' . $cell->getXfIndex(); + $cssClass .= ' ' . $cell->getDataType(); + } else { if ($cellType == 'th') { - if (isset($this->_cssStyles['th.style' . $cell->getXfIndex()])) { - $cssClass = array_merge($cssClass, $this->_cssStyles['th.style' . $cell->getXfIndex()]); + if (isset($this->cssStyles['th.style' . $cell->getXfIndex()])) { + $cssClass = array_merge($cssClass, $this->cssStyles['th.style' . $cell->getXfIndex()]); } } else { - if (isset($this->_cssStyles['td.style' . $cell->getXfIndex()])) { - $cssClass = array_merge($cssClass, $this->_cssStyles['td.style' . $cell->getXfIndex()]); + if (isset($this->cssStyles['td.style' . $cell->getXfIndex()])) { + $cssClass = array_merge($cssClass, $this->cssStyles['td.style' . $cell->getXfIndex()]); } } - // General horizontal alignment: Actual horizontal alignment depends on dataType - $sharedStyle = $pSheet->getParent()->getCellXfByIndex( $cell->getXfIndex() ); - if ($sharedStyle->getAlignment()->getHorizontal() == PHPExcel_Style_Alignment::HORIZONTAL_GENERAL - && isset($this->_cssStyles['.' . $cell->getDataType()]['text-align'])) - { - $cssClass['text-align'] = $this->_cssStyles['.' . $cell->getDataType()]['text-align']; - } - } - } + // General horizontal alignment: Actual horizontal alignment depends on dataType + $sharedStyle = $pSheet->getParent()->getCellXfByIndex($cell->getXfIndex()); + if ($sharedStyle->getAlignment()->getHorizontal() == PHPExcel_Style_Alignment::HORIZONTAL_GENERAL + && isset($this->cssStyles['.' . $cell->getDataType()]['text-align'])) { + $cssClass['text-align'] = $this->cssStyles['.' . $cell->getDataType()]['text-align']; + } + } + } - // Hyperlink? - if ($pSheet->hyperlinkExists($coordinate) && !$pSheet->getHyperlink($coordinate)->isInternal()) { - $cellData = '<a href="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getUrl()) . '" title="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getTooltip()) . '">' . $cellData . '</a>'; - } + // Hyperlink? + if ($pSheet->hyperlinkExists($coordinate) && !$pSheet->getHyperlink($coordinate)->isInternal()) { + $cellData = '<a href="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getUrl()) . '" title="' . htmlspecialchars($pSheet->getHyperlink($coordinate)->getTooltip()) . '">' . $cellData . '</a>'; + } - // Should the cell be written or is it swallowed by a rowspan or colspan? - $writeCell = ! ( isset($this->_isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]) - && $this->_isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum] ); + // Should the cell be written or is it swallowed by a rowspan or colspan? + $writeCell = !(isset($this->isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]) + && $this->isSpannedCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]); - // Colspan and Rowspan - $colspan = 1; - $rowspan = 1; - if (isset($this->_isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum])) { - $spans = $this->_isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]; - $rowSpan = $spans['rowspan']; - $colSpan = $spans['colspan']; + // Colspan and Rowspan + $colspan = 1; + $rowspan = 1; + if (isset($this->isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum])) { + $spans = $this->isBaseCell[$pSheet->getParent()->getIndex($pSheet)][$pRow + 1][$colNum]; + $rowSpan = $spans['rowspan']; + $colSpan = $spans['colspan']; - // Also apply style from last cell in merge to fix borders - - // relies on !important for non-none border declarations in _createCSSStyleBorder - $endCellCoord = PHPExcel_Cell::stringFromColumnIndex($colNum + $colSpan - 1) . ($pRow + $rowSpan); - if (!$this->_useInlineCss) { - $cssClass .= ' style' . $pSheet->getCell($endCellCoord)->getXfIndex(); - } - } + // Also apply style from last cell in merge to fix borders - + // relies on !important for non-none border declarations in createCSSStyleBorder + $endCellCoord = PHPExcel_Cell::stringFromColumnIndex($colNum + $colSpan - 1) . ($pRow + $rowSpan); + if (!$this->useInlineCss) { + $cssClass .= ' style' . $pSheet->getCell($endCellCoord)->getXfIndex(); + } + } - // Write - if ($writeCell) { - // Column start - $html .= ' <' . $cellType; - if (!$this->_useInlineCss) { - $html .= ' class="' . $cssClass . '"'; - } else { - //** Necessary redundant code for the sake of PHPExcel_Writer_PDF ** - // We must explicitly write the width of the <td> element because TCPDF - // does not recognize e.g. <col style="width:42pt"> - $width = 0; - $i = $colNum - 1; - $e = $colNum + $colSpan - 1; - while($i++ < $e) { - if (isset($this->_columnWidths[$sheetIndex][$i])) { - $width += $this->_columnWidths[$sheetIndex][$i]; - } - } - $cssClass['width'] = $width . 'pt'; + // Write + if ($writeCell) { + // Column start + $html .= ' <' . $cellType; + if (!$this->useInlineCss) { + $html .= ' class="' . $cssClass . '"'; + } else { + //** Necessary redundant code for the sake of PHPExcel_Writer_PDF ** + // We must explicitly write the width of the <td> element because TCPDF + // does not recognize e.g. <col style="width:42pt"> + $width = 0; + $i = $colNum - 1; + $e = $colNum + $colSpan - 1; + while ($i++ < $e) { + if (isset($this->columnWidths[$sheetIndex][$i])) { + $width += $this->columnWidths[$sheetIndex][$i]; + } + } + $cssClass['width'] = $width . 'pt'; - // We must also explicitly write the height of the <td> element because TCPDF - // does not recognize e.g. <tr style="height:50pt"> - if (isset($this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height'])) { - $height = $this->_cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height']; - $cssClass['height'] = $height; - } - //** end of redundant code ** + // We must also explicitly write the height of the <td> element because TCPDF + // does not recognize e.g. <tr style="height:50pt"> + if (isset($this->cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height'])) { + $height = $this->cssStyles['table.sheet' . $sheetIndex . ' tr.row' . $pRow]['height']; + $cssClass['height'] = $height; + } + //** end of redundant code ** - $html .= ' style="' . $this->_assembleCSS($cssClass) . '"'; - } - if ($colSpan > 1) { - $html .= ' colspan="' . $colSpan . '"'; - } - if ($rowSpan > 1) { - $html .= ' rowspan="' . $rowSpan . '"'; - } - $html .= '>'; + $html .= ' style="' . $this->assembleCSS($cssClass) . '"'; + } + if ($colSpan > 1) { + $html .= ' colspan="' . $colSpan . '"'; + } + if ($rowSpan > 1) { + $html .= ' rowspan="' . $rowSpan . '"'; + } + $html .= '>'; - // Image? - $html .= $this->_writeImageInCell($pSheet, $coordinate); + // Image? + $html .= $this->writeImageInCell($pSheet, $coordinate); - // Chart? - if ($this->_includeCharts) { - $html .= $this->_writeChartInCell($pSheet, $coordinate); - } + // Chart? + if ($this->includeCharts) { + $html .= $this->writeChartInCell($pSheet, $coordinate); + } - // Cell data - $html .= $cellData; + // Cell data + $html .= $cellData; - // Column end - $html .= '</'.$cellType.'>' . PHP_EOL; - } + // Column end + $html .= '</'.$cellType.'>' . PHP_EOL; + } - // Next column - ++$colNum; - } + // Next column + ++$colNum; + } - // Write row end - $html .= ' </tr>' . PHP_EOL; + // Write row end + $html .= ' </tr>' . PHP_EOL; - // Return - return $html; - } else { - throw new PHPExcel_Writer_Exception("Invalid parameters passed."); - } - } + // Return + return $html; + } else { + throw new PHPExcel_Writer_Exception("Invalid parameters passed."); + } + } - /** - * Takes array where of CSS properties / values and converts to CSS string - * - * @param array - * @return string - */ - private function _assembleCSS($pValue = array()) - { - $pairs = array(); - foreach ($pValue as $property => $value) { - $pairs[] = $property . ':' . $value; - } - $string = implode('; ', $pairs); + /** + * Takes array where of CSS properties / values and converts to CSS string + * + * @param array + * @return string + */ + private function assembleCSS($pValue = array()) + { + $pairs = array(); + foreach ($pValue as $property => $value) { + $pairs[] = $property . ':' . $value; + } + $string = implode('; ', $pairs); - return $string; - } + return $string; + } - /** - * Get images root - * - * @return string - */ - public function getImagesRoot() { - return $this->_imagesRoot; - } + /** + * Get images root + * + * @return string + */ + public function getImagesRoot() + { + return $this->imagesRoot; + } - /** - * Set images root - * - * @param string $pValue - * @return PHPExcel_Writer_HTML - */ - public function setImagesRoot($pValue = '.') { - $this->_imagesRoot = $pValue; - return $this; - } + /** + * Set images root + * + * @param string $pValue + * @return PHPExcel_Writer_HTML + */ + public function setImagesRoot($pValue = '.') + { + $this->imagesRoot = $pValue; + return $this; + } - /** - * Get embed images - * - * @return boolean - */ - public function getEmbedImages() { - return $this->_embedImages; - } + /** + * Get embed images + * + * @return boolean + */ + public function getEmbedImages() + { + return $this->embedImages; + } - /** - * Set embed images - * - * @param boolean $pValue - * @return PHPExcel_Writer_HTML - */ - public function setEmbedImages($pValue = '.') { - $this->_embedImages = $pValue; - return $this; - } + /** + * Set embed images + * + * @param boolean $pValue + * @return PHPExcel_Writer_HTML + */ + public function setEmbedImages($pValue = '.') + { + $this->embedImages = $pValue; + return $this; + } - /** - * Get use inline CSS? - * - * @return boolean - */ - public function getUseInlineCss() { - return $this->_useInlineCss; - } + /** + * Get use inline CSS? + * + * @return boolean + */ + public function getUseInlineCss() + { + return $this->useInlineCss; + } - /** - * Set use inline CSS? - * - * @param boolean $pValue - * @return PHPExcel_Writer_HTML - */ - public function setUseInlineCss($pValue = false) { - $this->_useInlineCss = $pValue; - return $this; - } + /** + * Set use inline CSS? + * + * @param boolean $pValue + * @return PHPExcel_Writer_HTML + */ + public function setUseInlineCss($pValue = false) + { + $this->useInlineCss = $pValue; + return $this; + } - /** - * Add color to formatted string as inline style - * - * @param string $pValue Plain formatted value without color - * @param string $pFormat Format code - * @return string - */ - public function formatColor($pValue, $pFormat) - { - // Color information, e.g. [Red] is always at the beginning - $color = null; // initialize - $matches = array(); + /** + * Add color to formatted string as inline style + * + * @param string $pValue Plain formatted value without color + * @param string $pFormat Format code + * @return string + */ + public function formatColor($pValue, $pFormat) + { + // Color information, e.g. [Red] is always at the beginning + $color = null; // initialize + $matches = array(); - $color_regex = '/^\\[[a-zA-Z]+\\]/'; - if (preg_match($color_regex, $pFormat, $matches)) { - $color = str_replace('[', '', $matches[0]); - $color = str_replace(']', '', $color); - $color = strtolower($color); - } + $color_regex = '/^\\[[a-zA-Z]+\\]/'; + if (preg_match($color_regex, $pFormat, $matches)) { + $color = str_replace('[', '', $matches[0]); + $color = str_replace(']', '', $color); + $color = strtolower($color); + } - // convert to PCDATA - $value = htmlspecialchars($pValue); + // convert to PCDATA + $value = htmlspecialchars($pValue); - // color span tag - if ($color !== null) { - $value = '<span style="color:' . $color . '">' . $value . '</span>'; - } + // color span tag + if ($color !== null) { + $value = '<span style="color:' . $color . '">' . $value . '</span>'; + } - return $value; - } + return $value; + } - /** - * Calculate information about HTML colspan and rowspan which is not always the same as Excel's - */ - private function _calculateSpans() - { - // Identify all cells that should be omitted in HTML due to cell merge. - // In HTML only the upper-left cell should be written and it should have - // appropriate rowspan / colspan attribute - $sheetIndexes = $this->_sheetIndex !== null ? - array($this->_sheetIndex) : range(0, $this->_phpExcel->getSheetCount() - 1); + /** + * Calculate information about HTML colspan and rowspan which is not always the same as Excel's + */ + private function calculateSpans() + { + // Identify all cells that should be omitted in HTML due to cell merge. + // In HTML only the upper-left cell should be written and it should have + // appropriate rowspan / colspan attribute + $sheetIndexes = $this->sheetIndex !== null ? + array($this->sheetIndex) : range(0, $this->phpExcel->getSheetCount() - 1); - foreach ($sheetIndexes as $sheetIndex) { - $sheet = $this->_phpExcel->getSheet($sheetIndex); + foreach ($sheetIndexes as $sheetIndex) { + $sheet = $this->phpExcel->getSheet($sheetIndex); - $candidateSpannedRow = array(); + $candidateSpannedRow = array(); - // loop through all Excel merged cells - foreach ($sheet->getMergeCells() as $cells) { - list($cells, ) = PHPExcel_Cell::splitRange($cells); - $first = $cells[0]; - $last = $cells[1]; + // loop through all Excel merged cells + foreach ($sheet->getMergeCells() as $cells) { + list($cells,) = PHPExcel_Cell::splitRange($cells); + $first = $cells[0]; + $last = $cells[1]; - list($fc, $fr) = PHPExcel_Cell::coordinateFromString($first); - $fc = PHPExcel_Cell::columnIndexFromString($fc) - 1; + list($fc, $fr) = PHPExcel_Cell::coordinateFromString($first); + $fc = PHPExcel_Cell::columnIndexFromString($fc) - 1; - list($lc, $lr) = PHPExcel_Cell::coordinateFromString($last); - $lc = PHPExcel_Cell::columnIndexFromString($lc) - 1; + list($lc, $lr) = PHPExcel_Cell::coordinateFromString($last); + $lc = PHPExcel_Cell::columnIndexFromString($lc) - 1; - // loop through the individual cells in the individual merge - $r = $fr - 1; - while($r++ < $lr) { - // also, flag this row as a HTML row that is candidate to be omitted - $candidateSpannedRow[$r] = $r; + // loop through the individual cells in the individual merge + $r = $fr - 1; + while ($r++ < $lr) { + // also, flag this row as a HTML row that is candidate to be omitted + $candidateSpannedRow[$r] = $r; - $c = $fc - 1; - while($c++ < $lc) { - if ( !($c == $fc && $r == $fr) ) { - // not the upper-left cell (should not be written in HTML) - $this->_isSpannedCell[$sheetIndex][$r][$c] = array( - 'baseCell' => array($fr, $fc), - ); - } else { - // upper-left is the base cell that should hold the colspan/rowspan attribute - $this->_isBaseCell[$sheetIndex][$r][$c] = array( - 'xlrowspan' => $lr - $fr + 1, // Excel rowspan - 'rowspan' => $lr - $fr + 1, // HTML rowspan, value may change - 'xlcolspan' => $lc - $fc + 1, // Excel colspan - 'colspan' => $lc - $fc + 1, // HTML colspan, value may change - ); - } - } - } - } + $c = $fc - 1; + while ($c++ < $lc) { + if (!($c == $fc && $r == $fr)) { + // not the upper-left cell (should not be written in HTML) + $this->isSpannedCell[$sheetIndex][$r][$c] = array( + 'baseCell' => array($fr, $fc), + ); + } else { + // upper-left is the base cell that should hold the colspan/rowspan attribute + $this->isBaseCell[$sheetIndex][$r][$c] = array( + 'xlrowspan' => $lr - $fr + 1, // Excel rowspan + 'rowspan' => $lr - $fr + 1, // HTML rowspan, value may change + 'xlcolspan' => $lc - $fc + 1, // Excel colspan + 'colspan' => $lc - $fc + 1, // HTML colspan, value may change + ); + } + } + } + } - // Identify which rows should be omitted in HTML. These are the rows where all the cells - // participate in a merge and the where base cells are somewhere above. - $countColumns = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()); - foreach ($candidateSpannedRow as $rowIndex) { - if (isset($this->_isSpannedCell[$sheetIndex][$rowIndex])) { - if (count($this->_isSpannedCell[$sheetIndex][$rowIndex]) == $countColumns) { - $this->_isSpannedRow[$sheetIndex][$rowIndex] = $rowIndex; - }; - } - } + // Identify which rows should be omitted in HTML. These are the rows where all the cells + // participate in a merge and the where base cells are somewhere above. + $countColumns = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()); + foreach ($candidateSpannedRow as $rowIndex) { + if (isset($this->isSpannedCell[$sheetIndex][$rowIndex])) { + if (count($this->isSpannedCell[$sheetIndex][$rowIndex]) == $countColumns) { + $this->isSpannedRow[$sheetIndex][$rowIndex] = $rowIndex; + }; + } + } - // For each of the omitted rows we found above, the affected rowspans should be subtracted by 1 - if ( isset($this->_isSpannedRow[$sheetIndex]) ) { - foreach ($this->_isSpannedRow[$sheetIndex] as $rowIndex) { - $adjustedBaseCells = array(); - $c = -1; - $e = $countColumns - 1; - while($c++ < $e) { - $baseCell = $this->_isSpannedCell[$sheetIndex][$rowIndex][$c]['baseCell']; + // For each of the omitted rows we found above, the affected rowspans should be subtracted by 1 + if (isset($this->isSpannedRow[$sheetIndex])) { + foreach ($this->isSpannedRow[$sheetIndex] as $rowIndex) { + $adjustedBaseCells = array(); + $c = -1; + $e = $countColumns - 1; + while ($c++ < $e) { + $baseCell = $this->isSpannedCell[$sheetIndex][$rowIndex][$c]['baseCell']; - if ( !in_array($baseCell, $adjustedBaseCells) ) { - // subtract rowspan by 1 - --$this->_isBaseCell[$sheetIndex][ $baseCell[0] ][ $baseCell[1] ]['rowspan']; - $adjustedBaseCells[] = $baseCell; - } - } - } - } + if (!in_array($baseCell, $adjustedBaseCells)) { + // subtract rowspan by 1 + --$this->isBaseCell[$sheetIndex][ $baseCell[0] ][ $baseCell[1] ]['rowspan']; + $adjustedBaseCells[] = $baseCell; + } + } + } + } - // TODO: Same for columns - } + // TODO: Same for columns + } - // We have calculated the spans - $this->_spansAreCalculated = true; - } + // We have calculated the spans + $this->spansAreCalculated = true; + } - private function _setMargins(PHPExcel_Worksheet $pSheet) { - $htmlPage = '@page { '; - $htmlBody = 'body { '; + private function setMargins(PHPExcel_Worksheet $pSheet) + { + $htmlPage = '@page { '; + $htmlBody = 'body { '; - $left = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft()) . 'in; '; - $htmlPage .= 'left-margin: ' . $left; - $htmlBody .= 'left-margin: ' . $left; - $right = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight()) . 'in; '; - $htmlPage .= 'right-margin: ' . $right; - $htmlBody .= 'right-margin: ' . $right; - $top = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop()) . 'in; '; - $htmlPage .= 'top-margin: ' . $top; - $htmlBody .= 'top-margin: ' . $top; - $bottom = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom()) . 'in; '; - $htmlPage .= 'bottom-margin: ' . $bottom; - $htmlBody .= 'bottom-margin: ' . $bottom; + $left = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getLeft()) . 'in; '; + $htmlPage .= 'margin-left: ' . $left; + $htmlBody .= 'margin-left: ' . $left; + $right = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getRight()) . 'in; '; + $htmlPage .= 'margin-right: ' . $right; + $htmlBody .= 'margin-right: ' . $right; + $top = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getTop()) . 'in; '; + $htmlPage .= 'margin-top: ' . $top; + $htmlBody .= 'margin-top: ' . $top; + $bottom = PHPExcel_Shared_String::FormatNumber($pSheet->getPageMargins()->getBottom()) . 'in; '; + $htmlPage .= 'margin-bottom: ' . $bottom; + $htmlBody .= 'margin-bottom: ' . $bottom; - $htmlPage .= "}\n"; - $htmlBody .= "}\n"; + $htmlPage .= "}\n"; + $htmlBody .= "}\n"; - return "<style>\n" . $htmlPage . $htmlBody . "</style>\n"; - } - + return "<style>\n" . $htmlPage . $htmlBody . "</style>\n"; + } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php index f0b94b9e9..c7cfe7405 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/IWriter.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_IWriter * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_IWriter - * - * @category PHPExcel - * @package PHPExcel_Writer - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ interface PHPExcel_Writer_IWriter { /** @@ -41,6 +33,5 @@ interface PHPExcel_Writer_IWriter * @param string $pFilename Name of the file to save * @throws PHPExcel_Writer_Exception */ - public function save($pFilename = NULL); - + public function save($pFilename = null); } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php index 2cbe6f904..912ba9df7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,21 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - * @link http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os.html - */ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements PHPExcel_Writer_IWriter { /** @@ -42,14 +32,14 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P * * @var PHPExcel_Writer_OpenDocument_WriterPart[] */ - private $_writerParts = array(); + private $writerParts = array(); /** * Private PHPExcel * * @var PHPExcel */ - private $_spreadSheet; + private $spreadSheet; /** * Create a new PHPExcel_Writer_OpenDocument @@ -71,7 +61,7 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P ); foreach ($writerPartsArray as $writer => $class) { - $this->_writerParts[$writer] = new $class($this); + $this->writerParts[$writer] = new $class($this); } } @@ -83,8 +73,8 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P */ public function getWriterPart($pPartName = '') { - if ($pPartName != '' && isset($this->_writerParts[strtolower($pPartName)])) { - return $this->_writerParts[strtolower($pPartName)]; + if ($pPartName != '' && isset($this->writerParts[strtolower($pPartName)])) { + return $this->writerParts[strtolower($pPartName)]; } else { return null; } @@ -96,14 +86,14 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P * @param string $pFilename * @throws PHPExcel_Writer_Exception */ - public function save($pFilename = NULL) + public function save($pFilename = null) { - if (!$this->_spreadSheet) { + if (!$this->spreadSheet) { throw new PHPExcel_Writer_Exception('PHPExcel object unassigned.'); } // garbage collect - $this->_spreadSheet->garbageCollect(); + $this->spreadSheet->garbageCollect(); // If $pFilename is php://output or php://stdout, make it a temporary file... $originalFilename = $pFilename; @@ -114,15 +104,15 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P } } - $objZip = $this->_createZip($pFilename); + $objZip = $this->createZip($pFilename); $objZip->addFromString('META-INF/manifest.xml', $this->getWriterPart('meta_inf')->writeManifest()); $objZip->addFromString('Thumbnails/thumbnail.png', $this->getWriterPart('thumbnails')->writeThumbnail()); - $objZip->addFromString('content.xml', $this->getWriterPart('content')->write()); - $objZip->addFromString('meta.xml', $this->getWriterPart('meta')->write()); - $objZip->addFromString('mimetype', $this->getWriterPart('mimetype')->write()); + $objZip->addFromString('content.xml', $this->getWriterPart('content')->write()); + $objZip->addFromString('meta.xml', $this->getWriterPart('meta')->write()); + $objZip->addFromString('mimetype', $this->getWriterPart('mimetype')->write()); $objZip->addFromString('settings.xml', $this->getWriterPart('settings')->write()); - $objZip->addFromString('styles.xml', $this->getWriterPart('styles')->write()); + $objZip->addFromString('styles.xml', $this->getWriterPart('styles')->write()); // Close file if ($objZip->close() === false) { @@ -145,7 +135,7 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P * @throws PHPExcel_Writer_Exception * @return ZipArchive */ - private function _createZip($pFilename) + private function createZip($pFilename) { // Create new ZIP file and open it for writing $zipClass = PHPExcel_Settings::getZipClass(); @@ -178,8 +168,8 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P */ public function getPHPExcel() { - if ($this->_spreadSheet !== null) { - return $this->_spreadSheet; + if ($this->spreadSheet !== null) { + return $this->spreadSheet; } else { throw new PHPExcel_Writer_Exception('No PHPExcel assigned.'); } @@ -194,7 +184,7 @@ class PHPExcel_Writer_OpenDocument extends PHPExcel_Writer_Abstract implements P */ public function setPHPExcel(PHPExcel $pPHPExcel = null) { - $this->_spreadSheet = $pPHPExcel; + $this->spreadSheet = $pPHPExcel; return $this; } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php index 88406ed1a..f1e98a16e 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Cell/Comment.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,7 +31,7 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @author Alexander Pervakov <frost-nzcr4@jagmort.com> */ class PHPExcel_Writer_OpenDocument_Cell_Comment diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php index 625b35417..a34b1670c 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Content.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,8 +20,8 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -31,7 +31,7 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @author Alexander Pervakov <frost-nzcr4@jagmort.com> */ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_WriterPart @@ -105,7 +105,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ $objWriter->startElement('office:body'); $objWriter->startElement('office:spreadsheet'); $objWriter->writeElement('table:calculation-settings'); - $this->_writeSheets($objWriter); + $this->writeSheets($objWriter); $objWriter->writeElement('table:named-expressions'); $objWriter->endElement(); $objWriter->endElement(); @@ -119,7 +119,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ * * @param PHPExcel_Shared_XMLWriter $objWriter */ - private function _writeSheets(PHPExcel_Shared_XMLWriter $objWriter) + private function writeSheets(PHPExcel_Shared_XMLWriter $objWriter) { $pPHPExcel = $this->getParentWriter()->getPHPExcel(); /* @var $pPHPExcel PHPExcel */ @@ -132,7 +132,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ $objWriter->startElement('table:table-column'); $objWriter->writeAttribute('table:number-columns-repeated', self::NUMBER_COLS_REPEATED_MAX); $objWriter->endElement(); - $this->_writeRows($objWriter, $pPHPExcel->getSheet($i)); + $this->writeRows($objWriter, $pPHPExcel->getSheet($i)); $objWriter->endElement(); } } @@ -143,7 +143,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ * @param PHPExcel_Shared_XMLWriter $objWriter * @param PHPExcel_Worksheet $sheet */ - private function _writeRows(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet $sheet) + private function writeRows(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet $sheet) { $number_rows_repeated = self::NUMBER_ROWS_REPEATED_MAX; $span_row = 0; @@ -164,7 +164,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ $span_row = 0; } $objWriter->startElement('table:table-row'); - $this->_writeCells($objWriter, $row); + $this->writeCells($objWriter, $row); $objWriter->endElement(); } else { $span_row++; @@ -180,7 +180,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ * @param PHPExcel_Worksheet_Row $row * @throws PHPExcel_Writer_Exception */ - private function _writeCells(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet_Row $row) + private function writeCells(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Worksheet_Row $row) { $number_cols_repeated = self::NUMBER_COLS_REPEATED_MAX; $prev_column = -1; @@ -189,7 +189,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ $cell = $cells->current(); $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1; - $this->_writeCellSpan($objWriter, $column, $prev_column); + $this->writeCellSpan($objWriter, $column, $prev_column); $objWriter->startElement('table:table-cell'); switch ($cell->getDataType()) { @@ -258,7 +258,7 @@ class PHPExcel_Writer_OpenDocument_Content extends PHPExcel_Writer_OpenDocument_ * @param integer $curColumn * @param integer $prevColumn */ - private function _writeCellSpan(PHPExcel_Shared_XMLWriter $objWriter, $curColumn, $prevColumn) + private function writeCellSpan(PHPExcel_Shared_XMLWriter $objWriter, $curColumn, $prevColumn) { $diff = $curColumn - $prevColumn - 1; if (1 === $diff) { diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php index 7f39e5589..1a5c5fd0b 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Meta.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_Meta * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_Meta - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_Meta extends PHPExcel_Writer_OpenDocument_WriterPart { /** @@ -61,36 +52,42 @@ class PHPExcel_Writer_OpenDocument_Meta extends PHPExcel_Writer_OpenDocument_Wri // Meta $objWriter->startElement('office:document-meta'); - $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); - $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); - $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); - $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); - $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); - $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); - $objWriter->writeAttribute('office:version', '1.2'); - $objWriter->startElement('office:meta'); - $objWriter->writeElement('meta:initial-creator', $pPHPExcel->getProperties()->getCreator()); - $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); - $objWriter->writeElement('meta:creation-date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); - $objWriter->writeElement('dc:date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); - $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); - $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); - $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); - $keywords = explode(' ', $pPHPExcel->getProperties()->getKeywords()); - foreach ($keywords as $keyword) { - $objWriter->writeElement('meta:keyword', $keyword); - } - //<meta:document-statistic meta:table-count="XXX" meta:cell-count="XXX" meta:object-count="XXX"/> - $objWriter->startElement('meta:user-defined'); - $objWriter->writeAttribute('meta:name', 'Company'); - $objWriter->writeRaw($pPHPExcel->getProperties()->getCompany()); - $objWriter->endElement(); - $objWriter->startElement('meta:user-defined'); - $objWriter->writeAttribute('meta:name', 'category'); - $objWriter->writeRaw($pPHPExcel->getProperties()->getCategory()); - $objWriter->endElement(); - $objWriter->endElement(); + $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); + $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); + $objWriter->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/'); + $objWriter->writeAttribute('xmlns:meta', 'urn:oasis:names:tc:opendocument:xmlns:meta:1.0'); + $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); + $objWriter->writeAttribute('xmlns:grddl', 'http://www.w3.org/2003/g/data-view#'); + $objWriter->writeAttribute('office:version', '1.2'); + + $objWriter->startElement('office:meta'); + + $objWriter->writeElement('meta:initial-creator', $pPHPExcel->getProperties()->getCreator()); + $objWriter->writeElement('dc:creator', $pPHPExcel->getProperties()->getCreator()); + $objWriter->writeElement('meta:creation-date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->writeElement('dc:date', date(DATE_W3C, $pPHPExcel->getProperties()->getCreated())); + $objWriter->writeElement('dc:title', $pPHPExcel->getProperties()->getTitle()); + $objWriter->writeElement('dc:description', $pPHPExcel->getProperties()->getDescription()); + $objWriter->writeElement('dc:subject', $pPHPExcel->getProperties()->getSubject()); + $keywords = explode(' ', $pPHPExcel->getProperties()->getKeywords()); + foreach ($keywords as $keyword) { + $objWriter->writeElement('meta:keyword', $keyword); + } + + //<meta:document-statistic meta:table-count="XXX" meta:cell-count="XXX" meta:object-count="XXX"/> + $objWriter->startElement('meta:user-defined'); + $objWriter->writeAttribute('meta:name', 'Company'); + $objWriter->writeRaw($pPHPExcel->getProperties()->getCompany()); + $objWriter->endElement(); + + $objWriter->startElement('meta:user-defined'); + $objWriter->writeAttribute('meta:name', 'category'); + $objWriter->writeRaw($pPHPExcel->getProperties()->getCategory()); + $objWriter->endElement(); + + $objWriter->endElement(); + $objWriter->endElement(); return $objWriter->getData(); diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php index 301d39db9..c43b72334 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/MetaInf.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_MetaInf * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_MetaInf - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_MetaInf extends PHPExcel_Writer_OpenDocument_WriterPart { /** diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php index 99ff638a9..d51a8b970 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Mimetype.php @@ -1,8 +1,9 @@ <?php + /** * PHPExcel * - * Copyright (c) 2006 - 2014 PHPExcel + * PHPExcel_Writer_OpenDocument_Mimetype * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_Mimetype - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_Mimetype extends PHPExcel_Writer_OpenDocument_WriterPart { /** diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php index 557e748d4..84161b6d7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Settings.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_Settings * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_Settings - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_Settings extends PHPExcel_Writer_OpenDocument_WriterPart { /** diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php index d88673632..cc6e25b48 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Styles.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_Styles * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_Styles - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_Styles extends PHPExcel_Writer_OpenDocument_WriterPart { /** diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php index a7e85c456..54247ae2a 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/Thumbnails.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_Thumbnails * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,20 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_Thumbnails - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @author Alexander Pervakov <frost-nzcr4@jagmort.com> - */ class PHPExcel_Writer_OpenDocument_Thumbnails extends PHPExcel_Writer_OpenDocument_WriterPart { /** diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php index e6e713a1b..562787a33 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/OpenDocument/WriterPart.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_OpenDocument_WriterPart * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_OpenDocument_WriterPart - * - * @category PHPExcel - * @package PHPExcel_Writer_OpenDocument - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ abstract class PHPExcel_Writer_OpenDocument_WriterPart extends PHPExcel_Writer_Excel2007_WriterPart { } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php index 3131ee0a1..579edfa53 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_PDF * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_PDF - * - * @category PHPExcel - * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter { @@ -41,7 +33,7 @@ class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter * * @var PHPExcel_Writer_PDF_Core */ - private $_renderer = NULL; + private $renderer = null; /** * Instantiate a new renderer of the configured type within this container class @@ -67,7 +59,7 @@ class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter } $rendererName = 'PHPExcel_Writer_PDF_' . $pdfLibraryName; - $this->_renderer = new $rendererName($phpExcel); + $this->renderer = new $rendererName($phpExcel); } @@ -80,11 +72,11 @@ class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter */ public function __call($name, $arguments) { - if ($this->_renderer === NULL) { + if ($this->renderer === null) { throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined."); } - return call_user_func_array(array($this->_renderer, $name), $arguments); + return call_user_func_array(array($this->renderer, $name), $arguments); } /** @@ -92,6 +84,6 @@ class PHPExcel_Writer_PDF implements PHPExcel_Writer_IWriter */ public function save($pFilename = null) { - $this->_renderer->save($pFilename); + $this->renderer->save($pFilename); } } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php index 3842334d9..4fed84a71 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/Core.php @@ -1,8 +1,9 @@ <?php + /** - * PHPExcel + * PHPExcel_Writer_PDF_Core * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,19 +21,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** - * PHPExcel_Writer_PDF_Core - * - * @category PHPExcel - * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML { /** @@ -40,28 +32,28 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML * * @var string */ - protected $_tempDir = ''; + protected $tempDir = ''; /** * Font * * @var string */ - protected $_font = 'freesans'; + protected $font = 'freesans'; /** * Orientation (Over-ride) * * @var string */ - protected $_orientation = NULL; + protected $orientation; /** * Paper size (Over-ride) * * @var int */ - protected $_paperSize = NULL; + protected $paperSize; /** @@ -69,14 +61,14 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML * * @var string */ - private $_saveArrayReturnType; + private $saveArrayReturnType; /** * Paper Sizes xRef List * * @var array */ - protected static $_paperSizes = array( + protected static $paperSizes = array( PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER => 'LETTER', // (8.5 in. by 11 in.) PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER_SMALL @@ -219,8 +211,8 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML public function __construct(PHPExcel $phpExcel) { parent::__construct($phpExcel); - $this->setUseInlineCss(TRUE); - $this->_tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); + $this->setUseInlineCss(true); + $this->tempDir = PHPExcel_Shared_File::sys_get_temp_dir(); } /** @@ -230,7 +222,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function getFont() { - return $this->_font; + return $this->font; } /** @@ -244,7 +236,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function setFont($fontName) { - $this->_font = $fontName; + $this->font = $fontName; return $this; } @@ -255,7 +247,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function getPaperSize() { - return $this->_paperSize; + return $this->paperSize; } /** @@ -266,7 +258,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function setPaperSize($pValue = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER) { - $this->_paperSize = $pValue; + $this->paperSize = $pValue; return $this; } @@ -277,7 +269,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function getOrientation() { - return $this->_orientation; + return $this->orientation; } /** @@ -288,7 +280,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function setOrientation($pValue = PHPExcel_Worksheet_PageSetup::ORIENTATION_DEFAULT) { - $this->_orientation = $pValue; + $this->orientation = $pValue; return $this; } @@ -299,7 +291,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML */ public function getTempDir() { - return $this->_tempDir; + return $this->tempDir; } /** @@ -312,7 +304,7 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML public function setTempDir($pValue = '') { if (is_dir($pValue)) { - $this->_tempDir = $pValue; + $this->tempDir = $pValue; } else { throw new PHPExcel_Writer_Exception("Directory does not exist: $pValue"); } @@ -325,24 +317,24 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML * @param string $pFilename Name of the file to save as * @throws PHPExcel_Writer_Exception */ - protected function prepareForSave($pFilename = NULL) + protected function prepareForSave($pFilename = null) { // garbage collect - $this->_phpExcel->garbageCollect(); + $this->phpExcel->garbageCollect(); - $this->_saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); + $this->saveArrayReturnType = PHPExcel_Calculation::getArrayReturnType(); PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); // Open file $fileHandle = fopen($pFilename, 'w'); - if ($fileHandle === FALSE) { + if ($fileHandle === false) { throw new PHPExcel_Writer_Exception("Could not open file $pFilename for writing."); } // Set PDF - $this->_isPdf = TRUE; + $this->isPdf = true; // Build CSS - $this->buildCSS(TRUE); + $this->buildCSS(true); return $fileHandle; } @@ -358,7 +350,6 @@ abstract class PHPExcel_Writer_PDF_Core extends PHPExcel_Writer_HTML // Close file fclose($fileHandle); - PHPExcel_Calculation::setArrayReturnType($this->_saveArrayReturnType); + PHPExcel_Calculation::setArrayReturnType($this->saveArrayReturnType); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php index 01e4e0122..83761acb3 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/DomPDF.php @@ -1,8 +1,17 @@ <?php + +/** Require DomPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/dompdf_config.inc.php'; +if (file_exists($pdfRendererClassFile)) { + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + /** - * PHPExcel + * PHPExcel_Writer_PDF_DomPDF * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,27 +29,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** Require DomPDF library */ -$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/dompdf_config.inc.php'; -if (file_exists($pdfRendererClassFile)) { - require_once $pdfRendererClassFile; -} else { - throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); -} - -/** - * PHPExcel_Writer_PDF_DomPDF - * - * @category PHPExcel - * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter { /** @@ -59,7 +51,7 @@ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHP * @param string $pFilename Name of the file to save as * @throws PHPExcel_Writer_Exception */ - public function save($pFilename = NULL) + public function save($pFilename = null) { $fileHandle = parent::prepareForSave($pFilename); @@ -68,21 +60,16 @@ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHP // Check for paper size and page orientation if (is_null($this->getSheetIndex())) { - $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + $orientation = ($this->phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet(0)->getPageMargins(); } else { - $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + $orientation = ($this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); } - $orientation = ($orientation == 'L') ? 'landscape' : 'portrait'; @@ -97,8 +84,8 @@ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHP $printPaperSize = $this->getPaperSize(); } - if (isset(self::$_paperSizes[$printPaperSize])) { - $paperSize = self::$_paperSizes[$printPaperSize]; + if (isset(self::$paperSizes[$printPaperSize])) { + $paperSize = self::$paperSizes[$printPaperSize]; } @@ -107,7 +94,7 @@ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHP $pdf->set_paper(strtolower($paperSize), $orientation); $pdf->load_html( - $this->generateHTMLHeader(FALSE) . + $this->generateHTMLHeader(false) . $this->generateSheetData() . $this->generateHTMLFooter() ); @@ -116,7 +103,6 @@ class PHPExcel_Writer_PDF_DomPDF extends PHPExcel_Writer_PDF_Core implements PHP // Write to file fwrite($fileHandle, $pdf->output()); - parent::restoreStateAfterSave($fileHandle); + parent::restoreStateAfterSave($fileHandle); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php index dddc097d3..e4e6057d7 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/mPDF.php @@ -1,8 +1,17 @@ <?php + +/** Require mPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/mpdf.php'; +if (file_exists($pdfRendererClassFile)) { + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + /** - * PHPExcel + * PHPExcel_Writer_PDF_mPDF * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,27 +29,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** Require mPDF library */ -$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/mpdf.php'; -if (file_exists($pdfRendererClassFile)) { - require_once $pdfRendererClassFile; -} else { - throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); -} - -/** - * PHPExcel_Writer_PDF_mPDF - * - * @category PHPExcel - * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter { /** @@ -59,7 +51,7 @@ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPEx * @param string $pFilename Name of the file to save as * @throws PHPExcel_Writer_Exception */ - public function save($pFilename = NULL) + public function save($pFilename = null) { $fileHandle = parent::prepareForSave($pFilename); @@ -68,19 +60,15 @@ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPEx // Check for paper size and page orientation if (is_null($this->getSheetIndex())) { - $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + $orientation = ($this->phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet(0)->getPageMargins(); } else { - $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + $orientation = ($this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); } $this->setOrientation($orientation); @@ -97,10 +85,11 @@ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPEx $printPaperSize = $this->getPaperSize(); } - if (isset(self::$_paperSizes[$printPaperSize])) { - $paperSize = self::$_paperSizes[$printPaperSize]; + if (isset(self::$paperSizes[$printPaperSize])) { + $paperSize = self::$paperSizes[$printPaperSize]; } + // Create PDF $pdf = new mpdf(); $ortmp = $orientation; @@ -109,14 +98,14 @@ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPEx $pdf->AddPage($orientation); // Document info - $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle()); - $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator()); - $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject()); - $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords()); - $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator()); + $pdf->SetTitle($this->phpExcel->getProperties()->getTitle()); + $pdf->SetAuthor($this->phpExcel->getProperties()->getCreator()); + $pdf->SetSubject($this->phpExcel->getProperties()->getSubject()); + $pdf->SetKeywords($this->phpExcel->getProperties()->getKeywords()); + $pdf->SetCreator($this->phpExcel->getProperties()->getCreator()); $pdf->WriteHTML( - $this->generateHTMLHeader(FALSE) . + $this->generateHTMLHeader(false) . $this->generateSheetData() . $this->generateHTMLFooter() ); @@ -124,7 +113,6 @@ class PHPExcel_Writer_PDF_mPDF extends PHPExcel_Writer_PDF_Core implements PHPEx // Write to file fwrite($fileHandle, $pdf->Output('', 'S')); - parent::restoreStateAfterSave($fileHandle); + parent::restoreStateAfterSave($fileHandle); } - } diff --git a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php index 4e1937afc..dea33a352 100644 --- a/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php +++ b/vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/PDF/tcPDF.php @@ -1,8 +1,18 @@ <?php + +/** Require tcPDF library */ +$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/tcpdf.php'; +if (file_exists($pdfRendererClassFile)) { + $k_path_url = PHPExcel_Settings::getPdfRendererPath(); + require_once $pdfRendererClassFile; +} else { + throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); +} + /** - * PHPExcel + * PHPExcel_Writer_PDF_tcPDF * - * Copyright (c) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,28 +30,10 @@ * * @category PHPExcel * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ - - -/** Require tcPDF library */ -$pdfRendererClassFile = PHPExcel_Settings::getPdfRendererPath() . '/tcpdf.php'; -if (file_exists($pdfRendererClassFile)) { - $k_path_url = PHPExcel_Settings::getPdfRendererPath(); - require_once $pdfRendererClassFile; -} else { - throw new PHPExcel_Writer_Exception('Unable to load PDF Rendering library'); -} - -/** - * PHPExcel_Writer_PDF_tcPDF - * - * @category PHPExcel - * @package PHPExcel_Writer_PDF - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) - */ class PHPExcel_Writer_PDF_tcPDF extends PHPExcel_Writer_PDF_Core implements PHPExcel_Writer_IWriter { /** @@ -60,7 +52,7 @@ class PHPExcel_Writer_PDF_tcPDF extends PHPExcel_Writer_PDF_Core implements PHPE * @param string $pFilename Name of the file to save as * @throws PHPExcel_Writer_Exception */ - public function save($pFilename = NULL) + public function save($pFilename = null) { $fileHandle = parent::prepareForSave($pFilename); @@ -69,19 +61,15 @@ class PHPExcel_Writer_PDF_tcPDF extends PHPExcel_Writer_PDF_Core implements PHPE // Check for paper size and page orientation if (is_null($this->getSheetIndex())) { - $orientation = ($this->_phpExcel->getSheet(0)->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet(0)->getPageMargins(); + $orientation = ($this->phpExcel->getSheet(0)->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet(0)->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet(0)->getPageMargins(); } else { - $orientation = ($this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() - == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) - ? 'L' - : 'P'; - $printPaperSize = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); - $printMargins = $this->_phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); + $orientation = ($this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getOrientation() + == PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE) ? 'L' : 'P'; + $printPaperSize = $this->phpExcel->getSheet($this->getSheetIndex())->getPageSetup()->getPaperSize(); + $printMargins = $this->phpExcel->getSheet($this->getSheetIndex())->getPageMargins(); } // Override Page Orientation @@ -95,42 +83,41 @@ class PHPExcel_Writer_PDF_tcPDF extends PHPExcel_Writer_PDF_Core implements PHPE $printPaperSize = $this->getPaperSize(); } - if (isset(self::$_paperSizes[$printPaperSize])) { - $paperSize = self::$_paperSizes[$printPaperSize]; + if (isset(self::$paperSizes[$printPaperSize])) { + $paperSize = self::$paperSizes[$printPaperSize]; } // Create PDF $pdf = new TCPDF($orientation, 'pt', $paperSize); - $pdf->setFontSubsetting(FALSE); + $pdf->setFontSubsetting(false); // Set margins, converting inches to points (using 72 dpi) $pdf->SetMargins($printMargins->getLeft() * 72, $printMargins->getTop() * 72, $printMargins->getRight() * 72); - $pdf->SetAutoPageBreak(TRUE, $printMargins->getBottom() * 72); + $pdf->SetAutoPageBreak(true, $printMargins->getBottom() * 72); - $pdf->setPrintHeader(FALSE); - $pdf->setPrintFooter(FALSE); + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); $pdf->AddPage(); // Set the appropriate font $pdf->SetFont($this->getFont()); $pdf->writeHTML( - $this->generateHTMLHeader(FALSE) . + $this->generateHTMLHeader(false) . $this->generateSheetData() . $this->generateHTMLFooter() ); // Document info - $pdf->SetTitle($this->_phpExcel->getProperties()->getTitle()); - $pdf->SetAuthor($this->_phpExcel->getProperties()->getCreator()); - $pdf->SetSubject($this->_phpExcel->getProperties()->getSubject()); - $pdf->SetKeywords($this->_phpExcel->getProperties()->getKeywords()); - $pdf->SetCreator($this->_phpExcel->getProperties()->getCreator()); + $pdf->SetTitle($this->phpExcel->getProperties()->getTitle()); + $pdf->SetAuthor($this->phpExcel->getProperties()->getCreator()); + $pdf->SetSubject($this->phpExcel->getProperties()->getSubject()); + $pdf->SetKeywords($this->phpExcel->getProperties()->getKeywords()); + $pdf->SetCreator($this->phpExcel->getProperties()->getCreator()); // Write to file fwrite($fileHandle, $pdf->output($pFilename, 'S')); - parent::restoreStateAfterSave($fileHandle); + parent::restoreStateAfterSave($fileHandle); } - } diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DAVERAGE.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DAVERAGE.php new file mode 100644 index 000000000..8bfe2c84d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DAVERAGE.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DAVERAGE</h1> +<h2>Returns the average of selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The Average yield of Apple trees over 10\' in height'); +$worksheet->setCellValue('B12', '=DAVERAGE(A4:E10,"Yield",A1:B2)'); + +$worksheet->setCellValue('A13', 'The Average age of all Apple and Pear trees in the orchard'); +$worksheet->setCellValue('B13', '=DAVERAGE(A4:E10,3,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:B2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DAVERAGE() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DAVERAGE() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DCOUNT.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DCOUNT.php new file mode 100644 index 000000000..13ad1fba1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DCOUNT.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DCOUNT</h1> +<h2>Counts the cells that contain numbers in a database.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The Number of Apple trees over 10\' in height'); +$worksheet->setCellValue('B12', '=DCOUNT(A4:E10,"Yield",A1:B2)'); + +$worksheet->setCellValue('A13', 'The Number of Apple and Pear trees in the orchard'); +$worksheet->setCellValue('B13', '=DCOUNT(A4:E10,3,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:B2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DCOUNT() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DCOUNT() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DGET.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DGET.php new file mode 100644 index 000000000..9a2b22c28 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DGET.php @@ -0,0 +1,86 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DGET</h1> +<h2>Extracts a single value from a column of a list or database that matches conditions that you specify.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The height of the Apple tree between 10\' and 16\' tall'); +$worksheet->setCellValue('B12', '=DGET(A4:E10,"Height",A1:F2)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +echo 'ALL' . '<br /><br />'; + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMAX.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMAX.php new file mode 100644 index 000000000..116d8482e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMAX.php @@ -0,0 +1,89 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DMAX</h1> +<h2>Returns the maximum value from selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The tallest tree in the orchard'); +$worksheet->setCellValue('B12', '=DMAX(A4:E10,"Height",A4:E10)'); + +$worksheet->setCellValue('A13', 'The Oldest apple tree in the orchard'); +$worksheet->setCellValue('B13', '=DMAX(A4:E10,3,A1:A2)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +echo 'ALL' . '<br /><br />'; + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMIN.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMIN.php new file mode 100644 index 000000000..55207e824 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DMIN.php @@ -0,0 +1,89 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DMIN</h1> +<h2>Returns the minimum value from selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The shortest tree in the orchard'); +$worksheet->setCellValue('B12', '=DMIN(A4:E10,"Height",A4:E10)'); + +$worksheet->setCellValue('A13', 'The Youngest apple tree in the orchard'); +$worksheet->setCellValue('B13', '=DMIN(A4:E10,3,A1:A2)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +echo 'ALL' . '<br /><br />'; + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DMIN() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DMIN() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DPRODUCT.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DPRODUCT.php new file mode 100644 index 000000000..8c084219e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DPRODUCT.php @@ -0,0 +1,87 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DPRODUCT</h1> +<h2>Multiplies the values in a column of a list or database that match conditions that you specify.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The product of the yields of all Apple trees over 10\' in the orchard'); +$worksheet->setCellValue('B12', '=DPRODUCT(A4:E10,"Yield",A1:B2)'); + + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +echo 'ALL' . '<br /><br />'; + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A2',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DMAX() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEV.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEV.php new file mode 100644 index 000000000..28896e656 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEV.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DSTDEV</h1> +<h2>Estimates the standard deviation based on a sample of selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The estimated standard deviation in the yield of Apple and Pear trees'); +$worksheet->setCellValue('B12', '=DSTDEV(A4:E10,"Yield",A1:A3)'); + +$worksheet->setCellValue('A13', 'The estimated standard deviation in height of Apple and Pear trees'); +$worksheet->setCellValue('B13', '=DSTDEV(A4:E10,2,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DSTDEV() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DSTDEV() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEVP.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEVP.php new file mode 100644 index 000000000..6540f9adb --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DSTDEVP.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DSTDEVP</h1> +<h2>Calculates the standard deviation based on the entire population of selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The standard deviation in the yield of Apple and Pear trees'); +$worksheet->setCellValue('B12', '=DSTDEVP(A4:E10,"Yield",A1:A3)'); + +$worksheet->setCellValue('A13', 'The standard deviation in height of Apple and Pear trees'); +$worksheet->setCellValue('B13', '=DSTDEVP(A4:E10,2,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DSTDEVP() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DSTDEVP() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVAR.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVAR.php new file mode 100644 index 000000000..67a9cffa2 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVAR.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DVAR</h1> +<h2>Estimates variance based on a sample from selected database entries.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The estimated variance in the yield of Apple and Pear trees'); +$worksheet->setCellValue('B12', '=DVAR(A4:E10,"Yield",A1:A3)'); + +$worksheet->setCellValue('A13', 'The estimated variance in height of Apple and Pear trees'); +$worksheet->setCellValue('B13', '=DVAR(A4:E10,2,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DVAR() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DVAR() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVARP.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVARP.php new file mode 100644 index 000000000..fda633848 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/Database/DVARP.php @@ -0,0 +1,90 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DVARP</h1> +<h2>Calculates variance based on the entire population of selected database entries,</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), + ); +$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ) + ); + +$worksheet->fromArray( $criteria, NULL, 'A1' ); +$worksheet->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', 'The variance in the yield of Apple and Pear trees'); +$worksheet->setCellValue('B12', '=DVARP(A4:E10,"Yield",A1:A3)'); + +$worksheet->setCellValue('A13', 'The variance in height of Apple and Pear trees'); +$worksheet->setCellValue('B13', '=DVARP(A4:E10,2,A1:A3)'); + + +echo '<hr />'; + + +echo '<h4>Database</h4>'; + +$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true); +var_dump($databaseData); + + +echo '<hr />'; + + +// Test the formulae +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A12")->getValue() .'<br />'; +echo 'DVARP() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'<br /><br />'; + +echo '<h4>Criteria</h4>'; + +$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true); +var_dump($criteriaData); + +echo $worksheet->getCell("A13")->getValue() .'<br />'; +echo 'DVARP() Result is ' . $worksheet->getCell("B13")->getCalculatedValue(); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATE.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATE.php new file mode 100644 index 000000000..979d1f5ec --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATE.php @@ -0,0 +1,83 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DATE</h1> +<h2>Returns the serial number of a particular date.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$testDates = array( array(2012,3,26), array(2012,2,29), array(2012,4,1), array(2012,12,25), + array(2012,10,31), array(2012,11,5), array(2012,1,1), array(2012,3,17), + array(2011,2,29), array(7,5,3), array(2012,13,1), array(2012,11,45), + array(2012,0,0), array(2012,1,0), array(2012,0,1), + array(2012,-2,2), array(2012,2,-2), array(2012,-2,-2), + ); +$testDateCount = count($testDates); + +$worksheet->fromArray($testDates,NULL,'A1',true); + +for ($row = 1; $row <= $testDateCount; ++$row) { + $worksheet->setCellValue('D'.$row, '=DATE(A'.$row.',B'.$row.',C'.$row.')'); + $worksheet->setCellValue('E'.$row, '=D'.$row); +} +$worksheet->getStyle('E1:E'.$testDateCount) + ->getNumberFormat() + ->setFormatCode('yyyy-mmm-dd'); + + +echo '<hr />'; + + +// Test the formulae +?> +<table border="1" cellspacing="0"> + <tr> + <th colspan="3">Date Value</th> + <th rowspan="2" valign="bottom">Formula</th> + <th rowspan="2" valign="bottom">Excel DateStamp</th> + <th rowspan="2" valign="bottom">Formatted DateStamp</th> + </tr> + <tr> + <th>Year</th> + <th>Month</th> + <th>Day</th> + <tr> + <?php + for ($row = 1; $row <= $testDateCount; ++$row) { + echo '<tr>'; + echo '<td>' , $worksheet->getCell('A'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('C'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('D'.$row)->getValue() , '</td>'; + echo '<td>' , $worksheet->getCell('D'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('E'.$row)->getFormattedValue() , '</td>'; + echo '</tr>'; + } + ?> +</table> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATEVALUE.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATEVALUE.php new file mode 100644 index 000000000..4d5d8c269 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/DATEVALUE.php @@ -0,0 +1,76 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>DATEVALUE</h1> +<h2>Converts a date in the form of text to a serial number.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$testDates = array( '26 March 2012', '29 Feb 2012', 'April 1, 2012', '25/12/2012', + '2012-Oct-31', '5th November', 'January 1st', 'April 2012', + '17-03', '03-2012', '29 Feb 2011', '03-05-07', + '03-MAY-07', '03-13-07', + ); +$testDateCount = count($testDates); + +for($row = 1; $row <= $testDateCount; ++$row) { + $worksheet->setCellValue('A'.$row, $testDates[$row-1]); + $worksheet->setCellValue('B'.$row, '=DATEVALUE(A'.$row.')'); + $worksheet->setCellValue('C'.$row, '=B'.$row); +} + +$worksheet->getStyle('C1:C'.$testDateCount) + ->getNumberFormat() + ->setFormatCode('yyyy-mmm-dd'); + + +echo '<hr />'; + + +// Test the formulae +?> +<p><strong>Warning: </strong>The PHPExcel DATEVALUE() function accepts a wider range of date formats than MS Excel's DATEFORMAT() function.</p> +<table border="1" cellspacing="0"> + <tr> + <th>Date String</th> + <th>Formula</th> + <th>Excel DateStamp</th> + <th>Formatted DateStamp</th> + </tr> + <?php + for ($row = 1; $row <= $testDateCount; ++$row) { + echo '<tr>'; + echo '<td>' , $worksheet->getCell('A'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('C'.$row)->getFormattedValue() , '</td>'; + echo '</tr>'; + } + ?> +</table> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIME.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIME.php new file mode 100644 index 000000000..f4522768c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIME.php @@ -0,0 +1,81 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>TIME</h1> +<h2>Returns the serial number of a particular time.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$testDates = array( array(3,15), array(13,15), array(15,15,15), array(3,15,30), + array(15,15,15), array(5), array(9,15,0), array(9,15,-1), + array(13,-14,-15), array(0,0,-1) + ); +$testDateCount = count($testDates); + +$worksheet->fromArray($testDates,NULL,'A1',true); + +for ($row = 1; $row <= $testDateCount; ++$row) { + $worksheet->setCellValue('D'.$row, '=TIME(A'.$row.',B'.$row.',C'.$row.')'); + $worksheet->setCellValue('E'.$row, '=D'.$row); +} +$worksheet->getStyle('E1:E'.$testDateCount) + ->getNumberFormat() + ->setFormatCode('hh:mm:ss'); + + +echo '<hr />'; + + +// Test the formulae +?> +<table border="1" cellspacing="0"> + <tr> + <th colspan="3">Date Value</th> + <th rowspan="2" valign="bottom">Formula</th> + <th rowspan="2" valign="bottom">Excel TimeStamp</th> + <th rowspan="2" valign="bottom">Formatted TimeStamp</th> + </tr> + <tr> + <th>Hour</th> + <th>Minute</th> + <th>Second</th> + <tr> + <?php + for ($row = 1; $row <= $testDateCount; ++$row) { + echo '<tr>'; + echo '<td>' , $worksheet->getCell('A'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('C'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('D'.$row)->getValue() , '</td>'; + echo '<td>' , $worksheet->getCell('D'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('E'.$row)->getFormattedValue() , '</td>'; + echo '</tr>'; + } + ?> +</table> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIMEVALUE.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIMEVALUE.php new file mode 100644 index 000000000..89e0ba49b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/DateTime/TIMEVALUE.php @@ -0,0 +1,72 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Examples</title> + +</head> +<body> + +<h1>TIMEVALUE</h1> +<h2>Converts a time in the form of text to a serial number.</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../../Classes/'); + +/** Include PHPExcel */ +include 'PHPExcel.php'; + + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); +$worksheet = $objPHPExcel->getActiveSheet(); + +// Add some data +$testDates = array( '3:15', '13:15', '15:15:15', '3:15 AM', '3:15 PM', '5PM', '9:15AM', '13:15AM' + ); +$testDateCount = count($testDates); + +for($row = 1; $row <= $testDateCount; ++$row) { + $worksheet->setCellValue('A'.$row, $testDates[$row-1]); + $worksheet->setCellValue('B'.$row, '=TIMEVALUE(A'.$row.')'); + $worksheet->setCellValue('C'.$row, '=B'.$row); +} + +$worksheet->getStyle('C1:C'.$testDateCount) + ->getNumberFormat() + ->setFormatCode('hh:mm:ss'); + + +echo '<hr />'; + + +// Test the formulae +?> +<table border="1" cellspacing="0"> + <tr> + <th>Time String</th> + <th>Formula</th> + <th>Excel TimeStamp</th> + <th>Formatted TimeStamp</th> + </tr> + <?php + for ($row = 1; $row <= $testDateCount; ++$row) { + echo '<tr>'; + echo '<td>' , $worksheet->getCell('A'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getValue() , '</td>'; + echo '<td>' , $worksheet->getCell('B'.$row)->getFormattedValue() , '</td>'; + echo '<td>' , $worksheet->getCell('C'.$row)->getFormattedValue() , '</td>'; + echo '</tr>'; + } + ?> +</table> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/index.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/index.php new file mode 100644 index 000000000..644e3af50 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Calculations/index.php @@ -0,0 +1,51 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Calculation Function Examples</title> + +</head> +<body> + +<?php + +echo '<h1>PHPExcel Calculation Function Examples</h1>'; + +$exampleTypeList = glob('./*',GLOB_ONLYDIR); + +foreach($exampleTypeList as $exampleType) { + + echo '<h2>' . pathinfo($exampleType,PATHINFO_BASENAME) . ' Function Examples</h2>'; + + $exampleList = glob('./'.$exampleType.'/*.php'); + + foreach($exampleList as $exampleFile) { + $fileData = file_get_contents($exampleFile); + + $h1Pattern = '#<h1>(.*?)</h1>#'; + $h2Pattern = '#<h2>(.*?)</h2>#'; + + if (preg_match($h1Pattern, $fileData, $out)) { + $h1Text = $out[1]; + $h2Text = (preg_match($h2Pattern, $fileData, $out)) ? $out[1] : ''; + + echo '<a href="',$exampleFile,'">',$h1Text,'</a><br />'; + if ($h2Text > '') { + echo $h2Text,'<br />'; + } + } + + } +} + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader01.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader01.php new file mode 100644 index 000000000..8883e12e3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader01.php @@ -0,0 +1,42 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #01</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #01</h1> +<h2>Simple File Reader using PHPExcel_IOFactory::load()</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileName = './sampleData/example1.xls'; +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format<br />'; +$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader02.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader02.php new file mode 100644 index 000000000..b2293c3e4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader02.php @@ -0,0 +1,50 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #02</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #02</h1> +<h2>Simple File Reader using a Specified Reader</h2> +<?php + +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using PHPExcel_Reader_Excel5<br />'; +$objReader = new PHPExcel_Reader_Excel5(); +// $objReader = new PHPExcel_Reader_Excel2007(); +// $objReader = new PHPExcel_Reader_Excel2003XML(); +// $objReader = new PHPExcel_Reader_OOCalc(); +// $objReader = new PHPExcel_Reader_SYLK(); +// $objReader = new PHPExcel_Reader_Gnumeric(); +// $objReader = new PHPExcel_Reader_CSV(); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader03.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader03.php new file mode 100644 index 000000000..b4ab25689 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader03.php @@ -0,0 +1,51 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #03</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #03</h1> +<h2>Simple File Reader using the PHPExcel_IOFactory to Return a Reader</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'SYLK'; +// $inputFileType = 'Gnumeric'; +// $inputFileType = 'CSV'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader04.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader04.php new file mode 100644 index 000000000..cf87b2b41 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader04.php @@ -0,0 +1,47 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #04</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #04</h1> +<h2>Simple File Reader using the PHPExcel_IOFactory to Identify a Reader to Use</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileName = './sampleData/example1.xls'; + +$inputFileType = PHPExcel_IOFactory::identify($inputFileName); +echo 'File ',pathinfo($inputFileName,PATHINFO_BASENAME),' has been identified as an ',$inputFileType,' file<br />'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with the identified reader type<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader05.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader05.php new file mode 100644 index 000000000..1317f0752 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader05.php @@ -0,0 +1,51 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #05</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #05</h1> +<h2>Simple File Reader using the "Read Data Only" Option</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Turning Formatting off for Load<br />'; +$objReader->setReadDataOnly(true); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader06.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader06.php new file mode 100644 index 000000000..58c2d2657 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader06.php @@ -0,0 +1,54 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #06</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #06</h1> +<h2>Simple File Reader Loading All WorkSheets</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading all WorkSheets<br />'; +$objReader->setLoadAllSheets(); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo $sheetIndex,' -> ',$loadedSheetName,'<br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader07.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader07.php new file mode 100644 index 000000000..80acdf6cf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader07.php @@ -0,0 +1,55 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #07</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #07</h1> +<h2>Simple File Reader Loading a Single Named WorkSheet</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; +$sheetname = 'Data Sheet #2'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading Sheet "',$sheetname,'" only<br />'; +$objReader->setLoadSheetsOnly($sheetname); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo $sheetIndex,' -> ',$loadedSheetName,'<br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader08.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader08.php new file mode 100644 index 000000000..3c38e0200 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader08.php @@ -0,0 +1,55 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #08</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #08</h1> +<h2>Simple File Reader Loading Several Named WorkSheets</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; +$sheetnames = array('Data Sheet #1','Data Sheet #3'); + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading Sheet',((count($sheetnames) == 1) ? '' : 's'),' "',implode('" and "',$sheetnames),'" only<br />'; +$objReader->setLoadSheetsOnly($sheetnames); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo $sheetIndex,' -> ',$loadedSheetName,'<br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader09.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader09.php new file mode 100644 index 000000000..3bfa8f0df --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader09.php @@ -0,0 +1,71 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #09</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #09</h1> +<h2>Simple File Reader Using a Read Filter</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; +$sheetname = 'Data Sheet #3'; + + +class MyReadFilter implements PHPExcel_Reader_IReadFilter +{ + public function readCell($column, $row, $worksheetName = '') { + // Read rows 1 to 7 and columns A to E only + if ($row >= 1 && $row <= 7) { + if (in_array($column,range('A','E'))) { + return true; + } + } + return false; + } +} + +$filterSubset = new MyReadFilter(); + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading Sheet "',$sheetname,'" only<br />'; +$objReader->setLoadSheetsOnly($sheetname); +echo 'Loading Sheet using filter<br />'; +$objReader->setReadFilter($filterSubset); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader10.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader10.php new file mode 100644 index 000000000..eb43ff866 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader10.php @@ -0,0 +1,82 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #10</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #10</h1> +<h2>Simple File Reader Using a Configurable Read Filter</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; +$sheetname = 'Data Sheet #3'; + + +class MyReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + + private $_endRow = 0; + + private $_columns = array(); + + public function __construct($startRow, $endRow, $columns) { + $this->_startRow = $startRow; + $this->_endRow = $endRow; + $this->_columns = $columns; + } + + public function readCell($column, $row, $worksheetName = '') { + if ($row >= $this->_startRow && $row <= $this->_endRow) { + if (in_array($column,$this->_columns)) { + return true; + } + } + return false; + } +} + +$filterSubset = new MyReadFilter(9,15,range('G','K')); + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading Sheet "',$sheetname,'" only<br />'; +$objReader->setLoadSheetsOnly($sheetname); +echo 'Loading Sheet using configurable filter<br />'; +$objReader->setReadFilter($filterSubset); +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader11.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader11.php new file mode 100644 index 000000000..7bbd80817 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader11.php @@ -0,0 +1,91 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #11</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #11</h1> +<h2>Reading a Workbook in "Chunks" Using a Configurable Read Filter (Version 1)</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example2.xls'; + + +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class chunkReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + + private $_endRow = 0; + + /** We expect a list of the rows that we want to read to be passed into the constructor */ + public function __construct($startRow, $chunkSize) { + $this->_startRow = $startRow; + $this->_endRow = $startRow + $chunkSize; + } + + public function readCell($column, $row, $worksheetName = '') { + // Only read the heading row, and the rows that were configured in the constructor + if (($row == 1) || ($row >= $this->_startRow && $row < $this->_endRow)) { + return true; + } + return false; + } +} + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +echo '<hr />'; + + +/** Define how many rows we want for each "chunk" **/ +$chunkSize = 20; + +/** Loop to read our worksheet in "chunk size" blocks **/ +for ($startRow = 2; $startRow <= 240; $startRow += $chunkSize) { + echo 'Loading WorkSheet using configurable filter for headings row 1 and for rows ',$startRow,' to ',($startRow+$chunkSize-1),'<br />'; + /** Create a new Instance of our Read Filter, passing in the limits on which rows we want to read **/ + $chunkFilter = new chunkReadFilter($startRow,$chunkSize); + /** Tell the Reader that we want to use the new Read Filter that we've just Instantiated **/ + $objReader->setReadFilter($chunkFilter); + /** Load only the rows that match our filter from $inputFileName to a PHPExcel Object **/ + $objPHPExcel = $objReader->load($inputFileName); + + // Do some processing here + + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); + var_dump($sheetData); + echo '<br /><br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader12.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader12.php new file mode 100644 index 000000000..e6789c207 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader12.php @@ -0,0 +1,94 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #12</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #12</h1> +<h2>Reading a Workbook in "Chunks" Using a Configurable Read Filter (Version 2)</h2> +<?php + +/** Set Include path to point at the PHPExcel Classes folder **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** Include PHPExcel_IOFactory **/ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example2.xls'; + + +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class chunkReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + + private $_endRow = 0; + + /** Set the list of rows that we want to read */ + public function setRows($startRow, $chunkSize) { + $this->_startRow = $startRow; + $this->_endRow = $startRow + $chunkSize; + } + + public function readCell($column, $row, $worksheetName = '') { + // Only read the heading row, and the rows that are configured in $this->_startRow and $this->_endRow + if (($row == 1) || ($row >= $this->_startRow && $row < $this->_endRow)) { + return true; + } + return false; + } +} + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +echo '<hr />'; + + +/** Define how many rows we want to read for each "chunk" **/ +$chunkSize = 20; +/** Create a new Instance of our Read Filter **/ +$chunkFilter = new chunkReadFilter(); + +/** Tell the Reader that we want to use the Read Filter that we've Instantiated **/ +$objReader->setReadFilter($chunkFilter); + +/** Loop to read our worksheet in "chunk size" blocks **/ +for ($startRow = 2; $startRow <= 240; $startRow += $chunkSize) { + echo 'Loading WorkSheet using configurable filter for headings row 1 and for rows ',$startRow,' to ',($startRow+$chunkSize-1),'<br />'; + /** Tell the Read Filter, the limits on which rows we want to read this iteration **/ + $chunkFilter->setRows($startRow,$chunkSize); + /** Load only the rows that match our filter from $inputFileName to a PHPExcel Object **/ + $objPHPExcel = $objReader->load($inputFileName); + + // Do some processing here + + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); + var_dump($sheetData); + echo '<br /><br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader13.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader13.php new file mode 100644 index 000000000..3e11e8bc5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader13.php @@ -0,0 +1,60 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #13</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #13</h1> +<h2>Simple File Reader for Multiple CSV Files</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'CSV'; +$inputFileNames = array('./sampleData/example1.csv','./sampleData/example2.csv'); + +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$inputFileName = array_shift($inputFileNames); +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' into WorkSheet #1 using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objPHPExcel = $objReader->load($inputFileName); +$objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); +foreach($inputFileNames as $sheet => $inputFileName) { + echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' into WorkSheet #',($sheet+2),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; + $objReader->setSheetIndex($sheet+1); + $objReader->loadIntoExisting($inputFileName,$objPHPExcel); + $objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); +} + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo '<b>Worksheet #',$sheetIndex,' -> ',$loadedSheetName,'</b><br />'; + $objPHPExcel->setActiveSheetIndexByName($loadedSheetName); + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); + var_dump($sheetData); + echo '<br /><br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader14.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader14.php new file mode 100644 index 000000000..1cef7103f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader14.php @@ -0,0 +1,105 @@ +<?php + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #15</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #14</h1> +<h2>Reading a Large CSV file in "Chunks" to split across multiple Worksheets</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'CSV'; +$inputFileName = './sampleData/example2.csv'; + +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class chunkReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + + private $_endRow = 0; + + /** Set the list of rows that we want to read */ + public function setRows($startRow, $chunkSize) { + $this->_startRow = $startRow; + $this->_endRow = $startRow + $chunkSize; + } + + public function readCell($column, $row, $worksheetName = '') { + // Only read the heading row, and the rows that are configured in $this->_startRow and $this->_endRow + if (($row == 1) || ($row >= $this->_startRow && $row < $this->_endRow)) { + return true; + } + return false; + } +} + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +echo '<hr />'; + + +/** Define how many rows we want to read for each "chunk" **/ +$chunkSize = 100; +/** Create a new Instance of our Read Filter **/ +$chunkFilter = new chunkReadFilter(); + +/** Tell the Reader that we want to use the Read Filter that we've Instantiated **/ +/** and that we want to store it in contiguous rows/columns **/ +$objReader->setReadFilter($chunkFilter) + ->setContiguous(true); + + +/** Instantiate a new PHPExcel object manually **/ +$objPHPExcel = new PHPExcel(); + +/** Set a sheet index **/ +$sheet = 0; +/** Loop to read our worksheet in "chunk size" blocks **/ +/** $startRow is set to 2 initially because we always read the headings in row #1 **/ +for ($startRow = 2; $startRow <= 240; $startRow += $chunkSize) { + echo 'Loading WorkSheet #',($sheet+1),' using configurable filter for headings row 1 and for rows ',$startRow,' to ',($startRow+$chunkSize-1),'<br />'; + /** Tell the Read Filter, the limits on which rows we want to read this iteration **/ + $chunkFilter->setRows($startRow,$chunkSize); + + /** Increment the worksheet index pointer for the Reader **/ + $objReader->setSheetIndex($sheet); + /** Load only the rows that match our filter into a new worksheet in the PHPExcel Object **/ + $objReader->loadIntoExisting($inputFileName,$objPHPExcel); + /** Set the worksheet title (to reference the "sheet" of data that we've loaded) **/ + /** and increment the sheet index as well **/ + $objPHPExcel->getActiveSheet()->setTitle('Country Data #'.(++$sheet)); +} + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo '<b>Worksheet #',$sheetIndex,' -> ',$loadedSheetName,'</b><br />'; + $objPHPExcel->setActiveSheetIndexByName($loadedSheetName); + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,false,false,true); + var_dump($sheetData); + echo '<br />'; +} + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader15.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader15.php new file mode 100644 index 000000000..566c3c998 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader15.php @@ -0,0 +1,71 @@ +<?php + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #15</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #15</h1> +<h2>Simple File Reader for Tab-Separated Value File using the Advanced Value Binder</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + + +$inputFileType = 'CSV'; +$inputFileName = './sampleData/example1.tsv'; + +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' into WorkSheet #1 using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader->setDelimiter("\t"); +$objPHPExcel = $objReader->load($inputFileName); +$objPHPExcel->getActiveSheet()->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); + + +echo '<hr />'; + +echo $objPHPExcel->getSheetCount(),' worksheet',(($objPHPExcel->getSheetCount() == 1) ? '' : 's'),' loaded<br /><br />'; +$loadedSheetNames = $objPHPExcel->getSheetNames(); +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo '<b>Worksheet #',$sheetIndex,' -> ',$loadedSheetName,' (Formatted)</b><br />'; + $objPHPExcel->setActiveSheetIndexByName($loadedSheetName); + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); + var_dump($sheetData); + echo '<br />'; +} + +echo '<hr />'; + +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo '<b>Worksheet #',$sheetIndex,' -> ',$loadedSheetName,' (Unformatted)</b><br />'; + $objPHPExcel->setActiveSheetIndexByName($loadedSheetName); + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,false,true); + var_dump($sheetData); + echo '<br />'; +} + +echo '<hr />'; + +foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) { + echo '<b>Worksheet #',$sheetIndex,' -> ',$loadedSheetName,' (Raw)</b><br />'; + $objPHPExcel->setActiveSheetIndexByName($loadedSheetName); + $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,false,false,true); + var_dump($sheetData); + echo '<br />'; +} + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader16.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader16.php new file mode 100644 index 000000000..9d9defa6b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader16.php @@ -0,0 +1,46 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #16</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #16</h1> +<h2>Handling Loader Exceptions using Try/Catch</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileName = './sampleData/example_1.xls'; +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format<br />'; +try { + $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); +} catch(PHPExcel_Reader_Exception $e) { + die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); +} + + +echo '<hr />'; + +$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); +var_dump($sheetData); + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader17.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader17.php new file mode 100644 index 000000000..b0ef7914d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader17.php @@ -0,0 +1,52 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #17</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #17</h1> +<h2>Simple File Reader Loading Several Named WorkSheets</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +/** Read the list of Worksheet Names from the Workbook file **/ +echo 'Read the list of Worksheets in the WorkBook<br />'; +$worksheetNames = $objReader->listWorksheetNames($inputFileName); + +echo 'There are ',count($worksheetNames),' worksheet',((count($worksheetNames) == 1) ? '' : 's'),' in the workbook<br /><br />'; +foreach($worksheetNames as $worksheetName) { + echo $worksheetName,'<br />'; +} + + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader18.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader18.php new file mode 100644 index 000000000..438d88691 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader18.php @@ -0,0 +1,50 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #18</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #18</h1> +<h2>Reading list of WorkSheets without loading entire file</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' information using IOFactory with a defined reader type of ',$inputFileType,'<br />'; + +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$worksheetNames = $objReader->listWorksheetNames($inputFileName); + +echo '<h3>Worksheet Names</h3>'; +echo '<ol>'; +foreach ($worksheetNames as $worksheetName) { + echo '<li>', $worksheetName, '</li>'; +} +echo '</ol>'; + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader19.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader19.php new file mode 100644 index 000000000..2f3eaaf28 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/exampleReader19.php @@ -0,0 +1,53 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reader Example #19</title> + +</head> +<body> + +<h1>PHPExcel Reader Example #19</h1> +<h2>Reading WorkSheet information without loading entire file</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'Gnumeric'; +$inputFileName = './sampleData/example1.xls'; + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' information using IOFactory with a defined reader type of ',$inputFileType,'<br />'; + +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$worksheetData = $objReader->listWorksheetInfo($inputFileName); + +echo '<h3>Worksheet Information</h3>'; +echo '<ol>'; +foreach ($worksheetData as $worksheet) { + echo '<li>', $worksheet['worksheetName'], '<br />'; + echo 'Rows: ', $worksheet['totalRows'], ' Columns: ', $worksheet['totalColumns'], '<br />'; + echo 'Cell Range: A1:', $worksheet['lastColumnLetter'], $worksheet['totalRows']; + echo '</li>'; +} +echo '</ol>'; + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.csv b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.csv new file mode 100644 index 000000000..b8cdf182f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.csv @@ -0,0 +1,4 @@ +First Name,Last Name,Nationality,Gender,Date of Birth,Time of Birth,Date/Time,PHP Coder,Sanity %Age +Mark,Baker,British,M,19-Dec-1960,01:30,=E2+F2,TRUE,32% +Toni,Baker,British,F,24-Nov-1950,20:00,=E3+F3,FALSE,95% +Rachel,Baker,British,F,7-Dec-1982,00:15,=E4+F4,FALSE,100% \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.tsv b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.tsv new file mode 100644 index 000000000..29c9297c3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.tsv @@ -0,0 +1,4 @@ +First Name Last Name Nationality Gender Date of Birth Time of Birth Date/Time PHP Coder Sanity %Age +Mark Baker British M 19-Dec-1960 01:30 =E2+F2 TRUE 32% +Toni Baker British F 24-Nov-1950 20:00 =E3+F3 FALSE 95% +Rachel Baker British F 7-Dec-1982 00:15 =E4+F4 FALSE 100% \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.xls b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.xls new file mode 100644 index 000000000..bd9bb110b Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example1.xls differ diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.csv b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.csv new file mode 100644 index 000000000..1750f1b61 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.csv @@ -0,0 +1,223 @@ +"City","Country","Latitude","Longitude" +"Kabul","Afghanistan",34.528455,69.171703 +"Tirane","Albania",41.33,19.82 +"Algiers","Algeria",36.752887,3.042048 +"Pago Pago","American Samoa",-14.27933,-170.700897 +"Andorra la Vella","Andorra",42.507531,1.521816 +"Luanda","Angola",-8.838333,13.234444 +"Buenos Aires","Argentina",-34.608417,-58.373161 +"Yerevan","Armenia",40.183333,44.516667 +"Oranjestad","Aruba",12.52458,-70.026459 +"Canberra","Australia",-35.3075,149.124417 +"Vienna","Austria",48.208333,16.373056 +"Baku","Azerbaijan",40.379571,49.891233 +"Nassau","Bahamas",25.06,-77.345 +"Manama","Bahrain",26.216667,50.583333 +"Dhaka","Bangladesh",23.709921,90.407143 +"Bridgetown","Barbados",13.096111,-59.608333 +"Minsk","Belarus",53.9,27.566667 +"Brussels","Belgium",50.846281,4.354727 +"Belmopan","Belize",17.251389,-88.766944 +"Thimphu","Bhutan",27.466667,89.641667 +"La Paz","Bolivia",-16.49901,-68.146248 +"Sarajevo","Bosnia and Herzegovina",43.8476,18.3564 +"Gaborone","Botswana",-24.65411,25.908739 +"Brasilia","Brazil",-15.780148,-47.92917 +"Road Town","British Virgin Islands",18.433333,-64.616667 +"Bandar Seri Begawan","Brunei Darussalam",4.9431,114.9425 +"Sofia","Bulgaria",42.697626,23.322284 +"Ouagadougou","Burkina Faso",12.364637,-1.533864 +"Bujumbura","Burundi",-3.361378,29.359878 +"Phnom Penh","Cambodia",11.55,104.916667 +"Yaounde","Cameroon",3.866667,11.516667 +"Ottawa","Canada",45.423494,-75.697933 +"Praia","Cape Verde",14.920833,-23.508333 +"George Town","Cayman Islands",19.286932,-81.367439 +"Bangui","Central African Republic",4.361698,18.555975 +"N'Djamena","Chad",12.104797,15.044506 +"Santiago","Chile",-33.42536,-70.566466 +"Beijing","China",39.904667,116.408198 +"Bogota","Colombia",4.647302,-74.096268 +"Moroni","Comoros",-11.717216,43.247315 +"Brazzaville","Congo",-4.266667,15.283333 +"San Jose","Costa Rica",9.933333,-84.083333 +"Yamoussoukro","Cote d'Ivoire",6.816667,-5.283333 +"Zagreb","Croatia",45.814912,15.978515 +"Havana","Cuba",23.133333,-82.366667 +"Nicosia","Cyprus",35.166667,33.366667 +"Prague","Czech Republic",50.087811,14.42046 +"Kinshasa","Congo",-4.325,15.322222 +"Copenhagen","Denmark",55.676294,12.568116 +"Djibouti","Djibouti",11.588,43.145 +"Roseau","Dominica",15.301389,-61.388333 +"Santo Domingo","Dominican Republic",18.5,-69.983333 +"Dili","East Timor",-8.566667,125.566667 +"Quito","Ecuador",-0.229498,-78.524277 +"Cairo","Egypt",30.064742,31.249509 +"San Salvador","El Salvador",13.69,-89.190003 +"Malabo","Equatorial Guinea",3.75,8.783333 +"Asmara","Eritrea",15.33236,38.92617 +"Tallinn","Estonia",59.438862,24.754472 +"Addis Ababa","Ethiopia",9.022736,38.746799 +"Stanley","Falkland Islands",-51.700981,-57.84919 +"Torshavn","Faroe Islands",62.017707,-6.771879 +"Suva","Fiji",-18.1416,178.4419 +"Helsinki","Finland",60.169813,24.93824 +"Paris","France",48.856667,2.350987 +"Cayenne","French Guiana",4.9227,-52.3269 +"Papeete","French Polynesia",-17.535021,-149.569595 +"Libreville","Gabon",0.390841,9.453644 +"Banjul","Gambia",13.453056,-16.5775 +"T'bilisi","Georgia",41.716667,44.783333 +"Berlin","Germany",52.523405,13.4114 +"Accra","Ghana",5.555717,-0.196306 +"Athens","Greece",37.97918,23.716647 +"Nuuk","Greenland",64.18362,-51.721407 +"Basse-Terre","Guadeloupe",15.998503,-61.72202 +"Guatemala","Guatemala",14.641389,-90.513056 +"St. Peter Port","Guernsey",49.458858,-2.534752 +"Conakry","Guinea",9.537029,-13.67847 +"Bissau","Guinea-Bissau",11.866667,-15.6 +"Georgetown","Guyana",6.804611,-58.154831 +"Port-au-Prince","Haiti",18.539269,-72.336408 +"Tegucigalpa","Honduras",14.082054,-87.206285 +"Budapest","Hungary",47.498406,19.040758 +"Reykjavik","Iceland",64.135338,-21.89521 +"New Delhi","India",28.635308,77.22496 +"Jakarta","Indonesia",-6.211544,106.845172 +"Tehran","Iran",35.696216,51.422945 +"Baghdad","Iraq",33.3157,44.3922 +"Dublin","Ireland",53.344104,-6.267494 +"Jerusalem","Israel",31.7857,35.2007 +"Rome","Italy",41.895466,12.482324 +"Kingston","Jamaica",17.992731,-76.792009 +"St. Helier","Jersey",49.190278,-2.108611 +"Amman","Jordan",31.956578,35.945695 +"Astana","Kazakhstan",51.10,71.30 +"Nairobi","Kenya",-01.17,36.48 +"Tarawa","Kiribati",01.30,173.00 +"Seoul","South Korea",37.31,126.58 +"Kuwait City","Kuwait",29.30,48.00 +"Bishkek","Kyrgyzstan",42.54,74.46 +"Riga","Latvia",56.53,24.08 +"Beirut","Lebanon",33.53,35.31 +"Maseru","Lesotho",-29.18,27.30 +"Monrovia","Liberia",06.18,-10.47 +"Vaduz","Liechtenstein",47.08,09.31 +"Vilnius","Lithuania",54.38,25.19 +"Luxembourg","Luxembourg",49.37,06.09 +"Antananarivo","Madagascar",-18.55,47.31 +"Lilongwe","Malawi",-14.00,33.48 +"Kuala Lumpur","Malaysia",03.09,101.41 +"Male","Maldives",04.00,73.28 +"Bamako","Mali",12.34,-07.55 +"Valletta","Malta",35.54,14.31 +"Fort-de-France","Martinique",14.36,-61.02 +"Nouakchott","Mauritania",-20.10,57.30 +"Mamoudzou","Mayotte",-12.48,45.14 +"Mexico City","Mexico",19.20,-99.10 +"Palikir","Micronesia",06.55,158.09 +"Chisinau","Moldova",47.02,28.50 +"Maputo","Mozambique",-25.58,32.32 +"Yangon","Myanmar",16.45,96.20 +"Windhoek","Namibia",-22.35,17.04 +"Kathmandu","Nepal",27.45,85.20 +"Amsterdam","Netherlands",52.23,04.54 +"Willemstad","Netherlands Antilles",12.05,-69.00 +"Noumea","New Caledonia",-22.17,166.30 +"Wellington","New Zealand",-41.19,174.46 +"Managua","Nicaragua",12.06,-86.20 +"Niamey","Niger",13.27,02.06 +"Abuja","Nigeria",09.05,07.32 +"Kingston","Norfolk Island",-45.20,168.43 +"Saipan","Northern Mariana Islands",15.12,145.45 +"Oslo","Norway",59.55,10.45 +"Masqat","Oman",23.37,58.36 +"Islamabad","Pakistan",33.40,73.10 +"Koror","Palau",07.20,134.28 +"Panama City","Panama",09.00,-79.25 +"Port Moresby","Papua New Guinea",-09.24,147.08 +"Asuncion","Paraguay",-25.10,-57.30 +"Lima","Peru",-12.00,-77.00 +"Manila","Philippines",14.40,121.03 +"Warsaw","Poland",52.13,21.00 +"Lisbon","Portugal",38.42,-09.10 +"San Juan","Puerto Rico",18.28,-66.07 +"Doha","Qatar",25.15,51.35 +"Bucuresti","Romania",44.27,26.10 +"Moskva","Russian Federation",55.45,37.35 +"Kigali","Rawanda",-01.59,30.04 +"Basseterre","Saint Kitts and Nevis",17.17,-62.43 +"Castries","Saint Lucia",14.02,-60.58 +"Saint-Pierre","Saint Pierre and Miquelon",46.46,-56.12 +"Apia","Samoa",-13.50,-171.50 +"San Marino","San Marino",43.55,12.30 +"Sao Tome","Sao Tome and Principe",00.10,06.39 +"Riyadh","Saudi Arabia",24.41,46.42 +"Dakar","Senegal",14.34,-17.29 +"Freetown","Sierra Leone",08.30,-13.17 +"Bratislava","Slovakia",48.10,17.07 +"Ljubljana","Slovenia",46.04,14.33 +"Honiara","Solomon Islands",-09.27,159.57 +"Mogadishu","Somalia",02.02,45.25 +"Pretoria","South Africa",-25.44,28.12 +"Madrid","Spain",40.25,-03.45 +"Khartoum","Sudan",15.31,32.35 +"Paramaribo","Suriname",05.50,-55.10 +"Mbabane","Swaziland",-26.18,31.06 +"Stockholm","Sweden",59.20,18.03 +"Bern","Switzerland",46.57,07.28 +"Damascus","Syrian Arab Republic",33.30,36.18 +"Dushanbe","Tajikistan",38.33,68.48 +"Bangkok","Thailand",13.45,100.35 +"Lome","Togo",06.09,01.20 +"Nuku'alofa","Tonga",-21.10,-174.00 +"Tunis","Tunisia",36.50,10.11 +"Ankara","Turkey",39.57,32.54 +"Ashgabat","Turkmenistan",38.00,57.50 +"Funafuti","Tuvalu",-08.31,179.13 +"Kampala","Uganda",00.20,32.30 +"Kiev","Ukraine",50.30,30.28 +"Abu Dhabi","United Arab Emirates",24.28,54.22 +"London","United Kingdom",51.36,-00.05 +"Dodoma","Tanzania",-06.08,35.45 +"Washington DC","United States of America",39.91,-77.02 +"Montevideo","Uruguay",-34.50,-56.11 +"Tashkent","Uzbekistan",41.20,69.10 +"Port-Vila","Vanuatu",-17.45,168.18 +"Caracas","Venezuela",10.30,-66.55 +"Hanoi","Viet Nam",21.05,105.55 +"Belgrade","Yugoslavia",44.50,20.37 +"Lusaka","Zambia",-15.28,28.16 +"Harare","Zimbabwe",-17.43,31.02 +"St. John's","Antigua and Barbuda",17.08,-61.50 +"Porto Novo","Benin",06.30,02.47 +"Hamilton","Bermuda"","32.18,-64.48 +"Avarua","Cook Islands",-21.12,-159.46 +"St. George's","Grenada",12.04,-61.44 +"Agaa","Guam",13.28,144.45 +"Victoria","Hong Kong",22.16,114.13 +"Tokyo","Japan",35.40,139.45 +"Pyongyang","North Korea",39.00,125.47 +"Vientiane","Laos",17.59,102.38 +"Tripoli","Libya",32.54,013.11 +"Skopje","Macedonia",42.00,021.28 +"Majuro","Marshall Islands",07.05,171.08 +"Port Louis","Mauritius",-20.10,57.30 +"Monaco","Monaco",43.44,007.25 +"Ulan Bator","Mongolia",47.54,106.52 +"Plymouth","Montserrat",16.44,-62.14 +"Rabat","Morocco",34.02,-06.51 +"Alofi","Niue",-14.27,-178.05 +"Saint-Denis","Runion",-20.52,55.27 +"Victoria","Seychelles",-04.38,55.28 +"Singapore","Singapore",01.18,103.50 +"Colombo","Sri Lanka",06.55,79.52 +"Kingstown","St Vincent and the Grenadines",13.12,-61.14 +"Taipei","Taiwan",25.50,121.32 +"Port-of-Spain","Trinidad and Tobago",10.38,-61.31 +"Cockburn Harbour","Turks and Caicos Islands",21.30,-71.30 +"Charlotte Amalie","US Virgin Islands",18.22,-64.56 +"Vatican City","Vatican State",41.54,12.27 +"Layoune","Western Sahara",27.10,-13.11 +"San'a","Yemen",15.24,44.14 diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.xls b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.xls new file mode 100644 index 000000000..dd213ab94 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Examples/Reader/sampleData/example2.xls differ diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader01.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader01.php new file mode 100644 index 000000000..4f8dfdf7c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader01.php @@ -0,0 +1,93 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reading WorkBook Data Example #01</title> + +</head> +<body> + +<h1>PHPExcel Reading WorkBook Data Example #01</h1> +<h2>Read the WorkBook Properties</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +/** Read the document's creator property **/ +$creator = $objPHPExcel->getProperties()->getCreator(); +echo '<b>Document Creator: </b>',$creator,'<br />'; + +/** Read the Date when the workbook was created (as a PHP timestamp value) **/ +$creationDatestamp = $objPHPExcel->getProperties()->getCreated(); +/** Format the date and time using the standard PHP date() function **/ +$creationDate = date('l, d<\s\up>S</\s\up> F Y',$creationDatestamp); +$creationTime = date('g:i A',$creationDatestamp); +echo '<b>Created On: </b>',$creationDate,' at ',$creationTime,'<br />'; + +/** Read the name of the last person to modify this workbook **/ +$modifiedBy = $objPHPExcel->getProperties()->getLastModifiedBy(); +echo '<b>Last Modified By: </b>',$modifiedBy,'<br />'; + +/** Read the Date when the workbook was last modified (as a PHP timestamp value) **/ +$modifiedDatestamp = $objPHPExcel->getProperties()->getModified(); +/** Format the date and time using the standard PHP date() function **/ +$modifiedDate = date('l, d<\s\up>S</\s\up> F Y',$modifiedDatestamp); +$modifiedTime = date('g:i A',$modifiedDatestamp); +echo '<b>Last Modified On: </b>',$modifiedDate,' at ',$modifiedTime,'<br />'; + +/** Read the workbook title property **/ +$workbookTitle = $objPHPExcel->getProperties()->getTitle(); +echo '<b>Title: </b>',$workbookTitle,'<br />'; + +/** Read the workbook description property **/ +$description = $objPHPExcel->getProperties()->getDescription(); +echo '<b>Description: </b>',$description,'<br />'; + +/** Read the workbook subject property **/ +$subject = $objPHPExcel->getProperties()->getSubject(); +echo '<b>Subject: </b>',$subject,'<br />'; + +/** Read the workbook keywords property **/ +$keywords = $objPHPExcel->getProperties()->getKeywords(); +echo '<b>Keywords: </b>',$keywords,'<br />'; + +/** Read the workbook category property **/ +$category = $objPHPExcel->getProperties()->getCategory(); +echo '<b>Category: </b>',$category,'<br />'; + +/** Read the workbook company property **/ +$company = $objPHPExcel->getProperties()->getCompany(); +echo '<b>Company: </b>',$company,'<br />'; + +/** Read the workbook manager property **/ +$manager = $objPHPExcel->getProperties()->getManager(); +echo '<b>Manager: </b>',$manager,'<br />'; + + +?> +<body> +</html> diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader02.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader02.php new file mode 100644 index 000000000..b8c359d3c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader02.php @@ -0,0 +1,52 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reading WorkBook Data Example #02</title> + +</head> +<body> + +<h1>PHPExcel Reading WorkBook Data Example #02</h1> +<h2>Read a list of Custom Properties for a WorkBook</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel2007'; +$inputFileName = './sampleData/example1.xlsx'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +/** Read an array list of any custom properties for this document **/ +$customPropertyList = $objPHPExcel->getProperties()->getCustomProperties(); + +echo '<b>Custom Property names: </b><br />'; +foreach($customPropertyList as $customPropertyName) { + echo $customPropertyName,'<br />'; +} + + + +?> +<body> +</html> diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader03.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader03.php new file mode 100644 index 000000000..8fb350d41 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader03.php @@ -0,0 +1,80 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reading WorkBook Data Example #03</title> + +</head> +<body> + +<h1>PHPExcel Reading WorkBook Data Example #03</h1> +<h2>Read Custom Property Values for a WorkBook</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel2007'; +$inputFileName = './sampleData/example1.xlsx'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +/** Read an array list of any custom properties for this document **/ +$customPropertyList = $objPHPExcel->getProperties()->getCustomProperties(); + +echo '<b>Custom Properties: </b><br />'; +/** Loop through the list of custom properties **/ +foreach($customPropertyList as $customPropertyName) { + echo '<b>',$customPropertyName,': </b>'; + /** Retrieve the property value **/ + $propertyValue = $objPHPExcel->getProperties()->getCustomPropertyValue($customPropertyName); + /** Retrieve the property type **/ + $propertyType = $objPHPExcel->getProperties()->getCustomPropertyType($customPropertyName); + + /** Manipulate properties as appropriate for display purposes **/ + switch($propertyType) { + case 'i' : // integer + $propertyType = 'integer number'; + break; + case 'f' : // float + $propertyType = 'floating point number'; + break; + case 's' : // string + $propertyType = 'string'; + break; + case 'd' : // date + $propertyValue = date('l, d<\s\up>S</\s\up> F Y g:i A',$propertyValue); + $propertyType = 'date'; + break; + case 'b' : // boolean + $propertyValue = ($propertyValue) ? 'TRUE' : 'FALSE'; + $propertyType = 'boolean'; + break; + } + + echo $propertyValue,' (',$propertyType,')<br />'; +} + + + +?> +<body> +</html> diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader04.php b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader04.php new file mode 100644 index 000000000..05ff6374a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/exampleWorkBookReader04.php @@ -0,0 +1,55 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Reading WorkBook Data Example #04</title> + +</head> +<body> + +<h1>PHPExcel Reading WorkBook Data Example #04</h1> +<h2>Get a List of the Worksheets in a WorkBook</h2> +<?php + +/** Include path **/ +set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); + +/** PHPExcel_IOFactory */ +include 'PHPExcel/IOFactory.php'; + + +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example2.xls'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); + + +echo '<hr />'; + +echo 'Reading the number of Worksheets in the WorkBook<br />'; +/** Use the PHPExcel object's getSheetCount() method to get a count of the number of WorkSheets in the WorkBook */ +$sheetCount = $objPHPExcel->getSheetCount(); +echo 'There ',(($sheetCount == 1) ? 'is' : 'are'),' ',$sheetCount,' WorkSheet',(($sheetCount == 1) ? '' : 's'),' in the WorkBook<br /><br />'; + +echo 'Reading the names of Worksheets in the WorkBook<br />'; +/** Use the PHPExcel object's getSheetNames() method to get an array listing the names/titles of the WorkSheets in the WorkBook */ +$sheetNames = $objPHPExcel->getSheetNames(); +foreach($sheetNames as $sheetIndex => $sheetName) { + echo 'WorkSheet #',$sheetIndex,' is named "',$sheetName,'"<br />'; +} + + +?> +<body> +</html> diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xls b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xls new file mode 100644 index 000000000..0db0efdcd Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xls differ diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xlsx b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xlsx new file mode 100644 index 000000000..2224dd4fe Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example1.xlsx differ diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example2.xls b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example2.xls new file mode 100644 index 000000000..18bfcf474 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Examples/Reading WorkBook Data/sampleData/example2.xls differ diff --git a/vendor/phpoffice/phpexcel/Documentation/Examples/index.php b/vendor/phpoffice/phpexcel/Documentation/Examples/index.php new file mode 100644 index 000000000..8eb8574b3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/Examples/index.php @@ -0,0 +1,50 @@ +<?php + +error_reporting(E_ALL); +set_time_limit(0); + +date_default_timezone_set('Europe/London'); + +?> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + +<title>PHPExcel Examples</title> + +</head> +<body> + +<?php + +$exampleTypeList = glob('./*',GLOB_ONLYDIR); + +foreach($exampleTypeList as $exampleType) { + + echo '<h1>PHPExcel ' . pathinfo($exampleType,PATHINFO_BASENAME) . ' Examples</h1>'; + + $exampleList = glob('./'.$exampleType.'/*.php'); + + foreach($exampleList as $exampleFile) { + $fileData = file_get_contents($exampleFile); + + $h1Pattern = '#<h1>(.*?)</h1>#'; + $h2Pattern = '#<h2>(.*?)</h2>#'; + + if (preg_match($h1Pattern, $fileData, $out)) { + $h1Text = $out[1]; + $h2Text = (preg_match($h2Pattern, $fileData, $out)) ? $out[1] : ''; + + echo '<a href="',$exampleFile,'">',$h1Text,'</a><br />'; + if (($h2Text > '') && + (pathinfo($exampleType,PATHINFO_BASENAME) != 'Calculations')) { + echo $h2Text,'<br />'; + } + } + + } +} + +?> +<body> +</html> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/FunctionListByCategory.txt b/vendor/phpoffice/phpexcel/Documentation/FunctionListByCategory.txt new file mode 100644 index 000000000..b23d9a11c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/FunctionListByCategory.txt @@ -0,0 +1,377 @@ +CATEGORY_CUBE + CUBEKPIMEMBER *** Not yet Implemented + CUBEMEMBER *** Not yet Implemented + CUBEMEMBERPROPERTY *** Not yet Implemented + CUBERANKEDMEMBER *** Not yet Implemented + CUBESET *** Not yet Implemented + CUBESETCOUNT *** Not yet Implemented + CUBEVALUE *** Not yet Implemented + +CATEGORY_DATABASE + DAVERAGE PHPExcel_Calculation_Database::DAVERAGE + DCOUNT PHPExcel_Calculation_Database::DCOUNT + DCOUNTA PHPExcel_Calculation_Database::DCOUNTA + DGET PHPExcel_Calculation_Database::DGET + DMAX PHPExcel_Calculation_Database::DMAX + DMIN PHPExcel_Calculation_Database::DMIN + DPRODUCT PHPExcel_Calculation_Database::DPRODUCT + DSTDEV PHPExcel_Calculation_Database::DSTDEV + DSTDEVP PHPExcel_Calculation_Database::DSTDEVP + DSUM PHPExcel_Calculation_Database::DSUM + DVAR PHPExcel_Calculation_Database::DVAR + DVARP PHPExcel_Calculation_Database::DVARP + +CATEGORY_DATE_AND_TIME + DATE PHPExcel_Calculation_DateTime::DATE + DATEDIF PHPExcel_Calculation_DateTime::DATEDIF + DATEVALUE PHPExcel_Calculation_DateTime::DATEVALUE + DAY PHPExcel_Calculation_DateTime::DAYOFMONTH + DAYS360 PHPExcel_Calculation_DateTime::DAYS360 + EDATE PHPExcel_Calculation_DateTime::EDATE + EOMONTH PHPExcel_Calculation_DateTime::EOMONTH + HOUR PHPExcel_Calculation_DateTime::HOUROFDAY + MINUTE PHPExcel_Calculation_DateTime::MINUTEOFHOUR + MONTH PHPExcel_Calculation_DateTime::MONTHOFYEAR + NETWORKDAYS PHPExcel_Calculation_DateTime::NETWORKDAYS + NOW PHPExcel_Calculation_DateTime::DATETIMENOW + SECOND PHPExcel_Calculation_DateTime::SECONDOFMINUTE + TIME PHPExcel_Calculation_DateTime::TIME + TIMEVALUE PHPExcel_Calculation_DateTime::TIMEVALUE + TODAY PHPExcel_Calculation_DateTime::DATENOW + WEEKDAY PHPExcel_Calculation_DateTime::DAYOFWEEK + WEEKNUM PHPExcel_Calculation_DateTime::WEEKOFYEAR + WORKDAY PHPExcel_Calculation_DateTime::WORKDAY + YEAR PHPExcel_Calculation_DateTime::YEAR + YEARFRAC PHPExcel_Calculation_DateTime::YEARFRAC + +CATEGORY_ENGINEERING + BESSELI PHPExcel_Calculation_Engineering::BESSELI + BESSELJ PHPExcel_Calculation_Engineering::BESSELJ + BESSELK PHPExcel_Calculation_Engineering::BESSELK + BESSELY PHPExcel_Calculation_Engineering::BESSELY + BIN2DEC PHPExcel_Calculation_Engineering::BINTODEC + BIN2HEX PHPExcel_Calculation_Engineering::BINTOHEX + BIN2OCT PHPExcel_Calculation_Engineering::BINTOOCT + COMPLEX PHPExcel_Calculation_Engineering::COMPLEX + CONVERT PHPExcel_Calculation_Engineering::CONVERTUOM + DEC2BIN PHPExcel_Calculation_Engineering::DECTOBIN + DEC2HEX PHPExcel_Calculation_Engineering::DECTOHEX + DEC2OCT PHPExcel_Calculation_Engineering::DECTOOCT + DELTA PHPExcel_Calculation_Engineering::DELTA + ERF PHPExcel_Calculation_Engineering::ERF + ERFC PHPExcel_Calculation_Engineering::ERFC + GESTEP PHPExcel_Calculation_Engineering::GESTEP + HEX2BIN PHPExcel_Calculation_Engineering::HEXTOBIN + HEX2DEC PHPExcel_Calculation_Engineering::HEXTODEC + HEX2OCT PHPExcel_Calculation_Engineering::HEXTOOCT + IMABS PHPExcel_Calculation_Engineering::IMABS + IMAGINARY PHPExcel_Calculation_Engineering::IMAGINARY + IMARGUMENT PHPExcel_Calculation_Engineering::IMARGUMENT + IMCONJUGATE PHPExcel_Calculation_Engineering::IMCONJUGATE + IMCOS PHPExcel_Calculation_Engineering::IMCOS + IMDIV PHPExcel_Calculation_Engineering::IMDIV + IMEXP PHPExcel_Calculation_Engineering::IMEXP + IMLN PHPExcel_Calculation_Engineering::IMLN + IMLOG10 PHPExcel_Calculation_Engineering::IMLOG10 + IMLOG2 PHPExcel_Calculation_Engineering::IMLOG2 + IMPOWER PHPExcel_Calculation_Engineering::IMPOWER + IMPRODUCT PHPExcel_Calculation_Engineering::IMPRODUCT + IMREAL PHPExcel_Calculation_Engineering::IMREAL + IMSIN PHPExcel_Calculation_Engineering::IMSIN + IMSQRT PHPExcel_Calculation_Engineering::IMSQRT + IMSUB PHPExcel_Calculation_Engineering::IMSUB + IMSUM PHPExcel_Calculation_Engineering::IMSUM + OCT2BIN PHPExcel_Calculation_Engineering::OCTTOBIN + OCT2DEC PHPExcel_Calculation_Engineering::OCTTODEC + OCT2HEX PHPExcel_Calculation_Engineering::OCTTOHEX + +CATEGORY_FINANCIAL + ACCRINT PHPExcel_Calculation_Financial::ACCRINT + ACCRINTM PHPExcel_Calculation_Financial::ACCRINTM + AMORDEGRC PHPExcel_Calculation_Financial::AMORDEGRC + AMORLINC PHPExcel_Calculation_Financial::AMORLINC + COUPDAYBS PHPExcel_Calculation_Financial::COUPDAYBS + COUPDAYS PHPExcel_Calculation_Financial::COUPDAYS + COUPDAYSNC PHPExcel_Calculation_Financial::COUPDAYSNC + COUPNCD PHPExcel_Calculation_Financial::COUPNCD + COUPNUM PHPExcel_Calculation_Financial::COUPNUM + COUPPCD PHPExcel_Calculation_Financial::COUPPCD + CUMIPMT PHPExcel_Calculation_Financial::CUMIPMT + CUMPRINC PHPExcel_Calculation_Financial::CUMPRINC + DB PHPExcel_Calculation_Financial::DB + DDB PHPExcel_Calculation_Financial::DDB + DISC PHPExcel_Calculation_Financial::DISC + DOLLARDE PHPExcel_Calculation_Financial::DOLLARDE + DOLLARFR PHPExcel_Calculation_Financial::DOLLARFR + DURATION *** Not yet Implemented + EFFECT PHPExcel_Calculation_Financial::EFFECT + FV PHPExcel_Calculation_Financial::FV + FVSCHEDULE PHPExcel_Calculation_Financial::FVSCHEDULE + INTRATE PHPExcel_Calculation_Financial::INTRATE + IPMT PHPExcel_Calculation_Financial::IPMT + IRR PHPExcel_Calculation_Financial::IRR + ISPMT PHPExcel_Calculation_Financial::ISPMT + MDURATION *** Not yet Implemented + MIRR PHPExcel_Calculation_Financial::MIRR + NOMINAL PHPExcel_Calculation_Financial::NOMINAL + NPER PHPExcel_Calculation_Financial::NPER + NPV PHPExcel_Calculation_Financial::NPV + ODDFPRICE *** Not yet Implemented + ODDFYIELD *** Not yet Implemented + ODDLPRICE *** Not yet Implemented + ODDLYIELD *** Not yet Implemented + PMT PHPExcel_Calculation_Financial::PMT + PPMT PHPExcel_Calculation_Financial::PPMT + PRICE PHPExcel_Calculation_Financial::PRICE + PRICEDISC PHPExcel_Calculation_Financial::PRICEDISC + PRICEMAT PHPExcel_Calculation_Financial::PRICEMAT + PV PHPExcel_Calculation_Financial::PV + RATE PHPExcel_Calculation_Financial::RATE + RECEIVED PHPExcel_Calculation_Financial::RECEIVED + SLN PHPExcel_Calculation_Financial::SLN + SYD PHPExcel_Calculation_Financial::SYD + TBILLEQ PHPExcel_Calculation_Financial::TBILLEQ + TBILLPRICE PHPExcel_Calculation_Financial::TBILLPRICE + TBILLYIELD PHPExcel_Calculation_Financial::TBILLYIELD + USDOLLAR *** Not yet Implemented + VDB *** Not yet Implemented + XIRR PHPExcel_Calculation_Financial::XIRR + XNPV PHPExcel_Calculation_Financial::XNPV + YIELD *** Not yet Implemented + YIELDDISC PHPExcel_Calculation_Financial::YIELDDISC + YIELDMAT PHPExcel_Calculation_Financial::YIELDMAT + +CATEGORY_INFORMATION + CELL *** Not yet Implemented + ERROR.TYPE PHPExcel_Calculation_Functions::ERROR_TYPE + INFO *** Not yet Implemented + ISBLANK PHPExcel_Calculation_Functions::IS_BLANK + ISERR PHPExcel_Calculation_Functions::IS_ERR + ISERROR PHPExcel_Calculation_Functions::IS_ERROR + ISEVEN PHPExcel_Calculation_Functions::IS_EVEN + ISLOGICAL PHPExcel_Calculation_Functions::IS_LOGICAL + ISNA PHPExcel_Calculation_Functions::IS_NA + ISNONTEXT PHPExcel_Calculation_Functions::IS_NONTEXT + ISNUMBER PHPExcel_Calculation_Functions::IS_NUMBER + ISODD PHPExcel_Calculation_Functions::IS_ODD + ISREF *** Not yet Implemented + ISTEXT PHPExcel_Calculation_Functions::IS_TEXT + N PHPExcel_Calculation_Functions::N + NA PHPExcel_Calculation_Functions::NA + TYPE PHPExcel_Calculation_Functions::TYPE + VERSION PHPExcel_Calculation_Functions::VERSION + +CATEGORY_LOGICAL + AND PHPExcel_Calculation_Logical::LOGICAL_AND + FALSE PHPExcel_Calculation_Logical::FALSE + IF PHPExcel_Calculation_Logical::STATEMENT_IF + IFERROR PHPExcel_Calculation_Logical::IFERROR + NOT PHPExcel_Calculation_Logical::NOT + OR PHPExcel_Calculation_Logical::LOGICAL_OR + TRUE PHPExcel_Calculation_Logical::TRUE + +CATEGORY_LOOKUP_AND_REFERENCE + ADDRESS PHPExcel_Calculation_LookupRef::CELL_ADDRESS + AREAS *** Not yet Implemented + CHOOSE PHPExcel_Calculation_LookupRef::CHOOSE + COLUMN PHPExcel_Calculation_LookupRef::COLUMN + COLUMNS PHPExcel_Calculation_LookupRef::COLUMNS + GETPIVOTDATA *** Not yet Implemented + HLOOKUP PHPExcel_Calculation_LookupRef::HLOOKUP + HYPERLINK PHPExcel_Calculation_LookupRef::HYPERLINK + INDEX PHPExcel_Calculation_LookupRef::INDEX + INDIRECT PHPExcel_Calculation_LookupRef::INDIRECT + LOOKUP PHPExcel_Calculation_LookupRef::LOOKUP + MATCH PHPExcel_Calculation_LookupRef::MATCH + OFFSET PHPExcel_Calculation_LookupRef::OFFSET + ROW PHPExcel_Calculation_LookupRef::ROW + ROWS PHPExcel_Calculation_LookupRef::ROWS + RTD *** Not yet Implemented + TRANSPOSE PHPExcel_Calculation_LookupRef::TRANSPOSE + VLOOKUP PHPExcel_Calculation_LookupRef::VLOOKUP + +CATEGORY_MATH_AND_TRIG + ABS abs + ACOS acos + ACOSH acosh + ASIN asin + ASINH asinh + ATAN atan + ATAN2 PHPExcel_Calculation_MathTrig::REVERSE_ATAN2 + ATANH atanh + CEILING PHPExcel_Calculation_MathTrig::CEILING + COMBIN PHPExcel_Calculation_MathTrig::COMBIN + COS cos + COSH cosh + DEGREES rad2deg + EVEN PHPExcel_Calculation_MathTrig::EVEN + EXP exp + FACT PHPExcel_Calculation_MathTrig::FACT + FACTDOUBLE PHPExcel_Calculation_MathTrig::FACTDOUBLE + FLOOR PHPExcel_Calculation_MathTrig::FLOOR + GCD PHPExcel_Calculation_MathTrig::GCD + INT PHPExcel_Calculation_MathTrig::INT + LCM PHPExcel_Calculation_MathTrig::LCM + LN log + LOG PHPExcel_Calculation_MathTrig::LOG_BASE + LOG10 log10 + MDETERM PHPExcel_Calculation_MathTrig::MDETERM + MINVERSE PHPExcel_Calculation_MathTrig::MINVERSE + MMULT PHPExcel_Calculation_MathTrig::MMULT + MOD PHPExcel_Calculation_MathTrig::MOD + MROUND PHPExcel_Calculation_MathTrig::MROUND + MULTINOMIAL PHPExcel_Calculation_MathTrig::MULTINOMIAL + ODD PHPExcel_Calculation_MathTrig::ODD + PI pi + POWER PHPExcel_Calculation_MathTrig::POWER + PRODUCT PHPExcel_Calculation_MathTrig::PRODUCT + QUOTIENT PHPExcel_Calculation_MathTrig::QUOTIENT + RADIANS deg2rad + RAND PHPExcel_Calculation_MathTrig::RAND + RANDBETWEEN PHPExcel_Calculation_MathTrig::RAND + ROMAN PHPExcel_Calculation_MathTrig::ROMAN + ROUND round + ROUNDDOWN PHPExcel_Calculation_MathTrig::ROUNDDOWN + ROUNDUP PHPExcel_Calculation_MathTrig::ROUNDUP + SERIESSUM PHPExcel_Calculation_MathTrig::SERIESSUM + SIGN PHPExcel_Calculation_MathTrig::SIGN + SIN sin + SINH sinh + SQRT sqrt + SQRTPI PHPExcel_Calculation_MathTrig::SQRTPI + SUBTOTAL PHPExcel_Calculation_MathTrig::SUBTOTAL + SUM PHPExcel_Calculation_MathTrig::SUM + SUMIF PHPExcel_Calculation_MathTrig::SUMIF + SUMIFS *** Not yet Implemented + SUMPRODUCT PHPExcel_Calculation_MathTrig::SUMPRODUCT + SUMSQ PHPExcel_Calculation_MathTrig::SUMSQ + SUMX2MY2 PHPExcel_Calculation_MathTrig::SUMX2MY2 + SUMX2PY2 PHPExcel_Calculation_MathTrig::SUMX2PY2 + SUMXMY2 PHPExcel_Calculation_MathTrig::SUMXMY2 + TAN tan + TANH tanh + TRUNC PHPExcel_Calculation_MathTrig::TRUNC + +CATEGORY_STATISTICAL + AVEDEV PHPExcel_Calculation_Statistical::AVEDEV + AVERAGE PHPExcel_Calculation_Statistical::AVERAGE + AVERAGEA PHPExcel_Calculation_Statistical::AVERAGEA + AVERAGEIF PHPExcel_Calculation_Statistical::AVERAGEIF + AVERAGEIFS *** Not yet Implemented + BETADIST PHPExcel_Calculation_Statistical::BETADIST + BETAINV PHPExcel_Calculation_Statistical::BETAINV + BINOMDIST PHPExcel_Calculation_Statistical::BINOMDIST + CHIDIST PHPExcel_Calculation_Statistical::CHIDIST + CHIINV PHPExcel_Calculation_Statistical::CHIINV + CHITEST *** Not yet Implemented + CONFIDENCE PHPExcel_Calculation_Statistical::CONFIDENCE + CORREL PHPExcel_Calculation_Statistical::CORREL + COUNT PHPExcel_Calculation_Statistical::COUNT + COUNTA PHPExcel_Calculation_Statistical::COUNTA + COUNTBLANK PHPExcel_Calculation_Statistical::COUNTBLANK + COUNTIF PHPExcel_Calculation_Statistical::COUNTIF + COUNTIFS *** Not yet Implemented + COVAR PHPExcel_Calculation_Statistical::COVAR + CRITBINOM PHPExcel_Calculation_Statistical::CRITBINOM + DEVSQ PHPExcel_Calculation_Statistical::DEVSQ + EXPONDIST PHPExcel_Calculation_Statistical::EXPONDIST + FDIST *** Not yet Implemented + FINV *** Not yet Implemented + FISHER PHPExcel_Calculation_Statistical::FISHER + FISHERINV PHPExcel_Calculation_Statistical::FISHERINV + FORECAST PHPExcel_Calculation_Statistical::FORECAST + FREQUENCY *** Not yet Implemented + FTEST *** Not yet Implemented + GAMMADIST PHPExcel_Calculation_Statistical::GAMMADIST + GAMMAINV PHPExcel_Calculation_Statistical::GAMMAINV + GAMMALN PHPExcel_Calculation_Statistical::GAMMALN + GEOMEAN PHPExcel_Calculation_Statistical::GEOMEAN + GROWTH PHPExcel_Calculation_Statistical::GROWTH + HARMEAN PHPExcel_Calculation_Statistical::HARMEAN + HYPGEOMDIST PHPExcel_Calculation_Statistical::HYPGEOMDIST + INTERCEPT PHPExcel_Calculation_Statistical::INTERCEPT + KURT PHPExcel_Calculation_Statistical::KURT + LARGE PHPExcel_Calculation_Statistical::LARGE + LINEST PHPExcel_Calculation_Statistical::LINEST + LOGEST PHPExcel_Calculation_Statistical::LOGEST + LOGINV PHPExcel_Calculation_Statistical::LOGINV + LOGNORMDIST PHPExcel_Calculation_Statistical::LOGNORMDIST + MAX PHPExcel_Calculation_Statistical::MAX + MAXA PHPExcel_Calculation_Statistical::MAXA + MAXIF PHPExcel_Calculation_Statistical::MAXIF + MEDIAN PHPExcel_Calculation_Statistical::MEDIAN + MEDIANIF *** Not yet Implemented + MIN PHPExcel_Calculation_Statistical::MIN + MINA PHPExcel_Calculation_Statistical::MINA + MINIF PHPExcel_Calculation_Statistical::MINIF + MODE PHPExcel_Calculation_Statistical::MODE + NEGBINOMDIST PHPExcel_Calculation_Statistical::NEGBINOMDIST + NORMDIST PHPExcel_Calculation_Statistical::NORMDIST + NORMINV PHPExcel_Calculation_Statistical::NORMINV + NORMSDIST PHPExcel_Calculation_Statistical::NORMSDIST + NORMSINV PHPExcel_Calculation_Statistical::NORMSINV + PEARSON PHPExcel_Calculation_Statistical::CORREL + PERCENTILE PHPExcel_Calculation_Statistical::PERCENTILE + PERCENTRANK PHPExcel_Calculation_Statistical::PERCENTRANK + PERMUT PHPExcel_Calculation_Statistical::PERMUT + POISSON PHPExcel_Calculation_Statistical::POISSON + PROB *** Not yet Implemented + QUARTILE PHPExcel_Calculation_Statistical::QUARTILE + RANK PHPExcel_Calculation_Statistical::RANK + RSQ PHPExcel_Calculation_Statistical::RSQ + SKEW PHPExcel_Calculation_Statistical::SKEW + SLOPE PHPExcel_Calculation_Statistical::SLOPE + SMALL PHPExcel_Calculation_Statistical::SMALL + STANDARDIZE PHPExcel_Calculation_Statistical::STANDARDIZE + STDEV PHPExcel_Calculation_Statistical::STDEV + STDEVA PHPExcel_Calculation_Statistical::STDEVA + STDEVP PHPExcel_Calculation_Statistical::STDEVP + STDEVPA PHPExcel_Calculation_Statistical::STDEVPA + STEYX PHPExcel_Calculation_Statistical::STEYX + TDIST PHPExcel_Calculation_Statistical::TDIST + TINV PHPExcel_Calculation_Statistical::TINV + TREND PHPExcel_Calculation_Statistical::TREND + TRIMMEAN PHPExcel_Calculation_Statistical::TRIMMEAN + TTEST *** Not yet Implemented + VAR PHPExcel_Calculation_Statistical::VARFunc + VARA PHPExcel_Calculation_Statistical::VARA + VARP PHPExcel_Calculation_Statistical::VARP + VARPA PHPExcel_Calculation_Statistical::VARPA + WEIBULL PHPExcel_Calculation_Statistical::WEIBULL + ZTEST PHPExcel_Calculation_Statistical::ZTEST + +CATEGORY_TEXT_AND_DATA + ASC *** Not yet Implemented + BAHTTEXT *** Not yet Implemented + CHAR PHPExcel_Calculation_TextData::CHARACTER + CLEAN PHPExcel_Calculation_TextData::TRIMNONPRINTABLE + CODE PHPExcel_Calculation_TextData::ASCIICODE + CONCATENATE PHPExcel_Calculation_TextData::CONCATENATE + DOLLAR PHPExcel_Calculation_TextData::DOLLAR + EXACT *** Not yet Implemented + FIND PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FINDB PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FIXED PHPExcel_Calculation_TextData::FIXEDFORMAT + JIS *** Not yet Implemented + LEFT PHPExcel_Calculation_TextData::LEFT + LEFTB PHPExcel_Calculation_TextData::LEFT + LEN PHPExcel_Calculation_TextData::STRINGLENGTH + LENB PHPExcel_Calculation_TextData::STRINGLENGTH + LOWER PHPExcel_Calculation_TextData::LOWERCASE + MID PHPExcel_Calculation_TextData::MID + MIDB PHPExcel_Calculation_TextData::MID + PHONETIC *** Not yet Implemented + PROPER PHPExcel_Calculation_TextData::PROPERCASE + REPLACE PHPExcel_Calculation_TextData::REPLACE + REPLACEB PHPExcel_Calculation_TextData::REPLACE + REPT str_repeat + RIGHT PHPExcel_Calculation_TextData::RIGHT + RIGHTB PHPExcel_Calculation_TextData::RIGHT + SEARCH PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SEARCHB PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SUBSTITUTE PHPExcel_Calculation_TextData::SUBSTITUTE + T PHPExcel_Calculation_TextData::RETURNSTRING + TEXT PHPExcel_Calculation_TextData::TEXTFORMAT + TRIM PHPExcel_Calculation_TextData::TRIMSPACES + UPPER PHPExcel_Calculation_TextData::UPPERCASE + VALUE PHPExcel_Calculation_TextData::VALUE diff --git a/vendor/phpoffice/phpexcel/Documentation/FunctionListByName.txt b/vendor/phpoffice/phpexcel/Documentation/FunctionListByName.txt new file mode 100644 index 000000000..45a9daf73 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/FunctionListByName.txt @@ -0,0 +1,381 @@ +ABS CATEGORY_MATH_AND_TRIG abs +ACCRINT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::ACCRINT +ACCRINTM CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::ACCRINTM +ACOS CATEGORY_MATH_AND_TRIG acos +ACOSH CATEGORY_MATH_AND_TRIG acosh +ADDRESS CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::CELL_ADDRESS +AMORDEGRC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::AMORDEGRC +AMORLINC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::AMORLINC +AND CATEGORY_LOGICAL PHPExcel_Calculation_Logical::LOGICAL_AND +AREAS CATEGORY_LOOKUP_AND_REFERENCE *** Not yet Implemented +ASC CATEGORY_TEXT_AND_DATA *** Not yet Implemented +ASIN CATEGORY_MATH_AND_TRIG asin +ASINH CATEGORY_MATH_AND_TRIG asinh +ATAN CATEGORY_MATH_AND_TRIG atan +ATAN2 CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::REVERSE_ATAN2 +ATANH CATEGORY_MATH_AND_TRIG atanh +AVEDEV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::AVEDEV +AVERAGE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::AVERAGE +AVERAGEA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::AVERAGEA +AVERAGEIF CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::AVERAGEIF +AVERAGEIFS CATEGORY_STATISTICAL *** Not yet Implemented + +BAHTTEXT CATEGORY_TEXT_AND_DATA *** Not yet Implemented +BESSELI CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BESSELI +BESSELJ CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BESSELJ +BESSELK CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BESSELK +BESSELY CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BESSELY +BETADIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::BETADIST +BETAINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::BETAINV +BIN2DEC CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BINTODEC +BIN2HEX CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BINTOHEX +BIN2OCT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::BINTOOCT +BINOMDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::BINOMDIST + +CEILING CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::CEILING +CELL CATEGORY_INFORMATION *** Not yet Implemented +CHAR CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::CHARACTER +CHIDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CHIDIST +CHIINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CHIINV +CHITEST CATEGORY_STATISTICAL *** Not yet Implemented +CHOOSE CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::CHOOSE +CLEAN CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::TRIMNONPRINTABLE +CODE CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::ASCIICODE +COLUMN CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::COLUMN +COLUMNS CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::COLUMNS +COMBIN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::COMBIN +COMPLEX CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::COMPLEX +CONCATENATE CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::CONCATENATE +CONFIDENCE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CONFIDENCE +CONVERT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::CONVERTUOM +CORREL CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CORREL +COS CATEGORY_MATH_AND_TRIG cos +COSH CATEGORY_MATH_AND_TRIG cosh +COUNT CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::COUNT +COUNTA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::COUNTA +COUNTBLANK CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::COUNTBLANK +COUNTIF CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::COUNTIF +COUNTIFS CATEGORY_STATISTICAL *** Not yet Implemented +COUPDAYBS CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPDAYBS +COUPDAYS CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPDAYS +COUPDAYSNC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPDAYSNC +COUPNCD CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPNCD +COUPNUM CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPNUM +COUPPCD CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::COUPPCD +COVAR CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::COVAR +CRITBINOM CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CRITBINOM +CUBEKPIMEMBER CATEGORY_CUBE *** Not yet Implemented +CUBEMEMBER CATEGORY_CUBE *** Not yet Implemented +CUBEMEMBERPROPERTY CATEGORY_CUBE *** Not yet Implemented +CUBERANKEDMEMBER CATEGORY_CUBE *** Not yet Implemented +CUBESET CATEGORY_CUBE *** Not yet Implemented +CUBESETCOUNT CATEGORY_CUBE *** Not yet Implemented +CUBEVALUE CATEGORY_CUBE *** Not yet Implemented +CUMIPMT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::CUMIPMT +CUMPRINC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::CUMPRINC + +DATE CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DATE +DATEDIF CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DATEDIF +DATEVALUE CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DATEVALUE +DAVERAGE CATEGORY_DATABASE PHPExcel_Calculation_Database::DAVERAGE +DAY CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DAYOFMONTH +DAYS360 CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DAYS360 +DB CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::DB +DCOUNT CATEGORY_DATABASE PHPExcel_Calculation_Database::DCOUNT +DCOUNTA CATEGORY_DATABASE PHPExcel_Calculation_Database::DCOUNTA +DDB CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::DDB +DEC2BIN CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::DECTOBIN +DEC2HEX CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::DECTOHEX +DEC2OCT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::DECTOOCT +DEGREES CATEGORY_MATH_AND_TRIG rad2deg +DELTA CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::DELTA +DEVSQ CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::DEVSQ +DGET CATEGORY_DATABASE PHPExcel_Calculation_Database::DGET +DISC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::DISC +DMAX CATEGORY_DATABASE PHPExcel_Calculation_Database::DMAX +DMIN CATEGORY_DATABASE PHPExcel_Calculation_Database::DMIN +DOLLAR CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::DOLLAR +DOLLARDE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::DOLLARDE +DOLLARFR CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::DOLLARFR +DPRODUCT CATEGORY_DATABASE PHPExcel_Calculation_Database::DPRODUCT +DSTDEV CATEGORY_DATABASE PHPExcel_Calculation_Database::DSTDEV +DSTDEVP CATEGORY_DATABASE PHPExcel_Calculation_Database::DSTDEVP +DSUM CATEGORY_DATABASE PHPExcel_Calculation_Database::DSUM +DURATION CATEGORY_FINANCIAL *** Not yet Implemented +DVAR CATEGORY_DATABASE PHPExcel_Calculation_Database::DVAR +DVARP CATEGORY_DATABASE PHPExcel_Calculation_Database::DVARP + +EDATE CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::EDATE +EFFECT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::EFFECT +EOMONTH CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::EOMONTH +ERF CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::ERF +ERFC CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::ERFC +ERROR.TYPE CATEGORY_INFORMATION PHPExcel_Calculation_Functions::ERROR_TYPE +EVEN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::EVEN +EXACT CATEGORY_TEXT_AND_DATA *** Not yet Implemented +EXP CATEGORY_MATH_AND_TRIG exp +EXPONDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::EXPONDIST + +FACT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::FACT +FACTDOUBLE CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::FACTDOUBLE +FALSE CATEGORY_LOGICAL PHPExcel_Calculation_Logical::FALSE +FDIST CATEGORY_STATISTICAL *** Not yet Implemented +FIND CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::SEARCHSENSITIVE +FINDB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::SEARCHSENSITIVE +FINV CATEGORY_STATISTICAL *** Not yet Implemented +FISHER CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::FISHER +FISHERINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::FISHERINV +FIXED CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::FIXEDFORMAT +FLOOR CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::FLOOR +FORECAST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::FORECAST +FREQUENCY CATEGORY_STATISTICAL *** Not yet Implemented +FTEST CATEGORY_STATISTICAL *** Not yet Implemented +FV CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::FV +FVSCHEDULE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::FVSCHEDULE + +GAMMADIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::GAMMADIST +GAMMAINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::GAMMAINV +GAMMALN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::GAMMALN +GCD CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::GCD +GEOMEAN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::GEOMEAN +GESTEP CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::GESTEP +GETPIVOTDATA CATEGORY_LOOKUP_AND_REFERENCE *** Not yet Implemented +GROWTH CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::GROWTH + +HARMEAN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::HARMEAN +HEX2BIN CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::HEXTOBIN +HEX2DEC CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::HEXTODEC +HEX2OCT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::HEXTOOCT +HLOOKUP CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::HLOOKUP +HOUR CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::HOUROFDAY +HYPERLINK CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::HYPERLINK +HYPGEOMDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::HYPGEOMDIST + +IF CATEGORY_LOGICAL PHPExcel_Calculation_Logical::STATEMENT_IF +IFERROR CATEGORY_LOGICAL PHPExcel_Calculation_Logical::IFERROR +IMABS CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMABS +IMAGINARY CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMAGINARY +IMARGUMENT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMARGUMENT +IMCONJUGATE CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMCONJUGATE +IMCOS CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMCOS +IMDIV CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMDIV +IMEXP CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMEXP +IMLN CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMLN +IMLOG10 CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMLOG10 +IMLOG2 CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMLOG2 +IMPOWER CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMPOWER +IMPRODUCT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMPRODUCT +IMREAL CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMREAL +IMSIN CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMSIN +IMSQRT CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMSQRT +IMSUB CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMSUB +IMSUM CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::IMSUM +INDEX CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::INDEX +INDIRECT CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::INDIRECT +INFO CATEGORY_INFORMATION *** Not yet Implemented +INT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::INT +INTERCEPT CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::INTERCEPT +INTRATE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::INTRATE +IPMT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::IPMT +IRR CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::IRR +ISBLANK CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_BLANK +ISERR CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_ERR +ISERROR CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_ERROR +ISEVEN CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_EVEN +ISLOGICAL CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_LOGICAL +ISNA CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_NA +ISNONTEXT CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_NONTEXT +ISNUMBER CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_NUMBER +ISODD CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_ODD +ISPMT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::ISPMT +ISREF CATEGORY_INFORMATION *** Not yet Implemented +ISTEXT CATEGORY_INFORMATION PHPExcel_Calculation_Functions::IS_TEXT + +JIS CATEGORY_TEXT_AND_DATA *** Not yet Implemented + +KURT CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::KURT + +LARGE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::LARGE +LCM CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::LCM +LEFT CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::LEFT +LEFTB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::LEFT +LEN CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::STRINGLENGTH +LENB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::STRINGLENGTH +LINEST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::LINEST +LN CATEGORY_MATH_AND_TRIG log +LOG CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::LOG_BASE +LOG10 CATEGORY_MATH_AND_TRIG log10 +LOGEST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::LOGEST +LOGINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::LOGINV +LOGNORMDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::LOGNORMDIST +LOOKUP CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::LOOKUP +LOWER CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::LOWERCASE + +MATCH CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::MATCH +MAX CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MAX +MAXA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MAXA +MAXIF CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MAXIF +MDETERM CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MDETERM +MDURATION CATEGORY_FINANCIAL *** Not yet Implemented +MEDIAN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MEDIAN +MEDIANIF CATEGORY_STATISTICAL *** Not yet Implemented +MID CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::MID +MIDB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::MID +MIN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MIN +MINA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MINA +MINIF CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MINIF +MINUTE CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::MINUTEOFHOUR +MINVERSE CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MINVERSE +MIRR CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::MIRR +MMULT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MMULT +MOD CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MOD +MODE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::MODE +MONTH CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::MONTHOFYEAR +MROUND CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MROUND +MULTINOMIAL CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::MULTINOMIAL + +N CATEGORY_INFORMATION PHPExcel_Calculation_Functions::N +NA CATEGORY_INFORMATION PHPExcel_Calculation_Functions::NA +NEGBINOMDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::NEGBINOMDIST +NETWORKDAYS CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::NETWORKDAYS +NOMINAL CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::NOMINAL +NORMDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::NORMDIST +NORMINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::NORMINV +NORMSDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::NORMSDIST +NORMSINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::NORMSINV +NOT CATEGORY_LOGICAL PHPExcel_Calculation_Logical::NOT +NOW CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DATETIMENOW +NPER CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::NPER +NPV CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::NPV + +OCT2BIN CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::OCTTOBIN +OCT2DEC CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::OCTTODEC +OCT2HEX CATEGORY_ENGINEERING PHPExcel_Calculation_Engineering::OCTTOHEX +ODD CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::ODD +ODDFPRICE CATEGORY_FINANCIAL *** Not yet Implemented +ODDFYIELD CATEGORY_FINANCIAL *** Not yet Implemented +ODDLPRICE CATEGORY_FINANCIAL *** Not yet Implemented +ODDLYIELD CATEGORY_FINANCIAL *** Not yet Implemented +OFFSET CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::OFFSET +OR CATEGORY_LOGICAL PHPExcel_Calculation_Logical::LOGICAL_OR + +PEARSON CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::CORREL +PERCENTILE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::PERCENTILE +PERCENTRANK CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::PERCENTRANK +PERMUT CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::PERMUT +PHONETIC CATEGORY_TEXT_AND_DATA *** Not yet Implemented +PI CATEGORY_MATH_AND_TRIG pi +PMT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PMT +POISSON CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::POISSON +POWER CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::POWER +PPMT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PPMT +PRICE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PRICE +PRICEDISC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PRICEDISC +PRICEMAT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PRICEMAT +PROB CATEGORY_STATISTICAL *** Not yet Implemented +PRODUCT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::PRODUCT +PROPER CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::PROPERCASE +PV CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::PV + +QUARTILE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::QUARTILE +QUOTIENT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::QUOTIENT + +RADIANS CATEGORY_MATH_AND_TRIG deg2rad +RAND CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::RAND +RANDBETWEEN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::RAND +RANK CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::RANK +RATE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::RATE +RECEIVED CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::RECEIVED +REPLACE CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::REPLACE +REPLACEB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::REPLACE +REPT CATEGORY_TEXT_AND_DATA str_repeat +RIGHT CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::RIGHT +RIGHTB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::RIGHT +ROMAN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::ROMAN +ROUND CATEGORY_MATH_AND_TRIG round +ROUNDDOWN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::ROUNDDOWN +ROUNDUP CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::ROUNDUP +ROW CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::ROW +ROWS CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::ROWS +RSQ CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::RSQ +RTD CATEGORY_LOOKUP_AND_REFERENCE *** Not yet Implemented + +SEARCH CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::SEARCHINSENSITIVE +SEARCHB CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::SEARCHINSENSITIVE +SECOND CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::SECONDOFMINUTE +SERIESSUM CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SERIESSUM +SIGN CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SIGN +SIN CATEGORY_MATH_AND_TRIG sin +SINH CATEGORY_MATH_AND_TRIG sinh +SKEW CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::SKEW +SLN CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::SLN +SLOPE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::SLOPE +SMALL CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::SMALL +SQRT CATEGORY_MATH_AND_TRIG sqrt +SQRTPI CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SQRTPI +STANDARDIZE CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STANDARDIZE +STDEV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STDEV +STDEVA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STDEVA +STDEVP CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STDEVP +STDEVPA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STDEVPA +STEYX CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::STEYX +SUBSTITUTE CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::SUBSTITUTE +SUBTOTAL CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUBTOTAL +SUM CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUM +SUMIF CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMIF +SUMIFS CATEGORY_MATH_AND_TRIG *** Not yet Implemented +SUMPRODUCT CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMPRODUCT +SUMSQ CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMSQ +SUMX2MY2 CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMX2MY2 +SUMX2PY2 CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMX2PY2 +SUMXMY2 CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::SUMXMY2 +SYD CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::SYD + +T CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::RETURNSTRING +TAN CATEGORY_MATH_AND_TRIG tan +TANH CATEGORY_MATH_AND_TRIG tanh +TBILLEQ CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::TBILLEQ +TBILLPRICE CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::TBILLPRICE +TBILLYIELD CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::TBILLYIELD +TDIST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::TDIST +TEXT CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::TEXTFORMAT +TIME CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::TIME +TIMEVALUE CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::TIMEVALUE +TINV CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::TINV +TODAY CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DATENOW +TRANSPOSE CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::TRANSPOSE +TREND CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::TREND +TRIM CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::TRIMSPACES +TRIMMEAN CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::TRIMMEAN +TRUE CATEGORY_LOGICAL PHPExcel_Calculation_Logical::TRUE +TRUNC CATEGORY_MATH_AND_TRIG PHPExcel_Calculation_MathTrig::TRUNC +TTEST CATEGORY_STATISTICAL *** Not yet Implemented +TYPE CATEGORY_INFORMATION PHPExcel_Calculation_Functions::TYPE + +UPPER CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::UPPERCASE +USDOLLAR CATEGORY_FINANCIAL *** Not yet Implemented + +VALUE CATEGORY_TEXT_AND_DATA PHPExcel_Calculation_TextData::VALUE +VAR CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::VARFunc +VARA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::VARA +VARP CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::VARP +VARPA CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::VARPA +VDB CATEGORY_FINANCIAL *** Not yet Implemented +VERSION CATEGORY_INFORMATION PHPExcel_Calculation_Functions::VERSION +VLOOKUP CATEGORY_LOOKUP_AND_REFERENCE PHPExcel_Calculation_LookupRef::VLOOKUP + +WEEKDAY CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::DAYOFWEEK +WEEKNUM CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::WEEKOFYEAR +WEIBULL CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::WEIBULL +WORKDAY CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::WORKDAY + +XIRR CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::XIRR +XNPV CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::XNPV + +YEAR CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::YEAR +YEARFRAC CATEGORY_DATE_AND_TIME PHPExcel_Calculation_DateTime::YEARFRAC +YIELD CATEGORY_FINANCIAL *** Not yet Implemented +YIELDDISC CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::YIELDDISC +YIELDMAT CATEGORY_FINANCIAL PHPExcel_Calculation_Financial::YIELDMAT + +ZTEST CATEGORY_STATISTICAL PHPExcel_Calculation_Statistical::ZTEST diff --git a/vendor/phpoffice/phpexcel/Documentation/Functionality Cross-Reference.xls b/vendor/phpoffice/phpexcel/Documentation/Functionality Cross-Reference.xls new file mode 100644 index 000000000..227fd612f Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/Functionality Cross-Reference.xls differ diff --git a/vendor/phpoffice/phpexcel/Documentation/PHPExcel AutoFilter Reference developer documentation.doc b/vendor/phpoffice/phpexcel/Documentation/PHPExcel AutoFilter Reference developer documentation.doc new file mode 100644 index 000000000..208b20205 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/PHPExcel AutoFilter Reference developer documentation.doc differ diff --git a/vendor/phpoffice/phpexcel/Documentation/PHPExcel Function Reference developer documentation.doc b/vendor/phpoffice/phpexcel/Documentation/PHPExcel Function Reference developer documentation.doc new file mode 100644 index 000000000..57d218c7c Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/PHPExcel Function Reference developer documentation.doc differ diff --git a/vendor/phpoffice/phpexcel/Documentation/PHPExcel User Documentation - Reading Spreadsheet Files.doc b/vendor/phpoffice/phpexcel/Documentation/PHPExcel User Documentation - Reading Spreadsheet Files.doc new file mode 100644 index 000000000..ef3954d3b Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/PHPExcel User Documentation - Reading Spreadsheet Files.doc differ diff --git a/vendor/phpoffice/phpexcel/Documentation/PHPExcel developer documentation.doc b/vendor/phpoffice/phpexcel/Documentation/PHPExcel developer documentation.doc new file mode 100644 index 000000000..52cc9647d Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/PHPExcel developer documentation.doc differ diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.cd b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.cd new file mode 100644 index 000000000..afc1dbd09 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.cd @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<ClassDiagram MajorVersion="1" MinorVersion="1"> + <Font Name="Tahoma" Size="8.25" /> + <Class Name="ClassDiagrams.PHPExcel" Collapsed="true"> + <Position X="3.5" Y="0.5" Width="1.5" /> + <TypeIdentifier> + <FileName>Classes\PHPExcel.cs</FileName> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA=</HashCode> + </TypeIdentifier> + <ShowAsAssociation> + <Property Name="Worksheets" /> + </ShowAsAssociation> + </Class> + <Class Name="ClassDiagrams.Worksheet" Collapsed="true"> + <Position X="0.5" Y="0.5" Width="1.5" /> + <TypeIdentifier> + <FileName>Classes\Worksheet.cs</FileName> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + </TypeIdentifier> + </Class> + <Interface Name="ClassDiagrams.PHPExcel_Reader_IReader" Collapsed="true"> + <Position X="2.25" Y="2.5" Width="2" /> + <TypeIdentifier> + <FileName>Classes\IReader.cs</FileName> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + </TypeIdentifier> + <ShowAsAssociation> + <Property Name="reads" /> + </ShowAsAssociation> + <AssociationLine Name="reads" Type="ClassDiagrams.PHPExcel"> + <MemberNameLabel ManuallyPlaced="true" ManuallySized="true"> + <Position X="0.152" Y="1.279" Height="0.16" Width="0.597" /> + </MemberNameLabel> + </AssociationLine> + </Interface> + <Interface Name="ClassDiagrams.PHPExcel_Writer_IWriter" Collapsed="true"> + <Position X="4.5" Y="2.5" Width="2" /> + <TypeIdentifier> + <FileName>Classes\IWriter.cs</FileName> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + </TypeIdentifier> + <ShowAsAssociation> + <Property Name="writes" /> + </ShowAsAssociation> + <AssociationLine Name="writes" Type="ClassDiagrams.PHPExcel"> + <MemberNameLabel ManuallyPlaced="true" ManuallySized="true"> + <Position X="-1.002" Y="1.298" Height="0.16" Width="0.764" /> + </MemberNameLabel> + </AssociationLine> + </Interface> +</ClassDiagram> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.png b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.png new file mode 100644 index 000000000..3fc7655a9 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Architecture.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj new file mode 100644 index 000000000..5920f3d2c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>ClassDiagrams</RootNamespace> + <AssemblyName>ClassDiagrams</AssemblyName> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>2.0</OldToolsVersion> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>bin\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> + <ItemGroup> + <None Include="Architecture.cd" /> + <None Include="ReaderWriter.cd" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Classes\IReader.cs" /> + <Compile Include="Classes\IWriter.cs" /> + <Compile Include="Classes\PHPExcel_IOFactory.cs" /> + <Compile Include="Classes\Worksheet.cs" /> + <Compile Include="Classes\PHPExcel.cs" /> + <Compile Include="Classes\PHPExcel_Reader_Excel2007.cs" /> + <Compile Include="Classes\PHPExcel_Reader_Serialized.cs" /> + <Compile Include="Classes\PHPExcel_Writer_Excel2007.cs" /> + <Compile Include="Classes\PHPExcel_Writer_Serialized.cs" /> + <Compile Include="Classes\PHPExcel_Reader_Excel5.cs" /> + </ItemGroup> + <ItemGroup> + <Content Include="Exports\Architecture.png" /> + <Content Include="Exports\ReaderWriter.png" /> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj.user b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj.user new file mode 100644 index 000000000..6a34e7dcd --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.csproj.user @@ -0,0 +1,5 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectView>ShowAllFiles</ProjectView> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.sln b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.sln new file mode 100644 index 000000000..3ed77321c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ClassDiagrams.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagrams", "ClassDiagrams.csproj", "{CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CC8CD7D2-8EFF-48E5-A17A-C1C482744D31}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IReader.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IReader.cs new file mode 100644 index 000000000..96c11afbc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IReader.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public interface PHPExcel_Reader_IReader + { + PHPExcel reads + { + get; + set; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IWriter.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IWriter.cs new file mode 100644 index 000000000..d1d664257 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/IWriter.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public interface PHPExcel_Writer_IWriter + { + PHPExcel writes + { + get; + set; + } + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel.cs new file mode 100644 index 000000000..5efaa5bd4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel + { + /// <remarks></remarks> + public Worksheet Worksheets + { + get + { + throw new System.NotImplementedException(); + } + set + { + } + } + } + + public class PHPExcel_Writer_PDF : PHPExcel_Writer_IWriter + { + #region PHPExcel_Writer_IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_IOFactory.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_IOFactory.cs new file mode 100644 index 000000000..444712cc1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_IOFactory.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_IOFactory + { + public PHPExcel_Reader_IReader createsReader + { + get + { + throw new System.NotImplementedException(); + } + set + { + } + } + + public PHPExcel_Writer_IWriter createsWriter + { + get + { + throw new System.NotImplementedException(); + } + set + { + } + } + + public PHPExcel_Writer_IWriter createWriter() + { + throw new System.NotImplementedException(); + } + + public PHPExcel_Reader_IReader createReader() + { + throw new System.NotImplementedException(); + } + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel2007.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel2007.cs new file mode 100644 index 000000000..5cf6e3df0 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel2007.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_Reader_Excel2007 : PHPExcel_Reader_IReader + { + #region IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel5.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel5.cs new file mode 100644 index 000000000..e40721215 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Excel5.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_Reader_Excel5 : PHPExcel_Reader_IReader + { + #region PHPExcel_Writer_IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Reader_Excel2003XML : PHPExcel_Reader_IReader + { + #region PHPExcel_Writer_IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Reader_SYLK : PHPExcel_Reader_IReader + { + #region PHPExcel_Writer_IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Serialized.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Serialized.cs new file mode 100644 index 000000000..ea114c88d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Reader_Serialized.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_Reader_Serialized : PHPExcel_Reader_IReader + { + #region IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Reader_CSV : PHPExcel_Reader_IReader + { + #region IReader Members + + public PHPExcel reads + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Excel2007.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Excel2007.cs new file mode 100644 index 000000000..03edda934 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Excel2007.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_Writer_Excel2007 : PHPExcel_Writer_IWriter + { + #region IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Serialized.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Serialized.cs new file mode 100644 index 000000000..cf8af208a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/PHPExcel_Writer_Serialized.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class PHPExcel_Writer_Serialized : PHPExcel_Writer_IWriter + { + #region IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Writer_CSV : PHPExcel_Writer_IWriter + { + #region IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Writer_Excel5 : PHPExcel_Writer_IWriter + { + #region IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } + + public class PHPExcel_Writer_HTML : PHPExcel_Writer_IWriter + { + #region IWriter Members + + public PHPExcel writes + { + get + { + throw new Exception("The method or operation is not implemented."); + } + set + { + throw new Exception("The method or operation is not implemented."); + } + } + + #endregion + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/Worksheet.cs b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/Worksheet.cs new file mode 100644 index 000000000..fdcf0ff76 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Classes/Worksheet.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ClassDiagrams +{ + public class Worksheet + { + } + + public class CopyOfWorksheet + { + } +} diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/Architecture.png b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/Architecture.png new file mode 100644 index 000000000..132481803 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/Architecture.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/ReaderWriter.png b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/ReaderWriter.png new file mode 100644 index 000000000..b915faa7c Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/Exports/ReaderWriter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.cd b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.cd new file mode 100644 index 000000000..bbaf29120 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.cd @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="utf-8"?> +<ClassDiagram MajorVersion="1" MinorVersion="1"> + <Class Name="ClassDiagrams.PHPExcel_Reader_Excel2007" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="0.5" Y="3.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Excel2007.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_Excel2007" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="3.5" Y="3.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Writer_Excel2007.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Reader_Serialized" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="0.5" Y="4.25" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_Serialized" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="3.5" Y="4.25" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Writer_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Reader_CSV" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="0.5" Y="5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_CSV" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="3.5" Y="5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Writer_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_Excel5" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="3.5" Y="5.75" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Writer_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_HTML" Collapsed="true" BaseTypeListCollapsed="true"> + <Position X="3.5" Y="6.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Writer_Serialized.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Reader_Excel5" Collapsed="true"> + <Position X="0.5" Y="5.75" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Excel5.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Writer_PDF" Collapsed="true"> + <Position X="3.5" Y="7.25" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_IOFactory"> + <Position X="2" Y="0.5" Width="2.25" /> + <AssociationLine Name="createsReader" Type="ClassDiagrams.PHPExcel_Reader_IReader"> + <MemberNameLabel ManuallyPlaced="true"> + <Position X="0.11" Y="0.06" /> + </MemberNameLabel> + </AssociationLine> + <AssociationLine Name="createsWriter" Type="ClassDiagrams.PHPExcel_Writer_IWriter"> + <MemberNameLabel ManuallyPlaced="true"> + <Position X="-1.088" Y="0.081" /> + </MemberNameLabel> + </AssociationLine> + <TypeIdentifier> + <HashCode>AIAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_IOFactory.cs</FileName> + </TypeIdentifier> + <ShowAsAssociation> + <Property Name="createsReader" /> + <Property Name="createsWriter" /> + </ShowAsAssociation> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Reader_Excel2003XML" Collapsed="true"> + <Position X="0.5" Y="6.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Excel5.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Class Name="ClassDiagrams.PHPExcel_Reader_SYLK" Collapsed="true"> + <Position X="0.5" Y="7.25" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\PHPExcel_Reader_Excel5.cs</FileName> + </TypeIdentifier> + <Lollipop Position="0.2" /> + </Class> + <Interface Name="ClassDiagrams.PHPExcel_Writer_IWriter" Collapsed="true"> + <Position X="3.5" Y="2.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA=</HashCode> + <FileName>Classes\IWriter.cs</FileName> + </TypeIdentifier> + </Interface> + <Interface Name="ClassDiagrams.PHPExcel_Reader_IReader" Collapsed="true"> + <Position X="0.5" Y="2.5" Width="2.25" /> + <TypeIdentifier> + <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAA=</HashCode> + <FileName>Classes\IReader.cs</FileName> + </TypeIdentifier> + </Interface> + <Font Name="Tahoma" Size="8.25" /> +</ClassDiagram> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.png b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.png new file mode 100644 index 000000000..d76c98d98 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/assets/ClassDiagrams/ReaderWriter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/01-Introduction.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/01-Introduction.md new file mode 100644 index 000000000..2ea3a5057 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/01-Introduction.md @@ -0,0 +1,11 @@ +# Calculation Engine - Formula Function Reference + +## Frequently asked questions + +The up-to-date F.A.Q. page for PHPExcel can be found on [http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements][1]. + +### Formulas don’t seem to be calculated in Excel2003 using compatibility pack? + +This is normal behaviour of the compatibility pack, Excel2007 displays this correctly. Use PHPExcel_Writer_Excel5 if you really need calculated values, or force recalculation in Excel2003. + + [1]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-01-Date-and-Time-Handling.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-01-Date-and-Time-Handling.md new file mode 100644 index 000000000..82993bbcc --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-01-Date-and-Time-Handling.md @@ -0,0 +1,123 @@ +# Calculation Engine - Formula Function Reference + +## Function Reference + +### Handling Date and Time Values + +#### Excel functions that return a Date and Time value + +Any of the Date and Time functions that return a date value in Excel can return either an Excel timestamp or a PHP timestamp or date object. + +It is possible for scripts to change the data type used for returning date values by calling the PHPExcel_Calculation_Functions::setReturnDateType() method: + +```php +PHPExcel_Calculation_Functions::setReturnDateType($returnDateType); +``` + +where the following constants can be used for $returnDateType + + - PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC + - PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT + - PHPExcel_Calculation_Functions::RETURNDATE_EXCEL + +The method will return a Boolean True on success, False on failure (e.g. if an invalid value is passed in for the return date type). + +The PHPExcel_Calculation_Functions::getReturnDateType() method can be used to determine the current value of this setting: + +```php +$returnDateType = PHPExcel_Calculation_Functions::getReturnDateType(); +``` + +The default is RETURNDATE_PHP_NUMERIC. + +##### PHP Timestamps + +If RETURNDATE_PHP_NUMERIC is set for the Return Date Type, then any date value returned to the calling script by any access to the Date and Time functions in Excel will be an integer value that represents the number of seconds from the PHP/Unix base date. The PHP/Unix base date (0) is 00:00 UST on 1st January 1970. This value can be positive or negative: so a value of -3600 would be 23:00 hrs on 31st December 1969; while a value of +3600 would be 01:00 hrs on 1st January 1970. This gives PHP a date range of between 14th December 1901 and 19th January 2038. + +##### PHP DateTime Objects + +If the Return Date Type is set for RETURNDATE_PHP_NUMERIC, then any date value returned to the calling script by any access to the Date and Time functions in Excel will be a PHP date/time object. + +##### Excel Timestamps + +If RETURNDATE_EXCEL is set for the Return Date Type, then the returned date value by any access to the Date and Time functions in Excel will be a floating point value that represents a number of days from the Excel base date. The Excel base date is determined by which calendar Excel uses: the Windows 1900 or the Mac 1904 calendar. 1st January 1900 is the base date for the Windows 1900 calendar while 1st January 1904 is the base date for the Mac 1904 calendar. + +It is possible for scripts to change the calendar used for calculating Excel date values by calling the PHPExcel_Shared_Date::setExcelCalendar() method: + +```php +PHPExcel_Shared_Date::setExcelCalendar($baseDate); +``` + +where the following constants can be used for $baseDate + + - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 + - PHPExcel_Shared_Date::CALENDAR_MAC_1904 + +The method will return a Boolean True on success, False on failure (e.g. if an invalid value is passed in). + +The PHPExcel_Shared_Date::getExcelCalendar() method can be used to determine the current value of this setting: + +```php +$baseDate = PHPExcel_Shared_Date::getExcelCalendar(); +``` +The default is CALENDAR_WINDOWS_1900. + +##### Functions that return a Date/Time Value + + - DATE + - DATEVALUE + - EDATE + - EOMONTH + - NOW + - TIME + - TIMEVALUE + - TODAY + +#### Excel functions that accept Date and Time values as parameters + +Date values passed in as parameters to a function can be an Excel timestamp or a PHP timestamp; or date object; or a string containing a date value (e.g. '1-Jan-2009'). PHPExcel will attempt to identify their type based on the PHP datatype: + +An integer numeric value will be treated as a PHP/Unix timestamp. A real (floating point) numeric value will be treated as an Excel date/timestamp. Any PHP DateTime object will be treated as a DateTime object. Any string value (even one containing straight numeric data) will be converted to a date/time object for validation as a date value based on the server locale settings, so passing through an ambiguous value of '07/08/2008' will be treated as 7th August 2008 if your server settings are UK, but as 8th July 2008 if your server settings are US. However, if you pass through a value such as '31/12/2008' that would be considered an error by a US-based server, but which is not ambiguous, then PHPExcel will attempt to correct this to 31st December 2008. If the content of the string doesn’t match any of the formats recognised by the php date/time object implementation of strtotime() (which can handle a wider range of formats than the normal strtotime() function), then the function will return a '#VALUE' error. However, Excel recommends that you should always use date/timestamps for your date functions, and the recommendation for PHPExcel is the same: avoid strings because the result is not predictable. + +The same principle applies when data is being written to Excel. Cells containing date actual values (rather than Excel functions that return a date value) are always written as Excel dates, converting where necessary. If a cell formatted as a date contains an integer or date/time object value, then it is converted to an Excel value for writing: if a cell formatted as a date contains a real value, then no conversion is required. Note that string values are written as strings rather than converted to Excel date timestamp values. + +##### Functions that expect a Date/Time Value + + - DATEDIF + - DAY + - DAYS360 + - EDATE + - EOMONTH + - HOUR + - MINUTE + - MONTH + - NETWORKDAYS + - SECOND + - WEEKDAY + - WEEKNUM + - WORKDAY + - YEAR + - YEARFRAC + +#### Helper Methods + +In addition to the setExcelCalendar() and getExcelCalendar() methods, a number of other methods are available in the PHPExcel_Shared_Date class that can help when working with dates: + +##### PHPExcel_Shared_Date::ExcelToPHP($excelDate) + +Converts a date/time from an Excel date timestamp to return a PHP serialized date/timestamp. + +Note that this method does not trap for Excel dates that fall outside of the valid range for a PHP date timestamp. + +##### PHPExcel_Shared_Date::ExcelToPHPObject($excelDate) + +Converts a date from an Excel date/timestamp to return a PHP DateTime object. + +##### PHPExcel_Shared_Date::PHPToExcel($PHPDate) + +Converts a PHP serialized date/timestamp or a PHP DateTime object to return an Excel date timestamp. + +##### PHPExcel_Shared_Date::FormattedPHPToExcel($year, $month, $day, $hours=0, $minutes=0, $seconds=0) + +Takes year, month and day values (and optional hour, minute and second values) and returns an Excel date timestamp value. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-General-Introduction.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-General-Introduction.md new file mode 100644 index 000000000..b714d5118 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/02-General-Introduction.md @@ -0,0 +1,36 @@ +# Calculation Engine - Formula Function Reference + +## General Introduction + +### Function that are not Supported in Excel5 + +Not all functions are supported by the Excel 5 Writer. Use of these functions within your workbooks will result in an error when trying to write to Excel5. + +The following is the list of those functions that are implemented within PHPExcel, but that cannot currently be written to Excel 5. + +#### Cube Functions + + Excel Function | Notes + --------------------|--------- + CUBEKPIMEMBER | Not yet Implemented + CUBEMEMBER | Not yet Implemented + CUBEMEMBERPROPERTY | Not yet Implemented + CUBERANKEDMEMBER | Not yet Implemented + CUBESET | Not yet Implemented + CUBESETCOUNT | Not yet Implemented + CUBEVALUE | Not yet Implemented + + +#### Database Functions + + Excel Function | Notes + ---------------|--------- + + +#### Date and Time Functions + + Excel Function | Notes + ---------------|--------- + EDATE | Not a standard function within Excel 5, but an add-in from the Analysis ToolPak. + EOMONTH | Not a standard function within Excel 5, but an add-in from the Analysis ToolPak. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-01-Cube-Functions.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-01-Cube-Functions.md new file mode 100644 index 000000000..8c946321d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-01-Cube-Functions.md @@ -0,0 +1,34 @@ +# Calculation Engine - Formula Function Reference + +## Function Reference + +### Cube Functions + +#### CUBEKPIMEMBER + +Not yet implemented. + +#### CUBEMEMBER + +Not yet implemented. + +#### CUBEMEMBERPROPERTY + +Not yet implemented. + +#### CUBERANKEDMEMBER + +Not yet implemented. + +#### CUBESET + +Not yet implemented. + +#### CUBESETCOUNT + +Not yet implemented. + +#### CUBEVALUE + +Not yet implemented. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-02-Database-Functions.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-02-Database-Functions.md new file mode 100644 index 000000000..a50e1c853 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-02-Database-Functions.md @@ -0,0 +1,618 @@ +# Calculation Engine - Formula Function Reference + +## Function Reference + +### Database Functions + +#### DAVERAGE + +The DAVERAGE function returns the average value of the cells in a column of a list or database that match conditions you specify. + +##### Syntax + +``` +DAVERAGE (database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The average value of the matching cells. + +This is the statistical mean. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DAVERAGE(A4:E10,"Yield",A1:B2)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 12 +``` + +##### Notes + +There are no additional notes on this function + +#### DCOUNT + +The DCOUNT function returns the count of cells that contain a number in a column of a list or database matching conditions that you specify. + +##### Syntax + +``` +DCOUNT(database, [field], criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The count of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DCOUNT(A4:E10,"Height",A1:B3)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); + +// $retVal = 3 +``` + +##### Notes + +In MS Excel, The field argument is optional. If field is omitted, DCOUNT counts all records in the database that match the criteria. This logic has not yet been implemented in PHPExcel. + +#### DCOUNTA + +The DCOUNT function returns the count of cells that aren’t blank in a column of a list or database and that match conditions that you specify. + +##### Syntax + +``` +DCOUNTA(database, [field], criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The count of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DCOUNTA(A4:E10,"Yield",A1:A3)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); + +// $retVal = 5 +``` + +##### Notes + +In MS Excel, The field argument is optional. If field is omitted, DCOUNTA counts all records in the database that match the criteria. This logic has not yet been implemented in PHPExcel. + +#### DGET + +The DGET function extracts a single value from a column of a list or database that matches conditions that you specify. + +##### Syntax + +``` +DGET(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**mixed** The value from the selected column of the matching row. + +#### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=GET(A4:E10,"Age",A1:F2)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 14 +``` + +##### Notes + +There are no additional notes on this function + +#### DMAX + +The DMAX function returns the largest number in a column of a list or database that matches conditions you specify. + +##### Syntax + +``` +DMAX(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The maximum value of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DMAX(A4:E10,"Profit",A1:B2)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 105 +``` + +##### Notes + +There are no additional notes on this function + +#### DMIN + +The DMIN function returns the smallest number in a column of a list or database that matches conditions you specify. + +##### Syntax + +``` +DMIN(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The minimum value of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DMIN(A4:E10,"Yield",A1:A3)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 6 +``` + +##### Notes + +There are no additional notes on this function + +#### DPRODUCT + +The DPRODUCT function multiplies the values in a column of a list or database that match conditions that you specify. + +##### Syntax + +``` +DPRODUCT(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The product of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DPRODUCT(A4:E10,"Yield",A1:B2)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 140 +``` + +##### Notes + +There are no additional notes on this function + +#### DSTDEV + +The DSTDEV function estimates the standard deviation of a population based on a sample by using the numbers in a column of a list or database that match conditions that you specify. + +##### Syntax + +``` +DSTDEV(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The estimated standard deviation of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DSTDEV(A4:E10,"Yield",A1:A3)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 2.97 +``` + +##### Notes + +There are no additional notes on this function + +#### DSTDEVP + +The DSTDEVP function calculates the standard deviation of a population based on the entire population by using the numbers in a column of a list or database that match conditions that you specify. + +##### Syntax + +``` +DSTDEVP(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The estimated standard deviation of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DSTDEVP(A4:E10,"Yield",A1:A3)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 2.65 +``` + +##### Notes + +There are no additional notes on this function + +#### DSUM + +The DSUM function adds the numbers in a column of a list or database that matches conditions you specify. + +##### Syntax + +``` +DSUM(database, field, criteria) +``` + +##### Parameters + +**database** The range of cells that makes up the list or database. + +A database is a list of related data in which rows of related information are records, and columns of data are fields. The first row of the list contains labels for each column. + +**field** Indicates which column of the database is used in the function. + +Enter the column label as a string (enclosed between double quotation marks), such as "Age" or "Yield," or as a number (without quotation marks) that represents the position of the column within the list: 1 for the first column, 2 for the second column, and so on. + +**criteria** The range of cells that contains the conditions you specify. + +You can use any range for the criteria argument, as long as it includes at least one column label and at least one cell below the column label in which you specify a condition for the column. + +##### Return Value + +**float** The total value of the matching cells. + +##### Examples + +```php +$database = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ), + array( 'Apple', 18, 20, 14, 105.00 ), + array( 'Pear', 12, 12, 10, 96.00 ), + array( 'Cherry', 13, 14, 9, 105.00 ), + array( 'Apple', 14, 15, 10, 75.00 ), + array( 'Pear', 9, 8, 8, 76.80 ), + array( 'Apple', 8, 9, 6, 45.00 ), +); + +$criteria = array( + array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ), + array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ), + array( '="=Pear"', NULL, NULL, NULL, NULL, NULL ), +); + +$worksheet->fromArray( $criteria, NULL, 'A1' ) + ->fromArray( $database, NULL, 'A4' ); + +$worksheet->setCellValue('A12', '=DMIN(A4:E10,"Profit",A1:A2)'); + +$retVal = $worksheet->getCell('A12')->getCalculatedValue(); +// $retVal = 225 +``` + +##### Notes + +There are no additional notes on this function + +#### DVAR + +Not yet documented. + +#### DVARP + +Not yet documented. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-03-Date-and-Time-Functions.md b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-03-Date-and-Time-Functions.md new file mode 100644 index 000000000..d0cc56817 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/CalculationEngine/FunctionReference/03-03-Date-and-Time-Functions.md @@ -0,0 +1,1000 @@ +# Calculation Engine - Formula Function Reference + +## Function Reference + +### Date and Time Functions + +Excel provides a number of functions for the manipulation of dates and times, and calculations based on date/time values. it is worth spending some time reading the section titled "Date and Time Values" on passing date parameters and returning date values to understand how PHPExcel reconciles the differences between dates and times in Excel and in PHP. + +#### DATE + +The DATE function returns an Excel timestamp or a PHP timestamp or date object representing the date that is referenced by the parameters. + +##### Syntax + +``` +DATE(year, month, day) +``` + +##### Parameters + +**year** The year number. + +If this value is between 0 (zero) and 1899 inclusive (for the Windows 1900 calendar), or between 4 and 1903 inclusive (for the Mac 1904), then PHPExcel adds it to the Calendar base year, so a value of 108 will interpret the year as 2008 when using the Windows 1900 calendar, or 2012 when using the Mac 1904 calendar. + +**month** The month number. + +If this value is greater than 12, the DATE function adds that number of months to the first month in the year specified. For example, DATE(2008,14,2) returns a value representing February 2, 2009. + +If the value of __month__ is less than 1, then that value will be adjusted by -1, and that will then be subtracted from the first month of the year specified. For example, DATE(2008,0,2) returns a value representing December 2, 2007; while DATE(2008,-1,2) returns a value representing November 2, 2007. + +**day** The day number. + +If this value is greater than the number of days in the month (and year) specified, the DATE function adds that number of days to the first day in the month. For example, DATE(2008,1,35) returns a value representing February 4, 2008. + +If the value of __day__ is less than 1, then that value will be adjusted by -1, and that will then be subtracted from the first month of the year specified. For example, DATE(2008,3,0) returns a value representing February 29, 2008; while DATE(2008,3,-2) returns a value representing February 27, 2008. + +##### Return Value + +**mixed** A date/time stamp that corresponds to the given date. + +This could be a PHP timestamp value (integer), a PHP date/time object, or an Excel timestamp value (real), depending on the value of PHPExcel_Calculation_Functions::getReturnDateType(). + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Year') + ->setCellValue('A2', 'Month') + ->setCellValue('A3', 'Day'); + +$worksheet->setCellValue('B1', 2008) + ->setCellValue('B2', 12) + ->setCellValue('B3', 31); + +$worksheet->setCellValue('D1', '=DATE(B1,B2,B3)'); + +$retVal = $worksheet->getCell('D1')->getCalculatedValue(); +// $retVal = 1230681600 +``` + +```php +// We're going to be calling the same cell calculation multiple times, +// and expecting different return values, so disable calculation cacheing +PHPExcel_Calculation::getInstance()->setCalculationCacheEnabled(FALSE); + +$saveFormat = PHPExcel_Calculation_Functions::getReturnDateType(); + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATE'), + array(2008, 12, 31) +); +// $retVal = 39813.0 + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATE'), + array(2008, 12, 31) +); +// $retVal = 1230681600 + +PHPExcel_Calculation_Functions::setReturnDateType($saveFormat); +``` + +##### Notes + +There are no additional notes on this function + +#### DATEDIF + +The DATEDIF function computes the difference between two dates in a variety of different intervals, such number of years, months, or days. + +##### Syntax + +``` +DATEDIF(date1, date2 [, unit]) +``` + +##### Parameters + +**date1** First Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**date2** Second Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**unit** The interval type to use for the calculation + +This is a string, comprising one of the values listed below: + +Unit | Meaning | Description +-----|---------------------------------|-------------------------------- +m | Months | Complete calendar months between the dates. +d | Days | Number of days between the dates. +y | Years | Complete calendar years between the dates. +ym | Months Excluding Years | Complete calendar months between the dates as if they were of the same year. +yd | Days Excluding Years | Complete calendar days between the dates as if they were of the same year. +md | Days Excluding Years And Months | Complete calendar days between the dates as if they were of the same month and same year. + +The unit value is not case sensitive, and defaults to "d". + +##### Return Value + +**integer** An integer value that reflects the difference between the two dates. + +This could be the number of full days, months or years between the two dates, depending on the interval unit value passed into the function as the third parameter. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Year') + ->setCellValue('A2', 'Month') + ->setCellValue('A3', 'Day'); + +$worksheet->setCellValue('B1', 2001) + ->setCellValue('C1', 2009) + ->setCellValue('B2', 7) + ->setCellValue('C2', 12) + ->setCellValue('B3', 1) + ->setCellValue('C3', 31); + +$worksheet->setCellValue('D1', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"d")') + ->setCellValue('D2', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"m")') + ->setCellValue('D3', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"y")') + ->setCellValue('D4', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"ym")') + ->setCellValue('D5', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"yd")') + ->setCellValue('D6', '=DATEDIF(DATE(B1,B2,B3),DATE(C1,C2,C3),"md")'); + +$retVal = $worksheet->getCell('D1')->getCalculatedValue(); +// $retVal = 3105 + +$retVal = $worksheet->getCell('D2')->getCalculatedValue(); +// $retVal = 101 + +$retVal = $worksheet->getCell('D3')->getCalculatedValue(); +// $retVal = 8 + +$retVal = $worksheet->getCell('D4')->getCalculatedValue(); +// $retVal = 5 + +$retVal = $worksheet->getCell('D5')->getCalculatedValue(); +// $retVal = 183 + +$retVal = $worksheet->getCell('D6')->getCalculatedValue(); +// $retVal = 30 +``` + +```php +$date1 = 1193317015; // PHP timestamp for 25-Oct-2007 +$date2 = 1449579415; // PHP timestamp for 8-Dec-2015 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'd') +); +// $retVal = 2966 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'm') +); +// $retVal = 97 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'y') +); +// $retVal = 8 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'ym') +); +// $retVal = 1 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'yd') +); +// $retVal = 44 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEDIF'), + array($date1, $date2, 'md') +); +// $retVal = 13 +``` + +##### Notes + +If Date1 is later than Date2, DATEDIF will return a #NUM! error. + +#### DATEVALUE + +The DATEVALUE function returns the date represented by a date formatted as a text string. Use DATEVALUE to convert a date represented by text to a serial number. + +##### Syntax + +``` +DATEVALUE(dateString) +``` + +##### Parameters + +**date** Date String. + +A string, representing a date value. + +##### Return Value + +**mixed** A date/time stamp that corresponds to the given date. + +This could be a PHP timestamp value (integer), a PHP date/time object, or an Excel timestamp value (real), depending on the value of PHPExcel_Calculation_Functions::getReturnDateType(). + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String'); + ->setCellValue('A2', '31-Dec-2008') + ->setCellValue('A3', '31/12/2008') + ->setCellValue('A4', '12-31-2008'); + +$worksheet->setCellValue('B2', '=DATEVALUE(A2)') + ->setCellValue('B3', '=DATEVALUE(A3)') + ->setCellValue('B4', '=DATEVALUE(A4)'); + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); + +$retVal = $worksheet->getCell('B4')->getCalculatedValue(); +// $retVal = 39813.0 for all cases +``` + +```php +// We're going to be calling the same cell calculation multiple times, +// and expecting different return values, so disable calculation cacheing +PHPExcel_Calculation::getInstance()->setCalculationCacheEnabled(FALSE); + +$saveFormat = PHPExcel_Calculation_Functions::getReturnDateType(); + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEVALUE'), + array('31-Dec-2008') +); +// $retVal = 39813.0 + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DATEVALUE'), + array('31-Dec-2008') +); +// $retVal = 1230681600 + +PHPExcel_Calculation_Functions::setReturnDateType($saveFormat); +``` + +##### Notes + +DATEVALUE uses the php date/time object implementation of strtotime() (which can handle a wider range of formats than the normal strtotime() function), and it is also called for any date parameter passed to other date functions (such as DATEDIF) when the parameter value is a string. + +__WARNING:-__ PHPExcel accepts a wider range of date formats than MS Excel, so it is entirely possible that Excel will return a #VALUE! error when passed a date string that it can’t interpret, while PHPExcel is able to translate that same string into a correct date value. + +Care should be taken in workbooks that use string formatted dates in calculations when writing to Excel5 or Excel2007. + +#### DAY + +The DAY function returns the day of a date. The day is given as an integer ranging from 1 to 31. + +##### Syntax + +``` +DAY(datetime) +``` + +##### Parameters + +**datetime** Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +##### Return Value + +**integer** An integer value that reflects the day of the month. + +This is an integer ranging from 1 to 31. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String') + ->setCellValue('A2', '31-Dec-2008') + ->setCellValue('A3', '14-Feb-2008'); + +$worksheet->setCellValue('B2', '=DAY(A2)') + ->setCellValue('B3', '=DAY(A3)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 31 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 14 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DAYOFMONTH'), + array('25-Dec-2008') +); +// $retVal = 25 +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::DAYOFMONTH() when the method is called statically. + +#### DAYS360 + +The DAYS360 function computes the difference between two dates based on a 360 day year (12 equal periods of 30 days each) used by some accounting systems. + +##### Syntax + +``` +DAYS360(date1, date2 [, method]) +``` + +#### Parameters + +**date1** First Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**date2** Second Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**method** A boolean flag (TRUE or FALSE) + +This is a flag that determines which method to use in the calculation, based on the values listed below: + + method | Description + -------|------------ + FALSE | U.S. (NASD) method. If the starting date is the last day of a month, it becomes equal to the 30th of the same month. If the ending date is the last day of a month and the starting date is earlier than the 30th of a month, the ending date becomes equal to the 1st of the next month; otherwise the ending date becomes equal to the 30th of the same month. + TRUE | European method. Starting dates and ending dates that occur on the 31st of a month become equal to the 30th of the same month. + +The method value defaults to FALSE. + +##### Return Value + +**integer** An integer value that reflects the difference between the two dates. + +This is the number of full days between the two dates, based on a 360 day year. + +##### Examples + +```php +$worksheet->setCellValue('B1', 'Start Date') + ->setCellValue('C1', 'End Date') + ->setCellValue('A2', 'Year') + ->setCellValue('A3', 'Month') + ->setCellValue('A4', 'Day'); + +$worksheet->setCellValue('B2', 2003) + ->setCellValue('B3', 2) + ->setCellValue('B4', 3); + +$worksheet->setCellValue('C2', 2007) + ->setCellValue('C3', 5) + ->setCellValue('C4', 31); + +$worksheet->setCellValue('E2', '=DAYS360(DATE(B2,B3,B4),DATE(C2,C3,C4))') + ->setCellValue('E4', '=DAYS360(DATE(B2,B3,B4),DATE(C2,C3,C4),FALSE)'); + +$retVal = $worksheet->getCell('E2')->getCalculatedValue(); +// $retVal = 1558 + +$retVal = $worksheet->getCell('E4')->getCalculatedValue(); +// $retVal = 1557 +``` + +```php +$date1 = 37655.0; // Excel timestamp for 25-Oct-2007 +$date2 = 39233.0; // Excel timestamp for 8-Dec-2015 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DAYS360'), + array($date1, $date2) +); +// $retVal = 1558 + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DAYS360'), + array($date1, $date2, TRUE) +); +// $retVal = 1557 +``` + +##### Notes + +__WARNING:-__ This function does not currently work with the Excel5 Writer when a PHP Boolean is used for the third (optional) parameter (as shown in the example above), and the writer will generate and error. It will work if a numeric 0 or 1 is used for the method parameter; or if the Excel TRUE() and FALSE() functions are used instead. + +#### EDATE + +The EDATE function returns an Excel timestamp or a PHP timestamp or date object representing the date that is the indicated number of months before or after a specified date (the start_date). Use EDATE to calculate maturity dates or due dates that fall on the same day of the month as the date of issue. + +##### Syntax + +``` +EDATE(baseDate, months) +``` + +##### Parameters + +**baseDate** Start Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**months** Number of months to add. + +An integer value indicating the number of months before or after baseDate. A positive value for months yields a future date; a negative value yields a past date. + +##### Return Value + +**mixed** A date/time stamp that corresponds to the basedate + months. + +This could be a PHP timestamp value (integer), a PHP date/time object, or an Excel timestamp value (real), depending on the value of PHPExcel_Calculation_Functions::getReturnDateType(). + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String') + ->setCellValue('A2', '1-Jan-2008') + ->setCellValue('A3', '29-Feb-2008'); + +$worksheet->setCellValue('B2', '=EDATE(A2,5)') + ->setCellValue('B3', '=EDATE(A3,-12)'); + +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 39600.0 (1-Jun-2008) + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 39141.0 (28-Feb-2007) +``` + +```php +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'EDATE'), + array('31-Oct-2008',25) +); +// $retVal = 40512.0 (30-Nov-2010) +``` + +###### Notes + +__WARNING:-__ This function is currently not supported by the Excel5 Writer because it is not a standard function within Excel 5, but an add-in from the Analysis ToolPak. + +#### EOMONTH + +The EOMONTH function returns an Excel timestamp or a PHP timestamp or date object representing the date of the last day of the month that is the indicated number of months before or after a specified date (the start_date). Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. + +##### Syntax + +``` +EOMONTH(baseDate, months) +``` + +##### Parameters + +**baseDate** Start Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**months** Number of months to add. + +An integer value indicating the number of months before or after baseDate. A positive value for months yields a future date; a negative value yields a past date. + +##### Return Value + +**mixed** A date/time stamp that corresponds to the last day of basedate + months. + +This could be a PHP timestamp value (integer), a PHP date/time object, or an Excel timestamp value (real), depending on the value of PHPExcel_Calculation_Functions::getReturnDateType(). + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String') + ->setCellValue('A2', '1-Jan-2000') + ->setCellValue('A3', '14-Feb-2009'); + +$worksheet->setCellValue('B2', '=EOMONTH(A2,5)') + ->setCellValue('B3', '=EOMONTH(A3,-12)'); + +PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 39629.0 (30-Jun-2008) + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 39507.0 (29-Feb-2008) +``` + +```php +PHPExcel_Calculation_Functions::setReturnDateType( + PHPExcel_Calculation_Functions::RETURNDATE_EXCEL +); + +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'EOMONTH'), + array('31-Oct-2008',13) +); +// $retVal = 40147.0 (30-Nov-2010) +``` + +##### Notes + +__WARNING:-__ This function is currently not supported by the Excel5 Writer because it is not a standard function within Excel 5, but an add-in from the Analysis ToolPak. + +#### HOUR + +The HOUR function returns the hour of a time value. The hour is given as an integer, ranging from 0 (12:00 A.M.) to 23 (11:00 P.M.). + +##### Syntax + +``` +HOUR(datetime) +``` + +##### Parameters + +**datetime** Time. + +An Excel date/time value, PHP date timestamp, PHP date object, or a date/time represented as a string. + +##### Return Value + +**integer** An integer value that reflects the hour of the day. + +This is an integer ranging from 0 to 23. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Time String') + ->setCellValue('A2', '31-Dec-2008 17:30') + ->setCellValue('A3', '14-Feb-2008 4:20 AM') + ->setCellValue('A4', '14-Feb-2008 4:20 PM'); + +$worksheet->setCellValue('B2', '=HOUR(A2)') + ->setCellValue('B3', '=HOUR(A3)') + ->setCellValue('B4', '=HOUR(A4)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 17 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 4 + +$retVal = $worksheet->getCell('B4')->getCalculatedValue(); +// $retVal = 16 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'HOUROFDAY'), + array('09:30') +); +// $retVal = 9 +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::HOUROFDAY() when the method is called statically. + +#### MINUTE + +The MINUTE function returns the minutes of a time value. The minute is given as an integer, ranging from 0 to 59. + +##### Syntax + +``` +MINUTE(datetime) +``` + +##### Parameters + +**datetime** Time. + +An Excel date/time value, PHP date timestamp, PHP date object, or a date/time represented as a string. + +##### Return Value + +**integer** An integer value that reflects the minutes within the hour. + +This is an integer ranging from 0 to 59. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Time String') + ->setCellValue('A2', '31-Dec-2008 17:30') + ->setCellValue('A3', '14-Feb-2008 4:20 AM') + ->setCellValue('A4', '14-Feb-2008 4:45 PM'); + +$worksheet->setCellValue('B2', '=MINUTE(A2)') + ->setCellValue('B3', '=MINUTE(A3)') + ->setCellValue('B4', '=MINUTE(A4)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 30 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 20 + +$retVal = $worksheet->getCell('B4')->getCalculatedValue(); +// $retVal = 45 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'MINUTEOFHOUR'), + array('09:30') +); +// $retVal = 30 +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::MINUTEOFHOUR() when the method is called statically. + +#### MONTH + +The MONTH function returns the month of a date. The month is given as an integer ranging from 1 to 12. + +##### Syntax + +``` +MONTH(datetime) +``` + +##### Parameters + +**datetime** Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +##### Return Value + +**integer** An integer value that reflects the month of the year. + +This is an integer ranging from 1 to 12. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String'); +$worksheet->setCellValue('A2', '31-Dec-2008'); +$worksheet->setCellValue('A3', '14-Feb-2008'); + +$worksheet->setCellValue('B2', '=MONTH(A2)'); +$worksheet->setCellValue('B3', '=MONTH(A3)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 12 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 2 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'MONTHOFYEAR'), + array('14-July-2008') +); +// $retVal = 7 +``` + +#### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::MONTHOFYEAR() when the method is called statically. + +#### NETWORKDAYS + +The NETWORKDAYS function returns the number of whole working days between a *start date* and an *end date*. Working days exclude weekends and any dates identified in *holidays*. Use NETWORKDAYS to calculate employee benefits that accrue based on the number of days worked during a specific term. + +##### Syntax + +``` +NETWORKDAYS(startDate, endDate [, holidays]) +``` + +##### Parameters + +**startDate** Start Date of the period. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**endDate** End Date of the period. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**holidays** Optional array of Holiday dates. + +An optional range of one or more dates to exclude from the working calendar, such as state and federal holidays and floating holidays. + +The list can be either a range of cells that contains the dates or an array constant of Excel date values, PHP date timestamps, PHP date objects, or dates represented as strings. + +##### Return Value + +**integer** Number of working days. + +The number of working days between startDate and endDate. + +##### Examples + +```php +``` + +```php +``` + +##### Notes + +There are no additional notes on this function + +#### NOW + +The NOW function returns the current date and time. + +##### Syntax + +``` +NOW() +``` + +##### Parameters + +There are now parameters for the NOW() function. + +##### Return Value + +**mixed** A date/time stamp that corresponds to the current date and time. + +This could be a PHP timestamp value (integer), a PHP date/time object, or an Excel timestamp value (real), depending on the value of PHPExcel_Calculation_Functions::getReturnDateType(). + +##### Examples + +```php +``` + +```php +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::DATETIMENOW() when the method is called statically. + +#### SECOND + +The SECOND function returns the seconds of a time value. The second is given as an integer, ranging from 0 to 59. + +##### Syntax + +``` +SECOND(datetime) +``` + +##### Parameters + +**datetime** Time. + +An Excel date/time value, PHP date timestamp, PHP date object, or a date/time represented as a string. + +##### Return Value + +**integer** An integer value that reflects the seconds within the minute. + +This is an integer ranging from 0 to 59. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Time String') + ->setCellValue('A2', '31-Dec-2008 17:30:20') + ->setCellValue('A3', '14-Feb-2008 4:20 AM') + ->setCellValue('A4', '14-Feb-2008 4:45:59 PM'); + +$worksheet->setCellValue('B2', '=SECOND(A2)') + ->setCellValue('B3', '=SECOND(A3)'); + ->setCellValue('B4', '=SECOND(A4)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 20 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 0 + +$retVal = $worksheet->getCell('B4')->getCalculatedValue(); +// $retVal = 59 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'SECONDOFMINUTE'), + array('09:30:17') +); +// $retVal = 17 +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::SECONDOFMINUTE() when the method is called statically. + +#### TIME + +Not yet documented. + +#### TIMEVALUE + +Not yet documented. + +#### TODAY + +Not yet documented. + +#### WEEKDAY + +The WEEKDAY function returns the day of the week for a given date. The day is given as an integer ranging from 1 to 7, although this can be modified to return a value between 0 and 6. + +##### Syntax + +``` +WEEKDAY(datetime [, method]) +``` + +##### Parameters + +**datetime** Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +**method** An integer flag (values 0, 1 or 2) + +This is a flag that determines which method to use in the calculation, based on the values listed below: + + method | Description + :-----:|------------------------------------------ + 0 | Returns 1 (Sunday) through 7 (Saturday). + 1 | Returns 1 (Monday) through 7 (Sunday). + 2 | Returns 0 (Monday) through 6 (Sunday). + +The method value defaults to 1. + +##### Return Value + +**integer** An integer value that reflects the day of the week. + +This is an integer ranging from 1 to 7, or 0 to 6, depending on the value of method. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String') + ->setCellValue('A2', '31-Dec-2008') + ->setCellValue('A3', '14-Feb-2008'); + +$worksheet->setCellValue('B2', '=WEEKDAY(A2)') + ->setCellValue('B3', '=WEEKDAY(A3,0)') + ->setCellValue('B4', '=WEEKDAY(A3,2)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 12 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 2 + +$retVal = $worksheet->getCell('B4')->getCalculatedValue(); +// $retVal = 2 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'DAYOFWEEK'), + array('14-July-2008') +); +// $retVal = 7 +``` + +##### Notes + +Note that the PHPExcel function is PHPExcel_Calculation_Functions::DAYOFWEEK() when the method is called statically. + +#### WEEKNUM + +Not yet documented. + +#### WORKDAY + +Not yet documented. + +#### YEAR + +The YEAR function returns the year of a date. + +##### Syntax + +``` +YEAR(datetime) +``` + +##### Parameters + +**datetime** Date. + +An Excel date value, PHP date timestamp, PHP date object, or a date represented as a string. + +##### Return Value + +**integer** An integer value that reflects the month of the year. + +This is an integer year value. + +##### Examples + +```php +$worksheet->setCellValue('A1', 'Date String') + ->setCellValue('A2', '17-Jul-1982') + ->setCellValue('A3', '16-Apr-2009'); + +$worksheet->setCellValue('B2', '=YEAR(A2)') + ->setCellValue('B3', '=YEAR(A3)'); + +$retVal = $worksheet->getCell('B2')->getCalculatedValue(); +// $retVal = 1982 + +$retVal = $worksheet->getCell('B3')->getCalculatedValue(); +// $retVal = 2009 +``` + +```php +$retVal = call_user_func_array( + array('PHPExcel_Calculation_Functions', 'YEAR'), + array('14-July-2001') +); +// $retVal = 2001 +``` + +##### Notes + +There are no additional notes on this function + +### YEARFRAC + +Not yet documented. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/01-Autofilters.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/01-Autofilters.md new file mode 100644 index 000000000..c2fbd2fa8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/01-Autofilters.md @@ -0,0 +1,19 @@ +# PHPExcel AutoFilter Reference + + +## AutoFilters + +Each worksheet in an Excel Workbook can contain a single autoFilter range. Filtered data displays only the rows that meet criteria that you specify and hides rows that you do not want displayed. You can filter by more than one column: filters are additive, which means that each additional filter is based on the current filter and further reduces the subset of data. + +![01-01-autofilter.png](./images/01-01-autofilter.png "") + +When an AutoFilter is applied to a range of cells, the first row in an autofilter range will be the heading row, which displays the autoFilter dropdown icons. It is not part of the actual autoFiltered data. All subsequent rows are the autoFiltered data. So an AutoFilter range should always contain the heading row and one or more data rows (one data row is pretty meaningless), but PHPExcel won't actually stop you specifying a meaningless range: it's up to you as the developer to avoid such errors. + +To determine if a filter is applied, note the icon in the column heading. A drop-down arrow (![01-03-filter-icon-1.png](./images/01-03-filter-icon-1.png "")) means that filtering is enabled but not applied. In MS Excel, when you hover over the heading of a column with filtering enabled but not applied, a screen tip displays the cell text for the first row in that column, and the message "(Showing All)". + +![01-02-autofilter.png](./images/01-02-autofilter.png "") + + +A Filter button (![01-03-filter-icon-2.png](./images/01-03-filter-icon-2.png "")) means that a filter is applied. When you hover over the heading of a filtered column, a screen tip displays the filter that has been applied to that column, such as "Equals a red cell color" or "Larger than 150". + +![01-04-autofilter.png](./images/01-04-autofilter.png "") diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/02-Setting-an-Autofilter.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/02-Setting-an-Autofilter.md new file mode 100644 index 000000000..49c8fa4c1 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/02-Setting-an-Autofilter.md @@ -0,0 +1,24 @@ +# PHPExcel AutoFilter Reference + + +## Setting an AutoFilter area on a worksheet + +To set an autoFilter on a range of cells. + +```php +$objPHPExcel->getActiveSheet()->setAutoFilter('A1:E20'); +``` + +The first row in an autofilter range will be the heading row, which displays the autoFilter dropdown icons. It is not part of the actual autoFiltered data. All subsequent rows are the autoFiltered data. So an AutoFilter range should always contain the heading row and one or more data rows (one data row is pretty meaningless, but PHPExcel won't actually stop you specifying a meaningless range: it's up to you as the developer to avoid such errors. + +If you want to set the whole worksheet as an autofilter region + +```php +$objPHPExcel->getActiveSheet()->setAutoFilter( + $objPHPExcel->getActiveSheet() + ->calculateWorksheetDimension() +); +``` + +This enables filtering, but does not actually apply any filters. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/03-Autofilter-Expressions.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/03-Autofilter-Expressions.md new file mode 100644 index 000000000..fd6590175 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/03-Autofilter-Expressions.md @@ -0,0 +1,27 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +PHPEXcel 1.7.8 introduced the ability to actually create, read and write filter expressions; initially only for Excel2007 files, but later releases will extend this to other formats. + +To apply a filter expression to an autoFilter range, you first need to identify which column you're going to be applying this filter to. + +```php +$autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter(); +$columnFilter = $autoFilter->getColumn('C'); +``` + +This returns an autoFilter column object, and you can then apply filter expressions to that column. + +There are a number of different types of autofilter expressions. The most commonly used are: + + - Simple Filters + - DateGroup Filters + - Custom filters + - Dynamic Filters + - Top Ten Filters + +These different types are mutually exclusive within any single column. You should not mix the different types of filter in the same column. PHPExcel will not actively prevent you from doing this, but the results are unpredictable. + +Other filter expression types (such as cell colour filters) are not yet supported. diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-01-Autofilter-Expressions-Simple.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-01-Autofilter-Expressions-Simple.md new file mode 100644 index 000000000..ca229b892 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-01-Autofilter-Expressions-Simple.md @@ -0,0 +1,52 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +### Simple filters + +In MS Excel, Simple Filters are a dropdown list of all values used in that column, and the user can select which ones they want to display and which ones they want to hide by ticking and unticking the checkboxes alongside each option. When the filter is applied, rows containing the checked entries will be displayed, rows that don't contain those values will be hidden. + +![04-01-simple-autofilter.png](./images/04-01-simple-autofilter.png "") + +To create a filter expression, we need to start by identifying the filter type. In this case, we're just going to specify that this filter is a standard filter. + +```php +$columnFilter->setFilterType( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER +); +``` + +Now we've identified the filter type, we can create a filter rule and set the filter values: + +When creating a simple filter in PHPExcel, you only need to specify the values for "checked" columns: you do this by creating a filter rule for each value. + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'France' + ); + +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'Germany' + ); +``` + +This creates two filter rules: the column will be filtered by values that match “France” OR “Germany”. For Simple Filters, you can create as many rules as you want + +Simple filters are always a comparison match of EQUALS, and multiple standard filters are always treated as being joined by an OR condition. + +#### Matching Blanks + +If you want to create a filter to select blank cells, you would use: + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + '' + ); +``` diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-02-Autofilter-Expressions-Dategroup.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-02-Autofilter-Expressions-Dategroup.md new file mode 100644 index 000000000..2b9015ff4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-02-Autofilter-Expressions-Dategroup.md @@ -0,0 +1,48 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +### DateGroup Filters + +In MS Excel, DateGroup filters provide a series of dropdown filter selectors for date values, so you can specify entire years, or months within a year, or individual days within each month. + +![04-02-dategroup-autofilter.png](./images/04-02-dategroup-autofilter.png "") + +DateGroup filters are still applied as a Standard Filter type. + +```php +$columnFilter->setFilterType( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER +); +``` + +Creating a dateGroup filter in PHPExcel, you specify the values for "checked" columns as an associative array of year. month, day, hour minute and second. To select a year and month, you need to create a DateGroup rule identifying the selected year and month: + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + array( + 'year' => 2012, + 'month' => 1 + ) + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP + ); +``` + +The key values for the associative array are: + + - year + - month + - day + - hour + - minute + - second + +Like Standard filters, DateGroup filters are always a match of EQUALS, and multiple standard filters are always treated as being joined by an OR condition. + +Note that we alse specify a ruleType: to differentiate this from a standard filter, we explicitly set the Rule's Type to AUTOFILTER_RULETYPE_DATEGROUP. As with standard filters, we can create any number of DateGroup Filters. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-03-Autofilter-Expressions-Custom.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-03-Autofilter-Expressions-Custom.md new file mode 100644 index 000000000..9ca3bd49d --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-03-Autofilter-Expressions-Custom.md @@ -0,0 +1,84 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +### Custom filters + +In MS Excel, Custom filters allow us to select more complex conditions using an operator as well as a value. Typical examples might be values that fall within a range (e.g. between -20 and +20), or text values with wildcards (e.g. beginning with the letter U). To handle this, they + +![04-03-custom-autofilter-1.png](./images/04-03-custom-autofilter-1.png "") + +![04-03-custom-autofilter-2.png](./images/04-03-custom-autofilter-2.png "") + +Custom filters are limited to 2 rules, and these can be joined using either an AND or an OR. + +We start by specifying a Filter type, this time a CUSTOMFILTER. + +```php +$columnFilter->setFilterType( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_CUSTOMFILTER +); +``` + +And then define our rules. + +The following shows a simple wildcard filter to show all column entries beginning with the letter 'U'. + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + 'U*' + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER + ); +``` + +MS Excel uses \* as a wildcard to match any number of characters, and ? as a wildcard to match a single character. 'U\*' equates to "begins with a 'U'"; '\*U' equates to "ends with a 'U'"; and '\*U\*' equates to "contains a 'U'" + +If you want to match explicitly against a \* or a ? character, you can escape it with a tilde (~), so ?~\*\* would explicitly match for a \* character as the second character in the cell value, followed by any number of other characters. The only other character that needs escaping is the ~ itself. + +To create a "between" condition, we need to define two rules: + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL, + -20 + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER + ); +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL, + 20 + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_CUSTOMFILTER + ); +``` + +We also set the rule type to CUSTOMFILTER. + +This defined two rules, filtering numbers that are >= -20 OR <= 20, so we also need to modify the join condition to reflect AND rather than OR. + +```php +$columnFilter->setAndOr( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_ANDOR_AND +); +``` + +The valid set of operators for Custom Filters are defined in the PHPExcel_Worksheet_AutoFilter_Column_Rule class, and comprise: + + Operator Constant | Value | + ------------------------------------------|----------------------| + AUTOFILTER_COLUMN_RULE_EQUAL | 'equal' | + AUTOFILTER_COLUMN_RULE_NOTEQUAL | 'notEqual' | + AUTOFILTER_COLUMN_RULE_GREATERTHAN | 'greaterThan' | + AUTOFILTER_COLUMN_RULE_GREATERTHANOREQUAL | 'greaterThanOrEqual' | + AUTOFILTER_COLUMN_RULE_LESSTHAN | 'lessThan' | + AUTOFILTER_COLUMN_RULE_LESSTHANOREQUAL | 'lessThanOrEqual' | + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-04-Autofilter-Expressions-Dynamic.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-04-Autofilter-Expressions-Dynamic.md new file mode 100644 index 000000000..f285e573e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-04-Autofilter-Expressions-Dynamic.md @@ -0,0 +1,88 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +### Dynamic Filters + +Dynamic Filters are based on a dynamic comparison condition, where the value we're comparing against the cell values is variable, such as 'today'; or when we're testing against an aggregate of the cell data (e.g. 'aboveAverage'). Only a single dynamic filter can be applied to a column at a time. + +![04-04-dynamic-autofilter.png](./images/04-04-dynamic-autofilter.png "") + +Again, we start by specifying a Filter type, this time a DYNAMICFILTER. + +```php +$columnFilter->setFilterType( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER +); +``` + +When defining the rule for a dynamic filter, we don't define a value (we can simply set that to NULL) but we do specify the dynamic filter category. + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, + NULL, + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DYNAMICFILTER + ); +``` + +We also set the rule type to DYNAMICFILTER. + +The valid set of dynamic filter categories is defined in the PHPExcel_Worksheet_AutoFilter_Column_Rule class, and comprises: + + Operator Constant | Value | + -----------------------------------------|----------------| + AUTOFILTER_RULETYPE_DYNAMIC_YESTERDAY | 'yesterday' | + AUTOFILTER_RULETYPE_DYNAMIC_TODAY | 'today' | + AUTOFILTER_RULETYPE_DYNAMIC_TOMORROW | 'tomorrow' | + AUTOFILTER_RULETYPE_DYNAMIC_YEARTODATE | 'yearToDate' | + AUTOFILTER_RULETYPE_DYNAMIC_THISYEAR | 'thisYear' | + AUTOFILTER_RULETYPE_DYNAMIC_THISQUARTER | 'thisQuarter' | + AUTOFILTER_RULETYPE_DYNAMIC_THISMONTH | 'thisMonth' | + AUTOFILTER_RULETYPE_DYNAMIC_THISWEEK | 'thisWeek' | + AUTOFILTER_RULETYPE_DYNAMIC_LASTYEAR | 'lastYear' | + AUTOFILTER_RULETYPE_DYNAMIC_LASTQUARTER | 'lastQuarter' | + AUTOFILTER_RULETYPE_DYNAMIC_LASTMONTH | 'lastMonth' | + AUTOFILTER_RULETYPE_DYNAMIC_LASTWEEK | 'lastWeek' | + AUTOFILTER_RULETYPE_DYNAMIC_NEXTYEAR | 'nextYear' | + AUTOFILTER_RULETYPE_DYNAMIC_NEXTQUARTER | 'nextQuarter' | + AUTOFILTER_RULETYPE_DYNAMIC_NEXTMONTH | 'nextMonth' | + AUTOFILTER_RULETYPE_DYNAMIC_NEXTWEEK | 'nextWeek' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_1 | 'M1' | + AUTOFILTER_RULETYPE_DYNAMIC_JANUARY | 'M1' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_2 | 'M2' | + AUTOFILTER_RULETYPE_DYNAMIC_FEBRUARY | 'M2' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_3 | 'M3' | + AUTOFILTER_RULETYPE_DYNAMIC_MARCH | 'M3' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_4 | 'M4' | + AUTOFILTER_RULETYPE_DYNAMIC_APRIL | 'M4' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_5 | 'M5' | + AUTOFILTER_RULETYPE_DYNAMIC_MAY | 'M5' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_6 | 'M6' | + AUTOFILTER_RULETYPE_DYNAMIC_JUNE | 'M6' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_7 | 'M7' | + AUTOFILTER_RULETYPE_DYNAMIC_JULY | 'M7' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_8 | 'M8' | + AUTOFILTER_RULETYPE_DYNAMIC_AUGUST | 'M8' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_9 | 'M9' | + AUTOFILTER_RULETYPE_DYNAMIC_SEPTEMBER | 'M9' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_10 | 'M10' | + AUTOFILTER_RULETYPE_DYNAMIC_OCTOBER | 'M10' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_11 | 'M11' | + AUTOFILTER_RULETYPE_DYNAMIC_NOVEMBER | 'M11' | + AUTOFILTER_RULETYPE_DYNAMIC_MONTH_12 | 'M12' | + AUTOFILTER_RULETYPE_DYNAMIC_DECEMBER | 'M12' | + AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_1 | 'Q1' | + AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_2 | 'Q2' | + AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_3 | 'Q3' | + AUTOFILTER_RULETYPE_DYNAMIC_QUARTER_4 | 'Q4' | + AUTOFILTER_RULETYPE_DYNAMIC_ABOVEAVERAGE | 'aboveAverage' | + AUTOFILTER_RULETYPE_DYNAMIC_BELOWAVERAGE | 'belowAverage' | + +We can only apply a single Dynamic Filter rule to a column at a time. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-05-Autofilter-Expressions-Topten.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-05-Autofilter-Expressions-Topten.md new file mode 100644 index 000000000..ff36b0a8a --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/04-05-Autofilter-Expressions-Topten.md @@ -0,0 +1,69 @@ +# PHPExcel AutoFilter Reference + + +## Autofilter Expressions + +### Top Ten Filters + +Top Ten Filters are similar to Dynamic Filters in that they are based on a summarisation of the actual data values in the cells. However, unlike Dynamic Filters where you can only select a single option, Top Ten Filters allow you to select based on a number of criteria: + +![04-05-custom-topten-1.png](./images/04-05-topten-autofilter-1.png "") + +![04-05-custom-topten-2.png](./images/04-05-topten-autofilter-2.png "") + +You can identify whether you want the top (highest) or bottom (lowest) values.You can identify how many values you wish to select in the filterYou can identify whether this should be a percentage or a number of items. + +Like Dynamic Filters, only a single Top Ten filter can be applied to a column at a time. + +We start by specifying a Filter type, this time a DYNAMICFILTER. + +```php +$columnFilter->setFilterType( + PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_TOPTENFILTER +); +``` + +Then we create the rule: + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT, + 5, + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_TOP + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER + ); +``` + +This will filter the Top 5 percent of values in the column. + +To specify the lowest (bottom 2 values), we would specify a rule of: + +```php +$columnFilter->createRule() + ->setRule( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE, + 5, + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM + ) + ->setRuleType( + PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_TOPTENFILTER + ); +``` + +The option values for TopTen Filters top/bottom value/percent are all defined in the PHPExcel_Worksheet_AutoFilter_Column_Rule class, and comprise: + + Operator Constant | Value | + ---------------------------------------|-------------| + AUTOFILTER_COLUMN_RULE_TOPTEN_BY_VALUE | 'byValue' | + AUTOFILTER_COLUMN_RULE_TOPTEN_PERCENT | 'byPercent' | + +and + + Operator Constant | Value | + -------------------------------------|----------| + AUTOFILTER_COLUMN_RULE_TOPTEN_TOP | 'top' | + AUTOFILTER_COLUMN_RULE_TOPTEN_BOTTOM | 'bottom' | + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/05-Executing-Autofilters.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/05-Executing-Autofilters.md new file mode 100644 index 000000000..852e1f41f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/05-Executing-Autofilters.md @@ -0,0 +1,42 @@ +# PHPExcel AutoFilter Reference + + +## Executing an AutoFilter + +When an autofilter is applied in MS Excel, it sets the row hidden/visible flags for each row of the autofilter area based on the selected criteria, so that only those rows that match the filter criteria are displayed. + +PHPExcel will not execute the equivalent function automatically when you set or change a filter expression, but only when the file is saved. + +### Applying the Filter + +If you wish to execute your filter from within a script, you need to do this manually. You can do this using the autofilters showHideRows() method. + +```php +$autoFilter = $objPHPExcel->getActiveSheet()->getAutoFilter(); +$autoFilter->showHideRows(); +``` + +This will set all rows that match the filter criteria to visible, while hiding all other rows within the autofilter area. + +### Displaying Filtered Rows + +Simply looping through the rows in an autofilter area will still access ever row, whether it matches the filter criteria or not. To selectively access only the filtered rows, you need to test each row’s visibility settings. + +```php +foreach ($objPHPExcel->getActiveSheet()->getRowIterator() as $row) { + if ($objPHPExcel->getActiveSheet() + ->getRowDimension($row->getRowIndex())->getVisible()) { + echo ' Row number - ' , $row->getRowIndex() , ' '; + echo $objPHPExcel->getActiveSheet() + ->getCell( + 'C'.$row->getRowIndex() + ) + ->getValue(), ' '; + echo $objPHPExcel->getActiveSheet() + ->getCell( + 'D'.$row->getRowIndex() + )->getFormattedValue(), ' '; + echo EOL; + } +} +``` diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/06-Autofilter-Sorting.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/06-Autofilter-Sorting.md new file mode 100644 index 000000000..23133b8f4 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/06-Autofilter-Sorting.md @@ -0,0 +1,7 @@ +# PHPExcel AutoFilter Reference + + +## AutoFilter Sorting + +In MS Excel, Autofiltering also allows the rows to be sorted. This feature is ***not*** supported by PHPExcel. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-01-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-01-autofilter.png new file mode 100644 index 000000000..8b5c4fad6 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-01-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-02-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-02-autofilter.png new file mode 100644 index 000000000..a2d6c9b9e Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-02-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-1.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-1.png new file mode 100644 index 000000000..e5a7e7dc0 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-1.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-2.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-2.png new file mode 100644 index 000000000..1567245f3 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-03-filter-icon-2.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-04-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-04-autofilter.png new file mode 100644 index 000000000..b88f4c4fb Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/01-04-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-01-simple-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-01-simple-autofilter.png new file mode 100644 index 000000000..5dcc6a47c Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-01-simple-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-02-dategroup-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-02-dategroup-autofilter.png new file mode 100644 index 000000000..da1f089be Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-02-dategroup-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-1.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-1.png new file mode 100644 index 000000000..0098d98a4 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-1.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-2.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-2.png new file mode 100644 index 000000000..96ff2cf0f Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-03-custom-autofilter-2.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-04-dynamic-autofilter.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-04-dynamic-autofilter.png new file mode 100644 index 000000000..6cb905d97 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-04-dynamic-autofilter.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-1.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-1.png new file mode 100644 index 000000000..207e64575 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-1.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-2.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-2.png new file mode 100644 index 000000000..4db512521 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Features/Autofilters/images/04-05-topten-autofilter-2.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByCategory.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByCategory.md new file mode 100644 index 000000000..4ceb1e476 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByCategory.md @@ -0,0 +1,411 @@ +## CATEGORY_CUBE + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + CUBEKPIMEMBER | **\*\*\* Not yet Implemented** + CUBEMEMBER | **\*\*\* Not yet Implemented** + CUBEMEMBERPROPERTY | **\*\*\* Not yet Implemented** + CUBERANKEDMEMBER | **\*\*\* Not yet Implemented** + CUBESET | **\*\*\* Not yet Implemented** + CUBESETCOUNT | **\*\*\* Not yet Implemented** + CUBEVALUE | **\*\*\* Not yet Implemented** + +## CATEGORY_DATABASE + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + DAVERAGE | PHPExcel_Calculation_Database::DAVERAGE + DCOUNT | PHPExcel_Calculation_Database::DCOUNT + DCOUNTA | PHPExcel_Calculation_Database::DCOUNTA + DGET | PHPExcel_Calculation_Database::DGET + DMAX | PHPExcel_Calculation_Database::DMAX + DMIN | PHPExcel_Calculation_Database::DMIN + DPRODUCT | PHPExcel_Calculation_Database::DPRODUCT + DSTDEV | PHPExcel_Calculation_Database::DSTDEV + DSTDEVP | PHPExcel_Calculation_Database::DSTDEVP + DSUM | PHPExcel_Calculation_Database::DSUM + DVAR | PHPExcel_Calculation_Database::DVAR + DVARP | PHPExcel_Calculation_Database::DVARP + +## CATEGORY_DATE_AND_TIME + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + DATE | PHPExcel_Calculation_DateTime::DATE + DATEDIF | PHPExcel_Calculation_DateTime::DATEDIF + DATEVALUE | PHPExcel_Calculation_DateTime::DATEVALUE + DAY | PHPExcel_Calculation_DateTime::DAYOFMONTH + DAYS360 | PHPExcel_Calculation_DateTime::DAYS360 + EDATE | PHPExcel_Calculation_DateTime::EDATE + EOMONTH | PHPExcel_Calculation_DateTime::EOMONTH + HOUR | PHPExcel_Calculation_DateTime::HOUROFDAY + MINUTE | PHPExcel_Calculation_DateTime::MINUTEOFHOUR + MONTH | PHPExcel_Calculation_DateTime::MONTHOFYEAR + NETWORKDAYS | PHPExcel_Calculation_DateTime::NETWORKDAYS + NOW | PHPExcel_Calculation_DateTime::DATETIMENOW + SECOND | PHPExcel_Calculation_DateTime::SECONDOFMINUTE + TIME | PHPExcel_Calculation_DateTime::TIME + TIMEVALUE | PHPExcel_Calculation_DateTime::TIMEVALUE + TODAY | PHPExcel_Calculation_DateTime::DATENOW + WEEKDAY | PHPExcel_Calculation_DateTime::DAYOFWEEK + WEEKNUM | PHPExcel_Calculation_DateTime::WEEKOFYEAR + WORKDAY | PHPExcel_Calculation_DateTime::WORKDAY + YEAR | PHPExcel_Calculation_DateTime::YEAR + YEARFRAC | PHPExcel_Calculation_DateTime::YEARFRAC + +## CATEGORY_ENGINEERING + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + BESSELI | PHPExcel_Calculation_Engineering::BESSELI + BESSELJ | PHPExcel_Calculation_Engineering::BESSELJ + BESSELK | PHPExcel_Calculation_Engineering::BESSELK + BESSELY | PHPExcel_Calculation_Engineering::BESSELY + BIN2DEC | PHPExcel_Calculation_Engineering::BINTODEC + BIN2HEX | PHPExcel_Calculation_Engineering::BINTOHEX + BIN2OCT | PHPExcel_Calculation_Engineering::BINTOOCT + COMPLEX | PHPExcel_Calculation_Engineering::COMPLEX + CONVERT | PHPExcel_Calculation_Engineering::CONVERTUOM + DEC2BIN | PHPExcel_Calculation_Engineering::DECTOBIN + DEC2HEX | PHPExcel_Calculation_Engineering::DECTOHEX + DEC2OCT | PHPExcel_Calculation_Engineering::DECTOOCT + DELTA | PHPExcel_Calculation_Engineering::DELTA + ERF | PHPExcel_Calculation_Engineering::ERF + ERFC | PHPExcel_Calculation_Engineering::ERFC + GESTEP | PHPExcel_Calculation_Engineering::GESTEP + HEX2BIN | PHPExcel_Calculation_Engineering::HEXTOBIN + HEX2DEC | PHPExcel_Calculation_Engineering::HEXTODEC + HEX2OCT | PHPExcel_Calculation_Engineering::HEXTOOCT + IMABS | PHPExcel_Calculation_Engineering::IMABS + IMAGINARY | PHPExcel_Calculation_Engineering::IMAGINARY + IMARGUMENT | PHPExcel_Calculation_Engineering::IMARGUMENT + IMCONJUGATE | PHPExcel_Calculation_Engineering::IMCONJUGATE + IMCOS | PHPExcel_Calculation_Engineering::IMCOS + IMDIV | PHPExcel_Calculation_Engineering::IMDIV + IMEXP | PHPExcel_Calculation_Engineering::IMEXP + IMLN | PHPExcel_Calculation_Engineering::IMLN + IMLOG10 | PHPExcel_Calculation_Engineering::IMLOG10 + IMLOG2 | PHPExcel_Calculation_Engineering::IMLOG2 + IMPOWER | PHPExcel_Calculation_Engineering::IMPOWER + IMPRODUCT | PHPExcel_Calculation_Engineering::IMPRODUCT + IMREAL | PHPExcel_Calculation_Engineering::IMREAL + IMSIN | PHPExcel_Calculation_Engineering::IMSIN + IMSQRT | PHPExcel_Calculation_Engineering::IMSQRT + IMSUB | PHPExcel_Calculation_Engineering::IMSUB + IMSUM | PHPExcel_Calculation_Engineering::IMSUM + OCT2BIN | PHPExcel_Calculation_Engineering::OCTTOBIN + OCT2DEC | PHPExcel_Calculation_Engineering::OCTTODEC + OCT2HEX | PHPExcel_Calculation_Engineering::OCTTOHEX + +## CATEGORY_FINANCIAL + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + ACCRINT | PHPExcel_Calculation_Financial::ACCRINT + ACCRINTM | PHPExcel_Calculation_Financial::ACCRINTM + AMORDEGRC | PHPExcel_Calculation_Financial::AMORDEGRC + AMORLINC | PHPExcel_Calculation_Financial::AMORLINC + COUPDAYBS | PHPExcel_Calculation_Financial::COUPDAYBS + COUPDAYS | PHPExcel_Calculation_Financial::COUPDAYS + COUPDAYSNC | PHPExcel_Calculation_Financial::COUPDAYSNC + COUPNCD | PHPExcel_Calculation_Financial::COUPNCD + COUPNUM | PHPExcel_Calculation_Financial::COUPNUM + COUPPCD | PHPExcel_Calculation_Financial::COUPPCD + CUMIPMT | PHPExcel_Calculation_Financial::CUMIPMT + CUMPRINC | PHPExcel_Calculation_Financial::CUMPRINC + DB | PHPExcel_Calculation_Financial::DB + DDB | PHPExcel_Calculation_Financial::DDB + DISC | PHPExcel_Calculation_Financial::DISC + DOLLARDE | PHPExcel_Calculation_Financial::DOLLARDE + DOLLARFR | PHPExcel_Calculation_Financial::DOLLARFR + DURATION | **\*\*\* Not yet Implemented** + EFFECT | PHPExcel_Calculation_Financial::EFFECT + FV | PHPExcel_Calculation_Financial::FV + FVSCHEDULE | PHPExcel_Calculation_Financial::FVSCHEDULE + INTRATE | PHPExcel_Calculation_Financial::INTRATE + IPMT | PHPExcel_Calculation_Financial::IPMT + IRR | PHPExcel_Calculation_Financial::IRR + ISPMT | PHPExcel_Calculation_Financial::ISPMT + MDURATION | **\*\*\* Not yet Implemented** + MIRR | PHPExcel_Calculation_Financial::MIRR + NOMINAL | PHPExcel_Calculation_Financial::NOMINAL + NPER | PHPExcel_Calculation_Financial::NPER + NPV | PHPExcel_Calculation_Financial::NPV + ODDFPRICE | **\*\*\* Not yet Implemented** + ODDFYIELD | **\*\*\* Not yet Implemented** + ODDLPRICE | **\*\*\* Not yet Implemented** + ODDLYIELD | **\*\*\* Not yet Implemented** + PMT | PHPExcel_Calculation_Financial::PMT + PPMT | PHPExcel_Calculation_Financial::PPMT + PRICE | PHPExcel_Calculation_Financial::PRICE + PRICEDISC | PHPExcel_Calculation_Financial::PRICEDISC + PRICEMAT | PHPExcel_Calculation_Financial::PRICEMAT + PV | PHPExcel_Calculation_Financial::PV + RATE | PHPExcel_Calculation_Financial::RATE + RECEIVED | PHPExcel_Calculation_Financial::RECEIVED + SLN | PHPExcel_Calculation_Financial::SLN + SYD | PHPExcel_Calculation_Financial::SYD + TBILLEQ | PHPExcel_Calculation_Financial::TBILLEQ + TBILLPRICE | PHPExcel_Calculation_Financial::TBILLPRICE + TBILLYIELD | PHPExcel_Calculation_Financial::TBILLYIELD + USDOLLAR | **\*\*\* Not yet Implemented** + VDB | **\*\*\* Not yet Implemented** + XIRR | PHPExcel_Calculation_Financial::XIRR + XNPV | PHPExcel_Calculation_Financial::XNPV + YIELD | **\*\*\* Not yet Implemented** + YIELDDISC | PHPExcel_Calculation_Financial::YIELDDISC + YIELDMAT | PHPExcel_Calculation_Financial::YIELDMAT + +## CATEGORY_INFORMATION + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + CELL | **\*\*\* Not yet Implemented** + ERROR.TYPE | PHPExcel_Calculation_Functions::ERROR_TYPE + INFO | **\*\*\* Not yet Implemented** + ISBLANK | PHPExcel_Calculation_Functions::IS_BLANK + ISERR | PHPExcel_Calculation_Functions::IS_ERR + ISERROR | PHPExcel_Calculation_Functions::IS_ERROR + ISEVEN | PHPExcel_Calculation_Functions::IS_EVEN + ISLOGICAL | PHPExcel_Calculation_Functions::IS_LOGICAL + ISNA | PHPExcel_Calculation_Functions::IS_NA + ISNONTEXT | PHPExcel_Calculation_Functions::IS_NONTEXT + ISNUMBER | PHPExcel_Calculation_Functions::IS_NUMBER + ISODD | PHPExcel_Calculation_Functions::IS_ODD + ISREF | **\*\*\* Not yet Implemented** + ISTEXT | PHPExcel_Calculation_Functions::IS_TEXT + N | PHPExcel_Calculation_Functions::N + NA | PHPExcel_Calculation_Functions::NA + TYPE | PHPExcel_Calculation_Functions::TYPE + VERSION | PHPExcel_Calculation_Functions::VERSION + +## CATEGORY_LOGICAL + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + AND | PHPExcel_Calculation_Logical::LOGICAL_AND + FALSE | PHPExcel_Calculation_Logical::FALSE + IF | PHPExcel_Calculation_Logical::STATEMENT_IF + IFERROR | PHPExcel_Calculation_Logical::IFERROR + NOT | PHPExcel_Calculation_Logical::NOT + OR | PHPExcel_Calculation_Logical::LOGICAL_OR + TRUE | PHPExcel_Calculation_Logical::TRUE + +## CATEGORY_LOOKUP_AND_REFERENCE + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + ADDRESS | PHPExcel_Calculation_LookupRef::CELL_ADDRESS + AREAS | **\*\*\* Not yet Implemented** + CHOOSE | PHPExcel_Calculation_LookupRef::CHOOSE + COLUMN | PHPExcel_Calculation_LookupRef::COLUMN + COLUMNS | PHPExcel_Calculation_LookupRef::COLUMNS + GETPIVOTDATA | **\*\*\* Not yet Implemented** + HLOOKUP | **\*\*\* Not yet Implemented** + HYPERLINK | PHPExcel_Calculation_LookupRef::HYPERLINK + INDEX | PHPExcel_Calculation_LookupRef::INDEX + INDIRECT | PHPExcel_Calculation_LookupRef::INDIRECT + LOOKUP | PHPExcel_Calculation_LookupRef::LOOKUP + MATCH | PHPExcel_Calculation_LookupRef::MATCH + OFFSET | PHPExcel_Calculation_LookupRef::OFFSET + ROW | PHPExcel_Calculation_LookupRef::ROW + ROWS | PHPExcel_Calculation_LookupRef::ROWS + RTD | **\*\*\* Not yet Implemented** + TRANSPOSE | PHPExcel_Calculation_LookupRef::TRANSPOSE + VLOOKUP | PHPExcel_Calculation_LookupRef::VLOOKUP + +## CATEGORY_MATH_AND_TRIG + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + ABS | abs + ACOS | acos + ACOSH | acosh + ASIN | asin + ASINH | asinh + ATAN | atan + ATAN2 | PHPExcel_Calculation_MathTrig::REVERSE_ATAN2 + ATANH | atanh + CEILING | PHPExcel_Calculation_MathTrig::CEILING + COMBIN | PHPExcel_Calculation_MathTrig::COMBIN + COS | cos + COSH | cosh + DEGREES | rad2deg + EVEN | PHPExcel_Calculation_MathTrig::EVEN + EXP | exp + FACT | PHPExcel_Calculation_MathTrig::FACT + FACTDOUBLE | PHPExcel_Calculation_MathTrig::FACTDOUBLE + FLOOR | PHPExcel_Calculation_MathTrig::FLOOR + GCD | PHPExcel_Calculation_MathTrig::GCD + INT | PHPExcel_Calculation_MathTrig::INT + LCM | PHPExcel_Calculation_MathTrig::LCM + LN | log + LOG | PHPExcel_Calculation_MathTrig::LOG_BASE + LOG10 | log10 + MDETERM | PHPExcel_Calculation_MathTrig::MDETERM + MINVERSE | PHPExcel_Calculation_MathTrig::MINVERSE + MMULT | PHPExcel_Calculation_MathTrig::MMULT + MOD | PHPExcel_Calculation_MathTrig::MOD + MROUND | PHPExcel_Calculation_MathTrig::MROUND + MULTINOMIAL | PHPExcel_Calculation_MathTrig::MULTINOMIAL + ODD | PHPExcel_Calculation_MathTrig::ODD + PI | pi + POWER | PHPExcel_Calculation_MathTrig::POWER + PRODUCT | PHPExcel_Calculation_MathTrig::PRODUCT + QUOTIENT | PHPExcel_Calculation_MathTrig::QUOTIENT + RADIANS | deg2rad + RAND | PHPExcel_Calculation_MathTrig::RAND + RANDBETWEEN | PHPExcel_Calculation_MathTrig::RAND + ROMAN | PHPExcel_Calculation_MathTrig::ROMAN + ROUND | round + ROUNDDOWN | PHPExcel_Calculation_MathTrig::ROUNDDOWN + ROUNDUP | PHPExcel_Calculation_MathTrig::ROUNDUP + SERIESSUM | PHPExcel_Calculation_MathTrig::SERIESSUM + SIGN | PHPExcel_Calculation_MathTrig::SIGN + SIN | sin + SINH | sinh + SQRT | sqrt + SQRTPI | PHPExcel_Calculation_MathTrig::SQRTPI + SUBTOTAL | PHPExcel_Calculation_MathTrig::SUBTOTAL + SUM | PHPExcel_Calculation_MathTrig::SUM + SUMIF | PHPExcel_Calculation_MathTrig::SUMIF + SUMIFS | **\*\*\* Not yet Implemented** + SUMPRODUCT | PHPExcel_Calculation_MathTrig::SUMPRODUCT + SUMSQ | PHPExcel_Calculation_MathTrig::SUMSQ + SUMX2MY2 | PHPExcel_Calculation_MathTrig::SUMX2MY2 + SUMX2PY2 | PHPExcel_Calculation_MathTrig::SUMX2PY2 + SUMXMY2 | PHPExcel_Calculation_MathTrig::SUMXMY2 + TAN | tan + TANH | tanh + TRUNC | PHPExcel_Calculation_MathTrig::TRUNC + +## CATEGORY_STATISTICAL + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + AVEDEV | PHPExcel_Calculation_Statistical::AVEDEV + AVERAGE | PHPExcel_Calculation_Statistical::AVERAGE + AVERAGEA | PHPExcel_Calculation_Statistical::AVERAGEA + AVERAGEIF | PHPExcel_Calculation_Statistical::AVERAGEIF + AVERAGEIFS | **\*\*\* Not yet Implemented** + BETADIST | PHPExcel_Calculation_Statistical::BETADIST + BETAINV | PHPExcel_Calculation_Statistical::BETAINV + BINOMDIST | PHPExcel_Calculation_Statistical::BINOMDIST + CHIDIST | PHPExcel_Calculation_Statistical::CHIDIST + CHIINV | PHPExcel_Calculation_Statistical::CHIINV + CHITEST | **\*\*\* Not yet Implemented** + CONFIDENCE | PHPExcel_Calculation_Statistical::CONFIDENCE + CORREL | PHPExcel_Calculation_Statistical::CORREL + COUNT | PHPExcel_Calculation_Statistical::COUNT + COUNTA | PHPExcel_Calculation_Statistical::COUNTA + COUNTBLANK | PHPExcel_Calculation_Statistical::COUNTBLANK + COUNTIF | PHPExcel_Calculation_Statistical::COUNTIF + COUNTIFS | **\*\*\* Not yet Implemented** + COVAR | PHPExcel_Calculation_Statistical::COVAR + CRITBINOM | PHPExcel_Calculation_Statistical::CRITBINOM + DEVSQ | PHPExcel_Calculation_Statistical::DEVSQ + EXPONDIST | PHPExcel_Calculation_Statistical::EXPONDIST + FDIST | **\*\*\* Not yet Implemented** + FINV | **\*\*\* Not yet Implemented** + FISHER | PHPExcel_Calculation_Statistical::FISHER + FISHERINV | PHPExcel_Calculation_Statistical::FISHERINV + FORECAST | PHPExcel_Calculation_Statistical::FORECAST + FREQUENCY | **\*\*\* Not yet Implemented** + FTEST | **\*\*\* Not yet Implemented** + GAMMADIST | PHPExcel_Calculation_Statistical::GAMMADIST + GAMMAINV | PHPExcel_Calculation_Statistical::GAMMAINV + GAMMALN | PHPExcel_Calculation_Statistical::GAMMALN + GEOMEAN | PHPExcel_Calculation_Statistical::GEOMEAN + GROWTH | PHPExcel_Calculation_Statistical::GROWTH + HARMEAN | PHPExcel_Calculation_Statistical::HARMEAN + HYPGEOMDIST | PHPExcel_Calculation_Statistical::HYPGEOMDIST + INTERCEPT | PHPExcel_Calculation_Statistical::INTERCEPT + KURT | PHPExcel_Calculation_Statistical::KURT + LARGE | PHPExcel_Calculation_Statistical::LARGE + LINEST | PHPExcel_Calculation_Statistical::LINEST + LOGEST | PHPExcel_Calculation_Statistical::LOGEST + LOGINV | PHPExcel_Calculation_Statistical::LOGINV + LOGNORMDIST | PHPExcel_Calculation_Statistical::LOGNORMDIST + MAX | PHPExcel_Calculation_Statistical::MAX + MAXA | PHPExcel_Calculation_Statistical::MAXA + MAXIF | PHPExcel_Calculation_Statistical::MAXIF + MEDIAN | PHPExcel_Calculation_Statistical::MEDIAN + MEDIANIF | **\*\*\* Not yet Implemented** + MIN | PHPExcel_Calculation_Statistical::MIN + MINA | PHPExcel_Calculation_Statistical::MINA + MINIF | PHPExcel_Calculation_Statistical::MINIF + MODE | PHPExcel_Calculation_Statistical::MODE + NEGBINOMDIST | PHPExcel_Calculation_Statistical::NEGBINOMDIST + NORMDIST | PHPExcel_Calculation_Statistical::NORMDIST + NORMINV | PHPExcel_Calculation_Statistical::NORMINV + NORMSDIST | PHPExcel_Calculation_Statistical::NORMSDIST + NORMSINV | PHPExcel_Calculation_Statistical::NORMSINV + PEARSON | PHPExcel_Calculation_Statistical::CORREL + PERCENTILE | PHPExcel_Calculation_Statistical::PERCENTILE + PERCENTRANK | PHPExcel_Calculation_Statistical::PERCENTRANK + PERMUT | PHPExcel_Calculation_Statistical::PERMUT + POISSON | PHPExcel_Calculation_Statistical::POISSON + PROB | **\*\*\* Not yet Implemented** + QUARTILE | PHPExcel_Calculation_Statistical::QUARTILE + RANK | PHPExcel_Calculation_Statistical::RANK + RSQ | PHPExcel_Calculation_Statistical::RSQ + SKEW | PHPExcel_Calculation_Statistical::SKEW + SLOPE | PHPExcel_Calculation_Statistical::SLOPE + SMALL | PHPExcel_Calculation_Statistical::SMALL + STANDARDIZE | PHPExcel_Calculation_Statistical::STANDARDIZE + STDEV | PHPExcel_Calculation_Statistical::STDEV + STDEVA | PHPExcel_Calculation_Statistical::STDEVA + STDEVP | PHPExcel_Calculation_Statistical::STDEVP + STDEVPA | PHPExcel_Calculation_Statistical::STDEVPA + STEYX | PHPExcel_Calculation_Statistical::STEYX + TDIST | PHPExcel_Calculation_Statistical::TDIST + TINV | PHPExcel_Calculation_Statistical::TINV + TREND | PHPExcel_Calculation_Statistical::TREND + TRIMMEAN | PHPExcel_Calculation_Statistical::TRIMMEAN + TTEST | **\*\*\* Not yet Implemented** + VAR | PHPExcel_Calculation_Statistical::VARFunc + VARA | PHPExcel_Calculation_Statistical::VARA + VARP | PHPExcel_Calculation_Statistical::VARP + VARPA | PHPExcel_Calculation_Statistical::VARPA + WEIBULL | PHPExcel_Calculation_Statistical::WEIBULL + ZTEST | PHPExcel_Calculation_Statistical::ZTEST + +## CATEGORY_TEXT_AND_DATA + + Excel Function | PHPExcel Function + --------------------|------------------------------------------- + ASC | **\*\*\* Not yet Implemented** + BAHTTEXT | **\*\*\* Not yet Implemented** + CHAR | PHPExcel_Calculation_TextData::CHARACTER + CLEAN | PHPExcel_Calculation_TextData::TRIMNONPRINTABLE + CODE | PHPExcel_Calculation_TextData::ASCIICODE + CONCATENATE | PHPExcel_Calculation_TextData::CONCATENATE + DOLLAR | PHPExcel_Calculation_TextData::DOLLAR + EXACT | **\*\*\* Not yet Implemented** + FIND | PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FINDB | PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FIXED | PHPExcel_Calculation_TextData::FIXEDFORMAT + JIS | **\*\*\* Not yet Implemented** + LEFT | PHPExcel_Calculation_TextData::LEFT + LEFTB | PHPExcel_Calculation_TextData::LEFT + LEN | PHPExcel_Calculation_TextData::STRINGLENGTH + LENB | PHPExcel_Calculation_TextData::STRINGLENGTH + LOWER | PHPExcel_Calculation_TextData::LOWERCASE + MID | PHPExcel_Calculation_TextData::MID + MIDB | PHPExcel_Calculation_TextData::MID + PHONETIC | **\*\*\* Not yet Implemented** + PROPER | PHPExcel_Calculation_TextData::PROPERCASE + REPLACE | PHPExcel_Calculation_TextData::REPLACE + REPLACEB | PHPExcel_Calculation_TextData::REPLACE + REPT | str_repeat + RIGHT | PHPExcel_Calculation_TextData::RIGHT + RIGHTB | PHPExcel_Calculation_TextData::RIGHT + SEARCH | PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SEARCHB | PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SUBSTITUTE | PHPExcel_Calculation_TextData::SUBSTITUTE + T | PHPExcel_Calculation_TextData::RETURNSTRING + TEXT | PHPExcel_Calculation_TextData::TEXTFORMAT + TRIM | PHPExcel_Calculation_TextData::TRIMSPACES + UPPER | PHPExcel_Calculation_TextData::UPPERCASE + VALUE | **\*\*\* Not yet Implemented** + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByName.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByName.md new file mode 100644 index 000000000..b69e45469 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Functions/FunctionListByName.md @@ -0,0 +1,485 @@ +#A + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + ABS | CATEGORY_MATH_AND_TRIG | abs + ACCRINT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::ACCRINT + ACCRINTM | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::ACCRINTM + ACOS | CATEGORY_MATH_AND_TRIG | acos + ACOSH | CATEGORY_MATH_AND_TRIG | acosh + ADDRESS | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::CELL_ADDRESS + AMORDEGRC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::AMORDEGRC + AMORLINC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::AMORLINC + AND | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::LOGICAL_AND + AREAS | CATEGORY_LOOKUP_AND_REFERENCE | **\*\*\* Not yet Implemented** + ASC | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + ASIN | CATEGORY_MATH_AND_TRIG | asin + ASINH | CATEGORY_MATH_AND_TRIG | asinh + ATAN | CATEGORY_MATH_AND_TRIG | atan + ATAN2 | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::REVERSE_ATAN2 + ATANH | CATEGORY_MATH_AND_TRIG | atanh + AVEDEV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::AVEDEV + AVERAGE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::AVERAGE + AVERAGEA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::AVERAGEA + AVERAGEIF | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::AVERAGEIF + AVERAGEIFS | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + +#B + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + BAHTTEXT | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + BESSELI | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BESSELI + BESSELJ | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BESSELJ + BESSELK | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BESSELK + BESSELY | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BESSELY + BETADIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::BETADIST + BETAINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::BETAINV + BIN2DEC | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BINTODEC + BIN2HEX | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BINTOHEX + BIN2OCT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::BINTOOCT + BINOMDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::BINOMDIST + +#C + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + CEILING | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::CEILING + CELL | CATEGORY_INFORMATION | **\*\*\* Not yet Implemented** + CHAR | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::CHARACTER + CHIDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CHIDIST + CHIINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CHIINV + CHITEST | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + CHOOSE | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::CHOOSE + CLEAN | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::TRIMNONPRINTABLE + CODE | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::ASCIICODE + COLUMN | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::COLUMN + COLUMNS | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::COLUMNS + COMBIN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::COMBIN + COMPLEX | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::COMPLEX + CONCATENATE | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::CONCATENATE + CONFIDENCE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CONFIDENCE + CONVERT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::CONVERTUOM + CORREL | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CORREL + COS | CATEGORY_MATH_AND_TRIG | cos + COSH | CATEGORY_MATH_AND_TRIG | cosh + COUNT | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::COUNT + COUNTA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::COUNTA + COUNTBLANK | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::COUNTBLANK + COUNTIF | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::COUNTIF + COUNTIFS | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + COUPDAYBS | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPDAYBS + COUPDAYS | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPDAYS + COUPDAYSNC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPDAYSNC + COUPNCD | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPNCD + COUPNUM | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPNUM + COUPPCD | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::COUPPCD + COVAR | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::COVAR + CRITBINOM | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CRITBINOM + CUBEKPIMEMBER | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBEMEMBER | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBEMEMBERPROPERTY | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBERANKEDMEMBER | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBESET | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBESETCOUNT | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUBEVALUE | CATEGORY_CUBE | **\*\*\* Not yet Implemented** + CUMIPMT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::CUMIPMT + CUMPRINC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::CUMPRINC + +#D + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + DATE | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DATE + DATEDIF | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DATEDIF + DATEVALUE | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DATEVALUE + DAVERAGE | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DAVERAGE + DAY | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DAYOFMONTH + DAYS360 | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DAYS360 + DB | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::DB + DCOUNT | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DCOUNT + DCOUNTA | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DCOUNTA + DDB | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::DDB + DEC2BIN | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::DECTOBIN + DEC2HEX | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::DECTOHEX + DEC2OCT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::DECTOOCT + DEGREES | CATEGORY_MATH_AND_TRIG | rad2deg + DELTA | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::DELTA + DEVSQ | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::DEVSQ + DGET | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DGET + DISC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::DISC + DMAX | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DMAX + DMIN | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DMIN + DOLLAR | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::DOLLAR + DOLLARDE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::DOLLARDE + DOLLARFR | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::DOLLARFR + DPRODUCT | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DPRODUCT + DSTDEV | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DSTDEV + DSTDEVP | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DSTDEVP + DSUM | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DSUM + DURATION | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + DVAR | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DVAR + DVARP | CATEGORY_DATABASE | PHPExcel_Calculation_Database::DVARP + +#E + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + EDATE | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::EDATE + EFFECT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::EFFECT + EOMONTH | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::EOMONTH + ERF | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::ERF + ERFC | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::ERFC + ERROR.TYPE | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::ERROR_TYPE + EVEN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::EVEN + EXACT | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + EXP | CATEGORY_MATH_AND_TRIG | exp + EXPONDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::EXPONDIST + +#F + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + FACT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::FACT + FACTDOUBLE | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::FACTDOUBLE + FALSE | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::FALSE + FDIST | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + FIND | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FINDB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::SEARCHSENSITIVE + FINV | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + FISHER | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::FISHER + FISHERINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::FISHERINV + FIXED | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::FIXEDFORMAT + FLOOR | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::FLOOR + FORECAST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::FORECAST + FREQUENCY | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + FTEST | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + FV | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::FV + FVSCHEDULE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::FVSCHEDULE + +#G + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + GAMMADIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::GAMMADIST + GAMMAINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::GAMMAINV + GAMMALN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::GAMMALN + GCD | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::GCD + GEOMEAN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::GEOMEAN + GESTEP | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::GESTEP + GETPIVOTDATA | CATEGORY_LOOKUP_AND_REFERENCE | **\*\*\* Not yet Implemented** + GROWTH | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::GROWTH + +#H + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + HARMEAN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::HARMEAN + HEX2BIN | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::HEXTOBIN + HEX2DEC | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::HEXTODEC + HEX2OCT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::HEXTOOCT + HLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | **\*\*\* Not yet Implemented** + HOUR | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::HOUROFDAY + HYPERLINK | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::HYPERLINK + HYPGEOMDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::HYPGEOMDIST + +#I + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + IF | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::STATEMENT_IF + IFERROR | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::IFERROR + IMABS | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMABS + IMAGINARY | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMAGINARY + IMARGUMENT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMARGUMENT + IMCONJUGATE | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMCONJUGATE + IMCOS | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMCOS + IMDIV | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMDIV + IMEXP | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMEXP + IMLN | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMLN + IMLOG10 | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMLOG10 + IMLOG2 | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMLOG2 + IMPOWER | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMPOWER + IMPRODUCT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMPRODUCT + IMREAL | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMREAL + IMSIN | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMSIN + IMSQRT | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMSQRT + IMSUB | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMSUB + IMSUM | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::IMSUM + INDEX | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::INDEX + INDIRECT | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::INDIRECT + INFO | CATEGORY_INFORMATION | **\*\*\* Not yet Implemented** + INT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::INT + INTERCEPT | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::INTERCEPT + INTRATE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::INTRATE + IPMT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::IPMT + IRR | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::IRR + ISBLANK | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_BLANK + ISERR | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_ERR + ISERROR | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_ERROR + ISEVEN | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_EVEN + ISLOGICAL | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_LOGICAL + ISNA | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_NA + ISNONTEXT | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_NONTEXT + ISNUMBER | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_NUMBER + ISODD | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_ODD + ISPMT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::ISPMT + ISREF | CATEGORY_INFORMATION | **\*\*\* Not yet Implemented** + ISTEXT | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::IS_TEXT + +#J + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + JIS | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + +#K + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + KURT | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::KURT + +#L + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + LARGE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::LARGE + LCM | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::LCM + LEFT | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::LEFT + LEFTB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::LEFT + LEN | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::STRINGLENGTH + LENB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::STRINGLENGTH + LINEST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::LINEST + LN | CATEGORY_MATH_AND_TRIG | log + LOG | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::LOG_BASE + LOG10 | CATEGORY_MATH_AND_TRIG | log10 + LOGEST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::LOGEST + LOGINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::LOGINV + LOGNORMDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::LOGNORMDIST + LOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::LOOKUP + LOWER | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::LOWERCASE + +#M + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + MATCH | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::MATCH + MAX | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MAX + MAXA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MAXA + MAXIF | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MAXIF + MDETERM | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MDETERM + MDURATION | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + MEDIAN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MEDIAN + MEDIANIF | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + MID | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::MID + MIDB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::MID + MIN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MIN + MINA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MINA + MINIF | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MINIF + MINUTE | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::MINUTEOFHOUR + MINVERSE | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MINVERSE + MIRR | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::MIRR + MMULT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MMULT + MOD | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MOD + MODE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::MODE + MONTH | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::MONTHOFYEAR + MROUND | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MROUND + MULTINOMIAL | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::MULTINOMIAL + +#N + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + N | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::N + NA | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::NA + NEGBINOMDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::NEGBINOMDIST + NETWORKDAYS | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::NETWORKDAYS + NOMINAL | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::NOMINAL + NORMDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::NORMDIST + NORMINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::NORMINV + NORMSDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::NORMSDIST + NORMSINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::NORMSINV + NOT | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::NOT + NOW | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DATETIMENOW + NPER | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::NPER + NPV | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::NPV + +#O + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + OCT2BIN | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::OCTTOBIN + OCT2DEC | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::OCTTODEC + OCT2HEX | CATEGORY_ENGINEERING | PHPExcel_Calculation_Engineering::OCTTOHEX + ODD | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::ODD + ODDFPRICE | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + ODDFYIELD | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + ODDLPRICE | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + ODDLYIELD | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + OFFSET | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::OFFSET + OR | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::LOGICAL_OR + +#P + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + PEARSON | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::CORREL + PERCENTILE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::PERCENTILE + PERCENTRANK | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::PERCENTRANK + PERMUT | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::PERMUT + PHONETIC | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + PI | CATEGORY_MATH_AND_TRIG | pi + PMT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PMT + POISSON | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::POISSON + POWER | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::POWER + PPMT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PPMT + PRICE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PRICE + PRICEDISC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PRICEDISC + PRICEMAT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PRICEMAT + PROB | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + PRODUCT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::PRODUCT + PROPER | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::PROPERCASE + PV | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::PV + +#Q + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + QUARTILE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::QUARTILE + QUOTIENT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::QUOTIENT + +#R + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + RADIANS | CATEGORY_MATH_AND_TRIG | deg2rad + RAND | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::RAND + RANDBETWEEN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::RAND + RANK | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::RANK + RATE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::RATE + RECEIVED | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::RECEIVED + REPLACE | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::REPLACE + REPLACEB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::REPLACE + REPT | CATEGORY_TEXT_AND_DATA | str_repeat + RIGHT | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::RIGHT + RIGHTB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::RIGHT + ROMAN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::ROMAN + ROUND | CATEGORY_MATH_AND_TRIG | round + ROUNDDOWN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::ROUNDDOWN + ROUNDUP | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::ROUNDUP + ROW | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::ROW + ROWS | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::ROWS + RSQ | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::RSQ + RTD | CATEGORY_LOOKUP_AND_REFERENCE | **\*\*\* Not yet Implemented** + +#S + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + SEARCH | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SEARCHB | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::SEARCHINSENSITIVE + SECOND | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::SECONDOFMINUTE + SERIESSUM | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SERIESSUM + SIGN | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SIGN + SIN | CATEGORY_MATH_AND_TRIG | sin + SINH | CATEGORY_MATH_AND_TRIG | sinh + SKEW | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::SKEW + SLN | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::SLN + SLOPE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::SLOPE + SMALL | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::SMALL + SQRT | CATEGORY_MATH_AND_TRIG | sqrt + SQRTPI | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SQRTPI + STANDARDIZE | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STANDARDIZE + STDEV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STDEV + STDEVA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STDEVA + STDEVP | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STDEVP + STDEVPA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STDEVPA + STEYX | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::STEYX + SUBSTITUTE | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::SUBSTITUTE + SUBTOTAL | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUBTOTAL + SUM | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUM + SUMIF | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMIF + SUMIFS | CATEGORY_MATH_AND_TRIG | **\*\*\* Not yet Implemented** + SUMPRODUCT | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMPRODUCT + SUMSQ | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMSQ + SUMX2MY2 | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMX2MY2 + SUMX2PY2 | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMX2PY2 + SUMXMY2 | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::SUMXMY2 + SYD | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::SYD + +#T + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + T | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::RETURNSTRING + TAN | CATEGORY_MATH_AND_TRIG | tan + TANH | CATEGORY_MATH_AND_TRIG | tanh + TBILLEQ | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::TBILLEQ + TBILLPRICE | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::TBILLPRICE + TBILLYIELD | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::TBILLYIELD + TDIST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::TDIST + TEXT | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::TEXTFORMAT + TIME | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::TIME + TIMEVALUE | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::TIMEVALUE + TINV | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::TINV + TODAY | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DATENOW + TRANSPOSE | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::TRANSPOSE + TREND | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::TREND + TRIM | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::TRIMSPACES + TRIMMEAN | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::TRIMMEAN + TRUE | CATEGORY_LOGICAL | PHPExcel_Calculation_Logical::TRUE + TRUNC | CATEGORY_MATH_AND_TRIG | PHPExcel_Calculation_MathTrig::TRUNC + TTEST | CATEGORY_STATISTICAL | **\*\*\* Not yet Implemented** + TYPE | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::TYPE + +#U + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + UPPER | CATEGORY_TEXT_AND_DATA | PHPExcel_Calculation_TextData::UPPERCASE + USDOLLAR | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + +#V + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + VALUE | CATEGORY_TEXT_AND_DATA | **\*\*\* Not yet Implemented** + VAR | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::VARFunc + VARA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::VARA + VARP | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::VARP + VARPA | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::VARPA + VDB | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + VERSION | CATEGORY_INFORMATION | PHPExcel_Calculation_Functions::VERSION + VLOOKUP | CATEGORY_LOOKUP_AND_REFERENCE | PHPExcel_Calculation_LookupRef::VLOOKUP + +#W + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + WEEKDAY | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::DAYOFWEEK + WEEKNUM | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::WEEKOFYEAR + WEIBULL | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::WEIBULL + WORKDAY | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::WORKDAY + +#X + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + XIRR | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::XIRR + XNPV | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::XNPV + +#Y + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + YEAR | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::YEAR + YEARFRAC | CATEGORY_DATE_AND_TIME | PHPExcel_Calculation_DateTime::YEARFRAC + YIELD | CATEGORY_FINANCIAL | **\*\*\* Not yet Implemented** + YIELDDISC | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::YIELDDISC + YIELDMAT | CATEGORY_FINANCIAL | PHPExcel_Calculation_Financial::YIELDMAT + +#Z + + Excel Function | Category | PHPExcel Function + --------------------|--------------------------------|------------------------------------------- + ZTEST | CATEGORY_STATISTICAL | PHPExcel_Calculation_Statistical::ZTEST diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/01-Getting-Started.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/01-Getting-Started.md new file mode 100644 index 000000000..262f1eaf8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/01-Getting-Started.md @@ -0,0 +1,179 @@ +# PHPExcel Developer Documentation + + +## Prerequisites, Installation, FAQ and Links + +### Software requirements + +The following software is required to develop using PHPExcel: + + - PHP version 5.2.0 or newer + - PHP extension php_zip enabled [^phpzip_footnote] + - PHP extension php_xml enabled + - PHP extension php_gd2 enabled (if not compiled in) + + +### Installation instructions + +Installation is quite easy: copy the contents of the Classes folder to any location within your application source directories. + +*Example:* + +If your web root folder is /var/www/ you may want to create a subfolder called /var/www/Classes/ and copy the files into that folder so you end up with files: + + /var/www/Classes/PHPExcel.php + /var/www/Classes/PHPExcel/Calculation.php + /var/www/Classes/PHPExcel/Cell.php + ... + + +### Getting started + +A good way to get started is to run some of the tests included in the download. +Copy the "Examples" folder next to your "Classes" folder from above so you end up with: + + /var/www/Examples/01simple.php + /var/www/Examples/02types.php + ... + +Start running the tests by pointing your browser to the test scripts: + +http://example.com/Tests/01simple.php +http://example.com/Tests/02types.php +... + +**Note:** It may be necessary to modify the include/require statements at the beginning of each of the test scripts if your "Classes" folder from above is named differently. + + +### Useful links and tools + +There are some links and tools which are very useful when developing using PHPExcel. Please refer to the [PHPExcel CodePlex pages][2] for an update version of the list below. + +#### OpenXML / SpreadsheetML + + - __File format documentation__ +[http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm][3] + - __OpenXML Explained e-book__ +[http://openxmldeveloper.org/articles/1970.aspx][4] + - __Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats__ +[http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en][5] + - __OpenXML Package Explorer__ +[http://www.codeplex.com/PackageExplorer/][6] + + +### Frequently asked questions + +The up-to-date F.A.Q. page for PHPExcel can be found on [http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements][7]. + +##### There seems to be a problem with character encoding... + +It is necessary to use UTF-8 encoding for all texts in PHPExcel. If the script uses different encoding then you can convert those texts with PHP's iconv() or mb_convert_encoding() functions. + +##### PHP complains about ZipArchive not being found + +Make sure you meet all requirements, especially php_zip extension should be enabled. + +The ZipArchive class is only required when reading or writing formats that use Zip compression (Excel2007 and OOCalc). Since version 1.7.6 the PCLZip library has been bundled with PHPExcel as an alternative to the ZipArchive class. + +This can be enabled by calling: +```php +PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); +``` +*before* calling the save method of the Excel2007 Writer. + +You can revert to using ZipArchive by calling: +```php +PHPExcel_Settings::setZipClass(PHPExcel_Settings::ZIPARCHIVE); +``` +At present, this only allows you to write Excel2007 files without the need for ZipArchive (not to read Excel2007 or OOCalc) + +##### Excel 2007 cannot open the file generated by PHPExcel_Writer_2007 on Windows + +"Excel found unreadable content in '*.xlsx'. Do you want to recover the contents of this workbook? If you trust the source of this workbook, click Yes." + +Some older versions of the 5.2.x php_zip extension on Windows contain an error when creating ZIP files. The version that can be found on [http://snaps.php.net/win32/php5.2-win32-latest.zip][8] should work at all times. + +Alternatively, upgrading to at least PHP 5.2.9 should solve the problem. + +If you can't locate a clean copy of ZipArchive, then you can use the PCLZip library as an alternative when writing Excel2007 files, as described above. + +##### Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate yyy bytes) in zzz on line aaa + +PHPExcel holds an "in memory" representation of a spreadsheet, so it is susceptible to PHP's memory limitations. The memory made available to PHP can be increased by editing the value of the memory_limit directive in your php.ini file, or by using ini_set('memory_limit', '128M') within your code (ISP permitting). + +Some Readers and Writers are faster than others, and they also use differing amounts of memory. You can find some indication of the relative performance and memory usage for the different Readers and Writers, over the different versions of PHPExcel, on the [discussion board][9]. + +If you've already increased memory to a maximum, or can't change your memory limit, then [this discussion][10] on the board describes some of the methods that can be applied to reduce the memory usage of your scripts using PHPExcel. + +##### Protection on my worksheet is not working? + +When you make use of any of the worksheet protection features (e.g. cell range protection, prohibiting deleting rows, ...), make sure you enable worksheet security. This can for example be done like this: +```php +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); +``` + +##### Feature X is not working with PHPExcel_Reader_Y / PHPExcel_Writer_Z + +Not all features of PHPExcel are implemented in all of the Reader / Writer classes. This is mostly due to underlying libraries not supporting a specific feature or not having implemented a specific feature. + +For example autofilter is not implemented in PEAR Spreadsheet_Excel_writer, which is the base of our Excel5 writer. + +We are slowly building up a list of features, together with the different readers and writers that support them, in the "Functionality Cross-Reference.xls" file in the /Documentation folder. + +##### Formulas don't seem to be calculated in Excel2003 using compatibility pack? + +This is normal behaviour of the compatibility pack, Excel2007 displays this correctly. Use PHPExcel_Writer_Excel5 if you really need calculated values, or force recalculation in Excel2003. + +##### Setting column width is not 100% accurate + +Trying to set column width, I experience one problem. When I open the file in Excel, the actual width is 0.71 less than it should be. + +The short answer is that PHPExcel uses a measure where padding is included. See section: "Setting a column's width" for more details. + +##### How do I use PHPExcel with my framework + + - There are some instructions for using PHPExcel with Joomla on the [Joomla message board][11] + - A page of advice on using [PHPExcel in the Yii framework][12] + - [The Bakery][13] has some helper classes for reading and writing with PHPExcel within CakePHP + - Integrating [PHPExcel into Kohana 3][14] and [?????????? PHPExcel ? Kohana Framework][15] + - Using [PHPExcel with Typo3][16] + +##### Joomla Autoloader interferes with PHPExcel Autoloader + +Thanks to peterrlynch for the following advice on resolving issues between the [PHPExcel autoloader and Joomla Autoloader][17] + + +#### Tutorials + + - __English PHPExcel tutorial__ + [http://openxmldeveloper.org][18] + - __French PHPExcel tutorial__ + [http://g-ernaelsten.developpez.com/tutoriels/excel2007/][19] + - __A Japanese-language introduction to PHPExcel__ + [http://journal.mycom.co.jp/articles/2009/03/06/phpexcel/index.html][21] + + + [2]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Documents&referringTitle=Home + [3]: http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm + [4]: http://openxmldeveloper.org/articles/1970.aspx + [5]: http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en + [6]: http://www.codeplex.com/PackageExplorer/ + [7]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=FAQ&referringTitle=Requirements + [8]: http://snaps.php.net/win32/php5.2-win32-latest.zip + [9]: http://phpexcel.codeplex.com/Thread/View.aspx?ThreadId=234150 + [10]: http://phpexcel.codeplex.com/Thread/View.aspx?ThreadId=242712 + [11]: http://http:/forum.joomla.org/viewtopic.php?f=304&t=433060 + [12]: http://www.yiiframework.com/wiki/101/how-to-use-phpexcel-external-library-with-yii/ + [13]: http://bakery.cakephp.org/articles/melgior/2010/01/26/simple-excel-spreadsheet-helper + [14]: http://www.flynsarmy.com/2010/07/phpexcel-module-for-kohana-3/ + [15]: http://szpargalki.blogspot.com/2011/02/phpexcel-kohana-framework.html + [16]: http://typo3.org/documentation/document-library/extension-manuals/phpexcel_library/1.1.1/view/toc/0/ + [17]: http://phpexcel.codeplex.com/discussions/211925 + [18]: http://openxmldeveloper.org + [19]: http://g-ernaelsten.developpez.com/tutoriels/excel2007/ + [20]: http://www.web-junior.net/sozdanie-excel-fajjlov-s-pomoshhyu-phpexcel/ + [21]: http://journal.mycom.co.jp/articles/2009/03/06/phpexcel/index.html + + +[^phpzip_footnote]: __php_zip__ is only needed by __PHPExcel_Reader_Excel2007__, __PHPExcel_Writer_Excel2007__ and __PHPExcel_Reader_OOCalc__. In other words, if you need PHPExcel to handle .xlsx or .ods files you will need the zip extension, but otherwise not.<br />You can remove this dependency for writing Excel2007 files (though not yet for reading) by using the PCLZip library that is bundled with PHPExcel. See the FAQ section of this document for details about this. PCLZip does have a dependency on PHP's zlib extension being enabled. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/02-Architecture.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/02-Architecture.md new file mode 100644 index 000000000..8ddb43e2c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/02-Architecture.md @@ -0,0 +1,76 @@ +# PHPExcel Developer Documentation + + +## Architecture + +### Schematical + +![01-schematic.png](./images/01-schematic.png "Basic Architecture Schematic") + + +### Lazy Loader + +PHPExcel implements an autoloader or "lazy loader", which means that it is not necessary to include every file within PHPExcel. It is only necessary to include the initial PHPExcel class file, then the autoloader will include other class files as and when required, so only those files that are actually required by your script will be loaded into PHP memory. The main benefit of this is that it reduces the memory footprint of PHPExcel itself, so that it uses less PHP memory. + +If your own scripts already define an autoload function, then this may be overwritten by the PHPExcel autoload function. For example, if you have: +```php +function __autoload($class) { + ... +} +``` +Do this instead: +```php +function myAutoload($class) { + ... +} + +spl_autoload_register('myAutoload'); +``` +Your autoloader will then co-exist with the autoloader of PHPExcel. + + +### Spreadsheet in memory + +PHPExcel's architecture is built in a way that it can serve as an in-memory spreadsheet. This means that, if one would want to create a web based view of a spreadsheet which communicates with PHPExcel's object model, he would only have to write the front-end code. + +Just like desktop spreadsheet software, PHPExcel represents a spreadsheet containing one or more worksheets, which contain cells with data, formulas, images, ... + + +### Readers and writers + +On its own, PHPExcel does not provide the functionality to read from or write to a persisted spreadsheet (on disk or in a database). To provide that functionality, readers and writers can be used. + +By default, the PHPExcel package provides some readers and writers, including one for the Open XML spreadsheet format (a.k.a. Excel 2007 file format). You are not limited to the default readers and writers, as you are free to implement the PHPExcel_Reader_IReader and PHPExcel_Writer_IWriter interface in a custom class. + +![02-readers-writers.png](./images/02-readers-writers.png "Readers/Writers") + +### Fluent interfaces + +PHPExcel supports fluent interfaces in most locations. This means that you can easily "chain" calls to specific methods without requiring a new PHP statement. For example, take the following code: + +```php +$objPHPExcel->getProperties()->setCreator("Maarten Balliauw"); +$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw"); +$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document"); +$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document"); +$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes."); +$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php"); +$objPHPExcel->getProperties()->setCategory("Test result file"); +``` + +This can be rewritten as: + +```php +$objPHPExcel->getProperties() + ->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); +``` + + > __Using fluent interfaces is not required__ + > Fluent interfaces have been implemented to provide a convenient programming API. Use of them is not required, but can make your code easier to read and maintain. + > It can also improve performance, as you are reducing the overall number of calls to PHPExcel methods: in the above example, the `getProperties()` method is being called only once rather than 7 times in the non-fluent version. diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/03-Creating-a-Spreadsheet.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/03-Creating-a-Spreadsheet.md new file mode 100644 index 000000000..b65000bf5 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/03-Creating-a-Spreadsheet.md @@ -0,0 +1,34 @@ +# PHPExcel Developer Documentation + + +## Creating a spreadsheet + +### The PHPExcel class + +The PHPExcel class is the core of PHPExcel. It contains references to the contained worksheets, document security settings and document meta data. + +To simplify the PHPExcel concept: the PHPExcel class represents your workbook. + +Typically, you will create a workbook in one of two ways, either by loading it from a spreadsheet file, or creating it manually. A third option, though less commonly used, is cloning an existing workbook that has been created using one of the previous two methods. + +#### Loading a Workbook from a file + +Details of the different spreadsheet formats supported, and the options available to read them into a PHPExcel object are described fully in the PHPExcel User Documentation - Reading Spreadsheet Files document. + +```php +$inputFileName = './sampleData/example1.xls'; + +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); +``` + +#### Creating a new workbook + +If you want to create a new workbook, rather than load one from file, then you simply need to instantiate it as a new PHPExcel object. + +```php +/** Create a new PHPExcel Object **/ +$objPHPExcel = new PHPExcel(); +``` + +A new workbook will always be created with a single worksheet. diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/04-Configuration-Settings.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/04-Configuration-Settings.md new file mode 100644 index 000000000..2024e801e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/04-Configuration-Settings.md @@ -0,0 +1,140 @@ +# PHPExcel Developer Documentation + + +## Configuration Settings + +Once you have included the PHPExcel files in your script, but before instantiating a PHPExcel object or loading a workbook file, there are a number of configuration options that can be set which will affect the subsequent behaviour of the script. + +### Cell Caching + +PHPExcel uses an average of about 1k/cell in your worksheets, so large workbooks can quickly use up available memory. Cell caching provides a mechanism that allows PHPExcel to maintain the cell objects in a smaller size of memory, on disk, or in APC, memcache or Wincache, rather than in PHP memory. This allows you to reduce the memory usage for large workbooks, although at a cost of speed to access cell data. + +By default, PHPExcel still holds all cell objects in memory, but you can specify alternatives. To enable cell caching, you must call the PHPExcel_Settings::setCacheStorageMethod() method, passing in the caching method that you wish to use. + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_in_memory; + +PHPExcel_Settings::setCacheStorageMethod($cacheMethod); +``` + +setCacheStorageMethod() will return a boolean true on success, false on failure (for example if trying to cache to APC when APC is not enabled). + +A separate cache is maintained for each individual worksheet, and is automatically created when the worksheet is instantiated based on the caching method and settings that you have configured. You cannot change the configuration settings once you have started to read a workbook, or have created your first worksheet. + +Currently, the following caching methods are available. + +#### PHPExcel_CachedObjectStorageFactory::cache_in_memory + +The default. If you don't initialise any caching method, then this is the method that PHPExcel will use. Cell objects are maintained in PHP memory as at present. + +#### PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized + +Using this caching method, cells are held in PHP memory as an array of serialized objects, which reduces the memory footprint with minimal performance overhead. + +#### PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip + +Like cache_in_memory_serialized, this method holds cells in PHP memory as an array of serialized objects, but gzipped to reduce the memory usage still further, although access to read or write a cell is slightly slower. + +#### PHPExcel_CachedObjectStorageFactory::cache_igbinary + +Uses PHPs igbinary extension (if its available) to serialize cell objects in memory. This is normally faster and uses less memory than standard PHP serialization, but isnt available in most hosting environments. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_discISAM + +When using cache_to_discISAM all cells are held in a temporary disk file, with only an index to their location in that file maintained in PHP memory. This is slower than any of the cache_in_memory methods, but significantly reduces the memory footprint. By default, PHPExcel will use PHP's temp directory for the cache file, but you can specify a different directory when initialising cache_to_discISAM. + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_discISAM; +$cacheSettings = array( + 'dir' => '/usr/local/tmp' +); +PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); +``` + +The temporary disk file is automatically deleted when your script terminates. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp + +Like cache_to_discISAM, when using cache_to_phpTemp all cells are held in the php://temp I/O stream, with only an index to their location maintained in PHP memory. In PHP, the php://memory wrapper stores data in the memory: php://temp behaves similarly, but uses a temporary file for storing the data when a certain memory limit is reached. The default is 1 MB, but you can change this when initialising cache_to_phpTemp. + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp; +$cacheSettings = array( + 'memoryCacheSize' => '8MB' +); +PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); +``` + +The php://temp file is automatically deleted when your script terminates. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_apc + +When using cache_to_apc, cell objects are maintained in APC with only an index maintained in PHP memory to identify that the cell exists. By default, an APC cache timeout of 600 seconds is used, which should be enough for most applications: although it is possible to change this when initialising cache_to_APC. + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_APC; +$cacheSettings = array( + 'cacheTime' => 600 +); +PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); +``` + +When your script terminates all entries will be cleared from APC, regardless of the cacheTime value, so it cannot be used for persistent storage using this mechanism. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_memcache + +When using cache_to_memcache, cell objects are maintained in memcache with only an index maintained in PHP memory to identify that the cell exists. + +By default, PHPExcel looks for a memcache server on localhost at port 11211. It also sets a memcache timeout limit of 600 seconds. If you are running memcache on a different server or port, then you can change these defaults when you initialise cache_to_memcache: + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache; +$cacheSettings = array( + 'memcacheServer' => 'localhost', + 'memcachePort' => 11211, + 'cacheTime' => 600 +); +PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); +``` + +When your script terminates all entries will be cleared from memcache, regardless of the cacheTime value, so it cannot be used for persistent storage using this mechanism. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_wincache + +When using cache_to_wincache, cell objects are maintained in Wincache with only an index maintained in PHP memory to identify that the cell exists. By default, a Wincache cache timeout of 600 seconds is used, which should be enough for most applications: although it is possible to change this when initialising cache_to_wincache. + +```php +$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_wincache; +$cacheSettings = array( + 'cacheTime' => 600 +); +PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings); +``` + +When your script terminates all entries will be cleared from Wincache, regardless of the cacheTime value, so it cannot be used for persistent storage using this mechanism. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_sqlite + +Uses an SQLite 2 "in-memory" database for caching cell data. Unlike other caching methods, neither cells nor an index are held in PHP memory - an indexed database table makes it unnecessary to hold any index in PHP memory, which makes this the most memory-efficient of the cell caching methods. + +#### PHPExcel_CachedObjectStorageFactory::cache_to_sqlite3; + +Uses an SQLite 3 "in-memory" database for caching cell data. Unlike other caching methods, neither cells nor an index are held in PHP memory - an indexed database table makes it unnecessary to hold any index in PHP memory, which makes this the most memory-efficient of the cell caching methods. + + +### Language/Locale + +Some localisation elements have been included in PHPExcel. You can set a locale by changing the settings. To set the locale to Brazilian Portuguese you would use: + +```php +$locale = 'pt_br'; +$validLocale = PHPExcel_Settings::setLocale($locale); +if (!$validLocale) { + echo 'Unable to set locale to ' . $locale . " - reverting to en_us" . PHP_EOL; +} +``` + +If Brazilian Portuguese language files aren't available, then Portuguese will be enabled instead: if Portuguese language files aren't available, then the setLocale() method will return an error, and American English (en_us) settings will be used throughout. + +More details of the features available once a locale has been set, including a list of the languages and locales currently supported, can be found in the section of this document entitled "Locale Settings for Formulae". + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/05-Deleting-a-Workbook.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/05-Deleting-a-Workbook.md new file mode 100644 index 000000000..0ea91712f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/05-Deleting-a-Workbook.md @@ -0,0 +1,13 @@ +# PHPExcel Developer Documentation + +## Clearing a Workbook from memory + +The PHPExcel object contains cyclic references (e.g. the workbook is linked to the worksheets, and the worksheets are linked to their parent workbook) which cause problems when PHP tries to clear the objects from memory when they are unset(), or at the end of a function when they are in local scope. The result of this is "memory leaks", which can easily use a large amount of PHP's limited memory. + +This can only be resolved manually: if you need to unset a workbook, then you also need to "break" these cyclic references before doing so. PHPExcel provides the disconnectWorksheets() method for this purpose. + +```php +$objPHPExcel->disconnectWorksheets(); + +unset($objPHPExcel); +``` diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/06-Worksheets.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/06-Worksheets.md new file mode 100644 index 000000000..a6a231ccf --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/06-Worksheets.md @@ -0,0 +1,94 @@ +# PHPExcel Developer Documentation + +## Worksheets + +A worksheet is a collection of cells, formulae, images, graphs, etc. It holds all data necessary to represent a spreadsheet worksheet. + +When you load a workbook from a spreadsheet file, it will be loaded with all its existing worksheets (unless you specified that only certain sheets should be loaded). When you load from non-spreadsheet files (such as a CSV or HTML file) or from spreadsheet formats that don't identify worksheets by name (such as SYLK), then a single worksheet called "WorkSheet1" will be created containing the data from that file. + +When you instantiate a new workbook, PHPExcel will create it with a single worksheet called "WorkSheet1". + +The `getSheetCount()` method will tell you the number of worksheets in the workbook; while the `getSheetNames()` method will return a list of all worksheets in the workbook, indexed by the order in which their "tabs" would appear when opened in MS Excel (or other appropriate Spreadsheet program). + +Individual worksheets can be accessed by name, or by their index position in the workbook. The index position represents the order that each worksheet "tab" is shown when the workbook is opened in MS Excel (or other appropriate Spreadsheet program). To access a sheet by its index, use the `getSheet()` method. + +```php +// Get the second sheet in the workbook +// Note that sheets are indexed from 0 +$objPHPExcel->getSheet(1); +``` + +If you don't specify a sheet index, then the first worksheet will be returned. + +Methods also exist allowing you to reorder the worksheets in the workbook. + +To access a sheet by name, use the `getSheetByName()` method, specifying the name of the worksheet that you want to access. + +```php +// Retrieve the worksheet called 'Worksheet 1' +$objPHPExcel->getSheetByName('Worksheet 1'); +``` + +Alternatively, one worksheet is always the currently active worksheet, and you can access that directly. The currently active worksheet is the one that will be active when the workbook is opened in MS Excel (or other appropriate Spreadsheet program). + +```php +// Retrieve the current active worksheet +$objPHPExcel->getActiveSheet(); +``` + +You can change the currently active sheet by index or by name using the `setActiveSheetIndex()` and `setActiveSheetIndexByName()` methods. + +### Adding a new Worksheet + +You can add a new worksheet to the workbook using the `createSheet()` method of the PHPExcel object. By default, this will be created as a new "last" sheet; but you can also specify an index position as an argument, and the worksheet will be inserted at that position, shuffling all subsequent worksheets in the collection down a place. + +```php +$objPHPExcel->createSheet(); +``` + +A new worksheet created using this method will be called "Worksheet\<n\>" where "\<n\>" is the lowest number possible to guarantee that the title is unique. + +Alternatively, you can instantiate a new worksheet (setting the title to whatever you choose) and then insert it into your workbook using the addSheet() method. + +```php +// Create a new worksheet called "My Data" +$myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'My Data'); + +// Attach the "My Data" worksheet as the first worksheet in the PHPExcel object +$objPHPExcel->addSheet($myWorkSheet, 0); +``` + +If you don't specify an index position as the second argument, then the new worksheet will be added after the last existing worksheet. + +### Copying Worksheets + +Sheets within the same workbook can be copied by creating a clone of the worksheet you wish to copy, and then using the addSheet() method to insert the clone into the workbook. + +```php +$objClonedWorksheet = clone $objPHPExcel->getSheetByName('Worksheet 1'); +$objClonedWorksheet->setTitle('Copy of Worksheet 1') +$objPHPExcel->addSheet($objClonedWorksheet); +``` + +You can also copy worksheets from one workbook to another, though this is more complex as PHPExcel also has to replicate the styling between the two workbooks. The addExternalSheet() method is provided for this purpose. + +``` +$objClonedWorksheet = clone $objPHPExcel1->getSheetByName('Worksheet 1'); +$objPHPExcel->addExternalSheet($objClonedWorksheet); +``` + +In both cases, it is the developer's responsibility to ensure that worksheet names are not duplicated. PHPExcel will throw an exception if you attempt to copy worksheets that will result in a duplicate name. + +### Removing a Worksheet + +You can delete a worksheet from a workbook, identified by its index position, using the removeSheetByIndex() method + +```php +$sheetIndex = $objPHPExcel->getIndex( + $objPHPExcel->getSheetByName('Worksheet 1') +); +$objPHPExcel->removeSheetByIndex($sheetIndex); +``` + +If the currently active worksheet is deleted, then the sheet at the previous index position will become the currently active sheet. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/07-Accessing-Cells.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/07-Accessing-Cells.md new file mode 100644 index 000000000..e63b45b26 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/07-Accessing-Cells.md @@ -0,0 +1,390 @@ +# PHPExcel Developer Documentation + +## Accessing cells + +Accessing cells in a PHPExcel worksheet should be pretty straightforward. This topic lists some of the options to access a cell. + +### Setting a cell value by coordinate + +Setting a cell value by coordinate can be done using the worksheet's `setCellValue()` method. + +```php +// Set cell A1 with a string value +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'PHPExcel'); + +// Set cell A2 with a numeric value +$objPHPExcel->getActiveSheet()->setCellValue('A2', 12345.6789); + +// Set cell A3 with a boolean value +$objPHPExcel->getActiveSheet()->setCellValue('A3', TRUE); + +// Set cell A4 with a formula +$objPHPExcel->getActiveSheet()->setCellValue( + 'A4', + '=IF(A3, CONCATENATE(A1, " ", A2), CONCATENATE(A2, " ", A1))' +); +``` + +Alternatively, you can retrieve the cell object, and then call the cell’s setValue() method: + +```php +$objPHPExcel->getActiveSheet() + ->getCell('B8') + ->setValue('Some value'); +``` + +**Excel DataTypes** + +MS Excel supports 7 basic datatypes + - string + - number + - boolean + - null + - formula + - error + - Inline (or rich text) string + +By default, when you call the worksheet's `setCellValue()` method or the cell's `setValue()` method, PHPExcel will use the appropriate datatype for PHP nulls, booleans, floats or integers; or cast any string data value that you pass to the method into the most appropriate datatype, so numeric strings will be cast to numbers, while string values beginning with “=” will be converted to a formula. Strings that aren't numeric, or that don't begin with a leading "=" will be treated as genuine string values. + +This "conversion" is handled by a cell "value binder", and you can write custom "value binders" to change the behaviour of these "conversions". The standard PHPExcel package also provides an "advanced value binder" that handles a number of more complex conversions, such as converting strings with a fractional format like "3/4" to a number value (0.75 in this case) and setting an appropriate "fraction" number format mask. Similarly, strings like "5%" will be converted to a value of 0.05, and a percentage number format mask applied, and strings containing values that look like dates will be converted to Excel serialized datetimestamp values, and a corresponding mask applied. This is particularly useful when loading data from csv files, or setting cell values from a database. + +Formats handled by the advanced value binder include + - TRUE or FALSE (dependent on locale settings) are converted to booleans. + - Numeric strings identified as scientific (exponential) format are converted to numbers. + - Fractions and vulgar fractions are converted to numbers, and an appropriate number format mask applied. + - Percentages are converted to numbers, divided by 100, and an appropriate number format mask applied. + - Dates and times are converted to Excel timestamp values (numbers), and an appropriate number format mask applied. + - When strings contain a newline character ("\n"), then the cell styling is set to wrap. + +You can read more about value binders later in this section of the documentation. + +#### Setting a date and/or time value in a cell + +Date or time values are held as timestamp in Excel (a simple floating point value), and a number format mask is used to show how that value should be formatted; so if we want to store a date in a cell, we need to calculate the correct Excel timestamp, and set a number format mask. + +```php +// Get the current date/time and convert to an Excel date/time +$dateTimeNow = time(); +$excelDateValue = PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ); +// Set cell A6 with the Excel date/time value +$objPHPExcel->getActiveSheet()->setCellValue( + 'A6', + $excelDateValue +); +// Set the number format mask so that the excel timestamp will be displayed as a human-readable date/time +$objPHPExcel->getActiveSheet()->getStyle('A6') + ->getNumberFormat() + ->setFormatCode( + PHPExcel_Style_NumberFormat::FORMAT_DATE_DATETIME + ); +``` + +#### Setting a number with leading zeroes + +By default, PHPExcel will automatically detect the value type and set it to the appropriate Excel numeric datatype. This type conversion is handled by a value binder, as described in the section of this document entitled "Using value binders to facilitate data entry". + +Numbers don't have leading zeroes, so if you try to set a numeric value that does have leading zeroes (such as a telephone number) then these will be normally be lost as the value is cast to a number, so "01513789642" will be displayed as 1513789642. + +There are two ways you can force PHPExcel to override this behaviour. + +Firstly, you can set the datatype explicitly as a string so that it is not converted to a number. + +```php +// Set cell A8 with a numeric value, but tell PHPExcel it should be treated as a string +$objPHPExcel->getActiveSheet()->setCellValueExplicit( + 'A8', + "01513789642", + PHPExcel_Cell_DataType::TYPE_STRING +); +``` + +Alternatively, you can use a number format mask to display the value with leading zeroes. + +```php +// Set cell A9 with a numeric value +$objPHPExcel->getActiveSheet()->setCellValue('A9', 1513789642); +// Set a number format mask to display the value as 11 digits with leading zeroes +$objPHPExcel->getActiveSheet()->getStyle('A9') + ->getNumberFormat() + ->setFormatCode( + '00000000000' + ); +``` + +With number format masking, you can even break up the digits into groups to make the value more easily readable. + +```php +// Set cell A10 with a numeric value +$objPHPExcel->getActiveSheet()->setCellValue('A10', 1513789642); +// Set a number format mask to display the value as 11 digits with leading zeroes +$objPHPExcel->getActiveSheet()->getStyle('A10') + ->getNumberFormat() + ->setFormatCode( + '0000-000-0000' + ); +``` + +![07-simple-example-1.png](./images/07-simple-example-1.png "") + + +**Note** that not all complex format masks such as this one will work when retrieving a formatted value to display "on screen", or for certain writers such as HTML or PDF, but it will work with the true spreadsheet writers (Excel2007 and Excel5). + +### Setting a range of cells from an array + +It is also possible to set a range of cell values in a single call by passing an array of values to the `fromArray()` method. + +```php +$arrayData = array( + array(NULL, 2010, 2011, 2012), + array('Q1', 12, 15, 21), + array('Q2', 56, 73, 86), + array('Q3', 52, 61, 69), + array('Q4', 30, 32, 0), +); +$objPHPExcel->getActiveSheet() + ->fromArray( + $arrayData, // The data to set + NULL, // Array values with this value will not be set + 'C3' // Top left coordinate of the worksheet range where + // we want to set these values (default is A1) + ); +``` + +![07-simple-example-2.png](./images/07-simple-example-2.png "") + +If you pass a 2-d array, then this will be treated as a series of rows and columns. A 1-d array will be treated as a single row, which is particularly useful if you're fetching an array of data from a database. + +```php +$rowArray = array('Value1', 'Value2', 'Value3', 'Value4'); +$objPHPExcel->getActiveSheet() + ->fromArray( + $rowArray, // The data to set + NULL, // Array values with this value will not be set + 'C3' // Top left coordinate of the worksheet range where + // we want to set these values (default is A1) + ); +``` + +![07-simple-example-3.png](./images/07-simple-example-3.png "") + +If you have a simple 1-d array, and want to write it as a column, then the following will convert it into an appropriately structured 2-d array that can be fed to the `fromArray()` method: + +```php +$rowArray = array('Value1', 'Value2', 'Value3', 'Value4'); +$columnArray = array_chunk($rowArray, 1); +$objPHPExcel->getActiveSheet() + ->fromArray( + $columnArray, // The data to set + NULL, // Array values with this value will not be set + 'C3' // Top left coordinate of the worksheet range where + // we want to set these values (default is A1) + ); +``` + +![07-simple-example-4.png](./images/07-simple-example-4.png "") + +### Retrieving a cell value by coordinate + +To retrieve the value of a cell, the cell should first be retrieved from the worksheet using the `getCell()` method. A cell's value can be read using the `getValue()` method. + +```php +// Get the value fom cell A1 +$cellValue = $objPHPExcel->getActiveSheet()->getCell('A1') + ->getValue(); +``` + +This will retrieve the raw, unformatted value contained in the cell. + +If a cell contains a formula, and you need to retrieve the calculated value rather than the formula itself, then use the cell's `getCalculatedValue()` method. This is further explained in . + +```php +// Get the value fom cell A4 +$cellValue = $objPHPExcel->getActiveSheet()->getCell('A4') + ->getCalculatedValue(); +``` + +Alternatively, if you want to see the value with any cell formatting applied (e.g. for a human-readable date or time value), then you can use the cell's `getFormattedValue()` method. + +```php +// Get the value fom cell A6 +$cellValue = $objPHPExcel->getActiveSheet()->getCell('A6') + ->getFormattedValue(); +``` + + +### Setting a cell value by column and row + +Setting a cell value by coordinate can be done using the worksheet's `setCellValueByColumnAndRow()` method. + +```php +// Set cell B5 with a string value +$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 5, 'PHPExcel'); +``` + +**Note** that column references start with '0' for column 'A', rather than from '1'. + +### Retrieving a cell value by column and row + +To retrieve the value of a cell, the cell should first be retrieved from the worksheet using the getCellByColumnAndRow method. A cell’s value can be read again using the following line of code: + +```php +// Get the value fom cell B5 +$cellValue = $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(1, 5) + ->getValue(); +``` +If you need the calculated value of a cell, use the following code. This is further explained in . + +```php +// Get the value fom cell A4 +$cellValue = $objPHPExcel->getActiveSheet()->getCellByColumnAndRow(0, 4) + ->getCalculatedValue(); +``` + +### Retrieving a range of cell values to an array + +It is also possible to retrieve a range of cell values to an array in a single call using the `toArray()`, `rangeToArray()` or `namedRangeToArray()` methods. + +```php +$dataArray = $objPHPExcel->getActiveSheet() + ->rangeToArray( + 'C3:E5', // The worksheet range that we want to retrieve + NULL, // Value that should be returned for empty cells + TRUE, // Should formulas be calculated (the equivalent of getCalculatedValue() for each cell) + TRUE, // Should values be formatted (the equivalent of getFormattedValue() for each cell) + TRUE // Should the array be indexed by cell row and cell column + ); +``` + +These methods will all return a 2-d array of rows and columns. The `toArray()` method will return the whole worksheet; `rangeToArray()` will return a specified range or cells; while `namedRangeToArray()` will return the cells within a defined `named range`. + +### Looping through cells + +#### Looping through cells using iterators + +The easiest way to loop cells is by using iterators. Using iterators, one can use foreach to loop worksheets, rows within a worksheet, and cells within a row. + +Below is an example where we read all the values in a worksheet and display them in a table. + +```php +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objReader->setReadDataOnly(TRUE); +$objPHPExcel = $objReader->load("test.xlsx"); + +$objWorksheet = $objPHPExcel->getActiveSheet(); + +echo '<table>' . PHP_EOL; +foreach ($objWorksheet->getRowIterator() as $row) { + echo '<tr>' . PHP_EOL; + $cellIterator = $row->getCellIterator(); + $cellIterator->setIterateOnlyExistingCells(FALSE); // This loops through all cells, + // even if a cell value is not set. + // By default, only cells that have a value + // set will be iterated. + foreach ($cellIterator as $cell) { + echo '<td>' . + $cell->getValue() . + '</td>' . PHP_EOL; + } + echo '</tr>' . PHP_EOL; +} +echo '</table>' . PHP_EOL; +``` + +Note that we have set the cell iterator's `setIterateOnlyExistingCells()` to FALSE. This makes the iterator loop all cells within the worksheet range, even if they have not been set. + +The cell iterator will return a __NULL__ as the cell value if it is not set in the worksheet. +Setting the cell iterator's setIterateOnlyExistingCells() to FALSE will loop all cells in the worksheet that can be available at that moment. This will create new cells if required and increase memory usage! Only use it if it is intended to loop all cells that are possibly available. + +#### Looping through cells using indexes + +One can use the possibility to access cell values by column and row index like (0,1) instead of 'A1' for reading and writing cell values in loops. + +Note: In PHPExcel column index is 0-based while row index is 1-based. That means 'A1' ~ (0,1) + +Below is an example where we read all the values in a worksheet and display them in a table. + +```php +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objReader->setReadDataOnly(TRUE); +$objPHPExcel = $objReader->load("test.xlsx"); + +$objWorksheet = $objPHPExcel->getActiveSheet(); +// Get the highest row and column numbers referenced in the worksheet +$highestRow = $objWorksheet->getHighestRow(); // e.g. 10 +$highestColumn = $objWorksheet->getHighestColumn(); // e.g 'F' +$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); // e.g. 5 + +echo '<table>' . "\n"; +for ($row = 1; $row <= $highestRow; ++$row) { + echo '<tr>' . PHP_EOL; + for ($col = 0; $col <= $highestColumnIndex; ++$col) { + echo '<td>' . + $objWorksheet->getCellByColumnAndRow($col, $row) + ->getValue() . + '</td>' . PHP_EOL; + } + echo '</tr>' . PHP_EOL; +} +echo '</table>' . PHP_EOL; +``` + +Alternatively, you can take advantage of PHP's "Perl-style" character incrementors to loop through the cells by coordinate: + +```php +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objReader->setReadDataOnly(TRUE); +$objPHPExcel = $objReader->load("test.xlsx"); + +$objWorksheet = $objPHPExcel->getActiveSheet(); +// Get the highest row number and column letter referenced in the worksheet +$highestRow = $objWorksheet->getHighestRow(); // e.g. 10 +$highestColumn = $objWorksheet->getHighestColumn(); // e.g 'F' +// Increment the highest column letter +$highestColumn++; + +echo '<table>' . "\n"; +for ($row = 1; $row <= $highestRow; ++$row) { + echo '<tr>' . PHP_EOL; + for ($col = 'A'; $col != $highestColumn; ++$col) { + echo '<td>' . + $objWorksheet->getCell($col . $row) + ->getValue() . + '</td>' . PHP_EOL; + } + echo '</tr>' . PHP_EOL; +} +echo '</table>' . PHP_EOL; +``` + +Note that we can't use a <= comparison here, because 'AA' would match as <= 'B', so we increment the highest column letter and then loop while $col != the incremented highest column. + +### Using value binders to facilitate data entry + +Internally, PHPExcel uses a default PHPExcel_Cell_IValueBinder implementation (PHPExcel_Cell_DefaultValueBinder) to determine data types of entered data using a cell's `setValue()` method (the `setValueExplicit()` method bypasses this check). + +Optionally, the default behaviour of PHPExcel can be modified, allowing easier data entry. For example, a PHPExcel_Cell_AdvancedValueBinder class is available. It automatically converts percentages, number in scientific format, and dates entered as strings to the correct format, also setting the cell's style information. The following example demonstrates how to set the value binder in PHPExcel: + +```php +/** PHPExcel */ +require_once 'PHPExcel.php'; + +// Set value binder +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + +// Create new PHPExcel object +$objPHPExcel = new PHPExcel(); + +// ... +// Add some data, resembling some different data types +$objPHPExcel->getActiveSheet()->setCellValue('A4', 'Percentage value:'); +// Converts the string value to 0.1 and sets percentage cell style +$objPHPExcel->getActiveSheet()->setCellValue('B4', '10%'); + +$objPHPExcel->getActiveSheet()->setCellValue('A5', 'Date/time value:'); +// Converts the string value to an Excel datestamp and sets the date format cell style +$objPHPExcel->getActiveSheet()->setCellValue('B5', '21 December 1983'); +``` + +__Creating your own value binder is easy.__ +When advanced value binding is required, you can implement the PHPExcel_Cell_IValueBinder interface or extend the PHPExcel_Cell_DefaultValueBinder or PHPExcel_Cell_AdvancedValueBinder classes. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/08-Recipes.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/08-Recipes.md new file mode 100644 index 000000000..b8930a44c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/08-Recipes.md @@ -0,0 +1,1214 @@ +# PHPExcel Developer Documentation + +## PHPExcel recipes + +The following pages offer you some widely-used PHPExcel recipes. Please note that these do NOT offer complete documentation on specific PHPExcel API functions, but just a bump to get you started. If you need specific API functions, please refer to the API documentation. + +For example, REF _Ref191885321 \w \h 4.4.7 REF _Ref191885321 \h Setting a worksheet's page orientation and size covers setting a page orientation to A4. Other paper formats, like US Letter, are not covered in this document, but in the PHPExcel API documentation. + +### Setting a spreadsheet's metadata + +PHPExcel allows an easy way to set a spreadsheet's metadata, using document property accessors. Spreadsheet metadata can be useful for finding a specific document in a file repository or a document management system. For example Microsoft Sharepoint uses document metadata to search for a specific document in its document lists. + +Setting spreadsheet metadata is done as follows: + +```php +$objPHPExcel->getProperties() + ->setCreator("Maarten Balliauw") + ->setLastModifiedBy("Maarten Balliauw"); + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription( + "Test document for Office 2007 XLSX, generated using PHP classes." + ) + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); +``` + +### Setting a spreadsheet's active sheet + +The following line of code sets the active sheet index to the first sheet: + +```php +$objPHPExcel->setActiveSheetIndex(0); +``` + +You can also set the active sheet by its name/title + +```php +$objPHPExcel->setActiveSheetIndexByName('DataSheet') +``` + +will change the currently active sheet to the worksheet called "DataSheet". + +### Write a date or time into a cell + +In Excel, dates and Times are stored as numeric values counting the number of days elapsed since 1900-01-01. For example, the date '2008-12-31' is represented as 39813. You can verify this in Microsoft Office Excel by entering that date in a cell and afterwards changing the number format to 'General' so the true numeric value is revealed. Likewise, '3:15 AM' is represented as 0.135417. + +PHPExcel works with UST (Universal Standard Time) date and Time values, but does no internal conversions; so it is up to the developer to ensure that values passed to the date/time conversion functions are UST. + +Writing a date value in a cell consists of 2 lines of code. Select the method that suits you the best. Here are some examples: + +```php +/* PHPExcel_Cell_AdvanceValueBinder required for this sample */ +require_once 'PHPExcel/Cell/AdvancedValueBinder.php'; + +// MySQL-like timestamp '2008-12-31' or date string +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + +$objPHPExcel->getActiveSheet() + ->setCellValue('D1', '2008-12-31'); + +$objPHPExcel->getActiveSheet()->getStyle('D1') + ->getNumberFormat() + ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); + +// PHP-time (Unix time) +$time = gmmktime(0,0,0,12,31,2008); // int(1230681600) +$objPHPExcel->getActiveSheet() + ->setCellValue('D1', PHPExcel_Shared_Date::PHPToExcel($time)); +$objPHPExcel->getActiveSheet()->getStyle('D1') + ->getNumberFormat() + ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); + +// Excel-date/time +$objPHPExcel->getActiveSheet()->setCellValue('D1', 39813) +$objPHPExcel->getActiveSheet()->getStyle('D1') + ->getNumberFormat() + ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); +``` + +The above methods for entering a date all yield the same result. PHPExcel_Style_NumberFormat provides a lot of pre-defined date formats. + +The PHPExcel_Shared_Date::PHPToExcel() method will also work with a PHP DateTime object. + +Similarly, times (or date and time values) can be entered in the same fashion: just remember to use an appropriate format code. + +__Notes:__ + +See section "Using value binders to facilitate data entry" to learn more about the AdvancedValueBinder used in the first example. +In previous versions of PHPExcel up to and including 1.6.6, when a cell had a date-like number format code, it was possible to enter a date directly using an integer PHP-time without converting to Excel date format. Starting with PHPExcel 1.6.7 this is no longer supported. +Excel can also operate in a 1904-based calendar (default for workbooks saved on Mac). Normally, you do not have to worry about this when using PHPExcel. + +### Write a formula into a cell + +Inside the Excel file, formulas are always stored as they would appear in an English version of Microsoft Office Excel, and PHPExcel handles all formulae internally in this format. This means that the following rules hold: + + - Decimal separator is '.' (period) + - Function argument separator is ',' (comma) + - Matrix row separator is ';' (semicolon) + - English function names must be used + +This is regardless of which language version of Microsoft Office Excel may have been used to create the Excel file. + +When the final workbook is opened by the user, Microsoft Office Excel will take care of displaying the formula according the applications language. Translation is taken care of by the application! + +The following line of code writes the formula '=IF(C4>500,"profit","loss")' into the cell B8. Note that the formula must start with "=" to make PHPExcel recognise this as a formula. + +```php +$objPHPExcel->getActiveSheet()->setCellValue('B8','=IF(C4>500,"profit","loss")'); +``` + +If you want to write a string beginning with an "=" character to a cell, then you should use the setCellValueExplicit() method. + +```php +$objPHPExcel->getActiveSheet() + ->setCellValueExplicit( + 'B8', + '=IF(C4>500,"profit","loss")', + PHPExcel_Cell_DataType::TYPE_STRING + ); +``` + +A cell's formula can be read again using the following line of code: + +```php +$formula = $objPHPExcel->getActiveSheet()->getCell('B8')->getValue(); +``` + +If you need the calculated value of a cell, use the following code. This is further explained in REF _Ref191885372 \w \h \* MERGEFORMAT 4.4.35. + +```php +$value = $objPHPExcel->getActiveSheet()->getCell('B8')->getCalculatedValue(); +``` + +### Locale Settings for Formulae + +Some localisation elements have been included in PHPExcel. You can set a locale by changing the settings. To set the locale to Russian you would use: + +```php +$locale = 'ru'; +$validLocale = PHPExcel_Settings::setLocale($locale); +if (!$validLocale) { + echo 'Unable to set locale to '.$locale." - reverting to en_us<br />\n"; +} +``` + +If Russian language files aren't available, the `setLocale()` method will return an error, and English settings will be used throughout. + +Once you have set a locale, you can translate a formula from its internal English coding. + +```php +$formula = $objPHPExcel->getActiveSheet()->getCell('B8')->getValue(); +$translatedFormula = PHPExcel_Calculation::getInstance()->_translateFormulaToLocale($formula); +``` + +You can also create a formula using the function names and argument separators appropriate to the defined locale; then translate it to English before setting the cell value: + +```php +$formula = '=????360(????(2010;2;5);????(2010;12;31);??????)'; +$internalFormula = PHPExcel_Calculation::getInstance()->translateFormulaToEnglish($formula); +$objPHPExcel->getActiveSheet()->setCellValue('B8',$internalFormula); +``` + +Currently, formula translation only translates the function names, the constants TRUE and FALSE, and the function argument separators. + +At present, the following locale settings are supported: + + Language | | Locale Code + ---------------------|----------------------|------------- + Czech | Ceština | cs + Danish | Dansk | da + German | Deutsch | de + Spanish | Español | es + Finnish | Suomi | fi + French | Français | fr + Hungarian | Magyar | hu + Italian | Italiano | it + Dutch | Nederlands | nl + Norwegian | Norsk | no + Polish | Jezyk polski | pl + Portuguese | Português | pt + Brazilian Portuguese | Português Brasileiro | pt_br + Russian | ??????? ???? | ru + Swedish | Svenska | sv + Turkish | Türkçe | tr + +### Write a newline character "\n" in a cell (ALT+"Enter") + +In Microsoft Office Excel you get a line break in a cell by hitting ALT+"Enter". When you do that, it automatically turns on "wrap text" for the cell. + +Here is how to achieve this in PHPExcel: + +```php +$objPHPExcel->getActiveSheet()->getCell('A1')->setValue("hello\nworld"); +$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true); +``` + +__Tip__ + +Read more about formatting cells using getStyle() elsewhere. + +__Tip__ + +AdvancedValuebinder.php automatically turns on "wrap text" for the cell when it sees a newline character in a string that you are inserting in a cell. Just like Microsoft Office Excel. Try this: + +```php +require_once 'PHPExcel/Cell/AdvancedValueBinder.php'; +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + +$objPHPExcel->getActiveSheet()->getCell('A1')->setValue("hello\nworld"); +``` + +Read more about AdvancedValueBinder.php elsewhere. + +### Explicitly set a cell's datatype + +You can set a cell's datatype explicitly by using the cell's setValueExplicit method, or the setCellValueExplicit method of a worksheet. Here's an example: + +```php +$objPHPExcel->getActiveSheet()->getCell('A1') + ->setValueExplicit( + '25', + PHPExcel_Cell_DataType::TYPE_NUMERIC + ); +``` + +### Change a cell into a clickable URL + +You can make a cell a clickable URL by setting its hyperlink property: + +```php +$objPHPExcel->getActiveSheet()->setCellValue('E26', 'www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl('http://www.phpexcel.net'); +``` + +If you want to make a hyperlink to another worksheet/cell, use the following code: + +```php +$objPHPExcel->getActiveSheet()->setCellValue('E26', 'www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl("sheet://'Sheetname'!A1"); +``` + +### Setting Printer Options for Excel files + +#### Setting a worksheet's page orientation and size + +Setting a worksheet's page orientation and size can be done using the following lines of code: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup() + ->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); +$objPHPExcel->getActiveSheet()->getPageSetup() + ->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4); +``` + +Note that there are additional page settings available. Please refer to the API documentation for all possible options. + +#### Page Setup: Scaling options + +The page setup scaling options in PHPExcel relate directly to the scaling options in the "Page Setup" dialog as shown in the illustration. + +Default values in PHPExcel correspond to default values in MS Office Excel as shown in illustration + +![08-page-setup-scaling-options.png](./images/08-page-setup-scaling-options.png "") + + method | initial value | calling method will trigger | Note + --------------------|:-------------:|-----------------------------|------ + setFitToPage(...) | FALSE | - | + setScale(...) | 100 | setFitToPage(FALSE) | + setFitToWidth(...) | 1 | setFitToPage(TRUE) | value 0 means do-not-fit-to-width + setFitToHeight(...) | 1 | setFitToPage(TRUE) | value 0 means do-not-fit-to-height + +##### Example + +Here is how to fit to 1 page wide by infinite pages tall: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1); +$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(0); +``` + +As you can see, it is not necessary to call setFitToPage(TRUE) since setFitToWidth(...) and setFitToHeight(...) triggers this. + +If you use setFitToWidth() you should in general also specify setFitToHeight() explicitly like in the example. Be careful relying on the initial values. This is especially true if you are upgrading from PHPExcel 1.7.0 to 1.7.1 where the default values for fit-to-height and fit-to-width changed from 0 to 1. + +#### Page margins + +To set page margins for a worksheet, use this code: + +```php +$objPHPExcel->getActiveSheet()->getPageMargins()->setTop(1); +$objPHPExcel->getActiveSheet()->getPageMargins()->setRight(0.75); +$objPHPExcel->getActiveSheet()->getPageMargins()->setLeft(0.75); +$objPHPExcel->getActiveSheet()->getPageMargins()->setBottom(1); +``` + +Note that the margin values are specified in inches. + +![08-page-setup-margins.png](./images/08-page-setup-margins.png "") + +#### Center a page horizontally/vertically + +To center a page horizontally/vertically, you can use the following code: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup()->setHorizontalCentered(true); +$objPHPExcel->getActiveSheet()->getPageSetup()->setVerticalCentered(false); +``` + +#### Setting the print header and footer of a worksheet + +Setting a worksheet's print header and footer can be done using the following lines of code: + +```php +$objPHPExcel->getActiveSheet()->getHeaderFooter() + ->setOddHeader('&C&HPlease treat this document as confidential!'); +$objPHPExcel->getActiveSheet()->getHeaderFooter() + ->setOddFooter('&L&B' . $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N'); +``` + +Substitution and formatting codes (starting with &) can be used inside headers and footers. There is no required order in which these codes must appear. + +The first occurrence of the following codes turns the formatting ON, the second occurrence turns it OFF again: + + - Strikethrough + - Superscript + - Subscript + +Superscript and subscript cannot both be ON at same time. Whichever comes first wins and the other is ignored, while the first is ON. + +The following codes are supported by Excel2007: + +Code | Meaning +-----------------------|----------- +&L | Code for "left section" (there are three header / footer locations, "left", "center", and "right"). When two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the order of appearance, and placed into the left section. +&P | Code for "current page #" +&N | Code for "total pages" +&font size | Code for "text font size", where font size is a font size in points. +&K | Code for "text font color" - RGB Color is specified as RRGGBB Theme Color is specifed as TTSNN where TT is the theme color Id, S is either "+" or "-" of the tint/shade value, NN is the tint/shade value. +&S | Code for "text strikethrough" on / off +&X | Code for "text super script" on / off +&Y | Code for "text subscript" on / off +&C | Code for "center section". When two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the order of appearance, and placed into the center section. +&D | Code for "date" +&T | Code for "time" +&G | Code for "picture as background" - Please make sure to add the image to the header/footer[^print-footer-image-footnote] +&U | Code for "text single underline" +&E | Code for "double underline" +&R | Code for "right section". When two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the order of appearance, and placed into the right section. +&Z | Code for "this workbook's file path" +&F | Code for "this workbook's file name" +&A | Code for "sheet tab name" +&+ | Code for add to page # +&- | Code for subtract from page # +&"font name,font type" | Code for "text font name" and "text font type", where font name and font type are strings specifying the name and type of the font, separated by a comma. When a hyphen appears in font name, it means "none specified". Both of font name and font type can be localized values. +&"-,Bold" | Code for "bold font style" +&B | Code for "bold font style" +&"-,Regular" | Code for "regular font style" +&"-,Italic" | Code for "italic font style" +&I | Code for "italic font style" +&"-,Bold Italic" | Code for "bold italic font style" +&O | Code for "outline style" +&H | Code for "shadow style" + + [^print-footer-image-footnote]: z +```php +$objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing(); +$objDrawing->setName('PHPExcel logo'); +$objDrawing->setPath('./images/phpexcel_logo.gif'); +$objDrawing->setHeight(36); +$objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT); +``` + +__Tip__ + +The above table of codes may seem overwhelming first time you are trying to figure out how to write some header or footer. Luckily, there is an easier way. Let Microsoft Office Excel do the work for you.For example, create in Microsoft Office Excel an xlsx file where you insert the header and footer as desired using the programs own interface. Save file as test.xlsx. Now, take that file and read off the values using PHPExcel as follows: + +```php +$objPHPexcel = PHPExcel_IOFactory::load('test.xlsx'); +$objWorksheet = $objPHPexcel->getActiveSheet(); + +var_dump($objWorksheet->getHeaderFooter()->getOddFooter()); +var_dump($objWorksheet->getHeaderFooter()->getEvenFooter()); +var_dump($objWorksheet->getHeaderFooter()->getOddHeader()); +var_dump($objWorksheet->getHeaderFooter()->getEvenHeader()); +``` + +That reveals the codes for the even/odd header and footer. Experienced users may find it easier to rename test.xlsx to test.zip, unzip it, and inspect directly the contents of the relevant xl/worksheets/sheetX.xml to find the codes for header/footer. + +#### Setting printing breaks on a row or column + +To set a print break, use the following code, which sets a row break on row 10. + +```php +$objPHPExcel->getActiveSheet()->setBreak( 'A10' , PHPExcel_Worksheet::BREAK_ROW ); +``` + +The following line of code sets a print break on column D: + +```php +$objPHPExcel->getActiveSheet()->setBreak( 'D10' , PHPExcel_Worksheet::BREAK_COLUMN ); +``` + +#### Show/hide gridlines when printing + +To show/hide gridlines when printing, use the following code: + +$objPHPExcel->getActiveSheet()->setShowGridlines(true); + +#### Setting rows/columns to repeat at top/left + +PHPExcel can repeat specific rows/cells at top/left of a page. The following code is an example of how to repeat row 1 to 5 on each printed page of a specific worksheet: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 5); +``` + +#### Specify printing area + +To specify a worksheet's printing area, use the following code: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup()->setPrintArea('A1:E5'); +``` + +There can also be multiple printing areas in a single worksheet: + +```php +$objPHPExcel->getActiveSheet()->getPageSetup()->setPrintArea('A1:E5,G4:M20'); +``` + +### Styles + +#### Formatting cells + +A cell can be formatted with font, border, fill, ... style information. For example, one can set the foreground colour of a cell to red, aligned to the right, and the border to black and thick border style. Let's do that on cell B2: + +```php +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THICK); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID); +$objPHPExcel->getActiveSheet()->getStyle('B2') + ->getFill()->getStartColor()->setARGB('FFFF0000'); +``` + +Starting with PHPExcel 1.7.0 getStyle() also accepts a cell range as a parameter. For example, you can set a red background color on a range of cells: + +```php +$objPHPExcel->getActiveSheet()->getStyle('B3:B7')->getFill() + ->setFillType(PHPExcel_Style_Fill::FILL_SOLID) + ->getStartColor()->setARGB('FFFF0000'); +``` + +__Tip__ +It is recommended to style many cells at once, using e.g. getStyle('A1:M500'), rather than styling the cells individually in a loop. This is much faster compared to looping through cells and styling them individually. + +There is also an alternative manner to set styles. The following code sets a cell's style to font bold, alignment right, top border thin and a gradient fill: + +```php +$styleArray = array( + 'font' => array( + 'bold' => true, + ), + 'alignment' => array( + 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT, + ), + 'borders' => array( + 'top' => array( + 'style' => PHPExcel_Style_Border::BORDER_THIN, + ), + ), + 'fill' => array( + 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR, + 'rotation' => 90, + 'startcolor' => array( + 'argb' => 'FFA0A0A0', + ), + 'endcolor' => array( + 'argb' => 'FFFFFFFF', + ), + ), +); + +$objPHPExcel->getActiveSheet()->getStyle('A3')->applyFromArray($styleArray); +``` + +Or with a range of cells: + +```php +$objPHPExcel->getActiveSheet()->getStyle('B3:B7')->applyFromArray($styleArray); +``` + +This alternative method using arrays should be faster in terms of execution whenever you are setting more than one style property. But the difference may barely be measurable unless you have many different styles in your workbook. + +Prior to PHPExcel 1.7.0 duplicateStyleArray() was the recommended method for styling a cell range, but this method has now been deprecated since getStyle() has started to accept a cell range. + +#### Number formats + +You often want to format numbers in Excel. For example you may want a thousands separator plus a fixed number of decimals after the decimal separator. Or perhaps you want some numbers to be zero-padded. + +In Microsoft Office Excel you may be familiar with selecting a number format from the "Format Cells" dialog. Here there are some predefined number formats available including some for dates. The dialog is designed in a way so you don't have to interact with the underlying raw number format code unless you need a custom number format. + +In PHPExcel, you can also apply various predefined number formats. Example: + +```php +$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat() + ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1); +``` + +This will format a number e.g. 1587.2 so it shows up as 1,587.20 when you open the workbook in MS Office Excel. (Depending on settings for decimal and thousands separators in Microsoft Office Excel it may show up as 1.587,20) + +You can achieve exactly the same as the above by using this: + +```php +$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat() + ->setFormatCode('#,##0.00'); +``` + +In Microsoft Office Excel, as well as in PHPExcel, you will have to interact with raw number format codes whenever you need some special custom number format. Example: + +```php +$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat() + ->setFormatCode('[Blue][>=3000]$#,##0;[Red][<0]$#,##0;$#,##0'); +``` + +Another example is when you want numbers zero-padded with leading zeros to a fixed length: + +```php +$objPHPExcel->getActiveSheet()->getCell('A1')->setValue(19); +$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat() + ->setFormatCode('0000'); // will show as 0019 in Excel +``` + +__Tip__ +The rules for composing a number format code in Excel can be rather complicated. Sometimes you know how to create some number format in Microsoft Office Excel, but don't know what the underlying number format code looks like. How do you find it? + +The readers shipped with PHPExcel come to the rescue. Load your template workbook using e.g. Excel2007 reader to reveal the number format code. Example how read a number format code for cell A1: + +```php +$objReader = PHPExcel_IOFactory::createReader('Excel2007'); +$objPHPExcel = $objReader->load('template.xlsx'); +var_dump($objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->getFormatCode()); +``` + +Advanced users may find it faster to inspect the number format code directly by renaming template.xlsx to template.zip, unzipping, and looking for the relevant piece of XML code holding the number format code in *xl/styles.xml*. + +#### Alignment and wrap text + +Let's set vertical alignment to the top for cells A1:D4 + +```php +$objPHPExcel->getActiveSheet()->getStyle('A1:D4') + ->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP); +``` + +Here is how to achieve wrap text: + +```php +$objPHPExcel->getActiveSheet()->getStyle('A1:D4') + ->getAlignment()->setWrapText(true); +``` + +#### Setting the default style of a workbook + +It is possible to set the default style of a workbook. Let's set the default font to Arial size 8: + +```php +$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial'); +$objPHPExcel->getDefaultStyle()->getFont()->setSize(8); +``` + +#### Styling cell borders + +In PHPExcel it is easy to apply various borders on a rectangular selection. Here is how to apply a thick red border outline around cells B2:G8. + +```php +$styleArray = array( + 'borders' => array( + 'outline' => array( + 'style' => PHPExcel_Style_Border::BORDER_THICK, + 'color' => array('argb' => 'FFFF0000'), + ), + ), +); + +$objWorksheet->getStyle('B2:G8')->applyFromArray($styleArray); +``` + +In Microsoft Office Excel, the above operation would correspond to selecting the cells B2:G8, launching the style dialog, choosing a thick red border, and clicking on the "Outline" border component. + +Note that the border outline is applied to the rectangular selection B2:G8 as a whole, not on each cell individually. + +You can achieve any border effect by using just the 5 basic borders and operating on a single cell at a time: + + Array key | Maps to property + ----------|------------------ + left | getLeft() + right | getRight() + top | getTop() + bottom | getBottom() + diagonal | getDiagonal() + +Additional shortcut borders come in handy like in the example above. These are the shortcut borders available: + + Array key | Maps to property + -----------|------------------ + allborders | getAllBorders() + outline | getOutline() + inside | getInside() + vertical | getVertical() + horizontal | getHorizontal() + + + +An overview of all border shortcuts can be seen in the following image: + +![08-styling-border-options.png](./images/08-styling-border-options.png "") + +If you simultaneously set e.g. allborders and vertical, then we have "overlapping" borders, and one of the components has to win over the other where there is border overlap. In PHPExcel, from weakest to strongest borders, the list is as follows: allborders, outline/inside, vertical/horizontal, left/right/top/bottom/diagonal. + +This border hierarchy can be utilized to achieve various effects in an easy manner. + +### Conditional formatting a cell + +A cell can be formatted conditionally, based on a specific rule. For example, one can set the foreground colour of a cell to red if its value is below zero, and to green if its value is zero or more. + +One can set a conditional style ruleset to a cell using the following code: + +```php +$objConditional1 = new PHPExcel_Style_Conditional(); +$objConditional1->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS); +$objConditional1->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_LESSTHAN); +$objConditional1->addCondition('0'); +$objConditional1->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); +$objConditional1->getStyle()->getFont()->setBold(true); + +$objConditional2 = new PHPExcel_Style_Conditional(); +$objConditional2->setConditionType(PHPExcel_Style_Conditional::CONDITION_CELLIS); +$objConditional2->setOperatorType(PHPExcel_Style_Conditional::OPERATOR_GREATERTHANOREQUAL); +$objConditional2->addCondition('0'); +$objConditional2->getStyle()->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_GREEN); +$objConditional2->getStyle()->getFont()->setBold(true); + +$conditionalStyles = $objPHPExcel->getActiveSheet()->getStyle('B2')->getConditionalStyles(); +array_push($conditionalStyles, $objConditional1); +array_push($conditionalStyles, $objConditional2); + +$objPHPExcel->getActiveSheet()->getStyle('B2')->setConditionalStyles($conditionalStyles); +``` + +If you want to copy the ruleset to other cells, you can duplicate the style object: + +```php +$objPHPExcel->getActiveSheet() + ->duplicateStyle( + $objPHPExcel->getActiveSheet()->getStyle('B2'), + 'B3:B7' + ); +``` + +### Add a comment to a cell + +To add a comment to a cell, use the following code. The example below adds a comment to cell E11: + +```php +$objPHPExcel->getActiveSheet() + ->getComment('E11') + ->setAuthor('Mark Baker'); +$objCommentRichText = $objPHPExcel->getActiveSheet() + ->getComment('E11') + ->getText()->createTextRun('PHPExcel:'); +$objCommentRichText->getFont()->setBold(true); +$objPHPExcel->getActiveSheet() + ->getComment('E11') + ->getText()->createTextRun("\r\n"); +$objPHPExcel->getActiveSheet() + ->getComment('E11') + ->getText()->createTextRun('Total amount on the current invoice, excluding VAT.'); +``` + +![08-cell-comment.png](./images/08-cell-comment.png "") + +### Apply autofilter to a range of cells + +To apply an autofilter to a range of cells, use the following code: + +```php +$objPHPExcel->getActiveSheet()->setAutoFilter('A1:C9'); +``` + +__Make sure that you always include the complete filter range!__ +Excel does support setting only the captionrow, but that's __not__ a best practice... + +### Setting security on a spreadsheet + +Excel offers 3 levels of "protection": document security, sheet security and cell security. + +Document security allows you to set a password on a complete spreadsheet, allowing changes to be made only when that password is entered.Worksheet security offers other security options: you can disallow inserting rows on a specific sheet, disallow sorting, ... Cell security offers the option to lock/unlock a cell as well as show/hide the internal formulaAn example on setting document security: + +```php +$objPHPExcel->getSecurity()->setLockWindows(true); +$objPHPExcel->getSecurity()->setLockStructure(true); +$objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel"); +``` + +An example on setting worksheet security: + +```php +$objPHPExcel->getActiveSheet() + ->getProtection()->setPassword('PHPExcel'); +$objPHPExcel->getActiveSheet() + ->getProtection()->setSheet(true); +$objPHPExcel->getActiveSheet() + ->getProtection()->setSort(true); +$objPHPExcel->getActiveSheet() + ->getProtection()->setInsertRows(true); +$objPHPExcel->getActiveSheet() + ->getProtection()->setFormatCells(true); +``` + +An example on setting cell security: + +```php +$objPHPExcel->getActiveSheet()->getStyle('B1') + ->getProtection() + ->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); +``` + +__Make sure you enable worksheet protection if you need any of the worksheet protection features!__ This can be done using the following code: + +```php +$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); +``` + +### Setting data validation on a cell + +Data validation is a powerful feature of Excel2007. It allows to specify an input filter on the data that can be inserted in a specific cell. This filter can be a range (i.e. value must be between 0 and 10), a list (i.e. value must be picked from a list), ... + +The following piece of code only allows numbers between 10 and 20 to be entered in cell B3: + +```php +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B3') + ->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_WHOLE ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Number is not allowed!'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Only numbers between 10 and 20 are allowed.'); +$objValidation->setFormula1(10); +$objValidation->setFormula2(20); +``` + +This validation will limit the length of text that can be entered in a cell to 6 characters. + +``` +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B9')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Text exceeds maximum length'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Maximum text length is 6 characters.'); +$objValidation->setFormula1(6); +``` + +The following piece of code only allows an item picked from a list of data to be entered in cell B3: + +```php +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B5') + ->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_LIST ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_INFORMATION ); +$objValidation->setAllowBlank(false); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setShowDropDown(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Value is not in list.'); +$objValidation->setPromptTitle('Pick from list'); +$objValidation->setPrompt('Please pick a value from the drop-down list.'); +$objValidation->setFormula1('"Item A,Item B,Item C"'); +``` + +When using a data validation list like above, make sure you put the list between " and " and that you split the items with a comma (,). + +It is important to remember that any string participating in an Excel formula is allowed to be maximum 255 characters (not bytes). This sets a limit on how many items you can have in the string "Item A,Item B,Item C". Therefore it is normally a better idea to type the item values directly in some cell range, say A1:A3, and instead use, say, $objValidation->setFormula1('Sheet!$A$1:$A$3');. Another benefit is that the item values themselves can contain the comma "," character itself. + +If you need data validation on multiple cells, one can clone the ruleset: + +```php +$objPHPExcel->getActiveSheet()->getCell('B8')->setDataValidation(clone $objValidation); +``` + +### Setting a column's width + +A column's width can be set using the following code: + +```php +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12); +``` + +If you want PHPExcel to perform an automatic width calculation, use the following code. PHPExcel will approximate the column with to the width of the widest column value. + +```php +$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); +``` + +![08-column-width.png](./images/08-column-width.png "") + +The measure for column width in PHPExcel does __not__ correspond exactly to the measure you may be used to in Microsoft Office Excel. Column widths are difficult to deal with in Excel, and there are several measures for the column width.1) __Inner width in character units__ (e.g. 8.43 this is probably what you are familiar with in Excel)2) __Full width in pixels__ (e.g. 64 pixels)3) __Full width in character units__ (e.g. 9.140625, value -1 indicates unset width)__PHPExcel always operates with 3) "Full width in character units"__ which is in fact the only value that is stored in any Excel file, hence the most reliable measure. Unfortunately, __Microsoft ____Office ____Excel does not present you with this ____measure__. Instead measures 1) and 2) are computed by the application when the file is opened and these values are presented in various dialogues and tool tips.The character width unit is the width of a '0' (zero) glyph in the workbooks default font. Therefore column widths measured in character units in two different workbooks can only be compared if they have the same default workbook font.If you have some Excel file and need to know the column widths in measure 3), you can read the Excel file with PHPExcel and echo the retrieved values. + +### Show/hide a column + +To set a worksheet's column visibility, you can use the following code. The first line explicitly shows the column C, the second line hides column D. + +```php +$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setVisible(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setVisible(false); +``` + +### Group/outline a column + +To group/outline a column, you can use the following code: + +```php +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1); +``` + +You can also collapse the column. Note that you should also set the column invisible, otherwise the collapse will not be visible in Excel 2007. + +```php +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setCollapsed(true); +$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setVisible(false); +``` + +Please refer to the section "group/outline a row" for a complete example on collapsing. + +You can instruct PHPExcel to add a summary to the right (default), or to the left. The following code adds the summary to the left: + +```php +$objPHPExcel->getActiveSheet()->setShowSummaryRight(false); +``` + +### Setting a row's height + +A row's height can be set using the following code: + +```php +$objPHPExcel->getActiveSheet()->getRowDimension('10')->setRowHeight(100); +``` + +Excel measures row height in points, where 1 pt is 1/72 of an inch (or about 0.35mm). The default value is 12.75 pts; and the permitted range of values is between 0 and 409 pts, where 0 pts is a hidden row. + +### Show/hide a row + +To set a worksheet''s row visibility, you can use the following code. The following example hides row number 10. + +```php +$objPHPExcel->getActiveSheet()->getRowDimension('10')->setVisible(false); +``` + +Note that if you apply active filters using an AutoFilter, then this will override any rows that you hide or unhide manually within that AutoFilter range if you save the file. + +### Group/outline a row + +To group/outline a row, you can use the following code: + +```php +$objPHPExcel->getActiveSheet()->getRowDimension('5')->setOutlineLevel(1); +``` + +You can also collapse the row. Note that you should also set the row invisible, otherwise the collapse will not be visible in Excel 2007. + +```php +$objPHPExcel->getActiveSheet()->getRowDimension('5')->setCollapsed(true); +$objPHPExcel->getActiveSheet()->getRowDimension('5')->setVisible(false); +``` + +Here's an example which collapses rows 50 to 80: + +```php +for ($i = 51; $i <= 80; $i++) { + $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i"); + $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, "LName $i"); + $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, "PhoneNo $i"); + $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, "FaxNo $i"); + $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, true); + $objPHPExcel->getActiveSheet()->getRowDimension($i)->setOutlineLevel(1); + $objPHPExcel->getActiveSheet()->getRowDimension($i)->setVisible(false); +} + +$objPHPExcel->getActiveSheet()->getRowDimension(81)->setCollapsed(true); +``` + +You can instruct PHPExcel to add a summary below the collapsible rows (default), or above. The following code adds the summary above: + +```php +$objPHPExcel->getActiveSheet()->setShowSummaryBelow(false); +``` + +### Merge/unmerge cells + +If you have a big piece of data you want to display in a worksheet, you can merge two or more cells together, to become one cell. This can be done using the following code: + +```php +$objPHPExcel->getActiveSheet()->mergeCells('A18:E22'); +``` + +Removing a merge can be done using the unmergeCells method: + +```php +$objPHPExcel->getActiveSheet()->unmergeCells('A18:E22'); +``` + +### Inserting rows/columns + +You can insert/remove rows/columns at a specific position. The following code inserts 2 new rows, right before row 7: + +```php +$objPHPExcel->getActiveSheet()->insertNewRowBefore(7, 2); +``` + +### Add a drawing to a worksheet + +A drawing is always represented as a separate object, which can be added to a worksheet. Therefore, you must first instantiate a new PHPExcel_Worksheet_Drawing, and assign its properties a meaningful value: + +```php +$objDrawing = new PHPExcel_Worksheet_Drawing(); +$objDrawing->setName('Logo'); +$objDrawing->setDescription('Logo'); +$objDrawing->setPath('./images/officelogo.jpg'); +$objDrawing->setHeight(36); +``` + +To add the above drawing to the worksheet, use the following snippet of code. PHPExcel creates the link between the drawing and the worksheet: + +```php +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); +``` + +You can set numerous properties on a drawing, here are some examples: + +```php +$objDrawing->setName('Paid'); +$objDrawing->setDescription('Paid'); +$objDrawing->setPath('./images/paid.png'); +$objDrawing->setCoordinates('B15'); +$objDrawing->setOffsetX(110); +$objDrawing->setRotation(25); +$objDrawing->getShadow()->setVisible(true); +$objDrawing->getShadow()->setDirection(45); +``` + +You can also add images created using GD functions without needing to save them to disk first as In-Memory drawings. + +```php +// Use GD to create an in-memory image +$gdImage = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream'); +$textColor = imagecolorallocate($gdImage, 255, 255, 255); +imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor); + +// Add the In-Memory image to a worksheet +$objDrawing = new PHPExcel_Worksheet_MemoryDrawing(); +$objDrawing->setName('In-Memory image 1'); +$objDrawing->setDescription('In-Memory image 1'); +$objDrawing->setCoordinates('A1'); +$objDrawing->setImageResource($gdImage); +$objDrawing->setRenderingFunction( + PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG +); +$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); +$objDrawing->setHeight(36); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); +``` + +### Reading Images from a worksheet + +A commonly asked question is how to retrieve the images from a workbook that has been loaded, and save them as individual image files to disk. + +The following code extracts images from the current active worksheet, and writes each as a separate file. + +```php +$i = 0; +foreach ($objPHPExcel->getActiveSheet()->getDrawingCollection() as $drawing) { + if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) { + ob_start(); + call_user_func( + $drawing->getRenderingFunction(), + $drawing->getImageResource() + ); + $imageContents = ob_get_contents(); + ob_end_clean(); + switch ($drawing->getMimeType()) { + case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG : + $extension = 'png'; + break; + case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_GIF: + $extension = 'gif'; + break; + case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG : + $extension = 'jpg'; + break; + } + } else { + $zipReader = fopen($drawing->getPath(),'r'); + $imageContents = ''; + while (!feof($zipReader)) { + $imageContents .= fread($zipReader,1024); + } + fclose($zipReader); + $extension = $drawing->getExtension(); + } + $myFileName = '00_Image_'.++$i.'.'.$extension; + file_put_contents($myFileName,$imageContents); +} +``` + +### Add rich text to a cell + +Adding rich text to a cell can be done using PHPExcel_RichText instances. Here''s an example, which creates the following rich text string: + + > This invoice is *__payable within thirty days after the end of the month__* unless specified otherwise on the invoice. + +```php +$objRichText = new PHPExcel_RichText(); +$objRichText->createText('This invoice is '); +$objPayable = $objRichText->createTextRun('payable within thirty days after the end of the month'); +$objPayable->getFont()->setBold(true); +$objPayable->getFont()->setItalic(true); +$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_DARKGREEN ) ); +$objRichText->createText(', unless specified otherwise on the invoice.'); +$objPHPExcel->getActiveSheet()->getCell('A18')->setValue($objRichText); +``` + +### Define a named range + +PHPExcel supports the definition of named ranges. These can be defined using the following code: + +```php +// Add some data +$objPHPExcel->setActiveSheetIndex(0); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Firstname:'); +$objPHPExcel->getActiveSheet()->setCellValue('A2', 'Lastname:'); +$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Maarten'); +$objPHPExcel->getActiveSheet()->setCellValue('B2', 'Balliauw'); + +// Define named ranges +$objPHPExcel->addNamedRange( new PHPExcel_NamedRange('PersonFN', $objPHPExcel->getActiveSheet(), 'B1') ); +$objPHPExcel->addNamedRange( new PHPExcel_NamedRange('PersonLN', $objPHPExcel->getActiveSheet(), 'B2') ); +``` + +Optionally, a fourth parameter can be passed defining the named range local (i.e. only usable on the current worksheet). Named ranges are global by default. + +### Redirect output to a client's web browser + +Sometimes, one really wants to output a file to a client''s browser, especially when creating spreadsheets on-the-fly. There are some easy steps that can be followed to do this: + + 1. Create your PHPExcel spreadsheet + 2. Output HTTP headers for the type of document you wish to output + 3. Use the PHPExcel_Writer_* of your choice, and save to "php://output" + +PHPExcel_Writer_Excel2007 uses temporary storage when writing to php://output. By default, temporary files are stored in the script's working directory. When there is no access, it falls back to the operating system's temporary files location. + +__This may not be safe for unauthorized viewing!__ +Depending on the configuration of your operating system, temporary storage can be read by anyone using the same temporary storage folder. When confidentiality of your document is needed, it is recommended not to use php://output. + +#### HTTP headers + +Example of a script redirecting an Excel 2007 file to the client's browser: + +```php +/* Here there will be some code where you create $objPHPExcel */ + +// redirect output to client browser +header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); +header('Content-Disposition: attachment;filename="myfile.xlsx"'); +header('Cache-Control: max-age=0'); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); +$objWriter->save('php://output'); +``` + +Example of a script redirecting an Excel5 file to the client's browser: + +```php +/* Here there will be some code where you create $objPHPExcel */ + +// redirect output to client browser +header('Content-Type: application/vnd.ms-excel'); +header('Content-Disposition: attachment;filename="myfile.xls"'); +header('Cache-Control: max-age=0'); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save('php://output'); +``` + +**Caution:** + +Make sure not to include any echo statements or output any other contents than the Excel file. There should be no whitespace before the opening <?php tag and at most one line break after the closing ?> tag (which can also be omitted to avoid problems). Make sure that your script is saved without a BOM (Byte-order mark) because this counts as echoing output. The same things apply to all included files. +Failing to follow the above guidelines may result in corrupt Excel files arriving at the client browser, and/or that headers cannot be set by PHP (resulting in warning messages). + +### Setting the default column width + +Default column width can be set using the following code: + +```php +$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(12); +``` + +### Setting the default row height + +Default row height can be set using the following code: + +```php +$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15); +``` + +### Add a GD drawing to a worksheet + +There might be a situation where you want to generate an in-memory image using GD and add it to a PHPExcel worksheet without first having to save this file to a temporary location. + +Here''s an example which generates an image in memory and adds it to the active worksheet: + +```php +// Generate an image +$gdImage = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream'); +$textColor = imagecolorallocate($gdImage, 255, 255, 255); +imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel', $textColor); + +// Add a drawing to the worksheet +$objDrawing = new PHPExcel_Worksheet_MemoryDrawing(); +$objDrawing->setName('Sample image'); +$objDrawing->setDescription('Sample image'); +$objDrawing->setImageResource($gdImage); +$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); +$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); +$objDrawing->setHeight(36); +$objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); +``` + +### Setting worksheet zoom level + +To set a worksheet's zoom level, the following code can be used: + +```php +$objPHPExcel->getActiveSheet()->getSheetView()->setZoomScale(75); +``` + +Note that zoom level should be in range 10 – 400. + +### Sheet tab color + +Sometimes you want to set a color for sheet tab. For example you can have a red sheet tab: + +```php +$objWorksheet->getTabColor()->setRGB('FF0000'); +``` + +### Creating worksheets in a workbook + +If you need to create more worksheets in the workbook, here is how: + +```php +$objWorksheet1 = $objPHPExcel->createSheet(); +$objWorksheet1->setTitle('Another sheet'); +``` + +Think of createSheet() as the "Insert sheet" button in Excel. When you hit that button a new sheet is appended to the existing collection of worksheets in the workbook. + +### Hidden worksheets (Sheet states) + +Set a worksheet to be __hidden__ using this code: + +```php +$objPHPExcel->getActiveSheet() + ->setSheetState(PHPExcel_Worksheet::SHEETSTATE_HIDDEN); +``` + +Sometimes you may even want the worksheet to be __"very hidden"__. The available sheet states are : + + - PHPExcel_Worksheet::SHEETSTATE_VISIBLE + - PHPExcel_Worksheet::SHEETSTATE_HIDDEN + - PHPExcel_Worksheet::SHEETSTATE_VERYHIDDEN + +In Excel the sheet state "very hidden" can only be set programmatically, e.g. with Visual Basic Macro. It is not possible to make such a sheet visible via the user interface. + +### Right-to-left worksheet + +Worksheets can be set individually whether column "A" should start at left or right side. Default is left. Here is how to set columns from right-to-left. + +```php +// right-to-left worksheet +$objPHPExcel->getActiveSheet() + ->setRightToLeft(true); +``` + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/09-Calculation-Engine.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/09-Calculation-Engine.md new file mode 100644 index 000000000..c13a18c6c --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/09-Calculation-Engine.md @@ -0,0 +1,52 @@ +# PHPExcel Developer Documentation + +## Using the PHPExcel calculation engine + +### Performing formula calculations + +As PHPExcel represents an in-memory spreadsheet, it also offers formula calculation capabilities. A cell can be of a value type (containing a number or text), or a formula type (containing a formula which can be evaluated). For example, the formula "=SUM(A1:A10)" evaluates to the sum of values in A1, A2, ..., A10. + +To calculate a formula, you can call the cell containing the formula’s method getCalculatedValue(), for example: + +```php +$objPHPExcel->getActiveSheet()->getCell('E11')->getCalculatedValue(); +``` +If you write the following line of code in the invoice demo included with PHPExcel, it evaluates to the value "64": + +![09-command-line-calculation.png](./images/09-command-line-calculation.png "") + +Another nice feature of PHPExcel's formula parser, is that it can automatically adjust a formula when inserting/removing rows/columns. Here's an example: + +![09-formula-in-cell-1.png](./images/09-formula-in-cell-1.png "") + +You see that the formula contained in cell E11 is "SUM(E4:E9)". Now, when I write the following line of code, two new product lines are added: + +```php +$objPHPExcel->getActiveSheet()->insertNewRowBefore(7, 2); +``` + +![09-formula-in-cell-2.png](./images/09-formula-in-cell-2.png "") + +Did you notice? The formula in the former cell E11 (now E13, as I inserted 2 new rows), changed to "SUM(E4:E11)". Also, the inserted cells duplicate style information of the previous cell, just like Excel's behaviour. Note that you can both insert rows and columns. + +### Known limitations + +There are some known limitations to the PHPExcel calculation engine. Most of them are due to the fact that an Excel formula is converted into PHP code before being executed. This means that Excel formula calculation is subject to PHP's language characteristics. + +#### Operator precedence + +In Excel '+' wins over '&', just like '*' wins over '+' in ordinary algebra. The former rule is not what one finds using the calculation engine shipped with PHPExcel. + +Reference for operator precedence in Excel: [http://support.microsoft.com/kb/25189][18] + +Reference for operator precedence in PHP: [http://www.php.net/operators][19] + +#### Formulas involving numbers and text + +Formulas involving numbers and text may produce unexpected results or even unreadable file contents. For example, the formula '=3+"Hello "' is expected to produce an error in Excel (#VALUE!). Due to the fact that PHP converts “Hello” to a numeric value (zero), the result of this formula is evaluated as 3 instead of evaluating as an error. This also causes the Excel document being generated as containing unreadable content. + +Reference for this behaviour in PHP: [http://be.php.net/manual/en/language.types.string.php#language.types.string.conversion][20] + + [18]: http://support.microsoft.com/kb/25189 + [19]: http://www.php.net/operators + [20]: http://be.php.net/manual/en/language.types.string.php#language.types.string.conversion diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/10-Reading-and-Writing.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/10-Reading-and-Writing.md new file mode 100644 index 000000000..1468abc7e --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/10-Reading-and-Writing.md @@ -0,0 +1,714 @@ +# PHPExcel Developer Documentation + +## Reading and writing to file + +As you already know from part REF _Ref191885438 \w \h 3.3 REF _Ref191885438 \h Readers and writers, reading and writing to a persisted storage is not possible using the base PHPExcel classes. For this purpose, PHPExcel provides readers and writers, which are implementations of PHPExcel_Writer_IReader and PHPExcel_Writer_IWriter. + +### PHPExcel_IOFactory + +The PHPExcel API offers multiple methods to create a PHPExcel_Writer_IReader or PHPExcel_Writer_IWriter instance: + +Direct creation via PHPExcel_IOFactory. All examples underneath demonstrate the direct creation method. Note that you can also use the PHPExcel_IOFactory class to do this. + +#### Creating PHPExcel_Reader_IReader using PHPExcel_IOFactory + +There are 2 methods for reading in a file into PHPExcel: using automatic file type resolving or explicitly. + +Automatic file type resolving checks the different PHPExcel_Reader_IReader distributed with PHPExcel. If one of them can load the specified file name, the file is loaded using that PHPExcel_Reader_IReader. Explicit mode requires you to specify which PHPExcel_Reader_IReader should be used. + +You can create a PHPExcel_Reader_IReader instance using PHPExcel_IOFactory in automatic file type resolving mode using the following code sample: + +```php +$objPHPExcel = PHPExcel_IOFactory::load("05featuredemo.xlsx"); +``` + +A typical use of this feature is when you need to read files uploaded by your users, and you don’t know whether they are uploading xls or xlsx files. + +If you need to set some properties on the reader, (e.g. to only read data, see more about this later), then you may instead want to use this variant: + +```php +$objReader = PHPExcel_IOFactory::createReaderForFile("05featuredemo.xlsx"); +$objReader->setReadDataOnly(true); +$objReader->load("05featuredemo.xlsx"); +``` + +You can create a PHPExcel_Reader_IReader instance using PHPExcel_IOFactory in explicit mode using the following code sample: + +```php +$objReader = PHPExcel_IOFactory::createReader("Excel2007"); +$objPHPExcel = $objReader->load("05featuredemo.xlsx"); +``` + +Note that automatic type resolving mode is slightly slower than explicit mode. + +#### Creating PHPExcel_Writer_IWriter using PHPExcel_IOFactory + +You can create a PHPExcel_Writer_Iwriter instance using PHPExcel_IOFactory: + +```php +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007"); +$objWriter->save("05featuredemo.xlsx"); +``` + +### Excel 2007 (SpreadsheetML) file format + +Excel2007 file format is the main file format of PHPExcel. It allows outputting the in-memory spreadsheet to a .xlsx file. + +#### PHPExcel_Reader_Excel2007 + +##### Reading a spreadsheet + +You can read an .xlsx file using the following code: + +```php +$objReader = new PHPExcel_Reader_Excel2007(); +$objPHPExcel = $objReader->load("05featuredemo.xlsx"); +``` + +##### Read data only + +You can set the option setReadDataOnly on the reader, to instruct the reader to ignore styling, data validation, … and just read cell data: + +```php +$objReader = new PHPExcel_Reader_Excel2007(); +$objReader->setReadDataOnly(true); +$objPHPExcel = $objReader->load("05featuredemo.xlsx"); +``` + +##### Read specific sheets only + +You can set the option setLoadSheetsOnly on the reader, to instruct the reader to only load the sheets with a given name: + +```php +$objReader = new PHPExcel_Reader_Excel2007(); +$objReader->setLoadSheetsOnly( array("Sheet 1", "My special sheet") ); +$objPHPExcel = $objReader->load("05featuredemo.xlsx"); +``` + +##### Read specific cells only + +You can set the option setReadFilter on the reader, to instruct the reader to only load the cells which match a given rule. A read filter can be any class which implements PHPExcel_Reader_IReadFilter. By default, all cells are read using the PHPExcel_Reader_DefaultReadFilter. + +The following code will only read row 1 and rows 20 – 30 of any sheet in the Excel file: + +```php +class MyReadFilter implements PHPExcel_Reader_IReadFilter { + + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + return false; + } +} + +$objReader = new PHPExcel_Reader_Excel2007(); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.xlsx"); +``` + +#### PHPExcel_Writer_Excel2007 + +##### Writing a spreadsheet + +You can write an .xlsx file using the following code: + +```php +$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); +$objWriter->save("05featuredemo.xlsx"); +``` + +##### Formula pre-calculation + +By default, this writer pre-calculates all formulas in the spreadsheet. This can be slow on large spreadsheets, and maybe even unwanted. You can however disable formula pre-calculation: + +```php +$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); +$objWriter->setPreCalculateFormulas(false); +$objWriter->save("05featuredemo.xlsx"); +``` + +##### Office 2003 compatibility pack + +Because of a bug in the Office2003 compatibility pack, there can be some small issues when opening Excel2007 spreadsheets (mostly related to formula calculation). You can enable Office2003 compatibility with the following code: + +``` +$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); +$objWriter->setOffice2003Compatibility(true); +$objWriter->save("05featuredemo.xlsx"); +``` + +__Office2003 compatibility should only be used when needed__ +Office2003 compatibility option should only be used when needed. This option disables several Office2007 file format options, resulting in a lower-featured Office2007 spreadsheet when this option is used. + +### Excel 5 (BIFF) file format + +Excel5 file format is the old Excel file format, implemented in PHPExcel to provide a uniform manner to create both .xlsx and .xls files. It is basically a modified version of [PEAR Spreadsheet_Excel_Writer][21], although it has been extended and has fewer limitations and more features than the old PEAR library. This can read all BIFF versions that use OLE2: BIFF5 (introduced with office 95) through BIFF8, but cannot read earlier versions. + +Excel5 file format will not be developed any further, it just provides an additional file format for PHPExcel. + +__Excel5 (BIFF) limitations__ +Please note that BIFF file format has some limits regarding to styling cells and handling large spreadsheets via PHP. + +#### PHPExcel_Reader_Excel5 + +##### Reading a spreadsheet + +You can read an .xls file using the following code: + +```php +$objReader = new PHPExcel_Reader_Excel5(); +$objPHPExcel = $objReader->load("05featuredemo.xls"); +``` + +##### Read data only + +You can set the option setReadDataOnly on the reader, to instruct the reader to ignore styling, data validation, … and just read cell data: + +```php +$objReader = new PHPExcel_Reader_Excel5(); +$objReader->setReadDataOnly(true); +$objPHPExcel = $objReader->load("05featuredemo.xls"); +``` + +##### Read specific sheets only + +You can set the option setLoadSheetsOnly on the reader, to instruct the reader to only load the sheets with a given name: + +```php +$objReader = new PHPExcel_Reader_Excel5(); +$objReader->setLoadSheetsOnly( array("Sheet 1", "My special sheet") ); +$objPHPExcel = $objReader->load("05featuredemo.xls"); +``` + +##### Read specific cells only + +You can set the option setReadFilter on the reader, to instruct the reader to only load the cells which match a given rule. A read filter can be any class which implements PHPExcel_Reader_IReadFilter. By default, all cells are read using the PHPExcel_Reader_DefaultReadFilter. + +The following code will only read row 1 and rows 20 to 30 of any sheet in the Excel file: + +```php +class MyReadFilter implements PHPExcel_Reader_IReadFilter { + + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + return false; + } +} + +$objReader = new PHPExcel_Reader_Excel5(); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.xls"); +``` + +#### PHPExcel_Writer_Excel5 + +##### Writing a spreadsheet + +You can write an .xls file using the following code: + +```php +$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); +$objWriter->save("05featuredemo.xls"); +``` + +### Excel 2003 XML file format + +Excel 2003 XML file format is a file format which can be used in older versions of Microsoft Excel. + +__Excel 2003 XML limitations__ +Please note that Excel 2003 XML format has some limits regarding to styling cells and handling large spreadsheets via PHP. + +#### PHPExcel_Reader_Excel2003XML + +##### Reading a spreadsheet + +You can read an Excel 2003 .xml file using the following code: + +```php +$objReader = new PHPExcel_Reader_Excel2003XML(); +$objPHPExcel = $objReader->load("05featuredemo.xml"); +``` + +##### Read specific cells only + +You can set the option setReadFilter on the reader, to instruct the reader to only load the cells which match a given rule. A read filter can be any class which implements PHPExcel_Reader_IReadFilter. By default, all cells are read using the PHPExcel_Reader_DefaultReadFilter. + +The following code will only read row 1 and rows 20 to 30 of any sheet in the Excel file: + +```php +class MyReadFilter implements PHPExcel_Reader_IReadFilter { + + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + return false; + } + +} + +$objReader = new PHPExcel_Reader_Excel2003XML(); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.xml"); +``` + +### Symbolic LinK (SYLK) + +Symbolic Link (SYLK) is a Microsoft file format typically used to exchange data between applications, specifically spreadsheets. SYLK files conventionally have a .slk suffix. Composed of only displayable ANSI characters, it can be easily created and processed by other applications, such as databases. + +__SYLK limitations__ +Please note that SYLK file format has some limits regarding to styling cells and handling large spreadsheets via PHP. + +#### PHPExcel_Reader_SYLK + +##### Reading a spreadsheet + +You can read an .slk file using the following code: + +```php +$objReader = new PHPExcel_Reader_SYLK(); +$objPHPExcel = $objReader->load("05featuredemo.slk"); +``` + +##### Read specific cells only + +You can set the option setReadFilter on the reader, to instruct the reader to only load the cells which match a given rule. A read filter can be any class which implements PHPExcel_Reader_IReadFilter. By default, all cells are read using the PHPExcel_Reader_DefaultReadFilter. + +The following code will only read row 1 and rows 20 to 30 of any sheet in the SYLK file: + +```php +class MyReadFilter implements PHPExcel_Reader_IReadFilter { + + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + return false; + } + +} + +$objReader = new PHPExcel_Reader_SYLK(); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.slk"); +``` + +### Open/Libre Office (.ods) + +Open Office or Libre Office .ods files are the standard file format for Open Office or Libre Office Calc files. + +#### PHPExcel_Reader_OOCalc + +##### Reading a spreadsheet + +You can read an .ods file using the following code: + +```php +$objReader = new PHPExcel_Reader_OOCalc(); +$objPHPExcel = $objReader->load("05featuredemo.ods"); +``` + +##### Read specific cells only + +You can set the option setReadFilter on the reader, to instruct the reader to only load the cells which match a given rule. A read filter can be any class which implements PHPExcel_Reader_IReadFilter. By default, all cells are read using the PHPExcel_Reader_DefaultReadFilter. + +The following code will only read row 1 and rows 20 to 30 of any sheet in the Calc file: + +```php +class MyReadFilter implements PHPExcel_Reader_IReadFilter { + + public function readCell($column, $row, $worksheetName = '') { + // Read title row and rows 20 - 30 + if ($row == 1 || ($row >= 20 && $row <= 30)) { + return true; + } + return false; + } + +} + +$objReader = new PHPExcel_Reader_OOcalc(); +$objReader->setReadFilter( new MyReadFilter() ); +$objPHPExcel = $objReader->load("06largescale.ods"); +``` + +### CSV (Comma Separated Values) + +CSV (Comma Separated Values) are often used as an import/export file format with other systems. PHPExcel allows reading and writing to CSV files. + +__CSV limitations__ +Please note that CSV file format has some limits regarding to styling cells, number formatting, ... + +#### PHPExcel_Reader_CSV + +##### Reading a CSV file + +You can read a .csv file using the following code: + +```php +$objReader = new PHPExcel_Reader_CSV(); +$objPHPExcel = $objReader->load("sample.csv"); +``` + +##### Setting CSV options + +Often, CSV files are not really “comma separated”, or use semicolon (;) as a separator. You can instruct PHPExcel_Reader_CSV some options before reading a CSV file. + +Note that PHPExcel_Reader_CSV by default assumes that the loaded CSV file is UTF-8 encoded. If you are reading CSV files that were created in Microsoft Office Excel the correct input encoding may rather be Windows-1252 (CP1252). Always make sure that the input encoding is set appropriately. + +```php +$objReader = new PHPExcel_Reader_CSV(); +$objReader->setInputEncoding('CP1252'); +$objReader->setDelimiter(';'); +$objReader->setEnclosure(''); +$objReader->setLineEnding("\r\n"); +$objReader->setSheetIndex(0); + +$objPHPExcel = $objReader->load("sample.csv"); +``` + +##### Read a specific worksheet + +CSV files can only contain one worksheet. Therefore, you can specify which sheet to read from CSV: + +```php +$objReader->setSheetIndex(0); +``` + +##### Read into existing spreadsheet + +When working with CSV files, it might occur that you want to import CSV data into an existing PHPExcel object. The following code loads a CSV file into an existing $objPHPExcel containing some sheets, and imports onto the 6th sheet: + +```php +$objReader = new PHPExcel_Reader_CSV(); +$objReader->setDelimiter(';'); +$objReader->setEnclosure(''); +$objReader->setLineEnding("\r\n"); +$objReader->setSheetIndex(5); + +$objReader->loadIntoExisting("05featuredemo.csv", $objPHPExcel); +``` + +#### PHPExcel_Writer_CSV + +##### Writing a CSV file + +You can write a .csv file using the following code: + +```php +$objWriter = new PHPExcel_Writer_CSV($objPHPExcel); +$objWriter->save("05featuredemo.csv"); +``` + +##### Setting CSV options + +Often, CSV files are not really “comma separated”, or use semicolon (;) as a separator. You can instruct PHPExcel_Writer_CSV some options before writing a CSV file: + +```php +$objWriter = new PHPExcel_Writer_CSV($objPHPExcel); +$objWriter->setDelimiter(';'); +$objWriter->setEnclosure(''); +$objWriter->setLineEnding("\r\n"); +$objWriter->setSheetIndex(0); + +$objWriter->save("05featuredemo.csv"); +``` + +##### Write a specific worksheet + +CSV files can only contain one worksheet. Therefore, you can specify which sheet to write to CSV: + +```php +$objWriter->setSheetIndex(0); +``` + +##### Formula pre-calculation + +By default, this writer pre-calculates all formulas in the spreadsheet. This can be slow on large spreadsheets, and maybe even unwanted. You can however disable formula pre-calculation: + +```php +$objWriter = new PHPExcel_Writer_CSV($objPHPExcel); +$objWriter->setPreCalculateFormulas(false); +$objWriter->save("05featuredemo.csv"); +``` + +##### Writing UTF-8 CSV files + +A CSV file can be marked as UTF-8 by writing a BOM file header. This can be enabled by using the following code: + +```php +$objWriter = new PHPExcel_Writer_CSV($objPHPExcel); +$objWriter->setUseBOM(true); +$objWriter->save("05featuredemo.csv"); +``` + +##### Decimal and thousands separators + +If the worksheet you are exporting contains numbers with decimal or thousands separators then you should think about what characters you want to use for those before doing the export. + +By default PHPExcel looks up in the server's locale settings to decide what characters to use. But to avoid problems it is recommended to set the characters explicitly as shown below. + +English users will want to use this before doing the export: + +```php +PHPExcel_Shared_String::setDecimalSeparator('.'); +PHPExcel_Shared_String::setThousandsSeparator(','); +``` + +German users will want to use the opposite values. + +```php +PHPExcel_Shared_String::setDecimalSeparator(','); +PHPExcel_Shared_String::setThousandsSeparator('.'); +``` + +Note that the above code sets decimal and thousand separators as global options. This also affects how HTML and PDF is exported. + +### HTML + +PHPExcel allows you to read or write a spreadsheet as HTML format, for quick representation of the data in it to anyone who does not have a spreadsheet application on their PC, or loading files saved by other scripts that simply create HTML markup and give it a .xls file extension. + +__HTML limitations__ +Please note that HTML file format has some limits regarding to styling cells, number formatting, ... + +#### PHPExcel_Reader_HTML + +##### Reading a spreadsheet + +You can read an .html or .htm file using the following code: + +```php +$objReader = new PHPExcel_Reader_HTML(); + +$objPHPExcel = $objReader->load("05featuredemo.html"); +``` + +__HTML limitations__ +Please note that HTML reader is still experimental and does not yet support merged cells or nested tables cleanly + +#### PHPExcel_Writer_HTML + +Please note that PHPExcel_Writer_HTML only outputs the first worksheet by default. + +##### Writing a spreadsheet + +You can write a .htm file using the following code: + +```php +$objWriter = new PHPExcel_Writer_HTML($objPHPExcel); + +$objWriter->save("05featuredemo.htm"); +``` + +##### Write all worksheets + +HTML files can contain one or more worksheets. If you want to write all sheets into a single HTML file, use the following code: + +```php +$objWriter->writeAllSheets(); +``` + +##### Write a specific worksheet + +HTML files can contain one or more worksheets. Therefore, you can specify which sheet to write to HTML: + +```php +$objWriter->setSheetIndex(0); +``` + +##### Setting the images root of the HTML file + +There might be situations where you want to explicitly set the included images root. For example, one might want to see +```html +<img style="position: relative; left: 0px; top: 0px; width: 140px; height: 78px;" src="http://www.domain.com/*images/logo.jpg" border="0"> +``` + +instead of + +```html +<img style="position: relative; left: 0px; top: 0px; width: 140px; height: 78px;" src="./images/logo.jpg" border="0">. +``` + +You can use the following code to achieve this result: + +```php +$objWriter->setImagesRoot('http://www.example.com'); +``` + +##### Formula pre-calculation + +By default, this writer pre-calculates all formulas in the spreadsheet. This can be slow on large spreadsheets, and maybe even unwanted. You can however disable formula pre-calculation: + +```php +$objWriter = new PHPExcel_Writer_HTML($objPHPExcel); +$objWriter->setPreCalculateFormulas(false); + +$objWriter->save("05featuredemo.htm"); +``` + +##### Embedding generated HTML in a web page + +There might be a situation where you want to embed the generated HTML in an existing website. PHPExcel_Writer_HTML provides support to generate only specific parts of the HTML code, which allows you to use these parts in your website. + +Supported methods: + + - generateHTMLHeader() + - generateStyles() + - generateSheetData() + - generateHTMLFooter() + +Here's an example which retrieves all parts independently and merges them into a resulting HTML page: + +```php +<?php +$objWriter = new PHPExcel_Writer_HTML($objPHPExcel); +echo $objWriter->generateHTMLHeader(); +?> + +<style> +<!-- +html { + font-family: Times New Roman; + font-size: 9pt; + background-color: white; +} + +<?php +echo $objWriter->generateStyles(false); // do not write <style> and </style> +?> + +--> +</style> + +<?php +echo $objWriter->generateSheetData(); +echo $objWriter->generateHTMLFooter(); +?> +``` + +##### Writing UTF-8 HTML files + +A HTML file can be marked as UTF-8 by writing a BOM file header. This can be enabled by using the following code: + +```php +$objWriter = new PHPExcel_Writer_HTML($objPHPExcel); +$objWriter->setUseBOM(true); + +$objWriter->save("05featuredemo.htm"); +``` + +##### Decimal and thousands separators + +See section PHPExcel_Writer_CSV how to control the appearance of these. + +### PDF + +PHPExcel allows you to write a spreadsheet into PDF format, for fast distribution of represented data. + +__PDF limitations__ +Please note that PDF file format has some limits regarding to styling cells, number formatting, ... + +#### PHPExcel_Writer_PDF + +PHPExcel’s PDF Writer is a wrapper for a 3rd-Party PDF Rendering library such as tcPDF, mPDF or DomPDF. Prior to version 1.7.8 of PHPExcel, the tcPDF library was bundled with PHPExcel; but from version 1.7.8 this was removed. Instead, you must now install a PDF Rendering library yourself; but PHPExcel will work with a number of different libraries. + +Currently, the following libraries are supported: + +Library | Version used for testing | Downloadable from | PHPExcel Internal Constant +--------|--------------------------|----------------------------------|---------------------------- +tcPDF | 5.9 | http://www.tcpdf.org/ | PDF_RENDERER_TCPDF +mPDF | 5.4 | http://www.mpdf1.com/mpdf/ | PDF_RENDERER_MPDF +domPDF | 0.6.0 beta 3 | http://code.google.com/p/dompdf/ | PDF_RENDERER_DOMPDF + +The different libraries have different strengths and weaknesses. Some generate better formatted output than others, some are faster or use less memory than others, while some generate smaller .pdf files. It is the developers choice which one they wish to use, appropriate to their own circumstances. + +Before instantiating a Writer to generate PDF output, you will need to indicate which Rendering library you are using, and where it is located. + +```php +$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; +$rendererLibrary = 'mPDF5.4'; +$rendererLibraryPath = dirname(__FILE__).'/../../../libraries/PDF/' . $rendererLibrary; + +if (!PHPExcel_Settings::setPdfRenderer( + $rendererName, + $rendererLibraryPath + )) { + die( + 'Please set the $rendererName and $rendererLibraryPath values' . + PHP_EOL . + ' as appropriate for your directory structure' + ); +} +``` + +##### Writing a spreadsheet + +Once you have identified the Renderer that you wish to use for PDF generation, you can write a .pdf file using the following code: + +```php +$objWriter = new PHPExcel_Writer_PDF($objPHPExcel); +$objWriter->save("05featuredemo.pdf"); +``` + +Please note that PHPExcel_Writer_PDF only outputs the first worksheet by default. + +##### Write all worksheets + +PDF files can contain one or more worksheets. If you want to write all sheets into a single PDF file, use the following code: + +```php +$objWriter->writeAllSheets(); +``` + +##### Write a specific worksheet + +PDF files can contain one or more worksheets. Therefore, you can specify which sheet to write to PDF: + +```php +$objWriter->setSheetIndex(0); +``` + +##### Formula pre-calculation + +By default, this writer pre-calculates all formulas in the spreadsheet. This can be slow on large spreadsheets, and maybe even unwanted. You can however disable formula pre-calculation: + +```php +$objWriter = new PHPExcel_Writer_PDF($objPHPExcel); +$objWriter->setPreCalculateFormulas(false); + +$objWriter->save("05featuredemo.pdf"); +``` + +##### Decimal and thousands separators + +See section PHPExcel_Writer_CSV how to control the appearance of these. + +### Generating Excel files from templates (read, modify, write) + +Readers and writers are the tools that allow you to generate Excel files from templates. This requires less coding effort than generating the Excel file from scratch, especially if your template has many styles, page setup properties, headers etc. + +Here is an example how to open a template file, fill in a couple of fields and save it again: + +```php +$objPHPexcel = PHPExcel_IOFactory::load('template.xlsx'); + +$objWorksheet = $objPHPexcel->getActiveSheet(); + +$objWorksheet->getCell('A1')->setValue('John'); +$objWorksheet->getCell('A2')->setValue('Smith'); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'Excel5'); +$objWriter->save('write.xls'); +``` + +Notice that it is ok to load an xlsx file and generate an xls file. + + [21]: http://pear.php.net/package/Spreadsheet_Excel_Writer + [22]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Home diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/11-Appendices.md b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/11-Appendices.md new file mode 100644 index 000000000..1302feb3f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/11-Appendices.md @@ -0,0 +1,100 @@ +# PHPExcel Developer Documentation + +## Credits + +Please refer to the internet page [http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Home][22] for up-to-date credits. + +## Valid array keys for style applyFromArray() + +The following table lists the valid array keys for PHPExcel_Style applyFromArray() classes. If the "Maps to property" column maps a key to a setter, the value provided for that key will be applied directly. If the "Maps to property" column maps a key to a getter, the value provided for that key will be applied as another style array. + +__PHPExcel_Style__ + + Array key | Maps to property + -------------|------------------- + fill | getFill() + font | getFont() + borders | getBorders() + alignment | getAlignment() + numberformat | getNumberFormat() + protection | getProtection() + + +__PHPExcel_Style_Fill__ + + Array key | Maps to property + -----------|------------------- + type | setFillType() + rotation | setRotation() + startcolor | getStartColor() + endcolor | getEndColor() + color | getStartColor() + + +__PHPExcel_Style_Font__ + + Array key | Maps to property + ------------|------------------- + name | setName() + bold | setBold() + italic | setItalic() + underline | setUnderline() + strike | setStrikethrough() + color | getColor() + size | setSize() + superScript | setSuperScript() + subScript | setSubScript() + + +__PHPExcel_Style_Borders__ + + Array key | Maps to property + ------------------|------------------- + allborders | getLeft(); getRight(); getTop(); getBottom() + left | getLeft() + right | getRight() + top | getTop() + bottom | getBottom() + diagonal | getDiagonal() + vertical | getVertical() + horizontal | getHorizontal() + diagonaldirection | setDiagonalDirection() + outline | setOutline() + + +__PHPExcel_Style_Border__ + + Array key | Maps to property + ----------|------------------- + style | setBorderStyle() + color | getColor() + + +__PHPExcel_Style_Alignment__ + + Array key | Maps to property + ------------|------------------- + horizontal | setHorizontal() + vertical | setVertical() + rotation | setTextRotation() + wrap | setWrapText() + shrinkToFit | setShrinkToFit() + indent | setIndent() + + +__PHPExcel_Style_NumberFormat__ + + Array key | Maps to property + ----------|------------------- + code | setFormatCode() + + +__PHPExcel_Style_Protection__ + + Array key | Maps to property + ----------|------------------- + locked | setLocked() + hidden | setHidden() + + + [22]: http://www.codeplex.com/PHPExcel/Wiki/View.aspx?title=Credits&referringTitle=Home diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/01-schematic.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/01-schematic.png new file mode 100644 index 000000000..8b6779204 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/01-schematic.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/02-readers-writers.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/02-readers-writers.png new file mode 100644 index 000000000..0600788ae Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/02-readers-writers.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-1.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-1.png new file mode 100644 index 000000000..30d193683 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-1.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-2.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-2.png new file mode 100644 index 000000000..e2b68506c Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-2.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-3.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-3.png new file mode 100644 index 000000000..459261f33 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-3.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-4.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-4.png new file mode 100644 index 000000000..70725452f Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/07-simple-example-4.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-cell-comment.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-cell-comment.png new file mode 100644 index 000000000..bd8f8e66e Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-cell-comment.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-column-width.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-column-width.png new file mode 100644 index 000000000..141994341 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-column-width.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-margins.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-margins.png new file mode 100644 index 000000000..36e07a9b6 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-margins.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-scaling-options.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-scaling-options.png new file mode 100644 index 000000000..80fb5f00c Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-page-setup-scaling-options.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-styling-border-options.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-styling-border-options.png new file mode 100644 index 000000000..4ef597070 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/08-styling-border-options.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-command-line-calculation.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-command-line-calculation.png new file mode 100644 index 000000000..ceb2b3091 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-command-line-calculation.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-1.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-1.png new file mode 100644 index 000000000..e50c6cc84 Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-1.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-2.png b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-2.png new file mode 100644 index 000000000..46daf090d Binary files /dev/null and b/vendor/phpoffice/phpexcel/Documentation/markdown/Overview/images/09-formula-in-cell-2.png differ diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/01-File-Formats.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/01-File-Formats.md new file mode 100644 index 000000000..d89166437 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/01-File-Formats.md @@ -0,0 +1,60 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + + +## Spreadsheet File Formats + +PHPExcel can read a number of different spreadsheet and file formats, although not all features are supported by all of the readers. Check the Functionality Cross-Reference document (Functionality Cross-Reference.xls) for a list that identifies which features are supported by which readers. + +Currently, PHPExcel supports the following File Types for Reading: + +### Excel5 + +The Microsoft Excel™ Binary file format (BIFF5 and BIFF8) is a binary file format that was used by Microsoft Excel™ between versions 95 and 2003. The format is supported (to various extents) by most spreadsheet programs. BIFF files normally have an extension of .xls. Documentation describing the format can be found online at [http://msdn.microsoft.com/en-us/library/cc313154(v=office.12).aspx][1] or from [http://download.microsoft.com/download/2/4/8/24862317-78F0-4C4B-B355-C7B2C1D997DB/[MS-XLS].pdf][2] (as a downloadable PDF). + +### Excel2003XML + +Microsoft Excel™ 2003 included options for a file format called SpreadsheetML. This file is a zipped XML document. It is not very common, but its core features are supported. Documentation for the format can be found at [http://msdn.microsoft.com/en-us/library/aa140066%28office.10%29.aspx][3] though it’s sadly rather sparse in its detail. + +### Excel2007 + +Microsoft Excel™ 2007 shipped with a new file format, namely Microsoft Office Open XML SpreadsheetML, and Excel 2010 extended this still further with its new features such as sparklines. These files typically have an extension of .xlsx. This format is based around a zipped collection of eXtensible Markup Language (XML) files. Microsoft Office Open XML SpreadsheetML is mostly standardized in ECMA 376 ([http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm][4]) and ISO 29500. + +### OOCalc + +aka Open Document Format (ODF) or OASIS, this is the OpenOffice.org XML File Format for spreadsheets. It comprises a zip archive including several components all of which are text files, most of these with markup in the eXtensible Markup Language (XML). It is the standard file format for OpenOffice.org Calc and StarCalc, and files typically have an extension of .ods. The published specification for the file format is available from the OASIS Open Office XML Format Technical Committee web page ([http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office#technical][5]). Other information is available from the OpenOffice.org XML File Format web page ([http://xml.openoffice.org/general.html][6]), part of the OpenOffice.org project. + +### SYLK + +This is the Microsoft Multiplan Symbolic Link Interchange (SYLK) file format. Multiplan was a predecessor to Microsoft Excel™. Files normally have an extension of .slk. While not common, there are still a few applications that generate SYLK files as a cross-platform option, because (despite being limited to a single worksheet) it is a simple format to implement, and supports some basic data and cell formatting options (unlike CSV files). + +### Gnumeric + +The Gnumeric file format is used by the Gnome Gnumeric spreadsheet application, and typically files have an extension of .gnumeric. The file contents are stored using eXtensible Markup Language (XML) markup, and the file is then compressed using the GNU project's gzip compression library. [http://projects.gnome.org/gnumeric/doc/file-format-gnumeric.shtml][7] + +### CSV + +Comma Separated Value (CSV) file format is a common structuring strategy for text format files. In CSV flies, each line in the file represents a row of data and (within each line of the file) the different data fields (or columns) are separated from one another using a comma (","). If a data field contains a comma, then it should be enclosed (typically in quotation marks ("). Sometimes tabs "\t", or the pipe symbol ("|"), or a semi-colon (";") are used as separators instead of a comma, although other symbols can be used. Because CSV is a text-only format, it doesn't support any data formatting options. + +"CSV" is not a single, well-defined format (although see RFC 4180 for one definition that is commonly used). Rather, in practice the term "CSV" refers to any file that: + - is plain text using a character set such as ASCII, Unicode, EBCDIC, or Shift JIS, + - consists of records (typically one record per line), + - with the records divided into fields separated by delimiters (typically a single reserved character such as comma, semicolon, or tab, + - where every record has the same sequence of fields. + +Within these general constraints, many variations are in use. Therefore "CSV" files are not entirely portable. Nevertheless, the variations are fairly small, and many implementations allow users to glance at the file (which is feasible because it is plain text), and then specify the delimiter character(s), quoting rules, etc. + +**Warning:** Microsoft Excel™ will open .csv files, but depending on the system's regional settings, it may expect a semicolon as a separator instead of a comma, since in some languages the comma is used as the decimal separator. Also, many regional versions of Excel will not be able to deal with Unicode characters in a CSV file. + +### HTML + +HyperText Markup Language (HTML) is the main markup language for creating web pages and other information that can be displayed in a web browser. Files typically have an extension of .html or .htm. HTML markup provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. Since 1996, the HTML specifications have been maintained, with input from commercial software vendors, by the World Wide Web Consortium (W3C). However, in 2000, HTML also became an international standard (ISO/IEC 15445:2000). HTML 4.01 was published in late 1999, with further errata published through 2001. In 2004 development began on HTML5 in the Web Hypertext Application Technology Working Group (WHATWG), which became a joint deliverable with the W3C in 2008. + + + + [1]: http://msdn.microsoft.com/en-us/library/cc313154(v=office.12).aspx + [2]: http://download.microsoft.com/download/2/4/8/24862317-78F0-4C4B-B355-C7B2C1D997DB/%5bMS-XLS%5d.pdf + [3]: http://msdn.microsoft.com/en-us/library/aa140066%28office.10%29.aspx + [4]: http://www.ecma-international.org/news/TC45_current_work/TC45_available_docs.htm + [5]: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office + [6]: http://xml.openoffice.org/general.html + [7]: http://projects.gnome.org/gnumeric/doc/file-format-gnumeric.shtml diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/02-Security.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/02-Security.md new file mode 100644 index 000000000..12da958ff --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/02-Security.md @@ -0,0 +1,13 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + + +## Security + +XML-based formats such as OfficeOpen XML, Excel2003 XML, OASIS and Gnumeric are susceptible to XML External Entity Processing (XXE) injection attacks (for an explanation of XXE injection see http://websec.io/2012/08/27/Preventing-XEE-in-PHP.html) when reading spreadsheet files. This can lead to: + + - Disclosure whether a file is existent + - Server Side Request Forgery + - Command Execution (depending on the installed PHP wrappers) + + +To prevent this, PHPExcel sets `libxml_disable_entity_loader` to `true` for the XML-based Readers by default. \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/03-Loading-a-Spreadsheet.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/03-Loading-a-Spreadsheet.md new file mode 100644 index 000000000..afa674d1b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/03-Loading-a-Spreadsheet.md @@ -0,0 +1,21 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + + +## Loading a Spreadsheet File + +The simplest way to load a workbook file is to let PHPExcel's IO Factory identify the file type and load it, calling the static load() method of the PHPExcel_IOFactory class. + +```php +$inputFileName = './sampleData/example1.xls'; + +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); +``` + > See Examples/Reader/exampleReader01.php for a working example of this code. + +The load() method will attempt to identify the file type, and instantiate a loader for that file type; using it to load the file and store the data and any formatting in a PHPExcel object. + +The method makes an initial guess at the loader to instantiate based on the file extension; but will test the file before actually executing the load: so if (for example) the file is actually a CSV file or contains HTML markup, but that has been given a .xls extension (quite a common practise), it will reject the Excel5 loader that it would normally use for a .xls file; and test the file using the other loaders until it finds the appropriate loader, and then use that to read the file. + +While easy to implement in your code, and you don't need to worry about the file type; this isn't the most efficient method to load a file; and it lacks the flexibility to configure the loader in any way before actually reading the file into a PHPExcel object. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/04-Loading-with-a-Reader.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/04-Loading-with-a-Reader.md new file mode 100644 index 000000000..94d07aaa3 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/04-Loading-with-a-Reader.md @@ -0,0 +1,56 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + + +## Creating a Reader and Loading a Spreadsheet File + +If you know the file type of the spreadsheet file that you need to load, you can instantiate a new reader object for that file type, then use the reader's load() method to read the file to a PHPExcel object. It is possible to instantiate the reader objects for each of the different supported filetype by name. However, you may get unpredictable results if the file isn't of the right type (e.g. it is a CSV with an extension of .xls), although this type of exception should normally be trapped. + +```php +$inputFileName = './sampleData/example1.xls'; + +/** Create a new Excel5 Reader **/ +$objReader = new PHPExcel_Reader_Excel5(); +// $objReader = new PHPExcel_Reader_Excel2007(); +// $objReader = new PHPExcel_Reader_Excel2003XML(); +// $objReader = new PHPExcel_Reader_OOCalc(); +// $objReader = new PHPExcel_Reader_SYLK(); +// $objReader = new PHPExcel_Reader_Gnumeric(); +// $objReader = new PHPExcel_Reader_CSV(); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader02.php for a working example of this code. + +Alternatively, you can use the IO Factory's createReader() method to instantiate the reader object for you, simply telling it the file type of the reader that you want instantiating. + +```php +$inputFileType = 'Excel5'; +// $inputFileType = 'Excel2007'; +// $inputFileType = 'Excel2003XML'; +// $inputFileType = 'OOCalc'; +// $inputFileType = 'SYLK'; +// $inputFileType = 'Gnumeric'; +// $inputFileType = 'CSV'; +$inputFileName = './sampleData/example1.xls'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader03.php for a working example of this code. + +If you're uncertain of the filetype, you can use the IO Factory's identify() method to identify the reader that you need, before using the createReader() method to instantiate the reader object. + +```php +$inputFileName = './sampleData/example1.xls'; + +/** Identify the type of $inputFileName **/ +$inputFileType = PHPExcel_IOFactory::identify($inputFileName); +/** Create a new Reader of the type that has been identified **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader04.php for a working example of this code. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/05-Reader-Options.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/05-Reader-Options.md new file mode 100644 index 000000000..137fd1e8f --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/05-Reader-Options.md @@ -0,0 +1,392 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + +## Spreadsheet Reader Options + +Once you have created a reader object for the workbook that you want to load, you have the opportunity to set additional options before executing the load() method. + +### Reading Only Data from a Spreadsheet File + +If you're only interested in the cell values in a workbook, but don't need any of the cell formatting information, then you can set the reader to read only the data values and any formulae from each cell using the setReadDataOnly() method. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Advise the Reader that we only want to load cell data **/ +$objReader->setReadDataOnly(true); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader05.php for a working example of this code. + +It is important to note that Workbooks (and PHPExcel) store dates and times as simple numeric values: they can only be distinguished from other numeric values by the format mask that is applied to that cell. When setting read data only to true, PHPExcel doesn't read the cell format masks, so it is not possible to differentiate between dates/times and numbers. + +The Gnumeric loader has been written to read the format masks for date values even when read data only has been set to true, so it can differentiate between dates/times and numbers; but this change hasn't yet been implemented for the other readers. + +Reading Only Data from a Spreadsheet File applies to Readers: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | YES | Excel5 | YES | Excel2003XML | YES | +OOCalc | YES | SYLK | NO | Gnumeric | YES | +CSV | NO | HTML | NO + +### Reading Only Named WorkSheets from a File + +If your workbook contains a number of worksheets, but you are only interested in reading some of those, then you can use the setLoadSheetsOnly() method to identify those sheets you are interested in reading. + +To read a single sheet, you can pass that sheet name as a parameter to the setLoadSheetsOnly() method. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; +$sheetname = 'Data Sheet #2'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Advise the Reader of which WorkSheets we want to load **/ +$objReader->setLoadSheetsOnly($sheetname); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader07.php for a working example of this code. + +If you want to read more than just a single sheet, you can pass a list of sheet names as an array parameter to the setLoadSheetsOnly() method. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; +$sheetnames = array('Data Sheet #1','Data Sheet #3'); + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Advise the Reader of which WorkSheets we want to load **/ +$objReader->setLoadSheetsOnly($sheetnames); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader08.php for a working example of this code. + +To reset this option to the default, you can call the setLoadAllSheets() method. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Advise the Reader to load all Worksheets **/ +$objReader->setLoadAllSheets(); +/** Load $inputFileName to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader06.php for a working example of this code. + +Reading Only Named WorkSheets from a File applies to Readers: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | YES | Excel5 | YES | Excel2003XML | YES | +OOCalc | YES | SYLK | NO | Gnumeric | YES | +CSV | NO | HTML | NO + +### Reading Only Specific Columns and Rows from a File (Read Filters) + +If you are only interested in reading part of a worksheet, then you can write a filter class that identifies whether or not individual cells should be read by the loader. A read filter must implement the PHPExcel_Reader_IReadFilter interface, and contain a readCell() method that accepts arguments of $column, $row and $worksheetName, and return a boolean true or false that indicates whether a workbook cell identified by those arguments should be read or not. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example1.xls'; +$sheetname = 'Data Sheet #3'; + + +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class MyReadFilter implements PHPExcel_Reader_IReadFilter +{ + public function readCell($column, $row, $worksheetName = '') { + // Read rows 1 to 7 and columns A to E only + if ($row >= 1 && $row <= 7) { + if (in_array($column,range('A','E'))) { + return true; + } + } + return false; + } +} + +/** Create an Instance of our Read Filter **/ +$filterSubset = new MyReadFilter(); + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Tell the Reader that we want to use the Read Filter **/ +$objReader->setReadFilter($filterSubset); +/** Load only the rows and columns that match our filter to PHPExcel **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader09.php for a working example of this code. + +This example is not particularly useful, because it can only be used in a very specific circumstance (when you only want cells in the range A1:E7 from your worksheet. A generic Read Filter would probably be more useful: + +```php +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class MyReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + private $_endRow = 0; + private $_columns = array(); + + /** Get the list of rows and columns to read */ + public function __construct($startRow, $endRow, $columns) { + $this->_startRow = $startRow; + $this->_endRow = $endRow; + $this->_columns = $columns; + } + + public function readCell($column, $row, $worksheetName = '') { + // Only read the rows and columns that were configured + if ($row >= $this->_startRow && $row <= $this->_endRow) { + if (in_array($column,$this->_columns)) { + return true; + } + } + return false; + } +} + +/** Create an Instance of our Read Filter, passing in the cell range **/ +$filterSubset = new MyReadFilter(9,15,range('G','K')); +``` + > See Examples/Reader/exampleReader10.php for a working example of this code. + +This can be particularly useful for conserving memory, by allowing you to read and process a large workbook in “chunks”: an example of this usage might be when transferring data from an Excel worksheet to a database. + +```php +$inputFileType = 'Excel5'; +$inputFileName = './sampleData/example2.xls'; + + +/** Define a Read Filter class implementing PHPExcel_Reader_IReadFilter */ +class chunkReadFilter implements PHPExcel_Reader_IReadFilter +{ + private $_startRow = 0; + private $_endRow = 0; + + /** Set the list of rows that we want to read */ + public function setRows($startRow, $chunkSize) { + $this->_startRow = $startRow; + $this->_endRow = $startRow + $chunkSize; + } + + public function readCell($column, $row, $worksheetName = '') { + // Only read the heading row, and the configured rows + if (($row == 1) || ($row >= $this->_startRow && $row < $this->_endRow)) { + return true; + } + return false; + } +} + + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +/** Define how many rows we want to read for each "chunk" **/ +$chunkSize = 2048; +/** Create a new Instance of our Read Filter **/ +$chunkFilter = new chunkReadFilter(); + +/** Tell the Reader that we want to use the Read Filter **/ +$objReader->setReadFilter($chunkFilter); + +/** Loop to read our worksheet in "chunk size" blocks **/ +for ($startRow = 2; $startRow <= 65536; $startRow += $chunkSize) { + /** Tell the Read Filter which rows we want this iteration **/ + $chunkFilter->setRows($startRow,$chunkSize); + /** Load only the rows that match our filter **/ + $objPHPExcel = $objReader->load($inputFileName); + // Do some processing here +} +``` + > See Examples/Reader/exampleReader12.php for a working example of this code. + +Using Read Filters applies to: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | YES | Excel5 | YES | Excel2003XML | YES | +OOCalc | YES | SYLK | NO | Gnumeric | YES | +CSV | YES | HTML | NO + +### Combining Multiple Files into a Single PHPExcel Object + +While you can limit the number of worksheets that are read from a workbook file using the setLoadSheetsOnly() method, certain readers also allow you to combine several individual "sheets" from different files into a single PHPExcel object, where each individual file is a single worksheet within that workbook. For each file that you read, you need to indicate which worksheet index it should be loaded into using the setSheetIndex() method of the $objReader, then use the loadIntoExisting() method rather than the load() method to actually read the file into that worksheet. + +```php +$inputFileType = 'CSV'; +$inputFileNames = array('./sampleData/example1.csv', + './sampleData/example2.csv' + './sampleData/example3.csv' +); + +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +/** Extract the first named file from the array list **/ +$inputFileName = array_shift($inputFileNames); +/** Load the initial file to the first worksheet in a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +/** Set the worksheet title (to the filename that we've loaded) **/ +$objPHPExcel->getActiveSheet() + ->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); + + +/** Loop through all the remaining files in the list **/ +foreach($inputFileNames as $sheet => $inputFileName) { + /** Increment the worksheet index pointer for the Reader **/ + $objReader->setSheetIndex($sheet+1); + /** Load the current file into a new worksheet in PHPExcel **/ + $objReader->loadIntoExisting($inputFileName,$objPHPExcel); + /** Set the worksheet title (to the filename that we've loaded) **/ + $objPHPExcel->getActiveSheet() + ->setTitle(pathinfo($inputFileName,PATHINFO_BASENAME)); +} +``` + > See Examples/Reader/exampleReader13.php for a working example of this code. + +Note that using the same sheet index for multiple sheets won't append files into the same sheet, but overwrite the results of the previous load. You cannot load multiple CSV files into the same worksheet. + +Combining Multiple Files into a Single PHPExcel Object applies to: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | NO | Excel5 | NO | Excel2003XML | NO | +OOCalc | NO | SYLK | YES | Gnumeric | NO | +CSV | YES | HTML | NO + +### Combining Read Filters with the setSheetIndex() method to split a large CSV file across multiple Worksheets + +An Excel5 BIFF .xls file is limited to 65536 rows in a worksheet, while the Excel2007 Microsoft Office Open XML SpreadsheetML .xlsx file is limited to 1,048,576 rows in a worksheet; but a CSV file is not limited other than by available disk space. This means that we wouldn’t ordinarily be able to read all the rows from a very large CSV file that exceeded those limits, and save it as an Excel5 or Excel2007 file. However, by using Read Filters to read the CSV file in “chunks” (using the chunkReadFilter Class that we defined in section REF _Ref275604563 \r \p 5.3 above), and the setSheetIndex() method of the $objReader, we can split the CSV file across several individual worksheets. + +```php +$inputFileType = 'CSV'; +$inputFileName = './sampleData/example2.csv'; + + +echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; +/** Create a new Reader of the type defined in $inputFileType **/ +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + + +/** Define how many rows we want to read for each "chunk" **/ +$chunkSize = 65530; +/** Create a new Instance of our Read Filter **/ +$chunkFilter = new chunkReadFilter(); + +/** Tell the Reader that we want to use the Read Filter **/ +/** and that we want to store it in contiguous rows/columns **/ + +$objReader->setReadFilter($chunkFilter) + ->setContiguous(true); + +/** Instantiate a new PHPExcel object manually **/ +$objPHPExcel = new PHPExcel(); + +/** Set a sheet index **/ +$sheet = 0; +/** Loop to read our worksheet in "chunk size" blocks **/ +/** $startRow is set to 2 initially because we always read the headings in row #1 **/ +for ($startRow = 2; $startRow <= 1000000; $startRow += $chunkSize) { + /** Tell the Read Filter which rows we want to read this loop **/ + $chunkFilter->setRows($startRow,$chunkSize); + + /** Increment the worksheet index pointer for the Reader **/ + $objReader->setSheetIndex($sheet); + /** Load only the rows that match our filter into a new worksheet **/ + $objReader->loadIntoExisting($inputFileName,$objPHPExcel); + /** Set the worksheet title for the sheet that we've justloaded) **/ + /** and increment the sheet index as well **/ + $objPHPExcel->getActiveSheet()->setTitle('Country Data #'.(++$sheet)); +} +``` + > See Examples/Reader/exampleReader14.php for a working example of this code. + +This code will read 65,530 rows at a time from the CSV file that we’re loading, and store each "chunk" in a new worksheet. + +The setContiguous() method for the Reader is important here. It is applicable only when working with a Read Filter, and identifies whether or not the cells should be stored by their position within the CSV file, or their position relative to the filter. + +For example, if the filter returned true for cells in the range B2:C3, then with setContiguous set to false (the default) these would be loaded as B2:C3 in the PHPExcel object; but with setContiguous set to true, they would be loaded as A1:B2. + +Splitting a single loaded file across multiple worksheets applies to: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | NO | Excel5 | NO | Excel2003XML | NO | +OOCalc | NO | SYLK | NO | Gnumeric | NO | +CSV | YES | HTML | NO + +### Pipe or Tab Separated Value Files + +The CSV loader defaults to loading a file where comma is used as the separator, but you can modify this to load tab- or pipe-separated value files using the setDelimiter() method. + +```php +$inputFileType = 'CSV'; +$inputFileName = './sampleData/example1.tsv'; + +/** Create a new Reader of the type defined in $inputFileType **/ $objReader = PHPExcel_IOFactory::createReader($inputFileType); +/** Set the delimiter to a TAB character **/ +$objReader->setDelimiter("\t"); +// $objReader->setDelimiter('|'); + +/** Load the file to a PHPExcel Object **/ +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader15.php for a working example of this code. + +In addition to the delimiter, you can also use the following methods to set other attributes for the data load: + +setEnclosure() | default is " +setLineEnding() | default is PHP_EOL +setInputEncoding() | default is UTF-8 + +Setting CSV delimiter applies to: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | NO | Excel5 | NO | Excel2003XML | NO | +OOCalc | NO | SYLK | NO | Gnumeric | NO | +CSV | YES | HTML | NO + +### A Brief Word about the Advanced Value Binder + +When loading data from a file that contains no formatting information, such as a CSV file, then data is read either as strings or numbers (float or integer). This means that PHPExcel does not automatically recognise dates/times (such as "16-Apr-2009" or "13:30"), booleans ("TRUE" or "FALSE"), percentages ("75%"), hyperlinks ("http://www.phpexcel.net"), etc as anything other than simple strings. However, you can apply additional processing that is executed against these values during the load process within a Value Binder. + +A Value Binder is a class that implement the PHPExcel_Cell_IValueBinder interface. It must contain a bindValue() method that accepts a PHPExcel_Cell and a value as arguments, and return a boolean true or false that indicates whether the workbook cell has been populated with the value or not. The Advanced Value Binder implements such a class: amongst other tests, it identifies a string comprising "TRUE" or "FALSE" (based on locale settings) and sets it to a boolean; or a number in scientific format (e.g. "1.234e-5") and converts it to a float; or dates and times, converting them to their Excel timestamp value – before storing the value in the cell object. It also sets formatting for strings that are identified as dates, times or percentages. It could easily be extended to provide additional handling (including text or cell formatting) when it encountered a hyperlink, or HTML markup within a CSV file. + +So using a Value Binder allows a great deal more flexibility in the loader logic when reading unformatted text files. + +```php +/** Tell PHPExcel that we want to use the Advanced Value Binder **/ +PHPExcel_Cell::setValueBinder( new PHPExcel_Cell_AdvancedValueBinder() ); + +$inputFileType = 'CSV'; +$inputFileName = './sampleData/example1.tsv'; + +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$objReader->setDelimiter("\t"); +$objPHPExcel = $objReader->load($inputFileName); +``` + > See Examples/Reader/exampleReader15.php for a working example of this code. + +Loading using a Value Binder applies to: + +Reader | Y/N |Reader | Y/N |Reader | Y/N | +----------|:---:|--------|:---:|--------------|:---:| +Excel2007 | NO | Excel5 | NO | Excel2003XML | NO | +OOCalc | NO | SYLK | NO | Gnumeric | NO | +CSV | YES | HTML | YES + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/06-Error-Handling.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/06-Error-Handling.md new file mode 100644 index 000000000..d3e064f9b --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/06-Error-Handling.md @@ -0,0 +1,20 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + +## Error Handling + +Of course, you should always apply some error handling to your scripts as well. PHPExcel throws exceptions, so you can wrap all your code that accesses the library methods within Try/Catch blocks to trap for any problems that are encountered, and deal with them in an appropriate manner. + +The PHPExcel Readers throw a PHPExcel_Reader_Exception. + +```php +$inputFileName = './sampleData/example-1.xls'; + +try { + /** Load $inputFileName to a PHPExcel Object **/ + $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); +} catch(PHPExcel_Reader_Exception $e) { + die('Error loading file: '.$e->getMessage()); +} +``` + > See Examples/Reader/exampleReader16.php for a working example of this code. + diff --git a/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/07-Helper-Methods.md b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/07-Helper-Methods.md new file mode 100644 index 000000000..57dbec7a7 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Documentation/markdown/ReadingSpreadsheetFiles/07-Helper-Methods.md @@ -0,0 +1,47 @@ +# PHPExcel User Documentation – Reading Spreadsheet Files + + +## Helper Methods + +You can retrieve a list of worksheet names contained in a file without loading the whole file by using the Reader’s `listWorksheetNames()` method; similarly, a `listWorksheetInfo()` method will retrieve the dimensions of worksheet in a file without needing to load and parse the whole file. + +### listWorksheetNames + +The `listWorksheetNames()` method returns a simple array listing each worksheet name within the workbook: + +```php +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + +$worksheetNames = $objReader->listWorksheetNames($inputFileName); + +echo '<h3>Worksheet Names</h3>'; +echo '<ol>'; +foreach ($worksheetNames as $worksheetName) { + echo '<li>', $worksheetName, '</li>'; +} +echo '</ol>'; +``` + > See Examples/Reader/exampleReader18.php for a working example of this code. + +### listWorksheetInfo + +The `listWorksheetInfo()` method returns a nested array, with each entry listing the name and dimensions for a worksheet: + +```php +$objReader = PHPExcel_IOFactory::createReader($inputFileType); + +$worksheetData = $objReader->listWorksheetInfo($inputFileName); + +echo '<h3>Worksheet Information</h3>'; +echo '<ol>'; +foreach ($worksheetData as $worksheet) { + echo '<li>', $worksheet['worksheetName'], '<br />'; + echo 'Rows: ', $worksheet['totalRows'], + ' Columns: ', $worksheet['totalColumns'], '<br />'; + echo 'Cell Range: A1:', + $worksheet['lastColumnLetter'], $worksheet['totalRows']; + echo '</li>'; +} +echo '</ol>'; +``` + > See Examples/Reader/exampleReader19.php for a working example of this code. diff --git a/vendor/phpoffice/phpexcel/Examples/.gitignore b/vendor/phpoffice/phpexcel/Examples/.gitignore index 1888a98fa..d53fd7fab 100644 --- a/vendor/phpoffice/phpexcel/Examples/.gitignore +++ b/vendor/phpoffice/phpexcel/Examples/.gitignore @@ -1,3 +1,5 @@ - *.xls -*.xlsx \ No newline at end of file +*.xlsx +*.csv +*.jpg +*.pdf diff --git a/vendor/phpoffice/phpexcel/Examples/01pharSimple.php b/vendor/phpoffice/phpexcel/Examples/01pharSimple.php index a88047701..84b86cc5e 100644 --- a/vendor/phpoffice/phpexcel/Examples/01pharSimple.php +++ b/vendor/phpoffice/phpexcel/Examples/01pharSimple.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php index 574fb0113..30dbd7e35 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-ods.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php index 287b0e891..133af3a69 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-pdf.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php index 60fc901bf..96bb780b5 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php b/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php index 538888ea7..d441f4191 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php +++ b/vendor/phpoffice/phpexcel/Examples/01simple-download-xlsx.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/01simple.php b/vendor/phpoffice/phpexcel/Examples/01simple.php index 965fefafe..13f802759 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simple.php +++ b/vendor/phpoffice/phpexcel/Examples/01simple.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -36,7 +36,6 @@ define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); /** Include PHPExcel */ require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; - // Create new PHPExcel object echo date('H:i:s') , " Create new PHPExcel object" , EOL; $objPHPExcel = new PHPExcel(); @@ -71,6 +70,14 @@ $objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1); $objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true); +$value = "-ValueA\n-Value B\n-Value C"; +$objPHPExcel->getActiveSheet()->setCellValue('A10', $value); +$objPHPExcel->getActiveSheet()->getRowDimension(10)->setRowHeight(-1); +$objPHPExcel->getActiveSheet()->getStyle('A10')->getAlignment()->setWrapText(true); +$objPHPExcel->getActiveSheet()->getStyle('A10')->setQuotePrefix(true); + + + // Rename worksheet echo date('H:i:s') , " Rename worksheet" , EOL; $objPHPExcel->getActiveSheet()->setTitle('Simple'); diff --git a/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php b/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php index 0b7a46c17..0af4cbdd8 100644 --- a/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php +++ b/vendor/phpoffice/phpexcel/Examples/01simplePCLZip.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/02types-xls.php b/vendor/phpoffice/phpexcel/Examples/02types-xls.php index cc1dc3744..93ce17e59 100644 --- a/vendor/phpoffice/phpexcel/Examples/02types-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/02types-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/02types.php b/vendor/phpoffice/phpexcel/Examples/02types.php index ff5421e4b..394a73dd4 100644 --- a/vendor/phpoffice/phpexcel/Examples/02types.php +++ b/vendor/phpoffice/phpexcel/Examples/02types.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -136,6 +136,27 @@ $objPHPExcel->getActiveSheet()->getStyle("C14")->getAlignment()->setWrapText(tru $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true); +$objRichText3 = new PHPExcel_RichText(); +$objRichText3->createText("Hello "); + +$objUnderlined = $objRichText3->createTextRun("underlined"); +$objUnderlined->getFont()->setUnderline(true); +$objRichText3->createText(' World.'); + +$objPHPExcel->getActiveSheet() + ->getCell("C15") + ->setValue($objRichText3); + + +$objPHPExcel->getActiveSheet()->setCellValue('A17', 'Hyperlink'); + +$objPHPExcel->getActiveSheet()->setCellValue('C17', 'www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('C17')->getHyperlink()->setUrl('http://www.phpexcel.net'); +$objPHPExcel->getActiveSheet()->getCell('C17')->getHyperlink()->setTooltip('Navigate to website'); + +$objPHPExcel->getActiveSheet()->setCellValue('C18', '=HYPERLINK("mailto:abc@def.com","abc@def.com")'); + + // Rename worksheet echo date('H:i:s') , " Rename worksheet" , EOL; $objPHPExcel->getActiveSheet()->setTitle('Datatypes'); diff --git a/vendor/phpoffice/phpexcel/Examples/03formulas.php b/vendor/phpoffice/phpexcel/Examples/03formulas.php index 1396717d7..6c5d1ddc9 100644 --- a/vendor/phpoffice/phpexcel/Examples/03formulas.php +++ b/vendor/phpoffice/phpexcel/Examples/03formulas.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/04printing.php b/vendor/phpoffice/phpexcel/Examples/04printing.php index 14358b05e..58d5f6a8e 100644 --- a/vendor/phpoffice/phpexcel/Examples/04printing.php +++ b/vendor/phpoffice/phpexcel/Examples/04printing.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php b/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php index b543ca46b..003379cce 100644 --- a/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php +++ b/vendor/phpoffice/phpexcel/Examples/05featuredemo.inc.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/05featuredemo.php b/vendor/phpoffice/phpexcel/Examples/05featuredemo.php index 66d4980ec..9e502acb6 100644 --- a/vendor/phpoffice/phpexcel/Examples/05featuredemo.php +++ b/vendor/phpoffice/phpexcel/Examples/05featuredemo.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php index cbdb59b91..8baa7431a 100644 --- a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php index ca04f85e9..1f480d1d2 100644 --- a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching-sqlite3.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php index aa23b8cbb..d20b29f24 100644 --- a/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-with-cellcaching.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php b/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php index 00137ad89..5adc3d259 100644 --- a/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/06largescale-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/06largescale.php b/vendor/phpoffice/phpexcel/Examples/06largescale.php index b0fa44047..cb21caf50 100644 --- a/vendor/phpoffice/phpexcel/Examples/06largescale.php +++ b/vendor/phpoffice/phpexcel/Examples/06largescale.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/07reader.php b/vendor/phpoffice/phpexcel/Examples/07reader.php index 616b6622f..318ba1891 100644 --- a/vendor/phpoffice/phpexcel/Examples/07reader.php +++ b/vendor/phpoffice/phpexcel/Examples/07reader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php b/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php index 90e859050..f1da9c574 100644 --- a/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php +++ b/vendor/phpoffice/phpexcel/Examples/07readerPCLZip.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php index f65ec9efd..514a8bb63 100644 --- a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php +++ b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php index bbe084a26..aeb2a3136 100644 --- a/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php +++ b/vendor/phpoffice/phpexcel/Examples/08conditionalformatting2.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php b/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php index 6b8c185e3..36e21ae4b 100644 --- a/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php +++ b/vendor/phpoffice/phpexcel/Examples/09pagebreaks.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php index 7542a5295..8cdc0def4 100644 --- a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-1.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php index c89173f5c..e2aea748d 100644 --- a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-2.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php index cf2b8acfd..ba3fed9e0 100644 --- a/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter-selection-display.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/10autofilter.php b/vendor/phpoffice/phpexcel/Examples/10autofilter.php index ea3f76343..015e9cfe3 100644 --- a/vendor/phpoffice/phpexcel/Examples/10autofilter.php +++ b/vendor/phpoffice/phpexcel/Examples/10autofilter.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php b/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php index b104c7b8a..2348ce959 100644 --- a/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/11documentsecurity-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php b/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php index 96f5d9930..9fd4fb2a4 100644 --- a/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php +++ b/vendor/phpoffice/phpexcel/Examples/11documentsecurity.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/12cellProtection.php b/vendor/phpoffice/phpexcel/Examples/12cellProtection.php index 77bfee4ce..e12c9ae47 100644 --- a/vendor/phpoffice/phpexcel/Examples/12cellProtection.php +++ b/vendor/phpoffice/phpexcel/Examples/12cellProtection.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/13calculation.php b/vendor/phpoffice/phpexcel/Examples/13calculation.php index 01e63ea77..e255d115f 100644 --- a/vendor/phpoffice/phpexcel/Examples/13calculation.php +++ b/vendor/phpoffice/phpexcel/Examples/13calculation.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/13calculationCyclicFormulae.php b/vendor/phpoffice/phpexcel/Examples/13calculationCyclicFormulae.php new file mode 100644 index 000000000..8512a3e85 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/13calculationCyclicFormulae.php @@ -0,0 +1,97 @@ +<?php +/** + * PHPExcel + * + * Copyright (C) 2006 - 2014 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +/** Error reporting */ +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); +date_default_timezone_set('Europe/London'); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; + + +// Create new PHPExcel object +echo date('H:i:s') , " Create new PHPExcel object" , EOL; +$objPHPExcel = new PHPExcel(); + +// Add some data, we will use some formulas here +echo date('H:i:s') , " Add some data and formulas" , EOL; +$objPHPExcel->getActiveSheet()->setCellValue('A1', '=B1') + ->setCellValue('A2', '=B2+1') + ->setCellValue('B1', '=A1+1') + ->setCellValue('B2', '=A2'); + +PHPExcel_Calculation::getInstance($objPHPExcel)->cyclicFormulaCount = 100; + +// Calculated data +echo date('H:i:s') , " Calculated data" , EOL; +for($row = 1; $row <= 2; ++$row) { + for ($col = 'A'; $col != 'C'; ++$col) { + if ((!is_null($formula = $objPHPExcel->getActiveSheet()->getCell($col.$row)->getValue())) && + ($formula[0] == '=')) { + echo 'Value of ' , $col , $row , ' [' , $formula , ']: ' , + $objPHPExcel->getActiveSheet()->getCell($col.$row)->getCalculatedValue() . EOL; + } + } +} + + +// Save Excel 2007 file +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); + +// +// If we set Pre Calculated Formulas to true then PHPExcel will calculate all formulae in the +// workbook before saving. This adds time and memory overhead, and can cause some problems with formulae +// using functions or features (such as array formulae) that aren't yet supported by the calculation engine +// If the value is false (the default) for the Excel2007 Writer, then MS Excel (or the application used to +// open the file) will need to recalculate values itself to guarantee that the correct results are available. +// +//$objWriter->setPreCalculateFormulas(true); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/14excel5.php b/vendor/phpoffice/phpexcel/Examples/14excel5.php index 3fd3d69f3..7a9f6856f 100644 --- a/vendor/phpoffice/phpexcel/Examples/14excel5.php +++ b/vendor/phpoffice/phpexcel/Examples/14excel5.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php b/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php index 2f8fa5ee9..3f0afde53 100644 --- a/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/15datavalidation-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -47,30 +47,31 @@ $objPHPExcel = new PHPExcel(); // Set document properties echo date('H:i:s') , " Set document properties" , EOL; $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") - ->setLastModifiedBy("Maarten Balliauw") - ->setTitle("Office 2007 XLSX Test Document") - ->setSubject("Office 2007 XLSX Test Document") - ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") - ->setKeywords("office 2007 openxml php") - ->setCategory("Test result file"); + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); // Create a first sheet echo date('H:i:s') , " Add data" , EOL; $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setCellValue('A1', "Cell B3 and B5 contain data validation...") - ->setCellValue('A3', "Number:") - ->setCellValue('B3', "10") - ->setCellValue('A5', "List:") - ->setCellValue('B5', "Item A") - ->setCellValue('A7', "List #2:") - ->setCellValue('B7', "Item #2") - ->setCellValue('D2', "Item #1") - ->setCellValue('D3', "Item #2") - ->setCellValue('D4', "Item #3") - ->setCellValue('D5', "Item #4") - ->setCellValue('D6', "Item #5") - ; + ->setCellValue('A3', "Number:") + ->setCellValue('B3', "10") + ->setCellValue('A5', "List:") + ->setCellValue('B5', "Item A") + ->setCellValue('A7', "List #2:") + ->setCellValue('B7', "Item #2") + ->setCellValue('D2', "Item #1") + ->setCellValue('D3', "Item #2") + ->setCellValue('D4', "Item #3") + ->setCellValue('D5', "Item #4") + ->setCellValue('D6', "Item #5") + ->setCellValue('A9', 'Text:') + ; // Set data validation @@ -114,6 +115,18 @@ $objValidation->setPromptTitle('Pick from list'); $objValidation->setPrompt('Please pick a value from the drop-down list.'); $objValidation->setFormula1('$D$2:$D$6'); // Make sure NOT to put a range of cells or a formula between " and " !!! +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B9')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Text exceeds maximum length'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Maximum text length is 6 characters.'); +$objValidation->setFormula1(6); + // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); diff --git a/vendor/phpoffice/phpexcel/Examples/15datavalidation.php b/vendor/phpoffice/phpexcel/Examples/15datavalidation.php index 932bacc6f..132063d8e 100644 --- a/vendor/phpoffice/phpexcel/Examples/15datavalidation.php +++ b/vendor/phpoffice/phpexcel/Examples/15datavalidation.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -47,30 +47,31 @@ $objPHPExcel = new PHPExcel(); // Set document properties echo date('H:i:s') , " Set document properties" , EOL; $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") - ->setLastModifiedBy("Maarten Balliauw") - ->setTitle("Office 2007 XLSX Test Document") - ->setSubject("Office 2007 XLSX Test Document") - ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") - ->setKeywords("office 2007 openxml php") - ->setCategory("Test result file"); + ->setLastModifiedBy("Maarten Balliauw") + ->setTitle("Office 2007 XLSX Test Document") + ->setSubject("Office 2007 XLSX Test Document") + ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") + ->setKeywords("office 2007 openxml php") + ->setCategory("Test result file"); // Create a first sheet echo date('H:i:s') , " Add data" , EOL; $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setCellValue('A1', "Cell B3 and B5 contain data validation...") - ->setCellValue('A3', "Number:") - ->setCellValue('B3', "10") - ->setCellValue('A5', "List:") - ->setCellValue('B5', "Item A") - ->setCellValue('A7', "List #2:") - ->setCellValue('B7', "Item #2") - ->setCellValue('D2', "Item #1") - ->setCellValue('D3', "Item #2") - ->setCellValue('D4', "Item #3") - ->setCellValue('D5', "Item #4") - ->setCellValue('D6', "Item #5") - ; + ->setCellValue('A3', "Number:") + ->setCellValue('B3', "10") + ->setCellValue('A5', "List:") + ->setCellValue('B5', "Item A") + ->setCellValue('A7', "List #2:") + ->setCellValue('B7', "Item #2") + ->setCellValue('D2', "Item #1") + ->setCellValue('D3', "Item #2") + ->setCellValue('D4', "Item #3") + ->setCellValue('D5', "Item #4") + ->setCellValue('D6', "Item #5") + ->setCellValue('A9', 'Text:') + ; // Set data validation @@ -115,6 +116,18 @@ $objValidation->setPromptTitle('Pick from list'); $objValidation->setPrompt('Please pick a value from the drop-down list.'); $objValidation->setFormula1('$D$2:$D$6'); // Make sure NOT to put a range of cells or a formula between " and " !!! +$objValidation = $objPHPExcel->getActiveSheet()->getCell('B9')->getDataValidation(); +$objValidation->setType( PHPExcel_Cell_DataValidation::TYPE_TEXTLENGTH ); +$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation::STYLE_STOP ); +$objValidation->setAllowBlank(true); +$objValidation->setShowInputMessage(true); +$objValidation->setShowErrorMessage(true); +$objValidation->setErrorTitle('Input error'); +$objValidation->setError('Text exceeds maximum length'); +$objValidation->setPromptTitle('Allowed input'); +$objValidation->setPrompt('Maximum text length is 6 characters.'); +$objValidation->setFormula1(6); + // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); diff --git a/vendor/phpoffice/phpexcel/Examples/16csv.php b/vendor/phpoffice/phpexcel/Examples/16csv.php index 71ebfd00d..8d42fcbba 100644 --- a/vendor/phpoffice/phpexcel/Examples/16csv.php +++ b/vendor/phpoffice/phpexcel/Examples/16csv.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -46,7 +46,6 @@ $callStartTime = microtime(true); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter(',') ->setEnclosure('"') - ->setLineEnding("\r\n") ->setSheetIndex(0) ->save(str_replace('.php', '.csv', __FILE__)); $callEndTime = microtime(true); @@ -61,7 +60,6 @@ echo date('H:i:s') , " Read from CSV format" , EOL; $callStartTime = microtime(true); $objReader = PHPExcel_IOFactory::createReader('CSV')->setDelimiter(',') ->setEnclosure('"') - ->setLineEnding("\r\n") ->setSheetIndex(0); $objPHPExcelFromCSV = $objReader->load(str_replace('.php', '.csv', __FILE__)); diff --git a/vendor/phpoffice/phpexcel/Examples/17html.php b/vendor/phpoffice/phpexcel/Examples/17html.php index 0dc825b04..b84f8d4ed 100644 --- a/vendor/phpoffice/phpexcel/Examples/17html.php +++ b/vendor/phpoffice/phpexcel/Examples/17html.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php b/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php index 3c6fcb492..59aeb3005 100644 --- a/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php +++ b/vendor/phpoffice/phpexcel/Examples/18extendedcalculation.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/19namedrange.php b/vendor/phpoffice/phpexcel/Examples/19namedrange.php index acea22b6d..7876ea58b 100644 --- a/vendor/phpoffice/phpexcel/Examples/19namedrange.php +++ b/vendor/phpoffice/phpexcel/Examples/19namedrange.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/20readexcel5.php b/vendor/phpoffice/phpexcel/Examples/20readexcel5.php index 98eff9ec1..e26fe7e2e 100644 --- a/vendor/phpoffice/phpexcel/Examples/20readexcel5.php +++ b/vendor/phpoffice/phpexcel/Examples/20readexcel5.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/21pdf.php b/vendor/phpoffice/phpexcel/Examples/21pdf.php index 11c56b2ca..b26ddb8b1 100644 --- a/vendor/phpoffice/phpexcel/Examples/21pdf.php +++ b/vendor/phpoffice/phpexcel/Examples/21pdf.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php b/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php index c17bc8683..98c7d184e 100644 --- a/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php +++ b/vendor/phpoffice/phpexcel/Examples/22heavilyformatted.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php b/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php index 652b4ed2f..22eadba1c 100644 --- a/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php +++ b/vendor/phpoffice/phpexcel/Examples/23sharedstyles.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/24readfilter.php b/vendor/phpoffice/phpexcel/Examples/24readfilter.php index afa6d0c41..000d180a4 100644 --- a/vendor/phpoffice/phpexcel/Examples/24readfilter.php +++ b/vendor/phpoffice/phpexcel/Examples/24readfilter.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php b/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php index 7a3424e20..6c3b0b845 100644 --- a/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php +++ b/vendor/phpoffice/phpexcel/Examples/25inmemoryimage.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -75,9 +75,15 @@ $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo date('H:i:s') , " Write to HTML format" , EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML'); +$objWriter->save(str_replace('.php', '.html', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.html', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; + + // Echo memory peak usage echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; // Echo done echo date('H:i:s') , " Done writing file" , EOL; -echo 'File has been created in ' , getcwd() , EOL; +echo 'Files have been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/26utf8.php b/vendor/phpoffice/phpexcel/Examples/26utf8.php index ad0b40059..112c5c73f 100644 --- a/vendor/phpoffice/phpexcel/Examples/26utf8.php +++ b/vendor/phpoffice/phpexcel/Examples/26utf8.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php b/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php index 17db771c3..a4f6a9d7d 100644 --- a/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php +++ b/vendor/phpoffice/phpexcel/Examples/27imagesexcel5.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/28iterator.php b/vendor/phpoffice/phpexcel/Examples/28iterator.php index 3e1e681de..1ba9cbee0 100644 --- a/vendor/phpoffice/phpexcel/Examples/28iterator.php +++ b/vendor/phpoffice/phpexcel/Examples/28iterator.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -38,15 +38,11 @@ date_default_timezone_set('Europe/London'); require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; -if (!file_exists("05featuredemo.xlsx")) { - exit("Please run 05featuredemo.php first." . EOL); -} - echo date('H:i:s') , " Load from Excel2007 file" , EOL; $objReader = PHPExcel_IOFactory::createReader('Excel2007'); -$objPHPExcel = $objReader->load("05featuredemo.xlsx"); +$objPHPExcel = $objReader->load("./templates/28iterators.xlsx"); -echo date('H:i:s') , " Iterate worksheets" , EOL; +echo date('H:i:s') , " Iterate worksheets by Row" , EOL; foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { echo 'Worksheet - ' , $worksheet->getTitle() , EOL; @@ -64,5 +60,23 @@ foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { } +echo date('H:i:s') , " Iterate worksheets by Column" , EOL; +foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { + echo 'Worksheet - ' , $worksheet->getTitle() , EOL; + + foreach ($worksheet->getColumnIterator() as $column) { + echo ' Column index - ' , $column->getColumnIndex() , EOL; + + $cellIterator = $column->getCellIterator(); + $cellIterator->setIterateOnlyExistingCells(true); // Loop all cells, even if it is not set + foreach ($cellIterator as $cell) { + if (!is_null($cell)) { + echo ' Cell - ' , $cell->getCoordinate() , ' - ' , $cell->getCalculatedValue() , EOL; + } + } + } +} + + // Echo memory peak usage echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php b/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php index bb387f9cd..a172c6cde 100644 --- a/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php +++ b/vendor/phpoffice/phpexcel/Examples/29advancedvaluebinder.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/30template.php b/vendor/phpoffice/phpexcel/Examples/30template.php index 2b66c2ceb..1d9847a30 100644 --- a/vendor/phpoffice/phpexcel/Examples/30template.php +++ b/vendor/phpoffice/phpexcel/Examples/30template.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php b/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php index f3ad0a4bd..449486792 100644 --- a/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php +++ b/vendor/phpoffice/phpexcel/Examples/31docproperties_write-xls.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php b/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php index 3f5328c5e..a7c496aa0 100644 --- a/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php +++ b/vendor/phpoffice/phpexcel/Examples/31docproperties_write.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php b/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php index be1925a5b..55521ec10 100644 --- a/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php +++ b/vendor/phpoffice/phpexcel/Examples/32chartreadwrite.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php index 53fe52398..fac8ce93f 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-area.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php index cac29f29f..af9493f7a 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar-stacked.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php index 14fd5d485..653675d69 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-bar.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php index 00bf0d71b..0ade332c9 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column-2.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php index ae9c6185e..67f417847 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-column.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php index 8ea72126c..be7ad94a7 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-composite.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php index 145ae72e8..90c2e60c0 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-line.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php index a95c27633..0e5ac60e2 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-multiple-charts.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php index 5af02905b..78b6293f8 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-pie.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php index b8b427f3b..7d1047a42 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-radar.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -97,14 +97,15 @@ $dataSeriesValues = array( // Build the dataseries $series = new PHPExcel_Chart_DataSeries( - PHPExcel_Chart_DataSeries::TYPE_RADARCHART, // plotType - NULL, // plotGrouping (Radar charts don't have any grouping) - range(0, count($dataSeriesValues)-1), // plotOrder - $dataSeriesLabels, // plotLabel - $xAxisTickValues, // plotCategory - $dataSeriesValues, // plotValues - NULL, // smooth line - PHPExcel_Chart_DataSeries::STYLE_MARKER // plotStyle + PHPExcel_Chart_DataSeries::TYPE_RADARCHART, // plotType + NULL, // plotGrouping (Radar charts don't have any grouping) + range(0, count($dataSeriesValues)-1), // plotOrder + $dataSeriesLabels, // plotLabel + $xAxisTickValues, // plotCategory + $dataSeriesValues, // plotValues + NULL, // plotDirection + NULL, // smooth line + PHPExcel_Chart_DataSeries::STYLE_MARKER // plotStyle ); // Set up a layout object for the Pie chart diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php index 250c61d7e..a5fab8272 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-scatter.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -89,6 +89,7 @@ $series = new PHPExcel_Chart_DataSeries( $dataSeriesLabels, // plotLabel $xAxisTickValues, // plotCategory $dataSeriesValues, // plotValues + NULL, // plotDirection NULL, // smooth line PHPExcel_Chart_DataSeries::STYLE_LINEMARKER // plotStyle ); diff --git a/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php b/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php index b38fd5181..465107b3a 100644 --- a/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php +++ b/vendor/phpoffice/phpexcel/Examples/33chartcreate-stock.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/34chartupdate.php b/vendor/phpoffice/phpexcel/Examples/34chartupdate.php index cb586a318..f4b36c6bf 100644 --- a/vendor/phpoffice/phpexcel/Examples/34chartupdate.php +++ b/vendor/phpoffice/phpexcel/Examples/34chartupdate.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/35chartrender.php b/vendor/phpoffice/phpexcel/Examples/35chartrender.php index f0e79636b..62719e51d 100644 --- a/vendor/phpoffice/phpexcel/Examples/35chartrender.php +++ b/vendor/phpoffice/phpexcel/Examples/35chartrender.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php b/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php index b4bae11cb..7fc26fdee 100644 --- a/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php +++ b/vendor/phpoffice/phpexcel/Examples/36chartreadwriteHTML.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -46,7 +46,7 @@ include 'PHPExcel/IOFactory.php'; // Change these values to select the Rendering library that you wish to use // and its directory location on your server $rendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH; -$rendererLibrary = 'jpgraph3.5.0b1/src'; +$rendererLibrary = 'jpgraph3.5.0b1/src/'; $rendererLibraryPath = '/php/libraries/Charts/' . $rendererLibrary; diff --git a/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php b/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php index 10d62cd04..24d1c857b 100644 --- a/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php +++ b/vendor/phpoffice/phpexcel/Examples/36chartreadwritePDF.php @@ -13,7 +13,7 @@ date_default_timezone_set('Europe/London'); /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ date_default_timezone_set('Europe/London'); * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -69,7 +69,7 @@ if (!PHPExcel_Settings::setPdfRenderer( // Change these values to select the Rendering library that you wish to use // for Chart images, and its directory location on your server $rendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH; -$rendererLibrary = 'jpgraph3.5.0b1/src'; +$rendererLibrary = 'jpgraph3.5.0b1/src/'; $rendererLibraryPath = '/php/libraries/Charts/' . $rendererLibrary; diff --git a/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php b/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php index 070f512a2..810ca3d21 100644 --- a/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php +++ b/vendor/phpoffice/phpexcel/Examples/37page_layout_view.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php b/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php index 901b887ee..245f7da43 100644 --- a/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php +++ b/vendor/phpoffice/phpexcel/Examples/38cloneWorksheet.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/39dropdown.php b/vendor/phpoffice/phpexcel/Examples/39dropdown.php index 5dadc0992..c8dcff67c 100644 --- a/vendor/phpoffice/phpexcel/Examples/39dropdown.php +++ b/vendor/phpoffice/phpexcel/Examples/39dropdown.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/41password.php b/vendor/phpoffice/phpexcel/Examples/41password.php index 7b03e4f9a..15aea7ba0 100644 --- a/vendor/phpoffice/phpexcel/Examples/41password.php +++ b/vendor/phpoffice/phpexcel/Examples/41password.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/42richText.php b/vendor/phpoffice/phpexcel/Examples/42richText.php index 4e99b8535..32bc401fd 100644 --- a/vendor/phpoffice/phpexcel/Examples/42richText.php +++ b/vendor/phpoffice/phpexcel/Examples/42richText.php @@ -55,7 +55,7 @@ $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") // Add some data echo date('H:i:s') , " Add some data" , EOL; -$html1='<font color="#0000ff"> +$html1 = '<font color="#0000ff"> <h1 align="center">My very first example of rich text<br />generated from html markup</h1> <p> <font size="14" COLOR="rgb(0,255,128)"> @@ -64,11 +64,11 @@ while this block uses an <u>underline</u>. </font> </p> <p align="right"><font size="9" color="red"> -I want to eat <ins><del>healthy food</del><strong>pizza</strong></ins>. +I want to eat <ins><del>healthy food</del> <strong>pizza</strong></ins>. </font> '; -$html2='<p> +$html2 = '<p> <font color="#ff0000"> 100&deg;C is a hot temperature </font> @@ -78,9 +78,11 @@ $html2='<p> </font> </p>'; -$html3='2<sup>3</sup> equals 8'; +$html3 = '2<sup>3</sup> equals 8'; -$html4='H<sub>2</sub>SO<sub>4</sub> is the chemical formula for Sulphuric acid'; +$html4 = 'H<sub>2</sub>SO<sub>4</sub> is the chemical formula for Sulphuric acid'; + +$html5 = '<strong>bold</strong>, <em>italic</em>, <strong><em>bold+italic</em></strong>'; $wizard = new PHPExcel_Helper_HTML; @@ -97,7 +99,7 @@ $objPHPExcel->getActiveSheet()->getStyle('A1') $richText = $wizard->toRichTextObject($html2); -$objPHPExcel->setActiveSheetIndex(0) +$objPHPExcel->getActiveSheet() ->setCellValue('A2', $richText); $objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); @@ -105,12 +107,15 @@ $objPHPExcel->getActiveSheet()->getStyle('A2') ->getAlignment() ->setWrapText(true); -$objPHPExcel->setActiveSheetIndex(0) - ->setCellValue('A3', $wizard->toRichTextObject($html3)); +$objPHPExcel->getActiveSheet() + ->setCellValue('A3', $wizard->toRichTextObject($html3)); -$objPHPExcel->setActiveSheetIndex(0) +$objPHPExcel->getActiveSheet() ->setCellValue('A4', $wizard->toRichTextObject($html4)); +$objPHPExcel->getActiveSheet() + ->setCellValue('A5', $wizard->toRichTextObject($html5)); + // Rename worksheet echo date('H:i:s') , " Rename worksheet" , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/43mergeWorkbooks.php b/vendor/phpoffice/phpexcel/Examples/43mergeWorkbooks.php new file mode 100644 index 000000000..465b60a36 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/43mergeWorkbooks.php @@ -0,0 +1,91 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2015 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +echo date('H:i:s') , " Load MergeBook1 from Excel2007 file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel1 = PHPExcel_IOFactory::load(dirname(__FILE__) . "/templates/43mergeBook1.xlsx"); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Mergebook1 was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +echo date('H:i:s') , " Load MergeBook2 from Excel2007 file" , EOL; +$callStartTime = microtime(true); + +$objPHPExcel2 = PHPExcel_IOFactory::load(dirname(__FILE__) . "/templates/43mergeBook2.xlsx"); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; +echo 'Call time to read Mergebook2 was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +foreach($objPHPExcel2->getSheetNames() as $sheetName) { + $sheet = $objPHPExcel2->getSheetByName($sheetName); + $sheet->setTitle($sheet->getTitle() . ' copied'); + $objPHPExcel1->addExternalSheet($sheet); +} + + +echo date('H:i:s') , " Write to Excel2007 format" , EOL; +$callStartTime = microtime(true); + +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel1, 'Excel2007'); +$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); + +$callEndTime = microtime(true); +$callTime = $callEndTime - $callStartTime; + +echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; +echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; +// Echo memory usage +echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; + + +// Echo memory peak usage +echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; + +// Echo done +echo date('H:i:s') , " Done writing file" , EOL; +echo 'File has been created in ' , getcwd() , EOL; diff --git a/vendor/phpoffice/phpexcel/Examples/44worksheetInfo.php b/vendor/phpoffice/phpexcel/Examples/44worksheetInfo.php new file mode 100644 index 000000000..5aeefcbd8 --- /dev/null +++ b/vendor/phpoffice/phpexcel/Examples/44worksheetInfo.php @@ -0,0 +1,58 @@ +<?php +/** + * PHPExcel + * + * Copyright (c) 2006 - 2015 PHPExcel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * @category PHPExcel + * @package PHPExcel + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) + * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL + * @version ##VERSION##, ##DATE## + */ + +error_reporting(E_ALL); +ini_set('display_errors', TRUE); +ini_set('display_startup_errors', TRUE); + +define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); + +date_default_timezone_set('Europe/London'); + +/** Include PHPExcel_IOFactory */ +require_once dirname(__FILE__) . '/../Classes/PHPExcel/IOFactory.php'; + + +if (!file_exists("05featuredemo.xlsx")) { + exit("Please run 05featuredemo.php first." . EOL); +} + +$inputFileName = "05featuredemo.xlsx"; +$inputFileType = PHPExcel_IOFactory::identify($inputFileName); +$objReader = PHPExcel_IOFactory::createReader($inputFileType); +$sheetList = $objReader->listWorksheetNames($inputFileName); +$sheetInfo = $objReader->listWorksheetInfo($inputFileName); + +echo 'File Type:', PHP_EOL; +var_dump($inputFileType); + +echo 'Worksheet Names:', PHP_EOL; +var_dump($sheetList); + +echo 'Worksheet Names:', PHP_EOL; +var_dump($sheetInfo); + diff --git a/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php index 99d6df807..775c3d8db 100644 --- a/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php +++ b/vendor/phpoffice/phpexcel/Examples/Excel2003XMLReader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/GnumericReader.php b/vendor/phpoffice/phpexcel/Examples/GnumericReader.php index 5ea2c4f7a..387c897cc 100644 --- a/vendor/phpoffice/phpexcel/Examples/GnumericReader.php +++ b/vendor/phpoffice/phpexcel/Examples/GnumericReader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php b/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php index e278aae4d..18771e8e8 100644 --- a/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php +++ b/vendor/phpoffice/phpexcel/Examples/OOCalcReader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php b/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php index 45a5cdacb..2fc771cdd 100644 --- a/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php +++ b/vendor/phpoffice/phpexcel/Examples/OOCalcReaderPCLZip.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/SylkReader.php b/vendor/phpoffice/phpexcel/Examples/SylkReader.php index 8049ff0bf..1e77499df 100644 --- a/vendor/phpoffice/phpexcel/Examples/SylkReader.php +++ b/vendor/phpoffice/phpexcel/Examples/SylkReader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/XMLReader.php b/vendor/phpoffice/phpexcel/Examples/XMLReader.php index 1aa0f95f7..b5dfea87e 100644 --- a/vendor/phpoffice/phpexcel/Examples/XMLReader.php +++ b/vendor/phpoffice/phpexcel/Examples/XMLReader.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ diff --git a/vendor/phpoffice/phpexcel/Examples/runall.php b/vendor/phpoffice/phpexcel/Examples/runall.php index b2af1ccd0..153cb7657 100644 --- a/vendor/phpoffice/phpexcel/Examples/runall.php +++ b/vendor/phpoffice/phpexcel/Examples/runall.php @@ -2,7 +2,7 @@ /** * PHPExcel * - * Copyright (C) 2006 - 2014 PHPExcel + * Copyright (c) 2006 - 2015 PHPExcel * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ * * @category PHPExcel * @package PHPExcel - * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) + * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @version ##VERSION##, ##DATE## */ @@ -102,6 +102,8 @@ $aTests = array( , '40duplicateStyle.php' , '41password.php' , '42richText.php' + , '43mergeWorkbooks.php' + , '44worksheetInfo.php' , 'OOCalcReader.php' , 'OOCalcReaderPCLZip.php' , 'SylkReader.php' @@ -127,4 +129,4 @@ foreach ($aTests as $sTest) { echo shell_exec('php ' . $sTest); echo "\r\n"; echo "\r\n"; -} +} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/changelog.txt b/vendor/phpoffice/phpexcel/changelog.txt index 29377308d..d92923215 100644 --- a/vendor/phpoffice/phpexcel/changelog.txt +++ b/vendor/phpoffice/phpexcel/changelog.txt @@ -19,9 +19,25 @@ * * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL -* @version 1.8.1, 2015-04-30 +* @version ##VERSION##, ##DATE## ************************************************************************************** + +2018-11-22 (v1.8.2): +- Security (MBaker) - Fix and improve XXE security scanning for XML-based Readers +- Bugfix: (MBaker) - Fix to getCell() method when cell reference includes a worksheet reference +- Bugfix: (ncrypthic) Work Item GH-570 - Ignore inlineStr type if formula element exists +- Bugfix: (hernst42) Work Item GH-709 - Fixed missing renames of writeRelationShip (from _writeRelationShip) +- General: (umpirsky) Work Item GH-548 - Optimize vlookup() sort +- Bugfix: (MBaker) Work Item GH-554 - Whitespace after toRichTextObject() +- Feature: (MBaker) - Initial implementation of SUMIFS() function +- Feature: (MBaker) - Additional codepages +- Feature: (Tomino2112) Work Item GH-808 - MemoryDrawing not working in HTML writer +- General: (rentalhost) Work Item GH-575 - Excel 2007 Reader freezes because of conditional formatting +- Bugfix: (vitalyrepin) Pull Request 869 - c:max and c:min elements shall NOT be inside c:orientation elements +- General: (sim642) Pull Request 489 - Implement actual timezone adjustment into PHPExcel_Shared_Date::PHPToExcel + + 2015-04-30 (v1.8.1): - Bugfix: (goncons) Work Item GH-397 - Fix for Writing an Open Document cell with non-numeric formula - Bugfix: (sarciszewski) Work Item GH-329 - Avoid potential divide by zero in basedrawing @@ -60,8 +76,7 @@ (see http://projects.webappsec.org/w/page/13247002/XML%20Entity%20Expansion for an explanation of XEE injection) attacks Reference CVE-2015-3542 - Identification of problem courtesy of Dawid Golunski (Pentest Ltd.) - - 2014-03-02 (v1.8.0): +2014-03-02 (v1.8.0): - Bugfix: (MBaker) Work item CP19830 - Undefined variable: fileHandle in CSV Reader - Bugfix: (MBaker) Work item CP19968 - Out of memory in style/supervisor.php - Bugfix: (MBaker) - Style error with merged cells in PDF Writer diff --git a/vendor/phpoffice/phpexcel/composer.json b/vendor/phpoffice/phpexcel/composer.json index ff18cb842..8aa448025 100644 --- a/vendor/phpoffice/phpexcel/composer.json +++ b/vendor/phpoffice/phpexcel/composer.json @@ -2,33 +2,38 @@ "name": "phpoffice/phpexcel", "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", "keywords": ["PHP","Excel","OpenXML","xlsx","xls","spreadsheet"], - "homepage": "http://phpexcel.codeplex.com", + "homepage": "https://github.com/PHPOffice/PHPExcel", "type": "library", - "license": "LGPL", + "license": "LGPL-2.1", "authors": [ { "name": "Maarten Balliauw", "homepage": "http://blog.maartenballiauw.be" }, { - "name": "Mark Baker" + "name": "Mark Baker", + "homepage": "http://markbakeruk.net" }, { "name": "Franck Lefevre", - "homepage": "http://blog.rootslabs.net" + "homepage": "http://rootslabs.net" }, { "name": "Erik Tilt" } ], "require": { - "php": ">=5.2.0", + "php": "^5.2|^7.0", + "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*" }, + "require-dev": { + "squizlabs/php_codesniffer": "2.*" + }, "recommend": { "ext-zip": "*", - "ext-gd2": "*" + "ext-gd": "*" }, "autoload": { "psr-0": { diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php deleted file mode 100644 index 286ef627c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/AutoloaderTest.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php - - -class AutoloaderTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testAutoloaderNonPHPExcelClass() - { - $className = 'InvalidClass'; - - $result = PHPExcel_Autoloader::Load($className); - // Must return a boolean... - $this->assertTrue(is_bool($result)); - // ... indicating failure - $this->assertFalse($result); - } - - public function testAutoloaderInvalidPHPExcelClass() - { - $className = 'PHPExcel_Invalid_Class'; - - $result = PHPExcel_Autoloader::Load($className); - // Must return a boolean... - $this->assertTrue(is_bool($result)); - // ... indicating failure - $this->assertFalse($result); - } - - public function testAutoloadValidPHPExcelClass() - { - $className = 'PHPExcel_IOFactory'; - - $result = PHPExcel_Autoloader::Load($className); - // Check that class has been loaded - $this->assertTrue(class_exists($className)); - } - - public function testAutoloadInstantiateSuccess() - { - $result = new PHPExcel_Calculation_Function(1,2,3); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'PHPExcel_Calculation_Function')); - } - -} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php deleted file mode 100644 index d4bdc5abf..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/DateTimeTest.php +++ /dev/null @@ -1,466 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class DateTimeTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerDATE - */ - public function testDATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDATE() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/DATE.data'); - } - - public function testDATEtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::DATE(2012,1,31); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(1327968000, $result, NULL, 1E-8); - } - - public function testDATEtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::DATE(2012,1,31); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('d-M-Y'),'31-Jan-2012'); - } - - public function testDATEwith1904Calendar() - { - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); - $result = PHPExcel_Calculation_DateTime::DATE(1918,11,11); - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); - $this->assertEquals($result,5428); - } - - public function testDATEwith1904CalendarError() - { - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904); - $result = PHPExcel_Calculation_DateTime::DATE(1901,1,31); - PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900); - $this->assertEquals($result,'#NUM!'); - } - - /** - * @dataProvider providerDATEVALUE - */ - public function testDATEVALUE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATEVALUE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDATEVALUE() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/DATEVALUE.data'); - } - - public function testDATEVALUEtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::DATEVALUE('2012-1-31'); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(1327968000, $result, NULL, 1E-8); - } - - public function testDATEVALUEtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::DATEVALUE('2012-1-31'); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('d-M-Y'),'31-Jan-2012'); - } - - /** - * @dataProvider providerYEAR - */ - public function testYEAR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','YEAR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerYEAR() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/YEAR.data'); - } - - /** - * @dataProvider providerMONTH - */ - public function testMONTH() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','MONTHOFYEAR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerMONTH() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/MONTH.data'); - } - - /** - * @dataProvider providerWEEKNUM - */ - public function testWEEKNUM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','WEEKOFYEAR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerWEEKNUM() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/WEEKNUM.data'); - } - - /** - * @dataProvider providerWEEKDAY - */ - public function testWEEKDAY() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYOFWEEK'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerWEEKDAY() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/WEEKDAY.data'); - } - - /** - * @dataProvider providerDAY - */ - public function testDAY() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYOFMONTH'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDAY() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/DAY.data'); - } - - /** - * @dataProvider providerTIME - */ - public function testTIME() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','TIME'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerTIME() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/TIME.data'); - } - - public function testTIMEtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::TIME(7,30,20); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(27020, $result, NULL, 1E-8); - } - - public function testTIMEtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::TIME(7,30,20); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('H:i:s'),'07:30:20'); - } - - /** - * @dataProvider providerTIMEVALUE - */ - public function testTIMEVALUE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','TIMEVALUE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerTIMEVALUE() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/TIMEVALUE.data'); - } - - public function testTIMEVALUEtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::TIMEVALUE('7:30:20'); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(23420, $result, NULL, 1E-8); - } - - public function testTIMEVALUEtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::TIMEVALUE('7:30:20'); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('H:i:s'),'07:30:20'); - } - - /** - * @dataProvider providerHOUR - */ - public function testHOUR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','HOUROFDAY'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerHOUR() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/HOUR.data'); - } - - /** - * @dataProvider providerMINUTE - */ - public function testMINUTE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','MINUTEOFHOUR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerMINUTE() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/MINUTE.data'); - } - - /** - * @dataProvider providerSECOND - */ - public function testSECOND() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','SECONDOFMINUTE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerSECOND() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/SECOND.data'); - } - - /** - * @dataProvider providerNETWORKDAYS - */ - public function testNETWORKDAYS() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','NETWORKDAYS'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerNETWORKDAYS() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/NETWORKDAYS.data'); - } - - /** - * @dataProvider providerWORKDAY - */ - public function testWORKDAY() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','WORKDAY'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerWORKDAY() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/WORKDAY.data'); - } - - /** - * @dataProvider providerEDATE - */ - public function testEDATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','EDATE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerEDATE() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/EDATE.data'); - } - - public function testEDATEtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::EDATE('2012-1-26',-1); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(1324857600, $result, NULL, 1E-8); - } - - public function testEDATEtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::EDATE('2012-1-26',-1); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('d-M-Y'),'26-Dec-2011'); - } - - /** - * @dataProvider providerEOMONTH - */ - public function testEOMONTH() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','EOMONTH'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerEOMONTH() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/EOMONTH.data'); - } - - public function testEOMONTHtoPHP() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_NUMERIC); - $result = PHPExcel_Calculation_DateTime::EOMONTH('2012-1-26',-1); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - $this->assertEquals(1325289600, $result, NULL, 1E-8); - } - - public function testEOMONTHtoPHPObject() - { - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_PHP_OBJECT); - $result = PHPExcel_Calculation_DateTime::EOMONTH('2012-1-26',-1); - PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL); - // Must return an object... - $this->assertTrue(is_object($result)); - // ... of the correct type - $this->assertTrue(is_a($result,'DateTime')); - // ... with the correct value - $this->assertEquals($result->format('d-M-Y'),'31-Dec-2011'); - } - - /** - * @dataProvider providerDATEDIF - */ - public function testDATEDIF() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DATEDIF'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDATEDIF() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/DATEDIF.data'); - } - - /** - * @dataProvider providerDAYS360 - */ - public function testDAYS360() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','DAYS360'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDAYS360() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/DAYS360.data'); - } - - /** - * @dataProvider providerYEARFRAC - */ - public function testYEARFRAC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_DateTime','YEARFRAC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerYEARFRAC() - { - return new testDataFileIterator('rawTestData/Calculation/DateTime/YEARFRAC.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php deleted file mode 100644 index 1f511ffac..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/EngineeringTest.php +++ /dev/null @@ -1,698 +0,0 @@ -<?php - -// Custom assertion class for handling precision of Complex numbers -require_once 'custom/complexAssert.php'; - -// Data Provider handler -require_once 'testDataFileIterator.php'; - - -class EngineeringTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerBESSELI - */ - public function testBESSELI() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELI'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerBESSELI() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELI.data'); - } - - /** - * @dataProvider providerBESSELJ - */ - public function testBESSELJ() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELJ'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerBESSELJ() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELJ.data'); - } - - /** - * @dataProvider providerBESSELK - */ - public function testBESSELK() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELK'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerBESSELK() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELK.data'); - } - - /** - * @dataProvider providerBESSELY - */ - public function testBESSELY() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BESSELY'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerBESSELY() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BESSELY.data'); - } - - /** - * @dataProvider providerCOMPLEX - */ - public function testCOMPLEX() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','COMPLEX'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCOMPLEX() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/COMPLEX.data'); - } - - /** - * @dataProvider providerIMAGINARY - */ - public function testIMAGINARY() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMAGINARY'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIMAGINARY() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMAGINARY.data'); - } - - /** - * @dataProvider providerIMREAL - */ - public function testIMREAL() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMREAL'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIMREAL() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMREAL.data'); - } - - /** - * @dataProvider providerIMABS - */ - public function testIMABS() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMABS'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIMABS() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMABS.data'); - } - - /** - * @dataProvider providerIMARGUMENT - */ - public function testIMARGUMENT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMARGUMENT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIMARGUMENT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMARGUMENT.data'); - } - - /** - * @dataProvider providerIMCONJUGATE - */ - public function testIMCONJUGATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMCONJUGATE'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMCONJUGATE() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMCONJUGATE.data'); - } - - /** - * @dataProvider providerIMCOS - */ - public function testIMCOS() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMCOS'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMCOS() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMCOS.data'); - } - - /** - * @dataProvider providerIMDIV - */ - public function testIMDIV() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMDIV'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMDIV() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMDIV.data'); - } - - /** - * @dataProvider providerIMEXP - */ - public function testIMEXP() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMEXP'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMEXP() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMEXP.data'); - } - - /** - * @dataProvider providerIMLN - */ - public function testIMLN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLN'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMLN() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLN.data'); - } - - /** - * @dataProvider providerIMLOG2 - */ - public function testIMLOG2() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLOG2'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMLOG2() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLOG2.data'); - } - - /** - * @dataProvider providerIMLOG10 - */ - public function testIMLOG10() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMLOG10'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMLOG10() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMLOG10.data'); - } - - /** - * @dataProvider providerIMPOWER - */ - public function testIMPOWER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMPOWER'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMPOWER() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMPOWER.data'); - } - - /** - * @dataProvider providerIMPRODUCT - */ - public function testIMPRODUCT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMPRODUCT'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMPRODUCT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMPRODUCT.data'); - } - - /** - * @dataProvider providerIMSIN - */ - public function testIMSIN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSIN'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMSIN() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSIN.data'); - } - - /** - * @dataProvider providerIMSQRT - */ - public function testIMSQRT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSQRT'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMSQRT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSQRT.data'); - } - - /** - * @dataProvider providerIMSUB - */ - public function testIMSUB() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSUB'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMSUB() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSUB.data'); - } - - /** - * @dataProvider providerIMSUM - */ - public function testIMSUM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','IMSUM'),$args); - $complexAssert = new complexAssert(); - $this->assertTrue($complexAssert->assertComplexEquals($expectedResult, $result, 1E-8), - $complexAssert->getErrorMessage()); - } - - public function providerIMSUM() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/IMSUM.data'); - } - - /** - * @dataProvider providerERF - */ - public function testERF() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','ERF'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerERF() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/ERF.data'); - } - - /** - * @dataProvider providerERFC - */ - public function testERFC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','ERFC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerERFC() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/ERFC.data'); - } - - /** - * @dataProvider providerBIN2DEC - */ - public function testBIN2DEC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTODEC'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerBIN2DEC() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2DEC.data'); - } - - /** - * @dataProvider providerBIN2HEX - */ - public function testBIN2HEX() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTOHEX'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerBIN2HEX() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2HEX.data'); - } - - /** - * @dataProvider providerBIN2OCT - */ - public function testBIN2OCT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','BINTOOCT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerBIN2OCT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/BIN2OCT.data'); - } - - /** - * @dataProvider providerDEC2BIN - */ - public function testDEC2BIN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOBIN'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerDEC2BIN() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2BIN.data'); - } - - /** - * @dataProvider providerDEC2HEX - */ - public function testDEC2HEX() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOHEX'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerDEC2HEX() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2HEX.data'); - } - - /** - * @dataProvider providerDEC2OCT - */ - public function testDEC2OCT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DECTOOCT'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerDEC2OCT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/DEC2OCT.data'); - } - - /** - * @dataProvider providerHEX2BIN - */ - public function testHEX2BIN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTOBIN'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerHEX2BIN() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2BIN.data'); - } - - /** - * @dataProvider providerHEX2DEC - */ - public function testHEX2DEC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTODEC'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerHEX2DEC() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2DEC.data'); - } - - /** - * @dataProvider providerHEX2OCT - */ - public function testHEX2OCT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','HEXTOOCT'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerHEX2OCT() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/HEX2OCT.data'); - } - - /** - * @dataProvider providerOCT2BIN - */ - public function testOCT2BIN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTOBIN'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerOCT2BIN() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2BIN.data'); - } - - /** - * @dataProvider providerOCT2DEC - */ - public function testOCT2DEC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTODEC'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerOCT2DEC() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2DEC.data'); - } - - /** - * @dataProvider providerOCT2HEX - */ - public function testOCT2HEX() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','OCTTOHEX'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerOCT2HEX() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/OCT2HEX.data'); - } - - /** - * @dataProvider providerDELTA - */ - public function testDELTA() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','DELTA'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerDELTA() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/DELTA.data'); - } - - /** - * @dataProvider providerGESTEP - */ - public function testGESTEP() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','GESTEP'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerGESTEP() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/GESTEP.data'); - } - - public function testGetConversionGroups() - { - $result = PHPExcel_Calculation_Engineering::getConversionGroups(); - $this->assertInternalType('array', $result); - } - - public function testGetConversionGroupUnits() - { - $result = PHPExcel_Calculation_Engineering::getConversionGroupUnits(); - $this->assertInternalType('array', $result); - } - - public function testGetConversionGroupUnitDetails() - { - $result = PHPExcel_Calculation_Engineering::getConversionGroupUnitDetails(); - $this->assertInternalType('array', $result); - } - - public function testGetConversionMultipliers() - { - $result = PHPExcel_Calculation_Engineering::getConversionMultipliers(); - $this->assertInternalType('array', $result); - } - - /** - * @dataProvider providerCONVERTUOM - */ - public function testCONVERTUOM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Engineering','CONVERTUOM'),$args); - $this->assertEquals($expectedResult, $result, NULL); - } - - public function providerCONVERTUOM() - { - return new testDataFileIterator('rawTestData/Calculation/Engineering/CONVERTUOM.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php deleted file mode 100644 index f5689c950..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FinancialTest.php +++ /dev/null @@ -1,516 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class FinancialTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerACCRINT - */ - public function testACCRINT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ACCRINT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerACCRINT() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/ACCRINT.data'); - } - - /** - * @dataProvider providerACCRINTM - */ - public function testACCRINTM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ACCRINTM'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerACCRINTM() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/ACCRINTM.data'); - } - - /** - * @dataProvider providerAMORDEGRC - */ - public function testAMORDEGRC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','AMORDEGRC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerAMORDEGRC() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/AMORDEGRC.data'); - } - - /** - * @dataProvider providerAMORLINC - */ - public function testAMORLINC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','AMORLINC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerAMORLINC() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/AMORLINC.data'); - } - - /** - * @dataProvider providerCOUPDAYBS - */ - public function testCOUPDAYBS() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYBS'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPDAYBS() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYBS.data'); - } - - /** - * @dataProvider providerCOUPDAYS - */ - public function testCOUPDAYS() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYS'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPDAYS() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYS.data'); - } - - /** - * @dataProvider providerCOUPDAYSNC - */ - public function testCOUPDAYSNC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPDAYSNC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPDAYSNC() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPDAYSNC.data'); - } - - /** - * @dataProvider providerCOUPNCD - */ - public function testCOUPNCD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPNCD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPNCD() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPNCD.data'); - } - - /** - * @dataProvider providerCOUPNUM - */ - public function testCOUPNUM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPNUM'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPNUM() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPNUM.data'); - } - - /** - * @dataProvider providerCOUPPCD - */ - public function testCOUPPCD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','COUPPCD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCOUPPCD() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/COUPPCD.data'); - } - - /** - * @dataProvider providerCUMIPMT - */ - public function testCUMIPMT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','CUMIPMT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCUMIPMT() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/CUMIPMT.data'); - } - - /** - * @dataProvider providerCUMPRINC - */ - public function testCUMPRINC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','CUMPRINC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerCUMPRINC() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/CUMPRINC.data'); - } - - /** - * @dataProvider providerDB - */ - public function testDB() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DB'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDB() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/DB.data'); - } - - /** - * @dataProvider providerDDB - */ - public function testDDB() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DDB'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDDB() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/DDB.data'); - } - - /** - * @dataProvider providerDISC - */ - public function testDISC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DISC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDISC() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/DISC.data'); - } - - /** - * @dataProvider providerDOLLARDE - */ - public function testDOLLARDE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DOLLARDE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDOLLARDE() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/DOLLARDE.data'); - } - - /** - * @dataProvider providerDOLLARFR - */ - public function testDOLLARFR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','DOLLARFR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerDOLLARFR() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/DOLLARFR.data'); - } - - /** - * @dataProvider providerEFFECT - */ - public function testEFFECT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','EFFECT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerEFFECT() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/EFFECT.data'); - } - - /** - * @dataProvider providerFV - */ - public function testFV() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','FV'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerFV() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/FV.data'); - } - - /** - * @dataProvider providerFVSCHEDULE - */ - public function testFVSCHEDULE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','FVSCHEDULE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerFVSCHEDULE() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/FVSCHEDULE.data'); - } - - /** - * @dataProvider providerINTRATE - */ - public function testINTRATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','INTRATE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerINTRATE() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/INTRATE.data'); - } - - /** - * @dataProvider providerIPMT - */ - public function testIPMT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','IPMT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIPMT() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/IPMT.data'); - } - - /** - * @dataProvider providerIRR - */ - public function testIRR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','IRR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIRR() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/IRR.data'); - } - - /** - * @dataProvider providerISPMT - */ - public function testISPMT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','ISPMT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerISPMT() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/ISPMT.data'); - } - - /** - * @dataProvider providerMIRR - */ - public function testMIRR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','MIRR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerMIRR() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/MIRR.data'); - } - - /** - * @dataProvider providerNOMINAL - */ - public function testNOMINAL() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NOMINAL'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerNOMINAL() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/NOMINAL.data'); - } - - /** - * @dataProvider providerNPER - */ - public function testNPER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NPER'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerNPER() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/NPER.data'); - } - - /** - * @dataProvider providerNPV - */ - public function testNPV() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','NPV'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerNPV() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/NPV.data'); - } - - /** - * @dataProvider providerPRICE - */ - public function testPRICE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','PRICE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerPRICE() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/PRICE.data'); - } - - /** - * @dataProvider providerRATE - */ - public function testRATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','RATE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerRATE() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/RATE.data'); - } - - /** - * @dataProvider providerXIRR - */ - public function testXIRR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Financial','XIRR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerXIRR() - { - return new testDataFileIterator('rawTestData/Calculation/Financial/XIRR.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php deleted file mode 100644 index 013332940..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/FunctionsTest.php +++ /dev/null @@ -1,276 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class FunctionsTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - public function testDUMMY() - { - $result = PHPExcel_Calculation_Functions::DUMMY(); - $this->assertEquals('#Not Yet Implemented', $result); - } - - public function testDIV0() - { - $result = PHPExcel_Calculation_Functions::DIV0(); - $this->assertEquals('#DIV/0!', $result); - } - - public function testNA() - { - $result = PHPExcel_Calculation_Functions::NA(); - $this->assertEquals('#N/A', $result); - } - - public function testNaN() - { - $result = PHPExcel_Calculation_Functions::NaN(); - $this->assertEquals('#NUM!', $result); - } - - public function testNAME() - { - $result = PHPExcel_Calculation_Functions::NAME(); - $this->assertEquals('#NAME?', $result); - } - - public function testREF() - { - $result = PHPExcel_Calculation_Functions::REF(); - $this->assertEquals('#REF!', $result); - } - - public function testNULL() - { - $result = PHPExcel_Calculation_Functions::NULL(); - $this->assertEquals('#NULL!', $result); - } - - public function testVALUE() - { - $result = PHPExcel_Calculation_Functions::VALUE(); - $this->assertEquals('#VALUE!', $result); - } - - /** - * @dataProvider providerIS_BLANK - */ - public function testIS_BLANK() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_BLANK'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_BLANK() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_BLANK.data'); - } - - /** - * @dataProvider providerIS_ERR - */ - public function testIS_ERR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ERR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_ERR() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ERR.data'); - } - - /** - * @dataProvider providerIS_ERROR - */ - public function testIS_ERROR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ERROR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_ERROR() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ERROR.data'); - } - - /** - * @dataProvider providerERROR_TYPE - */ - public function testERROR_TYPE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','ERROR_TYPE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerERROR_TYPE() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/ERROR_TYPE.data'); - } - - /** - * @dataProvider providerIS_LOGICAL - */ - public function testIS_LOGICAL() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_LOGICAL'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_LOGICAL() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_LOGICAL.data'); - } - - /** - * @dataProvider providerIS_NA - */ - public function testIS_NA() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NA'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_NA() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NA.data'); - } - - /** - * @dataProvider providerIS_NUMBER - */ - public function testIS_NUMBER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NUMBER'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_NUMBER() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NUMBER.data'); - } - - /** - * @dataProvider providerIS_TEXT - */ - public function testIS_TEXT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_TEXT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_TEXT() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_TEXT.data'); - } - - /** - * @dataProvider providerIS_NONTEXT - */ - public function testIS_NONTEXT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_NONTEXT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_NONTEXT() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_NONTEXT.data'); - } - - /** - * @dataProvider providerIS_EVEN - */ - public function testIS_EVEN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_EVEN'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_EVEN() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_EVEN.data'); - } - - /** - * @dataProvider providerIS_ODD - */ - public function testIS_ODD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','IS_ODD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerIS_ODD() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/IS_ODD.data'); - } - - /** - * @dataProvider providerTYPE - */ - public function testTYPE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','TYPE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerTYPE() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/TYPE.data'); - } - - /** - * @dataProvider providerN - */ - public function testN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Functions','N'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerN() - { - return new testDataFileIterator('rawTestData/Calculation/Functions/N.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php deleted file mode 100644 index cc8f8b333..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LogicalTest.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class LogicalTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - public function testTRUE() - { - $result = PHPExcel_Calculation_Logical::TRUE(); - $this->assertEquals(TRUE, $result); - } - - public function testFALSE() - { - $result = PHPExcel_Calculation_Logical::FALSE(); - $this->assertEquals(FALSE, $result); - } - - /** - * @dataProvider providerAND - */ - public function testAND() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_AND'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerAND() - { - return new testDataFileIterator('rawTestData/Calculation/Logical/AND.data'); - } - - /** - * @dataProvider providerOR - */ - public function testOR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_OR'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerOR() - { - return new testDataFileIterator('rawTestData/Calculation/Logical/OR.data'); - } - - /** - * @dataProvider providerNOT - */ - public function testNOT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Logical','NOT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerNOT() - { - return new testDataFileIterator('rawTestData/Calculation/Logical/NOT.data'); - } - - /** - * @dataProvider providerIF - */ - public function testIF() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Logical','STATEMENT_IF'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerIF() - { - return new testDataFileIterator('rawTestData/Calculation/Logical/IF.data'); - } - - /** - * @dataProvider providerIFERROR - */ - public function testIFERROR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_Logical','IFERROR'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerIFERROR() - { - return new testDataFileIterator('rawTestData/Calculation/Logical/IFERROR.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php deleted file mode 100644 index 6450b0822..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/LookupRefTest.php +++ /dev/null @@ -1,52 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class LookupRefTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerHLOOKUP - */ - public function testHLOOKUP() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_LookupRef','HLOOKUP'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerHLOOKUP() - { - return new testDataFileIterator('rawTestData/Calculation/LookupRef/HLOOKUP.data'); - } - - /** - * @dataProvider providerVLOOKUP - */ - public function testVLOOKUP() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_LookupRef','VLOOKUP'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerVLOOKUP() - { - return new testDataFileIterator('rawTestData/Calculation/LookupRef/VLOOKUP.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php deleted file mode 100644 index 0059ed08e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/MathTrigTest.php +++ /dev/null @@ -1,560 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class MathTrigTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerATAN2 - */ - public function testATAN2() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ATAN2'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerATAN2() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/ATAN2.data'); - } - - /** - * @dataProvider providerCEILING - */ - public function testCEILING() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','CEILING'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerCEILING() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/CEILING.data'); - } - - /** - * @dataProvider providerCOMBIN - */ - public function testCOMBIN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','COMBIN'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerCOMBIN() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/COMBIN.data'); - } - - /** - * @dataProvider providerEVEN - */ - public function testEVEN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','EVEN'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerEVEN() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/EVEN.data'); - } - - /** - * @dataProvider providerODD - */ - public function testODD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ODD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerODD() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/ODD.data'); - } - - /** - * @dataProvider providerFACT - */ - public function testFACT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FACT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerFACT() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/FACT.data'); - } - - /** - * @dataProvider providerFACTDOUBLE - */ - public function testFACTDOUBLE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FACTDOUBLE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerFACTDOUBLE() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/FACTDOUBLE.data'); - } - - /** - * @dataProvider providerFLOOR - */ - public function testFLOOR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','FLOOR'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerFLOOR() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/FLOOR.data'); - } - - /** - * @dataProvider providerGCD - */ - public function testGCD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','GCD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerGCD() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/GCD.data'); - } - - /** - * @dataProvider providerLCM - */ - public function testLCM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','LCM'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerLCM() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/LCM.data'); - } - - /** - * @dataProvider providerINT - */ - public function testINT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','INT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerINT() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/INT.data'); - } - - /** - * @dataProvider providerSIGN - */ - public function testSIGN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SIGN'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerSIGN() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/SIGN.data'); - } - - /** - * @dataProvider providerPOWER - */ - public function testPOWER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','POWER'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerPOWER() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/POWER.data'); - } - - /** - * @dataProvider providerLOG - */ - public function testLOG() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','LOG_BASE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerLOG() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/LOG.data'); - } - - /** - * @dataProvider providerMOD - */ - public function testMOD() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MOD'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMOD() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MOD.data'); - } - - /** - * @dataProvider providerMDETERM - */ - public function testMDETERM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MDETERM'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMDETERM() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MDETERM.data'); - } - - /** - * @dataProvider providerMINVERSE - */ - public function testMINVERSE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MINVERSE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMINVERSE() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MINVERSE.data'); - } - - /** - * @dataProvider providerMMULT - */ - public function testMMULT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MMULT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMMULT() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MMULT.data'); - } - - /** - * @dataProvider providerMULTINOMIAL - */ - public function testMULTINOMIAL() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MULTINOMIAL'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMULTINOMIAL() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MULTINOMIAL.data'); - } - - /** - * @dataProvider providerMROUND - */ - public function testMROUND() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_VALUE); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','MROUND'),$args); - PHPExcel_Calculation::setArrayReturnType(PHPExcel_Calculation::RETURN_ARRAY_AS_ARRAY); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerMROUND() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/MROUND.data'); - } - - /** - * @dataProvider providerPRODUCT - */ - public function testPRODUCT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','PRODUCT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerPRODUCT() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/PRODUCT.data'); - } - - /** - * @dataProvider providerQUOTIENT - */ - public function testQUOTIENT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','QUOTIENT'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerQUOTIENT() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/QUOTIENT.data'); - } - - /** - * @dataProvider providerROUNDUP - */ - public function testROUNDUP() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROUNDUP'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerROUNDUP() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROUNDUP.data'); - } - - /** - * @dataProvider providerROUNDDOWN - */ - public function testROUNDDOWN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROUNDDOWN'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerROUNDDOWN() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROUNDDOWN.data'); - } - - /** - * @dataProvider providerSERIESSUM - */ - public function testSERIESSUM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SERIESSUM'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerSERIESSUM() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/SERIESSUM.data'); - } - - /** - * @dataProvider providerSUMSQ - */ - public function testSUMSQ() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SUMSQ'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerSUMSQ() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/SUMSQ.data'); - } - - /** - * @dataProvider providerTRUNC - */ - public function testTRUNC() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','TRUNC'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerTRUNC() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/TRUNC.data'); - } - - /** - * @dataProvider providerROMAN - */ - public function testROMAN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','ROMAN'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerROMAN() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/ROMAN.data'); - } - - /** - * @dataProvider providerSQRTPI - */ - public function testSQRTPI() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig','SQRTPI'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerSQRTPI() - { - return new testDataFileIterator('rawTestData/Calculation/MathTrig/SQRTPI.data'); - } - - /** - * @dataProvider providerSUMIF - */ - public function testSUMIF() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_MathTrig', 'SUMIF'), $args); - $this->assertEquals($expectedResult, $result, NULL, 1E-12); - } - - public function providerSUMIF() - { - return array( - array( - array( - array(1), - array(5), - array(10), - ), - '>=5', - 15, - ), - array( - array( - array('text'), - array(2), - ), - '=text', - array( - array(10), - array(100), - ), - 10, - ), - array( - array( - array('"text with quotes"'), - array(2), - ), - '="text with quotes"', - array( - array(10), - array(100), - ), - 10, - ), - array( - array( - array('"text with quotes"'), - array(''), - ), - '>"', // Compare to the single characater " (double quote) - array( - array(10), - array(100), - ), - 10 - ), - array( - array( - array(''), - array('anything'), - ), - '>"', // Compare to the single characater " (double quote) - array( - array(10), - array(100), - ), - 100 - ), - ); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php deleted file mode 100644 index 4b1caf517..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php +++ /dev/null @@ -1,365 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class TextDataTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerCHAR - */ - public function testCHAR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','CHARACTER'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCHAR() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/CHAR.data'); - } - - /** - * @dataProvider providerCODE - */ - public function testCODE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','ASCIICODE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCODE() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/CODE.data'); - } - - /** - * @dataProvider providerCONCATENATE - */ - public function testCONCATENATE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','CONCATENATE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCONCATENATE() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/CONCATENATE.data'); - } - - /** - * @dataProvider providerLEFT - */ - public function testLEFT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','LEFT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerLEFT() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/LEFT.data'); - } - - /** - * @dataProvider providerMID - */ - public function testMID() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','MID'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerMID() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/MID.data'); - } - - /** - * @dataProvider providerRIGHT - */ - public function testRIGHT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','RIGHT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerRIGHT() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/RIGHT.data'); - } - - /** - * @dataProvider providerLOWER - */ - public function testLOWER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','LOWERCASE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerLOWER() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/LOWER.data'); - } - - /** - * @dataProvider providerUPPER - */ - public function testUPPER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','UPPERCASE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerUPPER() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/UPPER.data'); - } - - /** - * @dataProvider providerPROPER - */ - public function testPROPER() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','PROPERCASE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerPROPER() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/PROPER.data'); - } - - /** - * @dataProvider providerLEN - */ - public function testLEN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','STRINGLENGTH'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerLEN() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/LEN.data'); - } - - /** - * @dataProvider providerSEARCH - */ - public function testSEARCH() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SEARCHINSENSITIVE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerSEARCH() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/SEARCH.data'); - } - - /** - * @dataProvider providerFIND - */ - public function testFIND() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SEARCHSENSITIVE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerFIND() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/FIND.data'); - } - - /** - * @dataProvider providerREPLACE - */ - public function testREPLACE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','REPLACE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerREPLACE() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/REPLACE.data'); - } - - /** - * @dataProvider providerSUBSTITUTE - */ - public function testSUBSTITUTE() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','SUBSTITUTE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerSUBSTITUTE() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/SUBSTITUTE.data'); - } - - /** - * @dataProvider providerTRIM - */ - public function testTRIM() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TRIMSPACES'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerTRIM() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/TRIM.data'); - } - - /** - * @dataProvider providerCLEAN - */ - public function testCLEAN() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TRIMNONPRINTABLE'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCLEAN() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/CLEAN.data'); - } - - /** - * @dataProvider providerDOLLAR - */ - public function testDOLLAR() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','DOLLAR'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerDOLLAR() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/DOLLAR.data'); - } - - /** - * @dataProvider providerFIXED - */ - public function testFIXED() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','FIXEDFORMAT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerFIXED() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/FIXED.data'); - } - - /** - * @dataProvider providerT - */ - public function testT() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','RETURNSTRING'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerT() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/T.data'); - } - - /** - * @dataProvider providerTEXT - */ - public function testTEXT() - { - // Enforce decimal and thousands separator values to UK/US, and currency code to USD - call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),'.'); - call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),','); - call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),'$'); - - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','TEXTFORMAT'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerTEXT() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/TEXT.data'); - } - - /** - * @dataProvider providerVALUE - */ - public function testVALUE() - { - call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),'.'); - call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),' '); - call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),'$'); - - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Calculation_TextData','VALUE'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-8); - } - - public function providerVALUE() - { - return new testDataFileIterator('rawTestData/Calculation/TextData/VALUE.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php deleted file mode 100644 index 1de827ca8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CalculationTest.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php - -require_once 'testDataFileIterator.php'; - -class CalculationTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - } - - /** - * @dataProvider providerBinaryComparisonOperation - */ - public function testBinaryComparisonOperation($formula, $expectedResultExcel, $expectedResultOpenOffice) - { - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL); - $resultExcel = \PHPExcel_Calculation::getInstance()->_calculateFormulaValue($formula); - $this->assertEquals($expectedResultExcel, $resultExcel, 'should be Excel compatible'); - - PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_OPENOFFICE); - $resultOpenOffice = \PHPExcel_Calculation::getInstance()->_calculateFormulaValue($formula); - $this->assertEquals($expectedResultOpenOffice, $resultOpenOffice, 'should be OpenOffice compatible'); - } - - public function providerBinaryComparisonOperation() - { - return new testDataFileIterator('rawTestData/CalculationBinaryComparisonOperation.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php deleted file mode 100644 index 0a6ca54da..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/AdvancedValueBinderTest.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -class AdvancedValueBinderTest extends PHPUnit_Framework_TestCase -{ - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function provider() - { - if (!class_exists('PHPExcel_Style_NumberFormat')) { - $this->setUp(); - } - $currencyUSD = PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE; - $currencyEURO = str_replace('$', '€', PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_USD_SIMPLE); - - return array( - array('10%', 0.1, PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00, ',', '.', '$'), - array('$10.11', 10.11, $currencyUSD, ',', '.', '$'), - array('$1,010.12', 1010.12, $currencyUSD, ',', '.', '$'), - array('$20,20', 20.2, $currencyUSD, '.', ',', '$'), - array('$2.020,20', 2020.2, $currencyUSD, '.', ',', '$'), - array('€2.020,20', 2020.2, $currencyEURO, '.', ',', '€'), - array('€ 2.020,20', 2020.2, $currencyEURO, '.', ',', '€'), - array('€2,020.22', 2020.22, $currencyEURO, ',', '.', '€'), - ); - } - - /** - * @dataProvider provider - */ - public function testCurrency($value, $valueBinded, $format, $thousandsSeparator, $decimalSeparator, $currencyCode) - { - $sheet = $this->getMock( - 'PHPExcel_Worksheet', - array('getStyle', 'getNumberFormat', 'setFormatCode','getCellCacheController') - ); - $cache = $this->getMockBuilder('PHPExcel_CachedObjectStorage_Memory') - ->disableOriginalConstructor() - ->getMock(); - $cache->expects($this->any()) - ->method('getParent') - ->will($this->returnValue($sheet)); - - $sheet->expects($this->once()) - ->method('getStyle') - ->will($this->returnSelf()); - $sheet->expects($this->once()) - ->method('getNumberFormat') - ->will($this->returnSelf()); - $sheet->expects($this->once()) - ->method('setFormatCode') - ->with($format) - ->will($this->returnSelf()); - $sheet->expects($this->any()) - ->method('getCellCacheController') - ->will($this->returnValue($cache)); - - PHPExcel_Shared_String::setCurrencyCode($currencyCode); - PHPExcel_Shared_String::setDecimalSeparator($decimalSeparator); - PHPExcel_Shared_String::setThousandsSeparator($thousandsSeparator); - - $cell = new PHPExcel_Cell(NULL, PHPExcel_Cell_DataType::TYPE_STRING, $sheet); - - $binder = new PHPExcel_Cell_AdvancedValueBinder(); - $binder->bindValue($cell, $value); - $this->assertEquals($valueBinded, $cell->getValue()); - } -} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php deleted file mode 100644 index c17c5d0fc..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DataTypeTest.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - - -class DataTypeTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testGetErrorCodes() - { - $result = call_user_func(array('PHPExcel_Cell_DataType','getErrorCodes')); - $this->assertInternalType('array', $result); - $this->assertGreaterThan(0, count($result)); - $this->assertArrayHasKey('#NULL!', $result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php deleted file mode 100644 index 1c74d96f6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/DefaultValueBinderTest.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php - -require_once 'testDataFileIterator.php'; - -class DefaultValueBinderTest extends PHPUnit_Framework_TestCase -{ - protected $cellStub; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - protected function createCellStub() - { - // Create a stub for the Cell class. - $this->cellStub = $this->getMockBuilder('PHPExcel_Cell') - ->disableOriginalConstructor() - ->getMock(); - // Configure the stub. - $this->cellStub->expects($this->any()) - ->method('setValueExplicit') - ->will($this->returnValue(true)); - - } - - /** - * @dataProvider binderProvider - */ - public function testBindValue($value) - { - $this->createCellStub(); - $binder = new PHPExcel_Cell_DefaultValueBinder(); - $result = $binder->bindValue($this->cellStub, $value); - $this->assertTrue($result); - } - - public function binderProvider() - { - return array( - array(null), - array(''), - array('ABC'), - array('=SUM(A1:B2)'), - array(true), - array(false), - array(123), - array(-123.456), - array('123'), - array('-123.456'), - array('#REF!'), - array(new DateTime()), - ); - } - - /** - * @dataProvider providerDataTypeForValue - */ - public function testDataTypeForValue() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $args); - $this->assertEquals($expectedResult, $result); - } - - public function providerDataTypeForValue() - { - return new testDataFileIterator('rawTestData/Cell/DefaultValueBinder.data'); - } - - public function testDataTypeForRichTextObject() - { - $objRichText = new PHPExcel_RichText(); - $objRichText->createText('Hello World'); - - $expectedResult = PHPExcel_Cell_DataType::TYPE_INLINE; - $result = call_user_func(array('PHPExcel_Cell_DefaultValueBinder','dataTypeForValue'), $objRichText); - $this->assertEquals($expectedResult, $result); - } -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php deleted file mode 100644 index 54910cfd5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Cell/HyperlinkTest.php +++ /dev/null @@ -1,88 +0,0 @@ -<?php - - -class HyperlinkTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testGetUrl() - { - $urlValue = 'http://www.phpexcel.net'; - - $testInstance = new PHPExcel_Cell_Hyperlink($urlValue); - - $result = $testInstance->getUrl(); - $this->assertEquals($urlValue,$result); - } - - public function testSetUrl() - { - $initialUrlValue = 'http://www.phpexcel.net'; - $newUrlValue = 'http://github.com/PHPOffice/PHPExcel'; - - $testInstance = new PHPExcel_Cell_Hyperlink($initialUrlValue); - $result = $testInstance->setUrl($newUrlValue); - $this->assertTrue($result instanceof PHPExcel_Cell_Hyperlink); - - $result = $testInstance->getUrl(); - $this->assertEquals($newUrlValue,$result); - } - - public function testGetTooltip() - { - $tooltipValue = 'PHPExcel Web Site'; - - $testInstance = new PHPExcel_Cell_Hyperlink(NULL, $tooltipValue); - - $result = $testInstance->getTooltip(); - $this->assertEquals($tooltipValue,$result); - } - - public function testSetTooltip() - { - $initialTooltipValue = 'PHPExcel Web Site'; - $newTooltipValue = 'PHPExcel Repository on Github'; - - $testInstance = new PHPExcel_Cell_Hyperlink(NULL, $initialTooltipValue); - $result = $testInstance->setTooltip($newTooltipValue); - $this->assertTrue($result instanceof PHPExcel_Cell_Hyperlink); - - $result = $testInstance->getTooltip(); - $this->assertEquals($newTooltipValue,$result); - } - - public function testIsInternal() - { - $initialUrlValue = 'http://www.phpexcel.net'; - $newUrlValue = 'sheet://Worksheet1!A1'; - - $testInstance = new PHPExcel_Cell_Hyperlink($initialUrlValue); - $result = $testInstance->isInternal(); - $this->assertFalse($result); - - $testInstance->setUrl($newUrlValue); - $result = $testInstance->isInternal(); - $this->assertTrue($result); - } - - public function testGetHashCode() - { - $urlValue = 'http://www.phpexcel.net'; - $tooltipValue = 'PHPExcel Web Site'; - $initialExpectedHash = 'd84d713aed1dbbc8a7c5af183d6c7dbb'; - - $testInstance = new PHPExcel_Cell_Hyperlink($urlValue, $tooltipValue); - - $result = $testInstance->getHashCode(); - $this->assertEquals($initialExpectedHash,$result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php deleted file mode 100644 index 11df404ce..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/CellTest.php +++ /dev/null @@ -1,295 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class CellTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - /** - * @dataProvider providerColumnString - */ - public function testColumnIndexFromString() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','columnIndexFromString'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColumnString() - { - return new testDataFileIterator('rawTestData/ColumnString.data'); - } - - public function testColumnIndexFromStringTooLong() - { - $cellAddress = 'ABCD'; - try { - $result = call_user_func(array('PHPExcel_Cell','columnIndexFromString'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Column string index can not be longer than 3 characters'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - public function testColumnIndexFromStringTooShort() - { - $cellAddress = ''; - try { - $result = call_user_func(array('PHPExcel_Cell','columnIndexFromString'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Column string index can not be empty'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - /** - * @dataProvider providerColumnIndex - */ - public function testStringFromColumnIndex() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','stringFromColumnIndex'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColumnIndex() - { - return new testDataFileIterator('rawTestData/ColumnIndex.data'); - } - - /** - * @dataProvider providerCoordinates - */ - public function testCoordinateFromString() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','coordinateFromString'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCoordinates() - { - return new testDataFileIterator('rawTestData/CellCoordinates.data'); - } - - public function testCoordinateFromStringWithRangeAddress() - { - $cellAddress = 'A1:AI2012'; - try { - $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - public function testCoordinateFromStringWithEmptyAddress() - { - $cellAddress = ''; - try { - $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Cell coordinate can not be zero-length string'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - public function testCoordinateFromStringWithInvalidAddress() - { - $cellAddress = 'AI'; - try { - $result = call_user_func(array('PHPExcel_Cell','coordinateFromString'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Invalid cell coordinate '.$cellAddress); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - /** - * @dataProvider providerAbsoluteCoordinates - */ - public function testAbsoluteCoordinateFromString() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','absoluteCoordinate'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerAbsoluteCoordinates() - { - return new testDataFileIterator('rawTestData/CellAbsoluteCoordinate.data'); - } - - public function testAbsoluteCoordinateFromStringWithRangeAddress() - { - $cellAddress = 'A1:AI2012'; - try { - $result = call_user_func(array('PHPExcel_Cell','absoluteCoordinate'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - /** - * @dataProvider providerAbsoluteReferences - */ - public function testAbsoluteReferenceFromString() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','absoluteReference'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerAbsoluteReferences() - { - return new testDataFileIterator('rawTestData/CellAbsoluteReference.data'); - } - - public function testAbsoluteReferenceFromStringWithRangeAddress() - { - $cellAddress = 'A1:AI2012'; - try { - $result = call_user_func(array('PHPExcel_Cell','absoluteReference'),$cellAddress); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Cell coordinate string can not be a range of cells'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - /** - * @dataProvider providerSplitRange - */ - public function testSplitRange() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','splitRange'),$args); - foreach($result as $key => $split) { - if (!is_array($expectedResult[$key])) { - $this->assertEquals($expectedResult[$key], $split[0]); - } else { - $this->assertEquals($expectedResult[$key], $split); - } - } - } - - public function providerSplitRange() - { - return new testDataFileIterator('rawTestData/CellSplitRange.data'); - } - - /** - * @dataProvider providerBuildRange - */ - public function testBuildRange() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','buildRange'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerBuildRange() - { - return new testDataFileIterator('rawTestData/CellBuildRange.data'); - } - - public function testBuildRangeInvalid() - { - $cellRange = ''; - try { - $result = call_user_func(array('PHPExcel_Cell','buildRange'),$cellRange); - } catch (PHPExcel_Exception $e) { - $this->assertEquals($e->getMessage(), 'Range does not contain any information'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - /** - * @dataProvider providerRangeBoundaries - */ - public function testRangeBoundaries() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','rangeBoundaries'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerRangeBoundaries() - { - return new testDataFileIterator('rawTestData/CellRangeBoundaries.data'); - } - - /** - * @dataProvider providerRangeDimension - */ - public function testRangeDimension() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','rangeDimension'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerRangeDimension() - { - return new testDataFileIterator('rawTestData/CellRangeDimension.data'); - } - - /** - * @dataProvider providerGetRangeBoundaries - */ - public function testGetRangeBoundaries() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','getRangeBoundaries'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerGetRangeBoundaries() - { - return new testDataFileIterator('rawTestData/CellGetRangeBoundaries.data'); - } - - /** - * @dataProvider providerExtractAllCellReferencesInRange - */ - public function testExtractAllCellReferencesInRange() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Cell','extractAllCellReferencesInRange'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerExtractAllCellReferencesInRange() - { - return new testDataFileIterator('rawTestData/CellExtractAllCellReferencesInRange.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php deleted file mode 100644 index 38284de9a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/DataSeriesValuesTest.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - - -class DataSeriesValuesTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testSetDataType() - { - $dataTypeValues = array( - 'Number', - 'String' - ); - - $testInstance = new PHPExcel_Chart_DataSeriesValues; - - foreach($dataTypeValues as $dataTypeValue) { - $result = $testInstance->setDataType($dataTypeValue); - $this->assertTrue($result instanceof PHPExcel_Chart_DataSeriesValues); - } - } - - public function testSetInvalidDataTypeThrowsException() - { - $testInstance = new PHPExcel_Chart_DataSeriesValues; - - try { - $result = $testInstance->setDataType('BOOLEAN'); - } catch (Exception $e) { - $this->assertEquals($e->getMessage(), 'Invalid datatype for chart data series values'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - public function testGetDataType() - { - $dataTypeValue = 'String'; - - $testInstance = new PHPExcel_Chart_DataSeriesValues; - $setValue = $testInstance->setDataType($dataTypeValue); - - $result = $testInstance->getDataType(); - $this->assertEquals($dataTypeValue,$result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php deleted file mode 100644 index f24e01c31..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LayoutTest.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php - - -class LayoutTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testSetLayoutTarget() - { - $LayoutTargetValue = 'String'; - - $testInstance = new PHPExcel_Chart_Layout; - - $result = $testInstance->setLayoutTarget($LayoutTargetValue); - $this->assertTrue($result instanceof PHPExcel_Chart_Layout); - } - - public function testGetLayoutTarget() - { - $LayoutTargetValue = 'String'; - - $testInstance = new PHPExcel_Chart_Layout; - $setValue = $testInstance->setLayoutTarget($LayoutTargetValue); - - $result = $testInstance->getLayoutTarget(); - $this->assertEquals($LayoutTargetValue,$result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php deleted file mode 100644 index 4c4f8df81..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Chart/LegendTest.php +++ /dev/null @@ -1,134 +0,0 @@ -<?php - - -class LegendTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testSetPosition() - { - $positionValues = array( - PHPExcel_Chart_Legend::POSITION_RIGHT, - PHPExcel_Chart_Legend::POSITION_LEFT, - PHPExcel_Chart_Legend::POSITION_TOP, - PHPExcel_Chart_Legend::POSITION_BOTTOM, - PHPExcel_Chart_Legend::POSITION_TOPRIGHT, - ); - - $testInstance = new PHPExcel_Chart_Legend; - - foreach($positionValues as $positionValue) { - $result = $testInstance->setPosition($positionValue); - $this->assertTrue($result); - } - } - - public function testSetInvalidPositionReturnsFalse() - { - $testInstance = new PHPExcel_Chart_Legend; - - $result = $testInstance->setPosition('BottomLeft'); - $this->assertFalse($result); - // Ensure that value is unchanged - $result = $testInstance->getPosition(); - $this->assertEquals(PHPExcel_Chart_Legend::POSITION_RIGHT,$result); - } - - public function testGetPosition() - { - $PositionValue = PHPExcel_Chart_Legend::POSITION_BOTTOM; - - $testInstance = new PHPExcel_Chart_Legend; - $setValue = $testInstance->setPosition($PositionValue); - - $result = $testInstance->getPosition(); - $this->assertEquals($PositionValue,$result); - } - - public function testSetPositionXL() - { - $positionValues = array( - PHPExcel_Chart_Legend::xlLegendPositionBottom, - PHPExcel_Chart_Legend::xlLegendPositionCorner, - PHPExcel_Chart_Legend::xlLegendPositionCustom, - PHPExcel_Chart_Legend::xlLegendPositionLeft, - PHPExcel_Chart_Legend::xlLegendPositionRight, - PHPExcel_Chart_Legend::xlLegendPositionTop, - ); - - $testInstance = new PHPExcel_Chart_Legend; - - foreach($positionValues as $positionValue) { - $result = $testInstance->setPositionXL($positionValue); - $this->assertTrue($result); - } - } - - public function testSetInvalidXLPositionReturnsFalse() - { - $testInstance = new PHPExcel_Chart_Legend; - - $result = $testInstance->setPositionXL(999); - $this->assertFalse($result); - // Ensure that value is unchanged - $result = $testInstance->getPositionXL(); - $this->assertEquals(PHPExcel_Chart_Legend::xlLegendPositionRight,$result); - } - - public function testGetPositionXL() - { - $PositionValue = PHPExcel_Chart_Legend::xlLegendPositionCorner; - - $testInstance = new PHPExcel_Chart_Legend; - $setValue = $testInstance->setPositionXL($PositionValue); - - $result = $testInstance->getPositionXL(); - $this->assertEquals($PositionValue,$result); - } - - public function testSetOverlay() - { - $overlayValues = array( - TRUE, - FALSE, - ); - - $testInstance = new PHPExcel_Chart_Legend; - - foreach($overlayValues as $overlayValue) { - $result = $testInstance->setOverlay($overlayValue); - $this->assertTrue($result); - } - } - - public function testSetInvalidOverlayReturnsFalse() - { - $testInstance = new PHPExcel_Chart_Legend; - - $result = $testInstance->setOverlay('INVALID'); - $this->assertFalse($result); - - $result = $testInstance->getOverlay(); - $this->assertFalse($result); - } - - public function testGetOverlay() - { - $OverlayValue = TRUE; - - $testInstance = new PHPExcel_Chart_Legend; - $setValue = $testInstance->setOverlay($OverlayValue); - - $result = $testInstance->getOverlay(); - $this->assertEquals($OverlayValue,$result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php deleted file mode 100644 index f635dbb87..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Reader/XEEValidatorTest.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - - -class XEEValidatorTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - /** - * @dataProvider providerInvalidXML - * @expectedException PHPExcel_Reader_Exception - */ - public function testInvalidXML($filename) - { - $reader = $this->getMockForAbstractClass('PHPExcel_Reader_Abstract'); - $expectedResult = 'FAILURE: Should throw an Exception rather than return a value'; - $result = $reader->securityScanFile($filename); - $this->assertEquals($expectedResult, $result); - } - - public function providerInvalidXML() - { - $tests = []; - foreach(glob('rawTestData/Reader/XEETestInvalid*.xml') as $file) { - $tests[] = [realpath($file), true]; - } - return $tests; - } - - /** - * @dataProvider providerValidXML - */ - public function testValidXML($filename, $expectedResult) - { - $reader = $this->getMockForAbstractClass('PHPExcel_Reader_Abstract'); - $result = $reader->securityScanFile($filename); - $this->assertEquals($expectedResult, $result); - } - - public function providerValidXML() - { - $tests = []; - foreach(glob('rawTestData/Reader/XEETestValid*.xml') as $file) { - $tests[] = [realpath($file), file_get_contents($file)]; - } - return $tests; - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php deleted file mode 100644 index f37db692e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/ReferenceHelperTest.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - - -class ReferenceHelperTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testColumnSort() - { - $columnBase = $columnExpectedResult = array( - 'A','B','Z', - 'AA','AB','AZ', - 'BA','BB','BZ', - 'ZA','ZB','ZZ', - 'AAA','AAB','AAZ', - 'ABA','ABB','ABZ', - 'AZA','AZB','AZZ', - 'BAA','BAB','BAZ', - 'BBA','BBB','BBZ', - 'BZA','BZB','BZZ' - ); - shuffle($columnBase); - usort($columnBase, array('PHPExcel_ReferenceHelper','columnSort')); - foreach($columnBase as $key => $value) { - $this->assertEquals($columnExpectedResult[$key], $value); - } - } - - public function testColumnReverseSort() - { - $columnBase = $columnExpectedResult = array( - 'A','B','Z', - 'AA','AB','AZ', - 'BA','BB','BZ', - 'ZA','ZB','ZZ', - 'AAA','AAB','AAZ', - 'ABA','ABB','ABZ', - 'AZA','AZB','AZZ', - 'BAA','BAB','BAZ', - 'BBA','BBB','BBZ', - 'BZA','BZB','BZZ' - ); - shuffle($columnBase); - $columnExpectedResult = array_reverse($columnExpectedResult); - usort($columnBase, array('PHPExcel_ReferenceHelper','columnReverseSort')); - foreach($columnBase as $key => $value) { - $this->assertEquals($columnExpectedResult[$key], $value); - } - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php deleted file mode 100644 index ae4aeecc5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/CodePageTest.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class CodePageTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - /** - * @dataProvider providerCodePage - */ - public function testCodePageNumberToName() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_CodePage','NumberToName'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCodePage() - { - return new testDataFileIterator('rawTestData/Shared/CodePage.data'); - } - - public function testNumberToNameWithInvalidCodePage() - { - $invalidCodePage = 12345; - try { - $result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$invalidCodePage); - } catch (Exception $e) { - $this->assertEquals($e->getMessage(), 'Unknown codepage: 12345'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - - public function testNumberToNameWithUnsupportedCodePage() - { - $unsupportedCodePage = 720; - try { - $result = call_user_func(array('PHPExcel_Shared_CodePage','NumberToName'),$unsupportedCodePage); - } catch (Exception $e) { - $this->assertEquals($e->getMessage(), 'Code page 720 not supported.'); - return; - } - $this->fail('An expected exception has not been raised.'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php deleted file mode 100644 index 80b77d3c6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/DateTest.php +++ /dev/null @@ -1,188 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class DateTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testSetExcelCalendar() - { - $calendarValues = array( - PHPExcel_Shared_Date::CALENDAR_MAC_1904, - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900, - ); - - foreach($calendarValues as $calendarValue) { - $result = call_user_func(array('PHPExcel_Shared_Date','setExcelCalendar'),$calendarValue); - $this->assertTrue($result); - } - } - - public function testSetExcelCalendarWithInvalidValue() - { - $unsupportedCalendar = '2012'; - $result = call_user_func(array('PHPExcel_Shared_Date','setExcelCalendar'),$unsupportedCalendar); - $this->assertFalse($result); - } - - /** - * @dataProvider providerDateTimeExcelToPHP1900 - */ - public function testDateTimeExcelToPHP1900() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - if ($args[0] < 1) { - $expectedResult += gmmktime(0,0,0); - } - $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerDateTimeExcelToPHP1900() - { - return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1900.data'); - } - - /** - * @dataProvider providerDateTimePHPToExcel1900 - */ - public function testDateTimePHPToExcel1900() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Date','PHPToExcel'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-5); - } - - public function providerDateTimePHPToExcel1900() - { - return new testDataFileIterator('rawTestData/Shared/DateTimePHPToExcel1900.data'); - } - - /** - * @dataProvider providerDateTimeFormattedPHPToExcel1900 - */ - public function testDateTimeFormattedPHPToExcel1900() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Date','FormattedPHPToExcel'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-5); - } - - public function providerDateTimeFormattedPHPToExcel1900() - { - return new testDataFileIterator('rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data'); - } - - /** - * @dataProvider providerDateTimeExcelToPHP1904 - */ - public function testDateTimeExcelToPHP1904() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_MAC_1904 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - if ($args[0] < 1) { - $expectedResult += gmmktime(0,0,0); - } - $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerDateTimeExcelToPHP1904() - { - return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1904.data'); - } - - /** - * @dataProvider providerDateTimePHPToExcel1904 - */ - public function testDateTimePHPToExcel1904() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_MAC_1904 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Date','PHPToExcel'),$args); - $this->assertEquals($expectedResult, $result, NULL, 1E-5); - } - - public function providerDateTimePHPToExcel1904() - { - return new testDataFileIterator('rawTestData/Shared/DateTimePHPToExcel1904.data'); - } - - /** - * @dataProvider providerIsDateTimeFormatCode - */ - public function testIsDateTimeFormatCode() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Date','isDateTimeFormatCode'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerIsDateTimeFormatCode() - { - return new testDataFileIterator('rawTestData/Shared/DateTimeFormatCodes.data'); - } - - /** - * @dataProvider providerDateTimeExcelToPHP1900Timezone - */ - public function testDateTimeExcelToPHP1900Timezone() - { - $result = call_user_func( - array('PHPExcel_Shared_Date','setExcelCalendar'), - PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900 - ); - - $args = func_get_args(); - $expectedResult = array_pop($args); - if ($args[0] < 1) { - $expectedResult += gmmktime(0,0,0); - } - $result = call_user_func_array(array('PHPExcel_Shared_Date','ExcelToPHP'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerDateTimeExcelToPHP1900Timezone() - { - return new testDataFileIterator('rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php deleted file mode 100644 index 9deb401d9..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FileTest.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class FileTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testGetUseUploadTempDirectory() - { - $expectedResult = FALSE; - - $result = call_user_func(array('PHPExcel_Shared_File','getUseUploadTempDirectory')); - $this->assertEquals($expectedResult, $result); - } - - public function testSetUseUploadTempDirectory() - { - $useUploadTempDirectoryValues = array( - TRUE, - FALSE, - ); - - foreach($useUploadTempDirectoryValues as $useUploadTempDirectoryValue) { - call_user_func(array('PHPExcel_Shared_File','setUseUploadTempDirectory'),$useUploadTempDirectoryValue); - - $result = call_user_func(array('PHPExcel_Shared_File','getUseUploadTempDirectory')); - $this->assertEquals($useUploadTempDirectoryValue, $result); - } - } -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php deleted file mode 100644 index 6ce5a0261..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/FontTest.php +++ /dev/null @@ -1,94 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class FontTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testGetAutoSizeMethod() - { - $expectedResult = PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX; - - $result = call_user_func(array('PHPExcel_Shared_Font','getAutoSizeMethod')); - $this->assertEquals($expectedResult, $result); - } - - public function testSetAutoSizeMethod() - { - $autosizeMethodValues = array( - PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT, - PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX, - ); - - foreach($autosizeMethodValues as $autosizeMethodValue) { - $result = call_user_func(array('PHPExcel_Shared_Font','setAutoSizeMethod'),$autosizeMethodValue); - $this->assertTrue($result); - } - } - - public function testSetAutoSizeMethodWithInvalidValue() - { - $unsupportedAutosizeMethod = 'guess'; - - $result = call_user_func(array('PHPExcel_Shared_Font','setAutoSizeMethod'),$unsupportedAutosizeMethod); - $this->assertFalse($result); - } - - /** - * @dataProvider providerFontSizeToPixels - */ - public function testFontSizeToPixels() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Font','fontSizeToPixels'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerFontSizeToPixels() - { - return new testDataFileIterator('rawTestData/Shared/FontSizeToPixels.data'); - } - - /** - * @dataProvider providerInchSizeToPixels - */ - public function testInchSizeToPixels() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Font','inchSizeToPixels'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerInchSizeToPixels() - { - return new testDataFileIterator('rawTestData/Shared/InchSizeToPixels.data'); - } - - /** - * @dataProvider providerCentimeterSizeToPixels - */ - public function testCentimeterSizeToPixels() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_Font','centimeterSizeToPixels'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerCentimeterSizeToPixels() - { - return new testDataFileIterator('rawTestData/Shared/CentimeterSizeToPixels.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php deleted file mode 100644 index 24a26178a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/PasswordHasherTest.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class PasswordHasherTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - /** - * @dataProvider providerHashPassword - */ - public function testHashPassword() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Shared_PasswordHasher','hashPassword'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerHashPassword() - { - return new testDataFileIterator('rawTestData/Shared/PasswordHashes.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php deleted file mode 100644 index 9a34729d6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/StringTest.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class StringTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testGetIsMbStringEnabled() - { - $result = call_user_func(array('PHPExcel_Shared_String','getIsMbstringEnabled')); - $this->assertTrue($result); - } - - public function testGetIsIconvEnabled() - { - $result = call_user_func(array('PHPExcel_Shared_String','getIsIconvEnabled')); - $this->assertTrue($result); - } - - public function testGetDecimalSeparator() - { - $localeconv = localeconv(); - - $expectedResult = (!empty($localeconv['decimal_point'])) ? $localeconv['decimal_point'] : ','; - $result = call_user_func(array('PHPExcel_Shared_String','getDecimalSeparator')); - $this->assertEquals($expectedResult, $result); - } - - public function testSetDecimalSeparator() - { - $expectedResult = ','; - $result = call_user_func(array('PHPExcel_Shared_String','setDecimalSeparator'),$expectedResult); - - $result = call_user_func(array('PHPExcel_Shared_String','getDecimalSeparator')); - $this->assertEquals($expectedResult, $result); - } - - public function testGetThousandsSeparator() - { - $localeconv = localeconv(); - - $expectedResult = (!empty($localeconv['thousands_sep'])) ? $localeconv['thousands_sep'] : ','; - $result = call_user_func(array('PHPExcel_Shared_String','getThousandsSeparator')); - $this->assertEquals($expectedResult, $result); - } - - public function testSetThousandsSeparator() - { - $expectedResult = ' '; - $result = call_user_func(array('PHPExcel_Shared_String','setThousandsSeparator'),$expectedResult); - - $result = call_user_func(array('PHPExcel_Shared_String','getThousandsSeparator')); - $this->assertEquals($expectedResult, $result); - } - - public function testGetCurrencyCode() - { - $localeconv = localeconv(); - - $expectedResult = (!empty($localeconv['currency_symbol'])) ? $localeconv['currency_symbol'] : '$'; - $result = call_user_func(array('PHPExcel_Shared_String','getCurrencyCode')); - $this->assertEquals($expectedResult, $result); - } - - public function testSetCurrencyCode() - { - $expectedResult = '£'; - $result = call_user_func(array('PHPExcel_Shared_String','setCurrencyCode'),$expectedResult); - - $result = call_user_func(array('PHPExcel_Shared_String','getCurrencyCode')); - $this->assertEquals($expectedResult, $result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php deleted file mode 100644 index 0e44ceb62..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Shared/TimeZoneTest.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - - -class TimeZoneTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - public function testSetTimezone() - { - $timezoneValues = array( - 'Europe/Prague', - 'Asia/Tokyo', - 'America/Indiana/Indianapolis', - 'Pacific/Honolulu', - 'Atlantic/St_Helena', - ); - - foreach($timezoneValues as $timezoneValue) { - $result = call_user_func(array('PHPExcel_Shared_TimeZone','setTimezone'),$timezoneValue); - $this->assertTrue($result); - } - - } - - public function testSetTimezoneWithInvalidValue() - { - $unsupportedTimezone = 'Etc/GMT+10'; - $result = call_user_func(array('PHPExcel_Shared_TimeZone','setTimezone'),$unsupportedTimezone); - $this->assertFalse($result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php deleted file mode 100644 index f157b1a34..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/ColorTest.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class ColorTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - /** - * @dataProvider providerColorGetRed - */ - public function testGetRed() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Style_Color','getRed'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColorGetRed() - { - return new testDataFileIterator('rawTestData/Style/ColorGetRed.data'); - } - - /** - * @dataProvider providerColorGetGreen - */ - public function testGetGreen() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Style_Color','getGreen'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColorGetGreen() - { - return new testDataFileIterator('rawTestData/Style/ColorGetGreen.data'); - } - - /** - * @dataProvider providerColorGetBlue - */ - public function testGetBlue() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Style_Color','getBlue'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColorGetBlue() - { - return new testDataFileIterator('rawTestData/Style/ColorGetBlue.data'); - } - - /** - * @dataProvider providerColorChangeBrightness - */ - public function testChangeBrightness() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Style_Color','changeBrightness'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerColorChangeBrightness() - { - return new testDataFileIterator('rawTestData/Style/ColorChangeBrightness.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php deleted file mode 100644 index 13fc3ede3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Style/NumberFormatTest.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - - -require_once 'testDataFileIterator.php'; - -class NumberFormatTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - PHPExcel_Shared_String::setDecimalSeparator('.'); - PHPExcel_Shared_String::setThousandsSeparator(','); - } - - /** - * @dataProvider providerNumberFormat - */ - public function testFormatValueWithMask() - { - $args = func_get_args(); - $expectedResult = array_pop($args); - $result = call_user_func_array(array('PHPExcel_Style_NumberFormat','toFormattedString'),$args); - $this->assertEquals($expectedResult, $result); - } - - public function providerNumberFormat() - { - return new testDataFileIterator('rawTestData/Style/NumberFormat.data'); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php deleted file mode 100644 index 65d0a85c6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/Column/RuleTest.php +++ /dev/null @@ -1,109 +0,0 @@ -<?php - - -class RuleTest extends PHPUnit_Framework_TestCase -{ - private $_testAutoFilterRuleObject; - - private $_mockAutoFilterColumnObject; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->_mockAutoFilterColumnObject = $this->getMockBuilder('PHPExcel_Worksheet_AutoFilter_Column') - ->disableOriginalConstructor() - ->getMock(); - - $this->_mockAutoFilterColumnObject->expects($this->any()) - ->method('testColumnInRange') - ->will($this->returnValue(3)); - - $this->_testAutoFilterRuleObject = new PHPExcel_Worksheet_AutoFilter_Column_Rule( - $this->_mockAutoFilterColumnObject - ); - } - - public function testGetRuleType() - { - $result = $this->_testAutoFilterRuleObject->getRuleType(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_FILTER, $result); - } - - public function testSetRuleType() - { - $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterRuleObject->setRuleType($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - - $result = $this->_testAutoFilterRuleObject->getRuleType(); - $this->assertEquals($expectedResult, $result); - } - - public function testSetValue() - { - $expectedResult = 100; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterRuleObject->setValue($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - - $result = $this->_testAutoFilterRuleObject->getValue(); - $this->assertEquals($expectedResult, $result); - } - - public function testGetOperator() - { - $result = $this->_testAutoFilterRuleObject->getOperator(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_EQUAL, $result); - } - - public function testSetOperator() - { - $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_COLUMN_RULE_LESSTHAN; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterRuleObject->setOperator($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - - $result = $this->_testAutoFilterRuleObject->getOperator(); - $this->assertEquals($expectedResult, $result); - } - - public function testSetGrouping() - { - $expectedResult = PHPExcel_Worksheet_AutoFilter_Column_Rule::AUTOFILTER_RULETYPE_DATEGROUP_MONTH; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterRuleObject->setGrouping($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - - $result = $this->_testAutoFilterRuleObject->getGrouping(); - $this->assertEquals($expectedResult, $result); - } - - public function testGetParent() - { - $result = $this->_testAutoFilterRuleObject->getParent(); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - - public function testSetParent() - { - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterRuleObject->setParent($this->_mockAutoFilterColumnObject); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - } - - public function testClone() - { - $result = clone $this->_testAutoFilterRuleObject; - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column_Rule', $result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php deleted file mode 100644 index 3c1821bad..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilter/ColumnTest.php +++ /dev/null @@ -1,173 +0,0 @@ -<?php - - -class AutofilterColumnTest extends PHPUnit_Framework_TestCase -{ - private $_testInitialColumn = 'H'; - - private $_testAutoFilterColumnObject; - - private $_mockAutoFilterObject; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->_mockAutoFilterObject = $this->getMockBuilder('PHPExcel_Worksheet_AutoFilter') - ->disableOriginalConstructor() - ->getMock(); - - $this->_mockAutoFilterObject->expects($this->any()) - ->method('testColumnInRange') - ->will($this->returnValue(3)); - - $this->_testAutoFilterColumnObject = new PHPExcel_Worksheet_AutoFilter_Column( - $this->_testInitialColumn, - $this->_mockAutoFilterObject - ); - } - - public function testGetColumnIndex() - { - $result = $this->_testAutoFilterColumnObject->getColumnIndex(); - $this->assertEquals($this->_testInitialColumn, $result); - } - - public function testSetColumnIndex() - { - $expectedResult = 'L'; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterColumnObject->setColumnIndex($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - - $result = $this->_testAutoFilterColumnObject->getColumnIndex(); - $this->assertEquals($expectedResult, $result); - } - - public function testGetParent() - { - $result = $this->_testAutoFilterColumnObject->getParent(); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - } - - public function testSetParent() - { - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterColumnObject->setParent($this->_mockAutoFilterObject); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - - public function testGetFilterType() - { - $result = $this->_testAutoFilterColumnObject->getFilterType(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_FILTER, $result); - } - - public function testSetFilterType() - { - $result = $this->_testAutoFilterColumnObject->setFilterType(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - - $result = $this->_testAutoFilterColumnObject->getFilterType(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_FILTERTYPE_DYNAMICFILTER, $result); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetInvalidFilterTypeThrowsException() - { - $expectedResult = 'Unfiltered'; - - $result = $this->_testAutoFilterColumnObject->setFilterType($expectedResult); - } - - public function testGetJoin() - { - $result = $this->_testAutoFilterColumnObject->getJoin(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_OR, $result); - } - - public function testSetJoin() - { - $result = $this->_testAutoFilterColumnObject->setJoin(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - - $result = $this->_testAutoFilterColumnObject->getJoin(); - $this->assertEquals(PHPExcel_Worksheet_AutoFilter_Column::AUTOFILTER_COLUMN_JOIN_AND, $result); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetInvalidJoinThrowsException() - { - $expectedResult = 'Neither'; - - $result = $this->_testAutoFilterColumnObject->setJoin($expectedResult); - } - - public function testSetAttributes() - { - $attributeSet = array( 'val' => 100, - 'maxVal' => 200 - ); - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterColumnObject->setAttributes($attributeSet); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - - public function testGetAttributes() - { - $attributeSet = array( 'val' => 100, - 'maxVal' => 200 - ); - - $this->_testAutoFilterColumnObject->setAttributes($attributeSet); - - $result = $this->_testAutoFilterColumnObject->getAttributes(); - $this->assertTrue(is_array($result)); - $this->assertEquals(count($attributeSet), count($result)); - } - - public function testSetAttribute() - { - $attributeSet = array( 'val' => 100, - 'maxVal' => 200 - ); - - foreach($attributeSet as $attributeName => $attributeValue) { - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterColumnObject->setAttribute($attributeName,$attributeValue); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - } - - public function testGetAttribute() - { - $attributeSet = array( 'val' => 100, - 'maxVal' => 200 - ); - - $this->_testAutoFilterColumnObject->setAttributes($attributeSet); - - foreach($attributeSet as $attributeName => $attributeValue) { - $result = $this->_testAutoFilterColumnObject->getAttribute($attributeName); - $this->assertEquals($attributeValue, $result); - } - $result = $this->_testAutoFilterColumnObject->getAttribute('nonExistentAttribute'); - $this->assertNull($result); - } - - public function testClone() - { - $result = clone $this->_testAutoFilterColumnObject; - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php deleted file mode 100644 index 9907eabc5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/AutoFilterTest.php +++ /dev/null @@ -1,340 +0,0 @@ -<?php - - -class AutoFilterTest extends PHPUnit_Framework_TestCase -{ - private $_testInitialRange = 'H2:O256'; - - private $_testAutoFilterObject; - - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->_mockWorksheetObject = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - $this->_mockCacheController = $this->getMockBuilder('PHPExcel_CachedObjectStorage_Memory') - ->disableOriginalConstructor() - ->getMock(); - $this->_mockWorksheetObject->expects($this->any()) - ->method('getCellCacheController') - ->will($this->returnValue($this->_mockCacheController)); - - $this->_testAutoFilterObject = new PHPExcel_Worksheet_AutoFilter( - $this->_testInitialRange, - $this->_mockWorksheetObject - ); - } - - public function testToString() - { - $expectedResult = $this->_testInitialRange; - - // magic __toString should return the active autofilter range - $result = $this->_testAutoFilterObject; - $this->assertEquals($expectedResult, $result); - } - - public function testGetParent() - { - $result = $this->_testAutoFilterObject->getParent(); - $this->assertInstanceOf('PHPExcel_Worksheet', $result); - } - - public function testSetParent() - { - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setParent($this->_mockWorksheetObject); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - } - - public function testGetRange() - { - $expectedResult = $this->_testInitialRange; - - // Result should be the active autofilter range - $result = $this->_testAutoFilterObject->getRange(); - $this->assertEquals($expectedResult, $result); - } - - public function testSetRange() - { - $ranges = array('G1:J512' => 'Worksheet1!G1:J512', - 'K1:N20' => 'K1:N20' - ); - - foreach($ranges as $actualRange => $fullRange) { - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setRange($fullRange); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - // Result should be the new autofilter range - $result = $this->_testAutoFilterObject->getRange(); - $this->assertEquals($actualRange, $result); - } - } - - public function testClearRange() - { - $expectedResult = ''; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setRange(); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - // Result should be a clear range - $result = $this->_testAutoFilterObject->getRange(); - $this->assertEquals($expectedResult, $result); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetRangeInvalidRange() - { - $expectedResult = 'A1'; - - $result = $this->_testAutoFilterObject->setRange($expectedResult); - } - - public function testGetColumnsEmpty() - { - // There should be no columns yet defined - $result = $this->_testAutoFilterObject->getColumns(); - $this->assertInternalType('array', $result); - $this->assertEquals(0, count($result)); - } - - public function testGetColumnOffset() - { - $columnIndexes = array( 'H' => 0, - 'K' => 3, - 'M' => 5 - ); - - // If we request a specific column by its column ID, we should get an - // integer returned representing the column offset within the range - foreach($columnIndexes as $columnIndex => $columnOffset) { - $result = $this->_testAutoFilterObject->getColumnOffset($columnIndex); - $this->assertEquals($columnOffset, $result); - } - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testGetInvalidColumnOffset() - { - $invalidColumn = 'G'; - - $result = $this->_testAutoFilterObject->getColumnOffset($invalidColumn); - } - - public function testSetColumnWithString() - { - $expectedResult = 'L'; - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setColumn($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - $result = $this->_testAutoFilterObject->getColumns(); - // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column - // objects for each column we set indexed by the column ID - $this->assertInternalType('array', $result); - $this->assertEquals(1, count($result)); - $this->assertArrayHasKey($expectedResult,$result); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$expectedResult]); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetInvalidColumnWithString() - { - $invalidColumn = 'A'; - - $result = $this->_testAutoFilterObject->setColumn($invalidColumn); - } - - public function testSetColumnWithColumnObject() - { - $expectedResult = 'M'; - $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($expectedResult); - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setColumn($columnObject); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - $result = $this->_testAutoFilterObject->getColumns(); - // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column - // objects for each column we set indexed by the column ID - $this->assertInternalType('array', $result); - $this->assertEquals(1, count($result)); - $this->assertArrayHasKey($expectedResult,$result); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$expectedResult]); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetInvalidColumnWithObject() - { - $invalidColumn = 'E'; - $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($invalidColumn); - - $result = $this->_testAutoFilterObject->setColumn($invalidColumn); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSetColumnWithInvalidDataType() - { - $invalidColumn = 123.456; - $columnObject = new PHPExcel_Worksheet_AutoFilter_Column($invalidColumn); - - $result = $this->_testAutoFilterObject->setColumn($invalidColumn); - } - - public function testGetColumns() - { - $columnIndexes = array('L','M'); - - foreach($columnIndexes as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - - $result = $this->_testAutoFilterObject->getColumns(); - // Result should be an array of PHPExcel_Worksheet_AutoFilter_Column - // objects for each column we set indexed by the column ID - $this->assertInternalType('array', $result); - $this->assertEquals(count($columnIndexes), count($result)); - foreach($columnIndexes as $columnIndex) { - $this->assertArrayHasKey($columnIndex,$result); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result[$columnIndex]); - } - } - - public function testGetColumn() - { - $columnIndexes = array('L','M'); - - foreach($columnIndexes as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - - // If we request a specific column by its column ID, we should - // get a PHPExcel_Worksheet_AutoFilter_Column object returned - foreach($columnIndexes as $columnIndex) { - $result = $this->_testAutoFilterObject->getColumn($columnIndex); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - } - - public function testGetColumnByOffset() - { - $columnIndexes = array( 0 => 'H', - 3 => 'K', - 5 => 'M' - ); - - // If we request a specific column by its offset, we should - // get a PHPExcel_Worksheet_AutoFilter_Column object returned - foreach($columnIndexes as $columnIndex => $columnID) { - $result = $this->_testAutoFilterObject->getColumnByOffset($columnIndex); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - $this->assertEquals($result->getColumnIndex(),$columnID); - } - } - - public function testGetColumnIfNotSet() - { - // If we request a specific column by its column ID, we should - // get a PHPExcel_Worksheet_AutoFilter_Column object returned - $result = $this->_testAutoFilterObject->getColumn('K'); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter_Column', $result); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testGetColumnWithoutRangeSet() - { - // Clear the range - $result = $this->_testAutoFilterObject->setRange(); - - $result = $this->_testAutoFilterObject->getColumn('A'); - } - - public function testClearRangeWithExistingColumns() - { - $expectedResult = ''; - - $columnIndexes = array('L','M','N'); - foreach($columnIndexes as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setRange(); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - // Range should be cleared - $result = $this->_testAutoFilterObject->getRange(); - $this->assertEquals($expectedResult, $result); - - // Column array should be cleared - $result = $this->_testAutoFilterObject->getColumns(); - $this->assertInternalType('array', $result); - $this->assertEquals(0, count($result)); - } - - public function testSetRangeWithExistingColumns() - { - $expectedResult = 'G1:J512'; - - // These columns should be retained - $columnIndexes1 = array('I','J'); - foreach($columnIndexes1 as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - // These columns should be discarded - $columnIndexes2 = array('K','L','M'); - foreach($columnIndexes2 as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - - // Setters return the instance to implement the fluent interface - $result = $this->_testAutoFilterObject->setRange($expectedResult); - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - - // Range should be correctly set - $result = $this->_testAutoFilterObject->getRange(); - $this->assertEquals($expectedResult, $result); - - // Only columns that existed in the original range and that - // still fall within the new range should be retained - $result = $this->_testAutoFilterObject->getColumns(); - $this->assertInternalType('array', $result); - $this->assertEquals(count($columnIndexes1), count($result)); - } - - public function testClone() - { - $columnIndexes = array('L','M'); - - foreach($columnIndexes as $columnIndex) { - $this->_testAutoFilterObject->setColumn($columnIndex); - } - - $result = clone $this->_testAutoFilterObject; - $this->assertInstanceOf('PHPExcel_Worksheet_AutoFilter', $result); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php deleted file mode 100644 index c2c130d7a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/CellCollectionTest.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -class CellCollectionTest extends PHPUnit_Framework_TestCase -{ - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) - { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - } - - - public function testCacheLastCell() - { - $methods = PHPExcel_CachedObjectStorageFactory::getCacheStorageMethods(); - foreach ($methods as $method) { - PHPExcel_CachedObjectStorageFactory::initialize($method); - $workbook = new PHPExcel(); - $cells = array('A1', 'A2'); - $worksheet = $workbook->getActiveSheet(); - $worksheet->setCellValue('A1', 1); - $worksheet->setCellValue('A2', 2); - $this->assertEquals($cells, $worksheet->getCellCollection(), "Cache method \"$method\"."); - PHPExcel_CachedObjectStorageFactory::finalize(); - } - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php deleted file mode 100644 index bef500ca8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnCellIteratorTest.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php - -class ColumnCellIteratorTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockColumnCell; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockCell = $this->getMockBuilder('PHPExcel_Cell') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet->expects($this->any()) - ->method('getHighestRow') - ->will($this->returnValue(5)); - $this->mockWorksheet->expects($this->any()) - ->method('getCellByColumnAndRow') - ->will($this->returnValue($this->mockCell)); - } - - - public function testIteratorFullRange() - { - $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A'); - $ColumnCellIndexResult = 1; - $this->assertEquals($ColumnCellIndexResult, $iterator->key()); - - foreach($iterator as $key => $ColumnCell) { - $this->assertEquals($ColumnCellIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Cell', $ColumnCell); - } - } - - public function testIteratorStartEndRange() - { - $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); - $ColumnCellIndexResult = 2; - $this->assertEquals($ColumnCellIndexResult, $iterator->key()); - - foreach($iterator as $key => $ColumnCell) { - $this->assertEquals($ColumnCellIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Cell', $ColumnCell); - } - } - - public function testIteratorSeekAndPrev() - { - $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); - $columnIndexResult = 4; - $iterator->seek(4); - $this->assertEquals($columnIndexResult, $iterator->key()); - - for($i = 1; $i < $columnIndexResult-1; $i++) { - $iterator->prev(); - $this->assertEquals($columnIndexResult - $i, $iterator->key()); - } - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSeekOutOfRange() - { - $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); - $iterator->seek(1); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testPrevOutOfRange() - { - $iterator = new PHPExcel_Worksheet_ColumnCellIterator($this->mockWorksheet, 'A', 2, 4); - $iterator->prev(); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php deleted file mode 100644 index 7d78b6179..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/ColumnIteratorTest.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -class ColumnIteratorTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockColumn; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockColumn = $this->getMockBuilder('PHPExcel_Worksheet_Column') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet->expects($this->any()) - ->method('getHighestColumn') - ->will($this->returnValue('E')); - $this->mockWorksheet->expects($this->any()) - ->method('current') - ->will($this->returnValue($this->mockColumn)); - } - - - public function testIteratorFullRange() - { - $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet); - $columnIndexResult = 'A'; - $this->assertEquals($columnIndexResult, $iterator->key()); - - foreach($iterator as $key => $column) { - $this->assertEquals($columnIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); - } - } - - public function testIteratorStartEndRange() - { - $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); - $columnIndexResult = 'B'; - $this->assertEquals($columnIndexResult, $iterator->key()); - - foreach($iterator as $key => $column) { - $this->assertEquals($columnIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); - } - } - - public function testIteratorSeekAndPrev() - { - $ranges = range('A','E'); - $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); - $columnIndexResult = 'D'; - $iterator->seek('D'); - $this->assertEquals($columnIndexResult, $iterator->key()); - - for($i = 1; $i < array_search($columnIndexResult, $ranges); $i++) { - $iterator->prev(); - $expectedResult = $ranges[array_search($columnIndexResult, $ranges) - $i]; - $this->assertEquals($expectedResult, $iterator->key()); - } - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSeekOutOfRange() - { - $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); - $iterator->seek('A'); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testPrevOutOfRange() - { - $iterator = new PHPExcel_Worksheet_ColumnIterator($this->mockWorksheet, 'B', 'D'); - $iterator->prev(); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php deleted file mode 100644 index cdd3c84d4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowCellIteratorTest.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -class RowCellIteratorTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockRowCell; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockCell = $this->getMockBuilder('PHPExcel_Cell') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet->expects($this->any()) - ->method('getHighestColumn') - ->will($this->returnValue('E')); - $this->mockWorksheet->expects($this->any()) - ->method('getCellByColumnAndRow') - ->will($this->returnValue($this->mockCell)); - } - - - public function testIteratorFullRange() - { - $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet); - $RowCellIndexResult = 'A'; - $this->assertEquals($RowCellIndexResult, $iterator->key()); - - foreach($iterator as $key => $RowCell) { - $this->assertEquals($RowCellIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Cell', $RowCell); - } - } - - public function testIteratorStartEndRange() - { - $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); - $RowCellIndexResult = 'B'; - $this->assertEquals($RowCellIndexResult, $iterator->key()); - - foreach($iterator as $key => $RowCell) { - $this->assertEquals($RowCellIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Cell', $RowCell); - } - } - - public function testIteratorSeekAndPrev() - { - $ranges = range('A','E'); - $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); - $RowCellIndexResult = 'D'; - $iterator->seek('D'); - $this->assertEquals($RowCellIndexResult, $iterator->key()); - - for($i = 1; $i < array_search($RowCellIndexResult, $ranges); $i++) { - $iterator->prev(); - $expectedResult = $ranges[array_search($RowCellIndexResult, $ranges) - $i]; - $this->assertEquals($expectedResult, $iterator->key()); - } - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSeekOutOfRange() - { - $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); - $iterator->seek(1); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testPrevOutOfRange() - { - $iterator = new PHPExcel_Worksheet_RowCellIterator($this->mockWorksheet, 2, 'B', 'D'); - $iterator->prev(); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php deleted file mode 100644 index 48d8b6bb1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/RowIteratorTest.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php - -class RowIteratorTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockRow; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockRow = $this->getMockBuilder('PHPExcel_Worksheet_Row') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - - $this->mockWorksheet->expects($this->any()) - ->method('getHighestRow') - ->will($this->returnValue(5)); - $this->mockWorksheet->expects($this->any()) - ->method('current') - ->will($this->returnValue($this->mockRow)); - } - - - public function testIteratorFullRange() - { - $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet); - $rowIndexResult = 1; - $this->assertEquals($rowIndexResult, $iterator->key()); - - foreach($iterator as $key => $row) { - $this->assertEquals($rowIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); - } - } - - public function testIteratorStartEndRange() - { - $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); - $rowIndexResult = 2; - $this->assertEquals($rowIndexResult, $iterator->key()); - - foreach($iterator as $key => $row) { - $this->assertEquals($rowIndexResult++, $key); - $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); - } - } - - public function testIteratorSeekAndPrev() - { - $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); - $columnIndexResult = 4; - $iterator->seek(4); - $this->assertEquals($columnIndexResult, $iterator->key()); - - for($i = 1; $i < $columnIndexResult-1; $i++) { - $iterator->prev(); - $this->assertEquals($columnIndexResult - $i, $iterator->key()); - } - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testSeekOutOfRange() - { - $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); - $iterator->seek(1); - } - - /** - * @expectedException PHPExcel_Exception - */ - public function testPrevOutOfRange() - { - $iterator = new PHPExcel_Worksheet_RowIterator($this->mockWorksheet, 2, 4); - $iterator->prev(); - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php deleted file mode 100644 index c70c38d36..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetColumnTest.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -class WorksheetColumnTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockColumn; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - $this->mockWorksheet->expects($this->any()) - ->method('getHighestRow') - ->will($this->returnValue(5)); - } - - - public function testInstantiateColumnDefault() - { - $column = new PHPExcel_Worksheet_Column($this->mockWorksheet); - $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); - $columnIndex = $column->getColumnIndex(); - $this->assertEquals('A', $columnIndex); - } - - public function testInstantiateColumnSpecified() - { - $column = new PHPExcel_Worksheet_Column($this->mockWorksheet, 'E'); - $this->assertInstanceOf('PHPExcel_Worksheet_Column', $column); - $columnIndex = $column->getColumnIndex(); - $this->assertEquals('E', $columnIndex); - } - - public function testGetCellIterator() - { - $column = new PHPExcel_Worksheet_Column($this->mockWorksheet); - $cellIterator = $column->getCellIterator(); - $this->assertInstanceOf('PHPExcel_Worksheet_ColumnCellIterator', $cellIterator); - } -} diff --git a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php b/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php deleted file mode 100644 index 2761b52be..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Worksheet/WorksheetRowTest.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -class WorksheetRowTest extends PHPUnit_Framework_TestCase -{ - public $mockWorksheet; - public $mockRow; - - public function setUp() - { - if (!defined('PHPEXCEL_ROOT')) { - define('PHPEXCEL_ROOT', APPLICATION_PATH . '/'); - } - require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php'); - - $this->mockWorksheet = $this->getMockBuilder('PHPExcel_Worksheet') - ->disableOriginalConstructor() - ->getMock(); - $this->mockWorksheet->expects($this->any()) - ->method('getHighestColumn') - ->will($this->returnValue('E')); - } - - - public function testInstantiateRowDefault() - { - $row = new PHPExcel_Worksheet_Row($this->mockWorksheet); - $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); - $rowIndex = $row->getRowIndex(); - $this->assertEquals(1, $rowIndex); - } - - public function testInstantiateRowSpecified() - { - $row = new PHPExcel_Worksheet_Row($this->mockWorksheet, 5); - $this->assertInstanceOf('PHPExcel_Worksheet_Row', $row); - $rowIndex = $row->getRowIndex(); - $this->assertEquals(5, $rowIndex); - } - - public function testGetCellIterator() - { - $row = new PHPExcel_Worksheet_Row($this->mockWorksheet); - $cellIterator = $row->getCellIterator(); - $this->assertInstanceOf('PHPExcel_Worksheet_RowCellIterator', $cellIterator); - } -} diff --git a/vendor/phpoffice/phpexcel/unitTests/bootstrap.php b/vendor/phpoffice/phpexcel/unitTests/bootstrap.php deleted file mode 100644 index 8e8cdb39a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/bootstrap.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * $Id: bootstrap.php 2892 2011-08-14 15:11:50Z markbaker@phpexcel.net $ - * - * @copyright Copyright (C) 2011-2014 PHPExcel. All rights reserved. - * @package PHPExcel - * @subpackage PHPExcel Unit Tests - * @author Mark Baker - */ - -chdir(dirname(__FILE__)); - -setlocale(LC_ALL, 'en_US.utf8'); - -// PHP 5.3 Compat -date_default_timezone_set('Europe/London'); - -// Define path to application directory -defined('APPLICATION_PATH') - || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../Classes')); - -// Define path to application tests directory -defined('APPLICATION_TESTS_PATH') - || define('APPLICATION_TESTS_PATH', realpath(dirname(__FILE__) )); - -// Define application environment -defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'ci'); - -// Ensure library/ is on include_path -set_include_path(implode(PATH_SEPARATOR, array( - realpath(APPLICATION_PATH . '/../Classes'), - './', - dirname(__FILE__), - get_include_path(), -))); - - -/** - * @todo Sort out xdebug in vagrant so that this works in all sandboxes - * For now, it is safer to test for it rather then remove it. - */ -echo "PHPExcel tests beginning\n"; - -if(extension_loaded('xdebug')) { - echo "Xdebug extension loaded and running\n"; - xdebug_enable(); -} else { - echo 'Xdebug not found, you should run the following at the command line: echo "zend_extension=/usr/lib64/php/modules/xdebug.so" > /etc/php.d/xdebug.ini' . "\n"; -} diff --git a/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php b/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php deleted file mode 100644 index a0ac2d2c9..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/custom/Complex.php +++ /dev/null @@ -1,114 +0,0 @@ -<?php - -class Complex { - - private $realPart = 0; - private $imaginaryPart = 0; - private $suffix = NULL; - - public static function _parseComplex($complexNumber) - { - // Test for real number, with no imaginary part - if (is_numeric($complexNumber)) - return array( $complexNumber, 0, NULL ); - - // Fix silly human errors - if (strpos($complexNumber,'+-') !== FALSE) - $complexNumber = str_replace('+-','-',$complexNumber); - if (strpos($complexNumber,'++') !== FALSE) - $complexNumber = str_replace('++','+',$complexNumber); - if (strpos($complexNumber,'--') !== FALSE) - $complexNumber = str_replace('--','-',$complexNumber); - - // Basic validation of string, to parse out real and imaginary parts, and any suffix - $validComplex = preg_match('/^([\-\+]?(\d+\.?\d*|\d*\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?)([\-\+]?(\d+\.?\d*|\d*\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?)?(([\-\+]?)([ij]?))$/ui',$complexNumber,$complexParts); - - if (!$validComplex) { - // Neither real nor imaginary part, so test to see if we actually have a suffix - $validComplex = preg_match('/^([\-\+]?)([ij])$/ui',$complexNumber,$complexParts); - if (!$validComplex) { - throw new Exception('COMPLEX: Invalid complex number'); - } - // We have a suffix, so set the real to 0, the imaginary to either 1 or -1 (as defined by the sign) - $imaginary = 1; - if ($complexParts[1] === '-') { - $imaginary = 0 - $imaginary; - } - return array(0, $imaginary, $complexParts[2]); - } - - // If we don't have an imaginary part, identify whether it should be +1 or -1... - if (($complexParts[4] === '') && ($complexParts[9] !== '')) { - if ($complexParts[7] !== $complexParts[9]) { - $complexParts[4] = 1; - if ($complexParts[8] === '-') { - $complexParts[4] = -1; - } - // ... or if we have only the real and no imaginary part (in which case our real should be the imaginary) - } else { - $complexParts[4] = $complexParts[1]; - $complexParts[1] = 0; - } - } - - // Return real and imaginary parts and suffix as an array, and set a default suffix if user input lazily - return array( $complexParts[1], - $complexParts[4], - !empty($complexParts[9]) ? $complexParts[9] : 'i' - ); - } // function _parseComplex() - - - public function __construct($realPart, $imaginaryPart = null, $suffix = 'i') - { - if ($imaginaryPart === null) { - if (is_array($realPart)) { - // We have an array of (potentially) real and imaginary parts, and any suffix - list ($realPart, $imaginaryPart, $suffix) = array_values($realPart) + array(0.0, 0.0, 'i'); - } elseif((is_string($realPart)) || (is_numeric($realPart))) { - // We've been given a string to parse to extract the real and imaginary parts, and any suffix - list ($realPart, $imaginaryPart, $suffix) = self::_parseComplex($realPart); - } - } - - // Set parsed values in our properties - $this->realPart = (float) $realPart; - $this->imaginaryPart = (float) $imaginaryPart; - $this->suffix = strtolower($suffix); - } - - public function getReal() - { - return $this->realPart; - } - - public function getImaginary() - { - return $this->imaginaryPart; - } - - public function getSuffix() - { - return $this->suffix; - } - - public function __toString() { - $str = ""; - if ($this->imaginaryPart != 0.0) { - if (abs($this->imaginaryPart) != 1.0) { - $str .= $this->imaginaryPart . $this->suffix; - } else { - $str .= (($this->imaginaryPart < 0.0) ? '-' : ''). $this->suffix; - } - } - if ($this->realPart != 0.0) { - if (($str) && ($this->imaginaryPart > 0.0)) - $str = "+" . $str; - $str = $this->realPart . $str; - } - if (!$str) - $str = "0.0"; - return $str; - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php b/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php deleted file mode 100644 index 5b64e4ced..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/custom/complexAssert.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php - -include_once dirname(__FILE__).'/Complex.php'; - - -class complexAssert { - - private $_errorMessage = ''; - - public function assertComplexEquals($expected, $actual, $delta = 0) - { - if ($expected{0} === '#') { - // Expecting an error, so we do a straight string comparison - if ($expected === $actual) { - return TRUE; - } - $this->_errorMessage = 'Expected Error: ' . - $actual . ' !== ' . $expected; - return FALSE; - } - - $expectedComplex = new Complex($expected); - $actualComplex = new Complex($actual); - - if (!is_numeric($actualComplex->getReal()) || !is_numeric($expectedComplex->getReal())) { - if ($actualComplex->getReal() !== $expectedComplex->getReal()) { - $this->_errorMessage = 'Mismatched String: ' . - $actualComplex->getReal() . ' !== ' . $expectedComplex->getReal(); - return FALSE; - } - return TRUE; - } - - if ($actualComplex->getReal() < ($expectedComplex->getReal() - $delta) || - $actualComplex->getReal() > ($expectedComplex->getReal() + $delta)) { - $this->_errorMessage = 'Mismatched Real part: ' . - $actualComplex->getReal() . ' != ' . $expectedComplex->getReal(); - return FALSE; - } - - if ($actualComplex->getImaginary() < ($expectedComplex->getImaginary() - $delta) || - $actualComplex->getImaginary() > ($expectedComplex->getImaginary() + $delta)) { - $this->_errorMessage = 'Mismatched Imaginary part: ' . - $actualComplex->getImaginary() . ' != ' . $expectedComplex->getImaginary(); - return FALSE; - } - - if ($actualComplex->getSuffix() !== $actualComplex->getSuffix()) { - $this->_errorMessage = 'Mismatched Suffix: ' . - $actualComplex->getSuffix() . ' != ' . $expectedComplex->getSuffix(); - return FALSE; - } - - return TRUE; - } - - - public function getErrorMessage() { - return $this->_errorMessage; - } - -} diff --git a/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml b/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml deleted file mode 100644 index 7e598cc9a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/phpunit-cc.xml +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<phpunit bootstrap="./bootstrap.php" - backupGlobals="true" - colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - processIsolation="false" - syntaxCheck="true" - verbose="true" - strict="true" - stopOnError="false" - stopOnFailure="false" - stopOnIncomplete="false" - stopOnSkipped="false"> - <php> - <ini name="memory_limit" value="2048M"/> - </php> - <testsuite name="PHPExcel Unit Test Suite"> - <directory suffix="Test.php">./Classes</directory> - </testsuite> - <filter> - <whitelist> - <directory suffix=".php">../Classes</directory> - <exclude> - <directory>../Classes/PHPExcel/Shared/PCLZip</directory> - <directory>../Classes/PHPExcel/Shared/JAMA</directory> - <directory>../Classes/PHPExcel/Writer/PDF</directory> - </exclude> - </whitelist> - </filter> - <logging> - <log type="coverage-html" target="./codeCoverage" charset="UTF-8" - yui="true" highlight="false" - lowUpperBound="35" highLowerBound="70"/> - <log type="coverage-clover" target="./codeCoverage/codeCoverage.xml"/> - <log type="metrics-xml" target="./metrics/metrics.xml"/> - <log type="test-xml" target="./testResults/logfile.xml" logIncompleteSkipped="false"/> - </logging> -</phpunit> diff --git a/vendor/phpoffice/phpexcel/unitTests/phpunit.xml b/vendor/phpoffice/phpexcel/unitTests/phpunit.xml deleted file mode 100644 index 2c2ff360a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/phpunit.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<phpunit bootstrap="./bootstrap.php" - backupGlobals="true" - colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - processIsolation="false" - syntaxCheck="true" - verbose="true" - strict="true" - stopOnError="false" - stopOnFailure="false" - stopOnIncomplete="false" - stopOnSkipped="false"> - <php> - <ini name="memory_limit" value="2048M"/> - </php> - <testsuite name="PHPExcel Unit Test Suite"> - <directory suffix="Test.php">./Classes</directory> - </testsuite> - <filter> - <whitelist> - <directory suffix=".php">../Classes</directory> - <exclude> - <directory>../Classes/PHPExcel/Shared/PCLZip</directory> - <directory>../Classes/PHPExcel/Shared/JAMA</directory> - <directory>../Classes/PHPExcel/Writer/PDF</directory> - </exclude> - </whitelist> - </filter> -</phpunit> diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data deleted file mode 100644 index cdcc776b0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATE.data +++ /dev/null @@ -1,79 +0,0 @@ -# Year Month Day Result Comments -18, 11, 11, 6890 -1900, 1, 1, 1 // Excel 1900 Calendar Base Date -1900, 2, 28, 59 // Day before Excel mythical 1900 leap day -1900, 2, 29, 60 // Excel mythical 1900 leap day -1900, 3, 1, 61 // Day after Excel mythical 1900 leap day -1901, 12, 13, 713 // Day after Excel mythical 1900 leap day -1901, 12, 14, 714 // PHP 32-bit Earliest Date -1903, 12, 31, 1461 -1904, 1, 1, 1462 // Excel 1904 Calendar Base Date -1904, 1, 2, 1463 -1960, 12, 19, 22269 -1970, 1, 1, 25569 // PHP Base Date -1982, 12, 7, 30292 -2008, 6, 12, 39611 -2038, 1, 19, 50424 // PHP 32-bit Latest Date -2038, 1, 20, 50425 // Day after PHP 32-bit Latest Date -2008, 1, 1, 39448 -2008, 1, , 39447 -2008, 1, -1, 39446 -2008, 1, -30, 39417 -2008, 1, -31, 39416 -2008, 1, -365, 39082 -2008, 3, 1, 39508 -2008, 3, , 39507 -2008, 3, -1, 39506 -2008, 3, -365, 39142 -2008, , 1, 39417 -2008, -1, 1, 39387 -2008, -11, 1, 39083 -2008, -12, 1, 39052 -2008, -13, 1, 39022 -2008, -13, 30, 39051 -2008, -13, , 39021 -2008, -13, -30, 38991 -2008, -13, -31, 38990 -2008, 13, 1, 39814 -2007, 15, , 39507 -2008, 26, 1, 40210 -2008, 26, -10, 40199 -2008, -26, 61, 38686 -2010, -15, -50, 39641 -2010, -15, 50, 39741 -2010, 15, -50, 40552 -2010, 15, 50, 40652 -2010, 1.5, 1, 40179 -2010, 1.5, 0, 40178 -2010, 0, 1.5, 40148 -2010, 1, 1.5, 40179 -2012, 6, 15, 41075 -2012, 6, , 41060 -2012, , 15, 40892 -, 6, 15, 167 -10, 6, 15, 3819 -10, , , 3622 -, 10, , 274 -, , 10, "#NUM!" --20, , , "#NUM!" --20, 6, 15, "#NUM!" -9999, 12, 31, 2958465 // Excel Maximum Date -10000, 1, 1, "#NUM!" // Exceeded Excel Maximum Date -2008, 8, 10, 39670 -2008, 12, 31, 39813 -2008, 8, 32, 39692 -2008, 13, 31, 39844 -2009, 1, 0, 39813 -2009, 1, -1, 39812 -2009, 0, 0, 39782 -2009, 0, -1, 39781 -2009, -1, 0, 39752 -2009, -1, -1, 39751 -2010, 0, -1, 40146 -2010, 5, 31, 40329 -2010, 1, '21st', 40199 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -2010, "March",'21st', 40258 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -2010, "March",21, 40258 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"ABC", 1, 21, "#VALUE!" -2010, "DEF", 21, "#VALUE!" -2010, 3, "GHI", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data deleted file mode 100644 index e8d9e06bf..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEDIF.data +++ /dev/null @@ -1,96 +0,0 @@ -"ABC", "2007-1-10", "Y", "#VALUE!" -"2007-1-1", "DEF", "Y", "#VALUE!" -"2007-1-1", "2007-1-10", "XYZ", "#VALUE!" -"2007-1-10", "2007-1-1", "Y", "#NUM!" -"2007-12-31", "2008-1-10", "Y", 0 -"2007-1-1", "2007-1-10", "Y", 0 -"2007-1-1", "2007-1-10", "M", 0 -"2007-1-1", "2007-1-10", "D", 9 -"2007-1-1", "2007-1-10", "YM", 0 -"2007-1-1", "2007-1-10", "YD", 9 -"2007-1-1", "2007-1-10", "MD", 9 -"2007-1-1", "2007-12-31", "Y", 0 -"2007-1-1", "2007-12-31", "M", 11 -"2007-1-1", "2007-12-31", "D", 364 -"2007-1-1", "2007-12-31", "YM", 11 -"2007-1-1", "2007-12-31", "YD", 364 -"2007-1-1", "2007-12-31", "MD", 30 -"2007-1-1", "2008-7-1", "Y", 1 -"2007-1-1", "2008-7-1", "M", 18 -"2007-1-1", "2008-7-1", "D", 547 -"2007-1-1", "2008-7-1", "YM", 6 -"2007-1-1", "2008-7-1", "YD", 181 -"2007-1-1", "2008-7-1", "MD", 0 -"2007-1-1", "2007-1-31", "Y", 0 -"2007-1-1", "2007-1-31", "M", 0 -"2007-1-1", "2007-1-31", "D", 30 -"2007-1-1", "2007-1-31", "YM", 0 -"2007-1-1", "2007-1-31", "YD", 30 -"2007-1-1", "2007-1-31", "MD", 30 -"2007-1-1", "2007-2-1", "Y", 0 -"2007-1-1", "2007-2-1", "M", 1 -"2007-1-1", "2007-2-1", "D", 31 -"2007-1-1", "2007-2-1", "YM", 1 -"2007-1-1", "2007-2-1", "YD", 31 -"2007-1-1", "2007-2-1", "MD", 0 -"2007-1-1", "2007-2-28", "Y", 0 -"2007-1-1", "2007-2-28", "M", 1 -"2007-1-1", "2007-2-28", "D", 58 -"2007-1-1", "2007-2-28", "YM", 1 -"2007-1-1", "2007-2-28", "YD", 58 -"2007-1-1", "2007-2-28", "MD", 27 -"2007-1-31", "2007-2-1", "Y", 0 -"2007-1-31", "2007-2-1", "M", 0 -"2007-1-31", "2007-2-1", "D", 1 -"2007-1-31", "2007-2-1", "YM", 0 -"2007-1-31", "2007-2-1", "YD", 1 -"2007-1-31", "2007-2-1", "MD", 1 -"2007-1-31", "2007-3-1", "Y", 0 -"2007-1-31", "2007-3-1", "M", 1 -"2007-1-31", "2007-3-1", "D", 29 -"2007-1-31", "2007-3-1", "YM", 1 -"2007-1-31", "2007-3-1", "YD", 29 -"2007-1-31", "2007-3-1", "MD", -2 -"2007-1-31", "2007-3-31", "Y", 0 -"2007-1-31", "2007-3-31", "M", 2 -"2007-1-31", "2007-3-31", "D", 59 -"2007-1-31", "2007-3-31", "YM", 2 -"2007-1-31", "2007-3-31", "YD", 59 -"2007-1-31", "2007-3-31", "MD", 0 -"2008-1-1", "2008-9-1", "Y", 0 -"2008-1-1", "2008-9-1", "M", 8 -"2008-1-1", "2008-9-1", "D", 244 -"2008-1-1", "2008-9-1", "YM", 8 -"2008-1-1", "2008-9-1", "YD", 244 -"2008-1-1", "2008-9-1", "MD", 0 -"2007-2-1", "2008-4-1", "Y", 1 -"2007-2-1", "2008-4-1", "M", 14 -"2007-2-1", "2008-4-1", "D", 425 -"2007-2-1", "2008-4-1", "YM", 2 -"2007-2-1", "2008-4-1", "YD", 59 -"2007-2-1", "2008-4-1", "MD", 0 -"1960-12-19", "2008-6-28", "Y", 47 -"1960-12-19", "2008-6-28", "M", 570 -"1960-12-19", "2008-6-28", "D", 17358 -"1960-12-19", "2008-6-28", "YM", 6 -"1960-12-19", "2008-6-28", "YD", 191 -"1960-12-19", "2008-6-28", "MD", 9 -"1982-12-7", "2008-6-28", "Y", 25 -"1982-12-7", "2008-6-28", "M", 306 -"1982-12-7", "2008-6-28", "D", 9335 -"1982-12-7", "2008-6-28", "YM", 6 -"1982-12-7", "2008-6-28", "YD", 203 -"1982-12-7", "2008-6-28", "MD", 21 -"2007-12-25", "2010-3-17", "Y", 2 -"2007-12-25", "2010-3-17", "M", 26 -"2007-12-25", "2010-3-17", "D", 813 -"2007-12-25", "2010-3-17", "YM", 2 -"2007-12-25", "2010-3-17", "YD", 82 -"2007-12-25", "2010-3-17", "MD", 20 -"19-12-1960", "26-01-2012" "Y", 51 -"19-12-1960", "26-01-2012" "M", 613 -"19-12-1960", "26-01-2012" "D", 18665 -"19-12-1960", "26-01-2012" "YM", 1 -"19-12-1960", "26-01-2012" "YD", 38 -"19-12-1960", "26-01-2012" "MD", 7 -"19-12-1960", "12-12-2012" "Y", 50 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data deleted file mode 100644 index f4b0f68e3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DATEVALUE.data +++ /dev/null @@ -1,66 +0,0 @@ -# Date String Result -"25-Dec-1899", "#VALUE!" -"31-Dec-1899", "#VALUE!" -"1-Jan-1900", 1 -"1900/2/28", 59 -"29-02-1900", 60 -"29th February 1900", 60 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"1900/3/1", 61 -"13-12-1901", 713 -"14-12-1901", 714 -"1903/12/31", 1461 -"1-Jan-1904", 1462 -"2nd-Jan-1904", 1463 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"19-12-1960", 22269 -"1st January 1970", 25569 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"7-Dec-1982", 30292 -"1-1-2008", 39448 -"2038-01-19", 50424 -"2-6-2008", 39601 -"December 25th 2008", 39807 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"1 Jan-2008", 39448 -"12-31-2008", 39813 // MS Excel success or failure dependent on country settings -"31-12-2008", 39813 // PHPExcel tries to handle both US and UK formats, irrespective of country settings -"8/22/2008", 39682 // MS Excel success or failure dependent on country settings -"22/8/2008", 39682 // PHPExcel tries to handle both US and UK formats, irrespective of country settings -"22/8/08", 39682 -"22-AUG-2008", 39682 -"2008/02/23", 39501 -"6-7-2008", 39635 -"28-2-2007", 39141 // MS Excel success or failure dependent on country settings -"2-28-2007", 39141 // PHPExcel tries to handle both US and UK formats, irrespective of country settings -"29-2-2007", "#VALUE!" // Should fail because it's an invalid date, but PHPExcel currently adjusts to 1-3-2007 - FIX NEEDED -"1/1/1999", 36161 -"1954-07-20", 19925 -"22 August 98", 36029 -"1st March 2007", 39142 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"The 1st day of March 2007", "#VALUE!" -"1 Jan", 41275 -"31/12", 41639 -"12/31", 11658 // Excel reads as 1st December 1931, not 31st December in current year -"5-JUL", 41460 -"5 Jul", 41460 -"12/2008", 39783 -"10/32", 11963 -11, "#VALUE!" -TRUE, "#VALUE!" -FALSE, "#VALUE!" -1, "#VALUE!" -12345, "#VALUE!" -12, "#VALUE!" -"12-Feb-2010", 40221 -"Feb-12-2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"February-12-2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"February 12 2010", 40221 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"18 Feb 2010", 40227 -"17th 3rd 2010", 40254 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"Feb 18th 2010", 40227 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"1st Feb 2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"1st-Feb-2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"1me Fev 2010", "#VALUE!" -"February 1st 2010", 40210 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"2nd Feb 2010", 40211 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"Second Feb 2010", "#VALUE!" -"First August 2010", "#VALUE!" -"1st August 2010", 40391 // MS Excel will fail with a #VALUE return, but PHPExcel can parse this date -"15:30:25", 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data deleted file mode 100644 index bde1e8b5e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAY.data +++ /dev/null @@ -1,8 +0,0 @@ -# Date Value Result -22269, 19 -30348, 1 -30843, 10 -"11-Nov-1918", 11 -"28-Feb-1904", 28 -"Invalid", "#VALUE!" --1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data deleted file mode 100644 index c7abb6128..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/DAYS360.data +++ /dev/null @@ -1,34 +0,0 @@ -"ABC", "2007-1-10", FALSE, "#VALUE!" -"2007-1-1", "DEF", TRUE, "#VALUE!" -"2007-1-1", "2007-1-10", "XYZ", "#VALUE!" -"2007-1-10", "2007-1-1", "Y", "#VALUE!" -"2007-1-1", "2007-1-10", FALSE, 9 -"2007-1-1", "2007-1-10", TRUE, 9 -"2007-1-1", "2007-12-31", FALSE, 360 -"2007-1-1", "2007-12-31", TRUE, 359 -"2007-1-1", "2008-7-1", FALSE, 540 -"2007-1-1", "2008-7-1", TRUE, 540 -"2007-1-1", "2007-1-31", FALSE, 30 -"2007-1-1", "2007-1-31", TRUE, 29 -"2007-1-1", "2007-2-1", FALSE, 30 -"2007-1-1", "2007-2-1", TRUE, 30 -"2007-1-1", "2007-2-28", FALSE, 57 -"2007-1-1", "2007-2-28", TRUE, 57 -"2007-1-31", "2007-2-1", FALSE, 1 -"2007-1-31", "2007-2-1", TRUE, 1 -"2007-1-31", "2007-3-1", FALSE, 31 -"2007-1-31", "2007-3-1", TRUE, 31 -"2007-1-31", "2007-3-31", FALSE, 60 -"2007-1-31", "2007-3-31", TRUE, 60 -"2008-1-1", "2008-9-1", FALSE, 240 -"2008-1-1", "2008-9-1", TRUE, 240 -"2007-2-1", "2008-4-1", FALSE, 420 -"2007-2-1", "2008-4-1", TRUE, 420 -"1960-12-19", "2008-6-28", FALSE, 17109 -"1960-12-19", "2008-6-28", TRUE, 17109 -"1982-12-7", "2008-6-28", FALSE, 9201 -"1982-12-7", "2008-6-28", TRUE, 9201 -"2000-2-28", "2000-3-31", FALSE, 33 -"2000-2-28", "2000-3-31", TRUE, 32 -"2000-2-29", "2000-3-31", FALSE, 30 -"2000-2-29", "2000-3-31", TRUE, 31 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data deleted file mode 100644 index b7b13e09e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EDATE.data +++ /dev/null @@ -1,15 +0,0 @@ -"15-Jan-2008", 1, 39493 -"15-Jan-2008", -1, 39431 -"15-Jan-2008", 2, 39522 -"31-Mar-2007", 1, 39202 -"31-Mar-2007", -1, 39141 -"31-Mar-2008", -1, 39507 -"31-Mar-2008", -4, 39416 -"29-Feb-2008", -12, 39141 -"15-Mar-2007", 3, 39248 -22269.0, 0, 22269 -22269.0, 2, 22331 -22269.0, 110, 25618 -22269.0, -110, 18920 -"15-Mar-2007", "ABC", "#VALUE!" -"Invalid", 12, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data deleted file mode 100644 index 130a769c7..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/EOMONTH.data +++ /dev/null @@ -1,17 +0,0 @@ -"15-Jan-2008", 1, 39507 -"15-Jan-2008", -1, 39447 -"15-Jan-2008", 2, 39538 -"31-Mar-2007", 1, 39202 -"31-Mar-2007", -1, 39141 -"31-Mar-2008", -1, 39507 -"31-Mar-2008", -4, 39416 -"29-Feb-2008", -12, 39141 -"15-Mar-2007", 3, 39263 -22269.0, 0, 22281 -22269.0, 2, 22340 -22269.0, 110, 25627 -22269.0, -110, 18932 -22269.0, 3, 22371 -22269.0, 3.75, 22371 -"15-Mar-2007", "ABC", "#VALUE!" -"Invalid", 12, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data deleted file mode 100644 index c07d0dccd..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/HOUR.data +++ /dev/null @@ -1,12 +0,0 @@ -0.25, 6 -0.75, 18 -0.5, 12 -0.6, 14 -"11-Nov-1918 11:11", 11 -"11:59 PM", 23 -"23:59:59", 23 -3600, 2 --3600, 0 -7200, 3 -65535, 19 -"1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data deleted file mode 100644 index 2931c7500..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MINUTE.data +++ /dev/null @@ -1,12 +0,0 @@ -0.2, 48 -0.4, 36 -0.6, 24 -0.8, 12 -"11-Nov-1918 11:15", 15 -"11:59 PM", 59 -"23:59:59", 59 -3600, 0 --3600, 0 -12500, 28 -65535, 12 -"Half past 1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data deleted file mode 100644 index 6336ffdab..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/MONTH.data +++ /dev/null @@ -1,12 +0,0 @@ -, 1 -0, 1 -22269.0, 12 -30348.0, 2 -30843.0, 6 -"11-Nov-1918", 11 -"28-Feb-1904", 2 -"01 Jul 2003", 7 -38094, 4 -"Dec 2003", 12 --10, "#NUM!" -"ABCD", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data deleted file mode 100644 index 70034bfd7..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/NETWORKDAYS.data +++ /dev/null @@ -1,18 +0,0 @@ -"1-Jan-2007", "10-Jan-2007", 8 -"18-Jun-2008", "20-Jun-2008", 3 -"16-Jun-2008", "20-Jun-2008", 5 -"14-Jun-2008", "20-Jun-2008", 5 -"20-Jun-2008", "20-Jun-2008", 1 -"21-Jun-2008", "21-Jun-2008", 0 -"20-Jun-2008", "20-Jun-2008", "20-Jun-2008", 0 -"20-Jun-2008", "20-Jun-2008", "20-Jun-2008", "20-Jun-2008", 0 -"14-Jun-2008", "25-Jun-2008", 8 -"19-Dec-1960", "10-Jan-1961", 17 -"10-Jan-1961", "19-Dec-1960", -17 -"19-Dec-1960", "10-Jan-1961", "25-Dec-1960", "26-Dec-1960", "01-Jan-1961", 16 -"10-Jan-1961", "19-Dec-1960", "25-Dec-1960", "26-Dec-1960", "01-Jan-1961", -16 -"1-Jan-2007", "31-Mar-2007", 65 -"1-Jan-2007", "31-Jan-2007", 23 -"1-Jan-2007", "1-Feb-2007", 24 -"1-Jan-2007", "28-Feb-2007", 43 -"31-Jan-2007", "1-Feb-2007", 2 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data deleted file mode 100644 index 14a8d3a59..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/SECOND.data +++ /dev/null @@ -1,12 +0,0 @@ -0.2339930556, 57 -0.4202893519, 13 -0.6078935185, 22 -0.8022106481, 11 -"11-Nov-1918 11:15:35", 35 -"11:59 PM", 0 -"23:59:59", 59 -3600, 0 --3601, 59 -12500, 20 -65535, 15 -"Half past 1 O'Clock", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data deleted file mode 100644 index 46d0b9ac0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIME.data +++ /dev/null @@ -1,22 +0,0 @@ -18, 11, 11, 0.757766203704 -6, 15, 5, 0.260474537037 -12, 30, 10, 0.520949074074 -18, 45, 25, 0.781539351852 -15, 32, 50, 0.647800925926 -12, , 61, 0.500706018519 -11, , -1, 0.458321759259 -10, , -67, 0.415891203704 -13, 62, 5, 0.584780092593 -9, -80, 17, 0.319641203704 -8, -162, , 0.220833333333 -2, -120, -1, "#NUM!" -2, -120, , 0.000000000000 -2, -120, 1, 0.000011574074 -36, 1, 2, 0.500717592593 --1, 2, 3, "#NUM!" --1, 61, 29, 0.001030092593 --1, 61, -60, 0.000000000000 -"A", , , "#VALUE!" -11, 59, 0, 0.499305555556 -12, 0, 0, 0.500000000000 -16, 48, 10, 0.700115740741 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data deleted file mode 100644 index 457de24e3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/TIMEVALUE.data +++ /dev/null @@ -1,13 +0,0 @@ -"12:00:00 am", 0 -"12:01:02 am", 0.000717593 -"12:03 pm", 0.502083333 -"12:7:11 pm", 0.504988426 -"4:13:39", 0.176145833 -"6:20:17 pm", 0.764085648 -"18:33:27", 0.773229167 -"31/12/2007 03:27:15", 0.143923611 -"9:44:55 pm", 0.90619213 -12, "#VALUE!" -"13:01", 0.542361111 -"33:45", 0.40625 -"13:01PM", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data deleted file mode 100644 index ca2e11f7b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKDAY.data +++ /dev/null @@ -1,27 +0,0 @@ -"24-Oct-1968", 5 -"24-Oct-1968", 2, 4 -"24-Oct-1968", 3, 3 -"2000-06-14", 4 -"2000-06-14", 2, 3 -"2000-06-14", 3, 2 -"1996-07-24", 4 -"1996-07-24", 2, 3 -"1996-07-24", 3, 2 -"1996-07-27", 7 -"1996-07-27", 2, 6 -"1996-07-27", 3, 5 -"1977-7-31", 1 -"1977-7-31", 2, 7 -"1977-7-31", 3, 6 -"1977-8-1", 2 -"1977-8-1", 2, 1 -"1977-8-1", 3, 0 -"1900-2-5", 2, 7 -"1900-2-1", 1 -38093, 6 -38093, 2, 5 -38093, 3, 4 -"3/7/1977", "A", "#VALUE!" -"3/7/1977", 0, "#NUM!" -"Invalid", 1, "#VALUE!" --1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data deleted file mode 100644 index 22a01a74c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WEEKNUM.data +++ /dev/null @@ -1,7 +0,0 @@ -"21-Dec-2000", 1, 52 -"1995-01-01", 1, 1 -"3/7/1977", 27 -"3/7/1977", "A", "#VALUE!" -"3/7/1977", 0, "#NUM!" -"Invalid", 1, "#VALUE!" --1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data deleted file mode 100644 index 1070898b2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/WORKDAY.data +++ /dev/null @@ -1,13 +0,0 @@ -"1-Jan-2007", "ABC", "#VALUE!" -"1-Jan-2007", 9, 39094 -"18-Jun-2008", 2, 39619 -"16-Jun-2008", 4, 39619 -"14-Jun-2008", 6, 39622 -"14-Jun-2008", 11, 39629 -"14-Jun-2008", -2, 39611 -"14-Jun-2008", -6, 39605 -"19-Dec-2008", 10, 39815 -"19-Dec-2008", 10, "25-Dec-2008", "26-Dec-2008", "01-Jan-2009", 39820 -"19-Dec-2008", 10, {"25-Dec-2008"|"26-Dec-2008"|"01-Jan-2009"}, 39820 -39820, -10, {"25-Dec-2008"|"26-Dec-2008"|"01-Jan-2009"}, 39801 -"5-Apr-2012", 3, {"6-Apr-2012"|"9-Apr-2012"}, 41010 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data deleted file mode 100644 index fe35f1b4a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEAR.data +++ /dev/null @@ -1,11 +0,0 @@ -, 1900 -1, 1900 -33333.33, 1991 -22269.0, 1960 -30348.0, 1983 -30843.0, 1984 -"01 Jan 2525", 2525 -"11-Nov-1918", 1918 -"28-Feb-1904", 1904 --10, "#NUM!" -"ABCD", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data deleted file mode 100644 index 3fc582772..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/DateTime/YEARFRAC.data +++ /dev/null @@ -1,65 +0,0 @@ -"2007-1-1", "2007-1-10", 0, 0.025 -"2007-1-1", "2007-1-10", 1, 0.02465753424658 -"2007-1-1", "2007-1-10", 2, 0.025 -"2007-1-1", "2007-1-10", 3, 0.02465753424658 -"2007-1-1", "2007-1-10", 4, 0.025 -"2007-1-1", "2007-12-31", 0, 1.0 -"2007-1-1", "2007-12-31", 1, 0.99726027397260 -"2007-1-1", "2007-12-31", 2, 1.01111111111111 -"2007-1-1", "2007-12-31", 3, 0.99726027397260 -"2007-1-1", "2007-12-31", 4, 0.99722222222222 -"2007-1-1", "2008-7-1", 0, 1.5 -"2007-1-1", "2008-7-1", 1, 1.49658002735978 -"2007-1-1", "2008-7-1", 2, 1.51944444444444 -"2007-1-1", "2008-7-1", 3, 1.49863013698630 -"2007-1-1", "2008-7-1", 4, 1.5 -"2007-1-1", "2007-1-31", 0, 0.08333333333333 -"2007-1-1", "2007-1-31", 1, 0.08219178082192 -"2007-1-1", "2007-1-31", 2, 0.08333333333333 -"2007-1-1", "2007-1-31", 3, 0.08219178082192 -"2007-1-1", "2007-1-31", 4, 0.08055555555556 -"2007-1-1", "2007-2-1", 0, 0.08333333333333 -"2007-1-1", "2007-2-1", 1, 0.08493150684932 -"2007-1-1", "2007-2-1", 2, 0.08611111111111 -"2007-1-1", "2007-2-1", 3, 0.08493150684932 -"2007-1-1", "2007-2-1", 4, 0.08333333333333 -"2007-1-1", "2007-2-28", 0, 0.15833333333333 -"2007-1-1", "2007-2-28", 1, 0.15890410958904 -"2007-1-1", "2007-2-28", 2, 0.16111111111111 -"2007-1-1", "2007-2-28", 3, 0.15890410958904 -"2007-1-1", "2007-2-28", 4, 0.15833333333333 -"2007-1-31", "2007-2-1", 0, 0.00277777777778 -"2007-1-31", "2007-2-1", 1, 0.00273972602740 -"2007-1-31", "2007-2-1", 2, 0.00277777777778 -"2007-1-31", "2007-2-1", 3, 0.00273972602740 -"2007-1-31", "2007-2-1", 4, 0.00277777777778 -"2007-1-31", "2007-3-1", 0, 0.08611111111111 -"2007-1-31", "2007-3-1", 1, 0.07945205479452 -"2007-1-31", "2007-3-1", 2, 0.08055555555556 -"2007-1-31", "2007-3-1", 3, 0.07945205479452 -"2007-1-31", "2007-3-1", 4, 0.08611111111111 -"2007-1-31", "2007-3-31", 0, 0.16666666666667 -"2007-1-31", "2007-3-31", 1, 0.16164383561644 -"2007-1-31", "2007-3-31", 2, 0.16388888888889 -"2007-1-31", "2007-3-31", 3, 0.16164383561644 -"2007-1-31", "2007-3-31", 4, 0.16666666666667 -"2008-1-1", "2008-9-1", 0, 0.66666666666667 -"2008-1-1", "2008-9-1", 1, 0.66666666666667 -"2008-1-1", "2008-9-1", 2, 0.67777777777778 -"2008-1-1", "2008-9-1", 3, 0.66849315068493 -"2008-1-1", "2008-9-1", 4, 0.66666666666667 -"2007-2-1", "2008-4-1", 0, 1.16666666666667 -"2007-2-1", "2008-4-1", 1, 1.16279069767442 -"2007-2-1", "2008-4-1", 2, 1.18055555555556 -"2007-2-1", "2008-4-1", 3, 1.16438356164384 -"2007-2-1", "2008-4-1", 4, 1.16666666666667 -"1960-12-19", "2008-6-28", 0, 47.525 -"1960-12-19", "2008-6-28", 1, 47.52162252765670 -"1960-12-19", "2008-6-28", 2, 48.21666666666670 -"1960-12-19", "2008-6-28", 3, 47.55616438356160 -"1960-12-19", "2008-6-28", 4, 47.525 -"1982-12-7", "2008-6-28", 0, 25.55833333333330 -"1982-12-7", "2008-6-28", 1, 25.55718921111340 -"1982-12-7", "2008-6-28", 2, 25.93055555555560 -"1982-12-7", "2008-6-28", 3, 25.57534246575340 -"1982-12-7", "2008-6-28", 4, 25.55833333333330 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data deleted file mode 100644 index bab50c698..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELI.data +++ /dev/null @@ -1,59 +0,0 @@ -1.5, -1, "#NUM!" --1, 6, 2.2488660949282200E-05 -0, 3, 0.0 -3, 0, 4.8807925650332900 -1, 5, 2.7146314958504900E-04 -1.5, 1, 9.8166642847516600E-01 --1.5, 2.5, 3.3783462087443800E-01 --1.5, 14.99, 2.1218581758012900E-13 -1, 30, 3.5395005050254700E-42 -2.5, 1, 2.5167162420253600 -2.5, 1.5, 2.5167162420253600 --2.5, 1.5, -2.5167162420253600 -3.5, 1, 6.2058349320630000 -0.7, 3, 7.3673733669342700E-03 -3.5, 2, 3.8320120716293600 -35, 2, 1.0129348967887200E+14 --35, 2, 1.0129348967887200E+14 --35, 3, -9.4217724797020600E+13 --35, 4, 8.5141821583727800E+13 -1.5, "XYZ", "#VALUE!" -"ABC", 3, "#VALUE!" --9, 1, -1.0309147086534900E+03 --3.5, 1, -6.2058349320630000 --0.735, 1, -3.9288151661176300E-01 -0, 1, 0.0 -0.035, 1, 1.7502679823335300E-02 -1, 1, 5.6515909758194300E-01 -1.5, 1, 9.8166642847516600E-01 -2.5, 1, 2.5167162420253600 -3.5, 1, 6.2058349320630000 --9, 2, 8.6449622063929800E+02 --3.5, 2, 3.8320120716293600 --0.735, 2, 7.0619941066585700E-02 -0, 2, 0.0 -0.035, 2, 1.5314063208086000E-04 -0.9, 2, 1.0825972222234100E-01 -1, 2, 1.3574766658069900E-01 -1.9, 2, 6.0327243548745000E-01 -2.5, 2, 1.2764661588156100 -3.5, 2, 3.8320120716293600 -4, 2, 6.4221894991960900 -0.035, 3, 8.9329755645604500E-07 -0.7, 3, 7.3673733669342700E-03 -0.89, 3, 1.5428502532466100E-02 -4, 3, 3.3372758428109200 -4, 5, 5.0472437285149600E-01 -1.5, 7, 2.8406417355214300E-05 -3, 9, 1.3237298826652200E-04 --3.5, 0, 7.3782034775718600 --1.5, 0, 1.6467232021476800 -0, 0, 1.0 -1, 0, 1.2660658480342600 -1.5, 0, 1.6467232021476800 -2.5, 0, 3.2898391723912900 -3.5, 0, 7.3782034775718600 --3.5, -1, "#NUM!" -TRUE, 1, "#VALUE!" -1, TRUE, "#VALUE!" -21, 2, 1.0477785626593200E+08 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data deleted file mode 100644 index e84f16e6d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELJ.data +++ /dev/null @@ -1,37 +0,0 @@ -1.5, -1, "#NUM!" -0, 1, 0.0 -1, 1, 4.4005058567713000E-01 -1, 5, 2.4975773021123400E-04 -1.9, 2, 3.2992582866978500E-01 --2.5, 1.5, -4.9709410250442200E-01 -3.5, 1, 1.3737752717818600E-01 -0.89, 3, 1.3974004027880800E-02 -3.5, 2, 4.5862918476829000E-01 -35, 2, 1.2935945082689100E-01 --35, 2, 1.2935945082689100E-01 --35, 3, 2.9207004782372000E-02 --35, 4, -1.3436636593244100E-01 -1.5, "XYZ", "#VALUE!" -"ABC", 3, "#VALUE!" --3.5, 1, -1.3737752717818600E-01 --0.735, 1, -3.4323577520309400E-01 -0, 1, 0.0 -0.035, 1, 1.7497320451918700E-02 -1.5, 1, 5.5793650789080400E-01 -2.5, 1, 4.9709410250442200E-01 -3.5, 1, 1.3737752717818600E-01 --9, 2, 1.4484636919412800E-01 --0.735, 2, 6.4538955636373900E-02 -0, 2, 0.0 -0.9, 2, 9.4586304292255000E-02 -1.9, 2, 3.2992582866978500E-01 -0.035, 2, 1.5310936908796500E-04 -3.5, 2, 4.5862918476829000E-01 -4, 2, 3.6412814319431200E-01 -0.035, 3, 8.9316078090293600E-07 -0.7, 3, 6.9296548267509400E-03 -0.89, 3, 1.3974004027880800E-02 -4, 3, 4.3017147115339600E-01 -4, 5, 1.3208665605594800E-01 -1.5, 7, 2.4679795788287900E-05 -3, 9, 8.4395021309091800E-05 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data deleted file mode 100644 index fce3a78d6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELK.data +++ /dev/null @@ -1,38 +0,0 @@ -1.5, -1, "#NUM!" -0, 2, "#NUM!" -0.1, 3, 7.9900124326586500E+03 -1, 0, 4.2102442108341800E-01 -1.5, 0, 2.1380556932365400E-01 --1.5, 2, "#NUM!" -1.5, 1, 2.7738780363225900E-01 -1.5, 2, 5.8365597416666600E-01 -2.3, 1.5, 9.4982447142959400E-02 -2.5, 1, 7.3890815650266900E-02 -3.5, 1, 2.2239393224640700E-02 -3.5, 3, 5.9161817991348200E-02 -3, 9, 3.9795880106238500E+02 -3.5, 2, 3.2307121670869000E-02 -1.5, "XYZ", "#VALUE!" -"ABC", 3, "#VALUE!" --3.5, 1, "#NUM!" --0.735, 1, "#NUM!" -0, 1, "#NUM!" -0.035, 1, 2.8501970000186900E+01 -1.5, 1, 2.7738780363225900E-01 -2.5, 1, 7.3890815650266900E-02 -3.5, 1, 2.2239393224640700E-02 --9, 2, "#NUM!" --0.735, 2, "#NUM!" -0, 2, "#NUM!" -0.9, 2, 2.0790271301014400 -1.9, 2, 2.9690930137427500E-01 -0.035, 2, 1.6321537072931900E+03 -3.5, 2, 3.2307121670869000E-02 -4, 2, 1.7401425543547400E-02 -0.035, 3, 1.8656035423207900E+05 -0.7, 3, 2.1972168909566600E+01 -0.89, 3, 1.0317473075007600E+01 -4, 3, 2.9884924431707800E-02 -4, 5, 1.5434254881392600E-01 -1.5, 7, 2.4577004526116700E+03 -3, 9, 3.9795880106238500E+02 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data deleted file mode 100644 index 2247f4ecf..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BESSELY.data +++ /dev/null @@ -1,37 +0,0 @@ -1.5, -1, "#NUM!" -1.23, 45.67, -2.7027311261175000E+63 -2.5, 0, 4.9807035844668900E-01 -2.5, 1, 1.4591813750831300E-01 -2.5, 2, -3.8133584844003800E-01 -3.5, 1, 4.1018841662769800E-01 -3.5, 3, -3.5833534643622900E-01 -4, 2, 2.1590359910699000E-01 -3.5, 2, 4.5371436417535000E-02 -12.5, 0, -1.7121430684466900E-01 -12.5, 1, -1.5383825635163900E-01 -12.5, 2, 1.4660018586805400E-01 -12.5, 22, -3.5760343503878700E+02 -1.5, "XYZ", "#VALUE!" -"ABC", 3, "#VALUE!" --3.5, 1, "#NUM!" --0.735, 1, "#NUM!" -0, 1, "#NUM!" -0.035, 1, -1.8233338940000000E+01 -1.5, 1, -4.1230862700000000E-01 -2.5, 1, 1.4591813800000000E-01 -3.5, 1, 4.1018841700000000E-01 --9, 2, "#NUM!" --0.735, 2, "#NUM!" -0, 2, "#NUM!" -0.9, 2, -1.9459096070000000 -1.9, 2, -6.6987867400000000E-01 -0.035, 2, -1.0396979410000000E+03 -3.5, 2, 4.5371436000000000E-02 -4, 2, 2.1590359900000000E-01 -0.035, 3, -1.1880438840000000E+05 -0.7, 3, -1.5819479070000000E+01 -0.89, 3, -8.0204412520000000 -4, 3, -1.8202211000000000E-01 -4, 5, -7.9585141800000000E-01 -1.5, 7, -1.8873970340000000E+03 -3, 9, -4.4495950710000000E+02 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data deleted file mode 100644 index 04365fcae..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2DEC.data +++ /dev/null @@ -1,10 +0,0 @@ -"10110010", "178" -"1100100", "100" -"111001010101", "#NUM!" // Too large -"101", "5" -"10", "2" -"0", "0" -"21", "#NUM!" // Invalid binary number -TRUE, "#VALUE!" // Non string -"1110010101", "-107" // 2's Complement -"1111111111", "-1" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data deleted file mode 100644 index 7f7198e65..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2HEX.data +++ /dev/null @@ -1,14 +0,0 @@ -"10110010", "B2" -"111001010101", "#NUM!" // Too large -"11111011", 4, "00FB" // Leading places -"11111011", 3.75, "0FB" // Leading places as a float -"11111011", -1, "#NUM!" // Leading places negative -"11111011", "ABC", "#VALUE!" // Leading places non-numeric -"1110", "E" -"101", "5" -"10", "2" -"0", "0" -"21", "#NUM!" // Invalid binary number -TRUE, "#VALUE!" // Non string -"1110010101", "FFFFFFFF95" // 2's Complement -"1111111111", "FFFFFFFFFF" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data deleted file mode 100644 index 3971654b3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/BIN2OCT.data +++ /dev/null @@ -1,15 +0,0 @@ -"1100100", "144" -"10110010", "262" -"111001010101", "#NUM!" // Too large -"1001", 3, "011" // Leading places -"1001", 4.75, "0011" // Leading places as a float -"1001", -1, "#NUM!" // Leading places negative -"1001", "ABC", "#VALUE!" // Leading places non-numeric -"00000010", "2" -"00000101", "5" -"00001101", "15" -"0", "0" -"21", "#NUM!" // Invalid binary number -TRUE, "#VALUE!" // Non string -"1110010101", "7777777625" // 2's Complement -"1111111111", "7777777777" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data deleted file mode 100644 index 980b53bf8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/COMPLEX.data +++ /dev/null @@ -1,547 +0,0 @@ -3, 4, "3+4i" -3, 4, "j", "3+4j" -12.34, 5.67, "j", "12.34+5.67j" -3.5, "A", "#VALUE!" -1.234E-5, 6.78E9, "1.234E-5+6780000000i" -1.234E5, 6.78E-9, "123400+6.78E-9i" -3.5, 2.5, "3.5+2.5i" -3.5, 1, "3.5+i" -3.5, 0, 3.5 -3.5, -1, "3.5-i" -3.5, -2.5, "3.5-2.5i" -1, 2.5, "1+2.5i" -1, 1, "1+i" -1, 0, 1 -1, -1, "1-i" -1, -2.5, "1-2.5i" -0, 2.5, "2.5i" -0, 1, "i" -0, 0, 0 -0, -1, "-i" -0, -2.5, "-2.5i" --1, 2.5, "-1+2.5i" --1, 1, "-1+i" --1, 0, -1 --1, -1, "-1-i" --1, -2.5, "-1-2.5i" --3.5, 2.5, "-3.5+2.5i" --3.5, 1, "-3.5+i" --3.5, 0, "-3.5" --3.5, -1, "-3.5-i" --3.5, -2.5, "-3.5-2.5i" --2.5, -2.5, "-2.5-2.5i" --2.5, -2.5, "-2.5-2.5i" --1.5, -2.5, "-1.5-2.5i" --1.5, -2.5, "-1.5-2.5i" --0.5, -2.5, "-0.5-2.5i" -0, -2.5, "-2.5i" -0.5, -2.5, "0.5-2.5i" -1, -2.5, "1-2.5i" -1.5, -2.5, "1.5-2.5i" -2, -2.5, "2-2.5i" -2.5, -2.5, "2.5-2.5i" -3, -2.5, "3-2.5i" -3.5, -2.5, "3.5-2.5i" --2.5, -2.5, "-2.5-2.5i" --2.5, -2.5, "-2.5-2.5i" --1.5, -2.5, "-1.5-2.5i" --1.5, -2.5, "-1.5-2.5i" --0.5, -2.5, "-0.5-2.5i" -0, -2.5, "-2.5i" -0.5, -2.5, "0.5-2.5i" -1, -2.5, "1-2.5i" -1.5, -2.5, "1.5-2.5i" -2, -2.5, "2-2.5i" -2.5, -2.5, "2.5-2.5i" -3, -2.5, "3-2.5i" -3.5, -2.5, "3.5-2.5i" --2.5, -1.5, "-2.5-1.5i" --2.5, -1.5, "-2.5-1.5i" --1.5, -1.5, "-1.5-1.5i" --1.5, -1.5, "-1.5-1.5i" --0.5, -1.5, "-0.5-1.5i" -0, -1.5, "-1.5i" -0.5, -1.5, "0.5-1.5i" -1, -1.5, "1-1.5i" -1.5, -1.5, "1.5-1.5i" -2, -1.5, "2-1.5i" -2.5, -1.5, "2.5-1.5i" -3, -1.5, "3-1.5i" -3.5, -1.5, "3.5-1.5i" --2.5, -1.5, "-2.5-1.5i" --2.5, -1.5, "-2.5-1.5i" --1.5, -1.5, "-1.5-1.5i" --1.5, -1.5, "-1.5-1.5i" --0.5, -1.5, "-0.5-1.5i" -0, -1.5, "-1.5i" -0.5, -1.5, "0.5-1.5i" -1, -1.5, "1-1.5i" -1.5, -1.5, "1.5-1.5i" -2, -1.5, "2-1.5i" -2.5, -1.5, "2.5-1.5i" -3, -1.5, "3-1.5i" -3.5, -1.5, "3.5-1.5i" --2.5, -0.5, "-2.5-0.5i" --2.5, -0.5, "-2.5-0.5i" --1.5, -0.5, "-1.5-0.5i" --1.5, -0.5, "-1.5-0.5i" --0.5, -0.5, "-0.5-0.5i" -0, -0.5, "-0.5i" -0.5, -0.5, "0.5-0.5i" -1, -0.5, "1-0.5i" -1.5, -0.5, "1.5-0.5i" -2, -0.5, "2-0.5i" -2.5, -0.5, "2.5-0.5i" -3, -0.5, "3-0.5i" -3.5, -0.5, "3.5-0.5i" --2.5, 0, -2.5 --2.5, 0, -2.5 --1.5, 0, -1.5 --1.5, 0, -1.5 --0.5, 0, -0.5 -0, 0, 0 -0.5, 0, 0.5 -1, 0, 1 -1.5, 0, 1.5 -2, 0, 2 -2.5, 0, 2.5 -3, 0, 3 -3.5, 0, 3.5 --2.5, 0.5, "-2.5+0.5i" --2.5, 0.5, "-2.5+0.5i" --1.5, 0.5, "-1.5+0.5i" --1.5, 0.5, "-1.5+0.5i" --0.5, 0.5, "-0.5+0.5i" -0, 0.5, "0.5i" -0.5, 0.5, "0.5+0.5i" -1, 0.5, "1+0.5i" -1.5, 0.5, "1.5+0.5i" -2, 0.5, "2+0.5i" -2.5, 0.5, "2.5+0.5i" -3, 0.5, "3+0.5i" -3.5, 0.5, "3.5+0.5i" --2.5, 1, "-2.5+i" --2.5, 1, "-2.5+i" --1.5, 1, "-1.5+i" --1.5, 1, "-1.5+i" --0.5, 1, "-0.5+i" -0, 1, "i" -0.5, 1, "0.5+i" -1, 1, "1+i" -1.5, 1, "1.5+i" -2, 1, "2+i" -2.5, 1, "2.5+i" -3, 1, "3+i" -3.5, 1, "3.5+i" --2.5, 1.5, "-2.5+1.5i" --2.5, 1.5, "-2.5+1.5i" --1.5, 1.5, "-1.5+1.5i" --1.5, 1.5, "-1.5+1.5i" --0.5, 1.5, "-0.5+1.5i" -0, 1.5, "1.5i" -0.5, 1.5, "0.5+1.5i" -1, 1.5, "1+1.5i" -1.5, 1.5, "1.5+1.5i" -2, 1.5, "2+1.5i" -2.5, 1.5, "2.5+1.5i" -3, 1.5, "3+1.5i" -3.5, 1.5, "3.5+1.5i" --2.5, 2, "-2.5+2i" --2.5, 2, "-2.5+2i" --1.5, 2, "-1.5+2i" --1.5, 2, "-1.5+2i" --0.5, 2, "-0.5+2i" -0, 2, "2i" -0.5, 2, "0.5+2i" -1, 2, "1+2i" -1.5, 2, "1.5+2i" -2, 2, "2+2i" -2.5, 2, "2.5+2i" -3, 2, "3+2i" -3.5, 2, "3.5+2i" --2.5, 2.5, "-2.5+2.5i" --2.5, 2.5, "-2.5+2.5i" --1.5, 2.5, "-1.5+2.5i" --1.5, 2.5, "-1.5+2.5i" --0.5, 2.5, "-0.5+2.5i" -0, 2.5, "2.5i" -0.5, 2.5, "0.5+2.5i" -1, 2.5, "1+2.5i" -1.5, 2.5, "1.5+2.5i" -2, 2.5, "2+2.5i" -2.5, 2.5, "2.5+2.5i" -3, 2.5, "3+2.5i" -3.5, 2.5, "3.5+2.5i" --2.5, 3, "-2.5+3i" --2.5, 3, "-2.5+3i" --1.5, 3, "-1.5+3i" --1.5, 3, "-1.5+3i" --0.5, 3, "-0.5+3i" -0, 3, "3i" -0.5, 3, "0.5+3i" -1, 3, "1+3i" -1.5, 3, "1.5+3i" -2, 3, "2+3i" -2.5, 3, "2.5+3i" -3, 3, "3+3i" -3.5, 3, "3.5+3i" --2.5, 3.5, "-2.5+3.5i" --2.5, 3.5, "-2.5+3.5i" --1.5, 3.5, "-1.5+3.5i" --1.5, 3.5, "-1.5+3.5i" --0.5, 3.5, "-0.5+3.5i" -0, 3.5, "3.5i" -0.5, 3.5, "0.5+3.5i" -1, 3.5, "1+3.5i" -1.5, 3.5, "1.5+3.5i" -2, 3.5, "2+3.5i" -2.5, 3.5, "2.5+3.5i" -3, 3.5, "3+3.5i" -3.5, 3.5, "3.5+3.5i" --2.5, -2.5, "i", "-2.5-2.5i" --2.5, -2.5, "i", "-2.5-2.5i" --1.5, -2.5, "i", "-1.5-2.5i" --1.5, -2.5, "i", "-1.5-2.5i" --0.5, -2.5, "i", "-0.5-2.5i" -0, -2.5, "i", "-2.5i" -0.5, -2.5, "i", "0.5-2.5i" -1, -2.5, "i", "1-2.5i" -1.5, -2.5, "i", "1.5-2.5i" -2, -2.5, "i", "2-2.5i" -2.5, -2.5, "i", "2.5-2.5i" -3, -2.5, "i", "3-2.5i" -3.5, -2.5, "i", "3.5-2.5i" --2.5, -2.5, "i", "-2.5-2.5i" --2.5, -2.5, "i", "-2.5-2.5i" --1.5, -2.5, "i", "-1.5-2.5i" --1.5, -2.5, "i", "-1.5-2.5i" --0.5, -2.5, "i", "-0.5-2.5i" -0, -2.5, "i", "-2.5i" -0.5, -2.5, "i", "0.5-2.5i" -1, -2.5, "i", "1-2.5i" -1.5, -2.5, "i", "1.5-2.5i" -2, -2.5, "i", "2-2.5i" -2.5, -2.5, "i", "2.5-2.5i" -3, -2.5, "i", "3-2.5i" -3.5, -2.5, "i", "3.5-2.5i" --2.5, -1.5, "i", "-2.5-1.5i" --2.5, -1.5, "i", "-2.5-1.5i" --1.5, -1.5, "i", "-1.5-1.5i" --1.5, -1.5, "i", "-1.5-1.5i" --0.5, -1.5, "i", "-0.5-1.5i" -0, -1.5, "i", "-1.5i" -0.5, -1.5, "i", "0.5-1.5i" -1, -1.5, "i", "1-1.5i" -1.5, -1.5, "i", "1.5-1.5i" -2, -1.5, "i", "2-1.5i" -2.5, -1.5, "i", "2.5-1.5i" -3, -1.5, "i", "3-1.5i" -3.5, -1.5, "i", "3.5-1.5i" --2.5, -1.5, "i", "-2.5-1.5i" --2.5, -1.5, "i", "-2.5-1.5i" --1.5, -1.5, "i", "-1.5-1.5i" --1.5, -1.5, "i", "-1.5-1.5i" --0.5, -1.5, "i", "-0.5-1.5i" -0, -1.5, "i", "-1.5i" -0.5, -1.5, "i", "0.5-1.5i" -1, -1.5, "i", "1-1.5i" -1.5, -1.5, "i", "1.5-1.5i" -2, -1.5, "i", "2-1.5i" -2.5, -1.5, "i", "2.5-1.5i" -3, -1.5, "i", "3-1.5i" -3.5, -1.5, "i", "3.5-1.5i" --2.5, -0.5, "i", "-2.5-0.5i" --2.5, -0.5, "i", "-2.5-0.5i" --1.5, -0.5, "i", "-1.5-0.5i" --1.5, -0.5, "i", "-1.5-0.5i" --0.5, -0.5, "i", "-0.5-0.5i" -0, -0.5, "i", "-0.5i" -0.5, -0.5, "i", "0.5-0.5i" -1, -0.5, "i", "1-0.5i" -1.5, -0.5, "i", "1.5-0.5i" -2, -0.5, "i", "2-0.5i" -2.5, -0.5, "i", "2.5-0.5i" -3, -0.5, "i", "3-0.5i" -3.5, -0.5, "i", "3.5-0.5i" --2.5, 0, "i", -2.5 --2.5, 0, "i", -2.5 --1.5, 0, "i", -1.5 --1.5, 0, "i", -1.5 --0.5, 0, "i", -0.5 -0, 0, "i", 0 -0.5, 0, "i", 0.5 -1, 0, "i", 1 -1.5, 0, "i", 1.5 -2, 0, "i", 2 -2.5, 0, "i", 2.5 -3, 0, "i", 3 -3.5, 0, "i", 3.5 --2.5, 0.5, "i", "-2.5+0.5i" --2.5, 0.5, "i", "-2.5+0.5i" --1.5, 0.5, "i", "-1.5+0.5i" --1.5, 0.5, "i", "-1.5+0.5i" --0.5, 0.5, "i", "-0.5+0.5i" -0, 0.5, "i", "0.5i" -0.5, 0.5, "i", "0.5+0.5i" -1, 0.5, "i", "1+0.5i" -1.5, 0.5, "i", "1.5+0.5i" -2, 0.5, "i", "2+0.5i" -2.5, 0.5, "i", "2.5+0.5i" -3, 0.5, "i", "3+0.5i" -3.5, 0.5, "i", "3.5+0.5i" --2.5, 1, "i", "-2.5+i" --2.5, 1, "i", "-2.5+i" --1.5, 1, "i", "-1.5+i" --1.5, 1, "i", "-1.5+i" --0.5, 1, "i", "-0.5+i" -0, 1, "i", "i" -0.5, 1, "i", "0.5+i" -1, 1, "i", "1+i" -1.5, 1, "i", "1.5+i" -2, 1, "i", "2+i" -2.5, 1, "i", "2.5+i" -3, 1, "i", "3+i" -3.5, 1, "i", "3.5+i" --2.5, 1.5, "i", "-2.5+1.5i" --2.5, 1.5, "i", "-2.5+1.5i" --1.5, 1.5, "i", "-1.5+1.5i" --1.5, 1.5, "i", "-1.5+1.5i" --0.5, 1.5, "i", "-0.5+1.5i" -0, 1.5, "i", "1.5i" -0.5, 1.5, "i", "0.5+1.5i" -1, 1.5, "i", "1+1.5i" -1.5, 1.5, "i", "1.5+1.5i" -2, 1.5, "i", "2+1.5i" -2.5, 1.5, "i", "2.5+1.5i" -3, 1.5, "i", "3+1.5i" -3.5, 1.5, "i", "3.5+1.5i" --2.5, 2, "i", "-2.5+2i" --2.5, 2, "i", "-2.5+2i" --1.5, 2, "i", "-1.5+2i" --1.5, 2, "i", "-1.5+2i" --0.5, 2, "i", "-0.5+2i" -0, 2, "i", "2i" -0.5, 2, "i", "0.5+2i" -1, 2, "i", "1+2i" -1.5, 2, "i", "1.5+2i" -2, 2, "i", "2+2i" -2.5, 2, "i", "2.5+2i" -3, 2, "i", "3+2i" -3.5, 2, "i", "3.5+2i" --2.5, 2.5, "i", "-2.5+2.5i" --2.5, 2.5, "i", "-2.5+2.5i" --1.5, 2.5, "i", "-1.5+2.5i" --1.5, 2.5, "i", "-1.5+2.5i" --0.5, 2.5, "i", "-0.5+2.5i" -0, 2.5, "i", "2.5i" -0.5, 2.5, "i", "0.5+2.5i" -1, 2.5, "i", "1+2.5i" -1.5, 2.5, "i", "1.5+2.5i" -2, 2.5, "i", "2+2.5i" -2.5, 2.5, "i", "2.5+2.5i" -3, 2.5, "i", "3+2.5i" -3.5, 2.5, "i", "3.5+2.5i" --2.5, 3, "i", "-2.5+3i" --2.5, 3, "i", "-2.5+3i" --1.5, 3, "i", "-1.5+3i" --1.5, 3, "i", "-1.5+3i" --0.5, 3, "i", "-0.5+3i" -0, 3, "i", "3i" -0.5, 3, "i", "0.5+3i" -1, 3, "i", "1+3i" -1.5, 3, "i", "1.5+3i" -2, 3, "i", "2+3i" -2.5, 3, "i", "2.5+3i" -3, 3, "i", "3+3i" -3.5, 3, "i", "3.5+3i" --2.5, 3.5, "i", "-2.5+3.5i" --2.5, 3.5, "i", "-2.5+3.5i" --1.5, 3.5, "i", "-1.5+3.5i" --1.5, 3.5, "i", "-1.5+3.5i" --0.5, 3.5, "i", "-0.5+3.5i" -0, 3.5, "i", "3.5i" -0.5, 3.5, "i", "0.5+3.5i" -1, 3.5, "i", "1+3.5i" -1.5, 3.5, "i", "1.5+3.5i" -2, 3.5, "i", "2+3.5i" -2.5, 3.5, "i", "2.5+3.5i" -3, 3.5, "i", "3+3.5i" -3.5, 3.5, "i", "3.5+3.5i" --2.5, -2.5, "j", "-2.5-2.5j" --2.5, -2.5, "j", "-2.5-2.5j" --1.5, -2.5, "j", "-1.5-2.5j" --1.5, -2.5, "j", "-1.5-2.5j" --0.5, -2.5, "j", "-0.5-2.5j" -0, -2.5, "j", "-2.5j" -0.5, -2.5, "j", "0.5-2.5j" -1, -2.5, "j", "1-2.5j" -1.5, -2.5, "j", "1.5-2.5j" -2, -2.5, "j", "2-2.5j" -2.5, -2.5, "j", "2.5-2.5j" -3, -2.5, "j", "3-2.5j" -3.5, -2.5, "j", "3.5-2.5j" --2.5, -2.5, "j", "-2.5-2.5j" --2.5, -2.5, "j", "-2.5-2.5j" --1.5, -2.5, "j", "-1.5-2.5j" --1.5, -2.5, "j", "-1.5-2.5j" --0.5, -2.5, "j", "-0.5-2.5j" -0, -2.5, "j", "-2.5j" -0.5, -2.5, "j", "0.5-2.5j" -1, -2.5, "j", "1-2.5j" -1.5, -2.5, "j", "1.5-2.5j" -2, -2.5, "j", "2-2.5j" -2.5, -2.5, "j", "2.5-2.5j" -3, -2.5, "j", "3-2.5j" -3.5, -2.5, "j", "3.5-2.5j" --2.5, -1.5, "j", "-2.5-1.5j" --2.5, -1.5, "j", "-2.5-1.5j" --1.5, -1.5, "j", "-1.5-1.5j" --1.5, -1.5, "j", "-1.5-1.5j" --0.5, -1.5, "j", "-0.5-1.5j" -0, -1.5, "j", "-1.5j" -0.5, -1.5, "j", "0.5-1.5j" -1, -1.5, "j", "1-1.5j" -1.5, -1.5, "j", "1.5-1.5j" -2, -1.5, "j", "2-1.5j" -2.5, -1.5, "j", "2.5-1.5j" -3, -1.5, "j", "3-1.5j" -3.5, -1.5, "j", "3.5-1.5j" --2.5, -1.5, "j", "-2.5-1.5j" --2.5, -1.5, "j", "-2.5-1.5j" --1.5, -1.5, "j", "-1.5-1.5j" --1.5, -1.5, "j", "-1.5-1.5j" --0.5, -1.5, "j", "-0.5-1.5j" -0, -1.5, "j", "-1.5j" -0.5, -1.5, "j", "0.5-1.5j" -1, -1.5, "j", "1-1.5j" -1.5, -1.5, "j", "1.5-1.5j" -2, -1.5, "j", "2-1.5j" -2.5, -1.5, "j", "2.5-1.5j" -3, -1.5, "j", "3-1.5j" -3.5, -1.5, "j", "3.5-1.5j" --2.5, -0.5, "j", "-2.5-0.5j" --2.5, -0.5, "j", "-2.5-0.5j" --1.5, -0.5, "j", "-1.5-0.5j" --1.5, -0.5, "j", "-1.5-0.5j" --0.5, -0.5, "j", "-0.5-0.5j" -0, -0.5, "j", "-0.5j" -0.5, -0.5, "j", "0.5-0.5j" -1, -0.5, "j", "1-0.5j" -1.5, -0.5, "j", "1.5-0.5j" -2, -0.5, "j", "2-0.5j" -2.5, -0.5, "j", "2.5-0.5j" -3, -0.5, "j", "3-0.5j" -3.5, -0.5, "j", "3.5-0.5j" --2.5, 0, "j", -2.5 --2.5, 0, "j", -2.5 --1.5, 0, "j", -1.5 --1.5, 0, "j", -1.5 --0.5, 0, "j", -0.5 -0, 0, "j", 0 -0.5, 0, "j", 0.5 -1, 0, "j", 1 -1.5, 0, "j", 1.5 -2, 0, "j", 2 -2.5, 0, "j", 2.5 -3, 0, "j", 3 -3.5, 0, "j", 3.5 --2.5, 0.5, "j", "-2.5+0.5j" --2.5, 0.5, "j", "-2.5+0.5j" --1.5, 0.5, "j", "-1.5+0.5j" --1.5, 0.5, "j", "-1.5+0.5j" --0.5, 0.5, "j", "-0.5+0.5j" -0, 0.5, "j", "0.5j" -0.5, 0.5, "j", "0.5+0.5j" -1, 0.5, "j", "1+0.5j" -1.5, 0.5, "j", "1.5+0.5j" -2, 0.5, "j", "2+0.5j" -2.5, 0.5, "j", "2.5+0.5j" -3, 0.5, "j", "3+0.5j" -3.5, 0.5, "j", "3.5+0.5j" --2.5, 1, "j", "-2.5+j" --2.5, 1, "j", "-2.5+j" --1.5, 1, "j", "-1.5+j" --1.5, 1, "j", "-1.5+j" --0.5, 1, "j", "-0.5+j" -0, 1, "j", "j" -0.5, 1, "j", "0.5+j" -1, 1, "j", "1+j" -1.5, 1, "j", "1.5+j" -2, 1, "j", "2+j" -2.5, 1, "j", "2.5+j" -3, 1, "j", "3+j" -3.5, 1, "j", "3.5+j" --2.5, 1.5, "j", "-2.5+1.5j" --2.5, 1.5, "j", "-2.5+1.5j" --1.5, 1.5, "j", "-1.5+1.5j" --1.5, 1.5, "j", "-1.5+1.5j" --0.5, 1.5, "j", "-0.5+1.5j" -0, 1.5, "j", "1.5j" -0.5, 1.5, "j", "0.5+1.5j" -1, 1.5, "j", "1+1.5j" -1.5, 1.5, "j", "1.5+1.5j" -2, 1.5, "j", "2+1.5j" -2.5, 1.5, "j", "2.5+1.5j" -3, 1.5, "j", "3+1.5j" -3.5, 1.5, "j", "3.5+1.5j" --2.5, 2, "j", "-2.5+2j" --2.5, 2, "j", "-2.5+2j" --1.5, 2, "j", "-1.5+2j" --1.5, 2, "j", "-1.5+2j" --0.5, 2, "j", "-0.5+2j" -0, 2, "j", "2j" -0.5, 2, "j", "0.5+2j" -1, 2, "j", "1+2j" -1.5, 2, "j", "1.5+2j" -2, 2, "j", "2+2j" -2.5, 2, "j", "2.5+2j" -3, 2, "j", "3+2j" -3.5, 2, "j", "3.5+2j" --2.5, 2.5, "j", "-2.5+2.5j" --2.5, 2.5, "j", "-2.5+2.5j" --1.5, 2.5, "j", "-1.5+2.5j" --1.5, 2.5, "j", "-1.5+2.5j" --0.5, 2.5, "j", "-0.5+2.5j" -0, 2.5, "j", "2.5j" -0.5, 2.5, "j", "0.5+2.5j" -1, 2.5, "j", "1+2.5j" -1.5, 2.5, "j", "1.5+2.5j" -2, 2.5, "j", "2+2.5j" -2.5, 2.5, "j", "2.5+2.5j" -3, 2.5, "j", "3+2.5j" -3.5, 2.5, "j", "3.5+2.5j" --2.5, 3, "j", "-2.5+3j" --2.5, 3, "j", "-2.5+3j" --1.5, 3, "j", "-1.5+3j" --1.5, 3, "j", "-1.5+3j" --0.5, 3, "j", "-0.5+3j" -0, 3, "j", "3j" -0.5, 3, "j", "0.5+3j" -1, 3, "j", "1+3j" -1.5, 3, "j", "1.5+3j" -2, 3, "j", "2+3j" -2.5, 3, "j", "2.5+3j" -3, 3, "j", "3+3j" -3.5, 3, "j", "3.5+3j" --2.5, 3.5, "j", "-2.5+3.5j" --2.5, 3.5, "j", "-2.5+3.5j" --1.5, 3.5, "j", "-1.5+3.5j" --1.5, 3.5, "j", "-1.5+3.5j" --0.5, 3.5, "j", "-0.5+3.5j" -0, 3.5, "j", "3.5j" -0.5, 3.5, "j", "0.5+3.5j" -1, 3.5, "j", "1+3.5j" -1.5, 3.5, "j", "1.5+3.5j" -2, 3.5, "j", "2+3.5j" -2.5, 3.5, "j", "2.5+3.5j" -3, 3.5, "j", "3+3.5j" -3.5, 3.5, "j", "3.5+3.5j" --1.23, -4.56, "-1.23-4.56i" -0, -3.21, "i", "-3.21i" -1.23, -2.34, "j", "1.23-2.34j" --1.23, 0, -1.23 -0, 0, "i", 0 -1.23, 0, "j", 1.23 --1.23, 4.56, "-1.23+4.56i" -0, 3.21, "i", "3.21i" -1.23, 2.34, "j", "1.23+2.34j" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data deleted file mode 100644 index dbcfb0119..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/CONVERTUOM.data +++ /dev/null @@ -1,24 +0,0 @@ -1.0, "lbm", "kg", 0.45359230974881 -123.45, "kg", "kg", 123.45 -68, "F", "C", 20 -20, "C", "F", 68 -68, "F", "K", 293.15 -293.15, "K", "F", 68 -22, "C", "K", 295.15 -295.65, "K", "C", 22.5 -2.5, "ft", "sec", "#N/A" -12345, "m", "km", 12.345 -12.345, "km", "m", 12345 -1, "km", "mi", 0.62137119223733 -"three","ft", "yds", "#VALUE!" -123.45, "K", "kel", 123.45 -123.45, "C", "cel", 123.45 -123.45, "F", "fah", 123.45 -1, "ft", "day", "#N/A" -123.45, "m", "m", 123.45 -234.56, "km", "km", 234.56 -234.56, "kpt", "lt", "#N/A" -234.56, "sm", "m", "#N/A" -234.56, "lt", "kpt", "#N/A" -234.56, "m", "sm", "#N/A" -12.345, "km", "mm", 12345000 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data deleted file mode 100644 index 404adaba0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2BIN.data +++ /dev/null @@ -1,16 +0,0 @@ -357, "101100101" -1357, "#NUM!" // Too large -9, 4, "1001" -9, 8, "00001001" -9, 6.75, "001001" // Leading places as a float -9, -1, "#NUM!" // Leading places negative -9, "ABC", "#VALUE!" // Leading places non-numeric -246, "11110110" -12345, "#NUM!" -123456789, "#NUM!" -123.45, "1111011" -0, "0" -"3579A", "#VALUE!" // Invalid decimal -TRUE, "#VALUE!" // Non string --100, "1110011100" // 2's Complement --107, "1110010101" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data deleted file mode 100644 index 5210e9159..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2HEX.data +++ /dev/null @@ -1,15 +0,0 @@ -"357", "165" -"1357", "54D" -"246", "F6" -"12345", "3039" -"123456789", "75BCD15" -"100", 4, "0064" -"100", 5.75, "00064" // Leading places as a float -"100", -1, "#NUM!" // Leading places negative -"100", "ABC", "#VALUE!" // Leading places non-numeric -"123.45", "7B" -"0", "0" -"3579A", "#VALUE!" // Invalid decimal -TRUE, "#VALUE!" // Non string -"-54", "FFFFFFFFCA" // 2's Complement -"-107", "FFFFFFFF95" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data deleted file mode 100644 index 923532e28..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DEC2OCT.data +++ /dev/null @@ -1,12 +0,0 @@ -"357", "545" -"1357", "2515" -"246", "366" -"12345", "30071" -"123456789", "726746425" -"123.45", "173" -"58, 3, "072" -"0", "0" -"3579A", "#VALUE!" // Invalid decimal -TRUE, "#VALUE!" // Non string -"-100", "7777777634" // 2's Complement -"-107", "7777777625" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data deleted file mode 100644 index e994277b2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/DELTA.data +++ /dev/null @@ -1,25 +0,0 @@ --1.5, -1.5, 1 --0.75, -1.5, 0 -0, -1.5, 0 -0.75, -1.5, 0 -1.5, -1.5, 0 --1.5, -0.75, 0 --0.75, -0.75, 1 -0, -0.75, 0 -0.75, -0.75, 0 -1.5, -0.75, 0 --1.5, 0, 0 --0.75, 0, 0 -0, 0, 1 -0.75, 0, 0 -1.5, 0, 0 --1.5, 0.75, 0 --0.75, 0.75, 0 -0, 0.75, 0 -0.75, 0.75, 1 -1.5, 0.75, 0 --1.5, 1.5, 0 --0.75, 1.5, 0 -0, 1.5, 0 -0.75, 1.5, 0 -1.5, 1.5, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data deleted file mode 100644 index 5c4fc1e9f..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERF.data +++ /dev/null @@ -1,124 +0,0 @@ -# lower bound upper bound Result -0, 0.0 -0.01, 0.0112834155558496 -0.05, 0.0563719777970166 -0.1, 0.1124629160182850 -0.125, 0.1403162048013340 -0.15, 0.1679959714273630 -0.2, 0.2227025892104780 -0.25, 0.2763263901682370 -0.3, 0.3286267594591270 -0.35, 0.3793820535623100 -0.4, 0.4283923550466680 -0.45, 0.4754817197869240 -0.5, 0.5204998778130470 -0.6, 0.6038560908479260 -0.7, 0.6778011938374180 -0.8, 0.7421009647076610 -0.9, 0.7969082124228320 -1, 0.8427007929497150 -1.1, 0.8802050695740820 -1.2, 0.9103139782296350 -1.3, 0.9340079449406520 -1.4, 0.9522851197626490 -1.5, 0.9661051464753110 -1.75, 0.9866716712191820 -2, 0.9953222650189530 -2.5, 0.9995930479825550 -3, 0.9999779095030010 -3.5, 0.9999992569016280 -4, 0.9999999845827420 -4.5, 0.9999999998033840 -5, 0.9999999999984630 -5.5, 0.9999999999999930 -6, 1.0 -32, 1.0 --0.1, -0.1124629160182850 --1, -0.8427007929497150 -TRUE, "#VALUE!" -FALSE, "#VALUE!" -"2", 0.9953222650189530 -"TWO", "#VALUE!" --1.5, -1.5, 0.0 --0.75, -1.5, -0.2549495128217960 -0, -1.5, -0.9661051464753110 -0.75, -1.5, -1.6772607801288300 -1.5, -1.5, -1.9322102929506200 -2.25, -1.5, -1.9646424298886300 -3, -1.5, -1.9660830559783100 -3.75, -1.5, -1.9661050327480500 -4.5, -1.5, -1.9661051462786900 --1.5, -0.75, 0.2549495128217960 --0.75, -0.75, 0.0 -0, -0.75, -0.7111556336535150 -0.75, -0.75, -1.4223112673070300 -1.5, -0.75, -1.6772607801288300 -2.25, -0.75, -1.7096929170668300 -3, -0.75, -1.7111335431565200 -3.75, -0.75, -1.7111555199262600 -4.5, -0.75, -1.7111556334569000 --1.5, 0, 0.9661051464753110 --0.75, 0, 0.7111556336535150 -0, 0, 0.0 -0.75, 0, -0.7111556336535150 -1.5, 0, -0.9661051464753110 -2.25, 0, -0.9985372834133190 -3, 0, -0.9999779095030010 -3.75, 0, -0.9999998862727430 -4.5, 0, -0.9999999998033840 --1.5, 0.75, 1.6772607801288300 --0.75, 0.75, 1.4223112673070300 -0, 0.75, 0.7111556336535150 -0.75, 0.75, 0.0 -1.5, 0.75, -0.2549495128217960 -2.25, 0.75, -0.2873816497598040 -3, 0.75, -0.2888222758494860 -3.75, 0.75, -0.2888442526192280 -4.5, 0.75, -0.2888443661498690 --1.5, 1.5, 1.9322102929506200 --0.75, 1.5, 1.6772607801288300 -0, 1.5, 0.9661051464753110 -0.75, 1.5, 0.2549495128217960 -1.5, 1.5, 0.0 -2.25, 1.5, -0.0324321369380081 -3, 1.5, -0.0338727630276906 -3.75, 1.5, -0.0338947397974326 -4.5, 1.5, -0.0338948533280732 --1.5, 2.25, 1.9646424298886300 --0.75, 2.25, 1.7096929170668300 -0, 2.25, 0.9985372834133190 -0.75, 2.25, 0.2873816497598040 -1.5, 2.25, 0.0324321369380081 -2.25, 2.25, 0.0 -3, 2.25, -0.0014406260896825 -3.75, 2.25, -0.0014626028594246 -4.5, 2.25, -0.0014627163900651 --1.5, 3, 1.9660830559783100 --0.75, 3, 1.7111335431565200 -0, 3, 0.9999779095030010 -0.75, 3, 0.2888222758494860 -1.5, 3, 0.0338727630276906 -2.25, 3, 0.0014406260896825 -3, 3, 0.0 -3.75, 3, -0.0000219767697420 -4.5, 3, -0.0000220903003826 --1.5, 3.75, 1.9661050327480500 --0.75, 3.75, 1.7111555199262600 -0, 3.75, 0.9999998862727430 -0.75, 3.75, 0.2888442526192280 -1.5, 3.75, 0.0338947397974326 -2.25, 3.75, 0.0014626028594246 -3, 3.75, 0.0000219767697420 -3.75, 3.75, 0.0 -4.5, 3.75, -0.0000001135306406 --1.5, 4.5, 1.9661051462786900 --0.75, 4.5, 1.7111556334569000 -0, 4.5, 0.9999999998033840 -0.75, 4.5, 0.2888443661498690 -1.5, 4.5, 0.0338948533280732 -2.25, 4.5, 0.0014627163900651 -3, 4.5, 0.0000220903003826 -3.75, 4.5, 0.0000001135306406 -4.5, 4.5, 0.0 -5, -1, -1.8427007929481800 --5, 1, 1.8427007929481800 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data deleted file mode 100644 index df814893e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/ERFC.data +++ /dev/null @@ -1,41 +0,0 @@ -# x value Result -0, 1.0 -0.01, 0.9887165844441500 -0.05, 0.9436280222029830 -0.1, 0.8875370839817150 -0.125, 0.8596837951986660 -0.15, 0.8320040285726360 -0.2, 0.7772974107895220 -0.25, 0.7236736098317630 -0.3, 0.6713732405408730 -0.35, 0.6206179464376900 -0.4, 0.5716076449533320 -0.45, 0.5245182802130760 -0.5, 0.4795001221869530 -0.6, 0.3961439091520740 -0.7, 0.3221988061625820 -0.8, 0.2578990352923390 -0.9, 0.2030917875771680 -1, 0.1572992070502850 -1.1, 0.1197949304259180 -1.2, 0.0896860217703646 -1.3, 0.0659920550593475 -1.4, 0.0477148802373512 -1.5, 0.0338948535246893 -1.75, 0.0133283287808176 -2, 0.0046777349810473 -2.5, 0.0004069520174450 -3, 0.0000220904969986 -3.5, 0.0000007430983723 -4, 0.0000000154172579 -4.5, 0.0000000001966160 -5, 0.0000000000015375 -5.5, 0.0000000000000074 -6, 0.0 -32, 0.0 --0.1, 1.1124629160182900 --1, 1.8427007929497100 -TRUE, "#VALUE!" -FALSE, "#VALUE!" -"2", 0.0046777349810473 -"TWO", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data deleted file mode 100644 index f6bf40ea8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/GESTEP.data +++ /dev/null @@ -1,81 +0,0 @@ --1.5, -1.5, 1 --0.75, -1.5, 1 -0, -1.5, 1 -0.75, -1.5, 1 -1.5, -1.5, 1 -2.25, -1.5, 1 -3, -1.5, 1 -3.75, -1.5, 1 -4.5, -1.5, 1 --1.5, -0.75, 0 --0.75, -0.75, 1 -0, -0.75, 1 -0.75, -0.75, 1 -1.5, -0.75, 1 -2.25, -0.75, 1 -3, -0.75, 1 -3.75, -0.75, 1 -4.5, -0.75, 1 --1.5, 0, 0 --0.75, 0, 0 -0, 0, 1 -0.75, 0, 1 -1.5, 0, 1 -2.25, 0, 1 -3, 0, 1 -3.75, 0, 1 -4.5, 0, 1 --1.5, 0.75, 0 --0.75, 0.75, 0 -0, 0.75, 0 -0.75, 0.75, 1 -1.5, 0.75, 1 -2.25, 0.75, 1 -3, 0.75, 1 -3.75, 0.75, 1 -4.5, 0.75, 1 --1.5, 1.5, 0 --0.75, 1.5, 0 -0, 1.5, 0 -0.75, 1.5, 0 -1.5, 1.5, 1 -2.25, 1.5, 1 -3, 1.5, 1 -3.75, 1.5, 1 -4.5, 1.5, 1 --1.5, 2.25, 0 --0.75, 2.25, 0 -0, 2.25, 0 -0.75, 2.25, 0 -1.5, 2.25, 0 -2.25, 2.25, 1 -3, 2.25, 1 -3.75, 2.25, 1 -4.5, 2.25, 1 --1.5, 3, 0 --0.75, 3, 0 -0, 3, 0 -0.75, 3, 0 -1.5, 3, 0 -2.25, 3, 0 -3, 3, 1 -3.75, 3, 1 -4.5, 3, 1 --1.5, 3.75, 0 --0.75, 3.75, 0 -0, 3.75, 0 -0.75, 3.75, 0 -1.5, 3.75, 0 -2.25, 3.75, 0 -3, 3.75, 0 -3.75, 3.75, 1 -4.5, 3.75, 1 --1.5, 4.5, 0 --0.75, 4.5, 0 -0, 4.5, 0 -0.75, 4.5, 0 -1.5, 4.5, 0 -2.25, 4.5, 0 -3, 4.5, 0 -3.75, 4.5, 0 -4.5, 4.5, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data deleted file mode 100644 index 9e1aecb12..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2BIN.data +++ /dev/null @@ -1,13 +0,0 @@ -"01AB", "110101011" -"ABCD", "#NUM!" -"F6", "11110110" -"F", 8, "00001111" -"B7", "10110111" -"12345", "#NUM!" -"123456789", "#NUM!" -"123.45", "#NUM!" -"0", "0" -"G3579A", "#NUM!" -TRUE, "#VALUE!" -"-107", "#NUM!" -"FFFFFFFFFF", "1111111111" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data deleted file mode 100644 index 17fc86671..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2DEC.data +++ /dev/null @@ -1,13 +0,0 @@ -"01AB", "427" -"ABCD", "43981" -"F6", "246" -"12345", "74565" -"123456789", "4886718345" -"123.45", "#NUM!" -"0", "0" -"G3579A", "#NUM!" -TRUE, "#VALUE!" -"-107", "#NUM!" -"A5", "165" -"FFFFFFFF5B", "-165" -"3DA408B9", "1034160313" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data deleted file mode 100644 index 2ebd893ab..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/HEX2OCT.data +++ /dev/null @@ -1,13 +0,0 @@ -"01AB", "653" -"ABCD", "125715" -"F6", "366" -"3B4E", "35516" -"F", 3, "017" -"12345", "221505" -"123456789", "#NUM!" -"123.45", "#NUM!" -"0", "0" -"G3579A", "#NUM!" -TRUE, "#VALUE!" -"-107", "#NUM!" -"FFFFFFFF00", "7777777400" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data deleted file mode 100644 index e92de41b6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMABS.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", 13.580298229420 -"1.234E-5+6.78E9i", 6.78E9 -"3.5+2.5i", 4.301162633521 -"3.5+i", 3.640054944640 -"3.5", 3.5 -"3.5-i", 3.640054944640 -"3.5-2.5i", 4.301162633521 -"1+2.5i", 2.692582403567 -"1+i", 1.414213562373 -"1", 1 -"1-i", 1.414213562373 -"1-2.5i", 2.692582403567 -"2.5i", 2.5 -"i", 1 -"0", 0 -"-i", 1 -"-2.5i", 2.5 -"-1+2.5i", 2.692582403567 -"-1+i", 1.414213562373 -"-1", 1 -"-1-i", 1.414213562373 -"-1-2.5i", 2.692582403567 -"-3.5+2.5i", 4.301162633521 -"-3.5+i", 3.640054944640 -"-3.5", 3.5 -"-3.5-i", 3.640054944640 -"-3.5-2.5i", 4.301162633521 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data deleted file mode 100644 index ac888bae8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMAGINARY.data +++ /dev/null @@ -1,30 +0,0 @@ -"12.34+5.67j", 5.67 -"1.234E-5+6.78E9i", 6.78E9 -"3.5+2.5i", 2.5 -"3.5+i", 1 -"3.5", 0 -"3.5-i", -1 -"3.5-2.5i", -2.5 -"1+2.5i", 2.5 -"1+i", 1 -"1", 0 -1, 0 -"1-i", -1 -"1-2.5i", -2.5 -"2.5i", 2.5 -"i", 1 -"0", 0 -0, 0 -0.0, 0 -"-i", -1 -"-2.5i", -2.5 -"-1+2.5i", 2.5 -"-1+i", 1 -"-1", 0 -"-1-i", -1 -"-1-2.5i", -2.5 -"-3.5+2.5i", 2.5 -"-3.5+i", 1 -"-3.5", 0 -"-3.5-i", -1 -"-3.5-2.5i", -2.5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data deleted file mode 100644 index 4b11d998a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMARGUMENT.data +++ /dev/null @@ -1,26 +0,0 @@ -"12.34+5.67j", 0.430710595550 -"3.5+2.5i", 0.620249485983 -"3.5+i", 0.278299659005 -"3.5", 0 -"3.5-i", -0.278299659005 -"3.5-2.5i", -0.620249485983 -"1+2.5i", 1.190289949683 -"1+i", 0.785398163397 -"1", 0 -"1-i", -0.785398163397 -"1-2.5i", -1.190289949683 -"2.5i", 1.570796326795 -"i", 1.570796326795 -"0", "#DIV/0!" -"-i", -1.570796326795 -"-2.5i", -1.570796326795 -"-1+2.5i", 1.951302703907 -"-1+i", 2.356194490192 -"-1", 3.141592653590 -"-1-i", -2.356194490192 -"-1-2.5i", -1.951302703907 -"-3.5+2.5i", 2.521343167607 -"-3.5+i", 2.863292994585 -"-3.5", 3.141592653590 -"-3.5-i", -2.863292994585 -"-3.5-2.5i", -2.521343167607 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data deleted file mode 100644 index 67eb96ff5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCONJUGATE.data +++ /dev/null @@ -1,26 +0,0 @@ -"12.34+5.67j", "12.34-5.67j" -"3.5+2.5i", "3.5-2.5i" -"3.5+i", "3.5-i" -"3.5", "3.5" -"3.5-i", "3.5+i" -"3.5-2.5i", "3.5+2.5i" -"1+2.5i", "1-2.5i" -"1+i", "1-i" -"1", "1" -"1-i", "1+i" -"1-2.5i", "1+2.5i" -"2.5i", "-2.5i" -"i", "-i" -"0", "0" -"-i", "i" -"-2.5i", "2.5i" -"-1+2.5i", "-1-2.5i" -"-1+i", "-1-i" -"-1", "-1" -"-1-i", "-1+i" -"-1-2.5i", "-1+2.5i" -"-3.5+2.5i", "-3.5-2.5i" -"-3.5+i", "-3.5-i" -"-3.5", "-3.5" -"-3.5-i", "-3.5+i" -"-3.5-2.5i", "-3.5+2.5i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data deleted file mode 100644 index 7ada86eae..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMCOS.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "141.319179436356+32.547610312508j" -"3.5+2.5i", "-5.74262349163406+2.12231025604134i" -"3.5+i", "-1.44502817950166+0.412240867891067i" -"3.5", "-0.936456687290796" -"3.5-i", "-1.44502817950166-0.412240867891067i" -"3.5-2.5i", "-5.74262349163406-2.12231025604134i" -"1+2.5i", "3.31329014611322-5.0910715229497i" -"1+i", "0.833730025131149-0.988897705762865i" -"1", "0.54030230586814" -"1-i", "0.833730025131149+0.988897705762865i" -"1-2.5i", "3.31329014611322+5.0910715229497i" -"2.5i", "6.13228947966369" -"i", "1.54308063481524" -"0", "1" -"-i", "1.54308063481524" -"-2.5i", "6.13228947966369" -"-1+2.5i", "3.31329014611322+5.0910715229497i" -"-1+i", "0.833730025131149+0.988897705762865i" -"-1", "0.54030230586814" -"-1-i", "0.833730025131149-0.988897705762865i" -"-1-2.5i", "3.31329014611322-5.0910715229497i" -"-3.5+2.5i", "-5.74262349163406-2.12231025604134i" -"-3.5+i", "-1.44502817950166-0.412240867891067i" -"-3.5", "-0.936456687290796" -"-3.5-i", "-1.44502817950166+0.412240867891067i" -"-3.5-2.5i", "-5.74262349163406+2.12231025604134i" -"3", "-0.989992496600445" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data deleted file mode 100644 index 52d5cbb6e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMDIV.data +++ /dev/null @@ -1,20 +0,0 @@ -"12.34+5.67j", "123.45+67.89i", "#NUM!" -"12.34+5.67j", "123.45+67.89j", "0.0961415519586104-0.00694248653276682j" -"-12.34+5.67i", "-123.45+67.89i", "0.0961415519586104+0.00694248653276682i" -"-12.34-5.67i", "-123.45+67.89i", "0.0573549954111941+0.0774712890924744i" -"-12.34+5.67i", "-123.45-67.89i", "0.0573549954111941-0.0774712890924744i" -"-12.34-5.67i", "-123.45-67.89i", "0.0961415519586104-0.00694248653276682i" -"12.34+5.67i", "-123.45+67.89i", "-0.0573549954111941-0.0774712890924744i" -"12.34-5.67i", "-123.45+67.89i", "-0.0961415519586104-0.00694248653276682i" -"12.34+5.67i", "-123.45-67.89i", "-0.0961415519586104+0.00694248653276682i" -"12.34-5.67i", "-123.45-67.89i", "-0.0573549954111941+0.0774712890924744i" -"-12.34+5.67i", "123.45+67.89i", "-0.0573549954111941+0.0774712890924744i" -"-12.34-5.67i", "123.45+67.89i", "-0.0961415519586104+0.00694248653276682i" -"-12.34+5.67i", "123.45-67.89i", "-0.0961415519586104-0.00694248653276682i" -"-12.34-5.67i", "123.45-67.89i", "-0.0573549954111941-0.0774712890924744i" -"-12.34-5.67i", "123.45-67.89", "#NUM!" -"-12.34-5.67j", "123.45-67.89", "#NUM!" -"-12.34-5.67", "123.45-67.89j", "#NUM!" -"-12.34-5.67i", "-12.34-5.67i", "1" -"-12.34", "123.45-67.89i", "-0.0767482736849023-0.0422068878126206i" -"-12.34-5.67i", "-12.34", "1+0.459481361426256i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data deleted file mode 100644 index 4c4d9b62b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMEXP.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "187004.11273906-131589.323796073j" -"-12.34E-5+6.78E9i", "1.79747131321615E+308+1.79747131321615E+308i" -"3.5+2.5i", "-26.5302329126575+19.8186755366902i" -"3.5+i", "17.8923550531471+27.8656919720394i" -"3.5", "33.1154519586923" -"3.5-i", "17.8923550531471-27.8656919720394i" -"3.5-2.5i", "-26.5302329126575-19.8186755366902i" -"1+2.5i", "-2.17773413212721+1.62681595415671i" -"1+i", "1.46869393991589+2.28735528717884i" -"1", "2.71828182845905" -"1-i", "1.46869393991589-2.28735528717884i" -"1-2.5i", "-2.17773413212721-1.62681595415671i" -"2.5i", "-0.801143615546934+0.598472144103957i" -"i", "0.54030230586814+0.841470984807897i" -"0", "1" -"-i", "0.54030230586814-0.841470984807897i" -"-2.5i", "-0.801143615546934-0.598472144103957i" -"-1+2.5i", "-0.294724265585475+0.220165597929638i" -"-1+i", "0.198766110346413+0.309559875653112i" -"-1", "0.367879441171442" -"-1-i", "0.198766110346413-0.309559875653112i" -"-1-2.5i", "-0.294724265585475-0.220165597929638i" -"-3.5+2.5i", "-0.0241924409350133+0.0180722928030842i" -"-3.5+i", "0.016315715894263+0.025410221967i" -"-3.5", "0.0301973834223185" -"-3.5-i", "0.016315715894263-0.025410221967i" -"-3.5-2.5i", "-0.0241924409350133-0.0180722928030842i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data deleted file mode 100644 index cb24be4ef..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLN.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "2.60862008281875+0.430710595550204j" -"-1.234E-5+6.78E9i", "22.6372429388987+1.5707963267949i" -"3.5+2.5i", "1.45888536604214+0.620249485982821i" -"3.5+i", "1.29199877621612+0.278299659005111i" -"3.5", "1.25276296849537" -"3.5-i", "1.29199877621612-0.278299659005111i" -"3.5-2.5i", "1.45888536604214-0.620249485982821i" -"1+2.5i", "0.990500734433292+1.19028994968253i" -"1+i", "0.346573590279973+0.785398163397448i" -"1", "0" -"1-i", "0.346573590279973-0.785398163397448i" -"1-2.5i", "0.990500734433292-1.19028994968253i" -"2.5i", "0.916290731874155+1.5707963267949i" -"i", "1.5707963267949i" -"0", "#NUM!" -"-i", "-1.5707963267949i" -"-2.5i", "0.916290731874155-1.5707963267949i" -"-1+2.5i", "0.990500734433292+1.95130270390726i" -"-1+i", "0.346573590279973+2.35619449019234i" -"-1", "3.14159265358979i" -"-1-i", "0.346573590279973-2.35619449019234i" -"-1-2.5i", "0.990500734433292-1.95130270390726i" -"-3.5+2.5i", "1.45888536604214+2.52134316760697i" -"-3.5+i", "1.29199877621612+2.86329299458468i" -"-3.5", "1.25276296849537+3.14159265358979i" -"-3.5-i", "1.29199877621612-2.86329299458468i" -"-3.5-2.5i", "1.45888536604214-2.52134316760697i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data deleted file mode 100644 index 8c57ff90c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG10.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "1.13290930735019+0.187055234944717j" -"-12.34E-5+6.78E9i", "9.83122969386706+0.682188176920927i" -"3.5+2.5i", "0.633585864201507+0.269370929165668i" -"3.5+i", "0.561107939136413+0.120864006221476i" -"3.5", "0.544068044350276" -"3.5-i", "0.561107939136413-0.120864006221476i" -"3.5-2.5i", "0.633585864201507-0.269370929165668i" -"1+2.5i", "0.430169003285497+0.516936357012023i" -"1+i", "0.150514997831991+0.34109408846046i" -"1", "0" -"1-i", "0.150514997831991-0.34109408846046i" -"1-2.5i", "0.430169003285497-0.516936357012023i" -"2.5i", "0.397940008672038+0.68218817692092i" -"i", "0.68218817692092i" -"0", "#NUM!" -"-i", "-0.68218817692092i" -"-2.5i", "0.397940008672038-0.68218817692092i" -"-1+2.5i", "0.430169003285497+0.847439996829817i" -"-1+i", "0.150514997831991+1.02328226538138i" -"-1", "1.36437635384184i" -"-1-i", "0.150514997831991-1.02328226538138i" -"-1-2.5i", "0.430169003285497-0.847439996829817i" -"-3.5+2.5i", "0.633585864201507+1.09500542467617i" -"-3.5+i", "0.561107939136413+1.24351234762036i" -"-3.5", "0.544068044350276+1.36437635384184i" -"-3.5-i", "0.561107939136413-1.24351234762036i" -"-3.5-2.5i", "0.633585864201507-1.09500542467617i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data deleted file mode 100644 index a5a413679..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMLOG2.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "3.76344325733562+0.621384040306436j" -"-12.34E-5+6.78E9i", "32.6586381298614+2.26618007108803i" -"3.5+2.5i", "2.10472668297646+0.894830857610216i" -"3.5+i", "1.86396022742506+0.401501537958665i" -"3.5", "1.80735492219671" -"3.5-i", "1.86396022742506-0.401501537958665i" -"3.5-2.5i", "2.10472668297646-0.894830857610216i" -"1+2.5i", "1.42899049767377+1.71722540775913i" -"1+i", "0.500000000038482+1.13309003554401i" -"1", "0" -"1-i", "0.500000000038482-1.13309003554401i" -"1-2.5i", "1.42899049767377-1.71722540775913i" -"2.5i", "1.3219280949891+2.26618007108801i" -"i", "2.26618007108801i" -"0", "#NUM!" -"-i", "-2.26618007108801i" -"-2.5i", "1.3219280949891-2.26618007108801i" -"-1+2.5i", "1.42899049767377+2.81513473441689i" -"-1+i", "0.500000000038482+3.39927010663201i" -"-1", "4.53236014217602i" -"-1-i", "0.500000000038482-3.39927010663201i" -"-1-2.5i", "1.42899049767377-2.81513473441689i" -"-3.5+2.5i", "2.10472668297646+3.63752928456581i" -"-3.5+i", "1.86396022742506+4.13085860421736i" -"-3.5", "1.80735492219671+4.53236014217602i" -"-3.5-i", "1.86396022742506-4.13085860421736i" -"-3.5-2.5i", "2.10472668297646-3.63752928456581i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data deleted file mode 100644 index 8e753bc24..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPOWER.data +++ /dev/null @@ -1,18 +0,0 @@ -"12.34+5.67j", 2, "120.1267+139.9356j" -"12.34+5.67j", 3, "688.928626+2407.923693j" -"12.34+5.67j", -1, "6.69108496973016E-002-3.07442883131037E-002j" -"12.34+5.67j", -2, "3.53185054333564E-003-4.11425290873718E-003j" -"12.34+5.67j", 0.5, "3.60002071031685+0.787495469644252j" -"12.34+5.67j", -0.25, "0.517904976730581-5.59833234375533E-002j" -"12.34+5.67j", 0, "1" -"-i", 2, "-1-1.34451369308841E-014i" -"1-i", 2, "1.22460635382238E-016-2i" -"2.5i", 2, "-6.25+8.40321058180257E-014i" -"2.5i", "2.5", "-6.98771242968685-6.98771242968684i" -"2.5i", "2.5i", "#VALUE!" -"2.5", "2.5", 9.88211768802619 -"2", "2", 4 -"-12.34-5.67i", "-12.34", "-4.69972844488573E-15+9.35464904349343E-15i" -"12.34-5.67i", "-12.34", "5.93343000067521E-15-8.62503997728057E-15i" -"-12.34-5.67i", "12.34", "-42881944468901.9-85355046682682.3i" -"12.34-5.67i", "12.34", "54138663282971.3+78697841733874.3i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data deleted file mode 100644 index 81ab40b7c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMPRODUCT.data +++ /dev/null @@ -1,15 +0,0 @@ -"12.34+5.67j", "123.45+67.89i", "#NUM!" -"12.34+5.67j", "12.34+5.67j" -"12.34+5.67i", "123.45+67.89i", "5.67", "6454.936089+8718.895647i" -"12.34+5.67j", "123.45+67.89j", "5.67", "6454.936089+8718.895647j" -"12.34+5.67j", "123.45+67.89j", "1138.4367+1537.7241j" -"12.34-5.67i", "123.45+67.89i", "1908.3093+137.8011i" -"12.34+5.67i", "123.45-67.89i", "1908.3093-137.8011i" -"12.34-5.67i", "123.45-67.89i", "1138.4367-1537.7241i" -"-12.34+5.67i", "123.45+67.89i", "-1908.3093-137.8011i" -"-12.34-5.67i", "123.45+67.89i", "-1138.4367-1537.7241i" -"12.34+5.67i", "-123.45+67.89i", "-1908.3093+137.8011i" -"-12.34+5.67i", "-123.45+67.89i", "1138.4367-1537.7241i" -"-12.34-5.67i", "-123.45-67.89i", "1138.4367+1537.7241i" -"-12.34", "123.45-67.89i", "-1523.373+837.7626i" -"-12.34-5.67i", "-12.34", "152.2756+69.9678i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data deleted file mode 100644 index ffa4382cb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMREAL.data +++ /dev/null @@ -1,30 +0,0 @@ -12.34+5.67j", 12.34 -"-1.234E-5+6.78E9i", -1.234E-5 -"3.5+2.5i", 3.5 -"3.5+i", 3.5 -"3.5", 3.5 -3.5, 3.5 -"3.5-i", 3.5 -"3.5-2.5i", 3.5 -"1+2.5i", 1 -"1+i", 1 -"1", 1 -1, 1 -"1-i", 1 -"1-2.5i", 1 -"2.5i", 0 -"i", 0 -"0", 0 -0, 0 -"-i", 0 -"-2.5i", 0 -"-1+2.5i", -1 -"-1+i", -1 -"-1", -1 -"-1-i", -1 -"-1-2.5i", -1 -"-3.5+2.5i", -3.5 -"-3.5+i", -3.5 -"-3.5", -3.5 -"-3.5-i", -3.5 -"-3.5-2.5i", -3.5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data deleted file mode 100644 index 50ab20034..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSIN.data +++ /dev/null @@ -1,27 +0,0 @@ -"12.34+5.67j", "-32.5483841590412+141.315819535092j" -"3.5+2.5i", "-2.15110429680353-5.66575444574645i" -"3.5+i", "-0.541286805665839-1.10052501669986i" -"3.5", "-0.35078322768962" -"3.5-i", "-0.541286805665839+1.10052501669986i" -"3.5-2.5i", "-2.15110429680353+5.66575444574645i" -"1+2.5i", "5.16014366757971+3.26893943207955i" -"1+i", "1.29845758141598+0.634963914784736i" -"1", "0.841470984807897" -"1-i", "1.29845758141598-0.634963914784736i" -"1-2.5i", "5.16014366757971-3.26893943207955i" -"2.5i", "6.05020448103979i" -"i", "1.1752011936438i" -"0", "0" -"-i", "-1.1752011936438i" -"-2.5i", "-6.05020448103979i" -"-1+2.5i", "-5.16014366757971+3.26893943207955i" -"-1+i", "-1.29845758141598+0.634963914784736i" -"-1", "-0.841470984807897" -"-1-i", "-1.29845758141598-0.634963914784736i" -"-1-2.5i", "-5.16014366757971-3.26893943207955i" -"-3.5+2.5i", "2.15110429680353-5.66575444574645i" -"-3.5+i", "0.541286805665839-1.10052501669986i" -"-3.5", "0.35078322768962" -"-3.5-i", "0.541286805665839+1.10052501669986i" -"-3.5-2.5i", "2.15110429680353+5.66575444574645i" -"3", "0.141120008059867" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data deleted file mode 100644 index d35a4d752..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSQRT.data +++ /dev/null @@ -1,28 +0,0 @@ -"12.34+5.67j", "3.60002071031685+0.787495469644252j" -"-1.234E-5+6.78E9i", "58223.7065120385+58223.7065120386i" -"3.5+2.5i", "1.9749889409211+0.632914936433528i" -"3.5+i", "1.88945163270197+0.264627043818521i" -"3.5", "1.87082869338697" -"3.5-i", "1.88945163270197-0.264627043818521i" -"3.5-2.5i", "1.9749889409211-0.632914936433528i" -"1+2.5i", "1.35878298553655+0.919940868634298i" -"1+i", "1.09868411346781+0.455089860562227i" -"1", "1" -"1-i", "1.09868411346781-0.455089860562227i" -"1-2.5i", "1.35878298553655-0.919940868634298i" -"2.5i", "1.11803398874989+1.11803398874989i" -"i", "0.707106781186548+0.707106781186547i" -"0", "0" -"-i", "0.707106781186548-0.707106781186547i" -"-2.5i", "1.11803398874989-1.11803398874989i" -"-1+2.5i", "0.919940868634298+1.35878298553655i" -"-1+i", "0.455089860562227+1.09868411346781i" -"-1", "6.12303176911189E-017+i" -"-1-i", "0.455089860562227-1.09868411346781i" -"-1-2.5i", "0.919940868634298-1.35878298553655i" -"-3.5+2.5i", "0.632914936433528+1.9749889409211i" -"-3.5+i", "0.264627043818521+1.88945163270197i" -"-3.5", "1.14551435241745E-016+1.87082869338697i" -"-3.5-i", "0.264627043818521-1.88945163270197i" -"-3.5-2.5i", "0.632914936433528-1.9749889409211i" -"9", "3" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data deleted file mode 100644 index 024d35859..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUB.data +++ /dev/null @@ -1,10 +0,0 @@ -"12.34+5.67j", "123.45+67.89i", "#NUM!" -"123.45+67.89j", "12.34+5.67j", "111.11+62.22j" -"12.34+5.67j", "123.45+67.89j", "-111.11-62.22j" -"12.34+5.67i", "123.45+67.89i", "123.45+67.89i", "-111.11-62.22i" -"-12.34-5.67i", "123.45-67.89i", "-135.79+62.22i" -"12.34-5.67i", "-123.45-67.89i", "135.79+62.22i" -"-12.34-5.67i", "-123.45-67.89i", "111.11+62.22i" -"-12.34-5.67i", "-123.45-67.89", "#NUM!" -"-12.34-5.67j", "-123.45-67.89", "#NUM!" -"-12.34-5.67", "-123.45-67.89j", "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data deleted file mode 100644 index e63aed946..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/IMSUM.data +++ /dev/null @@ -1,10 +0,0 @@ -"12.34+5.67j", "123.45+67.89i", "#NUM!" -"12.34+5.67j", "123.45+67.89j", "135.79+73.56j" -"12.34-5.67i", "123.45+67.89i", "135.79+62.22i" -"12.34+5.67i", "123.45-67.89i", "135.79-62.22i" -"12.34-5.67i", "123.45-67.89i", "135.79-73.56i" -"12.34+5.67i", "123.45+67.89i", "123.45+67.89i", "259.24+141.45i" -"12.34+5.67i", "123.45+67.89i", "123.45+67.89j", "#NUM!" -"-12.34-5.67i", "123.45-67.89i", "111.11-73.56i" -"12.34-5.67i", "-123.45-67.89i", "-111.11-73.56i" -"-12.34-5.67i", "-123.45-67.89i", "-135.79-73.56i" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data deleted file mode 100644 index 1f212fd9d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2BIN.data +++ /dev/null @@ -1,9 +0,0 @@ -"1357", "#NUM!" -"246", "10100110" -"3", 3, "011" -"12345", "#NUM!" -"123.45", "#NUM!" -"0", "0" -TRUE, "#VALUE!" -"3579", "#NUM!" -"7777777000", "1000000000" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data deleted file mode 100644 index 19f6dbd69..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2DEC.data +++ /dev/null @@ -1,9 +0,0 @@ -"1357", "751" -"246", "166" -"12345", "5349" -"123.45", "#NUM!" -"0", "0" -TRUE, "#VALUE!" -"3579", "#NUM!" -"54", "44" -"7777777533", "-165" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data deleted file mode 100644 index c18e7fdb5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Engineering/OCT2HEX.data +++ /dev/null @@ -1,9 +0,0 @@ -"1357", "2EF" -"246", "A6" -"12345", "14E5" -"100", 4, "0040" -"123.45", "#NUM!" -"0", "0" -TRUE, "#VALUE!" -"3579", "#NUM!" -"7777777533", "FFFFFFFF5B" // 2's Complement diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data deleted file mode 100644 index 5d92786fb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINT.data +++ /dev/null @@ -1,8 +0,0 @@ -#Issue date 1st Interest Settlement Rate Par Freq Basis Result -"2008-03-01", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, 16.666666666667 -"2008-03-05", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, 15.555555555556 -"2010-01-01", "2010-06-30", "2010-04-01", 0.08, 10000, 4, 202.222222222222 -"2008-03-05", "2008-08-31", "2008-05-01", -0.10, 1000, 2, 0, "#NUM!" -"Invalid Date", "2008-08-31", "2008-05-01", 0.10, 1000, 2, 0, "#VALUE!" -"2008-03-01", "2008-08-31", "2008-05-01", "ABC", 1000, 2, 0, "#VALUE!" -"2008-03-01", "2008-08-31", "2008-05-01", 0.10, 1000, 2, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data deleted file mode 100644 index e43e93bb6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ACCRINTM.data +++ /dev/null @@ -1,6 +0,0 @@ -#Issue date Settlement Rate Par Basis Result -"2008-04-01", "2008-06-15", 0.10, 1000, 3, 20.547945205479 -"2010-01-01", "2010-12-31", 0.08, 10000, 800 -"2008-03-05", "2008-08-31", -0.10, 1000, 2, "#NUM!" -"Invalid Date", "2008-08-31", 0.10, 1000, 2, "#VALUE!" -"2008-03-01", "2008-08-31", "ABC", 1000, 2, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data deleted file mode 100644 index d753a6d00..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORDEGRC.data +++ /dev/null @@ -1,3 +0,0 @@ -#Cost Date purchased End of the 1st period Salvage Period Depreciation Basis Result -2400, "2008-08-19", "2008-12-31", 300, 1, 0.15, 1, 776 -150, "2011-01-01", "2011-09-30", 20, 1, 0.2, 4, 42 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data deleted file mode 100644 index db6920ac2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/AMORLINC.data +++ /dev/null @@ -1,3 +0,0 @@ -#Cost Date purchased End of the 1st period Salvage Period Depreciation Basis Result -2400, "2008-08-19", "2008-12-31", 300, 1, 0.15, 1, 360 -150, "2011-01-01", "2011-09-30", 20, 1, 0.2, 4, 30 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data deleted file mode 100644 index 5905db94e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYBS.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 71 -"2011-01-01", "2012-10-25", 4, 66 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data deleted file mode 100644 index 26de73021..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYS.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 181 -"2011-01-01", "2012-10-25", 4, 90 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data deleted file mode 100644 index 91b9f73c4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPDAYSNC.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 110 -"2011-01-01", "2012-10-25", 4, 24 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data deleted file mode 100644 index fe5bba5d1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNCD.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 39217 -"2011-01-01", "2012-10-25", 4, 40568 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data deleted file mode 100644 index 43f77cd73..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPNUM.data +++ /dev/null @@ -1,7 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 4 -"2011-01-01", "2012-10-25", 4, 0, 8 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" -"01-Jan-2008", "31-Dec-2012", 1, 1, 5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data deleted file mode 100644 index 86212afa8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/COUPPCD.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Frequency Basis Result -"25-Jan-2007", "15-Nov-2008", 2, 1, 39036 -"2011-01-01", "2012-10-25", 4, 40476 -"Invalid Date", "15-Nov-2008", 2, 1, "#VALUE!" -"25-Jan-2007", "Invalid Date", 2, 1, "#VALUE!" -"25-Jan-2007", "15-Nov-2008", 3, 1, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data deleted file mode 100644 index 8427c4651..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMIPMT.data +++ /dev/null @@ -1,10 +0,0 @@ -#rate nper pv start_period end_period type result -0.0075, 360, 125000, 13, 24, 0, -11135.232130751 -0.0075, 360, 125000, 1, 1, 0, -937.50 -0.004166666667, 60, 50000, 1, 12, 0, -2294.9775375121 -0.004166666667, 60, 50000, 13, 24, 0, -1833.1000667254 -0.004166666667, 60, 50000, 25, 36, 0, -1347.5920679425 -0.004166666667, 60, 50000, 37, 48, 0, -837.24455850309 -0.004166666667, 60, 50000, 49, 60, 0, -300.78670189939 -0.0075, 360, 125000, 24, 13, 0, "#VALUE!" -0.0075, 360, 125000, 24, 13, 2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data deleted file mode 100644 index 65e6d6d14..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/CUMPRINC.data +++ /dev/null @@ -1,10 +0,0 @@ -#rate nper pv start_period end_period type result -0.0075, 360, 125000, 13, 24, 0, -934.10712342088 -0.0075, 360, 125000, 1, 1, 0, -68.278271180977 -0.004166666667, 60, 50000, 1, 12, 0, -9027.7626490046 -0.004166666667, 60, 50000, 13, 24, 0, -9489.6401197913 -0.004166666667, 60, 50000, 25, 36, 0, -9975.1481185741 -0.004166666667, 60, 50000, 37, 48, 0, -10485.495628014 -0.004166666667, 60, 50000, 49, 60, 0, -11021.953484617 -0.0075, 360, 125000, 24, 13, 0, "#VALUE!" -0.0075, 360, 125000, 24, 13, 2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data deleted file mode 100644 index e8c5fcf79..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DB.data +++ /dev/null @@ -1,17 +0,0 @@ -#cost salvage life period month result -1000000, 100000, 6, 1, 7, 186083.33333333 -1000000, 100000, 6, 2, 7, 259639.41666667 -1000000, 100000, 6, 3, 7, 176814.44275 -1000000, 100000, 6, 4, 7, 120410.63551275 -1000000, 100000, 6, 5, 7, 81999.642784183 -1000000, 100000, 6, 6, 7, 55841.756736028 -1000000, 100000, 6, 7, 7, 15845.098473848 -10000, 1000, 5, 1, 6, 1845.00 -10000, 1000, 5, 2, 6, 3009.195 -10000, 1000, 5, 3, 6, 1898.802045 -10000, 1000, 5, 4, 6, 1198.144090395 -10000, 1000, 5, 5, 6, 756.02892103925 -10000, 1000, 5, 6, 6, 238.52712458788 -0, 0, 5, 6, 6, 0.0 --1000, 100, 5, 6, 6, "#NUM!" -"ABC", 100, 5, 6, 6, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data deleted file mode 100644 index 2dfd52056..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DDB.data +++ /dev/null @@ -1,16 +0,0 @@ -#cost salvage life period month result -2400, 300, 36500, 1, 0.13150684931507 -2400, 300, 36500, 2, 0.13149964346031 -2400, 300, 36500, 7, 0.13146362010871 -2400, 300, 36500, 7, 14, 0.91843145432708 -2400, 300, 120, 1, 2, 40.00 -2400, 300, 10, 1, 2, 480.00 -2400, 300, 10, 2, 1.5, 306.00 -2400, 300, 10, 10, 22.12254720000030 -10000, 1000, 5, 1, 4000.00 -10000, 1000, 5, 2, 2400.00 -10000, 1000, 5, 3, 1440.00 -10000, 1000, 5, 4, 864.00 -10000, 1000, 5, 5, 296.00 --2400, 300, 36500, 1, "#NUM!" -"ABC", 300, 36500, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data deleted file mode 100644 index b5790c74c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DISC.data +++ /dev/null @@ -1,6 +0,0 @@ -#settlement maturity price redemption basis result -"2007-01-25", "2007-06-15", 97.975, 100, 1, 0.052420213 -"2010-04-01", "2015-03-31", 95, 100, 0.01 -"2010-04-01", "2015-03-31", 0, 100, "#NUM!" -"2010-04-01", "2015-03-31", "ABC", 100, "#VALUE!" -"Invalid Date", "2007-06-15", 97.975, 100, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data deleted file mode 100644 index c41b51dc1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARDE.data +++ /dev/null @@ -1,10 +0,0 @@ -#fractional_dollar fraction result -1.02, 16, 1.125 -1.1, 32, 1.3125 -1.01, 16, 1.0625 -1.1, 16, 1.625 -1.03, 32, 1.09375 -1.3, 32, 1.9375 -1.12, 32, 1.375 -1.2345, 0, "#DIV/0!" -1.2345, -2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data deleted file mode 100644 index a83a7231f..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/DOLLARFR.data +++ /dev/null @@ -1,10 +0,0 @@ -#decimal_dollar fraction result -1.125, 16, 1.02 -1.125, 32, 1.04 -1.0625, 16, 1.01 -1.625, 16, 1.1 -1.09375, 32, 1.03 -1.9375, 32, 1.3 -1.375, 32, 1.12 -1.2345, 0, "#DIV/0!" -1.2345, -2, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data deleted file mode 100644 index 34de2b2c6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/EFFECT.data +++ /dev/null @@ -1,6 +0,0 @@ -#nominal_rate npery Result -0.0525, 4, 0.053542667370758 -0.10, 4, 0.103812890625 -0.10, 2, 0.1025 -0.025, 2, 0.02515625 -1, 0, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data deleted file mode 100644 index 2955e9a23..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FV.data +++ /dev/null @@ -1,9 +0,0 @@ -#rate nper pmt pv type Result -0.005, 10, -200, -500, 1, 2581.4033740601 -0.01, 12, -1000, 12682.503013197 -0.009166666667, 35, -2000, , 1, 82846.246372418 -0.005, 12, -100, -1000, 1, 2301.4018303409 -0.004166666667, 60, -1000, 68006.082841536 -0.025, 16, -2000, 0, 1, 39729.460894166 -0.1, 12, -100, 0, 2, "#NUM!" -0.0, 12, -100, -100, 1300 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data deleted file mode 100644 index 0b5ad893e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/FVSCHEDULE.data +++ /dev/null @@ -1,4 +0,0 @@ -#principal schedule Result -1, {0.09|0.11|0.1}, 1.33089 -10, {0.09;0.11;0.1}, 13.3089 -10000, {0.05|0.05|0.035|0.035|0.035}, 12223.614571875 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data deleted file mode 100644 index 38195a427..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/INTRATE.data +++ /dev/null @@ -1,6 +0,0 @@ -#Settlement Maturity Investment Redemption Basis Result -"2008-02-15", "2008-05-15", 1000000, 1014420, 2, 0.05768 -"2005-04-01", "2010-03-31", 1000, 2125, 0.225 -"2008-02-15", "2008-05-15", 1000000, 1014420, "ABC", "#VALUE!" -"2008-02-15", "2008-05-15", 1000000, -1014420, 2, "#NUM!" -"Invalid Date", "2008-05-15", 1000000, 1014420, 2, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data deleted file mode 100644 index 9d5dab00d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IPMT.data +++ /dev/null @@ -1,9 +0,0 @@ -#rate per nper pv fv type Result -0.008333333333, 3, 3, 8000, -22.406893015021 -0.10, 3, 3, 8000, -292.44712990937 -0.004166666667, 1, 60, 50000, -208.33333335 -0.004166666667, 2, 60, 50000, -205.26988189617 -0.00875, 1, 8, 10000, 5000, 1, 0.00 -0.00875, 2, 8, 10000, 5000, 1, -70.968650395559 -0.005, 2, 8, 2500, 200, 6, "#NUM!" -0.005, 8, 2, 2500, 200, 1, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data deleted file mode 100644 index 0d4458ff6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/IRR.data +++ /dev/null @@ -1,6 +0,0 @@ -#values guess Result -{-70000;12000;15000;18000;21000}, -0.021244848273410 -{-70000;12000;15000;18000;21000;26000}, 0.08663094803652 -{-70000;12000;15000;18000}, 0.10, -0.18213746414550 -{-100;20|24|28.80}, -0.13618951095869 -{-100;20|24|28.80|34.56|41.47}, 0.130575756371527 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data deleted file mode 100644 index eac8167d1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/ISPMT.data +++ /dev/null @@ -1,5 +0,0 @@ -#rate per nper pv result -0.008333333333, 1, 36, 8000000, -64814.814812222 -0.10, 1, 3, 8000000, -533333.33333333 -0.004166666667, 1, 60, 50000, -204.8611111275 -0.004166666667, 2, 60, 50000, -201.388888905 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data deleted file mode 100644 index f91b030bb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/MIRR.data +++ /dev/null @@ -1,6 +0,0 @@ -#values finance_rate reinvestment_rate Result -{-120000;39000|30000|21000|37000|46000}, 0.10, 0.12, 0.12609413036591 -{-120000;39000|30000|21000}, 0.10, 0.12, -0.048044655249981 -{-120000;39000|30000|21000|37000|46000}, 0.10, 0.14, 0.13475911082831 -{-100;12|14|11}, 5.5, 5, 0.74021752686287 -{-100;12|14|11|13|16}, 5.5, 5, 1.8579321744785 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data deleted file mode 100644 index df78c5534..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NOMINAL.data +++ /dev/null @@ -1,6 +0,0 @@ -#effect_rate npery result -0.053543, 4, 0.052500319868356 -0.10, 4, 0.09645475633778 -0.10, 2, 0.097617696340303 -0.025, 12, 0.024718035238113 --0.025, 12, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data deleted file mode 100644 index 205d0aabf..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPER.data +++ /dev/null @@ -1,10 +0,0 @@ -#rate pmt pv fv type result -0.01, -100, -1000, 10000, 1, 59.673865674295 -0.01, -100, -1000, 10000, 60.082122853762 -0.01, -100, -1000, -9.5785940398132 -0.003333333333, -1000, 50000, 54.78757726 -0.015, -1200, 9000, 5000, 1, 11.90373729 -0.015, -1200, 9000, 5000, 2, "#NUM!" -0.015, 0.0, 0.0, 5000, 1, "#NUM!" -0.0, 0.0, -500, 5000, 1, "#NUM!" -0.0, -50, -250, 150, 1, -2.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data deleted file mode 100644 index c927fa542..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/NPV.data +++ /dev/null @@ -1,5 +0,0 @@ -#rate values result -0.10, -10000, 3000, 4200, 6800, 1188.4434123352 -0.08, 8000, 9200, 10000, 12000, 14500, 41922.061554932 -0.08, 8000, 9200, 10000, 12000, 14500, -9000, 36250.534912984 -0.05, 2000, 2400, 2900, 3500, 4100, 12678.677633095 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data deleted file mode 100644 index c36be488b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/PRICE.data +++ /dev/null @@ -1,10 +0,0 @@ -#Settlement Maturity Rate Yield Redemption Frequency Basis Result -"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 0, 94.6343616213221 -"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 1, 94.6354492078772 -"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 2, 94.6365640300251 -"15-Feb-2008", "15-Nov-2017", 0.0575, 0.065, 100, 2, 3, 94.6351747967845 -"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, NULL, 110.8344835932160 -"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 1, 110.8345373958590 -"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 2, 110.8344835932160 -"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 2, 3, 110.8345285514390 -"01-Apr-2012", "31-Mar-2020", 0.12, 0.10, 100, 4, 3, 110.9217329631980 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data deleted file mode 100644 index 2dd8449eb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/RATE.data +++ /dev/null @@ -1,11 +0,0 @@ -#Periods Payment Present Value Future Value Type Guess Result -48, -200, 8000, 0.0077014724882014 -60, -6000, 120000, 0.0467819164224934 -60, -1000, 120000, -0.0204429522193565 -24, -250, 5000, 0.0151308439023434 -24, -250, 5000, NULL, 1, 0.0165501190667120 -208, -700, 8000, 0.0874999976840937 -10, -1000, 6500, 0.0871137556058636 -6, -1000, 100000, -126068, 0.0484721272835728 -6, 1000, 100000, -126068, 0.0302728738275435 -6, -1000, -100000, 126068, 0, 0.0302728738275437 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data deleted file mode 100644 index 36a8e23dd..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Financial/XIRR.data +++ /dev/null @@ -1,4 +0,0 @@ -#values dates guess Result -{-10000;2750|4250|3250|2750|46000}, {"2008-01-01";"2008-03-01"|"2008-10-30"|"2009-02-15"|"2009-04-01"}, 0.10, 0.373362535 -{-100;20|40|25}, {"2010-01-01";"2010-04-01"|"2010-10-01"|"2011-02-01"}, -0.3024 -{-100;20|40|25|8|15}, {"2010-01-01";"2010-04-01"|"2010-10-01"|"2011-02-01"|"2011-03-01"|"2011-06-01"}, 0.2095 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data deleted file mode 100644 index f2722937d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/ERROR_TYPE.data +++ /dev/null @@ -1,14 +0,0 @@ - "#N/A" -NULL, "#N/A" --1, "#N/A" -1.25, "#N/A" -"", "#N/A" -"2.5", "#N/A" -TRUE, "#N/A" -"#NULL!", 1 -"#DIV/0!", 2 -"#VALUE!", 3 -"#REF!", 4 -"#NAME?", 5 -"#NUM!", 6 -"#N/A", 7 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data deleted file mode 100644 index 1daa126da..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_BLANK.data +++ /dev/null @@ -1,16 +0,0 @@ - TRUE -NULL, TRUE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", FALSE -"#N/A", FALSE -"TRUE", FALSE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data deleted file mode 100644 index e6384d14f..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERR.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", TRUE -"#N/A", FALSE -"TRUE", FALSE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data deleted file mode 100644 index 244807a12..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ERROR.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", TRUE -"#N/A", TRUE -"TRUE", FALSE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data deleted file mode 100644 index 8f985df40..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_EVEN.data +++ /dev/null @@ -1,20 +0,0 @@ - "#NAME?" -NULL, "#NAME?" --1, FALSE -0, TRUE -9, FALSE -1.25, FALSE -1.5, FALSE -2.25, TRUE -2.5, TRUE -"", "#VALUE!" -"-1", FALSE -"2", TRUE -"-1.5", FALSE -"2.5", TRUE -"ABC", "#VALUE!" -"#VALUE!", "#VALUE!" -"#N/A", "#VALUE!" -"TRUE", "#VALUE!" -TRUE, "#VALUE!" -FALSE, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data deleted file mode 100644 index d977ba7b3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_LOGICAL.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", FALSE -"#N/A", FALSE -"TRUE", FALSE -TRUE, TRUE -FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data deleted file mode 100644 index be96e6bf2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NA.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", FALSE -"#N/A", TRUE -"TRUE", FALSE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data deleted file mode 100644 index 223053a25..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NONTEXT.data +++ /dev/null @@ -1,16 +0,0 @@ - TRUE -NULL, TRUE --1, TRUE -0, TRUE -9, TRUE -1.5, TRUE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", TRUE -"#N/A", TRUE -"TRUE", FALSE -TRUE, TRUE -FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data deleted file mode 100644 index 525d0fe7e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_NUMBER.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, TRUE -0, TRUE -9, TRUE -1.5, TRUE -"", FALSE -"-1", FALSE -"2", FALSE -"-1.5", FALSE -"ABC", FALSE -"#VALUE!", FALSE -"#N/A", FALSE -"TRUE", FALSE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data deleted file mode 100644 index 0cf0741ea..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_ODD.data +++ /dev/null @@ -1,20 +0,0 @@ - "#NAME?" -NULL, "#NAME?" --1, TRUE -0, FALSE -9, TRUE -1.25, TRUE -1.5, TRUE -2.25, FALSE -2.5, FALSE -"", "#VALUE!" -"-1", TRUE -"2", FALSE -"-1.5", TRUE -"2.5", FALSE -"ABC", "#VALUE!" -"#VALUE!", "#VALUE!" -"#N/A", "#VALUE!" -"TRUE", "#VALUE!" -TRUE, "#VALUE!" -FALSE, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data deleted file mode 100644 index 3f3abf1b6..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/IS_TEXT.data +++ /dev/null @@ -1,16 +0,0 @@ - FALSE -NULL, FALSE --1, FALSE -0, FALSE -9, FALSE -1.5, FALSE -"", TRUE -"-1", TRUE -"2", TRUE -"-1.5", TRUE -"ABC", TRUE -"#VALUE!", FALSE -"#N/A", FALSE -"TRUE", TRUE -TRUE, FALSE -FALSE, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data deleted file mode 100644 index 9fc130e0a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/N.data +++ /dev/null @@ -1,20 +0,0 @@ - 0 -NULL, 0 --1, -1 -1.25, 1.25 -"", 0 -"2.5", 0 -"TRUE", 0 -"ABCDE", 0 -TRUE, 1 -"#DIV/0!", "#DIV/0!" -"#NUM!", "#NUM!" -{}, 0 -{123}, 123 -{123|456}, 123 -{123|"A"}, 123 -{"A"|123}, 0 -{"A"|123;456|789}, 0 -{123|"A";456|789}, 123 -{123|456;"A"|789}, 123 -{123|456;789|"A"}, 123 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data deleted file mode 100644 index 52d168802..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Functions/TYPE.data +++ /dev/null @@ -1,16 +0,0 @@ - 1 -NULL, 1 --1, 1 -1.25, 1 -"", 2 -"2.5", 2 -"TRUE", 2 -"ABCDE", 2 -TRUE, 4 -"#DIV/0!", 16 -"#NUM!", 16 -{}, 1 -{1}, 1 -{1;2;3}, 64 -{1|2|3;4|5|6;7|8|9}, 64 -{|;|}, 64 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data deleted file mode 100644 index 76870343e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/AND.data +++ /dev/null @@ -1,21 +0,0 @@ -"#VALUE!" // No arguments -NULL, TRUE // NULL -TRUE, NULL, TRUE // Boolean TRUE and NULL -FALSE, NULL, FALSE // Boolean FALSE and NULL -TRUE, TRUE, TRUE // Both TRUE Booleans -TRUE, FALSE, FALSE // Mixed Booleans -FALSE, TRUE, FALSE // Mixed Booleans -FALSE, FALSE, FALSE // Both FALSE Booleans -TRUE, TRUE, FALSE, FALSE // Multiple Mixed Booleans -TRUE, TRUE, TRUE, TRUE // Multiple TRUE Booleans -FALSE, FALSE, FALSE, FALSE, FALSE // Multiple FALSE Booleans --1, -2, TRUE -0, 0, FALSE -0, 1, FALSE -1, 1, TRUE -"1",1, "#VALUE!" -"TRUE", 1, TRUE // 'TRUE' String -"FALSE",TRUE, FALSE // 'FALSE' String -"ABCD", 1, "#VALUE!" // Non-numeric String --2, 1, TRUE --2, 0, FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data deleted file mode 100644 index 23017b5b3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IF.data +++ /dev/null @@ -1,7 +0,0 @@ -0 -TRUE, 0 -FALSE, FALSE -TRUE, "ABC", "ABC" -FALSE, "ABC", FALSE -TRUE, "ABC", "XYZ", "ABC" -FALSE, "ABC", "XYZ", "XYZ" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data deleted file mode 100644 index 2095481f0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/IFERROR.data +++ /dev/null @@ -1,8 +0,0 @@ -, "Error", NULL -TRUE, "Error", TRUE -42, "Error", 42 -"", "Error", "" -"ABC", "Error", "ABC" -"#VALUE!", "Error", "Error" -"#NAME?", "Error", "Error" -"#N/A", "Error", "Error" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data deleted file mode 100644 index adc515d82..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/NOT.data +++ /dev/null @@ -1,20 +0,0 @@ -TRUE -NULL, TRUE --1, FALSE -0, TRUE -1, FALSE -2, FALSE --1.5, FALSE -1.5, FALSE -"-1", "#VALUE!" -"0", "#VALUE!" -"1", "#VALUE!" -"2", "#VALUE!" -"-1.5", "#VALUE!" -"1.5", "#VALUE!" -"", "#VALUE!" -"ABC", "#VALUE!" -"FALSE",TRUE -"TRUE", FALSE -TRUE, FALSE -FALSE, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data deleted file mode 100644 index 738916ee2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/Logical/OR.data +++ /dev/null @@ -1,20 +0,0 @@ -"#VALUE!" // No arguments -NULL, FALSE // NULL -TRUE, NULL, TRUE // Boolean TRUE and NULL -FALSE, NULL, FALSE // Boolean FALSE and NULL -TRUE, TRUE, TRUE // Both TRUE Booleans -TRUE, FALSE, TRUE // Mixed Booleans -FALSE, TRUE, TRUE // Mixed Booleans -FALSE, FALSE, FALSE // Both FALSE Booleans -TRUE, TRUE, FALSE, TRUE // Multiple Mixed Booleans -TRUE, TRUE, TRUE, TRUE // Multiple TRUE Booleans -FALSE, FALSE, FALSE, FALSE, FALSE // Multiple FALSE Booleans --1, -2, TRUE -0, 0, FALSE -0, 1, TRUE -1, 1, TRUE -"TRUE", 1, TRUE // 'TRUE' String -"FALSE",TRUE, TRUE // 'FALSE' String -"ABCD", 1, "#VALUE!" // Non-numeric String --2, 1, TRUE --2, 0, TRUE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data deleted file mode 100644 index c29fdc95d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/HLOOKUP.data +++ /dev/null @@ -1,9 +0,0 @@ -10251, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, FALSE, 16.8 -10251, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 3, FALSE, 6.0 -10248, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, FALSE, "#N/A" -10248, {"Order ID"|10247|10249|10250|10251|10252|10253;"Unit Price"|14.00|18.60|7.70|16.80|16.80|64.80;"Quantity"|12|9|10|6|20|40}, 2, TRUE, 14.0 -"Axles", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 2, TRUE, 4 -"Bearings", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 3, FALSE, 7 -"B", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 3, TRUE, 5 -"Bolts", {"Axles"|"Bearings"|"Bolts";4|4|9;5|7|10;6|8|11}, 4, 11 -3, {1|2|3;"a"|"b"|"c";"d"|"e"|"f"}, 2, TRUE, "c" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data deleted file mode 100644 index 8fefc6cc0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/LookupRef/VLOOKUP.data +++ /dev/null @@ -1,5 +0,0 @@ -1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, FALSE, 2.17 -1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 3, TRUE, 100 -.7, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 3, FALSE, "#N/A" -0.1, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, TRUE, "#N/A" -2, {"Density"|"Viscosity"|"Temperature";0.457|3.55|500;0.525|3.25|400;0.616|2.93|300;0.675|2.75|250;0.746|2.57|200;0.835|2.38|150;0.946|2.17|100;1.09|1.95|50;1.29|1.71|0}, 2, TRUE, 1.71 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data deleted file mode 100644 index 47dade238..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ATAN2.data +++ /dev/null @@ -1,17 +0,0 @@ -#x_num y_num Result -0, 0, "#DIV/0!" -1, 1, 0.785398163397 --1, -1, -2.356194490192 --1, 1, 2.356194490192 -1, -1, -0.785398163397 -0.5, 1, 1.107148717794 --0.5, 2, 1.815774989922 -1, 0.8, 0.674740942224 -0.8, -0.6, -0.643501108793 -1, -9, -1.460139105621 -0.2, 0, 0.0 -0.1, 0.2, 1.107148717794 -0, 0.2, 1.570796326795 -"A", 0.2, "#VALUE!" -TRUE, 1, 0.785398163397 -FALSE, -2.5, -1.570796326795 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data deleted file mode 100644 index ed46ca8bd..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/CEILING.data +++ /dev/null @@ -1,21 +0,0 @@ -#number significance result -2.5, 1, 3.0 --2.5, -2, -4.0 -1.5, 0.1, 1.5 -0.234, 0.01, 0.24 --2.341, -0.1, -2.4 -8, 0, 0.0 -8, 1.5, 9.0 -8, -1.5, "#NUM!" --8, 1.5, "#NUM!" --8, -1.5, -9.0 -8.26, 0.05, 8.3 -2.341, 0.05, 2.35 -123.456, "#VALUE!" -"PHPExcel", "#VALUE!" -210.67, 1, 211.0 -210.67, 0.05, 210.70 -210.63, 0.05, 210.65 -2.98, 2, 4.0 --2.98, 2, "#NUM!" --4.5, -1, -5.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data deleted file mode 100644 index 568ad14da..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/COMBIN.data +++ /dev/null @@ -1,25 +0,0 @@ -#NumObjs NumInSet Result -7, 3, 35 -8, 2, 28 -8, 3, 56 -8, 4, 70 -100, 3, 161700 --7, -10, "#NUM!" --7, 10, "#NUM!" -7, -10, "#NUM!" -2, 3, "#NUM!" -2, 2, 1 -2, 1, 2 -2, 0, 1 -2.5, 2, 1 -"ABCD", "EFGH", "#VALUE!" -10, 5, 252 -10, 3, 120 -21, 5, 20349 -6, 1, 6 -6, 2, 15 -6, 3, 20 -6, 4, 15 -6, 5, 6 -6, 6, 1 -6, 7, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data deleted file mode 100644 index 604533c23..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/EVEN.data +++ /dev/null @@ -1,17 +0,0 @@ -, 0 -5.4, 6 --5.4, -6 -1.5, 2 -0.1, 2 -3, 4 -2, 2 --2, -2 --1, -2 -"ABC", "#VALUE!" -TRUE, 2 -FALSE, 0 -0, 0 -210.61, 212 -2.98, 4 --2.98, -4 -6, 6 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data deleted file mode 100644 index 6340f6c1b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACT.data +++ /dev/null @@ -1,10 +0,0 @@ -5, 120 -1.9, 1 -0, 1 --4, "#NUM!" -1, 1 -3, 6 -6, 720 -10, 3628800 -3.2, 6 -"ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data deleted file mode 100644 index 81ee2e94a..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FACTDOUBLE.data +++ /dev/null @@ -1,8 +0,0 @@ -0, 1 -6, 48 -7, 105 -5, 15 -8, 384 -13, 135135 --1, "#NUM!" -"ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data deleted file mode 100644 index 29785f723..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/FLOOR.data +++ /dev/null @@ -1,11 +0,0 @@ -2.5, 1, 2 --2.5, -2, -2 --2.5, 2, "#NUM!" -2.5, -2, "#NUM!" -123.456,0, "#DIV/0!" -1.5, 0.1, 1.5 -0.234, 0.01, 0.23 -123.456, "#VALUE!" -"ABC", "#VALUE!" -17, 3, 15 -19, 4, 16 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data deleted file mode 100644 index ca673481e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/GCD.data +++ /dev/null @@ -1,20 +0,0 @@ -5, 2, 1 -24, 36, 12 -7, 1, 1 -5, 0, 5 -30, 15, 10, 5 -42, 56, 140, 14 -24, 28, 40, 4 -27, 45, 54, 9 -84, 126, 196, 14 -3, 5, 7, 1 -3, 5, 0, 1 -3, 5, -7, "#NUM!" -3, 6, 12, 3 -3, 6, "12", 3 -3, 6, "ABC", "#VALUE!" -3, 3 -15, 10, 25, 5 -0, 8, 12, 4 -7, 2, 1 -0, 0, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data deleted file mode 100644 index b5d8cd5c8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/INT.data +++ /dev/null @@ -1,19 +0,0 @@ -, 0 -5.4, 5 --5.4, -6 --3.2, -4 -1.5, 1 -0.1, 0 --0.1, -1 -3, 3 -2, 2 --2.01, -3 --2, -2 --1, -1 -"ABC", "#VALUE!" -TRUE, 1 -FALSE, 0 -0, 0 -"-3.5", -4 -8.9, 8 --8.9, -9 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data deleted file mode 100644 index 8f4026841..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LCM.data +++ /dev/null @@ -1,12 +0,0 @@ -5, 2, 10 -24, 36, 72 -3, 7, 12, 84 -24.9, 36.9, 72 -6, 22, 121, 726 -6, "ABC", "#VALUE!" -24, -12, "#NUM!" -3, 0, 0 -1, 5, 5 -15, 10, 25, 150 -1, 8, 12, 24 -7, 2, 14 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data deleted file mode 100644 index 219ac59e0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/LOG.data +++ /dev/null @@ -1,70 +0,0 @@ -#number base result -"ABC", "#VALUE!" -"123ABC", "#VALUE!" -1.2345, 0.0914910942679511 --1.5, -0.75, "#NUM!" -0, -0.75, "#NUM!" -3.75, -0.75, "#NUM!" --1.5, 0, "#NUM!" -0, 0, "#NUM!" -3.75, 0, "#NUM!" --0.75, 0.75, "#NUM!" -0, 0.75, "#NUM!" -0.75, 0.75, 1.0 -1.5, 0.75, -1.4094208396532100 -2.25, 0.75, -2.8188416793064200 -3, 0.75, -3.8188416793064200 -3.75, 0.75, -4.5945019399978900 -4.5, 0.75, -5.2282625189596300 --0.75, 1.5, "#NUM!" -0, 1.5, "#NUM!" -0.75, 1.5, -0.7095112913514550 -1.5, 1.5, 1.0 -2.25, 1.5, 2.0 -3, 1.5, 2.7095112913514500 -3.75, 1.5, 3.2598510045646600 -4.5, 1.5, 3.7095112913514500 --0.75, 2.25, "#NUM!" -0, 2.25, "#NUM!" -0.75, 2.25, -0.3547556456757270 -1.5, 2.25, 0.5 -2.25, 2.25, 1.0 -3, 2.25, 1.3547556456757300 -3.75, 2.25, 1.6299255022823300 -4.5, 2.25, 1.8547556456757300 --0.75, 3, "#NUM!" -0, 3, "#NUM!" -0.75, 3, -0.2618595071429150 -1.5, 3, 0.3690702464285430 -2.25, 3, 0.7381404928570850 -3, 3, 1.0 -3.75, 3, 1.2031140135750100 -4.5, 3, 1.3690702464285400 --0.75, 3.75, "#NUM!" -0, 3.75, "#NUM!" -0.75, 3.75, -0.2176514479827300 -1.5, 3.75, 0.3067624865675560 -2.25, 3.75, 0.6135249731351110 -3, 3.75, 0.8311764211178410 -3.75, 3.75, 1.0 -4.5, 3.75, 1.1379389076854000 --0.75, 4.5, "#NUM!" -0, 4.5, "#NUM!" -0.75, 4.5, -0.1912681309275550 -1.5, 4.5, 0.2695772896908150 -2.25, 4.5, 0.5391545793816300 -3, 4.5, 0.7304227103091850 -3.75, 4.5, 0.8787817986064220 -4.5, 4.5, 1.0 -64, 2, 6 -100, 2 -4, 0.5, -2 -500, 2.698970004336 -10, 1 -8, 2, 3 -86, 2.7182818, 4.454347342888 -20, 1.301029995664 -20, 10, 1.301029995664 -20, 25, 0.930676558073 -25, 5.1, 1.975690971574 -200, 3, 4.822736302150 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data deleted file mode 100644 index 970bec538..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MDETERM.data +++ /dev/null @@ -1,14 +0,0 @@ -{1|2|3;4|5|6;7|8|9}, 6.661338147750940E-16 -{1.1|2.2|3.3;4.4|5.5|6.6;7.7|8.8|9.9}, 1.61204383175573E-15 -{10|20|30;40|50|60;70|80|90}, -4.26325641456060E-12 -{8|1|6;3|5|7;4|9|2}, -3.6E+02 -{5|2;7|1}, -9 -{6|4|2;3|5|3;2|3|4}, 40 -{0.2|1;0.35|10.8}, 1.81 -{0.2|1|-0.9;0.35|10.8|4;-3.15|5|}, "#VALUE!" -{1|2;3|4}, -2 -{1|2|1;3|4|2;1|1|2}, -3 -{1|3|8|5;1|3|6|1;1|1|1|0;7|3|10|2}, 88 -{3|6|1;1|1|0;3|10|2}, 1 -{3|6;1|1}, -3 -{1|3|8|5;1|3|6|1}, "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data deleted file mode 100644 index 8c9a962fa..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MINVERSE.data +++ /dev/null @@ -1,15 +0,0 @@ -{1|2|3;4|5|6;7|8|9}, {-4.50359962737050E+15|9.00719925474099E+15|-4.50359962737050E+15;9.00719925474100E+15|-1.80143985094820E+16|9.00719925474099E+15;-4.50359962737050E+15|9.00719925474099E+15|-4.50359962737050E+15} -{10|20|30;40|50|60;70|80|90}, {7.03687441776639E+13|-1.40737488355328E+14|7.03687441776640E+13;-1.40737488355328E+14|2.81474976710656E+14|-1.40737488355328E+14;7.03687441776641E+13|-1.40737488355328E+14|7.03687441776640E+13} -{8|1|6;3|5|7;4|9|2}, {1.47222222222222E-01|-1.44444444444444E-01|6.38888888888889E-02;-6.11111111111111E-02|2.22222222222222E-02|1.05555555555556E-01;-1.94444444444444E-02|1.88888888888889E-01|-1.02777777777778E-01} -{4|-1;2|0}, {0|0.5;-1|2} -{1|2|1;3|4|-1;0|2|0}, {0.25|0.25|-0.75;0|0|0.5;0.75|-0.25|-0.25} -{1|4|1|1;1|4|0|1;2|3|1|2;3|2|6|4}, {3.2|-4.8|2.8|-1;0.2|0.2|0.2|0;1|-1|0|0;-4|5|-2|1} -{0.2|1;0.35|10.8}, {5.96685082872928|-0.55248618784530;-0.19337016574586|0.11049723756906} -{0.2|1|-0.9;0.35|10.8|4;-3.15|5}, "#VALUE!" -{1|2;3|4}, {-2|1;1.5|-0.5} -{1|2|1;3|4|2;1|1|2}, {-2|1|0;1.33333333333333|-0.33333333333333|-0.33333333333333;0.33333333333333|-0.33333333333333|0.66666666666667} -{2|3;4|5}, {-2.5|1.5;2|-1} -{5|8;7|9}, {-0.818181818181818|0.727272727272727;0.636363636363636|-0.454545454545455} -{45|78;17|50}, {0.054112554112554|-0.084415584415584;-0.018398268398268|0.048701298701299} -{2|2;2|1}, {-0.5|1.0;1|-1} -{1|4|6;7|4|10;15|16|20}, {-0.2941176470588230|0.0588235294117647|0.0588235294117647;0.0367647058823529|-0.2573529411764710|0.1176470588235290;0.1911764705882350|0.1617647058823530|-0.0882352941176471} \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data deleted file mode 100644 index 86c9bfdb4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MMULT.data +++ /dev/null @@ -1,12 +0,0 @@ -{1|2;3|4}, {1|2;3|4}, {7|10;15|22} -{1|2|3;4|5|6;7|8|9}, {1|2|3;4|5|6;7|8|9}, {30|36|42;66|81|96;102|126|150} -{1|2;3|4}, 2, "#VALUE!" // Mismatched dimensions -{1|2;3|4}, {2}, "#VALUE!" // Mismatched dimensions -{1.2;2.4}, {3.6|4.5}, {14.43|14.43;14.43|14.43} -2, {1|2;3|4}, "#VALUE!" // Mismatched dimensions -{2}, {1|2;3|4}, "#VALUE!" // Mismatched dimensions -{1|2;3|4}, {2|4}, "#VALUE!" -{1|2;3|4}, {2;4}, {{10};{22}} -{2|4}, {1|2;3|4}, {14|20} -{2;4}, {1|2;3|4}, "#VALUE!" // Mismatched dimensions -{1|2;3|4;5|6}, {1|2|3;4|5|6}, {9|12|15;19|26|33;29|40|51} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data deleted file mode 100644 index 7e0aee6f4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MOD.data +++ /dev/null @@ -1,9 +0,0 @@ -19, 17, 2 -19, -13, -7 -34, 17, 0 -34, 0, "#DIV/0!" -3, 2, 1 --3, 2, 1 -3, -2, -1 --3, -2, -1 -2.5, 1.3, 1.2 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data deleted file mode 100644 index fc68ed7bc..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MROUND.data +++ /dev/null @@ -1,11 +0,0 @@ -10, 3, 9 --10, -3, -9 -1.3, 0.2, 1.4 -5, 0, 0 -3.14159, 0.002, 3.142 --3.14159, -.02, -3.14 -31415.92654, 10, 31420 -31415.92654, 1, 31416 -5, -2, "#NUM!" -"ABC", 1, "#VALUE!" -1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data deleted file mode 100644 index c943f20a2..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/MULTINOMIAL.data +++ /dev/null @@ -1,2 +0,0 @@ -2, 3, 4, 1260 -3, 1, 2, 5, 27720 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data deleted file mode 100644 index 54898cc1c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ODD.data +++ /dev/null @@ -1,13 +0,0 @@ -, 1 -5.4, 7 --5.4, -7 -1.5, 3 -0.1, 1 -3, 3 -2, 3 --2, -3 --1, -1 -"ABC", "#VALUE!" -TRUE, 1 -FALSE, 1 -0, 1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data deleted file mode 100644 index f00915e72..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/POWER.data +++ /dev/null @@ -1,81 +0,0 @@ --1.5, -1.5, "#NUM!" --0.75, -1.5, "#NUM!" -0, -1.5, "#DIV/0!" -0.75, -1.5, 1.539600717839 -1.5, -1.5, 0.54433105395182 -2.25, -1.5, 0.2962962962963 -3, -1.5, 0.19245008972988 -3.75, -1.5, 0.13770607453182 -4.5, -1.5, 0.10475656017579 --1.5, -0.75, "#NUM!" --0.75, -0.75, "#NUM!" -0, -0.75, "#DIV/0!" -0.75, -0.75, 1.2408064788028 -1.5, -0.75, 0.73778794646688 -2.25, -0.75, 0.54433105395182 -3, -0.75, 0.43869133765083 -3.75, -0.75, 0.37108769116183 -4.5, -0.75, 0.32366118113822 --1.5, 0, 1 --0.75, 0, 1 -0, 0, "#NUM!" -0.75, 0, 1 -1.5, 0, 1 -2.25, 0, 1 -3, 0, 1 -3.75, 0, 1 -4.5, 0, 1 --1.5, 0.75, "#NUM!" --0.75, 0.75, "#NUM!" -0, 0.75, 0 -0.75, 0.75, 0.80592744886766 -1.5, 0.75, 1.35540300541477 -2.25, 0.75, 1.83711730708738 -3, 0.75, 2.27950705695478 -3.75, 0.75, 2.69478083972313 -4.5, 0.75, 3.08965071586068 --1.5, 1.5, "#NUM!" --0.75, 1.5, "#NUM!" -0, 1.5, 0 -0.75, 1.5, 0.64951905283833 -1.5, 1.5, 1.83711730708738 -2.25, 1.5, 3.375 -3, 1.5, 5.19615242270663 -3.75, 1.5, 7.26184377413891 -4.5, 1.5, 9.54594154601839 --1.5, 2.25, "#NUM!" --0.75, 2.25, "#NUM!" -0, 2.25, 0 -0.75, 2.25, 0.52346523324493 -1.5, 2.25, 2.49003431932572 -2.25, 2.25, 6.20027091141992 -3, 2.25, 11.8446661165724 -3.75, 2.25, 19.5690774636122 -4.5, 2.25, 29.4936251312199 --1.5, 3, -3.375 --0.75, 3, -0.421875 -0, 3, 0 -0.75, 3, 0.421875 -1.5, 3, 3.375 -2.25, 3, 11.390625 -3, 3, 27 -3.75, 3, 52.734375 -4.5, 3, 91.125 --1.5, 3.75, "#NUM!" --0.75, 3.75, "#NUM!" -0, 3.75, 0 -0.75, 3.75, 0.34000064249104 -1.5, 3.75, 4.57448514327484 -2.25, 3.75, 20.9259143260422 -3, 3.75, 61.546690537779 -3.75, 3.75, 142.107583344775 -4.5, 3.75, 281.544421482804 --1.5, 4.5, "#NUM!" --0.75, 4.5, "#NUM!" -0, 4.5, 0 -0.75, 4.5, 0.27401585041617 -1.5, 4.5, 6.20027091141992 -2.25, 4.5, 38.443359375 -3, 4.5, 140.296115413079 -3.75, 4.5, 382.948792776857 -4.5, 4.5, 869.873923380926 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data deleted file mode 100644 index 9ff8b20c4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/PRODUCT.data +++ /dev/null @@ -1,7 +0,0 @@ -5, 15, 30, 2250 -5, 15, 30, 2, 4500 -3, 6, 2, 8, 5, 1440 -3, 4, 12 -3, 4, 4.5, 54 -3, 4, 4.5, -6.78, -366.12 -3, 4, 4.5, -6.78, -2, 732.24 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data deleted file mode 100644 index 16c3aa958..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/QUOTIENT.data +++ /dev/null @@ -1,6 +0,0 @@ -5, 2, 2 -4.5, 3.1, 1 --10, 3, -3 -10, 2.2, 4 -5.5, 2.667, 2 --7, 2, -4 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data deleted file mode 100644 index 69085897b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROMAN.data +++ /dev/null @@ -1,5 +0,0 @@ -49, "XLIX" -50, "L" -2012, "MMXII" -999, "CMXCIX" -499, "CDXCIX" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data deleted file mode 100644 index 7bb42c0c1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDDOWN.data +++ /dev/null @@ -1,14 +0,0 @@ -662.79, 0, 662 -662.79, 1, 662.7 -54.1, -1, 50 -55.1, -1, 50 --23.67, 1, -23.6 -3.2, 0, 3 -3.2, 0.01, 3 -76.9, 0, 76 -3.14159, 3, 3.141 --3.14159, 1, -3.1 -31415.92654, -2, 31400 -31415.92654, -1, 31410 -"ABC", 1, "#VALUE!" -1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data deleted file mode 100644 index ba81e3db1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/ROUNDUP.data +++ /dev/null @@ -1,14 +0,0 @@ -662.79, 0, 663 -662.79, 1, 662.8 -54.1, -1, 60 -55.1, -1, 60 --23.62, 1, -23.7 -3.2, 0, 4 -3.2, 0.01, 4 -76.9, 0, 77 -3.14159, 3, 3.142 --3.14159, 1, -3.2 -31415.92654, -2, 31500 -31415.92654, -1, 31420 -"ABC", 1, "#VALUE!" -1.234, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data deleted file mode 100644 index eb47f6843..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SERIESSUM.data +++ /dev/null @@ -1,2 +0,0 @@ -5, 1, 1, {1|1|1|1|1}, 3905 -2, 1, 2, {1|2|3|4|5}, 3186 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data deleted file mode 100644 index 8494da9e0..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SIGN.data +++ /dev/null @@ -1,13 +0,0 @@ --1.5, -1 --1, -1 --0.5, -1 -0, 0 -0.5, 1 -1, 1 -1.5, 1 -2, 1 -2.5, 1 -"ABC", "#VALUE!" -TRUE, 1 -FALSE, 0 -"-3.5", -1 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data deleted file mode 100644 index fc1ea5253..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SQRTPI.data +++ /dev/null @@ -1,15 +0,0 @@ -"ABC", "#VALUE!" --1.5, "#NUM!" --1, "#NUM!" --0.5, "#NUM!" -0, 0.000000000000000000 -0.5, 1.253314137315500000 -1, 1.772453850905520000 -1.5, 2.170803763674800000 -2, 2.506628274631000000 -2.5, 2.802495608198960000 -3, 3.069980123839470000 -3.5, 3.315957521978270000 -4, 3.544907701811030000 -4.5, 3.759942411946500000 -5, 3.963327297606010000 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data deleted file mode 100644 index 557c5c05e..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/SUMSQ.data +++ /dev/null @@ -1,7 +0,0 @@ -3, 4, 25 -5, 2, 1, 3, 39 -5, 2, 1, 6, 66 -1, 3, 10 -1, 3, 2, 4, 30 -3, 5, 7, 83 -1, 2, 3, 14 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data deleted file mode 100644 index 8c85bddc5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/MathTrig/TRUNC.data +++ /dev/null @@ -1,19 +0,0 @@ -3.14159, 2, 3.14 -3.14159, 3, 3.141 --3.14159, 2, -3.14 --3.14159, 3, -3.141 -31415.92654, 10, 31415.92654 --31415.92654, 10, -31415.92654 -31415.92654, 2, 31415.92 -31415.92654, -2, 31400 -31415.92654, -10, 0 --31415.92654, -10, 0 -12345.6789, -3, 12000 -12345.6789, -2, 12300 -12345.6789, -1, 12340 -12345.6789, 0, 12345 -12345.6789, 1, 12345.6 -12345.6789, 2, 12345.67 -12345.6789, 3, 12345.678 -"ABC", 2, "#VALUE!" -31415.92654, "ABC", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data deleted file mode 100644 index f4cbee5db..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CHAR.data +++ /dev/null @@ -1,5 +0,0 @@ -"ABC", "#VALUE!" --5, "#VALUE!" -65, "A" -123, "{" -126, "~" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data deleted file mode 100644 index 21f0c0d13..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CLEAN.data +++ /dev/null @@ -1,5 +0,0 @@ -"HELLO ", "HELLO " -" HELLO", "HELLO" -"HELLO WORLD", "HELLO WORLD" -TRUE, "TRUE" -NULL, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data deleted file mode 100644 index d251fb6eb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CODE.data +++ /dev/null @@ -1,12 +0,0 @@ -, "#VALUE!" -"", "#VALUE!" -"ABC", 65 -123, 49 -TRUE, 84 -"DEF", 68 -"PHPExcel", 80 -1.5, 49 -"Mark Baker", 77 -"mark baker", 109 -"£125.00", 163 -"Бензин", 1234 \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data deleted file mode 100644 index 7b8984624..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/CONCATENATE.data +++ /dev/null @@ -1,3 +0,0 @@ -"ABCDE", "FGHIJ", "ABCDEFGHIJ" -1, 2, 3, "123" -"Boolean", "-", TRUE, "Boolean-TRUE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data deleted file mode 100644 index aee1b0060..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/DOLLAR.data +++ /dev/null @@ -1,6 +0,0 @@ -123.456, 2, '"$123.46"' -123.321, 2, '"$123.32"' -1234567, -3, '"$1,235,000"' -1234567, -5, '"$1,200,000"' -"ABC", 2, "#NUM!" -123.456, "ABC", "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data deleted file mode 100644 index 411150da4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIND.data +++ /dev/null @@ -1,13 +0,0 @@ -"E", "QWERTYUIOP", 3 -"D", "ABCDEFGHI", 4 -"E", TRUE, 4 -"E", FALSE, 5 -"A", "Mark Baker", "#VALUE!" -"A", "MARK BAKER", 2 -"a", "Mark Baker", 2, 2 -"k", "Mark Baker", 2, 4 -"k", "Mark Baker", 5, 8 -"a", "Mark Baker", 3, 7 -"BITE", "BIT", "#VALUE!" -"", "Mark Baker", 1 -"", "Mark Baker", 8, 8 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data deleted file mode 100644 index cd7d57bb5..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/FIXED.data +++ /dev/null @@ -1,5 +0,0 @@ -123456.789, 2, FALSE, '"123,456.79"' -123456.789, 1, TRUE, '"123456.8"' -123456.789, 2, TRUE, '"123456.79"' -"ABC", 2, NULL, "#NUM!" -123.456, "ABC", NULL, "#NUM!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data deleted file mode 100644 index e76e009cc..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEFT.data +++ /dev/null @@ -1,6 +0,0 @@ -, 1, "" -"", 1, "" -"QWERTYUIOP", -1, "#VALUE!" -"ABCDEFGHI", 3, "ABC" -TRUE, 2, "TR" -FALSE, 2, "FA" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data deleted file mode 100644 index 09676eae7..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LEN.data +++ /dev/null @@ -1,6 +0,0 @@ -, 0 -"", 0 -"AbCdEfGhI", 9 -"MARK BAKER", 10 -TRUE, 4 -FALSE, 5 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data deleted file mode 100644 index 04148f0bd..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/LOWER.data +++ /dev/null @@ -1,4 +0,0 @@ -"AbCdEfGhI", "abcdefghi" -"MARK BAKER", "mark baker" -TRUE, "true" -FALSE, "false" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data deleted file mode 100644 index 5d9b503c8..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/MID.data +++ /dev/null @@ -1,9 +0,0 @@ -, 1, 1, "" -"", 1, 1, "" -"QWERTYUIOP", -1, 1, "#VALUE!" -"QWERTYUIOP", 5, -1, "#VALUE!" -"QWERTYUIOP", 5, "" -"QWERTYUIOP", 8, 20, "IOP" -"ABCDEFGHI", 4, 3, "DEF" -TRUE, 2, 1, "R" -FALSE, 2, 2, "AL" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data deleted file mode 100644 index ca1424945..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/PROPER.data +++ /dev/null @@ -1,3 +0,0 @@ -"MARK BAKER", "Mark Baker" -TRUE, "True" -FALSE, "False" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data deleted file mode 100644 index 7c8f414ba..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/REPLACE.data +++ /dev/null @@ -1,4 +0,0 @@ -"QWERTYUIOP", 3, 3, "DFG", "QWDFGYUIOP" -"QWERTYUIOP", 5, 3, "DFG", "QWERDFGIOP" -"QWERTYUIOP", 3, 0, "DFG", "QWDFGERTYUIOP" -"QWERTYUIOP", 5, 0, "DFG", "QWERDFGTYUIOP" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data deleted file mode 100644 index 02bf33321..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/RIGHT.data +++ /dev/null @@ -1,6 +0,0 @@ -, 1, "" -"", 1, "" -"QWERTYUIOP", -1, "#VALUE!" -"ABCDEFGHI", 3, "GHI" -TRUE, 2, "UE" -FALSE, 2, "SE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data deleted file mode 100644 index 9925e6991..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SEARCH.data +++ /dev/null @@ -1,11 +0,0 @@ -"E", "QWERTYUIOP", 3 -"D", "ABCDEFGHI", 4 -"E", TRUE, 4 -"E", FALSE, 5 -"A", "Mark Baker", 2 -"C", "Mark Baker", "#VALUE!" -"A", "Mark Baker", 3, 7 -"K", "Mark Baker", 4 -"K", "Mark Baker", 5, 8 -"A", "Mark Baker", 2, 2 -"BITE", "BIT", "#VALUE!" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data deleted file mode 100644 index be15c9410..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/SUBSTITUTE.data +++ /dev/null @@ -1,4 +0,0 @@ -"QWERTYUIOP", "ERT", "DFG", "QWDFGYUIOP" -"Mark Baker", "a", "x", "Mxrk Bxker" -"Mark Baker", "a", "x", 1, "Mxrk Baker" -"Mark Baker", "x", "a", 1, "Mark Baker" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data deleted file mode 100644 index 87f67e99d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/T.data +++ /dev/null @@ -1,5 +0,0 @@ -123456.789, NULL -"123456.789", "123456.789" -"Mark Baker", "Mark Baker" -NULL, NULL -TRUE, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data deleted file mode 100644 index da18defa3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TEXT.data +++ /dev/null @@ -1,13 +0,0 @@ -123.456, '"$#,##0.00"', "$123.46" --123.456, '"$#,##0.00"', "$-123.46" -123.456, '"#,##0.00"', "123.46" -123.456, '"#,##0"', "123" -123.456, "00000", "00123" -123456.789, '"$#,##0.00"', '"$123,456.79"' -123456.789, '"#,##0.00"', '"123,456.79"' -123456.789, "0.00E+00", "1.23E05" --123456.789, "0.00E+00", "-1.23E05" -0.000012345, "0.00E+00", "1.23E-05" -"19-Dec-1960", "yyyy-mm-dd", "1960-12-19" -"1-Jan-2012", "yyyy-mm-dd", "2012-01-01" -1.75, "# ?/?", "1 3/4" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data deleted file mode 100644 index ea800963c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/TRIM.data +++ /dev/null @@ -1,7 +0,0 @@ -"HELLO ", "HELLO" -" HELLO", "HELLO" -" HELLO ", "HELLO" -" HELLO", " HELLO" -"HELLO WORLD", "HELLO WORLD" -TRUE, "TRUE" -NULL, NULL diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data deleted file mode 100644 index 8ebf1d129..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/UPPER.data +++ /dev/null @@ -1,4 +0,0 @@ -"AbCdEfGhI", "ABCDEFGHI" -"mark baker", "MARK BAKER" -TRUE, "TRUE" -FALSE, "FALSE" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data deleted file mode 100644 index 505c2915b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Calculation/TextData/VALUE.data +++ /dev/null @@ -1,10 +0,0 @@ -"1000", "1000" -"1 000", "1000" -"$1 000", "1000" -"£1 000", "#VALUE!" -"1.1", "1.1" -"1 000.1", "1000.1" -"13 Monkeys", "#VALUE!" -"1-Jan-2014", "41640" -"12:34:56", "0.524259259259259" -"2:46 AM", "0.11527777777778" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data deleted file mode 100644 index de04cbf79..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CalculationBinaryComparisonOperation.data +++ /dev/null @@ -1,53 +0,0 @@ -# formula, expectedResultExcel, expectedResultOpenOffice -'=TRUE', TRUE, TRUE -'=1 + 2.5', 3.5, 3.5 -'=2.5 + 1', 3.5, 3.5 -'=1 - 2.5', -1.5, -1.5 -'=2.5 - 1', 1.5, 1.5 -'=3 > 1', TRUE, TRUE -'=3 > 3', FALSE, FALSE -'=1 > 3', FALSE, FALSE -'=3 < 1', FALSE, FALSE -'=3 < 3', FALSE, FALSE -'=1 < 3', TRUE, TRUE -'=3 = 1', FALSE, FALSE -'=3 = 3', TRUE, TRUE -'=1 = 1.0', TRUE, TRUE -'=3 >= 1', TRUE, TRUE -'=3 >= 3', TRUE, TRUE -'=1 >= 3', FALSE, FALSE -'=3 <= 1', FALSE, FALSE -'=3 <= 3', TRUE, TRUE -'=1 <= 3', TRUE, TRUE -'=3 <> 1', TRUE, TRUE -'=3 <> 3', FALSE, FALSE -'=1 <> 1.0', FALSE, FALSE -'="a" > "a"', FALSE, FALSE -'="A" > "A"', FALSE, FALSE -'="A" > "a"', FALSE, TRUE -'="a" > "A"', FALSE, FALSE -'="a" < "a"', FALSE, FALSE -'="A" < "A"', FALSE, FALSE -'="A" < "a"', FALSE, FALSE -'="a" < "A"', FALSE, TRUE -'="a" = "a"', TRUE, TRUE -'="A" = "A"', TRUE, TRUE -'="A" = "a"', TRUE, FALSE -'="a" = "A"', TRUE, FALSE -'="a" <= "a"', TRUE, TRUE -'="A" <= "A"', TRUE, TRUE -'="A" <= "a"', TRUE, FALSE -'="a" <= "A"', TRUE, TRUE -'="a" >= "a"', TRUE, TRUE -'="A" >= "A"', TRUE, TRUE -'="A" >= "a"', TRUE, TRUE -'="a" >= "A"', TRUE, FALSE -'="a" <> "a"', FALSE, FALSE -'="A" <> "A"', FALSE, FALSE -'="A" <> "a"', FALSE, TRUE -'="a" <> "A"', FALSE, TRUE -'="A" > "b"', FALSE, TRUE -'="a" > "b"', FALSE, FALSE -'="b" > "a"', TRUE, TRUE -'="b" > "A"', TRUE, FALSE -'="a2" > "a10"', TRUE, TRUE // Test natural sorting is not used diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data deleted file mode 100644 index 446ded6cd..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Cell/DefaultValueBinder.data +++ /dev/null @@ -1,19 +0,0 @@ -NULL, "null" -, "null" -"#NULL!", "e" -FALSE, "b" -TRUE, "b" -"FALSE", "s" -"TRUE", "s" -"", "s" -"ABC", "s" -"123", "n" -123, "n" -0.123, "n" -"-123", "n" -"1.23E4", "n" -"-1.23E4", "n" -"1.23E-4", "n" -"000123", "s" -"=123", "f" -"#DIV/0!", "e" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data deleted file mode 100644 index ad642947d..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteCoordinate.data +++ /dev/null @@ -1,12 +0,0 @@ -"A1", "$A$1" -"A12", "$A$12" -"J1", "$J$1" -"J20", "$J$20" -"AI1", "$AI$1" -"AI2012", "$AI$2012" -"'Worksheet1'!AI256", "'Worksheet1'!$AI$256" -"Worksheet1!AI256", "Worksheet1!$AI$256" -"'Data Worksheet'!AI256", "'Data Worksheet'!$AI$256" -"'Worksheet1'!$AI256", "'Worksheet1'!$AI$256" -"'Worksheet1'!AI$256", "'Worksheet1'!$AI$256" -"'Worksheet1'!$AI$256", "'Worksheet1'!$AI$256" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data deleted file mode 100644 index 8aa314a2b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellAbsoluteReference.data +++ /dev/null @@ -1,16 +0,0 @@ -"A1", "$A$1" -"A12", "$A$12" -"J1", "$J$1" -"J20", "$J$20" -"AI1", "$AI$1" -"AI2012", "$AI$2012" -"'Worksheet1'!AI256", "'Worksheet1'!$AI$256" -"Worksheet1!AI256", "Worksheet1!$AI$256" -"'Data Worksheet'!AI256", "'Data Worksheet'!$AI$256" -"AI", "$AI" -2012, "$2012" -"Worksheet1!AI", "Worksheet1!$AI" -"Worksheet1!256", "Worksheet1!$256" -"'Worksheet1'!$AI256", "'Worksheet1'!$AI$256" -"'Worksheet1'!AI$256", "'Worksheet1'!$AI$256" -"'Worksheet1'!$AI$256", "'Worksheet1'!$AI$256" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data deleted file mode 100644 index 8d6efbffc..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellBuildRange.data +++ /dev/null @@ -1,2 +0,0 @@ -{"B4"|"E9"}, "B4:E9" -{"B4"|"E9";"H2"|"O11"}, '"B4:E9,H2:O11"' diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data deleted file mode 100644 index e64ce5598..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellCoordinates.data +++ /dev/null @@ -1,6 +0,0 @@ -"A1", {"A";1} -"A12", {"A";12} -"J1", {"J";1} -"J20", {"J";20} -"AI1", {"AI";1} -"AI2012", {"AI";2012} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data deleted file mode 100644 index 4b44a83a3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellExtractAllCellReferencesInRange.data +++ /dev/null @@ -1,9 +0,0 @@ -"B4:B6", {"B4";"B5";"B6"} -'"B4:B6,D4:D6"', {"B4";"B5";"B6";"D4";"D5";"D6"} -'"B4:B6 D4:D6"', {"B4";"B5";"B6";"D4";"D5";"D6"} -"B4:D6", {"B4";"B5";"B6";"C4";"C5";"C6";"D4";"D5";"D6"} -'"B4:D6,C5:E7"', {"B4";"B5";"B6";"C4";"C5";"C6";"C7";"D4";"D5";"D6";"D7";"E5";"E6";"E7"} -'"B4:D6 C5:E7"', {"B4";"B5";"B6";"C4";"C5";"C6";"C7";"D4";"D5";"D6";"D7";"E5";"E6";"E7"} -"B2:D4 C5:D5 E3:E5 D6:E6 F4:F6", {"B2";"B3";"B4";"C2";"C3";"C4";"C5";"D2";"D3";"D4";"D5";"D6";"E3";"E4";"E5";"E6";"F4";"F5";"F6"} -"B2:D4 C3:E5 D4:F6", {"B2";"B3";"B4";"C2";"C3";"C4";"C5";"D2";"D3";"D4";"D5";"D6";"E3";"E4";"E5";"E6";"F4";"F5";"F6"} -"B4:B6 B8", {"B4";"B5";"B6";"B8"} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data deleted file mode 100644 index f01a5fd99..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellGetRangeBoundaries.data +++ /dev/null @@ -1,2 +0,0 @@ -"B4:E9", {"B"|4;"E"|9} -"B4", {"B"|4;"B"|4} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data deleted file mode 100644 index 2fca6dc23..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeBoundaries.data +++ /dev/null @@ -1,2 +0,0 @@ -"B4:E9", {2|4;5|9} -"B4", {2|4;2|4} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data deleted file mode 100644 index 1718f1219..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellRangeDimension.data +++ /dev/null @@ -1,2 +0,0 @@ -"B4:E9", {4;6} -"B4", {1;1} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data deleted file mode 100644 index 215fce253..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/CellSplitRange.data +++ /dev/null @@ -1,3 +0,0 @@ -"B4:E9", {"B4"|"E9"} -"B4", {"B4"} -'"B4:E9,H2:O11"', {"B4"|"E9";"H2"|"O11"} diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data deleted file mode 100644 index 9a1679b6b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnIndex.data +++ /dev/null @@ -1,9 +0,0 @@ -0, "A" -25, "Z" -26, "AA" -27, "AB" -51, "AZ" -52, "BA" -701, "ZZ" -702, "AAA" -1378, "BAA" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data deleted file mode 100644 index 5573759eb..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/ColumnString.data +++ /dev/null @@ -1,9 +0,0 @@ -"A", 1 -"Z", 26 -"AA", 27 -"AB", 28 -"AZ", 52 -"BA", 53 -"ZZ", 702 -"AAA", 703 -"BAA", 1379 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml deleted file mode 100644 index 94eaedfc2..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml deleted file mode 100644 index 1d186ff44..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16BE.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml deleted file mode 100644 index c3913f71b..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16LE.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml deleted file mode 100644 index 212003fd4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-8.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<!DOCTYPE root [ - <!ENTITY x0 "DoS"> -]> - -<root> - test: (&x0;) -</root> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml deleted file mode 100644 index 6473fe6b6..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml deleted file mode 100644 index 677e712f9..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16BE.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml deleted file mode 100644 index 64353bfba..000000000 Binary files a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16LE.xml and /dev/null differ diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml deleted file mode 100644 index c400ae88b..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-8.xml +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<root> - test: Valid -</root> \ No newline at end of file diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data deleted file mode 100644 index fc48f21ab..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CentimeterSizeToPixels.data +++ /dev/null @@ -1,5 +0,0 @@ -0.1, 3.7795275591 -0.2, 7.5590551182 -0.5, 18.8976377955 -1.0, 37.795275591 -2.0, 75.590551182 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data deleted file mode 100644 index 68ceda1fe..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/CodePage.data +++ /dev/null @@ -1,43 +0,0 @@ -367, "ASCII" // ASCII -437, "CP437" // OEM US -737, "CP737" // OEM Greek -775, "CP775" // OEM Baltic -850, "CP850" // OEM Latin I -852, "CP852" // OEM Latin II (Central European) -855, "CP855" // OEM Cyrillic -857, "CP857" // OEM Turkish -858, "CP858" // OEM Multilingual Latin I with Euro -860, "CP860" // OEM Portugese -861, "CP861" // OEM Icelandic -862, "CP862" // OEM Hebrew -863, "CP863" // OEM Canadian (French) -864, "CP864" // OEM Arabic -865, "CP865" // OEM Nordic -866, "CP866" // OEM Cyrillic (Russian) -869, "CP869" // OEM Greek (Modern) -874, "CP874" // ANSI Thai -932, "CP932" // ANSI Japanese Shift-JIS -936, "CP936" // ANSI Chinese Simplified GBK -949, "CP949" // ANSI Korean (Wansung) -950, "CP950" // ANSI Chinese Traditional BIG5 -1200, "UTF-16LE" // UTF-16 (BIFF8) -1250, "CP1250" // ANSI Latin II (Central European) -1251, "CP1251" // ANSI Cyrillic -0, "CP1252" // ANSI Latin I (BIFF4-BIFF7) -1252, "CP1252" // ANSI Latin I (BIFF4-BIFF7) -1253, "CP1253" // ANSI Greek -1254, "CP1254" // ANSI Turkish -1255, "CP1255" // ANSI Hebrew -1256, "CP1256" // ANSI Arabic -1257, "CP1257" // ANSI Baltic -1258, "CP1258" // ANSI Vietnamese -1361, "CP1361" // ANSI Korean (Johab) -10000, "MAC" // Apple Roman -10006, "MACGREEK" // Macintosh Greek -10007, "MACCYRILLIC" // Macintosh Cyrillic -10029, "MACCENTRALEUROPE" // Macintosh Central Europe -10079, "MACICELAND" // Macintosh Icelandic -10081, "MACTURKISH" // Macintosh Turkish -32768, "MAC" // Apple Roman -65000, "UTF-7" // Unicode (UTF-7) -65001, "UTF-8" // Unicode (UTF-8) diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data deleted file mode 100644 index d348b0aa4..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900.data +++ /dev/null @@ -1,15 +0,0 @@ -#Excel DateTimeStamp Result Comments -714, -2147472000 // PHP 32-bit Earliest Date 14-Dec-1901 -1461, -2082931200 // 31-Dec-1903 -1462, -2082844800 // Excel 1904 Calendar Base Date 01-Jan-1904 -1463, -2082758400 // 02-Jan-1904 -22269, -285120000 // 19-Dec-1960 -25569, 0 // PHP Base Date 01-Jan-1970 -30292, 408067200 // 07-Dec-1982 -39611, 1213228800 // 12-Jun-2008 -50424, 2147472000 // PHP 32-bit Latest Date 19-Jan-2038 -1234.56789, -2102494934 // 18-May-1903 13:37:46 -12345.6789, -1142494943 // 18-Oct-1933 16:17:37 -0.5, 43200 // 12:00:00 -0.75, 64800 // 18:00.00 -0.12345, 10666 // 02:57:46 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data deleted file mode 100644 index e106b5fe1..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1900Timezone.data +++ /dev/null @@ -1,23 +0,0 @@ -#Excel DateTimeStamp Adjust Timezone Result Comments -22269, TRUE, 'America/New_York', -285138000 // 19-Dec-1960 00:00:00 UST -25569, TRUE, 'America/New_York', -18000 // PHP Base Date 01-Jan-1970 00:00:00 UST -30292, TRUE, 'America/New_York', 408049200 // 07-Dec-1982 00:00:00 UST -39611, TRUE, 'America/New_York', 1213214400 // 12-Jun-2008 00:00:00 UST -50424, TRUE, 'America/New_York', 2147454000 // PHP 32-bit Latest Date 19-Jan-2038 00:00:00 UST -22345.56789, TRUE, 'America/New_York', -278522534 // 18-May-1903 13:37:46 UST -22345.6789, TRUE, 'America/New_York', -278512943 // 18-Oct-1933 16:17:37 UST -0.5, TRUE, 'America/New_York', 25200 // 12:00:00 UST -0.75, TRUE, 'America/New_York', 46800 // 18:00.00 UST -0.12345, TRUE, 'America/New_York', -7334 // 02:57:46 UST -41215, TRUE, 'America/New_York', 1351800000 // 02-Nov-2012 00:00:00 UST -22269, TRUE, 'Pacific/Auckland', -285076800 // 19-Dec-1960 00:00:00 UST -25569, TRUE, 'Pacific/Auckland', 43200 // PHP Base Date 01-Jan-1970 00:00:00 UST -30292, TRUE, 'Pacific/Auckland', 408114000 // 07-Dec-1982 00:00:00 UST -39611, TRUE, 'Pacific/Auckland', 1213272000 // 12-Jun-2008 00:00:00 UST -50423.5, TRUE, 'Pacific/Auckland', 2147475600 // PHP 32-bit Latest Date 19-Jan-2038 00:00:00 UST -22345.56789, TRUE, 'Pacific/Auckland', -278461334 // 18-May-1903 13:37:46 UST -22345.6789, TRUE, 'Pacific/Auckland', -278451743 // 18-Oct-1933 16:17:37 UST -0.5, TRUE, 'Pacific/Auckland', 90000 // 12:00:00 UST -0.75, TRUE, 'Pacific/Auckland', 111600 // 18:00.00 UST -0.12345, TRUE, 'Pacific/Auckland', 57466 // 02:57:46 UST -41215, TRUE, 'Pacific/Auckland', 1351861200 // 02-Nov-2012 00:00:00 UST diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data deleted file mode 100644 index 5501ad17c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeExcelToPHP1904.data +++ /dev/null @@ -1,10 +0,0 @@ -#Excel DateTimeStamp Result -1462, -1956528000 -1463, -1956441600 -22269, -158803200 -25569, 126316800 -30292, 534384000 -39611, 1339545600 -0.25, 21600 // 06:00:00 -0.3333333333333333333, 28800 // 08:00.00 -0.54321, 46933 // 02:57:46 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data deleted file mode 100644 index 734204704..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormatCodes.data +++ /dev/null @@ -1,37 +0,0 @@ -#Excel Format Code Result -"General", FALSE -"@", FALSE -"0", FALSE -"0.00", FALSE -"#,##0.00", FALSE -"#,##0.00_-", FALSE -"0%", FALSE -"0.00%", FALSE -"yyyy-mm-dd", TRUE -"yy-mm-dd", TRUE -"dd/mm/yy", TRUE -"d/m/y", TRUE -"d-m-y", TRUE -"d-m", TRUE -"m-y", TRUE -"mm-dd-yy", TRUE -"d-mmm-yy", TRUE -"d-mmm", TRUE -"mmm-yy", TRUE -"m/d/yy h:mm", TRUE -"d/m/y h:mm", TRUE -"h:mm AM/PM", TRUE -"h:mm:ss AM/PM", TRUE -"h:mm", TRUE -"h:mm:ss", TRUE -"mm:ss", TRUE -"h:mm:ss", TRUE -"i:s.S", TRUE -"h:mm:ss;@", TRUE -"yy/mm/dd;@", TRUE -"\"$\"#,##0.00_-", FALSE -"$#,##0_-", FALSE -"[$EUR ]#,##0.00_-", FALSE -"_[$EUR ]#,##0.00_-", FALSE -"[Green]#,##0.00;[Red]#,##0.00_-", FALSE -"#,##0.00 \"dollars\"", FALSE diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data deleted file mode 100644 index bb6ed3f42..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimeFormattedPHPToExcel1900.data +++ /dev/null @@ -1,12 +0,0 @@ -#Year Month Day Hours Minutes Seconds Result Comments -1901, 12, 14, 714 // PHP 32-bit Earliest Date 14-Dec-1901 -1903, 12, 31, 1461 // 31-Dec-1903 -1904, 1, 1, 1462 // Excel 1904 Calendar Base Date 01-Jan-1904 -1904, 1, 2, 1463 // 02-Jan-1904 -1960, 12, 19, 22269 // 19-Dec-1960 -1970, 1, 1, 25569 // PHP Base Date 01-Jan-1970 -1982, 12, 7, 30292 // 07-Dec-1982 -2008, 6, 12, 39611 // 12-Jun-2008 -2038, 1, 19, 50424 // PHP 32-bit Latest Date 19-Jan-2038 -1903, 5, 18, 13, 37, 46, 1234.56789 // 18-May-1903 13:37:46 -1933, 10, 18, 16, 17, 37, 12345.6789 // 18-Oct-1933 16:17:37 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data deleted file mode 100644 index dc6a9d909..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1900.data +++ /dev/null @@ -1,12 +0,0 @@ -#Excel DateTimeStamp Result Comments --2147472000, 714 // PHP 32-bit Earliest Date 14-Dec-1901 --2082931200, 1461 // 31-Dec-1903 --2082844800, 1462 // Excel 1904 Calendar Base Date 01-Jan-1904 --2082758400, 1463 // 02-Jan-1904 --285120000, 22269 // 19-Dec-1960 -0, 25569 // PHP Base Date 01-Jan-1970 -408067200, 30292 // 07-Dec-1982 -1213228800, 39611 // 12-Jun-2008 -2147472000, 50424 // PHP 32-bit Latest Date 19-Jan-2038 --2102494934, 1234.56789 // 18-May-1903 13:37:46 --1142494943, 12345.6789 // 18-Oct-1933 16:17:37 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data deleted file mode 100644 index 98fa49514..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/DateTimePHPToExcel1904.data +++ /dev/null @@ -1,7 +0,0 @@ -#Excel DateTimeStamp Result --1956528000, 1462 --1956441600, 1463 --158803200, 22269 -126316800, 25569 -534384000, 30292 -1339545600, 39611 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data deleted file mode 100644 index af89196d3..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/FontSizeToPixels.data +++ /dev/null @@ -1,16 +0,0 @@ -6, 8 -7, 9 -8, 10 -9, 12 -10, 13 -11, 14 -12, 16 -14, 18 -16, 21 -18, 24 -20, 26 -22, 29 -24, 32 -36, 48 -48, 64 -60, 80 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data deleted file mode 100644 index 147eaa989..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/InchSizeToPixels.data +++ /dev/null @@ -1,5 +0,0 @@ -0.1, 9.6 -0.2, 19.2 -0.5, 48.0 -1.0, 96.0 -2.0, 192.0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data deleted file mode 100644 index c68468126..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Shared/PasswordHashes.data +++ /dev/null @@ -1,9 +0,0 @@ -"PHPExcel", "8053" -"Mark Baker", "877D" -"!+&=()~§±æþ", "C0EA" -"μυστικό κωδικό πρόσβασης", "FFFF26DD" -"গোপন পাসওয়ার্ড", "E858" -"Секретный пароль", "EA5F" -"秘密口令", "C07E" -"leyndarmál lykilorð", "99E8" -"", "CE4B" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data deleted file mode 100644 index de5eeaf5f..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorChangeBrightness.data +++ /dev/null @@ -1,14 +0,0 @@ -"FFAABBCC", 0.1, "FFB2C1D1" // RGBA -"FFAABBCC", -0.1, "FF99A8B7" // RGBA -"AABBCC", 0.1, "B2C1D1" // RGB -"AABBCC", -0.1, "99A8B7" // RGB -"FF0000", 0.1, "FF1919" -"FF0000", -0.1, "E50000" -"FF8080", 0.1, "FF8C8C" -"FF8080", -0.1, "E57373" -"FF0000", 0.15, "FF2626" -"FF0000", -0.15, "D80000" -"FF8080", 0.15, "FF9393" -"FF8080", -0.15, "D86C6C" -"FFF008", 0.5, "FFF783" -"FFF008", -0.5, "7F7804" diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data deleted file mode 100644 index 4e01d1c7c..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetBlue.data +++ /dev/null @@ -1,6 +0,0 @@ -"FFAABBCC", "CC" // RGBA (hex) -"FFAABBCC", FALSE, 204 // RGBA (decimal) -"AABBCC", "CC" // RGB (hex) -"AABBCC", FALSE, 204 // RGB (decimal) -"FFFF00", "00" -"FFFF00", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data deleted file mode 100644 index 0ace61034..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetGreen.data +++ /dev/null @@ -1,6 +0,0 @@ -"FFAABBCC", "BB" // RGBA (hex) -"FFAABBCC", FALSE, 187 // RGBA (decimal) -"AABBCC", "BB" // RGB (hex) -"AABBCC", FALSE, 187 // RGB (decimal) -"FF00FF", "00" -"FF00FF", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data deleted file mode 100644 index 1692a6ad7..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/ColorGetRed.data +++ /dev/null @@ -1,6 +0,0 @@ -"FFAABBCC", "AA" // RGBA (hex) -"FFAABBCC", FALSE, 170 // RGBA (decimal) -"AABBCC", "AA" // RGB (hex) -"AABBCC", FALSE, 170 // RGB (decimal) -"00FFFF", "00" -"00FFFF", FALSE, 0 diff --git a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data b/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data deleted file mode 100644 index 49acaccfc..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/rawTestData/Style/NumberFormat.data +++ /dev/null @@ -1,37 +0,0 @@ -# value format result -0.0, "0.0", "0.0" -0.0, "0", "0" -0, "0.0", "0.0" -0, "0", "0" -0, "##0", "000" -12, "#.0#", "12.0" -0.1, "0.0", "0.1" -0.1, "0", "0" -5.5555, "0.###", "5.556" -5.5555, "0.0##", "5.556" -5.5555, "0.00#", "5.556" -5.5555, "0.000", "5.556" -5.5555, "0.0000", "5.5555" -12345.6789, '"#,##0.00"', '"12,345.68"' -12345.6789, '"#,##0.000"', '"12,345.679"' -12345.6789, '"£ #,##0.00"', '"£ 12,345.68"' -12345.6789, '"$ #,##0.000"', '"$ 12,345.679"' -5.6789, '"#,##0.00"', '"5.68"' -12000, '"#,###"', '"12,000"' -12000, '"#,"', '12' -12200000, '"0.0,,"', '12.2' // Scaling test -0.08, "0%", "8%" -0.8, "0%", "80%" -2.8, "0%", "280%" -125.74, '$0.00" Surplus";$-0.00" Shortage"', "$125.74 Surplus" --125.74, '$0.00" Surplus";$-0.00" Shortage"', "$-125.74 Shortage" --125.74, '$0.00" Surplus";$0.00" Shortage"', "$125.74 Shortage" -5.25, '# ???/???', "5 1/4" // Fraction -5.3, '# ???/???', "5 3/10" // Vulgar Fraction -5.25, '???/???', "21/4" -123456789, '(000) 0-0000-000', "(001) 2-3456-789" -123456789, '0 (+00) 0000 00 00 00', "0 (+00) 0123 45 67 89" -123456789, '0000:00:00', "12345:67:89" --123456789, '0000:00:00', "-12345:67:89" -1234567.89, '0000:00.00', "12345:67.89" --1234567.89,'0000:00.00', "-12345:67.89" diff --git a/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php b/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php deleted file mode 100644 index a092cd593..000000000 --- a/vendor/phpoffice/phpexcel/unitTests/testDataFileIterator.php +++ /dev/null @@ -1,131 +0,0 @@ -<?php - -class testDataFileIterator implements Iterator -{ - - protected $file; - protected $key = 0; - protected $current; - - public function __construct($file) - { - $this->file = fopen($file, 'r'); - } - - public function __destruct() - { - fclose($this->file); - } - - public function rewind() - { - rewind($this->file); - $this->current = $this->_parseNextDataset(); - $this->key = 0; - } - - public function valid() - { - return !feof($this->file); - } - - public function key() - { - return $this->key; - } - - public function current() - { - return $this->current; - } - - public function next() - { - $this->current = $this->_parseNextDataset(); - $this->key++; - } - - private function _parseNextDataset() - { - // Read a line of test data from the file - do { - // Only take lines that contain test data and that aren't commented out - $testDataRow = trim(fgets($this->file)); - } while (($testDataRow > '') && ($testDataRow{0} === '#')); - - // Discard any comments at the end of the line - list($testData) = explode('//',$testDataRow); - - // Split data into an array of individual values and a result - $dataSet = $this->_getcsv($testData, ',', "'"); - foreach($dataSet as &$dataValue) { - $dataValue = $this->_parseDataValue($dataValue); - } - unset($dataValue); - - return $dataSet; - } - - private function _getcsv($input, $delimiter, $enclosure) - { - if (function_exists('str_getcsv')) { - return str_getcsv($input, $delimiter, $enclosure); - } - - $temp = fopen('php://memory', 'rw'); - fwrite($temp, $input); - rewind($temp); - $data = fgetcsv($temp, strlen($input), $delimiter, $enclosure); - fclose($temp); - - if ($data === false) { - $data = array(null); - } - - return $data; - } - - private function _parseDataValue($dataValue) { - // discard any white space - $dataValue = trim($dataValue); - // test for the required datatype and convert accordingly - if (!is_numeric($dataValue)) { - if($dataValue == '') { - $dataValue = NULL; - } elseif($dataValue == '""') { - $dataValue = ''; - } elseif(($dataValue[0] == '"') && ($dataValue[strlen($dataValue)-1] == '"')) { - $dataValue = substr($dataValue,1,-1); - } elseif(($dataValue[0] == '{') && ($dataValue[strlen($dataValue)-1] == '}')) { - $dataValue = explode(';',substr($dataValue,1,-1)); - foreach($dataValue as &$dataRow) { - if (strpos($dataRow,'|') !== FALSE) { - $dataRow = explode('|',$dataRow); - foreach($dataRow as &$dataCell) { - $dataCell = $this->_parseDataValue($dataCell); - } - unset($dataCell); - } else { - $dataRow = $this->_parseDataValue($dataRow); - } - } - unset($dataRow); - } else { - switch (strtoupper($dataValue)) { - case 'NULL' : $dataValue = NULL; break; - case 'TRUE' : $dataValue = TRUE; break; - case 'FALSE' : $dataValue = FALSE; break; - } - } - } else { - if (strpos($dataValue,'.') !== FALSE) { - $dataValue = (float) $dataValue; - } else { - $dataValue = (int) $dataValue; - } - } - - return $dataValue; - } - -} diff --git a/vendor/phpspec/phpspec/CHANGES-v4.md b/vendor/phpspec/phpspec/CHANGES-v4.md index 3e6bc5f1e..ee5423dd1 100644 --- a/vendor/phpspec/phpspec/CHANGES-v4.md +++ b/vendor/phpspec/phpspec/CHANGES-v4.md @@ -1,3 +1,8 @@ +4.3.2 / 2018-09-24 +================== + +* [fixed] Better error message when trying to call method on scalar return type (@ciaranmcnulty) + 4.3.1 / 2018-07-02 ================== diff --git a/vendor/phpspec/phpspec/CHANGES.md b/vendor/phpspec/phpspec/CHANGES.md deleted file mode 100644 index 353b6dd74..000000000 --- a/vendor/phpspec/phpspec/CHANGES.md +++ /dev/null @@ -1 +0,0 @@ -CHANGES-v4.md \ No newline at end of file diff --git a/vendor/phpspec/phpspec/CHANGES.md b/vendor/phpspec/phpspec/CHANGES.md new file mode 120000 index 000000000..353b6dd74 --- /dev/null +++ b/vendor/phpspec/phpspec/CHANGES.md @@ -0,0 +1 @@ +CHANGES-v4.md \ No newline at end of file diff --git a/vendor/phpspec/phpspec/bin/phpspec b/vendor/phpspec/phpspec/bin/phpspec old mode 100644 new mode 100755 index 3f55bde6e..f6c202a78 --- a/vendor/phpspec/phpspec/bin/phpspec +++ b/vendor/phpspec/phpspec/bin/phpspec @@ -24,4 +24,4 @@ (new PhpSpec\Console\Application($version))->run(); -})('4.3.1'); +})('4.3.2'); diff --git a/vendor/phpspec/phpspec/features/bootstrap/ApplicationContext.php b/vendor/phpspec/phpspec/features/bootstrap/ApplicationContext.php index b3ecc7cb6..505f8274c 100644 --- a/vendor/phpspec/phpspec/features/bootstrap/ApplicationContext.php +++ b/vendor/phpspec/phpspec/features/bootstrap/ApplicationContext.php @@ -192,6 +192,24 @@ class ApplicationContext implements Context } } + /** + * @Then I should see the error that :methodCall was not expected on :class + */ + public function iShouldSeeTheErrorThatWasNotExpectedOn($methodCall, $class) + { + $this->checkApplicationOutput((string)$methodCall); + $this->checkApplicationOutput((string)$this->normalize($class)); + + $output = $this->tester->getDisplay(); + + $containsOldProphecyMessage = strpos($output, 'was not expected') !== false; + $containsNewProphecyMessage = strpos($output, 'Unexpected method call') !== false; + + if (!$containsOldProphecyMessage && !$containsNewProphecyMessage) { + throw new \Exception('Was expecting error message about an unexpected method call'); + } + } + /** * @Then I should not be prompted for code generation */ diff --git a/vendor/phpspec/phpspec/features/formatter/developer_is_shown_diffs.feature b/vendor/phpspec/phpspec/features/formatter/developer_is_shown_diffs.feature index e4b7448e2..8432b2f67 100644 --- a/vendor/phpspec/phpspec/features/formatter/developer_is_shown_diffs.feature +++ b/vendor/phpspec/phpspec/features/formatter/developer_is_shown_diffs.feature @@ -392,13 +392,7 @@ Feature: Developer is shown diffs } """ When I run phpspec with the "verbose" option - Then I should see: - """ - method call: - - methodTwo("value") - on Double\Diffs\DiffExample7\ClassBeingMocked\P13 was not expected, expected calls were: - - methodOne(exact("value")) - """ + Then I should see the error that 'methodTwo("value")' was not expected on "Double\Diffs\DiffExample7\ClassBeingMocked\P13" Scenario: Unexpected method call when another prophecy for that call with not matching arguments exists Given the spec file "spec/Diffs/DiffExample8/ClassUnderSpecificationSpec.php" contains: @@ -456,14 +450,7 @@ Feature: Developer is shown diffs } """ When I run phpspec with the "verbose" option - Then I should see: - """ - method call: - - methodTwo("another value") - on Double\Diffs\DiffExample8\ClassBeingMocked\P14 was not expected, expected calls were: - - methodTwo(exact("value")) - - methodOne(exact("another value")) - """ + Then I should see the error that 'methodTwo("another value")' was not expected on "Double\Diffs\DiffExample8\ClassBeingMocked\P14" Scenario: Array diffing with long strings Given the spec file "spec/Diffs/DiffExample9/ClassWithArraysSpec.php" contains: diff --git a/vendor/phpspec/phpspec/src/PhpSpec/Wrapper/Subject/Caller.php b/vendor/phpspec/phpspec/src/PhpSpec/Wrapper/Subject/Caller.php index d9a68339d..8ce83d504 100644 --- a/vendor/phpspec/phpspec/src/PhpSpec/Wrapper/Subject/Caller.php +++ b/vendor/phpspec/phpspec/src/PhpSpec/Wrapper/Subject/Caller.php @@ -87,7 +87,7 @@ class Caller */ public function call(string $method, array $arguments = array()): Subject { - if (null === $this->getWrappedObject()) { + if (!is_object($this->getWrappedObject())) { throw $this->callingMethodOnNonObject($method); } diff --git a/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md b/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md index 76a434585..33392505b 100644 --- a/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md +++ b/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md @@ -1 +1 @@ -Please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) for details on how to contribute to this project. +Please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/.github/CONTRIBUTING.md) for details on how to contribute to this project. diff --git a/vendor/phpunit/php-code-coverage/.php_cs.dist b/vendor/phpunit/php-code-coverage/.php_cs.dist index 459240eb4..59495cf0a 100644 --- a/vendor/phpunit/php-code-coverage/.php_cs.dist +++ b/vendor/phpunit/php-code-coverage/.php_cs.dist @@ -12,10 +12,14 @@ return PhpCsFixer\Config::create() ->setRiskyAllowed(true) ->setRules( [ + 'align_multiline_comment' => true, + 'array_indentation' => true, 'array_syntax' => ['syntax' => 'short'], 'binary_operator_spaces' => [ - 'align_double_arrow' => true, - 'align_equals' => true + 'operators' => [ + '=' => 'align', + '=>' => 'align', + ], ], 'blank_line_after_namespace' => true, 'blank_line_before_statement' => [ @@ -41,7 +45,9 @@ return PhpCsFixer\Config::create() ], 'braces' => true, 'cast_spaces' => true, - 'class_attributes_separation' => ['elements' => ['method']], + 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], + 'combine_consecutive_issets' => true, + 'combine_consecutive_unsets' => true, 'compact_nullable_typehint' => true, 'concat_space' => ['spacing' => 'one'], 'declare_equal_normalize' => ['space' => 'none'], @@ -52,19 +58,28 @@ return PhpCsFixer\Config::create() 'function_declaration' => true, 'header_comment' => ['header' => $header, 'separate' => 'none'], 'indentation_type' => true, + 'is_null' => true, 'line_ending' => true, 'list_syntax' => ['syntax' => 'short'], + 'logical_operators' => true, 'lowercase_cast' => true, 'lowercase_constants' => true, 'lowercase_keywords' => true, + 'lowercase_static_reference' => true, 'magic_constant_casing' => true, 'method_argument_space' => ['ensure_fully_multiline' => true], 'modernize_types_casting' => true, + 'multiline_comment_opening_closing' => true, + 'multiline_whitespace_before_semicolons' => true, + 'native_constant_invocation' => true, 'native_function_casing' => true, 'native_function_invocation' => true, + 'new_with_braces' => false, 'no_alias_functions' => true, + 'no_alternative_syntax' => true, 'no_blank_lines_after_class_opening' => true, 'no_blank_lines_after_phpdoc' => true, + 'no_blank_lines_before_namespace' => true, 'no_closing_tag' => true, 'no_empty_comment' => true, 'no_empty_phpdoc' => true, @@ -74,13 +89,16 @@ return PhpCsFixer\Config::create() 'no_leading_import_slash' => true, 'no_leading_namespace_whitespace' => true, 'no_mixed_echo_print' => ['use' => 'print'], + 'no_multiline_whitespace_around_double_arrow' => true, 'no_null_property_initialization' => true, + 'no_php4_constructor' => true, 'no_short_bool_cast' => true, 'no_short_echo_tag' => true, 'no_singleline_whitespace_before_semicolons' => true, 'no_spaces_after_function_name' => true, 'no_spaces_inside_parenthesis' => true, 'no_superfluous_elseif' => true, + 'no_superfluous_phpdoc_tags' => true, 'no_trailing_comma_in_list_call' => true, 'no_trailing_comma_in_singleline_array' => true, 'no_trailing_whitespace' => true, @@ -89,8 +107,10 @@ return PhpCsFixer\Config::create() 'no_unneeded_curly_braces' => true, 'no_unneeded_final_method' => true, 'no_unreachable_default_argument_value' => true, + 'no_unset_on_property' => true, 'no_unused_imports' => true, 'no_useless_else' => true, + 'no_useless_return' => true, 'no_whitespace_before_comma_in_array' => true, 'no_whitespace_in_blank_line' => true, 'non_printable_character' => true, @@ -135,13 +155,17 @@ return PhpCsFixer\Config::create() 'phpdoc_single_line_var_spacing' => true, 'phpdoc_to_comment' => true, 'phpdoc_trim' => true, + 'phpdoc_trim_consecutive_blank_line_separation' => true, 'phpdoc_types' => true, 'phpdoc_types_order' => true, 'phpdoc_var_without_name' => true, 'pow_to_exponentiation' => true, 'protected_to_private' => true, + 'return_assignment' => true, 'return_type_declaration' => ['space_before' => 'none'], 'self_accessor' => true, + 'semicolon_after_instruction' => true, + 'set_type_to_cast' => true, 'short_scalar_cast' => true, 'simplified_null_return' => true, 'single_blank_line_at_eof' => true, @@ -150,10 +174,11 @@ return PhpCsFixer\Config::create() 'single_quote' => true, 'standardize_not_equals' => true, 'ternary_to_null_coalescing' => true, + 'trailing_comma_in_multiline_array' => true, 'trim_array_spaces' => true, 'unary_operator_spaces' => true, 'visibility_required' => true, - //'void_return' => true, + 'void_return' => true, 'whitespace_after_comma_in_array' => true, ] ) @@ -161,5 +186,4 @@ return PhpCsFixer\Config::create() PhpCsFixer\Finder::create() ->files() ->in(__DIR__ . '/src') - ->name('*.php') ); diff --git a/vendor/phpunit/php-code-coverage/.travis.yml b/vendor/phpunit/php-code-coverage/.travis.yml index 5ddff2913..e881f45cd 100644 --- a/vendor/phpunit/php-code-coverage/.travis.yml +++ b/vendor/phpunit/php-code-coverage/.travis.yml @@ -5,6 +5,7 @@ sudo: false php: - 7.1 - 7.2 + - 7.3 - master matrix: diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md b/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md deleted file mode 100644 index 353b6f650..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md +++ /dev/null @@ -1,56 +0,0 @@ -# Changes in PHP_CodeCoverage 2.2 - -All notable changes of the PHP_CodeCoverage 2.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [2.2.4] - 2015-10-06 - -### Fixed - -* Fixed [#391](https://github.com/sebastianbergmann/php-code-coverage/pull/391): Missing `</abbr>` tag - -## [2.2.3] - 2015-09-14 - -### Fixed - -* Fixed [#368](https://github.com/sebastianbergmann/php-code-coverage/pull/368): Blacklists and whitelists are not merged when merging data sets -* Fixed [#370](https://github.com/sebastianbergmann/php-code-coverage/issues/370): Confusing statistics for source file that declares a class without methods -* Fixed [#372](https://github.com/sebastianbergmann/php-code-coverage/pull/372): Nested classes and functions are not handled correctly -* Fixed [#382](https://github.com/sebastianbergmann/php-code-coverage/issues/382): Crap4J report generates incorrect XML logfile - -## [2.2.2] - 2015-08-04 - -### Added - -* Reintroduced the `PHP_CodeCoverage_Driver_HHVM` driver as an extension of `PHP_CodeCoverage_Driver_Xdebug` that does not use `xdebug_start_code_coverage()` with options not supported by HHVM - -### Changed - -* Bumped required version of `sebastian/environment` to 1.3.2 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365) - -## [2.2.1] - 2015-08-02 - -### Changed - -* Bumped required version of `sebastian/environment` to 1.3.1 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365) - -## [2.2.0] - 2015-08-01 - -### Added - -* Added a driver for PHPDBG (requires PHP 7) -* Added `PHP_CodeCoverage::setDisableIgnoredLines()` to disable the ignoring of lines using annotations such as `@codeCoverageIgnore` - -### Changed - -* Annotating a method with `@deprecated` now has the same effect as annotating it with `@codeCoverageIgnore` - -### Removed - -* The dedicated driver for HHVM, `PHP_CodeCoverage_Driver_HHVM` has been removed - -[2.2.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.3...2.2.4 -[2.2.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.2...2.2.3 -[2.2.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.1...2.2.2 -[2.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.0...2.2.1 -[2.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.1...2.2.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-3.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-3.0.md deleted file mode 100644 index a39fa8d47..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-3.0.md +++ /dev/null @@ -1,31 +0,0 @@ -# Changes in PHP_CodeCoverage 3.0 - -All notable changes of the PHP_CodeCoverage 3.0 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.0.2] - 2015-11-12 - -### Changed - -* It is now optional that `@deprecated` code is ignored - -## [3.0.1] - 2015-10-06 - -### Fixed - -* Fixed [#391](https://github.com/sebastianbergmann/php-code-coverage/pull/391): Missing `</abbr>` tag - -## [3.0.0] - 2015-10-02 - -### Changed - -* It is now mandatory to configure a whitelist - -### Removed - -* The blacklist functionality has been removed -* PHP_CodeCoverage is no longer supported on PHP 5.3, PHP 5.4, and PHP 5.5 - -[3.0.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.0.1...3.0.2 -[3.0.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.0.0...3.0.1 -[3.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2...3.0.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-3.1.md b/vendor/phpunit/php-code-coverage/ChangeLog-3.1.md deleted file mode 100644 index f7a0de904..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-3.1.md +++ /dev/null @@ -1,30 +0,0 @@ -# Changes in PHP_CodeCoverage 3.1 - -All notable changes of the PHP_CodeCoverage 3.1 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.1.1] - 2016-02-04 - -### Changed - -* Allow version 2.0.x of `sebastian/version` dependency - -## [3.1.0] - 2016-01-11 - -### Added - -* Implemented [#234](https://github.com/sebastianbergmann/php-code-coverage/issues/234): Optionally raise an exception when a specified unit of code is not executed - -### Changed - -* The Clover XML report now contains cyclomatic complexity information -* The Clover XML report now contains method visibility information -* Cleanup and refactoring of various areas of code -* Added missing test cases - -### Removed - -* The functionality controlled by the `mapTestClassNameToCoveredClassName` setting has been removed - -[3.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.1.0...3.1.1 -[3.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.0...3.1.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-3.2.md b/vendor/phpunit/php-code-coverage/ChangeLog-3.2.md deleted file mode 100644 index 34c65cf49..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-3.2.md +++ /dev/null @@ -1,23 +0,0 @@ -# Changes in PHP_CodeCoverage 3.2 - -All notable changes of the PHP_CodeCoverage 3.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.2.1] - 2016-02-18 - -### Changed - -* Updated dependency information in `composer.json` - -## [3.2.0] - 2016-02-13 - -### Added - -* Added optional check for missing `@covers` annotation when the usage of `@covers` annotations is forced - -### Changed - -* Improved `PHP_CodeCoverage_UnintentionallyCoveredCodeException` message - -[3.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.2.0...3.2.1 -[3.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.1...3.2.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-3.3.md b/vendor/phpunit/php-code-coverage/ChangeLog-3.3.md deleted file mode 100644 index 2cf15229e..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-3.3.md +++ /dev/null @@ -1,33 +0,0 @@ -# Changes in PHP_CodeCoverage 3.3 - -All notable changes of the PHP_CodeCoverage 3.3 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [3.3.3] - 2016-MM-DD - -### Fixed - -* Fixed [#438](https://github.com/sebastianbergmann/php-code-coverage/issues/438): Wrong base directory for Clover reports - -## [3.3.2] - 2016-05-25 - -### Changed - -* The constructor of `PHP_CodeCoverage_Report_Text` now has default values for its parameters - -## [3.3.1] - 2016-04-08 - -### Fixed - -* Fixed handling of lines that contain `declare` statements - -## [3.3.0] - 2016-03-03 - -### Added - -* Added support for whitelisting classes for the unintentionally covered code unit check - -[3.3.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.3.2...3.3.3 -[3.3.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.3.1...3.3.2 -[3.3.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.3.0...3.3.1 -[3.3.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.2...3.3.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-4.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-4.0.md deleted file mode 100644 index 30df01027..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-4.0.md +++ /dev/null @@ -1,67 +0,0 @@ -# Changes in PHP_CodeCoverage 4.0 - -All notable changes of the PHP_CodeCoverage 4.0 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [4.0.8] - 2017-04-02 - -* Fixed [#515](https://github.com/sebastianbergmann/php-code-coverage/pull/515): Wrong use of recursive iterator causing duplicate entries in XML coverage report - -## [4.0.7] - 2017-03-01 - -### Changed - -* Cleaned up requirements in `composer.json` - -## [4.0.6] - 2017-02-23 - -### Changed - -* Added support for `phpunit/php-token-stream` 2.0 -* Updated HTML report assets - -## [4.0.5] - 2017-01-20 - -### Fixed - -* Fixed formatting of executed lines percentage for classes in file view - -## [4.0.4] - 2016-12-20 - -### Changed - -* Implemented [#432](https://github.com/sebastianbergmann/php-code-coverage/issues/432): Change how files with no executable lines are displayed in the HTML report - -## [4.0.3] - 2016-11-28 - -### Changed - -* The check for unintentionally covered code is no longer performed for `@medium` and `@large` tests - -## [4.0.2] - 2016-11-01 - -### Fixed - -* Fixed [#440](https://github.com/sebastianbergmann/php-code-coverage/pull/440): Dashboard charts not showing tooltips for data points - -## [4.0.1] - 2016-07-26 - -### Fixed - -* Fixed [#458](https://github.com/sebastianbergmann/php-code-coverage/pull/458): XML report does not know about warning status - -## [4.0.0] - 2016-06-03 - -### Changed - -* This component now uses namespaces - -[4.0.8]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.7...4.0.8 -[4.0.7]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.6...4.0.7 -[4.0.6]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.5...4.0.6 -[4.0.5]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.4...4.0.5 -[4.0.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.3...4.0.4 -[4.0.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.2...4.0.3 -[4.0.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.1...4.0.2 -[4.0.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0.0...4.0.1 -[4.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/3.3...4.0.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-5.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-5.0.md deleted file mode 100644 index a1f915292..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-5.0.md +++ /dev/null @@ -1,45 +0,0 @@ -# Changes in PHP_CodeCoverage 5.0 - -All notable changes of the PHP_CodeCoverage 5.0 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [5.0.4] - 2017-04-02 - -### Added - -* Added `SebastianBergmann\CodeCoverage\Version::id()` method - -### Fixed - -* Fixed [#515](https://github.com/sebastianbergmann/php-code-coverage/pull/515): Wrong use of recursive iterator causing duplicate entries in XML coverage report - -## [5.0.3] - 2017-03-06 - -### Fixed - -* Fixed [#451](https://github.com/sebastianbergmann/php-code-coverage/pull/451): Conflict between HTML report assets and directories named `css`, `fonts`, or `js` -* Fixed [#485](https://github.com/sebastianbergmann/php-code-coverage/issues/485): Large popover contents cannot be viewed - -## [5.0.2] - 2017-03-01 - -### Changed - -* Cleaned up requirements in `composer.json` - -## [5.0.1] - 2017-02-23 - -### Added - -* Implemented [#508](https://github.com/sebastianbergmann/php-code-coverage/pull/508): Support for HackLang's `ENUM` declaration - -## [5.0.0] - 2017-02-03 - -### Removed - -* This component is no longer supported on PHP 5 - -[5.0.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.0.3...5.0.4 -[5.0.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.0.2...5.0.3 -[5.0.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.0.1...5.0.2 -[5.0.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.0.0...5.0.1 -[5.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/4.0...5.0.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-5.1.md b/vendor/phpunit/php-code-coverage/ChangeLog-5.1.md deleted file mode 100644 index 7cf702305..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-5.1.md +++ /dev/null @@ -1,19 +0,0 @@ -# Changes in PHP_CodeCoverage 5.1 - -All notable changes of the PHP_CodeCoverage 5.1 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [5.1.1] - 2017-04-12 - -## Fixed - -* Fixed [#420](https://github.com/sebastianbergmann/php-code-coverage/issues/420): Check for unexecuted covered or used code is too strict - -## [5.1.0] - 2017-04-07 - -## Changed - -* Implemented [#516](https://github.com/sebastianbergmann/php-code-coverage/pull/516): Add more information to XML code coverage report - -[5.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.1.0...5.1.1 -[5.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.0...5.1.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-5.2.md b/vendor/phpunit/php-code-coverage/ChangeLog-5.2.md deleted file mode 100644 index caf101351..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-5.2.md +++ /dev/null @@ -1,44 +0,0 @@ -# Changes in PHP_CodeCoverage 5.2 - -All notable changes of the PHP_CodeCoverage 5.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [5.2.4] - 2017-11-27 - -### Fixed - -* Fixed [#424](https://github.com/sebastianbergmann/php-code-coverage/issues/424): Rest of a function or method is ignored after an anonymous function -* Fixed [#455](https://github.com/sebastianbergmann/php-code-coverage/issues/455): Dashboard does not handle namespaced classes properly -* Fixed [#468](https://github.com/sebastianbergmann/php-code-coverage/issues/468): Global functions are not properly counted -* Fixed [#560](https://github.com/sebastianbergmann/php-code-coverage/issues/560): Uncovered whitelisted files are missing from the report - -## [5.2.3] - 2017-11-03 - -### Fixed - -* Fixed [#540](https://github.com/sebastianbergmann/php-code-coverage/issues/540): Missing attribute `type` in the CSS `<link>` elements -* Fixed [#554](https://github.com/sebastianbergmann/php-code-coverage/pull/554): `Parameter must be an array or an object that implements Countable` - -## [5.2.2] - 2017-08-03 - -## Changed - -* Bumped required versions of dependencies - -## [5.2.1] - 2017-04-21 - -## Changed - -* Version 3 of `sebastian/environment` is now required - -## [5.2.0] - 2017-04-20 - -## Changed - -* Implemented [#518](https://github.com/sebastianbergmann/php-code-coverage/pull/518): Add more information to XML code coverage report - -[5.2.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2.3...5.2.4 -[5.2.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2.2...5.2.3 -[5.2.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2.1...5.2.2 -[5.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2.0...5.2.1 -[5.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.1...5.2.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-5.3.md b/vendor/phpunit/php-code-coverage/ChangeLog-5.3.md deleted file mode 100644 index ca839b138..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-5.3.md +++ /dev/null @@ -1,34 +0,0 @@ -# Changes in PHP_CodeCoverage 5.3 - -All notable changes of the PHP_CodeCoverage 5.3 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [5.3.2] - 2018-04-06 - -### Fixed - -* Fixed [#602](https://github.com/sebastianbergmann/php-code-coverage/pull/602): Regression introduced in version 5.3.1 - -## [5.3.1] - 2018-04-06 - -### Changed - -* `Clover`, `Crap4j`, and `PHP` report writers now raise an exception when their call to `file_put_contents()` fails - -### Fixed - -* Fixed [#559](https://github.com/sebastianbergmann/php-code-coverage/issues/559): Ignored classes and methods are reported as 100% covered - -## [5.3.0] - 2017-12-06 - -### Added - -* Added option to ignore the `forceCoversAnnotation="true"` setting for a single test - -### Fixed - -* Fixed [#564](https://github.com/sebastianbergmann/php-code-coverage/issues/564): `setDisableIgnoredLines(true)` disables more than it should - -[5.3.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.3.1...5.3.2 -[5.3.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.3.0...5.3.1 -[5.3.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2...5.3.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-6.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-6.0.md deleted file mode 100644 index 01a5f021b..000000000 --- a/vendor/phpunit/php-code-coverage/ChangeLog-6.0.md +++ /dev/null @@ -1,77 +0,0 @@ -# Changes in PHP_CodeCoverage 6.0 - -All notable changes of the PHP_CodeCoverage 6.0 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [6.0.7] - 2018-06-01 - -### Fixed - -* Fixed [#623](https://github.com/sebastianbergmann/php-code-coverage/issues/623): Tests need to be updated for PHPUnit 7.2.1 - -## [6.0.6] - 2018-06-01 - -### Changed - -* This component now uses `phpunit/php-file-iterator` in version `^2.0` - -## [6.0.5] - 2018-05-28 - -### Added - -* Empty `.css/custom.css` to HTML report that is included by all generated HTML files (after `.css/styles.css`) - -### Fixed - -* Fixed [#614](https://github.com/sebastianbergmann/php-code-coverage/issues/614): Merging code coverage files does not handle dead code correctly - -## [6.0.4] - 2018-04-29 - -### Changed - -* Implemented [#606](https://github.com/sebastianbergmann/php-code-coverage/issues/606): Do not report details for anonymous classes and functions - -### Fixed - -* Fixed [#605](https://github.com/sebastianbergmann/php-code-coverage/issues/605): Method name missing from coverage report - -## [6.0.3] - 2018-04-06 - -### Fixed - -* Fixed [#602](https://github.com/sebastianbergmann/php-code-coverage/pull/602): Regression introduced in version 6.0.2 - -## [6.0.2] - 2018-04-06 - -### Changed - -* `Clover`, `Crap4j`, and `PHP` report writers now raise an exception when their call to `file_put_contents()` fails - -## [6.0.1] - 2018-02-02 - -* Fixed [#584](https://github.com/sebastianbergmann/php-code-coverage/issues/584): Target directories are not created recursively - -## [6.0.0] - 2018-02-01 - -### Changed - -* Almost all classes are now final - -### Fixed - -* Fixed [#409](https://github.com/sebastianbergmann/php-code-coverage/issues/409): Merging of code coverage information does not work correctly - -### Removed - -* Implemented [#561](https://github.com/sebastianbergmann/php-code-coverage/issues/561): Remove HHVM driver -* Implemented [#562](https://github.com/sebastianbergmann/php-code-coverage/issues/562): Remove code specific to Hack language constructs -* Implemented [#563](https://github.com/sebastianbergmann/php-code-coverage/issues/563): Drop support for PHP 7.0 - -[6.0.7]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.6...6.0.7 -[6.0.6]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.5...6.0.6 -[6.0.5]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.4...6.0.5 -[6.0.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.3...6.0.4 -[6.0.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.2...6.0.3 -[6.0.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.1...6.0.2 -[6.0.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0.0...6.0.1 -[6.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/5.2...6.0.0 - diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md b/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md new file mode 100644 index 000000000..716a1246d --- /dev/null +++ b/vendor/phpunit/php-code-coverage/ChangeLog-6.1.md @@ -0,0 +1,41 @@ +# Changes in php-code-coverage 6.1 + +All notable changes of the php-code-coverage 6.1 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. + +## [6.1.4] - 2018-10-31 + +### Fixed + +* Fixed [#650](https://github.com/sebastianbergmann/php-code-coverage/issues/650): Wasted screen space in HTML code coverage report + +## [6.1.3] - 2018-10-23 + +### Changed + +* Use `^3.1` of `sebastian/environment` again due to [regression](https://github.com/sebastianbergmann/environment/issues/31) + +## [6.1.2] - 2018-10-23 + +### Fixed + +* Fixed [#645](https://github.com/sebastianbergmann/php-code-coverage/pull/645): Crash that can occur when php-token-stream parses invalid files + +## [6.1.1] - 2018-10-18 + +### Changed + +* This component now allows `^4` of `sebastian/environment` + +## [6.1.0] - 2018-10-16 + +### Changed + +* Class names are now abbreviated (unqualified name shown, fully qualified name shown on hover) in the file view of the HTML report +* Update HTML report to Bootstrap 4 + +[6.1.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.3...6.1.4 +[6.1.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.2...6.1.3 +[6.1.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.1...6.1.2 +[6.1.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.1.0...6.1.1 +[6.1.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/6.0...6.1.0 + diff --git a/vendor/phpunit/php-code-coverage/LICENSE b/vendor/phpunit/php-code-coverage/LICENSE index 9b9787d39..f198e20f3 100644 --- a/vendor/phpunit/php-code-coverage/LICENSE +++ b/vendor/phpunit/php-code-coverage/LICENSE @@ -1,6 +1,6 @@ -PHP_CodeCoverage +php-code-coverage -Copyright (c) 2009-2017, Sebastian Bergmann <sebastian@phpunit.de>. +Copyright (c) 2009-2018, Sebastian Bergmann <sebastian@phpunit.de>. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/vendor/phpunit/php-code-coverage/composer.json b/vendor/phpunit/php-code-coverage/composer.json index cf2460685..bb27256f9 100644 --- a/vendor/phpunit/php-code-coverage/composer.json +++ b/vendor/phpunit/php-code-coverage/composer.json @@ -32,7 +32,7 @@ "phpunit/php-token-stream": "^3.0", "phpunit/php-text-template": "^1.2.1", "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1", + "sebastian/environment": "^3.1 || ^4.0", "sebastian/version": "^2.0.1", "theseer/tokenizer": "^1.1" }, @@ -49,7 +49,7 @@ }, "extra": { "branch-alias": { - "dev-master": "6.0-dev" + "dev-master": "6.1-dev" } } } diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php index 0c77e60ac..67ba40359 100644 --- a/vendor/phpunit/php-code-coverage/src/CodeCoverage.php +++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; use PHPUnit\Framework\TestCase; @@ -139,14 +138,14 @@ final class CodeCoverage */ public function __construct(Driver $driver = null, Filter $filter = null) { - if ($driver === null) { - $driver = $this->selectDriver(); - } - if ($filter === null) { $filter = new Filter; } + if ($driver === null) { + $driver = $this->selectDriver($filter); + } + $this->driver = $driver; $this->filter = $filter; @@ -189,7 +188,6 @@ final class CodeCoverage /** * Returns the collected code coverage data. - * Set $raw = true to bypass all filters. */ public function getData(bool $raw = false): array { @@ -229,7 +227,6 @@ final class CodeCoverage * Start collection of code coverage information. * * @param PhptTestCase|string|TestCase $id - * @param bool $clear * * @throws RuntimeException */ @@ -615,6 +612,17 @@ final class CodeCoverage return $this->ignoredLines[$fileName]; } + try { + return $this->getLinesToBeIgnoredInner($fileName); + } catch (\OutOfBoundsException $e) { + // This can happen with PHP_Token_Stream if the file is syntactically invalid, + // and probably affects a file that wasn't executed. + return []; + } + } + + private function getLinesToBeIgnoredInner(string $fileName): array + { $this->ignoredLines[$fileName] = []; $lines = \file($fileName); @@ -881,7 +889,7 @@ final class CodeCoverage /** * @throws RuntimeException */ - private function selectDriver(): Driver + private function selectDriver(Filter $filter): Driver { $runtime = new Runtime; @@ -894,7 +902,7 @@ final class CodeCoverage } if ($runtime->hasXdebug()) { - return new Xdebug; + return new Xdebug($filter); } throw new RuntimeException('No code coverage driver available'); diff --git a/vendor/phpunit/php-code-coverage/src/Driver/Driver.php b/vendor/phpunit/php-code-coverage/src/Driver/Driver.php index aeca383b4..38419966b 100644 --- a/vendor/phpunit/php-code-coverage/src/Driver/Driver.php +++ b/vendor/phpunit/php-code-coverage/src/Driver/Driver.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Driver; /** diff --git a/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php b/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php index 859b3ac84..a26267b4e 100644 --- a/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php +++ b/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Driver; use SebastianBergmann\CodeCoverage\RuntimeException; @@ -24,7 +23,7 @@ final class PHPDBG implements Driver */ public function __construct() { - if (PHP_SAPI !== 'phpdbg') { + if (\PHP_SAPI !== 'phpdbg') { throw new RuntimeException( 'This driver requires the PHPDBG SAPI' ); diff --git a/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php b/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php index 0bf04ac7a..8c11f88e0 100644 --- a/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php +++ b/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php @@ -7,9 +7,9 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Driver; +use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\RuntimeException; /** @@ -24,10 +24,15 @@ final class Xdebug implements Driver */ private $cacheNumLines = []; + /** + * @var Filter + */ + private $filter; + /** * @throws RuntimeException */ - public function __construct() + public function __construct(Filter $filter = null) { if (!\extension_loaded('xdebug')) { throw new RuntimeException('This driver requires Xdebug'); @@ -36,6 +41,12 @@ final class Xdebug implements Driver if (!\ini_get('xdebug.coverage_enable')) { throw new RuntimeException('xdebug.coverage_enable=On has to be set in php.ini'); } + + if ($filter === null) { + $filter = new Filter; + } + + $this->filter = $filter; } /** @@ -67,13 +78,15 @@ final class Xdebug implements Driver foreach (\array_keys($data) as $file) { unset($data[$file][0]); - if (\strpos($file, 'xdebug://debug-eval') !== 0 && \file_exists($file)) { - $numLines = $this->getNumberOfLinesInFile($file); + if (!$this->filter->isFile($file)) { + continue; + } - foreach (\array_keys($data[$file]) as $line) { - if ($line > $numLines) { - unset($data[$file][$line]); - } + $numLines = $this->getNumberOfLinesInFile($file); + + foreach (\array_keys($data[$file]) as $line) { + if ($line > $numLines) { + unset($data[$file][$line]); } } } diff --git a/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php b/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php index 1b6b75329..7cd14ae90 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; /** diff --git a/vendor/phpunit/php-code-coverage/src/Exception/Exception.php b/vendor/phpunit/php-code-coverage/src/Exception/Exception.php index a3ba4c4c6..155e7db07 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/Exception.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/Exception.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; /** diff --git a/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php b/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php index f68e41b69..cc4defe1f 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php @@ -7,15 +7,14 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; final class InvalidArgumentException extends \InvalidArgumentException implements Exception { /** - * @param int $argument - * @param string $type - * @param mixed $value + * @param int $argument + * @param string $type + * @param null|mixed $value * * @return InvalidArgumentException */ diff --git a/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php b/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php index 9f824eff7..1f8edbb86 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; /** diff --git a/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php b/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php index c143db7da..fe0e4347e 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; class RuntimeException extends \RuntimeException implements Exception diff --git a/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php b/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php index b111400b0..ae593bd0f 100644 --- a/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php +++ b/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; /** @@ -20,9 +19,6 @@ final class UnintentionallyCoveredCodeException extends RuntimeException */ private $unintentionallyCoveredUnits = []; - /** - * @param array $unintentionallyCoveredUnits - */ public function __construct(array $unintentionallyCoveredUnits) { $this->unintentionallyCoveredUnits = $unintentionallyCoveredUnits; @@ -30,17 +26,11 @@ final class UnintentionallyCoveredCodeException extends RuntimeException parent::__construct($this->toString()); } - /** - * @return array - */ public function getUnintentionallyCoveredUnits(): array { return $this->unintentionallyCoveredUnits; } - /** - * @return string - */ private function toString(): string { $message = ''; diff --git a/vendor/phpunit/php-code-coverage/src/Filter.php b/vendor/phpunit/php-code-coverage/src/Filter.php index 9f0fdb5af..631e22c1c 100644 --- a/vendor/phpunit/php-code-coverage/src/Filter.php +++ b/vendor/phpunit/php-code-coverage/src/Filter.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; @@ -24,6 +23,13 @@ final class Filter */ private $whitelistedFiles = []; + /** + * Remembers the result of the `is_file()` calls. + * + * @var bool[] + */ + private $isFileCallsCache = []; + /** * Adds a directory to the whitelist (recursively). */ @@ -85,6 +91,10 @@ final class Filter */ public function isFile(string $filename): bool { + if (isset($this->isFileCallsCache[$filename])) { + return $this->isFileCallsCache[$filename]; + } + if ($filename === '-' || \strpos($filename, 'vfs://') === 0 || \strpos($filename, 'xdebug://debug-eval') !== false || @@ -92,11 +102,16 @@ final class Filter \strpos($filename, 'runtime-created function') !== false || \strpos($filename, 'runkit created function') !== false || \strpos($filename, 'assert code') !== false || - \strpos($filename, 'regexp code') !== false) { - return false; + \strpos($filename, 'regexp code') !== false || + \strpos($filename, 'Standard input code') !== false) { + $isFile = false; + } else { + $isFile = \file_exists($filename); } - return \file_exists($filename); + $this->isFileCallsCache[$filename] = $isFile; + + return $isFile; } /** @@ -108,8 +123,6 @@ final class Filter return true; } - $filename = \realpath($filename); - return !isset($this->whitelistedFiles[$filename]); } diff --git a/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php b/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php index f50a4c5bc..5c892611f 100644 --- a/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php +++ b/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Node; use SebastianBergmann\CodeCoverage\Util; @@ -44,7 +43,7 @@ abstract class AbstractNode implements \Countable public function __construct(string $name, self $parent = null) { - if (\substr($name, -1) == '/') { + if (\substr($name, -1) == \DIRECTORY_SEPARATOR) { $name = \substr($name, 0, -1); } @@ -84,7 +83,7 @@ abstract class AbstractNode implements \Countable if ($this->parent === null || $this->parent->getPath() === null || $this->parent->getPath() === false) { $this->path = $this->name; } else { - $this->path = $this->parent->getPath() . '/' . $this->name; + $this->path = $this->parent->getPath() . \DIRECTORY_SEPARATOR . $this->name; } } diff --git a/vendor/phpunit/php-code-coverage/src/Node/Builder.php b/vendor/phpunit/php-code-coverage/src/Node/Builder.php index eaa494adc..9e4ac24a1 100644 --- a/vendor/phpunit/php-code-coverage/src/Node/Builder.php +++ b/vendor/phpunit/php-code-coverage/src/Node/Builder.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Node; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -39,7 +38,7 @@ final class Builder if (\substr($key, -2) == '/f') { $key = \substr($key, 0, -2); - if (\file_exists($root->getPath() . DIRECTORY_SEPARATOR . $key)) { + if (\file_exists($root->getPath() . \DIRECTORY_SEPARATOR . $key)) { $root->addFile($key, $value, $tests, $cacheTokens); } } else { @@ -94,7 +93,7 @@ final class Builder $result = []; foreach ($files as $path => $file) { - $path = \explode('/', $path); + $path = \explode(\DIRECTORY_SEPARATOR, $path); $pointer = &$result; $max = \count($path); @@ -161,7 +160,7 @@ final class Builder $paths = \array_keys($files); if (\count($files) === 1) { - $commonPath = \dirname($paths[0]) . '/'; + $commonPath = \dirname($paths[0]) . \DIRECTORY_SEPARATOR; $files[\basename($paths[0])] = $files[$paths[0]]; unset($files[$paths[0]]); @@ -175,12 +174,12 @@ final class Builder // strip phar:// prefixes if (\strpos($paths[$i], 'phar://') === 0) { $paths[$i] = \substr($paths[$i], 7); - $paths[$i] = \str_replace('/', DIRECTORY_SEPARATOR, $paths[$i]); + $paths[$i] = \str_replace('/', \DIRECTORY_SEPARATOR, $paths[$i]); } - $paths[$i] = \explode(DIRECTORY_SEPARATOR, $paths[$i]); + $paths[$i] = \explode(\DIRECTORY_SEPARATOR, $paths[$i]); if (empty($paths[$i][0])) { - $paths[$i][0] = DIRECTORY_SEPARATOR; + $paths[$i][0] = \DIRECTORY_SEPARATOR; } } @@ -201,8 +200,8 @@ final class Builder if (!$done) { $commonPath .= $paths[0][0]; - if ($paths[0][0] != DIRECTORY_SEPARATOR) { - $commonPath .= DIRECTORY_SEPARATOR; + if ($paths[0][0] != \DIRECTORY_SEPARATOR) { + $commonPath .= \DIRECTORY_SEPARATOR; } for ($i = 0; $i < $max; $i++) { @@ -215,7 +214,7 @@ final class Builder $max = \count($original); for ($i = 0; $i < $max; $i++) { - $files[\implode('/', $paths[$i])] = $files[$original[$i]]; + $files[\implode(\DIRECTORY_SEPARATOR, $paths[$i])] = $files[$original[$i]]; unset($files[$original[$i]]); } diff --git a/vendor/phpunit/php-code-coverage/src/Node/Directory.php b/vendor/phpunit/php-code-coverage/src/Node/Directory.php index 938e67fb4..a82b8ea94 100644 --- a/vendor/phpunit/php-code-coverage/src/Node/Directory.php +++ b/vendor/phpunit/php-code-coverage/src/Node/Directory.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Node; use SebastianBergmann\CodeCoverage\InvalidArgumentException; diff --git a/vendor/phpunit/php-code-coverage/src/Node/File.php b/vendor/phpunit/php-code-coverage/src/Node/File.php index a6576b001..8355cda54 100644 --- a/vendor/phpunit/php-code-coverage/src/Node/File.php +++ b/vendor/phpunit/php-code-coverage/src/Node/File.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Node; /** @@ -342,9 +341,14 @@ final class File extends AbstractNode $this->codeUnitsByLine[$lineNumber] = []; } - $this->processClasses($tokens); - $this->processTraits($tokens); - $this->processFunctions($tokens); + try { + $this->processClasses($tokens); + $this->processTraits($tokens); + $this->processFunctions($tokens); + } catch (\OutOfBoundsException $e) { + // This can happen with PHP_Token_Stream if the file is syntactically invalid, + // and probably affects a file that wasn't executed. + } unset($tokens); foreach (\range(1, $this->linesOfCode['loc']) as $lineNumber) { @@ -488,7 +492,7 @@ final class File extends AbstractNode 'coverage' => 0, 'crap' => 0, 'package' => $class['package'], - 'link' => $link . $class['startLine'] + 'link' => $link . $class['startLine'], ]; foreach ($class['methods'] as $methodName => $method) { @@ -501,7 +505,7 @@ final class File extends AbstractNode foreach (\range($method['startLine'], $method['endLine']) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ &$this->classes[$className], - &$this->classes[$className]['methods'][$methodName] + &$this->classes[$className]['methods'][$methodName], ]; } } @@ -524,7 +528,7 @@ final class File extends AbstractNode 'coverage' => 0, 'crap' => 0, 'package' => $trait['package'], - 'link' => $link . $trait['startLine'] + 'link' => $link . $trait['startLine'], ]; foreach ($trait['methods'] as $methodName => $method) { @@ -537,7 +541,7 @@ final class File extends AbstractNode foreach (\range($method['startLine'], $method['endLine']) as $lineNumber) { $this->codeUnitsByLine[$lineNumber] = [ &$this->traits[$traitName], - &$this->traits[$traitName]['methods'][$methodName] + &$this->traits[$traitName]['methods'][$methodName], ]; } } @@ -563,7 +567,7 @@ final class File extends AbstractNode 'ccn' => $function['ccn'], 'coverage' => 0, 'crap' => 0, - 'link' => $link . $function['startLine'] + 'link' => $link . $function['startLine'], ]; foreach (\range($function['startLine'], $function['endLine']) as $lineNumber) { diff --git a/vendor/phpunit/php-code-coverage/src/Node/Iterator.php b/vendor/phpunit/php-code-coverage/src/Node/Iterator.php index 935ad6c88..81af4f0d9 100644 --- a/vendor/phpunit/php-code-coverage/src/Node/Iterator.php +++ b/vendor/phpunit/php-code-coverage/src/Node/Iterator.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Node; /** @@ -82,8 +81,6 @@ final class Iterator implements \RecursiveIterator /** * Checks whether the current element has children. - * - * @return bool */ public function hasChildren(): bool { diff --git a/vendor/phpunit/php-code-coverage/src/Report/Clover.php b/vendor/phpunit/php-code-coverage/src/Report/Clover.php index e6f018347..2b28e60b6 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Clover.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Clover.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -91,7 +90,7 @@ final class Clover 'crap' => $method['crap'], 'type' => 'method', 'visibility' => $method['visibility'], - 'name' => $methodName + 'name' => $methodName, ]; } @@ -152,7 +151,7 @@ final class Clover } $lines[$line] = [ - 'count' => \count($data), 'type' => 'stmt' + 'count' => \count($data), 'type' => 'stmt', ]; } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php b/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php index 733dcaf78..bd3c39752 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -138,8 +137,6 @@ final class Crap4j * @param float $crapValue * @param int $cyclomaticComplexity * @param float $coveragePercent - * - * @return float */ private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent): float { @@ -155,8 +152,6 @@ final class Crap4j /** * @param float $value - * - * @return float */ private function roundValue($value): float { diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php index 3499896a7..60441bca1 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Html; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -121,35 +120,22 @@ final class Facade { $dir = $this->getDirectory($target . '.css'); - \file_put_contents( - $dir . 'bootstrap.min.css', - \str_replace( - 'url(../fonts/', - 'url(../.fonts/', - \file_get_contents($this->templatePath . 'css/bootstrap.min.css') - ) - - ); - + \copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css'); \copy($this->templatePath . 'css/nv.d3.min.css', $dir . 'nv.d3.min.css'); \copy($this->templatePath . 'css/style.css', $dir . 'style.css'); \copy($this->templatePath . 'css/custom.css', $dir . 'custom.css'); + \copy($this->templatePath . 'css/octicons.css', $dir . 'octicons.css'); - $dir = $this->getDirectory($target . '.fonts'); - \copy($this->templatePath . 'fonts/glyphicons-halflings-regular.eot', $dir . 'glyphicons-halflings-regular.eot'); - \copy($this->templatePath . 'fonts/glyphicons-halflings-regular.svg', $dir . 'glyphicons-halflings-regular.svg'); - \copy($this->templatePath . 'fonts/glyphicons-halflings-regular.ttf', $dir . 'glyphicons-halflings-regular.ttf'); - \copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff', $dir . 'glyphicons-halflings-regular.woff'); - \copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff2', $dir . 'glyphicons-halflings-regular.woff2'); + $dir = $this->getDirectory($target . '.icons'); + \copy($this->templatePath . 'icons/file-code.svg', $dir . 'file-code.svg'); + \copy($this->templatePath . 'icons/file-directory.svg', $dir . 'file-directory.svg'); $dir = $this->getDirectory($target . '.js'); \copy($this->templatePath . 'js/bootstrap.min.js', $dir . 'bootstrap.min.js'); + \copy($this->templatePath . 'js/popper.min.js', $dir . 'popper.min.js'); \copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js'); - \copy($this->templatePath . 'js/holder.min.js', $dir . 'holder.min.js'); - \copy($this->templatePath . 'js/html5shiv.min.js', $dir . 'html5shiv.min.js'); \copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js'); \copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js'); - \copy($this->templatePath . 'js/respond.min.js', $dir . 'respond.min.js'); \copy($this->templatePath . 'js/file.js', $dir . 'file.js'); } @@ -158,8 +144,8 @@ final class Facade */ private function getDirectory(string $directory): string { - if (\substr($directory, -1, 1) != DIRECTORY_SEPARATOR) { - $directory .= DIRECTORY_SEPARATOR; + if (\substr($directory, -1, 1) != \DIRECTORY_SEPARATOR) { + $directory .= \DIRECTORY_SEPARATOR; } if (!$this->createDirectory($directory)) { diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php index f299897aa..b39ff4c97 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Html; use SebastianBergmann\CodeCoverage\Node\AbstractNode; @@ -129,7 +128,7 @@ abstract class Renderer 'classes_bar' => $classesBar, 'classes_tested_percent' => $data['testedClassesPercentAsString'] ?? '', 'classes_level' => $classesLevel, - 'classes_number' => $classesNumber + 'classes_number' => $classesNumber, ] ); @@ -149,7 +148,7 @@ abstract class Renderer 'runtime' => $this->getRuntimeString(), 'generator' => $this->generator, 'low_upper_bound' => $this->lowUpperBound, - 'high_lower_bound' => $this->highLowerBound + 'high_lower_bound' => $this->highLowerBound, ] ); } @@ -186,12 +185,12 @@ abstract class Renderer protected function getActiveBreadcrumb(AbstractNode $node): string { $buffer = \sprintf( - ' <li class="active">%s</li>' . "\n", + ' <li class="breadcrumb-item active">%s</li>' . "\n", $node->getName() ); if ($node instanceof DirectoryNode) { - $buffer .= ' <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n"; + $buffer .= ' <li class="breadcrumb-item">(<a href="dashboard.html">Dashboard</a>)</li>' . "\n"; } return $buffer; @@ -200,7 +199,7 @@ abstract class Renderer protected function getInactiveBreadcrumb(AbstractNode $node, string $pathToRoot): string { return \sprintf( - ' <li><a href="%sindex.html">%s</a></li>' . "\n", + ' <li class="breadcrumb-item"><a href="%sindex.html">%s</a></li>' . "\n", $pathToRoot, $node->getName() ); diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php index 2c9c4f3f9..68dfd4020 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Html; use SebastianBergmann\CodeCoverage\Node\AbstractNode; @@ -22,7 +21,7 @@ final class Dashboard extends Renderer * @throws \InvalidArgumentException * @throws \RuntimeException */ - public function render(DirectoryNode $node, string $file) + public function render(DirectoryNode $node, string $file): void { $classes = $node->getClassesAndTraits(); $template = new \Text_Template( @@ -48,7 +47,7 @@ final class Dashboard extends Renderer 'complexity_class' => $complexity['class'], 'complexity_method' => $complexity['method'], 'class_coverage_distribution' => $coverageDistribution['class'], - 'method_coverage_distribution' => $coverageDistribution['method'] + 'method_coverage_distribution' => $coverageDistribution['method'], ] ); @@ -75,7 +74,7 @@ final class Dashboard extends Renderer '<a href="%s">%s</a>', \str_replace($baseLink, '', $method['link']), $methodName - ) + ), ]; } @@ -86,13 +85,13 @@ final class Dashboard extends Renderer '<a href="%s">%s</a>', \str_replace($baseLink, '', $class['link']), $className - ) + ), ]; } return [ 'class' => \json_encode($result['class']), - 'method' => \json_encode($result['method']) + 'method' => \json_encode($result['method']), ]; } @@ -114,7 +113,7 @@ final class Dashboard extends Renderer '70-80%' => 0, '80-90%' => 0, '90-100%' => 0, - '100%' => 0 + '100%' => 0, ], 'method' => [ '0%' => 0, @@ -128,8 +127,8 @@ final class Dashboard extends Renderer '70-80%' => 0, '80-90%' => 0, '90-100%' => 0, - '100%' => 0 - ] + '100%' => 0, + ], ]; foreach ($classes as $class) { @@ -158,7 +157,7 @@ final class Dashboard extends Renderer return [ 'class' => \json_encode(\array_values($result['class'])), - 'method' => \json_encode(\array_values($result['method'])) + 'method' => \json_encode(\array_values($result['method'])), ]; } @@ -274,8 +273,8 @@ final class Dashboard extends Renderer protected function getActiveBreadcrumb(AbstractNode $node): string { return \sprintf( - ' <li><a href="index.html">%s</a></li>' . "\n" . - ' <li class="active">(Dashboard)</li>' . "\n", + ' <li class="breadcrumb-item"><a href="index.html">%s</a></li>' . "\n" . + ' <li class="breadcrumb-item active">(Dashboard)</li>' . "\n", $node->getName() ); } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php index 952fb5cb1..711d15349 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Html; use SebastianBergmann\CodeCoverage\Node\AbstractNode as Node; @@ -41,7 +40,7 @@ final class Directory extends Renderer $template->setVar( [ 'id' => $node->getId(), - 'items' => $items + 'items' => $items, ] ); @@ -62,7 +61,7 @@ final class Directory extends Renderer 'testedMethodsPercent' => $node->getTestedFunctionsAndMethodsPercent(false), 'testedMethodsPercentAsString' => $node->getTestedFunctionsAndMethodsPercent(), 'testedClassesPercent' => $node->getTestedClassesAndTraitsPercent(false), - 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent() + 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), ]; if ($total) { @@ -75,7 +74,9 @@ final class Directory extends Renderer $node->getName() ); - $data['icon'] = '<span class="glyphicon glyphicon-folder-open"></span> '; + $up = \str_repeat('../', \count($node->getPathAsArray()) - 2); + + $data['icon'] = \sprintf('<img src="%s.icons/file-directory.svg" class="octicon" />', $up); } else { $data['name'] = \sprintf( '<a href="%s.html">%s</a>', @@ -83,7 +84,9 @@ final class Directory extends Renderer $node->getName() ); - $data['icon'] = '<span class="glyphicon glyphicon-file"></span> '; + $up = \str_repeat('../', \count($node->getPathAsArray()) - 2); + + $data['icon'] = \sprintf('<img src="%s.icons/file-code.svg" class="octicon" />', $up); } } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php index ef1d9d82e..2e88d198c 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Html; use SebastianBergmann\CodeCoverage\Node\File as FileNode; @@ -21,7 +20,7 @@ final class File extends Renderer /** * @var int */ - private $htmlSpecialCharsFlags = ENT_COMPAT | ENT_HTML401 | ENT_SUBSTITUTE; + private $htmlSpecialCharsFlags = \ENT_COMPAT | \ENT_HTML401 | \ENT_SUBSTITUTE; /** * @throws \RuntimeException @@ -33,7 +32,7 @@ final class File extends Renderer $template->setVar( [ 'items' => $this->renderItems($node), - 'lines' => $this->renderSource($node) + 'lines' => $this->renderSource($node), ] ); @@ -68,7 +67,7 @@ final class File extends Renderer 'testedMethodsPercentAsString' => $node->getTestedFunctionsAndMethodsPercent(), 'testedClassesPercent' => $node->getTestedClassesAndTraitsPercent(false), 'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(), - 'crap' => '<abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr>' + 'crap' => '<abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr>', ] ); @@ -131,7 +130,7 @@ final class File extends Renderer $buffer .= $this->renderItemTemplate( $template, [ - 'name' => $name, + 'name' => $this->abbreviateClassName($name), 'numClasses' => $numClasses, 'numTestedClasses' => $numTestedClasses, 'numMethods' => $numMethods, @@ -162,7 +161,7 @@ final class File extends Renderer 1, true ), - 'crap' => $item['crap'] + 'crap' => $item['crap'], ] ); @@ -241,16 +240,11 @@ final class File extends Renderer 1, true ), - 'crap' => $item['crap'] + 'crap' => $item['crap'], ] ); } - /** - * @param FileNode $node - * - * @return string - */ protected function renderSource(FileNode $node): string { $coverageData = $node->getCoverageData(); @@ -369,8 +363,6 @@ final class File extends Renderer /** * @param string $file - * - * @return array */ protected function loadFile($file): array { @@ -423,73 +415,73 @@ final class File extends Renderer $colour = 'string'; } else { switch ($token) { - case T_INLINE_HTML: + case \T_INLINE_HTML: $colour = 'html'; break; - case T_COMMENT: - case T_DOC_COMMENT: + case \T_COMMENT: + case \T_DOC_COMMENT: $colour = 'comment'; break; - case T_ABSTRACT: - case T_ARRAY: - case T_AS: - case T_BREAK: - case T_CALLABLE: - case T_CASE: - case T_CATCH: - case T_CLASS: - case T_CLONE: - case T_CONTINUE: - case T_DEFAULT: - case T_ECHO: - case T_ELSE: - case T_ELSEIF: - case T_EMPTY: - case T_ENDDECLARE: - case T_ENDFOR: - case T_ENDFOREACH: - case T_ENDIF: - case T_ENDSWITCH: - case T_ENDWHILE: - case T_EXIT: - case T_EXTENDS: - case T_FINAL: - case T_FINALLY: - case T_FOREACH: - case T_FUNCTION: - case T_GLOBAL: - case T_IF: - case T_IMPLEMENTS: - case T_INCLUDE: - case T_INCLUDE_ONCE: - case T_INSTANCEOF: - case T_INSTEADOF: - case T_INTERFACE: - case T_ISSET: - case T_LOGICAL_AND: - case T_LOGICAL_OR: - case T_LOGICAL_XOR: - case T_NAMESPACE: - case T_NEW: - case T_PRIVATE: - case T_PROTECTED: - case T_PUBLIC: - case T_REQUIRE: - case T_REQUIRE_ONCE: - case T_RETURN: - case T_STATIC: - case T_THROW: - case T_TRAIT: - case T_TRY: - case T_UNSET: - case T_USE: - case T_VAR: - case T_WHILE: - case T_YIELD: + case \T_ABSTRACT: + case \T_ARRAY: + case \T_AS: + case \T_BREAK: + case \T_CALLABLE: + case \T_CASE: + case \T_CATCH: + case \T_CLASS: + case \T_CLONE: + case \T_CONTINUE: + case \T_DEFAULT: + case \T_ECHO: + case \T_ELSE: + case \T_ELSEIF: + case \T_EMPTY: + case \T_ENDDECLARE: + case \T_ENDFOR: + case \T_ENDFOREACH: + case \T_ENDIF: + case \T_ENDSWITCH: + case \T_ENDWHILE: + case \T_EXIT: + case \T_EXTENDS: + case \T_FINAL: + case \T_FINALLY: + case \T_FOREACH: + case \T_FUNCTION: + case \T_GLOBAL: + case \T_IF: + case \T_IMPLEMENTS: + case \T_INCLUDE: + case \T_INCLUDE_ONCE: + case \T_INSTANCEOF: + case \T_INSTEADOF: + case \T_INTERFACE: + case \T_ISSET: + case \T_LOGICAL_AND: + case \T_LOGICAL_OR: + case \T_LOGICAL_XOR: + case \T_NAMESPACE: + case \T_NEW: + case \T_PRIVATE: + case \T_PROTECTED: + case \T_PUBLIC: + case \T_REQUIRE: + case \T_REQUIRE_ONCE: + case \T_RETURN: + case \T_STATIC: + case \T_THROW: + case \T_TRAIT: + case \T_TRY: + case \T_UNSET: + case \T_USE: + case \T_VAR: + case \T_WHILE: + case \T_YIELD: $colour = 'keyword'; break; @@ -519,4 +511,19 @@ final class File extends Renderer return $result; } + + private function abbreviateClassName(string $className): string + { + $tmp = \explode('\\', $className); + + if (\count($tmp) > 1) { + $className = \sprintf( + '<abbr title="%s">%s</abbr>', + $className, + \array_pop($tmp) + ); + } + + return $className; + } } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist index 5a09c354d..7fcf6f490 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist @@ -1,5 +1,5 @@ <div class="progress"> - <div class="progress-bar progress-bar-{{level}}" role="progressbar" aria-valuenow="{{percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{percent}}%"> + <div class="progress-bar bg-{{level}}" role="progressbar" aria-valuenow="{{percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{percent}}%"> <span class="sr-only">{{percent}}% covered ({{level}})</span> </div> </div> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css index ed3905e0e..74a3ca176 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css @@ -1,6 +1,7 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css new file mode 100644 index 000000000..31d97867a --- /dev/null +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css @@ -0,0 +1,5 @@ +.octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; +} diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css index 824fb3171..6d9c21e89 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css @@ -6,7 +6,7 @@ body { max-width: none; } -.glyphicon { +.octicon { margin-right:.25em; } @@ -64,7 +64,7 @@ td.small { } td.codeLine { - font-family: monospace; + font-family: "Source Code Pro", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; white-space: pre; } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist index 39a0e9ae9..cfa57687c 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist @@ -8,24 +8,22 @@ <link href="{{path_to_root}}.css/nv.d3.min.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/style.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src="{{path_to_root}}.js/html5shiv.min.js"></script> - <script src="{{path_to_root}}.js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> {{breadcrumbs}} - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <h2>Classes</h2> @@ -140,8 +138,6 @@ </footer> </div> <script src="{{path_to_root}}.js/jquery.min.js" type="text/javascript"></script> - <script src="{{path_to_root}}.js/bootstrap.min.js" type="text/javascript"></script> - <script src="{{path_to_root}}.js/holder.min.js" type="text/javascript"></script> <script src="{{path_to_root}}.js/d3.min.js" type="text/javascript"></script> <script src="{{path_to_root}}.js/nv.d3.min.js" type="text/javascript"></script> <script type="text/javascript"> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist index cdf75e1f8..2fbf691b5 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist @@ -5,43 +5,44 @@ <title>Code Coverage for {{full_path}}</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="{{path_to_root}}.css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="{{path_to_root}}.css/octicons.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/style.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src="{{path_to_root}}.js/html5shiv.min.js"></script> - <script src="{{path_to_root}}.js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> {{breadcrumbs}} - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - </tr> - </thead> - <tbody> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + </tr> + </thead> + <tbody> {{items}} - </tbody> - </table> + </tbody> + </table> + </div> <footer> <hr/> <h4>Legend</h4> @@ -55,8 +56,5 @@ </p> </footer> </div> - <script src="{{path_to_root}}.js/jquery.min.js" type="text/javascript"></script> - <script src="{{path_to_root}}.js/bootstrap.min.js" type="text/javascript"></script> - <script src="{{path_to_root}}.js/holder.min.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist index 78dbb3565..f6941a437 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist @@ -1,13 +1,13 @@ - <tr> - <td class="{{lines_level}}">{{icon}}{{name}}</td> - <td class="{{lines_level}} big">{{lines_bar}}</td> - <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> - <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> - <td class="{{methods_level}} big">{{methods_bar}}</td> - <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> - <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> - <td class="{{classes_level}} big">{{classes_bar}}</td> - <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td> - <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td> - </tr> + <tr> + <td class="{{lines_level}}">{{icon}}{{name}}</td> + <td class="{{lines_level}} big">{{lines_bar}}</td> + <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> + <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> + <td class="{{methods_level}} big">{{methods_bar}}</td> + <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> + <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> + <td class="{{classes_level}} big">{{classes_bar}}</td> + <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td> + <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td> + </tr> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist index 1ea12e2a4..1c33503ca 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist @@ -5,43 +5,44 @@ <title>Code Coverage for {{full_path}}</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="{{path_to_root}}.css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href="{{path_to_root}}.css/octicons.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/style.css" rel="stylesheet" type="text/css"> <link href="{{path_to_root}}.css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src="{{path_to_root}}.js/html5shiv.min.js"></script> - <script src="{{path_to_root}}.js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> {{breadcrumbs}} - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - </tr> - </thead> - <tbody> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + </tr> + </thead> + <tbody> {{items}} - </tbody> - </table> + </tbody> + </table> + </div> <table id="code" class="table table-borderless table-condensed"> <tbody> {{lines}} @@ -58,12 +59,14 @@ <p> <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage {{version}}</a> using {{runtime}}{{generator}} at {{date}}.</small> </p> - <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a> + <a title="Back to the top" id="toplink" href="#"> + <svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M12 11L6 5l-6 6h12z"/></svg> + </a> </footer> </div> <script src="{{path_to_root}}.js/jquery.min.js" type="text/javascript"></script> + <script src="{{path_to_root}}.js/popper.min.js" type="text/javascript"></script> <script src="{{path_to_root}}.js/bootstrap.min.js" type="text/javascript"></script> - <script src="{{path_to_root}}.js/holder.min.js" type="text/javascript"></script> <script src="{{path_to_root}}.js/file.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist index 756fdd69b..dc754b3c6 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist @@ -1,14 +1,14 @@ - <tr> - <td class="{{classes_level}}">{{name}}</td> - <td class="{{classes_level}} big">{{classes_bar}}</td> - <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td> - <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td> - <td class="{{methods_level}} big">{{methods_bar}}</td> - <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> - <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> - <td class="{{methods_level}} small">{{crap}}</td> - <td class="{{lines_level}} big">{{lines_bar}}</td> - <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> - <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> - </tr> + <tr> + <td class="{{classes_level}}">{{name}}</td> + <td class="{{classes_level}} big">{{classes_bar}}</td> + <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td> + <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td> + <td class="{{methods_level}} big">{{methods_bar}}</td> + <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> + <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> + <td class="{{methods_level}} small">{{crap}}</td> + <td class="{{lines_level}} big">{{lines_bar}}</td> + <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> + <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> + </tr> diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.eot b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.eot deleted file mode 100644 index b93a4953f..000000000 Binary files a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.eot and /dev/null differ diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.svg b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.svg deleted file mode 100644 index 94fb5490a..000000000 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.svg +++ /dev/null @@ -1,288 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata></metadata> -<defs> -<font id="glyphicons_halflingsregular" horiz-adv-x="1200" > -<font-face units-per-em="1200" ascent="960" descent="-240" /> -<missing-glyph horiz-adv-x="500" /> -<glyph horiz-adv-x="0" /> -<glyph horiz-adv-x="400" /> -<glyph unicode=" " /> -<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" /> -<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xa0;" /> -<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" /> -<glyph unicode="&#x2000;" horiz-adv-x="650" /> -<glyph unicode="&#x2001;" horiz-adv-x="1300" /> -<glyph unicode="&#x2002;" horiz-adv-x="650" /> -<glyph unicode="&#x2003;" horiz-adv-x="1300" /> -<glyph unicode="&#x2004;" horiz-adv-x="433" /> -<glyph unicode="&#x2005;" horiz-adv-x="325" /> -<glyph unicode="&#x2006;" horiz-adv-x="216" /> -<glyph unicode="&#x2007;" horiz-adv-x="216" /> -<glyph unicode="&#x2008;" horiz-adv-x="162" /> -<glyph unicode="&#x2009;" horiz-adv-x="260" /> -<glyph unicode="&#x200a;" horiz-adv-x="72" /> -<glyph unicode="&#x202f;" horiz-adv-x="260" /> -<glyph unicode="&#x205f;" horiz-adv-x="325" /> -<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" /> -<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" /> -<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" /> -<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" /> -<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" /> -<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " /> -<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" /> -<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" /> -<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" /> -<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" /> -<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" /> -<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" /> -<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" /> -<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" /> -<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" /> -<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" /> -<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" /> -<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" /> -<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" /> -<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" /> -<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" /> -<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" /> -<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" /> -<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" /> -<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" /> -<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " /> -<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" /> -<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" /> -<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" /> -<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" /> -<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" /> -<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" /> -<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" /> -<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" /> -<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" /> -<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" /> -<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" /> -<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" /> -<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" /> -<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" /> -<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" /> -<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" /> -<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" /> -<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" /> -<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" /> -<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" /> -<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" /> -<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" /> -<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" /> -<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" /> -<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" /> -<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" /> -<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" /> -<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" /> -<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" /> -<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" /> -<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" /> -<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" /> -<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" /> -<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" /> -<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" /> -<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" /> -<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" /> -<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" /> -<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" /> -<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" /> -<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" /> -<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" /> -<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" /> -<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" /> -<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" /> -<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" /> -<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" /> -<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" /> -<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" /> -<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" /> -<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" /> -<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" /> -<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" /> -<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" /> -<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" /> -<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" /> -<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" /> -<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" /> -<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" /> -<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" /> -<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" /> -<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" /> -<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" /> -<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" /> -<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" /> -<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" /> -<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" /> -<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" /> -<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" /> -<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> -<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" /> -<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" /> -<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" /> -<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> -<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" /> -<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" /> -<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" /> -<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" /> -<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" /> -<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" /> -<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" /> -<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" /> -<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" /> -<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" /> -<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" /> -<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" /> -<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" /> -<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " /> -<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" /> -<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" /> -<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" /> -<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" /> -<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" /> -<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" /> -<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" /> -<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" /> -<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" /> -<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" /> -<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" /> -<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" /> -<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " /> -<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " /> -<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" /> -<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" /> -<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" /> -<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" /> -<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" /> -<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" /> -<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" /> -<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" /> -<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" /> -<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" /> -<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" /> -<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" /> -<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" /> -<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" /> -<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" /> -<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" /> -<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" /> -<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" /> -<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" /> -<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" /> -<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" /> -<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" /> -<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" /> -<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" /> -<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" /> -<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" /> -<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" /> -<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" /> -<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" /> -<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" /> -<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " /> -<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" /> -<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" /> -<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" /> -<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" /> -<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" /> -<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" /> -<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" /> -<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" /> -<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" /> -<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" /> -<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" /> -<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" /> -<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" /> -<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" /> -<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" /> -<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" /> -<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" /> -<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" /> -<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" /> -<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" /> -<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" /> -<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" /> -<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" /> -<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" /> -<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " /> -<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" /> -<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" /> -<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" /> -<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" /> -<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" /> -<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" /> -<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" /> -<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" /> -<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" /> -<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" /> -<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" /> -<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" /> -<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" /> -<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" /> -<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" /> -<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" /> -<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" /> -<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" /> -<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" /> -<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" /> -<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" /> -<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" /> -<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" /> -<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" /> -<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" /> -<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" /> -<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" /> -<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" /> -<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" /> -<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" /> -<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" /> -<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" /> -<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" /> -<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" /> -<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.ttf b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.ttf deleted file mode 100644 index 1413fc609..000000000 Binary files a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.ttf and /dev/null differ diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff deleted file mode 100644 index 9e612858f..000000000 Binary files a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff and /dev/null differ diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 deleted file mode 100644 index 64539b54c..000000000 Binary files a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg new file mode 100644 index 000000000..5b4b19953 --- /dev/null +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M8.5 1H1c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h10c.55 0 1-.45 1-1V4.5L8.5 1zM11 14H1V2h7l3 3v9zM5 6.98L3.5 8.5 5 10l-.5 1L2 8.5 4.5 6l.5.98zM7.5 6L10 8.5 7.5 11l-.5-.98L8.5 8.5 7 7l.5-1z"/></svg> \ No newline at end of file diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg new file mode 100644 index 000000000..4bf1f1caa --- /dev/null +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path fill-rule="evenodd" d="M13 4H7V3c0-.66-.31-1-1-1H1c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V5c0-.55-.45-1-1-1zM6 4H1V3h5v1z"/></svg> \ No newline at end of file diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js index 9bcd2fcca..1a4771236 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. - * Licensed under the MIT license - */ -if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){ -this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file + * Bootstrap v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,h){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},e=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(o).filter(function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable}))),e.forEach(function(t){var e,n,i;e=r,i=o[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return r}e=e&&e.hasOwnProperty("default")?e.default:e,h=h&&h.hasOwnProperty("default")?h.default:h;var r,n,o,a,c,u,f,d,g,_,m,p,v,y,E,C,T,b,S,I,A,D,w,N,O,k,P,j,H,L,R,x,W,U,q,F,K,M,Q,B,V,Y,z,J,Z,G,$,X,tt,et,nt,it,rt,ot,st,at,lt,ct,ht,ut,ft,dt,gt,_t,mt,pt,vt,yt,Et,Ct,Tt,bt,St,It,At,Dt,wt,Nt,Ot,kt,Pt,jt,Ht,Lt,Rt,xt,Wt,Ut,qt,Ft,Kt,Mt,Qt,Bt,Vt,Yt,zt,Jt,Zt,Gt,$t,Xt,te,ee,ne,ie,re,oe,se,ae,le,ce,he,ue,fe,de,ge,_e,me,pe,ve,ye,Ee,Ce,Te,be,Se,Ie,Ae,De,we,Ne,Oe,ke,Pe,je,He,Le,Re,xe,We,Ue,qe,Fe,Ke,Me,Qe,Be,Ve,Ye,ze,Je,Ze,Ge,$e,Xe,tn,en,nn,rn,on,sn,an,ln,cn,hn,un,fn,dn,gn,_n,mn,pn,vn,yn,En,Cn,Tn,bn,Sn,In,An,Dn,wn,Nn,On,kn,Pn,jn,Hn,Ln,Rn,xn,Wn,Un,qn,Fn=function(i){var e="transitionend";function t(t){var e=this,n=!1;return i(this).one(l.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||l.triggerTransitionEnd(e)},t),this}var l={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");e&&"#"!==e||(e=t.getAttribute("href")||"");try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=i(t).css("transition-duration");return parseFloat(e)?(e=e.split(",")[0],1e3*parseFloat(e)):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){i(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i],o=e[i],s=o&&l.isElement(o)?"element":(a=o,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(r).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+r+'".')}var a}};return i.fn.emulateTransitionEnd=t,i.event.special[l.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(i(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}},l}(e),Kn=(n="alert",a="."+(o="bs.alert"),c=(r=e).fn[n],u={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",g="show",_=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){r.removeData(this._element,o),this._element=null},t._getRootElement=function(t){var e=Fn.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=r(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=r.Event(u.CLOSE);return r(t).trigger(e),e},t._removeElement=function(e){var n=this;if(r(e).removeClass(g),r(e).hasClass(d)){var t=Fn.getTransitionDurationFromElement(e);r(e).one(Fn.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){r(t).detach().trigger(u.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=r(this),e=t.data(o);e||(e=new i(this),t.data(o,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),r(document).on(u.CLICK_DATA_API,'[data-dismiss="alert"]',_._handleDismiss(new _)),r.fn[n]=_._jQueryInterface,r.fn[n].Constructor=_,r.fn[n].noConflict=function(){return r.fn[n]=c,_._jQueryInterface},_),Mn=(p="button",y="."+(v="bs.button"),E=".data-api",C=(m=e).fn[p],T="active",b="btn",I='[data-toggle^="button"]',A='[data-toggle="buttons"]',D="input",w=".active",N=".btn",O={CLICK_DATA_API:"click"+y+E,FOCUS_BLUR_DATA_API:(S="focus")+y+E+" blur"+y+E},k=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=m(this._element).closest(A)[0];if(n){var i=this._element.querySelector(D);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(T))t=!1;else{var r=n.querySelector(w);r&&m(r).removeClass(T)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(T),m(i).trigger("change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(T)),t&&m(this._element).toggleClass(T)},t.dispose=function(){m.removeData(this._element,v),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=m(this).data(v);t||(t=new n(this),m(this).data(v,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),n}(),m(document).on(O.CLICK_DATA_API,I,function(t){t.preventDefault();var e=t.target;m(e).hasClass(b)||(e=m(e).closest(N)),k._jQueryInterface.call(m(e),"toggle")}).on(O.FOCUS_BLUR_DATA_API,I,function(t){var e=m(t.target).closest(N)[0];m(e).toggleClass(S,/^focus(in)?$/.test(t.type))}),m.fn[p]=k._jQueryInterface,m.fn[p].Constructor=k,m.fn[p].noConflict=function(){return m.fn[p]=C,k._jQueryInterface},k),Qn=(j="carousel",L="."+(H="bs.carousel"),R=".data-api",x=(P=e).fn[j],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},q="next",F="prev",K="left",M="right",Q={SLIDE:"slide"+L,SLID:"slid"+L,KEYDOWN:"keydown"+L,MOUSEENTER:"mouseenter"+L,MOUSELEAVE:"mouseleave"+L,TOUCHEND:"touchend"+L,LOAD_DATA_API:"load"+L+R,CLICK_DATA_API:"click"+L+R},B="carousel",V="active",Y="slide",z="carousel-item-right",J="carousel-item-left",Z="carousel-item-next",G="carousel-item-prev",$=".active",X=".active.carousel-item",tt=".carousel-item",et=".carousel-item-next, .carousel-item-prev",nt=".carousel-indicators",it="[data-slide], [data-slide-to]",rt='[data-ride="carousel"]',ot=function(){function o(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(e),this._element=P(t)[0],this._indicatorsElement=this._element.querySelector(nt),this._addEventListeners()}var t=o.prototype;return t.next=function(){this._isSliding||this._slide(q)},t.nextWhenVisible=function(){!document.hidden&&P(this._element).is(":visible")&&"hidden"!==P(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(F)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(et)&&(Fn.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(X);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?q:F;this._slide(i,this._items[t])}},t.dispose=function(){P(this._element).off(L),P.removeData(this._element,H),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},W,t),Fn.typeCheckConfig(j,t,U),t},t._addEventListeners=function(){var e=this;this._config.keyboard&&P(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&(P(this._element).on(Q.MOUSEENTER,function(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),"ontouchstart"in document.documentElement&&P(this._element).on(Q.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(tt)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===q,i=t===F,r=this._getItemIndex(e),o=this._items.length-1;if((i&&0===r||n&&r===o)&&!this._config.wrap)return e;var s=(r+(t===F?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(X)),r=P.Event(Q.SLIDE,{relatedTarget:t,direction:e,from:i,to:n});return P(this._element).trigger(r),r},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll($));P(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&P(n).addClass(V)}},t._slide=function(t,e){var n,i,r,o=this,s=this._element.querySelector(X),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(t===q?(n=J,i=Z,r=K):(n=z,i=G,r=M),l&&P(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,r).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=P.Event(Q.SLID,{relatedTarget:l,direction:r,from:a,to:c});if(P(this._element).hasClass(Y)){P(l).addClass(i),Fn.reflow(l),P(s).addClass(n),P(l).addClass(n);var f=Fn.getTransitionDurationFromElement(s);P(s).one(Fn.TRANSITION_END,function(){P(l).removeClass(n+" "+i).addClass(V),P(s).removeClass(V+" "+i+" "+n),o._isSliding=!1,setTimeout(function(){return P(o._element).trigger(u)},0)}).emulateTransitionEnd(f)}else P(s).removeClass(V),P(l).addClass(V),this._isSliding=!1,P(this._element).trigger(u);h&&this.cycle()}},o._jQueryInterface=function(i){return this.each(function(){var t=P(this).data(H),e=l({},W,P(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new o(this,e),P(this).data(H,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},o._dataApiClickHandler=function(t){var e=Fn.getSelectorFromElement(this);if(e){var n=P(e)[0];if(n&&P(n).hasClass(B)){var i=l({},P(n).data(),P(this).data()),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),o._jQueryInterface.call(P(n),i),r&&P(n).data(H).to(r),t.preventDefault()}}},s(o,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return W}}]),o}(),P(document).on(Q.CLICK_DATA_API,it,ot._dataApiClickHandler),P(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(rt)),e=0,n=t.length;e<n;e++){var i=P(t[e]);ot._jQueryInterface.call(i,i.data())}}),P.fn[j]=ot._jQueryInterface,P.fn[j].Constructor=ot,P.fn[j].noConflict=function(){return P.fn[j]=x,ot._jQueryInterface},ot),Bn=(at="collapse",ct="."+(lt="bs.collapse"),ht=(st=e).fn[at],ut={toggle:!0,parent:""},ft={toggle:"boolean",parent:"(string|element)"},dt={SHOW:"show"+ct,SHOWN:"shown"+ct,HIDE:"hide"+ct,HIDDEN:"hidden"+ct,CLICK_DATA_API:"click"+ct+".data-api"},gt="show",_t="collapse",mt="collapsing",pt="collapsed",vt="width",yt="height",Et=".show, .collapsing",Ct='[data-toggle="collapse"]',Tt=function(){function a(e,t){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(t),this._triggerArray=st.makeArray(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(Ct)),i=0,r=n.length;i<r;i++){var o=n[i],s=Fn.getSelectorFromElement(o),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(o))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){st(this._element).hasClass(gt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!st(this._element).hasClass(gt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Et)).filter(function(t){return t.getAttribute("data-parent")===n._config.parent})).length&&(t=null),!(t&&(e=st(t).not(this._selector).data(lt))&&e._isTransitioning))){var i=st.Event(dt.SHOW);if(st(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(st(t).not(this._selector),"hide"),e||st(t).data(lt,null));var r=this._getDimension();st(this._element).removeClass(_t).addClass(mt),this._element.style[r]=0,this._triggerArray.length&&st(this._triggerArray).removeClass(pt).attr("aria-expanded",!0),this.setTransitioning(!0);var o="scroll"+(r[0].toUpperCase()+r.slice(1)),s=Fn.getTransitionDurationFromElement(this._element);st(this._element).one(Fn.TRANSITION_END,function(){st(n._element).removeClass(mt).addClass(_t).addClass(gt),n._element.style[r]="",n.setTransitioning(!1),st(n._element).trigger(dt.SHOWN)}).emulateTransitionEnd(s),this._element.style[r]=this._element[o]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&st(this._element).hasClass(gt)){var e=st.Event(dt.HIDE);if(st(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",Fn.reflow(this._element),st(this._element).addClass(mt).removeClass(_t).removeClass(gt);var i=this._triggerArray.length;if(0<i)for(var r=0;r<i;r++){var o=this._triggerArray[r],s=Fn.getSelectorFromElement(o);if(null!==s)st([].slice.call(document.querySelectorAll(s))).hasClass(gt)||st(o).addClass(pt).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=Fn.getTransitionDurationFromElement(this._element);st(this._element).one(Fn.TRANSITION_END,function(){t.setTransitioning(!1),st(t._element).removeClass(mt).addClass(_t).trigger(dt.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){st.removeData(this._element,lt),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},ut,t)).toggle=Boolean(t.toggle),Fn.typeCheckConfig(at,t,ft),t},t._getDimension=function(){return st(this._element).hasClass(vt)?vt:yt},t._getParent=function(){var n=this,t=null;Fn.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return st(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){if(t){var n=st(t).hasClass(gt);e.length&&st(e).toggleClass(pt,!n).attr("aria-expanded",n)}},a._getTargetFromElement=function(t){var e=Fn.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=st(this),e=t.data(lt),n=l({},ut,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(lt,e)),"string"==typeof i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ut}}]),a}(),st(document).on(dt.CLICK_DATA_API,Ct,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=st(this),e=Fn.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));st(i).each(function(){var t=st(this),e=t.data(lt)?"toggle":n.data();Tt._jQueryInterface.call(t,e)})}),st.fn[at]=Tt._jQueryInterface,st.fn[at].Constructor=Tt,st.fn[at].noConflict=function(){return st.fn[at]=ht,Tt._jQueryInterface},Tt),Vn=(St="dropdown",At="."+(It="bs.dropdown"),Dt=".data-api",wt=(bt=e).fn[St],Nt=new RegExp("38|40|27"),Ot={HIDE:"hide"+At,HIDDEN:"hidden"+At,SHOW:"show"+At,SHOWN:"shown"+At,CLICK:"click"+At,CLICK_DATA_API:"click"+At+Dt,KEYDOWN_DATA_API:"keydown"+At+Dt,KEYUP_DATA_API:"keyup"+At+Dt},kt="disabled",Pt="show",jt="dropup",Ht="dropright",Lt="dropleft",Rt="dropdown-menu-right",xt="position-static",Wt='[data-toggle="dropdown"]',Ut=".dropdown form",qt=".dropdown-menu",Ft=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Mt="top-start",Qt="top-end",Bt="bottom-start",Vt="bottom-end",Yt="right-start",zt="left-start",Jt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Zt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Gt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!bt(this._element).hasClass(kt)){var t=c._getParentFromElement(this._element),e=bt(this._menu).hasClass(Pt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=bt.Event(Ot.SHOW,n);if(bt(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof h)throw new TypeError("Bootstrap dropdown require Popper.js (https://popper.js.org)");var r=this._element;"parent"===this._config.reference?r=t:Fn.isElement(this._config.reference)&&(r=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(r=this._config.reference[0])),"scrollParent"!==this._config.boundary&&bt(t).addClass(xt),this._popper=new h(r,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===bt(t).closest(Ft).length&&bt(document.body).children().on("mouseover",null,bt.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),bt(this._menu).toggleClass(Pt),bt(t).toggleClass(Pt).trigger(bt.Event(Ot.SHOWN,n))}}}},t.dispose=function(){bt.removeData(this._element,It),bt(this._element).off(At),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;bt(this._element).on(Ot.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,bt(this._element).data(),t),Fn.typeCheckConfig(St,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._element);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=bt(this._element.parentNode),e=Bt;return t.hasClass(jt)?(e=Mt,bt(this._menu).hasClass(Rt)&&(e=Qt)):t.hasClass(Ht)?e=Yt:t.hasClass(Lt)?e=zt:bt(this._menu).hasClass(Rt)&&(e=Vt),e},t._detectNavbar=function(){return 0<bt(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=bt(this).data(It);if(t||(t=new c(this,"object"==typeof e?e:null),bt(this).data(It,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(Wt)),n=0,i=e.length;n<i;n++){var r=c._getParentFromElement(e[n]),o=bt(e[n]).data(It),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),o){var a=o._menu;if(bt(r).hasClass(Pt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&bt.contains(r,t.target))){var l=bt.Event(Ot.HIDE,s);bt(r).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&bt(document.body).children().off("mouseover",null,bt.noop),e[n].setAttribute("aria-expanded","false"),bt(a).removeClass(Pt),bt(r).removeClass(Pt).trigger(bt.Event(Ot.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=Fn.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.which&&(40!==t.which&&38!==t.which||bt(t.target).closest(qt).length)):Nt.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!bt(this).hasClass(kt))){var e=c._getParentFromElement(this),n=bt(e).hasClass(Pt);if((n||27===t.which&&32===t.which)&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var r=i.indexOf(t.target);38===t.which&&0<r&&r--,40===t.which&&r<i.length-1&&r++,r<0&&(r=0),i[r].focus()}}else{if(27===t.which){var o=e.querySelector(Wt);bt(o).trigger("focus")}bt(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Jt}},{key:"DefaultType",get:function(){return Zt}}]),c}(),bt(document).on(Ot.KEYDOWN_DATA_API,Wt,Gt._dataApiKeydownHandler).on(Ot.KEYDOWN_DATA_API,qt,Gt._dataApiKeydownHandler).on(Ot.CLICK_DATA_API+" "+Ot.KEYUP_DATA_API,Gt._clearMenus).on(Ot.CLICK_DATA_API,Wt,function(t){t.preventDefault(),t.stopPropagation(),Gt._jQueryInterface.call(bt(this),"toggle")}).on(Ot.CLICK_DATA_API,Ut,function(t){t.stopPropagation()}),bt.fn[St]=Gt._jQueryInterface,bt.fn[St].Constructor=Gt,bt.fn[St].noConflict=function(){return bt.fn[St]=wt,Gt._jQueryInterface},Gt),Yn=(Xt="modal",ee="."+(te="bs.modal"),ne=($t=e).fn[Xt],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},re={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},oe={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-scrollbar-measure",ae="modal-backdrop",le="modal-open",ce="fade",he="show",ue=".modal-dialog",fe='[data-toggle="modal"]',de='[data-dismiss="modal"]',ge=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",_e=".sticky-top",me=function(){function r(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(ue),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._scrollbarWidth=0}var t=r.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isTransitioning&&!this._isShown){$t(this._element).hasClass(ce)&&(this._isTransitioning=!0);var n=$t.Event(oe.SHOW,{relatedTarget:t});$t(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),$t(document.body).addClass(le),this._setEscapeEvent(),this._setResizeEvent(),$t(this._element).on(oe.CLICK_DISMISS,de,function(t){return e.hide(t)}),$t(this._dialog).on(oe.MOUSEDOWN_DISMISS,function(){$t(e._element).one(oe.MOUSEUP_DISMISS,function(t){$t(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),!this._isTransitioning&&this._isShown){var n=$t.Event(oe.HIDE);if($t(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=$t(this._element).hasClass(ce);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),$t(document).off(oe.FOCUSIN),$t(this._element).removeClass(he),$t(this._element).off(oe.CLICK_DISMISS),$t(this._dialog).off(oe.MOUSEDOWN_DISMISS),i){var r=Fn.getTransitionDurationFromElement(this._element);$t(this._element).one(Fn.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(r)}else this._hideModal()}}},t.dispose=function(){$t.removeData(this._element,te),$t(window,document,this._element,this._backdrop).off(ee),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),Fn.typeCheckConfig(Xt,t,re),t},t._showElement=function(t){var e=this,n=$t(this._element).hasClass(ce);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,n&&Fn.reflow(this._element),$t(this._element).addClass(he),this._config.focus&&this._enforceFocus();var i=$t.Event(oe.SHOWN,{relatedTarget:t}),r=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,$t(e._element).trigger(i)};if(n){var o=Fn.getTransitionDurationFromElement(this._element);$t(this._dialog).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()},t._enforceFocus=function(){var e=this;$t(document).off(oe.FOCUSIN).on(oe.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===$t(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?$t(this._element).on(oe.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||$t(this._element).off(oe.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?$t(window).on(oe.RESIZE,function(t){return e.handleUpdate(t)}):$t(window).off(oe.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._isTransitioning=!1,this._showBackdrop(function(){$t(document.body).removeClass(le),t._resetAdjustments(),t._resetScrollbar(),$t(t._element).trigger(oe.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&($t(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=$t(this._element).hasClass(ce)?ce:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ae,n&&this._backdrop.classList.add(n),$t(this._backdrop).appendTo(document.body),$t(this._element).on(oe.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&Fn.reflow(this._backdrop),$t(this._backdrop).addClass(he),!t)return;if(!n)return void t();var i=Fn.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(Fn.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){$t(this._backdrop).removeClass(he);var r=function(){e._removeBackdrop(),t&&t()};if($t(this._element).hasClass(ce)){var o=Fn.getTransitionDurationFromElement(this._backdrop);$t(this._backdrop).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var r=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(ge)),e=[].slice.call(document.querySelectorAll(_e));$t(t).each(function(t,e){var n=e.style.paddingRight,i=$t(e).css("padding-right");$t(e).data("padding-right",n).css("padding-right",parseFloat(i)+r._scrollbarWidth+"px")}),$t(e).each(function(t,e){var n=e.style.marginRight,i=$t(e).css("margin-right");$t(e).data("margin-right",n).css("margin-right",parseFloat(i)-r._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=$t(document.body).css("padding-right");$t(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}},t._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(ge));$t(t).each(function(t,e){var n=$t(e).data("padding-right");$t(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+_e));$t(e).each(function(t,e){var n=$t(e).data("margin-right");"undefined"!=typeof n&&$t(e).css("margin-right",n).removeData("margin-right")});var n=$t(document.body).data("padding-right");$t(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=se,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},r._jQueryInterface=function(n,i){return this.each(function(){var t=$t(this).data(te),e=l({},ie,$t(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new r(this,e),$t(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show(i)})},s(r,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return ie}}]),r}(),$t(document).on(oe.CLICK_DATA_API,fe,function(t){var e,n=this,i=Fn.getSelectorFromElement(this);i&&(e=document.querySelector(i));var r=$t(e).data(te)?"toggle":l({},$t(e).data(),$t(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var o=$t(e).one(oe.SHOW,function(t){t.isDefaultPrevented()||o.one(oe.HIDDEN,function(){$t(n).is(":visible")&&n.focus()})});me._jQueryInterface.call($t(e),r,this)}),$t.fn[Xt]=me._jQueryInterface,$t.fn[Xt].Constructor=me,$t.fn[Xt].noConflict=function(){return $t.fn[Xt]=ne,me._jQueryInterface},me),zn=(ve="tooltip",Ee="."+(ye="bs.tooltip"),Ce=(pe=e).fn[ve],Te="bs-tooltip",be=new RegExp("(^|\\s)"+Te+"\\S+","g"),Ae={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!(Ie={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},we="out",Ne={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:(De="show")+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Oe="fade",ke="show",Pe=".tooltip-inner",je=".arrow",He="hover",Le="focus",Re="click",xe="manual",We=function(){function i(t,e){if("undefined"==typeof h)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=pe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(pe(this.getTipElement()).hasClass(ke))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),pe.removeData(this.element,this.constructor.DATA_KEY),pe(this.element).off(this.constructor.EVENT_KEY),pe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&pe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===pe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=pe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){pe(this.element).trigger(t);var n=pe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Fn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&pe(i).addClass(Oe);var o="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,s=this._getAttachment(o);this.addAttachmentClass(s);var a=!1===this.config.container?document.body:pe(document).find(this.config.container);pe(i).data(this.constructor.DATA_KEY,this),pe.contains(this.element.ownerDocument.documentElement,this.tip)||pe(i).appendTo(a),pe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new h(this.element,i,{placement:s,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:je},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),pe(i).addClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().on("mouseover",null,pe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,pe(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(pe(this.tip).hasClass(Oe)){var c=Fn.getTransitionDurationFromElement(this.tip);pe(this.tip).one(Fn.TRANSITION_END,l).emulateTransitionEnd(c)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=pe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==De&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),pe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(pe(this.element).trigger(i),!i.isDefaultPrevented()){if(pe(n).removeClass(ke),"ontouchstart"in document.documentElement&&pe(document.body).children().off("mouseover",null,pe.noop),this._activeTrigger[Re]=!1,this._activeTrigger[Le]=!1,this._activeTrigger[He]=!1,pe(this.tip).hasClass(Oe)){var o=Fn.getTransitionDurationFromElement(n);pe(n).one(Fn.TRANSITION_END,r).emulateTransitionEnd(o)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){pe(this.getTipElement()).addClass(Te+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||pe(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(pe(t.querySelectorAll(Pe)),this.getTitle()),pe(t).removeClass(Oe+" "+ke)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?pe(e).parent().is(t)||t.empty().append(e):t.text(pe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return Ie[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)pe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==xe){var e=t===He?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===He?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;pe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}pe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Le:He]=!0),pe(e.getTipElement()).hasClass(ke)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||pe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),pe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Le:He]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,pe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Fn.typeCheckConfig(ve,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=pe(this.getTipElement()),e=t.attr("class").match(be);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(pe(t).removeClass(Oe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=pe(this).data(ye),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),pe(this).data(ye,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ae}},{key:"NAME",get:function(){return ve}},{key:"DATA_KEY",get:function(){return ye}},{key:"Event",get:function(){return Ne}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}(),pe.fn[ve]=We._jQueryInterface,pe.fn[ve].Constructor=We,pe.fn[ve].noConflict=function(){return pe.fn[ve]=Ce,We._jQueryInterface},We),Jn=(qe="popover",Ke="."+(Fe="bs.popover"),Me=(Ue=e).fn[qe],Qe="bs-popover",Be=new RegExp("(^|\\s)"+Qe+"\\S+","g"),Ve=l({},zn.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Ye=l({},zn.DefaultType,{content:"(string|element|function)"}),ze="fade",Ze=".popover-header",Ge=".popover-body",$e={HIDE:"hide"+Ke,HIDDEN:"hidden"+Ke,SHOW:(Je="show")+Ke,SHOWN:"shown"+Ke,INSERTED:"inserted"+Ke,CLICK:"click"+Ke,FOCUSIN:"focusin"+Ke,FOCUSOUT:"focusout"+Ke,MOUSEENTER:"mouseenter"+Ke,MOUSELEAVE:"mouseleave"+Ke},Xe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){Ue(this.getTipElement()).addClass(Qe+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||Ue(this.config.template)[0],this.tip},r.setContent=function(){var t=Ue(this.getTipElement());this.setElementContent(t.find(Ze),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ge),e),t.removeClass(ze+" "+Je)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=Ue(this.getTipElement()),e=t.attr("class").match(Be);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=Ue(this).data(Fe),e="object"==typeof n?n:null;if((t||!/destroy|hide/.test(n))&&(t||(t=new i(this,e),Ue(this).data(Fe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return Ve}},{key:"NAME",get:function(){return qe}},{key:"DATA_KEY",get:function(){return Fe}},{key:"Event",get:function(){return $e}},{key:"EVENT_KEY",get:function(){return Ke}},{key:"DefaultType",get:function(){return Ye}}]),i}(zn),Ue.fn[qe]=Xe._jQueryInterface,Ue.fn[qe].Constructor=Xe,Ue.fn[qe].noConflict=function(){return Ue.fn[qe]=Me,Xe._jQueryInterface},Xe),Zn=(en="scrollspy",rn="."+(nn="bs.scrollspy"),on=(tn=e).fn[en],sn={offset:10,method:"auto",target:""},an={offset:"number",method:"string",target:"(string|element)"},ln={ACTIVATE:"activate"+rn,SCROLL:"scroll"+rn,LOAD_DATA_API:"load"+rn+".data-api"},cn="dropdown-item",hn="active",un='[data-spy="scroll"]',fn=".active",dn=".nav, .list-group",gn=".nav-link",_n=".nav-item",mn=".list-group-item",pn=".dropdown",vn=".dropdown-item",yn=".dropdown-toggle",En="offset",Cn="position",Tn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+gn+","+this._config.target+" "+mn+","+this._config.target+" "+vn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,tn(this._scrollElement).on(ln.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?En:Cn,r="auto"===this._config.method?t:this._config.method,o=r===Cn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=Fn.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClientRect();if(i.width||i.height)return[tn(e)[r]().top+o,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){tn.removeData(this._element,nn),tn(this._scrollElement).off(rn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},sn,"object"==typeof t&&t?t:{})).target){var e=tn(t.target).attr("id");e||(e=Fn.getUID(en),tn(t.target).attr("id",e)),t.target="#"+e}return Fn.typeCheckConfig(en,t,an),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var r=this._offsets.length;r--;){this._activeTarget!==this._targets[r]&&t>=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t<this._offsets[r+1])&&this._activate(this._targets[r])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",");t=t.map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'});var n=tn([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(cn)?(n.closest(pn).find(yn).addClass(hn),n.addClass(hn)):(n.addClass(hn),n.parents(dn).prev(gn+", "+mn).addClass(hn),n.parents(dn).prev(_n).children(gn).addClass(hn)),tn(this._scrollElement).trigger(ln.ACTIVATE,{relatedTarget:e})},t._clear=function(){var t=[].slice.call(document.querySelectorAll(this._selector));tn(t).filter(fn).removeClass(hn)},n._jQueryInterface=function(e){return this.each(function(){var t=tn(this).data(nn);if(t||(t=new n(this,"object"==typeof e&&e),tn(this).data(nn,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.1.3"}},{key:"Default",get:function(){return sn}}]),n}(),tn(window).on(ln.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(un)),e=t.length;e--;){var n=tn(t[e]);Tn._jQueryInterface.call(n,n.data())}}),tn.fn[en]=Tn._jQueryInterface,tn.fn[en].Constructor=Tn,tn.fn[en].noConflict=function(){return tn.fn[en]=on,Tn._jQueryInterface},Tn),Gn=(In="."+(Sn="bs.tab"),An=(bn=e).fn.tab,Dn={HIDE:"hide"+In,HIDDEN:"hidden"+In,SHOW:"show"+In,SHOWN:"shown"+In,CLICK_DATA_API:"click"+In+".data-api"},wn="dropdown-menu",Nn="active",On="disabled",kn="fade",Pn="show",jn=".dropdown",Hn=".nav, .list-group",Ln=".active",Rn="> li > .active",xn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Wn=".dropdown-toggle",Un="> .dropdown-menu .active",qn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&bn(this._element).hasClass(Nn)||bn(this._element).hasClass(On))){var t,i,e=bn(this._element).closest(Hn)[0],r=Fn.getSelectorFromElement(this._element);if(e){var o="UL"===e.nodeName?Rn:Ln;i=(i=bn.makeArray(bn(e).find(o)))[i.length-1]}var s=bn.Event(Dn.HIDE,{relatedTarget:this._element}),a=bn.Event(Dn.SHOW,{relatedTarget:i});if(i&&bn(i).trigger(s),bn(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented()){r&&(t=document.querySelector(r)),this._activate(this._element,e);var l=function(){var t=bn.Event(Dn.HIDDEN,{relatedTarget:n._element}),e=bn.Event(Dn.SHOWN,{relatedTarget:i});bn(i).trigger(t),bn(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){bn.removeData(this._element,Sn),this._element=null},t._activate=function(t,e,n){var i=this,r=("UL"===e.nodeName?bn(e).find(Rn):bn(e).children(Ln))[0],o=n&&r&&bn(r).hasClass(kn),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var a=Fn.getTransitionDurationFromElement(r);bn(r).one(Fn.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){bn(e).removeClass(Pn+" "+Nn);var i=bn(e.parentNode).find(Un)[0];i&&bn(i).removeClass(Nn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(bn(t).addClass(Nn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),Fn.reflow(t),bn(t).addClass(Pn),t.parentNode&&bn(t.parentNode).hasClass(wn)){var r=bn(t).closest(jn)[0];if(r){var o=[].slice.call(r.querySelectorAll(Wn));bn(o).addClass(Nn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=bn(this),e=t.data(Sn);if(e||(e=new i(this),t.data(Sn,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.1.3"}}]),i}(),bn(document).on(Dn.CLICK_DATA_API,xn,function(t){t.preventDefault(),qn._jQueryInterface.call(bn(this),"show")}),bn.fn.tab=qn._jQueryInterface,bn.fn.tab.Constructor=qn,bn.fn.tab.noConflict=function(){return bn.fn.tab=An,qn._jQueryInterface},qn);!function(t){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(e),t.Util=Fn,t.Alert=Kn,t.Button=Mn,t.Carousel=Qn,t.Collapse=Bn,t.Dropdown=Vn,t.Modal=Yn,t.Popover=Jn,t.Scrollspy=Zn,t.Tab=Gn,t.Tooltip=zn,Object.defineProperty(t,"__esModule",{value:!0})}); +//# sourceMappingURL=bootstrap.min.js.map diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/holder.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/holder.min.js deleted file mode 100644 index 6bfc844ba..000000000 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/holder.min.js +++ /dev/null @@ -1,12 +0,0 @@ -/*! - -Holder - client side image placeholders -Version 2.7.1+6hydf -© 2015 Ivan Malopinsky - http://imsky.co - -Site: http://holderjs.com -Issues: https://github.com/imsky/holder/issues -License: http://opensource.org/licenses/MIT - -*/ -!function(a){if(a.document){var b=a.document;b.querySelectorAll||(b.querySelectorAll=function(c){var d,e=b.createElement("style"),f=[];for(b.documentElement.firstChild.appendChild(e),b._qsa=[],e.styleSheet.cssText=c+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",a.scrollBy(0,0),e.parentNode.removeChild(e);b._qsa.length;)d=b._qsa.shift(),d.style.removeAttribute("x-qsa"),f.push(d);return b._qsa=null,f}),b.querySelector||(b.querySelector=function(a){var c=b.querySelectorAll(a);return c.length?c[0]:null}),b.getElementsByClassName||(b.getElementsByClassName=function(a){return a=String(a).replace(/^|\s+/g,"."),b.querySelectorAll(a)}),Object.keys||(Object.keys=function(a){if(a!==Object(a))throw TypeError("Object.keys called on non-object");var b,c=[];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return c}),function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a.atob=a.atob||function(a){a=String(a);var c,d=0,e=[],f=0,g=0;if(a=a.replace(/\s/g,""),a.length%4===0&&(a=a.replace(/=+$/,"")),a.length%4===1)throw Error("InvalidCharacterError");if(/[^+/0-9A-Za-z]/.test(a))throw Error("InvalidCharacterError");for(;d<a.length;)c=b.indexOf(a.charAt(d)),f=f<<6|c,g+=6,24===g&&(e.push(String.fromCharCode(f>>16&255)),e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f)),g=0,f=0),d+=1;return 12===g?(f>>=4,e.push(String.fromCharCode(255&f))):18===g&&(f>>=2,e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f))),e.join("")},a.btoa=a.btoa||function(a){a=String(a);var c,d,e,f,g,h,i,j=0,k=[];if(/[^\x00-\xFF]/.test(a))throw Error("InvalidCharacterError");for(;j<a.length;)c=a.charCodeAt(j++),d=a.charCodeAt(j++),e=a.charCodeAt(j++),f=c>>2,g=(3&c)<<4|d>>4,h=(15&d)<<2|e>>6,i=63&e,j===a.length+2?(h=64,i=64):j===a.length+1&&(i=64),k.push(b.charAt(f),b.charAt(g),b.charAt(h),b.charAt(i));return k.join("")}}(a),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(a){var b=this.__proto__||this.constructor.prototype;return a in this&&(!(a in b)||b[a]!==this[a])}),function(){if("performance"in a==!1&&(a.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in a.performance==!1){var b=Date.now();performance.timing&&performance.timing.navigationStart&&(b=performance.timing.navigationStart),a.performance.now=function(){return Date.now()-b}}}(),a.requestAnimationFrame||(a.webkitRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return webkitRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=webkitCancelAnimationFrame}(a):a.mozRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return mozRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=mozCancelAnimationFrame}(a):!function(a){a.requestAnimationFrame=function(b){return a.setTimeout(b,1e3/60)},a.cancelAnimationFrame=a.clearTimeout}(a))}}(this),function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):"object"==typeof exports?exports.Holder=b():a.Holder=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){(function(b){function d(a,b,c,d){var f=e(c.substr(c.lastIndexOf(a.domain)),a);f&&h({mode:null,el:d,flags:f,engineSettings:b})}function e(a,b){var c={theme:B(J.settings.themes.gray,null),stylesheets:b.stylesheets,instanceOptions:b};return a.match(/([\d]+p?)x([\d]+p?)(?:\?|$)/)?f(a,c):g(a,c)}function f(a,b){var c=a.split("?"),d=c[0].split("/");b.holderURL=a;var e=d[1],f=e.match(/([\d]+p?)x([\d]+p?)/);if(!f)return!1;if(b.fluid=-1!==e.indexOf("p"),b.dimensions={width:f[1].replace("p","%"),height:f[2].replace("p","%")},2===c.length){var g=A.parse(c[1]);if(g.bg&&(b.theme.background=(-1===g.bg.indexOf("#")?"#":"")+g.bg),g.fg&&(b.theme.foreground=(-1===g.fg.indexOf("#")?"#":"")+g.fg),g.theme&&b.instanceOptions.themes.hasOwnProperty(g.theme)&&(b.theme=B(b.instanceOptions.themes[g.theme],null)),g.text&&(b.text=g.text),g.textmode&&(b.textmode=g.textmode),g.size&&(b.size=g.size),g.font&&(b.font=g.font),g.align&&(b.align=g.align),b.nowrap=z.truthy(g.nowrap),b.auto=z.truthy(g.auto),z.truthy(g.random)){J.vars.cache.themeKeys=J.vars.cache.themeKeys||Object.keys(b.instanceOptions.themes);var h=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(b.instanceOptions.themes[h],null)}}return b}function g(a,b){var c=!1,d=String.fromCharCode(11),e=a.replace(/([^\\])\//g,"$1"+d).split(d),f=/%[0-9a-f]{2}/gi,g=b.instanceOptions;b.holderURL=[];for(var h=e.length,i=0;h>i;i++){var j=e[i];if(j.match(f))try{j=decodeURIComponent(j)}catch(k){j=e[i]}var l=!1;if(J.flags.dimensions.match(j))c=!0,b.dimensions=J.flags.dimensions.output(j),l=!0;else if(J.flags.fluid.match(j))c=!0,b.dimensions=J.flags.fluid.output(j),b.fluid=!0,l=!0;else if(J.flags.textmode.match(j))b.textmode=J.flags.textmode.output(j),l=!0;else if(J.flags.colors.match(j)){var m=J.flags.colors.output(j);b.theme=B(b.theme,m),l=!0}else if(g.themes[j])g.themes.hasOwnProperty(j)&&(b.theme=B(g.themes[j],null)),l=!0;else if(J.flags.font.match(j))b.font=J.flags.font.output(j),l=!0;else if(J.flags.auto.match(j))b.auto=!0,l=!0;else if(J.flags.text.match(j))b.text=J.flags.text.output(j),l=!0;else if(J.flags.size.match(j))b.size=J.flags.size.output(j),l=!0;else if(J.flags.random.match(j)){null==J.vars.cache.themeKeys&&(J.vars.cache.themeKeys=Object.keys(g.themes));var n=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(g.themes[n],null),l=!0}l&&b.holderURL.push(j)}return b.holderURL.unshift(g.domain),b.holderURL=b.holderURL.join("/"),c?b:!1}function h(a){var b=a.mode,c=a.el,d=a.flags,e=a.engineSettings,f=d.dimensions,g=d.theme,h=f.width+"x"+f.height;if(b=null==b?d.fluid?"fluid":"image":b,null!=d.text&&(g.text=d.text,"object"===c.nodeName.toLowerCase())){for(var j=g.text.split("\\n"),k=0;k<j.length;k++)j[k]=z.encodeHtmlEntity(j[k]);g.text=j.join("\\n")}var n=d.holderURL,o=B(e,null);if(d.font&&(g.font=d.font,!o.noFontFallback&&"img"===c.nodeName.toLowerCase()&&J.setup.supportsCanvas&&"svg"===o.renderer&&(o=B(o,{renderer:"canvas"}))),d.font&&"canvas"==o.renderer&&(o.reRender=!0),"background"==b)null==c.getAttribute("data-background-src")&&r(c,{"data-background-src":n});else{var p={};p[J.vars.dataAttr]=n,r(c,p)}d.theme=g,c.holderData={flags:d,engineSettings:o},("image"==b||"fluid"==b)&&r(c,{alt:g.text?g.text+" ["+h+"]":h});var q={mode:b,el:c,holderSettings:{dimensions:f,theme:g,flags:d},engineSettings:o};"image"==b?("html"!=o.renderer&&d.auto||(c.style.width=f.width+"px",c.style.height=f.height+"px"),"html"==o.renderer?c.style.backgroundColor=g.background:(i(q),"exact"==d.textmode&&(c.holderData.resizeUpdate=!0,J.vars.resizableImages.push(c),l(c)))):"background"==b&&"html"!=o.renderer?i(q):"fluid"==b&&(c.holderData.resizeUpdate=!0,"%"==f.height.slice(-1)?c.style.height=f.height:null!=d.auto&&d.auto||(c.style.height=f.height+"px"),"%"==f.width.slice(-1)?c.style.width=f.width:null!=d.auto&&d.auto||(c.style.width=f.width+"px"),("inline"==c.style.display||""===c.style.display||"none"==c.style.display)&&(c.style.display="block"),m(c),"html"==o.renderer?c.style.backgroundColor=g.background:(J.vars.resizableImages.push(c),l(c)))}function i(a){function c(){var b=null;switch(h.renderer){case"canvas":b=L(k,a);break;case"svg":b=M(k,a);break;default:throw"Holder: invalid renderer: "+h.renderer}return b}var d=null,e=a.mode,f=a.holderSettings,g=a.el,h=a.engineSettings;switch(h.renderer){case"svg":if(!J.setup.supportsSVG)return;break;case"canvas":if(!J.setup.supportsCanvas)return;break;default:return}var i={width:f.dimensions.width,height:f.dimensions.height,theme:f.theme,flags:f.flags},k=j(i);if(d=c(),null==d)throw"Holder: couldn't render placeholder";"background"==e?(g.style.backgroundImage="url("+d+")",g.style.backgroundSize=i.width+"px "+i.height+"px"):("img"===g.nodeName.toLowerCase()?r(g,{src:d}):"object"===g.nodeName.toLowerCase()&&(r(g,{data:d}),r(g,{type:"image/svg+xml"})),h.reRender&&b.setTimeout(function(){var a=c();if(null==a)throw"Holder: couldn't render placeholder";"img"===g.nodeName.toLowerCase()?r(g,{src:a}):"object"===g.nodeName.toLowerCase()&&(r(g,{data:a}),r(g,{type:"image/svg+xml"}))},100)),r(g,{"data-holder-rendered":!0})}function j(a){function b(a,b,c,d){b.width=c,b.height=d,a.width=Math.max(a.width,b.width),a.height+=b.height}var c=J.defaults.size;switch(parseFloat(a.theme.size)?c=a.theme.size:parseFloat(a.flags.size)&&(c=a.flags.size),a.font={family:a.theme.font?a.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:k(a.width,a.height,c),units:a.theme.units?a.theme.units:J.defaults.units,weight:a.theme.fontweight?a.theme.fontweight:"bold"},a.text=a.theme.text||Math.floor(a.width)+"x"+Math.floor(a.height),a.noWrap=a.theme.nowrap||a.flags.nowrap,a.align=a.theme.align||a.flags.align||"center",a.flags.textmode){case"literal":a.text=a.flags.dimensions.width+"x"+a.flags.dimensions.height;break;case"exact":if(!a.flags.exactDimensions)break;a.text=Math.floor(a.flags.exactDimensions.width)+"x"+Math.floor(a.flags.exactDimensions.height)}var d=new y({width:a.width,height:a.height}),e=d.Shape,f=new e.Rect("holderBg",{fill:a.theme.background});f.resize(a.width,a.height),d.root.add(f);var g=new e.Group("holderTextGroup",{text:a.text,align:a.align,font:a.font,fill:a.theme.foreground});g.moveTo(null,null,1),d.root.add(g);var h=g.textPositionData=K(d);if(!h)throw"Holder: staging fallback not supported yet.";g.properties.leading=h.boundingBox.height;var i=null,j=null,l=a.width*J.setup.lineWrapRatio,m=l;if(h.lineCount>1){var n,o=0,p=0,q=0;j=new e.Group("line"+q),("left"===a.align||"right"===a.align)&&(m=a.width*(1-2*(1-J.setup.lineWrapRatio)));for(var r=0;r<h.words.length;r++){var s=h.words[r];i=new e.Text(s.text);var t="\\n"==s.text;!a.noWrap&&(o+s.width>=m||t===!0)&&(b(g,j,o,g.properties.leading),g.add(j),o=0,p+=g.properties.leading,q+=1,j=new e.Group("line"+q),j.y=p),t!==!0&&(i.moveTo(o,0),o+=h.spaceWidth+s.width,j.add(i))}if(b(g,j,o,g.properties.leading),g.add(j),"left"===a.align)g.moveTo(a.width-l,null,null);else if("right"===a.align){for(n in g.children)j=g.children[n],j.moveTo(a.width-j.width,null,null);g.moveTo(0-(a.width-l),null,null)}else{for(n in g.children)j=g.children[n],j.moveTo((g.width-j.width)/2,null,null);g.moveTo((a.width-g.width)/2,null,null)}g.moveTo(null,(a.height-g.height)/2,null),(a.height-g.height)/2<0&&g.moveTo(null,0,null)}else i=new e.Text(a.text),j=new e.Group("line0"),j.add(i),g.add(j),"left"===a.align?g.moveTo(a.width-l,null,null):"right"===a.align?g.moveTo(0-(a.width-l),null,null):g.moveTo((a.width-h.boundingBox.width)/2,null,null),g.moveTo(null,(a.height-h.boundingBox.height)/2,null);return d}function k(a,b,c){var d=parseInt(a,10),e=parseInt(b,10),f=Math.max(d,e),g=Math.min(d,e),h=.8*Math.min(g,f*J.defaults.scale);return Math.round(Math.max(c,h))}function l(a){var b;b=null==a||null==a.nodeType?J.vars.resizableImages:[a];for(var c=0,d=b.length;d>c;c++){var e=b[c];if(e.holderData){var f=e.holderData.flags,g=D(e);if(g){if(!e.holderData.resizeUpdate)continue;if(f.fluid&&f.auto){var h=e.holderData.fluidConfig;switch(h.mode){case"width":g.height=g.width/h.ratio;break;case"height":g.width=g.height*h.ratio}}var j={mode:"image",holderSettings:{dimensions:g,theme:f.theme,flags:f},el:e,engineSettings:e.holderData.engineSettings};"exact"==f.textmode&&(f.exactDimensions=g,j.holderSettings.dimensions=f.dimensions),i(j)}else p(e)}}}function m(a){if(a.holderData){var b=D(a);if(b){var c=a.holderData.flags,d={fluidHeight:"%"==c.dimensions.height.slice(-1),fluidWidth:"%"==c.dimensions.width.slice(-1),mode:null,initialDimensions:b};d.fluidWidth&&!d.fluidHeight?(d.mode="width",d.ratio=d.initialDimensions.width/parseFloat(c.dimensions.height)):!d.fluidWidth&&d.fluidHeight&&(d.mode="height",d.ratio=parseFloat(c.dimensions.width)/d.initialDimensions.height),a.holderData.fluidConfig=d}else p(a)}}function n(){for(var a,c=[],d=Object.keys(J.vars.invisibleImages),e=0,f=d.length;f>e;e++)a=J.vars.invisibleImages[d[e]],D(a)&&"img"==a.nodeName.toLowerCase()&&(c.push(a),delete J.vars.invisibleImages[d[e]]);c.length&&I.run({images:c}),b.requestAnimationFrame(n)}function o(){J.vars.visibilityCheckStarted||(b.requestAnimationFrame(n),J.vars.visibilityCheckStarted=!0)}function p(a){a.holderData.invisibleId||(J.vars.invisibleId+=1,J.vars.invisibleImages["i"+J.vars.invisibleId]=a,a.holderData.invisibleId=J.vars.invisibleId)}function q(a,b){return null==b?document.createElement(a):document.createElementNS(b,a)}function r(a,b){for(var c in b)a.setAttribute(c,b[c])}function s(a,b,c){var d,e;null==a?(a=q("svg",E),d=q("defs",E),e=q("style",E),r(e,{type:"text/css"}),d.appendChild(e),a.appendChild(d)):e=a.querySelector("style"),a.webkitMatchesSelector&&a.setAttribute("xmlns",E);for(var f=0;f<a.childNodes.length;f++)a.childNodes[f].nodeType===F&&a.removeChild(a.childNodes[f]);for(;e.childNodes.length;)e.removeChild(e.childNodes[0]);return r(a,{width:b,height:c,viewBox:"0 0 "+b+" "+c,preserveAspectRatio:"none"}),a}function t(a,c){if(b.XMLSerializer){var d=new XMLSerializer,e="",f=c.stylesheets;if(c.svgXMLStylesheet){for(var g=u(),h=f.length-1;h>=0;h--){var i=g.createProcessingInstruction("xml-stylesheet",'href="'+f[h]+'" rel="stylesheet"');g.insertBefore(i,g.firstChild)}g.removeChild(g.documentElement),e=d.serializeToString(g)}var j=d.serializeToString(a);return j=j.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),e+j}}function u(){return b.DOMParser?(new DOMParser).parseFromString("<xml />","application/xml"):void 0}function v(a){J.vars.debounceTimer||a.call(this),J.vars.debounceTimer&&b.clearTimeout(J.vars.debounceTimer),J.vars.debounceTimer=b.setTimeout(function(){J.vars.debounceTimer=null,a.call(this)},J.setup.debounce)}function w(){v(function(){l(null)})}var x=c(1),y=c(2),z=c(3),A=c(4),B=z.extend,C=z.getNodeArray,D=z.dimensionCheck,E="http://www.w3.org/2000/svg",F=8,G="2.7.1",H="\nCreated with Holder.js "+G+".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n",I={version:G,addTheme:function(a,b){return null!=a&&null!=b&&(J.settings.themes[a]=b),delete J.vars.cache.themeKeys,this},addImage:function(a,b){var c=document.querySelectorAll(b);if(c.length)for(var d=0,e=c.length;e>d;d++){var f=q("img"),g={};g[J.vars.dataAttr]=a,r(f,g),c[d].appendChild(f)}return this},setResizeUpdate:function(a,b){a.holderData&&(a.holderData.resizeUpdate=!!b,a.holderData.resizeUpdate&&l(a))},run:function(a){a=a||{};var c={},f=B(J.settings,a);J.vars.preempted=!0,J.vars.dataAttr=f.dataAttr||J.vars.dataAttr,c.renderer=f.renderer?f.renderer:J.setup.renderer,-1===J.setup.renderers.join(",").indexOf(c.renderer)&&(c.renderer=J.setup.supportsSVG?"svg":J.setup.supportsCanvas?"canvas":"html");var g=C(f.images),i=C(f.bgnodes),j=C(f.stylenodes),k=C(f.objects);c.stylesheets=[],c.svgXMLStylesheet=!0,c.noFontFallback=f.noFontFallback?f.noFontFallback:!1;for(var l=0;l<j.length;l++){var m=j[l];if(m.attributes.rel&&m.attributes.href&&"stylesheet"==m.attributes.rel.value){var n=m.attributes.href.value,o=q("a");o.href=n;var p=o.protocol+"//"+o.host+o.pathname+o.search;c.stylesheets.push(p)}}for(l=0;l<i.length;l++)if(b.getComputedStyle){var r=b.getComputedStyle(i[l],null).getPropertyValue("background-image"),s=i[l].getAttribute("data-background-src"),t=null;t=null==s?r:s;var u=null,v="?"+f.domain+"/";if(0===t.indexOf(v))u=t.slice(1);else if(-1!=t.indexOf(v)){var w=t.substr(t.indexOf(v)).slice(1),x=w.match(/([^\"]*)"?\)/);null!=x&&(u=x[1])}if(null!=u){var y=e(u,f);y&&h({mode:"background",el:i[l],flags:y,engineSettings:c})}}for(l=0;l<k.length;l++){var A=k[l],D={};try{D.data=A.getAttribute("data"),D.dataSrc=A.getAttribute(J.vars.dataAttr)}catch(E){}var F=null!=D.data&&0===D.data.indexOf(f.domain),G=null!=D.dataSrc&&0===D.dataSrc.indexOf(f.domain);F?d(f,c,D.data,A):G&&d(f,c,D.dataSrc,A)}for(l=0;l<g.length;l++){var H=g[l],I={};try{I.src=H.getAttribute("src"),I.dataSrc=H.getAttribute(J.vars.dataAttr),I.rendered=H.getAttribute("data-holder-rendered")}catch(E){}var K=null!=I.src,L=null!=I.dataSrc&&0===I.dataSrc.indexOf(f.domain),M=null!=I.rendered&&"true"==I.rendered;K?0===I.src.indexOf(f.domain)?d(f,c,I.src,H):L&&(M?d(f,c,I.dataSrc,H):!function(a,b,c,e,f){z.imageExists(a,function(a){a||d(b,c,e,f)})}(I.src,f,c,I.dataSrc,H)):L&&d(f,c,I.dataSrc,H)}return this}},J={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",stylesheets:[],themes:{gray:{background:"#EEEEEE",foreground:"#AAAAAA"},social:{background:"#3a5a97",foreground:"#FFFFFF"},industrial:{background:"#434A52",foreground:"#C2F200"},sky:{background:"#0D8FDB",foreground:"#FFFFFF"},vine:{background:"#39DBAC",foreground:"#1E292C"},lava:{background:"#F8591A",foreground:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16},flags:{dimensions:{regex:/^(\d+)x(\d+)$/,output:function(a){var b=this.regex.exec(a);return{width:+b[1],height:+b[2]}}},fluid:{regex:/^([0-9]+%?)x([0-9]+%?)$/,output:function(a){var b=this.regex.exec(a);return{width:b[1],height:b[2]}}},colors:{regex:/(?:#|\^)([0-9a-f]{3,})\:(?:#|\^)([0-9a-f]{3,})/i,output:function(a){var b=this.regex.exec(a);return{foreground:"#"+b[2],background:"#"+b[1]}}},text:{regex:/text\:(.*)/,output:function(a){return this.regex.exec(a)[1].replace("\\/","/")}},font:{regex:/font\:(.*)/,output:function(a){return this.regex.exec(a)[1]}},auto:{regex:/^auto$/},textmode:{regex:/textmode\:(.*)/,output:function(a){return this.regex.exec(a)[1]}},random:{regex:/^random$/},size:{regex:/size\:(\d+)/,output:function(a){return this.regex.exec(a)[1]}}}},K=function(){var a=null,b=null,c=null;return function(d){var e=d.root;if(J.setup.supportsSVG){var f=!1,g=function(a){return document.createTextNode(a)};(null==a||a.parentNode!==document.body)&&(f=!0),a=s(a,e.properties.width,e.properties.height),a.style.display="block",f&&(b=q("text",E),c=g(null),r(b,{x:0}),b.appendChild(c),a.appendChild(b),document.body.appendChild(a),a.style.visibility="hidden",a.style.position="absolute",a.style.top="-100%",a.style.left="-100%");var h=e.children.holderTextGroup,i=h.properties;r(b,{y:i.font.size,style:z.cssProps({"font-weight":i.font.weight,"font-size":i.font.size+i.font.units,"font-family":i.font.family})}),c.nodeValue=i.text;var j=b.getBBox(),k=Math.ceil(j.width/(e.properties.width*J.setup.lineWrapRatio)),l=i.text.split(" "),m=i.text.match(/\\n/g);k+=null==m?0:m.length,c.nodeValue=i.text.replace(/[ ]+/g,"");var n=b.getComputedTextLength(),o=j.width-n,p=Math.round(o/Math.max(1,l.length-1)),t=[];if(k>1){c.nodeValue="";for(var u=0;u<l.length;u++)if(0!==l[u].length){c.nodeValue=z.decodeHtmlEntity(l[u]);var v=b.getBBox();t.push({text:l[u],width:v.width})}}return a.style.display="none",{spaceWidth:p,lineCount:k,boundingBox:j,words:t}}return!1}}(),L=function(){var a=q("canvas"),b=null;return function(c){null==b&&(b=a.getContext("2d"));var d=c.root;a.width=J.dpr(d.properties.width),a.height=J.dpr(d.properties.height),b.textBaseline="middle",b.fillStyle=d.children.holderBg.properties.fill,b.fillRect(0,0,J.dpr(d.children.holderBg.width),J.dpr(d.children.holderBg.height));{var e=d.children.holderTextGroup;e.properties}b.font=e.properties.font.weight+" "+J.dpr(e.properties.font.size)+e.properties.font.units+" "+e.properties.font.family+", monospace",b.fillStyle=e.properties.fill;for(var f in e.children){var g=e.children[f];for(var h in g.children){var i=g.children[h],j=J.dpr(e.x+g.x+i.x),k=J.dpr(e.y+g.y+i.y+e.properties.leading/2);b.fillText(i.properties.text,j,k)}}return a.toDataURL("image/png")}}(),M=function(){if(b.XMLSerializer){var a=u(),c=s(null,0,0),d=q("rect",E);return c.appendChild(d),function(b,e){var f=b.root;s(c,f.properties.width,f.properties.height);for(var g=c.querySelectorAll("g"),h=0;h<g.length;h++)g[h].parentNode.removeChild(g[h]);var i=e.holderSettings.flags.holderURL,j="holder_"+(Number(new Date)+32768+(0|32768*Math.random())).toString(16),k=q("g",E),l=f.children.holderTextGroup,m=l.properties,n=q("g",E),o=l.textPositionData,p="#"+j+" text { "+z.cssProps({fill:m.fill,"font-weight":m.font.weight,"font-family":m.font.family+", monospace","font-size":m.font.size+m.font.units})+" } ",u=a.createComment("\nSource URL: "+i+H),v=a.createCDATASection(p),w=c.querySelector("style");r(k,{id:j}),c.insertBefore(u,c.firstChild),w.appendChild(v),k.appendChild(d),k.appendChild(n),c.appendChild(k),r(d,{width:f.children.holderBg.width,height:f.children.holderBg.height,fill:f.children.holderBg.properties.fill}),l.y+=.8*o.boundingBox.height;for(var x in l.children){var y=l.children[x];for(var A in y.children){var B=y.children[A],C=l.x+y.x+B.x,D=l.y+y.y+B.y,F=q("text",E),G=document.createTextNode(null);r(F,{x:C,y:D}),G.nodeValue=B.properties.text,F.appendChild(G),n.appendChild(F)}}var I=N(t(c,e.engineSettings),"background"===e.mode);return I}}}(),N=function(){var a="data:image/svg+xml;charset=UTF-8,",b="data:image/svg+xml;charset=UTF-8;base64,";return function(c,d){return d?b+btoa(unescape(encodeURIComponent(c))):a+encodeURIComponent(c)}}();for(var O in J.flags)J.flags.hasOwnProperty(O)&&(J.flags[O].match=function(a){return a.match(this.regex)});J.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:!1,supportsSVG:!1,lineWrapRatio:.9,renderers:["html","canvas","svg"]},J.dpr=function(a){return a*J.setup.ratio},J.vars={preempted:!1,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:!1,debounceTimer:null,cache:{},dataAttr:"data-src"},function(){var a=1,c=1,d=q("canvas"),e=null;d.getContext&&-1!=d.toDataURL("image/png").indexOf("data:image/png")&&(J.setup.renderer="canvas",e=d.getContext("2d"),J.setup.supportsCanvas=!0),J.setup.supportsCanvas&&(a=b.devicePixelRatio||1,c=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),J.setup.ratio=a/c,document.createElementNS&&document.createElementNS(E,"svg").createSVGRect&&(J.setup.renderer="svg",J.setup.supportsSVG=!0)}(),o(),x&&x(function(){J.vars.preempted||I.run(),b.addEventListener?(b.addEventListener("resize",w,!1),b.addEventListener("orientationchange",w,!1)):b.attachEvent("onresize",w),"object"==typeof b.Turbolinks&&b.document.addEventListener("page:change",function(){I.run()})}),a.exports=I}).call(b,function(){return this}())},function(a){function b(a){function b(a){if(!v){if(!g.body)return e(b);for(v=!0;a=w.shift();)e(a)}}function c(a){(t||a.type===i||g[m]===l)&&(d(),b())}function d(){t?(g[s](q,c,j),a[s](i,c,j)):(g[o](r,c),a[o](k,c))}function e(a,b){setTimeout(a,+b>=0?b:1)}function f(a){v?e(a):w.push(a)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function y(){document.removeEventListener("DOMContentLoaded",y,!1),document.readyState="complete"},!1),document.readyState="loading");var g=a.document,h=g.documentElement,i="load",j=!1,k="on"+i,l="complete",m="readyState",n="attachEvent",o="detachEvent",p="addEventListener",q="DOMContentLoaded",r="onreadystatechange",s="removeEventListener",t=p in g,u=j,v=j,w=[];if(g[m]===l)e(b);else if(t)g[p](q,c,j),a[p](i,c,j);else{g[n](r,c),a[n](k,c);try{u=null==a.frameElement&&h}catch(x){}u&&u.doScroll&&!function z(){if(!v){try{u.doScroll("left")}catch(a){return e(z,50)}d(),b()}}()}return f.version="1.4.0",f.isReady=function(){return v},f}a.exports="undefined"!=typeof window&&b(window)},function(a,b,c){var d=c(5),e=function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}var c=1,e=d.defclass({constructor:function(a){c++,this.parent=null,this.children={},this.id=c,this.name="n"+c,null!=a&&(this.name=a),this.x=0,this.y=0,this.z=0,this.width=0,this.height=0},resize:function(a,b){null!=a&&(this.width=a),null!=b&&(this.height=b)},moveTo:function(a,b,c){this.x=null!=a?a:this.x,this.y=null!=b?b:this.y,this.z=null!=c?c:this.z},add:function(a){var b=a.name;if(null!=this.children[b])throw"SceneGraph: child with that name already exists: "+b;this.children[b]=a,a.parent=this}}),f=d(e,function(b){this.constructor=function(){b.constructor.call(this,"root"),this.properties=a}}),g=d(e,function(a){function c(c,d){if(a.constructor.call(this,c),this.properties={fill:"#000"},null!=d)b(this.properties,d);else if(null!=c&&"string"!=typeof c)throw"SceneGraph: invalid node name"}this.Group=d.extend(this,{constructor:c,type:"group"}),this.Rect=d.extend(this,{constructor:c,type:"rect"}),this.Text=d.extend(this,{constructor:function(a){c.call(this),this.properties.text=a},type:"text"})}),h=new f;return this.Shape=g,this.root=h,this};a.exports=e},function(a,b){(function(a){b.extend=function(a,b){var c={};for(var d in a)a.hasOwnProperty(d)&&(c[d]=a[d]);if(null!=b)for(var e in b)b.hasOwnProperty(e)&&(c[e]=b[e]);return c},b.cssProps=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+":"+a[c]);return b.join(";")},b.encodeHtmlEntity=function(a){for(var b=[],c=0,d=a.length-1;d>=0;d--)c=a.charCodeAt(d),b.unshift(c>128?["&#",c,";"].join(""):a[d]);return b.join("")},b.getNodeArray=function(b){var c=null;return"string"==typeof b?c=document.querySelectorAll(b):a.NodeList&&b instanceof a.NodeList?c=b:a.Node&&b instanceof a.Node?c=[b]:a.HTMLCollection&&b instanceof a.HTMLCollection?c=b:b instanceof Array?c=b:null===b&&(c=[]),c},b.imageExists=function(a,b){var c=new Image;c.onerror=function(){b.call(this,!1)},c.onload=function(){b.call(this,!0)},c.src=a},b.decodeHtmlEntity=function(a){return a.replace(/&#(\d+);/g,function(a,b){return String.fromCharCode(b)})},b.dimensionCheck=function(a){var b={height:a.clientHeight,width:a.clientWidth};return b.height&&b.width?b:!1},b.truthy=function(a){return"string"==typeof a?"true"===a||"yes"===a||"1"===a||"on"===a||"✓"===a:!!a}}).call(b,function(){return this}())},function(a,b,c){var d=encodeURIComponent,e=decodeURIComponent,f=c(6),g=c(7),h=/(\w+)\[(\d+)\]/,i=/\w+\.\w+/;b.parse=function(a){if("string"!=typeof a)return{};if(a=f(a),""===a)return{};"?"===a.charAt(0)&&(a=a.slice(1));for(var b={},c=a.split("&"),d=0;d<c.length;d++){var g,j,k,l=c[d].split("="),m=e(l[0]);if(g=h.exec(m))b[g[1]]=b[g[1]]||[],b[g[1]][g[2]]=e(l[1]);else if(g=i.test(m)){for(g=m.split("."),j=b;g.length;)if(k=g.shift(),k.length){if(j[k]){if(j[k]&&"object"!=typeof j[k])break}else j[k]={};g.length||(j[k]=e(l[1])),j=j[k]}}else b[l[0]]=null==l[1]?"":e(l[1])}return b},b.stringify=function(a){if(!a)return"";var b=[];for(var c in a){var e=a[c];if("array"!=g(e))b.push(d(c)+"="+d(a[c]));else for(var f=0;f<e.length;++f)b.push(d(c+"["+f+"]")+"="+d(e[f]))}return b.join("&")}},function(a){var b=function(){},c=Array.prototype.slice,d=function(a,d){var e=b.prototype="function"==typeof a?a.prototype:a,f=new b,g=d.apply(f,c.call(arguments,2).concat(e));if("object"==typeof g)for(var h in g)f[h]=g[h];if(!f.hasOwnProperty("constructor"))return f;var i=f.constructor;return i.prototype=f,i};d.defclass=function(a){var b=a.constructor;return b.prototype=a,b},d.extend=function(a,b){return d(a,function(a){return this.uber=a,b})},a.exports=d},function(a,b){function c(a){return a.replace(/^\s*|\s*$/g,"")}b=a.exports=c,b.left=function(a){return a.replace(/^\s*/,"")},b.right=function(a){return a.replace(/\s*$/,"")}},function(a){var b=Object.prototype.toString;a.exports=function(a){switch(b.call(a)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===a?"null":void 0===a?"undefined":a!==a?"nan":a&&1===a.nodeType?"element":(a=a.valueOf?a.valueOf():Object.prototype.valueOf.apply(a),typeof a)}}])}),function(a,b){b&&(Holder=a.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package); diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/html5shiv.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/html5shiv.min.js deleted file mode 100644 index 45ea723dd..000000000 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/html5shiv.min.js +++ /dev/null @@ -1,326 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -;(function(window, document) { -/*jshint evil:true */ - /** version */ - var version = '3.7.3'; - - /** Preset options */ - var options = window.html5 || {}; - - /** Used to skip problem elements */ - var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; - - /** Not all elements can be cloned in IE **/ - var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; - - /** Detect whether the browser supports default html5 styles */ - var supportsHtml5Styles; - - /** Name of the expando, to work with multiple documents or to re-shiv one document */ - var expando = '_html5shiv'; - - /** The id for the the documents expando */ - var expanID = 0; - - /** Cached data for each document */ - var expandoData = {}; - - /** Detect whether the browser supports unknown elements */ - var supportsUnknownElements; - - (function() { - try { - var a = document.createElement('a'); - a.innerHTML = '<xyz></xyz>'; - //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles - supportsHtml5Styles = ('hidden' in a); - - supportsUnknownElements = a.childNodes.length == 1 || (function() { - // assign a false positive if unable to shiv - (document.createElement)('a'); - var frag = document.createDocumentFragment(); - return ( - typeof frag.cloneNode == 'undefined' || - typeof frag.createDocumentFragment == 'undefined' || - typeof frag.createElement == 'undefined' - ); - }()); - } catch(e) { - // assign a false positive if detection fails => unable to shiv - supportsHtml5Styles = true; - supportsUnknownElements = true; - } - - }()); - - /*--------------------------------------------------------------------------*/ - - /** - * Creates a style sheet with the given CSS text and adds it to the document. - * @private - * @param {Document} ownerDocument The document. - * @param {String} cssText The CSS text. - * @returns {StyleSheet} The style element. - */ - function addStyleSheet(ownerDocument, cssText) { - var p = ownerDocument.createElement('p'), - parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; - - p.innerHTML = 'x<style>' + cssText + '</style>'; - return parent.insertBefore(p.lastChild, parent.firstChild); - } - - /** - * Returns the value of `html5.elements` as an array. - * @private - * @returns {Array} An array of shived element node names. - */ - function getElements() { - var elements = html5.elements; - return typeof elements == 'string' ? elements.split(' ') : elements; - } - - /** - * Extends the built-in list of html5 elements - * @memberOf html5 - * @param {String|Array} newElements whitespace separated list or array of new element names to shiv - * @param {Document} ownerDocument The context document. - */ - function addElements(newElements, ownerDocument) { - var elements = html5.elements; - if(typeof elements != 'string'){ - elements = elements.join(' '); - } - if(typeof newElements != 'string'){ - newElements = newElements.join(' '); - } - html5.elements = elements +' '+ newElements; - shivDocument(ownerDocument); - } - - /** - * Returns the data associated to the given document - * @private - * @param {Document} ownerDocument The document. - * @returns {Object} An object of data. - */ - function getExpandoData(ownerDocument) { - var data = expandoData[ownerDocument[expando]]; - if (!data) { - data = {}; - expanID++; - ownerDocument[expando] = expanID; - expandoData[expanID] = data; - } - return data; - } - - /** - * returns a shived element for the given nodeName and document - * @memberOf html5 - * @param {String} nodeName name of the element - * @param {Document|DocumentFragment} ownerDocument The context document. - * @returns {Object} The shived element. - */ - function createElement(nodeName, ownerDocument, data){ - if (!ownerDocument) { - ownerDocument = document; - } - if(supportsUnknownElements){ - return ownerDocument.createElement(nodeName); - } - if (!data) { - data = getExpandoData(ownerDocument); - } - var node; - - if (data.cache[nodeName]) { - node = data.cache[nodeName].cloneNode(); - } else if (saveClones.test(nodeName)) { - node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); - } else { - node = data.createElem(nodeName); - } - - // Avoid adding some elements to fragments in IE < 9 because - // * Attributes like `name` or `type` cannot be set/changed once an element - // is inserted into a document/fragment - // * Link elements with `src` attributes that are inaccessible, as with - // a 403 response, will cause the tab/window to crash - // * Script elements appended to fragments will execute when their `src` - // or `text` property is set - return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; - } - - /** - * returns a shived DocumentFragment for the given document - * @memberOf html5 - * @param {Document} ownerDocument The context document. - * @returns {Object} The shived DocumentFragment. - */ - function createDocumentFragment(ownerDocument, data){ - if (!ownerDocument) { - ownerDocument = document; - } - if(supportsUnknownElements){ - return ownerDocument.createDocumentFragment(); - } - data = data || getExpandoData(ownerDocument); - var clone = data.frag.cloneNode(), - i = 0, - elems = getElements(), - l = elems.length; - for(;i<l;i++){ - clone.createElement(elems[i]); - } - return clone; - } - - /** - * Shivs the `createElement` and `createDocumentFragment` methods of the document. - * @private - * @param {Document|DocumentFragment} ownerDocument The document. - * @param {Object} data of the document. - */ - function shivMethods(ownerDocument, data) { - if (!data.cache) { - data.cache = {}; - data.createElem = ownerDocument.createElement; - data.createFrag = ownerDocument.createDocumentFragment; - data.frag = data.createFrag(); - } - - - ownerDocument.createElement = function(nodeName) { - //abort shiv - if (!html5.shivMethods) { - return data.createElem(nodeName); - } - return createElement(nodeName, ownerDocument, data); - }; - - ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' + - 'var n=f.cloneNode(),c=n.createElement;' + - 'h.shivMethods&&(' + - // unroll the `createElement` calls - getElements().join().replace(/[\w\-:]+/g, function(nodeName) { - data.createElem(nodeName); - data.frag.createElement(nodeName); - return 'c("' + nodeName + '")'; - }) + - ');return n}' - )(html5, data.frag); - } - - /*--------------------------------------------------------------------------*/ - - /** - * Shivs the given document. - * @memberOf html5 - * @param {Document} ownerDocument The document to shiv. - * @returns {Document} The shived document. - */ - function shivDocument(ownerDocument) { - if (!ownerDocument) { - ownerDocument = document; - } - var data = getExpandoData(ownerDocument); - - if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) { - data.hasCSS = !!addStyleSheet(ownerDocument, - // corrects block display not defined in IE6/7/8/9 - 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' + - // adds styling not present in IE6/7/8/9 - 'mark{background:#FF0;color:#000}' + - // hides non-rendered elements - 'template{display:none}' - ); - } - if (!supportsUnknownElements) { - shivMethods(ownerDocument, data); - } - return ownerDocument; - } - - /*--------------------------------------------------------------------------*/ - - /** - * The `html5` object is exposed so that more elements can be shived and - * existing shiving can be detected on iframes. - * @type Object - * @example - * - * // options can be changed before the script is included - * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false }; - */ - var html5 = { - - /** - * An array or space separated string of node names of the elements to shiv. - * @memberOf html5 - * @type Array|String - */ - 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video', - - /** - * current version of html5shiv - */ - 'version': version, - - /** - * A flag to indicate that the HTML5 style sheet should be inserted. - * @memberOf html5 - * @type Boolean - */ - 'shivCSS': (options.shivCSS !== false), - - /** - * Is equal to true if a browser supports creating unknown/HTML5 elements - * @memberOf html5 - * @type boolean - */ - 'supportsUnknownElements': supportsUnknownElements, - - /** - * A flag to indicate that the document's `createElement` and `createDocumentFragment` - * methods should be overwritten. - * @memberOf html5 - * @type Boolean - */ - 'shivMethods': (options.shivMethods !== false), - - /** - * A string to describe the type of `html5` object ("default" or "default print"). - * @memberOf html5 - * @type String - */ - 'type': 'default', - - // shivs the document according to the specified `html5` object options - 'shivDocument': shivDocument, - - //creates a shived element - createElement: createElement, - - //creates a shived documentFragment - createDocumentFragment: createDocumentFragment, - - //extends list of elements - addElements: addElements - }; - - /*--------------------------------------------------------------------------*/ - - // expose html5 - window.html5 = html5; - - // shiv the document - shivDocument(document); - - if(typeof module == 'object' && module.exports){ - module.exports = html5; - } - -}(typeof window !== "undefined" ? window : this, document)); diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js index 4c5be4c0f..4d9b3a258 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js @@ -1,4 +1,2 @@ -/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), -a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:X.test(a)?JSON.parse(a):a)}function $(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=Z(c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),$(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=$(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var _=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,aa=new RegExp("^(?:([+-])=|)("+_+")([a-z%]*)$","i"),ba=["Top","Right","Bottom","Left"],ca=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function ea(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&aa.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var fa={};function ga(a){var b,c=a.ownerDocument,d=a.nodeName,e=fa[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),fa[d]=e,e)}function ha(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ca(d)&&(e[f]=ga(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ha(this,!0)},hide:function(){return ha(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ca(this)?r(this).show():r(this).hide()})}});var ia=/^(?:checkbox|radio)$/i,ja=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var oa=/<|&#?\w+;/;function pa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(oa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ja.exec(f)||["",""])[1].toLowerCase(),i=la[h]||la._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==wa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===wa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ua:va,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:va,isPropagationStopped:va,isImmediatePropagationStopped:va,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ua,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ua,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ua,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&ra.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&sa.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return xa(this,a,b,c,d)},one:function(a,b,c,d){return xa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=va),this.each(function(){r.event.remove(this,a,c,b)})}});var ya=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/<script|<style|<link/i,Aa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ba=/^true\/(.*)/,Ca=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ha(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ia.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ia(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,ma(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Fa),l=0;l<i;l++)j=h[l],ka.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ca,""),k))}return a}function Ja(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(ma(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&na(ma(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(ya,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);if(b)if(c)for(f=f||ma(a),g=g||ma(h),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);else Ga(a,h);return g=ma(h,"script"),g.length>0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(ma(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ia(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(ma(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ka=/^margin/,La=new RegExp("^("+_+")(?!px)[a-z%]+$","i"),Ma=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",qa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,qa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Na(a,b,c){var d,e,f,g,h=a.style;return c=c||Ma(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&La.test(g)&&Ka.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Oa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Pa=/^(none|table(?!-c[ea]).+)/,Qa={position:"absolute",visibility:"hidden",display:"block"},Ra={letterSpacing:"0",fontWeight:"400"},Sa=["Webkit","Moz","ms"],Ta=d.createElement("div").style;function Ua(a){if(a in Ta)return a;var b=a[0].toUpperCase()+a.slice(1),c=Sa.length;while(c--)if(a=Sa[c]+b,a in Ta)return a}function Va(a,b,c){var d=aa.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Wa(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ba[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ba[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ba[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ba[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ba[f]+"Width",!0,e)));return g}function Xa(a,b,c){var d,e=!0,f=Ma(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Na(a,b,f),(d<0||null==d)&&(d=a.style[b]),La.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Wa(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Na(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=aa.exec(c))&&e[1]&&(c=ea(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ua(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Na(a,b,d)),"normal"===e&&b in Ra&&(e=Ra[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Pa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Xa(a,b,d):da(a,Qa,function(){return Xa(a,b,d)})},set:function(a,c,d){var e,f=d&&Ma(a),g=d&&Wa(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=aa.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Va(a,c,g)}}}),r.cssHooks.marginLeft=Oa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Na(a,"marginLeft"))||a.getBoundingClientRect().left-da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ba[d]+b]=f[d]||f[d-2]||f[0];return e}},Ka.test(a)||(r.cssHooks[a+b].set=Va)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=Ma(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function fb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ca(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],_a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ha([a],!0),j=a.style.display||j,k=r.css(a,"display"),ha([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ha([a],!0),m.done(function(){p||ha([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=eb(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function gb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function hb(a,b,c){var d,e,f=0,g=hb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Za||cb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Za||cb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(gb(k,j.opts.specialEasing);f<g;f++)if(d=hb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,eb,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(hb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return ea(c.elem,a,aa.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],hb.tweeners[c]=hb.tweeners[c]||[],hb.tweeners[c].unshift(b)},prefilters:[fb],prefilter:function(a,b){b?hb.prefilters.unshift(a):hb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:"number"!=typeof e.duration&&(e.duration in r.fx.speeds?e.duration=r.fx.speeds[e.duration]:e.duration=r.fx.speeds._default),null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ca).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=hb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ab.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(db(b,!0),a,d,e)}}),r.each({slideDown:db("show"),slideUp:db("hide"),slideToggle:db("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Za=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Za=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){$a||($a=a.requestAnimationFrame?a.requestAnimationFrame(bb):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame($a):a.clearInterval($a),$a=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var ib,jb=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), -void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=pa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=mb(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||qa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Oa(o.pixelPosition,function(a,c){if(c)return c=Na(a,b),La.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r}); +/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w}); diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/popper.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/popper.min.js new file mode 100644 index 000000000..79ccbf58b --- /dev/null +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2018 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:'top',o='top'===t?'scrollTop':'scrollLeft',n=e.nodeName;if('BODY'===n||'HTML'===n){var i=e.ownerDocument.documentElement,r=e.ownerDocument.scrollingElement||i;return r[o]}return e[o]}function f(e,t){var o=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=l(t,'top'),i=l(t,'left'),r=o?-1:1;return e.top+=n*r,e.bottom+=n*r,e.left+=i*r,e.right+=i*r,e}function m(e,t){var o='x'===t?'Left':'Top',n='Left'==o?'Right':'Bottom';return parseFloat(e['border'+o+'Width'],10)+parseFloat(e['border'+n+'Width'],10)}function h(e,t,o,n){return $(t['offset'+e],t['scroll'+e],o['client'+e],o['offset'+e],o['scroll'+e],r(10)?o['offset'+e]+n['margin'+('Height'===e?'Top':'Left')]+n['margin'+('Height'===e?'Bottom':'Right')]:0)}function c(){var e=document.body,t=document.documentElement,o=r(10)&&getComputedStyle(t);return{height:h('Height',e,t,o),width:h('Width',e,t,o)}}function g(e){return le({},e,{right:e.left+e.width,bottom:e.top+e.height})}function u(e){var o={};try{if(r(10)){o=e.getBoundingClientRect();var n=l(e,'top'),i=l(e,'left');o.top+=n,o.left+=i,o.bottom+=n,o.right+=i}else o=e.getBoundingClientRect()}catch(t){}var p={left:o.left,top:o.top,width:o.right-o.left,height:o.bottom-o.top},s='HTML'===e.nodeName?c():{},d=s.width||e.clientWidth||p.right-p.left,a=s.height||e.clientHeight||p.bottom-p.top,f=e.offsetWidth-d,h=e.offsetHeight-a;if(f||h){var u=t(e);f-=m(u,'x'),h-=m(u,'y'),p.width-=f,p.height-=h}return g(p)}function b(e,o){var i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],p=r(10),s='HTML'===o.nodeName,d=u(e),a=u(o),l=n(e),m=t(o),h=parseFloat(m.borderTopWidth,10),c=parseFloat(m.borderLeftWidth,10);i&&'HTML'===o.nodeName&&(a.top=$(a.top,0),a.left=$(a.left,0));var b=g({top:d.top-a.top-h,left:d.left-a.left-c,width:d.width,height:d.height});if(b.marginTop=0,b.marginLeft=0,!p&&s){var y=parseFloat(m.marginTop,10),w=parseFloat(m.marginLeft,10);b.top-=h-y,b.bottom-=h-y,b.left-=c-w,b.right-=c-w,b.marginTop=y,b.marginLeft=w}return(p&&!i?o.contains(l):o===l&&'BODY'!==l.nodeName)&&(b=f(b,o)),b}function y(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=b(e,o),i=$(o.clientWidth,window.innerWidth||0),r=$(o.clientHeight,window.innerHeight||0),p=t?0:l(o),s=t?0:l(o,'left'),d={top:p-n.top+n.marginTop,left:s-n.left+n.marginLeft,width:i,height:r};return g(d)}function w(e){var n=e.nodeName;return'BODY'===n||'HTML'===n?!1:'fixed'===t(e,'position')||w(o(e))}function E(e){if(!e||!e.parentElement||r())return document.documentElement;for(var o=e.parentElement;o&&'none'===t(o,'transform');)o=o.parentElement;return o||document.documentElement}function v(e,t,i,r){var p=4<arguments.length&&void 0!==arguments[4]&&arguments[4],s={top:0,left:0},d=p?E(e):a(e,t);if('viewport'===r)s=y(d,p);else{var l;'scrollParent'===r?(l=n(o(t)),'BODY'===l.nodeName&&(l=e.ownerDocument.documentElement)):'window'===r?l=e.ownerDocument.documentElement:l=r;var f=b(l,d,p);if('HTML'===l.nodeName&&!w(d)){var m=c(),h=m.height,g=m.width;s.top+=f.top-f.marginTop,s.bottom=h+f.top,s.left+=f.left-f.marginLeft,s.right=g+f.left}else s=f}return s.left+=i,s.top+=i,s.right-=i,s.bottom-=i,s}function x(e){var t=e.width,o=e.height;return t*o}function O(e,t,o,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf('auto'))return e;var p=v(o,n,r,i),s={top:{width:p.width,height:t.top-p.top},right:{width:p.right-t.right,height:p.height},bottom:{width:p.width,height:p.bottom-t.bottom},left:{width:t.left-p.left,height:p.height}},d=Object.keys(s).map(function(e){return le({key:e},s[e],{area:x(s[e])})}).sort(function(e,t){return t.area-e.area}),a=d.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),l=0<a.length?a[0].key:d[0].key,f=e.split('-')[1];return l+(f?'-'+f:'')}function L(e,t,o){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,i=n?E(t):a(t,o);return b(o,i,n)}function S(e){var t=getComputedStyle(e),o=parseFloat(t.marginTop)+parseFloat(t.marginBottom),n=parseFloat(t.marginLeft)+parseFloat(t.marginRight),i={width:e.offsetWidth+n,height:e.offsetHeight+o};return i}function T(e){var t={left:'right',right:'left',bottom:'top',top:'bottom'};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function C(e,t,o){o=o.split('-')[0];var n=S(e),i={width:n.width,height:n.height},r=-1!==['right','left'].indexOf(o),p=r?'top':'left',s=r?'left':'top',d=r?'height':'width',a=r?'width':'height';return i[p]=t[p]+t[d]/2-n[d]/2,i[s]=o===s?t[s]-n[a]:t[T(s)],i}function D(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function N(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=D(e,function(e){return e[t]===o});return e.indexOf(n)}function P(t,o,n){var i=void 0===n?t:t.slice(0,N(t,'name',n));return i.forEach(function(t){t['function']&&console.warn('`modifier.function` is deprecated, use `modifier.fn`!');var n=t['function']||t.fn;t.enabled&&e(n)&&(o.offsets.popper=g(o.offsets.popper),o.offsets.reference=g(o.offsets.reference),o=n(o,t))}),o}function k(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=O(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=C(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?'fixed':'absolute',e=P(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function W(e,t){return e.some(function(e){var o=e.name,n=e.enabled;return n&&o===t})}function B(e){for(var t=[!1,'ms','Webkit','Moz','O'],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<t.length;n++){var i=t[n],r=i?''+i+o:e;if('undefined'!=typeof document.body.style[r])return r}return null}function H(){return this.state.isDestroyed=!0,W(this.modifiers,'applyStyle')&&(this.popper.removeAttribute('x-placement'),this.popper.style.position='',this.popper.style.top='',this.popper.style.left='',this.popper.style.right='',this.popper.style.bottom='',this.popper.style.willChange='',this.popper.style[B('transform')]=''),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function A(e){var t=e.ownerDocument;return t?t.defaultView:window}function M(e,t,o,i){var r='BODY'===e.nodeName,p=r?e.ownerDocument.defaultView:e;p.addEventListener(t,o,{passive:!0}),r||M(n(p.parentNode),t,o,i),i.push(p)}function I(e,t,o,i){o.updateBound=i,A(e).addEventListener('resize',o.updateBound,{passive:!0});var r=n(e);return M(r,'scroll',o.updateBound,o.scrollParents),o.scrollElement=r,o.eventsEnabled=!0,o}function F(){this.state.eventsEnabled||(this.state=I(this.reference,this.options,this.state,this.scheduleUpdate))}function R(e,t){return A(e).removeEventListener('resize',t.updateBound),t.scrollParents.forEach(function(e){e.removeEventListener('scroll',t.updateBound)}),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t}function U(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=R(this.reference,this.state))}function Y(e){return''!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function j(e,t){Object.keys(t).forEach(function(o){var n='';-1!==['width','height','top','right','bottom','left'].indexOf(o)&&Y(t[o])&&(n='px'),e.style[o]=t[o]+n})}function K(e,t){Object.keys(t).forEach(function(o){var n=t[o];!1===n?e.removeAttribute(o):e.setAttribute(o,t[o])})}function q(e,t,o){var n=D(e,function(e){var o=e.name;return o===t}),i=!!n&&e.some(function(e){return e.name===o&&e.enabled&&e.order<n.order});if(!i){var r='`'+t+'`';console.warn('`'+o+'`'+' modifier is required by '+r+' modifier in order to work, be sure to include it before '+r+'!')}return i}function G(e){return'end'===e?'start':'start'===e?'end':e}function z(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],o=me.indexOf(e),n=me.slice(o+1).concat(me.slice(0,o));return t?n.reverse():n}function V(e,t,o,n){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],p=i[2];if(!r)return e;if(0===p.indexOf('%')){var s;switch(p){case'%p':s=o;break;case'%':case'%r':default:s=n;}var d=g(s);return d[t]/100*r}if('vh'===p||'vw'===p){var a;return a='vh'===p?$(document.documentElement.clientHeight,window.innerHeight||0):$(document.documentElement.clientWidth,window.innerWidth||0),a/100*r}return r}function _(e,t,o,n){var i=[0,0],r=-1!==['right','left'].indexOf(n),p=e.split(/(\+|\-)/).map(function(e){return e.trim()}),s=p.indexOf(D(p,function(e){return-1!==e.search(/,|\s/)}));p[s]&&-1===p[s].indexOf(',')&&console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');var d=/\s*,\s*|\s+/,a=-1===s?[p]:[p.slice(0,s).concat([p[s].split(d)[0]]),[p[s].split(d)[1]].concat(p.slice(s+1))];return a=a.map(function(e,n){var i=(1===n?!r:r)?'height':'width',p=!1;return e.reduce(function(e,t){return''===e[e.length-1]&&-1!==['+','-'].indexOf(t)?(e[e.length-1]=t,p=!0,e):p?(e[e.length-1]+=t,p=!1,e):e.concat(t)},[]).map(function(e){return V(e,i,t,o)})}),a.forEach(function(e,t){e.forEach(function(o,n){Y(o)&&(i[t]+=o*('-'===e[n-1]?-1:1))})}),i}function X(e,t){var o,n=t.offset,i=e.placement,r=e.offsets,p=r.popper,s=r.reference,d=i.split('-')[0];return o=Y(+n)?[+n,0]:_(n,p,s,d),'left'===d?(p.top+=o[0],p.left-=o[1]):'right'===d?(p.top+=o[0],p.left+=o[1]):'top'===d?(p.left+=o[0],p.top-=o[1]):'bottom'===d&&(p.left+=o[0],p.top+=o[1]),e.popper=p,e}for(var J=Math.min,Q=Math.round,Z=Math.floor,$=Math.max,ee='undefined'!=typeof window&&'undefined'!=typeof document,te=['Edge','Trident','Firefox'],oe=0,ne=0;ne<te.length;ne+=1)if(ee&&0<=navigator.userAgent.indexOf(te[ne])){oe=1;break}var i=ee&&window.Promise,ie=i?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},oe))}},re=ee&&!!(window.MSInputMethodContext&&document.documentMode),pe=ee&&/MSIE 10/.test(navigator.userAgent),se=function(e,t){if(!(e instanceof t))throw new TypeError('Cannot call a class as a function')},de=function(){function e(e,t){for(var o,n=0;n<t.length;n++)o=t[n],o.enumerable=o.enumerable||!1,o.configurable=!0,'value'in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}return function(t,o,n){return o&&e(t.prototype,o),n&&e(t,n),t}}(),ae=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},le=Object.assign||function(e){for(var t,o=1;o<arguments.length;o++)for(var n in t=arguments[o],t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},fe=['auto-start','auto','auto-end','top-start','top','top-end','right-start','right','right-end','bottom-end','bottom','bottom-start','left-end','left','left-start'],me=fe.slice(3),he={FLIP:'flip',CLOCKWISE:'clockwise',COUNTERCLOCKWISE:'counterclockwise'},ce=function(){function t(o,n){var i=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};se(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=ie(this.update.bind(this)),this.options=le({},t.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=o&&o.jquery?o[0]:o,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(le({},t.Defaults.modifiers,r.modifiers)).forEach(function(e){i.options.modifiers[e]=le({},t.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return le({name:e},i.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(t){t.enabled&&e(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)}),this.update();var p=this.options.eventsEnabled;p&&this.enableEventListeners(),this.state.eventsEnabled=p}return de(t,[{key:'update',value:function(){return k.call(this)}},{key:'destroy',value:function(){return H.call(this)}},{key:'enableEventListeners',value:function(){return F.call(this)}},{key:'disableEventListeners',value:function(){return U.call(this)}}]),t}();return ce.Utils=('undefined'==typeof window?global:window).PopperUtils,ce.placements=fe,ce.Defaults={placement:'bottom',positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split('-')[0],n=t.split('-')[1];if(n){var i=e.offsets,r=i.reference,p=i.popper,s=-1!==['bottom','top'].indexOf(o),d=s?'left':'top',a=s?'width':'height',l={start:ae({},d,r[d]),end:ae({},d,r[d]+r[a]-p[a])};e.offsets.popper=le({},p,l[n])}return e}},offset:{order:200,enabled:!0,fn:X,offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||p(e.instance.popper);e.instance.reference===o&&(o=p(o));var n=B('transform'),i=e.instance.popper.style,r=i.top,s=i.left,d=i[n];i.top='',i.left='',i[n]='';var a=v(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);i.top=r,i.left=s,i[n]=d,t.boundaries=a;var l=t.priority,f=e.offsets.popper,m={primary:function(e){var o=f[e];return f[e]<a[e]&&!t.escapeWithReference&&(o=$(f[e],a[e])),ae({},e,o)},secondary:function(e){var o='right'===e?'left':'top',n=f[o];return f[e]>a[e]&&!t.escapeWithReference&&(n=J(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]<r(n[d])&&(e.offsets.popper[d]=r(n[d])-o[a]),o[d]>r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!q(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-u<s[m]&&(e.offsets.popper[m]-=s[m]-(d[c]-u)),d[m]+u>s[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,y=t(e.instance.popper),w=parseFloat(y['margin'+f],10),E=parseFloat(y['border'+f+'Width'],10),v=b-e.offsets.popper[m]-w-E;return v=$(J(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,Q(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case he.FLIP:p=[n,i];break;case he.CLOCKWISE:p=z(n);break;case he.COUNTERCLOCKWISE:p=z(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)<f(l.right)||'top'===n&&f(a.bottom)>f(l.top)||'bottom'===n&&f(a.top)<f(l.bottom),h=f(a.left)<f(o.left),c=f(a.right)>f(o.right),g=f(a.top)<f(o.top),u=f(a.bottom)>f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,y=-1!==['top','bottom'].indexOf(n),w=!!t.flipVariations&&(y&&'start'===r&&h||y&&'end'===r&&c||!y&&'start'===r&&g||!y&&'end'===r&&u);(m||b||w)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),w&&(r=G(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!q(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottom<o.top||t.left>o.right||t.top>o.bottom||t.right<o.left){if(!0===e.hide)return e;e.hide=!0,e.attributes['x-out-of-boundaries']=''}else{if(!1===e.hide)return e;e.hide=!1,e.attributes['x-out-of-boundaries']=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var o=t.x,n=t.y,i=e.offsets.popper,r=D(e.instance.modifiers,function(e){return'applyStyle'===e.name}).gpuAcceleration;void 0!==r&&console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');var s,d,a=void 0===r?t.gpuAcceleration:r,l=p(e.instance.popper),f=u(l),m={position:i.position},h={left:Z(i.left),top:Q(i.top),bottom:Q(i.bottom),right:Z(i.right)},c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?-f.height+h.bottom:h.top,s='right'==g?-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var y='bottom'==c?-1:1,w='right'==g?-1:1;m[c]=d*y,m[g]=s*w,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),K(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ce}); +//# sourceMappingURL=popper.min.js.map diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/respond.min.js b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/respond.min.js deleted file mode 100644 index 80a7b69dc..000000000 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/respond.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl - * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT - * */ - -!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); \ No newline at end of file diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/method_item.html.dist b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/method_item.html.dist index 4bb0e42cc..d8890ed27 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/method_item.html.dist +++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/method_item.html.dist @@ -1,11 +1,11 @@ - <tr> - <td class="{{methods_level}}" colspan="4">{{name}}</td> - <td class="{{methods_level}} big">{{methods_bar}}</td> - <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> - <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> - <td class="{{methods_level}} small">{{crap}}</td> - <td class="{{lines_level}} big">{{lines_bar}}</td> - <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> - <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> - </tr> + <tr> + <td class="{{methods_level}}" colspan="4">{{name}}</td> + <td class="{{methods_level}} big">{{methods_bar}}</td> + <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td> + <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td> + <td class="{{methods_level}} small">{{crap}}</td> + <td class="{{lines_level}} big">{{lines_bar}}</td> + <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td> + <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td> + </tr> diff --git a/vendor/phpunit/php-code-coverage/src/Report/PHP.php b/vendor/phpunit/php-code-coverage/src/Report/PHP.php index 9b3693150..e497b292e 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/PHP.php +++ b/vendor/phpunit/php-code-coverage/src/Report/PHP.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -19,12 +18,7 @@ use SebastianBergmann\CodeCoverage\RuntimeException; final class PHP { /** - * @param CodeCoverage $coverage - * @param null|string $target - * * @throws \SebastianBergmann\CodeCoverage\RuntimeException - * - * @return string */ public function process(CodeCoverage $coverage, ?string $target = null): string { @@ -46,6 +40,10 @@ return $coverage;', ); if ($target !== null) { + if (!$this->createDirectory(\dirname($target))) { + throw new \RuntimeException(\sprintf('Directory "%s" was not created', \dirname($target))); + } + if (@\file_put_contents($target, $buffer) === false) { throw new RuntimeException( \sprintf( @@ -58,4 +56,9 @@ return $coverage;', return $buffer; } + + private function createDirectory(string $directory): bool + { + return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); + } } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Text.php b/vendor/phpunit/php-code-coverage/src/Report/Text.php index c62aaed1a..82a98cf84 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Text.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Text.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -81,7 +80,7 @@ final class Text public function process(CodeCoverage $coverage, bool $showColors = false): string { - $output = PHP_EOL . PHP_EOL; + $output = \PHP_EOL . \PHP_EOL; $report = $coverage->getReport(); $colors = [ @@ -90,7 +89,7 @@ final class Text 'methods' => '', 'lines' => '', 'reset' => '', - 'eol' => '' + 'eol' => '', ]; if ($showColors) { @@ -169,7 +168,7 @@ final class Text $output .= $this->format($colors['lines'], $padding, $lines); if ($this->showOnlySummary) { - return $output . PHP_EOL; + return $output . \PHP_EOL; } $classCoverage = []; @@ -234,14 +233,13 @@ final class Text $resetColor = $colors['reset']; } - $output .= PHP_EOL . $fullQualifiedPath . PHP_EOL + $output .= \PHP_EOL . $fullQualifiedPath . \PHP_EOL . ' ' . $methodColor . 'Methods: ' . $this->printCoverageCounts($classInfo['methodsCovered'], $classInfo['methodCount'], 2) . $resetColor . ' ' - . ' ' . $linesColor . 'Lines: ' . $this->printCoverageCounts($classInfo['statementsCovered'], $classInfo['statementCount'], 3) . $resetColor - ; + . ' ' . $linesColor . 'Lines: ' . $this->printCoverageCounts($classInfo['statementsCovered'], $classInfo['statementCount'], 3) . $resetColor; } } - return $output . PHP_EOL; + return $output . \PHP_EOL; } private function getCoverageColor(int $numberOfCoveredElements, int $totalNumberOfElements): string @@ -280,6 +278,6 @@ final class Text { $reset = $color ? self::COLOR_RESET : ''; - return $color . \str_pad($string, $padding) . $reset . PHP_EOL; + return $color . \str_pad($string, $padding) . $reset . \PHP_EOL; } } diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php index 16d9d409a..1bce2e510 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; use SebastianBergmann\Environment\Runtime; diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php index 6fa97d08b..1362d0bf8 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; use SebastianBergmann\CodeCoverage\RuntimeException; diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php index a9d127d66..78382234c 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Directory extends Node diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php index 2fa54e8d1..a42f337d6 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; use SebastianBergmann\CodeCoverage\CodeCoverage; @@ -45,8 +44,8 @@ final class Facade */ public function process(CodeCoverage $coverage, string $target): void { - if (\substr($target, -1, 1) !== DIRECTORY_SEPARATOR) { - $target .= DIRECTORY_SEPARATOR; + if (\substr($target, -1, 1) !== \DIRECTORY_SEPARATOR) { + $target .= \DIRECTORY_SEPARATOR; } $this->target = $target; diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php index 26435b0b2..493101e27 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; class File diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php index 152edad34..7640052ec 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Method diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php index dcf11b699..d3e3464b7 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; abstract class Node diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php index b6127e699..990abc208 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Project extends Node diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php index 80b13aa38..a3834b562 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Report extends File diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php index 150e17e5f..40fc00397 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; use TheSeer\Tokenizer\NamespaceUri; @@ -19,9 +18,6 @@ final class Source /** @var \DOMElement */ private $context; - /** - * @param \DOMElement $context - */ public function __construct(\DOMElement $context) { $this->context = $context; diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php index 36dc6f612..3b3454fe8 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Tests @@ -16,13 +15,13 @@ final class Tests private $codeMap = [ -1 => 'UNKNOWN', // PHPUnit_Runner_BaseTestRunner::STATUS_UNKNOWN - 0 => 'PASSED', // PHPUnit_Runner_BaseTestRunner::STATUS_PASSED - 1 => 'SKIPPED', // PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED - 2 => 'INCOMPLETE', // PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE - 3 => 'FAILURE', // PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE - 4 => 'ERROR', // PHPUnit_Runner_BaseTestRunner::STATUS_ERROR - 5 => 'RISKY', // PHPUnit_Runner_BaseTestRunner::STATUS_RISKY - 6 => 'WARNING' // PHPUnit_Runner_BaseTestRunner::STATUS_WARNING + 0 => 'PASSED', // PHPUnit_Runner_BaseTestRunner::STATUS_PASSED + 1 => 'SKIPPED', // PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED + 2 => 'INCOMPLETE', // PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE + 3 => 'FAILURE', // PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE + 4 => 'ERROR', // PHPUnit_Runner_BaseTestRunner::STATUS_ERROR + 5 => 'RISKY', // PHPUnit_Runner_BaseTestRunner::STATUS_RISKY + 6 => 'WARNING', // PHPUnit_Runner_BaseTestRunner::STATUS_WARNING ]; public function __construct(\DOMElement $context) diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php index 1bf3f49c5..98e36f01b 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; use SebastianBergmann\CodeCoverage\Util; diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php index d2a072e21..e5d81e88c 100644 --- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php +++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage\Report\Xml; final class Unit diff --git a/vendor/phpunit/php-code-coverage/src/Util.php b/vendor/phpunit/php-code-coverage/src/Util.php index 5fb02d948..71ec8e0bd 100644 --- a/vendor/phpunit/php-code-coverage/src/Util.php +++ b/vendor/phpunit/php-code-coverage/src/Util.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; /** diff --git a/vendor/phpunit/php-code-coverage/src/Version.php b/vendor/phpunit/php-code-coverage/src/Version.php index 81ee2bd55..0901dac75 100644 --- a/vendor/phpunit/php-code-coverage/src/Version.php +++ b/vendor/phpunit/php-code-coverage/src/Version.php @@ -7,7 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\CodeCoverage; use SebastianBergmann\Version as VersionId; @@ -22,7 +21,7 @@ final class Version public static function id(): string { if (self::$version === null) { - $version = new VersionId('6.0.7', \dirname(__DIR__)); + $version = new VersionId('6.1.4', \dirname(__DIR__)); self::$version = $version->getVersion(); } diff --git a/vendor/phpunit/php-code-coverage/tests/TestCase.php b/vendor/phpunit/php-code-coverage/tests/TestCase.php index 871ee473d..e93bb4e34 100644 --- a/vendor/phpunit/php-code-coverage/tests/TestCase.php +++ b/vendor/phpunit/php-code-coverage/tests/TestCase.php @@ -374,4 +374,27 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase return $stub; } + + protected function getCoverageForCrashParsing() + { + $filter = new Filter; + $filter->addFileToWhitelist(TEST_FILES_PATH . 'Crash.php'); + + // This is a file with invalid syntax, so it isn't executed. + return new CodeCoverage( + $this->setUpXdebugStubForCrashParsing(), + $filter + ); + } + + protected function setUpXdebugStubForCrashParsing() + { + $stub = $this->createMock(Driver::class); + + $stub->expects($this->any()) + ->method('stop') + ->will($this->returnValue([])); + return $stub; + } + } diff --git a/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml index 6370be3ac..596611365 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <coverage generated="%i"> <project timestamp="%i" name="BankAccount"> - <file name="%s/BankAccount.php"> + <file name="%s%eBankAccount.php"> <class name="BankAccount" namespace="global"> <metrics complexity="5" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="5" elements="14" coveredelements="8"/> </class> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Crash.php b/vendor/phpunit/php-code-coverage/tests/_files/Crash.php new file mode 100644 index 000000000..0e91b42b0 --- /dev/null +++ b/vendor/phpunit/php-code-coverage/tests/_files/Crash.php @@ -0,0 +1,2 @@ +<?php +class {CLASS} diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/BankAccount.php.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/BankAccount.php.html index bde0171cb..fa02aa928 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/BankAccount.php.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/BankAccount.php.html @@ -2,190 +2,191 @@ <html lang="en"> <head> <meta charset="UTF-8"> - <title>Code Coverage for %s/BankAccount.php</title> + <title>Code Coverage for %s%eBankAccount.php</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">BankAccount.php</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">BankAccount.php</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="danger">Total</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="danger">Total</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> <span class="sr-only">75.00% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">75.00%</div></td> - <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> - <td class="warning small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <td class="warning small"><div align="right">75.00%</div></td> + <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> + <td class="warning small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> - </tr> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> + </tr> - <tr> - <td class="danger">BankAccount</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <tr> + <td class="danger">BankAccount</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> <span class="sr-only">75.00% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">75.00%</div></td> - <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> - <td class="warning small">8.12</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <td class="warning small"><div align="right">75.00%</div></td> + <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> + <td class="warning small">8.12</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> - </tr> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> + </tr> - <tr> - <td class="success" colspan="4">&nbsp;<a href="#6"><abbr title="getBalance()">getBalance</abbr></a></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <tr> + <td class="success" colspan="4">&nbsp;<a href="#6"><abbr title="getBalance()">getBalance</abbr></a></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class="success small">1</td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class="success small">1</td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - </tr> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + </tr> - <tr> - <td class="danger" colspan="4">&nbsp;<a href="#11"><abbr title="setBalance($balance)">setBalance</abbr></a></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <tr> + <td class="danger" colspan="4">&nbsp;<a href="#11"><abbr title="setBalance($balance)">setBalance</abbr></a></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger small">6.00</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger small">6.00</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;5</div></td> - </tr> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;5</div></td> + </tr> - <tr> - <td class="success" colspan="4">&nbsp;<a href="#20"><abbr title="depositMoney($balance)">depositMoney</abbr></a></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <tr> + <td class="success" colspan="4">&nbsp;<a href="#20"><abbr title="depositMoney($balance)">depositMoney</abbr></a></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class="success small">1</td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class="success small">1</td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td> - </tr> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td> + </tr> - <tr> - <td class="success" colspan="4">&nbsp;<a href="#27"><abbr title="withdrawMoney($balance)">withdrawMoney</abbr></a></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <tr> + <td class="success" colspan="4">&nbsp;<a href="#27"><abbr title="withdrawMoney($balance)">withdrawMoney</abbr></a></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class="success small">1</td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class="success small">1</td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td> - </tr> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <table id="code" class="table table-borderless table-condensed"> <tbody> <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr> @@ -235,12 +236,14 @@ <p> <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage %s</a> using <a href="%s" target="_top">%s</a> at %s.</small> </p> - <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a> + <a title="Back to the top" id="toplink" href="#"> + <svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M12 11L6 5l-6 6h12z"/></svg> + </a> </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> + <script src=".js/popper.min.js" type="text/javascript"></script> <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/file.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html index c1ce40d16..6605ff96d 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html @@ -8,26 +8,24 @@ <link href=".css/nv.d3.min.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">(Dashboard)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">(Dashboard)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <h2>Classes</h2> @@ -146,8 +144,6 @@ </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/d3.min.js" type="text/javascript"></script> <script src=".js/nv.d3.min.js" type="text/javascript"></script> <script type="text/javascript"> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html index 47fdd010c..bd0e78a38 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html @@ -5,101 +5,102 @@ <title>Code Coverage for %s</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li class="active">%s</li> - <li>(<a href="dashboard.html">Dashboard</a>)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item active">%s</li> + <li class="breadcrumb-item">(<a href="dashboard.html">Dashboard</a>)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="danger">Total</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="danger">Total</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> <span class="sr-only">75.00% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">75.00%</div></td> - <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="warning small"><div align="right">75.00%</div></td> + <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - </tr> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + </tr> - <tr> - <td class="danger"><span class="glyphicon glyphicon-file"></span> <a href="BankAccount.php.html">BankAccount.php</a></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <tr> + <td class="danger"><img src=".icons/file-code.svg" class="octicon" /><a href="BankAccount.php.html">BankAccount.php</a></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">5&nbsp;/&nbsp;10</div></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%"> <span class="sr-only">75.00% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">75.00%</div></td> - <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="warning small"><div align="right">75.00%</div></td> + <td class="warning small"><div align="right">3&nbsp;/&nbsp;4</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - </tr> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <footer> <hr/> <h4>Legend</h4> @@ -113,8 +114,5 @@ </p> </footer> </div> - <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html index 2a8c91c48..07f7eaeb7 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html @@ -8,26 +8,24 @@ <link href=".css/nv.d3.min.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">(Dashboard)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">(Dashboard)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <h2>Classes</h2> @@ -144,8 +142,6 @@ </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/d3.min.js" type="text/javascript"></script> <script src=".js/nv.d3.min.js" type="text/javascript"></script> <script type="text/javascript"> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html index b7dd7c1e2..90a15c266 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html @@ -5,101 +5,102 @@ <title>Code Coverage for %s</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li class="active">%s</li> - <li>(<a href="dashboard.html">Dashboard</a>)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item active">%s</li> + <li class="breadcrumb-item">(<a href="dashboard.html">Dashboard</a>)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="warning">Total</td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="warning">Total</td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> <span class="sr-only">87.50% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">87.50%</div></td> - <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="warning small"><div align="right">87.50%</div></td> + <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - </tr> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + </tr> - <tr> - <td class="warning"><span class="glyphicon glyphicon-file"></span> <a href="source_with_class_and_anonymous_function.php.html">source_with_class_and_anonymous_function.php</a></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> + <tr> + <td class="warning"><img src=".icons/file-code.svg" class="octicon" /><a href="source_with_class_and_anonymous_function.php.html">source_with_class_and_anonymous_function.php</a></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> <span class="sr-only">87.50% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">87.50%</div></td> - <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="warning small"><div align="right">87.50%</div></td> + <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - </tr> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <footer> <hr/> <h4>Legend</h4> @@ -113,8 +114,5 @@ </p> </footer> </div> - <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html index debc561ae..85c431604 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html @@ -2,127 +2,128 @@ <html lang="en"> <head> <meta charset="UTF-8"> - <title>Code Coverage for %s/source_with_class_and_anonymous_function.php</title> + <title>Code Coverage for %s%esource_with_class_and_anonymous_function.php</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">source_with_class_and_anonymous_function.php</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">source_with_class_and_anonymous_function.php</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="danger">Total</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="danger">Total</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> <span class="sr-only">87.50% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">87.50%</div></td> - <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> - </tr> + <td class="warning small"><div align="right">87.50%</div></td> + <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> + </tr> - <tr> - <td class="danger">CoveredClassWithAnonymousFunctionInStaticMethod</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <tr> + <td class="danger">CoveredClassWithAnonymousFunctionInStaticMethod</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger small">1.00</td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger small">1.00</td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> <span class="sr-only">87.50% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">87.50%</div></td> - <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> - </tr> + <td class="warning small"><div align="right">87.50%</div></td> + <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> + </tr> - <tr> - <td class="danger" colspan="4">&nbsp;<a href="#5"><abbr title="runAnonymous()">runAnonymous</abbr></a></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> + <tr> + <td class="danger" colspan="4">&nbsp;<a href="#5"><abbr title="runAnonymous()">runAnonymous</abbr></a></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%"> <span class="sr-only">0.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">0.00%</div></td> - <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> - <td class="danger small">1.00</td> - <td class="warning big"> <div class="progress"> - <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> + <td class="danger small"><div align="right">0.00%</div></td> + <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td> + <td class="danger small">1.00</td> + <td class="warning big"> <div class="progress"> + <div class="progress-bar bg-warning" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%"> <span class="sr-only">87.50% covered (warning)</span> </div> </div> </td> - <td class="warning small"><div align="right">87.50%</div></td> - <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> - </tr> + <td class="warning small"><div align="right">87.50%</div></td> + <td class="warning small"><div align="right">7&nbsp;/&nbsp;8</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <table id="code" class="table table-borderless table-condensed"> <tbody> <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr> @@ -158,12 +159,14 @@ <p> <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage %s</a> using <a href="%s" target="_top">%s</a> at %s.</small> </p> - <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a> + <a title="Back to the top" id="toplink" href="#"> + <svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M12 11L6 5l-6 6h12z"/></svg> + </a> </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> + <script src=".js/popper.min.js" type="text/javascript"></script> <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/file.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html index fbff16949..360409afd 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html @@ -8,26 +8,24 @@ <link href=".css/nv.d3.min.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">(Dashboard)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">(Dashboard)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <h2>Classes</h2> @@ -142,8 +140,6 @@ </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/d3.min.js" type="text/javascript"></script> <script src=".js/nv.d3.min.js" type="text/javascript"></script> <script type="text/javascript"> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html index 519edf0ed..8f55038ba 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html @@ -5,91 +5,92 @@ <title>Code Coverage for %s</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li class="active">%s</li> - <li>(<a href="dashboard.html">Dashboard</a>)</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item active">%s</li> + <li class="breadcrumb-item">(<a href="dashboard.html">Dashboard</a>)</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="danger">Total</td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="danger">Total</td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - <tr> - <td class="danger"><span class="glyphicon glyphicon-file"></span> <a href="source_with_ignore.php.html">source_with_ignore.php</a></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <tr> + <td class="danger"><img src=".icons/file-code.svg" class="octicon" /><a href="source_with_ignore.php.html">source_with_ignore.php</a></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <footer> <hr/> <h4>Legend</h4> @@ -103,8 +104,5 @@ </p> </footer> </div> - <script src=".js/jquery.min.js" type="text/javascript"></script> - <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html index 6e92c0f0c..0949edad3 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html @@ -2,133 +2,134 @@ <html lang="en"> <head> <meta charset="UTF-8"> - <title>Code Coverage for %s</title> + <title>Code Coverage for %s/source_with_ignore.php</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href=".css/bootstrap.min.css" rel="stylesheet" type="text/css"> + <link href=".css/octicons.css" rel="stylesheet" type="text/css"> <link href=".css/style.css" rel="stylesheet" type="text/css"> <link href=".css/custom.css" rel="stylesheet" type="text/css"> - <!--[if lt IE 9]> - <script src=".js/html5shiv.min.js"></script> - <script src=".js/respond.min.js"></script> - <![endif]--> </head> <body> <header> - <div class="container"> + <div class="container-fluid"> <div class="row"> <div class="col-md-12"> - <ol class="breadcrumb"> - <li><a href="index.html">%s</a></li> - <li class="active">source_with_ignore.php</li> + <nav aria-label="breadcrumb"> + <ol class="breadcrumb"> + <li class="breadcrumb-item"><a href="index.html">%s</a></li> + <li class="breadcrumb-item active">source_with_ignore.php</li> - </ol> + </ol> + </nav> </div> </div> </div> </header> - <div class="container"> - <table class="table table-bordered"> - <thead> - <tr> - <td>&nbsp;</td> - <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> - </tr> - <tr> - <td>&nbsp;</td> - <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> - <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> - <td colspan="3"><div align="center"><strong>Lines</strong></div></td> - </tr> - </thead> - <tbody> - <tr> - <td class="">Total</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class="success big"> <div class="progress"> - <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> + <div class="container-fluid"> + <div class="table-responsive"> + <table class="table table-bordered"> + <thead> + <tr> + <td>&nbsp;</td> + <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td> + </tr> + <tr> + <td>&nbsp;</td> + <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td> + <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td> + <td colspan="3"><div align="center"><strong>Lines</strong></div></td> + </tr> + </thead> + <tbody> + <tr> + <td class="">Total</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class="success big"> <div class="progress"> + <div class="progress-bar bg-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%"> <span class="sr-only">100.00% covered (success)</span> </div> </div> </td> - <td class="success small"><div align="right">100.00%</div></td> - <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> - <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> - <td class="danger big"> <div class="progress"> - <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> + <td class="success small"><div align="right">100.00%</div></td> + <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td> + <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td> + <td class="danger big"> <div class="progress"> + <div class="progress-bar bg-danger" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%"> <span class="sr-only">50.00% covered (danger)</span> </div> </div> </td> - <td class="danger small"><div align="right">50.00%</div></td> - <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> - </tr> + <td class="danger small"><div align="right">50.00%</div></td> + <td class="danger small"><div align="right">1&nbsp;/&nbsp;2</div></td> + </tr> - <tr> - <td class="" colspan="4"><a href="#28"><abbr title="baz()">baz</abbr></a></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" small">1</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <tr> + <td class="" colspan="4"><a href="#28"><abbr title="baz()">baz</abbr></a></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" small">1</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - <tr> - <td class="">Foo</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" small">1</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <tr> + <td class="">Foo</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" small">1</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - <tr> - <td class="" colspan="4">&nbsp;<a href="#13"><abbr title="bar()">bar</abbr></a></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" small">1</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <tr> + <td class="" colspan="4">&nbsp;<a href="#13"><abbr title="bar()">bar</abbr></a></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" small">1</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - <tr> - <td class="">Bar</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" small">1</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <tr> + <td class="">Bar</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" small">1</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - <tr> - <td class="" colspan="4">&nbsp;<a href="#23"><abbr title="foo()">foo</abbr></a></td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - <td class=" small">1</td> - <td class=" big"></td> - <td class=" small"><div align="right">n/a</div></td> - <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> - </tr> + <tr> + <td class="" colspan="4">&nbsp;<a href="#23"><abbr title="foo()">foo</abbr></a></td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + <td class=" small">1</td> + <td class=" big"></td> + <td class=" small"><div align="right">n/a</div></td> + <td class=" small"><div align="right">0&nbsp;/&nbsp;0</div></td> + </tr> - </tbody> - </table> + </tbody> + </table> + </div> <table id="code" class="table table-borderless table-condensed"> <tbody> <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr> @@ -182,12 +183,14 @@ <p> <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage %s</a> using <a href="%s" target="_top">%s</a> at %s.</small> </p> - <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a> + <a title="Back to the top" id="toplink" href="#"> + <svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill-rule="evenodd" d="M12 11L6 5l-6 6h12z"/></svg> + </a> </footer> </div> <script src=".js/jquery.min.js" type="text/javascript"></script> + <script src=".js/popper.min.js" type="text/javascript"></script> <script src=".js/bootstrap.min.js" type="text/javascript"></script> - <script src=".js/holder.min.js" type="text/javascript"></script> <script src=".js/file.js" type="text/javascript"></script> </body> </html> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml index 7601beb81..359f6a3cd 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <phpunit xmlns="https://schema.phpunit.de/coverage/1.0"> - <file name="BankAccount.php" path="/"> + <file name="BankAccount.php" path="%e"> <totals> <lines total="33" comments="0" code="33" executable="10" executed="5" percent="50.00"/> <methods count="4" tested="3" percent="75.00"/> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml index d23ab2726..a4131745d 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <phpunit xmlns="https://schema.phpunit.de/coverage/1.0"> - <file name="source_with_class_and_anonymous_function.php" path="/"> + <file name="source_with_class_and_anonymous_function.php" path="%e"> <totals> <lines total="19" comments="2" code="17" executable="8" executed="7" percent="87.50"/> <methods count="1" tested="0" percent="0.00"/> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml index 74e0f0df5..5ff1d6b82 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <phpunit xmlns="https://schema.phpunit.de/coverage/1.0"> - <file name="source_with_ignore.php" path="/"> + <file name="source_with_ignore.php" path="%e"> <totals> <lines total="37" comments="12" code="25" executable="2" executed="1" percent="50.00"/> <methods count="0" tested="0" percent="0"/> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml index 847dd9fb0..008db55f1 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <coverage generated="%i"> <project timestamp="%i"> - <file name="%s/source_with_class_and_anonymous_function.php"> + <file name="%s%esource_with_class_and_anonymous_function.php"> <class name="CoveredClassWithAnonymousFunctionInStaticMethod" namespace="global"> <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="7" elements="9" coveredelements="7"/> </class> diff --git a/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml index a35cc4b2d..efd38014a 100644 --- a/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml +++ b/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <coverage generated="%i"> <project timestamp="%i"> - <file name="%s/source_with_ignore.php"> + <file name="%s%esource_with_ignore.php"> <class name="Foo" namespace="global"> <metrics complexity="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/> </class> diff --git a/vendor/phpunit/php-code-coverage/tests/bootstrap.php b/vendor/phpunit/php-code-coverage/tests/bootstrap.php index 8e6d4134f..6c372e66d 100644 --- a/vendor/phpunit/php-code-coverage/tests/bootstrap.php +++ b/vendor/phpunit/php-code-coverage/tests/bootstrap.php @@ -2,4 +2,7 @@ require __DIR__ . '/../vendor/autoload.php'; require __DIR__ . '/TestCase.php'; -define('TEST_FILES_PATH', __DIR__ . '/_files/'); +define( + 'TEST_FILES_PATH', + __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR +); diff --git a/vendor/phpunit/php-code-coverage/tests/tests/BuilderTest.php b/vendor/phpunit/php-code-coverage/tests/tests/BuilderTest.php index 1a4b6f351..303aa9c45 100644 --- a/vendor/phpunit/php-code-coverage/tests/tests/BuilderTest.php +++ b/vendor/phpunit/php-code-coverage/tests/tests/BuilderTest.php @@ -10,6 +10,9 @@ namespace SebastianBergmann\CodeCoverage\Report; +use SebastianBergmann\CodeCoverage\Driver\Driver; +use SebastianBergmann\CodeCoverage\CodeCoverage; +use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\TestCase; use SebastianBergmann\CodeCoverage\Node\Builder; @@ -125,8 +128,25 @@ class BuilderTest extends TestCase $this->assertEquals([], $root->getFunctions()); } + public function testNotCrashParsing() + { + $coverage = $this->getCoverageForCrashParsing(); + $root = $coverage->getReport(); + + $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR); + $this->assertEquals($expectedPath, $root->getName()); + $this->assertEquals($expectedPath, $root->getPath()); + $this->assertEquals(2, $root->getNumExecutableLines()); + $this->assertEquals(0, $root->getNumExecutedLines()); + $data = $coverage->getData(); + $expectedFile = $expectedPath . DIRECTORY_SEPARATOR . 'Crash.php'; + $this->assertSame([$expectedFile => [1 => [], 2 => []]], $data); + } + public function testBuildDirectoryStructure() { + $s = \DIRECTORY_SEPARATOR; + $method = new \ReflectionMethod( Builder::class, 'buildDirectoryStructure' @@ -138,12 +158,23 @@ class BuilderTest extends TestCase [ 'src' => [ 'Money.php/f' => [], - 'MoneyBag.php/f' => [] + 'MoneyBag.php/f' => [], + 'Foo' => [ + 'Bar' => [ + 'Baz' => [ + 'Foo.php/f' => [], + ], + ], + ], ] ], $method->invoke( $this->factory, - ['src/Money.php' => [], 'src/MoneyBag.php' => []] + [ + "src{$s}Money.php" => [], + "src{$s}MoneyBag.php" => [], + "src{$s}Foo{$s}Bar{$s}Baz{$s}Foo.php" => [], + ] ) ); } @@ -168,45 +199,52 @@ class BuilderTest extends TestCase public function reducePathsProvider() { - return [ - [ - [ - 'Money.php' => [], - 'MoneyBag.php' => [] - ], - '/home/sb/Money', - [ - '/home/sb/Money/Money.php' => [], - '/home/sb/Money/MoneyBag.php' => [] - ] - ], - [ - [ - 'Money.php' => [] - ], - '/home/sb/Money/', - [ - '/home/sb/Money/Money.php' => [] - ] - ], - [ - [], - '.', - [] - ], - [ - [ - 'Money.php' => [], - 'MoneyBag.php' => [], - 'Cash.phar/Cash.php' => [], - ], - '/home/sb/Money', - [ - '/home/sb/Money/Money.php' => [], - '/home/sb/Money/MoneyBag.php' => [], - 'phar:///home/sb/Money/Cash.phar/Cash.php' => [], - ], - ], + $s = \DIRECTORY_SEPARATOR; + + yield [ + [], + ".", + [] ]; + + $prefixes = ["C:$s", "$s"]; + + foreach($prefixes as $p){ + yield [ + [ + "Money.php" => [] + ], + "{$p}home{$s}sb{$s}Money{$s}", + [ + "{$p}home{$s}sb{$s}Money{$s}Money.php" => [] + ] + ]; + + yield [ + [ + "Money.php" => [], + "MoneyBag.php" => [] + ], + "{$p}home{$s}sb{$s}Money", + [ + "{$p}home{$s}sb{$s}Money{$s}Money.php" => [], + "{$p}home{$s}sb{$s}Money{$s}MoneyBag.php" => [] + ] + ]; + + yield [ + [ + "Money.php" => [], + "MoneyBag.php" => [], + "Cash.phar{$s}Cash.php" => [], + ], + "{$p}home{$s}sb{$s}Money", + [ + "{$p}home{$s}sb{$s}Money{$s}Money.php" => [], + "{$p}home{$s}sb{$s}Money{$s}MoneyBag.php" => [], + "phar://{$p}home{$s}sb{$s}Money{$s}Cash.phar{$s}Cash.php" => [], + ], + ]; + } } } diff --git a/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php b/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php index 5663a05e7..4c90fca65 100644 --- a/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php +++ b/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php @@ -52,6 +52,7 @@ class FilterTest extends TestCase TEST_FILES_PATH . 'CoverageTwoDefaultClassAnnotations.php', TEST_FILES_PATH . 'CoveredClass.php', TEST_FILES_PATH . 'CoveredFunction.php', + TEST_FILES_PATH . 'Crash.php', TEST_FILES_PATH . 'NamespaceCoverageClassExtendedTest.php', TEST_FILES_PATH . 'NamespaceCoverageClassTest.php', TEST_FILES_PATH . 'NamespaceCoverageCoversClassPublicTest.php', diff --git a/vendor/phpunit/php-token-stream/.github/stale.yml b/vendor/phpunit/php-token-stream/.github/stale.yml new file mode 100644 index 000000000..4eadca327 --- /dev/null +++ b/vendor/phpunit/php-token-stream/.github/stale.yml @@ -0,0 +1,40 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before a stale Issue or Pull Request is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 7 + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - enhancement + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: false + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: false + +# Label to use when marking as stale +staleLabel: stale + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. + +# Comment to post when removing the stale label. +# unmarkComment: > +# Your comment here. + +# Comment to post when closing a stale Issue or Pull Request. +closeComment: > + This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 30 + +# Limit to only `issues` or `pulls` +only: issues + diff --git a/vendor/phpunit/php-token-stream/.travis.yml b/vendor/phpunit/php-token-stream/.travis.yml index 340a5adc5..3f92d4a93 100644 --- a/vendor/phpunit/php-token-stream/.travis.yml +++ b/vendor/phpunit/php-token-stream/.travis.yml @@ -3,6 +3,7 @@ language: php php: - 7.1 - 7.2 + - 7.3 - master sudo: false diff --git a/vendor/phpunit/php-token-stream/ChangeLog.md b/vendor/phpunit/php-token-stream/ChangeLog.md index 190f5ff4a..3a8967d7d 100644 --- a/vendor/phpunit/php-token-stream/ChangeLog.md +++ b/vendor/phpunit/php-token-stream/ChangeLog.md @@ -2,6 +2,12 @@ All notable changes to `sebastianbergmann/php-token-stream` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [3.0.1] - 2018-10-30 + +### Fixed + +* Fixed [#78](https://github.com/sebastianbergmann/php-token-stream/pull/78): `getEndTokenId()` does not handle string-dollar (`"${var}"`) interpolation + ## [3.0.0] - 2018-02-01 ### Removed @@ -11,6 +17,8 @@ All notable changes to `sebastianbergmann/php-token-stream` are documented in th ## [2.0.2] - 2017-11-27 +### Fixed + * Fixed [#69](https://github.com/sebastianbergmann/php-token-stream/issues/69): `PHP_Token_USE_FUNCTION` does not serialize correctly ## [2.0.1] - 2017-08-20 @@ -21,6 +29,7 @@ All notable changes to `sebastianbergmann/php-token-stream` are documented in th ## [2.0.0] - 2017-08-03 +[3.0.1]: https://github.com/sebastianbergmann/php-token-stream/compare/3.0.0...3.0.1 [3.0.0]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0...3.0.0 [2.0.2]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0.1...2.0.2 [2.0.1]: https://github.com/sebastianbergmann/php-token-stream/compare/2.0.0...2.0.1 diff --git a/vendor/phpunit/php-token-stream/LICENSE b/vendor/phpunit/php-token-stream/LICENSE index cdd1374f0..a54c54c2e 100644 --- a/vendor/phpunit/php-token-stream/LICENSE +++ b/vendor/phpunit/php-token-stream/LICENSE @@ -1,6 +1,6 @@ -PHP_TokenStream +php-token-stream -Copyright (c) 2009-2017, Sebastian Bergmann <sebastian@phpunit.de>. +Copyright (c) 2009-2018, Sebastian Bergmann <sebastian@phpunit.de>. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/vendor/phpunit/php-token-stream/src/Token.php b/vendor/phpunit/php-token-stream/src/Token.php index 8ec2b211c..c63a1b90b 100644 --- a/vendor/phpunit/php-token-stream/src/Token.php +++ b/vendor/phpunit/php-token-stream/src/Token.php @@ -135,6 +135,7 @@ abstract class PHP_TokenWithScope extends PHP_Token while ($this->endTokenId === null && isset($tokens[$i])) { if ($tokens[$i] instanceof PHP_Token_OPEN_CURLY || + $tokens[$i] instanceof PHP_Token_DOLLAR_OPEN_CURLY_BRACES || $tokens[$i] instanceof PHP_Token_CURLY_OPEN) { $block++; } elseif ($tokens[$i] instanceof PHP_Token_CLOSE_CURLY) { diff --git a/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php b/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php index 539f827c1..5d09e4fb1 100644 --- a/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php +++ b/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php @@ -74,6 +74,7 @@ class PHP_Token_FunctionTest extends TestCase $this->assertEquals(17, $this->functions[2]->getLine()); $this->assertEquals(21, $this->functions[3]->getLine()); $this->assertEquals(29, $this->functions[4]->getLine()); + $this->assertEquals(37, $this->functions[6]->getLine()); } /** @@ -86,6 +87,7 @@ class PHP_Token_FunctionTest extends TestCase $this->assertEquals(19, $this->functions[2]->getEndLine()); $this->assertEquals(23, $this->functions[3]->getEndLine()); $this->assertEquals(31, $this->functions[4]->getEndLine()); + $this->assertEquals(41, $this->functions[6]->getEndLine()); } /** diff --git a/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php b/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php index 9e8cb248e..6beb2ef99 100644 --- a/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php +++ b/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php @@ -156,7 +156,7 @@ class PHP_Token_InterfaceTest extends TestCase return; } } - $this->fail('Seachring for 2 classes failed'); + $this->fail('Searching for 2 classes failed'); } public function testGetPackageNamespaceIsEmptyForInterfacesThatAreNotWithinNamespaces() diff --git a/vendor/phpunit/php-token-stream/tests/_fixture/source.php b/vendor/phpunit/php-token-stream/tests/_fixture/source.php index 0c9b87f65..3db0a22d1 100644 --- a/vendor/phpunit/php-token-stream/tests/_fixture/source.php +++ b/vendor/phpunit/php-token-stream/tests/_fixture/source.php @@ -33,4 +33,10 @@ class Foo{function foo(){} public function blaz($x, $y) { } + + public function buzz($foo) + { + echo "${foo}"; + return true; + } } diff --git a/vendor/phpunit/phpunit/.editorconfig b/vendor/phpunit/phpunit/.editorconfig index d3fcdc607..421bd83a9 100644 --- a/vendor/phpunit/phpunit/.editorconfig +++ b/vendor/phpunit/phpunit/.editorconfig @@ -6,3 +6,6 @@ insert_final_newline = true indent_style = space indent_size = 4 charset = utf-8 + +[tests/_files/*_result_cache.txt] +insert_final_newline = false diff --git a/vendor/phpunit/phpunit/.phan/config.php b/vendor/phpunit/phpunit/.phan/config.php new file mode 100644 index 000000000..5eb2b87d4 --- /dev/null +++ b/vendor/phpunit/phpunit/.phan/config.php @@ -0,0 +1,7 @@ +<?php declare(strict_types=1); +return [ + 'directory_list' => [ 'src/', 'vendor/' ], + 'exclude_analysis_directory_list' => [ 'vendor/', 'src/Framework/Assert/' ], + + 'target_php_version' => '7.1', +]; diff --git a/vendor/phpunit/phpunit/.php_cs.dist b/vendor/phpunit/phpunit/.php_cs.dist index 2ec2bdc43..6787de40a 100644 --- a/vendor/phpunit/phpunit/.php_cs.dist +++ b/vendor/phpunit/phpunit/.php_cs.dist @@ -156,7 +156,7 @@ return PhpCsFixer\Config::create() 'phpdoc_to_comment' => true, 'phpdoc_trim' => true, 'phpdoc_trim_consecutive_blank_line_separation' => true, - 'phpdoc_types' => true, + 'phpdoc_types' => ['groups' => ['simple', 'meta']], 'phpdoc_types_order' => true, 'phpdoc_var_without_name' => true, 'pow_to_exponentiation' => true, @@ -174,6 +174,7 @@ return PhpCsFixer\Config::create() 'single_quote' => true, 'standardize_not_equals' => true, 'ternary_to_null_coalescing' => true, + 'trailing_comma_in_multiline_array' => true, 'trim_array_spaces' => true, 'unary_operator_spaces' => true, 'visibility_required' => true, diff --git a/vendor/phpunit/phpunit/.travis.yml b/vendor/phpunit/phpunit/.travis.yml index 9ee14f6e7..f4bc5d123 100644 --- a/vendor/phpunit/phpunit/.travis.yml +++ b/vendor/phpunit/phpunit/.travis.yml @@ -10,6 +10,7 @@ addons: php: - 7.1 - 7.2 + - 7.3 - master matrix: @@ -51,15 +52,6 @@ notifications: jobs: include: - - stage: Static Code Analysis - php: 7.2 - env: PHPStan - before_install: - - travis_retry ./build/tools/composer require --no-update phpunit/php-invoker:^2.0 - install: travis_retry ./build/tools/composer update --prefer-dist --prefer-stable - script: - - ./build/tools/phpstan analyse --level=0 -c phpstan.neon src - - ./build/tools/phpstan analyse --level=2 -c phpstan-tests.neon tests - stage: Static Code Analysis php: 7.2 env: php-cs-fixer diff --git a/vendor/phpunit/phpunit/ChangeLog-7.3.md b/vendor/phpunit/phpunit/ChangeLog-7.3.md index c69dc1cc0..58bdac7d3 100644 --- a/vendor/phpunit/phpunit/ChangeLog-7.3.md +++ b/vendor/phpunit/phpunit/ChangeLog-7.3.md @@ -2,6 +2,12 @@ All notable changes of the PHPUnit 7.3 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [7.3.6] - 2018-MM-DD + +### Fixed + +* Fixed [#3310](https://github.com/sebastianbergmann/phpunit/issues/3310): Inconsistent `@throws` annotations in `Assert/Functions.php` + ## [7.3.5] - 2018-09-08 ### Fixed @@ -66,6 +72,7 @@ All notable changes of the PHPUnit 7.3 release series are documented in this fil * Fixed [#3222](https://github.com/sebastianbergmann/phpunit/pull/3222): Priority of `@covers` and `@coversNothing` is wrong * Fixed [#3225](https://github.com/sebastianbergmann/phpunit/issues/3225): `coverage-php` missing from `phpunit.xsd` +[7.3.6]: https://github.com/sebastianbergmann/phpunit/compare/7.3.5...7.3.6 [7.3.5]: https://github.com/sebastianbergmann/phpunit/compare/7.3.4...7.3.5 [7.3.4]: https://github.com/sebastianbergmann/phpunit/compare/7.3.3...7.3.4 [7.3.3]: https://github.com/sebastianbergmann/phpunit/compare/7.3.2...7.3.3 diff --git a/vendor/phpunit/phpunit/ChangeLog-7.4.md b/vendor/phpunit/phpunit/ChangeLog-7.4.md new file mode 100644 index 000000000..f0debeb82 --- /dev/null +++ b/vendor/phpunit/phpunit/ChangeLog-7.4.md @@ -0,0 +1,55 @@ +# Changes in PHPUnit 7.4 + +All notable changes of the PHPUnit 7.4 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. + +## [7.4.5] - 2018-12-03 + +* Fixed [#3410](https://github.com/sebastianbergmann/phpunit/issues/3410): Parent directory of `cacheResultFile` is not created when it does not exist +* Fixed [#3418](https://github.com/sebastianbergmann/phpunit/pull/3418): Conflicting placeholder replacement and argument exporting inconsistencies in `@testdox` + +## [7.4.4] - 2018-11-14 + +### Fixed + +* Fixed [#3379](https://github.com/sebastianbergmann/phpunit/issues/3379): Dependent test of skipped test has status `-1` +* Fixed [#3394](https://github.com/sebastianbergmann/phpunit/issues/3394): Process Isolation does not work when PHPUnit is used as PHAR +* Fixed [#3398](https://github.com/sebastianbergmann/phpunit/pull/3398): Bug when replacing placeholders in `@testdox` annotation using an associative array +* Fixed [#3401](https://github.com/sebastianbergmann/phpunit/pull/3401): Test re-ordering edge cases +* Fixed [#3402](https://github.com/sebastianbergmann/phpunit/pull/3402): Listening to the tests in reverse revealed evil hidden messages + +## [7.4.3] - 2018-10-23 + +### Changed + +* Use `^3.1` of `sebastian/environment` again due to [regression](https://github.com/sebastianbergmann/environment/issues/31) + +## [7.4.2] - 2018-10-23 + +### Fixed + +* Fixed [#3354](https://github.com/sebastianbergmann/phpunit/pull/3354): Regression when `columns="max"` is used + +## [7.4.1] - 2018-10-18 + +### Fixed + +* Fixed [#3321](https://github.com/sebastianbergmann/phpunit/pull/3321): Incorrect TestDox output for data provider with indexed array +* Fixed [#3353](https://github.com/sebastianbergmann/phpunit/issues/3353): Requesting less than 16 columns of output results in an error + +## [7.4.0] - 2018-10-05 + +### Added + +* Implemented [#3127](https://github.com/sebastianbergmann/phpunit/issues/3127): Emit error when mocked method is not really mocked +* Implemented [#3224](https://github.com/sebastianbergmann/phpunit/pull/3224): Ability to enforce a time limit for tests not annotated with `@small`, `@medium`, or `@large` +* Implemented [#3272](https://github.com/sebastianbergmann/phpunit/issues/3272): Ability to generate code coverage whitelist filter script for Xdebug +* Implemented [#3284](https://github.com/sebastianbergmann/phpunit/issues/3284): Ability to reorder tests based on execution time +* Implemented [#3290](https://github.com/sebastianbergmann/phpunit/issues/3290): Ability to load a PHP script before any code of PHPUnit itself is loaded + +[7.4.5]: https://github.com/sebastianbergmann/phpunit/compare/7.4.4...7.4.5 +[7.4.4]: https://github.com/sebastianbergmann/phpunit/compare/7.4.3...7.4.4 +[7.4.3]: https://github.com/sebastianbergmann/phpunit/compare/7.4.2...7.4.3 +[7.4.2]: https://github.com/sebastianbergmann/phpunit/compare/7.4.1...7.4.2 +[7.4.1]: https://github.com/sebastianbergmann/phpunit/compare/7.4.0...7.4.1 +[7.4.0]: https://github.com/sebastianbergmann/phpunit/compare/7.3.5...7.4.0 + diff --git a/vendor/phpunit/phpunit/README.md b/vendor/phpunit/phpunit/README.md index 23dd52b86..0e0d057ca 100644 --- a/vendor/phpunit/phpunit/README.md +++ b/vendor/phpunit/phpunit/README.md @@ -4,16 +4,16 @@ PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of [![Latest Stable Version](https://img.shields.io/packagist/v/phpunit/phpunit.svg?style=flat-square)](https://packagist.org/packages/phpunit/phpunit) [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://php.net/) -[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit/7.3.svg?style=flat-square)](https://phpunit.de/build-status.html) +[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit/7.4.svg?style=flat-square)](https://phpunit.de/build-status.html) ## Installation -We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit 7.3 bundled in a single file: +We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit 7.4 bundled in a single file: ```bash -$ wget https://phar.phpunit.de/phpunit-7.3.phar +$ wget https://phar.phpunit.de/phpunit-7.4.phar -$ php phpunit-7.3.phar --version +$ php phpunit-7.4.phar --version ``` Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the "[Getting Started](https://phpunit.de/getting-started-with-phpunit.html)" guide for details on how to install PHPUnit. diff --git a/vendor/phpunit/phpunit/build.xml b/vendor/phpunit/phpunit/build.xml index 11a03ed07..4e9635bf2 100644 --- a/vendor/phpunit/phpunit/build.xml +++ b/vendor/phpunit/phpunit/build.xml @@ -26,10 +26,9 @@ <property name="prepare.done" value="true"/> </target> - <target name="validate-composer-json" unless="validate-composer-json.done" description="Validate composer.json"> + <target name="validate-composer-json" depends="clean" unless="validate-composer-json.done" description="Validate composer.json"> <exec executable="${basedir}/build/tools/composer" failonerror="true" taskname="composer"> <arg value="validate"/> - <arg value="--no-check-lock"/> <arg value="--strict"/> <arg value="${basedir}/composer.json"/> </exec> @@ -61,6 +60,17 @@ <move file="${basedir}/composer.json.bak" tofile="${basedir}/composer.json"/> </target> + <target name="check-dependencies" description="Performs check for outdated dependencies"> + <exec executable="${basedir}/build/tools/composer" taskname="composer"> + <arg value="show"/> + <arg value="--minor-only"/> + <arg value="--latest"/> + <arg value="--direct"/> + <arg value="--outdated"/> + <arg value="--strict"/> + </exec> + </target> + <target name="php-syntax-check" unless="php-syntax-check.done" description="Perform syntax check on PHP files"> <apply executable="php" failonerror="true" taskname="lint"> <arg value="-l"/> @@ -110,7 +120,7 @@ </exec> </target> - <target name="phar" depends="-phar-determine-version,-phar-prepare" description="Create PHAR archive of PHPUnit and all its dependencies"> + <target name="phar" depends="-phar-prepare,-phar-determine-version" description="Create PHAR archive of PHPUnit and all its dependencies"> <antcall target="-phar-build"> <param name="type" value="release"/> </antcall> diff --git a/vendor/phpunit/phpunit/composer.json b/vendor/phpunit/phpunit/composer.json index f9f33a4c2..6a09da595 100644 --- a/vendor/phpunit/phpunit/composer.json +++ b/vendor/phpunit/phpunit/composer.json @@ -38,11 +38,11 @@ "phpunit/php-timer": "^2.0", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0", - "sebastian/environment": "^3.1", + "sebastian/environment": "^4.0", "sebastian/exporter": "^3.1", "sebastian/global-state": "^2.0", "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^1.0", + "sebastian/resource-operations": "^2.0", "sebastian/version": "^2.0.1" }, "require-dev": { @@ -84,7 +84,7 @@ }, "extra": { "branch-alias": { - "dev-master": "7.3-dev" + "dev-master": "7.4-dev" } } } diff --git a/vendor/phpunit/phpunit/phive.xml b/vendor/phpunit/phpunit/phive.xml index 47bd740ee..10a6223ab 100644 --- a/vendor/phpunit/phpunit/phive.xml +++ b/vendor/phpunit/phpunit/phive.xml @@ -1,8 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phive xmlns="https://phar.io/phive"> - <phar name="phpab" version="^1.24.1" installed="1.25.0" location="./build/tools/phpab" copy="true"/> - <phar name="php-cs-fixer" version="^2.12.0" installed="2.13.0" location="./build/tools/php-cs-fixer" copy="true"/> + <phar name="phpab" version="^1.24.1" installed="1.25.1" location="./build/tools/phpab" copy="true"/> + <phar name="php-cs-fixer" version="^2.12.0" installed="2.13.1" location="./build/tools/php-cs-fixer" copy="true"/> <phar name="phpdox" version="^0.11.2" installed="0.11.2" location="./build/tools/phpdox" copy="true"/> <phar name="phploc" version="^4.0.1" installed="4.0.1" location="./build/tools/phploc" copy="true"/> - <phar name="phpstan" version="^0.10.1" installed="0.10.1" location="./build/tools/phpstan" copy="true"/> </phive> diff --git a/vendor/phpunit/phpunit/phpstan-tests.neon b/vendor/phpunit/phpunit/phpstan-tests.neon deleted file mode 100644 index 84de5f687..000000000 --- a/vendor/phpunit/phpunit/phpstan-tests.neon +++ /dev/null @@ -1,50 +0,0 @@ -parameters: - ignoreErrors: - # https://github.com/phpstan/phpstan/issues/1185 - - '#Function xdebug_disable not found.#' - - # parent calls are intentionally omitted - - '#Issue244Exception::__construct\(\) does not call parent constructor from Exception.#' - - '#Issue244ExceptionIntCode::__construct\(\) does not call parent constructor from Exception.#' - - # these constants are defined in PHPUnit configuration XML, so they can't be detected in PHPStan - - '#Constant PHPUNIT_1330 not found.#' - - '#Constant FOO not found.#' - - '#Constant BAR not found.#' - - # global constants does not work properly in PHPStan yet https://github.com/phpstan/phpstan/issues/768 - - '#Constant TEST_FILES_PATH not found.#' - - '#Constant GITHUB_ISSUE not found.#' - - # This access to undefined property is legit - - '#Access to an undefined property SplObjectStorage::\$foo#' - - # intentionally non existent function in tests/Regression/GitHub/3107/Issue3107Test.php - - '#Function does_not_exist not found#' - - # https://github.com/sebastianbergmann/phpunit/issues/3129 - - '#Access to an undefined property PHPUnit\\Framework\\MockObject\\MockObject::\$constructorArgs#' - - '#Access to an undefined property PHPUnit\\Framework\\MockObject\\MockObject::\$constructorCalled#' - - '#Access to an undefined property PHPUnit\\Framework\\MockObject\\MockObject::\$cloned#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::foo()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::bar()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::doSomething()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::wrong()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::right()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::staticMethod()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::returnAnything()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::mockableMethod()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::anotherMockableMethod()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::someMethod()#' - - '#Call to an undefined method PHPUnit\\Framework\\MockObject\\MockObject::callback()#' - - '#Call to an undefined method object::ohHai#' - - '#Call to static method bar\(\) on an unknown class Legacy#' - - '#Class ACustomClassName not found#' - - '#Function functionCallback not found while trying to analyse it - autoloading is probably not configured properly#' - - '#Result of method ClassWithAllPossibleReturnTypes::methodWithVoidReturnTypeDeclaration\(\) \(void\) is used#' - - excludes_analyse: - - tests/_files/phpunit-example-extension/tests/OneTest.php - - tests/end-to-end/regression/Trac/783/OneTest.php - - tests/_files/3194.php - - tests/_files/RouterTest.php diff --git a/vendor/phpunit/phpunit/phpstan.neon b/vendor/phpunit/phpunit/phpstan.neon deleted file mode 100644 index 64f497d38..000000000 --- a/vendor/phpunit/phpunit/phpstan.neon +++ /dev/null @@ -1,7 +0,0 @@ -parameters: - ignoreErrors: - # https://github.com/phpstan/phpstan/issues/1185 - - '#Function xdebug_start_function_monitor not found.#' - - '#Function xdebug_get_monitored_functions not found.#' - - '#Function xdebug_stop_function_monitor not found.#' - diff --git a/vendor/phpunit/phpunit/phpunit b/vendor/phpunit/phpunit/phpunit index d21740a08..ebea1ffb0 100755 --- a/vendor/phpunit/phpunit/phpunit +++ b/vendor/phpunit/phpunit/phpunit @@ -48,6 +48,14 @@ if (!defined('PHPUNIT_COMPOSER_INSTALL')) { die(1); } +$options = getopt('', array('prepend:')); + +if (isset($options['prepend'])) { + require $options['prepend']; +} + +unset($options); + require PHPUNIT_COMPOSER_INSTALL; PHPUnit\TextUI\Command::main(); diff --git a/vendor/phpunit/phpunit/phpunit.xsd b/vendor/phpunit/phpunit/phpunit.xsd index 5902e31f5..30dd1920a 100644 --- a/vendor/phpunit/phpunit/phpunit.xsd +++ b/vendor/phpunit/phpunit/phpunit.xsd @@ -2,7 +2,7 @@ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:annotation> <xs:documentation source="https://phpunit.de/documentation.html"> - This Schema file defines the rules by which the XML configuration file of PHPUnit 7.3 may be structured. + This Schema file defines the rules by which the XML configuration file of PHPUnit 7.4 may be structured. </xs:documentation> <xs:appinfo source="https://phpunit.de/documentation.html"/> </xs:annotation> @@ -176,12 +176,14 @@ <xs:restriction base="xs:string"> <xs:enumeration value="default"/> <xs:enumeration value="defects"/> + <xs:enumeration value="duration"/> <xs:enumeration value="depends"/> <xs:enumeration value="depends,defects"/> <xs:enumeration value="random"/> <xs:enumeration value="reverse"/> <xs:enumeration value="depends,random"/> <xs:enumeration value="depends,reverse"/> + <xs:enumeration value="depends,duration"/> </xs:restriction> </xs:simpleType> <xs:complexType name="fileFilterType"> @@ -258,6 +260,7 @@ <xs:attribute name="beStrictAboutTestsThatDoNotTestAnything" type="xs:boolean" default="true"/> <xs:attribute name="beStrictAboutTodoAnnotatedTests" type="xs:boolean" default="false"/> <xs:attribute name="beStrictAboutCoversAnnotation" type="xs:boolean" default="false"/> + <xs:attribute name="defaultTimeLimit" type="xs:integer" default="0"/> <xs:attribute name="enforceTimeLimit" type="xs:boolean" default="false"/> <xs:attribute name="ignoreDeprecatedCodeUnitsFromCodeCoverage" type="xs:boolean" default="false"/> <xs:attribute name="timeoutForSmallTests" type="xs:integer" default="1"/> diff --git a/vendor/phpunit/phpunit/src/Framework/Assert.php b/vendor/phpunit/phpunit/src/Framework/Assert.php index a97fc9567..0f0cfa155 100644 --- a/vendor/phpunit/phpunit/src/Framework/Assert.php +++ b/vendor/phpunit/phpunit/src/Framework/Assert.php @@ -1774,13 +1774,8 @@ abstract class Assert */ public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, bool $checkAttributes = false, string $message = ''): void { - $tmp = new DOMDocument; - $expectedElement = $tmp->importNode($expectedElement, true); - - $tmp = new DOMDocument; - $actualElement = $tmp->importNode($actualElement, true); - - unset($tmp); + $expectedElement = Xml::import($expectedElement); + $actualElement = Xml::import($actualElement); static::assertSame( $expectedElement->tagName, @@ -1801,8 +1796,11 @@ abstract class Assert ); for ($i = 0; $i < $expectedElement->attributes->length; $i++) { + /** @var \DOMAttr $expectedAttribute */ $expectedAttribute = $expectedElement->attributes->item($i); - $actualAttribute = $actualElement->attributes->getNamedItem( + + /** @var \DOMAttr $actualAttribute */ + $actualAttribute = $actualElement->attributes->getNamedItem( $expectedAttribute->name ); diff --git a/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php index f9cd235a2..aa595ff20 100644 --- a/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php +++ b/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php @@ -68,7 +68,8 @@ use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub; * @param int|string $key * @param array|ArrayAccess $array * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertArrayHasKey($key, $array, string $message = ''): void { @@ -80,11 +81,11 @@ function assertArrayHasKey($key, $array, string $message = ''): void * * @param array|ArrayAccess $subset * @param array|ArrayAccess $array - * @param bool $strict Check for object identity * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ -function assertArraySubset($subset, $array, bool $strict = false, string $message = ''): void +function assertArraySubset($subset, $array, bool $checkForObjectIdentity = false, string $message = ''): void { Assert::assertArraySubset(...\func_get_args()); } @@ -95,7 +96,8 @@ function assertArraySubset($subset, $array, bool $strict = false, string $messag * @param int|string $key * @param array|ArrayAccess $array * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertArrayNotHasKey($key, $array, string $message = ''): void { @@ -105,9 +107,7 @@ function assertArrayNotHasKey($key, $array, string $message = ''): void /** * Asserts that a haystack contains a needle. * - * @throws Exception * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\Exception * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void @@ -121,7 +121,8 @@ function assertContains($needle, $haystack, string $message = '', bool $ignoreCa * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void { @@ -131,9 +132,7 @@ function assertAttributeContains($needle, string $haystackAttributeName, $haysta /** * Asserts that a haystack does not contain a needle. * - * @throws Exception * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\Exception * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertNotContains($needle, $haystack, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void @@ -147,7 +146,8 @@ function assertNotContains($needle, $haystack, string $message = '', bool $ignor * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotContains($needle, string $haystackAttributeName, $haystackClassOrObject, string $message = '', bool $ignoreCase = false, bool $checkForObjectIdentity = true, bool $checkForNonObjectIdentity = false): void { @@ -157,7 +157,6 @@ function assertAttributeNotContains($needle, string $haystackAttributeName, $hay /** * Asserts that a haystack contains only values of a given type. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -169,7 +168,6 @@ function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeTyp /** * Asserts that a haystack contains only instances of a given class name. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -185,7 +183,8 @@ function assertContainsOnlyInstancesOf(string $className, iterable $haystack, st * @param object|string $haystackClassOrObject * @param bool $isNativeType * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void { @@ -195,7 +194,6 @@ function assertAttributeContainsOnly(string $type, string $haystackAttributeName /** * Asserts that a haystack does not contain only values of a given type. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -212,7 +210,8 @@ function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNative * @param object|string $haystackClassOrObject * @param bool $isNativeType * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotContainsOnly(string $type, string $haystackAttributeName, $haystackClassOrObject, ?bool $isNativeType = null, string $message = ''): void { @@ -224,7 +223,8 @@ function assertAttributeNotContainsOnly(string $type, string $haystackAttributeN * * @param Countable|iterable $haystack * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertCount(int $expectedCount, $haystack, string $message = ''): void { @@ -237,7 +237,8 @@ function assertCount(int $expectedCount, $haystack, string $message = ''): void * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void { @@ -249,7 +250,8 @@ function assertAttributeCount(int $expectedCount, string $haystackAttributeName, * * @param Countable|iterable $haystack * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertNotCount(int $expectedCount, $haystack, string $message = ''): void { @@ -262,7 +264,8 @@ function assertNotCount(int $expectedCount, $haystack, string $message = ''): vo * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotCount(int $expectedCount, string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void { @@ -272,7 +275,6 @@ function assertAttributeNotCount(int $expectedCount, string $haystackAttributeNa /** * Asserts that two variables are equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -286,7 +288,8 @@ function assertEquals($expected, $actual, string $message = '', float $delta = 0 * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void { @@ -301,7 +304,6 @@ function assertAttributeEquals($expected, string $actualAttributeName, $actualCl * @param bool $canonicalize * @param bool $ignoreCase * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -315,7 +317,8 @@ function assertNotEquals($expected, $actual, string $message = '', $delta = 0.0, * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotEquals($expected, string $actualAttributeName, $actualClassOrObject, string $message = '', float $delta = 0.0, int $maxDepth = 10, bool $canonicalize = false, bool $ignoreCase = false): void { @@ -325,7 +328,6 @@ function assertAttributeNotEquals($expected, string $actualAttributeName, $actua /** * Asserts that a variable is empty. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -340,7 +342,8 @@ function assertEmpty($actual, string $message = ''): void * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void { @@ -350,7 +353,6 @@ function assertAttributeEmpty(string $haystackAttributeName, $haystackClassOrObj /** * Asserts that a variable is not empty. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -365,7 +367,8 @@ function assertNotEmpty($actual, string $message = ''): void * * @param object|string $haystackClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotEmpty(string $haystackAttributeName, $haystackClassOrObject, string $message = ''): void { @@ -375,7 +378,6 @@ function assertAttributeNotEmpty(string $haystackAttributeName, $haystackClassOr /** * Asserts that a value is greater than another value. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -389,7 +391,8 @@ function assertGreaterThan($expected, $actual, string $message = ''): void * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeGreaterThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -399,7 +402,6 @@ function assertAttributeGreaterThan($expected, string $actualAttributeName, $act /** * Asserts that a value is greater than or equal to another value. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -413,7 +415,8 @@ function assertGreaterThanOrEqual($expected, $actual, string $message = ''): voi * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeGreaterThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -423,7 +426,6 @@ function assertAttributeGreaterThanOrEqual($expected, string $actualAttributeNam /** * Asserts that a value is smaller than another value. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -437,7 +439,8 @@ function assertLessThan($expected, $actual, string $message = ''): void * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeLessThan($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -447,7 +450,6 @@ function assertAttributeLessThan($expected, string $actualAttributeName, $actual /** * Asserts that a value is smaller than or equal to another value. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -461,7 +463,8 @@ function assertLessThanOrEqual($expected, $actual, string $message = ''): void * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeLessThanOrEqual($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -472,7 +475,8 @@ function assertAttributeLessThanOrEqual($expected, string $actualAttributeName, * Asserts that the contents of one file is equal to the contents of another * file. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertFileEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void { @@ -483,7 +487,8 @@ function assertFileEquals(string $expected, string $actual, string $message = '' * Asserts that the contents of one file is not equal to the contents of * another file. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertFileNotEquals(string $expected, string $actual, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void { @@ -494,7 +499,8 @@ function assertFileNotEquals(string $expected, string $actual, string $message = * Asserts that the contents of a string is equal * to the contents of a file. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertStringEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void { @@ -505,7 +511,8 @@ function assertStringEqualsFile(string $expectedFile, string $actualString, stri * Asserts that the contents of a string is not equal * to the contents of a file. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertStringNotEqualsFile(string $expectedFile, string $actualString, string $message = '', bool $canonicalize = false, bool $ignoreCase = false): void { @@ -515,7 +522,6 @@ function assertStringNotEqualsFile(string $expectedFile, string $actualString, s /** * Asserts that a file/dir is readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -527,7 +533,6 @@ function assertIsReadable(string $filename, string $message = ''): void /** * Asserts that a file/dir exists and is not readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -539,7 +544,6 @@ function assertNotIsReadable(string $filename, string $message = ''): void /** * Asserts that a file/dir exists and is writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -551,7 +555,6 @@ function assertIsWritable(string $filename, string $message = ''): void /** * Asserts that a file/dir exists and is not writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -563,7 +566,6 @@ function assertNotIsWritable(string $filename, string $message = ''): void /** * Asserts that a directory exists. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -575,7 +577,6 @@ function assertDirectoryExists(string $directory, string $message = ''): void /** * Asserts that a directory does not exist. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -587,7 +588,6 @@ function assertDirectoryNotExists(string $directory, string $message = ''): void /** * Asserts that a directory exists and is readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -599,7 +599,6 @@ function assertDirectoryIsReadable(string $directory, string $message = ''): voi /** * Asserts that a directory exists and is not readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -611,7 +610,6 @@ function assertDirectoryNotIsReadable(string $directory, string $message = ''): /** * Asserts that a directory exists and is writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -623,7 +621,6 @@ function assertDirectoryIsWritable(string $directory, string $message = ''): voi /** * Asserts that a directory exists and is not writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -635,7 +632,6 @@ function assertDirectoryNotIsWritable(string $directory, string $message = ''): /** * Asserts that a file exists. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -647,7 +643,6 @@ function assertFileExists(string $filename, string $message = ''): void /** * Asserts that a file does not exist. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -659,7 +654,6 @@ function assertFileNotExists(string $filename, string $message = ''): void /** * Asserts that a file exists and is readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -671,7 +665,6 @@ function assertFileIsReadable(string $file, string $message = ''): void /** * Asserts that a file exists and is not readable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -683,7 +676,6 @@ function assertFileNotIsReadable(string $file, string $message = ''): void /** * Asserts that a file exists and is writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -695,7 +687,6 @@ function assertFileIsWritable(string $file, string $message = ''): void /** * Asserts that a file exists and is not writable. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -707,7 +698,6 @@ function assertFileNotIsWritable(string $file, string $message = ''): void /** * Asserts that a condition is true. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -719,7 +709,6 @@ function assertTrue($condition, string $message = ''): void /** * Asserts that a condition is not true. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -731,7 +720,6 @@ function assertNotTrue($condition, string $message = ''): void /** * Asserts that a condition is false. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -743,7 +731,6 @@ function assertFalse($condition, string $message = ''): void /** * Asserts that a condition is not false. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -755,7 +742,6 @@ function assertNotFalse($condition, string $message = ''): void /** * Asserts that a variable is null. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -767,7 +753,6 @@ function assertNull($actual, string $message = ''): void /** * Asserts that a variable is not null. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -779,7 +764,6 @@ function assertNotNull($actual, string $message = ''): void /** * Asserts that a variable is finite. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -791,7 +775,6 @@ function assertFinite($actual, string $message = ''): void /** * Asserts that a variable is infinite. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -803,7 +786,6 @@ function assertInfinite($actual, string $message = ''): void /** * Asserts that a variable is nan. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -815,7 +797,8 @@ function assertNan($actual, string $message = ''): void /** * Asserts that a class has a specified attribute. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertClassHasAttribute(string $attributeName, string $className, string $message = ''): void { @@ -825,7 +808,8 @@ function assertClassHasAttribute(string $attributeName, string $className, strin /** * Asserts that a class does not have a specified attribute. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertClassNotHasAttribute(string $attributeName, string $className, string $message = ''): void { @@ -835,7 +819,8 @@ function assertClassNotHasAttribute(string $attributeName, string $className, st /** * Asserts that a class has a specified static attribute. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertClassHasStaticAttribute(string $attributeName, string $className, string $message = ''): void { @@ -845,7 +830,8 @@ function assertClassHasStaticAttribute(string $attributeName, string $className, /** * Asserts that a class does not have a specified static attribute. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message = ''): void { @@ -857,7 +843,8 @@ function assertClassNotHasStaticAttribute(string $attributeName, string $classNa * * @param object $object * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertObjectHasAttribute(string $attributeName, $object, string $message = ''): void { @@ -869,7 +856,8 @@ function assertObjectHasAttribute(string $attributeName, $object, string $messag * * @param object $object * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertObjectNotHasAttribute(string $attributeName, $object, string $message = ''): void { @@ -881,7 +869,6 @@ function assertObjectNotHasAttribute(string $attributeName, $object, string $mes * Used on objects, it asserts that two variables reference * the same object. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -896,7 +883,8 @@ function assertSame($expected, $actual, string $message = ''): void * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -908,7 +896,6 @@ function assertAttributeSame($expected, string $actualAttributeName, $actualClas * Used on objects, it asserts that two variables do not reference * the same object. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -923,7 +910,8 @@ function assertNotSame($expected, $actual, string $message = ''): void * * @param object|string $actualClassOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotSame($expected, string $actualAttributeName, $actualClassOrObject, string $message = ''): void { @@ -933,7 +921,8 @@ function assertAttributeNotSame($expected, string $actualAttributeName, $actualC /** * Asserts that a variable is of a given type. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertInstanceOf(string $expected, $actual, string $message = ''): void { @@ -945,7 +934,8 @@ function assertInstanceOf(string $expected, $actual, string $message = ''): void * * @param object|string $classOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void { @@ -955,7 +945,8 @@ function assertAttributeInstanceOf(string $expected, string $attributeName, $cla /** * Asserts that a variable is not of a given type. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertNotInstanceOf(string $expected, $actual, string $message = ''): void { @@ -967,7 +958,8 @@ function assertNotInstanceOf(string $expected, $actual, string $message = ''): v * * @param object|string $classOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotInstanceOf(string $expected, string $attributeName, $classOrObject, string $message = ''): void { @@ -977,7 +969,6 @@ function assertAttributeNotInstanceOf(string $expected, string $attributeName, $ /** * Asserts that a variable is of a given type. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -991,7 +982,8 @@ function assertInternalType(string $expected, $actual, string $message = ''): vo * * @param object|string $classOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void { @@ -1001,7 +993,6 @@ function assertAttributeInternalType(string $expected, string $attributeName, $c /** * Asserts that a variable is not of a given type. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1015,7 +1006,8 @@ function assertNotInternalType(string $expected, $actual, string $message = ''): * * @param object|string $classOrObject * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertAttributeNotInternalType(string $expected, string $attributeName, $classOrObject, string $message = ''): void { @@ -1025,7 +1017,6 @@ function assertAttributeNotInternalType(string $expected, string $attributeName, /** * Asserts that a string matches a given regular expression. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1037,7 +1028,6 @@ function assertRegExp(string $pattern, string $string, string $message = ''): vo /** * Asserts that a string does not match a given regular expression. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1053,7 +1043,8 @@ function assertNotRegExp(string $pattern, string $string, string $message = ''): * @param Countable|iterable $expected * @param Countable|iterable $actual * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertSameSize($expected, $actual, string $message = ''): void { @@ -1067,7 +1058,8 @@ function assertSameSize($expected, $actual, string $message = ''): void * @param Countable|iterable $expected * @param Countable|iterable $actual * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertNotSameSize($expected, $actual, string $message = ''): void { @@ -1077,7 +1069,6 @@ function assertNotSameSize($expected, $actual, string $message = ''): void /** * Asserts that a string matches a given format string. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1089,7 +1080,6 @@ function assertStringMatchesFormat(string $format, string $string, string $messa /** * Asserts that a string does not match a given format string. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1101,7 +1091,6 @@ function assertStringNotMatchesFormat(string $format, string $string, string $me /** * Asserts that a string matches a given format file. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1113,7 +1102,6 @@ function assertStringMatchesFormatFile(string $formatFile, string $string, strin /** * Asserts that a string does not match a given format string. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1125,7 +1113,6 @@ function assertStringNotMatchesFormatFile(string $formatFile, string $string, st /** * Asserts that a string starts with a given prefix. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1140,7 +1127,6 @@ function assertStringStartsWith(string $prefix, string $string, string $message * @param string $prefix * @param string $string * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1152,7 +1138,6 @@ function assertStringStartsNotWith($prefix, $string, string $message = ''): void /** * Asserts that a string ends with a given suffix. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1164,7 +1149,6 @@ function assertStringEndsWith(string $suffix, string $string, string $message = /** * Asserts that a string ends not with a given suffix. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1176,7 +1160,8 @@ function assertStringEndsNotWith(string $suffix, string $string, string $message /** * Asserts that two XML files are equal. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void { @@ -1186,7 +1171,8 @@ function assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, st /** * Asserts that two XML files are not equal. * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message = ''): void { @@ -1198,7 +1184,8 @@ function assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, * * @param DOMDocument|string $actualXml * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void { @@ -1210,7 +1197,8 @@ function assertXmlStringEqualsXmlFile(string $expectedFile, $actualXml, string $ * * @param DOMDocument|string $actualXml * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, string $message = ''): void { @@ -1223,7 +1211,8 @@ function assertXmlStringNotEqualsXmlFile(string $expectedFile, $actualXml, strin * @param DOMDocument|string $expectedXml * @param DOMDocument|string $actualXml * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $message = ''): void { @@ -1236,7 +1225,8 @@ function assertXmlStringEqualsXmlString($expectedXml, $actualXml, string $messag * @param DOMDocument|string $expectedXml * @param DOMDocument|string $actualXml * - * @throws Exception + * @throws ExpectationFailedException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $message = ''): void { @@ -1246,9 +1236,8 @@ function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, string $mes /** * Asserts that a hierarchy of DOMElements matches. * - * @throws Exception + * @throws AssertionFailedError * @throws ExpectationFailedException - * @throws \PHPUnit\Framework\AssertionFailedError * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, bool $checkAttributes = false, string $message = ''): void @@ -1259,7 +1248,6 @@ function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actual /** * Evaluates a PHPUnit\Framework\Constraint matcher object. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1271,7 +1259,6 @@ function assertThat($value, Constraint $constraint, string $message = ''): void /** * Asserts that a string is a valid JSON string. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1283,7 +1270,6 @@ function assertJson(string $actualJson, string $message = ''): void /** * Asserts that two given JSON encoded objects or arrays are equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1298,7 +1284,6 @@ function assertJsonStringEqualsJsonString(string $expectedJson, string $actualJs * @param string $expectedJson * @param string $actualJson * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1310,7 +1295,6 @@ function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, string /** * Asserts that the generated JSON encoded object and the content of the given file are equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1322,7 +1306,6 @@ function assertJsonStringEqualsJsonFile(string $expectedFile, string $actualJson /** * Asserts that the generated JSON encoded object and the content of the given file are not equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1334,7 +1317,6 @@ function assertJsonStringNotEqualsJsonFile(string $expectedFile, string $actualJ /** * Asserts that two JSON files are equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ @@ -1346,7 +1328,6 @@ function assertJsonFileEqualsJsonFile(string $expectedFile, string $actualFile, /** * Asserts that two JSON files are not equal. * - * @throws Exception * @throws ExpectationFailedException * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php index d3a00a0fd..0cc999e68 100644 --- a/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php +++ b/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php @@ -117,7 +117,7 @@ class IsEqual extends Constraint /** * Returns a string representation of the constraint. * - * @throws SebastianBergmann\RecursionContext\InvalidArgumentException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ public function toString(): string { @@ -129,7 +129,7 @@ class IsEqual extends Constraint } return \sprintf( - 'is equal to "%s"', + "is equal to '%s'", $this->value ); } diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php index 7975966b3..c4362f008 100644 --- a/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php +++ b/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php @@ -57,7 +57,7 @@ class IsIdentical extends Constraint * @param bool $returnResult Whether to return a result or throw an exception * * @throws ExpectationFailedException - * @throws SebastianBergmann\RecursionContext\InvalidArgumentException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ public function evaluate($other, $description = '', $returnResult = false) { @@ -103,7 +103,7 @@ class IsIdentical extends Constraint /** * Returns a string representation of the constraint. * - * @throws SebastianBergmann\RecursionContext\InvalidArgumentException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ public function toString(): string { @@ -123,7 +123,7 @@ class IsIdentical extends Constraint * * @param mixed $other evaluated value or object * - * @throws SebastianBergmann\RecursionContext\InvalidArgumentException + * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException */ protected function failureDescription($other): string { diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php index de42e4a79..4f684778c 100644 --- a/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php +++ b/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php @@ -60,7 +60,7 @@ class IsType extends Constraint 'string' => true, 'scalar' => true, 'callable' => true, - 'iterable' => true + 'iterable' => true, ]; /** diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php b/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php index 2e73356b2..0d3b001f0 100644 --- a/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php +++ b/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php @@ -33,7 +33,7 @@ class LogicalNot extends Constraint 'starts with ', 'ends with ', 'reference ', - 'not not ' + 'not not ', ]; $negatives = [ @@ -46,7 +46,7 @@ class LogicalNot extends Constraint 'starts not with ', 'ends not with ', 'don\'t reference ', - 'not ' + 'not ', ]; \preg_match('/(\'[\w\W]*\')([\w\W]*)("[\w\W]*")/i', $string, $matches); diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php b/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php index 0fec82d2c..5b27e53fa 100644 --- a/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php +++ b/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php @@ -89,7 +89,7 @@ class StringMatchesFormatDescription extends RegularExpression '%d' => '\d+', '%x' => '[0-9a-fA-F]+', '%f' => '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?', - '%c' => '.' + '%c' => '.', ] ); diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php index ea1f21e5b..51988fb68 100644 --- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php @@ -16,7 +16,6 @@ use IteratorAggregate; use PHPUnit\Framework\Exception; use PHPUnit\Util\InvalidArgumentHelper; use ReflectionClass; -use ReflectionException; use ReflectionMethod; use SoapClient; use Text_Template; @@ -313,7 +312,7 @@ class Generator [ 'prologue' => 'abstract ', 'class_name' => $className['className'], - 'trait_name' => $traitName + 'trait_name' => $traitName, ] ); @@ -371,7 +370,7 @@ class Generator [ 'prologue' => '', 'class_name' => $className['className'], - 'trait_name' => $traitName + 'trait_name' => $traitName, ] ); @@ -480,7 +479,7 @@ class Generator $methodTemplate->setVar( [ 'method_name' => $name, - 'arguments' => \implode(', ', $args) + 'arguments' => \implode(', ', $args), ] ); @@ -511,7 +510,7 @@ class Generator 'class_name' => $className, 'wsdl' => $wsdlFile, 'options' => $optionsBuffer, - 'methods' => $methodsBuffer + 'methods' => $methodsBuffer, ] ); @@ -523,9 +522,9 @@ class Generator * * @throws \ReflectionException * - * @return array + * @return string[] */ - public function getClassMethods($className) + public function getClassMethods($className): array { $class = new ReflectionClass($className); $methods = []; @@ -539,6 +538,25 @@ class Generator return $methods; } + /** + * @throws \ReflectionException + * + * @return MockMethod[] + */ + public function mockClassMethods(string $className, bool $callOriginalMethods, bool $cloneArguments): array + { + $class = new ReflectionClass($className); + $methods = []; + + foreach ($class->getMethods() as $method) { + if (($method->isPublic() || $method->isAbstract()) && $this->canMockMethod($method)) { + $methods[] = MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments); + } + } + + return $methods; + } + /** * @param string $code * @param string $className @@ -609,7 +627,7 @@ class Generator /** * @param array|string $type - * @param null|array $methods + * @param null|array $explicitMethods * @param string $mockClassName * @param bool $callOriginalClone * @param bool $callAutoload @@ -622,18 +640,20 @@ class Generator * * @return array */ - private function generateMock($type, $methods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments, $callOriginalMethods) + private function generateMock($type, $explicitMethods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments, $callOriginalMethods) { - $methodReflections = []; $classTemplate = $this->getTemplate('mocked_class.tpl'); $additionalInterfaces = []; $cloneTemplate = ''; $isClass = false; $isInterface = false; - $isMultipleInterfaces = false; + $class = null; + $mockMethods = new MockMethodSet; if (\is_array($type)) { + $interfaceMethods = []; + foreach ($type as $_type) { if (!\interface_exists($_type, $callAutoload)) { throw new RuntimeException( @@ -644,19 +664,11 @@ class Generator ); } - $isMultipleInterfaces = true; - $additionalInterfaces[] = $_type; - $typeClass = new ReflectionClass( - $this->generateClassName( - $_type, - $mockClassName, - 'Mock_' - )['fullClassName'] - ); + $typeClass = new ReflectionClass($_type); foreach ($this->getClassMethods($_type) as $method) { - if (\in_array($method, $methods)) { + if (\in_array($method, $interfaceMethods, true)) { throw new RuntimeException( \sprintf( 'Duplicate method "%s" not allowed.', @@ -665,10 +677,19 @@ class Generator ); } - $methodReflections[$method] = $typeClass->getMethod($method); - $methods[] = $method; + $methodReflection = $typeClass->getMethod($method); + + if ($this->canMockMethod($methodReflection)) { + $mockMethods->addMethods( + MockMethod::fromReflection($methodReflection, $callOriginalMethods, $cloneArguments) + ); + + $interfaceMethods[] = $method; + } } } + + unset($interfaceMethods); } $mockClassName = $this->generateClassName( @@ -698,6 +719,15 @@ class Generator } else { $class = new ReflectionClass($mockClassName['fullClassName']); + if ($class->isFinal()) { + throw new RuntimeException( + \sprintf( + 'Class "%s" is declared "final" and cannot be mocked.', + $mockClassName['fullClassName'] + ) + ); + } + // @see https://github.com/sebastianbergmann/phpunit/issues/2995 if ($isInterface && $class->implementsInterface(\Throwable::class)) { $additionalInterfaces[] = $class->getName(); @@ -712,12 +742,14 @@ class Generator $class = new ReflectionClass($mockClassName['fullClassName']); } - if ($class->isFinal()) { - throw new RuntimeException( - \sprintf( - 'Class "%s" is declared "final" and cannot be mocked.', - $mockClassName['fullClassName'] - ) + // https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103 + if ($isInterface && $class->implementsInterface(Traversable::class) && + !$class->implementsInterface(Iterator::class) && + !$class->implementsInterface(IteratorAggregate::class)) { + $additionalInterfaces[] = Iterator::class; + + $mockMethods->addMethods( + ...$this->mockClassMethods(Iterator::class, $callOriginalMethods, $cloneArguments) ); } @@ -740,75 +772,47 @@ class Generator $cloneTemplate = $cloneTemplate->render(); } - if (\is_array($methods) && empty($methods) && + if (\is_array($explicitMethods) && empty($explicitMethods) && ($isClass || $isInterface)) { - $methods = $this->getClassMethods($mockClassName['fullClassName']); + $mockMethods->addMethods( + ...$this->mockClassMethods($mockClassName['fullClassName'], $callOriginalMethods, $cloneArguments) + ); } - if (!\is_array($methods)) { - $methods = []; + if (\is_array($explicitMethods)) { + foreach ($explicitMethods as $methodName) { + if ($class !== null && $class->hasMethod($methodName)) { + $method = $class->getMethod($methodName); + + if ($this->canMockMethod($method)) { + $mockMethods->addMethods( + MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments) + ); + } + } else { + $mockMethods->addMethods( + MockMethod::fromName( + $mockClassName['fullClassName'], + $methodName, + $cloneArguments + ) + ); + } + } } $mockedMethods = ''; $configurable = []; - foreach ($methods as $methodName) { - if ($methodName !== '__construct' && $methodName !== '__clone') { - $configurable[] = \strtolower($methodName); - } - } - - if (isset($class)) { - // https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103 - if ($isInterface && $class->implementsInterface(Traversable::class) && - !$class->implementsInterface(Iterator::class) && - !$class->implementsInterface(IteratorAggregate::class)) { - $additionalInterfaces[] = Iterator::class; - $methods = \array_merge($methods, $this->getClassMethods(Iterator::class)); - } - - foreach ($methods as $methodName) { - try { - $method = $class->getMethod($methodName); - - if ($this->canMockMethod($method)) { - $mockedMethods .= $this->generateMockedMethodDefinitionFromExisting( - $method, - $cloneArguments, - $callOriginalMethods - ); - } - } catch (ReflectionException $e) { - $mockedMethods .= $this->generateMockedMethodDefinition( - $mockClassName['fullClassName'], - $methodName, - $cloneArguments - ); - } - } - } elseif ($isMultipleInterfaces) { - foreach ($methods as $methodName) { - if ($this->canMockMethod($methodReflections[$methodName])) { - $mockedMethods .= $this->generateMockedMethodDefinitionFromExisting( - $methodReflections[$methodName], - $cloneArguments, - $callOriginalMethods - ); - } - } - } else { - foreach ($methods as $methodName) { - $mockedMethods .= $this->generateMockedMethodDefinition( - $mockClassName['fullClassName'], - $methodName, - $cloneArguments - ); - } + /** @var MockMethod $mockMethod */ + foreach ($mockMethods->asArray() as $mockMethod) { + $mockedMethods .= $mockMethod->generateCode(); + $configurable[] = \strtolower($mockMethod->getName()); } $method = ''; - if (!\in_array('method', $methods, true) && (!isset($class) || !$class->hasMethod('method'))) { + if (!$mockMethods->hasMethod('method') && (!isset($class) || !$class->hasMethod('method'))) { $methodTemplate = $this->getTemplate('mocked_class_method.tpl'); $method = $methodTemplate->render(); @@ -827,15 +831,21 @@ class Generator 'mock_class_name' => $mockClassName['className'], 'mocked_methods' => $mockedMethods, 'method' => $method, - 'configurable' => '[' . \implode(', ', \array_map(function ($m) { - return '\'' . $m . '\''; - }, $configurable)) . ']' + 'configurable' => '[' . \implode( + ', ', + \array_map( + function ($m) { + return '\'' . $m . '\''; + }, + $configurable + ) + ) . ']', ] ); return [ 'code' => $classTemplate->render(), - 'mockClassName' => $mockClassName['className'] + 'mockClassName' => $mockClassName['className'], ]; } @@ -878,7 +888,7 @@ class Generator 'className' => $className, 'originalClassName' => $type, 'fullClassName' => $fullClassName, - 'namespaceName' => $namespaceName + 'namespaceName' => $namespaceName, ]; } @@ -923,159 +933,6 @@ class Generator return $buffer; } - /** - * @param bool $cloneArguments - * @param bool $callOriginalMethods - * - * @throws \PHPUnit\Framework\MockObject\RuntimeException - * - * @return string - */ - private function generateMockedMethodDefinitionFromExisting(ReflectionMethod $method, $cloneArguments, $callOriginalMethods) - { - if ($method->isPrivate()) { - $modifier = 'private'; - } elseif ($method->isProtected()) { - $modifier = 'protected'; - } else { - $modifier = 'public'; - } - - if ($method->isStatic()) { - $modifier .= ' static'; - } - - if ($method->returnsReference()) { - $reference = '&'; - } else { - $reference = ''; - } - - if ($method->hasReturnType()) { - $returnType = (string) $method->getReturnType(); - } else { - $returnType = ''; - } - - if (\preg_match('#\*[ \t]*+@deprecated[ \t]*+(.*?)\r?+\n[ \t]*+\*(?:[ \t]*+@|/$)#s', $method->getDocComment(), $deprecation)) { - $deprecation = \trim(\preg_replace('#[ \t]*\r?\n[ \t]*+\*[ \t]*+#', ' ', $deprecation[1])); - } else { - $deprecation = false; - } - - return $this->generateMockedMethodDefinition( - $method->getDeclaringClass()->getName(), - $method->getName(), - $cloneArguments, - $modifier, - $this->getMethodParameters($method), - $this->getMethodParameters($method, true), - $returnType, - $reference, - $callOriginalMethods, - $method->isStatic(), - $deprecation, - $method->hasReturnType() && $method->getReturnType()->allowsNull() - ); - } - - /** - * @param string $className - * @param string $methodName - * @param bool $cloneArguments - * @param string $modifier - * @param string $argumentsForDeclaration - * @param string $argumentsForCall - * @param string $returnType - * @param string $reference - * @param bool $callOriginalMethods - * @param bool $static - * @param bool|string $deprecation - * @param bool $allowsReturnNull - * - * @throws \ReflectionException - * @throws \PHPUnit\Framework\MockObject\RuntimeException - * @throws \InvalidArgumentException - * - * @return string - */ - private function generateMockedMethodDefinition($className, $methodName, $cloneArguments = true, $modifier = 'public', $argumentsForDeclaration = '', $argumentsForCall = '', $returnType = '', $reference = '', $callOriginalMethods = false, $static = false, $deprecation = false, $allowsReturnNull = false) - { - if ($static) { - $templateFile = 'mocked_static_method.tpl'; - } else { - if ($returnType === 'void') { - $templateFile = \sprintf( - '%s_method_void.tpl', - $callOriginalMethods ? 'proxied' : 'mocked' - ); - } else { - $templateFile = \sprintf( - '%s_method.tpl', - $callOriginalMethods ? 'proxied' : 'mocked' - ); - } - } - - // @see https://bugs.php.net/bug.php?id=70722 - if ($returnType === 'self') { - $returnType = $className; - } - - // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/406 - if ($returnType === 'parent') { - $reflector = new ReflectionClass($className); - - $parentClass = $reflector->getParentClass(); - - if ($parentClass === null) { - throw new RuntimeException( - \sprintf( - 'Cannot mock %s::%s because "parent" return type declaration is used but %s does not have a parent class', - $className, - $methodName, - $className - ) - ); - } - - $returnType = $parentClass->getName(); - } - - if (false !== $deprecation) { - $deprecation = "The $className::$methodName method is deprecated ($deprecation)."; - $deprecationTemplate = $this->getTemplate('deprecation.tpl'); - - $deprecationTemplate->setVar( - [ - 'deprecation' => \var_export($deprecation, true), - ] - ); - - $deprecation = $deprecationTemplate->render(); - } - - $template = $this->getTemplate($templateFile); - - $template->setVar( - [ - 'arguments_decl' => $argumentsForDeclaration, - 'arguments_call' => $argumentsForCall, - 'return_delim' => $returnType ? ': ' : '', - 'return_type' => $allowsReturnNull ? '?' . $returnType : $returnType, - 'arguments_count' => !empty($argumentsForCall) ? \substr_count($argumentsForCall, ',') + 1 : 0, - 'class_name' => $className, - 'method_name' => $methodName, - 'modifier' => $modifier, - 'reference' => $reference, - 'clone_arguments' => $cloneArguments ? 'true' : 'false', - 'deprecation' => $deprecation - ] - ); - - return $template->render(); - } - /** * @return bool */ @@ -1096,102 +953,6 @@ class Generator return isset(self::BLACKLISTED_METHOD_NAMES[$name]); } - /** - * Returns the parameters of a function or method. - * - * @param bool $forCall - * - * @throws RuntimeException - * - * @return string - */ - private function getMethodParameters(ReflectionMethod $method, $forCall = false) - { - $parameters = []; - - foreach ($method->getParameters() as $i => $parameter) { - $name = '$' . $parameter->getName(); - - /* Note: PHP extensions may use empty names for reference arguments - * or "..." for methods taking a variable number of arguments. - */ - if ($name === '$' || $name === '$...') { - $name = '$arg' . $i; - } - - if ($parameter->isVariadic()) { - if ($forCall) { - continue; - } - - $name = '...' . $name; - } - - $nullable = ''; - $default = ''; - $reference = ''; - $typeDeclaration = ''; - - if (!$forCall) { - if ($parameter->hasType() && $parameter->allowsNull()) { - $nullable = '?'; - } - - if ($parameter->hasType() && (string) $parameter->getType() !== 'self') { - $typeDeclaration = (string) $parameter->getType() . ' '; - } elseif ($parameter->isArray()) { - $typeDeclaration = 'array '; - } elseif ($parameter->isCallable()) { - $typeDeclaration = 'callable '; - } else { - try { - $class = $parameter->getClass(); - } catch (ReflectionException $e) { - throw new RuntimeException( - \sprintf( - 'Cannot mock %s::%s() because a class or ' . - 'interface used in the signature is not loaded', - $method->getDeclaringClass()->getName(), - $method->getName() - ), - 0, - $e - ); - } - - if ($class !== null) { - $typeDeclaration = $class->getName() . ' '; - } - } - - if (!$parameter->isVariadic()) { - if ($parameter->isDefaultValueAvailable()) { - $value = $parameter->getDefaultValueConstantName(); - - if ($value === null) { - $value = \var_export($parameter->getDefaultValue(), true); - } elseif (!\defined($value)) { - $rootValue = \preg_replace('/^.*\\\\/', '', $value); - $value = \defined($rootValue) ? $rootValue : $value; - } - - $default = ' = ' . $value; - } elseif ($parameter->isOptional()) { - $default = ' = null'; - } - } - } - - if ($parameter->isPassedByReference()) { - $reference = '&'; - } - - $parameters[] = $nullable . $typeDeclaration . $reference . $name . $default; - } - - return \implode(', ', $parameters); - } - /** * @param string $template * diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist index b201beda8..4b68a2b2b 100644 --- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl.dist @@ -35,7 +35,7 @@ return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php index 12b328d85..61be6002e 100644 --- a/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation/StaticInvocation.php @@ -29,7 +29,7 @@ class StaticInvocation implements Invocation, SelfDescribing 'sqlite3' => true, 'tidy' => true, 'xmlwriter' => true, - 'xsl' => true + 'xsl' => true, ]; /** @@ -42,7 +42,7 @@ class StaticInvocation implements Invocation, SelfDescribing 'RecursiveIteratorIterator', 'SplFileObject', 'PDORow', - 'ZipArchive' + 'ZipArchive', ]; /** diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php b/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php new file mode 100644 index 000000000..39e7ac22d --- /dev/null +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php @@ -0,0 +1,354 @@ +<?php declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\Framework\MockObject; + +use ReflectionClass; +use ReflectionException; +use ReflectionMethod; +use Text_Template; + +final class MockMethod +{ + /** + * @var Text_Template[] + */ + private static $templates = []; + + /** + * @var string + */ + private $className; + + /** + * @var string + */ + private $methodName; + + /** + * @var bool + */ + private $cloneArguments; + + /** + * @var string string + */ + private $modifier; + + /** + * @var string + */ + private $argumentsForDeclaration; + + /** + * @var string + */ + private $argumentsForCall; + + /** + * @var string + */ + private $returnType; + + /** + * @var string + */ + private $reference; + + /** + * @var bool + */ + private $callOriginalMethod; + + /** + * @var bool + */ + private $static; + + /** + * @var ?string + */ + private $deprecation; + + /** + * @var bool + */ + private $allowsReturnNull; + + public static function fromReflection(ReflectionMethod $method, bool $callOriginalMethod, bool $cloneArguments): self + { + if ($method->isPrivate()) { + $modifier = 'private'; + } elseif ($method->isProtected()) { + $modifier = 'protected'; + } else { + $modifier = 'public'; + } + + if ($method->isStatic()) { + $modifier .= ' static'; + } + + if ($method->returnsReference()) { + $reference = '&'; + } else { + $reference = ''; + } + + if ($method->hasReturnType()) { + $returnType = (string) $method->getReturnType(); + } else { + $returnType = ''; + } + + $docComment = $method->getDocComment(); + + if (\is_string($docComment) + && \preg_match('#\*[ \t]*+@deprecated[ \t]*+(.*?)\r?+\n[ \t]*+\*(?:[ \t]*+@|/$)#s', $docComment, $deprecation) + ) { + $deprecation = \trim(\preg_replace('#[ \t]*\r?\n[ \t]*+\*[ \t]*+#', ' ', $deprecation[1])); + } else { + $deprecation = null; + } + + return new self( + $method->getDeclaringClass()->getName(), + $method->getName(), + $cloneArguments, + $modifier, + self::getMethodParameters($method), + self::getMethodParameters($method, true), + $returnType, + $reference, + $callOriginalMethod, + $method->isStatic(), + $deprecation, + $method->hasReturnType() && $method->getReturnType()->allowsNull() + ); + } + + public static function fromName(string $fullClassName, string $methodName, bool $cloneArguments): self + { + return new self( + $fullClassName, + $methodName, + $cloneArguments, + 'public', + '', + '', + '', + '', + false, + false, + null, + false + ); + } + + public function __construct(string $className, string $methodName, bool $cloneArguments, string $modifier, string $argumentsForDeclaration, string $argumentsForCall, string $returnType, string $reference, bool $callOriginalMethod, bool $static, ?string $deprecation, bool $allowsReturnNull) + { + $this->className = $className; + $this->methodName = $methodName; + $this->cloneArguments = $cloneArguments; + $this->modifier = $modifier; + $this->argumentsForDeclaration = $argumentsForDeclaration; + $this->argumentsForCall = $argumentsForCall; + $this->returnType = $returnType; + $this->reference = $reference; + $this->callOriginalMethod = $callOriginalMethod; + $this->static = $static; + $this->deprecation = $deprecation; + $this->allowsReturnNull = $allowsReturnNull; + } + + public function getName(): string + { + return $this->methodName; + } + + /** + * @throws \ReflectionException + * @throws \PHPUnit\Framework\MockObject\RuntimeException + * @throws \InvalidArgumentException + */ + public function generateCode(): string + { + if ($this->static) { + $templateFile = 'mocked_static_method.tpl'; + } elseif ($this->returnType === 'void') { + $templateFile = \sprintf( + '%s_method_void.tpl', + $this->callOriginalMethod ? 'proxied' : 'mocked' + ); + } else { + $templateFile = \sprintf( + '%s_method.tpl', + $this->callOriginalMethod ? 'proxied' : 'mocked' + ); + } + + $returnType = $this->returnType; + // @see https://bugs.php.net/bug.php?id=70722 + if ($returnType === 'self') { + $returnType = $this->className; + } + + // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/406 + if ($returnType === 'parent') { + $reflector = new ReflectionClass($this->className); + + $parentClass = $reflector->getParentClass(); + + if ($parentClass === false) { + throw new RuntimeException( + \sprintf( + 'Cannot mock %s::%s because "parent" return type declaration is used but %s does not have a parent class', + $this->className, + $this->methodName, + $this->className + ) + ); + } + + $returnType = $parentClass->getName(); + } + + $deprecation = $this->deprecation; + + if (null !== $this->deprecation) { + $deprecation = "The $this->className::$this->methodName method is deprecated ($this->deprecation)."; + $deprecationTemplate = $this->getTemplate('deprecation.tpl'); + + $deprecationTemplate->setVar([ + 'deprecation' => \var_export($deprecation, true), + ]); + + $deprecation = $deprecationTemplate->render(); + } + + $template = $this->getTemplate($templateFile); + + $template->setVar( + [ + 'arguments_decl' => $this->argumentsForDeclaration, + 'arguments_call' => $this->argumentsForCall, + 'return_delim' => $returnType ? ': ' : '', + 'return_type' => $this->allowsReturnNull ? '?' . $returnType : $returnType, + 'arguments_count' => !empty($this->argumentsForCall) ? \substr_count($this->argumentsForCall, ',') + 1 : 0, + 'class_name' => $this->className, + 'method_name' => $this->methodName, + 'modifier' => $this->modifier, + 'reference' => $this->reference, + 'clone_arguments' => $this->cloneArguments ? 'true' : 'false', + 'deprecation' => $deprecation, + ] + ); + + return $template->render(); + } + + private function getTemplate(string $template): Text_Template + { + $filename = __DIR__ . \DIRECTORY_SEPARATOR . 'Generator' . \DIRECTORY_SEPARATOR . $template; + + if (!isset(self::$templates[$filename])) { + self::$templates[$filename] = new Text_Template($filename); + } + + return self::$templates[$filename]; + } + + /** + * Returns the parameters of a function or method. + * + * @throws RuntimeException + */ + private static function getMethodParameters(ReflectionMethod $method, bool $forCall = false): string + { + $parameters = []; + + foreach ($method->getParameters() as $i => $parameter) { + $name = '$' . $parameter->getName(); + + /* Note: PHP extensions may use empty names for reference arguments + * or "..." for methods taking a variable number of arguments. + */ + if ($name === '$' || $name === '$...') { + $name = '$arg' . $i; + } + + if ($parameter->isVariadic()) { + if ($forCall) { + continue; + } + + $name = '...' . $name; + } + + $nullable = ''; + $default = ''; + $reference = ''; + $typeDeclaration = ''; + + if (!$forCall) { + if ($parameter->hasType() && $parameter->allowsNull()) { + $nullable = '?'; + } + + if ($parameter->hasType() && (string) $parameter->getType() !== 'self') { + $typeDeclaration = $parameter->getType() . ' '; + } else { + try { + $class = $parameter->getClass(); + } catch (ReflectionException $e) { + throw new RuntimeException( + \sprintf( + 'Cannot mock %s::%s() because a class or ' . + 'interface used in the signature is not loaded', + $method->getDeclaringClass()->getName(), + $method->getName() + ), + 0, + $e + ); + } + + if ($class !== null) { + $typeDeclaration = $class->getName() . ' '; + } + } + + if (!$parameter->isVariadic()) { + if ($parameter->isDefaultValueAvailable()) { + $value = $parameter->getDefaultValueConstantName(); + + if ($value === null) { + $value = \var_export($parameter->getDefaultValue(), true); + } elseif (!\defined($value)) { + $rootValue = \preg_replace('/^.*\\\\/', '', $value); + $value = \defined($rootValue) ? $rootValue : $value; + } + + $default = ' = ' . $value; + } elseif ($parameter->isOptional()) { + $default = ' = null'; + } + } + } + + if ($parameter->isPassedByReference()) { + $reference = '&'; + } + + $parameters[] = $nullable . $typeDeclaration . $reference . $name . $default; + } + + return \implode(', ', $parameters); + } +} diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php b/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php new file mode 100644 index 000000000..b81536a73 --- /dev/null +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php @@ -0,0 +1,36 @@ +<?php +declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\Framework\MockObject; + +final class MockMethodSet +{ + /** + * @var MockMethod[] + */ + private $methods = []; + + public function addMethods(MockMethod ...$methods): void + { + foreach ($methods as $method) { + $this->methods[\strtolower($method->getName())] = $method; + } + } + + public function asArray(): array + { + return \array_values($this->methods); + } + + public function hasMethod(string $methodName): bool + { + return \array_key_exists(\strtolower($methodName), $this->methods); + } +} diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php b/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php index 38c184abc..9bcb5dd11 100644 --- a/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php +++ b/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php @@ -36,7 +36,7 @@ interface PHPUnit_Framework_MockObject_MockObject /*extends Verifiable*/ * * @throws ExpectationFailedException */ - public function __phpunit_verify(); + public function __phpunit_verify(bool $unsetInvocationMocker = true); /** * @return bool diff --git a/vendor/phpunit/phpunit/src/Framework/TestCase.php b/vendor/phpunit/phpunit/src/Framework/TestCase.php index 8e1da9b43..2edb160e9 100644 --- a/vendor/phpunit/phpunit/src/Framework/TestCase.php +++ b/vendor/phpunit/phpunit/src/Framework/TestCase.php @@ -686,11 +686,9 @@ abstract class TestCase extends Assert implements Test, SelfDescribing return $result; } - $runEntireClass = $this->runClassInSeparateProcess && !$this->runTestInSeparateProcess; + if ($this->runInSeparateProcess()) { + $runEntireClass = $this->runClassInSeparateProcess && !$this->runTestInSeparateProcess; - if (($this->runTestInSeparateProcess === true || $this->runClassInSeparateProcess === true) && - $this->inIsolation !== true && - !$this instanceof PhptTestCase) { $class = new ReflectionClass($this); if ($runEntireClass) { @@ -1720,7 +1718,10 @@ abstract class TestCase extends Assert implements Test, SelfDescribing } if (!isset($passedKeys[$dependency])) { + $this->status = BaseTestRunner::STATUS_SKIPPED; + $this->result->startTest($this); + $this->result->addError( $this, new SkippedTestError( @@ -1731,6 +1732,7 @@ abstract class TestCase extends Assert implements Test, SelfDescribing ), 0 ); + $this->result->endTest($this, 0); return false; @@ -2110,4 +2112,10 @@ abstract class TestCase extends Assert implements Test, SelfDescribing return $result; } + + private function runInSeparateProcess(): bool + { + return ($this->runTestInSeparateProcess === true || $this->runClassInSeparateProcess === true) && + $this->inIsolation !== true && !$this instanceof PhptTestCase; + } } diff --git a/vendor/phpunit/phpunit/src/Framework/TestResult.php b/vendor/phpunit/phpunit/src/Framework/TestResult.php index 297645ade..ee6a8720f 100644 --- a/vendor/phpunit/phpunit/src/Framework/TestResult.php +++ b/vendor/phpunit/phpunit/src/Framework/TestResult.php @@ -179,6 +179,11 @@ class TestResult implements Countable */ protected $lastTestFailed = false; + /** + * @var int + */ + private $defaultTimeLimit = 0; + /** * @var bool */ @@ -416,7 +421,7 @@ class TestResult implements Countable 'size' => \PHPUnit\Util\Test::getSize( $class, $test->getName(false) - ) + ), ]; $this->time += $time; @@ -639,8 +644,8 @@ class TestResult implements Countable try { if (!$test instanceof WarningTestCase && - $test->getSize() != \PHPUnit\Util\Test::UNKNOWN && $this->enforceTimeLimit && + ($this->defaultTimeLimit || $test->getSize() != \PHPUnit\Util\Test::UNKNOWN) && \extension_loaded('pcntl') && \class_exists(Invoker::class)) { switch ($test->getSize()) { case \PHPUnit\Util\Test::SMALL: @@ -656,6 +661,11 @@ class TestResult implements Countable case \PHPUnit\Util\Test::LARGE: $_timeout = $this->timeoutForLargeTests; + break; + + case \PHPUnit\Util\Test::UNKNOWN: + $_timeout = $this->defaultTimeLimit; + break; } @@ -1061,6 +1071,14 @@ class TestResult implements Countable return empty($this->errors) && empty($this->failures) && empty($this->warnings); } + /** + * Sets the default timeout for tests + */ + public function setDefaultTimeLimit(int $timeout): void + { + $this->defaultTimeLimit = $timeout; + } + /** * Sets the timeout for small tests. */ diff --git a/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php b/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php index 2e8f7f29f..069331b38 100644 --- a/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php +++ b/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php @@ -49,7 +49,7 @@ class PhptTestCase implements Test, SelfDescribing 'report_memleaks=0', 'report_zend_debug=0', 'safe_mode=0', - 'xdebug.default_enable=0' + 'xdebug.default_enable=0', ]; /** @@ -345,7 +345,7 @@ class PhptTestCase implements Test, SelfDescribing 'CGI', 'EXPECTHEADERS', 'EXTENSIONS', - 'PHPDBG' + 'PHPDBG', ]; foreach (\file($this->filename) as $line) { @@ -394,7 +394,7 @@ class PhptTestCase implements Test, SelfDescribing 'FILE', 'EXPECT', 'EXPECTF', - 'EXPECTREGEX' + 'EXPECTREGEX', ]; $testDirectory = \dirname($this->filename) . \DIRECTORY_SEPARATOR; @@ -427,8 +427,8 @@ class PhptTestCase implements Test, SelfDescribing [ 'EXPECT', 'EXPECTF', - 'EXPECTREGEX' - ] + 'EXPECTREGEX', + ], ]; foreach ($requiredSections as $section) { @@ -463,11 +463,11 @@ class PhptTestCase implements Test, SelfDescribing return \str_replace( [ '__DIR__', - '__FILE__' + '__FILE__', ], [ "'" . \dirname($this->filename) . "'", - "'" . $this->filename . "'" + "'" . $this->filename . "'", ], $code ); @@ -480,7 +480,7 @@ class PhptTestCase implements Test, SelfDescribing return [ 'coverage' => $baseDir . $basename . 'coverage', - 'job' => $baseDir . $basename . 'php' + 'job' => $baseDir . $basename . 'php', ]; } @@ -516,7 +516,7 @@ class PhptTestCase implements Test, SelfDescribing 'phar' => $phar, 'globals' => $globals, 'job' => $files['job'], - 'coverageFile' => $files['coverage'] + 'coverageFile' => $files['coverage'], ] ); diff --git a/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php b/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php index 80fbc190e..962bbc07e 100644 --- a/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php +++ b/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php @@ -95,8 +95,8 @@ final class ResultCacheExtension implements AfterSuccessfulTestHook, AfterSkippe { $matches = []; - if (\preg_match('/^(?:\S+::)?(?<name>\S+)(?:(?<data> with data set (?:#\d+|"[^"]+"))\s\()?/', $test, $matches)) { - $test = $matches['name'] . ($matches['data'] ?? ''); + if (\preg_match('/^(?<name>\S+::\S+)(?:(?<dataname> with data set (?:#\d+|"[^"]+"))\s\()?/', $test, $matches)) { + $test = $matches['name'] . ($matches['dataname'] ?? ''); } return $test; diff --git a/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php b/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php index 13f1d802b..c5d36de6d 100644 --- a/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php +++ b/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php @@ -36,6 +36,11 @@ final class TestSuiteSorter */ public const ORDER_DEFECTS_FIRST = 3; + /** + * @var int + */ + public const ORDER_DURATION = 4; + /** * List of sorting weights for all test result codes. A higher number gives higher priority. */ @@ -46,7 +51,7 @@ final class TestSuiteSorter BaseTestRunner::STATUS_INCOMPLETE => 3, BaseTestRunner::STATUS_RISKY => 2, BaseTestRunner::STATUS_SKIPPED => 1, - BaseTestRunner::STATUS_UNKNOWN => 0 + BaseTestRunner::STATUS_UNKNOWN => 0, ]; /** @@ -69,13 +74,25 @@ final class TestSuiteSorter */ public function reorderTestsInSuite(Test $suite, int $order, bool $resolveDependencies, int $orderDefects): void { - if ($order !== self::ORDER_DEFAULT && $order !== self::ORDER_REVERSED && $order !== self::ORDER_RANDOMIZED) { + $allowedOrders = [ + self::ORDER_DEFAULT, + self::ORDER_REVERSED, + self::ORDER_RANDOMIZED, + self::ORDER_DURATION, + ]; + + if (!\in_array($order, $allowedOrders, true)) { throw new Exception( - '$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED' + '$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED, or TestSuiteSorter::ORDER_DURATION' ); } - if ($orderDefects !== self::ORDER_DEFAULT && $orderDefects !== self::ORDER_DEFECTS_FIRST) { + $allowedOrderDefects = [ + self::ORDER_DEFAULT, + self::ORDER_DEFECTS_FIRST, + ]; + + if (!\in_array($orderDefects, $allowedOrderDefects, true)) { throw new Exception( '$orderDefects must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_DEFECTS_FIRST' ); @@ -104,6 +121,8 @@ final class TestSuiteSorter $suite->setTests($this->reverse($suite->tests())); } elseif ($order === self::ORDER_RANDOMIZED) { $suite->setTests($this->randomize($suite->tests())); + } elseif ($order === self::ORDER_DURATION && $this->cache !== null) { + $suite->setTests($this->sortByDuration($suite->tests())); } if ($orderDefects === self::ORDER_DEFECTS_FIRST && $this->cache !== null) { @@ -120,9 +139,11 @@ final class TestSuiteSorter $max = 0; foreach ($suite->tests() as $test) { - if (!isset($this->defectSortOrder[$test->getName()])) { - $this->defectSortOrder[$test->getName()] = self::DEFECT_SORT_WEIGHT[$this->cache->getState($test->getName())]; - $max = \max($max, $this->defectSortOrder[$test->getName()]); + $testname = $this->getNormalizedTestName($test); + + if (!isset($this->defectSortOrder[$testname])) { + $this->defectSortOrder[$testname] = self::DEFECT_SORT_WEIGHT[$this->cache->getState($testname)]; + $max = \max($max, $this->defectSortOrder[$testname]); } } @@ -164,6 +185,18 @@ final class TestSuiteSorter return $tests; } + private function sortByDuration(array $tests): array + { + \usort( + $tests, + function ($left, $right) { + return $this->cmpDuration($left, $right); + } + ); + + return $tests; + } + /** * Comparator callback function to sort tests for "reach failure as fast as possible": * 1. sort tests by defect weight defined in self::DEFECT_SORT_WEIGHT @@ -172,8 +205,8 @@ final class TestSuiteSorter */ private function cmpDefectPriorityAndTime(Test $a, Test $b): int { - $priorityA = $this->defectSortOrder[$a->getName()] ?? 0; - $priorityB = $this->defectSortOrder[$b->getName()] ?? 0; + $priorityA = $this->defectSortOrder[$this->getNormalizedTestName($a)] ?? 0; + $priorityB = $this->defectSortOrder[$this->getNormalizedTestName($b)] ?? 0; if ($priorityB <=> $priorityA) { // Sort defect weight descending @@ -181,14 +214,21 @@ final class TestSuiteSorter } if ($priorityA || $priorityB) { - // Sort test duration ascending - return $this->cache->getTime($a->getName()) <=> $this->cache->getTime($b->getName()); + return $this->cmpDuration($a, $b); } // do not change execution order return 0; } + /** + * Compares test duration for sorting tests by duration ascending. + */ + private function cmpDuration(Test $a, Test $b): int + { + return $this->cache->getTime($this->getNormalizedTestName($a)) <=> $this->cache->getTime($this->getNormalizedTestName($b)); + } + /** * Reorder Tests within a TestCase in such a way as to resolve as many dependencies as possible. * The algorithm will leave the tests in original running order when it can. @@ -235,11 +275,19 @@ final class TestSuiteSorter */ private function getNormalizedTestName($test): string { - if (\strpos($test->getName(), '::') !== false) { + if ($test instanceof TestSuite && !($test instanceof DataProviderTestSuite)) { return $test->getName(); } - return \get_class($test) . '::' . $test->getName(); + if ($test instanceof PhptTestCase) { + return $test->getName(); + } + + if (\strpos($test->getName(), '::') !== false) { + return $test->getName(true); + } + + return \get_class($test) . '::' . $test->getName(true); } /** diff --git a/vendor/phpunit/phpunit/src/Runner/Version.php b/vendor/phpunit/phpunit/src/Runner/Version.php index 713328562..eba9d922d 100644 --- a/vendor/phpunit/phpunit/src/Runner/Version.php +++ b/vendor/phpunit/phpunit/src/Runner/Version.php @@ -30,7 +30,7 @@ class Version } if (self::$version === null) { - $version = new VersionId('7.3.5', \dirname(__DIR__, 2)); + $version = new VersionId('7.4.5', \dirname(__DIR__, 2)); self::$version = $version->getVersion(); } diff --git a/vendor/phpunit/phpunit/src/TextUI/Command.php b/vendor/phpunit/phpunit/src/TextUI/Command.php index f8d580311..9b66bc192 100644 --- a/vendor/phpunit/phpunit/src/TextUI/Command.php +++ b/vendor/phpunit/phpunit/src/TextUI/Command.php @@ -54,7 +54,7 @@ class Command 'loader' => null, 'useDefaultConfiguration' => true, 'loadedExtensions' => [], - 'notLoadedExtensions' => [] + 'notLoadedExtensions' => [], ]; /** @@ -67,6 +67,7 @@ class Command */ protected $longOptions = [ 'atleast-version=' => null, + 'prepend=' => null, 'bootstrap=' => null, 'cache-result' => null, 'cache-result-file=' => null, @@ -84,6 +85,7 @@ class Command 'disallow-test-output' => null, 'disallow-resource-usage' => null, 'disallow-todo-tests' => null, + 'default-time-limit=' => null, 'enforce-time-limit' => null, 'exclude-group=' => null, 'filter=' => null, @@ -139,7 +141,8 @@ class Command 'testsuite=' => null, 'verbose' => null, 'version' => null, - 'whitelist=' => null + 'whitelist=' => null, + 'dump-xdebug-filter=' => null, ]; /** @@ -690,6 +693,11 @@ class Command break; + case '--default-time-limit': + $this->arguments['defaultTimeLimit'] = (int) $option[1]; + + break; + case '--enforce-time-limit': $this->arguments['enforceTimeLimit'] = true; @@ -740,6 +748,11 @@ class Command break; + case '--dump-xdebug-filter': + $this->arguments['xdebugFilterFile'] = $option[1]; + + break; + default: $optionName = \str_replace('--', '', $option[0]); @@ -1081,6 +1094,7 @@ Code Coverage Options: --whitelist <dir> Whitelist <dir> for code coverage analysis --disable-coverage-ignore Disable annotations for ignoring code coverage --no-coverage Ignore code coverage configuration + --dump-xdebug-filter <file> Generate script to set Xdebug code coverage filter Logging Options: @@ -1112,6 +1126,7 @@ Test Execution Options: --disallow-test-output Be strict about output during tests --disallow-resource-usage Be strict about resource usage during small tests --enforce-time-limit Enforce time limit based on test size + --default-time-limit=<sec> Timeout in seconds for tests without @small, @medium or @large --disallow-todo-tests Disallow @todo-annotated tests --process-isolation Run each test in a separate PHP process @@ -1149,7 +1164,8 @@ Test Execution Options: Configuration Options: - --bootstrap <file> A "bootstrap" PHP file that is run before the tests + --prepend <file> A PHP script that is included as early as possible + --bootstrap <file> A PHP script that is included before the tests run -c|--configuration <file> Read configuration from XML file --no-configuration Ignore default configuration file (phpunit.xml) --no-logging Ignore logging configuration @@ -1157,7 +1173,7 @@ Configuration Options: --include-path <path(s)> Prepend PHP's include_path with given path(s) -d key[=value] Sets a php.ini value --generate-configuration Generate configuration file with suggested settings - --cache-result-file==<FILE> Specify result cache path and filename + --cache-result-file=<file> Specify result cache path and filename Miscellaneous Options: diff --git a/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php b/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php index e8b5c3070..2782f07cc 100644 --- a/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php +++ b/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php @@ -67,7 +67,7 @@ class ResultPrinter extends Printer implements TestListener 'bg-blue' => 44, 'bg-magenta' => 45, 'bg-cyan' => 46, - 'bg-white' => 47 + 'bg-white' => 47, ]; /** diff --git a/vendor/phpunit/phpunit/src/TextUI/TestRunner.php b/vendor/phpunit/phpunit/src/TextUI/TestRunner.php index 33a2fd100..bc167dd14 100644 --- a/vendor/phpunit/phpunit/src/TextUI/TestRunner.php +++ b/vendor/phpunit/phpunit/src/TextUI/TestRunner.php @@ -14,6 +14,7 @@ use PHPUnit\Framework\Error\Notice; use PHPUnit\Framework\Error\Warning; use PHPUnit\Framework\Exception; use PHPUnit\Framework\Test; +use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestListener; use PHPUnit\Framework\TestResult; use PHPUnit\Framework\TestSuite; @@ -41,6 +42,7 @@ use PHPUnit\Util\Printer; use PHPUnit\Util\TestDox\HtmlResultPrinter; use PHPUnit\Util\TestDox\TextResultPrinter; use PHPUnit\Util\TestDox\XmlResultPrinter; +use PHPUnit\Util\XdebugFilterScriptGenerator; use ReflectionClass; use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\CodeCoverage\Exception as CodeCoverageException; @@ -53,6 +55,7 @@ use SebastianBergmann\CodeCoverage\Report\Text as TextReport; use SebastianBergmann\CodeCoverage\Report\Xml\Facade as XmlReport; use SebastianBergmann\Comparator\Comparator; use SebastianBergmann\Environment\Runtime; +use SebastianBergmann\Invoker\Invoker; /** * A TestRunner for the Command Line Interface (CLI) @@ -155,20 +158,27 @@ class TestRunner extends BaseTestRunner $this->handleConfiguration($arguments); + if (\is_int($arguments['columns']) && $arguments['columns'] < 16) { + $arguments['columns'] = 16; + $tooFewColumnsRequested = true; + } + if (isset($arguments['bootstrap'])) { $GLOBALS['__PHPUNIT_BOOTSTRAP'] = $arguments['bootstrap']; } - if ($arguments['backupGlobals'] === true) { - $suite->setBackupGlobals(true); - } + if ($suite instanceof TestCase || $suite instanceof TestSuite) { + if ($arguments['backupGlobals'] === true) { + $suite->setBackupGlobals(true); + } - if ($arguments['backupStaticAttributes'] === true) { - $suite->setBackupStaticAttributes(true); - } + if ($arguments['backupStaticAttributes'] === true) { + $suite->setBackupStaticAttributes(true); + } - if ($arguments['beStrictAboutChangesToGlobalState'] === true) { - $suite->setBeStrictAboutChangesToGlobalState(true); + if ($arguments['beStrictAboutChangesToGlobalState'] === true) { + $suite->setBeStrictAboutChangesToGlobalState(true); + } } if ($arguments['executionOrder'] === TestSuiteSorter::ORDER_RANDOMIZED) { @@ -349,6 +359,10 @@ class TestRunner extends BaseTestRunner } } + if (isset($tooFewColumnsRequested)) { + $this->writeMessage('Error', 'Less than 16 columns requested, number of columns set to 16'); + } + if ($this->runtime->discardsComments()) { $this->writeMessage('Warning', 'opcache.save_comments=0 set; annotations will not work'); } @@ -455,7 +469,7 @@ class TestRunner extends BaseTestRunner $codeCoverageReports = 0; } - if ($codeCoverageReports > 0) { + if ($codeCoverageReports > 0 || isset($arguments['xdebugFilterFile'])) { $codeCoverage = new CodeCoverage( null, $this->codeCoverageFilter @@ -540,6 +554,17 @@ class TestRunner extends BaseTestRunner } } + if (isset($arguments['xdebugFilterFile'], $filterConfiguration)) { + $filterScriptGenerator = new XdebugFilterScriptGenerator; + $script = $filterScriptGenerator->generate($filterConfiguration['whitelist']); + \file_put_contents($arguments['xdebugFilterFile'], $script); + + $this->write("\n"); + $this->write(\sprintf('Wrote Xdebug filter script to %s ' . \PHP_EOL, $arguments['xdebugFilterFile'])); + + exit(self::SUCCESS_EXIT); + } + if (!$this->codeCoverageFilter->hasWhitelist()) { if (!$whitelistFromConfigurationFile && !$whitelistFromOption) { $this->writeMessage('Error', 'No whitelist is configured, no code coverage will be generated.'); @@ -567,7 +592,18 @@ class TestRunner extends BaseTestRunner $result->beStrictAboutOutputDuringTests($arguments['disallowTestOutput']); $result->beStrictAboutTodoAnnotatedTests($arguments['disallowTodoAnnotatedTests']); $result->beStrictAboutResourceUsageDuringSmallTests($arguments['beStrictAboutResourceUsageDuringSmallTests']); + + if ($arguments['enforceTimeLimit'] === true) { + if (!\class_exists(Invoker::class)) { + $this->writeMessage('Error', 'Package phpunit/php-invoker is required for enforcing time limits'); + } + + if (!\extension_loaded('pcntl') || \strpos(\ini_get('disable_functions'), 'pcntl') !== false) { + $this->writeMessage('Error', 'PHP extension pcntl is required for enforcing time limits'); + } + } $result->enforceTimeLimit($arguments['enforceTimeLimit']); + $result->setDefaultTimeLimit($arguments['defaultTimeLimit']); $result->setTimeoutForSmallTests($arguments['timeoutForSmallTests']); $result->setTimeoutForMediumTests($arguments['timeoutForMediumTests']); $result->setTimeoutForLargeTests($arguments['timeoutForLargeTests']); @@ -930,6 +966,10 @@ class TestRunner extends BaseTestRunner $arguments['disallowTestOutput'] = $phpunitConfiguration['disallowTestOutput']; } + if (isset($phpunitConfiguration['defaultTimeLimit']) && !isset($arguments['defaultTimeLimit'])) { + $arguments['defaultTimeLimit'] = $phpunitConfiguration['defaultTimeLimit']; + } + if (isset($phpunitConfiguration['enforceTimeLimit']) && !isset($arguments['enforceTimeLimit'])) { $arguments['enforceTimeLimit'] = $phpunitConfiguration['enforceTimeLimit']; } @@ -1167,6 +1207,7 @@ class TestRunner extends BaseTestRunner $arguments['crap4jThreshold'] = $arguments['crap4jThreshold'] ?? 30; $arguments['disallowTestOutput'] = $arguments['disallowTestOutput'] ?? false; $arguments['disallowTodoAnnotatedTests'] = $arguments['disallowTodoAnnotatedTests'] ?? false; + $arguments['defaultTimeLimit'] = $arguments['defaultTimeLimit'] ?? 0; $arguments['enforceTimeLimit'] = $arguments['enforceTimeLimit'] ?? false; $arguments['excludeGroups'] = $arguments['excludeGroups'] ?? []; $arguments['failOnRisky'] = $arguments['failOnRisky'] ?? false; diff --git a/vendor/phpunit/phpunit/src/Util/Blacklist.php b/vendor/phpunit/phpunit/src/Util/Blacklist.php index d2cc0b5d0..9af4bb511 100644 --- a/vendor/phpunit/phpunit/src/Util/Blacklist.php +++ b/vendor/phpunit/phpunit/src/Util/Blacklist.php @@ -61,7 +61,7 @@ final class Blacklist Instantiator::class => 1, DocBlock::class => 1, Prophet::class => 1, - DeepCopy::class => 1 + DeepCopy::class => 1, ]; /** diff --git a/vendor/phpunit/phpunit/src/Util/Configuration.php b/vendor/phpunit/phpunit/src/Util/Configuration.php index 270e1ef7e..0a1843039 100644 --- a/vendor/phpunit/phpunit/src/Util/Configuration.php +++ b/vendor/phpunit/phpunit/src/Util/Configuration.php @@ -59,6 +59,7 @@ use SebastianBergmann\FileIterator\Facade as FileIteratorFacade; * beStrictAboutResourceUsageDuringSmallTests="false" * beStrictAboutTestsThatDoNotTestAnything="false" * beStrictAboutTodoAnnotatedTests="false" + * defaultTimeLimit="0" * enforceTimeLimit="false" * ignoreDeprecatedCodeUnitsFromCodeCoverage="false" * timeoutForSmallTests="1" @@ -275,7 +276,7 @@ final class Configuration $result[] = [ 'class' => $class, 'file' => $file, - 'arguments' => $arguments + 'arguments' => $arguments, ]; } @@ -338,13 +339,13 @@ final class Configuration 'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist, 'include' => [ 'directory' => $includeDirectory, - 'file' => $includeFile + 'file' => $includeFile, ], 'exclude' => [ 'directory' => $excludeDirectory, - 'file' => $excludeFile - ] - ] + 'file' => $excludeFile, + ], + ], ]; } @@ -387,7 +388,7 @@ final class Configuration $result[] = [ 'class' => $class, 'file' => $file, - 'arguments' => $arguments + 'arguments' => $arguments, ]; } @@ -471,7 +472,7 @@ final class Configuration 'cookie' => [], 'server' => [], 'files' => [], - 'request' => [] + 'request' => [], ]; foreach ($this->xpath->query('php/includePath') as $includePath) { @@ -855,6 +856,13 @@ final class Configuration ); } + if ($root->hasAttribute('defaultTimeLimit')) { + $result['defaultTimeLimit'] = $this->getInteger( + (string) $root->getAttribute('defaultTimeLimit'), + 1 + ); + } + if ($root->hasAttribute('enforceTimeLimit')) { $result['enforceTimeLimit'] = $this->getBoolean( (string) $root->getAttribute('enforceTimeLimit'), @@ -1104,20 +1112,10 @@ final class Configuration continue; } - $phpVersion = \PHP_VERSION; - $phpVersionOperator = '>='; - $prefix = ''; - $suffix = 'Test.php'; + $prefix = ''; + $suffix = 'Test.php'; - if ($directoryNode->hasAttribute('phpVersion')) { - $phpVersion = (string) $directoryNode->getAttribute('phpVersion'); - } - - if ($directoryNode->hasAttribute('phpVersionOperator')) { - $phpVersionOperator = (string) $directoryNode->getAttribute('phpVersionOperator'); - } - - if (!\version_compare(\PHP_VERSION, $phpVersion, $phpVersionOperator)) { + if (!$this->satisfiesPhpVersion($directoryNode)) { continue; } @@ -1159,19 +1157,9 @@ final class Configuration continue; } - $file = $file[0]; - $phpVersion = \PHP_VERSION; - $phpVersionOperator = '>='; + $file = $file[0]; - if ($fileNode->hasAttribute('phpVersion')) { - $phpVersion = (string) $fileNode->getAttribute('phpVersion'); - } - - if ($fileNode->hasAttribute('phpVersionOperator')) { - $phpVersionOperator = (string) $fileNode->getAttribute('phpVersionOperator'); - } - - if (!\version_compare(\PHP_VERSION, $phpVersion, $phpVersionOperator)) { + if (!$this->satisfiesPhpVersion($fileNode)) { continue; } @@ -1181,6 +1169,22 @@ final class Configuration return $suite; } + private function satisfiesPhpVersion(DOMElement $node): bool + { + $phpVersion = \PHP_VERSION; + $phpVersionOperator = '>='; + + if ($node->hasAttribute('phpVersion')) { + $phpVersion = (string) $node->getAttribute('phpVersion'); + } + + if ($node->hasAttribute('phpVersionOperator')) { + $phpVersionOperator = (string) $node->getAttribute('phpVersionOperator'); + } + + return \version_compare(\PHP_VERSION, $phpVersion, $phpVersionOperator); + } + /** * if $value is 'false' or 'true', this returns the value that $value represents. * Otherwise, returns $default, which may be a string in rare cases. @@ -1244,7 +1248,7 @@ final class Configuration 'path' => $this->toAbsolutePath($directoryPath), 'prefix' => $prefix, 'suffix' => $suffix, - 'group' => $group + 'group' => $group, ]; } @@ -1311,7 +1315,7 @@ final class Configuration { $groups = [ 'include' => [], - 'exclude' => [] + 'exclude' => [], ]; foreach ($this->xpath->query($root . '/include/group') as $group) { diff --git a/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php b/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php index 655c54dba..30bb128fa 100644 --- a/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php +++ b/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php @@ -46,13 +46,13 @@ EOT; '{phpunit_version}', '{bootstrap_script}', '{tests_directory}', - '{src_directory}' + '{src_directory}', ], [ $phpunitVersion, $bootstrapScript, $testsDirectory, - $srcDirectory + $srcDirectory, ], self::TEMPLATE ); diff --git a/vendor/phpunit/phpunit/src/Util/GlobalState.php b/vendor/phpunit/phpunit/src/Util/GlobalState.php index 6fff1802b..69c151a8a 100644 --- a/vendor/phpunit/phpunit/src/Util/GlobalState.php +++ b/vendor/phpunit/phpunit/src/Util/GlobalState.php @@ -23,7 +23,7 @@ final class GlobalState '_COOKIE', '_SERVER', '_FILES', - '_REQUEST' + '_REQUEST', ]; public static function getIncludedFilesAsString(): string diff --git a/vendor/phpunit/phpunit/src/Util/Log/JUnit.php b/vendor/phpunit/phpunit/src/Util/Log/JUnit.php index 8154af3e7..f81402e4a 100644 --- a/vendor/phpunit/phpunit/src/Util/Log/JUnit.php +++ b/vendor/phpunit/phpunit/src/Util/Log/JUnit.php @@ -287,24 +287,27 @@ class JUnit extends Printer implements TestListener * A test started. * * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException + * @throws ReflectionException */ public function startTest(Test $test): void { + if (!$test instanceof TestCase) { + return; + } + $testCase = $this->document->createElement('testcase'); $testCase->setAttribute('name', $test->getName()); - if ($test instanceof TestCase) { - $class = new ReflectionClass($test); - $methodName = $test->getName(!$test->usesDataProvider()); + $class = new ReflectionClass($test); + $methodName = $test->getName(!$test->usesDataProvider()); - if ($class->hasMethod($methodName)) { - $method = $class->getMethod($methodName); + if ($class->hasMethod($methodName)) { + $method = $class->getMethod($methodName); - $testCase->setAttribute('class', $class->getName()); - $testCase->setAttribute('classname', \str_replace('\\', '.', $class->getName())); - $testCase->setAttribute('file', $class->getFileName()); - $testCase->setAttribute('line', $method->getStartLine()); - } + $testCase->setAttribute('class', $class->getName()); + $testCase->setAttribute('classname', \str_replace('\\', '.', $class->getName())); + $testCase->setAttribute('file', $class->getFileName()); + $testCase->setAttribute('line', $method->getStartLine()); } $this->currentTestCase = $testCase; @@ -315,16 +318,18 @@ class JUnit extends Printer implements TestListener */ public function endTest(Test $test, float $time): void { - if ($test instanceof TestCase) { - $numAssertions = $test->getNumAssertions(); - $this->testSuiteAssertions[$this->testSuiteLevel] += $numAssertions; - - $this->currentTestCase->setAttribute( - 'assertions', - $numAssertions - ); + if (!$test instanceof TestCase) { + return; } + $numAssertions = $test->getNumAssertions(); + $this->testSuiteAssertions[$this->testSuiteLevel] += $numAssertions; + + $this->currentTestCase->setAttribute( + 'assertions', + $numAssertions + ); + $this->currentTestCase->setAttribute( 'time', \sprintf('%F', $time) @@ -337,7 +342,7 @@ class JUnit extends Printer implements TestListener $this->testSuiteTests[$this->testSuiteLevel]++; $this->testSuiteTimes[$this->testSuiteLevel] += $time; - if (\method_exists($test, 'hasOutput') && $test->hasOutput()) { + if ($test->hasOutput()) { $systemOut = $this->document->createElement( 'system-out', Xml::prepareString($test->getActualOutput()) diff --git a/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php b/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php index 513650da7..a6c27b8a9 100644 --- a/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php +++ b/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php @@ -57,6 +57,10 @@ class TeamCity extends ResultPrinter */ public function addError(Test $test, \Throwable $t, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $this->printEvent( 'testFailed', [ @@ -75,6 +79,10 @@ class TeamCity extends ResultPrinter */ public function addWarning(Test $test, Warning $e, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $this->printEvent( 'testFailed', [ @@ -93,6 +101,10 @@ class TeamCity extends ResultPrinter */ public function addFailure(Test $test, AssertionFailedError $e, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $parameters = [ 'name' => $test->getName(), 'message' => self::getMessage($e), @@ -132,6 +144,10 @@ class TeamCity extends ResultPrinter */ public function addIncompleteTest(Test $test, \Throwable $t, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $this->printIgnoredTest($test->getName(), $t, $time); } @@ -142,6 +158,10 @@ class TeamCity extends ResultPrinter */ public function addRiskyTest(Test $test, \Throwable $t, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $this->addError($test, $t, $time); } @@ -152,6 +172,10 @@ class TeamCity extends ResultPrinter */ public function addSkippedTest(Test $test, \Throwable $t, float $time): void { + if (!$test instanceof TestCase) { + return; + } + $testName = $test->getName(); if ($this->startedTestName !== $testName) { @@ -253,6 +277,10 @@ class TeamCity extends ResultPrinter */ public function startTest(Test $test): void { + if (!$test instanceof TestCase) { + return; + } + $testName = $test->getName(); $this->startedTestName = $testName; $params = ['name' => $testName]; @@ -271,13 +299,17 @@ class TeamCity extends ResultPrinter */ public function endTest(Test $test, float $time): void { + if (!$test instanceof TestCase) { + return; + } + parent::endTest($test, $time); $this->printEvent( 'testFinished', [ 'name' => $test->getName(), - 'duration' => self::toMilliseconds($time) + 'duration' => self::toMilliseconds($time), ] ); } diff --git a/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php b/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php index 906f6e4ad..46fffa381 100644 --- a/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php +++ b/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php @@ -35,7 +35,7 @@ class WindowsPhpProcess extends DefaultPhpProcess } return [ - 1 => $stdout_handle + 1 => $stdout_handle, ]; } diff --git a/vendor/phpunit/phpunit/src/Util/Test.php b/vendor/phpunit/phpunit/src/Util/Test.php index d8e6d0b97..fe23e05b7 100644 --- a/vendor/phpunit/phpunit/src/Util/Test.php +++ b/vendor/phpunit/phpunit/src/Util/Test.php @@ -10,6 +10,7 @@ namespace PHPUnit\Util; use PharIo\Version\VersionConstraintParser; +use PHPUnit\Framework\Assert; use PHPUnit\Framework\CodeCoverageException; use PHPUnit\Framework\Exception; use PHPUnit\Framework\InvalidCoversTargetException; @@ -173,7 +174,7 @@ final class Test foreach (\range(0, $count - 1) as $i) { $requires[$matches['name'][$i]] = [ 'version' => $matches['version'][$i], - 'operator' => $matches['operator'][$i] + 'operator' => $matches['operator'][$i], ]; } } @@ -188,7 +189,7 @@ final class Test $versionConstraintParser = new VersionConstraintParser; $requires[$matches['name'][$i] . '_constraint'] = [ - 'constraint' => $versionConstraintParser->parse(\trim($matches['constraint'][$i])) + 'constraint' => $versionConstraintParser->parse(\trim($matches['constraint'][$i])), ]; } catch (\PharIo\Version\Exception $e) { throw new Warning($e->getMessage(), $e->getCode(), $e); @@ -220,7 +221,7 @@ final class Test $requires['extension_versions'][$matches['value'][$i]] = [ 'version' => $matches['version'][$i], - 'operator' => $matches['operator'][$i] + 'operator' => $matches['operator'][$i], ]; } } @@ -276,7 +277,7 @@ final class Test } } - if (!empty($required['OSFAMILY']) && $required['OSFAMILY'] !== (new OperatingSystem())->getFamily()) { + if (!empty($required['OSFAMILY']) && $required['OSFAMILY'] !== (new OperatingSystem)->getFamily()) { $missing[] = \sprintf('Operating system %s is required.', $required['OSFAMILY']); } @@ -390,7 +391,7 @@ final class Test } return [ - 'class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp + 'class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp, ]; } @@ -508,7 +509,7 @@ final class Test return [ 'class' => self::$annotationCache[$className], - 'method' => $methodName !== null ? self::$annotationCache[$cacheKey] : [] + 'method' => $methodName !== null ? self::$annotationCache[$cacheKey] : [], ]; } @@ -526,7 +527,7 @@ final class Test if (\preg_match('#/\*\*?\s*@(?P<name>[A-Za-z_-]+)(?:[ \t]+(?P<value>.*?))?[ \t]*\r?\*/$#m', $line, $matches)) { $annotations[\strtolower($matches['name'])] = [ 'line' => $lineNumber, - 'value' => $matches['value'] + 'value' => $matches['value'], ]; } @@ -565,7 +566,7 @@ final class Test $className, $methodName, 'backupStaticAttributes' - ) + ), ]; } @@ -706,6 +707,14 @@ final class Test $class = new ReflectionClass($className); foreach ($class->getMethods() as $method) { + if ($method->getDeclaringClass()->getName() === Assert::class) { + continue; + } + + if ($method->getDeclaringClass()->getName() === TestCase::class) { + continue; + } + if (self::isBeforeClassMethod($method)) { \array_unshift( self::$hookMethods[$className]['beforeClass'], @@ -898,7 +907,7 @@ final class Test 'beforeClass' => ['setUpBeforeClass'], 'before' => ['setUp'], 'after' => ['tearDown'], - 'afterClass' => ['tearDownAfterClass'] + 'afterClass' => ['tearDownAfterClass'], ]; } diff --git a/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php b/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php index 3cf85af02..fc5a1fe4a 100644 --- a/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php +++ b/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php @@ -63,20 +63,19 @@ final class NamePrettifier $annotations = $test->getAnnotations(); $annotationWithPlaceholders = false; + $callback = static function (string $variable): string { + return \sprintf('/%s(?=\b)/', \preg_quote($variable, '/')); + }; + if (isset($annotations['method']['testdox'][0])) { $result = $annotations['method']['testdox'][0]; if (\strpos($result, '$') !== false) { $annotation = $annotations['method']['testdox'][0]; $providedData = $this->mapTestMethodParameterNamesToProvidedDataValues($test); + $variables = \array_map($callback, \array_keys($providedData)); - $result = \trim( - \str_replace( - \array_keys($providedData), - $providedData, - $annotation - ) - ); + $result = \trim(\preg_replace($variables, $providedData, $annotation)); $annotationWithPlaceholders = true; } @@ -85,7 +84,7 @@ final class NamePrettifier } if ($test->usesDataProvider() && !$annotationWithPlaceholders) { - $result .= ' data set "' . $test->dataDescription() . '"'; + $result .= $test->getDataSetAsString(false); } return $result; @@ -158,11 +157,15 @@ final class NamePrettifier { $reflector = new \ReflectionMethod(\get_class($test), $test->getName(false)); $providedData = []; - $providedDataValues = $test->getProvidedData(); + $providedDataValues = \array_values($test->getProvidedData()); $i = 0; foreach ($reflector->getParameters() as $parameter) { - $value = $providedDataValues[$i++]; + if (!\array_key_exists($i, $providedDataValues) && $parameter->isDefaultValueAvailable()) { + $providedDataValues[$i] = $parameter->getDefaultValue(); + } + + $value = $providedDataValues[$i++] ?? null; if (\is_object($value)) { $reflector = new \ReflectionObject($value); @@ -176,7 +179,7 @@ final class NamePrettifier $value = \gettype($value); } - if (\is_bool($value) || \is_numeric($value)) { + if (\is_bool($value) || \is_int($value) || \is_float($value)) { $exporter = new Exporter; $value = $exporter->export($value); diff --git a/vendor/phpunit/phpunit/src/Util/TestResultCache.php b/vendor/phpunit/phpunit/src/Util/TestResultCache.php index 79accbfed..c4fa0e3cb 100644 --- a/vendor/phpunit/phpunit/src/Util/TestResultCache.php +++ b/vendor/phpunit/phpunit/src/Util/TestResultCache.php @@ -27,7 +27,7 @@ class TestResultCache implements \Serializable, TestResultCacheInterface BaseTestRunner::STATUS_FAILURE, BaseTestRunner::STATUS_ERROR, BaseTestRunner::STATUS_RISKY, - BaseTestRunner::STATUS_WARNING + BaseTestRunner::STATUS_WARNING, ]; /** @@ -77,6 +77,15 @@ class TestResultCache implements \Serializable, TestResultCacheInterface return; } + if (!$this->createDirectory(\dirname($this->cacheFilename))) { + throw new Exception( + \sprintf( + 'Cannot create directory "%s" for result cache file', + $this->cacheFilename + ) + ); + } + \file_put_contents( $this->cacheFilename, \serialize($this) @@ -154,7 +163,7 @@ class TestResultCache implements \Serializable, TestResultCacheInterface { return \serialize([ 'defects' => $this->defects, - 'times' => $this->times + 'times' => $this->times, ]); } @@ -176,4 +185,9 @@ class TestResultCache implements \Serializable, TestResultCacheInterface } } } + + private function createDirectory(string $directory): bool + { + return !(!\is_dir($directory) && !@\mkdir($directory, 0777, true) && !\is_dir($directory)); + } } diff --git a/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php b/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php new file mode 100644 index 000000000..d2dff2a8a --- /dev/null +++ b/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php @@ -0,0 +1,65 @@ +<?php declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\Util; + +final class XdebugFilterScriptGenerator +{ + public function generate(array $filterData): string + { + $items = $this->getWhitelistItems($filterData); + + $files = \array_map( + function ($item) { + return \sprintf( + " '%s'", + $item + ); + }, + $items + ); + + $files = \implode(",\n", $files); + + return <<<EOF +<?php declare(strict_types=1); +if (!\\function_exists('xdebug_set_filter')) { + return; +} + +\\xdebug_set_filter( + \\XDEBUG_FILTER_CODE_COVERAGE, + \\XDEBUG_PATH_WHITELIST, + [ +$files + ] +); + +EOF; + } + + private function getWhitelistItems(array $filterData): array + { + $files = []; + + if (isset($filterData['include']['directory'])) { + foreach ($filterData['include']['directory'] as $directory) { + $files[] = $directory['path']; + } + } + + if (isset($filterData['include']['directory'])) { + foreach ($filterData['include']['file'] as $file) { + $files[] = $file; + } + } + + return $files; + } +} diff --git a/vendor/phpunit/phpunit/src/Util/Xml.php b/vendor/phpunit/phpunit/src/Util/Xml.php index f807b0ca2..4aa8d0787 100644 --- a/vendor/phpunit/phpunit/src/Util/Xml.php +++ b/vendor/phpunit/phpunit/src/Util/Xml.php @@ -19,6 +19,13 @@ use ReflectionClass; final class Xml { + public static function import(DOMElement $element): DOMElement + { + $document = new DOMDocument; + + return $document->importNode($element, true); + } + /** * Load an $actual document into a DOMDocument. This is called * from the selector assertions. diff --git a/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php b/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php new file mode 100644 index 000000000..281cc94ad --- /dev/null +++ b/vendor/phpunit/phpunit/tests/_files/ClassWithVariadicArgumentMethod.php @@ -0,0 +1,20 @@ +<?php +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * A class with a method that takes a variadic argument. + */ +class ClassWithVariadicArgumentMethod +{ + public function foo(...$args) + { + return $args; + } +} diff --git a/vendor/phpunit/phpunit/tests/_files/CountConstraint.php b/vendor/phpunit/phpunit/tests/_files/CountConstraint.php index a0abea911..8262e4432 100644 --- a/vendor/phpunit/phpunit/tests/_files/CountConstraint.php +++ b/vendor/phpunit/phpunit/tests/_files/CountConstraint.php @@ -18,7 +18,7 @@ final class CountConstraint extends Constraint public static function fromCount(int $count): self { - $instance = new self(); + $instance = new self; $instance->count = $count; diff --git a/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php index 5d9b5f7e2..de14779be 100644 --- a/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php +++ b/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php @@ -13,12 +13,12 @@ class DataProviderDebugTest extends TestCase { public static function provider() { - $obj2 = new \stdClass(); + $obj2 = new \stdClass; $obj2->foo = 'bar'; $obj3 = (object) [1, 2, "Test\r\n", 4, 5, 6, 7, 8]; - $obj = new \stdClass(); + $obj = new \stdClass; //@codingStandardsIgnoreStart $obj->null = null; //@codingStandardsIgnoreEnd @@ -32,7 +32,7 @@ class DataProviderDebugTest extends TestCase $obj->array = ['foo' => 'bar']; $obj->self = $obj; - $storage = new \SplObjectStorage(); + $storage = new \SplObjectStorage; $storage->attach($obj2); $storage->foo = $obj; @@ -42,9 +42,9 @@ class DataProviderDebugTest extends TestCase [[[1, 2, 3], [3, 4, 5]]], // \n\r and \r is converted to \n ["this\nis\na\nvery\nvery\nvery\nvery\nvery\nvery\rlong\n\rtext"], - [new \stdClass(), $obj, [], $storage, $obj3], + [new \stdClass, $obj, [], $storage, $obj3], [\chr(0) . \chr(1) . \chr(2) . \chr(3) . \chr(4) . \chr(5), \implode('', \array_map('chr', \range(0x0e, 0x1f)))], - [\chr(0x00) . \chr(0x09)] + [\chr(0x00) . \chr(0x09)], ]; } diff --git a/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php index 1cae5cd5c..ace0b6bbb 100644 --- a/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php +++ b/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php @@ -17,7 +17,7 @@ class DataProviderFilterTest extends TestCase [true], [true], [true], - [true] + [true], ]; } @@ -27,7 +27,7 @@ class DataProviderFilterTest extends TestCase 'false test' => [false], 'false test 2' => [false], 'other false test' => [false], - 'other false test2'=> [false] + 'other false test2'=> [false], ]; } diff --git a/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php index 019418c87..fe6202e2c 100644 --- a/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php +++ b/vendor/phpunit/phpunit/tests/_files/DataProviderIssue2922/FirstTest.php @@ -26,6 +26,6 @@ class FirstTest extends TestCase public function provide(): void { - throw new \Exception(); + throw new \Exception; } } diff --git a/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php index 810b59e6c..1fdcc1645 100644 --- a/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php +++ b/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php @@ -17,7 +17,7 @@ class DataProviderTest extends TestCase [0, 0, 0], [0, 1, 1], [1, 1, 3], - [1, 0, 1] + [1, 0, 1], ]; } diff --git a/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php index 9bb9bf692..72515b251 100644 --- a/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php +++ b/vendor/phpunit/phpunit/tests/_files/DataProviderTestDoxTest.php @@ -13,7 +13,7 @@ class DataProviderTestDoxTest extends TestCase { /** * @dataProvider provider - * @testdox Does something with + * @testdox Does something */ public function testOne(): void { @@ -23,7 +23,15 @@ class DataProviderTestDoxTest extends TestCase /** * @dataProvider provider */ - public function testDoesSomethingElseWith(): void + public function testDoesSomethingElse(): void + { + $this->assertTrue(true); + } + + /** + * @dataProvider providerWithIndexedArray + */ + public function testWithProviderWithIndexedArray($value): void { $this->assertTrue(true); } @@ -41,7 +49,15 @@ class DataProviderTestDoxTest extends TestCase { return [ 'one' => [1], - 'two' => [2] + 'two' => [2], + ]; + } + + public function providerWithIndexedArray() + { + return [ + ['first'], + ['second'], ]; } @@ -61,7 +77,7 @@ class DataProviderTestDoxTest extends TestCase } }], 'resource' => [\fopen(__FILE__, 'rb')], - 'null' => [null] + 'null' => [null], ]; } } diff --git a/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php b/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php new file mode 100644 index 000000000..b920d7171 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest.php @@ -0,0 +1,48 @@ +<?php +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use PHPUnit\Framework\TestCase; + +class DataproviderExecutionOrderTest extends TestCase +{ + public function testFirstTestThatAlwaysWorks() + { + $this->assertTrue(true); + } + + /** + * @dataProvider dataproviderAdditions + */ + public function testAddNumbersWithADataprovider(int $a, int $b, int $sum) + { + $this->assertSame($sum, $a + $b); + } + + public function testTestInTheMiddleThatAlwaysWorks() + { + $this->assertTrue(true); + } + + /** + * @dataProvider dataproviderAdditions + */ + public function testAddMoreNumbersWithADataprovider(int $a, int $b, int $sum) + { + $this->assertSame($sum, $a + $b); + } + + public function dataproviderAdditions() + { + return [ + '1+2=3' => [1, 2, 3], + '2+1=3' => [2, 1, 3], + '1+1=3' => [1, 1, 3], + ]; + } +} diff --git a/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt b/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt new file mode 100644 index 000000000..516a9eb64 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/_files/DataproviderExecutionOrderTest_result_cache.txt @@ -0,0 +1 @@ +C:30:"PHPUnit\Runner\TestResultCache":2119:{a:2:{s:7:"defects";a:5:{s:60:"tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt";i:3;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";i:3;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";i:3;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";i:3;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";i:3;}s:5:"times";a:17:{s:60:"tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt";d:0.115;s:63:"MultiDependencyExecutionOrderTest::testFirstTestThatAlwaysWorks";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3"";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3"";d:0;s:88:"MultiDependencyExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";d:0.003;s:69:"MultiDependencyExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3"";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3"";d:0;s:92:"MultiDependencyExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";d:0;s:60:"DataproviderExecutionOrderTest::testFirstTestThatAlwaysWorks";d:0.002;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3"";d:0;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3"";d:0;s:85:"DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3"";d:0.001;s:66:"DataproviderExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3"";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3"";d:0;s:89:"DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3"";d:0;}}} \ No newline at end of file diff --git a/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php b/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php index 73cc027b6..d14fea2af 100644 --- a/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php +++ b/vendor/phpunit/phpunit/tests/_files/IgnoreCodeCoverageClassTest.php @@ -13,13 +13,13 @@ class IgnoreCodeCoverageClassTest extends TestCase { public function testReturnTrue(): void { - $sut = new IgnoreCodeCoverageClass(); + $sut = new IgnoreCodeCoverageClass; $this->assertTrue($sut->returnTrue()); } public function testReturnFalse(): void { - $sut = new IgnoreCodeCoverageClass(); + $sut = new IgnoreCodeCoverageClass; $this->assertFalse($sut->returnFalse()); } } diff --git a/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt b/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt index 61378e255..2b0bb9629 100644 --- a/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt +++ b/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest_result_cache.txt @@ -1 +1 @@ -C:30:"PHPUnit\Runner\TestResultCache":157:{a:2:{s:7:"defects";a:1:{s:8:"testFive";i:1;}s:5:"times";a:5:{s:7:"testOne";d:0;s:7:"testTwo";d:0;s:9:"testThree";d:0;s:8:"testFour";d:0;s:8:"testFive";d:0;}}} \ No newline at end of file +C:30:"PHPUnit\Runner\TestResultCache":289:{a:2:{s:7:"defects";a:1:{s:29:"MultiDependencyTest::testFive";i:1;}s:5:"times";a:5:{s:28:"MultiDependencyTest::testOne";d:0;s:28:"MultiDependencyTest::testTwo";d:0;s:30:"MultiDependencyTest::testThree";d:0;s:29:"MultiDependencyTest::testFour";d:0;s:29:"MultiDependencyTest::testFive";d:0;}}} \ No newline at end of file diff --git a/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php b/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php index f87986a58..81d113fc3 100644 --- a/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php +++ b/vendor/phpunit/phpunit/tests/_files/MultipleDataProviderTest.php @@ -16,7 +16,7 @@ class MultipleDataProviderTest extends TestCase return [ ['ok', null, null], ['ok', null, null], - ['ok', null, null] + ['ok', null, null], ]; } @@ -25,7 +25,7 @@ class MultipleDataProviderTest extends TestCase return [ [null, 'ok', null], [null, 'ok', null], - [null, 'ok', null] + [null, 'ok', null], ]; } @@ -34,7 +34,7 @@ class MultipleDataProviderTest extends TestCase return [ [null, null, 'ok'], [null, null, 'ok'], - [null, null, 'ok'] + [null, null, 'ok'], ]; } @@ -62,7 +62,7 @@ class MultipleDataProviderTest extends TestCase [ [null, null, 'ok'], [null, null, 'ok'], - [null, null, 'ok'] + [null, null, 'ok'], ] ); diff --git a/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php b/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php index 4916cd79b..4cf5b3ab1 100644 --- a/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php +++ b/vendor/phpunit/phpunit/tests/_files/NamedConstraint.php @@ -18,7 +18,7 @@ final class NamedConstraint extends Constraint public static function fromName(string $name): self { - $instance = new self(); + $instance = new self; $instance->name = $name; diff --git a/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php b/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php new file mode 100644 index 000000000..4ac5999b0 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/_files/NotSelfDescribingTest.php @@ -0,0 +1,29 @@ +<?php +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use PHPUnit\Framework\Test; +use PHPUnit\Framework\TestResult; + +class NotSelfDescribingTest implements Test +{ + public function log($msg): void + { + print $msg; + } + + public function count(): int + { + return 0; + } + + public function run(TestResult $result = null): TestResult + { + return new TestResult(); + } +} diff --git a/vendor/phpunit/phpunit/tests/_files/RouterTest.php b/vendor/phpunit/phpunit/tests/_files/RouterTest.php index 354f1de5e..1c4c7ffaf 100644 --- a/vendor/phpunit/phpunit/tests/_files/RouterTest.php +++ b/vendor/phpunit/phpunit/tests/_files/RouterTest.php @@ -28,7 +28,7 @@ final class RouterTest extends TestCase '/foo/bar', FooBarHandler::class, // ... - ] + ], ]; } } diff --git a/vendor/phpunit/phpunit/tests/_files/TestWarning.php b/vendor/phpunit/phpunit/tests/_files/TestWarning.php index 22dd01b4f..337a6d8ea 100644 --- a/vendor/phpunit/phpunit/tests/_files/TestWarning.php +++ b/vendor/phpunit/phpunit/tests/_files/TestWarning.php @@ -8,11 +8,12 @@ * file that was distributed with this source code. */ use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\Warning; class TestWarning extends TestCase { protected function runTest(): void { - throw new \PHPUnit\Framework\Warning(); + throw new Warning; } } diff --git a/vendor/phpunit/phpunit/tests/_files/TestWithTest.php b/vendor/phpunit/phpunit/tests/_files/TestWithTest.php index 724463d17..acd50894c 100644 --- a/vendor/phpunit/phpunit/tests/_files/TestWithTest.php +++ b/vendor/phpunit/phpunit/tests/_files/TestWithTest.php @@ -17,7 +17,7 @@ class TestWithTest extends TestCase [0, 0, 0], [0, 1, 1], [1, 1, 3], - [1, 0, 1] + [1, 0, 1], ]; } diff --git a/vendor/phpunit/phpunit/tests/_files/configuration.xml b/vendor/phpunit/phpunit/tests/_files/configuration.xml index 36c91cacc..5786d920c 100644 --- a/vendor/phpunit/phpunit/tests/_files/configuration.xml +++ b/vendor/phpunit/phpunit/tests/_files/configuration.xml @@ -25,6 +25,7 @@ beStrictAboutTestsThatDoNotTestAnything="false" beStrictAboutTodoAnnotatedTests="false" beStrictAboutCoversAnnotation="false" + defaultTimeLimit="123" enforceTimeLimit="false" ignoreDeprecatedCodeUnitsFromCodeCoverage="false" timeoutForSmallTests="1" diff --git a/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml b/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml new file mode 100644 index 000000000..dacd6eabc --- /dev/null +++ b/vendor/phpunit/phpunit/tests/_files/configuration_whitelist.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8" ?> + +<phpunit> + + <filter> + <whitelist> + <file>AbstractTest.php</file> + <exclude> + <file>Foo.php</file> + </exclude> + </whitelist> + </filter> + +</phpunit> + diff --git a/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml b/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml index 536d46135..19087d369 100644 --- a/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml +++ b/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml @@ -26,6 +26,7 @@ beStrictAboutTestsThatDoNotTestAnything="false" beStrictAboutTodoAnnotatedTests="false" beStrictAboutCoversAnnotation="false" + defaultTimeLimit="123" enforceTimeLimit="false" ignoreDeprecatedCodeUnitsFromCodeCoverage="false" timeoutForSmallTests="1" diff --git a/vendor/phpunit/phpunit/tests/bootstrap.php b/vendor/phpunit/phpunit/tests/bootstrap.php index 22639815a..f10c55de0 100644 --- a/vendor/phpunit/phpunit/tests/bootstrap.php +++ b/vendor/phpunit/phpunit/tests/bootstrap.php @@ -39,6 +39,8 @@ require_once TEST_FILES_PATH . 'NoTestCases.php'; require_once TEST_FILES_PATH . 'NotPublicTestCase.php'; +require_once TEST_FILES_PATH . 'NotSelfDescribingTest.php'; + require_once TEST_FILES_PATH . 'NotVoidTestCase.php'; require_once TEST_FILES_PATH . 'OverrideTestCase.php'; diff --git a/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt b/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt index 55320c82b..222f19edf 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/cache-result.phpt @@ -26,4 +26,4 @@ Time: %s, Memory: %s OK, but incomplete, skipped, or risky tests! Tests: 5, Assertions: 3, Skipped: 2. -C:30:"PHPUnit\Runner\TestResultCache":%d:{a:2:{s:7:"defects";a:2:{s:8:"testFour";i:1;s:9:"testThree";i:1;}s:5:"times";a:5:{s:8:"testFive";d:%f;s:8:"testFour";d:%f;s:9:"testThree";d:%f;s:7:"testTwo";d:%f;s:7:"testOne";d:%f;}}} +C:30:"PHPUnit\Runner\TestResultCache":%d:{a:2:{s:7:"defects";a:2:{s:29:"MultiDependencyTest::testFour";i:1;s:30:"MultiDependencyTest::testThree";i:1;}s:5:"times";a:5:{s:29:"MultiDependencyTest::testFive";d:%f;s:29:"MultiDependencyTest::testFour";d:%f;s:30:"MultiDependencyTest::testThree";d:%f;s:28:"MultiDependencyTest::testTwo";d:%f;s:28:"MultiDependencyTest::testOne";d:%f;}}} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt b/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt index 8de7184c8..3eeefc565 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/dataprovider-testdox.phpt @@ -17,6 +17,8 @@ DataProviderTestDox ✔ Does something with data set "two" ✔ Does something else with data set "one" ✔ Does something else with data set "two" + ✔ With provider with indexed array with data set #0 + ✔ With provider with indexed array with data set #1 ✔ ... true ... ✔ ... 1 ... ✔ ... 1.0 ... @@ -29,4 +31,4 @@ DataProviderTestDox Time: %s, Memory: %s -OK (13 tests, 13 assertions) +OK (15 tests, 15 assertions) diff --git a/vendor/phpunit/phpunit/tests/end-to-end/dump-xdebug-filter.phpt b/vendor/phpunit/phpunit/tests/end-to-end/dump-xdebug-filter.phpt new file mode 100644 index 000000000..52818bb45 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/dump-xdebug-filter.phpt @@ -0,0 +1,32 @@ +--TEST-- +phpunit -c ../_files/configuration_whitelist.xml --dump-xdebug-filter 'php://stdout' +--SKIPIF-- +<?php +if (!extension_loaded('xdebug')) { + print 'skip: xdebug not loaded'; +} +--FILE-- +<?php +$_SERVER['argv'][1] = '-c'; +$_SERVER['argv'][2] = __DIR__ . '/../_files/configuration_whitelist.xml'; +$_SERVER['argv'][3] = '--dump-xdebug-filter'; +$_SERVER['argv'][4] = 'php://stderr'; + +require __DIR__ . '/../bootstrap.php'; +PHPUnit\TextUI\Command::main(); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. +<?php declare(strict_types=1); +if (!\function_exists('xdebug_set_filter')) { + return; +} + +\xdebug_set_filter( + \XDEBUG_FILTER_CODE_COVERAGE, + \XDEBUG_PATH_WHITELIST, + [ + %s + ] +); + +Wrote Xdebug filter script to php://stderr diff --git a/vendor/phpunit/phpunit/tests/end-to-end/help.phpt b/vendor/phpunit/phpunit/tests/end-to-end/help.phpt index cf33935db..fb069f0e4 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/help.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/help.phpt @@ -24,6 +24,7 @@ Code Coverage Options: --whitelist <dir> Whitelist <dir> for code coverage analysis --disable-coverage-ignore Disable annotations for ignoring code coverage --no-coverage Ignore code coverage configuration + --dump-xdebug-filter <file> Generate script to set Xdebug code coverage filter Logging Options: @@ -55,6 +56,7 @@ Test Execution Options: --disallow-test-output Be strict about output during tests --disallow-resource-usage Be strict about resource usage during small tests --enforce-time-limit Enforce time limit based on test size + --default-time-limit=<sec> Timeout in seconds for tests without @small, @medium or @large --disallow-todo-tests Disallow @todo-annotated tests --process-isolation Run each test in a separate PHP process @@ -92,7 +94,8 @@ Test Execution Options: Configuration Options: - --bootstrap <file> A "bootstrap" PHP file that is run before the tests + --prepend <file> A PHP script that is included as early as possible + --bootstrap <file> A PHP script that is included before the tests run -c|--configuration <file> Read configuration from XML file --no-configuration Ignore default configuration file (phpunit.xml) --no-logging Ignore logging configuration @@ -100,7 +103,7 @@ Configuration Options: --include-path <path(s)> Prepend PHP's include_path with given path(s) -d key[=value] Sets a php.ini value --generate-configuration Generate configuration file with suggested settings - --cache-result-file==<FILE> Specify result cache path and filename + --cache-result-file=<file> Specify result cache path and filename Miscellaneous Options: diff --git a/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt b/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt index 0f72fcccf..b0c6ecb9e 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/help2.phpt @@ -25,6 +25,7 @@ Code Coverage Options: --whitelist <dir> Whitelist <dir> for code coverage analysis --disable-coverage-ignore Disable annotations for ignoring code coverage --no-coverage Ignore code coverage configuration + --dump-xdebug-filter <file> Generate script to set Xdebug code coverage filter Logging Options: @@ -56,6 +57,7 @@ Test Execution Options: --disallow-test-output Be strict about output during tests --disallow-resource-usage Be strict about resource usage during small tests --enforce-time-limit Enforce time limit based on test size + --default-time-limit=<sec> Timeout in seconds for tests without @small, @medium or @large --disallow-todo-tests Disallow @todo-annotated tests --process-isolation Run each test in a separate PHP process @@ -93,7 +95,8 @@ Test Execution Options: Configuration Options: - --bootstrap <file> A "bootstrap" PHP file that is run before the tests + --prepend <file> A PHP script that is included as early as possible + --bootstrap <file> A PHP script that is included before the tests run -c|--configuration <file> Read configuration from XML file --no-configuration Ignore default configuration file (phpunit.xml) --no-logging Ignore logging configuration @@ -101,7 +104,7 @@ Configuration Options: --include-path <path(s)> Prepend PHP's include_path with given path(s) -d key[=value] Sets a php.ini value --generate-configuration Generate configuration file with suggested settings - --cache-result-file==<FILE> Specify result cache path and filename + --cache-result-file=<file> Specify result cache path and filename Miscellaneous Options: diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/232.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/232.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/232.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/232.phpt index 2e4ca3259..e79765a5d 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/232.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/232.phpt @@ -38,7 +38,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -124,7 +124,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/3154_namespaced_constant_resolving.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/3154_namespaced_constant_resolving.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt index 7b4b4c1ef..3755266fb 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/3154_namespaced_constant_resolving.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/3154_namespaced_constant_resolving.phpt @@ -23,7 +23,7 @@ class Issue3154 return $z."sum: ".($i+$j).$v; } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -108,7 +108,7 @@ class Issue3154Mock extends Is\Namespaced\Issue3154 implements PHPUnit\Framework return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/397.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/397.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt index c0cf94d48..dd0a35d41 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/397.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/397.phpt @@ -9,7 +9,7 @@ class C } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -94,7 +94,7 @@ class MockC extends C implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/abstract_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt similarity index 97% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/abstract_class.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt index 76f817463..6c4e9cec8 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/abstract_class.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/abstract_class.phpt @@ -13,7 +13,7 @@ abstract class Foo abstract protected function three(); } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -143,7 +143,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt index 0c294f333..a7f5adfe3 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class.phpt @@ -13,7 +13,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -121,7 +121,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_clone.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_clone.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt index e25c81c6d..f260e0007 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_clone.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_clone.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -73,7 +73,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt index b171bf0fe..f14f77ae8 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_call_parent_constructor.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -72,7 +72,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_clone.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_clone.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt index 827d68bb8..16c650390 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_clone.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_clone.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -72,7 +72,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt index b171bf0fe..f14f77ae8 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_dont_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_dont_call_parent_constructor.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -72,7 +72,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt index 4dd14b853..b2495608e 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_call_parent_constructor.phpt @@ -14,7 +14,7 @@ class Foo implements IFoo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -77,7 +77,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_dont_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt index 4dd14b853..b2495608e 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_implementing_interface_dont_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_implementing_interface_dont_call_parent_constructor.phpt @@ -14,7 +14,7 @@ class Foo implements IFoo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -77,7 +77,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt new file mode 100644 index 000000000..1ffa0b6ac --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_nonexistent_method.phpt @@ -0,0 +1,106 @@ +--TEST-- +\PHPUnit\Framework\MockObject\Generator::generate('Foo', array('bar'), 'MockFoo', true, true) +--FILE-- +<?php +class Foo +{ + public function baz(Foo $foo) + { + } +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$generator = new \PHPUnit\Framework\MockObject\Generator; + +$mock = $generator->generate( + 'Foo', + array('bar'), + 'MockFoo', + true, + true +); + +print $mock['code']; +?> +--EXPECT-- +class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject +{ + private $__phpunit_invocationMocker; + private $__phpunit_originalObject; + private $__phpunit_configurable = ['bar']; + private $__phpunit_returnValueGeneration = true; + + public function __clone() + { + $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); + } + + public function bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, true + ) + ); + + return $__phpunit_result; + } + + public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) + { + return $this->__phpunit_getInvocationMocker()->expects($matcher); + } + + public function method() + { + $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; + $expects = $this->expects($any); + + return call_user_func_array([$expects, 'method'], func_get_args()); + } + + public function __phpunit_setOriginalObject($originalObject) + { + $this->__phpunit_originalObject = $originalObject; + } + + public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) + { + $this->__phpunit_returnValueGeneration = $returnValueGeneration; + } + + public function __phpunit_getInvocationMocker() + { + if ($this->__phpunit_invocationMocker === null) { + $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); + } + + return $this->__phpunit_invocationMocker; + } + + public function __phpunit_hasMatchers() + { + return $this->__phpunit_getInvocationMocker()->hasMatchers(); + } + + public function __phpunit_verify(bool $unsetInvocationMocker = true) + { + $this->__phpunit_getInvocationMocker()->verify(); + + if ($unsetInvocationMocker) { + $this->__phpunit_invocationMocker = null; + } + } +} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_partial.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_partial.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt index bc79aaf70..324ffd487 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_partial.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_partial.phpt @@ -13,7 +13,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -99,7 +99,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_deprecated_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_deprecated_method.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt index 8a6a0e64f..e50c98336 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_deprecated_method.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_deprecated_method.phpt @@ -13,7 +13,7 @@ class ClassWithDeprecatedMethod } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -101,7 +101,7 @@ class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit\Framework\Moc return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt new file mode 100644 index 000000000..8b59f586a --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_final_method.phpt @@ -0,0 +1,84 @@ +--TEST-- +\PHPUnit\Framework\MockObject\Generator::generate('ClassWithFinalMethod', [], 'MockFoo', true, true) +--FILE-- +<?php +class ClassWithFinalMethod +{ + final public function finalMethod() + { + } +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$generator = new \PHPUnit\Framework\MockObject\Generator; + +$mock = $generator->generate( + 'ClassWithFinalMethod', + [], + 'MockFoo', + true, + true +); + +print $mock['code']; +?> +--EXPECT-- +class MockFoo extends ClassWithFinalMethod implements PHPUnit\Framework\MockObject\MockObject +{ + private $__phpunit_invocationMocker; + private $__phpunit_originalObject; + private $__phpunit_configurable = []; + private $__phpunit_returnValueGeneration = true; + + public function __clone() + { + $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); + } + + public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) + { + return $this->__phpunit_getInvocationMocker()->expects($matcher); + } + + public function method() + { + $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; + $expects = $this->expects($any); + + return call_user_func_array([$expects, 'method'], func_get_args()); + } + + public function __phpunit_setOriginalObject($originalObject) + { + $this->__phpunit_originalObject = $originalObject; + } + + public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration) + { + $this->__phpunit_returnValueGeneration = $returnValueGeneration; + } + + public function __phpunit_getInvocationMocker() + { + if ($this->__phpunit_invocationMocker === null) { + $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration); + } + + return $this->__phpunit_invocationMocker; + } + + public function __phpunit_hasMatchers() + { + return $this->__phpunit_getInvocationMocker()->hasMatchers(); + } + + public function __phpunit_verify(bool $unsetInvocationMocker = true) + { + $this->__phpunit_getInvocationMocker()->verify(); + + if ($unsetInvocationMocker) { + $this->__phpunit_invocationMocker = null; + } + } +} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_named_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_named_method.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt index c6a67edf9..0c3ea95f0 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_named_method.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_named_method.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -87,7 +87,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_nullable_typehinted_variadic_arguments.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_nullable_typehinted_variadic_arguments.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt index ca0302a0b..410131c06 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_nullable_typehinted_variadic_arguments.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_nullable_typehinted_variadic_arguments.phpt @@ -9,7 +9,7 @@ class ClassWithMethodWithNullableTypehintedVariadicArguments } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends ClassWithMethodWithNullableTypehintedVariadicArguments imp return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_typehinted_variadic_arguments.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_typehinted_variadic_arguments.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt index 125b2316e..e326ca3aa 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_typehinted_variadic_arguments.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_typehinted_variadic_arguments.phpt @@ -9,7 +9,7 @@ class ClassWithMethodWithTypehintedVariadicArguments } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends ClassWithMethodWithTypehintedVariadicArguments implements return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_variadic_arguments.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_variadic_arguments.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt index 961489c36..aabc0cfc3 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/class_with_method_with_variadic_arguments.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/class_with_method_with_variadic_arguments.phpt @@ -9,7 +9,7 @@ class ClassWithMethodWithVariadicArguments } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit\Fr return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/constant_as_parameter_default_value.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/constant_as_parameter_default_value.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt index 87864129c..d98c6d97b 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/constant_as_parameter_default_value.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/constant_as_parameter_default_value.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/interface.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/interface.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt index 471b29d2a..cd4c10875 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/interface.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/interface.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(Foo $foo); } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -93,7 +93,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/invocation_object_clone_object.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/invocation_object_clone_object.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt index 38d53e7f3..684022a57 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/invocation_object_clone_object.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/invocation_object_clone_object.phpt @@ -13,7 +13,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -122,7 +122,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt index 28aec8542..9da863227 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class.phpt @@ -15,7 +15,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -123,7 +123,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_clone.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_clone.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt index b65b4e613..f911172c3 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_clone.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_clone.phpt @@ -11,7 +11,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -75,7 +75,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt index 0cd4dfa50..fe98973fe 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_call_parent_constructor.phpt @@ -11,7 +11,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -74,7 +74,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_clone.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_clone.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt index c977fc4ff..4cfa5072b 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_clone.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_clone.phpt @@ -11,7 +11,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -74,7 +74,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt index 0cd4dfa50..fe98973fe 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_dont_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_dont_call_parent_constructor.phpt @@ -11,7 +11,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -74,7 +74,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt index be7fcd974..4d4df3d56 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_call_parent_constructor.phpt @@ -16,7 +16,7 @@ class Foo implements IFoo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -79,7 +79,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt index be7fcd974..4d4df3d56 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt @@ -16,7 +16,7 @@ class Foo implements IFoo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -79,7 +79,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_partial.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_partial.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt index fbb059665..0602680d9 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_class_partial.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_class_partial.phpt @@ -15,7 +15,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -101,7 +101,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_interface.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_interface.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt index 123fcc828..a34e53dcd 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/namespaced_interface.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/namespaced_interface.phpt @@ -9,7 +9,7 @@ interface Foo public function bar(Foo $foo); } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, NS\Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt index 00d32aad0..2ead71e91 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class.phpt @@ -2,7 +2,7 @@ \PHPUnit\Framework\MockObject\Generator::generate('NonExistentClass', [], 'MockFoo', true, true) --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -70,7 +70,7 @@ class MockFoo extends NonExistentClass implements PHPUnit\Framework\MockObject\M return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt index c513c0cbf..69c55c407 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace.phpt @@ -2,7 +2,7 @@ \PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -76,7 +76,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace_starting_with_separator.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace_starting_with_separator.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt index a07783f32..85b35b115 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nonexistent_class_with_namespace_starting_with_separator.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nonexistent_class_with_namespace_starting_with_separator.phpt @@ -2,7 +2,7 @@ \PHPUnit\Framework\MockObject\Generator::generate('Foo', [], 'MockFoo', true, true) --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -76,7 +76,7 @@ class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nullable_types.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nullable_types.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt index 5fa41be76..90ec83b6b 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/nullable_types.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/nullable_types.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/proxy.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt similarity index 96% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/proxy.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt index 7a7687d45..45272591b 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/proxy.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/proxy.phpt @@ -13,7 +13,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -117,7 +117,7 @@ class ProxyFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_closure.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_closure.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt index c8a12a11c..2c3798728 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_closure.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_closure.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(): Closure; } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -93,7 +93,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_final.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_final.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt index bc8db3d68..c2051db8c 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_final.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_final.phpt @@ -14,7 +14,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -100,7 +100,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_generator.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_generator.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt index f09096b25..8783ff891 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_generator.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_generator.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(): Generator; } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -93,7 +93,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_nullable.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_nullable.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt index 9182fa3a7..18956eb55 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_nullable.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_nullable.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(string $baz): ?string; } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -93,7 +93,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_object_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_object_method.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt index ab6729315..255064a30 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_object_method.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_object_method.phpt @@ -10,7 +10,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -96,7 +96,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_parent.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_parent.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt index 2da4b89a1..afacf3d49 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_parent.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_parent.phpt @@ -14,7 +14,7 @@ class Bar extends Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -99,7 +99,7 @@ class MockBar extends Bar implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_self.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_self.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt index 6e6b1719a..e16a6083d 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_self.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_self.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(string $baz): self; } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -93,7 +93,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_static_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt similarity index 94% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_static_method.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt index ed3d51131..f16ef2c78 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_static_method.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_static_method.phpt @@ -10,7 +10,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -79,7 +79,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_void.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_void.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt index b00654443..0acc92aa7 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/return_type_declarations_void.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/return_type_declarations_void.phpt @@ -7,7 +7,7 @@ interface Foo public function bar(string $baz): void; } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -91,7 +91,7 @@ class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/scalar_type_declarations.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt similarity index 95% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/scalar_type_declarations.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt index 6afd86e93..9ff90acce 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/scalar_type_declarations.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/scalar_type_declarations.phpt @@ -9,7 +9,7 @@ class Foo } } -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; @@ -95,7 +95,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject return $this->__phpunit_getInvocationMocker()->hasMatchers(); } - public function __phpunit_verify($unsetInvocationMocker = true) + public function __phpunit_verify(bool $unsetInvocationMocker = true) { $this->__phpunit_getInvocationMocker()->verify(); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt similarity index 88% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt index 81ab5294b..a6c51dd58 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class.phpt @@ -6,12 +6,12 @@ if (!extension_loaded('soap')) echo 'skip: SOAP extension is required'; ?> --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; print $generator->generateClassFromWsdl( - __DIR__ . '/../../_files/GoogleSearch.wsdl', + __DIR__ . '/../../../_files/GoogleSearch.wsdl', 'GoogleSearch' ); ?> diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_namespace.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt similarity index 88% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_namespace.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt index 2a04d3d5e..216b10a99 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_namespace.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_namespace.phpt @@ -5,12 +5,12 @@ if (!extension_loaded('soap')) echo 'skip: SOAP extension is required'; --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; print $generator->generateClassFromWsdl( - __DIR__ . '/../../_files/GoogleSearch.wsdl', + __DIR__ . '/../../../_files/GoogleSearch.wsdl', 'My\\Space\\GoogleSearch' ); ?> diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_partial.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt similarity index 86% rename from vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_partial.phpt rename to vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt index bdffb2fd3..ec1ed594f 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/wsdl_class_partial.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/generator/wsdl_class_partial.phpt @@ -6,12 +6,12 @@ if (!extension_loaded('soap')) echo 'skip: SOAP extension is required'; ?> --FILE-- <?php -require __DIR__ . '/../../../vendor/autoload.php'; +require __DIR__ . '/../../../../vendor/autoload.php'; $generator = new \PHPUnit\Framework\MockObject\Generator; print $generator->generateClassFromWsdl( - __DIR__ . '/../../_files/GoogleSearch.wsdl', + __DIR__ . '/../../../_files/GoogleSearch.wsdl', 'GoogleSearch', array('doGoogleSearch') ); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt new file mode 100644 index 000000000..4195be7f3 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock method and call original method +--FILE-- +<?php +class Foo +{ + public function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + true, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + + public function bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt new file mode 100644 index 000000000..cff9ab6d0 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock method and call original method with argument +--FILE-- +<?php +class Foo +{ + private function bar($arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + true, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt new file mode 100644 index 000000000..8580ab142 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_argument_variadic.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock method and call original method with variadic argument +--FILE-- +<?php +class Foo +{ + private function bar(...$args){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + true, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(...$args) + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt new file mode 100644 index 000000000..d9512b8a4 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/call_original_with_return_type_void.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock method and call original method that has a return type of void +--FILE-- +<?php +class Foo +{ + public function bar():void{} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + true, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + + public function bar(): void + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, 'void', $this, false + ) + ); + + call_user_func_array(array($this->__phpunit_originalObject, "bar"), $__phpunit_arguments); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt new file mode 100644 index 000000000..1103c6b6f --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/clone_method_arguments.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock method and clone method arguments +--FILE-- +<?php +class Foo +{ + public function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + true +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + + public function bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, true + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt new file mode 100644 index 000000000..18463730b --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_with_description.phpt @@ -0,0 +1,50 @@ +--TEST-- +Emit deprecation notice when mocking deprecated message. +--FILE-- +<?php +class Foo +{ + /** + * @deprecated some explanation + */ + public function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function bar() + { + @trigger_error('The Foo::bar method is deprecated (some explanation).', E_USER_DEPRECATED); + + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt new file mode 100644 index 000000000..c74a04e60 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/deprecated_without_description.phpt @@ -0,0 +1,50 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + /** + * @deprecated + */ + public function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function bar() + { + @trigger_error('The Foo::bar method is deprecated ().', E_USER_DEPRECATED); + + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt new file mode 100644 index 000000000..2209943f8 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/private_method.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt new file mode 100644 index 000000000..bdaba87ea --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/protected_method.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + protected function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +protected function bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt new file mode 100644 index 000000000..6547c2b4a --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public function &bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function &bar() + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt new file mode 100644 index 000000000..fb2207d4d --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_by_reference_with_return_type.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public function &bar(): string{} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function &bar(): string + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, 'string', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt new file mode 100644 index 000000000..1dead7a20 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public function bar(): string{} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function bar(): string + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, 'string', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt new file mode 100644 index 000000000..dfa81ca94 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_parent.phpt @@ -0,0 +1,49 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Baz +{ +} + +class Foo extends Baz +{ + public function bar(): parent {} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function bar(): Baz + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, 'Baz', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt new file mode 100644 index 000000000..e10329a3a --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/return_type_self.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public function bar(): self{} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public function bar(): Foo + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, 'Foo', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt new file mode 100644 index 000000000..908907f50 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method.phpt @@ -0,0 +1,28 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public static function bar(){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public static function bar() + { + throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "bar" cannot be invoked on mock object'); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt new file mode 100644 index 000000000..164684695 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/static_method_with_return_type.phpt @@ -0,0 +1,28 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + public static function bar(): bool{} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +public static function bar(): bool + { + throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "bar" cannot be invoked on mock object'); + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt new file mode 100644 index 000000000..5e8b288c7 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar($arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt new file mode 100644 index 000000000..26e0d5697 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar($arg = false){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg = false) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt new file mode 100644 index 000000000..af406fb22 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_constant.phpt @@ -0,0 +1,47 @@ +--TEST-- +Mock static method +--FILE-- +<?php +define('FOO_CONST', 1); + +class Foo +{ + private function bar($arg = FOO_CONST){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg = FOO_CONST) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt new file mode 100644 index 000000000..905faf313 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_default_null.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar($arg = null){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg = NULL) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt new file mode 100644 index 000000000..37b42adda --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_nullable.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(?string $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(?string $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt new file mode 100644 index 000000000..d65daae36 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_reference.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(&$arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(&$arg) + { + $__phpunit_arguments = [&$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt new file mode 100644 index 000000000..6d7c136e9 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_array.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(array $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(array $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt new file mode 100644 index 000000000..d95e254d3 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_callable.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(callable $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(callable $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt new file mode 100644 index 000000000..7347bd2ba --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_class.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(\Exception $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(Exception $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt new file mode 100644 index 000000000..a6988b054 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_scalar.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(string $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(string $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt new file mode 100644 index 000000000..924cbae8c --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_self.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(self $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(Foo $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt new file mode 100644 index 000000000..dcf7af559 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_unkown_class.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(UnknownClass $arg){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(UnknownClass $arg) + { + $__phpunit_arguments = [$arg]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 1) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 1; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt new file mode 100644 index 000000000..504c29525 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_typed_variadic.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(string ...$args){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(string ...$args) + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt new file mode 100644 index 000000000..c6ed94270 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_argument_variadic.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar(...$args){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar(...$args) + { + $__phpunit_arguments = []; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 0) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 0; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt new file mode 100644 index 000000000..ff7318fd8 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/mock-objects/mock-method/with_arguments.phpt @@ -0,0 +1,45 @@ +--TEST-- +Mock static method +--FILE-- +<?php +class Foo +{ + private function bar($arg1, $arg2){} +} + +require __DIR__ . '/../../../../vendor/autoload.php'; + +$class = new ReflectionClass('Foo'); +$mockMethod = \PHPUnit\Framework\MockObject\MockMethod::fromReflection( + $class->getMethod('bar'), + false, + false +); + +$code = $mockMethod->generateCode(); + +print $code; +?> +--EXPECT-- + +private function bar($arg1, $arg2) + { + $__phpunit_arguments = [$arg1, $arg2]; + $__phpunit_count = func_num_args(); + + if ($__phpunit_count > 2) { + $__phpunit_arguments_tmp = func_get_args(); + + for ($__phpunit_i = 2; $__phpunit_i < $__phpunit_count; $__phpunit_i++) { + $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i]; + } + } + + $__phpunit_result = $this->__phpunit_getInvocationMocker()->invoke( + new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( + 'Foo', 'bar', $__phpunit_arguments, '', $this, false + ) + ); + + return $__phpunit_result; + } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337/Issue1337Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337/Issue1337Test.php index 0a90ad11f..ffb9c32aa 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337/Issue1337Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1337/Issue1337Test.php @@ -23,7 +23,7 @@ class Issue1337Test extends TestCase { return [ 'c:\\'=> [true], - 0.9 => [true] + 0.9 => [true], ]; } } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php index 6784fb9fd..a4cad5cf0 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/1351/Issue1351Test.php @@ -18,7 +18,7 @@ class Issue1351Test extends TestCase */ public function testFailurePre(): void { - $this->instance = new ChildProcessClass1351(); + $this->instance = new ChildProcessClass1351; $this->assertFalse(true, 'Expected failure.'); } @@ -33,7 +33,7 @@ class Issue1351Test extends TestCase */ public function testExceptionPre(): void { - $this->instance = new ChildProcessClass1351(); + $this->instance = new ChildProcessClass1351; try { throw new LogicException('Expected exception.'); diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt new file mode 100644 index 000000000..c6d940354 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-enforce-time-limit-options-via-config-without-invoker.phpt @@ -0,0 +1,33 @@ +--TEST-- +Test XML config enforceTimeLimit, defaultTimeLimit without php-invoker, with pcntl +--SKIPIF-- +<?php +require __DIR__ . '/../../../bootstrap.php'; + +if (\class_exists(SebastianBergmann\Invoker\Invoker::class)) { + print "Skip: package phpunit/php-invoker is installed" . PHP_EOL; +} + +if (!\extension_loaded('pcntl') || \strpos(\ini_get('disable_functions'), 'pcntl') !== false) { + print "Skip: extension pcntl is required for enforcing time limits" . PHP_EOL; +} +--DESCRIPTION-- +https://github.com/sebastianbergmann/phpunit/issues/2085 +--FILE-- +<?php +$_SERVER['argv'][1] = '-c'; +$_SERVER['argv'][2] = __DIR__ . '/2085/configuration_enforce_time_limit_options.xml'; +$_SERVER['argv'][3] = __DIR__ . '/2085/Issue2085Test.php'; + +require __DIR__ . '/../../../bootstrap.php'; +PHPUnit\TextUI\Command::main(); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. + + +Error: Package phpunit/php-invoker is required for enforcing time limits +. 1 / 1 (100%) + +Time: %s, Memory: %s + +OK (1 test, 2 assertions) diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-without-invoker.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-without-invoker.phpt new file mode 100644 index 000000000..de516a91c --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085-without-invoker.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test CLI flags --enforce-time-limit --default-time-limit without php-invoker, with pcntl +--DESCRIPTION-- +https://github.com/sebastianbergmann/phpunit/issues/2085 +--SKIPIF-- +<?php +require __DIR__ . '/../../../bootstrap.php'; + +if (\class_exists(SebastianBergmann\Invoker\Invoker::class)) { + print "Skip: package phpunit/php-invoker is installed" . PHP_EOL; +} + +if (!\extension_loaded('pcntl') || \strpos(\ini_get('disable_functions'), 'pcntl') !== false) { + print "Skip: extension pcntl is required for enforcing time limits" . PHP_EOL; +} +--FILE-- +<?php +$_SERVER['argv'][1] = '--no-configuration'; +$_SERVER['argv'][2] = '--enforce-time-limit'; +$_SERVER['argv'][3] = '--default-time-limit=10'; +$_SERVER['argv'][4] = __DIR__ . '/2085/Issue2085Test.php'; + +require __DIR__ . '/../../../bootstrap.php'; +PHPUnit\TextUI\Command::main(); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. + + +Error: Package phpunit/php-invoker is required for enforcing time limits +. 1 / 1 (100%) + +Time: %s, Memory: %s + +OK (1 test, 2 assertions) diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085.phpt new file mode 100644 index 000000000..47f2b2b85 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085.phpt @@ -0,0 +1,38 @@ +--TEST-- +Test CLI flags --enforce-time-limit --default-time-limit +--DESCRIPTION-- +https://github.com/sebastianbergmann/phpunit/issues/2085 +--SKIPIF-- +<?php +require __DIR__ . '/../../../bootstrap.php'; + +if (!\class_exists(SebastianBergmann\Invoker\Invoker::class)) { + print "Skip: package phpunit/php-invoker is required for enforcing time limits" . PHP_EOL; +} + +if (!\extension_loaded('pcntl') || \strpos(\ini_get('disable_functions'), 'pcntl') !== false) { + print "Skip: extension pcntl is required for enforcing time limits" . PHP_EOL; +} +--FILE-- +<?php +$_SERVER['argv'][1] = '--no-configuration'; +$_SERVER['argv'][2] = '--enforce-time-limit'; +$_SERVER['argv'][3] = '--default-time-limit=1'; +$_SERVER['argv'][4] = __DIR__ . '/2085/Issue2085Test.php'; + +require __DIR__ . '/../../../bootstrap.php'; +PHPUnit\TextUI\Command::main(); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. + +R 1 / 1 (100%) + +Time: %s, Memory: %s + +There was 1 risky test: + +1) Issue2085Test::testShouldAbortSlowTestByEnforcingTimeLimit +Execution aborted after 1 second + +OK, but incomplete, skipped, or risky tests! +Tests: 1, Assertions: 1, Risky: 1. diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/Issue2085Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/Issue2085Test.php new file mode 100644 index 000000000..c97efe262 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/Issue2085Test.php @@ -0,0 +1,20 @@ +<?php +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +use PHPUnit\Framework\TestCase; + +class Issue2085Test extends TestCase +{ + public function testShouldAbortSlowTestByEnforcingTimeLimit(): void + { + $this->assertTrue(true); + \sleep(1.2); + $this->assertTrue(true); + } +} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml new file mode 100644 index 000000000..609ca4a50 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2085/configuration_enforce_time_limit_options.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit enforceTimeLimit="true" defaultTimeLimit="1" /> diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php index e620af2b8..617e66f68 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2137/Issue2137Test.php @@ -25,7 +25,7 @@ class Issue2137Test extends PHPUnit\Framework\TestCase { return [ //[true, true] - new stdClass() // not valid + new stdClass, // not valid ]; } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php index 8a03d7b11..a0b5f593b 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2366/Issue2366Test.php @@ -35,7 +35,7 @@ class Issue2366Test extends TestCase return [ [$o], - [$o] + [$o], ]; } } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php index 9466691c8..9e5f6f032 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2382/Issue2382Test.php @@ -23,8 +23,8 @@ class Issue2382Test extends TestCase { return [ [ - $this->getMockBuilder(\Exception::class)->getMock() - ] + $this->getMockBuilder(\Exception::class)->getMock(), + ], ]; } } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-xdebug.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-xdebug.phpt index 0003ff256..866f10f23 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-xdebug.phpt +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/2591-separate-function-no-preserve-no-bootstrap-xdebug.phpt @@ -5,6 +5,8 @@ Expected result is to have an error, because of no classes loaded. <?php if (!extension_loaded('xdebug')) { print 'skip: xdebug not loaded'; +} elseif (version_compare(PHP_VERSION, '7.3.0-dev', '>=')) { + print 'skip: PHP < 7.3 required'; } --FILE-- <?php diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3156/Issue3156Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3156/Issue3156Test.php index ef652fdf9..b9abd5e2f 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3156/Issue3156Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3156/Issue3156Test.php @@ -19,14 +19,14 @@ class Issue3156Test extends TestCase { $this->assertStringEndsWith('/', '/'); - return new stdClass(); + return new stdClass; } public function dataSelectOperatorsProvider(): array { return [ ['1'], - ['2'] + ['2'], ]; } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt new file mode 100644 index 000000000..6808142b4 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379.phpt @@ -0,0 +1,20 @@ +--TEST-- +GH-3379: Dependent test of skipped test has status -1 +--FILE-- +<?php +$_SERVER['argv'][1] = '--configuration'; +$_SERVER['argv'][2] = __DIR__ . '/3379/'; + +require __DIR__ . '/../../../bootstrap.php'; +PHPUnit\TextUI\Command::main(); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. + +Skipped test testOne, status: 1 +SSkipped test testTwo, status: 1 +S 2 / 2 (100%) + +Time: %s, Memory: %s + +OK, but incomplete, skipped, or risky tests! +Tests: 2, Assertions: 0, Skipped: 2. diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379Test.php new file mode 100644 index 000000000..e9ba2e36d --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379Test.php @@ -0,0 +1,28 @@ +<?php declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace Test; + +use PHPUnit\Framework\TestCase; + +class Issue3379Test extends TestCase +{ + public function testOne(): void + { + $this->markTestSkipped(); + } + + /** + * @depends testOne + */ + public function testTwo(): void + { + $this->assertTrue(true); + } +} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php new file mode 100644 index 000000000..b4206deff --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/Issue3379TestListener.php @@ -0,0 +1,26 @@ +<?php declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use PHPUnit\Framework\Test; +use PHPUnit\Framework\TestCase; +use PHPUnit\Framework\TestListener; +use PHPUnit\Framework\TestListenerDefaultImplementation; + +class Issue3379TestListener implements TestListener +{ + use TestListenerDefaultImplementation; + + public function addSkippedTest(Test $test, \Throwable $t, float $time): void + { + if ($test instanceof TestCase) { + print 'Skipped test ' . $test->getName() . ', status: ' . $test->getStatus() . \PHP_EOL; + } + } +} diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml new file mode 100644 index 000000000..c5fdce9e9 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3379/phpunit.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.4/phpunit.xsd"> + <testsuites> + <testsuite name="default"> + <directory suffix="Test.php">.</directory> + </testsuite> + </testsuites> + + <listeners> + <listener class="Issue3379TestListener" file="./Issue3379TestListener.php"/> + </listeners> +</phpunit> diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt new file mode 100644 index 000000000..4a08b4f8d --- /dev/null +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/3396/issue-3396-test.phpt @@ -0,0 +1,55 @@ +--TEST-- +https://github.com/sebastianbergmann/phpunit/issues/3396 +--FILE-- +<?php +$tmpResultCache = tempnam(sys_get_temp_dir(), __FILE__); +file_put_contents($tmpResultCache, file_get_contents(__DIR__ . '/../../../../_files/DataproviderExecutionOrderTest_result_cache.txt')); + +$_SERVER['argv'][1] = '--no-configuration'; +$_SERVER['argv'][2] = '--order-by=defects'; +$_SERVER['argv'][3] = '--debug'; +$_SERVER['argv'][4] = '--cache-result'; +$_SERVER['argv'][5] = '--cache-result-file=' . $tmpResultCache; +$_SERVER['argv'][6] = \dirname(\dirname(\dirname(__DIR__))) . '/../_files/DataproviderExecutionOrderTest.php'; + +require __DIR__ . '/../../../../bootstrap.php'; +PHPUnit\TextUI\Command::main(); + +unlink($tmpResultCache); +--EXPECTF-- +PHPUnit %s by Sebastian Bergmann and contributors. + +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3" (1, 1, 3)' started +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3" (1, 1, 3)' ended +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3" (1, 2, 3)' started +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+2=3" (1, 2, 3)' ended +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3" (2, 1, 3)' started +Test 'DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "2+1=3" (2, 1, 3)' ended +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3" (1, 1, 3)' started +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3" (1, 1, 3)' ended +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3" (1, 2, 3)' started +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+2=3" (1, 2, 3)' ended +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3" (2, 1, 3)' started +Test 'DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "2+1=3" (2, 1, 3)' ended +Test 'DataproviderExecutionOrderTest::testFirstTestThatAlwaysWorks' started +Test 'DataproviderExecutionOrderTest::testFirstTestThatAlwaysWorks' ended +Test 'DataproviderExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks' started +Test 'DataproviderExecutionOrderTest::testTestInTheMiddleThatAlwaysWorks' ended + + +Time: %s, Memory: %s + +There were 2 failures: + +1) DataproviderExecutionOrderTest::testAddNumbersWithADataprovider with data set "1+1=3" (1, 1, 3) +Failed asserting that 2 is identical to 3. + +%s%etests%e_files%eDataproviderExecutionOrderTest.php:%d + +2) DataproviderExecutionOrderTest::testAddMoreNumbersWithADataprovider with data set "1+1=3" (1, 1, 3) +Failed asserting that 2 is identical to 3. + +%s%etests%e_files%eDataproviderExecutionOrderTest.php:%d + +FAILURES! +Tests: 8, Assertions: 8, Failures: 2. diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php index 0f8a9df23..e6e41945e 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/GitHub/498/Issue498Test.php @@ -37,7 +37,7 @@ class Issue498Test extends TestCase //throw new Exception("Can't create the data"); return [ [true], - [false] + [false], ]; } @@ -47,7 +47,7 @@ class Issue498Test extends TestCase return [ [true], - [false] + [false], ]; } } diff --git a/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php b/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php index a274f6a4e..dec9256e6 100644 --- a/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php +++ b/vendor/phpunit/phpunit/tests/end-to-end/regression/Trac/523/Issue523Test.php @@ -13,7 +13,7 @@ class Issue523Test extends TestCase { public function testAttributeEquals(): void { - $this->assertAttributeEquals('foo', 'field', new Issue523()); + $this->assertAttributeEquals('foo', 'field', new Issue523); } } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php index f881c36ac..1b33c16cd 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/AssertTest.php @@ -13,10 +13,7 @@ use PHPUnit\Util\Xml; class AssertTest extends TestCase { - /** - * @return array<string, string[]> - */ - public static function validInvalidJsonDataprovider() + public static function validInvalidJsonDataprovider(): array { return [ 'error syntax in expected JSON' => ['{"Mascott"::}', '{"Mascott" : "Tux"}'], @@ -84,7 +81,7 @@ class AssertTest extends TestCase $test = [new \Book, new \Book]; $this->assertContainsOnlyInstancesOf(\Book::class, $test); - $this->assertContainsOnlyInstancesOf(\stdClass::class, [new \stdClass()]); + $this->assertContainsOnlyInstancesOf(\stdClass::class, [new \stdClass]); $test2 = [new \Author('Test')]; @@ -116,6 +113,20 @@ class AssertTest extends TestCase $this->assertContains('', 'test'); } + public function testAssertStringContainsNonString(): void + { + $this->expectException(Exception::class); + + $this->assertContains(null, ''); + } + + public function testAssertStringNotContainsNonString(): void + { + $this->expectException(Exception::class); + + $this->assertNotContains(null, ''); + } + public function testAssertArrayHasKeyThrowsExceptionForInvalidFirstArgument(): void { $this->expectException(Exception::class); @@ -145,7 +156,7 @@ class AssertTest extends TestCase 'a' => 'item a', 'b' => 'item b', 'c' => ['a2' => 'item a2', 'b2' => 'item b2'], - 'd' => ['a2' => ['a3' => 'item a3', 'b3' => 'item b3']] + 'd' => ['a2' => ['a3' => 'item a3', 'b3' => 'item b3']], ]; $this->assertArraySubset(['a' => 'item a', 'c' => ['a2' => 'item a2']], $array); @@ -176,10 +187,10 @@ class AssertTest extends TestCase 'path' => [ 'to' => [ 'the' => [ - 'cake' => 'is a lie' - ] - ] - ] + 'cake' => 'is a lie', + ], + ], + ], ]; $this->assertArraySubset(['path' => []], $array); @@ -229,10 +240,7 @@ class AssertTest extends TestCase $this->assertArraySubset($partial, $subject); } - /** - * @return array - */ - public function assertArraySubsetInvalidArgumentProvider() + public function assertArraySubsetInvalidArgumentProvider(): array { return [ [false, []], @@ -502,7 +510,7 @@ class AssertTest extends TestCase $this->assertNotContainsOnly('StdClass', [new \stdClass]); } - public function equalProvider() + public function equalProvider(): array { // same |= equal return \array_merge($this->equalValues(), $this->sameValues()); @@ -513,12 +521,12 @@ class AssertTest extends TestCase return $this->notEqualValues(); } - public function sameProvider() + public function sameProvider(): array { return $this->sameValues(); } - public function notSameProvider() + public function notSameProvider(): array { // not equal |= not same // equal, ¬same |= not same @@ -850,6 +858,8 @@ XML; public function testAssertNotIsReadable(): void { + $this->assertNotIsReadable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); + $this->expectException(AssertionFailedError::class); $this->assertNotIsReadable(__FILE__); @@ -866,6 +876,8 @@ XML; public function testAssertNotIsWritable(): void { + $this->assertNotIsWritable(__DIR__ . \DIRECTORY_SEPARATOR . 'NotExisting'); + $this->expectException(AssertionFailedError::class); $this->assertNotIsWritable(__FILE__); @@ -1588,6 +1600,13 @@ XML; $this->assertClassHasAttribute('1', \ClassWithNonPublicAttributes::class); } + public function testAssertClassHasAttributeThrowsExceptionIfClassDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertClassHasAttribute('attribute', 'ClassThatDoesNotExist'); + } + public function testAssertClassNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid(): void { $this->expectException(Exception::class); @@ -1595,6 +1614,13 @@ XML; $this->assertClassNotHasAttribute('1', \ClassWithNonPublicAttributes::class); } + public function testAssertClassNotHasAttributeThrowsExceptionIfClassDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertClassNotHasAttribute('attribute', 'ClassThatDoesNotExist'); + } + public function testAssertClassHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid(): void { $this->expectException(Exception::class); @@ -1602,6 +1628,13 @@ XML; $this->assertClassHasStaticAttribute('1', \ClassWithNonPublicAttributes::class); } + public function testAssertClassHasStaticAttributeThrowsExceptionIfClassDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertClassHasStaticAttribute('attribute', 'ClassThatDoesNotExist'); + } + public function testAssertClassNotHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid(): void { $this->expectException(Exception::class); @@ -1609,6 +1642,13 @@ XML; $this->assertClassNotHasStaticAttribute('1', \ClassWithNonPublicAttributes::class); } + public function testAssertClassNotHasStaticAttributeThrowsExceptionIfClassDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertClassNotHasStaticAttribute('attribute', 'ClassThatDoesNotExist'); + } + public function testAssertObjectHasAttributeThrowsException2(): void { $this->expectException(Exception::class); @@ -2403,6 +2443,13 @@ XML; $this->assertJsonFileEqualsJsonFile($file, $file, $message); } + public function testAssertInstanceOfThrowsExceptionIfTypeDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertInstanceOf('ClassThatDoesNotExist', new \stdClass); + } + public function testAssertInstanceOf(): void { $this->assertInstanceOf(\stdClass::class, new \stdClass); @@ -2420,6 +2467,13 @@ XML; $this->assertAttributeInstanceOf(\stdClass::class, 'a', $o); } + public function testAssertNotInstanceOfThrowsExceptionIfTypeDoesNotExist(): void + { + $this->expectException(Exception::class); + + $this->assertNotInstanceOf('ClassThatDoesNotExist', new \stdClass); + } + public function testAssertNotInstanceOf(): void { $this->assertNotInstanceOf(\Exception::class, new \stdClass); @@ -2512,7 +2566,70 @@ XML; $this->assertStringNotMatchesFormatFile(TEST_FILES_PATH . 'expectedFileFormat.txt', "FOO\n"); } - protected function sameValues() + public function testLogicalAnd(): void + { + $this->assertThat( + true, + $this->logicalAnd( + $this->isTrue(), + $this->isTrue() + ) + ); + + $this->expectException(AssertionFailedError::class); + + $this->assertThat( + true, + $this->logicalAnd( + $this->isTrue(), + $this->isFalse() + ) + ); + } + + public function testLogicalOr(): void + { + $this->assertThat( + true, + $this->logicalOr( + $this->isTrue(), + $this->isFalse() + ) + ); + + $this->expectException(AssertionFailedError::class); + + $this->assertThat( + true, + $this->logicalOr( + $this->isFalse(), + $this->isFalse() + ) + ); + } + + public function testLogicalXor(): void + { + $this->assertThat( + true, + $this->logicalXor( + $this->isTrue(), + $this->isFalse() + ) + ); + + $this->expectException(AssertionFailedError::class); + + $this->assertThat( + true, + $this->logicalXor( + $this->isTrue(), + $this->isTrue() + ) + ); + } + + protected function sameValues(): array { $object = new \SampleClass(4, 8, 15); $file = TEST_FILES_PATH . 'foo.xml'; @@ -2541,7 +2658,7 @@ XML; ]; } - protected function notEqualValues() + protected function notEqualValues(): array { // cyclic dependencies $book1 = new \Book; @@ -2627,12 +2744,12 @@ XML; [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 03:13:35', new \DateTimeZone('America/New_York')), - 3500 + 3500, ], [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 05:13:35', new \DateTimeZone('America/New_York')), - 3500 + 3500, ], [ new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), @@ -2641,7 +2758,7 @@ XML; [ new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), - 43200 + 43200, ], [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), @@ -2650,7 +2767,7 @@ XML; [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/Chicago')), - 3500 + 3500, ], [ new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), @@ -2678,11 +2795,11 @@ XML; [0, 'Foobar'], ['Foobar', 0], [3, \acos(8)], - [\acos(8), 3] + [\acos(8), 3], ]; } - protected function equalValues() + protected function equalValues(): array { // cyclic dependencies $book1 = new \Book; @@ -2743,12 +2860,12 @@ XML; [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 04:13:25', new \DateTimeZone('America/New_York')), - 10 + 10, ], [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 04:14:40', new \DateTimeZone('America/New_York')), - 65 + 65, ], [ new \DateTime('2013-03-29', new \DateTimeZone('America/New_York')), @@ -2761,7 +2878,7 @@ XML; [ new \DateTime('2013-03-29 04:13:35', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 03:13:49', new \DateTimeZone('America/Chicago')), - 15 + 15, ], [ new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), @@ -2770,7 +2887,7 @@ XML; [ new \DateTime('2013-03-30', new \DateTimeZone('America/New_York')), new \DateTime('2013-03-29 23:01:30', new \DateTimeZone('America/Chicago')), - 100 + 100, ], [ new \DateTime('@1364616000'), diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php index 0b6fa096a..1ca004049 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/ArraySubsetTest.php @@ -13,32 +13,32 @@ use PHPUnit\Framework\ExpectationFailedException; class ArraySubsetTest extends ConstraintTestCase { - public static function evaluateDataProvider() + public static function evaluateDataProvider(): array { return [ 'loose array subset and array other' => [ 'expected' => true, 'subset' => ['bar' => 0], 'other' => ['foo' => '', 'bar' => '0'], - 'strict' => false + 'strict' => false, ], 'strict array subset and array other' => [ 'expected' => false, 'subset' => ['bar' => 0], 'other' => ['foo' => '', 'bar' => '0'], - 'strict' => true + 'strict' => true, ], 'loose array subset and ArrayObject other' => [ 'expected' => true, 'subset' => ['bar' => 0], 'other' => new \ArrayObject(['foo' => '', 'bar' => '0']), - 'strict' => false + 'strict' => false, ], 'strict ArrayObject subset and array other' => [ 'expected' => true, 'subset' => new \ArrayObject(['bar' => 0]), 'other' => ['foo' => '', 'bar' => 0], - 'strict' => true + 'strict' => true, ], ]; } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php index 98eae50f5..256aa85a9 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/DirectoryExistsTest.php @@ -16,7 +16,7 @@ class DirectoryExistsTest extends ConstraintTestCase { public function testDefaults(): void { - $constraint = new DirectoryExists(); + $constraint = new DirectoryExists; $this->assertCount(1, $constraint); $this->assertSame('directory exists', $constraint->toString()); @@ -26,7 +26,7 @@ class DirectoryExistsTest extends ConstraintTestCase { $directory = __DIR__ . '/NonExistentDirectory'; - $constraint = new DirectoryExists(); + $constraint = new DirectoryExists; $this->assertFalse($constraint->evaluate($directory, '', true)); } @@ -35,7 +35,7 @@ class DirectoryExistsTest extends ConstraintTestCase { $directory = __DIR__; - $constraint = new DirectoryExists(); + $constraint = new DirectoryExists; $this->assertTrue($constraint->evaluate($directory, '', true)); } @@ -44,7 +44,7 @@ class DirectoryExistsTest extends ConstraintTestCase { $directory = __DIR__ . '/NonExistentDirectory'; - $constraint = new DirectoryExists(); + $constraint = new DirectoryExists; try { $constraint->evaluate($directory); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php index 7c6911d87..dee7435e7 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/FileExistsTest.php @@ -16,7 +16,7 @@ class FileExistsTest extends ConstraintTestCase { public function testConstraintFileExists(): void { - $constraint = new FileExists(); + $constraint = new FileExists; $this->assertFalse($constraint->evaluate('foo', '', true)); $this->assertEquals('file exists', $constraint->toString()); @@ -42,7 +42,7 @@ EOF public function testConstraintFileExists2(): void { - $constraint = new FileExists(); + $constraint = new FileExists; try { $constraint->evaluate('foo', 'custom message'); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php index d5a03d416..a0db50807 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEmptyTest.php @@ -16,7 +16,7 @@ class IsEmptyTest extends ConstraintTestCase { public function testConstraintIsEmpty(): void { - $constraint = new IsEmpty(); + $constraint = new IsEmpty; $this->assertFalse($constraint->evaluate(['foo'], '', true)); $this->assertTrue($constraint->evaluate([], '', true)); @@ -45,7 +45,7 @@ EOF public function testConstraintIsEmpty2(): void { - $constraint = new IsEmpty(); + $constraint = new IsEmpty; try { $constraint->evaluate(['foo'], 'custom message'); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php index 65987787d..642124a84 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsEqualTest.php @@ -62,7 +62,7 @@ EOF $this->fail(); } - public function isEqualProvider() + public function isEqualProvider(): array { $a = new \stdClass; $a->foo = 'bar'; diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php index b7e31ba0f..f4f27f771 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsIdenticalTest.php @@ -153,7 +153,7 @@ EOF 'C' => [ 'C', 'E', - 'F' + 'F', ], ], ]; diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsJsonTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsJsonTest.php index 49f7811cf..e9e2d1a7f 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsJsonTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsJsonTest.php @@ -11,7 +11,7 @@ namespace PHPUnit\Framework\Constraint; class IsJsonTest extends ConstraintTestCase { - public static function evaluateDataprovider() + public static function evaluateDataprovider(): array { return [ 'valid JSON' => [true, '{}'], diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php index cc5e01a4e..70a642aa6 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsNullTest.php @@ -16,7 +16,7 @@ class IsNullTest extends ConstraintTestCase { public function testConstraintIsNull(): void { - $constraint = new IsNull(); + $constraint = new IsNull; $this->assertFalse($constraint->evaluate(0, '', true)); $this->assertTrue($constraint->evaluate(null, '', true)); @@ -43,7 +43,7 @@ EOF public function testConstraintIsNull2(): void { - $constraint = new IsNull(); + $constraint = new IsNull; try { $constraint->evaluate(0, 'custom message'); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php index 30c5593e6..da9d80b89 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsReadableTest.php @@ -16,7 +16,7 @@ class IsReadableTest extends ConstraintTestCase { public function testConstraintIsReadable(): void { - $constraint = new IsReadable(); + $constraint = new IsReadable; $this->assertFalse($constraint->evaluate('foo', '', true)); $this->assertEquals('is readable', $constraint->toString()); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php index e2e2476ac..806a363f7 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/IsWritableTest.php @@ -16,7 +16,7 @@ class IsWritableTest extends ConstraintTestCase { public function testConstraintIsWritable(): void { - $constraint = new IsWritable(); + $constraint = new IsWritable; $this->assertFalse($constraint->evaluate('foo', '', true)); $this->assertEquals('is writable', $constraint->toString()); diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php index b1bac85f5..48a76d496 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesErrorMessageProviderTest.php @@ -13,39 +13,39 @@ use PHPUnit\Framework\TestCase; class JsonMatchesErrorMessageProviderTest extends TestCase { - public static function determineJsonErrorDataprovider() + public static function determineJsonErrorDataprovider(): array { return [ 'JSON_ERROR_NONE' => [ - null, 'json_error_none', '' + null, 'json_error_none', '', ], 'JSON_ERROR_DEPTH' => [ - 'Maximum stack depth exceeded', \JSON_ERROR_DEPTH, '' + 'Maximum stack depth exceeded', \JSON_ERROR_DEPTH, '', ], 'prefixed JSON_ERROR_DEPTH' => [ - 'TUX: Maximum stack depth exceeded', \JSON_ERROR_DEPTH, 'TUX: ' + 'TUX: Maximum stack depth exceeded', \JSON_ERROR_DEPTH, 'TUX: ', ], 'JSON_ERROR_STATE_MISMatch' => [ - 'Underflow or the modes mismatch', \JSON_ERROR_STATE_MISMATCH, '' + 'Underflow or the modes mismatch', \JSON_ERROR_STATE_MISMATCH, '', ], 'JSON_ERROR_CTRL_CHAR' => [ - 'Unexpected control character found', \JSON_ERROR_CTRL_CHAR, '' + 'Unexpected control character found', \JSON_ERROR_CTRL_CHAR, '', ], 'JSON_ERROR_SYNTAX' => [ - 'Syntax error, malformed JSON', \JSON_ERROR_SYNTAX, '' + 'Syntax error, malformed JSON', \JSON_ERROR_SYNTAX, '', ], 'JSON_ERROR_UTF8`' => [ 'Malformed UTF-8 characters, possibly incorrectly encoded', \JSON_ERROR_UTF8, - '' + '', ], 'Invalid error indicator' => [ - 'Unknown error', 55, '' + 'Unknown error', 55, '', ], ]; } - public static function translateTypeToPrefixDataprovider() + public static function translateTypeToPrefixDataprovider(): array { return [ 'expected' => ['Expected value JSON decode error - ', 'expected'], diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php index f48c109da..680215d7b 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/JsonMatchesTest.php @@ -14,7 +14,7 @@ use PHPUnit\Util\Json; class JsonMatchesTest extends ConstraintTestCase { - public static function evaluateDataprovider() + public static function evaluateDataprovider(): array { return [ 'valid JSON' => [true, \json_encode(['Mascott' => 'Tux']), \json_encode(['Mascott' => 'Tux'])], @@ -31,11 +31,11 @@ class JsonMatchesTest extends ConstraintTestCase 'single boolean valid json' => [true, 'true', 'true'], 'single number valid json' => [true, '5.3', '5.3'], 'single null valid json' => [true, 'null', 'null'], - 'objects are not arrays' => [false, '{}', '[]'] + 'objects are not arrays' => [false, '{}', '[]'], ]; } - public static function evaluateThrowsExpectationFailedExceptionWhenJsonIsValidButDoesNotMatchDataprovider() + public static function evaluateThrowsExpectationFailedExceptionWhenJsonIsValidButDoesNotMatchDataprovider(): array { return [ 'error UTF-8' => [\json_encode('\xB1\x31'), \json_encode(['Mascott' => 'Tux'])], @@ -43,7 +43,7 @@ class JsonMatchesTest extends ConstraintTestCase 'string type not equals boolean' => ['{"age": "true"}', '{"age": true}'], 'string type not equals null' => ['{"age": "null"}', '{"age": null}'], 'null field different from missing field' => ['{"present": true, "missing": null}', '{"present": true}'], - 'array elements are ordered' => ['["first", "second"]', '["second", "first"]'] + 'array elements are ordered' => ['["first", "second"]', '["second", "first"]'], ]; } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php index 6f94da374..87d8db5b4 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalAndTest.php @@ -18,12 +18,12 @@ final class LogicalAndTest extends ConstraintTestCase public function testSetConstraintsRejectsInvalidConstraint(): void { $constraints = [ - new \TruthyConstraint(), - new \FalsyConstraint(), - new \stdClass(), + new \TruthyConstraint, + new \FalsyConstraint, + new \stdClass, ]; - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $this->expectException(Exception::class); $this->expectExceptionMessage(\sprintf( @@ -46,7 +46,7 @@ final class LogicalAndTest extends ConstraintTestCase return \CountConstraint::fromCount($count); }, $counts); - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -67,7 +67,7 @@ final class LogicalAndTest extends ConstraintTestCase return \NamedConstraint::fromName($name); }, $names); - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -83,7 +83,7 @@ final class LogicalAndTest extends ConstraintTestCase */ public function testEvaluateReturnsFalseIfAnyOfTheComposedConstraintsEvaluateToFalse(array $constraints): void { - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -97,7 +97,7 @@ final class LogicalAndTest extends ConstraintTestCase */ public function testEvaluateReturnsTrueIfAllOfTheComposedConstraintsEvaluateToTrue(array $constraints): void { - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -113,7 +113,7 @@ final class LogicalAndTest extends ConstraintTestCase { $other = 'whatever'; - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -145,7 +145,7 @@ EOF; $other = 'whatever'; $customDescription = 'Not very happy about the results at this point in time, I have to admit!'; - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -178,7 +178,7 @@ EOF; */ public function testEvaluateReturnsNothingIfAllOfTheComposedConstraintsEvaluateToTrue(array $constraints): void { - $constraint = new LogicalAnd(); + $constraint = new LogicalAnd; $constraint->setConstraints($constraints); @@ -189,12 +189,12 @@ EOF; { $values = [ 'single' => [ - new \FalsyConstraint(), + new \FalsyConstraint, ], 'multiple' => [ - new \TruthyConstraint(), - new \FalsyConstraint(), - new \TruthyConstraint(), + new \TruthyConstraint, + new \FalsyConstraint, + new \TruthyConstraint, ], ]; @@ -209,12 +209,12 @@ EOF; { $values = [ 'single' => [ - new \TruthyConstraint(), + new \TruthyConstraint, ], 'multiple' => [ - new \TruthyConstraint(), - new \TruthyConstraint(), - new \TruthyConstraint(), + new \TruthyConstraint, + new \TruthyConstraint, + new \TruthyConstraint, ], ]; diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php index db9437caf..f9a5318be 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/Constraint/LogicalOrTest.php @@ -17,14 +17,14 @@ final class LogicalOrTest extends ConstraintTestCase public function testSetConstraintsDecoratesNonConstraintWithIsEqual(): void { $constraints = [ - new \stdClass(), + new \stdClass, ]; - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); - $this->assertTrue($constraint->evaluate(new \stdClass(), '', true)); + $this->assertTrue($constraint->evaluate(new \stdClass, '', true)); } public function testCountReturnsCountOfComposedConstraints(): void @@ -39,7 +39,7 @@ final class LogicalOrTest extends ConstraintTestCase return \CountConstraint::fromCount($count); }, $counts); - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -60,7 +60,7 @@ final class LogicalOrTest extends ConstraintTestCase return \NamedConstraint::fromName($name); }, $names); - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -76,7 +76,7 @@ final class LogicalOrTest extends ConstraintTestCase */ public function testEvaluateReturnsFalseIfAllOfTheComposedConstraintsEvaluateToFalse(array $constraints): void { - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -90,7 +90,7 @@ final class LogicalOrTest extends ConstraintTestCase */ public function testEvaluateReturnsTrueIfAnyOfTheComposedConstraintsEvaluateToTrue(array $constraints): void { - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -106,7 +106,7 @@ final class LogicalOrTest extends ConstraintTestCase { $other = 'whatever'; - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -138,7 +138,7 @@ EOF; $other = 'whatever'; $customDescription = 'Not very happy about the results at this point in time, I have to admit!'; - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -171,7 +171,7 @@ EOF; */ public function testEvaluateReturnsNothingIfAnyOfTheComposedConstraintsEvaluateToTrue(array $constraints): void { - $constraint = new LogicalOr(); + $constraint = new LogicalOr; $constraint->setConstraints($constraints); @@ -182,14 +182,14 @@ EOF; { $values = [ 'single' => [ - new \FalsyConstraint(), - new \FalsyConstraint(), - new \FalsyConstraint(), + new \FalsyConstraint, + new \FalsyConstraint, + new \FalsyConstraint, ], 'multiple' => [ - new \FalsyConstraint(), - new \FalsyConstraint(), - new \FalsyConstraint(), + new \FalsyConstraint, + new \FalsyConstraint, + new \FalsyConstraint, ], ]; @@ -204,12 +204,12 @@ EOF; { $values = [ 'single' => [ - new \TruthyConstraint(), + new \TruthyConstraint, ], 'multiple' => [ - new \FalsyConstraint(), - new \TruthyConstraint(), - new \FalsyConstraint(), + new \FalsyConstraint, + new \TruthyConstraint, + new \FalsyConstraint, ], ]; diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php index 1a11e777d..4057fe000 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Builder/InvocationMockerTest.php @@ -8,6 +8,7 @@ * file that was distributed with this source code. */ +use PHPUnit\Framework\MockObject\Stub\MatcherCollection; use PHPUnit\Framework\TestCase; class InvocationMockerTest extends TestCase @@ -71,4 +72,18 @@ class InvocationMockerTest extends TestCase $value = 'bar'; $this->assertSame('bar', $mock->foo()); } + + public function testWillFailWhenTryingToPerformExpectationUnconfigurableMethod(): void + { + /** @var MatcherCollection|\PHPUnit\Framework\MockObject\MockObject $matcherCollection */ + $matcherCollection = $this->createMock(MatcherCollection::class); + $invocationMocker = new \PHPUnit\Framework\MockObject\Builder\InvocationMocker( + $matcherCollection, + $this->any(), + [] + ); + + $this->expectException(RuntimeException::class); + $invocationMocker->method('someMethod'); + } } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php index ae11b53f8..bc39b8d10 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/GeneratorTest.php @@ -126,7 +126,7 @@ class GeneratorTest extends TestCase $this->generator->getMockForAbstractClass('Tux'); } - public function getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider() + public function getMockForAbstractClassExpectsInvalidArgumentExceptionDataprovider(): array { return [ 'className not a string' => [[], ''], @@ -210,4 +210,36 @@ class GeneratorTest extends TestCase $this->assertInstanceOf(Exception::class, $stub); $this->assertInstanceOf(MockObject::class, $stub); } + + public function testVariadicArgumentsArePassedToOriginalMethod() + { + /** @var ClassWithVariadicArgumentMethod|MockObject $mock */ + $mock = $this->generator->getMock( + ClassWithVariadicArgumentMethod::class, + [], + [], + '', + true, + false, + true, + false, + true + ); + + $arguments = [1, 'foo', false]; + $this->assertSame($arguments, $mock->foo(...$arguments)); + } + + public function testVariadicArgumentsArePassedToMockedMethod() + { + /** @var ClassWithVariadicArgumentMethod|MockObject $mock */ + $mock = $this->createMock(ClassWithVariadicArgumentMethod::class); + + $arguments = [1, 'foo', false]; + $mock->expects($this->once()) + ->method('foo') + ->with(...$arguments); + + $mock->foo(...$arguments); + } } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php index 4d0cfa946..f604e903a 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/ObjectInvocationTest.php @@ -71,7 +71,7 @@ class ObjectInvocationTest extends TestCase public function testAllowToGetMethodParametersSetInConstructor(): void { $expectedParameters = [ - 'foo', 5, ['a', 'b'], new stdClass, null, false + 'foo', 5, ['a', 'b'], new stdClass, null, false, ]; $invocation = new ObjectInvocation( diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php index 2b98c6c07..c88441886 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/Invocation/StaticInvocationTest.php @@ -53,7 +53,7 @@ class StaticInvocationTest extends TestCase public function testAllowToGetMethodParametersSetInConstructor(): void { $expectedParameters = [ - 'foo', 5, ['a', 'b'], new stdClass, null, false + 'foo', 5, ['a', 'b'], new stdClass, null, false, ]; $invocation = new StaticInvocation( diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php new file mode 100644 index 000000000..f9e74ff17 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockMethodTest.php @@ -0,0 +1,55 @@ +<?php +declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\Framework\MockObject; + +use PHPUnit\Framework\TestCase; + +class MockMethodTest extends TestCase +{ + public function testGetNameReturnsMethodName() + { + $method = new MockMethod( + 'ClassName', + 'methodName', + false, + '', + '', + '', + '', + '', + false, + false, + null, + false + ); + $this->assertEquals('methodName', $method->getName()); + } + + public function testFailWhenReturnTypeIsParentButThereIsNoParentClass() + { + $method = new MockMethod( + \stdClass::class, + 'methodName', + false, + '', + '', + '', + 'parent', + '', + false, + false, + null, + false + ); + $this->expectException(\RuntimeException::class); + $method->generateCode(); + } +} diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php index 1b0428252..7a0049f8f 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MockObjectTest.php @@ -171,7 +171,7 @@ class MockObjectTest extends TestCase $mock->expects($this->any()) ->method('doSomething') - ->will($this->throwException(new \Exception())); + ->will($this->throwException(new \Exception)); $this->expectException(\Exception::class); @@ -185,7 +185,7 @@ class MockObjectTest extends TestCase $mock->expects($this->any()) ->method('doSomething') - ->willThrowException(new \Exception()); + ->willThrowException(new \Exception); $this->expectException(\Exception::class); @@ -217,7 +217,7 @@ class MockObjectTest extends TestCase { $map = [ ['a', 'b', 'c', 'd'], - ['e', 'f', 'g', 'h'] + ['e', 'f', 'g', 'h'], ]; $mock = $this->getMockBuilder(AnInterface::class) @@ -435,7 +435,6 @@ class MockObjectTest extends TestCase public function testGetMockWithFixedClassNameCanProduceTheSameMockTwice(): void { - $mock = $this->getMockBuilder(stdClass::class)->setMockClassName('FixedName')->getMock(); $mock = $this->getMockBuilder(stdClass::class)->setMockClassName('FixedName')->getMock(); $this->assertInstanceOf(stdClass::class, $mock); } @@ -661,7 +660,7 @@ class MockObjectTest extends TestCase $this->fail('Expected exception'); } catch (ExpectationFailedException $e) { $this->assertSame( - 'Expectation failed for method name is equal to "right" when invoked 1 time(s).' . "\n" . + "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . 'Method was expected to be called 1 times, actually called 0 times.' . "\n", $e->getMessage() ); @@ -686,7 +685,7 @@ class MockObjectTest extends TestCase $this->fail('Expected exception'); } catch (ExpectationFailedException $e) { $this->assertSame( - 'Expectation failed for method name is equal to "right" when invoked 1 time(s).' . "\n" . + "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . 'Method was expected to be called 1 times, actually called 0 times.' . "\n", $e->getMessage() ); @@ -709,7 +708,7 @@ class MockObjectTest extends TestCase $mock->right(['second']); } catch (ExpectationFailedException $e) { $this->assertSame( - 'Expectation failed for method name is equal to "right" when invoked 1 time(s)' . "\n" . + "Expectation failed for method name is equal to 'right' when invoked 1 time(s)\n" . 'Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.' . "\n" . 'Failed asserting that two arrays are equal.', $e->getMessage() @@ -723,7 +722,7 @@ class MockObjectTest extends TestCase // $this->fail('Expected exception'); } catch (ExpectationFailedException $e) { $this->assertSame( - 'Expectation failed for method name is equal to "right" when invoked 1 time(s).' . "\n" . + "Expectation failed for method name is equal to 'right' when invoked 1 time(s).\n" . 'Parameter 0 for invocation SomeClass::right(Array (...)) does not match expected value.' . "\n" . 'Failed asserting that two arrays are equal.' . "\n" . '--- Expected' . "\n" . @@ -802,7 +801,7 @@ class MockObjectTest extends TestCase $this->fail('Expected exception'); } catch (ExpectationFailedException $e) { $this->assertSame( - 'Expectation failed for method name is equal to "right" when invoked 1 time(s)' . "\n" . + "Expectation failed for method name is equal to 'right' when invoked 1 time(s)\n" . 'Parameter count for invocation SomeClass::right() is too low.' . "\n" . 'To allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.', $e->getMessage() @@ -946,9 +945,9 @@ class MockObjectTest extends TestCase * @ticket 2573 * @requires extension soap */ - public function testCreateMockOfWsdlFileWithSpecialChars() + public function testCreateMockOfWsdlFileWithSpecialChars(): void { - $mock = $this->getMockFromWsdl(__DIR__ . '/_fixture/Go ogle-Sea.rch.wsdl'); + $mock = $this->getMockFromWsdl(TEST_FILES_PATH . 'Go ogle-Sea.rch.wsdl'); $this->assertStringStartsWith('Mock_GoogleSearch_', \get_class($mock)); } @@ -1014,7 +1013,7 @@ class MockObjectTest extends TestCase $this->assertSame('foo', (string) $mock); } - public function traversableProvider() + public function traversableProvider(): array { return [ ['Traversable'], @@ -1022,7 +1021,7 @@ class MockObjectTest extends TestCase ['TraversableMockTestInterface'], [['Traversable']], [['Iterator', 'Traversable']], - [['\Iterator', '\Traversable']] + [['\Iterator', '\Traversable']], ]; } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php index 5c3b24efa..304d96ad1 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/TestCaseTest.php @@ -710,7 +710,7 @@ class TestCaseTest extends TestCase $mock = $this->createConfiguredMock( \Mockable::class, [ - 'mockableMethod' => false + 'mockableMethod' => false, ] ); @@ -745,7 +745,7 @@ class TestCaseTest extends TestCase public function testGettingNullTestResultObject(): void { - $test = new \Success(); + $test = new \Success; $this->assertNull($test->getTestResultObject()); } @@ -759,8 +759,8 @@ class TestCaseTest extends TestCase return [ 'RECURSION' => [ - 'data' => $recursionData - ] + 'data' => $recursionData, + ], ]; } } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php index 5654a1a23..57a32a541 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/TestFailureTest.php @@ -9,6 +9,9 @@ */ namespace PHPUnit\Framework; +use PHPUnit\Framework\Error\Error; +use SebastianBergmann\Comparator\ComparisonFailure; + class TestFailureTest extends TestCase { public function testToString(): void @@ -29,6 +32,15 @@ class TestFailureTest extends TestCase $this->assertEquals(__METHOD__ . ': message', $failure->toString()); } + public function testToStringForNonSelfDescribing(): void + { + $test = new \NotSelfDescribingTest(); + $exception = new Exception('message'); + $failure = new TestFailure($test, $exception); + + $this->assertEquals('NotSelfDescribingTest: message', $failure->toString()); + } + public function testgetExceptionAsString(): void { $test = new self(__FUNCTION__); @@ -37,4 +49,93 @@ class TestFailureTest extends TestCase $this->assertEquals("Error: message\n", $failure->getExceptionAsString()); } + + public function testExceptionToString(): void + { + $exception = new AssertionFailedError('message'); + + $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); + } + + public function testExceptionToStringForExpectationFailedException(): void + { + $exception = new ExpectationFailedException('message'); + + $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); + } + + public function testExceptionToStringForExpectationFailedExceptionWithComparisonFailure(): void + { + $exception = new ExpectationFailedException('message', new ComparisonFailure('expected', 'actual', 'expected', 'actual')); + + $this->assertEquals("message\n--- Expected\n+++ Actual\n@@ @@\n-expected\n+actual\n", TestFailure::exceptionToString($exception)); + } + + public function testExceptionToStringForFrameworkError(): void + { + $exception = new Error('message', 0, 'file', 1); + + $this->assertEquals("message\n", TestFailure::exceptionToString($exception)); + } + + public function testExceptionToStringForExceptionWrapper(): void + { + $exception = new ExceptionWrapper(new \Error('message')); + + $this->assertEquals("Error: message\n", TestFailure::exceptionToString($exception)); + } + + public function testGetTestName(): void + { + $test = new self(__FUNCTION__); + $exception = new Exception('message'); + $failure = new TestFailure($test, $exception); + + $this->assertEquals($this->toString(), $failure->getTestName()); + } + + public function testFailedTest(): void + { + $test = new self(__FUNCTION__); + $exception = new Exception('message'); + $failure = new TestFailure($test, $exception); + + $this->assertEquals($test, $failure->failedTest()); + } + + public function testThrownException(): void + { + $test = new self(__FUNCTION__); + $exception = new Exception('message'); + $failure = new TestFailure($test, $exception); + + $this->assertEquals($exception, $failure->thrownException()); + } + + public function testExceptionMessage(): void + { + $test = new self(__FUNCTION__); + $exception = new Exception('message'); + $failure = new TestFailure($test, $exception); + + $this->assertEquals('message', $failure->exceptionMessage()); + } + + public function testIsFailure(): void + { + $test = new self(__FUNCTION__); + $exception = new ExpectationFailedException('message'); + $failure = new TestFailure($test, $exception); + + $this->assertTrue($failure->isFailure()); + } + + public function testIsFailureFalse(): void + { + $test = new self(__FUNCTION__); + $exception = new Warning('message'); + $failure = new TestFailure($test, $exception); + + $this->assertFalse($failure->isFailure()); + } } diff --git a/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php b/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php index 45c7541c1..e84c5167b 100644 --- a/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Framework/TestResultTest.php @@ -13,7 +13,7 @@ class TestResultTest extends TestCase { public function testRemoveListenerRemovesOnlyExpectedListener(): void { - $result = new TestResult(); + $result = new TestResult; $firstListener = $this->getMockBuilder(TestListener::class)->getMock(); $secondListener = $this->getMockBuilder(TestListener::class)->getMock(); $thirdListener = $this->getMockBuilder(TestListener::class)->getMock(); @@ -34,11 +34,11 @@ class TestResultTest extends TestCase ); } - public function testAddErrorOfTypeIncompleteTest() + public function testAddErrorOfTypeIncompleteTest(): void { $time = 17; - $throwable = new IncompleteTestError(); - $result = new TestResult(); + $throwable = new IncompleteTestError; + $result = new TestResult; $test = $this->getMockBuilder(Test::class)->getMock(); $listener = $this->getMockBuilder(TestListener::class)->getMock(); @@ -63,7 +63,7 @@ class TestResultTest extends TestCase $this->assertAttributeContainsOnly(TestFailure::class, 'notImplemented', $result); } - public function canSkipCoverageProvider() + public function canSkipCoverageProvider(): array { return [ ['CoverageClassTest', true], @@ -75,11 +75,11 @@ class TestResultTest extends TestCase /** * @dataProvider canSkipCoverageProvider */ - public function testCanSkipCoverage($testCase, $expectedCanSkip) + public function testCanSkipCoverage($testCase, $expectedCanSkip): void { require_once TEST_FILES_PATH . $testCase . '.php'; - $test = new $testCase(); + $test = new $testCase; $canSkipCoverage = TestResult::isAnyCoverageRequired($test); $this->assertEquals($expectedCanSkip, $canSkipCoverage); } diff --git a/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php b/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php index d832851d6..868246dbe 100644 --- a/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Runner/Filter/NameFilterIteratorTest.php @@ -14,12 +14,12 @@ use PHPUnit\Framework\TestSuite; class NameFilterIteratorTest extends TestCase { - public function testCaseSensitiveMatch() + public function testCaseSensitiveMatch(): void { $this->assertTrue($this->createFilter('BankAccountTest')->accept()); } - public function testCaseInsensitiveMatch() + public function testCaseInsensitiveMatch(): void { $this->assertTrue($this->createFilter('bankaccounttest')->accept()); } diff --git a/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php b/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php index 4ab2865bb..78c434d82 100644 --- a/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Runner/PhptTestCaseTest.php @@ -313,7 +313,7 @@ EOF [ "\r\n" => \PHP_EOL, "\r" => \PHP_EOL, - "\n" => \PHP_EOL + "\n" => \PHP_EOL, ] ); } diff --git a/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php b/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php index 456bd6f6f..4a1edc3e6 100644 --- a/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Runner/ResultCacheExtensionTest.php @@ -61,14 +61,14 @@ class ResultCacheExtensionTest extends TestCase { return [ 'ClassName::testMethod' => [ - TestCaseTest::class . '::testSomething', - 'testSomething'], + 'testSomething', + TestCaseTest::class . '::testSomething', ], 'ClassName::testMethod and data set number and vardump' => [ - TestCaseTest::class . '::testMethod with data set #123 (\'a\', "A", 0, false)', - 'testMethod with data set #123'], + 'testMethod with data set #123 (\'a\', "A", 0, false)', + TestCaseTest::class . '::testMethod with data set #123', ], 'ClassName::testMethod and data set name and vardump' => [ - TestCaseTest::class . '::testMethod with data set "data name" (\'a\', "A\", 0, false)', - 'testMethod with data set "data name"'], + 'testMethod with data set "data name" (\'a\', "A\", 0, false)', + TestCaseTest::class . '::testMethod with data set "data name"', ], ]; } @@ -77,7 +77,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \TestError('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_ERROR, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_ERROR, $this->cache->getState(\TestError::class . '::test_name')); } public function testFailure(): void @@ -85,7 +85,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \Failure('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_FAILURE, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_FAILURE, $this->cache->getState(\Failure::class . '::test_name')); } public function testSkipped(): void @@ -93,7 +93,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \TestSkipped('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $this->cache->getState(\TestSkipped::class . '::test_name')); } public function testIncomplete(): void @@ -101,7 +101,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \TestIncomplete('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_INCOMPLETE, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_INCOMPLETE, $this->cache->getState(\TestIncomplete::class . '::test_name')); } public function testPassedTestsOnlyCacheTime(): void @@ -109,7 +109,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \Success('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $this->cache->getState(\Success::class . '::test_name')); } public function testWarning(): void @@ -117,7 +117,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \TestWarning('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_WARNING, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_WARNING, $this->cache->getState(\TestWarning::class . '::test_name')); } public function testRisky(): void @@ -125,7 +125,7 @@ class ResultCacheExtensionTest extends TestCase $test = new \TestRisky('test_name'); $test->run($this->result); - $this->assertSame(BaseTestRunner::STATUS_RISKY, $this->cache->getState('test_name')); + $this->assertSame(BaseTestRunner::STATUS_RISKY, $this->cache->getState(\TestRisky::class . '::test_name')); } public function testEmptySuite(): void diff --git a/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php b/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php index b953382a1..32660eca4 100644 --- a/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Runner/TestSuiteSorterTest.php @@ -24,22 +24,22 @@ class TestSuiteSorterTest extends TestCase private const RESOLVE_DEPENDENCIES = true; - public function testThrowsExceptionWhenUsingInvalidOrderOption() + public function testThrowsExceptionWhenUsingInvalidOrderOption(): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; $this->expectException(Exception::class); - $this->expectExceptionMessage('$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED'); + $this->expectExceptionMessage('$order must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, or TestSuiteSorter::ORDER_RANDOMIZED, or TestSuiteSorter::ORDER_DURATION'); $sorter->reorderTestsInSuite($suite, -1, false, TestSuiteSorter::ORDER_DEFAULT); } - public function testThrowsExceptionWhenUsingInvalidOrderDefectsOption() + public function testThrowsExceptionWhenUsingInvalidOrderDefectsOption(): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; $this->expectException(Exception::class); $this->expectExceptionMessage('$orderDefects must be one of TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_DEFECTS_FIRST'); @@ -49,7 +49,7 @@ class TestSuiteSorterTest extends TestCase /** * @dataProvider suiteSorterOptionPermutationsProvider */ - public function testShouldNotAffectEmptyTestSuite(int $order, bool $resolveDependencies, int $orderDefects) + public function testShouldNotAffectEmptyTestSuite(int $order, bool $resolveDependencies, int $orderDefects): void { $sorter = new TestSuiteSorter; $suite = new TestSuite; @@ -64,22 +64,22 @@ class TestSuiteSorterTest extends TestCase /** * @dataProvider commonSorterOptionsProvider */ - public function testBasicExecutionOrderOptions(int $order, bool $resolveDependencies, array $expected) + public function testBasicExecutionOrderOptions(int $order, bool $resolveDependencies, array $expected): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; $sorter->reorderTestsInSuite($suite, $order, $resolveDependencies, TestSuiteSorter::ORDER_DEFAULT); $this->assertSame($expected, $this->getTestExecutionOrder($suite)); } - public function testCanSetRandomizationWithASeed() + public function testCanSetRandomizationWithASeed(): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; \mt_srand(54321); $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_RANDOMIZED, false, TestSuiteSorter::ORDER_DEFAULT); @@ -87,11 +87,11 @@ class TestSuiteSorterTest extends TestCase $this->assertSame(['testTwo', 'testFour', 'testFive', 'testThree', 'testOne'], $this->getTestExecutionOrder($suite)); } - public function testCanSetRandomizationWithASeedAndResolveDependencies() + public function testCanSetRandomizationWithASeedAndResolveDependencies(): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; \mt_srand(54321); $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_RANDOMIZED, true, TestSuiteSorter::ORDER_DEFAULT); @@ -99,19 +99,167 @@ class TestSuiteSorterTest extends TestCase $this->assertSame(['testTwo', 'testFive', 'testOne', 'testThree', 'testFour'], $this->getTestExecutionOrder($suite)); } + /** + * @dataProvider orderDurationWithoutCacheProvider + */ + public function testOrderDurationWithoutCache(bool $resolveDependencies, array $expected): void + { + $suite = new TestSuite; + + $suite->addTestSuite(\MultiDependencyTest::class); + + $sorter = new TestSuiteSorter; + + $sorter->reorderTestsInSuite( + $suite, + TestSuiteSorter::ORDER_DURATION, + $resolveDependencies, + TestSuiteSorter::ORDER_DEFAULT + ); + + $this->assertSame($expected, $this->getTestExecutionOrder($suite)); + } + + public function orderDurationWithoutCacheProvider(): array + { + return [ + 'dependency-ignore' => [ + self::IGNORE_DEPENDENCIES, + [ + 'testOne', + 'testTwo', + 'testThree', + 'testFour', + 'testFive', + ], + ], + 'dependency-resolve' => [ + self::RESOLVE_DEPENDENCIES, + [ + 'testOne', + 'testTwo', + 'testThree', + 'testFour', + 'testFive', + ], + ], + ]; + } + + /** + * @dataProvider orderDurationWithCacheProvider + */ + public function testOrderDurationWithCache(bool $resolveDependencies, array $testTimes, array $expected): void + { + $suite = new TestSuite; + + $suite->addTestSuite(\MultiDependencyTest::class); + + $cache = new TestResultCache; + + foreach ($testTimes as $testName => $time) { + $cache->setTime(\MultiDependencyTest::class . '::' . $testName, $time); + } + + $sorter = new TestSuiteSorter($cache); + + $sorter->reorderTestsInSuite( + $suite, + TestSuiteSorter::ORDER_DURATION, + $resolveDependencies, + TestSuiteSorter::ORDER_DEFAULT + ); + + $this->assertSame($expected, $this->getTestExecutionOrder($suite)); + } + + public function orderDurationWithCacheProvider(): array + { + return [ + 'duration-same-dependency-ignore' => [ + self::IGNORE_DEPENDENCIES, + [ + 'testOne' => 1, + 'testTwo' => 1, + 'testThree' => 1, + 'testFour' => 1, + 'testFive' => 1, + ], + [ + 'testOne', + 'testTwo', + 'testThree', + 'testFour', + 'testFive', + ], + ], + 'duration-same-dependency-resolve' => [ + self::RESOLVE_DEPENDENCIES, + [ + 'testOne' => 1, + 'testTwo' => 1, + 'testThree' => 1, + 'testFour' => 1, + 'testFive' => 1, + ], + [ + 'testOne', + 'testTwo', + 'testThree', + 'testFour', + 'testFive', + ], + ], + 'duration-different-dependency-ignore' => [ + self::IGNORE_DEPENDENCIES, + [ + 'testOne' => 5, + 'testTwo' => 3, + 'testThree' => 4, + 'testFour' => 1, + 'testFive' => 2, + ], + [ + 'testFour', + 'testFive', + 'testTwo', + 'testThree', + 'testOne', + ], + ], + 'duration-different-dependency-resolve' => [ + self::RESOLVE_DEPENDENCIES, + [ + 'testOne' => 5, + 'testTwo' => 3, + 'testThree' => 4, + 'testFour' => 1, + 'testFive' => 2, + ], + [ + 'testFive', + 'testTwo', + 'testOne', + 'testThree', + 'testFour', + ], + ], + ]; + } + /** * @dataProvider defectsSorterOptionsProvider */ - public function testSuiteSorterDefectsOptions(int $order, bool $resolveDependencies, array $runState, array $expected) + public function testSuiteSorterDefectsOptions(int $order, bool $resolveDependencies, array $runState, array $expected): void { $suite = new TestSuite; $suite->addTestSuite(\MultiDependencyTest::class); - $cache = new TestResultCache(); + $cache = new TestResultCache; foreach ($runState as $testName => $data) { - $cache->setState($testName, $data['state']); - $cache->setTime($testName, $data['time']); + $cache->setState(\MultiDependencyTest::class . '::' . $testName, $data['state']); + $cache->setTime(\MultiDependencyTest::class . '::' . $testName, $data['time']); } $sorter = new TestSuiteSorter($cache); @@ -134,25 +282,29 @@ class TestSuiteSorterTest extends TestCase 'default' => [ TestSuiteSorter::ORDER_DEFAULT, self::IGNORE_DEPENDENCIES, - ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive']], + ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive'], + ], // Activating dependency resolution should have no effect under normal circumstances 'resolve default' => [ TestSuiteSorter::ORDER_DEFAULT, self::RESOLVE_DEPENDENCIES, - ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive']], + ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive'], + ], // Reversing without checks should give a simple reverse order 'reverse' => [ TestSuiteSorter::ORDER_REVERSED, self::IGNORE_DEPENDENCIES, - ['testFive', 'testFour', 'testThree', 'testTwo', 'testOne']], + ['testFive', 'testFour', 'testThree', 'testTwo', 'testOne'], + ], // Reversing with resolution still allows testFive to move to front, testTwo before testOne 'resolve reverse' => [ TestSuiteSorter::ORDER_REVERSED, self::RESOLVE_DEPENDENCIES, - ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour']], + ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour'], + ], ]; } @@ -178,7 +330,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], ], - ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive']], + ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive'], ], // Running with an empty cache should not spook the TestSuiteSorter 'default, empty result cache' => [ @@ -187,7 +339,7 @@ class TestSuiteSorterTest extends TestCase [ // empty result cache ], - ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive']], + ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive'], ], // testFive is independent and can be moved to the front 'default, testFive skipped' => [ @@ -200,7 +352,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], ], - ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour']], + ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour'], ], // Defects in testFive and testTwo, but the faster testFive should be run first 'default, testTwo testFive skipped' => [ @@ -213,7 +365,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 0], ], - ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour']], + ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour'], ], // Skipping testThree will move it to the front when ignoring dependencies 'default, testThree skipped' => [ @@ -226,7 +378,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], ], - ['testThree', 'testOne', 'testTwo', 'testFour', 'testFive']], + ['testThree', 'testOne', 'testTwo', 'testFour', 'testFive'], ], // Skipping testThree will move it to the front but behind its dependencies 'default resolve, testThree skipped' => [ @@ -239,7 +391,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], ], - ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive']], + ['testOne', 'testTwo', 'testThree', 'testFour', 'testFive'], ], // Skipping testThree will move it to the front and keep the others reversed 'reverse, testThree skipped' => [ @@ -252,7 +404,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], ], - ['testThree', 'testFive', 'testFour', 'testTwo', 'testOne']], + ['testThree', 'testFive', 'testFour', 'testTwo', 'testOne'], ], // Demonstrate a limit of the dependency resolver: after sorting defects to the front, // the resolver will mark testFive done before testThree because of dependencies @@ -266,7 +418,7 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], ], - ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour']], + ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour'], ], // Torture test // - incomplete TestResultCache @@ -281,7 +433,7 @@ class TestSuiteSorterTest extends TestCase 'testTwo' => ['state' => BaseTestRunner::STATUS_PASSED, 'time' => 1], 'testThree' => ['state' => BaseTestRunner::STATUS_SKIPPED, 'time' => 1], ], - ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour']], + ['testFive', 'testTwo', 'testOne', 'testThree', 'testFour'], ], // Make sure the dependency resolver is not confused by failing tests. // Scenario: Four has a @depends on Three and fails. Result: Three is still run first @@ -296,19 +448,19 @@ class TestSuiteSorterTest extends TestCase 'testFour' => ['state' => BaseTestRunner::STATUS_FAILURE, 'time' => 1], 'testFive' => ['state' => BaseTestRunner::STATUS_FAILURE, 'time' => 1], ], - ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour']], + ['testFive', 'testOne', 'testTwo', 'testThree', 'testFour'], ], ]; } /** * @see https://github.com/lstrojny/phpunit-clever-and-smart/issues/38 */ - public function testCanHandleSuiteWithEmptyTestCase() + public function testCanHandleSuiteWithEmptyTestCase(): void { $suite = new TestSuite; $suite->addTestSuite(\EmptyTestCaseTest::class); - $sorter = new TestSuiteSorter(); + $sorter = new TestSuiteSorter; $sorter->reorderTestsInSuite($suite, TestSuiteSorter::ORDER_DEFAULT, false, TestSuiteSorter::ORDER_DEFAULT); @@ -316,7 +468,7 @@ class TestSuiteSorterTest extends TestCase $this->assertSame('No tests found in class "EmptyTestCaseTest".', $suite->tests()[0]->tests()[0]->getMessage()); } - public function suiteSorterOptionPermutationsProvider() + public function suiteSorterOptionPermutationsProvider(): array { $orderValues = [TestSuiteSorter::ORDER_DEFAULT, TestSuiteSorter::ORDER_REVERSED, TestSuiteSorter::ORDER_RANDOMIZED]; $resolveValues = [false, true]; diff --git a/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php b/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php index b2f8bdf05..e0fe8623e 100644 --- a/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php +++ b/vendor/phpunit/phpunit/tests/unit/TextUI/TestRunnerTest.php @@ -13,16 +13,16 @@ use PHPUnit\Framework\TestCase; class TestRunnerTest extends TestCase { - public function testTestIsRunnable() + public function testTestIsRunnable(): void { - $runner = new TestRunner(); + $runner = new TestRunner; $runner->setPrinter($this->getResultPrinterMock()); - $runner->doRun(new \Success(), ['filter' => 'foo'], false); + $runner->doRun(new \Success, ['filter' => 'foo'], false); } - public function testSuiteIsRunnable() + public function testSuiteIsRunnable(): void { - $runner = new TestRunner(); + $runner = new TestRunner; $runner->setPrinter($this->getResultPrinterMock()); $runner->doRun($this->getSuiteMock(), ['filter' => 'foo'], false); } diff --git a/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php b/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php index dfa471562..8e34e85ee 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/ConfigurationTest.php @@ -116,8 +116,6 @@ class ConfigurationTest extends TestCase public function configurationRootOptionsProvider(): array { - $tmpFilePath = \sys_get_temp_dir() . \DIRECTORY_SEPARATOR; - return [ 'executionOrder default' => ['executionOrder', 'default', TestSuiteSorter::ORDER_DEFAULT], 'executionOrder random' => ['executionOrder', 'random', TestSuiteSorter::ORDER_RANDOMIZED], @@ -170,7 +168,7 @@ class ConfigurationTest extends TestCase 'path' => '/path/to/files', 'prefix' => '', 'suffix' => '.php', - 'group' => 'DEFAULT' + 'group' => 'DEFAULT', ], ], 'file' => [ @@ -184,7 +182,7 @@ class ConfigurationTest extends TestCase 'path' => '/path/to/files', 'prefix' => '', 'suffix' => '.php', - 'group' => 'DEFAULT' + 'group' => 'DEFAULT', ], ], 'file' => [ @@ -256,7 +254,7 @@ class ConfigurationTest extends TestCase [ 'class' => 'IncludePathListener', 'file' => __FILE__, - 'arguments' => [] + 'arguments' => [], ], [ 'class' => 'CompactArgumentsListener', @@ -301,13 +299,13 @@ class ConfigurationTest extends TestCase [ 'class' => 'IncludePathExtension', 'file' => __FILE__, - 'arguments' => [] + 'arguments' => [], ], [ 'class' => 'CompactArgumentsExtension', 'file' => '/CompactArgumentsExtension.php', 'arguments' => [ - 0 => 42 + 0 => 42, ], ], ], @@ -336,7 +334,7 @@ class ConfigurationTest extends TestCase 'junit' => '/tmp/logfile.xml', 'testdox-html' => '/tmp/testdox.html', 'testdox-text' => '/tmp/testdox.txt', - 'testdox-xml' => '/tmp/testdox.xml' + 'testdox-xml' => '/tmp/testdox.xml', ], $this->configuration->getLoggingConfiguration() ); @@ -348,7 +346,7 @@ class ConfigurationTest extends TestCase [ 'include_path' => [ TEST_FILES_PATH . '.', - '/path/to/lib' + '/path/to/lib', ], 'ini' => ['foo' => ['value' => 'bar'], 'highlight.keyword' => ['value' => '#123456'], 'highlight.string' => ['value' => 'TEST_FILES_PATH']], 'const' => ['FOO' => ['value' => false], 'BAR' => ['value' => true]], @@ -430,11 +428,19 @@ class ConfigurationTest extends TestCase */ public function testHandlePHPConfigurationDoesNotOverriteVariablesFromPutEnv(): void { + $backupFoo = \getenv('foo'); + \putenv('foo=putenv'); $this->configuration->handlePHPConfiguration(); $this->assertEquals('putenv', $_ENV['foo']); $this->assertEquals('putenv', \getenv('foo')); + + if ($backupFoo === false) { + \putenv('foo'); // delete variable from environment + } else { + \putenv("foo=$backupFoo"); + } } /** @@ -473,6 +479,7 @@ class ConfigurationTest extends TestCase 'reportUselessTests' => false, 'strictCoverage' => false, 'disallowTestOutput' => false, + 'defaultTimeLimit' => 123, 'enforceTimeLimit' => false, 'extensionsDirectory' => '/tmp', 'printerClass' => 'PHPUnit\TextUI\ResultPrinter', diff --git a/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php b/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php index c2a2ecc44..aa01345da 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/GlobalStateTest.php @@ -22,7 +22,7 @@ class GlobalStateTest extends TestCase $dir . '/GlobalStateTest.php', 'vfs://' . $dir . '/RegexTest.php', 'phpvfs53e46260465c7://' . $dir . '/TestTest.php', - 'file://' . $dir . '/XmlTest.php' + 'file://' . $dir . '/XmlTest.php', ]; $this->assertEquals( diff --git a/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php b/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php index 406d765f7..2dd282255 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/JsonTest.php @@ -29,10 +29,7 @@ class JsonTest extends TestCase } } - /** - * @return array - */ - public function canonicalizeProvider() + public function canonicalizeProvider(): array { return [ ['{"name":"John","age":"35"}', '{"age":"35","name":"John"}', false], @@ -53,10 +50,7 @@ class JsonTest extends TestCase $this->assertEquals($expected, Json::prettify($actual)); } - /** - * @return array - */ - public function prettifyProvider() + public function prettifyProvider(): array { return [ ['{"name":"John","age": "5"}', "{\n \"name\": \"John\",\n \"age\": \"5\"\n}"], @@ -74,10 +68,7 @@ class JsonTest extends TestCase Json::prettify($json); } - /** - * @return array - */ - public function prettifyExceptionProvider() + public function prettifyExceptionProvider(): array { return [ ['"name":"John","age": "5"}'], diff --git a/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php b/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php index 6d5494e9e..07bfe539b 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/RegularExpressionTest.php @@ -13,7 +13,7 @@ use PHPUnit\Framework\TestCase; class RegularExpressionTest extends TestCase { - public function validRegexpProvider() + public function validRegexpProvider(): array { return [ ['#valid regexp#', 'valid regexp', 1], @@ -23,7 +23,7 @@ class RegularExpressionTest extends TestCase ]; } - public function invalidRegexpProvider() + public function invalidRegexpProvider(): array { return [ ['valid regexp', 'valid regexp'], diff --git a/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php b/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php index 6429459d0..39b913d6c 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/TestDox/CliTestDoxPrinterTest.php @@ -73,7 +73,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsCrossForTestWithError(): void { $this->printer->startTest($this); - $this->printer->addError($this, new Exception(), 0); + $this->printer->addError($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertContains('✘', $this->printer->getBuffer()); @@ -82,7 +82,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsAdditionalInformationForTestWithError(): void { $this->printer->startTest($this); - $this->printer->addError($this, new Exception(), 0); + $this->printer->addError($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertContains('│', $this->printer->getBuffer()); @@ -91,7 +91,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsCrossForTestWithWarning(): void { $this->printer->startTest($this); - $this->printer->addWarning($this, new Warning(), 0); + $this->printer->addWarning($this, new Warning, 0); $this->printer->endTest($this, 0.001); $this->assertContains('✘', $this->printer->getBuffer()); @@ -100,7 +100,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsAdditionalInformationForTestWithWarning(): void { $this->printer->startTest($this); - $this->printer->addWarning($this, new Warning(), 0); + $this->printer->addWarning($this, new Warning, 0); $this->printer->endTest($this, 0.001); $this->assertContains('│', $this->printer->getBuffer()); @@ -109,7 +109,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsCrossForTestWithFailure(): void { $this->printer->startTest($this); - $this->printer->addFailure($this, new AssertionFailedError(), 0); + $this->printer->addFailure($this, new AssertionFailedError, 0); $this->printer->endTest($this, 0.001); $this->assertContains('✘', $this->printer->getBuffer()); @@ -118,7 +118,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsAdditionalInformationForTestWithFailure(): void { $this->printer->startTest($this); - $this->printer->addFailure($this, new AssertionFailedError(), 0); + $this->printer->addFailure($this, new AssertionFailedError, 0); $this->printer->endTest($this, 0.001); $this->assertContains('│', $this->printer->getBuffer()); @@ -127,7 +127,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsEmptySetSymbolForTestWithFailure(): void { $this->printer->startTest($this); - $this->printer->addIncompleteTest($this, new Exception(), 0); + $this->printer->addIncompleteTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertContains('∅', $this->printer->getBuffer()); @@ -136,7 +136,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testDoesNotPrintAdditionalInformationForIncompleteTestByDefault(): void { $this->printer->startTest($this); - $this->printer->addIncompleteTest($this, new Exception(), 0); + $this->printer->addIncompleteTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertNotContains('│', $this->printer->getBuffer()); @@ -155,7 +155,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsRadioactiveSymbolForRiskyTest(): void { $this->printer->startTest($this); - $this->printer->addRiskyTest($this, new Exception(), 0); + $this->printer->addRiskyTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertContains('☢', $this->printer->getBuffer()); @@ -164,7 +164,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testDoesNotPrintAdditionalInformationForRiskyTestByDefault(): void { $this->printer->startTest($this); - $this->printer->addRiskyTest($this, new Exception(), 0); + $this->printer->addRiskyTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertNotContains('│', $this->printer->getBuffer()); @@ -173,7 +173,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsAdditionalInformationForRiskyTestInVerboseMode(): void { $this->verbosePrinter->startTest($this); - $this->verbosePrinter->addRiskyTest($this, new Exception(), 0); + $this->verbosePrinter->addRiskyTest($this, new Exception, 0); $this->verbosePrinter->endTest($this, 0.001); $this->assertContains('│', $this->verbosePrinter->getBuffer()); @@ -182,7 +182,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testPrintsArrowForSkippedTest(): void { $this->printer->startTest($this); - $this->printer->addSkippedTest($this, new Exception(), 0); + $this->printer->addSkippedTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertContains('→', $this->printer->getBuffer()); @@ -191,7 +191,7 @@ final class CliTestDoxPrinterTest extends TestCase public function testDoesNotPrintAdditionalInformationForSkippedTestByDefault(): void { $this->printer->startTest($this); - $this->printer->addSkippedTest($this, new Exception(), 0); + $this->printer->addSkippedTest($this, new Exception, 0); $this->printer->endTest($this, 0.001); $this->assertNotContains('│', $this->printer->getBuffer()); diff --git a/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php b/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php index 1c215bff3..a09704713 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/TestDox/NamePrettifierTest.php @@ -57,4 +57,116 @@ class NamePrettifierTest extends TestCase $this->assertEquals('Sets redirect header on 301', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn301')); $this->assertEquals('Sets redirect header on 302', $this->namePrettifier->prettifyTestMethod('testSetsRedirectHeaderOn302')); } + + public function testPhpDoxIgnoreDataKeys(): void + { + $test = new class extends TestCase { + public function __construct() + { + parent::__construct('testAddition', [ + 'augend' => 1, + 'addend' => 2, + 'result' => 3, + ]); + } + + public function testAddition(int $augend, int $addend, int $result): void + { + } + + public function getAnnotations(): array + { + return [ + 'method' => [ + 'testdox' => ['$augend + $addend = $result'], + ], + ]; + } + }; + + $this->assertEquals('1 + 2 = 3', $this->namePrettifier->prettifyTestCase($test)); + } + + public function testPhpDoxUsesDefaultValue(): void + { + $test = new class extends TestCase { + public function __construct() + { + parent::__construct('testAddition', []); + } + + public function testAddition(int $augend = 1, int $addend = 2, int $result = 3): void + { + } + + public function getAnnotations(): array + { + return [ + 'method' => [ + 'testdox' => ['$augend + $addend = $result'], + ], + ]; + } + }; + + $this->assertEquals('1 + 2 = 3', $this->namePrettifier->prettifyTestCase($test)); + } + + public function testPhpDoxArgumentExporting(): void + { + $test = new class extends TestCase { + public function __construct() + { + parent::__construct('testExport', [ + 'int' => 1234, + 'strInt' => '1234', + 'float' => 2.123, + 'strFloat' => '2.123', + 'string' => 'foo', + 'bool' => true, + 'null' => null, + ]); + } + + public function testExport($int, $strInt, $float, $strFloat, $string, $bool, $null): void + { + } + + public function getAnnotations(): array + { + return [ + 'method' => [ + 'testdox' => ['$int, $strInt, $float, $strFloat, $string, $bool, $null'], + ], + ]; + } + }; + + $this->assertEquals('1234, 1234, 2.123, 2.123, foo, true, NULL', $this->namePrettifier->prettifyTestCase($test)); + } + + public function testPhpDoxReplacesLongerVariablesFirst(): void + { + $test = new class extends TestCase { + public function __construct() + { + parent::__construct('testFoo', []); + } + + public function testFoo(int $a = 1, int $ab = 2, int $abc = 3): void + { + } + + public function getAnnotations(): array + { + return [ + 'method' => [ + 'testdox' => ['$a, "$a", $a$ab, $abc, $abcd, $ab'], + ], + ]; + } + }; + + $this->assertEquals('1, "1", 12, 3, $abcd, 2', $this->namePrettifier->prettifyTestCase($test)); + } } diff --git a/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php b/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php index 3d3d987b9..442a49721 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/TestResultCacheTest.php @@ -22,8 +22,8 @@ class TestResultCacheTest extends TestCase $cache = new TestResultCache($cacheFile); $cache->load(); - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState('testOne')); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState('testFive')); + $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testOne')); + $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive')); } public function testDoesClearCacheBeforeLoad(): void @@ -32,12 +32,12 @@ class TestResultCacheTest extends TestCase $cache = new TestResultCache($cacheFile); $cache->setState('someTest', BaseTestRunner::STATUS_FAILURE); - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState('testFive')); + $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::testFive')); $cache->load(); - $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState('someTest')); - $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState('testFive')); + $this->assertSame(BaseTestRunner::STATUS_UNKNOWN, $cache->getState(\MultiDependencyTest::class . '::someTest')); + $this->assertSame(BaseTestRunner::STATUS_SKIPPED, $cache->getState(\MultiDependencyTest::class . '::testFive')); } public function testShouldNotSerializePassedTestsAsDefectButTimeIsStored(): void diff --git a/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php b/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php index 88ff75aa4..effb388db 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/TestTest.php @@ -122,7 +122,7 @@ class TestTest extends TestCase ); } - public function requirementsProvider() + public function requirementsProvider(): array { return [ ['testOne', []], @@ -160,7 +160,7 @@ class TestTest extends TestCase 'testFuncTwo', ], 'setting' => [ - 'not_a_setting' => 'Off' + 'not_a_setting' => 'Off', ], 'extensions' => [ 'testExtOne', @@ -175,147 +175,147 @@ class TestTest extends TestCase ['testSpecificExtensionVersion', [ 'extension_versions' => ['testExt' => ['version' => '1.8.0', 'operator' => '']], - 'extensions' => ['testExt'] - ] + 'extensions' => ['testExt'], + ], ], ['testPHPVersionOperatorLessThan', [ - 'PHP' => ['version' => '5.4', 'operator' => '<'] - ] + 'PHP' => ['version' => '5.4', 'operator' => '<'], + ], ], ['testPHPVersionOperatorLessThanEquals', [ - 'PHP' => ['version' => '5.4', 'operator' => '<='] - ] + 'PHP' => ['version' => '5.4', 'operator' => '<='], + ], ], ['testPHPVersionOperatorGreaterThan', [ - 'PHP' => ['version' => '99', 'operator' => '>'] - ] + 'PHP' => ['version' => '99', 'operator' => '>'], + ], ], ['testPHPVersionOperatorGreaterThanEquals', [ - 'PHP' => ['version' => '99', 'operator' => '>='] - ] + 'PHP' => ['version' => '99', 'operator' => '>='], + ], ], ['testPHPVersionOperatorEquals', [ - 'PHP' => ['version' => '5.4', 'operator' => '='] - ] + 'PHP' => ['version' => '5.4', 'operator' => '='], + ], ], ['testPHPVersionOperatorDoubleEquals', [ - 'PHP' => ['version' => '5.4', 'operator' => '=='] - ] + 'PHP' => ['version' => '5.4', 'operator' => '=='], + ], ], ['testPHPVersionOperatorBangEquals', [ - 'PHP' => ['version' => '99', 'operator' => '!='] - ] + 'PHP' => ['version' => '99', 'operator' => '!='], + ], ], ['testPHPVersionOperatorNotEquals', [ - 'PHP' => ['version' => '99', 'operator' => '<>'] - ] + 'PHP' => ['version' => '99', 'operator' => '<>'], + ], ], ['testPHPVersionOperatorNoSpace', [ - 'PHP' => ['version' => '99', 'operator' => '>='] - ] + 'PHP' => ['version' => '99', 'operator' => '>='], + ], ], ['testPHPUnitVersionOperatorLessThan', [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '<'] - ] + 'PHPUnit' => ['version' => '1.0', 'operator' => '<'], + ], ], ['testPHPUnitVersionOperatorLessThanEquals', [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '<='] - ] + 'PHPUnit' => ['version' => '1.0', 'operator' => '<='], + ], ], ['testPHPUnitVersionOperatorGreaterThan', [ - 'PHPUnit' => ['version' => '99', 'operator' => '>'] - ] + 'PHPUnit' => ['version' => '99', 'operator' => '>'], + ], ], ['testPHPUnitVersionOperatorGreaterThanEquals', [ - 'PHPUnit' => ['version' => '99', 'operator' => '>='] - ] + 'PHPUnit' => ['version' => '99', 'operator' => '>='], + ], ], ['testPHPUnitVersionOperatorEquals', [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '='] - ] + 'PHPUnit' => ['version' => '1.0', 'operator' => '='], + ], ], ['testPHPUnitVersionOperatorDoubleEquals', [ - 'PHPUnit' => ['version' => '1.0', 'operator' => '=='] - ] + 'PHPUnit' => ['version' => '1.0', 'operator' => '=='], + ], ], ['testPHPUnitVersionOperatorBangEquals', [ - 'PHPUnit' => ['version' => '99', 'operator' => '!='] - ] + 'PHPUnit' => ['version' => '99', 'operator' => '!='], + ], ], ['testPHPUnitVersionOperatorNotEquals', [ - 'PHPUnit' => ['version' => '99', 'operator' => '<>'] - ] + 'PHPUnit' => ['version' => '99', 'operator' => '<>'], + ], ], ['testPHPUnitVersionOperatorNoSpace', [ - 'PHPUnit' => ['version' => '99', 'operator' => '>='] - ] + 'PHPUnit' => ['version' => '99', 'operator' => '>='], + ], ], ['testExtensionVersionOperatorLessThanEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '<=']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '<=']], + ], ], ['testExtensionVersionOperatorGreaterThan', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>']], + ], ], ['testExtensionVersionOperatorGreaterThanEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']], + ], ], ['testExtensionVersionOperatorEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '=']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '=']], + ], ], ['testExtensionVersionOperatorDoubleEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '==']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '1.0', 'operator' => '==']], + ], ], ['testExtensionVersionOperatorBangEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '!=']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '!=']], + ], ], ['testExtensionVersionOperatorNotEquals', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '<>']] - ] + 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '<>']], + ], ], ['testExtensionVersionOperatorNoSpace', [ 'extensions' => ['testExtOne'], - 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']] - ] - ] + 'extension_versions' => ['testExtOne' => ['version' => '99', 'operator' => '>=']], + ], + ], ]; } @@ -351,108 +351,108 @@ class TestTest extends TestCase } } - public function requirementsWithVersionConstraintsProvider() + public function requirementsWithVersionConstraintsProvider(): array { return [ [ 'testVersionConstraintTildeMajor', [ 'PHP' => [ - 'constraint' => '~1.0' + 'constraint' => '~1.0', ], 'PHPUnit' => [ - 'constraint' => '~2.0' - ] - ] + 'constraint' => '~2.0', + ], + ], ], [ 'testVersionConstraintCaretMajor', [ 'PHP' => [ - 'constraint' => '^1.0' + 'constraint' => '^1.0', ], 'PHPUnit' => [ - 'constraint' => '^2.0' - ] - ] + 'constraint' => '^2.0', + ], + ], ], [ 'testVersionConstraintTildeMinor', [ 'PHP' => [ - 'constraint' => '~3.4.7' + 'constraint' => '~3.4.7', ], 'PHPUnit' => [ - 'constraint' => '~4.7.1' - ] - ] + 'constraint' => '~4.7.1', + ], + ], ], [ 'testVersionConstraintCaretMinor', [ 'PHP' => [ - 'constraint' => '^7.0.17' + 'constraint' => '^7.0.17', ], 'PHPUnit' => [ - 'constraint' => '^4.7.1' - ] - ] + 'constraint' => '^4.7.1', + ], + ], ], [ 'testVersionConstraintCaretOr', [ 'PHP' => [ - 'constraint' => '^5.6 || ^7.0' + 'constraint' => '^5.6 || ^7.0', ], 'PHPUnit' => [ - 'constraint' => '^5.0 || ^6.0' - ] - ] + 'constraint' => '^5.0 || ^6.0', + ], + ], ], [ 'testVersionConstraintTildeOr', [ 'PHP' => [ - 'constraint' => '~5.6.22 || ~7.0.17' + 'constraint' => '~5.6.22 || ~7.0.17', ], 'PHPUnit' => [ - 'constraint' => '^5.0.5 || ^6.0.6' - ] - ] + 'constraint' => '^5.0.5 || ^6.0.6', + ], + ], ], [ 'testVersionConstraintTildeOrCaret', [ 'PHP' => [ - 'constraint' => '~5.6.22 || ^7.0' + 'constraint' => '~5.6.22 || ^7.0', ], 'PHPUnit' => [ - 'constraint' => '~5.6.22 || ^7.0' - ] - ] + 'constraint' => '~5.6.22 || ^7.0', + ], + ], ], [ 'testVersionConstraintCaretOrTilde', [ 'PHP' => [ - 'constraint' => '^5.6 || ~7.0.17' + 'constraint' => '^5.6 || ~7.0.17', ], 'PHPUnit' => [ - 'constraint' => '^5.6 || ~7.0.17' - ] - ] + 'constraint' => '^5.6 || ~7.0.17', + ], + ], ], [ 'testVersionConstraintRegexpIgnoresWhitespace', [ 'PHP' => [ - 'constraint' => '~5.6.22 || ~7.0.17' + 'constraint' => '~5.6.22 || ~7.0.17', ], 'PHPUnit' => [ - 'constraint' => '~5.6.22 || ~7.0.17' - ] - ] - ] + 'constraint' => '~5.6.22 || ~7.0.17', + ], + ], + ], ]; } @@ -467,11 +467,11 @@ class TestTest extends TestCase Test::getRequirements(\RequirementsTest::class, $test); } - public function requirementsWithInvalidVersionConstraintsThrowsExceptionProvider() + public function requirementsWithInvalidVersionConstraintsThrowsExceptionProvider(): array { return [ ['testVersionConstraintInvalidPhpConstraint'], - ['testVersionConstraintInvalidPhpUnitConstraint'] + ['testVersionConstraintInvalidPhpUnitConstraint'], ]; } @@ -488,7 +488,7 @@ class TestTest extends TestCase 'extensions' => [ 'testExtClass', 'testExtMethod', - ] + ], ]; $this->assertEquals( @@ -512,7 +512,7 @@ class TestTest extends TestCase ); } - public function missingRequirementsProvider() + public function missingRequirementsProvider(): array { return [ ['testOne', []], @@ -555,12 +555,12 @@ class TestTest extends TestCase ['testExtensionVersionOperatorNoSpace', ['Extension testExtOne >= 99 is required.']], ['testVersionConstraintTildeMajor', [ 'PHP version does not match the required constraint ~1.0.', - 'PHPUnit version does not match the required constraint ~2.0.' + 'PHPUnit version does not match the required constraint ~2.0.', ]], ['testVersionConstraintCaretMajor', [ 'PHP version does not match the required constraint ^1.0.', - 'PHPUnit version does not match the required constraint ^2.0.' - ]] + 'PHPUnit version does not match the required constraint ^2.0.', + ]], ]; } @@ -780,7 +780,7 @@ class TestTest extends TestCase { if (\strpos($test, 'Namespace') === 0) { $expected = [ - TEST_FILES_PATH . 'NamespaceCoveredClass.php' => $lines + TEST_FILES_PATH . 'NamespaceCoveredClass.php' => $lines, ]; } elseif ($test === 'CoverageCoversOverridesCoversNothingTest') { $expected = [TEST_FILES_PATH . 'CoveredClass.php' => $lines]; @@ -790,7 +790,7 @@ class TestTest extends TestCase $expected = false; } elseif ($test === 'CoverageFunctionTest') { $expected = [ - TEST_FILES_PATH . 'CoveredFunction.php' => $lines + TEST_FILES_PATH . 'CoveredFunction.php' => $lines, ]; } else { $expected = [TEST_FILES_PATH . 'CoveredClass.php' => $lines]; @@ -904,7 +904,7 @@ class TestTest extends TestCase { $this->assertEquals( [ - TEST_FILES_PATH . 'NamespaceCoveredFunction.php' => \range(12, 15) + TEST_FILES_PATH . 'NamespaceCoveredFunction.php' => \range(12, 15), ], Test::getLinesToBeCovered( \CoverageNamespacedFunctionTest::class, @@ -913,108 +913,108 @@ class TestTest extends TestCase ); } - public function getLinesToBeCoveredProvider() + public function getLinesToBeCoveredProvider(): array { return [ [ 'CoverageNoneTest', - [] + [], ], [ 'CoverageClassExtendedTest', - \array_merge(\range(27, 44), \range(10, 25)) + \array_merge(\range(27, 44), \range(10, 25)), ], [ 'CoverageClassTest', - \range(27, 44) + \range(27, 44), ], [ 'CoverageMethodTest', - \range(29, 33) + \range(29, 33), ], [ 'CoverageMethodOneLineAnnotationTest', - \range(29, 33) + \range(29, 33), ], [ 'CoverageNotPrivateTest', - \array_merge(\range(29, 33), \range(35, 39)) + \array_merge(\range(29, 33), \range(35, 39)), ], [ 'CoverageNotProtectedTest', - \array_merge(\range(29, 33), \range(41, 43)) + \array_merge(\range(29, 33), \range(41, 43)), ], [ 'CoverageNotPublicTest', - \array_merge(\range(35, 39), \range(41, 43)) + \array_merge(\range(35, 39), \range(41, 43)), ], [ 'CoveragePrivateTest', - \range(41, 43) + \range(41, 43), ], [ 'CoverageProtectedTest', - \range(35, 39) + \range(35, 39), ], [ 'CoveragePublicTest', - \range(29, 33) + \range(29, 33), ], [ 'CoverageFunctionTest', - \range(10, 12) + \range(10, 12), ], [ 'NamespaceCoverageClassExtendedTest', - \array_merge(\range(29, 46), \range(12, 27)) + \array_merge(\range(29, 46), \range(12, 27)), ], [ 'NamespaceCoverageClassTest', - \range(29, 46) + \range(29, 46), ], [ 'NamespaceCoverageMethodTest', - \range(31, 35) + \range(31, 35), ], [ 'NamespaceCoverageNotPrivateTest', - \array_merge(\range(31, 35), \range(37, 41)) + \array_merge(\range(31, 35), \range(37, 41)), ], [ 'NamespaceCoverageNotProtectedTest', - \array_merge(\range(31, 35), \range(43, 45)) + \array_merge(\range(31, 35), \range(43, 45)), ], [ 'NamespaceCoverageNotPublicTest', - \array_merge(\range(37, 41), \range(43, 45)) + \array_merge(\range(37, 41), \range(43, 45)), ], [ 'NamespaceCoveragePrivateTest', - \range(43, 45) + \range(43, 45), ], [ 'NamespaceCoverageProtectedTest', - \range(37, 41) + \range(37, 41), ], [ 'NamespaceCoveragePublicTest', - \range(31, 35) + \range(31, 35), ], [ 'NamespaceCoverageCoversClassTest', - \array_merge(\range(43, 45), \range(37, 41), \range(31, 35), \range(24, 26), \range(19, 22), \range(14, 17)) + \array_merge(\range(43, 45), \range(37, 41), \range(31, 35), \range(24, 26), \range(19, 22), \range(14, 17)), ], [ 'NamespaceCoverageCoversClassPublicTest', - \range(31, 35) + \range(31, 35), ], [ 'CoverageNothingTest', - false + false, ], [ 'CoverageCoversOverridesCoversNothingTest', - \range(29, 33) + \range(29, 33), ], ]; } @@ -1033,7 +1033,7 @@ class TestTest extends TestCase { $this->assertSame( [ - TEST_FILES_PATH . '3194.php' => \array_merge(\range(21, 29), \range(13, 19)) + TEST_FILES_PATH . '3194.php' => \array_merge(\range(21, 29), \range(13, 19)), ], Test::getLinesToBeCovered( \Test3194::class, diff --git a/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php b/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php new file mode 100644 index 000000000..a8e08b724 --- /dev/null +++ b/vendor/phpunit/phpunit/tests/unit/Util/XDebugFilterScriptGeneratorTest.php @@ -0,0 +1,46 @@ +<?php declare(strict_types=1); +/* + * This file is part of PHPUnit. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\Util; + +use PHPUnit\Framework\TestCase; + +class XDebugFilterScriptGeneratorTest extends TestCase +{ + /** + * @covers \PHPUnit\Util\XdebugFilterScriptGenerator::generate + */ + public function testReturnsExpectedScript(): void + { + $filterConfiguration = [ + 'include' => [ + 'directory' => [ + [ + 'path' => 'src/somePath', + 'suffix' => '.php', + 'prefix' => '', + ], + ], + 'file' => [ + 'src/foo.php', + 'src/bar.php', + ], + ], + 'exclude' => [ + 'directory' => [], + 'file' => [], + ], + ]; + + $writer = new XdebugFilterScriptGenerator; + $actual = $writer->generate($filterConfiguration); + + $this->assertStringEqualsFile(__DIR__ . '/_files/expectedXDebugFilterScript.txt', $actual); + } +} diff --git a/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php b/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php index 33e7cc9e5..216348355 100644 --- a/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php +++ b/vendor/phpunit/phpunit/tests/unit/Util/XmlTest.php @@ -95,7 +95,7 @@ class XmlTest extends TestCase public function testXmlToVariableCanHandleMultipleOfTheSameArgumentType(): void { $xml = '<object class="SampleClass"><arguments><string>a</string><string>b</string><string>c</string></arguments></object>'; - $dom = new \DOMDocument(); + $dom = new \DOMDocument; $dom->loadXML($xml); $expected = ['a' => 'a', 'b' => 'b', 'c' => 'c']; @@ -108,7 +108,7 @@ class XmlTest extends TestCase public function testXmlToVariableCanConstructObjectsWithConstructorArgumentsRecursively(): void { $xml = '<object class="Exception"><arguments><string>one</string><integer>0</integer><object class="Exception"><arguments><string>two</string></arguments></object></arguments></object>'; - $dom = new \DOMDocument(); + $dom = new \DOMDocument; $dom->loadXML($xml); $actual = Xml::xmlToVariable($dom->documentElement); diff --git a/vendor/phpunit/phpunit/tests/unit/Util/_files/expectedXDebugFilterScript.txt b/vendor/phpunit/phpunit/tests/unit/Util/_files/expectedXDebugFilterScript.txt new file mode 100644 index 000000000..dfcf8060b --- /dev/null +++ b/vendor/phpunit/phpunit/tests/unit/Util/_files/expectedXDebugFilterScript.txt @@ -0,0 +1,14 @@ +<?php declare(strict_types=1); +if (!\function_exists('xdebug_set_filter')) { + return; +} + +\xdebug_set_filter( + \XDEBUG_FILTER_CODE_COVERAGE, + \XDEBUG_PATH_WHITELIST, + [ + 'src/somePath', + 'src/foo.php', + 'src/bar.php' + ] +); diff --git a/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php index a0391a52b..4b861c3ef 100644 --- a/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +++ b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php @@ -101,6 +101,9 @@ abstract class LoggerInterfaceTest extends \PHPUnit_Framework_TestCase public function testContextCanContainAnything() { + $closed = fopen('php://memory', 'r'); + fclose($closed); + $context = array( 'bool' => true, 'null' => null, @@ -110,6 +113,7 @@ abstract class LoggerInterfaceTest extends \PHPUnit_Framework_TestCase 'nested' => array('with object' => new DummyTest), 'object' => new \DateTime, 'resource' => fopen('php://memory', 'r'), + 'closed' => $closed, ); $this->getLogger()->warning('Crazy context data', $context); diff --git a/vendor/psr/log/Psr/Log/Test/TestLogger.php b/vendor/psr/log/Psr/Log/Test/TestLogger.php new file mode 100644 index 000000000..0cdffe4f9 --- /dev/null +++ b/vendor/psr/log/Psr/Log/Test/TestLogger.php @@ -0,0 +1,146 @@ +<?php + +namespace Psr\Log\Test; + +use Psr\Log\AbstractLogger; + +/** + * Used for testing purposes. + * + * It records all records and gives you access to them for verification. + * + * @method bool hasEmergency($record) + * @method bool hasAlert($record) + * @method bool hasCritical($record) + * @method bool hasError($record) + * @method bool hasWarning($record) + * @method bool hasNotice($record) + * @method bool hasInfo($record) + * @method bool hasDebug($record) + * + * @method bool hasEmergencyRecords() + * @method bool hasAlertRecords() + * @method bool hasCriticalRecords() + * @method bool hasErrorRecords() + * @method bool hasWarningRecords() + * @method bool hasNoticeRecords() + * @method bool hasInfoRecords() + * @method bool hasDebugRecords() + * + * @method bool hasEmergencyThatContains($message) + * @method bool hasAlertThatContains($message) + * @method bool hasCriticalThatContains($message) + * @method bool hasErrorThatContains($message) + * @method bool hasWarningThatContains($message) + * @method bool hasNoticeThatContains($message) + * @method bool hasInfoThatContains($message) + * @method bool hasDebugThatContains($message) + * + * @method bool hasEmergencyThatMatches($message) + * @method bool hasAlertThatMatches($message) + * @method bool hasCriticalThatMatches($message) + * @method bool hasErrorThatMatches($message) + * @method bool hasWarningThatMatches($message) + * @method bool hasNoticeThatMatches($message) + * @method bool hasInfoThatMatches($message) + * @method bool hasDebugThatMatches($message) + * + * @method bool hasEmergencyThatPasses($message) + * @method bool hasAlertThatPasses($message) + * @method bool hasCriticalThatPasses($message) + * @method bool hasErrorThatPasses($message) + * @method bool hasWarningThatPasses($message) + * @method bool hasNoticeThatPasses($message) + * @method bool hasInfoThatPasses($message) + * @method bool hasDebugThatPasses($message) + */ +class TestLogger extends AbstractLogger +{ + /** + * @var array + */ + public $records = []; + + public $recordsByLevel = []; + + /** + * @inheritdoc + */ + public function log($level, $message, array $context = []) + { + $record = [ + 'level' => $level, + 'message' => $message, + 'context' => $context, + ]; + + $this->recordsByLevel[$record['level']][] = $record; + $this->records[] = $record; + } + + public function hasRecords($level) + { + return isset($this->recordsByLevel[$level]); + } + + public function hasRecord($record, $level) + { + if (is_string($record)) { + $record = ['message' => $record]; + } + return $this->hasRecordThatPasses(function ($rec) use ($record) { + if ($rec['message'] !== $record['message']) { + return false; + } + if (isset($record['context']) && $rec['context'] !== $record['context']) { + return false; + } + return true; + }, $level); + } + + public function hasRecordThatContains($message, $level) + { + return $this->hasRecordThatPasses(function ($rec) use ($message) { + return strpos($rec['message'], $message) !== false; + }, $level); + } + + public function hasRecordThatMatches($regex, $level) + { + return $this->hasRecordThatPasses(function ($rec) use ($regex) { + return preg_match($regex, $rec['message']) > 0; + }, $level); + } + + public function hasRecordThatPasses(callable $predicate, $level) + { + if (!isset($this->recordsByLevel[$level])) { + return false; + } + foreach ($this->recordsByLevel[$level] as $i => $rec) { + if (call_user_func($predicate, $rec, $i)) { + return true; + } + } + return false; + } + + public function __call($method, $args) + { + if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) { + $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3]; + $level = strtolower($matches[2]); + if (method_exists($this, $genericMethod)) { + $args[] = $level; + return call_user_func_array([$this, $genericMethod], $args); + } + } + throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()'); + } + + public function reset() + { + $this->records = []; + } +} diff --git a/vendor/psr/log/README.md b/vendor/psr/log/README.md index 574bc1cb2..5571a25e8 100644 --- a/vendor/psr/log/README.md +++ b/vendor/psr/log/README.md @@ -7,6 +7,13 @@ This repository holds all interfaces/classes/traits related to Note that this is not a logger of its own. It is merely an interface that describes a logger. See the specification for more details. +Installation +------------ + +```bash +composer require psr/log +``` + Usage ----- diff --git a/vendor/psy/psysh/box.json.dist b/vendor/psy/psysh/box.json.dist index 32305a525..e302f265e 100644 --- a/vendor/psy/psysh/box.json.dist +++ b/vendor/psy/psysh/box.json.dist @@ -4,7 +4,6 @@ "compactors": [ "KevinGH\\Box\\Compactor\\Php" ], - "chmod": "0755", "blacklist": [ "grammar", "test_old", diff --git a/vendor/psy/psysh/composer.json b/vendor/psy/psysh/composer.json index 7df60cf48..4588ba60a 100644 --- a/vendor/psy/psysh/composer.json +++ b/vendor/psy/psysh/composer.json @@ -20,7 +20,7 @@ "symfony/var-dumper": "~2.7|~3.0|~4.0", "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", "dnoegel/php-xdg-base-dir": "0.1", - "jakub-onderka/php-console-highlighter": "0.3.*" + "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*" }, "require-dev": { "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0", diff --git a/vendor/psy/psysh/src/CodeCleaner/ListPass.php b/vendor/psy/psysh/src/CodeCleaner/ListPass.php index aabf0c36b..b0d1d73e4 100644 --- a/vendor/psy/psysh/src/CodeCleaner/ListPass.php +++ b/vendor/psy/psysh/src/CodeCleaner/ListPass.php @@ -17,7 +17,9 @@ use PhpParser\Node\Expr\Array_; use PhpParser\Node\Expr\ArrayDimFetch; use PhpParser\Node\Expr\ArrayItem; use PhpParser\Node\Expr\Assign; +use PhpParser\Node\Expr\FuncCall; use PhpParser\Node\Expr\List_; +use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Expr\PropertyFetch; use PhpParser\Node\Expr\Variable; use Psy\Exception\ParseErrorException; @@ -99,14 +101,12 @@ class ListPass extends CodeCleanerPass { $value = ($item instanceof ArrayItem) ? $item->value : $item; - if ($value instanceof Variable) { - return true; + while ($value instanceof ArrayDimFetch || $value instanceof PropertyFetch) { + $value = $value->var; } - if ($value instanceof ArrayDimFetch || $value instanceof PropertyFetch) { - return isset($value->var) && $value->var instanceof Variable; - } - - return false; + // We just kind of give up if it's a method call. We can't tell if it's + // valid via static analysis. + return $value instanceof Variable || $value instanceof MethodCall || $value instanceof FuncCall; } } diff --git a/vendor/psy/psysh/src/ExecutionLoopClosure.php b/vendor/psy/psysh/src/ExecutionLoopClosure.php index 94d3ce2e7..5b8238cf6 100644 --- a/vendor/psy/psysh/src/ExecutionLoopClosure.php +++ b/vendor/psy/psysh/src/ExecutionLoopClosure.php @@ -41,7 +41,9 @@ class ExecutionLoopClosure extends ExecutionClosure try { // Pull in any new execution scope variables - \extract($__psysh__->getScopeVariablesDiff(\get_defined_vars())); + if ($__psysh__->getLastExecSuccess()) { + \extract($__psysh__->getScopeVariablesDiff(\get_defined_vars())); + } // Buffer stdout; we'll need it later \ob_start([$__psysh__, 'writeStdout'], 1); diff --git a/vendor/psy/psysh/src/Readline/Transient.php b/vendor/psy/psysh/src/Readline/Transient.php index e238fdf49..6623bd981 100644 --- a/vendor/psy/psysh/src/Readline/Transient.php +++ b/vendor/psy/psysh/src/Readline/Transient.php @@ -106,7 +106,7 @@ class Transient implements Readline { echo $prompt; - return \rtrim(\fgets($this->getStdin(), 1024)); + return \rtrim(\fgets($this->getStdin()), "\n\r"); } /** diff --git a/vendor/psy/psysh/src/Shell.php b/vendor/psy/psysh/src/Shell.php index 5d3517f23..7a0fbac28 100644 --- a/vendor/psy/psysh/src/Shell.php +++ b/vendor/psy/psysh/src/Shell.php @@ -47,7 +47,7 @@ use Symfony\Component\Console\Output\OutputInterface; */ class Shell extends Application { - const VERSION = 'v0.9.8'; + const VERSION = 'v0.9.9'; const PROMPT = '>>> '; const BUFF_PROMPT = '... '; @@ -73,6 +73,7 @@ class Shell extends Application private $autoCompleter; private $matchers = []; private $commandsMatcher; + private $lastExecSuccess = true; /** * Create a new Psy Shell. @@ -963,6 +964,8 @@ class Shell extends Application */ public function writeReturnValue($ret) { + $this->lastExecSuccess = true; + if ($ret instanceof NoReturnValue) { return; } @@ -986,11 +989,24 @@ class Shell extends Application */ public function writeException(\Exception $e) { + $this->lastExecSuccess = false; $this->context->setLastException($e); $this->output->writeln($this->formatException($e)); $this->resetCodeBuffer(); } + /** + * Check whether the last exec was successful. + * + * Returns true if a return value was logged rather than an exception. + * + * @return bool + */ + public function getLastExecSuccess() + { + return $this->lastExecSuccess; + } + /** * Helper for formatting an exception for writeException(). * diff --git a/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php b/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php index 7481f7c39..b7a360d69 100644 --- a/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php +++ b/vendor/psy/psysh/test/CodeCleaner/ListPassTest.php @@ -100,7 +100,13 @@ class ListPassTest extends CodeCleanerTestCase ['[$a,,$c] = [1,2,3]'], ['[$a,,,] = [1,2,3]'], ['[$a[0], $a[1]] = [1, 2]'], + ['[$a[0][0][0], $a[0][0][1]] = [1, 2]'], ['[$a->b, $a->c] = [1, 2]'], + ['[$a->b[0], $a->c[1]] = [1, 2]'], + ['[$a[0]->b[0], $a[0]->c[1]] = [1, 2]'], + ['[$a[$b->c + $b->d]] = [1]'], + ['[$a->c()->d, $a->c()->e] = [1, 2]'], + ['[x()->a, x()->b] = [1, 2]'], ]); } diff --git a/vendor/psy/psysh/vendor-bin/box/composer.json b/vendor/psy/psysh/vendor-bin/box/composer.json index a5ef20620..13b78794f 100644 --- a/vendor/psy/psysh/vendor-bin/box/composer.json +++ b/vendor/psy/psysh/vendor-bin/box/composer.json @@ -2,6 +2,6 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { - "humbug/box": "^3.0@alpha" + "humbug/box": "^3.1" } } diff --git a/vendor/ralouphie/getallheaders/.gitignore b/vendor/ralouphie/getallheaders/.gitignore new file mode 100644 index 000000000..1324e7d3e --- /dev/null +++ b/vendor/ralouphie/getallheaders/.gitignore @@ -0,0 +1,5 @@ +.idea +.DS_store +/vendor/ +composer.phar +composer.lock diff --git a/vendor/ralouphie/getallheaders/.travis.yml b/vendor/ralouphie/getallheaders/.travis.yml new file mode 100644 index 000000000..f45b55fa0 --- /dev/null +++ b/vendor/ralouphie/getallheaders/.travis.yml @@ -0,0 +1,18 @@ +language: php + +php: + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - 7.0 + +before_script: + - composer install + +script: + - mkdir -p build/logs + - php vendor/bin/phpunit -c phpunit.xml + +after_script: + - php vendor/bin/coveralls -v \ No newline at end of file diff --git a/vendor/ralouphie/getallheaders/LICENSE b/vendor/ralouphie/getallheaders/LICENSE new file mode 100644 index 000000000..be5540c2a --- /dev/null +++ b/vendor/ralouphie/getallheaders/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Ralph Khattar + +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/vendor/ralouphie/getallheaders/README.md b/vendor/ralouphie/getallheaders/README.md new file mode 100644 index 000000000..f3329d663 --- /dev/null +++ b/vendor/ralouphie/getallheaders/README.md @@ -0,0 +1,19 @@ +getallheaders +============= + +PHP `getallheaders()` polyfill. Compatible with PHP >= 5.3. + +[![Build Status](https://travis-ci.org/ralouphie/getallheaders.svg?branch=master)](https://travis-ci.org/ralouphie/getallheaders) +[![Coverage Status](https://coveralls.io/repos/ralouphie/getallheaders/badge.png?branch=master)](https://coveralls.io/r/ralouphie/getallheaders?branch=master) +[![Latest Stable Version](https://poser.pugx.org/ralouphie/getallheaders/v/stable.png)](https://packagist.org/packages/ralouphie/getallheaders) +[![Latest Unstable Version](https://poser.pugx.org/ralouphie/getallheaders/v/unstable.png)](https://packagist.org/packages/ralouphie/getallheaders) +[![License](https://poser.pugx.org/ralouphie/getallheaders/license.png)](https://packagist.org/packages/ralouphie/getallheaders) + + +This is a simple polyfill for [`getallheaders()`](http://www.php.net/manual/en/function.getallheaders.php). + +## Install + +``` +composer require ralouphie/getallheaders +``` diff --git a/vendor/ralouphie/getallheaders/composer.json b/vendor/ralouphie/getallheaders/composer.json new file mode 100644 index 000000000..5a0d595c9 --- /dev/null +++ b/vendor/ralouphie/getallheaders/composer.json @@ -0,0 +1,21 @@ +{ + "name": "ralouphie/getallheaders", + "description": "A polyfill for getallheaders.", + "license": "MIT", + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.0", + "satooshi/php-coveralls": ">=1.0" + }, + "autoload": { + "files": ["src/getallheaders.php"] + } +} \ No newline at end of file diff --git a/vendor/ralouphie/getallheaders/phpunit.xml b/vendor/ralouphie/getallheaders/phpunit.xml new file mode 100644 index 000000000..7255b23d9 --- /dev/null +++ b/vendor/ralouphie/getallheaders/phpunit.xml @@ -0,0 +1,22 @@ +<phpunit + bootstrap="vendor/autoload.php" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + strict="true"> + + <testsuite> + <directory>./tests</directory> + </testsuite> + + <filter> + <whitelist> + <directory suffix=".php">src</directory> + </whitelist> + </filter> + + <logging> + <log type="coverage-clover" target="build/logs/clover.xml"/> + </logging> + +</phpunit> \ No newline at end of file diff --git a/vendor/ralouphie/getallheaders/src/getallheaders.php b/vendor/ralouphie/getallheaders/src/getallheaders.php new file mode 100644 index 000000000..c7285a5ba --- /dev/null +++ b/vendor/ralouphie/getallheaders/src/getallheaders.php @@ -0,0 +1,46 @@ +<?php + +if (!function_exists('getallheaders')) { + + /** + * Get all HTTP header key/values as an associative array for the current request. + * + * @return string[string] The HTTP header key/value pairs. + */ + function getallheaders() + { + $headers = array(); + + $copy_server = array( + 'CONTENT_TYPE' => 'Content-Type', + 'CONTENT_LENGTH' => 'Content-Length', + 'CONTENT_MD5' => 'Content-Md5', + ); + + foreach ($_SERVER as $key => $value) { + if (substr($key, 0, 5) === 'HTTP_') { + $key = substr($key, 5); + if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { + $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); + $headers[$key] = $value; + } + } elseif (isset($copy_server[$key])) { + $headers[$copy_server[$key]] = $value; + } + } + + if (!isset($headers['Authorization'])) { + if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { + $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; + } elseif (isset($_SERVER['PHP_AUTH_USER'])) { + $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; + $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); + } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { + $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; + } + } + + return $headers; + } + +} diff --git a/vendor/ralouphie/getallheaders/tests/GetAllHeadersTest.php b/vendor/ralouphie/getallheaders/tests/GetAllHeadersTest.php new file mode 100644 index 000000000..8e3d1790a --- /dev/null +++ b/vendor/ralouphie/getallheaders/tests/GetAllHeadersTest.php @@ -0,0 +1,121 @@ +<?php + +class GetAllHeadersTest extends \PHPUnit_Framework_TestCase +{ + + /** + * @dataProvider testWorksData + */ + public function testWorks($test_type, $expected, $server) + { + foreach ($server as $key => $val) { + $_SERVER[$key] = $val; + } + $result = getallheaders(); + $this->assertEquals($expected, $result, "Error testing $test_type works."); + } + + public function testWorksData() + { + return array( + array( + 'normal case', + array( + 'Key-One' => 'foo', + 'Key-Two' => 'bar', + 'Another-Key-For-Testing' => 'baz' + ), + array( + 'HTTP_KEY_ONE' => 'foo', + 'HTTP_KEY_TWO' => 'bar', + 'HTTP_ANOTHER_KEY_FOR_TESTING' => 'baz' + ) + ), + array( + 'Content-Type', + array( + 'Content-Type' => 'two' + ), + array( + 'HTTP_CONTENT_TYPE' => 'one', + 'CONTENT_TYPE' => 'two' + ) + ), + array( + 'Content-Length', + array( + 'Content-Length' => '222' + ), + array( + 'CONTENT_LENGTH' => '222', + 'HTTP_CONTENT_LENGTH' => '111' + ) + ), + array( + 'Content-Length (HTTP_CONTENT_LENGTH only)', + array( + 'Content-Length' => '111' + ), + array( + 'HTTP_CONTENT_LENGTH' => '111' + ) + ), + array( + 'Content-MD5', + array( + 'Content-Md5' => 'aef123' + ), + array( + 'CONTENT_MD5' => 'aef123', + 'HTTP_CONTENT_MD5' => 'fea321' + ) + ), + array( + 'Content-MD5 (HTTP_CONTENT_MD5 only)', + array( + 'Content-Md5' => 'f123' + ), + array( + 'HTTP_CONTENT_MD5' => 'f123' + ) + ), + array( + 'Authorization (normal)', + array( + 'Authorization' => 'testing' + ), + array( + 'HTTP_AUTHORIZATION' => 'testing', + ) + ), + array( + 'Authorization (redirect)', + array( + 'Authorization' => 'testing redirect' + ), + array( + 'REDIRECT_HTTP_AUTHORIZATION' => 'testing redirect', + ) + ), + array( + 'Authorization (PHP_AUTH_USER + PHP_AUTH_PW)', + array( + 'Authorization' => 'Basic ' . base64_encode('foo:bar') + ), + array( + 'PHP_AUTH_USER' => 'foo', + 'PHP_AUTH_PW' => 'bar' + ) + ), + array( + 'Authorization (PHP_AUTH_DIGEST)', + array( + 'Authorization' => 'example-digest' + ), + array( + 'PHP_AUTH_DIGEST' => 'example-digest' + ) + ) + ); + } +} diff --git a/vendor/sebastian/environment/.github/stale.yml b/vendor/sebastian/environment/.github/stale.yml new file mode 100644 index 000000000..4eadca327 --- /dev/null +++ b/vendor/sebastian/environment/.github/stale.yml @@ -0,0 +1,40 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before a stale Issue or Pull Request is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 7 + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - enhancement + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: false + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: false + +# Label to use when marking as stale +staleLabel: stale + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. + +# Comment to post when removing the stale label. +# unmarkComment: > +# Your comment here. + +# Comment to post when closing a stale Issue or Pull Request. +closeComment: > + This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 30 + +# Limit to only `issues` or `pulls` +only: issues + diff --git a/vendor/sebastian/environment/.php_cs b/vendor/sebastian/environment/.php_cs deleted file mode 100644 index 89b9ca3a0..000000000 --- a/vendor/sebastian/environment/.php_cs +++ /dev/null @@ -1,79 +0,0 @@ -<?php -$header = <<<'EOF' -This file is part of sebastian/environment. - -(c) Sebastian Bergmann <sebastian@phpunit.de> - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - 'array_syntax' => ['syntax' => 'short'], - 'binary_operator_spaces' => [ - 'align_double_arrow' => true, - 'align_equals' => true - ], - 'blank_line_after_namespace' => true, - 'blank_line_before_return' => true, - 'braces' => true, - 'cast_spaces' => true, - 'concat_space' => ['spacing' => 'one'], - 'elseif' => true, - 'encoding' => true, - 'full_opening_tag' => true, - 'function_declaration' => true, - #'header_comment' => ['header' => $header, 'separate' => 'none'], - 'indentation_type' => true, - 'line_ending' => true, - 'lowercase_constants' => true, - 'lowercase_keywords' => true, - 'method_argument_space' => true, - 'native_function_invocation' => true, - 'no_alias_functions' => true, - 'no_blank_lines_after_class_opening' => true, - 'no_blank_lines_after_phpdoc' => true, - 'no_closing_tag' => true, - 'no_empty_phpdoc' => true, - 'no_empty_statement' => true, - 'no_extra_consecutive_blank_lines' => true, - 'no_leading_namespace_whitespace' => true, - 'no_singleline_whitespace_before_semicolons' => true, - 'no_spaces_after_function_name' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_whitespace' => true, - 'no_unused_imports' => true, - 'no_whitespace_in_blank_line' => true, - 'phpdoc_align' => true, - 'phpdoc_indent' => true, - 'phpdoc_no_access' => true, - 'phpdoc_no_empty_return' => true, - 'phpdoc_no_package' => true, - 'phpdoc_scalar' => true, - 'phpdoc_separation' => true, - 'phpdoc_to_comment' => true, - 'phpdoc_trim' => true, - 'phpdoc_types' => true, - 'phpdoc_var_without_name' => true, - 'self_accessor' => true, - 'simplified_null_return' => true, - 'single_blank_line_at_eof' => true, - 'single_import_per_statement' => true, - 'single_line_after_imports' => true, - 'single_quote' => true, - 'ternary_operator_spaces' => true, - 'trim_array_spaces' => true, - 'visibility_required' => true, - ] - ) - ->setFinder( - PhpCsFixer\Finder::create() - ->files() - ->in(__DIR__ . '/src') - ->in(__DIR__ . '/tests') - ->name('*.php') - ); diff --git a/vendor/sebastian/environment/.php_cs.dist b/vendor/sebastian/environment/.php_cs.dist new file mode 100644 index 000000000..67dd70e05 --- /dev/null +++ b/vendor/sebastian/environment/.php_cs.dist @@ -0,0 +1,199 @@ +<?php +$header = <<<'EOF' +This file is part of sebastian/environment. + +(c) Sebastian Bergmann <sebastian@phpunit.de> + +For the full copyright and license information, please view the LICENSE +file that was distributed with this source code. +EOF; + +return PhpCsFixer\Config::create() + ->setRiskyAllowed(true) + ->setRules( + [ + 'align_multiline_comment' => true, + 'array_indentation' => true, + 'array_syntax' => ['syntax' => 'short'], + 'binary_operator_spaces' => [ + 'operators' => [ + '=' => 'align', + '=>' => 'align', + ], + ], + 'blank_line_after_namespace' => true, + 'blank_line_before_statement' => [ + 'statements' => [ + 'break', + 'continue', + 'declare', + 'do', + 'for', + 'foreach', + 'if', + 'include', + 'include_once', + 'require', + 'require_once', + 'return', + 'switch', + 'throw', + 'try', + 'while', + 'yield', + ], + ], + 'braces' => true, + 'cast_spaces' => true, + 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], + 'combine_consecutive_issets' => true, + 'combine_consecutive_unsets' => true, + 'combine_nested_dirname' => true, + 'compact_nullable_typehint' => true, + 'concat_space' => ['spacing' => 'one'], + 'declare_equal_normalize' => ['space' => 'none'], + 'declare_strict_types' => true, + 'dir_constant' => true, + 'elseif' => true, + 'encoding' => true, + 'full_opening_tag' => true, + 'function_declaration' => true, + 'header_comment' => ['header' => $header, 'separate' => 'none'], + 'indentation_type' => true, + 'is_null' => true, + 'line_ending' => true, + 'list_syntax' => ['syntax' => 'short'], + 'logical_operators' => true, + 'lowercase_cast' => true, + 'lowercase_constants' => true, + 'lowercase_keywords' => true, + 'lowercase_static_reference' => true, + 'magic_constant_casing' => true, + 'method_argument_space' => ['ensure_fully_multiline' => true], + 'modernize_types_casting' => true, + 'multiline_comment_opening_closing' => true, + 'multiline_whitespace_before_semicolons' => true, + 'native_constant_invocation' => true, + 'native_function_casing' => true, + 'native_function_invocation' => true, + 'new_with_braces' => false, + 'no_alias_functions' => true, + 'no_alternative_syntax' => true, + 'no_blank_lines_after_class_opening' => true, + 'no_blank_lines_after_phpdoc' => true, + 'no_blank_lines_before_namespace' => true, + 'no_closing_tag' => true, + 'no_empty_comment' => true, + 'no_empty_phpdoc' => true, + 'no_empty_statement' => true, + 'no_extra_blank_lines' => true, + 'no_homoglyph_names' => true, + 'no_leading_import_slash' => true, + 'no_leading_namespace_whitespace' => true, + 'no_mixed_echo_print' => ['use' => 'print'], + 'no_multiline_whitespace_around_double_arrow' => true, + 'no_null_property_initialization' => true, + 'no_php4_constructor' => true, + 'no_short_bool_cast' => true, + 'no_short_echo_tag' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'no_spaces_after_function_name' => true, + 'no_spaces_inside_parenthesis' => true, + 'no_superfluous_elseif' => true, + 'no_superfluous_phpdoc_tags' => true, + 'no_trailing_comma_in_list_call' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_trailing_whitespace' => true, + 'no_trailing_whitespace_in_comment' => true, + 'no_unneeded_control_parentheses' => true, + 'no_unneeded_curly_braces' => true, + 'no_unneeded_final_method' => true, + 'no_unreachable_default_argument_value' => true, + 'no_unset_on_property' => true, + 'no_unused_imports' => true, + 'no_useless_else' => true, + 'no_useless_return' => true, + 'no_whitespace_before_comma_in_array' => true, + 'no_whitespace_in_blank_line' => true, + 'non_printable_character' => true, + 'normalize_index_brace' => true, + 'object_operator_without_whitespace' => true, + 'ordered_class_elements' => [ + 'order' => [ + 'use_trait', + 'constant_public', + 'constant_protected', + 'constant_private', + 'property_public_static', + 'property_protected_static', + 'property_private_static', + 'property_public', + 'property_protected', + 'property_private', + 'method_public_static', + 'construct', + 'destruct', + 'magic', + 'phpunit', + 'method_public', + 'method_protected', + 'method_private', + 'method_protected_static', + 'method_private_static', + ], + ], + 'ordered_imports' => true, + 'phpdoc_add_missing_param_annotation' => true, + 'phpdoc_align' => true, + 'phpdoc_annotation_without_dot' => true, + 'phpdoc_indent' => true, + 'phpdoc_no_access' => true, + 'phpdoc_no_empty_return' => true, + 'phpdoc_no_package' => true, + 'phpdoc_order' => true, + 'phpdoc_return_self_reference' => true, + 'phpdoc_scalar' => true, + 'phpdoc_separation' => true, + 'phpdoc_single_line_var_spacing' => true, + 'phpdoc_to_comment' => true, + 'phpdoc_trim' => true, + 'phpdoc_trim_consecutive_blank_line_separation' => true, + 'phpdoc_types' => true, + 'phpdoc_types_order' => true, + 'phpdoc_var_without_name' => true, + 'pow_to_exponentiation' => true, + 'protected_to_private' => true, + 'random_api_migration' => true, + 'return_assignment' => true, + 'return_type_declaration' => ['space_before' => 'none'], + 'self_accessor' => true, + 'semicolon_after_instruction' => true, + 'set_type_to_cast' => true, + 'short_scalar_cast' => true, + 'simplified_null_return' => true, + 'single_blank_line_at_eof' => true, + 'single_import_per_statement' => true, + 'single_line_after_imports' => true, + 'single_quote' => true, + 'standardize_not_equals' => true, + 'ternary_to_null_coalescing' => true, + 'trailing_comma_in_multiline_array' => true, + 'trim_array_spaces' => true, + 'unary_operator_spaces' => true, + 'visibility_required' => [ + 'elements' => [ + 'const', + 'method', + 'property', + ], + ], + 'void_return' => true, + 'whitespace_after_comma_in_array' => true, + ] + ) + ->setFinder( + PhpCsFixer\Finder::create() + ->files() + ->in(__DIR__ . '/src') + ->in(__DIR__ . '/tests') + ); diff --git a/vendor/sebastian/environment/.travis.yml b/vendor/sebastian/environment/.travis.yml index 79208c350..69913aa03 100644 --- a/vendor/sebastian/environment/.travis.yml +++ b/vendor/sebastian/environment/.travis.yml @@ -1,18 +1,9 @@ language: php -sudo: false - -before_install: - - composer self-update - -install: - - travis_retry composer install --no-interaction --prefer-source - php: - - 7.0 - - 7.0snapshot - 7.1 - - 7.1snapshot + - 7.2 + - 7.3 - master sudo: false @@ -22,7 +13,7 @@ before_install: - composer clear-cache install: - - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable + - travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest script: - ./vendor/bin/phpunit --coverage-clover=coverage.xml diff --git a/vendor/sebastian/environment/ChangeLog.md b/vendor/sebastian/environment/ChangeLog.md index 839d85c8a..d0fbc3d14 100644 --- a/vendor/sebastian/environment/ChangeLog.md +++ b/vendor/sebastian/environment/ChangeLog.md @@ -2,6 +2,22 @@ All notable changes in `sebastianbergmann/environment` are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. +## [4.0.1] - 2018-11-25 + +### Fixed + +* Fixed [#31](https://github.com/sebastianbergmann/environment/issues/31): Regressions in `Console` class + +## [4.0.0] - 2018-10-23 [YANKED] + +### Fixed + +* Fixed [#25](https://github.com/sebastianbergmann/environment/pull/25): `Console::hasColorSupport()` does not work on Windows + +### Removed + +* This component is no longer supported on PHP 7.0 + ## [3.1.0] - 2017-07-01 ### Added @@ -42,6 +58,8 @@ All notable changes in `sebastianbergmann/environment` are documented in this fi * This component is no longer supported on PHP 5.6 +[4.0.1]: https://github.com/sebastianbergmann/phpunit/compare/66691f8e2dc4641909166b275a9a4f45c0e89092...4.0.1 +[4.0.0]: https://github.com/sebastianbergmann/phpunit/compare/3.1.0...66691f8e2dc4641909166b275a9a4f45c0e89092 [3.1.0]: https://github.com/sebastianbergmann/phpunit/compare/3.0...3.1.0 [3.0.4]: https://github.com/sebastianbergmann/phpunit/compare/3.0.3...3.0.4 [3.0.3]: https://github.com/sebastianbergmann/phpunit/compare/3.0.2...3.0.3 diff --git a/vendor/sebastian/environment/LICENSE b/vendor/sebastian/environment/LICENSE index 168c4ee72..9f80e2282 100644 --- a/vendor/sebastian/environment/LICENSE +++ b/vendor/sebastian/environment/LICENSE @@ -1,6 +1,6 @@ sebastian/environment -Copyright (c) 2014-2017, Sebastian Bergmann <sebastian@phpunit.de>. +Copyright (c) 2014-2018, Sebastian Bergmann <sebastian@phpunit.de>. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/vendor/sebastian/environment/README.md b/vendor/sebastian/environment/README.md index f0827ff8d..3e854af35 100644 --- a/vendor/sebastian/environment/README.md +++ b/vendor/sebastian/environment/README.md @@ -3,7 +3,7 @@ This component provides functionality that helps writing PHP code that has runtime-specific (PHP / HHVM) execution paths. [![Latest Stable Version](https://img.shields.io/packagist/v/sebastian/environment.svg?style=flat-square)](https://packagist.org/packages/sebastian/environment) -[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.0-8892BF.svg?style=flat-square)](https://php.net/) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.1-8892BF.svg?style=flat-square)](https://php.net/) [![Build Status](https://travis-ci.org/sebastianbergmann/environment.svg?branch=master)](https://travis-ci.org/sebastianbergmann/environment) ## Installation diff --git a/vendor/sebastian/environment/build.xml b/vendor/sebastian/environment/build.xml index ea8be0194..591a58bbf 100644 --- a/vendor/sebastian/environment/build.xml +++ b/vendor/sebastian/environment/build.xml @@ -1,21 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <project name="environment" default="setup"> - <target name="setup" depends="clean,composer"/> + <target name="setup" depends="clean,composer"/> - <target name="clean" description="Cleanup build artifacts"> - <delete dir="${basedir}/vendor"/> - <delete file="${basedir}/composer.lock"/> - </target> + <target name="clean" description="Cleanup build artifacts"> + <delete dir="${basedir}/vendor"/> + <delete file="${basedir}/composer.lock"/> + </target> - <target name="composer" depends="clean" description="Install dependencies with Composer"> - <exec executable="composer" taskname="composer"> - <arg value="update"/> - <arg value="--no-interaction"/> - <arg value="--no-progress"/> - <arg value="--no-ansi"/> - <arg value="--no-suggest"/> - <arg value="--optimize-autoloader"/> - <arg value="--prefer-stable"/> - </exec> - </target> + <target name="composer" depends="clean" description="Install dependencies with Composer"> + <exec executable="composer" taskname="composer"> + <arg value="update"/> + <arg value="--no-interaction"/> + <arg value="--no-progress"/> + <arg value="--no-ansi"/> + <arg value="--no-suggest"/> + </exec> + </target> </project> diff --git a/vendor/sebastian/environment/composer.json b/vendor/sebastian/environment/composer.json index 3086774cd..8925c7ace 100644 --- a/vendor/sebastian/environment/composer.json +++ b/vendor/sebastian/environment/composer.json @@ -10,12 +10,16 @@ "email": "sebastian@phpunit.de" } ], + "config": { + "optimize-autoloader": true, + "sort-packages": true + }, "prefer-stable": true, "require": { - "php": "^7.0" + "php": "^7.1" }, "require-dev": { - "phpunit/phpunit": "^6.1" + "phpunit/phpunit": "^7.4" }, "autoload": { "classmap": [ @@ -24,7 +28,7 @@ }, "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } } } diff --git a/vendor/sebastian/environment/phpunit.xml b/vendor/sebastian/environment/phpunit.xml index 6c5092485..c63fea235 100644 --- a/vendor/sebastian/environment/phpunit.xml +++ b/vendor/sebastian/environment/phpunit.xml @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.2/phpunit.xsd" + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/7.4/phpunit.xsd" bootstrap="vendor/autoload.php" forceCoversAnnotation="true" beStrictAboutCoversAnnotation="true" beStrictAboutOutputDuringTests="true" verbose="true"> - <testsuite> - <directory suffix="Test.php">tests</directory> - </testsuite> + <testsuites> + <testsuite name="default"> + <directory suffix="Test.php">tests</directory> + </testsuite> + </testsuites> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> diff --git a/vendor/sebastian/environment/src/Console.php b/vendor/sebastian/environment/src/Console.php index 1d8c2cc03..442d62d53 100644 --- a/vendor/sebastian/environment/src/Console.php +++ b/vendor/sebastian/environment/src/Console.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; final class Console @@ -17,29 +14,36 @@ final class Console /** * @var int */ - const STDIN = 0; + public const STDIN = 0; /** * @var int */ - const STDOUT = 1; + public const STDOUT = 1; /** * @var int */ - const STDERR = 2; + public const STDERR = 2; /** * Returns true if STDOUT supports colorization. * * This code has been copied and adapted from - * Symfony\Component\Console\Output\OutputStream. + * Symfony\Component\Console\Output\StreamOutput. */ public function hasColorSupport(): bool { + if ('Hyper' === \getenv('TERM_PROGRAM')) { + return true; + } + if ($this->isWindows()) { // @codeCoverageIgnoreStart - return false !== \getenv('ANSICON') || 'ON' === \getenv('ConEmuANSI') || 'xterm' === \getenv('TERM'); + return (\defined('STDOUT') && \function_exists('sapi_windows_vt100_support') && @sapi_windows_vt100_support(\STDOUT)) + || false !== \getenv('ANSICON') + || 'ON' === \getenv('ConEmuANSI') + || 'xterm' === \getenv('TERM'); // @codeCoverageIgnoreEnd } @@ -49,7 +53,13 @@ final class Console // @codeCoverageIgnoreEnd } - return $this->isInteractive(STDOUT); + if ($this->isInteractive(\STDOUT)) { + return true; + } + + $stat = @\fstat(\STDOUT); + // Check if formatted mode is S_IFCHR + return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; } /** @@ -63,7 +73,7 @@ final class Console return $this->getNumberOfColumnsWindows(); } - if (!$this->isInteractive(self::STDIN)) { + if (!$this->isInteractive(\defined('STDIN') ? \STDIN : self::STDIN)) { return 80; } @@ -73,16 +83,20 @@ final class Console /** * Returns if the file descriptor is an interactive terminal or not. * + * Normally, we want to use a resource as a parameter, yet sadly it's not always awailable, + * eg when running code in interactive console (`php -a`), STDIN/STDOUT/STDERR constants are not defined. + * * @param int|resource $fileDescriptor */ public function isInteractive($fileDescriptor = self::STDOUT): bool { - return \function_exists('posix_isatty') && @\posix_isatty($fileDescriptor); + return (\is_resource($fileDescriptor) && \function_exists('stream_isatty') && @\stream_isatty($fileDescriptor)) // stream_isatty requires that descriptor is a real resource, not numeric ID of it + || (\function_exists('posix_isatty') && @\posix_isatty($fileDescriptor)); } private function isWindows(): bool { - return DIRECTORY_SEPARATOR === '\\'; + return \DIRECTORY_SEPARATOR === '\\'; } /** @@ -120,7 +134,7 @@ final class Console 'mode CON', [ 1 => ['pipe', 'w'], - 2 => ['pipe', 'w'] + 2 => ['pipe', 'w'], ], $pipes, null, diff --git a/vendor/sebastian/environment/src/OperatingSystem.php b/vendor/sebastian/environment/src/OperatingSystem.php index fa20e1e9c..67a35bc9a 100644 --- a/vendor/sebastian/environment/src/OperatingSystem.php +++ b/vendor/sebastian/environment/src/OperatingSystem.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; final class OperatingSystem @@ -21,14 +18,14 @@ final class OperatingSystem public function getFamily(): string { if (\defined('PHP_OS_FAMILY')) { - return PHP_OS_FAMILY; + return \PHP_OS_FAMILY; } - if (DIRECTORY_SEPARATOR === '\\') { + if (\DIRECTORY_SEPARATOR === '\\') { return 'Windows'; } - switch (PHP_OS) { + switch (\PHP_OS) { case 'Darwin': return 'Darwin'; diff --git a/vendor/sebastian/environment/src/Runtime.php b/vendor/sebastian/environment/src/Runtime.php index 018141f60..2674d0287 100644 --- a/vendor/sebastian/environment/src/Runtime.php +++ b/vendor/sebastian/environment/src/Runtime.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; /** @@ -59,7 +56,7 @@ final class Runtime if (self::$binary === null && $this->isHHVM()) { // @codeCoverageIgnoreStart if ((self::$binary = \getenv('PHP_BINARY')) === false) { - self::$binary = PHP_BINARY; + self::$binary = \PHP_BINARY; } self::$binary = \escapeshellarg(self::$binary) . ' --php' . @@ -67,21 +64,22 @@ final class Runtime // @codeCoverageIgnoreEnd } - if (self::$binary === null && PHP_BINARY !== '') { - self::$binary = \escapeshellarg(PHP_BINARY); + if (self::$binary === null && \PHP_BINARY !== '') { + self::$binary = \escapeshellarg(\PHP_BINARY); } if (self::$binary === null) { // @codeCoverageIgnoreStart $possibleBinaryLocations = [ - PHP_BINDIR . '/php', - PHP_BINDIR . '/php-cli.exe', - PHP_BINDIR . '/php.exe' + \PHP_BINDIR . '/php', + \PHP_BINDIR . '/php-cli.exe', + \PHP_BINDIR . '/php.exe', ]; foreach ($possibleBinaryLocations as $binary) { if (\is_readable($binary)) { self::$binary = \escapeshellarg($binary); + break; } } @@ -138,7 +136,7 @@ final class Runtime // @codeCoverageIgnoreEnd } - return PHP_VERSION; + return \PHP_VERSION; } /** @@ -170,7 +168,7 @@ final class Runtime */ public function isPHPDBG(): bool { - return PHP_SAPI === 'phpdbg' && !$this->isHHVM(); + return \PHP_SAPI === 'phpdbg' && !$this->isHHVM(); } /** diff --git a/vendor/sebastian/environment/tests/ConsoleTest.php b/vendor/sebastian/environment/tests/ConsoleTest.php index f8983cc1a..572e82ac7 100644 --- a/vendor/sebastian/environment/tests/ConsoleTest.php +++ b/vendor/sebastian/environment/tests/ConsoleTest.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; use PHPUnit\Framework\TestCase; @@ -24,7 +21,7 @@ final class ConsoleTest extends TestCase */ private $console; - protected function setUp()/*: void*/ + protected function setUp(): void { $this->console = new Console; } @@ -33,7 +30,7 @@ final class ConsoleTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanDetectIfStdoutIsInteractiveByDefault()/*: void*/ + public function testCanDetectIfStdoutIsInteractiveByDefault(): void { $this->assertInternalType('boolean', $this->console->isInteractive()); } @@ -42,16 +39,16 @@ final class ConsoleTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanDetectIfFileDescriptorIsInteractive()/*: void*/ + public function testCanDetectIfFileDescriptorIsInteractive(): void { - $this->assertInternalType('boolean', $this->console->isInteractive(STDOUT)); + $this->assertInternalType('boolean', $this->console->isInteractive(\STDOUT)); } /** * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanDetectColorSupport()/*: void*/ + public function testCanDetectColorSupport(): void { $this->assertInternalType('boolean', $this->console->hasColorSupport()); } @@ -60,7 +57,7 @@ final class ConsoleTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanDetectNumberOfColumns()/*: void*/ + public function testCanDetectNumberOfColumns(): void { $this->assertInternalType('integer', $this->console->getNumberOfColumns()); } diff --git a/vendor/sebastian/environment/tests/OperatingSystemTest.php b/vendor/sebastian/environment/tests/OperatingSystemTest.php index 56008fba2..e311cb17f 100644 --- a/vendor/sebastian/environment/tests/OperatingSystemTest.php +++ b/vendor/sebastian/environment/tests/OperatingSystemTest.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; use PHPUnit\Framework\TestCase; @@ -24,7 +21,7 @@ final class OperatingSystemTest extends TestCase */ private $os; - protected function setUp()/*: void*/ + protected function setUp(): void { $this->os = new OperatingSystem; } @@ -32,7 +29,7 @@ final class OperatingSystemTest extends TestCase /** * @requires OS Linux */ - public function testFamilyCanBeRetrieved()/*: void*/ + public function testFamilyCanBeRetrieved(): void { $this->assertEquals('Linux', $this->os->getFamily()); } diff --git a/vendor/sebastian/environment/tests/RuntimeTest.php b/vendor/sebastian/environment/tests/RuntimeTest.php index 2b40cb258..c10d94b8b 100644 --- a/vendor/sebastian/environment/tests/RuntimeTest.php +++ b/vendor/sebastian/environment/tests/RuntimeTest.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of sebastian/environment. * @@ -7,9 +7,6 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - -declare(strict_types=1); - namespace SebastianBergmann\Environment; use PHPUnit\Framework\TestCase; @@ -24,7 +21,7 @@ final class RuntimeTest extends TestCase */ private $env; - protected function setUp()/*: void*/ + protected function setUp(): void { $this->env = new Runtime; } @@ -33,7 +30,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testAbilityToCollectCodeCoverageCanBeAssessed()/*: void*/ + public function testAbilityToCollectCodeCoverageCanBeAssessed(): void { $this->assertInternalType('boolean', $this->env->canCollectCodeCoverage()); } @@ -42,7 +39,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testBinaryCanBeRetrieved()/*: void*/ + public function testBinaryCanBeRetrieved(): void { $this->assertInternalType('string', $this->env->getBinary()); } @@ -51,7 +48,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanBeDetected()/*: void*/ + public function testCanBeDetected(): void { $this->assertInternalType('boolean', $this->env->isHHVM()); } @@ -60,7 +57,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testCanBeDetected2()/*: void*/ + public function testCanBeDetected2(): void { $this->assertInternalType('boolean', $this->env->isPHP()); } @@ -69,7 +66,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testXdebugCanBeDetected()/*: void*/ + public function testXdebugCanBeDetected(): void { $this->assertInternalType('boolean', $this->env->hasXdebug()); } @@ -78,7 +75,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testNameAndVersionCanBeRetrieved()/*: void*/ + public function testNameAndVersionCanBeRetrieved(): void { $this->assertInternalType('string', $this->env->getNameWithVersion()); } @@ -87,7 +84,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testNameCanBeRetrieved()/*: void*/ + public function testNameCanBeRetrieved(): void { $this->assertInternalType('string', $this->env->getName()); } @@ -96,7 +93,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testVersionCanBeRetrieved()/*: void*/ + public function testVersionCanBeRetrieved(): void { $this->assertInternalType('string', $this->env->getVersion()); } @@ -105,7 +102,7 @@ final class RuntimeTest extends TestCase * @todo Now that this component is PHP 7-only and uses return type declarations * this test makes even less sense than before */ - public function testVendorUrlCanBeRetrieved()/*: void*/ + public function testVendorUrlCanBeRetrieved(): void { $this->assertInternalType('string', $this->env->getVendorUrl()); } diff --git a/vendor/sebastian/resource-operations/.github/stale.yml b/vendor/sebastian/resource-operations/.github/stale.yml new file mode 100644 index 000000000..4eadca327 --- /dev/null +++ b/vendor/sebastian/resource-operations/.github/stale.yml @@ -0,0 +1,40 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before a stale Issue or Pull Request is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 7 + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - enhancement + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: false + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: false + +# Label to use when marking as stale +staleLabel: stale + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had activity within the last 60 days. It will be closed after 7 days if no further activity occurs. Thank you for your contributions. + +# Comment to post when removing the stale label. +# unmarkComment: > +# Your comment here. + +# Comment to post when closing a stale Issue or Pull Request. +closeComment: > + This issue has been automatically closed because it has not had activity since it was marked as stale. Thank you for your contributions. + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 30 + +# Limit to only `issues` or `pulls` +only: issues + diff --git a/vendor/sebastian/resource-operations/.gitignore b/vendor/sebastian/resource-operations/.gitignore index d974001ab..4f9b2392f 100644 --- a/vendor/sebastian/resource-operations/.gitignore +++ b/vendor/sebastian/resource-operations/.gitignore @@ -1,3 +1,5 @@ /.idea -/build/arginfo.php - +/.php_cs.cache +/build/FunctionSignatureMap.php +/composer.lock +/vendor diff --git a/vendor/sebastian/resource-operations/.php_cs.dist b/vendor/sebastian/resource-operations/.php_cs.dist new file mode 100644 index 000000000..22641a643 --- /dev/null +++ b/vendor/sebastian/resource-operations/.php_cs.dist @@ -0,0 +1,191 @@ +<?php +$header = <<<'EOF' +This file is part of resource-operations. + +(c) Sebastian Bergmann <sebastian@phpunit.de> + +For the full copyright and license information, please view the LICENSE +file that was distributed with this source code. +EOF; + +return PhpCsFixer\Config::create() + ->setRiskyAllowed(true) + ->setRules( + [ + 'align_multiline_comment' => true, + 'array_indentation' => true, + 'array_syntax' => ['syntax' => 'short'], + 'binary_operator_spaces' => [ + 'operators' => [ + '=' => 'align', + '=>' => 'align', + ], + ], + 'blank_line_after_namespace' => true, + 'blank_line_before_statement' => [ + 'statements' => [ + 'break', + 'continue', + 'declare', + 'do', + 'for', + 'foreach', + 'if', + 'include', + 'include_once', + 'require', + 'require_once', + 'return', + 'switch', + 'throw', + 'try', + 'while', + 'yield', + ], + ], + 'braces' => true, + 'cast_spaces' => true, + 'class_attributes_separation' => ['elements' => ['const', 'method', 'property']], + 'combine_consecutive_issets' => true, + 'combine_consecutive_unsets' => true, + 'compact_nullable_typehint' => true, + 'concat_space' => ['spacing' => 'one'], + 'declare_equal_normalize' => ['space' => 'none'], + 'declare_strict_types' => true, + 'dir_constant' => true, + 'elseif' => true, + 'encoding' => true, + 'full_opening_tag' => true, + 'function_declaration' => true, + 'header_comment' => ['header' => $header, 'separate' => 'none'], + 'indentation_type' => true, + 'is_null' => true, + 'line_ending' => true, + 'list_syntax' => ['syntax' => 'short'], + 'logical_operators' => true, + 'lowercase_cast' => true, + 'lowercase_constants' => true, + 'lowercase_keywords' => true, + 'lowercase_static_reference' => true, + 'magic_constant_casing' => true, + 'method_argument_space' => ['ensure_fully_multiline' => true], + 'modernize_types_casting' => true, + 'multiline_comment_opening_closing' => true, + 'multiline_whitespace_before_semicolons' => true, + 'native_constant_invocation' => true, + 'native_function_casing' => true, + 'native_function_invocation' => true, + 'new_with_braces' => false, + 'no_alias_functions' => true, + 'no_alternative_syntax' => true, + 'no_blank_lines_after_class_opening' => true, + 'no_blank_lines_after_phpdoc' => true, + 'no_blank_lines_before_namespace' => true, + 'no_closing_tag' => true, + 'no_empty_comment' => true, + 'no_empty_phpdoc' => true, + 'no_empty_statement' => true, + 'no_extra_blank_lines' => true, + 'no_homoglyph_names' => true, + 'no_leading_import_slash' => true, + 'no_leading_namespace_whitespace' => true, + 'no_mixed_echo_print' => ['use' => 'print'], + 'no_multiline_whitespace_around_double_arrow' => true, + 'no_null_property_initialization' => true, + 'no_php4_constructor' => true, + 'no_short_bool_cast' => true, + 'no_short_echo_tag' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'no_spaces_after_function_name' => true, + 'no_spaces_inside_parenthesis' => true, + 'no_superfluous_elseif' => true, + 'no_superfluous_phpdoc_tags' => true, + 'no_trailing_comma_in_list_call' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_trailing_whitespace' => true, + 'no_trailing_whitespace_in_comment' => true, + 'no_unneeded_control_parentheses' => true, + 'no_unneeded_curly_braces' => true, + 'no_unneeded_final_method' => true, + 'no_unreachable_default_argument_value' => true, + 'no_unset_on_property' => true, + 'no_unused_imports' => true, + 'no_useless_else' => true, + 'no_useless_return' => true, + 'no_whitespace_before_comma_in_array' => true, + 'no_whitespace_in_blank_line' => true, + 'non_printable_character' => true, + 'normalize_index_brace' => true, + 'object_operator_without_whitespace' => true, + 'ordered_class_elements' => [ + 'order' => [ + 'use_trait', + 'constant_public', + 'constant_protected', + 'constant_private', + 'property_public_static', + 'property_protected_static', + 'property_private_static', + 'property_public', + 'property_protected', + 'property_private', + 'method_public_static', + 'construct', + 'destruct', + 'magic', + 'phpunit', + 'method_public', + 'method_protected', + 'method_private', + 'method_protected_static', + 'method_private_static', + ], + ], + 'ordered_imports' => true, + 'phpdoc_add_missing_param_annotation' => true, + 'phpdoc_align' => true, + 'phpdoc_annotation_without_dot' => true, + 'phpdoc_indent' => true, + 'phpdoc_no_access' => true, + 'phpdoc_no_empty_return' => true, + 'phpdoc_no_package' => true, + 'phpdoc_order' => true, + 'phpdoc_return_self_reference' => true, + 'phpdoc_scalar' => true, + 'phpdoc_separation' => true, + 'phpdoc_single_line_var_spacing' => true, + 'phpdoc_to_comment' => true, + 'phpdoc_trim' => true, + 'phpdoc_trim_consecutive_blank_line_separation' => true, + 'phpdoc_types' => true, + 'phpdoc_types_order' => true, + 'phpdoc_var_without_name' => true, + 'pow_to_exponentiation' => true, + 'protected_to_private' => true, + 'return_assignment' => true, + 'return_type_declaration' => ['space_before' => 'none'], + 'self_accessor' => true, + 'semicolon_after_instruction' => true, + 'set_type_to_cast' => true, + 'short_scalar_cast' => true, + 'simplified_null_return' => true, + 'single_blank_line_at_eof' => true, + 'single_import_per_statement' => true, + 'single_line_after_imports' => true, + 'single_quote' => true, + 'standardize_not_equals' => true, + 'ternary_to_null_coalescing' => true, + 'trailing_comma_in_multiline_array' => true, + 'trim_array_spaces' => true, + 'unary_operator_spaces' => true, + 'visibility_required' => true, + 'void_return' => true, + 'whitespace_after_comma_in_array' => true, + ] + ) + ->setFinder( + PhpCsFixer\Finder::create() + ->files() + ->in(__DIR__ . '/src') + ->in(__DIR__ . '/tests') + ); diff --git a/vendor/sebastian/resource-operations/ChangeLog.md b/vendor/sebastian/resource-operations/ChangeLog.md new file mode 100644 index 000000000..bd214402c --- /dev/null +++ b/vendor/sebastian/resource-operations/ChangeLog.md @@ -0,0 +1,26 @@ +# ChangeLog + +All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles. + +## [2.0.1] - 2018-10-04 + +### Fixed + +* Functions and methods with nullable parameters of type `resource` are now also considered + +## [2.0.0] - 2018-09-27 + +### Changed + +* [FunctionSignatureMap.php](https://raw.githubusercontent.com/phan/phan/master/src/Phan/Language/Internal/FunctionSignatureMap.php) from `phan/phan` is now used instead of [arginfo.php](https://raw.githubusercontent.com/rlerdorf/phan/master/includes/arginfo.php) from `rlerdorf/phan` + +### Removed + +* This component is no longer supported on PHP 5.6 and PHP 7.0 + +## 1.0.0 - 2015-07-28 + +* Initial release + +[2.0.1]: https://github.com/sebastianbergmann/comparator/compare/2.0.0...2.0.1 +[2.0.0]: https://github.com/sebastianbergmann/comparator/compare/1.0.0...2.0.0 diff --git a/vendor/sebastian/resource-operations/LICENSE b/vendor/sebastian/resource-operations/LICENSE index a80fe6745..272721811 100644 --- a/vendor/sebastian/resource-operations/LICENSE +++ b/vendor/sebastian/resource-operations/LICENSE @@ -1,6 +1,6 @@ Resource Operations -Copyright (c) 2015, Sebastian Bergmann <sebastian@phpunit.de>. +Copyright (c) 2015-2018, Sebastian Bergmann <sebastian@phpunit.de>. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/vendor/sebastian/resource-operations/README.md b/vendor/sebastian/resource-operations/README.md index c7f5fe2c5..88b05ccb6 100644 --- a/vendor/sebastian/resource-operations/README.md +++ b/vendor/sebastian/resource-operations/README.md @@ -4,13 +4,11 @@ Provides a list of PHP built-in functions that operate on resources. ## Installation -To add this component as a local, per-project dependency to your project, simply add a dependency on `sebastian/resource-operations` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on this component: +You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): -```JSON -{ - "require": { - "sebastian/resource-operations": "~1.0" - } -} -``` + composer require sebastian/resource-operations + +If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: + + composer require --dev sebastian/resource-operations diff --git a/vendor/sebastian/resource-operations/build.xml b/vendor/sebastian/resource-operations/build.xml index ba136838e..695ffa88e 100644 --- a/vendor/sebastian/resource-operations/build.xml +++ b/vendor/sebastian/resource-operations/build.xml @@ -1,24 +1,38 @@ <?xml version="1.0" encoding="UTF-8"?> -<project name="resource-operations" default="build"> - <target name="build" depends="generate" /> +<project name="resource-operations" default="setup"> + <target name="setup" depends="clean,composer,generate"/> - <target name="generate" depends="download-arginfo"> - <exec executable="${basedir}/build/generate.php" taskname="generate" /> - </target> + <target name="clean" description="Cleanup build artifacts"> + <delete dir="${basedir}/vendor"/> + <delete file="${basedir}/composer.lock"/> + </target> - <target name="download-arginfo"> - <tstamp> - <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/> - </tstamp> + <target name="composer" depends="clean" description="Install dependencies with Composer"> + <exec executable="composer" taskname="composer"> + <arg value="update"/> + <arg value="--no-interaction"/> + <arg value="--no-progress"/> + <arg value="--no-ansi"/> + <arg value="--no-suggest"/> + </exec> + </target> - <delete> - <fileset dir="${basedir}/build"> - <include name="arginfo.php" /> - <date datetime="${thirty.days.ago}" when="before"/> - </fileset> - </delete> + <target name="generate" depends="-download-arginfo"> + <exec executable="${basedir}/build/generate.php" taskname="generate" /> + </target> - <get src="https://raw.githubusercontent.com/rlerdorf/phan/master/includes/arginfo.php" dest="${basedir}/build/arginfo.php" skipexisting="true"/> - </target> + <target name="-download-arginfo"> + <tstamp> + <format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/> + </tstamp> + + <delete> + <fileset dir="${basedir}/build"> + <include name="arginfo.php" /> + <date datetime="${thirty.days.ago}" when="before"/> + </fileset> + </delete> + + <get src="https://raw.githubusercontent.com/phan/phan/master/src/Phan/Language/Internal/FunctionSignatureMap.php" dest="${basedir}/build/FunctionSignatureMap.php" skipexisting="true"/> + </target> </project> - diff --git a/vendor/sebastian/resource-operations/build/generate.php b/vendor/sebastian/resource-operations/build/generate.php old mode 100644 new mode 100755 index 957044034..0354dc45f --- a/vendor/sebastian/resource-operations/build/generate.php +++ b/vendor/sebastian/resource-operations/build/generate.php @@ -1,5 +1,5 @@ #!/usr/bin/env php -<?php +<?php declare(strict_types=1); /* * This file is part of resource-operations. * @@ -9,13 +9,17 @@ * file that was distributed with this source code. */ -$functions = require __DIR__ . '/arginfo.php'; +$functions = require __DIR__ . '/FunctionSignatureMap.php'; $resourceFunctions = []; foreach ($functions as $function => $arguments) { foreach ($arguments as $argument) { - if ($argument == 'resource') { - $resourceFunctions[] = $function; + if (strpos($argument, '?') === 0) { + $argument = substr($argument, 1); + } + + if ($argument === 'resource') { + $resourceFunctions[] = explode('\'', $function)[0]; } } } @@ -24,7 +28,7 @@ $resourceFunctions = array_unique($resourceFunctions); sort($resourceFunctions); $buffer = <<<EOT -<?php +<?php declare(strict_types=1); /* * This file is part of resource-operations. * @@ -33,15 +37,14 @@ $buffer = <<<EOT * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\ResourceOperations; -class ResourceOperations +final class ResourceOperations { /** * @return string[] */ - public static function getFunctions() + public static function getFunctions(): array { return [ diff --git a/vendor/sebastian/resource-operations/composer.json b/vendor/sebastian/resource-operations/composer.json index da495d62e..a5e2320e4 100644 --- a/vendor/sebastian/resource-operations/composer.json +++ b/vendor/sebastian/resource-operations/composer.json @@ -10,16 +10,23 @@ } ], "require": { - "php": ">=5.6.0" + "php": "^7.1" }, "autoload": { "classmap": [ "src/" ] }, + "config": { + "platform": { + "php": "7.1.0" + }, + "optimize-autoloader": true, + "sort-packages": true + }, "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } } } diff --git a/vendor/sebastian/resource-operations/src/ResourceOperations.php b/vendor/sebastian/resource-operations/src/ResourceOperations.php index 87d000c1c..f3911f36c 100644 --- a/vendor/sebastian/resource-operations/src/ResourceOperations.php +++ b/vendor/sebastian/resource-operations/src/ResourceOperations.php @@ -1,4 +1,4 @@ -<?php +<?php declare(strict_types=1); /* * This file is part of resource-operations. * @@ -7,40 +7,262 @@ * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ - namespace SebastianBergmann\ResourceOperations; -class ResourceOperations +final class ResourceOperations { /** * @return string[] */ - public static function getFunctions() + public static function getFunctions(): array { return [ 'Directory::close', 'Directory::read', 'Directory::rewind', + 'DirectoryIterator::openFile', + 'FilesystemIterator::openFile', + 'Gmagick::readimagefile', 'HttpResponse::getRequestBodyStream', 'HttpResponse::getStream', + 'HttpResponse::setStream', + 'Imagick::pingImageFile', + 'Imagick::readImageFile', + 'Imagick::writeImageFile', + 'Imagick::writeImagesFile', 'MongoGridFSCursor::__construct', 'MongoGridFSFile::getResource', 'MysqlndUhConnection::stmtInit', 'MysqlndUhConnection::storeResult', 'MysqlndUhConnection::useResult', + 'PDF_activate_item', + 'PDF_add_launchlink', + 'PDF_add_locallink', + 'PDF_add_nameddest', + 'PDF_add_note', + 'PDF_add_pdflink', + 'PDF_add_table_cell', + 'PDF_add_textflow', + 'PDF_add_thumbnail', + 'PDF_add_weblink', + 'PDF_arc', + 'PDF_arcn', + 'PDF_attach_file', + 'PDF_begin_document', + 'PDF_begin_font', + 'PDF_begin_glyph', + 'PDF_begin_item', + 'PDF_begin_layer', + 'PDF_begin_page', + 'PDF_begin_page_ext', + 'PDF_begin_pattern', + 'PDF_begin_template', + 'PDF_begin_template_ext', + 'PDF_circle', + 'PDF_clip', + 'PDF_close', + 'PDF_close_image', + 'PDF_close_pdi', + 'PDF_close_pdi_page', + 'PDF_closepath', + 'PDF_closepath_fill_stroke', + 'PDF_closepath_stroke', + 'PDF_concat', + 'PDF_continue_text', + 'PDF_create_3dview', + 'PDF_create_action', + 'PDF_create_annotation', + 'PDF_create_bookmark', + 'PDF_create_field', + 'PDF_create_fieldgroup', + 'PDF_create_gstate', + 'PDF_create_pvf', + 'PDF_create_textflow', + 'PDF_curveto', + 'PDF_define_layer', + 'PDF_delete', + 'PDF_delete_pvf', + 'PDF_delete_table', + 'PDF_delete_textflow', + 'PDF_encoding_set_char', + 'PDF_end_document', + 'PDF_end_font', + 'PDF_end_glyph', + 'PDF_end_item', + 'PDF_end_layer', + 'PDF_end_page', + 'PDF_end_page_ext', + 'PDF_end_pattern', + 'PDF_end_template', + 'PDF_endpath', + 'PDF_fill', + 'PDF_fill_imageblock', + 'PDF_fill_pdfblock', + 'PDF_fill_stroke', + 'PDF_fill_textblock', + 'PDF_findfont', + 'PDF_fit_image', + 'PDF_fit_pdi_page', + 'PDF_fit_table', + 'PDF_fit_textflow', + 'PDF_fit_textline', + 'PDF_get_apiname', + 'PDF_get_buffer', + 'PDF_get_errmsg', + 'PDF_get_errnum', + 'PDF_get_parameter', + 'PDF_get_pdi_parameter', + 'PDF_get_pdi_value', + 'PDF_get_value', + 'PDF_info_font', + 'PDF_info_matchbox', + 'PDF_info_table', + 'PDF_info_textflow', + 'PDF_info_textline', + 'PDF_initgraphics', + 'PDF_lineto', + 'PDF_load_3ddata', + 'PDF_load_font', + 'PDF_load_iccprofile', + 'PDF_load_image', + 'PDF_makespotcolor', + 'PDF_moveto', 'PDF_new', + 'PDF_open_ccitt', + 'PDF_open_file', + 'PDF_open_image', + 'PDF_open_image_file', + 'PDF_open_memory_image', + 'PDF_open_pdi', + 'PDF_open_pdi_document', + 'PDF_open_pdi_page', + 'PDF_pcos_get_number', + 'PDF_pcos_get_stream', + 'PDF_pcos_get_string', + 'PDF_place_image', + 'PDF_place_pdi_page', + 'PDF_process_pdi', + 'PDF_rect', + 'PDF_restore', + 'PDF_resume_page', + 'PDF_rotate', + 'PDF_save', + 'PDF_scale', + 'PDF_set_border_color', + 'PDF_set_border_dash', + 'PDF_set_border_style', + 'PDF_set_gstate', + 'PDF_set_info', + 'PDF_set_layer_dependency', + 'PDF_set_parameter', + 'PDF_set_text_pos', + 'PDF_set_value', + 'PDF_setcolor', + 'PDF_setdash', + 'PDF_setdashpattern', + 'PDF_setflat', + 'PDF_setfont', + 'PDF_setgray', + 'PDF_setgray_fill', + 'PDF_setgray_stroke', + 'PDF_setlinecap', + 'PDF_setlinejoin', + 'PDF_setlinewidth', + 'PDF_setmatrix', + 'PDF_setmiterlimit', + 'PDF_setrgbcolor', + 'PDF_setrgbcolor_fill', + 'PDF_setrgbcolor_stroke', + 'PDF_shading', + 'PDF_shading_pattern', + 'PDF_shfill', + 'PDF_show', + 'PDF_show_boxed', + 'PDF_show_xy', + 'PDF_skew', + 'PDF_stringwidth', + 'PDF_stroke', + 'PDF_suspend_page', + 'PDF_translate', + 'PDF_utf16_to_utf8', + 'PDF_utf32_to_utf16', + 'PDF_utf8_to_utf16', 'PDO::pgsqlLOBOpen', 'RarEntry::getStream', 'SQLite3::openBlob', + 'SWFMovie::saveToFile', + 'SplFileInfo::openFile', + 'SplFileObject::openFile', + 'SplTempFileObject::openFile', + 'V8Js::compileString', + 'V8Js::executeScript', + 'Vtiful\Kernel\Excel::setColumn', + 'Vtiful\Kernel\Excel::setRow', + 'Vtiful\Kernel\Format::align', + 'Vtiful\Kernel\Format::bold', + 'Vtiful\Kernel\Format::italic', + 'Vtiful\Kernel\Format::underline', 'XMLWriter::openMemory', 'XMLWriter::openURI', 'ZipArchive::getStream', + 'Zookeeper::setLogStream', + 'apc_bin_dumpfile', + 'apc_bin_loadfile', + 'bbcode_add_element', + 'bbcode_add_smiley', 'bbcode_create', + 'bbcode_destroy', + 'bbcode_parse', + 'bbcode_set_arg_parser', + 'bbcode_set_flags', + 'bcompiler_read', + 'bcompiler_write_class', + 'bcompiler_write_constant', + 'bcompiler_write_exe_footer', + 'bcompiler_write_file', + 'bcompiler_write_footer', + 'bcompiler_write_function', + 'bcompiler_write_functions_from_file', + 'bcompiler_write_header', + 'bcompiler_write_included_filename', + 'bzclose', + 'bzerrno', + 'bzerror', + 'bzerrstr', + 'bzflush', 'bzopen', + 'bzread', + 'bzwrite', + 'cairo_surface_write_to_png', + 'closedir', + 'copy', + 'crack_closedict', 'crack_opendict', + 'cubrid_bind', + 'cubrid_close_prepare', + 'cubrid_close_request', + 'cubrid_col_get', + 'cubrid_col_size', + 'cubrid_column_names', + 'cubrid_column_types', + 'cubrid_commit', 'cubrid_connect', 'cubrid_connect_with_url', + 'cubrid_current_oid', + 'cubrid_db_parameter', + 'cubrid_disconnect', + 'cubrid_drop', + 'cubrid_fetch', + 'cubrid_free_result', + 'cubrid_get', + 'cubrid_get_autocommit', + 'cubrid_get_charset', + 'cubrid_get_class_name', + 'cubrid_get_db_parameter', 'cubrid_get_query_timeout', + 'cubrid_get_server_info', + 'cubrid_insert_id', + 'cubrid_is_instance', 'cubrid_lob2_bind', 'cubrid_lob2_close', 'cubrid_lob2_export', @@ -54,21 +276,46 @@ class ResourceOperations 'cubrid_lob2_tell', 'cubrid_lob2_tell64', 'cubrid_lob2_write', + 'cubrid_lob_export', + 'cubrid_lob_get', + 'cubrid_lob_send', + 'cubrid_lob_size', + 'cubrid_lock_read', + 'cubrid_lock_write', + 'cubrid_move_cursor', + 'cubrid_next_result', + 'cubrid_num_cols', + 'cubrid_num_rows', 'cubrid_pconnect', 'cubrid_pconnect_with_url', 'cubrid_prepare', + 'cubrid_put', 'cubrid_query', + 'cubrid_rollback', + 'cubrid_schema', + 'cubrid_seq_add', + 'cubrid_seq_drop', + 'cubrid_seq_insert', + 'cubrid_seq_put', + 'cubrid_set_add', + 'cubrid_set_autocommit', + 'cubrid_set_db_parameter', + 'cubrid_set_drop', 'cubrid_set_query_timeout', 'cubrid_unbuffered_query', + 'curl_close', 'curl_copy_handle', + 'curl_errno', + 'curl_error', + 'curl_escape', + 'curl_exec', 'curl_getinfo', - 'curl_init', 'curl_multi_add_handle', 'curl_multi_close', + 'curl_multi_errno', 'curl_multi_exec', 'curl_multi_getcontent', 'curl_multi_info_read', - 'curl_multi_init', 'curl_multi_remove_handle', 'curl_multi_select', 'curl_multi_setopt', @@ -77,37 +324,130 @@ class ResourceOperations 'curl_setopt', 'curl_setopt_array', 'curl_share_close', + 'curl_share_errno', 'curl_share_init', 'curl_share_setopt', 'curl_unescape', + 'cyrus_authenticate', + 'cyrus_bind', + 'cyrus_close', 'cyrus_connect', + 'cyrus_query', + 'cyrus_unbind', + 'db2_autocommit', + 'db2_bind_param', + 'db2_client_info', + 'db2_close', 'db2_column_privileges', 'db2_columns', + 'db2_commit', + 'db2_conn_error', + 'db2_conn_errormsg', 'db2_connect', + 'db2_cursor_type', 'db2_exec', + 'db2_execute', + 'db2_fetch_array', + 'db2_fetch_assoc', + 'db2_fetch_both', + 'db2_fetch_object', + 'db2_fetch_row', + 'db2_field_display_size', + 'db2_field_name', + 'db2_field_num', + 'db2_field_precision', + 'db2_field_scale', + 'db2_field_type', + 'db2_field_width', 'db2_foreign_keys', + 'db2_free_result', + 'db2_free_stmt', + 'db2_get_option', + 'db2_last_insert_id', + 'db2_lob_read', 'db2_next_result', + 'db2_num_fields', + 'db2_num_rows', + 'db2_pclose', 'db2_pconnect', 'db2_prepare', 'db2_primary_keys', 'db2_procedure_columns', 'db2_procedures', + 'db2_result', + 'db2_rollback', + 'db2_server_info', + 'db2_set_option', 'db2_special_columns', 'db2_statistics', + 'db2_stmt_error', + 'db2_stmt_errormsg', 'db2_table_privileges', 'db2_tables', + 'dba_close', + 'dba_delete', + 'dba_exists', 'dba_fetch', - 'dba_fetch 1', + 'dba_firstkey', + 'dba_insert', + 'dba_nextkey', 'dba_open', + 'dba_optimize', 'dba_popen', + 'dba_replace', + 'dba_sync', + 'dbplus_add', 'dbplus_aql', + 'dbplus_close', + 'dbplus_curr', + 'dbplus_find', + 'dbplus_first', + 'dbplus_flush', + 'dbplus_freelock', + 'dbplus_freerlocks', + 'dbplus_getlock', + 'dbplus_getunique', + 'dbplus_info', + 'dbplus_last', + 'dbplus_lockrel', + 'dbplus_next', 'dbplus_open', + 'dbplus_prev', + 'dbplus_rchperm', 'dbplus_rcreate', + 'dbplus_rcrtexact', + 'dbplus_rcrtlike', + 'dbplus_restorepos', + 'dbplus_rkeys', 'dbplus_ropen', 'dbplus_rquery', + 'dbplus_rrename', + 'dbplus_rsecindex', + 'dbplus_runlink', + 'dbplus_rzap', + 'dbplus_savepos', + 'dbplus_setindex', + 'dbplus_setindexbynumber', 'dbplus_sql', - 'deflate_init', + 'dbplus_tremove', + 'dbplus_undo', + 'dbplus_undoprepare', + 'dbplus_unlockrel', + 'dbplus_unselect', + 'dbplus_update', + 'dbplus_xlockrel', + 'dbplus_xunlockrel', + 'deflate_add', + 'dio_close', + 'dio_fcntl', 'dio_open', + 'dio_read', + 'dio_seek', + 'dio_stat', + 'dio_tcsetattr', + 'dio_truncate', + 'dio_write', + 'dir', 'eio_busy', 'eio_cancel', 'eio_chmod', @@ -154,21 +494,69 @@ class ResourceOperations 'eio_unlink', 'eio_utime', 'eio_write', + 'enchant_broker_describe', + 'enchant_broker_dict_exists', + 'enchant_broker_free', 'enchant_broker_free_dict', + 'enchant_broker_get_dict_path', + 'enchant_broker_get_error', 'enchant_broker_init', + 'enchant_broker_list_dicts', 'enchant_broker_request_dict', 'enchant_broker_request_pwl_dict', + 'enchant_broker_set_dict_path', + 'enchant_broker_set_ordering', + 'enchant_dict_add_to_personal', + 'enchant_dict_add_to_session', + 'enchant_dict_check', + 'enchant_dict_describe', + 'enchant_dict_get_error', + 'enchant_dict_is_in_session', + 'enchant_dict_quick_check', + 'enchant_dict_store_replacement', + 'enchant_dict_suggest', + 'event_add', + 'event_base_free', + 'event_base_loop', + 'event_base_loopbreak', + 'event_base_loopexit', 'event_base_new', + 'event_base_priority_init', 'event_base_reinit', + 'event_base_set', + 'event_buffer_base_set', + 'event_buffer_disable', + 'event_buffer_enable', + 'event_buffer_fd_set', + 'event_buffer_free', 'event_buffer_new', + 'event_buffer_priority_set', + 'event_buffer_read', + 'event_buffer_set_callback', + 'event_buffer_timeout_set', + 'event_buffer_watermark_set', + 'event_buffer_write', + 'event_del', + 'event_free', 'event_new', 'event_priority_set', + 'event_set', + 'event_timer_add', + 'event_timer_del', + 'event_timer_pending', 'event_timer_set', + 'expect_expectl', 'expect_popen', + 'fam_cancel_monitor', + 'fam_close', 'fam_monitor_collection', 'fam_monitor_directory', 'fam_monitor_file', + 'fam_next_event', 'fam_open', + 'fam_pending', + 'fam_resume_monitor', + 'fam_suspend_monitor', 'fann_cascadetrain_on_data', 'fann_cascadetrain_on_file', 'fann_clear_scaling_params', @@ -305,30 +693,132 @@ class ResourceOperations 'fann_train_epoch', 'fann_train_on_data', 'fann_train_on_file', + 'fbsql_affected_rows', + 'fbsql_autocommit', + 'fbsql_blob_size', + 'fbsql_change_user', + 'fbsql_clob_size', + 'fbsql_close', + 'fbsql_commit', 'fbsql_connect', + 'fbsql_create_blob', + 'fbsql_create_clob', + 'fbsql_create_db', + 'fbsql_data_seek', + 'fbsql_database', + 'fbsql_database_password', 'fbsql_db_query', + 'fbsql_db_status', + 'fbsql_drop_db', + 'fbsql_errno', + 'fbsql_error', + 'fbsql_fetch_array', + 'fbsql_fetch_assoc', + 'fbsql_fetch_field', + 'fbsql_fetch_lengths', + 'fbsql_fetch_object', + 'fbsql_fetch_row', + 'fbsql_field_flags', + 'fbsql_field_len', + 'fbsql_field_name', + 'fbsql_field_seek', + 'fbsql_field_table', + 'fbsql_field_type', + 'fbsql_free_result', + 'fbsql_get_autostart_info', + 'fbsql_hostname', + 'fbsql_insert_id', 'fbsql_list_dbs', 'fbsql_list_fields', 'fbsql_list_tables', + 'fbsql_next_result', + 'fbsql_num_fields', + 'fbsql_num_rows', + 'fbsql_password', 'fbsql_pconnect', 'fbsql_query', + 'fbsql_read_blob', + 'fbsql_read_clob', + 'fbsql_result', + 'fbsql_rollback', + 'fbsql_rows_fetched', + 'fbsql_select_db', + 'fbsql_set_characterset', + 'fbsql_set_lob_mode', + 'fbsql_set_password', + 'fbsql_set_transaction', + 'fbsql_start_db', + 'fbsql_stop_db', + 'fbsql_table_name', + 'fbsql_username', + 'fclose', + 'fdf_add_doc_javascript', + 'fdf_add_template', + 'fdf_close', 'fdf_create', + 'fdf_enum_values', + 'fdf_get_ap', + 'fdf_get_attachment', + 'fdf_get_encoding', + 'fdf_get_file', + 'fdf_get_flags', + 'fdf_get_opt', + 'fdf_get_status', + 'fdf_get_value', + 'fdf_get_version', + 'fdf_next_field_name', 'fdf_open', 'fdf_open_string', + 'fdf_remove_item', + 'fdf_save', + 'fdf_save_string', + 'fdf_set_ap', + 'fdf_set_encoding', + 'fdf_set_file', + 'fdf_set_flags', + 'fdf_set_javascript_action', + 'fdf_set_on_import_javascript', + 'fdf_set_opt', + 'fdf_set_status', + 'fdf_set_submit_form_action', + 'fdf_set_target_frame', + 'fdf_set_value', + 'fdf_set_version', + 'feof', + 'fflush', + 'ffmpeg_frame::__construct', + 'ffmpeg_frame::toGDImage', + 'fgetc', + 'fgetcsv', + 'fgets', + 'fgetss', + 'file', + 'file_get_contents', + 'file_put_contents', 'finfo::buffer', + 'finfo::file', 'finfo_buffer', 'finfo_close', 'finfo_file', 'finfo_open', 'finfo_set_flags', + 'flock', 'fopen', - 'fsockopen', + 'fpassthru', + 'fprintf', + 'fputcsv', + 'fputs', + 'fread', + 'fscanf', + 'fseek', + 'fstat', + 'ftell', 'ftp_alloc', + 'ftp_append', 'ftp_cdup', 'ftp_chdir', 'ftp_chmod', 'ftp_close', - 'ftp_connect', 'ftp_delete', 'ftp_exec', 'ftp_fget', @@ -338,6 +828,7 @@ class ResourceOperations 'ftp_login', 'ftp_mdtm', 'ftp_mkdir', + 'ftp_mlsd', 'ftp_nb_continue', 'ftp_nb_fget', 'ftp_nb_fput', @@ -347,6 +838,7 @@ class ResourceOperations 'ftp_pasv', 'ftp_put', 'ftp_pwd', + 'ftp_quit', 'ftp_raw', 'ftp_rawlist', 'ftp_rename', @@ -354,242 +846,1124 @@ class ResourceOperations 'ftp_set_option', 'ftp_site', 'ftp_size', - 'ftp_ssl_connect', 'ftp_systype', + 'ftruncate', + 'fwrite', + 'get_resource_type', + 'gmp_div', + 'gnupg::init', + 'gnupg_adddecryptkey', + 'gnupg_addencryptkey', + 'gnupg_addsignkey', + 'gnupg_cleardecryptkeys', + 'gnupg_clearencryptkeys', + 'gnupg_clearsignkeys', + 'gnupg_decrypt', + 'gnupg_decryptverify', + 'gnupg_encrypt', + 'gnupg_encryptsign', + 'gnupg_export', + 'gnupg_geterror', + 'gnupg_getprotocol', + 'gnupg_import', 'gnupg_init', + 'gnupg_keyinfo', + 'gnupg_setarmor', + 'gnupg_seterrormode', + 'gnupg_setsignmode', + 'gnupg_sign', + 'gnupg_verify', + 'gupnp_context_get_host_ip', + 'gupnp_context_get_port', + 'gupnp_context_get_subscription_timeout', + 'gupnp_context_host_path', 'gupnp_context_new', + 'gupnp_context_set_subscription_timeout', + 'gupnp_context_timeout_add', + 'gupnp_context_unhost_path', + 'gupnp_control_point_browse_start', + 'gupnp_control_point_browse_stop', + 'gupnp_control_point_callback_set', 'gupnp_control_point_new', + 'gupnp_device_action_callback_set', + 'gupnp_device_info_get', 'gupnp_device_info_get_service', + 'gupnp_root_device_get_available', + 'gupnp_root_device_get_relative_location', 'gupnp_root_device_new', - 'gzopen', - 'hash_copy', - 'hash_final', - 'hash_init', - 'hash_update', - 'hash_update_file', + 'gupnp_root_device_set_available', + 'gupnp_root_device_start', + 'gupnp_root_device_stop', + 'gupnp_service_action_get', + 'gupnp_service_action_return', + 'gupnp_service_action_return_error', + 'gupnp_service_action_set', + 'gupnp_service_freeze_notify', + 'gupnp_service_info_get', + 'gupnp_service_info_get_introspection', + 'gupnp_service_introspection_get_state_variable', + 'gupnp_service_notify', + 'gupnp_service_proxy_action_get', + 'gupnp_service_proxy_action_set', + 'gupnp_service_proxy_add_notify', + 'gupnp_service_proxy_callback_set', + 'gupnp_service_proxy_get_subscribed', + 'gupnp_service_proxy_remove_notify', + 'gupnp_service_proxy_send_action', + 'gupnp_service_proxy_set_subscribed', + 'gupnp_service_thaw_notify', + 'gzclose', + 'gzeof', + 'gzgetc', + 'gzgets', + 'gzgetss', + 'gzpassthru', + 'gzputs', + 'gzread', + 'gzrewind', + 'gzseek', + 'gztell', + 'gzwrite', 'hash_update_stream', + 'http\Env\Response::send', 'http_get_request_body_stream', + 'ibase_add_user', + 'ibase_affected_rows', + 'ibase_backup', + 'ibase_blob_add', + 'ibase_blob_cancel', + 'ibase_blob_close', 'ibase_blob_create', + 'ibase_blob_get', 'ibase_blob_open', - 'ibase_blob_open 1', + 'ibase_close', + 'ibase_commit', + 'ibase_commit_ret', 'ibase_connect', + 'ibase_db_info', + 'ibase_delete_user', + 'ibase_drop_db', + 'ibase_execute', + 'ibase_fetch_assoc', + 'ibase_fetch_object', + 'ibase_fetch_row', + 'ibase_field_info', + 'ibase_free_event_handler', + 'ibase_free_query', + 'ibase_free_result', + 'ibase_gen_id', + 'ibase_maintain_db', + 'ibase_modify_user', + 'ibase_name_result', + 'ibase_num_fields', + 'ibase_num_params', + 'ibase_param_info', 'ibase_pconnect', 'ibase_prepare', + 'ibase_query', + 'ibase_restore', + 'ibase_rollback', + 'ibase_rollback_ret', + 'ibase_server_info', 'ibase_service_attach', + 'ibase_service_detach', 'ibase_set_event_handler', - 'ibase_set_event_handler 1', 'ibase_trans', + 'ifx_affected_rows', + 'ifx_close', 'ifx_connect', + 'ifx_do', + 'ifx_error', + 'ifx_fetch_row', + 'ifx_fieldproperties', + 'ifx_fieldtypes', + 'ifx_free_result', + 'ifx_getsqlca', + 'ifx_htmltbl_result', + 'ifx_num_fields', + 'ifx_num_rows', 'ifx_pconnect', 'ifx_prepare', 'ifx_query', + 'image2wbmp', 'imageaffine', + 'imagealphablending', + 'imageantialias', + 'imagearc', + 'imagebmp', + 'imagechar', + 'imagecharup', + 'imagecolorallocate', + 'imagecolorallocatealpha', + 'imagecolorat', + 'imagecolorclosest', + 'imagecolorclosestalpha', + 'imagecolorclosesthwb', + 'imagecolordeallocate', + 'imagecolorexact', + 'imagecolorexactalpha', + 'imagecolormatch', + 'imagecolorresolve', + 'imagecolorresolvealpha', + 'imagecolorset', + 'imagecolorsforindex', + 'imagecolorstotal', + 'imagecolortransparent', 'imageconvolution', - 'imagecreate', - 'imagecreatefromgd', - 'imagecreatefromgd2', - 'imagecreatefromgd2part', - 'imagecreatefromgif', - 'imagecreatefromjpeg', - 'imagecreatefrompng', - 'imagecreatefromstring', - 'imagecreatefromwbmp', - 'imagecreatefromwebp', - 'imagecreatefromxbm', - 'imagecreatefromxpm', - 'imagecreatetruecolor', + 'imagecopy', + 'imagecopymerge', + 'imagecopymergegray', + 'imagecopyresampled', + 'imagecopyresized', + 'imagecrop', + 'imagecropauto', + 'imagedashedline', + 'imagedestroy', + 'imageellipse', + 'imagefill', + 'imagefilledarc', + 'imagefilledellipse', + 'imagefilledpolygon', + 'imagefilledrectangle', + 'imagefilltoborder', + 'imagefilter', + 'imageflip', + 'imagefttext', + 'imagegammacorrect', + 'imagegd', + 'imagegd2', + 'imagegetclip', + 'imagegif', 'imagegrabscreen', 'imagegrabwindow', + 'imageinterlace', + 'imageistruecolor', + 'imagejpeg', + 'imagelayereffect', + 'imageline', + 'imageopenpolygon', + 'imagepalettecopy', 'imagepalettetotruecolor', + 'imagepng', + 'imagepolygon', + 'imagepsencodefont', + 'imagepsextendfont', + 'imagepsfreefont', 'imagepsloadfont', + 'imagepsslantfont', + 'imagepstext', + 'imagerectangle', + 'imageresolution', 'imagerotate', + 'imagesavealpha', 'imagescale', - 'imap_open', - 'inflate_init', + 'imagesetbrush', + 'imagesetclip', + 'imagesetinterpolation', + 'imagesetpixel', + 'imagesetstyle', + 'imagesetthickness', + 'imagesettile', + 'imagestring', + 'imagestringup', + 'imagesx', + 'imagesy', + 'imagetruecolortopalette', + 'imagettftext', + 'imagewbmp', + 'imagewebp', + 'imagexbm', + 'imap_append', + 'imap_body', + 'imap_bodystruct', + 'imap_check', + 'imap_clearflag_full', + 'imap_close', + 'imap_create', + 'imap_createmailbox', + 'imap_delete', + 'imap_deletemailbox', + 'imap_expunge', + 'imap_fetch_overview', + 'imap_fetchbody', + 'imap_fetchheader', + 'imap_fetchmime', + 'imap_fetchstructure', + 'imap_fetchtext', + 'imap_gc', + 'imap_get_quota', + 'imap_get_quotaroot', + 'imap_getacl', + 'imap_getmailboxes', + 'imap_getsubscribed', + 'imap_header', + 'imap_headerinfo', + 'imap_headers', + 'imap_list', + 'imap_listmailbox', + 'imap_listscan', + 'imap_listsubscribed', + 'imap_lsub', + 'imap_mail_copy', + 'imap_mail_move', + 'imap_mailboxmsginfo', + 'imap_msgno', + 'imap_num_msg', + 'imap_num_recent', + 'imap_ping', + 'imap_rename', + 'imap_renamemailbox', + 'imap_reopen', + 'imap_savebody', + 'imap_scan', + 'imap_scanmailbox', + 'imap_search', + 'imap_set_quota', + 'imap_setacl', + 'imap_setflag_full', + 'imap_sort', + 'imap_status', + 'imap_subscribe', + 'imap_thread', + 'imap_uid', + 'imap_undelete', + 'imap_unsubscribe', + 'inflate_add', + 'inflate_get_read_len', + 'inflate_get_status', + 'ingres_autocommit', + 'ingres_autocommit_state', + 'ingres_charset', + 'ingres_close', + 'ingres_commit', 'ingres_connect', + 'ingres_cursor', + 'ingres_errno', + 'ingres_error', + 'ingres_errsqlstate', + 'ingres_escape_string', + 'ingres_execute', + 'ingres_fetch_array', + 'ingres_fetch_assoc', + 'ingres_fetch_object', + 'ingres_fetch_proc_return', + 'ingres_fetch_row', + 'ingres_field_length', + 'ingres_field_name', + 'ingres_field_nullable', + 'ingres_field_precision', + 'ingres_field_scale', + 'ingres_field_type', + 'ingres_free_result', + 'ingres_next_error', + 'ingres_num_fields', + 'ingres_num_rows', 'ingres_pconnect', + 'ingres_prepare', + 'ingres_query', + 'ingres_result_seek', + 'ingres_rollback', + 'ingres_set_environment', + 'ingres_unbuffered_query', + 'inotify_add_watch', 'inotify_init', + 'inotify_queue_len', + 'inotify_read', + 'inotify_rm_watch', + 'kadm5_chpass_principal', + 'kadm5_create_principal', + 'kadm5_delete_principal', + 'kadm5_destroy', + 'kadm5_flush', + 'kadm5_get_policies', + 'kadm5_get_principal', + 'kadm5_get_principals', 'kadm5_init_with_password', - 'ldap_connect', + 'kadm5_modify_principal', + 'ldap_add', + 'ldap_bind', + 'ldap_close', + 'ldap_compare', + 'ldap_control_paged_result', + 'ldap_control_paged_result_response', + 'ldap_count_entries', + 'ldap_delete', + 'ldap_errno', + 'ldap_error', + 'ldap_exop', + 'ldap_exop_passwd', + 'ldap_exop_refresh', + 'ldap_exop_whoami', + 'ldap_first_attribute', 'ldap_first_entry', 'ldap_first_reference', - 'ldap_list', + 'ldap_free_result', + 'ldap_get_attributes', + 'ldap_get_dn', + 'ldap_get_entries', + 'ldap_get_option', + 'ldap_get_values', + 'ldap_get_values_len', + 'ldap_mod_add', + 'ldap_mod_del', + 'ldap_mod_replace', + 'ldap_modify', + 'ldap_modify_batch', + 'ldap_next_attribute', 'ldap_next_entry', 'ldap_next_reference', - 'ldap_read', - 'ldap_search', + 'ldap_parse_exop', + 'ldap_parse_reference', + 'ldap_parse_result', + 'ldap_rename', + 'ldap_sasl_bind', + 'ldap_set_option', + 'ldap_set_rebind_proc', + 'ldap_sort', + 'ldap_start_tls', + 'ldap_unbind', + 'libxml_set_streams_context', + 'm_checkstatus', + 'm_completeauthorizations', + 'm_connect', + 'm_connectionerror', + 'm_deletetrans', + 'm_destroyconn', + 'm_getcell', + 'm_getcellbynum', + 'm_getcommadelimited', + 'm_getheader', 'm_initconn', + 'm_iscommadelimited', + 'm_maxconntimeout', + 'm_monitor', + 'm_numcolumns', + 'm_numrows', + 'm_parsecommadelimited', + 'm_responsekeys', + 'm_responseparam', + 'm_returnstatus', + 'm_setblocking', + 'm_setdropfile', + 'm_setip', + 'm_setssl', + 'm_setssl_cafile', + 'm_setssl_files', + 'm_settimeout', + 'm_transactionssent', + 'm_transinqueue', + 'm_transkeyval', + 'm_transnew', + 'm_transsend', + 'm_validateidentifier', + 'm_verifyconnection', + 'm_verifysslcert', + 'mailparse_determine_best_xfer_encoding', 'mailparse_msg_create', + 'mailparse_msg_extract_part', + 'mailparse_msg_extract_part_file', + 'mailparse_msg_extract_whole_part_file', + 'mailparse_msg_free', 'mailparse_msg_get_part', + 'mailparse_msg_get_part_data', + 'mailparse_msg_get_structure', + 'mailparse_msg_parse', 'mailparse_msg_parse_file', + 'mailparse_stream_encode', + 'mailparse_uudecode_all', 'maxdb::use_result', + 'maxdb_affected_rows', 'maxdb_connect', + 'maxdb_disable_rpl_parse', + 'maxdb_dump_debug_info', 'maxdb_embedded_connect', + 'maxdb_enable_reads_from_master', + 'maxdb_enable_rpl_parse', + 'maxdb_errno', + 'maxdb_error', + 'maxdb_fetch_lengths', + 'maxdb_field_tell', + 'maxdb_get_host_info', + 'maxdb_get_proto_info', + 'maxdb_get_server_info', + 'maxdb_get_server_version', + 'maxdb_info', 'maxdb_init', + 'maxdb_insert_id', + 'maxdb_master_query', + 'maxdb_more_results', + 'maxdb_next_result', + 'maxdb_num_fields', + 'maxdb_num_rows', + 'maxdb_rpl_parse_enabled', + 'maxdb_rpl_probe', + 'maxdb_select_db', + 'maxdb_sqlstate', 'maxdb_stmt::result_metadata', + 'maxdb_stmt_affected_rows', + 'maxdb_stmt_errno', + 'maxdb_stmt_error', + 'maxdb_stmt_num_rows', + 'maxdb_stmt_param_count', 'maxdb_stmt_result_metadata', + 'maxdb_stmt_sqlstate', + 'maxdb_thread_id', 'maxdb_use_result', + 'maxdb_warning_count', + 'mcrypt_enc_get_algorithms_name', + 'mcrypt_enc_get_block_size', + 'mcrypt_enc_get_iv_size', + 'mcrypt_enc_get_key_size', + 'mcrypt_enc_get_modes_name', + 'mcrypt_enc_get_supported_key_sizes', + 'mcrypt_enc_is_block_algorithm', + 'mcrypt_enc_is_block_algorithm_mode', + 'mcrypt_enc_is_block_mode', + 'mcrypt_enc_self_test', + 'mcrypt_generic', + 'mcrypt_generic_deinit', + 'mcrypt_generic_end', + 'mcrypt_generic_init', + 'mcrypt_module_close', 'mcrypt_module_open', + 'mdecrypt_generic', + 'mkdir', + 'mqseries_back', + 'mqseries_begin', + 'mqseries_close', + 'mqseries_cmit', + 'mqseries_conn', + 'mqseries_connx', + 'mqseries_disc', + 'mqseries_get', + 'mqseries_inq', + 'mqseries_open', + 'mqseries_put', + 'mqseries_put1', + 'mqseries_set', 'msg_get_queue', + 'msg_receive', + 'msg_remove_queue', + 'msg_send', + 'msg_set_queue', + 'msg_stat_queue', + 'msql_affected_rows', + 'msql_close', 'msql_connect', + 'msql_create_db', + 'msql_data_seek', 'msql_db_query', + 'msql_drop_db', + 'msql_fetch_array', + 'msql_fetch_field', + 'msql_fetch_object', + 'msql_fetch_row', + 'msql_field_flags', + 'msql_field_len', + 'msql_field_name', + 'msql_field_seek', + 'msql_field_table', + 'msql_field_type', + 'msql_free_result', 'msql_list_dbs', 'msql_list_fields', 'msql_list_tables', + 'msql_num_fields', + 'msql_num_rows', 'msql_pconnect', 'msql_query', + 'msql_result', + 'msql_select_db', + 'mssql_bind', + 'mssql_close', 'mssql_connect', + 'mssql_data_seek', + 'mssql_execute', + 'mssql_fetch_array', + 'mssql_fetch_assoc', + 'mssql_fetch_batch', + 'mssql_fetch_field', + 'mssql_fetch_object', + 'mssql_fetch_row', + 'mssql_field_length', + 'mssql_field_name', + 'mssql_field_seek', + 'mssql_field_type', + 'mssql_free_result', + 'mssql_free_statement', 'mssql_init', + 'mssql_next_result', + 'mssql_num_fields', + 'mssql_num_rows', 'mssql_pconnect', + 'mssql_query', + 'mssql_result', + 'mssql_rows_affected', + 'mssql_select_db', + 'mysql_affected_rows', + 'mysql_client_encoding', + 'mysql_close', 'mysql_connect', + 'mysql_create_db', + 'mysql_data_seek', + 'mysql_db_name', 'mysql_db_query', + 'mysql_drop_db', + 'mysql_errno', + 'mysql_error', + 'mysql_fetch_array', + 'mysql_fetch_assoc', + 'mysql_fetch_field', + 'mysql_fetch_lengths', + 'mysql_fetch_object', + 'mysql_fetch_row', + 'mysql_field_flags', + 'mysql_field_len', + 'mysql_field_name', + 'mysql_field_seek', + 'mysql_field_table', + 'mysql_field_type', + 'mysql_free_result', + 'mysql_get_host_info', + 'mysql_get_proto_info', + 'mysql_get_server_info', + 'mysql_info', + 'mysql_insert_id', 'mysql_list_dbs', 'mysql_list_fields', 'mysql_list_processes', 'mysql_list_tables', + 'mysql_num_fields', + 'mysql_num_rows', 'mysql_pconnect', + 'mysql_ping', 'mysql_query', + 'mysql_real_escape_string', + 'mysql_result', + 'mysql_select_db', + 'mysql_set_charset', + 'mysql_stat', + 'mysql_tablename', + 'mysql_thread_id', 'mysql_unbuffered_query', 'mysqlnd_uh_convert_to_mysqlnd', + 'ncurses_bottom_panel', + 'ncurses_del_panel', + 'ncurses_delwin', + 'ncurses_getmaxyx', + 'ncurses_getyx', + 'ncurses_hide_panel', + 'ncurses_keypad', + 'ncurses_meta', + 'ncurses_move_panel', + 'ncurses_mvwaddstr', 'ncurses_new_panel', 'ncurses_newpad', 'ncurses_newwin', 'ncurses_panel_above', 'ncurses_panel_below', 'ncurses_panel_window', + 'ncurses_pnoutrefresh', + 'ncurses_prefresh', + 'ncurses_replace_panel', + 'ncurses_show_panel', + 'ncurses_top_panel', + 'ncurses_waddch', + 'ncurses_waddstr', + 'ncurses_wattroff', + 'ncurses_wattron', + 'ncurses_wattrset', + 'ncurses_wborder', + 'ncurses_wclear', + 'ncurses_wcolor_set', + 'ncurses_werase', + 'ncurses_wgetch', + 'ncurses_whline', + 'ncurses_wmouse_trafo', + 'ncurses_wmove', + 'ncurses_wnoutrefresh', + 'ncurses_wrefresh', + 'ncurses_wstandend', + 'ncurses_wstandout', + 'ncurses_wvline', 'newt_button', 'newt_button_bar', 'newt_checkbox', + 'newt_checkbox_get_value', + 'newt_checkbox_set_flags', + 'newt_checkbox_set_value', 'newt_checkbox_tree', + 'newt_checkbox_tree_add_item', + 'newt_checkbox_tree_find_item', + 'newt_checkbox_tree_get_current', + 'newt_checkbox_tree_get_entry_value', + 'newt_checkbox_tree_get_multi_selection', + 'newt_checkbox_tree_get_selection', 'newt_checkbox_tree_multi', + 'newt_checkbox_tree_set_current', + 'newt_checkbox_tree_set_entry', + 'newt_checkbox_tree_set_entry_value', + 'newt_checkbox_tree_set_width', 'newt_compact_button', + 'newt_component_add_callback', + 'newt_component_takes_focus', 'newt_create_grid', + 'newt_draw_form', 'newt_entry', + 'newt_entry_get_value', + 'newt_entry_set', + 'newt_entry_set_filter', + 'newt_entry_set_flags', 'newt_form', + 'newt_form_add_component', + 'newt_form_add_components', + 'newt_form_add_hot_key', + 'newt_form_destroy', 'newt_form_get_current', + 'newt_form_run', + 'newt_form_set_background', + 'newt_form_set_height', + 'newt_form_set_size', + 'newt_form_set_timer', + 'newt_form_set_width', + 'newt_form_watch_fd', + 'newt_grid_add_components_to_form', 'newt_grid_basic_window', + 'newt_grid_free', + 'newt_grid_get_size', 'newt_grid_h_close_stacked', 'newt_grid_h_stacked', + 'newt_grid_place', + 'newt_grid_set_field', 'newt_grid_simple_window', 'newt_grid_v_close_stacked', 'newt_grid_v_stacked', + 'newt_grid_wrapped_window', + 'newt_grid_wrapped_window_at', 'newt_label', + 'newt_label_set_text', 'newt_listbox', + 'newt_listbox_append_entry', + 'newt_listbox_clear', + 'newt_listbox_clear_selection', + 'newt_listbox_delete_entry', + 'newt_listbox_get_current', + 'newt_listbox_get_selection', + 'newt_listbox_insert_entry', + 'newt_listbox_item_count', + 'newt_listbox_select_item', + 'newt_listbox_set_current', + 'newt_listbox_set_current_by_key', + 'newt_listbox_set_data', + 'newt_listbox_set_entry', + 'newt_listbox_set_width', 'newt_listitem', + 'newt_listitem_get_data', + 'newt_listitem_set', 'newt_radio_get_current', 'newt_radiobutton', 'newt_run_form', 'newt_scale', + 'newt_scale_set', + 'newt_scrollbar_set', 'newt_textbox', + 'newt_textbox_get_num_lines', 'newt_textbox_reflowed', + 'newt_textbox_set_height', + 'newt_textbox_set_text', 'newt_vertical_scrollbar', + 'oci_bind_array_by_name', + 'oci_bind_by_name', + 'oci_cancel', + 'oci_close', + 'oci_commit', 'oci_connect', + 'oci_define_by_name', + 'oci_error', + 'oci_execute', + 'oci_fetch', + 'oci_fetch_all', + 'oci_fetch_array', + 'oci_fetch_assoc', + 'oci_fetch_object', + 'oci_fetch_row', + 'oci_field_is_null', + 'oci_field_name', + 'oci_field_precision', + 'oci_field_scale', + 'oci_field_size', + 'oci_field_type', + 'oci_field_type_raw', + 'oci_free_cursor', + 'oci_free_statement', 'oci_get_implicit_resultset', + 'oci_new_collection', 'oci_new_connect', 'oci_new_cursor', + 'oci_new_descriptor', + 'oci_num_fields', + 'oci_num_rows', 'oci_parse', 'oci_pconnect', + 'oci_register_taf_callback', + 'oci_result', + 'oci_rollback', + 'oci_server_version', + 'oci_set_action', + 'oci_set_client_identifier', + 'oci_set_client_info', + 'oci_set_module_name', + 'oci_set_prefetch', + 'oci_statement_type', + 'oci_unregister_taf_callback', + 'odbc_autocommit', + 'odbc_close', 'odbc_columnprivileges', 'odbc_columns', + 'odbc_commit', 'odbc_connect', + 'odbc_cursor', + 'odbc_data_source', + 'odbc_do', + 'odbc_error', + 'odbc_errormsg', 'odbc_exec', + 'odbc_execute', + 'odbc_fetch_array', + 'odbc_fetch_into', + 'odbc_fetch_row', + 'odbc_field_len', + 'odbc_field_name', + 'odbc_field_num', + 'odbc_field_precision', + 'odbc_field_scale', + 'odbc_field_type', 'odbc_foreignkeys', + 'odbc_free_result', 'odbc_gettypeinfo', + 'odbc_next_result', + 'odbc_num_fields', + 'odbc_num_rows', 'odbc_pconnect', 'odbc_prepare', 'odbc_primarykeys', 'odbc_procedurecolumns', 'odbc_procedures', + 'odbc_result', + 'odbc_result_all', + 'odbc_rollback', + 'odbc_setoption', 'odbc_specialcolumns', 'odbc_statistics', 'odbc_tableprivileges', 'odbc_tables', 'openal_buffer_create', + 'openal_buffer_data', + 'openal_buffer_destroy', + 'openal_buffer_get', + 'openal_buffer_loadwav', 'openal_context_create', + 'openal_context_current', + 'openal_context_destroy', + 'openal_context_process', + 'openal_context_suspend', + 'openal_device_close', 'openal_device_open', 'openal_source_create', + 'openal_source_destroy', + 'openal_source_get', + 'openal_source_pause', + 'openal_source_play', + 'openal_source_rewind', + 'openal_source_set', + 'openal_source_stop', 'openal_stream', + 'opendir', 'openssl_csr_new', - 'openssl_csr_sign', - 'openssl_pkey_get_private', - 'openssl_pkey_get_public', - 'openssl_pkey_new', - 'openssl_x509_read', + 'openssl_dh_compute_key', + 'openssl_free_key', + 'openssl_pkey_export', + 'openssl_pkey_free', + 'openssl_pkey_get_details', + 'openssl_spki_new', + 'openssl_x509_free', + 'pclose', 'pfsockopen', + 'pg_affected_rows', 'pg_cancel_query', 'pg_client_encoding', 'pg_close', - 'pg_connect', 'pg_connect_poll', 'pg_connection_busy', 'pg_connection_reset', 'pg_connection_status', 'pg_consume_input', + 'pg_convert', 'pg_copy_from', 'pg_copy_to', 'pg_dbname', + 'pg_delete', 'pg_end_copy', 'pg_escape_bytea', 'pg_escape_identifier', - 'pg_escape_identifier 1', 'pg_escape_literal', 'pg_escape_string', 'pg_execute', - 'pg_execute 1', + 'pg_fetch_all', + 'pg_fetch_all_columns', + 'pg_fetch_array', + 'pg_fetch_assoc', + 'pg_fetch_row', + 'pg_field_name', + 'pg_field_num', + 'pg_field_size', + 'pg_field_table', + 'pg_field_type', + 'pg_field_type_oid', 'pg_flush', 'pg_free_result', 'pg_get_notify', 'pg_get_pid', 'pg_get_result', 'pg_host', + 'pg_insert', 'pg_last_error', 'pg_last_notice', + 'pg_last_oid', + 'pg_lo_close', 'pg_lo_create', 'pg_lo_export', 'pg_lo_import', 'pg_lo_open', + 'pg_lo_read', + 'pg_lo_read_all', + 'pg_lo_seek', + 'pg_lo_tell', + 'pg_lo_truncate', 'pg_lo_unlink', + 'pg_lo_write', + 'pg_meta_data', + 'pg_num_fields', + 'pg_num_rows', 'pg_options', 'pg_parameter_status', - 'pg_pconnect', 'pg_ping', 'pg_port', 'pg_prepare', - 'pg_prepare 1', 'pg_put_line', 'pg_query', - 'pg_query 1', 'pg_query_params', - 'pg_query_params 1', + 'pg_result_error', + 'pg_result_error_field', + 'pg_result_seek', + 'pg_result_status', + 'pg_select', 'pg_send_execute', 'pg_send_prepare', 'pg_send_query', 'pg_send_query_params', 'pg_set_client_encoding', - 'pg_set_client_encoding 1', 'pg_set_error_verbosity', 'pg_socket', 'pg_trace', 'pg_transaction_status', 'pg_tty', 'pg_untrace', + 'pg_update', 'pg_version', 'php_user_filter::filter', - 'popen', - 'proc_open', + 'proc_close', + 'proc_get_status', + 'proc_terminate', + 'ps_add_bookmark', + 'ps_add_launchlink', + 'ps_add_locallink', + 'ps_add_note', + 'ps_add_pdflink', + 'ps_add_weblink', + 'ps_arc', + 'ps_arcn', + 'ps_begin_page', + 'ps_begin_pattern', + 'ps_begin_template', + 'ps_circle', + 'ps_clip', + 'ps_close', + 'ps_close_image', + 'ps_closepath', + 'ps_closepath_stroke', + 'ps_continue_text', + 'ps_curveto', + 'ps_delete', + 'ps_end_page', + 'ps_end_pattern', + 'ps_end_template', + 'ps_fill', + 'ps_fill_stroke', + 'ps_findfont', + 'ps_get_buffer', + 'ps_get_parameter', + 'ps_get_value', + 'ps_hyphenate', + 'ps_include_file', + 'ps_lineto', + 'ps_makespotcolor', + 'ps_moveto', 'ps_new', + 'ps_open_file', + 'ps_open_image', + 'ps_open_image_file', + 'ps_open_memory_image', + 'ps_place_image', + 'ps_rect', + 'ps_restore', + 'ps_rotate', + 'ps_save', + 'ps_scale', + 'ps_set_border_color', + 'ps_set_border_dash', + 'ps_set_border_style', + 'ps_set_info', + 'ps_set_parameter', + 'ps_set_text_pos', + 'ps_set_value', + 'ps_setcolor', + 'ps_setdash', + 'ps_setflat', + 'ps_setfont', + 'ps_setgray', + 'ps_setlinecap', + 'ps_setlinejoin', + 'ps_setlinewidth', + 'ps_setmiterlimit', + 'ps_setoverprintmode', + 'ps_setpolydash', + 'ps_shading', + 'ps_shading_pattern', + 'ps_shfill', + 'ps_show', + 'ps_show2', + 'ps_show_boxed', + 'ps_show_xy', + 'ps_show_xy2', + 'ps_string_geometry', + 'ps_stringwidth', + 'ps_stroke', + 'ps_symbol', + 'ps_symbol_name', + 'ps_symbol_width', + 'ps_translate', + 'px_close', + 'px_create_fp', + 'px_date2string', + 'px_delete', + 'px_delete_record', + 'px_get_field', + 'px_get_info', + 'px_get_parameter', + 'px_get_record', + 'px_get_schema', + 'px_get_value', + 'px_insert_record', 'px_new', + 'px_numfields', + 'px_numrecords', + 'px_open_fp', + 'px_put_record', + 'px_retrieve_record', + 'px_set_blob_file', + 'px_set_parameter', + 'px_set_tablename', + 'px_set_targetencoding', + 'px_set_value', + 'px_timestamp2string', + 'px_update_record', 'radius_acct_open', + 'radius_add_server', 'radius_auth_open', + 'radius_close', + 'radius_config', + 'radius_create_request', + 'radius_demangle', + 'radius_demangle_mppe_key', + 'radius_get_attr', + 'radius_put_addr', + 'radius_put_attr', + 'radius_put_int', + 'radius_put_string', + 'radius_put_vendor_addr', + 'radius_put_vendor_attr', + 'radius_put_vendor_int', + 'radius_put_vendor_string', + 'radius_request_authenticator', 'radius_salt_encrypt_attr', + 'radius_send_request', + 'radius_server_secret', + 'radius_strerror', + 'readdir', + 'readfile', + 'recode_file', + 'rename', + 'rewind', + 'rewinddir', + 'rmdir', + 'rpm_close', + 'rpm_get_tag', 'rpm_open', + 'sapi_windows_vt100_support', + 'scandir', + 'sem_acquire', 'sem_get', + 'sem_release', + 'sem_remove', + 'set_file_buffer', 'shm_attach', + 'shm_detach', + 'shm_get_var', + 'shm_has_var', + 'shm_put_var', + 'shm_remove', + 'shm_remove_var', + 'shmop_close', + 'shmop_delete', + 'shmop_open', + 'shmop_read', + 'shmop_size', + 'shmop_write', 'socket_accept', - 'socket_create', - 'socket_create_listen', + 'socket_addrinfo_bind', + 'socket_addrinfo_connect', + 'socket_addrinfo_explain', + 'socket_bind', + 'socket_clear_error', + 'socket_close', + 'socket_connect', + 'socket_export_stream', + 'socket_get_option', + 'socket_get_status', + 'socket_getopt', + 'socket_getpeername', + 'socket_getsockname', + 'socket_import_stream', + 'socket_last_error', + 'socket_listen', + 'socket_read', + 'socket_recv', + 'socket_recvfrom', 'socket_recvmsg', + 'socket_send', 'socket_sendmsg', + 'socket_sendto', + 'socket_set_block', + 'socket_set_blocking', + 'socket_set_nonblock', + 'socket_set_option', + 'socket_set_timeout', + 'socket_shutdown', + 'socket_write', + 'sqlite_close', + 'sqlite_fetch_string', + 'sqlite_has_more', 'sqlite_open', 'sqlite_popen', 'sqlsrv_begin_transaction', @@ -616,53 +1990,241 @@ class ResourceOperations 'sqlsrv_send_stream_data', 'sqlsrv_server_info', 'ssh2_auth_agent', - 'ssh2_connect', + 'ssh2_auth_hostbased_file', + 'ssh2_auth_none', + 'ssh2_auth_password', + 'ssh2_auth_pubkey_file', + 'ssh2_disconnect', 'ssh2_exec', 'ssh2_fetch_stream', + 'ssh2_fingerprint', + 'ssh2_methods_negotiated', + 'ssh2_publickey_add', 'ssh2_publickey_init', + 'ssh2_publickey_list', + 'ssh2_publickey_remove', + 'ssh2_scp_recv', + 'ssh2_scp_send', 'ssh2_sftp', 'ssh2_sftp_chmod', + 'ssh2_sftp_lstat', + 'ssh2_sftp_mkdir', + 'ssh2_sftp_readlink', + 'ssh2_sftp_realpath', + 'ssh2_sftp_rename', + 'ssh2_sftp_rmdir', + 'ssh2_sftp_stat', + 'ssh2_sftp_symlink', + 'ssh2_sftp_unlink', 'ssh2_shell', 'ssh2_tunnel', 'stomp_connect', 'streamWrapper::stream_cast', + 'stream_bucket_append', + 'stream_bucket_make_writeable', 'stream_bucket_new', + 'stream_bucket_prepend', 'stream_context_create', 'stream_context_get_default', + 'stream_context_get_options', + 'stream_context_get_params', 'stream_context_set_default', + 'stream_context_set_params', + 'stream_copy_to_stream', + 'stream_encoding', 'stream_filter_append', 'stream_filter_prepend', + 'stream_filter_remove', + 'stream_get_contents', + 'stream_get_line', + 'stream_get_meta_data', + 'stream_isatty', + 'stream_set_blocking', + 'stream_set_chunk_size', + 'stream_set_read_buffer', + 'stream_set_timeout', + 'stream_set_write_buffer', 'stream_socket_accept', 'stream_socket_client', + 'stream_socket_enable_crypto', + 'stream_socket_get_name', + 'stream_socket_recvfrom', + 'stream_socket_sendto', 'stream_socket_server', + 'stream_socket_shutdown', + 'stream_supports_lock', + 'svn_fs_abort_txn', 'svn_fs_apply_text', 'svn_fs_begin_txn2', + 'svn_fs_change_node_prop', + 'svn_fs_check_path', + 'svn_fs_contents_changed', + 'svn_fs_copy', + 'svn_fs_delete', + 'svn_fs_dir_entries', 'svn_fs_file_contents', + 'svn_fs_file_length', + 'svn_fs_is_dir', + 'svn_fs_is_file', + 'svn_fs_make_dir', + 'svn_fs_make_file', + 'svn_fs_node_created_rev', + 'svn_fs_node_prop', + 'svn_fs_props_changed', + 'svn_fs_revision_prop', 'svn_fs_revision_root', 'svn_fs_txn_root', + 'svn_fs_youngest_rev', 'svn_repos_create', 'svn_repos_fs', 'svn_repos_fs_begin_txn_for_commit', + 'svn_repos_fs_commit_txn', 'svn_repos_open', + 'sybase_affected_rows', + 'sybase_close', 'sybase_connect', + 'sybase_data_seek', + 'sybase_fetch_array', + 'sybase_fetch_assoc', + 'sybase_fetch_field', + 'sybase_fetch_object', + 'sybase_fetch_row', + 'sybase_field_seek', + 'sybase_free_result', + 'sybase_num_fields', + 'sybase_num_rows', 'sybase_pconnect', + 'sybase_query', + 'sybase_result', + 'sybase_select_db', + 'sybase_set_message_handler', 'sybase_unbuffered_query', 'tmpfile', + 'udm_add_search_limit', 'udm_alloc_agent', 'udm_alloc_agent_array', + 'udm_cat_list', + 'udm_cat_path', + 'udm_check_charset', + 'udm_clear_search_limits', + 'udm_crc32', + 'udm_errno', + 'udm_error', 'udm_find', + 'udm_free_agent', + 'udm_free_res', + 'udm_get_doc_count', + 'udm_get_res_field', + 'udm_get_res_param', + 'udm_hash32', + 'udm_load_ispell_data', + 'udm_set_agent_param', 'unlink', + 'vfprintf', 'w32api_init_dtype', + 'wddx_add_vars', + 'wddx_packet_end', 'wddx_packet_start', + 'xml_get_current_byte_index', + 'xml_get_current_column_number', + 'xml_get_current_line_number', + 'xml_get_error_code', + 'xml_parse', + 'xml_parse_into_struct', 'xml_parser_create', 'xml_parser_create_ns', 'xml_parser_free', 'xml_parser_get_option', 'xml_parser_set_option', + 'xml_set_character_data_handler', + 'xml_set_default_handler', + 'xml_set_element_handler', + 'xml_set_end_namespace_decl_handler', + 'xml_set_external_entity_ref_handler', + 'xml_set_notation_decl_handler', + 'xml_set_object', + 'xml_set_processing_instruction_handler', + 'xml_set_start_namespace_decl_handler', + 'xml_set_unparsed_entity_decl_handler', + 'xmlrpc_server_add_introspection_data', + 'xmlrpc_server_call_method', 'xmlrpc_server_create', + 'xmlrpc_server_destroy', + 'xmlrpc_server_register_introspection_callback', + 'xmlrpc_server_register_method', + 'xmlwriter_end_attribute', + 'xmlwriter_end_cdata', + 'xmlwriter_end_comment', + 'xmlwriter_end_document', + 'xmlwriter_end_dtd', + 'xmlwriter_end_dtd_attlist', + 'xmlwriter_end_dtd_element', + 'xmlwriter_end_dtd_entity', + 'xmlwriter_end_element', + 'xmlwriter_end_pi', + 'xmlwriter_flush', + 'xmlwriter_full_end_element', 'xmlwriter_open_memory', 'xmlwriter_open_uri', + 'xmlwriter_output_memory', + 'xmlwriter_set_indent', + 'xmlwriter_set_indent_string', + 'xmlwriter_start_attribute', + 'xmlwriter_start_attribute_ns', + 'xmlwriter_start_cdata', + 'xmlwriter_start_comment', + 'xmlwriter_start_document', + 'xmlwriter_start_dtd', + 'xmlwriter_start_dtd_attlist', + 'xmlwriter_start_dtd_element', + 'xmlwriter_start_dtd_entity', + 'xmlwriter_start_element', + 'xmlwriter_start_element_ns', + 'xmlwriter_start_pi', + 'xmlwriter_text', + 'xmlwriter_write_attribute', + 'xmlwriter_write_attribute_ns', + 'xmlwriter_write_cdata', + 'xmlwriter_write_comment', + 'xmlwriter_write_dtd', + 'xmlwriter_write_dtd_attlist', + 'xmlwriter_write_dtd_element', + 'xmlwriter_write_dtd_entity', + 'xmlwriter_write_element', + 'xmlwriter_write_element_ns', + 'xmlwriter_write_pi', + 'xmlwriter_write_raw', 'xslt_create', + 'yaz_addinfo', + 'yaz_ccl_conf', + 'yaz_ccl_parse', + 'yaz_close', + 'yaz_database', + 'yaz_element', + 'yaz_errno', + 'yaz_error', + 'yaz_es', + 'yaz_es_result', + 'yaz_get_option', + 'yaz_hits', + 'yaz_itemorder', + 'yaz_present', + 'yaz_range', + 'yaz_record', + 'yaz_scan', + 'yaz_scan_result', + 'yaz_schema', + 'yaz_search', + 'yaz_sort', + 'yaz_syntax', + 'zip_close', + 'zip_entry_close', + 'zip_entry_compressedsize', + 'zip_entry_compressionmethod', + 'zip_entry_filesize', + 'zip_entry_name', + 'zip_entry_open', + 'zip_entry_read', 'zip_open', 'zip_read', ]; diff --git a/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php b/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php new file mode 100644 index 000000000..f05ea0d50 --- /dev/null +++ b/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php @@ -0,0 +1,26 @@ +<?php declare(strict_types=1); +/* + * This file is part of resource-operations. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\ResourceOperations; + +use PHPUnit\Framework\TestCase; + +/** + * @covers \SebastianBergmann\ResourceOperations\ResourceOperations + */ +final class ResourceOperationsTest extends TestCase +{ + public function testGetFunctions(): void + { + $functions = ResourceOperations::getFunctions(); + + $this->assertInternalType('array', $functions); + $this->assertContains('fopen', $functions); + } +} diff --git a/vendor/symfony/console/Application.php b/vendor/symfony/console/Application.php index 3ef76b3f3..9030da646 100644 --- a/vendor/symfony/console/Application.php +++ b/vendor/symfony/console/Application.php @@ -753,12 +753,20 @@ class Application do { $message = trim($e->getMessage()); if ('' === $message || OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { - $title = sprintf(' [%s%s] ', \get_class($e), 0 !== ($code = $e->getCode()) ? ' ('.$code.')' : ''); + $class = \get_class($e); + $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; + $title = sprintf(' [%s%s] ', $class, 0 !== ($code = $e->getCode()) ? ' ('.$code.')' : ''); $len = Helper::strlen($title); } else { $len = 0; } + if (false !== strpos($message, "class@anonymous\0")) { + $message = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { + return \class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; + }, $message); + } + $width = $this->terminal->getWidth() ? $this->terminal->getWidth() - 1 : PHP_INT_MAX; $lines = array(); foreach ('' !== $message ? preg_split('/\r?\n/', $message) : array() as $line) { @@ -793,6 +801,13 @@ class Application // exception related properties $trace = $e->getTrace(); + array_unshift($trace, array( + 'function' => '', + 'file' => $e->getFile() ?: 'n/a', + 'line' => $e->getLine() ?: 'n/a', + 'args' => array(), + )); + for ($i = 0, $count = \count($trace); $i < $count; ++$i) { $class = isset($trace[$i]['class']) ? $trace[$i]['class'] : ''; $type = isset($trace[$i]['type']) ? $trace[$i]['type'] : ''; diff --git a/vendor/symfony/console/CHANGELOG.md b/vendor/symfony/console/CHANGELOG.md index 7682feb59..b9175109c 100644 --- a/vendor/symfony/console/CHANGELOG.md +++ b/vendor/symfony/console/CHANGELOG.md @@ -1,6 +1,17 @@ CHANGELOG ========= +4.2.0 +----- + + * allowed passing commands as `array($process, 'ENV_VAR' => 'value')` to + `ProcessHelper::run()` to pass environment variables + * deprecated passing a command as a string to `ProcessHelper::run()`, + pass it the command as an array of its arguments instead + * made the `ProcessHelper` class final + * added `WrappableOutputFormatterInterface::formatAndWrap()` (implemented in `OutputFormatter`) + * added `capture_stderr_separately` option to `CommandTester::execute()` + 4.1.0 ----- diff --git a/vendor/symfony/console/Command/Command.php b/vendor/symfony/console/Command/Command.php index 38bb8b998..0e2384737 100644 --- a/vendor/symfony/console/Command/Command.php +++ b/vendor/symfony/console/Command/Command.php @@ -150,7 +150,7 @@ class Command * execute() method, you set the code to execute by passing * a Closure to the setCode() method. * - * @return null|int null or 0 if everything went fine, or an error code + * @return int|null null or 0 if everything went fine, or an error code * * @throws LogicException When this abstract method is not implemented * @@ -173,10 +173,14 @@ class Command } /** - * Initializes the command just after the input has been validated. + * Initializes the command after the input has been bound and before the input + * is validated. * * This is mainly useful when a lot of commands extends one main command * where some things need to be initialized based on the input arguments and options. + * + * @see InputInterface::bind() + * @see InputInterface::validate() */ protected function initialize(InputInterface $input, OutputInterface $output) { @@ -297,14 +301,13 @@ class Command $this->definition->addOptions($this->application->getDefinition()->getOptions()); + $this->applicationDefinitionMerged = true; + if ($mergeArgs) { $currentArguments = $this->definition->getArguments(); $this->definition->setArguments($this->application->getDefinition()->getArguments()); $this->definition->addArguments($currentArguments); - } - $this->applicationDefinitionMerged = true; - if ($mergeArgs) { $this->applicationDefinitionMergedWithArgs = true; } } @@ -357,10 +360,12 @@ class Command /** * Adds an argument. * - * @param string $name The argument name - * @param int $mode The argument mode: InputArgument::REQUIRED or InputArgument::OPTIONAL - * @param string $description A description text - * @param mixed $default The default value (for InputArgument::OPTIONAL mode only) + * @param string $name The argument name + * @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL + * @param string $description A description text + * @param string|string[]|null $default The default value (for self::OPTIONAL mode only) + * + * @throws InvalidArgumentException When argument mode is not valid * * @return $this */ @@ -374,11 +379,13 @@ class Command /** * Adds an option. * - * @param string $name The option name - * @param string $shortcut The shortcut (can be null) - * @param int $mode The option mode: One of the InputOption::VALUE_* constants - * @param string $description A description text - * @param mixed $default The default value (must be null for InputOption::VALUE_NONE) + * @param string $name The option name + * @param string|array $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts + * @param int|null $mode The option mode: One of the VALUE_* constants + * @param string $description A description text + * @param string|string[]|int|bool|null $default The default value (must be null for self::VALUE_NONE) + * + * @throws InvalidArgumentException If option mode is invalid or incompatible * * @return $this */ diff --git a/vendor/symfony/console/Command/LockableTrait.php b/vendor/symfony/console/Command/LockableTrait.php index 6c634ce44..f4ebe45bf 100644 --- a/vendor/symfony/console/Command/LockableTrait.php +++ b/vendor/symfony/console/Command/LockableTrait.php @@ -12,7 +12,6 @@ namespace Symfony\Component\Console\Command; use Symfony\Component\Console\Exception\LogicException; -use Symfony\Component\Console\Exception\RuntimeException; use Symfony\Component\Lock\Factory; use Symfony\Component\Lock\Lock; use Symfony\Component\Lock\Store\FlockStore; @@ -36,7 +35,7 @@ trait LockableTrait private function lock($name = null, $blocking = false) { if (!class_exists(SemaphoreStore::class)) { - throw new RuntimeException('To enable the locking feature you must install the symfony/lock component.'); + throw new LogicException('To enable the locking feature you must install the symfony/lock component.'); } if (null !== $this->lock) { diff --git a/vendor/symfony/console/Exception/ExceptionInterface.php b/vendor/symfony/console/Exception/ExceptionInterface.php index 491cc4c64..1624e13d0 100644 --- a/vendor/symfony/console/Exception/ExceptionInterface.php +++ b/vendor/symfony/console/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Console\Exception; * * @author Jérôme Tamarelle <jerome@tamarelle.net> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/console/Formatter/OutputFormatter.php b/vendor/symfony/console/Formatter/OutputFormatter.php index eebac82e7..fd3bbd12d 100644 --- a/vendor/symfony/console/Formatter/OutputFormatter.php +++ b/vendor/symfony/console/Formatter/OutputFormatter.php @@ -17,8 +17,9 @@ use Symfony\Component\Console\Exception\InvalidArgumentException; * Formatter class for console output. * * @author Konstantin Kudryashov <ever.zet@gmail.com> + * @author Roland Franssen <franssen.roland@gmail.com> */ -class OutputFormatter implements OutputFormatterInterface +class OutputFormatter implements WrappableOutputFormatterInterface { private $decorated; private $styles = array(); @@ -130,10 +131,18 @@ class OutputFormatter implements OutputFormatterInterface */ public function format($message) { - $message = (string) $message; + return $this->formatAndWrap((string) $message, 0); + } + + /** + * {@inheritdoc} + */ + public function formatAndWrap(string $message, int $width) + { $offset = 0; $output = ''; $tagRegex = '[a-z][a-z0-9,_=;-]*+'; + $currentLineLength = 0; preg_match_all("#<(($tagRegex) | /($tagRegex)?)>#ix", $message, $matches, PREG_OFFSET_CAPTURE); foreach ($matches[0] as $i => $match) { $pos = $match[1]; @@ -144,7 +153,7 @@ class OutputFormatter implements OutputFormatterInterface } // add the text up to the next tag - $output .= $this->applyCurrentStyle(substr($message, $offset, $pos - $offset)); + $output .= $this->applyCurrentStyle(substr($message, $offset, $pos - $offset), $output, $width, $currentLineLength); $offset = $pos + \strlen($text); // opening tag? @@ -158,7 +167,7 @@ class OutputFormatter implements OutputFormatterInterface // </> $this->styleStack->pop(); } elseif (false === $style = $this->createStyleFromString(strtolower($tag))) { - $output .= $this->applyCurrentStyle($text); + $output .= $this->applyCurrentStyle($text, $output, $width, $currentLineLength); } elseif ($open) { $this->styleStack->push($style); } else { @@ -166,7 +175,7 @@ class OutputFormatter implements OutputFormatterInterface } } - $output .= $this->applyCurrentStyle(substr($message, $offset)); + $output .= $this->applyCurrentStyle(substr($message, $offset), $output, $width, $currentLineLength); if (false !== strpos($output, "\0")) { return strtr($output, array("\0" => '\\', '\\<' => '<')); @@ -223,8 +232,46 @@ class OutputFormatter implements OutputFormatterInterface /** * Applies current style from stack to text, if must be applied. */ - private function applyCurrentStyle(string $text): string + private function applyCurrentStyle(string $text, string $current, int $width, int &$currentLineLength): string { - return $this->isDecorated() && \strlen($text) > 0 ? $this->styleStack->getCurrent()->apply($text) : $text; + if ('' === $text) { + return ''; + } + + if (!$width) { + return $this->isDecorated() ? $this->styleStack->getCurrent()->apply($text) : $text; + } + + if (!$currentLineLength && '' !== $current) { + $text = ltrim($text); + } + + if ($currentLineLength) { + $prefix = substr($text, 0, $i = $width - $currentLineLength)."\n"; + $text = substr($text, $i); + } else { + $prefix = ''; + } + + preg_match('~(\\n)$~', $text, $matches); + $text = $prefix.preg_replace('~([^\\n]{'.$width.'})\\ *~', "\$1\n", $text); + $text = rtrim($text, "\n").($matches[1] ?? ''); + + if (!$currentLineLength && '' !== $current && "\n" !== substr($current, -1)) { + $text = "\n".$text; + } + + $lines = explode("\n", $text); + if ($width === $currentLineLength = \strlen(end($lines))) { + $currentLineLength = 0; + } + + if ($this->isDecorated()) { + foreach ($lines as $i => $line) { + $lines[$i] = $this->styleStack->getCurrent()->apply($line); + } + } + + return implode("\n", $lines); } } diff --git a/vendor/symfony/console/Formatter/OutputFormatterStyle.php b/vendor/symfony/console/Formatter/OutputFormatterStyle.php index d09994f22..906021f6f 100644 --- a/vendor/symfony/console/Formatter/OutputFormatterStyle.php +++ b/vendor/symfony/console/Formatter/OutputFormatterStyle.php @@ -90,11 +90,7 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface } if (!isset(static::$availableForegroundColors[$color])) { - throw new InvalidArgumentException(sprintf( - 'Invalid foreground color specified: "%s". Expected one of (%s)', - $color, - implode(', ', array_keys(static::$availableForegroundColors)) - )); + throw new InvalidArgumentException(sprintf('Invalid foreground color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableForegroundColors)))); } $this->foreground = static::$availableForegroundColors[$color]; @@ -116,11 +112,7 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface } if (!isset(static::$availableBackgroundColors[$color])) { - throw new InvalidArgumentException(sprintf( - 'Invalid background color specified: "%s". Expected one of (%s)', - $color, - implode(', ', array_keys(static::$availableBackgroundColors)) - )); + throw new InvalidArgumentException(sprintf('Invalid background color specified: "%s". Expected one of (%s)', $color, implode(', ', array_keys(static::$availableBackgroundColors)))); } $this->background = static::$availableBackgroundColors[$color]; @@ -136,11 +128,7 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface public function setOption($option) { if (!isset(static::$availableOptions[$option])) { - throw new InvalidArgumentException(sprintf( - 'Invalid option specified: "%s". Expected one of (%s)', - $option, - implode(', ', array_keys(static::$availableOptions)) - )); + throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions)))); } if (!\in_array(static::$availableOptions[$option], $this->options)) { @@ -158,11 +146,7 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface public function unsetOption($option) { if (!isset(static::$availableOptions[$option])) { - throw new InvalidArgumentException(sprintf( - 'Invalid option specified: "%s". Expected one of (%s)', - $option, - implode(', ', array_keys(static::$availableOptions)) - )); + throw new InvalidArgumentException(sprintf('Invalid option specified: "%s". Expected one of (%s)', $option, implode(', ', array_keys(static::$availableOptions)))); } $pos = array_search(static::$availableOptions[$option], $this->options); diff --git a/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php b/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php index 9e7283c2f..7ca93035b 100644 --- a/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +++ b/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php @@ -12,11 +12,12 @@ namespace Symfony\Component\Console\Formatter; use Symfony\Component\Console\Exception\InvalidArgumentException; +use Symfony\Contracts\Service\ResetInterface; /** * @author Jean-François Simon <contact@jfsimon.fr> */ -class OutputFormatterStyleStack +class OutputFormatterStyleStack implements ResetInterface { /** * @var OutputFormatterStyleInterface[] diff --git a/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php b/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php new file mode 100644 index 000000000..6694053f0 --- /dev/null +++ b/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php @@ -0,0 +1,25 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Console\Formatter; + +/** + * Formatter interface for console output that supports word wrapping. + * + * @author Roland Franssen <franssen.roland@gmail.com> + */ +interface WrappableOutputFormatterInterface extends OutputFormatterInterface +{ + /** + * Formats a message according to the given styles, wrapping at `$width` (0 means no wrapping). + */ + public function formatAndWrap(string $message, int $width); +} diff --git a/vendor/symfony/console/Helper/ProcessHelper.php b/vendor/symfony/console/Helper/ProcessHelper.php index 666f114a2..e0720c134 100644 --- a/vendor/symfony/console/Helper/ProcessHelper.php +++ b/vendor/symfony/console/Helper/ProcessHelper.php @@ -20,18 +20,20 @@ use Symfony\Component\Process\Process; * The ProcessHelper class provides helpers to run external processes. * * @author Fabien Potencier <fabien@symfony.com> + * + * @final since Symfony 4.2 */ class ProcessHelper extends Helper { /** * Runs an external process. * - * @param OutputInterface $output An OutputInterface instance - * @param string|array|Process $cmd An instance of Process or an array of arguments to escape and run or a command to run - * @param string|null $error An error message that must be displayed if something went wrong - * @param callable|null $callback A PHP callback to run whenever there is some - * output available on STDOUT or STDERR - * @param int $verbosity The threshold for verbosity + * @param OutputInterface $output An OutputInterface instance + * @param array|Process $cmd An instance of Process or an array of the command and arguments + * @param string|null $error An error message that must be displayed if something went wrong + * @param callable|null $callback A PHP callback to run whenever there is some + * output available on STDOUT or STDERR + * @param int $verbosity The threshold for verbosity * * @return Process The process that ran */ @@ -44,9 +46,22 @@ class ProcessHelper extends Helper $formatter = $this->getHelperSet()->get('debug_formatter'); if ($cmd instanceof Process) { - $process = $cmd; - } else { + $cmd = array($cmd); + } + + if (!\is_array($cmd)) { + @trigger_error(sprintf('Passing a command as a string to "%s()" is deprecated since Symfony 4.2, pass it the command as an array of arguments instead.', __METHOD__), E_USER_DEPRECATED); + $cmd = array(\method_exists(Process::class, 'fromShellCommandline') ? Process::fromShellCommandline($cmd) : new Process($cmd)); + } + + if (\is_string($cmd[0] ?? null)) { $process = new Process($cmd); + $cmd = array(); + } elseif (($cmd[0] ?? null) instanceof Process) { + $process = $cmd[0]; + unset($cmd[0]); + } else { + throw new \InvalidArgumentException(sprintf('Invalid command provided to "%s()": the command should an array whose first is element is either the path to the binary to run of a "Process" object.', __METHOD__)); } if ($verbosity <= $output->getVerbosity()) { @@ -57,7 +72,7 @@ class ProcessHelper extends Helper $callback = $this->wrapCallback($output, $process, $callback); } - $process->run($callback); + $process->run($callback, $cmd); if ($verbosity <= $output->getVerbosity()) { $message = $process->isSuccessful() ? 'Command ran successfully' : sprintf('%s Command did not run successfully', $process->getExitCode()); diff --git a/vendor/symfony/console/Helper/QuestionHelper.php b/vendor/symfony/console/Helper/QuestionHelper.php index a0141c83c..53af6fe92 100644 --- a/vendor/symfony/console/Helper/QuestionHelper.php +++ b/vendor/symfony/console/Helper/QuestionHelper.php @@ -17,6 +17,7 @@ use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\StreamableInputInterface; use Symfony\Component\Console\Output\ConsoleOutputInterface; +use Symfony\Component\Console\Output\ConsoleSectionOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Question\ChoiceQuestion; use Symfony\Component\Console\Question\Question; @@ -46,13 +47,23 @@ class QuestionHelper extends Helper } if (!$input->isInteractive()) { - if ($question instanceof ChoiceQuestion) { + $default = $question->getDefault(); + + if (null !== $default && $question instanceof ChoiceQuestion) { $choices = $question->getChoices(); - return $choices[$question->getDefault()]; + if (!$question->isMultiselect()) { + return isset($choices[$default]) ? $choices[$default] : $default; + } + + $default = explode(',', $default); + foreach ($default as $k => $v) { + $v = trim($v); + $default[$k] = isset($choices[$v]) ? $choices[$v] : $v; + } } - return $question->getDefault(); + return $default; } if ($input instanceof StreamableInputInterface && $stream = $input->getStream()) { @@ -89,7 +100,7 @@ class QuestionHelper extends Helper /** * Asks the question to the user. * - * @return bool|mixed|null|string + * @return bool|mixed|string|null * * @throws RuntimeException In case the fallback is deactivated and the response cannot be hidden */ @@ -123,6 +134,10 @@ class QuestionHelper extends Helper $ret = trim($this->autocomplete($output, $question, $inputStream, \is_array($autocomplete) ? $autocomplete : iterator_to_array($autocomplete, false))); } + if ($output instanceof ConsoleSectionOutput) { + $output->addContent($ret); + } + $ret = \strlen($ret) > 0 ? $ret : $question->getDefault(); if ($normalizer = $question->getNormalizer()) { diff --git a/vendor/symfony/console/Helper/SymfonyQuestionHelper.php b/vendor/symfony/console/Helper/SymfonyQuestionHelper.php index 969777207..260c03e20 100644 --- a/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +++ b/vendor/symfony/console/Helper/SymfonyQuestionHelper.php @@ -58,7 +58,7 @@ class SymfonyQuestionHelper extends QuestionHelper case $question instanceof ChoiceQuestion: $choices = $question->getChoices(); - $text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape($choices[$default])); + $text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape(isset($choices[$default]) ? $choices[$default] : $default)); break; diff --git a/vendor/symfony/console/Helper/Table.php b/vendor/symfony/console/Helper/Table.php index f0dbec4eb..14974529c 100644 --- a/vendor/symfony/console/Helper/Table.php +++ b/vendor/symfony/console/Helper/Table.php @@ -13,6 +13,7 @@ namespace Symfony\Component\Console\Helper; use Symfony\Component\Console\Exception\InvalidArgumentException; use Symfony\Component\Console\Exception\RuntimeException; +use Symfony\Component\Console\Formatter\WrappableOutputFormatterInterface; use Symfony\Component\Console\Output\ConsoleSectionOutput; use Symfony\Component\Console\Output\OutputInterface; @@ -34,6 +35,9 @@ class Table private const BORDER_OUTSIDE = 0; private const BORDER_INSIDE = 1; + private $headerTitle; + private $footerTitle; + /** * Table headers. */ @@ -77,6 +81,7 @@ class Table * @var array */ private $columnWidths = array(); + private $columnMaxWidths = array(); private static $styles; @@ -180,11 +185,7 @@ class Table */ public function getColumnStyle($columnIndex) { - if (isset($this->columnStyles[$columnIndex])) { - return $this->columnStyles[$columnIndex]; - } - - return $this->getStyle(); + return $this->columnStyles[$columnIndex] ?? $this->getStyle(); } /** @@ -219,6 +220,25 @@ class Table return $this; } + /** + * Sets the maximum width of a column. + * + * Any cell within this column which contents exceeds the specified width will be wrapped into multiple lines, while + * formatted strings are preserved. + * + * @return $this + */ + public function setColumnMaxWidth(int $columnIndex, int $width): self + { + if (!$this->output->getFormatter() instanceof WrappableOutputFormatterInterface) { + throw new \LogicException(sprintf('Setting a maximum column width is only supported when using a "%s" formatter, got "%s".', WrappableOutputFormatterInterface::class, \get_class($this->output->getFormatter()))); + } + + $this->columnMaxWidths[$columnIndex] = $width; + + return $this; + } + public function setHeaders(array $headers) { $headers = array_values($headers); @@ -290,19 +310,32 @@ class Table return $this; } + public function setHeaderTitle(?string $title): self + { + $this->headerTitle = $title; + + return $this; + } + + public function setFooterTitle(?string $title): self + { + $this->footerTitle = $title; + + return $this; + } + /** * Renders table to output. * * Example: - * <code> - * +---------------+-----------------------+------------------+ - * | ISBN | Title | Author | - * +---------------+-----------------------+------------------+ - * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | - * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | - * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | - * +---------------+-----------------------+------------------+ - * </code> + * + * +---------------+-----------------------+------------------+ + * | ISBN | Title | Author | + * +---------------+-----------------------+------------------+ + * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | + * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | + * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | + * +---------------+-----------------------+------------------+ */ public function render() { @@ -331,15 +364,17 @@ class Table } if ($isHeader || $isFirstRow) { - $this->renderRowSeparator($isFirstRow ? self::SEPARATOR_TOP_BOTTOM : self::SEPARATOR_TOP); if ($isFirstRow) { + $this->renderRowSeparator(self::SEPARATOR_TOP_BOTTOM); $isFirstRow = false; + } else { + $this->renderRowSeparator(self::SEPARATOR_TOP, $this->headerTitle, $this->style->getHeaderTitleFormat()); } } $this->renderRow($row, $isHeader ? $this->style->getCellHeaderFormat() : $this->style->getCellRowFormat()); } - $this->renderRowSeparator(self::SEPARATOR_BOTTOM); + $this->renderRowSeparator(self::SEPARATOR_BOTTOM, $this->footerTitle, $this->style->getFooterTitleFormat()); $this->cleanup(); $this->rendered = true; @@ -348,9 +383,11 @@ class Table /** * Renders horizontal header separator. * - * Example: <code>+-----+-----------+-------+</code> + * Example: + * + * +-----+-----------+-------+ */ - private function renderRowSeparator(int $type = self::SEPARATOR_MID) + private function renderRowSeparator(int $type = self::SEPARATOR_MID, string $title = null, string $titleFormat = null) { if (0 === $count = $this->numberOfColumns) { return; @@ -378,6 +415,23 @@ class Table $markup .= $column === $count - 1 ? $rightChar : $midChar; } + if (null !== $title) { + $titleLength = Helper::strlenWithoutDecoration($formatter = $this->output->getFormatter(), $formattedTitle = sprintf($titleFormat, $title)); + $markupLength = Helper::strlen($markup); + if ($titleLength > $limit = $markupLength - 4) { + $titleLength = $limit; + $formatLength = Helper::strlenWithoutDecoration($formatter, sprintf($titleFormat, '')); + $formattedTitle = sprintf($titleFormat, Helper::substr($title, 0, $limit - $formatLength - 3).'...'); + } + + $titleStart = ($markupLength - $titleLength) / 2; + if (false === mb_detect_encoding($markup, null, true)) { + $markup = substr_replace($markup, $formattedTitle, $titleStart, $titleLength); + } else { + $markup = mb_substr($markup, 0, $titleStart).$formattedTitle.mb_substr($markup, $titleStart + $titleLength); + } + } + $this->output->writeln(sprintf($this->style->getBorderFormat(), $markup)); } @@ -394,7 +448,9 @@ class Table /** * Renders table row. * - * Example: <code>| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens |</code> + * Example: + * + * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | */ private function renderRow(array $row, string $cellFormat) { @@ -458,12 +514,17 @@ class Table private function buildTableRows($rows) { + /** @var WrappableOutputFormatterInterface $formatter */ + $formatter = $this->output->getFormatter(); $unmergedRows = array(); for ($rowKey = 0; $rowKey < \count($rows); ++$rowKey) { $rows = $this->fillNextRows($rows, $rowKey); // Remove any new line breaks and replace it with a new line foreach ($rows[$rowKey] as $column => $cell) { + if (isset($this->columnMaxWidths[$column]) && Helper::strlenWithoutDecoration($formatter, $cell) > $this->columnMaxWidths[$column]) { + $cell = $formatter->formatAndWrap($cell, $this->columnMaxWidths[$column]); + } if (!strstr($cell, "\n")) { continue; } @@ -652,13 +713,13 @@ class Table $lengths[] = $this->getCellWidth($row, $column); } - $this->effectiveColumnWidths[$column] = max($lengths) + \strlen($this->style->getCellRowContentFormat()) - 2; + $this->effectiveColumnWidths[$column] = max($lengths) + Helper::strlen($this->style->getCellRowContentFormat()) - 2; } } private function getColumnSeparatorWidth(): int { - return \strlen(sprintf($this->style->getBorderFormat(), $this->style->getBorderChars()[3])); + return Helper::strlen(sprintf($this->style->getBorderFormat(), $this->style->getBorderChars()[3])); } private function getCellWidth(array $row, int $column): int @@ -671,8 +732,9 @@ class Table } $columnWidth = isset($this->columnWidths[$column]) ? $this->columnWidths[$column] : 0; + $cellWidth = max($cellWidth, $columnWidth); - return max($cellWidth, $columnWidth); + return isset($this->columnMaxWidths[$column]) ? min($this->columnMaxWidths[$column], $cellWidth) : $cellWidth; } /** diff --git a/vendor/symfony/console/Helper/TableStyle.php b/vendor/symfony/console/Helper/TableStyle.php index 0536713a8..f8ecc2d98 100644 --- a/vendor/symfony/console/Helper/TableStyle.php +++ b/vendor/symfony/console/Helper/TableStyle.php @@ -40,6 +40,8 @@ class TableStyle private $crossingTopLeftBottomChar = '+'; private $crossingTopMidBottomChar = '+'; private $crossingTopRightBottomChar = '+'; + private $headerTitleFormat = '<fg=black;bg=white;options=bold> %s </>'; + private $footerTitleFormat = '<fg=black;bg=white;options=bold> %s </>'; private $cellHeaderFormat = '<info>%s</info>'; private $cellRowFormat = '%s'; private $cellRowContentFormat = ' %s '; @@ -276,7 +278,7 @@ class TableStyle /** * Gets crossing character. * - * @return string $crossingChar + * @return string */ public function getCrossingChar() { @@ -429,4 +431,28 @@ class TableStyle { return $this->padType; } + + public function getHeaderTitleFormat(): string + { + return $this->headerTitleFormat; + } + + public function setHeaderTitleFormat(string $format): self + { + $this->headerTitleFormat = $format; + + return $this; + } + + public function getFooterTitleFormat(): string + { + return $this->footerTitleFormat; + } + + public function setFooterTitleFormat(string $format): self + { + $this->footerTitleFormat = $format; + + return $this; + } } diff --git a/vendor/symfony/console/Input/ArgvInput.php b/vendor/symfony/console/Input/ArgvInput.php index da268677a..b459ae474 100644 --- a/vendor/symfony/console/Input/ArgvInput.php +++ b/vendor/symfony/console/Input/ArgvInput.php @@ -121,7 +121,8 @@ class ArgvInput extends Input $len = \strlen($name); for ($i = 0; $i < $len; ++$i) { if (!$this->definition->hasShortcut($name[$i])) { - throw new RuntimeException(sprintf('The "-%s" option does not exist.', $name[$i])); + $encoding = mb_detect_encoding($name, null, true); + throw new RuntimeException(sprintf('The "-%s" option does not exist.', false === $encoding ? $name[$i] : mb_substr($name, $i, 1, $encoding))); } $option = $this->definition->getOptionForShortcut($name[$i]); diff --git a/vendor/symfony/console/Input/InputArgument.php b/vendor/symfony/console/Input/InputArgument.php index 409c4c4a9..94e82f0b8 100644 --- a/vendor/symfony/console/Input/InputArgument.php +++ b/vendor/symfony/console/Input/InputArgument.php @@ -31,10 +31,10 @@ class InputArgument private $description; /** - * @param string $name The argument name - * @param int $mode The argument mode: self::REQUIRED or self::OPTIONAL - * @param string $description A description text - * @param mixed $default The default value (for self::OPTIONAL mode only) + * @param string $name The argument name + * @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL + * @param string $description A description text + * @param string|string[]|null $default The default value (for self::OPTIONAL mode only) * * @throws InvalidArgumentException When argument mode is not valid */ @@ -86,7 +86,7 @@ class InputArgument /** * Sets the default value. * - * @param mixed $default The default value + * @param string|string[]|null $default The default value * * @throws LogicException When incorrect default value is given */ @@ -110,7 +110,7 @@ class InputArgument /** * Returns the default value. * - * @return mixed The default value + * @return string|string[]|null The default value */ public function getDefault() { diff --git a/vendor/symfony/console/Input/InputAwareInterface.php b/vendor/symfony/console/Input/InputAwareInterface.php index d0f11e986..5a288de5d 100644 --- a/vendor/symfony/console/Input/InputAwareInterface.php +++ b/vendor/symfony/console/Input/InputAwareInterface.php @@ -21,8 +21,6 @@ interface InputAwareInterface { /** * Sets the Console Input. - * - * @param InputInterface */ public function setInput(InputInterface $input); } diff --git a/vendor/symfony/console/Input/InputDefinition.php b/vendor/symfony/console/Input/InputDefinition.php index dc9f8b241..21fc67df2 100644 --- a/vendor/symfony/console/Input/InputDefinition.php +++ b/vendor/symfony/console/Input/InputDefinition.php @@ -20,8 +20,8 @@ use Symfony\Component\Console\Exception\LogicException; * Usage: * * $definition = new InputDefinition(array( - * new InputArgument('name', InputArgument::REQUIRED), - * new InputOption('foo', 'f', InputOption::VALUE_REQUIRED), + * new InputArgument('name', InputArgument::REQUIRED), + * new InputOption('foo', 'f', InputOption::VALUE_REQUIRED), * )); * * @author Fabien Potencier <fabien@symfony.com> diff --git a/vendor/symfony/console/Input/InputInterface.php b/vendor/symfony/console/Input/InputInterface.php index 43810f7ac..b9bcf3bbc 100644 --- a/vendor/symfony/console/Input/InputInterface.php +++ b/vendor/symfony/console/Input/InputInterface.php @@ -61,6 +61,8 @@ interface InputInterface /** * Binds the current Input instance with the given arguments and options. + * + * @throws RuntimeException */ public function bind(InputDefinition $definition); @@ -83,7 +85,7 @@ interface InputInterface * * @param string $name The argument name * - * @return mixed The argument value + * @return string|string[]|null The argument value * * @throws InvalidArgumentException When argument given doesn't exist */ @@ -92,8 +94,8 @@ interface InputInterface /** * Sets an argument value by name. * - * @param string $name The argument name - * @param string $value The argument value + * @param string $name The argument name + * @param string|string[]|null $value The argument value * * @throws InvalidArgumentException When argument given doesn't exist */ @@ -120,7 +122,7 @@ interface InputInterface * * @param string $name The option name * - * @return mixed The option value + * @return string|string[]|bool|null The option value * * @throws InvalidArgumentException When option given doesn't exist */ @@ -129,8 +131,8 @@ interface InputInterface /** * Sets an option value by name. * - * @param string $name The option name - * @param string|bool $value The option value + * @param string $name The option name + * @param string|string[]|bool|null $value The option value * * @throws InvalidArgumentException When option given doesn't exist */ diff --git a/vendor/symfony/console/Input/InputOption.php b/vendor/symfony/console/Input/InputOption.php index a8dade4de..3ba84cd77 100644 --- a/vendor/symfony/console/Input/InputOption.php +++ b/vendor/symfony/console/Input/InputOption.php @@ -33,11 +33,11 @@ class InputOption private $description; /** - * @param string $name The option name - * @param string|array $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts - * @param int $mode The option mode: One of the VALUE_* constants - * @param string $description A description text - * @param mixed $default The default value (must be null for self::VALUE_NONE) + * @param string $name The option name + * @param string|array $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts + * @param int|null $mode The option mode: One of the VALUE_* constants + * @param string $description A description text + * @param string|string[]|int|bool|null $default The default value (must be null for self::VALUE_NONE) * * @throws InvalidArgumentException If option mode is invalid or incompatible */ @@ -149,7 +149,7 @@ class InputOption /** * Sets the default value. * - * @param mixed $default The default value + * @param string|string[]|int|bool|null $default The default value * * @throws LogicException When incorrect default value is given */ @@ -173,7 +173,7 @@ class InputOption /** * Returns the default value. * - * @return mixed The default value + * @return string|string[]|int|bool|null The default value */ public function getDefault() { diff --git a/vendor/symfony/console/Output/ConsoleSectionOutput.php b/vendor/symfony/console/Output/ConsoleSectionOutput.php index 98c778964..d7e1685ba 100644 --- a/vendor/symfony/console/Output/ConsoleSectionOutput.php +++ b/vendor/symfony/console/Output/ConsoleSectionOutput.php @@ -77,6 +77,18 @@ class ConsoleSectionOutput extends StreamOutput return implode('', $this->content); } + /** + * @internal + */ + public function addContent(string $input) + { + foreach (explode(PHP_EOL, $input) as $lineContent) { + $this->lines += ceil($this->getDisplayLength($lineContent) / $this->terminal->getWidth()) ?: 1; + $this->content[] = $lineContent; + $this->content[] = PHP_EOL; + } + } + /** * {@inheritdoc} */ @@ -88,11 +100,7 @@ class ConsoleSectionOutput extends StreamOutput $erasedContent = $this->popStreamContentUntilCurrentSection(); - foreach (explode(PHP_EOL, $message) as $lineContent) { - $this->lines += ceil($this->getDisplayLength($lineContent) / $this->terminal->getWidth()) ?: 1; - $this->content[] = $lineContent; - $this->content[] = PHP_EOL; - } + $this->addContent($message); parent::doWrite($message, true); parent::doWrite($erasedContent, false); diff --git a/vendor/symfony/console/Output/StreamOutput.php b/vendor/symfony/console/Output/StreamOutput.php index 210ce007a..43f7a2f23 100644 --- a/vendor/symfony/console/Output/StreamOutput.php +++ b/vendor/symfony/console/Output/StreamOutput.php @@ -20,11 +20,11 @@ use Symfony\Component\Console\Formatter\OutputFormatterInterface; * * Usage: * - * $output = new StreamOutput(fopen('php://stdout', 'w')); + * $output = new StreamOutput(fopen('php://stdout', 'w')); * * As `StreamOutput` can use any stream, you can also use a file: * - * $output = new StreamOutput(fopen('/path/to/output.log', 'a', false)); + * $output = new StreamOutput(fopen('/path/to/output.log', 'a', false)); * * @author Fabien Potencier <fabien@symfony.com> */ @@ -70,7 +70,11 @@ class StreamOutput extends Output */ protected function doWrite($message, $newline) { - if (false === @fwrite($this->stream, $message) || ($newline && (false === @fwrite($this->stream, PHP_EOL)))) { + if ($newline) { + $message .= PHP_EOL; + } + + if (false === @fwrite($this->stream, $message)) { // should never happen throw new RuntimeException('Unable to write output.'); } diff --git a/vendor/symfony/console/Question/Question.php b/vendor/symfony/console/Question/Question.php index 4e05758b5..eac82cfad 100644 --- a/vendor/symfony/console/Question/Question.php +++ b/vendor/symfony/console/Question/Question.php @@ -117,7 +117,7 @@ class Question /** * Gets values for the autocompleter. * - * @return null|iterable + * @return iterable|null */ public function getAutocompleterValues() { @@ -127,7 +127,7 @@ class Question /** * Sets values for the autocompleter. * - * @param null|iterable $values + * @param iterable|null $values * * @return $this * @@ -141,7 +141,7 @@ class Question } if (null !== $values && !\is_array($values) && !$values instanceof \Traversable) { - throw new InvalidArgumentException('Autocompleter values can be either an array, `null` or a `Traversable` object.'); + throw new InvalidArgumentException('Autocompleter values can be either an array, "null" or a "Traversable" object.'); } if ($this->hidden) { @@ -156,7 +156,7 @@ class Question /** * Sets a validator for the question. * - * @param null|callable $validator + * @param callable|null $validator * * @return $this */ @@ -170,7 +170,7 @@ class Question /** * Gets the validator for the question. * - * @return null|callable + * @return callable|null */ public function getValidator() { @@ -182,7 +182,7 @@ class Question * * Null means an unlimited number of attempts. * - * @param null|int $attempts + * @param int|null $attempts * * @return $this * @@ -204,7 +204,7 @@ class Question * * Null means an unlimited number of attempts. * - * @return null|int + * @return int|null */ public function getMaxAttempts() { diff --git a/vendor/symfony/console/Tester/ApplicationTester.php b/vendor/symfony/console/Tester/ApplicationTester.php index 3ae311525..24976f089 100644 --- a/vendor/symfony/console/Tester/ApplicationTester.php +++ b/vendor/symfony/console/Tester/ApplicationTester.php @@ -13,8 +13,6 @@ namespace Symfony\Component\Console\Tester; use Symfony\Component\Console\Application; use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\ConsoleOutput; -use Symfony\Component\Console\Output\StreamOutput; /** * Eases the testing of console applications. @@ -33,7 +31,6 @@ class ApplicationTester private $application; private $input; private $statusCode; - private $captureStreamsIndependently = false; public function __construct(Application $application) { @@ -69,36 +66,7 @@ class ApplicationTester putenv('SHELL_INTERACTIVE=1'); } - $this->captureStreamsIndependently = array_key_exists('capture_stderr_separately', $options) && $options['capture_stderr_separately']; - if (!$this->captureStreamsIndependently) { - $this->output = new StreamOutput(fopen('php://memory', 'w', false)); - if (isset($options['decorated'])) { - $this->output->setDecorated($options['decorated']); - } - if (isset($options['verbosity'])) { - $this->output->setVerbosity($options['verbosity']); - } - } else { - $this->output = new ConsoleOutput( - isset($options['verbosity']) ? $options['verbosity'] : ConsoleOutput::VERBOSITY_NORMAL, - isset($options['decorated']) ? $options['decorated'] : null - ); - - $errorOutput = new StreamOutput(fopen('php://memory', 'w', false)); - $errorOutput->setFormatter($this->output->getFormatter()); - $errorOutput->setVerbosity($this->output->getVerbosity()); - $errorOutput->setDecorated($this->output->isDecorated()); - - $reflectedOutput = new \ReflectionObject($this->output); - $strErrProperty = $reflectedOutput->getProperty('stderr'); - $strErrProperty->setAccessible(true); - $strErrProperty->setValue($this->output, $errorOutput); - - $reflectedParent = $reflectedOutput->getParentClass(); - $streamProperty = $reflectedParent->getProperty('stream'); - $streamProperty->setAccessible(true); - $streamProperty->setValue($this->output, fopen('php://memory', 'w', false)); - } + $this->initOutput($options); $this->statusCode = $this->application->run($this->input, $this->output); @@ -106,28 +74,4 @@ class ApplicationTester return $this->statusCode; } - - /** - * Gets the output written to STDERR by the application. - * - * @param bool $normalize Whether to normalize end of lines to \n or not - * - * @return string - */ - public function getErrorOutput($normalize = false) - { - if (!$this->captureStreamsIndependently) { - throw new \LogicException('The error output is not available when the tester is run without "capture_stderr_separately" option set.'); - } - - rewind($this->output->getErrorOutput()->getStream()); - - $display = stream_get_contents($this->output->getErrorOutput()->getStream()); - - if ($normalize) { - $display = str_replace(PHP_EOL, "\n", $display); - } - - return $display; - } } diff --git a/vendor/symfony/console/Tester/CommandTester.php b/vendor/symfony/console/Tester/CommandTester.php index ecdc40c04..c5b178f2a 100644 --- a/vendor/symfony/console/Tester/CommandTester.php +++ b/vendor/symfony/console/Tester/CommandTester.php @@ -13,7 +13,6 @@ namespace Symfony\Component\Console\Tester; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\StreamOutput; /** * Eases the testing of console commands. @@ -39,9 +38,10 @@ class CommandTester * * Available execution options: * - * * interactive: Sets the input interactive flag - * * decorated: Sets the output decorated flag - * * verbosity: Sets the output verbosity flag + * * interactive: Sets the input interactive flag + * * decorated: Sets the output decorated flag + * * verbosity: Sets the output verbosity flag + * * capture_stderr_separately: Make output of stdOut and stdErr separately available * * @param array $input An array of command arguments and options * @param array $options An array of execution options @@ -68,12 +68,12 @@ class CommandTester $this->input->setInteractive($options['interactive']); } - $this->output = new StreamOutput(fopen('php://memory', 'w', false)); - $this->output->setDecorated(isset($options['decorated']) ? $options['decorated'] : false); - if (isset($options['verbosity'])) { - $this->output->setVerbosity($options['verbosity']); + if (!isset($options['decorated'])) { + $options['decorated'] = false; } + $this->initOutput($options); + return $this->statusCode = $this->command->run($this->input, $this->output); } } diff --git a/vendor/symfony/console/Tester/TesterTrait.php b/vendor/symfony/console/Tester/TesterTrait.php index 4e1e0795c..508a61b62 100644 --- a/vendor/symfony/console/Tester/TesterTrait.php +++ b/vendor/symfony/console/Tester/TesterTrait.php @@ -12,19 +12,19 @@ namespace Symfony\Component\Console\Tester; use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\ConsoleOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\StreamOutput; /** * @author Amrouche Hamza <hamza.simperfit@gmail.com> - * - * @internal */ trait TesterTrait { /** @var StreamOutput */ private $output; private $inputs = array(); + private $captureStreamsIndependently = false; /** * Gets the display returned by the last execution of the command or application. @@ -46,6 +46,30 @@ trait TesterTrait return $display; } + /** + * Gets the output written to STDERR by the application. + * + * @param bool $normalize Whether to normalize end of lines to \n or not + * + * @return string + */ + public function getErrorOutput($normalize = false) + { + if (!$this->captureStreamsIndependently) { + throw new \LogicException('The error output is not available when the tester is run without "capture_stderr_separately" option set.'); + } + + rewind($this->output->getErrorOutput()->getStream()); + + $display = stream_get_contents($this->output->getErrorOutput()->getStream()); + + if ($normalize) { + $display = str_replace(PHP_EOL, "\n", $display); + } + + return $display; + } + /** * Gets the input instance used by the last execution of the command or application. * @@ -79,8 +103,8 @@ trait TesterTrait /** * Sets the user inputs. * - * @param $inputs array An array of strings representing each input - * passed to the command input stream + * @param array $inputs An array of strings representing each input + * passed to the command input stream * * @return self */ @@ -91,6 +115,49 @@ trait TesterTrait return $this; } + /** + * Initializes the output property. + * + * Available options: + * + * * decorated: Sets the output decorated flag + * * verbosity: Sets the output verbosity flag + * * capture_stderr_separately: Make output of stdOut and stdErr separately available + */ + private function initOutput(array $options) + { + $this->captureStreamsIndependently = array_key_exists('capture_stderr_separately', $options) && $options['capture_stderr_separately']; + if (!$this->captureStreamsIndependently) { + $this->output = new StreamOutput(fopen('php://memory', 'w', false)); + if (isset($options['decorated'])) { + $this->output->setDecorated($options['decorated']); + } + if (isset($options['verbosity'])) { + $this->output->setVerbosity($options['verbosity']); + } + } else { + $this->output = new ConsoleOutput( + isset($options['verbosity']) ? $options['verbosity'] : ConsoleOutput::VERBOSITY_NORMAL, + isset($options['decorated']) ? $options['decorated'] : null + ); + + $errorOutput = new StreamOutput(fopen('php://memory', 'w', false)); + $errorOutput->setFormatter($this->output->getFormatter()); + $errorOutput->setVerbosity($this->output->getVerbosity()); + $errorOutput->setDecorated($this->output->isDecorated()); + + $reflectedOutput = new \ReflectionObject($this->output); + $strErrProperty = $reflectedOutput->getProperty('stderr'); + $strErrProperty->setAccessible(true); + $strErrProperty->setValue($this->output, $errorOutput); + + $reflectedParent = $reflectedOutput->getParentClass(); + $streamProperty = $reflectedParent->getProperty('stream'); + $streamProperty->setAccessible(true); + $streamProperty->setValue($this->output, fopen('php://memory', 'w', false)); + } + } + private static function createStream(array $inputs) { $stream = fopen('php://memory', 'r+', false); diff --git a/vendor/symfony/console/Tests/ApplicationTest.php b/vendor/symfony/console/Tests/ApplicationTest.php index 28c37bb4c..d7b0451ef 100644 --- a/vendor/symfony/console/Tests/ApplicationTest.php +++ b/vendor/symfony/console/Tests/ApplicationTest.php @@ -824,6 +824,56 @@ class ApplicationTest extends TestCase $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_linebreaks.txt', $tester->getDisplay(true), '->renderException() keep multiple line breaks'); } + public function testRenderAnonymousException() + { + $application = new Application(); + $application->setAutoExit(false); + $application->register('foo')->setCode(function () { + throw new class('') extends \InvalidArgumentException { + }; + }); + $tester = new ApplicationTester($application); + + $tester->run(array('command' => 'foo'), array('decorated' => false)); + $this->assertContains('[InvalidArgumentException@anonymous]', $tester->getDisplay(true)); + + $application = new Application(); + $application->setAutoExit(false); + $application->register('foo')->setCode(function () { + throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() { + }))); + }); + $tester = new ApplicationTester($application); + + $tester->run(array('command' => 'foo'), array('decorated' => false)); + $this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true)); + } + + public function testRenderExceptionStackTraceContainsRootException() + { + $application = new Application(); + $application->setAutoExit(false); + $application->register('foo')->setCode(function () { + throw new class('') extends \InvalidArgumentException { + }; + }); + $tester = new ApplicationTester($application); + + $tester->run(array('command' => 'foo'), array('decorated' => false)); + $this->assertContains('[InvalidArgumentException@anonymous]', $tester->getDisplay(true)); + + $application = new Application(); + $application->setAutoExit(false); + $application->register('foo')->setCode(function () { + throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() { + }))); + }); + $tester = new ApplicationTester($application); + + $tester->run(array('command' => 'foo'), array('decorated' => false)); + $this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true)); + } + public function testRun() { $application = new Application(); @@ -960,6 +1010,30 @@ class ApplicationTest extends TestCase $this->assertSame(4, $exitCode, '->run() returns integer exit code extracted from raised exception'); } + public function testRunDispatchesIntegerExitCode() + { + $passedRightValue = false; + + // We can assume here that some other test asserts that the event is dispatched at all + $dispatcher = new EventDispatcher(); + $dispatcher->addListener('console.terminate', function (ConsoleTerminateEvent $event) use (&$passedRightValue) { + $passedRightValue = (4 === $event->getExitCode()); + }); + + $application = new Application(); + $application->setDispatcher($dispatcher); + $application->setAutoExit(false); + + $application->register('test')->setCode(function (InputInterface $input, OutputInterface $output) { + throw new \Exception('', 4); + }); + + $tester = new ApplicationTester($application); + $tester->run(array('command' => 'test')); + + $this->assertTrue($passedRightValue, '-> exit code 4 was passed in the console.terminate event'); + } + public function testRunReturnsExitCodeOneForExceptionCodeZero() { $exception = new \Exception('', 0); @@ -975,6 +1049,30 @@ class ApplicationTest extends TestCase $this->assertSame(1, $exitCode, '->run() returns exit code 1 when exception code is 0'); } + public function testRunDispatchesExitCodeOneForExceptionCodeZero() + { + $passedRightValue = false; + + // We can assume here that some other test asserts that the event is dispatched at all + $dispatcher = new EventDispatcher(); + $dispatcher->addListener('console.terminate', function (ConsoleTerminateEvent $event) use (&$passedRightValue) { + $passedRightValue = (1 === $event->getExitCode()); + }); + + $application = new Application(); + $application->setDispatcher($dispatcher); + $application->setAutoExit(false); + + $application->register('test')->setCode(function (InputInterface $input, OutputInterface $output) { + throw new \Exception(); + }); + + $tester = new ApplicationTester($application); + $tester->run(array('command' => 'test')); + + $this->assertTrue($passedRightValue, '-> exit code 1 was passed in the console.terminate event'); + } + /** * @expectedException \LogicException * @expectedExceptionMessage An option with shortcut "e" already exists. diff --git a/vendor/symfony/console/Tests/Fixtures/Foo6Command.php b/vendor/symfony/console/Tests/Fixtures/Foo6Command.php index 6ae987e48..ef5bd7702 100644 --- a/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +++ b/vendor/symfony/console/Tests/Fixtures/Foo6Command.php @@ -1,6 +1,5 @@ <?php - use Symfony\Component\Console\Command\Command; class Foo6Command extends Command diff --git a/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php b/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php index c1addbab9..b51668cfa 100644 --- a/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +++ b/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php @@ -322,6 +322,25 @@ more text EOF )); } + + public function testFormatAndWrap() + { + $formatter = new OutputFormatter(true); + + $this->assertSame("fo\no\e[37;41mb\e[39;49m\n\e[37;41mar\e[39;49m\nba\nz", $formatter->formatAndWrap('foo<error>bar</error> baz', 2)); + $this->assertSame("pr\ne \e[37;41m\e[39;49m\n\e[37;41mfo\e[39;49m\n\e[37;41mo \e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mr \e[39;49m\n\e[37;41mba\e[39;49m\n\e[37;41mz\e[39;49m \npo\nst", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 2)); + $this->assertSame("pre\e[37;41m\e[39;49m\n\e[37;41mfoo\e[39;49m\n\e[37;41mbar\e[39;49m\n\e[37;41mbaz\e[39;49m\npos\nt", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 3)); + $this->assertSame("pre \e[37;41m\e[39;49m\n\e[37;41mfoo \e[39;49m\n\e[37;41mbar \e[39;49m\n\e[37;41mbaz\e[39;49m \npost", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 4)); + $this->assertSame("pre \e[37;41mf\e[39;49m\n\e[37;41moo ba\e[39;49m\n\e[37;41mr baz\e[39;49m\npost", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 5)); + + $formatter = new OutputFormatter(); + + $this->assertSame("fo\nob\nar\nba\nz", $formatter->formatAndWrap('foo<error>bar</error> baz', 2)); + $this->assertSame("pr\ne \nfo\no \nba\nr \nba\nz \npo\nst", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 2)); + $this->assertSame("pre\nfoo\nbar\nbaz\npos\nt", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 3)); + $this->assertSame("pre \nfoo \nbar \nbaz \npost", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 4)); + $this->assertSame("pre f\noo ba\nr baz\npost", $formatter->formatAndWrap('pre <error>foo bar baz</error> post', 5)); + } } class TableCell diff --git a/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php b/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php index 382c9f4c1..829bc4330 100644 --- a/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +++ b/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php @@ -25,6 +25,10 @@ class ProcessHelperTest extends TestCase */ public function testVariousProcessRuns($expected, $cmd, $verbosity, $error) { + if (\is_string($cmd)) { + $cmd = \method_exists(Process::class, 'fromShellCommandline') ? Process::fromShellCommandline($cmd) : new Process($cmd); + } + $helper = new ProcessHelper(); $helper->setHelperSet(new HelperSet(array(new DebugFormatterHelper()))); $output = $this->getOutputStream($verbosity); @@ -41,7 +45,7 @@ class ProcessHelperTest extends TestCase $executed = false; $callback = function () use (&$executed) { $executed = true; }; - $helper->run($output, 'php -r "echo 42;"', null, $callback); + $helper->run($output, array('php', '-r', 'echo 42;'), null, $callback); $this->assertTrue($executed); } @@ -81,12 +85,21 @@ EOT; OUT out message RES 252 Command did not run successfully +EOT; + + $PHP = '\\' === \DIRECTORY_SEPARATOR ? '"!PHP!"' : '"$PHP"'; + $successOutputPhp = <<<EOT + RUN php -r $PHP + OUT 42 + RES Command ran successfully + EOT; $errorMessage = 'An error occurred'; $args = new Process(array('php', '-r', 'echo 42;')); $args = $args->getCommandLine(); $successOutputProcessDebug = str_replace("'php' '-r' 'echo 42;'", $args, $successOutputProcessDebug); + $fromShellCommandline = \method_exists(Process::class, 'fromShellCommandline') ? array(Process::class, 'fromShellCommandline') : function ($cmd) { return new Process($cmd); }; return array( array('', 'php -r "echo 42;"', StreamOutput::VERBOSITY_VERBOSE, null), @@ -100,7 +113,9 @@ EOT; array($syntaxErrorOutputVerbose.$errorMessage.PHP_EOL, 'php -r "fwrite(STDERR, \'error message\');usleep(50000);fwrite(STDOUT, \'out message\');exit(252);"', StreamOutput::VERBOSITY_VERY_VERBOSE, $errorMessage), array($syntaxErrorOutputDebug.$errorMessage.PHP_EOL, 'php -r "fwrite(STDERR, \'error message\');usleep(500000);fwrite(STDOUT, \'out message\');exit(252);"', StreamOutput::VERBOSITY_DEBUG, $errorMessage), array($successOutputProcessDebug, array('php', '-r', 'echo 42;'), StreamOutput::VERBOSITY_DEBUG, null), - array($successOutputDebug, new Process('php -r "echo 42;"'), StreamOutput::VERBOSITY_DEBUG, null), + array($successOutputDebug, $fromShellCommandline('php -r "echo 42;"'), StreamOutput::VERBOSITY_DEBUG, null), + array($successOutputProcessDebug, array(new Process(array('php', '-r', 'echo 42;'))), StreamOutput::VERBOSITY_DEBUG, null), + array($successOutputPhp, array($fromShellCommandline('php -r '.$PHP), 'PHP' => 'echo 42;'), StreamOutput::VERBOSITY_DEBUG, null), ); } diff --git a/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php b/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php index 67d6981c9..3cb9a0996 100644 --- a/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +++ b/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php @@ -89,6 +89,63 @@ class QuestionHelperTest extends AbstractQuestionHelperTest $this->assertEquals('Superman', $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, true), $this->createOutputInterface(), $question)); } + public function testAskChoiceNonInteractive() + { + $questionHelper = new QuestionHelper(); + + $helperSet = new HelperSet(array(new FormatterHelper())); + $questionHelper->setHelperSet($helperSet); + $inputStream = $this->getInputStream("\n1\n 1 \nFabien\n1\nFabien\n1\n0,2\n 0 , 2 \n\n\n"); + + $heroes = array('Superman', 'Batman', 'Spiderman'); + + $question = new ChoiceQuestion('What is your favorite superhero?', $heroes, '0'); + + $this->assertSame('Superman', $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('What is your favorite superhero?', $heroes, 'Batman'); + $this->assertSame('Batman', $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('What is your favorite superhero?', $heroes, null); + $this->assertNull($questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('What is your favorite superhero?', $heroes, '0'); + $question->setValidator(null); + $this->assertSame('Superman', $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + try { + $question = new ChoiceQuestion('What is your favorite superhero?', $heroes, null); + $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question); + } catch (\InvalidArgumentException $e) { + $this->assertSame('Value "" is invalid', $e->getMessage()); + } + + $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, '0, 1'); + $question->setMultiselect(true); + $this->assertSame(array('Superman', 'Batman'), $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, '0, 1'); + $question->setMultiselect(true); + $question->setValidator(null); + $this->assertSame(array('Superman', 'Batman'), $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, '0, Batman'); + $question->setMultiselect(true); + $this->assertSame(array('Superman', 'Batman'), $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, null); + $question->setMultiselect(true); + $this->assertNull($questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question)); + + try { + $question = new ChoiceQuestion('Who are your favorite superheros?', $heroes, ''); + $question->setMultiselect(true); + $questionHelper->ask($this->createStreamableInputInterfaceMock($inputStream, false), $this->createOutputInterface(), $question); + } catch (\InvalidArgumentException $e) { + $this->assertSame('Value "" is invalid', $e->getMessage()); + } + } + public function testAsk() { $dialog = new QuestionHelper(); diff --git a/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php b/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php index fff72d427..9406e5b86 100644 --- a/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +++ b/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php @@ -74,6 +74,18 @@ class SymfonyQuestionHelperTest extends AbstractQuestionHelperTest $this->assertOutputContains('What is your favorite superhero? [Superman, Batman]', $output); } + public function testAskChoiceWithChoiceValueAsDefault() + { + $questionHelper = new SymfonyQuestionHelper(); + $helperSet = new HelperSet(array(new FormatterHelper())); + $questionHelper->setHelperSet($helperSet); + $question = new ChoiceQuestion('What is your favorite superhero?', array('Superman', 'Batman', 'Spiderman'), 'Batman'); + $question->setMaxAttempts(1); + + $this->assertSame('Batman', $questionHelper->ask($this->createStreamableInputInterfaceMock($this->getInputStream("Batman\n")), $output = $this->createOutputInterface(), $question)); + $this->assertOutputContains('What is your favorite superhero? [Batman]', $output); + } + public function testAskReturnsNullIfValidatorAllowsIt() { $questionHelper = new SymfonyQuestionHelper(); diff --git a/vendor/symfony/console/Tests/Helper/TableTest.php b/vendor/symfony/console/Tests/Helper/TableTest.php index 508db6662..eb67eedfc 100644 --- a/vendor/symfony/console/Tests/Helper/TableTest.php +++ b/vendor/symfony/console/Tests/Helper/TableTest.php @@ -783,7 +783,7 @@ TABLE; $table->render(); } - public function testColumnWith() + public function testColumnWidth() { $table = new Table($output = $this->getOutputStream()); $table @@ -815,7 +815,7 @@ TABLE; $this->assertEquals($expected, $this->getOutputContent($output)); } - public function testColumnWiths() + public function testColumnWidths() { $table = new Table($output = $this->getOutputStream()); $table @@ -974,6 +974,145 @@ TABLE; Table::getStyleDefinition('absent'); } + /** + * @dataProvider renderSetTitle + */ + public function testSetTitle($headerTitle, $footerTitle, $style, $expected) + { + (new Table($output = $this->getOutputStream())) + ->setHeaderTitle($headerTitle) + ->setFooterTitle($footerTitle) + ->setHeaders(array('ISBN', 'Title', 'Author')) + ->setRows(array( + array('99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'), + array('9971-5-0210-0', 'A Tale of Two Cities', 'Charles Dickens'), + array('960-425-059-0', 'The Lord of the Rings', 'J. R. R. Tolkien'), + array('80-902734-1-6', 'And Then There Were None', 'Agatha Christie'), + )) + ->setStyle($style) + ->render() + ; + + $this->assertEquals($expected, $this->getOutputContent($output)); + } + + public function renderSetTitle() + { + return array( + array( + 'Books', + 'Page 1/2', + 'default', + <<<'TABLE' ++---------------+----------- Books --------+------------------+ +| ISBN | Title | Author | ++---------------+--------------------------+------------------+ +| 99921-58-10-7 | Divine Comedy | Dante Alighieri | +| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | +| 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | +| 80-902734-1-6 | And Then There Were None | Agatha Christie | ++---------------+--------- Page 1/2 -------+------------------+ + +TABLE + ), + array( + 'Books', + 'Page 1/2', + 'box', + <<<'TABLE' +┌───────────────┬─────────── Books ────────┬──────────────────┐ +│ ISBN │ Title │ Author │ +├───────────────┼──────────────────────────┼──────────────────┤ +│ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri │ +│ 9971-5-0210-0 │ A Tale of Two Cities │ Charles Dickens │ +│ 960-425-059-0 │ The Lord of the Rings │ J. R. R. Tolkien │ +│ 80-902734-1-6 │ And Then There Were None │ Agatha Christie │ +└───────────────┴───────── Page 1/2 ───────┴──────────────────┘ + +TABLE + ), + array( + 'Boooooooooooooooooooooooooooooooooooooooooooooooooooooooks', + 'Page 1/999999999999999999999999999999999999999999999999999', + 'default', + <<<'TABLE' ++- Booooooooooooooooooooooooooooooooooooooooooooooooooooo... -+ +| ISBN | Title | Author | ++---------------+--------------------------+------------------+ +| 99921-58-10-7 | Divine Comedy | Dante Alighieri | +| 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | +| 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | +| 80-902734-1-6 | And Then There Were None | Agatha Christie | ++- Page 1/99999999999999999999999999999999999999999999999... -+ + +TABLE + ), + ); + } + + public function testColumnMaxWidths() + { + $table = new Table($output = $this->getOutputStream()); + $table + ->setRows(array( + array('Divine Comedy', 'A Tale of Two Cities', 'The Lord of the Rings', 'And Then There Were None'), + )) + ->setColumnMaxWidth(1, 5) + ->setColumnMaxWidth(2, 10) + ->setColumnMaxWidth(3, 15); + + $table->render(); + + $expected = + <<<TABLE ++---------------+-------+------------+-----------------+ +| Divine Comedy | A Tal | The Lord o | And Then There | +| | e of | f the Ring | Were None | +| | Two C | s | | +| | ities | | | ++---------------+-------+------------+-----------------+ + +TABLE; + + $this->assertEquals($expected, $this->getOutputContent($output)); + } + + public function testBoxedStyleWithColspan() + { + $boxed = new TableStyle(); + $boxed + ->setHorizontalBorderChars('─') + ->setVerticalBorderChars('│') + ->setCrossingChars('┼', '┌', '┬', '┐', '┤', '┘', '┴', '└', '├') + ; + + $table = new Table($output = $this->getOutputStream()); + $table->setStyle($boxed); + $table + ->setHeaders(array('ISBN', 'Title', 'Author')) + ->setRows(array( + array('99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'), + new TableSeparator(), + array(new TableCell('This value spans 3 columns.', array('colspan' => 3))), + )) + ; + $table->render(); + + $expected = + <<<TABLE +┌───────────────┬───────────────┬─────────────────┐ +│ ISBN │ Title │ Author │ +├───────────────┼───────────────┼─────────────────┤ +│ 99921-58-10-7 │ Divine Comedy │ Dante Alighieri │ +├───────────────┼───────────────┼─────────────────┤ +│ This value spans 3 columns. │ +└───────────────┴───────────────┴─────────────────┘ + +TABLE; + + $this->assertSame($expected, $this->getOutputContent($output)); + } + protected function getOutputStream($decorated = false) { return new StreamOutput($this->stream, StreamOutput::VERBOSITY_NORMAL, $decorated); diff --git a/vendor/symfony/console/Tests/Input/ArgvInputTest.php b/vendor/symfony/console/Tests/Input/ArgvInputTest.php index 757424090..b91b6d71d 100644 --- a/vendor/symfony/console/Tests/Input/ArgvInputTest.php +++ b/vendor/symfony/console/Tests/Input/ArgvInputTest.php @@ -246,6 +246,11 @@ class ArgvInputTest extends TestCase new InputDefinition(array(new InputArgument('number'))), 'The "-1" option does not exist.', ), + array( + array('cli.php', '-fЩ'), + new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_NONE))), + 'The "-Щ" option does not exist.', + ), ); } diff --git a/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php b/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php index abf3911aa..e5cd0597e 100644 --- a/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php +++ b/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php @@ -13,9 +13,12 @@ namespace Symfony\Component\Console\Tests\Output; use PHPUnit\Framework\TestCase; use Symfony\Component\Console\Formatter\OutputFormatter; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Input\StreamableInputInterface; use Symfony\Component\Console\Output\ConsoleSectionOutput; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\StreamOutput; +use Symfony\Component\Console\Question\Question; class ConsoleSectionOutputTest extends TestCase { @@ -23,7 +26,7 @@ class ConsoleSectionOutputTest extends TestCase protected function setUp() { - $this->stream = fopen('php://memory', 'r+', false); + $this->stream = fopen('php://memory', 'r+b', false); } protected function tearDown() @@ -137,4 +140,24 @@ class ConsoleSectionOutputTest extends TestCase rewind($output->getStream()); $this->assertEquals('Foo'.PHP_EOL.'Bar'.PHP_EOL."\x1b[2A\x1b[0JBar".PHP_EOL."\x1b[1A\x1b[0JBaz".PHP_EOL.'Bar'.PHP_EOL."\x1b[1A\x1b[0JFoobar".PHP_EOL, stream_get_contents($output->getStream())); } + + public function testClearSectionContainingQuestion() + { + $inputStream = fopen('php://memory', 'r+b', false); + fwrite($inputStream, "Batman & Robin\n"); + rewind($inputStream); + + $input = $this->getMockBuilder(StreamableInputInterface::class)->getMock(); + $input->expects($this->once())->method('isInteractive')->willReturn(true); + $input->expects($this->once())->method('getStream')->willReturn($inputStream); + + $sections = array(); + $output = new ConsoleSectionOutput($this->stream, $sections, OutputInterface::VERBOSITY_NORMAL, true, new OutputFormatter()); + + (new QuestionHelper())->ask($input, $output, new Question('What\'s your favorite super hero?')); + $output->clear(); + + rewind($output->getStream()); + $this->assertSame('What\'s your favorite super hero?'.PHP_EOL."\x1b[2A\x1b[0J", stream_get_contents($output->getStream())); + } } diff --git a/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php b/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php index 71547e7b7..49ef8029f 100644 --- a/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +++ b/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php @@ -90,4 +90,24 @@ class ApplicationTesterTest extends TestCase { $this->assertSame(0, $this->tester->getStatusCode(), '->getStatusCode() returns the status code'); } + + public function testErrorOutput() + { + $application = new Application(); + $application->setAutoExit(false); + $application->register('foo') + ->addArgument('foo') + ->setCode(function ($input, $output) { + $output->getErrorOutput()->write('foo'); + }) + ; + + $tester = new ApplicationTester($application); + $tester->run( + array('command' => 'foo', 'foo' => 'bar'), + array('capture_stderr_separately' => true) + ); + + $this->assertSame('foo', $tester->getErrorOutput()); + } } diff --git a/vendor/symfony/console/Tests/Tester/CommandTesterTest.php b/vendor/symfony/console/Tests/Tester/CommandTesterTest.php index 58eb8103f..afaa2fcf6 100644 --- a/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +++ b/vendor/symfony/console/Tests/Tester/CommandTesterTest.php @@ -160,4 +160,23 @@ class CommandTesterTest extends TestCase $this->assertEquals(0, $tester->getStatusCode()); } + + public function testErrorOutput() + { + $command = new Command('foo'); + $command->addArgument('command'); + $command->addArgument('foo'); + $command->setCode(function ($input, $output) { + $output->getErrorOutput()->write('foo'); + } + ); + + $tester = new CommandTester($command); + $tester->execute( + array('foo' => 'bar'), + array('capture_stderr_separately' => true) + ); + + $this->assertSame('foo', $tester->getErrorOutput()); + } } diff --git a/vendor/symfony/console/composer.json b/vendor/symfony/console/composer.json index d3aadfbc1..ca1a9269f 100644 --- a/vendor/symfony/console/composer.json +++ b/vendor/symfony/console/composer.json @@ -17,6 +17,7 @@ ], "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { @@ -46,7 +47,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/console/phpunit.xml.dist b/vendor/symfony/console/phpunit.xml.dist index 32569d63c..15e7e52a9 100644 --- a/vendor/symfony/console/phpunit.xml.dist +++ b/vendor/symfony/console/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/contracts/.gitignore b/vendor/symfony/contracts/.gitignore new file mode 100644 index 000000000..5414c2c65 --- /dev/null +++ b/vendor/symfony/contracts/.gitignore @@ -0,0 +1,3 @@ +composer.lock +phpunit.xml +vendor/ diff --git a/vendor/symfony/contracts/CHANGELOG.md b/vendor/symfony/contracts/CHANGELOG.md new file mode 100644 index 000000000..fba42d595 --- /dev/null +++ b/vendor/symfony/contracts/CHANGELOG.md @@ -0,0 +1,12 @@ +CHANGELOG +========= + +1.0.0 +----- + + * added `Service\ResetInterface` to provide a way to reset an object to its initial state + * added `Translation\TranslatorInterface` and `Translation\TranslatorTrait` + * added `Cache` contract to extend PSR-6 with tag invalidation, callback-based computation and stampede protection + * added `Service\ServiceSubscriberInterface` to declare the dependencies of a class that consumes a service locator + * added `Service\ServiceSubscriberTrait` to implement `Service\ServiceSubscriberInterface` using methods' return types + * added `Service\ServiceLocatorTrait` to help implement PSR-11 service locators diff --git a/vendor/symfony/contracts/Cache/CacheInterface.php b/vendor/symfony/contracts/Cache/CacheInterface.php new file mode 100644 index 000000000..4b1686b87 --- /dev/null +++ b/vendor/symfony/contracts/Cache/CacheInterface.php @@ -0,0 +1,57 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Cache; + +use Psr\Cache\CacheItemInterface; +use Psr\Cache\InvalidArgumentException; + +/** + * Covers most simple to advanced caching needs. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface CacheInterface +{ + /** + * Fetches a value from the pool or computes it if not found. + * + * On cache misses, a callback is called that should return the missing value. + * This callback is given a PSR-6 CacheItemInterface instance corresponding to the + * requested key, that could be used e.g. for expiration control. It could also + * be an ItemInterface instance when its additional features are needed. + * + * @param string $key The key of the item to retrieve from the cache + * @param callable|CallbackInterface $callback Should return the computed value for the given key/item + * @param float|null $beta A float that, as it grows, controls the likeliness of triggering + * early expiration. 0 disables it, INF forces immediate expiration. + * The default (or providing null) is implementation dependent but should + * typically be 1.0, which should provide optimal stampede protection. + * See https://en.wikipedia.org/wiki/Cache_stampede#Probabilistic_early_expiration + * @param array &$metadata The metadata of the cached item {@see ItemInterface::getMetadata()} + * + * @return mixed The value corresponding to the provided key + * + * @throws InvalidArgumentException When $key is not valid or when $beta is negative + */ + public function get(string $key, callable $callback, float $beta = null, array &$metadata = null); + + /** + * Removes an item from the pool. + * + * @param string $key The key to delete + * + * @throws InvalidArgumentException When $key is not valid + * + * @return bool True if the item was successfully removed, false if there was any error + */ + public function delete(string $key): bool; +} diff --git a/vendor/symfony/contracts/Cache/CacheTrait.php b/vendor/symfony/contracts/Cache/CacheTrait.php new file mode 100644 index 000000000..d82d96530 --- /dev/null +++ b/vendor/symfony/contracts/Cache/CacheTrait.php @@ -0,0 +1,71 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Cache; + +use Psr\Cache\CacheItemPoolInterface; +use Psr\Cache\InvalidArgumentException; + +/** + * An implementation of CacheInterface for PSR-6 CacheItemPoolInterface classes. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +trait CacheTrait +{ + /** + * {@inheritdoc} + */ + public function get(string $key, callable $callback, float $beta = null, array &$metadata = null) + { + return $this->doGet($this, $key, $callback, $beta, $metadata); + } + + /** + * {@inheritdoc} + */ + public function delete(string $key): bool + { + return $this->deleteItem($key); + } + + private function doGet(CacheItemPoolInterface $pool, string $key, callable $callback, ?float $beta, array &$metadata = null) + { + if (0 > $beta = $beta ?? 1.0) { + throw new class(sprintf('Argument "$beta" provided to "%s::get()" must be a positive number, %f given.', \get_class($this), $beta)) extends \InvalidArgumentException implements InvalidArgumentException { + }; + } + + $item = $pool->getItem($key); + $recompute = !$item->isHit() || INF === $beta; + $metadata = $item instanceof ItemInterface ? $item->getMetadata() : array(); + + if (!$recompute && $metadata) { + $expiry = $metadata[ItemInterface::METADATA_EXPIRY] ?? false; + $ctime = $metadata[ItemInterface::METADATA_CTIME] ?? false; + + if ($recompute = $ctime && $expiry && $expiry <= microtime(true) - $ctime / 1000 * $beta * log(random_int(1, PHP_INT_MAX) / PHP_INT_MAX)) { + // force applying defaultLifetime to expiry + $item->expiresAt(null); + } + } + + if ($recompute) { + $save = true; + $item->set($callback($item, $save)); + if ($save) { + $pool->save($item); + } + } + + return $item->get(); + } +} diff --git a/vendor/symfony/contracts/Cache/CallbackInterface.php b/vendor/symfony/contracts/Cache/CallbackInterface.php new file mode 100644 index 000000000..7dae2aac3 --- /dev/null +++ b/vendor/symfony/contracts/Cache/CallbackInterface.php @@ -0,0 +1,30 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Cache; + +use Psr\Cache\CacheItemInterface; + +/** + * Computes and returns the cached value of an item. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface CallbackInterface +{ + /** + * @param CacheItemInterface|ItemInterface $item The item to compute the value for + * @param bool &$save Should be set to false when the value should not be saved in the pool + * + * @return mixed The computed value for the passed item + */ + public function __invoke(CacheItemInterface $item, bool &$save); +} diff --git a/vendor/symfony/contracts/Cache/ItemInterface.php b/vendor/symfony/contracts/Cache/ItemInterface.php new file mode 100644 index 000000000..4884a2fff --- /dev/null +++ b/vendor/symfony/contracts/Cache/ItemInterface.php @@ -0,0 +1,60 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Cache; + +use Psr\Cache\CacheException; +use Psr\Cache\CacheItemInterface; +use Psr\Cache\InvalidArgumentException; + +/** + * Augments PSR-6's CacheItemInterface with support for tags and metadata. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface ItemInterface extends CacheItemInterface +{ + /** + * References the Unix timestamp stating when the item will expire. + */ + const METADATA_EXPIRY = 'expiry'; + + /** + * References the time the item took to be created, in milliseconds. + */ + const METADATA_CTIME = 'ctime'; + + /** + * References the list of tags that were assigned to the item, as string[]. + */ + const METADATA_TAGS = 'tags'; + + /** + * Adds a tag to a cache item. + * + * Tags are strings that follow the same validation rules as keys. + * + * @param string|string[] $tags A tag or array of tags + * + * @return $this + * + * @throws InvalidArgumentException When $tag is not valid + * @throws CacheException When the item comes from a pool that is not tag-aware + */ + public function tag($tags): self; + + /** + * Returns a list of metadata info that were saved alongside with the cached value. + * + * See ItemInterface::METADATA_* consts for keys potentially found in the returned array. + */ + public function getMetadata(): array; +} diff --git a/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php b/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php new file mode 100644 index 000000000..7c4cf1111 --- /dev/null +++ b/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php @@ -0,0 +1,38 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Cache; + +use Psr\Cache\InvalidArgumentException; + +/** + * Allows invalidating cached items using tags. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface TagAwareCacheInterface extends CacheInterface +{ + /** + * Invalidates cached items using tags. + * + * When implemented on a PSR-6 pool, invalidation should not apply + * to deferred items. Instead, they should be committed as usual. + * This allows replacing old tagged values by new ones without + * race conditions. + * + * @param string[] $tags An array of tags to invalidate + * + * @return bool True on success + * + * @throws InvalidArgumentException When $tags is not valid + */ + public function invalidateTags(array $tags); +} diff --git a/vendor/symfony/contracts/LICENSE b/vendor/symfony/contracts/LICENSE new file mode 100644 index 000000000..ad399a798 --- /dev/null +++ b/vendor/symfony/contracts/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2018 Fabien Potencier + +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/vendor/symfony/contracts/README.md b/vendor/symfony/contracts/README.md new file mode 100644 index 000000000..9cb73af23 --- /dev/null +++ b/vendor/symfony/contracts/README.md @@ -0,0 +1,70 @@ +Symfony Contracts +================= + +A set of abstractions extracted out of the Symfony components. + +Can be used to build on semantics that the Symfony components proved useful - and +that already have battle tested implementations. + +Design Principles +----------------- + + * contracts are split by domain, each into their own sub-namespaces; + * contracts are small and consistent sets of PHP interfaces, traits, normative + docblocks and reference test suites when applicable, etc.; + * all contracts must have a proven implementation to enter this repository; + * they must be backward compatible with existing Symfony components. + +Packages that implement specific contracts should list them in the "provide" +section of their "composer.json" file, using the `symfony/*-contracts-implementation` +convention (e.g. `"provide": { "symfony/cache-contracts-implementation": "1.0" }`). + +FAQ +--- + +### How to use this package? + +The abstractions in this package are useful to achieve loose coupling and +interoperability. By using the provided interfaces as type hints, you are able +to reuse any implementations that match their contracts. It could be a Symfony +component, or another one provided by the PHP community at large. + +Depending on their semantics, some interfaces can be combined with autowiring to +seamlessly inject a service in your classes. + +Others might be useful as labeling interfaces, to hint about a specific behavior +that could be enabled when using autoconfiguration or manual service tagging (or +any other means provided by your framework.) + +### How is this different from PHP-FIG's PSRs? + +When applicable, the provided contracts are built on top of PHP-FIG's PSRs. But +the group has different goals and different processes. Here, we're focusing on +providing abstractions that are useful on their own while still compatible with +implementations provided by Symfony. Although not the main target, we hope that +the declared contracts will directly or indirectly contribute to the PHP-FIG. + +### Why isn't this package split into several packages? + +Putting all interfaces in one package eases discoverability and dependency +management. Instead of dealing with a myriad of small packages and the +corresponding matrix of versions, you just need to deal with one package and one +version. Also when using IDE autocompletion or just reading the source code, it +makes it easier to figure out which contracts are provided. + +There are two downsides to this approach: you may have unused files in your +`vendor/` directory, and in the future, it will be impossible to use two +different sub-namespaces in different major versions of the package. For the +"unused files" downside, it has no practical consequences: their file sizes are +very small, and there is no performance overhead at all since they are never +loaded. For major versions, this package follows the Symfony BC + deprecation +policies, with an additional restriction to never remove deprecated interfaces. + +Resources +--------- + + * [Documentation](https://symfony.com/doc/current/components/contracts.html) + * [Contributing](https://symfony.com/doc/current/contributing/index.html) + * [Report issues](https://github.com/symfony/symfony/issues) and + [send Pull Requests](https://github.com/symfony/symfony/pulls) + in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/vendor/symfony/contracts/Service/ResetInterface.php b/vendor/symfony/contracts/Service/ResetInterface.php new file mode 100644 index 000000000..1af1075ee --- /dev/null +++ b/vendor/symfony/contracts/Service/ResetInterface.php @@ -0,0 +1,30 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +/** + * Provides a way to reset an object to its initial state. + * + * When calling the "reset()" method on an object, it should be put back to its + * initial state. This usually means clearing any internal buffers and forwarding + * the call to internal dependencies. All properties of the object should be put + * back to the same state it had when it was first ready to use. + * + * This method could be called, for example, to recycle objects that are used as + * services, so that they can be used to handle several requests in the same + * process loop (note that we advise making your services stateless instead of + * implementing this interface when possible.) + */ +interface ResetInterface +{ + public function reset(); +} diff --git a/vendor/symfony/contracts/Service/ServiceLocatorTrait.php b/vendor/symfony/contracts/Service/ServiceLocatorTrait.php new file mode 100644 index 000000000..8ffa2b4f1 --- /dev/null +++ b/vendor/symfony/contracts/Service/ServiceLocatorTrait.php @@ -0,0 +1,97 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; + +/** + * A trait to help implement PSR-11 service locators. + * + * @author Robin Chalas <robin.chalas@gmail.com> + * @author Nicolas Grekas <p@tchwork.com> + */ +trait ServiceLocatorTrait +{ + private $factories; + private $loading = array(); + + /** + * @param callable[] $factories + */ + public function __construct(array $factories) + { + $this->factories = $factories; + } + + /** + * {@inheritdoc} + */ + public function has($id) + { + return isset($this->factories[$id]); + } + + /** + * {@inheritdoc} + */ + public function get($id) + { + if (!isset($this->factories[$id])) { + throw $this->createNotFoundException($id); + } + + if (isset($this->loading[$id])) { + $ids = array_values($this->loading); + $ids = \array_slice($this->loading, array_search($id, $ids)); + $ids[] = $id; + + throw $this->createCircularReferenceException($id, $ids); + } + + $this->loading[$id] = $id; + try { + return $this->factories[$id]($this); + } finally { + unset($this->loading[$id]); + } + } + + private function createNotFoundException(string $id): NotFoundExceptionInterface + { + if (!$alternatives = array_keys($this->factories)) { + $message = 'is empty...'; + } else { + $last = array_pop($alternatives); + if ($alternatives) { + $message = sprintf('only knows about the "%s" and "%s" services.', implode('", "', $alternatives), $last); + } else { + $message = sprintf('only knows about the "%s" service.', $last); + } + } + + if ($this->loading) { + $message = sprintf('The service "%s" has a dependency on a non-existent service "%s". This locator %s', end($this->loading), $id, $message); + } else { + $message = sprintf('Service "%s" not found: the current service locator %s', $id, $message); + } + + return new class($message) extends \InvalidArgumentException implements NotFoundExceptionInterface { + }; + } + + private function createCircularReferenceException(string $id, array $path): ContainerExceptionInterface + { + return new class(sprintf('Circular reference detected for service "%s", path: "%s".', $id, implode(' -> ', $path))) extends \RuntimeException implements ContainerExceptionInterface { + }; + } +} diff --git a/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php b/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php new file mode 100644 index 000000000..cffccadb5 --- /dev/null +++ b/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php @@ -0,0 +1,53 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +/** + * A ServiceSubscriber exposes its dependencies via the static {@link getSubscribedServices} method. + * + * The getSubscribedServices method returns an array of service types required by such instances, + * optionally keyed by the service names used internally. Service types that start with an interrogation + * mark "?" are optional, while the other ones are mandatory service dependencies. + * + * The injected service locators SHOULD NOT allow access to any other services not specified by the method. + * + * It is expected that ServiceSubscriber instances consume PSR-11-based service locators internally. + * This interface does not dictate any injection method for these service locators, although constructor + * injection is recommended. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface ServiceSubscriberInterface +{ + /** + * Returns an array of service types required by such instances, optionally keyed by the service names used internally. + * + * For mandatory dependencies: + * + * * array('logger' => 'Psr\Log\LoggerInterface') means the objects use the "logger" name + * internally to fetch a service which must implement Psr\Log\LoggerInterface. + * * array('loggers' => 'Psr\Log\LoggerInterface[]') means the objects use the "loggers" name + * internally to fetch an iterable of Psr\Log\LoggerInterface instances. + * * array('Psr\Log\LoggerInterface') is a shortcut for + * * array('Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface') + * + * otherwise: + * + * * array('logger' => '?Psr\Log\LoggerInterface') denotes an optional dependency + * * array('loggers' => '?Psr\Log\LoggerInterface[]') denotes an optional iterable dependency + * * array('?Psr\Log\LoggerInterface') is a shortcut for + * * array('Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface') + * + * @return array The required service types, optionally keyed by service names + */ + public static function getSubscribedServices(); +} diff --git a/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php b/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php new file mode 100644 index 000000000..457ffb26b --- /dev/null +++ b/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php @@ -0,0 +1,61 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Service; + +use Psr\Container\ContainerInterface; + +/** + * Implementation of ServiceSubscriberInterface that determines subscribed services from + * private method return types. Service ids are available as "ClassName::methodName". + * + * @author Kevin Bond <kevinbond@gmail.com> + */ +trait ServiceSubscriberTrait +{ + /** @var ContainerInterface */ + private $container; + + public static function getSubscribedServices(): array + { + static $services; + + if (null !== $services) { + return $services; + } + + $services = \is_callable(array('parent', __FUNCTION__)) ? parent::getSubscribedServices() : array(); + + foreach ((new \ReflectionClass(self::class))->getMethods() as $method) { + if ($method->isStatic() || $method->isAbstract() || $method->isGenerator() || $method->isInternal() || $method->getNumberOfRequiredParameters()) { + continue; + } + + if (self::class === $method->getDeclaringClass()->name && ($returnType = $method->getReturnType()) && !$returnType->isBuiltin()) { + $services[self::class.'::'.$method->name] = '?'.$returnType->getName(); + } + } + + return $services; + } + + /** + * @required + */ + public function setContainer(ContainerInterface $container) + { + $this->container = $container; + + if (\is_callable(array('parent', __FUNCTION__))) { + return parent::setContainer($container); + } + } +} diff --git a/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php b/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php new file mode 100644 index 000000000..5134a9339 --- /dev/null +++ b/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php @@ -0,0 +1,165 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Tests\Cache; + +use PHPUnit\Framework\TestCase; +use Psr\Cache\CacheItemInterface; +use Psr\Cache\CacheItemPoolInterface; +use Symfony\Contracts\Cache\CacheTrait; + +/** + * @author Tobias Nyholm <tobias.nyholm@gmail.com> + */ +class CacheTraitTest extends TestCase +{ + public function testSave() + { + $item = $this->getMockBuilder(CacheItemInterface::class)->getMock(); + $item->method('set') + ->willReturn($item); + $item->method('isHit') + ->willReturn(false); + + $item->expects($this->once()) + ->method('set') + ->with('computed data'); + + $cache = $this->getMockBuilder(TestPool::class) + ->setMethods(array('getItem', 'save')) + ->getMock(); + $cache->expects($this->once()) + ->method('getItem') + ->with('key') + ->willReturn($item); + $cache->expects($this->once()) + ->method('save'); + + $callback = function (CacheItemInterface $item) { + return 'computed data'; + }; + + $cache->get('key', $callback); + } + + public function testNoCallbackCallOnHit() + { + $item = $this->getMockBuilder(CacheItemInterface::class)->getMock(); + $item->method('isHit') + ->willReturn(true); + + $item->expects($this->never()) + ->method('set'); + + $cache = $this->getMockBuilder(TestPool::class) + ->setMethods(array('getItem', 'save')) + ->getMock(); + + $cache->expects($this->once()) + ->method('getItem') + ->with('key') + ->willReturn($item); + $cache->expects($this->never()) + ->method('save'); + + $callback = function (CacheItemInterface $item) { + $this->assertTrue(false, 'This code should never be reached'); + }; + + $cache->get('key', $callback); + } + + public function testRecomputeOnBetaInf() + { + $item = $this->getMockBuilder(CacheItemInterface::class)->getMock(); + $item->method('set') + ->willReturn($item); + $item->method('isHit') + // We want to recompute even if it is a hit + ->willReturn(true); + + $item->expects($this->once()) + ->method('set') + ->with('computed data'); + + $cache = $this->getMockBuilder(TestPool::class) + ->setMethods(array('getItem', 'save')) + ->getMock(); + + $cache->expects($this->once()) + ->method('getItem') + ->with('key') + ->willReturn($item); + $cache->expects($this->once()) + ->method('save'); + + $callback = function (CacheItemInterface $item) { + return 'computed data'; + }; + + $cache->get('key', $callback, INF); + } + + public function testExceptionOnNegativeBeta() + { + $cache = $this->getMockBuilder(TestPool::class) + ->setMethods(array('getItem', 'save')) + ->getMock(); + + $callback = function (CacheItemInterface $item) { + return 'computed data'; + }; + + $this->expectException(\InvalidArgumentException::class); + $cache->get('key', $callback, -2); + } +} + +class TestPool implements CacheItemPoolInterface +{ + use CacheTrait; + + public function hasItem($key) + { + } + + public function deleteItem($key) + { + } + + public function deleteItems(array $keys = array()) + { + } + + public function getItem($key) + { + } + + public function getItems(array $key = array()) + { + } + + public function saveDeferred(CacheItemInterface $item) + { + } + + public function save(CacheItemInterface $item) + { + } + + public function commit() + { + } + + public function clear() + { + } +} diff --git a/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php b/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php new file mode 100644 index 000000000..265af909d --- /dev/null +++ b/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php @@ -0,0 +1,94 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Tests\Service; + +use PHPUnit\Framework\TestCase; +use Psr\Container\ContainerInterface; +use Symfony\Contracts\Service\ServiceLocatorTrait; + +class ServiceLocatorTest extends TestCase +{ + public function getServiceLocator(array $factories) + { + return new class($factories) implements ContainerInterface { + use ServiceLocatorTrait; + }; + } + + public function testHas() + { + $locator = $this->getServiceLocator(array( + 'foo' => function () { return 'bar'; }, + 'bar' => function () { return 'baz'; }, + function () { return 'dummy'; }, + )); + + $this->assertTrue($locator->has('foo')); + $this->assertTrue($locator->has('bar')); + $this->assertFalse($locator->has('dummy')); + } + + public function testGet() + { + $locator = $this->getServiceLocator(array( + 'foo' => function () { return 'bar'; }, + 'bar' => function () { return 'baz'; }, + )); + + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame('baz', $locator->get('bar')); + } + + public function testGetDoesNotMemoize() + { + $i = 0; + $locator = $this->getServiceLocator(array( + 'foo' => function () use (&$i) { + ++$i; + + return 'bar'; + }, + )); + + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame('bar', $locator->get('foo')); + $this->assertSame(2, $i); + } + + /** + * @expectedException \Psr\Container\NotFoundExceptionInterface + * @expectedExceptionMessage The service "foo" has a dependency on a non-existent service "bar". This locator only knows about the "foo" service. + */ + public function testThrowsOnUndefinedInternalService() + { + $locator = $this->getServiceLocator(array( + 'foo' => function () use (&$locator) { return $locator->get('bar'); }, + )); + + $locator->get('foo'); + } + + /** + * @expectedException \Psr\Container\ContainerExceptionInterface + * @expectedExceptionMessage Circular reference detected for service "bar", path: "bar -> baz -> bar". + */ + public function testThrowsOnCircularReference() + { + $locator = $this->getServiceLocator(array( + 'foo' => function () use (&$locator) { return $locator->get('bar'); }, + 'bar' => function () use (&$locator) { return $locator->get('baz'); }, + 'baz' => function () use (&$locator) { return $locator->get('bar'); }, + )); + + $locator->get('foo'); + } +} diff --git a/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php b/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php new file mode 100644 index 000000000..c7742c65d --- /dev/null +++ b/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php @@ -0,0 +1,65 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Tests\Service; + +use PHPUnit\Framework\TestCase; +use Psr\Container\ContainerInterface; +use Symfony\Contracts\Service\ServiceLocatorTrait; +use Symfony\Contracts\Service\ServiceSubscriberInterface; +use Symfony\Contracts\Service\ServiceSubscriberTrait; + +class ServiceSubscriberTraitTest extends TestCase +{ + public function testMethodsOnParentsAndChildrenAreIgnoredInGetSubscribedServices() + { + $expected = array(TestService::class.'::aService' => '?Symfony\Contracts\Tests\Service\Service2'); + + $this->assertEquals($expected, ChildTestService::getSubscribedServices()); + } + + public function testSetContainerIsCalledOnParent() + { + $container = new class(array()) implements ContainerInterface { + use ServiceLocatorTrait; + }; + + $this->assertSame($container, (new TestService())->setContainer($container)); + } +} + +class ParentTestService +{ + public function aParentService(): Service1 + { + } + + public function setContainer(ContainerInterface $container) + { + return $container; + } +} + +class TestService extends ParentTestService implements ServiceSubscriberInterface +{ + use ServiceSubscriberTrait; + + public function aService(): Service2 + { + } +} + +class ChildTestService extends TestService +{ + public function aChildService(): Service3 + { + } +} diff --git a/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php b/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php new file mode 100644 index 000000000..a3b67dfe5 --- /dev/null +++ b/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php @@ -0,0 +1,353 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Tests\Translation; + +use PHPUnit\Framework\TestCase; +use Symfony\Contracts\Translation\TranslatorInterface; +use Symfony\Contracts\Translation\TranslatorTrait; + +/** + * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms + * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms. + * + * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms. + * The mozilla code is also interesting to check for. + * + * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199 + * + * The goal to cover all languages is to far fetched so this test case is smaller. + * + * @author Clemens Tolboom clemens@build2be.nl + */ +class TranslatorTest extends TestCase +{ + public function getTranslator() + { + return new class() implements TranslatorInterface { + use TranslatorTrait; + }; + } + + /** + * @dataProvider getTransTests + */ + public function testTrans($expected, $id, $parameters) + { + $translator = $this->getTranslator(); + + $this->assertEquals($expected, $translator->trans($id, $parameters)); + } + + /** + * @dataProvider getTransChoiceTests + */ + public function testTransChoiceWithExplicitLocale($expected, $id, $number) + { + $translator = $this->getTranslator(); + $translator->setLocale('en'); + + $this->assertEquals($expected, $translator->trans($id, array('%count%' => $number))); + } + + /** + * @dataProvider getTransChoiceTests + */ + public function testTransChoiceWithDefaultLocale($expected, $id, $number) + { + \Locale::setDefault('en'); + + $translator = $this->getTranslator(); + + $this->assertEquals($expected, $translator->trans($id, array('%count%' => $number))); + } + + public function testGetSetLocale() + { + $translator = $this->getTranslator(); + $translator->setLocale('en'); + + $this->assertEquals('en', $translator->getLocale()); + } + + /** + * @requires extension intl + */ + public function testGetLocaleReturnsDefaultLocaleIfNotSet() + { + $translator = $this->getTranslator(); + + \Locale::setDefault('pt_BR'); + $this->assertEquals('pt_BR', $translator->getLocale()); + + \Locale::setDefault('en'); + $this->assertEquals('en', $translator->getLocale()); + } + + public function getTransTests() + { + return array( + array('Symfony is great!', 'Symfony is great!', array()), + array('Symfony is awesome!', 'Symfony is %what%!', array('%what%' => 'awesome')), + ); + } + + public function getTransChoiceTests() + { + return array( + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1), + array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), + array('There are 0 apples', 'There is 1 apple|There are %count% apples', 0), + array('There is 1 apple', 'There is 1 apple|There are %count% apples', 1), + array('There are 10 apples', 'There is 1 apple|There are %count% apples', 10), + // custom validation messages may be coded with a fixed value + array('There are 2 apples', 'There are 2 apples', 2), + ); + } + + /** + * @dataProvider getInternal + */ + public function testInterval($expected, $number, $interval) + { + $translator = $this->getTranslator(); + + $this->assertEquals($expected, $translator->trans($interval.' foo|[1,Inf[ bar', array('%count%' => $number))); + } + + public function getInternal() + { + return array( + array('foo', 3, '{1,2, 3 ,4}'), + array('bar', 10, '{1,2, 3 ,4}'), + array('bar', 3, '[1,2]'), + array('foo', 1, '[1,2]'), + array('foo', 2, '[1,2]'), + array('bar', 1, ']1,2['), + array('bar', 2, ']1,2['), + array('foo', log(0), '[-Inf,2['), + array('foo', -log(0), '[-2,+Inf]'), + ); + } + + /** + * @dataProvider getChooseTests + */ + public function testChoose($expected, $id, $number) + { + $translator = $this->getTranslator(); + + $this->assertEquals($expected, $translator->trans($id, array('%count%' => $number))); + } + + public function testReturnMessageIfExactlyOneStandardRuleIsGiven() + { + $translator = $this->getTranslator(); + + $this->assertEquals('There are two apples', $translator->trans('There are two apples', array('%count%' => 2))); + } + + /** + * @dataProvider getNonMatchingMessages + * @expectedException \InvalidArgumentException + */ + public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number) + { + $translator = $this->getTranslator(); + + $translator->trans($id, array('%count%' => $number)); + } + + public function getNonMatchingMessages() + { + return array( + array('{0} There are no apples|{1} There is one apple', 2), + array('{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('{1} There is one apple|]2,Inf] There are %count% apples', 2), + array('{0} There are no apples|There is one apple', 2), + ); + } + + public function getChooseTests() + { + return array( + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + + array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1), + + array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), + array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10), + array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), + + array('There are 0 apples', 'There is one apple|There are %count% apples', 0), + array('There is one apple', 'There is one apple|There are %count% apples', 1), + array('There are 10 apples', 'There is one apple|There are %count% apples', 10), + + array('There are 0 apples', 'one: There is one apple|more: There are %count% apples', 0), + array('There is one apple', 'one: There is one apple|more: There are %count% apples', 1), + array('There are 10 apples', 'one: There is one apple|more: There are %count% apples', 10), + + array('There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0), + array('There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1), + array('There are 10 apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10), + + array('', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1), + + // Indexed only tests which are Gettext PoFile* compatible strings. + array('There are 0 apples', 'There is one apple|There are %count% apples', 0), + array('There is one apple', 'There is one apple|There are %count% apples', 1), + array('There are 2 apples', 'There is one apple|There are %count% apples', 2), + + // Tests for float numbers + array('There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7), + array('There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1), + array('There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7), + array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), + array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0), + array('There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), + + // Test texts with new-lines + // with double-quotes and \n in id & double-quotes and actual newlines in text + array("This is a text with a\n new-line in it. Selector = 0.", '{0}This is a text with a + new-line in it. Selector = 0.|{1}This is a text with a + new-line in it. Selector = 1.|[1,Inf]This is a text with a + new-line in it. Selector > 1.', 0), + // with double-quotes and \n in id and single-quotes and actual newlines in text + array("This is a text with a\n new-line in it. Selector = 1.", '{0}This is a text with a + new-line in it. Selector = 0.|{1}This is a text with a + new-line in it. Selector = 1.|[1,Inf]This is a text with a + new-line in it. Selector > 1.', 1), + array("This is a text with a\n new-line in it. Selector > 1.", '{0}This is a text with a + new-line in it. Selector = 0.|{1}This is a text with a + new-line in it. Selector = 1.|[1,Inf]This is a text with a + new-line in it. Selector > 1.', 5), + // with double-quotes and id split accros lines + array('This is a text with a + new-line in it. Selector = 1.', '{0}This is a text with a + new-line in it. Selector = 0.|{1}This is a text with a + new-line in it. Selector = 1.|[1,Inf]This is a text with a + new-line in it. Selector > 1.', 1), + // with single-quotes and id split accros lines + array('This is a text with a + new-line in it. Selector > 1.', '{0}This is a text with a + new-line in it. Selector = 0.|{1}This is a text with a + new-line in it. Selector = 1.|[1,Inf]This is a text with a + new-line in it. Selector > 1.', 5), + // with single-quotes and \n in text + array('This is a text with a\nnew-line in it. Selector = 0.', '{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.', 0), + // with double-quotes and id split accros lines + array("This is a text with a\nnew-line in it. Selector = 1.", "{0}This is a text with a\nnew-line in it. Selector = 0.|{1}This is a text with a\nnew-line in it. Selector = 1.|[1,Inf]This is a text with a\nnew-line in it. Selector > 1.", 1), + // esacape pipe + array('This is a text with | in it. Selector = 0.', '{0}This is a text with || in it. Selector = 0.|{1}This is a text with || in it. Selector = 1.', 0), + // Empty plural set (2 plural forms) from a .PO file + array('', '|', 1), + // Empty plural set (3 plural forms) from a .PO file + array('', '||', 1), + ); + } + + /** + * @dataProvider failingLangcodes + */ + public function testFailedLangcodes($nplural, $langCodes) + { + $matrix = $this->generateTestData($langCodes); + $this->validateMatrix($nplural, $matrix, false); + } + + /** + * @dataProvider successLangcodes + */ + public function testLangcodes($nplural, $langCodes) + { + $matrix = $this->generateTestData($langCodes); + $this->validateMatrix($nplural, $matrix); + } + + /** + * This array should contain all currently known langcodes. + * + * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete. + * + * @return array + */ + public function successLangcodes() + { + return array( + array('1', array('ay', 'bo', 'cgg', 'dz', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky')), + array('2', array('nl', 'fr', 'en', 'de', 'de_GE', 'hy', 'hy_AM')), + array('3', array('be', 'bs', 'cs', 'hr')), + array('4', array('cy', 'mt', 'sl')), + array('6', array('ar')), + ); + } + + /** + * This array should be at least empty within the near future. + * + * This both depends on a complete list trying to add above as understanding + * the plural rules of the current failing languages. + * + * @return array with nplural together with langcodes + */ + public function failingLangcodes() + { + return array( + array('1', array('fa')), + array('2', array('jbo')), + array('3', array('cbs')), + array('4', array('gd', 'kw')), + array('5', array('ga')), + ); + } + + /** + * We validate only on the plural coverage. Thus the real rules is not tested. + * + * @param string $nplural Plural expected + * @param array $matrix Containing langcodes and their plural index values + * @param bool $expectSuccess + */ + protected function validateMatrix($nplural, $matrix, $expectSuccess = true) + { + foreach ($matrix as $langCode => $data) { + $indexes = array_flip($data); + if ($expectSuccess) { + $this->assertEquals($nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); + } else { + $this->assertNotEquals((int) $nplural, \count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); + } + } + } + + protected function generateTestData($langCodes) + { + $translator = new class() { + use TranslatorTrait { + getPluralizationRule as public; + } + }; + + $matrix = array(); + foreach ($langCodes as $langCode) { + for ($count = 0; $count < 200; ++$count) { + $plural = $translator->getPluralizationRule($count, $langCode); + $matrix[$langCode][$count] = $plural; + } + } + + return $matrix; + } +} diff --git a/vendor/symfony/contracts/Translation/TranslatorInterface.php b/vendor/symfony/contracts/Translation/TranslatorInterface.php new file mode 100644 index 000000000..2130c1b2c --- /dev/null +++ b/vendor/symfony/contracts/Translation/TranslatorInterface.php @@ -0,0 +1,81 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Translation; + +/** + * @author Fabien Potencier <fabien@symfony.com> + */ +interface TranslatorInterface +{ + /** + * Translates the given message. + * + * When a number is provided as a parameter named "%count%", the message is parsed for plural + * forms and a translation is chosen according to this number using the following rules: + * + * Given a message with different plural translations separated by a + * pipe (|), this method returns the correct portion of the message based + * on the given number, locale and the pluralization rules in the message + * itself. + * + * The message supports two different types of pluralization rules: + * + * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples + * indexed: There is one apple|There are %count% apples + * + * The indexed solution can also contain labels (e.g. one: There is one apple). + * This is purely for making the translations more clear - it does not + * affect the functionality. + * + * The two methods can also be mixed: + * {0} There are no apples|one: There is one apple|more: There are %count% apples + * + * An interval can represent a finite set of numbers: + * {1,2,3,4} + * + * An interval can represent numbers between two numbers: + * [1, +Inf] + * ]-1,2[ + * + * The left delimiter can be [ (inclusive) or ] (exclusive). + * The right delimiter can be [ (exclusive) or ] (inclusive). + * Beside numbers, you can use -Inf and +Inf for the infinite. + * + * @see https://en.wikipedia.org/wiki/ISO_31-11 + * + * @param string $id The message id (may also be an object that can be cast to string) + * @param array $parameters An array of parameters for the message + * @param string|null $domain The domain for the message or null to use the default + * @param string|null $locale The locale or null to use the default + * + * @return string The translated string + * + * @throws \InvalidArgumentException If the locale contains invalid characters + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null); + + /** + * Sets the current locale. + * + * @param string $locale The locale + * + * @throws \InvalidArgumentException If the locale contains invalid characters + */ + public function setLocale($locale); + + /** + * Returns the current locale. + * + * @return string The locale + */ + public function getLocale(); +} diff --git a/vendor/symfony/contracts/Translation/TranslatorTrait.php b/vendor/symfony/contracts/Translation/TranslatorTrait.php new file mode 100644 index 000000000..e19e37cfe --- /dev/null +++ b/vendor/symfony/contracts/Translation/TranslatorTrait.php @@ -0,0 +1,255 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Contracts\Translation; + +use Symfony\Component\Translation\Exception\InvalidArgumentException; + +/** + * A trait to help implement TranslatorInterface. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +trait TranslatorTrait +{ + private $locale; + + /** + * {@inheritdoc} + */ + public function setLocale($locale) + { + $this->locale = (string) $locale; + } + + /** + * {@inheritdoc} + */ + public function getLocale() + { + return $this->locale ?: \Locale::getDefault(); + } + + /** + * {@inheritdoc} + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null) + { + $id = (string) $id; + + if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) { + return strtr($id, $parameters); + } + + $number = (float) $parameters['%count%']; + $locale = (string) $locale ?: $this->getLocale(); + + $parts = array(); + if (preg_match('/^\|++$/', $id)) { + $parts = explode('|', $id); + } elseif (preg_match_all('/(?:\|\||[^\|])++/', $id, $matches)) { + $parts = $matches[0]; + } + + $intervalRegexp = <<<'EOF' +/^(?P<interval> + ({\s* + (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) + \s*}) + + | + + (?P<left_delimiter>[\[\]]) + \s* + (?P<left>-Inf|\-?\d+(\.\d+)?) + \s*,\s* + (?P<right>\+?Inf|\-?\d+(\.\d+)?) + \s* + (?P<right_delimiter>[\[\]]) +)\s*(?P<message>.*?)$/xs +EOF; + + $standardRules = array(); + foreach ($parts as $part) { + $part = trim(str_replace('||', '|', $part)); + + // try to match an explicit rule, then fallback to the standard ones + if (preg_match($intervalRegexp, $part, $matches)) { + if ($matches[2]) { + foreach (explode(',', $matches[3]) as $n) { + if ($number == $n) { + return strtr($matches['message'], $parameters); + } + } + } else { + $leftNumber = '-Inf' === $matches['left'] ? -INF : (float) $matches['left']; + $rightNumber = \is_numeric($matches['right']) ? (float) $matches['right'] : INF; + + if (('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) + && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) + ) { + return strtr($matches['message'], $parameters); + } + } + } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { + $standardRules[] = $matches[1]; + } else { + $standardRules[] = $part; + } + } + + $position = $this->getPluralizationRule($number, $locale); + + if (!isset($standardRules[$position])) { + // when there's exactly one rule given, and that rule is a standard + // rule, use this rule + if (1 === \count($parts) && isset($standardRules[0])) { + return strtr($standardRules[0], $parameters); + } + + $message = sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $id, $locale, $number); + + if (\class_exists(InvalidArgumentException::class)) { + throw new InvalidArgumentException($message); + } + + throw new \InvalidArgumentException($message); + } + + return strtr($standardRules[$position], $parameters); + } + + /** + * Returns the plural position to use for the given locale and number. + * + * The plural rules are derived from code of the Zend Framework (2010-09-25), + * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). + * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) + */ + private function getPluralizationRule(int $number, string $locale): int + { + switch ('pt_BR' !== $locale && \strlen($locale) > 3 ? substr($locale, 0, strrpos($locale, '_')) : $locale) { + case 'af': + case 'bn': + case 'bg': + case 'ca': + case 'da': + case 'de': + case 'el': + case 'en': + case 'eo': + case 'es': + case 'et': + case 'eu': + case 'fa': + case 'fi': + case 'fo': + case 'fur': + case 'fy': + case 'gl': + case 'gu': + case 'ha': + case 'he': + case 'hu': + case 'is': + case 'it': + case 'ku': + case 'lb': + case 'ml': + case 'mn': + case 'mr': + case 'nah': + case 'nb': + case 'ne': + case 'nl': + case 'nn': + case 'no': + case 'oc': + case 'om': + case 'or': + case 'pa': + case 'pap': + case 'ps': + case 'pt': + case 'so': + case 'sq': + case 'sv': + case 'sw': + case 'ta': + case 'te': + case 'tk': + case 'ur': + case 'zu': + return (1 == $number) ? 0 : 1; + + case 'am': + case 'bh': + case 'fil': + case 'fr': + case 'gun': + case 'hi': + case 'hy': + case 'ln': + case 'mg': + case 'nso': + case 'pt_BR': + case 'ti': + case 'wa': + return ((0 == $number) || (1 == $number)) ? 0 : 1; + + case 'be': + case 'bs': + case 'hr': + case 'ru': + case 'sh': + case 'sr': + case 'uk': + return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); + + case 'cs': + case 'sk': + return (1 == $number) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); + + case 'ga': + return (1 == $number) ? 0 : ((2 == $number) ? 1 : 2); + + case 'lt': + return ((1 == $number % 10) && (11 != $number % 100)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); + + case 'sl': + return (1 == $number % 100) ? 0 : ((2 == $number % 100) ? 1 : (((3 == $number % 100) || (4 == $number % 100)) ? 2 : 3)); + + case 'mk': + return (1 == $number % 10) ? 0 : 1; + + case 'mt': + return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); + + case 'lv': + return (0 == $number) ? 0 : (((1 == $number % 10) && (11 != $number % 100)) ? 1 : 2); + + case 'pl': + return (1 == $number) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); + + case 'cy': + return (1 == $number) ? 0 : ((2 == $number) ? 1 : (((8 == $number) || (11 == $number)) ? 2 : 3)); + + case 'ro': + return (1 == $number) ? 0 : (((0 == $number) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); + + case 'ar': + return (0 == $number) ? 0 : ((1 == $number) ? 1 : ((2 == $number) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); + + default: + return 0; + } + } +} diff --git a/vendor/symfony/contracts/composer.json b/vendor/symfony/contracts/composer.json new file mode 100644 index 000000000..2f198a0c3 --- /dev/null +++ b/vendor/symfony/contracts/composer.json @@ -0,0 +1,44 @@ +{ + "name": "symfony/contracts", + "type": "library", + "description": "A set of abstractions extracted out of the Symfony components", + "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": "^7.1.3" + }, + "require-dev": { + "psr/cache": "^1.0", + "psr/container": "^1.0" + }, + "suggest": { + "psr/cache": "When using the Cache contracts", + "psr/container": "When using the Service contracts", + "symfony/cache-contracts-implementation": "", + "symfony/service-contracts-implementation": "", + "symfony/translation-contracts-implementation": "" + }, + "autoload": { + "psr-4": { "Symfony\\Contracts\\": "" }, + "exclude-from-classmap": [ + "**/Tests/" + ] + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + } +} diff --git a/vendor/symfony/contracts/phpunit.xml.dist b/vendor/symfony/contracts/phpunit.xml.dist new file mode 100644 index 000000000..e222d9f5a --- /dev/null +++ b/vendor/symfony/contracts/phpunit.xml.dist @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" + backupGlobals="false" + colors="true" + bootstrap="vendor/autoload.php" + failOnRisky="true" + failOnWarning="true" +> + <php> + <ini name="error_reporting" value="-1" /> + </php> + + <testsuites> + <testsuite name="Symfony Contracts Test Suite"> + <directory>./Tests/</directory> + </testsuite> + </testsuites> + + <filter> + <whitelist> + <directory>./</directory> + <exclude> + <directory>./Tests</directory> + <directory>./vendor</directory> + </exclude> + </whitelist> + </filter> + +</phpunit> diff --git a/vendor/symfony/debug/Debug.php b/vendor/symfony/debug/Debug.php index 3f6570324..a31d71e6a 100644 --- a/vendor/symfony/debug/Debug.php +++ b/vendor/symfony/debug/Debug.php @@ -45,7 +45,7 @@ class Debug if (!\in_array(\PHP_SAPI, array('cli', 'phpdbg'), true)) { ini_set('display_errors', 0); ExceptionHandler::register(); - } elseif ($displayErrors && (!ini_get('log_errors') || ini_get('error_log'))) { + } elseif ($displayErrors && (!filter_var(ini_get('log_errors'), FILTER_VALIDATE_BOOLEAN) || ini_get('error_log'))) { // CLI - display errors only if they're not already logged to STDERR ini_set('display_errors', 1); } diff --git a/vendor/symfony/debug/DebugClassLoader.php b/vendor/symfony/debug/DebugClassLoader.php index ecf92516c..6d5fc9c2c 100644 --- a/vendor/symfony/debug/DebugClassLoader.php +++ b/vendor/symfony/debug/DebugClassLoader.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Debug; +use PHPUnit\Framework\MockObject\Matcher\StatelessInvocation; + /** * Autoloader checking if the class is really defined in the file found. * @@ -21,6 +23,7 @@ namespace Symfony\Component\Debug; * @author Fabien Potencier <fabien@symfony.com> * @author Christophe Coevoet <stof@notk.org> * @author Nicolas Grekas <p@tchwork.com> + * @author Guilhem Niot <guilhem.niot@gmail.com> */ class DebugClassLoader { @@ -34,6 +37,7 @@ class DebugClassLoader private static $deprecated = array(); private static $internal = array(); private static $internalMethods = array(); + private static $annotatedParameters = array(); private static $darwinCache = array('/' => array('/', array())); public function __construct(callable $classLoader) @@ -128,8 +132,6 @@ class DebugClassLoader * * @param string $class The name of the class * - * @return bool|null True, if loaded - * * @throws \RuntimeException */ public function loadClass($class) @@ -139,14 +141,14 @@ class DebugClassLoader try { if ($this->isFinder && !isset($this->loaded[$class])) { $this->loaded[$class] = true; - if ($file = $this->classLoader[0]->findFile($class) ?: false) { - $wasCached = \function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file); - + if (!$file = $this->classLoader[0]->findFile($class) ?: false) { + // no-op + } elseif (\function_exists('opcache_is_script_cached') && @opcache_is_script_cached($file)) { require $file; - if ($wasCached) { - return; - } + return; + } else { + require $file; } } else { \call_user_func($this->classLoader, $class); @@ -183,196 +185,261 @@ class DebugClassLoader throw new \RuntimeException(sprintf('Case mismatch between loaded and declared class names: "%s" vs "%s".', $class, $name)); } - // Don't trigger deprecations for classes in the same vendor - if (2 > $len = 1 + (\strpos($name, '\\') ?: \strpos($name, '_'))) { - $len = 0; - $ns = ''; + $deprecations = $this->checkAnnotations($refl, $name); + + foreach ($deprecations as $message) { + @trigger_error($message, E_USER_DEPRECATED); + } + } + + if (!$file) { + return; + } + + if (!$exists) { + if (false !== strpos($class, '/')) { + throw new \RuntimeException(sprintf('Trying to autoload a class with an invalid name "%s". Be careful that the namespace separator is "\" in PHP, not "/".', $class)); + } + + throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file)); + } + + if (self::$caseCheck && $message = $this->checkCase($refl, $file, $class)) { + throw new \RuntimeException(sprintf('Case mismatch between class and real file names: "%s" vs "%s" in "%s".', $message[0], $message[1], $message[2])); + } + } + + public function checkAnnotations(\ReflectionClass $refl, $class) + { + $deprecations = array(); + + // Don't trigger deprecations for classes in the same vendor + if (2 > $len = 1 + (\strpos($class, '\\') ?: \strpos($class, '_'))) { + $len = 0; + $ns = ''; + } else { + $ns = \substr($class, 0, $len); + } + + // Detect annotations on the class + if (false !== $doc = $refl->getDocComment()) { + foreach (array('final', 'deprecated', 'internal') as $annotation) { + if (false !== \strpos($doc, $annotation) && preg_match('#\n \* @'.$annotation.'(?:( .+?)\.?)?\r?\n \*(?: @|/$)#s', $doc, $notice)) { + self::${$annotation}[$class] = isset($notice[1]) ? preg_replace('#\s*\r?\n \* +#', ' ', $notice[1]) : ''; + } + } + } + + $parent = \get_parent_class($class); + $parentAndOwnInterfaces = $this->getOwnInterfaces($class, $parent); + if ($parent) { + $parentAndOwnInterfaces[$parent] = $parent; + + if (!isset(self::$checkedClasses[$parent])) { + $this->checkClass($parent); + } + + if (isset(self::$final[$parent])) { + $deprecations[] = sprintf('The "%s" class is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $parent, self::$final[$parent], $class); + } + } + + // Detect if the parent is annotated + foreach ($parentAndOwnInterfaces + \class_uses($class, false) as $use) { + if (!isset(self::$checkedClasses[$use])) { + $this->checkClass($use); + } + if (isset(self::$deprecated[$use]) && \strncmp($ns, $use, $len)) { + $type = class_exists($class, false) ? 'class' : (interface_exists($class, false) ? 'interface' : 'trait'); + $verb = class_exists($use, false) || interface_exists($class, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses'); + + $deprecations[] = sprintf('The "%s" %s %s "%s" that is deprecated%s.', $class, $type, $verb, $use, self::$deprecated[$use]); + } + if (isset(self::$internal[$use]) && \strncmp($ns, $use, $len)) { + $deprecations[] = sprintf('The "%s" %s is considered internal%s. It may change without further notice. You should not use it from "%s".', $use, class_exists($use, false) ? 'class' : (interface_exists($use, false) ? 'interface' : 'trait'), self::$internal[$use], $class); + } + } + + if (\trait_exists($class)) { + return $deprecations; + } + + // Inherit @final, @internal and @param annotations for methods + self::$finalMethods[$class] = array(); + self::$internalMethods[$class] = array(); + self::$annotatedParameters[$class] = array(); + foreach ($parentAndOwnInterfaces as $use) { + foreach (array('finalMethods', 'internalMethods', 'annotatedParameters') as $property) { + if (isset(self::${$property}[$use])) { + self::${$property}[$class] = self::${$property}[$class] ? self::${$property}[$use] + self::${$property}[$class] : self::${$property}[$use]; + } + } + } + + foreach ($refl->getMethods(\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTED) as $method) { + if ($method->class !== $class) { + continue; + } + + if ($parent && isset(self::$finalMethods[$parent][$method->name])) { + list($declaringClass, $message) = self::$finalMethods[$parent][$method->name]; + $deprecations[] = sprintf('The "%s::%s()" method is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $declaringClass, $method->name, $message, $class); + } + + if (isset(self::$internalMethods[$class][$method->name])) { + list($declaringClass, $message) = self::$internalMethods[$class][$method->name]; + if (\strncmp($ns, $declaringClass, $len)) { + $deprecations[] = sprintf('The "%s::%s()" method is considered internal%s. It may change without further notice. You should not extend it from "%s".', $declaringClass, $method->name, $message, $class); + } + } + + // To read method annotations + $doc = $method->getDocComment(); + + if (isset(self::$annotatedParameters[$class][$method->name])) { + $definedParameters = array(); + foreach ($method->getParameters() as $parameter) { + $definedParameters[$parameter->name] = true; + } + + foreach (self::$annotatedParameters[$class][$method->name] as $parameterName => $deprecation) { + if (!isset($definedParameters[$parameterName]) && !($doc && preg_match("/\\n\\s+\\* @param (.*?)(?<= )\\\${$parameterName}\\b/", $doc))) { + $deprecations[] = sprintf($deprecation, $class); + } + } + } + + if (!$doc) { + continue; + } + + $finalOrInternal = false; + + foreach (array('final', 'internal') as $annotation) { + if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$)#s', $doc, $notice)) { + $message = isset($notice[1]) ? preg_replace('#\s*\r?\n \* +#', ' ', $notice[1]) : ''; + self::${$annotation.'Methods'}[$class][$method->name] = array($class, $message); + $finalOrInternal = true; + } + } + + if ($finalOrInternal || $method->isConstructor() || false === \strpos($doc, '@param') || StatelessInvocation::class === $class) { + continue; + } + if (!preg_match_all('#\n\s+\* @param (.*?)(?<= )\$([a-zA-Z0-9_\x7f-\xff]++)#', $doc, $matches, PREG_SET_ORDER)) { + continue; + } + if (!isset(self::$annotatedParameters[$class][$method->name])) { + $definedParameters = array(); + foreach ($method->getParameters() as $parameter) { + $definedParameters[$parameter->name] = true; + } + } + foreach ($matches as list(, $parameterType, $parameterName)) { + if (!isset($definedParameters[$parameterName])) { + $parameterType = trim($parameterType); + self::$annotatedParameters[$class][$method->name][$parameterName] = sprintf('The "%%s::%s()" method will require a new "%s$%s" argument in the next major version of its parent class "%s", not defining it is deprecated.', $method->name, $parameterType ? $parameterType.' ' : '', $parameterName, $method->class); + } + } + } + + return $deprecations; + } + + public function checkCase(\ReflectionClass $refl, $file, $class) + { + $real = explode('\\', $class.strrchr($file, '.')); + $tail = explode(\DIRECTORY_SEPARATOR, str_replace('/', \DIRECTORY_SEPARATOR, $file)); + + $i = \count($tail) - 1; + $j = \count($real) - 1; + + while (isset($tail[$i], $real[$j]) && $tail[$i] === $real[$j]) { + --$i; + --$j; + } + + array_splice($tail, 0, $i + 1); + + if (!$tail) { + return; + } + + $tail = \DIRECTORY_SEPARATOR.implode(\DIRECTORY_SEPARATOR, $tail); + $tailLen = \strlen($tail); + $real = $refl->getFileName(); + + if (2 === self::$caseCheck) { + $real = $this->darwinRealpath($real); + } + + if (0 === substr_compare($real, $tail, -$tailLen, $tailLen, true) + && 0 !== substr_compare($real, $tail, -$tailLen, $tailLen, false) + ) { + return array(substr($tail, -$tailLen + 1), substr($real, -$tailLen + 1), substr($real, 0, -$tailLen + 1)); + } + } + + /** + * `realpath` on MacOSX doesn't normalize the case of characters. + */ + private function darwinRealpath($real) + { + $i = 1 + strrpos($real, '/'); + $file = substr($real, $i); + $real = substr($real, 0, $i); + + if (isset(self::$darwinCache[$real])) { + $kDir = $real; + } else { + $kDir = strtolower($real); + + if (isset(self::$darwinCache[$kDir])) { + $real = self::$darwinCache[$kDir][0]; } else { - $ns = \substr($name, 0, $len); - } + $dir = getcwd(); + chdir($real); + $real = getcwd().'/'; + chdir($dir); - // Detect annotations on the class - if (false !== $doc = $refl->getDocComment()) { - foreach (array('final', 'deprecated', 'internal') as $annotation) { - if (false !== \strpos($doc, $annotation) && preg_match('#\n \* @'.$annotation.'(?:( .+?)\.?)?\r?\n \*(?: @|/$)#s', $doc, $notice)) { - self::${$annotation}[$name] = isset($notice[1]) ? preg_replace('#\s*\r?\n \* +#', ' ', $notice[1]) : ''; - } - } - } - - $parentAndTraits = \class_uses($name, false); - if ($parent = \get_parent_class($class)) { - $parentAndTraits[] = $parent; - - if (!isset(self::$checkedClasses[$parent])) { - $this->checkClass($parent); - } - - if (isset(self::$final[$parent])) { - @trigger_error(sprintf('The "%s" class is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $parent, self::$final[$parent], $name), E_USER_DEPRECATED); - } - } - - // Detect if the parent is annotated - foreach ($parentAndTraits + $this->getOwnInterfaces($name, $parent) as $use) { - if (!isset(self::$checkedClasses[$use])) { - $this->checkClass($use); - } - if (isset(self::$deprecated[$use]) && \strncmp($ns, $use, $len)) { - $type = class_exists($name, false) ? 'class' : (interface_exists($name, false) ? 'interface' : 'trait'); - $verb = class_exists($use, false) || interface_exists($name, false) ? 'extends' : (interface_exists($use, false) ? 'implements' : 'uses'); - - @trigger_error(sprintf('The "%s" %s %s "%s" that is deprecated%s.', $name, $type, $verb, $use, self::$deprecated[$use]), E_USER_DEPRECATED); - } - if (isset(self::$internal[$use]) && \strncmp($ns, $use, $len)) { - @trigger_error(sprintf('The "%s" %s is considered internal%s. It may change without further notice. You should not use it from "%s".', $use, class_exists($use, false) ? 'class' : (interface_exists($use, false) ? 'interface' : 'trait'), self::$internal[$use], $name), E_USER_DEPRECATED); - } - } - - // Inherit @final and @internal annotations for methods - self::$finalMethods[$name] = array(); - self::$internalMethods[$name] = array(); - foreach ($parentAndTraits as $use) { - foreach (array('finalMethods', 'internalMethods') as $property) { - if (isset(self::${$property}[$use])) { - self::${$property}[$name] = self::${$property}[$name] ? self::${$property}[$use] + self::${$property}[$name] : self::${$property}[$use]; - } - } - } - - $isClass = \class_exists($name, false); - foreach ($refl->getMethods(\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTED) as $method) { - if ($method->class !== $name) { - continue; - } - - // Method from a trait - if ($method->getFilename() !== $refl->getFileName()) { - continue; - } - - if ($isClass && $parent && isset(self::$finalMethods[$parent][$method->name])) { - list($declaringClass, $message) = self::$finalMethods[$parent][$method->name]; - @trigger_error(sprintf('The "%s::%s()" method is considered final%s. It may change without further notice as of its next major version. You should not extend it from "%s".', $declaringClass, $method->name, $message, $name), E_USER_DEPRECATED); - } - - foreach ($parentAndTraits as $use) { - if (isset(self::$internalMethods[$use][$method->name])) { - list($declaringClass, $message) = self::$internalMethods[$use][$method->name]; - if (\strncmp($ns, $declaringClass, $len)) { - @trigger_error(sprintf('The "%s::%s()" method is considered internal%s. It may change without further notice. You should not extend it from "%s".', $declaringClass, $method->name, $message, $name), E_USER_DEPRECATED); - } - } - } - - // Detect method annotations - if (false === $doc = $method->getDocComment()) { - continue; - } - - foreach (array('final', 'internal') as $annotation) { - if (false !== \strpos($doc, $annotation) && preg_match('#\n\s+\* @'.$annotation.'(?:( .+?)\.?)?\r?\n\s+\*(?: @|/$)#s', $doc, $notice)) { - $message = isset($notice[1]) ? preg_replace('#\s*\r?\n \* +#', ' ', $notice[1]) : ''; - self::${$annotation.'Methods'}[$name][$method->name] = array($name, $message); + $dir = $real; + $k = $kDir; + $i = \strlen($dir) - 1; + while (!isset(self::$darwinCache[$k])) { + self::$darwinCache[$k] = array($dir, array()); + self::$darwinCache[$dir] = &self::$darwinCache[$k]; + + while ('/' !== $dir[--$i]) { } + $k = substr($k, 0, ++$i); + $dir = substr($dir, 0, $i--); } } } - if ($file) { - if (!$exists) { - if (false !== strpos($class, '/')) { - throw new \RuntimeException(sprintf('Trying to autoload a class with an invalid name "%s". Be careful that the namespace separator is "\" in PHP, not "/".', $class)); - } + $dirFiles = self::$darwinCache[$kDir][1]; - throw new \RuntimeException(sprintf('The autoloader expected class "%s" to be defined in file "%s". The file was found but the class was not in it, the class name or namespace probably has a typo.', $class, $file)); - } - if (self::$caseCheck) { - $real = explode('\\', $class.strrchr($file, '.')); - $tail = explode(\DIRECTORY_SEPARATOR, str_replace('/', \DIRECTORY_SEPARATOR, $file)); - - $i = \count($tail) - 1; - $j = \count($real) - 1; - - while (isset($tail[$i], $real[$j]) && $tail[$i] === $real[$j]) { - --$i; - --$j; - } - - array_splice($tail, 0, $i + 1); - } - if (self::$caseCheck && $tail) { - $tail = \DIRECTORY_SEPARATOR.implode(\DIRECTORY_SEPARATOR, $tail); - $tailLen = \strlen($tail); - $real = $refl->getFileName(); - - if (2 === self::$caseCheck) { - // realpath() on MacOSX doesn't normalize the case of characters - - $i = 1 + strrpos($real, '/'); - $file = substr($real, $i); - $real = substr($real, 0, $i); - - if (isset(self::$darwinCache[$real])) { - $kDir = $real; - } else { - $kDir = strtolower($real); - - if (isset(self::$darwinCache[$kDir])) { - $real = self::$darwinCache[$kDir][0]; - } else { - $dir = getcwd(); - chdir($real); - $real = getcwd().'/'; - chdir($dir); - - $dir = $real; - $k = $kDir; - $i = \strlen($dir) - 1; - while (!isset(self::$darwinCache[$k])) { - self::$darwinCache[$k] = array($dir, array()); - self::$darwinCache[$dir] = &self::$darwinCache[$k]; - - while ('/' !== $dir[--$i]) { - } - $k = substr($k, 0, ++$i); - $dir = substr($dir, 0, $i--); - } - } - } - - $dirFiles = self::$darwinCache[$kDir][1]; - - if (isset($dirFiles[$file])) { - $kFile = $file; - } else { - $kFile = strtolower($file); - - if (!isset($dirFiles[$kFile])) { - foreach (scandir($real, 2) as $f) { - if ('.' !== $f[0]) { - $dirFiles[$f] = $f; - if ($f === $file) { - $kFile = $k = $file; - } elseif ($f !== $k = strtolower($f)) { - $dirFiles[$k] = $f; - } - } - } - self::$darwinCache[$kDir][1] = $dirFiles; - } - } - - $real .= $dirFiles[$kFile]; - } - - if (0 === substr_compare($real, $tail, -$tailLen, $tailLen, true) - && 0 !== substr_compare($real, $tail, -$tailLen, $tailLen, false) - ) { - throw new \RuntimeException(sprintf('Case mismatch between class and real file names: "%s" vs "%s" in "%s".', substr($tail, -$tailLen + 1), substr($real, -$tailLen + 1), substr($real, 0, -$tailLen + 1))); - } - } + if (isset($dirFiles[$file])) { + return $real .= $dirFiles[$file]; } + + $kFile = strtolower($file); + + if (!isset($dirFiles[$kFile])) { + foreach (scandir($real, 2) as $f) { + if ('.' !== $f[0]) { + $dirFiles[$f] = $f; + if ($f === $file) { + $kFile = $k = $file; + } elseif ($f !== $k = strtolower($f)) { + $dirFiles[$k] = $f; + } + } + } + self::$darwinCache[$kDir][1] = $dirFiles; + } + + return $real .= $dirFiles[$kFile]; } /** diff --git a/vendor/symfony/debug/ErrorHandler.php b/vendor/symfony/debug/ErrorHandler.php index caffd5416..ecae93dbc 100644 --- a/vendor/symfony/debug/ErrorHandler.php +++ b/vendor/symfony/debug/ErrorHandler.php @@ -15,6 +15,7 @@ use Psr\Log\LoggerInterface; use Psr\Log\LogLevel; use Symfony\Component\Debug\Exception\FatalErrorException; use Symfony\Component\Debug\Exception\FatalThrowableError; +use Symfony\Component\Debug\Exception\FlattenException; use Symfony\Component\Debug\Exception\OutOfMemoryException; use Symfony\Component\Debug\Exception\SilencedErrorContext; use Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler; @@ -405,15 +406,19 @@ class ErrorHandler $context = $e; } - $logMessage = $this->levels[$type].': '.$message; + if (false !== strpos($message, "class@anonymous\0")) { + $logMessage = $this->levels[$type].': '.(new FlattenException())->setMessage($message)->getMessage(); + } else { + $logMessage = $this->levels[$type].': '.$message; + } if (null !== self::$toStringException) { $errorAsException = self::$toStringException; self::$toStringException = null; } elseif (!$throw && !($type & $level)) { if (!isset(self::$silencedErrorCache[$id = $file.':'.$line])) { - $lightTrace = $this->tracedErrors & $type ? $this->cleanTrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3), $type, $file, $line, false) : array(); - $errorAsException = new SilencedErrorContext($type, $file, $line, $lightTrace); + $lightTrace = $this->tracedErrors & $type ? $this->cleanTrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5), $type, $file, $line, false) : array(); + $errorAsException = new SilencedErrorContext($type, $file, $line, isset($lightTrace[1]) ? array($lightTrace[0]) : $lightTrace); } elseif (isset(self::$silencedErrorCache[$id][$message])) { $lightTrace = null; $errorAsException = self::$silencedErrorCache[$id][$message]; @@ -436,7 +441,6 @@ class ErrorHandler } else { $errorAsException = new \ErrorException($logMessage, 0, $type, $file, $line); - // Clean the trace by removing function arguments and the first frames added by the error handler itself. if ($throw || $this->tracedErrors & $type) { $backtrace = $errorAsException->getTrace(); $lightTrace = $this->cleanTrace($backtrace, $type, $file, $line, $throw); @@ -518,21 +522,24 @@ class ErrorHandler $handlerException = null; if (($this->loggedErrors & $type) || $exception instanceof FatalThrowableError) { + if (false !== strpos($message = $exception->getMessage(), "class@anonymous\0")) { + $message = (new FlattenException())->setMessage($message)->getMessage(); + } if ($exception instanceof FatalErrorException) { if ($exception instanceof FatalThrowableError) { $error = array( 'type' => $type, - 'message' => $message = $exception->getMessage(), + 'message' => $message, 'file' => $exception->getFile(), 'line' => $exception->getLine(), ); } else { - $message = 'Fatal '.$exception->getMessage(); + $message = 'Fatal '.$message; } } elseif ($exception instanceof \ErrorException) { - $message = 'Uncaught '.$exception->getMessage(); + $message = 'Uncaught '.$message; } else { - $message = 'Uncaught Exception: '.$exception->getMessage(); + $message = 'Uncaught Exception: '.$message; } } if ($this->loggedErrors & $type) { @@ -661,6 +668,9 @@ class ErrorHandler ); } + /** + * Cleans the trace by removing function arguments and the frames added by the error handler and DebugClassLoader. + */ private function cleanTrace($backtrace, $type, $file, $line, $throw) { $lightTrace = $backtrace; @@ -671,6 +681,13 @@ class ErrorHandler break; } } + if (class_exists(DebugClassLoader::class, false)) { + for ($i = \count($lightTrace) - 2; 0 < $i; --$i) { + if (DebugClassLoader::class === ($lightTrace[$i]['class'] ?? null)) { + array_splice($lightTrace, --$i, 2); + } + } + } if (!($throw || $this->scopedErrors & $type)) { for ($i = 0; isset($lightTrace[$i]); ++$i) { unset($lightTrace[$i]['args'], $lightTrace[$i]['object']); diff --git a/vendor/symfony/debug/Exception/FlattenException.php b/vendor/symfony/debug/Exception/FlattenException.php index b091b55bd..f85522ce6 100644 --- a/vendor/symfony/debug/Exception/FlattenException.php +++ b/vendor/symfony/debug/Exception/FlattenException.php @@ -90,9 +90,14 @@ class FlattenException return $this->statusCode; } + /** + * @return $this + */ public function setStatusCode($code) { $this->statusCode = $code; + + return $this; } public function getHeaders() @@ -100,9 +105,14 @@ class FlattenException return $this->headers; } + /** + * @return $this + */ public function setHeaders(array $headers) { $this->headers = $headers; + + return $this; } public function getClass() @@ -110,9 +120,14 @@ class FlattenException return $this->class; } + /** + * @return $this + */ public function setClass($class) { - $this->class = $class; + $this->class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; + + return $this; } public function getFile() @@ -120,9 +135,14 @@ class FlattenException return $this->file; } + /** + * @return $this + */ public function setFile($file) { $this->file = $file; + + return $this; } public function getLine() @@ -130,9 +150,14 @@ class FlattenException return $this->line; } + /** + * @return $this + */ public function setLine($line) { $this->line = $line; + + return $this; } public function getMessage() @@ -140,9 +165,20 @@ class FlattenException return $this->message; } + /** + * @return $this + */ public function setMessage($message) { + if (false !== strpos($message, "class@anonymous\0")) { + $message = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { + return \class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; + }, $message); + } + $this->message = $message; + + return $this; } public function getCode() @@ -150,9 +186,14 @@ class FlattenException return $this->code; } + /** + * @return $this + */ public function setCode($code) { $this->code = $code; + + return $this; } public function getPrevious() @@ -160,9 +201,14 @@ class FlattenException return $this->previous; } + /** + * @return $this + */ public function setPrevious(self $previous) { $this->previous = $previous; + + return $this; } public function getAllPrevious() @@ -191,11 +237,14 @@ class FlattenException $this->setTraceFromThrowable($exception); } - public function setTraceFromThrowable(\Throwable $throwable): void + public function setTraceFromThrowable(\Throwable $throwable) { - $this->setTrace($throwable->getTrace(), $throwable->getFile(), $throwable->getLine()); + return $this->setTrace($throwable->getTrace(), $throwable->getFile(), $throwable->getLine()); } + /** + * @return $this + */ public function setTrace($trace, $file, $line) { $this->trace = array(); @@ -229,6 +278,8 @@ class FlattenException 'args' => isset($entry['args']) ? $this->flattenArgs($entry['args']) : array(), ); } + + return $this; } private function flattenArgs($args, $level = 0, &$count = 0) diff --git a/vendor/symfony/debug/ExceptionHandler.php b/vendor/symfony/debug/ExceptionHandler.php index 1845bc88c..ea666b1ac 100644 --- a/vendor/symfony/debug/ExceptionHandler.php +++ b/vendor/symfony/debug/ExceptionHandler.php @@ -253,7 +253,8 @@ EOF } catch (\Exception $e) { // something nasty happened and we cannot throw an exception anymore if ($this->debug) { - $title = sprintf('Exception thrown when handling an exception (%s: %s)', \get_class($e), $this->escapeHtml($e->getMessage())); + $e = FlattenException::create($e); + $title = sprintf('Exception thrown when handling an exception (%s: %s)', $e->getClass(), $this->escapeHtml($e->getMessage())); } else { $title = 'Whoops, looks like something went wrong.'; } diff --git a/vendor/symfony/debug/Tests/DebugClassLoaderTest.php b/vendor/symfony/debug/Tests/DebugClassLoaderTest.php index 1580ca993..c7e03fbef 100644 --- a/vendor/symfony/debug/Tests/DebugClassLoaderTest.php +++ b/vendor/symfony/debug/Tests/DebugClassLoaderTest.php @@ -220,24 +220,21 @@ class DebugClassLoaderTest extends TestCase public function testExtendedFinalMethod() { - set_error_handler(function () { return false; }); - $e = error_reporting(0); - trigger_error('', E_USER_NOTICE); + $deprecations = array(); + set_error_handler(function ($type, $msg) use (&$deprecations) { $deprecations[] = $msg; }); + $e = error_reporting(E_USER_DEPRECATED); class_exists(__NAMESPACE__.'\\Fixtures\\ExtendedFinalMethod', true); error_reporting($e); restore_error_handler(); - $lastError = error_get_last(); - unset($lastError['file'], $lastError['line']); - $xError = array( - 'type' => E_USER_DEPRECATED, - 'message' => 'The "Symfony\Component\Debug\Tests\Fixtures\FinalMethod::finalMethod()" method is considered final. It may change without further notice as of its next major version. You should not extend it from "Symfony\Component\Debug\Tests\Fixtures\ExtendedFinalMethod".', + 'The "Symfony\Component\Debug\Tests\Fixtures\FinalMethod::finalMethod()" method is considered final. It may change without further notice as of its next major version. You should not extend it from "Symfony\Component\Debug\Tests\Fixtures\ExtendedFinalMethod".', + 'The "Symfony\Component\Debug\Tests\Fixtures\FinalMethod::finalMethod2()" method is considered final. It may change without further notice as of its next major version. You should not extend it from "Symfony\Component\Debug\Tests\Fixtures\ExtendedFinalMethod".', ); - $this->assertSame($xError, $lastError); + $this->assertSame($xError, $deprecations); } public function testExtendedDeprecatedMethodDoesntTriggerAnyNotice() @@ -269,12 +266,44 @@ class DebugClassLoaderTest extends TestCase restore_error_handler(); $this->assertSame($deprecations, array( - 'The "Symfony\Component\Debug\Tests\Fixtures\InternalClass" class is considered internal. It may change without further notice. You should not use it from "Test\Symfony\Component\Debug\Tests\ExtendsInternalsParent".', 'The "Symfony\Component\Debug\Tests\Fixtures\InternalInterface" interface is considered internal. It may change without further notice. You should not use it from "Test\Symfony\Component\Debug\Tests\ExtendsInternalsParent".', + 'The "Symfony\Component\Debug\Tests\Fixtures\InternalClass" class is considered internal. It may change without further notice. You should not use it from "Test\Symfony\Component\Debug\Tests\ExtendsInternalsParent".', 'The "Symfony\Component\Debug\Tests\Fixtures\InternalTrait" trait is considered internal. It may change without further notice. You should not use it from "Test\Symfony\Component\Debug\Tests\ExtendsInternals".', - 'The "Symfony\Component\Debug\Tests\Fixtures\InternalTrait2::internalMethod()" method is considered internal. It may change without further notice. You should not extend it from "Test\Symfony\Component\Debug\Tests\ExtendsInternals".', + 'The "Symfony\Component\Debug\Tests\Fixtures\InternalClass::internalMethod()" method is considered internal. It may change without further notice. You should not extend it from "Test\Symfony\Component\Debug\Tests\ExtendsInternals".', )); } + + public function testExtendedMethodDefinesNewParameters() + { + $deprecations = array(); + set_error_handler(function ($type, $msg) use (&$deprecations) { $deprecations[] = $msg; }); + $e = error_reporting(E_USER_DEPRECATED); + + class_exists(__NAMESPACE__.'\\Fixtures\SubClassWithAnnotatedParameters', true); + + error_reporting($e); + restore_error_handler(); + + $this->assertSame(array( + 'The "Symfony\Component\Debug\Tests\Fixtures\SubClassWithAnnotatedParameters::quzMethod()" method will require a new "Quz $quz" argument in the next major version of its parent class "Symfony\Component\Debug\Tests\Fixtures\ClassWithAnnotatedParameters", not defining it is deprecated.', + 'The "Symfony\Component\Debug\Tests\Fixtures\SubClassWithAnnotatedParameters::whereAmI()" method will require a new "bool $matrix" argument in the next major version of its parent class "Symfony\Component\Debug\Tests\Fixtures\InterfaceWithAnnotatedParameters", not defining it is deprecated.', + 'The "Symfony\Component\Debug\Tests\Fixtures\SubClassWithAnnotatedParameters::isSymfony()" method will require a new "true $yes" argument in the next major version of its parent class "Symfony\Component\Debug\Tests\Fixtures\ClassWithAnnotatedParameters", not defining it is deprecated.', + ), $deprecations); + } + + public function testUseTraitWithInternalMethod() + { + $deprecations = array(); + set_error_handler(function ($type, $msg) use (&$deprecations) { $deprecations[] = $msg; }); + $e = error_reporting(E_USER_DEPRECATED); + + class_exists('Test\\'.__NAMESPACE__.'\\UseTraitWithInternalMethod', true); + + error_reporting($e); + restore_error_handler(); + + $this->assertSame(array(), $deprecations); + } } class ClassLoader @@ -328,6 +357,8 @@ class ClassLoader }'); } elseif ('Test\\'.__NAMESPACE__.'\ExtendsInternalsParent' === $class) { eval('namespace Test\\'.__NAMESPACE__.'; class ExtendsInternalsParent extends \\'.__NAMESPACE__.'\Fixtures\InternalClass implements \\'.__NAMESPACE__.'\Fixtures\InternalInterface { }'); + } elseif ('Test\\'.__NAMESPACE__.'\UseTraitWithInternalMethod' === $class) { + eval('namespace Test\\'.__NAMESPACE__.'; class UseTraitWithInternalMethod { use \\'.__NAMESPACE__.'\Fixtures\TraitWithInternalMethod; }'); } } } diff --git a/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php b/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php index 4bac16093..5b77b999a 100644 --- a/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php +++ b/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php @@ -333,6 +333,19 @@ class FlattenExceptionTest extends TestCase $this->assertNotContains('*value1*', $serializeTrace); } + public function testAnonymousClass() + { + $flattened = FlattenException::create(new class() extends \RuntimeException { + }); + + $this->assertSame('RuntimeException@anonymous', $flattened->getClass()); + + $flattened = FlattenException::create(new \Exception(sprintf('Class "%s" blah.', \get_class(new class() extends \RuntimeException { + })))); + + $this->assertSame('Class "RuntimeException@anonymous" blah.', $flattened->getMessage()); + } + private function createException($foo) { return new \Exception(); diff --git a/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php b/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php index 739e5b2b1..a2647f57f 100644 --- a/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php +++ b/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php @@ -64,10 +64,10 @@ class UndefinedMethodFatalErrorHandlerTest extends TestCase ), array( array( - 'type' => 1, - 'message' => 'Call to undefined method class@anonymous::test()', - 'file' => '/home/possum/work/symfony/test.php', - 'line' => 11, + 'type' => 1, + 'message' => 'Call to undefined method class@anonymous::test()', + 'file' => '/home/possum/work/symfony/test.php', + 'line' => 11, ), 'Attempted to call an undefined method named "test" of class "class@anonymous".', ), diff --git a/vendor/symfony/debug/Tests/Fixtures/ClassWithAnnotatedParameters.php b/vendor/symfony/debug/Tests/Fixtures/ClassWithAnnotatedParameters.php new file mode 100644 index 000000000..d6eec9aa6 --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/ClassWithAnnotatedParameters.php @@ -0,0 +1,34 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +class ClassWithAnnotatedParameters +{ + /** + * @param string $foo this is a foo parameter + */ + public function fooMethod(string $foo) + { + } + + /** + * @param string $bar parameter not implemented yet + */ + public function barMethod(/* string $bar = null */) + { + } + + /** + * @param Quz $quz parameter not implemented yet + */ + public function quzMethod(/* Quz $quz = null */) + { + } + + /** + * @param true $yes + */ + public function isSymfony() + { + } +} diff --git a/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php b/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php index 2bd337e5a..050d19ff5 100644 --- a/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php +++ b/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php @@ -4,6 +4,8 @@ namespace Symfony\Component\Debug\Tests\Fixtures; class ExtendedFinalMethod extends FinalMethod { + use FinalMethod2Trait; + /** * {@inheritdoc} */ diff --git a/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php b/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php index d8c673a5c..03e47e8a7 100644 --- a/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php +++ b/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php @@ -11,6 +11,13 @@ class FinalMethod { } + /** + * @final + */ + public function finalMethod2() + { + } + public function anotherMethod() { } diff --git a/vendor/symfony/debug/Tests/Fixtures/FinalMethod2Trait.php b/vendor/symfony/debug/Tests/Fixtures/FinalMethod2Trait.php new file mode 100644 index 000000000..8547f3afe --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/FinalMethod2Trait.php @@ -0,0 +1,10 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +trait FinalMethod2Trait +{ + public function finalMethod2() + { + } +} diff --git a/vendor/symfony/debug/Tests/Fixtures/InterfaceWithAnnotatedParameters.php b/vendor/symfony/debug/Tests/Fixtures/InterfaceWithAnnotatedParameters.php new file mode 100644 index 000000000..54abd68ef --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/InterfaceWithAnnotatedParameters.php @@ -0,0 +1,14 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +/** + * Ensures a deprecation is triggered when a new parameter is not declared in child classes. + */ +interface InterfaceWithAnnotatedParameters +{ + /** + * @param bool $matrix + */ + public function whereAmI(); +} diff --git a/vendor/symfony/debug/Tests/Fixtures/SubClassWithAnnotatedParameters.php b/vendor/symfony/debug/Tests/Fixtures/SubClassWithAnnotatedParameters.php new file mode 100644 index 000000000..20358e96d --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/SubClassWithAnnotatedParameters.php @@ -0,0 +1,24 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +class SubClassWithAnnotatedParameters extends ClassWithAnnotatedParameters implements InterfaceWithAnnotatedParameters +{ + use TraitWithAnnotatedParameters; + + public function fooMethod(string $foo) + { + } + + public function barMethod($bar = null) + { + } + + public function quzMethod() + { + } + + public function whereAmI() + { + } +} diff --git a/vendor/symfony/debug/Tests/Fixtures/TraitWithAnnotatedParameters.php b/vendor/symfony/debug/Tests/Fixtures/TraitWithAnnotatedParameters.php new file mode 100644 index 000000000..5eb5fbf84 --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/TraitWithAnnotatedParameters.php @@ -0,0 +1,13 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +trait TraitWithAnnotatedParameters +{ + /** + * `@param` annotations in traits are not parsed. + */ + public function isSymfony() + { + } +} diff --git a/vendor/symfony/debug/Tests/Fixtures/TraitWithInternalMethod.php b/vendor/symfony/debug/Tests/Fixtures/TraitWithInternalMethod.php new file mode 100644 index 000000000..4c3dae37a --- /dev/null +++ b/vendor/symfony/debug/Tests/Fixtures/TraitWithInternalMethod.php @@ -0,0 +1,13 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures; + +trait TraitWithInternalMethod +{ + /** + * @internal + */ + public function foo() + { + } +} diff --git a/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt b/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt index 41c56c930..53839c489 100644 --- a/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt +++ b/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt @@ -24,3 +24,4 @@ class_exists(ExtendedFinalMethod::class); ?> --EXPECTF-- The "Symfony\Component\Debug\Tests\Fixtures\FinalMethod::finalMethod()" method is considered final. It may change without further notice as of its next major version. You should not extend it from "Symfony\Component\Debug\Tests\Fixtures\ExtendedFinalMethod". +The "Symfony\Component\Debug\Tests\Fixtures\FinalMethod::finalMethod2()" method is considered final. It may change without further notice as of its next major version. You should not extend it from "Symfony\Component\Debug\Tests\Fixtures\ExtendedFinalMethod". diff --git a/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt b/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt index 7211afbdf..9cd44388c 100644 --- a/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt +++ b/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt @@ -1,5 +1,7 @@ --TEST-- Test catching fatal errors when handlers are nested +--INI-- +display_errors=0 --FILE-- <?php @@ -24,7 +26,6 @@ if (true) { ?> --EXPECTF-- -Fatal error: Class 'Symfony\Component\Debug\missing' not found in %s on line %d object(Symfony\Component\Debug\Exception\ClassNotFoundException)#%d (8) { ["message":protected]=> string(131) "Attempted to load class "missing" from namespace "Symfony\Component\Debug". diff --git a/vendor/symfony/debug/composer.json b/vendor/symfony/debug/composer.json index 9b2deebe6..45799e2e6 100644 --- a/vendor/symfony/debug/composer.json +++ b/vendor/symfony/debug/composer.json @@ -34,7 +34,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/debug/phpunit.xml.dist b/vendor/symfony/debug/phpunit.xml.dist index 12e58612b..a51bbff93 100644 --- a/vendor/symfony/debug/phpunit.xml.dist +++ b/vendor/symfony/debug/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php index aae327520..083bd39e9 100644 --- a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +++ b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php @@ -230,7 +230,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface */ public function __call($method, $arguments) { - return \call_user_func_array(array($this->dispatcher, $method), $arguments); + return $this->dispatcher->{$method}(...$arguments); } /** @@ -263,7 +263,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface foreach ($this->dispatcher->getListeners($eventName) as $listener) { $priority = $this->getListenerPriority($eventName, $listener); - $wrappedListener = new WrappedListener($listener, null, $this->stopwatch, $this); + $wrappedListener = new WrappedListener($listener instanceof WrappedListener ? $listener->getWrappedListener() : $listener, null, $this->stopwatch, $this); $this->wrappedListeners[$eventName][] = $wrappedListener; $this->dispatcher->removeListener($eventName, $listener); $this->dispatcher->addListener($eventName, $wrappedListener, $priority); diff --git a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php index d716f1914..cd4d7470a 100644 --- a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php +++ b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php @@ -12,13 +12,14 @@ namespace Symfony\Component\EventDispatcher\Debug; use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Contracts\Service\ResetInterface; /** * @deprecated since Symfony 4.1 * * @author Fabien Potencier <fabien@symfony.com> */ -interface TraceableEventDispatcherInterface extends EventDispatcherInterface +interface TraceableEventDispatcherInterface extends EventDispatcherInterface, ResetInterface { /** * Gets the called listeners. @@ -33,9 +34,4 @@ interface TraceableEventDispatcherInterface extends EventDispatcherInterface * @return array An array of not called listeners */ public function getNotCalledListeners(); - - /** - * Resets the trace. - */ - public function reset(); } diff --git a/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/vendor/symfony/event-dispatcher/Debug/WrappedListener.php index 2d8126a65..d49f69de7 100644 --- a/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +++ b/vendor/symfony/event-dispatcher/Debug/WrappedListener.php @@ -34,7 +34,6 @@ class WrappedListener public function __construct($listener, $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null) { $this->listener = $listener; - $this->name = $name; $this->stopwatch = $stopwatch; $this->dispatcher = $dispatcher; $this->called = false; @@ -44,7 +43,15 @@ class WrappedListener $this->name = \is_object($listener[0]) ? \get_class($listener[0]) : $listener[0]; $this->pretty = $this->name.'::'.$listener[1]; } elseif ($listener instanceof \Closure) { - $this->pretty = $this->name = 'closure'; + $r = new \ReflectionFunction($listener); + if (false !== strpos($r->name, '{closure}')) { + $this->pretty = $this->name = 'closure'; + } elseif ($class = $r->getClosureScopeClass()) { + $this->name = $class->name; + $this->pretty = $this->name.'::'.$r->name; + } else { + $this->pretty = $this->name = $r->name; + } } elseif (\is_string($listener)) { $this->pretty = $this->name = $listener; } else { diff --git a/vendor/symfony/event-dispatcher/GenericEvent.php b/vendor/symfony/event-dispatcher/GenericEvent.php index 95c99408d..f0be7e18f 100644 --- a/vendor/symfony/event-dispatcher/GenericEvent.php +++ b/vendor/symfony/event-dispatcher/GenericEvent.php @@ -38,7 +38,7 @@ class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate /** * Getter for subject property. * - * @return mixed $subject The observer subject + * @return mixed The observer subject */ public function getSubject() { diff --git a/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php index 9997a7b0e..6d377d11f 100644 --- a/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php +++ b/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php @@ -426,7 +426,7 @@ class TestEventSubscriberWithPriorities implements EventSubscriberInterface return array( 'pre.foo' => array('preFoo', 10), 'post.foo' => array('postFoo'), - ); + ); } } diff --git a/vendor/symfony/event-dispatcher/Tests/Debug/WrappedListenerTest.php b/vendor/symfony/event-dispatcher/Tests/Debug/WrappedListenerTest.php new file mode 100644 index 000000000..f743f148d --- /dev/null +++ b/vendor/symfony/event-dispatcher/Tests/Debug/WrappedListenerTest.php @@ -0,0 +1,64 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\EventDispatcher\Tests\Debug; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\EventDispatcher\Debug\WrappedListener; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; +use Symfony\Component\Stopwatch\Stopwatch; + +class WrappedListenerTest extends TestCase +{ + /** + * @dataProvider provideListenersToDescribe + */ + public function testListenerDescription(callable $listener, $expected) + { + $wrappedListener = new WrappedListener($listener, null, $this->getMockBuilder(Stopwatch::class)->getMock(), $this->getMockBuilder(EventDispatcherInterface::class)->getMock()); + + $this->assertStringMatchesFormat($expected, $wrappedListener->getPretty()); + } + + public function provideListenersToDescribe() + { + $listeners = array( + array(new FooListener(), 'Symfony\Component\EventDispatcher\Tests\Debug\FooListener::__invoke'), + array(array(new FooListener(), 'listen'), 'Symfony\Component\EventDispatcher\Tests\Debug\FooListener::listen'), + array(array('Symfony\Component\EventDispatcher\Tests\Debug\FooListener', 'listenStatic'), 'Symfony\Component\EventDispatcher\Tests\Debug\FooListener::listenStatic'), + array('var_dump', 'var_dump'), + array(function () {}, 'closure'), + ); + + if (\PHP_VERSION_ID >= 70100) { + $listeners[] = array(\Closure::fromCallable(array(new FooListener(), 'listen')), 'Symfony\Component\EventDispatcher\Tests\Debug\FooListener::listen'); + $listeners[] = array(\Closure::fromCallable(array('Symfony\Component\EventDispatcher\Tests\Debug\FooListener', 'listenStatic')), 'Symfony\Component\EventDispatcher\Tests\Debug\FooListener::listenStatic'); + $listeners[] = array(\Closure::fromCallable(function () {}), 'closure'); + } + + return $listeners; + } +} + +class FooListener +{ + public function listen() + { + } + + public function __invoke() + { + } + + public static function listenStatic() + { + } +} diff --git a/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php b/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php index 9cf68c987..b63f69df1 100644 --- a/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php +++ b/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php @@ -31,8 +31,6 @@ class GenericEventTest extends TestCase */ protected function setUp() { - parent::setUp(); - $this->subject = new \stdClass(); $this->event = new GenericEvent($this->subject, array('name' => 'Event')); } @@ -44,8 +42,6 @@ class GenericEventTest extends TestCase { $this->subject = null; $this->event = null; - - parent::tearDown(); } public function testConstruct() diff --git a/vendor/symfony/event-dispatcher/composer.json b/vendor/symfony/event-dispatcher/composer.json index 12ee53270..6c75dfbb0 100644 --- a/vendor/symfony/event-dispatcher/composer.json +++ b/vendor/symfony/event-dispatcher/composer.json @@ -16,7 +16,8 @@ } ], "require": { - "php": "^7.1.3" + "php": "^7.1.3", + "symfony/contracts": "^1.0" }, "require-dev": { "symfony/dependency-injection": "~3.4|~4.0", @@ -41,7 +42,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/event-dispatcher/phpunit.xml.dist b/vendor/symfony/event-dispatcher/phpunit.xml.dist index b3ad1bdf5..f2eb1692c 100644 --- a/vendor/symfony/event-dispatcher/phpunit.xml.dist +++ b/vendor/symfony/event-dispatcher/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/filesystem/Exception/ExceptionInterface.php b/vendor/symfony/filesystem/Exception/ExceptionInterface.php index 8f4f10aac..fc438d9f3 100644 --- a/vendor/symfony/filesystem/Exception/ExceptionInterface.php +++ b/vendor/symfony/filesystem/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Filesystem\Exception; * * @author Romain Neutron <imprec@gmail.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/filesystem/Filesystem.php b/vendor/symfony/filesystem/Filesystem.php index 9e44f2f3d..2d703843d 100644 --- a/vendor/symfony/filesystem/Filesystem.php +++ b/vendor/symfony/filesystem/Filesystem.php @@ -557,10 +557,7 @@ class Filesystem } } - $copyOnWindows = false; - if (isset($options['copy_on_windows'])) { - $copyOnWindows = $options['copy_on_windows']; - } + $copyOnWindows = $options['copy_on_windows'] ?? false; if (null === $iterator) { $flags = $copyOnWindows ? \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS : \FilesystemIterator::SKIP_DOTS; @@ -572,6 +569,10 @@ class Filesystem } foreach ($iterator as $file) { + if (false === strpos($file->getPath(), $originDir)) { + throw new IOException(sprintf('Unable to mirror "%s" directory. If the origin directory is relative, try using "realpath" before calling the mirror method.', $originDir), 0, null, $originDir); + } + $target = $targetDir.substr($file->getPathname(), $originDirLen); if ($copyOnWindows) { @@ -744,7 +745,7 @@ class Filesystem self::$lastError = null; \set_error_handler(__CLASS__.'::handleError'); try { - $result = \call_user_func_array($func, \array_slice(\func_get_args(), 1)); + $result = $func(...\array_slice(\func_get_args(), 1)); \restore_error_handler(); return $result; diff --git a/vendor/symfony/filesystem/Tests/FilesystemTest.php b/vendor/symfony/filesystem/Tests/FilesystemTest.php index be2b5f856..521c16b71 100644 --- a/vendor/symfony/filesystem/Tests/FilesystemTest.php +++ b/vendor/symfony/filesystem/Tests/FilesystemTest.php @@ -50,6 +50,10 @@ class FilesystemTest extends FilesystemTestCase $this->markTestSkipped('This test cannot run on Windows.'); } + if (!getenv('USER') || 'root' === getenv('USER')) { + $this->markTestSkipped('This test will fail if run under superuser'); + } + $sourceFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_source_file'; $targetFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_target_file'; @@ -124,6 +128,10 @@ class FilesystemTest extends FilesystemTestCase $this->markTestSkipped('This test cannot run on Windows.'); } + if (!getenv('USER') || 'root' === getenv('USER')) { + $this->markTestSkipped('This test will fail if run under superuser'); + } + $sourceFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_source_file'; $targetFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_target_file'; @@ -161,7 +169,10 @@ class FilesystemTest extends FilesystemTestCase */ public function testCopyForOriginUrlsAndExistingLocalFileDefaultsToCopy() { - $sourceFilePath = 'http://symfony.com/images/common/logo/logo_symfony_header.png'; + if (!\in_array('https', stream_get_wrappers())) { + $this->markTestSkipped('"https" stream wrapper is not enabled.'); + } + $sourceFilePath = 'https://symfony.com/images/common/logo/logo_symfony_header.png'; $targetFilePath = $this->workspace.\DIRECTORY_SEPARATOR.'copy_target_file'; file_put_contents($targetFilePath, 'TARGET FILE'); @@ -1321,6 +1332,46 @@ class FilesystemTest extends FilesystemTestCase $this->assertFileNotExists($targetPath.'target'); } + public function testMirrorWithCustomIterator() + { + $sourcePath = $this->workspace.DIRECTORY_SEPARATOR.'source'.DIRECTORY_SEPARATOR; + mkdir($sourcePath); + + $file = $sourcePath.DIRECTORY_SEPARATOR.'file'; + file_put_contents($file, 'FILE'); + + $targetPath = $this->workspace.DIRECTORY_SEPARATOR.'target'.DIRECTORY_SEPARATOR; + + $splFile = new \SplFileInfo($file); + $iterator = new \ArrayObject(array($splFile)); + + $this->filesystem->mirror($sourcePath, $targetPath, $iterator); + + $this->assertTrue(is_dir($targetPath)); + $this->assertFileEquals($file, $targetPath.DIRECTORY_SEPARATOR.'file'); + } + + /** + * @expectedException \Symfony\Component\Filesystem\Exception\IOException + * @expectedExceptionMessageRegExp /Unable to mirror "(.*)" directory/ + */ + public function testMirrorWithCustomIteratorWithRelativePath() + { + $sourcePath = $this->workspace.DIRECTORY_SEPARATOR.'source'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'source'.DIRECTORY_SEPARATOR; + $realSourcePath = $this->workspace.DIRECTORY_SEPARATOR.'source'.DIRECTORY_SEPARATOR; + mkdir($realSourcePath); + + $file = $realSourcePath.'file'; + file_put_contents($file, 'FILE'); + + $targetPath = $this->workspace.DIRECTORY_SEPARATOR.'target'.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'target'.DIRECTORY_SEPARATOR; + + $splFile = new \SplFileInfo($file); + $iterator = new \ArrayObject(array($splFile)); + + $this->filesystem->mirror($sourcePath, $targetPath, $iterator); + } + /** * @dataProvider providePathsForIsAbsolutePath */ diff --git a/vendor/symfony/filesystem/Tests/FilesystemTestCase.php b/vendor/symfony/filesystem/Tests/FilesystemTestCase.php index e55c26677..642925dde 100644 --- a/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +++ b/vendor/symfony/filesystem/Tests/FilesystemTestCase.php @@ -31,12 +31,12 @@ class FilesystemTestCase extends TestCase protected $workspace = null; /** - * @var null|bool Flag for hard links on Windows + * @var bool|null Flag for hard links on Windows */ private static $linkOnWindows = null; /** - * @var null|bool Flag for symbolic links on Windows + * @var bool|null Flag for symbolic links on Windows */ private static $symlinkOnWindows = null; diff --git a/vendor/symfony/filesystem/composer.json b/vendor/symfony/filesystem/composer.json index 77f62b75b..ee8a319a7 100644 --- a/vendor/symfony/filesystem/composer.json +++ b/vendor/symfony/filesystem/composer.json @@ -28,7 +28,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/filesystem/phpunit.xml.dist b/vendor/symfony/filesystem/phpunit.xml.dist index 7bba6fc2f..5515fff1a 100644 --- a/vendor/symfony/filesystem/phpunit.xml.dist +++ b/vendor/symfony/filesystem/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/finder/CHANGELOG.md b/vendor/symfony/finder/CHANGELOG.md index c795e54cf..9abccfc23 100644 --- a/vendor/symfony/finder/CHANGELOG.md +++ b/vendor/symfony/finder/CHANGELOG.md @@ -1,6 +1,14 @@ CHANGELOG ========= +4.2.0 +----- + + * added $useNaturalSort option to Finder::sortByName() method + * the `Finder::sortByName()` method will have a new `$useNaturalSort` + argument in version 5.0, not defining it is deprecated + * added `Finder::reverseSorting()` to reverse the sorting + 4.0.0 ----- diff --git a/vendor/symfony/finder/Finder.php b/vendor/symfony/finder/Finder.php index 056c836d3..993f9e344 100644 --- a/vendor/symfony/finder/Finder.php +++ b/vendor/symfony/finder/Finder.php @@ -31,7 +31,7 @@ use Symfony\Component\Finder\Iterator\SortableIterator; * * All methods return the current Finder object to allow easy chaining: * - * $finder = Finder::create()->files()->name('*.php')->in(__DIR__); + * $finder = Finder::create()->files()->name('*.php')->in(__DIR__); * * @author Fabien Potencier <fabien@symfony.com> */ @@ -48,6 +48,7 @@ class Finder implements \IteratorAggregate, \Countable private $depths = array(); private $sizes = array(); private $followLinks = false; + private $reverseSorting = false; private $sort = false; private $ignore = 0; private $dirs = array(); @@ -105,19 +106,22 @@ class Finder implements \IteratorAggregate, \Countable * * Usage: * - * $finder->depth('> 1') // the Finder will start matching at level 1. - * $finder->depth('< 3') // the Finder will descend at most 3 levels of directories below the starting point. + * $finder->depth('> 1') // the Finder will start matching at level 1. + * $finder->depth('< 3') // the Finder will descend at most 3 levels of directories below the starting point. + * $finder->depth(['>= 1', '< 3']) * - * @param string|int $level The depth level expression + * @param string|int|string[]|int[] $levels The depth level expression or an array of depth levels * * @return $this * * @see DepthRangeFilterIterator * @see NumberComparator */ - public function depth($level) + public function depth($levels) { - $this->depths[] = new Comparator\NumberComparator($level); + foreach ((array) $levels as $level) { + $this->depths[] = new Comparator\NumberComparator($level); + } return $this; } @@ -127,12 +131,13 @@ class Finder implements \IteratorAggregate, \Countable * * The date must be something that strtotime() is able to parse: * - * $finder->date('since yesterday'); - * $finder->date('until 2 days ago'); - * $finder->date('> now - 2 hours'); - * $finder->date('>= 2005-10-15'); + * $finder->date('since yesterday'); + * $finder->date('until 2 days ago'); + * $finder->date('> now - 2 hours'); + * $finder->date('>= 2005-10-15'); + * $finder->date(['>= 2005-10-15', '<= 2006-05-27']); * - * @param string $date A date range string + * @param string|string[] $dates A date range string or an array of date ranges * * @return $this * @@ -140,9 +145,11 @@ class Finder implements \IteratorAggregate, \Countable * @see DateRangeFilterIterator * @see DateComparator */ - public function date($date) + public function date($dates) { - $this->dates[] = new Comparator\DateComparator($date); + foreach ((array) $dates as $date) { + $this->dates[] = new Comparator\DateComparator($date); + } return $this; } @@ -152,19 +159,20 @@ class Finder implements \IteratorAggregate, \Countable * * You can use patterns (delimited with / sign), globs or simple strings. * - * $finder->name('*.php') - * $finder->name('/\.php$/') // same as above - * $finder->name('test.php') + * $finder->name('*.php') + * $finder->name('/\.php$/') // same as above + * $finder->name('test.php') + * $finder->name(['test.py', 'test.php']) * - * @param string $pattern A pattern (a regexp, a glob, or a string) + * @param string|string[] $patterns A pattern (a regexp, a glob, or a string) or an array of patterns * * @return $this * * @see FilenameFilterIterator */ - public function name($pattern) + public function name($patterns) { - $this->names[] = $pattern; + $this->names = \array_merge($this->names, (array) $patterns); return $this; } @@ -172,15 +180,15 @@ class Finder implements \IteratorAggregate, \Countable /** * Adds rules that files must not match. * - * @param string $pattern A pattern (a regexp, a glob, or a string) + * @param string|string[] $patterns A pattern (a regexp, a glob, or a string) or an array of patterns * * @return $this * * @see FilenameFilterIterator */ - public function notName($pattern) + public function notName($patterns) { - $this->notNames[] = $pattern; + $this->notNames = \array_merge($this->notNames, (array) $patterns); return $this; } @@ -190,18 +198,19 @@ class Finder implements \IteratorAggregate, \Countable * * Strings or PCRE patterns can be used: * - * $finder->contains('Lorem ipsum') - * $finder->contains('/Lorem ipsum/i') + * $finder->contains('Lorem ipsum') + * $finder->contains('/Lorem ipsum/i') + * $finder->contains(['dolor', '/ipsum/i']) * - * @param string $pattern A pattern (string or regexp) + * @param string|string[] $patterns A pattern (string or regexp) or an array of patterns * * @return $this * * @see FilecontentFilterIterator */ - public function contains($pattern) + public function contains($patterns) { - $this->contains[] = $pattern; + $this->contains = \array_merge($this->contains, (array) $patterns); return $this; } @@ -211,18 +220,19 @@ class Finder implements \IteratorAggregate, \Countable * * Strings or PCRE patterns can be used: * - * $finder->notContains('Lorem ipsum') - * $finder->notContains('/Lorem ipsum/i') + * $finder->notContains('Lorem ipsum') + * $finder->notContains('/Lorem ipsum/i') + * $finder->notContains(['lorem', '/dolor/i']) * - * @param string $pattern A pattern (string or regexp) + * @param string|string[] $patterns A pattern (string or regexp) or an array of patterns * * @return $this * * @see FilecontentFilterIterator */ - public function notContains($pattern) + public function notContains($patterns) { - $this->notContains[] = $pattern; + $this->notContains = \array_merge($this->notContains, (array) $patterns); return $this; } @@ -232,20 +242,21 @@ class Finder implements \IteratorAggregate, \Countable * * You can use patterns (delimited with / sign) or simple strings. * - * $finder->path('some/special/dir') - * $finder->path('/some\/special\/dir/') // same as above + * $finder->path('some/special/dir') + * $finder->path('/some\/special\/dir/') // same as above + * $finder->path(['some dir', 'another/dir']) * * Use only / as dirname separator. * - * @param string $pattern A pattern (a regexp or a string) + * @param string|string[] $patterns A pattern (a regexp or a string) or an array of patterns * * @return $this * * @see FilenameFilterIterator */ - public function path($pattern) + public function path($patterns) { - $this->paths[] = $pattern; + $this->paths = \array_merge($this->paths, (array) $patterns); return $this; } @@ -255,20 +266,21 @@ class Finder implements \IteratorAggregate, \Countable * * You can use patterns (delimited with / sign) or simple strings. * - * $finder->notPath('some/special/dir') - * $finder->notPath('/some\/special\/dir/') // same as above + * $finder->notPath('some/special/dir') + * $finder->notPath('/some\/special\/dir/') // same as above + * $finder->notPath(['some/file.txt', 'another/file.log']) * * Use only / as dirname separator. * - * @param string $pattern A pattern (a regexp or a string) + * @param string|string[] $patterns A pattern (a regexp or a string) or an array of patterns * * @return $this * * @see FilenameFilterIterator */ - public function notPath($pattern) + public function notPath($patterns) { - $this->notPaths[] = $pattern; + $this->notPaths = \array_merge($this->notPaths, (array) $patterns); return $this; } @@ -276,20 +288,23 @@ class Finder implements \IteratorAggregate, \Countable /** * Adds tests for file sizes. * - * $finder->size('> 10K'); - * $finder->size('<= 1Ki'); - * $finder->size(4); + * $finder->size('> 10K'); + * $finder->size('<= 1Ki'); + * $finder->size(4); + * $finder->size(['> 10K', '< 20K']) * - * @param string|int $size A size range string or an integer + * @param string|int|string[]|int[] $sizes A size range string or an integer or an array of size ranges * * @return $this * * @see SizeRangeFilterIterator * @see NumberComparator */ - public function size($size) + public function size($sizes) { - $this->sizes[] = new Comparator\NumberComparator($size); + foreach ((array) $sizes as $size) { + $this->sizes[] = new Comparator\NumberComparator($size); + } return $this; } @@ -397,13 +412,20 @@ class Finder implements \IteratorAggregate, \Countable * * This can be slow as all the matching files and directories must be retrieved for comparison. * + * @param bool $useNaturalSort Whether to use natural sort or not, disabled by default + * * @return $this * * @see SortableIterator */ - public function sortByName() + public function sortByName(/* bool $useNaturalSort = false */) { - $this->sort = Iterator\SortableIterator::SORT_BY_NAME; + if (\func_num_args() < 1 && __CLASS__ !== \get_class($this) && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface) { + @trigger_error(sprintf('The "%s()" method will have a new "bool $useNaturalSort = false" argument in version 5.0, not defining it is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + } + $useNaturalSort = 0 < \func_num_args() && func_get_arg(0); + + $this->sort = $useNaturalSort ? Iterator\SortableIterator::SORT_BY_NAME_NATURAL : Iterator\SortableIterator::SORT_BY_NAME; return $this; } @@ -442,6 +464,18 @@ class Finder implements \IteratorAggregate, \Countable return $this; } + /** + * Reverses the sorting. + * + * @return $this + */ + public function reverseSorting() + { + $this->reverseSorting = true; + + return $this; + } + /** * Sorts files and directories by the last inode changed time. * @@ -589,7 +623,7 @@ class Finder implements \IteratorAggregate, \Countable * * The set can be another Finder, an Iterator, an IteratorAggregate, or even a plain array. * - * @param mixed $iterator + * @param iterable $iterator * * @return $this * @@ -716,8 +750,8 @@ class Finder implements \IteratorAggregate, \Countable $iterator = new Iterator\PathFilterIterator($iterator, $this->paths, $this->notPaths); } - if ($this->sort) { - $iteratorAggregate = new Iterator\SortableIterator($iterator, $this->sort); + if ($this->sort || $this->reverseSorting) { + $iteratorAggregate = new Iterator\SortableIterator($iterator, $this->sort, $this->reverseSorting); $iterator = $iteratorAggregate->getIterator(); } @@ -727,12 +761,20 @@ class Finder implements \IteratorAggregate, \Countable /** * Normalizes given directory names by removing trailing slashes. * + * Excluding: (s)ftp:// wrapper + * * @param string $dir * * @return string */ private function normalizeDir($dir) { - return rtrim($dir, '/'.\DIRECTORY_SEPARATOR); + $dir = rtrim($dir, '/'.\DIRECTORY_SEPARATOR); + + if (preg_match('#^s?ftp://#', $dir)) { + $dir .= '/'; + } + + return $dir; } } diff --git a/vendor/symfony/finder/Glob.php b/vendor/symfony/finder/Glob.php index d8df62bfe..27d9ce3d1 100644 --- a/vendor/symfony/finder/Glob.php +++ b/vendor/symfony/finder/Glob.php @@ -14,14 +14,14 @@ namespace Symfony\Component\Finder; /** * Glob matches globbing patterns against text. * - * if match_glob("foo.*", "foo.bar") echo "matched\n"; + * if match_glob("foo.*", "foo.bar") echo "matched\n"; * - * // prints foo.bar and foo.baz - * $regex = glob_to_regex("foo.*"); - * for (array('foo.bar', 'foo.baz', 'foo', 'bar') as $t) - * { - * if (/$regex/) echo "matched: $car\n"; - * } + * // prints foo.bar and foo.baz + * $regex = glob_to_regex("foo.*"); + * for (array('foo.bar', 'foo.baz', 'foo', 'bar') as $t) + * { + * if (/$regex/) echo "matched: $car\n"; + * } * * Glob implements glob(3) style matching that can be used to match * against text, rather than fetching names from a filesystem. diff --git a/vendor/symfony/finder/Iterator/SortableIterator.php b/vendor/symfony/finder/Iterator/SortableIterator.php index 53f8e31c6..41a8bd153 100644 --- a/vendor/symfony/finder/Iterator/SortableIterator.php +++ b/vendor/symfony/finder/Iterator/SortableIterator.php @@ -18,11 +18,13 @@ namespace Symfony\Component\Finder\Iterator; */ class SortableIterator implements \IteratorAggregate { + const SORT_BY_NONE = 0; const SORT_BY_NAME = 1; const SORT_BY_TYPE = 2; const SORT_BY_ACCESSED_TIME = 3; const SORT_BY_CHANGED_TIME = 4; const SORT_BY_MODIFIED_TIME = 5; + const SORT_BY_NAME_NATURAL = 6; private $iterator; private $sort; @@ -33,38 +35,45 @@ class SortableIterator implements \IteratorAggregate * * @throws \InvalidArgumentException */ - public function __construct(\Traversable $iterator, $sort) + public function __construct(\Traversable $iterator, $sort, bool $reverseOrder = false) { $this->iterator = $iterator; + $order = $reverseOrder ? -1 : 1; if (self::SORT_BY_NAME === $sort) { - $this->sort = function ($a, $b) { - return strcmp($a->getRealpath() ?: $a->getPathname(), $b->getRealpath() ?: $b->getPathname()); + $this->sort = function ($a, $b) use ($order) { + return $order * strcmp($a->getRealpath() ?: $a->getPathname(), $b->getRealpath() ?: $b->getPathname()); + }; + } elseif (self::SORT_BY_NAME_NATURAL === $sort) { + $this->sort = function ($a, $b) use ($order) { + return $order * strnatcmp($a->getRealPath() ?: $a->getPathname(), $b->getRealPath() ?: $b->getPathname()); }; } elseif (self::SORT_BY_TYPE === $sort) { - $this->sort = function ($a, $b) { + $this->sort = function ($a, $b) use ($order) { if ($a->isDir() && $b->isFile()) { - return -1; + return -$order; } elseif ($a->isFile() && $b->isDir()) { - return 1; + return $order; } - return strcmp($a->getRealpath() ?: $a->getPathname(), $b->getRealpath() ?: $b->getPathname()); + return $order * strcmp($a->getRealpath() ?: $a->getPathname(), $b->getRealpath() ?: $b->getPathname()); }; } elseif (self::SORT_BY_ACCESSED_TIME === $sort) { - $this->sort = function ($a, $b) { - return $a->getATime() - $b->getATime(); + $this->sort = function ($a, $b) use ($order) { + return $order * ($a->getATime() - $b->getATime()); }; } elseif (self::SORT_BY_CHANGED_TIME === $sort) { - $this->sort = function ($a, $b) { - return $a->getCTime() - $b->getCTime(); + $this->sort = function ($a, $b) use ($order) { + return $order * ($a->getCTime() - $b->getCTime()); }; } elseif (self::SORT_BY_MODIFIED_TIME === $sort) { - $this->sort = function ($a, $b) { - return $a->getMTime() - $b->getMTime(); + $this->sort = function ($a, $b) use ($order) { + return $order * ($a->getMTime() - $b->getMTime()); }; + } elseif (self::SORT_BY_NONE === $sort) { + $this->sort = $order; } elseif (\is_callable($sort)) { - $this->sort = $sort; + $this->sort = $reverseOrder ? function ($a, $b) use ($sort) { return -\call_user_func($sort, $a, $b); } : $sort; } else { throw new \InvalidArgumentException('The SortableIterator takes a PHP callable or a valid built-in sort algorithm as an argument.'); } @@ -72,8 +81,17 @@ class SortableIterator implements \IteratorAggregate public function getIterator() { + if (1 === $this->sort) { + return $this->iterator; + } + $array = iterator_to_array($this->iterator, true); - uasort($array, $this->sort); + + if (-1 === $this->sort) { + $array = array_reverse($array); + } else { + uasort($array, $this->sort); + } return new \ArrayIterator($array); } diff --git a/vendor/symfony/finder/Tests/FinderTest.php b/vendor/symfony/finder/Tests/FinderTest.php index fbdcc36e6..74c11cea1 100644 --- a/vendor/symfony/finder/Tests/FinderTest.php +++ b/vendor/symfony/finder/Tests/FinderTest.php @@ -24,33 +24,70 @@ class FinderTest extends Iterator\RealIteratorTestCase { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->directories()); - $this->assertIterator($this->toAbsolute(array('foo', 'toto')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo', 'qux', 'toto')), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->directories(); $finder->files(); $finder->directories(); - $this->assertIterator($this->toAbsolute(array('foo', 'toto')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo', 'qux', 'toto')), $finder->in(self::$tmpDir)->getIterator()); } public function testFiles() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->files()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'test.py', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', + 'test.php', + 'test.py', + 'foo bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->files(); $finder->directories(); $finder->files(); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'test.py', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', + 'test.php', + 'test.py', + 'foo bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testRemoveTrailingSlash() { $finder = $this->buildFinder(); - $expected = $this->toAbsolute(array('foo/bar.tmp', 'test.php', 'test.py', 'foo bar')); + $expected = $this->toAbsolute(array( + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'foo bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )); $in = self::$tmpDir.'//'; $this->assertIterator($expected, $finder->in($in)->files()->getIterator()); @@ -89,26 +126,73 @@ class FinderTest extends Iterator\RealIteratorTestCase { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->depth('< 1')); - $this->assertIterator($this->toAbsolute(array('foo', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo', + 'test.php', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $this->assertSame($finder, $finder->depth('<= 0')); - $this->assertIterator($this->toAbsolute(array('foo', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo', + 'test.php', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $this->assertSame($finder, $finder->depth('>= 1')); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo/bar.tmp', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->depth('< 1')->depth('>= 1'); $this->assertIterator(array(), $finder->in(self::$tmpDir)->getIterator()); } + public function testDepthWithArrayParam() + { + $finder = $this->buildFinder(); + $finder->depth(array('>= 1', '< 2')); + $this->assertIterator($this->toAbsolute(array( + 'foo/bar.tmp', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + )), $finder->in(self::$tmpDir)->getIterator()); + } + public function testName() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->name('*.php')); - $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'test.php', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->name('test.ph*'); @@ -121,23 +205,53 @@ class FinderTest extends Iterator\RealIteratorTestCase $finder = $this->buildFinder(); $finder->name('~\\.php$~i'); - $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'test.php', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->name('test.p{hp,y}'); $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); } + public function testNameWithArrayParam() + { + $finder = $this->buildFinder(); + $finder->name(array('test.php', 'test.py')); + $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); + } + public function testNotName() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->notName('*.php')); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->notName('*.php'); $finder->notName('*.py'); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'toto', + 'foo bar', + 'qux', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->name('test.ph*'); @@ -153,6 +267,19 @@ class FinderTest extends Iterator\RealIteratorTestCase $this->assertIterator(array(), $finder->in(self::$tmpDir)->getIterator()); } + public function testNotNameWithArrayParam() + { + $finder = $this->buildFinder(); + $finder->notName(array('*.php', '*.py')); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'toto', + 'foo bar', + 'qux', + )), $finder->in(self::$tmpDir)->getIterator()); + } + /** * @dataProvider getRegexNameTestData */ @@ -160,7 +287,10 @@ class FinderTest extends Iterator\RealIteratorTestCase { $finder = $this->buildFinder(); $finder->name($regex); - $this->assertIterator($this->toAbsolute(array('test.py', 'test.php')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'test.py', + 'test.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSize() @@ -170,6 +300,13 @@ class FinderTest extends Iterator\RealIteratorTestCase $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); } + public function testSizeWithArrayParam() + { + $finder = $this->buildFinder(); + $this->assertSame($finder, $finder->files()->size(array('< 1K', '> 500'))); + $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); + } + public function testDate() { $finder = $this->buildFinder(); @@ -177,83 +314,391 @@ class FinderTest extends Iterator\RealIteratorTestCase $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php')), $finder->in(self::$tmpDir)->getIterator()); } + public function testDateWithArrayParam() + { + $finder = $this->buildFinder(); + $this->assertSame($finder, $finder->files()->date(array('>= 2005-10-15', 'until last month'))); + $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php')), $finder->in(self::$tmpDir)->getIterator()); + } + public function testExclude() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->exclude('foo')); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'test.php', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testIgnoreVCS() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->ignoreVCS(false)->ignoreDotFiles(false)); - $this->assertIterator($this->toAbsolute(array('.git', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'toto/.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + '.git', + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->ignoreVCS(false)->ignoreVCS(false)->ignoreDotFiles(false); - $this->assertIterator($this->toAbsolute(array('.git', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'toto/.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + '.git', + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $this->assertSame($finder, $finder->ignoreVCS(true)->ignoreDotFiles(false)); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testIgnoreDotFiles() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->ignoreDotFiles(false)->ignoreVCS(false)); - $this->assertIterator($this->toAbsolute(array('.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'toto/.git', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + '.git', + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $finder->ignoreDotFiles(false)->ignoreDotFiles(false)->ignoreVCS(false); - $this->assertIterator($this->toAbsolute(array('.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'toto/.git', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + '.git', + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); $finder = $this->buildFinder(); $this->assertSame($finder, $finder->ignoreDotFiles(true)->ignoreVCS(false)); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSortByName() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sortByName()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'foo/bar.tmp', 'test.php', 'test.py', 'toto')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo bar', + 'foo/bar.tmp', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + 'test.php', + 'test.py', + 'toto', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSortByType() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sortByType()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'toto', 'foo/bar.tmp', 'test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo bar', + 'toto', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSortByAccessedTime() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sortByAccessedTime()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'toto', 'test.py', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo/bar.tmp', + 'test.php', + 'toto', + 'test.py', + 'foo', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSortByChangedTime() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sortByChangedTime()); - $this->assertIterator($this->toAbsolute(array('toto', 'test.py', 'test.php', 'foo/bar.tmp', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'toto', + 'test.py', + 'test.php', + 'foo/bar.tmp', + 'foo', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSortByModifiedTime() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sortByModifiedTime()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'toto', 'test.py', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo/bar.tmp', + 'test.php', + 'toto', + 'test.py', + 'foo', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); + } + + public function testReverseSorting() + { + $finder = $this->buildFinder(); + $this->assertSame($finder, $finder->sortByName()); + $this->assertSame($finder, $finder->reverseSorting()); + $this->assertOrderedIteratorInForeach($this->toAbsolute(array( + 'toto', + 'test.py', + 'test.php', + 'qux_2_0.php', + 'qux_12_0.php', + 'qux_10_2.php', + 'qux_1002_0.php', + 'qux_1000_1.php', + 'qux_0_1.php', + 'qux/baz_1_2.py', + 'qux/baz_100_1.py', + 'qux', + 'foo/bar.tmp', + 'foo bar', + 'foo', + )), $finder->in(self::$tmpDir)->getIterator()); + } + + public function testSortByNameNatural() + { + $finder = $this->buildFinder(); + $this->assertSame($finder, $finder->sortByName(true)); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo bar', + 'foo/bar.tmp', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + 'test.php', + 'test.py', + 'toto', + )), $finder->in(self::$tmpDir)->getIterator()); + + $finder = $this->buildFinder(); + $this->assertSame($finder, $finder->sortByName(false)); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo bar', + 'foo/bar.tmp', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + 'test.php', + 'test.py', + 'toto', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testSort() { $finder = $this->buildFinder(); $this->assertSame($finder, $finder->sort(function (\SplFileInfo $a, \SplFileInfo $b) { return strcmp($a->getRealPath(), $b->getRealPath()); })); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'foo/bar.tmp', 'test.php', 'test.py', 'toto')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo bar', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testFilter() @@ -271,7 +716,23 @@ class FinderTest extends Iterator\RealIteratorTestCase $finder = $this->buildFinder(); $this->assertSame($finder, $finder->followLinks()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo', + 'foo/bar.tmp', + 'test.php', + 'test.py', + 'toto', + 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + )), $finder->in(self::$tmpDir)->getIterator()); } public function testIn() @@ -283,6 +744,12 @@ class FinderTest extends Iterator\RealIteratorTestCase self::$tmpDir.\DIRECTORY_SEPARATOR.'test.php', __DIR__.\DIRECTORY_SEPARATOR.'FinderTest.php', __DIR__.\DIRECTORY_SEPARATOR.'GlobTest.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_0_1.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_1000_1.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_1002_0.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_10_2.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_12_0.php', + self::$tmpDir.\DIRECTORY_SEPARATOR.'qux_2_0.php', ); $this->assertIterator($expected, $iterator); @@ -339,7 +806,7 @@ class FinderTest extends Iterator\RealIteratorTestCase $dirs[] = (string) $dir; } - $expected = $this->toAbsolute(array('foo', 'toto')); + $expected = $this->toAbsolute(array('foo', 'qux', 'toto')); sort($dirs); sort($expected); @@ -347,7 +814,7 @@ class FinderTest extends Iterator\RealIteratorTestCase $this->assertEquals($expected, $dirs, 'implements the \IteratorAggregate interface'); $finder = $this->buildFinder(); - $this->assertEquals(2, iterator_count($finder->directories()->in(self::$tmpDir)), 'implements the \IteratorAggregate interface'); + $this->assertEquals(3, iterator_count($finder->directories()->in(self::$tmpDir)), 'implements the \IteratorAggregate interface'); $finder = $this->buildFinder(); $a = iterator_to_array($finder->directories()->in(self::$tmpDir)); @@ -366,7 +833,7 @@ class FinderTest extends Iterator\RealIteratorTestCase $paths[] = $file->getRelativePath(); } - $ref = array('', '', '', '', 'foo', ''); + $ref = array('', '', '', '', '', '', '', '', '', '', '', 'foo', 'qux', 'qux', ''); sort($ref); sort($paths); @@ -384,7 +851,23 @@ class FinderTest extends Iterator\RealIteratorTestCase $paths[] = $file->getRelativePathname(); } - $ref = array('test.php', 'toto', 'test.py', 'foo', 'foo'.\DIRECTORY_SEPARATOR.'bar.tmp', 'foo bar'); + $ref = array( + 'test.php', + 'toto', + 'test.py', + 'foo', + 'foo'.\DIRECTORY_SEPARATOR.'bar.tmp', + 'foo bar', + 'qux', + 'qux'.\DIRECTORY_SEPARATOR.'baz_100_1.py', + 'qux'.\DIRECTORY_SEPARATOR.'baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + ); sort($paths); sort($ref); @@ -402,7 +885,7 @@ class FinderTest extends Iterator\RealIteratorTestCase $finder = $finder->append($finder1); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'toto')), $finder->getIterator()); + $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'qux', 'toto')), $finder->getIterator()); } public function testAppendWithAnArray() @@ -595,13 +1078,15 @@ class FinderTest extends Iterator\RealIteratorTestCase array('lorem', 'foobar', array('lorem.txt')), array('', 'lorem', array('dolor.txt', 'ipsum.txt')), array('ipsum dolor sit amet', '/^IPSUM/m', array('lorem.txt')), + array(array('lorem', 'dolor'), array(), array('lorem.txt', 'ipsum.txt', 'dolor.txt')), + array('', array('lorem', 'ipsum'), array('dolor.txt')), ); } public function getRegexNameTestData() { return array( - array('~.+\\.p.+~i'), + array('~.*t\\.p.+~i'), array('~t.*s~i'), ); } @@ -661,6 +1146,33 @@ class FinderTest extends Iterator\RealIteratorTestCase 'with space'.\DIRECTORY_SEPARATOR.'foo.txt', ), ), + array( + '/^A/', + array('a.dat', 'abc.dat'), + array( + 'A', + 'A'.\DIRECTORY_SEPARATOR.'B', + 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C', + 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat', + ), + ), + array( + array('/^A/', 'one'), + 'foobar', + array( + 'A', + 'A'.\DIRECTORY_SEPARATOR.'B', + 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C', + 'A'.\DIRECTORY_SEPARATOR.'a.dat', + 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'ab.dat', + 'A'.\DIRECTORY_SEPARATOR.'B'.\DIRECTORY_SEPARATOR.'C'.\DIRECTORY_SEPARATOR.'abc.dat', + 'one', + 'one'.\DIRECTORY_SEPARATOR.'a', + 'one'.\DIRECTORY_SEPARATOR.'b', + 'one'.\DIRECTORY_SEPARATOR.'b'.\DIRECTORY_SEPARATOR.'c.neon', + 'one'.\DIRECTORY_SEPARATOR.'b'.\DIRECTORY_SEPARATOR.'d.neon', + ), + ), ); } @@ -718,7 +1230,20 @@ class FinderTest extends Iterator\RealIteratorTestCase chmod($testDir, 0333); if (false === ($couldRead = is_readable($testDir))) { - $this->assertIterator($this->toAbsolute(array('foo bar', 'test.php', 'test.py')), $finder->getIterator()); + $this->assertIterator($this->toAbsolute(array( + 'foo bar', + 'test.php', + 'test.py', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + ) + ), $finder->getIterator()); } // restore original permissions @@ -730,8 +1255,26 @@ class FinderTest extends Iterator\RealIteratorTestCase } } + /** + * @group legacy + * @expectedDeprecation The "Symfony\Component\Finder\Finder::sortByName()" method will have a new "bool $useNaturalSort = false" argument in version 5.0, not defining it is deprecated since Symfony 4.2. + */ + public function testInheritedClassCallSortByNameWithNoArguments() + { + $finderChild = new ClassThatInheritFinder(); + $finderChild->sortByName(); + } + protected function buildFinder() { return Finder::create(); } } + +class ClassThatInheritFinder extends Finder +{ + public function sortByName() + { + parent::sortByName(); + } +} diff --git a/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php index 3226f706c..ade1a41a0 100644 --- a/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php @@ -45,6 +45,15 @@ class DateRangeFilterIteratorTest extends RealIteratorTestCase '.foo/.bar', 'foo bar', '.foo/bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $since2MonthsAgo = array( @@ -58,6 +67,15 @@ class DateRangeFilterIteratorTest extends RealIteratorTestCase '.foo/.bar', 'foo bar', '.foo/bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $untilLastMonth = array( diff --git a/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php index 2e9014053..3a403cb95 100644 --- a/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php @@ -41,6 +41,13 @@ class DepthRangeFilterIteratorTest extends RealIteratorTestCase '.foo', '.bar', 'foo bar', + 'qux', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $lessThanOrEqualTo1 = array( @@ -56,6 +63,15 @@ class DepthRangeFilterIteratorTest extends RealIteratorTestCase '.bar', 'foo bar', '.foo/bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $graterThanOrEqualTo1 = array( @@ -63,6 +79,8 @@ class DepthRangeFilterIteratorTest extends RealIteratorTestCase 'foo/bar.tmp', '.foo/.bar', '.foo/bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', ); $equalTo1 = array( @@ -70,6 +88,8 @@ class DepthRangeFilterIteratorTest extends RealIteratorTestCase 'foo/bar.tmp', '.foo/.bar', '.foo/bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', ); return array( diff --git a/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php index fa192c31f..c977b0cfd 100644 --- a/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php @@ -41,6 +41,15 @@ class ExcludeDirectoryFilterIteratorTest extends RealIteratorTestCase 'toto', 'toto/.git', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $fo = array( @@ -56,6 +65,15 @@ class ExcludeDirectoryFilterIteratorTest extends RealIteratorTestCase 'toto', 'toto/.git', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $toto = array( @@ -69,6 +87,15 @@ class ExcludeDirectoryFilterIteratorTest extends RealIteratorTestCase 'foo/bar.tmp', 'test.php', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); return array( diff --git a/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php index 4350b00ca..0ecd8dfe7 100644 --- a/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php @@ -37,11 +37,20 @@ class FileTypeFilterIteratorTest extends RealIteratorTestCase '.foo/.bar', '.foo/bar', 'foo bar', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ); $onlyDirectories = array( '.git', 'foo', + 'qux', 'toto', 'toto/.git', '.foo', diff --git a/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php b/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php index 36e6528d0..a5ac93a46 100644 --- a/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php +++ b/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php @@ -29,12 +29,12 @@ class MockSplFileInfo extends \SplFileInfo parent::__construct($param); } elseif (\is_array($param)) { $defaults = array( - 'name' => 'file.txt', - 'contents' => null, - 'mode' => null, - 'type' => null, - 'relativePath' => null, - 'relativePathname' => null, + 'name' => 'file.txt', + 'contents' => null, + 'mode' => null, + 'type' => null, + 'relativePath' => null, + 'relativePathname' => null, ); $defaults = array_merge($defaults, $param); parent::__construct($defaults['name']); diff --git a/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php b/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php index b0223b782..9aa68ea20 100644 --- a/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php +++ b/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php @@ -33,6 +33,15 @@ abstract class RealIteratorTestCase extends IteratorTestCase 'toto/', 'toto/.git/', 'foo bar', + 'qux_0_1.php', + 'qux_2_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux/', + 'qux/baz_1_2.py', + 'qux/baz_100_1.py', ); self::$files = self::toAbsolute(self::$files); diff --git a/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php index 068fc7b0b..0ee463c6f 100644 --- a/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php @@ -34,6 +34,7 @@ class SizeRangeFilterIteratorTest extends RealIteratorTestCase '.foo', '.git', 'foo', + 'qux', 'test.php', 'toto', 'toto/.git', diff --git a/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php b/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php index a35a12b5b..33687c521 100644 --- a/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php +++ b/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php @@ -82,6 +82,15 @@ class SortableIteratorTest extends RealIteratorTestCase 'foo', 'foo bar', 'foo/bar.tmp', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', 'test.php', 'test.py', 'toto', @@ -92,6 +101,7 @@ class SortableIteratorTest extends RealIteratorTestCase '.foo', '.git', 'foo', + 'qux', 'toto', 'toto/.git', '.bar', @@ -99,25 +109,18 @@ class SortableIteratorTest extends RealIteratorTestCase '.foo/bar', 'foo bar', 'foo/bar.tmp', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', 'test.php', 'test.py', ); - $customComparison = array( - '.bar', - '.foo', - '.foo/.bar', - '.foo/bar', - '.git', - 'foo', - 'foo bar', - 'foo/bar.tmp', - 'test.php', - 'test.py', - 'toto', - 'toto/.git', - ); - $sortByAccessedTime = array( // For these two files the access time was set to 2005-10-15 array('foo/bar.tmp', 'test.php'), @@ -132,6 +135,15 @@ class SortableIteratorTest extends RealIteratorTestCase 'toto', 'toto/.git', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ), // This file was accessed after sleeping for 1 sec array('.bar'), @@ -149,6 +161,15 @@ class SortableIteratorTest extends RealIteratorTestCase 'toto', 'toto/.git', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ), array('test.php'), array('test.py'), @@ -166,17 +187,75 @@ class SortableIteratorTest extends RealIteratorTestCase 'toto', 'toto/.git', 'foo bar', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', ), array('test.php'), array('test.py'), ); + $sortByNameNatural = array( + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + '.git', + 'foo', + 'foo/bar.tmp', + 'foo bar', + 'qux', + 'qux/baz_1_2.py', + 'qux/baz_100_1.py', + 'qux_0_1.php', + 'qux_2_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + ); + + $customComparison = array( + '.bar', + '.foo', + '.foo/.bar', + '.foo/bar', + '.git', + 'foo', + 'foo bar', + 'foo/bar.tmp', + 'qux', + 'qux/baz_100_1.py', + 'qux/baz_1_2.py', + 'qux_0_1.php', + 'qux_1000_1.php', + 'qux_1002_0.php', + 'qux_10_2.php', + 'qux_12_0.php', + 'qux_2_0.php', + 'test.php', + 'test.py', + 'toto', + 'toto/.git', + ); + return array( array(SortableIterator::SORT_BY_NAME, $this->toAbsolute($sortByName)), array(SortableIterator::SORT_BY_TYPE, $this->toAbsolute($sortByType)), array(SortableIterator::SORT_BY_ACCESSED_TIME, $this->toAbsolute($sortByAccessedTime)), array(SortableIterator::SORT_BY_CHANGED_TIME, $this->toAbsolute($sortByChangedTime)), array(SortableIterator::SORT_BY_MODIFIED_TIME, $this->toAbsolute($sortByModifiedTime)), + array(SortableIterator::SORT_BY_NAME_NATURAL, $this->toAbsolute($sortByNameNatural)), array(function (\SplFileInfo $a, \SplFileInfo $b) { return strcmp($a->getRealPath(), $b->getRealPath()); }, $this->toAbsolute($customComparison)), ); } diff --git a/vendor/symfony/finder/composer.json b/vendor/symfony/finder/composer.json index dd37f2e0e..37d34a5e5 100644 --- a/vendor/symfony/finder/composer.json +++ b/vendor/symfony/finder/composer.json @@ -27,7 +27,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/finder/phpunit.xml.dist b/vendor/symfony/finder/phpunit.xml.dist index 0e1a8669b..078847af9 100644 --- a/vendor/symfony/finder/phpunit.xml.dist +++ b/vendor/symfony/finder/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/http-foundation/AcceptHeaderItem.php b/vendor/symfony/http-foundation/AcceptHeaderItem.php index 97f60c8a0..2aaf59579 100644 --- a/vendor/symfony/http-foundation/AcceptHeaderItem.php +++ b/vendor/symfony/http-foundation/AcceptHeaderItem.php @@ -49,7 +49,7 @@ class AcceptHeaderItem } /** - * Returns header value's string representation. + * Returns header value's string representation. * * @return string */ diff --git a/vendor/symfony/http-foundation/BinaryFileResponse.php b/vendor/symfony/http-foundation/BinaryFileResponse.php index 34a415fcb..07ef80050 100644 --- a/vendor/symfony/http-foundation/BinaryFileResponse.php +++ b/vendor/symfony/http-foundation/BinaryFileResponse.php @@ -40,7 +40,7 @@ class BinaryFileResponse extends Response * @param int $status The response status code * @param array $headers An array of response headers * @param bool $public Files are public by default - * @param null|string $contentDisposition The type of Content-Disposition to set automatically with the filename + * @param string|null $contentDisposition The type of Content-Disposition to set automatically with the filename * @param bool $autoEtag Whether the ETag header should be automatically set * @param bool $autoLastModified Whether the Last-Modified header should be automatically set */ @@ -60,7 +60,7 @@ class BinaryFileResponse extends Response * @param int $status The response status code * @param array $headers An array of response headers * @param bool $public Files are public by default - * @param null|string $contentDisposition The type of Content-Disposition to set automatically with the filename + * @param string|null $contentDisposition The type of Content-Disposition to set automatically with the filename * @param bool $autoEtag Whether the ETag header should be automatically set * @param bool $autoLastModified Whether the Last-Modified header should be automatically set * @@ -219,8 +219,8 @@ class BinaryFileResponse extends Response // Do X-Accel-Mapping substitutions. // @link http://wiki.nginx.org/X-accel#X-Accel-Redirect $parts = HeaderUtils::split($request->headers->get('X-Accel-Mapping', ''), ',='); - $mappings = HeaderUtils::combine($parts); - foreach ($mappings as $pathPrefix => $location) { + foreach ($parts as $part) { + list($pathPrefix, $location) = $part; if (substr($path, 0, \strlen($pathPrefix)) === $pathPrefix) { $path = $location.substr($path, \strlen($pathPrefix)); break; diff --git a/vendor/symfony/http-foundation/CHANGELOG.md b/vendor/symfony/http-foundation/CHANGELOG.md index 8d851c6be..55eed3f7e 100644 --- a/vendor/symfony/http-foundation/CHANGELOG.md +++ b/vendor/symfony/http-foundation/CHANGELOG.md @@ -1,6 +1,14 @@ CHANGELOG ========= +4.2.0 +----- + + * the default value of the "$secure" and "$samesite" arguments of Cookie's constructor + will respectively change from "false" to "null" and from "null" to "lax" in Symfony + 5.0, you should define their values explicitly or use "Cookie::create()" instead. + * added `matchPort()` in RequestMatcher + 4.1.3 ----- diff --git a/vendor/symfony/http-foundation/Cookie.php b/vendor/symfony/http-foundation/Cookie.php index 2332bb4db..7aab318cc 100644 --- a/vendor/symfony/http-foundation/Cookie.php +++ b/vendor/symfony/http-foundation/Cookie.php @@ -27,6 +27,7 @@ class Cookie protected $httpOnly; private $raw; private $sameSite; + private $secureDefault = false; const SAMESITE_LAX = 'lax'; const SAMESITE_STRICT = 'strict'; @@ -66,21 +67,30 @@ class Cookie return new static($name, $value, $data['expires'], $data['path'], $data['domain'], $data['secure'], $data['httponly'], $data['raw'], $data['samesite']); } + public static function create(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, bool $secure = null, bool $httpOnly = true, bool $raw = false, ?string $sameSite = self::SAMESITE_LAX): self + { + return new self($name, $value, $expire, $path, $domain, $secure, $httpOnly, $raw, $sameSite); + } + /** * @param string $name The name of the cookie * @param string|null $value The value of the cookie * @param int|string|\DateTimeInterface $expire The time the cookie expires * @param string $path The path on the server in which the cookie will be available on * @param string|null $domain The domain that the cookie is available to - * @param bool $secure Whether the cookie should only be transmitted over a secure HTTPS connection from the client + * @param bool|null $secure Whether the client should send back the cookie only over HTTPS or null to auto-enable this when the request is already using HTTPS * @param bool $httpOnly Whether the cookie will be made accessible only through the HTTP protocol * @param bool $raw Whether the cookie value should be sent with no url encoding * @param string|null $sameSite Whether the cookie will be available for cross-site requests * * @throws \InvalidArgumentException */ - public function __construct(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, bool $secure = false, bool $httpOnly = true, bool $raw = false, string $sameSite = null) + public function __construct(string $name, string $value = null, $expire = 0, ?string $path = '/', string $domain = null, ?bool $secure = false, bool $httpOnly = true, bool $raw = false, string $sameSite = null) { + if (9 > \func_num_args()) { + @trigger_error(sprintf('The default value of the "$secure" and "$samesite" arguments of "%s"\'s constructor will respectively change from "false" to "null" and from "null" to "lax" in Symfony 5.0, you should define their values explicitly or use "Cookie::create()" instead.', __METHOD__), E_USER_DEPRECATED); + } + // from PHP source code if (preg_match("/[=,; \t\r\n\013\014]/", $name)) { throw new \InvalidArgumentException(sprintf('The cookie name "%s" contains invalid characters.', $name)); @@ -110,7 +120,9 @@ class Cookie $this->httpOnly = $httpOnly; $this->raw = $raw; - if (null !== $sameSite) { + if ('' === $sameSite) { + $sameSite = null; + } elseif (null !== $sameSite) { $sameSite = strtolower($sameSite); } @@ -232,7 +244,7 @@ class Cookie */ public function isSecure() { - return $this->secure; + return $this->secure ?? $this->secureDefault; } /** @@ -274,4 +286,12 @@ class Cookie { return $this->sameSite; } + + /** + * @param bool $default The default value of the "secure" flag when it is set to null + */ + public function setSecureDefault(bool $default): void + { + $this->secureDefault = $default; + } } diff --git a/vendor/symfony/http-foundation/HeaderBag.php b/vendor/symfony/http-foundation/HeaderBag.php index 221ff61b3..e1a6ae297 100644 --- a/vendor/symfony/http-foundation/HeaderBag.php +++ b/vendor/symfony/http-foundation/HeaderBag.php @@ -206,7 +206,7 @@ class HeaderBag implements \IteratorAggregate, \Countable * @param string $key The parameter key * @param \DateTime $default The default value * - * @return null|\DateTime The parsed DateTime or the default value if the header does not exist + * @return \DateTime|null The parsed DateTime or the default value if the header does not exist * * @throws \RuntimeException When the HTTP header is not parseable */ diff --git a/vendor/symfony/http-foundation/HeaderUtils.php b/vendor/symfony/http-foundation/HeaderUtils.php index 3ee50b873..637bc5be4 100644 --- a/vendor/symfony/http-foundation/HeaderUtils.php +++ b/vendor/symfony/http-foundation/HeaderUtils.php @@ -18,6 +18,9 @@ namespace Symfony\Component\HttpFoundation; */ class HeaderUtils { + public const DISPOSITION_ATTACHMENT = 'attachment'; + public const DISPOSITION_INLINE = 'inline'; + /** * This class should not be instantiated. */ @@ -143,6 +146,54 @@ class HeaderUtils return preg_replace('/\\\\(.)|"/', '$1', $s); } + /** + * Generates a HTTP Content-Disposition field-value. + * + * @param string $disposition One of "inline" or "attachment" + * @param string $filename A unicode string + * @param string $filenameFallback A string containing only ASCII characters that + * is semantically equivalent to $filename. If the filename is already ASCII, + * it can be omitted, or just copied from $filename + * + * @return string A string suitable for use as a Content-Disposition field-value + * + * @throws \InvalidArgumentException + * + * @see RFC 6266 + */ + public static function makeDisposition(string $disposition, string $filename, string $filenameFallback = ''): string + { + if (!\in_array($disposition, array(self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE))) { + throw new \InvalidArgumentException(sprintf('The disposition must be either "%s" or "%s".', self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE)); + } + + if ('' === $filenameFallback) { + $filenameFallback = $filename; + } + + // filenameFallback is not ASCII. + if (!preg_match('/^[\x20-\x7e]*$/', $filenameFallback)) { + throw new \InvalidArgumentException('The filename fallback must only contain ASCII characters.'); + } + + // percent characters aren't safe in fallback. + if (false !== strpos($filenameFallback, '%')) { + throw new \InvalidArgumentException('The filename fallback cannot contain the "%" character.'); + } + + // path separators aren't allowed in either. + if (false !== strpos($filename, '/') || false !== strpos($filename, '\\') || false !== strpos($filenameFallback, '/') || false !== strpos($filenameFallback, '\\')) { + throw new \InvalidArgumentException('The filename and the fallback cannot contain the "/" and "\\" characters.'); + } + + $params = array('filename' => $filenameFallback); + if ($filename !== $filenameFallback) { + $params['filename*'] = "utf-8''".rawurlencode($filename); + } + + return $disposition.'; '.self::toString($params, ';'); + } + private static function groupParts(array $matches, string $separators): array { $separator = $separators[0]; diff --git a/vendor/symfony/http-foundation/ParameterBag.php b/vendor/symfony/http-foundation/ParameterBag.php index e3be0a9b8..19d7ee913 100644 --- a/vendor/symfony/http-foundation/ParameterBag.php +++ b/vendor/symfony/http-foundation/ParameterBag.php @@ -174,7 +174,7 @@ class ParameterBag implements \IteratorAggregate, \Countable * Returns the parameter value converted to boolean. * * @param string $key The parameter key - * @param mixed $default The default value if the parameter key does not exist + * @param bool $default The default value if the parameter key does not exist * * @return bool The filtered value */ diff --git a/vendor/symfony/http-foundation/Request.php b/vendor/symfony/http-foundation/Request.php index ab5241737..51940b8de 100644 --- a/vendor/symfony/http-foundation/Request.php +++ b/vendor/symfony/http-foundation/Request.php @@ -344,7 +344,7 @@ class Request if (isset($components['port'])) { $server['SERVER_PORT'] = $components['port']; - $server['HTTP_HOST'] = $server['HTTP_HOST'].':'.$components['port']; + $server['HTTP_HOST'] .= ':'.$components['port']; } if (isset($components['user'])) { @@ -545,10 +545,13 @@ class Request $requestOrder = ini_get('request_order') ?: ini_get('variables_order'); $requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp'; - $_REQUEST = array(); + $_REQUEST = array(array()); + foreach (str_split($requestOrder) as $order) { - $_REQUEST = array_merge($_REQUEST, $request[$order]); + $_REQUEST[] = $request[$order]; } + + $_REQUEST = array_merge(...$_REQUEST); } /** @@ -1059,7 +1062,7 @@ class Request } $sourceDirs = explode('/', isset($basePath[0]) && '/' === $basePath[0] ? substr($basePath, 1) : $basePath); - $targetDirs = explode('/', isset($path[0]) && '/' === $path[0] ? substr($path, 1) : $path); + $targetDirs = explode('/', substr($path, 1)); array_pop($sourceDirs); $targetFile = array_pop($targetDirs); @@ -1284,7 +1287,7 @@ class Request { $canonicalMimeType = null; if (false !== $pos = strpos($mimeType, ';')) { - $canonicalMimeType = substr($mimeType, 0, $pos); + $canonicalMimeType = trim(substr($mimeType, 0, $pos)); } if (null === static::$formats) { @@ -1325,7 +1328,7 @@ class Request * * _format request attribute * * $default * - * @param string $default The default format + * @param string|null $default The default format * * @return string The request format */ @@ -1448,7 +1451,7 @@ class Request * * @see https://tools.ietf.org/html/rfc7231#section-4.2.3 * - * @return bool + * @return bool True for GET and HEAD, false otherwise */ public function isMethodCacheable() { @@ -1695,10 +1698,16 @@ class Request $this->server->remove('IIS_WasUrlRewritten'); } elseif ($this->server->has('REQUEST_URI')) { $requestUri = $this->server->get('REQUEST_URI'); + // HTTP proxy reqs setup request URI with scheme and host [and port] + the URL path, only use URL path - $schemeAndHttpHost = $this->getSchemeAndHttpHost(); - if (0 === strpos($requestUri, $schemeAndHttpHost)) { - $requestUri = substr($requestUri, \strlen($schemeAndHttpHost)); + $uriComponents = parse_url($requestUri); + + if (isset($uriComponents['path'])) { + $requestUri = $uriComponents['path']; + } + + if (isset($uriComponents['query'])) { + $requestUri .= '?'.$uriComponents['query']; } } elseif ($this->server->has('ORIG_PATH_INFO')) { // IIS 5.0, PHP as CGI diff --git a/vendor/symfony/http-foundation/RequestMatcher.php b/vendor/symfony/http-foundation/RequestMatcher.php index 57fa48e40..ab9434f43 100644 --- a/vendor/symfony/http-foundation/RequestMatcher.php +++ b/vendor/symfony/http-foundation/RequestMatcher.php @@ -28,6 +28,11 @@ class RequestMatcher implements RequestMatcherInterface */ private $host; + /** + * @var int|null + */ + private $port; + /** * @var string[] */ @@ -56,13 +61,14 @@ class RequestMatcher implements RequestMatcherInterface * @param array $attributes * @param string|string[]|null $schemes */ - public function __construct(string $path = null, string $host = null, $methods = null, $ips = null, array $attributes = array(), $schemes = null) + public function __construct(string $path = null, string $host = null, $methods = null, $ips = null, array $attributes = array(), $schemes = null, int $port = null) { $this->matchPath($path); $this->matchHost($host); $this->matchMethod($methods); $this->matchIps($ips); $this->matchScheme($schemes); + $this->matchPort($port); foreach ($attributes as $k => $v) { $this->matchAttribute($k, $v); @@ -89,6 +95,16 @@ class RequestMatcher implements RequestMatcherInterface $this->host = $regexp; } + /** + * Adds a check for the the URL port. + * + * @param int|null $port The port number to connect to + */ + public function matchPort(int $port = null) + { + $this->port = $port; + } + /** * Adds a check for the URL path info. * @@ -167,6 +183,10 @@ class RequestMatcher implements RequestMatcherInterface return false; } + if (null !== $this->port && 0 < $this->port && $request->getPort() !== $this->port) { + return false; + } + if (IpUtils::checkIp($request->getClientIp(), $this->ips)) { return true; } diff --git a/vendor/symfony/http-foundation/Response.php b/vendor/symfony/http-foundation/Response.php index 7f6ae7cd7..7c9621260 100644 --- a/vendor/symfony/http-foundation/Response.php +++ b/vendor/symfony/http-foundation/Response.php @@ -313,6 +313,12 @@ class Response $this->ensureIEOverSSLCompatibility($request); + if ($request->isSecure()) { + foreach ($headers->getCookies() as $cookie) { + $cookie->setSecureDefault(true); + } + } + return $this; } @@ -330,8 +336,9 @@ class Response // headers foreach ($this->headers->allPreserveCaseWithoutCookies() as $name => $values) { + $replace = 0 === strcasecmp($name, 'Content-Type'); foreach ($values as $value) { - header($name.': '.$value, false, $this->statusCode); + header($name.': '.$value, $replace, $this->statusCode); } } @@ -933,7 +940,7 @@ class Response public function setCache(array $options) { if ($diff = array_diff(array_keys($options), array('etag', 'last_modified', 'max_age', 's_maxage', 'private', 'public', 'immutable'))) { - throw new \InvalidArgumentException(sprintf('Response does not support the following options: "%s".', implode('", "', array_values($diff)))); + throw new \InvalidArgumentException(sprintf('Response does not support the following options: "%s".', implode('", "', $diff))); } if (isset($options['etag'])) { diff --git a/vendor/symfony/http-foundation/ResponseHeaderBag.php b/vendor/symfony/http-foundation/ResponseHeaderBag.php index ed2e0cfb5..1141e8d98 100644 --- a/vendor/symfony/http-foundation/ResponseHeaderBag.php +++ b/vendor/symfony/http-foundation/ResponseHeaderBag.php @@ -247,55 +247,15 @@ class ResponseHeaderBag extends HeaderBag */ public function clearCookie($name, $path = '/', $domain = null, $secure = false, $httpOnly = true) { - $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly)); + $this->setCookie(new Cookie($name, null, 1, $path, $domain, $secure, $httpOnly, false, null)); } /** - * Generates a HTTP Content-Disposition field-value. - * - * @param string $disposition One of "inline" or "attachment" - * @param string $filename A unicode string - * @param string $filenameFallback A string containing only ASCII characters that - * is semantically equivalent to $filename. If the filename is already ASCII, - * it can be omitted, or just copied from $filename - * - * @return string A string suitable for use as a Content-Disposition field-value - * - * @throws \InvalidArgumentException - * - * @see RFC 6266 + * @see HeaderUtils::makeDisposition() */ public function makeDisposition($disposition, $filename, $filenameFallback = '') { - if (!\in_array($disposition, array(self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE))) { - throw new \InvalidArgumentException(sprintf('The disposition must be either "%s" or "%s".', self::DISPOSITION_ATTACHMENT, self::DISPOSITION_INLINE)); - } - - if ('' == $filenameFallback) { - $filenameFallback = $filename; - } - - // filenameFallback is not ASCII. - if (!preg_match('/^[\x20-\x7e]*$/', $filenameFallback)) { - throw new \InvalidArgumentException('The filename fallback must only contain ASCII characters.'); - } - - // percent characters aren't safe in fallback. - if (false !== strpos($filenameFallback, '%')) { - throw new \InvalidArgumentException('The filename fallback cannot contain the "%" character.'); - } - - // path separators aren't allowed in either. - if (false !== strpos($filename, '/') || false !== strpos($filename, '\\') || false !== strpos($filenameFallback, '/') || false !== strpos($filenameFallback, '\\')) { - throw new \InvalidArgumentException('The filename and the fallback cannot contain the "/" and "\\" characters.'); - } - - $params = array('filename' => $filenameFallback); - if ($filename !== $filenameFallback) { - $params['filename*'] = "utf-8''".rawurlencode($filename); - } - - return $disposition.'; '.HeaderUtils::toString($params, ';'); + return HeaderUtils::makeDisposition((string) $disposition, (string) $filename, (string) $filenameFallback); } /** diff --git a/vendor/symfony/http-foundation/Session/Session.php b/vendor/symfony/http-foundation/Session/Session.php index 8a33a9c3a..334990687 100644 --- a/vendor/symfony/http-foundation/Session/Session.php +++ b/vendor/symfony/http-foundation/Session/Session.php @@ -209,7 +209,9 @@ class Session implements SessionInterface, \IteratorAggregate, \Countable */ public function setId($id) { - $this->storage->setId($id); + if ($this->storage->getId() !== $id) { + $this->storage->setId($id); + } } /** diff --git a/vendor/symfony/http-foundation/Session/SessionUtils.php b/vendor/symfony/http-foundation/Session/SessionUtils.php new file mode 100644 index 000000000..91737c39a --- /dev/null +++ b/vendor/symfony/http-foundation/Session/SessionUtils.php @@ -0,0 +1,59 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpFoundation\Session; + +/** + * Session utility functions. + * + * @author Nicolas Grekas <p@tchwork.com> + * @author Rémon van de Kamp <rpkamp@gmail.com> + * + * @internal + */ +final class SessionUtils +{ + /** + * Finds the session header amongst the headers that are to be sent, removes it, and returns + * it so the caller can process it further. + */ + public static function popSessionCookie(string $sessionName, string $sessionId): ?string + { + $sessionCookie = null; + $sessionCookiePrefix = sprintf(' %s=', urlencode($sessionName)); + $sessionCookieWithId = sprintf('%s%s;', $sessionCookiePrefix, urlencode($sessionId)); + $otherCookies = array(); + foreach (headers_list() as $h) { + if (0 !== stripos($h, 'Set-Cookie:')) { + continue; + } + if (11 === strpos($h, $sessionCookiePrefix, 11)) { + $sessionCookie = $h; + + if (11 !== strpos($h, $sessionCookieWithId, 11)) { + $otherCookies[] = $h; + } + } else { + $otherCookies[] = $h; + } + } + if (null === $sessionCookie) { + return null; + } + + header_remove('Set-Cookie'); + foreach ($otherCookies as $h) { + header($h, false); + } + + return $sessionCookie; + } +} diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php index b1465716c..95f110332 100644 --- a/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php +++ b/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; +use Symfony\Component\HttpFoundation\Session\SessionUtils; + /** * This abstract session handler provides a generic implementation * of the PHP 7.0 SessionUpdateTimestampHandlerInterface, @@ -117,36 +119,20 @@ abstract class AbstractSessionHandler implements \SessionHandlerInterface, \Sess */ public function destroy($sessionId) { - if (!headers_sent() && ini_get('session.use_cookies')) { + if (!headers_sent() && filter_var(ini_get('session.use_cookies'), FILTER_VALIDATE_BOOLEAN)) { if (!$this->sessionName) { throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', \get_class($this))); } - $sessionCookie = sprintf(' %s=', urlencode($this->sessionName)); - $sessionCookieWithId = sprintf('%s%s;', $sessionCookie, urlencode($sessionId)); - $sessionCookieFound = false; - $otherCookies = array(); - foreach (headers_list() as $h) { - if (0 !== stripos($h, 'Set-Cookie:')) { - continue; - } - if (11 === strpos($h, $sessionCookie, 11)) { - $sessionCookieFound = true; - - if (11 !== strpos($h, $sessionCookieWithId, 11)) { - $otherCookies[] = $h; - } + $cookie = SessionUtils::popSessionCookie($this->sessionName, $sessionId); + if (null === $cookie) { + if (\PHP_VERSION_ID < 70300) { + setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), filter_var(ini_get('session.cookie_secure'), FILTER_VALIDATE_BOOLEAN), filter_var(ini_get('session.cookie_httponly'), FILTER_VALIDATE_BOOLEAN)); } else { - $otherCookies[] = $h; + $params = session_get_cookie_params(); + unset($params['lifetime']); + setcookie($this->sessionName, '', $params); } } - if ($sessionCookieFound) { - header_remove('Set-Cookie'); - foreach ($otherCookies as $h) { - header($h, false); - } - } else { - setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly')); - } } return $this->newSessionId === $sessionId || $this->doDestroy($sessionId); diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php index dd37eae14..61a7afd90 100644 --- a/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php +++ b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php @@ -50,9 +50,7 @@ class MemcachedSessionHandler extends AbstractSessionHandler $this->memcached = $memcached; if ($diff = array_diff(array_keys($options), array('prefix', 'expiretime'))) { - throw new \InvalidArgumentException(sprintf( - 'The following options are not supported "%s"', implode(', ', $diff) - )); + throw new \InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff))); } $this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400; diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php index d1e451671..1bb647ef4 100644 --- a/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php +++ b/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php @@ -71,7 +71,7 @@ class PdoSessionHandler extends AbstractSessionHandler private $pdo; /** - * @var string|null|false DSN string or null for session.save_path or false when lazy connection disabled + * @var string|false|null DSN string or null for session.save_path or false when lazy connection disabled */ private $dsn = false; @@ -637,7 +637,7 @@ class PdoSessionHandler extends AbstractSessionHandler throw new \RuntimeException('Failed to read session: INSERT reported a duplicate id but next SELECT did not return any data.'); } - if (!ini_get('session.use_strict_mode') && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) { + if (!filter_var(ini_get('session.use_strict_mode'), FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) { // In strict mode, session fixation is not possible: new sessions always start with a unique // random id, so that concurrency is not possible and this code path can be skipped. // Exclusive-reading of non-existent rows does not block, so we need to do an insert to block diff --git a/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php index 36adf2424..9c08ddcc0 100644 --- a/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php +++ b/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; use Predis\Response\ErrorInterface; +use Symfony\Component\Cache\Traits\RedisClusterProxy; use Symfony\Component\Cache\Traits\RedisProxy; /** @@ -45,7 +46,8 @@ class RedisSessionHandler extends AbstractSessionHandler !$redis instanceof \RedisArray && !$redis instanceof \RedisCluster && !$redis instanceof \Predis\Client && - !$redis instanceof RedisProxy + !$redis instanceof RedisProxy && + !$redis instanceof RedisClusterProxy ) { throw new \InvalidArgumentException(sprintf('%s() expects parameter 1 to be Redis, RedisArray, RedisCluster or Predis\Client, %s given', __METHOD__, \is_object($redis) ? \get_class($redis) : \gettype($redis))); } diff --git a/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php index bf54f19e3..156a0d455 100644 --- a/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php +++ b/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpFoundation\Session\Storage; use Symfony\Component\HttpFoundation\Session\SessionBagInterface; +use Symfony\Component\HttpFoundation\Session\SessionUtils; use Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler; use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy; use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy; @@ -48,6 +49,11 @@ class NativeSessionStorage implements SessionStorageInterface */ protected $metadataBag; + /** + * @var string|null + */ + private $emulateSameSite; + /** * Depending on how you want the storage driver to behave you probably * want to override this constructor entirely. @@ -67,6 +73,7 @@ class NativeSessionStorage implements SessionStorageInterface * cookie_lifetime, "0" * cookie_path, "/" * cookie_secure, "" + * cookie_samesite, null * gc_divisor, "100" * gc_maxlifetime, "1440" * gc_probability, "1" @@ -134,7 +141,7 @@ class NativeSessionStorage implements SessionStorageInterface throw new \RuntimeException('Failed to start the session: already started by PHP.'); } - if (ini_get('session.use_cookies') && headers_sent($file, $line)) { + if (filter_var(ini_get('session.use_cookies'), FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) { throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line)); } @@ -143,6 +150,13 @@ class NativeSessionStorage implements SessionStorageInterface throw new \RuntimeException('Failed to start the session'); } + if (null !== $this->emulateSameSite) { + $originalCookie = SessionUtils::popSessionCookie(session_name(), session_id()); + if (null !== $originalCookie) { + header(sprintf('%s; SameSite=%s', $originalCookie, $this->emulateSameSite)); + } + } + $this->loadSession(); return true; @@ -208,6 +222,13 @@ class NativeSessionStorage implements SessionStorageInterface // @see https://bugs.php.net/bug.php?id=70013 $this->loadSession(); + if (null !== $this->emulateSameSite) { + $originalCookie = SessionUtils::popSessionCookie(session_name(), session_id()); + if (null !== $originalCookie) { + header(sprintf('%s; SameSite=%s', $originalCookie, $this->emulateSameSite)); + } + } + return $isRegenerated; } @@ -227,29 +248,22 @@ class NativeSessionStorage implements SessionStorageInterface unset($_SESSION[$key]); } - // Register custom error handler to catch a possible failure warning during session write - set_error_handler(function ($errno, $errstr, $errfile, $errline) { - throw new \ErrorException($errstr, $errno, E_WARNING, $errfile, $errline); - }, E_WARNING); + // Register error handler to add information about the current save handler + $previousHandler = set_error_handler(function ($type, $msg, $file, $line) use (&$previousHandler) { + if (E_WARNING === $type && 0 === strpos($msg, 'session_write_close():')) { + $handler = $this->saveHandler instanceof SessionHandlerProxy ? $this->saveHandler->getHandler() : $this->saveHandler; + $msg = sprintf('session_write_close(): Failed to write session data with "%s" handler', \get_class($handler)); + } + + return $previousHandler ? $previousHandler($type, $msg, $file, $line) : false; + }); try { - $e = null; session_write_close(); - } catch (\ErrorException $e) { } finally { restore_error_handler(); $_SESSION = $session; } - if (null !== $e) { - // The default PHP error message is not very helpful, as it does not give any information on the current save handler. - // Therefore, we catch this error and trigger a warning with a better error message - $handler = $this->getSaveHandler(); - if ($handler instanceof SessionHandlerProxy) { - $handler = $handler->getHandler(); - } - - trigger_error(sprintf('session_write_close(): Failed to write session data with %s handler', \get_class($handler)), E_USER_WARNING); - } $this->closed = true; $this->started = false; @@ -347,7 +361,7 @@ class NativeSessionStorage implements SessionStorageInterface $validOptions = array_flip(array( 'cache_expire', 'cache_limiter', 'cookie_domain', 'cookie_httponly', - 'cookie_lifetime', 'cookie_path', 'cookie_secure', + 'cookie_lifetime', 'cookie_path', 'cookie_secure', 'cookie_samesite', 'gc_divisor', 'gc_maxlifetime', 'gc_probability', 'lazy_write', 'name', 'referer_check', 'serialize_handler', 'use_strict_mode', 'use_cookies', @@ -359,6 +373,12 @@ class NativeSessionStorage implements SessionStorageInterface foreach ($options as $key => $value) { if (isset($validOptions[$key])) { + if ('cookie_samesite' === $key && \PHP_VERSION_ID < 70300) { + // PHP < 7.3 does not support same_site cookies. We will emulate it in + // the start() method instead. + $this->emulateSameSite = $value; + continue; + } ini_set('url_rewriter.tags' !== $key ? 'session.'.$key : $key, $value); } } diff --git a/vendor/symfony/http-foundation/StreamedResponse.php b/vendor/symfony/http-foundation/StreamedResponse.php index 6dba703d2..06d053ead 100644 --- a/vendor/symfony/http-foundation/StreamedResponse.php +++ b/vendor/symfony/http-foundation/StreamedResponse.php @@ -17,7 +17,7 @@ namespace Symfony\Component\HttpFoundation; * A StreamedResponse uses a callback for its content. * * The callback should use the standard PHP functions like echo - * to stream the response back to the client. The flush() method + * to stream the response back to the client. The flush() function * can also be used if needed. * * @see flush() @@ -129,6 +129,8 @@ class StreamedResponse extends Response throw new \LogicException('The content cannot be set on a StreamedResponse instance.'); } + $this->streamed = true; + return $this; } @@ -141,16 +143,4 @@ class StreamedResponse extends Response { return false; } - - /** - * {@inheritdoc} - * - * @return $this - */ - public function setNotModified() - { - $this->setCallback(function () {}); - - return parent::setNotModified(); - } } diff --git a/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php b/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php index a3253d18e..6bf04e16b 100644 --- a/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php +++ b/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php @@ -337,7 +337,8 @@ class BinaryFileResponseTest extends ResponseTestCase { return array( array('/var/www/var/www/files/foo.txt', '/var/www/=/files/', '/files/var/www/files/foo.txt'), - array('/home/foo/bar.txt', '/var/www/=/files/,/home/foo/=/baz/', '/baz/bar.txt'), + array('/home/Foo/bar.txt', '/var/www/=/files/,/home/Foo/=/baz/', '/baz/bar.txt'), + array('/home/Foo/bar.txt', '"/var/www/"="/files/", "/home/Foo/"="/baz/"', '/baz/bar.txt'), ); } diff --git a/vendor/symfony/http-foundation/Tests/CookieTest.php b/vendor/symfony/http-foundation/Tests/CookieTest.php index 390d42a62..44981dff8 100644 --- a/vendor/symfony/http-foundation/Tests/CookieTest.php +++ b/vendor/symfony/http-foundation/Tests/CookieTest.php @@ -45,7 +45,7 @@ class CookieTest extends TestCase */ public function testInstantiationThrowsExceptionIfCookieNameContainsInvalidCharacters($name) { - new Cookie($name); + Cookie::create($name); } /** @@ -53,12 +53,12 @@ class CookieTest extends TestCase */ public function testInvalidExpiration() { - new Cookie('MyCookie', 'foo', 'bar'); + Cookie::create('MyCookie', 'foo', 'bar'); } public function testNegativeExpirationIsNotPossible() { - $cookie = new Cookie('foo', 'bar', -100); + $cookie = Cookie::create('foo', 'bar', -100); $this->assertSame(0, $cookie->getExpiresTime()); } @@ -66,32 +66,32 @@ class CookieTest extends TestCase public function testGetValue() { $value = 'MyValue'; - $cookie = new Cookie('MyCookie', $value); + $cookie = Cookie::create('MyCookie', $value); $this->assertSame($value, $cookie->getValue(), '->getValue() returns the proper value'); } public function testGetPath() { - $cookie = new Cookie('foo', 'bar'); + $cookie = Cookie::create('foo', 'bar'); $this->assertSame('/', $cookie->getPath(), '->getPath() returns / as the default path'); } public function testGetExpiresTime() { - $cookie = new Cookie('foo', 'bar'); + $cookie = Cookie::create('foo', 'bar'); $this->assertEquals(0, $cookie->getExpiresTime(), '->getExpiresTime() returns the default expire date'); - $cookie = new Cookie('foo', 'bar', $expire = time() + 3600); + $cookie = Cookie::create('foo', 'bar', $expire = time() + 3600); $this->assertEquals($expire, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date'); } public function testGetExpiresTimeIsCastToInt() { - $cookie = new Cookie('foo', 'bar', 3600.9); + $cookie = Cookie::create('foo', 'bar', 3600.9); $this->assertSame(3600, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date as an integer'); } @@ -99,7 +99,7 @@ class CookieTest extends TestCase public function testConstructorWithDateTime() { $expire = new \DateTime(); - $cookie = new Cookie('foo', 'bar', $expire); + $cookie = Cookie::create('foo', 'bar', $expire); $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date'); } @@ -107,7 +107,7 @@ class CookieTest extends TestCase public function testConstructorWithDateTimeImmutable() { $expire = new \DateTimeImmutable(); - $cookie = new Cookie('foo', 'bar', $expire); + $cookie = Cookie::create('foo', 'bar', $expire); $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date'); } @@ -115,7 +115,7 @@ class CookieTest extends TestCase public function testGetExpiresTimeWithStringValue() { $value = '+1 day'; - $cookie = new Cookie('foo', 'bar', $value); + $cookie = Cookie::create('foo', 'bar', $value); $expire = strtotime($value); $this->assertEquals($expire, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date', 1); @@ -123,99 +123,99 @@ class CookieTest extends TestCase public function testGetDomain() { - $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com'); + $cookie = Cookie::create('foo', 'bar', 0, '/', '.myfoodomain.com'); $this->assertEquals('.myfoodomain.com', $cookie->getDomain(), '->getDomain() returns the domain name on which the cookie is valid'); } public function testIsSecure() { - $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com', true); + $cookie = Cookie::create('foo', 'bar', 0, '/', '.myfoodomain.com', true); $this->assertTrue($cookie->isSecure(), '->isSecure() returns whether the cookie is transmitted over HTTPS'); } public function testIsHttpOnly() { - $cookie = new Cookie('foo', 'bar', 0, '/', '.myfoodomain.com', false, true); + $cookie = Cookie::create('foo', 'bar', 0, '/', '.myfoodomain.com', false, true); $this->assertTrue($cookie->isHttpOnly(), '->isHttpOnly() returns whether the cookie is only transmitted over HTTP'); } public function testCookieIsNotCleared() { - $cookie = new Cookie('foo', 'bar', time() + 3600 * 24); + $cookie = Cookie::create('foo', 'bar', time() + 3600 * 24); $this->assertFalse($cookie->isCleared(), '->isCleared() returns false if the cookie did not expire yet'); } public function testCookieIsCleared() { - $cookie = new Cookie('foo', 'bar', time() - 20); + $cookie = Cookie::create('foo', 'bar', time() - 20); $this->assertTrue($cookie->isCleared(), '->isCleared() returns true if the cookie has expired'); - $cookie = new Cookie('foo', 'bar'); + $cookie = Cookie::create('foo', 'bar'); $this->assertFalse($cookie->isCleared()); - $cookie = new Cookie('foo', 'bar', 0); + $cookie = Cookie::create('foo', 'bar'); $this->assertFalse($cookie->isCleared()); - $cookie = new Cookie('foo', 'bar', -1); + $cookie = Cookie::create('foo', 'bar', -1); $this->assertFalse($cookie->isCleared()); } public function testToString() { - $cookie = new Cookie('foo', 'bar', $expire = strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true); + $cookie = Cookie::create('foo', 'bar', $expire = strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, false, null); $this->assertEquals('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; Max-Age=0; path=/; domain=.myfoodomain.com; secure; httponly', (string) $cookie, '->__toString() returns string representation of the cookie'); - $cookie = new Cookie('foo', 'bar with white spaces', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true); + $cookie = Cookie::create('foo', 'bar with white spaces', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, false, null); $this->assertEquals('foo=bar%20with%20white%20spaces; expires=Fri, 20-May-2011 15:25:52 GMT; Max-Age=0; path=/; domain=.myfoodomain.com; secure; httponly', (string) $cookie, '->__toString() encodes the value of the cookie according to RFC 3986 (white space = %20)'); - $cookie = new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com'); + $cookie = Cookie::create('foo', null, 1, '/admin/', '.myfoodomain.com', false, true, false, null); $this->assertEquals('foo=deleted; expires='.gmdate('D, d-M-Y H:i:s T', $expire = time() - 31536001).'; Max-Age=0; path=/admin/; domain=.myfoodomain.com; httponly', (string) $cookie, '->__toString() returns string representation of a cleared cookie if value is NULL'); - $cookie = new Cookie('foo', 'bar', 0, '/', ''); - $this->assertEquals('foo=bar; path=/; httponly', (string) $cookie); + $cookie = Cookie::create('foo', 'bar'); + $this->assertEquals('foo=bar; path=/; httponly; samesite=lax', (string) $cookie); } public function testRawCookie() { - $cookie = new Cookie('foo', 'b a r', 0, '/', null, false, false); + $cookie = Cookie::create('foo', 'b a r', 0, '/', null, false, false, false, null); $this->assertFalse($cookie->isRaw()); $this->assertEquals('foo=b%20a%20r; path=/', (string) $cookie); - $cookie = new Cookie('foo', 'b+a+r', 0, '/', null, false, false, true); + $cookie = Cookie::create('foo', 'b+a+r', 0, '/', null, false, false, true, null); $this->assertTrue($cookie->isRaw()); $this->assertEquals('foo=b+a+r; path=/', (string) $cookie); } public function testGetMaxAge() { - $cookie = new Cookie('foo', 'bar'); + $cookie = Cookie::create('foo', 'bar'); $this->assertEquals(0, $cookie->getMaxAge()); - $cookie = new Cookie('foo', 'bar', $expire = time() + 100); + $cookie = Cookie::create('foo', 'bar', $expire = time() + 100); $this->assertEquals($expire - time(), $cookie->getMaxAge()); - $cookie = new Cookie('foo', 'bar', $expire = time() - 100); + $cookie = Cookie::create('foo', 'bar', $expire = time() - 100); $this->assertEquals(0, $cookie->getMaxAge()); } public function testFromString() { $cookie = Cookie::fromString('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; path=/; domain=.myfoodomain.com; secure; httponly'); - $this->assertEquals(new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, true), $cookie); + $this->assertEquals(Cookie::create('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true, true, true, null), $cookie); $cookie = Cookie::fromString('foo=bar', true); - $this->assertEquals(new Cookie('foo', 'bar', 0, '/', null, false, false), $cookie); + $this->assertEquals(Cookie::create('foo', 'bar', 0, '/', null, false, false, false, null), $cookie); $cookie = Cookie::fromString('foo', true); - $this->assertEquals(new Cookie('foo', null, 0, '/', null, false, false), $cookie); + $this->assertEquals(Cookie::create('foo', null, 0, '/', null, false, false, false, null), $cookie); } public function testFromStringWithHttpOnly() @@ -227,9 +227,27 @@ class CookieTest extends TestCase $this->assertFalse($cookie->isHttpOnly()); } - public function testSameSiteAttributeIsCaseInsensitive() + public function testSameSiteAttribute() { $cookie = new Cookie('foo', 'bar', 0, '/', null, false, true, false, 'Lax'); $this->assertEquals('lax', $cookie->getSameSite()); + + $cookie = new Cookie('foo', 'bar', 0, '/', null, false, true, false, ''); + $this->assertNull($cookie->getSameSite()); + } + + public function testSetSecureDefault() + { + $cookie = Cookie::create('foo', 'bar'); + + $this->assertFalse($cookie->isSecure()); + + $cookie->setSecureDefault(true); + + $this->assertTrue($cookie->isSecure()); + + $cookie->setSecureDefault(false); + + $this->assertFalse($cookie->isSecure()); } } diff --git a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/common.inc b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/common.inc index f9c40a9a3..0bdf9e4b7 100644 --- a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/common.inc +++ b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/common.inc @@ -22,7 +22,7 @@ error_reporting(-1); ini_set('html_errors', 0); ini_set('display_errors', 1); -if (ini_get('xdebug.default_enable')) { +if (filter_var(ini_get('xdebug.default_enable'), FILTER_VALIDATE_BOOLEAN)) { xdebug_disable(); } diff --git a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_max_age.php b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_max_age.php index 8775a5cce..e18ce5252 100644 --- a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_max_age.php +++ b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_max_age.php @@ -4,7 +4,7 @@ use Symfony\Component\HttpFoundation\Cookie; $r = require __DIR__.'/common.inc'; -$r->headers->setCookie(new Cookie('foo', 'bar', 253402310800, '', null, false, false)); +$r->headers->setCookie(new Cookie('foo', 'bar', 253402310800, '', null, false, false, false, null)); $r->sendHeaders(); setcookie('foo2', 'bar', 253402310800, '/'); diff --git a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_raw_urlencode.php b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_raw_urlencode.php index 2ca5b59f1..00c022d95 100644 --- a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_raw_urlencode.php +++ b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_raw_urlencode.php @@ -6,7 +6,7 @@ $r = require __DIR__.'/common.inc'; $str = '?*():@&+$/%#[]'; -$r->headers->setCookie(new Cookie($str, $str, 0, '/', null, false, false, true)); +$r->headers->setCookie(new Cookie($str, $str, 0, '/', null, false, false, true, null)); $r->sendHeaders(); setrawcookie($str, $str, 0, '/', null, false, false); diff --git a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_urlencode.php b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_urlencode.php index 05b9af30d..c0363b829 100644 --- a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_urlencode.php +++ b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/cookie_urlencode.php @@ -6,7 +6,7 @@ $r = require __DIR__.'/common.inc'; $str = '?*():@&+$/%#[]'; -$r->headers->setCookie(new Cookie($str, $str, 0, '', null, false, false)); +$r->headers->setCookie(new Cookie($str, $str, 0, '', null, false, false, false, null)); $r->sendHeaders(); setcookie($str, $str, 0, '/'); diff --git a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/invalid_cookie_name.php b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/invalid_cookie_name.php index 3fe157184..0afaaa8a5 100644 --- a/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/invalid_cookie_name.php +++ b/vendor/symfony/http-foundation/Tests/Fixtures/response-functional/invalid_cookie_name.php @@ -5,7 +5,7 @@ use Symfony\Component\HttpFoundation\Cookie; $r = require __DIR__.'/common.inc'; try { - $r->headers->setCookie(new Cookie('Hello + world', 'hodor')); + $r->headers->setCookie(Cookie::create('Hello + world', 'hodor')); } catch (\InvalidArgumentException $e) { echo $e->getMessage(); } diff --git a/vendor/symfony/http-foundation/Tests/HeaderUtilsTest.php b/vendor/symfony/http-foundation/Tests/HeaderUtilsTest.php index 2f5fdc21c..15efdf923 100644 --- a/vendor/symfony/http-foundation/Tests/HeaderUtilsTest.php +++ b/vendor/symfony/http-foundation/Tests/HeaderUtilsTest.php @@ -82,4 +82,53 @@ class HeaderUtilsTest extends TestCase $this->assertEquals('foo "bar"', HeaderUtils::unquote('"foo \"\b\a\r\""')); $this->assertEquals('foo \\ bar', HeaderUtils::unquote('"foo \\\\ bar"')); } + + /** + * @expectedException \InvalidArgumentException + */ + public function testMakeDispositionInvalidDisposition() + { + HeaderUtils::makeDisposition('invalid', 'foo.html'); + } + + /** + * @dataProvider provideMakeDisposition + */ + public function testMakeDisposition($disposition, $filename, $filenameFallback, $expected) + { + $this->assertEquals($expected, HeaderUtils::makeDisposition($disposition, $filename, $filenameFallback)); + } + + public function provideMakeDisposition() + { + return array( + array('attachment', 'foo.html', 'foo.html', 'attachment; filename=foo.html'), + array('attachment', 'foo.html', '', 'attachment; filename=foo.html'), + array('attachment', 'foo bar.html', '', 'attachment; filename="foo bar.html"'), + array('attachment', 'foo "bar".html', '', 'attachment; filename="foo \\"bar\\".html"'), + array('attachment', 'foo%20bar.html', 'foo bar.html', 'attachment; filename="foo bar.html"; filename*=utf-8\'\'foo%2520bar.html'), + array('attachment', 'föö.html', 'foo.html', 'attachment; filename=foo.html; filename*=utf-8\'\'f%C3%B6%C3%B6.html'), + ); + } + + /** + * @dataProvider provideMakeDispositionFail + * @expectedException \InvalidArgumentException + */ + public function testMakeDispositionFail($disposition, $filename) + { + HeaderUtils::makeDisposition($disposition, $filename); + } + + public function provideMakeDispositionFail() + { + return array( + array('attachment', 'foo%20bar.html'), + array('attachment', 'foo/bar.html'), + array('attachment', '/foo.html'), + array('attachment', 'foo\bar.html'), + array('attachment', '\foo.html'), + array('attachment', 'föö.html'), + ); + } } diff --git a/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php b/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php index 10d764a77..cc35ad637 100644 --- a/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php +++ b/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php @@ -78,6 +78,21 @@ class RequestMatcherTest extends TestCase $this->assertSame($isMatch, $matcher->matches($request)); } + public function testPort() + { + $matcher = new RequestMatcher(); + $request = Request::create('', 'get', array(), array(), array(), array('HTTP_HOST' => null, 'SERVER_PORT' => 8000)); + + $matcher->matchPort(8000); + $this->assertTrue($matcher->matches($request)); + + $matcher->matchPort(9000); + $this->assertFalse($matcher->matches($request)); + + $matcher = new RequestMatcher(null, null, null, null, array(), null, 8000); + $this->assertTrue($matcher->matches($request)); + } + public function getHostData() { return array( diff --git a/vendor/symfony/http-foundation/Tests/RequestTest.php b/vendor/symfony/http-foundation/Tests/RequestTest.php index 52392adde..0711c515f 100644 --- a/vendor/symfony/http-foundation/Tests/RequestTest.php +++ b/vendor/symfony/http-foundation/Tests/RequestTest.php @@ -232,6 +232,55 @@ class RequestTest extends TestCase $this->assertEquals(80, $request->getPort()); $this->assertEquals('test.com', $request->getHttpHost()); $this->assertFalse($request->isSecure()); + + // Fragment should not be included in the URI + $request = Request::create('http://test.com/foo#bar'); + $this->assertEquals('http://test.com/foo', $request->getUri()); + } + + public function testCreateWithRequestUri() + { + $request = Request::create('http://test.com:80/foo'); + $request->server->set('REQUEST_URI', 'http://test.com:80/foo'); + $this->assertEquals('http://test.com/foo', $request->getUri()); + $this->assertEquals('/foo', $request->getPathInfo()); + $this->assertEquals('test.com', $request->getHost()); + $this->assertEquals('test.com', $request->getHttpHost()); + $this->assertEquals(80, $request->getPort()); + $this->assertFalse($request->isSecure()); + + $request = Request::create('http://test.com:8080/foo'); + $request->server->set('REQUEST_URI', 'http://test.com:8080/foo'); + $this->assertEquals('http://test.com:8080/foo', $request->getUri()); + $this->assertEquals('/foo', $request->getPathInfo()); + $this->assertEquals('test.com', $request->getHost()); + $this->assertEquals('test.com:8080', $request->getHttpHost()); + $this->assertEquals(8080, $request->getPort()); + $this->assertFalse($request->isSecure()); + + $request = Request::create('http://test.com/foo?bar=foo', 'GET', array('bar' => 'baz')); + $request->server->set('REQUEST_URI', 'http://test.com/foo?bar=foo'); + $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri()); + $this->assertEquals('/foo', $request->getPathInfo()); + $this->assertEquals('bar=baz', $request->getQueryString()); + $this->assertEquals('test.com', $request->getHost()); + $this->assertEquals('test.com', $request->getHttpHost()); + $this->assertEquals(80, $request->getPort()); + $this->assertFalse($request->isSecure()); + + $request = Request::create('https://test.com:443/foo'); + $request->server->set('REQUEST_URI', 'https://test.com:443/foo'); + $this->assertEquals('https://test.com/foo', $request->getUri()); + $this->assertEquals('/foo', $request->getPathInfo()); + $this->assertEquals('test.com', $request->getHost()); + $this->assertEquals('test.com', $request->getHttpHost()); + $this->assertEquals(443, $request->getPort()); + $this->assertTrue($request->isSecure()); + + // Fragment should not be included in the URI + $request = Request::create('http://test.com/foo#bar'); + $request->server->set('REQUEST_URI', 'http://test.com/foo#bar'); + $this->assertEquals('http://test.com/foo', $request->getUri()); } public function testCreateCheckPrecedence() @@ -332,6 +381,9 @@ class RequestTest extends TestCase { $request = new Request(); $this->assertEquals('json', $request->getFormat('application/json; charset=utf-8')); + $this->assertEquals('json', $request->getFormat('application/json;charset=utf-8')); + $this->assertEquals('json', $request->getFormat('application/json ; charset=utf-8')); + $this->assertEquals('json', $request->getFormat('application/json ;charset=utf-8')); } /** diff --git a/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php b/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php index e987677d4..f6ddb98ea 100644 --- a/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php +++ b/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php @@ -110,9 +110,9 @@ class ResponseHeaderBagTest extends TestCase public function testToStringIncludesCookieHeaders() { $bag = new ResponseHeaderBag(array()); - $bag->setCookie(new Cookie('foo', 'bar')); + $bag->setCookie(Cookie::create('foo', 'bar')); - $this->assertSetCookieHeader('foo=bar; path=/; httponly', $bag); + $this->assertSetCookieHeader('foo=bar; path=/; httponly; samesite=lax', $bag); $bag->clearCookie('foo'); @@ -154,24 +154,24 @@ class ResponseHeaderBagTest extends TestCase public function testCookiesWithSameNames() { $bag = new ResponseHeaderBag(); - $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar')); - $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'foo.bar')); - $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'bar.foo')); - $bag->setCookie(new Cookie('foo', 'bar')); + $bag->setCookie(Cookie::create('foo', 'bar', 0, '/path/foo', 'foo.bar')); + $bag->setCookie(Cookie::create('foo', 'bar', 0, '/path/bar', 'foo.bar')); + $bag->setCookie(Cookie::create('foo', 'bar', 0, '/path/bar', 'bar.foo')); + $bag->setCookie(Cookie::create('foo', 'bar')); $this->assertCount(4, $bag->getCookies()); - $this->assertEquals('foo=bar; path=/path/foo; domain=foo.bar; httponly', $bag->get('set-cookie')); + $this->assertEquals('foo=bar; path=/path/foo; domain=foo.bar; httponly; samesite=lax', $bag->get('set-cookie')); $this->assertEquals(array( - 'foo=bar; path=/path/foo; domain=foo.bar; httponly', - 'foo=bar; path=/path/bar; domain=foo.bar; httponly', - 'foo=bar; path=/path/bar; domain=bar.foo; httponly', - 'foo=bar; path=/; httponly', + 'foo=bar; path=/path/foo; domain=foo.bar; httponly; samesite=lax', + 'foo=bar; path=/path/bar; domain=foo.bar; httponly; samesite=lax', + 'foo=bar; path=/path/bar; domain=bar.foo; httponly; samesite=lax', + 'foo=bar; path=/; httponly; samesite=lax', ), $bag->get('set-cookie', null, false)); - $this->assertSetCookieHeader('foo=bar; path=/path/foo; domain=foo.bar; httponly', $bag); - $this->assertSetCookieHeader('foo=bar; path=/path/bar; domain=foo.bar; httponly', $bag); - $this->assertSetCookieHeader('foo=bar; path=/path/bar; domain=bar.foo; httponly', $bag); - $this->assertSetCookieHeader('foo=bar; path=/; httponly', $bag); + $this->assertSetCookieHeader('foo=bar; path=/path/foo; domain=foo.bar; httponly; samesite=lax', $bag); + $this->assertSetCookieHeader('foo=bar; path=/path/bar; domain=foo.bar; httponly; samesite=lax', $bag); + $this->assertSetCookieHeader('foo=bar; path=/path/bar; domain=bar.foo; httponly; samesite=lax', $bag); + $this->assertSetCookieHeader('foo=bar; path=/; httponly; samesite=lax', $bag); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); @@ -186,8 +186,8 @@ class ResponseHeaderBagTest extends TestCase $bag = new ResponseHeaderBag(); $this->assertFalse($bag->has('set-cookie')); - $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar')); - $bag->setCookie(new Cookie('bar', 'foo', 0, '/path/bar', 'foo.bar')); + $bag->setCookie(Cookie::create('foo', 'bar', 0, '/path/foo', 'foo.bar')); + $bag->setCookie(Cookie::create('bar', 'foo', 0, '/path/bar', 'foo.bar')); $this->assertTrue($bag->has('set-cookie')); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); @@ -209,8 +209,8 @@ class ResponseHeaderBagTest extends TestCase public function testRemoveCookieWithNullRemove() { $bag = new ResponseHeaderBag(); - $bag->setCookie(new Cookie('foo', 'bar', 0)); - $bag->setCookie(new Cookie('bar', 'foo', 0)); + $bag->setCookie(Cookie::create('foo', 'bar')); + $bag->setCookie(Cookie::create('bar', 'foo')); $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY); $this->assertArrayHasKey('/', $cookies['']); @@ -228,12 +228,12 @@ class ResponseHeaderBagTest extends TestCase { $bag = new ResponseHeaderBag(); $bag->set('set-cookie', 'foo=bar'); - $this->assertEquals(array(new Cookie('foo', 'bar', 0, '/', null, false, false, true)), $bag->getCookies()); + $this->assertEquals(array(Cookie::create('foo', 'bar', 0, '/', null, false, false, true, null)), $bag->getCookies()); $bag->set('set-cookie', 'foo2=bar2', false); $this->assertEquals(array( - new Cookie('foo', 'bar', 0, '/', null, false, false, true), - new Cookie('foo2', 'bar2', 0, '/', null, false, false, true), + Cookie::create('foo', 'bar', 0, '/', null, false, false, true, null), + Cookie::create('foo2', 'bar2', 0, '/', null, false, false, true, null), ), $bag->getCookies()); $bag->remove('set-cookie'); @@ -250,26 +250,6 @@ class ResponseHeaderBagTest extends TestCase $bag->getCookies('invalid_argument'); } - /** - * @expectedException \InvalidArgumentException - */ - public function testMakeDispositionInvalidDisposition() - { - $headers = new ResponseHeaderBag(); - - $headers->makeDisposition('invalid', 'foo.html'); - } - - /** - * @dataProvider provideMakeDisposition - */ - public function testMakeDisposition($disposition, $filename, $filenameFallback, $expected) - { - $headers = new ResponseHeaderBag(); - - $this->assertEquals($expected, $headers->makeDisposition($disposition, $filename, $filenameFallback)); - } - public function testToStringDoesntMessUpHeaders() { $headers = new ResponseHeaderBag(); @@ -284,41 +264,6 @@ class ResponseHeaderBagTest extends TestCase $this->assertEquals(array('text/html'), $allHeaders['Content-type']); } - public function provideMakeDisposition() - { - return array( - array('attachment', 'foo.html', 'foo.html', 'attachment; filename=foo.html'), - array('attachment', 'foo.html', '', 'attachment; filename=foo.html'), - array('attachment', 'foo bar.html', '', 'attachment; filename="foo bar.html"'), - array('attachment', 'foo "bar".html', '', 'attachment; filename="foo \\"bar\\".html"'), - array('attachment', 'foo%20bar.html', 'foo bar.html', 'attachment; filename="foo bar.html"; filename*=utf-8\'\'foo%2520bar.html'), - array('attachment', 'föö.html', 'foo.html', 'attachment; filename=foo.html; filename*=utf-8\'\'f%C3%B6%C3%B6.html'), - ); - } - - /** - * @dataProvider provideMakeDispositionFail - * @expectedException \InvalidArgumentException - */ - public function testMakeDispositionFail($disposition, $filename) - { - $headers = new ResponseHeaderBag(); - - $headers->makeDisposition($disposition, $filename); - } - - public function provideMakeDispositionFail() - { - return array( - array('attachment', 'foo%20bar.html'), - array('attachment', 'foo/bar.html'), - array('attachment', '/foo.html'), - array('attachment', 'foo\bar.html'), - array('attachment', '\foo.html'), - array('attachment', 'föö.html'), - ); - } - public function testDateHeaderAddedOnCreation() { $now = time(); diff --git a/vendor/symfony/http-foundation/Tests/ResponseTest.php b/vendor/symfony/http-foundation/Tests/ResponseTest.php index f9b5ef4f2..03dcc11ab 100644 --- a/vendor/symfony/http-foundation/Tests/ResponseTest.php +++ b/vendor/symfony/http-foundation/Tests/ResponseTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpFoundation\Tests; +use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -573,6 +574,24 @@ class ResponseTest extends ResponseTestCase $this->assertFalse($response->headers->has('expires')); } + public function testPrepareSetsCookiesSecure() + { + $cookie = Cookie::create('foo', 'bar'); + + $response = new Response('foo'); + $response->headers->setCookie($cookie); + + $request = Request::create('/', 'GET'); + $response->prepare($request); + + $this->assertFalse($cookie->isSecure()); + + $request = Request::create('https://localhost/', 'GET'); + $response->prepare($request); + + $this->assertTrue($cookie->isSecure()); + } + public function testSetCache() { $response = new Response(); diff --git a/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php index 43644e23e..8c41e4751 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php @@ -45,7 +45,7 @@ class AttributeBagTest extends TestCase ), ), ); - $this->bag = new AttributeBag('_sf2'); + $this->bag = new AttributeBag('_sf'); $this->bag->initialize($this->array); } @@ -67,7 +67,7 @@ class AttributeBagTest extends TestCase public function testGetStorageKey() { - $this->assertEquals('_sf2', $this->bag->getStorageKey()); + $this->assertEquals('_sf', $this->bag->getStorageKey()); $attributeBag = new AttributeBag('test'); $this->assertEquals('test', $attributeBag->getStorageKey()); } diff --git a/vendor/symfony/http-foundation/Tests/Session/SessionTest.php b/vendor/symfony/http-foundation/Tests/Session/SessionTest.php index 37d722660..63351e575 100644 --- a/vendor/symfony/http-foundation/Tests/Session/SessionTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/SessionTest.php @@ -70,6 +70,27 @@ class SessionTest extends TestCase $this->assertEquals('0123456789abcdef', $this->session->getId()); } + public function testSetIdAfterStart() + { + $this->session->start(); + $id = $this->session->getId(); + + $e = null; + try { + $this->session->setId($id); + } catch (\Exception $e) { + } + + $this->assertNull($e); + + try { + $this->session->setId('different'); + } catch (\Exception $e) { + } + + $this->assertInstanceOf('\LogicException', $e); + } + public function testSetName() { $this->assertEquals('MOCKSESSID', $this->session->getName()); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.expected b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.expected new file mode 100644 index 000000000..d20fb88ec --- /dev/null +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.expected @@ -0,0 +1,16 @@ +open +validateId +read +doRead: +read + +write +doWrite: foo|s:3:"bar"; +close +Array +( + [0] => Content-Type: text/plain; charset=utf-8 + [1] => Cache-Control: max-age=0, private, must-revalidate + [2] => Set-Cookie: sid=random_session_id; path=/; secure; HttpOnly; SameSite=lax +) +shutdown diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.php new file mode 100644 index 000000000..2d32792a8 --- /dev/null +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite.php @@ -0,0 +1,13 @@ +<?php + +require __DIR__.'/common.inc'; + +use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; + +$storage = new NativeSessionStorage(array('cookie_samesite' => 'lax')); +$storage->setSaveHandler(new TestSessionHandler()); +$storage->start(); + +$_SESSION = array('foo' => 'bar'); + +ob_start(function ($buffer) { return str_replace(session_id(), 'random_session_id', $buffer); }); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.expected b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.expected new file mode 100644 index 000000000..8b5fc08bd --- /dev/null +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.expected @@ -0,0 +1,23 @@ +open +validateId +read +doRead: +read +destroy +close +open +validateId +read +doRead: +read + +write +doWrite: foo|s:3:"bar"; +close +Array +( + [0] => Content-Type: text/plain; charset=utf-8 + [1] => Cache-Control: max-age=0, private, must-revalidate + [2] => Set-Cookie: sid=random_session_id; path=/; secure; HttpOnly; SameSite=lax +) +shutdown diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.php new file mode 100644 index 000000000..e0ff64b95 --- /dev/null +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/Fixtures/with_samesite_and_migration.php @@ -0,0 +1,15 @@ +<?php + +require __DIR__.'/common.inc'; + +use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; + +$storage = new NativeSessionStorage(array('cookie_samesite' => 'lax')); +$storage->setSaveHandler(new TestSessionHandler()); +$storage->start(); + +$_SESSION = array('foo' => 'bar'); + +$storage->regenerate(true); + +ob_start(function ($buffer) { return preg_replace('~_sf2_meta.*$~m', '', str_replace(session_id(), 'random_session_id', $buffer)); }); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php index 55a3864a9..c585fd4f1 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php @@ -45,7 +45,7 @@ class MongoDbSessionHandlerTest extends TestCase 'data_field' => 'data', 'time_field' => 'time', 'expiry_field' => 'expires_at', - 'database' => 'sf2-test', + 'database' => 'sf-test', 'collection' => 'session-test', ); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php index e84781898..0a65eaa8e 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php @@ -33,7 +33,7 @@ class PdoSessionHandlerTest extends TestCase protected function getPersistentSqliteDsn() { - $this->dbFile = tempnam(sys_get_temp_dir(), 'sf2_sqlite_sessions'); + $this->dbFile = tempnam(sys_get_temp_dir(), 'sf_sqlite_sessions'); return 'sqlite:'.$this->dbFile; } @@ -153,7 +153,7 @@ class PdoSessionHandlerTest extends TestCase public function testReadLockedConvertsStreamToString() { - if (ini_get('session.use_strict_mode')) { + if (filter_var(ini_get('session.use_strict_mode'), FILTER_VALIDATE_BOOLEAN)) { $this->markTestSkipped('Strict mode needs no locking for new sessions.'); } diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php index 0c182e0b0..893e120ce 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php @@ -48,7 +48,7 @@ class MockArraySessionStorageTest extends TestCase $this->data = array( $this->attributes->getStorageKey() => array('foo' => 'bar'), $this->flashes->getStorageKey() => array('notice' => 'hello'), - ); + ); $this->storage = new MockArraySessionStorage(); $this->storage->registerBag($this->flashes); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php index 169579817..f8394d8ca 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php @@ -35,7 +35,7 @@ class MockFileSessionStorageTest extends TestCase protected function setUp() { - $this->sessionDir = sys_get_temp_dir().'/sf2test'; + $this->sessionDir = sys_get_temp_dir().'/sftest'; $this->storage = $this->getStorage(); } diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php index 52da2947c..8ce703b34 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php @@ -36,7 +36,7 @@ class NativeSessionStorageTest extends TestCase protected function setUp() { $this->iniSet('session.save_handler', 'files'); - $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sf2test'); + $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); if (!is_dir($this->savePath)) { mkdir($this->savePath); } @@ -171,6 +171,10 @@ class NativeSessionStorageTest extends TestCase 'cookie_httponly' => false, ); + if (\PHP_VERSION_ID >= 70300) { + $options['cookie_samesite'] = 'lax'; + } + $this->getStorage($options); $temp = session_get_cookie_params(); $gco = array(); diff --git a/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php index 303f36d34..a5a856146 100644 --- a/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php +++ b/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php @@ -32,7 +32,7 @@ class PhpBridgeSessionStorageTest extends TestCase protected function setUp() { $this->iniSet('session.save_handler', 'files'); - $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sf2test'); + $this->iniSet('session.save_path', $this->savePath = sys_get_temp_dir().'/sftest'); if (!is_dir($this->savePath)) { mkdir($this->savePath); } diff --git a/vendor/symfony/http-foundation/composer.json b/vendor/symfony/http-foundation/composer.json index ef4bf826e..76381a7c4 100644 --- a/vendor/symfony/http-foundation/composer.json +++ b/vendor/symfony/http-foundation/composer.json @@ -32,7 +32,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/http-foundation/phpunit.xml.dist b/vendor/symfony/http-foundation/phpunit.xml.dist index c1d61f8bf..f57bc9e62 100644 --- a/vendor/symfony/http-foundation/phpunit.xml.dist +++ b/vendor/symfony/http-foundation/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/http-kernel/Bundle/Bundle.php b/vendor/symfony/http-kernel/Bundle/Bundle.php index 23e093373..26dea9b20 100644 --- a/vendor/symfony/http-kernel/Bundle/Bundle.php +++ b/vendor/symfony/http-kernel/Bundle/Bundle.php @@ -33,23 +33,21 @@ abstract class Bundle implements BundleInterface private $namespace; /** - * Boots the Bundle. + * {@inheritdoc} */ public function boot() { } /** - * Shutdowns the Bundle. + * {@inheritdoc} */ public function shutdown() { } /** - * Builds the bundle. - * - * It is only ever called once when the cache is empty. + * {@inheritdoc} * * This method can be overridden to register compilation passes, * other extensions, ... @@ -80,10 +78,7 @@ abstract class Bundle implements BundleInterface $expectedAlias = Container::underscore($basename); if ($expectedAlias != $extension->getAlias()) { - throw new \LogicException(sprintf( - 'Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.', - $expectedAlias, $extension->getAlias() - )); + throw new \LogicException(sprintf('Users will expect the alias of the default extension of a bundle to be the underscored version of the bundle name ("%s"). You can override "Bundle::getContainerExtension()" if you want to use "%s" or another alias.', $expectedAlias, $extension->getAlias())); } $this->extension = $extension; @@ -98,9 +93,7 @@ abstract class Bundle implements BundleInterface } /** - * Gets the Bundle namespace. - * - * @return string The Bundle namespace + * {@inheritdoc} */ public function getNamespace() { @@ -112,9 +105,7 @@ abstract class Bundle implements BundleInterface } /** - * Gets the Bundle directory path. - * - * @return string The Bundle absolute path + * {@inheritdoc} */ public function getPath() { diff --git a/vendor/symfony/http-kernel/CHANGELOG.md b/vendor/symfony/http-kernel/CHANGELOG.md index c98d2235e..b96b4aefa 100644 --- a/vendor/symfony/http-kernel/CHANGELOG.md +++ b/vendor/symfony/http-kernel/CHANGELOG.md @@ -1,12 +1,21 @@ CHANGELOG ========= +4.2.0 +----- + + * deprecated `KernelInterface::getRootDir()` and the `kernel.root_dir` parameter + * deprecated `KernelInterface::getName()` and the `kernel.name` parameter + * deprecated the first and second constructor argument of `ConfigDataCollector` + * deprecated `ConfigDataCollector::getApplicationName()` + * deprecated `ConfigDataCollector::getApplicationVersion()` + 4.1.0 ----- * added orphaned events support to `EventDataCollector` * `ExceptionListener` now logs exceptions at priority `0` (previously logged at `-128`) - * Deprecated `service:action` syntax with a single colon to reference controllers. Use `service::method` instead. + * Added support for using `service::method` to reference controllers, making it consistent with other cases. It is recommended over the `service:action` syntax with a single colon, which will be deprecated in the future. * Added the ability to profile individual argument value resolvers via the `Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver` diff --git a/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php b/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php index 8a57732bf..171b38596 100644 --- a/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php +++ b/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php @@ -21,12 +21,16 @@ namespace Symfony\Component\HttpKernel\CacheWarmer; class CacheWarmerAggregate implements CacheWarmerInterface { private $warmers; + private $debug; + private $deprecationLogsFilepath; private $optionalsEnabled = false; private $onlyOptionalsEnabled = false; - public function __construct(iterable $warmers = array()) + public function __construct(iterable $warmers = array(), bool $debug = false, string $deprecationLogsFilepath = null) { $this->warmers = $warmers; + $this->debug = $debug; + $this->deprecationLogsFilepath = $deprecationLogsFilepath; } public function enableOptionalWarmers() @@ -46,15 +50,62 @@ class CacheWarmerAggregate implements CacheWarmerInterface */ public function warmUp($cacheDir) { - foreach ($this->warmers as $warmer) { - if (!$this->optionalsEnabled && $warmer->isOptional()) { - continue; - } - if ($this->onlyOptionalsEnabled && !$warmer->isOptional()) { - continue; - } + if ($this->debug) { + $collectedLogs = array(); + $previousHandler = \defined('PHPUNIT_COMPOSER_INSTALL'); + $previousHandler = $previousHandler ?: set_error_handler(function ($type, $message, $file, $line) use (&$collectedLogs, &$previousHandler) { + if (E_USER_DEPRECATED !== $type && E_DEPRECATED !== $type) { + return $previousHandler ? $previousHandler($type, $message, $file, $line) : false; + } - $warmer->warmUp($cacheDir); + if (isset($collectedLogs[$message])) { + ++$collectedLogs[$message]['count']; + + return; + } + + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); + // Clean the trace by removing first frames added by the error handler itself. + for ($i = 0; isset($backtrace[$i]); ++$i) { + if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { + $backtrace = \array_slice($backtrace, 1 + $i); + break; + } + } + + $collectedLogs[$message] = array( + 'type' => $type, + 'message' => $message, + 'file' => $file, + 'line' => $line, + 'trace' => $backtrace, + 'count' => 1, + ); + }); + } + + try { + foreach ($this->warmers as $warmer) { + if (!$this->optionalsEnabled && $warmer->isOptional()) { + continue; + } + if ($this->onlyOptionalsEnabled && !$warmer->isOptional()) { + continue; + } + + $warmer->warmUp($cacheDir); + } + } finally { + if ($this->debug && true !== $previousHandler) { + restore_error_handler(); + + if (file_exists($this->deprecationLogsFilepath)) { + $previousLogs = unserialize(file_get_contents($this->deprecationLogsFilepath)); + $collectedLogs = array_merge($previousLogs, $collectedLogs); + } + + file_put_contents($this->deprecationLogsFilepath, serialize(array_values($collectedLogs))); + } } } diff --git a/vendor/symfony/http-kernel/Client.php b/vendor/symfony/http-kernel/Client.php index d3ca8cee1..62555e9a5 100644 --- a/vendor/symfony/http-kernel/Client.php +++ b/vendor/symfony/http-kernel/Client.php @@ -81,8 +81,9 @@ class Client extends BaseClient */ protected function getScript($request) { - $kernel = str_replace("'", "\\'", serialize($this->kernel)); - $request = str_replace("'", "\\'", serialize($request)); + $kernel = var_export(serialize($this->kernel), true); + $request = var_export(serialize($request), true); + $errorReporting = error_reporting(); $requires = ''; @@ -91,7 +92,7 @@ class Client extends BaseClient $r = new \ReflectionClass($class); $file = \dirname(\dirname($r->getFileName())).'/autoload.php'; if (file_exists($file)) { - $requires .= "require_once '".str_replace("'", "\\'", $file)."';\n"; + $requires .= 'require_once '.var_export($file, true).";\n"; } } } @@ -107,8 +108,8 @@ error_reporting($errorReporting); $requires -\$kernel = unserialize('$kernel'); -\$request = unserialize('$request'); +\$kernel = unserialize($kernel); +\$request = unserialize($request); EOF; return $code.$this->getHandleScript(); diff --git a/vendor/symfony/http-kernel/Config/FileLocator.php b/vendor/symfony/http-kernel/Config/FileLocator.php index 926f0d1a2..20d91b2f0 100644 --- a/vendor/symfony/http-kernel/Config/FileLocator.php +++ b/vendor/symfony/http-kernel/Config/FileLocator.php @@ -26,7 +26,7 @@ class FileLocator extends BaseFileLocator /** * @param KernelInterface $kernel A KernelInterface instance - * @param null|string $path The path the global resource directory + * @param string|null $path The path the global resource directory * @param array $paths An array of paths where to look for resources */ public function __construct(KernelInterface $kernel, string $path = null, array $paths = array()) diff --git a/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php b/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php index a2ab592ad..e7df546b6 100644 --- a/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php +++ b/vendor/symfony/http-kernel/Controller/ArgumentResolver/ServiceValueResolver.php @@ -48,6 +48,10 @@ final class ServiceValueResolver implements ArgumentValueResolverInterface $controller = ltrim($controller, '\\'); } + if (!$this->container->has($controller) && false !== $i = strrpos($controller, ':')) { + $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); + } + return $this->container->has($controller) && $this->container->get($controller)->has($argument->getName()); } @@ -64,6 +68,11 @@ final class ServiceValueResolver implements ArgumentValueResolverInterface $controller = ltrim($controller, '\\'); } + if (!$this->container->has($controller)) { + $i = strrpos($controller, ':'); + $controller = substr($controller, 0, $i).strtolower(substr($controller, $i)); + } + try { yield $this->container->get($controller)->get($argument->getName()); } catch (RuntimeException $e) { diff --git a/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php b/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php index 4d60aa15f..bde3c90c1 100644 --- a/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php +++ b/vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php @@ -38,7 +38,7 @@ final class TraceableValueResolver implements ArgumentValueResolverInterface public function supports(Request $request, ArgumentMetadata $argument): bool { $method = \get_class($this->inner).'::'.__FUNCTION__; - $this->stopwatch->start($method); + $this->stopwatch->start($method, 'controller.argument_value_resolver'); $return = $this->inner->supports($request, $argument); @@ -53,7 +53,7 @@ final class TraceableValueResolver implements ArgumentValueResolverInterface public function resolve(Request $request, ArgumentMetadata $argument): iterable { $method = \get_class($this->inner).'::'.__FUNCTION__; - $this->stopwatch->start($method); + $this->stopwatch->start($method, 'controller.argument_value_resolver'); yield from $this->inner->resolve($request, $argument); diff --git a/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php b/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php index ed515d247..4f80921cf 100644 --- a/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php +++ b/vendor/symfony/http-kernel/Controller/ContainerControllerResolver.php @@ -36,7 +36,7 @@ class ContainerControllerResolver extends ControllerResolver { if (1 === substr_count($controller, ':')) { $controller = str_replace(':', '::', $controller); - @trigger_error(sprintf('Referencing controllers with a single colon is deprecated since Symfony 4.1. Use %s instead.', $controller), E_USER_DEPRECATED); + // TODO deprecate this in 5.1 } return parent::createController($controller); diff --git a/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php b/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php index 10e851b67..cc2ed9f2b 100644 --- a/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php +++ b/vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactory.php @@ -45,7 +45,7 @@ final class ArgumentMetadataFactory implements ArgumentMetadataFactoryInterface * * @param \ReflectionParameter $parameter * - * @return null|string + * @return string|null */ private function getType(\ReflectionParameter $parameter, \ReflectionFunctionAbstract $function) { diff --git a/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php b/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php index 76ad4a8c8..f07ac89c0 100644 --- a/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php +++ b/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php @@ -30,12 +30,15 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte private $version; private $hasVarDumper; - /** - * @param string $name The name of the application using the web profiler - * @param string $version The version of the application using the web profiler - */ public function __construct(string $name = null, string $version = null) { + if (1 <= \func_num_args()) { + @trigger_error(sprintf('The "$name" argument in method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + } + if (2 <= \func_num_args()) { + @trigger_error(sprintf('The "$version" argument in method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + } + $this->name = $name; $this->version = $version; $this->hasVarDumper = class_exists(LinkStub::class); @@ -60,7 +63,6 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte 'token' => $response->headers->get('X-Debug-Token'), 'symfony_version' => Kernel::VERSION, 'symfony_state' => 'unknown', - 'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a', 'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a', 'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a', 'php_version' => PHP_VERSION, @@ -68,8 +70,8 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte 'php_intl_locale' => class_exists('Locale', false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a', 'php_timezone' => date_default_timezone_get(), 'xdebug_enabled' => \extension_loaded('xdebug'), - 'apcu_enabled' => \extension_loaded('apcu') && ini_get('apc.enabled'), - 'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && ini_get('opcache.enable'), + 'apcu_enabled' => \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN), + 'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN), 'bundles' => array(), 'sapi_name' => \PHP_SAPI, ); @@ -106,13 +108,23 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte $this->data = $this->cloneVar($this->data); } + /** + * @deprecated since Symfony 4.2 + */ public function getApplicationName() { + @trigger_error(sprintf('The method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + return $this->data['app_name']; } + /** + * @deprecated since Symfony 4.2 + */ public function getApplicationVersion() { + @trigger_error(sprintf('The method "%s()" is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + return $this->data['app_version']; } @@ -227,10 +239,14 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte * Gets the application name. * * @return string The application name + * + * @deprecated since Symfony 4.2 */ public function getAppName() { - return $this->data['name']; + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + + return 'n/a'; } /** diff --git a/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php b/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php index 549fd5d3a..b9584110e 100644 --- a/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php +++ b/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php @@ -13,13 +13,14 @@ namespace Symfony\Component\HttpKernel\DataCollector; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Contracts\Service\ResetInterface; /** * DataCollectorInterface. * * @author Fabien Potencier <fabien@symfony.com> */ -interface DataCollectorInterface +interface DataCollectorInterface extends ResetInterface { /** * Collects data for the given Request and Response. @@ -32,9 +33,4 @@ interface DataCollectorInterface * @return string The collector name */ public function getName(); - - /** - * Resets this data collector to its initial state. - */ - public function reset(); } diff --git a/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php b/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php index 1ca852553..13694f5a5 100644 --- a/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php +++ b/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php @@ -204,7 +204,13 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface --$i; } - if (!\in_array(\PHP_SAPI, array('cli', 'phpdbg'), true) && stripos($h[$i], 'html')) { + if (isset($_SERVER['VAR_DUMPER_FORMAT'])) { + $html = 'html' === $_SERVER['VAR_DUMPER_FORMAT']; + } else { + $html = !\in_array(\PHP_SAPI, array('cli', 'phpdbg'), true) && stripos($h[$i], 'html'); + } + + if ($html) { $dumper = new HtmlDumper('php://output', $this->charset); $dumper->setDisplayOptions(array('fileLinkFormat' => $this->fileLinkFormat)); } else { diff --git a/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php b/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php index f9d5bed13..3a7e51bf8 100644 --- a/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php +++ b/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php @@ -16,6 +16,7 @@ use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; +use Symfony\Contracts\Service\ResetInterface; /** * EventDataCollector. @@ -47,7 +48,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter { $this->data = array(); - if ($this->dispatcher instanceof TraceableEventDispatcherInterface) { + if ($this->dispatcher instanceof ResetInterface) { $this->dispatcher->reset(); } } diff --git a/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php b/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php index 533d3217b..3081ac7fb 100644 --- a/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php +++ b/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php @@ -134,7 +134,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte $log['timestamp'] = $bootTime; $log['priority'] = 100; $log['priorityName'] = 'DEBUG'; - $log['channel'] = '-'; + $log['channel'] = null; $log['scream'] = false; unset($log['type'], $log['file'], $log['line'], $log['trace'], $log['trace'], $log['count']); $logs[] = $log; diff --git a/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php b/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php index 4c34cf90d..ed7538261 100644 --- a/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php +++ b/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php @@ -95,6 +95,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter 'status_code' => $statusCode, 'request_query' => $request->query->all(), 'request_request' => $request->request->all(), + 'request_files' => $request->files->all(), 'request_headers' => $request->headers->all(), 'request_server' => $request->server->all(), 'request_cookies' => $request->cookies->all(), @@ -153,7 +154,8 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter 'controller' => $this->parseController($request->attributes->get('_controller')), 'status_code' => $statusCode, 'status_text' => Response::$statusTexts[(int) $statusCode], - )) + )), + 0, '/', null, $request->isSecure(), true, false, 'lax' )); } @@ -195,6 +197,11 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter return new ParameterBag($this->data['request_query']->getValue()); } + public function getRequestFiles() + { + return new ParameterBag($this->data['request_files']->getValue()); + } + public function getRequestHeaders() { return new ParameterBag($this->data['request_headers']->getValue()); @@ -402,12 +409,25 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter if ($controller instanceof \Closure) { $r = new \ReflectionFunction($controller); - return array( + $controller = array( 'class' => $r->getName(), 'method' => null, 'file' => $r->getFileName(), 'line' => $r->getStartLine(), ); + + if (false !== strpos($r->name, '{closure}')) { + return $controller; + } + $controller['method'] = $r->name; + + if ($class = $r->getClosureScopeClass()) { + $controller['class'] = $class->name; + } else { + return $r->name; + } + + return $controller; } if (\is_object($controller)) { diff --git a/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php b/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php index bafb50954..e187022b5 100644 --- a/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php +++ b/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php @@ -96,7 +96,7 @@ class FileLinkFormatter implements \Serializable } return array( - $request->getSchemeAndHttpHost().$request->getBaseUrl().$this->urlFormat, + $request->getSchemeAndHttpHost().$request->getBasePath().$this->urlFormat, $this->baseDir.\DIRECTORY_SEPARATOR, '', ); } diff --git a/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php b/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php index 06adfe4a2..125464b12 100644 --- a/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php +++ b/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php @@ -122,7 +122,7 @@ class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface $args = array(); foreach ($parameters as $p) { /** @var \ReflectionParameter $p */ - $type = $target = ProxyHelper::getTypeHint($r, $p, true); + $type = ltrim($target = ProxyHelper::getTypeHint($r, $p), '\\'); $invalidBehavior = ContainerInterface::IGNORE_ON_INVALID_REFERENCE; if (isset($arguments[$r->name][$p->name])) { @@ -134,7 +134,7 @@ class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface } elseif ($p->allowsNull() && !$p->isOptional()) { $invalidBehavior = ContainerInterface::NULL_ON_INVALID_REFERENCE; } - } elseif (isset($bindings[$bindingName = '$'.$p->name]) || isset($bindings[$bindingName = $type])) { + } elseif (isset($bindings[$bindingName = $type.' $'.$p->name]) || isset($bindings[$bindingName = '$'.$p->name]) || isset($bindings[$bindingName = $type])) { $binding = $bindings[$bindingName]; list($bindingValue, $bindingId) = $binding->getValues(); @@ -150,7 +150,7 @@ class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface } continue; - } elseif (!$type || !$autowire) { + } elseif (!$type || !$autowire || '\\' !== $target[0]) { continue; } elseif (!$p->allowsNull()) { $invalidBehavior = ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE; @@ -171,7 +171,8 @@ class RegisterControllerArgumentLocatorsPass implements CompilerPassInterface throw new InvalidArgumentException($message); } - $args[$p->name] = $type ? new TypedReference($target, $type, $invalidBehavior) : new Reference($target, $invalidBehavior); + $target = ltrim($target, '\\'); + $args[$p->name] = $type ? new TypedReference($target, $type, $invalidBehavior, $p->name) : new Reference($target, $invalidBehavior); } // register the maps as a per-method service-locators if ($args) { diff --git a/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php b/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php index b82d2fef3..734fadbd7 100644 --- a/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php +++ b/vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpKernel\DependencyInjection; +use Symfony\Contracts\Service\ResetInterface; + /** * Resets provided services. * @@ -19,7 +21,7 @@ namespace Symfony\Component\HttpKernel\DependencyInjection; * * @internal */ -class ServicesResetter +class ServicesResetter implements ResetInterface { private $resettableServices; private $resetMethods; diff --git a/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php b/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php index 08a6ac63e..c7c171706 100644 --- a/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php +++ b/vendor/symfony/http-kernel/EventListener/AbstractSessionListener.php @@ -71,14 +71,17 @@ abstract class AbstractSessionListener implements EventSubscriberInterface return; } + $response = $event->getResponse(); + $autoCacheControl = !$response->headers->has(self::NO_AUTO_CACHE_CONTROL_HEADER); + // Always remove the internal header if present + $response->headers->remove(self::NO_AUTO_CACHE_CONTROL_HEADER); + if (!$session = $this->container && $this->container->has('initialized_session') ? $this->container->get('initialized_session') : $event->getRequest()->getSession()) { return; } - $response = $event->getResponse(); - if ($session instanceof Session ? $session->getUsageIndex() !== end($this->sessionUsageStack) : $session->isStarted()) { - if (!$response->headers->has(self::NO_AUTO_CACHE_CONTROL_HEADER)) { + if ($autoCacheControl) { $response ->setPrivate() ->setMaxAge(0) @@ -86,9 +89,6 @@ abstract class AbstractSessionListener implements EventSubscriberInterface } } - // Always remove the internal header if present - $response->headers->remove(self::NO_AUTO_CACHE_CONTROL_HEADER); - if ($session->isStarted()) { /* * Saves the session, in case it is still open, before sending the response/headers. diff --git a/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php b/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php index 7f07e7f10..993c6ddf9 100644 --- a/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php +++ b/vendor/symfony/http-kernel/EventListener/AbstractTestSessionListener.php @@ -30,6 +30,12 @@ use Symfony\Component\HttpKernel\KernelEvents; abstract class AbstractTestSessionListener implements EventSubscriberInterface { private $sessionId; + private $sessionOptions; + + public function __construct(array $sessionOptions = array()) + { + $this->sessionOptions = $sessionOptions; + } public function onKernelRequest(GetResponseEvent $event) { @@ -72,7 +78,12 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface } if ($session instanceof Session ? !$session->isEmpty() || (null !== $this->sessionId && $session->getId() !== $this->sessionId) : $wasStarted) { - $params = session_get_cookie_params(); + $params = session_get_cookie_params() + array('samesite' => null); + foreach ($this->sessionOptions as $k => $v) { + if (0 === strpos($k, 'cookie_')) { + $params[substr($k, 7)] = $v; + } + } foreach ($event->getResponse()->headers->getCookies() as $cookie) { if ($session->getName() === $cookie->getName() && $params['path'] === $cookie->getPath() && $params['domain'] == $cookie->getDomain()) { @@ -80,7 +91,7 @@ abstract class AbstractTestSessionListener implements EventSubscriberInterface } } - $event->getResponse()->headers->setCookie(new Cookie($session->getName(), $session->getId(), 0 === $params['lifetime'] ? 0 : time() + $params['lifetime'], $params['path'], $params['domain'], $params['secure'], $params['httponly'])); + $event->getResponse()->headers->setCookie(new Cookie($session->getName(), $session->getId(), 0 === $params['lifetime'] ? 0 : time() + $params['lifetime'], $params['path'], $params['domain'], $params['secure'], $params['httponly'], false, $params['samesite'] ?: null)); $this->sessionId = $session->getId(); } } diff --git a/vendor/symfony/http-kernel/EventListener/ExceptionListener.php b/vendor/symfony/http-kernel/EventListener/ExceptionListener.php index 559872a1e..02b1d4ddc 100644 --- a/vendor/symfony/http-kernel/EventListener/ExceptionListener.php +++ b/vendor/symfony/http-kernel/EventListener/ExceptionListener.php @@ -13,9 +13,11 @@ namespace Symfony\Component\HttpKernel\EventListener; use Psr\Log\LoggerInterface; use Symfony\Component\Debug\Exception\FlattenException; +use Symfony\Component\Debug\ExceptionHandler; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; @@ -33,23 +35,39 @@ class ExceptionListener implements EventSubscriberInterface protected $controller; protected $logger; protected $debug; + private $charset; + private $fileLinkFormat; + private $isTerminating = false; - public function __construct($controller, LoggerInterface $logger = null, $debug = false) + public function __construct($controller, LoggerInterface $logger = null, $debug = false, string $charset = null, $fileLinkFormat = null) { $this->controller = $controller; $this->logger = $logger; $this->debug = $debug; + $this->charset = $charset; + $this->fileLinkFormat = $fileLinkFormat; } public function logKernelException(GetResponseForExceptionEvent $event) { - $exception = $event->getException(); + $e = FlattenException::create($event->getException()); - $this->logException($exception, sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', \get_class($exception), $exception->getMessage(), $exception->getFile(), $exception->getLine())); + $this->logException($event->getException(), sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', $e->getClass(), $e->getMessage(), $e->getFile(), $e->getLine())); } public function onKernelException(GetResponseForExceptionEvent $event) { + if (null === $this->controller) { + if (!$event->isMasterRequest()) { + return; + } + if (!$this->isTerminating) { + $this->isTerminating = true; + + return; + } + $this->isTerminating = false; + } $exception = $event->getException(); $request = $this->duplicateRequest($exception, $event->getRequest()); $eventDispatcher = \func_num_args() > 2 ? func_get_arg(2) : null; @@ -57,7 +75,9 @@ class ExceptionListener implements EventSubscriberInterface try { $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false); } catch (\Exception $e) { - $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', \get_class($e), $e->getMessage(), $e->getFile(), $e->getLine())); + $f = FlattenException::create($e); + + $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), $e->getFile(), $e->getLine())); $wrapper = $e; @@ -85,6 +105,11 @@ class ExceptionListener implements EventSubscriberInterface } } + public function reset() + { + $this->isTerminating = false; + } + public static function getSubscribedEvents() { return array( @@ -118,13 +143,17 @@ class ExceptionListener implements EventSubscriberInterface * @param \Exception $exception The thrown exception * @param Request $request The original request * - * @return Request $request The cloned request + * @return Request The cloned request */ protected function duplicateRequest(\Exception $exception, Request $request) { $attributes = array( - '_controller' => $this->controller, - 'exception' => FlattenException::create($exception), + 'exception' => $exception = FlattenException::create($exception), + '_controller' => $this->controller ?: function () use ($exception) { + $handler = new ExceptionHandler($this->debug, $this->charset, $this->fileLinkFormat); + + return new Response($handler->getHtml($exception), $exception->getStatusCode(), $exception->getHeaders()); + }, 'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null, ); $request = $request->duplicate(null, null, $attributes); diff --git a/vendor/symfony/http-kernel/EventListener/SessionListener.php b/vendor/symfony/http-kernel/EventListener/SessionListener.php index 5ede7c3fa..75624b6c5 100644 --- a/vendor/symfony/http-kernel/EventListener/SessionListener.php +++ b/vendor/symfony/http-kernel/EventListener/SessionListener.php @@ -12,10 +12,15 @@ namespace Symfony\Component\HttpKernel\EventListener; use Psr\Container\ContainerInterface; +use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage; /** * Sets the session in the request. * + * When the passed container contains a "session_storage" entry which + * holds a NativeSessionStorage instance, the "cookie_secure" option + * will be set to true whenever the current master request is secure. + * * @author Fabien Potencier <fabien@symfony.com> * * @final @@ -33,6 +38,13 @@ class SessionListener extends AbstractSessionListener return; } + if ($this->container->has('session_storage') + && ($storage = $this->container->get('session_storage')) instanceof NativeSessionStorage + && $this->container->get('request_stack')->getMasterRequest()->isSecure() + ) { + $storage->setOptions(array('cookie_secure' => true)); + } + return $this->container->get('session'); } } diff --git a/vendor/symfony/http-kernel/EventListener/TestSessionListener.php b/vendor/symfony/http-kernel/EventListener/TestSessionListener.php index f859d0976..23589a2bb 100644 --- a/vendor/symfony/http-kernel/EventListener/TestSessionListener.php +++ b/vendor/symfony/http-kernel/EventListener/TestSessionListener.php @@ -24,9 +24,10 @@ class TestSessionListener extends AbstractTestSessionListener { private $container; - public function __construct(ContainerInterface $container) + public function __construct(ContainerInterface $container, array $sessionOptions = array()) { $this->container = $container; + parent::__construct($sessionOptions); } protected function getSession() diff --git a/vendor/symfony/http-kernel/EventListener/TranslatorListener.php b/vendor/symfony/http-kernel/EventListener/TranslatorListener.php index 2a5fc7128..7cf059886 100644 --- a/vendor/symfony/http-kernel/EventListener/TranslatorListener.php +++ b/vendor/symfony/http-kernel/EventListener/TranslatorListener.php @@ -17,7 +17,8 @@ use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpKernel\Event\FinishRequestEvent; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\Translation\TranslatorInterface; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; /** * Synchronizes the locale between the request and the translator. @@ -29,8 +30,14 @@ class TranslatorListener implements EventSubscriberInterface private $translator; private $requestStack; - public function __construct(TranslatorInterface $translator, RequestStack $requestStack) + /** + * @param TranslatorInterface $translator + */ + public function __construct($translator, RequestStack $requestStack) { + if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { + throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); + } $this->translator = $translator; $this->requestStack = $requestStack; } diff --git a/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php b/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php new file mode 100644 index 000000000..39149aa5b --- /dev/null +++ b/vendor/symfony/http-kernel/Exception/ControllerDoesNotReturnResponseException.php @@ -0,0 +1,78 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\Exception; + +/** + * @author Grégoire Pineau <lyrixx@lyrixx.info> + */ +class ControllerDoesNotReturnResponseException extends \LogicException +{ + public function __construct(string $message, callable $controller, string $file, int $line) + { + parent::__construct($message); + + if (!$controllerDefinition = $this->parseControllerDefinition($controller)) { + return; + } + + $this->file = $controllerDefinition['file']; + $this->line = $controllerDefinition['line']; + $r = new \ReflectionProperty(\Exception::class, 'trace'); + $r->setAccessible(true); + $r->setValue($this, array_merge(array( + array( + 'line' => $line, + 'file' => $file, + ), + ), $this->getTrace())); + } + + private function parseControllerDefinition(callable $controller): ?array + { + if (\is_string($controller) && false !== strpos($controller, '::')) { + $controller = explode('::', $controller); + } + + if (\is_array($controller)) { + try { + $r = new \ReflectionMethod($controller[0], $controller[1]); + + return array( + 'file' => $r->getFileName(), + 'line' => $r->getEndLine(), + ); + } catch (\ReflectionException $e) { + return null; + } + } + + if ($controller instanceof \Closure) { + $r = new \ReflectionFunction($controller); + + return array( + 'file' => $r->getFileName(), + 'line' => $r->getEndLine(), + ); + } + + if (\is_object($controller)) { + $r = new \ReflectionClass($controller); + + return array( + 'file' => $r->getFileName(), + 'line' => $r->getEndLine(), + ); + } + + return null; + } +} diff --git a/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php index f523e7c45..ecf12f218 100644 --- a/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php +++ b/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php @@ -125,6 +125,13 @@ class InlineFragmentRenderer extends RoutableFragmentRenderer } $setSession($subRequest, $request); + if ($request->get('_format')) { + $subRequest->attributes->set('_format', $request->get('_format')); + } + if ($request->getDefaultLocale() !== $request->getLocale()) { + $subRequest->setLocale($request->getLocale()); + } + return $subRequest; } diff --git a/vendor/symfony/http-kernel/HttpCache/HttpCache.php b/vendor/symfony/http-kernel/HttpCache/HttpCache.php index fa3be46c8..6980745ad 100644 --- a/vendor/symfony/http-kernel/HttpCache/HttpCache.php +++ b/vendor/symfony/http-kernel/HttpCache/HttpCache.php @@ -93,7 +93,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface /** * Gets the current store. * - * @return StoreInterface $store A StoreInterface instance + * @return StoreInterface A StoreInterface instance */ public function getStore() { diff --git a/vendor/symfony/http-kernel/HttpKernel.php b/vendor/symfony/http-kernel/HttpKernel.php index 06d210056..25a042385 100644 --- a/vendor/symfony/http-kernel/HttpKernel.php +++ b/vendor/symfony/http-kernel/HttpKernel.php @@ -28,6 +28,7 @@ use Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent; use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; use Symfony\Component\HttpKernel\Event\PostResponseEvent; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; +use Symfony\Component\HttpKernel\Exception\ControllerDoesNotReturnResponseException; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; @@ -146,7 +147,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface $arguments = $event->getArguments(); // call controller - $response = \call_user_func_array($controller, $arguments); + $response = $controller(...$arguments); // view if (!$response instanceof Response) { @@ -156,13 +157,14 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface if ($event->hasResponse()) { $response = $event->getResponse(); } else { - $msg = sprintf('The controller must return a response (%s given).', $this->varToString($response)); + $msg = sprintf('The controller must return a "Symfony\Component\HttpFoundation\Response" object but it returned %s.', $this->varToString($response)); // the user may have forgotten to return something if (null === $response) { $msg .= ' Did you forget to add a return statement somewhere in your controller?'; } - throw new \LogicException($msg); + + throw new ControllerDoesNotReturnResponseException($msg, $controller, __FILE__, __LINE__ - 17); } } @@ -251,20 +253,20 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface private function varToString($var): string { if (\is_object($var)) { - return sprintf('Object(%s)', \get_class($var)); + return sprintf('an object of type %s', \get_class($var)); } if (\is_array($var)) { $a = array(); foreach ($var as $k => $v) { - $a[] = sprintf('%s => %s', $k, $this->varToString($v)); + $a[] = sprintf('%s => ...', $k); } - return sprintf('Array(%s)', implode(', ', $a)); + return sprintf('an array ([%s])', mb_substr(implode(', ', $a), 0, 255)); } if (\is_resource($var)) { - return sprintf('Resource(%s)', get_resource_type($var)); + return sprintf('a resource (%s)', get_resource_type($var)); } if (null === $var) { @@ -272,11 +274,19 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface } if (false === $var) { - return 'false'; + return 'a boolean value (false)'; } if (true === $var) { - return 'true'; + return 'a boolean value (true)'; + } + + if (\is_string($var)) { + return sprintf('a string ("%s%s")', mb_substr($var, 0, 255), mb_strlen($var) > 255 ? '...' : ''); + } + + if (is_numeric($var)) { + return sprintf('a number (%s)', (string) $var); } return (string) $var; diff --git a/vendor/symfony/http-kernel/Kernel.php b/vendor/symfony/http-kernel/Kernel.php index 9404cc0fb..225a047d1 100644 --- a/vendor/symfony/http-kernel/Kernel.php +++ b/vendor/symfony/http-kernel/Kernel.php @@ -16,6 +16,7 @@ use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; use Symfony\Component\Config\ConfigCache; use Symfony\Component\Config\Loader\DelegatingLoader; use Symfony\Component\Config\Loader\LoaderResolver; +use Symfony\Component\Debug\DebugClassLoader; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\Compiler\PassConfig; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -41,6 +42,9 @@ use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfiguration * * It manages an environment made of bundles. * + * Environment names must always start with a letter and + * they must only contain letters and numbers. + * * @author Fabien Potencier <fabien@symfony.com> */ abstract class Kernel implements KernelInterface, RebootableInterface, TerminableInterface @@ -51,10 +55,16 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl protected $bundles = array(); protected $container; + /** + * @deprecated since Symfony 4.2 + */ protected $rootDir; protected $environment; protected $debug; protected $booted = false; + /** + * @deprecated since Symfony 4.2 + */ protected $name; protected $startTime; @@ -63,22 +73,22 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl private $requestStackSize = 0; private $resetServices = false; - const VERSION = '4.1.4'; - const VERSION_ID = 40104; + const VERSION = '4.2.0'; + const VERSION_ID = 40200; const MAJOR_VERSION = 4; - const MINOR_VERSION = 1; - const RELEASE_VERSION = 4; + const MINOR_VERSION = 2; + const RELEASE_VERSION = 0; const EXTRA_VERSION = ''; - const END_OF_MAINTENANCE = '01/2019'; - const END_OF_LIFE = '07/2019'; + const END_OF_MAINTENANCE = '07/2019'; + const END_OF_LIFE = '01/2020'; public function __construct(string $environment, bool $debug) { $this->environment = $environment; $this->debug = $debug; - $this->rootDir = $this->getRootDir(); - $this->name = $this->getName(); + $this->rootDir = $this->getRootDir(false); + $this->name = $this->getName(false); } public function __clone() @@ -90,7 +100,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl } /** - * Boots the current kernel. + * {@inheritdoc} */ public function boot() { @@ -215,7 +225,10 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl public function getBundle($name) { if (!isset($this->bundles[$name])) { - throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your %s.php file?', $name, \get_class($this))); + $class = \get_class($this); + $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; + + throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() method of your %s.php file?', $name, $class)); } return $this->bundles[$name]; @@ -244,19 +257,10 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl $isResource = 0 === strpos($path, 'Resources') && null !== $dir; $overridePath = substr($path, 9); - $resourceBundle = null; $bundle = $this->getBundle($bundleName); $files = array(); if ($isResource && file_exists($file = $dir.'/'.$bundle->getName().$overridePath)) { - if (null !== $resourceBundle) { - throw new \RuntimeException(sprintf('"%s" resource is hidden by a resource from the "%s" derived bundle. Create a "%s" file to override the bundle resource.', - $file, - $resourceBundle, - $dir.'/'.$bundle->getName().$overridePath - )); - } - $files[] = $file; } @@ -265,7 +269,6 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl return $file; } $files[] = $file; - $resourceBundle = $bundle->getName(); } if (\count($files) > 0) { @@ -277,9 +280,15 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2 */ - public function getName() + public function getName(/* $triggerDeprecation = true */) { + if (0 === \func_num_args() || func_get_arg(0)) { + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + } + if (null === $this->name) { $this->name = preg_replace('/[^a-zA-Z0-9_]+/', '', basename($this->rootDir)); if (ctype_digit($this->name[0])) { @@ -308,9 +317,15 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use getProjectDir() instead */ - public function getRootDir() + public function getRootDir(/* $triggerDeprecation = true */) { + if (0 === \func_num_args() || func_get_arg(0)) { + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use getProjectDir() instead.', __METHOD__), E_USER_DEPRECATED); + } + if (null === $this->rootDir) { $r = new \ReflectionObject($this); $this->rootDir = \dirname($r->getFileName()); @@ -370,7 +385,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ public function getCacheDir() { - return $this->rootDir.'/cache/'.$this->environment; + return $this->getProjectDir().'/var/cache/'.$this->environment; } /** @@ -378,7 +393,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ public function getLogDir() { - return $this->rootDir.'/logs'; + return $this->getProjectDir().'/var/log'; } /** @@ -431,7 +446,10 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl */ protected function getContainerClass() { - return $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer'; + $class = \get_class($this); + $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).ContainerBuilder::hash($class) : $class; + + return $this->name.str_replace('\\', '_', $class).ucfirst($this->environment).($this->debug ? 'Debug' : '').'Container'; } /** @@ -493,7 +511,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl return; } - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3); + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5); // Clean the trace by removing first frames added by the error handler itself. for ($i = 0; isset($backtrace[$i]); ++$i) { if (isset($backtrace[$i]['file'], $backtrace[$i]['line']) && $backtrace[$i]['line'] === $line && $backtrace[$i]['file'] === $file) { @@ -501,13 +519,20 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl break; } } + // Remove frames added by DebugClassLoader. + for ($i = \count($backtrace) - 2; 0 < $i; --$i) { + if (DebugClassLoader::class === ($backtrace[$i]['class'] ?? null)) { + $backtrace = array($backtrace[$i + 1]); + break; + } + } $collectedLogs[$message] = array( 'type' => $type, 'message' => $message, 'file' => $file, 'line' => $line, - 'trace' => $backtrace, + 'trace' => array($backtrace[0]), 'count' => 1, ); }); @@ -582,10 +607,16 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl } return array( + /* + * @deprecated since Symfony 4.2, use kernel.project_dir instead + */ 'kernel.root_dir' => realpath($this->rootDir) ?: $this->rootDir, 'kernel.project_dir' => realpath($this->getProjectDir()) ?: $this->getProjectDir(), 'kernel.environment' => $this->environment, 'kernel.debug' => $this->debug, + /* + * @deprecated since Symfony 4.2 + */ 'kernel.name' => $this->name, 'kernel.cache_dir' => realpath($cacheDir = $this->warmupDir ?: $this->getCacheDir()) ?: $cacheDir, 'kernel.logs_dir' => realpath($this->getLogDir()) ?: $this->getLogDir(), diff --git a/vendor/symfony/http-kernel/KernelInterface.php b/vendor/symfony/http-kernel/KernelInterface.php index b99040781..93c4190b9 100644 --- a/vendor/symfony/http-kernel/KernelInterface.php +++ b/vendor/symfony/http-kernel/KernelInterface.php @@ -21,6 +21,8 @@ use Symfony\Component\HttpKernel\Bundle\BundleInterface; * It manages an environment made of application kernel and bundles. * * @author Fabien Potencier <fabien@symfony.com> + * + * @method string getProjectDir() Gets the project dir (path of the project's composer file) - not defining it is deprecated since Symfony 4.2 */ interface KernelInterface extends HttpKernelInterface, \Serializable { @@ -100,6 +102,8 @@ interface KernelInterface extends HttpKernelInterface, \Serializable * Gets the name of the kernel. * * @return string The kernel name + * + * @deprecated since Symfony 4.2 */ public function getName(); @@ -121,13 +125,15 @@ interface KernelInterface extends HttpKernelInterface, \Serializable * Gets the application root dir (path of the project's Kernel class). * * @return string The Kernel root dir + * + * @deprecated since Symfony 4.2 */ public function getRootDir(); /** * Gets the current container. * - * @return ContainerInterface A ContainerInterface instance + * @return ContainerInterface|null A ContainerInterface instance or null when the Kernel is shutdown */ public function getContainer(); diff --git a/vendor/symfony/http-kernel/Profiler/Profile.php b/vendor/symfony/http-kernel/Profiler/Profile.php index bb18c7bca..4716a229e 100644 --- a/vendor/symfony/http-kernel/Profiler/Profile.php +++ b/vendor/symfony/http-kernel/Profiler/Profile.php @@ -89,7 +89,7 @@ class Profile /** * Returns the parent token. * - * @return null|string The parent token + * @return string|null The parent token */ public function getParentToken() { diff --git a/vendor/symfony/http-kernel/Profiler/Profiler.php b/vendor/symfony/http-kernel/Profiler/Profiler.php index b4b0681b0..809a3396b 100644 --- a/vendor/symfony/http-kernel/Profiler/Profiler.php +++ b/vendor/symfony/http-kernel/Profiler/Profiler.php @@ -17,13 +17,14 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface; use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; +use Symfony\Contracts\Service\ResetInterface; /** * Profiler. * * @author Fabien Potencier <fabien@symfony.com> */ -class Profiler +class Profiler implements ResetInterface { private $storage; diff --git a/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php b/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php index 544fb1fef..b78bae847 100644 --- a/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php +++ b/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php @@ -14,6 +14,14 @@ namespace Symfony\Component\HttpKernel\Profiler; /** * ProfilerStorageInterface. * + * This interface exists for historical reasons. The only supported + * implementation is FileProfilerStorage. + * + * As the profiler must only be used on non-production servers, the file storage + * is more than enough and no other implementations will ever be supported. + * + * @internal since 4.2 + * * @author Fabien Potencier <fabien@symfony.com> */ interface ProfilerStorageInterface diff --git a/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php b/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php index 06400b444..5f09e4b22 100644 --- a/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php +++ b/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php @@ -20,7 +20,7 @@ class ChainCacheClearerTest extends TestCase public static function setUpBeforeClass() { - self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_clearer_dir'); + self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf_cache_clearer_dir'); } public static function tearDownAfterClass() diff --git a/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php index cfa998c1d..09ba7020f 100644 --- a/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php +++ b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php @@ -20,7 +20,7 @@ class CacheWarmerAggregateTest extends TestCase public static function setUpBeforeClass() { - self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir'); + self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf_cache_warmer_dir'); } public static function tearDownAfterClass() diff --git a/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php index 4d34e7bfc..cee8b5503 100644 --- a/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php +++ b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php @@ -20,7 +20,7 @@ class CacheWarmerTest extends TestCase public static function setUpBeforeClass() { - self::$cacheFile = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir'); + self::$cacheFile = tempnam(sys_get_temp_dir(), 'sf_cache_warmer_dir'); } public static function tearDownAfterClass() diff --git a/vendor/symfony/http-kernel/Tests/ClientTest.php b/vendor/symfony/http-kernel/Tests/ClientTest.php index 17cbe3687..4ce3670a3 100644 --- a/vendor/symfony/http-kernel/Tests/ClientTest.php +++ b/vendor/symfony/http-kernel/Tests/ClientTest.php @@ -61,13 +61,13 @@ class ClientTest extends TestCase $m->setAccessible(true); $response = new Response(); - $response->headers->setCookie($cookie1 = new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true)); + $response->headers->setCookie($cookie1 = new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true, false, null)); $domResponse = $m->invoke($client, $response); $this->assertSame((string) $cookie1, $domResponse->getHeader('Set-Cookie')); $response = new Response(); - $response->headers->setCookie($cookie1 = new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true)); - $response->headers->setCookie($cookie2 = new Cookie('foo1', 'bar1', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true)); + $response->headers->setCookie($cookie1 = new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true, false, null)); + $response->headers->setCookie($cookie2 = new Cookie('foo1', 'bar1', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true, false, null)); $domResponse = $m->invoke($client, $response); $this->assertSame((string) $cookie1, $domResponse->getHeader('Set-Cookie')); $this->assertSame(array((string) $cookie1, (string) $cookie2), $domResponse->getHeader('Set-Cookie', false)); diff --git a/vendor/symfony/http-kernel/Tests/Controller/ArgumentResolver/ServiceValueResolverTest.php b/vendor/symfony/http-kernel/Tests/Controller/ArgumentResolver/ServiceValueResolverTest.php index 33b64d544..0b38af955 100644 --- a/vendor/symfony/http-kernel/Tests/Controller/ArgumentResolver/ServiceValueResolverTest.php +++ b/vendor/symfony/http-kernel/Tests/Controller/ArgumentResolver/ServiceValueResolverTest.php @@ -68,6 +68,24 @@ class ServiceValueResolverTest extends TestCase $this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument)); } + public function testExistingControllerWithMethodNameStartUppercase() + { + $resolver = new ServiceValueResolver(new ServiceLocator(array( + 'App\\Controller\\Mine::method' => function () { + return new ServiceLocator(array( + 'dummy' => function () { + return new DummyService(); + }, + )); + }, + ))); + $request = $this->requestWithAttributes(array('_controller' => 'App\\Controller\\Mine::Method')); + $argument = new ArgumentMetadata('dummy', DummyService::class, false, false, null); + + $this->assertTrue($resolver->supports($request, $argument)); + $this->assertYieldEquals(array(new DummyService()), $resolver->resolve($request, $argument)); + } + public function testControllerNameIsAnArray() { $resolver = new ServiceValueResolver(new ServiceLocator(array( diff --git a/vendor/symfony/http-kernel/Tests/Controller/ContainerControllerResolverTest.php b/vendor/symfony/http-kernel/Tests/Controller/ContainerControllerResolverTest.php index 57414d001..1a144eee4 100644 --- a/vendor/symfony/http-kernel/Tests/Controller/ContainerControllerResolverTest.php +++ b/vendor/symfony/http-kernel/Tests/Controller/ContainerControllerResolverTest.php @@ -19,10 +19,6 @@ use Symfony\Component\HttpKernel\Controller\ContainerControllerResolver; class ContainerControllerResolverTest extends ControllerResolverTest { - /** - * @group legacy - * @expectedDeprecation Referencing controllers with a single colon is deprecated since Symfony 4.1. Use foo::action instead. - */ public function testGetControllerServiceWithSingleColon() { $service = new ControllerTestService('foo'); diff --git a/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php index a99e34ad4..10b058584 100644 --- a/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php +++ b/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php @@ -30,7 +30,6 @@ class ConfigDataCollectorTest extends TestCase $this->assertSame('test', $c->getEnv()); $this->assertTrue($c->isDebug()); $this->assertSame('config', $c->getName()); - $this->assertSame('testkernel', $c->getAppName()); $this->assertRegExp('~^'.preg_quote($c->getPhpVersion(), '~').'~', PHP_VERSION); $this->assertRegExp('~'.preg_quote((string) $c->getPhpVersionExtra(), '~').'$~', PHP_VERSION); $this->assertSame(PHP_INT_SIZE * 8, $c->getPhpArchitecture()); @@ -39,18 +38,29 @@ class ConfigDataCollectorTest extends TestCase $this->assertSame(Kernel::VERSION, $c->getSymfonyVersion()); $this->assertNull($c->getToken()); $this->assertSame(\extension_loaded('xdebug'), $c->hasXDebug()); - $this->assertSame(\extension_loaded('Zend OPcache') && ini_get('opcache.enable'), $c->hasZendOpcache()); - $this->assertSame(\extension_loaded('apcu') && ini_get('apc.enabled'), $c->hasApcu()); + $this->assertSame(\extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN), $c->hasZendOpcache()); + $this->assertSame(\extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN), $c->hasApcu()); + } + + /** + * @group legacy + * @expectedDeprecation The "$name" argument in method "Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector::__construct()" is deprecated since Symfony 4.2. + * @expectedDeprecation The "$version" argument in method "Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector::__construct()" is deprecated since Symfony 4.2. + * @expectedDeprecation The method "Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector::getApplicationName()" is deprecated since Symfony 4.2. + * @expectedDeprecation The method "Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector::getApplicationVersion()" is deprecated since Symfony 4.2. + */ + public function testLegacy() + { + $c = new ConfigDataCollector('name', null); + $c->collect(new Request(), new Response()); + + $this->assertSame('name', $c->getApplicationName()); + $this->assertNull($c->getApplicationVersion()); } } class KernelForTest extends Kernel { - public function getName() - { - return 'testkernel'; - } - public function registerBundles() { } diff --git a/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php index cce08e27c..24904f7cc 100644 --- a/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php +++ b/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php @@ -225,6 +225,8 @@ class RequestDataCollectorTest extends TestCase $cookie = $this->getCookieByName($response, 'sf_redirect'); $this->assertNotEmpty($cookie->getValue()); + $this->assertSame('lax', $cookie->getSameSite()); + $this->assertFalse($cookie->isSecure()); } public function testItCollectsTheRedirectionAndClearTheCookie() @@ -274,9 +276,9 @@ class RequestDataCollectorTest extends TestCase $response->setStatusCode(200); $response->headers->set('Content-Type', 'application/json'); $response->headers->set('X-Foo-Bar', null); - $response->headers->setCookie(new Cookie('foo', 'bar', 1, '/foo', 'localhost', true, true)); - $response->headers->setCookie(new Cookie('bar', 'foo', new \DateTime('@946684800'))); - $response->headers->setCookie(new Cookie('bazz', 'foo', '2000-12-12')); + $response->headers->setCookie(new Cookie('foo', 'bar', 1, '/foo', 'localhost', true, true, false, null)); + $response->headers->setCookie(new Cookie('bar', 'foo', new \DateTime('@946684800'), '/', null, false, true, false, null)); + $response->headers->setCookie(new Cookie('bazz', 'foo', '2000-12-12', '/', null, false, true, false, null)); return $response; } diff --git a/vendor/symfony/http-kernel/Tests/Debug/FileLinkFormatterTest.php b/vendor/symfony/http-kernel/Tests/Debug/FileLinkFormatterTest.php index e14780ac6..5c93bd90e 100644 --- a/vendor/symfony/http-kernel/Tests/Debug/FileLinkFormatterTest.php +++ b/vendor/symfony/http-kernel/Tests/Debug/FileLinkFormatterTest.php @@ -37,7 +37,6 @@ class FileLinkFormatterTest extends TestCase public function testWhenFileLinkFormatAndRequest() { $file = __DIR__.\DIRECTORY_SEPARATOR.'file.php'; - $baseDir = __DIR__; $requestStack = new RequestStack(); $request = new Request(); $requestStack->push($request); @@ -56,12 +55,12 @@ class FileLinkFormatterTest extends TestCase $request->server->set('SERVER_NAME', 'www.example.org'); $request->server->set('SERVER_PORT', 80); - $request->server->set('SCRIPT_NAME', '/app.php'); - $request->server->set('SCRIPT_FILENAME', '/web/app.php'); - $request->server->set('REQUEST_URI', '/app.php/example'); + $request->server->set('SCRIPT_NAME', '/index.php'); + $request->server->set('SCRIPT_FILENAME', '/public/index.php'); + $request->server->set('REQUEST_URI', '/index.php/example'); $sut = new FileLinkFormatter(null, $requestStack, __DIR__, '/_profiler/open?file=%f&line=%l#line%l'); - $this->assertSame('http://www.example.org/app.php/_profiler/open?file=file.php&line=3#line3', $sut->format($file, 3)); + $this->assertSame('http://www.example.org/_profiler/open?file=file.php&line=3#line3', $sut->format($file, 3)); } } diff --git a/vendor/symfony/http-kernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php b/vendor/symfony/http-kernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php index 6c036e88a..d03ea53a3 100644 --- a/vendor/symfony/http-kernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php +++ b/vendor/symfony/http-kernel/Tests/DependencyInjection/RegisterControllerArgumentLocatorsPassTest.php @@ -149,7 +149,7 @@ class RegisterControllerArgumentLocatorsPassTest extends TestCase $this->assertSame(ServiceLocator::class, $locator->getClass()); $this->assertFalse($locator->isPublic()); - $expected = array('bar' => new ServiceClosureArgument(new TypedReference(ControllerDummy::class, ControllerDummy::class, ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE))); + $expected = array('bar' => new ServiceClosureArgument(new TypedReference(ControllerDummy::class, ControllerDummy::class, ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE, 'bar'))); $this->assertEquals($expected, $locator->getArgument(0)); } @@ -309,16 +309,23 @@ class RegisterControllerArgumentLocatorsPassTest extends TestCase public function provideBindings() { - return array(array(ControllerDummy::class), array('$bar')); + return array( + array(ControllerDummy::class.'$bar'), + array(ControllerDummy::class), + array('$bar'), + ); } - public function testBindScalarValueToControllerArgument() + /** + * @dataProvider provideBindScalarValueToControllerArgument + */ + public function testBindScalarValueToControllerArgument($bindingKey) { $container = new ContainerBuilder(); $resolver = $container->register('argument_resolver.service')->addArgument(array()); $container->register('foo', ArgumentWithoutTypeController::class) - ->setBindings(array('$someArg' => '%foo%')) + ->setBindings(array($bindingKey => '%foo%')) ->addTag('controller.service_arguments'); $container->setParameter('foo', 'foo_val'); @@ -341,6 +348,12 @@ class RegisterControllerArgumentLocatorsPassTest extends TestCase $this->assertSame('foo_val', $container->get((string) $reference)); } + public function provideBindScalarValueToControllerArgument() + { + yield array('$someArg'); + yield array('string $someArg'); + } + public function testBindingsOnChildDefinitions() { $container = new ContainerBuilder(); @@ -420,7 +433,7 @@ class NonExistentClassOptionalController class ArgumentWithoutTypeController { - public function fooAction($someArg) + public function fooAction(string $someArg) { } } diff --git a/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php index 5743696c5..5251976e4 100644 --- a/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php +++ b/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php @@ -155,6 +155,25 @@ class ExceptionListenerTest extends TestCase $this->assertFalse($response->headers->has('content-security-policy'), 'CSP header has been removed'); $this->assertFalse($dispatcher->hasListeners(KernelEvents::RESPONSE), 'CSP removal listener has been removed'); } + + public function testNullController() + { + $listener = new ExceptionListener(null); + $kernel = $this->getMockBuilder(HttpKernelInterface::class)->getMock(); + $kernel->expects($this->once())->method('handle')->will($this->returnCallback(function (Request $request) { + $controller = $request->attributes->get('_controller'); + + return $controller(); + })); + $request = Request::create('/'); + $event = new GetResponseForExceptionEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST, new \Exception('foo')); + + $listener->onKernelException($event); + $this->assertNull($event->getResponse()); + + $listener->onKernelException($event); + $this->assertContains('Whoops, looks like something went wrong.', $event->getResponse()->getContent()); + } } class TestLogger extends Logger implements DebugLoggerInterface diff --git a/vendor/symfony/http-kernel/Tests/EventListener/SessionListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/SessionListenerTest.php index 03fb3763f..e6255a56e 100644 --- a/vendor/symfony/http-kernel/Tests/EventListener/SessionListenerTest.php +++ b/vendor/symfony/http-kernel/Tests/EventListener/SessionListenerTest.php @@ -106,17 +106,24 @@ class SessionListenerTest extends TestCase $this->assertFalse($response->headers->has(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER)); } - public function testUninitilizedSession() + public function testUninitializedSession() { - $event = $this->getMockBuilder(FilterResponseEvent::class)->disableOriginalConstructor()->getMock(); - $event->expects($this->once())->method('isMasterRequest')->willReturn(true); + $kernel = $this->getMockBuilder(HttpKernelInterface::class)->disableOriginalConstructor()->getMock(); + $response = new Response(); + $response->setSharedMaxAge(60); + $response->headers->set(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER, 'true'); $container = new ServiceLocator(array( 'initialized_session' => function () {}, )); $listener = new SessionListener($container); - $listener->onKernelResponse($event); + $listener->onKernelResponse(new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response)); + $this->assertTrue($response->headers->hasCacheControlDirective('public')); + $this->assertFalse($response->headers->hasCacheControlDirective('private')); + $this->assertFalse($response->headers->hasCacheControlDirective('must-revalidate')); + $this->assertSame('60', $response->headers->getCacheControlDirective('s-maxage')); + $this->assertFalse($response->headers->has(AbstractSessionListener::NO_AUTO_CACHE_CONTROL_HEADER)); } public function testSurrogateMasterRequestIsPublic() diff --git a/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php index b06dca3c5..cd52bd56e 100644 --- a/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php +++ b/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php @@ -12,7 +12,6 @@ namespace Symfony\Component\HttpKernel\Tests\EventListener; use PHPUnit\Framework\TestCase; -use Symfony\Component\DependencyInjection\ServiceSubscriberInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Session\SessionInterface; @@ -144,15 +143,6 @@ class TestSessionListenerTest extends TestCase $this->filterResponse(new Request()); } - public function testDoesNotImplementServiceSubscriberInterface() - { - $this->assertTrue(interface_exists(ServiceSubscriberInterface::class)); - $this->assertTrue(class_exists(SessionListener::class)); - $this->assertTrue(class_exists(TestSessionListener::class)); - $this->assertFalse(is_subclass_of(SessionListener::class, ServiceSubscriberInterface::class), 'Implementing ServiceSubscriberInterface would create a dep on the DI component, which eg Silex cannot afford'); - $this->assertFalse(is_subclass_of(TestSessionListener::class, ServiceSubscriberInterface::class, 'Implementing ServiceSubscriberInterface would create a dep on the DI component, which eg Silex cannot afford')); - } - public function testDoesNotThrowIfRequestDoesNotHaveASession() { $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')->getMock(); diff --git a/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php index 23b833177..c4cb9d053 100644 --- a/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php +++ b/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php @@ -17,6 +17,7 @@ use Symfony\Component\HttpKernel\Event\FinishRequestEvent; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\EventListener\TranslatorListener; use Symfony\Component\HttpKernel\HttpKernelInterface; +use Symfony\Contracts\Translation\TranslatorInterface; class TranslatorListenerTest extends TestCase { @@ -26,7 +27,7 @@ class TranslatorListenerTest extends TestCase protected function setUp() { - $this->translator = $this->getMockBuilder('Symfony\Component\Translation\TranslatorInterface')->getMock(); + $this->translator = $this->getMockBuilder(TranslatorInterface::class)->getMock(); $this->requestStack = $this->getMockBuilder('Symfony\Component\HttpFoundation\RequestStack')->getMock(); $this->listener = new TranslatorListener($this->translator, $this->requestStack); } diff --git a/vendor/symfony/http-kernel/Tests/Fixtures/123/Kernel123.php b/vendor/symfony/http-kernel/Tests/Fixtures/123/Kernel123.php deleted file mode 100644 index d3a76684d..000000000 --- a/vendor/symfony/http-kernel/Tests/Fixtures/123/Kernel123.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php - -/* - * This file is part of the Symfony package. - * - * (c) Fabien Potencier <fabien@symfony.com> - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\HttpKernel\Tests\Fixtures\_123; - -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\HttpKernel\Kernel; - -class Kernel123 extends Kernel -{ - public function registerBundles() - { - return array(); - } - - public function registerContainerConfiguration(LoaderInterface $loader) - { - } - - public function getCacheDir() - { - return sys_get_temp_dir().'/'.Kernel::VERSION.'/kernel123/cache/'.$this->environment; - } - - public function getLogDir() - { - return sys_get_temp_dir().'/'.Kernel::VERSION.'/kernel123/logs'; - } -} diff --git a/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php b/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php index 9acee4cac..9734594b6 100644 --- a/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php +++ b/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php @@ -34,4 +34,14 @@ class KernelForTest extends Kernel { return $this->booted; } + + public function getCacheDir() + { + return $this->getProjectDir().'/Tests/Fixtures/cache.'.$this->environment; + } + + public function getLogDir() + { + return $this->getProjectDir().'/Tests/Fixtures/logs'; + } } diff --git a/vendor/symfony/http-kernel/Tests/Fixtures/KernelWithoutBundles.php b/vendor/symfony/http-kernel/Tests/Fixtures/KernelWithoutBundles.php index cee1b09fb..0d0881d62 100644 --- a/vendor/symfony/http-kernel/Tests/Fixtures/KernelWithoutBundles.php +++ b/vendor/symfony/http-kernel/Tests/Fixtures/KernelWithoutBundles.php @@ -26,6 +26,11 @@ class KernelWithoutBundles extends Kernel { } + public function getProjectDir() + { + return __DIR__; + } + protected function build(ContainerBuilder $container) { $container->setParameter('test_executed', true); diff --git a/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php b/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php index a296aa0e1..0dfaa7968 100644 --- a/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php +++ b/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php @@ -88,7 +88,7 @@ class FragmentHandlerTest extends TestCase ; if ($arguments) { - \call_user_func_array(array($e, 'with'), $arguments); + $e->with(...$arguments); } $handler = new FragmentHandler($this->requestStack); diff --git a/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php b/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php index f633a4bf7..ceaa249ab 100644 --- a/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php +++ b/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php @@ -145,6 +145,26 @@ class InlineFragmentRendererTest extends TestCase $this->assertEquals('Foo', ob_get_clean()); } + public function testLocaleAndFormatAreIsKeptInSubrequest() + { + $expectedSubRequest = Request::create('/'); + $expectedSubRequest->attributes->set('_format', 'foo'); + $expectedSubRequest->setLocale('fr'); + if (Request::HEADER_X_FORWARDED_FOR & Request::getTrustedHeaderSet()) { + $expectedSubRequest->headers->set('x-forwarded-for', array('127.0.0.1')); + $expectedSubRequest->server->set('HTTP_X_FORWARDED_FOR', '127.0.0.1'); + } + $expectedSubRequest->headers->set('forwarded', array('for="127.0.0.1";host="localhost";proto=http')); + $expectedSubRequest->server->set('HTTP_FORWARDED', 'for="127.0.0.1";host="localhost";proto=http'); + + $strategy = new InlineFragmentRenderer($this->getKernelExpectingRequest($expectedSubRequest)); + + $request = Request::create('/'); + $request->attributes->set('_format', 'foo'); + $request->setLocale('fr'); + $strategy->render('/', $request); + } + public function testESIHeaderIsKeptInSubrequest() { $expectedSubRequest = Request::create('/'); diff --git a/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php index 863ad7614..846caee4c 100644 --- a/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php +++ b/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php @@ -234,7 +234,7 @@ class EsiTest extends TestCase if (\is_array($response)) { $cache->expects($this->any()) ->method('handle') - ->will(\call_user_func_array(array($this, 'onConsecutiveCalls'), $response)) + ->will($this->onConsecutiveCalls(...$response)) ; } else { $cache->expects($this->any()) diff --git a/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php index 26ef6cb2b..1f1fbf849 100644 --- a/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php +++ b/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php @@ -201,7 +201,7 @@ class SsiTest extends TestCase if (\is_array($response)) { $cache->expects($this->any()) ->method('handle') - ->will(\call_user_func_array(array($this, 'onConsecutiveCalls'), $response)) + ->will($this->onConsecutiveCalls(...$response)) ; } else { $cache->expects($this->any()) diff --git a/vendor/symfony/http-kernel/Tests/HttpKernelTest.php b/vendor/symfony/http-kernel/Tests/HttpKernelTest.php index c5326a334..129fa704b 100644 --- a/vendor/symfony/http-kernel/Tests/HttpKernelTest.php +++ b/vendor/symfony/http-kernel/Tests/HttpKernelTest.php @@ -23,6 +23,7 @@ use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface; use Symfony\Component\HttpKernel\Event\FilterControllerArgumentsEvent; use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; +use Symfony\Component\HttpKernel\Exception\ControllerDoesNotReturnResponseException; use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException; use Symfony\Component\HttpKernel\HttpKernel; use Symfony\Component\HttpKernel\HttpKernelInterface; @@ -211,15 +212,23 @@ class HttpKernelTest extends TestCase $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request())); } - /** - * @expectedException \LogicException - */ public function testHandleWhenTheControllerDoesNotReturnAResponse() { $dispatcher = new EventDispatcher(); $kernel = $this->getHttpKernel($dispatcher, function () { return 'foo'; }); - $kernel->handle(new Request()); + try { + $kernel->handle(new Request()); + + $this->fail('The kernel should throw an exception.'); + } catch (ControllerDoesNotReturnResponseException $e) { + } + + $first = $e->getTrace()[0]; + + // `file` index the array starting at 0, and __FILE__ starts at 1 + $line = file($first['file'])[$first['line'] - 2]; + $this->assertContains('// call controller', $line); } public function testHandleWhenTheControllerDoesNotReturnAResponseButAViewIsRegistered() @@ -265,7 +274,7 @@ class HttpKernelTest extends TestCase $oldArguments = $event->getArguments(); $newController = function ($id) use ($oldController, $oldArguments) { - $response = \call_user_func_array($oldController, $oldArguments); + $response = $oldController(...$oldArguments); $response->headers->set('X-Id', $id); diff --git a/vendor/symfony/http-kernel/Tests/KernelTest.php b/vendor/symfony/http-kernel/Tests/KernelTest.php index 8926f2087..2b581398c 100644 --- a/vendor/symfony/http-kernel/Tests/KernelTest.php +++ b/vendor/symfony/http-kernel/Tests/KernelTest.php @@ -33,7 +33,7 @@ class KernelTest extends TestCase public static function tearDownAfterClass() { $fs = new Filesystem(); - $fs->remove(__DIR__.'/Fixtures/cache'); + $fs->remove(__DIR__.'/Fixtures/var'); } public function testConstructor() @@ -67,15 +67,15 @@ class KernelTest extends TestCase public function testInitializeContainerClearsOldContainers() { $fs = new Filesystem(); - $legacyContainerDir = __DIR__.'/Fixtures/cache/custom/ContainerA123456'; + $legacyContainerDir = __DIR__.'/Fixtures/var/cache/custom/ContainerA123456'; $fs->mkdir($legacyContainerDir); touch($legacyContainerDir.'.legacy'); $kernel = new CustomProjectDirKernel(); $kernel->boot(); - $containerDir = __DIR__.'/Fixtures/cache/custom/'.substr(\get_class($kernel->getContainer()), 0, 16); - $this->assertTrue(unlink(__DIR__.'/Fixtures/cache/custom/FixturesCustomDebugProjectContainer.php.meta')); + $containerDir = __DIR__.'/Fixtures/var/cache/custom/'.substr(\get_class($kernel->getContainer()), 0, 16); + $this->assertTrue(unlink(__DIR__.'/Fixtures/var/cache/custom/TestsSymfony_Component_HttpKernel_Tests_CustomProjectDirKernelCustomDebugContainer.php.meta')); $this->assertFileExists($containerDir); $this->assertFileNotExists($containerDir.'.legacy'); @@ -295,6 +295,9 @@ EOF; $this->assertEquals($expected, $output); } + /** + * @group legacy + */ public function testGetRootDir() { $kernel = new KernelForTest('test', true); @@ -302,6 +305,9 @@ EOF; $this->assertEquals(__DIR__.\DIRECTORY_SEPARATOR.'Fixtures', realpath($kernel->getRootDir())); } + /** + * @group legacy + */ public function testGetName() { $kernel = new KernelForTest('test', true); @@ -309,6 +315,9 @@ EOF; $this->assertEquals('Fixtures', $kernel->getName()); } + /** + * @group legacy + */ public function testOverrideGetName() { $kernel = new KernelForOverrideName('test', true); @@ -506,40 +515,32 @@ EOF; $this->assertTrue($kernel->getContainer()->getParameter('test_executed')); } - public function testKernelRootDirNameStartingWithANumber() - { - $dir = __DIR__.'/Fixtures/123'; - require_once $dir.'/Kernel123.php'; - $kernel = new \Symfony\Component\HttpKernel\Tests\Fixtures\_123\Kernel123('dev', true); - $this->assertEquals('_123', $kernel->getName()); - } - public function testProjectDirExtension() { $kernel = new CustomProjectDirKernel(); $kernel->boot(); - $this->assertSame('foo', $kernel->getProjectDir()); - $this->assertSame('foo', $kernel->getContainer()->getParameter('kernel.project_dir')); + $this->assertSame(__DIR__.'/Fixtures', $kernel->getProjectDir()); + $this->assertSame(__DIR__.\DIRECTORY_SEPARATOR.'Fixtures', $kernel->getContainer()->getParameter('kernel.project_dir')); } public function testKernelReset() { - (new Filesystem())->remove(__DIR__.'/Fixtures/cache'); + (new Filesystem())->remove(__DIR__.'/Fixtures/var/cache'); $kernel = new CustomProjectDirKernel(); $kernel->boot(); $containerClass = \get_class($kernel->getContainer()); $containerFile = (new \ReflectionClass($kernel->getContainer()))->getFileName(); - unlink(__DIR__.'/Fixtures/cache/custom/FixturesCustomDebugProjectContainer.php.meta'); + unlink(__DIR__.'/Fixtures/var/cache/custom/TestsSymfony_Component_HttpKernel_Tests_CustomProjectDirKernelCustomDebugContainer.php.meta'); $kernel = new CustomProjectDirKernel(); $kernel->boot(); $this->assertInstanceOf($containerClass, $kernel->getContainer()); $this->assertFileExists($containerFile); - unlink(__DIR__.'/Fixtures/cache/custom/FixturesCustomDebugProjectContainer.php.meta'); + unlink(__DIR__.'/Fixtures/var/cache/custom/TestsSymfony_Component_HttpKernel_Tests_CustomProjectDirKernelCustomDebugContainer.php.meta'); $kernel = new CustomProjectDirKernel(function ($container) { $container->register('foo', 'stdClass')->setPublic(true); }); $kernel->boot(); @@ -707,11 +708,10 @@ class CustomProjectDirKernel extends Kernel private $buildContainer; private $httpKernel; - public function __construct(\Closure $buildContainer = null, HttpKernelInterface $httpKernel = null, $name = 'custom') + public function __construct(\Closure $buildContainer = null, HttpKernelInterface $httpKernel = null, $env = 'custom') { - parent::__construct($name, true); + parent::__construct($env, true); - $this->baseDir = 'foo'; $this->buildContainer = $buildContainer; $this->httpKernel = $httpKernel; } @@ -726,11 +726,6 @@ class CustomProjectDirKernel extends Kernel } public function getProjectDir() - { - return $this->baseDir; - } - - public function getRootDir() { return __DIR__.'/Fixtures'; } diff --git a/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php index a1db1d9c0..e64c622c3 100644 --- a/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php +++ b/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php @@ -22,7 +22,7 @@ class FileProfilerStorageTest extends TestCase protected function setUp() { - $this->tmpDir = sys_get_temp_dir().'/sf2_profiler_file_storage'; + $this->tmpDir = sys_get_temp_dir().'/sf_profiler_file_storage'; if (is_dir($this->tmpDir)) { self::cleanDir(); } diff --git a/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php b/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php index cff133c1a..2f7e8dd28 100644 --- a/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php +++ b/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php @@ -84,7 +84,7 @@ class ProfilerTest extends TestCase protected function setUp() { - $this->tmp = tempnam(sys_get_temp_dir(), 'sf2_profiler'); + $this->tmp = tempnam(sys_get_temp_dir(), 'sf_profiler'); if (file_exists($this->tmp)) { @unlink($this->tmp); } diff --git a/vendor/symfony/http-kernel/composer.json b/vendor/symfony/http-kernel/composer.json index 4d7ab116f..8228377e0 100644 --- a/vendor/symfony/http-kernel/composer.json +++ b/vendor/symfony/http-kernel/composer.json @@ -17,6 +17,7 @@ ], "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/event-dispatcher": "~4.1", "symfony/http-foundation": "^4.1.1", "symfony/debug": "~3.4|~4.0", @@ -28,7 +29,7 @@ "symfony/config": "~3.4|~4.0", "symfony/console": "~3.4|~4.0", "symfony/css-selector": "~3.4|~4.0", - "symfony/dependency-injection": "^4.1", + "symfony/dependency-injection": "^4.2", "symfony/dom-crawler": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0", @@ -36,7 +37,7 @@ "symfony/routing": "~3.4|~4.0", "symfony/stopwatch": "~3.4|~4.0", "symfony/templating": "~3.4|~4.0", - "symfony/translation": "~3.4|~4.0", + "symfony/translation": "~4.2", "symfony/var-dumper": "^4.1.1", "psr/cache": "~1.0" }, @@ -45,7 +46,8 @@ }, "conflict": { "symfony/config": "<3.4", - "symfony/dependency-injection": "<4.1", + "symfony/dependency-injection": "<4.2", + "symfony/translation": "<4.2", "symfony/var-dumper": "<4.1.1", "twig/twig": "<1.34|<2.4,>=2" }, @@ -65,7 +67,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/http-kernel/phpunit.xml.dist b/vendor/symfony/http-kernel/phpunit.xml.dist index e0de769dd..3fc07707f 100644 --- a/vendor/symfony/http-kernel/phpunit.xml.dist +++ b/vendor/symfony/http-kernel/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/options-resolver/CHANGELOG.md b/vendor/symfony/options-resolver/CHANGELOG.md index 6e9d49fb6..a6f8f0ff4 100644 --- a/vendor/symfony/options-resolver/CHANGELOG.md +++ b/vendor/symfony/options-resolver/CHANGELOG.md @@ -1,6 +1,12 @@ CHANGELOG ========= +4.2.0 +----- + + * added support for nested options definition + * added `setDeprecated` and `isDeprecated` methods + 3.4.0 ----- diff --git a/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php b/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php index dca9cb496..fb898326a 100644 --- a/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php +++ b/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php @@ -87,4 +87,14 @@ class OptionsResolverIntrospector { return \call_user_func($this->get, 'normalizers', $option, sprintf('No normalizer was set for the "%s" option.', $option)); } + + /** + * @return string|\Closure + * + * @throws NoConfigurationException on no configured deprecation + */ + public function getDeprecationMessage(string $option) + { + return \call_user_func($this->get, 'deprecated', $option, sprintf('No deprecation was set for the "%s" option.', $option)); + } } diff --git a/vendor/symfony/options-resolver/Exception/ExceptionInterface.php b/vendor/symfony/options-resolver/Exception/ExceptionInterface.php index b62bb51d4..ea99d050e 100644 --- a/vendor/symfony/options-resolver/Exception/ExceptionInterface.php +++ b/vendor/symfony/options-resolver/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\OptionsResolver\Exception; * * @author Bernhard Schussek <bschussek@gmail.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/options-resolver/Options.php b/vendor/symfony/options-resolver/Options.php index d444ec423..d18374cb9 100644 --- a/vendor/symfony/options-resolver/Options.php +++ b/vendor/symfony/options-resolver/Options.php @@ -16,6 +16,8 @@ namespace Symfony\Component\OptionsResolver; * * @author Bernhard Schussek <bschussek@gmail.com> * @author Tobias Schultze <http://tobion.de> + * + * @method mixed offsetGet(string $option, bool $triggerDeprecation = true) */ interface Options extends \ArrayAccess, \Countable { diff --git a/vendor/symfony/options-resolver/OptionsResolver.php b/vendor/symfony/options-resolver/OptionsResolver.php index 73e35a961..5d238f509 100644 --- a/vendor/symfony/options-resolver/OptionsResolver.php +++ b/vendor/symfony/options-resolver/OptionsResolver.php @@ -12,6 +12,7 @@ namespace Symfony\Component\OptionsResolver; use Symfony\Component\OptionsResolver\Exception\AccessException; +use Symfony\Component\OptionsResolver\Exception\InvalidArgumentException; use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; use Symfony\Component\OptionsResolver\Exception\MissingOptionsException; use Symfony\Component\OptionsResolver\Exception\NoSuchOptionException; @@ -36,6 +37,13 @@ class OptionsResolver implements Options */ private $defaults = array(); + /** + * A list of closure for nested options. + * + * @var \Closure[][] + */ + private $nested = array(); + /** * The names of required options. */ @@ -75,6 +83,16 @@ class OptionsResolver implements Options */ private $calling = array(); + /** + * A list of deprecated options. + */ + private $deprecated = array(); + + /** + * The list of options provided by the user. + */ + private $given = array(); + /** * Whether the instance is locked for reading. * @@ -124,6 +142,20 @@ class OptionsResolver implements Options * is spread across different locations of your code, such as base and * sub-classes. * + * If you want to define nested options, you can pass a closure with the + * following signature: + * + * $options->setDefault('database', function (OptionsResolver $resolver) { + * $resolver->setDefined(array('dbname', 'host', 'port', 'user', 'pass')); + * } + * + * To get access to the parent options, add a second argument to the closure's + * signature: + * + * function (OptionsResolver $resolver, Options $parent) { + * // 'default' === $parent['connection'] + * } + * * @param string $option The name of the option * @param mixed $value The default value of the option * @@ -161,15 +193,27 @@ class OptionsResolver implements Options $this->lazy[$option][] = $value; $this->defined[$option] = true; - // Make sure the option is processed - unset($this->resolved[$option]); + // Make sure the option is processed and is not nested anymore + unset($this->resolved[$option], $this->nested[$option]); + + return $this; + } + + if (isset($params[0]) && null !== ($class = $params[0]->getClass()) && self::class === $class->name && (!isset($params[1]) || (null !== ($class = $params[1]->getClass()) && Options::class === $class->name))) { + // Store closure for later evaluation + $this->nested[$option][] = $value; + $this->defaults[$option] = array(); + $this->defined[$option] = true; + + // Make sure the option is processed and is not lazy anymore + unset($this->resolved[$option], $this->lazy[$option]); return $this; } } - // This option is not lazy anymore - unset($this->lazy[$option]); + // This option is not lazy nor nested anymore + unset($this->lazy[$option], $this->nested[$option]); // Yet undefined options can be marked as resolved, because we only need // to resolve options with lazy closures, normalizers or validation @@ -348,16 +392,70 @@ class OptionsResolver implements Options return array_keys($this->defined); } + public function isNested(string $option): bool + { + return isset($this->nested[$option]); + } + + /** + * Deprecates an option, allowed types or values. + * + * Instead of passing the message, you may also pass a closure with the + * following signature: + * + * function (Options $options, $value): string { + * // ... + * } + * + * The closure receives the value as argument and should return a string. + * Return an empty string to ignore the option deprecation. + * + * The closure is invoked when {@link resolve()} is called. The parameter + * passed to the closure is the value of the option after validating it + * and before normalizing it. + * + * @param string|\Closure $deprecationMessage + */ + public function setDeprecated(string $option, $deprecationMessage = 'The option "%name%" is deprecated.'): self + { + if ($this->locked) { + throw new AccessException('Options cannot be deprecated from a lazy option or normalizer.'); + } + + if (!isset($this->defined[$option])) { + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist, defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); + } + + if (!\is_string($deprecationMessage) && !$deprecationMessage instanceof \Closure) { + throw new InvalidArgumentException(sprintf('Invalid type for deprecation message argument, expected string or \Closure, but got "%s".', \gettype($deprecationMessage))); + } + + // ignore if empty string + if ('' === $deprecationMessage) { + return $this; + } + + $this->deprecated[$option] = $deprecationMessage; + + // Make sure the option is processed + unset($this->resolved[$option]); + + return $this; + } + + public function isDeprecated(string $option): bool + { + return isset($this->deprecated[$option]); + } + /** * Sets the normalizer for an option. * * The normalizer should be a closure with the following signature: * - * ```php - * function (Options $options, $value) { - * // ... - * } - * ``` + * function (Options $options, $value) { + * // ... + * } * * The closure is invoked when {@link resolve()} is called. The closure * has access to the resolved values of other options through the passed @@ -383,11 +481,7 @@ class OptionsResolver implements Options } if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } $this->normalizers[$option] = $normalizer; @@ -426,11 +520,7 @@ class OptionsResolver implements Options } if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } $this->allowedValues[$option] = \is_array($allowedValues) ? $allowedValues : array($allowedValues); @@ -471,11 +561,7 @@ class OptionsResolver implements Options } if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } if (!\is_array($allowedValues)) { @@ -516,11 +602,7 @@ class OptionsResolver implements Options } if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } $this->allowedTypes[$option] = (array) $allowedTypes; @@ -555,11 +637,7 @@ class OptionsResolver implements Options } if (!isset($this->defined[$option])) { - throw new UndefinedOptionsException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new UndefinedOptionsException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } if (!isset($this->allowedTypes[$option])) { @@ -614,12 +692,14 @@ class OptionsResolver implements Options $this->defined = array(); $this->defaults = array(); + $this->nested = array(); $this->required = array(); $this->resolved = array(); $this->lazy = array(); $this->normalizers = array(); $this->allowedTypes = array(); $this->allowedValues = array(); + $this->deprecated = array(); return $this; } @@ -664,15 +744,12 @@ class OptionsResolver implements Options ksort($clone->defined); ksort($diff); - throw new UndefinedOptionsException(sprintf( - (\count($diff) > 1 ? 'The options "%s" do not exist.' : 'The option "%s" does not exist.').' Defined options are: "%s".', - implode('", "', array_keys($diff)), - implode('", "', array_keys($clone->defined)) - )); + throw new UndefinedOptionsException(sprintf((\count($diff) > 1 ? 'The options "%s" do not exist.' : 'The option "%s" does not exist.').' Defined options are: "%s".', implode('", "', array_keys($diff)), implode('", "', array_keys($clone->defined)))); } // Override options set by the user foreach ($options as $option => $value) { + $clone->given[$option] = true; $clone->defaults[$option] = $value; unset($clone->resolved[$option], $clone->lazy[$option]); } @@ -683,10 +760,7 @@ class OptionsResolver implements Options if (\count($diff) > 0) { ksort($diff); - throw new MissingOptionsException(sprintf( - \count($diff) > 1 ? 'The required options "%s" are missing.' : 'The required option "%s" is missing.', - implode('", "', array_keys($diff)) - )); + throw new MissingOptionsException(sprintf(\count($diff) > 1 ? 'The required options "%s" are missing.' : 'The required option "%s" is missing.', implode('", "', array_keys($diff)))); } // Lock the container @@ -704,7 +778,8 @@ class OptionsResolver implements Options /** * Returns the resolved value of an option. * - * @param string $option The option name + * @param string $option The option name + * @param bool $triggerDeprecation Whether to trigger the deprecation or not (true by default) * * @return mixed The option value * @@ -716,44 +791,64 @@ class OptionsResolver implements Options * @throws OptionDefinitionException If there is a cyclic dependency between * lazy options and/or normalizers */ - public function offsetGet($option) + public function offsetGet($option/*, bool $triggerDeprecation = true*/) { if (!$this->locked) { throw new AccessException('Array access is only supported within closures of lazy options and normalizers.'); } + $triggerDeprecation = 1 === \func_num_args() || \func_get_arg(1); + // Shortcut for resolved options - if (array_key_exists($option, $this->resolved)) { + if (isset($this->resolved[$option]) || array_key_exists($option, $this->resolved)) { + if ($triggerDeprecation && isset($this->deprecated[$option]) && (isset($this->given[$option]) || $this->calling) && \is_string($this->deprecated[$option])) { + @trigger_error(strtr($this->deprecated[$option], array('%name%' => $option)), E_USER_DEPRECATED); + } + return $this->resolved[$option]; } // Check whether the option is set at all - if (!array_key_exists($option, $this->defaults)) { + if (!isset($this->defaults[$option]) && !array_key_exists($option, $this->defaults)) { if (!isset($this->defined[$option])) { - throw new NoSuchOptionException(sprintf( - 'The option "%s" does not exist. Defined options are: "%s".', - $option, - implode('", "', array_keys($this->defined)) - )); + throw new NoSuchOptionException(sprintf('The option "%s" does not exist. Defined options are: "%s".', $option, implode('", "', array_keys($this->defined)))); } - throw new NoSuchOptionException(sprintf( - 'The optional option "%s" has no value set. You should make sure it is set with "isset" before reading it.', - $option - )); + throw new NoSuchOptionException(sprintf('The optional option "%s" has no value set. You should make sure it is set with "isset" before reading it.', $option)); } $value = $this->defaults[$option]; + // Resolve the option if it is a nested definition + if (isset($this->nested[$option])) { + // If the closure is already being called, we have a cyclic dependency + if (isset($this->calling[$option])) { + throw new OptionDefinitionException(sprintf('The options "%s" have a cyclic dependency.', implode('", "', array_keys($this->calling)))); + } + + if (!\is_array($value)) { + throw new InvalidOptionsException(sprintf('The nested option "%s" with value %s is expected to be of type array, but is of type "%s".', $option, $this->formatValue($value), $this->formatTypeOf($value))); + } + + // The following section must be protected from cyclic calls. + $this->calling[$option] = true; + try { + $resolver = new self(); + foreach ($this->nested[$option] as $closure) { + $closure($resolver, $this); + } + $value = $resolver->resolve($value); + } finally { + unset($this->calling[$option]); + } + } + // Resolve the option if the default value is lazily evaluated if (isset($this->lazy[$option])) { // If the closure is already being called, we have a cyclic // dependency if (isset($this->calling[$option])) { - throw new OptionDefinitionException(sprintf( - 'The options "%s" have a cyclic dependency.', - implode('", "', array_keys($this->calling)) - )); + throw new OptionDefinitionException(sprintf('The options "%s" have a cyclic dependency.', implode('", "', array_keys($this->calling)))); } // The following section must be protected from cyclic @@ -777,7 +872,7 @@ class OptionsResolver implements Options $invalidTypes = array(); foreach ($this->allowedTypes[$option] as $type) { - $type = isset(self::$typeAliases[$type]) ? self::$typeAliases[$type] : $type; + $type = self::$typeAliases[$type] ?? $type; if ($valid = $this->verifyTypes($type, $value, $invalidTypes)) { break; @@ -809,7 +904,9 @@ class OptionsResolver implements Options // Don't include closures in the exception message continue; - } elseif ($value === $allowedValue) { + } + + if ($value === $allowedValue) { $success = true; break; } @@ -835,15 +932,38 @@ class OptionsResolver implements Options } } + // Check whether the option is deprecated + // and it is provided by the user or is being called from a lazy evaluation + if ($triggerDeprecation && isset($this->deprecated[$option]) && (isset($this->given[$option]) || ($this->calling && \is_string($this->deprecated[$option])))) { + $deprecationMessage = $this->deprecated[$option]; + + if ($deprecationMessage instanceof \Closure) { + // If the closure is already being called, we have a cyclic dependency + if (isset($this->calling[$option])) { + throw new OptionDefinitionException(sprintf('The options "%s" have a cyclic dependency.', implode('", "', array_keys($this->calling)))); + } + + $this->calling[$option] = true; + try { + if (!\is_string($deprecationMessage = $deprecationMessage($this, $value))) { + throw new InvalidOptionsException(sprintf('Invalid type for deprecation message, expected string but got "%s", return an empty string to ignore.', \gettype($deprecationMessage))); + } + } finally { + unset($this->calling[$option]); + } + } + + if ('' !== $deprecationMessage) { + @trigger_error(strtr($deprecationMessage, array('%name%' => $option)), E_USER_DEPRECATED); + } + } + // Normalize the validated option if (isset($this->normalizers[$option])) { // If the closure is already being called, we have a cyclic // dependency if (isset($this->calling[$option])) { - throw new OptionDefinitionException(sprintf( - 'The options "%s" have a cyclic dependency.', - implode('", "', array_keys($this->calling)) - )); + throw new OptionDefinitionException(sprintf('The options "%s" have a cyclic dependency.', implode('", "', array_keys($this->calling)))); } $normalizer = $this->normalizers[$option]; @@ -867,60 +987,35 @@ class OptionsResolver implements Options return $value; } - private function verifyTypes(string $type, $value, array &$invalidTypes): bool + private function verifyTypes(string $type, $value, array &$invalidTypes, int $level = 0): bool { if (\is_array($value) && '[]' === substr($type, -2)) { - return $this->verifyArrayType($type, $value, $invalidTypes); + $type = substr($type, 0, -2); + + foreach ($value as $val) { + if (!$this->verifyTypes($type, $val, $invalidTypes, $level + 1)) { + return false; + } + } + + return true; } - if (self::isValueValidType($type, $value)) { + if (('null' === $type && null === $value) || (\function_exists($func = 'is_'.$type) && $func($value)) || $value instanceof $type) { return true; } if (!$invalidTypes) { - $invalidTypes[$this->formatTypeOf($value, null)] = true; + $suffix = ''; + while (\strlen($suffix) < $level * 2) { + $suffix .= '[]'; + } + $invalidTypes[$this->formatTypeOf($value).$suffix] = true; } return false; } - private function verifyArrayType(string $type, array $value, array &$invalidTypes, int $level = 0): bool - { - $type = substr($type, 0, -2); - - $suffix = '[]'; - while (\strlen($suffix) <= $level * 2) { - $suffix .= '[]'; - } - - if ('[]' === substr($type, -2)) { - $success = true; - foreach ($value as $item) { - if (!\is_array($item)) { - $invalidTypes[$this->formatTypeOf($item, null).$suffix] = true; - - return false; - } - - if (!$this->verifyArrayType($type, $item, $invalidTypes, $level + 1)) { - $success = false; - } - } - - return $success; - } - - foreach ($value as $item) { - if (!self::isValueValidType($type, $item)) { - $invalidTypes[$this->formatTypeOf($item, $type).$suffix] = $value; - - return false; - } - } - - return true; - } - /** * Returns whether a resolved option with the given name exists. * @@ -984,40 +1079,13 @@ class OptionsResolver implements Options /** * Returns a string representation of the type of the value. * - * This method should be used if you pass the type of a value as - * message parameter to a constraint violation. Note that such - * parameters should usually not be included in messages aimed at - * non-technical people. - * * @param mixed $value The value to return the type of + * + * @return string The type of the value */ - private function formatTypeOf($value, ?string $type): string + private function formatTypeOf($value): string { - $suffix = ''; - - if (null !== $type && '[]' === substr($type, -2)) { - $suffix = '[]'; - $type = substr($type, 0, -2); - while ('[]' === substr($type, -2)) { - $type = substr($type, 0, -2); - $value = array_shift($value); - if (!\is_array($value)) { - break; - } - $suffix .= '[]'; - } - - if (\is_array($value)) { - $subTypes = array(); - foreach ($value as $val) { - $subTypes[$this->formatTypeOf($val, null)] = true; - } - - return implode('|', array_keys($subTypes)).$suffix; - } - } - - return (\is_object($value) ? \get_class($value) : \gettype($value)).$suffix; + return \is_object($value) ? \get_class($value) : \gettype($value); } /** @@ -1078,22 +1146,4 @@ class OptionsResolver implements Options return implode(', ', $values); } - - private static function isValueValidType(string $type, $value): bool - { - return (\function_exists($isFunction = 'is_'.$type) && $isFunction($value)) || $value instanceof $type; - } - - private function getInvalidValues(array $arrayValues, string $type): array - { - $invalidValues = array(); - - foreach ($arrayValues as $key => $value) { - if (!self::isValueValidType($type, $value)) { - $invalidValues[$key] = $value; - } - } - - return $invalidValues; - } } diff --git a/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php b/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php index 7c4753ab5..4bdce6f80 100644 --- a/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php +++ b/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php @@ -200,4 +200,49 @@ class OptionsResolverIntrospectorTest extends TestCase $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getNormalizer('foo')); } + + public function testGetDeprecationMessage() + { + $resolver = new OptionsResolver(); + $resolver->setDefined('foo'); + $resolver->setDeprecated('foo', 'The option "foo" is deprecated.'); + + $debug = new OptionsResolverIntrospector($resolver); + $this->assertSame('The option "foo" is deprecated.', $debug->getDeprecationMessage('foo')); + } + + public function testGetClosureDeprecationMessage() + { + $resolver = new OptionsResolver(); + $resolver->setDefined('foo'); + $resolver->setDeprecated('foo', $closure = function (Options $options, $value) {}); + + $debug = new OptionsResolverIntrospector($resolver); + $this->assertSame($closure, $debug->getDeprecationMessage('foo')); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException + * @expectedExceptionMessage No deprecation was set for the "foo" option. + */ + public function testGetDeprecationMessageThrowsOnNoConfiguredValue() + { + $resolver = new OptionsResolver(); + $resolver->setDefined('foo'); + + $debug = new OptionsResolverIntrospector($resolver); + $this->assertSame('bar', $debug->getDeprecationMessage('foo')); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException + * @expectedExceptionMessage The option "foo" does not exist. + */ + public function testGetDeprecationMessageThrowsOnNotDefinedOption() + { + $resolver = new OptionsResolver(); + + $debug = new OptionsResolverIntrospector($resolver); + $this->assertSame('bar', $debug->getDeprecationMessage('foo')); + } } diff --git a/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php b/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php index 449a53f6e..d996fdd26 100644 --- a/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php +++ b/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php @@ -450,6 +450,326 @@ class OptionsResolverTest extends TestCase $this->assertFalse($this->resolver->isDefined('foo')); } + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\AccessException + */ + public function testFailIfSetDeprecatedFromLazyOption() + { + $this->resolver + ->setDefault('bar', 'baz') + ->setDefault('foo', function (Options $options) { + $options->setDeprecated('bar'); + }) + ->resolve() + ; + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException + */ + public function testSetDeprecatedFailsIfUnknownOption() + { + $this->resolver->setDeprecated('foo'); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidArgumentException + * @expectedExceptionMessage Invalid type for deprecation message argument, expected string or \Closure, but got "boolean". + */ + public function testSetDeprecatedFailsIfInvalidDeprecationMessageType() + { + $this->resolver + ->setDefined('foo') + ->setDeprecated('foo', true) + ; + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidArgumentException + * @expectedExceptionMessage Invalid type for deprecation message, expected string but got "boolean", return an empty string to ignore. + */ + public function testLazyDeprecationFailsIfInvalidDeprecationMessageType() + { + $this->resolver + ->setDefined('foo') + ->setDeprecated('foo', function (Options $options, $value) { + return false; + }) + ; + $this->resolver->resolve(array('foo' => null)); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException + * @expectedExceptionMessage The options "foo", "bar" have a cyclic dependency. + */ + public function testFailsIfCyclicDependencyBetweenDeprecation() + { + $this->resolver + ->setDefined(array('foo', 'bar')) + ->setDeprecated('foo', function (Options $options, $value) { + $options['bar']; + }) + ->setDeprecated('bar', function (Options $options, $value) { + $options['foo']; + }) + ; + $this->resolver->resolve(array('foo' => null, 'bar' => null)); + } + + public function testIsDeprecated() + { + $this->resolver + ->setDefined('foo') + ->setDeprecated('foo') + ; + $this->assertTrue($this->resolver->isDeprecated('foo')); + } + + public function testIsNotDeprecatedIfEmptyString() + { + $this->resolver + ->setDefined('foo') + ->setDeprecated('foo', '') + ; + $this->assertFalse($this->resolver->isDeprecated('foo')); + } + + /** + * @dataProvider provideDeprecationData + */ + public function testDeprecationMessages(\Closure $configureOptions, array $options, ?array $expectedError, int $expectedCount) + { + $count = 0; + error_clear_last(); + set_error_handler(function () use (&$count) { + ++$count; + + return false; + }); + $e = error_reporting(0); + + $configureOptions($this->resolver); + $this->resolver->resolve($options); + + error_reporting($e); + restore_error_handler(); + + $lastError = error_get_last(); + unset($lastError['file'], $lastError['line']); + + $this->assertSame($expectedError, $lastError); + $this->assertSame($expectedCount, $count); + } + + public function provideDeprecationData() + { + yield 'It deprecates an option with default message' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefined(array('foo', 'bar')) + ->setDeprecated('foo') + ; + }, + array('foo' => 'baz'), + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'The option "foo" is deprecated.', + ), + 1, + ); + + yield 'It deprecates an option with custom message' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefined('foo') + ->setDefault('bar', function (Options $options) { + return $options['foo']; + }) + ->setDeprecated('foo', 'The option "foo" is deprecated, use "bar" option instead.') + ; + }, + array('foo' => 'baz'), + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'The option "foo" is deprecated, use "bar" option instead.', + ), + 2, + ); + + yield 'It deprecates an option evaluated in another definition' => array( + function (OptionsResolver $resolver) { + // defined by superclass + $resolver + ->setDefault('foo', null) + ->setDeprecated('foo') + ; + // defined by subclass + $resolver->setDefault('bar', function (Options $options) { + return $options['foo']; // It triggers a deprecation + }); + }, + array(), + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'The option "foo" is deprecated.', + ), + 1, + ); + + yield 'It deprecates allowed type and value' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefault('foo', null) + ->setAllowedTypes('foo', array('null', 'string', \stdClass::class)) + ->setDeprecated('foo', function (Options $options, $value) { + if ($value instanceof \stdClass) { + return sprintf('Passing an instance of "%s" to option "foo" is deprecated, pass its FQCN instead.', \stdClass::class); + } + + return ''; + }) + ; + }, + array('foo' => new \stdClass()), + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'Passing an instance of "stdClass" to option "foo" is deprecated, pass its FQCN instead.', + ), + 1, + ); + + yield 'It triggers a deprecation based on the value only if option is provided by the user' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefined('foo') + ->setAllowedTypes('foo', array('null', 'bool')) + ->setDeprecated('foo', function (Options $options, $value) { + if (!\is_bool($value)) { + return 'Passing a value different than true or false is deprecated.'; + } + + return ''; + }) + ->setDefault('baz', null) + ->setAllowedTypes('baz', array('null', 'int')) + ->setDeprecated('baz', function (Options $options, $value) { + if (!\is_int($value)) { + return 'Not passing an integer is deprecated.'; + } + + return ''; + }) + ->setDefault('bar', function (Options $options) { + $options['baz']; // It does not triggers a deprecation + + return $options['foo']; // It does not triggers a deprecation + }) + ; + }, + array('foo' => null), // It triggers a deprecation + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'Passing a value different than true or false is deprecated.', + ), + 1, + ); + + yield 'It ignores a deprecation if closure returns an empty string' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefault('foo', null) + ->setDeprecated('foo', function (Options $options, $value) { + return ''; + }) + ; + }, + array('foo' => Bar::class), + null, + 0, + ); + + yield 'It deprecates value depending on other option value' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefault('widget', null) + ->setDefault('date_format', null) + ->setDeprecated('date_format', function (Options $options, $dateFormat) { + if (null !== $dateFormat && 'single_text' === $options['widget']) { + return 'Using the "date_format" option when the "widget" option is set to "single_text" is deprecated.'; + } + + return ''; + }) + ; + }, + array('widget' => 'single_text', 'date_format' => 2), + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'Using the "date_format" option when the "widget" option is set to "single_text" is deprecated.', + ), + 1, + ); + + yield 'It triggers a deprecation for each evaluation' => array( + function (OptionsResolver $resolver) { + $resolver + // defined by superclass + ->setDefined('foo') + ->setDeprecated('foo') + // defined by subclass + ->setDefault('bar', function (Options $options) { + return $options['foo']; // It triggers a deprecation + }) + ->setNormalizer('bar', function (Options $options, $value) { + $options['foo']; // It triggers a deprecation + $options['foo']; // It triggers a deprecation + + return $value; + }) + ; + }, + array('foo' => 'baz'), // It triggers a deprecation + array( + 'type' => E_USER_DEPRECATED, + 'message' => 'The option "foo" is deprecated.', + ), + 4, + ); + + yield 'It ignores a deprecation if no option is provided by the user' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefined('foo') + ->setDefault('bar', null) + ->setDeprecated('foo') + ->setDeprecated('bar') + ; + }, + array(), + null, + 0, + ); + + yield 'It explicitly ignores a depreciation' => array( + function (OptionsResolver $resolver) { + $resolver + ->setDefault('baz', function (Options $options) { + return $options->offsetGet('foo', false); + }) + ->setDefault('foo', null) + ->setDeprecated('foo') + ->setDefault('bar', function (Options $options) { + return $options->offsetGet('foo', false); + }) + ; + }, + array(), + null, + 0, + ); + } + /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException */ @@ -1733,4 +2053,414 @@ class OptionsResolverTest extends TestCase ), )); } + + public function testIsNestedOption() + { + $this->resolver->setDefaults(array( + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefined(array('host', 'port')); + }, + )); + $this->assertTrue($this->resolver->isNested('database')); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException + * @expectedExceptionMessage The option "foo" does not exist. Defined options are: "host", "port". + */ + public function testFailsIfUndefinedNestedOption() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefined(array('host', 'port')); + }, + )); + $this->resolver->resolve(array( + 'database' => array('foo' => 'bar'), + )); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\MissingOptionsException + * @expectedExceptionMessage The required option "host" is missing. + */ + public function testFailsIfMissingRequiredNestedOption() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver->setRequired('host'); + }, + )); + $this->resolver->resolve(array( + 'database' => array(), + )); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException + * @expectedExceptionMessage The option "logging" with value null is expected to be of type "bool", but is of type "NULL". + */ + public function testFailsIfInvalidTypeNestedOption() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver + ->setDefined('logging') + ->setAllowedTypes('logging', 'bool'); + }, + )); + $this->resolver->resolve(array( + 'database' => array('logging' => null), + )); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException + * @expectedExceptionMessage The nested option "database" with value null is expected to be of type array, but is of type "NULL". + */ + public function testFailsIfNotArrayIsGivenForNestedOptions() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefined('host'); + }, + )); + $this->resolver->resolve(array( + 'database' => null, + )); + } + + public function testResolveNestedOptionsWithoutDefault() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefined(array('host', 'port')); + }, + )); + $actualOptions = $this->resolver->resolve(); + $expectedOptions = array( + 'name' => 'default', + 'database' => array(), + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testResolveNestedOptionsWithDefault() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefaults(array( + 'host' => 'localhost', + 'port' => 3306, + )); + }, + )); + $actualOptions = $this->resolver->resolve(); + $expectedOptions = array( + 'name' => 'default', + 'database' => array( + 'host' => 'localhost', + 'port' => 3306, + ), + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testResolveMultipleNestedOptions() + { + $this->resolver->setDefaults(array( + 'name' => 'default', + 'database' => function (OptionsResolver $resolver) { + $resolver + ->setRequired(array('dbname', 'host')) + ->setDefaults(array( + 'port' => 3306, + 'slaves' => function (OptionsResolver $resolver) { + $resolver->setDefaults(array( + 'host' => 'slave1', + 'port' => 3306, + )); + }, + )); + }, + )); + $actualOptions = $this->resolver->resolve(array( + 'name' => 'custom', + 'database' => array( + 'dbname' => 'test', + 'host' => 'localhost', + 'port' => null, + 'slaves' => array('host' => 'slave2'), + ), + )); + $expectedOptions = array( + 'name' => 'custom', + 'database' => array( + 'port' => null, + 'slaves' => array('port' => 3306, 'host' => 'slave2'), + 'dbname' => 'test', + 'host' => 'localhost', + ), + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testResolveLazyOptionUsingNestedOption() + { + $this->resolver->setDefaults(array( + 'version' => function (Options $options) { + return $options['database']['server_version']; + }, + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefault('server_version', '3.15'); + }, + )); + $actualOptions = $this->resolver->resolve(); + $expectedOptions = array( + 'database' => array('server_version' => '3.15'), + 'version' => '3.15', + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testNormalizeNestedOptionValue() + { + $this->resolver + ->setDefaults(array( + 'database' => function (OptionsResolver $resolver) { + $resolver->setDefaults(array( + 'port' => 3306, + 'host' => 'localhost', + 'dbname' => 'demo', + )); + }, + )) + ->setNormalizer('database', function (Options $options, $value) { + ksort($value); + + return $value; + }); + $actualOptions = $this->resolver->resolve(array( + 'database' => array('dbname' => 'test'), + )); + $expectedOptions = array( + 'database' => array('dbname' => 'test', 'host' => 'localhost', 'port' => 3306), + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testOverwrittenNestedOptionNotEvaluatedIfLazyDefault() + { + // defined by superclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + Assert::fail('Should not be called'); + }); + // defined by subclass + $this->resolver->setDefault('foo', function (Options $options) { + return 'lazy'; + }); + $this->assertSame(array('foo' => 'lazy'), $this->resolver->resolve()); + } + + public function testOverwrittenNestedOptionNotEvaluatedIfScalarDefault() + { + // defined by superclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + Assert::fail('Should not be called'); + }); + // defined by subclass + $this->resolver->setDefault('foo', 'bar'); + $this->assertSame(array('foo' => 'bar'), $this->resolver->resolve()); + } + + public function testOverwrittenLazyOptionNotEvaluatedIfNestedOption() + { + // defined by superclass + $this->resolver->setDefault('foo', function (Options $options) { + Assert::fail('Should not be called'); + }); + // defined by subclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + $resolver->setDefault('bar', 'baz'); + }); + $this->assertSame(array('foo' => array('bar' => 'baz')), $this->resolver->resolve()); + } + + public function testResolveAllNestedOptionDefinitions() + { + // defined by superclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + $resolver->setRequired('bar'); + }); + // defined by subclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + $resolver->setDefault('bar', 'baz'); + }); + // defined by subclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + $resolver->setDefault('ping', 'pong'); + }); + $this->assertSame(array('foo' => array('ping' => 'pong', 'bar' => 'baz')), $this->resolver->resolve()); + } + + public function testNormalizeNestedValue() + { + // defined by superclass + $this->resolver->setDefault('foo', function (OptionsResolver $resolver) { + $resolver->setDefault('bar', null); + }); + // defined by subclass + $this->resolver->setNormalizer('foo', function (Options $options, $resolvedValue) { + if (null === $resolvedValue['bar']) { + $resolvedValue['bar'] = 'baz'; + } + + return $resolvedValue; + }); + $this->assertSame(array('foo' => array('bar' => 'baz')), $this->resolver->resolve()); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException + */ + public function testFailsIfCyclicDependencyBetweenSameNestedOption() + { + $this->resolver->setDefault('database', function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('slaves', $parent['database']); + }); + $this->resolver->resolve(); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException + */ + public function testFailsIfCyclicDependencyBetweenNestedOptionAndParentLazyOption() + { + $this->resolver->setDefaults(array( + 'version' => function (Options $options) { + return $options['database']['server_version']; + }, + 'database' => function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('server_version', $parent['version']); + }, + )); + $this->resolver->resolve(); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException + */ + public function testFailsIfCyclicDependencyBetweenNormalizerAndNestedOption() + { + $this->resolver + ->setDefault('name', 'default') + ->setDefault('database', function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('host', $parent['name']); + }) + ->setNormalizer('name', function (Options $options, $value) { + $options['database']; + }); + $this->resolver->resolve(); + } + + /** + * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException + */ + public function testFailsIfCyclicDependencyBetweenNestedOptions() + { + $this->resolver->setDefault('database', function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('host', $parent['slave']['host']); + }); + $this->resolver->setDefault('slave', function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('host', $parent['database']['host']); + }); + $this->resolver->resolve(); + } + + public function testGetAccessToParentOptionFromNestedOption() + { + $this->resolver->setDefaults(array( + 'version' => 3.15, + 'database' => function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('server_version', $parent['version']); + }, + )); + $this->assertSame(array('version' => 3.15, 'database' => array('server_version' => 3.15)), $this->resolver->resolve()); + } + + public function testNestedClosureWithoutTypeHintNotInvoked() + { + $closure = function ($resolver) { + Assert::fail('Should not be called'); + }; + $this->resolver->setDefault('foo', $closure); + $this->assertSame(array('foo' => $closure), $this->resolver->resolve()); + } + + public function testNestedClosureWithoutTypeHint2ndArgumentNotInvoked() + { + $closure = function (OptionsResolver $resolver, $parent) { + Assert::fail('Should not be called'); + }; + $this->resolver->setDefault('foo', $closure); + $this->assertSame(array('foo' => $closure), $this->resolver->resolve()); + } + + public function testResolveLazyOptionWithTransitiveDefaultDependency() + { + $this->resolver->setDefaults(array( + 'ip' => null, + 'database' => function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('host', $parent['ip']); + $resolver->setDefault('master_slave', function (OptionsResolver $resolver, Options $parent) { + $resolver->setDefault('host', $parent['host']); + }); + }, + 'secondary_slave' => function (Options $options) { + return $options['database']['master_slave']['host']; + }, + )); + $actualOptions = $this->resolver->resolve(array('ip' => '127.0.0.1')); + $expectedOptions = array( + 'ip' => '127.0.0.1', + 'database' => array( + 'host' => '127.0.0.1', + 'master_slave' => array('host' => '127.0.0.1'), + ), + 'secondary_slave' => '127.0.0.1', + ); + $this->assertSame($expectedOptions, $actualOptions); + } + + public function testAccessToParentOptionFromNestedNormalizerAndLazyOption() + { + $this->resolver->setDefaults(array( + 'debug' => true, + 'database' => function (OptionsResolver $resolver, Options $parent) { + $resolver + ->setDefined('logging') + ->setDefault('profiling', function (Options $options) use ($parent) { + return $parent['debug']; + }) + ->setNormalizer('logging', function (Options $options, $value) use ($parent) { + return false === $parent['debug'] ? true : $value; + }); + }, + )); + $actualOptions = $this->resolver->resolve(array( + 'debug' => false, + 'database' => array('logging' => false), + )); + $expectedOptions = array( + 'debug' => false, + 'database' => array('profiling' => false, 'logging' => true), + ); + $this->assertSame($expectedOptions, $actualOptions); + } } diff --git a/vendor/symfony/options-resolver/composer.json b/vendor/symfony/options-resolver/composer.json index e78b66f25..1c819495b 100644 --- a/vendor/symfony/options-resolver/composer.json +++ b/vendor/symfony/options-resolver/composer.json @@ -27,7 +27,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/options-resolver/phpunit.xml.dist b/vendor/symfony/options-resolver/phpunit.xml.dist index 7e04e6049..9a2ec111c 100644 --- a/vendor/symfony/options-resolver/phpunit.xml.dist +++ b/vendor/symfony/options-resolver/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/polyfill-mbstring/Mbstring.php b/vendor/symfony/polyfill-mbstring/Mbstring.php index 1f568b400..a5e4a8fde 100644 --- a/vendor/symfony/polyfill-mbstring/Mbstring.php +++ b/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -72,8 +72,8 @@ final class Mbstring private static $language = 'neutral'; private static $internalEncoding = 'UTF-8'; private static $caseFold = array( - array('µ','ſ',"\xCD\x85",'ς',"\xCF\x90","\xCF\x91","\xCF\x95","\xCF\x96","\xCF\xB0","\xCF\xB1","\xCF\xB5","\xE1\xBA\x9B","\xE1\xBE\xBE"), - array('μ','s','ι', 'σ','β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1",'ι'), + array('µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"), + array('μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1", 'ι'), ); public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) @@ -141,7 +141,8 @@ final class Mbstring public static function mb_decode_numericentity($s, $convmap, $encoding = null) { if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { - trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING); + trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); + return null; } @@ -150,7 +151,8 @@ final class Mbstring } if (null !== $encoding && !\is_scalar($encoding)) { - trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING); + trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); + return ''; // Instead of null (cf. mb_encode_numericentity). } @@ -185,6 +187,7 @@ final class Mbstring return Mbstring::mb_chr($c - $convmap[$i + 2]); } } + return $m[0]; }, $s); @@ -198,7 +201,8 @@ final class Mbstring public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false) { if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { - trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING); + trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.\gettype($s).' given', E_USER_WARNING); + return null; } @@ -207,12 +211,14 @@ final class Mbstring } if (null !== $encoding && !\is_scalar($encoding)) { - trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING); + trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.\gettype($s).' given', E_USER_WARNING); + return null; // Instead of '' (cf. mb_decode_numericentity). } if (null !== $is_hex && !\is_scalar($is_hex)) { - trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.gettype($s).' given', E_USER_WARNING); + trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.\gettype($s).' given', E_USER_WARNING); + return null; } @@ -327,7 +333,7 @@ final class Mbstring } else { $s = substr_replace($s, $uchr, $i - $ulen, $ulen); $len += $nlen - $ulen; - $i += $nlen - $ulen; + $i += $nlen - $ulen; } } } @@ -455,6 +461,7 @@ final class Mbstring if (strncmp($enc, 'ISO-8859-', 9)) { return false; } + // no break case 'ASCII': case 'UTF8': case 'UTF-8': @@ -704,6 +711,10 @@ final class Mbstring $s = mb_convert_encoding($s, 'UTF-8', $encoding); } + if (1 === \strlen($s)) { + return \ord($s); + } + $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; if (0xF0 <= $code) { return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; diff --git a/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php index 3ca16416a..e6fbfa64e 100644 --- a/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +++ b/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php @@ -1,6 +1,6 @@ <?php -static $data = array ( +return array( 'A' => 'a', 'B' => 'b', 'C' => 'c', @@ -1094,8 +1094,3 @@ static $data = array ( '𑢾' => '𑣞', '𑢿' => '𑣟', ); - -$result =& $data; -unset($data); - -return $result; diff --git a/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php new file mode 100644 index 000000000..2a8f6e73b --- /dev/null +++ b/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php @@ -0,0 +1,5 @@ +<?php + +// from Case_Ignorable in https://unicode.org/Public/UNIDATA/DerivedCoreProperties.txt + +return '/(?<![\x{0027}\x{002E}\x{003A}\x{005E}\x{0060}\x{00A8}\x{00AD}\x{00AF}\x{00B4}\x{00B7}\x{00B8}\x{02B0}-\x{02C1}\x{02C2}-\x{02C5}\x{02C6}-\x{02D1}\x{02D2}-\x{02DF}\x{02E0}-\x{02E4}\x{02E5}-\x{02EB}\x{02EC}\x{02ED}\x{02EE}\x{02EF}-\x{02FF}\x{0300}-\x{036F}\x{0374}\x{0375}\x{037A}\x{0384}-\x{0385}\x{0387}\x{0483}-\x{0487}\x{0488}-\x{0489}\x{0559}\x{0591}-\x{05BD}\x{05BF}\x{05C1}-\x{05C2}\x{05C4}-\x{05C5}\x{05C7}\x{05F4}\x{0600}-\x{0605}\x{0610}-\x{061A}\x{061C}\x{0640}\x{064B}-\x{065F}\x{0670}\x{06D6}-\x{06DC}\x{06DD}\x{06DF}-\x{06E4}\x{06E5}-\x{06E6}\x{06E7}-\x{06E8}\x{06EA}-\x{06ED}\x{070F}\x{0711}\x{0730}-\x{074A}\x{07A6}-\x{07B0}\x{07EB}-\x{07F3}\x{07F4}-\x{07F5}\x{07FA}\x{07FD}\x{0816}-\x{0819}\x{081A}\x{081B}-\x{0823}\x{0824}\x{0825}-\x{0827}\x{0828}\x{0829}-\x{082D}\x{0859}-\x{085B}\x{08D3}-\x{08E1}\x{08E2}\x{08E3}-\x{0902}\x{093A}\x{093C}\x{0941}-\x{0948}\x{094D}\x{0951}-\x{0957}\x{0962}-\x{0963}\x{0971}\x{0981}\x{09BC}\x{09C1}-\x{09C4}\x{09CD}\x{09E2}-\x{09E3}\x{09FE}\x{0A01}-\x{0A02}\x{0A3C}\x{0A41}-\x{0A42}\x{0A47}-\x{0A48}\x{0A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x{0A71}\x{0A75}\x{0A81}-\x{0A82}\x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}-\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0B4D}\x{0B56}\x{0B62}-\x{0B63}\x{0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{0C04}\x{0C3E}-\x{0C40}\x{0C46}-\x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}-\x{0C56}\x{0C62}-\x{0C63}\x{0C81}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CCC}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x{0D41}-\x{0D44}\x{0D4D}\x{0D62}-\x{0D63}\x{0DCA}\x{0DD2}-\x{0DD4}\x{0DD6}\x{0E31}\x{0E34}-\x{0E3A}\x{0E46}\x{0E47}-\x{0E4E}\x{0EB1}\x{0EB4}-\x{0EB9}\x{0EBB}-\x{0EBC}\x{0EC6}\x{0EC8}-\x{0ECD}\x{0F18}-\x{0F19}\x{0F35}\x{0F37}\x{0F39}\x{0F71}-\x{0F7E}\x{0F80}-\x{0F84}\x{0F86}-\x{0F87}\x{0F8D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0FC6}\x{102D}-\x{1030}\x{1032}-\x{1037}\x{1039}-\x{103A}\x{103D}-\x{103E}\x{1058}-\x{1059}\x{105E}-\x{1060}\x{1071}-\x{1074}\x{1082}\x{1085}-\x{1086}\x{108D}\x{109D}\x{10FC}\x{135D}-\x{135F}\x{1712}-\x{1714}\x{1732}-\x{1734}\x{1752}-\x{1753}\x{1772}-\x{1773}\x{17B4}-\x{17B5}\x{17B7}-\x{17BD}\x{17C6}\x{17C9}-\x{17D3}\x{17D7}\x{17DD}\x{180B}-\x{180D}\x{180E}\x{1843}\x{1885}-\x{1886}\x{18A9}\x{1920}-\x{1922}\x{1927}-\x{1928}\x{1932}\x{1939}-\x{193B}\x{1A17}-\x{1A18}\x{1A1B}\x{1A56}\x{1A58}-\x{1A5E}\x{1A60}\x{1A62}\x{1A65}-\x{1A6C}\x{1A73}-\x{1A7C}\x{1A7F}\x{1AA7}\x{1AB0}-\x{1ABD}\x{1ABE}\x{1B00}-\x{1B03}\x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}\x{1B42}\x{1B6B}-\x{1B73}\x{1B80}-\x{1B81}\x{1BA2}-\x{1BA5}\x{1BA8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x{1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}\x{1C36}-\x{1C37}\x{1C78}-\x{1C7D}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{1CF4}\x{1CF8}-\x{1CF9}\x{1D2C}-\x{1D6A}\x{1D78}\x{1D9B}-\x{1DBF}\x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DFF}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1FCD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\x{200B}-\x{200F}\x{2018}\x{2019}\x{2024}\x{2027}\x{202A}-\x{202E}\x{2060}-\x{2064}\x{2066}-\x{206F}\x{2071}\x{207F}\x{2090}-\x{209C}\x{20D0}-\x{20DC}\x{20DD}-\x{20E0}\x{20E1}\x{20E2}-\x{20E4}\x{20E5}-\x{20F0}\x{2C7C}-\x{2C7D}\x{2CEF}-\x{2CF1}\x{2D6F}\x{2D7F}\x{2DE0}-\x{2DFF}\x{2E2F}\x{3005}\x{302A}-\x{302D}\x{3031}-\x{3035}\x{303B}\x{3099}-\x{309A}\x{309B}-\x{309C}\x{309D}-\x{309E}\x{30FC}-\x{30FE}\x{A015}\x{A4F8}-\x{A4FD}\x{A60C}\x{A66F}\x{A670}-\x{A672}\x{A674}-\x{A67D}\x{A67F}\x{A69C}-\x{A69D}\x{A69E}-\x{A69F}\x{A6F0}-\x{A6F1}\x{A700}-\x{A716}\x{A717}-\x{A71F}\x{A720}-\x{A721}\x{A770}\x{A788}\x{A789}-\x{A78A}\x{A7F8}-\x{A7F9}\x{A802}\x{A806}\x{A80B}\x{A825}-\x{A826}\x{A8C4}-\x{A8C5}\x{A8E0}-\x{A8F1}\x{A8FF}\x{A926}-\x{A92D}\x{A947}-\x{A951}\x{A980}-\x{A982}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9BC}\x{A9CF}\x{A9E5}\x{A9E6}\x{AA29}-\x{AA2E}\x{AA31}-\x{AA32}\x{AA35}-\x{AA36}\x{AA43}\x{AA4C}\x{AA70}\x{AA7C}\x{AAB0}\x{AAB2}-\x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}-\x{AABF}\x{AAC1}\x{AADD}\x{AAEC}-\x{AAED}\x{AAF3}-\x{AAF4}\x{AAF6}\x{AB5B}\x{AB5C}-\x{AB5F}\x{ABE5}\x{ABE8}\x{ABED}\x{FB1E}\x{FBB2}-\x{FBC1}\x{FE00}-\x{FE0F}\x{FE13}\x{FE20}-\x{FE2F}\x{FE52}\x{FE55}\x{FEFF}\x{FF07}\x{FF0E}\x{FF1A}\x{FF3E}\x{FF40}\x{FF70}\x{FF9E}-\x{FF9F}\x{FFE3}\x{FFF9}-\x{FFFB}\x{101FD}\x{102E0}\x{10376}-\x{1037A}\x{10A01}-\x{10A03}\x{10A05}-\x{10A06}\x{10A0C}-\x{10A0F}\x{10A38}-\x{10A3A}\x{10A3F}\x{10AE5}-\x{10AE6}\x{10D24}-\x{10D27}\x{10F46}-\x{10F50}\x{11001}\x{11038}-\x{11046}\x{1107F}-\x{11081}\x{110B3}-\x{110B6}\x{110B9}-\x{110BA}\x{110BD}\x{110CD}\x{11100}-\x{11102}\x{11127}-\x{1112B}\x{1112D}-\x{11134}\x{11173}\x{11180}-\x{11181}\x{111B6}-\x{111BE}\x{111C9}-\x{111CC}\x{1122F}-\x{11231}\x{11234}\x{11236}-\x{11237}\x{1123E}\x{112DF}\x{112E3}-\x{112EA}\x{11300}-\x{11301}\x{1133B}-\x{1133C}\x{11340}\x{11366}-\x{1136C}\x{11370}-\x{11374}\x{11438}-\x{1143F}\x{11442}-\x{11444}\x{11446}\x{1145E}\x{114B3}-\x{114B8}\x{114BA}\x{114BF}-\x{114C0}\x{114C2}-\x{114C3}\x{115B2}-\x{115B5}\x{115BC}-\x{115BD}\x{115BF}-\x{115C0}\x{115DC}-\x{115DD}\x{11633}-\x{1163A}\x{1163D}\x{1163F}-\x{11640}\x{116AB}\x{116AD}\x{116B0}-\x{116B5}\x{116B7}\x{1171D}-\x{1171F}\x{11722}-\x{11725}\x{11727}-\x{1172B}\x{1182F}-\x{11837}\x{11839}-\x{1183A}\x{11A01}-\x{11A0A}\x{11A33}-\x{11A38}\x{11A3B}-\x{11A3E}\x{11A47}\x{11A51}-\x{11A56}\x{11A59}-\x{11A5B}\x{11A8A}-\x{11A96}\x{11A98}-\x{11A99}\x{11C30}-\x{11C36}\x{11C38}-\x{11C3D}\x{11C3F}\x{11C92}-\x{11CA7}\x{11CAA}-\x{11CB0}\x{11CB2}-\x{11CB3}\x{11CB5}-\x{11CB6}\x{11D31}-\x{11D36}\x{11D3A}\x{11D3C}-\x{11D3D}\x{11D3F}-\x{11D45}\x{11D47}\x{11D90}-\x{11D91}\x{11D95}\x{11D97}\x{11EF3}-\x{11EF4}\x{16AF0}-\x{16AF4}\x{16B30}-\x{16B36}\x{16B40}-\x{16B43}\x{16F8F}-\x{16F92}\x{16F93}-\x{16F9F}\x{16FE0}-\x{16FE1}\x{1BC9D}-\x{1BC9E}\x{1BCA0}-\x{1BCA3}\x{1D167}-\x{1D169}\x{1D173}-\x{1D17A}\x{1D17B}-\x{1D182}\x{1D185}-\x{1D18B}\x{1D1AA}-\x{1D1AD}\x{1D242}-\x{1D244}\x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}-\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{1E000}-\x{1E006}\x{1E008}-\x{1E018}\x{1E01B}-\x{1E021}\x{1E023}-\x{1E024}\x{1E026}-\x{1E02A}\x{1E8D0}-\x{1E8D6}\x{1E944}-\x{1E94A}\x{1F3FB}-\x{1F3FF}\x{E0001}\x{E0020}-\x{E007F}\x{E0100}-\x{E01EF}])(\pL)(\pL*+)/u'; diff --git a/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php b/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php index ec9422121..b8103b2e8 100644 --- a/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +++ b/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php @@ -1,6 +1,6 @@ <?php -static $data = array ( +return array( 'a' => 'A', 'b' => 'B', 'c' => 'C', @@ -1102,8 +1102,3 @@ static $data = array ( '𑣞' => '𑢾', '𑣟' => '𑢿', ); - -$result =& $data; -unset($data); - -return $result; diff --git a/vendor/symfony/polyfill-php56/Php56.php b/vendor/symfony/polyfill-php56/Php56.php index 6ec354eb2..dbbc0e13a 100644 --- a/vendor/symfony/polyfill-php56/Php56.php +++ b/vendor/symfony/polyfill-php56/Php56.php @@ -24,13 +24,13 @@ final class Php56 public static function hash_equals($knownString, $userInput) { if (!\is_string($knownString)) { - trigger_error('Expected known_string to be a string, '.gettype($knownString).' given', E_USER_WARNING); + trigger_error('Expected known_string to be a string, '.\gettype($knownString).' given', E_USER_WARNING); return false; } if (!\is_string($userInput)) { - trigger_error('Expected user_input to be a string, '.gettype($userInput).' given', E_USER_WARNING); + trigger_error('Expected user_input to be a string, '.\gettype($userInput).' given', E_USER_WARNING); return false; } @@ -124,11 +124,11 @@ final class Php56 // Encode leading/trailing spaces if self::LDAP_ESCAPE_DN is passed if ($flags & self::LDAP_ESCAPE_DN) { - if ($result[0] === ' ') { + if (' ' === $result[0]) { $result = '\\20'.substr($result, 1); } - if ($result[\strlen($result) - 1] === ' ') { + if (' ' === $result[\strlen($result) - 1]) { $result = substr($result, 0, -1).'\\20'; } } diff --git a/vendor/symfony/polyfill-php72/Php72.php b/vendor/symfony/polyfill-php72/Php72.php index 5f122a24c..d531e8441 100644 --- a/vendor/symfony/polyfill-php72/Php72.php +++ b/vendor/symfony/polyfill-php72/Php72.php @@ -50,7 +50,10 @@ final class Php72 $s[$j] = $c < 256 ? \chr($c) : '?'; break; - case "\xF0": ++$i; + case "\xF0": + ++$i; + // no break + case "\xE0": $s[$j] = '?'; $i += 2; @@ -66,7 +69,7 @@ final class Php72 public static function php_os_family() { - if ('\\' === DIRECTORY_SEPARATOR) { + if ('\\' === \DIRECTORY_SEPARATOR) { return 'Windows'; } @@ -98,7 +101,8 @@ final class Php72 public static function sapi_windows_vt100_support($stream, $enable = null) { if (!\is_resource($stream)) { - trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.gettype($stream).' given', E_USER_WARNING); + trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); + return false; } @@ -106,6 +110,7 @@ final class Php72 if ('STDIO' !== $meta['stream_type']) { trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', E_USER_WARNING); + return false; } @@ -128,17 +133,18 @@ final class Php72 public static function stream_isatty($stream) { if (!\is_resource($stream)) { - trigger_error('stream_isatty() expects parameter 1 to be resource, '.gettype($stream).' given', E_USER_WARNING); + trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING); + return false; } - if ('\\' === DIRECTORY_SEPARATOR) { + if ('\\' === \DIRECTORY_SEPARATOR) { $stat = @fstat($stream); // Check if formatted mode is S_IFCHR return $stat ? 0020000 === ($stat['mode'] & 0170000) : false; } - return function_exists('posix_isatty') && @posix_isatty($stream); + return \function_exists('posix_isatty') && @posix_isatty($stream); } private static function initHashMask() @@ -162,4 +168,49 @@ final class Php72 self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - \PHP_INT_SIZE, \PHP_INT_SIZE)); } + + public static function mb_chr($code, $encoding = null) + { + if (0x80 > $code %= 0x200000) { + $s = \chr($code); + } elseif (0x800 > $code) { + $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); + } elseif (0x10000 > $code) { + $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } else { + $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); + } + + if ('UTF-8' !== $encoding) { + $s = mb_convert_encoding($s, $encoding, 'UTF-8'); + } + + return $s; + } + + public static function mb_ord($s, $encoding = null) + { + if (null == $encoding) { + $s = mb_convert_encoding($s, 'UTF-8'); + } elseif ('UTF-8' !== $encoding) { + $s = mb_convert_encoding($s, 'UTF-8', $encoding); + } + + if (1 === \strlen($s)) { + return \ord($s); + } + + $code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0; + if (0xF0 <= $code) { + return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80; + } + if (0xE0 <= $code) { + return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80; + } + if (0xC0 <= $code) { + return (($code - 0xC0) << 6) + $s[2] - 0x80; + } + + return $code; + } } diff --git a/vendor/symfony/polyfill-php72/bootstrap.php b/vendor/symfony/polyfill-php72/bootstrap.php index 9ccea829d..519056de4 100644 --- a/vendor/symfony/polyfill-php72/bootstrap.php +++ b/vendor/symfony/polyfill-php72/bootstrap.php @@ -28,4 +28,9 @@ if (PHP_VERSION_ID < 70200) { if (!defined('PHP_OS_FAMILY')) { define('PHP_OS_FAMILY', p\Php72::php_os_family()); } + if (!function_exists('mb_chr')) { + function mb_ord($s, $enc = null) { return p\Php72::mb_ord($s, $enc); } + function mb_chr($code, $enc = null) { return p\Php72::mb_chr($code, $enc); } + function mb_scrub($s, $enc = null) { $enc = null === $enc ? mb_internal_encoding() : $enc; return mb_convert_encoding($s, $enc, $enc); } + } } diff --git a/vendor/symfony/polyfill-util/Binary.php b/vendor/symfony/polyfill-util/Binary.php index 815bc750c..23ff97473 100644 --- a/vendor/symfony/polyfill-util/Binary.php +++ b/vendor/symfony/polyfill-util/Binary.php @@ -11,8 +11,12 @@ namespace Symfony\Polyfill\Util; -if (extension_loaded('mbstring')) { - class Binary extends BinaryOnFuncOverload {} +if (\extension_loaded('mbstring')) { + class Binary extends BinaryOnFuncOverload + { + } } else { - class Binary extends BinaryNoFuncOverload {} + class Binary extends BinaryNoFuncOverload + { + } } diff --git a/vendor/symfony/polyfill-util/LegacyTestListener.php b/vendor/symfony/polyfill-util/LegacyTestListener.php index 87caa5048..68cba125a 100644 --- a/vendor/symfony/polyfill-util/LegacyTestListener.php +++ b/vendor/symfony/polyfill-util/LegacyTestListener.php @@ -81,4 +81,9 @@ class LegacyTestListener extends \PHPUnit_Framework_TestSuite implements \PHPUni public function endTest(\PHPUnit_Framework_Test $test, $time) { } + + public static function warning($message) + { + return parent::warning($message); + } } diff --git a/vendor/symfony/polyfill-util/TestListener.php b/vendor/symfony/polyfill-util/TestListener.php index 3a9a7bc8c..7fbbc5ff4 100644 --- a/vendor/symfony/polyfill-util/TestListener.php +++ b/vendor/symfony/polyfill-util/TestListener.php @@ -12,10 +12,11 @@ namespace Symfony\Polyfill\Util; use PHPUnit\Framework\AssertionFailedError; -use PHPUnit\Framework\TestListener as TestListenerInterface; use PHPUnit\Framework\Test; +use PHPUnit\Framework\TestListener as TestListenerInterface; use PHPUnit\Framework\TestSuite; use PHPUnit\Framework\Warning; +use PHPUnit\Framework\WarningTestCase; if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Version::id(), '6.0.0', '<')) { class_alias('Symfony\Polyfill\Util\LegacyTestListener', 'Symfony\Polyfill\Util\TestListener'); @@ -92,5 +93,10 @@ if (class_exists('PHPUnit_Runner_Version') && version_compare(\PHPUnit_Runner_Ve public function endTest(Test $test, $time) { } + + public static function warning($message) + { + return parent::warning($message); + } } } diff --git a/vendor/symfony/polyfill-util/TestListenerTrait.php b/vendor/symfony/polyfill-util/TestListenerTrait.php index 758e38303..dafc3aeb7 100644 --- a/vendor/symfony/polyfill-util/TestListenerTrait.php +++ b/vendor/symfony/polyfill-util/TestListenerTrait.php @@ -40,17 +40,34 @@ class TestListenerTrait continue; } $testedClass = new \ReflectionClass($m[1].$m[2]); - $bootstrap = new \SplFileObject(dirname($testedClass->getFileName()).'/bootstrap.php'); + $bootstrap = new \SplFileObject(\dirname($testedClass->getFileName()).'/bootstrap.php'); $warnings = array(); $defLine = null; + foreach (new \RegexIterator($bootstrap, '/define\(\'/') as $defLine) { + preg_match('/define\(\'(?P<name>.+)\'/', $defLine, $matches); + if (\defined($matches['name'])) { + continue; + } + + try { + eval($defLine); + } catch (\PHPUnit_Framework_Exception $ex){ + $warnings[] = $TestListener::warning($ex->getMessage()); + } catch (\PHPUnit\Framework\Exception $ex) { + $warnings[] = $TestListener::warning($ex->getMessage()); + } + } + + $bootstrap->rewind(); + foreach (new \RegexIterator($bootstrap, '/return p\\\\'.$testedClass->getShortName().'::/') as $defLine) { - if (!preg_match('/^\s*function (?P<name>[^\(]++)(?P<signature>\([^\)]*+\)) \{ (?<return>return p\\\\'.$testedClass->getShortName().'::[^\(]++)(?P<args>\([^\)]*+\)); \}$/', $defLine, $f)) { + if (!preg_match('/^\s*function (?P<name>[^\(]++)(?P<signature>\(.*\)) \{ (?<return>return p\\\\'.$testedClass->getShortName().'::[^\(]++)(?P<args>\([^\)]*+\)); \}$/', $defLine, $f)) { $warnings[] = $TestListener::warning('Invalid line in bootstrap.php: '.trim($defLine)); continue; } $testNamespace = substr($testClass, 0, strrpos($testClass, '\\')); - if (function_exists($testNamespace.'\\'.$f['name'])) { + if (\function_exists($testNamespace.'\\'.$f['name'])) { continue; } @@ -59,10 +76,12 @@ class TestListenerTrait if ($r->isUserDefined()) { throw new \ReflectionException(); } - if (false !== strpos($f['signature'], '&')) { + if ('idn_to_ascii' === $f['name'] || 'idn_to_utf8' === $f['name']) { + $defLine = sprintf('return INTL_IDNA_VARIANT_2003 === $variant ? \\%s($domain, $options, $variant) : \\%1$s%s', $f['name'], $f['args']); + } elseif (false !== strpos($f['signature'], '&') && 'idn_to_ascii' !== $f['name'] && 'idn_to_utf8' !== $f['name']) { $defLine = sprintf('return \\%s%s', $f['name'], $f['args']); } else { - $defLine = sprintf("return \\call_user_func_array('%s', func_get_args())", $f['name']); + $defLine = sprintf("return \\call_user_func_array('%s', \\func_get_args())", $f['name']); } } catch (\ReflectionException $e) { $defLine = sprintf("throw new \\{$SkippedTestError}('Internal function not found: %s')", $f['name']); diff --git a/vendor/symfony/process/CHANGELOG.md b/vendor/symfony/process/CHANGELOG.md index 354db592a..13fe89eaf 100644 --- a/vendor/symfony/process/CHANGELOG.md +++ b/vendor/symfony/process/CHANGELOG.md @@ -1,6 +1,15 @@ CHANGELOG ========= +4.2.0 +----- + + * added the `Process::fromShellCommandline()` to run commands in a shell wrapper + * deprecated passing a command as string when creating a `Process` instance + * deprecated the `Process::setCommandline()` and the `PhpProcess::setPhpBinary()` methods + * added the `Process::waitUntil()` method to wait for the process only for a + specific output, then continue the normal execution of your application + 4.1.0 ----- diff --git a/vendor/symfony/process/Exception/ExceptionInterface.php b/vendor/symfony/process/Exception/ExceptionInterface.php index 75c1c9e5d..bd4a60403 100644 --- a/vendor/symfony/process/Exception/ExceptionInterface.php +++ b/vendor/symfony/process/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Process\Exception; * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/process/InputStream.php b/vendor/symfony/process/InputStream.php index 9bd917a7e..c8e4f00ef 100644 --- a/vendor/symfony/process/InputStream.php +++ b/vendor/symfony/process/InputStream.php @@ -20,7 +20,7 @@ use Symfony\Component\Process\Exception\RuntimeException; */ class InputStream implements \IteratorAggregate { - /** @var null|callable */ + /** @var callable|null */ private $onEmpty = null; private $input = array(); private $open = true; @@ -36,8 +36,8 @@ class InputStream implements \IteratorAggregate /** * Appends an input to the write buffer. * - * @param resource|string|int|float|bool|\Traversable|null The input to append as scalar, - * stream resource or \Traversable + * @param resource|string|int|float|bool|\Traversable|null $input The input to append as scalar, + * stream resource or \Traversable */ public function write($input) { @@ -78,9 +78,7 @@ class InputStream implements \IteratorAggregate $current = array_shift($this->input); if ($current instanceof \Iterator) { - foreach ($current as $cur) { - yield $cur; - } + yield from $current; } else { yield $current; } diff --git a/vendor/symfony/process/PhpExecutableFinder.php b/vendor/symfony/process/PhpExecutableFinder.php index ee7203c9a..ae8b4da87 100644 --- a/vendor/symfony/process/PhpExecutableFinder.php +++ b/vendor/symfony/process/PhpExecutableFinder.php @@ -37,7 +37,14 @@ class PhpExecutableFinder { if ($php = getenv('PHP_BINARY')) { if (!is_executable($php)) { - return false; + $command = '\\' === \DIRECTORY_SEPARATOR ? 'where' : 'command -v'; + if ($php = strtok(exec($command.' '.escapeshellarg($php)), PHP_EOL)) { + if (!is_executable($php)) { + return false; + } + } else { + return false; + } } return $php; diff --git a/vendor/symfony/process/PhpProcess.php b/vendor/symfony/process/PhpProcess.php index 7ac930e96..efa25e2db 100644 --- a/vendor/symfony/process/PhpProcess.php +++ b/vendor/symfony/process/PhpProcess.php @@ -16,9 +16,9 @@ use Symfony\Component\Process\Exception\RuntimeException; /** * PhpProcess runs a PHP script in an independent process. * - * $p = new PhpProcess('<?php echo "foo"; ?>'); - * $p->run(); - * print $p->getOutput()."\n"; + * $p = new PhpProcess('<?php echo "foo"; ?>'); + * $p->run(); + * print $p->getOutput()."\n"; * * @author Fabien Potencier <fabien@symfony.com> */ @@ -29,11 +29,12 @@ class PhpProcess extends Process * @param string|null $cwd The working directory or null to use the working dir of the current PHP process * @param array|null $env The environment variables or null to use the same environment as the current PHP process * @param int $timeout The timeout in seconds + * @param array|null $php Path to the PHP binary to use with any additional arguments */ - public function __construct(string $script, string $cwd = null, array $env = null, int $timeout = 60) + public function __construct(string $script, string $cwd = null, array $env = null, int $timeout = 60, array $php = null) { $executableFinder = new PhpExecutableFinder(); - if (false === $php = $executableFinder->find(false)) { + if (false === $php = $php ?? $executableFinder->find(false)) { $php = null; } else { $php = array_merge(array($php), $executableFinder->findArguments()); @@ -51,9 +52,13 @@ class PhpProcess extends Process /** * Sets the path to the PHP binary to use. + * + * @deprecated since Symfony 4.2, use the $php argument of the constructor instead. */ public function setPhpBinary($php) { + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the $php argument of the constructor instead.', __METHOD__), E_USER_DEPRECATED); + $this->setCommandLine($php); } diff --git a/vendor/symfony/process/Pipes/WindowsPipes.php b/vendor/symfony/process/Pipes/WindowsPipes.php index 9240102a3..7130589ce 100644 --- a/vendor/symfony/process/Pipes/WindowsPipes.php +++ b/vendor/symfony/process/Pipes/WindowsPipes.php @@ -28,6 +28,7 @@ class WindowsPipes extends AbstractPipes { private $files = array(); private $fileHandles = array(); + private $lockHandles = array(); private $readBytes = array( Process::STDOUT => 0, Process::STDERR => 0, @@ -47,31 +48,33 @@ class WindowsPipes extends AbstractPipes Process::STDOUT => Process::OUT, Process::STDERR => Process::ERR, ); - $tmpCheck = false; $tmpDir = sys_get_temp_dir(); $lastError = 'unknown reason'; set_error_handler(function ($type, $msg) use (&$lastError) { $lastError = $msg; }); for ($i = 0;; ++$i) { foreach ($pipes as $pipe => $name) { $file = sprintf('%s\\sf_proc_%02X.%s', $tmpDir, $i, $name); - if (file_exists($file) && !unlink($file)) { - continue 2; - } - $h = fopen($file, 'xb'); - if (!$h) { - $error = $lastError; - if ($tmpCheck || $tmpCheck = unlink(tempnam(false, 'sf_check_'))) { - continue; - } + + if (!$h = fopen($file.'.lock', 'w')) { restore_error_handler(); - throw new RuntimeException(sprintf('A temporary file could not be opened to write the process output: %s', $error)); + throw new RuntimeException(sprintf('A temporary file could not be opened to write the process output: %s', $lastError)); } - if (!$h || !$this->fileHandles[$pipe] = fopen($file, 'rb')) { + if (!flock($h, LOCK_EX | LOCK_NB)) { continue 2; } - if (isset($this->files[$pipe])) { - unlink($this->files[$pipe]); + if (isset($this->lockHandles[$pipe])) { + flock($this->lockHandles[$pipe], LOCK_UN); + fclose($this->lockHandles[$pipe]); } + $this->lockHandles[$pipe] = $h; + + if (!fclose(fopen($file, 'w')) || !$h = fopen($file, 'r')) { + flock($this->lockHandles[$pipe], LOCK_UN); + fclose($this->lockHandles[$pipe]); + unset($this->lockHandles[$pipe]); + continue 2; + } + $this->fileHandles[$pipe] = $h; $this->files[$pipe] = $file; } break; @@ -85,7 +88,6 @@ class WindowsPipes extends AbstractPipes public function __destruct() { $this->close(); - $this->removeFiles(); } /** @@ -145,8 +147,11 @@ class WindowsPipes extends AbstractPipes $read[$type] = $data; } if ($close) { + ftruncate($fileHandle, 0); fclose($fileHandle); - unset($this->fileHandles[$type]); + flock($this->lockHandles[$type], LOCK_UN); + fclose($this->lockHandles[$type]); + unset($this->fileHandles[$type], $this->lockHandles[$type]); } } @@ -175,22 +180,12 @@ class WindowsPipes extends AbstractPipes public function close() { parent::close(); - foreach ($this->fileHandles as $handle) { + foreach ($this->fileHandles as $type => $handle) { + ftruncate($handle, 0); fclose($handle); + flock($this->lockHandles[$type], LOCK_UN); + fclose($this->lockHandles[$type]); } - $this->fileHandles = array(); - } - - /** - * Removes temporary files. - */ - private function removeFiles() - { - foreach ($this->files as $filename) { - if (file_exists($filename)) { - @unlink($filename); - } - } - $this->files = array(); + $this->fileHandles = $this->lockHandles = array(); } } diff --git a/vendor/symfony/process/Process.php b/vendor/symfony/process/Process.php index 70514472d..7ffbacb21 100644 --- a/vendor/symfony/process/Process.php +++ b/vendor/symfony/process/Process.php @@ -129,21 +129,25 @@ class Process implements \IteratorAggregate ); /** - * @param string|array $commandline The command line to run - * @param string|null $cwd The working directory or null to use the working dir of the current PHP process - * @param array|null $env The environment variables or null to use the same environment as the current PHP process - * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input - * @param int|float|null $timeout The timeout in seconds or null to disable + * @param array $command The command to run and its arguments listed as separate entries + * @param string|null $cwd The working directory or null to use the working dir of the current PHP process + * @param array|null $env The environment variables or null to use the same environment as the current PHP process + * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input + * @param int|float|null $timeout The timeout in seconds or null to disable * * @throws RuntimeException When proc_open is not installed */ - public function __construct($commandline, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60) + public function __construct($command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60) { if (!\function_exists('proc_open')) { - throw new RuntimeException('The Process class relies on proc_open, which is not available on your PHP installation.'); + throw new LogicException('The Process class relies on proc_open, which is not available on your PHP installation.'); } - $this->commandline = $commandline; + if (!\is_array($command)) { + @trigger_error(sprintf('Passing a command as string when creating a "%s" instance is deprecated since Symfony 4.2, pass it as an array of its arguments instead, or use the "Process::fromShellCommandline()" constructor if you need features provided by the shell.', __CLASS__), E_USER_DEPRECATED); + } + + $this->commandline = $command; $this->cwd = $cwd; // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started @@ -163,6 +167,35 @@ class Process implements \IteratorAggregate $this->pty = false; } + /** + * Creates a Process instance as a command-line to be run in a shell wrapper. + * + * Command-lines are parsed by the shell of your OS (/bin/sh on Unix-like, cmd.exe on Windows.) + * This allows using e.g. pipes or conditional execution. In this mode, signals are sent to the + * shell wrapper and not to your commands. + * + * In order to inject dynamic values into command-lines, we strongly recommend using placeholders. + * This will save escaping values, which is not portable nor secure anyway: + * + * $process = Process::fromShellCommandline('my_command "$MY_VAR"'); + * $process->run(null, ['MY_VAR' => $theValue]); + * + * @param string $command The command line to pass to the shell of the OS + * @param string|null $cwd The working directory or null to use the working dir of the current PHP process + * @param array|null $env The environment variables or null to use the same environment as the current PHP process + * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input + * @param int|float|null $timeout The timeout in seconds or null to disable + * + * @throws RuntimeException When proc_open is not installed + */ + public static function fromShellCommandline(string $command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60) + { + $process = new static(array(), $cwd, $env, $input, $timeout); + $process->commandline = $command; + + return $process; + } + public function __destruct() { $this->stop(0); @@ -374,7 +407,7 @@ class Process implements \IteratorAggregate if (null !== $callback) { if (!$this->processPipes->haveReadSupport()) { $this->stop(0); - throw new \LogicException('Pass the callback to the Process::start method or enableOutput to use a callback with Process::wait'); + throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait"'); } $this->callback = $this->buildCallback($callback); } @@ -396,6 +429,51 @@ class Process implements \IteratorAggregate return $this->exitcode; } + /** + * Waits until the callback returns true. + * + * The callback receives the type of output (out or err) and some bytes + * from the output in real-time while writing the standard input to the process. + * It allows to have feedback from the independent process during execution. + * + * @throws RuntimeException When process timed out + * @throws LogicException When process is not yet started + */ + public function waitUntil(callable $callback): bool + { + $this->requireProcessIsStarted(__FUNCTION__); + $this->updateStatus(false); + + if (!$this->processPipes->haveReadSupport()) { + $this->stop(0); + throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::waitUntil".'); + } + $callback = $this->buildCallback($callback); + + $ready = false; + while (true) { + $this->checkTimeout(); + $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); + $output = $this->processPipes->readAndWrite($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); + + foreach ($output as $type => $data) { + if (3 !== $type) { + $ready = $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data) || $ready; + } elseif (!isset($this->fallbackStatus['signaled'])) { + $this->fallbackStatus['exitcode'] = (int) $data; + } + } + if ($ready) { + return true; + } + if (!$running) { + return false; + } + + usleep(1000); + } + } + /** * Returns the Pid (process identifier), if applicable. * @@ -651,7 +729,7 @@ class Process implements \IteratorAggregate /** * Returns the exit code returned by the process. * - * @return null|int The exit status code, null if the Process is not terminated + * @return int|null The exit status code, null if the Process is not terminated */ public function getExitCode() { @@ -666,7 +744,7 @@ class Process implements \IteratorAggregate * This method relies on the Unix exit code status standardization * and might not be relevant for other operating systems. * - * @return null|string A string representation for the exit status code, null if the Process is not terminated + * @return string|null A string representation for the exit status code, null if the Process is not terminated * * @see http://tldp.org/LDP/abs/html/exitcodes.html * @see http://en.wikipedia.org/wiki/Unix_signal @@ -823,7 +901,7 @@ class Process implements \IteratorAggregate { $timeoutMicro = microtime(true) + $timeout; if ($this->isRunning()) { - // given `SIGTERM` may not be defined and that `proc_terminate` uses the constant value and not the constant itself, we use the same here + // given SIGTERM may not be defined and that "proc_terminate" uses the constant value and not the constant itself, we use the same here $this->doSignal(15, false); do { usleep(1000); @@ -892,9 +970,13 @@ class Process implements \IteratorAggregate * @param string|array $commandline The command to execute * * @return self The current Process instance + * + * @deprecated since Symfony 4.2. */ public function setCommandLine($commandline) { + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED); + $this->commandline = $commandline; return $this; @@ -1227,7 +1309,7 @@ class Process implements \IteratorAggregate if ($this->outputDisabled) { return function ($type, $data) use ($callback) { if (null !== $callback) { - \call_user_func($callback, $type, $data); + return \call_user_func($callback, $type, $data); } }; } @@ -1242,7 +1324,7 @@ class Process implements \IteratorAggregate } if (null !== $callback) { - \call_user_func($callback, $type, $data); + return \call_user_func($callback, $type, $data); } }; } @@ -1392,8 +1474,8 @@ class Process implements \IteratorAggregate $this->exitcode = null; $this->fallbackStatus = array(); $this->processInformation = null; - $this->stdout = fopen('php://temp/maxmemory:'.(1024 * 1024), 'wb+'); - $this->stderr = fopen('php://temp/maxmemory:'.(1024 * 1024), 'wb+'); + $this->stdout = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b'); + $this->stderr = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b'); $this->process = null; $this->latestSignal = null; $this->status = self::STATUS_READY; @@ -1442,7 +1524,7 @@ class Process implements \IteratorAggregate } if (!$ok) { if ($throwException) { - throw new RuntimeException(sprintf('Error while sending signal `%s`.', $signal)); + throw new RuntimeException(sprintf('Error while sending signal "%s".', $signal)); } return false; @@ -1516,7 +1598,7 @@ class Process implements \IteratorAggregate } /** - * Ensures the process is terminated, throws a LogicException if the process has a status different than `terminated`. + * Ensures the process is terminated, throws a LogicException if the process has a status different than "terminated". * * @throws LogicException if the process is not yet terminated */ @@ -1530,14 +1612,14 @@ class Process implements \IteratorAggregate /** * Escapes a string to be used as a shell argument. */ - private function escapeArgument(string $argument): string + private function escapeArgument(?string $argument): string { + if ('' === $argument || null === $argument) { + return '""'; + } if ('\\' !== \DIRECTORY_SEPARATOR) { return "'".str_replace("'", "'\\''", $argument)."'"; } - if ('' === $argument = (string) $argument) { - return '""'; - } if (false !== strpos($argument, "\0")) { $argument = str_replace("\0", '?', $argument); } diff --git a/vendor/symfony/process/Tests/KillableProcessWithOutput.php b/vendor/symfony/process/Tests/KillableProcessWithOutput.php new file mode 100644 index 000000000..6c31ee305 --- /dev/null +++ b/vendor/symfony/process/Tests/KillableProcessWithOutput.php @@ -0,0 +1,26 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +$outputs = array( + 'First iteration output', + 'Second iteration output', + 'One more iteration output', + 'This took more time', + 'This one was sooooo slow', +); + +$iterationTime = 10000; + +foreach ($outputs as $output) { + usleep($iterationTime); + $iterationTime *= 10; + echo $output."\n"; +} diff --git a/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php b/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php index 25712af7d..d8fdb5c1f 100644 --- a/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +++ b/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php @@ -24,7 +24,7 @@ class ProcessFailedExceptionTest extends TestCase */ public function testProcessFailedExceptionThrowsException() { - $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful'))->setConstructorArgs(array('php'))->getMock(); + $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful'))->setConstructorArgs(array(array('php')))->getMock(); $process->expects($this->once()) ->method('isSuccessful') ->will($this->returnValue(true)); @@ -52,7 +52,7 @@ class ProcessFailedExceptionTest extends TestCase $errorOutput = 'FATAL: Unexpected error'; $workingDirectory = getcwd(); - $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'))->setConstructorArgs(array($cmd))->getMock(); + $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'))->setConstructorArgs(array(array($cmd)))->getMock(); $process->expects($this->once()) ->method('isSuccessful') ->will($this->returnValue(false)); @@ -85,7 +85,7 @@ class ProcessFailedExceptionTest extends TestCase $this->assertEquals( "The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}\n\nOutput:\n================\n{$output}\n\nError Output:\n================\n{$errorOutput}", - $exception->getMessage() + str_replace("'php'", 'php', $exception->getMessage()) ); } @@ -100,7 +100,7 @@ class ProcessFailedExceptionTest extends TestCase $exitText = 'General error'; $workingDirectory = getcwd(); - $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'))->setConstructorArgs(array($cmd))->getMock(); + $process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'))->setConstructorArgs(array(array($cmd)))->getMock(); $process->expects($this->once()) ->method('isSuccessful') ->will($this->returnValue(false)); @@ -131,7 +131,7 @@ class ProcessFailedExceptionTest extends TestCase $this->assertEquals( "The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}", - $exception->getMessage() + str_replace("'php'", 'php', $exception->getMessage()) ); } } diff --git a/vendor/symfony/process/Tests/ProcessTest.php b/vendor/symfony/process/Tests/ProcessTest.php index 0ed63fd39..60162975f 100644 --- a/vendor/symfony/process/Tests/ProcessTest.php +++ b/vendor/symfony/process/Tests/ProcessTest.php @@ -55,13 +55,13 @@ class ProcessTest extends TestCase { try { // Check that it works fine if the CWD exists - $cmd = new Process('echo test', __DIR__); + $cmd = new Process(array('echo', 'test'), __DIR__); $cmd->run(); } catch (\Exception $e) { $this->fail($e); } - $cmd = new Process('echo test', __DIR__.'/notfound/'); + $cmd = new Process(array('echo', 'test'), __DIR__.'/notfound/'); $cmd->run(); } @@ -133,6 +133,30 @@ class ProcessTest extends TestCase $this->assertLessThan(15, microtime(true) - $start); } + public function testWaitUntilSpecificOutput() + { + $p = $this->getProcess(array(self::$phpBin, __DIR__.'/KillableProcessWithOutput.php')); + $p->start(); + + $start = microtime(true); + + $completeOutput = ''; + $result = $p->waitUntil(function ($type, $output) use (&$completeOutput) { + return false !== strpos($completeOutput .= $output, 'One more'); + }); + $this->assertTrue($result); + $this->assertLessThan(20, microtime(true) - $start); + $this->assertStringStartsWith("First iteration output\nSecond iteration output\nOne more", $completeOutput); + $p->stop(); + } + + public function testWaitUntilCanReturnFalse() + { + $p = $this->getProcess('echo foo'); + $p->start(); + $this->assertFalse($p->waitUntil(function () { return false; })); + } + public function testAllOutputIsActuallyReadOnTermination() { // this code will result in a maximum of 2 reads of 8192 bytes by calling @@ -1436,12 +1460,12 @@ class ProcessTest extends TestCase $p = new Process(array(self::$phpBin, '-r', 'echo $argv[1];', $arg)); $p->run(); - $this->assertSame($arg, $p->getOutput()); + $this->assertSame((string) $arg, $p->getOutput()); } public function testRawCommandLine() { - $p = new Process(sprintf('"%s" -r %s "a" "" "b"', self::$phpBin, escapeshellarg('print_r($argv);'))); + $p = Process::fromShellCommandline(sprintf('"%s" -r %s "a" "" "b"', self::$phpBin, escapeshellarg('print_r($argv);'))); $p->run(); $expected = <<<EOTXT @@ -1466,32 +1490,29 @@ EOTXT; yield array("a!b\tc"); yield array('a\\\\"\\"'); yield array('éÉèÈàÀöä'); + yield array(null); + yield array(1); + yield array(1.1); } public function testEnvArgument() { $env = array('FOO' => 'Foo', 'BAR' => 'Bar'); $cmd = '\\' === \DIRECTORY_SEPARATOR ? 'echo !FOO! !BAR! !BAZ!' : 'echo $FOO $BAR $BAZ'; - $p = new Process($cmd, null, $env); + $p = Process::fromShellCommandline($cmd, null, $env); $p->run(null, array('BAR' => 'baR', 'BAZ' => 'baZ')); $this->assertSame('Foo baR baZ', rtrim($p->getOutput())); $this->assertSame($env, $p->getEnv()); } - /** - * @param string $commandline - * @param null|string $cwd - * @param null|array $env - * @param null|string $input - * @param int $timeout - * @param array $options - * - * @return Process - */ - private function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60) + private function getProcess($commandline, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process { - $process = new Process($commandline, $cwd, $env, $input, $timeout); + if (\is_string($commandline)) { + $process = Process::fromShellCommandline($commandline, $cwd, $env, $input, $timeout); + } else { + $process = new Process($commandline, $cwd, $env, $input, $timeout); + } $process->inheritEnvironmentVariables(); if (self::$process) { @@ -1501,10 +1522,7 @@ EOTXT; return self::$process = $process; } - /** - * @return Process - */ - private function getProcessForCode($code, $cwd = null, array $env = null, $input = null, $timeout = 60) + private function getProcessForCode(string $code, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process { return $this->getProcess(array(self::$phpBin, '-r', $code), $cwd, $env, $input, $timeout); } diff --git a/vendor/symfony/process/composer.json b/vendor/symfony/process/composer.json index 58f4005b5..44bad06b5 100644 --- a/vendor/symfony/process/composer.json +++ b/vendor/symfony/process/composer.json @@ -27,7 +27,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/process/phpunit.xml.dist b/vendor/symfony/process/phpunit.xml.dist index d38846730..c32f25101 100644 --- a/vendor/symfony/process/phpunit.xml.dist +++ b/vendor/symfony/process/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/routing/CHANGELOG.md b/vendor/symfony/routing/CHANGELOG.md index d088e2edd..8e359a372 100644 --- a/vendor/symfony/routing/CHANGELOG.md +++ b/vendor/symfony/routing/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +4.2.0 +----- + + * added fallback to cultureless locale for internationalized routes + 4.0.0 ----- diff --git a/vendor/symfony/routing/Exception/ExceptionInterface.php b/vendor/symfony/routing/Exception/ExceptionInterface.php index db7636211..22e72b16b 100644 --- a/vendor/symfony/routing/Exception/ExceptionInterface.php +++ b/vendor/symfony/routing/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Routing\Exception; * * @author Alexandre Salomé <alexandre.salome@gmail.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php b/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php index 97e033501..6f08a0f39 100644 --- a/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php +++ b/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php @@ -113,10 +113,17 @@ EOF; ?? $this->context->getParameter('_locale') ?: $this->defaultLocale; - if (null !== $locale && (self::$declaredRoutes[$name.'.'.$locale][1]['_canonical_route'] ?? null) === $name) { - unset($parameters['_locale']); - $name .= '.'.$locale; - } elseif (!isset(self::$declaredRoutes[$name])) { + if (null !== $locale && null !== $name) { + do { + if ((self::$declaredRoutes[$name.'.'.$locale][1]['_canonical_route'] ?? null) === $name) { + unset($parameters['_locale']); + $name .= '.'.$locale; + break; + } + } while (false !== $locale = strstr($locale, '_', true)); + } + + if (!isset(self::$declaredRoutes[$name])) { throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name)); } diff --git a/vendor/symfony/routing/Generator/UrlGenerator.php b/vendor/symfony/routing/Generator/UrlGenerator.php index 38dd13847..917944232 100644 --- a/vendor/symfony/routing/Generator/UrlGenerator.php +++ b/vendor/symfony/routing/Generator/UrlGenerator.php @@ -112,13 +112,21 @@ class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInt */ public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH) { + $route = null; $locale = $parameters['_locale'] ?? $this->context->getParameter('_locale') ?: $this->defaultLocale; - if (null !== $locale && null !== ($route = $this->routes->get($name.'.'.$locale)) && $route->getDefault('_canonical_route') === $name) { - unset($parameters['_locale']); - } elseif (null === $route = $this->routes->get($name)) { + if (null !== $locale) { + do { + if (null !== ($route = $this->routes->get($name.'.'.$locale)) && $route->getDefault('_canonical_route') === $name) { + unset($parameters['_locale']); + break; + } + } while (false !== $locale = strstr($locale, '_', true)); + } + + if (null === $route = $route ?? $this->routes->get($name)) { throw new RouteNotFoundException(sprintf('Unable to generate a URL for the named route "%s" as such route does not exist.', $name)); } @@ -254,10 +262,7 @@ class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInt }); // extract fragment - $fragment = ''; - if (isset($defaults['_fragment'])) { - $fragment = $defaults['_fragment']; - } + $fragment = $defaults['_fragment'] ?? ''; if (isset($extra['_fragment'])) { $fragment = $extra['_fragment']; diff --git a/vendor/symfony/routing/Loader/AnnotationClassLoader.php b/vendor/symfony/routing/Loader/AnnotationClassLoader.php index 958217fcb..1e5449ab2 100644 --- a/vendor/symfony/routing/Loader/AnnotationClassLoader.php +++ b/vendor/symfony/routing/Loader/AnnotationClassLoader.php @@ -120,12 +120,9 @@ abstract class AnnotationClassLoader implements LoaderInterface } if (0 === $collection->count() && $class->hasMethod('__invoke')) { + $globals = $this->resetGlobals(); foreach ($this->reader->getClassAnnotations($class) as $annot) { if ($annot instanceof $this->routeAnnotationClass) { - $globals['path'] = ''; - $globals['name'] = ''; - $globals['localized_paths'] = array(); - $this->addRoute($collection, $annot, $globals, $class, $class->getMethod('__invoke')); } } @@ -142,8 +139,16 @@ abstract class AnnotationClassLoader implements LoaderInterface } $name = $globals['name'].$name; + $requirements = $annot->getRequirements(); + + foreach ($requirements as $placeholder => $requirement) { + if (\is_int($placeholder)) { + @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" of route "%s" in "%s::%s()"?', $placeholder, $requirement, $name, $class->getName(), $method->getName()), E_USER_DEPRECATED); + } + } + $defaults = array_replace($globals['defaults'], $annot->getDefaults()); - $requirements = array_replace($globals['requirements'], $annot->getRequirements()); + $requirements = array_replace($globals['requirements'], $requirements); $options = array_replace($globals['options'], $annot->getOptions()); $schemes = array_merge($globals['schemes'], $annot->getSchemes()); $methods = array_merge($globals['methods'], $annot->getMethods()); @@ -254,18 +259,7 @@ abstract class AnnotationClassLoader implements LoaderInterface protected function getGlobals(\ReflectionClass $class) { - $globals = array( - 'path' => null, - 'localized_paths' => array(), - 'requirements' => array(), - 'options' => array(), - 'defaults' => array(), - 'schemes' => array(), - 'methods' => array(), - 'host' => '', - 'condition' => '', - 'name' => '', - ); + $globals = $this->resetGlobals(); if ($annot = $this->reader->getClassAnnotation($class, $this->routeAnnotationClass)) { if (null !== $annot->getName()) { @@ -305,11 +299,33 @@ abstract class AnnotationClassLoader implements LoaderInterface if (null !== $annot->getCondition()) { $globals['condition'] = $annot->getCondition(); } + + foreach ($globals['requirements'] as $placeholder => $requirement) { + if (\is_int($placeholder)) { + @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" in "%s"?', $placeholder, $requirement, $class->getName()), E_USER_DEPRECATED); + } + } } return $globals; } + private function resetGlobals() + { + return array( + 'path' => null, + 'localized_paths' => array(), + 'requirements' => array(), + 'options' => array(), + 'defaults' => array(), + 'schemes' => array(), + 'methods' => array(), + 'host' => '', + 'condition' => '', + 'name' => '', + ); + } + protected function createRoute($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition) { return new Route($path, $defaults, $requirements, $options, $host, $schemes, $methods, $condition); diff --git a/vendor/symfony/routing/Loader/AnnotationFileLoader.php b/vendor/symfony/routing/Loader/AnnotationFileLoader.php index ecd68e04f..b69fa99c4 100644 --- a/vendor/symfony/routing/Loader/AnnotationFileLoader.php +++ b/vendor/symfony/routing/Loader/AnnotationFileLoader.php @@ -32,7 +32,7 @@ class AnnotationFileLoader extends FileLoader public function __construct(FileLocatorInterface $locator, AnnotationClassLoader $loader) { if (!\function_exists('token_get_all')) { - throw new \RuntimeException('The Tokenizer extension is required for the routing annotation loaders.'); + throw new \LogicException('The Tokenizer extension is required for the routing annotation loaders.'); } parent::__construct($locator); diff --git a/vendor/symfony/routing/Loader/YamlFileLoader.php b/vendor/symfony/routing/Loader/YamlFileLoader.php index 3188f130a..ca2e313aa 100644 --- a/vendor/symfony/routing/Loader/YamlFileLoader.php +++ b/vendor/symfony/routing/Loader/YamlFileLoader.php @@ -116,6 +116,12 @@ class YamlFileLoader extends FileLoader $methods = isset($config['methods']) ? $config['methods'] : array(); $condition = isset($config['condition']) ? $config['condition'] : null; + foreach ($requirements as $placeholder => $requirement) { + if (\is_int($placeholder)) { + @trigger_error(sprintf('A placeholder name must be a string (%d given). Did you forget to specify the placeholder key for the requirement "%s" of route "%s" in "%s"?', $placeholder, $requirement, $name, $path), E_USER_DEPRECATED); + } + } + if (isset($config['controller'])) { $defaults['_controller'] = $config['controller']; } @@ -244,28 +250,16 @@ class YamlFileLoader extends FileLoader throw new \InvalidArgumentException(sprintf('The definition of "%s" in "%s" must be a YAML array.', $name, $path)); } if ($extraKeys = array_diff(array_keys($config), self::$availableKeys)) { - throw new \InvalidArgumentException(sprintf( - 'The routing file "%s" contains unsupported keys for "%s": "%s". Expected one of: "%s".', - $path, $name, implode('", "', $extraKeys), implode('", "', self::$availableKeys) - )); + throw new \InvalidArgumentException(sprintf('The routing file "%s" contains unsupported keys for "%s": "%s". Expected one of: "%s".', $path, $name, implode('", "', $extraKeys), implode('", "', self::$availableKeys))); } if (isset($config['resource']) && isset($config['path'])) { - throw new \InvalidArgumentException(sprintf( - 'The routing file "%s" must not specify both the "resource" key and the "path" key for "%s". Choose between an import and a route definition.', - $path, $name - )); + throw new \InvalidArgumentException(sprintf('The routing file "%s" must not specify both the "resource" key and the "path" key for "%s". Choose between an import and a route definition.', $path, $name)); } if (!isset($config['resource']) && isset($config['type'])) { - throw new \InvalidArgumentException(sprintf( - 'The "type" key for the route definition "%s" in "%s" is unsupported. It is only available for imports in combination with the "resource" key.', - $name, $path - )); + throw new \InvalidArgumentException(sprintf('The "type" key for the route definition "%s" in "%s" is unsupported. It is only available for imports in combination with the "resource" key.', $name, $path)); } if (!isset($config['resource']) && !isset($config['path'])) { - throw new \InvalidArgumentException(sprintf( - 'You must define a "path" for the route "%s" in file "%s".', - $name, $path - )); + throw new \InvalidArgumentException(sprintf('You must define a "path" for the route "%s" in file "%s".', $name, $path)); } if (isset($config['controller']) && isset($config['defaults']['_controller'])) { throw new \InvalidArgumentException(sprintf('The routing file "%s" must not specify both the "controller" key and the defaults key "_controller" for "%s".', $path, $name)); diff --git a/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php b/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php index 14e5cc341..c11fc694b 100644 --- a/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php +++ b/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php @@ -13,7 +13,6 @@ namespace Symfony\Component\Routing\Matcher\Dumper; use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; use Symfony\Component\ExpressionLanguage\ExpressionLanguage; -use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface; use Symfony\Component\Routing\Route; use Symfony\Component\Routing\RouteCollection; @@ -56,13 +55,11 @@ class PhpMatcherDumper extends MatcherDumper // trailing slash support is only enabled if we know how to redirect the user $interfaces = class_implements($options['base_class']); - $supportsRedirections = isset($interfaces[RedirectableUrlMatcherInterface::class]); return <<<EOF <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -71,12 +68,12 @@ use Symfony\Component\Routing\RequestContext; */ class {$options['class']} extends {$options['base_class']} { + use PhpMatcherTrait; + public function __construct(RequestContext \$context) { \$this->context = \$context; - } - -{$this->generateMatchMethod($supportsRedirections)} +{$this->generateProperties()} } } EOF; @@ -90,7 +87,7 @@ EOF; /** * Generates the code for the match method implementing UrlMatcherInterface. */ - private function generateMatchMethod(bool $supportsRedirections): string + private function generateProperties(): string { // Group hosts by same-suffix, re-order when possible $matchHost = false; @@ -103,86 +100,25 @@ EOF; $routes->addRoute($host ?: '/(.*)', array($name, $route)); } - $routes = $matchHost ? $routes->populateCollection(new RouteCollection()) : $this->getRoutes(); - $code = rtrim($this->compileRoutes($routes, $matchHost), "\n"); - $fetchHost = $matchHost ? " \$host = strtolower(\$context->getHost());\n" : ''; - - $code = <<<EOF - { - \$allow = \$allowSchemes = array(); - \$pathinfo = rawurldecode(\$rawPathinfo); - \$context = \$this->context; - \$requestMethod = \$canonicalMethod = \$context->getMethod(); -{$fetchHost} - if ('HEAD' === \$requestMethod) { - \$canonicalMethod = 'GET'; + if ($matchHost) { + $code = '$this->matchHost = true;'."\n"; + $routes = $routes->populateCollection(new RouteCollection()); + } else { + $code = ''; + $routes = $this->getRoutes(); } -$code - -EOF; - - if ($supportsRedirections) { - return <<<'EOF' - public function match($pathinfo) - { - $allow = $allowSchemes = array(); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $pathinfo) { - $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(); - } - - private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array - -EOF - .$code."\n return null;\n }"; - } - - return " public function match(\$rawPathinfo)\n".$code."\n throw \$allow ? new MethodNotAllowedException(array_keys(\$allow)) : new ResourceNotFoundException();\n }"; - } - - /** - * Generates PHP code to match a RouteCollection with all its routes. - */ - private function compileRoutes(RouteCollection $routes, bool $matchHost): string - { list($staticRoutes, $dynamicRoutes) = $this->groupStaticRoutes($routes); - $code = $this->compileStaticRoutes($staticRoutes, $matchHost); + $conditions = array(null); + $code .= $this->compileStaticRoutes($staticRoutes, $conditions); $chunkLimit = \count($dynamicRoutes); while (true) { try { $this->signalingException = new \RuntimeException('preg_match(): Compilation failed: regular expression is too large'); - $code .= $this->compileDynamicRoutes($dynamicRoutes, $matchHost, $chunkLimit); + $code .= $this->compileDynamicRoutes($dynamicRoutes, $matchHost, $chunkLimit, $conditions); break; } catch (\Exception $e) { if (1 < $chunkLimit && $this->signalingException === $e) { @@ -193,12 +129,24 @@ EOF } } - // used to display the Welcome Page in apps that don't define a homepage - $code .= " if ('/' === \$pathinfo && !\$allow && !\$allowSchemes) {\n"; - $code .= " throw new Symfony\Component\Routing\Exception\NoConfigurationException();\n"; - $code .= " }\n"; + unset($conditions[0]); - return $code; + if (!$conditions) { + return $this->indent($code, 2); + } + + foreach ($conditions as $expression => $condition) { + $conditions[$expression] = "case {$condition}: return {$expression};"; + } + + return $this->indent($code, 2).<<<EOF + \$this->checkCondition = static function (\$condition, \$context, \$request) { + switch (\$condition) { +{$this->indent(implode("\n", $conditions), 4)} + } + }; + +EOF; } /** @@ -213,9 +161,18 @@ EOF $compiledRoute = $route->compile(); $hostRegex = $compiledRoute->getHostRegex(); $regex = $compiledRoute->getRegex(); + if ($hasTrailingSlash = '/' !== $route->getPath()) { + $pos = strrpos($regex, '$'); + $hasTrailingSlash = '/' === $regex[$pos - 1]; + $regex = substr_replace($regex, '/?$', $pos - $hasTrailingSlash, 1 + $hasTrailingSlash); + } + if (!$compiledRoute->getPathVariables()) { $host = !$compiledRoute->getHostVariables() ? $route->getHost() : ''; $url = $route->getPath(); + if ($hasTrailingSlash) { + $url = substr($url, 0, -1); + } foreach ($dynamicRegex as list($hostRx, $rx)) { if (preg_match($rx, $url) && (!$host || !$hostRx || preg_match($hostRx, $host))) { $dynamicRegex[] = array($hostRegex, $regex); @@ -224,7 +181,7 @@ EOF } } - $staticRoutes[$url][$name] = $route; + $staticRoutes[$url][$name] = array($route, $hasTrailingSlash); } else { $dynamicRegex[] = array($hostRegex, $regex); $dynamicRoutes->add($name, $route); @@ -242,58 +199,26 @@ EOF * * @throws \LogicException */ - private function compileStaticRoutes(array $staticRoutes, bool $matchHost): string + private function compileStaticRoutes(array $staticRoutes, array &$conditions): string { if (!$staticRoutes) { return ''; } - $code = $default = ''; + $code = ''; foreach ($staticRoutes as $url => $routes) { - if (1 === \count($routes)) { - foreach ($routes as $name => $route) { - } - - if (!$route->getCondition()) { - $defaults = $route->getDefaults(); - if (isset($defaults['_canonical_route'])) { - $name = $defaults['_canonical_route']; - unset($defaults['_canonical_route']); - } - $default .= sprintf( - "%s => array(%s, %s, %s, %s),\n", - self::export($url), - self::export(array('_route' => $name) + $defaults), - self::export(!$route->compile()->getHostVariables() ? $route->getHost() : $route->compile()->getHostRegex() ?: null), - self::export(array_flip($route->getMethods()) ?: null), - self::export(array_flip($route->getSchemes()) ?: null) - ); - continue; - } + $code .= self::export($url)." => array(\n"; + foreach ($routes as $name => list($route, $hasTrailingSlash)) { + $code .= $this->compileRoute($route, $name, !$route->compile()->getHostVariables() ? $route->getHost() : $route->compile()->getHostRegex() ?: null, $hasTrailingSlash, $conditions); } - - $code .= sprintf(" case %s:\n", self::export($url)); - foreach ($routes as $name => $route) { - $code .= $this->compileRoute($route, $name, true); - } - $code .= " break;\n"; + $code .= "),\n"; } - if ($default) { - $code .= <<<EOF - default: - \$routes = array( -{$this->indent($default, 4)} ); - - if (!isset(\$routes[\$pathinfo])) { - break; - } - list(\$ret, \$requiredHost, \$requiredMethods, \$requiredSchemes) = \$routes[\$pathinfo]; -{$this->compileSwitchDefault(false, $matchHost)} -EOF; + if ($code) { + return "\$this->staticRoutes = array(\n{$this->indent($code, 1)});\n"; } - return sprintf(" switch (\$pathinfo) {\n%s }\n\n", $this->indent($code)); + return $code; } /** @@ -314,7 +239,7 @@ EOF; * matching-but-failing subpattern is blacklisted by replacing its name by "(*F)", which forces a failure-to-match. * To ease this backlisting operation, the name of subpatterns is also the string offset where the replacement should occur. */ - private function compileDynamicRoutes(RouteCollection $collection, bool $matchHost, int $chunkLimit): string + private function compileDynamicRoutes(RouteCollection $collection, bool $matchHost, int $chunkLimit, array &$conditions): string { if (!$collection->all()) { return ''; @@ -322,8 +247,7 @@ EOF; $code = ''; $state = (object) array( 'regex' => '', - 'switch' => '', - 'default' => '', + 'routes' => '', 'mark' => 0, 'markTail' => 0, 'hostVars' => array(), @@ -367,7 +291,7 @@ EOF; } $prev = false; $rx = '{^(?'; - $code .= "\n {$state->mark} => ".self::export($rx); + $code .= "\n {$state->mark} => ".self::export($rx); $state->mark += \strlen($rx); $state->regex = $rx; @@ -383,7 +307,7 @@ EOF; $state->hostVars = array(); } $state->mark += \strlen($rx = ($prev ? ')' : '')."|{$hostRegex}(?"); - $code .= "\n .".self::export($rx); + $code .= "\n .".self::export($rx); $state->regex .= $rx; $prev = true; } @@ -394,17 +318,21 @@ EOF; $state->vars = array(); $regex = preg_replace_callback('#\?P<([^>]++)>#', $state->getVars, $rx[1]); - $tree->addRoute($regex, array($name, $regex, $state->vars, $route)); + if ($hasTrailingSlash = '/' !== $regex && '/' === $regex[-1]) { + $regex = substr($regex, 0, -1); + } + + $tree->addRoute($regex, array($name, $regex, $state->vars, $route, $hasTrailingSlash)); } - $code .= $this->compileStaticPrefixCollection($tree, $state); + $code .= $this->compileStaticPrefixCollection($tree, $state, 0, $conditions); } if ($matchHost) { - $code .= "\n .')'"; + $code .= "\n .')'"; $state->regex .= ')'; } - $rx = ")$}{$modifiers}"; - $code .= "\n .'{$rx}',"; + $rx = ")(?:/?)$}{$modifiers}"; + $code .= "\n .'{$rx}',"; $state->regex .= $rx; $state->markTail = 0; @@ -417,39 +345,10 @@ EOF; } } - if ($state->default) { - $state->switch .= <<<EOF - default: - \$routes = array( -{$this->indent($state->default, 4)} ); - - list(\$ret, \$vars, \$requiredMethods, \$requiredSchemes) = \$routes[\$m]; -{$this->compileSwitchDefault(true, $matchHost)} -EOF; - } - - $matchedPathinfo = $matchHost ? '$host.\'.\'.$pathinfo' : '$pathinfo'; unset($state->getVars); - return <<<EOF - \$matchedPathinfo = {$matchedPathinfo}; - \$regexList = array({$code} - ); - - foreach (\$regexList as \$offset => \$regex) { - while (preg_match(\$regex, \$matchedPathinfo, \$matches)) { - switch (\$m = (int) \$matches['MARK']) { -{$this->indent($state->switch, 3)} } - - if ({$state->mark} === \$m) { - break; - } - \$regex = substr_replace(\$regex, 'F', \$m - \$offset, 1 + strlen(\$m)); - \$offset += strlen(\$m); - } - } - -EOF; + return "\$this->regexpList = array({$code}\n);\n" + ."\$this->dynamicRoutes = array(\n{$this->indent($state->routes, 1)});\n"; } /** @@ -458,7 +357,7 @@ EOF; * @param \stdClass $state A simple state object that keeps track of the progress of the compilation, * and gathers the generated switch's "case" and "default" statements */ - private function compileStaticPrefixCollection(StaticPrefixCollection $tree, \stdClass $state, int $prefixLen = 0): string + private function compileStaticPrefixCollection(StaticPrefixCollection $tree, \stdClass $state, int $prefixLen, array &$conditions): string { $code = ''; $prevRegex = null; @@ -469,262 +368,72 @@ EOF; $prevRegex = null; $prefix = substr($route->getPrefix(), $prefixLen); $state->mark += \strlen($rx = "|{$prefix}(?"); - $code .= "\n .".self::export($rx); + $code .= "\n .".self::export($rx); $state->regex .= $rx; - $code .= $this->indent($this->compileStaticPrefixCollection($route, $state, $prefixLen + \strlen($prefix))); - $code .= "\n .')'"; + $code .= $this->indent($this->compileStaticPrefixCollection($route, $state, $prefixLen + \strlen($prefix), $conditions)); + $code .= "\n .')'"; $state->regex .= ')'; ++$state->markTail; continue; } - list($name, $regex, $vars, $route) = $route; + list($name, $regex, $vars, $route, $hasTrailingSlash) = $route; $compiledRoute = $route->compile(); + $vars = array_merge($state->hostVars, $vars); if ($compiledRoute->getRegex() === $prevRegex) { - $state->switch = substr_replace($state->switch, $this->compileRoute($route, $name, false)."\n", -19, 0); + $state->routes = substr_replace($state->routes, $this->compileRoute($route, $name, $vars, $hasTrailingSlash, $conditions), -3, 0); continue; } $state->mark += 3 + $state->markTail + \strlen($regex) - $prefixLen; $state->markTail = 2 + \strlen($state->mark); $rx = sprintf('|%s(*:%s)', substr($regex, $prefixLen), $state->mark); - $code .= "\n .".self::export($rx); + $code .= "\n .".self::export($rx); $state->regex .= $rx; - $vars = array_merge($state->hostVars, $vars); - if (!$route->getCondition() && (!\is_array($next = $routes[1 + $i] ?? null) || $regex !== $next[1])) { - $prevRegex = null; - $defaults = $route->getDefaults(); - if (isset($defaults['_canonical_route'])) { - $name = $defaults['_canonical_route']; - unset($defaults['_canonical_route']); - } - $state->default .= sprintf( - "%s => array(%s, %s, %s, %s),\n", - $state->mark, - self::export(array('_route' => $name) + $defaults), - self::export($vars), - self::export(array_flip($route->getMethods()) ?: null), - self::export(array_flip($route->getSchemes()) ?: null) - ); - } else { - $prevRegex = $compiledRoute->getRegex(); - $combine = ' $matches = array('; - foreach ($vars as $j => $m) { - $combine .= sprintf('%s => $matches[%d] ?? null, ', self::export($m), 1 + $j); - } - $combine = $vars ? substr_replace($combine, ");\n\n", -2) : ''; - - $state->switch .= <<<EOF - case {$state->mark}: -{$combine}{$this->compileRoute($route, $name, false)} - break; - -EOF; - } + $prevRegex = $compiledRoute->getRegex(); + $state->routes .= sprintf("%s => array(\n%s),\n", $state->mark, $this->compileRoute($route, $name, $vars, $hasTrailingSlash, $conditions)); } return $code; } - /** - * A simple helper to compiles the switch's "default" for both static and dynamic routes. - */ - private function compileSwitchDefault(bool $hasVars, bool $matchHost): string - { - if ($hasVars) { - $code = <<<EOF - - foreach (\$vars as \$i => \$v) { - if (isset(\$matches[1 + \$i])) { - \$ret[\$v] = \$matches[1 + \$i]; - } - } - -EOF; - } elseif ($matchHost) { - $code = <<<EOF - - if (\$requiredHost) { - if ('#' !== \$requiredHost[0] ? \$requiredHost !== \$host : !preg_match(\$requiredHost, \$host, \$hostMatches)) { - break; - } - if ('#' === \$requiredHost[0] && \$hostMatches) { - \$hostMatches['_route'] = \$ret['_route']; - \$ret = \$this->mergeDefaults(\$hostMatches, \$ret); - } - } - -EOF; - } else { - $code = ''; - } - - $code .= <<<EOF - - \$hasRequiredScheme = !\$requiredSchemes || isset(\$requiredSchemes[\$context->getScheme()]); - if (\$requiredMethods && !isset(\$requiredMethods[\$canonicalMethod]) && !isset(\$requiredMethods[\$requestMethod])) { - if (\$hasRequiredScheme) { - \$allow += \$requiredMethods; - } - break; - } - if (!\$hasRequiredScheme) { - \$allowSchemes += \$requiredSchemes; - break; - } - - return \$ret; - -EOF; - - return $code; - } - /** * Compiles a single Route to PHP code used to match it against the path info. - * - * @throws \LogicException */ - private function compileRoute(Route $route, string $name, bool $checkHost): string + private function compileRoute(Route $route, string $name, $vars, bool $hasTrailingSlash, array &$conditions): string { - $code = ''; - $compiledRoute = $route->compile(); - $conditions = array(); - $matches = (bool) $compiledRoute->getPathVariables(); - $hostMatches = (bool) $compiledRoute->getHostVariables(); - $methods = array_flip($route->getMethods()); - - if ($route->getCondition()) { - $expression = $this->getExpressionLanguage()->compile($route->getCondition(), array('context', 'request')); - - if (false !== strpos($expression, '$request')) { - $conditions[] = '($request = $request ?? $this->request ?: $this->createRequest($pathinfo))'; - } - $conditions[] = $expression; - } - - if (!$checkHost || !$compiledRoute->getHostRegex()) { - // no-op - } elseif ($hostMatches) { - $conditions[] = sprintf('preg_match(%s, $host, $hostMatches)', self::export($compiledRoute->getHostRegex())); - } else { - $conditions[] = sprintf('%s === $host', self::export($route->getHost())); - } - - $conditions = implode(' && ', $conditions); - - if ($conditions) { - $code .= <<<EOF - // $name - if ($conditions) { - -EOF; - } else { - $code .= " // {$name}\n"; - } - - $gotoname = 'not_'.preg_replace('/[^A-Za-z0-9_]/', '', $name); - - // the offset where the return value is appended below, with indendation - $retOffset = 12 + \strlen($code); $defaults = $route->getDefaults(); + if (isset($defaults['_canonical_route'])) { $name = $defaults['_canonical_route']; unset($defaults['_canonical_route']); } - // optimize parameters array - if ($matches || $hostMatches) { - $vars = array("array('_route' => '$name')"); - if ($matches || ($hostMatches && !$checkHost)) { - $vars[] = '$matches'; - } - if ($hostMatches && $checkHost) { - $vars[] = '$hostMatches'; - } - - $code .= sprintf( - " \$ret = \$this->mergeDefaults(%s, %s);\n", - implode(' + ', $vars), - self::export($defaults) - ); - } elseif ($defaults) { - $code .= sprintf(" \$ret = %s;\n", self::export(array('_route' => $name) + $defaults)); + if ($condition = $route->getCondition()) { + $condition = $this->getExpressionLanguage()->compile($condition, array('context', 'request')); + $condition = $conditions[$condition] ?? $conditions[$condition] = (false !== strpos($condition, '$request') ? 1 : -1) * \count($conditions); } else { - $code .= sprintf(" \$ret = array('_route' => '%s');\n", $name); + $condition = 'null'; } - if ($methods) { - $methodVariable = isset($methods['GET']) ? '$canonicalMethod' : '$requestMethod'; - $methods = self::export($methods); - } - - if ($schemes = $route->getSchemes()) { - $schemes = self::export(array_flip($schemes)); - if ($methods) { - $code .= <<<EOF - \$requiredSchemes = $schemes; - \$hasRequiredScheme = isset(\$requiredSchemes[\$context->getScheme()]); - if (!isset((\$a = {$methods})[{$methodVariable}])) { - if (\$hasRequiredScheme) { - \$allow += \$a; - } - goto $gotoname; - } - if (!\$hasRequiredScheme) { - \$allowSchemes += \$requiredSchemes; - goto $gotoname; - } - - -EOF; - } else { - $code .= <<<EOF - \$requiredSchemes = $schemes; - if (!isset(\$requiredSchemes[\$context->getScheme()])) { - \$allowSchemes += \$requiredSchemes; - goto $gotoname; - } - - -EOF; - } - } elseif ($methods) { - $code .= <<<EOF - if (!isset((\$a = {$methods})[{$methodVariable}])) { - \$allow += \$a; - goto $gotoname; - } - - -EOF; - } - - if ($schemes || $methods) { - $code .= " return \$ret;\n"; - } else { - $code = substr_replace($code, 'return', $retOffset, 6); - } - if ($conditions) { - $code .= " }\n"; - } elseif ($schemes || $methods) { - $code .= ' '; - } - - if ($schemes || $methods) { - $code .= " $gotoname:\n"; - } - - return $conditions ? $this->indent($code) : $code; + return sprintf( + " array(%s, %s, %s, %s, %s, %s),\n", + self::export(array('_route' => $name) + $defaults), + self::export($vars), + self::export(array_flip($route->getMethods()) ?: null), + self::export(array_flip($route->getSchemes()) ?: null), + self::export($hasTrailingSlash), + $condition + ); } private function getExpressionLanguage() { if (null === $this->expressionLanguage) { if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { - throw new \RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); + throw new \LogicException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); } $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders); } @@ -734,6 +443,8 @@ EOF; private function indent($code, $level = 1) { + $code = preg_replace('/ => array\(\n (array\(.+),\n\),/', ' => array($1),', $code); + return preg_replace('/^./m', str_repeat(' ', $level).'$0', $code); } diff --git a/vendor/symfony/routing/Matcher/Dumper/PhpMatcherTrait.php b/vendor/symfony/routing/Matcher/Dumper/PhpMatcherTrait.php new file mode 100644 index 000000000..774f503ac --- /dev/null +++ b/vendor/symfony/routing/Matcher/Dumper/PhpMatcherTrait.php @@ -0,0 +1,173 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Routing\Matcher\Dumper; + +use Symfony\Component\Routing\Exception\MethodNotAllowedException; +use Symfony\Component\Routing\Exception\NoConfigurationException; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface; + +/** + * @author Nicolas Grekas <p@tchwork.com> + * + * @internal + */ +trait PhpMatcherTrait +{ + private $matchHost = false; + private $staticRoutes = array(); + private $regexpList = array(); + private $dynamicRoutes = array(); + private $checkCondition; + + public function match($pathinfo) + { + $allow = $allowSchemes = array(); + if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { + return $ret; + } + if ($allow) { + throw new MethodNotAllowedException(array_keys($allow)); + } + if (!$this instanceof RedirectableUrlMatcherInterface) { + throw new ResourceNotFoundException(); + } + if (!\in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { + // no-op + } elseif ($allowSchemes) { + redirect_scheme: + $scheme = $this->context->getScheme(); + $this->context->setScheme(key($allowSchemes)); + try { + if ($ret = $this->doMatch($pathinfo)) { + return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; + } + } finally { + $this->context->setScheme($scheme); + } + } elseif ('/' !== $pathinfo) { + $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); + if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { + return $this->redirect($pathinfo, $ret['_route']) + $ret; + } + if ($allowSchemes) { + goto redirect_scheme; + } + } + + throw new ResourceNotFoundException(); + } + + private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array + { + $allow = $allowSchemes = array(); + $pathinfo = rawurldecode($rawPathinfo) ?: '/'; + $context = $this->context; + $requestMethod = $canonicalMethod = $context->getMethod(); + $trimmedPathinfo = '/' !== $pathinfo && '/' === $pathinfo[-1] ? substr($pathinfo, 0, -1) : $pathinfo; + + if ($this->matchHost) { + $host = strtolower($context->getHost()); + } + + if ('HEAD' === $requestMethod) { + $canonicalMethod = 'GET'; + } + + foreach ($this->staticRoutes[$trimmedPathinfo] ?? array() as list($ret, $requiredHost, $requiredMethods, $requiredSchemes, $hasTrailingSlash, $condition)) { + if ($condition && !($this->checkCondition)($condition, $context, 0 < $condition ? $request ?? $request = $this->request ?: $this->createRequest($pathinfo) : null)) { + continue; + } + + if ('/' === $pathinfo || $hasTrailingSlash === ('/' === $pathinfo[-1])) { + // no-op + } elseif ($this instanceof RedirectableUrlMatcherInterface) { + return null; + } else { + continue; + } + + if ($requiredHost) { + if ('#' !== $requiredHost[0] ? $requiredHost !== $host : !preg_match($requiredHost, $host, $hostMatches)) { + continue; + } + if ('#' === $requiredHost[0] && $hostMatches) { + $hostMatches['_route'] = $ret['_route']; + $ret = $this->mergeDefaults($hostMatches, $ret); + } + } + + $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); + if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { + if ($hasRequiredScheme) { + $allow += $requiredMethods; + } + continue; + } + if (!$hasRequiredScheme) { + $allowSchemes += $requiredSchemes; + continue; + } + + return $ret; + } + + $matchedPathinfo = $this->matchHost ? $host.'.'.$pathinfo : $pathinfo; + + foreach ($this->regexpList as $offset => $regex) { + while (preg_match($regex, $matchedPathinfo, $matches)) { + foreach ($this->dynamicRoutes[$m = (int) $matches['MARK']] as list($ret, $vars, $requiredMethods, $requiredSchemes, $hasTrailingSlash, $condition)) { + if ($condition && !($this->checkCondition)($condition, $context, 0 < $condition ? $request ?? $request = $this->request ?: $this->createRequest($pathinfo) : null)) { + continue; + } + + if ('/' === $pathinfo || (!$hasTrailingSlash ? '/' !== $pathinfo[-1] || !preg_match($regex, substr($pathinfo, 0, -1), $n) || $m !== (int) $n['MARK'] : '/' === $pathinfo[-1])) { + // no-op + } elseif ($this instanceof RedirectableUrlMatcherInterface) { + return null; + } else { + continue; + } + + foreach ($vars as $i => $v) { + if (isset($matches[1 + $i])) { + $ret[$v] = $matches[1 + $i]; + } + } + + $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); + if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { + if ($hasRequiredScheme) { + $allow += $requiredMethods; + } + continue; + } + if (!$hasRequiredScheme) { + $allowSchemes += $requiredSchemes; + continue; + } + + return $ret; + } + + $regex = substr_replace($regex, 'F', $m - $offset, 1 + \strlen($m)); + $offset += \strlen($m); + } + } + + if ('/' === $pathinfo && !$allow && !$allowSchemes) { + throw new NoConfigurationException(); + } + + return null; + } +} diff --git a/vendor/symfony/routing/Matcher/UrlMatcher.php b/vendor/symfony/routing/Matcher/UrlMatcher.php index 095e6dc2d..32bf4ed82 100644 --- a/vendor/symfony/routing/Matcher/UrlMatcher.php +++ b/vendor/symfony/routing/Matcher/UrlMatcher.php @@ -130,16 +130,43 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface */ protected function matchCollection($pathinfo, RouteCollection $routes) { + $supportsTrailingSlash = '/' !== $pathinfo && '' !== $pathinfo && $this instanceof RedirectableUrlMatcherInterface; + foreach ($routes as $name => $route) { $compiledRoute = $route->compile(); + $staticPrefix = $compiledRoute->getStaticPrefix(); // check the static prefix of the URL first. Only use the more expensive preg_match when it matches - if ('' !== $compiledRoute->getStaticPrefix() && 0 !== strpos($pathinfo, $compiledRoute->getStaticPrefix())) { + if ('' === $staticPrefix || 0 === strpos($pathinfo, $staticPrefix)) { + // no-op + } elseif (!$supportsTrailingSlash) { + continue; + } elseif ('/' === $staticPrefix[-1] && substr($staticPrefix, 0, -1) === $pathinfo) { + return; + } elseif ('/' === $pathinfo[-1] && substr($pathinfo, 0, -1) === $staticPrefix) { + return; + } else { + continue; + } + $regex = $compiledRoute->getRegex(); + + if ($supportsTrailingSlash) { + $pos = strrpos($regex, '$'); + $hasTrailingSlash = '/' === $regex[$pos - 1]; + $regex = substr_replace($regex, '/?$', $pos - $hasTrailingSlash, 1 + $hasTrailingSlash); + } + + if (!preg_match($regex, $pathinfo, $matches)) { continue; } - if (!preg_match($compiledRoute->getRegex(), $pathinfo, $matches)) { - continue; + if ($supportsTrailingSlash) { + if (!$hasTrailingSlash && '/' === $pathinfo[-1] && preg_match($regex, substr($pathinfo, 0, -1))) { + return; + } + if ($hasTrailingSlash && '/' !== $pathinfo[-1]) { + return; + } } $hostMatches = array(); @@ -246,7 +273,7 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface { if (null === $this->expressionLanguage) { if (!class_exists('Symfony\Component\ExpressionLanguage\ExpressionLanguage')) { - throw new \RuntimeException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); + throw new \LogicException('Unable to use expressions as the Symfony ExpressionLanguage component is not installed.'); } $this->expressionLanguage = new ExpressionLanguage(null, $this->expressionLanguageProviders); } diff --git a/vendor/symfony/routing/Route.php b/vendor/symfony/routing/Route.php index 1b060a869..46724dbd5 100644 --- a/vendor/symfony/routing/Route.php +++ b/vendor/symfony/routing/Route.php @@ -29,7 +29,7 @@ class Route implements \Serializable private $condition = ''; /** - * @var null|CompiledRoute + * @var CompiledRoute|null */ private $compiled; diff --git a/vendor/symfony/routing/RouteCollectionBuilder.php b/vendor/symfony/routing/RouteCollectionBuilder.php index d5ff578c5..e0f307698 100644 --- a/vendor/symfony/routing/RouteCollectionBuilder.php +++ b/vendor/symfony/routing/RouteCollectionBuilder.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Routing; -use Symfony\Component\Config\Exception\FileLoaderLoadException; +use Symfony\Component\Config\Exception\LoaderLoadException; use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\Config\Resource\ResourceInterface; @@ -46,7 +46,7 @@ class RouteCollectionBuilder /** * Import an external routing resource and returns the RouteCollectionBuilder. * - * $routes->import('blog.yml', '/blog'); + * $routes->import('blog.yml', '/blog'); * * @param mixed $resource * @param string|null $prefix @@ -54,7 +54,7 @@ class RouteCollectionBuilder * * @return self * - * @throws FileLoaderLoadException + * @throws LoaderLoadException */ public function import($resource, $prefix = '/', $type = null) { @@ -347,7 +347,7 @@ class RouteCollectionBuilder * * @return RouteCollection[] * - * @throws FileLoaderLoadException If no loader is found + * @throws LoaderLoadException If no loader is found */ private function load($resource, string $type = null): array { @@ -362,11 +362,11 @@ class RouteCollectionBuilder } if (null === $resolver = $this->loader->getResolver()) { - throw new FileLoaderLoadException($resource, null, null, null, $type); + throw new LoaderLoadException($resource, null, null, null, $type); } if (false === $loader = $resolver->resolve($resource, $type)) { - throw new FileLoaderLoadException($resource, null, null, null, $type); + throw new LoaderLoadException($resource, null, null, null, $type); } $collections = $loader->load($resource, $type); diff --git a/vendor/symfony/routing/Router.php b/vendor/symfony/routing/Router.php index 56842a4d3..3f4838ea0 100644 --- a/vendor/symfony/routing/Router.php +++ b/vendor/symfony/routing/Router.php @@ -375,7 +375,7 @@ class Router implements RouterInterface, RequestMatcherInterface * Provides the ConfigCache factory implementation, falling back to a * default implementation if necessary. * - * @return ConfigCacheFactoryInterface $configCacheFactory + * @return ConfigCacheFactoryInterface */ private function getConfigCacheFactory() { diff --git a/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/InvokableController.php b/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/InvokableController.php index b25a0ad92..c70793a81 100644 --- a/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/InvokableController.php +++ b/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/InvokableController.php @@ -5,7 +5,7 @@ namespace Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures; use Symfony\Component\Routing\Annotation\Route; /** - * @Route("/here", name="lol") + * @Route("/here", name="lol", methods={"GET", "POST"}, schemes={"https"}) */ class InvokableController { diff --git a/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/RequirementsWithoutPlaceholderNameController.php b/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/RequirementsWithoutPlaceholderNameController.php new file mode 100644 index 000000000..301f9691d --- /dev/null +++ b/vendor/symfony/routing/Tests/Fixtures/AnnotationFixtures/RequirementsWithoutPlaceholderNameController.php @@ -0,0 +1,27 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures; + +use Symfony\Component\Routing\Annotation\Route; + +/** + * @Route("/", requirements={"foo", "\d+"}) + */ +class RequirementsWithoutPlaceholderNameController +{ + /** + * @Route("/{foo}", name="foo", requirements={"foo", "\d+"}) + */ + public function foo() + { + } +} diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php index e7c076500..e1466356f 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher0.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,26 +9,10 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); - } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php index 68e7741b5..ce1201a59 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,77 +9,32 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - $host = strtolower($context->getHost()); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - default: - $routes = array( - '/test/baz' => array(array('_route' => 'baz'), null, null, null), - '/test/baz.html' => array(array('_route' => 'baz2'), null, null, null), - '/test/baz3/' => array(array('_route' => 'baz3'), null, null, null), - '/foofoo' => array(array('_route' => 'foofoo', 'def' => 'test'), null, null, null), - '/spa ce' => array(array('_route' => 'space'), null, null, null), - '/multi/new' => array(array('_route' => 'overridden2'), null, null, null), - '/multi/hey/' => array(array('_route' => 'hey'), null, null, null), - '/ababa' => array(array('_route' => 'ababa'), null, null, null), - '/route1' => array(array('_route' => 'route1'), 'a.example.com', null, null), - '/c2/route2' => array(array('_route' => 'route2'), 'a.example.com', null, null), - '/route4' => array(array('_route' => 'route4'), 'a.example.com', null, null), - '/c2/route3' => array(array('_route' => 'route3'), 'b.example.com', null, null), - '/route5' => array(array('_route' => 'route5'), 'c.example.com', null, null), - '/route6' => array(array('_route' => 'route6'), null, null, null), - '/route11' => array(array('_route' => 'route11'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null), - '/route12' => array(array('_route' => 'route12', 'var1' => 'val'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null), - '/route17' => array(array('_route' => 'route17'), null, null, null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - if ($requiredHost) { - if ('#' !== $requiredHost[0] ? $requiredHost !== $host : !preg_match($requiredHost, $host, $hostMatches)) { - break; - } - if ('#' === $requiredHost[0] && $hostMatches) { - $hostMatches['_route'] = $ret['_route']; - $ret = $this->mergeDefaults($hostMatches, $ret); - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $host.'.'.$pathinfo; - $regexList = array( + $this->matchHost = true; + $this->staticRoutes = array( + '/test/baz' => array(array(array('_route' => 'baz'), null, null, null, false, null)), + '/test/baz.html' => array(array(array('_route' => 'baz2'), null, null, null, false, null)), + '/test/baz3' => array(array(array('_route' => 'baz3'), null, null, null, true, null)), + '/foofoo' => array(array(array('_route' => 'foofoo', 'def' => 'test'), null, null, null, false, null)), + '/spa ce' => array(array(array('_route' => 'space'), null, null, null, false, null)), + '/multi/new' => array(array(array('_route' => 'overridden2'), null, null, null, false, null)), + '/multi/hey' => array(array(array('_route' => 'hey'), null, null, null, true, null)), + '/ababa' => array(array(array('_route' => 'ababa'), null, null, null, false, null)), + '/route1' => array(array(array('_route' => 'route1'), 'a.example.com', null, null, false, null)), + '/c2/route2' => array(array(array('_route' => 'route2'), 'a.example.com', null, null, false, null)), + '/route4' => array(array(array('_route' => 'route4'), 'a.example.com', null, null, false, null)), + '/c2/route3' => array(array(array('_route' => 'route3'), 'b.example.com', null, null, false, null)), + '/route5' => array(array(array('_route' => 'route5'), 'c.example.com', null, null, false, null)), + '/route6' => array(array(array('_route' => 'route6'), null, null, null, false, null)), + '/route11' => array(array(array('_route' => 'route11'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null, false, null)), + '/route12' => array(array(array('_route' => 'route12', 'var1' => 'val'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null, false, null)), + '/route17' => array(array(array('_route' => 'route17'), null, null, null, false, null)), + ); + $this->regexpList = array( 0 => '{^(?' .'|(?:(?:[^./]*+\\.)++)(?' .'|/foo/(baz|symfony)(*:47)' @@ -88,160 +42,72 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher .'|/([^/]++)(*:70)' .'|head/([^/]++)(*:90)' .')' - .'|/test/([^/]++)/(?' - .'|(*:116)' + .'|/test/([^/]++)(?' + .'|(*:115)' .')' - .'|/([\']+)(*:132)' + .'|/([\']+)(*:131)' .'|/a/(?' .'|b\'b/([^/]++)(?' - .'|(*:161)' - .'|(*:169)' + .'|(*:160)' + .'|(*:168)' .')' - .'|(.*)(*:182)' + .'|(.*)(*:181)' .'|b\'b/([^/]++)(?' - .'|(*:205)' - .'|(*:213)' + .'|(*:204)' + .'|(*:212)' .')' .')' - .'|/multi/hello(?:/([^/]++))?(*:249)' + .'|/multi/hello(?:/([^/]++))?(*:248)' .'|/([^/]++)/b/([^/]++)(?' - .'|(*:280)' - .'|(*:288)' + .'|(*:279)' + .'|(*:287)' .')' - .'|/aba/([^/]++)(*:310)' + .'|/aba/([^/]++)(*:309)' .')|(?i:([^\\.]++)\\.example\\.com)\\.(?' .'|/route1(?' - .'|3/([^/]++)(*:372)' - .'|4/([^/]++)(*:390)' + .'|3/([^/]++)(*:371)' + .'|4/([^/]++)(*:389)' .')' .')|(?i:c\\.example\\.com)\\.(?' - .'|/route15/([^/]++)(*:442)' + .'|/route15/([^/]++)(*:441)' .')|(?:(?:[^./]*+\\.)++)(?' - .'|/route16/([^/]++)(*:490)' + .'|/route16/([^/]++)(*:489)' .'|/a/(?' - .'|a\\.\\.\\.(*:511)' + .'|a\\.\\.\\.(*:510)' .'|b/(?' - .'|([^/]++)(*:532)' - .'|c/([^/]++)(*:550)' + .'|([^/]++)(*:531)' + .'|c/([^/]++)(*:549)' .')' .')' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 47 => array(array(array('_route' => 'foo', 'def' => 'test'), array('bar'), null, null, false, null)), + 70 => array(array(array('_route' => 'bar'), array('foo'), array('GET' => 0, 'HEAD' => 1), null, false, null)), + 90 => array(array(array('_route' => 'barhead'), array('foo'), array('GET' => 0), null, false, null)), + 115 => array( + array(array('_route' => 'baz4'), array('foo'), null, null, true, null), + array(array('_route' => 'baz5'), array('foo'), array('POST' => 0), null, true, null), + array(array('_route' => 'baz.baz6'), array('foo'), array('PUT' => 0), null, true, null), + ), + 131 => array(array(array('_route' => 'quoter'), array('quoter'), null, null, false, null)), + 160 => array(array(array('_route' => 'foo1'), array('foo'), array('PUT' => 0), null, false, null)), + 168 => array(array(array('_route' => 'bar1'), array('bar'), null, null, false, null)), + 181 => array(array(array('_route' => 'overridden'), array('var'), null, null, false, null)), + 204 => array(array(array('_route' => 'foo2'), array('foo1'), null, null, false, null)), + 212 => array(array(array('_route' => 'bar2'), array('bar1'), null, null, false, null)), + 248 => array(array(array('_route' => 'helloWorld', 'who' => 'World!'), array('who'), null, null, false, null)), + 279 => array(array(array('_route' => 'foo3'), array('_locale', 'foo'), null, null, false, null)), + 287 => array(array(array('_route' => 'bar3'), array('_locale', 'bar'), null, null, false, null)), + 309 => array(array(array('_route' => 'foo4'), array('foo'), null, null, false, null)), + 371 => array(array(array('_route' => 'route13'), array('var1', 'name'), null, null, false, null)), + 389 => array(array(array('_route' => 'route14', 'var1' => 'val'), array('var1', 'name'), null, null, false, null)), + 441 => array(array(array('_route' => 'route15'), array('name'), null, null, false, null)), + 489 => array(array(array('_route' => 'route16', 'var1' => 'val'), array('name'), null, null, false, null)), + 510 => array(array(array('_route' => 'a'), array(), null, null, false, null)), + 531 => array(array(array('_route' => 'b'), array('var'), null, null, false, null)), + 549 => array(array(array('_route' => 'c'), array('var'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - case 116: - $matches = array('foo' => $matches[1] ?? null); - - // baz4 - return $this->mergeDefaults(array('_route' => 'baz4') + $matches, array()); - - // baz5 - $ret = $this->mergeDefaults(array('_route' => 'baz5') + $matches, array()); - if (!isset(($a = array('POST' => 0))[$requestMethod])) { - $allow += $a; - goto not_baz5; - } - - return $ret; - not_baz5: - - // baz.baz6 - $ret = $this->mergeDefaults(array('_route' => 'baz.baz6') + $matches, array()); - if (!isset(($a = array('PUT' => 0))[$requestMethod])) { - $allow += $a; - goto not_bazbaz6; - } - - return $ret; - not_bazbaz6: - - break; - case 161: - $matches = array('foo' => $matches[1] ?? null); - - // foo1 - $ret = $this->mergeDefaults(array('_route' => 'foo1') + $matches, array()); - if (!isset(($a = array('PUT' => 0))[$requestMethod])) { - $allow += $a; - goto not_foo1; - } - - return $ret; - not_foo1: - - break; - case 205: - $matches = array('foo1' => $matches[1] ?? null); - - // foo2 - return $this->mergeDefaults(array('_route' => 'foo2') + $matches, array()); - - break; - case 280: - $matches = array('_locale' => $matches[1] ?? null, 'foo' => $matches[2] ?? null); - - // foo3 - return $this->mergeDefaults(array('_route' => 'foo3') + $matches, array()); - - break; - default: - $routes = array( - 47 => array(array('_route' => 'foo', 'def' => 'test'), array('bar'), null, null), - 70 => array(array('_route' => 'bar'), array('foo'), array('GET' => 0, 'HEAD' => 1), null), - 90 => array(array('_route' => 'barhead'), array('foo'), array('GET' => 0), null), - 132 => array(array('_route' => 'quoter'), array('quoter'), null, null), - 169 => array(array('_route' => 'bar1'), array('bar'), null, null), - 182 => array(array('_route' => 'overridden'), array('var'), null, null), - 213 => array(array('_route' => 'bar2'), array('bar1'), null, null), - 249 => array(array('_route' => 'helloWorld', 'who' => 'World!'), array('who'), null, null), - 288 => array(array('_route' => 'bar3'), array('_locale', 'bar'), null, null), - 310 => array(array('_route' => 'foo4'), array('foo'), null, null), - 372 => array(array('_route' => 'route13'), array('var1', 'name'), null, null), - 390 => array(array('_route' => 'route14', 'var1' => 'val'), array('var1', 'name'), null, null), - 442 => array(array('_route' => 'route15'), array('name'), null, null), - 490 => array(array('_route' => 'route16', 'var1' => 'val'), array('name'), null, null), - 511 => array(array('_route' => 'a'), array(), null, null), - 532 => array(array('_route' => 'b'), array('var'), null, null), - 550 => array(array('_route' => 'c'), array('var'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (550 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher10.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher10.php index 2f5cc3fc5..d1a6caed8 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher10.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher10.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,24 +9,12 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->regexpList = array( 0 => '{^(?' .'|/c(?' .'|f(?' @@ -906,7 +893,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher .'|1d92b/([^/]++)/([^/]++)/([^/]++)/51d92b(*:24737)' .'|98b3e/([^/]++)/([^/]++)/([^/]++)/598b3e(*:24786)' .')' - .')$}sD', + .')(?:/?)$}sD', 24786 => '{^(?' .'|/5(?' .'|b69b9/([^/]++)/([^/]++)/([^/]++)/5b69b9(*:24837)' @@ -1781,1050 +1768,1009 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher .')' .'|9c9ad/([^/]++)/([^/]++)/([^/]++)/49c9ad(*:49718)' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 54 => array(array(array('_route' => '_0'), array('a', 'b', 'c'), null, null, false, null)), + 102 => array(array(array('_route' => '_190'), array('a', 'b', 'c'), null, null, false, null)), + 147 => array(array(array('_route' => '_478'), array('a', 'b', 'c'), null, null, false, null)), + 194 => array(array(array('_route' => '_259'), array('a', 'b', 'c'), null, null, false, null)), + 240 => array(array(array('_route' => '_368'), array('a', 'b', 'c'), null, null, false, null)), + 291 => array(array(array('_route' => '_1'), array('a', 'b', 'c'), null, null, false, null)), + 337 => array(array(array('_route' => '_116'), array('a', 'b', 'c'), null, null, false, null)), + 383 => array(array(array('_route' => '_490'), array('a', 'b', 'c'), null, null, false, null)), + 434 => array(array(array('_route' => '_2'), array('a', 'b', 'c'), null, null, false, null)), + 480 => array(array(array('_route' => '_124'), array('a', 'b', 'c'), null, null, false, null)), + 526 => array(array(array('_route' => '_389'), array('a', 'b', 'c'), null, null, false, null)), + 577 => array(array(array('_route' => '_8'), array('a', 'b', 'c'), null, null, false, null)), + 623 => array(array(array('_route' => '_104'), array('a', 'b', 'c'), null, null, false, null)), + 677 => array(array(array('_route' => '_12'), array('a', 'b', 'c'), null, null, false, null)), + 722 => array(array(array('_route' => '_442'), array('a', 'b', 'c'), null, null, false, null)), + 769 => array(array(array('_route' => '_253'), array('a', 'b', 'c'), null, null, false, null)), + 820 => array(array(array('_route' => '_13'), array('a', 'b', 'c'), null, null, false, null)), + 866 => array(array(array('_route' => '_254'), array('a', 'b', 'c'), null, null, false, null)), + 912 => array(array(array('_route' => '_347'), array('a', 'b', 'c'), null, null, false, null)), + 963 => array(array(array('_route' => '_16'), array('a', 'b', 'c'), null, null, false, null)), + 1009 => array(array(array('_route' => '_87'), array('a', 'b', 'c'), null, null, false, null)), + 1058 => array(array(array('_route' => '_31'), array('a', 'b', 'c'), null, null, false, null)), + 1109 => array(array(array('_route' => '_50'), array('a', 'b', 'c'), null, null, false, null)), + 1156 => array(array(array('_route' => '_219'), array('a', 'b', 'c'), null, null, false, null)), + 1203 => array(array(array('_route' => '_332'), array('a', 'b', 'c'), null, null, false, null)), + 1250 => array(array(array('_route' => '_359'), array('a', 'b', 'c'), null, null, false, null)), + 1302 => array(array(array('_route' => '_183'), array('a', 'b', 'c'), null, null, false, null)), + 1349 => array(array(array('_route' => '_500'), array('a', 'b', 'c'), null, null, false, null)), + 1401 => array(array(array('_route' => '_214'), array('a', 'b', 'c'), null, null, false, null)), + 1448 => array(array(array('_route' => '_321'), array('a', 'b', 'c'), null, null, false, null)), + 1497 => array(array(array('_route' => '_243'), array('a', 'b', 'c'), null, null, false, null)), + 1545 => array(array(array('_route' => '_328'), array('a', 'b', 'c'), null, null, false, null)), + 1596 => array(array(array('_route' => '_362'), array('a', 'b', 'c'), null, null, false, null)), + 1643 => array(array(array('_route' => '_488'), array('a', 'b', 'c'), null, null, false, null)), + 1701 => array(array(array('_route' => '_3'), array('a', 'b', 'c'), null, null, false, null)), + 1751 => array(array(array('_route' => '_102'), array('a', 'b', 'c'), null, null, false, null)), + 1797 => array(array(array('_route' => '_220'), array('a', 'b', 'c'), null, null, false, null)), + 1845 => array(array(array('_route' => '_127'), array('a', 'b', 'c'), null, null, false, null)), + 1897 => array(array(array('_route' => '_5'), array('a', 'b', 'c'), null, null, false, null)), + 1944 => array(array(array('_route' => '_242'), array('a', 'b', 'c'), null, null, false, null)), + 1991 => array(array(array('_route' => '_397'), array('a', 'b', 'c'), null, null, false, null)), + 2038 => array(array(array('_route' => '_454'), array('a', 'b', 'c'), null, null, false, null)), + 2090 => array(array(array('_route' => '_34'), array('a', 'b', 'c'), null, null, false, null)), + 2137 => array(array(array('_route' => '_281'), array('a', 'b', 'c'), null, null, false, null)), + 2189 => array(array(array('_route' => '_64'), array('a', 'b', 'c'), null, null, false, null)), + 2236 => array(array(array('_route' => '_205'), array('a', 'b', 'c'), null, null, false, null)), + 2291 => array(array(array('_route' => '_71'), array('a', 'b', 'c'), null, null, false, null)), + 2337 => array(array(array('_route' => '_203'), array('a', 'b', 'c'), null, null, false, null)), + 2385 => array(array(array('_route' => '_97'), array('a', 'b', 'c'), null, null, false, null)), + 2437 => array(array(array('_route' => '_98'), array('a', 'b', 'c'), null, null, false, null)), + 2484 => array(array(array('_route' => '_267'), array('a', 'b', 'c'), null, null, false, null)), + 2531 => array(array(array('_route' => '_309'), array('a', 'b', 'c'), null, null, false, null)), + 2586 => array(array(array('_route' => '_117'), array('a', 'b', 'c'), null, null, false, null)), + 2631 => array(array(array('_route' => '_211'), array('a', 'b', 'c'), null, null, false, null)), + 2679 => array(array(array('_route' => '_484'), array('a', 'b', 'c'), null, null, false, null)), + 2731 => array(array(array('_route' => '_139'), array('a', 'b', 'c'), null, null, false, null)), + 2778 => array(array(array('_route' => '_421'), array('a', 'b', 'c'), null, null, false, null)), + 2830 => array(array(array('_route' => '_185'), array('a', 'b', 'c'), null, null, false, null)), + 2877 => array(array(array('_route' => '_439'), array('a', 'b', 'c'), null, null, false, null)), + 2926 => array(array(array('_route' => '_218'), array('a', 'b', 'c'), null, null, false, null)), + 2977 => array(array(array('_route' => '_233'), array('a', 'b', 'c'), null, null, false, null)), + 3024 => array(array(array('_route' => '_483'), array('a', 'b', 'c'), null, null, false, null)), + 3073 => array(array(array('_route' => '_265'), array('a', 'b', 'c'), null, null, false, null)), + 3124 => array(array(array('_route' => '_299'), array('a', 'b', 'c'), null, null, false, null)), + 3171 => array(array(array('_route' => '_351'), array('a', 'b', 'c'), null, null, false, null)), + 3218 => array(array(array('_route' => '_472'), array('a', 'b', 'c'), null, null, false, null)), + 3267 => array(array(array('_route' => '_360'), array('a', 'b', 'c'), null, null, false, null)), + 3315 => array(array(array('_route' => '_466'), array('a', 'b', 'c'), null, null, false, null)), + 3372 => array(array(array('_route' => '_4'), array('a', 'b', 'c'), null, null, false, null)), + 3419 => array(array(array('_route' => '_142'), array('a', 'b', 'c'), null, null, false, null)), + 3466 => array(array(array('_route' => '_151'), array('a', 'b', 'c'), null, null, false, null)), + 3513 => array(array(array('_route' => '_308'), array('a', 'b', 'c'), null, null, false, null)), + 3560 => array(array(array('_route' => '_440'), array('a', 'b', 'c'), null, null, false, null)), + 3612 => array(array(array('_route' => '_14'), array('a', 'b', 'c'), null, null, false, null)), + 3659 => array(array(array('_route' => '_358'), array('a', 'b', 'c'), null, null, false, null)), + 3711 => array(array(array('_route' => '_37'), array('a', 'b', 'c'), null, null, false, null)), + 3758 => array(array(array('_route' => '_38'), array('a', 'b', 'c'), null, null, false, null)), + 3805 => array(array(array('_route' => '_146'), array('a', 'b', 'c'), null, null, false, null)), + 3852 => array(array(array('_route' => '_194'), array('a', 'b', 'c'), null, null, false, null)), + 3899 => array(array(array('_route' => '_487'), array('a', 'b', 'c'), null, null, false, null)), + 3948 => array(array(array('_route' => '_42'), array('a', 'b', 'c'), null, null, false, null)), + 3999 => array(array(array('_route' => '_54'), array('a', 'b', 'c'), null, null, false, null)), + 4046 => array(array(array('_route' => '_326'), array('a', 'b', 'c'), null, null, false, null)), + 4098 => array(array(array('_route' => '_68'), array('a', 'b', 'c'), null, null, false, null)), + 4145 => array(array(array('_route' => '_108'), array('a', 'b', 'c'), null, null, false, null)), + 4197 => array(array(array('_route' => '_74'), array('a', 'b', 'c'), null, null, false, null)), + 4244 => array(array(array('_route' => '_315'), array('a', 'b', 'c'), null, null, false, null)), + 4291 => array(array(array('_route' => '_374'), array('a', 'b', 'c'), null, null, false, null)), + 4343 => array(array(array('_route' => '_99'), array('a', 'b', 'c'), null, null, false, null)), + 4390 => array(array(array('_route' => '_238'), array('a', 'b', 'c'), null, null, false, null)), + 4442 => array(array(array('_route' => '_107'), array('a', 'b', 'c'), null, null, false, null)), + 4489 => array(array(array('_route' => '_409'), array('a', 'b', 'c'), null, null, false, null)), + 4541 => array(array(array('_route' => '_122'), array('a', 'b', 'c'), null, null, false, null)), + 4588 => array(array(array('_route' => '_379'), array('a', 'b', 'c'), null, null, false, null)), + 4635 => array(array(array('_route' => '_390'), array('a', 'b', 'c'), null, null, false, null)), + 4687 => array(array(array('_route' => '_171'), array('a', 'b', 'c'), null, null, false, null)), + 4734 => array(array(array('_route' => '_260'), array('a', 'b', 'c'), null, null, false, null)), + 4781 => array(array(array('_route' => '_434'), array('a', 'b', 'c'), null, null, false, null)), + 4830 => array(array(array('_route' => '_189'), array('a', 'b', 'c'), null, null, false, null)), + 4878 => array(array(array('_route' => '_467'), array('a', 'b', 'c'), null, null, false, null)), + 4935 => array(array(array('_route' => '_6'), array('a', 'b', 'c'), null, null, false, null)), + 4982 => array(array(array('_route' => '_286'), array('a', 'b', 'c'), null, null, false, null)), + 5029 => array(array(array('_route' => '_438'), array('a', 'b', 'c'), null, null, false, null)), + 5081 => array(array(array('_route' => '_19'), array('a', 'b', 'c'), null, null, false, null)), + 5131 => array(array(array('_route' => '_24'), array('a', 'b', 'c'), null, null, false, null)), + 5177 => array(array(array('_route' => '_172'), array('a', 'b', 'c'), null, null, false, null)), + 5230 => array(array(array('_route' => '_33'), array('a', 'b', 'c'), null, null, false, null)), + 5277 => array(array(array('_route' => '_400'), array('a', 'b', 'c'), null, null, false, null)), + 5324 => array(array(array('_route' => '_427'), array('a', 'b', 'c'), null, null, false, null)), + 5376 => array(array(array('_route' => '_35'), array('a', 'b', 'c'), null, null, false, null)), + 5423 => array(array(array('_route' => '_156'), array('a', 'b', 'c'), null, null, false, null)), + 5475 => array(array(array('_route' => '_36'), array('a', 'b', 'c'), null, null, false, null)), + 5522 => array(array(array('_route' => '_251'), array('a', 'b', 'c'), null, null, false, null)), + 5574 => array(array(array('_route' => '_43'), array('a', 'b', 'c'), null, null, false, null)), + 5621 => array(array(array('_route' => '_292'), array('a', 'b', 'c'), null, null, false, null)), + 5668 => array(array(array('_route' => '_411'), array('a', 'b', 'c'), null, null, false, null)), + 5720 => array(array(array('_route' => '_69'), array('a', 'b', 'c'), null, null, false, null)), + 5767 => array(array(array('_route' => '_159'), array('a', 'b', 'c'), null, null, false, null)), + 5814 => array(array(array('_route' => '_170'), array('a', 'b', 'c'), null, null, false, null)), + 5861 => array(array(array('_route' => '_376'), array('a', 'b', 'c'), null, null, false, null)), + 5913 => array(array(array('_route' => '_131'), array('a', 'b', 'c'), null, null, false, null)), + 5960 => array(array(array('_route' => '_446'), array('a', 'b', 'c'), null, null, false, null)), + 6015 => array(array(array('_route' => '_140'), array('a', 'b', 'c'), null, null, false, null)), + 6061 => array(array(array('_route' => '_353'), array('a', 'b', 'c'), null, null, false, null)), + 6112 => array(array(array('_route' => '_224'), array('a', 'b', 'c'), null, null, false, null)), + 6158 => array(array(array('_route' => '_346'), array('a', 'b', 'c'), null, null, false, null)), + 6204 => array(array(array('_route' => '_443'), array('a', 'b', 'c'), null, null, false, null)), + 6254 => array(array(array('_route' => '_154'), array('a', 'b', 'c'), null, null, false, null)), + 6305 => array(array(array('_route' => '_212'), array('a', 'b', 'c'), null, null, false, null)), + 6352 => array(array(array('_route' => '_313'), array('a', 'b', 'c'), null, null, false, null)), + 6399 => array(array(array('_route' => '_395'), array('a', 'b', 'c'), null, null, false, null)), + 6446 => array(array(array('_route' => '_441'), array('a', 'b', 'c'), null, null, false, null)), + 6498 => array(array(array('_route' => '_223'), array('a', 'b', 'c'), null, null, false, null)), + 6545 => array(array(array('_route' => '_303'), array('a', 'b', 'c'), null, null, false, null)), + 6594 => array(array(array('_route' => '_410'), array('a', 'b', 'c'), null, null, false, null)), + 6642 => array(array(array('_route' => '_494'), array('a', 'b', 'c'), null, null, false, null)), + 6702 => array(array(array('_route' => '_7'), array('a', 'b', 'c'), null, null, false, null)), + 6748 => array(array(array('_route' => '_268'), array('a', 'b', 'c'), null, null, false, null)), + 6796 => array(array(array('_route' => '_178'), array('a', 'b', 'c'), null, null, false, null)), + 6843 => array(array(array('_route' => '_179'), array('a', 'b', 'c'), null, null, false, null)), + 6890 => array(array(array('_route' => '_416'), array('a', 'b', 'c'), null, null, false, null)), + 6942 => array(array(array('_route' => '_25'), array('a', 'b', 'c'), null, null, false, null)), + 6989 => array(array(array('_route' => '_307'), array('a', 'b', 'c'), null, null, false, null)), + 7036 => array(array(array('_route' => '_387'), array('a', 'b', 'c'), null, null, false, null)), + 7083 => array(array(array('_route' => '_471'), array('a', 'b', 'c'), null, null, false, null)), + 7132 => array(array(array('_route' => '_90'), array('a', 'b', 'c'), null, null, false, null)), + 7183 => array(array(array('_route' => '_95'), array('a', 'b', 'c'), null, null, false, null)), + 7230 => array(array(array('_route' => '_338'), array('a', 'b', 'c'), null, null, false, null)), + 7277 => array(array(array('_route' => '_401'), array('a', 'b', 'c'), null, null, false, null)), + 7329 => array(array(array('_route' => '_147'), array('a', 'b', 'c'), null, null, false, null)), + 7376 => array(array(array('_route' => '_319'), array('a', 'b', 'c'), null, null, false, null)), + 7423 => array(array(array('_route' => '_354'), array('a', 'b', 'c'), null, null, false, null)), + 7470 => array(array(array('_route' => '_428'), array('a', 'b', 'c'), null, null, false, null)), + 7522 => array(array(array('_route' => '_162'), array('a', 'b', 'c'), null, null, false, null)), + 7572 => array(array(array('_route' => '_175'), array('a', 'b', 'c'), null, null, false, null)), + 7618 => array(array(array('_route' => '_455'), array('a', 'b', 'c'), null, null, false, null)), + 7666 => array(array(array('_route' => '_355'), array('a', 'b', 'c'), null, null, false, null)), + 7718 => array(array(array('_route' => '_197'), array('a', 'b', 'c'), null, null, false, null)), + 7768 => array(array(array('_route' => '_202'), array('a', 'b', 'c'), null, null, false, null)), + 7813 => array(array(array('_route' => '_489'), array('a', 'b', 'c'), null, null, false, null)), + 7863 => array(array(array('_route' => '_199'), array('a', 'b', 'c'), null, null, false, null)), + 7914 => array(array(array('_route' => '_263'), array('a', 'b', 'c'), null, null, false, null)), + 7961 => array(array(array('_route' => '_406'), array('a', 'b', 'c'), null, null, false, null)), + 8010 => array(array(array('_route' => '_289'), array('a', 'b', 'c'), null, null, false, null)), + 8058 => array(array(array('_route' => '_325'), array('a', 'b', 'c'), null, null, false, null)), + 8106 => array(array(array('_route' => '_378'), array('a', 'b', 'c'), null, null, false, null)), + 8154 => array(array(array('_route' => '_468'), array('a', 'b', 'c'), null, null, false, null)), + 8211 => array(array(array('_route' => '_9'), array('a', 'b', 'c'), null, null, false, null)), + 8258 => array(array(array('_route' => '_216'), array('a', 'b', 'c'), null, null, false, null)), + 8307 => array(array(array('_route' => '_26'), array('a', 'b', 'c'), null, null, false, null)), + 8355 => array(array(array('_route' => '_62'), array('a', 'b', 'c'), null, null, false, null)), + 8406 => array(array(array('_route' => '_81'), array('a', 'b', 'c'), null, null, false, null)), + 8453 => array(array(array('_route' => '_318'), array('a', 'b', 'c'), null, null, false, null)), + 8505 => array(array(array('_route' => '_121'), array('a', 'b', 'c'), null, null, false, null)), + 8551 => array(array(array('_route' => '_182'), array('a', 'b', 'c'), null, null, false, null)), + 8603 => array(array(array('_route' => '_136'), array('a', 'b', 'c'), null, null, false, null)), + 8650 => array(array(array('_route' => '_415'), array('a', 'b', 'c'), null, null, false, null)), + 8697 => array(array(array('_route' => '_457'), array('a', 'b', 'c'), null, null, false, null)), + 8744 => array(array(array('_route' => '_463'), array('a', 'b', 'c'), null, null, false, null)), + 8796 => array(array(array('_route' => '_148'), array('a', 'b', 'c'), null, null, false, null)), + 8843 => array(array(array('_route' => '_273'), array('a', 'b', 'c'), null, null, false, null)), + 8892 => array(array(array('_route' => '_284'), array('a', 'b', 'c'), null, null, false, null)), + 8940 => array(array(array('_route' => '_288'), array('a', 'b', 'c'), null, null, false, null)), + 8991 => array(array(array('_route' => '_295'), array('a', 'b', 'c'), null, null, false, null)), + 9038 => array(array(array('_route' => '_305'), array('a', 'b', 'c'), null, null, false, null)), + 9085 => array(array(array('_route' => '_453'), array('a', 'b', 'c'), null, null, false, null)), + 9134 => array(array(array('_route' => '_340'), array('a', 'b', 'c'), null, null, false, null)), + 9185 => array(array(array('_route' => '_371'), array('a', 'b', 'c'), null, null, false, null)), + 9232 => array(array(array('_route' => '_417'), array('a', 'b', 'c'), null, null, false, null)), + 9284 => array(array(array('_route' => '_382'), array('a', 'b', 'c'), null, null, false, null)), + 9331 => array(array(array('_route' => '_404'), array('a', 'b', 'c'), null, null, false, null)), + 9389 => array(array(array('_route' => '_10'), array('a', 'b', 'c'), null, null, false, null)), + 9436 => array(array(array('_route' => '_279'), array('a', 'b', 'c'), null, null, false, null)), + 9483 => array(array(array('_route' => '_377'), array('a', 'b', 'c'), null, null, false, null)), + 9535 => array(array(array('_route' => '_39'), array('a', 'b', 'c'), null, null, false, null)), + 9582 => array(array(array('_route' => '_40'), array('a', 'b', 'c'), null, null, false, null)), + 9629 => array(array(array('_route' => '_264'), array('a', 'b', 'c'), null, null, false, null)), + 9676 => array(array(array('_route' => '_449'), array('a', 'b', 'c'), null, null, false, null)), + 9728 => array(array(array('_route' => '_46'), array('a', 'b', 'c'), null, null, false, null)), + 9775 => array(array(array('_route' => '_257'), array('a', 'b', 'c'), null, null, false, null)), + 9822 => array(array(array('_route' => '_274'), array('a', 'b', 'c'), null, null, false, null)), + 9869 => array(array(array('_route' => '_388'), array('a', 'b', 'c'), null, null, false, null)), + 9921 => array(array(array('_route' => '_53'), array('a', 'b', 'c'), null, null, false, null)), + 9968 => array(array(array('_route' => '_345'), array('a', 'b', 'c'), null, null, false, null)), + 10020 => array(array(array('_route' => '_73'), array('a', 'b', 'c'), null, null, false, null)), + 10068 => array(array(array('_route' => '_296'), array('a', 'b', 'c'), null, null, false, null)), + 10121 => array(array(array('_route' => '_75'), array('a', 'b', 'c'), null, null, false, null)), + 10169 => array(array(array('_route' => '_458'), array('a', 'b', 'c'), null, null, false, null)), + 10225 => array(array(array('_route' => '_79'), array('a', 'b', 'c'), null, null, false, null)), + 10272 => array(array(array('_route' => '_129'), array('a', 'b', 'c'), null, null, false, null)), + 10319 => array(array(array('_route' => '_418'), array('a', 'b', 'c'), null, null, false, null)), + 10368 => array(array(array('_route' => '_225'), array('a', 'b', 'c'), null, null, false, null)), + 10416 => array(array(array('_route' => '_479'), array('a', 'b', 'c'), null, null, false, null)), + 10466 => array(array(array('_route' => '_120'), array('a', 'b', 'c'), null, null, false, null)), + 10515 => array(array(array('_route' => '_276'), array('a', 'b', 'c'), null, null, false, null)), + 10564 => array(array(array('_route' => '_370'), array('a', 'b', 'c'), null, null, false, null)), + 10616 => array(array(array('_route' => '_385'), array('a', 'b', 'c'), null, null, false, null)), + 10664 => array(array(array('_route' => '_469'), array('a', 'b', 'c'), null, null, false, null)), + 10714 => array(array(array('_route' => '_435'), array('a', 'b', 'c'), null, null, false, null)), + 10772 => array(array(array('_route' => '_11'), array('a', 'b', 'c'), null, null, false, null)), + 10820 => array(array(array('_route' => '_105'), array('a', 'b', 'c'), null, null, false, null)), + 10868 => array(array(array('_route' => '_132'), array('a', 'b', 'c'), null, null, false, null)), + 10921 => array(array(array('_route' => '_18'), array('a', 'b', 'c'), null, null, false, null)), + 10969 => array(array(array('_route' => '_210'), array('a', 'b', 'c'), null, null, false, null)), + 11017 => array(array(array('_route' => '_329'), array('a', 'b', 'c'), null, null, false, null)), + 11073 => array(array(array('_route' => '_29'), array('a', 'b', 'c'), null, null, false, null)), + 11120 => array(array(array('_route' => '_480'), array('a', 'b', 'c'), null, null, false, null)), + 11169 => array(array(array('_route' => '_426'), array('a', 'b', 'c'), null, null, false, null)), + 11222 => array(array(array('_route' => '_32'), array('a', 'b', 'c'), null, null, false, null)), + 11270 => array(array(array('_route' => '_217'), array('a', 'b', 'c'), null, null, false, null)), + 11318 => array(array(array('_route' => '_275'), array('a', 'b', 'c'), null, null, false, null)), + 11371 => array(array(array('_route' => '_45'), array('a', 'b', 'c'), null, null, false, null)), + 11419 => array(array(array('_route' => '_157'), array('a', 'b', 'c'), null, null, false, null)), + 11467 => array(array(array('_route' => '_184'), array('a', 'b', 'c'), null, null, false, null)), + 11515 => array(array(array('_route' => '_250'), array('a', 'b', 'c'), null, null, false, null)), + 11563 => array(array(array('_route' => '_356'), array('a', 'b', 'c'), null, null, false, null)), + 11616 => array(array(array('_route' => '_47'), array('a', 'b', 'c'), null, null, false, null)), + 11664 => array(array(array('_route' => '_445'), array('a', 'b', 'c'), null, null, false, null)), + 11714 => array(array(array('_route' => '_48'), array('a', 'b', 'c'), null, null, false, null)), + 11766 => array(array(array('_route' => '_58'), array('a', 'b', 'c'), null, null, false, null)), + 11814 => array(array(array('_route' => '_414'), array('a', 'b', 'c'), null, null, false, null)), + 11862 => array(array(array('_route' => '_431'), array('a', 'b', 'c'), null, null, false, null)), + 11915 => array(array(array('_route' => '_84'), array('a', 'b', 'c'), null, null, false, null)), + 11963 => array(array(array('_route' => '_294'), array('a', 'b', 'c'), null, null, false, null)), + 12011 => array(array(array('_route' => '_336'), array('a', 'b', 'c'), null, null, false, null)), + 12059 => array(array(array('_route' => '_465'), array('a', 'b', 'c'), null, null, false, null)), + 12112 => array(array(array('_route' => '_103'), array('a', 'b', 'c'), null, null, false, null)), + 12160 => array(array(array('_route' => '_111'), array('a', 'b', 'c'), null, null, false, null)), + 12208 => array(array(array('_route' => '_207'), array('a', 'b', 'c'), null, null, false, null)), + 12256 => array(array(array('_route' => '_402'), array('a', 'b', 'c'), null, null, false, null)), + 12309 => array(array(array('_route' => '_230'), array('a', 'b', 'c'), null, null, false, null)), + 12356 => array(array(array('_route' => '_331'), array('a', 'b', 'c'), null, null, false, null)), + 12406 => array(array(array('_route' => '_248'), array('a', 'b', 'c'), null, null, false, null)), + 12455 => array(array(array('_route' => '_282'), array('a', 'b', 'c'), null, null, false, null)), + 12513 => array(array(array('_route' => '_15'), array('a', 'b', 'c'), null, null, false, null)), + 12561 => array(array(array('_route' => '_130'), array('a', 'b', 'c'), null, null, false, null)), + 12609 => array(array(array('_route' => '_231'), array('a', 'b', 'c'), null, null, false, null)), + 12657 => array(array(array('_route' => '_365'), array('a', 'b', 'c'), null, null, false, null)), + 12705 => array(array(array('_route' => '_448'), array('a', 'b', 'c'), null, null, false, null)), + 12758 => array(array(array('_route' => '_20'), array('a', 'b', 'c'), null, null, false, null)), + 12806 => array(array(array('_route' => '_93'), array('a', 'b', 'c'), null, null, false, null)), + 12854 => array(array(array('_route' => '_186'), array('a', 'b', 'c'), null, null, false, null)), + 12902 => array(array(array('_route' => '_460'), array('a', 'b', 'c'), null, null, false, null)), + 12955 => array(array(array('_route' => '_52'), array('a', 'b', 'c'), null, null, false, null)), + 13003 => array(array(array('_route' => '_447'), array('a', 'b', 'c'), null, null, false, null)), + 13056 => array(array(array('_route' => '_56'), array('a', 'b', 'c'), null, null, false, null)), + 13104 => array(array(array('_route' => '_133'), array('a', 'b', 'c'), null, null, false, null)), + 13152 => array(array(array('_route' => '_297'), array('a', 'b', 'c'), null, null, false, null)), + 13205 => array(array(array('_route' => '_82'), array('a', 'b', 'c'), null, null, false, null)), + 13253 => array(array(array('_route' => '_165'), array('a', 'b', 'c'), null, null, false, null)), + 13301 => array(array(array('_route' => '_213'), array('a', 'b', 'c'), null, null, false, null)), + 13351 => array(array(array('_route' => '_86'), array('a', 'b', 'c'), null, null, false, null)), + 13403 => array(array(array('_route' => '_92'), array('a', 'b', 'c'), null, null, false, null)), + 13450 => array(array(array('_route' => '_280'), array('a', 'b', 'c'), null, null, false, null)), + 13500 => array(array(array('_route' => '_143'), array('a', 'b', 'c'), null, null, false, null)), + 13549 => array(array(array('_route' => '_177'), array('a', 'b', 'c'), null, null, false, null)), + 13601 => array(array(array('_route' => '_188'), array('a', 'b', 'c'), null, null, false, null)), + 13649 => array(array(array('_route' => '_311'), array('a', 'b', 'c'), null, null, false, null)), + 13697 => array(array(array('_route' => '_350'), array('a', 'b', 'c'), null, null, false, null)), + 13750 => array(array(array('_route' => '_226'), array('a', 'b', 'c'), null, null, false, null)), + 13798 => array(array(array('_route' => '_291'), array('a', 'b', 'c'), null, null, false, null)), + 13851 => array(array(array('_route' => '_244'), array('a', 'b', 'c'), null, null, false, null)), + 13898 => array(array(array('_route' => '_287'), array('a', 'b', 'c'), null, null, false, null)), + 13951 => array(array(array('_route' => '_300'), array('a', 'b', 'c'), null, null, false, null)), + 13999 => array(array(array('_route' => '_451'), array('a', 'b', 'c'), null, null, false, null)), + 14047 => array(array(array('_route' => '_452'), array('a', 'b', 'c'), null, null, false, null)), + 14095 => array(array(array('_route' => '_481'), array('a', 'b', 'c'), null, null, false, null)), + 14145 => array(array(array('_route' => '_312'), array('a', 'b', 'c'), null, null, false, null)), + 14203 => array(array(array('_route' => '_17'), array('a', 'b', 'c'), null, null, false, null)), + 14251 => array(array(array('_route' => '_227'), array('a', 'b', 'c'), null, null, false, null)), + 14299 => array(array(array('_route' => '_393'), array('a', 'b', 'c'), null, null, false, null)), + 14349 => array(array(array('_route' => '_57'), array('a', 'b', 'c'), null, null, false, null)), + 14401 => array(array(array('_route' => '_61'), array('a', 'b', 'c'), null, null, false, null)), + 14449 => array(array(array('_route' => '_112'), array('a', 'b', 'c'), null, null, false, null)), + 14500 => array(array(array('_route' => '_135'), array('a', 'b', 'c'), null, null, false, null)), + 14547 => array(array(array('_route' => '_271'), array('a', 'b', 'c'), null, null, false, null)), + 14596 => array(array(array('_route' => '_459'), array('a', 'b', 'c'), null, null, false, null)), + 14649 => array(array(array('_route' => '_67'), array('a', 'b', 'c'), null, null, false, null)), + 14697 => array(array(array('_route' => '_113'), array('a', 'b', 'c'), null, null, false, null)), + 14745 => array(array(array('_route' => '_497'), array('a', 'b', 'c'), null, null, false, null)), + 14795 => array(array(array('_route' => '_70'), array('a', 'b', 'c'), null, null, false, null)), + 14847 => array(array(array('_route' => '_89'), array('a', 'b', 'c'), null, null, false, null)), + 14895 => array(array(array('_route' => '_128'), array('a', 'b', 'c'), null, null, false, null)), + 14948 => array(array(array('_route' => '_150'), array('a', 'b', 'c'), null, null, false, null)), + 14996 => array(array(array('_route' => '_166'), array('a', 'b', 'c'), null, null, false, null)), + 15047 => array(array(array('_route' => '_206'), array('a', 'b', 'c'), null, null, false, null)), + 15094 => array(array(array('_route' => '_419'), array('a', 'b', 'c'), null, null, false, null)), + 15148 => array(array(array('_route' => '_201'), array('a', 'b', 'c'), null, null, false, null)), + 15196 => array(array(array('_route' => '_314'), array('a', 'b', 'c'), null, null, false, null)), + 15244 => array(array(array('_route' => '_429'), array('a', 'b', 'c'), null, null, false, null)), + 15297 => array(array(array('_route' => '_228'), array('a', 'b', 'c'), null, null, false, null)), + 15345 => array(array(array('_route' => '_477'), array('a', 'b', 'c'), null, null, false, null)), + 15395 => array(array(array('_route' => '_272'), array('a', 'b', 'c'), null, null, false, null)), + 15444 => array(array(array('_route' => '_486'), array('a', 'b', 'c'), null, null, false, null)), + 15502 => array(array(array('_route' => '_21'), array('a', 'b', 'c'), null, null, false, null)), + 15550 => array(array(array('_route' => '_247'), array('a', 'b', 'c'), null, null, false, null)), + 15598 => array(array(array('_route' => '_424'), array('a', 'b', 'c'), null, null, false, null)), + 15646 => array(array(array('_route' => '_499'), array('a', 'b', 'c'), null, null, false, null)), + 15699 => array(array(array('_route' => '_23'), array('a', 'b', 'c'), null, null, false, null)), + 15747 => array(array(array('_route' => '_152'), array('a', 'b', 'c'), null, null, false, null)), + 15795 => array(array(array('_route' => '_304'), array('a', 'b', 'c'), null, null, false, null)), + 15843 => array(array(array('_route' => '_352'), array('a', 'b', 'c'), null, null, false, null)), + 15896 => array(array(array('_route' => '_28'), array('a', 'b', 'c'), null, null, false, null)), + 15944 => array(array(array('_route' => '_240'), array('a', 'b', 'c'), null, null, false, null)), + 16000 => array(array(array('_route' => '_30'), array('a', 'b', 'c'), null, null, false, null)), + 16047 => array(array(array('_route' => '_41'), array('a', 'b', 'c'), null, null, false, null)), + 16096 => array(array(array('_route' => '_301'), array('a', 'b', 'c'), null, null, false, null)), + 16149 => array(array(array('_route' => '_66'), array('a', 'b', 'c'), null, null, false, null)), + 16197 => array(array(array('_route' => '_72'), array('a', 'b', 'c'), null, null, false, null)), + 16245 => array(array(array('_route' => '_320'), array('a', 'b', 'c'), null, null, false, null)), + 16298 => array(array(array('_route' => '_78'), array('a', 'b', 'c'), null, null, false, null)), + 16346 => array(array(array('_route' => '_337'), array('a', 'b', 'c'), null, null, false, null)), + 16394 => array(array(array('_route' => '_399'), array('a', 'b', 'c'), null, null, false, null)), + 16442 => array(array(array('_route' => '_495'), array('a', 'b', 'c'), null, null, false, null)), + 16492 => array(array(array('_route' => '_85'), array('a', 'b', 'c'), null, null, false, null)), + 16544 => array(array(array('_route' => '_101'), array('a', 'b', 'c'), null, null, false, null)), + 16592 => array(array(array('_route' => '_176'), array('a', 'b', 'c'), null, null, false, null)), + 16640 => array(array(array('_route' => '_246'), array('a', 'b', 'c'), null, null, false, null)), + 16693 => array(array(array('_route' => '_125'), array('a', 'b', 'c'), null, null, false, null)), + 16741 => array(array(array('_route' => '_341'), array('a', 'b', 'c'), null, null, false, null)), + 16794 => array(array(array('_route' => '_137'), array('a', 'b', 'c'), null, null, false, null)), + 16842 => array(array(array('_route' => '_270'), array('a', 'b', 'c'), null, null, false, null)), + 16890 => array(array(array('_route' => '_386'), array('a', 'b', 'c'), null, null, false, null)), + 16943 => array(array(array('_route' => '_169'), array('a', 'b', 'c'), null, null, false, null)), + 16991 => array(array(array('_route' => '_200'), array('a', 'b', 'c'), null, null, false, null)), + 17039 => array(array(array('_route' => '_262'), array('a', 'b', 'c'), null, null, false, null)), + 17092 => array(array(array('_route' => '_187'), array('a', 'b', 'c'), null, null, false, null)), + 17140 => array(array(array('_route' => '_333'), array('a', 'b', 'c'), null, null, false, null)), + 17190 => array(array(array('_route' => '_215'), array('a', 'b', 'c'), null, null, false, null)), + 17239 => array(array(array('_route' => '_316'), array('a', 'b', 'c'), null, null, false, null)), + 17288 => array(array(array('_route' => '_343'), array('a', 'b', 'c'), null, null, false, null)), + 17346 => array(array(array('_route' => '_22'), array('a', 'b', 'c'), null, null, false, null)), + 17394 => array(array(array('_route' => '_420'), array('a', 'b', 'c'), null, null, false, null)), + 17447 => array(array(array('_route' => '_55'), array('a', 'b', 'c'), null, null, false, null)), + 17494 => array(array(array('_route' => '_496'), array('a', 'b', 'c'), null, null, false, null)), + 17547 => array(array(array('_route' => '_153'), array('a', 'b', 'c'), null, null, false, null)), + 17595 => array(array(array('_route' => '_344'), array('a', 'b', 'c'), null, null, false, null)), + 17648 => array(array(array('_route' => '_160'), array('a', 'b', 'c'), null, null, false, null)), + 17696 => array(array(array('_route' => '_398'), array('a', 'b', 'c'), null, null, false, null)), + 17749 => array(array(array('_route' => '_161'), array('a', 'b', 'c'), null, null, false, null)), + 17797 => array(array(array('_route' => '_193'), array('a', 'b', 'c'), null, null, false, null)), + 17847 => array(array(array('_route' => '_174'), array('a', 'b', 'c'), null, null, false, null)), + 17899 => array(array(array('_route' => '_209'), array('a', 'b', 'c'), null, null, false, null)), + 17947 => array(array(array('_route' => '_261'), array('a', 'b', 'c'), null, null, false, null)), + 18000 => array(array(array('_route' => '_222'), array('a', 'b', 'c'), null, null, false, null)), + 18048 => array(array(array('_route' => '_323'), array('a', 'b', 'c'), null, null, false, null)), + 18096 => array(array(array('_route' => '_380'), array('a', 'b', 'c'), null, null, false, null)), + 18149 => array(array(array('_route' => '_232'), array('a', 'b', 'c'), null, null, false, null)), + 18197 => array(array(array('_route' => '_383'), array('a', 'b', 'c'), null, null, false, null)), + 18247 => array(array(array('_route' => '_306'), array('a', 'b', 'c'), null, null, false, null)), + 18296 => array(array(array('_route' => '_327'), array('a', 'b', 'c'), null, null, false, null)), + 18345 => array(array(array('_route' => '_364'), array('a', 'b', 'c'), null, null, false, null)), + 18397 => array(array(array('_route' => '_403'), array('a', 'b', 'c'), null, null, false, null)), + 18445 => array(array(array('_route' => '_405'), array('a', 'b', 'c'), null, null, false, null)), + 18495 => array(array(array('_route' => '_412'), array('a', 'b', 'c'), null, null, false, null)), + 18553 => array(array(array('_route' => '_27'), array('a', 'b', 'c'), null, null, false, null)), + 18601 => array(array(array('_route' => '_134'), array('a', 'b', 'c'), null, null, false, null)), + 18649 => array(array(array('_route' => '_245'), array('a', 'b', 'c'), null, null, false, null)), + 18702 => array(array(array('_route' => '_59'), array('a', 'b', 'c'), null, null, false, null)), + 18750 => array(array(array('_route' => '_208'), array('a', 'b', 'c'), null, null, false, null)), + 18803 => array(array(array('_route' => '_60'), array('a', 'b', 'c'), null, null, false, null)), + 18851 => array(array(array('_route' => '_119'), array('a', 'b', 'c'), null, null, false, null)), + 18902 => array(array(array('_route' => '_163'), array('a', 'b', 'c'), null, null, false, null)), + 18949 => array(array(array('_route' => '_249'), array('a', 'b', 'c'), null, null, false, null)), + 18998 => array(array(array('_route' => '_278'), array('a', 'b', 'c'), null, null, false, null)), + 19051 => array(array(array('_route' => '_63'), array('a', 'b', 'c'), null, null, false, null)), + 19099 => array(array(array('_route' => '_195'), array('a', 'b', 'c'), null, null, false, null)), + 19147 => array(array(array('_route' => '_252'), array('a', 'b', 'c'), null, null, false, null)), + 19195 => array(array(array('_route' => '_461'), array('a', 'b', 'c'), null, null, false, null)), + 19248 => array(array(array('_route' => '_126'), array('a', 'b', 'c'), null, null, false, null)), + 19296 => array(array(array('_route' => '_158'), array('a', 'b', 'c'), null, null, false, null)), + 19344 => array(array(array('_route' => '_221'), array('a', 'b', 'c'), null, null, false, null)), + 19392 => array(array(array('_route' => '_269'), array('a', 'b', 'c'), null, null, false, null)), + 19440 => array(array(array('_route' => '_310'), array('a', 'b', 'c'), null, null, false, null)), + 19496 => array(array(array('_route' => '_138'), array('a', 'b', 'c'), null, null, false, null)), + 19543 => array(array(array('_route' => '_348'), array('a', 'b', 'c'), null, null, false, null)), + 19592 => array(array(array('_route' => '_236'), array('a', 'b', 'c'), null, null, false, null)), + 19640 => array(array(array('_route' => '_433'), array('a', 'b', 'c'), null, null, false, null)), + 19693 => array(array(array('_route' => '_141'), array('a', 'b', 'c'), null, null, false, null)), + 19741 => array(array(array('_route' => '_283'), array('a', 'b', 'c'), null, null, false, null)), + 19794 => array(array(array('_route' => '_144'), array('a', 'b', 'c'), null, null, false, null)), + 19842 => array(array(array('_route' => '_191'), array('a', 'b', 'c'), null, null, false, null)), + 19895 => array(array(array('_route' => '_168'), array('a', 'b', 'c'), null, null, false, null)), + 19943 => array(array(array('_route' => '_363'), array('a', 'b', 'c'), null, null, false, null)), + 19991 => array(array(array('_route' => '_381'), array('a', 'b', 'c'), null, null, false, null)), + 20044 => array(array(array('_route' => '_180'), array('a', 'b', 'c'), null, null, false, null)), + 20092 => array(array(array('_route' => '_339'), array('a', 'b', 'c'), null, null, false, null)), + 20142 => array(array(array('_route' => '_196'), array('a', 'b', 'c'), null, null, false, null)), + 20194 => array(array(array('_route' => '_198'), array('a', 'b', 'c'), null, null, false, null)), + 20242 => array(array(array('_route' => '_285'), array('a', 'b', 'c'), null, null, false, null)), + 20292 => array(array(array('_route' => '_349'), array('a', 'b', 'c'), null, null, false, null)), + 20344 => array(array(array('_route' => '_367'), array('a', 'b', 'c'), null, null, false, null)), + 20392 => array(array(array('_route' => '_384'), array('a', 'b', 'c'), null, null, false, null)), + 20440 => array(array(array('_route' => '_498'), array('a', 'b', 'c'), null, null, false, null)), + 20490 => array(array(array('_route' => '_369'), array('a', 'b', 'c'), null, null, false, null)), + 20542 => array(array(array('_route' => '_408'), array('a', 'b', 'c'), null, null, false, null)), + 20590 => array(array(array('_route' => '_413'), array('a', 'b', 'c'), null, null, false, null)), + 20652 => array(array(array('_route' => '_44'), array('a', 'b', 'c'), null, null, false, null)), + 20699 => array(array(array('_route' => '_256'), array('a', 'b', 'c'), null, null, false, null)), + 20748 => array(array(array('_route' => '_173'), array('a', 'b', 'c'), null, null, false, null)), + 20796 => array(array(array('_route' => '_266'), array('a', 'b', 'c'), null, null, false, null)), + 20844 => array(array(array('_route' => '_392'), array('a', 'b', 'c'), null, null, false, null)), + 20892 => array(array(array('_route' => '_430'), array('a', 'b', 'c'), null, null, false, null)), + 20940 => array(array(array('_route' => '_482'), array('a', 'b', 'c'), null, null, false, null)), + 20993 => array(array(array('_route' => '_49'), array('a', 'b', 'c'), null, null, false, null)), + 21041 => array(array(array('_route' => '_94'), array('a', 'b', 'c'), null, null, false, null)), + 21089 => array(array(array('_route' => '_407'), array('a', 'b', 'c'), null, null, false, null)), + 21142 => array(array(array('_route' => '_65'), array('a', 'b', 'c'), null, null, false, null)), + 21190 => array(array(array('_route' => '_181'), array('a', 'b', 'c'), null, null, false, null)), + 21238 => array(array(array('_route' => '_437'), array('a', 'b', 'c'), null, null, false, null)), + 21291 => array(array(array('_route' => '_76'), array('a', 'b', 'c'), null, null, false, null)), + 21339 => array(array(array('_route' => '_357'), array('a', 'b', 'c'), null, null, false, null)), + 21392 => array(array(array('_route' => '_80'), array('a', 'b', 'c'), null, null, false, null)), + 21440 => array(array(array('_route' => '_106'), array('a', 'b', 'c'), null, null, false, null)), + 21493 => array(array(array('_route' => '_83'), array('a', 'b', 'c'), null, null, false, null)), + 21541 => array(array(array('_route' => '_255'), array('a', 'b', 'c'), null, null, false, null)), + 21589 => array(array(array('_route' => '_330'), array('a', 'b', 'c'), null, null, false, null)), + 21642 => array(array(array('_route' => '_100'), array('a', 'b', 'c'), null, null, false, null)), + 21690 => array(array(array('_route' => '_396'), array('a', 'b', 'c'), null, null, false, null)), + 21738 => array(array(array('_route' => '_422'), array('a', 'b', 'c'), null, null, false, null)), + 21791 => array(array(array('_route' => '_149'), array('a', 'b', 'c'), null, null, false, null)), + 21839 => array(array(array('_route' => '_324'), array('a', 'b', 'c'), null, null, false, null)), + 21892 => array(array(array('_route' => '_164'), array('a', 'b', 'c'), null, null, false, null)), + 21940 => array(array(array('_route' => '_423'), array('a', 'b', 'c'), null, null, false, null)), + 21990 => array(array(array('_route' => '_241'), array('a', 'b', 'c'), null, null, false, null)), + 22042 => array(array(array('_route' => '_290'), array('a', 'b', 'c'), null, null, false, null)), + 22090 => array(array(array('_route' => '_335'), array('a', 'b', 'c'), null, null, false, null)), + 22140 => array(array(array('_route' => '_373'), array('a', 'b', 'c'), null, null, false, null)), + 22189 => array(array(array('_route' => '_375'), array('a', 'b', 'c'), null, null, false, null)), + 22238 => array(array(array('_route' => '_450'), array('a', 'b', 'c'), null, null, false, null)), + 22287 => array(array(array('_route' => '_464'), array('a', 'b', 'c'), null, null, false, null)), + 22345 => array(array(array('_route' => '_51'), array('a', 'b', 'c'), null, null, false, null)), + 22393 => array(array(array('_route' => '_77'), array('a', 'b', 'c'), null, null, false, null)), + 22441 => array(array(array('_route' => '_234'), array('a', 'b', 'c'), null, null, false, null)), + 22489 => array(array(array('_route' => '_394'), array('a', 'b', 'c'), null, null, false, null)), + 22542 => array(array(array('_route' => '_88'), array('a', 'b', 'c'), null, null, false, null)), + 22590 => array(array(array('_route' => '_155'), array('a', 'b', 'c'), null, null, false, null)), + 22643 => array(array(array('_route' => '_96'), array('a', 'b', 'c'), null, null, false, null)), + 22691 => array(array(array('_route' => '_298'), array('a', 'b', 'c'), null, null, false, null)), + 22739 => array(array(array('_route' => '_470'), array('a', 'b', 'c'), null, null, false, null)), + 22792 => array(array(array('_route' => '_109'), array('a', 'b', 'c'), null, null, false, null)), + 22840 => array(array(array('_route' => '_204'), array('a', 'b', 'c'), null, null, false, null)), + 22893 => array(array(array('_route' => '_115'), array('a', 'b', 'c'), null, null, false, null)), + 22941 => array(array(array('_route' => '_145'), array('a', 'b', 'c'), null, null, false, null)), + 22994 => array(array(array('_route' => '_123'), array('a', 'b', 'c'), null, null, false, null)), + 23042 => array(array(array('_route' => '_277'), array('a', 'b', 'c'), null, null, false, null)), + 23090 => array(array(array('_route' => '_473'), array('a', 'b', 'c'), null, null, false, null)), + 23143 => array(array(array('_route' => '_334'), array('a', 'b', 'c'), null, null, false, null)), + 23191 => array(array(array('_route' => '_493'), array('a', 'b', 'c'), null, null, false, null)), + 23244 => array(array(array('_route' => '_372'), array('a', 'b', 'c'), null, null, false, null)), + 23292 => array(array(array('_route' => '_432'), array('a', 'b', 'c'), null, null, false, null)), + 23340 => array(array(array('_route' => '_436'), array('a', 'b', 'c'), null, null, false, null)), + 23393 => array(array(array('_route' => '_425'), array('a', 'b', 'c'), null, null, false, null)), + 23441 => array(array(array('_route' => '_456'), array('a', 'b', 'c'), null, null, false, null)), + 23489 => array(array(array('_route' => '_474'), array('a', 'b', 'c'), null, null, false, null)), + 23539 => array(array(array('_route' => '_485'), array('a', 'b', 'c'), null, null, false, null)), + 23594 => array(array(array('_route' => '_91'), array('a', 'b', 'c'), null, null, false, null)), + 23646 => array(array(array('_route' => '_110'), array('a', 'b', 'c'), null, null, false, null)), + 23694 => array(array(array('_route' => '_114'), array('a', 'b', 'c'), null, null, false, null)), + 23750 => array(array(array('_route' => '_118'), array('a', 'b', 'c'), null, null, false, null)), + 23796 => array(array(array('_route' => '_475'), array('a', 'b', 'c'), null, null, false, null)), + 23844 => array(array(array('_route' => '_366'), array('a', 'b', 'c'), null, null, false, null)), + 23897 => array(array(array('_route' => '_167'), array('a', 'b', 'c'), null, null, false, null)), + 23945 => array(array(array('_route' => '_192'), array('a', 'b', 'c'), null, null, false, null)), + 23993 => array(array(array('_route' => '_342'), array('a', 'b', 'c'), null, null, false, null)), + 24046 => array(array(array('_route' => '_229'), array('a', 'b', 'c'), null, null, false, null)), + 24097 => array(array(array('_route' => '_235'), array('a', 'b', 'c'), null, null, false, null)), + 24144 => array(array(array('_route' => '_302'), array('a', 'b', 'c'), null, null, false, null)), + 24193 => array(array(array('_route' => '_322'), array('a', 'b', 'c'), null, null, false, null)), + 24246 => array(array(array('_route' => '_237'), array('a', 'b', 'c'), null, null, false, null)), + 24294 => array(array(array('_route' => '_293'), array('a', 'b', 'c'), null, null, false, null)), + 24347 => array(array(array('_route' => '_239'), array('a', 'b', 'c'), null, null, false, null)), + 24395 => array(array(array('_route' => '_444'), array('a', 'b', 'c'), null, null, false, null)), + 24443 => array(array(array('_route' => '_491'), array('a', 'b', 'c'), null, null, false, null)), + 24491 => array(array(array('_route' => '_492'), array('a', 'b', 'c'), null, null, false, null)), + 24541 => array(array(array('_route' => '_258'), array('a', 'b', 'c'), null, null, false, null)), + 24590 => array(array(array('_route' => '_317'), array('a', 'b', 'c'), null, null, false, null)), + 24639 => array(array(array('_route' => '_361'), array('a', 'b', 'c'), null, null, false, null)), + 24688 => array(array(array('_route' => '_391'), array('a', 'b', 'c'), null, null, false, null)), + 24737 => array(array(array('_route' => '_462'), array('a', 'b', 'c'), null, null, false, null)), + 24786 => array(array(array('_route' => '_476'), array('a', 'b', 'c'), null, null, false, null)), + 24837 => array(array(array('_route' => '_501'), array('a', 'b', 'c'), null, null, false, null)), + 24889 => array(array(array('_route' => '_514'), array('a', 'b', 'c'), null, null, false, null)), + 24937 => array(array(array('_route' => '_731'), array('a', 'b', 'c'), null, null, false, null)), + 24990 => array(array(array('_route' => '_522'), array('a', 'b', 'c'), null, null, false, null)), + 25038 => array(array(array('_route' => '_693'), array('a', 'b', 'c'), null, null, false, null)), + 25091 => array(array(array('_route' => '_537'), array('a', 'b', 'c'), null, null, false, null)), + 25139 => array(array(array('_route' => '_554'), array('a', 'b', 'c'), null, null, false, null)), + 25187 => array(array(array('_route' => '_645'), array('a', 'b', 'c'), null, null, false, null)), + 25235 => array(array(array('_route' => '_862'), array('a', 'b', 'c'), null, null, false, null)), + 25288 => array(array(array('_route' => '_539'), array('a', 'b', 'c'), null, null, false, null)), + 25336 => array(array(array('_route' => '_729'), array('a', 'b', 'c'), null, null, false, null)), + 25384 => array(array(array('_route' => '_897'), array('a', 'b', 'c'), null, null, false, null)), + 25437 => array(array(array('_route' => '_561'), array('a', 'b', 'c'), null, null, false, null)), + 25485 => array(array(array('_route' => '_615'), array('a', 'b', 'c'), null, null, false, null)), + 25533 => array(array(array('_route' => '_764'), array('a', 'b', 'c'), null, null, false, null)), + 25581 => array(array(array('_route' => '_948'), array('a', 'b', 'c'), null, null, false, null)), + 25634 => array(array(array('_route' => '_617'), array('a', 'b', 'c'), null, null, false, null)), + 25682 => array(array(array('_route' => '_671'), array('a', 'b', 'c'), null, null, false, null)), + 25735 => array(array(array('_route' => '_649'), array('a', 'b', 'c'), null, null, false, null)), + 25783 => array(array(array('_route' => '_651'), array('a', 'b', 'c'), null, null, false, null)), + 25831 => array(array(array('_route' => '_684'), array('a', 'b', 'c'), null, null, false, null)), + 25884 => array(array(array('_route' => '_669'), array('a', 'b', 'c'), null, null, false, null)), + 25932 => array(array(array('_route' => '_743'), array('a', 'b', 'c'), null, null, false, null)), + 25980 => array(array(array('_route' => '_962'), array('a', 'b', 'c'), null, null, false, null)), + 26033 => array(array(array('_route' => '_694'), array('a', 'b', 'c'), null, null, false, null)), + 26081 => array(array(array('_route' => '_985'), array('a', 'b', 'c'), null, null, false, null)), + 26134 => array(array(array('_route' => '_707'), array('a', 'b', 'c'), null, null, false, null)), + 26182 => array(array(array('_route' => '_718'), array('a', 'b', 'c'), null, null, false, null)), + 26235 => array(array(array('_route' => '_720'), array('a', 'b', 'c'), null, null, false, null)), + 26283 => array(array(array('_route' => '_745'), array('a', 'b', 'c'), null, null, false, null)), + 26333 => array(array(array('_route' => '_874'), array('a', 'b', 'c'), null, null, false, null)), + 26391 => array(array(array('_route' => '_502'), array('a', 'b', 'c'), null, null, false, null)), + 26439 => array(array(array('_route' => '_667'), array('a', 'b', 'c'), null, null, false, null)), + 26487 => array(array(array('_route' => '_911'), array('a', 'b', 'c'), null, null, false, null)), + 26535 => array(array(array('_route' => '_942'), array('a', 'b', 'c'), null, null, false, null)), + 26585 => array(array(array('_route' => '_504'), array('a', 'b', 'c'), null, null, false, null)), + 26637 => array(array(array('_route' => '_524'), array('a', 'b', 'c'), null, null, false, null)), + 26685 => array(array(array('_route' => '_732'), array('a', 'b', 'c'), null, null, false, null)), + 26738 => array(array(array('_route' => '_596'), array('a', 'b', 'c'), null, null, false, null)), + 26786 => array(array(array('_route' => '_601'), array('a', 'b', 'c'), null, null, false, null)), + 26839 => array(array(array('_route' => '_620'), array('a', 'b', 'c'), null, null, false, null)), + 26887 => array(array(array('_route' => '_631'), array('a', 'b', 'c'), null, null, false, null)), + 26935 => array(array(array('_route' => '_771'), array('a', 'b', 'c'), null, null, false, null)), + 26983 => array(array(array('_route' => '_937'), array('a', 'b', 'c'), null, null, false, null)), + 27031 => array(array(array('_route' => '_999'), array('a', 'b', 'c'), null, null, false, null)), + 27084 => array(array(array('_route' => '_657'), array('a', 'b', 'c'), null, null, false, null)), + 27132 => array(array(array('_route' => '_701'), array('a', 'b', 'c'), null, null, false, null)), + 27185 => array(array(array('_route' => '_662'), array('a', 'b', 'c'), null, null, false, null)), + 27233 => array(array(array('_route' => '_797'), array('a', 'b', 'c'), null, null, false, null)), + 27281 => array(array(array('_route' => '_924'), array('a', 'b', 'c'), null, null, false, null)), + 27334 => array(array(array('_route' => '_702'), array('a', 'b', 'c'), null, null, false, null)), + 27382 => array(array(array('_route' => '_750'), array('a', 'b', 'c'), null, null, false, null)), + 27435 => array(array(array('_route' => '_749'), array('a', 'b', 'c'), null, null, false, null)), + 27483 => array(array(array('_route' => '_837'), array('a', 'b', 'c'), null, null, false, null)), + 27533 => array(array(array('_route' => '_758'), array('a', 'b', 'c'), null, null, false, null)), + 27585 => array(array(array('_route' => '_810'), array('a', 'b', 'c'), null, null, false, null)), + 27633 => array(array(array('_route' => '_902'), array('a', 'b', 'c'), null, null, false, null)), + 27683 => array(array(array('_route' => '_845'), array('a', 'b', 'c'), null, null, false, null)), + 27741 => array(array(array('_route' => '_503'), array('a', 'b', 'c'), null, null, false, null)), + 27792 => array(array(array('_route' => '_756'), array('a', 'b', 'c'), null, null, false, null)), + 27839 => array(array(array('_route' => '_799'), array('a', 'b', 'c'), null, null, false, null)), + 27888 => array(array(array('_route' => '_769'), array('a', 'b', 'c'), null, null, false, null)), + 27936 => array(array(array('_route' => '_981'), array('a', 'b', 'c'), null, null, false, null)), + 27989 => array(array(array('_route' => '_507'), array('a', 'b', 'c'), null, null, false, null)), + 28037 => array(array(array('_route' => '_672'), array('a', 'b', 'c'), null, null, false, null)), + 28085 => array(array(array('_route' => '_790'), array('a', 'b', 'c'), null, null, false, null)), + 28138 => array(array(array('_route' => '_515'), array('a', 'b', 'c'), null, null, false, null)), + 28186 => array(array(array('_route' => '_523'), array('a', 'b', 'c'), null, null, false, null)), + 28234 => array(array(array('_route' => '_957'), array('a', 'b', 'c'), null, null, false, null)), + 28282 => array(array(array('_route' => '_995'), array('a', 'b', 'c'), null, null, false, null)), + 28335 => array(array(array('_route' => '_532'), array('a', 'b', 'c'), null, null, false, null)), + 28383 => array(array(array('_route' => '_642'), array('a', 'b', 'c'), null, null, false, null)), + 28433 => array(array(array('_route' => '_579'), array('a', 'b', 'c'), null, null, false, null)), + 28485 => array(array(array('_route' => '_625'), array('a', 'b', 'c'), null, null, false, null)), + 28533 => array(array(array('_route' => '_916'), array('a', 'b', 'c'), null, null, false, null)), + 28586 => array(array(array('_route' => '_633'), array('a', 'b', 'c'), null, null, false, null)), + 28634 => array(array(array('_route' => '_656'), array('a', 'b', 'c'), null, null, false, null)), + 28687 => array(array(array('_route' => '_658'), array('a', 'b', 'c'), null, null, false, null)), + 28735 => array(array(array('_route' => '_943'), array('a', 'b', 'c'), null, null, false, null)), + 28788 => array(array(array('_route' => '_664'), array('a', 'b', 'c'), null, null, false, null)), + 28836 => array(array(array('_route' => '_852'), array('a', 'b', 'c'), null, null, false, null)), + 28884 => array(array(array('_route' => '_870'), array('a', 'b', 'c'), null, null, false, null)), + 28937 => array(array(array('_route' => '_683'), array('a', 'b', 'c'), null, null, false, null)), + 28985 => array(array(array('_route' => '_915'), array('a', 'b', 'c'), null, null, false, null)), + 29038 => array(array(array('_route' => '_719'), array('a', 'b', 'c'), null, null, false, null)), + 29086 => array(array(array('_route' => '_859'), array('a', 'b', 'c'), null, null, false, null)), + 29134 => array(array(array('_route' => '_912'), array('a', 'b', 'c'), null, null, false, null)), + 29182 => array(array(array('_route' => '_978'), array('a', 'b', 'c'), null, null, false, null)), + 29235 => array(array(array('_route' => '_738'), array('a', 'b', 'c'), null, null, false, null)), + 29283 => array(array(array('_route' => '_883'), array('a', 'b', 'c'), null, null, false, null)), + 29333 => array(array(array('_route' => '_741'), array('a', 'b', 'c'), null, null, false, null)), + 29382 => array(array(array('_route' => '_760'), array('a', 'b', 'c'), null, null, false, null)), + 29431 => array(array(array('_route' => '_895'), array('a', 'b', 'c'), null, null, false, null)), + 29489 => array(array(array('_route' => '_505'), array('a', 'b', 'c'), null, null, false, null)), + 29537 => array(array(array('_route' => '_935'), array('a', 'b', 'c'), null, null, false, null)), + 29590 => array(array(array('_route' => '_509'), array('a', 'b', 'c'), null, null, false, null)), + 29638 => array(array(array('_route' => '_820'), array('a', 'b', 'c'), null, null, false, null)), + 29686 => array(array(array('_route' => '_910'), array('a', 'b', 'c'), null, null, false, null)), + 29739 => array(array(array('_route' => '_518'), array('a', 'b', 'c'), null, null, false, null)), + 29787 => array(array(array('_route' => '_618'), array('a', 'b', 'c'), null, null, false, null)), + 29840 => array(array(array('_route' => '_546'), array('a', 'b', 'c'), null, null, false, null)), + 29888 => array(array(array('_route' => '_740'), array('a', 'b', 'c'), null, null, false, null)), + 29936 => array(array(array('_route' => '_867'), array('a', 'b', 'c'), null, null, false, null)), + 29989 => array(array(array('_route' => '_572'), array('a', 'b', 'c'), null, null, false, null)), + 30037 => array(array(array('_route' => '_952'), array('a', 'b', 'c'), null, null, false, null)), + 30090 => array(array(array('_route' => '_573'), array('a', 'b', 'c'), null, null, false, null)), + 30138 => array(array(array('_route' => '_692'), array('a', 'b', 'c'), null, null, false, null)), + 30186 => array(array(array('_route' => '_700'), array('a', 'b', 'c'), null, null, false, null)), + 30234 => array(array(array('_route' => '_772'), array('a', 'b', 'c'), null, null, false, null)), + 30284 => array(array(array('_route' => '_653'), array('a', 'b', 'c'), null, null, false, null)), + 30336 => array(array(array('_route' => '_695'), array('a', 'b', 'c'), null, null, false, null)), + 30384 => array(array(array('_route' => '_748'), array('a', 'b', 'c'), null, null, false, null)), + 30437 => array(array(array('_route' => '_710'), array('a', 'b', 'c'), null, null, false, null)), + 30485 => array(array(array('_route' => '_716'), array('a', 'b', 'c'), null, null, false, null)), + 30533 => array(array(array('_route' => '_969'), array('a', 'b', 'c'), null, null, false, null)), + 30586 => array(array(array('_route' => '_734'), array('a', 'b', 'c'), null, null, false, null)), + 30634 => array(array(array('_route' => '_742'), array('a', 'b', 'c'), null, null, false, null)), + 30682 => array(array(array('_route' => '_844'), array('a', 'b', 'c'), null, null, false, null)), + 30735 => array(array(array('_route' => '_763'), array('a', 'b', 'c'), null, null, false, null)), + 30783 => array(array(array('_route' => '_965'), array('a', 'b', 'c'), null, null, false, null)), + 30836 => array(array(array('_route' => '_778'), array('a', 'b', 'c'), null, null, false, null)), + 30884 => array(array(array('_route' => '_813'), array('a', 'b', 'c'), null, null, false, null)), + 30932 => array(array(array('_route' => '_831'), array('a', 'b', 'c'), null, null, false, null)), + 30982 => array(array(array('_route' => '_955'), array('a', 'b', 'c'), null, null, false, null)), + 31031 => array(array(array('_route' => '_997'), array('a', 'b', 'c'), null, null, false, null)), + 31089 => array(array(array('_route' => '_506'), array('a', 'b', 'c'), null, null, false, null)), + 31137 => array(array(array('_route' => '_575'), array('a', 'b', 'c'), null, null, false, null)), + 31190 => array(array(array('_route' => '_516'), array('a', 'b', 'c'), null, null, false, null)), + 31238 => array(array(array('_route' => '_553'), array('a', 'b', 'c'), null, null, false, null)), + 31291 => array(array(array('_route' => '_528'), array('a', 'b', 'c'), null, null, false, null)), + 31339 => array(array(array('_route' => '_847'), array('a', 'b', 'c'), null, null, false, null)), + 31387 => array(array(array('_route' => '_904'), array('a', 'b', 'c'), null, null, false, null)), + 31440 => array(array(array('_route' => '_574'), array('a', 'b', 'c'), null, null, false, null)), + 31488 => array(array(array('_route' => '_818'), array('a', 'b', 'c'), null, null, false, null)), + 31538 => array(array(array('_route' => '_577'), array('a', 'b', 'c'), null, null, false, null)), + 31590 => array(array(array('_route' => '_584'), array('a', 'b', 'c'), null, null, false, null)), + 31638 => array(array(array('_route' => '_905'), array('a', 'b', 'c'), null, null, false, null)), + 31691 => array(array(array('_route' => '_612'), array('a', 'b', 'c'), null, null, false, null)), + 31739 => array(array(array('_route' => '_688'), array('a', 'b', 'c'), null, null, false, null)), + 31787 => array(array(array('_route' => '_854'), array('a', 'b', 'c'), null, null, false, null)), + 31840 => array(array(array('_route' => '_613'), array('a', 'b', 'c'), null, null, false, null)), + 31888 => array(array(array('_route' => '_767'), array('a', 'b', 'c'), null, null, false, null)), + 31941 => array(array(array('_route' => '_666'), array('a', 'b', 'c'), null, null, false, null)), + 31989 => array(array(array('_route' => '_759'), array('a', 'b', 'c'), null, null, false, null)), + 32037 => array(array(array('_route' => '_827'), array('a', 'b', 'c'), null, null, false, null)), + 32085 => array(array(array('_route' => '_840'), array('a', 'b', 'c'), null, null, false, null)), + 32138 => array(array(array('_route' => '_680'), array('a', 'b', 'c'), null, null, false, null)), + 32186 => array(array(array('_route' => '_784'), array('a', 'b', 'c'), null, null, false, null)), + 32234 => array(array(array('_route' => '_842'), array('a', 'b', 'c'), null, null, false, null)), + 32282 => array(array(array('_route' => '_860'), array('a', 'b', 'c'), null, null, false, null)), + 32332 => array(array(array('_route' => '_704'), array('a', 'b', 'c'), null, null, false, null)), + 32381 => array(array(array('_route' => '_727'), array('a', 'b', 'c'), null, null, false, null)), + 32430 => array(array(array('_route' => '_777'), array('a', 'b', 'c'), null, null, false, null)), + 32482 => array(array(array('_route' => '_838'), array('a', 'b', 'c'), null, null, false, null)), + 32530 => array(array(array('_route' => '_861'), array('a', 'b', 'c'), null, null, false, null)), + 32583 => array(array(array('_route' => '_849'), array('a', 'b', 'c'), null, null, false, null)), + 32631 => array(array(array('_route' => '_982'), array('a', 'b', 'c'), null, null, false, null)), + 32679 => array(array(array('_route' => '_986'), array('a', 'b', 'c'), null, null, false, null)), + 32741 => array(array(array('_route' => '_508'), array('a', 'b', 'c'), null, null, false, null)), + 32788 => array(array(array('_route' => '_517'), array('a', 'b', 'c'), null, null, false, null)), + 32837 => array(array(array('_route' => '_622'), array('a', 'b', 'c'), null, null, false, null)), + 32890 => array(array(array('_route' => '_513'), array('a', 'b', 'c'), null, null, false, null)), + 32938 => array(array(array('_route' => '_655'), array('a', 'b', 'c'), null, null, false, null)), + 32986 => array(array(array('_route' => '_843'), array('a', 'b', 'c'), null, null, false, null)), + 33034 => array(array(array('_route' => '_939'), array('a', 'b', 'c'), null, null, false, null)), + 33084 => array(array(array('_route' => '_529'), array('a', 'b', 'c'), null, null, false, null)), + 33136 => array(array(array('_route' => '_535'), array('a', 'b', 'c'), null, null, false, null)), + 33184 => array(array(array('_route' => '_685'), array('a', 'b', 'c'), null, null, false, null)), + 33240 => array(array(array('_route' => '_559'), array('a', 'b', 'c'), null, null, false, null)), + 33287 => array(array(array('_route' => '_661'), array('a', 'b', 'c'), null, null, false, null)), + 33336 => array(array(array('_route' => '_768'), array('a', 'b', 'c'), null, null, false, null)), + 33389 => array(array(array('_route' => '_589'), array('a', 'b', 'c'), null, null, false, null)), + 33437 => array(array(array('_route' => '_647'), array('a', 'b', 'c'), null, null, false, null)), + 33485 => array(array(array('_route' => '_652'), array('a', 'b', 'c'), null, null, false, null)), + 33533 => array(array(array('_route' => '_834'), array('a', 'b', 'c'), null, null, false, null)), + 33586 => array(array(array('_route' => '_591'), array('a', 'b', 'c'), null, null, false, null)), + 33634 => array(array(array('_route' => '_599'), array('a', 'b', 'c'), null, null, false, null)), + 33687 => array(array(array('_route' => '_787'), array('a', 'b', 'c'), null, null, false, null)), + 33734 => array(array(array('_route' => '_848'), array('a', 'b', 'c'), null, null, false, null)), + 33787 => array(array(array('_route' => '_796'), array('a', 'b', 'c'), null, null, false, null)), + 33835 => array(array(array('_route' => '_877'), array('a', 'b', 'c'), null, null, false, null)), + 33885 => array(array(array('_route' => '_809'), array('a', 'b', 'c'), null, null, false, null)), + 33934 => array(array(array('_route' => '_817'), array('a', 'b', 'c'), null, null, false, null)), + 33986 => array(array(array('_route' => '_819'), array('a', 'b', 'c'), null, null, false, null)), + 34034 => array(array(array('_route' => '_865'), array('a', 'b', 'c'), null, null, false, null)), + 34084 => array(array(array('_route' => '_919'), array('a', 'b', 'c'), null, null, false, null)), + 34133 => array(array(array('_route' => '_949'), array('a', 'b', 'c'), null, null, false, null)), + 34191 => array(array(array('_route' => '_510'), array('a', 'b', 'c'), null, null, false, null)), + 34239 => array(array(array('_route' => '_590'), array('a', 'b', 'c'), null, null, false, null)), + 34287 => array(array(array('_route' => '_597'), array('a', 'b', 'c'), null, null, false, null)), + 34335 => array(array(array('_route' => '_682'), array('a', 'b', 'c'), null, null, false, null)), + 34383 => array(array(array('_route' => '_723'), array('a', 'b', 'c'), null, null, false, null)), + 34436 => array(array(array('_route' => '_521'), array('a', 'b', 'c'), null, null, false, null)), + 34484 => array(array(array('_route' => '_594'), array('a', 'b', 'c'), null, null, false, null)), + 34532 => array(array(array('_route' => '_689'), array('a', 'b', 'c'), null, null, false, null)), + 34580 => array(array(array('_route' => '_713'), array('a', 'b', 'c'), null, null, false, null)), + 34628 => array(array(array('_route' => '_889'), array('a', 'b', 'c'), null, null, false, null)), + 34681 => array(array(array('_route' => '_531'), array('a', 'b', 'c'), null, null, false, null)), + 34729 => array(array(array('_route' => '_639'), array('a', 'b', 'c'), null, null, false, null)), + 34780 => array(array(array('_route' => '_646'), array('a', 'b', 'c'), null, null, false, null)), + 34827 => array(array(array('_route' => '_659'), array('a', 'b', 'c'), null, null, false, null)), + 34876 => array(array(array('_route' => '_959'), array('a', 'b', 'c'), null, null, false, null)), + 34929 => array(array(array('_route' => '_550'), array('a', 'b', 'c'), null, null, false, null)), + 34977 => array(array(array('_route' => '_833'), array('a', 'b', 'c'), null, null, false, null)), + 35025 => array(array(array('_route' => '_899'), array('a', 'b', 'c'), null, null, false, null)), + 35081 => array(array(array('_route' => '_580'), array('a', 'b', 'c'), null, null, false, null)), + 35128 => array(array(array('_route' => '_762'), array('a', 'b', 'c'), null, null, false, null)), + 35177 => array(array(array('_route' => '_896'), array('a', 'b', 'c'), null, null, false, null)), + 35230 => array(array(array('_route' => '_595'), array('a', 'b', 'c'), null, null, false, null)), + 35278 => array(array(array('_route' => '_933'), array('a', 'b', 'c'), null, null, false, null)), + 35328 => array(array(array('_route' => '_610'), array('a', 'b', 'c'), null, null, false, null)), + 35380 => array(array(array('_route' => '_629'), array('a', 'b', 'c'), null, null, false, null)), + 35428 => array(array(array('_route' => '_744'), array('a', 'b', 'c'), null, null, false, null)), + 35481 => array(array(array('_route' => '_674'), array('a', 'b', 'c'), null, null, false, null)), + 35529 => array(array(array('_route' => '_726'), array('a', 'b', 'c'), null, null, false, null)), + 35577 => array(array(array('_route' => '_929'), array('a', 'b', 'c'), null, null, false, null)), + 35627 => array(array(array('_route' => '_696'), array('a', 'b', 'c'), null, null, false, null)), + 35679 => array(array(array('_route' => '_841'), array('a', 'b', 'c'), null, null, false, null)), + 35727 => array(array(array('_route' => '_890'), array('a', 'b', 'c'), null, null, false, null)), + 35777 => array(array(array('_route' => '_885'), array('a', 'b', 'c'), null, null, false, null)), + 35826 => array(array(array('_route' => '_888'), array('a', 'b', 'c'), null, null, false, null)), + 35875 => array(array(array('_route' => '_996'), array('a', 'b', 'c'), null, null, false, null)), + 35933 => array(array(array('_route' => '_511'), array('a', 'b', 'c'), null, null, false, null)), + 35981 => array(array(array('_route' => '_576'), array('a', 'b', 'c'), null, null, false, null)), + 36029 => array(array(array('_route' => '_623'), array('a', 'b', 'c'), null, null, false, null)), + 36082 => array(array(array('_route' => '_560'), array('a', 'b', 'c'), null, null, false, null)), + 36129 => array(array(array('_route' => '_585'), array('a', 'b', 'c'), null, null, false, null)), + 36182 => array(array(array('_route' => '_570'), array('a', 'b', 'c'), null, null, false, null)), + 36230 => array(array(array('_route' => '_578'), array('a', 'b', 'c'), null, null, false, null)), + 36281 => array(array(array('_route' => '_780'), array('a', 'b', 'c'), null, null, false, null)), + 36328 => array(array(array('_route' => '_808'), array('a', 'b', 'c'), null, null, false, null)), + 36382 => array(array(array('_route' => '_593'), array('a', 'b', 'c'), null, null, false, null)), + 36430 => array(array(array('_route' => '_900'), array('a', 'b', 'c'), null, null, false, null)), + 36483 => array(array(array('_route' => '_632'), array('a', 'b', 'c'), null, null, false, null)), + 36531 => array(array(array('_route' => '_654'), array('a', 'b', 'c'), null, null, false, null)), + 36579 => array(array(array('_route' => '_721'), array('a', 'b', 'c'), null, null, false, null)), + 36627 => array(array(array('_route' => '_836'), array('a', 'b', 'c'), null, null, false, null)), + 36680 => array(array(array('_route' => '_637'), array('a', 'b', 'c'), null, null, false, null)), + 36728 => array(array(array('_route' => '_737'), array('a', 'b', 'c'), null, null, false, null)), + 36784 => array(array(array('_route' => '_699'), array('a', 'b', 'c'), null, null, false, null)), + 36831 => array(array(array('_route' => '_822'), array('a', 'b', 'c'), null, null, false, null)), + 36880 => array(array(array('_route' => '_853'), array('a', 'b', 'c'), null, null, false, null)), + 36933 => array(array(array('_route' => '_708'), array('a', 'b', 'c'), null, null, false, null)), + 36981 => array(array(array('_route' => '_871'), array('a', 'b', 'c'), null, null, false, null)), + 37034 => array(array(array('_route' => '_752'), array('a', 'b', 'c'), null, null, false, null)), + 37082 => array(array(array('_route' => '_989'), array('a', 'b', 'c'), null, null, false, null)), + 37132 => array(array(array('_route' => '_855'), array('a', 'b', 'c'), null, null, false, null)), + 37184 => array(array(array('_route' => '_858'), array('a', 'b', 'c'), null, null, false, null)), + 37232 => array(array(array('_route' => '_898'), array('a', 'b', 'c'), null, null, false, null)), + 37282 => array(array(array('_route' => '_903'), array('a', 'b', 'c'), null, null, false, null)), + 37331 => array(array(array('_route' => '_909'), array('a', 'b', 'c'), null, null, false, null)), + 37380 => array(array(array('_route' => '_950'), array('a', 'b', 'c'), null, null, false, null)), + 37441 => array(array(array('_route' => '_512'), array('a', 'b', 'c'), null, null, false, null)), + 37488 => array(array(array('_route' => '_691'), array('a', 'b', 'c'), null, null, false, null)), + 37537 => array(array(array('_route' => '_686'), array('a', 'b', 'c'), null, null, false, null)), + 37587 => array(array(array('_route' => '_527'), array('a', 'b', 'c'), null, null, false, null)), + 37639 => array(array(array('_route' => '_541'), array('a', 'b', 'c'), null, null, false, null)), + 37687 => array(array(array('_route' => '_956'), array('a', 'b', 'c'), null, null, false, null)), + 37740 => array(array(array('_route' => '_555'), array('a', 'b', 'c'), null, null, false, null)), + 37788 => array(array(array('_route' => '_681'), array('a', 'b', 'c'), null, null, false, null)), + 37841 => array(array(array('_route' => '_556'), array('a', 'b', 'c'), null, null, false, null)), + 37889 => array(array(array('_route' => '_802'), array('a', 'b', 'c'), null, null, false, null)), + 37939 => array(array(array('_route' => '_558'), array('a', 'b', 'c'), null, null, false, null)), + 37991 => array(array(array('_route' => '_564'), array('a', 'b', 'c'), null, null, false, null)), + 38039 => array(array(array('_route' => '_670'), array('a', 'b', 'c'), null, null, false, null)), + 38087 => array(array(array('_route' => '_884'), array('a', 'b', 'c'), null, null, false, null)), + 38140 => array(array(array('_route' => '_627'), array('a', 'b', 'c'), null, null, false, null)), + 38187 => array(array(array('_route' => '_746'), array('a', 'b', 'c'), null, null, false, null)), + 38240 => array(array(array('_route' => '_668'), array('a', 'b', 'c'), null, null, false, null)), + 38291 => array(array(array('_route' => '_712'), array('a', 'b', 'c'), null, null, false, null)), + 38338 => array(array(array('_route' => '_863'), array('a', 'b', 'c'), null, null, false, null)), + 38387 => array(array(array('_route' => '_801'), array('a', 'b', 'c'), null, null, false, null)), + 38440 => array(array(array('_route' => '_709'), array('a', 'b', 'c'), null, null, false, null)), + 38488 => array(array(array('_route' => '_850'), array('a', 'b', 'c'), null, null, false, null)), + 38536 => array(array(array('_route' => '_918'), array('a', 'b', 'c'), null, null, false, null)), + 38586 => array(array(array('_route' => '_803'), array('a', 'b', 'c'), null, null, false, null)), + 38638 => array(array(array('_route' => '_864'), array('a', 'b', 'c'), null, null, false, null)), + 38686 => array(array(array('_route' => '_880'), array('a', 'b', 'c'), null, null, false, null)), + 38734 => array(array(array('_route' => '_927'), array('a', 'b', 'c'), null, null, false, null)), + 38787 => array(array(array('_route' => '_930'), array('a', 'b', 'c'), null, null, false, null)), + 38835 => array(array(array('_route' => '_951'), array('a', 'b', 'c'), null, null, false, null)), + 38883 => array(array(array('_route' => '_963'), array('a', 'b', 'c'), null, null, false, null)), + 38942 => array(array(array('_route' => '_519'), array('a', 'b', 'c'), null, null, false, null)), + 38990 => array(array(array('_route' => '_823'), array('a', 'b', 'c'), null, null, false, null)), + 39038 => array(array(array('_route' => '_954'), array('a', 'b', 'c'), null, null, false, null)), + 39091 => array(array(array('_route' => '_525'), array('a', 'b', 'c'), null, null, false, null)), + 39139 => array(array(array('_route' => '_991'), array('a', 'b', 'c'), null, null, false, null)), + 39189 => array(array(array('_route' => '_536'), array('a', 'b', 'c'), null, null, false, null)), + 39241 => array(array(array('_route' => '_545'), array('a', 'b', 'c'), null, null, false, null)), + 39289 => array(array(array('_route' => '_944'), array('a', 'b', 'c'), null, null, false, null)), + 39342 => array(array(array('_route' => '_557'), array('a', 'b', 'c'), null, null, false, null)), + 39390 => array(array(array('_route' => '_783'), array('a', 'b', 'c'), null, null, false, null)), + 39438 => array(array(array('_route' => '_807'), array('a', 'b', 'c'), null, null, false, null)), + 39491 => array(array(array('_route' => '_586'), array('a', 'b', 'c'), null, null, false, null)), + 39539 => array(array(array('_route' => '_711'), array('a', 'b', 'c'), null, null, false, null)), + 39592 => array(array(array('_route' => '_598'), array('a', 'b', 'c'), null, null, false, null)), + 39640 => array(array(array('_route' => '_635'), array('a', 'b', 'c'), null, null, false, null)), + 39688 => array(array(array('_route' => '_983'), array('a', 'b', 'c'), null, null, false, null)), + 39741 => array(array(array('_route' => '_634'), array('a', 'b', 'c'), null, null, false, null)), + 39789 => array(array(array('_route' => '_641'), array('a', 'b', 'c'), null, null, false, null)), + 39840 => array(array(array('_route' => '_779'), array('a', 'b', 'c'), null, null, false, null)), + 39887 => array(array(array('_route' => '_876'), array('a', 'b', 'c'), null, null, false, null)), + 39936 => array(array(array('_route' => '_811'), array('a', 'b', 'c'), null, null, false, null)), + 39984 => array(array(array('_route' => '_824'), array('a', 'b', 'c'), null, null, false, null)), + 40037 => array(array(array('_route' => '_660'), array('a', 'b', 'c'), null, null, false, null)), + 40085 => array(array(array('_route' => '_789'), array('a', 'b', 'c'), null, null, false, null)), + 40138 => array(array(array('_route' => '_733'), array('a', 'b', 'c'), null, null, false, null)), + 40186 => array(array(array('_route' => '_735'), array('a', 'b', 'c'), null, null, false, null)), + 40234 => array(array(array('_route' => '_882'), array('a', 'b', 'c'), null, null, false, null)), + 40282 => array(array(array('_route' => '_967'), array('a', 'b', 'c'), null, null, false, null)), + 40332 => array(array(array('_route' => '_736'), array('a', 'b', 'c'), null, null, false, null)), + 40381 => array(array(array('_route' => '_753'), array('a', 'b', 'c'), null, null, false, null)), + 40430 => array(array(array('_route' => '_786'), array('a', 'b', 'c'), null, null, false, null)), + 40479 => array(array(array('_route' => '_907'), array('a', 'b', 'c'), null, null, false, null)), + 40528 => array(array(array('_route' => '_920'), array('a', 'b', 'c'), null, null, false, null)), + 40577 => array(array(array('_route' => '_971'), array('a', 'b', 'c'), null, null, false, null)), + 40635 => array(array(array('_route' => '_520'), array('a', 'b', 'c'), null, null, false, null)), + 40683 => array(array(array('_route' => '_891'), array('a', 'b', 'c'), null, null, false, null)), + 40739 => array(array(array('_route' => '_534'), array('a', 'b', 'c'), null, null, false, null)), + 40785 => array(array(array('_route' => '_602'), array('a', 'b', 'c'), null, null, false, null)), + 40834 => array(array(array('_route' => '_605'), array('a', 'b', 'c'), null, null, false, null)), + 40882 => array(array(array('_route' => '_979'), array('a', 'b', 'c'), null, null, false, null)), + 40932 => array(array(array('_route' => '_547'), array('a', 'b', 'c'), null, null, false, null)), + 40987 => array(array(array('_route' => '_549'), array('a', 'b', 'c'), null, null, false, null)), + 41034 => array(array(array('_route' => '_755'), array('a', 'b', 'c'), null, null, false, null)), + 41083 => array(array(array('_route' => '_922'), array('a', 'b', 'c'), null, null, false, null)), + 41131 => array(array(array('_route' => '_977'), array('a', 'b', 'c'), null, null, false, null)), + 41184 => array(array(array('_route' => '_565'), array('a', 'b', 'c'), null, null, false, null)), + 41232 => array(array(array('_route' => '_926'), array('a', 'b', 'c'), null, null, false, null)), + 41282 => array(array(array('_route' => '_571'), array('a', 'b', 'c'), null, null, false, null)), + 41331 => array(array(array('_route' => '_581'), array('a', 'b', 'c'), null, null, false, null)), + 41380 => array(array(array('_route' => '_619'), array('a', 'b', 'c'), null, null, false, null)), + 41429 => array(array(array('_route' => '_636'), array('a', 'b', 'c'), null, null, false, null)), + 41481 => array(array(array('_route' => '_679'), array('a', 'b', 'c'), null, null, false, null)), + 41529 => array(array(array('_route' => '_866'), array('a', 'b', 'c'), null, null, false, null)), + 41577 => array(array(array('_route' => '_973'), array('a', 'b', 'c'), null, null, false, null)), + 41630 => array(array(array('_route' => '_690'), array('a', 'b', 'c'), null, null, false, null)), + 41678 => array(array(array('_route' => '_775'), array('a', 'b', 'c'), null, null, false, null)), + 41731 => array(array(array('_route' => '_722'), array('a', 'b', 'c'), null, null, false, null)), + 41779 => array(array(array('_route' => '_906'), array('a', 'b', 'c'), null, null, false, null)), + 41827 => array(array(array('_route' => '_946'), array('a', 'b', 'c'), null, null, false, null)), + 41877 => array(array(array('_route' => '_788'), array('a', 'b', 'c'), null, null, false, null)), + 41929 => array(array(array('_route' => '_828'), array('a', 'b', 'c'), null, null, false, null)), + 41977 => array(array(array('_route' => '_892'), array('a', 'b', 'c'), null, null, false, null)), + 42025 => array(array(array('_route' => '_972'), array('a', 'b', 'c'), null, null, false, null)), + 42075 => array(array(array('_route' => '_829'), array('a', 'b', 'c'), null, null, false, null)), + 42127 => array(array(array('_route' => '_923'), array('a', 'b', 'c'), null, null, false, null)), + 42175 => array(array(array('_route' => '_947'), array('a', 'b', 'c'), null, null, false, null)), + 42234 => array(array(array('_route' => '_526'), array('a', 'b', 'c'), null, null, false, null)), + 42282 => array(array(array('_route' => '_614'), array('a', 'b', 'c'), null, null, false, null)), + 42330 => array(array(array('_route' => '_621'), array('a', 'b', 'c'), null, null, false, null)), + 42383 => array(array(array('_route' => '_543'), array('a', 'b', 'c'), null, null, false, null)), + 42431 => array(array(array('_route' => '_812'), array('a', 'b', 'c'), null, null, false, null)), + 42487 => array(array(array('_route' => '_548'), array('a', 'b', 'c'), null, null, false, null)), + 42534 => array(array(array('_route' => '_747'), array('a', 'b', 'c'), null, null, false, null)), + 42583 => array(array(array('_route' => '_715'), array('a', 'b', 'c'), null, null, false, null)), + 42631 => array(array(array('_route' => '_940'), array('a', 'b', 'c'), null, null, false, null)), + 42684 => array(array(array('_route' => '_563'), array('a', 'b', 'c'), null, null, false, null)), + 42732 => array(array(array('_route' => '_611'), array('a', 'b', 'c'), null, null, false, null)), + 42780 => array(array(array('_route' => '_830'), array('a', 'b', 'c'), null, null, false, null)), + 42833 => array(array(array('_route' => '_569'), array('a', 'b', 'c'), null, null, false, null)), + 42881 => array(array(array('_route' => '_908'), array('a', 'b', 'c'), null, null, false, null)), + 42929 => array(array(array('_route' => '_913'), array('a', 'b', 'c'), null, null, false, null)), + 42982 => array(array(array('_route' => '_644'), array('a', 'b', 'c'), null, null, false, null)), + 43030 => array(array(array('_route' => '_776'), array('a', 'b', 'c'), null, null, false, null)), + 43078 => array(array(array('_route' => '_856'), array('a', 'b', 'c'), null, null, false, null)), + 43131 => array(array(array('_route' => '_650'), array('a', 'b', 'c'), null, null, false, null)), + 43179 => array(array(array('_route' => '_761'), array('a', 'b', 'c'), null, null, false, null)), + 43232 => array(array(array('_route' => '_663'), array('a', 'b', 'c'), null, null, false, null)), + 43280 => array(array(array('_route' => '_754'), array('a', 'b', 'c'), null, null, false, null)), + 43333 => array(array(array('_route' => '_665'), array('a', 'b', 'c'), null, null, false, null)), + 43381 => array(array(array('_route' => '_805'), array('a', 'b', 'c'), null, null, false, null)), + 43429 => array(array(array('_route' => '_846'), array('a', 'b', 'c'), null, null, false, null)), + 43477 => array(array(array('_route' => '_857'), array('a', 'b', 'c'), null, null, false, null)), + 43530 => array(array(array('_route' => '_675'), array('a', 'b', 'c'), null, null, false, null)), + 43578 => array(array(array('_route' => '_839'), array('a', 'b', 'c'), null, null, false, null)), + 43626 => array(array(array('_route' => '_968'), array('a', 'b', 'c'), null, null, false, null)), + 43676 => array(array(array('_route' => '_697'), array('a', 'b', 'c'), null, null, false, null)), + 43728 => array(array(array('_route' => '_725'), array('a', 'b', 'c'), null, null, false, null)), + 43776 => array(array(array('_route' => '_794'), array('a', 'b', 'c'), null, null, false, null)), + 43829 => array(array(array('_route' => '_773'), array('a', 'b', 'c'), null, null, false, null)), + 43877 => array(array(array('_route' => '_992'), array('a', 'b', 'c'), null, null, false, null)), + 43930 => array(array(array('_route' => '_901'), array('a', 'b', 'c'), null, null, false, null)), + 43978 => array(array(array('_route' => '_970'), array('a', 'b', 'c'), null, null, false, null)), + 44028 => array(array(array('_route' => '_964'), array('a', 'b', 'c'), null, null, false, null)), + 44086 => array(array(array('_route' => '_530'), array('a', 'b', 'c'), null, null, false, null)), + 44134 => array(array(array('_route' => '_703'), array('a', 'b', 'c'), null, null, false, null)), + 44187 => array(array(array('_route' => '_533'), array('a', 'b', 'c'), null, null, false, null)), + 44235 => array(array(array('_route' => '_739'), array('a', 'b', 'c'), null, null, false, null)), + 44283 => array(array(array('_route' => '_791'), array('a', 'b', 'c'), null, null, false, null)), + 44331 => array(array(array('_route' => '_987'), array('a', 'b', 'c'), null, null, false, null)), + 44384 => array(array(array('_route' => '_566'), array('a', 'b', 'c'), null, null, false, null)), + 44432 => array(array(array('_route' => '_592'), array('a', 'b', 'c'), null, null, false, null)), + 44488 => array(array(array('_route' => '_568'), array('a', 'b', 'c'), null, null, false, null)), + 44534 => array(array(array('_route' => '_868'), array('a', 'b', 'c'), null, null, false, null)), + 44583 => array(array(array('_route' => '_878'), array('a', 'b', 'c'), null, null, false, null)), + 44636 => array(array(array('_route' => '_588'), array('a', 'b', 'c'), null, null, false, null)), + 44684 => array(array(array('_route' => '_793'), array('a', 'b', 'c'), null, null, false, null)), + 44732 => array(array(array('_route' => '_917'), array('a', 'b', 'c'), null, null, false, null)), + 44785 => array(array(array('_route' => '_600'), array('a', 'b', 'c'), null, null, false, null)), + 44833 => array(array(array('_route' => '_728'), array('a', 'b', 'c'), null, null, false, null)), + 44886 => array(array(array('_route' => '_603'), array('a', 'b', 'c'), null, null, false, null)), + 44934 => array(array(array('_route' => '_765'), array('a', 'b', 'c'), null, null, false, null)), + 44987 => array(array(array('_route' => '_607'), array('a', 'b', 'c'), null, null, false, null)), + 45035 => array(array(array('_route' => '_676'), array('a', 'b', 'c'), null, null, false, null)), + 45083 => array(array(array('_route' => '_804'), array('a', 'b', 'c'), null, null, false, null)), + 45136 => array(array(array('_route' => '_609'), array('a', 'b', 'c'), null, null, false, null)), + 45184 => array(array(array('_route' => '_961'), array('a', 'b', 'c'), null, null, false, null)), + 45232 => array(array(array('_route' => '_980'), array('a', 'b', 'c'), null, null, false, null)), + 45282 => array(array(array('_route' => '_714'), array('a', 'b', 'c'), null, null, false, null)), + 45334 => array(array(array('_route' => '_730'), array('a', 'b', 'c'), null, null, false, null)), + 45382 => array(array(array('_route' => '_806'), array('a', 'b', 'c'), null, null, false, null)), + 45430 => array(array(array('_route' => '_825'), array('a', 'b', 'c'), null, null, false, null)), + 45478 => array(array(array('_route' => '_879'), array('a', 'b', 'c'), null, null, false, null)), + 45526 => array(array(array('_route' => '_893'), array('a', 'b', 'c'), null, null, false, null)), + 45576 => array(array(array('_route' => '_928'), array('a', 'b', 'c'), null, null, false, null)), + 45628 => array(array(array('_route' => '_932'), array('a', 'b', 'c'), null, null, false, null)), + 45676 => array(array(array('_route' => '_958'), array('a', 'b', 'c'), null, null, false, null)), + 45726 => array(array(array('_route' => '_984'), array('a', 'b', 'c'), null, null, false, null)), + 45784 => array(array(array('_route' => '_538'), array('a', 'b', 'c'), null, null, false, null)), + 45832 => array(array(array('_route' => '_993'), array('a', 'b', 'c'), null, null, false, null)), + 45882 => array(array(array('_route' => '_542'), array('a', 'b', 'c'), null, null, false, null)), + 45934 => array(array(array('_route' => '_551'), array('a', 'b', 'c'), null, null, false, null)), + 45982 => array(array(array('_route' => '_687'), array('a', 'b', 'c'), null, null, false, null)), + 46030 => array(array(array('_route' => '_724'), array('a', 'b', 'c'), null, null, false, null)), + 46078 => array(array(array('_route' => '_925'), array('a', 'b', 'c'), null, null, false, null)), + 46131 => array(array(array('_route' => '_587'), array('a', 'b', 'c'), null, null, false, null)), + 46179 => array(array(array('_route' => '_914'), array('a', 'b', 'c'), null, null, false, null)), + 46229 => array(array(array('_route' => '_616'), array('a', 'b', 'c'), null, null, false, null)), + 46284 => array(array(array('_route' => '_677'), array('a', 'b', 'c'), null, null, false, null)), + 46331 => array(array(array('_route' => '_815'), array('a', 'b', 'c'), null, null, false, null)), + 46380 => array(array(array('_route' => '_781'), array('a', 'b', 'c'), null, null, false, null)), + 46430 => array(array(array('_route' => '_717'), array('a', 'b', 'c'), null, null, false, null)), + 46482 => array(array(array('_route' => '_782'), array('a', 'b', 'c'), null, null, false, null)), + 46530 => array(array(array('_route' => '_832'), array('a', 'b', 'c'), null, null, false, null)), + 46583 => array(array(array('_route' => '_795'), array('a', 'b', 'c'), null, null, false, null)), + 46631 => array(array(array('_route' => '_887'), array('a', 'b', 'c'), null, null, false, null)), + 46681 => array(array(array('_route' => '_800'), array('a', 'b', 'c'), null, null, false, null)), + 46730 => array(array(array('_route' => '_826'), array('a', 'b', 'c'), null, null, false, null)), + 46779 => array(array(array('_route' => '_881'), array('a', 'b', 'c'), null, null, false, null)), + 46828 => array(array(array('_route' => '_886'), array('a', 'b', 'c'), null, null, false, null)), + 46877 => array(array(array('_route' => '_938'), array('a', 'b', 'c'), null, null, false, null)), + 46935 => array(array(array('_route' => '_540'), array('a', 'b', 'c'), null, null, false, null)), + 46983 => array(array(array('_route' => '_643'), array('a', 'b', 'c'), null, null, false, null)), + 47033 => array(array(array('_route' => '_544'), array('a', 'b', 'c'), null, null, false, null)), + 47082 => array(array(array('_route' => '_552'), array('a', 'b', 'c'), null, null, false, null)), + 47134 => array(array(array('_route' => '_567'), array('a', 'b', 'c'), null, null, false, null)), + 47182 => array(array(array('_route' => '_608'), array('a', 'b', 'c'), null, null, false, null)), + 47230 => array(array(array('_route' => '_698'), array('a', 'b', 'c'), null, null, false, null)), + 47278 => array(array(array('_route' => '_988'), array('a', 'b', 'c'), null, null, false, null)), + 47331 => array(array(array('_route' => '_583'), array('a', 'b', 'c'), null, null, false, null)), + 47379 => array(array(array('_route' => '_998'), array('a', 'b', 'c'), null, null, false, null)), + 47432 => array(array(array('_route' => '_604'), array('a', 'b', 'c'), null, null, false, null)), + 47480 => array(array(array('_route' => '_630'), array('a', 'b', 'c'), null, null, false, null)), + 47528 => array(array(array('_route' => '_706'), array('a', 'b', 'c'), null, null, false, null)), + 47576 => array(array(array('_route' => '_976'), array('a', 'b', 'c'), null, null, false, null)), + 47629 => array(array(array('_route' => '_673'), array('a', 'b', 'c'), null, null, false, null)), + 47677 => array(array(array('_route' => '_678'), array('a', 'b', 'c'), null, null, false, null)), + 47725 => array(array(array('_route' => '_931'), array('a', 'b', 'c'), null, null, false, null)), + 47775 => array(array(array('_route' => '_751'), array('a', 'b', 'c'), null, null, false, null)), + 47824 => array(array(array('_route' => '_766'), array('a', 'b', 'c'), null, null, false, null)), + 47876 => array(array(array('_route' => '_792'), array('a', 'b', 'c'), null, null, false, null)), + 47924 => array(array(array('_route' => '_814'), array('a', 'b', 'c'), null, null, false, null)), + 47974 => array(array(array('_route' => '_798'), array('a', 'b', 'c'), null, null, false, null)), + 48026 => array(array(array('_route' => '_851'), array('a', 'b', 'c'), null, null, false, null)), + 48074 => array(array(array('_route' => '_941'), array('a', 'b', 'c'), null, null, false, null)), + 48122 => array(array(array('_route' => '_953'), array('a', 'b', 'c'), null, null, false, null)), + 48170 => array(array(array('_route' => '_975'), array('a', 'b', 'c'), null, null, false, null)), + 48220 => array(array(array('_route' => '_873'), array('a', 'b', 'c'), null, null, false, null)), + 48269 => array(array(array('_route' => '_936'), array('a', 'b', 'c'), null, null, false, null)), + 48318 => array(array(array('_route' => '_994'), array('a', 'b', 'c'), null, null, false, null)), + 48376 => array(array(array('_route' => '_562'), array('a', 'b', 'c'), null, null, false, null)), + 48424 => array(array(array('_route' => '_770'), array('a', 'b', 'c'), null, null, false, null)), + 48475 => array(array(array('_route' => '_774'), array('a', 'b', 'c'), null, null, false, null)), + 48522 => array(array(array('_route' => '_966'), array('a', 'b', 'c'), null, null, false, null)), + 48573 => array(array(array('_route' => '_582'), array('a', 'b', 'c'), null, null, false, null)), + 48625 => array(array(array('_route' => '_606'), array('a', 'b', 'c'), null, null, false, null)), + 48673 => array(array(array('_route' => '_648'), array('a', 'b', 'c'), null, null, false, null)), + 48723 => array(array(array('_route' => '_624'), array('a', 'b', 'c'), null, null, false, null)), + 48775 => array(array(array('_route' => '_626'), array('a', 'b', 'c'), null, null, false, null)), + 48823 => array(array(array('_route' => '_821'), array('a', 'b', 'c'), null, null, false, null)), + 48873 => array(array(array('_route' => '_628'), array('a', 'b', 'c'), null, null, false, null)), + 48922 => array(array(array('_route' => '_638'), array('a', 'b', 'c'), null, null, false, null)), + 48974 => array(array(array('_route' => '_640'), array('a', 'b', 'c'), null, null, false, null)), + 49022 => array(array(array('_route' => '_990'), array('a', 'b', 'c'), null, null, false, null)), + 49072 => array(array(array('_route' => '_705'), array('a', 'b', 'c'), null, null, false, null)), + 49121 => array(array(array('_route' => '_757'), array('a', 'b', 'c'), null, null, false, null)), + 49176 => array(array(array('_route' => '_785'), array('a', 'b', 'c'), null, null, false, null)), + 49223 => array(array(array('_route' => '_875'), array('a', 'b', 'c'), null, null, false, null)), + 49270 => array(array(array('_route' => '_894'), array('a', 'b', 'c'), null, null, false, null)), + 49319 => array(array(array('_route' => '_945'), array('a', 'b', 'c'), null, null, false, null)), + 49375 => array(array(array('_route' => '_816'), array('a', 'b', 'c'), null, null, false, null)), + 49422 => array(array(array('_route' => '_872'), array('a', 'b', 'c'), null, null, false, null)), + 49471 => array(array(array('_route' => '_921'), array('a', 'b', 'c'), null, null, false, null)), + 49519 => array(array(array('_route' => '_960'), array('a', 'b', 'c'), null, null, false, null)), + 49567 => array(array(array('_route' => '_974'), array('a', 'b', 'c'), null, null, false, null)), + 49620 => array(array(array('_route' => '_835'), array('a', 'b', 'c'), null, null, false, null)), + 49668 => array(array(array('_route' => '_934'), array('a', 'b', 'c'), null, null, false, null)), + 49718 => array(array(array('_route' => '_869'), array('a', 'b', 'c'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 54 => array(array('_route' => '_0'), array('a', 'b', 'c'), null, null), - 102 => array(array('_route' => '_190'), array('a', 'b', 'c'), null, null), - 147 => array(array('_route' => '_478'), array('a', 'b', 'c'), null, null), - 194 => array(array('_route' => '_259'), array('a', 'b', 'c'), null, null), - 240 => array(array('_route' => '_368'), array('a', 'b', 'c'), null, null), - 291 => array(array('_route' => '_1'), array('a', 'b', 'c'), null, null), - 337 => array(array('_route' => '_116'), array('a', 'b', 'c'), null, null), - 383 => array(array('_route' => '_490'), array('a', 'b', 'c'), null, null), - 434 => array(array('_route' => '_2'), array('a', 'b', 'c'), null, null), - 480 => array(array('_route' => '_124'), array('a', 'b', 'c'), null, null), - 526 => array(array('_route' => '_389'), array('a', 'b', 'c'), null, null), - 577 => array(array('_route' => '_8'), array('a', 'b', 'c'), null, null), - 623 => array(array('_route' => '_104'), array('a', 'b', 'c'), null, null), - 677 => array(array('_route' => '_12'), array('a', 'b', 'c'), null, null), - 722 => array(array('_route' => '_442'), array('a', 'b', 'c'), null, null), - 769 => array(array('_route' => '_253'), array('a', 'b', 'c'), null, null), - 820 => array(array('_route' => '_13'), array('a', 'b', 'c'), null, null), - 866 => array(array('_route' => '_254'), array('a', 'b', 'c'), null, null), - 912 => array(array('_route' => '_347'), array('a', 'b', 'c'), null, null), - 963 => array(array('_route' => '_16'), array('a', 'b', 'c'), null, null), - 1009 => array(array('_route' => '_87'), array('a', 'b', 'c'), null, null), - 1058 => array(array('_route' => '_31'), array('a', 'b', 'c'), null, null), - 1109 => array(array('_route' => '_50'), array('a', 'b', 'c'), null, null), - 1156 => array(array('_route' => '_219'), array('a', 'b', 'c'), null, null), - 1203 => array(array('_route' => '_332'), array('a', 'b', 'c'), null, null), - 1250 => array(array('_route' => '_359'), array('a', 'b', 'c'), null, null), - 1302 => array(array('_route' => '_183'), array('a', 'b', 'c'), null, null), - 1349 => array(array('_route' => '_500'), array('a', 'b', 'c'), null, null), - 1401 => array(array('_route' => '_214'), array('a', 'b', 'c'), null, null), - 1448 => array(array('_route' => '_321'), array('a', 'b', 'c'), null, null), - 1497 => array(array('_route' => '_243'), array('a', 'b', 'c'), null, null), - 1545 => array(array('_route' => '_328'), array('a', 'b', 'c'), null, null), - 1596 => array(array('_route' => '_362'), array('a', 'b', 'c'), null, null), - 1643 => array(array('_route' => '_488'), array('a', 'b', 'c'), null, null), - 1701 => array(array('_route' => '_3'), array('a', 'b', 'c'), null, null), - 1751 => array(array('_route' => '_102'), array('a', 'b', 'c'), null, null), - 1797 => array(array('_route' => '_220'), array('a', 'b', 'c'), null, null), - 1845 => array(array('_route' => '_127'), array('a', 'b', 'c'), null, null), - 1897 => array(array('_route' => '_5'), array('a', 'b', 'c'), null, null), - 1944 => array(array('_route' => '_242'), array('a', 'b', 'c'), null, null), - 1991 => array(array('_route' => '_397'), array('a', 'b', 'c'), null, null), - 2038 => array(array('_route' => '_454'), array('a', 'b', 'c'), null, null), - 2090 => array(array('_route' => '_34'), array('a', 'b', 'c'), null, null), - 2137 => array(array('_route' => '_281'), array('a', 'b', 'c'), null, null), - 2189 => array(array('_route' => '_64'), array('a', 'b', 'c'), null, null), - 2236 => array(array('_route' => '_205'), array('a', 'b', 'c'), null, null), - 2291 => array(array('_route' => '_71'), array('a', 'b', 'c'), null, null), - 2337 => array(array('_route' => '_203'), array('a', 'b', 'c'), null, null), - 2385 => array(array('_route' => '_97'), array('a', 'b', 'c'), null, null), - 2437 => array(array('_route' => '_98'), array('a', 'b', 'c'), null, null), - 2484 => array(array('_route' => '_267'), array('a', 'b', 'c'), null, null), - 2531 => array(array('_route' => '_309'), array('a', 'b', 'c'), null, null), - 2586 => array(array('_route' => '_117'), array('a', 'b', 'c'), null, null), - 2631 => array(array('_route' => '_211'), array('a', 'b', 'c'), null, null), - 2679 => array(array('_route' => '_484'), array('a', 'b', 'c'), null, null), - 2731 => array(array('_route' => '_139'), array('a', 'b', 'c'), null, null), - 2778 => array(array('_route' => '_421'), array('a', 'b', 'c'), null, null), - 2830 => array(array('_route' => '_185'), array('a', 'b', 'c'), null, null), - 2877 => array(array('_route' => '_439'), array('a', 'b', 'c'), null, null), - 2926 => array(array('_route' => '_218'), array('a', 'b', 'c'), null, null), - 2977 => array(array('_route' => '_233'), array('a', 'b', 'c'), null, null), - 3024 => array(array('_route' => '_483'), array('a', 'b', 'c'), null, null), - 3073 => array(array('_route' => '_265'), array('a', 'b', 'c'), null, null), - 3124 => array(array('_route' => '_299'), array('a', 'b', 'c'), null, null), - 3171 => array(array('_route' => '_351'), array('a', 'b', 'c'), null, null), - 3218 => array(array('_route' => '_472'), array('a', 'b', 'c'), null, null), - 3267 => array(array('_route' => '_360'), array('a', 'b', 'c'), null, null), - 3315 => array(array('_route' => '_466'), array('a', 'b', 'c'), null, null), - 3372 => array(array('_route' => '_4'), array('a', 'b', 'c'), null, null), - 3419 => array(array('_route' => '_142'), array('a', 'b', 'c'), null, null), - 3466 => array(array('_route' => '_151'), array('a', 'b', 'c'), null, null), - 3513 => array(array('_route' => '_308'), array('a', 'b', 'c'), null, null), - 3560 => array(array('_route' => '_440'), array('a', 'b', 'c'), null, null), - 3612 => array(array('_route' => '_14'), array('a', 'b', 'c'), null, null), - 3659 => array(array('_route' => '_358'), array('a', 'b', 'c'), null, null), - 3711 => array(array('_route' => '_37'), array('a', 'b', 'c'), null, null), - 3758 => array(array('_route' => '_38'), array('a', 'b', 'c'), null, null), - 3805 => array(array('_route' => '_146'), array('a', 'b', 'c'), null, null), - 3852 => array(array('_route' => '_194'), array('a', 'b', 'c'), null, null), - 3899 => array(array('_route' => '_487'), array('a', 'b', 'c'), null, null), - 3948 => array(array('_route' => '_42'), array('a', 'b', 'c'), null, null), - 3999 => array(array('_route' => '_54'), array('a', 'b', 'c'), null, null), - 4046 => array(array('_route' => '_326'), array('a', 'b', 'c'), null, null), - 4098 => array(array('_route' => '_68'), array('a', 'b', 'c'), null, null), - 4145 => array(array('_route' => '_108'), array('a', 'b', 'c'), null, null), - 4197 => array(array('_route' => '_74'), array('a', 'b', 'c'), null, null), - 4244 => array(array('_route' => '_315'), array('a', 'b', 'c'), null, null), - 4291 => array(array('_route' => '_374'), array('a', 'b', 'c'), null, null), - 4343 => array(array('_route' => '_99'), array('a', 'b', 'c'), null, null), - 4390 => array(array('_route' => '_238'), array('a', 'b', 'c'), null, null), - 4442 => array(array('_route' => '_107'), array('a', 'b', 'c'), null, null), - 4489 => array(array('_route' => '_409'), array('a', 'b', 'c'), null, null), - 4541 => array(array('_route' => '_122'), array('a', 'b', 'c'), null, null), - 4588 => array(array('_route' => '_379'), array('a', 'b', 'c'), null, null), - 4635 => array(array('_route' => '_390'), array('a', 'b', 'c'), null, null), - 4687 => array(array('_route' => '_171'), array('a', 'b', 'c'), null, null), - 4734 => array(array('_route' => '_260'), array('a', 'b', 'c'), null, null), - 4781 => array(array('_route' => '_434'), array('a', 'b', 'c'), null, null), - 4830 => array(array('_route' => '_189'), array('a', 'b', 'c'), null, null), - 4878 => array(array('_route' => '_467'), array('a', 'b', 'c'), null, null), - 4935 => array(array('_route' => '_6'), array('a', 'b', 'c'), null, null), - 4982 => array(array('_route' => '_286'), array('a', 'b', 'c'), null, null), - 5029 => array(array('_route' => '_438'), array('a', 'b', 'c'), null, null), - 5081 => array(array('_route' => '_19'), array('a', 'b', 'c'), null, null), - 5131 => array(array('_route' => '_24'), array('a', 'b', 'c'), null, null), - 5177 => array(array('_route' => '_172'), array('a', 'b', 'c'), null, null), - 5230 => array(array('_route' => '_33'), array('a', 'b', 'c'), null, null), - 5277 => array(array('_route' => '_400'), array('a', 'b', 'c'), null, null), - 5324 => array(array('_route' => '_427'), array('a', 'b', 'c'), null, null), - 5376 => array(array('_route' => '_35'), array('a', 'b', 'c'), null, null), - 5423 => array(array('_route' => '_156'), array('a', 'b', 'c'), null, null), - 5475 => array(array('_route' => '_36'), array('a', 'b', 'c'), null, null), - 5522 => array(array('_route' => '_251'), array('a', 'b', 'c'), null, null), - 5574 => array(array('_route' => '_43'), array('a', 'b', 'c'), null, null), - 5621 => array(array('_route' => '_292'), array('a', 'b', 'c'), null, null), - 5668 => array(array('_route' => '_411'), array('a', 'b', 'c'), null, null), - 5720 => array(array('_route' => '_69'), array('a', 'b', 'c'), null, null), - 5767 => array(array('_route' => '_159'), array('a', 'b', 'c'), null, null), - 5814 => array(array('_route' => '_170'), array('a', 'b', 'c'), null, null), - 5861 => array(array('_route' => '_376'), array('a', 'b', 'c'), null, null), - 5913 => array(array('_route' => '_131'), array('a', 'b', 'c'), null, null), - 5960 => array(array('_route' => '_446'), array('a', 'b', 'c'), null, null), - 6015 => array(array('_route' => '_140'), array('a', 'b', 'c'), null, null), - 6061 => array(array('_route' => '_353'), array('a', 'b', 'c'), null, null), - 6112 => array(array('_route' => '_224'), array('a', 'b', 'c'), null, null), - 6158 => array(array('_route' => '_346'), array('a', 'b', 'c'), null, null), - 6204 => array(array('_route' => '_443'), array('a', 'b', 'c'), null, null), - 6254 => array(array('_route' => '_154'), array('a', 'b', 'c'), null, null), - 6305 => array(array('_route' => '_212'), array('a', 'b', 'c'), null, null), - 6352 => array(array('_route' => '_313'), array('a', 'b', 'c'), null, null), - 6399 => array(array('_route' => '_395'), array('a', 'b', 'c'), null, null), - 6446 => array(array('_route' => '_441'), array('a', 'b', 'c'), null, null), - 6498 => array(array('_route' => '_223'), array('a', 'b', 'c'), null, null), - 6545 => array(array('_route' => '_303'), array('a', 'b', 'c'), null, null), - 6594 => array(array('_route' => '_410'), array('a', 'b', 'c'), null, null), - 6642 => array(array('_route' => '_494'), array('a', 'b', 'c'), null, null), - 6702 => array(array('_route' => '_7'), array('a', 'b', 'c'), null, null), - 6748 => array(array('_route' => '_268'), array('a', 'b', 'c'), null, null), - 6796 => array(array('_route' => '_178'), array('a', 'b', 'c'), null, null), - 6843 => array(array('_route' => '_179'), array('a', 'b', 'c'), null, null), - 6890 => array(array('_route' => '_416'), array('a', 'b', 'c'), null, null), - 6942 => array(array('_route' => '_25'), array('a', 'b', 'c'), null, null), - 6989 => array(array('_route' => '_307'), array('a', 'b', 'c'), null, null), - 7036 => array(array('_route' => '_387'), array('a', 'b', 'c'), null, null), - 7083 => array(array('_route' => '_471'), array('a', 'b', 'c'), null, null), - 7132 => array(array('_route' => '_90'), array('a', 'b', 'c'), null, null), - 7183 => array(array('_route' => '_95'), array('a', 'b', 'c'), null, null), - 7230 => array(array('_route' => '_338'), array('a', 'b', 'c'), null, null), - 7277 => array(array('_route' => '_401'), array('a', 'b', 'c'), null, null), - 7329 => array(array('_route' => '_147'), array('a', 'b', 'c'), null, null), - 7376 => array(array('_route' => '_319'), array('a', 'b', 'c'), null, null), - 7423 => array(array('_route' => '_354'), array('a', 'b', 'c'), null, null), - 7470 => array(array('_route' => '_428'), array('a', 'b', 'c'), null, null), - 7522 => array(array('_route' => '_162'), array('a', 'b', 'c'), null, null), - 7572 => array(array('_route' => '_175'), array('a', 'b', 'c'), null, null), - 7618 => array(array('_route' => '_455'), array('a', 'b', 'c'), null, null), - 7666 => array(array('_route' => '_355'), array('a', 'b', 'c'), null, null), - 7718 => array(array('_route' => '_197'), array('a', 'b', 'c'), null, null), - 7768 => array(array('_route' => '_202'), array('a', 'b', 'c'), null, null), - 7813 => array(array('_route' => '_489'), array('a', 'b', 'c'), null, null), - 7863 => array(array('_route' => '_199'), array('a', 'b', 'c'), null, null), - 7914 => array(array('_route' => '_263'), array('a', 'b', 'c'), null, null), - 7961 => array(array('_route' => '_406'), array('a', 'b', 'c'), null, null), - 8010 => array(array('_route' => '_289'), array('a', 'b', 'c'), null, null), - 8058 => array(array('_route' => '_325'), array('a', 'b', 'c'), null, null), - 8106 => array(array('_route' => '_378'), array('a', 'b', 'c'), null, null), - 8154 => array(array('_route' => '_468'), array('a', 'b', 'c'), null, null), - 8211 => array(array('_route' => '_9'), array('a', 'b', 'c'), null, null), - 8258 => array(array('_route' => '_216'), array('a', 'b', 'c'), null, null), - 8307 => array(array('_route' => '_26'), array('a', 'b', 'c'), null, null), - 8355 => array(array('_route' => '_62'), array('a', 'b', 'c'), null, null), - 8406 => array(array('_route' => '_81'), array('a', 'b', 'c'), null, null), - 8453 => array(array('_route' => '_318'), array('a', 'b', 'c'), null, null), - 8505 => array(array('_route' => '_121'), array('a', 'b', 'c'), null, null), - 8551 => array(array('_route' => '_182'), array('a', 'b', 'c'), null, null), - 8603 => array(array('_route' => '_136'), array('a', 'b', 'c'), null, null), - 8650 => array(array('_route' => '_415'), array('a', 'b', 'c'), null, null), - 8697 => array(array('_route' => '_457'), array('a', 'b', 'c'), null, null), - 8744 => array(array('_route' => '_463'), array('a', 'b', 'c'), null, null), - 8796 => array(array('_route' => '_148'), array('a', 'b', 'c'), null, null), - 8843 => array(array('_route' => '_273'), array('a', 'b', 'c'), null, null), - 8892 => array(array('_route' => '_284'), array('a', 'b', 'c'), null, null), - 8940 => array(array('_route' => '_288'), array('a', 'b', 'c'), null, null), - 8991 => array(array('_route' => '_295'), array('a', 'b', 'c'), null, null), - 9038 => array(array('_route' => '_305'), array('a', 'b', 'c'), null, null), - 9085 => array(array('_route' => '_453'), array('a', 'b', 'c'), null, null), - 9134 => array(array('_route' => '_340'), array('a', 'b', 'c'), null, null), - 9185 => array(array('_route' => '_371'), array('a', 'b', 'c'), null, null), - 9232 => array(array('_route' => '_417'), array('a', 'b', 'c'), null, null), - 9284 => array(array('_route' => '_382'), array('a', 'b', 'c'), null, null), - 9331 => array(array('_route' => '_404'), array('a', 'b', 'c'), null, null), - 9389 => array(array('_route' => '_10'), array('a', 'b', 'c'), null, null), - 9436 => array(array('_route' => '_279'), array('a', 'b', 'c'), null, null), - 9483 => array(array('_route' => '_377'), array('a', 'b', 'c'), null, null), - 9535 => array(array('_route' => '_39'), array('a', 'b', 'c'), null, null), - 9582 => array(array('_route' => '_40'), array('a', 'b', 'c'), null, null), - 9629 => array(array('_route' => '_264'), array('a', 'b', 'c'), null, null), - 9676 => array(array('_route' => '_449'), array('a', 'b', 'c'), null, null), - 9728 => array(array('_route' => '_46'), array('a', 'b', 'c'), null, null), - 9775 => array(array('_route' => '_257'), array('a', 'b', 'c'), null, null), - 9822 => array(array('_route' => '_274'), array('a', 'b', 'c'), null, null), - 9869 => array(array('_route' => '_388'), array('a', 'b', 'c'), null, null), - 9921 => array(array('_route' => '_53'), array('a', 'b', 'c'), null, null), - 9968 => array(array('_route' => '_345'), array('a', 'b', 'c'), null, null), - 10020 => array(array('_route' => '_73'), array('a', 'b', 'c'), null, null), - 10068 => array(array('_route' => '_296'), array('a', 'b', 'c'), null, null), - 10121 => array(array('_route' => '_75'), array('a', 'b', 'c'), null, null), - 10169 => array(array('_route' => '_458'), array('a', 'b', 'c'), null, null), - 10225 => array(array('_route' => '_79'), array('a', 'b', 'c'), null, null), - 10272 => array(array('_route' => '_129'), array('a', 'b', 'c'), null, null), - 10319 => array(array('_route' => '_418'), array('a', 'b', 'c'), null, null), - 10368 => array(array('_route' => '_225'), array('a', 'b', 'c'), null, null), - 10416 => array(array('_route' => '_479'), array('a', 'b', 'c'), null, null), - 10466 => array(array('_route' => '_120'), array('a', 'b', 'c'), null, null), - 10515 => array(array('_route' => '_276'), array('a', 'b', 'c'), null, null), - 10564 => array(array('_route' => '_370'), array('a', 'b', 'c'), null, null), - 10616 => array(array('_route' => '_385'), array('a', 'b', 'c'), null, null), - 10664 => array(array('_route' => '_469'), array('a', 'b', 'c'), null, null), - 10714 => array(array('_route' => '_435'), array('a', 'b', 'c'), null, null), - 10772 => array(array('_route' => '_11'), array('a', 'b', 'c'), null, null), - 10820 => array(array('_route' => '_105'), array('a', 'b', 'c'), null, null), - 10868 => array(array('_route' => '_132'), array('a', 'b', 'c'), null, null), - 10921 => array(array('_route' => '_18'), array('a', 'b', 'c'), null, null), - 10969 => array(array('_route' => '_210'), array('a', 'b', 'c'), null, null), - 11017 => array(array('_route' => '_329'), array('a', 'b', 'c'), null, null), - 11073 => array(array('_route' => '_29'), array('a', 'b', 'c'), null, null), - 11120 => array(array('_route' => '_480'), array('a', 'b', 'c'), null, null), - 11169 => array(array('_route' => '_426'), array('a', 'b', 'c'), null, null), - 11222 => array(array('_route' => '_32'), array('a', 'b', 'c'), null, null), - 11270 => array(array('_route' => '_217'), array('a', 'b', 'c'), null, null), - 11318 => array(array('_route' => '_275'), array('a', 'b', 'c'), null, null), - 11371 => array(array('_route' => '_45'), array('a', 'b', 'c'), null, null), - 11419 => array(array('_route' => '_157'), array('a', 'b', 'c'), null, null), - 11467 => array(array('_route' => '_184'), array('a', 'b', 'c'), null, null), - 11515 => array(array('_route' => '_250'), array('a', 'b', 'c'), null, null), - 11563 => array(array('_route' => '_356'), array('a', 'b', 'c'), null, null), - 11616 => array(array('_route' => '_47'), array('a', 'b', 'c'), null, null), - 11664 => array(array('_route' => '_445'), array('a', 'b', 'c'), null, null), - 11714 => array(array('_route' => '_48'), array('a', 'b', 'c'), null, null), - 11766 => array(array('_route' => '_58'), array('a', 'b', 'c'), null, null), - 11814 => array(array('_route' => '_414'), array('a', 'b', 'c'), null, null), - 11862 => array(array('_route' => '_431'), array('a', 'b', 'c'), null, null), - 11915 => array(array('_route' => '_84'), array('a', 'b', 'c'), null, null), - 11963 => array(array('_route' => '_294'), array('a', 'b', 'c'), null, null), - 12011 => array(array('_route' => '_336'), array('a', 'b', 'c'), null, null), - 12059 => array(array('_route' => '_465'), array('a', 'b', 'c'), null, null), - 12112 => array(array('_route' => '_103'), array('a', 'b', 'c'), null, null), - 12160 => array(array('_route' => '_111'), array('a', 'b', 'c'), null, null), - 12208 => array(array('_route' => '_207'), array('a', 'b', 'c'), null, null), - 12256 => array(array('_route' => '_402'), array('a', 'b', 'c'), null, null), - 12309 => array(array('_route' => '_230'), array('a', 'b', 'c'), null, null), - 12356 => array(array('_route' => '_331'), array('a', 'b', 'c'), null, null), - 12406 => array(array('_route' => '_248'), array('a', 'b', 'c'), null, null), - 12455 => array(array('_route' => '_282'), array('a', 'b', 'c'), null, null), - 12513 => array(array('_route' => '_15'), array('a', 'b', 'c'), null, null), - 12561 => array(array('_route' => '_130'), array('a', 'b', 'c'), null, null), - 12609 => array(array('_route' => '_231'), array('a', 'b', 'c'), null, null), - 12657 => array(array('_route' => '_365'), array('a', 'b', 'c'), null, null), - 12705 => array(array('_route' => '_448'), array('a', 'b', 'c'), null, null), - 12758 => array(array('_route' => '_20'), array('a', 'b', 'c'), null, null), - 12806 => array(array('_route' => '_93'), array('a', 'b', 'c'), null, null), - 12854 => array(array('_route' => '_186'), array('a', 'b', 'c'), null, null), - 12902 => array(array('_route' => '_460'), array('a', 'b', 'c'), null, null), - 12955 => array(array('_route' => '_52'), array('a', 'b', 'c'), null, null), - 13003 => array(array('_route' => '_447'), array('a', 'b', 'c'), null, null), - 13056 => array(array('_route' => '_56'), array('a', 'b', 'c'), null, null), - 13104 => array(array('_route' => '_133'), array('a', 'b', 'c'), null, null), - 13152 => array(array('_route' => '_297'), array('a', 'b', 'c'), null, null), - 13205 => array(array('_route' => '_82'), array('a', 'b', 'c'), null, null), - 13253 => array(array('_route' => '_165'), array('a', 'b', 'c'), null, null), - 13301 => array(array('_route' => '_213'), array('a', 'b', 'c'), null, null), - 13351 => array(array('_route' => '_86'), array('a', 'b', 'c'), null, null), - 13403 => array(array('_route' => '_92'), array('a', 'b', 'c'), null, null), - 13450 => array(array('_route' => '_280'), array('a', 'b', 'c'), null, null), - 13500 => array(array('_route' => '_143'), array('a', 'b', 'c'), null, null), - 13549 => array(array('_route' => '_177'), array('a', 'b', 'c'), null, null), - 13601 => array(array('_route' => '_188'), array('a', 'b', 'c'), null, null), - 13649 => array(array('_route' => '_311'), array('a', 'b', 'c'), null, null), - 13697 => array(array('_route' => '_350'), array('a', 'b', 'c'), null, null), - 13750 => array(array('_route' => '_226'), array('a', 'b', 'c'), null, null), - 13798 => array(array('_route' => '_291'), array('a', 'b', 'c'), null, null), - 13851 => array(array('_route' => '_244'), array('a', 'b', 'c'), null, null), - 13898 => array(array('_route' => '_287'), array('a', 'b', 'c'), null, null), - 13951 => array(array('_route' => '_300'), array('a', 'b', 'c'), null, null), - 13999 => array(array('_route' => '_451'), array('a', 'b', 'c'), null, null), - 14047 => array(array('_route' => '_452'), array('a', 'b', 'c'), null, null), - 14095 => array(array('_route' => '_481'), array('a', 'b', 'c'), null, null), - 14145 => array(array('_route' => '_312'), array('a', 'b', 'c'), null, null), - 14203 => array(array('_route' => '_17'), array('a', 'b', 'c'), null, null), - 14251 => array(array('_route' => '_227'), array('a', 'b', 'c'), null, null), - 14299 => array(array('_route' => '_393'), array('a', 'b', 'c'), null, null), - 14349 => array(array('_route' => '_57'), array('a', 'b', 'c'), null, null), - 14401 => array(array('_route' => '_61'), array('a', 'b', 'c'), null, null), - 14449 => array(array('_route' => '_112'), array('a', 'b', 'c'), null, null), - 14500 => array(array('_route' => '_135'), array('a', 'b', 'c'), null, null), - 14547 => array(array('_route' => '_271'), array('a', 'b', 'c'), null, null), - 14596 => array(array('_route' => '_459'), array('a', 'b', 'c'), null, null), - 14649 => array(array('_route' => '_67'), array('a', 'b', 'c'), null, null), - 14697 => array(array('_route' => '_113'), array('a', 'b', 'c'), null, null), - 14745 => array(array('_route' => '_497'), array('a', 'b', 'c'), null, null), - 14795 => array(array('_route' => '_70'), array('a', 'b', 'c'), null, null), - 14847 => array(array('_route' => '_89'), array('a', 'b', 'c'), null, null), - 14895 => array(array('_route' => '_128'), array('a', 'b', 'c'), null, null), - 14948 => array(array('_route' => '_150'), array('a', 'b', 'c'), null, null), - 14996 => array(array('_route' => '_166'), array('a', 'b', 'c'), null, null), - 15047 => array(array('_route' => '_206'), array('a', 'b', 'c'), null, null), - 15094 => array(array('_route' => '_419'), array('a', 'b', 'c'), null, null), - 15148 => array(array('_route' => '_201'), array('a', 'b', 'c'), null, null), - 15196 => array(array('_route' => '_314'), array('a', 'b', 'c'), null, null), - 15244 => array(array('_route' => '_429'), array('a', 'b', 'c'), null, null), - 15297 => array(array('_route' => '_228'), array('a', 'b', 'c'), null, null), - 15345 => array(array('_route' => '_477'), array('a', 'b', 'c'), null, null), - 15395 => array(array('_route' => '_272'), array('a', 'b', 'c'), null, null), - 15444 => array(array('_route' => '_486'), array('a', 'b', 'c'), null, null), - 15502 => array(array('_route' => '_21'), array('a', 'b', 'c'), null, null), - 15550 => array(array('_route' => '_247'), array('a', 'b', 'c'), null, null), - 15598 => array(array('_route' => '_424'), array('a', 'b', 'c'), null, null), - 15646 => array(array('_route' => '_499'), array('a', 'b', 'c'), null, null), - 15699 => array(array('_route' => '_23'), array('a', 'b', 'c'), null, null), - 15747 => array(array('_route' => '_152'), array('a', 'b', 'c'), null, null), - 15795 => array(array('_route' => '_304'), array('a', 'b', 'c'), null, null), - 15843 => array(array('_route' => '_352'), array('a', 'b', 'c'), null, null), - 15896 => array(array('_route' => '_28'), array('a', 'b', 'c'), null, null), - 15944 => array(array('_route' => '_240'), array('a', 'b', 'c'), null, null), - 16000 => array(array('_route' => '_30'), array('a', 'b', 'c'), null, null), - 16047 => array(array('_route' => '_41'), array('a', 'b', 'c'), null, null), - 16096 => array(array('_route' => '_301'), array('a', 'b', 'c'), null, null), - 16149 => array(array('_route' => '_66'), array('a', 'b', 'c'), null, null), - 16197 => array(array('_route' => '_72'), array('a', 'b', 'c'), null, null), - 16245 => array(array('_route' => '_320'), array('a', 'b', 'c'), null, null), - 16298 => array(array('_route' => '_78'), array('a', 'b', 'c'), null, null), - 16346 => array(array('_route' => '_337'), array('a', 'b', 'c'), null, null), - 16394 => array(array('_route' => '_399'), array('a', 'b', 'c'), null, null), - 16442 => array(array('_route' => '_495'), array('a', 'b', 'c'), null, null), - 16492 => array(array('_route' => '_85'), array('a', 'b', 'c'), null, null), - 16544 => array(array('_route' => '_101'), array('a', 'b', 'c'), null, null), - 16592 => array(array('_route' => '_176'), array('a', 'b', 'c'), null, null), - 16640 => array(array('_route' => '_246'), array('a', 'b', 'c'), null, null), - 16693 => array(array('_route' => '_125'), array('a', 'b', 'c'), null, null), - 16741 => array(array('_route' => '_341'), array('a', 'b', 'c'), null, null), - 16794 => array(array('_route' => '_137'), array('a', 'b', 'c'), null, null), - 16842 => array(array('_route' => '_270'), array('a', 'b', 'c'), null, null), - 16890 => array(array('_route' => '_386'), array('a', 'b', 'c'), null, null), - 16943 => array(array('_route' => '_169'), array('a', 'b', 'c'), null, null), - 16991 => array(array('_route' => '_200'), array('a', 'b', 'c'), null, null), - 17039 => array(array('_route' => '_262'), array('a', 'b', 'c'), null, null), - 17092 => array(array('_route' => '_187'), array('a', 'b', 'c'), null, null), - 17140 => array(array('_route' => '_333'), array('a', 'b', 'c'), null, null), - 17190 => array(array('_route' => '_215'), array('a', 'b', 'c'), null, null), - 17239 => array(array('_route' => '_316'), array('a', 'b', 'c'), null, null), - 17288 => array(array('_route' => '_343'), array('a', 'b', 'c'), null, null), - 17346 => array(array('_route' => '_22'), array('a', 'b', 'c'), null, null), - 17394 => array(array('_route' => '_420'), array('a', 'b', 'c'), null, null), - 17447 => array(array('_route' => '_55'), array('a', 'b', 'c'), null, null), - 17494 => array(array('_route' => '_496'), array('a', 'b', 'c'), null, null), - 17547 => array(array('_route' => '_153'), array('a', 'b', 'c'), null, null), - 17595 => array(array('_route' => '_344'), array('a', 'b', 'c'), null, null), - 17648 => array(array('_route' => '_160'), array('a', 'b', 'c'), null, null), - 17696 => array(array('_route' => '_398'), array('a', 'b', 'c'), null, null), - 17749 => array(array('_route' => '_161'), array('a', 'b', 'c'), null, null), - 17797 => array(array('_route' => '_193'), array('a', 'b', 'c'), null, null), - 17847 => array(array('_route' => '_174'), array('a', 'b', 'c'), null, null), - 17899 => array(array('_route' => '_209'), array('a', 'b', 'c'), null, null), - 17947 => array(array('_route' => '_261'), array('a', 'b', 'c'), null, null), - 18000 => array(array('_route' => '_222'), array('a', 'b', 'c'), null, null), - 18048 => array(array('_route' => '_323'), array('a', 'b', 'c'), null, null), - 18096 => array(array('_route' => '_380'), array('a', 'b', 'c'), null, null), - 18149 => array(array('_route' => '_232'), array('a', 'b', 'c'), null, null), - 18197 => array(array('_route' => '_383'), array('a', 'b', 'c'), null, null), - 18247 => array(array('_route' => '_306'), array('a', 'b', 'c'), null, null), - 18296 => array(array('_route' => '_327'), array('a', 'b', 'c'), null, null), - 18345 => array(array('_route' => '_364'), array('a', 'b', 'c'), null, null), - 18397 => array(array('_route' => '_403'), array('a', 'b', 'c'), null, null), - 18445 => array(array('_route' => '_405'), array('a', 'b', 'c'), null, null), - 18495 => array(array('_route' => '_412'), array('a', 'b', 'c'), null, null), - 18553 => array(array('_route' => '_27'), array('a', 'b', 'c'), null, null), - 18601 => array(array('_route' => '_134'), array('a', 'b', 'c'), null, null), - 18649 => array(array('_route' => '_245'), array('a', 'b', 'c'), null, null), - 18702 => array(array('_route' => '_59'), array('a', 'b', 'c'), null, null), - 18750 => array(array('_route' => '_208'), array('a', 'b', 'c'), null, null), - 18803 => array(array('_route' => '_60'), array('a', 'b', 'c'), null, null), - 18851 => array(array('_route' => '_119'), array('a', 'b', 'c'), null, null), - 18902 => array(array('_route' => '_163'), array('a', 'b', 'c'), null, null), - 18949 => array(array('_route' => '_249'), array('a', 'b', 'c'), null, null), - 18998 => array(array('_route' => '_278'), array('a', 'b', 'c'), null, null), - 19051 => array(array('_route' => '_63'), array('a', 'b', 'c'), null, null), - 19099 => array(array('_route' => '_195'), array('a', 'b', 'c'), null, null), - 19147 => array(array('_route' => '_252'), array('a', 'b', 'c'), null, null), - 19195 => array(array('_route' => '_461'), array('a', 'b', 'c'), null, null), - 19248 => array(array('_route' => '_126'), array('a', 'b', 'c'), null, null), - 19296 => array(array('_route' => '_158'), array('a', 'b', 'c'), null, null), - 19344 => array(array('_route' => '_221'), array('a', 'b', 'c'), null, null), - 19392 => array(array('_route' => '_269'), array('a', 'b', 'c'), null, null), - 19440 => array(array('_route' => '_310'), array('a', 'b', 'c'), null, null), - 19496 => array(array('_route' => '_138'), array('a', 'b', 'c'), null, null), - 19543 => array(array('_route' => '_348'), array('a', 'b', 'c'), null, null), - 19592 => array(array('_route' => '_236'), array('a', 'b', 'c'), null, null), - 19640 => array(array('_route' => '_433'), array('a', 'b', 'c'), null, null), - 19693 => array(array('_route' => '_141'), array('a', 'b', 'c'), null, null), - 19741 => array(array('_route' => '_283'), array('a', 'b', 'c'), null, null), - 19794 => array(array('_route' => '_144'), array('a', 'b', 'c'), null, null), - 19842 => array(array('_route' => '_191'), array('a', 'b', 'c'), null, null), - 19895 => array(array('_route' => '_168'), array('a', 'b', 'c'), null, null), - 19943 => array(array('_route' => '_363'), array('a', 'b', 'c'), null, null), - 19991 => array(array('_route' => '_381'), array('a', 'b', 'c'), null, null), - 20044 => array(array('_route' => '_180'), array('a', 'b', 'c'), null, null), - 20092 => array(array('_route' => '_339'), array('a', 'b', 'c'), null, null), - 20142 => array(array('_route' => '_196'), array('a', 'b', 'c'), null, null), - 20194 => array(array('_route' => '_198'), array('a', 'b', 'c'), null, null), - 20242 => array(array('_route' => '_285'), array('a', 'b', 'c'), null, null), - 20292 => array(array('_route' => '_349'), array('a', 'b', 'c'), null, null), - 20344 => array(array('_route' => '_367'), array('a', 'b', 'c'), null, null), - 20392 => array(array('_route' => '_384'), array('a', 'b', 'c'), null, null), - 20440 => array(array('_route' => '_498'), array('a', 'b', 'c'), null, null), - 20490 => array(array('_route' => '_369'), array('a', 'b', 'c'), null, null), - 20542 => array(array('_route' => '_408'), array('a', 'b', 'c'), null, null), - 20590 => array(array('_route' => '_413'), array('a', 'b', 'c'), null, null), - 20652 => array(array('_route' => '_44'), array('a', 'b', 'c'), null, null), - 20699 => array(array('_route' => '_256'), array('a', 'b', 'c'), null, null), - 20748 => array(array('_route' => '_173'), array('a', 'b', 'c'), null, null), - 20796 => array(array('_route' => '_266'), array('a', 'b', 'c'), null, null), - 20844 => array(array('_route' => '_392'), array('a', 'b', 'c'), null, null), - 20892 => array(array('_route' => '_430'), array('a', 'b', 'c'), null, null), - 20940 => array(array('_route' => '_482'), array('a', 'b', 'c'), null, null), - 20993 => array(array('_route' => '_49'), array('a', 'b', 'c'), null, null), - 21041 => array(array('_route' => '_94'), array('a', 'b', 'c'), null, null), - 21089 => array(array('_route' => '_407'), array('a', 'b', 'c'), null, null), - 21142 => array(array('_route' => '_65'), array('a', 'b', 'c'), null, null), - 21190 => array(array('_route' => '_181'), array('a', 'b', 'c'), null, null), - 21238 => array(array('_route' => '_437'), array('a', 'b', 'c'), null, null), - 21291 => array(array('_route' => '_76'), array('a', 'b', 'c'), null, null), - 21339 => array(array('_route' => '_357'), array('a', 'b', 'c'), null, null), - 21392 => array(array('_route' => '_80'), array('a', 'b', 'c'), null, null), - 21440 => array(array('_route' => '_106'), array('a', 'b', 'c'), null, null), - 21493 => array(array('_route' => '_83'), array('a', 'b', 'c'), null, null), - 21541 => array(array('_route' => '_255'), array('a', 'b', 'c'), null, null), - 21589 => array(array('_route' => '_330'), array('a', 'b', 'c'), null, null), - 21642 => array(array('_route' => '_100'), array('a', 'b', 'c'), null, null), - 21690 => array(array('_route' => '_396'), array('a', 'b', 'c'), null, null), - 21738 => array(array('_route' => '_422'), array('a', 'b', 'c'), null, null), - 21791 => array(array('_route' => '_149'), array('a', 'b', 'c'), null, null), - 21839 => array(array('_route' => '_324'), array('a', 'b', 'c'), null, null), - 21892 => array(array('_route' => '_164'), array('a', 'b', 'c'), null, null), - 21940 => array(array('_route' => '_423'), array('a', 'b', 'c'), null, null), - 21990 => array(array('_route' => '_241'), array('a', 'b', 'c'), null, null), - 22042 => array(array('_route' => '_290'), array('a', 'b', 'c'), null, null), - 22090 => array(array('_route' => '_335'), array('a', 'b', 'c'), null, null), - 22140 => array(array('_route' => '_373'), array('a', 'b', 'c'), null, null), - 22189 => array(array('_route' => '_375'), array('a', 'b', 'c'), null, null), - 22238 => array(array('_route' => '_450'), array('a', 'b', 'c'), null, null), - 22287 => array(array('_route' => '_464'), array('a', 'b', 'c'), null, null), - 22345 => array(array('_route' => '_51'), array('a', 'b', 'c'), null, null), - 22393 => array(array('_route' => '_77'), array('a', 'b', 'c'), null, null), - 22441 => array(array('_route' => '_234'), array('a', 'b', 'c'), null, null), - 22489 => array(array('_route' => '_394'), array('a', 'b', 'c'), null, null), - 22542 => array(array('_route' => '_88'), array('a', 'b', 'c'), null, null), - 22590 => array(array('_route' => '_155'), array('a', 'b', 'c'), null, null), - 22643 => array(array('_route' => '_96'), array('a', 'b', 'c'), null, null), - 22691 => array(array('_route' => '_298'), array('a', 'b', 'c'), null, null), - 22739 => array(array('_route' => '_470'), array('a', 'b', 'c'), null, null), - 22792 => array(array('_route' => '_109'), array('a', 'b', 'c'), null, null), - 22840 => array(array('_route' => '_204'), array('a', 'b', 'c'), null, null), - 22893 => array(array('_route' => '_115'), array('a', 'b', 'c'), null, null), - 22941 => array(array('_route' => '_145'), array('a', 'b', 'c'), null, null), - 22994 => array(array('_route' => '_123'), array('a', 'b', 'c'), null, null), - 23042 => array(array('_route' => '_277'), array('a', 'b', 'c'), null, null), - 23090 => array(array('_route' => '_473'), array('a', 'b', 'c'), null, null), - 23143 => array(array('_route' => '_334'), array('a', 'b', 'c'), null, null), - 23191 => array(array('_route' => '_493'), array('a', 'b', 'c'), null, null), - 23244 => array(array('_route' => '_372'), array('a', 'b', 'c'), null, null), - 23292 => array(array('_route' => '_432'), array('a', 'b', 'c'), null, null), - 23340 => array(array('_route' => '_436'), array('a', 'b', 'c'), null, null), - 23393 => array(array('_route' => '_425'), array('a', 'b', 'c'), null, null), - 23441 => array(array('_route' => '_456'), array('a', 'b', 'c'), null, null), - 23489 => array(array('_route' => '_474'), array('a', 'b', 'c'), null, null), - 23539 => array(array('_route' => '_485'), array('a', 'b', 'c'), null, null), - 23594 => array(array('_route' => '_91'), array('a', 'b', 'c'), null, null), - 23646 => array(array('_route' => '_110'), array('a', 'b', 'c'), null, null), - 23694 => array(array('_route' => '_114'), array('a', 'b', 'c'), null, null), - 23750 => array(array('_route' => '_118'), array('a', 'b', 'c'), null, null), - 23796 => array(array('_route' => '_475'), array('a', 'b', 'c'), null, null), - 23844 => array(array('_route' => '_366'), array('a', 'b', 'c'), null, null), - 23897 => array(array('_route' => '_167'), array('a', 'b', 'c'), null, null), - 23945 => array(array('_route' => '_192'), array('a', 'b', 'c'), null, null), - 23993 => array(array('_route' => '_342'), array('a', 'b', 'c'), null, null), - 24046 => array(array('_route' => '_229'), array('a', 'b', 'c'), null, null), - 24097 => array(array('_route' => '_235'), array('a', 'b', 'c'), null, null), - 24144 => array(array('_route' => '_302'), array('a', 'b', 'c'), null, null), - 24193 => array(array('_route' => '_322'), array('a', 'b', 'c'), null, null), - 24246 => array(array('_route' => '_237'), array('a', 'b', 'c'), null, null), - 24294 => array(array('_route' => '_293'), array('a', 'b', 'c'), null, null), - 24347 => array(array('_route' => '_239'), array('a', 'b', 'c'), null, null), - 24395 => array(array('_route' => '_444'), array('a', 'b', 'c'), null, null), - 24443 => array(array('_route' => '_491'), array('a', 'b', 'c'), null, null), - 24491 => array(array('_route' => '_492'), array('a', 'b', 'c'), null, null), - 24541 => array(array('_route' => '_258'), array('a', 'b', 'c'), null, null), - 24590 => array(array('_route' => '_317'), array('a', 'b', 'c'), null, null), - 24639 => array(array('_route' => '_361'), array('a', 'b', 'c'), null, null), - 24688 => array(array('_route' => '_391'), array('a', 'b', 'c'), null, null), - 24737 => array(array('_route' => '_462'), array('a', 'b', 'c'), null, null), - 24786 => array(array('_route' => '_476'), array('a', 'b', 'c'), null, null), - 24837 => array(array('_route' => '_501'), array('a', 'b', 'c'), null, null), - 24889 => array(array('_route' => '_514'), array('a', 'b', 'c'), null, null), - 24937 => array(array('_route' => '_731'), array('a', 'b', 'c'), null, null), - 24990 => array(array('_route' => '_522'), array('a', 'b', 'c'), null, null), - 25038 => array(array('_route' => '_693'), array('a', 'b', 'c'), null, null), - 25091 => array(array('_route' => '_537'), array('a', 'b', 'c'), null, null), - 25139 => array(array('_route' => '_554'), array('a', 'b', 'c'), null, null), - 25187 => array(array('_route' => '_645'), array('a', 'b', 'c'), null, null), - 25235 => array(array('_route' => '_862'), array('a', 'b', 'c'), null, null), - 25288 => array(array('_route' => '_539'), array('a', 'b', 'c'), null, null), - 25336 => array(array('_route' => '_729'), array('a', 'b', 'c'), null, null), - 25384 => array(array('_route' => '_897'), array('a', 'b', 'c'), null, null), - 25437 => array(array('_route' => '_561'), array('a', 'b', 'c'), null, null), - 25485 => array(array('_route' => '_615'), array('a', 'b', 'c'), null, null), - 25533 => array(array('_route' => '_764'), array('a', 'b', 'c'), null, null), - 25581 => array(array('_route' => '_948'), array('a', 'b', 'c'), null, null), - 25634 => array(array('_route' => '_617'), array('a', 'b', 'c'), null, null), - 25682 => array(array('_route' => '_671'), array('a', 'b', 'c'), null, null), - 25735 => array(array('_route' => '_649'), array('a', 'b', 'c'), null, null), - 25783 => array(array('_route' => '_651'), array('a', 'b', 'c'), null, null), - 25831 => array(array('_route' => '_684'), array('a', 'b', 'c'), null, null), - 25884 => array(array('_route' => '_669'), array('a', 'b', 'c'), null, null), - 25932 => array(array('_route' => '_743'), array('a', 'b', 'c'), null, null), - 25980 => array(array('_route' => '_962'), array('a', 'b', 'c'), null, null), - 26033 => array(array('_route' => '_694'), array('a', 'b', 'c'), null, null), - 26081 => array(array('_route' => '_985'), array('a', 'b', 'c'), null, null), - 26134 => array(array('_route' => '_707'), array('a', 'b', 'c'), null, null), - 26182 => array(array('_route' => '_718'), array('a', 'b', 'c'), null, null), - 26235 => array(array('_route' => '_720'), array('a', 'b', 'c'), null, null), - 26283 => array(array('_route' => '_745'), array('a', 'b', 'c'), null, null), - 26333 => array(array('_route' => '_874'), array('a', 'b', 'c'), null, null), - 26391 => array(array('_route' => '_502'), array('a', 'b', 'c'), null, null), - 26439 => array(array('_route' => '_667'), array('a', 'b', 'c'), null, null), - 26487 => array(array('_route' => '_911'), array('a', 'b', 'c'), null, null), - 26535 => array(array('_route' => '_942'), array('a', 'b', 'c'), null, null), - 26585 => array(array('_route' => '_504'), array('a', 'b', 'c'), null, null), - 26637 => array(array('_route' => '_524'), array('a', 'b', 'c'), null, null), - 26685 => array(array('_route' => '_732'), array('a', 'b', 'c'), null, null), - 26738 => array(array('_route' => '_596'), array('a', 'b', 'c'), null, null), - 26786 => array(array('_route' => '_601'), array('a', 'b', 'c'), null, null), - 26839 => array(array('_route' => '_620'), array('a', 'b', 'c'), null, null), - 26887 => array(array('_route' => '_631'), array('a', 'b', 'c'), null, null), - 26935 => array(array('_route' => '_771'), array('a', 'b', 'c'), null, null), - 26983 => array(array('_route' => '_937'), array('a', 'b', 'c'), null, null), - 27031 => array(array('_route' => '_999'), array('a', 'b', 'c'), null, null), - 27084 => array(array('_route' => '_657'), array('a', 'b', 'c'), null, null), - 27132 => array(array('_route' => '_701'), array('a', 'b', 'c'), null, null), - 27185 => array(array('_route' => '_662'), array('a', 'b', 'c'), null, null), - 27233 => array(array('_route' => '_797'), array('a', 'b', 'c'), null, null), - 27281 => array(array('_route' => '_924'), array('a', 'b', 'c'), null, null), - 27334 => array(array('_route' => '_702'), array('a', 'b', 'c'), null, null), - 27382 => array(array('_route' => '_750'), array('a', 'b', 'c'), null, null), - 27435 => array(array('_route' => '_749'), array('a', 'b', 'c'), null, null), - 27483 => array(array('_route' => '_837'), array('a', 'b', 'c'), null, null), - 27533 => array(array('_route' => '_758'), array('a', 'b', 'c'), null, null), - 27585 => array(array('_route' => '_810'), array('a', 'b', 'c'), null, null), - 27633 => array(array('_route' => '_902'), array('a', 'b', 'c'), null, null), - 27683 => array(array('_route' => '_845'), array('a', 'b', 'c'), null, null), - 27741 => array(array('_route' => '_503'), array('a', 'b', 'c'), null, null), - 27792 => array(array('_route' => '_756'), array('a', 'b', 'c'), null, null), - 27839 => array(array('_route' => '_799'), array('a', 'b', 'c'), null, null), - 27888 => array(array('_route' => '_769'), array('a', 'b', 'c'), null, null), - 27936 => array(array('_route' => '_981'), array('a', 'b', 'c'), null, null), - 27989 => array(array('_route' => '_507'), array('a', 'b', 'c'), null, null), - 28037 => array(array('_route' => '_672'), array('a', 'b', 'c'), null, null), - 28085 => array(array('_route' => '_790'), array('a', 'b', 'c'), null, null), - 28138 => array(array('_route' => '_515'), array('a', 'b', 'c'), null, null), - 28186 => array(array('_route' => '_523'), array('a', 'b', 'c'), null, null), - 28234 => array(array('_route' => '_957'), array('a', 'b', 'c'), null, null), - 28282 => array(array('_route' => '_995'), array('a', 'b', 'c'), null, null), - 28335 => array(array('_route' => '_532'), array('a', 'b', 'c'), null, null), - 28383 => array(array('_route' => '_642'), array('a', 'b', 'c'), null, null), - 28433 => array(array('_route' => '_579'), array('a', 'b', 'c'), null, null), - 28485 => array(array('_route' => '_625'), array('a', 'b', 'c'), null, null), - 28533 => array(array('_route' => '_916'), array('a', 'b', 'c'), null, null), - 28586 => array(array('_route' => '_633'), array('a', 'b', 'c'), null, null), - 28634 => array(array('_route' => '_656'), array('a', 'b', 'c'), null, null), - 28687 => array(array('_route' => '_658'), array('a', 'b', 'c'), null, null), - 28735 => array(array('_route' => '_943'), array('a', 'b', 'c'), null, null), - 28788 => array(array('_route' => '_664'), array('a', 'b', 'c'), null, null), - 28836 => array(array('_route' => '_852'), array('a', 'b', 'c'), null, null), - 28884 => array(array('_route' => '_870'), array('a', 'b', 'c'), null, null), - 28937 => array(array('_route' => '_683'), array('a', 'b', 'c'), null, null), - 28985 => array(array('_route' => '_915'), array('a', 'b', 'c'), null, null), - 29038 => array(array('_route' => '_719'), array('a', 'b', 'c'), null, null), - 29086 => array(array('_route' => '_859'), array('a', 'b', 'c'), null, null), - 29134 => array(array('_route' => '_912'), array('a', 'b', 'c'), null, null), - 29182 => array(array('_route' => '_978'), array('a', 'b', 'c'), null, null), - 29235 => array(array('_route' => '_738'), array('a', 'b', 'c'), null, null), - 29283 => array(array('_route' => '_883'), array('a', 'b', 'c'), null, null), - 29333 => array(array('_route' => '_741'), array('a', 'b', 'c'), null, null), - 29382 => array(array('_route' => '_760'), array('a', 'b', 'c'), null, null), - 29431 => array(array('_route' => '_895'), array('a', 'b', 'c'), null, null), - 29489 => array(array('_route' => '_505'), array('a', 'b', 'c'), null, null), - 29537 => array(array('_route' => '_935'), array('a', 'b', 'c'), null, null), - 29590 => array(array('_route' => '_509'), array('a', 'b', 'c'), null, null), - 29638 => array(array('_route' => '_820'), array('a', 'b', 'c'), null, null), - 29686 => array(array('_route' => '_910'), array('a', 'b', 'c'), null, null), - 29739 => array(array('_route' => '_518'), array('a', 'b', 'c'), null, null), - 29787 => array(array('_route' => '_618'), array('a', 'b', 'c'), null, null), - 29840 => array(array('_route' => '_546'), array('a', 'b', 'c'), null, null), - 29888 => array(array('_route' => '_740'), array('a', 'b', 'c'), null, null), - 29936 => array(array('_route' => '_867'), array('a', 'b', 'c'), null, null), - 29989 => array(array('_route' => '_572'), array('a', 'b', 'c'), null, null), - 30037 => array(array('_route' => '_952'), array('a', 'b', 'c'), null, null), - 30090 => array(array('_route' => '_573'), array('a', 'b', 'c'), null, null), - 30138 => array(array('_route' => '_692'), array('a', 'b', 'c'), null, null), - 30186 => array(array('_route' => '_700'), array('a', 'b', 'c'), null, null), - 30234 => array(array('_route' => '_772'), array('a', 'b', 'c'), null, null), - 30284 => array(array('_route' => '_653'), array('a', 'b', 'c'), null, null), - 30336 => array(array('_route' => '_695'), array('a', 'b', 'c'), null, null), - 30384 => array(array('_route' => '_748'), array('a', 'b', 'c'), null, null), - 30437 => array(array('_route' => '_710'), array('a', 'b', 'c'), null, null), - 30485 => array(array('_route' => '_716'), array('a', 'b', 'c'), null, null), - 30533 => array(array('_route' => '_969'), array('a', 'b', 'c'), null, null), - 30586 => array(array('_route' => '_734'), array('a', 'b', 'c'), null, null), - 30634 => array(array('_route' => '_742'), array('a', 'b', 'c'), null, null), - 30682 => array(array('_route' => '_844'), array('a', 'b', 'c'), null, null), - 30735 => array(array('_route' => '_763'), array('a', 'b', 'c'), null, null), - 30783 => array(array('_route' => '_965'), array('a', 'b', 'c'), null, null), - 30836 => array(array('_route' => '_778'), array('a', 'b', 'c'), null, null), - 30884 => array(array('_route' => '_813'), array('a', 'b', 'c'), null, null), - 30932 => array(array('_route' => '_831'), array('a', 'b', 'c'), null, null), - 30982 => array(array('_route' => '_955'), array('a', 'b', 'c'), null, null), - 31031 => array(array('_route' => '_997'), array('a', 'b', 'c'), null, null), - 31089 => array(array('_route' => '_506'), array('a', 'b', 'c'), null, null), - 31137 => array(array('_route' => '_575'), array('a', 'b', 'c'), null, null), - 31190 => array(array('_route' => '_516'), array('a', 'b', 'c'), null, null), - 31238 => array(array('_route' => '_553'), array('a', 'b', 'c'), null, null), - 31291 => array(array('_route' => '_528'), array('a', 'b', 'c'), null, null), - 31339 => array(array('_route' => '_847'), array('a', 'b', 'c'), null, null), - 31387 => array(array('_route' => '_904'), array('a', 'b', 'c'), null, null), - 31440 => array(array('_route' => '_574'), array('a', 'b', 'c'), null, null), - 31488 => array(array('_route' => '_818'), array('a', 'b', 'c'), null, null), - 31538 => array(array('_route' => '_577'), array('a', 'b', 'c'), null, null), - 31590 => array(array('_route' => '_584'), array('a', 'b', 'c'), null, null), - 31638 => array(array('_route' => '_905'), array('a', 'b', 'c'), null, null), - 31691 => array(array('_route' => '_612'), array('a', 'b', 'c'), null, null), - 31739 => array(array('_route' => '_688'), array('a', 'b', 'c'), null, null), - 31787 => array(array('_route' => '_854'), array('a', 'b', 'c'), null, null), - 31840 => array(array('_route' => '_613'), array('a', 'b', 'c'), null, null), - 31888 => array(array('_route' => '_767'), array('a', 'b', 'c'), null, null), - 31941 => array(array('_route' => '_666'), array('a', 'b', 'c'), null, null), - 31989 => array(array('_route' => '_759'), array('a', 'b', 'c'), null, null), - 32037 => array(array('_route' => '_827'), array('a', 'b', 'c'), null, null), - 32085 => array(array('_route' => '_840'), array('a', 'b', 'c'), null, null), - 32138 => array(array('_route' => '_680'), array('a', 'b', 'c'), null, null), - 32186 => array(array('_route' => '_784'), array('a', 'b', 'c'), null, null), - 32234 => array(array('_route' => '_842'), array('a', 'b', 'c'), null, null), - 32282 => array(array('_route' => '_860'), array('a', 'b', 'c'), null, null), - 32332 => array(array('_route' => '_704'), array('a', 'b', 'c'), null, null), - 32381 => array(array('_route' => '_727'), array('a', 'b', 'c'), null, null), - 32430 => array(array('_route' => '_777'), array('a', 'b', 'c'), null, null), - 32482 => array(array('_route' => '_838'), array('a', 'b', 'c'), null, null), - 32530 => array(array('_route' => '_861'), array('a', 'b', 'c'), null, null), - 32583 => array(array('_route' => '_849'), array('a', 'b', 'c'), null, null), - 32631 => array(array('_route' => '_982'), array('a', 'b', 'c'), null, null), - 32679 => array(array('_route' => '_986'), array('a', 'b', 'c'), null, null), - 32741 => array(array('_route' => '_508'), array('a', 'b', 'c'), null, null), - 32788 => array(array('_route' => '_517'), array('a', 'b', 'c'), null, null), - 32837 => array(array('_route' => '_622'), array('a', 'b', 'c'), null, null), - 32890 => array(array('_route' => '_513'), array('a', 'b', 'c'), null, null), - 32938 => array(array('_route' => '_655'), array('a', 'b', 'c'), null, null), - 32986 => array(array('_route' => '_843'), array('a', 'b', 'c'), null, null), - 33034 => array(array('_route' => '_939'), array('a', 'b', 'c'), null, null), - 33084 => array(array('_route' => '_529'), array('a', 'b', 'c'), null, null), - 33136 => array(array('_route' => '_535'), array('a', 'b', 'c'), null, null), - 33184 => array(array('_route' => '_685'), array('a', 'b', 'c'), null, null), - 33240 => array(array('_route' => '_559'), array('a', 'b', 'c'), null, null), - 33287 => array(array('_route' => '_661'), array('a', 'b', 'c'), null, null), - 33336 => array(array('_route' => '_768'), array('a', 'b', 'c'), null, null), - 33389 => array(array('_route' => '_589'), array('a', 'b', 'c'), null, null), - 33437 => array(array('_route' => '_647'), array('a', 'b', 'c'), null, null), - 33485 => array(array('_route' => '_652'), array('a', 'b', 'c'), null, null), - 33533 => array(array('_route' => '_834'), array('a', 'b', 'c'), null, null), - 33586 => array(array('_route' => '_591'), array('a', 'b', 'c'), null, null), - 33634 => array(array('_route' => '_599'), array('a', 'b', 'c'), null, null), - 33687 => array(array('_route' => '_787'), array('a', 'b', 'c'), null, null), - 33734 => array(array('_route' => '_848'), array('a', 'b', 'c'), null, null), - 33787 => array(array('_route' => '_796'), array('a', 'b', 'c'), null, null), - 33835 => array(array('_route' => '_877'), array('a', 'b', 'c'), null, null), - 33885 => array(array('_route' => '_809'), array('a', 'b', 'c'), null, null), - 33934 => array(array('_route' => '_817'), array('a', 'b', 'c'), null, null), - 33986 => array(array('_route' => '_819'), array('a', 'b', 'c'), null, null), - 34034 => array(array('_route' => '_865'), array('a', 'b', 'c'), null, null), - 34084 => array(array('_route' => '_919'), array('a', 'b', 'c'), null, null), - 34133 => array(array('_route' => '_949'), array('a', 'b', 'c'), null, null), - 34191 => array(array('_route' => '_510'), array('a', 'b', 'c'), null, null), - 34239 => array(array('_route' => '_590'), array('a', 'b', 'c'), null, null), - 34287 => array(array('_route' => '_597'), array('a', 'b', 'c'), null, null), - 34335 => array(array('_route' => '_682'), array('a', 'b', 'c'), null, null), - 34383 => array(array('_route' => '_723'), array('a', 'b', 'c'), null, null), - 34436 => array(array('_route' => '_521'), array('a', 'b', 'c'), null, null), - 34484 => array(array('_route' => '_594'), array('a', 'b', 'c'), null, null), - 34532 => array(array('_route' => '_689'), array('a', 'b', 'c'), null, null), - 34580 => array(array('_route' => '_713'), array('a', 'b', 'c'), null, null), - 34628 => array(array('_route' => '_889'), array('a', 'b', 'c'), null, null), - 34681 => array(array('_route' => '_531'), array('a', 'b', 'c'), null, null), - 34729 => array(array('_route' => '_639'), array('a', 'b', 'c'), null, null), - 34780 => array(array('_route' => '_646'), array('a', 'b', 'c'), null, null), - 34827 => array(array('_route' => '_659'), array('a', 'b', 'c'), null, null), - 34876 => array(array('_route' => '_959'), array('a', 'b', 'c'), null, null), - 34929 => array(array('_route' => '_550'), array('a', 'b', 'c'), null, null), - 34977 => array(array('_route' => '_833'), array('a', 'b', 'c'), null, null), - 35025 => array(array('_route' => '_899'), array('a', 'b', 'c'), null, null), - 35081 => array(array('_route' => '_580'), array('a', 'b', 'c'), null, null), - 35128 => array(array('_route' => '_762'), array('a', 'b', 'c'), null, null), - 35177 => array(array('_route' => '_896'), array('a', 'b', 'c'), null, null), - 35230 => array(array('_route' => '_595'), array('a', 'b', 'c'), null, null), - 35278 => array(array('_route' => '_933'), array('a', 'b', 'c'), null, null), - 35328 => array(array('_route' => '_610'), array('a', 'b', 'c'), null, null), - 35380 => array(array('_route' => '_629'), array('a', 'b', 'c'), null, null), - 35428 => array(array('_route' => '_744'), array('a', 'b', 'c'), null, null), - 35481 => array(array('_route' => '_674'), array('a', 'b', 'c'), null, null), - 35529 => array(array('_route' => '_726'), array('a', 'b', 'c'), null, null), - 35577 => array(array('_route' => '_929'), array('a', 'b', 'c'), null, null), - 35627 => array(array('_route' => '_696'), array('a', 'b', 'c'), null, null), - 35679 => array(array('_route' => '_841'), array('a', 'b', 'c'), null, null), - 35727 => array(array('_route' => '_890'), array('a', 'b', 'c'), null, null), - 35777 => array(array('_route' => '_885'), array('a', 'b', 'c'), null, null), - 35826 => array(array('_route' => '_888'), array('a', 'b', 'c'), null, null), - 35875 => array(array('_route' => '_996'), array('a', 'b', 'c'), null, null), - 35933 => array(array('_route' => '_511'), array('a', 'b', 'c'), null, null), - 35981 => array(array('_route' => '_576'), array('a', 'b', 'c'), null, null), - 36029 => array(array('_route' => '_623'), array('a', 'b', 'c'), null, null), - 36082 => array(array('_route' => '_560'), array('a', 'b', 'c'), null, null), - 36129 => array(array('_route' => '_585'), array('a', 'b', 'c'), null, null), - 36182 => array(array('_route' => '_570'), array('a', 'b', 'c'), null, null), - 36230 => array(array('_route' => '_578'), array('a', 'b', 'c'), null, null), - 36281 => array(array('_route' => '_780'), array('a', 'b', 'c'), null, null), - 36328 => array(array('_route' => '_808'), array('a', 'b', 'c'), null, null), - 36382 => array(array('_route' => '_593'), array('a', 'b', 'c'), null, null), - 36430 => array(array('_route' => '_900'), array('a', 'b', 'c'), null, null), - 36483 => array(array('_route' => '_632'), array('a', 'b', 'c'), null, null), - 36531 => array(array('_route' => '_654'), array('a', 'b', 'c'), null, null), - 36579 => array(array('_route' => '_721'), array('a', 'b', 'c'), null, null), - 36627 => array(array('_route' => '_836'), array('a', 'b', 'c'), null, null), - 36680 => array(array('_route' => '_637'), array('a', 'b', 'c'), null, null), - 36728 => array(array('_route' => '_737'), array('a', 'b', 'c'), null, null), - 36784 => array(array('_route' => '_699'), array('a', 'b', 'c'), null, null), - 36831 => array(array('_route' => '_822'), array('a', 'b', 'c'), null, null), - 36880 => array(array('_route' => '_853'), array('a', 'b', 'c'), null, null), - 36933 => array(array('_route' => '_708'), array('a', 'b', 'c'), null, null), - 36981 => array(array('_route' => '_871'), array('a', 'b', 'c'), null, null), - 37034 => array(array('_route' => '_752'), array('a', 'b', 'c'), null, null), - 37082 => array(array('_route' => '_989'), array('a', 'b', 'c'), null, null), - 37132 => array(array('_route' => '_855'), array('a', 'b', 'c'), null, null), - 37184 => array(array('_route' => '_858'), array('a', 'b', 'c'), null, null), - 37232 => array(array('_route' => '_898'), array('a', 'b', 'c'), null, null), - 37282 => array(array('_route' => '_903'), array('a', 'b', 'c'), null, null), - 37331 => array(array('_route' => '_909'), array('a', 'b', 'c'), null, null), - 37380 => array(array('_route' => '_950'), array('a', 'b', 'c'), null, null), - 37441 => array(array('_route' => '_512'), array('a', 'b', 'c'), null, null), - 37488 => array(array('_route' => '_691'), array('a', 'b', 'c'), null, null), - 37537 => array(array('_route' => '_686'), array('a', 'b', 'c'), null, null), - 37587 => array(array('_route' => '_527'), array('a', 'b', 'c'), null, null), - 37639 => array(array('_route' => '_541'), array('a', 'b', 'c'), null, null), - 37687 => array(array('_route' => '_956'), array('a', 'b', 'c'), null, null), - 37740 => array(array('_route' => '_555'), array('a', 'b', 'c'), null, null), - 37788 => array(array('_route' => '_681'), array('a', 'b', 'c'), null, null), - 37841 => array(array('_route' => '_556'), array('a', 'b', 'c'), null, null), - 37889 => array(array('_route' => '_802'), array('a', 'b', 'c'), null, null), - 37939 => array(array('_route' => '_558'), array('a', 'b', 'c'), null, null), - 37991 => array(array('_route' => '_564'), array('a', 'b', 'c'), null, null), - 38039 => array(array('_route' => '_670'), array('a', 'b', 'c'), null, null), - 38087 => array(array('_route' => '_884'), array('a', 'b', 'c'), null, null), - 38140 => array(array('_route' => '_627'), array('a', 'b', 'c'), null, null), - 38187 => array(array('_route' => '_746'), array('a', 'b', 'c'), null, null), - 38240 => array(array('_route' => '_668'), array('a', 'b', 'c'), null, null), - 38291 => array(array('_route' => '_712'), array('a', 'b', 'c'), null, null), - 38338 => array(array('_route' => '_863'), array('a', 'b', 'c'), null, null), - 38387 => array(array('_route' => '_801'), array('a', 'b', 'c'), null, null), - 38440 => array(array('_route' => '_709'), array('a', 'b', 'c'), null, null), - 38488 => array(array('_route' => '_850'), array('a', 'b', 'c'), null, null), - 38536 => array(array('_route' => '_918'), array('a', 'b', 'c'), null, null), - 38586 => array(array('_route' => '_803'), array('a', 'b', 'c'), null, null), - 38638 => array(array('_route' => '_864'), array('a', 'b', 'c'), null, null), - 38686 => array(array('_route' => '_880'), array('a', 'b', 'c'), null, null), - 38734 => array(array('_route' => '_927'), array('a', 'b', 'c'), null, null), - 38787 => array(array('_route' => '_930'), array('a', 'b', 'c'), null, null), - 38835 => array(array('_route' => '_951'), array('a', 'b', 'c'), null, null), - 38883 => array(array('_route' => '_963'), array('a', 'b', 'c'), null, null), - 38942 => array(array('_route' => '_519'), array('a', 'b', 'c'), null, null), - 38990 => array(array('_route' => '_823'), array('a', 'b', 'c'), null, null), - 39038 => array(array('_route' => '_954'), array('a', 'b', 'c'), null, null), - 39091 => array(array('_route' => '_525'), array('a', 'b', 'c'), null, null), - 39139 => array(array('_route' => '_991'), array('a', 'b', 'c'), null, null), - 39189 => array(array('_route' => '_536'), array('a', 'b', 'c'), null, null), - 39241 => array(array('_route' => '_545'), array('a', 'b', 'c'), null, null), - 39289 => array(array('_route' => '_944'), array('a', 'b', 'c'), null, null), - 39342 => array(array('_route' => '_557'), array('a', 'b', 'c'), null, null), - 39390 => array(array('_route' => '_783'), array('a', 'b', 'c'), null, null), - 39438 => array(array('_route' => '_807'), array('a', 'b', 'c'), null, null), - 39491 => array(array('_route' => '_586'), array('a', 'b', 'c'), null, null), - 39539 => array(array('_route' => '_711'), array('a', 'b', 'c'), null, null), - 39592 => array(array('_route' => '_598'), array('a', 'b', 'c'), null, null), - 39640 => array(array('_route' => '_635'), array('a', 'b', 'c'), null, null), - 39688 => array(array('_route' => '_983'), array('a', 'b', 'c'), null, null), - 39741 => array(array('_route' => '_634'), array('a', 'b', 'c'), null, null), - 39789 => array(array('_route' => '_641'), array('a', 'b', 'c'), null, null), - 39840 => array(array('_route' => '_779'), array('a', 'b', 'c'), null, null), - 39887 => array(array('_route' => '_876'), array('a', 'b', 'c'), null, null), - 39936 => array(array('_route' => '_811'), array('a', 'b', 'c'), null, null), - 39984 => array(array('_route' => '_824'), array('a', 'b', 'c'), null, null), - 40037 => array(array('_route' => '_660'), array('a', 'b', 'c'), null, null), - 40085 => array(array('_route' => '_789'), array('a', 'b', 'c'), null, null), - 40138 => array(array('_route' => '_733'), array('a', 'b', 'c'), null, null), - 40186 => array(array('_route' => '_735'), array('a', 'b', 'c'), null, null), - 40234 => array(array('_route' => '_882'), array('a', 'b', 'c'), null, null), - 40282 => array(array('_route' => '_967'), array('a', 'b', 'c'), null, null), - 40332 => array(array('_route' => '_736'), array('a', 'b', 'c'), null, null), - 40381 => array(array('_route' => '_753'), array('a', 'b', 'c'), null, null), - 40430 => array(array('_route' => '_786'), array('a', 'b', 'c'), null, null), - 40479 => array(array('_route' => '_907'), array('a', 'b', 'c'), null, null), - 40528 => array(array('_route' => '_920'), array('a', 'b', 'c'), null, null), - 40577 => array(array('_route' => '_971'), array('a', 'b', 'c'), null, null), - 40635 => array(array('_route' => '_520'), array('a', 'b', 'c'), null, null), - 40683 => array(array('_route' => '_891'), array('a', 'b', 'c'), null, null), - 40739 => array(array('_route' => '_534'), array('a', 'b', 'c'), null, null), - 40785 => array(array('_route' => '_602'), array('a', 'b', 'c'), null, null), - 40834 => array(array('_route' => '_605'), array('a', 'b', 'c'), null, null), - 40882 => array(array('_route' => '_979'), array('a', 'b', 'c'), null, null), - 40932 => array(array('_route' => '_547'), array('a', 'b', 'c'), null, null), - 40987 => array(array('_route' => '_549'), array('a', 'b', 'c'), null, null), - 41034 => array(array('_route' => '_755'), array('a', 'b', 'c'), null, null), - 41083 => array(array('_route' => '_922'), array('a', 'b', 'c'), null, null), - 41131 => array(array('_route' => '_977'), array('a', 'b', 'c'), null, null), - 41184 => array(array('_route' => '_565'), array('a', 'b', 'c'), null, null), - 41232 => array(array('_route' => '_926'), array('a', 'b', 'c'), null, null), - 41282 => array(array('_route' => '_571'), array('a', 'b', 'c'), null, null), - 41331 => array(array('_route' => '_581'), array('a', 'b', 'c'), null, null), - 41380 => array(array('_route' => '_619'), array('a', 'b', 'c'), null, null), - 41429 => array(array('_route' => '_636'), array('a', 'b', 'c'), null, null), - 41481 => array(array('_route' => '_679'), array('a', 'b', 'c'), null, null), - 41529 => array(array('_route' => '_866'), array('a', 'b', 'c'), null, null), - 41577 => array(array('_route' => '_973'), array('a', 'b', 'c'), null, null), - 41630 => array(array('_route' => '_690'), array('a', 'b', 'c'), null, null), - 41678 => array(array('_route' => '_775'), array('a', 'b', 'c'), null, null), - 41731 => array(array('_route' => '_722'), array('a', 'b', 'c'), null, null), - 41779 => array(array('_route' => '_906'), array('a', 'b', 'c'), null, null), - 41827 => array(array('_route' => '_946'), array('a', 'b', 'c'), null, null), - 41877 => array(array('_route' => '_788'), array('a', 'b', 'c'), null, null), - 41929 => array(array('_route' => '_828'), array('a', 'b', 'c'), null, null), - 41977 => array(array('_route' => '_892'), array('a', 'b', 'c'), null, null), - 42025 => array(array('_route' => '_972'), array('a', 'b', 'c'), null, null), - 42075 => array(array('_route' => '_829'), array('a', 'b', 'c'), null, null), - 42127 => array(array('_route' => '_923'), array('a', 'b', 'c'), null, null), - 42175 => array(array('_route' => '_947'), array('a', 'b', 'c'), null, null), - 42234 => array(array('_route' => '_526'), array('a', 'b', 'c'), null, null), - 42282 => array(array('_route' => '_614'), array('a', 'b', 'c'), null, null), - 42330 => array(array('_route' => '_621'), array('a', 'b', 'c'), null, null), - 42383 => array(array('_route' => '_543'), array('a', 'b', 'c'), null, null), - 42431 => array(array('_route' => '_812'), array('a', 'b', 'c'), null, null), - 42487 => array(array('_route' => '_548'), array('a', 'b', 'c'), null, null), - 42534 => array(array('_route' => '_747'), array('a', 'b', 'c'), null, null), - 42583 => array(array('_route' => '_715'), array('a', 'b', 'c'), null, null), - 42631 => array(array('_route' => '_940'), array('a', 'b', 'c'), null, null), - 42684 => array(array('_route' => '_563'), array('a', 'b', 'c'), null, null), - 42732 => array(array('_route' => '_611'), array('a', 'b', 'c'), null, null), - 42780 => array(array('_route' => '_830'), array('a', 'b', 'c'), null, null), - 42833 => array(array('_route' => '_569'), array('a', 'b', 'c'), null, null), - 42881 => array(array('_route' => '_908'), array('a', 'b', 'c'), null, null), - 42929 => array(array('_route' => '_913'), array('a', 'b', 'c'), null, null), - 42982 => array(array('_route' => '_644'), array('a', 'b', 'c'), null, null), - 43030 => array(array('_route' => '_776'), array('a', 'b', 'c'), null, null), - 43078 => array(array('_route' => '_856'), array('a', 'b', 'c'), null, null), - 43131 => array(array('_route' => '_650'), array('a', 'b', 'c'), null, null), - 43179 => array(array('_route' => '_761'), array('a', 'b', 'c'), null, null), - 43232 => array(array('_route' => '_663'), array('a', 'b', 'c'), null, null), - 43280 => array(array('_route' => '_754'), array('a', 'b', 'c'), null, null), - 43333 => array(array('_route' => '_665'), array('a', 'b', 'c'), null, null), - 43381 => array(array('_route' => '_805'), array('a', 'b', 'c'), null, null), - 43429 => array(array('_route' => '_846'), array('a', 'b', 'c'), null, null), - 43477 => array(array('_route' => '_857'), array('a', 'b', 'c'), null, null), - 43530 => array(array('_route' => '_675'), array('a', 'b', 'c'), null, null), - 43578 => array(array('_route' => '_839'), array('a', 'b', 'c'), null, null), - 43626 => array(array('_route' => '_968'), array('a', 'b', 'c'), null, null), - 43676 => array(array('_route' => '_697'), array('a', 'b', 'c'), null, null), - 43728 => array(array('_route' => '_725'), array('a', 'b', 'c'), null, null), - 43776 => array(array('_route' => '_794'), array('a', 'b', 'c'), null, null), - 43829 => array(array('_route' => '_773'), array('a', 'b', 'c'), null, null), - 43877 => array(array('_route' => '_992'), array('a', 'b', 'c'), null, null), - 43930 => array(array('_route' => '_901'), array('a', 'b', 'c'), null, null), - 43978 => array(array('_route' => '_970'), array('a', 'b', 'c'), null, null), - 44028 => array(array('_route' => '_964'), array('a', 'b', 'c'), null, null), - 44086 => array(array('_route' => '_530'), array('a', 'b', 'c'), null, null), - 44134 => array(array('_route' => '_703'), array('a', 'b', 'c'), null, null), - 44187 => array(array('_route' => '_533'), array('a', 'b', 'c'), null, null), - 44235 => array(array('_route' => '_739'), array('a', 'b', 'c'), null, null), - 44283 => array(array('_route' => '_791'), array('a', 'b', 'c'), null, null), - 44331 => array(array('_route' => '_987'), array('a', 'b', 'c'), null, null), - 44384 => array(array('_route' => '_566'), array('a', 'b', 'c'), null, null), - 44432 => array(array('_route' => '_592'), array('a', 'b', 'c'), null, null), - 44488 => array(array('_route' => '_568'), array('a', 'b', 'c'), null, null), - 44534 => array(array('_route' => '_868'), array('a', 'b', 'c'), null, null), - 44583 => array(array('_route' => '_878'), array('a', 'b', 'c'), null, null), - 44636 => array(array('_route' => '_588'), array('a', 'b', 'c'), null, null), - 44684 => array(array('_route' => '_793'), array('a', 'b', 'c'), null, null), - 44732 => array(array('_route' => '_917'), array('a', 'b', 'c'), null, null), - 44785 => array(array('_route' => '_600'), array('a', 'b', 'c'), null, null), - 44833 => array(array('_route' => '_728'), array('a', 'b', 'c'), null, null), - 44886 => array(array('_route' => '_603'), array('a', 'b', 'c'), null, null), - 44934 => array(array('_route' => '_765'), array('a', 'b', 'c'), null, null), - 44987 => array(array('_route' => '_607'), array('a', 'b', 'c'), null, null), - 45035 => array(array('_route' => '_676'), array('a', 'b', 'c'), null, null), - 45083 => array(array('_route' => '_804'), array('a', 'b', 'c'), null, null), - 45136 => array(array('_route' => '_609'), array('a', 'b', 'c'), null, null), - 45184 => array(array('_route' => '_961'), array('a', 'b', 'c'), null, null), - 45232 => array(array('_route' => '_980'), array('a', 'b', 'c'), null, null), - 45282 => array(array('_route' => '_714'), array('a', 'b', 'c'), null, null), - 45334 => array(array('_route' => '_730'), array('a', 'b', 'c'), null, null), - 45382 => array(array('_route' => '_806'), array('a', 'b', 'c'), null, null), - 45430 => array(array('_route' => '_825'), array('a', 'b', 'c'), null, null), - 45478 => array(array('_route' => '_879'), array('a', 'b', 'c'), null, null), - 45526 => array(array('_route' => '_893'), array('a', 'b', 'c'), null, null), - 45576 => array(array('_route' => '_928'), array('a', 'b', 'c'), null, null), - 45628 => array(array('_route' => '_932'), array('a', 'b', 'c'), null, null), - 45676 => array(array('_route' => '_958'), array('a', 'b', 'c'), null, null), - 45726 => array(array('_route' => '_984'), array('a', 'b', 'c'), null, null), - 45784 => array(array('_route' => '_538'), array('a', 'b', 'c'), null, null), - 45832 => array(array('_route' => '_993'), array('a', 'b', 'c'), null, null), - 45882 => array(array('_route' => '_542'), array('a', 'b', 'c'), null, null), - 45934 => array(array('_route' => '_551'), array('a', 'b', 'c'), null, null), - 45982 => array(array('_route' => '_687'), array('a', 'b', 'c'), null, null), - 46030 => array(array('_route' => '_724'), array('a', 'b', 'c'), null, null), - 46078 => array(array('_route' => '_925'), array('a', 'b', 'c'), null, null), - 46131 => array(array('_route' => '_587'), array('a', 'b', 'c'), null, null), - 46179 => array(array('_route' => '_914'), array('a', 'b', 'c'), null, null), - 46229 => array(array('_route' => '_616'), array('a', 'b', 'c'), null, null), - 46284 => array(array('_route' => '_677'), array('a', 'b', 'c'), null, null), - 46331 => array(array('_route' => '_815'), array('a', 'b', 'c'), null, null), - 46380 => array(array('_route' => '_781'), array('a', 'b', 'c'), null, null), - 46430 => array(array('_route' => '_717'), array('a', 'b', 'c'), null, null), - 46482 => array(array('_route' => '_782'), array('a', 'b', 'c'), null, null), - 46530 => array(array('_route' => '_832'), array('a', 'b', 'c'), null, null), - 46583 => array(array('_route' => '_795'), array('a', 'b', 'c'), null, null), - 46631 => array(array('_route' => '_887'), array('a', 'b', 'c'), null, null), - 46681 => array(array('_route' => '_800'), array('a', 'b', 'c'), null, null), - 46730 => array(array('_route' => '_826'), array('a', 'b', 'c'), null, null), - 46779 => array(array('_route' => '_881'), array('a', 'b', 'c'), null, null), - 46828 => array(array('_route' => '_886'), array('a', 'b', 'c'), null, null), - 46877 => array(array('_route' => '_938'), array('a', 'b', 'c'), null, null), - 46935 => array(array('_route' => '_540'), array('a', 'b', 'c'), null, null), - 46983 => array(array('_route' => '_643'), array('a', 'b', 'c'), null, null), - 47033 => array(array('_route' => '_544'), array('a', 'b', 'c'), null, null), - 47082 => array(array('_route' => '_552'), array('a', 'b', 'c'), null, null), - 47134 => array(array('_route' => '_567'), array('a', 'b', 'c'), null, null), - 47182 => array(array('_route' => '_608'), array('a', 'b', 'c'), null, null), - 47230 => array(array('_route' => '_698'), array('a', 'b', 'c'), null, null), - 47278 => array(array('_route' => '_988'), array('a', 'b', 'c'), null, null), - 47331 => array(array('_route' => '_583'), array('a', 'b', 'c'), null, null), - 47379 => array(array('_route' => '_998'), array('a', 'b', 'c'), null, null), - 47432 => array(array('_route' => '_604'), array('a', 'b', 'c'), null, null), - 47480 => array(array('_route' => '_630'), array('a', 'b', 'c'), null, null), - 47528 => array(array('_route' => '_706'), array('a', 'b', 'c'), null, null), - 47576 => array(array('_route' => '_976'), array('a', 'b', 'c'), null, null), - 47629 => array(array('_route' => '_673'), array('a', 'b', 'c'), null, null), - 47677 => array(array('_route' => '_678'), array('a', 'b', 'c'), null, null), - 47725 => array(array('_route' => '_931'), array('a', 'b', 'c'), null, null), - 47775 => array(array('_route' => '_751'), array('a', 'b', 'c'), null, null), - 47824 => array(array('_route' => '_766'), array('a', 'b', 'c'), null, null), - 47876 => array(array('_route' => '_792'), array('a', 'b', 'c'), null, null), - 47924 => array(array('_route' => '_814'), array('a', 'b', 'c'), null, null), - 47974 => array(array('_route' => '_798'), array('a', 'b', 'c'), null, null), - 48026 => array(array('_route' => '_851'), array('a', 'b', 'c'), null, null), - 48074 => array(array('_route' => '_941'), array('a', 'b', 'c'), null, null), - 48122 => array(array('_route' => '_953'), array('a', 'b', 'c'), null, null), - 48170 => array(array('_route' => '_975'), array('a', 'b', 'c'), null, null), - 48220 => array(array('_route' => '_873'), array('a', 'b', 'c'), null, null), - 48269 => array(array('_route' => '_936'), array('a', 'b', 'c'), null, null), - 48318 => array(array('_route' => '_994'), array('a', 'b', 'c'), null, null), - 48376 => array(array('_route' => '_562'), array('a', 'b', 'c'), null, null), - 48424 => array(array('_route' => '_770'), array('a', 'b', 'c'), null, null), - 48475 => array(array('_route' => '_774'), array('a', 'b', 'c'), null, null), - 48522 => array(array('_route' => '_966'), array('a', 'b', 'c'), null, null), - 48573 => array(array('_route' => '_582'), array('a', 'b', 'c'), null, null), - 48625 => array(array('_route' => '_606'), array('a', 'b', 'c'), null, null), - 48673 => array(array('_route' => '_648'), array('a', 'b', 'c'), null, null), - 48723 => array(array('_route' => '_624'), array('a', 'b', 'c'), null, null), - 48775 => array(array('_route' => '_626'), array('a', 'b', 'c'), null, null), - 48823 => array(array('_route' => '_821'), array('a', 'b', 'c'), null, null), - 48873 => array(array('_route' => '_628'), array('a', 'b', 'c'), null, null), - 48922 => array(array('_route' => '_638'), array('a', 'b', 'c'), null, null), - 48974 => array(array('_route' => '_640'), array('a', 'b', 'c'), null, null), - 49022 => array(array('_route' => '_990'), array('a', 'b', 'c'), null, null), - 49072 => array(array('_route' => '_705'), array('a', 'b', 'c'), null, null), - 49121 => array(array('_route' => '_757'), array('a', 'b', 'c'), null, null), - 49176 => array(array('_route' => '_785'), array('a', 'b', 'c'), null, null), - 49223 => array(array('_route' => '_875'), array('a', 'b', 'c'), null, null), - 49270 => array(array('_route' => '_894'), array('a', 'b', 'c'), null, null), - 49319 => array(array('_route' => '_945'), array('a', 'b', 'c'), null, null), - 49375 => array(array('_route' => '_816'), array('a', 'b', 'c'), null, null), - 49422 => array(array('_route' => '_872'), array('a', 'b', 'c'), null, null), - 49471 => array(array('_route' => '_921'), array('a', 'b', 'c'), null, null), - 49519 => array(array('_route' => '_960'), array('a', 'b', 'c'), null, null), - 49567 => array(array('_route' => '_974'), array('a', 'b', 'c'), null, null), - 49620 => array(array('_route' => '_835'), array('a', 'b', 'c'), null, null), - 49668 => array(array('_route' => '_934'), array('a', 'b', 'c'), null, null), - 49718 => array(array('_route' => '_869'), array('a', 'b', 'c'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (49718 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher11.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher11.php index 173cc1527..62638a15f 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher11.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher11.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,142 +9,58 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($pathinfo) - { - $allow = $allowSchemes = array(); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $pathinfo) { - $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(); - } - - private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->regexpList = array( 0 => '{^(?' .'|/(en|fr)/(?' - .'|admin/post/(?' - .'|(*:33)' - .'|new(*:43)' - .'|(\\d+)(*:55)' - .'|(\\d+)/edit(*:72)' - .'|(\\d+)/delete(*:91)' - .')' - .'|blog/(?' - .'|(*:107)' - .'|rss\\.xml(*:123)' - .'|p(?' - .'|age/([^/]++)(*:147)' - .'|osts/([^/]++)(*:168)' + .'|admin/post(?' + .'|(*:32)' + .'|/(?' + .'|new(*:46)' + .'|(\\d+)(*:58)' + .'|(\\d+)/edit(*:75)' + .'|(\\d+)/delete(*:94)' + .')' + .')' + .'|blog(?' + .'|(*:110)' + .'|/(?' + .'|rss\\.xml(*:130)' + .'|p(?' + .'|age/([^/]++)(*:154)' + .'|osts/([^/]++)(*:175)' + .')' + .'|comments/(\\d+)/new(*:202)' + .'|search(*:216)' .')' - .'|comments/(\\d+)/new(*:195)' - .'|search(*:209)' .')' .'|log(?' - .'|in(*:226)' - .'|out(*:237)' + .'|in(*:234)' + .'|out(*:245)' .')' .')' - .'|/(en|fr)?(*:256)' - .')$}sD', + .'|/(en|fr)?(*:264)' + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 32 => array(array(array('_route' => 'a', '_locale' => 'en'), array('_locale'), null, null, true, null)), + 46 => array(array(array('_route' => 'b', '_locale' => 'en'), array('_locale'), null, null, false, null)), + 58 => array(array(array('_route' => 'c', '_locale' => 'en'), array('_locale', 'id'), null, null, false, null)), + 75 => array(array(array('_route' => 'd', '_locale' => 'en'), array('_locale', 'id'), null, null, false, null)), + 94 => array(array(array('_route' => 'e', '_locale' => 'en'), array('_locale', 'id'), null, null, false, null)), + 110 => array(array(array('_route' => 'f', '_locale' => 'en'), array('_locale'), null, null, true, null)), + 130 => array(array(array('_route' => 'g', '_locale' => 'en'), array('_locale'), null, null, false, null)), + 154 => array(array(array('_route' => 'h', '_locale' => 'en'), array('_locale', 'page'), null, null, false, null)), + 175 => array(array(array('_route' => 'i', '_locale' => 'en'), array('_locale', 'page'), null, null, false, null)), + 202 => array(array(array('_route' => 'j', '_locale' => 'en'), array('_locale', 'id'), null, null, false, null)), + 216 => array(array(array('_route' => 'k', '_locale' => 'en'), array('_locale'), null, null, false, null)), + 234 => array(array(array('_route' => 'l', '_locale' => 'en'), array('_locale'), null, null, false, null)), + 245 => array(array(array('_route' => 'm', '_locale' => 'en'), array('_locale'), null, null, false, null)), + 264 => array(array(array('_route' => 'n', '_locale' => 'en'), array('_locale'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 33 => array(array('_route' => 'a', '_locale' => 'en'), array('_locale'), null, null), - 43 => array(array('_route' => 'b', '_locale' => 'en'), array('_locale'), null, null), - 55 => array(array('_route' => 'c', '_locale' => 'en'), array('_locale', 'id'), null, null), - 72 => array(array('_route' => 'd', '_locale' => 'en'), array('_locale', 'id'), null, null), - 91 => array(array('_route' => 'e', '_locale' => 'en'), array('_locale', 'id'), null, null), - 107 => array(array('_route' => 'f', '_locale' => 'en'), array('_locale'), null, null), - 123 => array(array('_route' => 'g', '_locale' => 'en'), array('_locale'), null, null), - 147 => array(array('_route' => 'h', '_locale' => 'en'), array('_locale', 'page'), null, null), - 168 => array(array('_route' => 'i', '_locale' => 'en'), array('_locale', 'page'), null, null), - 195 => array(array('_route' => 'j', '_locale' => 'en'), array('_locale', 'id'), null, null), - 209 => array(array('_route' => 'k', '_locale' => 'en'), array('_locale'), null, null), - 226 => array(array('_route' => 'l', '_locale' => 'en'), array('_locale'), null, null), - 237 => array(array('_route' => 'm', '_locale' => 'en'), array('_locale'), null, null), - 256 => array(array('_route' => 'n', '_locale' => 'en'), array('_locale'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (256 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - return null; } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher12.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher12.php index eba4c8ace..df4d926a4 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher12.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher12.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,24 +9,12 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->regexpList = array( 0 => '{^(?' .'|/abc([^/]++)/(?' .'|1(?' @@ -45,56 +32,15 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher .')' .')' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 27 => array(array(array('_route' => 'r1'), array('foo'), null, null, false, null)), + 38 => array(array(array('_route' => 'r10'), array('foo'), null, null, false, null)), + 46 => array(array(array('_route' => 'r100'), array('foo'), null, null, false, null)), + 59 => array(array(array('_route' => 'r2'), array('foo'), null, null, false, null)), + 70 => array(array(array('_route' => 'r20'), array('foo'), null, null, false, null)), + 78 => array(array(array('_route' => 'r200'), array('foo'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 27 => array(array('_route' => 'r1'), array('foo'), null, null), - 38 => array(array('_route' => 'r10'), array('foo'), null, null), - 46 => array(array('_route' => 'r100'), array('foo'), null, null), - 59 => array(array('_route' => 'r2'), array('foo'), null, null), - 70 => array(array('_route' => 'r20'), array('foo'), null, null), - 78 => array(array('_route' => 'r200'), array('foo'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (78 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher13.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher13.php index 5cda7753d..3c13a26ba 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher13.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher13.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,60 +9,26 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - $host = strtolower($context->getHost()); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - $matchedPathinfo = $host.'.'.$pathinfo; - $regexList = array( + $this->matchHost = true; + $this->regexpList = array( 0 => '{^(?' .'|(?i:([^\\.]++)\\.exampple\\.com)\\.(?' .'|/abc([^/]++)(?' .'|(*:56)' .')' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 56 => array( + array(array('_route' => 'r1'), array('foo', 'foo'), null, null, false, null), + array(array('_route' => 'r2'), array('foo', 'foo'), null, null, false, null), + ), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - case 56: - $matches = array('foo' => $matches[1] ?? null, 'foo' => $matches[2] ?? null); - - // r1 - return $this->mergeDefaults(array('_route' => 'r1') + $matches, array()); - - // r2 - return $this->mergeDefaults(array('_route' => 'r2') + $matches, array()); - - break; - } - - if (56 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php index 5aec5db01..8d71ee5e0 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,114 +9,34 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($pathinfo) - { - $allow = $allowSchemes = array(); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $pathinfo) { - $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(); - } - - private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - $host = strtolower($context->getHost()); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - default: - $routes = array( - '/test/baz' => array(array('_route' => 'baz'), null, null, null), - '/test/baz.html' => array(array('_route' => 'baz2'), null, null, null), - '/test/baz3/' => array(array('_route' => 'baz3'), null, null, null), - '/foofoo' => array(array('_route' => 'foofoo', 'def' => 'test'), null, null, null), - '/spa ce' => array(array('_route' => 'space'), null, null, null), - '/multi/new' => array(array('_route' => 'overridden2'), null, null, null), - '/multi/hey/' => array(array('_route' => 'hey'), null, null, null), - '/ababa' => array(array('_route' => 'ababa'), null, null, null), - '/route1' => array(array('_route' => 'route1'), 'a.example.com', null, null), - '/c2/route2' => array(array('_route' => 'route2'), 'a.example.com', null, null), - '/route4' => array(array('_route' => 'route4'), 'a.example.com', null, null), - '/c2/route3' => array(array('_route' => 'route3'), 'b.example.com', null, null), - '/route5' => array(array('_route' => 'route5'), 'c.example.com', null, null), - '/route6' => array(array('_route' => 'route6'), null, null, null), - '/route11' => array(array('_route' => 'route11'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null), - '/route12' => array(array('_route' => 'route12', 'var1' => 'val'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null), - '/route17' => array(array('_route' => 'route17'), null, null, null), - '/secure' => array(array('_route' => 'secure'), null, null, array('https' => 0)), - '/nonsecure' => array(array('_route' => 'nonsecure'), null, null, array('http' => 0)), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - if ($requiredHost) { - if ('#' !== $requiredHost[0] ? $requiredHost !== $host : !preg_match($requiredHost, $host, $hostMatches)) { - break; - } - if ('#' === $requiredHost[0] && $hostMatches) { - $hostMatches['_route'] = $ret['_route']; - $ret = $this->mergeDefaults($hostMatches, $ret); - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $host.'.'.$pathinfo; - $regexList = array( + $this->matchHost = true; + $this->staticRoutes = array( + '/test/baz' => array(array(array('_route' => 'baz'), null, null, null, false, null)), + '/test/baz.html' => array(array(array('_route' => 'baz2'), null, null, null, false, null)), + '/test/baz3' => array(array(array('_route' => 'baz3'), null, null, null, true, null)), + '/foofoo' => array(array(array('_route' => 'foofoo', 'def' => 'test'), null, null, null, false, null)), + '/spa ce' => array(array(array('_route' => 'space'), null, null, null, false, null)), + '/multi/new' => array(array(array('_route' => 'overridden2'), null, null, null, false, null)), + '/multi/hey' => array(array(array('_route' => 'hey'), null, null, null, true, null)), + '/ababa' => array(array(array('_route' => 'ababa'), null, null, null, false, null)), + '/route1' => array(array(array('_route' => 'route1'), 'a.example.com', null, null, false, null)), + '/c2/route2' => array(array(array('_route' => 'route2'), 'a.example.com', null, null, false, null)), + '/route4' => array(array(array('_route' => 'route4'), 'a.example.com', null, null, false, null)), + '/c2/route3' => array(array(array('_route' => 'route3'), 'b.example.com', null, null, false, null)), + '/route5' => array(array(array('_route' => 'route5'), 'c.example.com', null, null, false, null)), + '/route6' => array(array(array('_route' => 'route6'), null, null, null, false, null)), + '/route11' => array(array(array('_route' => 'route11'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null, false, null)), + '/route12' => array(array(array('_route' => 'route12', 'var1' => 'val'), '#^(?P<var1>[^\\.]++)\\.example\\.com$#sDi', null, null, false, null)), + '/route17' => array(array(array('_route' => 'route17'), null, null, null, false, null)), + '/secure' => array(array(array('_route' => 'secure'), null, null, array('https' => 0), false, null)), + '/nonsecure' => array(array(array('_route' => 'nonsecure'), null, null, array('http' => 0), false, null)), + ); + $this->regexpList = array( 0 => '{^(?' .'|(?:(?:[^./]*+\\.)++)(?' .'|/foo/(baz|symfony)(*:47)' @@ -125,160 +44,72 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec .'|/([^/]++)(*:70)' .'|head/([^/]++)(*:90)' .')' - .'|/test/([^/]++)/(?' - .'|(*:116)' + .'|/test/([^/]++)(?' + .'|(*:115)' .')' - .'|/([\']+)(*:132)' + .'|/([\']+)(*:131)' .'|/a/(?' .'|b\'b/([^/]++)(?' - .'|(*:161)' - .'|(*:169)' + .'|(*:160)' + .'|(*:168)' .')' - .'|(.*)(*:182)' + .'|(.*)(*:181)' .'|b\'b/([^/]++)(?' - .'|(*:205)' - .'|(*:213)' + .'|(*:204)' + .'|(*:212)' .')' .')' - .'|/multi/hello(?:/([^/]++))?(*:249)' + .'|/multi/hello(?:/([^/]++))?(*:248)' .'|/([^/]++)/b/([^/]++)(?' - .'|(*:280)' - .'|(*:288)' + .'|(*:279)' + .'|(*:287)' .')' - .'|/aba/([^/]++)(*:310)' + .'|/aba/([^/]++)(*:309)' .')|(?i:([^\\.]++)\\.example\\.com)\\.(?' .'|/route1(?' - .'|3/([^/]++)(*:372)' - .'|4/([^/]++)(*:390)' + .'|3/([^/]++)(*:371)' + .'|4/([^/]++)(*:389)' .')' .')|(?i:c\\.example\\.com)\\.(?' - .'|/route15/([^/]++)(*:442)' + .'|/route15/([^/]++)(*:441)' .')|(?:(?:[^./]*+\\.)++)(?' - .'|/route16/([^/]++)(*:490)' + .'|/route16/([^/]++)(*:489)' .'|/a/(?' - .'|a\\.\\.\\.(*:511)' + .'|a\\.\\.\\.(*:510)' .'|b/(?' - .'|([^/]++)(*:532)' - .'|c/([^/]++)(*:550)' + .'|([^/]++)(*:531)' + .'|c/([^/]++)(*:549)' .')' .')' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 47 => array(array(array('_route' => 'foo', 'def' => 'test'), array('bar'), null, null, false, null)), + 70 => array(array(array('_route' => 'bar'), array('foo'), array('GET' => 0, 'HEAD' => 1), null, false, null)), + 90 => array(array(array('_route' => 'barhead'), array('foo'), array('GET' => 0), null, false, null)), + 115 => array( + array(array('_route' => 'baz4'), array('foo'), null, null, true, null), + array(array('_route' => 'baz5'), array('foo'), array('POST' => 0), null, true, null), + array(array('_route' => 'baz.baz6'), array('foo'), array('PUT' => 0), null, true, null), + ), + 131 => array(array(array('_route' => 'quoter'), array('quoter'), null, null, false, null)), + 160 => array(array(array('_route' => 'foo1'), array('foo'), array('PUT' => 0), null, false, null)), + 168 => array(array(array('_route' => 'bar1'), array('bar'), null, null, false, null)), + 181 => array(array(array('_route' => 'overridden'), array('var'), null, null, false, null)), + 204 => array(array(array('_route' => 'foo2'), array('foo1'), null, null, false, null)), + 212 => array(array(array('_route' => 'bar2'), array('bar1'), null, null, false, null)), + 248 => array(array(array('_route' => 'helloWorld', 'who' => 'World!'), array('who'), null, null, false, null)), + 279 => array(array(array('_route' => 'foo3'), array('_locale', 'foo'), null, null, false, null)), + 287 => array(array(array('_route' => 'bar3'), array('_locale', 'bar'), null, null, false, null)), + 309 => array(array(array('_route' => 'foo4'), array('foo'), null, null, false, null)), + 371 => array(array(array('_route' => 'route13'), array('var1', 'name'), null, null, false, null)), + 389 => array(array(array('_route' => 'route14', 'var1' => 'val'), array('var1', 'name'), null, null, false, null)), + 441 => array(array(array('_route' => 'route15'), array('name'), null, null, false, null)), + 489 => array(array(array('_route' => 'route16', 'var1' => 'val'), array('name'), null, null, false, null)), + 510 => array(array(array('_route' => 'a'), array(), null, null, false, null)), + 531 => array(array(array('_route' => 'b'), array('var'), null, null, false, null)), + 549 => array(array(array('_route' => 'c'), array('var'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - case 116: - $matches = array('foo' => $matches[1] ?? null); - - // baz4 - return $this->mergeDefaults(array('_route' => 'baz4') + $matches, array()); - - // baz5 - $ret = $this->mergeDefaults(array('_route' => 'baz5') + $matches, array()); - if (!isset(($a = array('POST' => 0))[$requestMethod])) { - $allow += $a; - goto not_baz5; - } - - return $ret; - not_baz5: - - // baz.baz6 - $ret = $this->mergeDefaults(array('_route' => 'baz.baz6') + $matches, array()); - if (!isset(($a = array('PUT' => 0))[$requestMethod])) { - $allow += $a; - goto not_bazbaz6; - } - - return $ret; - not_bazbaz6: - - break; - case 161: - $matches = array('foo' => $matches[1] ?? null); - - // foo1 - $ret = $this->mergeDefaults(array('_route' => 'foo1') + $matches, array()); - if (!isset(($a = array('PUT' => 0))[$requestMethod])) { - $allow += $a; - goto not_foo1; - } - - return $ret; - not_foo1: - - break; - case 205: - $matches = array('foo1' => $matches[1] ?? null); - - // foo2 - return $this->mergeDefaults(array('_route' => 'foo2') + $matches, array()); - - break; - case 280: - $matches = array('_locale' => $matches[1] ?? null, 'foo' => $matches[2] ?? null); - - // foo3 - return $this->mergeDefaults(array('_route' => 'foo3') + $matches, array()); - - break; - default: - $routes = array( - 47 => array(array('_route' => 'foo', 'def' => 'test'), array('bar'), null, null), - 70 => array(array('_route' => 'bar'), array('foo'), array('GET' => 0, 'HEAD' => 1), null), - 90 => array(array('_route' => 'barhead'), array('foo'), array('GET' => 0), null), - 132 => array(array('_route' => 'quoter'), array('quoter'), null, null), - 169 => array(array('_route' => 'bar1'), array('bar'), null, null), - 182 => array(array('_route' => 'overridden'), array('var'), null, null), - 213 => array(array('_route' => 'bar2'), array('bar1'), null, null), - 249 => array(array('_route' => 'helloWorld', 'who' => 'World!'), array('who'), null, null), - 288 => array(array('_route' => 'bar3'), array('_locale', 'bar'), null, null), - 310 => array(array('_route' => 'foo4'), array('foo'), null, null), - 372 => array(array('_route' => 'route13'), array('var1', 'name'), null, null), - 390 => array(array('_route' => 'route14', 'var1' => 'val'), array('var1', 'name'), null, null), - 442 => array(array('_route' => 'route15'), array('name'), null, null), - 490 => array(array('_route' => 'route16', 'var1' => 'val'), array('name'), null, null), - 511 => array(array('_route' => 'a'), array(), null, null), - 532 => array(array('_route' => 'b'), array('var'), null, null), - 550 => array(array('_route' => 'c'), array('var'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (550 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - return null; } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php index 6f1c45aa9..49b4b77cd 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,103 +9,27 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - case '/with-condition': - // with-condition - if (($context->getMethod() == "GET")) { - return array('_route' => 'with-condition'); - } - break; - default: - $routes = array( - '/rootprefix/test' => array(array('_route' => 'static'), null, null, null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->staticRoutes = array( + '/rootprefix/test' => array(array(array('_route' => 'static'), null, null, null, false, null)), + '/with-condition' => array(array(array('_route' => 'with-condition'), null, null, null, false, -1)), + ); + $this->regexpList = array( 0 => '{^(?' .'|/rootprefix/([^/]++)(*:27)' - .')$}sD', + .')(?:/?)$}sD', ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 27 => array(array('_route' => 'dynamic'), array('var'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (27 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); + $this->dynamicRoutes = array( + 27 => array(array(array('_route' => 'dynamic'), array('var'), null, null, false, null)), + ); + $this->checkCondition = static function ($condition, $context, $request) { + switch ($condition) { + case -1: return ($context->getMethod() == "GET"); } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); + }; } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php index 418f8e0b1..7d99de407 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher4.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,75 +9,20 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - case '/put_and_post': - // put_and_post - $ret = array('_route' => 'put_and_post'); - if (!isset(($a = array('PUT' => 0, 'POST' => 1))[$requestMethod])) { - $allow += $a; - goto not_put_and_post; - } - - return $ret; - not_put_and_post: - // put_and_get_and_head - $ret = array('_route' => 'put_and_get_and_head'); - if (!isset(($a = array('PUT' => 0, 'GET' => 1, 'HEAD' => 2))[$canonicalMethod])) { - $allow += $a; - goto not_put_and_get_and_head; - } - - return $ret; - not_put_and_get_and_head: - break; - default: - $routes = array( - '/just_head' => array(array('_route' => 'just_head'), null, array('HEAD' => 0), null), - '/head_and_get' => array(array('_route' => 'head_and_get'), null, array('HEAD' => 0, 'GET' => 1), null), - '/get_and_head' => array(array('_route' => 'get_and_head'), null, array('GET' => 0, 'HEAD' => 1), null), - '/post_and_head' => array(array('_route' => 'post_and_head'), null, array('POST' => 0, 'HEAD' => 1), null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); + $this->staticRoutes = array( + '/just_head' => array(array(array('_route' => 'just_head'), null, array('HEAD' => 0), null, false, null)), + '/head_and_get' => array(array(array('_route' => 'head_and_get'), null, array('HEAD' => 0, 'GET' => 1), null, false, null)), + '/get_and_head' => array(array(array('_route' => 'get_and_head'), null, array('GET' => 0, 'HEAD' => 1), null, false, null)), + '/post_and_head' => array(array(array('_route' => 'post_and_head'), null, array('POST' => 0, 'HEAD' => 1), null, false, null)), + '/put_and_post' => array( + array(array('_route' => 'put_and_post'), null, array('PUT' => 0, 'POST' => 1), null, false, null), + array(array('_route' => 'put_and_get_and_head'), null, array('PUT' => 0, 'GET' => 1, 'HEAD' => 2), null, false, null), + ), + ); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php index 976a25fbe..001e6cdd5 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher5.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,145 +9,34 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($pathinfo) - { - $allow = $allowSchemes = array(); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $pathinfo) { - $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(); - } - - private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - default: - $routes = array( - '/a/11' => array(array('_route' => 'a_first'), null, null, null), - '/a/22' => array(array('_route' => 'a_second'), null, null, null), - '/a/333' => array(array('_route' => 'a_third'), null, null, null), - '/a/44/' => array(array('_route' => 'a_fourth'), null, null, null), - '/a/55/' => array(array('_route' => 'a_fifth'), null, null, null), - '/a/66/' => array(array('_route' => 'a_sixth'), null, null, null), - '/nested/group/a/' => array(array('_route' => 'nested_a'), null, null, null), - '/nested/group/b/' => array(array('_route' => 'nested_b'), null, null, null), - '/nested/group/c/' => array(array('_route' => 'nested_c'), null, null, null), - '/slashed/group/' => array(array('_route' => 'slashed_a'), null, null, null), - '/slashed/group/b/' => array(array('_route' => 'slashed_b'), null, null, null), - '/slashed/group/c/' => array(array('_route' => 'slashed_c'), null, null, null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->staticRoutes = array( + '/a/11' => array(array(array('_route' => 'a_first'), null, null, null, false, null)), + '/a/22' => array(array(array('_route' => 'a_second'), null, null, null, false, null)), + '/a/333' => array(array(array('_route' => 'a_third'), null, null, null, false, null)), + '/a/44' => array(array(array('_route' => 'a_fourth'), null, null, null, true, null)), + '/a/55' => array(array(array('_route' => 'a_fifth'), null, null, null, true, null)), + '/a/66' => array(array(array('_route' => 'a_sixth'), null, null, null, true, null)), + '/nested/group/a' => array(array(array('_route' => 'nested_a'), null, null, null, true, null)), + '/nested/group/b' => array(array(array('_route' => 'nested_b'), null, null, null, true, null)), + '/nested/group/c' => array(array(array('_route' => 'nested_c'), null, null, null, true, null)), + '/slashed/group' => array(array(array('_route' => 'slashed_a'), null, null, null, true, null)), + '/slashed/group/b' => array(array(array('_route' => 'slashed_b'), null, null, null, true, null)), + '/slashed/group/c' => array(array(array('_route' => 'slashed_c'), null, null, null, true, null)), + ); + $this->regexpList = array( 0 => '{^(?' .'|/([^/]++)(*:16)' .'|/nested/([^/]++)(*:39)' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 16 => array(array(array('_route' => 'a_wildcard'), array('param'), null, null, false, null)), + 39 => array(array(array('_route' => 'nested_wildcard'), array('param'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 16 => array(array('_route' => 'a_wildcard'), array('param'), null, null), - 39 => array(array('_route' => 'nested_wildcard'), array('param'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (39 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - return null; } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php index 9cebf2d92..3f74b33f7 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher6.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,122 +9,46 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - default: - $routes = array( - '/trailing/simple/no-methods/' => array(array('_route' => 'simple_trailing_slash_no_methods'), null, null, null), - '/trailing/simple/get-method/' => array(array('_route' => 'simple_trailing_slash_GET_method'), null, array('GET' => 0), null), - '/trailing/simple/head-method/' => array(array('_route' => 'simple_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null), - '/trailing/simple/post-method/' => array(array('_route' => 'simple_trailing_slash_POST_method'), null, array('POST' => 0), null), - '/not-trailing/simple/no-methods' => array(array('_route' => 'simple_not_trailing_slash_no_methods'), null, null, null), - '/not-trailing/simple/get-method' => array(array('_route' => 'simple_not_trailing_slash_GET_method'), null, array('GET' => 0), null), - '/not-trailing/simple/head-method' => array(array('_route' => 'simple_not_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null), - '/not-trailing/simple/post-method' => array(array('_route' => 'simple_not_trailing_slash_POST_method'), null, array('POST' => 0), null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->staticRoutes = array( + '/trailing/simple/no-methods' => array(array(array('_route' => 'simple_trailing_slash_no_methods'), null, null, null, true, null)), + '/trailing/simple/get-method' => array(array(array('_route' => 'simple_trailing_slash_GET_method'), null, array('GET' => 0), null, true, null)), + '/trailing/simple/head-method' => array(array(array('_route' => 'simple_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null, true, null)), + '/trailing/simple/post-method' => array(array(array('_route' => 'simple_trailing_slash_POST_method'), null, array('POST' => 0), null, true, null)), + '/not-trailing/simple/no-methods' => array(array(array('_route' => 'simple_not_trailing_slash_no_methods'), null, null, null, false, null)), + '/not-trailing/simple/get-method' => array(array(array('_route' => 'simple_not_trailing_slash_GET_method'), null, array('GET' => 0), null, false, null)), + '/not-trailing/simple/head-method' => array(array(array('_route' => 'simple_not_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null, false, null)), + '/not-trailing/simple/post-method' => array(array(array('_route' => 'simple_not_trailing_slash_POST_method'), null, array('POST' => 0), null, false, null)), + ); + $this->regexpList = array( 0 => '{^(?' .'|/trailing/regex/(?' - .'|no\\-methods/([^/]++)/(*:47)' - .'|get\\-method/([^/]++)/(*:75)' - .'|head\\-method/([^/]++)/(*:104)' - .'|post\\-method/([^/]++)/(*:134)' + .'|no\\-methods/([^/]++)(*:46)' + .'|get\\-method/([^/]++)(*:73)' + .'|head\\-method/([^/]++)(*:101)' + .'|post\\-method/([^/]++)(*:130)' .')' .'|/not\\-trailing/regex/(?' - .'|no\\-methods/([^/]++)(*:187)' - .'|get\\-method/([^/]++)(*:215)' - .'|head\\-method/([^/]++)(*:244)' - .'|post\\-method/([^/]++)(*:273)' + .'|no\\-methods/([^/]++)(*:183)' + .'|get\\-method/([^/]++)(*:211)' + .'|head\\-method/([^/]++)(*:240)' + .'|post\\-method/([^/]++)(*:269)' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 46 => array(array(array('_route' => 'regex_trailing_slash_no_methods'), array('param'), null, null, true, null)), + 73 => array(array(array('_route' => 'regex_trailing_slash_GET_method'), array('param'), array('GET' => 0), null, true, null)), + 101 => array(array(array('_route' => 'regex_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null, true, null)), + 130 => array(array(array('_route' => 'regex_trailing_slash_POST_method'), array('param'), array('POST' => 0), null, true, null)), + 183 => array(array(array('_route' => 'regex_not_trailing_slash_no_methods'), array('param'), null, null, false, null)), + 211 => array(array(array('_route' => 'regex_not_trailing_slash_GET_method'), array('param'), array('GET' => 0), null, false, null)), + 240 => array(array(array('_route' => 'regex_not_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null, false, null)), + 269 => array(array(array('_route' => 'regex_not_trailing_slash_POST_method'), array('param'), array('POST' => 0), null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 47 => array(array('_route' => 'regex_trailing_slash_no_methods'), array('param'), null, null), - 75 => array(array('_route' => 'regex_trailing_slash_GET_method'), array('param'), array('GET' => 0), null), - 104 => array(array('_route' => 'regex_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null), - 134 => array(array('_route' => 'regex_trailing_slash_POST_method'), array('param'), array('POST' => 0), null), - 187 => array(array('_route' => 'regex_not_trailing_slash_no_methods'), array('param'), null, null), - 215 => array(array('_route' => 'regex_not_trailing_slash_GET_method'), array('param'), array('GET' => 0), null), - 244 => array(array('_route' => 'regex_not_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null), - 273 => array(array('_route' => 'regex_not_trailing_slash_POST_method'), array('param'), array('POST' => 0), null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (273 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php index b2b707213..468db6f14 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher7.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,157 +9,46 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($pathinfo) - { - $allow = $allowSchemes = array(); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $ret; - } - if ($allow) { - throw new MethodNotAllowedException(array_keys($allow)); - } - if (!in_array($this->context->getMethod(), array('HEAD', 'GET'), true)) { - // no-op - } elseif ($allowSchemes) { - redirect_scheme: - $scheme = $this->context->getScheme(); - $this->context->setScheme(key($allowSchemes)); - try { - if ($ret = $this->doMatch($pathinfo)) { - return $this->redirect($pathinfo, $ret['_route'], $this->context->getScheme()) + $ret; - } - } finally { - $this->context->setScheme($scheme); - } - } elseif ('/' !== $pathinfo) { - $pathinfo = '/' !== $pathinfo[-1] ? $pathinfo.'/' : substr($pathinfo, 0, -1); - if ($ret = $this->doMatch($pathinfo, $allow, $allowSchemes)) { - return $this->redirect($pathinfo, $ret['_route']) + $ret; - } - if ($allowSchemes) { - goto redirect_scheme; - } - } - - throw new ResourceNotFoundException(); - } - - private function doMatch(string $rawPathinfo, array &$allow = array(), array &$allowSchemes = array()): ?array - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - default: - $routes = array( - '/trailing/simple/no-methods/' => array(array('_route' => 'simple_trailing_slash_no_methods'), null, null, null), - '/trailing/simple/get-method/' => array(array('_route' => 'simple_trailing_slash_GET_method'), null, array('GET' => 0), null), - '/trailing/simple/head-method/' => array(array('_route' => 'simple_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null), - '/trailing/simple/post-method/' => array(array('_route' => 'simple_trailing_slash_POST_method'), null, array('POST' => 0), null), - '/not-trailing/simple/no-methods' => array(array('_route' => 'simple_not_trailing_slash_no_methods'), null, null, null), - '/not-trailing/simple/get-method' => array(array('_route' => 'simple_not_trailing_slash_GET_method'), null, array('GET' => 0), null), - '/not-trailing/simple/head-method' => array(array('_route' => 'simple_not_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null), - '/not-trailing/simple/post-method' => array(array('_route' => 'simple_not_trailing_slash_POST_method'), null, array('POST' => 0), null), - ); - - if (!isset($routes[$pathinfo])) { - break; - } - list($ret, $requiredHost, $requiredMethods, $requiredSchemes) = $routes[$pathinfo]; - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->staticRoutes = array( + '/trailing/simple/no-methods' => array(array(array('_route' => 'simple_trailing_slash_no_methods'), null, null, null, true, null)), + '/trailing/simple/get-method' => array(array(array('_route' => 'simple_trailing_slash_GET_method'), null, array('GET' => 0), null, true, null)), + '/trailing/simple/head-method' => array(array(array('_route' => 'simple_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null, true, null)), + '/trailing/simple/post-method' => array(array(array('_route' => 'simple_trailing_slash_POST_method'), null, array('POST' => 0), null, true, null)), + '/not-trailing/simple/no-methods' => array(array(array('_route' => 'simple_not_trailing_slash_no_methods'), null, null, null, false, null)), + '/not-trailing/simple/get-method' => array(array(array('_route' => 'simple_not_trailing_slash_GET_method'), null, array('GET' => 0), null, false, null)), + '/not-trailing/simple/head-method' => array(array(array('_route' => 'simple_not_trailing_slash_HEAD_method'), null, array('HEAD' => 0), null, false, null)), + '/not-trailing/simple/post-method' => array(array(array('_route' => 'simple_not_trailing_slash_POST_method'), null, array('POST' => 0), null, false, null)), + ); + $this->regexpList = array( 0 => '{^(?' .'|/trailing/regex/(?' - .'|no\\-methods/([^/]++)/(*:47)' - .'|get\\-method/([^/]++)/(*:75)' - .'|head\\-method/([^/]++)/(*:104)' - .'|post\\-method/([^/]++)/(*:134)' + .'|no\\-methods/([^/]++)(*:46)' + .'|get\\-method/([^/]++)(*:73)' + .'|head\\-method/([^/]++)(*:101)' + .'|post\\-method/([^/]++)(*:130)' .')' .'|/not\\-trailing/regex/(?' - .'|no\\-methods/([^/]++)(*:187)' - .'|get\\-method/([^/]++)(*:215)' - .'|head\\-method/([^/]++)(*:244)' - .'|post\\-method/([^/]++)(*:273)' + .'|no\\-methods/([^/]++)(*:183)' + .'|get\\-method/([^/]++)(*:211)' + .'|head\\-method/([^/]++)(*:240)' + .'|post\\-method/([^/]++)(*:269)' .')' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 46 => array(array(array('_route' => 'regex_trailing_slash_no_methods'), array('param'), null, null, true, null)), + 73 => array(array(array('_route' => 'regex_trailing_slash_GET_method'), array('param'), array('GET' => 0), null, true, null)), + 101 => array(array(array('_route' => 'regex_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null, true, null)), + 130 => array(array(array('_route' => 'regex_trailing_slash_POST_method'), array('param'), array('POST' => 0), null, true, null)), + 183 => array(array(array('_route' => 'regex_not_trailing_slash_no_methods'), array('param'), null, null, false, null)), + 211 => array(array(array('_route' => 'regex_not_trailing_slash_GET_method'), array('param'), array('GET' => 0), null, false, null)), + 240 => array(array(array('_route' => 'regex_not_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null, false, null)), + 269 => array(array(array('_route' => 'regex_not_trailing_slash_POST_method'), array('param'), array('POST' => 0), null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 47 => array(array('_route' => 'regex_trailing_slash_no_methods'), array('param'), null, null), - 75 => array(array('_route' => 'regex_trailing_slash_GET_method'), array('param'), array('GET' => 0), null), - 104 => array(array('_route' => 'regex_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null), - 134 => array(array('_route' => 'regex_trailing_slash_POST_method'), array('param'), array('POST' => 0), null), - 187 => array(array('_route' => 'regex_not_trailing_slash_no_methods'), array('param'), null, null), - 215 => array(array('_route' => 'regex_not_trailing_slash_GET_method'), array('param'), array('GET' => 0), null), - 244 => array(array('_route' => 'regex_not_trailing_slash_HEAD_method'), array('param'), array('HEAD' => 0), null), - 273 => array(array('_route' => 'regex_not_trailing_slash_POST_method'), array('param'), array('POST' => 0), null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (273 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - return null; } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher8.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher8.php index 38bbfa224..9068923af 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher8.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher8.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,79 +9,26 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - $matchedPathinfo = $pathinfo; - $regexList = array( + $this->regexpList = array( 0 => '{^(?' .'|/(a)(*:11)' - .')$}sD', + .')(?:/?)$}sD', 11 => '{^(?' .'|/(.)(*:22)' - .')$}sDu', + .')(?:/?)$}sDu', 22 => '{^(?' .'|/(.)(*:33)' - .')$}sD', + .')(?:/?)$}sD', + ); + $this->dynamicRoutes = array( + 11 => array(array(array('_route' => 'a'), array('a'), null, null, false, null)), + 22 => array(array(array('_route' => 'b'), array('a'), null, null, false, null)), + 33 => array(array(array('_route' => 'c'), array('a'), null, null, false, null)), ); - - foreach ($regexList as $offset => $regex) { - while (preg_match($regex, $matchedPathinfo, $matches)) { - switch ($m = (int) $matches['MARK']) { - default: - $routes = array( - 11 => array(array('_route' => 'a'), array('a'), null, null), - 22 => array(array('_route' => 'b'), array('a'), null, null), - 33 => array(array('_route' => 'c'), array('a'), null, null), - ); - - list($ret, $vars, $requiredMethods, $requiredSchemes) = $routes[$m]; - - foreach ($vars as $i => $v) { - if (isset($matches[1 + $i])) { - $ret[$v] = $matches[1 + $i]; - } - } - - $hasRequiredScheme = !$requiredSchemes || isset($requiredSchemes[$context->getScheme()]); - if ($requiredMethods && !isset($requiredMethods[$canonicalMethod]) && !isset($requiredMethods[$requestMethod])) { - if ($hasRequiredScheme) { - $allow += $requiredMethods; - } - break; - } - if (!$hasRequiredScheme) { - $allowSchemes += $requiredSchemes; - break; - } - - return $ret; - } - - if (33 === $m) { - break; - } - $regex = substr_replace($regex, 'F', $m - $offset, 1 + strlen($m)); - $offset += strlen($m); - } - } - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher9.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher9.php index cfcd1d440..8684b5953 100644 --- a/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher9.php +++ b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher9.php @@ -1,7 +1,6 @@ <?php -use Symfony\Component\Routing\Exception\MethodNotAllowedException; -use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherTrait; use Symfony\Component\Routing\RequestContext; /** @@ -10,44 +9,18 @@ use Symfony\Component\Routing\RequestContext; */ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher { + use PhpMatcherTrait; + public function __construct(RequestContext $context) { $this->context = $context; - } - - public function match($rawPathinfo) - { - $allow = $allowSchemes = array(); - $pathinfo = rawurldecode($rawPathinfo); - $context = $this->context; - $requestMethod = $canonicalMethod = $context->getMethod(); - $host = strtolower($context->getHost()); - - if ('HEAD' === $requestMethod) { - $canonicalMethod = 'GET'; - } - - switch ($pathinfo) { - case '/': - // a - if (preg_match('#^(?P<d>[^\\.]++)\\.e\\.c\\.b\\.a$#sDi', $host, $hostMatches)) { - return $this->mergeDefaults(array('_route' => 'a') + $hostMatches, array()); - } - // c - if (preg_match('#^(?P<e>[^\\.]++)\\.e\\.c\\.b\\.a$#sDi', $host, $hostMatches)) { - return $this->mergeDefaults(array('_route' => 'c') + $hostMatches, array()); - } - // b - if ('d.c.b.a' === $host) { - return array('_route' => 'b'); - } - break; - } - - if ('/' === $pathinfo && !$allow && !$allowSchemes) { - throw new Symfony\Component\Routing\Exception\NoConfigurationException(); - } - - throw $allow ? new MethodNotAllowedException(array_keys($allow)) : new ResourceNotFoundException(); + $this->matchHost = true; + $this->staticRoutes = array( + '/' => array( + array(array('_route' => 'a'), '#^(?P<d>[^\\.]++)\\.e\\.c\\.b\\.a$#sDi', null, null, false, null), + array(array('_route' => 'c'), '#^(?P<e>[^\\.]++)\\.e\\.c\\.b\\.a$#sDi', null, null, false, null), + array(array('_route' => 'b'), 'd.c.b.a', null, null, false, null), + ), + ); } } diff --git a/vendor/symfony/routing/Tests/Fixtures/requirements_without_placeholder_name.yml b/vendor/symfony/routing/Tests/Fixtures/requirements_without_placeholder_name.yml new file mode 100644 index 000000000..be8f04dd6 --- /dev/null +++ b/vendor/symfony/routing/Tests/Fixtures/requirements_without_placeholder_name.yml @@ -0,0 +1,4 @@ +foo: + path: '/{foo}' + requirements: + - '\d+' diff --git a/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php b/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php index dcfb2304c..45464c3a9 100644 --- a/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php +++ b/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php @@ -84,19 +84,20 @@ class PhpGeneratorDumperTest extends TestCase $this->assertEquals('/app.php/testing2', $relativeUrlWithoutParameter); } - public function testDumpWithLocalizedRoutes() + public function testDumpWithSimpleLocalizedRoutes() { + $this->routeCollection->add('test', (new Route('/foo'))); $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')); $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_locale', 'nl')->setDefault('_canonical_route', 'test')); $code = $this->generatorDumper->dump(array( - 'class' => 'LocalizedProjectUrlGenerator', + 'class' => 'SimpleLocalizedProjectUrlGenerator', )); file_put_contents($this->testTmpFilepath, $code); include $this->testTmpFilepath; $context = new RequestContext('/app.php'); - $projectUrlGenerator = new \LocalizedProjectUrlGenerator($context, null, 'en'); + $projectUrlGenerator = new \SimpleLocalizedProjectUrlGenerator($context, null, 'en'); $urlWithDefaultLocale = $projectUrlGenerator->generate('test'); $urlWithSpecifiedLocale = $projectUrlGenerator->generate('test', array('_locale' => 'nl')); @@ -109,6 +110,57 @@ class PhpGeneratorDumperTest extends TestCase $this->assertEquals('/app.php/testen/is/leuk', $urlWithSpecifiedLocale); $this->assertEquals('/app.php/testing/is/fun', $urlWithEnglishContext); $this->assertEquals('/app.php/testen/is/leuk', $urlWithDutchContext); + + // test with full route name + $this->assertEquals('/app.php/testing/is/fun', $projectUrlGenerator->generate('test.en')); + + $context->setParameter('_locale', 'de_DE'); + // test that it fall backs to another route when there is no matching localized route + $this->assertEquals('/app.php/foo', $projectUrlGenerator->generate('test')); + } + + /** + * @expectedException \Symfony\Component\Routing\Exception\RouteNotFoundException + * @expectedExceptionMessage Unable to generate a URL for the named route "test" as such route does not exist. + */ + public function testDumpWithRouteNotFoundLocalizedRoutes() + { + $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_locale', 'en')->setDefault('_canonical_route', 'test')); + + $code = $this->generatorDumper->dump(array( + 'class' => 'RouteNotFoundLocalizedProjectUrlGenerator', + )); + file_put_contents($this->testTmpFilepath, $code); + include $this->testTmpFilepath; + + $projectUrlGenerator = new \RouteNotFoundLocalizedProjectUrlGenerator(new RequestContext('/app.php'), null, 'pl_PL'); + $projectUrlGenerator->generate('test'); + } + + public function testDumpWithFallbackLocaleLocalizedRoutes() + { + $this->routeCollection->add('test.en', (new Route('/testing/is/fun'))->setDefault('_canonical_route', 'test')); + $this->routeCollection->add('test.nl', (new Route('/testen/is/leuk'))->setDefault('_canonical_route', 'test')); + $this->routeCollection->add('test.fr', (new Route('/tester/est/amusant'))->setDefault('_canonical_route', 'test')); + + $code = $this->generatorDumper->dump(array( + 'class' => 'FallbackLocaleLocalizedProjectUrlGenerator', + )); + file_put_contents($this->testTmpFilepath, $code); + include $this->testTmpFilepath; + + $context = new RequestContext('/app.php'); + $context->setParameter('_locale', 'en_GB'); + $projectUrlGenerator = new \FallbackLocaleLocalizedProjectUrlGenerator($context, null, null); + + // test with context _locale + $this->assertEquals('/app.php/testing/is/fun', $projectUrlGenerator->generate('test')); + // test with parameters _locale + $this->assertEquals('/app.php/testen/is/leuk', $projectUrlGenerator->generate('test', array('_locale' => 'nl_BE'))); + + $projectUrlGenerator = new \FallbackLocaleLocalizedProjectUrlGenerator(new RequestContext('/app.php'), null, 'fr_CA'); + // test with default locale + $this->assertEquals('/app.php/tester/est/amusant', $projectUrlGenerator->generate('test')); } public function testDumpWithTooManyRoutes() diff --git a/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php index dd9af9db2..cacce677f 100644 --- a/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php +++ b/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php @@ -33,6 +33,7 @@ use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\MissingRouteName use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\NothingButNameController; use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\PrefixedActionLocalizedRouteController; use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\PrefixedActionPathController; +use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RequirementsWithoutPlaceholderNameController; use Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RouteWithPrefixController; class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest @@ -87,11 +88,25 @@ class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest $this->assertEquals('/path', $routes->get('action')->getPath()); } + /** + * @group legacy + * @expectedDeprecation A placeholder name must be a string (0 given). Did you forget to specify the placeholder key for the requirement "foo" in "Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RequirementsWithoutPlaceholderNameController"? + * @expectedDeprecation A placeholder name must be a string (1 given). Did you forget to specify the placeholder key for the requirement "\d+" in "Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RequirementsWithoutPlaceholderNameController"? + * @expectedDeprecation A placeholder name must be a string (0 given). Did you forget to specify the placeholder key for the requirement "foo" of route "foo" in "Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RequirementsWithoutPlaceholderNameController::foo()"? + * @expectedDeprecation A placeholder name must be a string (1 given). Did you forget to specify the placeholder key for the requirement "\d+" of route "foo" in "Symfony\Component\Routing\Tests\Fixtures\AnnotationFixtures\RequirementsWithoutPlaceholderNameController::foo()"? + */ + public function testRequirementsWithoutPlaceholderName() + { + $this->loader->load(RequirementsWithoutPlaceholderNameController::class); + } + public function testInvokableControllerLoader() { $routes = $this->loader->load(InvokableController::class); $this->assertCount(1, $routes); $this->assertEquals('/here', $routes->get('lol')->getPath()); + $this->assertEquals(array('GET', 'POST'), $routes->get('lol')->getMethods()); + $this->assertEquals(array('https'), $routes->get('lol')->getSchemes()); } public function testInvokableLocalizedControllerLoading() @@ -134,7 +149,7 @@ class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest $this->assertEquals('/the/path', $routes->get('post')->getPath()); } - public function testLocalizedMethodActionControllers() + public function testInvokableClassRouteLoadWithMethodAnnotation() { $routes = $this->loader->load(LocalizedMethodActionControllers::class); $this->assertCount(4, $routes); diff --git a/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php index 41f87bb58..26a72e333 100644 --- a/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php +++ b/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php @@ -304,4 +304,14 @@ class YamlFileLoaderTest extends TestCase $this->assertEquals('/slash/', $routeCollection->get('a_app_homepage')->getPath()); $this->assertEquals('/no-slash', $routeCollection->get('b_app_homepage')->getPath()); } + + /** + * @group legacy + * @expectedDeprecation A placeholder name must be a string (0 given). Did you forget to specify the placeholder key for the requirement "\d+" of route "foo" in "%srequirements_without_placeholder_name.yml"? + */ + public function testRequirementsWithoutPlaceholderName() + { + $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures'))); + $loader->load('requirements_without_placeholder_name.yml'); + } } diff --git a/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php b/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php index 166129ccc..a5cb04351 100644 --- a/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php +++ b/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php @@ -472,9 +472,6 @@ class PhpMatcherDumperTest extends TestCase ); } - /** - * @param $dumper - */ private function generateDumpedMatcher(RouteCollection $collection, $redirectableStub = false) { $options = array('class' => $this->matcherClass); diff --git a/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php index e36796224..eb1703353 100644 --- a/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php +++ b/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php @@ -141,6 +141,25 @@ class RedirectableUrlMatcherTest extends UrlMatcherTest $this->assertSame(array('_route' => 'foo'), $matcher->match('/foo')); } + public function testFallbackPage() + { + $coll = new RouteCollection(); + $coll->add('foo', new Route('/foo/')); + $coll->add('bar', new Route('/{name}')); + + $matcher = $this->getUrlMatcher($coll); + $matcher->expects($this->once())->method('redirect')->with('/foo/', 'foo')->will($this->returnValue(array('_route' => 'foo'))); + $this->assertSame(array('_route' => 'foo'), $matcher->match('/foo')); + + $coll = new RouteCollection(); + $coll->add('foo', new Route('/foo')); + $coll->add('bar', new Route('/{name}/')); + + $matcher = $this->getUrlMatcher($coll); + $matcher->expects($this->once())->method('redirect')->with('/foo', 'foo')->will($this->returnValue(array('_route' => 'foo'))); + $this->assertSame(array('_route' => 'foo'), $matcher->match('/foo/')); + } + public function testMissingTrailingSlashAndScheme() { $coll = new RouteCollection(); diff --git a/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php index c1add9627..5f24e5f79 100644 --- a/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php +++ b/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php @@ -455,6 +455,9 @@ class UrlMatcherTest extends TestCase { $coll = new RouteCollection(); $route = new Route('/foo/{bar}'); + $route->setCondition('request.getBaseUrl() == "/bar"'); + $coll->add('bar', $route); + $route = new Route('/foo/{bar}'); $route->setCondition('request.getBaseUrl() == "/sub/front.php" and request.getPathInfo() == "/foo/bar"'); $coll->add('foo', $route); $matcher = $this->getUrlMatcher($coll, new RequestContext('/sub/front.php')); @@ -680,6 +683,15 @@ class UrlMatcherTest extends TestCase $this->assertEquals('b', $matcher->match('/bar/abc.123')['_route']); } + public function testSlashVariant() + { + $coll = new RouteCollection(); + $coll->add('a', new Route('/foo/{bar}', array(), array('bar' => '.*'))); + + $matcher = $this->getUrlMatcher($coll); + $this->assertEquals('a', $matcher->match('/foo/')['_route']); + } + protected function getUrlMatcher(RouteCollection $routes, RequestContext $context = null) { return new UrlMatcher($routes, $context ?: new RequestContext()); diff --git a/vendor/symfony/routing/composer.json b/vendor/symfony/routing/composer.json index 052b0e113..be489ee98 100644 --- a/vendor/symfony/routing/composer.json +++ b/vendor/symfony/routing/composer.json @@ -19,7 +19,7 @@ "php": "^7.1.3" }, "require-dev": { - "symfony/config": "~3.4|~4.0", + "symfony/config": "~4.2", "symfony/http-foundation": "~3.4|~4.0", "symfony/yaml": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", @@ -28,7 +28,7 @@ "psr/log": "~1.0" }, "conflict": { - "symfony/config": "<3.4", + "symfony/config": "<4.2", "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, @@ -49,7 +49,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/routing/phpunit.xml.dist b/vendor/symfony/routing/phpunit.xml.dist index bcc095952..df742eab0 100644 --- a/vendor/symfony/routing/phpunit.xml.dist +++ b/vendor/symfony/routing/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/translation/CHANGELOG.md b/vendor/symfony/translation/CHANGELOG.md index 527b80495..87eb2fa4a 100644 --- a/vendor/symfony/translation/CHANGELOG.md +++ b/vendor/symfony/translation/CHANGELOG.md @@ -1,6 +1,18 @@ CHANGELOG ========= +4.2.0 +----- + + * Started using ICU parent locales as fallback locales. + * allow using the ICU message format using domains with the "+intl-icu" suffix + * deprecated `Translator::transChoice()` in favor of using `Translator::trans()` with a `%count%` parameter + * deprecated `TranslatorInterface` in favor of `Symfony\Contracts\Translation\TranslatorInterface` + * deprecated `MessageSelector`, `Interval` and `PluralizationRules`; use `IdentityTranslator` instead + * Added `IntlFormatter` and `IntlFormatterInterface` + * added support for multiple files and directories in `XliffLintCommand` + * Marked `Translator::getFallbackLocales()` and `TranslationDataCollector::getFallbackLocales()` as internal + 4.1.0 ----- diff --git a/vendor/symfony/translation/Catalogue/AbstractOperation.php b/vendor/symfony/translation/Catalogue/AbstractOperation.php index c303a4f6e..a0765ddd6 100644 --- a/vendor/symfony/translation/Catalogue/AbstractOperation.php +++ b/vendor/symfony/translation/Catalogue/AbstractOperation.php @@ -31,7 +31,7 @@ abstract class AbstractOperation implements OperationInterface protected $result; /** - * @var null|array The domains affected by this operation + * @var array|null The domains affected by this operation */ private $domains; @@ -39,21 +39,20 @@ abstract class AbstractOperation implements OperationInterface * This array stores 'all', 'new' and 'obsolete' messages for all valid domains. * * The data structure of this array is as follows: - * ```php - * array( - * 'domain 1' => array( - * 'all' => array(...), - * 'new' => array(...), - * 'obsolete' => array(...) - * ), - * 'domain 2' => array( - * 'all' => array(...), - * 'new' => array(...), - * 'obsolete' => array(...) - * ), - * ... - * ) - * ``` + * + * array( + * 'domain 1' => array( + * 'all' => array(...), + * 'new' => array(...), + * 'obsolete' => array(...) + * ), + * 'domain 2' => array( + * 'all' => array(...), + * 'new' => array(...), + * 'obsolete' => array(...) + * ), + * ... + * ) * * @var array The array that stores 'all', 'new' and 'obsolete' messages */ diff --git a/vendor/symfony/translation/Catalogue/MergeOperation.php b/vendor/symfony/translation/Catalogue/MergeOperation.php index 6db3f801f..8dd402617 100644 --- a/vendor/symfony/translation/Catalogue/MergeOperation.php +++ b/vendor/symfony/translation/Catalogue/MergeOperation.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Translation\Catalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + /** * Merge operation between two catalogues as follows: * all = source ∪ target = {x: x ∈ source ∨ x ∈ target} @@ -32,10 +34,11 @@ class MergeOperation extends AbstractOperation 'new' => array(), 'obsolete' => array(), ); + $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX; foreach ($this->source->all($domain) as $id => $message) { $this->messages[$domain]['all'][$id] = $message; - $this->result->add(array($id => $message), $domain); + $this->result->add(array($id => $message), $this->source->defines($id, $intlDomain) ? $intlDomain : $domain); if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { $this->result->setMetadata($id, $keyMetadata, $domain); } @@ -45,7 +48,7 @@ class MergeOperation extends AbstractOperation if (!$this->source->has($id, $domain)) { $this->messages[$domain]['all'][$id] = $message; $this->messages[$domain]['new'][$id] = $message; - $this->result->add(array($id => $message), $domain); + $this->result->add(array($id => $message), $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { $this->result->setMetadata($id, $keyMetadata, $domain); } diff --git a/vendor/symfony/translation/Catalogue/TargetOperation.php b/vendor/symfony/translation/Catalogue/TargetOperation.php index f3b0a29df..6264525c9 100644 --- a/vendor/symfony/translation/Catalogue/TargetOperation.php +++ b/vendor/symfony/translation/Catalogue/TargetOperation.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Translation\Catalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + /** * Target operation between two catalogues: * intersection = source ∩ target = {x: x ∈ source ∧ x ∈ target} @@ -33,6 +35,7 @@ class TargetOperation extends AbstractOperation 'new' => array(), 'obsolete' => array(), ); + $intlDomain = $domain.MessageCatalogueInterface::INTL_DOMAIN_SUFFIX; // For 'all' messages, the code can't be simplified as ``$this->messages[$domain]['all'] = $target->all($domain);``, // because doing so will drop messages like {x: x ∈ source ∧ x ∉ target.all ∧ x ∈ target.fallback} @@ -46,7 +49,7 @@ class TargetOperation extends AbstractOperation foreach ($this->source->all($domain) as $id => $message) { if ($this->target->has($id, $domain)) { $this->messages[$domain]['all'][$id] = $message; - $this->result->add(array($id => $message), $domain); + $this->result->add(array($id => $message), $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { $this->result->setMetadata($id, $keyMetadata, $domain); } @@ -59,7 +62,7 @@ class TargetOperation extends AbstractOperation if (!$this->source->has($id, $domain)) { $this->messages[$domain]['all'][$id] = $message; $this->messages[$domain]['new'][$id] = $message; - $this->result->add(array($id => $message), $domain); + $this->result->add(array($id => $message), $this->target->defines($id, $intlDomain) ? $intlDomain : $domain); if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { $this->result->setMetadata($id, $keyMetadata, $domain); } diff --git a/vendor/symfony/translation/Command/XliffLintCommand.php b/vendor/symfony/translation/Command/XliffLintCommand.php index 378788f5b..67bb7764b 100644 --- a/vendor/symfony/translation/Command/XliffLintCommand.php +++ b/vendor/symfony/translation/Command/XliffLintCommand.php @@ -13,10 +13,12 @@ namespace Symfony\Component\Translation\Command; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Exception\RuntimeException; +use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; +use Symfony\Component\Translation\Util\XliffUtils; /** * Validates XLIFF files syntax and outputs encountered errors. @@ -33,13 +35,15 @@ class XliffLintCommand extends Command private $displayCorrectFiles; private $directoryIteratorProvider; private $isReadableProvider; + private $requireStrictFileNames; - public function __construct(string $name = null, callable $directoryIteratorProvider = null, callable $isReadableProvider = null) + public function __construct(string $name = null, callable $directoryIteratorProvider = null, callable $isReadableProvider = null, bool $requireStrictFileNames = true) { parent::__construct($name); $this->directoryIteratorProvider = $directoryIteratorProvider; $this->isReadableProvider = $isReadableProvider; + $this->requireStrictFileNames = $requireStrictFileNames; } /** @@ -49,7 +53,7 @@ class XliffLintCommand extends Command { $this ->setDescription('Lints a XLIFF file and outputs encountered errors') - ->addArgument('filename', null, 'A file or a directory or STDIN') + ->addArgument('filename', InputArgument::IS_ARRAY, 'A file or a directory or STDIN') ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt') ->setHelp(<<<EOF The <info>%command.name%</info> command lints a XLIFF file and outputs to STDOUT @@ -76,11 +80,11 @@ EOF protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); - $filename = $input->getArgument('filename'); + $filenames = (array) $input->getArgument('filename'); $this->format = $input->getOption('format'); $this->displayCorrectFiles = $output->isVerbose(); - if (!$filename) { + if (0 === \count($filenames)) { if (!$stdin = $this->getStdin()) { throw new RuntimeException('Please provide a filename or pipe file content to STDIN.'); } @@ -88,13 +92,15 @@ EOF return $this->display($io, array($this->validate($stdin))); } - if (!$this->isReadable($filename)) { - throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename)); - } - $filesInfo = array(); - foreach ($this->getFiles($filename) as $file) { - $filesInfo[] = $this->validate(file_get_contents($file), $file); + foreach ($filenames as $filename) { + if (!$this->isReadable($filename)) { + throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename)); + } + + foreach ($this->getFiles($filename) as $file) { + $filesInfo[] = $this->validate(file_get_contents($file), $file); + } } return $this->display($io, $filesInfo); @@ -115,30 +121,28 @@ EOF $document->loadXML($content); if (null !== $targetLanguage = $this->getTargetLanguageFromFile($document)) { - $expectedFileExtension = sprintf('%s.xlf', str_replace('-', '_', $targetLanguage)); - $realFileExtension = explode('.', basename($file), 2)[1] ?? ''; + $normalizedLocale = preg_quote(str_replace('-', '_', $targetLanguage), '/'); + // strict file names require translation files to be named '____.locale.xlf' + // otherwise, both '____.locale.xlf' and 'locale.____.xlf' are allowed + $expectedFilenamePattern = $this->requireStrictFileNames ? sprintf('/^.*\.%s\.xlf/', $normalizedLocale) : sprintf('/^(.*\.%s\.xlf|%s\..*\.xlf)/', $normalizedLocale, $normalizedLocale); - if ($expectedFileExtension !== $realFileExtension) { + if (0 === preg_match($expectedFilenamePattern, basename($file))) { $errors[] = array( 'line' => -1, 'column' => -1, - 'message' => sprintf('There is a mismatch between the file extension ("%s") and the "%s" value used in the "target-language" attribute of the file.', $realFileExtension, $targetLanguage), + 'message' => sprintf('There is a mismatch between the language included in the file name ("%s") and the "%s" value used in the "target-language" attribute of the file.', basename($file), $targetLanguage), ); } } - $document->schemaValidate(__DIR__.'/../Resources/schemas/xliff-core-1.2-strict.xsd'); - foreach (libxml_get_errors() as $xmlError) { + foreach (XliffUtils::validateSchema($document) as $xmlError) { $errors[] = array( - 'line' => $xmlError->line, - 'column' => $xmlError->column, - 'message' => trim($xmlError->message), + 'line' => $xmlError['line'], + 'column' => $xmlError['column'], + 'message' => $xmlError['message'], ); } - libxml_clear_errors(); - libxml_use_internal_errors(false); - return array('file' => $file, 'valid' => 0 === \count($errors), 'messages' => $errors); } diff --git a/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/vendor/symfony/translation/DataCollector/TranslationDataCollector.php old mode 100644 new mode 100755 index edd712dd1..b28151914 --- a/vendor/symfony/translation/DataCollector/TranslationDataCollector.php +++ b/vendor/symfony/translation/DataCollector/TranslationDataCollector.php @@ -97,6 +97,9 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto return !empty($this->data['locale']) ? $this->data['locale'] : null; } + /** + * @internal since Symfony 4.2 + */ public function getFallbackLocales() { return (isset($this->data['fallback_locales']) && \count($this->data['fallback_locales']) > 0) ? $this->data['fallback_locales'] : array(); diff --git a/vendor/symfony/translation/DataCollectorTranslator.php b/vendor/symfony/translation/DataCollectorTranslator.php index 5d4d819e0..5e547163a 100644 --- a/vendor/symfony/translation/DataCollectorTranslator.php +++ b/vendor/symfony/translation/DataCollectorTranslator.php @@ -12,11 +12,13 @@ namespace Symfony\Component\Translation; use Symfony\Component\Translation\Exception\InvalidArgumentException; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; /** * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> */ -class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInterface +class DataCollectorTranslator implements LegacyTranslatorInterface, TranslatorInterface, TranslatorBagInterface { const MESSAGE_DEFINED = 0; const MESSAGE_MISSING = 1; @@ -32,8 +34,11 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter /** * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface */ - public function __construct(TranslatorInterface $translator) + public function __construct($translator) { + if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { + throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); + } if (!$translator instanceof TranslatorBagInterface) { throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface and TranslatorBagInterface.', \get_class($translator))); } @@ -54,11 +59,18 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter */ public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) { + if ($this->translator instanceof TranslatorInterface) { + $trans = $this->translator->trans($id, array('%count%' => $number) + $parameters, $domain, $locale); + } + $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); - $this->collectMessage($locale, $domain, $id, $trans, $parameters, $number); + + $this->collectMessage($locale, $domain, $id, $trans, array('%count%' => $number) + $parameters); return $trans; } @@ -90,7 +102,7 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter /** * Gets the fallback locales. * - * @return array $locales The fallback locales + * @return array The fallback locales */ public function getFallbackLocales() { @@ -106,7 +118,7 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter */ public function __call($method, $args) { - return \call_user_func_array(array($this->translator, $method), $args); + return $this->translator->{$method}(...$args); } /** @@ -123,9 +135,8 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter * @param string $id * @param string $translation * @param array|null $parameters - * @param int|null $number */ - private function collectMessage($locale, $domain, $id, $translation, $parameters = array(), $number = null) + private function collectMessage($locale, $domain, $id, $translation, $parameters = array()) { if (null === $domain) { $domain = 'messages'; @@ -158,8 +169,8 @@ class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInter 'id' => $id, 'translation' => $translation, 'parameters' => $parameters, - 'transChoiceNumber' => $number, 'state' => $state, + 'transChoiceNumber' => isset($parameters['%count%']) && is_numeric($parameters['%count%']) ? $parameters['%count%'] : null, ); } } diff --git a/vendor/symfony/translation/Dumper/CsvFileDumper.php b/vendor/symfony/translation/Dumper/CsvFileDumper.php index ebfa831db..0880528dc 100644 --- a/vendor/symfony/translation/Dumper/CsvFileDumper.php +++ b/vendor/symfony/translation/Dumper/CsvFileDumper.php @@ -28,7 +28,7 @@ class CsvFileDumper extends FileDumper */ public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = array()) { - $handle = fopen('php://memory', 'rb+'); + $handle = fopen('php://memory', 'r+b'); foreach ($messages->all($domain) as $source => $target) { fputcsv($handle, array($source, $target), $this->delimiter, $this->enclosure); diff --git a/vendor/symfony/translation/Dumper/FileDumper.php b/vendor/symfony/translation/Dumper/FileDumper.php index 5b10e4520..8afcf6089 100644 --- a/vendor/symfony/translation/Dumper/FileDumper.php +++ b/vendor/symfony/translation/Dumper/FileDumper.php @@ -45,7 +45,7 @@ abstract class FileDumper implements DumperInterface /** * Sets backup flag. * - * @param bool + * @param bool $backup * * @deprecated since Symfony 4.1 */ @@ -76,7 +76,26 @@ abstract class FileDumper implements DumperInterface throw new RuntimeException(sprintf('Unable to create directory "%s".', $directory)); } } - // save file + + $intlDomain = $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX; + $intlMessages = $messages->all($intlDomain); + + if ($intlMessages) { + $intlPath = $options['path'].'/'.$this->getRelativePath($intlDomain, $messages->getLocale()); + file_put_contents($intlPath, $this->formatCatalogue($messages, $intlDomain, $options)); + + $messages->replace(array(), $intlDomain); + + try { + if ($messages->all($domain)) { + file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); + } + continue; + } finally { + $messages->replace($intlMessages, $intlDomain); + } + } + file_put_contents($fullpath, $this->formatCatalogue($messages, $domain, $options)); } } diff --git a/vendor/symfony/translation/Dumper/JsonFileDumper.php b/vendor/symfony/translation/Dumper/JsonFileDumper.php index 32bdaf518..a4db4d6ab 100644 --- a/vendor/symfony/translation/Dumper/JsonFileDumper.php +++ b/vendor/symfony/translation/Dumper/JsonFileDumper.php @@ -25,11 +25,7 @@ class JsonFileDumper extends FileDumper */ public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = array()) { - if (isset($options['json_encoding'])) { - $flags = $options['json_encoding']; - } else { - $flags = JSON_PRETTY_PRINT; - } + $flags = $options['json_encoding'] ?? JSON_PRETTY_PRINT; return json_encode($messages->all($domain), $flags); } diff --git a/vendor/symfony/translation/Dumper/MoFileDumper.php b/vendor/symfony/translation/Dumper/MoFileDumper.php index 2022a4211..32ed0ac26 100644 --- a/vendor/symfony/translation/Dumper/MoFileDumper.php +++ b/vendor/symfony/translation/Dumper/MoFileDumper.php @@ -57,7 +57,7 @@ class MoFileDumper extends FileDumper .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize); } - $output = implode(array_map(array($this, 'writeLong'), $header)) + $output = implode('', array_map(array($this, 'writeLong'), $header)) .$sourceOffsets .$targetOffsets .$sources diff --git a/vendor/symfony/translation/Exception/ExceptionInterface.php b/vendor/symfony/translation/Exception/ExceptionInterface.php index c85fb93ca..8f9c54ef7 100644 --- a/vendor/symfony/translation/Exception/ExceptionInterface.php +++ b/vendor/symfony/translation/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Translation\Exception; * * @author Fabien Potencier <fabien@symfony.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/translation/Extractor/PhpStringTokenParser.php b/vendor/symfony/translation/Extractor/PhpStringTokenParser.php index 6ed39d465..e8094e6c0 100644 --- a/vendor/symfony/translation/Extractor/PhpStringTokenParser.php +++ b/vendor/symfony/translation/Extractor/PhpStringTokenParser.php @@ -89,7 +89,7 @@ class PhpStringTokenParser * Parses escape sequences in strings (all string types apart from single quoted). * * @param string $str String without quotes - * @param null|string $quote Quote type + * @param string|null $quote Quote type * * @return string String with escape sequences parsed */ diff --git a/vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php b/vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php index 92acbcafe..6bc68384a 100644 --- a/vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php +++ b/vendor/symfony/translation/Formatter/ChoiceMessageFormatterInterface.php @@ -13,6 +13,8 @@ namespace Symfony\Component\Translation\Formatter; /** * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + * + * @deprecated since Symfony 4.2, use MessageFormatterInterface::format() with a %count% parameter instead */ interface ChoiceMessageFormatterInterface { diff --git a/vendor/symfony/translation/Formatter/IntlFormatter.php b/vendor/symfony/translation/Formatter/IntlFormatter.php new file mode 100644 index 000000000..338d5151f --- /dev/null +++ b/vendor/symfony/translation/Formatter/IntlFormatter.php @@ -0,0 +1,55 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Translation\Formatter; + +use Symfony\Component\Translation\Exception\InvalidArgumentException; +use Symfony\Component\Translation\Exception\LogicException; + +/** + * @author Guilherme Blanco <guilhermeblanco@hotmail.com> + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class IntlFormatter implements IntlFormatterInterface +{ + private $hasMessageFormatter; + private $cache = array(); + + /** + * {@inheritdoc} + */ + public function formatIntl(string $message, string $locale, array $parameters = array()): string + { + if (!$formatter = $this->cache[$locale][$message] ?? null) { + if (!($this->hasMessageFormatter ?? $this->hasMessageFormatter = class_exists(\MessageFormatter::class))) { + throw new LogicException('Cannot parse message translation: please install the "intl" PHP extension or the "symfony/polyfill-intl-messageformatter" package.'); + } + try { + $this->cache[$locale][$message] = $formatter = new \MessageFormatter($locale, $message); + } catch (\IntlException $e) { + throw new InvalidArgumentException(sprintf('Invalid message format (error #%d): %s.', intl_get_error_code(), intl_get_error_message()), 0, $e); + } + } + + foreach ($parameters as $key => $value) { + if (\in_array($key[0] ?? null, array('%', '{'), true)) { + unset($parameters[$key]); + $parameters[trim($key, '%{ }')] = $value; + } + } + + if (false === $message = $formatter->format($parameters)) { + throw new InvalidArgumentException(sprintf('Unable to format message (error #%s): %s.', $formatter->getErrorCode(), $formatter->getErrorMessage())); + } + + return $message; + } +} diff --git a/vendor/symfony/translation/Formatter/IntlFormatterInterface.php b/vendor/symfony/translation/Formatter/IntlFormatterInterface.php new file mode 100644 index 000000000..5fc5d97d2 --- /dev/null +++ b/vendor/symfony/translation/Formatter/IntlFormatterInterface.php @@ -0,0 +1,27 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Translation\Formatter; + +/** + * Formats ICU message patterns. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +interface IntlFormatterInterface +{ + /** + * Formats a localized message using rules defined by ICU MessageFormat. + * + * @see http://icu-project.org/apiref/icu4c/classMessageFormat.html#details + */ + public function formatIntl(string $message, string $locale, array $parameters = array()): string; +} diff --git a/vendor/symfony/translation/Formatter/MessageFormatter.php b/vendor/symfony/translation/Formatter/MessageFormatter.php index e174be36c..11f766c8c 100644 --- a/vendor/symfony/translation/Formatter/MessageFormatter.php +++ b/vendor/symfony/translation/Formatter/MessageFormatter.php @@ -11,21 +11,32 @@ namespace Symfony\Component\Translation\Formatter; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Translation\MessageSelector; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; /** * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> */ -class MessageFormatter implements MessageFormatterInterface, ChoiceMessageFormatterInterface +class MessageFormatter implements MessageFormatterInterface, IntlFormatterInterface, ChoiceMessageFormatterInterface { - private $selector; + private $translator; + private $intlFormatter; /** - * @param MessageSelector|null $selector The message selector for pluralization + * @param TranslatorInterface|null $translator An identity translator to use as selector for pluralization */ - public function __construct(MessageSelector $selector = null) + public function __construct($translator = null, IntlFormatterInterface $intlFormatter = null) { - $this->selector = $selector ?: new MessageSelector(); + if ($translator instanceof MessageSelector) { + $translator = new IdentityTranslator($translator); + } elseif (null !== $translator && !$translator instanceof TranslatorInterface && !$translator instanceof LegacyTranslatorInterface) { + throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); + } + + $this->translator = $translator ?? new IdentityTranslator(); + $this->intlFormatter = $intlFormatter ?? new IntlFormatter(); } /** @@ -33,16 +44,36 @@ class MessageFormatter implements MessageFormatterInterface, ChoiceMessageFormat */ public function format($message, $locale, array $parameters = array()) { + if ($this->translator instanceof TranslatorInterface) { + return $this->translator->trans($message, $parameters, null, $locale); + } + return strtr($message, $parameters); } /** * {@inheritdoc} */ + public function formatIntl(string $message, string $locale, array $parameters = array()): string + { + return $this->intlFormatter->formatIntl($message, $locale, $parameters); + } + + /** + * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use format() with a %count% parameter instead + */ public function choiceFormat($message, $number, $locale, array $parameters = array()) { - $parameters = array_merge(array('%count%' => $number), $parameters); + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the format() one instead with a %count% parameter.', __METHOD__), E_USER_DEPRECATED); - return $this->format($this->selector->choose($message, (int) $number, $locale), $locale, $parameters); + $parameters = array('%count%' => $number) + $parameters; + + if ($this->translator instanceof TranslatorInterface) { + return $this->format($message, $locale, $parameters); + } + + return $this->format($this->translator->transChoice($message, $number, array(), null, $locale), $locale, $parameters); } } diff --git a/vendor/symfony/translation/IdentityTranslator.php b/vendor/symfony/translation/IdentityTranslator.php index 82b247015..31abdaab1 100644 --- a/vendor/symfony/translation/IdentityTranslator.php +++ b/vendor/symfony/translation/IdentityTranslator.php @@ -11,53 +11,51 @@ namespace Symfony\Component\Translation; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; +use Symfony\Contracts\Translation\TranslatorTrait; + /** * IdentityTranslator does not translate anything. * * @author Fabien Potencier <fabien@symfony.com> */ -class IdentityTranslator implements TranslatorInterface +class IdentityTranslator implements LegacyTranslatorInterface, TranslatorInterface { + use TranslatorTrait; + private $selector; - private $locale; /** * @param MessageSelector|null $selector The message selector for pluralization */ public function __construct(MessageSelector $selector = null) { - $this->selector = $selector ?: new MessageSelector(); - } - - /** - * {@inheritdoc} - */ - public function setLocale($locale) - { - $this->locale = $locale; - } - - /** - * {@inheritdoc} - */ - public function getLocale() - { - return $this->locale ?: \Locale::getDefault(); - } - - /** - * {@inheritdoc} - */ - public function trans($id, array $parameters = array(), $domain = null, $locale = null) - { - return strtr((string) $id, $parameters); + $this->selector = $selector; + + if (__CLASS__ !== \get_class($this)) { + @trigger_error(sprintf('Calling "%s()" is deprecated since Symfony 4.2.'), E_USER_DEPRECATED); + } } /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter */ public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) { - return strtr($this->selector->choose((string) $id, (int) $number, $locale ?: $this->getLocale()), $parameters); + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%count%" parameter.', __METHOD__), E_USER_DEPRECATED); + + if ($this->selector) { + return strtr($this->selector->choose((string) $id, $number, $locale ?: $this->getLocale()), $parameters); + } + + return $this->trans($id, array('%count%' => $number) + $parameters, $domain, $locale); + } + + private function getPluralizationRule(int $number, string $locale): int + { + return PluralizationRules::get($number, $locale, false); } } diff --git a/vendor/symfony/translation/Interval.php b/vendor/symfony/translation/Interval.php index 9e2cae648..a0e484da8 100644 --- a/vendor/symfony/translation/Interval.php +++ b/vendor/symfony/translation/Interval.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Translation; +@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2, use IdentityTranslator instead.', Interval::class), E_USER_DEPRECATED); + use Symfony\Component\Translation\Exception\InvalidArgumentException; /** @@ -32,6 +34,7 @@ use Symfony\Component\Translation\Exception\InvalidArgumentException; * @author Fabien Potencier <fabien@symfony.com> * * @see http://en.wikipedia.org/wiki/Interval_%28mathematics%29#The_ISO_notation + * @deprecated since Symfony 4.2, use IdentityTranslator instead */ class Interval { diff --git a/vendor/symfony/translation/Loader/XliffFileLoader.php b/vendor/symfony/translation/Loader/XliffFileLoader.php index 9c6b8c9f4..1106ec65f 100644 --- a/vendor/symfony/translation/Loader/XliffFileLoader.php +++ b/vendor/symfony/translation/Loader/XliffFileLoader.php @@ -13,10 +13,10 @@ namespace Symfony\Component\Translation\Loader; use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\Config\Util\XmlUtils; -use Symfony\Component\Translation\Exception\InvalidArgumentException; use Symfony\Component\Translation\Exception\InvalidResourceException; use Symfony\Component\Translation\Exception\NotFoundResourceException; use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Util\XliffUtils; /** * XliffFileLoader loads translations from XLIFF files. @@ -56,8 +56,10 @@ class XliffFileLoader implements LoaderInterface throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $resource, $e->getMessage()), $e->getCode(), $e); } - $xliffVersion = $this->getVersionNumber($dom); - $this->validateSchema($xliffVersion, $dom, $this->getSchema($xliffVersion)); + $xliffVersion = XliffUtils::getVersionNumber($dom); + if ($errors = XliffUtils::validateSchema($dom)) { + throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s', $xliffVersion, XliffUtils::getErrorsAsString($errors))); + } if ('1.2' === $xliffVersion) { $this->extractXliff1($dom, $catalogue, $domain); @@ -91,7 +93,7 @@ class XliffFileLoader implements LoaderInterface $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source; // If the xlf file has another encoding specified, try to convert it because // simple_xml will always return utf-8 encoded values - $target = $this->utf8ToCharset((string) (isset($translation->target) ? $translation->target : $source), $encoding); + $target = $this->utf8ToCharset((string) (isset($translation->target) ? $translation->target : $translation->source), $encoding); $catalogue->set((string) $source, $target, $domain); @@ -169,123 +171,6 @@ class XliffFileLoader implements LoaderInterface return $content; } - /** - * Validates and parses the given file into a DOMDocument. - * - * @throws InvalidResourceException - */ - private function validateSchema(string $file, \DOMDocument $dom, string $schema) - { - $internalErrors = libxml_use_internal_errors(true); - - $disableEntities = libxml_disable_entity_loader(false); - - if (!@$dom->schemaValidateSource($schema)) { - libxml_disable_entity_loader($disableEntities); - - throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s', $file, implode("\n", $this->getXmlErrors($internalErrors)))); - } - - libxml_disable_entity_loader($disableEntities); - - $dom->normalizeDocument(); - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - } - - private function getSchema($xliffVersion) - { - if ('1.2' === $xliffVersion) { - $schemaSource = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-1.2-strict.xsd'); - $xmlUri = 'http://www.w3.org/2001/xml.xsd'; - } elseif ('2.0' === $xliffVersion) { - $schemaSource = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-2.0.xsd'); - $xmlUri = 'informativeCopiesOf3rdPartySchemas/w3c/xml.xsd'; - } else { - throw new InvalidArgumentException(sprintf('No support implemented for loading XLIFF version "%s".', $xliffVersion)); - } - - return $this->fixXmlLocation($schemaSource, $xmlUri); - } - - /** - * Internally changes the URI of a dependent xsd to be loaded locally. - */ - private function fixXmlLocation(string $schemaSource, string $xmlUri): string - { - $newPath = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd'; - $parts = explode('/', $newPath); - $locationstart = 'file:///'; - if (0 === stripos($newPath, 'phar://')) { - $tmpfile = tempnam(sys_get_temp_dir(), 'symfony'); - if ($tmpfile) { - copy($newPath, $tmpfile); - $parts = explode('/', str_replace('\\', '/', $tmpfile)); - } else { - array_shift($parts); - $locationstart = 'phar:///'; - } - } - - $drive = '\\' === \DIRECTORY_SEPARATOR ? array_shift($parts).'/' : ''; - $newPath = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts)); - - return str_replace($xmlUri, $newPath, $schemaSource); - } - - /** - * Returns the XML errors of the internal XML parser. - */ - private function getXmlErrors(bool $internalErrors): array - { - $errors = array(); - foreach (libxml_get_errors() as $error) { - $errors[] = sprintf('[%s %s] %s (in %s - line %d, column %d)', - LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', - $error->code, - trim($error->message), - $error->file ?: 'n/a', - $error->line, - $error->column - ); - } - - libxml_clear_errors(); - libxml_use_internal_errors($internalErrors); - - return $errors; - } - - /** - * Gets xliff file version based on the root "version" attribute. - * Defaults to 1.2 for backwards compatibility. - * - * @throws InvalidArgumentException - */ - private function getVersionNumber(\DOMDocument $dom): string - { - /** @var \DOMNode $xliff */ - foreach ($dom->getElementsByTagName('xliff') as $xliff) { - $version = $xliff->attributes->getNamedItem('version'); - if ($version) { - return $version->nodeValue; - } - - $namespace = $xliff->attributes->getNamedItem('xmlns'); - if ($namespace) { - if (0 !== substr_compare('urn:oasis:names:tc:xliff:document:', $namespace->nodeValue, 0, 34)) { - throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s"', $namespace)); - } - - return substr($namespace, 34); - } - } - - // Falls back to v1.2 - return '1.2'; - } - private function parseNotesMetadata(\SimpleXMLElement $noteElement = null, string $encoding = null): array { $notes = array(); diff --git a/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd b/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd deleted file mode 100644 index 3ce2a8e8a..000000000 --- a/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd +++ /dev/null @@ -1,2223 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - -May-19-2004: -- Changed the <choice> for ElemType_header, moving minOccurs="0" maxOccurs="unbounded" from its elements -to <choice> itself. -- Added <choice> for ElemType_trans-unit to allow "any order" for <context-group>, <count-group>, <prop-group>, <note>, and -<alt-trans>. - -Oct-2005 -- updated version info to 1.2 -- equiv-trans attribute to <trans-unit> element -- merged-trans attribute for <group> element -- Add the <seg-source> element as optional in the <trans-unit> and <alt-trans> content models, at the same level as <source> -- Create a new value "seg" for the mtype attribute of the <mrk> element -- Add mid as an optional attribute for the <alt-trans> element - -Nov-14-2005 -- Changed name attribute for <context-group> from required to optional -- Added extension point at <xliff> - -Jan-9-2006 -- Added alttranstype type attribute to <alt-trans>, and values - -Jan-10-2006 -- Corrected error with overwritten purposeValueList -- Corrected name="AttrType_Version", attribute should have been "name" - ---> -<xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en"> - <!-- Import for xml:lang and xml:space --> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!-- Attributes Lists --> - <xsd:simpleType name="XTend"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="x-[^\s]+"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="context-typeValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'context-type'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="database"> - <xsd:annotation> - <xsd:documentation>Indicates a database content.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="element"> - <xsd:annotation> - <xsd:documentation>Indicates the content of an element within an XML document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="elementtitle"> - <xsd:annotation> - <xsd:documentation>Indicates the name of an element within an XML document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="linenumber"> - <xsd:annotation> - <xsd:documentation>Indicates the line number from the sourcefile (see context-type="sourcefile") where the &lt;source&gt; is found.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="numparams"> - <xsd:annotation> - <xsd:documentation>Indicates a the number of parameters contained within the &lt;source&gt;.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="paramnotes"> - <xsd:annotation> - <xsd:documentation>Indicates notes pertaining to the parameters in the &lt;source&gt;.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="record"> - <xsd:annotation> - <xsd:documentation>Indicates the content of a record within a database.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="recordtitle"> - <xsd:annotation> - <xsd:documentation>Indicates the name of a record within a database.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="sourcefile"> - <xsd:annotation> - <xsd:documentation>Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original &lt;file&gt; attribute in that this sourcefile is one of many that make up that file.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="count-typeValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'count-type'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="num-usages"> - <xsd:annotation> - <xsd:documentation>Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="repetition"> - <xsd:annotation> - <xsd:documentation>Indicates the count units are translation units existing already in the same document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="total"> - <xsd:annotation> - <xsd:documentation>Indicates a total count.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="InlineDelimitersValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'ctype' when used other elements than &lt;ph&gt; or &lt;x&gt;.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="bold"> - <xsd:annotation> - <xsd:documentation>Indicates a run of bolded text.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="italic"> - <xsd:annotation> - <xsd:documentation>Indicates a run of text in italics.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="underlined"> - <xsd:annotation> - <xsd:documentation>Indicates a run of underlined text.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="link"> - <xsd:annotation> - <xsd:documentation>Indicates a run of hyper-text.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="InlinePlaceholdersValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'ctype' when used with &lt;ph&gt; or &lt;x&gt;.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="image"> - <xsd:annotation> - <xsd:documentation>Indicates a inline image.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pb"> - <xsd:annotation> - <xsd:documentation>Indicates a page break.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="lb"> - <xsd:annotation> - <xsd:documentation>Indicates a line break.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="mime-typeValueList"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="(text|multipart|message|application|image|audio|video|model)(/.+)*"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="datatypeValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="asp"> - <xsd:annotation> - <xsd:documentation>Indicates Active Server Page data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="c"> - <xsd:annotation> - <xsd:documentation>Indicates C source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cdf"> - <xsd:annotation> - <xsd:documentation>Indicates Channel Definition Format (CDF) data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cfm"> - <xsd:annotation> - <xsd:documentation>Indicates ColdFusion data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cpp"> - <xsd:annotation> - <xsd:documentation>Indicates C++ source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="csharp"> - <xsd:annotation> - <xsd:documentation>Indicates C-Sharp data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cstring"> - <xsd:annotation> - <xsd:documentation>Indicates strings from C, ASM, and driver files data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="csv"> - <xsd:annotation> - <xsd:documentation>Indicates comma-separated values data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="database"> - <xsd:annotation> - <xsd:documentation>Indicates database data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="documentfooter"> - <xsd:annotation> - <xsd:documentation>Indicates portions of document that follows data and contains metadata.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="documentheader"> - <xsd:annotation> - <xsd:documentation>Indicates portions of document that precedes data and contains metadata.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="filedialog"> - <xsd:annotation> - <xsd:documentation>Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="form"> - <xsd:annotation> - <xsd:documentation>Indicates standard user input screen data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="html"> - <xsd:annotation> - <xsd:documentation>Indicates HyperText Markup Language (HTML) data - document instance.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="htmlbody"> - <xsd:annotation> - <xsd:documentation>Indicates content within an HTML document’s &lt;body&gt; element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="ini"> - <xsd:annotation> - <xsd:documentation>Indicates Windows INI file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="interleaf"> - <xsd:annotation> - <xsd:documentation>Indicates Interleaf data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="javaclass"> - <xsd:annotation> - <xsd:documentation>Indicates Java source file data (extension '.java').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="javapropertyresourcebundle"> - <xsd:annotation> - <xsd:documentation>Indicates Java property resource bundle data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="javalistresourcebundle"> - <xsd:annotation> - <xsd:documentation>Indicates Java list resource bundle data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="javascript"> - <xsd:annotation> - <xsd:documentation>Indicates JavaScript source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="jscript"> - <xsd:annotation> - <xsd:documentation>Indicates JScript source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="layout"> - <xsd:annotation> - <xsd:documentation>Indicates information relating to formatting.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="lisp"> - <xsd:annotation> - <xsd:documentation>Indicates LISP source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="margin"> - <xsd:annotation> - <xsd:documentation>Indicates information relating to margin formats.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="menufile"> - <xsd:annotation> - <xsd:documentation>Indicates a file containing menu.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="messagefile"> - <xsd:annotation> - <xsd:documentation>Indicates numerically identified string table.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="mif"> - <xsd:annotation> - <xsd:documentation>Indicates Maker Interchange Format (MIF) data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="mimetype"> - <xsd:annotation> - <xsd:documentation>Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="mo"> - <xsd:annotation> - <xsd:documentation>Indicates GNU Machine Object data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="msglib"> - <xsd:annotation> - <xsd:documentation>Indicates Message Librarian strings created by Novell's Message Librarian Tool.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pagefooter"> - <xsd:annotation> - <xsd:documentation>Indicates information to be displayed at the bottom of each page of a document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pageheader"> - <xsd:annotation> - <xsd:documentation>Indicates information to be displayed at the top of each page of a document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="parameters"> - <xsd:annotation> - <xsd:documentation>Indicates a list of property values (e.g., settings within INI files or preferences dialog).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pascal"> - <xsd:annotation> - <xsd:documentation>Indicates Pascal source file data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="php"> - <xsd:annotation> - <xsd:documentation>Indicates Hypertext Preprocessor data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="plaintext"> - <xsd:annotation> - <xsd:documentation>Indicates plain text file (no formatting other than, possibly, wrapping).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="po"> - <xsd:annotation> - <xsd:documentation>Indicates GNU Portable Object file.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="report"> - <xsd:annotation> - <xsd:documentation>Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="resources"> - <xsd:annotation> - <xsd:documentation>Indicates Windows .NET binary resources.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="resx"> - <xsd:annotation> - <xsd:documentation>Indicates Windows .NET Resources.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rtf"> - <xsd:annotation> - <xsd:documentation>Indicates Rich Text Format (RTF) data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="sgml"> - <xsd:annotation> - <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - document instance.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="sgmldtd"> - <xsd:annotation> - <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="svg"> - <xsd:annotation> - <xsd:documentation>Indicates Scalable Vector Graphic (SVG) data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="vbscript"> - <xsd:annotation> - <xsd:documentation>Indicates VisualBasic Script source file.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="warning"> - <xsd:annotation> - <xsd:documentation>Indicates warning message.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="winres"> - <xsd:annotation> - <xsd:documentation>Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="xhtml"> - <xsd:annotation> - <xsd:documentation>Indicates Extensible HyperText Markup Language (XHTML) data - document instance.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="xml"> - <xsd:annotation> - <xsd:documentation>Indicates Extensible Markup Language (XML) data - document instance.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="xmldtd"> - <xsd:annotation> - <xsd:documentation>Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="xsl"> - <xsd:annotation> - <xsd:documentation>Indicates Extensible Stylesheet Language (XSL) data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="xul"> - <xsd:annotation> - <xsd:documentation>Indicates XUL elements.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="mtypeValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'mtype'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="abbrev"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text is an abbreviation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="abbreviated-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="abbreviation"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="acronym"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="appellation"> - <xsd:annotation> - <xsd:documentation>ISO-12620: A proper-name term, such as the name of an agency or other proper entity.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="collocation"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="common-name"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="datetime"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text is a date and/or time.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="equation"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="expanded-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="formula"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="head-term"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="initialism"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="international-scientific-term"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="internationalism"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="logical-expression"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="materials-management-unit"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.17: A unit to track object.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="name"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text is a name.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="near-synonym"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="part-number"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="phrase"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text is a phrase.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="phraseological-unit"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="protected"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text should not be translated.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="romanized-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="seg"> - <xsd:annotation> - <xsd:documentation>Indicates that the marked text represents a segment.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="set-phrase"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.18.2: A fixed, lexicalized phrase.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="short-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="sku"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="standard-text"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.19: A fixed chunk of recurring text.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="symbol"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="synonym"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="synonymous-phrase"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="term"> - <xsd:annotation> - <xsd:documentation>Indicates the marked text is a term.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="transcribed-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="transliterated-form"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="truncated-term"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza').</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="variant"> - <xsd:annotation> - <xsd:documentation>ISO-12620 2.1.9: One of the alternate forms of a term.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="restypeValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'restype'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="auto3state"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC AUTO3STATE control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="autocheckbox"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC AUTOCHECKBOX control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="autoradiobutton"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC AUTORADIOBUTTON control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="bedit"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC BEDIT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="bitmap"> - <xsd:annotation> - <xsd:documentation>Indicates a bitmap, for example a BITMAP resource in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="button"> - <xsd:annotation> - <xsd:documentation>Indicates a button object, for example a BUTTON control Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="caption"> - <xsd:annotation> - <xsd:documentation>Indicates a caption, such as the caption of a dialog box.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cell"> - <xsd:annotation> - <xsd:documentation>Indicates the cell in a table, for example the content of the &lt;td&gt; element in HTML.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="checkbox"> - <xsd:annotation> - <xsd:documentation>Indicates check box object, for example a CHECKBOX control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="checkboxmenuitem"> - <xsd:annotation> - <xsd:documentation>Indicates a menu item with an associated checkbox.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="checkedlistbox"> - <xsd:annotation> - <xsd:documentation>Indicates a list box, but with a check-box for each item.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="colorchooser"> - <xsd:annotation> - <xsd:documentation>Indicates a color selection dialog.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="combobox"> - <xsd:annotation> - <xsd:documentation>Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="comboboxexitem"> - <xsd:annotation> - <xsd:documentation>Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="comboboxitem"> - <xsd:annotation> - <xsd:documentation>Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="component"> - <xsd:annotation> - <xsd:documentation>Indicates a UI base class element that cannot be represented by any other element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="contextmenu"> - <xsd:annotation> - <xsd:documentation>Indicates a context menu.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="ctext"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC CTEXT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cursor"> - <xsd:annotation> - <xsd:documentation>Indicates a cursor, for example a CURSOR resource in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="datetimepicker"> - <xsd:annotation> - <xsd:documentation>Indicates a date/time picker.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="defpushbutton"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC DEFPUSHBUTTON control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="dialog"> - <xsd:annotation> - <xsd:documentation>Indicates a dialog box.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="dlginit"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC DLGINIT resource block.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="edit"> - <xsd:annotation> - <xsd:documentation>Indicates an edit box object, for example an EDIT control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="file"> - <xsd:annotation> - <xsd:documentation>Indicates a filename.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="filechooser"> - <xsd:annotation> - <xsd:documentation>Indicates a file dialog.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="fn"> - <xsd:annotation> - <xsd:documentation>Indicates a footnote.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="font"> - <xsd:annotation> - <xsd:documentation>Indicates a font name.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="footer"> - <xsd:annotation> - <xsd:documentation>Indicates a footer.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="frame"> - <xsd:annotation> - <xsd:documentation>Indicates a frame object.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="grid"> - <xsd:annotation> - <xsd:documentation>Indicates a XUL grid element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="groupbox"> - <xsd:annotation> - <xsd:documentation>Indicates a groupbox object, for example a GROUPBOX control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="header"> - <xsd:annotation> - <xsd:documentation>Indicates a header item.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="heading"> - <xsd:annotation> - <xsd:documentation>Indicates a heading, such has the content of &lt;h1&gt;, &lt;h2&gt;, etc. in HTML.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="hedit"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC HEDIT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="hscrollbar"> - <xsd:annotation> - <xsd:documentation>Indicates a horizontal scrollbar.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="icon"> - <xsd:annotation> - <xsd:documentation>Indicates an icon, for example an ICON resource in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="iedit"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC IEDIT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="keywords"> - <xsd:annotation> - <xsd:documentation>Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="label"> - <xsd:annotation> - <xsd:documentation>Indicates a label object.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="linklabel"> - <xsd:annotation> - <xsd:documentation>Indicates a label that is also a HTML link (not necessarily a URL).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="list"> - <xsd:annotation> - <xsd:documentation>Indicates a list (a group of list-items, for example an &lt;ol&gt; or &lt;ul&gt; element in HTML).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="listbox"> - <xsd:annotation> - <xsd:documentation>Indicates a listbox object, for example an LISTBOX control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="listitem"> - <xsd:annotation> - <xsd:documentation>Indicates an list item (an entry in a list).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="ltext"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC LTEXT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="menu"> - <xsd:annotation> - <xsd:documentation>Indicates a menu (a group of menu-items).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="menubar"> - <xsd:annotation> - <xsd:documentation>Indicates a toolbar containing one or more tope level menus.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="menuitem"> - <xsd:annotation> - <xsd:documentation>Indicates a menu item (an entry in a menu).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="menuseparator"> - <xsd:annotation> - <xsd:documentation>Indicates a XUL menuseparator element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="message"> - <xsd:annotation> - <xsd:documentation>Indicates a message, for example an entry in a MESSAGETABLE resource in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="monthcalendar"> - <xsd:annotation> - <xsd:documentation>Indicates a calendar control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="numericupdown"> - <xsd:annotation> - <xsd:documentation>Indicates an edit box beside a spin control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="panel"> - <xsd:annotation> - <xsd:documentation>Indicates a catch all for rectangular areas.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="popupmenu"> - <xsd:annotation> - <xsd:documentation>Indicates a standalone menu not necessarily associated with a menubar.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pushbox"> - <xsd:annotation> - <xsd:documentation>Indicates a pushbox object, for example a PUSHBOX control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pushbutton"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC PUSHBUTTON control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="radio"> - <xsd:annotation> - <xsd:documentation>Indicates a radio button object.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="radiobuttonmenuitem"> - <xsd:annotation> - <xsd:documentation>Indicates a menuitem with associated radio button.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rcdata"> - <xsd:annotation> - <xsd:documentation>Indicates raw data resources for an application.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="row"> - <xsd:annotation> - <xsd:documentation>Indicates a row in a table.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rtext"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC RTEXT control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="scrollpane"> - <xsd:annotation> - <xsd:documentation>Indicates a user navigable container used to show a portion of a document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="separator"> - <xsd:annotation> - <xsd:documentation>Indicates a generic divider object (e.g. menu group separator).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="shortcut"> - <xsd:annotation> - <xsd:documentation>Windows accelerators, shortcuts in resource or property files.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="spinner"> - <xsd:annotation> - <xsd:documentation>Indicates a UI control to indicate process activity but not progress.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="splitter"> - <xsd:annotation> - <xsd:documentation>Indicates a splitter bar.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="state3"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC STATE3 control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="statusbar"> - <xsd:annotation> - <xsd:documentation>Indicates a window for providing feedback to the users, like 'read-only', etc.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="string"> - <xsd:annotation> - <xsd:documentation>Indicates a string, for example an entry in a STRINGTABLE resource in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="tabcontrol"> - <xsd:annotation> - <xsd:documentation>Indicates a layers of controls with a tab to select layers.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="table"> - <xsd:annotation> - <xsd:documentation>Indicates a display and edits regular two-dimensional tables of cells.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="textbox"> - <xsd:annotation> - <xsd:documentation>Indicates a XUL textbox element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="togglebutton"> - <xsd:annotation> - <xsd:documentation>Indicates a UI button that can be toggled to on or off state.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="toolbar"> - <xsd:annotation> - <xsd:documentation>Indicates an array of controls, usually buttons.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="tooltip"> - <xsd:annotation> - <xsd:documentation>Indicates a pop up tool tip text.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="trackbar"> - <xsd:annotation> - <xsd:documentation>Indicates a bar with a pointer indicating a position within a certain range.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="tree"> - <xsd:annotation> - <xsd:documentation>Indicates a control that displays a set of hierarchical data.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="uri"> - <xsd:annotation> - <xsd:documentation>Indicates a URI (URN or URL).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="userbutton"> - <xsd:annotation> - <xsd:documentation>Indicates a Windows RC USERBUTTON control.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="usercontrol"> - <xsd:annotation> - <xsd:documentation>Indicates a user-defined control like CONTROL control in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="var"> - <xsd:annotation> - <xsd:documentation>Indicates the text of a variable.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="versioninfo"> - <xsd:annotation> - <xsd:documentation>Indicates version information about a resource like VERSIONINFO in Windows.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="vscrollbar"> - <xsd:annotation> - <xsd:documentation>Indicates a vertical scrollbar.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="window"> - <xsd:annotation> - <xsd:documentation>Indicates a graphical window.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="size-unitValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'size-unit'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="byte"> - <xsd:annotation> - <xsd:documentation>Indicates a size in 8-bit bytes.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="char"> - <xsd:annotation> - <xsd:documentation>Indicates a size in Unicode characters.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="col"> - <xsd:annotation> - <xsd:documentation>Indicates a size in columns. Used for HTML text area.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="cm"> - <xsd:annotation> - <xsd:documentation>Indicates a size in centimeters.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="dlgunit"> - <xsd:annotation> - <xsd:documentation>Indicates a size in dialog units, as defined in Windows resources.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="em"> - <xsd:annotation> - <xsd:documentation>Indicates a size in 'font-size' units (as defined in CSS).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="ex"> - <xsd:annotation> - <xsd:documentation>Indicates a size in 'x-height' units (as defined in CSS).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="glyph"> - <xsd:annotation> - <xsd:documentation>Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster'</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="in"> - <xsd:annotation> - <xsd:documentation>Indicates a size in inches.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="mm"> - <xsd:annotation> - <xsd:documentation>Indicates a size in millimeters.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="percent"> - <xsd:annotation> - <xsd:documentation>Indicates a size in percentage.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="pixel"> - <xsd:annotation> - <xsd:documentation>Indicates a size in pixels.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="point"> - <xsd:annotation> - <xsd:documentation>Indicates a size in point.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="row"> - <xsd:annotation> - <xsd:documentation>Indicates a size in rows. Used for HTML text area.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="stateValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'state'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="final"> - <xsd:annotation> - <xsd:documentation>Indicates the terminating state.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-adaptation"> - <xsd:annotation> - <xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-l10n"> - <xsd:annotation> - <xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-review-adaptation"> - <xsd:annotation> - <xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-review-l10n"> - <xsd:annotation> - <xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-review-translation"> - <xsd:annotation> - <xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="needs-translation"> - <xsd:annotation> - <xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="new"> - <xsd:annotation> - <xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="signed-off"> - <xsd:annotation> - <xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="translated"> - <xsd:annotation> - <xsd:documentation>Indicates that the item has been translated.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="state-qualifierValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="exact-match"> - <xsd:annotation> - <xsd:documentation>Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="fuzzy-match"> - <xsd:annotation> - <xsd:documentation>Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="id-match"> - <xsd:annotation> - <xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="leveraged-glossary"> - <xsd:annotation> - <xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="leveraged-inherited"> - <xsd:annotation> - <xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="leveraged-mt"> - <xsd:annotation> - <xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="leveraged-repository"> - <xsd:annotation> - <xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="leveraged-tm"> - <xsd:annotation> - <xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="mt-suggestion"> - <xsd:annotation> - <xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rejected-grammar"> - <xsd:annotation> - <xsd:documentation>Indicates that the item has been rejected because of incorrect grammar.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rejected-inaccurate"> - <xsd:annotation> - <xsd:documentation>Indicates that the item has been rejected because it is incorrect.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rejected-length"> - <xsd:annotation> - <xsd:documentation>Indicates that the item has been rejected because it is too long or too short.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rejected-spelling"> - <xsd:annotation> - <xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="tm-suggestion"> - <xsd:annotation> - <xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="unitValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'unit'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="word"> - <xsd:annotation> - <xsd:documentation>Refers to words.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="page"> - <xsd:annotation> - <xsd:documentation>Refers to pages.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="trans-unit"> - <xsd:annotation> - <xsd:documentation>Refers to &lt;trans-unit&gt; elements.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="bin-unit"> - <xsd:annotation> - <xsd:documentation>Refers to &lt;bin-unit&gt; elements.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="glyph"> - <xsd:annotation> - <xsd:documentation>Refers to glyphs.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="item"> - <xsd:annotation> - <xsd:documentation>Refers to &lt;trans-unit&gt; and/or &lt;bin-unit&gt; elements.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="instance"> - <xsd:annotation> - <xsd:documentation>Refers to the occurrences of instances defined by the count-type value.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="character"> - <xsd:annotation> - <xsd:documentation>Refers to characters.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="line"> - <xsd:annotation> - <xsd:documentation>Refers to lines.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="sentence"> - <xsd:annotation> - <xsd:documentation>Refers to sentences.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="paragraph"> - <xsd:annotation> - <xsd:documentation>Refers to paragraphs.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="segment"> - <xsd:annotation> - <xsd:documentation>Refers to segments.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="placeable"> - <xsd:annotation> - <xsd:documentation>Refers to placeables (inline elements).</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="priorityValueList"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'priority'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:positiveInteger"> - <xsd:enumeration value="1"> - <xsd:annotation> - <xsd:documentation>Highest priority.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="2"> - <xsd:annotation> - <xsd:documentation>High priority.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="3"> - <xsd:annotation> - <xsd:documentation>High priority, but not as important as 2.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="4"> - <xsd:annotation> - <xsd:documentation>High priority, but not as important as 3.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="5"> - <xsd:annotation> - <xsd:documentation>Medium priority, but more important than 6.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="6"> - <xsd:annotation> - <xsd:documentation>Medium priority, but less important than 5.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="7"> - <xsd:annotation> - <xsd:documentation>Low priority, but more important than 8.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="8"> - <xsd:annotation> - <xsd:documentation>Low priority, but more important than 9.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="9"> - <xsd:annotation> - <xsd:documentation>Low priority.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="10"> - <xsd:annotation> - <xsd:documentation>Lowest priority.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="reformatValueYesNo"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="yes"> - <xsd:annotation> - <xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="no"> - <xsd:annotation> - <xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="reformatValueList"> - <xsd:list> - <xsd:simpleType> - <xsd:union memberTypes="xlf:XTend"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="coord"> - <xsd:annotation> - <xsd:documentation>This value indicates that all information in the coord attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="coord-x"> - <xsd:annotation> - <xsd:documentation>This value indicates that the x information in the coord attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="coord-y"> - <xsd:annotation> - <xsd:documentation>This value indicates that the y information in the coord attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="coord-cx"> - <xsd:annotation> - <xsd:documentation>This value indicates that the cx information in the coord attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="coord-cy"> - <xsd:annotation> - <xsd:documentation>This value indicates that the cy information in the coord attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="font"> - <xsd:annotation> - <xsd:documentation>This value indicates that all the information in the font attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="font-name"> - <xsd:annotation> - <xsd:documentation>This value indicates that the name information in the font attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="font-size"> - <xsd:annotation> - <xsd:documentation>This value indicates that the size information in the font attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="font-weight"> - <xsd:annotation> - <xsd:documentation>This value indicates that the weight information in the font attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="css-style"> - <xsd:annotation> - <xsd:documentation>This value indicates that the information in the css-style attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="style"> - <xsd:annotation> - <xsd:documentation>This value indicates that the information in the style attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="ex-style"> - <xsd:annotation> - <xsd:documentation>This value indicates that the information in the exstyle attribute can be modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - </xsd:union> - </xsd:simpleType> - </xsd:list> - </xsd:simpleType> - <xsd:simpleType name="purposeValueList"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="information"> - <xsd:annotation> - <xsd:documentation>Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="location"> - <xsd:annotation> - <xsd:documentation>Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="match"> - <xsd:annotation> - <xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="alttranstypeValueList"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="proposal"> - <xsd:annotation> - <xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="previous-version"> - <xsd:annotation> - <xsd:documentation>Represents a previous version of the target element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="rejected"> - <xsd:annotation> - <xsd:documentation>Represents a rejected version of the target element.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="reference"> - <xsd:annotation> - <xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - <xsd:enumeration value="accepted"> - <xsd:annotation> - <xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation> - </xsd:annotation> - </xsd:enumeration> - </xsd:restriction> - </xsd:simpleType> - <!-- Other Types --> - <xsd:complexType name="ElemType_ExternalReference"> - <xsd:choice> - <xsd:element ref="xlf:internal-file"/> - <xsd:element ref="xlf:external-file"/> - </xsd:choice> - </xsd:complexType> - <xsd:simpleType name="AttrType_purpose"> - <xsd:list> - <xsd:simpleType> - <xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/> - </xsd:simpleType> - </xsd:list> - </xsd:simpleType> - <xsd:simpleType name="AttrType_datatype"> - <xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_restype"> - <xsd:union memberTypes="xlf:restypeValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_alttranstype"> - <xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_context-type"> - <xsd:union memberTypes="xlf:context-typeValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_state"> - <xsd:union memberTypes="xlf:stateValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_state-qualifier"> - <xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_count-type"> - <xsd:union memberTypes="xlf:restypeValueList xlf:count-typeValueList xlf:datatypeValueList xlf:stateValueList xlf:state-qualifierValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_InlineDelimiters"> - <xsd:union memberTypes="xlf:InlineDelimitersValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_InlinePlaceholders"> - <xsd:union memberTypes="xlf:InlinePlaceholdersValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_size-unit"> - <xsd:union memberTypes="xlf:size-unitValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_mtype"> - <xsd:union memberTypes="xlf:mtypeValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_unit"> - <xsd:union memberTypes="xlf:unitValueList xlf:XTend"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_priority"> - <xsd:union memberTypes="xlf:priorityValueList"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_reformat"> - <xsd:union memberTypes="xlf:reformatValueYesNo xlf:reformatValueList"/> - </xsd:simpleType> - <xsd:simpleType name="AttrType_YesNo"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="yes"/> - <xsd:enumeration value="no"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="AttrType_Position"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="open"/> - <xsd:enumeration value="close"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="AttrType_assoc"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="preceding"/> - <xsd:enumeration value="following"/> - <xsd:enumeration value="both"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="AttrType_annotates"> - <xsd:restriction base="xsd:NMTOKEN"> - <xsd:enumeration value="source"/> - <xsd:enumeration value="target"/> - <xsd:enumeration value="general"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="AttrType_Coordinates"> - <xsd:annotation> - <xsd:documentation>Values for the attribute 'coord'.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/> - </xsd:restriction> - </xsd:simpleType> - <xsd:simpleType name="AttrType_Version"> - <xsd:annotation> - <xsd:documentation>Version values: 1.0 and 1.1 are allowed for backward compatibility.</xsd:documentation> - </xsd:annotation> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="1.2"/> - <xsd:enumeration value="1.1"/> - <xsd:enumeration value="1.0"/> - </xsd:restriction> - </xsd:simpleType> - <!-- Groups --> - <xsd:group name="ElemGroup_TextContent"> - <xsd:choice> - <xsd:element ref="xlf:g"/> - <xsd:element ref="xlf:bpt"/> - <xsd:element ref="xlf:ept"/> - <xsd:element ref="xlf:ph"/> - <xsd:element ref="xlf:it"/> - <xsd:element ref="xlf:mrk"/> - <xsd:element ref="xlf:x"/> - <xsd:element ref="xlf:bx"/> - <xsd:element ref="xlf:ex"/> - </xsd:choice> - </xsd:group> - <xsd:attributeGroup name="AttrGroup_TextContent"> - <xsd:attribute name="id" type="xsd:string" use="required"/> - <xsd:attribute name="xid" type="xsd:string" use="optional"/> - <xsd:attribute name="equiv-text" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:attributeGroup> - <!-- XLIFF Structure --> - <xsd:element name="xliff"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded"> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - <xsd:element ref="xlf:file"/> - </xsd:sequence> - <xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="file"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" ref="xlf:header"/> - <xsd:element ref="xlf:body"/> - </xsd:sequence> - <xsd:attribute name="original" type="xsd:string" use="required"/> - <xsd:attribute name="source-language" type="xsd:language" use="required"/> - <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/> - <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> - <xsd:attribute name="date" type="xsd:dateTime" use="optional"/> - <xsd:attribute ref="xml:space" use="optional"/> - <xsd:attribute name="category" type="xsd:string" use="optional"/> - <xsd:attribute name="target-language" type="xsd:language" use="optional"/> - <xsd:attribute name="product-name" type="xsd:string" use="optional"/> - <xsd:attribute name="product-version" type="xsd:string" use="optional"/> - <xsd:attribute name="build-num" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_group_id"> - <xsd:selector xpath=".//xlf:group"/> - <xsd:field xpath="@id"/> - </xsd:unique> - <xsd:key name="K_unit_id"> - <xsd:selector xpath=".//xlf:trans-unit|.//xlf:bin-unit"/> - <xsd:field xpath="@id"/> - </xsd:key> - <xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id"> - <xsd:selector xpath=".//bpt|.//ept|.//it|.//ph|.//g|.//x|.//bx|.//ex|.//sub"/> - <xsd:field xpath="@xid"/> - </xsd:keyref> - <xsd:key name="K_tool-id"> - <xsd:selector xpath="xlf:header/xlf:tool"/> - <xsd:field xpath="@tool-id"/> - </xsd:key> - <xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id"> - <xsd:selector xpath="."/> - <xsd:field xpath="@tool-id"/> - </xsd:keyref> - <xsd:keyref name="KR_phase_tool-id" refer="xlf:K_tool-id"> - <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/> - <xsd:field xpath="@tool-id"/> - </xsd:keyref> - <xsd:keyref name="KR_alt-trans_tool-id" refer="xlf:K_tool-id"> - <xsd:selector xpath=".//xlf:trans-unit/xlf:alt-trans"/> - <xsd:field xpath="@tool-id"/> - </xsd:keyref> - <xsd:key name="K_count-group_name"> - <xsd:selector xpath=".//xlf:count-group"/> - <xsd:field xpath="@name"/> - </xsd:key> - <xsd:unique name="U_context-group_name"> - <xsd:selector xpath=".//xlf:context-group"/> - <xsd:field xpath="@name"/> - </xsd:unique> - <xsd:key name="K_phase-name"> - <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/> - <xsd:field xpath="@phase-name"/> - </xsd:key> - <xsd:keyref name="KR_phase-name" refer="xlf:K_phase-name"> - <xsd:selector xpath=".//xlf:count|.//xlf:trans-unit|.//xlf:target|.//bin-unit|.//bin-target"/> - <xsd:field xpath="@phase-name"/> - </xsd:keyref> - <xsd:unique name="U_uid"> - <xsd:selector xpath=".//xlf:external-file"/> - <xsd:field xpath="@uid"/> - </xsd:unique> - </xsd:element> - <xsd:element name="header"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" name="skl" type="xlf:ElemType_ExternalReference"/> - <xsd:element minOccurs="0" ref="xlf:phase-group"/> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element name="glossary" type="xlf:ElemType_ExternalReference"/> - <xsd:element name="reference" type="xlf:ElemType_ExternalReference"/> - <xsd:element ref="xlf:count-group"/> - <xsd:element ref="xlf:note"/> - <xsd:element ref="xlf:tool"/> - </xsd:choice> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="internal-file"> - <xsd:complexType> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="form" type="xsd:string"/> - <xsd:attribute name="crc" type="xsd:NMTOKEN"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - </xsd:element> - <xsd:element name="external-file"> - <xsd:complexType> - <xsd:attribute name="href" type="xsd:string" use="required"/> - <xsd:attribute name="crc" type="xsd:NMTOKEN"/> - <xsd:attribute name="uid" type="xsd:NMTOKEN"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="note"> - <xsd:complexType> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:attribute default="1" name="priority" type="xlf:AttrType_priority" use="optional"/> - <xsd:attribute name="from" type="xsd:string" use="optional"/> - <xsd:attribute default="general" name="annotates" type="xlf:AttrType_annotates" use="optional"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - </xsd:element> - <xsd:element name="phase-group"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded"> - <xsd:element ref="xlf:phase"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="phase"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:note"/> - </xsd:sequence> - <xsd:attribute name="phase-name" type="xsd:string" use="required"/> - <xsd:attribute name="process-name" type="xsd:string" use="required"/> - <xsd:attribute name="company-name" type="xsd:string" use="optional"/> - <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> - <xsd:attribute name="date" type="xsd:dateTime" use="optional"/> - <xsd:attribute name="job-id" type="xsd:string" use="optional"/> - <xsd:attribute name="contact-name" type="xsd:string" use="optional"/> - <xsd:attribute name="contact-email" type="xsd:string" use="optional"/> - <xsd:attribute name="contact-phone" type="xsd:string" use="optional"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="count-group"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:count"/> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="required"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="count"> - <xsd:complexType> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="count-type" type="xlf:AttrType_count-type" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> - <xsd:attribute default="word" name="unit" type="xlf:AttrType_unit" use="optional"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - </xsd:element> - <xsd:element name="context-group"> - <xsd:complexType> - <xsd:sequence maxOccurs="unbounded"> - <xsd:element ref="xlf:context"/> - </xsd:sequence> - <xsd:attribute name="name" type="xsd:string" use="optional"/> - <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="purpose" type="xlf:AttrType_purpose" use="optional"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="context"> - <xsd:complexType> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="context-type" type="xlf:AttrType_context-type" use="required"/> - <xsd:attribute default="no" name="match-mandatory" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - </xsd:element> - <xsd:element name="tool"> - <xsd:complexType mixed="true"> - <xsd:sequence> - <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="tool-id" type="xsd:string" use="required"/> - <xsd:attribute name="tool-name" type="xsd:string" use="required"/> - <xsd:attribute name="tool-version" type="xsd:string" use="optional"/> - <xsd:attribute name="tool-company" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="body"> - <xsd:complexType> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/> - </xsd:choice> - </xsd:complexType> - </xsd:element> - <xsd:element name="group"> - <xsd:complexType> - <xsd:sequence> - <xsd:sequence> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:count-group"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - </xsd:sequence> - <xsd:choice maxOccurs="unbounded"> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/> - </xsd:choice> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" use="optional"/> - <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> - <xsd:attribute default="default" ref="xml:space" use="optional"/> - <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:attribute name="extradata" type="xsd:string" use="optional"/> - <xsd:attribute name="extype" type="xsd:string" use="optional"/> - <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="menu" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> - <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> - <xsd:attribute name="font" type="xsd:string" use="optional"/> - <xsd:attribute name="css-style" type="xsd:string" use="optional"/> - <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> - <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/> - <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="charclass" type="xsd:string" use="optional"/> - <xsd:attribute default="no" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="trans-unit"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="xlf:source"/> - <xsd:element minOccurs="0" ref="xlf:seg-source"/> - <xsd:element minOccurs="0" ref="xlf:target"/> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:context-group"/> - <xsd:element ref="xlf:count-group"/> - <xsd:element ref="xlf:note"/> - <xsd:element ref="xlf:alt-trans"/> - </xsd:choice> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" use="required"/> - <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> - <xsd:attribute default="default" ref="xml:space" use="optional"/> - <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> - <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:attribute name="extradata" type="xsd:string" use="optional"/> - <xsd:attribute name="extype" type="xsd:string" use="optional"/> - <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="menu" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> - <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> - <xsd:attribute name="font" type="xsd:string" use="optional"/> - <xsd:attribute name="css-style" type="xsd:string" use="optional"/> - <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/> - <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="charclass" type="xsd:string" use="optional"/> - <xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_tu_segsrc_mid"> - <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/> - <xsd:field xpath="@mid"/> - </xsd:unique> - <xsd:keyref name="KR_tu_segsrc_mid" refer="xlf:U_tu_segsrc_mid"> - <xsd:selector xpath="./xlf:target/xlf:mrk|./xlf:alt-trans"/> - <xsd:field xpath="@mid"/> - </xsd:keyref> - </xsd:element> - <xsd:element name="source"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_source_bpt_rid"> - <xsd:selector xpath=".//xlf:bpt"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_source_ept_rid" refer="xlf:U_source_bpt_rid"> - <xsd:selector xpath=".//xlf:ept"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - <xsd:unique name="U_source_bx_rid"> - <xsd:selector xpath=".//xlf:bx"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_source_ex_rid" refer="xlf:U_source_bx_rid"> - <xsd:selector xpath=".//xlf:ex"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - </xsd:element> - <xsd:element name="seg-source"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_segsrc_bpt_rid"> - <xsd:selector xpath=".//xlf:bpt"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_segsrc_ept_rid" refer="xlf:U_segsrc_bpt_rid"> - <xsd:selector xpath=".//xlf:ept"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - <xsd:unique name="U_segsrc_bx_rid"> - <xsd:selector xpath=".//xlf:bx"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_segsrc_ex_rid" refer="xlf:U_segsrc_bx_rid"> - <xsd:selector xpath=".//xlf:ex"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - </xsd:element> - <xsd:element name="target"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/> - <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> - <xsd:attribute name="font" type="xsd:string" use="optional"/> - <xsd:attribute name="css-style" type="xsd:string" use="optional"/> - <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute default="yes" name="equiv-trans" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_target_bpt_rid"> - <xsd:selector xpath=".//xlf:bpt"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_target_ept_rid" refer="xlf:U_target_bpt_rid"> - <xsd:selector xpath=".//xlf:ept"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - <xsd:unique name="U_target_bx_rid"> - <xsd:selector xpath=".//xlf:bx"/> - <xsd:field xpath="@rid"/> - </xsd:unique> - <xsd:keyref name="KR_target_ex_rid" refer="xlf:U_target_bx_rid"> - <xsd:selector xpath=".//xlf:ex"/> - <xsd:field xpath="@rid"/> - </xsd:keyref> - </xsd:element> - <xsd:element name="alt-trans"> - <xsd:complexType> - <xsd:sequence> - <xsd:element minOccurs="0" ref="xlf:source"/> - <xsd:element minOccurs="0" ref="xlf:seg-source"/> - <xsd:element maxOccurs="1" ref="xlf:target"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/> - <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - </xsd:sequence> - <xsd:attribute name="match-quality" type="xsd:string" use="optional"/> - <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> - <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute ref="xml:lang" use="optional"/> - <xsd:attribute name="origin" type="xsd:string" use="optional"/> - <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> - <xsd:attribute default="default" ref="xml:space" use="optional"/> - <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:attribute name="extradata" type="xsd:string" use="optional"/> - <xsd:attribute name="extype" type="xsd:string" use="optional"/> - <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="menu" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> - <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> - <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> - <xsd:attribute name="font" type="xsd:string" use="optional"/> - <xsd:attribute name="css-style" type="xsd:string" use="optional"/> - <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute default="proposal" name="alttranstype" type="xlf:AttrType_alttranstype" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - <xsd:unique name="U_at_segsrc_mid"> - <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/> - <xsd:field xpath="@mid"/> - </xsd:unique> - <xsd:keyref name="KR_at_segsrc_mid" refer="xlf:U_at_segsrc_mid"> - <xsd:selector xpath="./xlf:target/xlf:mrk"/> - <xsd:field xpath="@mid"/> - </xsd:keyref> - </xsd:element> - <xsd:element name="bin-unit"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="xlf:bin-source"/> - <xsd:element minOccurs="0" ref="xlf:bin-target"/> - <xsd:choice maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:context-group"/> - <xsd:element ref="xlf:count-group"/> - <xsd:element ref="xlf:note"/> - <xsd:element ref="xlf:trans-unit"/> - </xsd:choice> - <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:string" use="required"/> - <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="required"/> - <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> - <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="bin-source"> - <xsd:complexType> - <xsd:choice> - <xsd:element ref="xlf:internal-file"/> - <xsd:element ref="xlf:external-file"/> - </xsd:choice> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="bin-target"> - <xsd:complexType> - <xsd:choice> - <xsd:element ref="xlf:internal-file"/> - <xsd:element ref="xlf:external-file"/> - </xsd:choice> - <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="optional"/> - <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/> - <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/> - <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> - <xsd:attribute name="resname" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> - <!-- Element for inline codes --> - <xsd:element name="g"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> - <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="x"> - <xsd:complexType> - <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/> - <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="bx"> - <xsd:complexType> - <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> - <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="ex"> - <xsd:complexType> - <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="ph"> - <xsd:complexType mixed="true"> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:sub"/> - </xsd:sequence> - <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/> - <xsd:attribute name="crc" type="xsd:string" use="optional"/> - <xsd:attribute name="assoc" type="xlf:AttrType_assoc" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="bpt"> - <xsd:complexType mixed="true"> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:sub"/> - </xsd:sequence> - <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> - <xsd:attribute name="crc" type="xsd:string" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="ept"> - <xsd:complexType mixed="true"> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:sub"/> - </xsd:sequence> - <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="crc" type="xsd:string" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="it"> - <xsd:complexType mixed="true"> - <xsd:sequence maxOccurs="unbounded" minOccurs="0"> - <xsd:element ref="xlf:sub"/> - </xsd:sequence> - <xsd:attribute name="pos" type="xlf:AttrType_Position" use="required"/> - <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> - <xsd:attribute name="crc" type="xsd:string" use="optional"/> - <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="sub"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> - <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> - <xsd:attribute name="xid" type="xsd:string" use="optional"/> - </xsd:complexType> - </xsd:element> - <xsd:element name="mrk"> - <xsd:complexType mixed="true"> - <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> - <xsd:attribute name="mtype" type="xlf:AttrType_mtype" use="required"/> - <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/> - <xsd:attribute name="comment" type="xsd:string" use="optional"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - </xsd:element> -</xsd:schema> diff --git a/vendor/symfony/translation/LoggingTranslator.php b/vendor/symfony/translation/LoggingTranslator.php index 014567086..2746fcfe3 100644 --- a/vendor/symfony/translation/LoggingTranslator.php +++ b/vendor/symfony/translation/LoggingTranslator.php @@ -13,11 +13,13 @@ namespace Symfony\Component\Translation; use Psr\Log\LoggerInterface; use Symfony\Component\Translation\Exception\InvalidArgumentException; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; /** * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> */ -class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface +class LoggingTranslator implements TranslatorInterface, LegacyTranslatorInterface, TranslatorBagInterface { /** * @var TranslatorInterface|TranslatorBagInterface @@ -30,8 +32,11 @@ class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface * @param LoggerInterface $logger */ - public function __construct(TranslatorInterface $translator, LoggerInterface $logger) + public function __construct($translator, LoggerInterface $logger) { + if (!$translator instanceof LegacyTranslatorInterface && !$translator instanceof TranslatorInterface) { + throw new \TypeError(sprintf('Argument 1 passed to %s() must be an instance of %s, %s given.', __METHOD__, TranslatorInterface::class, \is_object($translator) ? \get_class($translator) : \gettype($translator))); + } if (!$translator instanceof TranslatorBagInterface) { throw new InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface and TranslatorBagInterface.', \get_class($translator))); } @@ -53,10 +58,19 @@ class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter */ public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) { - $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%count%" parameter.', __METHOD__), E_USER_DEPRECATED); + + if ($this->translator instanceof TranslatorInterface) { + $trans = $this->translator->trans($id, array('%count%' => $number) + $parameters, $domain, $locale); + } else { + $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); + } + $this->log($id, $domain, $locale); return $trans; @@ -89,7 +103,7 @@ class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface /** * Gets the fallback locales. * - * @return array $locales The fallback locales + * @return array The fallback locales */ public function getFallbackLocales() { @@ -105,7 +119,7 @@ class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface */ public function __call($method, $args) { - return \call_user_func_array(array($this->translator, $method), $args); + return $this->translator->{$method}(...$args); } /** diff --git a/vendor/symfony/translation/MessageCatalogue.php b/vendor/symfony/translation/MessageCatalogue.php index c36ea30ec..7a7657c0a 100644 --- a/vendor/symfony/translation/MessageCatalogue.php +++ b/vendor/symfony/translation/MessageCatalogue.php @@ -49,7 +49,17 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function getDomains() { - return array_keys($this->messages); + $domains = array(); + $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); + + foreach ($this->messages as $domain => $messages) { + if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { + $domain = substr($domain, 0, $i); + } + $domains[$domain] = $domain; + } + + return array_values($domains); } /** @@ -57,11 +67,23 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function all($domain = null) { - if (null === $domain) { - return $this->messages; + if (null !== $domain) { + return ($this->messages[$domain.self::INTL_DOMAIN_SUFFIX] ?? array()) + ($this->messages[$domain] ?? array()); } - return isset($this->messages[$domain]) ? $this->messages[$domain] : array(); + $allMessages = array(); + $suffixLength = \strlen(self::INTL_DOMAIN_SUFFIX); + + foreach ($this->messages as $domain => $messages) { + if (\strlen($domain) > $suffixLength && false !== $i = strpos($domain, self::INTL_DOMAIN_SUFFIX, -$suffixLength)) { + $domain = substr($domain, 0, $i); + $allMessages[$domain] = $messages + ($allMessages[$domain] ?? array()); + } else { + $allMessages[$domain] = ($allMessages[$domain] ?? array()) + $messages; + } + } + + return $allMessages; } /** @@ -77,7 +99,7 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function has($id, $domain = 'messages') { - if (isset($this->messages[$domain][$id])) { + if (isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) { return true; } @@ -93,7 +115,7 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function defines($id, $domain = 'messages') { - return isset($this->messages[$domain][$id]); + return isset($this->messages[$domain][$id]) || isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id]); } /** @@ -101,6 +123,10 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function get($id, $domain = 'messages') { + if (isset($this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id])) { + return $this->messages[$domain.self::INTL_DOMAIN_SUFFIX][$id]; + } + if (isset($this->messages[$domain][$id])) { return $this->messages[$domain][$id]; } @@ -117,7 +143,7 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function replace($messages, $domain = 'messages') { - $this->messages[$domain] = array(); + unset($this->messages[$domain], $this->messages[$domain.self::INTL_DOMAIN_SUFFIX]); $this->add($messages, $domain); } @@ -144,6 +170,10 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf } foreach ($catalogue->all() as $domain => $messages) { + if ($intlMessages = $catalogue->all($domain.self::INTL_DOMAIN_SUFFIX)) { + $this->add($intlMessages, $domain.self::INTL_DOMAIN_SUFFIX); + $messages = array_diff_key($messages, $intlMessages); + } $this->add($messages, $domain); } diff --git a/vendor/symfony/translation/MessageCatalogueInterface.php b/vendor/symfony/translation/MessageCatalogueInterface.php index e0dbb2bd9..f3d3f5ea9 100644 --- a/vendor/symfony/translation/MessageCatalogueInterface.php +++ b/vendor/symfony/translation/MessageCatalogueInterface.php @@ -20,6 +20,8 @@ use Symfony\Component\Config\Resource\ResourceInterface; */ interface MessageCatalogueInterface { + const INTL_DOMAIN_SUFFIX = '+intl-icu'; + /** * Gets the catalogue locale. * diff --git a/vendor/symfony/translation/MessageSelector.php b/vendor/symfony/translation/MessageSelector.php index 5de171c5f..06639417b 100644 --- a/vendor/symfony/translation/MessageSelector.php +++ b/vendor/symfony/translation/MessageSelector.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Translation; +@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2, use IdentityTranslator instead.', MessageSelector::class), E_USER_DEPRECATED); + use Symfony\Component\Translation\Exception\InvalidArgumentException; /** @@ -18,6 +20,8 @@ use Symfony\Component\Translation\Exception\InvalidArgumentException; * * @author Fabien Potencier <fabien@symfony.com> * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since Symfony 4.2, use IdentityTranslator instead. */ class MessageSelector { @@ -39,9 +43,9 @@ class MessageSelector * The two methods can also be mixed: * {0} There are no apples|one: There is one apple|more: There are %count% apples * - * @param string $message The message being translated - * @param int $number The number of items represented for the message - * @param string $locale The locale to use for choosing + * @param string $message The message being translated + * @param int|float $number The number of items represented for the message + * @param string $locale The locale to use for choosing * * @return string * diff --git a/vendor/symfony/translation/PluralizationRules.php b/vendor/symfony/translation/PluralizationRules.php index 3aca0ba96..362f6a1f1 100644 --- a/vendor/symfony/translation/PluralizationRules.php +++ b/vendor/symfony/translation/PluralizationRules.php @@ -15,6 +15,8 @@ namespace Symfony\Component\Translation; * Returns the plural rules for a given locale. * * @author Fabien Potencier <fabien@symfony.com> + * + * @deprecated since Symfony 4.2, use IdentityTranslator instead */ class PluralizationRules { @@ -28,8 +30,12 @@ class PluralizationRules * * @return int The plural position */ - public static function get($number, $locale) + public static function get($number, $locale/*, bool $triggerDeprecation = true*/) { + if (3 > \func_num_args() || \func_get_arg(2)) { + @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2.', __CLASS__), E_USER_DEPRECATED); + } + if ('pt_BR' === $locale) { // temporary set a locale for brazilian $locale = 'xbr'; @@ -196,6 +202,8 @@ class PluralizationRules */ public static function set(callable $rule, $locale) { + @trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.2.', __CLASS__), E_USER_DEPRECATED); + if ('pt_BR' === $locale) { // temporary set a locale for brazilian $locale = 'xbr'; diff --git a/vendor/symfony/translation/Resources/data/parents.json b/vendor/symfony/translation/Resources/data/parents.json new file mode 100644 index 000000000..09709d230 --- /dev/null +++ b/vendor/symfony/translation/Resources/data/parents.json @@ -0,0 +1,136 @@ +{ + "az_Cyrl": "root", + "bs_Cyrl": "root", + "en_150": "en_001", + "en_AG": "en_001", + "en_AI": "en_001", + "en_AT": "en_150", + "en_AU": "en_001", + "en_BB": "en_001", + "en_BE": "en_001", + "en_BM": "en_001", + "en_BS": "en_001", + "en_BW": "en_001", + "en_BZ": "en_001", + "en_CA": "en_001", + "en_CC": "en_001", + "en_CH": "en_150", + "en_CK": "en_001", + "en_CM": "en_001", + "en_CX": "en_001", + "en_CY": "en_001", + "en_DE": "en_150", + "en_DG": "en_001", + "en_DK": "en_150", + "en_DM": "en_001", + "en_ER": "en_001", + "en_FI": "en_150", + "en_FJ": "en_001", + "en_FK": "en_001", + "en_FM": "en_001", + "en_GB": "en_001", + "en_GD": "en_001", + "en_GG": "en_001", + "en_GH": "en_001", + "en_GI": "en_001", + "en_GM": "en_001", + "en_GY": "en_001", + "en_HK": "en_001", + "en_IE": "en_001", + "en_IL": "en_001", + "en_IM": "en_001", + "en_IN": "en_001", + "en_IO": "en_001", + "en_JE": "en_001", + "en_JM": "en_001", + "en_KE": "en_001", + "en_KI": "en_001", + "en_KN": "en_001", + "en_KY": "en_001", + "en_LC": "en_001", + "en_LR": "en_001", + "en_LS": "en_001", + "en_MG": "en_001", + "en_MO": "en_001", + "en_MS": "en_001", + "en_MT": "en_001", + "en_MU": "en_001", + "en_MW": "en_001", + "en_MY": "en_001", + "en_NA": "en_001", + "en_NF": "en_001", + "en_NG": "en_001", + "en_NL": "en_150", + "en_NR": "en_001", + "en_NU": "en_001", + "en_NZ": "en_001", + "en_PG": "en_001", + "en_PH": "en_001", + "en_PK": "en_001", + "en_PN": "en_001", + "en_PW": "en_001", + "en_RW": "en_001", + "en_SB": "en_001", + "en_SC": "en_001", + "en_SD": "en_001", + "en_SE": "en_150", + "en_SG": "en_001", + "en_SH": "en_001", + "en_SI": "en_150", + "en_SL": "en_001", + "en_SS": "en_001", + "en_SX": "en_001", + "en_SZ": "en_001", + "en_TC": "en_001", + "en_TK": "en_001", + "en_TO": "en_001", + "en_TT": "en_001", + "en_TV": "en_001", + "en_TZ": "en_001", + "en_UG": "en_001", + "en_VC": "en_001", + "en_VG": "en_001", + "en_VU": "en_001", + "en_WS": "en_001", + "en_ZA": "en_001", + "en_ZM": "en_001", + "en_ZW": "en_001", + "es_AR": "es_419", + "es_BO": "es_419", + "es_BR": "es_419", + "es_BZ": "es_419", + "es_CL": "es_419", + "es_CO": "es_419", + "es_CR": "es_419", + "es_CU": "es_419", + "es_DO": "es_419", + "es_EC": "es_419", + "es_GT": "es_419", + "es_HN": "es_419", + "es_MX": "es_419", + "es_NI": "es_419", + "es_PA": "es_419", + "es_PE": "es_419", + "es_PR": "es_419", + "es_PY": "es_419", + "es_SV": "es_419", + "es_US": "es_419", + "es_UY": "es_419", + "es_VE": "es_419", + "pa_Arab": "root", + "pt_AO": "pt_PT", + "pt_CH": "pt_PT", + "pt_CV": "pt_PT", + "pt_GQ": "pt_PT", + "pt_GW": "pt_PT", + "pt_LU": "pt_PT", + "pt_MO": "pt_PT", + "pt_MZ": "pt_PT", + "pt_ST": "pt_PT", + "pt_TL": "pt_PT", + "sr_Latn": "root", + "uz_Arab": "root", + "uz_Cyrl": "root", + "zh_Hant": "root", + "zh_Hant_MO": "zh_Hant_HK" +} diff --git a/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd b/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd index 4102d6472..dface628c 100644 --- a/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd +++ b/vendor/symfony/translation/Resources/schemas/xliff-core-1.2-strict.xsd @@ -30,7 +30,7 @@ Jan-10-2006 --> <xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en"> <!-- Import for xml:lang and xml:space --> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../../Loader/schema/dic/xliff-core/xml.xsd"/> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <!-- Attributes Lists --> <xsd:simpleType name="XTend"> <xsd:restriction base="xsd:string"> diff --git a/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-2.0.xsd b/vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd similarity index 100% rename from vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-2.0.xsd rename to vendor/symfony/translation/Resources/schemas/xliff-core-2.0.xsd diff --git a/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd b/vendor/symfony/translation/Resources/schemas/xml.xsd similarity index 100% rename from vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd rename to vendor/symfony/translation/Resources/schemas/xml.xsd diff --git a/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php b/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php index 8b51c15da..9a6884788 100644 --- a/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php +++ b/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php @@ -53,6 +53,20 @@ class MergeOperationTest extends AbstractOperationTest ); } + public function testGetResultFromIntlDomain() + { + $this->assertEquals( + new MessageCatalogue('en', array( + 'messages' => array('a' => 'old_a', 'b' => 'old_b'), + 'messages+intl-icu' => array('d' => 'old_d', 'c' => 'new_c'), + )), + $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'), 'messages+intl-icu' => array('d' => 'old_d'))), + new MessageCatalogue('en', array('messages+intl-icu' => array('a' => 'new_a', 'c' => 'new_c'))) + )->getResult() + ); + } + public function testGetResultWithMetadata() { $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); diff --git a/vendor/symfony/translation/Tests/Catalogue/TargetOperationTest.php b/vendor/symfony/translation/Tests/Catalogue/TargetOperationTest.php index 271d17fb8..83b0550d4 100644 --- a/vendor/symfony/translation/Tests/Catalogue/TargetOperationTest.php +++ b/vendor/symfony/translation/Tests/Catalogue/TargetOperationTest.php @@ -53,6 +53,20 @@ class TargetOperationTest extends AbstractOperationTest ); } + public function testGetResultFromIntlDomain() + { + $this->assertEquals( + new MessageCatalogue('en', array( + 'messages' => array('a' => 'old_a'), + 'messages+intl-icu' => array('c' => 'new_c'), + )), + $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a'), 'messages+intl-icu' => array('b' => 'old_b'))), + new MessageCatalogue('en', array('messages' => array('a' => 'new_a'), 'messages+intl-icu' => array('c' => 'new_c'))) + )->getResult() + ); + } + public function testGetResultWithMetadata() { $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); diff --git a/vendor/symfony/translation/Tests/Command/XliffLintCommandTest.php b/vendor/symfony/translation/Tests/Command/XliffLintCommandTest.php index e37600c3e..758ac981a 100644 --- a/vendor/symfony/translation/Tests/Command/XliffLintCommandTest.php +++ b/vendor/symfony/translation/Tests/Command/XliffLintCommandTest.php @@ -40,6 +40,38 @@ class XliffLintCommandTest extends TestCase $this->assertContains('OK', trim($tester->getDisplay())); } + public function testLintCorrectFiles() + { + $tester = $this->createCommandTester(); + $filename1 = $this->createFile(); + $filename2 = $this->createFile(); + + $tester->execute( + array('filename' => array($filename1, $filename2)), + array('verbosity' => OutputInterface::VERBOSITY_VERBOSE, 'decorated' => false) + ); + + $this->assertEquals(0, $tester->getStatusCode(), 'Returns 0 in case of success'); + $this->assertContains('OK', trim($tester->getDisplay())); + } + + /** + * @dataProvider provideStrictFilenames + */ + public function testStrictFilenames($requireStrictFileNames, $fileNamePattern, $targetLanguage, $mustFail) + { + $tester = $this->createCommandTester($requireStrictFileNames); + $filename = $this->createFile('note', $targetLanguage, $fileNamePattern); + + $tester->execute( + array('filename' => $filename), + array('verbosity' => OutputInterface::VERBOSITY_VERBOSE, 'decorated' => false) + ); + + $this->assertEquals($mustFail ? 1 : 0, $tester->getStatusCode()); + $this->assertContains($mustFail ? '[WARNING] 0 XLIFF files have valid syntax and 1 contain errors.' : '[OK] All 1 XLIFF files contain valid syntax.', $tester->getDisplay()); + } + public function testLintIncorrectXmlSyntax() { $tester = $this->createCommandTester(); @@ -59,7 +91,7 @@ class XliffLintCommandTest extends TestCase $tester->execute(array('filename' => $filename), array('decorated' => false)); $this->assertEquals(1, $tester->getStatusCode(), 'Returns 1 in case of error'); - $this->assertContains('There is a mismatch between the file extension ("en.xlf") and the "es" value used in the "target-language" attribute of the file.', trim($tester->getDisplay())); + $this->assertContains('There is a mismatch between the language included in the file name ("messages.en.xlf") and the "es" value used in the "target-language" attribute of the file.', trim($tester->getDisplay())); } /** @@ -102,7 +134,7 @@ EOF; /** * @return string Path to the new file */ - private function createFile($sourceContent = 'note', $targetLanguage = 'en') + private function createFile($sourceContent = 'note', $targetLanguage = 'en', $fileNamePattern = 'messages.%locale%.xlf') { $xliffContent = <<<XLIFF <?xml version="1.0"?> @@ -118,7 +150,7 @@ EOF; </xliff> XLIFF; - $filename = sprintf('%s/translation-xliff-lint-test/messages.en.xlf', sys_get_temp_dir()); + $filename = sprintf('%s/translation-xliff-lint-test/%s', sys_get_temp_dir(), str_replace('%locale%', 'en', $fileNamePattern)); file_put_contents($filename, $xliffContent); $this->files[] = $filename; @@ -129,11 +161,11 @@ XLIFF; /** * @return CommandTester */ - private function createCommandTester($application = null) + private function createCommandTester($requireStrictFileNames = true, $application = null) { if (!$application) { $application = new Application(); - $application->add(new XliffLintCommand()); + $application->add(new XliffLintCommand(null, null, null, $requireStrictFileNames)); } $command = $application->find('lint:xliff'); @@ -160,4 +192,16 @@ XLIFF; } rmdir(sys_get_temp_dir().'/translation-xliff-lint-test'); } + + public function provideStrictFilenames() + { + yield array(false, 'messages.%locale%.xlf', 'en', false); + yield array(false, 'messages.%locale%.xlf', 'es', true); + yield array(false, '%locale%.messages.xlf', 'en', false); + yield array(false, '%locale%.messages.xlf', 'es', true); + yield array(true, 'messages.%locale%.xlf', 'en', false); + yield array(true, 'messages.%locale%.xlf', 'es', true); + yield array(true, '%locale%.messages.xlf', 'en', true); + yield array(true, '%locale%.messages.xlf', 'es', true); + } } diff --git a/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php b/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php index 504a69e6d..6665eca49 100644 --- a/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php +++ b/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php @@ -42,85 +42,85 @@ class TranslationDataCollectorTest extends TestCase { $collectedMessages = array( array( - 'id' => 'foo', - 'translation' => 'foo (en)', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_DEFINED, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + 'parameters' => array(), + 'transChoiceNumber' => null, ), array( - 'id' => 'bar', - 'translation' => 'bar (fr)', - 'locale' => 'fr', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'parameters' => array(), + 'transChoiceNumber' => null, ), array( - 'id' => 'choice', - 'translation' => 'choice', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_MISSING, - 'parameters' => array('%count%' => 3), - 'transChoiceNumber' => 3, + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'parameters' => array('%count%' => 3), + 'transChoiceNumber' => 3, ), array( - 'id' => 'choice', - 'translation' => 'choice', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_MISSING, - 'parameters' => array('%count%' => 3), - 'transChoiceNumber' => 3, + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'parameters' => array('%count%' => 3), + 'transChoiceNumber' => 3, ), array( - 'id' => 'choice', - 'translation' => 'choice', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_MISSING, - 'parameters' => array('%count%' => 4, '%foo%' => 'bar'), - 'transChoiceNumber' => 4, + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'parameters' => array('%count%' => 4, '%foo%' => 'bar'), + 'transChoiceNumber' => 4, ), ); $expectedMessages = array( array( - 'id' => 'foo', - 'translation' => 'foo (en)', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_DEFINED, - 'count' => 1, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + 'count' => 1, + 'parameters' => array(), + 'transChoiceNumber' => null, ), array( - 'id' => 'bar', - 'translation' => 'bar (fr)', - 'locale' => 'fr', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, - 'count' => 1, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'count' => 1, + 'parameters' => array(), + 'transChoiceNumber' => null, ), array( - 'id' => 'choice', - 'translation' => 'choice', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_MISSING, - 'count' => 3, - 'parameters' => array( - array('%count%' => 3), - array('%count%' => 3), - array('%count%' => 4, '%foo%' => 'bar'), - ), - 'transChoiceNumber' => 3, + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'count' => 3, + 'parameters' => array( + array('%count%' => 3), + array('%count%' => 3), + array('%count%' => 4, '%foo%' => 'bar'), + ), + 'transChoiceNumber' => 3, ), ); diff --git a/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php b/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php index cc196223c..19e056c12 100644 --- a/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php +++ b/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php @@ -25,56 +25,80 @@ class DataCollectorTranslatorTest extends TestCase $collector->trans('foo'); $collector->trans('bar'); - $collector->transChoice('choice', 0); + $collector->trans('choice', array('%count%' => 0)); $collector->trans('bar_ru'); $collector->trans('bar_ru', array('foo' => 'bar')); $expectedMessages = array(); $expectedMessages[] = array( - 'id' => 'foo', - 'translation' => 'foo (en)', - 'locale' => 'en', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_DEFINED, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + 'parameters' => array(), + 'transChoiceNumber' => null, ); $expectedMessages[] = array( - 'id' => 'bar', - 'translation' => 'bar (fr)', - 'locale' => 'fr', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, - 'parameters' => array(), - 'transChoiceNumber' => null, + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'parameters' => array(), + 'transChoiceNumber' => null, ); + $expectedMessages[] = array( + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'parameters' => array('%count%' => 0), + 'transChoiceNumber' => 0, + ); + $expectedMessages[] = array( + 'id' => 'bar_ru', + 'translation' => 'bar (ru)', + 'locale' => 'ru', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'parameters' => array(), + 'transChoiceNumber' => null, + ); + $expectedMessages[] = array( + 'id' => 'bar_ru', + 'translation' => 'bar (ru)', + 'locale' => 'ru', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'parameters' => array('foo' => 'bar'), + 'transChoiceNumber' => null, + ); + + $this->assertEquals($expectedMessages, $collector->getCollectedMessages()); + } + + /** + * @group legacy + */ + public function testCollectMessagesTransChoice() + { + $collector = $this->createCollector(); + $collector->setFallbackLocales(array('fr', 'ru')); + $collector->transChoice('choice', 0); + + $expectedMessages = array(); + $expectedMessages[] = array( 'id' => 'choice', 'translation' => 'choice', 'locale' => 'en', 'domain' => 'messages', 'state' => DataCollectorTranslator::MESSAGE_MISSING, - 'parameters' => array(), + 'parameters' => array('%count%' => 0), 'transChoiceNumber' => 0, ); - $expectedMessages[] = array( - 'id' => 'bar_ru', - 'translation' => 'bar (ru)', - 'locale' => 'ru', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, - 'parameters' => array(), - 'transChoiceNumber' => null, - ); - $expectedMessages[] = array( - 'id' => 'bar_ru', - 'translation' => 'bar (ru)', - 'locale' => 'ru', - 'domain' => 'messages', - 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, - 'parameters' => array('foo' => 'bar'), - 'transChoiceNumber' => null, - ); $this->assertEquals($expectedMessages, $collector->getCollectedMessages()); } diff --git a/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php index d1524d6e5..908f22d74 100644 --- a/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php +++ b/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php @@ -32,6 +32,30 @@ class FileDumperTest extends TestCase @unlink($tempDir.'/messages.en.concrete'); } + public function testDumpIntl() + { + $tempDir = sys_get_temp_dir(); + + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar'), 'd1'); + $catalogue->add(array('bar' => 'foo'), 'd1+intl-icu'); + $catalogue->add(array('bar' => 'foo'), 'd2+intl-icu'); + + $dumper = new ConcreteFileDumper(); + @unlink($tempDir.'/d2.en.concrete'); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertStringEqualsFile($tempDir.'/d1.en.concrete', 'foo=bar'); + @unlink($tempDir.'/d1.en.concrete'); + + $this->assertStringEqualsFile($tempDir.'/d1+intl-icu.en.concrete', 'bar=foo'); + @unlink($tempDir.'/d1+intl-icu.en.concrete'); + + $this->assertFileNotExists($tempDir.'/d2.en.concrete'); + $this->assertStringEqualsFile($tempDir.'/d2+intl-icu.en.concrete', 'bar=foo'); + @unlink($tempDir.'/d2+intl-icu.en.concrete'); + } + public function testDumpCreatesNestedDirectoriesAndFile() { $tempDir = sys_get_temp_dir(); @@ -56,7 +80,7 @@ class ConcreteFileDumper extends FileDumper { public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = array()) { - return ''; + return http_build_query($messages->all($domain), '', '&'); } protected function getExtension() diff --git a/vendor/symfony/translation/Tests/Formatter/IntlFormatterTest.php b/vendor/symfony/translation/Tests/Formatter/IntlFormatterTest.php new file mode 100644 index 000000000..89eaa18f3 --- /dev/null +++ b/vendor/symfony/translation/Tests/Formatter/IntlFormatterTest.php @@ -0,0 +1,96 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Translation\Tests\Formatter; + +use Symfony\Component\Translation\Exception\InvalidArgumentException; +use Symfony\Component\Translation\Formatter\IntlFormatter; +use Symfony\Component\Translation\Formatter\IntlFormatterInterface; + +/** + * @requires extension intl + */ +class IntlFormatterTest extends \PHPUnit\Framework\TestCase +{ + /** + * @dataProvider provideDataForFormat + */ + public function testFormat($expected, $message, $arguments) + { + $this->assertEquals($expected, trim((new IntlFormatter())->formatIntl($message, 'en', $arguments))); + } + + public function testInvalidFormat() + { + $this->expectException(InvalidArgumentException::class); + (new IntlFormatter())->formatIntl('{foo', 'en', array(2)); + } + + public function testFormatWithNamedArguments() + { + if (version_compare(INTL_ICU_VERSION, '4.8', '<')) { + $this->markTestSkipped('Format with named arguments can only be run with ICU 4.8 or higher and PHP >= 5.5'); + } + + $chooseMessage = <<<'_MSG_' +{gender_of_host, select, + female {{num_guests, plural, offset:1 + =0 {{host} does not give a party.} + =1 {{host} invites {guest} to her party.} + =2 {{host} invites {guest} and one other person to her party.} + other {{host} invites {guest} as one of the # people invited to her party.}}} + male {{num_guests, plural, offset:1 + =0 {{host} does not give a party.} + =1 {{host} invites {guest} to his party.} + =2 {{host} invites {guest} and one other person to his party.} + other {{host} invites {guest} as one of the # people invited to his party.}}} + other {{num_guests, plural, offset:1 + =0 {{host} does not give a party.} + =1 {{host} invites {guest} to their party.} + =2 {{host} invites {guest} and one other person to their party.} + other {{host} invites {guest} as one of the # people invited to their party.}}}} +_MSG_; + + $message = (new IntlFormatter())->formatIntl($chooseMessage, 'en', array( + 'gender_of_host' => 'male', + 'num_guests' => 10, + 'host' => 'Fabien', + 'guest' => 'Guilherme', + )); + + $this->assertEquals('Fabien invites Guilherme as one of the 9 people invited to his party.', $message); + } + + public function provideDataForFormat() + { + return array( + array( + 'There is one apple', + 'There is one apple', + array(), + ), + array( + '4,560 monkeys on 123 trees make 37.073 monkeys per tree', + '{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree', + array(4560, 123, 4560 / 123), + ), + ); + } + + public function testPercentsAndBracketsAreTrimmed() + { + $formatter = new IntlFormatter(); + $this->assertInstanceof(IntlFormatterInterface::class, $formatter); + $this->assertSame('Hello Fab', $formatter->formatIntl('Hello {name}', 'en', array('name' => 'Fab'))); + $this->assertSame('Hello Fab', $formatter->formatIntl('Hello {name}', 'en', array('%name%' => 'Fab'))); + $this->assertSame('Hello Fab', $formatter->formatIntl('Hello {name}', 'en', array('{{ name }}' => 'Fab'))); + } +} diff --git a/vendor/symfony/translation/Tests/Formatter/MessageFormatterTest.php b/vendor/symfony/translation/Tests/Formatter/MessageFormatterTest.php index 1fa736e7e..f4c96aa12 100644 --- a/vendor/symfony/translation/Tests/Formatter/MessageFormatterTest.php +++ b/vendor/symfony/translation/Tests/Formatter/MessageFormatterTest.php @@ -26,6 +26,7 @@ class MessageFormatterTest extends TestCase /** * @dataProvider getTransChoiceMessages + * @group legacy */ public function testFormatPlural($expected, $message, $number, $parameters) { diff --git a/vendor/symfony/translation/Tests/IdentityTranslatorTest.php b/vendor/symfony/translation/Tests/IdentityTranslatorTest.php index 78288da40..be0a548aa 100644 --- a/vendor/symfony/translation/Tests/IdentityTranslatorTest.php +++ b/vendor/symfony/translation/Tests/IdentityTranslatorTest.php @@ -11,86 +11,13 @@ namespace Symfony\Component\Translation\Tests; -use PHPUnit\Framework\TestCase; -use Symfony\Component\Intl\Util\IntlTestHelper; use Symfony\Component\Translation\IdentityTranslator; +use Symfony\Contracts\Tests\Translation\TranslatorTest; -class IdentityTranslatorTest extends TestCase +class IdentityTranslatorTest extends TranslatorTest { - /** - * @dataProvider getTransTests - */ - public function testTrans($expected, $id, $parameters) + public function getTranslator() { - $translator = new IdentityTranslator(); - - $this->assertEquals($expected, $translator->trans($id, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithExplicitLocale($expected, $id, $number, $parameters) - { - $translator = new IdentityTranslator(); - $translator->setLocale('en'); - - $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); - } - - /** - * @dataProvider getTransChoiceTests - */ - public function testTransChoiceWithDefaultLocale($expected, $id, $number, $parameters) - { - \Locale::setDefault('en'); - - $translator = new IdentityTranslator(); - - $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); - } - - public function testGetSetLocale() - { - $translator = new IdentityTranslator(); - $translator->setLocale('en'); - - $this->assertEquals('en', $translator->getLocale()); - } - - public function testGetLocaleReturnsDefaultLocaleIfNotSet() - { - // in order to test with "pt_BR" - IntlTestHelper::requireFullIntl($this, false); - - $translator = new IdentityTranslator(); - - \Locale::setDefault('en'); - $this->assertEquals('en', $translator->getLocale()); - - \Locale::setDefault('pt_BR'); - $this->assertEquals('pt_BR', $translator->getLocale()); - } - - public function getTransTests() - { - return array( - array('Symfony is great!', 'Symfony is great!', array()), - array('Symfony is awesome!', 'Symfony is %what%!', array('%what%' => 'awesome')), - ); - } - - public function getTransChoiceTests() - { - return array( - array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0, array('%count%' => 0)), - array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1, array('%count%' => 1)), - array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10, array('%count%' => 10)), - array('There are 0 apples', 'There is 1 apple|There are %count% apples', 0, array('%count%' => 0)), - array('There is 1 apple', 'There is 1 apple|There are %count% apples', 1, array('%count%' => 1)), - array('There are 10 apples', 'There is 1 apple|There are %count% apples', 10, array('%count%' => 10)), - // custom validation messages may be coded with a fixed value - array('There are 2 apples', 'There are 2 apples', 2, array('%count%' => 2)), - ); + return new IdentityTranslator(); } } diff --git a/vendor/symfony/translation/Tests/IntervalTest.php b/vendor/symfony/translation/Tests/IntervalTest.php index 99b209a70..a8dd18caa 100644 --- a/vendor/symfony/translation/Tests/IntervalTest.php +++ b/vendor/symfony/translation/Tests/IntervalTest.php @@ -14,6 +14,9 @@ namespace Symfony\Component\Translation\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Translation\Interval; +/** + * @group legacy + */ class IntervalTest extends TestCase { /** diff --git a/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php index 94406fd5f..c6958486c 100644 --- a/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php +++ b/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php @@ -66,7 +66,7 @@ class XliffFileLoaderTest extends TestCase $loader = new XliffFileLoader(); $catalogue = $loader->load(__DIR__.'/../fixtures/resname.xlf', 'en', 'domain1'); - $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz', 'baz' => 'foo'), $catalogue->all('domain1')); + $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz', 'baz' => 'foo', 'qux' => 'qux source'), $catalogue->all('domain1')); } public function testIncompleteResource() diff --git a/vendor/symfony/translation/Tests/LoggingTranslatorTest.php b/vendor/symfony/translation/Tests/LoggingTranslatorTest.php index 022379e93..0e43cbecf 100644 --- a/vendor/symfony/translation/Tests/LoggingTranslatorTest.php +++ b/vendor/symfony/translation/Tests/LoggingTranslatorTest.php @@ -21,17 +21,19 @@ class LoggingTranslatorTest extends TestCase public function testTransWithNoTranslationIsLogged() { $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); - $logger->expects($this->exactly(2)) + $logger->expects($this->exactly(1)) ->method('warning') ->with('Translation not found.') ; $translator = new Translator('ar'); $loggableTranslator = new LoggingTranslator($translator, $logger); - $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); $loggableTranslator->trans('bar'); } + /** + * @group legacy + */ public function testTransChoiceFallbackIsLogged() { $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); @@ -47,4 +49,20 @@ class LoggingTranslatorTest extends TestCase $loggableTranslator = new LoggingTranslator($translator, $logger); $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); } + + /** + * @group legacy + */ + public function testTransChoiceWithNoTranslationIsLogged() + { + $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); + $logger->expects($this->exactly(1)) + ->method('warning') + ->with('Translation not found.') + ; + + $translator = new Translator('ar'); + $loggableTranslator = new LoggingTranslator($translator, $logger); + $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); + } } diff --git a/vendor/symfony/translation/Tests/MessageCatalogueTest.php b/vendor/symfony/translation/Tests/MessageCatalogueTest.php index 1ab824696..3339f3db2 100644 --- a/vendor/symfony/translation/Tests/MessageCatalogueTest.php +++ b/vendor/symfony/translation/Tests/MessageCatalogueTest.php @@ -25,9 +25,9 @@ class MessageCatalogueTest extends TestCase public function testGetDomains() { - $catalogue = new MessageCatalogue('en', array('domain1' => array(), 'domain2' => array())); + $catalogue = new MessageCatalogue('en', array('domain1' => array(), 'domain2' => array(), 'domain2+intl-icu' => array(), 'domain3+intl-icu' => array())); - $this->assertEquals(array('domain1', 'domain2'), $catalogue->getDomains()); + $this->assertEquals(array('domain1', 'domain2', 'domain3'), $catalogue->getDomains()); } public function testAll() @@ -37,24 +37,43 @@ class MessageCatalogueTest extends TestCase $this->assertEquals(array('foo' => 'foo'), $catalogue->all('domain1')); $this->assertEquals(array(), $catalogue->all('domain88')); $this->assertEquals($messages, $catalogue->all()); + + $messages = array('domain1+intl-icu' => array('foo' => 'bar')) + $messages + array( + 'domain2+intl-icu' => array('bar' => 'foo'), + 'domain3+intl-icu' => array('biz' => 'biz'), + ); + $catalogue = new MessageCatalogue('en', $messages); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals(array('bar' => 'foo'), $catalogue->all('domain2')); + $this->assertEquals(array('biz' => 'biz'), $catalogue->all('domain3')); + + $messages = array( + 'domain1' => array('foo' => 'bar'), + 'domain2' => array('bar' => 'foo'), + 'domain3' => array('biz' => 'biz'), + ); + $this->assertEquals($messages, $catalogue->all()); } public function testHas() { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2+intl-icu' => array('bar' => 'bar'))); $this->assertTrue($catalogue->has('foo', 'domain1')); + $this->assertTrue($catalogue->has('bar', 'domain2')); $this->assertFalse($catalogue->has('bar', 'domain1')); $this->assertFalse($catalogue->has('foo', 'domain88')); } public function testGetSet() { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'), 'domain2+intl-icu' => array('bar' => 'foo'))); $catalogue->set('foo1', 'foo1', 'domain1'); $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + $this->assertEquals('foo', $catalogue->get('bar', 'domain2')); } public function testAdd() @@ -75,7 +94,7 @@ class MessageCatalogueTest extends TestCase public function testReplace() { - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain1+intl-icu' => array('bar' => 'bar'))); $catalogue->replace($messages = array('foo1' => 'foo1'), 'domain1'); $this->assertEquals($messages, $catalogue->all('domain1')); @@ -89,16 +108,18 @@ class MessageCatalogueTest extends TestCase $r1 = $this->getMockBuilder('Symfony\Component\Config\Resource\ResourceInterface')->getMock(); $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); - $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'))); $catalogue->addResource($r); - $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo1' => 'foo1'))); + $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo1' => 'foo1'), 'domain2+intl-icu' => array('bar' => 'bar'))); $catalogue1->addResource($r1); $catalogue->addCatalogue($catalogue1); $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + $this->assertEquals('bar', $catalogue->get('bar', 'domain2')); + $this->assertEquals('bar', $catalogue->get('bar', 'domain2+intl-icu')); $this->assertEquals(array($r, $r1), $catalogue->getResources()); } diff --git a/vendor/symfony/translation/Tests/MessageSelectorTest.php b/vendor/symfony/translation/Tests/MessageSelectorTest.php index 42b7e0a3f..5f85c5b23 100644 --- a/vendor/symfony/translation/Tests/MessageSelectorTest.php +++ b/vendor/symfony/translation/Tests/MessageSelectorTest.php @@ -14,6 +14,9 @@ namespace Symfony\Component\Translation\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Translation\MessageSelector; +/** + * @group legacy + */ class MessageSelectorTest extends TestCase { /** diff --git a/vendor/symfony/translation/Tests/PluralizationRulesTest.php b/vendor/symfony/translation/Tests/PluralizationRulesTest.php index 5eb6c01f5..0da8757aa 100644 --- a/vendor/symfony/translation/Tests/PluralizationRulesTest.php +++ b/vendor/symfony/translation/Tests/PluralizationRulesTest.php @@ -26,6 +26,8 @@ use Symfony\Component\Translation\PluralizationRules; * The goal to cover all languages is to far fetched so this test case is smaller. * * @author Clemens Tolboom clemens@build2be.nl + * + * @group legacy */ class PluralizationRulesTest extends TestCase { diff --git a/vendor/symfony/translation/Tests/TranslatorCacheTest.php b/vendor/symfony/translation/Tests/TranslatorCacheTest.php index 3e71ae74e..13ae9cb10 100644 --- a/vendor/symfony/translation/Tests/TranslatorCacheTest.php +++ b/vendor/symfony/translation/Tests/TranslatorCacheTest.php @@ -24,7 +24,7 @@ class TranslatorCacheTest extends TestCase protected function setUp() { - $this->tmpDir = sys_get_temp_dir().'/sf2_translation'; + $this->tmpDir = sys_get_temp_dir().'/sf_translation'; $this->deleteTmpDir(); } @@ -66,13 +66,17 @@ class TranslatorCacheTest extends TestCase $translator = new Translator($locale, null, $this->tmpDir, $debug); $translator->addLoader($format, new ArrayLoader()); $translator->addResource($format, array($msgid => 'OK'), $locale); + $translator->addResource($format, array($msgid.'+intl' => 'OK'), $locale, 'messages+intl-icu'); $translator->trans($msgid); + $translator->trans($msgid.'+intl', array(), 'messages+intl-icu'); // Try again and see we get a valid result whilst no loader can be used $translator = new Translator($locale, null, $this->tmpDir, $debug); $translator->addLoader($format, $this->createFailingLoader()); $translator->addResource($format, array($msgid => 'OK'), $locale); + $translator->addResource($format, array($msgid.'+intl' => 'OK'), $locale, 'messages+intl-icu'); $this->assertEquals('OK', $translator->trans($msgid), '-> caching does not work in '.($debug ? 'debug' : 'production')); + $this->assertEquals('OK', $translator->trans($msgid.'+intl', array(), 'messages+intl-icu')); } public function testCatalogueIsReloadedWhenResourcesAreNoLongerFresh() @@ -212,6 +216,7 @@ class TranslatorCacheTest extends TestCase $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); $translator->addResource('array', array('foo' => 'foo (b)'), 'b'); $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + $translator->addResource('array', array('baz' => 'baz (b)'), 'b', 'messages+intl-icu'); $catalogue = $translator->getCatalogue('a'); $this->assertFalse($catalogue->defines('bar')); // Sure, the "a" catalogue does not contain that message. @@ -230,12 +235,14 @@ class TranslatorCacheTest extends TestCase $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); $translator->addResource('array', array('foo' => 'foo (b)'), 'b'); $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + $translator->addResource('array', array('baz' => 'baz (b)'), 'b', 'messages+intl-icu'); $catalogue = $translator->getCatalogue('a'); $this->assertFalse($catalogue->defines('bar')); $fallback = $catalogue->getFallbackCatalogue(); $this->assertTrue($fallback->defines('foo')); + $this->assertTrue($fallback->defines('baz', 'messages+intl-icu')); } public function testRefreshCacheWhenResourcesAreNoLongerFresh() diff --git a/vendor/symfony/translation/Tests/TranslatorTest.php b/vendor/symfony/translation/Tests/TranslatorTest.php index 3e54839f7..bbc8ce2d2 100644 --- a/vendor/symfony/translation/Tests/TranslatorTest.php +++ b/vendor/symfony/translation/Tests/TranslatorTest.php @@ -234,6 +234,42 @@ class TranslatorTest extends TestCase $this->assertEquals('bar', $translator->trans('foo', array(), 'resources')); } + public function testTransWithIcuFallbackLocale() + { + $translator = new Translator('en_GB'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en_GB'); + $translator->addResource('array', array('bar' => 'foobar'), 'en_001'); + $translator->addResource('array', array('baz' => 'foobaz'), 'en'); + $this->assertSame('foofoo', $translator->trans('foo')); + $this->assertSame('foobar', $translator->trans('bar')); + $this->assertSame('foobaz', $translator->trans('baz')); + } + + public function testTransWithIcuVariantFallbackLocale() + { + $translator = new Translator('en_GB_scouse'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en_GB_scouse'); + $translator->addResource('array', array('bar' => 'foobar'), 'en_GB'); + $translator->addResource('array', array('baz' => 'foobaz'), 'en_001'); + $translator->addResource('array', array('qux' => 'fooqux'), 'en'); + $this->assertSame('foofoo', $translator->trans('foo')); + $this->assertSame('foobar', $translator->trans('bar')); + $this->assertSame('foobaz', $translator->trans('baz')); + $this->assertSame('fooqux', $translator->trans('qux')); + } + + public function testTransWithIcuRootFallbackLocale() + { + $translator = new Translator('az_Cyrl'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'az_Cyrl'); + $translator->addResource('array', array('bar' => 'foobar'), 'az'); + $this->assertSame('foofoo', $translator->trans('foo')); + $this->assertSame('bar', $translator->trans('bar')); + } + public function testTransWithFallbackLocaleBis() { $translator = new Translator('en_US'); @@ -357,6 +393,7 @@ class TranslatorTest extends TestCase /** * @dataProvider getTransChoiceTests + * @group legacy */ public function testTransChoice($expected, $id, $translation, $number, $parameters, $locale, $domain) { @@ -370,6 +407,7 @@ class TranslatorTest extends TestCase /** * @dataProvider getInvalidLocalesTests * @expectedException \Symfony\Component\Translation\Exception\InvalidArgumentException + * @group legacy */ public function testTransChoiceInvalidLocale($locale) { @@ -382,6 +420,7 @@ class TranslatorTest extends TestCase /** * @dataProvider getValidLocalesTests + * @group legacy */ public function testTransChoiceValidLocale($locale) { @@ -463,7 +502,7 @@ class TranslatorTest extends TestCase array('Il y a 0 pomme', new StringClass('{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples'), '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 0, array(), 'fr', ''), // Override %count% with a custom value - array('Il y a quelques pommes', 'one: There is one apple|more: There are %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 2, array('%count%' => 'quelques'), 'fr', ''), + array('Il y a quelques pommes', 'one: There is one apple|more: There are %count% apples', 'one: Il y a %count% pomme|more: Il y a quelques pommes', 2, array('%count%' => 'quelques'), 'fr', ''), ); } @@ -501,6 +540,24 @@ class TranslatorTest extends TestCase ); } + /** + * @requires extension intl + */ + public function testIntlFormattedDomain() + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + + $translator->addResource('array', array('some_message' => 'Hello %name%'), 'en'); + $this->assertSame('Hello Bob', $translator->trans('some_message', array('%name%' => 'Bob'))); + + $translator->addResource('array', array('some_message' => 'Hi {name}'), 'en', 'messages+intl-icu'); + $this->assertSame('Hi Bob', $translator->trans('some_message', array('%name%' => 'Bob'))); + } + + /** + * @group legacy + */ public function testTransChoiceFallback() { $translator = new Translator('ru'); @@ -511,6 +568,9 @@ class TranslatorTest extends TestCase $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); } + /** + * @group legacy + */ public function testTransChoiceFallbackBis() { $translator = new Translator('ru'); @@ -521,6 +581,9 @@ class TranslatorTest extends TestCase $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); } + /** + * @group legacy + */ public function testTransChoiceFallbackWithNoTranslation() { $translator = new Translator('ru'); diff --git a/vendor/symfony/translation/Tests/fixtures/resname.xlf b/vendor/symfony/translation/Tests/fixtures/resname.xlf index 2df16af94..4fa5c0017 100644 --- a/vendor/symfony/translation/Tests/fixtures/resname.xlf +++ b/vendor/symfony/translation/Tests/fixtures/resname.xlf @@ -14,6 +14,9 @@ <source>baz</source> <target>foo</target> </trans-unit> + <trans-unit id="4" resname="qux"> + <source>qux source</source> + </trans-unit> </body> </file> </xliff> diff --git a/vendor/symfony/translation/Translator.php b/vendor/symfony/translation/Translator.php index 97690410e..7fcb77853 100644 --- a/vendor/symfony/translation/Translator.php +++ b/vendor/symfony/translation/Translator.php @@ -19,14 +19,17 @@ use Symfony\Component\Translation\Exception\LogicException; use Symfony\Component\Translation\Exception\NotFoundResourceException; use Symfony\Component\Translation\Exception\RuntimeException; use Symfony\Component\Translation\Formatter\ChoiceMessageFormatterInterface; +use Symfony\Component\Translation\Formatter\IntlFormatterInterface; use Symfony\Component\Translation\Formatter\MessageFormatter; use Symfony\Component\Translation\Formatter\MessageFormatterInterface; use Symfony\Component\Translation\Loader\LoaderInterface; +use Symfony\Component\Translation\TranslatorInterface as LegacyTranslatorInterface; +use Symfony\Contracts\Translation\TranslatorInterface; /** * @author Fabien Potencier <fabien@symfony.com> */ -class Translator implements TranslatorInterface, TranslatorBagInterface +class Translator implements LegacyTranslatorInterface, TranslatorInterface, TranslatorBagInterface { /** * @var MessageCatalogueInterface[] @@ -73,6 +76,13 @@ class Translator implements TranslatorInterface, TranslatorBagInterface */ private $configCacheFactory; + /** + * @var array|null + */ + private $parentLocales; + + private $hasIntlFormatter; + /** * @throws InvalidArgumentException If a locale contains invalid characters */ @@ -87,6 +97,7 @@ class Translator implements TranslatorInterface, TranslatorBagInterface $this->formatter = $formatter; $this->cacheDir = $cacheDir; $this->debug = $debug; + $this->hasIntlFormatter = $formatter instanceof IntlFormatterInterface; } public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) @@ -171,7 +182,9 @@ class Translator implements TranslatorInterface, TranslatorBagInterface /** * Gets the fallback locales. * - * @return array $locales The fallback locales + * @internal since Symfony 4.2 + * + * @return array The fallback locales */ public function getFallbackLocales() { @@ -187,14 +200,34 @@ class Translator implements TranslatorInterface, TranslatorBagInterface $domain = 'messages'; } - return $this->formatter->format($this->getCatalogue($locale)->get((string) $id, $domain), $locale, $parameters); + $id = (string) $id; + $catalogue = $this->getCatalogue($locale); + $locale = $catalogue->getLocale(); + while (!$catalogue->defines($id, $domain)) { + if ($cat = $catalogue->getFallbackCatalogue()) { + $catalogue = $cat; + $locale = $catalogue->getLocale(); + } else { + break; + } + } + + if ($this->hasIntlFormatter && $catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { + return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, $parameters); + } + + return $this->formatter->format($catalogue->get($id, $domain), $locale, $parameters); } /** * {@inheritdoc} + * + * @deprecated since Symfony 4.2, use the trans() method instead with a %count% parameter */ public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) { + @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2, use the trans() one instead with a "%%count%%" parameter.', __METHOD__), E_USER_DEPRECATED); + if (!$this->formatter instanceof ChoiceMessageFormatterInterface) { throw new LogicException(sprintf('The formatter "%s" does not support plural translations.', \get_class($this->formatter))); } @@ -215,6 +248,10 @@ class Translator implements TranslatorInterface, TranslatorBagInterface } } + if ($this->hasIntlFormatter && $catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { + return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, array('%count%' => $number) + $parameters); + } + return $this->formatter->choiceFormat($catalogue->get($id, $domain), $number, $locale, $parameters); } @@ -316,7 +353,7 @@ return \$catalogue; EOF , $locale, - var_export($this->catalogues[$locale]->all(), true), + var_export($this->getAllMessages($this->catalogues[$locale]), true), $fallbackContent ); @@ -342,7 +379,7 @@ EOF , $fallbackSuffix, $fallback, - var_export($fallbackCatalogue->all(), true), + var_export($this->getAllMessages($fallbackCatalogue), true), $currentSuffix, $fallbackSuffix ); @@ -381,7 +418,7 @@ EOF $this->initializeCatalogue($fallback); } - $fallbackCatalogue = new MessageCatalogue($fallback, $this->catalogues[$fallback]->all()); + $fallbackCatalogue = new MessageCatalogue($fallback, $this->getAllMessages($this->catalogues[$fallback])); foreach ($this->catalogues[$fallback]->getResources() as $resource) { $fallbackCatalogue->addResource($resource); } @@ -392,6 +429,10 @@ EOF protected function computeFallbackLocales($locale) { + if (null === $this->parentLocales) { + $parentLocales = \json_decode(\file_get_contents(__DIR__.'/Resources/data/parents.json'), true); + } + $locales = array(); foreach ($this->fallbackLocales as $fallback) { if ($fallback === $locale) { @@ -401,8 +442,20 @@ EOF $locales[] = $fallback; } - if (false !== strrchr($locale, '_')) { - array_unshift($locales, substr($locale, 0, -\strlen(strrchr($locale, '_')))); + while ($locale) { + $parent = $parentLocales[$locale] ?? null; + + if (!$parent && false !== strrchr($locale, '_')) { + $locale = substr($locale, 0, -\strlen(strrchr($locale, '_'))); + } elseif ('root' !== $parent) { + $locale = $parent; + } else { + $locale = null; + } + + if (null !== $locale) { + array_unshift($locales, $locale); + } } return array_unique($locales); @@ -434,4 +487,21 @@ EOF return $this->configCacheFactory; } + + private function getAllMessages(MessageCatalogueInterface $catalogue): array + { + $allMessages = array(); + + foreach ($catalogue->all() as $domain => $messages) { + if ($intlMessages = $catalogue->all($domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) { + $allMessages[$domain.MessageCatalogue::INTL_DOMAIN_SUFFIX] = $intlMessages; + $messages = array_diff_key($messages, $intlMessages); + } + if ($messages) { + $allMessages[$domain] = $messages; + } + } + + return $allMessages; + } } diff --git a/vendor/symfony/translation/TranslatorInterface.php b/vendor/symfony/translation/TranslatorInterface.php index 9fcfd5bcf..02cb5027b 100644 --- a/vendor/symfony/translation/TranslatorInterface.php +++ b/vendor/symfony/translation/TranslatorInterface.php @@ -17,6 +17,8 @@ use Symfony\Component\Translation\Exception\InvalidArgumentException; * TranslatorInterface. * * @author Fabien Potencier <fabien@symfony.com> + * + * @deprecated since Symfony 4.2, use Symfony\Contracts\Translation\TranslatorInterface instead */ interface TranslatorInterface { diff --git a/vendor/symfony/translation/Util/ArrayConverter.php b/vendor/symfony/translation/Util/ArrayConverter.php index b98e7ce82..e8b7559df 100644 --- a/vendor/symfony/translation/Util/ArrayConverter.php +++ b/vendor/symfony/translation/Util/ArrayConverter.php @@ -69,7 +69,7 @@ class ArrayConverter $elem = &$elem[$part]; } - if (\is_array($elem) && \count($elem) > 0 && $parentOfElem) { + if ($elem && \is_array($elem) && $parentOfElem) { /* Process next case: * 'foo.bar': 'test1' * 'foo': 'test2' diff --git a/vendor/symfony/translation/Util/XliffUtils.php b/vendor/symfony/translation/Util/XliffUtils.php new file mode 100644 index 000000000..9f024e598 --- /dev/null +++ b/vendor/symfony/translation/Util/XliffUtils.php @@ -0,0 +1,163 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Translation\Util; + +use Symfony\Component\Translation\Exception\InvalidArgumentException; +use Symfony\Component\Translation\Exception\InvalidResourceException; + +/** + * Provides some utility methods for XLIFF translation files, such as validating + * their contents according to the XSD schema. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class XliffUtils +{ + /** + * Gets xliff file version based on the root "version" attribute. + * + * Defaults to 1.2 for backwards compatibility. + * + * @throws InvalidArgumentException + */ + public static function getVersionNumber(\DOMDocument $dom): string + { + /** @var \DOMNode $xliff */ + foreach ($dom->getElementsByTagName('xliff') as $xliff) { + $version = $xliff->attributes->getNamedItem('version'); + if ($version) { + return $version->nodeValue; + } + + $namespace = $xliff->attributes->getNamedItem('xmlns'); + if ($namespace) { + if (0 !== substr_compare('urn:oasis:names:tc:xliff:document:', $namespace->nodeValue, 0, 34)) { + throw new InvalidArgumentException(sprintf('Not a valid XLIFF namespace "%s"', $namespace)); + } + + return substr($namespace, 34); + } + } + + // Falls back to v1.2 + return '1.2'; + } + + /** + * Validates and parses the given file into a DOMDocument. + * + * @throws InvalidResourceException + */ + public static function validateSchema(\DOMDocument $dom): array + { + $xliffVersion = static::getVersionNumber($dom); + $internalErrors = libxml_use_internal_errors(true); + $disableEntities = libxml_disable_entity_loader(false); + + $isValid = @$dom->schemaValidateSource(self::getSchema($xliffVersion)); + if (!$isValid) { + libxml_disable_entity_loader($disableEntities); + + return self::getXmlErrors($internalErrors); + } + + libxml_disable_entity_loader($disableEntities); + + $dom->normalizeDocument(); + + libxml_clear_errors(); + libxml_use_internal_errors($internalErrors); + + return array(); + } + + public static function getErrorsAsString(array $xmlErrors): string + { + $errorsAsString = ''; + + foreach ($xmlErrors as $error) { + $errorsAsString .= sprintf("[%s %s] %s (in %s - line %d, column %d)\n", + LIBXML_ERR_WARNING === $error['level'] ? 'WARNING' : 'ERROR', + $error['code'], + $error['message'], + $error['file'], + $error['line'], + $error['column'] + ); + } + + return $errorsAsString; + } + + private static function getSchema(string $xliffVersion): string + { + if ('1.2' === $xliffVersion) { + $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-1.2-strict.xsd'); + $xmlUri = 'http://www.w3.org/2001/xml.xsd'; + } elseif ('2.0' === $xliffVersion) { + $schemaSource = file_get_contents(__DIR__.'/../Resources/schemas/xliff-core-2.0.xsd'); + $xmlUri = 'informativeCopiesOf3rdPartySchemas/w3c/xml.xsd'; + } else { + throw new InvalidArgumentException(sprintf('No support implemented for loading XLIFF version "%s".', $xliffVersion)); + } + + return self::fixXmlLocation($schemaSource, $xmlUri); + } + + /** + * Internally changes the URI of a dependent xsd to be loaded locally. + */ + private static function fixXmlLocation(string $schemaSource, string $xmlUri): string + { + $newPath = str_replace('\\', '/', __DIR__).'/../Resources/schemas/xml.xsd'; + $parts = explode('/', $newPath); + $locationstart = 'file:///'; + if (0 === stripos($newPath, 'phar://')) { + $tmpfile = tempnam(sys_get_temp_dir(), 'symfony'); + if ($tmpfile) { + copy($newPath, $tmpfile); + $parts = explode('/', str_replace('\\', '/', $tmpfile)); + } else { + array_shift($parts); + $locationstart = 'phar:///'; + } + } + + $drive = '\\' === \DIRECTORY_SEPARATOR ? array_shift($parts).'/' : ''; + $newPath = $locationstart.$drive.implode('/', array_map('rawurlencode', $parts)); + + return str_replace($xmlUri, $newPath, $schemaSource); + } + + /** + * Returns the XML errors of the internal XML parser. + */ + private static function getXmlErrors(bool $internalErrors): array + { + $errors = array(); + foreach (libxml_get_errors() as $error) { + $errors[] = array( + 'level' => LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', + 'code' => $error->code, + 'message' => trim($error->message), + 'file' => $error->file ?: 'n/a', + 'line' => $error->line, + 'column' => $error->column, + ); + } + + libxml_clear_errors(); + libxml_use_internal_errors($internalErrors); + + return $errors; + } +} diff --git a/vendor/symfony/translation/composer.json b/vendor/symfony/translation/composer.json index 64ab46b31..29ba62ab1 100644 --- a/vendor/symfony/translation/composer.json +++ b/vendor/symfony/translation/composer.json @@ -17,6 +17,7 @@ ], "require": { "php": "^7.1.3", + "symfony/contracts": "^1.0", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { @@ -33,6 +34,9 @@ "symfony/dependency-injection": "<3.4", "symfony/yaml": "<3.4" }, + "provide": { + "symfony/translation-contracts-implementation": "1.0" + }, "suggest": { "symfony/config": "", "symfony/yaml": "", @@ -47,7 +51,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/translation/phpunit.xml.dist b/vendor/symfony/translation/phpunit.xml.dist index 1fafa4691..21d324618 100644 --- a/vendor/symfony/translation/phpunit.xml.dist +++ b/vendor/symfony/translation/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/var-dumper/CHANGELOG.md b/vendor/symfony/var-dumper/CHANGELOG.md index 34d9bbb0f..0ef5e85bd 100644 --- a/vendor/symfony/var-dumper/CHANGELOG.md +++ b/vendor/symfony/var-dumper/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +4.2.0 +----- + + * support selecting the format to use by setting the environment variable `VAR_DUMPER_FORMAT` to `html` or `cli` + 4.1.0 ----- diff --git a/vendor/symfony/var-dumper/Caster/ClassStub.php b/vendor/symfony/var-dumper/Caster/ClassStub.php index b609a6eda..873b0c0a0 100644 --- a/vendor/symfony/var-dumper/Caster/ClassStub.php +++ b/vendor/symfony/var-dumper/Caster/ClassStub.php @@ -11,6 +11,8 @@ namespace Symfony\Component\VarDumper\Caster; +use Symfony\Component\VarDumper\Cloner\Stub; + /** * Represents a PHP class identifier. * @@ -19,19 +21,13 @@ namespace Symfony\Component\VarDumper\Caster; class ClassStub extends ConstStub { /** - * @param string A PHP identifier, e.g. a class, method, interface, etc. name - * @param callable The callable targeted by the identifier when it is ambiguous or not a real PHP identifier + * @param string $identifier A PHP identifier, e.g. a class, method, interface, etc. name + * @param callable $callable The callable targeted by the identifier when it is ambiguous or not a real PHP identifier */ public function __construct(string $identifier, $callable = null) { $this->value = $identifier; - if (0 < $i = strrpos($identifier, '\\')) { - $this->attr['ellipsis'] = \strlen($identifier) - $i; - $this->attr['ellipsis-type'] = 'class'; - $this->attr['ellipsis-tail'] = 1; - } - try { if (null !== $callable) { if ($callable instanceof \Closure) { @@ -58,8 +54,31 @@ class ClassStub extends ConstStub $r = new \ReflectionClass($r[0]); } } + + if (false !== strpos($identifier, "class@anonymous\0")) { + $this->value = $identifier = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { + return \class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; + }, $identifier); + } + + if (null !== $callable && $r instanceof \ReflectionFunctionAbstract) { + $s = ReflectionCaster::castFunctionAbstract($r, array(), new Stub(), true); + $s = ReflectionCaster::getSignature($s); + + if ('()' === substr($identifier, -2)) { + $this->value = substr_replace($identifier, $s, -2); + } else { + $this->value .= $s; + } + } } catch (\ReflectionException $e) { return; + } finally { + if (0 < $i = strrpos($this->value, '\\')) { + $this->attr['ellipsis'] = \strlen($this->value) - $i; + $this->attr['ellipsis-type'] = 'class'; + $this->attr['ellipsis-tail'] = 1; + } } if ($f = $r->getFileName()) { @@ -75,9 +94,9 @@ class ClassStub extends ConstStub } if (!\is_array($callable)) { - $callable = new static($callable); + $callable = new static($callable, $callable); } elseif (\is_string($callable[0])) { - $callable[0] = new static($callable[0]); + $callable[0] = new static($callable[0], $callable); } else { $callable[1] = new static($callable[1], $callable); } diff --git a/vendor/symfony/var-dumper/Caster/ExceptionCaster.php b/vendor/symfony/var-dumper/Caster/ExceptionCaster.php index 49df71da7..f3af638d9 100644 --- a/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +++ b/vendor/symfony/var-dumper/Caster/ExceptionCaster.php @@ -71,7 +71,9 @@ class ExceptionCaster if (isset($a[$xPrefix.'previous'], $a[$trace]) && $a[$xPrefix.'previous'] instanceof \Exception) { $b = (array) $a[$xPrefix.'previous']; - self::traceUnshift($b[$xPrefix.'trace'], \get_class($a[$xPrefix.'previous']), $b[$prefix.'file'], $b[$prefix.'line']); + $class = \get_class($a[$xPrefix.'previous']); + $class = 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class; + self::traceUnshift($b[$xPrefix.'trace'], $class, $b[$prefix.'file'], $b[$prefix.'line']); $a[$trace] = new TraceStub($b[$xPrefix.'trace'], false, 0, -\count($a[$trace]->value)); } @@ -279,6 +281,12 @@ class ExceptionCaster } unset($a[$xPrefix.'string'], $a[Caster::PREFIX_DYNAMIC.'xdebug_message'], $a[Caster::PREFIX_DYNAMIC.'__destructorException']); + if (isset($a[Caster::PREFIX_PROTECTED.'message']) && false !== strpos($a[Caster::PREFIX_PROTECTED.'message'], "class@anonymous\0")) { + $a[Caster::PREFIX_PROTECTED.'message'] = preg_replace_callback('/class@anonymous\x00.*?\.php0x?[0-9a-fA-F]++/', function ($m) { + return \class_exists($m[0], false) ? get_parent_class($m[0]).'@anonymous' : $m[0]; + }, $a[Caster::PREFIX_PROTECTED.'message']); + } + if (isset($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line'])) { $a[Caster::PREFIX_PROTECTED.'file'] = new LinkStub($a[Caster::PREFIX_PROTECTED.'file'], $a[Caster::PREFIX_PROTECTED.'line']); } diff --git a/vendor/symfony/var-dumper/Caster/IntlCaster.php b/vendor/symfony/var-dumper/Caster/IntlCaster.php new file mode 100644 index 000000000..a69813079 --- /dev/null +++ b/vendor/symfony/var-dumper/Caster/IntlCaster.php @@ -0,0 +1,171 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * @author Nicolas Grekas <p@tchwork.com> + * @author Jan Schädlich <jan.schaedlich@sensiolabs.de> + */ +class IntlCaster +{ + public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), + Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), + ); + + return self::castError($c, $a); + } + + public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $a += array( + Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), + Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), + ); + + if ($filter & Caster::EXCLUDE_VERBOSE) { + $stub->cut += 3; + + return self::castError($c, $a); + } + + $a += array( + Caster::PREFIX_VIRTUAL.'attributes' => new EnumStub( + array( + 'PARSE_INT_ONLY' => $c->getAttribute(\NumberFormatter::PARSE_INT_ONLY), + 'GROUPING_USED' => $c->getAttribute(\NumberFormatter::GROUPING_USED), + 'DECIMAL_ALWAYS_SHOWN' => $c->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN), + 'MAX_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS), + 'MIN_INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS), + 'INTEGER_DIGITS' => $c->getAttribute(\NumberFormatter::INTEGER_DIGITS), + 'MAX_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS), + 'MIN_FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS), + 'FRACTION_DIGITS' => $c->getAttribute(\NumberFormatter::FRACTION_DIGITS), + 'MULTIPLIER' => $c->getAttribute(\NumberFormatter::MULTIPLIER), + 'GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::GROUPING_SIZE), + 'ROUNDING_MODE' => $c->getAttribute(\NumberFormatter::ROUNDING_MODE), + 'ROUNDING_INCREMENT' => $c->getAttribute(\NumberFormatter::ROUNDING_INCREMENT), + 'FORMAT_WIDTH' => $c->getAttribute(\NumberFormatter::FORMAT_WIDTH), + 'PADDING_POSITION' => $c->getAttribute(\NumberFormatter::PADDING_POSITION), + 'SECONDARY_GROUPING_SIZE' => $c->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE), + 'SIGNIFICANT_DIGITS_USED' => $c->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED), + 'MIN_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS), + 'MAX_SIGNIFICANT_DIGITS' => $c->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS), + 'LENIENT_PARSE' => $c->getAttribute(\NumberFormatter::LENIENT_PARSE), + ) + ), + Caster::PREFIX_VIRTUAL.'text_attributes' => new EnumStub( + array( + 'POSITIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX), + 'POSITIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX), + 'NEGATIVE_PREFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX), + 'NEGATIVE_SUFFIX' => $c->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX), + 'PADDING_CHARACTER' => $c->getTextAttribute(\NumberFormatter::PADDING_CHARACTER), + 'CURRENCY_CODE' => $c->getTextAttribute(\NumberFormatter::CURRENCY_CODE), + 'DEFAULT_RULESET' => $c->getTextAttribute(\NumberFormatter::DEFAULT_RULESET), + 'PUBLIC_RULESETS' => $c->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS), + ) + ), + Caster::PREFIX_VIRTUAL.'symbols' => new EnumStub( + array( + 'DECIMAL_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL), + 'GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL), + 'PATTERN_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL), + 'PERCENT_SYMBOL' => $c->getSymbol(\NumberFormatter::PERCENT_SYMBOL), + 'ZERO_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL), + 'DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::DIGIT_SYMBOL), + 'MINUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL), + 'PLUS_SIGN_SYMBOL' => $c->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL), + 'CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::CURRENCY_SYMBOL), + 'INTL_CURRENCY_SYMBOL' => $c->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL), + 'MONETARY_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL), + 'EXPONENTIAL_SYMBOL' => $c->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL), + 'PERMILL_SYMBOL' => $c->getSymbol(\NumberFormatter::PERMILL_SYMBOL), + 'PAD_ESCAPE_SYMBOL' => $c->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL), + 'INFINITY_SYMBOL' => $c->getSymbol(\NumberFormatter::INFINITY_SYMBOL), + 'NAN_SYMBOL' => $c->getSymbol(\NumberFormatter::NAN_SYMBOL), + 'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL), + 'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL), + ) + ), + ); + + return self::castError($c, $a); + } + + public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'display_name' => $c->getDisplayName(), + Caster::PREFIX_VIRTUAL.'id' => $c->getID(), + Caster::PREFIX_VIRTUAL.'raw_offset' => $c->getRawOffset(), + ); + + if ($c->useDaylightTime()) { + $a += array( + Caster::PREFIX_VIRTUAL.'dst_savings' => $c->getDSTSavings(), + ); + } + + return self::castError($c, $a); + } + + public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $a += array( + Caster::PREFIX_VIRTUAL.'type' => $c->getType(), + Caster::PREFIX_VIRTUAL.'first_day_of_week' => $c->getFirstDayOfWeek(), + Caster::PREFIX_VIRTUAL.'minimal_days_in_first_week' => $c->getMinimalDaysInFirstWeek(), + Caster::PREFIX_VIRTUAL.'repeated_wall_time_option' => $c->getRepeatedWallTimeOption(), + Caster::PREFIX_VIRTUAL.'skipped_wall_time_option' => $c->getSkippedWallTimeOption(), + Caster::PREFIX_VIRTUAL.'time' => $c->getTime(), + Caster::PREFIX_VIRTUAL.'type' => $c->getType(), + Caster::PREFIX_VIRTUAL.'in_daylight_time' => $c->inDaylightTime(), + Caster::PREFIX_VIRTUAL.'is_lenient' => $c->isLenient(), + Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(), + ); + + return self::castError($c, $a); + } + + public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, $isNested, $filter = 0) + { + $a += array( + Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), + Caster::PREFIX_VIRTUAL.'pattern' => $c->getPattern(), + Caster::PREFIX_VIRTUAL.'calendar' => $c->getCalendar(), + Caster::PREFIX_VIRTUAL.'time_zone_id' => $c->getTimeZoneId(), + Caster::PREFIX_VIRTUAL.'time_type' => $c->getTimeType(), + Caster::PREFIX_VIRTUAL.'date_type' => $c->getDateType(), + Caster::PREFIX_VIRTUAL.'calendar_object' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getCalendarObject()) : $c->getCalendarObject(), + Caster::PREFIX_VIRTUAL.'time_zone' => ($filter & Caster::EXCLUDE_VERBOSE) ? new CutStub($c->getTimeZone()) : $c->getTimeZone(), + ); + + return self::castError($c, $a); + } + + private static function castError($c, array $a): array + { + if ($errorCode = $c->getErrorCode()) { + $a += array( + Caster::PREFIX_VIRTUAL.'error_code' => $errorCode, + Caster::PREFIX_VIRTUAL.'error_message' => $c->getErrorMessage(), + ); + } + + return $a; + } +} diff --git a/vendor/symfony/var-dumper/Caster/LinkStub.php b/vendor/symfony/var-dumper/Caster/LinkStub.php index 5511404af..5c133c668 100644 --- a/vendor/symfony/var-dumper/Caster/LinkStub.php +++ b/vendor/symfony/var-dumper/Caster/LinkStub.php @@ -55,9 +55,9 @@ class LinkStub extends ConstStub if ($composerRoot = $this->getComposerRoot($href, $this->inVendor)) { $this->attr['ellipsis'] = \strlen($href) - \strlen($composerRoot) + 1; $this->attr['ellipsis-type'] = 'path'; - $this->attr['ellipsis-tail'] = 1 + ($this->inVendor ? 2 + \strlen(implode(\array_slice(explode(\DIRECTORY_SEPARATOR, substr($href, 1 - $this->attr['ellipsis'])), 0, 2))) : 0); + $this->attr['ellipsis-tail'] = 1 + ($this->inVendor ? 2 + \strlen(implode('', \array_slice(explode(\DIRECTORY_SEPARATOR, substr($href, 1 - $this->attr['ellipsis'])), 0, 2))) : 0); } elseif (3 < \count($ellipsis = explode(\DIRECTORY_SEPARATOR, $href))) { - $this->attr['ellipsis'] = 2 + \strlen(implode(\array_slice($ellipsis, -2))); + $this->attr['ellipsis'] = 2 + \strlen(implode('', \array_slice($ellipsis, -2))); $this->attr['ellipsis-type'] = 'path'; $this->attr['ellipsis-tail'] = 1; } diff --git a/vendor/symfony/var-dumper/Caster/MemcachedCaster.php b/vendor/symfony/var-dumper/Caster/MemcachedCaster.php new file mode 100644 index 000000000..99a33bca6 --- /dev/null +++ b/vendor/symfony/var-dumper/Caster/MemcachedCaster.php @@ -0,0 +1,79 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * @author Jan Schädlich <jan.schaedlich@sensiolabs.de> + */ +class MemcachedCaster +{ + private static $optionConstants; + private static $defaultOptions; + + public static function castMemcached(\Memcached $c, array $a, Stub $stub, $isNested) + { + $a += array( + Caster::PREFIX_VIRTUAL.'servers' => $c->getServerList(), + Caster::PREFIX_VIRTUAL.'options' => new EnumStub( + self::getNonDefaultOptions($c) + ), + ); + + return $a; + } + + private static function getNonDefaultOptions(\Memcached $c) + { + self::$defaultOptions = self::$defaultOptions ?? self::discoverDefaultOptions(); + self::$optionConstants = self::$optionConstants ?? self::getOptionConstants(); + + $nonDefaultOptions = array(); + foreach (self::$optionConstants as $constantKey => $value) { + if (self::$defaultOptions[$constantKey] !== $option = $c->getOption($value)) { + $nonDefaultOptions[$constantKey] = $option; + } + } + + return $nonDefaultOptions; + } + + private static function discoverDefaultOptions() + { + $defaultMemcached = new \Memcached(); + $defaultMemcached->addServer('127.0.0.1', 11211); + + $defaultOptions = array(); + self::$optionConstants = self::$optionConstants ?? self::getOptionConstants(); + + foreach (self::$optionConstants as $constantKey => $value) { + $defaultOptions[$constantKey] = $defaultMemcached->getOption($value); + } + + return $defaultOptions; + } + + private static function getOptionConstants() + { + $reflectedMemcached = new \ReflectionClass(\Memcached::class); + + $optionConstants = array(); + foreach ($reflectedMemcached->getConstants() as $constantKey => $value) { + if (0 === strpos($constantKey, 'OPT_')) { + $optionConstants[$constantKey] = $value; + } + } + + return $optionConstants; + } +} diff --git a/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php b/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php new file mode 100644 index 000000000..da037b6b3 --- /dev/null +++ b/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php @@ -0,0 +1,31 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Caster; + +use ProxyManager\Proxy\ProxyInterface; +use Symfony\Component\VarDumper\Cloner\Stub; + +/** + * @author Nicolas Grekas <p@tchwork.com> + */ +class ProxyManagerCaster +{ + public static function castProxy(ProxyInterface $c, array $a, Stub $stub, $isNested) + { + if ($parent = \get_parent_class($c)) { + $stub->class .= ' - '.$parent; + } + $stub->class .= '@proxy'; + + return $a; + } +} diff --git a/vendor/symfony/var-dumper/Caster/RedisCaster.php b/vendor/symfony/var-dumper/Caster/RedisCaster.php index 112097fd9..0fcd9d96f 100644 --- a/vendor/symfony/var-dumper/Caster/RedisCaster.php +++ b/vendor/symfony/var-dumper/Caster/RedisCaster.php @@ -26,6 +26,24 @@ class RedisCaster 2 => 'IGBINARY', // Optional Redis::SERIALIZER_IGBINARY ); + private static $mode = array( + \Redis::ATOMIC => 'ATOMIC', + \Redis::MULTI => 'MULTI', + \Redis::PIPELINE => 'PIPELINE', + ); + + private static $compression = array( + 0 => 'NONE', // Redis::COMPRESSION_NONE + 1 => 'LZF', // Redis::COMPRESSION_LZF + ); + + private static $failover = array( + \RedisCluster::FAILOVER_NONE => 'NONE', + \RedisCluster::FAILOVER_ERROR => 'ERROR', + \RedisCluster::FAILOVER_DISTRIBUTE => 'DISTRIBUTE', + \RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES', + ); + public static function castRedis(\Redis $c, array $a, Stub $stub, $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -36,23 +54,19 @@ class RedisCaster ); } - $ser = $c->getOption(\Redis::OPT_SERIALIZER); - $retry = \defined('Redis::OPT_SCAN') ? $c->getOption(\Redis::OPT_SCAN) : 0; + $mode = $c->getMode(); return $a + array( $prefix.'isConnected' => $connected, $prefix.'host' => $c->getHost(), $prefix.'port' => $c->getPort(), $prefix.'auth' => $c->getAuth(), + $prefix.'mode' => isset(self::$mode[$mode]) ? new ConstStub(self::$mode[$mode], $mode) : $mode, $prefix.'dbNum' => $c->getDbNum(), $prefix.'timeout' => $c->getTimeout(), + $prefix.'lastError' => $c->getLastError(), $prefix.'persistentId' => $c->getPersistentID(), - $prefix.'options' => new EnumStub(array( - 'READ_TIMEOUT' => $c->getOption(\Redis::OPT_READ_TIMEOUT), - 'SERIALIZER' => isset(self::$serializer[$ser]) ? new ConstStub(self::$serializer[$ser], $ser) : $ser, - 'PREFIX' => $c->getOption(\Redis::OPT_PREFIX), - 'SCAN' => new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry), - )), + $prefix.'options' => self::getRedisOptions($c), ); } @@ -63,6 +77,74 @@ class RedisCaster return $a + array( $prefix.'hosts' => $c->_hosts(), $prefix.'function' => ClassStub::wrapCallable($c->_function()), + $prefix.'lastError' => $c->getLastError(), + $prefix.'options' => self::getRedisOptions($c), ); } + + public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, $isNested) + { + $prefix = Caster::PREFIX_VIRTUAL; + $failover = $c->getOption(\RedisCluster::OPT_SLAVE_FAILOVER); + + $a += array( + $prefix.'_masters' => $c->_masters(), + $prefix.'_redir' => $c->_redir(), + $prefix.'mode' => new ConstStub($c->getMode() ? 'MULTI' : 'ATOMIC', $c->getMode()), + $prefix.'lastError' => $c->getLastError(), + $prefix.'options' => self::getRedisOptions($c, array( + 'SLAVE_FAILOVER' => isset(self::$failover[$failover]) ? new ConstStub(self::$failover[$failover], $failover) : $failover, + )), + ); + + return $a; + } + + /** + * @param \Redis|\RedisArray|\RedisCluster $redis + */ + private static function getRedisOptions($redis, array $options = array()): EnumStub + { + $serializer = $redis->getOption(\Redis::OPT_SERIALIZER); + if (\is_array($serializer)) { + foreach ($serializer as &$v) { + if (isset(self::$serializer[$v])) { + $v = new ConstStub(self::$serializer[$v], $v); + } + } + } elseif (isset(self::$serializer[$serializer])) { + $serializer = new ConstStub(self::$serializer[$serializer], $serializer); + } + + $compression = \defined('Redis::OPT_COMPRESSION') ? $redis->getOption(\Redis::OPT_COMPRESSION) : 0; + if (\is_array($compression)) { + foreach ($compression as &$v) { + if (isset(self::$compression[$v])) { + $v = new ConstStub(self::$compression[$v], $v); + } + } + } elseif (isset(self::$compression[$compression])) { + $compression = new ConstStub(self::$compression[$compression], $compression); + } + + $retry = \defined('Redis::OPT_SCAN') ? $redis->getOption(\Redis::OPT_SCAN) : 0; + if (\is_array($retry)) { + foreach ($retry as &$v) { + $v = new ConstStub($v ? 'RETRY' : 'NORETRY', $v); + } + } else { + $retry = new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry); + } + + $options += array( + 'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) : 0, + 'READ_TIMEOUT' => $redis->getOption(\Redis::OPT_READ_TIMEOUT), + 'COMPRESSION' => $compression, + 'SERIALIZER' => $serializer, + 'PREFIX' => $redis->getOption(\Redis::OPT_PREFIX), + 'SCAN' => $retry, + ); + + return new EnumStub($options); + } } diff --git a/vendor/symfony/var-dumper/Caster/ReflectionCaster.php b/vendor/symfony/var-dumper/Caster/ReflectionCaster.php index c625e787d..35a764a50 100644 --- a/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +++ b/vendor/symfony/var-dumper/Caster/ReflectionCaster.php @@ -38,6 +38,20 @@ class ReflectionCaster $a = static::castFunctionAbstract($c, $a, $stub, $isNested, $filter); + if (false === strpos($c->name, '{closure}')) { + $stub->class = isset($a[$prefix.'class']) ? $a[$prefix.'class']->value.'::'.$c->name : $c->name; + unset($a[$prefix.'class']); + } + unset($a[$prefix.'extra']); + + $stub->class .= self::getSignature($a); + + if ($filter & Caster::EXCLUDE_VERBOSE) { + $stub->cut += ($c->getFileName() ? 2 : 0) + \count($a); + + return array(); + } + if (isset($a[$prefix.'parameters'])) { foreach ($a[$prefix.'parameters']->value as &$v) { $param = $v; @@ -51,14 +65,11 @@ class ReflectionCaster } } - if (!($filter & Caster::EXCLUDE_VERBOSE) && $f = $c->getFileName()) { + if ($f = $c->getFileName()) { $a[$prefix.'file'] = new LinkStub($f, $c->getStartLine()); $a[$prefix.'line'] = $c->getStartLine().' to '.$c->getEndLine(); } - $prefix = Caster::PREFIX_DYNAMIC; - unset($a['name'], $a[$prefix.'this'], $a[$prefix.'parameter'], $a[Caster::PREFIX_VIRTUAL.'extra']); - return $a; } @@ -294,6 +305,52 @@ class ReflectionCaster return $a; } + public static function getSignature(array $a) + { + $prefix = Caster::PREFIX_VIRTUAL; + $signature = ''; + + if (isset($a[$prefix.'parameters'])) { + foreach ($a[$prefix.'parameters']->value as $k => $param) { + $signature .= ', '; + if ($type = $param->getType()) { + if (!$param->isOptional() && $param->allowsNull()) { + $signature .= '?'; + } + $signature .= substr(strrchr('\\'.$type->getName(), '\\'), 1).' '; + } + $signature .= $k; + + if (!$param->isDefaultValueAvailable()) { + continue; + } + $v = $param->getDefaultValue(); + $signature .= ' = '; + + if ($param->isDefaultValueConstant()) { + $signature .= substr(strrchr('\\'.$param->getDefaultValueConstantName(), '\\'), 1); + } elseif (null === $v) { + $signature .= 'null'; + } elseif (\is_array($v)) { + $signature .= $v ? '[…'.\count($v).']' : '[]'; + } elseif (\is_string($v)) { + $signature .= 10 > \strlen($v) && false === strpos($v, '\\') ? "'{$v}'" : "'…".\strlen($v)."'"; + } elseif (\is_bool($v)) { + $signature .= $v ? 'true' : 'false'; + } else { + $signature .= $v; + } + } + } + $signature = (empty($a[$prefix.'returnsReference']) ? '' : '&').'('.substr($signature, 2).')'; + + if (isset($a[$prefix.'returnType'])) { + $signature .= ': '.substr(strrchr('\\'.$a[$prefix.'returnType'], '\\'), 1); + } + + return $signature; + } + private static function addExtra(&$a, \Reflector $c) { $x = isset($a[Caster::PREFIX_VIRTUAL.'extra']) ? $a[Caster::PREFIX_VIRTUAL.'extra']->value : array(); diff --git a/vendor/symfony/var-dumper/Cloner/AbstractCloner.php b/vendor/symfony/var-dumper/Cloner/AbstractCloner.php index f8dfa97c9..38891f1d8 100644 --- a/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +++ b/vendor/symfony/var-dumper/Cloner/AbstractCloner.php @@ -81,6 +81,7 @@ abstract class AbstractCloner implements ClonerInterface 'Symfony\Component\VarDumper\Caster\FrameStub' => array('Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castFrameStub'), 'Symfony\Component\Debug\Exception\SilencedErrorContext' => array('Symfony\Component\VarDumper\Caster\ExceptionCaster', 'castSilencedErrorContext'), + 'ProxyManager\Proxy\ProxyInterface' => array('Symfony\Component\VarDumper\Caster\ProxyManagerCaster', 'castProxy'), 'PHPUnit_Framework_MockObject_MockObject' => array('Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'), 'Prophecy\Prophecy\ProphecySubjectInterface' => array('Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'), 'Mockery\MockInterface' => array('Symfony\Component\VarDumper\Caster\StubCaster', 'cutInternals'), @@ -107,6 +108,7 @@ abstract class AbstractCloner implements ClonerInterface 'Redis' => array('Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedis'), 'RedisArray' => array('Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisArray'), + 'RedisCluster' => array('Symfony\Component\VarDumper\Caster\RedisCaster', 'castRedisCluster'), 'DateTimeInterface' => array('Symfony\Component\VarDumper\Caster\DateCaster', 'castDateTime'), 'DateInterval' => array('Symfony\Component\VarDumper\Caster\DateCaster', 'castInterval'), @@ -115,6 +117,14 @@ abstract class AbstractCloner implements ClonerInterface 'GMP' => array('Symfony\Component\VarDumper\Caster\GmpCaster', 'castGmp'), + 'MessageFormatter' => array('Symfony\Component\VarDumper\Caster\IntlCaster', 'castMessageFormatter'), + 'NumberFormatter' => array('Symfony\Component\VarDumper\Caster\IntlCaster', 'castNumberFormatter'), + 'IntlTimeZone' => array('Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlTimeZone'), + 'IntlCalendar' => array('Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlCalendar'), + 'IntlDateFormatter' => array('Symfony\Component\VarDumper\Caster\IntlCaster', 'castIntlDateFormatter'), + + 'Memcached' => array('Symfony\Component\VarDumper\Caster\MemcachedCaster', 'castMemcached'), + ':curl' => array('Symfony\Component\VarDumper\Caster\ResourceCaster', 'castCurl'), ':dba' => array('Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'), ':dba persistent' => array('Symfony\Component\VarDumper\Caster\ResourceCaster', 'castDba'), diff --git a/vendor/symfony/var-dumper/Cloner/Data.php b/vendor/symfony/var-dumper/Cloner/Data.php index cf5f204cd..0604a38f5 100644 --- a/vendor/symfony/var-dumper/Cloner/Data.php +++ b/vendor/symfony/var-dumper/Cloner/Data.php @@ -63,7 +63,7 @@ class Data implements \ArrayAccess, \Countable, \IteratorAggregate /** * @param bool $recursive Whether values should be resolved recursively or not * - * @return string|int|float|bool|array|null|Data[] A native representation of the original value + * @return string|int|float|bool|array|Data[]|null A native representation of the original value */ public function getValue($recursive = false) { @@ -115,9 +115,7 @@ class Data implements \ArrayAccess, \Countable, \IteratorAggregate throw new \LogicException(sprintf('%s object holds non-iterable type "%s".', self::class, \gettype($value))); } - foreach ($value as $k => $v) { - yield $k => $v; - } + yield from $value; } public function __get($key) diff --git a/vendor/symfony/var-dumper/Dumper/HtmlDumper.php b/vendor/symfony/var-dumper/Dumper/HtmlDumper.php index 0edb97cdc..e15a2b644 100644 --- a/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +++ b/vendor/symfony/var-dumper/Dumper/HtmlDumper.php @@ -23,6 +23,41 @@ class HtmlDumper extends CliDumper { public static $defaultOutput = 'php://output'; + protected static $themes = array( + 'dark' => array( + 'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all', + 'num' => 'font-weight:bold; color:#1299DA', + 'const' => 'font-weight:bold', + 'str' => 'font-weight:bold; color:#56DB3A', + 'note' => 'color:#1299DA', + 'ref' => 'color:#A0A0A0', + 'public' => 'color:#FFFFFF', + 'protected' => 'color:#FFFFFF', + 'private' => 'color:#FFFFFF', + 'meta' => 'color:#B729D9', + 'key' => 'color:#56DB3A', + 'index' => 'color:#1299DA', + 'ellipsis' => 'color:#FF8400', + 'ns' => 'user-select:none;', + ), + 'light' => array( + 'default' => 'background:none; color:#CC7832; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all', + 'num' => 'font-weight:bold; color:#1299DA', + 'const' => 'font-weight:bold', + 'str' => 'font-weight:bold; color:#629755;', + 'note' => 'color:#6897BB', + 'ref' => 'color:#6E6E6E', + 'public' => 'color:#262626', + 'protected' => 'color:#262626', + 'private' => 'color:#262626', + 'meta' => 'color:#B729D9', + 'key' => 'color:#789339', + 'index' => 'color:#1299DA', + 'ellipsis' => 'color:#CC7832', + 'ns' => 'user-select:none;', + ), + ); + protected $dumpHeader; protected $dumpPrefix = '<pre class=sf-dump id=%s data-indent-pad="%s">'; protected $dumpSuffix = '</pre><script>Sfdump(%s)</script>'; @@ -30,21 +65,7 @@ class HtmlDumper extends CliDumper protected $colors = true; protected $headerIsDumped = false; protected $lastDepth = -1; - protected $styles = array( - 'default' => 'background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all', - 'num' => 'font-weight:bold; color:#1299DA', - 'const' => 'font-weight:bold', - 'str' => 'font-weight:bold; color:#56DB3A', - 'note' => 'color:#1299DA', - 'ref' => 'color:#A0A0A0', - 'public' => 'color:#FFFFFF', - 'protected' => 'color:#FFFFFF', - 'private' => 'color:#FFFFFF', - 'meta' => 'color:#B729D9', - 'key' => 'color:#56DB3A', - 'index' => 'color:#1299DA', - 'ellipsis' => 'color:#FF8400', - ); + protected $styles; private $displayOptions = array( 'maxDepth' => 1, @@ -61,6 +82,7 @@ class HtmlDumper extends CliDumper AbstractDumper::__construct($output, $charset, $flags); $this->dumpId = 'sf-dump-'.mt_rand(); $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); + $this->styles = static::$themes['dark'] ?? self::$themes['dark']; } /** @@ -72,6 +94,15 @@ class HtmlDumper extends CliDumper $this->styles = $styles + $this->styles; } + public function setTheme(string $themeName) + { + if (!isset(static::$themes[$themeName])) { + throw new \InvalidArgumentException(sprintf('Theme "%s" does not exist in class "%s".', $themeName, static::class)); + } + + $this->setStyles(static::$themes[$themeName]); + } + /** * Configures display options. * @@ -473,6 +504,9 @@ return function (root, x) { if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); + if ('scrollIntoView' in currentNode) { + currentNode.scrollIntoView(); + } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } @@ -837,9 +871,21 @@ EOHTML } $v = "<span class=sf-dump-{$style}>".preg_replace_callback(static::$controlCharsRx, function ($c) use ($map) { - $s = '<span class=sf-dump-default>'; + $s = $b = '<span class="sf-dump-default'; $c = $c[$i = 0]; + if ($ns = "\r" === $c[$i] || "\n" === $c[$i]) { + $s .= ' sf-dump-ns'; + } + $s .= '">'; do { + if (("\r" === $c[$i] || "\n" === $c[$i]) !== $ns) { + $s .= '</span>'.$b; + if ($ns = !$ns) { + $s .= ' sf-dump-ns'; + } + $s .= '">'; + } + $s .= isset($map[$c[$i]]) ? $map[$c[$i]] : sprintf('\x%02X', \ord($c[$i])); } while (isset($c[++$i])); diff --git a/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css b/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css index 65da8137f..8f706d640 100644 --- a/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css +++ b/vendor/symfony/var-dumper/Resources/css/htmlDescriptor.css @@ -127,3 +127,4 @@ pre.sf-dump { .dumped-tag > .sf-dump .sf-dump-ref { color: #6E6E6E; } .dumped-tag > .sf-dump .sf-dump-ellipsis { color: #CC7832; max-width: 100em; } .dumped-tag > .sf-dump .sf-dump-ellipsis-path { max-width: 5em; } +.dumped-tag > .sf-dump .sf-dump-ns { user-select: none; } diff --git a/vendor/symfony/var-dumper/Resources/functions/dump.php b/vendor/symfony/var-dumper/Resources/functions/dump.php index 1ea3dc843..e1543a8df 100644 --- a/vendor/symfony/var-dumper/Resources/functions/dump.php +++ b/vendor/symfony/var-dumper/Resources/functions/dump.php @@ -19,8 +19,8 @@ if (!function_exists('dump')) { { VarDumper::dump($var); - foreach ($moreVars as $var) { - VarDumper::dump($var); + foreach ($moreVars as $v) { + VarDumper::dump($v); } if (1 < func_num_args()) { @@ -32,14 +32,12 @@ if (!function_exists('dump')) { } if (!function_exists('dd')) { - function dd($var, ...$moreVars) + function dd(...$vars) { - VarDumper::dump($var); - - foreach ($moreVars as $var) { - VarDumper::dump($var); + foreach ($vars as $v) { + VarDumper::dump($v); } - exit(1); + die(1); } } diff --git a/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php index 4f9b538a0..aab1a9f38 100644 --- a/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php +++ b/vendor/symfony/var-dumper/Tests/Caster/ExceptionCasterTest.php @@ -223,6 +223,23 @@ Exception { #file: "%sExceptionCasterTest.php" #line: 28 } +EODUMP; + + $this->assertDumpMatchesFormat($expectedDump, $e, Caster::EXCLUDE_VERBOSE); + } + + public function testAnonymous() + { + $e = new \Exception(sprintf('Boo "%s" ba.', \get_class(new class('Foo') extends \Exception { + }))); + + $expectedDump = <<<'EODUMP' +Exception { + #message: "Boo "Exception@anonymous" ba." + #code: 0 + #file: "%sExceptionCasterTest.php" + #line: %d +} EODUMP; $this->assertDumpMatchesFormat($expectedDump, $e, Caster::EXCLUDE_VERBOSE); diff --git a/vendor/symfony/var-dumper/Tests/Caster/IntlCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/IntlCasterTest.php new file mode 100644 index 000000000..7c8e02858 --- /dev/null +++ b/vendor/symfony/var-dumper/Tests/Caster/IntlCasterTest.php @@ -0,0 +1,299 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; + +/** + * @requires extension intl + */ +class IntlCasterTest extends TestCase +{ + use VarDumperTestTrait; + + public function testMessageFormatter() + { + $var = new \MessageFormatter('en', 'Hello {name}'); + + $expected = <<<EOTXT +MessageFormatter { + locale: "en" + pattern: "Hello {name}" +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastNumberFormatter() + { + $var = new \NumberFormatter('en', \NumberFormatter::DECIMAL); + + $expectedLocale = $var->getLocale(); + $expectedPattern = $var->getPattern(); + + $expectedAttribute1 = $var->getAttribute(\NumberFormatter::PARSE_INT_ONLY); + $expectedAttribute2 = $var->getAttribute(\NumberFormatter::GROUPING_USED); + $expectedAttribute3 = $var->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN); + $expectedAttribute4 = $var->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS); + $expectedAttribute5 = $var->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS); + $expectedAttribute6 = $var->getAttribute(\NumberFormatter::INTEGER_DIGITS); + $expectedAttribute7 = $var->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS); + $expectedAttribute8 = $var->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS); + $expectedAttribute9 = $var->getAttribute(\NumberFormatter::FRACTION_DIGITS); + $expectedAttribute10 = $var->getAttribute(\NumberFormatter::MULTIPLIER); + $expectedAttribute11 = $var->getAttribute(\NumberFormatter::GROUPING_SIZE); + $expectedAttribute12 = $var->getAttribute(\NumberFormatter::ROUNDING_MODE); + $expectedAttribute13 = number_format($var->getAttribute(\NumberFormatter::ROUNDING_INCREMENT), 1); + $expectedAttribute14 = $var->getAttribute(\NumberFormatter::FORMAT_WIDTH); + $expectedAttribute15 = $var->getAttribute(\NumberFormatter::PADDING_POSITION); + $expectedAttribute16 = $var->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE); + $expectedAttribute17 = $var->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED); + $expectedAttribute18 = $var->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS); + $expectedAttribute19 = $var->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS); + $expectedAttribute20 = $var->getAttribute(\NumberFormatter::LENIENT_PARSE); + + $expectedTextAttribute1 = $var->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX); + $expectedTextAttribute2 = $var->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX); + $expectedTextAttribute3 = $var->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX); + $expectedTextAttribute4 = $var->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX); + $expectedTextAttribute5 = $var->getTextAttribute(\NumberFormatter::PADDING_CHARACTER); + $expectedTextAttribute6 = $var->getTextAttribute(\NumberFormatter::CURRENCY_CODE); + $expectedTextAttribute7 = $var->getTextAttribute(\NumberFormatter::DEFAULT_RULESET) ? 'true' : 'false'; + $expectedTextAttribute8 = $var->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS) ? 'true' : 'false'; + + $expectedSymbol1 = $var->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL); + $expectedSymbol2 = $var->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL); + $expectedSymbol3 = $var->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL); + $expectedSymbol4 = $var->getSymbol(\NumberFormatter::PERCENT_SYMBOL); + $expectedSymbol5 = $var->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL); + $expectedSymbol6 = $var->getSymbol(\NumberFormatter::DIGIT_SYMBOL); + $expectedSymbol7 = $var->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL); + $expectedSymbol8 = $var->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL); + $expectedSymbol9 = $var->getSymbol(\NumberFormatter::CURRENCY_SYMBOL); + $expectedSymbol10 = $var->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL); + $expectedSymbol11 = $var->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL); + $expectedSymbol12 = $var->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL); + $expectedSymbol13 = $var->getSymbol(\NumberFormatter::PERMILL_SYMBOL); + $expectedSymbol14 = $var->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL); + $expectedSymbol15 = $var->getSymbol(\NumberFormatter::INFINITY_SYMBOL); + $expectedSymbol16 = $var->getSymbol(\NumberFormatter::NAN_SYMBOL); + $expectedSymbol17 = $var->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL); + $expectedSymbol18 = $var->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL); + + $expected = <<<EOTXT +NumberFormatter { + locale: "$expectedLocale" + pattern: "$expectedPattern" + attributes: { + PARSE_INT_ONLY: $expectedAttribute1 + GROUPING_USED: $expectedAttribute2 + DECIMAL_ALWAYS_SHOWN: $expectedAttribute3 + MAX_INTEGER_DIGITS: $expectedAttribute4 + MIN_INTEGER_DIGITS: $expectedAttribute5 + INTEGER_DIGITS: $expectedAttribute6 + MAX_FRACTION_DIGITS: $expectedAttribute7 + MIN_FRACTION_DIGITS: $expectedAttribute8 + FRACTION_DIGITS: $expectedAttribute9 + MULTIPLIER: $expectedAttribute10 + GROUPING_SIZE: $expectedAttribute11 + ROUNDING_MODE: $expectedAttribute12 + ROUNDING_INCREMENT: $expectedAttribute13 + FORMAT_WIDTH: $expectedAttribute14 + PADDING_POSITION: $expectedAttribute15 + SECONDARY_GROUPING_SIZE: $expectedAttribute16 + SIGNIFICANT_DIGITS_USED: $expectedAttribute17 + MIN_SIGNIFICANT_DIGITS: $expectedAttribute18 + MAX_SIGNIFICANT_DIGITS: $expectedAttribute19 + LENIENT_PARSE: $expectedAttribute20 + } + text_attributes: { + POSITIVE_PREFIX: "$expectedTextAttribute1" + POSITIVE_SUFFIX: "$expectedTextAttribute2" + NEGATIVE_PREFIX: "$expectedTextAttribute3" + NEGATIVE_SUFFIX: "$expectedTextAttribute4" + PADDING_CHARACTER: "$expectedTextAttribute5" + CURRENCY_CODE: "$expectedTextAttribute6" + DEFAULT_RULESET: $expectedTextAttribute7 + PUBLIC_RULESETS: $expectedTextAttribute8 + } + symbols: { + DECIMAL_SEPARATOR_SYMBOL: "$expectedSymbol1" + GROUPING_SEPARATOR_SYMBOL: "$expectedSymbol2" + PATTERN_SEPARATOR_SYMBOL: "$expectedSymbol3" + PERCENT_SYMBOL: "$expectedSymbol4" + ZERO_DIGIT_SYMBOL: "$expectedSymbol5" + DIGIT_SYMBOL: "$expectedSymbol6" + MINUS_SIGN_SYMBOL: "$expectedSymbol7" + PLUS_SIGN_SYMBOL: "$expectedSymbol8" + CURRENCY_SYMBOL: "$expectedSymbol9" + INTL_CURRENCY_SYMBOL: "$expectedSymbol10" + MONETARY_SEPARATOR_SYMBOL: "$expectedSymbol11" + EXPONENTIAL_SYMBOL: "$expectedSymbol12" + PERMILL_SYMBOL: "$expectedSymbol13" + PAD_ESCAPE_SYMBOL: "$expectedSymbol14" + INFINITY_SYMBOL: "$expectedSymbol15" + NAN_SYMBOL: "$expectedSymbol16" + SIGNIFICANT_DIGIT_SYMBOL: "$expectedSymbol17" + MONETARY_GROUPING_SEPARATOR_SYMBOL: "$expectedSymbol18" + } +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastIntlTimeZoneWithDST() + { + $var = \IntlTimeZone::createTimeZone('America/Los_Angeles'); + + $expectedDisplayName = $var->getDisplayName(); + $expectedDSTSavings = $var->getDSTSavings(); + $expectedID = $var->getID(); + $expectedRawOffset = $var->getRawOffset(); + + $expected = <<<EOTXT +IntlTimeZone { + display_name: "$expectedDisplayName" + id: "$expectedID" + raw_offset: $expectedRawOffset + dst_savings: $expectedDSTSavings +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastIntlTimeZoneWithoutDST() + { + $var = \IntlTimeZone::createTimeZone('Asia/Bangkok'); + + $expectedDisplayName = $var->getDisplayName(); + $expectedID = $var->getID(); + $expectedRawOffset = $var->getRawOffset(); + + $expected = <<<EOTXT +IntlTimeZone { + display_name: "$expectedDisplayName" + id: "$expectedID" + raw_offset: $expectedRawOffset +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastIntlCalendar() + { + $var = \IntlCalendar::createInstance('America/Los_Angeles', 'en'); + + $expectedType = $var->getType(); + $expectedFirstDayOfWeek = $var->getFirstDayOfWeek(); + $expectedMinimalDaysInFirstWeek = $var->getMinimalDaysInFirstWeek(); + $expectedRepeatedWallTimeOption = $var->getRepeatedWallTimeOption(); + $expectedSkippedWallTimeOption = $var->getSkippedWallTimeOption(); + $expectedTime = $var->getTime().'.0'; + $expectedInDaylightTime = $var->inDaylightTime() ? 'true' : 'false'; + $expectedIsLenient = $var->isLenient() ? 'true' : 'false'; + + $expectedTimeZone = $var->getTimeZone(); + $expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName(); + $expectedTimeZoneID = $expectedTimeZone->getID(); + $expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset(); + $expectedTimeZoneDSTSavings = $expectedTimeZone->getDSTSavings(); + + $expected = <<<EOTXT +IntlGregorianCalendar { + type: "$expectedType" + first_day_of_week: $expectedFirstDayOfWeek + minimal_days_in_first_week: $expectedMinimalDaysInFirstWeek + repeated_wall_time_option: $expectedRepeatedWallTimeOption + skipped_wall_time_option: $expectedSkippedWallTimeOption + time: $expectedTime + in_daylight_time: $expectedInDaylightTime + is_lenient: $expectedIsLenient + time_zone: IntlTimeZone { + display_name: "$expectedTimeZoneDisplayName" + id: "$expectedTimeZoneID" + raw_offset: $expectedTimeZoneRawOffset + dst_savings: $expectedTimeZoneDSTSavings + } +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastDateFormatter() + { + $var = new \IntlDateFormatter('en', \IntlDateFormatter::TRADITIONAL, \IntlDateFormatter::TRADITIONAL); + + $expectedLocale = $var->getLocale(); + $expectedPattern = $var->getPattern(); + $expectedCalendar = $var->getCalendar(); + $expectedTimeZoneId = $var->getTimeZoneId(); + $expectedTimeType = $var->getTimeType(); + $expectedDateType = $var->getDateType(); + + $expectedCalendarObject = $var->getCalendarObject(); + $expectedCalendarObjectType = $expectedCalendarObject->getType(); + $expectedCalendarObjectFirstDayOfWeek = $expectedCalendarObject->getFirstDayOfWeek(); + $expectedCalendarObjectMinimalDaysInFirstWeek = $expectedCalendarObject->getMinimalDaysInFirstWeek(); + $expectedCalendarObjectRepeatedWallTimeOption = $expectedCalendarObject->getRepeatedWallTimeOption(); + $expectedCalendarObjectSkippedWallTimeOption = $expectedCalendarObject->getSkippedWallTimeOption(); + $expectedCalendarObjectTime = $expectedCalendarObject->getTime().'.0'; + $expectedCalendarObjectInDaylightTime = $expectedCalendarObject->inDaylightTime() ? 'true' : 'false'; + $expectedCalendarObjectIsLenient = $expectedCalendarObject->isLenient() ? 'true' : 'false'; + + $expectedCalendarObjectTimeZone = $expectedCalendarObject->getTimeZone(); + $expectedCalendarObjectTimeZoneDisplayName = $expectedCalendarObjectTimeZone->getDisplayName(); + $expectedCalendarObjectTimeZoneID = $expectedCalendarObjectTimeZone->getID(); + $expectedCalendarObjectTimeZoneRawOffset = $expectedCalendarObjectTimeZone->getRawOffset(); + $expectedCalendarObjectTimeZoneDSTSavings = $expectedCalendarObjectTimeZone->getDSTSavings(); + + $expectedTimeZone = $var->getTimeZone(); + $expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName(); + $expectedTimeZoneID = $expectedTimeZone->getID(); + $expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset(); + $expectedTimeZoneDSTSavings = $expectedTimeZone->getDSTSavings(); + + $expected = <<<EOTXT +IntlDateFormatter { + locale: "$expectedLocale" + pattern: "$expectedPattern" + calendar: $expectedCalendar + time_zone_id: "$expectedTimeZoneId" + time_type: $expectedTimeType + date_type: $expectedDateType + calendar_object: IntlGregorianCalendar { + type: "$expectedCalendarObjectType" + first_day_of_week: $expectedCalendarObjectFirstDayOfWeek + minimal_days_in_first_week: $expectedCalendarObjectMinimalDaysInFirstWeek + repeated_wall_time_option: $expectedCalendarObjectRepeatedWallTimeOption + skipped_wall_time_option: $expectedCalendarObjectSkippedWallTimeOption + time: $expectedCalendarObjectTime + in_daylight_time: $expectedCalendarObjectInDaylightTime + is_lenient: $expectedCalendarObjectIsLenient + time_zone: IntlTimeZone { + display_name: "$expectedCalendarObjectTimeZoneDisplayName" + id: "$expectedCalendarObjectTimeZoneID" + raw_offset: $expectedCalendarObjectTimeZoneRawOffset + dst_savings: $expectedCalendarObjectTimeZoneDSTSavings + } + } + time_zone: IntlTimeZone { + display_name: "$expectedTimeZoneDisplayName" + id: "$expectedTimeZoneID" + raw_offset: $expectedTimeZoneRawOffset + dst_savings: $expectedTimeZoneDSTSavings + } +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } +} diff --git a/vendor/symfony/var-dumper/Tests/Caster/MemcachedCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/MemcachedCasterTest.php new file mode 100644 index 000000000..df48390af --- /dev/null +++ b/vendor/symfony/var-dumper/Tests/Caster/MemcachedCasterTest.php @@ -0,0 +1,93 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Caster; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Test\VarDumperTestTrait; + +/** + * @author Jan Schädlich <jan.schaedlich@sensiolabs.de> + */ +class MemcachedCasterTest extends TestCase +{ + use VarDumperTestTrait; + + public function testCastMemcachedWithDefaultOptions() + { + if (!class_exists('Memcached')) { + $this->markTestSkipped('Memcached not available'); + } + + $var = new \Memcached(); + $var->addServer('127.0.0.1', 11211); + $var->addServer('127.0.0.2', 11212); + + $expected = <<<EOTXT +Memcached { + servers: array:2 [ + 0 => array:3 [ + "host" => "127.0.0.1" + "port" => 11211 + "type" => "TCP" + ] + 1 => array:3 [ + "host" => "127.0.0.2" + "port" => 11212 + "type" => "TCP" + ] + ] + options: {} +} +EOTXT; + $this->assertDumpEquals($expected, $var); + } + + public function testCastMemcachedWithCustomOptions() + { + if (!class_exists('Memcached')) { + $this->markTestSkipped('Memcached not available'); + } + + $var = new \Memcached(); + $var->addServer('127.0.0.1', 11211); + $var->addServer('127.0.0.2', 11212); + + // set a subset of non default options to test boolean, string and integer output + $var->setOption(\Memcached::OPT_COMPRESSION, false); + $var->setOption(\Memcached::OPT_PREFIX_KEY, 'pre'); + $var->setOption(\Memcached::OPT_DISTRIBUTION, \Memcached::DISTRIBUTION_CONSISTENT); + + $expected = <<<'EOTXT' +Memcached { + servers: array:2 [ + 0 => array:3 [ + "host" => "127.0.0.1" + "port" => 11211 + "type" => "TCP" + ] + 1 => array:3 [ + "host" => "127.0.0.2" + "port" => 11212 + "type" => "TCP" + ] + ] + options: { + OPT_COMPRESSION: false + OPT_PREFIX_KEY: "pre" + OPT_DISTRIBUTION: 1 + } +} +EOTXT; + + $this->assertDumpEquals($expected, $var); + } +} diff --git a/vendor/symfony/var-dumper/Tests/Caster/RedisCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/RedisCasterTest.php index f724639d4..3edbed638 100644 --- a/vendor/symfony/var-dumper/Tests/Caster/RedisCasterTest.php +++ b/vendor/symfony/var-dumper/Tests/Caster/RedisCasterTest.php @@ -49,11 +49,15 @@ Redis {%A host: "127.0.0.1" port: 6379 auth: null + mode: ATOMIC dbNum: 0 timeout: 0.0 + lastError: null persistentId: null options: { + TCP_KEEPALIVE: 0 READ_TIMEOUT: 0.0 + COMPRESSION: NONE SERIALIZER: NONE PREFIX: null SCAN: NORETRY diff --git a/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php index 828fc30bf..64aa52a01 100644 --- a/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php +++ b/vendor/symfony/var-dumper/Tests/Caster/ReflectionCasterTest.php @@ -68,14 +68,14 @@ EOTXT $var = function ($x) use ($a, &$b) {}; $this->assertDumpMatchesFormat( - <<<EOTXT -Closure { + <<<'EOTXT' +Closure($x) { %Aparameters: { - \$x: {} + $x: {} } use: { - \$a: 123 - \$b: & 123 + $a: 123 + $b: & 123 } file: "%sReflectionCasterTest.php" line: "68 to 68" @@ -85,18 +85,39 @@ EOTXT ); } + public function testFromCallableClosureCaster() + { + if (\defined('HHVM_VERSION_ID')) { + $this->markTestSkipped('Not for HHVM.'); + } + $var = array( + (new \ReflectionMethod($this, __FUNCTION__))->getClosure($this), + (new \ReflectionMethod(__CLASS__, 'tearDownAfterClass'))->getClosure(), + ); + + $this->assertDumpMatchesFormat( + <<<EOTXT +array:2 [ + 0 => Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest::testFromCallableClosureCaster() { + this: Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest { …} + file: "%sReflectionCasterTest.php" + line: "%d to %d" + } + 1 => %sTestCase::tearDownAfterClass() { + file: "%sTestCase.php" + line: "%d to %d" + } +] +EOTXT + , $var + ); + } + public function testClosureCasterExcludingVerbosity() { - $var = function () {}; + $var = function &($a = 5) {}; - $expectedDump = <<<EOTXT -Closure { - class: "Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest" - this: Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest { …} -} -EOTXT; - - $this->assertDumpEquals($expectedDump, $var, Caster::EXCLUDE_VERBOSE); + $this->assertDumpEquals('Closure&($a = 5) { …6}', $var, Caster::EXCLUDE_VERBOSE); } public function testReflectionParameter() @@ -140,7 +161,7 @@ EOTXT $this->assertDumpMatchesFormat( <<<EOTXT -Closure { +Closure(): int { returnType: "int" class: "Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest" this: Symfony\Component\VarDumper\Tests\Caster\ReflectionCasterTest { …} diff --git a/vendor/symfony/var-dumper/Tests/Caster/StubCasterTest.php b/vendor/symfony/var-dumper/Tests/Caster/StubCasterTest.php index 36603c51c..de2f5f5ae 100644 --- a/vendor/symfony/var-dumper/Tests/Caster/StubCasterTest.php +++ b/vendor/symfony/var-dumper/Tests/Caster/StubCasterTest.php @@ -141,7 +141,7 @@ EODUMP; $expectedDump = <<<'EODUMP' <foo></foo><bar><span class=sf-dump-note>array:1</span> [<samp> - <span class=sf-dump-index>0</span> => "<a href="%sFooInterface.php:10" rel="noopener noreferrer"><span class=sf-dump-str title="5 characters">hello</span></a>" + <span class=sf-dump-index>0</span> => "<a href="%sFooInterface.php:10" rel="noopener noreferrer"><span class=sf-dump-str title="39 characters">hello(?stdClass $a, stdClass $b = null)</span></a>" </samp>] </bar> EODUMP; @@ -185,6 +185,27 @@ EODUMP; <span class=sf-dump-index>0</span> => "<a href="%sFooInterface.php:5" rel="noopener noreferrer"><span class=sf-dump-str title="5 characters">hello</span></a>" </samp>] </bar> +EODUMP; + + $this->assertStringMatchesFormat($expectedDump, $dump); + } + + public function testClassStubWithAnonymousClass() + { + $var = array(new ClassStub(\get_class(new class() extends \Exception { + }))); + + $cloner = new VarCloner(); + $dumper = new HtmlDumper(); + $dumper->setDumpHeader('<foo></foo>'); + $dumper->setDumpBoundaries('<bar>', '</bar>'); + $dump = $dumper->dump($cloner->cloneVar($var), true, array('fileLinkFormat' => '%f:%l')); + + $expectedDump = <<<'EODUMP' +<foo></foo><bar><span class=sf-dump-note>array:1</span> [<samp> + <span class=sf-dump-index>0</span> => "<a href="%sStubCasterTest.php:195" rel="noopener noreferrer"><span class=sf-dump-str title="19 characters">Exception@anonymous</span></a>" +</samp>] +</bar> EODUMP; $this->assertStringMatchesFormat($expectedDump, $dump); diff --git a/vendor/symfony/var-dumper/Tests/Dumper/CliDumperTest.php b/vendor/symfony/var-dumper/Tests/Dumper/CliDumperTest.php index d25f88d16..919d4e4a7 100644 --- a/vendor/symfony/var-dumper/Tests/Dumper/CliDumperTest.php +++ b/vendor/symfony/var-dumper/Tests/Dumper/CliDumperTest.php @@ -61,7 +61,10 @@ array:24 [ 5 => -INF 6 => {$intMax} "str" => "déjà\\n" - 7 => b"é\\x00" + 7 => b""" + é\\x00test\\t\\n + ing + """ "[]" => [] "res" => stream resource {@{$res} %A wrapper_type: "plainfile" @@ -75,7 +78,7 @@ array:24 [ +foo: "foo" +"bar": "bar" } - "closure" => Closure {#%d + "closure" => Closure(\$a, PDO &\$b = null) {#%d class: "Symfony\Component\VarDumper\Tests\Dumper\CliDumperTest" this: Symfony\Component\VarDumper\Tests\Dumper\CliDumperTest {#%d …} parameters: { diff --git a/vendor/symfony/var-dumper/Tests/Dumper/FunctionsTest.php b/vendor/symfony/var-dumper/Tests/Dumper/FunctionsTest.php new file mode 100644 index 000000000..81ecdddc5 --- /dev/null +++ b/vendor/symfony/var-dumper/Tests/Dumper/FunctionsTest.php @@ -0,0 +1,57 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\VarDumper\Tests\Dumper; + +use PHPUnit\Framework\TestCase; +use Symfony\Component\VarDumper\Cloner\VarCloner; +use Symfony\Component\VarDumper\Dumper\CliDumper; +use Symfony\Component\VarDumper\VarDumper; + +class FunctionsTest extends TestCase +{ + public function testDumpReturnsFirstArg() + { + $this->setupVarDumper(); + + $var1 = 'a'; + + ob_start(); + $return = dump($var1); + $out = ob_get_clean(); + + $this->assertEquals($var1, $return); + } + + public function testDumpReturnsAllArgsInArray() + { + $this->setupVarDumper(); + + $var1 = 'a'; + $var2 = 'b'; + $var3 = 'c'; + + ob_start(); + $return = dump($var1, $var2, $var3); + $out = ob_get_clean(); + + $this->assertEquals(array($var1, $var2, $var3), $return); + } + + protected function setupVarDumper() + { + $cloner = new VarCloner(); + $dumper = new CliDumper('php://output'); + VarDumper::setHandler(function ($var) use ($cloner, $dumper) { + $dumper->dump($cloner->cloneVar($var)); + }); + } +} diff --git a/vendor/symfony/var-dumper/Tests/Dumper/HtmlDumperTest.php b/vendor/symfony/var-dumper/Tests/Dumper/HtmlDumperTest.php index ac2f8f2c3..af3db4b75 100644 --- a/vendor/symfony/var-dumper/Tests/Dumper/HtmlDumperTest.php +++ b/vendor/symfony/var-dumper/Tests/Dumper/HtmlDumperTest.php @@ -63,8 +63,11 @@ class HtmlDumperTest extends TestCase <span class=sf-dump-key>4</span> => <span class=sf-dump-num>INF</span> <span class=sf-dump-key>5</span> => <span class=sf-dump-num>-INF</span> <span class=sf-dump-key>6</span> => <span class=sf-dump-num>{$intMax}</span> - "<span class=sf-dump-key>str</span>" => "<span class=sf-dump-str title="5 characters">d&%s;j&%s;<span class=sf-dump-default>\\n</span></span>" - <span class=sf-dump-key>7</span> => b"<span class=sf-dump-str title="2 binary or non-UTF-8 characters">&%s;<span class=sf-dump-default>\\x00</span></span>" + "<span class=sf-dump-key>str</span>" => "<span class=sf-dump-str title="5 characters">d&%s;j&%s;<span class="sf-dump-default sf-dump-ns">\\n</span></span>" + <span class=sf-dump-key>7</span> => b""" + <span class=sf-dump-str title="11 binary or non-UTF-8 characters">&eacute;<span class="sf-dump-default">\\x00</span>test<span class="sf-dump-default">\\t</span><span class="sf-dump-default sf-dump-ns">\\n</span></span> + <span class=sf-dump-str title="11 binary or non-UTF-8 characters">ing</span> + """ "<span class=sf-dump-key>[]</span>" => [] "<span class=sf-dump-key>res</span>" => <span class=sf-dump-note>stream resource</span> <a class=sf-dump-ref>@{$res}</a><samp> %A <span class=sf-dump-meta>wrapper_type</span>: "<span class=sf-dump-str title="9 characters">plainfile</span>" @@ -78,7 +81,7 @@ class HtmlDumperTest extends TestCase +<span class=sf-dump-public title="Public property">foo</span>: "<span class=sf-dump-str title="3 characters">foo</span>" +"<span class=sf-dump-public title="Runtime added dynamic property">bar</span>": "<span class=sf-dump-str title="3 characters">bar</span>" </samp>} - "<span class=sf-dump-key>closure</span>" => <span class=sf-dump-note>Closure</span> {<a class=sf-dump-ref>#%d</a><samp> + "<span class=sf-dump-key>closure</span>" => <span class=sf-dump-note>Closure(\$a, PDO &amp;\$b = null)</span> {<a class=sf-dump-ref>#%d</a><samp> <span class=sf-dump-meta>class</span>: "<span class=sf-dump-str title="Symfony\Component\VarDumper\Tests\Dumper\HtmlDumperTest 55 characters"><span class="sf-dump-ellipsis sf-dump-ellipsis-class">Symfony\Component\VarDumper\Tests\Dumper</span><span class=sf-dump-ellipsis>\</span>HtmlDumperTest</span>" <span class=sf-dump-meta>this</span>: <abbr title="Symfony\Component\VarDumper\Tests\Dumper\HtmlDumperTest" class=sf-dump-note>HtmlDumperTest</abbr> {<a class=sf-dump-ref>#%d</a> &%s;} diff --git a/vendor/symfony/var-dumper/Tests/Fixtures/FooInterface.php b/vendor/symfony/var-dumper/Tests/Fixtures/FooInterface.php index 874110a5b..172958b47 100644 --- a/vendor/symfony/var-dumper/Tests/Fixtures/FooInterface.php +++ b/vendor/symfony/var-dumper/Tests/Fixtures/FooInterface.php @@ -7,5 +7,5 @@ interface FooInterface /** * Hello. */ - public function foo(); + public function foo(?\stdClass $a, \stdClass $b = null); } diff --git a/vendor/symfony/var-dumper/Tests/Fixtures/dumb-var.php b/vendor/symfony/var-dumper/Tests/Fixtures/dumb-var.php index 59ee19bda..780f3b28d 100644 --- a/vendor/symfony/var-dumper/Tests/Fixtures/dumb-var.php +++ b/vendor/symfony/var-dumper/Tests/Fixtures/dumb-var.php @@ -17,7 +17,7 @@ $g = fopen(__FILE__, 'r'); $var = array( 'number' => 1, null, 'const' => 1.1, true, false, NAN, INF, -INF, PHP_INT_MAX, - 'str' => "déjà\n", "\xE9\x00", + 'str' => "déjà\n", "\xE9\x00test\t\ning", '[]' => array(), 'res' => $g, 'obj' => $foo, diff --git a/vendor/symfony/var-dumper/VarDumper.php b/vendor/symfony/var-dumper/VarDumper.php index a9ed05b3b..ff0cc948e 100644 --- a/vendor/symfony/var-dumper/VarDumper.php +++ b/vendor/symfony/var-dumper/VarDumper.php @@ -29,7 +29,13 @@ class VarDumper { if (null === self::$handler) { $cloner = new VarCloner(); - $dumper = \in_array(\PHP_SAPI, array('cli', 'phpdbg'), true) ? new CliDumper() : new HtmlDumper(); + + if (isset($_SERVER['VAR_DUMPER_FORMAT'])) { + $dumper = 'html' === $_SERVER['VAR_DUMPER_FORMAT'] ? new HtmlDumper() : new CliDumper(); + } else { + $dumper = \in_array(\PHP_SAPI, array('cli', 'phpdbg')) ? new CliDumper() : new HtmlDumper(); + } + self::$handler = function ($var) use ($cloner, $dumper) { $dumper->dump($cloner->cloneVar($var)); }; diff --git a/vendor/symfony/var-dumper/composer.json b/vendor/symfony/var-dumper/composer.json index 59e920172..5cf48475a 100644 --- a/vendor/symfony/var-dumper/composer.json +++ b/vendor/symfony/var-dumper/composer.json @@ -47,7 +47,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/var-dumper/phpunit.xml.dist b/vendor/symfony/var-dumper/phpunit.xml.dist index 4a25f42db..3243fcd02 100644 --- a/vendor/symfony/var-dumper/phpunit.xml.dist +++ b/vendor/symfony/var-dumper/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/symfony/yaml/CHANGELOG.md b/vendor/symfony/yaml/CHANGELOG.md index 70d392da3..c024907bd 100644 --- a/vendor/symfony/yaml/CHANGELOG.md +++ b/vendor/symfony/yaml/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +4.2.0 +----- + + * added support for multiple files or directories in `LintCommand` + 4.0.0 ----- diff --git a/vendor/symfony/yaml/Command/LintCommand.php b/vendor/symfony/yaml/Command/LintCommand.php index 56bc96fcf..288d73165 100644 --- a/vendor/symfony/yaml/Command/LintCommand.php +++ b/vendor/symfony/yaml/Command/LintCommand.php @@ -14,6 +14,7 @@ namespace Symfony\Component\Yaml\Command; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Exception\InvalidArgumentException; use Symfony\Component\Console\Exception\RuntimeException; +use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -53,7 +54,7 @@ class LintCommand extends Command { $this ->setDescription('Lints a file and outputs encountered errors') - ->addArgument('filename', null, 'A file or a directory or STDIN') + ->addArgument('filename', InputArgument::IS_ARRAY, 'A file or a directory or STDIN') ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format', 'txt') ->addOption('parse-tags', null, InputOption::VALUE_NONE, 'Parse custom tags') ->setHelp(<<<EOF @@ -81,12 +82,12 @@ EOF protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); - $filename = $input->getArgument('filename'); + $filenames = (array) $input->getArgument('filename'); $this->format = $input->getOption('format'); $this->displayCorrectFiles = $output->isVerbose(); $flags = $input->getOption('parse-tags') ? Yaml::PARSE_CUSTOM_TAGS : 0; - if (!$filename) { + if (0 === \count($filenames)) { if (!$stdin = $this->getStdin()) { throw new RuntimeException('Please provide a filename or pipe file content to STDIN.'); } @@ -94,13 +95,15 @@ EOF return $this->display($io, array($this->validate($stdin, $flags))); } - if (!$this->isReadable($filename)) { - throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename)); - } - $filesInfo = array(); - foreach ($this->getFiles($filename) as $file) { - $filesInfo[] = $this->validate(file_get_contents($file), $flags, $file); + foreach ($filenames as $filename) { + if (!$this->isReadable($filename)) { + throw new RuntimeException(sprintf('File or directory "%s" is not readable.', $filename)); + } + + foreach ($this->getFiles($filename) as $file) { + $filesInfo[] = $this->validate(file_get_contents($file), $flags, $file); + } } return $this->display($io, $filesInfo); diff --git a/vendor/symfony/yaml/Exception/ExceptionInterface.php b/vendor/symfony/yaml/Exception/ExceptionInterface.php index ad850eea1..909131684 100644 --- a/vendor/symfony/yaml/Exception/ExceptionInterface.php +++ b/vendor/symfony/yaml/Exception/ExceptionInterface.php @@ -16,6 +16,6 @@ namespace Symfony\Component\Yaml\Exception; * * @author Fabien Potencier <fabien@symfony.com> */ -interface ExceptionInterface +interface ExceptionInterface extends \Throwable { } diff --git a/vendor/symfony/yaml/Inline.php b/vendor/symfony/yaml/Inline.php index 261d6187a..2d5fda4c8 100644 --- a/vendor/symfony/yaml/Inline.php +++ b/vendor/symfony/yaml/Inline.php @@ -270,7 +270,7 @@ class Inline if (null !== $delimiters) { $tmp = ltrim(substr($scalar, $i), ' '); if ('' === $tmp) { - throw new ParseException(sprintf('Unexpected end of line, expected one of "%s".', implode($delimiters)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); + throw new ParseException(sprintf('Unexpected end of line, expected one of "%s".', implode('', $delimiters)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); } if (!\in_array($tmp[0], $delimiters)) { throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)), self::$parsedLineNumber + 1, $scalar, self::$parsedFilename); @@ -684,7 +684,7 @@ class Inline return $tag; } - throw new ParseException(sprintf('Tags support is not enabled. Enable the `Yaml::PARSE_CUSTOM_TAGS` flag to use "!%s".', $tag), self::$parsedLineNumber + 1, $value, self::$parsedFilename); + throw new ParseException(sprintf('Tags support is not enabled. Enable the "Yaml::PARSE_CUSTOM_TAGS" flag to use "!%s".', $tag), self::$parsedLineNumber + 1, $value, self::$parsedFilename); } public static function evaluateBinaryScalar(string $scalar): string diff --git a/vendor/symfony/yaml/Parser.php b/vendor/symfony/yaml/Parser.php index 75ba138b2..6157ecd8d 100644 --- a/vendor/symfony/yaml/Parser.php +++ b/vendor/symfony/yaml/Parser.php @@ -161,13 +161,13 @@ class Parser Inline::initialize($flags, $this->getRealCurrentLineNb(), $this->filename); $isRef = $mergeNode = false; - if (self::preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+))?$#u', rtrim($this->currentLine), $values)) { + if ('-' === $this->currentLine[0] && self::preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+))?$#u', rtrim($this->currentLine), $values)) { if ($context && 'mapping' == $context) { throw new ParseException('You cannot define a sequence item when in a mapping', $this->getRealCurrentLineNb() + 1, $this->currentLine, $this->filename); } $context = 'sequence'; - if (isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) { + if (isset($values['value']) && '&' === $values['value'][0] && self::preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) { $isRef = $matches['ref']; $values['value'] = $matches['value']; } @@ -229,7 +229,7 @@ class Parser $key = (string) $key; } - if ('<<' === $key && (!isset($values['value']) || !self::preg_match('#^&(?P<ref>[^ ]+)#u', $values['value'], $refMatches))) { + if ('<<' === $key && (!isset($values['value']) || '&' !== $values['value'][0] || !self::preg_match('#^&(?P<ref>[^ ]+)#u', $values['value'], $refMatches))) { $mergeNode = true; $allowOverwrite = true; if (isset($values['value'][0]) && '*' === $values['value'][0]) { @@ -286,7 +286,7 @@ class Parser $data += $parsed; // array union } } - } elseif ('<<' !== $key && isset($values['value']) && self::preg_match('#^&(?P<ref>[^ ]++) *+(?P<value>.*)#u', $values['value'], $matches)) { + } elseif ('<<' !== $key && isset($values['value']) && '&' === $values['value'][0] && self::preg_match('#^&(?P<ref>[^ ]++) *+(?P<value>.*)#u', $values['value'], $matches)) { $isRef = $matches['ref']; $values['value'] = $matches['value']; } @@ -645,7 +645,7 @@ class Parser return $this->refs[$value]; } - if (self::preg_match('/^(?:'.self::TAG_PATTERN.' +)?'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) { + if (\in_array($value[0], array('!', '|', '>'), true) && self::preg_match('/^(?:'.self::TAG_PATTERN.' +)?'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) { $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : ''; $data = $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers)); @@ -747,8 +747,10 @@ class Parser // determine indentation if not specified if (0 === $indentation) { - if (self::preg_match('/^ +/', $this->currentLine, $matches)) { - $indentation = \strlen($matches[0]); + $currentLineLength = \strlen($this->currentLine); + + for ($i = 0; $i < $currentLineLength && ' ' === $this->currentLine[$i]; ++$i) { + ++$indentation; } } @@ -977,7 +979,7 @@ class Parser } /** - * A local wrapper for `preg_match` which will throw a ParseException if there + * A local wrapper for "preg_match" which will throw a ParseException if there * is an internal error in the PCRE engine. * * This avoids us needing to check for "false" every time PCRE is used @@ -1021,7 +1023,7 @@ class Parser /** * Trim the tag on top of the value. * - * Prevent values such as `!foo {quz: bar}` to be considered as + * Prevent values such as "!foo {quz: bar}" to be considered as * a mapping block. */ private function trimTag(string $value): string @@ -1054,6 +1056,6 @@ class Parser return $tag; } - throw new ParseException(sprintf('Tags support is not enabled. You must use the flag `Yaml::PARSE_CUSTOM_TAGS` to use "%s".', $matches['tag']), $this->getRealCurrentLineNb() + 1, $value, $this->filename); + throw new ParseException(sprintf('Tags support is not enabled. You must use the flag "Yaml::PARSE_CUSTOM_TAGS" to use "%s".', $matches['tag']), $this->getRealCurrentLineNb() + 1, $value, $this->filename); } } diff --git a/vendor/symfony/yaml/Tests/Command/LintCommandTest.php b/vendor/symfony/yaml/Tests/Command/LintCommandTest.php index a5baf234e..efe797041 100644 --- a/vendor/symfony/yaml/Tests/Command/LintCommandTest.php +++ b/vendor/symfony/yaml/Tests/Command/LintCommandTest.php @@ -37,6 +37,18 @@ class LintCommandTest extends TestCase $this->assertRegExp('/^\/\/ OK in /', trim($tester->getDisplay())); } + public function testLintCorrectFiles() + { + $tester = $this->createCommandTester(); + $filename1 = $this->createFile('foo: bar'); + $filename2 = $this->createFile('bar: baz'); + + $ret = $tester->execute(array('filename' => array($filename1, $filename2)), array('verbosity' => OutputInterface::VERBOSITY_VERBOSE, 'decorated' => false)); + + $this->assertEquals(0, $ret, 'Returns 0 in case of success'); + $this->assertRegExp('/^\/\/ OK in /', trim($tester->getDisplay())); + } + public function testLintIncorrectFile() { $incorrectContent = ' diff --git a/vendor/symfony/yaml/Tests/ParserTest.php b/vendor/symfony/yaml/Tests/ParserTest.php index 16ad0afe7..215e964f4 100644 --- a/vendor/symfony/yaml/Tests/ParserTest.php +++ b/vendor/symfony/yaml/Tests/ParserTest.php @@ -788,7 +788,7 @@ EOF * * > It is an error for two equal keys to appear in the same mapping node. * > In such a case the YAML processor may continue, ignoring the second - * > `key: value` pair and issuing an appropriate warning. This strategy + * > "key: value" pair and issuing an appropriate warning. This strategy * > preserves a consistent information model for one-pass and random access * > applications. * @@ -1698,7 +1698,7 @@ YAML /** * @expectedException \Symfony\Component\Yaml\Exception\ParseException - * @expectedExceptionMessage Tags support is not enabled. Enable the `Yaml::PARSE_CUSTOM_TAGS` flag to use "!iterator" at line 1 (near "!iterator [foo]"). + * @expectedExceptionMessage Tags support is not enabled. Enable the "Yaml::PARSE_CUSTOM_TAGS" flag to use "!iterator" at line 1 (near "!iterator [foo]"). */ public function testCustomTagsDisabled() { @@ -1707,7 +1707,7 @@ YAML /** * @expectedException \Symfony\Component\Yaml\Exception\ParseException - * @expectedExceptionMessage Tags support is not enabled. Enable the `Yaml::PARSE_CUSTOM_TAGS` flag to use "!iterator" at line 1 (near "!iterator foo"). + * @expectedExceptionMessage Tags support is not enabled. Enable the "Yaml::PARSE_CUSTOM_TAGS" flag to use "!iterator" at line 1 (near "!iterator foo"). */ public function testUnsupportedTagWithScalar() { @@ -1945,6 +1945,10 @@ YAML; $this->markTestSkipped('chmod is not supported on Windows'); } + if (!getenv('USER') || 'root' === getenv('USER')) { + $this->markTestSkipped('This test will fail if run under superuser'); + } + $file = __DIR__.'/Fixtures/not_readable.yml'; chmod($file, 0200); diff --git a/vendor/symfony/yaml/Yaml.php b/vendor/symfony/yaml/Yaml.php index 80de7e877..94a5e4ad7 100644 --- a/vendor/symfony/yaml/Yaml.php +++ b/vendor/symfony/yaml/Yaml.php @@ -37,11 +37,10 @@ class Yaml /** * Parses a YAML file into a PHP value. * - * Usage: - * <code> - * $array = Yaml::parseFile('config.yml'); - * print_r($array); - * </code> + * Usage: + * + * $array = Yaml::parseFile('config.yml'); + * print_r($array); * * @param string $filename The path to the YAML file to be parsed * @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior diff --git a/vendor/symfony/yaml/composer.json b/vendor/symfony/yaml/composer.json index 6537e42b2..c8b7123f2 100644 --- a/vendor/symfony/yaml/composer.json +++ b/vendor/symfony/yaml/composer.json @@ -37,7 +37,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } } } diff --git a/vendor/symfony/yaml/phpunit.xml.dist b/vendor/symfony/yaml/phpunit.xml.dist index 7c732f8a7..b5d4d914f 100644 --- a/vendor/symfony/yaml/phpunit.xml.dist +++ b/vendor/symfony/yaml/phpunit.xml.dist @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/5.2/phpunit.xsd" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" diff --git a/vendor/torann/geoip/composer.json b/vendor/torann/geoip/composer.json index b50c1548c..acf6ff338 100644 --- a/vendor/torann/geoip/composer.json +++ b/vendor/torann/geoip/composer.json @@ -20,8 +20,8 @@ ], "require": { "php": ">=5.5.9", - "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*", - "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.*" + "illuminate/support": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*", + "illuminate/console": "5.0.* || 5.1.* || 5.2.* || 5.3.* || 5.4.* || 5.5.* || 5.6.* || 5.7.*" }, "suggest": { "geoip2/geoip2": "Required to use the MaxMind database or web service with GeoIP (~2.1).", diff --git a/vendor/torann/geoip/config/geoip.php b/vendor/torann/geoip/config/geoip.php index 68a581852..c3de52504 100644 --- a/vendor/torann/geoip/config/geoip.php +++ b/vendor/torann/geoip/config/geoip.php @@ -81,6 +81,12 @@ return [ 'lang' => 'en', ], + 'ipdata' => [ + 'class' => \Torann\GeoIP\Services\IPData::class, + 'key' => env('IPDATA_API_KEY'), + 'secure' => true, + ], + ], /* diff --git a/vendor/torann/geoip/src/GeoIPServiceProvider.php b/vendor/torann/geoip/src/GeoIPServiceProvider.php index 96cb05173..a262cbefa 100644 --- a/vendor/torann/geoip/src/GeoIPServiceProvider.php +++ b/vendor/torann/geoip/src/GeoIPServiceProvider.php @@ -19,6 +19,10 @@ class GeoIPServiceProvider extends ServiceProvider $this->registerResources(); $this->registerGeoIpCommands(); } + + if ($this->isLumen() === false) { + $this->mergeConfigFrom(__DIR__ . '/../config/geoip.php', 'geoip'); + } } /** @@ -72,4 +76,4 @@ class GeoIPServiceProvider extends ServiceProvider { return str_contains($this->app->version(), 'Lumen') === true; } -} \ No newline at end of file +} diff --git a/vendor/torann/geoip/src/Services/IPData.php b/vendor/torann/geoip/src/Services/IPData.php new file mode 100644 index 000000000..caaab4ec4 --- /dev/null +++ b/vendor/torann/geoip/src/Services/IPData.php @@ -0,0 +1,52 @@ +<?php + +namespace Torann\GeoIP\Services; + +use Exception; +use Torann\GeoIP\Support\HttpClient; + +/** + * Class GeoIP + * @package Torann\GeoIP\Services + */ +class IPData extends AbstractService +{ + /** + * Http client instance. + * + * @var HttpClient + */ + protected $client; + + /** + * The "booting" method of the service. + * + * @return void + */ + public function boot() + { + $this->client = new HttpClient([ + 'base_uri' => 'https://api.ipdata.co/', + 'query' => [ + 'api-key' => $this->config('key'), + ], + ]); + } + + /** + * {@inheritdoc} + * @throws Exception + */ + public function locate($ip) + { + // Get data from client + $data = $this->client->get($ip); + + // Verify server response + if ($this->client->getErrors() !== null || empty($data[0])) { + throw new Exception('Request failed (' . $this->client->getErrors() . ')'); + } + + return $this->hydrate(json_decode($data[0], true)); + } +} \ No newline at end of file diff --git a/vendor/tymon/jwt-auth/src/Claims/NotBefore.php b/vendor/tymon/jwt-auth/src/Claims/NotBefore.php index 47fba3de7..3a23538f4 100644 --- a/vendor/tymon/jwt-auth/src/Claims/NotBefore.php +++ b/vendor/tymon/jwt-auth/src/Claims/NotBefore.php @@ -11,34 +11,17 @@ namespace Tymon\JWTAuth\Claims; -use Tymon\JWTAuth\Exceptions\InvalidClaimException; use Tymon\JWTAuth\Exceptions\TokenInvalidException; class NotBefore extends Claim { - use DatetimeTrait { - validateCreate as commonValidateCreate; - } + use DatetimeTrait; /** * {@inheritdoc} */ protected $name = 'nbf'; - /** - * {@inheritdoc} - */ - public function validateCreate($value) - { - $this->commonValidateCreate($value); - - if ($this->isFuture($value)) { - throw new InvalidClaimException($this); - } - - return $value; - } - /** * {@inheritdoc} */ diff --git a/vendor/tymon/jwt-auth/src/Factory.php b/vendor/tymon/jwt-auth/src/Factory.php index a4f20c310..e84e9fa9c 100644 --- a/vendor/tymon/jwt-auth/src/Factory.php +++ b/vendor/tymon/jwt-auth/src/Factory.php @@ -84,9 +84,7 @@ class Factory $this->emptyClaims(); } - $payload = $this->withClaims($this->buildClaimsCollection()); - - return $payload; + return $this->withClaims($this->buildClaimsCollection()); } /**